[SCM] Audacity debian packaging branch, upstream, updated. upstream/1.3.7-1-g280dd96

bdrung-guest at users.alioth.debian.org bdrung-guest at users.alioth.debian.org
Fri Jul 17 12:30:32 UTC 2009


The following commit has been merged in the upstream branch:
commit 280dd9686ee6dd759580134c683892605925ed59
Author: Benjamin Drung <bdrung at gmail.com>
Date:   Fri Jul 17 14:26:37 2009 +0200

    Imported upstream version 1.3.8

diff --git a/LICENSE.txt b/LICENSE.txt
index ed5560c..e8a5cdf 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -6,6 +6,10 @@ directory may be released under a different license
 README.txt file, and for specific details, see the license
 information inside each subdirectory of lib-src.
 
+Documentation is distributed under the Creative Commoms license.
+Please see here for that:
+http://creativecommons.org/licenses/by/3.0/legalcode
+
 The full text of the GNU GPL follows:
 
 		    GNU GENERAL PUBLIC LICENSE
diff --git a/README.txt b/README.txt
index 87d370e..082922f 100644
--- a/README.txt
+++ b/README.txt
@@ -10,20 +10,23 @@ Personal support with Audacity is not provided by e-mail,
 but on our Forum:
   http://audacityteam.org/forum/
 
-Audacity is copyright (c) 1999-2008 by Audacity Team.
+Audacity is copyright (c) 1999-2009 by Audacity Team.
 This copyright notice applies to all documents in the
 Audacity source code archive, except as otherwise noted
 (mostly in the lib-src subdirectories).
 
+The documentation for Audacity is licensed under the Creative Commons license
+http://creativecommons.org/licenses/by/3.0/legalcode
+
 "Audacity" is a registered trademark of Dominic Mazzoni.
 
-Version 1.3.7 Beta
+Version 1.3.8 Beta
 
 Contents of this README:
 
 1.  Licensing
-2.  Changes in version 1.3.7 Beta
-3.  Known Issues
+2.  Changes in version 1.3.8 Beta
+3.  Known Issues at Release
 4.  Source Code, Libraries and Additional Copyright Information
 5.  Compilation Instructions
 6.  Previous Changes going back to version 1.1.0
@@ -51,253 +54,246 @@ to http://www.gnu.org/copyleft/gpl.html or write to
   59 Temple Place - Suite 330
   Boston, MA 02111-1307 USA
 
-
 --------------------------------------------------------------------------------
 
-2.  Changes in version 1.3.7 Beta
-
-Cross-platform Bug Fixes:
-        * Muting/soloing caused incorrect channel results in exported
-           stereo files
-        * Noise Removal and all Nyquist effects pasted the original
-           unmodified audio at the end of the modified region
-        * Noise Removal inserted a tail of low level noise at the end
-           of the modified region
-        * Nyquist and Compressor plug-ins did not display moving bars
-           in progress dialogue and over-estimated "Remaining Time"
-        * Cancelling Nyquist effects deleted unprocessed audio
-        * Change Speed and Change Tempo failed to modify the original
-           selection length
-        * Cut lines invisible
-        * Fixed various bugs importing multi-stream files via FFmpeg
-        * File > Export as WAV could be corrupted if overwriting
-           an imported WAV read direct from the file
-        * Export multiple "Other uncompressed files" choice always
-           produced 16-bit PCM audio irrespective of chosen options.
-        * MP3 export usually produced a 128 kbps constant bit rate file
-           irrespective of chosen options; reported length often
-           incorrect
-        * MP3 ID3 Genre tag misread on import if the genre list in
-           Metadata Editor was opened and saved
-        * Exported metadata tags in MP3, OGG and FLAC often not seen by
-           player software - now substantially improved
-        * WMA exports (via FFmpeg)corrupted if metadata tags included
-        * Some multi-channel recording devices that previously recorded
-           more than two channels no longer did so
-        * Generated audio did not fit in window
-        * No warning was given when saving an empty project
-        * Beep on completing longer process did not work on many
-           systems
-        * fixed crashes importing lists of files (.LOF), in Meter Toolbar
-           and Change Speed
-
-Platform-specific Bug Fixes:
-        * Windows Vista: crash opening Preferences with no sound
-           devices enabled and connected
-        * Mac OS X and Linux:
-           * Spurious clipping at start of playback
-           * Labels did not accept certain legal characters
-           * Shortcuts did not work after running effects
-           * Project Rate did not change to respect rate of first
-              imported file if that rate was unsupported
-        * Mac OS X only:
-           * Crash resizing project window
-           * Menu items became inactive or visibly corrupted
-           * File > Open dialogue did not always work on OS X 10.4
-           * Impossible to set independent Command and Control
-              shortcuts that shared the same key
-           * Freeze importing uncompressed files via On-Demand
-              (please report any remaining instances of this to:
-               feedback at audacityteam.org)
-           * Portable settings were not picked up, instead settings
-              were taken from the default location
-           * Fixed unavailability of FFmpeg installer
+2. Changes in version 1.3.8 Beta: 
 
 New Features:
-           * F11 Full Screen mode
-           * High-quality "Sliding Time Scale/Pitch Shift" effect
-           * Audio Contrast Analyzer for testing audio on the
-              internet for WCAG2 accessibility compliance.
-           * Windows: sound devices can now be opened using the
-              more efficient DirectSound API
-
-Other changes:
-           * Latency correction should be improved for many users
-              by employing a fixed rather than variable correction
-           * Grouping of Effects into categories turned off until
-              a way is added for users to do so themselves
-           * Numerous minor interface improvements such as Metadata
-              Editor navigation, new "hh:mm:ss + hundredths"
-              selection format
-           * Note: Windows users wanting to export MP3 files will
-              require the latest version of the LAME encoder from
-              http://lame.buanzo.com.ar/
+           * Effects and Analysis:
+              * VST Effects now display GUI by default  
+              * Faster Equalization and Noise Removal; improved 
+                 Truncate Silence and Click Track
+              * Chains applied to files now clear temporary data after 
+                 processing each file 
+              * Updated Nyquist implementation with support for SAL 
+                 syntax and improved memory management 
+              * Plot Spectrum now analyzes up to 237.8 seconds of audio,
+                 with separate windows for each project and improved 
+                 display; new preferences for Spectrograms 
+              * Contrast Analysis tool now modeless for easier use    
+           * Interface:
+              * Draft Manual/Quick Help included in Windows and Mac 
+                 installers 
+              * New "Mixer Board" view with per-track VU meters 
+              * Mute, solo, gain, pan and track height saved in projects
+              * More compact Preferences window with easier-to-use Keyboard
+                 tab and new toolbars shortcuts   
+              * New Screenshot Tools and improved screen reader support  
+           * Other:
+              * Record more than 16 channels (hardware/drivers permitting)  
+              * Improved support for non-mmap ALSA devices such as PulseAudio 
+              * 32-bit float data over 0 dB now handled without clipping
+              * "Stop" option when importing preserves already imported data
+              * AMR NB export now supported if the optional FFmpeg library
+                 is installed
+              * Faster waveform drawing and better response in multi-track 
+                 projects 
+
+Bug fixes for:
+              * Export Multiple: failed with no export or warning if empty 
+                 label encountered; silenced project and exported files if
+                 overwriting imported WAV files without copying the data in   
+              * Metadata Editor hidden if it was on a now unavailable second
+                 monitor
+              * Misaligned audio after "Split New" or Noise Removal effect
+              * Incorrect label movement and paste with linked audio and label 
+                 tracks      
+              * Equalization, Cut Preview and Advanced Mixing Options dialogue
+              * (Linux) Mixer Toolbar should now adjust levels and select input
+                 sources properly  
+              * "Audio cache" preference caused crashes - data is now only
+                 cached in memory if available RAM is above a level defined 
+                 in preferences 
+              * Various other crashes
 
 
 --------------------------------------------------------------------------------
 
-3. Known Issues
+3. Known Issues at Release
 
 Please also check:
-  http://audacityteam.org/wiki/index.php?title=Known_Issues
+  http://wiki.audacityteam.org/index.php?title=Known_Issues
 
 for details of any issues that have been identified after release of
 this version.
 
-
- * Analyze > Silence Finder and Analyze > Beat Finder crash on
-    cancelling progress dialogue.
-
- * Creating a Label Track (with or without a label), then pasting in
-    error into any selected audio track before clipboard has content
-    causes a crash. Pasting into the Label Track does not crash
-
- * Muting specific time-shifted mono tracks when exporting produces
-    audio at wrong point on timeline in exported file if muted tracks
-    are to left of unmuted.
-
- * In projects containing many tracks, clips dragged at the bottom of
-    the project may jump upwards into tracks towards the top when they
-    pass the snap-to point with other clips.
-
+ * Some VST plug-ins may have two instances if vst-bridge present.
+
+ * Imports:
+    * Non-MP3 files imported via drag or Recent Files will crash
+       or freeze when filter in file open window is set to MP3.
+    * (Windows) The Audacity 1.3.8 executable cannot be added to 
+        the Explorer "Open With" menu if you have another version
+        of Audacity also called "audacity.exe". You can set the 
+        file association to always use Audacity 1.3.8 to open the 
+        required file type, but it will not appear in the list 
+        accessed by the "Open With" context menu item.    
+              
  * Exports:
+    * Metadata Editor appears before the Export window when exporting 
+       to any format. Click OK in Metadata Editor to proceed to the 
+       Export window. If you do not use metadata, you can go to the 
+       Import / Export tab of Preferences and uncheck "Show Metadata
+       Editor prior to export step". 
     * WAVEX (Microsoft) headers: GSM 6.10 files cannot be exported, and
        U-Law/A-Law files may not be playable
     * M4A: exports at rates below 44100 Hz have incorrect sample rates,
        and 38000 Hz exports may not play properly (FFmpeg bugs); M4A
-       renamed to MOV will not play in Windows iTunes or QuickTime
-
- * Export Multiple:
-    * fails with no export or warning if an empty label is encountered.
-
-    * if user chooses to overwrite WAV files imported with preference
-       set to "read directly", the exported files and the project are
-       silenced. Set the preference to "Make a copy..." or use the
-       "FFmpeg-compatible files" import filter.
+       renamed to MOV will not play on Windows in iTunes or QuickTime
+    * Muting specific time-shifted mono tracks produces audio at wrong 
+       point on timeline in exported file if muted tracks are to left 
+       of unmuted.
 
- * Applying a chain including Equalization to files (File > Apply
-    Chain... > Apply to Files) leads to corruption of the waveform
-
- * Cut Preview: when label track present and linking on, audio playback
-    continues through the region instead of omitting it.
+ * It is currently possible to attempt simultaneous imports or exports
+    by using shortcuts (or File > New on Mac): Audacity is not yet
+    capable of running these simultaneous operations safely, and
+    attempting this may crash your project.
 
- * Nyquist effects remove or corrupt cut and split lines in the
-    modified region.
+ * Genre WAV info tag (IGNR) not supported due to limitation in
+    libsndfile. 
+
+ * Effects and Analysis:
+    * Nyquist effects, SoundTouch, SBSMS and Generators join separate 
+       clips together.
+    * Equalization used in a chain applies the parameters last used 
+       via the Effect menu instead of those stored in chain. 
+    * LADSPA Multiband EQ (optional download) may not be visible in 
+       the Effect menu, or may crash in use.
+    * Compressor produces shorter attack/decay times than those specified 
+       in the dialogue. 
+   
+ * Audio generated or pasted when cursor is in white space overwrites
+    instead of inserts.
+
+ * If playback scrolls, cursor jumps to start of scroll on stop, hiding
+    previously visible audio preceding the playback position.  
 
  * If shortcut for "Add label at playback position" is an unmodified
-    character, using it a second time while playing or recording a
-    track enters that shortcut in a label placed at the start cursor.
-
- * After using Plot Spectrum in one window then clearing to a new
-    window, Plot Spectrum no longer opens until Audacity is exited
-    and restarted.
+    character, confirming the second label with ENTER places that 
+    character in a label at the start cursor.
 
- * Preferences window:
-    * overflows in some locales using smaller screen sizes or larger
-       fonts, and on Macs at 1024x768 or smaller.
-    * OK button does not work when a tab is selected in the left-hand
-       panel.
+ * Preferences window: OK button does not respond to ENTER when a tab 
+    is selected in the left-hand panel.
 
- * LADSPA Multiband EQ may not be visible in the Effect menu, and
-    may crash in use.
+ * At 120 DPI, importing a second stereo track causes the pre-existing 
+    stereo track above to split.
 
- * On-demand:
+ * On-Demand:
     * does not work if using the optional FFmpeg importer (that is, if
-       "FFmpeg-compatible files" set in the import window)
+       "FFmpeg-compatible files" set in the import dialogue)
     * when importing a mixture of uncompressed and compressed files,
-       on-demand loading does not start until normal import of the
-       compressed files completes, if the names of the compressed files
-       come earlier in the alphabet
-
- * Linked audio and label tracks:
-    * Labels do not move with Effect > Repeat, Reverse, and Truncate
-       Silence, or when time-shifting clips
-    * When a Time Track is present, cut, copy and paste have no effect
-
- * When in Spectrum, Spectrum log or Pitch view, pasting in audio then
-    zooming in causes the pasted content beyond the horizontal scroll
-    to disappear.
-
- * When more than one track is selected, and the region selected in the
-    clips includes white space, "Split New" and "Noise Removal" cause
-    the clip(s) to perform unwanted alignments instead of remaining at
-    their original time position. The problem occurs whether or not the
-    entire audio of the tracks is selected.
-
- * Split New: If selecting part of a clip from the left edge of the
-    clip, the newly split clip wrongly aligns with the left edge of the
-    residual clip in the original track.
-
- * Import > Audio produces no entries in File > Recent Files.
-
- * "Audio Cache" on the Directories tab of Preferences caches most
-    audio data for the duration of the session, including project data
-    and imported files. Enabling it could cause a crash when making
-    long recordings or opening large files or projects.
-
- * It is currently possible to attempt simultaneous imports or exports
-    by using shortcuts (or File > New on Mac). Audacity is not yet
-    capable of running these simultaneous operations safely, and
-    attempting this may crash your project.
+       the compressed files intentionally load first to minimise UI
+       blockage, unless File > Open is used so that the files import 
+       into separate projects. This distinction is not yet observed on 
+       Windows. On all platforms, multiple files in one project will 
+       not necessarily be sorted in file name order after import.  
+
+ * Mixer Board:
+    * The slider maximum gain is +6 dB, and its tooltip will not show 
+       more than this maximum even if the gain applied on the Track Panel
+       slider is higher.     
+    * Selecting a track by clicking the Track Panel does not select it on
+       the Mixer Board. 
+    * The meter range does not reflect a change in the dB range meter 
+       preferences until restart. 
 
  * Not all menu items are correctly enabled when the preference:
-    "Select all audio in project, if none selected" is checked.
+    "Select all audio in project, if none selected" is checked
 
- * A few interface elements do not change language without restart.
+ * A few interface elements do not change correctly after a language 
+    change until restart.
 
  * Calculation of "disk space remains for recording (time)" incorrect
-    when recording in 24 bit quality. You may record for 50% longer
+    when recording in 24-bit quality. You may record for 50% longer
     than the indicated time.
 
- * Pressing Play (but not spacebar) in a second project when another is
-    already playing stops playback of the first project.
+ * Pressing Play (but not Space) in a second project when another is
+    already playing stops playback of the first project
 
  * Projects created by Audacity 1.1.x or earlier are no longer
     supported. Export each project track as WAV using the appropriate
     legacy version of Audacity, then import the WAV files into current
-    Audacity.
+    Audacity
 
  * Audacity can import, display and cut/copy/paste MIDI files, then
-    export them, but they cannot be played. Undoing an edit with a MIDI
+    export them, but they cannot be played; undoing an edit with a MIDI
     track open causes the MIDI data to be lost in Windows builds
 
- * Windows and Linux only: Welcome Message: On some systems/browsers,
-    links are not brought to top when the browser is already running.
-
- * Windows (reported on): There have been reports of clicks during
-    recording on some Windows XP systems using Audacity 1.3.4 and
-    later, where 1.2.6 had no problem. It is unclear if current
-    releases will have this issue or if it will occur on other
-    operating systems. Users can help us by sending any reports of this
-    problem to:
-      feedback at audacityteam.org
-
- * Windows only: Audacity is incompatible with some professional sound
+ * Audacity requires restart to detect audio devices plugged in while 
+    it is running.  
+
+ * Intermittently occurring bugs: Please write to feedback at audacityteam.org   
+   if you experience any of these known but not fully understood 
+   issues, giving us steps to reproduce them so they can be fixed:
+ 
+    * Projects do not reopen properly with "orphaned" or "missing"
+       blockfiles or "duplicate attribute" errors
+    * Projects do not re-open properly from the Automatic 
+       Crash Recovery dialogue
+    * Projects crash when applying repeated effects towards
+       the end of audio tracks 
+    * AIFF files import as noise    
+    * (Windows XP, reported on) Clicks during recording 
+    * (Windows) Timer Record unreliable with recordings starting
+       before and ending after midnight
+    * (Linux) After opening a sufficiently long audio file, opening a 
+       second file of any size leads to locked GUI/console messages 
+       until first file completes play
+
+ * (Windows) On Vista, and on XP with some USB microphones, the system 
+    mixer level sliders and the Audacity Mixer Toolbar level sliders 
+    act independently. The achieved recorded level only matches the
+    level indicated on the Recording VU meter if the Audacity input 
+    slider is at 100%. 
+
+ * (Windows) On Vista, input sources such as microphone and line-in 
+    must be selected in the Audacity Audio I/O Preferences, not the 
+    Mixer Toolbar input selector.   
+
+ * (Windows) Timer Record cannot maintain scheduled duration if system 
+    clock changes.
+
+ * (Windows) Audacity is incompatible with some professional sound
     cards and may crash if one of these cards is the default when you
-    open Audacity. As a workaround, make a different sound card your
+    open Audacity: as a workaround, make a different sound card your
     default when using Audacity, but please let us know if this affects
     you so we can track down and solve the problem.
 
- * Mac OS X only: Very occasionally, users may find that recording
+ * (Mac OS X) Very occasionally, users may find that recording
     causes "error opening sound device", or that after running
-    Audacity, other media players don't produce any sound, or crash.
-    To resolve this, set up your sound device in Apple Audio MIDI Setup
-    to work in stereo, 16 bits, with a sample rate of 44100 Hz or
+    Audacity, other media players don't produce any sound, or crash:
+    to resolve this, set up your sound device in Apple Audio MIDI Setup
+    to work in stereo, 16-bit, with a sample rate of 44100 Hz or
     48000 Hz, and set the sample format and rate identically in
     Audacity. More help at:
       http://audacityteam.org/forum/viewtopic.php?f=17&t=5064
 
- * Mac OS X only: If using Audacity when the "Hear" audio plug-in is
+ * (Mac OS X) If using Audacity when the "Hear" audio plug-in is
     running (or has been since boot), there will be excessive memory
-    usage which could cause a crash. This appears to be due to buggy
+    usage which could cause a crash: appears to be due to buggy
     memory allocation in "Hear".
 
- * Linux only: Audacity now supports interfacing with Jack, however
-    this has not been tested, and has a number of known reliability and
-    usability issues. Patches to improve both will be welcomed.
+ * (Linux) Undoing or redoing a label edit may cause a crash if some 
+    character strings are common to all labels.    
+
+ * (Linux) Effects and other dialogues do not have focus on opening. 
+    This is a bug in wxGTK for which there is no current workaround. 
+    Click in the dialogue to navigate it and change parameters.    
+
+ * (Linux) If Portmixer uses emulated playback volume rather than 
+    native, the Audacity output slider will affect the VU playback 
+    meters and these may not then reflect the actual volume level 
+    of the waveform. 
+
+ * (Linux) Audacity will require a FFmpeg package or build later than
+    0.5 in order for optional FFmpeg import/export features to work.    
+
+ * (Linux) Audacity now supports interfacing with JACK, but this has
+    not been tested, and has a number of known reliability and usability
+    issues: patches to improve both will be welcomed
 
 Also note the Windows installer will not replace 1.2.x installations,
-but will install alongside them.
+but will install alongside them. 
 
 
 --------------------------------------------------------------------------------
@@ -330,6 +326,10 @@ GPL-compatible license.  Specifically:
     Reads/writes ID3 tags in MP3 files.  Optional
     separate download as part of libmad.
 
+  libflac: Xiph.Org BSD-like licence (the parts we use)
+    Decodes and Encodes Free Lossless Audio Codec files. Optional separate
+    download.
+
   libmad: GPL
     Decodes MP3 files.  Optional separate download.
 
@@ -344,10 +344,20 @@ GPL-compatible license.  Specifically:
     Reads and writes uncompressed PCM audio files.
     Included with Audacity.
 
+  libvamp: new-style BSD
+    Plug-in interface and support library for audio analysis plug-ins.
+	Included with Audacity.
+
   libvorbis: BSD-like license.
     Decodes and encodes Ogg Vorbis files.  Optional
     separate download.
 
+  portsmf: BSD-like license.
+    library for reading and writing midi files. Included with Audacity
+
+  sbsms: GPL v2
+    Pitch and tempo changing library. Included in Audacity
+
   SoundTouch: LGPL
     Changes tempo without changing pitch and vice versa.
     Included in audacity
@@ -429,8 +439,8 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 5. Compilation instructions
 
-First you must download wxWidgets. Audacity 1.3.6 and later requires
-wxWidgets 2.8.9 from:
+First you must download wxWidgets. Audacity 1.3.8 and later requires
+wxWidgets 2.8.10 from:
 
   http://www.wxWidgets.org/
 
@@ -455,6 +465,7 @@ and header dependencies:
 
 To compile on Windows using MSVC++, please follow the instructions found in
 compile.txt in the "win" subdirectory.
+
 To compile using Xcode on Mac OS X, see the instructions in mac/compile.txt.
 
 For more information on compilation, please visit:
@@ -469,6 +480,85 @@ or e-mail us at:
 
 6.  Previous Changes going back to version 1.1.0
 
+Changes in version 1.3.7 Beta:
+
+Cross-platform Bug Fixes:
+        * Muting/soloing caused incorrect channel results in exported
+           stereo files
+        * Noise Removal and all Nyquist effects pasted the original
+           unmodified audio at the end of the modified region
+        * Noise Removal inserted a tail of low level noise at the end
+           of the modified region
+        * Nyquist and Compressor plug-ins did not display moving bars
+           in progress dialogue and over-estimated "Remaining Time"
+        * Cancelling Nyquist effects deleted unprocessed audio
+        * Change Speed and Change Tempo failed to modify the original
+           selection length
+        * Cut lines invisible
+        * Fixed various bugs importing multi-stream files via FFmpeg
+        * File > Export as WAV could be corrupted if overwriting
+           an imported WAV read direct from the file
+        * Export multiple "Other uncompressed files" choice always
+           produced 16-bit PCM audio irrespective of chosen options.
+        * MP3 export usually produced a 128 kbps constant bit rate file
+           irrespective of chosen options; reported length often
+           incorrect
+        * MP3 ID3 Genre tag misread on import if the genre list in
+           Metadata Editor was opened and saved
+        * Exported metadata tags in MP3, OGG and FLAC often not seen by
+           player software - now substantially improved
+        * WMA exports (via FFmpeg)corrupted if metadata tags included
+        * Some multi-channel recording devices that previously recorded
+           more than two channels no longer did so
+        * Generated audio did not fit in window
+        * No warning was given when saving an empty project
+        * Beep on completing longer process did not work on many
+           systems
+        * fixed crashes importing lists of files (.LOF), in Meter Toolbar
+           and Change Speed
+
+Platform-specific Bug Fixes:
+        * Windows Vista: crash opening Preferences with no sound
+           devices enabled and connected
+        * Mac OS X and Linux:
+           * Spurious clipping at start of playback
+           * Labels did not accept certain legal characters
+           * Shortcuts did not work after running effects
+           * Project Rate did not change to respect rate of first
+              imported file if that rate was unsupported
+        * Mac OS X only:
+           * Crash resizing project window
+           * Menu items became inactive or visibly corrupted
+           * File > Open dialogue did not always work on OS X 10.4
+           * Impossible to set independent Command and Control
+              shortcuts that shared the same key
+           * Freeze importing uncompressed files via On-Demand
+              (please report any remaining instances of this to:
+               feedback at audacityteam.org)
+           * Portable settings were not picked up, instead settings
+              were taken from the default location
+           * Fixed unavailability of FFmpeg installer
+
+New Features:
+           * F11 Full Screen mode
+           * High-quality "Sliding Time Scale/Pitch Shift" effect
+           * Audio Contrast Analyzer for testing audio on the
+              internet for WCAG2 accessibility compliance.
+           * Windows: sound devices can now be opened using the
+              more efficient DirectSound API
+
+Other changes:
+           * Latency correction should be improved for many users
+              by employing a fixed rather than variable correction
+           * Grouping of Effects into categories turned off until
+              a way is added for users to do so themselves
+           * Numerous minor interface improvements such as Metadata
+              Editor navigation, new "hh:mm:ss + hundredths"
+              selection format
+           * Note: Windows users wanting to export MP3 files will
+              require the latest version of the LAME encoder from
+              http://lame.buanzo.com.ar/
+
 
 Changes in 1.3.6 Beta (since 1.3.6a6 Alpha):
 
diff --git a/audacity.dox b/audacity.dox
index 7d405d7..d03284f 100644
--- a/audacity.dox
+++ b/audacity.dox
@@ -1,19 +1,93 @@
-# Doxyfile 1.4.6
+# Doxyfile 1.5.4
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file that 
+# follow. The default is UTF-8 which is also the encoding used for all text before 
+# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into 
+# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of 
+# possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
 PROJECT_NAME           = Audacity
-PROJECT_NUMBER         = 1.3.x
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 1.3.8
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
 OUTPUT_DIRECTORY       = dox/
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
 CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
+# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
+# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
+# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
+# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
+
 OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = YES
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
 BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = "The $name class " \
+                         "The $name widget " \
+                         "The $name file " \
                          is \
                          provides \
                          specifies \
@@ -22,215 +96,1228 @@ ABBREVIATE_BRIEF       = "The $name class" \
                          a \
                          an \
                          the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
 ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
 INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
 FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
 STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
 STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
 SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like regular Qt-style comments 
+# (thus requiring an explicit @brief command for a brief description.)
+
 JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
+# interpret the first line (until the first dot) of a Qt-style 
+# comment as the brief description. If set to NO, the comments 
+# will behave just like regular Qt-style comments (thus requiring 
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
 MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
 DETAILS_AT_TOP         = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
 INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
 SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
 TAB_SIZE               = 3
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
 ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
 OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
 OPTIMIZE_OUTPUT_JAVA   = NO
-BUILTIN_STL_SUPPORT    = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
+# include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
+# func(std::string) {}). This also make the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
+# Doxygen will parse them like normal C++ but will assume all classes use public 
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
 DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
 SUBGROUPING            = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct (or union) is 
+# documented as struct with the name of the typedef. So 
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
+# with name TypeT. When disabled the typedef will appear as a member of a file, 
+# namespace, or class. And the struct will be named TypeS. This can typically 
+# be useful for C code where the coding convention is that all structs are 
+# typedef'ed and only the typedef is referenced never the struct's name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
 EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
 EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
 EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
 EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
 EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be extracted 
+# and appear in the documentation as a namespace called 'anonymous_namespace{file}', 
+# where file will be replaced with the base name of the file that contains the anonymous 
+# namespace. By default anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
 HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
 HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
 HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
 HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
 INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
 HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
 SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
 INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
 SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
 SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
 SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
 GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
 GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
 GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
 GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
 ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
 MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
 SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation. The default is NO.
+
 SHOW_DIRECTORIES       = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from the 
+# version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the program writes to standard output 
+# is used as the file version. See the manual for examples.
+
 FILE_VERSION_FILTER    = 
+
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
-QUIET                  = NO
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
 WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
 WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
 WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
 WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text "
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
 WARN_LOGFILE           = 
+
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
 INPUT                  = src/ \
                          dox2-src/
+
+# This tag can be used to specify the character encoding of the source files that 
+# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default 
+# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. 
+# See http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
 FILE_PATTERNS          = *.cpp \
                          *.h \
                          *.dox2
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
 RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
 EXCLUDE                = 
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# directories that are symbolic links (a Unix filesystem feature) are excluded 
+# from the input.
+
 EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
+
 EXCLUDE_PATTERNS       = 
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
+# (namespaces, classes, functions, etc.) that should be excluded from the output. 
+# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, 
+# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
 EXAMPLE_PATH           = dox2-src/
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
 EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
 EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
 IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
 INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis.  Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match.  The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
 FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
 FILTER_SOURCE_FILES    = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or CALLER_GRAPH 
+# then you must also enable this option. If you don't then doxygen will produce 
+# a warning and turn it on anyway
+
 SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
 INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
 STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
 REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
 REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.  Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
 USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
 VERBATIM_HEADERS       = YES
+
 #---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
 ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
 COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
 IGNORE_PREFIX          = 
+
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
 GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
 HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
 HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
 HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
 HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
 HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
 HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
 GENERATE_HTMLHELP      = NO
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
+# documentation will contain sections that can be hidden and shown after the 
+# page has loaded. For this to work a browser that supports 
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
 CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
 HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
 GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
 BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
 TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
 DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
 ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature.
+
 GENERATE_TREEVIEW      = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
 TREEVIEW_WIDTH         = 250
+
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
-GENERATE_LATEX         = YES
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
 LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
 LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
 MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
 COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
 PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
 EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
 LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
 PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
 USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
 LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
 LATEX_HIDE_INDICES     = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
 GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
 RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
 COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
 RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
 RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
 RTF_EXTENSIONS_FILE    = 
+
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
 GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
 MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
 MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
 MAN_LINKS              = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to the XML output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
 GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
 XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
 XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
 XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
 XML_PROGRAMLISTING     = YES
+
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
 GENERATE_AUTOGEN_DEF   = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to the Perl module output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
 GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
 PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
 PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
 PERLMOD_MAKEVAR_PREFIX = 
+
 #---------------------------------------------------------------------------
 # Configuration options related to the preprocessor   
 #---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
 ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
 MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
 EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
 SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
 INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
 INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
 PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
 EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse 
+# the parser if not removed.
+
 SKIP_FUNCTION_MACROS   = YES
+
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references   
 #---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
 TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
 GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
 ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
 EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
 PERL_PATH              = /usr/bin/perl
+
 #---------------------------------------------------------------------------
 # Configuration options related to the dot tool   
 #---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option is superseded by the HAVE_DOT option below. This is only a 
+# fallback. It is recommended to install and use dot, since it yields more 
+# powerful graphs.
+
 CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc 
+# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to 
+# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to 
+# specify the directory where the mscgen tool resides. If left empty the tool is assumed to 
+# be found in the default search path.
+
+MSCGEN_PATH            = 
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
 HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
 HAVE_DOT               = NO
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
 CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
 COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
 GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
 UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
 TEMPLATE_RELATIONS     = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
 INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
 INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
 CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will 
+# generate a caller dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable caller graphs for selected 
+# functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
 GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
 DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
 DOT_IMAGE_FORMAT       = gif
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
 DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
 DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 1024
-MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
+# nodes that will be shown in the graph. If the number of nodes in a graph 
+# becomes larger than this value, doxygen will truncate the graph, which is 
+# visualized by representing a node as a red box. Note that doxygen if the number 
+# of direct children of the root node in a graph is already larger than 
+# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note 
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that the size of a graph can be further restricted by 
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
 MAX_DOT_GRAPH_DEPTH    = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, which results in a white background. 
+# Warning: Depending on the platform used, enabling this option may lead to 
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
+# read).
+
 DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
 DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
 GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
 DOT_CLEANUP            = YES
+
 #---------------------------------------------------------------------------
 # Configuration::additions related to the search engine   
 #---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
 SEARCHENGINE           = NO
diff --git a/configure b/configure
index 3d38b91..4d3ff73 100755
--- a/configure
+++ b/configure
@@ -642,6 +642,9 @@ ac_subst_vars='LTLIBOBJS
 LIBOBJS
 JACK_LIBS
 JACK_CFLAGS
+GTK_LIBS
+GTK_CFLAGS
+HAVE_GTK
 host_os
 host_vendor
 host_cpu
@@ -650,6 +653,8 @@ build_os
 build_vendor
 build_cpu
 build
+TAGLIB_LIBS
+TAGLIB_CFLAGS
 PORTSMF_LIBS
 PORTSMF_CFLAGS
 AVFORMAT_LIBS
@@ -677,9 +682,9 @@ subdirs
 WX_CONFIG
 HAVE_VISIBILITY
 CFLAG_VISIBILITY
-SED
 EGREP
 GREP
+SED
 AUDACITY_NAME
 LIBSRC_BUILD
 BUILD_LDFLAGS
@@ -768,11 +773,11 @@ with_libvamp
 with_libtwolame
 with_ffmpeg
 with_midi
+with_taglib
 enable_audiounits
 enable_ladspa
 enable_quicktime
 with_portmixer
-with_portaudio
 '
       ac_precious_vars='build_alias
 host_alias
@@ -809,6 +814,10 @@ AVFORMAT_CFLAGS
 AVFORMAT_LIBS
 PORTSMF_CFLAGS
 PORTSMF_LIBS
+TAGLIB_CFLAGS
+TAGLIB_LIBS
+GTK_CFLAGS
+GTK_LIBS
 JACK_CFLAGS
 JACK_LIBS'
 ac_subdirs_all='"lib-src/FileDialog"
@@ -1474,9 +1483,8 @@ Optional Packages:
   --with-libtwolame       use libtwolame for MP2 export support
   --with-ffmpeg           use ffmpeg for import and export support
   --with-midi             use portSMF for Midi support
+  --with-taglib           use TagLib for metadata support
   --with-portmixer        compile with PortMixer [default=yes]
-  --with-portaudio        which version of PortAudio to use (=[v18,v19])
-                          [default=v19]
 
 Some influential environment variables:
   CC          C compiler command
@@ -1530,6 +1538,11 @@ Some influential environment variables:
               C compiler flags for PORTSMF, overriding pkg-config
   PORTSMF_LIBS
               linker flags for PORTSMF, overriding pkg-config
+  TAGLIB_CFLAGS
+              C compiler flags for TAGLIB, overriding pkg-config
+  TAGLIB_LIBS linker flags for TAGLIB, overriding pkg-config
+  GTK_CFLAGS  C compiler flags for GTK, overriding pkg-config
+  GTK_LIBS    linker flags for GTK, overriding pkg-config
   JACK_CFLAGS C compiler flags for JACK, overriding pkg-config
   JACK_LIBS   linker flags for JACK, overriding pkg-config
 
@@ -3748,12 +3761,195 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+### Configuration of Audacity module support ###
+################################################
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILDING_AUDACITY 1
 _ACEOF
 
+# Add -rdynamic to linker flags so the right symbols are exported for
+# plug-ins. This might not work on all architectures / compilers, so we need
+# to check if it does or not.
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     $as_unset ac_script || ac_script=
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+
+
+
+
+
+
+  flag=`echo "-rdynamic" | $SED 'y% .=/+-(){}<>:*,%_______________%'`
+
+  { $as_echo "$as_me:$LINENO: checking whether the linker accepts the -rdynamic flag" >&5
+$as_echo_n "checking whether the linker accepts the -rdynamic flag... " >&6; }
+if { as_var=ax_cv_ld_check_flag_$flag; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+
+
+    #AC_LANG_PUSH([C])
+
+    save_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS -rdynamic"
+    cat >conftest.$ac_ext <<_ACEOF
+
+      /* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then
+
+      eval "ax_cv_ld_check_flag_$flag=yes"
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+      eval "ax_cv_ld_check_flag_$flag=no"
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
+    LDFLAGS="$save_LDFLAGS"
+
+    #AC_LANG_POP
+
+
+fi
+ac_res=`eval 'as_val=${'ax_cv_ld_check_flag_$flag'}
+		 $as_echo "$as_val"'`
+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+  if eval "test \"`echo '$ax_cv_ld_check_flag_'$flag`\" = yes"; then
 
+    :
+    have_dynamic_link=yes
+
+else
+
+    :
+    have_dynamic_link=no
+
+fi
+
+
+if test "x$have_dynamic_link" = "xyes" ; then
+   BUILD_LDFLAGS="${BUILD_LDFLAGS} -rdynamic "
+else
+   { $as_echo "$as_me:$LINENO: WARNING: \"Linker does not support -rdynamic. Could not enable exporting all symbols\"" >&5
+$as_echo "$as_me: WARNING: \"Linker does not support -rdynamic. Could not enable exporting all symbols\"" >&2;}
+   { $as_echo "$as_me:$LINENO: WARNING: \"Audacity module support will probably not work\"" >&5
+$as_echo "$as_me: WARNING: \"Audacity module support will probably not work\"" >&2;}
+fi
+
+### Build Options ###
+#####################
 
 # Check whether --enable-static was given.
 if test "${enable_static+set}" = set; then
@@ -3797,7 +3993,6 @@ $as_echo "$as_me: Adding -g for debugging to CFLAGS and CXXFLAGS ..." >&6;}
    CXXFLAGS="${CXXFLAGS} -g "
 fi
 
-
 { $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
 if test "${ac_cv_c_const+set}" = set; then
@@ -4793,77 +4988,6 @@ case ".$ac_cv_cflags_warn_all" in
 esac
 
 CFLAGS="${CFLAGS} $wall_flags"
-{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     $as_unset ac_script || ac_script=
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
 
 
 
@@ -5606,7 +5730,7 @@ BUILD_LDFLAGS="$BUILD_LDFLAGS $WIDGETEXTRA_LIBS"
 CXXFLAGS="$CXXFLAGS $WIDGETEXTRA_CFLAGS"
 LIBSRC_BUILD="$LIBSRC_BUILD widgetextra"
 
-LIBRARIES="LIBVORBIS LIBMAD LIBSNDFILE LIBFLAC LIBID3TAG LIBSAMPLERATE LIBRESAMPLE LIBSBSMS LIBSOUNDTOUCH LIBNYQUIST LIBVAMP LIBEXPAT LIBTWOLAME FFMPEG PORTSMF"
+LIBRARIES="LIBVORBIS LIBMAD LIBSNDFILE LIBFLAC LIBID3TAG LIBSAMPLERATE LIBRESAMPLE LIBSBSMS LIBSOUNDTOUCH LIBNYQUIST LIBVAMP LIBEXPAT LIBTWOLAME FFMPEG PORTSMF TAGLIB"
 
 { $as_echo "$as_me:$LINENO: Determining what libraries are available in this tree and on the system" >&5
 $as_echo "$as_me: Determining what libraries are available in this tree and on the system" >&6;}
@@ -5742,7 +5866,7 @@ fi
 $as_echo "$as_me: libsndfile libraries are available in this source tree" >&6;}
 
 
-            ac_configure_args="$ac_configure_args --disable-sqlite --disable-flac --disable-alsa"
+            ac_configure_args="$ac_configure_args --disable-sqlite --disable-external-libs --disable-alsa"
    else
       LIBSNDFILE_LOCAL_AVAILABLE="no"
       { $as_echo "$as_me:$LINENO: libsndfile libraries are NOT available in this source tree" >&5
@@ -7701,9 +7825,9 @@ _ACEOF
          LIBNYQUIST_SYSTEM_AVAILABLE="no"
 
 
-   as_ac_File=`$as_echo "ac_cv_file_${srcdir}/lib-src/libnyquist/nyx/nyx.h" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for ${srcdir}/lib-src/libnyquist/nyx/nyx.h" >&5
-$as_echo_n "checking for ${srcdir}/lib-src/libnyquist/nyx/nyx.h... " >&6; }
+   as_ac_File=`$as_echo "ac_cv_file_${srcdir}/lib-src/libnyquist/nyx.h" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for ${srcdir}/lib-src/libnyquist/nyx.h" >&5
+$as_echo_n "checking for ${srcdir}/lib-src/libnyquist/nyx.h... " >&6; }
 if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
   $as_echo_n "(cached) " >&6
 else
@@ -7711,7 +7835,7 @@ else
   { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
 $as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
    { (exit 1); exit 1; }; }
-if test -r "${srcdir}/lib-src/libnyquist/nyx/nyx.h"; then
+if test -r "${srcdir}/lib-src/libnyquist/nyx.h"; then
   eval "$as_ac_File=yes"
 else
   eval "$as_ac_File=no"
@@ -7733,11 +7857,13 @@ fi
    if test "x$nyx_h_found" = "xyes" ; then
       LIBNYQUIST_LOCAL_AVAILABLE="yes"
       LIBNYQUIST_LOCAL_LIBS="libnyquist.a"
-      LIBNYQUIST_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/libnyquist/nyx'
+      LIBNYQUIST_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/libnyquist'
       LIBNYQUIST_LOCAL_CPPSYMBOLS="USE_NYQUIST"
       LIBNYQUIST_LOCAL_OPTOBJS="effects/nyquist/Nyquist.o"
       LIBNYQUIST_LOCAL_OPTOBJS="$LIBNYQUIST_LOCAL_OPTOBJS effects/nyquist/LoadNyquist.o"
 
+      LIBNYQUIST_LOCAL_CONFIG_SUBDIRS="lib-src/libnyquist"
+
       { $as_echo "$as_me:$LINENO: nyquist libraries are available in the local tree" >&5
 $as_echo "$as_me: nyquist libraries are available in the local tree" >&6;}
    else
@@ -8556,6 +8682,152 @@ fi
 
 
 
+# Check whether --with-taglib was given.
+if test "${with_taglib+set}" = set; then
+  withval=$with_taglib; TAGLIB_ARGUMENT=$withval
+else
+  TAGLIB_ARGUMENT="unspecified"
+fi
+
+
+   if false ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_TAGLIB 1
+_ACEOF
+
+   fi
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for TAGLIB" >&5
+$as_echo_n "checking for TAGLIB... " >&6; }
+
+if test -n "$TAGLIB_CFLAGS"; then
+    pkg_cv_TAGLIB_CFLAGS="$TAGLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"taglib >= 1.5\"") >&5
+  ($PKG_CONFIG --exists --print-errors "taglib >= 1.5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_TAGLIB_CFLAGS=`$PKG_CONFIG --cflags "taglib >= 1.5" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$TAGLIB_LIBS"; then
+    pkg_cv_TAGLIB_LIBS="$TAGLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"taglib >= 1.5\"") >&5
+  ($PKG_CONFIG --exists --print-errors "taglib >= 1.5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_TAGLIB_LIBS=`$PKG_CONFIG --libs "taglib >= 1.5" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        TAGLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "taglib >= 1.5" 2>&1`
+        else
+	        TAGLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "taglib >= 1.5" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$TAGLIB_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+                taglib_available_system="no"
+elif test $pkg_failed = untried; then
+	taglib_available_system="no"
+else
+	TAGLIB_CFLAGS=$pkg_cv_TAGLIB_CFLAGS
+	TAGLIB_LIBS=$pkg_cv_TAGLIB_LIBS
+        { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+	taglib_available_system="yes"
+fi
+
+   if test "x$taglib_available_system" = "xyes" ; then
+      TAGLIB_SYSTEM_AVAILABLE="yes"
+      TAGLIB_SYSTEM_LIBS=$TAGLIB_LIBS
+      TAGLIB_SYSTEM_CXXFLAGS=$TAGLIB_CFLAGS
+      TAGLIB_SYSTEM_CPPSYMBOLS="USE_TAGLIB"
+      { $as_echo "$as_me:$LINENO: TagLib library available as system library" >&5
+$as_echo "$as_me: TagLib library available as system library" >&6;}
+   else
+      TAGLIB_SYSTEM_AVAILABLE="no"
+      { $as_echo "$as_me:$LINENO: TagLib library NOT available as system library" >&5
+$as_echo "$as_me: TagLib library NOT available as system library" >&6;}
+   fi
+
+
+   as_ac_File=`$as_echo "ac_cv_file_${srcdir}/lib-src/taglib/taglib/tag.h" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for ${srcdir}/lib-src/taglib/taglib/tag.h" >&5
+$as_echo_n "checking for ${srcdir}/lib-src/taglib/taglib/tag.h... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  test "$cross_compiling" = yes &&
+  { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+   { (exit 1); exit 1; }; }
+if test -r "${srcdir}/lib-src/taglib/taglib/tag.h"; then
+  eval "$as_ac_File=yes"
+else
+  eval "$as_ac_File=no"
+fi
+fi
+ac_res=`eval 'as_val=${'$as_ac_File'}
+		 $as_echo "$as_val"'`
+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_File'}
+		 $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  tag_h_found="yes"
+else
+  tag_h_found="no"
+fi
+
+
+   if test "x$tag_h_found" = "xyes" ; then
+      TAGLIB_LOCAL_AVAILABLE="yes"
+      TAGLIB_LOCAL_LIBS="taglib.a"
+      TAGLIB_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/taglib/taglib'
+      TAGLIB_LOCAL_CPPSYMBOLS="USE_TAGLIB"
+
+            TAGLIB_LOCAL_CONFIG_SUBDIRS="lib-src/taglib"
+
+      { $as_echo "$as_me:$LINENO: TagLib library is available in the local tree" >&5
+$as_echo "$as_me: TagLib library is available in the local tree" >&6;}
+   else
+      TAGLIB_LOCAL_AVAILABLE="no"
+      { $as_echo "$as_me:$LINENO: TagLib library is NOT available in the local tree" >&5
+$as_echo "$as_me: TagLib library is NOT available in the local tree" >&6;}
+   fi
+
+
+
 { $as_echo "$as_me:$LINENO: Figuring out what libraries to enable" >&5
 $as_echo "$as_me: Figuring out what libraries to enable" >&6;}
 
@@ -8737,17 +9009,6 @@ else
 fi
 
 
-
-# Check whether --with-portaudio was given.
-if test "${with_portaudio+set}" = set; then
-  withval=$with_portaudio; use_portaudio=$withval
-else
-  use_portaudio="v19"
-fi
-
-
-
-
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
   { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
@@ -8838,7 +9099,7 @@ case "${host_os}" in
             CDEPEND="AudacityHeaders.h.gch"
       PRECOMP_CFLAGS="-include AudacityHeaders.h"
       CONFIGHEADER="configunix.h"
-      CXXFLAGS="-I../mac $CXXFLAGS"
+      CXXFLAGS="-I\$(top_srcdir)/mac $CXXFLAGS"
       AFTERBUILD=""
       EXTRATARGETS="../Audacity.app"
       if [ "$use_audiounits" = "auto" ] ; then
@@ -8872,32 +9133,104 @@ _ACEOF
       AFTERBUILD=""
       EXTRAINSTALLTARGETS="$EXTRAINSTALLTARGETS install-extra-data"
       EXTRAUNINSTALLTARGETS="$EXTRAUNINSTALLTARGETS uninstall-extra-data"
-esac
 
 
-if [ "$use_portaudio" = "v19" ] ; then
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for GTK" >&5
+$as_echo_n "checking for GTK... " >&6; }
+
+if test -n "$GTK_CFLAGS"; then
+    pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$GTK_LIBS"; then
+    pkg_cv_GTK_LIBS="$GTK_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0" 2>&1`
+        else
+	        GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GTK_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+                have_gtk=no
+elif test $pkg_failed = untried; then
+	have_gtk=no
+else
+	GTK_CFLAGS=$pkg_cv_GTK_CFLAGS
+	GTK_LIBS=$pkg_cv_GTK_LIBS
+        { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+	have_gtk=yes
+fi
+      if [ "$have_gtk" = "yes" ]
+      then
 
 cat >>confdefs.h <<\_ACEOF
-#define USE_PORTAUDIO_V19 1
+#define HAVE_GTK 1
 _ACEOF
 
+         CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
+      fi
+   ;;
+esac
 
-   LOCAL_LIBS="$LOCAL_LIBS portaudio-v19/lib/libportaudio.a"
-   EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio-v19/lib/libportaudio.a"
-   CXXFLAGS="-I\$(top_srcdir)/lib-src/portaudio-v19/include $CXXFLAGS"
 
-   subdirs="$subdirs lib-src/portaudio-v19"
+LOCAL_LIBS="$LOCAL_LIBS portaudio-v19/lib/libportaudio.a"
+EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio-v19/lib/libportaudio.a"
+CXXFLAGS="-I\$(top_srcdir)/lib-src/portaudio-v19/include $CXXFLAGS"
 
+subdirs="$subdirs lib-src/portaudio-v19"
 
-   case "${host_os}" in
-      darwin* | rhapsody*)
-         LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
-         LIBS="-framework CoreAudio $LIBS -lz"
-         ;;
-      cygwin*)
-         ;;
-      *)
-                  { $as_echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5
+
+case "${host_os}" in
+   darwin* | rhapsody*)
+      LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
+      LIBS="-framework CoreAudio $LIBS -lz"
+      ;;
+   cygwin*)
+      ;;
+   *)
+            { $as_echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5
 $as_echo_n "checking for snd_pcm_open in -lasound... " >&6; }
 if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then
   $as_echo_n "(cached) " >&6
@@ -8968,9 +9301,9 @@ else
   have_alsa=no
 fi
 
-         if [ $have_alsa = "yes" ] ; then
-            LIBS="$LIBS -lasound"
-         fi
+      if [ $have_alsa = "yes" ] ; then
+         LIBS="$LIBS -lasound"
+      fi
 
 pkg_failed=no
 { $as_echo "$as_me:$LINENO: checking for JACK" >&5
@@ -9038,10 +9371,10 @@ else
 $as_echo "yes" >&6; }
 	have_jack=yes
 fi
-         if [ $have_jack = "yes" ] ; then
-            LIBS="$LIBS $JACK_LIBS"
-         fi
-         { $as_echo "$as_me:$LINENO: checking for HPI_SubSysCreate in -lhpi" >&5
+      if [ $have_jack = "yes" ] ; then
+         LIBS="$LIBS $JACK_LIBS"
+      fi
+      { $as_echo "$as_me:$LINENO: checking for HPI_SubSysCreate in -lhpi" >&5
 $as_echo_n "checking for HPI_SubSysCreate in -lhpi... " >&6; }
 if test "${ac_cv_lib_hpi_HPI_SubSysCreate+set}" = set; then
   $as_echo_n "(cached) " >&6
@@ -9112,10 +9445,10 @@ else
   have_asihpi=no
 fi
 
-         if [ $have_asihpi = "yes" ] ; then
-            LIBS="$LIBS -lhpi"
-         fi
-         { $as_echo "$as_me:$LINENO: checking for clock_gettime in -lrt" >&5
+      if [ $have_asihpi = "yes" ] ; then
+         LIBS="$LIBS -lhpi"
+      fi
+      { $as_echo "$as_me:$LINENO: checking for clock_gettime in -lrt" >&5
 $as_echo_n "checking for clock_gettime in -lrt... " >&6; }
 if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then
   $as_echo_n "(cached) " >&6
@@ -9184,7 +9517,7 @@ if test "x$ac_cv_lib_rt_clock_gettime" = x""yes; then
   rt_libs=" -lrt"
 fi
 
-         LIBS="${LIBS}${rt_libs}"
+      LIBS="${LIBS}${rt_libs}"
 
 
 for ac_func in clock_gettime nanosleep
@@ -9287,30 +9620,8 @@ _ACEOF
 fi
 done
 
-         ;;
-   esac
-
-else
-      CXXFLAGS="-I\$(top_srcdir)/lib-src/portaudio/pa_common $CXXFLAGS"
-
-   case "${host_os}" in
-      darwin* | rhapsody*)
-         LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_mac_core/portaudio.a"
-         EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_mac_core/portaudio.a"
-
-         LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
-         LIBS="-framework CoreAudio $LIBS -lz"
-         ;;
-      cygwin*)
-         LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_win_wmme/portaudio.a"
-         EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_win_wmme/portaudio.a"
-         ;;
-      *)
-                  LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_unix_oss/portaudio.a"
-         EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_unix_oss/portaudio.a"
-         ;;
-   esac
-fi
+      ;;
+esac
 
 
 if [ "$use_portmixer" = "yes" ] ; then
@@ -9319,33 +9630,14 @@ cat >>confdefs.h <<\_ACEOF
 #define USE_PORTMIXER 1
 _ACEOF
 
-   if [ "$use_portaudio" = "v19" ] ; then
-
-      CXXFLAGS="-I\$(top_srcdir)/lib-src/portmixer/include $CXXFLAGS"
-      LOCAL_LIBS="$LOCAL_LIBS portmixer/libportmixer.a"
-      EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/libportmixer.a"
 
-      subdirs="$subdirs lib-src/portmixer"
+   CXXFLAGS="-I\$(top_srcdir)/lib-src/portmixer/include $CXXFLAGS"
+   LOCAL_LIBS="$LOCAL_LIBS portmixer/libportmixer.a"
+   EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/libportmixer.a"
 
-      ac_configure_args="$ac_configure_args --with-pa-include=../portaudio-v19/include"
-   else
+   subdirs="$subdirs lib-src/portmixer"
 
-      CXXFLAGS="-I\$(top_srcdir)/lib-src/portmixer/px_common $CXXFLAGS"
-      case "${host_os}" in
-         darwin* | rhapsody*)
-            LOCAL_LIBS="$LOCAL_LIBS portmixer/px_mac_core/portmixer.a"
-            EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/px_mac_core/portmixer.a"
-            ;;
-         cygwin*)
-            LOCAL_LIBS="$LOCAL_LIBS portmixer/px_win_wmme/portmixer.a"
-            EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/px_win_wmme/portmixer.a"
-            ;;
-         *)
-                        LOCAL_LIBS="$LOCAL_LIBS portmixer/px_unix_oss/portmixer.a"
-            EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/px_unix_oss/portmixer.a"
-            ;;
-      esac
-   fi
+   ac_configure_args="$ac_configure_args --with-pa-include=../portaudio-v19/include"
 fi
 
 { $as_echo "$as_me:$LINENO: checking for lrint" >&5
@@ -9530,16 +9822,12 @@ case "${host_os}" in
       ;;
 esac
 
-ac_config_files="$ac_config_files Makefile src/Makefile lib-src/Makefile lib-src/libnyquist/Makefile lib-src/libnyquist/misc/Makefile locale/Makefile"
+ac_config_files="$ac_config_files Makefile src/Makefile lib-src/Makefile locale/Makefile"
 
 if [ "x$LIBEXPAT_USE_LOCAL" = "xyes" ]; then
    ac_config_files="$ac_config_files lib-src/expat/Makefile"
 
 fi
-if [ "$use_portaudio" != "v19" ]; then
-   ac_config_files="$ac_config_files lib-src/portaudio/pa_unix_oss/Makefile"
-
-fi
 if [ -e tests/Makefile.in ]; then
    ac_config_files="$ac_config_files tests/Makefile"
 
@@ -10144,11 +10432,8 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     "lib-src/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/Makefile" ;;
-    "lib-src/libnyquist/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/libnyquist/Makefile" ;;
-    "lib-src/libnyquist/misc/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/libnyquist/misc/Makefile" ;;
     "locale/Makefile") CONFIG_FILES="$CONFIG_FILES locale/Makefile" ;;
     "lib-src/expat/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/expat/Makefile" ;;
-    "lib-src/portaudio/pa_unix_oss/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/portaudio/pa_unix_oss/Makefile" ;;
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
 
   *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
@@ -10987,9 +11272,7 @@ fi
 
 
 pa_libs=
-if [ "$use_portaudio" = "v19" ] ; then
-   pa_libs=`grep 'Libs:' lib-src/portaudio-v19/portaudio-2.0.pc | sed -e 's/Libs://;s/-L${libdir}//;s/-lportaudio//'`
-fi
+pa_libs=`grep 'Libs:' lib-src/portaudio-v19/portaudio-2.0.pc | sed -e 's/Libs://;s/-L${libdir}//;s/-lportaudio//'`
 sed -i -e "s/@PA_LIBS@/$pa_libs/" src/Makefile
 
 echo ""
@@ -11008,7 +11291,6 @@ for lib in $LIBRARIES ; do
    fi
 done
 
-
 if [ "$use_ladspa" = "yes" ] ; then
    echo "ladspa: enabled"
 else
@@ -11023,20 +11305,6 @@ fi
 
 echo "prefix=$prefix";
 
-case "${host_os}" in
-  darwin* | rhapsody*)
-    ;;
-  cygwin*)
-    ;;
-  *)
-    if [ "$use_portaudio" = "v19" ] ; then
-       echo "portaudio: v19"
-    else
-       echo "portaudio: v18 (OSS only)"
-    fi
-    ;;
-esac
-
 echo ""
 echo "Run 'configure --help' for an explanation of these options,"
 echo "otherwise run 'make' to build Audacity."
diff --git a/configure.in b/configure.in
index 6e0fcc7..706dd4c 100644
--- a/configure.in
+++ b/configure.in
@@ -126,14 +126,28 @@ if test x$prefix = "xNONE" ; then
 fi
 AC_DEFINE_UNQUOTED(INSTALL_PREFIX, "$prefix", [define as prefix where Audacity is installed])
 
+### Configuration of Audacity module support ###
+################################################
 dnl Some code (headers) can be built either as part of audacity, or as part of
 dnl audacity plug-ins. In order to tell this code what is going on, we need to
 dnl define BUILDING_AUDACITY during the audacity build, and not during the
 dnl plug-in build. This code puts the relevant content into configunix.h
 AC_DEFINE(BUILDING_AUDACITY, 1,
    [Define we are compiling Audacity itself, not an Audacity plug-in])
+# Add -rdynamic to linker flags so the right symbols are exported for
+# plug-ins. This might not work on all architectures / compilers, so we need
+# to check if it does or not.
+AX_LD_CHECK_FLAG([-rdynamic],[],[],
+               have_dynamic_link=yes,have_dynamic_link=no)
+if test "x$have_dynamic_link" = "xyes" ; then
+   BUILD_LDFLAGS="${BUILD_LDFLAGS} -rdynamic "
+else
+   AC_MSG_WARN(["Linker does not support -rdynamic. Could not enable exporting all symbols"])
+   AC_MSG_WARN(["Audacity module support will probably not work"])
+fi
 
-dnl Build Options
+### Build Options ###
+#####################
 
 AC_ARG_ENABLE(static,
             [AS_HELP_STRING([--enable-static],
@@ -289,9 +303,9 @@ dnl-------------------------------------------------------------
 dnl Optional library support. Lots of things we could use, but 
 dnl can do without if they aren't available.
 dnl-------------------------------------------------------------
-dnl LIBRARIES="LIBVORBIS LIBMAD LIBSNDFILE LIBFLAC LIBID3TAG LIBSAMPLERATE LIBRESAMPLE LIBSBSMS LIBSOUNDTOUCH LIBNYQUIST LIBVAMP LIBEXPAT LIBTWOLAME FFMPEG LIBLRDF SLV2 REDLAND PORTSMF"
+dnl LIBRARIES="LIBVORBIS LIBMAD LIBSNDFILE LIBFLAC LIBID3TAG LIBSAMPLERATE LIBRESAMPLE LIBSBSMS LIBSOUNDTOUCH LIBNYQUIST LIBVAMP LIBEXPAT LIBTWOLAME FFMPEG LIBLRDF SLV2 REDLAND PORTSMF TAGLIB"
 dnl disable plugin categorisation and LV2 libs for 1.3.7 release
-LIBRARIES="LIBVORBIS LIBMAD LIBSNDFILE LIBFLAC LIBID3TAG LIBSAMPLERATE LIBRESAMPLE LIBSBSMS LIBSOUNDTOUCH LIBNYQUIST LIBVAMP LIBEXPAT LIBTWOLAME FFMPEG PORTSMF"
+LIBRARIES="LIBVORBIS LIBMAD LIBSNDFILE LIBFLAC LIBID3TAG LIBSAMPLERATE LIBRESAMPLE LIBSBSMS LIBSOUNDTOUCH LIBNYQUIST LIBVAMP LIBEXPAT LIBTWOLAME FFMPEG PORTSMF TAGLIB"
 
 AC_MSG_NOTICE([Determining what libraries are available in this tree and on the system])
 
@@ -313,6 +327,7 @@ dnl AUDACITY_CHECKLIB_REDLAND
 dnl AUDACITY_CHECKLIB_SLV2
 dnl AUDACITY_CHECKLIB_LIBLRDF
 AUDACITY_CHECKLIB_PORTSMF
+AUDACITY_CHECKLIB_TAGLIB
 
 dnl Decide what libraries to build with, and whether to use system or local libraries
 dnl Set variables based on choices.
@@ -486,20 +501,6 @@ AC_ARG_WITH(portmixer,
    use_portmixer=$withval,
    use_portmixer="yes")
 
-AC_ARG_WITH(portaudio,
-   [AS_HELP_STRING([--with-portaudio],
-      [which version of PortAudio to use (=[v18,v19]) [default=v19]])],
-   use_portaudio=$withval,
-   use_portaudio="v19")
-
-dnl RTaudio doesn't work right now, so commenting this out RA 30/07/07
-dnl AC_ARG_WITH(rtaudio,
-dnl   [AS_HELP_STRING([--with-rtaudio],
-dnl      [compile with RTAudio instead of PortAudio [default=no]])],
-dnl   use_rtaudio=$withval,
-dnl   use_rtaudio="no")
-
-
 AC_CANONICAL_HOST
 
 dnl OS-specific configuration
@@ -510,7 +511,7 @@ case "${host_os}" in
       CDEPEND="AudacityHeaders.h.gch"
       PRECOMP_CFLAGS="-include AudacityHeaders.h"
       CONFIGHEADER="configunix.h"
-      CXXFLAGS="-I../mac $CXXFLAGS"
+      CXXFLAGS="-I\$(top_srcdir)/mac $CXXFLAGS"
       AFTERBUILD=""
       EXTRATARGETS="../Audacity.app"
       if [[ "$use_audiounits" = "auto" ]] ; then
@@ -538,116 +539,62 @@ case "${host_os}" in
       AFTERBUILD=""
       EXTRAINSTALLTARGETS="$EXTRAINSTALLTARGETS install-extra-data"
       EXTRAUNINSTALLTARGETS="$EXTRAUNINSTALLTARGETS uninstall-extra-data"
+
+      AC_SUBST(HAVE_GTK)
+      PKG_CHECK_MODULES(GTK, gtk+-2.0, have_gtk=yes, have_gtk=no)
+      if [[ "$have_gtk" = "yes" ]]
+      then
+         AC_DEFINE(HAVE_GTK, 1, [Define if GTK is available])
+         CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
+      fi
+   ;;
 esac
 
 dnl PortAudio configuration
 
-if [[ "$use_portaudio" = "v19" ]] ; then
-   dnl PortAudio v19
-   AC_DEFINE(USE_PORTAUDIO_V19, 1,
-      [Define if PortAudio v19 is being used (instead of v18)])
+LOCAL_LIBS="$LOCAL_LIBS portaudio-v19/lib/libportaudio.a"
+EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio-v19/lib/libportaudio.a"
+CXXFLAGS="-I\$(top_srcdir)/lib-src/portaudio-v19/include $CXXFLAGS"
 
-   LOCAL_LIBS="$LOCAL_LIBS portaudio-v19/lib/libportaudio.a"
-   EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio-v19/lib/libportaudio.a"
-   CXXFLAGS="-I\$(top_srcdir)/lib-src/portaudio-v19/include $CXXFLAGS"
+AC_CONFIG_SUBDIRS([lib-src/portaudio-v19])
 
-   AC_CONFIG_SUBDIRS([lib-src/portaudio-v19])
-
-   case "${host_os}" in
-      darwin* | rhapsody*)
-         LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
-         LIBS="-framework CoreAudio $LIBS -lz"
-         ;;
-      cygwin*)
-         ;;
-      *)
-         dnl Unix
-         AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
-         if [[ $have_alsa = "yes" ]] ; then
-            LIBS="$LIBS -lasound"
-         fi
-         PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
-         if [[ $have_jack = "yes" ]] ; then
-            LIBS="$LIBS $JACK_LIBS"
-         fi
-         AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
-         if [[ $have_asihpi = "yes" ]] ; then
-            LIBS="$LIBS -lhpi"
-         fi    
-         AC_CHECK_LIB(rt, clock_gettime, [rt_libs=" -lrt"])
-         LIBS="${LIBS}${rt_libs}"
-         AC_CHECK_FUNCS([clock_gettime nanosleep])
-         ;;
-   esac
-
-else
-   dnl PortAudio v18
-   CXXFLAGS="-I\$(top_srcdir)/lib-src/portaudio/pa_common $CXXFLAGS"
-
-   case "${host_os}" in
-      darwin* | rhapsody*)
-         LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_mac_core/portaudio.a"
-         EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_mac_core/portaudio.a"
-
-         LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
-         LIBS="-framework CoreAudio $LIBS -lz"
-         ;;
-      cygwin*)
-         LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_win_wmme/portaudio.a"
-         EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_win_wmme/portaudio.a"
-         ;;
-      *)
-         dnl Unix
-         LOCAL_LIBS="$LOCAL_LIBS portaudio/pa_unix_oss/portaudio.a"
-         EXTRAOBJS="$EXTRAOBJS ../lib-src/portaudio/pa_unix_oss/portaudio.a"
-         ;;
-   esac
-fi
+case "${host_os}" in
+   darwin* | rhapsody*)
+      LIBS="-framework AudioUnit -framework AudioToolbox $LIBS"
+      LIBS="-framework CoreAudio $LIBS -lz"
+      ;;
+   cygwin*)
+      ;;
+   *)
+      dnl Unix
+      AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
+      if [[ $have_alsa = "yes" ]] ; then
+         LIBS="$LIBS -lasound"
+      fi
+      PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
+      if [[ $have_jack = "yes" ]] ; then
+         LIBS="$LIBS $JACK_LIBS"
+      fi
+      AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
+      if [[ $have_asihpi = "yes" ]] ; then
+         LIBS="$LIBS -lhpi"
+      fi    
+      AC_CHECK_LIB(rt, clock_gettime, [rt_libs=" -lrt"])
+      LIBS="${LIBS}${rt_libs}"
+      AC_CHECK_FUNCS([clock_gettime nanosleep])
+      ;;
+esac
 
-dnl Again, not in use now so disable
-dnl if [[ "$use_rtaudio" = "yes" ]] ; then
-dnl    AC_CONFIG_SUBDIRS([lib-src/rtaudio])
-dnl    AC_DEFINE(USE_RTAUDIO, 1,   
-dnl     [Define if RTAudio support should be enabled])
-dnl    CXXFLAGS="-I\$(top_srcdir)/lib-src/rtaudio $CXXFLAGS"
-dnl    CXXFLAGS="\`../lib-src/rtaudio/rtaudio-config --cflags\` $CXXFLAGS"
-dnl    LOCAL_LIBS="$LOCAL_LIBS rtaudio/librtaudio.a"
-dnl    EXTRAOBJS="$EXTRAOBJS ../lib-src/librtaudio.a"
-dnl    LIBS = "$LIBS \`../lib-src/rtaudio/rtaudio-config --libs\`"
-dnl fi
 
 if [[ "$use_portmixer" = "yes" ]] ; then
    AC_DEFINE(USE_PORTMIXER, 1,   
    [Define if PortMixer support should be enabled])
-   if [[ "$use_portaudio" = "v19" ]] ; then
-      dnl PortMixer with PortAudio v19
 
-      CXXFLAGS="-I\$(top_srcdir)/lib-src/portmixer/include $CXXFLAGS"
-      LOCAL_LIBS="$LOCAL_LIBS portmixer/libportmixer.a"
-      EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/libportmixer.a"
+   CXXFLAGS="-I\$(top_srcdir)/lib-src/portmixer/include $CXXFLAGS"
+   LOCAL_LIBS="$LOCAL_LIBS portmixer/libportmixer.a"
 
-      AC_CONFIG_SUBDIRS([lib-src/portmixer])
-      ac_configure_args="$ac_configure_args --with-pa-include=../portaudio-v19/include"
-   else
-      dnl PortMixer with PortAudio v18
-
-      CXXFLAGS="-I\$(top_srcdir)/lib-src/portmixer/px_common $CXXFLAGS"
-      case "${host_os}" in
-         darwin* | rhapsody*)
-            LOCAL_LIBS="$LOCAL_LIBS portmixer/px_mac_core/portmixer.a"
-            EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/px_mac_core/portmixer.a"     
-            ;;
-         cygwin*)
-            LOCAL_LIBS="$LOCAL_LIBS portmixer/px_win_wmme/portmixer.a"
-            EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/px_win_wmme/portmixer.a"
-            ;;
-         *)
-            dnl Unix
-            LOCAL_LIBS="$LOCAL_LIBS portmixer/px_unix_oss/portmixer.a"
-            EXTRAOBJS="$EXTRAOBJS ../lib-src/portmixer/px_unix_oss/portmixer.a"     
-            ;;
-      esac
-   fi
+   AC_CONFIG_SUBDIRS([lib-src/portmixer])
+   ac_configure_args="$ac_configure_args --with-pa-include=../portaudio-v19/include"
 fi
 
 dnl Check for lrint/lrintf
@@ -700,16 +647,12 @@ case "${host_os}" in
 esac
 
 AC_CONFIG_FILES([Makefile src/Makefile lib-src/Makefile \
-                 lib-src/libnyquist/Makefile lib-src/libnyquist/misc/Makefile \
                  locale/Makefile])
 dnl There are various other files we might need to process, depends on what
 dnl has been enabled previously
 if [[ "x$LIBEXPAT_USE_LOCAL" = "xyes" ]]; then
    AC_CONFIG_FILES([lib-src/expat/Makefile])
 fi
-if [[ "$use_portaudio" != "v19" ]]; then
-   AC_CONFIG_FILES([lib-src/portaudio/pa_unix_oss/Makefile])
-fi
 if [[ -e tests/Makefile.in ]]; then
    AC_CONFIG_FILES([tests/Makefile])
 fi
@@ -720,9 +663,7 @@ dnl
 dnl Substitute any addition libraries that portaudio (v19) requires
 dnl
 pa_libs=
-if [[ "$use_portaudio" = "v19" ]] ; then
-   pa_libs=`grep 'Libs:' lib-src/portaudio-v19/portaudio-2.0.pc | sed -e 's/Libs://;s/-L${libdir}//;s/-lportaudio//'`
-fi
+pa_libs=`grep 'Libs:' lib-src/portaudio-v19/portaudio-2.0.pc | sed -e 's/Libs://;s/-L${libdir}//;s/-lportaudio//'`
 sed -i -e "s/@PA_LIBS@/$pa_libs/" src/Makefile
 
 echo ""
@@ -741,13 +682,6 @@ for lib in $LIBRARIES ; do
    fi
 done
 
-dnl disabled as not working
-dnl if [[ "$use_rtaudio" = "yes" ]] ; then
-dnl   echo "RTAudio: enabled"
-dnl else
-dnl   echo "RTAudio: disabled"        
-dnl fi
-
 if [[ "$use_ladspa" = "yes" ]] ; then
    echo "ladspa: enabled"
 else
@@ -762,20 +696,6 @@ fi
 
 echo "prefix=$prefix";
 
-case "${host_os}" in
-  darwin* | rhapsody*)
-    ;;
-  cygwin*)
-    ;;
-  *)
-    if [[ "$use_portaudio" = "v19" ]] ; then
-       echo "portaudio: v19"
-    else
-       echo "portaudio: v18 (OSS only)"
-    fi
-    ;;
-esac
-
 echo ""
 echo "Run 'configure --help' for an explanation of these options,"
 echo "otherwise run 'make' to build Audacity."
diff --git a/lib-src/FileDialog/FileDialog.vcproj b/lib-src/FileDialog/FileDialog.vcproj
old mode 100644
new mode 100755
diff --git a/lib-src/FileDialog/generic/FileDialogPrivate.cpp b/lib-src/FileDialog/generic/FileDialogPrivate.cpp
index 84c25ff..06a772f 100644
--- a/lib-src/FileDialog/generic/FileDialogPrivate.cpp
+++ b/lib-src/FileDialog/generic/FileDialogPrivate.cpp
@@ -4,7 +4,7 @@
 // Author:      Robert Roebling
 // Modified by: Leland Lucius
 // Created:     12/12/98
-// RCS-ID:      $Id: FileDialogPrivate.cpp,v 1.2 2008/05/24 02:57:39 llucius Exp $
+// RCS-ID:      $Id: FileDialogPrivate.cpp,v 1.3 2009/07/02 22:11:18 vjohnson Exp $
 // Copyright:   (c) Robert Roebling
 // Licence:     wxWindows licence
 //
@@ -255,25 +255,25 @@ void FileData::ReadData()
    // __WXWINCE__
    
 #if defined(__UNIX__)
-   m_permissions.Printf(_T("%c%c%c%c%c%c%c%c%c"),
-                        buff.st_mode & wxS_IRUSR ? _T('r') : _T('-'),
-                        buff.st_mode & wxS_IWUSR ? _T('w') : _T('-'),
-                        buff.st_mode & wxS_IXUSR ? _T('x') : _T('-'),
-                        buff.st_mode & wxS_IRGRP ? _T('r') : _T('-'),
-                        buff.st_mode & wxS_IWGRP ? _T('w') : _T('-'),
-                        buff.st_mode & wxS_IXGRP ? _T('x') : _T('-'),
-                        buff.st_mode & wxS_IROTH ? _T('r') : _T('-'),
-                        buff.st_mode & wxS_IWOTH ? _T('w') : _T('-'),
-                        buff.st_mode & wxS_IXOTH ? _T('x') : _T('-'));
+   m_permissions.Printf(wxT("%c%c%c%c%c%c%c%c%c"),
+                        buff.st_mode & wxS_IRUSR ? wxT('r') : wxT('-'),
+                        buff.st_mode & wxS_IWUSR ? wxT('w') : wxT('-'),
+                        buff.st_mode & wxS_IXUSR ? wxT('x') : wxT('-'),
+                        buff.st_mode & wxS_IRGRP ? wxT('r') : wxT('-'),
+                        buff.st_mode & wxS_IWGRP ? wxT('w') : wxT('-'),
+                        buff.st_mode & wxS_IXGRP ? wxT('x') : wxT('-'),
+                        buff.st_mode & wxS_IROTH ? wxT('r') : wxT('-'),
+                        buff.st_mode & wxS_IWOTH ? wxT('w') : wxT('-'),
+                        buff.st_mode & wxS_IXOTH ? wxT('x') : wxT('-'));
 #elif defined(__WIN32__)
    DWORD attribs = GetFileAttributes(m_filePath.fn_str());
    if (attribs != (DWORD)-1)
    {
-      m_permissions.Printf(_T("%c%c%c%c"),
-                           attribs & FILE_ATTRIBUTE_ARCHIVE  ? _T('A') : _T(' '),
-                           attribs & FILE_ATTRIBUTE_READONLY ? _T('R') : _T(' '),
-                           attribs & FILE_ATTRIBUTE_HIDDEN   ? _T('H') : _T(' '),
-                           attribs & FILE_ATTRIBUTE_SYSTEM   ? _T('S') : _T(' '));
+      m_permissions.Printf(wxT("%c%c%c%c"),
+                           attribs & FILE_ATTRIBUTE_ARCHIVE  ? wxT('A') : wxT(' '),
+                           attribs & FILE_ATTRIBUTE_READONLY ? wxT('R') : wxT(' '),
+                           attribs & FILE_ATTRIBUTE_HIDDEN   ? wxT('H') : wxT(' '),
+                           attribs & FILE_ATTRIBUTE_SYSTEM   ? wxT('S') : wxT(' '));
    }
 #endif
    
@@ -347,7 +347,7 @@ wxString FileData::GetEntry( fileListFieldType num ) const
          
       case FileList_Size:
          if (!IsDir() && !IsLink() && !IsDrive())
-            s.Printf(_T("%ld"), m_size);
+            s.Printf(wxT("%ld"), m_size);
          break;
          
          case FileList_Type:
@@ -366,7 +366,7 @@ wxString FileData::GetEntry( fileListFieldType num ) const
 #endif // defined(__UNIX__) || defined(__WIN32__)
          
          default:
-         wxFAIL_MSG( _T("unexpected field in FileData::GetEntry()") );
+         wxFAIL_MSG( wxT("unexpected field in FileData::GetEntry()") );
    }
    
    return s;
@@ -391,7 +391,7 @@ void FileData::MakeItem( wxListItem &item )
    
    if (IsLink())
    {
-      wxColour dg = wxTheColourDatabase->Find( _T("MEDIUM GREY") );
+      wxColour dg = wxTheColourDatabase->Find( wxT("MEDIUM GREY") );
       if ( dg.Ok() )
          item.SetTextColour(dg);
    }
@@ -1215,7 +1215,7 @@ void FileDialog::DoSetFilterIndex(int filterindex)
    if ( str->Left(2) == wxT("*.") )
    {
       m_filterExtension = str->Mid(1);
-      if (m_filterExtension == _T(".*"))
+      if (m_filterExtension == wxT(".*"))
          m_filterExtension.clear();
    }
    else
diff --git a/lib-src/FileDialog/gtk/FileDialogPrivate.cpp b/lib-src/FileDialog/gtk/FileDialogPrivate.cpp
index a48c63a..7e788c3 100644
--- a/lib-src/FileDialog/gtk/FileDialogPrivate.cpp
+++ b/lib-src/FileDialog/gtk/FileDialogPrivate.cpp
@@ -2,7 +2,7 @@
 // Name:        gtk/filedlg.cpp
 // Purpose:     native implementation of FileDialog
 // Author:      Robert Roebling, Zbigniew Zagorski, Mart Raudsepp
-// Id:          $Id: FileDialogPrivate.cpp,v 1.6 2008/10/16 22:22:48 dwritten Exp $
+// Id:          $Id: FileDialogPrivate.cpp,v 1.7 2009/05/25 11:10:00 llucius Exp $
 // Copyright:   (c) 1998 Robert Roebling, 2004 Zbigniew Zagorski, 2005 Mart Raudsepp
 // Licence:     wxWindows licence
 //
@@ -346,8 +346,12 @@ void FileDialog::DoSetSize(int x, int y, int width, int height, int sizeFlags )
 wxString FileDialog::GetPath() const
 {
 #if defined(__WXGTK24__) && (!defined(__WXGPE__))
-   if (!gtk_check_version(2,4,0))
-      return wxConvFileName->cMB2WX(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget)));
+   if (!gtk_check_version(2,4,0)) {
+      char *f = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget));
+      wxString path = wxConvFileName->cMB2WX(f);
+      g_free(f);
+      return path;
+   }
    else
 #endif
       return wxGenericFileDialog::GetPath();
@@ -468,8 +472,12 @@ void FileDialog::SetFilename(const wxString& name)
 wxString FileDialog::GetFilename() const
 {
 #if defined(__WXGTK24__) && (!defined(__WXGPE__))
-   if (!gtk_check_version(2,4,0))
-      return wxFileName(wxConvFileName->cMB2WX(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget))) ).GetFullName();
+   if (!gtk_check_version(2,4,0)) {
+      char *f = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget));
+      wxFileName name(wxConvFileName->cMB2WX(f));
+      g_free(f);
+      return name.GetFullName();
+   }
    else
 #endif
       return wxGenericFileDialog::GetFilename();
diff --git a/lib-src/FileDialog/win/FileDialogPrivate.cpp b/lib-src/FileDialog/win/FileDialogPrivate.cpp
index 64bf76c..3a61ded 100644
--- a/lib-src/FileDialog/win/FileDialogPrivate.cpp
+++ b/lib-src/FileDialog/win/FileDialogPrivate.cpp
@@ -4,7 +4,7 @@
 // Author:      Julian Smart
 // Modified by: Leland Lucius
 // Created:     01/02/97
-// RCS-ID:      $Id: FileDialogPrivate.cpp,v 1.14 2008/11/08 21:00:26 llucius Exp $
+// RCS-ID:      $Id: FileDialogPrivate.cpp,v 1.17 2009/07/02 22:11:19 vjohnson Exp $
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 //
@@ -228,18 +228,16 @@ FileDialogHookFunction(HWND      hDlg,
          {
             OPENFILENAME *ofn = (OPENFILENAME *)
             GetWindowLongPtr(hDlg, GWLP_USERDATA);
-            FileDialog *me = (FileDialog *)
-            ofn->lCustData;
-            me->FilterFiles(hDlg);
+            FileDialog *me = (FileDialog *) ofn->lCustData;
+            me->FilterFiles(hDlg, false);
          }
          else if (CDN_TYPECHANGE == (pNotifyCode->hdr).code)
          {
             OPENFILENAME *ofn = (OPENFILENAME *)
             GetWindowLongPtr(hDlg, GWLP_USERDATA);
-            FileDialog *me = (FileDialog *)
-            ofn->lCustData;
+            FileDialog *me = (FileDialog *) ofn->lCustData;
             me->ParseFilter(ofn->nFilterIndex);
-            me->FilterFiles(hDlg);
+            me->FilterFiles(hDlg, true);
          }
          break;
       }
@@ -249,10 +247,15 @@ FileDialogHookFunction(HWND      hDlg,
    return 0;
 }
 
-void FileDialog::FilterFiles(HWND hDlg)
+#define WM_GETISHELLBROWSER WM_USER + 7
+
+void FileDialog::FilterFiles(HWND hDlg, bool refresh)
 {
    HWND parent = ::GetParent(hDlg);
    IShellFolder *ishell = NULL;
+   IShellBrowser *ishellbrowser = NULL;  // Does not have to be released
+   IShellView *ishellview = NULL;
+   IFolderView *ifolderview = NULL;
    LPMALLOC imalloc = NULL;
    HRESULT hr;
    
@@ -271,13 +274,25 @@ void FileDialog::FilterFiles(HWND hDlg)
       wxASSERT((hr == NOERROR) && (imalloc != NULL));
       return;
    }
-   
+
+   // Get IShellBrowser interface for current dialog
+   ishellbrowser = (IShellBrowser*)::SendMessage(parent, WM_GETISHELLBROWSER, 0, 0);
+   if (ishellbrowser)
+   {
+      // Get IShellBrowser interface for returned browser
+      if (ishellbrowser->QueryActiveShellView(&ishellview) == S_OK)
+      {
+         // Get the IFolderView interface...available on XP or greater
+         ishellview->QueryInterface(IID_IFolderView, (void **)&ifolderview);
+      }
+   }
+
    // Init
    LVITEM lvi;
    wxZeroMemory(lvi);
-   
+
    // Process all items
-   int fltcnt = m_Filters.GetCount();
+   int fltcnt = (int) m_Filters.GetCount();
    int itmcnt = ::SendMessage(lv, LVM_GETITEMCOUNT, 0, 0);
    for (int itm = 0; itm < itmcnt; itm++)
    {
@@ -289,8 +304,24 @@ void FileDialog::FilterFiles(HWND hDlg)
          wxASSERT(FALSE);
          break;
       }
+
       LPCITEMIDLIST fidl = (LPCITEMIDLIST) lvi.lParam;
-      
+
+      // On Vista, lParam no longer contains the pidl so retrieve it via the
+      // IFolderView interface.  This interface is only available on XP or higher
+      // so if that limitation isn't workable, use IShellView::GetItemObject() to
+      // retrieve items.
+      if (fidl == NULL && ifolderview != NULL)
+      {
+         ifolderview->Item(itm, (LPITEMIDLIST *) &fidl);
+      }
+
+      if (fidl == NULL)
+      {
+         wxASSERT(fidl != NULL);
+         break;
+      }
+
       // Retrieve the IShellFolder interface of the parent (must be Release()'d)
       if (ishell == NULL)
       {
@@ -370,9 +401,28 @@ void FileDialog::FilterFiles(HWND hDlg)
          itmcnt--;
       }
    }
-   
-done:
-   
+
+   // On Vista and maybe XP, we seem to need to refresh the view after
+   // changing the filters.  But, only refresh for type changes and not
+   // selection changes since it causes additional selection change
+   // events to occur.
+   if (ishellview && refresh)
+   {
+      ishellview->Refresh();
+   }
+
+   // Release the interface
+   if (ifolderview)
+   {
+      ifolderview->Release();
+   }
+
+   // Release the interface
+   if (ishellview)
+   {
+      ishellview->Release();
+   }
+
    // Release the interface
    if (ishell)
    {
@@ -419,8 +469,8 @@ FileDialog::FileDialog(wxWindow *parent,
 {
    m_dialogStyle = style;
    
-   if ( ( m_dialogStyle & wxMULTIPLE ) && ( m_dialogStyle & wxSAVE ) )
-      m_dialogStyle &= ~wxMULTIPLE;
+   if ( ( m_dialogStyle & wxFD_MULTIPLE ) && ( m_dialogStyle & wxFD_SAVE ) )
+      m_dialogStyle &= ~wxFD_MULTIPLE;
    
    m_bMovedWindow = false;
    
@@ -439,8 +489,8 @@ void FileDialog::GetPaths(wxArrayString& paths) const
    paths.Empty();
    
    wxString dir(m_dir);
-   if ( m_dir.Last() != _T('\\') )
-      dir += _T('\\');
+   if ( m_dir.Last() != wxT('\\') )
+      dir += wxT('\\');
    
    size_t count = m_fileNames.GetCount();
    for ( size_t n = 0; n < count; n++ )
@@ -462,7 +512,7 @@ void FileDialog::SetPath(const wxString& path)
    wxString ext;
    wxSplitPath(path, &m_dir, &m_fileName, &ext);
    if ( !ext.empty() )
-      m_fileName << _T('.') << ext;
+      m_fileName << wxT('.') << ext;
 }
 
 void FileDialog::DoGetPosition( int *x, int *y ) const
@@ -514,7 +564,7 @@ int FileDialog::ShowModal()
    long msw_flags = OFN_HIDEREADONLY;
 #endif
    
-   if ( m_dialogStyle & wxFILE_MUST_EXIST )
+   if ( m_dialogStyle & wxFD_FILE_MUST_EXIST )
       msw_flags |= OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
    /*
     If the window has been moved the programmer is probably
@@ -537,7 +587,7 @@ int FileDialog::ShowModal()
 #endif
    }
    
-   if (m_dialogStyle & wxMULTIPLE )
+   if (m_dialogStyle & wxFD_MULTIPLE )
    {
       // OFN_EXPLORER must always be specified with OFN_ALLOWMULTISELECT
       msw_flags |= OFN_EXPLORER | OFN_ALLOWMULTISELECT;
@@ -546,12 +596,12 @@ int FileDialog::ShowModal()
    // if wxCHANGE_DIR flag is not given we shouldn't change the CWD which the
    // standard dialog does by default (notice that under NT it does it anyhow, 
    // OFN_NOCHANGEDIR or not, see below)
-   if ( !(m_dialogStyle & wxCHANGE_DIR) )
+   if ( !(m_dialogStyle & wxFD_CHANGE_DIR) )
    {
       msw_flags |= OFN_NOCHANGEDIR;
    }
    
-   if ( m_dialogStyle & wxOVERWRITE_PROMPT )
+   if ( m_dialogStyle & wxFD_OVERWRITE_PROMPT )
    {
       msw_flags |= OFN_OVERWRITEPROMPT;
    }
@@ -573,7 +623,7 @@ int FileDialog::ShowModal()
    wxZeroMemory(of);
    
    // Allow Places bar to show on supported platforms
-   if ( wxGetOsVersion() == wxWINDOWS_NT )
+   if ( wxGetOsVersion() == wxOS_WINDOWS_NT )
    {
       of.lStructSize       = sizeof(OPENFILENAME);
    }
@@ -600,17 +650,17 @@ int FileDialog::ShowModal()
       wxChar ch = m_dir[i];
       switch ( ch )
       {
-         case _T('/'):
+         case wxT('/'):
             // convert to backslash
-            ch = _T('\\');
+            ch = wxT('\\');
             
             // fall through
             
-         case _T('\\'):
+         case wxT('\\'):
             while ( i < len - 1 )
             {
                wxChar chNext = m_dir[i + 1];
-               if ( chNext != _T('\\') && chNext != _T('/') )
+               if ( chNext != wxT('\\') && chNext != wxT('/') )
                   break;
                
                // ignore the next one, unless it is at the start of a UNC path
@@ -636,7 +686,7 @@ int FileDialog::ShowModal()
    
    size_t items = wxParseCommonDialogsFilter(m_wildCard, wildDescriptions, m_FilterGroups);
    
-   wxASSERT_MSG( items > 0 , _T("empty wildcard list") );
+   wxASSERT_MSG( items > 0 , wxT("empty wildcard list") );
    
    wxString filterBuffer;
    
@@ -675,7 +725,7 @@ int FileDialog::ShowModal()
    // user types "foo" and the default extension is ".bar" we should force it
    // to check for "foo.bar" existence and not "foo")
    wxString defextBuffer; // we need it to be alive until GetSaveFileName()!
-   if (m_dialogStyle & wxSAVE && m_dialogStyle & wxOVERWRITE_PROMPT)
+   if (m_dialogStyle & wxFD_SAVE && m_dialogStyle & wxFD_OVERWRITE_PROMPT)
    {
       const wxChar* extension = filterBuffer;
       int maxFilter = (int)(of.nFilterIndex*2L) - 1;
@@ -697,7 +747,7 @@ int FileDialog::ShowModal()
    
    //== Execute FileDialog >>=================================================
    
-   bool success = (m_dialogStyle & wxSAVE ? GetSaveFileName(&of)
+   bool success = (m_dialogStyle & wxFD_SAVE ? GetSaveFileName(&of)
                    : GetOpenFileName(&of)) != 0;
    
 #ifdef __WXWINCE__
@@ -713,7 +763,7 @@ int FileDialog::ShowModal()
    // seems safe). 
    if ( success && 
        (msw_flags & OFN_NOCHANGEDIR) && 
-       wxGetOsVersion() == wxWINDOWS_NT ) 
+       wxGetOsVersion() == wxOS_WINDOWS_NT ) 
    { 
       wxSetWorkingDirectory(cwdOrig); 
    } 
@@ -725,14 +775,14 @@ int FileDialog::ShowModal()
       
       int oldStructSize = of.lStructSize;
       of.lStructSize       = oldStructSize - (sizeof(void *) + 2*sizeof(DWORD));
-      success = (m_dialogStyle & wxSAVE) ? (GetSaveFileName(&of) != 0)
+      success = (m_dialogStyle & wxFD_SAVE) ? (GetSaveFileName(&of) != 0)
       : (GetOpenFileName(&of) != 0);
       errCode = CommDlgExtendedError();
       
       if (!success && (errCode == CDERR_STRUCTSIZE))
       {
          of.lStructSize       = oldStructSize + (sizeof(void *) + 2*sizeof(DWORD));
-         success = (m_dialogStyle & wxSAVE) ? (GetSaveFileName(&of) != 0)
+         success = (m_dialogStyle & wxFD_SAVE) ? (GetSaveFileName(&of) != 0)
          : (GetOpenFileName(&of) != 0);
       }
    }
@@ -743,7 +793,7 @@ int FileDialog::ShowModal()
    {
       m_fileNames.Empty();
       
-      if ( ( m_dialogStyle & wxMULTIPLE ) &&
+      if ( ( m_dialogStyle & wxFD_MULTIPLE ) &&
 #if defined(OFN_EXPLORER)
           ( fileNameBuffer[of.nFileOffset-1] == wxT('\0') )
 #else
@@ -764,7 +814,7 @@ int FileDialog::ShowModal()
             i += wxStrlen(&fileNameBuffer[i]) + 1;
          }
 #else
-         wxStringTokenizer toke(fileNameBuffer, _T(" \t\r\n"));
+         wxStringTokenizer toke(fileNameBuffer, wxT(" \t\r\n"));
          m_dir = toke.GetNextToken();
          m_fileName = toke.GetNextToken();
          m_fileNames.Add(m_fileName);
@@ -774,8 +824,8 @@ int FileDialog::ShowModal()
 #endif // OFN_EXPLORER
          
          wxString dir(m_dir);
-         if ( m_dir.Last() != _T('\\') )
-            dir += _T('\\');
+         if ( m_dir.Last() != wxT('\\') )
+            dir += wxT('\\');
          
          m_path = dir + m_fileName;
          m_filterIndex = (int)of.nFilterIndex - 1;
diff --git a/lib-src/FileDialog/win/FileDialogPrivate.h b/lib-src/FileDialog/win/FileDialogPrivate.h
index c166f9c..06be9e9 100644
--- a/lib-src/FileDialog/win/FileDialogPrivate.h
+++ b/lib-src/FileDialog/win/FileDialogPrivate.h
@@ -4,7 +4,7 @@
 // Author:      Julian Smart
 // Modified by: Leland Lucius
 // Created:     01/02/97
-// RCS-ID:      $Id: FileDialogPrivate.h,v 1.5 2008/05/24 02:57:39 llucius Exp $
+// RCS-ID:      $Id: FileDialogPrivate.h,v 1.6 2009/04/11 05:53:09 llucius Exp $
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 //
@@ -41,7 +41,7 @@ class FileDialog: public wxFileDialogBase
    virtual void EnableButton(wxString label, fdCallback cb, void *cbdata);
    virtual void ClickButton(int index);
    
-   virtual void FilterFiles(HWND hDlg);
+   virtual void FilterFiles(HWND hDlg, bool refresh);
    virtual void ParseFilter(int index);
    wxString m_buttonlabel;
    
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index c2f75e8..d127b4d 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -49,7 +49,6 @@ libFLAC++.a libFLAC.a: libflac-recursive
 
 # libnyquist
 libnyquist-recursive:
-	$(MAKE) -C libnyquist/misc
 	$(MAKE) -C libnyquist
 libnyquist.a: libnyquist-recursive
 	ln -sf libnyquist/libnyquist.a libnyquist.a
@@ -136,6 +135,12 @@ soundtouch-recursive:
 libSoundTouch.a: soundtouch-recursive
 	ln -sf soundtouch/source/SoundTouch/.libs/libSoundTouch.a .
 
+# TagLib
+taglib-recursive:
+	$(MAKE) -C taglib
+taglib.a: taglib-recursive
+	ln -sf taglib/taglib/.libs/libtag.a taglib.a 
+
 # PortAudio
 portaudio-v19-recursive:
 	$(MAKE) -C portaudio-v19 lib/libportaudio.la
@@ -146,7 +151,6 @@ portaudio-v19/lib/libportaudio.a: portaudio-v19-recursive
 portmixer-recursive:
 	$(MAKE) -C portmixer
 portmixer/libportmixer.a: portmixer-recursive
-	ln -sf portmixer/libportmixer.a .
 
 portaudio/pa_unix_oss/portaudio.a:
 	$(MAKE) -C portaudio/pa_unix_oss
@@ -154,12 +158,6 @@ portaudio/pa_unix_oss/portaudio.a:
 portaudio/pa_mac_core/portaudio.a:
 	$(MAKE) -C portaudio/pa_mac_core
 
-portmixer/px_unix_oss/portmixer.a:
-	$(MAKE) -C portmixer/px_unix_oss PA_VER=$(findstring -v19, at BUILDLIBS@)
-
-portmixer/px_mac_core/portmixer.a:
-	$(MAKE) -C portmixer/px_mac_core PA_VER=$(findstring -v19, at BUILDLIBS@)
-
 # RTAudio not supported 23/08/2007 R.A.
 # librtaudio-recursive:
 #	$(MAKE) -C rtaudio
@@ -188,8 +186,6 @@ clean:
 	-$(MAKE) -C portaudio/pa_unix_oss clean
 	-$(MAKE) -C portaudio/pa_mac_core clean
 	-$(MAKE) -C portmixer clean
-	-$(MAKE) -C portmixer/px_unix_oss clean
-	-$(MAKE) -C portmixer/px_mac_core clean
 	-$(MAKE) -C sbsms clean
 	-$(MAKE) -C soundtouch clean
 	-$(MAKE) -C twolame clean
@@ -216,8 +212,6 @@ distclean:
 	-$(MAKE) -C portaudio/pa_unix_oss distclean
 	-$(MAKE) -C portaudio/pa_mac_core distclean
 	-$(MAKE) -C portmixer distclean
-	-$(MAKE) -C portmixer/px_unix_oss distclean
-	-$(MAKE) -C portmixer/px_mac_core distclean
 	-$(MAKE) -C sbsms distclean
 	-$(MAKE) -C soundtouch distclean
 	-$(MAKE) -C twolame distclean
diff --git a/lib-src/audacity-patches.txt b/lib-src/audacity-patches.txt
index e5a7a81..96343ca 100644
--- a/lib-src/audacity-patches.txt
+++ b/lib-src/audacity-patches.txt
@@ -91,35 +91,36 @@ libsamplerate
 Erik de Castro Lopo's high quality sample rate conversion library. Not used
 in release builds, could probably be removed altogther except for comparision
 purposes.
-Version in Audacity CVS: 0.1.2
-Patches: ??
+Version in Audacity CVS: 0.1.7
+Patches: endian.m4, lrint.m4, llrint.m4, lrintf.m4, clip_mode.m4 copied from
+			libsndfile's M4/.
+		 signal.m4 created out of the tail of acinclude.m4 with the remaining
+		 	necessary macro
 AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds
 by default
-Upstream Version: 0.1.2
+Upstream Version: 0.1.7
 
 libsndfile
 ----------
 Erik de Castro Lopo's uncompressed audio file I/O library. Core and essential
 to audacity.
-Version in Audacity CVS: 1.0.17
-Patches:  wav-bext.patch: backport patch from 1.0.18 of a patch to fix reading
-bext chunks in WAV files
-		  update-autotools.patch: backport patch from 1.0.18pre25 to use an M4
-		  directory for m4 macro files, and other changes so that the source
-		  tree will take libtoolise --copy --force; aclocal -I M4 --install;
-		  autoreconf and generate a working build system on any reasonably
-		  sensible host.
+Version in Audacity CVS: 1.0.18
+Patches: macro-quoting.patch: quote arguments to AC_DEFUN such that
+			autoreconf works with autorecnf 2.63. Has been accepted upstream
+		 portability.patch: add portability macros / pre-processor to 
+			enable build on non-standard platforms. Not yet accepted upstream.
 AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds
 by default
-Upstream Version: 1.0.17
-TODO: upgrade to 1.0.18 when it comes out in order to drop the bext patch
+Upstream Version: 1.0.18
 
 libvamp
 -------
 Library to load and use VAMP plug-ins. http://www.vamp-plugins.org/
 Version in Audacity CVS: 2.0
 Patches: optional-progs.patch: Make building the Vamp host (and so the
-dependecy on libsndfile) optional rather than mandatory
+dependecy on libsndfile) optional rather than mandatory. Accepted upstream.
+		 distclean.patch: ensure that distclean actually works and takes away
+		 auto* droppings. Accepted upstream.
 Upstream Version: 2.0
 
 libvorbis
@@ -158,12 +159,18 @@ portaudio-v19
 -------------
 http://portaudio.com/
 cross-platform audio I/O library version 19, used for 1.3.2 onwards releases
-Version in audacity cvs: 31st December 2008 SVN snapshot (r1396)
+Version in audacity cvs: 1st July 2009 SVN snapshot (r1416)
 Patches:
 ../portmixer/portaudio.patch	add features needed to make portmixer work.
 		Integration by upstream in progress. Will need updating as upstream
 		portaudio moves
 
+portaudio/libtool22.patch	Patch from Gentoo to ensure that static libraries
+are always built, not shared ones, otherwise the assumptions elsewhere in the
+build system break. Not suitable for upstream, what is needed is more
+powerfull autoconf features to pass the right options to portaudio's configure
+script, which suffers from the broken-ness of autoconf's subdirectory support
+
 portsmf
 -------
 http://portmedia.sourceforge.net/
@@ -175,8 +182,12 @@ portsmf-includes.patch	add include of <cstring> needed to compile with recent
 portsmf-string-const.patch	Add string const qualifiers as needed
 local-macros.patch		Add all the necessary 3rd party m4 macros into autotools
 						/m4/ and supporting changes.
+unsigned-const-casts.patch	Build fix for Solaris compiler, adds casts to
+						unsigned integer literals.
 AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds
 by default
+All patches have been added to upstream patch tracker at
+https://sourceforge.net/tracker2/?group_id=196750&atid=958711
 
 
 portburn
@@ -215,6 +226,11 @@ Misc fixes to configure.in/Makefile.am for autoconf macros and libtool. More
 files added to m4/ directory by libtoolizing commited to CVS.
 AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds
 by default
+dont-mangle-cflags.patch	patch to stop sed-ing the CXXFLAGS and achieve the
+same ends by better means, replacing a hacked version from Gentoo. Patch
+linked to from upstream tracker at
+https://sourceforge.net/tracker/index.php?func=detail&aid=2561247&group_id=177794&atid=882654
+because attachements there don't seem to work.
 
 slv2
 -------
@@ -243,6 +259,21 @@ Argument ([-Wall foreign]) added to AM_INIT_AUTOMAKE because autoreconf fails
 otherwise
 Upstream Version: 1.3.1
 
+taglib
+------
+http://developer.kde.org/~wheeler/taglib.html
+svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib
+Audio Meta-Data Library
+Version in audacity cvs: svn revision 924567 (post 1.5)
+Patches: none
+
+If replacing via svn, you need to do the following to generate the configure
+scripts (from within the base taglib directory):
+   sh admin/cvs.sh dist
+
+And remove the .svn directories (from within the base taglib direcotry):
+   find -d . -path \*/.svn\* -exec rm -rf \{\} \;
+
 twolame
 -------
 http://www.twolame.org/
@@ -280,7 +311,9 @@ run  find . -name '*.orig' -delete and  find . -name '*~' -delete. To remove
 find . -wholename '*/.svn/*' -delete and then find . -name '.svn' -delete
 
 * run autoreconf if we have modified configure.in or configure.ac
-* run libtoolize --copy --force to update ltmain.sh, config.sub, config.guess
+* If the package uses libtool, run libtoolize --copy --force to update 
+	ltmain.sh, config.sub, config.guess. If not, update config.sub,
+	config.guess from /usr/share/gnuconfig/
 
 By doing it this way we have already updated the mtime on all files, so we
 don't need to do a recusive touch.
diff --git a/lib-src/ffmpeg/libavcodec/avcodec.h b/lib-src/ffmpeg/libavcodec/avcodec.h
index dfd7264..8eb7c3c 100644
--- a/lib-src/ffmpeg/libavcodec/avcodec.h
+++ b/lib-src/ffmpeg/libavcodec/avcodec.h
@@ -22,15 +22,15 @@
 #define AVCODEC_AVCODEC_H
 
 /**
- * @file avcodec.h
+ * @file libavcodec/avcodec.h
  * external API header
  */
 
-
+#include <errno.h>
 #include "libavutil/avutil.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR  0
+#define LIBAVCODEC_VERSION_MINOR 32
 #define LIBAVCODEC_VERSION_MICRO  0
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
@@ -189,6 +189,15 @@ enum CodecID {
     CODEC_ID_CMV,
     CODEC_ID_MOTIONPIXELS,
     CODEC_ID_TGV,
+    CODEC_ID_TGQ,
+    CODEC_ID_TQI,
+    CODEC_ID_AURA,
+    CODEC_ID_AURA2,
+    CODEC_ID_V210X,
+    CODEC_ID_TMV,
+    CODEC_ID_V210,
+    CODEC_ID_DPX,
+    CODEC_ID_MAD,
 
     /* various PCM "codecs" */
     CODEC_ID_PCM_S16LE= 0x10000,
@@ -244,6 +253,7 @@ enum CodecID {
     CODEC_ID_ADPCM_IMA_EA_EACS,
     CODEC_ID_ADPCM_EA_XAS,
     CODEC_ID_ADPCM_EA_MAXIS_XA,
+    CODEC_ID_ADPCM_IMA_ISS,
 
     /* AMR */
     CODEC_ID_AMR_NB= 0x12000,
@@ -305,6 +315,10 @@ enum CodecID {
     CODEC_ID_ATRAC3P,
     CODEC_ID_EAC3,
     CODEC_ID_SIPR,
+    CODEC_ID_MP1,
+    CODEC_ID_TWINVQ,
+    CODEC_ID_TRUEHD,
+    CODEC_ID_MP4ALS,
 
     /* subtitle codecs */
     CODEC_ID_DVD_SUBTITLE= 0x17000,
@@ -346,6 +360,45 @@ enum SampleFormat {
     SAMPLE_FMT_NB               ///< Number of sample formats. DO NOT USE if dynamically linking to libavcodec
 };
 
+/* Audio channel masks */
+#define CH_FRONT_LEFT             0x00000001
+#define CH_FRONT_RIGHT            0x00000002
+#define CH_FRONT_CENTER           0x00000004
+#define CH_LOW_FREQUENCY          0x00000008
+#define CH_BACK_LEFT              0x00000010
+#define CH_BACK_RIGHT             0x00000020
+#define CH_FRONT_LEFT_OF_CENTER   0x00000040
+#define CH_FRONT_RIGHT_OF_CENTER  0x00000080
+#define CH_BACK_CENTER            0x00000100
+#define CH_SIDE_LEFT              0x00000200
+#define CH_SIDE_RIGHT             0x00000400
+#define CH_TOP_CENTER             0x00000800
+#define CH_TOP_FRONT_LEFT         0x00001000
+#define CH_TOP_FRONT_CENTER       0x00002000
+#define CH_TOP_FRONT_RIGHT        0x00004000
+#define CH_TOP_BACK_LEFT          0x00008000
+#define CH_TOP_BACK_CENTER        0x00010000
+#define CH_TOP_BACK_RIGHT         0x00020000
+#define CH_STEREO_LEFT            0x20000000  ///< Stereo downmix.
+#define CH_STEREO_RIGHT           0x40000000  ///< See CH_STEREO_LEFT.
+
+/* Audio channel convenience macros */
+#define CH_LAYOUT_MONO              (CH_FRONT_CENTER)
+#define CH_LAYOUT_STEREO            (CH_FRONT_LEFT|CH_FRONT_RIGHT)
+#define CH_LAYOUT_2_1               (CH_LAYOUT_STEREO|CH_BACK_CENTER)
+#define CH_LAYOUT_SURROUND          (CH_LAYOUT_STEREO|CH_FRONT_CENTER)
+#define CH_LAYOUT_4POINT0           (CH_LAYOUT_SURROUND|CH_BACK_CENTER)
+#define CH_LAYOUT_2_2               (CH_LAYOUT_STEREO|CH_SIDE_LEFT|CH_SIDE_RIGHT)
+#define CH_LAYOUT_QUAD              (CH_LAYOUT_STEREO|CH_BACK_LEFT|CH_BACK_RIGHT)
+#define CH_LAYOUT_5POINT0           (CH_LAYOUT_SURROUND|CH_SIDE_LEFT|CH_SIDE_RIGHT)
+#define CH_LAYOUT_5POINT1           (CH_LAYOUT_5POINT0|CH_LOW_FREQUENCY)
+#define CH_LAYOUT_5POINT0_BACK      (CH_LAYOUT_SURROUND|CH_BACK_LEFT|CH_BACK_RIGHT)
+#define CH_LAYOUT_5POINT1_BACK      (CH_LAYOUT_5POINT0_BACK|CH_LOW_FREQUENCY)
+#define CH_LAYOUT_7POINT1           (CH_LAYOUT_5POINT1|CH_BACK_LEFT|CH_BACK_RIGHT)
+#define CH_LAYOUT_7POINT1_WIDE      (CH_LAYOUT_5POINT1_BACK|\
+                                          CH_FRONT_LEFT_OF_CENTER|CH_FRONT_RIGHT_OF_CENTER)
+#define CH_LAYOUT_STEREO_DOWNMIX    (CH_STEREO_LEFT|CH_STEREO_RIGHT)
+
 /* in bytes */
 #define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
 
@@ -364,6 +417,7 @@ enum SampleFormat {
  */
 #define FF_MIN_BUFFER_SIZE 16384
 
+
 /**
  * motion estimation type.
  */
@@ -391,6 +445,59 @@ enum AVDiscard{
     AVDISCARD_ALL    = 48, ///< discard all
 };
 
+enum AVColorPrimaries{
+    AVCOL_PRI_BT709      =1, ///< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B
+    AVCOL_PRI_UNSPECIFIED=2,
+    AVCOL_PRI_BT470M     =4,
+    AVCOL_PRI_BT470BG    =5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
+    AVCOL_PRI_SMPTE170M  =6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
+    AVCOL_PRI_SMPTE240M  =7, ///< functionally identical to above
+    AVCOL_PRI_FILM       =8,
+    AVCOL_PRI_NB           , ///< Not part of ABI
+};
+
+enum AVColorTransferCharacteristic{
+    AVCOL_TRC_BT709      =1, ///< also ITU-R BT1361
+    AVCOL_TRC_UNSPECIFIED=2,
+    AVCOL_TRC_GAMMA22    =4, ///< also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
+    AVCOL_TRC_GAMMA28    =5, ///< also ITU-R BT470BG
+    AVCOL_TRC_NB           , ///< Not part of ABI
+};
+
+enum AVColorSpace{
+    AVCOL_SPC_RGB        =0,
+    AVCOL_SPC_BT709      =1, ///< also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B
+    AVCOL_SPC_UNSPECIFIED=2,
+    AVCOL_SPC_FCC        =4,
+    AVCOL_SPC_BT470BG    =5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
+    AVCOL_SPC_SMPTE170M  =6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above
+    AVCOL_SPC_SMPTE240M  =7,
+    AVCOL_SPC_NB           , ///< Not part of ABI
+};
+
+enum AVColorRange{
+    AVCOL_RANGE_UNSPECIFIED=0,
+    AVCOL_RANGE_MPEG       =1, ///< the normal 219*2^(n-8) "MPEG" YUV ranges
+    AVCOL_RANGE_JPEG       =2, ///< the normal     2^n-1   "JPEG" YUV ranges
+    AVCOL_RANGE_NB           , ///< Not part of ABI
+};
+
+/**
+ *  X   X      3 4 X      X are luma samples,
+ *             1 2        1-6 are possible chroma positions
+ *  X   X      5 6 X      0 is undefined/unknown position
+ */
+enum AVChromaLocation{
+    AVCHROMA_LOC_UNSPECIFIED=0,
+    AVCHROMA_LOC_LEFT       =1, ///< mpeg2/4, h264 default
+    AVCHROMA_LOC_CENTER     =2, ///< mpeg1, jpeg, h263
+    AVCHROMA_LOC_TOPLEFT    =3, ///< DV
+    AVCHROMA_LOC_TOP        =4,
+    AVCHROMA_LOC_BOTTOMLEFT =5,
+    AVCHROMA_LOC_BOTTOM     =6,
+    AVCHROMA_LOC_NB           , ///< Not part of ABI
+};
+
 typedef struct RcOverride{
     int start_frame;
     int end_frame;
@@ -490,6 +597,10 @@ typedef struct RcOverride{
  * This can be used to prevent truncation of the last audio samples.
  */
 #define CODEC_CAP_SMALL_LAST_FRAME 0x0040
+/**
+ * Codec can export data for HW decoding (VDPAU).
+ */
+#define CODEC_CAP_HWACCEL_VDPAU    0x0080
 
 //The following defines may change, don't expect compatibility if you use them.
 #define MB_TYPE_INTRA4x4   0x0001
@@ -614,6 +725,7 @@ typedef struct AVPanScan{
      * is this picture used as reference\
      * The values for this are the same as the MpegEncContext.picture_structure\
      * variable, that is 1->top field, 2->bottom field, 3->frame/both fields.\
+     * Set to 4 for delayed, non-reference frames.\
      * - encoding: unused\
      * - decoding: Set by libavcodec. (before get_buffer() call)).\
      */\
@@ -761,6 +873,13 @@ typedef struct AVPanScan{
      * - decoding: Read by user.\
      */\
     int64_t reordered_opaque;\
+\
+    /**\
+     * hardware accelerator private data (FFmpeg allocated)\
+     * - encoding: unused\
+     * - decoding: Set by libavcodec\
+     */\
+    void *hwaccel_picture_private;\
 
 
 #define FF_QSCALE_TYPE_MPEG1 0
@@ -786,6 +905,58 @@ typedef struct AVPanScan{
 #define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content.
 #define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update).
 
+typedef struct AVPacket {
+    /**
+     * Presentation timestamp in AVStream->time_base units; the time at which
+     * the decompressed packet will be presented to the user.
+     * Can be AV_NOPTS_VALUE if it is not stored in the file.
+     * pts MUST be larger or equal to dts as presentation cannot happen before
+     * decompression, unless one wants to view hex dumps. Some formats misuse
+     * the terms dts and pts/cts to mean something different. Such timestamps
+     * must be converted to true pts/dts before they are stored in AVPacket.
+     */
+    int64_t pts;
+    /**
+     * Decompression timestamp in AVStream->time_base units; the time at which
+     * the packet is decompressed.
+     * Can be AV_NOPTS_VALUE if it is not stored in the file.
+     */
+    int64_t dts;
+    uint8_t *data;
+    int   size;
+    int   stream_index;
+    int   flags;
+    /**
+     * Duration of this packet in AVStream->time_base units, 0 if unknown.
+     * Equals next_pts - this_pts in presentation order.
+     */
+    int   duration;
+    void  (*destruct)(struct AVPacket *);
+    void  *priv;
+    int64_t pos;                            ///< byte position in stream, -1 if unknown
+
+    /**
+     * Time difference in AVStream->time_base units from the pts of this
+     * packet to the point at which the output from the decoder has converged
+     * independent from the availability of previous frames. That is, the
+     * frames are virtually identical no matter if decoding started from
+     * the very first frame or from this keyframe.
+     * Is AV_NOPTS_VALUE if unknown.
+     * This field is not the display duration of the current packet.
+     *
+     * The purpose of this field is to allow seeking in streams that have no
+     * keyframes in the conventional sense. It corresponds to the
+     * recovery point SEI in H.264 and match_time_delta in NUT. It is also
+     * essential for some types of subtitle streams to ensure that all
+     * subtitles are correctly displayed after seeking.
+     */
+    int64_t convergence_duration;
+} AVPacket;
+#define AV_PKT_FLAG_KEY   0x0001
+#if LIBAVCODEC_VERSION_MAJOR < 53
+#define PKT_FLAG_KEY AV_PKT_FLAG_KEY
+#endif
+
 /**
  * Audio Video Frame.
  * New fields can be added to the end of FF_COMMON_FRAME with minor version
@@ -916,6 +1087,13 @@ typedef struct AVCodecContext {
      * decoder to draw a horizontal band. It improves cache usage. Not
      * all codecs can do that. You must check the codec capabilities
      * beforehand.
+     * The function is also used by hardware acceleration APIs.
+     * It is called at least once during frame decoding to pass
+     * the data needed for hardware render.
+     * In that mode instead of pixel data, AVFrame points to
+     * a structure specific to the acceleration API. The application
+     * reads the structure and can change some fields to indicate progress
+     * or mark state.
      * - encoding: unused
      * - decoding: Set by user.
      * @param height the height of the slice
@@ -936,7 +1114,7 @@ typedef struct AVCodecContext {
      * - encoding: Set by user.
      * - decoding: Set by libavcodec.
      */
-    enum SampleFormat sample_fmt;  ///< sample format, currently unused
+    enum SampleFormat sample_fmt;  ///< sample format
 
     /* The following data should not be initialized. */
     /**
@@ -944,7 +1122,9 @@ typedef struct AVCodecContext {
      */
     int frame_size;
     int frame_number;   ///< audio or video frame number
+#if LIBAVCODEC_VERSION_MAJOR < 53
     int real_pict_num;  ///< Returns the real picture number of previous encoded frame.
+#endif
 
     /**
      * Number of frames the decoded output will be delayed relative to
@@ -1153,6 +1333,9 @@ typedef struct AVCodecContext {
      * If pic.reference is set then the frame will be read later by libavcodec.
      * avcodec_align_dimensions() should be used to find the required width and
      * height, as they normally need to be rounded up to the next multiple of 16.
+     * if CODEC_CAP_DR1 is not set then get_buffer() must call
+     * avcodec_default_get_buffer() instead of providing buffers allocated by
+     * some other means.
      * - encoding: unused
      * - decoding: Set by libavcodec., user can override.
      */
@@ -1168,7 +1351,8 @@ typedef struct AVCodecContext {
     void (*release_buffer)(struct AVCodecContext *c, AVFrame *pic);
 
     /**
-     * If 1 the stream has a 1 frame delay during decoding.
+     * Size of the frame reordering buffer in the decoder.
+     * For MPEG-2 it is 1 IPB or 0 low delay IP.
      * - encoding: Set by libavcodec.
      * - decoding: Set by libavcodec.
      */
@@ -1353,6 +1537,9 @@ typedef struct AVCodecContext {
 #define FF_IDCT_SIMPLEVIS     18
 #define FF_IDCT_WMV2          19
 #define FF_IDCT_FAAN          20
+#define FF_IDCT_EA            21
+#define FF_IDCT_SIMPLENEON    22
+#define FF_IDCT_SIMPLEALPHA   23
 
     /**
      * slice count
@@ -1389,13 +1576,19 @@ typedef struct AVCodecContext {
     /* lower 16 bits - CPU features */
 #define FF_MM_MMX      0x0001 ///< standard MMX
 #define FF_MM_3DNOW    0x0004 ///< AMD 3DNOW
+#if LIBAVCODEC_VERSION_MAJOR < 53
 #define FF_MM_MMXEXT   0x0002 ///< SSE integer functions or AMD MMX ext
+#endif
+#define FF_MM_MMX2     0x0002 ///< SSE integer functions or AMD MMX ext
 #define FF_MM_SSE      0x0008 ///< SSE functions
 #define FF_MM_SSE2     0x0010 ///< PIV SSE2 functions
 #define FF_MM_3DNOWEXT 0x0020 ///< AMD 3DNowExt
 #define FF_MM_SSE3     0x0040 ///< Prescott SSE3 functions
 #define FF_MM_SSSE3    0x0080 ///< Conroe SSSE3 functions
+#define FF_MM_SSE4     0x0100 ///< Penryn SSE4.1 functions
+#define FF_MM_SSE42    0x0200 ///< Nehalem SSE4.2 functions
 #define FF_MM_IWMMXT   0x0100 ///< XScale IWMMXT
+#define FF_MM_ALTIVEC  0x0001 ///< standard AltiVec
 
     /**
      * bits per sample/pixel from the demuxer (needed for huffyuv).
@@ -1771,6 +1964,9 @@ typedef struct AVCodecContext {
      * libavcodec will pass previous buffer in pic, function should return
      * same buffer or new buffer with old frame "painted" into it.
      * If pic.data[0] == NULL must behave like get_buffer().
+     * if CODEC_CAP_DR1 is not set then reget_buffer() must call
+     * avcodec_default_reget_buffer() instead of providing buffers allocated by
+     * some other means.
      * - encoding: unused
      * - decoding: Set by libavcodec., user can override
      */
@@ -1838,7 +2034,7 @@ typedef struct AVCodecContext {
      * - encoding: Set by libavcodec, user can override.
      * - decoding: Set by libavcodec, user can override.
      */
-    int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void **arg2, int *ret, int count);
+    int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size);
 
     /**
      * thread opaque
@@ -2043,7 +2239,7 @@ typedef struct AVCodecContext {
     /**
      * number of reference frames
      * - encoding: Set by user.
-     * - decoding: unused
+     * - decoding: Set by lavc.
      */
     int refs;
 
@@ -2198,12 +2394,15 @@ typedef struct AVCodecContext {
      */
     int64_t timecode_frame_start;
 
+#if LIBAVCODEC_VERSION_MAJOR < 53
     /**
      * Decoder should decode to this many channels if it can (0 for default)
      * - encoding: unused
      * - decoding: Set by user.
+     * @deprecated Deprecated in favor of request_channel_layout.
      */
     int request_channels;
+#endif
 
     /**
      * Percentage of dynamic range compression to be applied by the decoder.
@@ -2228,6 +2427,97 @@ typedef struct AVCodecContext {
      * - decoding: set by libavcodec.
      */
     int bits_per_raw_sample;
+
+    /**
+     * Audio channel layout.
+     * - encoding: set by user.
+     * - decoding: set by libavcodec.
+     */
+    int64_t channel_layout;
+
+    /**
+     * Request decoder to use this channel layout if it can (0 for default)
+     * - encoding: unused
+     * - decoding: Set by user.
+     */
+    int64_t request_channel_layout;
+
+    /**
+     * Ratecontrol attempt to use, at maximum, <value> of what can be used without an underflow.
+     * - encoding: Set by user.
+     * - decoding: unused.
+     */
+    float rc_max_available_vbv_use;
+
+    /**
+     * Ratecontrol attempt to use, at least, <value> times the amount needed to prevent a vbv overflow.
+     * - encoding: Set by user.
+     * - decoding: unused.
+     */
+    float rc_min_vbv_overflow_use;
+
+    /**
+     * Hardware accelerator in use
+     * - encoding: unused.
+     * - decoding: Set by libavcodec
+     */
+    struct AVHWAccel *hwaccel;
+
+    /**
+     * For some codecs, the time base is closer to the field rate than the frame rate.
+     * Most notably, H.264 and MPEG-2 specify time_base as half of frame duration
+     * if no telecine is used ...
+     *
+     * Set to time_base ticks per frame. Default 1, e.g., H.264/MPEG-2 set it to 2.
+     */
+    int ticks_per_frame;
+
+    /**
+     * Hardware accelerator context.
+     * For some hardware accelerators, a global context needs to be
+     * provided by the user. In that case, this holds display-dependent
+     * data FFmpeg cannot instantiate itself. Please refer to the
+     * FFmpeg HW accelerator documentation to know how to fill this
+     * is. e.g. for VA API, this is a struct vaapi_context.
+     * - encoding: unused
+     * - decoding: Set by user
+     */
+    void *hwaccel_context;
+
+    /**
+     * Chromaticity coordinates of the source primaries.
+     * - encoding: Set by user
+     * - decoding: Set by libavcodec
+     */
+    enum AVColorPrimaries color_primaries;
+
+    /**
+     * Color Transfer Characteristic.
+     * - encoding: Set by user
+     * - decoding: Set by libavcodec
+     */
+    enum AVColorTransferCharacteristic color_trc;
+
+    /**
+     * YUV colorspace type.
+     * - encoding: Set by user
+     * - decoding: Set by libavcodec
+     */
+    enum AVColorSpace colorspace;
+
+    /**
+     * MPEG vs JPEG YUV range.
+     * - encoding: Set by user
+     * - decoding: Set by libavcodec
+     */
+    enum AVColorRange color_range;
+
+    /**
+     * This defines the location of chroma samples.
+     * - encoding: Set by user
+     * - decoding: Set by libavcodec
+     */
+     enum AVChromaLocation chroma_sample_location;
 } AVCodecContext;
 
 /**
@@ -2247,8 +2537,7 @@ typedef struct AVCodec {
     int (*init)(AVCodecContext *);
     int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data);
     int (*close)(AVCodecContext *);
-    int (*decode)(AVCodecContext *, void *outdata, int *outdata_size,
-                  const uint8_t *buf, int buf_size);
+    int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);
     /**
      * Codec capabilities.
      * see CODEC_CAP_*
@@ -2263,15 +2552,106 @@ typedef struct AVCodec {
     const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0}
     const enum PixelFormat *pix_fmts;       ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1
     /**
-     * Descriptive name for the codec, meant to be more human readable than \p name.
-     * You \e should use the NULL_IF_CONFIG_SMALL() macro to define it.
+     * Descriptive name for the codec, meant to be more human readable than name.
+     * You should use the NULL_IF_CONFIG_SMALL() macro to define it.
      */
     const char *long_name;
     const int *supported_samplerates;       ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0
     const enum SampleFormat *sample_fmts;   ///< array of supported sample formats, or NULL if unknown, array is terminated by -1
+    const int64_t *channel_layouts;         ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
 } AVCodec;
 
 /**
+ * AVHWAccel.
+ */
+typedef struct AVHWAccel {
+    /**
+     * Name of the hardware accelerated codec.
+     * The name is globally unique among encoders and among decoders (but an
+     * encoder and a decoder can share the same name).
+     */
+    const char *name;
+
+    /**
+     * Type of codec implemented by the hardware accelerator.
+     *
+     * See CODEC_TYPE_xxx
+     */
+    enum CodecType type;
+
+    /**
+     * Codec implemented by the hardware accelerator.
+     *
+     * See CODEC_ID_xxx
+     */
+    enum CodecID id;
+
+    /**
+     * Supported pixel format.
+     *
+     * Only hardware accelerated formats are supported here.
+     */
+    enum PixelFormat pix_fmt;
+
+    /**
+     * Hardware accelerated codec capabilities.
+     * see FF_HWACCEL_CODEC_CAP_*
+     */
+    int capabilities;
+
+    struct AVHWAccel *next;
+
+    /**
+     * Called at the beginning of each frame or field picture.
+     *
+     * Meaningful frame information (codec specific) is guaranteed to
+     * be parsed at this point. This function is mandatory.
+     *
+     * Note that buf can be NULL along with buf_size set to 0.
+     * Otherwise, this means the whole frame is available at this point.
+     *
+     * @param avctx the codec context
+     * @param buf the frame data buffer base
+     * @param buf_size the size of the frame in bytes
+     * @return zero if successful, a negative value otherwise
+     */
+    int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
+
+    /**
+     * Callback for each slice.
+     *
+     * Meaningful slice information (codec specific) is guaranteed to
+     * be parsed at this point. This function is mandatory.
+     *
+     * @param avctx the codec context
+     * @param buf the slice data buffer base
+     * @param buf_size the size of the slice in bytes
+     * @return zero if successful, a negative value otherwise
+     */
+    int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
+
+    /**
+     * Called at the end of each frame or field picture.
+     *
+     * The whole picture is parsed at this point and can now be sent
+     * to the hardware accelerator. This function is mandatory.
+     *
+     * @param avctx the codec context
+     * @return zero if successful, a negative value otherwise
+     */
+    int (*end_frame)(AVCodecContext *avctx);
+
+    /**
+     * Size of HW accelerator private data.
+     *
+     * Private data is allocated with av_mallocz() before
+     * AVCodecContext.get_buffer() and deallocated after
+     * AVCodecContext.release_buffer().
+     */
+    int priv_data_size;
+} AVHWAccel;
+
+/**
  * four components are given, that's all.
  * the last component is alpha
  */
@@ -2280,6 +2660,7 @@ typedef struct AVPicture {
     int linesize[4];       ///< number of bytes per line
 } AVPicture;
 
+#if LIBAVCODEC_VERSION_MAJOR < 53
 /**
  * AVPaletteControl
  * This structure defines a method for communicating palette changes
@@ -2303,26 +2684,108 @@ typedef struct AVPaletteControl {
     unsigned int palette[AVPALETTE_COUNT];
 
 } AVPaletteControl attribute_deprecated;
+#endif
+
+enum AVSubtitleType {
+    SUBTITLE_NONE,
+
+    SUBTITLE_BITMAP,                ///< A bitmap, pict will be set
+
+    /**
+     * Plain text, the text field must be set by the decoder and is
+     * authoritative. ass and pict fields may contain approximations.
+     */
+    SUBTITLE_TEXT,
+
+    /**
+     * Formatted text, the ass field must be set by the decoder and is
+     * authoritative. pict and text fields may contain approximations.
+     */
+    SUBTITLE_ASS,
+};
 
 typedef struct AVSubtitleRect {
-    uint16_t x;
-    uint16_t y;
-    uint16_t w;
-    uint16_t h;
-    uint16_t nb_colors;
-    int linesize;
-    uint32_t *rgba_palette;
-    uint8_t *bitmap;
+    int x;         ///< top left corner  of pict, undefined when pict is not set
+    int y;         ///< top left corner  of pict, undefined when pict is not set
+    int w;         ///< width            of pict, undefined when pict is not set
+    int h;         ///< height           of pict, undefined when pict is not set
+    int nb_colors; ///< number of colors in pict, undefined when pict is not set
+
+    /**
+     * data+linesize for the bitmap of this subtitle.
+     * can be set for text/ass as well once they where rendered
+     */
+    AVPicture pict;
+    enum AVSubtitleType type;
+
+    char *text;                     ///< 0 terminated plain UTF-8 text
+
+    /**
+     * 0 terminated ASS/SSA compatible event line.
+     * The pressentation of this is unaffected by the other values in this
+     * struct.
+     */
+    char *ass;
 } AVSubtitleRect;
 
 typedef struct AVSubtitle {
     uint16_t format; /* 0 = graphics */
     uint32_t start_display_time; /* relative to packet pts, in ms */
     uint32_t end_display_time; /* relative to packet pts, in ms */
-    uint32_t num_rects;
-    AVSubtitleRect *rects;
+    unsigned num_rects;
+    AVSubtitleRect **rects;
+    int64_t pts;    ///< Same as packet pts, in AV_TIME_BASE
 } AVSubtitle;
 
+/* packet functions */
+
+/**
+ * @deprecated use NULL instead
+ */
+attribute_deprecated void av_destruct_packet_nofree(AVPacket *pkt);
+
+/**
+ * Default packet destructor.
+ */
+void av_destruct_packet(AVPacket *pkt);
+
+/**
+ * Initialize optional fields of a packet with default values.
+ *
+ * @param pkt packet
+ */
+void av_init_packet(AVPacket *pkt);
+
+/**
+ * Allocate the payload of a packet and initialize its fields with
+ * default values.
+ *
+ * @param pkt packet
+ * @param size wanted payload size
+ * @return 0 if OK, AVERROR_xxx otherwise
+ */
+int av_new_packet(AVPacket *pkt, int size);
+
+/**
+ * Reduce packet size, correctly zeroing padding
+ *
+ * @param pkt packet
+ * @param size new size
+ */
+void av_shrink_packet(AVPacket *pkt, int size);
+
+/**
+ * @warning This is a hack - the packet memory allocation stuff is broken. The
+ * packet is allocated if it was not really allocated.
+ */
+int av_dup_packet(AVPacket *pkt);
+
+/**
+ * Free a packet.
+ *
+ * @param pkt packet to free
+ */
+void av_free_packet(AVPacket *pkt);
 
 /* resample.c */
 
@@ -2331,13 +2794,75 @@ struct AVResampleContext;
 
 typedef struct ReSampleContext ReSampleContext;
 
-ReSampleContext *audio_resample_init(int output_channels, int input_channels,
-                                     int output_rate, int input_rate);
+#if LIBAVCODEC_VERSION_MAJOR < 53
+/**
+ * @deprecated Use av_audio_resample_init() instead.
+ */
+attribute_deprecated ReSampleContext *audio_resample_init(int output_channels, int input_channels,
+                                                          int output_rate, int input_rate);
+#endif
+/**
+ *  Initializes audio resampling context
+ *
+ * @param output_channels  number of output channels
+ * @param input_channels   number of input channels
+ * @param output_rate      output sample rate
+ * @param input_rate       input sample rate
+ * @param sample_fmt_out   requested output sample format
+ * @param sample_fmt_in    input sample format
+ * @param filter_length    length of each FIR filter in the filterbank relative to the cutoff freq
+ * @param log2_phase_count log2 of the number of entries in the polyphase filterbank
+ * @param linear           If 1 then the used FIR filter will be linearly interpolated
+                           between the 2 closest, if 0 the closest will be used
+ * @param cutoff           cutoff frequency, 1.0 corresponds to half the output sampling rate
+ * @return allocated ReSampleContext, NULL if error occured
+ */
+ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,
+                                        int output_rate, int input_rate,
+                                        enum SampleFormat sample_fmt_out,
+                                        enum SampleFormat sample_fmt_in,
+                                        int filter_length, int log2_phase_count,
+                                        int linear, double cutoff);
+
 int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples);
 void audio_resample_close(ReSampleContext *s);
 
+
+/**
+ * Initializes an audio resampler.
+ * Note, if either rate is not an integer then simply scale both rates up so they are.
+ * @param filter_length length of each FIR filter in the filterbank relative to the cutoff freq
+ * @param log2_phase_count log2 of the number of entries in the polyphase filterbank
+ * @param linear If 1 then the used FIR filter will be linearly interpolated
+                 between the 2 closest, if 0 the closest will be used
+ * @param cutoff cutoff frequency, 1.0 corresponds to half the output sampling rate
+ */
 struct AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff);
+
+/**
+ * resamples.
+ * @param src an array of unconsumed samples
+ * @param consumed the number of samples of src which have been consumed are returned here
+ * @param src_size the number of unconsumed samples available
+ * @param dst_size the amount of space in samples available in dst
+ * @param update_ctx If this is 0 then the context will not be modified, that way several channels can be resampled with the same context.
+ * @return the number of samples written in dst or -1 if an error occurred
+ */
 int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx);
+
+
+/**
+ * Compensates samplerate/timestamp drift. The compensation is done by changing
+ * the resampler parameters, so no audible clicks or similar distortions occur
+ * @param compensation_distance distance in output samples over which the compensation should be performed
+ * @param sample_delta number of output samples which should be output less
+ *
+ * example: av_resample_compensate(c, 10, 500)
+ * here instead of 510 samples only 500 samples would be output
+ *
+ * note, due to rounding the actual compensation might be slightly different,
+ * especially if the compensation_distance is large and the in_rate used during init is small
+ */
 void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance);
 void av_resample_close(struct AVResampleContext *c);
 
@@ -2350,7 +2875,7 @@ void av_resample_close(struct AVResampleContext *c);
  * @param height the height of the picture
  * @return zero if successful, a negative value if not
  */
-int avpicture_alloc(AVPicture *picture, int pix_fmt, int width, int height);
+int avpicture_alloc(AVPicture *picture, enum PixelFormat pix_fmt, int width, int height);
 
 /**
  * Free a picture previously allocated by avpicture_alloc().
@@ -2367,6 +2892,7 @@ void avpicture_free(AVPicture *picture);
  * If a planar format is specified, several pointers will be set pointing to
  * the different picture planes and the line sizes of the different planes
  * will be stored in the lines_sizes array.
+ * Call with ptr == NULL to get the required size for the ptr buffer.
  *
  * @param picture AVPicture whose fields are to be filled in
  * @param ptr Buffer which will contain or contains the actual image data
@@ -2376,23 +2902,38 @@ void avpicture_free(AVPicture *picture);
  * @return size of the image data in bytes
  */
 int avpicture_fill(AVPicture *picture, uint8_t *ptr,
-                   int pix_fmt, int width, int height);
-int avpicture_layout(const AVPicture* src, int pix_fmt, int width, int height,
+                   enum PixelFormat pix_fmt, int width, int height);
+int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width, int height,
                      unsigned char *dest, int dest_size);
 
 /**
  * Calculate the size in bytes that a picture of the given width and height
  * would occupy if stored in the given picture format.
+ * Note that this returns the size of a compact representation as generated
+ * by avpicture_layout, which can be smaller than the size required for e.g.
+ * avpicture_fill.
  *
  * @param pix_fmt the given picture format
  * @param width the width of the image
  * @param height the height of the image
- * @return Image data size in bytes
+ * @return Image data size in bytes or -1 on error (e.g. too large dimensions).
  */
-int avpicture_get_size(int pix_fmt, int width, int height);
-void avcodec_get_chroma_sub_sample(int pix_fmt, int *h_shift, int *v_shift);
-const char *avcodec_get_pix_fmt_name(int pix_fmt);
+int avpicture_get_size(enum PixelFormat pix_fmt, int width, int height);
+void avcodec_get_chroma_sub_sample(enum PixelFormat pix_fmt, int *h_shift, int *v_shift);
+const char *avcodec_get_pix_fmt_name(enum PixelFormat pix_fmt);
 void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
+
+/**
+ * Returns the pixel format corresponding to the name name.
+ *
+ * If there is no pixel format with name name, then looks for a
+ * pixel format with the name corresponding to the native endian
+ * format of name.
+ * For example in a little-endian system, first looks for "gray16",
+ * then for "gray16le".
+ *
+ * Finally if no pixel format has been found, returns PIX_FMT_NONE.
+ */
 enum PixelFormat avcodec_get_pix_fmt(const char* name);
 unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p);
 
@@ -2420,7 +2961,7 @@ unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p);
  * @param[in] has_alpha Whether the source pixel format alpha channel is used.
  * @return Combination of flags informing you what kind of losses will occur.
  */
-int avcodec_get_pix_fmt_loss(int dst_pix_fmt, int src_pix_fmt,
+int avcodec_get_pix_fmt_loss(enum PixelFormat dst_pix_fmt, enum PixelFormat src_pix_fmt,
                              int has_alpha);
 
 /**
@@ -2431,7 +2972,7 @@ int avcodec_get_pix_fmt_loss(int dst_pix_fmt, int src_pix_fmt,
  * some formats to other formats. avcodec_find_best_pix_fmt() searches which of
  * the given pixel formats should be used to suffer the least amount of loss.
  * The pixel formats from which it chooses one, are determined by the
- * \p pix_fmt_mask parameter.
+ * pix_fmt_mask parameter.
  *
  * @code
  * src_pix_fmt = PIX_FMT_YUV420P;
@@ -2445,7 +2986,7 @@ int avcodec_get_pix_fmt_loss(int dst_pix_fmt, int src_pix_fmt,
  * @param[out] loss_ptr Combination of flags informing you what kind of losses will occur.
  * @return The best pixel format to convert to or -1 if none was found.
  */
-int avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, int src_pix_fmt,
+enum PixelFormat avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, enum PixelFormat src_pix_fmt,
                               int has_alpha, int *loss_ptr);
 
 
@@ -2459,7 +3000,7 @@ int avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, int src_pix_fmt,
  * a negative value to print the corresponding header.
  * Meaningful values for obtaining a pixel format info vary from 0 to PIX_FMT_NB -1.
  */
-void avcodec_pix_fmt_string (char *buf, int buf_size, int pix_fmt);
+void avcodec_pix_fmt_string (char *buf, int buf_size, enum PixelFormat pix_fmt);
 
 #define FF_ALPHA_TRANSP       0x0001 /* image has some totally transparent pixels */
 #define FF_ALPHA_SEMI_TRANSP  0x0002 /* image has some transparent pixels */
@@ -2469,15 +3010,20 @@ void avcodec_pix_fmt_string (char *buf, int buf_size, int pix_fmt);
  * @return ored mask of FF_ALPHA_xxx constants
  */
 int img_get_alpha_info(const AVPicture *src,
-                       int pix_fmt, int width, int height);
+                       enum PixelFormat pix_fmt, int width, int height);
 
 /* deinterlace a picture */
 /* deinterlace - if not supported return -1 */
 int avpicture_deinterlace(AVPicture *dst, const AVPicture *src,
-                          int pix_fmt, int width, int height);
+                          enum PixelFormat pix_fmt, int width, int height);
 
 /* external high level API */
 
+/**
+ * If c is NULL, returns the first registered codec,
+ * if c is non-NULL, returns the next registered codec after c,
+ * or NULL if c is the last one.
+ */
 AVCodec *av_codec_next(AVCodec *c);
 
 /**
@@ -2488,12 +3034,24 @@ unsigned avcodec_version(void);
 /**
  * Initializes libavcodec.
  *
- * @warning This function \e must be called before any other libavcodec
+ * @warning This function must be called before any other libavcodec
  * function.
  */
 void avcodec_init(void);
 
-void register_avcodec(AVCodec *format);
+#if LIBAVCODEC_VERSION_MAJOR < 53
+/**
+ * @deprecated Deprecated in favor of avcodec_register().
+ */
+attribute_deprecated void register_avcodec(AVCodec *codec);
+#endif
+
+/**
+ * Register the codec codec and initialize libavcodec.
+ *
+ * @see avcodec_init()
+ */
+void avcodec_register(AVCodec *codec);
 
 /**
  * Finds a registered encoder with a matching codec ID.
@@ -2586,8 +3144,8 @@ enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum
 
 int avcodec_thread_init(AVCodecContext *s, int thread_count);
 void avcodec_thread_free(AVCodecContext *s);
-int avcodec_thread_execute(AVCodecContext *s, int (*func)(AVCodecContext *c2, void *arg2),void **arg, int *ret, int count);
-int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void **arg, int *ret, int count);
+int avcodec_thread_execute(AVCodecContext *s, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);
+int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);
 //FIXME func typedef
 
 /**
@@ -2619,108 +3177,165 @@ int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, v
  */
 int avcodec_open(AVCodecContext *avctx, AVCodec *codec);
 
+#if LIBAVCODEC_VERSION_MAJOR < 53
+/**
+ * Decodes an audio frame from buf into samples.
+ * Wrapper function which calls avcodec_decode_audio3.
+ *
+ * @deprecated Use avcodec_decode_audio3 instead.
+ * @param avctx the codec context
+ * @param[out] samples the output buffer
+ * @param[in,out] frame_size_ptr the output buffer size in bytes
+ * @param[in] buf the input buffer
+ * @param[in] buf_size the input buffer size in bytes
+ * @return On error a negative value is returned, otherwise the number of bytes
+ * used or zero if no frame could be decompressed.
+ */
+attribute_deprecated int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
+                         int *frame_size_ptr,
+                         const uint8_t *buf, int buf_size);
+#endif
+
 /**
- * Decodes an audio frame from \p buf into \p samples.
- * The avcodec_decode_audio2() function decodes an audio frame from the input
- * buffer \p buf of size \p buf_size. To decode it, it makes use of the
- * audio codec which was coupled with \p avctx using avcodec_open(). The
- * resulting decoded frame is stored in output buffer \p samples.  If no frame
- * could be decompressed, \p frame_size_ptr is zero. Otherwise, it is the
- * decompressed frame size in \e bytes.
+ * Decodes the audio frame of size avpkt->size from avpkt->data into samples.
+ * Some decoders may support multiple frames in a single AVPacket, such
+ * decoders would then just decode the first frame.
+ * If no frame
+ * could be decompressed, frame_size_ptr is zero. Otherwise, it is the
+ * decompressed frame size in bytes.
  *
- * @warning You \e must set \p frame_size_ptr to the allocated size of the
- * output buffer before calling avcodec_decode_audio2().
+ * @warning You must set frame_size_ptr to the allocated size of the
+ * output buffer before calling avcodec_decode_audio3().
  *
- * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than
+ * @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than
  * the actual read bytes because some optimized bitstream readers read 32 or 64
  * bits at once and could read over the end.
  *
- * @warning The end of the input buffer \p buf should be set to 0 to ensure that
+ * @warning The end of the input buffer avpkt->data should be set to 0 to ensure that
  * no overreading happens for damaged MPEG streams.
  *
- * @note You might have to align the input buffer \p buf and output buffer \p
+ * @note You might have to align the input buffer avpkt->data and output buffer
  * samples. The alignment requirements depend on the CPU: On some CPUs it isn't
  * necessary at all, on others it won't work at all if not aligned and on others
- * it will work but it will have an impact on performance. In practice, the
- * bitstream should have 4 byte alignment at minimum and all sample data should
- * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If
- * the linesize is not a multiple of 16 then there's no sense in aligning the
- * start of the buffer to 16.
+ * it will work but it will have an impact on performance.
+ *
+ * In practice, avpkt->data should have 4 byte alignment at minimum and
+ * samples should be 16 byte aligned unless the CPU doesn't need it
+ * (AltiVec and SSE do).
  *
  * @param avctx the codec context
- * @param[out] samples the output buffer
+ * @param[out] samples the output buffer, sample type in avctx->sample_fmt
  * @param[in,out] frame_size_ptr the output buffer size in bytes
- * @param[in] buf the input buffer
- * @param[in] buf_size the input buffer size in bytes
+ * @param[in] avpkt The input AVPacket containing the input buffer.
+ *            You can create such packet with av_init_packet() and by then setting
+ *            data and size, some decoders might in addition need other fields.
+ *            All decoders are designed to use the least fields possible though.
  * @return On error a negative value is returned, otherwise the number of bytes
  * used or zero if no frame could be decompressed.
  */
-int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples,
+int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
                          int *frame_size_ptr,
+                         AVPacket *avpkt);
+
+#if LIBAVCODEC_VERSION_MAJOR < 53
+/**
+ * Decodes a video frame from buf into picture.
+ * Wrapper function which calls avcodec_decode_video2.
+ *
+ * @deprecated Use avcodec_decode_video2 instead.
+ * @param avctx the codec context
+ * @param[out] picture The AVFrame in which the decoded video frame will be stored.
+ * @param[in] buf the input buffer
+ * @param[in] buf_size the size of the input buffer in bytes
+ * @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero.
+ * @return On error a negative value is returned, otherwise the number of bytes
+ * used or zero if no frame could be decompressed.
+ */
+attribute_deprecated int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture,
+                         int *got_picture_ptr,
                          const uint8_t *buf, int buf_size);
+#endif
 
 /**
- * Decodes a video frame from \p buf into \p picture.
- * The avcodec_decode_video() function decodes a video frame from the input
- * buffer \p buf of size \p buf_size. To decode it, it makes use of the
- * video codec which was coupled with \p avctx using avcodec_open(). The
- * resulting decoded frame is stored in \p picture.
+ * Decodes the video frame of size avpkt->size from avpkt->data into picture.
+ * Some decoders may support multiple frames in a single AVPacket, such
+ * decoders would then just decode the first frame.
  *
- * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than
+ * @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than
  * the actual read bytes because some optimized bitstream readers read 32 or 64
  * bits at once and could read over the end.
  *
- * @warning The end of the input buffer \p buf should be set to 0 to ensure that
+ * @warning The end of the input buffer buf should be set to 0 to ensure that
  * no overreading happens for damaged MPEG streams.
  *
- * @note You might have to align the input buffer \p buf and output buffer \p
- * samples. The alignment requirements depend on the CPU: on some CPUs it isn't
+ * @note You might have to align the input buffer avpkt->data.
+ * The alignment requirements depend on the CPU: on some CPUs it isn't
  * necessary at all, on others it won't work at all if not aligned and on others
- * it will work but it will have an impact on performance. In practice, the
- * bitstream should have 4 byte alignment at minimum and all sample data should
- * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If
- * the linesize is not a multiple of 16 then there's no sense in aligning the
- * start of the buffer to 16.
+ * it will work but it will have an impact on performance.
+ *
+ * In practice, avpkt->data should have 4 byte alignment at minimum.
+ *
+ * @note Some codecs have a delay between input and output, these need to be
+ * feeded with avpkt->data=NULL, avpkt->size=0 at the end to return the remaining frames.
  *
  * @param avctx the codec context
  * @param[out] picture The AVFrame in which the decoded video frame will be stored.
- * @param[in] buf the input buffer
- * @param[in] buf_size the size of the input buffer in bytes
+ * @param[in] avpkt The input AVpacket containing the input buffer.
+ *            You can create such packet with av_init_packet() and by then setting
+ *            data and size, some decoders might in addition need other fields like
+ *            flags&PKT_FLAG_KEY. All decoders are designed to use the least
+ *            fields possible.
  * @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero.
  * @return On error a negative value is returned, otherwise the number of bytes
  * used or zero if no frame could be decompressed.
  */
-int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture,
+int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
                          int *got_picture_ptr,
-                         const uint8_t *buf, int buf_size);
+                         AVPacket *avpkt);
 
+#if LIBAVCODEC_VERSION_MAJOR < 53
 /* Decode a subtitle message. Return -1 if error, otherwise return the
  * number of bytes used. If no subtitle could be decompressed,
  * got_sub_ptr is zero. Otherwise, the subtitle is stored in *sub. */
-int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtitle *sub,
+attribute_deprecated int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtitle *sub,
                             int *got_sub_ptr,
                             const uint8_t *buf, int buf_size);
+#endif
+
+/**
+ * Decodes a subtitle message.
+ * Returns a negative value on error, otherwise returns the number of bytes used.
+ * If no subtitle could be decompressed, got_sub_ptr is zero.
+ * Otherwise, the subtitle is stored in *sub.
+ *
+ * @param avctx the codec context
+ * @param[out] sub The AVSubtitle in which the decoded subtitle will be stored.
+ * @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero.
+ * @param[in] avpkt The input AVPacket containing the input buffer.
+ */
+int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
+                            int *got_sub_ptr,
+                            AVPacket *avpkt);
 int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata,
                         int *data_size_ptr,
                         uint8_t *buf, int buf_size);
 
 /**
- * Encodes an audio frame from \p samples into \p buf.
- * The avcodec_encode_audio() function encodes an audio frame from the input
- * buffer \p samples. To encode it, it makes use of the audio codec which was
- * coupled with \p avctx using avcodec_open(). The resulting encoded frame is
- * stored in output buffer \p buf.
+ * Encodes an audio frame from samples into buf.
  *
- * @note The output buffer should be at least \c FF_MIN_BUFFER_SIZE bytes large.
+ * @note The output buffer should be at least FF_MIN_BUFFER_SIZE bytes large.
+ * However, for PCM audio the user will know how much space is needed
+ * because it depends on the value passed in buf_size as described
+ * below. In that case a lower value can be used.
  *
  * @param avctx the codec context
  * @param[out] buf the output buffer
  * @param[in] buf_size the output buffer size
  * @param[in] samples the input buffer containing the samples
  * The number of samples read from this buffer is frame_size*channels,
- * both of which are defined in \p avctx.
- * For PCM audio the number of samples read from \p samples is equal to
- * \p buf_size * input_sample_size / output_sample_size.
+ * both of which are defined in avctx.
+ * For PCM audio the number of samples read from samples is equal to
+ * buf_size * input_sample_size / output_sample_size.
  * @return On error a negative value is returned, on success zero or the number
  * of bytes used to encode the data read from the input buffer.
  */
@@ -2728,19 +3343,16 @@ int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size,
                          const short *samples);
 
 /**
- * Encodes a video frame from \p pict into \p buf.
- * The avcodec_encode_video() function encodes a video frame from the input
- * \p pict. To encode it, it makes use of the video codec which was coupled with
- * \p avctx using avcodec_open(). The resulting encoded bytes representing the
- * frame are stored in the output buffer \p buf. The input picture should be
- * stored using a specific format, namely \c avctx.pix_fmt.
+ * Encodes a video frame from pict into buf.
+ * The input picture should be
+ * stored using a specific format, namely avctx.pix_fmt.
  *
  * @param avctx the codec context
  * @param[out] buf the output buffer for the bitstream of encoded frame
  * @param[in] buf_size the size of the output buffer in bytes
  * @param[in] pict the input picture to encode
  * @return On error a negative value is returned, on success zero or the number
- * of bytes used from the input buffer.
+ * of bytes used from the output buffer.
  */
 int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size,
                          const AVFrame *pict);
@@ -2749,6 +3361,16 @@ int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
 
 int avcodec_close(AVCodecContext *avctx);
 
+/**
+ * Register all the codecs, parsers and bitstream filters which were enabled at
+ * configuration time. If you do not call this function you can select exactly
+ * which formats you want to support, by using the individual registration
+ * functions.
+ *
+ * @see avcodec_register
+ * @see av_register_codec_parser
+ * @see av_register_bitstream_filter
+ */
 void avcodec_register_all(void);
 
 /**
@@ -2761,7 +3383,7 @@ void avcodec_default_free_buffers(AVCodecContext *s);
 /* misc useful functions */
 
 /**
- * Returns a single letter to describe the given picture type \p pict_type.
+ * Returns a single letter to describe the given picture type pict_type.
  *
  * @param[in] pict_type the picture type
  * @return A single character representing the picture type.
@@ -2794,6 +3416,15 @@ typedef struct AVCodecParserContext {
     int64_t next_frame_offset; /* offset of the next frame */
     /* video info */
     int pict_type; /* XXX: Put it back in AVCodecContext. */
+    /**
+     * This field is used for proper frame duration computation in lavf.
+     * It signals, how much longer the frame duration of the current frame
+     * is compared to normal frame duration.
+     *
+     * frame_duration = (1 + repeat_pict) * time_base
+     *
+     * It is used by codecs like H.264 to display telecined material.
+     */
     int repeat_pict; /* XXX: Put it back in AVCodecContext. */
     int64_t pts;     /* pts of the current frame */
     int64_t dts;     /* dts of the current frame */
@@ -2814,6 +3445,89 @@ typedef struct AVCodecParserContext {
 
     int64_t offset;      ///< byte offset from starting packet start
     int64_t cur_frame_end[AV_PARSER_PTS_NB];
+
+    /*!
+     * Set by parser to 1 for key frames and 0 for non-key frames.
+     * It is initialized to -1, so if the parser doesn't set this flag,
+     * old-style fallback using FF_I_TYPE picture type as key frames
+     * will be used.
+     */
+    int key_frame;
+
+    /**
+     * Time difference in stream time base units from the pts of this
+     * packet to the point at which the output from the decoder has converged
+     * independent from the availability of previous frames. That is, the
+     * frames are virtually identical no matter if decoding started from
+     * the very first frame or from this keyframe.
+     * Is AV_NOPTS_VALUE if unknown.
+     * This field is not the display duration of the current frame.
+     *
+     * The purpose of this field is to allow seeking in streams that have no
+     * keyframes in the conventional sense. It corresponds to the
+     * recovery point SEI in H.264 and match_time_delta in NUT. It is also
+     * essential for some types of subtitle streams to ensure that all
+     * subtitles are correctly displayed after seeking.
+     */
+    int64_t convergence_duration;
+
+    // Timestamp generation support:
+    /**
+     * Synchronization point for start of timestamp generation.
+     *
+     * Set to >0 for sync point, 0 for no sync point and <0 for undefined
+     * (default).
+     *
+     * For example, this corresponds to presence of H.264 buffering period
+     * SEI message.
+     */
+    int dts_sync_point;
+
+    /**
+     * Offset of the current timestamp against last timestamp sync point in
+     * units of AVCodecContext.time_base.
+     *
+     * Set to INT_MIN when dts_sync_point unused. Otherwise, it must
+     * contain a valid timestamp offset.
+     *
+     * Note that the timestamp of sync point has usually a nonzero
+     * dts_ref_dts_delta, which refers to the previous sync point. Offset of
+     * the next frame after timestamp sync point will be usually 1.
+     *
+     * For example, this corresponds to H.264 cpb_removal_delay.
+     */
+    int dts_ref_dts_delta;
+
+    /**
+     * Presentation delay of current frame in units of AVCodecContext.time_base.
+     *
+     * Set to INT_MIN when dts_sync_point unused. Otherwise, it must
+     * contain valid non-negative timestamp delta (presentation time of a frame
+     * must not lie in the past).
+     *
+     * This delay represents the difference between decoding and presentation
+     * time of the frame.
+     *
+     * For example, this corresponds to H.264 dpb_output_delay.
+     */
+    int pts_dts_delta;
+
+    /**
+     * Position of the packet in file.
+     *
+     * Analogous to cur_frame_pts/dts
+     */
+    int64_t cur_frame_pos[AV_PARSER_PTS_NB];
+
+    /**
+     * Byte position of currently parsed frame in stream.
+     */
+    int64_t pos;
+
+    /**
+     * Previous frame byte position.
+     */
+    int64_t last_pos;
 } AVCodecParserContext;
 
 typedef struct AVCodecParser {
@@ -2833,11 +3547,51 @@ AVCodecParser *av_parser_next(AVCodecParser *c);
 
 void av_register_codec_parser(AVCodecParser *parser);
 AVCodecParserContext *av_parser_init(int codec_id);
+
+#if LIBAVCODEC_VERSION_MAJOR < 53
+attribute_deprecated
 int av_parser_parse(AVCodecParserContext *s,
                     AVCodecContext *avctx,
                     uint8_t **poutbuf, int *poutbuf_size,
                     const uint8_t *buf, int buf_size,
                     int64_t pts, int64_t dts);
+#endif
+
+/**
+ * Parse a packet.
+ *
+ * @param s             parser context.
+ * @param avctx         codec context.
+ * @param poutbuf       set to pointer to parsed buffer or NULL if not yet finished.
+ * @param poutbuf_size  set to size of parsed buffer or zero if not yet finished.
+ * @param buf           input buffer.
+ * @param buf_size      input length, to signal EOF, this should be 0 (so that the last frame can be output).
+ * @param pts           input presentation timestamp.
+ * @param dts           input decoding timestamp.
+ * @param pos           input byte position in stream.
+ * @return the number of bytes of the input bitstream used.
+ *
+ * Example:
+ * @code
+ *   while(in_len){
+ *       len = av_parser_parse2(myparser, AVCodecContext, &data, &size,
+ *                                        in_data, in_len,
+ *                                        pts, dts, pos);
+ *       in_data += len;
+ *       in_len  -= len;
+ *
+ *       if(size)
+ *          decode_frame(data, size);
+ *   }
+ * @endcode
+ */
+int av_parser_parse2(AVCodecParserContext *s,
+                     AVCodecContext *avctx,
+                     uint8_t **poutbuf, int *poutbuf_size,
+                     const uint8_t *buf, int buf_size,
+                     int64_t pts, int64_t dts,
+                     int64_t pos);
+
 int av_parser_change(AVCodecParserContext *s,
                      AVCodecContext *avctx,
                      uint8_t **poutbuf, int *poutbuf_size,
@@ -2885,27 +3639,41 @@ AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f);
 void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size);
 
 /**
+ * Allocates a buffer, reusing the given one if large enough.
+ *
+ * Contrary to av_fast_realloc the current buffer contents might not be
+ * preserved and on error the old buffer is freed, thus no special
+ * handling to avoid memleaks is necessary.
+ *
+ * @param ptr pointer to pointer to already allocated buffer, overwritten with pointer to new buffer
+ * @param size size of the buffer *ptr points to
+ * @param min_size minimum size of *ptr buffer after returning, *ptr will be NULL and
+ *                 *size 0 if an error occurred.
+ */
+void av_fast_malloc(void *ptr, unsigned int *size, unsigned int min_size);
+
+/**
  * Copy image 'src' to 'dst'.
  */
 void av_picture_copy(AVPicture *dst, const AVPicture *src,
-              int pix_fmt, int width, int height);
+                     enum PixelFormat pix_fmt, int width, int height);
 
 /**
  * Crop image top and left side.
  */
 int av_picture_crop(AVPicture *dst, const AVPicture *src,
-             int pix_fmt, int top_band, int left_band);
+                    enum PixelFormat pix_fmt, int top_band, int left_band);
 
 /**
  * Pad image.
  */
-int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, int pix_fmt,
+int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum PixelFormat pix_fmt,
             int padtop, int padbottom, int padleft, int padright, int *color);
 
-extern unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
+unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
 
 /**
- * Parses \p str and put in \p width_ptr and \p height_ptr the detected values.
+ * Parses str and put in width_ptr and height_ptr the detected values.
  *
  * @return 0 in case of a successful parsing, a negative value otherwise
  * @param[in] str the string to parse: it has to be a string in the format
@@ -2918,28 +3686,16 @@ extern unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
 int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str);
 
 /**
- * Parses \p str and put in \p frame_rate the detected values.
+ * Parses str and put in frame_rate the detected values.
  *
  * @return 0 in case of a successful parsing, a negative value otherwise
  * @param[in] str the string to parse: it has to be a string in the format
- * <frame_rate_nom>/<frame_rate_den>, a float number or a valid video rate abbreviation
+ * <frame_rate_num>/<frame_rate_den>, a float number or a valid video rate abbreviation
  * @param[in,out] frame_rate pointer to the AVRational which will contain the detected
  * frame rate
  */
 int av_parse_video_frame_rate(AVRational *frame_rate, const char *str);
 
-/**
- * Logs a generic warning message about a missing feature.
- * @param[in] avc a pointer to an arbitrary struct of which the first field is
- * a pointer to an AVClass struct
- * @param[in] feature string containing the name of the missing feature
- * @param[in] want_sample indicates if samples are wanted which exhibit this feature.
- * If \p want_sample is non-zero, additional verbage will be added to the log
- * message which tells the user how to report samples to the development
- * mailing list.
- */
-void av_log_missing_feature(void *avc, const char *feature, int want_sample);
-
 /* error handling */
 #if EINVAL > 0
 #define AVERROR(e) (-(e)) /**< Returns a negative error code from a POSIX error code, to return from library functions. */
@@ -2957,6 +3713,69 @@ void av_log_missing_feature(void *avc, const char *feature, int want_sample);
 #define AVERROR_NOFMT       AVERROR(EILSEQ)  /**< unknown format */
 #define AVERROR_NOTSUPP     AVERROR(ENOSYS)  /**< Operation not supported. */
 #define AVERROR_NOENT       AVERROR(ENOENT)  /**< No such file or directory. */
+#define AVERROR_EOF         AVERROR(EPIPE)   /**< End of file. */
 #define AVERROR_PATCHWELCOME    -MKTAG('P','A','W','E') /**< Not yet implemented in FFmpeg. Patches welcome. */
 
+/**
+ * Logs a generic warning message about a missing feature. This function is
+ * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.)
+ * only, and would normally not be used by applications.
+ * @param[in] avc a pointer to an arbitrary struct of which the first field is
+ * a pointer to an AVClass struct
+ * @param[in] feature string containing the name of the missing feature
+ * @param[in] want_sample indicates if samples are wanted which exhibit this feature.
+ * If want_sample is non-zero, additional verbage will be added to the log
+ * message which tells the user how to report samples to the development
+ * mailing list.
+ */
+void av_log_missing_feature(void *avc, const char *feature, int want_sample);
+
+/**
+ * Logs a generic warning message asking for a sample. This function is
+ * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.)
+ * only, and would normally not be used by applications.
+ * @param[in] avc a pointer to an arbitrary struct of which the first field is
+ * a pointer to an AVClass struct
+ * @param[in] msg string containing an optional message, or NULL if no message
+ */
+void av_log_ask_for_sample(void *avc, const char *msg);
+
+/**
+ * Registers the hardware accelerator hwaccel.
+ */
+void av_register_hwaccel(AVHWAccel *hwaccel);
+
+/**
+ * If hwaccel is NULL, returns the first registered hardware accelerator,
+ * if hwaccel is non-NULL, returns the next registered hardware accelerator
+ * after hwaccel, or NULL if hwaccel is the last one.
+ */
+AVHWAccel *av_hwaccel_next(AVHWAccel *hwaccel);
+
+
+/**
+ * Lock operation used by lockmgr
+ */
+enum AVLockOp {
+  AV_LOCK_CREATE,  ///< Create a mutex
+  AV_LOCK_OBTAIN,  ///< Lock the mutex
+  AV_LOCK_RELEASE, ///< Unlock the mutex
+  AV_LOCK_DESTROY, ///< Free mutex resources
+};
+
+/**
+ * Register a user provided lock manager supporting the operations
+ * specified by AVLockOp. mutex points to a (void *) where the
+ * lockmgr should store/get a pointer to a user allocated mutex. It's
+ * NULL upon AV_LOCK_CREATE and != NULL for all other ops.
+ *
+ * @param cb User defined callback. Note: FFmpeg may invoke calls to this
+ *           callback during the call to av_lockmgr_register().
+ *           Thus, the application must be prepared to handle that.
+ *           If cb is set to NULL the lockmgr will be unregistered.
+ *           Also note that during unregistration the previously registered
+ *           lockmgr callback may also be invoked.
+ */
+int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
+
 #endif /* AVCODEC_AVCODEC_H */
diff --git a/lib-src/ffmpeg/libavformat/avformat.h b/lib-src/ffmpeg/libavformat/avformat.h
index d8e0b0a..2185edc 100644
--- a/lib-src/ffmpeg/libavformat/avformat.h
+++ b/lib-src/ffmpeg/libavformat/avformat.h
@@ -22,8 +22,8 @@
 #define AVFORMAT_AVFORMAT_H
 
 #define LIBAVFORMAT_VERSION_MAJOR 52
-#define LIBAVFORMAT_VERSION_MINOR 22
-#define LIBAVFORMAT_VERSION_MICRO  1
+#define LIBAVFORMAT_VERSION_MINOR 36
+#define LIBAVFORMAT_VERSION_MICRO  0
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                LIBAVFORMAT_VERSION_MINOR, \
@@ -46,85 +46,78 @@ unsigned avformat_version(void);
 
 #include "avio.h"
 
-/* packet functions */
+struct AVFormatContext;
 
-typedef struct AVPacket {
-    /**
-     * Presentation timestamp in time_base units.
-     * This is the time at which the decompressed packet will be presented
-     * to the user.
-     * Can be AV_NOPTS_VALUE if it is not stored in the file.
-     * pts MUST be larger or equal to dts as presentation cannot happen before
-     * decompression, unless one wants to view hex dumps. Some formats misuse
-     * the terms dts and pts/cts to mean something different, these timestamps
-     * must be converted to true pts/dts before they are stored in AVPacket.
-     */
-    int64_t pts;
-    /**
-     * Decompression timestamp in time_base units.
-     * This is the time at which the packet is decompressed.
-     * Can be AV_NOPTS_VALUE if it is not stored in the file.
-     */
-    int64_t dts;
-    uint8_t *data;
-    int   size;
-    int   stream_index;
-    int   flags;
-    /**
-     * Duration of this packet in time_base units, 0 if unknown.
-     * Equals next_pts - this_pts in presentation order.
-     */
-    int   duration;
-    void  (*destruct)(struct AVPacket *);
-    void  *priv;
-    int64_t pos;                            ///< byte position in stream, -1 if unknown
 
-    /**
-     * Time difference in stream time base units from the pts of this
-     * packet to the point at which the output from the decoder has converged
-     * independent from the availability of previous frames. That is, the
-     * frames are virtually identical no matter if decoding started from
-     * the very first frame or from this keyframe.
-     * Is AV_NOPTS_VALUE if unknown.
-     * This field is not the display duration of the current packet.
-     *
-     * The purpose of this field is to allow seeking in streams that have no
-     * keyframes in the conventional sense. It corresponds to the
-     * recovery point SEI in H.264 and match_time_delta in NUT. It is also
-     * essential for some types of subtitle streams to ensure that all
-     * subtitles are correctly displayed after seeking.
-     */
-    int64_t convergence_duration;
-} AVPacket;
-#define PKT_FLAG_KEY   0x0001
+/*
+ * Public Metadata API.
+ * The metadata API allows libavformat to export metadata tags to a client
+ * application using a sequence of key/value pairs.
+ * Important concepts to keep in mind:
+ * 1. Keys are unique; there can never be 2 tags with the same key. This is
+ *    also meant semantically, i.e., a demuxer should not knowingly produce
+ *    several keys that are literally different but semantically identical.
+ *    E.g., key=Author5, key=Author6. In this example, all authors must be
+ *    placed in the same tag.
+ * 2. Metadata is flat, not hierarchical; there are no subtags. If you
+ *    want to store, e.g., the email address of the child of producer Alice
+ *    and actor Bob, that could have key=alice_and_bobs_childs_email_address.
+ * 3. A tag whose value is localized for a particular language is appended
+ *    with a dash character ('-') and the ISO 639-2/B 3-letter language code.
+ *    For example: Author-ger=Michael, Author-eng=Mike
+ *    The original/default language is in the unqualified "Author" tag.
+ *    A demuxer should set a default if it sets any translated tag.
+ */
 
-void av_destruct_packet_nofree(AVPacket *pkt);
+#define AV_METADATA_MATCH_CASE      1
+#define AV_METADATA_IGNORE_SUFFIX   2
+
+typedef struct {
+    char *key;
+    char *value;
+}AVMetadataTag;
+
+typedef struct AVMetadata AVMetadata;
+typedef struct AVMetadataConv AVMetadataConv;
 
 /**
- * Default packet destructor.
+ * Gets a metadata element with matching key.
+ * @param prev Set to the previous matching element to find the next.
+ * @param flags Allows case as well as suffix-insensitive comparisons.
+ * @return Found tag or NULL, changing key or value leads to undefined behavior.
  */
-void av_destruct_packet(AVPacket *pkt);
+AVMetadataTag *
+av_metadata_get(AVMetadata *m, const char *key, const AVMetadataTag *prev, int flags);
 
 /**
- * Initialize optional fields of a packet with default values.
- *
- * @param pkt packet
+ * Sets the given tag in m, overwriting an existing tag.
+ * @param key tag key to add to m (will be av_strduped)
+ * @param value tag value to add to m (will be av_strduped)
+ * @return >= 0 on success otherwise an error code <0
  */
-void av_init_packet(AVPacket *pkt);
+int av_metadata_set(AVMetadata **pm, const char *key, const char *value);
 
 /**
- * Allocate the payload of a packet and initialize its fields with
- * default values.
- *
- * @param pkt packet
- * @param size wanted payload size
- * @return 0 if OK, AVERROR_xxx otherwise
+ * Converts all the metadata sets from ctx according to the source and
+ * destination conversion tables.
+ * @param d_conv destination tags format conversion table
+ * @param s_conv source tags format conversion table
+ */
+void av_metadata_conv(struct AVFormatContext *ctx,const AVMetadataConv *d_conv,
+                                                  const AVMetadataConv *s_conv);
+
+/**
+ * Frees all the memory allocated for an AVMetadata struct.
  */
-int av_new_packet(AVPacket *pkt, int size);
+void av_metadata_free(AVMetadata **m);
+
+
+/* packet functions */
+
 
 /**
- * Allocate and read the payload of a packet and initialize its fields with
- * default values.
+ * Allocates and reads the payload of a packet and initializes its
+ * fields with default values.
  *
  * @param pkt packet
  * @param size desired payload size
@@ -132,23 +125,6 @@ int av_new_packet(AVPacket *pkt, int size);
  */
 int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size);
 
-/**
- * @warning This is a hack - the packet memory allocation stuff is broken. The
- * packet is allocated if it was not really allocated.
- */
-int av_dup_packet(AVPacket *pkt);
-
-/**
- * Free a packet.
- *
- * @param pkt packet to free
- */
-static inline void av_free_packet(AVPacket *pkt)
-{
-    if (pkt && pkt->destruct) {
-        pkt->destruct(pkt);
-    }
-}
 
 /*************************************************/
 /* fractional numbers for exact pts handling */
@@ -156,19 +132,16 @@ static inline void av_free_packet(AVPacket *pkt)
 /**
  * The exact value of the fractional number is: 'val + num / den'.
  * num is assumed to be 0 <= num < den.
- * @deprecated Use AVRational instead.
-*/
+ */
 typedef struct AVFrac {
     int64_t val, num, den;
-} AVFrac attribute_deprecated;
+} AVFrac;
 
 /*************************************************/
 /* input/output formats */
 
 struct AVCodecTag;
 
-struct AVFormatContext;
-
 /** This structure contains the data a format has to probe a file. */
 typedef struct AVProbeData {
     const char *filename;
@@ -176,7 +149,7 @@ typedef struct AVProbeData {
     int buf_size;
 } AVProbeData;
 
-#define AVPROBE_SCORE_MAX 100               ///< Maximum score, half of that is used for file-extension-based detection.
+#define AVPROBE_SCORE_MAX 100               ///< maximum score, half of that is used for file-extension-based detection
 #define AVPROBE_PADDING_SIZE 32             ///< extra allocated bytes at the end of the probe buffer
 
 typedef struct AVFormatParameters {
@@ -211,18 +184,19 @@ typedef struct AVFormatParameters {
 #define AVFMT_NOTIMESTAMPS  0x0080 /**< Format does not need / have any timestamps. */
 #define AVFMT_GENERIC_INDEX 0x0100 /**< Use generic index building code. */
 #define AVFMT_TS_DISCONT    0x0200 /**< Format allows timestamp discontinuities. */
+#define AVFMT_VARIABLE_FPS  0x0400 /**< Format allows variable fps. */
 
 typedef struct AVOutputFormat {
     const char *name;
     /**
      * Descriptive name for the format, meant to be more human-readable
-     * than \p name. You \e should use the NULL_IF_CONFIG_SMALL() macro
+     * than name. You should use the NULL_IF_CONFIG_SMALL() macro
      * to define it.
      */
     const char *long_name;
     const char *mime_type;
     const char *extensions; /**< comma-separated filename extensions */
-    /** Size of private data so that it can be allocated in the wrapper. */
+    /** size of private data so that it can be allocated in the wrapper */
     int priv_data_size;
     /* output support */
     enum CodecID audio_codec; /**< default audio codec */
@@ -239,12 +213,14 @@ typedef struct AVOutputFormat {
 
     /**
      * List of supported codec_id-codec_tag pairs, ordered by "better
-     * choice first". The arrays are all CODEC_ID_NONE terminated.
+     * choice first". The arrays are all terminated by CODEC_ID_NONE.
      */
     const struct AVCodecTag * const *codec_tag;
 
     enum CodecID subtitle_codec; /**< default subtitle codec */
 
+    const AVMetadataConv *metadata_conv;
+
     /* private fields */
     struct AVOutputFormat *next;
 } AVOutputFormat;
@@ -253,14 +229,14 @@ typedef struct AVInputFormat {
     const char *name;
     /**
      * Descriptive name for the format, meant to be more human-readable
-     * than \p name. You \e should use the NULL_IF_CONFIG_SMALL() macro
+     * than name. You should use the NULL_IF_CONFIG_SMALL() macro
      * to define it.
      */
     const char *long_name;
     /** Size of private data so that it can be allocated in the wrapper. */
     int priv_data_size;
     /**
-     * Tell if a given file has a chance of being parsed by this format.
+     * Tell if a given file has a chance of being parsed as this format.
      * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
      * big so you do not have to check for that unless you need more.
      */
@@ -273,21 +249,27 @@ typedef struct AVInputFormat {
                        AVFormatParameters *ap);
     /** Read one packet and put it in 'pkt'. pts and flags are also
        set. 'av_new_stream' can be called only if the flag
-       AVFMTCTX_NOHEADER is used. */
+       AVFMTCTX_NOHEADER is used.
+       @return 0 on success, < 0 on error.
+               When returning an error, pkt must not have been allocated
+               or must be freed before returning */
     int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);
     /** Close the stream. The AVFormatContext and AVStreams are not
        freed by this function */
     int (*read_close)(struct AVFormatContext *);
+
+#if LIBAVFORMAT_VERSION_MAJOR < 53
     /**
      * Seek to a given timestamp relative to the frames in
      * stream component stream_index.
-     * @param stream_index must not be -1
-     * @param flags selects which direction should be preferred if no exact
-     *              match is available
+     * @param stream_index Must not be -1.
+     * @param flags Selects which direction should be preferred if no exact
+     *              match is available.
      * @return >= 0 on success (but not necessarily the new offset)
      */
     int (*read_seek)(struct AVFormatContext *,
                      int stream_index, int64_t timestamp, int flags);
+#endif
     /**
      * Gets the next timestamp in stream[stream_index].time_base units.
      * @return the timestamp or AV_NOPTS_VALUE if an error occurred
@@ -303,16 +285,26 @@ typedef struct AVInputFormat {
     /** General purpose read-only value that the format can use. */
     int value;
 
-    /** Start/resume playing - only meaningful if using a network-based format
+    /** Starts/resumes playing - only meaningful if using a network-based format
        (RTSP). */
     int (*read_play)(struct AVFormatContext *);
 
-    /** Pause playing - only meaningful if using a network-based format
+    /** Pauses playing - only meaningful if using a network-based format
        (RTSP). */
     int (*read_pause)(struct AVFormatContext *);
 
     const struct AVCodecTag * const *codec_tag;
 
+    /**
+     * Seeks to timestamp ts.
+     * Seeking will be done so that the point from which all active streams
+     * can be presented successfully will be closest to ts and within min/max_ts.
+     * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
+     */
+    int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
+
+    const AVMetadataConv *metadata_conv;
+
     /* private fields */
     struct AVInputFormat *next;
 } AVInputFormat;
@@ -352,11 +344,11 @@ typedef struct AVStream {
     int id;       /**< format-specific stream ID */
     AVCodecContext *codec; /**< codec context */
     /**
-     * Real base frame rate of the stream.
-     * This is the lowest frame rate with which all timestamps can be
+     * Real base framerate of the stream.
+     * This is the lowest framerate with which all timestamps can be
      * represented accurately (it is the least common multiple of all
-     * frame rates in the stream). Note, this value is just a guess!
-     * For example if the time base is 1/90000 and all frames have either
+     * framerates in the stream). Note, this value is just a guess!
+     * For example, if the time base is 1/90000 and all frames have either
      * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
      */
     AVRational r_frame_rate;
@@ -370,7 +362,7 @@ typedef struct AVStream {
     /**
      * This is the fundamental unit of time (in seconds) in terms
      * of which frame timestamps are represented. For fixed-fps content,
-     * time base should be 1/frame rate and timestamp increments should be 1.
+     * time base should be 1/framerate and timestamp increments should be 1.
      */
     AVRational time_base;
     int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */
@@ -397,7 +389,9 @@ typedef struct AVStream {
      */
     int64_t duration;
 
-    char language[4]; /** ISO 639 3-letter language code (empty string if undefined) */
+#if LIBAVFORMAT_VERSION_INT < (53<<16)
+    char language[4]; /** ISO 639-2/B 3-letter language code (empty string if undefined) */
+#endif
 
     /* av_read_frame() support */
     enum AVStreamParseType need_parsing;
@@ -416,9 +410,9 @@ typedef struct AVStream {
 
 #if LIBAVFORMAT_VERSION_INT < (53<<16)
     int64_t unused[4+1];
-#endif
 
     char *filename; /**< source filename of the stream */
+#endif
 
     int disposition; /**< AV_DISPOSITION_* bit field */
 
@@ -432,6 +426,30 @@ typedef struct AVStream {
      * - decoding: Set by libavformat.
      */
     AVRational sample_aspect_ratio;
+
+    AVMetadata *metadata;
+
+    /* av_read_frame() support */
+    const uint8_t *cur_ptr;
+    int cur_len;
+    AVPacket cur_pkt;
+
+    // Timestamp generation support:
+    /**
+     * Timestamp corresponding to the last dts sync point.
+     *
+     * Initialized when AVCodecParserContext.dts_sync_point >= 0 and
+     * a DTS is received from the underlying container. Otherwise set to
+     * AV_NOPTS_VALUE by default.
+     */
+    int64_t reference_dts;
+
+    /**
+     * Number of packets to buffer for codec probing
+     * NOT PART OF PUBLIC API
+     */
+#define MAX_PROBE_PACKETS 100
+    int probe_packets;
 } AVStream;
 
 #define AV_PROGRAM_RUNNING 1
@@ -444,12 +462,15 @@ typedef struct AVStream {
  */
 typedef struct AVProgram {
     int            id;
+#if LIBAVFORMAT_VERSION_INT < (53<<16)
     char           *provider_name; ///< network name for DVB streams
     char           *name;          ///< service name for DVB streams
+#endif
     int            flags;
     enum AVDiscard discard;        ///< selects which program to discard and which to feed to the caller
     unsigned int   *stream_index;
     unsigned int   nb_stream_indexes;
+    AVMetadata *metadata;
 } AVProgram;
 
 #define AVFMTCTX_NOHEADER      0x0001 /**< signal that no header is present
@@ -459,7 +480,10 @@ typedef struct AVChapter {
     int id;                 ///< unique ID to identify the chapter
     AVRational time_base;   ///< time base in which the start/end timestamps are specified
     int64_t start, end;     ///< chapter start/end time in time_base units
+#if LIBAVFORMAT_VERSION_INT < (53<<16)
     char *title;            ///< chapter title
+#endif
+    AVMetadata *metadata;
 } AVChapter;
 
 #define MAX_STREAMS 20
@@ -472,7 +496,7 @@ typedef struct AVChapter {
  * sizeof(AVFormatContext) must not be used outside libav*.
  */
 typedef struct AVFormatContext {
-    const AVClass *av_class; /**< Set by av_alloc_format_context. */
+    const AVClass *av_class; /**< Set by avformat_alloc_context. */
     /* Can only be iformat or oformat, not both at the same time. */
     struct AVInputFormat *iformat;
     struct AVOutputFormat *oformat;
@@ -483,6 +507,7 @@ typedef struct AVFormatContext {
     char filename[1024]; /**< input or output filename */
     /* stream info */
     int64_t timestamp;
+#if LIBAVFORMAT_VERSION_INT < (53<<16)
     char title[512];
     char author[512];
     char copyright[512];
@@ -491,6 +516,7 @@ typedef struct AVFormatContext {
     int year;  /**< ID3 year, 0 if none */
     int track; /**< track number, 0 if none */
     char genre[32]; /**< ID3 genre */
+#endif
 
     int ctx_flags; /**< Format-specific flags, see AVFMTCTX_xx */
     /* private data for pts handling (do not modify directly). */
@@ -511,21 +537,23 @@ typedef struct AVFormatContext {
     int64_t file_size;
     /** Decoding: total stream bitrate in bit/s, 0 if not
        available. Never set it directly if the file_size and the
-       duration are known as ffmpeg can compute it automatically. */
+       duration are known as FFmpeg can compute it automatically. */
     int bit_rate;
 
     /* av_read_frame() support */
     AVStream *cur_st;
-    const uint8_t *cur_ptr;
-    int cur_len;
-    AVPacket cur_pkt;
+#if LIBAVFORMAT_VERSION_INT < (53<<16)
+    const uint8_t *cur_ptr_deprecated;
+    int cur_len_deprecated;
+    AVPacket cur_pkt_deprecated;
+#endif
 
     /* av_seek_frame() support */
     int64_t data_offset; /** offset of the first packet */
     int index_built;
 
     int mux_rate;
-    int packet_size;
+    unsigned int packet_size;
     int preload;
     int max_delay;
 
@@ -535,12 +563,12 @@ typedef struct AVFormatContext {
     int loop_output;
 
     int flags;
-#define AVFMT_FLAG_GENPTS       0x0001 ///< Generate pts if missing even if it requires parsing future frames.
+#define AVFMT_FLAG_GENPTS       0x0001 ///< Generate missing pts even if it requires parsing future frames.
 #define AVFMT_FLAG_IGNIDX       0x0002 ///< Ignore index.
 #define AVFMT_FLAG_NONBLOCK     0x0004 ///< Do not block when reading packets from input.
 
     int loop_input;
-    /** Decoding: size of data to probe; encoding: unused. */
+    /** decoding: size of data to probe; encoding: unused. */
     unsigned int probesize;
 
     /**
@@ -572,8 +600,8 @@ typedef struct AVFormatContext {
     enum CodecID subtitle_codec_id;
 
     /**
-     * Maximum amount of memory in bytes to use per stream for the index.
-     * If the needed index exceeds this size, entries will be discarded as
+     * Maximum amount of memory in bytes to use for the index of each stream.
+     * If the index exceeds this size, entries will be discarded as
      * needed to maintain a smaller size. This can lead to slower or less
      * accurate seeking (depends on demuxer).
      * Demuxers for which a full in-memory index is mandatory will ignore
@@ -608,6 +636,15 @@ typedef struct AVFormatContext {
     struct AVPacketList *raw_packet_buffer_end;
 
     struct AVPacketList *packet_buffer_end;
+
+    AVMetadata *metadata;
+
+    /**
+     * Remaining size available for raw_packet_buffer, in bytes.
+     * NOT PART OF PUBLIC API
+     */
+#define RAW_PACKET_BUFFER_SIZE 32000
+    int raw_packet_buffer_remaining_size;
 } AVFormatContext;
 
 typedef struct AVPacketList {
@@ -620,13 +657,24 @@ extern AVInputFormat *first_iformat;
 extern AVOutputFormat *first_oformat;
 #endif
 
+/**
+ * If f is NULL, returns the first registered input format,
+ * if f is non-NULL, returns the next registered input format after f
+ * or NULL if f is the last one.
+ */
 AVInputFormat  *av_iformat_next(AVInputFormat  *f);
+
+/**
+ * If f is NULL, returns the first registered output format,
+ * if f is non-NULL, returns the next registered output format after f
+ * or NULL if f is the last one.
+ */
 AVOutputFormat *av_oformat_next(AVOutputFormat *f);
 
 enum CodecID av_guess_image2_codec(const char *filename);
 
-/* XXX: use automatic init with either ELF sections or C file parser */
-/* modules */
+/* XXX: Use automatic init with either ELF sections or C file parser */
+/* modules. */
 
 /* utils.c */
 void av_register_input_format(AVInputFormat *format);
@@ -646,7 +694,7 @@ enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
                             enum CodecType type);
 
 /**
- * Send a nice hexadecimal dump of a buffer to the specified file stream.
+ * Sends a nice hexadecimal dump of a buffer to the specified file stream.
  *
  * @param f The file stream pointer where the dump should be sent to.
  * @param buf buffer
@@ -657,7 +705,7 @@ enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
 void av_hex_dump(FILE *f, uint8_t *buf, int size);
 
 /**
- * Send a nice hexadecimal dump of a buffer to the log.
+ * Sends a nice hexadecimal dump of a buffer to the log.
  *
  * @param avcl A pointer to an arbitrary struct of which the first field is a
  * pointer to an AVClass struct.
@@ -671,7 +719,7 @@ void av_hex_dump(FILE *f, uint8_t *buf, int size);
 void av_hex_dump_log(void *avcl, int level, uint8_t *buf, int size);
 
 /**
- * Send a nice dump of a packet to the specified file stream.
+ * Sends a nice dump of a packet to the specified file stream.
  *
  * @param f The file stream pointer where the dump should be sent to.
  * @param pkt packet to dump
@@ -680,7 +728,7 @@ void av_hex_dump_log(void *avcl, int level, uint8_t *buf, int size);
 void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload);
 
 /**
- * Send a nice dump of a packet to the log.
+ * Sends a nice dump of a packet to the log.
  *
  * @param avcl A pointer to an arbitrary struct of which the first field is a
  * pointer to an AVClass struct.
@@ -691,11 +739,20 @@ void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload);
  */
 void av_pkt_dump_log(void *avcl, int level, AVPacket *pkt, int dump_payload);
 
+/**
+ * Initializes libavformat and registers all the muxers, demuxers and
+ * protocols. If you do not call this function, then you can select
+ * exactly which formats you want to support.
+ *
+ * @see av_register_input_format()
+ * @see av_register_output_format()
+ * @see av_register_protocol()
+ */
 void av_register_all(void);
 
 /** codec tag <-> codec id */
-enum CodecID av_codec_get_id(const struct AVCodecTag **tags, unsigned int tag);
-unsigned int av_codec_get_tag(const struct AVCodecTag **tags, enum CodecID id);
+enum CodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned int tag);
+unsigned int av_codec_get_tag(const struct AVCodecTag * const *tags, enum CodecID id);
 
 /* media file input */
 
@@ -705,7 +762,7 @@ unsigned int av_codec_get_tag(const struct AVCodecTag **tags, enum CodecID id);
 AVInputFormat *av_find_input_format(const char *short_name);
 
 /**
- * Guess file format.
+ * Guesses the file format.
  *
  * @param is_opened Whether the file is already opened; determines whether
  *                  demuxers with or without AVFMT_NOFILE are probed.
@@ -721,7 +778,7 @@ int av_open_input_stream(AVFormatContext **ic_ptr,
                          AVInputFormat *fmt, AVFormatParameters *ap);
 
 /**
- * Open a media file as input. The codecs are not opened. Only the file
+ * Opens a media file as input. The codecs are not opened. Only the file
  * header (if present) is read.
  *
  * @param ic_ptr The opened media file handle is put here.
@@ -736,17 +793,25 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
                        AVInputFormat *fmt,
                        int buf_size,
                        AVFormatParameters *ap);
+
+#if LIBAVFORMAT_VERSION_MAJOR < 53
+/**
+ * @deprecated Use avformat_alloc_context() instead.
+ */
+attribute_deprecated AVFormatContext *av_alloc_format_context(void);
+#endif
+
 /**
- * Allocate an AVFormatContext.
+ * Allocates an AVFormatContext.
  * Can be freed with av_free() but do not forget to free everything you
  * explicitly allocated as well!
  */
-AVFormatContext *av_alloc_format_context(void);
+AVFormatContext *avformat_alloc_context(void);
 
 /**
- * Read packets of a media file to get stream information. This
+ * Reads packets of a media file to get stream information. This
  * is useful for file formats with no headers such as MPEG. This
- * function also computes the real frame rate in case of MPEG-2 repeat
+ * function also computes the real framerate in case of MPEG-2 repeat
  * frame mode.
  * The logical file position is not changed by this function;
  * examined packets may be buffered for later processing.
@@ -759,7 +824,7 @@ AVFormatContext *av_alloc_format_context(void);
 int av_find_stream_info(AVFormatContext *ic);
 
 /**
- * Read a transport packet from a media file.
+ * Reads a transport packet from a media file.
  *
  * This function is obsolete and should never be used.
  * Use av_read_frame() instead.
@@ -771,7 +836,7 @@ int av_find_stream_info(AVFormatContext *ic);
 int av_read_packet(AVFormatContext *s, AVPacket *pkt);
 
 /**
- * Return the next frame of a stream.
+ * Returns the next frame of a stream.
  *
  * The returned packet is valid
  * until the next av_read_frame() or until av_close_input_file() and
@@ -782,7 +847,7 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt);
  * then it contains one frame.
  *
  * pkt->pts, pkt->dts and pkt->duration are always set to correct
- * values in AVStream.timebase units (and guessed if the format cannot
+ * values in AVStream.time_base units (and guessed if the format cannot
  * provide them). pkt->pts can be AV_NOPTS_VALUE if the video format
  * has B-frames, so it is better to rely on pkt->dts if you do not
  * decompress the payload.
@@ -792,7 +857,7 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt);
 int av_read_frame(AVFormatContext *s, AVPacket *pkt);
 
 /**
- * Seek to the key frame at timestamp.
+ * Seeks to the keyframe at timestamp.
  * 'timestamp' in 'stream_index'.
  * @param stream_index If stream_index is (-1), a default
  * stream is selected, and timestamp is automatically converted
@@ -806,33 +871,61 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
                   int flags);
 
 /**
- * Start playing a network based stream (e.g. RTSP stream) at the
+ * Seeks to timestamp ts.
+ * Seeking will be done so that the point from which all active streams
+ * can be presented successfully will be closest to ts and within min/max_ts.
+ * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
+ *
+ * If flags contain AVSEEK_FLAG_BYTE, then all timestamps are in bytes and
+ * are the file position (this may not be supported by all demuxers).
+ * If flags contain AVSEEK_FLAG_FRAME, then all timestamps are in frames
+ * in the stream with stream_index (this may not be supported by all demuxers).
+ * Otherwise all timestamps are in units of the stream selected by stream_index
+ * or if stream_index is -1, in AV_TIME_BASE units.
+ * If flags contain AVSEEK_FLAG_ANY, then non-keyframes are treated as
+ * keyframes (this may not be supported by all demuxers).
+ *
+ * @param stream_index index of the stream which is used as time base reference
+ * @param min_ts smallest acceptable timestamp
+ * @param ts target timestamp
+ * @param max_ts largest acceptable timestamp
+ * @param flags flags
+ * @returns >=0 on success, error code otherwise
+ *
+ * @NOTE This is part of the new seek API which is still under construction.
+ *       Thus do not use this yet. It may change at any time, do not expect
+ *       ABI compatibility yet!
+ */
+int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
+
+/**
+ * Starts playing a network-based stream (e.g. RTSP stream) at the
  * current position.
  */
 int av_read_play(AVFormatContext *s);
 
 /**
- * Pause a network based stream (e.g. RTSP stream).
+ * Pauses a network-based stream (e.g. RTSP stream).
  *
  * Use av_read_play() to resume it.
  */
 int av_read_pause(AVFormatContext *s);
 
 /**
- * Free a AVFormatContext allocated by av_open_input_stream.
+ * Frees a AVFormatContext allocated by av_open_input_stream.
  * @param s context to free
  */
 void av_close_input_stream(AVFormatContext *s);
 
 /**
- * Close a media file (but not its codecs).
+ * Closes a media file (but not its codecs).
  *
  * @param s media file handle
  */
 void av_close_input_file(AVFormatContext *s);
 
 /**
- * Add a new stream to a media file.
+ * Adds a new stream to a media file.
  *
  * Can only be called in the read_header() function. If the flag
  * AVFMTCTX_NOHEADER is in the format context, then new streams
@@ -845,7 +938,7 @@ AVStream *av_new_stream(AVFormatContext *s, int id);
 AVProgram *av_new_program(AVFormatContext *s, int id);
 
 /**
- * Add a new chapter.
+ * Adds a new chapter.
  * This function is NOT part of the public API
  * and should ONLY be used by demuxers.
  *
@@ -861,7 +954,7 @@ AVChapter *ff_new_chapter(AVFormatContext *s, int id, AVRational time_base,
                           int64_t start, int64_t end, const char *title);
 
 /**
- * Set the pts for a given stream.
+ * Sets the pts for a given stream.
  *
  * @param s stream
  * @param pts_wrap_bits number of bits effectively used by the pts
@@ -870,7 +963,7 @@ AVChapter *ff_new_chapter(AVFormatContext *s, int id, AVRational time_base,
  * @param pts_den denominator to convert to seconds (MPEG: 90000)
  */
 void av_set_pts_info(AVStream *s, int pts_wrap_bits,
-                     int pts_num, int pts_den);
+                     unsigned int pts_num, unsigned int pts_den);
 
 #define AVSEEK_FLAG_BACKWARD 1 ///< seek backward
 #define AVSEEK_FLAG_BYTE     2 ///< seeking based on position in bytes
@@ -890,7 +983,7 @@ int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags);
 
 /**
  * Ensures the index uses less memory than the maximum specified in
- * AVFormatContext.max_index_size, by discarding entries if it grows
+ * AVFormatContext.max_index_size by discarding entries if it grows
  * too large.
  * This function is not part of the public API and should only be called
  * by demuxers.
@@ -898,7 +991,7 @@ int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags);
 void ff_reduce_index(AVFormatContext *s, int stream_index);
 
 /**
- * Add an index entry into a sorted list. Update the entry if the list
+ * Adds an index entry into a sorted list. Updates the entry if the list
  * already contains it.
  *
  * @param timestamp timestamp in the time base of the given stream
@@ -945,7 +1038,7 @@ int64_t av_gen_search(AVFormatContext *s, int stream_index,
 int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap);
 
 /**
- * Allocate the stream private data and write the stream header to an
+ * Allocates the stream private data and writes the stream header to an
  * output media file.
  *
  * @param s media file handle
@@ -954,7 +1047,7 @@ int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap);
 int av_write_header(AVFormatContext *s);
 
 /**
- * Write a packet to an output media file.
+ * Writes a packet to an output media file.
  *
  * The packet shall contain one audio or video frame.
  * The packet must be correctly interleaved according to the container
@@ -971,7 +1064,7 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt);
  * Writes a packet to an output media file ensuring correct interleaving.
  *
  * The packet must contain one audio or video frame.
- * If the packets are already correctly interleaved the application should
+ * If the packets are already correctly interleaved, the application should
  * call av_write_frame() instead as it is slightly faster. It is also important
  * to keep in mind that completely non-interleaved input will need huge amounts
  * of memory to interleave with this, so it is preferable to interleave at the
@@ -985,10 +1078,10 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt);
 int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt);
 
 /**
- * Interleave a packet per dts in an output media file.
+ * Interleaves a packet per dts in an output media file.
  *
  * Packets with pkt->destruct == av_destruct_packet will be freed inside this
- * function, so they cannot be used after it, note calling av_free_packet()
+ * function, so they cannot be used after it. Note that calling av_free_packet()
  * on them is still safe.
  *
  * @param s media file handle
@@ -1003,8 +1096,8 @@ int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
                                  AVPacket *pkt, int flush);
 
 /**
- * @brief Write the stream trailer to an output media file and
- *        free the file private data.
+ * Writes the stream trailer to an output media file and frees the
+ * file private data.
  *
  * May only be called after a successful call to av_write_header.
  *
@@ -1018,6 +1111,7 @@ void dump_format(AVFormatContext *ic,
                  const char *url,
                  int is_output);
 
+#if LIBAVFORMAT_VERSION_MAJOR < 53
 /**
  * Parses width and height out of string str.
  * @deprecated Use av_parse_video_frame_size instead.
@@ -1026,14 +1120,15 @@ attribute_deprecated int parse_image_size(int *width_ptr, int *height_ptr,
                                           const char *str);
 
 /**
- * Converts frame rate from string to a fraction.
+ * Converts framerate from a string to a fraction.
  * @deprecated Use av_parse_video_frame_rate instead.
  */
 attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base,
                                           const char *arg);
+#endif
 
 /**
- * Parses \p datestr and returns a corresponding number of microseconds.
+ * Parses datestr and returns a corresponding number of microseconds.
  * @param datestr String representing a date or a duration.
  * - If a date the syntax is:
  * @code
@@ -1044,7 +1139,7 @@ attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base,
  * If the year-month-day part is not specified it takes the current
  * year-month-day.
  * Returns the number of microseconds since 1st of January, 1970 up to
- * the time of the parsed date or INT64_MIN if \p datestr cannot be
+ * the time of the parsed date or INT64_MIN if datestr cannot be
  * successfully parsed.
  * - If a duration the syntax is:
  * @code
@@ -1052,10 +1147,10 @@ attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base,
  *  [-]S+[.m...]
  * @endcode
  * Returns the number of microseconds contained in a time interval
- * with the specified duration or INT64_MIN if \p datestr cannot be
+ * with the specified duration or INT64_MIN if datestr cannot be
  * successfully parsed.
- * @param duration Flag which tells how to interpret \p datestr, if
- * not zero \p datestr is interpreted as a duration, otherwise as a
+ * @param duration Flag which tells how to interpret datestr, if
+ * not zero datestr is interpreted as a duration, otherwise as a
  * date.
  */
 int64_t parse_date(const char *datestr, int duration);
@@ -1066,7 +1161,7 @@ int64_t av_gettime(void);
 /* ffm-specific for ffserver */
 #define FFM_PACKET_SIZE 4096
 int64_t ffm_read_write_index(int fd);
-void ffm_write_write_index(int fd, int64_t pos);
+int ffm_write_write_index(int fd, int64_t pos);
 void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size);
 
 /**
@@ -1078,7 +1173,7 @@ void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size);
 int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);
 
 /**
- * Returns in 'buf' the path with '%d' replaced by number.
+ * Returns in 'buf' the path with '%d' replaced by a number.
  *
  * Also handles the '%0nd' format where 'n' is the total number
  * of digits and '%%'.
@@ -1093,7 +1188,7 @@ int av_get_frame_filename(char *buf, int buf_size,
                           const char *path, int number);
 
 /**
- * Check whether filename actually is a numbered sequence generator.
+ * Checks whether filename actually is a numbered sequence generator.
  *
  * @param filename possible numbered sequence string
  * @return 1 if a valid numbered sequence string, 0 otherwise
@@ -1101,7 +1196,7 @@ int av_get_frame_filename(char *buf, int buf_size,
 int av_filename_number_test(const char *filename);
 
 /**
- * Generate an SDP for an RTP session.
+ * Generates an SDP for an RTP session.
  *
  * @param ac array of AVFormatContexts describing the RTP streams. If the
  *           array is composed by only one context, such context can contain
@@ -1118,7 +1213,7 @@ int avf_sdp_create(AVFormatContext *ac[], int n_files, char *buff, int size);
 
 #ifdef HAVE_AV_CONFIG_H
 
-void ff_dynarray_add(unsigned long **tab_ptr, int *nb_ptr, unsigned long elem);
+void ff_dynarray_add(intptr_t **tab_ptr, int *nb_ptr, intptr_t elem);
 
 #ifdef __GNUC__
 #define dynarray_add(tab, nb_ptr, elem)\
@@ -1126,12 +1221,12 @@ do {\
     __typeof__(tab) _tab = (tab);\
     __typeof__(elem) _elem = (elem);\
     (void)sizeof(**_tab == _elem); /* check that types are compatible */\
-    ff_dynarray_add((unsigned long **)_tab, nb_ptr, (unsigned long)_elem);\
+    ff_dynarray_add((intptr_t **)_tab, nb_ptr, (intptr_t)_elem);\
 } while(0)
 #else
 #define dynarray_add(tab, nb_ptr, elem)\
 do {\
-    ff_dynarray_add((unsigned long **)(tab), nb_ptr, (unsigned long)(elem));\
+    ff_dynarray_add((intptr_t **)(tab), nb_ptr, (intptr_t)(elem));\
 } while(0)
 #endif
 
@@ -1150,6 +1245,12 @@ void url_split(char *proto, int proto_size,
                char *path, int path_size,
                const char *url);
 
+/**
+ * Returns a positive value if the given filename has one of the given
+ * extensions, 0 otherwise.
+ *
+ * @param extensions a comma-separated list of filename extensions
+ */
 int match_ext(const char *filename, const char *extensions);
 
 #endif /* HAVE_AV_CONFIG_H */
diff --git a/lib-src/ffmpeg/libavformat/avio.h b/lib-src/ffmpeg/libavformat/avio.h
index 687333e..d44e300 100644
--- a/lib-src/ffmpeg/libavformat/avio.h
+++ b/lib-src/ffmpeg/libavformat/avio.h
@@ -1,5 +1,4 @@
 /*
- * unbuffered io for ffmpeg system
  * copyright (c) 2001 Fabrice Bellard
  *
  * This file is part of FFmpeg.
@@ -21,8 +20,18 @@
 #ifndef AVFORMAT_AVIO_H
 #define AVFORMAT_AVIO_H
 
+/**
+ * @file libavformat/avio.h
+ * unbuffered I/O operations
+ *
+ * @warning This file has to be considered an internal but installed
+ * header, so it should not be directly included in your projects.
+ */
+
 #include <stdint.h>
 
+#include "libavutil/common.h"
+
 /* unbuffered I/O */
 
 /**
@@ -32,7 +41,7 @@
  * version bump.
  * sizeof(URLContext) must not be used outside libav*.
  */
-struct URLContext {
+typedef struct URLContext {
 #if LIBAVFORMAT_VERSION_MAJOR >= 53
     const AVClass *av_class; ///< information for av_log(). Set by url_open().
 #endif
@@ -42,9 +51,7 @@ struct URLContext {
     int max_packet_size;  /**< if non zero, the stream is packetized with this max packet size */
     void *priv_data;
     char *filename; /**< specified filename */
-};
-
-typedef struct URLContext URLContext;
+} URLContext;
 
 typedef struct URLPollEntry {
     URLContext *handle;
@@ -62,6 +69,7 @@ int url_open_protocol (URLContext **puc, struct URLProtocol *up,
                        const char *filename, int flags);
 int url_open(URLContext **h, const char *filename, int flags);
 int url_read(URLContext *h, unsigned char *buf, int size);
+int url_read_complete(URLContext *h, unsigned char *buf, int size);
 int url_write(URLContext *h, unsigned char *buf, int size);
 int64_t url_seek(URLContext *h, int64_t pos, int whence);
 int url_close(URLContext *h);
@@ -69,6 +77,15 @@ int url_exist(const char *filename);
 int64_t url_filesize(URLContext *h);
 
 /**
+ * Return the file descriptor associated with this URL. For RTP, this
+ * will return only the RTP file descriptor, not the RTCP file descriptor.
+ * To get both, use rtp_get_file_handles().
+ *
+ * @return the file descriptor associated with this URL, or <0 on error.
+ */
+int url_get_file_handle(URLContext *h);
+
+/**
  * Return the maximum packet size associated to packetized file
  * handle. If the file is not packetized (stream like HTTP or file on
  * disk), then 0 is returned.
@@ -114,8 +131,8 @@ int av_url_read_pause(URLContext *h, int pause);
  * @return >= 0 on success
  * @see AVInputFormat::read_seek
  */
-int64_t av_url_read_seek(URLContext *h,
-                     int stream_index, int64_t timestamp, int flags);
+int64_t av_url_read_seek(URLContext *h, int stream_index,
+                         int64_t timestamp, int flags);
 
 /**
  * Passing this as the "whence" parameter to a seek function causes it to
@@ -133,16 +150,32 @@ typedef struct URLProtocol {
     int (*url_close)(URLContext *h);
     struct URLProtocol *next;
     int (*url_read_pause)(URLContext *h, int pause);
-    int64_t (*url_read_seek)(URLContext *h,
-                         int stream_index, int64_t timestamp, int flags);
+    int64_t (*url_read_seek)(URLContext *h, int stream_index,
+                             int64_t timestamp, int flags);
+    int (*url_get_file_handle)(URLContext *h);
 } URLProtocol;
 
+#if LIBAVFORMAT_VERSION_MAJOR < 53
 extern URLProtocol *first_protocol;
+#endif
+
 extern URLInterruptCB *url_interrupt_cb;
 
+/**
+ * If protocol is NULL, returns the first registered protocol,
+ * if protocol is non-NULL, returns the next registered protocol after protocol,
+ * or NULL if protocol is the last one.
+ */
 URLProtocol *av_protocol_next(URLProtocol *p);
 
-int register_protocol(URLProtocol *protocol);
+#if LIBAVFORMAT_VERSION_MAJOR < 53
+/**
+ * @deprecated Use av_register_protocol() instead.
+ */
+attribute_deprecated int register_protocol(URLProtocol *protocol);
+#endif
+
+int av_register_protocol(URLProtocol *protocol);
 
 /**
  * Bytestream IO Context.
@@ -170,8 +203,8 @@ typedef struct {
     unsigned long (*update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size);
     int error;         ///< contains the error code or 0 if no error happened
     int (*read_pause)(void *opaque, int pause);
-    int64_t (*read_seek)(void *opaque,
-                     int stream_index, int64_t timestamp, int flags);
+    int64_t (*read_seek)(void *opaque, int stream_index,
+                         int64_t timestamp, int flags);
 } ByteIOContext;
 
 int init_put_byte(ByteIOContext *s,
@@ -238,8 +271,8 @@ int url_feof(ByteIOContext *s);
 int url_ferror(ByteIOContext *s);
 
 int av_url_read_fpause(ByteIOContext *h, int pause);
-int64_t av_url_read_fseek(ByteIOContext *h,
-                      int stream_index, int64_t timestamp, int flags);
+int64_t av_url_read_fseek(ByteIOContext *h, int stream_index,
+                          int64_t timestamp, int flags);
 
 #define URL_EOF (-1)
 /** @note return URL_EOF (-1) if EOF */
@@ -253,7 +286,7 @@ int url_fprintf(ByteIOContext *s, const char *fmt, ...);
 #endif
 
 /** @note unlike fgets, the EOL character is not returned and a whole
-   line is parsed. return NULL if first char read was EOF */
+    line is parsed. return NULL if first char read was EOF */
 char *url_fgets(ByteIOContext *s, char *buf, int buf_size);
 
 void put_flush_packet(ByteIOContext *s);
@@ -274,7 +307,7 @@ int get_buffer(ByteIOContext *s, unsigned char *buf, int size);
 int get_partial_buffer(ByteIOContext *s, unsigned char *buf, int size);
 
 /** @note return 0 if EOF, so you cannot use it if EOF handling is
-   necessary */
+    necessary */
 int get_byte(ByteIOContext *s);
 unsigned int get_le24(ByteIOContext *s);
 unsigned int get_le32(ByteIOContext *s);
@@ -295,7 +328,7 @@ static inline int url_is_streamed(ByteIOContext *s)
 }
 
 /** @note when opened as read/write, the buffers are only used for
-   writing */
+    writing */
 int url_fdopen(ByteIOContext **s, URLContext *h);
 
 /** @warning must be called before any I/O */
@@ -307,7 +340,7 @@ int url_setbufsize(ByteIOContext *s, int buf_size);
 int url_resetbuf(ByteIOContext *s, int flags);
 
 /** @note when opened as read/write, the buffers are only used for
-   writing */
+    writing */
 int url_fopen(ByteIOContext **s, const char *filename, int flags);
 int url_fclose(ByteIOContext *s);
 URLContext *url_fileno(ByteIOContext *s);
@@ -355,13 +388,18 @@ int url_open_dyn_packet_buf(ByteIOContext **s, int max_packet_size);
  */
 int url_close_dyn_buf(ByteIOContext *s, uint8_t **pbuffer);
 
-unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, unsigned int len);
+unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf,
+                                    unsigned int len);
 unsigned long get_checksum(ByteIOContext *s);
-void init_checksum(ByteIOContext *s, unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len), unsigned long checksum);
+void init_checksum(ByteIOContext *s,
+                   unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len),
+                   unsigned long checksum);
 
 /* udp.c */
 int udp_set_remote_url(URLContext *h, const char *uri);
 int udp_get_local_port(URLContext *h);
+#if (LIBAVFORMAT_VERSION_MAJOR <= 52)
 int udp_get_file_handle(URLContext *h);
+#endif
 
 #endif /* AVFORMAT_AVIO_H */
diff --git a/lib-src/ffmpeg/libavutil/avutil.h b/lib-src/ffmpeg/libavutil/avutil.h
index 801eb51..fac1f5e 100644
--- a/lib-src/ffmpeg/libavutil/avutil.h
+++ b/lib-src/ffmpeg/libavutil/avutil.h
@@ -22,7 +22,7 @@
 #define AVUTIL_AVUTIL_H
 
 /**
- * @file avutil.h
+ * @file libavutil/avutil.h
  * external API header
  */
 
@@ -34,8 +34,8 @@
 #define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
 #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
 
-#define LIBAVUTIL_VERSION_MAJOR 49
-#define LIBAVUTIL_VERSION_MINOR 11
+#define LIBAVUTIL_VERSION_MAJOR 50
+#define LIBAVUTIL_VERSION_MINOR  3
 #define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -58,90 +58,6 @@ unsigned avutil_version(void);
 #include "rational.h"
 #include "intfloat_readwrite.h"
 #include "log.h"
-
-/**
- * Pixel format. Notes:
- *
- * PIX_FMT_RGB32 is handled in an endian-specific manner. A RGBA
- * color is put together as:
- *  (A << 24) | (R << 16) | (G << 8) | B
- * This is stored as BGRA on little endian CPU architectures and ARGB on
- * big endian CPUs.
- *
- * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized
- * image data is stored in AVFrame.data[0]. The palette is transported in
- * AVFrame.data[1] and, is 1024 bytes long (256 4-byte entries) and is
- * formatted the same as in PIX_FMT_RGB32 described above (i.e., it is
- * also endian-specific). Note also that the individual RGB palette
- * components stored in AVFrame.data[1] should be in the range 0..255.
- * This is important as many custom PAL8 video codecs that were designed
- * to run on the IBM VGA graphics adapter use 6-bit palette components.
- */
-enum PixelFormat {
-    PIX_FMT_NONE= -1,
-    PIX_FMT_YUV420P,   ///< Planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
-    PIX_FMT_YUYV422,   ///< Packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
-    PIX_FMT_RGB24,     ///< Packed RGB 8:8:8, 24bpp, RGBRGB...
-    PIX_FMT_BGR24,     ///< Packed RGB 8:8:8, 24bpp, BGRBGR...
-    PIX_FMT_YUV422P,   ///< Planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
-    PIX_FMT_YUV444P,   ///< Planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
-    PIX_FMT_RGB32,     ///< Packed RGB 8:8:8, 32bpp, (msb)8A 8R 8G 8B(lsb), in cpu endianness
-    PIX_FMT_YUV410P,   ///< Planar YUV 4:1:0,  9bpp, (1 Cr & Cb sample per 4x4 Y samples)
-    PIX_FMT_YUV411P,   ///< Planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
-    PIX_FMT_RGB565,    ///< Packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), in cpu endianness
-    PIX_FMT_RGB555,    ///< Packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), in cpu endianness most significant bit to 0
-    PIX_FMT_GRAY8,     ///<        Y        ,  8bpp
-    PIX_FMT_MONOWHITE, ///<        Y        ,  1bpp, 0 is white, 1 is black
-    PIX_FMT_MONOBLACK, ///<        Y        ,  1bpp, 0 is black, 1 is white
-    PIX_FMT_PAL8,      ///< 8 bit with PIX_FMT_RGB32 palette
-    PIX_FMT_YUVJ420P,  ///< Planar YUV 4:2:0, 12bpp, full scale (jpeg)
-    PIX_FMT_YUVJ422P,  ///< Planar YUV 4:2:2, 16bpp, full scale (jpeg)
-    PIX_FMT_YUVJ444P,  ///< Planar YUV 4:4:4, 24bpp, full scale (jpeg)
-    PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing(xvmc_render.h)
-    PIX_FMT_XVMC_MPEG2_IDCT,
-    PIX_FMT_UYVY422,   ///< Packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
-    PIX_FMT_UYYVYY411, ///< Packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
-    PIX_FMT_BGR32,     ///< Packed RGB 8:8:8, 32bpp, (msb)8A 8B 8G 8R(lsb), in cpu endianness
-    PIX_FMT_BGR565,    ///< Packed RGB 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), in cpu endianness
-    PIX_FMT_BGR555,    ///< Packed RGB 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), in cpu endianness most significant bit to 1
-    PIX_FMT_BGR8,      ///< Packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)
-    PIX_FMT_BGR4,      ///< Packed RGB 1:2:1,  4bpp, (msb)1B 2G 1R(lsb)
-    PIX_FMT_BGR4_BYTE, ///< Packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
-    PIX_FMT_RGB8,      ///< Packed RGB 3:3:2,  8bpp, (msb)2R 3G 3B(lsb)
-    PIX_FMT_RGB4,      ///< Packed RGB 1:2:1,  4bpp, (msb)1R 2G 1B(lsb)
-    PIX_FMT_RGB4_BYTE, ///< Packed RGB 1:2:1,  8bpp, (msb)1R 2G 1B(lsb)
-    PIX_FMT_NV12,      ///< Planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 for UV
-    PIX_FMT_NV21,      ///< as above, but U and V bytes are swapped
-
-    PIX_FMT_RGB32_1,   ///< Packed RGB 8:8:8, 32bpp, (msb)8R 8G 8B 8A(lsb), in cpu endianness
-    PIX_FMT_BGR32_1,   ///< Packed RGB 8:8:8, 32bpp, (msb)8B 8G 8R 8A(lsb), in cpu endianness
-
-    PIX_FMT_GRAY16BE,  ///<        Y        , 16bpp, big-endian
-    PIX_FMT_GRAY16LE,  ///<        Y        , 16bpp, little-endian
-    PIX_FMT_YUV440P,   ///< Planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
-    PIX_FMT_YUVJ440P,  ///< Planar YUV 4:4:0 full scale (jpeg)
-    PIX_FMT_YUVA420P,  ///< Planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
-    PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
-};
-
-#ifdef WORDS_BIGENDIAN
-#define PIX_FMT_RGBA PIX_FMT_RGB32_1
-#define PIX_FMT_BGRA PIX_FMT_BGR32_1
-#define PIX_FMT_ARGB PIX_FMT_RGB32
-#define PIX_FMT_ABGR PIX_FMT_BGR32
-#define PIX_FMT_GRAY16 PIX_FMT_GRAY16BE
-#else
-#define PIX_FMT_RGBA PIX_FMT_BGR32
-#define PIX_FMT_BGRA PIX_FMT_RGB32
-#define PIX_FMT_ARGB PIX_FMT_BGR32_1
-#define PIX_FMT_ABGR PIX_FMT_RGB32_1
-#define PIX_FMT_GRAY16 PIX_FMT_GRAY16LE
-#endif
-
-#if LIBAVUTIL_VERSION_INT < (50<<16)
-#define PIX_FMT_UYVY411 PIX_FMT_UYYVYY411
-#define PIX_FMT_RGBA32  PIX_FMT_RGB32
-#define PIX_FMT_YUV422  PIX_FMT_YUYV422
-#endif
+#include "pixfmt.h"
 
 #endif /* AVUTIL_AVUTIL_H */
diff --git a/lib-src/ffmpeg/libavutil/common.h b/lib-src/ffmpeg/libavutil/common.h
index 42fe951..5f47572 100644
--- a/lib-src/ffmpeg/libavutil/common.h
+++ b/lib-src/ffmpeg/libavutil/common.h
@@ -19,30 +19,30 @@
  */
 
 /**
- * @file common.h
+ * @file libavutil/common.h
  * common internal and external API header
  */
 
 #ifndef AVUTIL_COMMON_H
 #define AVUTIL_COMMON_H
 
+#include <ctype.h>
+#include <errno.h>
 #include <inttypes.h>
-
-#ifdef HAVE_AV_CONFIG_H
-/* only include the following when compiling package */
-#    include "config.h"
-
-#    include <stdlib.h>
-#    include <stdio.h>
-#    include <string.h>
-#    include <ctype.h>
-#    include <limits.h>
-#    include <errno.h>
-#    include <math.h>
-#endif /* HAVE_AV_CONFIG_H */
+#include <limits.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef __GNUC__
+#    define AV_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > x || __GNUC__ == x && __GNUC_MINOR__ >= y)
+#else
+#    define AV_GCC_VERSION_AT_LEAST(x,y) 0
+#endif
 
 #ifndef av_always_inline
-#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+#if AV_GCC_VERSION_AT_LEAST(3,1)
 #    define av_always_inline __attribute__((always_inline)) inline
 #else
 #    define av_always_inline inline
@@ -50,7 +50,7 @@
 #endif
 
 #ifndef av_noinline
-#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+#if AV_GCC_VERSION_AT_LEAST(3,1)
 #    define av_noinline __attribute__((noinline))
 #else
 #    define av_noinline
@@ -58,7 +58,7 @@
 #endif
 
 #ifndef av_pure
-#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+#if AV_GCC_VERSION_AT_LEAST(3,1)
 #    define av_pure __attribute__((pure))
 #else
 #    define av_pure
@@ -66,7 +66,7 @@
 #endif
 
 #ifndef av_const
-#if defined(__GNUC__) && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 5)
+#if AV_GCC_VERSION_AT_LEAST(2,6)
 #    define av_const __attribute__((const))
 #else
 #    define av_const
@@ -74,19 +74,23 @@
 #endif
 
 #ifndef av_cold
-#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 2)
+#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
 #    define av_cold __attribute__((cold))
 #else
 #    define av_cold
 #endif
 #endif
 
-#ifdef HAVE_AV_CONFIG_H
-#    include "internal.h"
-#endif /* HAVE_AV_CONFIG_H */
+#ifndef av_flatten
+#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,1)
+#    define av_flatten __attribute__((flatten))
+#else
+#    define av_flatten
+#endif
+#endif
 
 #ifndef attribute_deprecated
-#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+#if AV_GCC_VERSION_AT_LEAST(3,1)
 #    define attribute_deprecated __attribute__((deprecated))
 #else
 #    define attribute_deprecated
@@ -101,9 +105,15 @@
 #endif
 #endif
 
-#include "mem.h"
+#ifndef av_uninit
+#if defined(__GNUC__) && !defined(__ICC)
+#    define av_uninit(x) x=x
+#else
+#    define av_uninit(x) x
+#endif
+#endif
 
-//rounded divison & shift
+//rounded division & shift
 #define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
 /* assume b>0 */
 #define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b))
@@ -116,6 +126,8 @@
 #define FFMIN3(a,b,c) FFMIN(FFMIN(a,b),c)
 
 #define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0)
+#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
+#define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1))
 
 /* misc math functions */
 extern const uint8_t ff_log2_tab[256];
@@ -148,49 +160,8 @@ static inline av_const int av_log2_16bit(unsigned int v)
     return n;
 }
 
-/* median of 3 */
-static inline av_const int mid_pred(int a, int b, int c)
-{
-#ifdef HAVE_CMOV
-    int i=b;
-    asm volatile(
-        "cmp    %2, %1 \n\t"
-        "cmovg  %1, %0 \n\t"
-        "cmovg  %2, %1 \n\t"
-        "cmp    %3, %1 \n\t"
-        "cmovl  %3, %1 \n\t"
-        "cmp    %1, %0 \n\t"
-        "cmovg  %1, %0 \n\t"
-        :"+&r"(i), "+&r"(a)
-        :"r"(b), "r"(c)
-    );
-    return i;
-#elif 0
-    int t= (a-b)&((a-b)>>31);
-    a-=t;
-    b+=t;
-    b-= (b-c)&((b-c)>>31);
-    b+= (a-b)&((a-b)>>31);
-
-    return b;
-#else
-    if(a>b){
-        if(c>b){
-            if(c>a) b=a;
-            else    b=c;
-        }
-    }else{
-        if(b>c){
-            if(c>a) b=c;
-            else    b=a;
-        }
-    }
-    return b;
-#endif
-}
-
 /**
- * clip a signed integer value into the amin-amax range
+ * Clips a signed integer value into the amin-amax range.
  * @param a value to clip
  * @param amin minimum value of the clip range
  * @param amax maximum value of the clip range
@@ -204,7 +175,7 @@ static inline av_const int av_clip(int a, int amin, int amax)
 }
 
 /**
- * clip a signed integer value into the 0-255 range
+ * Clips a signed integer value into the 0-255 range.
  * @param a value to clip
  * @return clipped value
  */
@@ -215,7 +186,7 @@ static inline av_const uint8_t av_clip_uint8(int a)
 }
 
 /**
- * clip a signed integer value into the -32768,32767 range
+ * Clips a signed integer value into the -32768,32767 range.
  * @param a value to clip
  * @return clipped value
  */
@@ -226,7 +197,7 @@ static inline av_const int16_t av_clip_int16(int a)
 }
 
 /**
- * clip a float value into the amin-amax range
+ * Clips a float value into the amin-amax range.
  * @param a value to clip
  * @param amin minimum value of the clip range
  * @param amax maximum value of the clip range
@@ -239,26 +210,12 @@ static inline av_const float av_clipf(float a, float amin, float amax)
     else               return a;
 }
 
-/* math */
-int64_t av_const ff_gcd(int64_t a, int64_t b);
-
-/**
- * converts fourcc string to int
- */
-static inline av_pure int ff_get_fourcc(const char *s){
-#ifdef HAVE_AV_CONFIG_H
-    assert( strlen(s)==4 );
-#endif
-
-    return (s[0]) + (s[1]<<8) + (s[2]<<16) + (s[3]<<24);
-}
-
 #define MKTAG(a,b,c,d) (a | (b << 8) | (c << 16) | (d << 24))
 #define MKBETAG(a,b,c,d) (d | (c << 8) | (b << 16) | (a << 24))
 
 /*!
  * \def GET_UTF8(val, GET_BYTE, ERROR)
- * converts a UTF-8 character (up to 4 bytes long) to its 32-bit UCS-4 encoded form
+ * Converts a UTF-8 character (up to 4 bytes long) to its 32-bit UCS-4 encoded form
  * \param val is the output and should be of type uint32_t. It holds the converted
  * UCS-4 character and should be a left value.
  * \param GET_BYTE gets UTF-8 encoded bytes from any proper source. It can be
@@ -286,19 +243,19 @@ static inline av_pure int ff_get_fourcc(const char *s){
 
 /*!
  * \def PUT_UTF8(val, tmp, PUT_BYTE)
- * converts a 32-bit unicode character to its UTF-8 encoded form (up to 4 bytes long).
- * \param val is an input only argument and should be of type uint32_t. It holds
- * a ucs4 encoded unicode character that is to be converted to UTF-8. If
- * val is given as a function it's executed only once.
+ * Converts a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long).
+ * \param val is an input-only argument and should be of type uint32_t. It holds
+ * a UCS-4 encoded Unicode character that is to be converted to UTF-8. If
+ * val is given as a function it is executed only once.
  * \param tmp is a temporary variable and should be of type uint8_t. It
  * represents an intermediate value during conversion that is to be
- * outputted by PUT_BYTE.
+ * output by PUT_BYTE.
  * \param PUT_BYTE writes the converted UTF-8 bytes to any proper destination.
  * It could be a function or a statement, and uses tmp as the input byte.
  * For example, PUT_BYTE could be "*output++ = tmp;" PUT_BYTE will be
  * executed up to 4 times for values in the valid UTF-8 range and up to
  * 7 times in the general case, depending on the length of the converted
- * unicode character.
+ * Unicode character.
  */
 #define PUT_UTF8(val, tmp, PUT_BYTE)\
     {\
@@ -320,96 +277,11 @@ static inline av_pure int ff_get_fourcc(const char *s){
         }\
     }
 
-#if defined(ARCH_X86) || defined(ARCH_POWERPC) || defined(ARCH_BFIN)
-#define AV_READ_TIME read_time
-#if defined(ARCH_X86_64)
-static inline uint64_t read_time(void)
-{
-    uint64_t a, d;
-    asm volatile("rdtsc\n\t"
-                 : "=a" (a), "=d" (d));
-    return (d << 32) | (a & 0xffffffff);
-}
-#elif defined(ARCH_X86_32)
-static inline long long read_time(void)
-{
-    long long l;
-    asm volatile("rdtsc\n\t"
-                 : "=A" (l));
-    return l;
-}
-#elif ARCH_BFIN
-static inline uint64_t read_time(void)
-{
-    union {
-        struct {
-            unsigned lo;
-            unsigned hi;
-        } p;
-        unsigned long long c;
-    } t;
-    asm volatile ("%0=cycles; %1=cycles2;" : "=d" (t.p.lo), "=d" (t.p.hi));
-    return t.c;
-}
-#else //FIXME check ppc64
-static inline uint64_t read_time(void)
-{
-    uint32_t tbu, tbl, temp;
-
-     /* from section 2.2.1 of the 32-bit PowerPC PEM */
-     asm volatile(
-         "1:\n"
-         "mftbu  %2\n"
-         "mftb   %0\n"
-         "mftbu  %1\n"
-         "cmpw   %2,%1\n"
-         "bne    1b\n"
-     : "=r"(tbl), "=r"(tbu), "=r"(temp)
-     :
-     : "cc");
-
-     return (((uint64_t)tbu)<<32) | (uint64_t)tbl;
-}
-#endif
-#elif defined(HAVE_GETHRTIME)
-#define AV_READ_TIME gethrtime
-#endif
-
-#ifdef AV_READ_TIME
-#define START_TIMER \
-uint64_t tend;\
-uint64_t tstart= AV_READ_TIME();\
-
-#define STOP_TIMER(id) \
-tend= AV_READ_TIME();\
-{\
-    static uint64_t tsum=0;\
-    static int tcount=0;\
-    static int tskip_count=0;\
-    if(tcount<2 || tend - tstart < FFMAX(8*tsum/tcount, 2000)){\
-        tsum+= tend - tstart;\
-        tcount++;\
-    }else\
-        tskip_count++;\
-    if(((tcount+tskip_count)&(tcount+tskip_count-1))==0){\
-        av_log(NULL, AV_LOG_ERROR, "%"PRIu64" dezicycles in %s, %d runs, %d skips\n",\
-               tsum*10/tcount, id, tcount, tskip_count);\
-    }\
-}
-#else
-#define START_TIMER
-#define STOP_TIMER(id) {}
-#endif
+#include "mem.h"
 
-/**
- * Returns NULL if CONFIG_SMALL is defined otherwise the argument
- * without modifications, used to disable the definition of strings
- * (for example AVCodec long_names).
- */
-#ifdef CONFIG_SMALL
-#   define NULL_IF_CONFIG_SMALL(x) NULL
-#else
-#   define NULL_IF_CONFIG_SMALL(x) x
-#endif
+#ifdef HAVE_AV_CONFIG_H
+#    include "config.h"
+#    include "internal.h"
+#endif /* HAVE_AV_CONFIG_H */
 
 #endif /* AVUTIL_COMMON_H */
diff --git a/lib-src/ffmpeg/libavutil/fifo.h b/lib-src/ffmpeg/libavutil/fifo.h
index 37338ca..a904dfd 100644
--- a/lib-src/ffmpeg/libavutil/fifo.h
+++ b/lib-src/ffmpeg/libavutil/fifo.h
@@ -17,28 +17,29 @@
  */
 
 /**
- * @file fifo.h
- * A very simple circular buffer FIFO implementation.
+ * @file libavutil/fifo.h
+ * a very simple circular buffer FIFO implementation
  */
 
 #ifndef AVUTIL_FIFO_H
 #define AVUTIL_FIFO_H
 
 #include <stdint.h>
+#include "avutil.h"
 #include "common.h"
 
 typedef struct AVFifoBuffer {
     uint8_t *buffer;
     uint8_t *rptr, *wptr, *end;
+    uint32_t rndx, wndx;
 } AVFifoBuffer;
 
 /**
  * Initializes an AVFifoBuffer.
- * @param *f AVFifoBuffer to initialize
  * @param size of FIFO
- * @return <0 for failure >=0 otherwise
+ * @return AVFifoBuffer or NULL if mem allocation failure
  */
-int av_fifo_init(AVFifoBuffer *f, unsigned int size);
+AVFifoBuffer *av_fifo_alloc(unsigned int size);
 
 /**
  * Frees an AVFifoBuffer.
@@ -47,6 +48,12 @@ int av_fifo_init(AVFifoBuffer *f, unsigned int size);
 void av_fifo_free(AVFifoBuffer *f);
 
 /**
+ * Resets the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
+ * @param *f AVFifoBuffer to reset
+ */
+void av_fifo_reset(AVFifoBuffer *f);
+
+/**
  * Returns the amount of data in bytes in the AVFifoBuffer, that is the
  * amount of data you can read from it.
  * @param *f AVFifoBuffer to read from
@@ -55,59 +62,41 @@ void av_fifo_free(AVFifoBuffer *f);
 int av_fifo_size(AVFifoBuffer *f);
 
 /**
- * Reads data from an AVFifoBuffer.
- * @param *f AVFifoBuffer to read from
- * @param *buf data destination
- * @param buf_size number of bytes to read
+ * Returns the amount of space in bytes in the AVFifoBuffer, that is the
+ * amount of data you can write into it.
+ * @param *f AVFifoBuffer to write into
+ * @return size
  */
-int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size);
+int av_fifo_space(AVFifoBuffer *f);
 
 /**
- * Feeds data from an AVFifoBuffer to a user supplied callback.
+ * Feeds data from an AVFifoBuffer to a user-supplied callback.
  * @param *f AVFifoBuffer to read from
  * @param buf_size number of bytes to read
  * @param *func generic read function
  * @param *dest data destination
  */
-int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest);
-
-/**
- * Writes data into an AVFifoBuffer.
- * @param *f AVFifoBuffer to write to
- * @param *buf data source
- * @param size data size
- */
-attribute_deprecated void av_fifo_write(AVFifoBuffer *f, const uint8_t *buf, int size);
+int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int));
 
 /**
- * Feeds data from a user supplied callback to an AVFifoBuffer.
+ * Feeds data from a user-supplied callback to an AVFifoBuffer.
  * @param *f AVFifoBuffer to write to
  * @param *src data source
  * @param size number of bytes to write
- * @param *func generic write function. First parameter is src,
- * second is dest_buf, third is dest_buf_size.
+ * @param *func generic write function; the first parameter is src,
+ * the second is dest_buf, the third is dest_buf_size.
  * func must return the number of bytes written to dest_buf, or <= 0 to
  * indicate no more data available to write.
  * If func is NULL, src is interpreted as a simple byte array for source data.
- * @return the number of bytes written to the fifo.
+ * @return the number of bytes written to the FIFO
  */
 int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int));
 
-#if LIBAVUTIL_VERSION_MAJOR < 50
-/**
- * Resizes an AVFifoBuffer.
- * @param *f AVFifoBuffer to resize
- * @param size new AVFifoBuffer size in bytes
- * @see av_fifo_realloc2()
- */
-attribute_deprecated void av_fifo_realloc(AVFifoBuffer *f, unsigned int size);
-#endif
-
 /**
  * Resizes an AVFifoBuffer.
  * @param *f AVFifoBuffer to resize
  * @param size new AVFifoBuffer size in bytes
- * @return <0 for failure >=0 otherwise
+ * @return <0 for failure, >=0 otherwise
  */
 int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
 
diff --git a/lib-src/ffmpeg/libavutil/log.h b/lib-src/ffmpeg/libavutil/log.h
index 152e773..6a7a279 100644
--- a/lib-src/ffmpeg/libavutil/log.h
+++ b/lib-src/ffmpeg/libavutil/log.h
@@ -22,9 +22,10 @@
 #define AVUTIL_LOG_H
 
 #include <stdarg.h>
+#include "avutil.h"
 
 /**
- * Describes the class of an AVClass context structure, that is an
+ * Describes the class of an AVClass context structure. That is an
  * arbitrary struct of which the first field is a pointer to an
  * AVClass struct (e.g. AVCodecContext, AVFormatContext etc.).
  */
@@ -37,8 +38,8 @@ struct AVCLASS {
     const char* class_name;
 
     /**
-     * a pointer to a function which returns the name of a context
-     * instance \p ctx associated with the class
+     * A pointer to a function which returns the name of a context
+     * instance ctx associated with the class.
      */
     const char* (*item_name)(void* ctx);
 
@@ -52,38 +53,29 @@ struct AVCLASS {
 
 /* av_log API */
 
-#if LIBAVUTIL_VERSION_INT < (50<<16)
-#define AV_LOG_QUIET -1
-#define AV_LOG_FATAL 0
-#define AV_LOG_ERROR 0
-#define AV_LOG_WARNING 1
-#define AV_LOG_INFO 1
-#define AV_LOG_VERBOSE 1
-#define AV_LOG_DEBUG 2
-#else
 #define AV_LOG_QUIET    -8
 
 /**
- * something went really wrong and we will crash now
+ * Something went really wrong and we will crash now.
  */
 #define AV_LOG_PANIC     0
 
 /**
- * something went wrong and recovery is not possible
- * like no header in a format which depends on it or a combination
- * of parameters which are not allowed
+ * Something went wrong and recovery is not possible.
+ * For example, no header was found for a format which depends
+ * on headers or an illegal combination of parameters is used.
  */
 #define AV_LOG_FATAL     8
 
 /**
- * something went wrong and cannot losslessly be recovered
- * but not all future data is affected
+ * Something went wrong and cannot losslessly be recovered.
+ * However, not all future data is affected.
  */
 #define AV_LOG_ERROR    16
 
 /**
- * something somehow does not look correct / something which may or may not
- * lead to some problems like use of -vstrict -2
+ * Something somehow does not look correct. This may or may not
+ * lead to problems. An example would be the use of '-vstrict -2'.
  */
 #define AV_LOG_WARNING  24
 
@@ -91,18 +83,13 @@ struct AVCLASS {
 #define AV_LOG_VERBOSE  40
 
 /**
- * stuff which is only useful for libav* developers
+ * Stuff which is only useful for libav* developers.
  */
 #define AV_LOG_DEBUG    48
-#endif
-
-#if LIBAVUTIL_VERSION_INT < (50<<16)
-extern int av_log_level;
-#endif
 
 /**
- * Send the specified message to the log if the level is less than or equal to
- * the current av_log_level. By default, all logging messages are sent to
+ * Sends the specified message to the log if the level is less than or equal
+ * to the current av_log_level. By default, all logging messages are sent to
  * stderr. This behavior can be altered by setting a different av_vlog callback
  * function.
  *
diff --git a/lib-src/ffmpeg/libavutil/mathematics.h b/lib-src/ffmpeg/libavutil/mathematics.h
index 7438527..782efcc 100644
--- a/lib-src/ffmpeg/libavutil/mathematics.h
+++ b/lib-src/ffmpeg/libavutil/mathematics.h
@@ -23,6 +23,7 @@
 
 #include <stdint.h>
 #include <math.h>
+#include "common.h"
 #include "rational.h"
 
 #ifndef M_E
@@ -42,27 +43,29 @@
 #endif
 
 enum AVRounding {
-    AV_ROUND_ZERO     = 0, ///< round toward zero
-    AV_ROUND_INF      = 1, ///< round away from zero
-    AV_ROUND_DOWN     = 2, ///< round toward -infinity
-    AV_ROUND_UP       = 3, ///< round toward +infinity
-    AV_ROUND_NEAR_INF = 5, ///< round to nearest and halfway cases away from zero
+    AV_ROUND_ZERO     = 0, ///< Round toward zero.
+    AV_ROUND_INF      = 1, ///< Round away from zero.
+    AV_ROUND_DOWN     = 2, ///< Round toward -infinity.
+    AV_ROUND_UP       = 3, ///< Round toward +infinity.
+    AV_ROUND_NEAR_INF = 5, ///< Round to nearest and halfway cases away from zero.
 };
 
+int64_t av_const av_gcd(int64_t a, int64_t b);
+
 /**
- * rescale a 64bit integer with rounding to nearest.
- * a simple a*b/c isn't possible as it can overflow
+ * Rescales a 64-bit integer with rounding to nearest.
+ * A simple a*b/c isn't possible as it can overflow.
  */
 int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
 
 /**
- * rescale a 64bit integer with specified rounding.
- * a simple a*b/c isn't possible as it can overflow
+ * Rescales a 64-bit integer with specified rounding.
+ * A simple a*b/c isn't possible as it can overflow.
  */
 int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const;
 
 /**
- * rescale a 64bit integer by 2 rational numbers.
+ * Rescales a 64-bit integer by 2 rational numbers.
  */
 int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
 
diff --git a/lib-src/ffmpeg/libavutil/mem.h b/lib-src/ffmpeg/libavutil/mem.h
index a02c7e1..37ba276 100644
--- a/lib-src/ffmpeg/libavutil/mem.h
+++ b/lib-src/ffmpeg/libavutil/mem.h
@@ -19,13 +19,15 @@
  */
 
 /**
- * @file mem.h
- * Memory handling functions.
+ * @file libavutil/mem.h
+ * memory handling functions
  */
 
 #ifndef AVUTIL_MEM_H
 #define AVUTIL_MEM_H
 
+#include "common.h"
+
 #if defined(__ICC) || defined(__SUNPRO_C)
     #define DECLARE_ALIGNED(n,t,v)      t v __attribute__ ((aligned (n)))
     #define DECLARE_ASM_CONST(n,t,v)    const t __attribute__ ((aligned (n))) v
@@ -35,51 +37,50 @@
 #elif defined(_MSC_VER)
     #define DECLARE_ALIGNED(n,t,v)      __declspec(align(n)) t v
     #define DECLARE_ASM_CONST(n,t,v)    __declspec(align(n)) static const t v
-#elif defined(HAVE_INLINE_ASM)
-    #error The asm code needs alignment, but we do not know how to do it for this compiler.
 #else
     #define DECLARE_ALIGNED(n,t,v)      t v
     #define DECLARE_ASM_CONST(n,t,v)    static const t v
 #endif
 
-#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+
+#if AV_GCC_VERSION_AT_LEAST(3,1)
     #define av_malloc_attrib __attribute__((__malloc__))
 #else
     #define av_malloc_attrib
 #endif
 
-#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 2)
+#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
     #define av_alloc_size(n) __attribute__((alloc_size(n)))
 #else
     #define av_alloc_size(n)
 #endif
 
 /**
- * Allocate a block of \p size bytes with alignment suitable for all
+ * Allocates a block of size bytes with alignment suitable for all
  * memory accesses (including vectors if available on the CPU).
  * @param size Size in bytes for the memory block to be allocated.
- * @return Pointer to the allocated block, NULL if it cannot allocate
- * it.
+ * @return Pointer to the allocated block, NULL if the block cannot
+ * be allocated.
  * @see av_mallocz()
  */
 void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1);
 
 /**
- * Allocate or reallocate a block of memory.
- * If \p ptr is NULL and \p size > 0, allocate a new block. If \p
- * size is zero, free the memory block pointed by \p ptr.
+ * Allocates or reallocates a block of memory.
+ * If ptr is NULL and size > 0, allocates a new block. If \p
+ * size is zero, frees the memory block pointed to by ptr.
  * @param size Size in bytes for the memory block to be allocated or
  * reallocated.
  * @param ptr Pointer to a memory block already allocated with
  * av_malloc(z)() or av_realloc() or NULL.
- * @return Pointer to a newly reallocated block or NULL if it cannot
- * reallocate or the function is used to free the memory block.
+ * @return Pointer to a newly reallocated block or NULL if the block
+ * cannot be reallocated or the function is used to free the memory block.
  * @see av_fast_realloc()
  */
 void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2);
 
 /**
- * Free a memory block which has been allocated with av_malloc(z)() or
+ * Frees a memory block which has been allocated with av_malloc(z)() or
  * av_realloc().
  * @param ptr Pointer to the memory block which should be freed.
  * @note ptr = NULL is explicitly allowed.
@@ -89,27 +90,26 @@ void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2);
 void av_free(void *ptr);
 
 /**
- * Allocate a block of \p size bytes with alignment suitable for all
+ * Allocates a block of size bytes with alignment suitable for all
  * memory accesses (including vectors if available on the CPU) and
- * set to zeroes all the bytes of the block.
+ * zeroes all the bytes of the block.
  * @param size Size in bytes for the memory block to be allocated.
- * @return Pointer to the allocated block, NULL if it cannot allocate
- * it.
+ * @return Pointer to the allocated block, NULL if it cannot be allocated.
  * @see av_malloc()
  */
 void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1);
 
 /**
- * Duplicate the string \p s.
- * @param s String to be duplicated.
+ * Duplicates the string s.
+ * @param s string to be duplicated
  * @return Pointer to a newly allocated string containing a
- * copy of \p s or NULL if it cannot be allocated.
+ * copy of s or NULL if the string cannot be allocated.
  */
 char *av_strdup(const char *s) av_malloc_attrib;
 
 /**
- * Free a memory block which has been allocated with av_malloc(z)() or
- * av_realloc() and set to NULL the pointer to it.
+ * Frees a memory block which has been allocated with av_malloc(z)() or
+ * av_realloc() and set the pointer pointing to it to NULL.
  * @param ptr Pointer to the pointer to the memory block which should
  * be freed.
  * @see av_free()
diff --git a/lib-src/ffmpeg/libavutil/rational.h b/lib-src/ffmpeg/libavutil/rational.h
index 70b7735..0f415ed 100644
--- a/lib-src/ffmpeg/libavutil/rational.h
+++ b/lib-src/ffmpeg/libavutil/rational.h
@@ -1,5 +1,5 @@
 /*
- * Rational numbers
+ * rational numbers
  * Copyright (c) 2003 Michael Niedermayer <michaelni at gmx.at>
  *
  * This file is part of FFmpeg.
@@ -20,8 +20,8 @@
  */
 
 /**
- * @file rational.h
- * Rational numbers.
+ * @file libavutil/rational.h
+ * rational numbers
  * @author Michael Niedermayer <michaelni at gmx.at>
  */
 
@@ -32,7 +32,7 @@
 #include "common.h"
 
 /**
- * Rational number num/den.
+ * rational number numerator/denominator
  */
 typedef struct AVRational{
     int num; ///< numerator
@@ -40,10 +40,10 @@ typedef struct AVRational{
 } AVRational;
 
 /**
- * Compare two rationals.
+ * Compares two rationals.
  * @param a first rational
  * @param b second rational
- * @return 0 if a==b, 1 if a>b and -1 if a<b.
+ * @return 0 if a==b, 1 if a>b and -1 if a<b
  */
 static inline int av_cmp_q(AVRational a, AVRational b){
     const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;
@@ -53,7 +53,7 @@ static inline int av_cmp_q(AVRational a, AVRational b){
 }
 
 /**
- * Rational to double conversion.
+ * Converts rational to double.
  * @param a rational to convert
  * @return (double) a
  */
@@ -62,46 +62,46 @@ static inline double av_q2d(AVRational a){
 }
 
 /**
- * Reduce a fraction.
+ * Reduces a fraction.
  * This is useful for framerate calculations.
- * @param dst_nom destination numerator
+ * @param dst_num destination numerator
  * @param dst_den destination denominator
- * @param nom source numerator
+ * @param num source numerator
  * @param den source denominator
- * @param max the maximum allowed for dst_nom & dst_den
+ * @param max the maximum allowed for dst_num & dst_den
  * @return 1 if exact, 0 otherwise
  */
-int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max);
+int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);
 
 /**
  * Multiplies two rationals.
- * @param b first rational.
- * @param c second rational.
- * @return b*c.
+ * @param b first rational
+ * @param c second rational
+ * @return b*c
  */
 AVRational av_mul_q(AVRational b, AVRational c) av_const;
 
 /**
  * Divides one rational by another.
- * @param b first rational.
- * @param c second rational.
- * @return b/c.
+ * @param b first rational
+ * @param c second rational
+ * @return b/c
  */
 AVRational av_div_q(AVRational b, AVRational c) av_const;
 
 /**
  * Adds two rationals.
- * @param b first rational.
- * @param c second rational.
- * @return b+c.
+ * @param b first rational
+ * @param c second rational
+ * @return b+c
  */
 AVRational av_add_q(AVRational b, AVRational c) av_const;
 
 /**
  * Subtracts one rational from another.
- * @param b first rational.
- * @param c second rational.
- * @return b-c.
+ * @param b first rational
+ * @param c second rational
+ * @return b-c
  */
 AVRational av_sub_q(AVRational b, AVRational c) av_const;
 
@@ -109,18 +109,18 @@ AVRational av_sub_q(AVRational b, AVRational c) av_const;
  * Converts a double precision floating point number to a rational.
  * @param d double to convert
  * @param max the maximum allowed numerator and denominator
- * @return (AVRational) d.
+ * @return (AVRational) d
  */
 AVRational av_d2q(double d, int max) av_const;
 
 /**
- * @return 1 if \q1 is nearer to \p q than \p q2, -1 if \p q2 is nearer
- * than \p q1, 0 if they have the same distance.
+ * @return 1 if q1 is nearer to q than q2, -1 if q2 is nearer
+ * than q1, 0 if they have the same distance.
  */
 int av_nearer_q(AVRational q, AVRational q1, AVRational q2);
 
 /**
- * Finds the nearest value in \p q_list to \p q.
+ * Finds the nearest value in q_list to q.
  * @param q_list an array of rationals terminated by {0, 0}
  * @return the index of the nearest value found in the array
  */
diff --git a/lib-src/lib-widget-extra/Makefile.in b/lib-src/lib-widget-extra/Makefile.in
index c38638c..c1e445b 100644
--- a/lib-src/lib-widget-extra/Makefile.in
+++ b/lib-src/lib-widget-extra/Makefile.in
@@ -82,6 +82,9 @@ clean:
 	rm -rf $(OBJS)
 	rm -f $(LIBFILE) $(EXTRAS)
 
+distclean: clean
+	rm -f config.log config.status Makefile
+
 #
 # Rule for compiling C++ files
 #
diff --git a/lib-src/libnyquist/LICENSE.txt b/lib-src/libnyquist/LICENSE.txt
index b0f2dae..622eebd 100644
--- a/lib-src/libnyquist/LICENSE.txt
+++ b/lib-src/libnyquist/LICENSE.txt
@@ -13,116 +13,4 @@ If any modifications affect Nyx or Audacity, please send these
 modifications to the Audacity developers, otherwise contact
 Roger Dannenberg directly.
 
-The full license for Nyquist follows.
-
-LICENSE INFORMATION
-
-Nyquist is built upon and derived from XLISP. Both are copyrighted software.
-Two copyright notices and licenses appear below.
-
--------------------------------------------------------------------------------
-COPYRIGHT AND LICENSE INFORMATION FOR NYQUIST
-
-Copyright (c) 2000-2002, by Roger B. Dannenberg
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-Redistributions of source code must retain the copyright notice, the
-list of conditions, and the disclaimer, all three of which appear below under
-"COPYRIGHT AND LICENSE INFORMATION FOR XLISP."
-
-Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-Redistributions in binary form must reproduce the copyright notice, the
-list of conditions, and the disclaimer, all three of which appear below under
-"COPYRIGHT AND LICENSE INFORMATION FOR XLISP," in the documentation and/or
-other materials provided with the distribution.
-
-Neither the name of Roger B. Dannenberg, Carnegie Mellon University, nor the 
-names of any contributors may be used to endorse or promote products derived 
-from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-What follows is not a part of the license:
-
-Please send bug fixes and improvements to me at the address below.
-
-Please do not distribute modified versions of Nyquist without permission.
-
-Any redistribution of Nyquist should include a notice that Nyquist can be
-obtained free from http://www.cs.cmu.edu/~music.
-
-In addition, as a courtesy, I ask that you send me a copy of any product that
-makes substantial use of Nyquist. Please contact me at the address below for my
-current mailing address. I am asking this because I enjoy learning about
-applications of my software.
-
-When Nyquist is used to generate music and conduct research, please mention
-and acknowledge the use of Nyquist in program notes, acknowledgement sections
-of papers, and whereever thanks or credits would normally be given.
-
-Roger B. Dannenberg
-
-roger.dannenberg at cs.cmu.edu
-
---------------------------------------------------------------------------------
-COPYRIGHT AND LICENSE INFORMATION FOR XLISP
-
-Copyright (c) 1984-2002, by David Michael Betz
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list
-of conditions and the following disclaimer. 
-
-Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-Neither the name of David Michael Betz nor the names of any contributors may be
-used to endorse or promote products derived from this software without specific
-prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-What follows is not a part of the license:
-
-Please send bug fixes and improvements to me at the address below.
-
-In addition, as a courtesy, I ask that you send me a copy of any product that
-makes substantial use of XLISP. Please contact me at the address below for my
-current mailing address. I am asking this because I enjoy learning about
-applications of my software.
-
-David Betz
-
-dbetz at xlisper.mv.com
-
+Refer to nyquist/license.txt for Nyquist licensing details.
diff --git a/lib-src/libnyquist/Makefile.in b/lib-src/libnyquist/Makefile.in
index 4045789..d268729 100644
--- a/lib-src/libnyquist/Makefile.in
+++ b/lib-src/libnyquist/Makefile.in
@@ -1,523 +1,3845 @@
-#
-# Makefile for libnyquist on Unix
-#
-
-# Standard list of includes (common to all unix versions)
-INCL = -Inyqsrc -Itran -Ixlisp -Icmt -Isys -Isnd -Ifft
-
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Makefile(.in) for portSMF using Autotools (but not libtool).
+# Written by Richard Ash following Gary Vaughan's Autobook
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(top_srcdir)/configure \
+	autotools/depcomp autotools/install-sh autotools/missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps =  \
+	$(top_srcdir)/autotools/m4/ax_cflags_strict_prototypes.m4 \
+	$(top_srcdir)/autotools/m4/ax_cflags_warn_all.m4 \
+	$(top_srcdir)/autotools/m4/ax_cxx_check_flag.m4 \
+	$(top_srcdir)/autotools/m4/ax_cxxcpp_check_flag.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)"
+libLIBRARIES_INSTALL = $(INSTALL_DATA)
+LIBRARIES = $(lib_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+libnyquist_a_AR = $(AR) $(ARFLAGS)
+libnyquist_a_LIBADD =
+am_libnyquist_a_OBJECTS = extern.$(OBJEXT) xldmem.$(OBJEXT) \
+	xlbfun.$(OBJEXT) xlcont.$(OBJEXT) xldbug.$(OBJEXT) \
+	xleval.$(OBJEXT) xlfio.$(OBJEXT) xlftab.$(OBJEXT) \
+	xlglob.$(OBJEXT) xlimage.$(OBJEXT) xlinit.$(OBJEXT) \
+	xlio.$(OBJEXT) xlisp.$(OBJEXT) xljump.$(OBJEXT) \
+	xllist.$(OBJEXT) xlmath.$(OBJEXT) xlobj.$(OBJEXT) \
+	xlpp.$(OBJEXT) xlprin.$(OBJEXT) xlread.$(OBJEXT) \
+	xlstr.$(OBJEXT) xlsubr.$(OBJEXT) xlsym.$(OBJEXT) \
+	xlsys.$(OBJEXT) path.$(OBJEXT) abs.$(OBJEXT) \
+	allpoles.$(OBJEXT) alpass.$(OBJEXT) alpasscv.$(OBJEXT) \
+	alpassvv.$(OBJEXT) amosc.$(OBJEXT) areson.$(OBJEXT) \
+	aresonvc.$(OBJEXT) aresoncv.$(OBJEXT) aresonvv.$(OBJEXT) \
+	atone.$(OBJEXT) atonev.$(OBJEXT) biquadfilt.$(OBJEXT) \
+	buzz.$(OBJEXT) chase.$(OBJEXT) clip.$(OBJEXT) congen.$(OBJEXT) \
+	const.$(OBJEXT) coterm.$(OBJEXT) delaycc.$(OBJEXT) \
+	delaycv.$(OBJEXT) eqbandvvv.$(OBJEXT) exp.$(OBJEXT) \
+	follow.$(OBJEXT) fmosc.$(OBJEXT) fromobject.$(OBJEXT) \
+	fromarraystream.$(OBJEXT) gate.$(OBJEXT) ifft.$(OBJEXT) \
+	instrclar.$(OBJEXT) instrclarall.$(OBJEXT) \
+	instrclarfreq.$(OBJEXT) instrsax.$(OBJEXT) \
+	instrsaxall.$(OBJEXT) instrsaxfreq.$(OBJEXT) \
+	integrate.$(OBJEXT) log.$(OBJEXT) lpreson.$(OBJEXT) \
+	maxv.$(OBJEXT) offset.$(OBJEXT) oneshot.$(OBJEXT) \
+	osc.$(OBJEXT) partial.$(OBJEXT) pluck.$(OBJEXT) prod.$(OBJEXT) \
+	pwl.$(OBJEXT) quantize.$(OBJEXT) recip.$(OBJEXT) \
+	reson.$(OBJEXT) resonvc.$(OBJEXT) resoncv.$(OBJEXT) \
+	resonvv.$(OBJEXT) sampler.$(OBJEXT) scale.$(OBJEXT) \
+	shape.$(OBJEXT) sine.$(OBJEXT) siosc.$(OBJEXT) slope.$(OBJEXT) \
+	sqrt.$(OBJEXT) tapf.$(OBJEXT) tapv.$(OBJEXT) tone.$(OBJEXT) \
+	tonev.$(OBJEXT) upsample.$(OBJEXT) white.$(OBJEXT) \
+	stkrev.$(OBJEXT) stkpitshift.$(OBJEXT) stkchorus.$(OBJEXT) \
+	instrbow.$(OBJEXT) instrbowedfreq.$(OBJEXT) \
+	instrbanded.$(OBJEXT) instrmandolin.$(OBJEXT) \
+	instrsitar.$(OBJEXT) instrmodalbar.$(OBJEXT) \
+	instrflute.$(OBJEXT) instrflutefreq.$(OBJEXT) \
+	instrfluteall.$(OBJEXT) fmfb.$(OBJEXT) fmfbv.$(OBJEXT) \
+	cext.$(OBJEXT) cleanup.$(OBJEXT) cmdline.$(OBJEXT) \
+	cmtcmd.$(OBJEXT) moxc.$(OBJEXT) mem.$(OBJEXT) \
+	midifile.$(OBJEXT) midifns.$(OBJEXT) record.$(OBJEXT) \
+	seq.$(OBJEXT) seqmread.$(OBJEXT) seqmwrite.$(OBJEXT) \
+	seqread.$(OBJEXT) seqwrite.$(OBJEXT) tempomap.$(OBJEXT) \
+	timebase.$(OBJEXT) userio.$(OBJEXT) debug.$(OBJEXT) \
+	falloc.$(OBJEXT) local.$(OBJEXT) handlers.$(OBJEXT) \
+	multiread.$(OBJEXT) seqext.$(OBJEXT) seqinterf.$(OBJEXT) \
+	stats.$(OBJEXT) ffilterkit.$(OBJEXT) sliders.$(OBJEXT) \
+	sound.$(OBJEXT) add.$(OBJEXT) avg.$(OBJEXT) compose.$(OBJEXT) \
+	convolve.$(OBJEXT) downsample.$(OBJEXT) fft.$(OBJEXT) \
+	inverse.$(OBJEXT) multiseq.$(OBJEXT) resamp.$(OBJEXT) \
+	resampv.$(OBJEXT) samples.$(OBJEXT) sndmax.$(OBJEXT) \
+	sndread.$(OBJEXT) sndseq.$(OBJEXT) sndwritepa.$(OBJEXT) \
+	yin.$(OBJEXT) trigger.$(OBJEXT) lpanal.$(OBJEXT) \
+	Generator.$(OBJEXT) SineWave.$(OBJEXT) Function.$(OBJEXT) \
+	FileRead.$(OBJEXT) FileWvIn.$(OBJEXT) Effect.$(OBJEXT) \
+	Clarinet.$(OBJEXT) Delay.$(OBJEXT) DelayL.$(OBJEXT) \
+	Envelope.$(OBJEXT) Filter.$(OBJEXT) Instrmnt.$(OBJEXT) \
+	Noise.$(OBJEXT) OneZero.$(OBJEXT) ReedTable.$(OBJEXT) \
+	Saxofony.$(OBJEXT) Stk.$(OBJEXT) WaveLoop.$(OBJEXT) \
+	WvIn.$(OBJEXT) NRev.$(OBJEXT) JCRev.$(OBJEXT) PRCRev.$(OBJEXT) \
+	PitShift.$(OBJEXT) Chorus.$(OBJEXT) Bowed.$(OBJEXT) \
+	BowTable.$(OBJEXT) ADSR.$(OBJEXT) OnePole.$(OBJEXT) \
+	BiQuad.$(OBJEXT) BandedWG.$(OBJEXT) DelayA.$(OBJEXT) \
+	Mandolin.$(OBJEXT) PluckTwo.$(OBJEXT) Sitar.$(OBJEXT) \
+	ModalBar.$(OBJEXT) Modal.$(OBJEXT) Flute.$(OBJEXT) \
+	JetTable.$(OBJEXT) PoleZero.$(OBJEXT) stkinit.$(OBJEXT) \
+	instr.$(OBJEXT) stkint.$(OBJEXT) fftext.$(OBJEXT) \
+	fftlib.$(OBJEXT) matlib.$(OBJEXT) sndfnint.$(OBJEXT) \
+	seqfnint.$(OBJEXT) nyx.$(OBJEXT)
+libnyquist_a_OBJECTS = $(am_libnyquist_a_OBJECTS)
+DEFAULT_INCLUDES = -I. at am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+SOURCES = $(libnyquist_a_SOURCES)
+DIST_SOURCES = $(libnyquist_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
 CC = @CC@
-CFLAGS += -DCMTSTUFF -DEXT @CFLAGS@ $(INCL)
-
-INTGEN = misc/intgen
-
-OBJECTS = 	nyx/nyx.o \
-	xlisp/path.o \
-	xlisp/extern.o xlisp/xldmem.o xlisp/xlbfun.o xlisp/xlcont.o  \
-	xlisp/xldbug.o xlisp/xleval.o xlisp/xlfio.o xlisp/xlftab.o  \
-	xlisp/xlglob.o xlisp/xlimage.o xlisp/xlinit.o xlisp/xlio.o  \
-	xlisp/xlisp.o xlisp/xljump.o xlisp/xllist.o xlisp/xlmath.o  \
-	xlisp/xlobj.o xlisp/xlpp.o xlisp/xlprin.o xlisp/xlread.o  \
-	xlisp/xlstr.o xlisp/xlsubr.o xlisp/xlsym.o xlisp/xlsys.o  \
-	tran/amosc.o tran/clip.o tran/const.o tran/fmosc.o  \
-	tran/integrate.o tran/log.o tran/maxv.o tran/osc.o  \
-	tran/prod.o tran/buzz.o tran/pwl.o tran/recip.o  \
-	tran/upsample.o tran/scale.o tran/sine.o tran/partial.o  \
-	tran/white.o tran/tone.o tran/tonev.o tran/atonev.o  \
-	tran/atone.o tran/reson.o tran/areson.o tran/resonvc.o  \
-	tran/resoncv.o tran/aresonvc.o tran/aresoncv.o tran/resonvv.o  \
-	tran/aresonvv.o tran/offset.o tran/slope.o tran/delay.o  \
-	tran/delaycv.o tran/shape.o tran/sampler.o tran/exp.o  \
-	tran/siosc.o tran/follow.o tran/gate.o tran/quantize.o  \
-	tran/ifft.o tran/congen.o tran/fromobject.o tran/fromarraystream.o  \
-	tran/coterm.o tran/convolve.o tran/alpass.o tran/oneshot.o  \
-	tran/chase.o tran/tapv.o tran/biquad.o tran/pluck.o  \
-        tran/abs.o tran/sqrt.o tran/alpasscv.o tran/alpassvc.o \
-	cmt/cext.o cmt/cleanup.o cmt/cmdline.o cmt/cmtcmd.o  \
-	cmt/moxc.o cmt/mem.o cmt/midifile.o cmt/midifns.o  \
-	cmt/record.o cmt/seq.o cmt/seqmread.o cmt/seqmwrite.o  \
-	cmt/seqread.o cmt/seqwrite.o cmt/tempomap.o cmt/timebase.o  \
-	cmt/userio.o nyqsrc/debug.o nyqsrc/falloc.o nyqsrc/add.o  \
-	nyqsrc/local.o nyqsrc/downsample.o nyqsrc/handlers.o nyqsrc/multiread.o  \
-	nyqsrc/multiseq.o nyqsrc/samples.o nyqsrc/seqext.o nyqsrc/seqinterf.o  \
-	nyqsrc/sndread.o nyqsrc/sndseq.o nyqsrc/sndwrite.o nyqsrc/sndmax.o  \
-	nyqsrc/sound.o nyqsrc/stats.o nyqsrc/compose.o nyqsrc/inverse.o  \
-	nyqsrc/resamp.o nyqsrc/resampv.o nyqsrc/ffilterkit.o nyqsrc/avg.o  \
-	nyqsrc/fft.o nyqsrc/sndfail.o fft/fftn.o nyqsrc/sndfnint.o  \
-	nyqsrc/seqfnint.o snd/audionone.o snd/sndlinux.o snd/ieeecvt.o  \
-	snd/snd.o snd/sndcvt.o snd/sndio.o snd/sndheader.o  \
-	sys/term.o
-
-# Sound functions to add to xlisp
-NYQHDRS = snd/snd.h nyqsrc/sound.h nyqsrc/downsample.h nyqsrc/sndread.h  \
-	nyqsrc/sndseq.h nyqsrc/add.h nyqsrc/multiseq.h nyqsrc/samples.h  \
-	nyqsrc/sndwrite.h nyqsrc/sndmax.h nyqsrc/compose.h nyqsrc/inverse.h  \
-	nyqsrc/resamp.h nyqsrc/resampv.h nyqsrc/fft.h nyqsrc/avg.h  \
-	tran/amosc.h tran/clip.h tran/const.h tran/fmosc.h  \
-	tran/integrate.h tran/log.h tran/maxv.h tran/osc.h  \
-	tran/prod.h tran/buzz.h tran/pwl.h tran/recip.h  \
-	tran/upsample.h tran/scale.h tran/sine.h tran/partial.h  \
-	tran/white.h tran/tone.h tran/tonev.h tran/atonev.h  \
-	tran/atone.h tran/reson.h tran/areson.h tran/resonvc.h  \
-	tran/resoncv.h tran/aresonvc.h tran/aresoncv.h tran/resonvv.h  \
-	tran/aresonvv.h tran/offset.h tran/slope.h tran/delay.h  \
-	tran/delaycv.h tran/shape.h tran/sampler.h tran/exp.h  \
-	tran/siosc.h tran/follow.h tran/gate.h tran/quantize.h  \
-	tran/ifft.h tran/congen.h tran/fromobject.h tran/fromarraystream.h  \
-	tran/coterm.h tran/convolve.h tran/alpass.h tran/oneshot.h  \
-	tran/chase.h tran/tapv.h tran/biquad.h tran/pluck.h \
-        tran/abs.h tran/sqrt.h tran/alpasscv.h tran/alpassvc.h
-
-CMTHDRS = cmt/seqdecls.h nyqsrc/seqext.h cmt/seq.h nyqsrc/seqinterf.h  \
-	cmt/seqread.h cmt/seqmread.h cmt/seqwrite.h cmt/seqmwrite.h 
-
-EVERYTHING = libnyquist.a
-
-CURRENT = $(EVERYTHING)
-
-current: $(CURRENT)
-
-libnyquist.a: $(OBJECTS)
-	ar ruv libnyquist.a $(OBJECTS)
-	ranlib libnyquist.a
-
-nyqsrc/debug.o: nyqsrc/debug.c nyqsrc/debug.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/debug.c -o nyqsrc/debug.o $(CFLAGS)
-
-nyqsrc/falloc.o: nyqsrc/falloc.c nyqsrc/falloc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/falloc.c -o nyqsrc/falloc.o $(CFLAGS)
-
-nyqsrc/add.o: nyqsrc/add.c nyqsrc/add.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/add.c -o nyqsrc/add.o $(CFLAGS)
-
-nyqsrc/local.o: nyqsrc/local.c xlisp/xlisp.h nyqsrc/sound.h
-	$(CC) -c nyqsrc/local.c -o nyqsrc/local.o $(CFLAGS)
-
-nyqsrc/downsample.o: nyqsrc/downsample.c nyqsrc/downsample.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/downsample.c -o nyqsrc/downsample.o $(CFLAGS)
-
-nyqsrc/handlers.o: nyqsrc/handlers.c 
-	$(CC) -c nyqsrc/handlers.c -o nyqsrc/handlers.o $(CFLAGS)
-
-nyqsrc/multiread.o: nyqsrc/multiread.c nyqsrc/multiread.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/multiread.c -o nyqsrc/multiread.o $(CFLAGS)
-
-nyqsrc/multiseq.o: nyqsrc/multiseq.c nyqsrc/multiseq.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/multiseq.c -o nyqsrc/multiseq.o $(CFLAGS)
-
-nyqsrc/samples.o: nyqsrc/samples.c nyqsrc/samples.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/samples.c -o nyqsrc/samples.o $(CFLAGS)
-
-nyqsrc/seqext.o: nyqsrc/seqext.c nyqsrc/seqext.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/seqext.c -o nyqsrc/seqext.o $(CFLAGS)
-
-nyqsrc/seqinterf.o: nyqsrc/seqinterf.c nyqsrc/seqinterf.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/seqinterf.c -o nyqsrc/seqinterf.o $(CFLAGS)
-
-nyqsrc/sndread.o: nyqsrc/sndread.c nyqsrc/sndread.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/sndread.c -o nyqsrc/sndread.o $(CFLAGS)
-
-nyqsrc/sndseq.o: nyqsrc/sndseq.c nyqsrc/sndseq.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/sndseq.c -o nyqsrc/sndseq.o $(CFLAGS)
-
-nyqsrc/sndwrite.o: nyqsrc/sndwrite.c nyqsrc/sndwrite.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/sndwrite.c -o nyqsrc/sndwrite.o $(CFLAGS)
-
-nyqsrc/sndmax.o: nyqsrc/sndmax.c nyqsrc/sndmax.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/sndmax.c -o nyqsrc/sndmax.o $(CFLAGS)
-
-nyqsrc/sound.o: nyqsrc/sound.c nyqsrc/sound.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/sound.c -o nyqsrc/sound.o $(CFLAGS)
-
-nyqsrc/stats.o: nyqsrc/stats.c nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/stats.c -o nyqsrc/stats.o $(CFLAGS)
-
-nyqsrc/compose.o: nyqsrc/compose.c nyqsrc/compose.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/compose.c -o nyqsrc/compose.o $(CFLAGS)
-
-nyqsrc/inverse.o: nyqsrc/inverse.c nyqsrc/inverse.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/inverse.c -o nyqsrc/inverse.o $(CFLAGS)
-
-nyqsrc/resamp.o: nyqsrc/resamp.c nyqsrc/resamp.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/resamp.c -o nyqsrc/resamp.o $(CFLAGS)
-
-nyqsrc/resampv.o: nyqsrc/resampv.c nyqsrc/resampv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/resampv.c -o nyqsrc/resampv.o $(CFLAGS)
-
-nyqsrc/ffilterkit.o: nyqsrc/ffilterkit.c nyqsrc/ffilterkit.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/ffilterkit.c -o nyqsrc/ffilterkit.o $(CFLAGS)
-
-nyqsrc/avg.o: nyqsrc/avg.c nyqsrc/avg.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/avg.c -o nyqsrc/avg.o $(CFLAGS)
-
-nyqsrc/fft.o: nyqsrc/fft.c nyqsrc/fft.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c nyqsrc/fft.c -o nyqsrc/fft.o $(CFLAGS)
-
-nyqsrc/sndfail.o: nyqsrc/sndfail.c 
-	$(CC) -c nyqsrc/sndfail.c -o nyqsrc/sndfail.o $(CFLAGS)
-
-snd/audionone.o: snd/audionone.c snd/snd.h
-	$(CC) -c snd/audionone.c -o snd/audionone.o $(CFLAGS)
-
-snd/sndlinux.o: snd/sndlinux.c snd/sndlinux.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c snd/sndlinux.c -o snd/sndlinux.o $(CFLAGS)
-
-snd/ieeecvt.o: snd/ieeecvt.c snd/ieeecvt.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c snd/ieeecvt.c -o snd/ieeecvt.o $(CFLAGS)
-
-snd/snd.o: snd/snd.c snd/snd.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c snd/snd.c -o snd/snd.o $(CFLAGS)
-
-snd/sndcvt.o: snd/sndcvt.c snd/snd.h
-	$(CC) -c snd/sndcvt.c -o snd/sndcvt.o $(CFLAGS)
-
-snd/sndio.o: snd/sndio.c snd/snd.h
-	$(CC) -c snd/sndio.c -o snd/sndio.o $(CFLAGS)
-
-snd/sndheader.o: snd/sndheader.c snd/sndheader.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c snd/sndheader.c -o snd/sndheader.o $(CFLAGS)
-
-fft/fftn.o: fft/fftn.c fft/fftn.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c fft/fftn.c -o fft/fftn.o $(CFLAGS)
-
-tran/amosc.o: tran/amosc.c tran/amosc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/amosc.c -o tran/amosc.o $(CFLAGS)
-
-tran/clip.o: tran/clip.c tran/clip.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/clip.c -o tran/clip.o $(CFLAGS)
-
-tran/const.o: tran/const.c tran/const.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/const.c -o tran/const.o $(CFLAGS)
-
-tran/fmosc.o: tran/fmosc.c tran/fmosc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/fmosc.c -o tran/fmosc.o $(CFLAGS)
-
-tran/integrate.o: tran/integrate.c tran/integrate.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/integrate.c -o tran/integrate.o $(CFLAGS)
-
-tran/log.o: tran/log.c tran/log.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/log.c -o tran/log.o $(CFLAGS)
-
-tran/maxv.o: tran/maxv.c tran/maxv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/maxv.c -o tran/maxv.o $(CFLAGS)
-
-tran/osc.o: tran/osc.c tran/osc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/osc.c -o tran/osc.o $(CFLAGS)
-
-tran/prod.o: tran/prod.c tran/prod.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/prod.c -o tran/prod.o $(CFLAGS)
-
-tran/buzz.o: tran/buzz.c tran/buzz.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/buzz.c -o tran/buzz.o $(CFLAGS)
-
-tran/pwl.o: tran/pwl.c tran/pwl.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/pwl.c -o tran/pwl.o $(CFLAGS)
-
-tran/recip.o: tran/recip.c tran/recip.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/recip.c -o tran/recip.o $(CFLAGS)
-
-tran/upsample.o: tran/upsample.c tran/upsample.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/upsample.c -o tran/upsample.o $(CFLAGS)
-
-tran/scale.o: tran/scale.c tran/scale.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/scale.c -o tran/scale.o $(CFLAGS)
-
-tran/sine.o: tran/sine.c tran/sine.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/sine.c -o tran/sine.o $(CFLAGS)
-
-tran/partial.o: tran/partial.c tran/partial.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/partial.c -o tran/partial.o $(CFLAGS)
-
-tran/white.o: tran/white.c tran/white.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/white.c -o tran/white.o $(CFLAGS)
-
-tran/tone.o: tran/tone.c tran/tone.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/tone.c -o tran/tone.o $(CFLAGS)
-
-tran/tonev.o: tran/tonev.c tran/tonev.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/tonev.c -o tran/tonev.o $(CFLAGS)
-
-tran/atonev.o: tran/atonev.c tran/atonev.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/atonev.c -o tran/atonev.o $(CFLAGS)
-
-tran/atone.o: tran/atone.c tran/atone.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/atone.c -o tran/atone.o $(CFLAGS)
-
-tran/reson.o: tran/reson.c tran/reson.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/reson.c -o tran/reson.o $(CFLAGS)
-
-tran/areson.o: tran/areson.c tran/areson.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/areson.c -o tran/areson.o $(CFLAGS)
-
-tran/resonvc.o: tran/resonvc.c tran/resonvc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/resonvc.c -o tran/resonvc.o $(CFLAGS)
-
-tran/resoncv.o: tran/resoncv.c tran/resoncv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/resoncv.c -o tran/resoncv.o $(CFLAGS)
-
-tran/aresonvc.o: tran/aresonvc.c tran/aresonvc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/aresonvc.c -o tran/aresonvc.o $(CFLAGS)
-
-tran/aresoncv.o: tran/aresoncv.c tran/aresoncv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/aresoncv.c -o tran/aresoncv.o $(CFLAGS)
-
-tran/resonvv.o: tran/resonvv.c tran/resonvv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/resonvv.c -o tran/resonvv.o $(CFLAGS)
-
-tran/aresonvv.o: tran/aresonvv.c tran/aresonvv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/aresonvv.c -o tran/aresonvv.o $(CFLAGS)
-
-tran/offset.o: tran/offset.c tran/offset.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/offset.c -o tran/offset.o $(CFLAGS)
-
-tran/slope.o: tran/slope.c tran/slope.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/slope.c -o tran/slope.o $(CFLAGS)
-
-tran/delay.o: tran/delay.c tran/delay.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/delay.c -o tran/delay.o $(CFLAGS)
-
-tran/delaycv.o: tran/delaycv.c tran/delaycv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/delaycv.c -o tran/delaycv.o $(CFLAGS)
-
-tran/shape.o: tran/shape.c tran/shape.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/shape.c -o tran/shape.o $(CFLAGS)
-
-tran/sampler.o: tran/sampler.c tran/sampler.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/sampler.c -o tran/sampler.o $(CFLAGS)
-
-tran/exp.o: tran/exp.c tran/exp.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/exp.c -o tran/exp.o $(CFLAGS)
-
-tran/siosc.o: tran/siosc.c tran/siosc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/siosc.c -o tran/siosc.o $(CFLAGS)
-
-tran/follow.o: tran/follow.c tran/follow.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/follow.c -o tran/follow.o $(CFLAGS)
-
-tran/gate.o: tran/gate.c tran/gate.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/gate.c -o tran/gate.o $(CFLAGS)
-
-tran/quantize.o: tran/quantize.c tran/quantize.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/quantize.c -o tran/quantize.o $(CFLAGS)
-
-tran/ifft.o: tran/ifft.c tran/ifft.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/ifft.c -o tran/ifft.o $(CFLAGS)
-
-tran/congen.o: tran/congen.c tran/congen.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/congen.c -o tran/congen.o $(CFLAGS)
-
-tran/fromobject.o: tran/fromobject.c tran/fromobject.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/fromobject.c -o tran/fromobject.o $(CFLAGS)
-
-tran/fromarraystream.o: tran/fromarraystream.c tran/fromarraystream.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/fromarraystream.c -o tran/fromarraystream.o $(CFLAGS)
-
-tran/coterm.o: tran/coterm.c tran/coterm.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/coterm.c -o tran/coterm.o $(CFLAGS)
-
-tran/convolve.o: tran/convolve.c tran/convolve.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/convolve.c -o tran/convolve.o $(CFLAGS)
-
-tran/alpass.o: tran/alpass.c tran/alpass.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/alpass.c -o tran/alpass.o $(CFLAGS)
-
-tran/oneshot.o: tran/oneshot.c tran/oneshot.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/oneshot.c -o tran/oneshot.o $(CFLAGS)
-
-tran/chase.o: tran/chase.c tran/chase.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/chase.c -o tran/chase.o $(CFLAGS)
-
-tran/tapv.o: tran/tapv.c tran/tapv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/tapv.c -o tran/tapv.o $(CFLAGS)
-
-tran/biquad.o: tran/biquad.c tran/biquad.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/biquad.c -o tran/biquad.o $(CFLAGS)
-
-tran/pluck.o: tran/pluck.c tran/pluck.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/pluck.c -o tran/pluck.o $(CFLAGS)
-
-tran/abs.o: tran/abs.c tran/abs.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/abs.c -o tran/abs.o $(CFLAGS)
-
-tran/sqrt.o: tran/sqrt.c tran/sqrt.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/sqrt.c -o tran/sqrt.o $(CFLAGS)
-
-tran/alpasscv.o: tran/alpasscv.c tran/alpasscv.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/alpasscv.c -o tran/alpasscv.o $(CFLAGS)
-
-tran/alpassvc.o: tran/alpassvc.c tran/alpassvc.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h
-	$(CC) -c tran/alpassvc.c -o tran/alpassvc.o $(CFLAGS)
-
-nyqsrc/sndfnint.o: nyqsrc/sndfnint.c 
-	$(CC) -c nyqsrc/sndfnint.c -o nyqsrc/sndfnint.o $(CFLAGS)
-
-nyqsrc/seqfnint.o: nyqsrc/seqfnint.c 
-	$(CC) -c nyqsrc/seqfnint.c -o nyqsrc/seqfnint.o $(CFLAGS)
-
-xlisp/xlftab.o: nyqsrc/sndfnintptrs.h nyqsrc/sndfnintdefs.h nyqsrc/seqfnintptrs.h nyqsrc/seqfnintdefs.h
-	$(CC) -c xlisp/xlftab.c -o xlisp/xlftab.o $(CFLAGS)
-
-xlisp/extern.o: xlisp/extern.c
-	$(CC) -c xlisp/extern.c -o xlisp/extern.o $(CFLAGS)
-
-xlisp/xldmem.o: xlisp/xldmem.c
-	$(CC) -c xlisp/xldmem.c -o xlisp/xldmem.o $(CFLAGS)
-
-xlisp/xlbfun.o: xlisp/xlbfun.c
-	$(CC) -c xlisp/xlbfun.c -o xlisp/xlbfun.o $(CFLAGS)
-
-xlisp/xlcont.o: xlisp/xlcont.c
-	$(CC) -c xlisp/xlcont.c -o xlisp/xlcont.o $(CFLAGS)
-
-xlisp/xldbug.o: xlisp/xldbug.c
-	$(CC) -c xlisp/xldbug.c -o xlisp/xldbug.o $(CFLAGS)
-
-xlisp/xleval.o: xlisp/xleval.c
-	$(CC) -c xlisp/xleval.c -o xlisp/xleval.o $(CFLAGS)
-
-xlisp/xlfio.o: xlisp/xlfio.c
-	$(CC) -c xlisp/xlfio.c -o xlisp/xlfio.o $(CFLAGS)
-
-xlisp/xlglob.o: xlisp/xlglob.c
-	$(CC) -c xlisp/xlglob.c -o xlisp/xlglob.o $(CFLAGS)
-
-xlisp/xlimage.o: xlisp/xlimage.c
-	$(CC) -c xlisp/xlimage.c -o xlisp/xlimage.o $(CFLAGS)
-
-xlisp/xlinit.o: xlisp/xlinit.c
-	$(CC) -c xlisp/xlinit.c -o xlisp/xlinit.o $(CFLAGS)
-
-xlisp/xlio.o: xlisp/xlio.c
-	$(CC) -c xlisp/xlio.c -o xlisp/xlio.o $(CFLAGS)
-
-xlisp/xlisp.o: xlisp/xlisp.c
-	$(CC) -c xlisp/xlisp.c -o xlisp/xlisp.o $(CFLAGS)
-
-xlisp/xljump.o: xlisp/xljump.c
-	$(CC) -c xlisp/xljump.c -o xlisp/xljump.o $(CFLAGS)
-
-xlisp/xllist.o: xlisp/xllist.c
-	$(CC) -c xlisp/xllist.c -o xlisp/xllist.o $(CFLAGS)
-
-xlisp/xlmath.o: xlisp/xlmath.c
-	$(CC) -c xlisp/xlmath.c -o xlisp/xlmath.o $(CFLAGS)
-
-xlisp/xlobj.o: xlisp/xlobj.c
-	$(CC) -c xlisp/xlobj.c -o xlisp/xlobj.o $(CFLAGS)
-
-xlisp/xlpp.o: xlisp/xlpp.c
-	$(CC) -c xlisp/xlpp.c -o xlisp/xlpp.o $(CFLAGS)
-
-xlisp/xlprin.o: xlisp/xlprin.c
-	$(CC) -c xlisp/xlprin.c -o xlisp/xlprin.o $(CFLAGS)
-
-xlisp/xlread.o: xlisp/xlread.c
-	$(CC) -c xlisp/xlread.c -o xlisp/xlread.o $(CFLAGS)
-
-xlisp/xlstr.o: xlisp/xlstr.c
-	$(CC) -c xlisp/xlstr.c -o xlisp/xlstr.o $(CFLAGS)
-
-xlisp/xlsubr.o: xlisp/xlsubr.c
-	$(CC) -c xlisp/xlsubr.c -o xlisp/xlsubr.o $(CFLAGS)
-
-xlisp/xlsym.o: xlisp/xlsym.c
-	$(CC) -c xlisp/xlsym.c -o xlisp/xlsym.o $(CFLAGS)
-
-xlisp/xlsys.o: xlisp/xlsys.c
-	$(CC) -c xlisp/xlsys.c -o xlisp/xlsys.o $(CFLAGS)
-
-cmt/cext.o: cmt/cext.c
-	$(CC) -c cmt/cext.c -o cmt/cext.o $(CFLAGS)
-
-cmt/cleanup.o: cmt/cleanup.c
-	$(CC) -c cmt/cleanup.c -o cmt/cleanup.o $(CFLAGS)
-
-cmt/cmdline.o: cmt/cmdline.c
-	$(CC) -c cmt/cmdline.c -o cmt/cmdline.o $(CFLAGS)
-
-cmt/cmtcmd.o: cmt/cmtcmd.c
-	$(CC) -c cmt/cmtcmd.c -o cmt/cmtcmd.o $(CFLAGS)
-
-cmt/moxc.o: cmt/moxc.c
-	$(CC) -c cmt/moxc.c -o cmt/moxc.o $(CFLAGS)
-
-cmt/mem.o: cmt/mem.c
-	$(CC) -c cmt/mem.c -o cmt/mem.o $(CFLAGS)
-
-cmt/midifile.o: cmt/midifile.c
-	$(CC) -c cmt/midifile.c -o cmt/midifile.o $(CFLAGS)
-
-cmt/midifns.o: cmt/midifns.c
-	$(CC) -c cmt/midifns.c -o cmt/midifns.o $(CFLAGS)
-
-cmt/record.o: cmt/record.c
-	$(CC) -c cmt/record.c -o cmt/record.o $(CFLAGS)
-
-cmt/seq.o: cmt/seq.c
-	$(CC) -c cmt/seq.c -o cmt/seq.o $(CFLAGS)
-
-cmt/seqmread.o: cmt/seqmread.c
-	$(CC) -c cmt/seqmread.c -o cmt/seqmread.o $(CFLAGS)
-
-cmt/seqmwrite.o: cmt/seqmwrite.c
-	$(CC) -c cmt/seqmwrite.c -o cmt/seqmwrite.o $(CFLAGS)
-
-cmt/seqread.o: cmt/seqread.c
-	$(CC) -c cmt/seqread.c -o cmt/seqread.o $(CFLAGS)
-
-cmt/seqwrite.o: cmt/seqwrite.c
-	$(CC) -c cmt/seqwrite.c -o cmt/seqwrite.o $(CFLAGS)
-
-cmt/tempomap.o: cmt/tempomap.c
-	$(CC) -c cmt/tempomap.c -o cmt/tempomap.o $(CFLAGS)
-
-cmt/timebase.o: cmt/timebase.c
-	$(CC) -c cmt/timebase.c -o cmt/timebase.o $(CFLAGS)
-
-cmt/userio.o: cmt/userio.c
-	$(CC) -c cmt/userio.c -o cmt/userio.o $(CFLAGS)
-
-misc/intgen: misc/intgen.c
-	cd misc; $(MAKE) intgen
-
-misc/unpacker: misc/unpacker.c misc/convert.c
-	cd misc; $(MAKE) unpacker
-
-misc/packer: misc/packer.c misc/convert.c
-	cd misc; $(MAKE) packer
-
-nyqsrc/sndfnintptrs.h: $(NYQHDRS) snd/snd.h misc/intgen
-	$(INTGEN) nyqsrc/sndfnint $(NYQHDRS)
-
-nyqsrc/seqfnintptrs.h: $(CMTHDRS) misc/intgen
-	$(INTGEN) nyqsrc/seqfnint $(CMTHDRS)
-
-nyqsrc/sndfnintdefs.h : nyqsrc/sndfnintptrs.h
-
-nyqsrc/seqfnintdefs.h : nyqsrc/seqfnintptrs.h
-
-nyqsrc/sndfnint.c : nyqsrc/sndfnintptrs.h
-
-nyqsrc/seqfnint.c : nyqsrc/seqfnintptrs.h
-
-clean:
-	rm -f libnyquist.a
-	cd misc; $(MAKE) clean
-	rm -f $(OBJECTS)
-# Note that these files are machine-generated:
-	rm -f nyqsrc/sndfnintptrs.h nyqsrc/sndfnint.c nyqsrc/sndfnintdefs.h
-	rm -f nyqsrc/seqfnintptrs.h nyqsrc/seqfnint.c nyqsrc/seqfnintdefs.h
-
-cleaner: clean
-	cd misc; $(MAKE) cleaner
-	rm -f *.backup */*.backup
-	rm -f *~ */*.*~
-	rm -f *.save */*.save
-	rm -f *.CKP */*.CKP
-	rm -f *.BAK */*.BAK
-	rm -f *.old */*.old
-	rm -f *.gold */*.gold
-	rm -f playparms
-	rm -f points.dat
-
-distclean: cleaner
-	rm -f Makefile
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+NYQUIST = nyquist
+PORTAUDIO_CFLAGS = -I../portaudio-v19/include
+SNDFILE_CFLAGS = -I../libsndfile/src
+
+# tell aclocal that extra macros can be found in autotools/m4/
+ACLOCAL_AMFLAGS = -I autotools/m4
+INC = \
+   -I. \
+   -I$(NYQUIST)/nyqsrc \
+   -I$(NYQUIST)/tran \
+   -I$(NYQUIST)/xlisp \
+   -I$(NYQUIST)/sys/unix \
+   -I$(NYQUIST)/cmt \
+   -I$(NYQUIST)/ffts/src \
+   -I$(NYQUIST)/nyqstk/include \
+   -I$(NYQUIST)/nyqstk
+
+AM_CFLAGS = $(INC) $(PORTAUDIO_CFLAGS) $(SNDFILE_CFLAGS) \
+   -DCMTSTUFF -DEXT
+
+AM_CXXFLAGS = $(INC) $(PORTAUDIO_CFLAGS) $(SNDFILE_CFLAGS) \
+   -DCMTSTUFF -DEXT
+
+
+# define the output library (link with -lportSMF)
+lib_LIBRARIES = libnyquist.a
+
+# define the source files to use
+libnyquist_a_SOURCES = \
+   $(NYQUIST)/xlisp/extern.c \
+   $(NYQUIST)/xlisp/xldmem.c \
+   $(NYQUIST)/xlisp/xlbfun.c \
+   $(NYQUIST)/xlisp/xlcont.c \
+   $(NYQUIST)/xlisp/xldbug.c \
+   $(NYQUIST)/xlisp/xleval.c \
+   $(NYQUIST)/xlisp/xlfio.c \
+   $(NYQUIST)/xlisp/xlftab.c \
+   $(NYQUIST)/xlisp/xlglob.c \
+   $(NYQUIST)/xlisp/xlimage.c \
+   $(NYQUIST)/xlisp/xlinit.c \
+   $(NYQUIST)/xlisp/xlio.c \
+   $(NYQUIST)/xlisp/xlisp.c \
+   $(NYQUIST)/xlisp/xljump.c \
+   $(NYQUIST)/xlisp/xllist.c \
+   $(NYQUIST)/xlisp/xlmath.c \
+   $(NYQUIST)/xlisp/xlobj.c \
+   $(NYQUIST)/xlisp/xlpp.c \
+   $(NYQUIST)/xlisp/xlprin.c \
+   $(NYQUIST)/xlisp/xlread.c \
+   $(NYQUIST)/xlisp/xlstr.c \
+   $(NYQUIST)/xlisp/xlsubr.c \
+   $(NYQUIST)/xlisp/xlsym.c \
+   $(NYQUIST)/xlisp/xlsys.c \
+   $(NYQUIST)/xlisp/path.c \
+   $(NYQUIST)/tran/abs.c \
+   $(NYQUIST)/tran/allpoles.c \
+   $(NYQUIST)/tran/alpass.c \
+   $(NYQUIST)/tran/alpasscv.c \
+   $(NYQUIST)/tran/alpassvv.c \
+   $(NYQUIST)/tran/amosc.c \
+   $(NYQUIST)/tran/areson.c \
+   $(NYQUIST)/tran/aresonvc.c \
+   $(NYQUIST)/tran/aresoncv.c \
+   $(NYQUIST)/tran/aresonvv.c \
+   $(NYQUIST)/tran/atone.c \
+   $(NYQUIST)/tran/atonev.c \
+   $(NYQUIST)/tran/biquadfilt.c \
+   $(NYQUIST)/tran/buzz.c \
+   $(NYQUIST)/tran/chase.c \
+   $(NYQUIST)/tran/clip.c \
+   $(NYQUIST)/tran/congen.c \
+   $(NYQUIST)/tran/const.c \
+   $(NYQUIST)/tran/coterm.c \
+   $(NYQUIST)/tran/delaycc.c \
+   $(NYQUIST)/tran/delaycv.c \
+   $(NYQUIST)/tran/eqbandvvv.c \
+   $(NYQUIST)/tran/exp.c \
+   $(NYQUIST)/tran/follow.c \
+   $(NYQUIST)/tran/fmosc.c \
+   $(NYQUIST)/tran/fromobject.c \
+   $(NYQUIST)/tran/fromarraystream.c \
+   $(NYQUIST)/tran/gate.c \
+   $(NYQUIST)/tran/ifft.c \
+   $(NYQUIST)/tran/instrclar.c \
+   $(NYQUIST)/tran/instrclarall.c \
+   $(NYQUIST)/tran/instrclarfreq.c \
+   $(NYQUIST)/tran/instrsax.c \
+   $(NYQUIST)/tran/instrsaxall.c \
+   $(NYQUIST)/tran/instrsaxfreq.c \
+   $(NYQUIST)/tran/integrate.c \
+   $(NYQUIST)/tran/log.c \
+   $(NYQUIST)/tran/lpreson.c \
+   $(NYQUIST)/tran/maxv.c \
+   $(NYQUIST)/tran/offset.c \
+   $(NYQUIST)/tran/oneshot.c \
+   $(NYQUIST)/tran/osc.c \
+   $(NYQUIST)/tran/partial.c \
+   $(NYQUIST)/tran/pluck.c \
+   $(NYQUIST)/tran/prod.c \
+   $(NYQUIST)/tran/pwl.c \
+   $(NYQUIST)/tran/quantize.c \
+   $(NYQUIST)/tran/recip.c \
+   $(NYQUIST)/tran/reson.c \
+   $(NYQUIST)/tran/resonvc.c \
+   $(NYQUIST)/tran/resoncv.c \
+   $(NYQUIST)/tran/resonvv.c \
+   $(NYQUIST)/tran/sampler.c \
+   $(NYQUIST)/tran/scale.c \
+   $(NYQUIST)/tran/shape.c \
+   $(NYQUIST)/tran/sine.c \
+   $(NYQUIST)/tran/siosc.c \
+   $(NYQUIST)/tran/slope.c \
+   $(NYQUIST)/tran/sqrt.c \
+   $(NYQUIST)/tran/tapf.c \
+   $(NYQUIST)/tran/tapv.c \
+   $(NYQUIST)/tran/tone.c \
+   $(NYQUIST)/tran/tonev.c \
+   $(NYQUIST)/tran/upsample.c \
+   $(NYQUIST)/tran/white.c \
+   $(NYQUIST)/tran/stkrev.c \
+   $(NYQUIST)/tran/stkpitshift.c \
+   $(NYQUIST)/tran/stkchorus.c \
+   $(NYQUIST)/tran/instrbow.c \
+   $(NYQUIST)/tran/instrbowedfreq.c \
+   $(NYQUIST)/tran/instrbanded.c \
+   $(NYQUIST)/tran/instrmandolin.c \
+   $(NYQUIST)/tran/instrsitar.c \
+   $(NYQUIST)/tran/instrmodalbar.c \
+   $(NYQUIST)/tran/instrflute.c \
+   $(NYQUIST)/tran/instrflutefreq.c \
+   $(NYQUIST)/tran/instrfluteall.c \
+   $(NYQUIST)/tran/fmfb.c \
+   $(NYQUIST)/tran/fmfbv.c \
+   $(NYQUIST)/cmt/cext.c \
+   $(NYQUIST)/cmt/cleanup.c \
+   $(NYQUIST)/cmt/cmdline.c \
+   $(NYQUIST)/cmt/cmtcmd.c \
+   $(NYQUIST)/cmt/moxc.c \
+   $(NYQUIST)/cmt/mem.c \
+   $(NYQUIST)/cmt/midifile.c \
+   $(NYQUIST)/cmt/midifns.c \
+   $(NYQUIST)/cmt/record.c \
+   $(NYQUIST)/cmt/seq.c \
+   $(NYQUIST)/cmt/seqmread.c \
+   $(NYQUIST)/cmt/seqmwrite.c \
+   $(NYQUIST)/cmt/seqread.c \
+   $(NYQUIST)/cmt/seqwrite.c \
+   $(NYQUIST)/cmt/tempomap.c \
+   $(NYQUIST)/cmt/timebase.c \
+   $(NYQUIST)/cmt/userio.c \
+   $(NYQUIST)/nyqsrc/debug.c \
+   $(NYQUIST)/nyqsrc/falloc.c \
+   $(NYQUIST)/nyqsrc/local.c \
+   $(NYQUIST)/nyqsrc/handlers.c \
+   $(NYQUIST)/nyqsrc/multiread.c \
+   $(NYQUIST)/nyqsrc/seqext.c \
+   $(NYQUIST)/nyqsrc/seqinterf.c \
+   $(NYQUIST)/nyqsrc/stats.c \
+   $(NYQUIST)/nyqsrc/ffilterkit.c \
+   $(NYQUIST)/nyqsrc/sliders.c \
+   $(NYQUIST)/nyqsrc/sound.c \
+   $(NYQUIST)/nyqsrc/add.c \
+   $(NYQUIST)/nyqsrc/avg.c \
+   $(NYQUIST)/nyqsrc/compose.c \
+   $(NYQUIST)/nyqsrc/convolve.c \
+   $(NYQUIST)/nyqsrc/downsample.c \
+   $(NYQUIST)/nyqsrc/fft.c \
+   $(NYQUIST)/nyqsrc/inverse.c \
+   $(NYQUIST)/nyqsrc/multiseq.c \
+   $(NYQUIST)/nyqsrc/resamp.c \
+   $(NYQUIST)/nyqsrc/resampv.c \
+   $(NYQUIST)/nyqsrc/samples.c \
+   $(NYQUIST)/nyqsrc/sndmax.c \
+   $(NYQUIST)/nyqsrc/sndread.c \
+   $(NYQUIST)/nyqsrc/sndseq.c \
+   $(NYQUIST)/nyqsrc/sndwritepa.c \
+   $(NYQUIST)/nyqsrc/yin.c \
+   $(NYQUIST)/nyqsrc/trigger.c \
+   $(NYQUIST)/nyqsrc/lpanal.c \
+   $(NYQUIST)/nyqstk/src/Generator.cpp \
+   $(NYQUIST)/nyqstk/src/SineWave.cpp \
+   $(NYQUIST)/nyqstk/src/Function.cpp \
+   $(NYQUIST)/nyqstk/src/FileRead.cpp \
+   $(NYQUIST)/nyqstk/src/FileWvIn.cpp \
+   $(NYQUIST)/nyqstk/src/Effect.cpp \
+   $(NYQUIST)/nyqstk/src/Clarinet.cpp \
+   $(NYQUIST)/nyqstk/src/Delay.cpp \
+   $(NYQUIST)/nyqstk/src/DelayL.cpp \
+   $(NYQUIST)/nyqstk/src/Envelope.cpp \
+   $(NYQUIST)/nyqstk/src/Filter.cpp \
+   $(NYQUIST)/nyqstk/src/Instrmnt.cpp \
+   $(NYQUIST)/nyqstk/src/Noise.cpp \
+   $(NYQUIST)/nyqstk/src/OneZero.cpp \
+   $(NYQUIST)/nyqstk/src/ReedTable.cpp \
+   $(NYQUIST)/nyqstk/src/Saxofony.cpp \
+   $(NYQUIST)/nyqstk/src/Stk.cpp \
+   $(NYQUIST)/nyqstk/src/WaveLoop.cpp \
+   $(NYQUIST)/nyqstk/src/WvIn.cpp \
+   $(NYQUIST)/nyqstk/src/NRev.cpp \
+   $(NYQUIST)/nyqstk/src/JCRev.cpp \
+   $(NYQUIST)/nyqstk/src/PRCRev.cpp \
+   $(NYQUIST)/nyqstk/src/PitShift.cpp \
+   $(NYQUIST)/nyqstk/src/Chorus.cpp \
+   $(NYQUIST)/nyqstk/src/Bowed.cpp \
+   $(NYQUIST)/nyqstk/src/BowTable.cpp \
+   $(NYQUIST)/nyqstk/src/ADSR.cpp \
+   $(NYQUIST)/nyqstk/src/OnePole.cpp \
+   $(NYQUIST)/nyqstk/src/BiQuad.cpp \
+   $(NYQUIST)/nyqstk/src/BandedWG.cpp \
+   $(NYQUIST)/nyqstk/src/DelayA.cpp \
+   $(NYQUIST)/nyqstk/src/Mandolin.cpp \
+   $(NYQUIST)/nyqstk/src/PluckTwo.cpp \
+   $(NYQUIST)/nyqstk/src/Sitar.cpp \
+   $(NYQUIST)/nyqstk/src/ModalBar.cpp \
+   $(NYQUIST)/nyqstk/src/Modal.cpp \
+   $(NYQUIST)/nyqstk/src/Flute.cpp \
+   $(NYQUIST)/nyqstk/src/JetTable.cpp \
+   $(NYQUIST)/nyqstk/src/PoleZero.cpp \
+   $(NYQUIST)/nyqstk/stkinit.cpp \
+   $(NYQUIST)/nyqstk/instr.cpp \
+   $(NYQUIST)/nyqstk/stkint.cpp \
+   $(NYQUIST)/ffts/src/fftext.c \
+   $(NYQUIST)/ffts/src/fftlib.c \
+   $(NYQUIST)/ffts/src/matlib.c \
+   $(NYQUIST)/nyqsrc/sndfnint.c \
+   $(NYQUIST)/nyqsrc/seqfnint.c \
+   nyx.c
+
+
+# files that only really viscous cleans remove
+MAINTAINERCLEANFILES = Makefile.in
+
+# other distributed files in case users don't have a complete set of auto*
+AUX_DIST = $(ac_aux_dir)/config.guess \
+   $(ac_aux_dir)/config.sub \
+   $(ac_aux_dir)/install-sh \
+   $(ac_aux_dir)/mdate-sh \
+   $(ac_aux_dir)/missing \
+   $(ac_aux_dir)/mkinstalldirs \
+   $(MAINTAINERCLEANFILES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .cpp .o .obj
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+install-libLIBRARIES: $(lib_LIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+	@$(POST_INSTALL)
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    p=$(am__strip_dir) \
+	    echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \
+	    $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \
+	  else :; fi; \
+	done
+
+uninstall-libLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLIBRARIES:
+	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+libnyquist.a: $(libnyquist_a_OBJECTS) $(libnyquist_a_DEPENDENCIES) 
+	-rm -f libnyquist.a
+	$(libnyquist_a_AR) libnyquist.a $(libnyquist_a_OBJECTS) $(libnyquist_a_LIBADD)
+	$(RANLIB) libnyquist.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ADSR.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BandedWG.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BiQuad.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BowTable.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Bowed.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Chorus.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Clarinet.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Delay.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DelayA.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DelayL.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Effect.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Envelope.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FileRead.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FileWvIn.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Filter.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Flute.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Function.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Generator.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Instrmnt.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/JCRev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/JetTable.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Mandolin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Modal.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ModalBar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/NRev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Noise.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/OnePole.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/OneZero.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PRCRev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PitShift.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PluckTwo.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PoleZero.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ReedTable.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Saxofony.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SineWave.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Sitar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Stk.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/WaveLoop.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/WvIn.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/abs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/add.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/allpoles.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/alpass.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/alpasscv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/alpassvv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/amosc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/areson.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/aresoncv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/aresonvc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/aresonvv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/atone.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/atonev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/avg.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/biquadfilt.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/buzz.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cext.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/chase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cleanup.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/clip.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cmdline.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cmtcmd.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/compose.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/congen.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/const.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/convolve.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/coterm.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/debug.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/delaycc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/delaycv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/downsample.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/eqbandvvv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/exp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/extern.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/falloc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ffilterkit.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fft.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fftext.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fftlib.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fmfb.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fmfbv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fmosc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/follow.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromarraystream.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromobject.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gate.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/handlers.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ifft.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrbanded.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrbow.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrbowedfreq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrclar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrclarall.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrclarfreq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrflute.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrfluteall.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrflutefreq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrmandolin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrmodalbar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrsax.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrsaxall.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrsaxfreq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/instrsitar.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/integrate.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/inverse.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/local.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/log.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lpanal.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lpreson.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matlib.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/maxv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mem.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midifile.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midifns.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/moxc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/multiread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/multiseq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nyx.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/offset.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/oneshot.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/osc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/partial.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/path.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pluck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prod.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pwl.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/quantize.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/recip.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/record.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resamp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resampv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reson.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resoncv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resonvc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/resonvv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sampler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/samples.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/scale.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqext.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqfnint.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqinterf.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqmread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqmwrite.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seqwrite.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/shape.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sine.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/siosc.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sliders.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/slope.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sndfnint.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sndmax.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sndread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sndseq.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sndwritepa.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sound.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sqrt.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stats.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stkchorus.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stkinit.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stkint.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stkpitshift.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stkrev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tapf.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tapv.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tempomap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timebase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tone.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tonev.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/trigger.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upsample.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/userio.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/white.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlbfun.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlcont.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xldbug.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xldmem.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xleval.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlfio.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlftab.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlglob.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlimage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlinit.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlio.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlisp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xljump.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xllist.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlmath.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlobj.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlpp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlprin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlread.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlstr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlsubr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlsym.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xlsys.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/yin.Po at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+extern.o: $(NYQUIST)/xlisp/extern.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extern.o -MD -MP -MF $(DEPDIR)/extern.Tpo -c -o extern.o `test -f '$(NYQUIST)/xlisp/extern.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/extern.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/extern.Tpo $(DEPDIR)/extern.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/extern.c' object='extern.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extern.o `test -f '$(NYQUIST)/xlisp/extern.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/extern.c
+
+extern.obj: $(NYQUIST)/xlisp/extern.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extern.obj -MD -MP -MF $(DEPDIR)/extern.Tpo -c -o extern.obj `if test -f '$(NYQUIST)/xlisp/extern.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/extern.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/extern.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/extern.Tpo $(DEPDIR)/extern.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/extern.c' object='extern.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extern.obj `if test -f '$(NYQUIST)/xlisp/extern.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/extern.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/extern.c'; fi`
+
+xldmem.o: $(NYQUIST)/xlisp/xldmem.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xldmem.o -MD -MP -MF $(DEPDIR)/xldmem.Tpo -c -o xldmem.o `test -f '$(NYQUIST)/xlisp/xldmem.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xldmem.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xldmem.Tpo $(DEPDIR)/xldmem.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xldmem.c' object='xldmem.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xldmem.o `test -f '$(NYQUIST)/xlisp/xldmem.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xldmem.c
+
+xldmem.obj: $(NYQUIST)/xlisp/xldmem.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xldmem.obj -MD -MP -MF $(DEPDIR)/xldmem.Tpo -c -o xldmem.obj `if test -f '$(NYQUIST)/xlisp/xldmem.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xldmem.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xldmem.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xldmem.Tpo $(DEPDIR)/xldmem.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xldmem.c' object='xldmem.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xldmem.obj `if test -f '$(NYQUIST)/xlisp/xldmem.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xldmem.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xldmem.c'; fi`
+
+xlbfun.o: $(NYQUIST)/xlisp/xlbfun.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlbfun.o -MD -MP -MF $(DEPDIR)/xlbfun.Tpo -c -o xlbfun.o `test -f '$(NYQUIST)/xlisp/xlbfun.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlbfun.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlbfun.Tpo $(DEPDIR)/xlbfun.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlbfun.c' object='xlbfun.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlbfun.o `test -f '$(NYQUIST)/xlisp/xlbfun.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlbfun.c
+
+xlbfun.obj: $(NYQUIST)/xlisp/xlbfun.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlbfun.obj -MD -MP -MF $(DEPDIR)/xlbfun.Tpo -c -o xlbfun.obj `if test -f '$(NYQUIST)/xlisp/xlbfun.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlbfun.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlbfun.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlbfun.Tpo $(DEPDIR)/xlbfun.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlbfun.c' object='xlbfun.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlbfun.obj `if test -f '$(NYQUIST)/xlisp/xlbfun.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlbfun.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlbfun.c'; fi`
+
+xlcont.o: $(NYQUIST)/xlisp/xlcont.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlcont.o -MD -MP -MF $(DEPDIR)/xlcont.Tpo -c -o xlcont.o `test -f '$(NYQUIST)/xlisp/xlcont.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlcont.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlcont.Tpo $(DEPDIR)/xlcont.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlcont.c' object='xlcont.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlcont.o `test -f '$(NYQUIST)/xlisp/xlcont.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlcont.c
+
+xlcont.obj: $(NYQUIST)/xlisp/xlcont.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlcont.obj -MD -MP -MF $(DEPDIR)/xlcont.Tpo -c -o xlcont.obj `if test -f '$(NYQUIST)/xlisp/xlcont.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlcont.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlcont.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlcont.Tpo $(DEPDIR)/xlcont.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlcont.c' object='xlcont.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlcont.obj `if test -f '$(NYQUIST)/xlisp/xlcont.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlcont.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlcont.c'; fi`
+
+xldbug.o: $(NYQUIST)/xlisp/xldbug.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xldbug.o -MD -MP -MF $(DEPDIR)/xldbug.Tpo -c -o xldbug.o `test -f '$(NYQUIST)/xlisp/xldbug.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xldbug.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xldbug.Tpo $(DEPDIR)/xldbug.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xldbug.c' object='xldbug.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xldbug.o `test -f '$(NYQUIST)/xlisp/xldbug.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xldbug.c
+
+xldbug.obj: $(NYQUIST)/xlisp/xldbug.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xldbug.obj -MD -MP -MF $(DEPDIR)/xldbug.Tpo -c -o xldbug.obj `if test -f '$(NYQUIST)/xlisp/xldbug.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xldbug.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xldbug.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xldbug.Tpo $(DEPDIR)/xldbug.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xldbug.c' object='xldbug.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xldbug.obj `if test -f '$(NYQUIST)/xlisp/xldbug.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xldbug.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xldbug.c'; fi`
+
+xleval.o: $(NYQUIST)/xlisp/xleval.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xleval.o -MD -MP -MF $(DEPDIR)/xleval.Tpo -c -o xleval.o `test -f '$(NYQUIST)/xlisp/xleval.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xleval.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xleval.Tpo $(DEPDIR)/xleval.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xleval.c' object='xleval.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xleval.o `test -f '$(NYQUIST)/xlisp/xleval.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xleval.c
+
+xleval.obj: $(NYQUIST)/xlisp/xleval.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xleval.obj -MD -MP -MF $(DEPDIR)/xleval.Tpo -c -o xleval.obj `if test -f '$(NYQUIST)/xlisp/xleval.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xleval.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xleval.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xleval.Tpo $(DEPDIR)/xleval.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xleval.c' object='xleval.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xleval.obj `if test -f '$(NYQUIST)/xlisp/xleval.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xleval.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xleval.c'; fi`
+
+xlfio.o: $(NYQUIST)/xlisp/xlfio.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlfio.o -MD -MP -MF $(DEPDIR)/xlfio.Tpo -c -o xlfio.o `test -f '$(NYQUIST)/xlisp/xlfio.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlfio.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlfio.Tpo $(DEPDIR)/xlfio.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlfio.c' object='xlfio.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlfio.o `test -f '$(NYQUIST)/xlisp/xlfio.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlfio.c
+
+xlfio.obj: $(NYQUIST)/xlisp/xlfio.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlfio.obj -MD -MP -MF $(DEPDIR)/xlfio.Tpo -c -o xlfio.obj `if test -f '$(NYQUIST)/xlisp/xlfio.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlfio.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlfio.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlfio.Tpo $(DEPDIR)/xlfio.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlfio.c' object='xlfio.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlfio.obj `if test -f '$(NYQUIST)/xlisp/xlfio.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlfio.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlfio.c'; fi`
+
+xlftab.o: $(NYQUIST)/xlisp/xlftab.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlftab.o -MD -MP -MF $(DEPDIR)/xlftab.Tpo -c -o xlftab.o `test -f '$(NYQUIST)/xlisp/xlftab.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlftab.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlftab.Tpo $(DEPDIR)/xlftab.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlftab.c' object='xlftab.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlftab.o `test -f '$(NYQUIST)/xlisp/xlftab.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlftab.c
+
+xlftab.obj: $(NYQUIST)/xlisp/xlftab.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlftab.obj -MD -MP -MF $(DEPDIR)/xlftab.Tpo -c -o xlftab.obj `if test -f '$(NYQUIST)/xlisp/xlftab.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlftab.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlftab.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlftab.Tpo $(DEPDIR)/xlftab.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlftab.c' object='xlftab.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlftab.obj `if test -f '$(NYQUIST)/xlisp/xlftab.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlftab.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlftab.c'; fi`
+
+xlglob.o: $(NYQUIST)/xlisp/xlglob.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlglob.o -MD -MP -MF $(DEPDIR)/xlglob.Tpo -c -o xlglob.o `test -f '$(NYQUIST)/xlisp/xlglob.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlglob.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlglob.Tpo $(DEPDIR)/xlglob.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlglob.c' object='xlglob.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlglob.o `test -f '$(NYQUIST)/xlisp/xlglob.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlglob.c
+
+xlglob.obj: $(NYQUIST)/xlisp/xlglob.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlglob.obj -MD -MP -MF $(DEPDIR)/xlglob.Tpo -c -o xlglob.obj `if test -f '$(NYQUIST)/xlisp/xlglob.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlglob.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlglob.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlglob.Tpo $(DEPDIR)/xlglob.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlglob.c' object='xlglob.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlglob.obj `if test -f '$(NYQUIST)/xlisp/xlglob.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlglob.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlglob.c'; fi`
+
+xlimage.o: $(NYQUIST)/xlisp/xlimage.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlimage.o -MD -MP -MF $(DEPDIR)/xlimage.Tpo -c -o xlimage.o `test -f '$(NYQUIST)/xlisp/xlimage.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlimage.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlimage.Tpo $(DEPDIR)/xlimage.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlimage.c' object='xlimage.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlimage.o `test -f '$(NYQUIST)/xlisp/xlimage.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlimage.c
+
+xlimage.obj: $(NYQUIST)/xlisp/xlimage.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlimage.obj -MD -MP -MF $(DEPDIR)/xlimage.Tpo -c -o xlimage.obj `if test -f '$(NYQUIST)/xlisp/xlimage.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlimage.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlimage.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlimage.Tpo $(DEPDIR)/xlimage.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlimage.c' object='xlimage.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlimage.obj `if test -f '$(NYQUIST)/xlisp/xlimage.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlimage.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlimage.c'; fi`
+
+xlinit.o: $(NYQUIST)/xlisp/xlinit.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlinit.o -MD -MP -MF $(DEPDIR)/xlinit.Tpo -c -o xlinit.o `test -f '$(NYQUIST)/xlisp/xlinit.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlinit.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlinit.Tpo $(DEPDIR)/xlinit.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlinit.c' object='xlinit.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlinit.o `test -f '$(NYQUIST)/xlisp/xlinit.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlinit.c
+
+xlinit.obj: $(NYQUIST)/xlisp/xlinit.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlinit.obj -MD -MP -MF $(DEPDIR)/xlinit.Tpo -c -o xlinit.obj `if test -f '$(NYQUIST)/xlisp/xlinit.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlinit.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlinit.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlinit.Tpo $(DEPDIR)/xlinit.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlinit.c' object='xlinit.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlinit.obj `if test -f '$(NYQUIST)/xlisp/xlinit.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlinit.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlinit.c'; fi`
+
+xlio.o: $(NYQUIST)/xlisp/xlio.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlio.o -MD -MP -MF $(DEPDIR)/xlio.Tpo -c -o xlio.o `test -f '$(NYQUIST)/xlisp/xlio.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlio.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlio.Tpo $(DEPDIR)/xlio.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlio.c' object='xlio.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlio.o `test -f '$(NYQUIST)/xlisp/xlio.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlio.c
+
+xlio.obj: $(NYQUIST)/xlisp/xlio.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlio.obj -MD -MP -MF $(DEPDIR)/xlio.Tpo -c -o xlio.obj `if test -f '$(NYQUIST)/xlisp/xlio.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlio.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlio.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlio.Tpo $(DEPDIR)/xlio.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlio.c' object='xlio.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlio.obj `if test -f '$(NYQUIST)/xlisp/xlio.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlio.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlio.c'; fi`
+
+xlisp.o: $(NYQUIST)/xlisp/xlisp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlisp.o -MD -MP -MF $(DEPDIR)/xlisp.Tpo -c -o xlisp.o `test -f '$(NYQUIST)/xlisp/xlisp.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlisp.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlisp.Tpo $(DEPDIR)/xlisp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlisp.c' object='xlisp.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlisp.o `test -f '$(NYQUIST)/xlisp/xlisp.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlisp.c
+
+xlisp.obj: $(NYQUIST)/xlisp/xlisp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlisp.obj -MD -MP -MF $(DEPDIR)/xlisp.Tpo -c -o xlisp.obj `if test -f '$(NYQUIST)/xlisp/xlisp.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlisp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlisp.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlisp.Tpo $(DEPDIR)/xlisp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlisp.c' object='xlisp.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlisp.obj `if test -f '$(NYQUIST)/xlisp/xlisp.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlisp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlisp.c'; fi`
+
+xljump.o: $(NYQUIST)/xlisp/xljump.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xljump.o -MD -MP -MF $(DEPDIR)/xljump.Tpo -c -o xljump.o `test -f '$(NYQUIST)/xlisp/xljump.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xljump.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xljump.Tpo $(DEPDIR)/xljump.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xljump.c' object='xljump.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xljump.o `test -f '$(NYQUIST)/xlisp/xljump.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xljump.c
+
+xljump.obj: $(NYQUIST)/xlisp/xljump.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xljump.obj -MD -MP -MF $(DEPDIR)/xljump.Tpo -c -o xljump.obj `if test -f '$(NYQUIST)/xlisp/xljump.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xljump.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xljump.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xljump.Tpo $(DEPDIR)/xljump.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xljump.c' object='xljump.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xljump.obj `if test -f '$(NYQUIST)/xlisp/xljump.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xljump.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xljump.c'; fi`
+
+xllist.o: $(NYQUIST)/xlisp/xllist.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xllist.o -MD -MP -MF $(DEPDIR)/xllist.Tpo -c -o xllist.o `test -f '$(NYQUIST)/xlisp/xllist.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xllist.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xllist.Tpo $(DEPDIR)/xllist.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xllist.c' object='xllist.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xllist.o `test -f '$(NYQUIST)/xlisp/xllist.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xllist.c
+
+xllist.obj: $(NYQUIST)/xlisp/xllist.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xllist.obj -MD -MP -MF $(DEPDIR)/xllist.Tpo -c -o xllist.obj `if test -f '$(NYQUIST)/xlisp/xllist.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xllist.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xllist.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xllist.Tpo $(DEPDIR)/xllist.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xllist.c' object='xllist.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xllist.obj `if test -f '$(NYQUIST)/xlisp/xllist.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xllist.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xllist.c'; fi`
+
+xlmath.o: $(NYQUIST)/xlisp/xlmath.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlmath.o -MD -MP -MF $(DEPDIR)/xlmath.Tpo -c -o xlmath.o `test -f '$(NYQUIST)/xlisp/xlmath.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlmath.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlmath.Tpo $(DEPDIR)/xlmath.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlmath.c' object='xlmath.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlmath.o `test -f '$(NYQUIST)/xlisp/xlmath.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlmath.c
+
+xlmath.obj: $(NYQUIST)/xlisp/xlmath.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlmath.obj -MD -MP -MF $(DEPDIR)/xlmath.Tpo -c -o xlmath.obj `if test -f '$(NYQUIST)/xlisp/xlmath.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlmath.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlmath.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlmath.Tpo $(DEPDIR)/xlmath.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlmath.c' object='xlmath.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlmath.obj `if test -f '$(NYQUIST)/xlisp/xlmath.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlmath.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlmath.c'; fi`
+
+xlobj.o: $(NYQUIST)/xlisp/xlobj.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlobj.o -MD -MP -MF $(DEPDIR)/xlobj.Tpo -c -o xlobj.o `test -f '$(NYQUIST)/xlisp/xlobj.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlobj.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlobj.Tpo $(DEPDIR)/xlobj.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlobj.c' object='xlobj.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlobj.o `test -f '$(NYQUIST)/xlisp/xlobj.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlobj.c
+
+xlobj.obj: $(NYQUIST)/xlisp/xlobj.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlobj.obj -MD -MP -MF $(DEPDIR)/xlobj.Tpo -c -o xlobj.obj `if test -f '$(NYQUIST)/xlisp/xlobj.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlobj.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlobj.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlobj.Tpo $(DEPDIR)/xlobj.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlobj.c' object='xlobj.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlobj.obj `if test -f '$(NYQUIST)/xlisp/xlobj.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlobj.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlobj.c'; fi`
+
+xlpp.o: $(NYQUIST)/xlisp/xlpp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlpp.o -MD -MP -MF $(DEPDIR)/xlpp.Tpo -c -o xlpp.o `test -f '$(NYQUIST)/xlisp/xlpp.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlpp.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlpp.Tpo $(DEPDIR)/xlpp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlpp.c' object='xlpp.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlpp.o `test -f '$(NYQUIST)/xlisp/xlpp.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlpp.c
+
+xlpp.obj: $(NYQUIST)/xlisp/xlpp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlpp.obj -MD -MP -MF $(DEPDIR)/xlpp.Tpo -c -o xlpp.obj `if test -f '$(NYQUIST)/xlisp/xlpp.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlpp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlpp.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlpp.Tpo $(DEPDIR)/xlpp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlpp.c' object='xlpp.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlpp.obj `if test -f '$(NYQUIST)/xlisp/xlpp.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlpp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlpp.c'; fi`
+
+xlprin.o: $(NYQUIST)/xlisp/xlprin.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlprin.o -MD -MP -MF $(DEPDIR)/xlprin.Tpo -c -o xlprin.o `test -f '$(NYQUIST)/xlisp/xlprin.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlprin.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlprin.Tpo $(DEPDIR)/xlprin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlprin.c' object='xlprin.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlprin.o `test -f '$(NYQUIST)/xlisp/xlprin.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlprin.c
+
+xlprin.obj: $(NYQUIST)/xlisp/xlprin.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlprin.obj -MD -MP -MF $(DEPDIR)/xlprin.Tpo -c -o xlprin.obj `if test -f '$(NYQUIST)/xlisp/xlprin.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlprin.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlprin.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlprin.Tpo $(DEPDIR)/xlprin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlprin.c' object='xlprin.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlprin.obj `if test -f '$(NYQUIST)/xlisp/xlprin.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlprin.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlprin.c'; fi`
+
+xlread.o: $(NYQUIST)/xlisp/xlread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlread.o -MD -MP -MF $(DEPDIR)/xlread.Tpo -c -o xlread.o `test -f '$(NYQUIST)/xlisp/xlread.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlread.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlread.Tpo $(DEPDIR)/xlread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlread.c' object='xlread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlread.o `test -f '$(NYQUIST)/xlisp/xlread.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlread.c
+
+xlread.obj: $(NYQUIST)/xlisp/xlread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlread.obj -MD -MP -MF $(DEPDIR)/xlread.Tpo -c -o xlread.obj `if test -f '$(NYQUIST)/xlisp/xlread.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlread.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlread.Tpo $(DEPDIR)/xlread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlread.c' object='xlread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlread.obj `if test -f '$(NYQUIST)/xlisp/xlread.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlread.c'; fi`
+
+xlstr.o: $(NYQUIST)/xlisp/xlstr.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlstr.o -MD -MP -MF $(DEPDIR)/xlstr.Tpo -c -o xlstr.o `test -f '$(NYQUIST)/xlisp/xlstr.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlstr.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlstr.Tpo $(DEPDIR)/xlstr.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlstr.c' object='xlstr.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlstr.o `test -f '$(NYQUIST)/xlisp/xlstr.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlstr.c
+
+xlstr.obj: $(NYQUIST)/xlisp/xlstr.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlstr.obj -MD -MP -MF $(DEPDIR)/xlstr.Tpo -c -o xlstr.obj `if test -f '$(NYQUIST)/xlisp/xlstr.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlstr.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlstr.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlstr.Tpo $(DEPDIR)/xlstr.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlstr.c' object='xlstr.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlstr.obj `if test -f '$(NYQUIST)/xlisp/xlstr.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlstr.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlstr.c'; fi`
+
+xlsubr.o: $(NYQUIST)/xlisp/xlsubr.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlsubr.o -MD -MP -MF $(DEPDIR)/xlsubr.Tpo -c -o xlsubr.o `test -f '$(NYQUIST)/xlisp/xlsubr.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlsubr.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlsubr.Tpo $(DEPDIR)/xlsubr.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlsubr.c' object='xlsubr.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlsubr.o `test -f '$(NYQUIST)/xlisp/xlsubr.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlsubr.c
+
+xlsubr.obj: $(NYQUIST)/xlisp/xlsubr.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlsubr.obj -MD -MP -MF $(DEPDIR)/xlsubr.Tpo -c -o xlsubr.obj `if test -f '$(NYQUIST)/xlisp/xlsubr.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlsubr.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlsubr.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlsubr.Tpo $(DEPDIR)/xlsubr.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlsubr.c' object='xlsubr.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlsubr.obj `if test -f '$(NYQUIST)/xlisp/xlsubr.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlsubr.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlsubr.c'; fi`
+
+xlsym.o: $(NYQUIST)/xlisp/xlsym.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlsym.o -MD -MP -MF $(DEPDIR)/xlsym.Tpo -c -o xlsym.o `test -f '$(NYQUIST)/xlisp/xlsym.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlsym.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlsym.Tpo $(DEPDIR)/xlsym.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlsym.c' object='xlsym.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlsym.o `test -f '$(NYQUIST)/xlisp/xlsym.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlsym.c
+
+xlsym.obj: $(NYQUIST)/xlisp/xlsym.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlsym.obj -MD -MP -MF $(DEPDIR)/xlsym.Tpo -c -o xlsym.obj `if test -f '$(NYQUIST)/xlisp/xlsym.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlsym.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlsym.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlsym.Tpo $(DEPDIR)/xlsym.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlsym.c' object='xlsym.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlsym.obj `if test -f '$(NYQUIST)/xlisp/xlsym.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlsym.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlsym.c'; fi`
+
+xlsys.o: $(NYQUIST)/xlisp/xlsys.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlsys.o -MD -MP -MF $(DEPDIR)/xlsys.Tpo -c -o xlsys.o `test -f '$(NYQUIST)/xlisp/xlsys.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlsys.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlsys.Tpo $(DEPDIR)/xlsys.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlsys.c' object='xlsys.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlsys.o `test -f '$(NYQUIST)/xlisp/xlsys.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/xlsys.c
+
+xlsys.obj: $(NYQUIST)/xlisp/xlsys.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xlsys.obj -MD -MP -MF $(DEPDIR)/xlsys.Tpo -c -o xlsys.obj `if test -f '$(NYQUIST)/xlisp/xlsys.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlsys.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlsys.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/xlsys.Tpo $(DEPDIR)/xlsys.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/xlsys.c' object='xlsys.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xlsys.obj `if test -f '$(NYQUIST)/xlisp/xlsys.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/xlsys.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/xlsys.c'; fi`
+
+path.o: $(NYQUIST)/xlisp/path.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT path.o -MD -MP -MF $(DEPDIR)/path.Tpo -c -o path.o `test -f '$(NYQUIST)/xlisp/path.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/path.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/path.Tpo $(DEPDIR)/path.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/path.c' object='path.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o path.o `test -f '$(NYQUIST)/xlisp/path.c' || echo '$(srcdir)/'`$(NYQUIST)/xlisp/path.c
+
+path.obj: $(NYQUIST)/xlisp/path.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT path.obj -MD -MP -MF $(DEPDIR)/path.Tpo -c -o path.obj `if test -f '$(NYQUIST)/xlisp/path.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/path.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/path.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/path.Tpo $(DEPDIR)/path.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/xlisp/path.c' object='path.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o path.obj `if test -f '$(NYQUIST)/xlisp/path.c'; then $(CYGPATH_W) '$(NYQUIST)/xlisp/path.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/xlisp/path.c'; fi`
+
+abs.o: $(NYQUIST)/tran/abs.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT abs.o -MD -MP -MF $(DEPDIR)/abs.Tpo -c -o abs.o `test -f '$(NYQUIST)/tran/abs.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/abs.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/abs.Tpo $(DEPDIR)/abs.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/abs.c' object='abs.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o abs.o `test -f '$(NYQUIST)/tran/abs.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/abs.c
+
+abs.obj: $(NYQUIST)/tran/abs.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT abs.obj -MD -MP -MF $(DEPDIR)/abs.Tpo -c -o abs.obj `if test -f '$(NYQUIST)/tran/abs.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/abs.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/abs.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/abs.Tpo $(DEPDIR)/abs.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/abs.c' object='abs.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o abs.obj `if test -f '$(NYQUIST)/tran/abs.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/abs.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/abs.c'; fi`
+
+allpoles.o: $(NYQUIST)/tran/allpoles.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT allpoles.o -MD -MP -MF $(DEPDIR)/allpoles.Tpo -c -o allpoles.o `test -f '$(NYQUIST)/tran/allpoles.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/allpoles.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/allpoles.Tpo $(DEPDIR)/allpoles.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/allpoles.c' object='allpoles.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o allpoles.o `test -f '$(NYQUIST)/tran/allpoles.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/allpoles.c
+
+allpoles.obj: $(NYQUIST)/tran/allpoles.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT allpoles.obj -MD -MP -MF $(DEPDIR)/allpoles.Tpo -c -o allpoles.obj `if test -f '$(NYQUIST)/tran/allpoles.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/allpoles.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/allpoles.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/allpoles.Tpo $(DEPDIR)/allpoles.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/allpoles.c' object='allpoles.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o allpoles.obj `if test -f '$(NYQUIST)/tran/allpoles.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/allpoles.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/allpoles.c'; fi`
+
+alpass.o: $(NYQUIST)/tran/alpass.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alpass.o -MD -MP -MF $(DEPDIR)/alpass.Tpo -c -o alpass.o `test -f '$(NYQUIST)/tran/alpass.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/alpass.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/alpass.Tpo $(DEPDIR)/alpass.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/alpass.c' object='alpass.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alpass.o `test -f '$(NYQUIST)/tran/alpass.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/alpass.c
+
+alpass.obj: $(NYQUIST)/tran/alpass.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alpass.obj -MD -MP -MF $(DEPDIR)/alpass.Tpo -c -o alpass.obj `if test -f '$(NYQUIST)/tran/alpass.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/alpass.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/alpass.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/alpass.Tpo $(DEPDIR)/alpass.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/alpass.c' object='alpass.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alpass.obj `if test -f '$(NYQUIST)/tran/alpass.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/alpass.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/alpass.c'; fi`
+
+alpasscv.o: $(NYQUIST)/tran/alpasscv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alpasscv.o -MD -MP -MF $(DEPDIR)/alpasscv.Tpo -c -o alpasscv.o `test -f '$(NYQUIST)/tran/alpasscv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/alpasscv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/alpasscv.Tpo $(DEPDIR)/alpasscv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/alpasscv.c' object='alpasscv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alpasscv.o `test -f '$(NYQUIST)/tran/alpasscv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/alpasscv.c
+
+alpasscv.obj: $(NYQUIST)/tran/alpasscv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alpasscv.obj -MD -MP -MF $(DEPDIR)/alpasscv.Tpo -c -o alpasscv.obj `if test -f '$(NYQUIST)/tran/alpasscv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/alpasscv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/alpasscv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/alpasscv.Tpo $(DEPDIR)/alpasscv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/alpasscv.c' object='alpasscv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alpasscv.obj `if test -f '$(NYQUIST)/tran/alpasscv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/alpasscv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/alpasscv.c'; fi`
+
+alpassvv.o: $(NYQUIST)/tran/alpassvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alpassvv.o -MD -MP -MF $(DEPDIR)/alpassvv.Tpo -c -o alpassvv.o `test -f '$(NYQUIST)/tran/alpassvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/alpassvv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/alpassvv.Tpo $(DEPDIR)/alpassvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/alpassvv.c' object='alpassvv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alpassvv.o `test -f '$(NYQUIST)/tran/alpassvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/alpassvv.c
+
+alpassvv.obj: $(NYQUIST)/tran/alpassvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alpassvv.obj -MD -MP -MF $(DEPDIR)/alpassvv.Tpo -c -o alpassvv.obj `if test -f '$(NYQUIST)/tran/alpassvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/alpassvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/alpassvv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/alpassvv.Tpo $(DEPDIR)/alpassvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/alpassvv.c' object='alpassvv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alpassvv.obj `if test -f '$(NYQUIST)/tran/alpassvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/alpassvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/alpassvv.c'; fi`
+
+amosc.o: $(NYQUIST)/tran/amosc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT amosc.o -MD -MP -MF $(DEPDIR)/amosc.Tpo -c -o amosc.o `test -f '$(NYQUIST)/tran/amosc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/amosc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/amosc.Tpo $(DEPDIR)/amosc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/amosc.c' object='amosc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o amosc.o `test -f '$(NYQUIST)/tran/amosc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/amosc.c
+
+amosc.obj: $(NYQUIST)/tran/amosc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT amosc.obj -MD -MP -MF $(DEPDIR)/amosc.Tpo -c -o amosc.obj `if test -f '$(NYQUIST)/tran/amosc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/amosc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/amosc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/amosc.Tpo $(DEPDIR)/amosc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/amosc.c' object='amosc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o amosc.obj `if test -f '$(NYQUIST)/tran/amosc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/amosc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/amosc.c'; fi`
+
+areson.o: $(NYQUIST)/tran/areson.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT areson.o -MD -MP -MF $(DEPDIR)/areson.Tpo -c -o areson.o `test -f '$(NYQUIST)/tran/areson.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/areson.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/areson.Tpo $(DEPDIR)/areson.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/areson.c' object='areson.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o areson.o `test -f '$(NYQUIST)/tran/areson.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/areson.c
+
+areson.obj: $(NYQUIST)/tran/areson.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT areson.obj -MD -MP -MF $(DEPDIR)/areson.Tpo -c -o areson.obj `if test -f '$(NYQUIST)/tran/areson.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/areson.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/areson.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/areson.Tpo $(DEPDIR)/areson.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/areson.c' object='areson.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o areson.obj `if test -f '$(NYQUIST)/tran/areson.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/areson.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/areson.c'; fi`
+
+aresonvc.o: $(NYQUIST)/tran/aresonvc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT aresonvc.o -MD -MP -MF $(DEPDIR)/aresonvc.Tpo -c -o aresonvc.o `test -f '$(NYQUIST)/tran/aresonvc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/aresonvc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/aresonvc.Tpo $(DEPDIR)/aresonvc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/aresonvc.c' object='aresonvc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aresonvc.o `test -f '$(NYQUIST)/tran/aresonvc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/aresonvc.c
+
+aresonvc.obj: $(NYQUIST)/tran/aresonvc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT aresonvc.obj -MD -MP -MF $(DEPDIR)/aresonvc.Tpo -c -o aresonvc.obj `if test -f '$(NYQUIST)/tran/aresonvc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/aresonvc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/aresonvc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/aresonvc.Tpo $(DEPDIR)/aresonvc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/aresonvc.c' object='aresonvc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aresonvc.obj `if test -f '$(NYQUIST)/tran/aresonvc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/aresonvc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/aresonvc.c'; fi`
+
+aresoncv.o: $(NYQUIST)/tran/aresoncv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT aresoncv.o -MD -MP -MF $(DEPDIR)/aresoncv.Tpo -c -o aresoncv.o `test -f '$(NYQUIST)/tran/aresoncv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/aresoncv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/aresoncv.Tpo $(DEPDIR)/aresoncv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/aresoncv.c' object='aresoncv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aresoncv.o `test -f '$(NYQUIST)/tran/aresoncv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/aresoncv.c
+
+aresoncv.obj: $(NYQUIST)/tran/aresoncv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT aresoncv.obj -MD -MP -MF $(DEPDIR)/aresoncv.Tpo -c -o aresoncv.obj `if test -f '$(NYQUIST)/tran/aresoncv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/aresoncv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/aresoncv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/aresoncv.Tpo $(DEPDIR)/aresoncv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/aresoncv.c' object='aresoncv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aresoncv.obj `if test -f '$(NYQUIST)/tran/aresoncv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/aresoncv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/aresoncv.c'; fi`
+
+aresonvv.o: $(NYQUIST)/tran/aresonvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT aresonvv.o -MD -MP -MF $(DEPDIR)/aresonvv.Tpo -c -o aresonvv.o `test -f '$(NYQUIST)/tran/aresonvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/aresonvv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/aresonvv.Tpo $(DEPDIR)/aresonvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/aresonvv.c' object='aresonvv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aresonvv.o `test -f '$(NYQUIST)/tran/aresonvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/aresonvv.c
+
+aresonvv.obj: $(NYQUIST)/tran/aresonvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT aresonvv.obj -MD -MP -MF $(DEPDIR)/aresonvv.Tpo -c -o aresonvv.obj `if test -f '$(NYQUIST)/tran/aresonvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/aresonvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/aresonvv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/aresonvv.Tpo $(DEPDIR)/aresonvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/aresonvv.c' object='aresonvv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aresonvv.obj `if test -f '$(NYQUIST)/tran/aresonvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/aresonvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/aresonvv.c'; fi`
+
+atone.o: $(NYQUIST)/tran/atone.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT atone.o -MD -MP -MF $(DEPDIR)/atone.Tpo -c -o atone.o `test -f '$(NYQUIST)/tran/atone.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/atone.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/atone.Tpo $(DEPDIR)/atone.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/atone.c' object='atone.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o atone.o `test -f '$(NYQUIST)/tran/atone.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/atone.c
+
+atone.obj: $(NYQUIST)/tran/atone.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT atone.obj -MD -MP -MF $(DEPDIR)/atone.Tpo -c -o atone.obj `if test -f '$(NYQUIST)/tran/atone.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/atone.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/atone.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/atone.Tpo $(DEPDIR)/atone.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/atone.c' object='atone.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o atone.obj `if test -f '$(NYQUIST)/tran/atone.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/atone.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/atone.c'; fi`
+
+atonev.o: $(NYQUIST)/tran/atonev.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT atonev.o -MD -MP -MF $(DEPDIR)/atonev.Tpo -c -o atonev.o `test -f '$(NYQUIST)/tran/atonev.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/atonev.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/atonev.Tpo $(DEPDIR)/atonev.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/atonev.c' object='atonev.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o atonev.o `test -f '$(NYQUIST)/tran/atonev.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/atonev.c
+
+atonev.obj: $(NYQUIST)/tran/atonev.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT atonev.obj -MD -MP -MF $(DEPDIR)/atonev.Tpo -c -o atonev.obj `if test -f '$(NYQUIST)/tran/atonev.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/atonev.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/atonev.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/atonev.Tpo $(DEPDIR)/atonev.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/atonev.c' object='atonev.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o atonev.obj `if test -f '$(NYQUIST)/tran/atonev.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/atonev.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/atonev.c'; fi`
+
+biquadfilt.o: $(NYQUIST)/tran/biquadfilt.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT biquadfilt.o -MD -MP -MF $(DEPDIR)/biquadfilt.Tpo -c -o biquadfilt.o `test -f '$(NYQUIST)/tran/biquadfilt.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/biquadfilt.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/biquadfilt.Tpo $(DEPDIR)/biquadfilt.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/biquadfilt.c' object='biquadfilt.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o biquadfilt.o `test -f '$(NYQUIST)/tran/biquadfilt.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/biquadfilt.c
+
+biquadfilt.obj: $(NYQUIST)/tran/biquadfilt.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT biquadfilt.obj -MD -MP -MF $(DEPDIR)/biquadfilt.Tpo -c -o biquadfilt.obj `if test -f '$(NYQUIST)/tran/biquadfilt.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/biquadfilt.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/biquadfilt.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/biquadfilt.Tpo $(DEPDIR)/biquadfilt.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/biquadfilt.c' object='biquadfilt.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o biquadfilt.obj `if test -f '$(NYQUIST)/tran/biquadfilt.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/biquadfilt.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/biquadfilt.c'; fi`
+
+buzz.o: $(NYQUIST)/tran/buzz.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT buzz.o -MD -MP -MF $(DEPDIR)/buzz.Tpo -c -o buzz.o `test -f '$(NYQUIST)/tran/buzz.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/buzz.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/buzz.Tpo $(DEPDIR)/buzz.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/buzz.c' object='buzz.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o buzz.o `test -f '$(NYQUIST)/tran/buzz.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/buzz.c
+
+buzz.obj: $(NYQUIST)/tran/buzz.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT buzz.obj -MD -MP -MF $(DEPDIR)/buzz.Tpo -c -o buzz.obj `if test -f '$(NYQUIST)/tran/buzz.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/buzz.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/buzz.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/buzz.Tpo $(DEPDIR)/buzz.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/buzz.c' object='buzz.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o buzz.obj `if test -f '$(NYQUIST)/tran/buzz.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/buzz.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/buzz.c'; fi`
+
+chase.o: $(NYQUIST)/tran/chase.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chase.o -MD -MP -MF $(DEPDIR)/chase.Tpo -c -o chase.o `test -f '$(NYQUIST)/tran/chase.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/chase.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/chase.Tpo $(DEPDIR)/chase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/chase.c' object='chase.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chase.o `test -f '$(NYQUIST)/tran/chase.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/chase.c
+
+chase.obj: $(NYQUIST)/tran/chase.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chase.obj -MD -MP -MF $(DEPDIR)/chase.Tpo -c -o chase.obj `if test -f '$(NYQUIST)/tran/chase.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/chase.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/chase.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/chase.Tpo $(DEPDIR)/chase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/chase.c' object='chase.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chase.obj `if test -f '$(NYQUIST)/tran/chase.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/chase.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/chase.c'; fi`
+
+clip.o: $(NYQUIST)/tran/clip.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clip.o -MD -MP -MF $(DEPDIR)/clip.Tpo -c -o clip.o `test -f '$(NYQUIST)/tran/clip.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/clip.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/clip.Tpo $(DEPDIR)/clip.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/clip.c' object='clip.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clip.o `test -f '$(NYQUIST)/tran/clip.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/clip.c
+
+clip.obj: $(NYQUIST)/tran/clip.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clip.obj -MD -MP -MF $(DEPDIR)/clip.Tpo -c -o clip.obj `if test -f '$(NYQUIST)/tran/clip.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/clip.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/clip.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/clip.Tpo $(DEPDIR)/clip.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/clip.c' object='clip.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clip.obj `if test -f '$(NYQUIST)/tran/clip.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/clip.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/clip.c'; fi`
+
+congen.o: $(NYQUIST)/tran/congen.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT congen.o -MD -MP -MF $(DEPDIR)/congen.Tpo -c -o congen.o `test -f '$(NYQUIST)/tran/congen.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/congen.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/congen.Tpo $(DEPDIR)/congen.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/congen.c' object='congen.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o congen.o `test -f '$(NYQUIST)/tran/congen.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/congen.c
+
+congen.obj: $(NYQUIST)/tran/congen.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT congen.obj -MD -MP -MF $(DEPDIR)/congen.Tpo -c -o congen.obj `if test -f '$(NYQUIST)/tran/congen.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/congen.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/congen.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/congen.Tpo $(DEPDIR)/congen.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/congen.c' object='congen.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o congen.obj `if test -f '$(NYQUIST)/tran/congen.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/congen.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/congen.c'; fi`
+
+const.o: $(NYQUIST)/tran/const.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT const.o -MD -MP -MF $(DEPDIR)/const.Tpo -c -o const.o `test -f '$(NYQUIST)/tran/const.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/const.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/const.Tpo $(DEPDIR)/const.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/const.c' object='const.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o const.o `test -f '$(NYQUIST)/tran/const.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/const.c
+
+const.obj: $(NYQUIST)/tran/const.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT const.obj -MD -MP -MF $(DEPDIR)/const.Tpo -c -o const.obj `if test -f '$(NYQUIST)/tran/const.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/const.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/const.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/const.Tpo $(DEPDIR)/const.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/const.c' object='const.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o const.obj `if test -f '$(NYQUIST)/tran/const.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/const.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/const.c'; fi`
+
+coterm.o: $(NYQUIST)/tran/coterm.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coterm.o -MD -MP -MF $(DEPDIR)/coterm.Tpo -c -o coterm.o `test -f '$(NYQUIST)/tran/coterm.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/coterm.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/coterm.Tpo $(DEPDIR)/coterm.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/coterm.c' object='coterm.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coterm.o `test -f '$(NYQUIST)/tran/coterm.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/coterm.c
+
+coterm.obj: $(NYQUIST)/tran/coterm.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coterm.obj -MD -MP -MF $(DEPDIR)/coterm.Tpo -c -o coterm.obj `if test -f '$(NYQUIST)/tran/coterm.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/coterm.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/coterm.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/coterm.Tpo $(DEPDIR)/coterm.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/coterm.c' object='coterm.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coterm.obj `if test -f '$(NYQUIST)/tran/coterm.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/coterm.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/coterm.c'; fi`
+
+delaycc.o: $(NYQUIST)/tran/delaycc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delaycc.o -MD -MP -MF $(DEPDIR)/delaycc.Tpo -c -o delaycc.o `test -f '$(NYQUIST)/tran/delaycc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/delaycc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/delaycc.Tpo $(DEPDIR)/delaycc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/delaycc.c' object='delaycc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delaycc.o `test -f '$(NYQUIST)/tran/delaycc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/delaycc.c
+
+delaycc.obj: $(NYQUIST)/tran/delaycc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delaycc.obj -MD -MP -MF $(DEPDIR)/delaycc.Tpo -c -o delaycc.obj `if test -f '$(NYQUIST)/tran/delaycc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/delaycc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/delaycc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/delaycc.Tpo $(DEPDIR)/delaycc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/delaycc.c' object='delaycc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delaycc.obj `if test -f '$(NYQUIST)/tran/delaycc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/delaycc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/delaycc.c'; fi`
+
+delaycv.o: $(NYQUIST)/tran/delaycv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delaycv.o -MD -MP -MF $(DEPDIR)/delaycv.Tpo -c -o delaycv.o `test -f '$(NYQUIST)/tran/delaycv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/delaycv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/delaycv.Tpo $(DEPDIR)/delaycv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/delaycv.c' object='delaycv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delaycv.o `test -f '$(NYQUIST)/tran/delaycv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/delaycv.c
+
+delaycv.obj: $(NYQUIST)/tran/delaycv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delaycv.obj -MD -MP -MF $(DEPDIR)/delaycv.Tpo -c -o delaycv.obj `if test -f '$(NYQUIST)/tran/delaycv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/delaycv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/delaycv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/delaycv.Tpo $(DEPDIR)/delaycv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/delaycv.c' object='delaycv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delaycv.obj `if test -f '$(NYQUIST)/tran/delaycv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/delaycv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/delaycv.c'; fi`
+
+eqbandvvv.o: $(NYQUIST)/tran/eqbandvvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eqbandvvv.o -MD -MP -MF $(DEPDIR)/eqbandvvv.Tpo -c -o eqbandvvv.o `test -f '$(NYQUIST)/tran/eqbandvvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/eqbandvvv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/eqbandvvv.Tpo $(DEPDIR)/eqbandvvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/eqbandvvv.c' object='eqbandvvv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eqbandvvv.o `test -f '$(NYQUIST)/tran/eqbandvvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/eqbandvvv.c
+
+eqbandvvv.obj: $(NYQUIST)/tran/eqbandvvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eqbandvvv.obj -MD -MP -MF $(DEPDIR)/eqbandvvv.Tpo -c -o eqbandvvv.obj `if test -f '$(NYQUIST)/tran/eqbandvvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/eqbandvvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/eqbandvvv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/eqbandvvv.Tpo $(DEPDIR)/eqbandvvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/eqbandvvv.c' object='eqbandvvv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eqbandvvv.obj `if test -f '$(NYQUIST)/tran/eqbandvvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/eqbandvvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/eqbandvvv.c'; fi`
+
+exp.o: $(NYQUIST)/tran/exp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT exp.o -MD -MP -MF $(DEPDIR)/exp.Tpo -c -o exp.o `test -f '$(NYQUIST)/tran/exp.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/exp.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/exp.Tpo $(DEPDIR)/exp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/exp.c' object='exp.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o exp.o `test -f '$(NYQUIST)/tran/exp.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/exp.c
+
+exp.obj: $(NYQUIST)/tran/exp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT exp.obj -MD -MP -MF $(DEPDIR)/exp.Tpo -c -o exp.obj `if test -f '$(NYQUIST)/tran/exp.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/exp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/exp.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/exp.Tpo $(DEPDIR)/exp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/exp.c' object='exp.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o exp.obj `if test -f '$(NYQUIST)/tran/exp.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/exp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/exp.c'; fi`
+
+follow.o: $(NYQUIST)/tran/follow.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT follow.o -MD -MP -MF $(DEPDIR)/follow.Tpo -c -o follow.o `test -f '$(NYQUIST)/tran/follow.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/follow.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/follow.Tpo $(DEPDIR)/follow.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/follow.c' object='follow.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o follow.o `test -f '$(NYQUIST)/tran/follow.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/follow.c
+
+follow.obj: $(NYQUIST)/tran/follow.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT follow.obj -MD -MP -MF $(DEPDIR)/follow.Tpo -c -o follow.obj `if test -f '$(NYQUIST)/tran/follow.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/follow.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/follow.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/follow.Tpo $(DEPDIR)/follow.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/follow.c' object='follow.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o follow.obj `if test -f '$(NYQUIST)/tran/follow.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/follow.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/follow.c'; fi`
+
+fmosc.o: $(NYQUIST)/tran/fmosc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fmosc.o -MD -MP -MF $(DEPDIR)/fmosc.Tpo -c -o fmosc.o `test -f '$(NYQUIST)/tran/fmosc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fmosc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fmosc.Tpo $(DEPDIR)/fmosc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fmosc.c' object='fmosc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fmosc.o `test -f '$(NYQUIST)/tran/fmosc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fmosc.c
+
+fmosc.obj: $(NYQUIST)/tran/fmosc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fmosc.obj -MD -MP -MF $(DEPDIR)/fmosc.Tpo -c -o fmosc.obj `if test -f '$(NYQUIST)/tran/fmosc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fmosc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fmosc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fmosc.Tpo $(DEPDIR)/fmosc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fmosc.c' object='fmosc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fmosc.obj `if test -f '$(NYQUIST)/tran/fmosc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fmosc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fmosc.c'; fi`
+
+fromobject.o: $(NYQUIST)/tran/fromobject.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fromobject.o -MD -MP -MF $(DEPDIR)/fromobject.Tpo -c -o fromobject.o `test -f '$(NYQUIST)/tran/fromobject.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fromobject.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fromobject.Tpo $(DEPDIR)/fromobject.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fromobject.c' object='fromobject.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fromobject.o `test -f '$(NYQUIST)/tran/fromobject.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fromobject.c
+
+fromobject.obj: $(NYQUIST)/tran/fromobject.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fromobject.obj -MD -MP -MF $(DEPDIR)/fromobject.Tpo -c -o fromobject.obj `if test -f '$(NYQUIST)/tran/fromobject.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fromobject.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fromobject.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fromobject.Tpo $(DEPDIR)/fromobject.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fromobject.c' object='fromobject.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fromobject.obj `if test -f '$(NYQUIST)/tran/fromobject.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fromobject.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fromobject.c'; fi`
+
+fromarraystream.o: $(NYQUIST)/tran/fromarraystream.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fromarraystream.o -MD -MP -MF $(DEPDIR)/fromarraystream.Tpo -c -o fromarraystream.o `test -f '$(NYQUIST)/tran/fromarraystream.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fromarraystream.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fromarraystream.Tpo $(DEPDIR)/fromarraystream.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fromarraystream.c' object='fromarraystream.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fromarraystream.o `test -f '$(NYQUIST)/tran/fromarraystream.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fromarraystream.c
+
+fromarraystream.obj: $(NYQUIST)/tran/fromarraystream.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fromarraystream.obj -MD -MP -MF $(DEPDIR)/fromarraystream.Tpo -c -o fromarraystream.obj `if test -f '$(NYQUIST)/tran/fromarraystream.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fromarraystream.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fromarraystream.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fromarraystream.Tpo $(DEPDIR)/fromarraystream.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fromarraystream.c' object='fromarraystream.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fromarraystream.obj `if test -f '$(NYQUIST)/tran/fromarraystream.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fromarraystream.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fromarraystream.c'; fi`
+
+gate.o: $(NYQUIST)/tran/gate.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gate.o -MD -MP -MF $(DEPDIR)/gate.Tpo -c -o gate.o `test -f '$(NYQUIST)/tran/gate.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/gate.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/gate.Tpo $(DEPDIR)/gate.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/gate.c' object='gate.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gate.o `test -f '$(NYQUIST)/tran/gate.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/gate.c
+
+gate.obj: $(NYQUIST)/tran/gate.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gate.obj -MD -MP -MF $(DEPDIR)/gate.Tpo -c -o gate.obj `if test -f '$(NYQUIST)/tran/gate.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/gate.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/gate.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/gate.Tpo $(DEPDIR)/gate.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/gate.c' object='gate.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gate.obj `if test -f '$(NYQUIST)/tran/gate.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/gate.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/gate.c'; fi`
+
+ifft.o: $(NYQUIST)/tran/ifft.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ifft.o -MD -MP -MF $(DEPDIR)/ifft.Tpo -c -o ifft.o `test -f '$(NYQUIST)/tran/ifft.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/ifft.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ifft.Tpo $(DEPDIR)/ifft.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/ifft.c' object='ifft.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ifft.o `test -f '$(NYQUIST)/tran/ifft.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/ifft.c
+
+ifft.obj: $(NYQUIST)/tran/ifft.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ifft.obj -MD -MP -MF $(DEPDIR)/ifft.Tpo -c -o ifft.obj `if test -f '$(NYQUIST)/tran/ifft.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/ifft.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/ifft.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ifft.Tpo $(DEPDIR)/ifft.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/ifft.c' object='ifft.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ifft.obj `if test -f '$(NYQUIST)/tran/ifft.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/ifft.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/ifft.c'; fi`
+
+instrclar.o: $(NYQUIST)/tran/instrclar.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrclar.o -MD -MP -MF $(DEPDIR)/instrclar.Tpo -c -o instrclar.o `test -f '$(NYQUIST)/tran/instrclar.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrclar.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrclar.Tpo $(DEPDIR)/instrclar.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrclar.c' object='instrclar.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrclar.o `test -f '$(NYQUIST)/tran/instrclar.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrclar.c
+
+instrclar.obj: $(NYQUIST)/tran/instrclar.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrclar.obj -MD -MP -MF $(DEPDIR)/instrclar.Tpo -c -o instrclar.obj `if test -f '$(NYQUIST)/tran/instrclar.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrclar.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrclar.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrclar.Tpo $(DEPDIR)/instrclar.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrclar.c' object='instrclar.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrclar.obj `if test -f '$(NYQUIST)/tran/instrclar.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrclar.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrclar.c'; fi`
+
+instrclarall.o: $(NYQUIST)/tran/instrclarall.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrclarall.o -MD -MP -MF $(DEPDIR)/instrclarall.Tpo -c -o instrclarall.o `test -f '$(NYQUIST)/tran/instrclarall.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrclarall.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrclarall.Tpo $(DEPDIR)/instrclarall.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrclarall.c' object='instrclarall.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrclarall.o `test -f '$(NYQUIST)/tran/instrclarall.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrclarall.c
+
+instrclarall.obj: $(NYQUIST)/tran/instrclarall.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrclarall.obj -MD -MP -MF $(DEPDIR)/instrclarall.Tpo -c -o instrclarall.obj `if test -f '$(NYQUIST)/tran/instrclarall.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrclarall.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrclarall.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrclarall.Tpo $(DEPDIR)/instrclarall.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrclarall.c' object='instrclarall.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrclarall.obj `if test -f '$(NYQUIST)/tran/instrclarall.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrclarall.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrclarall.c'; fi`
+
+instrclarfreq.o: $(NYQUIST)/tran/instrclarfreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrclarfreq.o -MD -MP -MF $(DEPDIR)/instrclarfreq.Tpo -c -o instrclarfreq.o `test -f '$(NYQUIST)/tran/instrclarfreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrclarfreq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrclarfreq.Tpo $(DEPDIR)/instrclarfreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrclarfreq.c' object='instrclarfreq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrclarfreq.o `test -f '$(NYQUIST)/tran/instrclarfreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrclarfreq.c
+
+instrclarfreq.obj: $(NYQUIST)/tran/instrclarfreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrclarfreq.obj -MD -MP -MF $(DEPDIR)/instrclarfreq.Tpo -c -o instrclarfreq.obj `if test -f '$(NYQUIST)/tran/instrclarfreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrclarfreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrclarfreq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrclarfreq.Tpo $(DEPDIR)/instrclarfreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrclarfreq.c' object='instrclarfreq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrclarfreq.obj `if test -f '$(NYQUIST)/tran/instrclarfreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrclarfreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrclarfreq.c'; fi`
+
+instrsax.o: $(NYQUIST)/tran/instrsax.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsax.o -MD -MP -MF $(DEPDIR)/instrsax.Tpo -c -o instrsax.o `test -f '$(NYQUIST)/tran/instrsax.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsax.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsax.Tpo $(DEPDIR)/instrsax.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsax.c' object='instrsax.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsax.o `test -f '$(NYQUIST)/tran/instrsax.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsax.c
+
+instrsax.obj: $(NYQUIST)/tran/instrsax.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsax.obj -MD -MP -MF $(DEPDIR)/instrsax.Tpo -c -o instrsax.obj `if test -f '$(NYQUIST)/tran/instrsax.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsax.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsax.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsax.Tpo $(DEPDIR)/instrsax.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsax.c' object='instrsax.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsax.obj `if test -f '$(NYQUIST)/tran/instrsax.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsax.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsax.c'; fi`
+
+instrsaxall.o: $(NYQUIST)/tran/instrsaxall.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsaxall.o -MD -MP -MF $(DEPDIR)/instrsaxall.Tpo -c -o instrsaxall.o `test -f '$(NYQUIST)/tran/instrsaxall.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsaxall.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsaxall.Tpo $(DEPDIR)/instrsaxall.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsaxall.c' object='instrsaxall.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsaxall.o `test -f '$(NYQUIST)/tran/instrsaxall.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsaxall.c
+
+instrsaxall.obj: $(NYQUIST)/tran/instrsaxall.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsaxall.obj -MD -MP -MF $(DEPDIR)/instrsaxall.Tpo -c -o instrsaxall.obj `if test -f '$(NYQUIST)/tran/instrsaxall.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsaxall.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsaxall.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsaxall.Tpo $(DEPDIR)/instrsaxall.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsaxall.c' object='instrsaxall.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsaxall.obj `if test -f '$(NYQUIST)/tran/instrsaxall.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsaxall.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsaxall.c'; fi`
+
+instrsaxfreq.o: $(NYQUIST)/tran/instrsaxfreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsaxfreq.o -MD -MP -MF $(DEPDIR)/instrsaxfreq.Tpo -c -o instrsaxfreq.o `test -f '$(NYQUIST)/tran/instrsaxfreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsaxfreq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsaxfreq.Tpo $(DEPDIR)/instrsaxfreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsaxfreq.c' object='instrsaxfreq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsaxfreq.o `test -f '$(NYQUIST)/tran/instrsaxfreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsaxfreq.c
+
+instrsaxfreq.obj: $(NYQUIST)/tran/instrsaxfreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsaxfreq.obj -MD -MP -MF $(DEPDIR)/instrsaxfreq.Tpo -c -o instrsaxfreq.obj `if test -f '$(NYQUIST)/tran/instrsaxfreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsaxfreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsaxfreq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsaxfreq.Tpo $(DEPDIR)/instrsaxfreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsaxfreq.c' object='instrsaxfreq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsaxfreq.obj `if test -f '$(NYQUIST)/tran/instrsaxfreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsaxfreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsaxfreq.c'; fi`
+
+integrate.o: $(NYQUIST)/tran/integrate.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT integrate.o -MD -MP -MF $(DEPDIR)/integrate.Tpo -c -o integrate.o `test -f '$(NYQUIST)/tran/integrate.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/integrate.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/integrate.Tpo $(DEPDIR)/integrate.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/integrate.c' object='integrate.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o integrate.o `test -f '$(NYQUIST)/tran/integrate.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/integrate.c
+
+integrate.obj: $(NYQUIST)/tran/integrate.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT integrate.obj -MD -MP -MF $(DEPDIR)/integrate.Tpo -c -o integrate.obj `if test -f '$(NYQUIST)/tran/integrate.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/integrate.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/integrate.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/integrate.Tpo $(DEPDIR)/integrate.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/integrate.c' object='integrate.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o integrate.obj `if test -f '$(NYQUIST)/tran/integrate.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/integrate.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/integrate.c'; fi`
+
+log.o: $(NYQUIST)/tran/log.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT log.o -MD -MP -MF $(DEPDIR)/log.Tpo -c -o log.o `test -f '$(NYQUIST)/tran/log.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/log.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/log.Tpo $(DEPDIR)/log.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/log.c' object='log.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o log.o `test -f '$(NYQUIST)/tran/log.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/log.c
+
+log.obj: $(NYQUIST)/tran/log.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT log.obj -MD -MP -MF $(DEPDIR)/log.Tpo -c -o log.obj `if test -f '$(NYQUIST)/tran/log.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/log.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/log.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/log.Tpo $(DEPDIR)/log.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/log.c' object='log.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o log.obj `if test -f '$(NYQUIST)/tran/log.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/log.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/log.c'; fi`
+
+lpreson.o: $(NYQUIST)/tran/lpreson.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lpreson.o -MD -MP -MF $(DEPDIR)/lpreson.Tpo -c -o lpreson.o `test -f '$(NYQUIST)/tran/lpreson.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/lpreson.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/lpreson.Tpo $(DEPDIR)/lpreson.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/lpreson.c' object='lpreson.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lpreson.o `test -f '$(NYQUIST)/tran/lpreson.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/lpreson.c
+
+lpreson.obj: $(NYQUIST)/tran/lpreson.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lpreson.obj -MD -MP -MF $(DEPDIR)/lpreson.Tpo -c -o lpreson.obj `if test -f '$(NYQUIST)/tran/lpreson.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/lpreson.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/lpreson.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/lpreson.Tpo $(DEPDIR)/lpreson.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/lpreson.c' object='lpreson.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lpreson.obj `if test -f '$(NYQUIST)/tran/lpreson.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/lpreson.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/lpreson.c'; fi`
+
+maxv.o: $(NYQUIST)/tran/maxv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT maxv.o -MD -MP -MF $(DEPDIR)/maxv.Tpo -c -o maxv.o `test -f '$(NYQUIST)/tran/maxv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/maxv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/maxv.Tpo $(DEPDIR)/maxv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/maxv.c' object='maxv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o maxv.o `test -f '$(NYQUIST)/tran/maxv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/maxv.c
+
+maxv.obj: $(NYQUIST)/tran/maxv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT maxv.obj -MD -MP -MF $(DEPDIR)/maxv.Tpo -c -o maxv.obj `if test -f '$(NYQUIST)/tran/maxv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/maxv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/maxv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/maxv.Tpo $(DEPDIR)/maxv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/maxv.c' object='maxv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o maxv.obj `if test -f '$(NYQUIST)/tran/maxv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/maxv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/maxv.c'; fi`
+
+offset.o: $(NYQUIST)/tran/offset.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT offset.o -MD -MP -MF $(DEPDIR)/offset.Tpo -c -o offset.o `test -f '$(NYQUIST)/tran/offset.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/offset.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/offset.Tpo $(DEPDIR)/offset.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/offset.c' object='offset.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o offset.o `test -f '$(NYQUIST)/tran/offset.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/offset.c
+
+offset.obj: $(NYQUIST)/tran/offset.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT offset.obj -MD -MP -MF $(DEPDIR)/offset.Tpo -c -o offset.obj `if test -f '$(NYQUIST)/tran/offset.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/offset.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/offset.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/offset.Tpo $(DEPDIR)/offset.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/offset.c' object='offset.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o offset.obj `if test -f '$(NYQUIST)/tran/offset.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/offset.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/offset.c'; fi`
+
+oneshot.o: $(NYQUIST)/tran/oneshot.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT oneshot.o -MD -MP -MF $(DEPDIR)/oneshot.Tpo -c -o oneshot.o `test -f '$(NYQUIST)/tran/oneshot.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/oneshot.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/oneshot.Tpo $(DEPDIR)/oneshot.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/oneshot.c' object='oneshot.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o oneshot.o `test -f '$(NYQUIST)/tran/oneshot.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/oneshot.c
+
+oneshot.obj: $(NYQUIST)/tran/oneshot.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT oneshot.obj -MD -MP -MF $(DEPDIR)/oneshot.Tpo -c -o oneshot.obj `if test -f '$(NYQUIST)/tran/oneshot.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/oneshot.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/oneshot.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/oneshot.Tpo $(DEPDIR)/oneshot.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/oneshot.c' object='oneshot.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o oneshot.obj `if test -f '$(NYQUIST)/tran/oneshot.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/oneshot.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/oneshot.c'; fi`
+
+osc.o: $(NYQUIST)/tran/osc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osc.o -MD -MP -MF $(DEPDIR)/osc.Tpo -c -o osc.o `test -f '$(NYQUIST)/tran/osc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/osc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/osc.Tpo $(DEPDIR)/osc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/osc.c' object='osc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osc.o `test -f '$(NYQUIST)/tran/osc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/osc.c
+
+osc.obj: $(NYQUIST)/tran/osc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT osc.obj -MD -MP -MF $(DEPDIR)/osc.Tpo -c -o osc.obj `if test -f '$(NYQUIST)/tran/osc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/osc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/osc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/osc.Tpo $(DEPDIR)/osc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/osc.c' object='osc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o osc.obj `if test -f '$(NYQUIST)/tran/osc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/osc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/osc.c'; fi`
+
+partial.o: $(NYQUIST)/tran/partial.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT partial.o -MD -MP -MF $(DEPDIR)/partial.Tpo -c -o partial.o `test -f '$(NYQUIST)/tran/partial.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/partial.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/partial.Tpo $(DEPDIR)/partial.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/partial.c' object='partial.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o partial.o `test -f '$(NYQUIST)/tran/partial.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/partial.c
+
+partial.obj: $(NYQUIST)/tran/partial.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT partial.obj -MD -MP -MF $(DEPDIR)/partial.Tpo -c -o partial.obj `if test -f '$(NYQUIST)/tran/partial.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/partial.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/partial.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/partial.Tpo $(DEPDIR)/partial.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/partial.c' object='partial.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o partial.obj `if test -f '$(NYQUIST)/tran/partial.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/partial.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/partial.c'; fi`
+
+pluck.o: $(NYQUIST)/tran/pluck.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pluck.o -MD -MP -MF $(DEPDIR)/pluck.Tpo -c -o pluck.o `test -f '$(NYQUIST)/tran/pluck.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/pluck.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/pluck.Tpo $(DEPDIR)/pluck.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/pluck.c' object='pluck.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pluck.o `test -f '$(NYQUIST)/tran/pluck.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/pluck.c
+
+pluck.obj: $(NYQUIST)/tran/pluck.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pluck.obj -MD -MP -MF $(DEPDIR)/pluck.Tpo -c -o pluck.obj `if test -f '$(NYQUIST)/tran/pluck.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/pluck.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/pluck.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/pluck.Tpo $(DEPDIR)/pluck.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/pluck.c' object='pluck.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pluck.obj `if test -f '$(NYQUIST)/tran/pluck.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/pluck.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/pluck.c'; fi`
+
+prod.o: $(NYQUIST)/tran/prod.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT prod.o -MD -MP -MF $(DEPDIR)/prod.Tpo -c -o prod.o `test -f '$(NYQUIST)/tran/prod.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/prod.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/prod.Tpo $(DEPDIR)/prod.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/prod.c' object='prod.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o prod.o `test -f '$(NYQUIST)/tran/prod.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/prod.c
+
+prod.obj: $(NYQUIST)/tran/prod.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT prod.obj -MD -MP -MF $(DEPDIR)/prod.Tpo -c -o prod.obj `if test -f '$(NYQUIST)/tran/prod.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/prod.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/prod.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/prod.Tpo $(DEPDIR)/prod.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/prod.c' object='prod.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o prod.obj `if test -f '$(NYQUIST)/tran/prod.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/prod.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/prod.c'; fi`
+
+pwl.o: $(NYQUIST)/tran/pwl.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwl.o -MD -MP -MF $(DEPDIR)/pwl.Tpo -c -o pwl.o `test -f '$(NYQUIST)/tran/pwl.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/pwl.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/pwl.Tpo $(DEPDIR)/pwl.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/pwl.c' object='pwl.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwl.o `test -f '$(NYQUIST)/tran/pwl.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/pwl.c
+
+pwl.obj: $(NYQUIST)/tran/pwl.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwl.obj -MD -MP -MF $(DEPDIR)/pwl.Tpo -c -o pwl.obj `if test -f '$(NYQUIST)/tran/pwl.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/pwl.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/pwl.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/pwl.Tpo $(DEPDIR)/pwl.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/pwl.c' object='pwl.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwl.obj `if test -f '$(NYQUIST)/tran/pwl.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/pwl.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/pwl.c'; fi`
+
+quantize.o: $(NYQUIST)/tran/quantize.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT quantize.o -MD -MP -MF $(DEPDIR)/quantize.Tpo -c -o quantize.o `test -f '$(NYQUIST)/tran/quantize.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/quantize.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/quantize.Tpo $(DEPDIR)/quantize.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/quantize.c' object='quantize.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o quantize.o `test -f '$(NYQUIST)/tran/quantize.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/quantize.c
+
+quantize.obj: $(NYQUIST)/tran/quantize.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT quantize.obj -MD -MP -MF $(DEPDIR)/quantize.Tpo -c -o quantize.obj `if test -f '$(NYQUIST)/tran/quantize.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/quantize.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/quantize.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/quantize.Tpo $(DEPDIR)/quantize.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/quantize.c' object='quantize.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o quantize.obj `if test -f '$(NYQUIST)/tran/quantize.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/quantize.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/quantize.c'; fi`
+
+recip.o: $(NYQUIST)/tran/recip.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT recip.o -MD -MP -MF $(DEPDIR)/recip.Tpo -c -o recip.o `test -f '$(NYQUIST)/tran/recip.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/recip.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/recip.Tpo $(DEPDIR)/recip.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/recip.c' object='recip.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o recip.o `test -f '$(NYQUIST)/tran/recip.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/recip.c
+
+recip.obj: $(NYQUIST)/tran/recip.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT recip.obj -MD -MP -MF $(DEPDIR)/recip.Tpo -c -o recip.obj `if test -f '$(NYQUIST)/tran/recip.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/recip.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/recip.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/recip.Tpo $(DEPDIR)/recip.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/recip.c' object='recip.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o recip.obj `if test -f '$(NYQUIST)/tran/recip.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/recip.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/recip.c'; fi`
+
+reson.o: $(NYQUIST)/tran/reson.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reson.o -MD -MP -MF $(DEPDIR)/reson.Tpo -c -o reson.o `test -f '$(NYQUIST)/tran/reson.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/reson.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/reson.Tpo $(DEPDIR)/reson.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/reson.c' object='reson.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reson.o `test -f '$(NYQUIST)/tran/reson.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/reson.c
+
+reson.obj: $(NYQUIST)/tran/reson.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reson.obj -MD -MP -MF $(DEPDIR)/reson.Tpo -c -o reson.obj `if test -f '$(NYQUIST)/tran/reson.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/reson.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/reson.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/reson.Tpo $(DEPDIR)/reson.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/reson.c' object='reson.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reson.obj `if test -f '$(NYQUIST)/tran/reson.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/reson.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/reson.c'; fi`
+
+resonvc.o: $(NYQUIST)/tran/resonvc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resonvc.o -MD -MP -MF $(DEPDIR)/resonvc.Tpo -c -o resonvc.o `test -f '$(NYQUIST)/tran/resonvc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/resonvc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resonvc.Tpo $(DEPDIR)/resonvc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/resonvc.c' object='resonvc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resonvc.o `test -f '$(NYQUIST)/tran/resonvc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/resonvc.c
+
+resonvc.obj: $(NYQUIST)/tran/resonvc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resonvc.obj -MD -MP -MF $(DEPDIR)/resonvc.Tpo -c -o resonvc.obj `if test -f '$(NYQUIST)/tran/resonvc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/resonvc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/resonvc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resonvc.Tpo $(DEPDIR)/resonvc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/resonvc.c' object='resonvc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resonvc.obj `if test -f '$(NYQUIST)/tran/resonvc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/resonvc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/resonvc.c'; fi`
+
+resoncv.o: $(NYQUIST)/tran/resoncv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resoncv.o -MD -MP -MF $(DEPDIR)/resoncv.Tpo -c -o resoncv.o `test -f '$(NYQUIST)/tran/resoncv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/resoncv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resoncv.Tpo $(DEPDIR)/resoncv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/resoncv.c' object='resoncv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resoncv.o `test -f '$(NYQUIST)/tran/resoncv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/resoncv.c
+
+resoncv.obj: $(NYQUIST)/tran/resoncv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resoncv.obj -MD -MP -MF $(DEPDIR)/resoncv.Tpo -c -o resoncv.obj `if test -f '$(NYQUIST)/tran/resoncv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/resoncv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/resoncv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resoncv.Tpo $(DEPDIR)/resoncv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/resoncv.c' object='resoncv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resoncv.obj `if test -f '$(NYQUIST)/tran/resoncv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/resoncv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/resoncv.c'; fi`
+
+resonvv.o: $(NYQUIST)/tran/resonvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resonvv.o -MD -MP -MF $(DEPDIR)/resonvv.Tpo -c -o resonvv.o `test -f '$(NYQUIST)/tran/resonvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/resonvv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resonvv.Tpo $(DEPDIR)/resonvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/resonvv.c' object='resonvv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resonvv.o `test -f '$(NYQUIST)/tran/resonvv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/resonvv.c
+
+resonvv.obj: $(NYQUIST)/tran/resonvv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resonvv.obj -MD -MP -MF $(DEPDIR)/resonvv.Tpo -c -o resonvv.obj `if test -f '$(NYQUIST)/tran/resonvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/resonvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/resonvv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resonvv.Tpo $(DEPDIR)/resonvv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/resonvv.c' object='resonvv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resonvv.obj `if test -f '$(NYQUIST)/tran/resonvv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/resonvv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/resonvv.c'; fi`
+
+sampler.o: $(NYQUIST)/tran/sampler.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sampler.o -MD -MP -MF $(DEPDIR)/sampler.Tpo -c -o sampler.o `test -f '$(NYQUIST)/tran/sampler.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/sampler.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sampler.Tpo $(DEPDIR)/sampler.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/sampler.c' object='sampler.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sampler.o `test -f '$(NYQUIST)/tran/sampler.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/sampler.c
+
+sampler.obj: $(NYQUIST)/tran/sampler.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sampler.obj -MD -MP -MF $(DEPDIR)/sampler.Tpo -c -o sampler.obj `if test -f '$(NYQUIST)/tran/sampler.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/sampler.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/sampler.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sampler.Tpo $(DEPDIR)/sampler.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/sampler.c' object='sampler.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sampler.obj `if test -f '$(NYQUIST)/tran/sampler.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/sampler.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/sampler.c'; fi`
+
+scale.o: $(NYQUIST)/tran/scale.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT scale.o -MD -MP -MF $(DEPDIR)/scale.Tpo -c -o scale.o `test -f '$(NYQUIST)/tran/scale.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/scale.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/scale.Tpo $(DEPDIR)/scale.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/scale.c' object='scale.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o scale.o `test -f '$(NYQUIST)/tran/scale.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/scale.c
+
+scale.obj: $(NYQUIST)/tran/scale.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT scale.obj -MD -MP -MF $(DEPDIR)/scale.Tpo -c -o scale.obj `if test -f '$(NYQUIST)/tran/scale.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/scale.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/scale.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/scale.Tpo $(DEPDIR)/scale.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/scale.c' object='scale.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o scale.obj `if test -f '$(NYQUIST)/tran/scale.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/scale.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/scale.c'; fi`
+
+shape.o: $(NYQUIST)/tran/shape.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shape.o -MD -MP -MF $(DEPDIR)/shape.Tpo -c -o shape.o `test -f '$(NYQUIST)/tran/shape.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/shape.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/shape.Tpo $(DEPDIR)/shape.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/shape.c' object='shape.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shape.o `test -f '$(NYQUIST)/tran/shape.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/shape.c
+
+shape.obj: $(NYQUIST)/tran/shape.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT shape.obj -MD -MP -MF $(DEPDIR)/shape.Tpo -c -o shape.obj `if test -f '$(NYQUIST)/tran/shape.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/shape.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/shape.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/shape.Tpo $(DEPDIR)/shape.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/shape.c' object='shape.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o shape.obj `if test -f '$(NYQUIST)/tran/shape.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/shape.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/shape.c'; fi`
+
+sine.o: $(NYQUIST)/tran/sine.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sine.o -MD -MP -MF $(DEPDIR)/sine.Tpo -c -o sine.o `test -f '$(NYQUIST)/tran/sine.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/sine.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sine.Tpo $(DEPDIR)/sine.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/sine.c' object='sine.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sine.o `test -f '$(NYQUIST)/tran/sine.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/sine.c
+
+sine.obj: $(NYQUIST)/tran/sine.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sine.obj -MD -MP -MF $(DEPDIR)/sine.Tpo -c -o sine.obj `if test -f '$(NYQUIST)/tran/sine.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/sine.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/sine.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sine.Tpo $(DEPDIR)/sine.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/sine.c' object='sine.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sine.obj `if test -f '$(NYQUIST)/tran/sine.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/sine.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/sine.c'; fi`
+
+siosc.o: $(NYQUIST)/tran/siosc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT siosc.o -MD -MP -MF $(DEPDIR)/siosc.Tpo -c -o siosc.o `test -f '$(NYQUIST)/tran/siosc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/siosc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/siosc.Tpo $(DEPDIR)/siosc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/siosc.c' object='siosc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o siosc.o `test -f '$(NYQUIST)/tran/siosc.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/siosc.c
+
+siosc.obj: $(NYQUIST)/tran/siosc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT siosc.obj -MD -MP -MF $(DEPDIR)/siosc.Tpo -c -o siosc.obj `if test -f '$(NYQUIST)/tran/siosc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/siosc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/siosc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/siosc.Tpo $(DEPDIR)/siosc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/siosc.c' object='siosc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o siosc.obj `if test -f '$(NYQUIST)/tran/siosc.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/siosc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/siosc.c'; fi`
+
+slope.o: $(NYQUIST)/tran/slope.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT slope.o -MD -MP -MF $(DEPDIR)/slope.Tpo -c -o slope.o `test -f '$(NYQUIST)/tran/slope.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/slope.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/slope.Tpo $(DEPDIR)/slope.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/slope.c' object='slope.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o slope.o `test -f '$(NYQUIST)/tran/slope.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/slope.c
+
+slope.obj: $(NYQUIST)/tran/slope.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT slope.obj -MD -MP -MF $(DEPDIR)/slope.Tpo -c -o slope.obj `if test -f '$(NYQUIST)/tran/slope.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/slope.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/slope.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/slope.Tpo $(DEPDIR)/slope.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/slope.c' object='slope.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o slope.obj `if test -f '$(NYQUIST)/tran/slope.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/slope.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/slope.c'; fi`
+
+sqrt.o: $(NYQUIST)/tran/sqrt.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sqrt.o -MD -MP -MF $(DEPDIR)/sqrt.Tpo -c -o sqrt.o `test -f '$(NYQUIST)/tran/sqrt.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/sqrt.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sqrt.Tpo $(DEPDIR)/sqrt.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/sqrt.c' object='sqrt.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sqrt.o `test -f '$(NYQUIST)/tran/sqrt.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/sqrt.c
+
+sqrt.obj: $(NYQUIST)/tran/sqrt.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sqrt.obj -MD -MP -MF $(DEPDIR)/sqrt.Tpo -c -o sqrt.obj `if test -f '$(NYQUIST)/tran/sqrt.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/sqrt.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/sqrt.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sqrt.Tpo $(DEPDIR)/sqrt.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/sqrt.c' object='sqrt.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sqrt.obj `if test -f '$(NYQUIST)/tran/sqrt.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/sqrt.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/sqrt.c'; fi`
+
+tapf.o: $(NYQUIST)/tran/tapf.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tapf.o -MD -MP -MF $(DEPDIR)/tapf.Tpo -c -o tapf.o `test -f '$(NYQUIST)/tran/tapf.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tapf.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tapf.Tpo $(DEPDIR)/tapf.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tapf.c' object='tapf.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tapf.o `test -f '$(NYQUIST)/tran/tapf.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tapf.c
+
+tapf.obj: $(NYQUIST)/tran/tapf.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tapf.obj -MD -MP -MF $(DEPDIR)/tapf.Tpo -c -o tapf.obj `if test -f '$(NYQUIST)/tran/tapf.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tapf.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tapf.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tapf.Tpo $(DEPDIR)/tapf.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tapf.c' object='tapf.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tapf.obj `if test -f '$(NYQUIST)/tran/tapf.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tapf.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tapf.c'; fi`
+
+tapv.o: $(NYQUIST)/tran/tapv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tapv.o -MD -MP -MF $(DEPDIR)/tapv.Tpo -c -o tapv.o `test -f '$(NYQUIST)/tran/tapv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tapv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tapv.Tpo $(DEPDIR)/tapv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tapv.c' object='tapv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tapv.o `test -f '$(NYQUIST)/tran/tapv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tapv.c
+
+tapv.obj: $(NYQUIST)/tran/tapv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tapv.obj -MD -MP -MF $(DEPDIR)/tapv.Tpo -c -o tapv.obj `if test -f '$(NYQUIST)/tran/tapv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tapv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tapv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tapv.Tpo $(DEPDIR)/tapv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tapv.c' object='tapv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tapv.obj `if test -f '$(NYQUIST)/tran/tapv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tapv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tapv.c'; fi`
+
+tone.o: $(NYQUIST)/tran/tone.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tone.o -MD -MP -MF $(DEPDIR)/tone.Tpo -c -o tone.o `test -f '$(NYQUIST)/tran/tone.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tone.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tone.Tpo $(DEPDIR)/tone.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tone.c' object='tone.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tone.o `test -f '$(NYQUIST)/tran/tone.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tone.c
+
+tone.obj: $(NYQUIST)/tran/tone.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tone.obj -MD -MP -MF $(DEPDIR)/tone.Tpo -c -o tone.obj `if test -f '$(NYQUIST)/tran/tone.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tone.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tone.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tone.Tpo $(DEPDIR)/tone.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tone.c' object='tone.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tone.obj `if test -f '$(NYQUIST)/tran/tone.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tone.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tone.c'; fi`
+
+tonev.o: $(NYQUIST)/tran/tonev.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tonev.o -MD -MP -MF $(DEPDIR)/tonev.Tpo -c -o tonev.o `test -f '$(NYQUIST)/tran/tonev.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tonev.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tonev.Tpo $(DEPDIR)/tonev.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tonev.c' object='tonev.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tonev.o `test -f '$(NYQUIST)/tran/tonev.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/tonev.c
+
+tonev.obj: $(NYQUIST)/tran/tonev.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tonev.obj -MD -MP -MF $(DEPDIR)/tonev.Tpo -c -o tonev.obj `if test -f '$(NYQUIST)/tran/tonev.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tonev.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tonev.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tonev.Tpo $(DEPDIR)/tonev.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/tonev.c' object='tonev.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tonev.obj `if test -f '$(NYQUIST)/tran/tonev.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/tonev.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/tonev.c'; fi`
+
+upsample.o: $(NYQUIST)/tran/upsample.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upsample.o -MD -MP -MF $(DEPDIR)/upsample.Tpo -c -o upsample.o `test -f '$(NYQUIST)/tran/upsample.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/upsample.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/upsample.Tpo $(DEPDIR)/upsample.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/upsample.c' object='upsample.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upsample.o `test -f '$(NYQUIST)/tran/upsample.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/upsample.c
+
+upsample.obj: $(NYQUIST)/tran/upsample.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upsample.obj -MD -MP -MF $(DEPDIR)/upsample.Tpo -c -o upsample.obj `if test -f '$(NYQUIST)/tran/upsample.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/upsample.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/upsample.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/upsample.Tpo $(DEPDIR)/upsample.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/upsample.c' object='upsample.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upsample.obj `if test -f '$(NYQUIST)/tran/upsample.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/upsample.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/upsample.c'; fi`
+
+white.o: $(NYQUIST)/tran/white.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT white.o -MD -MP -MF $(DEPDIR)/white.Tpo -c -o white.o `test -f '$(NYQUIST)/tran/white.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/white.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/white.Tpo $(DEPDIR)/white.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/white.c' object='white.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o white.o `test -f '$(NYQUIST)/tran/white.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/white.c
+
+white.obj: $(NYQUIST)/tran/white.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT white.obj -MD -MP -MF $(DEPDIR)/white.Tpo -c -o white.obj `if test -f '$(NYQUIST)/tran/white.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/white.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/white.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/white.Tpo $(DEPDIR)/white.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/white.c' object='white.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o white.obj `if test -f '$(NYQUIST)/tran/white.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/white.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/white.c'; fi`
+
+stkrev.o: $(NYQUIST)/tran/stkrev.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stkrev.o -MD -MP -MF $(DEPDIR)/stkrev.Tpo -c -o stkrev.o `test -f '$(NYQUIST)/tran/stkrev.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/stkrev.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stkrev.Tpo $(DEPDIR)/stkrev.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/stkrev.c' object='stkrev.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stkrev.o `test -f '$(NYQUIST)/tran/stkrev.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/stkrev.c
+
+stkrev.obj: $(NYQUIST)/tran/stkrev.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stkrev.obj -MD -MP -MF $(DEPDIR)/stkrev.Tpo -c -o stkrev.obj `if test -f '$(NYQUIST)/tran/stkrev.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/stkrev.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/stkrev.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stkrev.Tpo $(DEPDIR)/stkrev.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/stkrev.c' object='stkrev.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stkrev.obj `if test -f '$(NYQUIST)/tran/stkrev.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/stkrev.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/stkrev.c'; fi`
+
+stkpitshift.o: $(NYQUIST)/tran/stkpitshift.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stkpitshift.o -MD -MP -MF $(DEPDIR)/stkpitshift.Tpo -c -o stkpitshift.o `test -f '$(NYQUIST)/tran/stkpitshift.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/stkpitshift.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stkpitshift.Tpo $(DEPDIR)/stkpitshift.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/stkpitshift.c' object='stkpitshift.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stkpitshift.o `test -f '$(NYQUIST)/tran/stkpitshift.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/stkpitshift.c
+
+stkpitshift.obj: $(NYQUIST)/tran/stkpitshift.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stkpitshift.obj -MD -MP -MF $(DEPDIR)/stkpitshift.Tpo -c -o stkpitshift.obj `if test -f '$(NYQUIST)/tran/stkpitshift.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/stkpitshift.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/stkpitshift.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stkpitshift.Tpo $(DEPDIR)/stkpitshift.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/stkpitshift.c' object='stkpitshift.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stkpitshift.obj `if test -f '$(NYQUIST)/tran/stkpitshift.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/stkpitshift.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/stkpitshift.c'; fi`
+
+stkchorus.o: $(NYQUIST)/tran/stkchorus.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stkchorus.o -MD -MP -MF $(DEPDIR)/stkchorus.Tpo -c -o stkchorus.o `test -f '$(NYQUIST)/tran/stkchorus.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/stkchorus.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stkchorus.Tpo $(DEPDIR)/stkchorus.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/stkchorus.c' object='stkchorus.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stkchorus.o `test -f '$(NYQUIST)/tran/stkchorus.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/stkchorus.c
+
+stkchorus.obj: $(NYQUIST)/tran/stkchorus.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stkchorus.obj -MD -MP -MF $(DEPDIR)/stkchorus.Tpo -c -o stkchorus.obj `if test -f '$(NYQUIST)/tran/stkchorus.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/stkchorus.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/stkchorus.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stkchorus.Tpo $(DEPDIR)/stkchorus.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/stkchorus.c' object='stkchorus.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stkchorus.obj `if test -f '$(NYQUIST)/tran/stkchorus.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/stkchorus.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/stkchorus.c'; fi`
+
+instrbow.o: $(NYQUIST)/tran/instrbow.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrbow.o -MD -MP -MF $(DEPDIR)/instrbow.Tpo -c -o instrbow.o `test -f '$(NYQUIST)/tran/instrbow.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrbow.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrbow.Tpo $(DEPDIR)/instrbow.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrbow.c' object='instrbow.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrbow.o `test -f '$(NYQUIST)/tran/instrbow.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrbow.c
+
+instrbow.obj: $(NYQUIST)/tran/instrbow.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrbow.obj -MD -MP -MF $(DEPDIR)/instrbow.Tpo -c -o instrbow.obj `if test -f '$(NYQUIST)/tran/instrbow.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrbow.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrbow.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrbow.Tpo $(DEPDIR)/instrbow.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrbow.c' object='instrbow.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrbow.obj `if test -f '$(NYQUIST)/tran/instrbow.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrbow.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrbow.c'; fi`
+
+instrbowedfreq.o: $(NYQUIST)/tran/instrbowedfreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrbowedfreq.o -MD -MP -MF $(DEPDIR)/instrbowedfreq.Tpo -c -o instrbowedfreq.o `test -f '$(NYQUIST)/tran/instrbowedfreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrbowedfreq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrbowedfreq.Tpo $(DEPDIR)/instrbowedfreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrbowedfreq.c' object='instrbowedfreq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrbowedfreq.o `test -f '$(NYQUIST)/tran/instrbowedfreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrbowedfreq.c
+
+instrbowedfreq.obj: $(NYQUIST)/tran/instrbowedfreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrbowedfreq.obj -MD -MP -MF $(DEPDIR)/instrbowedfreq.Tpo -c -o instrbowedfreq.obj `if test -f '$(NYQUIST)/tran/instrbowedfreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrbowedfreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrbowedfreq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrbowedfreq.Tpo $(DEPDIR)/instrbowedfreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrbowedfreq.c' object='instrbowedfreq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrbowedfreq.obj `if test -f '$(NYQUIST)/tran/instrbowedfreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrbowedfreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrbowedfreq.c'; fi`
+
+instrbanded.o: $(NYQUIST)/tran/instrbanded.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrbanded.o -MD -MP -MF $(DEPDIR)/instrbanded.Tpo -c -o instrbanded.o `test -f '$(NYQUIST)/tran/instrbanded.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrbanded.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrbanded.Tpo $(DEPDIR)/instrbanded.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrbanded.c' object='instrbanded.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrbanded.o `test -f '$(NYQUIST)/tran/instrbanded.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrbanded.c
+
+instrbanded.obj: $(NYQUIST)/tran/instrbanded.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrbanded.obj -MD -MP -MF $(DEPDIR)/instrbanded.Tpo -c -o instrbanded.obj `if test -f '$(NYQUIST)/tran/instrbanded.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrbanded.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrbanded.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrbanded.Tpo $(DEPDIR)/instrbanded.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrbanded.c' object='instrbanded.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrbanded.obj `if test -f '$(NYQUIST)/tran/instrbanded.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrbanded.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrbanded.c'; fi`
+
+instrmandolin.o: $(NYQUIST)/tran/instrmandolin.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrmandolin.o -MD -MP -MF $(DEPDIR)/instrmandolin.Tpo -c -o instrmandolin.o `test -f '$(NYQUIST)/tran/instrmandolin.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrmandolin.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrmandolin.Tpo $(DEPDIR)/instrmandolin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrmandolin.c' object='instrmandolin.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrmandolin.o `test -f '$(NYQUIST)/tran/instrmandolin.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrmandolin.c
+
+instrmandolin.obj: $(NYQUIST)/tran/instrmandolin.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrmandolin.obj -MD -MP -MF $(DEPDIR)/instrmandolin.Tpo -c -o instrmandolin.obj `if test -f '$(NYQUIST)/tran/instrmandolin.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrmandolin.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrmandolin.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrmandolin.Tpo $(DEPDIR)/instrmandolin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrmandolin.c' object='instrmandolin.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrmandolin.obj `if test -f '$(NYQUIST)/tran/instrmandolin.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrmandolin.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrmandolin.c'; fi`
+
+instrsitar.o: $(NYQUIST)/tran/instrsitar.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsitar.o -MD -MP -MF $(DEPDIR)/instrsitar.Tpo -c -o instrsitar.o `test -f '$(NYQUIST)/tran/instrsitar.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsitar.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsitar.Tpo $(DEPDIR)/instrsitar.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsitar.c' object='instrsitar.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsitar.o `test -f '$(NYQUIST)/tran/instrsitar.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrsitar.c
+
+instrsitar.obj: $(NYQUIST)/tran/instrsitar.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrsitar.obj -MD -MP -MF $(DEPDIR)/instrsitar.Tpo -c -o instrsitar.obj `if test -f '$(NYQUIST)/tran/instrsitar.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsitar.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsitar.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrsitar.Tpo $(DEPDIR)/instrsitar.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrsitar.c' object='instrsitar.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrsitar.obj `if test -f '$(NYQUIST)/tran/instrsitar.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrsitar.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrsitar.c'; fi`
+
+instrmodalbar.o: $(NYQUIST)/tran/instrmodalbar.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrmodalbar.o -MD -MP -MF $(DEPDIR)/instrmodalbar.Tpo -c -o instrmodalbar.o `test -f '$(NYQUIST)/tran/instrmodalbar.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrmodalbar.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrmodalbar.Tpo $(DEPDIR)/instrmodalbar.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrmodalbar.c' object='instrmodalbar.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrmodalbar.o `test -f '$(NYQUIST)/tran/instrmodalbar.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrmodalbar.c
+
+instrmodalbar.obj: $(NYQUIST)/tran/instrmodalbar.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrmodalbar.obj -MD -MP -MF $(DEPDIR)/instrmodalbar.Tpo -c -o instrmodalbar.obj `if test -f '$(NYQUIST)/tran/instrmodalbar.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrmodalbar.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrmodalbar.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrmodalbar.Tpo $(DEPDIR)/instrmodalbar.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrmodalbar.c' object='instrmodalbar.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrmodalbar.obj `if test -f '$(NYQUIST)/tran/instrmodalbar.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrmodalbar.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrmodalbar.c'; fi`
+
+instrflute.o: $(NYQUIST)/tran/instrflute.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrflute.o -MD -MP -MF $(DEPDIR)/instrflute.Tpo -c -o instrflute.o `test -f '$(NYQUIST)/tran/instrflute.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrflute.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrflute.Tpo $(DEPDIR)/instrflute.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrflute.c' object='instrflute.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrflute.o `test -f '$(NYQUIST)/tran/instrflute.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrflute.c
+
+instrflute.obj: $(NYQUIST)/tran/instrflute.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrflute.obj -MD -MP -MF $(DEPDIR)/instrflute.Tpo -c -o instrflute.obj `if test -f '$(NYQUIST)/tran/instrflute.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrflute.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrflute.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrflute.Tpo $(DEPDIR)/instrflute.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrflute.c' object='instrflute.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrflute.obj `if test -f '$(NYQUIST)/tran/instrflute.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrflute.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrflute.c'; fi`
+
+instrflutefreq.o: $(NYQUIST)/tran/instrflutefreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrflutefreq.o -MD -MP -MF $(DEPDIR)/instrflutefreq.Tpo -c -o instrflutefreq.o `test -f '$(NYQUIST)/tran/instrflutefreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrflutefreq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrflutefreq.Tpo $(DEPDIR)/instrflutefreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrflutefreq.c' object='instrflutefreq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrflutefreq.o `test -f '$(NYQUIST)/tran/instrflutefreq.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrflutefreq.c
+
+instrflutefreq.obj: $(NYQUIST)/tran/instrflutefreq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrflutefreq.obj -MD -MP -MF $(DEPDIR)/instrflutefreq.Tpo -c -o instrflutefreq.obj `if test -f '$(NYQUIST)/tran/instrflutefreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrflutefreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrflutefreq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrflutefreq.Tpo $(DEPDIR)/instrflutefreq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrflutefreq.c' object='instrflutefreq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrflutefreq.obj `if test -f '$(NYQUIST)/tran/instrflutefreq.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrflutefreq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrflutefreq.c'; fi`
+
+instrfluteall.o: $(NYQUIST)/tran/instrfluteall.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrfluteall.o -MD -MP -MF $(DEPDIR)/instrfluteall.Tpo -c -o instrfluteall.o `test -f '$(NYQUIST)/tran/instrfluteall.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrfluteall.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrfluteall.Tpo $(DEPDIR)/instrfluteall.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrfluteall.c' object='instrfluteall.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrfluteall.o `test -f '$(NYQUIST)/tran/instrfluteall.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/instrfluteall.c
+
+instrfluteall.obj: $(NYQUIST)/tran/instrfluteall.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT instrfluteall.obj -MD -MP -MF $(DEPDIR)/instrfluteall.Tpo -c -o instrfluteall.obj `if test -f '$(NYQUIST)/tran/instrfluteall.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrfluteall.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrfluteall.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/instrfluteall.Tpo $(DEPDIR)/instrfluteall.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/instrfluteall.c' object='instrfluteall.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o instrfluteall.obj `if test -f '$(NYQUIST)/tran/instrfluteall.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/instrfluteall.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/instrfluteall.c'; fi`
+
+fmfb.o: $(NYQUIST)/tran/fmfb.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fmfb.o -MD -MP -MF $(DEPDIR)/fmfb.Tpo -c -o fmfb.o `test -f '$(NYQUIST)/tran/fmfb.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fmfb.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fmfb.Tpo $(DEPDIR)/fmfb.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fmfb.c' object='fmfb.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fmfb.o `test -f '$(NYQUIST)/tran/fmfb.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fmfb.c
+
+fmfb.obj: $(NYQUIST)/tran/fmfb.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fmfb.obj -MD -MP -MF $(DEPDIR)/fmfb.Tpo -c -o fmfb.obj `if test -f '$(NYQUIST)/tran/fmfb.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fmfb.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fmfb.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fmfb.Tpo $(DEPDIR)/fmfb.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fmfb.c' object='fmfb.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fmfb.obj `if test -f '$(NYQUIST)/tran/fmfb.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fmfb.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fmfb.c'; fi`
+
+fmfbv.o: $(NYQUIST)/tran/fmfbv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fmfbv.o -MD -MP -MF $(DEPDIR)/fmfbv.Tpo -c -o fmfbv.o `test -f '$(NYQUIST)/tran/fmfbv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fmfbv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fmfbv.Tpo $(DEPDIR)/fmfbv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fmfbv.c' object='fmfbv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fmfbv.o `test -f '$(NYQUIST)/tran/fmfbv.c' || echo '$(srcdir)/'`$(NYQUIST)/tran/fmfbv.c
+
+fmfbv.obj: $(NYQUIST)/tran/fmfbv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fmfbv.obj -MD -MP -MF $(DEPDIR)/fmfbv.Tpo -c -o fmfbv.obj `if test -f '$(NYQUIST)/tran/fmfbv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fmfbv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fmfbv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fmfbv.Tpo $(DEPDIR)/fmfbv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/tran/fmfbv.c' object='fmfbv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fmfbv.obj `if test -f '$(NYQUIST)/tran/fmfbv.c'; then $(CYGPATH_W) '$(NYQUIST)/tran/fmfbv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/tran/fmfbv.c'; fi`
+
+cext.o: $(NYQUIST)/cmt/cext.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cext.o -MD -MP -MF $(DEPDIR)/cext.Tpo -c -o cext.o `test -f '$(NYQUIST)/cmt/cext.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cext.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cext.Tpo $(DEPDIR)/cext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cext.c' object='cext.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cext.o `test -f '$(NYQUIST)/cmt/cext.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cext.c
+
+cext.obj: $(NYQUIST)/cmt/cext.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cext.obj -MD -MP -MF $(DEPDIR)/cext.Tpo -c -o cext.obj `if test -f '$(NYQUIST)/cmt/cext.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cext.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cext.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cext.Tpo $(DEPDIR)/cext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cext.c' object='cext.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cext.obj `if test -f '$(NYQUIST)/cmt/cext.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cext.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cext.c'; fi`
+
+cleanup.o: $(NYQUIST)/cmt/cleanup.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cleanup.o -MD -MP -MF $(DEPDIR)/cleanup.Tpo -c -o cleanup.o `test -f '$(NYQUIST)/cmt/cleanup.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cleanup.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cleanup.Tpo $(DEPDIR)/cleanup.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cleanup.c' object='cleanup.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cleanup.o `test -f '$(NYQUIST)/cmt/cleanup.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cleanup.c
+
+cleanup.obj: $(NYQUIST)/cmt/cleanup.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cleanup.obj -MD -MP -MF $(DEPDIR)/cleanup.Tpo -c -o cleanup.obj `if test -f '$(NYQUIST)/cmt/cleanup.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cleanup.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cleanup.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cleanup.Tpo $(DEPDIR)/cleanup.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cleanup.c' object='cleanup.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cleanup.obj `if test -f '$(NYQUIST)/cmt/cleanup.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cleanup.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cleanup.c'; fi`
+
+cmdline.o: $(NYQUIST)/cmt/cmdline.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmdline.o -MD -MP -MF $(DEPDIR)/cmdline.Tpo -c -o cmdline.o `test -f '$(NYQUIST)/cmt/cmdline.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cmdline.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cmdline.Tpo $(DEPDIR)/cmdline.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cmdline.c' object='cmdline.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmdline.o `test -f '$(NYQUIST)/cmt/cmdline.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cmdline.c
+
+cmdline.obj: $(NYQUIST)/cmt/cmdline.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmdline.obj -MD -MP -MF $(DEPDIR)/cmdline.Tpo -c -o cmdline.obj `if test -f '$(NYQUIST)/cmt/cmdline.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cmdline.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cmdline.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cmdline.Tpo $(DEPDIR)/cmdline.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cmdline.c' object='cmdline.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmdline.obj `if test -f '$(NYQUIST)/cmt/cmdline.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cmdline.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cmdline.c'; fi`
+
+cmtcmd.o: $(NYQUIST)/cmt/cmtcmd.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmtcmd.o -MD -MP -MF $(DEPDIR)/cmtcmd.Tpo -c -o cmtcmd.o `test -f '$(NYQUIST)/cmt/cmtcmd.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cmtcmd.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cmtcmd.Tpo $(DEPDIR)/cmtcmd.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cmtcmd.c' object='cmtcmd.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmtcmd.o `test -f '$(NYQUIST)/cmt/cmtcmd.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/cmtcmd.c
+
+cmtcmd.obj: $(NYQUIST)/cmt/cmtcmd.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmtcmd.obj -MD -MP -MF $(DEPDIR)/cmtcmd.Tpo -c -o cmtcmd.obj `if test -f '$(NYQUIST)/cmt/cmtcmd.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cmtcmd.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cmtcmd.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/cmtcmd.Tpo $(DEPDIR)/cmtcmd.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/cmtcmd.c' object='cmtcmd.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmtcmd.obj `if test -f '$(NYQUIST)/cmt/cmtcmd.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/cmtcmd.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/cmtcmd.c'; fi`
+
+moxc.o: $(NYQUIST)/cmt/moxc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT moxc.o -MD -MP -MF $(DEPDIR)/moxc.Tpo -c -o moxc.o `test -f '$(NYQUIST)/cmt/moxc.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/moxc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/moxc.Tpo $(DEPDIR)/moxc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/moxc.c' object='moxc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o moxc.o `test -f '$(NYQUIST)/cmt/moxc.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/moxc.c
+
+moxc.obj: $(NYQUIST)/cmt/moxc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT moxc.obj -MD -MP -MF $(DEPDIR)/moxc.Tpo -c -o moxc.obj `if test -f '$(NYQUIST)/cmt/moxc.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/moxc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/moxc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/moxc.Tpo $(DEPDIR)/moxc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/moxc.c' object='moxc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o moxc.obj `if test -f '$(NYQUIST)/cmt/moxc.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/moxc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/moxc.c'; fi`
+
+mem.o: $(NYQUIST)/cmt/mem.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mem.o -MD -MP -MF $(DEPDIR)/mem.Tpo -c -o mem.o `test -f '$(NYQUIST)/cmt/mem.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/mem.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/mem.Tpo $(DEPDIR)/mem.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/mem.c' object='mem.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mem.o `test -f '$(NYQUIST)/cmt/mem.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/mem.c
+
+mem.obj: $(NYQUIST)/cmt/mem.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mem.obj -MD -MP -MF $(DEPDIR)/mem.Tpo -c -o mem.obj `if test -f '$(NYQUIST)/cmt/mem.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/mem.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/mem.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/mem.Tpo $(DEPDIR)/mem.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/mem.c' object='mem.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mem.obj `if test -f '$(NYQUIST)/cmt/mem.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/mem.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/mem.c'; fi`
+
+midifile.o: $(NYQUIST)/cmt/midifile.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT midifile.o -MD -MP -MF $(DEPDIR)/midifile.Tpo -c -o midifile.o `test -f '$(NYQUIST)/cmt/midifile.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/midifile.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/midifile.Tpo $(DEPDIR)/midifile.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/midifile.c' object='midifile.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o midifile.o `test -f '$(NYQUIST)/cmt/midifile.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/midifile.c
+
+midifile.obj: $(NYQUIST)/cmt/midifile.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT midifile.obj -MD -MP -MF $(DEPDIR)/midifile.Tpo -c -o midifile.obj `if test -f '$(NYQUIST)/cmt/midifile.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/midifile.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/midifile.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/midifile.Tpo $(DEPDIR)/midifile.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/midifile.c' object='midifile.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o midifile.obj `if test -f '$(NYQUIST)/cmt/midifile.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/midifile.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/midifile.c'; fi`
+
+midifns.o: $(NYQUIST)/cmt/midifns.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT midifns.o -MD -MP -MF $(DEPDIR)/midifns.Tpo -c -o midifns.o `test -f '$(NYQUIST)/cmt/midifns.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/midifns.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/midifns.Tpo $(DEPDIR)/midifns.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/midifns.c' object='midifns.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o midifns.o `test -f '$(NYQUIST)/cmt/midifns.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/midifns.c
+
+midifns.obj: $(NYQUIST)/cmt/midifns.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT midifns.obj -MD -MP -MF $(DEPDIR)/midifns.Tpo -c -o midifns.obj `if test -f '$(NYQUIST)/cmt/midifns.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/midifns.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/midifns.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/midifns.Tpo $(DEPDIR)/midifns.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/midifns.c' object='midifns.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o midifns.obj `if test -f '$(NYQUIST)/cmt/midifns.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/midifns.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/midifns.c'; fi`
+
+record.o: $(NYQUIST)/cmt/record.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT record.o -MD -MP -MF $(DEPDIR)/record.Tpo -c -o record.o `test -f '$(NYQUIST)/cmt/record.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/record.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/record.Tpo $(DEPDIR)/record.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/record.c' object='record.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o record.o `test -f '$(NYQUIST)/cmt/record.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/record.c
+
+record.obj: $(NYQUIST)/cmt/record.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT record.obj -MD -MP -MF $(DEPDIR)/record.Tpo -c -o record.obj `if test -f '$(NYQUIST)/cmt/record.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/record.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/record.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/record.Tpo $(DEPDIR)/record.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/record.c' object='record.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o record.obj `if test -f '$(NYQUIST)/cmt/record.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/record.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/record.c'; fi`
+
+seq.o: $(NYQUIST)/cmt/seq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seq.o -MD -MP -MF $(DEPDIR)/seq.Tpo -c -o seq.o `test -f '$(NYQUIST)/cmt/seq.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seq.Tpo $(DEPDIR)/seq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seq.c' object='seq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seq.o `test -f '$(NYQUIST)/cmt/seq.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seq.c
+
+seq.obj: $(NYQUIST)/cmt/seq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seq.obj -MD -MP -MF $(DEPDIR)/seq.Tpo -c -o seq.obj `if test -f '$(NYQUIST)/cmt/seq.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seq.Tpo $(DEPDIR)/seq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seq.c' object='seq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seq.obj `if test -f '$(NYQUIST)/cmt/seq.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seq.c'; fi`
+
+seqmread.o: $(NYQUIST)/cmt/seqmread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqmread.o -MD -MP -MF $(DEPDIR)/seqmread.Tpo -c -o seqmread.o `test -f '$(NYQUIST)/cmt/seqmread.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqmread.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqmread.Tpo $(DEPDIR)/seqmread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqmread.c' object='seqmread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqmread.o `test -f '$(NYQUIST)/cmt/seqmread.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqmread.c
+
+seqmread.obj: $(NYQUIST)/cmt/seqmread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqmread.obj -MD -MP -MF $(DEPDIR)/seqmread.Tpo -c -o seqmread.obj `if test -f '$(NYQUIST)/cmt/seqmread.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqmread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqmread.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqmread.Tpo $(DEPDIR)/seqmread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqmread.c' object='seqmread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqmread.obj `if test -f '$(NYQUIST)/cmt/seqmread.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqmread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqmread.c'; fi`
+
+seqmwrite.o: $(NYQUIST)/cmt/seqmwrite.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqmwrite.o -MD -MP -MF $(DEPDIR)/seqmwrite.Tpo -c -o seqmwrite.o `test -f '$(NYQUIST)/cmt/seqmwrite.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqmwrite.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqmwrite.Tpo $(DEPDIR)/seqmwrite.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqmwrite.c' object='seqmwrite.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqmwrite.o `test -f '$(NYQUIST)/cmt/seqmwrite.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqmwrite.c
+
+seqmwrite.obj: $(NYQUIST)/cmt/seqmwrite.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqmwrite.obj -MD -MP -MF $(DEPDIR)/seqmwrite.Tpo -c -o seqmwrite.obj `if test -f '$(NYQUIST)/cmt/seqmwrite.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqmwrite.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqmwrite.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqmwrite.Tpo $(DEPDIR)/seqmwrite.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqmwrite.c' object='seqmwrite.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqmwrite.obj `if test -f '$(NYQUIST)/cmt/seqmwrite.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqmwrite.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqmwrite.c'; fi`
+
+seqread.o: $(NYQUIST)/cmt/seqread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqread.o -MD -MP -MF $(DEPDIR)/seqread.Tpo -c -o seqread.o `test -f '$(NYQUIST)/cmt/seqread.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqread.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqread.Tpo $(DEPDIR)/seqread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqread.c' object='seqread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqread.o `test -f '$(NYQUIST)/cmt/seqread.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqread.c
+
+seqread.obj: $(NYQUIST)/cmt/seqread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqread.obj -MD -MP -MF $(DEPDIR)/seqread.Tpo -c -o seqread.obj `if test -f '$(NYQUIST)/cmt/seqread.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqread.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqread.Tpo $(DEPDIR)/seqread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqread.c' object='seqread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqread.obj `if test -f '$(NYQUIST)/cmt/seqread.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqread.c'; fi`
+
+seqwrite.o: $(NYQUIST)/cmt/seqwrite.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqwrite.o -MD -MP -MF $(DEPDIR)/seqwrite.Tpo -c -o seqwrite.o `test -f '$(NYQUIST)/cmt/seqwrite.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqwrite.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqwrite.Tpo $(DEPDIR)/seqwrite.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqwrite.c' object='seqwrite.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqwrite.o `test -f '$(NYQUIST)/cmt/seqwrite.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/seqwrite.c
+
+seqwrite.obj: $(NYQUIST)/cmt/seqwrite.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqwrite.obj -MD -MP -MF $(DEPDIR)/seqwrite.Tpo -c -o seqwrite.obj `if test -f '$(NYQUIST)/cmt/seqwrite.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqwrite.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqwrite.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqwrite.Tpo $(DEPDIR)/seqwrite.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/seqwrite.c' object='seqwrite.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqwrite.obj `if test -f '$(NYQUIST)/cmt/seqwrite.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/seqwrite.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/seqwrite.c'; fi`
+
+tempomap.o: $(NYQUIST)/cmt/tempomap.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tempomap.o -MD -MP -MF $(DEPDIR)/tempomap.Tpo -c -o tempomap.o `test -f '$(NYQUIST)/cmt/tempomap.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/tempomap.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tempomap.Tpo $(DEPDIR)/tempomap.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/tempomap.c' object='tempomap.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tempomap.o `test -f '$(NYQUIST)/cmt/tempomap.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/tempomap.c
+
+tempomap.obj: $(NYQUIST)/cmt/tempomap.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tempomap.obj -MD -MP -MF $(DEPDIR)/tempomap.Tpo -c -o tempomap.obj `if test -f '$(NYQUIST)/cmt/tempomap.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/tempomap.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/tempomap.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tempomap.Tpo $(DEPDIR)/tempomap.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/tempomap.c' object='tempomap.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tempomap.obj `if test -f '$(NYQUIST)/cmt/tempomap.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/tempomap.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/tempomap.c'; fi`
+
+timebase.o: $(NYQUIST)/cmt/timebase.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT timebase.o -MD -MP -MF $(DEPDIR)/timebase.Tpo -c -o timebase.o `test -f '$(NYQUIST)/cmt/timebase.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/timebase.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/timebase.Tpo $(DEPDIR)/timebase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/timebase.c' object='timebase.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o timebase.o `test -f '$(NYQUIST)/cmt/timebase.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/timebase.c
+
+timebase.obj: $(NYQUIST)/cmt/timebase.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT timebase.obj -MD -MP -MF $(DEPDIR)/timebase.Tpo -c -o timebase.obj `if test -f '$(NYQUIST)/cmt/timebase.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/timebase.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/timebase.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/timebase.Tpo $(DEPDIR)/timebase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/timebase.c' object='timebase.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o timebase.obj `if test -f '$(NYQUIST)/cmt/timebase.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/timebase.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/timebase.c'; fi`
+
+userio.o: $(NYQUIST)/cmt/userio.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT userio.o -MD -MP -MF $(DEPDIR)/userio.Tpo -c -o userio.o `test -f '$(NYQUIST)/cmt/userio.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/userio.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/userio.Tpo $(DEPDIR)/userio.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/userio.c' object='userio.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o userio.o `test -f '$(NYQUIST)/cmt/userio.c' || echo '$(srcdir)/'`$(NYQUIST)/cmt/userio.c
+
+userio.obj: $(NYQUIST)/cmt/userio.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT userio.obj -MD -MP -MF $(DEPDIR)/userio.Tpo -c -o userio.obj `if test -f '$(NYQUIST)/cmt/userio.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/userio.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/userio.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/userio.Tpo $(DEPDIR)/userio.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/cmt/userio.c' object='userio.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o userio.obj `if test -f '$(NYQUIST)/cmt/userio.c'; then $(CYGPATH_W) '$(NYQUIST)/cmt/userio.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/cmt/userio.c'; fi`
+
+debug.o: $(NYQUIST)/nyqsrc/debug.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT debug.o -MD -MP -MF $(DEPDIR)/debug.Tpo -c -o debug.o `test -f '$(NYQUIST)/nyqsrc/debug.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/debug.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/debug.Tpo $(DEPDIR)/debug.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/debug.c' object='debug.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o debug.o `test -f '$(NYQUIST)/nyqsrc/debug.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/debug.c
+
+debug.obj: $(NYQUIST)/nyqsrc/debug.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT debug.obj -MD -MP -MF $(DEPDIR)/debug.Tpo -c -o debug.obj `if test -f '$(NYQUIST)/nyqsrc/debug.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/debug.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/debug.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/debug.Tpo $(DEPDIR)/debug.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/debug.c' object='debug.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o debug.obj `if test -f '$(NYQUIST)/nyqsrc/debug.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/debug.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/debug.c'; fi`
+
+falloc.o: $(NYQUIST)/nyqsrc/falloc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT falloc.o -MD -MP -MF $(DEPDIR)/falloc.Tpo -c -o falloc.o `test -f '$(NYQUIST)/nyqsrc/falloc.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/falloc.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/falloc.Tpo $(DEPDIR)/falloc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/falloc.c' object='falloc.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o falloc.o `test -f '$(NYQUIST)/nyqsrc/falloc.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/falloc.c
+
+falloc.obj: $(NYQUIST)/nyqsrc/falloc.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT falloc.obj -MD -MP -MF $(DEPDIR)/falloc.Tpo -c -o falloc.obj `if test -f '$(NYQUIST)/nyqsrc/falloc.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/falloc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/falloc.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/falloc.Tpo $(DEPDIR)/falloc.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/falloc.c' object='falloc.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o falloc.obj `if test -f '$(NYQUIST)/nyqsrc/falloc.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/falloc.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/falloc.c'; fi`
+
+local.o: $(NYQUIST)/nyqsrc/local.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local.o -MD -MP -MF $(DEPDIR)/local.Tpo -c -o local.o `test -f '$(NYQUIST)/nyqsrc/local.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/local.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/local.Tpo $(DEPDIR)/local.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/local.c' object='local.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local.o `test -f '$(NYQUIST)/nyqsrc/local.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/local.c
+
+local.obj: $(NYQUIST)/nyqsrc/local.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local.obj -MD -MP -MF $(DEPDIR)/local.Tpo -c -o local.obj `if test -f '$(NYQUIST)/nyqsrc/local.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/local.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/local.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/local.Tpo $(DEPDIR)/local.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/local.c' object='local.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local.obj `if test -f '$(NYQUIST)/nyqsrc/local.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/local.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/local.c'; fi`
+
+handlers.o: $(NYQUIST)/nyqsrc/handlers.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT handlers.o -MD -MP -MF $(DEPDIR)/handlers.Tpo -c -o handlers.o `test -f '$(NYQUIST)/nyqsrc/handlers.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/handlers.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/handlers.Tpo $(DEPDIR)/handlers.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/handlers.c' object='handlers.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o handlers.o `test -f '$(NYQUIST)/nyqsrc/handlers.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/handlers.c
+
+handlers.obj: $(NYQUIST)/nyqsrc/handlers.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT handlers.obj -MD -MP -MF $(DEPDIR)/handlers.Tpo -c -o handlers.obj `if test -f '$(NYQUIST)/nyqsrc/handlers.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/handlers.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/handlers.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/handlers.Tpo $(DEPDIR)/handlers.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/handlers.c' object='handlers.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o handlers.obj `if test -f '$(NYQUIST)/nyqsrc/handlers.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/handlers.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/handlers.c'; fi`
+
+multiread.o: $(NYQUIST)/nyqsrc/multiread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT multiread.o -MD -MP -MF $(DEPDIR)/multiread.Tpo -c -o multiread.o `test -f '$(NYQUIST)/nyqsrc/multiread.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/multiread.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/multiread.Tpo $(DEPDIR)/multiread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/multiread.c' object='multiread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o multiread.o `test -f '$(NYQUIST)/nyqsrc/multiread.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/multiread.c
+
+multiread.obj: $(NYQUIST)/nyqsrc/multiread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT multiread.obj -MD -MP -MF $(DEPDIR)/multiread.Tpo -c -o multiread.obj `if test -f '$(NYQUIST)/nyqsrc/multiread.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/multiread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/multiread.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/multiread.Tpo $(DEPDIR)/multiread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/multiread.c' object='multiread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o multiread.obj `if test -f '$(NYQUIST)/nyqsrc/multiread.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/multiread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/multiread.c'; fi`
+
+seqext.o: $(NYQUIST)/nyqsrc/seqext.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqext.o -MD -MP -MF $(DEPDIR)/seqext.Tpo -c -o seqext.o `test -f '$(NYQUIST)/nyqsrc/seqext.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/seqext.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqext.Tpo $(DEPDIR)/seqext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/seqext.c' object='seqext.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqext.o `test -f '$(NYQUIST)/nyqsrc/seqext.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/seqext.c
+
+seqext.obj: $(NYQUIST)/nyqsrc/seqext.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqext.obj -MD -MP -MF $(DEPDIR)/seqext.Tpo -c -o seqext.obj `if test -f '$(NYQUIST)/nyqsrc/seqext.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/seqext.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/seqext.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqext.Tpo $(DEPDIR)/seqext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/seqext.c' object='seqext.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqext.obj `if test -f '$(NYQUIST)/nyqsrc/seqext.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/seqext.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/seqext.c'; fi`
+
+seqinterf.o: $(NYQUIST)/nyqsrc/seqinterf.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqinterf.o -MD -MP -MF $(DEPDIR)/seqinterf.Tpo -c -o seqinterf.o `test -f '$(NYQUIST)/nyqsrc/seqinterf.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/seqinterf.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqinterf.Tpo $(DEPDIR)/seqinterf.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/seqinterf.c' object='seqinterf.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqinterf.o `test -f '$(NYQUIST)/nyqsrc/seqinterf.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/seqinterf.c
+
+seqinterf.obj: $(NYQUIST)/nyqsrc/seqinterf.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqinterf.obj -MD -MP -MF $(DEPDIR)/seqinterf.Tpo -c -o seqinterf.obj `if test -f '$(NYQUIST)/nyqsrc/seqinterf.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/seqinterf.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/seqinterf.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqinterf.Tpo $(DEPDIR)/seqinterf.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/seqinterf.c' object='seqinterf.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqinterf.obj `if test -f '$(NYQUIST)/nyqsrc/seqinterf.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/seqinterf.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/seqinterf.c'; fi`
+
+stats.o: $(NYQUIST)/nyqsrc/stats.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats.o -MD -MP -MF $(DEPDIR)/stats.Tpo -c -o stats.o `test -f '$(NYQUIST)/nyqsrc/stats.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/stats.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stats.Tpo $(DEPDIR)/stats.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/stats.c' object='stats.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats.o `test -f '$(NYQUIST)/nyqsrc/stats.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/stats.c
+
+stats.obj: $(NYQUIST)/nyqsrc/stats.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stats.obj -MD -MP -MF $(DEPDIR)/stats.Tpo -c -o stats.obj `if test -f '$(NYQUIST)/nyqsrc/stats.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/stats.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/stats.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/stats.Tpo $(DEPDIR)/stats.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/stats.c' object='stats.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stats.obj `if test -f '$(NYQUIST)/nyqsrc/stats.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/stats.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/stats.c'; fi`
+
+ffilterkit.o: $(NYQUIST)/nyqsrc/ffilterkit.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ffilterkit.o -MD -MP -MF $(DEPDIR)/ffilterkit.Tpo -c -o ffilterkit.o `test -f '$(NYQUIST)/nyqsrc/ffilterkit.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/ffilterkit.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ffilterkit.Tpo $(DEPDIR)/ffilterkit.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/ffilterkit.c' object='ffilterkit.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ffilterkit.o `test -f '$(NYQUIST)/nyqsrc/ffilterkit.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/ffilterkit.c
+
+ffilterkit.obj: $(NYQUIST)/nyqsrc/ffilterkit.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ffilterkit.obj -MD -MP -MF $(DEPDIR)/ffilterkit.Tpo -c -o ffilterkit.obj `if test -f '$(NYQUIST)/nyqsrc/ffilterkit.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/ffilterkit.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/ffilterkit.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ffilterkit.Tpo $(DEPDIR)/ffilterkit.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/ffilterkit.c' object='ffilterkit.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ffilterkit.obj `if test -f '$(NYQUIST)/nyqsrc/ffilterkit.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/ffilterkit.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/ffilterkit.c'; fi`
+
+sliders.o: $(NYQUIST)/nyqsrc/sliders.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sliders.o -MD -MP -MF $(DEPDIR)/sliders.Tpo -c -o sliders.o `test -f '$(NYQUIST)/nyqsrc/sliders.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sliders.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sliders.Tpo $(DEPDIR)/sliders.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sliders.c' object='sliders.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sliders.o `test -f '$(NYQUIST)/nyqsrc/sliders.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sliders.c
+
+sliders.obj: $(NYQUIST)/nyqsrc/sliders.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sliders.obj -MD -MP -MF $(DEPDIR)/sliders.Tpo -c -o sliders.obj `if test -f '$(NYQUIST)/nyqsrc/sliders.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sliders.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sliders.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sliders.Tpo $(DEPDIR)/sliders.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sliders.c' object='sliders.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sliders.obj `if test -f '$(NYQUIST)/nyqsrc/sliders.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sliders.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sliders.c'; fi`
+
+sound.o: $(NYQUIST)/nyqsrc/sound.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sound.o -MD -MP -MF $(DEPDIR)/sound.Tpo -c -o sound.o `test -f '$(NYQUIST)/nyqsrc/sound.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sound.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sound.Tpo $(DEPDIR)/sound.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sound.c' object='sound.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sound.o `test -f '$(NYQUIST)/nyqsrc/sound.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sound.c
+
+sound.obj: $(NYQUIST)/nyqsrc/sound.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sound.obj -MD -MP -MF $(DEPDIR)/sound.Tpo -c -o sound.obj `if test -f '$(NYQUIST)/nyqsrc/sound.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sound.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sound.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sound.Tpo $(DEPDIR)/sound.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sound.c' object='sound.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sound.obj `if test -f '$(NYQUIST)/nyqsrc/sound.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sound.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sound.c'; fi`
+
+add.o: $(NYQUIST)/nyqsrc/add.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT add.o -MD -MP -MF $(DEPDIR)/add.Tpo -c -o add.o `test -f '$(NYQUIST)/nyqsrc/add.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/add.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/add.Tpo $(DEPDIR)/add.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/add.c' object='add.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o add.o `test -f '$(NYQUIST)/nyqsrc/add.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/add.c
+
+add.obj: $(NYQUIST)/nyqsrc/add.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT add.obj -MD -MP -MF $(DEPDIR)/add.Tpo -c -o add.obj `if test -f '$(NYQUIST)/nyqsrc/add.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/add.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/add.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/add.Tpo $(DEPDIR)/add.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/add.c' object='add.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o add.obj `if test -f '$(NYQUIST)/nyqsrc/add.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/add.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/add.c'; fi`
+
+avg.o: $(NYQUIST)/nyqsrc/avg.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT avg.o -MD -MP -MF $(DEPDIR)/avg.Tpo -c -o avg.o `test -f '$(NYQUIST)/nyqsrc/avg.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/avg.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/avg.Tpo $(DEPDIR)/avg.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/avg.c' object='avg.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o avg.o `test -f '$(NYQUIST)/nyqsrc/avg.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/avg.c
+
+avg.obj: $(NYQUIST)/nyqsrc/avg.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT avg.obj -MD -MP -MF $(DEPDIR)/avg.Tpo -c -o avg.obj `if test -f '$(NYQUIST)/nyqsrc/avg.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/avg.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/avg.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/avg.Tpo $(DEPDIR)/avg.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/avg.c' object='avg.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o avg.obj `if test -f '$(NYQUIST)/nyqsrc/avg.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/avg.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/avg.c'; fi`
+
+compose.o: $(NYQUIST)/nyqsrc/compose.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compose.o -MD -MP -MF $(DEPDIR)/compose.Tpo -c -o compose.o `test -f '$(NYQUIST)/nyqsrc/compose.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/compose.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/compose.Tpo $(DEPDIR)/compose.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/compose.c' object='compose.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compose.o `test -f '$(NYQUIST)/nyqsrc/compose.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/compose.c
+
+compose.obj: $(NYQUIST)/nyqsrc/compose.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compose.obj -MD -MP -MF $(DEPDIR)/compose.Tpo -c -o compose.obj `if test -f '$(NYQUIST)/nyqsrc/compose.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/compose.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/compose.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/compose.Tpo $(DEPDIR)/compose.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/compose.c' object='compose.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compose.obj `if test -f '$(NYQUIST)/nyqsrc/compose.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/compose.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/compose.c'; fi`
+
+convolve.o: $(NYQUIST)/nyqsrc/convolve.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convolve.o -MD -MP -MF $(DEPDIR)/convolve.Tpo -c -o convolve.o `test -f '$(NYQUIST)/nyqsrc/convolve.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/convolve.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/convolve.Tpo $(DEPDIR)/convolve.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/convolve.c' object='convolve.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convolve.o `test -f '$(NYQUIST)/nyqsrc/convolve.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/convolve.c
+
+convolve.obj: $(NYQUIST)/nyqsrc/convolve.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convolve.obj -MD -MP -MF $(DEPDIR)/convolve.Tpo -c -o convolve.obj `if test -f '$(NYQUIST)/nyqsrc/convolve.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/convolve.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/convolve.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/convolve.Tpo $(DEPDIR)/convolve.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/convolve.c' object='convolve.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o convolve.obj `if test -f '$(NYQUIST)/nyqsrc/convolve.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/convolve.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/convolve.c'; fi`
+
+downsample.o: $(NYQUIST)/nyqsrc/downsample.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT downsample.o -MD -MP -MF $(DEPDIR)/downsample.Tpo -c -o downsample.o `test -f '$(NYQUIST)/nyqsrc/downsample.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/downsample.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/downsample.Tpo $(DEPDIR)/downsample.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/downsample.c' object='downsample.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o downsample.o `test -f '$(NYQUIST)/nyqsrc/downsample.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/downsample.c
+
+downsample.obj: $(NYQUIST)/nyqsrc/downsample.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT downsample.obj -MD -MP -MF $(DEPDIR)/downsample.Tpo -c -o downsample.obj `if test -f '$(NYQUIST)/nyqsrc/downsample.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/downsample.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/downsample.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/downsample.Tpo $(DEPDIR)/downsample.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/downsample.c' object='downsample.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o downsample.obj `if test -f '$(NYQUIST)/nyqsrc/downsample.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/downsample.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/downsample.c'; fi`
+
+fft.o: $(NYQUIST)/nyqsrc/fft.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fft.o -MD -MP -MF $(DEPDIR)/fft.Tpo -c -o fft.o `test -f '$(NYQUIST)/nyqsrc/fft.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/fft.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fft.Tpo $(DEPDIR)/fft.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/fft.c' object='fft.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fft.o `test -f '$(NYQUIST)/nyqsrc/fft.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/fft.c
+
+fft.obj: $(NYQUIST)/nyqsrc/fft.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fft.obj -MD -MP -MF $(DEPDIR)/fft.Tpo -c -o fft.obj `if test -f '$(NYQUIST)/nyqsrc/fft.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/fft.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/fft.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fft.Tpo $(DEPDIR)/fft.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/fft.c' object='fft.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fft.obj `if test -f '$(NYQUIST)/nyqsrc/fft.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/fft.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/fft.c'; fi`
+
+inverse.o: $(NYQUIST)/nyqsrc/inverse.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inverse.o -MD -MP -MF $(DEPDIR)/inverse.Tpo -c -o inverse.o `test -f '$(NYQUIST)/nyqsrc/inverse.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/inverse.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/inverse.Tpo $(DEPDIR)/inverse.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/inverse.c' object='inverse.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inverse.o `test -f '$(NYQUIST)/nyqsrc/inverse.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/inverse.c
+
+inverse.obj: $(NYQUIST)/nyqsrc/inverse.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inverse.obj -MD -MP -MF $(DEPDIR)/inverse.Tpo -c -o inverse.obj `if test -f '$(NYQUIST)/nyqsrc/inverse.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/inverse.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/inverse.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/inverse.Tpo $(DEPDIR)/inverse.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/inverse.c' object='inverse.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inverse.obj `if test -f '$(NYQUIST)/nyqsrc/inverse.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/inverse.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/inverse.c'; fi`
+
+multiseq.o: $(NYQUIST)/nyqsrc/multiseq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT multiseq.o -MD -MP -MF $(DEPDIR)/multiseq.Tpo -c -o multiseq.o `test -f '$(NYQUIST)/nyqsrc/multiseq.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/multiseq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/multiseq.Tpo $(DEPDIR)/multiseq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/multiseq.c' object='multiseq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o multiseq.o `test -f '$(NYQUIST)/nyqsrc/multiseq.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/multiseq.c
+
+multiseq.obj: $(NYQUIST)/nyqsrc/multiseq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT multiseq.obj -MD -MP -MF $(DEPDIR)/multiseq.Tpo -c -o multiseq.obj `if test -f '$(NYQUIST)/nyqsrc/multiseq.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/multiseq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/multiseq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/multiseq.Tpo $(DEPDIR)/multiseq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/multiseq.c' object='multiseq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o multiseq.obj `if test -f '$(NYQUIST)/nyqsrc/multiseq.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/multiseq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/multiseq.c'; fi`
+
+resamp.o: $(NYQUIST)/nyqsrc/resamp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resamp.o -MD -MP -MF $(DEPDIR)/resamp.Tpo -c -o resamp.o `test -f '$(NYQUIST)/nyqsrc/resamp.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/resamp.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resamp.Tpo $(DEPDIR)/resamp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/resamp.c' object='resamp.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resamp.o `test -f '$(NYQUIST)/nyqsrc/resamp.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/resamp.c
+
+resamp.obj: $(NYQUIST)/nyqsrc/resamp.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resamp.obj -MD -MP -MF $(DEPDIR)/resamp.Tpo -c -o resamp.obj `if test -f '$(NYQUIST)/nyqsrc/resamp.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/resamp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/resamp.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resamp.Tpo $(DEPDIR)/resamp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/resamp.c' object='resamp.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resamp.obj `if test -f '$(NYQUIST)/nyqsrc/resamp.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/resamp.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/resamp.c'; fi`
+
+resampv.o: $(NYQUIST)/nyqsrc/resampv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resampv.o -MD -MP -MF $(DEPDIR)/resampv.Tpo -c -o resampv.o `test -f '$(NYQUIST)/nyqsrc/resampv.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/resampv.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resampv.Tpo $(DEPDIR)/resampv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/resampv.c' object='resampv.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resampv.o `test -f '$(NYQUIST)/nyqsrc/resampv.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/resampv.c
+
+resampv.obj: $(NYQUIST)/nyqsrc/resampv.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT resampv.obj -MD -MP -MF $(DEPDIR)/resampv.Tpo -c -o resampv.obj `if test -f '$(NYQUIST)/nyqsrc/resampv.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/resampv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/resampv.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/resampv.Tpo $(DEPDIR)/resampv.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/resampv.c' object='resampv.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o resampv.obj `if test -f '$(NYQUIST)/nyqsrc/resampv.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/resampv.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/resampv.c'; fi`
+
+samples.o: $(NYQUIST)/nyqsrc/samples.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT samples.o -MD -MP -MF $(DEPDIR)/samples.Tpo -c -o samples.o `test -f '$(NYQUIST)/nyqsrc/samples.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/samples.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/samples.Tpo $(DEPDIR)/samples.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/samples.c' object='samples.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o samples.o `test -f '$(NYQUIST)/nyqsrc/samples.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/samples.c
+
+samples.obj: $(NYQUIST)/nyqsrc/samples.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT samples.obj -MD -MP -MF $(DEPDIR)/samples.Tpo -c -o samples.obj `if test -f '$(NYQUIST)/nyqsrc/samples.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/samples.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/samples.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/samples.Tpo $(DEPDIR)/samples.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/samples.c' object='samples.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o samples.obj `if test -f '$(NYQUIST)/nyqsrc/samples.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/samples.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/samples.c'; fi`
+
+sndmax.o: $(NYQUIST)/nyqsrc/sndmax.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndmax.o -MD -MP -MF $(DEPDIR)/sndmax.Tpo -c -o sndmax.o `test -f '$(NYQUIST)/nyqsrc/sndmax.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndmax.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndmax.Tpo $(DEPDIR)/sndmax.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndmax.c' object='sndmax.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndmax.o `test -f '$(NYQUIST)/nyqsrc/sndmax.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndmax.c
+
+sndmax.obj: $(NYQUIST)/nyqsrc/sndmax.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndmax.obj -MD -MP -MF $(DEPDIR)/sndmax.Tpo -c -o sndmax.obj `if test -f '$(NYQUIST)/nyqsrc/sndmax.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndmax.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndmax.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndmax.Tpo $(DEPDIR)/sndmax.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndmax.c' object='sndmax.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndmax.obj `if test -f '$(NYQUIST)/nyqsrc/sndmax.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndmax.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndmax.c'; fi`
+
+sndread.o: $(NYQUIST)/nyqsrc/sndread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndread.o -MD -MP -MF $(DEPDIR)/sndread.Tpo -c -o sndread.o `test -f '$(NYQUIST)/nyqsrc/sndread.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndread.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndread.Tpo $(DEPDIR)/sndread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndread.c' object='sndread.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndread.o `test -f '$(NYQUIST)/nyqsrc/sndread.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndread.c
+
+sndread.obj: $(NYQUIST)/nyqsrc/sndread.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndread.obj -MD -MP -MF $(DEPDIR)/sndread.Tpo -c -o sndread.obj `if test -f '$(NYQUIST)/nyqsrc/sndread.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndread.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndread.Tpo $(DEPDIR)/sndread.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndread.c' object='sndread.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndread.obj `if test -f '$(NYQUIST)/nyqsrc/sndread.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndread.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndread.c'; fi`
+
+sndseq.o: $(NYQUIST)/nyqsrc/sndseq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndseq.o -MD -MP -MF $(DEPDIR)/sndseq.Tpo -c -o sndseq.o `test -f '$(NYQUIST)/nyqsrc/sndseq.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndseq.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndseq.Tpo $(DEPDIR)/sndseq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndseq.c' object='sndseq.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndseq.o `test -f '$(NYQUIST)/nyqsrc/sndseq.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndseq.c
+
+sndseq.obj: $(NYQUIST)/nyqsrc/sndseq.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndseq.obj -MD -MP -MF $(DEPDIR)/sndseq.Tpo -c -o sndseq.obj `if test -f '$(NYQUIST)/nyqsrc/sndseq.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndseq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndseq.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndseq.Tpo $(DEPDIR)/sndseq.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndseq.c' object='sndseq.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndseq.obj `if test -f '$(NYQUIST)/nyqsrc/sndseq.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndseq.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndseq.c'; fi`
+
+sndwritepa.o: $(NYQUIST)/nyqsrc/sndwritepa.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndwritepa.o -MD -MP -MF $(DEPDIR)/sndwritepa.Tpo -c -o sndwritepa.o `test -f '$(NYQUIST)/nyqsrc/sndwritepa.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndwritepa.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndwritepa.Tpo $(DEPDIR)/sndwritepa.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndwritepa.c' object='sndwritepa.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndwritepa.o `test -f '$(NYQUIST)/nyqsrc/sndwritepa.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndwritepa.c
+
+sndwritepa.obj: $(NYQUIST)/nyqsrc/sndwritepa.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndwritepa.obj -MD -MP -MF $(DEPDIR)/sndwritepa.Tpo -c -o sndwritepa.obj `if test -f '$(NYQUIST)/nyqsrc/sndwritepa.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndwritepa.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndwritepa.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndwritepa.Tpo $(DEPDIR)/sndwritepa.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndwritepa.c' object='sndwritepa.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndwritepa.obj `if test -f '$(NYQUIST)/nyqsrc/sndwritepa.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndwritepa.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndwritepa.c'; fi`
+
+yin.o: $(NYQUIST)/nyqsrc/yin.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT yin.o -MD -MP -MF $(DEPDIR)/yin.Tpo -c -o yin.o `test -f '$(NYQUIST)/nyqsrc/yin.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/yin.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/yin.Tpo $(DEPDIR)/yin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/yin.c' object='yin.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o yin.o `test -f '$(NYQUIST)/nyqsrc/yin.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/yin.c
+
+yin.obj: $(NYQUIST)/nyqsrc/yin.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT yin.obj -MD -MP -MF $(DEPDIR)/yin.Tpo -c -o yin.obj `if test -f '$(NYQUIST)/nyqsrc/yin.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/yin.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/yin.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/yin.Tpo $(DEPDIR)/yin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/yin.c' object='yin.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o yin.obj `if test -f '$(NYQUIST)/nyqsrc/yin.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/yin.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/yin.c'; fi`
+
+trigger.o: $(NYQUIST)/nyqsrc/trigger.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT trigger.o -MD -MP -MF $(DEPDIR)/trigger.Tpo -c -o trigger.o `test -f '$(NYQUIST)/nyqsrc/trigger.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/trigger.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/trigger.Tpo $(DEPDIR)/trigger.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/trigger.c' object='trigger.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o trigger.o `test -f '$(NYQUIST)/nyqsrc/trigger.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/trigger.c
+
+trigger.obj: $(NYQUIST)/nyqsrc/trigger.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT trigger.obj -MD -MP -MF $(DEPDIR)/trigger.Tpo -c -o trigger.obj `if test -f '$(NYQUIST)/nyqsrc/trigger.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/trigger.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/trigger.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/trigger.Tpo $(DEPDIR)/trigger.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/trigger.c' object='trigger.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o trigger.obj `if test -f '$(NYQUIST)/nyqsrc/trigger.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/trigger.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/trigger.c'; fi`
+
+lpanal.o: $(NYQUIST)/nyqsrc/lpanal.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lpanal.o -MD -MP -MF $(DEPDIR)/lpanal.Tpo -c -o lpanal.o `test -f '$(NYQUIST)/nyqsrc/lpanal.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/lpanal.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/lpanal.Tpo $(DEPDIR)/lpanal.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/lpanal.c' object='lpanal.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lpanal.o `test -f '$(NYQUIST)/nyqsrc/lpanal.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/lpanal.c
+
+lpanal.obj: $(NYQUIST)/nyqsrc/lpanal.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lpanal.obj -MD -MP -MF $(DEPDIR)/lpanal.Tpo -c -o lpanal.obj `if test -f '$(NYQUIST)/nyqsrc/lpanal.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/lpanal.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/lpanal.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/lpanal.Tpo $(DEPDIR)/lpanal.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/lpanal.c' object='lpanal.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lpanal.obj `if test -f '$(NYQUIST)/nyqsrc/lpanal.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/lpanal.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/lpanal.c'; fi`
+
+fftext.o: $(NYQUIST)/ffts/src/fftext.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fftext.o -MD -MP -MF $(DEPDIR)/fftext.Tpo -c -o fftext.o `test -f '$(NYQUIST)/ffts/src/fftext.c' || echo '$(srcdir)/'`$(NYQUIST)/ffts/src/fftext.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fftext.Tpo $(DEPDIR)/fftext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/ffts/src/fftext.c' object='fftext.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fftext.o `test -f '$(NYQUIST)/ffts/src/fftext.c' || echo '$(srcdir)/'`$(NYQUIST)/ffts/src/fftext.c
+
+fftext.obj: $(NYQUIST)/ffts/src/fftext.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fftext.obj -MD -MP -MF $(DEPDIR)/fftext.Tpo -c -o fftext.obj `if test -f '$(NYQUIST)/ffts/src/fftext.c'; then $(CYGPATH_W) '$(NYQUIST)/ffts/src/fftext.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/ffts/src/fftext.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fftext.Tpo $(DEPDIR)/fftext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/ffts/src/fftext.c' object='fftext.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fftext.obj `if test -f '$(NYQUIST)/ffts/src/fftext.c'; then $(CYGPATH_W) '$(NYQUIST)/ffts/src/fftext.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/ffts/src/fftext.c'; fi`
+
+fftlib.o: $(NYQUIST)/ffts/src/fftlib.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fftlib.o -MD -MP -MF $(DEPDIR)/fftlib.Tpo -c -o fftlib.o `test -f '$(NYQUIST)/ffts/src/fftlib.c' || echo '$(srcdir)/'`$(NYQUIST)/ffts/src/fftlib.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fftlib.Tpo $(DEPDIR)/fftlib.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/ffts/src/fftlib.c' object='fftlib.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fftlib.o `test -f '$(NYQUIST)/ffts/src/fftlib.c' || echo '$(srcdir)/'`$(NYQUIST)/ffts/src/fftlib.c
+
+fftlib.obj: $(NYQUIST)/ffts/src/fftlib.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fftlib.obj -MD -MP -MF $(DEPDIR)/fftlib.Tpo -c -o fftlib.obj `if test -f '$(NYQUIST)/ffts/src/fftlib.c'; then $(CYGPATH_W) '$(NYQUIST)/ffts/src/fftlib.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/ffts/src/fftlib.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/fftlib.Tpo $(DEPDIR)/fftlib.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/ffts/src/fftlib.c' object='fftlib.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fftlib.obj `if test -f '$(NYQUIST)/ffts/src/fftlib.c'; then $(CYGPATH_W) '$(NYQUIST)/ffts/src/fftlib.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/ffts/src/fftlib.c'; fi`
+
+matlib.o: $(NYQUIST)/ffts/src/matlib.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT matlib.o -MD -MP -MF $(DEPDIR)/matlib.Tpo -c -o matlib.o `test -f '$(NYQUIST)/ffts/src/matlib.c' || echo '$(srcdir)/'`$(NYQUIST)/ffts/src/matlib.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/matlib.Tpo $(DEPDIR)/matlib.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/ffts/src/matlib.c' object='matlib.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o matlib.o `test -f '$(NYQUIST)/ffts/src/matlib.c' || echo '$(srcdir)/'`$(NYQUIST)/ffts/src/matlib.c
+
+matlib.obj: $(NYQUIST)/ffts/src/matlib.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT matlib.obj -MD -MP -MF $(DEPDIR)/matlib.Tpo -c -o matlib.obj `if test -f '$(NYQUIST)/ffts/src/matlib.c'; then $(CYGPATH_W) '$(NYQUIST)/ffts/src/matlib.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/ffts/src/matlib.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/matlib.Tpo $(DEPDIR)/matlib.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/ffts/src/matlib.c' object='matlib.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o matlib.obj `if test -f '$(NYQUIST)/ffts/src/matlib.c'; then $(CYGPATH_W) '$(NYQUIST)/ffts/src/matlib.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/ffts/src/matlib.c'; fi`
+
+sndfnint.o: $(NYQUIST)/nyqsrc/sndfnint.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndfnint.o -MD -MP -MF $(DEPDIR)/sndfnint.Tpo -c -o sndfnint.o `test -f '$(NYQUIST)/nyqsrc/sndfnint.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndfnint.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndfnint.Tpo $(DEPDIR)/sndfnint.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndfnint.c' object='sndfnint.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndfnint.o `test -f '$(NYQUIST)/nyqsrc/sndfnint.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/sndfnint.c
+
+sndfnint.obj: $(NYQUIST)/nyqsrc/sndfnint.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sndfnint.obj -MD -MP -MF $(DEPDIR)/sndfnint.Tpo -c -o sndfnint.obj `if test -f '$(NYQUIST)/nyqsrc/sndfnint.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndfnint.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndfnint.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/sndfnint.Tpo $(DEPDIR)/sndfnint.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/sndfnint.c' object='sndfnint.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sndfnint.obj `if test -f '$(NYQUIST)/nyqsrc/sndfnint.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/sndfnint.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/sndfnint.c'; fi`
+
+seqfnint.o: $(NYQUIST)/nyqsrc/seqfnint.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqfnint.o -MD -MP -MF $(DEPDIR)/seqfnint.Tpo -c -o seqfnint.o `test -f '$(NYQUIST)/nyqsrc/seqfnint.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/seqfnint.c
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqfnint.Tpo $(DEPDIR)/seqfnint.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/seqfnint.c' object='seqfnint.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqfnint.o `test -f '$(NYQUIST)/nyqsrc/seqfnint.c' || echo '$(srcdir)/'`$(NYQUIST)/nyqsrc/seqfnint.c
+
+seqfnint.obj: $(NYQUIST)/nyqsrc/seqfnint.c
+ at am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seqfnint.obj -MD -MP -MF $(DEPDIR)/seqfnint.Tpo -c -o seqfnint.obj `if test -f '$(NYQUIST)/nyqsrc/seqfnint.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/seqfnint.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/seqfnint.c'; fi`
+ at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/seqfnint.Tpo $(DEPDIR)/seqfnint.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(NYQUIST)/nyqsrc/seqfnint.c' object='seqfnint.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seqfnint.obj `if test -f '$(NYQUIST)/nyqsrc/seqfnint.c'; then $(CYGPATH_W) '$(NYQUIST)/nyqsrc/seqfnint.c'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqsrc/seqfnint.c'; fi`
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+Generator.o: $(NYQUIST)/nyqstk/src/Generator.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Generator.o -MD -MP -MF $(DEPDIR)/Generator.Tpo -c -o Generator.o `test -f '$(NYQUIST)/nyqstk/src/Generator.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Generator.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Generator.Tpo $(DEPDIR)/Generator.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Generator.cpp' object='Generator.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Generator.o `test -f '$(NYQUIST)/nyqstk/src/Generator.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Generator.cpp
+
+Generator.obj: $(NYQUIST)/nyqstk/src/Generator.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Generator.obj -MD -MP -MF $(DEPDIR)/Generator.Tpo -c -o Generator.obj `if test -f '$(NYQUIST)/nyqstk/src/Generator.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Generator.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Generator.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Generator.Tpo $(DEPDIR)/Generator.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Generator.cpp' object='Generator.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Generator.obj `if test -f '$(NYQUIST)/nyqstk/src/Generator.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Generator.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Generator.cpp'; fi`
+
+SineWave.o: $(NYQUIST)/nyqstk/src/SineWave.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SineWave.o -MD -MP -MF $(DEPDIR)/SineWave.Tpo -c -o SineWave.o `test -f '$(NYQUIST)/nyqstk/src/SineWave.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/SineWave.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/SineWave.Tpo $(DEPDIR)/SineWave.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/SineWave.cpp' object='SineWave.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SineWave.o `test -f '$(NYQUIST)/nyqstk/src/SineWave.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/SineWave.cpp
+
+SineWave.obj: $(NYQUIST)/nyqstk/src/SineWave.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SineWave.obj -MD -MP -MF $(DEPDIR)/SineWave.Tpo -c -o SineWave.obj `if test -f '$(NYQUIST)/nyqstk/src/SineWave.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/SineWave.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/SineWave.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/SineWave.Tpo $(DEPDIR)/SineWave.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/SineWave.cpp' object='SineWave.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SineWave.obj `if test -f '$(NYQUIST)/nyqstk/src/SineWave.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/SineWave.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/SineWave.cpp'; fi`
+
+Function.o: $(NYQUIST)/nyqstk/src/Function.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Function.o -MD -MP -MF $(DEPDIR)/Function.Tpo -c -o Function.o `test -f '$(NYQUIST)/nyqstk/src/Function.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Function.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Function.Tpo $(DEPDIR)/Function.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Function.cpp' object='Function.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Function.o `test -f '$(NYQUIST)/nyqstk/src/Function.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Function.cpp
+
+Function.obj: $(NYQUIST)/nyqstk/src/Function.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Function.obj -MD -MP -MF $(DEPDIR)/Function.Tpo -c -o Function.obj `if test -f '$(NYQUIST)/nyqstk/src/Function.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Function.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Function.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Function.Tpo $(DEPDIR)/Function.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Function.cpp' object='Function.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Function.obj `if test -f '$(NYQUIST)/nyqstk/src/Function.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Function.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Function.cpp'; fi`
+
+FileRead.o: $(NYQUIST)/nyqstk/src/FileRead.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileRead.o -MD -MP -MF $(DEPDIR)/FileRead.Tpo -c -o FileRead.o `test -f '$(NYQUIST)/nyqstk/src/FileRead.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/FileRead.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/FileRead.Tpo $(DEPDIR)/FileRead.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/FileRead.cpp' object='FileRead.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileRead.o `test -f '$(NYQUIST)/nyqstk/src/FileRead.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/FileRead.cpp
+
+FileRead.obj: $(NYQUIST)/nyqstk/src/FileRead.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileRead.obj -MD -MP -MF $(DEPDIR)/FileRead.Tpo -c -o FileRead.obj `if test -f '$(NYQUIST)/nyqstk/src/FileRead.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/FileRead.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/FileRead.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/FileRead.Tpo $(DEPDIR)/FileRead.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/FileRead.cpp' object='FileRead.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileRead.obj `if test -f '$(NYQUIST)/nyqstk/src/FileRead.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/FileRead.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/FileRead.cpp'; fi`
+
+FileWvIn.o: $(NYQUIST)/nyqstk/src/FileWvIn.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileWvIn.o -MD -MP -MF $(DEPDIR)/FileWvIn.Tpo -c -o FileWvIn.o `test -f '$(NYQUIST)/nyqstk/src/FileWvIn.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/FileWvIn.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/FileWvIn.Tpo $(DEPDIR)/FileWvIn.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/FileWvIn.cpp' object='FileWvIn.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileWvIn.o `test -f '$(NYQUIST)/nyqstk/src/FileWvIn.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/FileWvIn.cpp
+
+FileWvIn.obj: $(NYQUIST)/nyqstk/src/FileWvIn.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT FileWvIn.obj -MD -MP -MF $(DEPDIR)/FileWvIn.Tpo -c -o FileWvIn.obj `if test -f '$(NYQUIST)/nyqstk/src/FileWvIn.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/FileWvIn.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/FileWvIn.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/FileWvIn.Tpo $(DEPDIR)/FileWvIn.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/FileWvIn.cpp' object='FileWvIn.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FileWvIn.obj `if test -f '$(NYQUIST)/nyqstk/src/FileWvIn.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/FileWvIn.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/FileWvIn.cpp'; fi`
+
+Effect.o: $(NYQUIST)/nyqstk/src/Effect.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Effect.o -MD -MP -MF $(DEPDIR)/Effect.Tpo -c -o Effect.o `test -f '$(NYQUIST)/nyqstk/src/Effect.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Effect.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Effect.Tpo $(DEPDIR)/Effect.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Effect.cpp' object='Effect.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Effect.o `test -f '$(NYQUIST)/nyqstk/src/Effect.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Effect.cpp
+
+Effect.obj: $(NYQUIST)/nyqstk/src/Effect.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Effect.obj -MD -MP -MF $(DEPDIR)/Effect.Tpo -c -o Effect.obj `if test -f '$(NYQUIST)/nyqstk/src/Effect.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Effect.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Effect.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Effect.Tpo $(DEPDIR)/Effect.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Effect.cpp' object='Effect.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Effect.obj `if test -f '$(NYQUIST)/nyqstk/src/Effect.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Effect.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Effect.cpp'; fi`
+
+Clarinet.o: $(NYQUIST)/nyqstk/src/Clarinet.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Clarinet.o -MD -MP -MF $(DEPDIR)/Clarinet.Tpo -c -o Clarinet.o `test -f '$(NYQUIST)/nyqstk/src/Clarinet.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Clarinet.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Clarinet.Tpo $(DEPDIR)/Clarinet.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Clarinet.cpp' object='Clarinet.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Clarinet.o `test -f '$(NYQUIST)/nyqstk/src/Clarinet.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Clarinet.cpp
+
+Clarinet.obj: $(NYQUIST)/nyqstk/src/Clarinet.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Clarinet.obj -MD -MP -MF $(DEPDIR)/Clarinet.Tpo -c -o Clarinet.obj `if test -f '$(NYQUIST)/nyqstk/src/Clarinet.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Clarinet.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Clarinet.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Clarinet.Tpo $(DEPDIR)/Clarinet.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Clarinet.cpp' object='Clarinet.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Clarinet.obj `if test -f '$(NYQUIST)/nyqstk/src/Clarinet.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Clarinet.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Clarinet.cpp'; fi`
+
+Delay.o: $(NYQUIST)/nyqstk/src/Delay.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Delay.o -MD -MP -MF $(DEPDIR)/Delay.Tpo -c -o Delay.o `test -f '$(NYQUIST)/nyqstk/src/Delay.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Delay.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Delay.Tpo $(DEPDIR)/Delay.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Delay.cpp' object='Delay.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Delay.o `test -f '$(NYQUIST)/nyqstk/src/Delay.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Delay.cpp
+
+Delay.obj: $(NYQUIST)/nyqstk/src/Delay.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Delay.obj -MD -MP -MF $(DEPDIR)/Delay.Tpo -c -o Delay.obj `if test -f '$(NYQUIST)/nyqstk/src/Delay.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Delay.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Delay.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Delay.Tpo $(DEPDIR)/Delay.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Delay.cpp' object='Delay.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Delay.obj `if test -f '$(NYQUIST)/nyqstk/src/Delay.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Delay.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Delay.cpp'; fi`
+
+DelayL.o: $(NYQUIST)/nyqstk/src/DelayL.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DelayL.o -MD -MP -MF $(DEPDIR)/DelayL.Tpo -c -o DelayL.o `test -f '$(NYQUIST)/nyqstk/src/DelayL.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/DelayL.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/DelayL.Tpo $(DEPDIR)/DelayL.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/DelayL.cpp' object='DelayL.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DelayL.o `test -f '$(NYQUIST)/nyqstk/src/DelayL.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/DelayL.cpp
+
+DelayL.obj: $(NYQUIST)/nyqstk/src/DelayL.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DelayL.obj -MD -MP -MF $(DEPDIR)/DelayL.Tpo -c -o DelayL.obj `if test -f '$(NYQUIST)/nyqstk/src/DelayL.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/DelayL.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/DelayL.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/DelayL.Tpo $(DEPDIR)/DelayL.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/DelayL.cpp' object='DelayL.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DelayL.obj `if test -f '$(NYQUIST)/nyqstk/src/DelayL.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/DelayL.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/DelayL.cpp'; fi`
+
+Envelope.o: $(NYQUIST)/nyqstk/src/Envelope.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Envelope.o -MD -MP -MF $(DEPDIR)/Envelope.Tpo -c -o Envelope.o `test -f '$(NYQUIST)/nyqstk/src/Envelope.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Envelope.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Envelope.Tpo $(DEPDIR)/Envelope.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Envelope.cpp' object='Envelope.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Envelope.o `test -f '$(NYQUIST)/nyqstk/src/Envelope.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Envelope.cpp
+
+Envelope.obj: $(NYQUIST)/nyqstk/src/Envelope.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Envelope.obj -MD -MP -MF $(DEPDIR)/Envelope.Tpo -c -o Envelope.obj `if test -f '$(NYQUIST)/nyqstk/src/Envelope.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Envelope.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Envelope.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Envelope.Tpo $(DEPDIR)/Envelope.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Envelope.cpp' object='Envelope.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Envelope.obj `if test -f '$(NYQUIST)/nyqstk/src/Envelope.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Envelope.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Envelope.cpp'; fi`
+
+Filter.o: $(NYQUIST)/nyqstk/src/Filter.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Filter.o -MD -MP -MF $(DEPDIR)/Filter.Tpo -c -o Filter.o `test -f '$(NYQUIST)/nyqstk/src/Filter.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Filter.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Filter.Tpo $(DEPDIR)/Filter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Filter.cpp' object='Filter.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Filter.o `test -f '$(NYQUIST)/nyqstk/src/Filter.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Filter.cpp
+
+Filter.obj: $(NYQUIST)/nyqstk/src/Filter.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Filter.obj -MD -MP -MF $(DEPDIR)/Filter.Tpo -c -o Filter.obj `if test -f '$(NYQUIST)/nyqstk/src/Filter.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Filter.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Filter.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Filter.Tpo $(DEPDIR)/Filter.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Filter.cpp' object='Filter.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Filter.obj `if test -f '$(NYQUIST)/nyqstk/src/Filter.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Filter.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Filter.cpp'; fi`
+
+Instrmnt.o: $(NYQUIST)/nyqstk/src/Instrmnt.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Instrmnt.o -MD -MP -MF $(DEPDIR)/Instrmnt.Tpo -c -o Instrmnt.o `test -f '$(NYQUIST)/nyqstk/src/Instrmnt.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Instrmnt.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Instrmnt.Tpo $(DEPDIR)/Instrmnt.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Instrmnt.cpp' object='Instrmnt.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Instrmnt.o `test -f '$(NYQUIST)/nyqstk/src/Instrmnt.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Instrmnt.cpp
+
+Instrmnt.obj: $(NYQUIST)/nyqstk/src/Instrmnt.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Instrmnt.obj -MD -MP -MF $(DEPDIR)/Instrmnt.Tpo -c -o Instrmnt.obj `if test -f '$(NYQUIST)/nyqstk/src/Instrmnt.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Instrmnt.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Instrmnt.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Instrmnt.Tpo $(DEPDIR)/Instrmnt.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Instrmnt.cpp' object='Instrmnt.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Instrmnt.obj `if test -f '$(NYQUIST)/nyqstk/src/Instrmnt.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Instrmnt.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Instrmnt.cpp'; fi`
+
+Noise.o: $(NYQUIST)/nyqstk/src/Noise.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Noise.o -MD -MP -MF $(DEPDIR)/Noise.Tpo -c -o Noise.o `test -f '$(NYQUIST)/nyqstk/src/Noise.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Noise.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Noise.Tpo $(DEPDIR)/Noise.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Noise.cpp' object='Noise.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Noise.o `test -f '$(NYQUIST)/nyqstk/src/Noise.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Noise.cpp
+
+Noise.obj: $(NYQUIST)/nyqstk/src/Noise.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Noise.obj -MD -MP -MF $(DEPDIR)/Noise.Tpo -c -o Noise.obj `if test -f '$(NYQUIST)/nyqstk/src/Noise.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Noise.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Noise.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Noise.Tpo $(DEPDIR)/Noise.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Noise.cpp' object='Noise.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Noise.obj `if test -f '$(NYQUIST)/nyqstk/src/Noise.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Noise.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Noise.cpp'; fi`
+
+OneZero.o: $(NYQUIST)/nyqstk/src/OneZero.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OneZero.o -MD -MP -MF $(DEPDIR)/OneZero.Tpo -c -o OneZero.o `test -f '$(NYQUIST)/nyqstk/src/OneZero.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/OneZero.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/OneZero.Tpo $(DEPDIR)/OneZero.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/OneZero.cpp' object='OneZero.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OneZero.o `test -f '$(NYQUIST)/nyqstk/src/OneZero.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/OneZero.cpp
+
+OneZero.obj: $(NYQUIST)/nyqstk/src/OneZero.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OneZero.obj -MD -MP -MF $(DEPDIR)/OneZero.Tpo -c -o OneZero.obj `if test -f '$(NYQUIST)/nyqstk/src/OneZero.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/OneZero.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/OneZero.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/OneZero.Tpo $(DEPDIR)/OneZero.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/OneZero.cpp' object='OneZero.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OneZero.obj `if test -f '$(NYQUIST)/nyqstk/src/OneZero.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/OneZero.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/OneZero.cpp'; fi`
+
+ReedTable.o: $(NYQUIST)/nyqstk/src/ReedTable.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ReedTable.o -MD -MP -MF $(DEPDIR)/ReedTable.Tpo -c -o ReedTable.o `test -f '$(NYQUIST)/nyqstk/src/ReedTable.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/ReedTable.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ReedTable.Tpo $(DEPDIR)/ReedTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/ReedTable.cpp' object='ReedTable.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ReedTable.o `test -f '$(NYQUIST)/nyqstk/src/ReedTable.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/ReedTable.cpp
+
+ReedTable.obj: $(NYQUIST)/nyqstk/src/ReedTable.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ReedTable.obj -MD -MP -MF $(DEPDIR)/ReedTable.Tpo -c -o ReedTable.obj `if test -f '$(NYQUIST)/nyqstk/src/ReedTable.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/ReedTable.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/ReedTable.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ReedTable.Tpo $(DEPDIR)/ReedTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/ReedTable.cpp' object='ReedTable.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ReedTable.obj `if test -f '$(NYQUIST)/nyqstk/src/ReedTable.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/ReedTable.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/ReedTable.cpp'; fi`
+
+Saxofony.o: $(NYQUIST)/nyqstk/src/Saxofony.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Saxofony.o -MD -MP -MF $(DEPDIR)/Saxofony.Tpo -c -o Saxofony.o `test -f '$(NYQUIST)/nyqstk/src/Saxofony.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Saxofony.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Saxofony.Tpo $(DEPDIR)/Saxofony.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Saxofony.cpp' object='Saxofony.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Saxofony.o `test -f '$(NYQUIST)/nyqstk/src/Saxofony.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Saxofony.cpp
+
+Saxofony.obj: $(NYQUIST)/nyqstk/src/Saxofony.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Saxofony.obj -MD -MP -MF $(DEPDIR)/Saxofony.Tpo -c -o Saxofony.obj `if test -f '$(NYQUIST)/nyqstk/src/Saxofony.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Saxofony.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Saxofony.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Saxofony.Tpo $(DEPDIR)/Saxofony.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Saxofony.cpp' object='Saxofony.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Saxofony.obj `if test -f '$(NYQUIST)/nyqstk/src/Saxofony.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Saxofony.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Saxofony.cpp'; fi`
+
+Stk.o: $(NYQUIST)/nyqstk/src/Stk.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Stk.o -MD -MP -MF $(DEPDIR)/Stk.Tpo -c -o Stk.o `test -f '$(NYQUIST)/nyqstk/src/Stk.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Stk.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Stk.Tpo $(DEPDIR)/Stk.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Stk.cpp' object='Stk.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Stk.o `test -f '$(NYQUIST)/nyqstk/src/Stk.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Stk.cpp
+
+Stk.obj: $(NYQUIST)/nyqstk/src/Stk.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Stk.obj -MD -MP -MF $(DEPDIR)/Stk.Tpo -c -o Stk.obj `if test -f '$(NYQUIST)/nyqstk/src/Stk.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Stk.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Stk.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Stk.Tpo $(DEPDIR)/Stk.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Stk.cpp' object='Stk.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Stk.obj `if test -f '$(NYQUIST)/nyqstk/src/Stk.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Stk.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Stk.cpp'; fi`
+
+WaveLoop.o: $(NYQUIST)/nyqstk/src/WaveLoop.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT WaveLoop.o -MD -MP -MF $(DEPDIR)/WaveLoop.Tpo -c -o WaveLoop.o `test -f '$(NYQUIST)/nyqstk/src/WaveLoop.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/WaveLoop.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/WaveLoop.Tpo $(DEPDIR)/WaveLoop.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/WaveLoop.cpp' object='WaveLoop.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WaveLoop.o `test -f '$(NYQUIST)/nyqstk/src/WaveLoop.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/WaveLoop.cpp
+
+WaveLoop.obj: $(NYQUIST)/nyqstk/src/WaveLoop.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT WaveLoop.obj -MD -MP -MF $(DEPDIR)/WaveLoop.Tpo -c -o WaveLoop.obj `if test -f '$(NYQUIST)/nyqstk/src/WaveLoop.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/WaveLoop.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/WaveLoop.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/WaveLoop.Tpo $(DEPDIR)/WaveLoop.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/WaveLoop.cpp' object='WaveLoop.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WaveLoop.obj `if test -f '$(NYQUIST)/nyqstk/src/WaveLoop.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/WaveLoop.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/WaveLoop.cpp'; fi`
+
+WvIn.o: $(NYQUIST)/nyqstk/src/WvIn.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT WvIn.o -MD -MP -MF $(DEPDIR)/WvIn.Tpo -c -o WvIn.o `test -f '$(NYQUIST)/nyqstk/src/WvIn.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/WvIn.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/WvIn.Tpo $(DEPDIR)/WvIn.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/WvIn.cpp' object='WvIn.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WvIn.o `test -f '$(NYQUIST)/nyqstk/src/WvIn.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/WvIn.cpp
+
+WvIn.obj: $(NYQUIST)/nyqstk/src/WvIn.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT WvIn.obj -MD -MP -MF $(DEPDIR)/WvIn.Tpo -c -o WvIn.obj `if test -f '$(NYQUIST)/nyqstk/src/WvIn.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/WvIn.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/WvIn.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/WvIn.Tpo $(DEPDIR)/WvIn.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/WvIn.cpp' object='WvIn.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o WvIn.obj `if test -f '$(NYQUIST)/nyqstk/src/WvIn.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/WvIn.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/WvIn.cpp'; fi`
+
+NRev.o: $(NYQUIST)/nyqstk/src/NRev.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT NRev.o -MD -MP -MF $(DEPDIR)/NRev.Tpo -c -o NRev.o `test -f '$(NYQUIST)/nyqstk/src/NRev.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/NRev.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/NRev.Tpo $(DEPDIR)/NRev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/NRev.cpp' object='NRev.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o NRev.o `test -f '$(NYQUIST)/nyqstk/src/NRev.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/NRev.cpp
+
+NRev.obj: $(NYQUIST)/nyqstk/src/NRev.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT NRev.obj -MD -MP -MF $(DEPDIR)/NRev.Tpo -c -o NRev.obj `if test -f '$(NYQUIST)/nyqstk/src/NRev.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/NRev.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/NRev.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/NRev.Tpo $(DEPDIR)/NRev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/NRev.cpp' object='NRev.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o NRev.obj `if test -f '$(NYQUIST)/nyqstk/src/NRev.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/NRev.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/NRev.cpp'; fi`
+
+JCRev.o: $(NYQUIST)/nyqstk/src/JCRev.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT JCRev.o -MD -MP -MF $(DEPDIR)/JCRev.Tpo -c -o JCRev.o `test -f '$(NYQUIST)/nyqstk/src/JCRev.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/JCRev.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/JCRev.Tpo $(DEPDIR)/JCRev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/JCRev.cpp' object='JCRev.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o JCRev.o `test -f '$(NYQUIST)/nyqstk/src/JCRev.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/JCRev.cpp
+
+JCRev.obj: $(NYQUIST)/nyqstk/src/JCRev.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT JCRev.obj -MD -MP -MF $(DEPDIR)/JCRev.Tpo -c -o JCRev.obj `if test -f '$(NYQUIST)/nyqstk/src/JCRev.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/JCRev.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/JCRev.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/JCRev.Tpo $(DEPDIR)/JCRev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/JCRev.cpp' object='JCRev.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o JCRev.obj `if test -f '$(NYQUIST)/nyqstk/src/JCRev.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/JCRev.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/JCRev.cpp'; fi`
+
+PRCRev.o: $(NYQUIST)/nyqstk/src/PRCRev.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PRCRev.o -MD -MP -MF $(DEPDIR)/PRCRev.Tpo -c -o PRCRev.o `test -f '$(NYQUIST)/nyqstk/src/PRCRev.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PRCRev.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PRCRev.Tpo $(DEPDIR)/PRCRev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PRCRev.cpp' object='PRCRev.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PRCRev.o `test -f '$(NYQUIST)/nyqstk/src/PRCRev.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PRCRev.cpp
+
+PRCRev.obj: $(NYQUIST)/nyqstk/src/PRCRev.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PRCRev.obj -MD -MP -MF $(DEPDIR)/PRCRev.Tpo -c -o PRCRev.obj `if test -f '$(NYQUIST)/nyqstk/src/PRCRev.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PRCRev.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PRCRev.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PRCRev.Tpo $(DEPDIR)/PRCRev.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PRCRev.cpp' object='PRCRev.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PRCRev.obj `if test -f '$(NYQUIST)/nyqstk/src/PRCRev.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PRCRev.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PRCRev.cpp'; fi`
+
+PitShift.o: $(NYQUIST)/nyqstk/src/PitShift.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PitShift.o -MD -MP -MF $(DEPDIR)/PitShift.Tpo -c -o PitShift.o `test -f '$(NYQUIST)/nyqstk/src/PitShift.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PitShift.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PitShift.Tpo $(DEPDIR)/PitShift.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PitShift.cpp' object='PitShift.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PitShift.o `test -f '$(NYQUIST)/nyqstk/src/PitShift.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PitShift.cpp
+
+PitShift.obj: $(NYQUIST)/nyqstk/src/PitShift.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PitShift.obj -MD -MP -MF $(DEPDIR)/PitShift.Tpo -c -o PitShift.obj `if test -f '$(NYQUIST)/nyqstk/src/PitShift.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PitShift.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PitShift.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PitShift.Tpo $(DEPDIR)/PitShift.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PitShift.cpp' object='PitShift.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PitShift.obj `if test -f '$(NYQUIST)/nyqstk/src/PitShift.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PitShift.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PitShift.cpp'; fi`
+
+Chorus.o: $(NYQUIST)/nyqstk/src/Chorus.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Chorus.o -MD -MP -MF $(DEPDIR)/Chorus.Tpo -c -o Chorus.o `test -f '$(NYQUIST)/nyqstk/src/Chorus.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Chorus.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Chorus.Tpo $(DEPDIR)/Chorus.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Chorus.cpp' object='Chorus.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Chorus.o `test -f '$(NYQUIST)/nyqstk/src/Chorus.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Chorus.cpp
+
+Chorus.obj: $(NYQUIST)/nyqstk/src/Chorus.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Chorus.obj -MD -MP -MF $(DEPDIR)/Chorus.Tpo -c -o Chorus.obj `if test -f '$(NYQUIST)/nyqstk/src/Chorus.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Chorus.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Chorus.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Chorus.Tpo $(DEPDIR)/Chorus.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Chorus.cpp' object='Chorus.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Chorus.obj `if test -f '$(NYQUIST)/nyqstk/src/Chorus.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Chorus.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Chorus.cpp'; fi`
+
+Bowed.o: $(NYQUIST)/nyqstk/src/Bowed.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Bowed.o -MD -MP -MF $(DEPDIR)/Bowed.Tpo -c -o Bowed.o `test -f '$(NYQUIST)/nyqstk/src/Bowed.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Bowed.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Bowed.Tpo $(DEPDIR)/Bowed.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Bowed.cpp' object='Bowed.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Bowed.o `test -f '$(NYQUIST)/nyqstk/src/Bowed.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Bowed.cpp
+
+Bowed.obj: $(NYQUIST)/nyqstk/src/Bowed.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Bowed.obj -MD -MP -MF $(DEPDIR)/Bowed.Tpo -c -o Bowed.obj `if test -f '$(NYQUIST)/nyqstk/src/Bowed.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Bowed.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Bowed.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Bowed.Tpo $(DEPDIR)/Bowed.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Bowed.cpp' object='Bowed.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Bowed.obj `if test -f '$(NYQUIST)/nyqstk/src/Bowed.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Bowed.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Bowed.cpp'; fi`
+
+BowTable.o: $(NYQUIST)/nyqstk/src/BowTable.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BowTable.o -MD -MP -MF $(DEPDIR)/BowTable.Tpo -c -o BowTable.o `test -f '$(NYQUIST)/nyqstk/src/BowTable.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/BowTable.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/BowTable.Tpo $(DEPDIR)/BowTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/BowTable.cpp' object='BowTable.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BowTable.o `test -f '$(NYQUIST)/nyqstk/src/BowTable.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/BowTable.cpp
+
+BowTable.obj: $(NYQUIST)/nyqstk/src/BowTable.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BowTable.obj -MD -MP -MF $(DEPDIR)/BowTable.Tpo -c -o BowTable.obj `if test -f '$(NYQUIST)/nyqstk/src/BowTable.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/BowTable.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/BowTable.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/BowTable.Tpo $(DEPDIR)/BowTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/BowTable.cpp' object='BowTable.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BowTable.obj `if test -f '$(NYQUIST)/nyqstk/src/BowTable.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/BowTable.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/BowTable.cpp'; fi`
+
+ADSR.o: $(NYQUIST)/nyqstk/src/ADSR.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ADSR.o -MD -MP -MF $(DEPDIR)/ADSR.Tpo -c -o ADSR.o `test -f '$(NYQUIST)/nyqstk/src/ADSR.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/ADSR.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ADSR.Tpo $(DEPDIR)/ADSR.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/ADSR.cpp' object='ADSR.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ADSR.o `test -f '$(NYQUIST)/nyqstk/src/ADSR.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/ADSR.cpp
+
+ADSR.obj: $(NYQUIST)/nyqstk/src/ADSR.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ADSR.obj -MD -MP -MF $(DEPDIR)/ADSR.Tpo -c -o ADSR.obj `if test -f '$(NYQUIST)/nyqstk/src/ADSR.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/ADSR.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/ADSR.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ADSR.Tpo $(DEPDIR)/ADSR.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/ADSR.cpp' object='ADSR.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ADSR.obj `if test -f '$(NYQUIST)/nyqstk/src/ADSR.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/ADSR.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/ADSR.cpp'; fi`
+
+OnePole.o: $(NYQUIST)/nyqstk/src/OnePole.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OnePole.o -MD -MP -MF $(DEPDIR)/OnePole.Tpo -c -o OnePole.o `test -f '$(NYQUIST)/nyqstk/src/OnePole.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/OnePole.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/OnePole.Tpo $(DEPDIR)/OnePole.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/OnePole.cpp' object='OnePole.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OnePole.o `test -f '$(NYQUIST)/nyqstk/src/OnePole.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/OnePole.cpp
+
+OnePole.obj: $(NYQUIST)/nyqstk/src/OnePole.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT OnePole.obj -MD -MP -MF $(DEPDIR)/OnePole.Tpo -c -o OnePole.obj `if test -f '$(NYQUIST)/nyqstk/src/OnePole.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/OnePole.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/OnePole.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/OnePole.Tpo $(DEPDIR)/OnePole.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/OnePole.cpp' object='OnePole.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o OnePole.obj `if test -f '$(NYQUIST)/nyqstk/src/OnePole.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/OnePole.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/OnePole.cpp'; fi`
+
+BiQuad.o: $(NYQUIST)/nyqstk/src/BiQuad.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BiQuad.o -MD -MP -MF $(DEPDIR)/BiQuad.Tpo -c -o BiQuad.o `test -f '$(NYQUIST)/nyqstk/src/BiQuad.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/BiQuad.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/BiQuad.Tpo $(DEPDIR)/BiQuad.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/BiQuad.cpp' object='BiQuad.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BiQuad.o `test -f '$(NYQUIST)/nyqstk/src/BiQuad.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/BiQuad.cpp
+
+BiQuad.obj: $(NYQUIST)/nyqstk/src/BiQuad.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BiQuad.obj -MD -MP -MF $(DEPDIR)/BiQuad.Tpo -c -o BiQuad.obj `if test -f '$(NYQUIST)/nyqstk/src/BiQuad.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/BiQuad.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/BiQuad.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/BiQuad.Tpo $(DEPDIR)/BiQuad.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/BiQuad.cpp' object='BiQuad.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BiQuad.obj `if test -f '$(NYQUIST)/nyqstk/src/BiQuad.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/BiQuad.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/BiQuad.cpp'; fi`
+
+BandedWG.o: $(NYQUIST)/nyqstk/src/BandedWG.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BandedWG.o -MD -MP -MF $(DEPDIR)/BandedWG.Tpo -c -o BandedWG.o `test -f '$(NYQUIST)/nyqstk/src/BandedWG.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/BandedWG.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/BandedWG.Tpo $(DEPDIR)/BandedWG.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/BandedWG.cpp' object='BandedWG.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BandedWG.o `test -f '$(NYQUIST)/nyqstk/src/BandedWG.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/BandedWG.cpp
+
+BandedWG.obj: $(NYQUIST)/nyqstk/src/BandedWG.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BandedWG.obj -MD -MP -MF $(DEPDIR)/BandedWG.Tpo -c -o BandedWG.obj `if test -f '$(NYQUIST)/nyqstk/src/BandedWG.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/BandedWG.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/BandedWG.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/BandedWG.Tpo $(DEPDIR)/BandedWG.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/BandedWG.cpp' object='BandedWG.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BandedWG.obj `if test -f '$(NYQUIST)/nyqstk/src/BandedWG.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/BandedWG.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/BandedWG.cpp'; fi`
+
+DelayA.o: $(NYQUIST)/nyqstk/src/DelayA.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DelayA.o -MD -MP -MF $(DEPDIR)/DelayA.Tpo -c -o DelayA.o `test -f '$(NYQUIST)/nyqstk/src/DelayA.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/DelayA.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/DelayA.Tpo $(DEPDIR)/DelayA.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/DelayA.cpp' object='DelayA.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DelayA.o `test -f '$(NYQUIST)/nyqstk/src/DelayA.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/DelayA.cpp
+
+DelayA.obj: $(NYQUIST)/nyqstk/src/DelayA.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DelayA.obj -MD -MP -MF $(DEPDIR)/DelayA.Tpo -c -o DelayA.obj `if test -f '$(NYQUIST)/nyqstk/src/DelayA.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/DelayA.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/DelayA.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/DelayA.Tpo $(DEPDIR)/DelayA.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/DelayA.cpp' object='DelayA.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DelayA.obj `if test -f '$(NYQUIST)/nyqstk/src/DelayA.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/DelayA.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/DelayA.cpp'; fi`
+
+Mandolin.o: $(NYQUIST)/nyqstk/src/Mandolin.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Mandolin.o -MD -MP -MF $(DEPDIR)/Mandolin.Tpo -c -o Mandolin.o `test -f '$(NYQUIST)/nyqstk/src/Mandolin.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Mandolin.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Mandolin.Tpo $(DEPDIR)/Mandolin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Mandolin.cpp' object='Mandolin.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Mandolin.o `test -f '$(NYQUIST)/nyqstk/src/Mandolin.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Mandolin.cpp
+
+Mandolin.obj: $(NYQUIST)/nyqstk/src/Mandolin.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Mandolin.obj -MD -MP -MF $(DEPDIR)/Mandolin.Tpo -c -o Mandolin.obj `if test -f '$(NYQUIST)/nyqstk/src/Mandolin.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Mandolin.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Mandolin.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Mandolin.Tpo $(DEPDIR)/Mandolin.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Mandolin.cpp' object='Mandolin.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Mandolin.obj `if test -f '$(NYQUIST)/nyqstk/src/Mandolin.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Mandolin.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Mandolin.cpp'; fi`
+
+PluckTwo.o: $(NYQUIST)/nyqstk/src/PluckTwo.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PluckTwo.o -MD -MP -MF $(DEPDIR)/PluckTwo.Tpo -c -o PluckTwo.o `test -f '$(NYQUIST)/nyqstk/src/PluckTwo.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PluckTwo.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PluckTwo.Tpo $(DEPDIR)/PluckTwo.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PluckTwo.cpp' object='PluckTwo.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PluckTwo.o `test -f '$(NYQUIST)/nyqstk/src/PluckTwo.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PluckTwo.cpp
+
+PluckTwo.obj: $(NYQUIST)/nyqstk/src/PluckTwo.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PluckTwo.obj -MD -MP -MF $(DEPDIR)/PluckTwo.Tpo -c -o PluckTwo.obj `if test -f '$(NYQUIST)/nyqstk/src/PluckTwo.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PluckTwo.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PluckTwo.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PluckTwo.Tpo $(DEPDIR)/PluckTwo.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PluckTwo.cpp' object='PluckTwo.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PluckTwo.obj `if test -f '$(NYQUIST)/nyqstk/src/PluckTwo.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PluckTwo.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PluckTwo.cpp'; fi`
+
+Sitar.o: $(NYQUIST)/nyqstk/src/Sitar.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Sitar.o -MD -MP -MF $(DEPDIR)/Sitar.Tpo -c -o Sitar.o `test -f '$(NYQUIST)/nyqstk/src/Sitar.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Sitar.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Sitar.Tpo $(DEPDIR)/Sitar.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Sitar.cpp' object='Sitar.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Sitar.o `test -f '$(NYQUIST)/nyqstk/src/Sitar.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Sitar.cpp
+
+Sitar.obj: $(NYQUIST)/nyqstk/src/Sitar.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Sitar.obj -MD -MP -MF $(DEPDIR)/Sitar.Tpo -c -o Sitar.obj `if test -f '$(NYQUIST)/nyqstk/src/Sitar.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Sitar.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Sitar.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Sitar.Tpo $(DEPDIR)/Sitar.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Sitar.cpp' object='Sitar.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Sitar.obj `if test -f '$(NYQUIST)/nyqstk/src/Sitar.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Sitar.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Sitar.cpp'; fi`
+
+ModalBar.o: $(NYQUIST)/nyqstk/src/ModalBar.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ModalBar.o -MD -MP -MF $(DEPDIR)/ModalBar.Tpo -c -o ModalBar.o `test -f '$(NYQUIST)/nyqstk/src/ModalBar.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/ModalBar.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ModalBar.Tpo $(DEPDIR)/ModalBar.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/ModalBar.cpp' object='ModalBar.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ModalBar.o `test -f '$(NYQUIST)/nyqstk/src/ModalBar.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/ModalBar.cpp
+
+ModalBar.obj: $(NYQUIST)/nyqstk/src/ModalBar.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ModalBar.obj -MD -MP -MF $(DEPDIR)/ModalBar.Tpo -c -o ModalBar.obj `if test -f '$(NYQUIST)/nyqstk/src/ModalBar.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/ModalBar.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/ModalBar.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/ModalBar.Tpo $(DEPDIR)/ModalBar.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/ModalBar.cpp' object='ModalBar.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ModalBar.obj `if test -f '$(NYQUIST)/nyqstk/src/ModalBar.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/ModalBar.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/ModalBar.cpp'; fi`
+
+Modal.o: $(NYQUIST)/nyqstk/src/Modal.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Modal.o -MD -MP -MF $(DEPDIR)/Modal.Tpo -c -o Modal.o `test -f '$(NYQUIST)/nyqstk/src/Modal.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Modal.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Modal.Tpo $(DEPDIR)/Modal.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Modal.cpp' object='Modal.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Modal.o `test -f '$(NYQUIST)/nyqstk/src/Modal.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Modal.cpp
+
+Modal.obj: $(NYQUIST)/nyqstk/src/Modal.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Modal.obj -MD -MP -MF $(DEPDIR)/Modal.Tpo -c -o Modal.obj `if test -f '$(NYQUIST)/nyqstk/src/Modal.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Modal.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Modal.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Modal.Tpo $(DEPDIR)/Modal.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Modal.cpp' object='Modal.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Modal.obj `if test -f '$(NYQUIST)/nyqstk/src/Modal.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Modal.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Modal.cpp'; fi`
+
+Flute.o: $(NYQUIST)/nyqstk/src/Flute.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Flute.o -MD -MP -MF $(DEPDIR)/Flute.Tpo -c -o Flute.o `test -f '$(NYQUIST)/nyqstk/src/Flute.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Flute.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Flute.Tpo $(DEPDIR)/Flute.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Flute.cpp' object='Flute.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Flute.o `test -f '$(NYQUIST)/nyqstk/src/Flute.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/Flute.cpp
+
+Flute.obj: $(NYQUIST)/nyqstk/src/Flute.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Flute.obj -MD -MP -MF $(DEPDIR)/Flute.Tpo -c -o Flute.obj `if test -f '$(NYQUIST)/nyqstk/src/Flute.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Flute.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Flute.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/Flute.Tpo $(DEPDIR)/Flute.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/Flute.cpp' object='Flute.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Flute.obj `if test -f '$(NYQUIST)/nyqstk/src/Flute.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/Flute.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/Flute.cpp'; fi`
+
+JetTable.o: $(NYQUIST)/nyqstk/src/JetTable.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT JetTable.o -MD -MP -MF $(DEPDIR)/JetTable.Tpo -c -o JetTable.o `test -f '$(NYQUIST)/nyqstk/src/JetTable.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/JetTable.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/JetTable.Tpo $(DEPDIR)/JetTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/JetTable.cpp' object='JetTable.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o JetTable.o `test -f '$(NYQUIST)/nyqstk/src/JetTable.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/JetTable.cpp
+
+JetTable.obj: $(NYQUIST)/nyqstk/src/JetTable.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT JetTable.obj -MD -MP -MF $(DEPDIR)/JetTable.Tpo -c -o JetTable.obj `if test -f '$(NYQUIST)/nyqstk/src/JetTable.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/JetTable.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/JetTable.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/JetTable.Tpo $(DEPDIR)/JetTable.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/JetTable.cpp' object='JetTable.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o JetTable.obj `if test -f '$(NYQUIST)/nyqstk/src/JetTable.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/JetTable.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/JetTable.cpp'; fi`
+
+PoleZero.o: $(NYQUIST)/nyqstk/src/PoleZero.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PoleZero.o -MD -MP -MF $(DEPDIR)/PoleZero.Tpo -c -o PoleZero.o `test -f '$(NYQUIST)/nyqstk/src/PoleZero.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PoleZero.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PoleZero.Tpo $(DEPDIR)/PoleZero.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PoleZero.cpp' object='PoleZero.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PoleZero.o `test -f '$(NYQUIST)/nyqstk/src/PoleZero.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/src/PoleZero.cpp
+
+PoleZero.obj: $(NYQUIST)/nyqstk/src/PoleZero.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT PoleZero.obj -MD -MP -MF $(DEPDIR)/PoleZero.Tpo -c -o PoleZero.obj `if test -f '$(NYQUIST)/nyqstk/src/PoleZero.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PoleZero.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PoleZero.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/PoleZero.Tpo $(DEPDIR)/PoleZero.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/src/PoleZero.cpp' object='PoleZero.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o PoleZero.obj `if test -f '$(NYQUIST)/nyqstk/src/PoleZero.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/src/PoleZero.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/src/PoleZero.cpp'; fi`
+
+stkinit.o: $(NYQUIST)/nyqstk/stkinit.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stkinit.o -MD -MP -MF $(DEPDIR)/stkinit.Tpo -c -o stkinit.o `test -f '$(NYQUIST)/nyqstk/stkinit.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/stkinit.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/stkinit.Tpo $(DEPDIR)/stkinit.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/stkinit.cpp' object='stkinit.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stkinit.o `test -f '$(NYQUIST)/nyqstk/stkinit.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/stkinit.cpp
+
+stkinit.obj: $(NYQUIST)/nyqstk/stkinit.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stkinit.obj -MD -MP -MF $(DEPDIR)/stkinit.Tpo -c -o stkinit.obj `if test -f '$(NYQUIST)/nyqstk/stkinit.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/stkinit.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/stkinit.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/stkinit.Tpo $(DEPDIR)/stkinit.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/stkinit.cpp' object='stkinit.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stkinit.obj `if test -f '$(NYQUIST)/nyqstk/stkinit.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/stkinit.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/stkinit.cpp'; fi`
+
+instr.o: $(NYQUIST)/nyqstk/instr.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT instr.o -MD -MP -MF $(DEPDIR)/instr.Tpo -c -o instr.o `test -f '$(NYQUIST)/nyqstk/instr.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/instr.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/instr.Tpo $(DEPDIR)/instr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/instr.cpp' object='instr.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o instr.o `test -f '$(NYQUIST)/nyqstk/instr.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/instr.cpp
+
+instr.obj: $(NYQUIST)/nyqstk/instr.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT instr.obj -MD -MP -MF $(DEPDIR)/instr.Tpo -c -o instr.obj `if test -f '$(NYQUIST)/nyqstk/instr.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/instr.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/instr.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/instr.Tpo $(DEPDIR)/instr.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/instr.cpp' object='instr.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o instr.obj `if test -f '$(NYQUIST)/nyqstk/instr.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/instr.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/instr.cpp'; fi`
+
+stkint.o: $(NYQUIST)/nyqstk/stkint.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stkint.o -MD -MP -MF $(DEPDIR)/stkint.Tpo -c -o stkint.o `test -f '$(NYQUIST)/nyqstk/stkint.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/stkint.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/stkint.Tpo $(DEPDIR)/stkint.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/stkint.cpp' object='stkint.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stkint.o `test -f '$(NYQUIST)/nyqstk/stkint.cpp' || echo '$(srcdir)/'`$(NYQUIST)/nyqstk/stkint.cpp
+
+stkint.obj: $(NYQUIST)/nyqstk/stkint.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stkint.obj -MD -MP -MF $(DEPDIR)/stkint.Tpo -c -o stkint.obj `if test -f '$(NYQUIST)/nyqstk/stkint.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/stkint.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/stkint.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/stkint.Tpo $(DEPDIR)/stkint.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(NYQUIST)/nyqstk/stkint.cpp' object='stkint.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stkint.obj `if test -f '$(NYQUIST)/nyqstk/stkint.cpp'; then $(CYGPATH_W) '$(NYQUIST)/nyqstk/stkint.cpp'; else $(CYGPATH_W) '$(srcdir)/$(NYQUIST)/nyqstk/stkint.cpp'; fi`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d $(distdir) || mkdir $(distdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+	clean-generic clean-libLIBRARIES ctags dist dist-all \
+	dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-zip \
+	distcheck distclean distclean-compile distclean-generic \
+	distclean-tags distcleancheck distdir distuninstallcheck dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-libLIBRARIES install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-libLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/lib-src/libnyquist/README.txt b/lib-src/libnyquist/README.txt
index ef84777..e83f85d 100644
--- a/lib-src/libnyquist/README.txt
+++ b/lib-src/libnyquist/README.txt
@@ -1,8 +1,9 @@
 libnyquist
 
 Library code and the "nyx" interface by Dominic Mazzoni.
+Updated to Nyquist version 3.03 by Leland Lucius.
 
-Based on Nyquist version 2.29 by Roger B. Dannenberg,
+Originally based on Nyquist version 2.29 by Roger B. Dannenberg,
 which was based on xlisp 2 by David Michael Betz.
 
 For license information, please see the file LICENSE.txt
@@ -16,173 +17,6 @@ within another application, contact the Audacity developers:
 For information about Nyquist as a standalone, interactive audio
 programming language, see the Nyquist website:
 
-  http://www.cs.cmu.edu/~rbd/nyquist.html
-
-------------------------------------------------------------
-
-README file for Nyquist Version 2.29
-
-WEB SITE
-====================
-http://www.cs.cmu.edu/~rbd/nyquist.html
-
-INSTALLING NYQUIST
-====================
-Please see Section 1.1, Page 1, of the Nyquist Manual
-
-If you use Windows 95 or Windows NT, this release was
-compiled with Visual C++ 6.0.
-
-For the Macintosh release, there is an executable
-Nyquist program in the runtime directory. 
-
-IMPLEMENTATION STATUS
-=====================
-Version 2.29 provides:
-    new functions: snd-alpassvc, sndalpassvv, snd-eqbandvvv
-    corresponding high-level functions in Nyquist
-    new licenses for both Nyquist and XLISP
-    new NyqIDE implementation
-    fixed BUZZ function
-    various bug and documentation fixes
-Version 2.28 provides:
-    include indx.html in doc folder (in files.txt)
-    fixed compute-default-sound-file in nyquist.lsp to
-    compute appropriate extension (.wav, .aif)
-    more code to automate win32 releases
-Version 2.27 provides:
-    makefile.lsp now generates sndfn.wcl & sndfn.cl
-    fix to include snd-pluck and some others omittted from 2.26
-Version 2.26 provides:
-    bug fix in sampler, negative frequency handling
-    guard against out-of-order events in TIMED-SEQ
-    added FMLFO, an lfo with frequency modulation
-    added SND-SQRT, S-SQRT, SND-ABS, S-ABS functions
-    new NyqIDE version with S-PLOT function (!)
-    NyqIDE has better parsing for paren balancing
-    NyqIDE upgrade to WindowsXP and Delphi 6
-    NyqIDE increases input string length maximum
-    NyqIDE prompts on save conflict
-    added voice-synthesis demo from Eduardo Miranda
-    corrected absolute path in demos/pmorales/e2.lsp
-    minor documentation and indexing improvements
-    pointer to demo docs goes on start menu now
-Version 2.25 provides:
-    new way to provide search path: set *SEARCH-PATH* to a string,
-    e.g. (SETF *SEARCH-PATH* 
-    "C:/program files/nyquist/runtime,c:/program files/nyquist/lib")
-    allowing Nyquist to be run without setting registry.
-Version 2.24 provides:
-    text editing for command lines in Linux version
-Version 2.23 provides:
-    bug fix in (current-path) for Mac
-    fixes to some Mac sources corrupted in 2.22
-Version 2.22 provides:
-    documentation (HTML) included in release now
-    bug fix for Mac console output exceeding 32K limit
-    protection from playing very high sample rates in Win32
-        (crashes in Windows MME library!)
-    change s-save to take :endian rather than :swap parameter
-    pianosyn.lsp runs on the Mac now
-    demos/examples.lsp generates audio with "normal" sample rates
-Version 2.21 provides:
-    s-plot uses gnu-plot in Linux
-    separation from CVS -- I just couldn't keep beating my head
-               against the wall
-Version 2.20 provides:
-    improved Macintosh support
-Version 2.19 provides:
-    integration of Macintosh code (from v2.12)
-    addition of PLUCK and BUZZ synthesis functions
-Version 2.18 provides:
-    bug fix in midifile read routine under Linux
-Version 2.17 provides:
-    bug fix for long line input under linux and windows
-    biquad filters
-    hzosc osc-tri osc-saw osc-pulse -- new oscillator variants
-    bug fix for reading in non-AIFF files with 'FORM' headings
-    extension to s-read to support explicit byte-swap parameter
-Version 2.16 provides:
-    bug fix in tables (lookup oscillators and other functions)
-    Windows GUI version of Nyquist
-Version 2.15 provides:
-    port to Linux
-Version 2.5 provides:
-    more signal processing functions
-Version 2.2 provides:
-        ports to more systems including Win32 (Win95 and NT)
-        bug fixes
-        more signal processing functions
-        improved sound I/O subsystem
-Version 2.1 provides:
-        bug fixes
-        documentation and code for user extensions
-Version 2.0 provides:
-        continuous time warps
-        many more functions
-        bug fixes
-
-The distribution may contain sources for Nyquist. If not,
-you got the runtime distribution, and there is a source version
-available.
- 
-A number of "source" files are machine generated, including:
--  many .c and .h files that implement signal processing functions.
-        These are generated by translation system that converts
-        .alg files to .c and .h files.  .alg files give high-level
-        descriptions of DSP algorithms.  
-- Makefile.* is generated by "makefile.lsp".
-
-The status is:
-
-System                  Status
-
-RS6K = RS6000, AIX      untested, but used to work
-NEXT = NeXT 3.0 (Cube)  untested, but worked fine on a previous version
-SGI = ???               untested, but used to work
-PMAX = Mach 2.5 on Dec workstation
-            untested, but worked in previous version
-SPARC = Sun Sparc ???   untested - previous version of Nyquist DID work
-LINUX = Linux		tested
-Win32			tested
-Mac			tested
-
-If you have problems running Nyquist on a Unix machine, I'd be happy to 
-help. I can give you advice or if you give me an account, I can log in
-remotely and install Nyquist for you. If you make corrections yourself,
-please let me have them so I can put them in the next release.
-
-DIRECTORY STRUCTURE
-===================
-cmt - CMU MIDI Toolkit files, used by Nyquist for MIDI File I/O
-demos - Nyquist demos go here
-fft - some fft functions
-lib - .lsp files offering extensions to Nyquist
-misc - various files and programs used to implement Nyquist
-nyqsrc - general Nyquist source code (mostly in C)
-runtime - the Nyquist and XLisp runtime code (mostly in XLisp)
-sys - system specific files
-snd - the sound file, sound input, and sound output package
-test - test code (this is not maintained and may not be in the release)
-todo - list of things to do (this may not be in the release)
-tran - descriptor (.alg) files for machine-translated Nyquist code
-xlisp - sources for Xlisp (these are linked into Nyquist)
-
-THE RUNTIME ONLY RELEASE
-========================
-The runtime-only release contains everything related to running
-Nyquist, but no source code. The files in this release are:
-    Readme.txt (this file)
-    nyquist.exe (located in the runtime directory)
-    runtime (directory)
-    lib (directory)
-    demos (directory)
-    test (directory)
-
-BUILDING UNDER LINUX
-====================
-in the nyquist directory:
-> ln -s sys/unix/linux/Makefile
-> make
-
+  http://www.cs.cmu.edu/~music/nyquist/
 
+See nyquist/Readme.txt for latest changes to Nyquist.
diff --git a/lib-src/libnyquist/cmt/cext.c b/lib-src/libnyquist/cmt/cext.c
deleted file mode 100644
index 452e18f..0000000
--- a/lib-src/libnyquist/cmt/cext.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-                cext.c
- Copyright 1989 Carnegie Mellon University
-
- August 3, 1987
- Author: Frits Habermann
-----------------------------------------------------------------------------
- 02-May-1988 | JCD : portable & AMIGA version.
- 17-Oct-1988 | JCD : more portability (FREE).
- 28-Apr-2003 | DM  : changed includes for portability
-****************************************************************************/
-
-#include "switches.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cext.h"
-#include "userio.h"
-
-#define calc_middle(top, bot)    (((top - bot) / 2 ) + bottom )
-
-#define kbyte 1000
-#define outof_mem(blocksize)     (blocksize == 0 )
-#define done_search(top, bot, middle)    ( (( (top - bot) < kbyte ) && \
-( !toomuch_mem(middle)) ) || \
-                      ( outof_mem( middle ))    )
-
-private boolean toomuch_mem(ushort maximum) 
-{
-    char *test;
-    boolean istoo_much;
-    istoo_much = ( (test = (char *) MALLOC(maximum)) == NULL );
-    if (test) FREE(test);
-    return( istoo_much );
-}
-
-private boolean toolittle_mem(maximum) 
-ushort maximum;
-{
-    char *test;
-    boolean istoo_little;
-    istoo_little = !( (test = (char *) MALLOC(maximum)) == NULL );
-    if (test) FREE( test );
-    return(istoo_little);
-}
-
-private ushort get_biggest_block( maximum )
-ushort maximum;
-{
-    ushort maxblock;
-    ushort top = maximum;
-    ushort bottom = 0;
-    if (!toomuch_mem(maximum)) return(maximum); /* If there's enough memory */
-    else {
-        gprintf(ERROR, "Running out of memory...\n");
-        maxblock = calc_middle( top, bottom );
-        while( !done_search(top, bottom, maxblock) ) {
-            if( toomuch_mem(maxblock) ) {
-                top = maxblock;
-                maxblock = calc_middle(top,bottom);
-            }
-            else if (toolittle_mem(maxblock)) {
-                bottom = maxblock;
-                maxblock = calc_middle(top,bottom);
-            }
-        }
-    }
-    return( maxblock );
-}
-
-public ulong MyMaxMem(ushort *growbytes) 
-{
-    ulong x;
-    if( growbytes != NULL ) *growbytes = 0;
-    x=( (ulong)get_biggest_block((ushort)BIGGEST_BLOCK));
-/*  gprintf(TRANS,"cext: MyMaxMem %ld\n",x); */
-    return x;
-}
-
-/* note: EXIT is defined to be cmt_exit */
-
-void cmt_exit(n)
-  int n;
-{
-    cu_cleanup();
-/* For protection, exit is #defined to hide it.  Expose it and call it. */
-#undef exit
-    exit(n);
-}
-
-
-#ifdef AMIGA
-#ifdef LATTICE
-/* for some reason, these don't seem to be defined 
-   anywhere in the standard libraries
- */
-#include "signal.h"
-
-int _FPERR;
-int (*_SIGFPE)(int) = SIG_DFL;
-
-int _oserr;
-
-#endif
-#endif
-
diff --git a/lib-src/libnyquist/cmt/cext.h b/lib-src/libnyquist/cmt/cext.h
deleted file mode 100644
index 59e2f65..0000000
--- a/lib-src/libnyquist/cmt/cext.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/******************************************************************
-*               modified JCD 27 Apr-88 for AMIGA
-*      cext.h -- extensions to c to make it more portable
-* Copyright 1989 Carnegie Mellon University
-*
-*******************************************************************
-
-cext must provide the following definitions:
-
-true     -- a  constant
-false     -- a boolean constant
-private -- defined as static, used to declare local functions
-public     -- defined as empty string, used to declare exported functions
-boolean -- a new type
-byte     -- unsigned 8-bit quantity
-ushort     -- unsigned 16-bit quantity
-ulong     -- unsigned 32-bit quantity
-Pointer -- pointer to char, a generic pointer
-ABS()     -- absolute value of any type of number
-MAX()     -- maximum of two numbers
-MIN()     -- minimum of two numbers
-ROUND()	  -- round a double to long		     
-
-NULL     -- pointer to nothing, a constant
-EOS      -- end of string, a constant '\0'
-MALLOC(x)     -- allocates x bytes
-FREE(x)     -- frees something from MALLOC
-AVAILMEM     -- tells how much memory is available.
-                   (N.B.: no parens, no args.)
-EXIT(n)  -- calls exit(n) after shutting down/deallocating resources
-
-*****************************************************************************/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  many changes for new conditional compilation switches
- * 28Apr03  rbd removed macro redefinitions: min, max
- */
-
-#ifndef CEXT_H
-#ifndef SWITCHES
-#include "switches.h"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-
-#if HAS_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#if HAS_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#if HAS_MALLOC_H
-#include <malloc.h>
-#endif
-
-#if NEED_ULONG
-typedef unsigned long ulong;
-#endif
-
-#if NEED_USHORT
-typedef unsigned long ushort;
-#endif
-
-#if NEED_BYTE
-typedef unsigned char byte;
-#endif
-
-/* There's a name conflict between true/false as an enum type in
- * Apple #includes:Types.h on the Mac, and true/false as #defined below
- */
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#define private static
-#define public
-
-#if NEED_DEFINE_MALLOC
-public void *malloc();
-#endif
-
-typedef char *Pointer;
-
-#ifdef UNIX_MACH
-typedef int boolean;
-#else
-/* hopefully, unsigned short will save sign extension instructions */
-typedef unsigned char boolean;
-#endif
-
-#ifndef ABS
-#define ABS(a) (((a) > 0) ? (a) : -(a))
-#endif
-#ifndef MAX
-#define MAX(a, b) (((a) > (b)) ? (a) : (b))
-#endif
-#ifndef MIN
-#define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#endif
-
-#define MAXULONG 0xffffffff
-
-#ifndef NULL
-#define NULL 0L
-#endif
-
-#ifndef EOS
-#define EOS '\0'
-#endif
-
-#define SAFETYBUF    10    /* Safety buffer when allocating memory */
-#define BIGGEST_BLOCK    32765    /* Should find a happy medium for this  */
-
-#ifdef MACINTOSH /*DMH: gets AVAILMEM in record.c*/
-#include <stddef.h>
-#define MALLOC(x)       malloc((size_t)(x))  /*DMH: size_t is ulong, for MAC*/
-#define FREE(x)    free((char *)(x))
-#define AVAILMEM    MyMaxMem(NULL)/*???*/
-#endif
-
-#ifdef LATTICE322
-#define MALLOC  malloc
-#define FREE    free
-#define AVAILMEM    MyMaxMem(NULL)
-
-#else
-
-#ifdef DOS /* was MICROSOFT */
-#define MALLOC  malloc
-#define FREE    free
-#define AVAILMEM MyMaxMem(NULL)
-#endif
-#endif
-
-#ifdef UNIX
-#define MALLOC  malloc
-#define FREE     free
-#define AVAILMEM     10000000 /* since we have virtual memory, assume 10Mb */
-#endif
-
-#ifdef AMIGA
-#define MALLOC  malloc
-#define FREE    free
-#define AVAILMEM     128000
-#endif
-
-public ulong MyMaxMem(ushort *);
-
-#ifndef MEM
-#include "mem.h"
-#endif
-
-#ifndef CLEANUP
-#include "cleanup.h"
-#endif
-
-#ifdef CMTSTUFF
-#define EXIT cmt_exit
-public void EXIT(int);
-/* don't allow anyone to call exit directly */
-#define exit(n) PLEASE_CALL_EXIT_NOT_exit
-#else
-#define EXIT(n) exit(n)
-#endif
-
-#define _cext
-
-#ifndef MALLOC
-MALLOC is not defined!
-#endif
-
-#define ROUND(x) ((long) ((x) + 0.5))
-
-/* for compatibility */
-#ifdef NEED_ROUND
-#define round ROUND
-#endif
-
-#define CEXT_H
-#endif
diff --git a/lib-src/libnyquist/cmt/cleanup.c b/lib-src/libnyquist/cmt/cleanup.c
deleted file mode 100644
index a0797d9..0000000
--- a/lib-src/libnyquist/cmt/cleanup.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* cleanup.c -- registers work to do upon exit */
-
-#include "stdio.h"
-#include "cext.h"
-
-typedef struct cleanup_struct {
-    struct cleanup_struct *next;
-    cu_fn_type fn;
-    cu_parm_type obj;
-} cleanup_node, *cleanup_type;
-
-cleanup_type cleanup_list = NULL;
-
-/* cu_register -- remember function and arg to call in order to clean up */
-/**/
-void cu_register(cu_fn_type fn, cu_parm_type obj)
-{
-    cleanup_type cu = (cleanup_type) memget(sizeof(cleanup_node));
-    cu->fn = fn;
-    cu->obj = obj;
-    cu->next = cleanup_list;
-    cleanup_list = cu;
-}
-
-
-/* cu_unregister -- erase memory of obj (should be unique in cleanup list) */
-/**/
-void cu_unregister(obj)
-  void *obj;
-{
-    cleanup_type *cu = &cleanup_list;
-    while (*cu) {
-        if ((*cu)->obj == obj) {
-            cleanup_type found = *cu;
-            *cu = (*cu)->next;	/* splice out found */
-            memfree((char *) found, sizeof(cleanup_node));
-            return;
-        }
-        cu = &((*cu)->next);
-    }
-}
-
-
-/* cu_cleanup -- call the registered functions */
-/**/
-void cu_cleanup()
-{
-    while (cleanup_list) {
-        cleanup_type cu = cleanup_list;
-#ifdef CU_TRACE
-        gprintf(GTRANS, "cu_cleanup: node %lx fn %lx obj %lx\n",
-                cu, cu->fn, cu->obj);
-#endif
-        cu->fn(cu->obj);
-        cleanup_list = cu->next;
-        memfree((char *) cu, sizeof(cleanup_node));
-    }
-#ifdef CU_TRACE
-    gprintf(GTRANS, "cu_cleanup done.\n");
-    fflush(stdout);
-#endif
-}
diff --git a/lib-src/libnyquist/cmt/cleanup.h b/lib-src/libnyquist/cmt/cleanup.h
deleted file mode 100644
index 62aaf6f..0000000
--- a/lib-src/libnyquist/cmt/cleanup.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* cleanup.c -- registers work to do upon exit */
-
-typedef void *cu_parm_type;
-typedef void (*cu_fn_type)(cu_parm_type);
-void cu_register(cu_fn_type fn, cu_parm_type obj);
-void cu_unregister(void *obj);
-void cu_cleanup(void);
-
-#define CLEANUP
diff --git a/lib-src/libnyquist/cmt/cmdline.c b/lib-src/libnyquist/cmt/cmdline.c
deleted file mode 100644
index 0f1d958..0000000
--- a/lib-src/libnyquist/cmt/cmdline.c
+++ /dev/null
@@ -1,478 +0,0 @@
-/* cmdline.c -- command line parsing routines */
-/* Copyright 1989 Carnegie Mellon University */
-/*
- * This module is designed to allow various modules to scan (and rescan)
- * the command line for applicable arguments.  The goal is to hide as
- * much information about switches and their names as possible so that
- * switches become more consistent across applications and so that the
- * author of an application need not do a lot of work to provide numerous
- * options.  Instead, each module scans the command line for its own
- * arguments.
- *
- * Command lines are of the following form:
- *    command -s1 -s2 opt2 -s3 arg1 arg2 -s4 opt4 arg3
- * Note that there are three kinds of command line parameters:
- * (1) A Switch is a "-" followed by a name, e.g. "-s1"
- * (2) An Option is a Switch followed by a space and name, e.g. "-s2 opt2"
- * (3) An Argument is a name by itself, e.g. "arg1"
- * Note also that a switch followed by an argument looks just like an
- * option, so a list of valid option names is necessary to disambiguate.
- *
- * Long names are good for readability, but single character abbreviations
- * are nice for experienced users.  cmdline.c allows single character
- * abbreviations provided that they are unambiguous.  These are
- * recognized with no extra work by the programmer.  If an
- * isolated '?' is encountered in the command line, then all of
- * the options and switches are printed as help and for debugging.
- *
- * Given that we must tell this module about option names and switch
- * names, how should we do it?  We can't wait until modules are
- * initialized, since often modules want to read the command line
- * at initialization time.  In the original implementation, the
- * main program was supposed to provide names for the whole program,
- * but this violates modularity: when an option is added to a module,
- * the main program has to be modified too.  This is a real pain when
- * different machines support different options and you want to have
- * a single machine-independent main program.  The solution is to 
- * have the main program import strings describing the options and
- * switches used by each module.  These are passed into cmdline.c
- * before initialization of other modules is begun.
- *
- * A main program that uses cmdline.c should do the following:
- *   call cl_syntax(s) for each module's option/switch string.
- * The string s should have the following format:
- *  "opt1<o>description;opt2<o>description;...;switch1<s>description;..."
- * where opt1 and opt2 are option names (without the preceding "-"), and
- * switch1 is a switch name.  The <o> and <s> indicate whether the
- * name is an option or a switch.  The descriptions are arbitrary strings
- * (without semicolons) that are printed out for the user when "?"
- * is typed on the command line.
- *
- * After calling cl_syntax, main() should call
- *   cl_init(argv, argc)
- * cl_init will report an error (to stderr) if it finds any illegal
- * switch or option names in argv, and help will be printed if "?"
- * is found in argv.  If cl_init returns false, then the user has been
- * given an error message or help, and main should probably exit.
- *
- * Afterward, switches, options, and arguments can be accessed by
- * calling cl_switch, cl_option, and cl_arg.  If cl_switch or cl_option
- * is called with a switch name that was not mentioned in the call to 
- * cl_init, an error will result.  This indicates that the application
- * author omitted a valid switch or option name when calling cl_init.
- * This is an error because the full set of names is needed for error
- * checking and to distinguish arguments from options.
- *
- */
-
-/*****************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-* 13-Jun-86 | Created Change Log
-*  6-Aug-86 | Modified for Lattice 3.0 -- use "void" to type some routines
-* 20-Sep-89 | Redesigned the interface, adding cl_syntax call.
-*  2-Apr-91 | JDW : further changes
-* 27-Dec-93 | "@file" as first arg reads command line args from file
-* 11-Mar-94 | PLu: Add private to cl_search() definition.
-* 28-Apr-03 | DM: true->TRUE, false->FALSE
-*****************************************************************************/
-
-/* stdlib.h not on PMAX */
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-#include "cmdline.h"
-#include "ctype.h"
-#include "string.h"
-
-#define syntax_max 10           /* allow for 10 syntax strings */
-private char *syntax[syntax_max];
-private int n_syntax = 0;       /* number of strings so far */
-private char **argv;            /* command line argument vector */
-private int argc;               /* length of argv */
-
-private boolean cl_rdy = FALSE;    /* set to TRUE when initialized */
-
-#define cl_OPT 1
-#define cl_SW 2
-#define cl_INIT 3
-#define cl_ARG 4
-
-/*****************************************************************************
-*    Routines local to this module
-*****************************************************************************/
-private char *cl_search();
-private int find_string();
-private void indirect_command(char *filename, char *oldarg0);
-private void ready_check();
-
-/****************************************************************
-*           cl_arg
-* Inputs:
-*    n: the index of the arg needed
-* Results:
-*    pointer to the nth arg, or NULL if none exists
-*    arg 0 is the command name
-*****************************************************************/
-
-char *cl_arg(n)
-  int n;
-{
-    return (n <= 0 ? argv[0] :
-                     cl_search((char *)NULL, cl_ARG, n));
-}
-
-/* cl_help -- print help from syntax strings */
-/**/
-void cl_help()
-{
-    register int i, j;
-    int count = 0;	/* see if there are any switches or flags */
-
-    for (i = 0; i < n_syntax; i++) {
-        register char *ptr = syntax[i];
-        register char c = *ptr++;
-        while (c != EOS) {
-            while (c != EOS && !(isalnum(c))) c = *ptr++;
-            if (c != EOS) {
-                count++;
-                gprintf(TRANS, "-");
-                j = 1;
-                while (c != EOS && c != '<') {
-                    gprintf(TRANS, "%c", c);
-                    c = *ptr++;
-                    j++;
-                }
-                if (c != EOS) {
-                    c = *ptr++;
-                    if (c == 'o') {
-                        gprintf(TRANS, " xxx");
-                        j += 4;
-                    }
-                }
-                /* attempt to tab */
-                do {
-                    gprintf(TRANS, " ");
-                } while (j++ < 16);
-                while (c != EOS && c != '>') c = *ptr++;
-                if (c != EOS) c = *ptr++;
-                while (c != EOS && c != ';') {
-                    gprintf(TRANS, "%c", c);
-                    c = *ptr++;
-                }
-                gprintf(TRANS, "\n");
-            }
-        }
-    }
-    if (!count) gprintf(TRANS, "No switches or options exist.\n");
-}
-
-/*****************************************************************************
-*           cl_init
-* Inputs:
-*    char *switches[]:    array of switch names
-*    int nsw:   number of switch names
-*    char *options[]:    array of option names
-*    int nopt:  number of option names
-*    char *av:  array of command line fields (argv)
-*    int ac:        number of command line fields (argc)
-* Effect:
-*    Checks that all command line entries are valid.
-*    Saves info for use by other routines.
-* Returns:
-*    TRUE if syntax checks OK, otherwise false
-*****************************************************************************/
-
-boolean cl_init(av, ac)
-  char *av[];
-  int ac;
-{
-    argv = av;      
-    argc = ac;
-
-    /* check for help request */
-    if (argc == 2 && strcmp(argv[1], "?") == 0) {
-        cl_help();
-        return FALSE; /* avoid cl_search which would complain about "?" */
-    }
-    /* check for indirection */
-    if (argc == 2 && *(argv[1]) == '@') {
-        /* read new args from file */
-        indirect_command(av[1] + 1, av[0]);
-    }
-    /* check command line syntax: */
-    cl_rdy = TRUE;
-    return (cl_rdy = (cl_search("true", cl_INIT, 0) != NULL));
-}
-
-
-/****************************************************************
-*           cl_int_option
-* Inputs:
-*    char *name:    name of option
-*    long default:  default value for option
-* Result:
-*    returns long encoding of the option, deflt if none
-* Implementation:
-*    call cl_option and sscanf result
-*****************************************************************/
-
-long cl_int_option(name, deflt)
-  char *name;
-  long deflt;
-{
-    char *opt = cl_option(name);
-    if (opt) {
-        if (sscanf(opt, "%ld", &deflt) != 1) {
-            gprintf(TRANS, "Warning: option %s %s not an integer, ignored\n",
-                        name, opt);
-        }
-    }
-    return deflt;
-}
-
-
-/****************************************************************
-*           cl_search
-* Inputs:
-*    char *name:    name of field, must be non-null if opt_sw == cl_INIT
-*    int opt_sw:    option, switch, init, or arg
-*    int n:         argument number (if opt_sw is cl_ARG)
-* Result:
-*    returns pointer to option value/switch if one exists, otherwise null
-* Implementation:
-*    parse the command line until name or arg is found
-*    see if the option is followed by a string that does
-*    not start with "-"
-*****************************************************************/
-
-private char *cl_search(name, opt_sw, n)
-  char *name;
-  int opt_sw;
-  int n;        /* if opt_sw is cl_ARG, n > 0 tells which one */
-{
-    register int i = 1;    /* index into command line */
-    boolean abbr;
-    boolean result = TRUE;
-
-    ready_check();
-
-    /* parse command line: */
-    while (i < argc) {
-        register char *arg = argv[i];
-        /* arguments that start with '-' should be quoted and quotes must
-           be removed by the application
-         */
-        if (*arg == '-') {
-            int arg_type = find_string(arg + 1, &abbr);
-            if (arg_type == cl_OPT) {
-                i += 1; /* skip name and option */
-                /* don't look for '-' because the option might be a
-                 * negative number
-                 */
-                if (i >= argc /* || *arg == '-' */) {
-                    if (opt_sw == cl_INIT) {
-                        gprintf(ERROR, "missing argument after %s\n", arg);
-                        result = FALSE;
-                    }
-                } else if (opt_sw == cl_OPT &&
-                    (strcmp(arg + 1, name) == 0 ||
-                     (abbr && *(arg + 1) == name[0]))) {
-                    return argv[i];
-                }
-            } else if (arg_type == cl_SW) {
-                if (opt_sw == cl_SW &&
-                    (strcmp(arg + 1, name) == 0 ||
-                     (abbr && *(arg + 1) == name[0])))
-                    return arg;
-            } else if (opt_sw == cl_INIT)  {
-                gprintf(ERROR, "invalid switch: %s\n", arg);
-                result = FALSE;
-            }
-        } else if (opt_sw == cl_ARG) {
-            if (n == 1) return arg;
-            n--;
-        }
-        i++; /* skip to next field */
-    }
-    if (opt_sw == cl_INIT) {
-        /* return name or NULL to represent TRUE or FALSE */
-        return (result ? name : NULL);
-    }
-    return NULL;
-}
-
-/****************************************************************
-*           cl_option
-* Inputs:
-*    char *name:    option name
-* Outputs:
-*    returns char *: the option string if found, otherwise null
-****************************************************************/
-
-char *cl_option(name)
-char *name;
-{
-    return cl_search(name, cl_OPT, 0);
-}
-
-/****************************************************************
-*           cl_switch
-* Inputs:
-*    char *name:    switch name
-* Outputs:
-*    boolean:    TRUE if switch found
-****************************************************************/
-
-boolean cl_switch(name)
-char *name;
-{
-    return (boolean)(cl_search(name, cl_SW, 0) != NULL);
-}
-
-/* cl_syntax -- install a string specifying options and switches */
-/**/
-boolean cl_syntax(char *s)
-{
-    if (n_syntax < syntax_max) {
-        syntax[n_syntax++] = s;
-        return TRUE;
-    } else {
-        gprintf(ERROR, "cl_syntax: out of room\n");
-        return FALSE;
-    }
-}
-
-/****************************************************************
-*           find_string
-* Inputs:
-*    char *s:    string to find, terminated by any non-alphanumeric
-*    boolean *abbr: set TRUE if s is an abbreviation, otherwise false
-* Effect:
-*    Looks for s in syntax strings
-* Returns:
-*    0 = FALSE = not found, 1 = cl_OPT = option, 2 = cl_SW = switch
-*****************************************************************/
-
-private int find_string(s, abbr)
-  char *s;
-  boolean *abbr;
-{
-    int found_it = FALSE;
-    int i;
-    *abbr = FALSE;
-    for (i = 0; i < n_syntax; i++) {    /* loop through strings */
-        register char *syntax_ptr = syntax[i];
-        while (*syntax_ptr != EOS) {
-            register char *s_ptr = s;
-            while (*syntax_ptr != EOS &&
-                   !(isalnum(*syntax_ptr))) syntax_ptr++;
-            while (*s_ptr != EOS && (*s_ptr++ == *syntax_ptr))
-                syntax_ptr++; /* only increment if there's a match */
-            if (!(isalnum(*s_ptr)) && *syntax_ptr == '<') {
-                syntax_ptr++; /* advance to the type field */
-                if (*syntax_ptr == 's') return cl_SW;
-                if (*syntax_ptr != 'o') 
-                    gprintf(ERROR,
-                            "(internal error) bad cl_syntax string: %s\n",
-                            syntax[i]);
-                return cl_OPT;
-            }
-            /* no match, so go to next */
-            while (*syntax_ptr != ';' && *syntax_ptr != EOS) syntax_ptr++;
-            if (*syntax_ptr == ';') syntax_ptr++;
-        }
-    }
-
-    /* no match, maybe there is a single character match */
-    if (s[0] == EOS || s[1] != EOS) return FALSE;
-
-    for (i = 0; i < n_syntax; i++) {    /* loop through strings */
-        char *syntax_ptr = syntax[i];
-        while (*syntax_ptr != EOS) {
-            while (*syntax_ptr != EOS &&
-                   !(isalnum(*syntax_ptr))) syntax_ptr++;
-            if (s[0] == *syntax_ptr) {
-                if (found_it) return FALSE;     /* ambiguous */
-                /* else, find the type */
-                while (*syntax_ptr != '<' && *syntax_ptr != EOS)
-                    syntax_ptr++;
-                syntax_ptr++;
-                if (*syntax_ptr == 's') found_it = cl_SW;
-                else if (*syntax_ptr == 'o') found_it = cl_OPT;
-                else return FALSE;      /* error in string syntax */
-            }
-            /* no match, so go to next */
-            while (*syntax_ptr != ';' && *syntax_ptr != EOS) syntax_ptr++;
-            if (*syntax_ptr == ';') syntax_ptr++;
-        }
-    }
-    if (found_it) *abbr = TRUE;
-    return found_it;
-}
-
-
-/* get_arg -- get an argument from a file */
-/**/
-boolean get_arg(file, arg)
-  FILE *file;
-  char *arg;
-{
-    int c;
-    while ((c = getc(file)) != EOF && isspace(c)) ;
-    if (c == EOF) return FALSE;
-    ungetc(c, file);
-    while ((c = getc(file)) != EOF && !isspace(c)) {
-            *arg++ = c;
-    }
-    *arg = 0;
-    return TRUE;
-}
-
-
-/* indirect_command -- get argv, argc from a file */
-/**/
-private void indirect_command(filename, oldarg0)
-  char *filename;
-  char *oldarg0;
-{
-    FILE *argfile = fopen(filename, "r");
-    if (!argfile) {
-            argv = (char **) malloc(sizeof(char *));
-        argv[0] = oldarg0;
-        argc = 1;
-    } else {
-            int i = 1;
-        char arg[100];
-        while (get_arg(argfile, arg)) i++;
-        fclose(argfile);
-        argfile = fopen(filename, "r");
-        argv = (char **) malloc(sizeof(char *) * i);
-        argv[0] = oldarg0;
-        argc = i;
-        i = 1;
-        while (get_arg(argfile, arg)) {
-            argv[i] = (char *) malloc(strlen(arg) + 1);
-            strcpy(argv[i], arg);
-            i++;
-        }
-    }
-}
-
-/****************************************************************
-*           ready_check
-* Effect:
-*    Halt program if cl_rdy is not true.
-*****************************************************************/
-private void ready_check()
-{
-    if (!cl_rdy) {
-        gprintf(ERROR,
-        "Internal error: cl_init was not called, see cmdline.c\n");
-        EXIT(1);
-    }
-}
diff --git a/lib-src/libnyquist/cmt/cmdline.h b/lib-src/libnyquist/cmt/cmdline.h
deleted file mode 100644
index 06ff4c3..0000000
--- a/lib-src/libnyquist/cmt/cmdline.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Copyright 1989 Carnegie Mellon University */
-
-char *cl_arg(int n);
-boolean cl_init(char *av[], int ac);
-long cl_int_option(char *name, long deflt);
-char *cl_option(char *name);
-boolean cl_switch(char *name);
-boolean cl_syntax(char *name);
diff --git a/lib-src/libnyquist/cmt/cmtcmd.c b/lib-src/libnyquist/cmt/cmtcmd.c
deleted file mode 100644
index 2881467..0000000
--- a/lib-src/libnyquist/cmt/cmtcmd.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* cmtcmd.c -- routines for the moxc side of the command interface */
-
-#include "switches.h"
-#include "stdio.h"
-#ifdef  AMIGA
-#include "exec/types.h"
-#include "exec/exec.h"
-#endif
-#include "cmtcmd.h"
-#include "cext.h"
-#include "userio.h"
-#include "string.h"
-
-#define HASHELEM(p) ((p).symbol_name)
-#define HASHVAL 50
-#define HASHENTRIES 50
-#define HASHENTER lookup
-#define HASHNOCOPY
-
-#include "hashrout.h"
-
-void defvar(name, addr)
-  char *name;
-  int *addr;
-{
-    int i = lookup(name);
-    HASHENTRY(i).symb_type = var_symb_type;
-    HASHENTRY(i).ptr.intptr = addr;
-}
-
-
-void defun(name, addr)
-  char *name;
-  int (*addr)();
-{
-    int i = lookup(name);
-    HASHENTRY(i).symb_type = fn_symb_type;
-    HASHENTRY(i).ptr.routine = addr;
-}
-
-
-void defvec(name, addr, size)
-  char *name;
-  int *addr;
-  int size;
-{
-    int i = lookup(name);
-    HASHENTRY(i).symb_type = vec_symb_type;
-    HASHENTRY(i).size = size;
-    HASHENTRY(i).ptr.intptr = addr;
-}
-
-
diff --git a/lib-src/libnyquist/cmt/cmtcmd.h b/lib-src/libnyquist/cmt/cmtcmd.h
deleted file mode 100644
index 9ad1cac..0000000
--- a/lib-src/libnyquist/cmt/cmtcmd.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* cmtcmd.h -- header for remote action and variable setting interface */
-
-#define var_symb_type 333
-#define fn_symb_type 555
-#define vec_symb_type 777
-
-#ifdef AMIGA
-struct cmd_msg {
-    struct Message msg;
-    long symb_type;     /* one of var_, fn_, or vec_symb_type */
-    char *symbol_name;
-    long the_args[8];   /* args for function call.  If var_symb_type,
-               the_args[0] is the new value.  If vec_symb_type,
-               the_args[0] is index, the_args[1] is new value. */
-};
-#endif
-
-typedef struct symb_descr {
-    char *symbol_name;
-    int symb_type;
-    int size;     /* for array bounds checking */
-    union {
-    int *intptr;
-    int (*routine)();
-    } ptr;
-} symb_descr_node;
-
-int lookup(char *s);
-void defvar(char *name, int *addr);
-void defvec(char *name, int *addr, int size);
-typedef int (*defun_type)();
-void defun(char *name, defun_type addr);
-
-#define HASHTYPE symb_descr_node
-#include "hash.h"
diff --git a/lib-src/libnyquist/cmt/cmtio.c b/lib-src/libnyquist/cmt/cmtio.c
deleted file mode 100644
index e6f1ebc..0000000
--- a/lib-src/libnyquist/cmt/cmtio.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- **********************************************************************
- *              File io.c
- **********************************************************************
- *
- * Non blocking input routine
- * Works by puttng the terminal in CBREAK mode and using the FIONREAD
- * ioctl call to determine the number of characters in the input queue
- */
-
-#include "stdio.h"
-#include "io.h"
-#include <sys/types.h>
-#include <sys/time.h>
-#include <signal.h>
-#include <sgtty.h>
-#include "cext.h"
-
-int     IOinputfd;      /* input file descriptor (usually 0) */
-
-int     IOnochar;       /* Value to be returned by IOgetchar()
-                   where there is no input to be had */
-
-static  struct sgttyb IOoldmodes, IOcurrentmodes;
-                /* Initial and current tty modes */
-
-/*
- * IOsetup(inputfd)
- *   Args:
- *      inputfd - input file descriptor (should be zero for standard input)
- *   Returns:
- *      0 - if all goes well
- *      -1 - if an ioctl fails (also calls perror)
- *   Side Effects:
- *      Puts the terminal in CBREAK mode - before process termination
- *      IOcleanup() should be called to restore old terminal modes
- *      Catch's interrupts (if they are not already being caught) and
- *      calls IOcleanup before exiting
- *
- */
-
-#define ERROR(s)        return (perror(s), -1)
-
-IOsetup(inputfd)
-{
-    static IOdiegracefully();
-    int (*interrupt_handler)();
-
-    IOinputfd = inputfd;
-    IOnochar = NOCHAR;
-    if(ioctl(IOinputfd, TIOCGETP,  &IOoldmodes) < 0)
-        ERROR("IOsetup");
-
-    IOcurrentmodes = IOoldmodes;
-    IOcurrentmodes.sg_flags |= CBREAK;
-    IOcurrentmodes.sg_flags &= ~ECHO;
-    if(ioctl(IOinputfd, TIOCSETP,  &IOcurrentmodes))
-        ERROR("IOsetup-2");
-
-    if( (interrupt_handler = signal(SIGINT, IOdiegracefully)) != 0)
-        signal(SIGINT, interrupt_handler);
-    return 0;
-}
-
-static
-IOdiegracefully()
-{
-    write(2, "\nBye\n", 5);
-    IOcleanup();
-    EXIT(2);
-}
-
-/*
- * IOcleanup()
- *   Returns:
- *      0 - if all goes well
- *      -1 - if an ioctl fails (also calls perror)
- *   Side Effects:
- *      Restores initial terminal modes
- */
-
-IOcleanup()
-{
-    if(ioctl(IOinputfd, TIOCSETP,  &IOoldmodes) < 0)
-        ERROR("IOclean");
-    return 0;
-}
-
-
-/*
- * IOgetchar()
- *    Returns:
- *      A character off the input queue if there is one,
- *      IOnochar if there is no character waiting to be read,
- *      -1 if an ioctl fails (shouldn't happen if IOsetup went OK)
- */
-
-#ifndef UNIX_MACH
-
-IOgetchar()
-{
-    int n;
-    char c;
-
-    if(ioctl(IOinputfd, FIONREAD, &n) < 0)
-        ERROR("IOgetchar");
-    if(n <= 0)
-        return IOnochar;
-    switch(read(IOinputfd, &c, 1)) {
-    case 1:
-        return c;
-    case 0:
-        return EOF;
-    default:
-        ERROR("IOgetchar-read");
-    }
-}
-
-#ifdef IOGETCHAR2
-IOgetchar2()
-{
-    int nfds, readfds = 1 << IOinputfd;
-    char c;
-    static struct timeval zero;
-
-    if(IOinputfd < 0 || IOinputfd >= 32) {
-        printf("IOgetchar2: bad IOinputfd (%d)%s\n", IOinputfd,
-            IOinputfd == -1 ? "Did you call IOsetup(fd)?" : "");
-    }
-    nfds = select(32, &readfds, 0, 0, &zero);
-    if(nfds > 0) {
-        switch(read(IOinputfd, &c, 1)) {
-        case 0:
-            return EOF;
-        case 1:
-            return c;
-        default:
-            printf("IOgetchar2: read failed!\n");
-            return NOCHAR;
-        }
-    }
-    else if(nfds < 0)
-        printf("IOgetchar2: select failed!\n");
-    return NOCHAR;
-}
-#endif
-
-/*
- * IOwaitchar()
- *   Returns:
- *      A character off the input queue.  Waits if necessary.
- */
-
-int IOwaitchar()
-{
-    char c;
-    if (read(IOinputfd, &c, 1) == 1) return c;
-    else return EOF;
-}
-
-#endif /* not UNIX_MACH */
diff --git a/lib-src/libnyquist/cmt/cmtio.h b/lib-src/libnyquist/cmt/cmtio.h
deleted file mode 100644
index 3e50ad9..0000000
--- a/lib-src/libnyquist/cmt/cmtio.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#define NOCHAR -2
-
-int IOinputfd;
-int IOnochar;
-
-int IOsetup(int inputfd);
-int IOcleanup(void);
-int IOgetchar(void);
-int IOwaitchar(void);
diff --git a/lib-src/libnyquist/cmt/hash.h b/lib-src/libnyquist/cmt/hash.h
deleted file mode 100644
index 0257cfe..0000000
--- a/lib-src/libnyquist/cmt/hash.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * This file should be included in all files that use
- * the HASHENTRY macro; see hashrout.h for details
- */
-/* Copyright 1989 Carnegie Mellon University */
-
-#ifndef    HASHTYPE
-#    include    "-- HASHTYPE undefined"
-#endif
-
-/*
- * An element really is a HASHTYPE along with a h_next entry,
- * which chains together entries of the same hash value.
- */
-
-typedef struct hashelem {
-    HASHTYPE    h_elem;
-    struct hashelem     *h_next;
-} hashelem;
-
-extern hashelem    hashfirstchunk[];
-
-#define HASHENTRY(i)    (hashfirstchunk[i].h_elem)
diff --git a/lib-src/libnyquist/cmt/hashrout.h b/lib-src/libnyquist/cmt/hashrout.h
deleted file mode 100644
index a566b9f..0000000
--- a/lib-src/libnyquist/cmt/hashrout.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* hashrout.h -- Rubine's hash table package */
-/* Copyright 1989 Carnegie Mellon University */
-
-/* ChangeLog:
- *    2-jan-85 rbd    Added option to count entries: define COUNTER and
- *          HASHENTER routine will increment it on new entries
- *   28-Apr-03 DM     Explicit declaration of int type for HASHENTER() 
- */
-
-/*
- * Generic symbol table functions
- *
- * After writing this code over for a bunch of interpreters
- * I think I know how to do it once and for all, generally
- * enough for most application.
- * There are enough settable parameters to suit anyone, and
- * the defaults usually do something sane.
- *
- * The basic idea is that you have a bunch of symbol table entries
- * that need to be entered or looked up given a character string.
- * Symbol table entries are usually structures, and one element
- * of the structure must be the character string of the key.
- * The structure should be given a type name, and these routines
- * are informed of the type name via
- *    #define    HASHTYPE    type-name-of-symbol-table-entry
- * You must inform the routines how to access the character string
- * given the symbol table entry; for example
- *    #define HASHELEM(p)    ((p).name)
- * There are two size parameters - the number of different hash
- * values and the number of symbol table entries to allocate at one
- * time.  Both default to 256.
- *    #define    HASHVAL        128
- *    #define    HASHENTRIES    512
- * The name of the function that performs both entry and lookup is
- * enter(name) - it takes one argument, a character string.  The name
- * of the function may be changed via
- *    #define HASHENTER    new-name-for-enter-routine
- * Note that if there is no entry in the table for name, name is entered
- * automatically.  The returned structure will have only the name
- * field filled in; the rest of the fields are guarenteed to be zero
- * so an application can check if this is the first time name was entered.
- * If HASHPOINT is defined, the enter routine returns a pointer to a hash
- * table entry.  In the default case, i.e. HASHPOINT undefined, the
- * enter routine returns an integer between zero and HASHENTRIES.
- * The macro HASHENTRY(i) will, given that integer, return the
- * table element (not a pointer to it), so for example,
- *    HASHENTRY(enter(x)).name == x.
- * Any file that wishes to use HASHENTRY should have at the top
- *    #define    HASHTYPE    type-name-of-symbol-table-entry
- *    #include "hash.h" 
- * Note in this case at most HASHENTRIES entries will be allocated
- * before hash table overflow.  If HASHPOINT is defined, allocations
- * will take place until memory runs out.
- * By default, hash strings are copied into space obtained from malloc
- * before being placed in new entry.  This copying can be supressed
- * by defining HASHNOCOPY.
- * The following is an example of using the hash table stuff.
-
-typedef struct {
-    char    *n_name;
-    int    n_value;
-} symbolentry;
-
-#define    HASHTYPE    symbolentry
-#define HASHELEM(p)    ((p).n_name)
-#define HASHENTRIES    1024
-
-#include "hashrout.h"
-
-*/
-
-
-/*
- * OK, now the meat.
- */
-
-#ifndef    HASHTYPE
-#    include    "-- HASHTYPE undefined"
-#endif
-
-#ifndef    HASHELEM
-#    include    "-- HASHELEM undefined"
-#endif
-
-#ifndef    HASHVAL
-#    define    HASHVAL    256
-#endif
-
-#ifndef    HASHENTRIES
-#    define    HASHENTRIES    256
-#endif
-
-#ifndef    HASHENTER
-#    define    HASHENTER    enter
-#endif
-
-/*
- * HASHNOCOPY, HASHPOINT are undefined by default
- */
-
-/*
- * get definition of hash elem structure
- */
-
-#ifndef HASHENTRY
-#    include    "hash.h"
-#endif
-
-/*
- * Table of pointers, indexed by hash values
- */
-
-hashelem    *hashtab[HASHVAL];
-
-/*
- * First chunk of elements, pointer to the start,
- * and index for allocation
- */
-
-hashelem    hashfirstchunk[HASHENTRIES];
-hashelem    *hashchunk = hashfirstchunk;
-int     hashindex = 0;
-
-/*
- * stdio.h if we don't have it yet
- */
-
-#ifndef _NFILE
-#    include <stdio.h>
-#endif
-
-/*
- * Declare counter if necessary
- */
-
-#ifdef COUNTER
-extern COUNTER;
-#endif
-
-/*
- * The enter routine
- */
-
-#ifdef HASHPOINT
-HASHTYPE *
-#else
-int
-#endif
-HASHENTER (s)
-char *s;
-{
-    register int i, hash;
-    register hashelem *elem;
-
-    /*
-     * Compute s's hash value
-     * I really should look up some good hash functions, but
-     * I haven't bothered.
-     */
-
-for(i = 0, hash = 0; s[i] != '\0' && i < 15; i++)
-    hash += (i + 1) * s[i];
-hash %= HASHVAL;
-
-/*
-      * search for s in the table
-     */
-
-for(elem = hashtab[hash]; elem != NULL; elem = elem->h_next)
-    if(strcmp(s, HASHELEM((elem->h_elem))) == 0) {    /* found it */
-#ifdef HASHPOINT
-        return(&elem->h_elem);
-#else
-        return(elem - hashfirstchunk);
-#endif
-    }
-
-if(hashindex >= HASHENTRIES) {
-#ifdef HASHPOINT
-    char *calloc();
-
-    hashindex = 0;
-    hashchunk = (hashelem *) calloc(HASHENTRIES, sizeof(hashelem));
-    if(hashchunk == NULL) {
-        gprintf(FATAL, "No mem for hash symbol table\n");
-        EXIT(1);
-#ifdef COUNTER
-        COUNTER++; /* optional symbol counter */
-#endif
-    }
-#else
-    gprintf(FATAL, "No hash table space, increase HASHENTRIES\n");
-    EXIT(1);
-#endif
-}
-
-/*
-      * Splice a new entry into the list and fill in the string field
-     */
-
-elem = &hashchunk[hashindex++];
-elem->h_next = hashtab[hash];
-hashtab[hash] = elem;
-
-#ifdef HASHNOCOPY
-HASHELEM((elem->h_elem)) = s;
-#else
-{
-    char *strcpy();
-    HASHELEM((elem->h_elem)) = memget((strlen(s) + 1));
-    strcpy(HASHELEM((elem->h_elem)), s);
-}
-#endif
-
-#ifdef HASHPOINT
-return(&elem->h_elem);
-#else
-return(elem - hashfirstchunk);
-#endif
-}
diff --git a/lib-src/libnyquist/cmt/mem.c b/lib-src/libnyquist/cmt/mem.c
deleted file mode 100644
index 7256188..0000000
--- a/lib-src/libnyquist/cmt/mem.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* mem.c -- fast memory allocation/deallocation module */
-
-/* Allocate large chunks of memory using malloc.  From the chunks,
-   allocate memory as needed on long-word boundaries.  Memory is
-   freed by linking memory onto a freelist.  An array of freelists,
-   one for each size, is maintained and checked before going to the
-   chunck for more memory.  The freelist array only holds lists of
-   nodes up to a certain size.  After that, malloc is used directly.
- */
-/* CHANGE LOG
- ----------------------------------------------------------------------
-   28-Apr-03 | DM  : fix #includes for portability
- ----------------------------------------------------------------------
- */
-
-#include "switches.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cext.h"
-#include "userio.h"
-
-/* how many bytes in the largest node managed in mem_free_list array */
-#define MAX_SIZE_FOR_FREELIST 256
-
-long *mem_free_list[MAX_SIZE_FOR_FREELIST/4];
-
-#define MEM_CHUNK_SIZE 4096
-char *mem_chunk;
-long mem_chunk_remaining = 0;
-
-void meminit()
-{
-    int i;
-    for (i = 0; i < MAX_SIZE_FOR_FREELIST/4; i++) {
-        mem_free_list[i] = NULL;
-    }
-}
-
-
-void *memget(register size_t size)
-{
-    if (size > MAX_SIZE_FOR_FREELIST) {
-/*		gprintf(TRANS, "memget calling MALLOC\n"); */
-        return MALLOC(size);
-    } else {
-        long **p = mem_free_list + ((size - 1) >> 2);
-        if (*p) {
-            register long *result = *p;
-            *p = (long *) *result;
-/*			gprintf(TRANS, "memget->%lx\n", result); */
-            return (char *) result;
-        } else if ((size_t) mem_chunk_remaining >= size) {
-            register char *result = mem_chunk;
-            size = (size + 3) & ~3; /* round up to multiple of 4 */
-            mem_chunk += size;
-            mem_chunk_remaining -= size;
-/*			gprintf(TRANS, "memget->%lx\n", result); */
-            return result;
-        /* note that we throw away remaining chunk when there isn't enough */
-        } else if ((mem_chunk = (char *) MALLOC(MEM_CHUNK_SIZE))) {
-            register char *result = mem_chunk;
-/*			gprintf(TRANS, "mem_chunk at %lx\n", mem_chunk); */
-            size = (size + 3) & ~3; /* round up to multiple of 4 */
-            mem_chunk += size;
-            mem_chunk_remaining = MEM_CHUNK_SIZE - size;
-/*			gprintf(TRANS, "memget->%lx\n", result); */
-            return result;
-        } else {
-            return NULL;
-        }
-    }
-}
-
-
-void memfree(register void *ptr, register size_t size)
-{
-    register long **p = (long **) ptr;
-    if (size > MAX_SIZE_FOR_FREELIST) {
-        FREE(ptr);
-    } else {
-        register long **head_ptr = mem_free_list + ((size - 1) >> 2);
-        *p = *head_ptr;
-        *head_ptr = (long *) p;
-    }
-}
-
-
-
-            
diff --git a/lib-src/libnyquist/cmt/mem.h b/lib-src/libnyquist/cmt/mem.h
deleted file mode 100644
index ea33ba9..0000000
--- a/lib-src/libnyquist/cmt/mem.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifdef AMIGA
-#include "stddef.h" 
-#endif
-
-extern long *mem_free_list[];
-
-void *memget(register size_t size);
-void memfree(register void *ptr, register size_t size);
-
-void meminit(void);
-
-#define MEM
diff --git a/lib-src/libnyquist/cmt/mfmidi.h b/lib-src/libnyquist/cmt/mfmidi.h
deleted file mode 100644
index 9621c67..0000000
--- a/lib-src/libnyquist/cmt/mfmidi.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#define NOTEOFF 0x80
-#define NOTEON 0x90
-#define PRESSURE 0xa0
-#define CONTROLLER 0xb0
-#define PITCHBEND 0xe0
-#define PROGRAM 0xc0
-#define CHANPRESSURE 0xd0
-
-/* These are the strings used in keynote to identify Standard MIDI File */
-/* meta text messages. */
-
-#define METATEXT                "Text Event"
-#define METACOPYRIGHT           "Copyright Notice"
-#define METASEQUENCE            "Sequence/Track Name"
-#define METAINSTRUMENT          "Instrument Name"
-#define METALYRIC               "Lyric"
-#define METAMARKER              "Marker"
-#define METACUE                 "Cue Point"
-#define METAUNRECOGNIZED        "Unrecognized"
diff --git a/lib-src/libnyquist/cmt/midibuff.h b/lib-src/libnyquist/cmt/midibuff.h
deleted file mode 100644
index f8dc1c1..0000000
--- a/lib-src/libnyquist/cmt/midibuff.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* midibuff.h -- defines the size of the midi input buffer */
-
-/* midi input buffer */
-/* WARNING: BUFF_SIZE must be a power of 2 so we can use masking to wrap */
-#define EVENT_COUNT 128
-#define EVENT_SIZE 4
-#define BUFF_SIZE (EVENT_COUNT * EVENT_SIZE)
-#define BUFF_MASK (BUFF_SIZE - 1)
-
-#ifdef WINDOWS
-#define huge 
-#endif
-
-extern byte huge *xbuff;	/* application-supplied sysex buffer */
-extern long xbufmask;	    /* mask for circular buffer */
-extern long xbufhead;       /* buffer head and tail offsets */
-extern long xbuftail;
-extern int midi_error;
-/* midi input buffer */
-/* data buffer, declared long to get 32-bit alignment: */
-extern long buff[BUFF_SIZE/4];
-extern int buffhead;     /* buffer head and tail pointers */
-extern int bufftail;
diff --git a/lib-src/libnyquist/cmt/midicode.h b/lib-src/libnyquist/cmt/midicode.h
deleted file mode 100644
index 26361d3..0000000
--- a/lib-src/libnyquist/cmt/midicode.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/************************************************************************
-*
-* Midi codes
-* Copyright 1989 Carnegie Mellon University
-*
-*************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+------------------------------------------------------------
-* 11-Mar-94 | PLu : Port to IRI
-************************************************************************/
-
-#define MIDI_DATA(d) (0x7f & (d))
-#define MIDI_CHANNEL(c) (0x0f & ((c) - 1))
-#define MIDI_PORT(c) (((c) - 1) >> 4)
-#define MIDI_PROGRAM(p) MIDI_DATA((p) - 1)
-
-#define MIDI_STATUS_BIT 0x80
-#define MIDI_COMMON	0x70
-#define MIDI_CODE_MASK  0xf0
-#define MIDI_CHN_MASK   0x0f
-#define MIDI_REALTIME   0xf8
-#define MIDI_CHAN_MODE  0xfa
-
-#define MIDI_OFF_NOTE   0x80
-#define MIDI_ON_NOTE    0x90
-#define MIDI_POLY_TOUCH 0xa0
-#define MIDI_CTRL       0xb0
-#define MIDI_CH_PROGRAM 0xc0
-#define MIDI_TOUCH      0xd0
-#define MIDI_BEND       0xe0
-
-#ifdef UNIX_IRIX_MIDIFNS
-#define CMT_MIDI_SYSEX  0xf0
-#define CMT_MIDI_EOX    0xf7
-#else
-#define MIDI_SYSEX      0xf0
-#define MIDI_EOX        0xf7
-#endif
-#define MIDI_Q_FRAME	0xf1
-#define MIDI_SONG_POINTER 0xf2
-#define MIDI_SONG_SELECT 0xf3
-#define MIDI_F4		0xf4
-#define MIDI_F5		0xf5
-#define MIDI_TUNE_REQ	0xf6
-#define MIDI_TIME_CLOCK 0xf8
-#define MIDI_F9		0xf9
-#define MIDI_START      0xfa
-#define MIDI_CONTINUE	0xfb
-#define MIDI_STOP       0xfc
-#define MIDI_FD		0xfd
-#define MIDI_ACTIVE_SENSING 0xfe
-#define MIDI_SYS_RESET  0xff
-
-#define MIDI_LOCAL	0x7a
-#define MIDI_LOCAL_OFF	0x00
-#define MIDI_LOCAL_ON	0x7f
-#define MIDI_ALL_OFF	0x7b
-#define MIDI_OMNI_OFF	0x7c
-#define MIDI_OMNI_ON	0x7d
-#define MIDI_MONO_ON	0x7e
-#define MIDI_POLY_ON	0x7f
diff --git a/lib-src/libnyquist/cmt/midierr.h b/lib-src/libnyquist/cmt/midierr.h
deleted file mode 100644
index d00ce4c..0000000
--- a/lib-src/libnyquist/cmt/midierr.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* midierr.h -- error codes */
-
-#define NESTERR 1 	/* nested interrupts */
-#define BUFFOVFL 2	/* input buffer overflow */
-#define CMDERR 3	/* unknown command from mpu-401 */
-#define TIMEOUTERR 4	/* interface timeout */
-#define MSGERR 5	/* invalid message */
-#define SYSEXOVFL 6	/* sysex buffer overflow */
-#define MEMERR 7	/* internal out of memory */
-#define RECVERR 8	/* receive error or device buffer overflow */
-#define MIDIMGRERR 9	/* error reported by midi manager (Macintosh) */
-
-#define SYSEX_ERR ((1<<RECVERR) | (1<<MEMERR) | (1<<SYSEXOVFL))
-extern short midi_error_flags;
-
-void midi_show_errors(void);
-
diff --git a/lib-src/libnyquist/cmt/midifile.c b/lib-src/libnyquist/cmt/midifile.c
deleted file mode 100644
index 0ec1137..0000000
--- a/lib-src/libnyquist/cmt/midifile.c
+++ /dev/null
@@ -1,618 +0,0 @@
-/*
- * Read a Standard MIDI File.  Externally-assigned function pointers are
- * called upon recognizing things in the file.  See midifile(3).
- */
-
-/*****************************************************************************
-* Change Log
-*   Date    | who : Change
-*-----------+-----------------------------------------------------------------
-*  2-Mar-92 | GWL : created changelog; MIDIFILE_ERROR to satisfy compiler
-* 28-Apr-03 | DM  : changed #includes and give return types for portability
-*****************************************************************************/
-
-#include "switches.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "mfmidi.h"
-#include "midifile.h"
-#include "cext.h"
-#include "userio.h"
-#include "string.h"
-
-#define MIDIFILE_ERROR -1
-
-#ifdef PROTOTYPES
-#define NOARGS void
-#else
-#define NOARGS
-#endif
-
-/* public stuff */
-extern int abort_flag;
-
-/* Functions to be called while processing the MIDI file. */
-void (*Mf_starttrack)(NOARGS) = 0;
-void (*Mf_endtrack)(NOARGS) = 0;
-int (*Mf_getc)(NOARGS) = 0;
-void (*Mf_eot)(NOARGS) = 0;
-#ifdef PROTOTYPES
-void (*Mf_error)(char *) = 0;
-void (*Mf_header)(int,int,int) = 0;
-void (*Mf_on)(int,int,int) = 0;
-void (*Mf_off)(int,int,int) = 0;
-void (*Mf_pressure)(int,int,int) = 0;
-void (*Mf_controller)(int,int,int) = 0;
-void (*Mf_pitchbend)(int,int,int) = 0;
-void (*Mf_program)(int,int) = 0;
-void (*Mf_chanpressure)(int,int) = 0;
-void (*Mf_sysex)(int,char*) = 0;
-void (*Mf_arbitrary)(int,char*) = 0;
-void (*Mf_metamisc)(int,int,char*) = 0;
-void (*Mf_seqnum)(int) = 0;
-void (*Mf_smpte)(int,int,int,int,int) = 0;
-void (*Mf_timesig)(int,int,int,int) = 0;
-void (*Mf_tempo)(int) = 0;
-void (*Mf_keysig)(int,int) = 0;
-void (*Mf_sqspecific)(int,char*) = 0;
-void (*Mf_text)(int,int,char*) = 0;
-#else
-void (*Mf_error)() = 0;
-void (*Mf_header)() = 0;
-void (*Mf_on)() = 0;
-void (*Mf_off)() = 0;
-void (*Mf_pressure)() = 0;
-void (*Mf_controller)() = 0;
-void (*Mf_pitchbend)() = 0;
-void (*Mf_program)() = 0;
-void (*Mf_chanpressure)() = 0;
-void (*Mf_sysex)() = 0;
-void (*Mf_arbitrary)() = 0;
-void (*Mf_metamisc)() = 0;
-void (*Mf_seqnum)() = 0;
-void (*Mf_smpte)() = 0;
-void (*Mf_tempo)() = 0;
-void (*Mf_timesig)() = 0;
-void (*Mf_keysig)() = 0;
-void (*Mf_sqspecific)() = 0;
-void (*Mf_text)() = 0;
-#endif
-
-int Mf_nomerge = 0;             /* 1 => continue'ed system exclusives are */
-                                /* not collapsed. */
-long Mf_currtime = 0L;          /* current time in delta-time units */
-int Mf_skipinit = 0;            /* 1 if initial garbage should be skipped */
-
-/* private stuff */
-
-static long Mf_toberead = 0L;
-
-static long readvarinum(NOARGS);
-static long read32bit(NOARGS);
-static int read16bit(NOARGS);
-static void msgenlarge(NOARGS);
-static char *msg(NOARGS);
-static int readheader(NOARGS);
-static void readtrack(NOARGS);
-static void sysex(NOARGS), msginit(NOARGS);
-static int egetc(NOARGS);
-static int msgleng(NOARGS);
-
-#ifdef PROTOTYPES
-static int readmt(char*,int);
-static long to32bit(int,int,int,int);
-static int to16bit(int,int);
-static void mferror(char *);
-static void badbyte(int);
-static void metaevent(int);
-static void msgadd(int);
-static void chanmessage(int,int,int);
-#else
-static long to32bit();
-static int to16bit();
-static void mferror();
-static void badbyte();
-static void metaevent();
-static void msgadd();
-static void chanmessage();
-#endif
-
-static int midifile_error;
-
-void
-midifile()              /* The only non-static function in this file. */
-{
-        int ntrks;
-        midifile_error = 0;
-
-        if ( Mf_getc == 0 ) {
-                mferror("mf.h() called without setting Mf_getc"); 
-                return;
-        }
-        ntrks = readheader();
-        if (midifile_error) return;
-        if ( ntrks <= 0 ) {
-                mferror("No tracks!");
-                /* no need to return since midifile_error is set */
-        }
-        while ( ntrks-- > 0 && !midifile_error && !check_aborted())
-                readtrack();
-        if (check_aborted()) {
-                mferror("Midifile read aborted\n\
-\tthe rest of your file will be ignored.\n");
-            if (abort_flag == BREAK_LEVEL) abort_flag = 0;
-        }
-}
-
-static int
-readmt(s,skip)          /* read through the "MThd" or "MTrk" header string */
-char *s;
-int skip;               /* if 1, we attempt to skip initial garbage. */
-{
-        int nread = 0;
-        char b[4];
-        char buff[32];
-        int c;
-        char *errmsg = "expecting ";
-
-    retry:
-        while ( nread<4 ) {
-                c = (*Mf_getc)();
-                if ( c == EOF ) {
-                        errmsg = "EOF while expecting ";
-                        goto err;
-                }
-                b[nread++] = c;
-        }
-        /* See if we found the 4 characters we're looking for */
-        if ( s[0]==b[0] && s[1]==b[1] && s[2]==b[2] && s[3]==b[3] )
-                return(0);
-        if ( skip ) {
-                /* If we are supposed to skip initial garbage, */
-                /* try again with the next character. */
-                b[0]=b[1];
-                b[1]=b[2];
-                b[2]=b[3];
-                nread = 3;
-                goto retry;
-        }
-    err:
-        (void) strcpy(buff,errmsg);
-        (void) strcat(buff,s);
-        mferror(buff);
-        return(0);
-}
-
-static int
-egetc()                 /* read a single character and abort on EOF */
-{
-        int c = (*Mf_getc)();
-
-        if ( c == EOF ) {
-                mferror("premature EOF");
-                return EOF;
-        }
-        Mf_toberead--;
-        return(c);
-}
-
-static int
-readheader()            /* read a header chunk */
-{
-        int format, ntrks, division;
-
-        if ( readmt("MThd",Mf_skipinit) == EOF )
-                return(0);
-
-        Mf_toberead = read32bit();
-        if (midifile_error) return MIDIFILE_ERROR;
-        format = read16bit();
-        if (midifile_error) return MIDIFILE_ERROR;
-        ntrks = read16bit();
-        if (midifile_error) return MIDIFILE_ERROR;
-        division = read16bit();
-        if (midifile_error) return MIDIFILE_ERROR;
-
-        if ( Mf_header )
-                (*Mf_header)(format,ntrks,division);
-
-        /* flush any extra stuff, in case the length of header is not 6 */
-        while ( Mf_toberead > 0 && !midifile_error)
-                (void) egetc();
-        return(ntrks);
-}
-
-static void
-readtrack()              /* read a track chunk */
-{
-        /* This array is indexed by the high half of a status byte.  It's */
-        /* value is either the number of bytes needed (1 or 2) for a channel */
-        /* message, or 0 (meaning it's not  a channel message). */
-        static int chantype[] = {
-                0, 0, 0, 0, 0, 0, 0, 0,         /* 0x00 through 0x70 */
-                2, 2, 2, 2, 1, 1, 2, 0          /* 0x80 through 0xf0 */
-        };
-        long lookfor, lng;
-        int c, c1, type;
-        int sysexcontinue = 0;  /* 1 if last message was an unfinished sysex */
-        int running = 0;        /* 1 when running status used */
-        int status = 0;         /* (possibly running) status byte */
-        int needed;
-
-        if ( readmt("MTrk",0) == EOF )
-                return;
-
-        Mf_toberead = read32bit();
-
-        if (midifile_error) return;
-
-        Mf_currtime = 0L;
-
-        if ( Mf_starttrack ){
-
-                (*Mf_starttrack)();
-        }
-        while ( Mf_toberead > 0 ) {
-
-                Mf_currtime += readvarinum();   /* delta time */
-                if (midifile_error) return;
-
-                c = egetc(); if (midifile_error) return;
-
-                if ( sysexcontinue && c != 0xf7 ) {
-                        mferror("didn't find expected continuation of a sysex");
-                        return;
-                }
-                if ( (c & 0x80) == 0 ) {         /* running status? */
-                        if ( status == 0 ) {
-                                mferror("unexpected running status");
-                                return;
-                        }
-                        running = 1;
-                }
-                else {
-                        status = c;
-                        running = 0;
-                }
-
-                needed = chantype[ (status>>4) & 0xf ];
-
-                if ( needed ) {         /* ie. is it a channel message? */
-
-                        if ( running )
-                                c1 = c;
-                        else {
-                                c1 = egetc();
-                                if (midifile_error) return;
-                        }
-                        chanmessage( status, c1, (needed>1) ? egetc() : 0 );
-                        if (midifile_error) return;
-                        continue;;
-                }
-
-                switch ( c ) {
-
-                case 0xff:                      /* meta event */
-
-                        type = egetc();
-                        if (midifile_error) return;
-                        /* watch out - Don't combine the next 2 statements */
-                        lng = readvarinum();
-                        if (midifile_error) return;
-                        lookfor = Mf_toberead - lng;
-                        msginit();
-
-                        while ( Mf_toberead > lookfor ) {
-                                char c = egetc();
-                                if (midifile_error) return;
-                                msgadd(c);
-                        }
-                        metaevent(type);
-                        break;
-
-                case 0xf0:              /* start of system exclusive */
-
-                        /* watch out - Don't combine the next 2 statements */
-                        lng = readvarinum();
-                        if (midifile_error) return;
-                        lookfor = Mf_toberead - lng;
-                        msginit();
-                        msgadd(0xf0);
-
-                        while ( Mf_toberead > lookfor ) {
-                                c = egetc();
-                                if (midifile_error) return;
-                                msgadd(c);
-                        }
-                        if ( c==0xf7 || Mf_nomerge==0 )
-                                sysex();
-                        else
-                                sysexcontinue = 1;  /* merge into next msg */
-                        break;
-
-                case 0xf7:      /* sysex continuation or arbitrary stuff */
-
-                        /* watch out - Don't combine the next 2 statements */
-                        lng = readvarinum();
-                        if (midifile_error) return;
-                        lookfor = Mf_toberead - lng;
-
-                        if ( ! sysexcontinue )
-                                msginit();
-
-                        while ( Mf_toberead > lookfor ) {
-                                c = egetc();
-                                if (midifile_error) return;
-                                msgadd(c);
-                        }
-                        if ( ! sysexcontinue ) {
-                                if ( Mf_arbitrary )
-                                        (*Mf_arbitrary)(msgleng(),msg());
-                        }
-                        else if ( c == 0xf7 ) {
-                                sysex();
-                                sysexcontinue = 0;
-                        }
-                        break;
-                default:
-
-                        badbyte(c);
-
-                        break;
-                }
-        }
-        if ( Mf_endtrack )
-                (*Mf_endtrack)();
-        return;
-}
-
-static void
-badbyte(c)
-int c;
-{
-        char buff[32];
-
-        (void) sprintf(buff,"unexpected byte: 0x%02x",c);
-        mferror(buff);
-}
-
-static void
-metaevent(type)
-{
-        int leng = msgleng();
-        char *m = msg();
-
-        switch  ( type ) {
-        case 0x00:
-                if ( Mf_seqnum )
-                        (*Mf_seqnum)(to16bit(m[0],m[1]));
-                break;
-        case 0x01:      /* Text event */
-        case 0x02:      /* Copyright notice */
-        case 0x03:      /* Sequence/Track name */
-        case 0x04:      /* Instrument name */
-        case 0x05:      /* Lyric */
-        case 0x06:      /* Marker */
-        case 0x07:      /* Cue point */
-        case 0x08:
-        case 0x09:
-        case 0x0a:
-        case 0x0b:
-        case 0x0c:
-        case 0x0d:
-        case 0x0e:
-        case 0x0f:
-                /* These are all text events */
-                if ( Mf_text )
-                        (*Mf_text)(type,leng,m);
-                break;
-        case 0x2f:      /* End of Track */
-                if ( Mf_eot )
-                        (*Mf_eot)();
-                break;
-        case 0x51:      /* Set tempo */
-                if ( Mf_tempo )
-                        (*Mf_tempo)(to32bit(0,m[0],m[1],m[2]));
-                break;
-        case 0x54:
-                if ( Mf_smpte )
-                        (*Mf_smpte)(m[0],m[1],m[2],m[3],m[4]);
-                break;
-        case 0x58:
-                if ( Mf_timesig )
-                        (*Mf_timesig)(m[0],m[1],m[2],m[3]);
-                break;
-        case 0x59:
-                if ( Mf_keysig )
-                        (*Mf_keysig)(m[0],m[1]);
-                break;
-        case 0x7f:
-                if ( Mf_sqspecific )
-                        (*Mf_sqspecific)(leng,m);
-                break;
-        default:
-                if ( Mf_metamisc )
-                        (*Mf_metamisc)(type,leng,m);
-        }
-}
-
-static void
-sysex()
-{
-        if ( Mf_sysex )
-                (*Mf_sysex)(msgleng(),msg());
-}
-
-static void
-chanmessage(status,c1,c2)
-int status;
-int c1, c2;
-{
-        int chan = status & 0xf;
-
-        switch ( status & 0xf0 ) {
-        case NOTEOFF:
-                if ( Mf_off )
-                        (*Mf_off)(chan,c1,c2);
-                break;
-        case NOTEON:
-                if ( Mf_on )
-                        (*Mf_on)(chan,c1,c2);
-                break;
-        case PRESSURE:
-                if ( Mf_pressure )
-                        (*Mf_pressure)(chan,c1,c2);
-                break;
-        case CONTROLLER:
-                if ( Mf_controller )
-                        (*Mf_controller)(chan,c1,c2);
-                break;
-        case PITCHBEND:
-                if ( Mf_pitchbend )
-                        (*Mf_pitchbend)(chan,c1,c2);
-                break;
-        case PROGRAM:
-                if ( Mf_program )
-                        (*Mf_program)(chan,c1);
-                break;
-        case CHANPRESSURE:
-                if ( Mf_chanpressure )
-                        (*Mf_chanpressure)(chan,c1);
-                break;
-        }
-}
-
-/* readvarinum - read a varying-length number, and return the */
-/* number of characters it took. */
-
-static long
-readvarinum()
-{
-        long value;
-        int c;
-
-        c = egetc();
-        if (midifile_error) return 0;
-
-        value = (long) c;
-        if ( c & 0x80 ) {
-                value &= 0x7f;
-                do {
-                        c = egetc();
-                        if (midifile_error) return 0;
-                        value = (value << 7) + (c & 0x7f);
-                } while (c & 0x80);
-        }
-        return (value);
-}
-
-static long
-to32bit(c1,c2,c3,c4)
-{
-        long value = 0L;
-
-        value = (c1 & 0xff);
-        value = (value<<8) + (c2 & 0xff);
-        value = (value<<8) + (c3 & 0xff);
-        value = (value<<8) + (c4 & 0xff);
-        return (value);
-}
-
-static int
-to16bit(c1,c2)
-int c1, c2;
-{
-        return ((c1 & 0xff ) << 8) + (c2 & 0xff);
-}
-
-static long
-read32bit()
-{
-        int c1, c2, c3, c4;
-
-        c1 = egetc(); if (midifile_error) return 0;
-        c2 = egetc(); if (midifile_error) return 0;
-        c3 = egetc(); if (midifile_error) return 0;
-        c4 = egetc(); if (midifile_error) return 0;
-        return to32bit(c1,c2,c3,c4);
-}
-
-static int
-read16bit()
-{
-        int c1, c2;
-        c1 = egetc(); if (midifile_error) return 0;
-        c2 = egetc(); if (midifile_error) return 0;
-        return to16bit(c1,c2);
-}
-
-static void
-mferror(s)
-char *s;
-{
-        if ( Mf_error )
-                (*Mf_error)(s);
-        midifile_error = 1;
-}
-
-/* The code below allows collection of a system exclusive message of */
-/* arbitrary length.  The Msgbuff is expanded as necessary.  The only */
-/* visible data/routines are msginit(), msgadd(), msg(), msgleng(). */
-
-#define MSGINCREMENT 128
-static char *Msgbuff = 0;       /* message buffer */
-static int Msgsize = 0;         /* Size of currently allocated Msg */
-static int Msgindex = 0;        /* index of next available location in Msg */
-
-static void
-msginit()
-{
-        Msgindex = 0;
-}
-
-static char *
-msg()
-{
-        return(Msgbuff);
-}
-
-static int
-msgleng()
-{
-        return(Msgindex);
-}
-
-static void
-msgadd(c)
-int c;
-{
-        /* If necessary, allocate larger message buffer. */
-        if ( Msgindex >= Msgsize )
-                msgenlarge();
-        Msgbuff[Msgindex++] = c;
-}
-
-static void
-msgenlarge()
-{
-        char *newmess;
-        char *oldmess = Msgbuff;
-        int oldleng = Msgsize;
-
-        Msgsize += MSGINCREMENT;
-        newmess = MALLOC((sizeof(char)*Msgsize) );
-
-        /* copy old message into larger new one */
-        if ( oldmess != 0 ) {
-                register char *p = newmess;
-                register char *q = oldmess;
-                register char *endq = &oldmess[oldleng];
-
-                for ( ; q!=endq ; p++,q++ )
-                        *p = *q;
-                free(oldmess);
-        }
-        Msgbuff = newmess;
-}
diff --git a/lib-src/libnyquist/cmt/midifile.h b/lib-src/libnyquist/cmt/midifile.h
deleted file mode 100644
index f81f1e1..0000000
--- a/lib-src/libnyquist/cmt/midifile.h
+++ /dev/null
@@ -1,27 +0,0 @@
-extern void midifile();
-extern int (*Mf_getc)();
-extern void (*Mf_header)();
-extern void (*Mf_starttrack)();
-extern void (*Mf_endtrack)();
-extern void (*Mf_on)();
-extern void (*Mf_off)();
-extern void (*Mf_pressure)();
-extern void (*Mf_controller)();
-extern void (*Mf_pitchbend)();
-extern void (*Mf_program)();
-extern void (*Mf_chanpressure)();
-extern void (*Mf_sysex)();
-extern void (*Mf_metamisc)();
-extern void (*Mf_sqspecific)();
-extern void (*Mf_seqnum)();
-extern void (*Mf_text)();
-extern void (*Mf_eot)();
-extern void (*Mf_timesig)();
-extern void (*Mf_smpte)();
-extern void (*Mf_tempo)();
-extern void (*Mf_keysig)();
-extern void (*Mf_arbitrary)();
-extern void (*Mf_error)();
-extern long Mf_currtime;
-extern int Mf_nomerge;
-extern int Mf_skipinit;
diff --git a/lib-src/libnyquist/cmt/midifns.c b/lib-src/libnyquist/cmt/midifns.c
deleted file mode 100644
index 6227090..0000000
--- a/lib-src/libnyquist/cmt/midifns.c
+++ /dev/null
@@ -1,1873 +0,0 @@
-/*****************************************************************************
-*                            midifns.c
-* Copyright 1989 Carnegie Mellon University
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-* 29-Mar-88 | Created from IBM PC version of mpu.c
-*           | Added settime()
-* 02-May-88 | AMIGA  2000 version. portable version.
-* 12-Oct-88 | JCD : Exclusive AMIGA Version.
-* 13-Apr-89 | JCD : New portable version.
-* 19-Apr-89 | JCD : Amiga CAMD Version added.
-*  5-Apr-91 | JDW : Further modification
-* 17-Feb-92 | GWL : incorporate JMN's new mpu.c
-*  8-Jun-92 | JDZ : add support for ITC midi interface
-* 16-Dec-92 | RBD : replace JMN's mpu.c with LMS's mpu.c
-* 11-Mar-94 | PLu : port to  IRIX
-* 25-Apr-97 | RBD : it looks like SGI changed their interface.  I
-*	        |       made it compile again, but MIDI does not work, so
-*	        |       took out calls to actually send/recv MIDI data
-* 28-Apr-03 | DM  : Renamed random -> cmtrand, true->TRUE, false->FALSE
-*           |       Use features rather than system names in #ifdef's
-*****************************************************************************/
-
-#include "switches.h"
-
-#ifdef UNIX
-#include <sys/param.h>
-#ifndef OPEN_MAX
-/* this is here for compiling the UNIX version under AIX. This is a BSDism */
-#define OPEN_MAX 2000
-#endif /* OPEN_MAX */
-#endif /* UNIX */
-
-#ifdef UNIX_MACH
-#include "machmidi.h"
-#endif
-
-
-#ifdef AMIGA
-#ifdef AZTEC
-#include "functions.h"
-#endif /* AZTEC */
-#include "midi/camd.h"
-#include "clib/camd_protos.h"
-/* note: azt_camd_pragmas.h was produced by running MAPFD on the
- * lib/camd_lib.fd file included in the CAMD disk from Commodore.
- * The "CamdClient" calls are manually removed from 
- */
-#ifdef AZTEC
-#include "pragmas/azt_camd_pragmas.h"
-#else /* !AZTEC */
-#include "pragmas/lat_camd_pragmas.h"
-#endif /* AZTEC */
-#include "camdmidi.h"
-#include "ctype.h"
-#endif /* AMIGA */
-
-#ifdef UNIX_IRIX
-/* #define UNIX_IRIX_MIDIFNS -- this would enable actual midi I/O
- * if the actual midi I/O code worked
- */
-/* IRIX changed the MIDI interface,
- * retain this for older systems:
- */
-#ifdef UNIX_IRIX_MIDIFNS
-#include <dmedia/midi.h>
-#endif
-#endif
-
-#include "stdio.h"
-#include "cext.h"
-#include "midicode.h"
-#include "cmdline.h"
-#include "pitch.h"
-#include "midifns.h"
-#include "userio.h"
-#ifdef MACINTOSH_OR_DOS
-#ifndef WINDOWS
-#include "midibuff.h"
-#endif
-#endif
-
-#ifdef UNIX_ITC /* was ITC */
-#include "sys/param.h"
-/* since boolean is defined, block its definition in midistruct.h.
- * CMT defines boolean as ushort, but midistruct.h uses int.  
- * This is not a problem on RS/6000s, but beware!
- */
-/* the following would be included if we had the BSD switch set.  I think
-   we should try to avoid BSDisms; when fixed, the following should be
-   removed
- */
-#define NBBY 8
-#include "sys/select.h" /* defines fd_set */
-#define MIDI_HAS_BOOLEAN
-#include "midistruct.h"
-#include "cmtio.h"
-#endif /* UNIX_ITC */
-
-#ifdef  DOS
-#ifndef WINDOWS
-#include "timer.h"
-#include "mpu.h"
-#endif /* ifndef WINDOWS */
-#endif /* ifdef DOS */
-
-#ifndef BREAKTEST
-#define BREAKTEST
-#endif
-
-#ifdef UNIX
-#ifndef UNIX_IRIX
-#include "sys/time.h"
-#include "sys/timeb.h"
-#include "cmtio.h"
-#else
-#include <sys/types.h>
-#include <sys/time.h>
-#include <errno.h>
-
-#ifdef UNIX_IRIX_MIDIFNS
-#include <midi.h>
-#include <midiio.h>
-#endif /* UNIX_IRIX_MIDIFNS */
-#endif  /* UNIX_IRIX */
-#endif /* UNIX */
-
-
-#ifdef ITC
-static int ignore_realtime = 0;
-#endif /* ITC */
-
-#ifdef MACINTOSH
-
-/* added for ThinkC 7: */
-#include <OSUtils.h>
-
-/* port numbers are in the range 0..MAX_PORTS-1 */
-#define CHANNELS_PER_PORT 16
-#define MAX_PORTS ((MAX_CHANNELS + CHANNELS_PER_PORT - 1) / CHANNELS_PER_PORT)
-
-/* here are some MIDIMGR specific definitions */
-#ifdef MIDIMGR
-#include "MIDI.h"
-#include "midimgr.h"
-
-#define TICKS_TO_MS(t) t
-#define MS_TO_TICKS(t) t
-
-#else
-/* here are some non-MIDIMGR definitions for the Mac */
-/****************************************************************************
-*
-*       DMH: constants from macmidi.c
-*
-****************************************************************************/
-
-/* the modem port, also called port A */
-#define portA 0
-
-/* the printer port, also called port B */
-#define portB 1
-
-/* a tick is 1/60 of a second
- *
- * the following tables and routines are used to convert
- * between ticks and milliseconds
- */
-#define TICKS_TO_MS(t)  (((t) * 50) / 3)
-#define MS_TO_TICKS(t)  (((t) * 3) / 50)
-#endif  /* def MIDIMGR */
-#endif  /* def MACINTOSH */
-
-#ifdef WINDOWS
-#define huge
-#endif
-
-/****************************************************************************
-*
-* exported flags
-*
-****************************************************************************/
-
-boolean miditrace = FALSE;      /* enables printed trace of MIDI output */
-boolean musictrace = FALSE;     /* enables printed trace of commands */
-#ifdef MACINTOSH_OR_DOS
-boolean ctrlFilter = TRUE;    /* suppress continuous controller data */
-boolean exclFilter = TRUE;    /* suppress exclusive messages */
-boolean realFilter = TRUE;    /* suppress realtime messages */
-#endif
-
-/****************************************************************************
-*
-* exported variables
-*
-****************************************************************************/
-
-public int keyloud;    /* set to velocity of last getkey event */
-/* public long error; */
-public short midi_error_flags = 0;
-
-/* The following midifns_syntax lists command line switches and options.
-   Since these are machine dependent, use conditional compilation.
-   Conditional compilation within a string is a bit tricky: you want to
-   write "\" for line continuation within the string, but "\" gets eaten
-   by the macro preprocessor.
-   That's why we define macros like AMIGAINPORT.
-   Regretably it doesn't work for all compilers.
- */
- 
-
-/* Lattice and RT/Unix aren't happy expanding the embedded macros below, so
-   I made a separate declaration of midifns_syntax for Unix
- */
-#ifdef UNIX
-public char *midifns_syntax = "block<s>Turn off midi THRU;\
-    miditrace<s>Trace low-level midi functions;\
-    noalloff<s>Do not send alloff message when done;\
-    trace<s>Trace music operations;\
-    tune<o>Load a tuning file";
-#else
-#ifdef MACINTOSH
-#ifdef MIDIMGR
-public char *midifns_syntax = "miditrace<s>Trace low-level midi functions;\
-    noalloff<s>Do not send alloff message when done;\
-    patch<s>Remember/reuse Midi Mgr patches;\
-    trace<s>Trace music operations;\
-    keep<s>Keep other processes running;\
-    tune<o>Load a tuning file";
-#else /* no MIDIMGR */
-public char *midifns_syntax = "miditrace<s>Trace low-level midi functions;\
-    noalloff<s>Do not send alloff message when done;\
-    patch<s>Remember/reuse Midi Mgr patches;\
-    trace<s>Trace music operations;\
-    tune<o>Load a tuning file";		
-#endif /* MIDIMGR */
-#else 
-#ifdef AMIGA
-public char *midifns_syntax = "block<s>Turn off midi THRU;\
-    inport<o>Inpur port number;\
-    miditrace<s>Trace low-level midi functions;\
-    noalloff<s>Do not send alloff message when done;\
-    outport<o>Output port number;\
-    trace<s>Trace music operations;\
-    tune<o>Load a tuning file";
-#else /* not UNIX or MACINTOSH or MIDIMGR or AMIGA */
-#ifdef DOS
-public char *midifns_syntax = "miditrace<s>Trace low-level midi functions;\
-    noalloff<s>Do not send alloff message when done;\
-    trace<s>Trace music operations;\
-    tune<o>Load a tuning file";
-#endif /* DOS */
-#endif /* AMIGA */
-#endif /* MACINTOSH */
-#endif /* UNIX */
-
-#ifdef MACINTOSH
-boolean do_midi_thru = FALSE; /* exported: copy midi in to midi out */
-#endif
-
-
-/****************************************************************************
-*
-* local module variables
-*
-****************************************************************************/
-
-private int initialized = FALSE;   /* set by musicinit, cleared by musicterm */
-private boolean tune_flag = FALSE; /* set by musicinit, never cleared */
-#ifdef DOS
-private boolean metroflag = FALSE; /* flag to turn on metronome */
-#endif
-private int user_scale = FALSE;    /* TRUE if user-defined scale */
-private int bend[MAX_CHANNELS];    /* current pitch bend on channel */
-short cur_midi_prgm[MAX_CHANNELS];
-private pitch_table pit_tab[128];  /* scale definition */
-
-#ifdef DOS
-private ulong timeoffset = 0;
-public boolean exclerr = FALSE;
-public byte xcodemask; /* mask (00 or FF) */
-public byte xcode; /* mfr code */
-#endif
-
-#ifdef MACINTOSH_OR_DOS
-boolean sysex_pending = FALSE;
-#endif
-
-#ifdef AMIGA
-
-#define CONTCONT ((CMF_Ctrl & ~CMF_CtrlSwitch) | CMF_PitchBend | \
-        CMF_ChanPress)
-#endif  /* def AMIGA */
-
-#ifdef UNIX
-private ulong timeoffset = 0;
-#endif
-
-#ifdef UNIX_IRIX_MIDIFNS
-static MIport *miport;
-static int ignore_realtime = 0;
-
-private byte *sysex_p;
-private int sysex_n;
-#endif 
-
-#ifdef ITC
-mi_id midiconn;
-#endif
-
-#ifdef MACINTOSH
-private ulong ticksAtStart = 0L;
-    /* clock ticks at time of last musicinit or timereset
-     * ASSUME: tick clock never wraps.  this is a good assumption, since
-     * the tick clock is set to zero when the power is turned on and the
-     * tick counter is 32 bits.  the Macintosh would need to be on for
-     * 828.5 days for the tick counter to wrap around! */
-
-#endif  /* def MACINTOSH */
-
-/****************************************************************************
-*
-* functions declared in this module
-*
-****************************************************************************/
-
-private void fixup();
-private void midi_init();
-extern boolean check_ascii(); /*userio.c*/
-private void musicterm();
-
-
-/****************************************************************************
-*                alloff
-* Inputs:
-*    none
-* Effect: 
-*    Sends MIDI all notes off command on every channel.
-****************************************************************************/
-
-#define ALL_NOTES_OFF 0x7B /*DMH: from macmidi.c*/
-
-void alloff()
-{
-    int c;
-
-    if (!initialized) fixup();
-    if (musictrace)
-    gprintf(TRANS,"alloff()\n");
-    for (c = 1; c <= MAX_CHANNELS; c++) {
-    midi_write(3, MIDI_PORT(c), (byte) (0xb0 | MIDI_CHANNEL(c)), ALL_NOTES_OFF, 0);
-    }
-}
-
-
-
-/***************************************************************
-*                           eventwait
-*
-* Input : wakeup time, -1 means forever
-* Output : none
-* Return: none
-* Effect: waits until ascii or midi input or timeout
-***************************************************************/
-
-#ifdef UNIX_ITC
-void eventwait(timeout)
-  long timeout;
-{
-    struct timeval unix_timeout;
-    struct timeval *waitspec = NULL;
-    fd_set readfds;
-
-    FD_ZERO(&readfds);
-    FD_SET(MI_CONNECTION(midiconn), &readfds);
-    FD_SET(fileno(stdin), &readfds);
-    if (timeout >= 0) {
-    timeout -= gettime();   /* convert to millisecond delay */
-    unix_timeout.tv_sec = timeout / 1000;
-    /* remainder become microsecs: */
-    unix_timeout.tv_usec = (timeout - (unix_timeout.tv_sec * 1000)) * 1000;
-    waitspec = &unix_timeout;
-    }
-    select(NOFILE+1, &readfds, 0, 0, waitspec);
-    return;
-}
-#else /* !UNIX_ITC */
-#ifdef UNIX
-/* see machmidi.c for UNIX_MACH implementation */
-#ifndef UNIX_MACH
-#ifdef UNIX_IRIX_MIDIFNS
-void eventwait(timeout)
-  long timeout;
-{
-    struct timeval unix_timeout;
-    struct timeval *waitspec = NULL;
-    fd_set readfds;
-
-    FD_ZERO(&readfds);
-    FD_SET(mdGetFd(miport), &readfds);
-    FD_SET(fileno(stdin), &readfds);
-    if (timeout >= 0) {
-      
-        timeout -= gettime();   /* convert to millisecond delay */
-        unix_timeout.tv_sec = timeout / 1000;
-        /* remainder become microsecs: */
-        unix_timeout.tv_usec = (timeout - (unix_timeout.tv_sec * 1000)) * 1000;
-        waitspec = &unix_timeout;
-    }
-     select(FD_SETSIZE, &readfds, 0, 0, waitspec);
-
-    return;
-}
-#else
-#ifdef BUFFERED_SYNCHRONOUS_INPUT
-void eventwait(timeout)
-  long timeout;
-{
-    struct timeval unix_timeout;
-    struct timeval *waitspec = NULL;
-
-    if (timeout >= 0) {
-    timeout -= gettime();   /* convert to millisecond delay */
-    unix_timeout.tv_sec = timeout / 1000;
-    /* remainder become microsecs: */
-    unix_timeout.tv_usec = (timeout - (unix_timeout.tv_sec * 1000)) * 1000;
-    waitspec = &unix_timeout;
-    select(NOFILE+1, 0, 0, 0, waitspec);
-    } else {
-    int c = getc(stdin);
-    ungetc(c, stdin);
-    }
-    return;
-}
-#else
-void eventwait(timeout)
-  long timeout;
-{
-    struct timeval unix_timeout;
-    struct timeval *waitspec = NULL;
-    int readfds = 1 << IOinputfd;
-
-    if (timeout >= 0) {
-    timeout -= gettime();   /* convert to millisecond delay */
-    unix_timeout.tv_sec = timeout / 1000;
-    /* remainder become microsecs: */
-    unix_timeout.tv_usec = (timeout - (unix_timeout.tv_sec * 1000)) * 1000;
-    waitspec = &unix_timeout;
-    }
-    select(NOFILE+1, &readfds, 0, 0, waitspec);
-    return;
-}
-#endif /* BUFFERED_SYNCHRONOUS_INPUT */
-#endif /* UNIX_IRIX */
-#endif /* UNIX_MACH */
-#endif /* UNIX */ /* I wanted to put an else here, but this confused a Unix C compiler */
-#endif /* UNIX_ITC */
-#ifdef AMIGA
-/* see camdmidi.c for Amiga implementation */
-#else
-#ifndef UNIX /* since I couldn't use an else above, have to check UNIX here */
-#ifdef WINDOWS
-void eventwait(timeout)
-  long timeout;
-{
-    if (timeout >= 0) {
-    gprintf(TRANS, "eventwait: not implemented\n");
-    return;
-    } else {
-    int c = getc(stdin);
-    ungetc(c, stdin);
-    }
-    return;
-}
-#else
-void eventwait(timeout)
-  long timeout;
-{
-    while (timeout > gettime() || timeout == -1) {
-        if (check_ascii() || check_midi()) return;
-    }
-}
-#endif /* WINDOWS */
-#endif /* UNIX */
-#endif /* AMIGA */
-
-
-/****************************************************************************
-*                exclusive
-* Inputs:
-*    boolean onflag -- set to TRUE to receive midi exclusive data
-* Effect: 
-*    Tells module to read exclusive messages into buffer
-****************************************************************************/
-
-void exclusive(boolean onflag)
-{
-    if  (!initialized) fixup();
-    if (musictrace) gprintf(TRANS, "exclusive: %d\n", onflag);
-#ifdef AMIGA
-    if (onflag) SetMidiFilters(cmt_mi, 
-    cmt_mi->PortFilter, cmt_mi->TypeFilter | CMF_SysEx, cmt_mi->ChanFilter);
-    else SetMidiFilters(cmt_mi, 
-    cmt_mi->PortFilter, cmt_mi->TypeFilter & ~CMF_SysEx, cmt_mi->ChanFilter);
-#endif
-#ifdef  MACINTOSH_OR_DOS
-    exclFilter = !onflag;
-#endif
-}
-
-
-/****************************************************************************
-*                    fixup
-* Effect: 
-*    Print error message and call musicinit
-****************************************************************************/
-
-private void fixup()
-{
-    gprintf(ERROR, "You forgot to call musicinit.  I'll do it for you.\n");
-    musicinit();
-}
-
-#ifdef UNIX_IRIX_MIDIFNS
-private void flush_sysex(void);
-#endif
-
-long get_excl(byte *buffer, long len)
-{
-    long ret = 0;
-#ifdef UNIX_IRIX_MIDIFNS
-    byte *sxp = sysex_p;
-    long l = len;
-#endif
-#ifdef UNIX_ITC  /* was ITC */
-    ret = mi_getx(midiconn, FALSE, len, (char *) buffer);
-#endif
-#ifdef UNIX_MACH
-    ret = mi_getx(midiconn, FALSE, len, (unsigned char *)buffer);
-#endif
-#ifdef UNIX_IRIX_MIDIFNS
-    if (!sysex_p) return 0;
-    if (len > sysex_n) len = sysex_n;
-    while (l--)
-      {
-        *buffer = *(sxp++);
-        if (*(buffer++) == CMT_MIDI_EOX)
-          {
-        flush_sysex();
-        break;
-          }
-      }
-    ret = len - l - 1;
-#endif
-#ifdef AMIGA
-    ret = GetSysEx(cmt_mi, (UBYTE *) buffer, len);
-    AMIGA_ERROR_CHECK;
-#endif
-#ifdef MACINTOSH_OR_DOS
-#ifndef WINDOWS
-    /* I'm not sure the following line is a good thing: it forces the
-     * caller to wait until a full sysex message is received and the
-     * 1st 4 bytes are fetched via getbuf() before a sysex message can
-     * be read via get_excl().  Without this, both mm.c and exget.c
-     * were fetching ahead and getting out of sync with getbuf().  I
-     * fixed mm.c and exget.c to work (by checking for EOX), but I added
-     * this line (which should never have any effect) just to make the
-     * DOS interface behave more like the Amiga and Mac interfaces.  The
-     * drawback is that you can't fetch bytes until the EOX is seen,
-     * because nothing goes into the getbuf() buffer until then.
-     */
-    if (!sysex_pending) return 0;
-    while (len-- && (xbufhead != xbuftail)) {
-    *buffer = xbuff[xbufhead++];
-    ret++;
-    if (*buffer == MIDI_EOX) {
-        sysex_pending = FALSE;
-        break;
-    }
-    buffer++;
-    xbufhead &= xbufmask;
-    }
-#endif
-#endif
-    return ret;
-}
-
-/****************************************************************************
-*                   getbuf
-* Inputs:
-*    boolean waitflag: TRUE if routine should wait for data
-*    byte * p: Pointer to data destination
-* Result: boolean
-*    TRUE if data was written to *p
-*    FALSE if data not written to *p
-* Effect: 
-*    copies data from buffer to *p
-*    will wait for buffer to become nonempty if waitflag is TRUE
-*
-* Modified 24 May 1988 for AMIGA (JCD)
-****************************************************************************/
-
-#ifdef UNIX_IRIX_MIDIFNS
-    private void setup_sysex(MDevent *event, u_char *buffer);
-#endif /* UNIX_IRIX */
-boolean getbuf(boolean waitflag, unsigned char * p)
-{
-#ifdef UNIX_IRIX_MIDIFNS
-    MDevent event;
-    int ret;
-#endif /* UNIX_IRIX */
-
-    if (!initialized) fixup();
-#ifdef UNIX
-#ifdef UNIX_IRIX_MIDIFNS
-/* current IRIX version ignores the waitflag (it never waits) */
-
-  if (sysex_p) flush_sysex();
-  if (ignore_realtime == 0) {
-      ret = mdReceive(miport, &event, 1);
-      if (ret) {
-      if (event.msg[0] != 0xF0) {
-          *((u_long*) p) = *((u_long*) event.msg);
-      } else {
-          setup_sysex(&event, p);
-      }
-      }
-      return ret;
-  } else {
-      do /* skip realtime messages */
-    {
-       ret = mdReceive(miport, &event, 1);
-       if (ret == -1) return ret;
-     } while (event.msg[0] == 0xf8);
-      if (event.msg[0] != 0xF0) {
-      *((u_long*) p) = *((u_long*) event.msg);
-      } else {
-      setup_sysex(&event, p);
-      }
-      return ret;
-  }
-#endif /* UNIX_IRIX */
-#ifdef UNIX_ITC
-    if (ignore_realtime == 0) {
-        return(mi_get(midiconn, waitflag, (char *) p));
-    }
-    else {
-        boolean ret=false;
-        /* filter out realtime msgs */
-        do {
-            ret = mi_get(midiconn, waitflag, (char *) p);
-            if (ret == FALSE)
-                return(ret);
-        } while(p[0] == 0xf8);
-        return(ret);
-    }
-#else /* UNIX_ITC */
-#ifndef UNIX_IRIX
-    if (waitflag) {
-    gprintf(ERROR, "getbuf called with waitflag!");
-    EXIT(1);
-    }
-    return FALSE;
-#endif /* UNIX_IRIX */
-#endif /* UNIX_ITC */
-#endif /* UNIX */
-
-#ifdef MACINTOSH_OR_DOS
-#ifndef WINDOWS
-    if (sysex_pending) { /* flush sysex to keep buffers in sync */
-        while (xbuff[xbufhead++] != MIDI_EOX) {
-        xbufhead &= xbufmask;
-        if (xbufhead == xbuftail) break;
-        }
-        sysex_pending = FALSE;
-    }
-    if (waitflag) while (buffhead == bufftail) /* wait */ ;
-    else if (buffhead == bufftail) return(false);
-    *(long *)p = *(long *)(((char *)buff)+buffhead);
-    buffhead = (buffhead + 4) & BUFF_MASK;
-    if (*p == MIDI_SYSEX) { /* if sys-ex, remember to fetch from xbuff */
-        sysex_pending = TRUE;
-    }
-    return(true);
-#else
-    return FALSE;
-#endif /* WINDOWS */
-#endif /* MACINTOSH_OR_DOS */
-
-#ifdef AMIGA
-    if (waitflag) {
-        do {
-        WaitMidi(cmt_mi, &cmt_msg);
-        AMIGA_ERROR_CHECK;
-        } while (amigaerrflags);
-    } else {
-        AMIGA_ERROR_CHECK;
-        if (!GetMidi(cmt_mi, &cmt_msg)) return(false);
-    }    
-    *(long *)p = *(long *)&cmt_msg;
-    clearmsg(cmt_msg);
-    return(true);
-#endif /* AMIGA */
-}
-
-#ifdef UNIX_IRIX_MIDIFNS
-
-private void setup_sysex(MDevent *event, u_char *buffer)
-/* N.B. do not leak memory remember to call free(sysex_p) */
-{
-   u_char *sxp = (u_char *) event->sysexmsg;
-   int i;
-
-   for (i=0;i<4;i++)
-     *(buffer++) = *(sxp++);
-   sysex_p = event->sysexmsg;
-   sysex_n = event->msglen;
-}
-
-private void flush_sysex()
-{
-  mdFree(sysex_p);
-  sysex_p = 0;
-  sysex_n = 0;
-}
-#endif
-
-#ifdef MACINTOSH_OR_DOS
-#ifndef WINDOWS
-public boolean check_midi()
-{
-    if (buffhead == bufftail) return FALSE;
-    else return TRUE;
-}
-#endif
-#endif
-
-
-/****************************************************************************
-*                   getkey
-* Inputs:
-*    boolean waitflag: TRUE if wait until key depression, FALSE if
-*             return immediately
-* Result: int
-*    key number of key which has been depressed
-*    It returns -1 if waitflag is FALSE and no key has been pressed
-*    If waitflag is TRUE this routine will block until a key is pressed
-* Effect: 
-*    reads a key
-****************************************************************************/
-
-/*DMH: in previous version, macmidi.c subtracted 12 from msg to get key at each occurence...*/
-
-short getkey(boolean waitflag)
-{
-    byte msg[4];
-    short k;
-
-    if (!initialized) fixup();
-
-    while (TRUE) {    /* process data until you find a note */
-    /* look for data and exit if none found */
-    /* NOTE: waitflag will force waiting until data arrives */
-    if (!getbuf(waitflag, msg)) { /* nothing there */
-        k = -1;
-        break;
-    } else if ((msg[0] & MIDI_CODE_MASK) == MIDI_ON_NOTE) {
-        if (msg[2] == 0) { /* velocity 0 -> note off */
-        keyloud = 0;
-        k = msg[1] + 128;
-        } else {
-        keyloud = msg[2];
-        k = msg[1];
-        }
-        break;
-    } else if ((msg[0] & MIDI_CODE_MASK) == MIDI_OFF_NOTE) {
-        keyloud = 0;
-        k = msg[1] + 128;
-        break;
-    }
-    }
-    if (musictrace) {
-    if (k != -1) gprintf(TRANS,"getkey got %d\n", k);
-    }
-    return k;
-}
-
-
-/****************************************************************************
-*                   gettime
-* Result: ulong
-*    current timestamp since the last call to
-*    musicinit or timereset
-* Effect: 
-*    fakes it
-****************************************************************************/
-
-ulong gettime()         /*DMH: ulong is from mpu->midifns conversion, for Mac*/
-{
-#if HAS_GETTIMEOFDAY
-    struct timeval timeval;
-#endif
-#if HAS_FTIME
-    struct timeb ftime_res;
-#endif
-    register ulong ticks = 0L;
-
-    BREAKTEST    /* abort if user typed Ctrl Break */
-    if (!initialized) fixup();
-
-#ifdef MACINTOSH
-#ifdef MIDIMGR
-    ticks = MIDIGetCurTime(OutputRefNum) - ticksAtStart;
-#else
-    ticks = TickCount() - ticksAtStart;
-#endif
-    if (initialized) abort_check();     /* give user a chance to abort */
-    ticks = TICKS_TO_MS(ticks);
-#endif
-
-#ifdef AMIGA
-    ticks = (*camdtime - timeoffset) << 1;      /* return milliseconds */
-#endif
-
-#ifdef  DOS
-#ifndef WINDOWS       
-    ticks = elapsedtime(timeoffset, readtimer()); /* return milliseconds */
-    /* gprintf(TRANS, "currtime = %ld, timeoffset = %ld\n", currtime, timeoffset); */
-#endif
-#endif  /* ifdef DOS */
-
-#if HAS_GETTIMEOFDAY
-    gettimeofday(&timeval, 0);
-    ticks = timeval.tv_sec * 1000 + timeval.tv_usec / 1000 - timeoffset;
-#endif
-#if HAS_FTIME
-    ftime(&ftime_res);
-    ticks = ((ftime_res.time - timeoffset) * 1000) + ftime_res.millitm;
-#endif
-
-    /* if (miditrace) gprintf(TRANS, "."); */
-    return(ticks);
-}
-
-
-/****************************************************************************
-*                   l_rest
-* Inputs:
-*    long time: Amount of time to rest
-* Effect: 
-*    Waits until the amount of time specified has lapsed
-****************************************************************************/
-
-void l_rest(time)
-long time;
-{
-    if (!initialized) fixup();
-    l_restuntil(time + gettime());    
-}
-
-/****************************************************************************
-*                 l_restuntil
-* Inputs:
-*    long time: Event time to rest until
-* Effect: 
-*    Waits until the specified time has been reached (absolute time)
-****************************************************************************/
-
-void l_restuntil(time)
-long time;
-{
-#ifdef MACINTOSH
-    ulong now = gettime();  
-    ulong junk; /* changed from ulong for ThinkC 7, back to ulong for CW5 */
-#endif
-
-#ifdef AMIGA
-    while (time > gettime()) eventwait(time);
-#else  
-    for(; (time_type) time > gettime(););
-#endif
-
-#ifdef MACINTOSH
-    now = gettime();        
-
-    if (time > now)  Delay(MS_TO_TICKS(time - now), &junk);
-    /* else time <= now, so return immediately */
-#endif
-
-}
-
-/****************************************************************************
-*               metronome
-* Inputs:
-*    boolean onflag: TRUE or FALSE
-* Effect:
-*    enables (true) or disables (false) MPU-401 metronome function.
-*    must be called before musicinit
-****************************************************************************/
-
-void metronome(boolean onflag)
-{
-#ifdef DOS
-metroflag = onflag;
-#endif
-}
-
-
-/****************************************************************************
-*                  midi_bend
-* Inputs:
-*    int channel: midi channel on which to send data
-*    int value: pitch bend value
-* Effect: 
-*    Sends a midi pitch bend message
-****************************************************************************/
-
-void midi_bend(int channel, int value)
-{
-    if (!initialized) fixup();
-    if (musictrace)
-    gprintf(TRANS,"midi_bend: ch %d, val %d\n", channel, value - (1 << 13));
-        bend[MIDI_CHANNEL(channel)] = value;
-    
-    midi_write(3, MIDI_PORT(channel), (byte) (MIDI_BEND | MIDI_CHANNEL(channel)),
-        (byte) MIDI_DATA(value), (byte) MIDI_DATA(value >> 7));
-}
-
-
-/****************************************************************************
-*               midi_buffer
-* Inputs:
-*    byte * buffer: the buffer address
-*    int size: number of bytes in buffer
-* Returns:
-*    FALSE if size is less than 16 or buffer is NULL, otherwise TRUE
-* Effect: DOS, MAC:
-*    tells interrupt routine to store system exclusive messages in
-*    buffer.     The largest power of 2 bytes less than size will be
-*    used.  xbufhead and xbuftail will be initialized to zero,
-*    and xbuftail will be one greater than the index of the last
-*    system exclusive byte read.  Since there may already be a buffer
-*    and therefore the normal midi message buffer may have the first
-*    4 bytes of some sysex messages, clear the normal midi buffer too.
-* AMIGA:
-*    adds buffer to midi interface
-*
-****************************************************************************/
-
-boolean midi_buffer(byte huge *buffer, ulong size)
-{
-    if (!buffer) return FALSE;
-#ifdef AMIGA
-    if (!SetSysExQueue(cmt_mi, (UBYTE *) buffer, (ULONG) size)) return(false);
-    cu_register(remove_sysex_buffer, buffer);
-#endif
-
-#ifdef MACINTOSH_OR_DOS
-#ifndef WINDOWS
-    {
-    int mask = 0x000F;
-
-    if (size < 16) return(false);
-    while (mask < size && mask > 0) mask = ((mask << 1) | 1);
-    midi_flush();
-    xbuff = NULL;    /* turn off buffering */
-    xbufmask = mask >> 1;
-    xbufhead = xbuftail = 0;
-    xbuff = buffer;    /* set buffer, turn on buffering */
-    }
-#endif
-#endif
-#ifdef UNIX
-    return FALSE;
-#else
-    exclusive(TRUE);
-    return TRUE;
-#endif
-}
-
-
-/* midi_clock -- send a midi time clock message */
-/**/
-void midi_clock()
-{
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS, "+");
-    midi_write(1, 0, MIDI_TIME_CLOCK, 0, 0);
-}
-
-
-/****************************************************************************
-*               midi_cont
-* Inputs:
-*    boolean onflag: TRUE or FALSE
-* Effect:
-*    enables (true) or disables (false) continuous control
-****************************************************************************/
-
-void midi_cont(boolean onflag)
-{
-    if (!initialized) fixup();
-    if (onflag) {
-#ifdef AMIGA
-    SetMidiFilters(cmt_mi, cmt_mi->PortFilter, 
-        cmt_mi->TypeFilter | CONTCONT, cmt_mi->ChanFilter);
-#endif
-#ifdef  DOS
-#ifndef WINDOWS
-    mPutCmd(BENDERON);
-#endif
-#endif
-    } else {
-#ifdef AMIGA
-    SetMidiFilters(cmt_mi, cmt_mi->PortFilter,
-        cmt_mi->TypeFilter & ~CONTCONT, cmt_mi->ChanFilter);
-#endif
-    }
-#ifdef MACINTOSH_OR_DOS
-    ctrlFilter = !onflag;
-#endif
-    if (musictrace) gprintf(TRANS,"midi_cont: %d\n", onflag);
-}
-
-
-/****************************************************************************
-*                  midi_ctrl
-* Inputs:
-*    int channel: midi channel on which to send data
-*    int control: control number
-*    int value: control value
-* Effect: 
-*    Sends a midi control change message
-****************************************************************************/
-
-void midi_ctrl(int channel, int control, int value)
-{
-    if (!initialized) fixup();
-    if (musictrace)
-    gprintf(TRANS,"midi_ctrl: ch %d, ctrl %d, val %d\n",
-        channel, control, value);
-
-    midi_write(3, MIDI_PORT(channel), (byte) (MIDI_CTRL | MIDI_CHANNEL(channel)), 
-          (byte) MIDI_DATA(control), (byte) MIDI_DATA(value));
-}
-
-
-/****************************************************************************
-*                midi_exclusive
-* Inputs:
-*    byte *msg: pointer to a midi exclusive message, terminated by 0xF7
-* Effect: 
-*    Sends a midi exclusive message
-* Bugs:
-*   18-mar-94 PLu : This function does not know which port to send to in
-*                    case of multiple midi-ports (MAC, IRIX)
-****************************************************************************/
-
-#ifdef MACINTOSH
-#define INTERBYTE_DELAY 10
-#endif
-
-void midi_exclusive(msg)
-unsigned char *msg; /* the data to be sent */
-{
-#ifdef ITC
-    int count, done, tosend, willsend;
-    unsigned char *m;
-    mi_status ret;
-#endif
-#ifdef UNIX_IRIX_MIDIFNS
-    unsigned char *m;
-    MDevent mdevent;
-#endif
-
-#ifdef MACINTOSH
-#ifndef NYQUIST
-    int i;                      /* for DX7 delay loop */
-    int count = 0;      /* counter for formatting midi byte trace */
-    MIDIPacket TheMIDIPacket;
-    unsigned char prev = 0;
-    boolean first_packet = TRUE;
-#endif
-#endif
-
-    /*
-     *  if user mistakenly called midi_exclusive instead of exclusive,
-     *  the argument will be TRUE or FALSE, both of which are highly    
-     *  unlikely valid arguments for midi_exclusive:
-     */
-
-    if (msg == (byte *) FALSE || msg == (byte *) TRUE) {
-    gprintf(ERROR,"midi_exclusive: invalid argument %u.\n", msg);
-    EXIT(1);
-    }
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS,"midi_exclusive\n");
-
-#ifdef AMIGA
-    PutSysEx(cmt_mi, msg);
-#endif
-#ifdef MACINTOSH
-#ifndef NYQUIST /* if NYQUIST, do nothing */
-#ifdef MIDIMGR
-    while (prev != MIDI_EOX) {
-    int len = 0;
-    while (prev != MIDI_EOX && len < 249) {
-        TheMIDIPacket.data[len++] = prev = *msg++;
-    }
-    TheMIDIPacket.len = 6 + len;
-    TheMIDIPacket.tStamp = 0;
-    if (first_packet && (prev != MIDI_EOX)) {
-        TheMIDIPacket.flags = midiTimeStampCurrent + midiStartCont;
-        first_packet = FALSE;
-    } else if (first_packet) {
-        TheMIDIPacket.flags = midiTimeStampCurrent + midiNoCont;
-    } else if (prev == MIDI_EOX) {
-        TheMIDIPacket.flags = midiTimeStampCurrent + midiEndCont;
-    } else {
-        TheMIDIPacket.flags = midiTimeStampCurrent + midiMidCont;
-    }               
-    MIDIWritePacket(OutputRefNum, &TheMIDIPacket);
-    }
-#else
-    while (*msg != MIDI_EOX) {
-    Xmit(0, *msg);
-    msg++;
-    count++;
-    /* this is a delay loop, without which your DX7 will crash */
-    for (i = INTERBYTE_DELAY; i > 0; i--)
-        abort_check();
-    }
-    Xmit(0, MIDI_EOX);
-#endif /* MIDIMGR */
-#endif /* NYQUIST */
-#endif /* MACINTOSH */
-
-#ifdef DOS
-#ifndef WINDOWS
-    do {
-    mPutData(*msg);
-    } while (*msg++ != MIDI_EOX);
-#endif
-#endif
-#ifdef ITC
-    for (m = msg, tosend = 1; (*m) != MIDI_EOX; m++, tosend++);
-    for (count = 0; count < tosend; count += done) {
-    willsend = min(16384, tosend);
-    ret = mi_exclusive(midiconn, 1, msg, (short) willsend);
-    if (ret != MI_SUCCESS) {
-        gprintf(GWARN, "Got %d from mi_exclusive\n", ret);
-    }
-    done = willsend;
-    }
-#endif
-#ifdef UNIX_IRIX_MIDIFNS
-/* we don't know which device to sent SYSEX messages to so port zero is
-   assumed. */
-    for (m = msg, mdevent.msglen = 1; (*m) != CMT_MIDI_EOX; m++, mdevent.msglen++);
-    mdevent.sysexmsg = msg;
-    if (mdSend(miport, &mdevent, 1) == -1) {
-      gprintf(GWARN, "could not send SYSEX message\n");
-    }
-#endif
-
-    if (miditrace) {
-    do { gprintf(TRANS, "~%2x", *msg);
-#ifdef UNIX_IRIX_MIDIFNS
-        } while (*msg++ != CMT_MIDI_EOX);
-#else
-        } while (*msg++ != MIDI_EOX);
-#endif
-    }
-}
-
-
-/****************************************************************************
-*                  midi_note
-* Inputs:
-*    int channel: midi channel on which to send data
-*    int pitch: midi pitch code
-*    int velocity: velocity with which to sound it (0=> release)
-* Effect: 
-*    Sends a midi note-play request out
-****************************************************************************/
-
-void midi_note(int channel, int pitch, int velocity)
-{
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS,"midi_note: ch %d, key %d, vel %d\n",
-    channel, pitch, velocity);
-    if (user_scale) {
-    /* check for correct pitch bend */
-    if ((pit_tab[pitch].pbend != bend[MIDI_CHANNEL(channel)]) 
-        && (velocity != 0)) {
-        midi_bend(channel, pit_tab[pitch].pbend);
-        bend[channel] = pit_tab[pitch].pbend;
-    }
-    pitch = pit_tab[pitch].ppitch;  
-    }
-    midi_write(3, MIDI_PORT(channel), (byte) (MIDI_ON_NOTE | MIDI_CHANNEL(channel)),
-          (byte) MIDI_DATA(pitch), (byte) MIDI_DATA(velocity));
-}
-
-
-/****************************************************************************
-*                midi_program
-* Inputs:
-*    int channel: Channel on which to send midi program change request
-*    int program: Program number to send (decremented by 1 before
-*           being sent as midi data)
-* Effect: 
-*    Sends a program change request out the channel
-****************************************************************************/
-
-void midi_program(int channel, int program)
-{
-#ifdef MACINTOSH
-    int port, midi_chan;
-#endif
-
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS,"midi_program: ch %d, prog %d\n",
-                channel, program);
-    channel = MIDI_CHANNEL(channel);    
-    if (cur_midi_prgm[channel] != program) {  
-    midi_write(2, MIDI_PORT(channel), (byte) (MIDI_CH_PROGRAM | channel),
-            (byte) (MIDI_PROGRAM(program)), 0);
-    cur_midi_prgm[channel] = program;
-    }
-}
-
-
-/****************************************************************************
-*               midi_real
-* Inputs:
-*    boolean onflag: TRUE or FALSE
-* Effect:
-*    enables (true) or disables (false) midi realtime messages F8-FF
-****************************************************************************/
-
-void midi_real(boolean onflag)  
-{
-    if (!initialized) fixup();
-#ifdef UNIX_ITC
-    {
-        mi_status ret;
-
-        ret = mi_realtime(midiconn, onflag);
-        if (ret != MI_SUCCESS) {
-            gprintf(ERROR, "Warning: bad ret = %d in midi_real\n", ret);
-        }
-    }
-#endif /* UNIX_ITC */
-#ifdef ITC
-    ignore_realtime = !onflag;
-#endif /* ITC */
-#ifdef AMIGA
-    if (onflag) {
-        SetMidiFilters(cmt_mi, cmt_mi->PortFilter,
-        cmt_mi->TypeFilter | CMF_RealTime, cmt_mi->ChanFilter);
-    } else {
-        SetMidiFilters(cmt_mi, cmt_mi->PortFilter,
-        cmt_mi->TypeFilter & ~CMF_RealTime, cmt_mi->ChanFilter);
-    }
-#endif
-#ifdef MACINTOSH_OR_DOS
-    realFilter = !onflag;
-#endif
-
-    if (musictrace) gprintf(TRANS,"midi_real: %d\n", onflag);
-}
-
-
-/* midi_start -- send a midi start message */
-/**/
-void midi_start()
-{
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS, "`");
-    midi_write(1, 0, MIDI_START, 0, 0);
-}
-
-
-/* midi_stop -- send a midi stop message */
-/**/
-void midi_stop()
-{
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS, "'");
-    midi_write(1, 0 /* ignored */, MIDI_STOP, 0, 0);
-}
-
-
-/****************************************************************************
-*               midi_thru
-* Inputs:
-*    boolean onflag: TRUE or FALSE
-* Effect:
-* DOS:      enables (true) or disables (false) midi thru info from
-*      MPU-401 to host.  (Default is set; reset with cmdline -block.)
-* AMIGA:  enables (true) or disables (false) midi route from AMIGA
-*        midi input to AMIGA midi output.
-****************************************************************************/
-
-void midi_thru(boolean onflag)  /* DMH: midi thru is not supported on the MAC or DOS */
-{
-    if (!initialized) fixup();
-#ifndef MIDI_THRU
-    gprintf(ERROR, "midi_thru called but not implemented\n");
-#else
-#ifdef AMIGA
-    MidiThru(0L, (long) onflag);
-#endif
-#ifdef MACINTOSH
-    /* this currently does not do anything - Mac driver doesn't
-     * support THRU
-     */
-    do_midi_thru = onflag;
-#endif
-#endif
-
-    if (musictrace) gprintf(TRANS,"midi_thru: %d\n", onflag);
-}
-
-
-/****************************************************************************
-*                  midi_touch
-* Inputs:
-*    int channel: midi channel on which to send data
-*    int value: control value
-* Effect: 
-*    Sends a midi after touch message
-****************************************************************************/
-
-void midi_touch(int channel, int value)
-{
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS,"midi_touch: ch %d, val %d\n",channel,value);
-    midi_write(2, MIDI_PORT(channel), (byte) (MIDI_TOUCH | MIDI_CHANNEL(channel)),
-        (byte) MIDI_DATA(value), 0);
-}
-
-
-/****************************************************************************
-*                  midi_write
-* Inputs:
-*       UBYTE n: number of characters to send (1, 2 or 3);
-    int port: the port number (usually 0), on MAC, this may be 1
-*    char c1,c2,c3: Character(s) to write to MIDI data port
-* Effect: 
-*    Writes the data to the serial interface designated by port
-****************************************************************************
-* Change log
-*  Date     | Change
-*-----------+----------------------------------------------------------------
-* 15-Mar-94 | PLu : Added IRIX version
-****************************************************************************/
-  
-#ifdef UNIX
-#ifdef UNIX_IRIX_MIDIFNS
-void midi_write(int n, int port, unsigned char c1, unsigned char c2, unsigned char c3)
-{
-  MDevent event;
-  
-  if (port < 0) return;
-
-  * ((u_long *) event.msg) = 0xe0000000 | ((port & 0x1f) << 24) | (c1 << 16) | 
-           (c2 << 8) | c3;
-  if (mdSend(miport, &event, 1) == -1)
-    gprintf(ERROR, "Can not send midi message in midi_write");
-
-  midi_write_trace(n, port, c1, c2, c3);
-}
-#else
-
-#ifdef ITC
-void midi_write(int n, int port,
-        unsigned char c1, unsigned char c2, unsigned char c3)
-{
-    unsigned char outb[3];
-    mi_channel mch;
-    mi_status ret;
-
-    if (port < 0) return;
-    outb[0] = c1;
-    outb[1] = c2;
-    outb[2] = c3;
-    mch = (16*port)+((int)MI_CHANNEL(c1));
-    ret = mi_put(midiconn, mch, outb);
-    if (ret != MI_SUCCESS)
-    gprintf(ERROR, "Warning: bad ret = %d in midi_write\n", (int)ret);
-    midi_write_trace(n, port, c1, c2, c3);
-}
-#else
-void midi_write(int n, int port, 
-        unsigned char c1, unsigned char c2, unsigned char c3)
-{
-    /* no output */
-    midi_write_trace(n, port, c1, c2, c3);
-}
-#endif /* ITC */
-#endif /*  UNIX_IRIX */
-#endif /* UNIX */
-
-#ifdef DOS
-#ifndef WINDOWS
-void midi_write(int n, int port,
-        unsigned char c1, unsigned char c2, unsigned char c3)
-{
-    if (n >= 1) mPutData(c1);
-    if (n >= 2) mPutData(c2);
-    if (n >= 3) mPutData(c3);
-    midi_write_trace(n, port, c1, c2, c3);
-}
-#else
-void midi_write(int n, int port, 
-        unsigned char c1, unsigned char c2, unsigned char c3)
-{
-    midi_write_trace(n, port, c1, c2, c3);
-}
-#endif
-#endif
-
-#ifdef MACINTOSH
-#ifdef MIDIMGR
-void midi_write(int n, int port,
-        unsigned char c1, unsigned char c2, unsigned char c3)
-{
-    MIDIPacket TheMIDIPacket;
-    
-    TheMIDIPacket.flags = midiTimeStampCurrent;
-    TheMIDIPacket.len = 6 + n;
-    TheMIDIPacket.tStamp = 0;
-    TheMIDIPacket.data[0] = c1;
-    TheMIDIPacket.data[1] = c2;
-    TheMIDIPacket.data[2] = c3;
-    MIDIWritePacket(OutputRefNum, &TheMIDIPacket);
-    midi_write_trace(n, port, c1, c2, c3);
-}
-#else
-void midi_write(int n, int port, unsigned char c1, unsigned char c2, unsigned char c3)
-{
-#ifndef NYQUIST
-    Xmit(port, c1);
-    if (n >= 2) Xmit(port, c2);
-    if (n >= 3) Xmit(port, c3);
-#endif
-    midi_write_trace(n, port, c1, c2, c3);
-}
-#endif
-#endif
-
-void midi_write_trace(int n, int port,
-              unsigned char c1, unsigned char c2, unsigned char c3)
-{
-    if (miditrace) {
-    /* to indicate bytes going out on port 1, put message in brackets
-     * with the port number, e.g. [1:~90~3c~64]
-     */
-    if (port > 0) gprintf(TRANS, "[%d:", port);
-    if (n >= 1) gprintf(TRANS, "~%2x", c1);
-    if (n >= 2) gprintf(TRANS, "~%2x", c2);
-    if (n >= 3) gprintf(TRANS, "~%2x", c3);
-    if (port > 0) gprintf(TRANS, "]", port);
-    }
-}
-
-
-
-/*****************************************************************
-*           set_pitch_default
-*****************************************************************/
-
-private void set_pitch_default()
-{
-    int i;
-
-    for (i = 0; i < 128; i++) {
-    pit_tab[i].pbend = 8192;
-    pit_tab[i].ppitch = i;
-    }
-}
-
-/*****************************************************************
-*           read_tuning
-*****************************************************************/
-
-void read_tuning(filename)
-char *filename;
-{
-    int index, pit, lineno = 0;
-    float bend;
-    FILE *fpp;
-
-    user_scale = TRUE;
-    set_pitch_default();
-
-    fpp = fileopen(filename, "tun", "r", "Tuning definition file");
-    while ((fscanf(fpp, "%d %d %f\n", &index, &pit, &bend) > 2) &&
-    (lineno < 128)) {
-    lineno++;
-    if (index >= 0 && index <= 127) {
-        pit_tab[index].pbend = (int)(8192 * bend/100 + 8192);
-        pit_tab[index].ppitch = pit;
-    }
-    }
-}
-
-
-/****************************************************************************
-*                  musicinit
-* Effect: 
-****************************************************************************/
-
-void musicinit()
-{
-    int i;
-    char *filename;
-
-    if (!tune_flag) {    /* do this code only once */
-    miditrace = cl_switch("miditrace");
-    musictrace = cl_switch("trace");
-    }
-    
-    if (!initialized) {
-    cu_register((cu_fn_type) musicterm, NULL);
-    midi_init();
-    }
-    initialized = TRUE;
-    /* this does some random cleanup activity */
-
-#ifndef APPLICATION
-    if (!tune_flag) {    /* do this code only once */
-#ifdef DOS
-#ifndef WINDOWS
-#if 0
-    version = mPutGetCmd(GETMPUVER);
-    revision = mPutGetCmd(GETMPUREV);
-    gprintf(TRANS, "MPU version %d.%d%c\n", version >> 4, version & 0x0f,
-        revision + 'A' - 1);
-#endif
-    mPutCmd(UARTMODE);
-    mPutCmd(NOREALTIME);    /* initially prevent Real Time MIDI info */
-    mPutCmd(EXCLUSIVOFF);   /* initially prevent Sys-Ex data */
-#endif
-#endif
-    tune_flag = TRUE;
-    filename = cl_option("tune");
-    if (filename != NULL) read_tuning(filename);
-    }
-    /* now that flags are set, print the trace message */
-    if (musictrace) gprintf(TRANS, "musicinit()\n");
-
-    if (user_scale) {
-    for (i = 0; i < MAX_CHANNELS; i++) {
-        midi_bend(i, 8192);
-        bend[i] = 8192;
-    }
-    }
-#endif /* ifndef APPLICATION */
-
-    for (i = 0; i < MAX_CHANNELS; i++) {
-    /* initialize to impossible values so that the
-     * next call to midi_bend or midi_program will
-     * not match and therefore send an output:
-     */
-    bend[i] = -1;
-    cur_midi_prgm[i] = -1;
-    }
-#ifdef MIDI_THRU
-    midi_thru(!(cl_switch("block")));    /* set MIDI thru */
-#endif
-    timereset();            /* Reset clock */
-#ifdef AMIGA
-    event_mask |= (1L << ascii_signal()) | (1L << cmt_mi->AlarmSigBit) |
-          (1L << cmt_mi->RecvSigBit);
-#endif
-}
-
-
-/****************************************************************************
-*                  musicterm
-* Effect: 
-*     Miscellaneous cleanup of things done by musicinit.
-****************************************************************************/
-
-private void musicterm()
-{
-    if (musictrace) gprintf(TRANS, "musicterm()\n");
-    initialized = FALSE;
-}
-
-
-/****************************************************************************
-*                   cmtrand
-* Inputs:
-*    int lo: Lower limit of value
-*    int hi: Upper limit of value
-* Result: int
-*    random number (lo <= result <= hi)
-****************************************************************************/
-
-long randseed = 1534781L;
-
-short cmtrand(short lo, short hi)
-{
-    randseed *= 13L;
-    randseed += 1874351L;
-    return((short)(lo + (((hi + 1 - lo) * ((0x00ffff00 & randseed) >> 8)) >> 16)));
-}
-
-
-#ifdef AMIGA
-/* remove_sysex_buffer -- a cleanup procedure for the Amiga */
-/**/
-void remove_sysex_buffer(void *obj)
-{
-    ClearSysExQueue(cmt_mi);
-}
-#endif /* AMIGA */
-
-
-/****************************************************************************
-*                  settime
-* Inputs: new time
-* Effect: 
-*    Sets the current time to the new time.
-*        DMH: for MAC, sets the clock to absTime
-*                 implemented by adjusting ticksATStart
-****************************************************************************/
-
-void settime(newtime)
-  time_type newtime;
-{
-    if (musictrace) gprintf(TRANS, "settime(%lu)\n", newtime);
-#ifdef AMIGA
-    timeoffset = *camdtime - (newtime >> 1);
-#endif
-
-#ifdef MACINTOSH
-#ifdef MIDIMGR
-    ticksAtStart = MIDIGetCurTime(OutputRefNum);
-#else
-    ticksAtStart = TickCount() - MS_TO_TICKS(newtime);
-#endif
-#endif  
-}
-
-/****************************************************************************
-*                  timereset
-* Effect: 
-*    Resets the time.
-*       DMH: for MAC, implemented by setting ticksAtStart to
-*            current value of system tick counter
-*       JMN: for DOS, resets the time on the MPU-401. Ticks is reset to 0
-****************************************************************************/
-
-void timereset()
-{
-#if HAS_GETTIMEOFDAY
-    struct timeval timeval;
-#endif
-#if HAS_FTIME
-    struct timeb ftime_res;
-#endif
-
-    if (!initialized) fixup();
-    if (musictrace) gprintf(TRANS,"timereset()\n");
-
-#ifdef AMIGA
-    timeoffset = *camdtime;
-#endif
-
-#ifdef DOS
-#ifndef WINDOWS
-    timeoffset = (ulong) readtimer();
-#endif
-#endif
-
-#ifdef MACINTOSH
-#ifdef MIDIMGR
-    ticksAtStart = MIDIGetCurTime(OutputRefNum);
-#else
-    ticksAtStart = TickCount();
-#endif
-#endif
-    
-#if HAS_GETTIMEOFDAY
-    gettimeofday(&timeval, 0);
-    timeoffset = timeval.tv_sec * 1000 + timeval.tv_usec / 1000 - timeoffset;
-#endif
-#if HAS_FTIME
-    ftime(&ftime_res);
-    timeoffset = ftime_res.time;
-#endif
-}
-
-
-/****************************************************************************
-*                  trace
-* Inputs:
-*    boolean flag: TRUE for trace on
-* Effect: 
-*    turns tracing on (flag == TRUE) or off (flag == FALSE)
-****************************************************************************/
-
-void trace(boolean flag)
-{
-    musictrace = flag;
-}
-
-/****************************************************************************
-*                  tracemidi
-* Inputs:
-*    boolean flag: TRUE for trace on
-* Effect: 
-*    turns midi tracing on (flag == TRUE) or off (flag == FALSE)
-****************************************************************************/
-
-void tracemidi(boolean flag)
-{
-    miditrace = flag;
-}
-
-
-
-/***********************************************************************
-*
-* midi and timer initialization
-*
-***********************************************************************/
-
-#ifdef  DOS
-
-/* binary value of hex char */
-
-private int xval(int c)
-{
-    int i;
-    static char t[]="0123456789abcdef";
-
-    for (i=0; i<16; i++)
-        if(tolower(c)==t[i]) return(i);
-    return (-1);
-}
-
-/* binary value of hex string */
-
-private int atox(char *t)
-{
-    int             i=0;
-    int             x;
-    while(*t)
-    {
-        if ((x=xval(*t++))<0)return (0);
-        i=(i<<4)+x;
-    }
-    return (i);
-}
-#endif  /* def DOS */
-
-
-private void midi_init()
-{
-#ifdef UNIX_IRIX_MIDIFNS
-#define PBUFLEN 4
-  MIconfig *config;
-  static u_int pbuf[] = { MI_STAMPING, MINOSTAMP, MI_BLOCKING, MINONBLOCKING};
-#endif
-
-#ifdef UNIX_MACH
-    mach_midi_init();
-#else
-#ifdef ITC
-    midiconn = mi_open(NULL);
-    if (midiconn == NULL) {
-    gprintf(FATAL, "could not open a MIDI device\n");
-    EXIT(1);
-    }
-    cu_register((cu_fn_type) mi_close, (void *) midiconn);
-#endif
-#endif
-#ifdef AMIGA
-    amiga_midi_init();
-#endif /* def AMIGA */
-#ifdef DOS
-#ifndef WINDOWS
-    int err;
-    int irq=SEARCHIRQ;
-    int base=MPUBASEADDR;
-    char *t;
-
-    if (t=getenv("MPUIRQ")) {
-    if (musictrace)
-        gprintf(TRANS,"MPUIRQ %s\n",t);
-    irq=atoi(t);
-    }
-    if (t=getenv("MPUBASE")) {
-    if (musictrace)
-        gprintf(TRANS,"MPUBASE %s\n",t);
-    base=atox(t);
-    }
-    if(err = mOpen(base, irq)) {
-    mClose(err);
-    EXIT(1);
-    }
-    cu_register((cu_fn_type) mClose, 0);
-    cu_register((cu_fn_type) mPutCmd, (cu_parm_type) MPURESET);
-    initializetimer();
-    cu_register((cu_fn_type) restoretimer, NULL);
-#endif
-#endif
-
-#ifdef MACINTOSH
-#ifndef NYQUIST /* if NYQUIST, do nothing */
-#ifdef MIDIMGR
-    setup_midimgr(); /* this registers itself for cleanup */
-#else
-    init_abort_handler();
-    cu_register(cleanup_abort_handler, NULL);
-    setupMIDI(portA, 0x80);
-    cu_register(restoreMIDI, (long) portA);
-    /* only initialize portB if necessary */
-    if (MAX_CHANNELS > CHANNELS_PER_PORT) {
-    setupMIDI(portB, 0x80);
-    cu_register(restoreMIDI, (long) portB);
-    }
-#endif
-#endif /* NYQUIST */
-#ifdef MIDIMGR
-    ticksAtStart = MIDIGetCurTime(OutputRefNum);
-#else
-    ticksAtStart = TickCount(); /* reset the clock */
-#endif
-#endif /* def MACINTOSH */
-
-    if (!(cl_switch("noalloff")))
-    cu_register((cu_fn_type) alloff, NULL);
-}
-
-#ifdef  DOS
-/****************************************************************************
-*                                  set_x_mfr
-* Inputs:
-*       unsigned char mfr: Manufacturer ID for MIDI
-* Result: void
-*       
-* Effect: 
-*       Sets the xcode and xcodemask to allow only these sysex messages
-****************************************************************************/
-
-void set_x_mfr(mfr)
-unsigned char mfr;
-{
-    xcode = mfr;
-    xcodemask = 0xFF;
-}
-
-/****************************************************************************
-*                                 clear_x_mfr
-* Result: void
-*       
-* Effect: 
-*       Clears sysex manufacturer code filter; accepts all sysex messages
-****************************************************************************/
-
-void clear_x_mfr()
-{
-    xcode = 0;
-    xcodemask = 0;
-}
-#endif /* DOS */
diff --git a/lib-src/libnyquist/cmt/midifns.h b/lib-src/libnyquist/cmt/midifns.h
deleted file mode 100644
index 99042d3..0000000
--- a/lib-src/libnyquist/cmt/midifns.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* midifns.h -- definitions for users of midifns.c */
-
-/*****************************************************************************
-*           Change Log
-*  Date     | Change
-*-----------+-----------------------------------------------------------------
-*  5-Mar-92 | GWL : insert definitions and logs from JMN's mpu.h
-*                   for LATTICE322, only variable type in prototypes
-* 28-Apr-03 |  DM : random() is now named cmtrand() to avoid conflicts
-*****************************************************************************/
-
-#ifndef _MIDIFNS_H_
-#define _MIDIFNS_H_
-
-/* declaration types */
-
-typedef unsigned long time_type;
-typedef long sgnd_time_type;
-
-/* Maximum time value: */
-#define MAXTIME 0xFFFFFFFFL
-
-#define delay_type      long
-
-/* controller numbers */
-
-#define MODWHEEL        1
-#define BREATH          2
-#define FOOT            4
-#define PORTARATE       5
-#define VOLUME          7
-#define SUSTAIN         64
-#define PORTASWITCH     65
-
-#include "midierr.h"
-
-extern char *midifns_syntax;
-
-/* support for allocating sysex buffer - examples in mm.c & exget.c */
-#ifdef DOS
-#define midibuff_alloc(size) (byte huge *) halloc(size, 1)
-#endif
-#ifndef midibuff_alloc
-#define midibuff_alloc (byte *) MALLOC
-#endif
-
-/* DMH: from mpu.h -- definitions for users of mpu.c */
-
-#ifdef OLD_PROTOTYPES
-
-void    eventwait();
-void    exclusive(boolean);
-boolean getbuf(boolean, unsigned char * );
-long	get_excl();
-boolean getxbuf();
-boolean testxbuf();
-short   getkey(boolean);
-ulong   gettime(void);          /*DMH: note- now unsigned*/
-void    l_rest(long);
-void    l_restuntil(long);
-void    metronome(boolean);
-void    midi_bend(short,short);
-boolean midi_buffer(byte * , ulong);
-void    midi_cont(boolean);
-void    midi_clock();
-void    midi_ctrl(short, short, short);
-void    midi_exclusive(unsigned char * );
-void    midi_note(short, short, short);
-void    midi_program(short, short);
-void    midi_real();
-void    midi_start();
-void    midi_stop();
-#ifdef AMIGA
-/* MIDI_THRU defined means that it is really implemented. */
-#define MIDI_THRU
-#endif
-void    midi_thru();/*boolean onflag*/
-void    midi_touch(short, short);
-void    midi_write();
-void    musicinit();
-short	  cmtrand(short, short);
-void    read_tuning();/*char *filename*/
-void    settime();
-void    synth_init();/*void*/
-void    timereset();
-void    trace();
-void    tracemidi();
-boolean is_exclusive(void);
-unsigned char get_exclusive(void);
-
-#else
-
-void alloff(void);
-void eventwait(long timeout);
-void exclusive(boolean onflag);
-long get_excl(byte *buffer, long len);
-boolean getbuf(boolean waitflag, unsigned char * p);
-short getkey(boolean waitflag);
-ulong gettime(void);
-void l_rest(long time);
-void l_restuntil(long time);
-void metronome(boolean onflag);
-void midi_bend(int channel, int value);
-boolean midi_buffer(byte *buffer, ulong size);
-void midi_clock(void);
-void midi_cont(boolean onflag);
-void midi_ctrl(int channel, int control, int value);
-void midi_exclusive(unsigned char *msg);
-void midi_flush();
-void midi_note(int channel, int pitch, int velocity);
-void midi_program(int channel, int program);
-void midi_real(boolean onflag);
-void midi_start(void);
-void midi_stop(void);
-void midi_thru(boolean onflag);
-void midi_touch(int channel, int value);
-void read_tuning(char *filename);
-void midi_write(int n, int port, unsigned char c1, unsigned char c2, unsigned char c3);
-void midi_write_trace(int n, int port,
-              unsigned char c1, unsigned char c2, unsigned char c3);
-void musicinit(void);
-void settime(time_type newtime);
-void timereset(void);
-void trace(boolean flag);
-void tracemidi(boolean flag);
-
-
-boolean check_midi(void);
-#endif  /* ifdef OLD_PROTOTYPES */
-
-
-#ifdef AMIGA
-byte    *head_of_excl();
-byte    *tail_of_excl();
-#endif
-
-#endif /* _MIDIFNS_H_ */
diff --git a/lib-src/libnyquist/cmt/midimgr.c b/lib-src/libnyquist/cmt/midimgr.c
deleted file mode 100644
index e7db136..0000000
--- a/lib-src/libnyquist/cmt/midimgr.c
+++ /dev/null
@@ -1,784 +0,0 @@
-/* midimgr.c -- this file contains interface code to support use of Apple Midi Manager */
-/*
- * This code is based on code supplied with the Apple Midi Manager.
- * Copyright 1991, Carnegie Mellon University
- */
- 
-/* BUGS: 
- *     If exclusive() is called to turn exclusive messages on or off DURING the
- * receipt of an exclusive message, incoming data will be garbled.  The correct
- * handling would be to record when receipt of an exclusive message is in
- * progress, then properly remove any partial message when exclusive is turned
- * off, and ignore any remaining message part when exclusive is turned on.
- * The present code does neither.
- */
- 
-#include "cext.h"
-#undef round
-#ifdef THINK_C
-#include <pascal.h> /* for ThinkC 7 */
-#endif
-
-#include "stdio.h"
-#include "userio.h"
-#include "MIDI.h"
-#include "midifns.h"
-#include "midibuff.h"
-#include "midierr.h"
-#include "midimgr.h"
-#include "midicode.h"
-#include "cmdline.h"
-
-/* Needed for KillEverybody */
-#include <toolutils.h>
-#include <AppleEvents.h>
-#include <EPPC.h>
-#include <Gestalt.h>
-#include <PPCToolbox.h> 
-#include <Processes.h>
-#include <Sound.h>
-
-
-#define CMTclientID             'CMT '
-/* note the following are in alphabetical order for Patcher display */
-#define timePortID              'Atim'
-#define inputPortID             'Bin '
-#define outputPortID    'Cout'
-#define noClient                '    '
-
-#define noTimeBaseRefNum        0
-#define noReadHook                      0L
-#define zeroTime                        0L
-#define timePortBuffSize        0L
-#define inputPortBuffSize       2048
-#define outputPortBuffSize      0L
-#define refCon0 0L
-
-pascal short CMTreader(MIDIPacket *ThePacketPtr, long TheRefCon);
-
-/* "patch" switch from command line.  This switch is cached in patch_flag and tells
-   whether to look in the resource fork for a patch, or just hook up to midi in and
-   out.  If the resource fork is used, the patch will be saved upon exit. */
-private boolean patch_flag; 
-extern boolean ctrlFilter;
-extern boolean exclFilter;
-extern boolean realFilter;
-
-private midi_read_lock = false;	/* used to stop input during data structure manipulation */
-
-private void set_error(int bit);
-#ifndef NYQUIST
-void PatchPorts(void);
-void SavePatch(OSType PortID, short PortInfoResID, char *PortInfoResName);
-#endif
-
-/* exported:  */
-public short InputRefNum;                       /* Input port reference number. */
-public short OutputRefNum;                      /* Output port reference number. */
-public short TimeRefNum;                        /* Time base port reference number. */
-
-Boolean         GManualPatch;   /* True if not launched by a PatchBay Config. File. */
-
-/****************************************************************************
-*
-*       variables shared with other modules
-*
-****************************************************************************/
-
-/* midi input buffer */
-long buff[BUFF_SIZE/4]; /* data buffer, declared long to get 32-bit alignment */
-int buffhead = 0;               /* buffer head and tail pointers */
-int bufftail = 0;
-
-/* user supplied system exclusive buffer */
-byte *xbuff = NULL;     /* address of the user-supplied buffer */
-public long xbufmask;    /* mask for circular buffer address calculation */
-long xbufhead = 0;       /* buffer head and tail pointers */
-long xbuftail = 0;
-boolean xbuf_flush = true;	/* says to flush remainder of sysex message */
-
-#ifdef SYSEXDEBUG
-int sysexcount = 0;	/* for debugging */
-int sysexdone = 0;
-int sysexheadcount = 0;
-byte sysexfirst = 0;
-int sysexsysex = 0;
-#endif
-
-/* midi_flush -- empty out buffers */
-/**/
-void midi_flush()
-{
-    midi_read_lock = true;
-    buffhead = 0;
-    bufftail = 0;
-    xbufhead = 0;
-    xbuftail = 0;
-    xbuf_flush = true;	/* in case sysex continuation messages are still coming */
-    midi_read_lock = false;
-}
-
-
-/* Nyquist only uses CMT for Midi and Adagio file IO */
-#ifndef NYQUIST
-/* Get String representation of MIDI Mgr Version Num.*/
-/* See Mac Tech Note #189 for details. */
-char *StdMacVerNumToStr(long VerNum, char *VerStr)
-{
-        char    *RetVal;
-        char    MajVer, MinVer, VerStage, VerRev, BugFixVer = 0;
-        
-        if (VerNum == 0)
-        {
-                RetVal = NULL;
-        }
-        else
-        {
-                MajVer          = (VerNum & 0xFF000000) >> 24;
-                MinVer          = (VerNum & 0x00FF0000) >> 16;
-                VerStage        = (VerNum & 0x0000FF00) >> 8;
-                VerRev          = (VerNum & 0x000000FF) >> 0;
-                BugFixVer       =  MinVer & 0x0F;
-                
-                switch (VerStage)
-                {
-                        case 0x20:
-                                    VerStage = 'd';
-                                    break;
-                        case 0x40:
-                                    VerStage = 'a';
-                                    break;
-                        case 0x60:
-                                    VerStage = 'b';
-                                    break;
-                        case 0x80:
-                                    VerStage = ' ';
-                                    break;
-                        default:
-                                    VerStage = '?';
-                                    break;
-                }
-                
-                if (BugFixVer == 0)
-                {
-                        sprintf(VerStr,"%X.%X%c%X", 
-                                    MajVer, MinVer>>4, VerStage, VerRev);
-                }
-                else
-                {
-                        sprintf(VerStr,"%X.%X.%X%c%X", 
-                                    MajVer, MinVer >> 4, MinVer & 0x0F, VerStage, VerRev);
-                }
-                
-                RetVal = VerStr;
-        }
-                
-        return(RetVal);
-}
-
-
-/* C2PStrCpy -- Convert a C String (from Cstr) into a Pascal string */
-/*
- * NOTE: this is not the same code as shipped with midi manager example
- */
-char *C2PStrCpy(char *Cstr, Str255 Pstr)
-{
-        char *c = Cstr;
-        char *p = ((char *) Pstr) + 1;
-        
-        while (*c) *p++ = *c++;
-        *Pstr = c - Cstr;
-        return( (char *) Pstr );
-}
-
-/* This checks to see if THINK C is running under System 7,
-   and ONLY WORKS UNDER SYSTEM 7!  Don't use unless you check! */
-boolean ThinkCRunning(void)
-{
-     ProcessSerialNumber processSN;
-    OSErr myErr;
-    ProcessInfoRec infoRec;
-    
-    processSN.lowLongOfPSN = kNoProcess;
-    processSN.highLongOfPSN = kNoProcess;
-    do {
-        myErr = GetNextProcess(&processSN);
-        
-        infoRec.processInfoLength = sizeof(ProcessInfoRec);
-        infoRec.processName = 0L;
-        infoRec.processAppSpec = 0L;
-        myErr = GetProcessInformation(&processSN, &infoRec);
-        if (!myErr) {
-                if (infoRec.processSignature == 'KAHL') {
-                    return(true);
-                }
-        }
-    } while (myErr == noErr);
-    return(false);
-}
-
-/* This kills off all the other running processes... 
-   ONLY WORKS UNDER SYSTEM 7!  Don't use unless you check! */
-void KillEverybody(void)
-{
-    ProcessSerialNumber myProc, processSN;
-    ProcessSerialNumber finderPSN;
-    ProcessInfoRec infoRec;
-    Str31 processName;
-    FSSpec procSpec;
-    
-    OSErr myErr = noErr;
-    OSErr otherError;
-    AppleEvent theEvent;
-    AEDesc theAddress;
-    Boolean ourFlag, notFinder;
-    Boolean finderFound = false;
-    
-    GetCurrentProcess(&myProc);
-    /* Preset the PSN to no PSN, see IM VI, the Process Manager */
-    processSN.lowLongOfPSN = kNoProcess;
-    processSN.highLongOfPSN = kNoProcess;
-    finderPSN.lowLongOfPSN = 0UL; /* brk: was nil */
-    finderPSN.highLongOfPSN = 0UL; /* brk: was nil */
-    
-    do {
-        myErr = GetNextProcess(&processSN);
-        /* See if it's us first */
-        notFinder = true;
-        SameProcess(&myProc, &processSN, &ourFlag);
-
-            infoRec.processInfoLength = sizeof(ProcessInfoRec);
-            infoRec.processName = (StringPtr) &processName;
-            infoRec.processAppSpec = &procSpec;
-            GetProcessInformation(&processSN, &infoRec);
-        if (!ourFlag && !finderFound) {
-            /* see if it's the Finder, we have to kill the finder LAST */
-            /* or else non-sys 7 apps won't get killed */
-            /* since the Finder must be there to convert the AppleEvent to Puppet Strings */
-            /* if the app is not APpleEvent aware */
-            /* Also, FileShare HAS to be killed before the Finder */
-            /* or your life will be unpleasant */
-
-            if (infoRec.processSignature == 'MACS' && infoRec.processType == 'FNDR') {
-                /* save this number for later  */
-                finderPSN = processSN;
-                notFinder = false;
-                finderFound = true;
-            
-            } else {
-                notFinder = true;
-            }
-        }
-        if (!myErr && !ourFlag && notFinder) {
-            otherError = AECreateDesc(typeProcessSerialNumber, (Ptr)&processSN, sizeof(processSN), &theAddress);
-            if (!otherError)
-                otherError = AECreateAppleEvent(kCoreEventClass, kAEQuitApplication, &theAddress, kAutoGenerateReturnID,
-                                                                    kAnyTransactionID, &theEvent);
-            if (!otherError)
-                AEDisposeDesc(&theAddress);
-            /* Again, the Finder will convert the AppleEvent to puppetstrings if */
-            /* the application is a System 6 or non-AE aware app.  This ONLY  */
-            /* happens for the 4 required (oapp,odoc,pdoc, and quit) AppleEvents  */
-            /* and ONLY if you use the PSN for the address */
-            if (!otherError)
-                AESend(&theEvent, 0L, kAENoReply + kAEAlwaysInteract + kAECanSwitchLayer, kAENormalPriority, kAEDefaultTimeout,
-                       0L, 0L);
-            AEDisposeDesc(&theEvent);
-        }
-    } while (!myErr);
-    
-    /* Now, if the finder was running, it's safe to kill it */
-    if (finderPSN.lowLongOfPSN || finderPSN.highLongOfPSN) {
-        otherError = AECreateDesc(typeProcessSerialNumber, (Ptr)&finderPSN, sizeof(processSN), &theAddress);
-        if (!otherError)
-            otherError = AECreateAppleEvent(kCoreEventClass, kAEQuitApplication, &theAddress, kAutoGenerateReturnID,
-                                                            kAnyTransactionID, &theEvent);
-        if (!otherError)
-            AEDisposeDesc(&theAddress);
-        if (!otherError)
-            AESend(&theEvent, 0L, kAENoReply + kAEAlwaysInteract + kAECanSwitchLayer, kAENormalPriority, kAEDefaultTimeout, 0L,
-                   0L);
-        AEDisposeDesc(&theEvent);
-    }
-}
-
-/* Sign into the MIDI Manager. */
-/* Set up time, input, and output ports. */
-/* Start our time base clock. */
-void setup_midimgr(void)
-{
-    MIDIPortParams  Init;   /* MIDI Mgr Init data structure */ 
-    Handle                  TheIconHndl;
-    OSErr                   TheErr;
-    long                    MIDIMgrVerNum;  /* MIDI Manager Ver (Std Mac Ver #) */
-    Str255 name = "\pCMU MIDI Toolkit";
-    char MIDIMgrVerStr[256]; /* MIDI Manager Ver (Std Mac Ver # String) */
-    long vers;
-    EventRecord theEvent;
-    
-    Gestalt(gestaltSystemVersion, &vers);
-    vers = (vers >> 8) & 0xf;                               /* shift result over and mask out major version number */
-    if ((vers >= 7) && (!cl_switch("keep"))  && (!ThinkCRunning()))  {
-        gprintf(TRANS,"Killing other processes...\n");
-        KillEverybody();
-        for (vers=0; vers<100; ++vers) {
-            while (WaitNextEvent(everyEvent, &theEvent, 0L, 0L)) ;
-        }
-    }
-        
-    /* Make sure MIDIMgr is installed and save version num. */
-    MIDIMgrVerNum = SndDispVersion(midiToolNum);
-    if (MIDIMgrVerNum == 0) {
-        gprintf(ERROR, "The MIDI Manager is not installed! Exiting...\n");
-        EXIT(1);
-    } else {        
-        StdMacVerNumToStr(MIDIMgrVerNum, MIDIMgrVerStr);
-        gprintf(TRANS,"MIDI Manager Version %s\n", MIDIMgrVerStr);
-    }
-
-        
-    /* Sign in to the MIDI Manager. */
-    TheIconHndl = GetResource('ICN#', 1);
-    TheErr = MIDISignIn(CMTclientID,
-                        0L, 
-                        TheIconHndl,
-                        name);
-    if (TheErr) {
-            gprintf(ERROR, "Trouble signing into MIDI Manager!  Aborting...");
-            EXIT(1);
-    }
-
-    /* Assume not a Patchbay configuration. */
-    GManualPatch = true;    
-
-    /* Add time port. */
-    Init.portID = timePortID;
-    Init.portType = midiPortTypeTime;
-    Init.timeBase = noTimeBaseRefNum;
-    Init.readHook = noReadHook;
-    Init.initClock.syncType = midiInternalSync;
-    Init.initClock.curTime = zeroTime;
-    Init.initClock.format = midiFormatMSec;
-    Init.refCon = SetCurrentA5();
-    C2PStrCpy("TimeBase", Init.name);
-    TheErr = MIDIAddPort(CMTclientID, timePortBuffSize, &TimeRefNum, &Init);
-    /* Has a PatchBay connection been resolved? */
-    if (TheErr == midiVConnectMade) {
-        GManualPatch = false;
-    } else if (TheErr == memFullErr) {
-        gprintf(ERROR, "Not enough room in heap zone to add time port!  Aborting...");
-        MIDISignOut(CMTclientID);       
-        EXIT(1);
-    }
-        
-    /* Add an input port. */
-    Init.portID = inputPortID;
-    Init.portType = midiPortTypeInput;
-    Init.timeBase = TimeRefNum;
-    Init.offsetTime = midiGetCurrent;
-    Init.readHook = NewMIDIReadHookProc(CMTreader);
-    Init.refCon = SetCurrentA5();
-    C2PStrCpy("InputPort", Init.name);
-    TheErr = MIDIAddPort(CMTclientID, inputPortBuffSize, &InputRefNum, &Init);
-    /* Has a PatchBay connection been resolved? */
-    if (TheErr == midiVConnectMade) {
-        GManualPatch = false;
-    } else if (TheErr == memFullErr) {
-        gprintf(ERROR, "Not enough room in heap zone to add input port!  Aborting...");
-        MIDISignOut(CMTclientID);       
-        EXIT(1);
-    }
-        
-    /* Add an output port. */
-    Init.portID = outputPortID;
-    Init.portType = midiPortTypeOutput;
-    Init.timeBase = TimeRefNum;
-    Init.offsetTime = midiGetCurrent;
-    Init.readHook = NULL;
-    Init.refCon = refCon0;
-    C2PStrCpy("OutputPort", Init.name);
-    TheErr = MIDIAddPort(CMTclientID, outputPortBuffSize, &OutputRefNum, &Init);
-    /* Has a PatchBay connection been resolved? */
-    if (TheErr == midiVConnectMade) {
-        GManualPatch = false;
-    } else if (TheErr == memFullErr) {
-        printf("Not enough room in heap zone to add output port!  Aborting...");
-        MIDISignOut(CMTclientID);       
-        EXIT(1);
-    }
-        
-    if (GManualPatch) {
-        PatchPorts(); /* connect ports as they were */
-    }
-    /* to clean this up (later) call finish_midimgr() */
-    cu_register((cu_fn_type) finish_midimgr, (cu_parm_type) finish_midimgr);
-        
-    /* Start our Clock. */
-    MIDIStartTime(TimeRefNum);              
-}
-
-
-/* The Read Hook Function. */
-
-/* 1st 4 bytes of sysex message get saved here and enqueued later */
-char save_sysex_head[4];
-int save_sysex_head_x = 0;
-
-void sysex_insert(unsigned char data) {
-    if (save_sysex_head_x < 4) {
-        save_sysex_head[save_sysex_head_x++] = data;
-    }
-    xbuff[xbuftail++] = data;
-    xbuftail &= xbufmask;
-    if (xbuftail == xbufhead) {
-        set_error(SYSEXOVFL);
-    }
-    if (data == MIDI_EOX) { /* we're done with the message */
-        *((long *) (((byte *) buff) + bufftail)) = *((long *)save_sysex_head);
-        bufftail = (bufftail + 4) & BUFF_MASK;
-        if (bufftail == buffhead) {
-            set_error(BUFFOVFL);
-        }
-    }
-}
-
-/* Read all incomming MIDI data. */
-
-pascal short CMTreader(MIDIPacket *ThePacketPtr, long TheRefCon)
-{
-    /* Set up our A5 world. */
-    long    SysA5 = SetA5(TheRefCon);
-    short   RetVal = midiMorePacket, i, j;
-    unsigned char *mm_data = ThePacketPtr->data;
-    register byte data1 = mm_data[1];
-        
-    if (midi_read_lock) {
-        /* Don't want to read packet now, get it later */
-        /* DOES THIS REALLY WORK?  WHAT WILL CAUSE AN INTERRUPT
-         * TO OCCUR LATER?  THIS IS ONLY USED BY midi_flush, IS
-         * BASED ON THE MidiArp CODE FROM APPLE, AND IS UNTESTED - RBD
-         */
-        RetVal = midiKeepPacket;
-        goto alldone;	
-    }
-
-    /* see if Packet is an error message */
-    if (((ThePacketPtr->flags & midiTypeMask) == midiMgrType) && 
-        *((short *) (&(ThePacketPtr->data))) < midiMaxErr) {
-        set_error(MIDIMGRERR);
-        goto alldone;
-    }
-        
-    /* filter out control changes */
-    if (ctrlFilter) {
-        register int hibits = *mm_data & 0xF0;
-        if (hibits == 0xD0 ||   /* Chan Pressure */
-            hibits == 0xE0 ||       /* Pitch Bend */
-            hibits == 0xA0 ||       /* Poly Pressure */
-            ((hibits == 0xB0) &&    /* Control change (don't count switches) */
-             ((data1 < 64) || (data1 > 121)))) {
-            /* CONTROL MESSAGE HAS BEEN FILTERED */
-            goto alldone;
-        }
-    } else if (realFilter) {
-        register int hibits = *mm_data & 0xF0;
-        if (hibits >= 0xF8) goto alldone;
-    }
-
-        
-    /* if not a continuation, copy the data into cmt_data */
-    /* The logic to detect a non-continued
-     * packet or a first packet is: "flags bit 1 is clear".
-     */
-    if ((((ThePacketPtr->flags & midiContMask) == midiNoCont)) && 
-        (*mm_data != MIDI_SYSEX)) {
-        register byte *cmt_data = ((byte *) buff) + bufftail;
-        *((long *) cmt_data) = *((long *) mm_data);
-
-        bufftail = (bufftail + 4) & BUFF_MASK;
-        if (bufftail == buffhead) {
-            /* filled buffer faster than client emptied it */
-            set_error(BUFFOVFL);
-        }
-    }
-        
-    /* see if we have a sysex message to copy to buffer */
-    if (xbuff && !exclFilter &&
-        ((ThePacketPtr->flags & midiContMask) || *mm_data == MIDI_SYSEX)) {
-        int i;
-        register byte *x_data = xbuff + xbuftail;
-
-        /* iterate over data in message */
-        /* NOTE: in the previous implementation, I thought Sysex messages were
-         * always starting at the beginning of the buffer, but that didn't work.
-         * This implementation assumes nothing -- it is slower because of additional
-         * testing and parsing inside the loop, but seems to work.
-         */
-        for (i = ThePacketPtr->len - 6; i > 0; i--) {
-            if (xbuf_flush) {	/* we're searching for beginning of message */
-                if (*mm_data == MIDI_SYSEX) {
-                    xbuf_flush = false;
-                    sysex_insert(MIDI_SYSEX);
-                }
-            } else {	/* we're scanning to the end of the message */
-                if (*mm_data == MIDI_SYSEX) {	/* found it, insert proper EOX */
-                    sysex_insert(MIDI_EOX);
-                    sysex_insert(MIDI_SYSEX);
-                } else if (*mm_data == MIDI_EOX) {	/* found it */
-                    sysex_insert(MIDI_EOX);
-                    xbuf_flush = true;
-                } else sysex_insert(*mm_data);
-
-            }
-            mm_data++;
-        }
-    }
-alldone:
-
-    /* Restore the systems A5 world. */
-    SetA5(SysA5);
-    
-    return(RetVal);
-}
-
-
-/* Sign out from the MIDI Manager. */
-void finish_midimgr(void)
-{
-        if (GManualPatch && patch_flag) {
-                SavePatch(timePortID, timePortResInfoID, "timePortInfo");
-                SavePatch(inputPortID, inputPortResInfoID, "inputPortInfo");
-                SavePatch(outputPortID, outputPortResInfoID, "outputPortInfo");
-        }
-        MIDISignOut(CMTclientID);
-}
-
-
-
-/* Alert user to Resource Manager Error. */
-void
-ReportResError(char *Msg)
-{
-        OSErr   TheErr;
-        char    Buf[256];
-        
-        if ( (TheErr = ResError()) != noErr) {
-                gprintf(ERROR, "ResError %d: %s...Aborting.", TheErr, Msg);
-                EXIT(1);
-        } else {
-                /* gprintf(ERROR, "%s OK\n", Msg); */
-        }
-}
-
-
-/****************************************************************************
-*                                       error handling
-* Effect:
-*       various error conditions are flagged by setting bits in
-*       the global midi_error_flags.  it is up to the client to clear this 
-*       word when necessary.
-****************************************************************************/
-
-private void set_error(int bit)
-{
-        midi_error_flags |= (1 << bit);
-}
-
-
-void midi_show_errors()
-{
-    if (midi_error_flags & (1<<BUFFOVFL)) 
-        gprintf(ERROR, "Midi Buffer Overflow Error\n");
-    if (midi_error_flags & (1<<MIDIMGRERR)) 
-        gprintf(ERROR, "Midi Manager Error\n");
-    if (midi_error_flags & (1<<SYSEXOVFL)) 
-        gprintf(ERROR, "Midi Sysex Overflow Error\n");
-}
-
-
-/**************** PATCHING CODE ***************/
-
-/*
-        MIDIArp Time, Input, and Output Port 
-        Info Record Resource ID's.
-*/
-
-/* Get previously saved port connections (port info records) */
-/* from application's 'port' resource. */
-void
-PatchPorts(void)
-{
-        MIDIPortInfoHdl PortInfoH;      /* Handle to port info record. */
-        MIDIPortInfoPtr PortInfoP;      /* Pointer to port info record. */
-        short                   i, TheErr;
-        
-        patch_flag = cl_switch("patch");
-                
-                /* SET UP TIME PORT CONNECTIONS. */
-        if (patch_flag)
-                PortInfoH = (MIDIPortInfoHdl) GetResource(portResType, timePortResInfoID);
-        if (!patch_flag || PortInfoH == NULL) {
-                MIDIIDListHdl clients, ports;
-                OSErr err;
-                
-                gprintf(TRANS, "Connecting to MIDI IN and OUT\n");
-#ifdef MIDIMGR_VERBOSE
-                clients = MIDIGetClients();
-                gprintf(TRANS, "clients = %lx\n", clients);
-                HLock((Handle) clients);
-                
-                for (i = 0; i < (*clients)->numIDs; i++) {
-                        OSType id = (*clients)->list[i];
-                        gprintf(TRANS, "%d: %c%c%c%c\n", i, (char) (id>>24),
-                                    (char) ((id >> 16) & 0xFF), (char) ((id >> 8) & 0xFF),
-                                    (char) (id & 0xFF));
-                }
-                ports = MIDIGetPorts('amdr');
-                HLock((Handle) ports);
-                for (i = 0; i < (*ports)->numIDs; i++) {
-                        OSType id = (*ports)->list[i];
-                        gprintf(TRANS, "%d: %c%c%c%c\n", i, (char) (id>>24),
-                                    (char) ((id >> 16) & 0xFF), (char) ((id >> 8) & 0xFF),
-                                    (char) (id & 0xFF));
-                }
-                HUnlock((Handle) ports);
-                HUnlock((Handle) clients);
-#endif
-                /* the work starts here */
-                err = MIDIConnectData('CMT ', 'Cout', 'amdr', 'Aout');
-                /* gprintf(TRANS, "Connected CMT.Cout to amdr.Aout: %d\n", err); */
-                err = MIDIConnectData('amdr', 'Ain ', 'CMT ', 'Bin ');
-                /* gprintf(TRANS, "Connected amdr.Ain to CMT.Bin: %d\n", err); */
-
-                return;
-        }
-        HLock((Handle) PortInfoH);
-        PortInfoP = *PortInfoH;
-        if (GetHandleSize((Handle) PortInfoH) != 0)
-        {
-                        /* Were we supposed to be sync'd to another client? */
-                if (PortInfoP->timeBase.clientID != noClient)
-                {               
-                                    /* Yes, so make that client our time base. */
-                        TheErr = MIDIConnectTime(
-                                                                    PortInfoP->timeBase.clientID, 
-                                                                    PortInfoP->timeBase.portID,
-                                                                    CMTclientID, 
-                                                                    timePortID 
-                                                                    );
-#ifdef IGNORE
-                                    /* Is the client still signed in? */
-                        if (TheErr != midiVConnectErr) 
-                        {       
-                                                    /* Yes, so set our sync mode to external. */
-                                    MIDISetSync(ArpGlobals.TimeRefNum, midiExternalSync);
-                        }
-#endif
-                        
-                }
-                        /* Were we somebody else's time base? */
-                for (i=0; i<PortInfoP->numConnects; i++)
-                {
-                        MIDIConnectTime(CMTclientID, 
-                                                                    timePortID, 
-                                                                    PortInfoP->cList[i].clientID, 
-                                                                    PortInfoP->cList[i].portID);
-                }
-        }
-        HUnlock((Handle) PortInfoH);
-        ReleaseResource((Handle) PortInfoH);
-        ReportResError("PatchPorts/ReleaseResource()");
-        
-                /* SET UP INPUT PORT CONNECTIONS. */
-        PortInfoH = (MIDIPortInfoHdl) GetResource(portResType, inputPortResInfoID);
-        if (PortInfoH == NULL)
-        {
-                ReportResError("PatchPorts/GetResource()");
-        }
-        HLock((Handle) PortInfoH);
-        PortInfoP = *PortInfoH;
-        if (GetHandleSize((Handle) PortInfoH) != 0)
-        {
-                        /* Were we connected to anyone? */
-                for (i=0; i<PortInfoP->numConnects; i++)
-                {
-                        MIDIConnectData(CMTclientID, 
-                                                                    inputPortID, 
-                                                                    PortInfoP->cList[i].clientID, 
-                                                                    PortInfoP->cList[i].portID);
-                }
-        }
-        HUnlock((Handle) PortInfoH);
-        ReleaseResource((Handle) PortInfoH);
-        ReportResError("PatchPorts/GetResource()");
-        
-                /* SET UP OUTPUT PORT CONNECTIONS. */
-        PortInfoH = (MIDIPortInfoHdl) GetResource(portResType, outputPortResInfoID);
-        if (PortInfoH == NULL)
-        {       
-                ReportResError("PatchPorts/GetResource()");
-        }
-        HLock((Handle) PortInfoH);
-        PortInfoP = *PortInfoH;
-        if (GetHandleSize((Handle) PortInfoH) != 0) {
-                        /* Were we connected to anyone? */
-                for (i=0; i<PortInfoP->numConnects; i++)
-                {
-                        MIDIConnectData(CMTclientID, 
-                                                                    outputPortID, 
-                                                                    PortInfoP->cList[i].clientID, 
-                                                                    PortInfoP->cList[i].portID);
-                }
-        }
-        HUnlock((Handle) PortInfoH);
-        ReleaseResource((Handle) PortInfoH);
-        ReportResError("PatchPorts/ReleaseResource()");
-        
-}
-
-/* Save current port connections (port info records) */
-/* to application's 'port' resource. */
-void
-SavePatch(OSType PortID, short PortInfoResID, char *PortInfoResName)
-{
-        Handle                  PortResH;       /* Handle to ptch resource. */
-        CursHandle              WatchCurs;      
-        
-        WatchCurs = GetCursor(watchCursor);
-        HLock((Handle) WatchCurs);
-        SetCursor(*WatchCurs);
-        HUnlock((Handle) WatchCurs);
-
-        
-                /* Remove existing port info resource. */
-        PortResH = GetResource(portResType, PortInfoResID);
-        /* gprintf(TRANS, "PortResH: %lx, *PortResH: %lx\n", PortResH, *PortResH); */
-        if (PortResH) {
-                ReportResError("SavePatch/GetResource()");
-                RmveResource(PortResH);
-                ReportResError("SavePatch/RmveResource()");
-                DisposHandle(PortResH);
-                UpdateResFile(CurResFile());
-                ReportResError("SavePatch/UpdateResFile()");
-        }
-        
-                /*      Get new configurateion. */
-        PortResH = (Handle) MIDIGetPortInfo(CMTclientID, PortID);
-        
-                /*      Save new configurateion. */
-        CtoPstr(PortInfoResName);
-        AddResource(PortResH, portResType, PortInfoResID,
-            (ConstStr255Param) PortInfoResName);
-        PtoCstr((unsigned char *) PortInfoResName);
-        
-        ReportResError("SavePatch/AddResource()");
-        WriteResource(PortResH);
-        ReportResError("SavePatch/WriteResource()");
-        UpdateResFile(CurResFile());
-        ReportResError("SavePatch/UpdateResFile()");
-        ReleaseResource(PortResH);
-        ReportResError("SavePatch/ReleaseResource()");
-        
-        InitCursor();
-}
-#endif /* NYQUIST */
diff --git a/lib-src/libnyquist/cmt/midimgr.h b/lib-src/libnyquist/cmt/midimgr.h
deleted file mode 100644
index 790fc06..0000000
--- a/lib-src/libnyquist/cmt/midimgr.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#define portResType                             'port'
-#define timePortResInfoID               128             
-#define inputPortResInfoID              129     
-#define outputPortResInfoID             130     
-
-
-
-extern short InputRefNum;   /* Input port reference number. */
-extern short OutputRefNum;  /* Output port reference number. */
-extern short TimeRefNum;    /* Time base port reference number. */
-
-void setup_midimgr(void);
-void finish_midimgr(void);
-void midi_show_errors();
diff --git a/lib-src/libnyquist/cmt/moxc.c b/lib-src/libnyquist/cmt/moxc.c
deleted file mode 100644
index f66fa53..0000000
--- a/lib-src/libnyquist/cmt/moxc.c
+++ /dev/null
@@ -1,661 +0,0 @@
-/* MOXC -- a C version of Collinge's MOXIE language */
-/* Copyright 1989 Carnegie Mellon University */
-
-/*****************************************************************************
-*       Change Log
-*  Date     | Change
-*-----------+-----------------------------------------------------------------
-* 31-Dec-85 | Modified for use with midi
-*  5-Feb-86 | Added m_rest and m_restuntil allowing rests at top level
-* 28-May-86 | Added command line parsing
-*  4-Jun-86 | changed keyevent to separate calls for each event type
-* 10-Jul-86 | put loop in mainscore with prompt to play and replay
-* 03-Jun-88 | modified for portability (AMIGA) -JCD
-* 07-Jul-89 | time bases -RBD
-* 31-Jan-90 | GWL : cleaned up for LATTICE
-* 30-Jun-90 | RBD : further changes
-*  2-Apr-91 | JDW : further changes
-*  4-Mar-91 | GWL : DOS allows odd inst addrs
-* 10-Oct-94 | nix : posicionador tridimensionale interface
-* 28-Apr-03 |  DM : true->TRUE, false->FALSE
-*****************************************************************************/
-
-#include "switches.h"
-
-#ifdef AMIGA
-#ifdef AZTEC
-#include "functions.h"
-#else
-#include "amiga.h"
-#endif
-#include "exec/exec.h"
-#include "cmtcmd.h"
-
-extern long event_mask; /* imported from midifns.c */
-#endif
-extern int abort_flag;  /*DMH: taken out of ifdef AMIGA for moxcrun*/
-
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-#include "midifns.h"
-
-#include "cmdline.h"
-#include "midicode.h"
-#include "timebase.h"
-#include "moxc.h"
-
-#ifdef AMIGA /*DMH: only AMIGA cares about AMIGA's "proportional controllers"*/
-#include "prop1.h"
-#endif
-#ifdef POSICIONADOR_3D
-#include "pos3d.h"
-#include "pos3dbuf.h"
-#endif /* POSICIONADOR_3D */
-
-extern char *app_syntax;
-
-/***************************************************************************
-*
-*  IMPORTS:
-*       asciievent(k)           user-defined action for terminal input
-*       bendchange(ch, val)     user-defined pitch bend handler
-*       ctrlchange(ch, c, val)  user-defined control change handler
-*       keydown(ch, p, v)       user-defined MIDI note on handler
-*       keyup(ch, p)            user-defined MIDI note off handler
-*       mainscore()             user-defined first action(s)
-*       musicfns                lots of time and io functions
-*       peddown(ch)             user-defined pedal down handler
-*       pedup(ch)               user-defined pedal up handler
-*       touchchange(ch, val)    user-defined aftertouch handler
-*       app_syntax              string defining extra command line options
-*
-*  EXPORTS:
-*       
-*       cause(delay, routine, p1, p2, ..., p8)
-*       moxcdone -- set to TRUE to quit
-*       eventtime -- ideallized current time
-*
-*****************************************************************************/
-
-#define SAFEMOXC TRUE
-#define BREAKKEY 0x03
-
-int moxcdone;   /* flag to halt execution */
-time_type eventtime;    /* time of current call -- used to avoid        */
-                        /* timing errors due to finite execution speed  */
-time_type virttime;     /* virtual time of current call */
-timebase_type timebase; /* time base of current call */
-int mididecode = TRUE;  /* whether to decode messages or just call midievent */
-
-int debug = FALSE;
-int moxcdebug = FALSE;
-time_type next_wakeup;
-timebase_type default_base;
-
-#ifdef AMIGA
-int pub_port_signal;
-struct MsgPort pub_port;
-#endif
-
-/*****************************************************************************
-*       Routines local to this module
-*****************************************************************************/
-
-private void callrun();
-private void decode();
-private void moxcterm();
-
-/****************************************************************************
-*                           callallcancel
-* Inputs:
-*       timebase_queue
-* Effect: 
-*       return all calls to free list
-* Implementation:
-*             If timebase_queue is not empty, there's a pending call.  Remove the call
-*             (not necessarily the timebase) and repeat.
-****************************************************************************/
-
-void callallcancel()
-{
-    if (moxcdebug) gprintf(GDEBUG, "cancel all calls\n");
-    while (timebase_queue) {
-        timebase = timebase_queue;
-        timebase_queue = timebase->next;
-        while (timebase->heap_size > 0) {
-            call_free(remove_call(timebase));
-        }
-        insert_base(timebase);
-    }
-}
-
-/* catchup -- bring current timebase up to date by running its calls */
-/**/
-void catchup()
-{
-    register call_type call;
-    /* Remember where we're going in virtual time because setting the
-     * rate will also modify timebase->virt_base.  We don't want catchup
-     * to stop short:
-     */
-    time_type target_time = timebase->virt_base;
-    /* remember timebase here because it's possible that a call will do
-     * a timebase_use() and change it:
-     */
-    register timebase_type my_base = timebase;
-
-    while (my_base->heap_size != 0 &&
-           (my_base->heap[1]->u.e.time < target_time)) {
-        /* eventtime is the real time at which something was scheduled */
-        eventtime = (my_base->next_time) >> 8;
-        call = remove_call(my_base);
-        virttime = call->u.e.time;
-        (*(call->u.e.routine))(CALLARGS(call));
-        call_free(call);
-    }
-    /* now that we've possibly pulled events out of the timebase, adjust
-     * the position in the timebase queue (and possibly remove it).
-     */
-    remove_base(my_base);
-    insert_base(my_base);
-}
-
-
-
-/****************************************************************************
-*                               cause
-* Inputs:
-*       delay_type (long) delay: time before this call should occur
-*       int (*routine)(): routine that implements the call
-*       int p1 through p8: parameters to pass to routine
-* Effect: 
-*       builds a call and puts it in pending queue for later scheduling
-****************************************************************************/
-
-#ifndef DOTS_FOR_ARGS
-void cause(delay, routine, p)
-    delay_type  delay;
-    int (*routine)();
-    call_args_node p;
-#else
-#include <stdarg.h>
-
-void cause(delay_type delay, ...)
-/* note: the routine parameter is not checked because any routine type can
-   be passed as a parameter, but in the call struct it's an int (*)()
- */
-#endif
-{
-    register call_type call = call_alloc();
-#ifdef DOTS_FOR_ARGS
-    va_list xp;
-#endif
-
-    if (!call) {
-        gprintf(ERROR, "cause: out of memory\n");
-        EXIT(1);
-    }
-
-#ifdef DOTS_FOR_ARGS
-    call->u.e.time = virttime + delay;
-    call->u.e.priority = 128; /* default priority */
-    va_start(xp, delay);
-    call->u.e.routine = (int (*)()) va_arg(xp, long *);
-    call->u.e.p = va_arg(xp, call_args_node);
-    va_end(xp);
-#else
-    call->u.e.time = virttime + delay;
-    call->u.e.priority = 128; /* default priority */
-    call->u.e.routine = routine;
-    call->u.e.p = p;
-#endif
-#ifdef SAFEMOXC
-    if (call->u.e.routine == 0) {
-        gprintf(ERROR,"cause called with NULL routine\n");
-        EXIT(1);
-#ifndef DOS     /* IBM allows odd addresses */
-    } else if (((long) call->u.e.routine) & 1) {
-        gprintf(ERROR, "cause called with bad routine address: 0x%lx\n",
-                call->u.e.routine);
-        EXIT(1);
-#endif
-    }
-#endif
-    /* put call in default queue */
-    callinsert(timebase, call);
-    if (moxcdebug) {
-        gprintf(GDEBUG,"(cause) call is pending on timebase 0x%x:\n", timebase);
-        callshow(call);
-    }
-}
-
-/****************************************************************************
-*                               causepri
-* Inputs:
-*       int delay: time before this call should occur
-*       int pri: priority, lowest priority goes first
-*       int (*routine)(): routine that implements the call
-*       int p1 through p8: parameters to pass to routine
-* Effect: 
-*       builds a call and puts it in pending queue for later scheduling
-****************************************************************************/
-
-#ifndef DOTS_FOR_ARGS
-void causepri(delay, pri, routine, p)
-    delay_type  delay;
-    int pri;
-    int (*routine)();
-    call_args_node p;
-#else
-/* already included stdarg.h */
-
-void causepri(delay_type delay, int pri, ...)
-#endif
-{
-    register call_type call = call_alloc();
-#ifdef DOTS_FOR_ARGS
-    va_list xp;
-#endif
-
-    if (!call) {
-        gprintf(ERROR, "cause: out of memory\n");
-        EXIT(1);
-    }
-
-#ifdef DOTS_FOR_ARGS
-    call->u.e.time = virttime + delay;
-    call->u.e.priority = pri; /* default priority */
-    va_start(xp, pri);
-    call->u.e.routine = (int (*)()) va_arg(xp, long *);
-    call->u.e.p = va_arg(xp, call_args_node);
-    va_end(xp);
-#else
-    call->u.e.time = virttime + delay;
-    call->u.e.priority = pri; /* default priority */
-    call->u.e.routine = routine;
-    call->u.e.p = p;
-#endif
-#ifdef SAFEMOXC
-    if (call->u.e.routine == 0) {
-        gprintf(ERROR,"cause called with NULL routine\n");
-        EXIT(1);
-#ifndef DOS     /* IBM allows odd addresses */
-    } else if (((long) call->u.e.routine) & 1) {
-        gprintf(ERROR, "causepri called with bad routine address: 0x%lx\n",
-                call->u.e.routine);
-        EXIT(1);
-#endif
-    }
-#endif
-    /* put call in default queue */
-    callinsert(timebase, call);
-    if (moxcdebug) {
-        gprintf(GDEBUG,"(cause) call is pending:");
-        callshow(call);
-    }
-}
-
-/****************************************************************************
-*                               callrun
-* Inputs:
-*       call_type call: the call to execute
-* Effect: 
-*       executes the previously scheduled call call and deallocates it
-****************************************************************************/
-
-private void callrun()
-{
-    call_type call;
-    if (moxcdebug) {
-        gprintf(GDEBUG,"(callrun) running a call: \n");
-    }
-    /* remove from head of queue */
-    while (!timebase_queue) gprintf(TRANS, "callrun fatal error\n");
-    timebase = timebase_queue;
-    timebase_queue = timebase->next;
-
-    if (debug) gprintf(TRANS, "callrun time %ld\n", timebase->next_time);
-    eventtime = (timebase->next_time) >> 8; /* real time of the call */
-
-    /* remove first call from timebase */
-    call = remove_call(timebase);
-    if (debug) gprintf(TRANS, "callrun call %lx\n", (ulong)call);
-    insert_base(timebase);
-    virttime = call->u.e.time;          /* virtual time of the call */
-    if (moxcdebug) callshow(call);
-    (*(call->u.e.routine))(CALLARGS(call));
-    call_free(call);
-}
-
-/****************************************************************************
-*                                 m_restuntil
-* Inputs:
-*       int time: call time to rest until
-* Effect: 
-*       Waits until the specified time has been reached (absolute time).
-*       Other "caused" calls will take place during the rest provided
-*       this routine is called from "mainscore" (see m_rest description).
-****************************************************************************/
-void m_restuntil(time)
-  time_type time;
-{
-    time = virt_to_real(timebase, time);
-    while(time > gettime()) {
-        moxcwait(time);
-    }
-}
-
-
-/****************************************************************************
-*                                   m_rest
-* Inputs:
-*       int time: Amount of time to rest
-* Effect: 
-*       Waits until the amount of time specified has lapsed
-* Assumes:
-*       Must not be called from a "caused" routine.  Must only be called
-*       from "mainscore" or a routine called directly or indirectly from
-*       "mainscore" without using "cause".
-****************************************************************************/
-
-void m_rest(time)
-  time_type time;
-{
-    m_restuntil(time + real_to_virt(timebase, gettime()));      
-}
-
-/****************************************************************************
-*                               moxcinit
-* Inputs:
-*       int argc: number of command line arguments
-*       char * argv: command line argument array
-* Effect: initializes moxc system
-****************************************************************************/
-
-boolean moxcinit(argc, argv)
-    int argc;
-    char * argv[];
-{
-    meminit();
-    io_init();
-#ifdef AMIGA
-    pub_port_signal = AllocSignal(-1L);
-    pub_port.mp_Node.ln_Type = NT_MSGPORT;
-    pub_port.mp_SigBit = pub_port_signal;
-    pub_port.mp_SigTask = FindTask(0L);
-    pub_port.mp_Flags = PA_SIGNAL;
-    pub_port.mp_Node.ln_Name = "CMTcmdport";
-    pub_port.mp_MsgList.lh_Head =
-        (struct Node *)&pub_port.mp_MsgList.lh_Tail;
-    pub_port.mp_MsgList.lh_TailPred =
-        (struct Node *)&pub_port.mp_MsgList.lh_Head;
-    event_mask |= (1L << pub_port_signal);
-    AddPort(&pub_port);
-#endif
-    cu_register((cu_fn_type) moxcterm, NULL);
-    cl_syntax(midifns_syntax);
-    cl_syntax("debug<s>Enable verbose debugging;\
-        moxc<s>Enable moxc debug mode;");
-    cl_syntax(app_syntax);
-
-    if (!cl_init(argv, argc)) {
-        /* make sure user gets to read the error message(s): */
-        gprintf(TRANS, "Type anything to exit...");
-#ifdef  DOS
-        wait_ascii();
-#else
-        ggetchar();
-#endif
-        return FALSE;
-    }
-    debug = cl_switch("debug");
-    moxcdebug = cl_switch("moxc");
-    timebase = default_base = timebase_create(100);
-    default_base->rate = 2560L;
-
-    eventtime = 0L;
-    next_wakeup = MAXTIME;
-    musicinit();
-#ifdef POSICIONADOR_3D
-    ptInit();
-#endif
-    moxcdone = 0;
-    return TRUE;
-}
-
-
-/****************************************************************************
-*                               moxcwait
-* Input:
-*       -1 => wait for next keyboard or midi event or queued event
-*       0 => don't wait
-*       T => wait up to T for next keyboard or midi event or queued event
-*               (this is used by m_restuntil)
-* Assume: there is work to do (npending > 0 || evqueue) ??
-* Effect: dispatch on user inputs, cause calls
-****************************************************************************/
-
-void moxcwait(dateoftimeout)
-  time_type dateoftimeout;
-{
-    time_type maxtime = dateoftimeout;
-
-    if (timebase_queue) {
-        if ((timebase_queue->next_time >> 8) < maxtime) 
-            maxtime = (timebase_queue->next_time) >> 8;
-    }
-    eventwait(maxtime);
-    decode();
-}
-   
-
-/****************************************************************************
-*                               decode
-* Effect: dispatch on user inputs, cause calls
-****************************************************************************/
-
-private void decode()
-{
-    /* It is important that midi_data is on a word boundary because we
-        copy to it by doing a word transfer.
-     */
-    byte midi_data[4];
-    time_type now;
-    byte code;
-    char k;
-#ifdef AMIGA
-    struct cmd_msg *cmd;
-#endif
-
-    now = gettime();
-    timebase = default_base;
-    eventtime = now;
-    virttime = 0L;
-
-/*   gprintf(GDEBUG, "decode at time %ld\n", now); */
-
-/**********************************************
-* poll for and decode midi keyboard input 
-***********************************************/
-
-    while (getbuf(FALSE, midi_data)) {
-        /* only divide if necessary, divides take 100us on 8MHz 68000: */
-        if (virttime == 0)
-            virttime = real_to_virt(default_base, now);
-
-        /* short-circuit midi decoding */
-        if (!mididecode) {
-            midievent(midi_data);
-            continue;
-        }
-
-        code = midi_data[0] & MIDI_CODE_MASK;
-        if (code == MIDI_ON_NOTE) {
-            if (midi_data[2] == 0) {    /* velocity 0 -> note off */
-                 keyup(1+(midi_data[0] & MIDI_CHN_MASK), midi_data[1]);
-            } else {
-                keydown((midi_data[0] & MIDI_CHN_MASK)+1,
-                        midi_data[1], midi_data[2]);
-            }
-        } else if (code == MIDI_OFF_NOTE) {
-            keyup((midi_data[0] & MIDI_CHN_MASK)+1, midi_data[1]);
-        } else if (code == MIDI_TOUCH) {
-            touchchange((midi_data[0] & MIDI_CHN_MASK)+1,midi_data[1]);
-        } else if (code == MIDI_BEND) {
-            bendchange((midi_data[0] & MIDI_CHN_MASK)+1,
-                        midi_data[1] + (midi_data[2] << 7));
-        } else if (code == MIDI_CTRL && midi_data[1] == SUSTAIN) {
-            if (midi_data[2] == 0) pedup((midi_data[0] & MIDI_CHN_MASK) + 1);
-            else peddown((midi_data[0] & MIDI_CHN_MASK) + 1);
-        } else if (code == MIDI_CTRL) {
-            ctrlchange((midi_data[0] & MIDI_CHN_MASK) + 1,
-                        midi_data[1], midi_data[2]);
-        } else if (code == MIDI_CH_PROGRAM) {
-            prgmchange((midi_data[0] & MIDI_CHN_MASK) + 1, midi_data[1] + 1);
-/* think C midi driver doesn't handle sysex the way the Amiga drivers do (yet) */
-#ifndef MACINTOSH
-        } else if (code == MIDI_SYSEX) {
-            sysex();
-#endif
-        }
-    }
-
-/**********************************************
-* poll for ASCII keyboard input 
-***********************************************/
-    while (get_ascii(&k)) {
-        virttime = real_to_virt(default_base, now);
-        asciievent(k);
-        /* if user doesn't handle abort char in asciievent,
-           we should exit now to avoid an infinite loop */
-        if (abort_flag) EXIT(1);
-    }
-
-#ifdef POSICIONADOR_3D
-/**********************************************
-* poll for posicionador tridimensionale input
-**********************************************/
-    {
-         pt_value pt_data;
-         while (ptGetValue(&pt_data)) {
-             /* only divide if necessary, divides take 100us on 8MHz 68000: */
-             if (virttime == 0)
-                 virttime = real_to_virt(default_base, now);
-             ptevent(&pt_data);
-        }
-    }
-#endif /* POSICIONADOR_3D */
-
-#ifdef AMIGA
-/**********************************************
-* poll for proportional controller port 
-**********************************************/
-    if (prop_1_events) {
-        int events;
-
-        Disable();
-            events = prop_1_events;
-            prop_1_events = 0;
-        Enable();
-        
-        if (events & BUTTON_1_RIGHT_CHANGE)
-            buttonchange(3, prop_1_right_button);
-        if (events & BUTTON_1_LEFT_CHANGE)
-            buttonchange(2, prop_1_left_button);
-        if (events & PROP_1_LEFT_CHANGE)
-            propchange(2, prop_1_left_data);
-        if (events & PROP_1_RIGHT_CHANGE)
-            propchange(3, prop_1_right_data);
-    }
-
-/**********************************************
-* poll for input from public command port
-***********************************************/
-
-    while (cmd = (struct cmd_msg *) GetMsg(&pub_port)) {
-        struct symb_descr *desc = &HASHENTRY(lookup(cmd->symbol_name));
-/*      gprintf(TRANS, "got %lx (%s) from pub_port\n", cmd, cmd->symbol_name); */
-        virttime = real_to_virt(default_base, now);
-        if (!desc) {
-            gprintf(TRANS, "Error, symbol %s undefined.\n", cmd->symbol_name);
-        } else if (desc->symb_type != cmd->symb_type) {
-             gprintf(TRANS, "Error, wrong type for symbol %s\n",
-                cmd->symbol_name); 
-        } else if (cmd->symb_type == fn_symb_type) {
-/*          gprintf(TRANS, "Calling routine\n"); */
-            (*(desc->ptr.routine))(
-             (int) cmd->the_args[0], (int) cmd->the_args[1],
-             (int) cmd->the_args[2], (int) cmd->the_args[3],
-             (int) cmd->the_args[4], (int) cmd->the_args[5],
-             (int) cmd->the_args[6], (int) cmd->the_args[7]
-            );
-        } else if (cmd->symb_type == var_symb_type) {
-            *(desc->ptr.intptr) = (int) cmd->the_args[0];
-        } else if (cmd->symb_type == vec_symb_type) {
-            if (cmd->the_args[0] >= desc->size) {
-                gprintf(TRANS, "Error: Vector %s is of size %d\n",
-                        cmd->symbol_name, desc->size);
-            } else {
-                (desc->ptr.intptr)[cmd->the_args[0]] = cmd->the_args[1];
-/*              gprintf(TRANS, "vec: setting %lx\n",
-                        &(desc->ptr.intptr)[cmd->the_args[0]]); */
-            }
-        } else gprintf(TRANS, "Symbol Type Error\n");
-        ReplyMsg(&(cmd->msg));
-    }
-#endif
-/**********************************************
-* poll for next call in queue
-***********************************************/
-    now = (now + 1) << 8;  /* shift because next_time is also scaled,
-                            * add 256 because next_time has added priority */
-    if (debug)
-        gprintf(TRANS, "now %ld next_time %ld\n",
-                now, (timebase_queue ? timebase_queue->next_time : 1234));
-    /* give pending events priority, but every 100 events, loop to allow
-        input processing (user may want to give a "quit" command) */
-    for (k = 0; 
-          k < 100 && timebase_queue && (now > timebase_queue->next_time);
-          k++) {
-        callrun();
-    }
-/*******************
-* flush text output 
-********************/
-#ifdef MACINTOSH_OR_UNIX
-    gflush();
-#endif
-}
-
-
-/****************************************************************************
-*                               quit
-* Effect: tells moxc to shut down
-****************************************************************************/
-
-void quit()
-{
-    moxcdone = TRUE;
-}
-
-/* moxcrun -- schedule events until done */
-/**/
-void moxcrun()
-{
-    moxcdone = FALSE;
-    while (!moxcdone && !abort_flag) {          /* test for finish */
-        if (!timebase_queue) moxcdone = TRUE;
-        else moxcwait(MAXTIME);         /* do work */
-    }
-}
-
-/* moxcterm -- clean up after moxcinit */
-/**/
-private void moxcterm()
-{
-#ifdef AMIGA
-    FreeSignal((long) pub_port_signal);
-    RemPort(&pub_port);
-#endif
-}
diff --git a/lib-src/libnyquist/cmt/moxc.h b/lib-src/libnyquist/cmt/moxc.h
deleted file mode 100644
index 975ebb9..0000000
--- a/lib-src/libnyquist/cmt/moxc.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* moxc.h -- functions exported by moxie.c */
-/* Copyright 1989 Carnegie Mellon University */
-
-#define maxparms 8
-
-extern timebase_type timebase;
-extern time_type eventtime, virttime;
-extern int debug;
-extern int mididecode;
-extern int moxcdone;
-
-void    catchup(void);
-void    callallcancel(void);
-#ifdef DOTS_FOR_ARGS
-void    cause(delay_type delay, ...);
-void    causepri(delay_type delay, int pri, ...);
-#else
-void    cause();
-void	causepri();
-#endif
-void    m_rest(time_type time);
-void    m_restuntil(time_type time);
-void    quit(void);
-boolean moxcinit(int argc, char * argv[]);
-void    moxcrun(void);
-void    moxcwait(time_type dateoftimeout);
-
-void asciievent(char k);
-void bendchange(int chan, int value);
-void coda(void);
-void ctrlchange(int chan, int ctrl, int value);
-void keydown(int chan, int key, int vel);
-void keyup(int chan, int key);
-void mainscore(void);
-void midievent(byte midi_data[4]);
-void peddown(int chan);
-void pedup(int chan);
-void prgmchange(int chan, int prgm);
-void touchchange(int chan, int value);
-#ifdef AMIGA
-void buttonchange(int number, int value);
-void propchange(int number, int value);
-#endif
-void sysex(void);
diff --git a/lib-src/libnyquist/cmt/musiprog.h b/lib-src/libnyquist/cmt/musiprog.h
deleted file mode 100644
index ddd9f95..0000000
--- a/lib-src/libnyquist/cmt/musiprog.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* musiprog.h -- include file for cmt application programs */
-
-#include "stdio.h"
-#include "cext.h"
-#include "midifns.h"
-#include "userio.h"
-#include "timebase.h"
-#include "moxc.h"
-
-/*
- * override the definition of l_rest - l_rest is not recommended because
- * it stops polling for input.  If you really want to use it, use #undef
- * to make it visible.
- */
-#define l_rest(d) m_rest(d)
-#define l_restuntil(t) m_restuntil(t)
-
-/*
- * The default implementation of rest() and restuntil() poll for
- * input during the rest.  You might call rest() or restuntil() from
- * mainscore(), but it is generally a bad idea to rest at all. If
- * you are in a rest(), you get an event, e.g. keydown(), and you 
- * make a nested call to rest(), the original rest will be locked out
- * until the nested one returns.  It's better to use cause().
- */
-#define rest(x) l_rest( (long) x )
-#define restuntil(x) l_restuntil( (long) x)
-
-#define repeat(var, count) {int var; for (var=1; var <= count; var++) {
-#define endrep ;}}
-
diff --git a/lib-src/libnyquist/cmt/pitch.h b/lib-src/libnyquist/cmt/pitch.h
deleted file mode 100644
index ab6dd9c..0000000
--- a/lib-src/libnyquist/cmt/pitch.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* mbc code */
-/* Copyright 1989 Carnegie Mellon University */
-
-typedef struct pitch_struct {
-    int ppitch;
-    int pbend;
-} 
-pitch_table;
-/* end */
diff --git a/lib-src/libnyquist/cmt/record.c b/lib-src/libnyquist/cmt/record.c
deleted file mode 100644
index 44f2373..0000000
--- a/lib-src/libnyquist/cmt/record.c
+++ /dev/null
@@ -1,638 +0,0 @@
-/* record.c -- keyboard to adagio recorder
- * Copyright 1989 Carnegie Mellon University
- *
- * the interface consists of three routines:
- *      rec_init()      -- initialization
- *      rec_event(byte *data)   -- called to insert (record) midi data, 
- *                              -- returns FALSE if no more space
- *      rec_final()     -- called to finish up
- */
-
-/*****************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-* 27-Feb-86 | Created changelog
-*           | Use pedal information when computing durations (code taken
-*           |  from transcribe.c)
-* 23-Mar-86 | Determine size of transcription when rec_init is called.
-* 21-May-86 | Major rewrite to use continuous controls (code taken 
-*           |  from transcribe.c)
-*  1-Aug-87 | F.H. Changed rec_init() to new memory handling.
-* 17-Oct-88 | JCD : portable version.
-* 31-Jan-90 | GWL : cleaned up for LATTICE
-* 30-Jun-90 | RBD : further changes
-*  2-Apr-91 | JDW : further changes
-* 28-Apr-03 | DM  : changed for portability; true->TRUE, false->FALSE
-*****************************************************************************/
-
-#include "switches.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cext.h"
-#include "midifns.h"
-#include "userio.h"
-#include "midicode.h"
-#include "record.h"
-#include "cmdline.h"
-
-extern long space;    /* how much space is left? */
-
-int debug_rec = FALSE;    /* verbose debug flag for this module */
-
-long max_notes = -1L;    /* -1 is flag that space must be allocated */
-
-time_type previous_time;
-
-/****************************************************************
-* data structure notes: the midi stream is stored as an array 
-* of 4-byte records, each of which is either a time or midi
-* data.     Midi data always begins with a control byte (high
-* order bit set), and it is assumed times are positive (high
-* order bit clear), so the two are easy to distinguish
-* IF THE COMPILER PUTS THESE BITS IN THE SAME PLACE.  It looks
-* like the high order byte of the time lines up with the last
-* byte of a 4 byte array, so we will always set the high order
-* bit of the last array byte when the first 3 bytes are filled
-* with MIDI data.  This is refered to as the "tag" bit.
-* WARNING: Lattice C longs are UNSIGNED, therefore always
-* positive.  Test the high order bit with a mask.
-****************************************************************/
-
-#define MIDI_CMD_BIT    0x80
-#define HIGH_BIT        0x80000000
-#define istime(note) (!(((note)->when) & HIGH_BIT))
-
-typedef union note_struct {
-    byte n[4];
-    long when;
-} 
-*note_type, note_node;
-
-private note_type event_buff;    /* pointer to allocated buffer */
-private note_type next;    /* pointer to next entry in buffer */
-private note_type last;    /* pointer to last entry in buffer */
-private int pile_ups;    /* inner loop iteration count */
-private int max_pile_up;    /* maximum of pile_ups */
-private boolean fixed_octave;	/* used to avoid many error messages */
-
-/****************************************************************************
-*    Routines local to this module
-****************************************************************************/
-private void    bend_filter();
-private void    byteorder();
-private void    ctrl_filter();
-private int    event_bend();
-private void    filter();
-private long    getdur();
-private long    getnext();
-private char    map_ctrl();
-private void    output();
-
-/****************************************************************************
-*               bend_filter
-* Inputs:
-*    note_type note: the current note
-*    note_type last: the last recorded event
-*    long now: the current time
-* Effect:
-*    remove pitch bend events in same 0.01 sec time slot
-* Implementation:
-*    If the current event is a pitch bend that bends again
-*    in the same time slot, make it a no-op by replacing it with
-*    the time.
-****************************************************************************/
-
-private void bend_filter(note, last, now)
-note_type note;    /* current note */
-note_type last;    /* the last recorded event */
-long now;       /* the current time */
-{
-    /* first see if there is another bend in this time
-         * slot.
-         */
-    note_type note2 = note + 1;
-    while (note2 < last) {
-        if (istime(note2) && (note2->when > now)) {
-            break; /* new time slot */
-        } 
-        else if (note->n[0] == note2->n[0]) {
-            note->when = now;
-            return; /* found another bend */
-        }
-        note2++;
-    }
-}
-
-/****************************************************************************
-*               byteorder
-* Effect: 
-*    check out assumptions about byte order and placement
-****************************************************************************/
-
-private void byteorder()
-{
-    note_node test_event;
-    if ((sizeof(test_event) != 4) ||
-        (sizeof(test_event.when) != 4) ||
-        (sizeof(test_event.n[0]) != 1)) {
-        gprintf(ERROR, "implementation error: size problem\n");
-        EXIT(1);
-    }
-    test_event.n[0] = 0x12;
-    test_event.n[1] = 0x34;
-    test_event.n[2] = 0x56;
-    test_event.n[3] = 0x78;
-    if ((test_event.when != 0x78563412) &&
-        (test_event.when != 0x12345678)) {
-        gprintf(ERROR, "implementation error: layout problem\n");
-        EXIT(1);
-    }
-}
-
-/****************************************************************************
-*               ctrl_filter
-* Inputs:
-*    note_type note: the current note
-*    note_type last: the last recorded event
-*    long now: the current time
-* Effect:
-*    remove ctrl change events in same 0.01 sec time slot
-* Implementation:
-*    If the current event is a control change that changes again
-*    in the same time slot, make it a no-op by replacing it with
-*    the time.
-****************************************************************************/
-
-private void ctrl_filter(note, last, now)
-note_type note;    /* the current note */
-note_type last;    /* the last recorded event */
-long now;       /* the current time */
-{
-    /* see if there is another control change in this time
-         * slot.
-         */
-    note_type note2 = note+1;
-    while (note2 < last) {
-        if (istime(note2) && (note2->when > now)) {
-            break;    /* new time slot */
-        } 
-        else if ((note->n[0] == note2->n[0]) &&
-            (note->n[1] == note2->n[1])) {
-            note->when = now;
-            return; /* found another change */
-        }
-        note2++;
-    }
-}
-
-/****************************************************************************
-*               event_bend
-* Inputs:
-*    note_type note: pointer to a pitch bend event
-* Outputs:
-*    returns int: an 8 bit pitch bend number
-****************************************************************************/
-
-private int event_bend(note)
-note_type note;
-{
-    return((int) (((note->n[1]) >> 6) + ((note->n[2]) << 1)));
-}
-
-/****************************************************************************
-*               filter
-* Inputs:
-*    note_type last: the last note recorded
-* Effect: allow only one control change per time slot (0.01 sec)
-* Implementation:
-*    call ctrl_filter and bend_filter to overwrite control changes with
-*    noop data (the current time is used as a noop)
-****************************************************************************/
-
-private void filter(last)
-note_type last;
-{
-    note_type note;    /* loop control variable */
-    long now=0;   /* last time seen */
-    int command;    /* command pointed to by note */
-
-    for (note = event_buff; note <= last; note++) {
-        if (istime(note)) {
-            now = note->when;
-        } 
-        else {
-            command = note->n[0] & MIDI_CODE_MASK;
-
-            if (command == MIDI_CTRL &&
-                note->n[1] == SUSTAIN) {
-                /* do nothing */;
-            } 
-            else if (command == MIDI_CTRL) {
-                ctrl_filter(note, last, now);
-            } 
-            else if (command == MIDI_TOUCH) {
-                bend_filter(note, last, now);    /* bend and touch use the */
-            } 
-            else if (command == MIDI_BEND) {    /*  same filter routines  */
-                bend_filter(note, last, now);
-            }
-        }
-    }
-}
-
-
-/****************************************************************************
-*               getdur
-* Inputs:
-*    int i: index of the note
-*    note_type last: pointer to the last event recorded
-*    int ped: TRUE if pedal is down at event i
-*    long now: the time at event i
-* Outputs:
-*    returns long: the duration of note i
-* Assumes:
-*    assumes i is a note
-* Implementation:
-*    This is tricky because of pedal messages.  The note is kept on by
-*    either the key or the pedal.  Keep 2 flags, key and ped.  Key is
-*    turned off when a key is released, ped goes off and on with pedal.
-*    Note ends when (1) both key and ped are FALSE, (2) key is
-*    pressed (this event will also start another note).
-****************************************************************************/
-
-private long getdur(i, last, ped, now)
-int i;
-note_type last;
-int ped;
-long now;
-{
-    int key = TRUE;    /* flag that says if note is on */
-    long start = now;
-    int chan = event_buff[i].n[0] & MIDI_CHN_MASK;
-    int pitch = event_buff[i].n[1];
-    note_type note = &(event_buff[i+1]);
-    int noteon; /* TRUE if a noteon message received on chan */
-    int keyon;    /* TRUE if noteon message had non-zero velocity */
-
-    /* search from the next event (i+1) to the end of the buffer:
-         */
-    for (; note < last; note++) {
-        if (istime(note)) {
-            now = note->when;
-        } 
-        else {
-            noteon = keyon = FALSE;
-            if ((note->n[0] & MIDI_CHN_MASK) == chan) {
-                noteon = ((note->n[0] & MIDI_CODE_MASK) == MIDI_ON_NOTE) &&
-                    (note->n[1] == pitch);
-                keyon = noteon && (note->n[2] != 0);
-                if ((noteon && (note->n[2] == 0)) ||
-                    (((note->n[0] & MIDI_CODE_MASK) == MIDI_OFF_NOTE) &&
-                    (note->n[1] == pitch))) key = FALSE;
-                if (((note->n[0] & MIDI_CODE_MASK) == MIDI_CTRL) &&
-                    note->n[1] == SUSTAIN && note->n[2] == 127) ped = TRUE;
-                if (((note->n[0] & MIDI_CODE_MASK) == MIDI_CTRL) &&
-                    note->n[1] == SUSTAIN && note->n[2] == 0) ped = FALSE;
-
-                if ((!key && !ped) || keyon)
-                    return(now - start);
-            }
-        }
-    }
-    return(last->when - start);
-}
-
-/****************************************************************************
-*               getnext
-* Inputs:
-*    int i: the index of the current note
-*    note_type last: pointer to last valid data
-*    long now: the current time
-* Outputs:
-*    returns long: the time of the next note, program, or control change
-*       (returns time of last event if nothing else is found)
-****************************************************************************/
-
-private long getnext(i, last, now)
-int i;    /* the index of the current note */
-note_type last;    /* pointer to last valid data */
-long now;    /* the current time */
-{
-    i++;    /* advance to next item */
-    for (; event_buff + i < last; i++) {
-        note_type note = &(event_buff[i]);
-        int cmd = note->n[0] & MIDI_CODE_MASK;
-
-        if (istime(note)) {
-            now = note->when;
-        } 
-        else if (((cmd == MIDI_ON_NOTE) &&
-            (note->n[2] != 0)) /* note on */ ||
-            (cmd == MIDI_CH_PROGRAM) /* program change */ ||
-            ((cmd == MIDI_CTRL) &&
-            (note->n[1] != SUSTAIN) /* control change */ ) ||
-            (cmd == MIDI_TOUCH) ||
-            (cmd == MIDI_BEND)) {
-            return(now);
-        }
-    }
-    return(last->when);
-}
-
-/****************************************************************************
-*               map_ctrl
-* Inputs:
-*    int control: a midi control number
-* Outputs:
-*    returns char: an adagio control change command letter, EOS if
-*       control change is not one of PORTARATE, PORTASWITCH,
-*       MODWHEEL, FOOT
-****************************************************************************/
-
-private char map_ctrl(control)
-int control;
-{
-    switch (control) {
-/* 'J' is no longer code for PORTARATE
-      case PORTARATE:
-        return 'J'; */
-      case PORTASWITCH:
-        return 'K';
-      case MODWHEEL:
-        return 'M';
-      case VOLUME:
-        return 'X';
-      default:
-        return EOS;
-    }
-#ifdef LATTICE322
-    return EOS;    /* make Lattice C type checker happy */
-#endif
-}
-
-/****************************************************************************
-*               output
-* Inputs:
-*    FILE *fp: an opened file pointer
-*    note_type last: the last data in the buffer
-*    boolean absflag: set to TRUE if first line of the adagio score should
-*       include the absolute time
-* Effect: 
-*    write adagio file using data in event_buff
-* Implementation:
-*    NOTE: put all program changes in rests
-*    use N(ext) notation for all timing
-*    output no more than one continuous parameter change per
-*    clock tick for each continuous change parameter
-****************************************************************************/
-
-private void output(fp, last, absflag)
-FILE *fp;
-note_type last;
-boolean absflag;
-{
-    int i;                      /* loop counter */
-    int command;                /* the current command */
-    int voice;			/* the midi channel of the current event */
-    int last_velocity = -1;	/* used to filter repeated Lnn attributes */
-    int last_voice = 0; 	/* the default adagio channel (1) */
-    int ped = FALSE;            /* flag maintains state of pedal */
-    int how_many = last - event_buff;
-    long now=0;                 /* the time of the next event */
-
-    if (fp == NULL) {
-        gprintf(ERROR, "internal error: output called with NULL file.\n");
-        EXIT(1);
-    }
-
-    if (debug_rec)
-        gprintf(GDEBUG,"hint: if file is not being closed, decrease MAXSPACE\n");
-
-
-    fprintf(fp, "!MSEC\n");     /* times will be in milliseconds */
-    /* set the initial absolute time, all other times are relative */
-
-    if (absflag) {
-        now = event_buff[0].when;
-        if (now < 0) {
-            fprintf(fp, "* First event took place at Adagio time %d,\n",
-                    (int)now);
-            fprintf(fp, "*  but Adagio cannot represent negative times,\n");
-            fprintf(fp, "*  so this entire score will be %d ms late\n",
-                    (int)-now);
-            gprintf(TRANS, "First event took place at Adagio time %d!\n",
-                    (int)now);
-            gprintf(TRANS, "All events times will be %d ms late\n",
-                    (int)-now);
-            now = 0L;
-        }
-        fprintf(fp, "T%ld ", now);
-    }
-
-    for (i = 0; i < how_many; i++) {
-        if (debug_rec) {
-            gprintf(GDEBUG,"ev %d: %x %x %x (%ld)\n", i, event_buff[i].n[0],
-            event_buff[i].n[1], event_buff[i].n[2], event_buff[i].when);
-        }
-
-        if (istime(event_buff+i)) {
-            now = event_buff[i].when;
-            if (debug_rec) gprintf(GDEBUG,"i = %d, now = %ld\n", i, now);
-        } else {
-            boolean needs_voice = TRUE;
-            command = event_buff[i].n[0] & MIDI_CODE_MASK;
-            voice = event_buff[i].n[0] & MIDI_CHN_MASK;
-
-            if (command == MIDI_ON_NOTE && event_buff[i].n[2] != 0) {
-                int velocity =	event_buff[i].n[2];
-                write_pitch(fp, event_buff[i].n[1]);
-                fprintf(fp, " U%ld", getdur(i, last, ped, now));
-                if (last_velocity != velocity) {
-                    fprintf(fp, " L%d", velocity);
-                    last_velocity = velocity;
-                }
-            } else if (command == MIDI_CH_PROGRAM) {
-                fprintf(fp, "Z%d", event_buff[i].n[1] + 1);
-            } else if (command == MIDI_CTRL &&
-                event_buff[i].n[1] == SUSTAIN) {
-                ped = (event_buff[i].n[2] != 0);
-                needs_voice = FALSE;
-            } else if (command == MIDI_CTRL) {
-                char c = map_ctrl(event_buff[i].n[1]);
-                if (c != EOS) fprintf(fp, "%c%d", c, event_buff[i].n[2]);
-                else fprintf(fp, "~%d(%d)", event_buff[i].n[1], event_buff[i].n[2]);
-            } else if (command == MIDI_TOUCH) {
-                fprintf(fp, "O%d", event_buff[i].n[1]);
-            } else if (command == MIDI_BEND) {
-                fprintf(fp, "Y%d", event_bend(&event_buff[i]));
-            } else if (command == MIDI_ON_NOTE || command == MIDI_OFF_NOTE) {
-                needs_voice = FALSE; /* ignore note-offs */
-            } else {
-                gprintf(ERROR, "Command 0x%x ignored\n", command);
-                needs_voice = FALSE;
-            }
-            if (needs_voice) {
-                if (last_voice != voice) {
-                    fprintf(fp, " V%d", voice + 1);
-                    last_voice = voice;
-                }
-                fprintf(fp, " N%d", (int)(getnext(i, last, now) - now));
-                fprintf(fp, "\n");
-            }
-        }
-    }
-}
-
-
-/****************************************************************************
-*               write_pitch
-* Inputs:
-*    FILE *fp: an open file
-*    int p: a pitch number
-* Effect: write out the pitch name for a given number
-****************************************************************************/
-
-void write_pitch(FILE *fp, int p)
-{
-    static char *ptos[] = {
-        "C", "CS", "D", "EF", "E", "F", "FS", "G",
-        "GS", "A", "BF", "B"	};
-    /* avoid negative numbers: adagio can't express lowest octave: */
-    while (p < 12) {
-        if (!fixed_octave) {
-            gprintf(ERROR, "%s%s%s",
-                    "A low note was transposed up an octave\n",
-                    "(Adagio cannot express the lowest MIDI octave).\n",
-                    "This message will appear only once.\n");
-            fixed_octave = TRUE;
-        }
-        p += 12;
-    }
-    fprintf(fp, "%s%d", ptos[p % 12], (p / 12) - 1);
-}
-
-/**********************************************************************
-*           rec_final
-* Inputs:
-*    boolean absflag: output absolute time of first note if TRUE
-* Effect:
-*    Write recorded data to a file
-**********************************************************************/
-
-void rec_final(FILE *fp, boolean absflag)
-{
-    next->when = gettime();
-    last = next;
-    if (debug_rec) gprintf(GDEBUG,"max_pile_up = %d, ", max_pile_up);
-    gprintf(TRANS,"%ld times and events recorded.\n", 
-                  (long) (last - event_buff));
-    filter(last);
-    output(fp, last, absflag);
-    fclose(fp);
-    FREE(event_buff);
-    max_notes = -1;
-}
-
-/****************************************************************************
-*               rec_init
-* Inputs:
-*    char *file:  pointer to file name from command line (if any)
-*    boolean bender: TRUE if pitch bend should be enabled
-* Outputs:
-*    return TRUE if initialization succeeds
-* Effect:
-*    prepares module to record midi input
-****************************************************************************/
-
-/* ENOUGH_ROOM says if we have room for 10000 events + 10000 timestamps =
- * 20000 note_struct's, then that's "enough room" for recording a sequence.
- * If more ram is available, it won't be used.  If less is available, we'll
- * use as much as we can get, minus "SPACE_FOR_PLAY", which leaves a little
- * bit of spare ram in case Moxc or stdio need to allocate some space.
- *      For DOS, we limit recording space to 64K.
- */
-#ifdef DOS
-#define ENOUGH_ROOM 64000L
-#else
-#define ENOUGH_ROOM (20000L * sizeof(union note_struct))
-#endif
-
-
-boolean rec_init(boolean bender)
-{
-    size_t biggestChunk, spaceForRecord;
-
-    debug_rec = cl_switch("debug");
-    byteorder();
-    pile_ups = 0;
-    max_pile_up = 0;
-    previous_time = (unsigned) -1L; /* this will force putting in initial timestamp */
-    fixed_octave = FALSE;
-
-    if (max_notes == -1) {    /* allocate space 1st time rec_init called */
-        biggestChunk = AVAILMEM;
-        if (biggestChunk <= SPACE_FOR_PLAY) {
-            /* not enough memory; give up */
-            return(FALSE);
-        } 
-        else {
-            spaceForRecord =
-                MIN((biggestChunk - SPACE_FOR_PLAY), ENOUGH_ROOM);
-            /* leave SPACE_FOR_PLAY contiguous bytes of memory */
-        }
-        max_notes = spaceForRecord / sizeof(note_node);
-        /*    gprintf(GDEBUG,"max_notes = %d\n", max_notes);*/
-        event_buff = (note_type) MALLOC(spaceForRecord);
-        if (event_buff == NULL) {
-            /* should never happen */
-            gprintf(FATAL, "Implementation error (record.c): getting memory.");
-            return FALSE;
-        }
-    }
-    next = event_buff;
-    last = event_buff + max_notes - 2; /* it is critical that last not point
-                                        * to the very last storage loc */
-    midi_cont(bender);
-    return((boolean)(max_notes > 10));
-    /* it would be silly to record with only room enough for 10 notes! */
-}
-
-
-/****************************************************************************
-*               rec_event
-* Inputs:
-*    long time: the current time
-*    long data: midi data to record
-* Outputs:
-*    returns FALSE if there is no more memory
-* Effect: reads and stores any input
-* Implementation:
-*    time stamps and midi events share the same buffer of 4-byte events
-*    save time at most once per call to rec_poll
-*    save time only if it changes
-****************************************************************************/
-
-boolean rec_event(long *data, time_type time)
-{
-    /* can't allow negative time because sign bit distinguishes 
-     * data from time: */
-    if (time < 0) time = 0;
-
-    if (previous_time != time) {
-        next++->when = previous_time = time;
-        if (next >= last) goto overflow;
-    }
-
-    next->when = *data;
-    next++->n[3] = MIDI_CMD_BIT;        /* set tag bit */
-    if (next >= last) goto overflow;
-    return TRUE;
-
-overflow:
-    next = last; /* last doesn't really point to last storage */
-    gprintf(ERROR, "No more memory.\n");
-    return FALSE;
-}
diff --git a/lib-src/libnyquist/cmt/record.h b/lib-src/libnyquist/cmt/record.h
deleted file mode 100644
index de1479d..0000000
--- a/lib-src/libnyquist/cmt/record.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* Copyright 1989 Carnegie Mellon University */
-
-boolean rec_init(boolean bender);
-boolean rec_event(long *data, time_type time);
-void rec_final(FILE *fp, boolean absflag);
-void write_pitch(FILE *fp, int p);
diff --git a/lib-src/libnyquist/cmt/seq.c b/lib-src/libnyquist/cmt/seq.c
deleted file mode 100644
index eb7fc04..0000000
--- a/lib-src/libnyquist/cmt/seq.c
+++ /dev/null
@@ -1,1210 +0,0 @@
-/* seq.c -- implement adagio scores as abstract data type */
-
-/*****************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-*  2-Apr-91 | JDW : further changes
-* 16-Feb-92 | GWL : use reg_timebase in seq_play()
-* 28-Apr-03 |  DM : false->FALSE, true->TRUE, portability changes
-* 19-May-03 | RBD : no longer assume seq->current remains untouched between 
-*           |       note inserts
-*****************************************************************************/
-
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-#include "midicode.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "moxc.h"
-#include "seq.h"
-#include "string.h"
-
-extern int moxcdebug;
-extern timebase_type default_base;
-
-boolean seq_print = FALSE;      /* debugging print switch */
-
-seq_type sequence;      /* this is a global to be accessed by routines called
-                         * from the sequence */
-
-/* clock state: */
-time_type clock_ticksize;       /* millisec per tick shifted 16 bits */
-boolean clock_running = FALSE;  /* TRUE if clock is running */
-boolean external_midi_clock = FALSE;
-boolean suppress_midi_clock = FALSE;
-
-private void insert_event();
-private void process_event();
-
-private char *chunk_alloc();
-private void clock_tick();
-private void ramp_event(seq_type seq, event_type event, unsigned int value,
-    unsigned int to_value, int increment, time_type step, int n);
-/*private*/ void send_macro();
-
-/* chunk_alloc -- allocate data for a sequence */
-/*
- * NOTE: This assumes one chunk is already allocated.
- * The first chunk holds shared sequence information in 
- * the info struct, and by convention this is always in
- * the first chunk.
- */
-private char *chunk_alloc(seq_type seq, int size)
-{
-    chunk_type chunk = seq->chunklist->u.info.last_chunk;
-    /* gprintf(TRANS, "chunk_alloc: seq %lx size %d\n", seq, size); */
-    if (size & 1) size++;	/* make it even */
-    if (chunk->free + size >= CHUNK_SIZE) {
-        chunk_type new_chunk = chunk_create(FALSE);
-        if (!chunk) {
-            gprintf(FATAL, "Out of memory while reading seq\n");
-            return NULL;
-        }
-        /* add new_chunk to chunk chain */
-        seq->chunklist->u.info.last_chunk = new_chunk;
-        chunk->next = new_chunk;
-        chunk = new_chunk;
-    }
-    chunk->free += size;
-    return &(chunk->u.data[chunk->free - size]);
-}
-
-
-/* chunk_create -- create a new chunk for seq data */
-/*
- * If this is the first chunk, set first_flag to reserve
- * space for the info structure.
- */
-chunk_type chunk_create(boolean first_flag)
-{
-    chunk_type result = (chunk_type) memget(sizeof(chunk_node));
-    if (result) {
-        result->next = NULL;
-        result->u.info.refcount = 1;  /* pre-initialize for caller */
-        result->free = 0;
-        if (first_flag) {
-            result->free = sizeof(struct info_struct);
-            result->u.info.last_chunk = result;
-            result->u.info.dictionary = NULL;
-            result->u.info.eventlist = NULL; 
-            result->u.info.ctrlcount = 0;
-            result->u.info.notecount = 0;
-            result->u.info.duration = 0;
-            result->u.info.used_mask = 0;
-        }
-    }
-    /* gprintf(TRANS, "chunk_create: got %lx (size %d)\n", */
-                   /* result, sizeof(chunk_node)); */
-    return result;
-}
-
-/* clock_tick -- advance the clock and send a tick */
-/**/
-private void clock_tick(seq, fraction)
-  seq_type seq;
-  time_type fraction;
-{
-    int delay;
-    fraction += clock_ticksize;
-    delay = fraction >> 16;
-    fraction &= 0xFFFF;
-    if (seq->runflag && clock_ticksize && seq->note_enable) {
-        midi_clock();
-        cause((delay_type)delay, clock_tick, seq, fraction);
-    } else {
-        clock_running = FALSE;
-        midi_stop();
-        midi_clock(); /* stop takes effect on next clock, so provide one */
-    }
-}
-
-private void cycle(seq)
-  seq_type seq;
-{
-    seq_reset(seq);
-    seq_play(seq);
-}
-
-
-
-/****************************************************************************
-*               event_create
-* Inputs:
-*    seq_type seq: the seq to hold the event
-*    int size: the size of the event in bytes
-*    time_type etime: the time of the event
-*    int eline: the line number of the event
-* Returns:
-*    event_type: a new event structure or
-*               NULL if there is not enough memory left
-* Effect:
-*    allocates memory from the chunk, then heap as needed
-* Implementation:
-*    to reduce the per block storage overhead, we allocate memory in
-*    large chunks and do our own allocation.  Allocate from first
-*    chunk first.  If full, allocate a new chunk.
-* WARNING: this implementation assumes that individual events are never freed!!
-****************************************************************************/
-
-private event_type event_create(seq, size, etime, eline)
-  seq_type seq;
-  int size;
-  time_type etime;
-  int eline;
-{
-    event_type result = (event_type) chunk_alloc(seq, size);
-    if (result) {
-        result->ntime = etime;
-        result->nline = eline;
-        /* since we know the time, we can insert now: */
-        insert_event(seq, result);
-        seq_duration(seq) = MAX(seq_duration(seq), etime);
-    }
-    return result;
-}
-
-
-/* insert_call -- add a call event to the seq */
-/**/
-event_type insert_call(seq, ctime, cline, voice, addr, value, n)
-  seq_type seq;
-  time_type ctime;
-  int cline;
-  int voice;
-  int (*addr)();
-  long value[SEQ_MAX_PARMS];
-  int n;
-{
-    int i;
-    register event_type event = event_create(seq, callsize, ctime, cline);
-    if (seq_print) {
-        gprintf(TRANS, 
-            "call(%lx): time %ld, line %d, voice %d, fn %lx,\n\tvalues:",
-            event, ctime, cline, voice, addr);
-        for (i = 0; i < n; i++) gprintf(TRANS, " %ld", value[i]);
-        gprintf(TRANS, "\n");
-    }
-    if (event) {
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = ctrl_voice(ESC_CTRL, voice);
-        event->value = CALL_VALUE;
-        event->u.call.routine = addr;
-        /* save the arguments */
-        for (i = 0; i < n; i++) event->u.call.args.a[i] = value[i];
-        seq_ctrlcount(seq)++;
-    }
-    return event;       
-}
-
-  
-/* insert_clock -- add a clock cmd to the seq */
-/**/
-event_type insert_clock(seq, ctime, cline, ticksize)
-  seq_type seq;
-  time_type ctime;
-  int cline;
-  time_type ticksize;
-{
-    register event_type event = event_create(seq, clocksize, ctime, cline);
-
-    if (seq_print) {
-        gprintf(TRANS, "clock(%lx): time %ld, line %d\n", event, ctime, cline);
-    }
-    if (event) {
-        event->nvoice = ctrl_voice(ESC_CTRL, 1);
-        event->value = CLOCK_VALUE;
-        event->u.clock.ticksize = ticksize;
-        seq_ctrlcount(seq)++;
-    }
-    return event;
-}
-
-
-/* insert_ctrl -- add a control to the seq */
-/**/
-event_type insert_ctrl(seq, ctime, cline, ctrl, voice, value)
-  seq_type seq;
-  time_type ctime;
-  int cline;
-  int ctrl;
-  int voice;
-  int value;
-{
-    register event_type event = event_create(seq, ctrlsize, ctime, cline);
-    if (seq_print) {
-        gprintf(TRANS,
-            "ctrl(%lx): time %ld, line %d, ctrl %d, voice %d, value %d\n",
-            event, ctime, cline, ctrl, voice, value);
-    }
-    if (event) {
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = ctrl_voice(ctrl, voice);
-        event->value = value;
-        seq_ctrlcount(seq)++;
-    }
-    return event;
-}
-
-
-/* insert_ctrlramp -- add a control ramp event to the seq */
-/**/
-event_type insert_ctrlramp(seq, rtime, rline, voice, step, dur, ctrl, v1, v2)
-  seq_type seq;
-  time_type rtime;
-  int rline;
-  int voice;
-  time_type step;
-  time_type dur;
-  int ctrl;
-  int v1, v2;
-{
-    register event_type event = event_create(seq, ctrlrampsize, rtime, rline);
-    if (seq_print) {
-        gprintf(TRANS, 
-            "ctrlramp(%lx): time %ld, line %d, step %ld, dur %ld, ctrl %d, voice %d\n",
-            event, rtime, rline, step, dur, ctrl, voice);
-        gprintf(TRANS, "\tfrom %d to %d\n", v1, v2);
-    }
-
-    if (event) {
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = ctrl_voice(ESC_CTRL, voice);
-        event->value = CTRLRAMP_VALUE;
-        if (dur <= 0) dur = 1L; /* don't allow zero duration */
-        event->u.ramp.dur = dur;
-        event->u.ramp.ctrl = ctrl;
-        if (step <= 0) step = 1; /* don't allow zero step size */
-        event->u.ramp.step = (short) step;
-        event->u.ramp.u.ctrl.from_value = v1;
-        event->u.ramp.u.ctrl.to_value = v2;
-        seq_ctrlcount(seq)++;
-        seq_duration(seq) = MAX(seq_duration(seq), rtime + dur);
-    }
-    return event;
-}
-
-
-/* insert_def -- add a definition to the dictionary */
-/**/
-def_type insert_def(seq, symbol, definition, deflen)
-  seq_type seq;
-  char *symbol;
-  unsigned char *definition;
-  int deflen;
-{
-    int i;
-    def_type defn = (def_type) chunk_alloc(seq, sizeof(def_node));
-    defn->symbol = chunk_alloc(seq, strlen(symbol) + 1);
-    defn->definition = (unsigned char *) chunk_alloc(seq, deflen);
-    strcpy(defn->symbol, symbol);
-    for (i = 0; i < deflen; i++) {
-        defn->definition[i] = definition[i];
-    }
-    defn->next = seq_dictionary(seq);
-    seq_dictionary(seq) = defn;
-    if (seq_print) {
-        gprintf(TRANS, "def(%ld): symbol %s defn \n", defn, symbol);
-        for (i = 0; i < deflen; i++) gprintf(TRANS, "%x", definition[i]);
-        gprintf(TRANS, "\n");
-    }
-    return defn;
-}
-
-
-/* insert_deframp -- add a def ramp event to the seq */
-/**/
-event_type insert_deframp(seq, rtime, rline, voice, step, dur,
-                          def, nparms, parms, parm_num, to_value)
-  seq_type seq;
-  time_type rtime;
-  int rline;
-  int voice;
-  time_type step;
-  time_type dur;
-  def_type def;
-  int nparms;           /* number of parameters for macro */
-  short parms[];        /* actual parameter vector */
-  int parm_num;         /* which of the actual parameters to ramp */
-  int to_value;         /* final destination of ramp */
-{
-    register event_type event = event_create(seq, deframpsize, rtime, rline);
-    if (seq_print) {
-        int i;
-        gprintf(TRANS, 
-            "deframp(%ld): time %ld, line %d, voice %d, step %ld, dur %ld\n",
-            event, rtime, rline, voice, step, dur);
-        gprintf(TRANS, "def %ld, parms");
-        for (i = 0; i < nparms; i++) gprintf(TRANS, " %d", parms[i]);
-        gprintf(TRANS, "parm_num %d to %d\n", parm_num, to_value);
-    }
-    if (event) {
-        int i;
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = ctrl_voice(ESC_CTRL, voice);
-        event->value = DEFRAMP_VALUE;
-        if (dur <= 0) dur = 1L; /* don't allow zero duration */
-        event->u.ramp.dur = dur;
-        event->u.ramp.ctrl = 0;
-        if (step <= 0) step = 1; /* don't allow zero step size */
-        event->u.ramp.step = (short) step;
-        event->u.ramp.u.def.definition = def->definition;
-         for (i = 0; i < nmacroparms; i++) {
-            event->u.ramp.u.def.parameter[i] = (i < nparms ? parms[i] : 0);
-        }
-        event->u.ramp.u.def.parm_num = parm_num;
-        event->u.ramp.u.def.to_value = to_value;
-        seq_ctrlcount(seq)++;
-        seq_duration(seq) = MAX(seq_duration(seq), rtime + dur);
-    }
-    return event;
-}
-
-
-/****************************************************************************
-*               insert_event
-* Inputs:
-*    seq_type seq: where to put the event
-*    event_type event: the event to insert
-* Effect:
-*    inserts event into the event list
-*    NOTE: it is inserted *after* previously inserted events with the same time
-* Implementation:
-*    adagio files often contain many independent voices.  Although each voice
-*    consists of events in sequence, the voices need not be inter-twined in
-*    the input file.  Rather, all the events of voice 1 appear followed by all
-*    the events of voice 2, and so forth.  As phase one merges these event
-*    sequences, it must make many passes over an increasingly long list of
-*    events: expensive if we always start from the beginning of the list!
-*    we can exploit the fact that each voice is sequential by starting the
-*    search for the proper point of insertion at the last event inserted.
-*    the variable "last_event" is used to remember this hint.  We could
-*    also snapshot "last_event" in "ref_event" when a !tempo or !rate
-*    command occurs as another hint, but we don't.
-****************************************************************************/
-
-private void insert_event(seq, event)
-  seq_type seq;
-  register event_type event;
-{
-    event_type *evlptr = &(seq_eventlist(seq));
-    if ((*evlptr == NULL) ||
-        (event->ntime < (*evlptr)->ntime)) {
-        /* insert at the head of the list */
-        event->next = *evlptr;
-        *evlptr = event;
-        seq->current = event;
-    } else {
-        /* insert somewhere after the head of the list
-         * do not assume: current is not NULL.  Although we always leave
-		 * it set, the client may access the sequence before the next
-		 * insert.
-         */
-        register event_type previous;
-        register event_type insert_before;
-
-		if (!seq->current) {
-			seq->current = seq_eventlist(seq);
-		}
-        if (event->ntime >= seq->current->ntime) {
-            /* insertion point is after current */
-            previous = seq->current;
-            insert_before = previous->next;
-        } else {
-            /* insertion point is before current; start at beginning */
-            /* assume: not inserting at very head of list; that would
-             * have been taken care of above */
-            previous = seq_events(seq);
-            insert_before = previous->next;
-        }
-
-        while ((insert_before != NULL) &&
-            (event->ntime >= insert_before->ntime)) {
-            previous = insert_before;
-            insert_before = insert_before->next;
-        }
-        previous->next = event;
-        event->next = insert_before;
-        seq->current = event;
-    }
-}
-
-
-/* insert_macctrl -- add a control to the seq */
-/**/
-event_type insert_macctrl(seq, ctime, cline, ctrl, voice, value)
-  seq_type seq;
-  time_type ctime;
-  int cline;
-  int ctrl;
-  int voice;
-  int value;
-{
-    register event_type event = event_create(seq, macctrlsize, ctime, cline);
-    if (seq_print) {
-        gprintf(TRANS, 
-            "macctrl(%lx): time %ld, line %d, ctrl %d, voice %d, value %d\n",
-            event, ctime, cline, ctrl, voice, value);
-    }
-    if (event) {
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = ctrl_voice(ESC_CTRL, voice);
-        event->value = MACCTRL_VALUE;
-        event->u.macctrl.ctrl_number = ctrl;
-        event->u.macctrl.value = value;
-        seq_ctrlcount(seq)++;
-    }
-    return event;
-}
-
-
-/* insert_macro -- insert a macro call seq */
-/**/
-event_type insert_macro(seq, ctime, cline, def, voice, nparms, parms)
-  seq_type seq;
-  time_type ctime;
-  int cline;
-  def_type def;
-  int voice;
-  int nparms;
-  short *parms;
-{
-    register event_type event = event_create(seq, macrosize, ctime, cline);
-    if (seq_print) {
-        int i;
-        gprintf(TRANS, 
-            "macro(%lx): time %ld, line %d, def %ld, voice %d, parms",
-            event, ctime, cline, def, voice);
-        for (i = 0; i < nparms; i++) gprintf(TRANS, " %d", parms[i]);
-        gprintf(TRANS, "\n");
-    }
-    if (event) {
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = ctrl_voice(ESC_CTRL, voice);
-        event->value = MACRO_VALUE;
-        event->u.macro.definition = def->definition;
-        while (nparms-- > 0) {
-            event->u.macro.parameter[nparms] = parms[nparms];
-        }
-        seq_ctrlcount(seq)++;
-    }
-    return event;
-}
-
-
-/* insert_note -- add a note to the seq */
-/**/
-event_type insert_note(seq, ntime, nline, voice, pitch, dur, loud)
-  seq_type seq;
-  time_type ntime;
-  int nline;
-  int voice;
-  int pitch;
-  time_type dur;
-  int loud;
-{
-    register event_type event = event_create(seq, notesize, ntime, nline);
-
-    if (seq_print) {
-        gprintf(TRANS,
-  "note(%lx): time %ld, line %d, dur %ld, pitch %d, voice %d, loudness %d\n",
-                event, ntime, nline, dur, pitch, voice, loud);
-    }
-    
-    if (event) {
-        seq_used_mask(seq) |= 1 << (voice - 1);
-        event->nvoice = voice - 1;
-        event->value = pitch;
-        event->u.note.ndur = (dur << 8) + loud;
-        seq_notecount(seq)++;
-        seq_duration(seq) = MAX(seq_duration(seq), ntime + dur);
-    }
-    return event;
-}
-
-
-/* insert_seti -- add a seti event to the seq */
-/**/
-event_type insert_seti(seq, stime, sline, voice, addr, value)
-  seq_type seq;
-  time_type stime;
-  int sline;
-  int voice;
-  int *addr;
-  int value;
-{
-    register event_type event = event_create(seq, setisize, stime, sline);
-    if (seq_print) {
-        gprintf(TRANS, 
-            "seti(%ld): time %ld, line %d, voice %d, addr %ld, value %d\n",
-            event, stime, sline, voice, addr, value);
-    }
-    if (event) {
-        event->nvoice = ctrl_voice(ESC_CTRL, voice);
-        event->value = SETI_VALUE;
-        event->u.seti.int_to_set = addr;
-        event->u.seti.value = value;
-        seq_ctrlcount(seq)++;
-    }
-    return event;       
-}
-
-
-/* noop -- just returns, the default stopfunc for sequences */
-/**/
-void noop(seq_type seq) {}
-
-
-private void process_event(seq)
-  seq_type seq;
-{
-    register event_type event;
-    if (!seq->runflag) return;
-    while ((event = seq->current) && (event->ntime <= virttime)) {
-        int voice;
-        /* process all current (and earlier) events */
-        if (is_note(event)) {   /*** play a note or rest ***/
-            /* if this note is not a rest, play it and schedule an off event */
-            if (event->value != NO_PITCH &&
-                  (seq_channel_mask(seq) &
-                   (1 << ((voice = vc_voice(event->nvoice)) - 1)))) {
-                seq_noteon(seq, voice, event->value,
-                         (int) event->u.note.ndur & 0xFF);
-                if (debug) {
-                    gprintf(TRANS, "play pitch %d at %ld\n",
-                                event->value, event->ntime);
-                }
-                seq_cause_noteoff(seq, (event->u.note.ndur) >> 8,
-                    voice, event->value);
-
-            }
-        } else {                    /*** send a control command ***/
-            int n;
-            time_type step;
-            int delta;
-            long increment;
-            int voice = vc_voice(event->nvoice);
-            ulong enabled = seq_channel_mask(seq) & (1 << (voice - 1));
-
-            switch (vc_ctrl(event->nvoice)) {
-              case PSWITCH_CTRL:
-                if (!enabled) break;
-                seq_midi_ctrl(seq, voice, PORTASWITCH, event->value);
-                break;
-              case MODWHEEL_CTRL:
-                if (!enabled) break;
-                seq_midi_ctrl(seq, voice, MODWHEEL, event->value);
-                break;
-              case TOUCH_CTRL:
-                if (!enabled) break;
-                seq_midi_touch(seq, voice, event->value);
-                break;
-              case VOLUME_CTRL:
-                if (!enabled) break;
-                seq_midi_ctrl(seq, voice, VOLUME, event->value);
-                break;
-              case BEND_CTRL:
-                if (!enabled) break;
-                seq_midi_bend(seq, voice, (event->value << 6));
-                break;
-              case PROGRAM_CTRL:
-                if (!enabled) break;
-                seq_midi_program(seq, voice, event->value + 1);
-                break;
-              case ESC_CTRL:
-                switch (event->value) {
-                  case CALL_VALUE:
-                    sequence = seq;
-                    (*(event->u.call.routine))(event->u.call.args);
-                    break;
-                  case CLOCK_VALUE:
-                    clock_ticksize = event->u.clock.ticksize;
-                    if (!clock_running && !suppress_midi_clock && 
-                        !external_midi_clock) {
-                        clock_running = TRUE;
-                        midi_start();
-                        clock_tick(seq, 0L);
-                    }
-                    break;
-                  case MACCTRL_VALUE:
-                    if (!enabled) break;
-                    seq_midi_ctrl(seq, voice, event->u.macctrl.ctrl_number,
-                                              event->u.macctrl.value);
-                    break;
-                  case MACRO_VALUE: {
-                    if (!enabled) break;
-                    send_macro(event->u.macro.definition, voice,
-                               event->u.macro.parameter, -1, 0,
-                               event->nline);
-                    break;
-                  }
-                  case CTRLRAMP_VALUE:
-                  case DEFRAMP_VALUE: {
-                    int from, to;
-                    if (!enabled) break;
-
-                    step = event->u.ramp.step;
-                    if (event->value == CTRLRAMP_VALUE) {
-                        from = event->u.ramp.u.ctrl.from_value;
-                        to = event->u.ramp.u.ctrl.to_value;
-                    } else {
-                        from = event->u.ramp.u.def.parameter[
-                                    event->u.ramp.u.def.parm_num];
-                        to = event->u.ramp.u.def.to_value;
-                    }
-                    delta = to - from;
-                    increment = delta;
-                    if (delta < 0) delta = -delta;
-                    /* Note: Step is always non-zero */
-                    n = event->u.ramp.dur / step;
-                    increment = (increment << 8) / n;
-                    ramp_event(seq, event, from << 8, to << 8, 
-                               (int) increment, step, n);
-                    seq->noteoff_count++;
-                    break;
-                  }
-                  case SETI_VALUE:
-                    *(event->u.seti.int_to_set) = event->u.seti.value;
-                    break;
-                  default:
-                    gprintf(TRANS, "unexpected ESC_CTRL value\n");
-                    break;
-                }
-                break;
-              default:
-                gprintf(TRANS, "unexpected seq data\n");
-                break;
-            }
-        }
-        seq->current = event->next;
-    }
-    if (seq->current) {
-        cause((delay_type)(event->ntime - virttime), process_event, seq);
-    } else if (seq->noteoff_count == 0 && seq->note_enable) {
-        /* if we're just advancing to a start point, note_enable will be
-         * FALSE and this won't get called:
-         */
-        if (seq->stopfunc) {
-            (*(seq->stopfunc))(seq);
-        }
-    }
-}
-
-
-/* ramp_event -- generate a ramp */
-/**/
-private void ramp_event(seq, event, value, to_value, increment, step, n)
-  seq_type seq;
-  register event_type event;
-  unsigned int value;
-  unsigned int to_value;
-  int increment;
-  time_type step;
-  int n;
-{
-    if (seq->runflag) {
-        int voice = vc_voice(event->nvoice);
-/*      printf("ramp_event: value %d to_value %d increment %d step %d n %d time %d\n",
-               value, to_value, increment, step, n, virttime); */
-        if (n == 0) value = to_value;
-        else {
-            causepri((delay_type)step, 5, ramp_event, seq, event, value + increment,
-                   to_value, increment, step, n - 1);
-        }
-        if (event->value == CTRLRAMP_VALUE) {
-            int ctrl = event->u.ramp.ctrl;
-            if (ctrl == -TOUCH_CTRL) midi_touch(voice, value >> 8);
-            else if (ctrl == -BEND_CTRL) midi_bend(voice, value >> 2);
-            else midi_ctrl(voice, ctrl, value >> 8);
-        } else { /* must be DEFRAMP_VALUE */
-            send_macro(event->u.ramp.u.def.definition,
-                       vc_voice(event->nvoice),
-                       event->u.ramp.u.def.parameter,
-                       event->u.ramp.u.def.parm_num, value >> 8,
-                       event->nline);
-        }
-        if (n == 0) seq_end_event(seq);
-    }
-}
-
-
-/* report_enabled_channels -- print out concise listing of channels */
-/*
- * to fit on one line, write out ranges, e.g. 1-5 9-11 
- */
-void report_enabled_channels(seq)
-  seq_type seq;
-{
-    ulong mask = seq_channel_mask(seq);
-    int i, range_open_at = 0;
-
-    for (i = 1; i <= MAX_CHANNELS; i++) {
-        if (!range_open_at && (mask & 1)) {
-            gprintf(TRANS, " %d", i);
-            range_open_at = i;
-        } else if (range_open_at && !(mask & 1)) {
-            if (i > (range_open_at + 1)) {
-                gprintf(TRANS, "-%d", i - 1);
-            }
-            range_open_at = 0; /* FALSE */
-        }
-        mask = mask >> 1;
-    }
-    if (range_open_at) gprintf(TRANS, "-%d", MAX_CHANNELS);
-}
-
-
-/* send_macro -- instantiate macro and send it */
-/*
- * note: to support ramping, "value" is used in place of
- *       parameter["parm_num"]
- */
-/*private*/
-void send_macro(ptr, voice, parameter, parm_num, value, nline)
-  register unsigned char *ptr;
-  int voice;
-  short parameter[];
-  int parm_num;
-  int value;    
-  int nline;
-{
-    register unsigned char code, *loc;
-    while ((code = *ptr++)) {
-        loc = ptr + *ptr;
-        ptr++;
-        if (code <= nmacroparms) {
-            code--;
-            *loc = (code == parm_num ? value : parameter[code]) & 0x7f;
-        } else if (code == nmacroparms + 1) {
-            /* take old high order bits and OR in 4 voice bits */
-            *loc = (*loc & 0xF0) | ((voice - 1) & 0xF);
-        } else {
-            code -= (nmacroparms + 2);
-            *loc = ((code == parm_num ? value : parameter[code]) >> 7) & 0x7F;
-        }
-    }
-    if (ptr[1] == MIDI_SYSEX) {
-        midi_exclusive(ptr + 1);
-    } else {
-        /* make sure user didn't try to send more than 3 bytes.  This test
-         * could be done at sequence read time, but it's tricky because the
-         * first byte could be a parameter, so in general you need to 
-         * plug the actual parameters into the message and then do the test.
-         * Currently, this is the only place parameters are plugged in.
-         */
-        if (*ptr > 3) {
-            gprintf(ERROR, 
-                    "Non-sysex macro longer than 3 bytes ignored, line %d.\n",
-                     nline);
-        } else {
-            midi_write((int) *ptr, MIDI_PORT(voice), ptr[1], ptr[2], ptr[3]);
-        }
-    }
-}
-
-
-/* seq_alloc -- a utility function to allocate a seq struct */
-/**/
-seq_type seq_alloc()
-{
-    seq_type seq;
-    seq = (seq_type) memget(sizeof(seq_node));
-    return seq;
-}    
-
-
-/* seq_at_end -- set the function to be called at sequence end */
-/**/
-void seq_at_end(seq, fn)
-  seq_type seq;
-  void (*fn)(seq_type);
-{
-    if (!fn) fn = noop;
-    seq->stopfunc = fn;
-}
-
-
-/* seq_cause_noteoff_meth -- turn off a note in the future */
-/**/
-void seq_cause_noteoff_meth(seq, delay, voice, pitch)
-  seq_type seq;
-  time_type delay;
-  int voice;
-  int pitch;
-{
-    if (seq->note_enable) {
-        pitch += seq->transpose;
-        while (pitch < 0) pitch += 12;
-        while (pitch > 127) pitch -= 12;
-        seq->noteoff_count++;
-        causepri((delay_type) delay, 10, seq->noteoff_fn,
-                 seq, voice, pitch);
-    }
-}
-
-/* seq_copy -- copy a sequence, share the eventlist */
-/**/
-seq_type seq_copy(from_seq)
-  seq_type from_seq;
-{
-    register seq_type seq = seq_init(seq_alloc(), FALSE);
-    if (!seq) return NULL;
-    seq->chunklist = from_seq->chunklist;
-    seq->current = seq_events(seq);
-    seq->chunklist->u.info.refcount++;
-    seq->transpose = from_seq->transpose;
-    seq->loudness = from_seq->loudness;
-    seq->rate = from_seq->rate;
-    seq->paused = from_seq->paused;
-    seq->noteoff_count = 0;
-    return seq;
-}
-
-
-/* seq_create -- create a seq structure and an initial event chunk */
-/**/
-seq_type seq_create()
-{
-    return seq_init(seq_alloc(), TRUE);
-}
-
-
-/* seq_cycle -- set parameters for cycling a sequence */
-/**/
-void seq_cycle(seq_type seq, boolean flag, time_type dur)
-{
-    seq->cycleflag = flag;
-    seq->cycledur = dur;
-}
-
-
-/* seq_end_event -- call this when an score-generated event ends */
-/*
- * Assumes that noteoff_count was incremented when event started.
- */
-void seq_end_event(seq)
-  seq_type seq;
-{
-    /*gprintf(TRANS, "nd");*/
-    seq->noteoff_count--;
-    if (seq->current == NULL /* finished seq */ &&
-        seq->noteoff_count == 0 /* finished noteoff's */ &&
-        seq->runflag /* we've not been stopped */) {
-        if (seq->cycleflag) {
-            cause((delay_type) (seq->cycledur - virttime), cycle, seq);
-        } else if (seq->stopfunc) {
-            (*(seq->stopfunc))(seq);
-        }
-    }
-}
-
-
-
-/****************************************************************************
-*               seq_free_meth
-* Input: a seq_type
-* Effect:
-*    frees storage occupied by a seq
-****************************************************************************/
-
-private void seq_free_meth(seq)
-  seq_type seq;
-{
-    seq_free_chunks(seq);
-    if (seq->timebase) timebase_free(seq->timebase);
-    memfree((void *) seq, sizeof(seq_node));
-}
-
-
-/* seq_free_chunks -- free storage for note list */
-/*
- * NOTE: in its original form, this routine was perhaps more readable,
- * but would not compile under Microsoft C V7.00 due to a compiler bug.
- * I rewrote the code until the bug disappeared, hopefully without
- * changing the semantics!  If you change this code, make sure it still
- * compiles under Microsoft C.
- *
- * This module frees chunks from a seq_type in preparation for freeing
- * the seq_type itself.  Reference counts are checked and chunks are
- * only freed when the last reference is removed.
- */
-public void seq_free_chunks(seq)
-  seq_type seq;
-{
-    chunk_type tail;
-    chunk_type head;
-
-    head = seq->chunklist;
-    if (((head->u.info.refcount)--) != 0) return;
-
-    while (head != NULL) {
-        tail = head->next;
-        memfree((void *) head, sizeof(chunk_node));
-        head = tail;
-        seq->chunklist = head;
-    }
-}
-
-
-seq_type seq_init(seq, create_chunk)
-    seq_type seq;
-    int create_chunk;
-{
-    if (!seq || !(seq->timebase = timebase_create(50))) {
-        return NULL;
-    }
-    seq->chunklist = NULL;
-    if (create_chunk) {
-        seq->chunklist = chunk_create(TRUE);
-        if (!seq->chunklist) {
-            seq_free(seq);
-            return NULL;
-        }
-    }
-    seq->cause_noteoff_fn = seq_cause_noteoff_meth;
-    seq->midi_bend_fn     = seq_midi_bend_meth;
-    seq->midi_ctrl_fn     = seq_midi_ctrl_meth;
-    seq->midi_program_fn  = seq_midi_program_meth;
-    seq->midi_touch_fn    = seq_midi_touch_meth;
-    seq->noteoff_fn       = seq_noteoff_meth;
-    seq->noteon_fn        = seq_noteon_meth;
-    seq->free_fn          = seq_free_meth;
-    seq->reset_fn         = seq_reset_meth;
-
-    seq->current = NULL;
-    seq->transpose = 0;
-    seq->loudness = 0;
-    seq->cycleflag = FALSE;
-    seq->cycledur = 0L;
-    seq->rate = 256L;
-    seq->paused = FALSE;
-    seq->stopfunc = noop;
-    seq->channel_mask = 0xFFFFFFFFL;
-    seq->runflag = seq->note_enable = FALSE;
-    return seq;
-}
-
-
-/* seq_midi_bend_meth -- send a midi bend */
-/**/
-void seq_midi_bend_meth(seq_type seq, int voice, int value)
-{
-    midi_bend(voice, value);
-}
-
-
-/* seq_midi_ctrl_meth -- send a midi ctrl change */
-/**/
-void seq_midi_ctrl_meth(seq_type seq, int voice, int ctrl, int value)
-{
-    midi_ctrl(voice, ctrl, value);
-}
-
-
-/* seq_midi_program_meth -- send a midi program change */
-/**/
-void seq_midi_program_meth(seq_type seq, int voice, int prog)
-{
-    midi_bend(voice, prog);
-}
-
-
-/* seq_midi_touch_meth -- send a midi touch */
-/**/
-void seq_midi_touch_meth(seq_type seq, int voice, int value)
-{
-    midi_touch(voice, value);
-}
-
-
-/* seq_noteoff_meth -- turn a seq note off */
-/**/
-void seq_noteoff_meth(seq, voice, pitch)
-  seq_type seq;
-  int voice;
-  int pitch;
-{
-    midi_note(voice, pitch, 0);
-        /*gprintf(TRANS, "_e");*/
-    seq_end_event(seq);
-}
-
-
-/* seq_noteon_meth -- play a note with transformations */
-/**/
-void seq_noteon_meth(seq, chan, pitch, vel)
-  seq_type seq;
-  int chan, pitch, vel;
-{
-    if (seq->note_enable) {
-        pitch += seq->transpose;
-        while (pitch < 0) pitch += 12;
-        while (pitch > 127) pitch -= 12;
-
-        vel += seq->loudness;
-        if (vel <= 0) vel = 1;
-        else if (vel > 127) vel = 127;
-
-        midi_note(chan, pitch, vel);
-    }
-}
-
-
-/* seq_pause -- stop playing momentarily or resume playing */
-/**/
-time_type seq_pause(seq_type seq, boolean flag)
-{
-    if (!seq->paused && flag) {
-        seq->paused = TRUE;
-        seq->rate = seq->timebase->rate;
-        set_rate(seq->timebase, STOPRATE);
-    } else if (seq->paused && !flag) {
-        seq_play(seq);
-    }
-    return (time_type) seq->timebase->virt_base;
-}
-
-
-/* seq_play -- play a sequence from the current event forward */
-/**/
-void seq_play(seq)
-  seq_type seq;
-{
-    timebase_type prev_timebase = timebase;
-    register timebase_type reg_timebase = seq->timebase;
-
-    if (!seq->runflag) {
-        seq_reset(seq);
-    }
-    if (!seq->paused) return;
-    eventtime = gettime();
-
-    /* assume that virt_base is correct virtual time as the result
-        of seq_start_time or seq_reset
-     */
-    timebase = reg_timebase;
-    virttime = reg_timebase->virt_base;
-    /* note that set_rate will set reg_timebase->real_base to eventtime */
-    set_rate(reg_timebase, seq->rate);
-    seq->paused = FALSE; /* in case the score had been paused; note that
-                            seq_pause() has no effect if paused is TRUE */
-    seq->runflag = TRUE;
-    seq->note_enable = TRUE;
-
-    /* restore previous timebase */
-    timebase_use(prev_timebase);
-}
-
-
-/* seq_reset_meth -- reset a sequence to start back at the first event */
-/**/
-void seq_reset_meth(seq)
-  seq_type seq;
-{
-    timebase_type old_timebase = timebase;
-
-    if (seq->runflag) {
-        /* maybe this seq is already reset, and process_event is
-         * already scheduled.  If so, don't schedule another one.
-         */
-        if ((seq->timebase->virt_base == 0) &&
-            (seq->timebase->rate == STOPRATE)) {
-            /* in case the reader just iterated through the list without
-             * cause'ing events, reset the event list
-             */
-            seq->current = seq_events(seq);
-            return;
-        }
-        /* Otherwise, the seq is running, so stop it. */
-        seq_stop(seq);
-    }
-    
-    timebase_use(seq->timebase);
-    set_rate(seq->timebase, STOPRATE);
-    set_virttime(seq->timebase, 0L);
-    seq->current = seq_events(seq);
-    seq->noteoff_count = 0L;
-    seq->runflag = TRUE;
-    seq->paused = TRUE;
-    if (seq->current)
-        cause((delay_type)(seq->current->ntime - virttime), process_event, seq);
-    timebase_use(old_timebase);
-}
-
-
-/* seq_set_loudness -- set the loudness offset of a sequence */
-/**/
-void seq_set_loudness(seq, loud)
-  seq_type seq;
-  int loud;
-{
-    seq->loudness = loud;
-}
-
-/* seq_set_rate -- set the rate of a sequence */
-/**/
-void seq_set_rate(seq, rate)
-  seq_type seq;
-  time_type rate;
-{
-    seq->rate = rate;
-    if (!seq->paused) set_rate(seq->timebase, rate);
-}
-
-
-/* seq_set_transpose -- set the sequence transposition */
-/**/
-void seq_set_transpose(seq, trans)
-  seq_type seq;
-  int trans;
-{
-    seq->transpose = trans;
-}
-
-
-/* seq_start_time -- set the current pointer so the sequence starts here */
-/**/
-void seq_start_time(seq, start_time)
-  seq_type seq;
-  time_type start_time;
-{
-    timebase_type prev_timebase = timebase;
-    if (!seq->runflag) {
-        seq_reset(seq);
-    }
-    if (real_to_virt(seq->timebase, eventtime) > start_time) {
-        seq_reset(seq);
-    }
-    timebase_use(seq->timebase);
-    seq->note_enable = FALSE;
-    /* prime the pump */
-    set_rate(timebase, STOPRATE);
-    set_virttime(timebase, start_time);
-    catchup();
-    seq->note_enable = TRUE;
-    seq->paused = TRUE;
-    /* restore previous timebase */
-    timebase_use(prev_timebase);
-}
-
-
-/* seq_stop -- stop a sequence, clear out all pending events */
-/**/
-void seq_stop(seq)
-  seq_type seq;
-{
-    timebase_type prev_timebase = timebase;
-
-    if (seq->runflag) {
-        if (moxcdebug)
-            gprintf(TRANS, "seq_reset swap from timebase 0x%x to 0x%x\n",
-                    timebase, seq->timebase);
-        timebase = seq->timebase;
-        seq->runflag = FALSE;
-        set_rate(timebase, STOPRATE);
-        set_virttime(timebase, MAXTIME);
-        catchup();
-    }
-    timebase_use(prev_timebase);
-}
diff --git a/lib-src/libnyquist/cmt/seq.h b/lib-src/libnyquist/cmt/seq.h
deleted file mode 100644
index 2bfac26..0000000
--- a/lib-src/libnyquist/cmt/seq.h
+++ /dev/null
@@ -1,295 +0,0 @@
-/* seq.h -- definitions for seq, the MIDI Toolkit sequence data type */
-
-#define minpitch 0
-#define maxpitch 127
-#define NO_PITCH (maxpitch+1)
-#define minprogram 1
-#define maxprogram 128
-
-/* keep these two lines in sync */
-#define nmacroparms 4
-#define parm_expected_error "Parameter number [1-4] expected"
-
-#define seq_dflt_loud 127
-#define seq_dflt_voice 1
-#define seq_dflt_pitch 60
-
-struct clock_struct {
-    time_type ticksize;
-};
-
-
-struct ctrlramp_struct {
-    unsigned char from_value;
-    unsigned char to_value;
-};
-
-
-struct deframp_struct {
-    unsigned char *definition;
-    short parameter[nmacroparms];
-    unsigned char parm_num;
-    short to_value;
-};
-
-
-struct macctrl_struct {
-    unsigned char ctrl_number;
-    unsigned char value;
-};
-
-
-struct macro_struct {
-    unsigned char *definition;
-    short parameter[nmacroparms];
-};
-
-
-struct note_struct {
-    long ndur;  /* duration */
-    /* char nloud;  loudness (MIDI velocity) now stored as low order byte
-     * of ndur
-     */
-};
-
-
-struct ramp_struct {
-    time_type dur;
-    short ctrl;         /* encode pitch bend and after touch as negative */
-    short step;
-    union {
-        struct ctrlramp_struct ctrl;
-        struct deframp_struct def;
-    } u;
-};
-
-
-struct seti_struct {
-    int *int_to_set;
-    int value;
-};
-
-
-#define SEQ_MAX_PARMS 8
-struct cause_struct {
-    int (*routine)();
-    /* make a structure so we can copy by value */
-    struct seq_arg_struct {
-        long a[SEQ_MAX_PARMS];
-    } args;
-};
-
-
-typedef struct event_struct {
-    struct event_struct *next;
-    time_type ntime;    /* start time */
-    short nline;        /* line number from source code */
-    unsigned char nvoice;    /* adagio voice (MIDI Channel)
-                 *  if this is a control change, high order 4 bits
-                 *  contain the control number, otherwise high order
-                 *  4 bits are 0 (see is_note macro below)
-                 */
-    unsigned char value;
-                    /* this is a note pitch or a control value.  It goes
-                 * here rather than in the union to achieve word
-                 * alignment (!).  Also, value is used for extra commands
-                 * such as call, seti, setv.
-                 */
-    union {
-        struct cause_struct call;
-        struct clock_struct clock;
-        struct macctrl_struct macctrl;
-        struct macro_struct macro;
-        struct note_struct note;
-        struct ramp_struct ramp;
-        struct seti_struct seti;
-    } u;
-} event_node, *event_type;
-
-#define PSWITCH_CTRL 1
-#define MODWHEEL_CTRL 2
-#define TOUCH_CTRL 3
-#define VOLUME_CTRL 4
-#define BEND_CTRL 5
-#define PROGRAM_CTRL 6
-#define ESC_CTRL 7
-
-#define CALL_VALUE 0
-#define CLOCK_VALUE 1
-#define MACCTRL_VALUE 2
-#define MACRO_VALUE 3
-#define CTRLRAMP_VALUE 4
-#define DEFRAMP_VALUE 5
-#define SETI_VALUE 6
-
-#define commonsize (sizeof(struct event_struct) - sizeof(struct cause_struct))
-#define rampcommon (sizeof(struct ramp_struct) - sizeof(struct deframp_struct))
-#define ctrlsize commonsize
-#define callsize (commonsize + sizeof(struct cause_struct))
-#define clocksize (commonsize + sizeof(struct clock_struct))
-#define ctrlrampsize (commonsize + rampcommon + sizeof(struct ctrlramp_struct))
-#define deframpsize (commonsize + sizeof(struct ramp_struct))
-#define macctrlsize (commonsize + sizeof(struct macctrl_struct))
-#define macrosize (commonsize + sizeof(struct macro_struct))
-#define notesize (commonsize + sizeof(struct note_struct))
-#define setisize (commonsize + sizeof(struct seti_struct))
-#define ctrl_voice(c, v) (((c) << 5) + ((v) - 1))
-#define vc_ctrl(v) ((v) >> 5)
-#define vc_voice(v) (((v) & 0x1F) + 1)
-
-#define is_note(n) (((n)->nvoice & 0xE0) == 0)
-
-#define CHUNK_SIZE 2000
-
-typedef struct def_struct {
-    struct def_struct *next;
-    char *symbol;
-    unsigned char *definition;
-} def_node, *def_type;
-
-
-typedef struct chunk_struct {
-    struct chunk_struct *next;
-    short free;
-    union {
-        char data[CHUNK_SIZE];
-        struct info_struct {
-            short refcount;
-            struct chunk_struct *last_chunk; /* where to allocate memory */
-            def_type dictionary;    /* macro defns, routine addresses */
-            event_type eventlist;   /* first event in sequence */
-            ulong used_mask;        /* tells what channels are actually present */
-            long ctrlcount;
-            long notecount;
-            time_type duration;     /* time of the last event+dur in score */
-        } info;
-    } u;
-} chunk_node, *chunk_type;
-
-
-typedef struct seq_struct {
-    void (*cause_noteoff_fn)();
-    void (*midi_bend_fn)();
-    void (*midi_ctrl_fn)();
-    void (*midi_program_fn)();
-    void (*midi_touch_fn)();
-    void (*noteoff_fn)();
-    void (*noteon_fn)();
-    void (*free_fn)();
-    void (*reset_fn)();
-    void (*stopfunc)(struct seq_struct *);
-    chunk_type chunklist;
-    /* event_type eventlist;
-         seq->eventlist is now seq->eventlist->chunklist */
-    event_type current;
-    boolean runflag;            /* normally true, set to false as a flag for
-                                 * processes started by score to terminate */
-    boolean note_enable;        /* normally true, set to false as a flag to
-                                 * suppress note output, e.g. when indexing
-                                 * to a particular time point */
-    boolean cycleflag;          /* normally false, set to true to make the
-                                 * sequence cycle every cycledur */
-    int transpose;
-    int loudness;
-    time_type cycledur;
-    timebase_type timebase;
-    time_type rate;                     /* remembers rate across pauses */
-    boolean paused;             /* remembers if seq has been stopped or not */
-    short noteoff_count;        /* keeps track of pending events, such as
-                                 * note off commands.  When this count goes
-                                 * to zero, the score is finished */
-    ulong channel_mask;
-} seq_node, *seq_type;
-
-extern seq_type sequence;
-
-chunk_type chunk_create(boolean first_flag);
-
-#define seq_cause_noteoff(seq, delay, voice, pitch) \
-        (*(((seq_type) seq)->cause_noteoff_fn))(seq, delay, voice, pitch)
-#define seq_midi_bend(seq, voice, value) \
-        (*(((seq_type) seq)->midi_bend_fn))(seq, voice, value)
-#define seq_midi_ctrl(seq, voice, ctrl, value) \
-        (*(((seq_type) seq)->midi_ctrl_fn))(seq, voice, ctrl, value)
-#define seq_midi_program(seq, voice, prog) \
-        (*(((seq_type) seq)->midi_program_fn))(seq, voice, prog)
-#define seq_midi_touch(seq, voice, value) \
-        (*(((seq_type) seq)->midi_touch_fn))(seq, voice, value)
-#define seq_noteoff(seq, voice, pitch) \
-        (*(((seq_type) seq)->noteoff_fn))(seq, voice, pitch)
-#define seq_noteon(seq, voice, pitch, vel) \
-        (*(((seq_type) seq)->noteon_fn))(seq, voice, pitch, vel)
-#define seq_free(seq) (*(((seq_type) seq)->free_fn))(seq)
-#define seq_register(seq) \
-    cu_register((cu_fn_type) (((seq_type) seq)->free_fn), seq)
-#define seq_reset(seq) (*(((seq_type) seq)->reset_fn))(seq)
- /* LISP: void (SEQ-RESET SEQ) */
-
-extern boolean seq_print;       /* debugging switch */
-
-void seq_extensions(void);      /* to be defined outside of seq -- user dependent */
-event_type insert_call(seq_type seq, time_type ctime, int cline,
-                       int voice, int (*addr)(), long value[], int n);
-event_type insert_clock(seq_type seq, time_type ctime, int cline,
-                        time_type ticksize);
-event_type insert_ctrl(seq_type seq, time_type ctime, int cline, int ctrl,
-                       int voice, int value);
- /* LISP: (SEQ-INSERT-CTRL SEQ FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM) */
-event_type insert_ctrlramp(seq_type seq, time_type rtime, int rline, int voice,
-                      time_type step, time_type dur, int ctrl, int v1, int v2);
- /* LISP: (SEQ-INSERT-RAMP SEQ FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM) */
-def_type insert_def(seq_type seq, char *symbol, unsigned char *definition,
-                    int deflen);
-event_type insert_deframp(seq_type seq, time_type rtime, int rline, int voice,
-                     time_type step, time_type dur, def_type def,
-                     int nparms, short parms[], int parm_num, int to_value);
-event_type insert_macctrl(seq_type seq, time_type ctime, int cline, int ctrl,
-                          int voice, int value);
- /* LISP: (SEQ-INSERT-MACCTRL SEQ FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM) */
-event_type insert_macro(seq_type seq, time_type ctime, int cline,
-                        def_type def, int voice, int nparms, short *parms);
-event_type insert_note(seq_type seq, time_type ntime, int nline, int voice,
-                       int pitch, time_type dur, int loud);
- /* LISP: (SEQ-INSERT-NOTE SEQ FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM) */
-event_type insert_seti(seq_type seq, time_type stime, int sline, int voice,
-                       int *addr, int value);
-void noop(seq_type seq);
-seq_type seq_alloc(void);
-void seq_at_end(seq_type seq, void (*fn)(seq_type));
-void seq_cause_noteoff_meth(seq_type seq, time_type delay, int voice, int pitch);
-#define seq_channel_mask(seq) ((seq)->channel_mask)
-seq_type seq_copy(seq_type from_seq); /* LISP: (SEQ-COPY SEQ) */
-seq_type seq_create(void); /* LISP: (SEQ-CREATE) */
-void seq_cycle(seq_type seq, boolean flag, time_type dur);
-#define seq_duration(seq) (((seq_type) seq)->chunklist->u.info.duration)
-void seq_end_event(seq_type seq);
-#define seq_events(seq) (((seq_type) seq)->chunklist ? \
-    (((seq_type) seq)->chunklist->u.info.eventlist) : NULL) 
-#define seq_dictionary(seq) (seq)->chunklist->u.info.dictionary
-#define seq_eventlist(seq) (seq)->chunklist->u.info.eventlist
-#define seq_ctrlcount(seq) (seq)->chunklist->u.info.ctrlcount
-#define seq_notecount(seq) (seq)->chunklist->u.info.notecount
-#define seq_used_mask(seq) (seq)->chunklist->u.info.used_mask
-void seq_free_chunks(seq_type seq);
-seq_type seq_init(seq_type seq, int create_chunk);
-#define seq_loudness(seq) (((seq_type) seq)->loudness)
-void seq_midi_bend_meth(seq_type seq, int voice, int value);
-void seq_midi_ctrl_meth(seq_type seq, int voice, int ctrl, int value);
-void seq_midi_program_meth(seq_type seq, int voice, int prog);
-void seq_midi_touch_meth(seq_type seq, int voice, int value);
-void seq_noteon_meth(seq_type seq, int voice, int pitch, int vel);
-void seq_noteoff_meth(seq_type seq, int chan, int pitch);
-time_type seq_pause(seq_type seq, boolean flag);
-void seq_play(seq_type seq);
-#define seq_rate(seq) ((seq_type) seq)->rate
-void seq_reset_meth(seq_type seq);
-#define seq_runflag(seq) ((seq_type) seq)->runflag
-#define seq_set_channel_mask(seq, cm) ((seq)->channel_mask) = (cm)
-void seq_set_loudness(seq_type seq, int offset);
-void seq_set_rate(seq_type seq, time_type rate);
-#define seq_set_timebase(seq, tb) ((seq_type) seq)->timebase = (tb)
-void seq_set_transpose(seq_type seq, int trans);
-void seq_start_time(seq_type seq, time_type start_time);
-void seq_stop(seq_type seq);
-#define seq_timebase(seq) ((seq_type) seq)->timebase
-#define seq_transpose(seq) ((seq_type) seq)->transpose
diff --git a/lib-src/libnyquist/cmt/seqdecls.h b/lib-src/libnyquist/cmt/seqdecls.h
deleted file mode 100644
index 654d12a..0000000
--- a/lib-src/libnyquist/cmt/seqdecls.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* This .h file declares everything you need to include seq.h */
-/*
- * This file gets included by an interface to seq generated by intgen
- */
-#include "switches.h"
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "moxc.h"
diff --git a/lib-src/libnyquist/cmt/seqmread.c b/lib-src/libnyquist/cmt/seqmread.c
deleted file mode 100644
index 52f0c57..0000000
--- a/lib-src/libnyquist/cmt/seqmread.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * seqmread.c
- * 
- * Convert a MIDI file to a seq.
- */
-
-/* Copyright 1989 Carnegie Mellon University */
-
-/*****************************************************************************
-*       Change Log
-*       Date    | who : Change
-*-----------+-----------------------------------------------------------------
-* 17-Feb-92 | GWL : only one stdio.h
-*                 : fix to satisfy compiler:
-                    void returns, time_type giotime(), int filegetc()
-*****************************************************************************/
-
-#include "switches.h"
-#include "stdio.h"
-#include "cext.h"
-#include "cmdline.h"
-#include "midifns.h" /* to get time_type */
-#include "timebase.h"
-#include "moxc.h"    /* to get debug declared */
-#include "seq.h"
-#include "seqread.h" 	/* to get scale */
-#include "seqmread.h"
-#include "userio.h"
-#include "ctype.h"
-
-#include "midifile.h"
-#include "tempomap.h"
-
-int filegetc();
-void initfuncs();
-void prtime();
-void snding_free();
-
-typedef struct snding_struct {
-    struct snding_struct *next;
-    event_type event_ptr;
-    int pitch;
-    int channel;
-} snding_node, *snding_type;
-
-#define snding_alloc() (snding_type) memget(sizeof(snding_node))
-#define snding_free(s) memfree(s, sizeof(snding_node))
-
-snding_type snding_list = NULL;
-
-tempomap_type the_tempomap;
-event_type initial_clock;       /* remember the first clock event */
-long prev_ticksize;             /* remember the previous ticksize */
-int sysex_id = 0;
-
-
-void smf_noteoff();
-void smf_error();
-void smf_header();
-void smf_trackstart();
-void smf_trackend();
-void smf_noteon();
-void smf_pressure();
-void smf_parameter();
-void smf_pitchbend();
-void smf_program();
-void smf_chanpressure();
-void smf_sysex();
-void smf_metamisc();
-void smf_metaseq();
-void smf_metaeot();
-void smf_timesig();
-void smf_smpte();
-void smf_tempo();
-void smf_keysig();
-void smf_metaspecial();
-void smf_metatext();
-void smf_arbitrary();
-
-private seq_type the_score;
-
-static FILE *F;
-
-int filegetc()
-{
-/*      int temp = getc(F);
-        printf(" %x ", temp);*/
-        return(int)(getc(F));
-}
-
-void seq_read_smf(seq, fp)
-  seq_type seq;
-  FILE *fp;
-{
-    F = fp;
-    initfuncs();
-    sysex_id = 0;       /* sysex in seq has to correspond to a symbol */
-    the_score = seq;    /* current sequence is a global within this module */
-    if (!seq) return;
-    the_tempomap = tempomap_create();
-    /* insert an initial clock to correspond to the default midifile tempo
-       (tempomap_create creates a corresponding initial entry in the tempomap)
-       (see smf_tempo for explanation of the scale() call)
-     */
-    initial_clock = insert_clock(the_score, 0L, 0, 500L << 16);
-                  /*   scale(24 * 500000, 1 << 16, 24000) */
-    if (!the_tempomap) return;
-    Mf_getc = filegetc;
-    midifile();
-    /* fmac_close(F); -- do not close the file because the caller might try to 
-     * close it (in fact XLISP insists on closing it as a side effect of
-     * garbage collection.
-     */
-    gprintf(TRANS, "\nLoaded Midi file with %ld note(s), %ld ctrl(s).\n\n",
-        seq_notecount(seq), seq_ctrlcount(seq));
-    seq_reset(seq);
-    while (snding_list) {
-        snding_type snding = snding_list;
-        snding_list = snding_list->next;
-        gprintf(TRANS, "Note-on (key %d, chan %d) has no matching noteoff\n",
-                snding->pitch, snding->channel + 1);
-        snding_free(snding);
-    }
-    tempomap_free(the_tempomap);
-}
-
-
-/* gio_time -- get the time in millisec for Adagio */
-/*
- * Since Adagio times are (in their precise form) 1/256 ms, we want
- * a similar time for midifiles, whose natural unit would be microseconds.
- * We'll shift the microsecond time by 2 to get 1/250 ms = 4 us units
- * and convert using the scale function when necessary.
- * Real time is the time of the last tempo change (last_tempo_time)
- * which is in 4us units + elapsed time.  
- * Elapsed time is the elapsed beats times the beat duration.
- * Elapsed beats is Mf_currtime - last_tempo_beat.
- * Beat duration is the specified tempo / division, where specified tempo
- *  is in microseconds, and division is parts per quarternote.
- */
-unsigned long divisions = 24L;
-
-time_type gio_time()
-{
-    return (tempomap_lookup(the_tempomap, Mf_currtime) + 125L) / 250L;
-}
-
-
-void smf_header(format,ntrks,division)
-{
-/*      gprintf(TRANS, "Header format=%d ntrks=%d division=%d\n",
-                format,ntrks,division); */
-        if (format > 1) gprintf(TRANS, 
-                          "Warning: format %d midi file may not work.\n",
-                          format);
-        divisions = division;
-        /* adjust the initial tempochange */
-        the_tempomap->entries->tempo = 500000L / division;
-}
-
-
-void smf_trackstart()
-{
-/*      gprintf(TRANS, "Track start\n"); */
-}
-
-void smf_trackend()
-{
-/*      gprintf(TRANS, "Track end\n"); */
-}
-
-void smf_noteon(chan,pitch,vol)
-{
-        snding_type snding;
-        if (vol == 0) {  /* convert to a noteoff */
-            smf_noteoff(chan, pitch, 0);
-            return;
-        }
-/*      prtime();
-        gprintf(TRANS, "Note on, chan=%d pitch=%d vol=%d\n",chan+1,pitch,vol);
-*/
-        /* get ready to remember the sounding note */
-        snding = snding_alloc();
-        snding->next = snding_list;
-        snding_list = snding;
-        /* enter an event into score and remember it */
-        snding->event_ptr = insert_note(the_score, gio_time(), 0, 
-                                        chan + 1, pitch, 0L, vol);
-        snding->pitch = pitch;
-        snding->channel = chan;
-}
-
-void smf_noteoff(chan,pitch,vol)
-{
-        snding_type *snding_ptr;
-        register snding_type snding;
-/*      prtime();
-        gprintf(TRANS, "Note off, chan=%d pitch=%d vol=%d\n",chan+1,pitch,vol);
-*/      /* search for the snding record */
-        for (snding_ptr = &snding_list; 
-               (snding = *snding_ptr) &&
-                   ((snding->pitch != pitch) || (snding->channel != chan));
-               snding_ptr = &(snding->next)) /* printf("* search *\n") */;
-        if (!snding) {
-            gprintf(TRANS, "Note off %d, channel %d ignored: no note on\n",
-                        pitch, chan + 1);
-        } else {
-                event_type event = snding->event_ptr;
-            event->u.note.ndur += (gio_time() - event->ntime) << 8;
-            /* free the snding record */
-            *snding_ptr = snding->next;
-            snding_free(snding);
-        }
-}
-
-
-void smf_pressure(chan,pitch,press)
-{
-        prtime();
-        gprintf(TRANS, "Pressure, chan=%d pitch=%d press=%d (IGNORED)\n",
-                chan + 1, pitch, press);
-}
-
-void smf_parameter(chan,control,value)
-{
-        int ctrl = 0;
-/*      prtime();
-        gprintf(TRANS, "Parameter, chan=%d c1=%d c2=%d\n",chan+1,control,value);
- */     /* see if the control is one of the standard Adagio controls that
-           can be encoded in a special way.  If not, ctrl remains at zero.
-         */
-        switch (control) {
-          case PORTASWITCH: ctrl = PSWITCH_CTRL; break;
-          case MODWHEEL: ctrl = MODWHEEL_CTRL; break;
-          case VOLUME: ctrl = VOLUME_CTRL; break;
-        }
-        if (ctrl) /* then do special ctrl insert and save storage */
-            insert_ctrl(the_score, gio_time(), 0, ctrl, chan + 1, value);
-        else insert_macctrl(the_score, gio_time(), 0, control, chan + 1, value);
-}       
-
-
-/* smf_pitchbend -- handle a pitch bend event */
-/*
- * NOTE: the midifile code from Tim Thompson has the msb and lsb bytes swapped.
- *   Thus the parameter msb is really the low order byte and lsb is high order.
- */
-void smf_pitchbend(chan,msb,lsb)
-{
-/*      prtime();
-        gprintf(TRANS, "Pitchbend, chan=%d msb=%d lsb=%d\n",chan+1,msb,lsb); */
-        insert_ctrl(the_score, gio_time(), 0, BEND_CTRL, chan + 1,
-                    ((lsb << 7) + msb) >> 6);
-}
-
-void smf_program(chan,program)
-{
-/*      prtime();
-        gprintf(TRANS, "Program, chan=%d program=%d\n",chan+1,program); */
-        insert_ctrl(the_score, gio_time(), 0, PROGRAM_CTRL, chan + 1, program);
-}
-
-void smf_chanpressure(chan,press)
-{
-/*      prtime();
-        gprintf(TRANS, "Channel pressure, chan=%d pressure=%d\n",chan+1,press);
- */
-        insert_ctrl(the_score, gio_time(), 0, TOUCH_CTRL, chan + 1, press);
-}
-
-void smf_sysex(leng,mess)
-int leng;
-char *mess;
-{
-        char symb[10];
-        def_type defn;
-        int i;
-        sprintf(symb, "X%d", sysex_id++);
-        if (leng > 255) {
-            gprintf(TRANS, "sysex too long (%d bytes), ignored\n", leng - 2);
-            return;
-        }
-        /* need to end up with a prefix of [0][length], so add 2 to length;
-           note that this will copy past the end of the message -- this is
-           slightly dangerous and definitely crufty: 
-         */
-        defn = insert_def(the_score, symb, (unsigned char *) mess, leng + 2);
-        /* now fix up the definition by inserting the prefix bytes: */
-        for (i = leng + 1; i > 1; i--) 
-            defn->definition[i] = defn->definition[i - 2];
-        defn->definition[0] = 0;
-        defn->definition[1] = leng;
-        insert_macro(the_score, gio_time(), 0, defn, 1, 0, NULL);
-/*      prtime();
-        gprintf(TRANS, "Sysex, leng=%d (IGNORED)\n",leng); */
-}
-
-void smf_metamisc(type,leng,mess)
-char *mess;
-{
-        prtime();
-        gprintf(TRANS,
-                "Meta event, unrecognized, type=0x%02x leng=%d (IGNORED)\n",
-                type, leng);
-}
-
-void smf_metaspecial(type,leng,mess)
-char *mess;
-{
-        prtime();
-        gprintf(TRANS, 
-        "Meta event, sequencer-specific, type=0x%02x leng=%d (IGNORED)\n",
-                type, leng);
-}
-
-void smf_metatext(type,leng,mess)
-char *mess;
-{
-        static char *ttype[] = {
-                NULL,
-                "Text Event",           /* type=0x01 */
-                "Copyright Notice",     /* type=0x02 */
-                "Sequence/Track Name",
-                "Instrument Name",      /* ...       */
-                "Lyric",
-                "Marker",
-                "Cue Point",            /* type=0x07 */
-                "Unrecognized"
-        };
-        int unrecognized = (sizeof(ttype)/sizeof(char *)) - 1;
-
-        if ( type < 1 || type > unrecognized )
-                type = unrecognized;
-}
-
-void smf_metaseq(num)
-{
-        prtime();
-        gprintf(TRANS, "Meta event, sequence number = %d (IGNORED)\n",num);
-}
-
-void smf_metaeot()
-{
-/*      prtime();
-        gprintf(TRANS, "Meta event, end of track\n"); */
-}
-
-void smf_keysig(sf,mi)
-{
-/*      prtime();
-        gprintf(TRANS, "Key signature, sharp/flats=%d  minor=%d\n",sf,mi); */
-}
-
-/* smf_tempo -- handle a midifile tempo change */
-/*
- * NOTE: if divisions is positive, it gives time units per quarter, and
- * tempo is microsec per division.  The product is microsec per quarter.
- * To convert to ticksize (parameter to insert_clock), we divide by 24*1000
- * to get units of millisec and 24ths of quarter notes.  insert_clock
- * expects this to have a 16 bit fractional part.
- */
-void smf_tempo(tempo)
-long tempo;
-{
-        time_type ctime = gio_time();
-        long ticksize = scale(tempo, 1024L, 375L);
-/*      (tempo / 24000) << 16;   microsec/clock converted to ms/quarter, shifted 16*/
-
-/*      prtime();
-        gprintf(TRANS, "Tempo, microseconds-per-MIDI-quarter-note = %ld\n",tempo);
-*/ 
-        tempomap_insert(the_tempomap, Mf_currtime, tempo / divisions);
-        if (ctime == 0) {
-            /* we already have a clock event at t=0 -> fix it */
-            initial_clock->u.clock.ticksize = ticksize;
-        } else { /* we need a new one */
-            /* NOTE: after the first clock, insert clock events 1/2 tick early
-                to make sure ticksize is set before clock_tick() wakes up and
-                reads it.
-             */
-            insert_clock(the_score, ctime - (prev_ticksize >> 17), 0, ticksize);
-            prev_ticksize = ticksize;
-        }
-}
-
-void smf_timesig(nn,dd,cc,bb)
-{
-/*      int denom = 1;
-        while ( dd-- > 0 )
-                denom *= 2;
-        prtime();
-        gprintf(TRANS, 
-"Time signature=%d/%d  MIDI-clocks/click=%d  32nd-notes/24-MIDI-clocks=%d\n",
-                nn,denom,cc,bb); */
-}
-
-void smf_smpte(hr,mn,se,fr,ff)
-{
-        prtime();
-        gprintf(TRANS,
-    "SMPTE, hour=%d minute=%d second=%d frame=%d fract-frame=%d (IGNORED)\n",
-                hr, mn, se, fr, ff);
-}
-
-void smf_arbitrary(leng,mess)
-char *mess;
-{
-        prtime();
-        gprintf(TRANS, "Arbitrary bytes, leng=%d (IGNORED)\n",leng);
-}
-
-void smf_error(msg)
-  char *msg;
-{
-    gprintf(ERROR, msg);
-}
-
-
-void prtime()
-{
-        gprintf(TRANS, "Time=%ld/%ld ",Mf_currtime, gio_time());
-}
-
-void initfuncs()
-{
-        Mf_error = smf_error;
-        Mf_header =  smf_header;
-        Mf_starttrack =  smf_trackstart;
-        Mf_endtrack =  smf_trackend;
-        Mf_on =  smf_noteon;
-        Mf_off =  smf_noteoff;
-        Mf_pressure =  smf_pressure;
-        Mf_controller =  smf_parameter;
-        Mf_pitchbend =  smf_pitchbend;
-        Mf_program =  smf_program;
-        Mf_chanpressure =  smf_chanpressure;
-        Mf_sysex =  smf_sysex;
-        Mf_metamisc =  smf_metamisc;
-        Mf_seqnum =  smf_metaseq;
-        Mf_eot =  smf_metaeot;
-        Mf_timesig =  smf_timesig;
-        Mf_smpte =  smf_smpte;
-        Mf_tempo =  smf_tempo;
-        Mf_keysig =  smf_keysig;
-        Mf_sqspecific =  smf_metaspecial;
-        Mf_text =  smf_metatext;
-        Mf_arbitrary =  smf_arbitrary;
-}
diff --git a/lib-src/libnyquist/cmt/seqmread.h b/lib-src/libnyquist/cmt/seqmread.h
deleted file mode 100644
index a03da03..0000000
--- a/lib-src/libnyquist/cmt/seqmread.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* seqmread.h -- midi file reader */
-
-void seq_read_smf(seq_type seq, FILE *fp); /* LISP: (SEQ-READ-SMF SEQ FILE) */
-
diff --git a/lib-src/libnyquist/cmt/seqmwrite.c b/lib-src/libnyquist/cmt/seqmwrite.c
deleted file mode 100644
index 1aaa37f..0000000
--- a/lib-src/libnyquist/cmt/seqmwrite.c
+++ /dev/null
@@ -1,642 +0,0 @@
-/* created by DMH (damonhorowitz): write seq_type as standard midifile */
-/***************************************************************************
-*      Change Log
-*  Date     | Change
-*-----------+---------------------------------------------------------------
-* 11-Mar-94 | Created Change Log
-* 11-Mar-94 | PLu : Added private to function defs.
-* 28-Apr-03 |  DM : Change #include's for portability
-****************************************************************************/
-
-#include "switches.h"
-
-#include <stdio.h>
-
-#include "cext.h"
-#include "userio.h"
-#include "midicode.h"
-#include "mfmidi.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "moxc.h"
-#include "seq.h"
-#include "seqread.h" /* to get scale() */
-#include "seqmwrite.h"
-
-long chunk_size_marker;
-int seti_counter;
-extern time_type a_start_time;
-
-long last_event;                        /*time from last_clock_event to the last event*/
-time_type last_clock_event;
-time_type last_tick_size;       /* millisec per tick shifted 16 bits */
-
-struct smf_write_seq {
-    seq_type seq;
-    int track;
-    FILE *outfile;
-    } smfw_seq;
-extern seq_type sequence; /* this is a global to be accessed by 
-               * routines called from the sequence */
-/* clock state: */
-extern time_type clock_ticksize;  /* millisec per tick shifted 16 bits */
-extern boolean clock_running;     /* TRUE if clock is running */
-extern boolean use_midi_clock;
-
-private void smfw_bend();
-private void smfw_cause_noteoff();
-private void smfw_ctrl();
-private void smfw_deltatime();
-private void smfw_dotrack();
-private void smfw_exclusive();
-private void smfw_noteoff();
-private void smfw_noteon();
-private void smfw_process_event();
-private void smfw_ramp_event(seq_type seq, event_type event, 
-    unsigned int value, unsigned int to_value, int increment,
-    time_type step, int n);
-private void smfw_send_macro();
-private void smfw_touch(seq_type seq, int voice, int value);
-private void writevarlen();
-
-
-/* smfw_bend -- write a pitch bend to a midi file */
-/**/
-private void smfw_bend(seq_type seq, int voice, int value)
-{
-    if(debug)   gprintf(TRANS, "smfw_bend %d\n", value);
-    smfw_deltatime();
-    putc(MIDI_BEND | (voice - 1), smfw_seq.outfile);
-    putc(0xFF & ((value & 0x1) << 6) , smfw_seq.outfile);
-    putc(0xFF & (value >> 1), smfw_seq.outfile);
-}
-
-
-/* smfw_cause_noteoff -- schedule a noteoff for midi file */
-/*
- * NOTE: this is called by smfw_process_event when it handles a note
- * event node in a seq_type's event list.  The ordinary moxc scheduler
- * is used to "schedule" the noteoff in the future.  In reality, the
- * output is done as fast as possible (by attempting an infinite rate),
- * so no real timing delays occur.  The effect is to sort events by their
- * specified time.
- */
-private void smfw_cause_noteoff(seq, delay, voice, pitch)
-  seq_type seq;
-  time_type delay;
-  int voice;
-  int pitch;
-{
-    if(debug)       gprintf(TRANS, "cause noteoff at %ld...", virttime + delay);
-    pitch += seq->transpose;
-    while (pitch <= 0) pitch += 12;
-    while (pitch >= 127) pitch -= 12;
-    seq->noteoff_count++;
-    causepri((delay_type) delay, 10, seq->noteoff_fn,
-         seq, voice, pitch);
-    
-}
-
-private void smfw_clock_event(old_ticksize, new_ticksize)
-  time_type old_ticksize, new_ticksize;
-{
-    time_type temp_ticksize = new_ticksize;
-    new_ticksize = scale(new_ticksize, 375L, 1024L);
-/* (new_ticksize >> 16) * 24000 ms/clock becomes us/midiquarter */
-
-    if(debug)       gprintf(TRANS, "smfw_clock: write %ld (time:%ld) ->->->tempo %ld\n", 
-        new_ticksize, virttime, 2500L / (new_ticksize / 24000));
-
-    /*use old ticksize to write the delta for the clock event*/
-    last_tick_size = old_ticksize;
-    smfw_deltatime();
-    last_tick_size = temp_ticksize;/* reset to = new_tick_size */
-       putc(0xFF, smfw_seq.outfile);
-    putc(0x51, smfw_seq.outfile);
-    putc(0x03, smfw_seq.outfile);
-    putc((int) ((new_ticksize >> 16) & 0xFF), smfw_seq.outfile);
-    putc((int) ((new_ticksize >> 8) & 0xFF), smfw_seq.outfile);
-    putc((int) (new_ticksize & 0xFF), smfw_seq.outfile);
-
-    last_clock_event = virttime;
-    last_event = 0L;
-        /*no time expired between last clockevent and last event(they are the same).*/
-        /*next clock event will be exactly the next this_event from last_clock_event*/
-}
-
-
-/* smfw_ctrl -- write a control change to a midi file */
-/**/
-private void smfw_ctrl(seq_type seq, int voice, int ctrl_name, int value)
-{
-    if(debug)   gprintf(TRANS, "smfw_ctrl %d: %d\n", ctrl_name, value); 
-    smfw_deltatime();
-    putc(MIDI_CTRL | (voice - 1), smfw_seq.outfile);
-    putc(ctrl_name, smfw_seq.outfile);
-    putc(value, smfw_seq.outfile);
-}
-
-
-/* smfw_deltatime -- write the time difference between now an previous event */
-/**/
-private void smfw_deltatime()
-{
-    /* if last_ and clock_ are different, use last_ for clock deltatime*/
-    time_type use_ticksize = (clock_ticksize != last_tick_size) ?
-                last_tick_size : clock_ticksize;
-    time_type this_event = virttime - last_clock_event;
-    if(debug)   gprintf(TRANS, "delta! ticksize: %lu Lastev: %ld ThisevScaled: %lu Thisev: %lu ", 
-        clock_ticksize, last_event,  (this_event * ((2500L << 16) / use_ticksize)) / 100,
-         this_event);
-    
-    this_event = ((virttime - last_clock_event) * ((2500L << 16) / use_ticksize)) / 100;
-
-    if(debug)   gprintf(TRANS, "--- deltatime: %lu\n", this_event - last_event);        
-    writevarlen((long) (this_event - last_event));
-
-    last_event = this_event; 
-}
-
-
-/* smfw_dotrack -- write the remainder of a track  */
-private void smfw_dotrack(seq)
-  seq_type seq;
-{
-    long end_marker;
-    timebase_type old_timebase = timebase;
-    unsigned long chunk_size;
-
-    if (seq->runflag) {
-        if ((seq->timebase->virt_base == 0) &&
-          (seq->timebase->rate == STOPRATE)) 
-          /*we just set these last time through... do nothing*/;
-        seq_stop(seq);
-    }
-    timebase_use(seq->timebase);
-    set_rate(seq->timebase, STOPRATE);
-    set_virttime(seq->timebase, 0L);
-    seq->current = seq_events(seq);
-    seq->noteoff_count = 0L;
-    seq->runflag = TRUE;
-    seq->paused = TRUE;
-    last_clock_event = 0L;
-    last_event = 0L;
-    if(debug)   gprintf(TRANS, "dotrack (reset) %d %ld (%lu) \n", 
-        smfw_seq.track, last_event, virttime);
-
-    if (seq->current)   
-    cause((delay_type)(seq->current->ntime - virttime), smfw_process_event,
-         seq);
-    set_virttime(timebase, MAXTIME);
-    catchup();
-
-    putc(0x00, smfw_seq.outfile);
-    putc(0xFF, smfw_seq.outfile);/*end of track chunk*/
-    putc(0x2F, smfw_seq.outfile);
-    putc(0x00, smfw_seq.outfile);
-    end_marker = ftell(smfw_seq.outfile);
-    fseek(smfw_seq.outfile, chunk_size_marker, 0);/*go back to enter chunksize*/
-    chunk_size = (end_marker - chunk_size_marker) - 4;/* - 4 for 4 size bytes*/ 
-    if(debug)   gprintf(TRANS, "bytes written in previous track: %ld \n\n", chunk_size);
-    putc((int) ((0xFF & (chunk_size >> 24))), smfw_seq.outfile);
-    putc((int) ((0xFF & (chunk_size >> 16))), smfw_seq.outfile);
-    putc((int) ((0xFF & (chunk_size >> 8))), smfw_seq.outfile);
-    putc((int) ((0xFF & chunk_size)), smfw_seq.outfile);
-    fseek(smfw_seq.outfile, end_marker, 0);/*return file pointer to end of track*/
-    timebase_use(old_timebase);
-}
-
-
-/* smfw_exclusive -- write a system excl. msg to midi file */
-private void smfw_exclusive(length, msg)
-int length;
-unsigned char *msg; 
-{
-    int length_count = 0;
-
-    if(debug)   gprintf(TRANS, "SYSEX (time:%ld)\n", virttime);
-
-    smfw_deltatime();
-   
-    while (length > length_count){ /* *(msg-1) != MIDI_EOX) { */
-        putc(*msg++, smfw_seq.outfile); 
-        length_count++;
-    }
-    if(*(--msg) != MIDI_EOX) gprintf(TRANS, "ERROR: no end of sysex\n");
-}
-
-private void smfw_msg_write(n,c1,c2,c3)
-  int n;
-  unsigned char c1,c2,c3;
-{
-    if(debug)   gprintf(TRANS, "MSGWRITE %d bytes (time:%ld)\n", n, virttime);
-    smfw_deltatime();
-    switch(n) {
-    case 1: putc(c1, smfw_seq.outfile);
-        break;
-    case 2: putc(c1, smfw_seq.outfile);
-        putc(c2, smfw_seq.outfile);
-        break;
-    case 3: putc(c1, smfw_seq.outfile);
-        putc(c2, smfw_seq.outfile);
-        putc(c3, smfw_seq.outfile);
-        break;
-    }
-}
-
-
-/* smfw_noteoff -- write noteoff to midi file */
-/**/
-private void smfw_noteoff(seq_type seq, int voice, int pitch)
-{
-    if(debug)       gprintf(TRANS, "smfw_noteoff %d: %d (time:%ld)\n", voice, pitch, virttime);
-    smfw_deltatime();
-    putc(NOTEOFF | (voice - 1), smfw_seq.outfile);
-    putc(pitch, smfw_seq.outfile);
-    putc(0x40, smfw_seq.outfile);
-} 
-
-
-/* smfw_noteon -- write noteon to midi file */
-/*
- * NOTE: the seq parameter is not used here, but is passed in by the
- * seq_noteon macro, so we have to have a placeholder for it.
- */
-private void smfw_noteon(seq, voice, pitch, vel)
-  seq_type seq;
-  int voice, pitch, vel;
-{
-    if(debug)   gprintf(TRANS, "smfw_noteon %d: %d %d(time:%ld)\n", voice, pitch, vel, virttime);
-    smfw_deltatime();
-    putc(NOTEON | (voice - 1), smfw_seq.outfile);
-    putc(pitch, smfw_seq.outfile);
-    putc(vel, smfw_seq.outfile);
-}
-
-
-/* smfw_process_event -- write a seq event to a midi file */
-/**/
-private void smfw_process_event(seq)
-  seq_type seq;
-{
-    register event_type event;
-    if (!seq->runflag) return;
-    while ((event = seq->current) && (event->ntime <= virttime)) {
-    unsigned int voice;
-    if ((vc_voice(event->nvoice) == smfw_seq.track) ||       /*if on current track*/
-        (((vc_voice(event->nvoice) - 16) == smfw_seq.track) 
-            && (smfw_seq.track > 0)) ||
-        /* acknowledge clock change on all tracks*/
-        (event->value == CLOCK_VALUE)) {
-
-        /* process all current (and earlier) events */
-        if (is_note(event)) {   /*** play a note or rest ***/
-        /* if this note is not a rest, play it and schedule an off event */
-        if (event->value != NO_PITCH &&
-              (seq_channel_mask(seq) &
-               (1 << ((voice = vc_voice(event->nvoice)) - 1)))) {
-            seq_noteon(seq, voice, (0xFF & event->value), 
-            (int) (event->u.note.ndur & 0xFF));
-        
-            seq_cause_noteoff(seq, (event->u.note.ndur) >> 8, 
-              voice, (0xFF & event->value)); 
-        }
-        } else {                    /*** send a control command ***/
-        int n;
-        time_type step;
-        int delta;
-        int increment;
-        int voice = vc_voice(event->nvoice);
-        ulong enabled = seq_channel_mask(seq) & (1 << (voice - 1));
-
-        switch (vc_ctrl(event->nvoice)) {
-          case PSWITCH_CTRL:
-            if (!enabled) break;
-            if(debug)    gprintf(TRANS, "porta %d (time:%ld)... ", event->value, virttime);
-            seq_midi_ctrl(seq, voice, PORTASWITCH, 0xFF & event->value);
-            break;
-          case MODWHEEL_CTRL:
-            if (!enabled) break;
-            if(debug)    gprintf(TRANS, "modw %d (time:%ld)...", event->value, virttime);
-            seq_midi_ctrl(seq, voice, MODWHEEL, 0xFF & event->value);
-            break;
-          case TOUCH_CTRL:
-            if (!enabled) break;
-            if(debug)    gprintf(TRANS, "touch %d (time:%ld)... ", event->value, virttime);
-            seq_midi_touch(seq, voice, 0xFF & event->value);
-            break;
-          case VOLUME_CTRL:
-            if (!enabled) break;
-            if(debug)    gprintf(TRANS, "ftvol %d (time:%ld)...", event->value, virttime);
-            seq_midi_ctrl(seq, voice, VOLUME, 0xFF & event->value);
-            break;
-          case BEND_CTRL:
-            if (!enabled) break;
-            if(debug)    gprintf(TRANS, "bend %d (time:%ld)... ", event->value, virttime);
-            seq_midi_bend(seq, voice, event->value);
-            break;
-          case PROGRAM_CTRL:
-            if (!enabled) break;
-            if(debug)    gprintf(TRANS, "prog %d (time:%ld)\n", event->value, virttime);
-            smfw_deltatime();
-            putc(MIDI_CH_PROGRAM | (voice - 1), smfw_seq.outfile);
-            putc(0xFF & event->value, smfw_seq.outfile);
-            break;
-          case ESC_CTRL:
-            switch (event->value) {
-              time_type this_event;
-              case CALL_VALUE:       /*called routine will write to midifile in execution */
-            sequence = seq;
-            (*(event->u.call.routine))(event->u.call.args);
-            break;
-              case CLOCK_VALUE:
-            clock_ticksize = event->u.clock.ticksize;
-            if(debug)    gprintf(TRANS, "clockevent! ticksize: %lu (time:%ld)\n",
-                clock_ticksize, virttime);
-    
-            if (virttime > 0) {  /* any clock before this is already recorded in the header */
-                if (smfw_seq.track == 0) {             /* record clock event on tempo track = 0 */
-                /* cause clock write in half a newtick, because it was written .5 tick early*/
-                cause((delay_type) (clock_ticksize >> 17), smfw_clock_event, 
-                      last_tick_size, clock_ticksize);
-                last_tick_size = clock_ticksize; /*set new ticksize*/
-                } else { /*not on tempo track*/
-                this_event = ((virttime - last_clock_event) *
-                        ((2500L << 16) / last_tick_size)) / 100;
-                if(debug)   gprintf(TRANS, "track != 0: Lastev: %ld Thisev: %ld NewLast: %ld\n", 
-                last_event, this_event, this_event - last_event);
-                last_event = 0L - (this_event - last_event);
-                    last_clock_event = virttime;
-                /*last_event is negative, so will be ADDED to next this_event*/
-    
-                last_tick_size = clock_ticksize;
-                }               
-            } else if (debug) gprintf(TRANS, "IGNORED\n");/* if virttime <= 0 */
-            break;
-              case MACCTRL_VALUE:
-            if (!enabled) break;
-            if (debug) gprintf(TRANS, "MACCTRL %d: %d (time:%ld)\n", 
-                    event->u.macctrl.ctrl_number, event->u.macctrl.value, virttime);
-            smfw_deltatime();
-            putc(MIDI_CTRL | (voice - 1), smfw_seq.outfile);
-            putc(0xFF & event->u.macctrl.ctrl_number, smfw_seq.outfile);
-            putc(0xFF & event->u.macctrl.value, smfw_seq.outfile);
-            break;
-              case MACRO_VALUE:
-            if (!enabled) break;
-            if (debug) gprintf(TRANS, "MACRO sent to...\n");
-            smfw_send_macro(event->u.macro.definition,
-              voice, event->u.macro.parameter, -1, 0);
-            break;
-              case CTRLRAMP_VALUE:
-              case DEFRAMP_VALUE: {
-            int from, to;
-            if (!enabled) break;
-            step = event->u.ramp.step;
-            if (event->value == CTRLRAMP_VALUE) {
-            if(debug)   gprintf(TRANS, "CTRLRAMP (time:%ld)...", virttime);
-                from = event->u.ramp.u.ctrl.from_value;
-                to = event->u.ramp.u.ctrl.to_value;
-            } else {
-                if (debug) gprintf(TRANS, "DEFRAMP (time:%ld)...", virttime);
-                from = event->u.ramp.u.def.parameter[
-                    event->u.ramp.u.def.parm_num];
-                to = event->u.ramp.u.def.to_value;
-            }
-            delta = to - from;
-            increment = delta;
-            if (delta < 0) delta = -delta;
-            /* RBD - Note: Step is always non-zero */
-            n = event->u.ramp.dur / step;
-            increment = (increment << 8) / n;
-            smfw_ramp_event(seq, event, from << 8, to << 8, 
-                   increment, step, n);
-            seq->noteoff_count++;
-            break;
-              }
-              case SETI_VALUE:
-            seti_counter++; /*will be printed after writing is completed*/
-            *(event->u.seti.int_to_set) = event->u.seti.value;
-            break;
-              default:
-            gprintf(TRANS, "unexpected ESC_CTRL value\n");
-            break;
-            }
-            break;
-          default:
-            gprintf(TRANS, "unexpected seq data\n");
-            break;
-        }
-        }
-    }
-    seq->current = event->next;
-    }
-    if (seq->current) { /* if there is an event: delay, and then process again */
-    cause((delay_type)(event->ntime - virttime), smfw_process_event, seq);
-    }
-}
-
-/* smfw_ramp_event -- generate a ramp to write*/
-private void smfw_ramp_event(seq, event, value, to_value, increment, step, n)
-  seq_type seq;
-  register event_type event;
-  unsigned int value;
-  unsigned int to_value;
-  int increment;
-  time_type step;
-  int n;
-{
-    if(debug)   gprintf(TRANS, "ramp of %d: %d to %d\n", event->u.ramp.ctrl, value >> 8,
-        to_value >> 8);     
-    if (seq->runflag) {
-    int voice = vc_voice(event->nvoice);
-    if (n == 0) value = to_value;
-    else cause((delay_type)step, smfw_ramp_event, seq, event, value + increment,
-           to_value, increment, step, n - 1);
-    if (event->value == CTRLRAMP_VALUE) {
-        int ctrl = event->u.ramp.ctrl;
-        if (ctrl == -TOUCH_CTRL) smfw_touch(seq, voice, value >> 8);
-        else if (ctrl == -BEND_CTRL) smfw_bend(seq, voice, value >> 8);
-        else smfw_ctrl(seq, voice, ctrl, value >> 8);
-    } else { /* must be DEFRAMP_VALUE */
-        smfw_send_macro(event->u.ramp.u.def.definition,
-        vc_voice(event->nvoice),
-        event->u.ramp.u.def.parameter,
-        event->u.ramp.u.def.parm_num, value >> 8);
-    }
-    if (n == 0) seq_end_event(seq);
-    }
-}
-
-
-/* smfw_send_macro -- write msg to midi file from a seq "macro" event */
-/**/
-private void smfw_send_macro(ptr, voice, parameter, parm_num, value)
-  register unsigned char *ptr;
-  int voice;
-  short parameter[];
-  int parm_num;
-  int value;
-{
-    register unsigned char code, *loc;
-    while ((code = *ptr++)) {
-        loc = ptr + *ptr;
-        ptr++;
-        if (code <= nmacroparms) {
-            code--;
-            *loc = (code == parm_num ? value : parameter[code]) & 0x7f;
-        }
-        else if (code == nmacroparms + 1) {
-            *loc = ((voice - 1) & 0xF) | *loc;
-        }
-        else {
-            code -= (nmacroparms + 2);
-            *loc = ((code == parm_num ? value : parameter[code]) >> 7) & 0x7F;
-        }
-    }
-    if (ptr[1] == MIDI_SYSEX)
-        smfw_exclusive(*ptr, ptr + 1);
-    else
-        smfw_msg_write(*ptr, ptr[1], ptr[2], ptr[3]);
-}
-
-
-/* smfw_touch -- write aftertouch msg to midi file */
-/**/
-private void smfw_touch(seq_type seq, int voice, int value)
-{
-    if(debug)   gprintf(TRANS, "smfw_touch %d\n", value);
-    smfw_deltatime();
-    putc(MIDI_TOUCH | (voice - 1), smfw_seq.outfile);
-    putc(value, smfw_seq.outfile);
-}
-
-
-void seq_write_smf(seq, outfile)
-  seq_type seq;
-  FILE *outfile;
-{
-    time_type put_tick_size;
-    int i;
-    time_type starting_ticksize = 1638400L;/*default midifile tempo 100*/
-    int track_count = 0;
-    long track_count_marker;
-    register event_type event;
-
-    seti_counter = 0;
-    
-    /*initialize the smfw_seq struct*/
-    smfw_seq.outfile = outfile;
-    smfw_seq.seq = seq_copy(seq);
-
-    smfw_seq.seq->cause_noteoff_fn = smfw_cause_noteoff;
-    smfw_seq.seq->midi_bend_fn    = smfw_bend;
-    smfw_seq.seq->midi_ctrl_fn    = smfw_ctrl;
-    smfw_seq.seq->midi_touch_fn   = smfw_touch;
-    smfw_seq.seq->noteoff_fn      = smfw_noteoff;
-    smfw_seq.seq->noteon_fn       = smfw_noteon;
-
-    event = seq_events(smfw_seq.seq);
-
-    /*search for clock events up till start of score*/
-    while(event->ntime <= 0){
-    if(debug)   gprintf(TRANS, "event (time:%ld)\n", event->ntime); 
-    if(event->value == CLOCK_VALUE) {
-        if(debug)   gprintf(TRANS, "clock %lu at 0\n", event->u.clock.ticksize);
-        starting_ticksize = event->u.clock.ticksize;
-        break;
-        }
-    event = event->next;
-    }
-
-    putc(0x4D, smfw_seq.outfile); /*header:  MThd*/
-    putc(0x54, smfw_seq.outfile);
-    putc(0x68, smfw_seq.outfile);
-    putc(0x64, smfw_seq.outfile);
-    putc(0x00, smfw_seq.outfile);
-    putc(0x00, smfw_seq.outfile);
-    putc(0x00, smfw_seq.outfile);
-    putc(0x06, smfw_seq.outfile);
-    putc(0x00, smfw_seq.outfile);
-    putc(0x01, smfw_seq.outfile);       /*format 1 */
-    putc(0x00, smfw_seq.outfile);
-
-    track_count_marker = ftell(smfw_seq.outfile);   /*number of tracks will be written later*/
-    putc(0x00, smfw_seq.outfile);                                       /*will be filled by track_count_marker*/
-
-    putc(0x02, smfw_seq.outfile);/*division resolution of 600*/
-    putc(0x58, smfw_seq.outfile);
-
-    for(i = 0; i < 17; i++){/*for each track..*/
-        if(((seq_used_mask(smfw_seq.seq) >> (i - 1)) & 0x1) || (i == 0)){
-        if(debug) gprintf(TRANS, "write track %d \n", i);
-        track_count++;
-        clock_ticksize = starting_ticksize;
-        last_tick_size = starting_ticksize;
-        putc(0x4D, smfw_seq.outfile);/*track header: MTrk*/
-        putc(0x54, smfw_seq.outfile);
-        putc(0x72, smfw_seq.outfile);
-        putc(0x6B, smfw_seq.outfile);
-       
-        chunk_size_marker = ftell(smfw_seq.outfile);/*size of chunk will be written later*/
-        putc(0x00, smfw_seq.outfile);                               /*will be filled by chunk_size_marker*/
-        putc(0x00, smfw_seq.outfile);
-        putc(0x00, smfw_seq.outfile);
-        putc(0x00, smfw_seq.outfile);
-
-    if(i == 0) { /*tempo and time signature track*/
-        putc(0x00, smfw_seq.outfile);/* default time sig stuff*/
-        putc(0xFF, smfw_seq.outfile);
-        putc(0x58, smfw_seq.outfile);
-        putc(0x04, smfw_seq.outfile);
-        putc(0x04, smfw_seq.outfile);
-        putc(0x02, smfw_seq.outfile);
-        putc(0x18, smfw_seq.outfile);
-        putc(0x08, smfw_seq.outfile);
-        putc(0x00, smfw_seq.outfile);
-            
-        putc(0xFF, smfw_seq.outfile);/*TEMPO: inserted here in case default is used*/
-        putc(0x51, smfw_seq.outfile);
-        putc(0x03, smfw_seq.outfile);
-        put_tick_size = scale(clock_ticksize, 375L, 1024L);
-        putc((int) ((put_tick_size >> 16) & 0xFF), smfw_seq.outfile);
-        putc((int) ((put_tick_size >> 8) & 0xFF), smfw_seq.outfile);
-        putc((int) (put_tick_size & 0xFF), smfw_seq.outfile);
-        }
-        smfw_seq.track = i;
-        smfw_dotrack(smfw_seq.seq);
-      }
-    }
-    if(seti_counter) gprintf(TRANS, "%d SETI events IGNORED!\n", seti_counter);
-    seq_stop(smfw_seq.seq);
-    fseek(smfw_seq.outfile, track_count_marker, 0);/*go back and insert number of tracks*/
-    putc(0xFF & track_count, smfw_seq.outfile);
-    fclose(smfw_seq.outfile);
-}
-
-
-/* writevarlen -- write a variable length integer to midi file */
-/**/
-private void writevarlen(value)
-  register long value;
-{       
-    register ulong buffer;
-
-    if(debug) gprintf(TRANS, "variable length quantity...");
-
-    buffer = value & 0x7f;
-
-    while((value >>= 7) > 0) {
-    buffer <<= 8;
-    buffer |= 0x80;
-    buffer += (value & 0x7f);
-    }
-
-    for(;;) {
-    if(debug) gprintf(TRANS, " byte ");
-    putc((int) (buffer & 0xFF), smfw_seq.outfile);
-    if (buffer & 0x80)	buffer >>= 8;
-    else break;
-    }
-    if(debug) gprintf(TRANS, "written!\n");
-}
diff --git a/lib-src/libnyquist/cmt/seqmwrite.h b/lib-src/libnyquist/cmt/seqmwrite.h
deleted file mode 100644
index 458336f..0000000
--- a/lib-src/libnyquist/cmt/seqmwrite.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* seqmwrite.h -- midi file writer */
-
-void seq_write_smf(seq_type seq, FILE *outfile); /* LISP: (SEQ-WRITE-SMF SEQ FILE) */
-
diff --git a/lib-src/libnyquist/cmt/seqread.c b/lib-src/libnyquist/cmt/seqread.c
deleted file mode 100644
index dbb91eb..0000000
--- a/lib-src/libnyquist/cmt/seqread.c
+++ /dev/null
@@ -1,1888 +0,0 @@
-/****************************************************************************
-               seqread.c -- Phase 1 of adagio compilation...
-
- this module parses adagio programs and builds a linked list structure
- consisting of notes and control changes in time order.
-
- Copyright 1989 Carnegie Mellon University
-*****************************************************************************/
-
-/*****************************************************************************
-*       Change Log
-*  Date     | Change
-*-----------+-----------------------------------------------------------------
-* 31-Dec-85 | Created changelog
-* 31-Dec-85 | Add c:\ to include directives
-* 31-Dec-85 | Added standard command scanner, metronome variable, need to add 
-*           | cmdline_help procedure
-* 31-Dec-85 | Call intr_init
-* 31-Dec-85 | Set musictrace from command line via -trace
-* 31-Dec-85 | Added -poll
-*  1-Jan-86 | Put error messages out to stderr
-*  1-Jan-86 | Set IsAT.     Can be later overridden by -at and -xt switches,
-*           | currently only used for diagnostics (may be needed for
-*           | compatibles, who knows?  In which case remove the tests which
-*           | confirm the type of processor)
-*  1-Jan-86 | <rgd/jmn> Removed dur-adjusted message
-*  1-Jan-86 | Added miditrace
-* 18-Jan-86 | Shortened durations by 1/200 s to avoid roundoff problems --
-*           | see buildnote for details.
-*  3-Mar-86 | Allow octave and accidentals in either order after pitch name.
-*           | Default octave is now one that gets nearest previous pitch,
-*           |  the tritone (half an octave) interval is descending by default.
-*           | Special commands handled by table search, !Rate command added
-*           |  to scale all times by a percentage (50 = half speed).
-*  9-Mar-86 | Use space to limit amount of storage allocation.    Otherwise
-*           |    exhausting storage in phase1 caused phase2 to fail.
-* 12-Mar-86 | Broke off command line parser into adagio.c, only parser remains
-* 24-Mar-86 | Changed representation from note_struct to event_struct
-*           | Parse M, N, O, X, and Y as control change commands
-* 23-May-86 | Added , and ; syntax: "," means "N0\n", ";" means "\n"
-* 16-Jul-86 | modify to only call toupper/lower with upper/lower case as
-*           |  parameter to be compatible with standard C functions
-*  7-Aug-86 | fixed bug with default pitches and rests
-*  5-Jul-87 | F.H: Introduced new memory handling from Mac version.
-*           |    Changed:    init()
-*           |       ins_event()
-*           |       ins_ctrl()
-*           |       ins_note()
-*           |    Deleted:    reverse()
-*           |       nalloc()
-*           |    Introduced:    event_alloc()
-*           |       phase1_FreeMem()
-*           |       system.h & system.c dependencies
-* 10-Feb-88 | fixed parseend to accept blanks and tabs,
-*           | fixed rate scaling of durations
-* 11-Jun-88 | commented out gprintf of \n to ERROR after parsing finished.
-* 13-Oct-88 | JCD : exclusive AMIGA version.
-* 13-Apr-89 | JCD : New portable version.
-* 31-Jan-90 | GWL : Cleaned up for LATTICE
-* 30-Jun-90 | RBD : further changes
-*  2-Apr-91 | JDW : further changes
-* 30-Jun-91 | RBD : parse '+' and '/' in durations, * after space is comment
-* 28-Apr-03 |  DM : changes for portability
-*****************************************************************************/
-
-#include "switches.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include "cext.h"
-#include "cmdline.h"
-#include "midifns.h" /* to get time_type */
-#include "timebase.h"
-#include "moxc.h"    /* to get debug declared */
-#include "seq.h"
-#include "seqread.h"
-#include "userio.h"
-/* ctype.h used to be included only by UNIX and AMIGA,
-   surely everyone wants this? */
-#include "ctype.h"
-
-#ifndef toupper
-/* we're already taking precautions, so inline version of toupper is ok: */
-#define toupper(c) ((c)-'a'+'A')
-/* CAUTION: AZTEC V5.0 defines an inline version of toupper called _toupper,
-   but they got it wrong!
- */
-#endif
-
-/* cmtcmd.h references amiga message ports */
-#ifdef AMIGA
-#ifdef LATTICE
-#include "amiga.h"
-#endif
-#include "exec/exec.h"
-#endif
-#include "cmtcmd.h"
-
-/* public stuff */
-extern long space;    /* remaining free bytes */
-extern int abort_flag;
-
-/****************************************************************************
- The following are used to simulate fixed point with the radix point
- 8 bits from the right:
-****************************************************************************/
-
-#define precise(x) (((time_type) x) << 8)
-#define seqround(x) ((((time_type) x) + 128) >> 8)
-#define trunc(x) (((time_type) x) >> 8)
-
-#define nullstring(s) (s[0] == EOS)
-
-
-/****************************************************************************
-* Routines local to this module:
-****************************************************************************/
-private void            do_a_rest();
-private time_type       doabsdur();
-private int             doabspitch();
-private void            doclock();
-private void            docomment();
-private void            doctrl();
-private void            dodef();
-private time_type       dodur();
-private void            doerror();
-private int             doloud();
-void            domacro();
-private void            donextdur();
-private int             dopitch();
-private void            doprogram();
-private void            dorate();
-private void            doset();
-private void            dospecial();
-private time_type       dosymdur();
-private void            dotempo();
-private void            dotime();
-private void            dovoice();
-private void            fferror();
-private void            init();
-private int             issymbol();
-private void            marker();
-private void            parseend();
-private void            parsefield();
-private boolean         parsenote();
-private boolean         parseparm();
-private int             scan();
-private int             scan1();
-private long            scanint();
-private void            scansymb();
-private long            scansgnint();
-
-/****************************************************************************
-* data structures for parser lookup tables
-****************************************************************************/
-
-struct durt {    /* duration translation table */
-    char symbol;
-    time_type value;
-};
-
-#define durtable_len 7
-struct durt durtable[durtable_len] = {
-    {'W', 4800L},
-    {'H', 2400L},
-    {'Q', 1200L},
-    {'I', 600L},
-    {'S', 300L},
-    {'%', 150L},
-    {'^', 75L}
-};
-
-struct loudt {    /* loudness translation table */
-    char symbol[4];
-    int value;
-};
-
-struct loudt loudtable[] = {
-    {"PPP", 20},
-    {"PP\0", 26},
-    {"P\0\0", 34},
-    {"MP\0", 44},
-    {"MF\0", 58},
-    {"F\0\0", 75},
-    {"FF\0", 98},
-    {"FFF", 127}
-};
-
-char too_many_error[] = "Too many parameters";
-
-private char *ssymbols[] = {"TEMPO", "RATE", "CSEC", "MSEC", 
-                            "SETI", "SETV", "CALL", "RAMP",
-                            "CLOCK", "DEF", "END"};
-
-#define sym_tempo 0
-#define sym_rate 1
-#define sym_csec 2
-#define sym_msec 3
-#define sym_seti 4
-#define sym_setv 5
-#define sym_call 6
-#define sym_ramp 7
-#define sym_clock 8
-#define sym_def 9
-#define sym_end 10
-
-/* number of symbols */
-#define sym_n 11
-
-#define linesize 100
-private char line[linesize];    /* the input line */
-private char token[linesize];    /* a token scanned from the input line */
-
-private boolean pitch_flag;    /* set when a pitch is indicated */
-/* (if controls changes are given, only allocate a note event if
-     *  a pitch was specified -- i.e. when pitch_flag is set)
-     */
-private boolean rest_flag;    /* set when a rest (R) is found */
-/* this flag is NOT inherited by the next line */
-
-private boolean symbolic_dur_flag;
-/* TRUE if last dur was not absolute
-         * (if this is set, then the default duration is changed
-         *  accordingly when the tempo is changed.)
-         */
-
-
-#define nctrl 8
-
-private boolean ctrlflag[nctrl];
-/* TRUE if control change was present
-         * ctrlflag[0] TRUE if ANY control change
-         * was present
-         */
-private int ctrlval[nctrl];
-/* the new value of the control */
-#define nmacroctrl 10
-short macctrlx;                 /* index into the following: */
-short macctrlnum[nmacroctrl];   /* macro ctrl number, e.g. for ~4(67), or
-                                 * number of parameters for a symbolic macro */
-short macctrlparmx[nmacroctrl]; /* ctrl value for ctrl change, or index of
-                                 * parameters for symbolic macro */
-short macctrlparms[nmacroctrl*nmacroparms]; /* parameters for symbolic macros */
-short macctrlnextparm;
-def_type macctrldef[nmacroctrl]; /* definition for symbolic macro */
-
-private time_type time_scale; /* 1000 if centisec, 100 if millisec */
-/* note: user_specified_time * (time_scale / rate) = millisec */
-
-
-
-/****************************************************************************
-*
-*    variables private to this module
-*
-****************************************************************************/
-
-private boolean end_flag = FALSE;    /* set "true" when "!END" is seen */
-
-/****************************************************************************
-*               state variables
-* Because each line of an Adagio score inherits properties from the previous
-* line, it makes sense to implement the parser as a collection of routines
-* that make small changes to some global state.     For example, pitch is a
-* global variable.  When the field G4 is encountered, the dopitch routine
-* assigns the pitch number for G4 to the variable pitch.  After all fields
-* are processed, these variables describe the current note and contain the
-* default parameters for the next note as well.
-*
-* Global variables that are used in this way by the parsing rountines are:
-****************************************************************************/
-private int
-linex,    /* index of the next character to be scanned */
-lineno,    /* current line number */
-fieldx,    /* index of the current character within a field */
-pitch,    /* pitch of note */
-loud,    /* loudness of note */
-voice,    /* voice (midi channel) of note */
-artic;  /* articulation (a percentage of duration) */
-
-private boolean ndurp;  /* set when a next (N) is indicated */
-/* (next time defaults to the current time plus duration unless
-     *  overridden by a next (N) command whose presence is signalled
-     *  by ndurp.)
-     */
-
-private time_type
-thetime,    /* the starting time of the note */
-rate,    /* time rate -- scales time and duration, default = 100 */
-ntime,    /* the starting time of the next note */
-dur,    /* the duration of the note */
-tempo,    /* the current tempo */
-start,    /* the reference time (time of last !tempo or !rate cmd) */
-ticksize; /* set by !clock command, zero for no clock */
-
-private int pitchtable[7] = { 
-    69, 71, 60, 62, 64, 65, 67 };
-
-extern char score_na[name_length];
-
-private seq_type the_score;  /* this is the score we are parsing */
-
-
-/* def_append -- append a byte to the current definition */
-/*
- * The def data structure:
- *     [code][offset][code][offset]...[0][length][data][data][data]...
- * where code is 1:nmacroparms for %n,
- *               nmacroparms+1 for %v,
- *               nmacroparms+2:nmacroparms*2+1 for ^n
- * and offset is the byte offset (from the offset byte) to the data
- *      where the parameter should be substituted
- * and length is the number of data bytes
- */
-boolean def_append(def, nparms, data)
-  unsigned char def[];
-  int nparms;
-  int data;
-{
-    int base = (nparms << 1) + 1;       /* this byte is the length */
-    /* first parameter has to be able to reference last byte: */
-    if ((def[base])++ >= (254 - (nparms << 1))) {
-        fferror("Data too long");
-        return FALSE;
-    }
-    def[base + def[base]] = data;
-    return TRUE;
-}
-
-
-def_type def_lookup(symbol)
-  char *symbol;
-{
-    def_type defn = seq_dictionary(the_score);
-    while (defn) {
-        if (strcmp(defn->symbol, symbol) == 0) {
-            return defn;
-        }
-        defn = defn->next;
-    }
-    return NULL;
-}
-
-
-void def_parm(def, nparms, code)
-  unsigned char def[];
-  int nparms;
-  int code;
-{
-    int i, j;
-    /* in order to insert a 2-byte parameter descriptor, the offsets from
-     * previous descriptors (that precede the data) need to be increased by 2:
-     */
-    for (i = 1; i < (nparms << 1); i += 2) {
-        def[i] += 2;
-    }
-    /* now i is index of length; work backwards from the last byte, moving
-     * everything up by 2 bytes to make room for the new descriptor:
-     */
-    for (j = i + def[i] + 2; j > i; j--) {
-        def[j] = def[j - 2];
-    }
-    /* now i is index of offset; insert the descriptor code (first byte)
-     * and the offset to the parameter location in the message (second byte)
-     */
-    def[i - 1] = code;
-    def[i] = def[i + 2] + 2;
-}
-
-/****************************************************************************
-*               do_a_rest
-* Effect: parses a rest (R) command
-****************************************************************************/
-
-private void do_a_rest()
-{
-    if (token[fieldx])
-        fferror("Nothing expected after rest");
-    rest_flag = TRUE;
-}
-
-/****************************************************************************
-*               doabsdur
-* Effect: parses an absolute dur (U) command
-****************************************************************************/
-
-private time_type doabsdur()
-{
-    time_type result=1000L;
-    register char c;
-    if (isdigit(token[fieldx])) {
-        result = precise(scanint());
-        /* allow comma or paren for use in parameter lists */
-        if ((c = token[fieldx]) && (c != ',') && (c != ')') && (c != '+')) {
-            fferror("U must be followed by digits only");
-        }
-        if (time_scale == 1000) result *= 10; /* convert to ms */
-    } else fferror("No digit after U");
-    return result;
-}
-
-/****************************************************************************
-*               doabspitch
-* Effect: parses an absolute pitch (P) command
-****************************************************************************/
-
-private int doabspitch()
-{
-    int result = 60;
-    int startx = fieldx;
-    register char c;
-    int savex;
-    if (isdigit (token[fieldx])) {
-        result = (int) scanint();
-        /* allow comma or paren for abspitch in parameter */
-        if ((c = token[fieldx]) && c != ',' && c != ')')
-            fferror("P must be followed by digits only");
-        else if (result < minpitch) {
-            savex = fieldx;
-            fieldx = startx;
-            fferror("Minimum pitch of 0 will be used");
-            result = minpitch;
-            fieldx = savex;
-        } else if (result > maxpitch) {
-            savex = fieldx;
-            fieldx = startx;
-            fferror("Maximum pitch of 127 will be used");
-            result = maxpitch;
-            fieldx = savex;
-        }
-    } else fferror("No digits after P");
-    return result;
-}
-
-
-/* doartic -- compute an articulation factor */
-/*
-  NOTE: artic is a percentage that scales the duration
-  of notes but not the time to the next note onset. It
-  is applied to the final computed duration after all
-  other scaling is applied.
- */
-private void doartic()
-{
-    if (isdigit(token[fieldx])) {
-        artic = (int) scanint();
-        if (token[fieldx])
-            fferror("Only digits were expected here");
-    } else fferror("No digits after /");
-}
-
-
-/* docall -- parse a call in the form !CALL fn(p1,p2,p3) */
-/**/
-private void docall()
-{
-    boolean error_flag = TRUE;
-    ndurp = FALSE;
-
-    linex += scan();
-
-    if (token[0] == 0) fferror("Function name expected");
-    else {
-        char symbol[100];
-        struct symb_descr *desc;
-        long value[SEQ_MAX_PARMS];
-        int i=0;
-
-        scansymb(symbol);
-        if (fieldx == 1) fferror("Routine name expected");
-        else if (token[fieldx] != '(') fferror("Open paren expected");
-        else {
-            desc = &HASHENTRY(lookup(symbol));
-            if (!desc->symb_type) {
-                fieldx = 0;
-                fferror("Function not defined");
-            } else if (desc->symb_type != fn_symb_type) {
-                fieldx = 0;
-                gprintf(TRANS, "desc->symb_type is %d\n", desc->symb_type);
-                fferror("This is not a function");
-            } else {
-                error_flag = FALSE;
-                fieldx++;       /* skip over paren */
-                for (i = 0; i < SEQ_MAX_PARMS; i++) value[i] = 0;
-                i = 0;
-                /* note that no params "()" is legal */
-                while (i < SEQ_MAX_PARMS && token[fieldx] != ')' && 
-                       parseparm(&value[i])) {
-                    i++;
-                    if (token[fieldx] == ',') {
-                        fieldx++;
-                    } else if (token[fieldx] != ')') {
-                        fferror("Unexpected character");
-                        error_flag = TRUE;
-                        break;
-                    }
-                }
-                fieldx++;
-                if (i > SEQ_MAX_PARMS) fferror("Too many parameters");
-            }
-            while (TRUE) {
-                linex += scan();
-                if (nullstring(token)) {
-                    break;
-                } 
-                switch (token[0]) {
-                  case 'T':
-                    fieldx = 1;
-                    dotime();
-                    break;
-                  case 'V':
-                    fieldx = 1;
-                    dovoice();
-                    break;
-                  case 'N':
-                    fieldx = 1;
-                    donextdur();
-                    break;
-                  default:
-                    fferror("Unexpected character");
-                }
-            }
-            if (!error_flag)
-                insert_call(the_score, seqround(thetime), lineno, voice, 
-                            desc->ptr.routine, value, i);
-            /* advance the time only if an N field was given */
-            if (ndurp) thetime += ntime;
-        }
-    }
-}
-
-
-/* doclock -- insert a clock command */
-/*
- * derivation: if there is no previous clock running, then start the
- *     clock on time.  Otherwise, start the clock half a tick early.
- *     ticksize = (beattime / 24) = ((60sec/tempo)/24) =
- *      ((60000ms/tempo)/24) = (60000/24)/tempo = 2500/tempo
- */
-private void doclock()
-{
-    int oldticksize = ticksize;
-    ticksize = (2500L << 16) / tempo;
-    insert_clock(the_score, seqround(thetime) - (oldticksize >> 17),
-                 lineno, ticksize);
-}
-
-
-/****************************************************************************
-*               docomment
-* Effect: parses a comment (*) command
-****************************************************************************/
-
-private void docomment()
-{
-    line[linex] = '\n'; /* force end of line to skip comment line */
-    line[linex+1] = EOS;
-}
-
-/****************************************************************************
-*               doctrl
-* Inputs:
-*    n: control number
-* Effect: parses a control (K, M, O, X, or Y) command
-****************************************************************************/
-
-private void doctrl(n)
-int n;
-{
-    ctrlval[n] = (int) scanint();
-    if (token[fieldx]) {
-        fferror("Only digits expected here");
-    } else {
-        ctrlflag[n] = TRUE;
-        ctrlflag[0] = TRUE;    /* ctrlflag[0] set if any flag is set */
-    }
-}
-
-
-private void dodef()
-{
-    /* maximum def size is 256 + 9 parms * 2 + 2 = 276 */
-    unsigned char def[280];
-    char symbol[100];
-    int nparms = 0;
-    int nibcount = 0;
-    int data = 0;
-    register char c;
-
-    linex += scan();
-
-    if (!token[0]) fferror("Symbol expected");
-    else {
-        strcpy(symbol, token);
-        def[0] = def[1] = 0;
-        while (TRUE) {
-            linex += scan1(&line[linex]);
-            c = token[0];
-            if (!c) {
-                linex--;
-                if (nibcount & 1) {
-                    fferror("Expected pairs of hex digits: one missing");
-                    return;
-                }
-                break;
-            } else if (c == ' ' || c == '\t' || c == '\n') continue;
-            else if (isdigit(c)) {
-                data = (data << 4) + (c - '0');
-                nibcount++;
-                if (!(nibcount & 1)) {
-                    if (!def_append(def, nparms, data))
-                        return;
-                    data = 0;
-                }
-            } else if ('A' <= c && c <= 'F') {
-                data = (data << 4) + (c - 'A') + 10;
-                nibcount++; 
-                if (!(nibcount & 1)) {
-                    if (!def_append(def, nparms, data))
-                        return;
-                    data = 0;
-                }
-            } else if (c == 'V') {
-                data = data << 4;
-                nibcount++;
-                /* v without a leading nibble is equivalent to 0v: */
-                if (nibcount & 1) nibcount++;
-                if (!def_append(def, nparms, data))
-                    return;
-                def_parm(def, nparms++, nmacroparms+1);
-            } else if (c == '%') {
-                linex += scan1(&line[linex]);
-                c = token[0];
-                if (c < '1' || c > ('0' + nmacroparms)) {
-                    fferror(parm_expected_error);
-                    break;
-                }
-                if (!def_append(def, nparms, 0))
-                    return;
-                def_parm(def, nparms++, c - '0');               
-            } else if (c == '^') {
-                linex += scan1(&line[linex]);
-                c = token[0];
-                if (c < '1' || c > ('0' + nmacroparms)) {
-                    fferror(parm_expected_error);
-                    break;
-                }
-                if (!def_append(def, nparms, 0))
-                    return;
-                def_parm(def, nparms++, (c - '0') + nmacroparms + 1);
-            } else {  /* something unexpected here -- just exit */
-                linex--;
-                fferror("Unexpected data");
-                return;
-            }
-        }
-        insert_def(the_score, symbol, def,
-                   (nparms << 1) + def[(nparms << 1) + 1] + 2);
-    }
-}
-
-/****************************************************************************
-*               dodur
-* Effect: parses a duration (sum of dosymdur and/or doabsdur)
-* sets symbolic_dur_flag (according to the first addend in mixed arithmetic)
-*
-* Returns: duration in "precise" units
-****************************************************************************/
-private time_type dodur()
-{
-    time_type result = 0L;
-    symbolic_dur_flag = TRUE;
-
-    if (token[fieldx-1] == 'U') {
-        result = doabsdur();
-        symbolic_dur_flag = FALSE;
-    } else result = dosymdur();
-    while (token[fieldx] == '+') {
-        fieldx += 2;
-        if (token[fieldx-1] == 'U') result += doabsdur();
-        else result += dosymdur();
-    }
-    return scale(result, 100L, rate);
-}
-
-/****************************************************************************
-*               doerror
-* Effect: parse an unrecognized field by reporting an error
-****************************************************************************/
-
-private void doerror()
-{
-    fieldx = 0;
-    fferror("Bad field");
-}
-
-/****************************************************************************
-*               doloud
-* Effect: parse a loudness (L) command
-****************************************************************************/
-
-private int doloud()
-{
-    int i, j;
-    int result;
-    int oldfieldx = fieldx;
-    int newfieldx;
-    char symbol[100];
-
-    if (!token[fieldx] || token[fieldx]==')' || token[fieldx]==',') {
-        fferror("L must be followed by loudness indication");
-        return 100;
-    }
-    if (isdigit(token[fieldx])) {
-        result = (int) scanint();
-        newfieldx = fieldx;
-        if (token[fieldx] && token[fieldx]!=')' && token[fieldx]!=',')
-            fferror("Digits expected after L");
-        else if (result > 127) {
-            fieldx = oldfieldx;
-            fferror("Maximum loudness of 127 will be used");
-            fieldx = newfieldx;
-            result = 127;
-        } else if (result == 0) {
-            fieldx = oldfieldx;
-            fferror("Minimum loudness of 1 will be used");
-            fieldx = newfieldx;
-            result = 1;
-        }
-        return result;
-    }
-    scansymb(symbol);
-    newfieldx = fieldx;
-    if ((i = strlen(symbol)) > 3 ) {    /* maximum is 3, e.g. "ppp" */
-        fieldx = oldfieldx;
-        fferror("Loudness field too long");
-        fieldx = newfieldx;
-        return 100;
-    }
-    symbol[i + 1] = '\0';   /* pad short symbols with 0    */
-                            /* e.g. "p\0" -> "p\0\0"    */
-    for (i = 0; i <= 7; i++) {    /* loop through possibilities    */
-        for (j = 0; j <= 2; j++) {    /* test 3 characters    */
-            if (symbol[j] != loudtable[i].symbol[j])
-                break;
-        }
-        if (j == 3) {
-            return loudtable[i].value;
-        }
-    }
-    fieldx = oldfieldx;
-    fferror("Bad loudness indication");
-    fieldx = newfieldx;
-    return 100;
-}
-
-
-void domacro()
-{
-    int control_num;
-    int value;
-    if (isdigit(token[1])) {
-        control_num = (int) scanint();
-        if (token[fieldx] == '(') {
-            fieldx++;
-            if (!isdigit(token[fieldx])) {
-                fferror("Control value expected");
-            } else {
-                value = (int) scanint();
-                if (token[fieldx] != ')') {
-                    fferror("Missing close paren");
-                } else {
-                    fieldx++;
-                    if (token[fieldx])
-                        fferror("Nothing expected after paren");
-                    else if (macctrlx < nmacroctrl - 1) {
-                        macctrlnum[macctrlx] = control_num;
-                        macctrlparmx[macctrlx] = value;
-                        macctrldef[macctrlx] = NULL;
-                        macctrlx++;
-                    } else fferror("Too many controls");
-                }
-            }
-        } else fferror("Missing paren");
-    } else {
-        def_type def;
-        char symbol[100];
-        scansymb(symbol);
-        if (fieldx == 1) fferror("Macro name expected");
-        else if (token[fieldx] != '(') fferror("Open paren expected");
-        else {
-            fieldx++;
-            def = def_lookup(symbol);
-            if (!def) {
-                fieldx = 1;
-                fferror("Undefined macro");
-            } else {
-                long val;
-                macctrlnum[macctrlx] = 0;
-                macctrlparmx[macctrlx] = macctrlnextparm;
-                macctrldef[macctrlx] = def;
-                while (token[fieldx] != ')' && parseparm(&val)) {
-                    macctrlparms[macctrlnextparm++] = (short) val;
-                    macctrlnum[macctrlx]++;
-                    if (token[fieldx] == ',') {
-                        fieldx++;
-                    } else if (token[fieldx] != ')') {
-                        fferror("Unexpected character");
-                        break;
-                    }
-                }
-                fieldx++;
-                macctrlx++;
-            }
-        }
-    }
-}
-
-
-/****************************************************************************
-*               donextdur
-* Effect: parse a next (N) command
-* Implementation:
-*    The syntax is N followed by a duration, so save dur and use dosymdur()
-*    to parse the duration field.
-*    The form N<digits> is parsed directly with scanint().
-****************************************************************************/
-
-private void donextdur()
-{
-    ndurp = TRUE;    /* flag that N was given */
-    if (isdigit(token[fieldx])) {
-        ntime = precise(scanint());
-        ntime = scale(ntime, (ulong)time_scale, rate);
-        if (token[fieldx])
-            fferror("Only digits were expected here");
-    } else {
-        fieldx++;
-        ntime = dodur();
-    }
-}
-
-/****************************************************************************
-*               dopitch
-* Effect: parses a pitch command
-****************************************************************************/
-
-private int dopitch()
-{
-    int p, octave=0;
-    int octflag = FALSE;    /* set if octave is specified */
-    int oldfieldx = fieldx;
-
-    p = pitchtable[token[fieldx-1]-'A'];
-    while (TRUE) {
-        if (token[fieldx] == 'S') {                /* sharp */
-            p++;
-            fieldx++;
-        } 
-        else if (token[fieldx] == 'N') {            /* skip */
-            fieldx++;
-        } 
-        else if (token[fieldx] == 'F') {            /* flat */
-            p--;
-            fieldx++;
-        } 
-        else if (isdigit(token[fieldx]) && !octflag) {      /* octave */
-            octave = (int) scanint();
-            octflag = TRUE;
-        } 
-        else break;                /* none of the above */
-    }
-    if (octflag) p = (p-48) + 12 * octave;  /* adjust p to given octave */
-    else {        /* adjust p to note nearest the default pitch */
-        int octdiff = (p + 126 - pitch) / 12;
-        p = p + 120 - (octdiff * 12);
-    }
-    if (p > maxpitch) {              /* pitch in range? */
-        int newfield = fieldx;
-        fieldx = oldfieldx;
-        fferror("Pitch too high");
-        fieldx = newfield;
-        p = maxpitch;
-    }
-    /* We really should test for end-of-field, but we don't know if we're
-       in a parameter list, so comma may or may not be legal */
-    return p;
-}
-
-/****************************************************************************
-*               doprogram
-* Effect: parses a program change (Z) command
-****************************************************************************/
-
-private void doprogram()
-{
-    register int program = (int) scanint();
-    ctrlflag[PROGRAM_CTRL] = ctrlflag[0] = TRUE;
-    if (token[fieldx]) {
-        fferror("Z must be followed by digits only");
-    } else if (program < minprogram) {
-        fieldx = 1;
-        fferror("Minimum program of 1 will be used");
-        program = minprogram;
-    } else if (program > maxprogram) {
-        fieldx = 1;
-        fferror("Maximum program of 128 will be used");
-        program = maxprogram;
-    }
-    ctrlval[PROGRAM_CTRL] = program - 1;
-}
-
-
-private void doramp()
-{
-    int values[2];
-    time_type stepsize = 100L;  /* default 10 per second */
-    int index = 0;
-    ndurp = FALSE;
-    values[0] = values[1] = 0;
-    while (TRUE) {
-        linex += scan();
-        fieldx = 1;
-        if (nullstring(token)) {
-            break;
-        } else if (index == 2) { /* must be stepsize in dur syntax */
-            stepsize = dodur();
-        } else {
-            int ctrlx = 0;
-            static int ctrl_map[] = { -BEND_CTRL, VOLUME, -TOUCH_CTRL, MODWHEEL };
-
-            switch (token[0]) {
-              case 'M': ctrlx++;        /* modwheel */
-              case 'O': ctrlx++;        /* aftertouch */
-              case 'X': ctrlx++;        /* volume */
-              case 'Y':                 /* pitch bend */
-
-                if (index < 2) {
-                    macctrlnum[index] = ctrl_map[ctrlx];
-                    macctrlparmx[index] = (int) scanint();
-                    if (token[fieldx])
-                        fferror("Only digits expected here");
-                    macctrldef[index] = NULL;
-                } else fferror("Unexpected control");
-                break;
-              case '~':
-                if (index < 2) {
-                    domacro();
-                    if (token[fieldx]) fferror("Unexpected character");
-                } else fferror("Unexpected control");
-                break;
-              case 'T':
-                if (index < 2) fferror("Control expected");
-                dotime();
-                break;
-              case 'V':
-                if (index < 2) fferror("Control expected");
-                dovoice();
-                break;
-              case 'N':
-                if (index < 2) fferror("Control expected");
-                donextdur();
-                break;
-              default:
-                if (index < 2) fferror("Control expected");
-                dur = dodur();
-                break;
-            }
-            if (index == 1 && (macctrlnum[0] != macctrlnum[1] ||
-                               macctrldef[0] != macctrldef[1])) {
-                fferror("Controls do not match");
-            }
-        }
-        index++;
-    }
-    if (index < 3) fferror("Expected 2 controls and step size");
-    else {
-        if (macctrldef[0]) {
-            int i, j, n;
-            n = 0;
-            i = macctrlparmx[0];
-            j = macctrlparmx[1];
-            while (n < macctrlnum[0]) {
-                if (macctrlparms[i] != macctrlparms[j]) break;
-                n++; i++; j++;
-            }
-            if (n >= macctrlnum[0]) n = 0;
-            /* Note: duration shortened to prevent overlap with next ramp */
-            insert_deframp(the_score, seqround(thetime), lineno, voice,
-                seqround(stepsize), trunc(dur) - 1, macctrldef[0], macctrlnum[0],
-                macctrlparms + macctrlparmx[0], n, macctrlparms[j]);
-        } else {
-            /* Note: duration shortened to prevent overlap with next ramp */
-            insert_ctrlramp(the_score, seqround(thetime), lineno, voice,
-                seqround(stepsize), trunc(dur) - 1,
-                macctrlnum[0], macctrlparmx[0], macctrlparmx[1]);
-        }
-    }
-    /* advance the time only if an N field was given */
-    if (ndurp) thetime += ntime;
-    else thetime += dur;
-}
-
-
-/****************************************************************************
-*               dorate
-* Effect: parses a !rate command
-****************************************************************************/
-
-private void dorate()
-{
-    linex += scan();
-    if (!token[0])
-        fferror("rate number expected");
-    else {
-        long oldrate = rate;
-        rate = (int) scanint();
-        if (token[fieldx])
-            fferror("Only digits expected here");
-        if (rate == 0) {
-            fieldx = 0;
-            fferror("Rate 100 will be used here");
-            rate = 100L;
-        }
-        start = thetime;
-        /* adjust dur in case it is inherited by next note */
-        dur = (dur * oldrate);
-        dur = dur / rate;
-    }
-}
-
-
-private void doset(vec_flag)
-  boolean vec_flag;
-{
-    ndurp = FALSE;
-    linex += scan();
-    if (!token[0]) fferror("Variable name expected");
-    else {
-        struct symb_descr *desc = &HASHENTRY(lookup(token));
-        if (!desc->symb_type) fferror("Called function not defined");
-        else if (vec_flag && (desc->symb_type != vec_symb_type)) {
-                fferror("This is not an array");
-        } else if (!vec_flag && (desc->symb_type != var_symb_type)) {
-                fferror("This is not a variable");
-        } else {
-            int numargs = 1 + vec_flag;
-            int value[2];
-            int i;
-            int *address = desc->ptr.intptr;
-            value[0] = value[1] = 0;
-            i = 0;
-            while (TRUE) {
-                linex += scan();
-                if (nullstring(token)) {
-                    break;
-                } else if (isdigit(token[0]) || token[0] == '-' ||
-                           token[0] == '+') {
-                    if (i < numargs) {
-                        value[i++] = (int) scansgnint();
-                        if (token[fieldx])
-                            fferror("Only digits expected here");
-                    } else fferror(too_many_error);
-                } else {
-                    switch (token[0]) {
-                      case 'T':
-                        fieldx = 1;
-                        dotime();
-                        break;
-                      case 'V':
-                        fieldx = 1;
-                        dovoice();
-                        break;
-                      case 'N':
-                        fieldx = 1;
-                        donextdur();
-                        break;
-                      default:
-                        fieldx++;
-                        if (i < numargs) {
-                            value[i++] = seqround(dodur());
-                        } else fferror(too_many_error);
-                        break;
-                    }
-                }
-            }
-            if (vec_flag && i != 2) fferror("No index given");
-            if (vec_flag) {
-                if (value[0] >= desc->size) {
-                    fferror("Subscript out of bounds");
-                    return;
-                }
-                /* reduce to the seti case: */
-                address += value[0];    /* compute the vector address */
-                value[0] = value[1];    /* set up value[] and i as if */
-                i--;                    /* this were seti, not setv */
-            }
-            if (i != 1) fferror("No value given");
-            insert_seti(the_score, seqround(thetime), lineno, voice,
-                        address, value[0]);
-            /* advance the time only if an N field was given */
-            if (ndurp) thetime += ntime;
-        }
-    }
-}
-
-/****************************************************************************
-*               dospecial
-* Effect: parses special (those starting with "!") commands
-****************************************************************************/
-
-private void dospecial()
-{
-    switch (issymbol()) {
-      case sym_tempo: 
-        dotempo();
-        break;
-      case sym_rate: 
-        dorate();
-        break;
-      case sym_csec:
-        /* adjust dur for inheritance by next note */
-        dur = (dur * 1000L) / time_scale;
-        time_scale = 1000L;
-        break;
-      case sym_msec:
-        dur = (dur * 100L) / time_scale;
-        time_scale = 100L;
-        break;
-      case sym_seti:
-        doset(FALSE);
-        break;
-      case sym_setv:
-        doset(TRUE);
-        break;
-      case sym_call:
-        docall();
-        break;
-      case sym_ramp:
-        doramp();
-        break;
-      case sym_clock:
-        doclock();
-        break;
-      case sym_def:
-        dodef();
-        break;
-      case sym_end:
-        end_flag = TRUE;
-        break;
-      default: 
-        fferror("Special command expected");
-    }
-    parseend(); /* flush the rest of the line */
-}
-
-/****************************************************************************
-*               dosymdur
-* Effect: parses a duration (^, %, S, I, Q, H, or W) command
-****************************************************************************/
-
-private time_type dosymdur()
-{
-    int i, dotcnt = 0;
-    long dotfactor;
-    time_type result = 0;
-
-    for (i = 0; i < durtable_len; i++) {
-        if (durtable[i].symbol == token[fieldx-1]) {
-            /* the shift right is because durs are stored doubled because
-             *  otherwise a 64th note would have the value 75/2:  */
-            result = precise(durtable[i].value) >> 1;
-            break;
-        }
-    }
-    if (i == durtable_len) {
-        fieldx--;
-        fferror("Duration expected: one of W, H, Q, I, S, %, or ^");
-        return 0L;
-    }
-    while (token[fieldx]) {
-        if (token[fieldx] == 'T') {     /* triplet notation */
-            result = (result * 2) / 3;  /* lose a bit but avoid scale() */
-            fieldx++;
-        } 
-        else if (token[fieldx] == '.') {    /* dotted notation */
-            dotcnt++;
-            fieldx++;
-        } 
-        else if (token[fieldx] == '/') {
-            long divisor;
-            fieldx++;
-            divisor = scanint();
-            if (divisor > 0) result = result / divisor;
-            else fferror("non-zero integer expected");
-        }
-        else if (isdigit(token[fieldx])) {    /* numbers are multipliers */
-            result = result * scanint();
-        } 
-        else break;
-    }
-    dotfactor = 1L;
-    for (i=1; i<=dotcnt; i++)
-        dotfactor = dotfactor * 2;
-    result = (2 * result) - (result / dotfactor);
-
-    return scale(result, 100L, tempo);    /* time in milliseconds */
-}
-
-/****************************************************************************
-*               dotempo
-* Effect: parses a !tempo command
-****************************************************************************/
-
-private void dotempo()
-{
-    linex += scan();
-    if (!token[0])
-        fferror("Tempo number expected");
-    else {
-        long oldtempo = tempo;
-        tempo = scanint();
-        if (token[fieldx])
-            fferror("Only digits expected here");
-        if (tempo == 0) {
-            fieldx = 0;
-            fferror("Tempo 100 will be used here");
-            tempo = 100L;
-        }
-        start = thetime;
-        /* adjust dur in case it is inherited by next note */
-        if (symbolic_dur_flag) {
-            dur = (dur * oldtempo);
-            dur = dur / tempo;
-        }
-    }
-}
-
-/****************************************************************************
-*               dotime
-* Effect: parses a time (T) command
-* Implementation: see implementation of donextdur()
-****************************************************************************/
-
-private void dotime()
-{
-    if (isdigit(token[fieldx])) {
-        thetime = precise(scanint());
-        thetime = scale(thetime, (ulong)time_scale, rate);
-        if (token[fieldx] )
-            fferror("Only digits were expected here");
-    } else {
-        fieldx++;
-        thetime = dodur(); 
-    }
-    thetime += start;    /* time is relative to start */
-}
-
-/****************************************************************************
-*               dovoice
-* Effect: parse a voice (V) command (the voice is the MIDI channel)
-****************************************************************************/
-
-private void dovoice()
-{
-    if (isdigit(token[fieldx])) {
-        voice = (int) scanint();
-        if (token[fieldx])
-            fferror("V must be followed by digits only");
-        if (voice > MAX_CHANNELS) {
-                char msg[40];
-                sprintf(msg, "number too high, using %d instead", MAX_CHANNELS);
-            fferror(msg);
-            voice = MAX_CHANNELS;
-        } 
-        else if (voice < 1) {
-            fferror("number too low, using 1 instead");
-            voice = 1;
-        }
-    } 
-    else fferror("No digit after V");
-}
-
-/****************************************************************************
-*               fferror
-* Inputs:
-*    char *s: an error message string
-* Effect:
-*    prints the line with the error
-*    puts a cursor (^) at the error location
-*    prints the error message (s)
-* Implementation:
-*    this routine prints a carat under the character that
-*    was copied into token[fieldx].    E.g. if fieldx = 0, the
-*    carat will point to the first character in the field.
-****************************************************************************/
-
-private void fferror(s)
-  char *s;
-{
-    gprintf(ERROR, "%3d | %s", lineno, line);
-    marker(linex-strlen(token)+fieldx+1+6);
-    gprintf(ERROR, "Error: %s.\n", s);
-}
-
-/****************************************************************************
-*               init
-* Effect:
-*    initializes the state variables
-****************************************************************************/
-
-private void init()
-{
-    int i;
-
-    end_flag = FALSE;
-
-    /* initial (default) values for all state variables */
-    symbolic_dur_flag = TRUE; /* default dur is symbolic */
-    for (i = 0; i < nctrl; i++) {
-        /* no initial control changes */
-        ctrlflag[i] = FALSE;
-        ctrlval[i] = 0;
-    }
-
-    lineno = 0;
-    pitch = seq_dflt_pitch;
-    loud = seq_dflt_loud;
-    voice = seq_dflt_voice;
-    time_scale = 1000L;
-    tempo = 100L;
-    rate = 100L;
-    dur = precise(600); /* default dur is quarter note */
-    thetime = precise(0);
-    start = thetime;
-    ntime = 0L;
-    ticksize = 0L;
-    artic = 100;
-}
-
-/****************************************************************************
-*               ins_a_note
-* Returns:
-*    boolean: TRUE on success, FALSE if not enough memory
-* Effect:
-*    note events (if any) corresponding to the current line are inserted
-* Implementation:
-*    if a note on should occur after a note off and doesn't, and the
-*    two notes have the same pitch, then the note off can cancel the
-*    note on.  to make it unlikely that roundoff will cause this situation,
-*    dur is decreased by one half of a clock tick before rounding.
-*    also, phase2 gives precedence to note-offs that are simultaneous
-*    with note-ons.
-****************************************************************************/
-
-private boolean ins_a_note()
-{
-    long the_dur = (trunc(dur) * artic + 50) / 100;
-    int the_pitch = pitch;
-    event_type note;
-    if (rest_flag) the_pitch = NO_PITCH;
-    note = insert_note(the_score, seqround(thetime), lineno, voice,
-                       the_pitch, the_dur, loud);
-    if (!note) return FALSE;
-    return TRUE;    /* success! */
-}
-
-/****************************************************************************
-*               ins_ctrls
-* Returns:
-*    boolean: TRUE on success, FALSE if not enough memory
-* Effect:
-*    control events corresponding to current line are inserted in score
-* Implementation:
-*    ctrlflag[i] is TRUE if control i was specified in this line, so
-*    insert one control change for each ctrlflag[i] that is TRUE
-****************************************************************************/
-
-private boolean ins_ctrls()
-{
-    int i;
-    event_type ctrl;
-
-    for (i = 1; i < nctrl; i++) {
-        if (ctrlflag[i]) {
-            ctrl = insert_ctrl(the_score, seqround(thetime), lineno, i, voice,
-                               ctrlval[i]);
-            if (!ctrl) return FALSE;
-            ctrlflag[i] = FALSE;
-            ctrlval[i] = 0;
-        }
-    }
-    return TRUE;    /* success! */
-}
-
-/****************************************************************************
-*               issymbol
-* Outputs: returns symbol number, or -1 if no match
-* Assumes: token[1] has the symbol to look up (token[0] == '!')
-****************************************************************************/
-
-private int issymbol()
-{
-    int i, symb_num;
-    char *sym;
-
-    for (symb_num = 0; symb_num < sym_n; symb_num++) {
-        sym = ssymbols[symb_num];
-        i = 1;
-        while (TRUE) {
-            if (token[i] != *sym) break;
-            if (*sym == 0) return symb_num;
-            sym++; 
-            i++;
-        }
-    }
-    return -1;
-}
-
-/****************************************************************************
-*               marker
-* Inputs:
-*    int count: the number of characters to indent
-* Effect: 
-*    prints a carat (^) at the position specified on file stderr
-****************************************************************************/
-
-private void marker(count)
-int count;
-{
-    int i;
-    char s[128];
-    for (i=0; i<(count-1); s[i++]=' ') /* */ ;
-    s[count-1] = '^';
-    s[count] = '\0';
-    gprintf(ERROR,"%s\n",s);
-}
-
-/*****************************************************************
-*           parseend
-* Effect:
-*    parse the note terminator, either ",", ";", EOS or "\n"
-*
-****************************************************************/
-
-private void parseend()
-{
-    boolean done = FALSE;
-    while (!done) {
-        linex += scan1(&line[linex]);
-        switch (token[0]) {
-        case ',':
-            ndurp = TRUE;    /* switch that next time was specified */
-            ntime = 0L;
-            done = TRUE;
-            break;
-        case ';':
-        case '\n':
-        case EOS:
-            done = TRUE;
-            break;
-        case ' ':
-        case '\t':
-            break;      /* skip over blanks and scan1 again */
-        default:
-            fferror("Unexpected token");
-            linex += scan();  /* flush the token */
-            break;
-        }
-    }
-}
-
-/****************************************************************************
-*               parsefield
-* Effect: looks at first character of token and calls a parsing routine
-*
-****************************************************************************/
-
-private void parsefield()
-{
-    fieldx = 1;
-    switch (token[0]) {
-    case 'T' : 
-        dotime(); 
-        break;
-    case 'U':
-    case 'W': 
-    case 'H':
-    case 'Q':
-    case 'S':
-    case 'I': 
-    case '%':
-    case '^':
-        dur = dodur(); 
-        break;
-    case 'R': 
-        do_a_rest(); 
-        break;
-    case 'A':
-    case 'B':
-    case 'C':
-    case 'D':
-    case 'E':
-    case 'F':
-    case 'G': 
-        pitch = dopitch(); 
-        pitch_flag = TRUE;
-        break;
-    case 'P': 
-        pitch = doabspitch(); 
-        pitch_flag = TRUE;
-        break;
-    case 'L': 
-        loud = doloud(); 
-        break;
-    case 'N': 
-        donextdur(); 
-        break;
-/*    case 'J': 
- *      doctrl(1);
- *      break;
- */
-    case 'K': 
-        doctrl(PSWITCH_CTRL);
-        break;
-    case 'M': 
-        doctrl(MODWHEEL_CTRL);
-        break;
-    case 'O': 
-        doctrl(TOUCH_CTRL);
-        break;
-    case 'X': 
-        doctrl(VOLUME_CTRL);
-        break;
-    case 'Y': 
-        doctrl(BEND_CTRL);
-        break;
-    case 'Z':
-        doprogram();
-        break;
-    case 'V': 
-        dovoice();
-        break;
-    case '~':
-        domacro();
-        break;
-    case '*':
-        docomment();
-        break;
-    case '#':
-        doartic();
-        break;
-    default : 
-        doerror();
-        break;
-    }
-}
-
-/****************************************************************************
-*               parsenote
-* Effect: 
-*    parses a note line -- control events (if any) and note event (if
-*    present) are inserted into score
-* Assumes:
-*    line contains a string to be parsed
-****************************************************************************/
-
-private boolean parsenote()
-{
-    boolean out_of_memory = FALSE;
-    int i;
-
-    ndurp = FALSE;
-    rest_flag = FALSE;
-
-    /* this loop reads tokens for a note */
-    while (token[0]) {
-        parsefield();
-        linex += scan();
-    }
-
-    parseend(); /* take care of note terminator */
-
-    /*
-     * insert ctrl's first so that will come before the note.
-     */
-    if (ctrlflag[0]) {
-        out_of_memory |= !ins_ctrls();
-        /* don't reset ctrlflag[0], it's used below */
-    }
-
-    /*
-     * insert macro's
-     */
-    for (i = 0; i < macctrlx; i++) {
-        event_type ctrl;
-        if (macctrldef[i] == NULL) {
-            ctrl = insert_macctrl(the_score, seqround(thetime), lineno,
-                                  macctrlnum[i], voice, macctrlparmx[i]);
-        } else {
-            ctrl = insert_macro(the_score, seqround(thetime), lineno,
-                        macctrldef[i], voice, macctrlnum[i],
-                        &(macctrlparms[macctrlparmx[i]]));
-        }
-        out_of_memory |= (ctrl == NULL);
-    }
-
-    /* insert a note if
-         *    (1) a pitch was specified OR
-         *    (2) no control was specified and this is not a rest 
-         *      (it's a pitch by default)
-         *
-         * NOTE: program changes during rests are advised since
-         *    synthesizers may not be able to process a program
-         *    change followed immediately by a note-on.  In fact, this
-         *    is why we insert notes whose pitch is NO_PITCH -- so that
-         *    the program change can be processed during the rest.
-         */
-    if (pitch_flag ||
-        (!ctrlflag[0] && !rest_flag && (macctrlx == 0))) {
-        out_of_memory |= !ins_a_note();
-    }
-
-    if (ndurp) thetime += ntime;
-    else thetime += dur;
-
-    return out_of_memory;
-}
-
-
-private boolean parseparm(valptr)
-  long *valptr;
-{
-    register char c = token[fieldx];
-    if (isdigit(c) || c == '-') {
-        *valptr = scansgnint();
-        return TRUE;
-    } else {
-        switch (c) {
-          case 'P':
-            fieldx++;
-            *valptr = doabspitch();
-             return TRUE;
-          case 'A':
-          case 'B':
-          case 'C':
-          case 'D':
-          case 'E':
-          case 'F':
-          case 'G':
-            fieldx++;
-            *valptr = dopitch();
-            return TRUE;
-          case 'U':
-          case 'W':
-          case 'H':
-          case 'Q':
-          case 'I':
-          case 'S':
-          case '%':
-          case '^':
-            fieldx++;
-            *valptr = seqround(dodur());
-            return TRUE;
-          case 'L':
-            fieldx++;
-            *valptr = doloud();
-            return TRUE;
-          case '\'':
-            fieldx++;
-            *valptr = token[fieldx];
-            fieldx++;
-            if (token[fieldx] != '\'') {
-                fferror("single quote expected");
-            }
-            fieldx++;
-            return TRUE;
-          default:
-            fferror("Parameter expected");
-            return FALSE;
-        }
-    }
-}
-
-
-
-/****************************************************************************
-*               scale
-* Inputs:
-*    time_type x
-*    int (ulong?) n, d
-* Outputs:
-*    returns time_type: result of scaling x by n/d
-****************************************************************************/
-
-public time_type scale(x, n, d)
-  ulong x;
-  ulong n, d;
-{
-    ulong lo = (x & 0xFFFFL) * n;
-    ulong hi = (x >> 16) * n;
-    ulong res = hi / d;
-    lo = (((hi - (res * d)) << 16) + lo + (d >> 1)) / d;
-    return (time_type)( (res << 16) + lo );
-}
-
-/****************************************************************************
-*               scan
-* Inputs:
-*    char *start: the string to scan
-* Outputs:
-*    returns int: the index of the next char in start to scan
-* Effect: 
-*    skips over leading blanks
-*    copies characters from start into token, converting to upper case
-*    scanning stops on delimiter: one of space, tab, newline, semicolon
-****************************************************************************/
-
-private int scan()
-{
-    char *start = line + linex;
-    register char c;
-    register int i = 0;
-    register int j = 0;
-    register int parens = 0;
-
-    while (((c = start[i]) == ' ') || (c == '\t')) i++;
-
-    while ((c = start[i]) != ' ' && c != '\n' && c != '\t' && c != EOS &&
-           (c != ',' || token[0] == '~' || parens > 0) && c != ';') {
-
-        if (islower(start[i])) token[j] = toupper(start[i]);
-        else token[j] = start[i];
-        if (c == '(') parens++;
-        else if (c == ')') parens--;
-        j++; 
-        i++;
-    }
-    token[j] = '\0';
-
-    fieldx = 0;
-    if (parens) fferror("Unbalanced parens");
-
-    return i;
-}
-
-/****************************************************************************
-*               scan1
-* Inputs:
-*    char *start: the string to scan
-* Outputs:
-*    returns int: the index of the next char in start to scan
-* Effect: 
-*    copies one char from start into token, converting to upper case
-****************************************************************************/
-
-private int scan1(start)
-char *start;
-{
-    int i = 0;
-
-    token[0] = *start;
-    if (islower(token[0])) token[0] = toupper(token[0]);
-
-    if (!nullstring(token)) {
-        token[1] = '\0';
-        i = 1;
-    }
-    fieldx = 0;
-    return i;
-}
-
-/****************************************************************************
-*               scanint
-* Outputs:
-*    returns long: the scanned integer
-* Effect:
-*    scans an unsigned long from token, starting at fieldx
-*    fieldx is incremented to end of the integer
-****************************************************************************/
-
-private long scanint()
-{
-    long i = 0;
-    char c;
-    while ((c = token[fieldx])) {
-        if (isdigit(c)) {
-            i = (i*10) + (c - '0');
-            fieldx++;
-        } else return i;
-    }
-    return i;
-}
-
-private long scansgnint()
-{
-    if (token[fieldx] == '-') {
-        fieldx++;
-        return -scanint();
-    } else {
-        if (token[fieldx] == '+') {
-            fieldx++;
-        }
-        return scanint();
-    }
-}
-
-
-/* scansymb -- scan a symbol from the token */
-/**/
-private void scansymb(str)
-  char *str;
-{
-    char c;
-    while ((c = token[fieldx])) {
-        if (isdigit(c) || isalpha(c) || c == '_') {
-            *str++ = c;
-            fieldx++;
-        } else break;
-    }
-    *str = EOS;
-}
-
-/****************************************************************************
-*               seq_read
-* Inputs:
-*    seq_type seq: the sequence to receive the score
-*    FILE *fp: input file
-* Outputs:
-*    none
-* Effect: 
-*    parses score from input file and builds score data structure
-****************************************************************************/
-
-void seq_read(seq, fp)
-  seq_type seq;
-  FILE *fp;
-{
-    boolean out_of_memory = FALSE;    /* set when no more memory */
-    /* printf("seq_read: chunklist is 0x%x\n", seq->chunklist); */
-    the_score = seq;  /* current sequence is a global within this module */
-    if (!seq) return;
-    init();
-    lineno = 0;
-        
-    /* make sure line is well terminated or scan might run off the end */
-    line[linesize - 1] = EOS;
-    line[linesize - 2] = '\n';
-
-    /* this loop reads lines */
-    while ((fgets(line, linesize - 2, fp) != NULL) && !out_of_memory &&
-           !check_aborted() && !end_flag) {
-        lineno++;
-        linex = 0;
-        /* this loop reads notes from a line */
-        while ((line[linex] != EOS) && !out_of_memory) {
-            /* loop invariant: line[linex] is first char of next note */
-            ctrlflag[0] = FALSE;  /* other ctrlflags are reset by ins_ctrls() */
-            macctrlx = 0;
-            macctrlnextparm = 0;
-            pitch_flag = FALSE;
-            linex += scan();
-            if (!nullstring(token)) {
-                if (token[0] == '*') docomment();
-                else if (token[0] == '!') dospecial();
-                else out_of_memory = parsenote();
-            } 
-            else parseend();
-        }
-    }
-
-    if (out_of_memory) {
-        gprintf(ERROR, "Out of note memory at line %d,\n", lineno-1);
-        gprintf(ERROR, "    the rest of your file will be ignored.\n");
-    }
-
-    if (check_aborted()) {
-        gprintf(ERROR, "User aborted score input,\n");
-        gprintf(ERROR, "    the rest of your file will be ignored.\n");
-        if (abort_flag == BREAK_LEVEL) abort_flag = 0;
-    }
-
-    fclose(fp);
-
-    gprintf(TRANS, "\nLoaded Adagio file with %ld note(s), %ld ctrl(s).\n\n",
-            seq_notecount(the_score), seq_ctrlcount(the_score));
-}
diff --git a/lib-src/libnyquist/cmt/seqread.h b/lib-src/libnyquist/cmt/seqread.h
deleted file mode 100644
index 1348574..0000000
--- a/lib-src/libnyquist/cmt/seqread.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* seqread.h -- header file for users of seqread.c */
-/* Copyright 1989 Carnegie Mellon University */
-
-#define name_length 255
-void seq_read(seq_type seq, FILE *fp); /* LISP: (SEQ-READ SEQ FILE) */
-time_type scale(ulong, ulong, ulong);    /*now public for smf_write, smf_read*/
-
diff --git a/lib-src/libnyquist/cmt/seqwrite.c b/lib-src/libnyquist/cmt/seqwrite.c
deleted file mode 100644
index fde0746..0000000
--- a/lib-src/libnyquist/cmt/seqwrite.c
+++ /dev/null
@@ -1,282 +0,0 @@
-/* seqwrite -- write a seq in Adagio format to a file */
-/***************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+--------------------------------------------------------------
-* 11-Mar-94 | Created Change Log
-* 11-Mar-94 | PLu : Added private to function defs.
-* 28-Apr-03 |  DM : changed for portability, true->TRUE, false->FALSE
-****************************************************************************/
-
-#include "switches.h"
-
-#include <stdio.h>
-
-#include "cext.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "seq.h"
-#include "seqwrite.h"
-#include "userio.h"
-#include "record.h"
-
-private boolean next_event_time();
-private void write_event();
-private void write_velocity(FILE *f, int velocity);
-private void write_voice();
-private void write_rest(FILE *f, event_type ev, boolean abs_flag);
-private void write_time();
-
-private boolean clock_started;
-private long clock_half_tick;
-private int new_tempo;
-/* non-zero indicates a pending tempo change... */
-private time_type tempo_change_at;
-
-private int macro_count;
-private int call_count;
-private int deframp_count;
-private int seti_count;
-
-private int last_velocity;
-private int last_voice = seq_dflt_voice;
-
-
-/* next_event_time -- get the time of the next event */
-/*
- * NOTE: clock events are ignored (unless this is the first clock event)
- */
-private boolean next_event_time(event, next_time)
-  event_type event;
-  time_type *next_time;
-{
-    while (event) {
-        if (vc_ctrl(event->nvoice) == ESC_CTRL &&
-            event->value == CLOCK_VALUE && 
-            clock_started) {
-            /* this is a clock event, ignore it: */
-            event = event->next;
-        } else {
-            *next_time = event->ntime;
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-
-/* seq_write -- write a seq to a file */
-/*
- * NOTE: if abs_flag, then write using absolute times ('T'), otherwise use
- *  relative timing ('N').  Also, only selected channels are written.
- */
-void seq_write(seq_type seq, FILE *f, boolean abs_flag)
-{
-    event_type ev = seq_events(seq);
-
-    last_velocity = seq_dflt_loud;
-    last_voice = seq_dflt_voice;
-
-    fprintf(f, "!MSEC\n");
-    clock_started = FALSE;
-    tempo_change_at = 0;
-
-    macro_count = 0;
-    call_count = 0;
-    deframp_count = 0;
-    seti_count = 0;
-
-    while (ev) {
-        write_event(seq, ev, f, abs_flag);
-        ev = ev->next;
-    }
-    if (macro_count) gprintf(TRANS, "%d macros ignored.\n", macro_count);
-    if (call_count) gprintf(TRANS, "%d calls ignored.\n", call_count);
-    if (deframp_count) gprintf(TRANS, "%d deframps ignored.\n", deframp_count);
-    if (seti_count) gprintf(TRANS, "%d setis ignored.\n", seti_count);
-}
-
-
-private char ctrl_letter[] = "?KMOXYZ";
-
-/* write_event -- write a single event to a file */
-/**/
-private void write_event(seq, event, f, abs_flag)
-  seq_type seq;
-  event_type event;
-  FILE *f;
-  boolean abs_flag;
-{
-    int voice = vc_voice(event->nvoice);
-
-    /* process all current (and earlier) events */
-    if (is_note(event)) {       /*** a note or rest ***/
-        /* if this note is not a rest, write it */
-        if (event->value != NO_PITCH &&
-                  (seq_channel_mask(seq) &
-                   (1 << (voice - 1)))) {
-            write_pitch(f, event->value);
-            fprintf(f, " U%ld ", event->u.note.ndur >> 8);
-            write_velocity(f, (int) (event->u.note.ndur & 0xFF));
-            write_voice(f, voice);
-            write_time(f, event, abs_flag);
-        }
-    } else {            /*** a control command ***/
-        switch (vc_ctrl(event->nvoice)) {
-          case PSWITCH_CTRL:
-          case MODWHEEL_CTRL:
-          case TOUCH_CTRL:
-          case VOLUME_CTRL:
-          case BEND_CTRL:
-            fprintf(f, "%c%d ", ctrl_letter[vc_ctrl(event->nvoice)],
-                                    event->value);
-            write_voice(f, voice);
-            write_time(f, event, abs_flag);
-            break;
-          case PROGRAM_CTRL:
-            fprintf(f, "Z%d ", event->value + 1);
-            write_voice(f, voice);
-            write_time(f, event, abs_flag);
-            break;
-          case ESC_CTRL:
-            switch (event->value) {
-              case CALL_VALUE:
-                call_count++;
-                write_rest(f, event, abs_flag);
-                /* !call's are not written because there isn't enough
-                 * information.  A future version of seq should store
-                 * the hash table entry instead of the address of the
-                 * routine (then we could get string name of the call)
-                 * and the number of arguments.
-                 */
-                break;
-              case CLOCK_VALUE:
-                /* design for !clock: for absolute (absflag) files, put the
-                   clocks (if any) at the end where they can be edited out
-                   easily.  For relative files, keep the clocks in-line.
-                   On each clock, write a !tempo command inferred by the 
-                   clock and followed by the !clock.  Because the clock
-                   event comes before the actual tempo change, the chnage
-                   must be delayed by a half tick except for the first one.
-                 */
-                if (abs_flag) break;
-                new_tempo = (2500L << 16) / event->u.clock.ticksize;
-                if (clock_started) {
-                    tempo_change_at = event->ntime + clock_half_tick;
-                } else {
-                    fprintf(f, "!tempo %d\n", new_tempo);
-                    fprintf(f, "!clock\n");
-                    clock_started = TRUE;
-                }
-                clock_half_tick = (event->u.clock.ticksize) >> 17;
-                break;
-              case MACCTRL_VALUE:
-                fprintf(f, "~%d(%d) ", event->u.macctrl.ctrl_number,
-                                       event->u.macctrl.value);
-                write_voice(f, voice);
-                write_time(f, event, abs_flag);
-                break;
-              case MACRO_VALUE: 
-                macro_count++;
-                write_rest(f, event, abs_flag);
-                /* macros are not written because there isn't enough
-                 * information.  A future version of seq should store
-                 * the number of arguments in the event, or better yet,
-                 * in the definition.  Send complaints to RBD!
-                 */
-                break;
-              case CTRLRAMP_VALUE:
-                fprintf(f, "!ramp ~%d(%d) ~%d(%d) U%d U%d ",
-                        event->u.ramp.ctrl, event->u.ramp.u.ctrl.from_value,
-                        event->u.ramp.ctrl, event->u.ramp.u.ctrl.to_value,
-                        (int)event->u.ramp.step,
-                        (int)event->u.ramp.dur);
-                write_voice(f, voice);
-                write_time(f, event, abs_flag);
-                break;
-              case DEFRAMP_VALUE:
-                deframp_count++;
-                write_rest(f, event, abs_flag);
-                /* See MACRO_VALUE above for why this isn't implemented. */
-                break;
-              case SETI_VALUE:
-                seti_count++;
-                write_rest(f, event, abs_flag);
-                /* !seti and !setv are not implemented -- a future version
-                 * of seq should save more information so we can reconstruct
-                 * the Adagio source command.
-                 */
-                break;
-              default:
-                gprintf(TRANS, "unexpected ESC_CTRL value\n");
-                break;
-            }
-            break;
-          default:
-            gprintf(TRANS, "unexpected seq data\n");
-            break;
-        }
-    }
-}
-
-
-/* write_rest -- write a rest (in place of an event) */
-/**/
-private void write_rest(FILE *f, event_type ev, boolean abs_flag)
-{
-    fprintf(f, "R ");
-    write_time(f, ev, abs_flag);
-}
-
-
-/* write_time -- write the final field on the line with N or T command */
-/**/
-private void write_time(f, event, abs_flag)
-  FILE *f;
-  event_type event;
-  boolean abs_flag;
-{
-    time_type next_time;
-
-    if (abs_flag) {
-        fprintf(f, "T%ld\n", event->ntime);
-        return;
-    }
-
-    if (next_event_time(event->next, &next_time)) {
-        if (tempo_change_at && (next_time >= tempo_change_at)) {
-            fprintf(f, "N%ld\n!TEMPO %d\n!CLOCK\nR U%ld\n", 
-                        tempo_change_at - event->ntime,
-                        new_tempo, next_time - tempo_change_at);
-            tempo_change_at = 0;
-        } else {
-            fprintf(f, "N%ld\n", next_time - event->ntime);
-        }
-    } else {
-        fprintf(f, "\n");
-    }
-}
-
-
-/* write_velocity -- write the velocity field */
-/**/
-private void write_velocity(FILE *f, int velocity)
-{
-    if (last_velocity != velocity) {
-        last_velocity = velocity;
-        fprintf(f, "L%d ", velocity);
-    }
-}
-
-
-/* write_voice -- write the voice field */
-/**/
-private void write_voice(f, voice)
-  FILE *f;
-  int voice;
-{
-    if (last_voice != voice) {
-        last_voice = voice;
-        fprintf(f, "V%d ", voice);
-    }
-}
diff --git a/lib-src/libnyquist/cmt/seqwrite.h b/lib-src/libnyquist/cmt/seqwrite.h
deleted file mode 100644
index 3f9ab6b..0000000
--- a/lib-src/libnyquist/cmt/seqwrite.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* seqwrite.h -- write adagio format file */
-/* Copyright 1994 Carnegie Mellon University */
-
-void seq_write(seq_type seq, FILE *f, boolean abs_flag);
-        /* LISP: (SEQ-WRITE SEQ FILE BOOLEAN) */
-
diff --git a/lib-src/libnyquist/cmt/swlogic.h b/lib-src/libnyquist/cmt/swlogic.h
deleted file mode 100644
index e09bd6c..0000000
--- a/lib-src/libnyquist/cmt/swlogic.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/********************************************************************
-*    swlogic.h - switch logic, loaded from various versions of switch.h
-*
-* Copyright 1989 Carnegie Mellon University
-*
-*********************************************************************/
-
-/* 
- * When included, one of the following should be defined: 
- *         AZTEC (manx compiler, implies AMIGA)
- *         THINK_C (Think C compiler, implies Macintosh)
- *         __MWERKS__ (Metrowerks C compiler, implies Macintosh)
- *         LATTICE & DOS (Lattice compiler for IBM PC/AT/XT/CLONES)
- *         MICROSOFT & DOS (Microsoft compiler, implies IBM PC/AT/XT/CLONES)
- *         UNIX (emulator for UNIX)
- *         UNIX_ITC (ITC code for RS6000)
- *         UNIX_MACH (MACH ukernel system)
- */
- 
-/*------------------------------------------*/
-/* Other switches that might be defined in switches.h are as follows: */
-/* APPLICATION, SPACE_FOR_PLAY, MAX_CHANNELS */
-/*------------------------------------------*/
-
-/* We're moving toward the elimination of switches.h, so try to map
- * predefined constants into our standard constants shown above:
- */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  new conditional compilation structure
- * 28Apr03  rbd remove macro redefinitions: MICROSOFT 
- */
-
-
-
-/* Microsoft C compiler: */
-#ifdef _MSC_VER
-#endif
-#ifdef _MSDOS
-#define DOS
-#endif
-
-/* Quick C compiler: */
-#ifndef DOS
-#ifdef MICROSOFT
-#define DOS
-#endif
-#endif
-
-/* Borland C compiler: */
-#ifdef __BORLANDC__
-#define BORLAND
-#define DOS
-#endif
-
-/* Borland Turbo C compiler: */
-#ifdef __TURBOC__
-#define BORLAND]
-#define DOS
-#endif
-
-/* SGI systems */
-#ifdef sgi
-#ifndef UNIX
-#define UNIX
-#endif
-#define UNIX_IRIX
-#define MAX_CHANNELS 32
-#endif
-
-/* APPLICATION -- define APPLICATION if you want to disable
- * looking for command line switches in the midi interface.
- * I think this feature is here for the Piano Tutor project
- * and you should not define APPLICATION for CMU Midi Toolkit
- * projects (APPLICATION is a poor choice of terms):
- */
-
-
-/* memory space management (system dependent):
- *      SPACE_FOR_PLAY must be enough space to allow
- *  seq to play a score.  This may include space for
- *  note-off events, I/O buffers, etc.
- */
-#ifndef SPACE_FOR_PLAY
-#define SPACE_FOR_PLAY 10000L
-#endif
-
-
-/* How many MIDI channels are there?  MACINTOSH can use 2 ports,
- * so it supports 32 channels.  Others have one port, 16 channels.
- * On the other hand, if you don't have all the MIDI ports plugged
- * into MIDI interfaces, CMT will just hang, so I'll compile with
- * just 16 channels.  The 32 channel option for the Mac is untested.
- */
-#ifndef MAX_CHANNELS
-#define MAX_CHANNELS 16
-#endif
-
-
-/*------------------------------------------*/
-/* Now we get to the "logic": define things as a function of what
- * was defined in switches.h
- */
-
-#ifdef THINK_C
-#define MACINTOSH
-#endif
-
-#ifdef __MWERKS__
-#define MACINTOSH
-#endif
-
-#ifdef MACINTOSH
-#define MACINTOSH_OR_DOS
-#define MACINTOSH_OR_UNIX
-/* I don't know if THINK_C defines this and we need it for a few prototypes... */
-#ifndef __STDC__
-#define __STDC__
-#endif
-#ifndef TAB_WIDTH
-#define TAB_WIDTH 4
-#endif
-#endif
-
-#ifndef TAB_WIDTH
-#define TAB_WIDTH 8
-#endif
-
-/*
- * If MIDIMGR is defined, compile for the Apple MIDI Manager
- * (Non MIDI manager code is no longer supported)
- */
-#ifdef MACINTOSH
-/* under Nyquist, the MidiMgr is not used, so you can't
- * receive or send Midi as in CMU MIDI Toolkit; however,
- * much of CMU MIDI Toolkit is used for Midi file IO
- */
-#ifndef NYQUIST
-#define MIDIMGR
-#endif
-#define USE_VSPRINTF
-#endif
-
-#ifdef BORLAND
-#define DOS
-#endif
-
-#ifdef LATTICE322
-#define DOS
-#define OLD_PROTOTYPES
-#endif
-
-#ifdef UNIX_ITC
-#define UNIX
-#define ITC
-#endif
-
-#ifdef UNIX_MACH
-#define UNIX
-#define ITC
-#endif
-
-/* USE_VSPRINTF says vsprintf() is defined */
-#ifdef ITC
-#define USE_VSPRINTF
-#endif
-#ifdef AZTEC
-#define USE_VSPRINTF
-#endif
-
-
-/* DOTS_FOR_ARGS says ANSI "..." notation is recognized */
-#ifdef __STDC__
-#define DOTS_FOR_ARGS
-#endif
-#ifdef UNIX_ITC
-#define DOTS_FOR_ARGS
-#endif
-#ifdef BORLAND
-#define DOTS_FOR_ARGS
-#endif
-#ifdef MICROSOFT
-#define DOTS_FOR_ARGS
-#endif
-
-#ifdef DOS
-#define MACINTOSH_OR_DOS
-#else
-#define huge
-#endif
-
-#ifdef UNIX
-#define MACINTOSH_OR_UNIX
-#endif
-
-#define SWITCHES
diff --git a/lib-src/libnyquist/cmt/tempomap.c b/lib-src/libnyquist/cmt/tempomap.c
deleted file mode 100644
index e56b9bf..0000000
--- a/lib-src/libnyquist/cmt/tempomap.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/* tempomap.c -- used by midifile reader to record and lookup time maps */
-/*
- *  This module is designed to provide tempo change list insert and
- *  lookup facilities.  The exact interpretation of beat and tempo are
- *  defined in one function, elapsed_time, which takes a tempo and a
- *  number of beats, and returns time.
- */
-
-#include "cext.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "moxc.h"
-#include "seq.h"
-#include "tempomap.h"
-
-static time_type elapsed_time();
-
-/* tempomap_create -- create a tempomap */
-/**/
-tempomap_type tempomap_create()
-{
-    tempochange_type tempochange = tempochange_alloc();
-    tempomap_type tempomap = tempomap_alloc();
-    tempomap->hint = tempomap->entries = tempochange;
-    tempochange->beat = 0L;
-    /* default tempo is 120 (= 50000microsec/beat) and 24 divisions/quarter */
-    /* this may be overridden by a tempomap_insert */
-    tempochange->tempo = 500000L / 24;
-    tempochange->rtime = 0L;
-    tempochange->next = NULL;
-    return tempomap;
-}
-
-
-/* tempomap_free -- deallocate storage for tempo map */
-/**/
-void tempomap_free(tm)
-  tempomap_type tm;
-{
-    while (tm->entries) {
-        tempochange_type tc = tm->entries;
-        tm->entries = tc->next;
-        tempochange_free(tc);
-    }
-    memfree(tm, sizeof(tempomap_node));
-}
-
-
-/* tempomap_insert -- insert a tempo change into the map */
-/**/
-void tempomap_insert(tempomap, beat, tempo)
-  tempomap_type tempomap;
-  long beat;    /* beat division number */
-  long tempo;   /* microseconds per beat division */
-{
-    tempochange_type tempochange = tempochange_alloc();
-    register tempochange_type prev;
-    register tempochange_type next;
-
-    tempochange->tempo = tempo;
-    tempochange->beat = beat;
-
-    if ((!(tempomap->hint->next)) ||
-          (tempomap->hint->beat > beat))
-        tempomap->hint = tempomap->entries;
-
-    /* find the insert point */
-    for (prev = tempomap->hint;
-         (next = prev->next) && (next->beat <= beat);
-         prev = next);
-
-     /* make the insert */
-    tempochange->next = next;
-    prev->next = tempochange;
-    tempomap->hint = prev;
-
-    /* update the real time of each change */
-    for (tempochange = prev;
-         tempochange->next;
-         tempochange = tempochange->next) {
-        tempochange->next->rtime =
-            tempochange->rtime +
-            elapsed_time(tempochange->tempo,
-                         tempochange->next->beat - tempochange->beat);
-    }
-}
-
-
-/* tempomap_lookup -- convert beat to 4us time */
-/*
- * The returned time is real time in units of 4us.
- */
-time_type tempomap_lookup(tempomap, beat)
-  tempomap_type tempomap;
-  long beat;
-{
-    register tempochange_type prev;
-    register tempochange_type next;
-
-    if ((!(tempomap->hint->next)) || 
-          (tempomap->hint->beat > beat))
-        tempomap->hint = tempomap->entries;
-
-    /* find the last inflection point */
-    for (prev = tempomap->hint;
-         (next = prev->next) && (next->beat <= beat);
-         prev = next);
-
-    /* interpolate */
-    return prev->rtime +
-           elapsed_time(prev->tempo, beat - prev->beat);
-}
-
-
-/* elapsed_time -- compute the real elapsed time at a given tempo */
-/*
- * the time returned is in units of 4us.
- */
-static time_type elapsed_time(tempo, beat)
-  long tempo;
-  long beat;
-{
-    return (time_type)((tempo * beat) >> 2);
-}
diff --git a/lib-src/libnyquist/cmt/tempomap.h b/lib-src/libnyquist/cmt/tempomap.h
deleted file mode 100644
index a437c25..0000000
--- a/lib-src/libnyquist/cmt/tempomap.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* tempomap.h -- list of tempo changes */
-
-typedef struct tempochange_struct {
-    struct tempochange_struct *next;
-    time_type rtime;
-    long beat;
-    long tempo;
-} tempochange_node, *tempochange_type;
-
-
-typedef struct tempomap_struct {
-    tempochange_type entries;
-    tempochange_type hint;
-} tempomap_node, *tempomap_type;
-
-
-#define tempochange_alloc() (tempochange_type) memget(sizeof(tempochange_node))
-#define tempochange_free(tc) memfree(tc, sizeof(tempochange_node))
-#define tempomap_alloc() (tempomap_type) memget(sizeof(tempomap_node))
-tempomap_type tempomap_create(void);
-void tempomap_free(tempomap_type tm);
-void tempomap_insert(tempomap_type tempomap, long beat, long tempo);
-time_type tempomap_lookup(tempomap_type tempomap, long beat);
-
-    
diff --git a/lib-src/libnyquist/cmt/timebase.c b/lib-src/libnyquist/cmt/timebase.c
deleted file mode 100644
index 0bb1713..0000000
--- a/lib-src/libnyquist/cmt/timebase.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* timebase.c -- management of calls, time bases and heaps for moxc */
-
-/*****************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-*  2-Apr-91 | JDW : further changes
-* 21-Mar-92 | GWL : abort recovery
-* 28-Apr-03 |  DM : true->TRUE
-*****************************************************************************/
-
-
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "moxc.h"
-
-
-timebase_type timebase_queue = NULL;    /* waiting to run timebase queue */
-call_type callfree = NULL;      /* free list */
-
-private void fatal();
-
-
-/****************************************************************************
-*                           timebase_create
-* Inputs:
-*       maxsize is the initial size of the heap
-* Outputs:
-*       returns an initialized timebase_type
-****************************************************************************/
-
-timebase_type timebase_create(maxsize)
-  int maxsize;
-{
-   static char *error_msg = "Out of memory in timebase_create()";
-    timebase_type base = (timebase_type) memget(sizeof(timebase_node));
-    if (!base) fatal(error_msg);
-    base->next = NULL;
-    base->next_time = MAXTIME;
-    base->virt_base = 0L;
-    base->real_base = 0L;
-    base->rate = 256L;
-    base->heap_size = 0;
-    base->heap_max = maxsize;
-    base->heap = (call_type *) memget(sizeof(call_type) * maxsize);
-    if (!base->heap) fatal(error_msg);
-    return base;
-}
-
-/****************************************************************************
-*                           callinsert
-* Inputs:
-*       timebase_type base: the time base and heap
-*       call_type call: the call to insert in heap
-* Outputs:
-        none
-* Implementation:
-*       linear insertion; to be changed to heap
-****************************************************************************/
-
-void callinsert(base, call)
-  timebase_type base;
-  call_type call;
-{
-    int i;
-    register call_type *heap = base->heap;
-
-    /* handle overflow -- this should never be executed if the user 
-     * gives the right initial heap size 
-     */
-    base->heap_size++;
-    if (base->heap_size >= base->heap_max) {
-        call_type *new_heap = (call_type *)
-            memget((base->heap_max << 1) * sizeof(call_type));
-        int i;
-        call_type *oldptr;
-        call_type *newptr;
-        if (!new_heap) {
-            gprintf(TRANS, "Out of space, can't allocate new heap\n");
-            EXIT(1);
-        }
-
-        oldptr = base->heap;
-        newptr = new_heap;
-
-        for (i = base->heap_max; i > 0; i--) *newptr++ = *oldptr++;
-        memfree((char *) heap, base->heap_max * sizeof(call_type));
-        base->heap = heap = new_heap;
-        base->heap_max = (base->heap_max << 1);
-    }
-
-    /* now do the heap insert */
-    i = base->heap_size;
-    while (i > 1) {
-        int parent = i >> 1;
-        if (heap[parent]->u.e.time < call->u.e.time ||
-            (heap[parent]->u.e.time == call->u.e.time &&
-             heap[parent]->u.e.priority <= call->u.e.priority)) break;
-        heap[i] = heap[parent];
-        i = parent;
-    }
-    heap[i] = call;
-
-    /* if next_time might change, reinsert base into queue */
-    if (heap[1] == call) {
-        remove_base(base);
-        insert_base(base);
-    }
-}
-
-/****************************************************************************
-*                               callshow
-* Inputs:
-*       calltype call: the call to show
-* Effect: 
-*       prints a description of call
-* Assumes:
-*       call is not null
-****************************************************************************/
-void callshow(call)
-    call_type call;
-{
-    int i;
-    gprintf(TRANS,"address:  %lx\n", (ulong)call);
-    gprintf(TRANS,"time:     %ld\n", call->u.e.time);
-    gprintf(TRANS,"routine:  %lx\n", (ulong)call->u.e.routine);
-    gprintf(TRANS,"parameters:");
-    for (i = 0; i < MAX_CALL_ARGS; i++) {
-        gprintf(TRANS, " %d", call->u.e.p.arg[i]);
-    }
-    gprintf(TRANS, "\n");
-}
-
-/***************************************************************
-*                           fatal
-*
-* Input : msg: a message to be displayed
-* Effect: print message and exit program
-***************************************************************/
-
-private void fatal(msg)
-  char *msg;
-{
-    gprintf(FATAL, msg);
-    EXIT(1);
-}
-
-/***************************************************************
-*                           timebase_free
-*
-* Input : a time base
-* Effect: deallocate the time base
-***************************************************************/
-
-void timebase_free(timebase)
-  timebase_type timebase;
-{
-    remove_base(timebase);
-    if (timebase->heap) {
-        memfree((char *) timebase->heap,
-                (timebase->heap_max * sizeof(call_type)));
-    }
-    memfree((char *) timebase, sizeof(timebase_node));
-}
-
-/***************************************************************
-*                           insert_base
-*
-* Input : a time base not in the list 
-* Effect: insert timebase at the appropriate spot in the list
-*       computes the next_time field from the top of the heap
-***************************************************************/
-
-void insert_base(timebase)
-  timebase_type timebase;
-{
-    register timebase_type *ptr = &timebase_queue;
-    register time_type next_time = MAXTIME;
-    /* compute next_time */
-    if (timebase->heap_size != 0) {
-        register call_type call = timebase->heap[1];
-        /* virt to real calculation */
-        next_time = (virt_to_real_256(timebase, call->u.e.time) &
-                     0xFFFFFF00) + call->u.e.priority;
-/*      gprintf(TRANS,
-                "insert next_time is %ld, vt %ld, rb %ld, vb %ld rt %ld\n",
-                next_time, timebase->heap[1]->u.e.time,
-                timebase->real_base, timebase->virt_base, timebase->rate);
- */
-    }
-    timebase->next_time = next_time;
-
-    if (next_time != MAXTIME) {
-        /* insert into the list */
-        while (TRUE) {
-            if (! *ptr) {
-                *ptr = timebase;
-                timebase->next = NULL;
-                return;
-            } else if ((*ptr)->next_time >= next_time) {
-                timebase->next = *ptr;
-                *ptr = timebase;
-                return;
-            } else ptr = &((*ptr)->next);
-        }
-    }
-}
-
-/***************************************************************
-*                           remove_base
-*
-* Input : timebase
-* Effect: if timebase is in the queue, remove it
-***************************************************************/
-
-void remove_base(timebase)
-  timebase_type timebase;
-{
-    timebase_type *ptr = &timebase_queue;
-    while (*ptr) {
-        if (*ptr == timebase) {
-            *ptr = timebase->next;
-            return;
-        } else ptr = &((*ptr)->next);
-    }
-}
-
-/***************************************************************
-*                           remove_call
-*
-* Input : a timebase -- passed as a global
-* Assumes: a_timebase->heap_size > 0
-* Returns: the earliest call in the queue
-* Effect: removes the earliest call in the queue
-***************************************************************/
-
-call_type remove_call(timebase_type a_timebase)
-{
-    register call_type *heap = a_timebase->heap;
-    call_type result = heap[1];
-    register call_type large;
-    int i = 1;
-    int child = i << 1;;
-    large = heap[a_timebase->heap_size--];
-    while (child <= a_timebase->heap_size) {
-        if (child + 1 <= a_timebase->heap_size) {
-            if (heap[child + 1]->u.e.time < heap[child]->u.e.time ||
-                (heap[child + 1]->u.e.time == heap[child]->u.e.time &&
-                 heap[child + 1]->u.e.priority < heap[child]->u.e.priority))
-                child++;
-        }
-        /* child is now the index of the least child */
-        if (large->u.e.time < heap[child]->u.e.time ||
-            (large->u.e.time == heap[child]->u.e.time &&
-             large->u.e.priority <= heap[child]->u.e.priority)) break;
-        /* swap */
-        heap[i] = heap[child];
-        i = child;
-        child = i << 1;
-    }
-    heap[i] = large;
-    return result;
-}
-
-/***************************************************************
-*                           set_rate
-*
-* Input : timebase and new rate
-* Effect: makes the current rate of timebase be rate
-***************************************************************/
-
-void set_rate(base, rate)
-  timebase_type base;
-  time_type rate;
-{
-    if (base == timebase) base->virt_base = virttime;
-    else base->virt_base = real_to_virt(base, eventtime);
-    base->real_base = eventtime;
-    base->rate = rate;
-/*    gprintf(TRANS, "new real_base %ld virt_base %ld\n",
-                   base->real_base, base->virt_base);
- */
-    remove_base(base);
-    insert_base(base);
-}
-  
-/***************************************************************
-*                           set_virttime
-*
-* Input : virtual time
-* Effect: makes the current virtual time of timebase be vtime
-***************************************************************/
-
-void set_virttime(base, vtime)
-  timebase_type base;
-  time_type vtime;
-{
-    base->real_base = eventtime;
-    base->virt_base = vtime;
-    if (base == timebase) virttime = vtime;
-    remove_base(base);
-    insert_base(base);
-}
-
-/***************************************************************
-*                           timebase_use
-*
-* Input : a timebase to use for scheduling
-* Effect: sets up globals: timebase, virttime
-***************************************************************/
-
-void timebase_use(base)
-  register timebase_type base;
-{
-    if (timebase != base) {
-        timebase = base;
-        virttime = real_to_virt(base, eventtime);
-    }
-}
diff --git a/lib-src/libnyquist/cmt/timebase.h b/lib-src/libnyquist/cmt/timebase.h
deleted file mode 100644
index 9da4e90..0000000
--- a/lib-src/libnyquist/cmt/timebase.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* timebase.h -- management of calls, time bases and heaps for moxc */
-
-#define STOPRATE 0xFFFFL
-
-/***************************************************************************
-* call structure
-****************************************************************************/
-
-/* ---NOTE!!! if you change MAX_CALL_ARGS, change CALLARGS macro below--- */
-#define MAX_CALL_ARGS 8
-typedef struct call_args_struct {
-  long arg[MAX_CALL_ARGS];
-} call_args_node;
-
-typedef struct call {
-    union {
-        struct {
-            time_type time;     /* virtual time of this call */
-            int priority;       /* an 8-bit the priority, low priority first */
-            int (*routine)();   /* who to call */
-            call_args_node p; /* what to pass */
-        } e;
-        struct call *p; /* used to link free calls */
-    } u;
-} *call_type, call_node;
-
-/* CALLARGS - given a call_type, this macro generates an argument list */
-/*
- * NOTE: originally, I thought call->u.e.p (a structure), would do it, but
- * Lattice C for the Amiga has a compiler bug, and even in places where the
- * bug doesn't show up, the code generated for the structure passing is 
- * a sequence of two loops: one to copy data to a local area on the stack,
- * and one to push this data (a byte at a time!) to the top of the stack.
- * With Lattice (and perhaps others, I haven't checked), it's better to 
- * push the data in-line.
- */
-#ifdef LATTICE
-#define CARG(n) call->u.e.p.arg[n]
-#define CALLARGS(call) CARG(0), CARG(1), CARG(2), CARG(3), \
-                CARG(4), CARG(5), CARG(6), CARG(7)
-#else
-#define CALLARGS(call) call->u.e.p
-#endif
-
-/***************************************************************************
-* timebase structure
-****************************************************************************/
-
-typedef struct timebase_struct {
-    struct timebase_struct *next;       /* used for list */
-    time_type next_time;
-    time_type virt_base;
-    time_type real_base;
-    time_type rate; /* ratio of real/virt time, STOPRATE or more is infinity */
-    short heap_size;
-    short heap_max;
-    call_type *heap;
-} timebase_node, *timebase_type;
-
-extern timebase_type timebase_queue;
-
-#define call_alloc() ((call_type) memget(sizeof(call_node)))
-#define call_free(c) memfree((char *) (c), sizeof(call_node))
-
-timebase_type   timebase_create(int maxsize);
-void            callinsert(timebase_type base, call_type call);
-void            callshow(call_type call);
-void            timebase_free(timebase_type timebase);
-void            insert_base(timebase_type timebase);
-void            remove_base(timebase_type timebase);
-call_type       remove_call(timebase_type a_timebase);
-void            set_rate(timebase_type base, time_type rate);
-void            set_virttime(timebase_type base, time_type vtime);
-void            timebase_use(timebase_type base);
-
-#define real_to_virt(base, rtime) ((base)->rate == 0 ? MAXTIME : \
- ((base)->virt_base + (((rtime) - (base)->real_base) << 8) / (base)->rate))
-
-#define virt_to_real(base, vtime) ((base)->rate >= STOPRATE ? \
- ((base)->virt_base > vtime ? (base)->real_base : MAXTIME) : \
- (base)->real_base + ((((vtime) - (base)->virt_base) * (base)->rate) >> 8))
-
-#define virt_to_real_256(base, vtime) ((base)->rate >= STOPRATE ? \
- ((base)->virt_base > vtime ? (base)->real_base << 8 : MAXTIME) : \
- ((base)->real_base << 8) + ((((vtime) - (base)->virt_base) * (base)->rate)))
diff --git a/lib-src/libnyquist/cmt/userio.c b/lib-src/libnyquist/cmt/userio.c
deleted file mode 100644
index 54ac148..0000000
--- a/lib-src/libnyquist/cmt/userio.c
+++ /dev/null
@@ -1,1281 +0,0 @@
-/* userio.c -- handy user interface functions */
-/* Copyright 1989 Carnegie Mellon University */
-
-/*****************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-* 21-May-86 | Created
-* 11-Aug-87 | F.H: Added clear_abort(), stop()
-*    May-88 | JCD : AMIGA VERSION 
-* 11-Jun-88 | RBD: disable printing of GDEBUG messages
-* 12-Oct-88 | JCD : EXCLUSIVE AMIGA VERSION
-* 13-Apr-89 | JCD : New portable version.
-*  5-Apr    | JDW : Further changes
-*  2-Mar-92 | GWL : Little changes to satisfy compiler
-* 19-Nov-92 | JDZ : Mach tty io threads
-* 28-Apr-03 |  DM : portability changes. true->TRUE, false->FALSE
-*****************************************************************************/
-
-/* Notes on ascii input:
-
-Input is complicated because different systems have varying input models,
-especially with regard to handling ^C.  The CMT model handles ^C and ^G as
-special characters, and these do not cause software interrupts.  Also, the
-lowest level of the CMT model does not support line editing: Every character
-is acted upon immediately.  This has two implications:
-(1) CMT must "read ahead" looking for ^C and ^G characters.  This is handled
-by the check_aborted() procedure, which reads characters into the 
-type_ahead[] array.
-(2) CMT must do its own line editing.  This is handled by the ggets() routine.
-
-A number of functions support ascii input, only some of which are visible
-to the application programmer.  Let's start at the top-level and work down;
-each of the following calls the routine below it:
-
-ggets() - gets a string with line editing support.  This function is fairly
-machine independent, except for some backspace-and-erase control character
-code sequences.
-
-ggetchar() - gets a raw character.  This function calls wait_ascii()
- and echoes it.  Note that it may return ABORT_CHAR or BREAK_CHAR.
-
-wait_ascii() - gets a raw character without echo and without character
-code translation.  wait_ascii() either polls get_ascii() or uses some
-kind of system-dependent event waiting.  Returns ABORT_CHAR or BREAK_CHAR
-immediately if abort_flag has been set, regardless of whether there is
-new ascii input.
-
-get_ascii() - checks to see if a character is available.  (Using
-check_aborted().)
-The only dependency here is on the Amiga, we restart input when buffer goes
-from full to non-full.
-
-check_aborted() - looks for input by calling ascii_input.  If found,
-put the input into the type_ahead[] buffer. Returns abort_flag.
-
-ascii_input() - lowest level of input; just gets a character if there is
-one.  Does conversion from RETURN (\r) to EOL (\n).  The Amiga handles
-this in-line directly in check_aborted().
-
-Here's a quick summary:
-
-ggets = ggetchar + line editing & string building
-ggetchar = wait_ascii + character echo
-wait_ascii = get_ascii + wait for character
-get_ascii = check_aborted + pull char from buffer
-check_aborted = ascii_input + test for ^C,^G + put in buffer
-ascii_input = poll for char + CR->EOL conversion
-
-*/
-
-#include "switches.h"
-
-#include <stdio.h>
-#include <string.h>
-#if HAS_STDLIB_H
-#include <stdlib.h> /* normal case */
-#endif
-
-
-#ifdef MACINTOSH
-# include "StandardFile.h"
-  /* added for ThinkC 7 */
-# ifdef THINK_C
-#  include <pascal.h>
-# endif
-#endif
-
-#ifdef AMIGA
-
-# ifdef AZTEC
-#  include "functions.h"
-# else /* LATTICE */
-#  include "amiga.h"
-#  include "stdarg.h"
-# endif
-
-# include "intuition/intuition.h"
-# include "devices/console.h"
-#endif
-
-#include "ctype.h"
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-
-#ifdef MICROSOFT
-#include "signal.h"
-#endif
-
-#ifdef UNIX_MACH
-#include <varargs.h>
-#include <midistruct.h>
-extern char a_in;
-extern int a_in_flag;
-extern int i_am_running;
-#ifdef RTMach
-extern itc_mutex_t a_mutex;
-extern itc_condition_t a_cond, a_in_cond;
-#define A_LOCK() itc_mutex_lock(&a_mutex)
-#define A_UNLOCK() itc_mutex_unlock(&a_mutex)
-#else /* RTMach */
-extern struct mutex a_mutex;
-extern struct condition a_cond, a_in_cond;
-#define A_LOCK() mutex_lock(&a_mutex)
-#define A_UNLOCK() mutex_unlock(&a_mutex)
-#endif /* RTMach */
-#endif
-
-#ifdef DOTS_FOR_ARGS
-#include <stdarg.h>
-#endif
-
-#ifdef UNIX
-#include <sys/param.h>
-#include "cmtio.h"
-#ifdef _IBMR2
-#define NBBY 8
-#define OPEN_MAX 2000
-#include <sys/select.h>
-#endif
-#endif
-
-#ifdef linux
-#include <sys/time.h> /* for FD_ZERO / FD_SET */
-#endif
-
-extern int debug;
-
-#ifdef NYQUIST
-/* get definitions for stdputstr, etc. */
-#include "xlisp.h"
-#endif
-
-
-/****************************************************************************
-*
-*       routines private to this module
-*
-****************************************************************************/
-
-int GetReadFileName();
-int GetWriteFileName();
-
-#ifdef MACINTOSH
-private void PtoC_StrCopy(char *p1, char *p2);
-#endif
-
-#ifdef AMIGA
-        char ConGetChar();
-        ConMayGetChar();
-private void ConRead();
-private void ConPutStr();
-private void ConPutChar();
-UBYTE   ascii_signal();
-UBYTE   KeybSig();
-#endif
-
-
-/****************************************************************************
-*
-* variables shared with other modules
-*
-****************************************************************************/
-
-public int abort_flag;          /* control C or control G equivalent */
-public int redirect_flag;		/* check whether the I/O has been redirected--
-                                    Added by Ning Hu	Apr.2001*/
-/* extern void musicterm(); */ /*DMH: from macmidi.c, to allow abort_check*/
-public boolean ascii_input();
-
-/****************************************************************************
-*
-* variables private to this module
-*
-****************************************************************************/
-
-#ifdef AMIGA
-struct IntuitionBase *IntuitionBase;
-private struct IOStdReq *ConOutReq;
-private struct MsgPort *ConOutPort;
-private struct IOStdReq *ConInReq;
-private struct MsgPort *ConInPort;
-private char KeyBuff[16];
-private struct Window *Window;
-private struct NewWindow NewWindow = {
-    0,11,640,189,
-    0,1,
-    NULL,
-    SMART_REFRESH | ACTIVATE | WINDOWDRAG | WINDOWDEPTH |
-        WINDOWSIZING,
-    NULL,NULL,
-    (STRPTR) "Carnegie Mellon University MIDI Toolkit for Commodore AMIGA",
-    NULL,NULL,
-    100,25,640,200,
-    WBENCHSCREEN };
-#endif
-
-#ifdef MACINTOSH
-private OSType io_file_type = 0x3F3F3F3F; /* '????' */
-private OSType io_file_creator = 0x3F3F3F3F; /* '????' */
-#endif
-
-#define type_ahead_max 100
-char type_ahead[100];
-int type_ahead_head = 0;
-int type_ahead_tail = 0;
-int type_ahead_count = 0;
-
-
-#ifdef DOS
-#ifdef BORLAND
-int c_break(void)
-{
-    gprintf(TRANS, " BREAK ");
-    abort_flag = ABORT_LEVEL;
-    return 1; /* non-zero means do not exit program */
-}
-#endif
-#ifdef MICROSOFT
-void c_break(int sig)
-{
-    abort_flag = ABORT_LEVEL;
-    /* The CTRL+C interrupt must be reset to our handler since
-     * by default it is reset to the system handler.
-     */
-    signal(SIGINT, c_break); /* assume this succeeds */
-}
-#endif
-#endif
-
-#ifdef MACINTOSH
-#ifdef NYQUIST
-void FlushOutput (void);
-#endif
-#endif
-
-/* gflush -- flush output produced by gprintf, etc. */
-/**/
-void gflush(void)
-{
-#ifdef MACINTOSH
-#ifdef NYQUIST
-    FlushOutput();
-#else
-    fflush(stdout);    /* make sure any prompts or errors have been output */
-    fflush(stderr);
-#endif /* NYQUIST */
-#endif /* MACINTOSH */
-#ifdef UNIX
-    fflush(stdout);    /* make sure any prompts or errors have been output */
-    fflush(stderr);
-#endif
-}
-
-
-/****************************************************************************
-*                                io_init
-*
-*  I added this init function for the AMIGA version. 
-*
-*  io_init : opens a window
-*  and exits if initialisation can not be done properly.
-*  registers cleanup calls to carefully deallocate resources.
-*
-*  io_init is not amiga specific : the simplest version 
-*  of io_init could be a clear screen statement for example, and a
-*  printf("Good bye !\n") on exit.
-*
-*  for the Mac, it seems that ascii_input doesn't work unless getchar() is
-*  called first.  I assume this is because getchar() initializes the ability
-*  of the window to process type-in, so there is probably a way to set this
-*  directly.  If you figure it out, let me know.  -RBD
-*
-*****************************************************************************/
-
-void
-io_init()
-{
-
-#ifdef AMIGA
-    int error;
-
-    /* Window and console initialisation  */
-    IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library",1L);
-    if (IntuitionBase == NULL) EXIT(1);
-    cu_register((cu_fn_type) CloseLibrary, IntuitionBase);
-    
-    ConOutPort = CreatePort("conoutport", 0L);
-    if (ConOutPort == NULL) EXIT(1);
-    cu_register((cu_fn_type) DeletePort, ConOutPort);
-    
-    ConOutReq = CreateStdIO(ConOutPort);
-    if (ConOutReq == NULL) EXIT(1);
-    cu_register((cu_fn_type) DeleteStdIO, ConOutReq);
-    
-    ConInPort = CreatePort("coninport", 0L);
-    if (ConInPort == NULL) EXIT(1);
-    cu_register((cu_fn_type) DeletePort, ConInPort);
-    
-    ConInReq = CreateStdIO(ConInPort);
-    if (ConInReq == NULL) EXIT(1);
-    cu_register((cu_fn_type) DeleteStdIO, ConInReq);
-    
-    Window = OpenWindow(&NewWindow);
-    if (Window == NULL) EXIT(1);
-    cu_register((cu_fn_type) CloseWindow, Window);
-    
-    ConOutReq->io_Data = (APTR)Window;
-    ConOutReq->io_Length = sizeof(*Window);
-    error = OpenDevice("console.device", 0L, (struct IORequest *) ConOutReq, 0L);
-    ConInReq->io_Device = ConOutReq->io_Device;
-    ConInReq->io_Unit = ConOutReq->io_Unit;
-    if (error != NULL) EXIT(1);
-    cu_register((cu_fn_type) CloseDevice, ConOutReq);
-    
-    ConInReq->io_Command = CMD_READ;
-    ConInReq->io_Data = (APTR)KeyBuff;
-    ConInReq->io_Length = 1;
-    SendIO((struct IORequest *) ConInReq);
-#endif
-
-#ifdef UNIX
-#ifndef BUFFERED_SYNCHRONOUS_INPUT
-    IOsetup(0 /* standard input */);
-    cu_register((cu_fn_type) IOcleanup, NULL);
-#endif
-#endif
-
-#ifdef MACINTOSH
-#ifndef NYQUIST /* don't need this if we're in Nyquist */
-    char s[100];
-    printf("Type <return> to start: ");
-    fgets(s, 100, stdin);
-#endif /* NYQUIST */
-#endif
-
-#ifdef DOS
-#ifdef MICROSOFT
-    if (signal(SIGINT, c_break) == SIG_ERR) {
-        gprintf(ERROR, "Couldn't set Ctrl C handler\n");
-        EXIT(1);
-    }
-#else
-#ifdef BORLAND
-    ctrlbrk(c_break);
-#else
-    ... we are in DOS, but neither MICROSOFT nor BORLAND,
-    please set up a control C handler here...
-#endif
-#endif
-#endif
-}
-
-#ifdef MACINTOSH
-
-/****************************************************************************
-*                                       abort_check
-* Effect:
-*       exit nicely if the aborted flag is set
-****************************************************************************/
-
-public void abort_check()
-{
-    if (abort_flag) clean_exit();
-}
-
-
-/****************************************************************************
-*                                       clean_exit
-* Effect:
-*       clean up and exit
-****************************************************************************/
-
-public void clean_exit()
-{
-        gprintf(TRANS, "Exiting...\n");
-        EXIT(1);
-}
-
-#ifdef MPW
-/****************************************************************************
-*                                       cleanup_abort_handler
-* Effect:
-*       shuts down abort watcher
-****************************************************************************/
-
-public void cleanup_abort_handler()
-{
-        (void) sigset(SIGINT, SIG_DFL); /* deactivate abort watcher */
-}
-
-
-/****************************************************************************
-*                                       init_abort_handler
-* Effect:
-*       starts abort watcher
-*       aborted flag is set to FALSE
-****************************************************************************/
-
-public void init_abort_handler()
-{
-        abort_flag = FALSE;
-        (void) sigset(SIGINT, abort_watcher);   /* activate abort watcher */
-}
-#endif
-
-#endif
-
-
-/****************************************************************************
-*               askbool
-* Inputs:
-*    char *prompt: string to prompt for user input
-*    int deflt: TRUE or FALSE default
-* Returns:
-*    boolean: TRUE or FALSE as entered by user
-* Effect:
-*    prompts user for yes or no input, returns result
-****************************************************************************/
-
-int askbool(prompt, deflt)
-char *prompt;
-int deflt;
-{
-#define undefined -1
-    char defchar;    /* the default answer */
-    char c;     /* user input */
-    char in_string[100];
-    int result = -1;    /* the result: -1 = undefined, 0 = FALSE, 1 = TRUE */
-    if (deflt) defchar = 'y';
-    else defchar = 'n';
-    while (result == undefined) {
-        gprintf(TRANS, "%s? [%c]: ", prompt, defchar);
-        ggets(in_string);
-        c = in_string[0];
-        if (islower(c)) c = toupper(c);
-        if (c == 'Y') result = TRUE;
-        else if (c == 'N') result = FALSE;
-        else if (c == EOS) result = deflt;
-        else if (abort_flag) result = deflt;
-        /* space before Please to separate from user's type-in: */
-        else gprintf(TRANS, " Please type Y or N.\n");
-    }
-    if (abort_flag == BREAK_LEVEL) {
-        abort_flag = 0;
-        result = deflt;
-        gprintf(TRANS, "\n");
-    }
-    return result;
-}
-
-
-/****************************************************************************
-*               fileopen
-* Inputs:
-*    char *deflt: the default file name (e.g. from command line)
-*    char *extension: default extension
-*    char *mode: read ("r") or write ("w")
-*    char *prompt: prompt for user
-* Returns:
-*    opened file pointer
-* Effect: 
-*    opens file, prompts for user input if necessary and warns about
-*    possible confusion.  If deflt is a null string or NULL, the user will
-*    be prompted for a name.     The routine loops until a file is opened.
-*    If the mode is "r", a check is made to see if the file exists
-*    with and without the extension.     If both exist a warning is given.
-*    For mode "w", a check is made to see if the file will be overwritten.
-*    The extension is automatically added if the default or user-typed
-*    file has no "."     At the bottom of the loop body, if no file has
-*    been opened, the user is prompted for another file name.
-****************************************************************************/
-
-char fileopen_name[100];        /* name of the opened file */
-
-FILE *fileopen(deflt, extension, mode, prompt)
-  char *deflt;
-  char *extension;    /* default extension */
-  char *mode;   /* read "r" or write "w" */
-  char *prompt;    /* prompt for user */
-{
-    char extname[100];          /* trial name with extension added */
-    FILE *fp = NULL;            /* file corresponding to filename */
-    FILE *fpext;                /* file corresponding to extname */
-    char *problem = NULL;       /* tells user why he has to try again */
-
-    if (!deflt) deflt = "";     /* treat NULL as the empty string */
-    strcpy(fileopen_name, deflt);
-    /* keep trying until a good file is found: */
-    while (fp == NULL) {
-        /* avoid null file names: */
-        while (strlen(fileopen_name) == 0) {
-#ifndef MACINTOSH
-            gprintf(TRANS, "%s : ", prompt);
-            ggets(fileopen_name);
-            if (abort_flag) {
-                if (abort_flag == BREAK_LEVEL) {
-                    abort_flag = 0;
-                    /* type return since user didn't... */
-                    gprintf(TRANS, "\n");
-                }
-                return NULL;
-            }
-#else /* use Macintosh file dialog */
-            if (mode[0] == 'r') {
-                 if (!GetReadFileName(fileopen_name)) return NULL;
-             } else if (mode[0] == 'w') {
-                 if (!(GetWriteFileName(fileopen_name, prompt))) return NULL;
-             } else {
-                 gprintf(ERROR, "(fileopen) internal error: bad mode\n");
-             }
-#endif /* MACINTOSH */
-        }
-        if (mode[0] == 'r') {
-            strcpy(extname, fileopen_name);
-            strcat(extname, ".");
-            strcat(extname, extension);
-            fp = fopen(fileopen_name, mode);
-            fpext = fopen(extname, mode);
-            if (fp != NULL && fpext != NULL) {
-                gprintf(TRANS,
-                "warning: both %s and %s exist.     %s will be used.\n",
-                fileopen_name, extname, fileopen_name);
-                fclose(fpext);
-            } else if (fpext != NULL) {
-                fp = fpext;
-                strcpy(fileopen_name, extname);  /* remember what was opened */
-            }
-            if (fp == NULL) problem = "Couldn't find %s.\n";
-        } else if (mode[0] == 'w') {
-            boolean added_extension = FALSE;
-            
-            /* add the extension if there is no '.' in the file name */
-            if (!strchr(fileopen_name, '.')) {
-                strcat(fileopen_name, ".");
-                strcat(fileopen_name, extension);
-                added_extension = TRUE;
-            }
-            if (TRUE
-#ifdef MACINTOSH
-                /* file open dialog already asked user to confirm unless we're
-                 * adding an extension
-                 */
-                && added_extension
-#endif
-                ) {
-                fp = fopen(fileopen_name, "r");
-                if (fp != NULL) {
-                    char question[100];
-                    fclose(fp);
-                    strcpy(question, "OK to overwrite ");
-                    strcat(question, fileopen_name);
-                    if (!askbool(question, FALSE)) {
-                        fp = NULL;
-                        problem = "\n";
-                        goto tryagain;
-                    }
-                }
-            }
-            fp = fopen(fileopen_name, mode);
-            if (fp == NULL) problem = "Couldn't create %s.\n";
-        }
-  tryagain:
-        if (fp == NULL) {
-            gprintf(TRANS, problem, fileopen_name);
-            gprintf(TRANS,"Try again.\n");
-            fileopen_name[0] = EOS;
-        }
-    }
-    return fp;
-}
-
-
-#ifdef MACINTOSH
-
-static int GetReadFileName(name)
-char *name;
-{
-    static Point p = {100,100};
-    SFReply loadfile;
-    SFTypeList mytypes;
-    
-    mytypes[0] = 0x54455854; /* 'TEXT' */
-    mytypes[1] = 0x4D696469; /* 'Midi' */
-    mytypes[2] = 0x3F3F3F3F; /* '????' */
-/* could put any filter here (i.e. giofilefileter) */
-    SFGetFile(p, "\p", NULL, 3, mytypes, 0L, &loadfile); 
-    if (loadfile.good) {
-        SetVol(0L,loadfile.vRefNum); 
-        PtoC_StrCopy((char *) &loadfile.fName, name);
-        return(true);
-    } else return(false);
-}
-
-
-static int GetWriteFileName(fn, str)
-char *fn, *str;
-{
-        static Point SFPwhere = { 106, 104 };
-        unsigned char Pstr[100], Pfn[100];
-        SFReply reply;
- 
-        strcpy((char *)Pstr, str);
-        CtoPstr((char *)Pstr);
-        strcpy((char *)Pfn, fn);
-        CtoPstr((char *)Pfn);
-
-        SFPutFile(SFPwhere, (ConstStr255Param) Pstr, (ConstStr255Param) Pfn,
-                  0L, &reply);
-        if (reply.good) {
-                SetVol (0L,reply.vRefNum);
-                PtoC_StrCopy((char *) &reply.fName, fn); 
-                return(true);
-        }
-        else return(false);
-}
-
-
-void PtoC_StrCopy(p1, p2)
-  register char *p1, *p2;
-/* copies a pascal string from p1 to p2 */
-{
-        register int len;
-        
-        len = *p1++;
-        while (--len>=0) *p2++=*p1++;
-        *p2 = '\0';
-}
-
-
-boolean get_file_info(char *filename, OSType *file_type, OSType *file_creator)
-{
-    short rc;           /* toolbox return code */
-    FInfo fi;           /* toolbox file info */
-    char fn[101];       /* temporary file name */
-
-    strcpy(fn, filename);
-    CtoPstr(fn);
-    if (rc = GetFInfo((byte*)fn, 0, &fi)) {
-        gprintf(ERROR, "rc from GetFInfo=%d\n", rc);
-        gprintf(ERROR, "unable to get file type\n");
-        *file_type = 0x3F3F3F3F; /* '????' */
-        *file_creator = 0x3F3F3F3F; /* '????' */
-        return FALSE;
-    } else /* set file type & creator */ {
-        if (debug) gprintf(TRANS, "File Type: '%.4s'  File Creator: '%.4s'\n",
-                           &fi.fdType, &fi.fdCreator );
-        *file_type = fi.fdType;
-        *file_creator = fi.fdCreator;
-    }
-    return TRUE;
-}
-
-
-boolean put_file_info(char *filename, OSType file_type, OSType file_creator)
-{
-    short rc;           /* toolbox return code */
-    FInfo fi;           /* toolbox file info */
-    char fn[101];       /* temporary file name */
-
-    if (debug) gprintf(TRANS,"set file %s to become type '%.4s'\n", filename, &file_type);
-    strcpy(fn, filename);
-    CtoPstr(fn);
-    if (rc = GetFInfo((byte*)fn, 0, &fi)) {
-        gprintf(TRANS, "rc from GetFInfo=%d\n", rc);
-        gprintf(TRANS, "unable to set file type\n");
-    } else /* set file type & creator */ {
-        if (debug) gprintf(TRANS, "File Type: '%.4s'  File Creator: '%.4s'\n",
-                           &fi.fdType, &fi.fdCreator );
-        fi.fdType = file_type;
-        fi.fdCreator = file_creator;
-        if (rc=SetFInfo((byte*)fn, 0, &fi)) {
-            gprintf(TRANS, "rc from SetFInfo=%d\n", rc);
-            gprintf(TRANS, "unable to set file type\n");
-        } else if (rc=GetFInfo((byte*)fn, 0, &fi)) {
-            gprintf(TRANS, "rc from GetFInfo=%d\n", rc);
-            gprintf(TRANS, "unable to verify file type\n");
-        } else {
-            if (debug) gprintf(TRANS, "File Type: '%.4s'  File Creator: '%.4s'\n",
-                               &fi.fdType, &fi.fdCreator );
-        }
-    }
-}
-#endif /* MACINTOSH */
-
-
-
-#ifdef AMIGA
-/***************************************************************
-*                           ascii_signal
-*
-* Input : none
-* Ouput : none
-* Return: the signal that will be raised on ascii input
-* Effect: none
-***************************************************************/
-
-UBYTE ascii_signal()
-{
-    return ConInPort->mp_SigBit;
-}
-#endif
-
-/* check_aborted -- see if any characters are available, check for ctrl C */
-
-int check_aborted()
-{
-        char in_c;
-#ifdef AMIGA 
-    if (GetMsg(ConInPort)) {
-        in_c = KeyBuff[0];
-        if (in_c == '\r') in_c = '\n';
-#endif
-#ifndef AMIGA   /* DOS or MACINTOSH or UNIX */
-    if (type_ahead_count < type_ahead_max && ascii_input(&in_c)) {
-#endif
-        type_ahead[type_ahead_tail] = in_c;
-        if (in_c == ABORT_CHAR) abort_flag = ABORT_LEVEL;
-        else if (!abort_flag && in_c == BREAK_CHAR) 
-            abort_flag = BREAK_LEVEL;
-
-        /* go ahead and insert anything into buffer, including ^C, ^G: */
-        type_ahead_count++;
-        type_ahead_tail++;
-        if (type_ahead_tail == type_ahead_max) type_ahead_tail = 0;
-
-#ifdef AMIGA
-        if (type_ahead_count < type_ahead_max) ConRead();
-#endif
-    }
-    return abort_flag;
-}    
-
-
-/****************************************************************************
-*                   readln
-* Inputs:
-*    FILE * fp: File to read from
-* Effect: 
-*    Reads and discards characters until a newline is seen
-****************************************************************************/
-
-void readln(fp)
-  register FILE *fp;
-{
-    register int c;
-    while (((c = getc(fp)) != '\n') && (c != EOF)) ;
-}
-
-
-/****************************************************************************
-*                   gprintf
-* Inputs:
-*    int * handler: pointer to output handler (say, a window)
-*        or one of {TRANS, ERROR, FATAL, GDEBUG} from userio.h
-*    char * format: a null-terminated printf style format string
-*    int arg0 through arg14: a variable number of arguments for printf
-* Effect:
-*    formats and outputs the specified information to an output handler.
-*    this is a system-independent approach to output.  On
-*    a simple machine, it is like printf.  on a more complex machine,
-*    output is directed to the appropriate window.
-* Implementation
-*    Note that to handle the variable argument list, a number of different
-*    approaches are implemented.  The first part of the implementation selects
-*    one of 4 ways to build temp1, a formatted string.  The 4 ways arise from
-*    use or non-use of vsprintf, and use or non-use of ... in the arg list.
-*    After building temp1, non-Amiga systems write to stdout or stderr, 
-*    whereas AMIGA writes to a special console.  Why? Because the Amiga
-*    needs a new console so we can set up a signal upon character typein.
-****************************************************************************/
-
-#ifndef gprintf
-#define GPRINTF_MESSAGE_LEN 512
-#ifdef USE_VSPRINTF
-#ifdef DOTS_FOR_ARGS
-
-/* define with ... in arg list and use vsprintf to get temp1 */
-public void gprintf(long where, char *format, ...)
-{
-    char temp1[GPRINTF_MESSAGE_LEN];
-#ifdef AMIGA
-    char temp2[GPRINTF_MESSAGE_LEN];
-#endif
-    va_list ap;
-
-    va_start(ap, format);
-    vsprintf(temp1, format, ap);
-    va_end(ap);
-
-#else /* !DOTS_FOR_ARGS */
-
-/* define with va_alist and use vsprintf to get temp1 */
-public void gprintf(where, format, va_alist)
-long where;
-char *format;
-va_dcl
-{
-    char temp1[GPRINTF_MESSAGE_LEN];
-    va_list pvar;
-/* this is a syntax error - if you don't have to remove this, */
-/* then this whole section of code is unnecessary. */
-    va_start(pvar);
-    vsprintf(temp1, format, pvar);
-    va_end(pvar);
-
-#endif /* DOTS_FOR_ARGS */
-
-#else /* !USE_VSPRINTF */
-#define MAX_GPRINTF_ARGS 10
-typedef struct gp_args_struct {
-    long arg[MAX_GPRINTF_ARGS];
-} gp_args_node;
-
-#ifdef DOTS_FOR_ARGS
-/* use ... but not vsprintf */
-public void gprintf(long where, char *format, ...)
-{
-    char temp1[GPRINTF_MESSAGE_LEN];
-#ifdef AMIGA
-    char temp2[GPRINTF_MESSAGE_LEN];
-#endif
-    va_list ap;
-    gp_args_node args;
-    va_start(ap, format);
-    args = va_arg(ap, gp_args_node);
-    va_end(ap);
-#else /* !DOTS_FOR_ARGS */
-/* don't use ... and don't use vsprintf */
-public void gprintf(where, format, args)
-  long where;
-  char *format;
-  gp_args_node args;
-{
-    char temp1[GPRINTF_MESSAGE_LEN];
-#ifdef AMIGA
-    char temp2[GPRINTF_MESSAGE_LEN];
-#endif /* AMIGA*/
-#endif /* DOTS_FOR_ARGS */
-
-    sprintf(temp1, format, args);
-
-#endif /* USE_VSPRINTF */
-
-/*
- * Now we've got formatted output in temp1.  Write it out.
- */
-#ifdef NYQUIST
-    switch ((long) where) {
-      case TRANS:
-          stdputstr(temp1);
-          break;
-      case ERROR:
-        errputstr(temp1);
-        break;
-      case FATAL:
-        errputstr("FATAL: ");
-        errputstr(temp1);
-        break;
-      case GDEBUG:
-        errputstr("DEBUG: ");
-        errputstr(temp1);
-        break;
-      default:
-        errputstr("UNKNOWN: ");
-        errputstr(temp1);
-        break;
-    }
-    gflush();
-#else /* not NYQUIST */
-#ifdef AMIGA
-
-    switch((long) where) {
-      case TRANS:
-        strcpy(temp2, temp1);
-        break;
-      case ERROR:
-        strcpy(temp2, temp1);
-        break;
-      case FATAL:
-        strcpy(temp2, "FATAL: ");
-        strcat(temp2, temp1);
-        break;
-      case GDEBUG:
-        strcpy(temp2,"DEBUG: ");
-        strcat(temp2, temp1);
-        break;
-      default:
-        strcpy(temp2, "UNKNOWN: ");
-        strcat(temp2, temp1);
-        break;
-    }
-    ConOutReq->io_Command = CMD_WRITE;
-    ConOutReq->io_Data = (APTR)temp2;
-    ConOutReq->io_Length = -1;   /* NULL terminated string */
-    DoIO((struct IORequest *) ConOutReq);            
-#else /* not NYQUIST or AMIGA */
-    switch(where) {
-      case TRANS:
-        printf("%s", temp1);
-        break;
-      case ERROR:
-        fprintf(stderr, "%s", temp1);
-        break;
-      case GDEBUG:
-        fprintf(stderr, "DEBUG %s", temp1);
-        break;
-      case FATAL:
-        fprintf(stderr, "FATAL %s", temp1);
-        break;
-      default:
-        fprintf(stderr, "UNKNOWN %s", temp1);
-        break;
-    }
-#endif /* AMIGA */
-#endif /* NYQUIST */
-}
-
-#endif  /* ifndef gprintf */
-
-
-/**************************************************************************
-*                               gputchar
-* General putchar
-**************************************************************************/
-
-#ifndef gputchar
-
-#ifdef AMIGA
-public int gputchar(c)
-int c;
-{
-    ConPutChar((char)c);
-    return(c);
-}
-#else
-public int gputchar(c)
-int c;
-{
-    putchar((char)c);
-    return(c);
-}
-#endif
-
-#endif  /* ifndef gputchar */
-
-/**************************************************************************
-*                               ggetchar
-* General getchar
-**************************************************************************/
-
-public int ggetchar()
-{
-
-#ifdef BUFFERED_SYNCHRONOUS_INPUT
-    return getchar();
-#else
-    key = wait_ascii();
-    if (key != ABORT_CHAR && key != '\b') gputchar((char)key);
-    return(key);
-#endif
-}
-
-
-/**************************************************************************
-*                                  ggets
-* General gets
-**************************************************************************/
-
-
-#ifndef ggets
-
-public char *ggets(str)
-  char *str;
-{
-    char *s = str;
-    int c;
-
-    do {
-        c = ggetchar();
-        if (c == '\b' /* backspace */) {
-            if (s != str) {
-                gputchar('\b');
-                gputchar((int)' ');
-                gputchar('\b');
-                s--;
-            } else {
-#ifdef AMIGA
-                gputchar((int)0x9b);
-                gputchar((int)0x43);
-#else
-                /* gputchar((int)' '); */
-#endif
-                gputchar((int)0x07);
-            }
-        } else *s++ = (char) c;
-    } while (c != (int) '\n' && !abort_flag);
-
-    *(s-1) = EOS;
-    if (abort_flag) *str = EOS;
-    return str;
-}
-
-#endif  /* ifndef ggets */
-
-
-/****************************************************************************
-*                 get_ascii
-* Returns:
-*    boolean: TRUE if a character was found
-*    int * c: pointer to int into which to store the character, if any
-* Effect:
-*    polls (doesn't wait) for an ascii character and says if it got one
-*    the character is returned in *c.
-****************************************************************************/
-
-public boolean get_ascii(c)
-  char *c;
-{
-    check_aborted(); /* input buffer check */
-    if (type_ahead_count == 0) return FALSE;
-#ifdef AMIGA
-    /* if the buffer is full, then there is no outstanding read, restart it: */
-    if (type_ahead_count == type_ahead_max) ConRead();
-#endif
-    type_ahead_count--;
-    *c = type_ahead[type_ahead_head++];
-    if (type_ahead_head == type_ahead_max) type_ahead_head = 0;
-    return TRUE;
-}
-
-#ifdef MACINTOSH  /** Macintosh direct ascii input**/
-public boolean ascii_input(c)
-char *c;
-{
-    EventRecord theEvent;
-
-    (void) GetNextEvent((keyDownMask | autoKeyMask), &theEvent);
-    if ((theEvent.what == keyDown) || (theEvent.what == autoKey)) {
-        *c = theEvent.message & charCodeMask;
-        if (*c == '\r') *c = '\n';
-        return(true);
-    } 
-    else {
-        return(false);
-    }
-}
-#endif
-
-#ifdef WINDOWS
-#include "conio.h"
-#define kbhit _kbhit
-#define getch _getch
-#endif
-
-#ifdef DOS
-public boolean ascii_input(c)
-char *c;
-{
-    if (abort_flag == ABORT_LEVEL) {
-            *c=ABORT_CHAR;
-        return((boolean)TRUE);
-    }
-    if (kbhit()) {              /* If the keyboard was hit */
-        *c = getch();           /* Don't echo it */
-//      printf("now break");
-        if (*c == '\r') *c = '\n';
-        return((boolean)TRUE);
-    }
-    return((boolean)FALSE);     /* Keeps Lattice compiler happy */
-}
-#endif
-
-#ifdef UNIX
-public boolean ascii_input(c)
-char *c;
-{
-#ifdef UNIX_MACH
-        /*
-         * we can't read from stdin directly, because the ascii
-         * input thread is already doing so, so instead we'll
-         * wait for that thread to read a character and then take
-         * it
-         */
-        boolean ret = FALSE;
-
-        A_LOCK();
-                if (a_in_flag) {
-                        (*c) = a_in;
-                        a_in_flag = 0;
-                        ret = TRUE;
-                }
-        A_UNLOCK();
-        if (ret) {
-#ifdef RTMach
-                itc_condition_signal(&a_cond);
-#else /* RTMach */
-                condition_signal(&a_cond);
-#endif /* RTMach */
-        }
-        if ((*c) == '\r')
-                (*c) = '\n';
-        return(ret);
-#else /* UNIX_MACH */
-#ifndef BUFFERED_SYNCHRONOUS_INPUT
-    int input = IOgetchar();
-    if (input != IOnochar) {
-        *c = input;
-        if (*c == '\r') *c = '\n';
-        return TRUE;
-    }
-#endif /* BUFFERED_SYNCHRONOUS_INPUT */
-    return FALSE;
-#endif /* UNIX_MACH */
-}
-#endif
-
-#ifndef AMIGA /*DOS and MAC and UNIX */
-public void unget_ascii(char c)
-{
-        if (type_ahead_head == 0) type_ahead_head = type_ahead_max;
-        type_ahead_head--;
-        type_ahead[type_ahead_head] = c;
-        type_ahead_count++;
-}
-
-
-public boolean check_ascii()
-{
-        char c;
-        
-        if(get_ascii(&c)) {
-                unget_ascii(c);
-                return TRUE;
-        }
-        else return FALSE;
-}
-#endif
-
-
-/****************************************************************************
-*                   wait_ascii
-* Returns:
-*    int: character for key pressed
-* Effect:
-*    waits for the user to type a key on the terminal keyboard
-*    (versus the synthesizer keyboard) and returns the key typed
-****************************************************************************/
-
-#ifdef MACINTOSH
-public int wait_ascii()
-{
-    char key ;    /* key typed */
-
-    if (abort_flag == ABORT_LEVEL) return ABORT_CHAR;
-    if (abort_flag == BREAK_LEVEL) return BREAK_CHAR;
-    gflush();
-    while (!get_ascii(&key)) ;
-    return(key); 
-}
-#endif
-
-#ifdef DOS
-public int wait_ascii()
-{
-    char key ;    /* key typed */
-
-    if (abort_flag == ABORT_LEVEL) return ABORT_CHAR;
-    if (abort_flag == BREAK_LEVEL) return BREAK_CHAR;
-    while(!get_ascii(&key));
-    /* GWL - check for abort on previos line */
-    return (int)key; 
-}
-#endif
-
-#ifndef MACINTOSH
-#ifndef DOS
-public int wait_ascii()
-{
-#ifdef UNIX /* was defined (UNIX) || defined(ITC) */
-#ifndef UNIX_MACH
-        fd_set readfds;
-#endif /* !UNIX_MACH */
-#endif
-    char c;
-
-    if (abort_flag == ABORT_LEVEL) return ABORT_CHAR;
-    if (abort_flag == BREAK_LEVEL) return BREAK_CHAR;
-    while (!get_ascii(&c)) {
-#ifdef AMIGA
-        WaitPort(ConInPort);
-#endif
-#ifdef UNIX
-        fflush(stdout);
-#ifdef UNIX_MACH
-        /*
-         * we can't select, since another thread is reading
-         * from stdin, and we don't want to have an input war
-         * so instead, the ascii input thread will signal
-         * a_in_cond when it gets input, so we just wait
-         * for that to happen
-         */
-        A_LOCK();
-#ifdef RTMach
-                itc_condition_wait(&a_in_cond, &a_mutex);
-#else /* RTMach */
-                condition_wait(&a_in_cond, &a_mutex);
-#endif /* RTMach */
-        A_UNLOCK();
-#else /* UNIX_MACH */
-        FD_ZERO(&readfds);
-        FD_SET(IOinputfd, &readfds);
-        gflush();
-        select(NOFILE+1, &readfds, 0, 0, NULL);
-#endif /* !UNIX_MACH */
-#endif /* ifdef UNIX */
-    }
-    return (int) c;
-}
-#endif
-#endif
-
-#ifdef AMIGA
-/******************************************************************
-                              AMIGA 2000.
-                         Console IO Functions
-                             JCD 25-Apr-88
-*******************************************************************/
-
-UBYTE KeybSig()
-{
-    return ConInPort->mp_SigBit;
-}
-
-private void ConPutChar(c)
-char c;
-{
-    ConOutReq->io_Command = CMD_WRITE;
-    ConOutReq->io_Data = (APTR)&c;
-    ConOutReq->io_Length = 1;
-    DoIO((struct IORequest *) ConOutReq);
-}
-
-private void ConPutStr(str)
-char *str;
-{
-    ConOutReq->io_Command = CMD_WRITE;
-    ConOutReq->io_Data = (APTR)str;
-    ConOutReq->io_Length = -1;
-    DoIO((struct IORequest *) ConOutReq);
-}
-
-private void ConRead()
-{
-    ConInReq->io_Command = CMD_READ;
-    ConInReq->io_Data = (APTR)KeyBuff;
-    ConInReq->io_Length = 1;
-    SendIO((struct IORequest *) ConInReq);
-}
-#endif
diff --git a/lib-src/libnyquist/cmt/userio.h b/lib-src/libnyquist/cmt/userio.h
deleted file mode 100644
index 57972dd..0000000
--- a/lib-src/libnyquist/cmt/userio.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 1989 Carnegie Mellon University */
-
-/*****************************************************************************
-*       Change Log
-*  Date | Change
-*-----------+-----------------------------------------------------------------
-* 5-Apr |JDW : Further changes
-*****************************************************************************/
-
-/* classes of output for gprintf */
-#ifdef MACINTOSH
-#undef false
-#undef true
-#include <MacTypes.h>
-#define TRANS    (long)    0
-#define ERROR    (long)    1
-#define FATAL    (long)    2
-#define GDEBUG   (long)    3
-#endif
-
-#ifdef  DONT_USE_CMT_IO
-#define TRANS   stdout
-#define ERROR   stdout
-#define FATAL   stdout
-#define GDEBUG   stdout
-#endif
-
-#ifndef TRANS   /* default */
-#define TRANS   0
-#define ERROR   1
-#define FATAL   2
-#define GDEBUG   3
-#endif
-
-#define CR '\n'
-#define ABORT_CHAR 0x03
-#ifdef NYQUIST
-#define BREAK_CHAR 0x02
-#else
-#define BREAK_CHAR 0x07
-#endif
-
-#define BREAK_LEVEL 1
-#define ABORT_LEVEL 2
-
-#define read_to_eol(ch) if (ch != CR) { char temp[100]; ggets(temp); }
-
-extern char fileopen_name[];
-extern int abort_flag;
-extern int redirect_flag;		/* added by Ning Hu, Apr 2001 */
-
-boolean get_ascii(char *c);    /* polls for an ascii character */
-#ifdef DOTS_FOR_ARGS
-/* was (defined(ITC_MACH) && defined(__STDC__)) || defined(MACINTOSH) || defined(AZTEC) || (defined(AMIGA) && defined(LATTICE)) || defined(UNIX_ITC) */
-void    gprintf(long where, char *format, ...); /* general printf */
-#else
-void gprintf();
-#endif
-
-char    *ggets(char *str);       /* general gets */
-int     wait_ascii(void);   /* a waiting version of get_ascii */
-void    clean_exit(void);   /* exit the program after cleaning up */
-void    io_init(void);      /* overall initialization */
-void    abort_check(void);  /* exit if aborted */
-
-int check_aborted(void);        /* looks to see if user typed ctrl-C */
-
-int     askbool(char *prompt, int deflt);
-FILE    *fileopen(char *deflt, char *extension, char *mode, char *prompt);
-void    readln(FILE *fp);
-void gflush(void);
-int gputchar(int c);
-int ggetchar();
-char *ggets(char *str);
-boolean ascii_input(char *c);
-void unget_ascii(char c);
-boolean check_ascii(void);
-
-#ifdef MACINTOSH
-boolean get_file_info(char *filename, OSType *file_type, OSType *file_creator);
-boolean put_file_info(char *filename, OSType file_type, OSType file_creator);
-#endif
-
-#ifdef DONT_USE_CMT_IO
-#define ggetchar        getchar
-#define ggets           gets
-#define gprintf         fprintf
-#define gputchar        putchar
-#define gprintf fprintf
-#define gputchar putchar
-#endif
-
diff --git a/lib-src/libnyquist/fft/fftn.c b/lib-src/libnyquist/fft/fftn.c
deleted file mode 100644
index 6ee7c5a..0000000
--- a/lib-src/libnyquist/fft/fftn.c
+++ /dev/null
@@ -1,1046 +0,0 @@
-/*--------------------------------*-C-*---------------------------------*
- * File:
- *	fftn.c
- *
- * Public:
- *	fft_free ();
- *	fftn / fftnf ();
- *
- * Private:
- *	fftradix / fftradixf ();
- *
- * Descript:
- *	multivariate complex Fourier transform, computed in place
- *	using mixed-radix Fast Fourier Transform algorithm.
- *
- *	Fortran code by:
- *	RC Singleton, Stanford Research Institute, Sept. 1968
- *
- *	translated by f2c (version 19950721).
- *
- * Revisions:
- * 26 July 95	John Beale
- *	- added maxf and maxp as parameters to fftradix()
- *
- * 28 July 95	Mark Olesen <olesen at me.queensu.ca>
- *	- cleaned-up the Fortran 66 goto spaghetti, only 3 labels remain.
- *
- *	- added fft_free() to provide some measure of control over
- *	  allocation/deallocation.
- *
- *	- added fftn() wrapper for multidimensional FFTs
- *
- *	- use -DFFT_NOFLOAT or -DFFT_NODOUBLE to avoid compiling that
- *	  precision. Note suffix `f' on the function names indicates
- *	  float precision.
- *
- *	- revised documentation
- *
- * 31 July 95	Mark Olesen <olesen at me.queensu.ca>
- *	- added GNU Public License
- *	- more cleanup
- *	- define SUN_BROKEN_REALLOC to use malloc() instead of realloc()
- *	  on the first pass through, apparently needed for old libc
- *	- removed #error directive in favour of some code that simply
- *	  won't compile (generate an error that way)
- *
- * 1 Aug 95	Mark Olesen <olesen at me.queensu.ca>
- *	- define FFT_RADIX4 to only have radix 2, radix 4 transforms
- *	- made fftradix /fftradixf () static scope, just use fftn()
- *	  instead.  If you have good ideas about fixing the factors
- *	  in fftn() please do so.
- *
- * ======================================================================*
- * NIST Guide to Available Math Software.
- * Source for module FFT from package GO.
- * Retrieved from NETLIB on Wed Jul  5 11:50:07 1995.
- * ======================================================================*
- *
- *-----------------------------------------------------------------------*
- *
- * int fftn (int ndim, const int dims[], REAL Re[], REAL Im[],
- *	    int iSign, double scaling);
- *
- * NDIM = the total number dimensions
- * DIMS = a vector of array sizes
- *	if NDIM is zero then DIMS must be zero-terminated
- *
- * RE and IM hold the real and imaginary components of the data, and return
- * the resulting real and imaginary Fourier coefficients.  Multidimensional
- * data *must* be allocated contiguously.  There is no limit on the number
- * of dimensions.
- *
- * ISIGN = the sign of the complex exponential (ie, forward or inverse FFT)
- *	the magnitude of ISIGN (normally 1) is used to determine the
- *	correct indexing increment (see below).
- *
- * SCALING = normalizing constant by which the final result is *divided*
- *	if SCALING == -1, normalize by total dimension of the transform
- *	if SCALING <  -1, normalize by the square-root of the total dimension
- *
- * example:
- * tri-variate transform with Re[n1][n2][n3], Im[n1][n2][n3]
- *
- *	int dims[3] = {n1,n2,n3}
- *	fftn (3, dims, Re, Im, 1, scaling);
- *
- *-----------------------------------------------------------------------*
- * int fftradix (REAL Re[], REAL Im[], size_t nTotal, size_t nPass,
- *		 size_t nSpan, int iSign, size_t max_factors,
- *		 size_t max_perm);
- *
- * RE, IM - see above documentation
- *
- * Although there is no limit on the number of dimensions, fftradix() must
- * be called once for each dimension, but the calls may be in any order.
- *
- * NTOTAL = the total number of complex data values
- * NPASS  = the dimension of the current variable
- * NSPAN/NPASS = the spacing of consecutive data values while indexing the
- *	current variable
- * ISIGN - see above documentation
- *
- * example:
- * tri-variate transform with Re[n1][n2][n3], Im[n1][n2][n3]
- *
- *	fftradix (Re, Im, n1*n2*n3, n1,       n1, 1, maxf, maxp);
- *	fftradix (Re, Im, n1*n2*n3, n2,    n1*n2, 1, maxf, maxp);
- *	fftradix (Re, Im, n1*n2*n3, n3, n1*n2*n3, 1, maxf, maxp);
- *
- * single-variate transform,
- *    NTOTAL = N = NSPAN = (number of complex data values),
- *
- *	fftradix (Re, Im, n, n, n, 1, maxf, maxp);
- *
- * The data can also be stored in a single array with alternating real and
- * imaginary parts, the magnitude of ISIGN is changed to 2 to give correct
- * indexing increment, and data [0] and data [1] used to pass the initial
- * addresses for the sequences of real and imaginary values,
- *
- * example:
- *	REAL data [2*NTOTAL];
- *	fftradix ( &data[0], &data[1], NTOTAL, nPass, nSpan, 2, maxf, maxp);
- *
- * for temporary allocation:
- *
- * MAX_FACTORS	>= the maximum prime factor of NPASS
- * MAX_PERM	>= the number of prime factors of NPASS.  In addition,
- *	if the square-free portion K of NPASS has two or more prime
- *	factors, then MAX_PERM >= (K-1)
- *
- * storage in FACTOR for a maximum of 15 prime factors of NPASS. if NPASS
- * has more than one square-free factor, the product of the square-free
- * factors must be <= 210 array storage for maximum prime factor of 23 the
- * following two constants should agree with the array dimensions.
- *
- *-----------------------------------------------------------------------*
- *
- * void fft_free (void);
- *
- * free-up allocated temporary storage after finished all the Fourier
- * transforms.
- *
- *----------------------------------------------------------------------*/
-#ifndef _FFTN_C
-#define _FFTN_C
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include "fftn.h"
-
-/* double precision routine */
-static int
-fftradix (double Re[], double Im[],
-      size_t nTotal, size_t nPass, size_t nSpan, int isign,
-      int max_factors, int max_perm);
-
-/* float precision routine */
-static int
-fftradixf (float Re[], float Im[],
-       size_t nTotal, size_t nPass, size_t nSpan, int isign,
-       int max_factors, int max_perm);
-
-/* parameters for memory management */
-
-static size_t SpaceAlloced = 0;
-static size_t MaxPermAlloced = 0;
-
-/* temp space, (void *) since both float and double routines use it */
-static void *Tmp0 = NULL;	/* temp space for real part */
-static void *Tmp1 = NULL;	/* temp space for imaginary part */
-static void *Tmp2 = NULL;	/* temp space for Cosine values */
-static void *Tmp3 = NULL;	/* temp space for Sine values */
-static int  *Perm = NULL;	/* Permutation vector */
-
-#define NFACTOR	11
-static int factor [NFACTOR];
-
-void
-fft_free (void)
-{
-   SpaceAlloced = MaxPermAlloced = 0;
-   if (Tmp0 != NULL)	{ free (Tmp0);	Tmp0 = NULL; }
-   if (Tmp1 != NULL)	{ free (Tmp1);	Tmp1 = NULL; }
-   if (Tmp2 != NULL)	{ free (Tmp2);	Tmp2 = NULL; }
-   if (Tmp3 != NULL)	{ free (Tmp3);	Tmp3 = NULL; }
-   if (Perm != NULL)	{ free (Perm);	Perm = NULL; }
-}
-
-#ifndef M_PI
-# define M_PI	3.14159265358979323846264338327950288
-#endif
-
-#ifndef SIN60
-# define SIN60	0.86602540378443865	/* sin(60 deg) */
-# define COS72	0.30901699437494742	/* cos(72 deg) */
-# define SIN72	0.95105651629515357	/* sin(72 deg) */
-#endif
-
-/* re-include this source file on the second pass through */
-#undef REAL
-#undef FFTN
-#undef FFTNS
-#undef FFTRADIX
-#undef FFTRADIXS
-
-#ifndef FFT_NOFLOAT
-# define REAL		float
-# define FFTN		fftnf		/* trailing 'f' for float */
-# define FFTNS		"fftnf"		/* name for error message */
-# define FFTRADIX	fftradixf	/* trailing 'f' for float */
-# define FFTRADIXS	"fftradixf"	/* name for error message */
-# include "fftn.c"			/* include this file again */
-#endif
-
-#undef REAL
-#undef FFTN
-#undef FFTNS
-#undef FFTRADIX
-#undef FFTRADIXS
-
-#ifndef FFT_NODOUBLE
-# define REAL		double
-# define FFTN		fftn
-# define FFTNS		"fftn"
-# define FFTRADIX	fftradix
-# define FFTRADIXS	"fftradix"
-# include "fftn.c"	/* include this file again */
-#endif
-
-#if defined (FFT_NOFLOAT) && defined (FFT_NODOUBLE) && !defined (lint)
-Error: cannot have both -DFFT_NOFLOAT and -DFFT_NODOUBLE
-#endif
-#else	/* _FFTN_C */
-
-/*
- *
- */
-int
-FFTN (int ndim, const int dims[],
-      REAL Re [],
-      REAL Im [],
-      int iSign,
-      double scaling)
-{
-   size_t nSpan, nPass, nTotal;
-   int ret, i, max_factors, max_perm;
-
-   /*
-    * tally the number of elements in the data array
-    * and determine the number of dimensions
-    */
-   nTotal = 1;
-   if (ndim && dims [0])
-     {
-    for (i = 0; i < ndim; i++)
-      {
-         if (dims [i] <= 0)
-           {
-          fputs ("Error: " FFTNS "() - dimension error\n", stderr);
-          fft_free ();	/* free-up memory */
-          return -1;
-           }
-         nTotal *= dims [i];
-      }
-     }
-   else
-     {
-    ndim = 0;
-    for (i = 0; dims [i]; i++)
-      {
-         if (dims [i] <= 0)
-           {
-          fputs ("Error: " FFTNS "() - dimension error\n", stderr);
-          fft_free ();	/* free-up memory */
-          return -1;
-           }
-         nTotal *= dims [i];
-         ndim++;
-      }
-     }
-
-   /* determine maximum number of factors and permuations */
-#if 1
-   /*
-    * follow John Beale's example, just use the largest dimension and don't
-    * worry about excess allocation.  May be someone else will do it?
-    */
-   max_factors = max_perm = 1;
-   for (i = 0; i < ndim; i++)
-     {
-    nSpan = dims [i];
-    if (nSpan > max_factors) max_factors = nSpan;
-    if (nSpan > max_perm) max_perm = nSpan;
-     }
-#else
-   /* use the constants used in the original Fortran code */
-   max_factors = 23;
-   max_perm = 209;
-#endif
-   /* loop over the dimensions: */
-   nPass = 1;
-   for (i = 0; i < ndim; i++)
-     {
-    nSpan = dims [i];
-    nPass *= nSpan;
-    ret = FFTRADIX (Re, Im, nTotal, nSpan, nPass, iSign,
-            max_factors, max_perm);
-    /* exit, clean-up already done */
-    if (ret)
-      return ret;
-     }
-
-   /* Divide through by the normalizing constant: */
-   if (scaling && scaling != 1.0)
-     {
-    if (iSign < 0) iSign = -iSign;
-    if (scaling < 0.0)
-      {
-         scaling = nTotal;
-         if (scaling < -1.0)
-           scaling = sqrt (scaling);
-      }
-    scaling = 1.0 / scaling;	/* multiply is often faster */
-    for (i = 0; i < nTotal; i += iSign)
-      {
-         Re [i] *= scaling;
-         Im [i] *= scaling;
-      }
-     }
-   return 0;
-}
-
-/*
- * singleton's mixed radix routine
- *
- * could move allocation out to fftn(), but leave it here so that it's
- * possible to make this a standalone function
- */
-static int
-FFTRADIX (REAL Re[],
-      REAL Im[],
-      size_t nTotal,
-      size_t nPass,
-      size_t nSpan,
-      int iSign,
-      int max_factors,
-      int max_perm)
-{
-   int ii, mfactor, kspan, ispan, inc;
-   int j, jc, jf, jj, k, k1, k2, k3, k4, kk, kt, nn, ns, nt;
-
-   REAL radf;
-   REAL c1, c2, c3, cd, aa, aj, ak, ajm, ajp, akm, akp;
-   REAL s1, s2, s3, sd, bb, bj, bk, bjm, bjp, bkm, bkp;
-
-   REAL *Rtmp = NULL;	/* temp space for real part*/
-   REAL *Itmp = NULL;	/* temp space for imaginary part */
-   REAL *Cos = NULL;	/* Cosine values */
-   REAL *Sin = NULL;	/* Sine values */
-
-   REAL s60 = SIN60;		/* sin(60 deg) */
-   REAL c72 = COS72;		/* cos(72 deg) */
-   REAL s72 = SIN72;		/* sin(72 deg) */
-   REAL pi2 = M_PI;		/* use PI first, 2 PI later */
-
-   /* gcc complains about k3 being uninitialized, but I can't find out where
-    * or why ... it looks okay to me.
-    *
-    * initialize to make gcc happy
-    */
-   k3 = 0;
-
-   /* gcc complains about c2, c3, s2,s3 being uninitialized, but they're
-    * only used for the radix 4 case and only AFTER the (s1 == 0.0) pass
-    * through the loop at which point they will have been calculated.
-    *
-    * initialize to make gcc happy
-    */
-   c2 = c3 = s2 = s3 = 0.0;
-
-   /* Parameter adjustments, was fortran so fix zero-offset */
-   Re--;
-   Im--;
-
-   if (nPass < 2)
-     return 0;
-
-   /*  allocate storage */
-   if (SpaceAlloced < max_factors * sizeof (REAL))
-     {
-#ifdef SUN_BROKEN_REALLOC
-    if (!SpaceAlloced)	/* first time */
-      {
-         SpaceAlloced = max_factors * sizeof (REAL);
-         Tmp0 = (void *) malloc (SpaceAlloced);
-         Tmp1 = (void *) malloc (SpaceAlloced);
-         Tmp2 = (void *) malloc (SpaceAlloced);
-         Tmp3 = (void *) malloc (SpaceAlloced);
-      }
-    else
-      {
-#endif
-         SpaceAlloced = max_factors * sizeof (REAL);
-         Tmp0 = (void *) realloc (Tmp0, SpaceAlloced);
-         Tmp1 = (void *) realloc (Tmp1, SpaceAlloced);
-         Tmp2 = (void *) realloc (Tmp2, SpaceAlloced);
-         Tmp3 = (void *) realloc (Tmp3, SpaceAlloced);
-#ifdef SUN_BROKEN_REALLOC
-      }
-#endif
-     }
-   else
-     {
-    /* allow full use of alloc'd space */
-    max_factors = SpaceAlloced / sizeof (REAL);
-     }
-   if (MaxPermAlloced < max_perm)
-     {
-#ifdef SUN_BROKEN_REALLOC
-    if (!MaxPermAlloced)	/* first time */
-      Perm = (int *) malloc (max_perm * sizeof(int));
-    else
-#endif
-      Perm = (int *) realloc (Perm, max_perm * sizeof(int));
-    MaxPermAlloced = max_perm;
-     }
-   else
-     {
-    /* allow full use of alloc'd space */
-    max_perm = MaxPermAlloced;
-     }
-   if (Tmp0 == NULL || Tmp1 == NULL || Tmp2 == NULL || Tmp3 == NULL
-       || Perm == NULL)
-     goto Memory_Error_Label;
-
-   /* assign pointers */
-   Rtmp = (REAL *) Tmp0;
-   Itmp = (REAL *) Tmp1;
-   Cos  = (REAL *) Tmp2;
-   Sin  = (REAL *) Tmp3;
-
-   /*
-    * Function Body
-    */
-   inc = iSign;
-   if (iSign < 0) {
-      s72 = -s72;
-      s60 = -s60;
-      pi2 = -pi2;
-      inc = -inc;		/* absolute value */
-   }
-
-   /* adjust for strange increments */
-   nt = inc * nTotal;
-   ns = inc * nSpan;
-   kspan = ns;
-
-   nn = nt - inc;
-   jc = ns / nPass;
-   radf = pi2 * (double) jc;
-   pi2 *= 2.0;			/* use 2 PI from here on */
-
-   ii = 0;
-   jf = 0;
-   /*  determine the factors of n */
-   mfactor = 0;
-   k = nPass;
-   while (k % 16 == 0) {
-      mfactor++;
-      factor [mfactor - 1] = 4;
-      k /= 16;
-   }
-   j = 3;
-   jj = 9;
-   do {
-      while (k % jj == 0) {
-     mfactor++;
-     factor [mfactor - 1] = j;
-     k /= jj;
-      }
-      j += 2;
-      jj = j * j;
-   } while (jj <= k);
-   if (k <= 4) {
-      kt = mfactor;
-      factor [mfactor] = k;
-      if (k != 1)
-    mfactor++;
-   } else {
-      if (k - (k / 4 << 2) == 0) {
-     mfactor++;
-     factor [mfactor - 1] = 2;
-     k /= 4;
-      }
-      kt = mfactor;
-      j = 2;
-      do {
-     if (k % j == 0) {
-        mfactor++;
-        factor [mfactor - 1] = j;
-        k /= j;
-     }
-     j = ((j + 1) / 2 << 1) + 1;
-      } while (j <= k);
-   }
-   if (kt) {
-      j = kt;
-      do {
-     mfactor++;
-     factor [mfactor - 1] = factor [j - 1];
-     j--;
-      } while (j);
-   }
-
-   /* test that mfactors is in range */
-   if (mfactor > NFACTOR)
-     {
-    fputs ("Error: " FFTRADIXS "() - exceeded number of factors\n", stderr);
-    goto Memory_Error_Label;
-      }
-
-   /* compute fourier transform */
-   for (;;) {
-      sd = radf / (double) kspan;
-      cd = sin(sd);
-      cd = 2.0 * cd * cd;
-      sd = sin(sd + sd);
-      kk = 1;
-      ii++;
-
-      switch (factor [ii - 1]) {
-       case 2:
-     /* transform for factor of 2 (including rotation factor) */
-     kspan /= 2;
-     k1 = kspan + 2;
-     do {
-        do {
-           k2 = kk + kspan;
-           ak = Re [k2];
-           bk = Im [k2];
-           Re [k2] = Re [kk] - ak;
-           Im [k2] = Im [kk] - bk;
-           Re [kk] += ak;
-           Im [kk] += bk;
-           kk = k2 + kspan;
-        } while (kk <= nn);
-        kk -= nn;
-     } while (kk <= jc);
-     if (kk > kspan)
-       goto Permute_Results_Label;		/* exit infinite loop */
-     do {
-        c1 = 1.0 - cd;
-        s1 = sd;
-        do {
-           do {
-          do {
-             k2 = kk + kspan;
-             ak = Re [kk] - Re [k2];
-             bk = Im [kk] - Im [k2];
-             Re [kk] += Re [k2];
-             Im [kk] += Im [k2];
-             Re [k2] = c1 * ak - s1 * bk;
-             Im [k2] = s1 * ak + c1 * bk;
-             kk = k2 + kspan;
-          } while (kk < nt);
-          k2 = kk - nt;
-          c1 = -c1;
-          kk = k1 - k2;
-           } while (kk > k2);
-           ak = c1 - (cd * c1 + sd * s1);
-           s1 = sd * c1 - cd * s1 + s1;
-           c1 = 2.0 - (ak * ak + s1 * s1);
-           s1 *= c1;
-           c1 *= ak;
-           kk += jc;
-        } while (kk < k2);
-        k1 += inc + inc;
-        kk = (k1 - kspan) / 2 + jc;
-     } while (kk <= jc + jc);
-     break;
-
-       case 4:			/* transform for factor of 4 */
-     ispan = kspan;
-     kspan /= 4;
-
-     do {
-        c1 = 1.0;
-        s1 = 0.0;
-        do {
-           do {
-          k1 = kk + kspan;
-          k2 = k1 + kspan;
-          k3 = k2 + kspan;
-          akp = Re [kk] + Re [k2];
-          akm = Re [kk] - Re [k2];
-          ajp = Re [k1] + Re [k3];
-          ajm = Re [k1] - Re [k3];
-          bkp = Im [kk] + Im [k2];
-          bkm = Im [kk] - Im [k2];
-          bjp = Im [k1] + Im [k3];
-          bjm = Im [k1] - Im [k3];
-          Re [kk] = akp + ajp;
-          Im [kk] = bkp + bjp;
-          ajp = akp - ajp;
-          bjp = bkp - bjp;
-          if (iSign < 0) {
-             akp = akm + bjm;
-             bkp = bkm - ajm;
-             akm -= bjm;
-             bkm += ajm;
-          } else {
-             akp = akm - bjm;
-             bkp = bkm + ajm;
-             akm += bjm;
-             bkm -= ajm;
-          }
-          /* avoid useless multiplies */
-          if (s1 == 0.0) {
-             Re [k1] = akp;
-             Re [k2] = ajp;
-             Re [k3] = akm;
-             Im [k1] = bkp;
-             Im [k2] = bjp;
-             Im [k3] = bkm;
-          } else {
-             Re [k1] = akp * c1 - bkp * s1;
-             Re [k2] = ajp * c2 - bjp * s2;
-             Re [k3] = akm * c3 - bkm * s3;
-             Im [k1] = akp * s1 + bkp * c1;
-             Im [k2] = ajp * s2 + bjp * c2;
-             Im [k3] = akm * s3 + bkm * c3;
-          }
-          kk = k3 + kspan;
-           } while (kk <= nt);
-
-           c2 = c1 - (cd * c1 + sd * s1);
-           s1 = sd * c1 - cd * s1 + s1;
-           c1 = 2.0 - (c2 * c2 + s1 * s1);
-           s1 *= c1;
-           c1 *= c2;
-           /* values of c2, c3, s2, s3 that will get used next time */
-           c2 = c1 * c1 - s1 * s1;
-           s2 = 2.0 * c1 * s1;
-           c3 = c2 * c1 - s2 * s1;
-           s3 = c2 * s1 + s2 * c1;
-           kk = kk - nt + jc;
-        } while (kk <= kspan);
-        kk = kk - kspan + inc;
-     } while (kk <= jc);
-     if (kspan == jc)
-       goto Permute_Results_Label;		/* exit infinite loop */
-     break;
-
-       default:
-     /*  transform for odd factors */
-#ifdef FFT_RADIX4
-     fputs ("Error: " FFTRADIXS "(): compiled for radix 2/4 only\n", stderr);
-     fft_free ();		/* free-up memory */
-     return -1;
-     break;
-#else	/* FFT_RADIX4 */
-     k = factor [ii - 1];
-     ispan = kspan;
-     kspan /= k;
-
-     switch (k) {
-      case 3:	/* transform for factor of 3 (optional code) */
-        do {
-           do {
-          k1 = kk + kspan;
-          k2 = k1 + kspan;
-          ak = Re [kk];
-          bk = Im [kk];
-          aj = Re [k1] + Re [k2];
-          bj = Im [k1] + Im [k2];
-          Re [kk] = ak + aj;
-          Im [kk] = bk + bj;
-          ak -= 0.5 * aj;
-          bk -= 0.5 * bj;
-          aj = (Re [k1] - Re [k2]) * s60;
-          bj = (Im [k1] - Im [k2]) * s60;
-          Re [k1] = ak - bj;
-          Re [k2] = ak + bj;
-          Im [k1] = bk + aj;
-          Im [k2] = bk - aj;
-          kk = k2 + kspan;
-           } while (kk < nn);
-           kk -= nn;
-        } while (kk <= kspan);
-        break;
-
-      case 5:	/*  transform for factor of 5 (optional code) */
-        c2 = c72 * c72 - s72 * s72;
-        s2 = 2.0 * c72 * s72;
-        do {
-           do {
-          k1 = kk + kspan;
-          k2 = k1 + kspan;
-          k3 = k2 + kspan;
-          k4 = k3 + kspan;
-          akp = Re [k1] + Re [k4];
-          akm = Re [k1] - Re [k4];
-          bkp = Im [k1] + Im [k4];
-          bkm = Im [k1] - Im [k4];
-          ajp = Re [k2] + Re [k3];
-          ajm = Re [k2] - Re [k3];
-          bjp = Im [k2] + Im [k3];
-          bjm = Im [k2] - Im [k3];
-          aa = Re [kk];
-          bb = Im [kk];
-          Re [kk] = aa + akp + ajp;
-          Im [kk] = bb + bkp + bjp;
-          ak = akp * c72 + ajp * c2 + aa;
-          bk = bkp * c72 + bjp * c2 + bb;
-          aj = akm * s72 + ajm * s2;
-          bj = bkm * s72 + bjm * s2;
-          Re [k1] = ak - bj;
-          Re [k4] = ak + bj;
-          Im [k1] = bk + aj;
-          Im [k4] = bk - aj;
-          ak = akp * c2 + ajp * c72 + aa;
-          bk = bkp * c2 + bjp * c72 + bb;
-          aj = akm * s2 - ajm * s72;
-          bj = bkm * s2 - bjm * s72;
-          Re [k2] = ak - bj;
-          Re [k3] = ak + bj;
-          Im [k2] = bk + aj;
-          Im [k3] = bk - aj;
-          kk = k4 + kspan;
-           } while (kk < nn);
-           kk -= nn;
-        } while (kk <= kspan);
-        break;
-
-      default:
-        if (k != jf) {
-           jf = k;
-           s1 = pi2 / (double) k;
-           c1 = cos(s1);
-           s1 = sin(s1);
-           if (jf > max_factors)
-         goto Memory_Error_Label;
-           Cos [jf - 1] = 1.0;
-           Sin [jf - 1] = 0.0;
-           j = 1;
-           do {
-          Cos [j - 1] = Cos [k - 1] * c1 + Sin [k - 1] * s1;
-          Sin [j - 1] = Cos [k - 1] * s1 - Sin [k - 1] * c1;
-          k--;
-          Cos [k - 1] = Cos [j - 1];
-          Sin [k - 1] = -Sin [j - 1];
-          j++;
-           } while (j < k);
-        }
-        do {
-           do {
-          k1 = kk;
-          k2 = kk + ispan;
-          ak = aa = Re [kk];
-          bk = bb = Im [kk];
-          j = 1;
-          k1 += kspan;
-          do {
-             k2 -= kspan;
-             j++;
-             Rtmp [j - 1] = Re [k1] + Re [k2];
-             ak += Rtmp [j - 1];
-             Itmp [j - 1] = Im [k1] + Im [k2];
-             bk += Itmp [j - 1];
-             j++;
-             Rtmp [j - 1] = Re [k1] - Re [k2];
-             Itmp [j - 1] = Im [k1] - Im [k2];
-             k1 += kspan;
-          } while (k1 < k2);
-          Re [kk] = ak;
-          Im [kk] = bk;
-          k1 = kk;
-          k2 = kk + ispan;
-          j = 1;
-          do {
-             k1 += kspan;
-             k2 -= kspan;
-             jj = j;
-             ak = aa;
-             bk = bb;
-             aj = 0.0;
-             bj = 0.0;
-             k = 1;
-             do {
-            k++;
-            ak += Rtmp [k - 1] * Cos [jj - 1];
-            bk += Itmp [k - 1] * Cos [jj - 1];
-            k++;
-            aj += Rtmp [k - 1] * Sin [jj - 1];
-            bj += Itmp [k - 1] * Sin [jj - 1];
-            jj += j;
-            if (jj > jf) {
-               jj -= jf;
-            }
-             } while (k < jf);
-             k = jf - j;
-             Re [k1] = ak - bj;
-             Im [k1] = bk + aj;
-             Re [k2] = ak + bj;
-             Im [k2] = bk - aj;
-             j++;
-          } while (j < k);
-          kk += ispan;
-           } while (kk <= nn);
-           kk -= nn;
-        } while (kk <= kspan);
-        break;
-     }
-     /*  multiply by rotation factor (except for factors of 2 and 4) */
-     if (ii == mfactor)
-       goto Permute_Results_Label;		/* exit infinite loop */
-     kk = jc + 1;
-     do {
-        c2 = 1.0 - cd;
-        s1 = sd;
-        do {
-           c1 = c2;
-           s2 = s1;
-           kk += kspan;
-           do {
-          do {
-             ak = Re [kk];
-             Re [kk] = c2 * ak - s2 * Im [kk];
-             Im [kk] = s2 * ak + c2 * Im [kk];
-             kk += ispan;
-          } while (kk <= nt);
-          ak = s1 * s2;
-          s2 = s1 * c2 + c1 * s2;
-          c2 = c1 * c2 - ak;
-          kk = kk - nt + kspan;
-           } while (kk <= ispan);
-           c2 = c1 - (cd * c1 + sd * s1);
-           s1 += sd * c1 - cd * s1;
-           c1 = 2.0 - (c2 * c2 + s1 * s1);
-           s1 *= c1;
-           c2 *= c1;
-           kk = kk - ispan + jc;
-        } while (kk <= kspan);
-        kk = kk - kspan + jc + inc;
-     } while (kk <= jc + jc);
-     break;
-#endif	/* FFT_RADIX4 */
-      }
-   }
-
-/*  permute the results to normal order---done in two stages */
-/*  permutation for square factors of n */
-Permute_Results_Label:
-   Perm [0] = ns;
-   if (kt) {
-      k = kt + kt + 1;
-      if (mfactor < k)
-    k--;
-      j = 1;
-      Perm [k] = jc;
-      do {
-     Perm [j] = Perm [j - 1] / factor [j - 1];
-     Perm [k - 1] = Perm [k] * factor [j - 1];
-     j++;
-     k--;
-      } while (j < k);
-      k3 = Perm [k];
-      kspan = Perm [1];
-      kk = jc + 1;
-      k2 = kspan + 1;
-      j = 1;
-      if (nPass != nTotal) {
-/*  permutation for multivariate transform */
-Permute_Multi_Label:
-     do {
-        do {
-           k = kk + jc;
-           do {
-          /* swap Re [kk] <> Re [k2], Im [kk] <> Im [k2] */
-          ak = Re [kk]; Re [kk] = Re [k2]; Re [k2] = ak;
-          bk = Im [kk]; Im [kk] = Im [k2]; Im [k2] = bk;
-          kk += inc;
-          k2 += inc;
-           } while (kk < k);
-           kk += ns - jc;
-           k2 += ns - jc;
-        } while (kk < nt);
-        k2 = k2 - nt + kspan;
-        kk = kk - nt + jc;
-     } while (k2 < ns);
-     do {
-        do {
-           k2 -= Perm [j - 1];
-           j++;
-           k2 = Perm [j] + k2;
-        } while (k2 > Perm [j - 1]);
-        j = 1;
-        do {
-           if (kk < k2)
-         goto Permute_Multi_Label;
-           kk += jc;
-           k2 += kspan;
-        } while (k2 < ns);
-     } while (kk < ns);
-      } else {
-/*  permutation for single-variate transform (optional code) */
-Permute_Single_Label:
-     do {
-        /* swap Re [kk] <> Re [k2], Im [kk] <> Im [k2] */
-        ak = Re [kk]; Re [kk] = Re [k2]; Re [k2] = ak;
-        bk = Im [kk]; Im [kk] = Im [k2]; Im [k2] = bk;
-        kk += inc;
-        k2 += kspan;
-     } while (k2 < ns);
-     do {
-        do {
-           k2 -= Perm [j - 1];
-           j++;
-           k2 = Perm [j] + k2;
-        } while (k2 > Perm [j - 1]);
-        j = 1;
-        do {
-           if (kk < k2)
-         goto Permute_Single_Label;
-           kk += inc;
-           k2 += kspan;
-        } while (k2 < ns);
-     } while (kk < ns);
-      }
-      jc = k3;
-   }
-
-   if ((kt << 1) + 1 >= mfactor)
-     return 0;
-   ispan = Perm [kt];
-   /* permutation for square-free factors of n */
-   j = mfactor - kt;
-   factor [j] = 1;
-   do {
-      factor [j - 1] *= factor [j];
-      j--;
-   } while (j != kt);
-   kt++;
-   nn = factor [kt - 1] - 1;
-   if (nn > max_perm)
-     goto Memory_Error_Label;
-   j = jj = 0;
-   for (;;) {
-      k = kt + 1;
-      k2 = factor [kt - 1];
-      kk = factor [k - 1];
-      j++;
-      if (j > nn)
-    break;				/* exit infinite loop */
-      jj += kk;
-      while (jj >= k2) {
-     jj -= k2;
-     k2 = kk;
-     k++;
-     kk = factor [k - 1];
-     jj += kk;
-      }
-      Perm [j - 1] = jj;
-   }
-   /*  determine the permutation cycles of length greater than 1 */
-   j = 0;
-   for (;;) {
-      do {
-     j++;
-     kk = Perm [j - 1];
-      } while (kk < 0);
-      if (kk != j) {
-     do {
-        k = kk;
-        kk = Perm [k - 1];
-        Perm [k - 1] = -kk;
-     } while (kk != j);
-     k3 = kk;
-      } else {
-     Perm [j - 1] = -j;
-     if (j == nn)
-       break;		/* exit infinite loop */
-      }
-   }
-   max_factors *= inc;
-   /*  reorder a and b, following the permutation cycles */
-   for (;;) {
-      j = k3 + 1;
-      nt -= ispan;
-      ii = nt - inc + 1;
-      if (nt < 0)
-    break;			/* exit infinite loop */
-      do {
-     do {
-        j--;
-     } while (Perm [j - 1] < 0);
-     jj = jc;
-     do {
-        kspan = jj;
-        if (jj > max_factors) {
-           kspan = max_factors;
-        }
-        jj -= kspan;
-        k = Perm [j - 1];
-        kk = jc * k + ii + jj;
-        k1 = kk + kspan;
-        k2 = 0;
-        do {
-           k2++;
-           Rtmp [k2 - 1] = Re [k1];
-           Itmp [k2 - 1] = Im [k1];
-           k1 -= inc;
-        } while (k1 != kk);
-        do {
-           k1 = kk + kspan;
-           k2 = k1 - jc * (k + Perm [k - 1]);
-           k = -Perm [k - 1];
-           do {
-          Re [k1] = Re [k2];
-          Im [k1] = Im [k2];
-          k1 -= inc;
-          k2 -= inc;
-           } while (k1 != kk);
-           kk = k2;
-        } while (k != j);
-        k1 = kk + kspan;
-        k2 = 0;
-        do {
-           k2++;
-           Re [k1] = Rtmp [k2 - 1];
-           Im [k1] = Itmp [k2 - 1];
-           k1 -= inc;
-        } while (k1 != kk);
-     } while (jj);
-      } while (j != 1);
-   }
-   return 0;			/* exit point here */
-
-   /* alloc or other problem, do some clean-up */
-Memory_Error_Label:
-   fputs ("Error: " FFTRADIXS "() - insufficient memory.\n", stderr);
-   fft_free ();			/* free-up memory */
-   return -1;
-}
-#endif	/* _FFTN_C */
-/* ---------------------- end-of-file (c source) ---------------------- */
diff --git a/lib-src/libnyquist/fft/fftn.h b/lib-src/libnyquist/fft/fftn.h
deleted file mode 100644
index c760f80..0000000
--- a/lib-src/libnyquist/fft/fftn.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*--------------------------------*-C-*---------------------------------*
- * File:
- *	fftn.h
- * ---------------------------------------------------------------------*
- * Re[]:	real value array
- * Im[]:	imaginary value array
- * nTotal:	total number of complex values
- * nPass:	number of elements involved in this pass of transform
- * nSpan:	nspan/nPass = number of bytes to increment pointer
- *		in Re[] and Im[]
- * isign:	exponent: +1 = forward  -1 = reverse
- * scaling:	normalizing constant by which the final result is *divided*
- *	scaling == -1, normalize by total dimension of the transform
- *	scaling <  -1, normalize by the square-root of the total dimension
- *
- * ----------------------------------------------------------------------
- * See the comments in the code for correct usage!
- */
-
-#ifndef _FFTN_H
-#define _FFTN_H
-
-extern void fft_free (void);
-
-/* double precision routine */
-extern int fftn (int ndim, const int dims[], double Re[], double Im[],
-                 int isign, double scaling);
-
-/* float precision routine */
-extern int fftnf (int ndim, const int dims[], float Re[], float Im[],
-                  int isign, double scaling);
-#endif	/* _FFTN_H */
diff --git a/lib-src/libnyquist/mac/macfun.c b/lib-src/libnyquist/mac/macfun.c
deleted file mode 100644
index 3c2e04d..0000000
--- a/lib-src/libnyquist/mac/macfun.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* macfun.c - macintosh user interface functions for xlisp */
-
-#include <Quickdraw.h>
-#include <Windows.h>
-#include <Memory.h>
-
-#include <string.h>
-
-#include "xlisp.h"
-
-void CtoPstr(char *x)
-{
-   int len = strlen(x);
-   int i;
-   
-   for(i=len; i>0; i--)
-      x[i] = x[i-1];
-   x[0] = len;
-}
-
-void FlushOutput()
-{
-}
-
-unsigned long startupTicks = 0;
-
-unsigned long ticks_per_second (void)	{ return 60; }
-unsigned long run_tick_count (void)		{ return ((unsigned long) TickCount ()) - startupTicks; }
-unsigned long real_tick_count (void)	{ return (unsigned long) TickCount (); }
-
-LVAL xrealtime (void)	{ return cvfixnum ((FIXTYPE)real_tick_count()); }	/* get-internal-real-time */
-LVAL xruntime (void)	{ return cvfixnum ((FIXTYPE)run_tick_count()); }	/* get-internal-run-time */
-LVAL xtime (void)		{ return cvfixnum ((FIXTYPE)real_tick_count()); }	/* time */
-
-/* get an integer parameter */
-LOCAL int getNumber () {
-    LVAL num = xlgafixnum ();
-    return ((int) getfixnum (num));
-}
-
-/* handle commands that require integer arguments */
-LOCAL LVAL GrafCmd (char funct, int nArgs) {
-    return NIL;
-}
-
-LVAL xshowgraphics (void)	{ return GrafCmd ('G', 0); }  /* show graphics win */
-LVAL xhidegraphics (void)	{ return GrafCmd ('g', 0); }  /* hide graphics win */
-LVAL xcleargraphics (void)	{ return GrafCmd ('x', 0); }  /* clear graphics win */
-LVAL xshowpen (void)	{ return GrafCmd ('s', 0); }  /* show the pen */
-LVAL xhidepen (void)	{ return GrafCmd ('h', 0); }  /* hide the pen */
-LVAL xpenmode (void)	{ return GrafCmd ('d', 1); }  /* set the pen mode */
-LVAL xmove (void)		{ return GrafCmd ('M', 2); }  /* move pen in a specified direction */
-LVAL xmoveto (void)		{ return GrafCmd ('m', 2); }  /* move pen to a screen location */
-LVAL xdraw (void)		{ return GrafCmd ('L', 2); }  /* draw a line in a specified direction */
-LVAL xdrawto (void)		{ return GrafCmd ('l', 2); }  /* draw a line to a screen location */
-LVAL xpensize (void)	{ return GrafCmd ('S', 2); }  /* set the pen size */
-LVAL xpennormal (void)	{ return GrafCmd ('p', 0); }  /* set the pen to normal */
-LVAL xcolor (void)		{ return GrafCmd ('c', 3); }  /* set RGB color of pen */
-
-
-LVAL xgetpen (void) {  /* get the pen position */
-    return NIL;
-}
-
-LVAL xpenpat (void) {  /* set the pen pattern */
-    return NIL;
-}
-
-/* The functions below are not yet implemented. */
-
-LVAL xtool (void) {  /* call the toolbox */
-    int trap = getNumber ();
-    LVAL val;
-
-    return cvfixnum ((FIXTYPE) trap);
-}
-
-LVAL xtool16 (void) {  /* call the toolbox with a 16 bit result */
-    int trap = getNumber ();
-    int val;
-
-    return cvfixnum ((FIXTYPE) trap);
-}
-
-LVAL xtool32 (void) {  /* call the toolbox with a 32 bit result */
-    int trap = getNumber ();
-    long val;
-
-    return cvfixnum ((FIXTYPE) trap);
-}
-
-LVAL xnewhandle (void) {  /* allocate a new handle */
-    LVAL num = xlgafixnum ();
-    long size = getfixnum (num);
-    xllastarg ();
-    return cvfixnum ((FIXTYPE) NewHandle (size));
-}
-
-LVAL xnewptr (void) {  /* allocate memory */
-    LVAL num = xlgafixnum ();
-    long size = getfixnum (num);
-    xllastarg ();
-    return cvfixnum ((FIXTYPE) NewPtr (size));
-}
-
-LVAL xhiword (void) {  /* return the high order 16 bits of an integer */
-    unsigned int val = (unsigned int) (getNumber () >> 16);
-    xllastarg ();
-    return cvfixnum ((FIXTYPE) val);
-}
-
-LVAL xloword (void) {  /* return the low order 16 bits of an integer */
-    unsigned int val = (unsigned int) getNumber ();
-    xllastarg ();
-    return cvfixnum ((FIXTYPE) val);
-}
-
-LVAL xrdnohang (void) {  /* get the next character in the look-ahead buffer */
-    int ch = 0;
-    xllastarg ();
-/*    if ((ch = scrnextc ()) == EOF) return NIL; */
-    return cvfixnum ((FIXTYPE) ch);
-}
-
-
-void xoserror (char *msg) { /* do nothing */ }
-
diff --git a/lib-src/libnyquist/mac/macint.c b/lib-src/libnyquist/mac/macint.c
deleted file mode 100644
index 3e1e230..0000000
--- a/lib-src/libnyquist/mac/macint.c
+++ /dev/null
@@ -1,516 +0,0 @@
-/* macint.c - macintosh interface routines for xlisp 2.1e */
-/* Written by Brian Kendig. */
-/* The functions here are only called by macstuff.c. */
-
-#include <Events.h>
-#include <Gestalt.h>
-#include <Memory.h>
-#include <Menus.h>
-#include <Events.h>
-#include <Quickdraw.h>
-#include <StandardFile.h>
-#include <TextEdit.h>
-#include <ToolUtils.h>
-#include <Traps.h>
-#include <Windows.h>
-#include <Controls.h>
-/* #include <ControlDefinitions.h> */
-#include <SIOUX.h>
-#include <AppleEvents.h>
-#include "macint.h"
-/* #define FALSE 0
-#define TRUE 1 */
-#define NIL ((void *) 0)
-
-
-#include "MacCommandWin.h"
-#include "macaboutbox.h"
-#include "MacDrag.h"
-#include "MacHandleEv.h"
-#include "macstuff.h"
-#include "stdio.h"
-#define TEXTREC		(*hTERec)  /* the command window text record */
-#define TEXTCHAR(i)	((*(TEXTREC->hText))[i])
-
-// Struct for apple event handling
-typedef struct AEventList {
-    AEEventClass evclass;
-    AEEventID evid;
-    void *handler;
-    long refcon;
-} AEventList, *AEventListPtr;
-
-//===========================================================================
-// GLOBALS DEFINED HERE USE MacGlobals.h FOR ACCESS
-//===========================================================================
-
-// Menu handles
-MenuHandle appleMenu, fileMenu, editMenu, controlMenu;
-
-/* command and graphics windows */
-WindowPtr		gCommandWin, gGraphicsWin;
-WindowRecord	commandWinRec, bwGraphicsWinRec;
-CWindowRecord	colorGraphicsWinRec;
-Boolean			gGraphicsShown, gCommandWinResized = false;
-
-// Screen size stuff
-Rect dragRect, sizeRect;
-int screenWidth, screenHeight;					/* screen dimensions */
-int sHorizontal, sVertical, sWidth, sHeight;	/* command win, split screen */
-int gHorizontal, gVertical, gWidth, gHeight;	/* graphics win, split screen */
-
-// The Text handle
-TEHandle hTERec;
-
-/* output is buffered */
-//Handle hOutputBuffer = NULL;
-int outputBufferLength = 0;
-
-// Allocate space for UPPs
-ControlActionUPP uppScrollProc;	
-TEClickLoopUPP uppScrollClickLoop;
-//AEEventHandlerUPP uppAEOpenFiles, uppAEQuit;
-
-// Text related globals
-CharsHandle	pastedTextH = NULL;					/* a handle to pasted text */
-int			pastedLength = 0;					/* how many chars there are in the paste buffer */
-int			flashTime = 0, cursorBeforeFlash;	/* for flashing cursor when parens match */
-char		recentChar;							/* the last character typed */
-RgnHandle		gMouseRgn;						// holds current mouse regin
-
-/* miscellaneous stuff */
-Boolean		gInBackground;						/* are we in background or not */
-int wneImplemented;
-unsigned long startupTicks;
-Boolean hasColorQD;
-
-short howManyFiles = 0, whichFile = 0;  /* keep track of files opened from Finder */
-
-
-// Prototypes
-static pascal OSErr AEQuit (AppleEvent *theAppleEvent, AppleEvent *theReply, long Refcon);
-static pascal OSErr AEOpenFiles (AppleEvent *theAppleEvent, AppleEvent *theReply, long Refcon);
-pascal Boolean ScrollClickLoop (void);
-pascal void ScrollProc (ControlHandle control, short thePart);
-Rect SetTERect (void);
-void FlushOutput (void);
-
-void ShowGrafWin (void) {
-    /* make the graphics window visible */
-    ShowWindow (gGraphicsWin);
-    SelectWindow (gGraphicsWin);
-    SetMenuItemText (controlMenu, SHOW_GRAPHICS, "\pHide Graphics");
-    //AdjustCursor ();
-    gGraphicsShown = true;
-}
-
-void HideGrafWin (void) {
-    /* hide the graphics window */
-    HideWindow (gGraphicsWin);
-    SetMenuItemText (controlMenu, SHOW_GRAPHICS, "\pShow Graphics");
-    gGraphicsShown = false;
-}
-
-
-static void UpdateGraphWindow ()
-{
-    BeginUpdate (gGraphicsWin);
-    EndUpdate (gGraphicsWin);
-}
-void InitMac (void) {
-//	{  /* set up memory properly */
-//		int i;
-        // fix this later. -EAD
-        //if (DefltStack < STACKMIN) SetApplLimit (CurStackBase - STACKMIN); 
-//		MaxApplZone ();
-//		for (i = 0; i < MASTERS; i++) MoreMasters ();
-//	}
-    AEventListPtr theAppleEvent;
-    AEventList theEventList[] = {
-    { kCoreEventClass, kAEOpenDocuments, AEOpenFiles, 0 },
-    { kCoreEventClass, kAEQuitApplication, AEQuit, 0 },
-    { 0, 0, nil, 0 }
-    };
-    int i;
-
-    /* do all the necessary initialization mumbo-jumbo */
-    if (StackSpace() < STACKMIN) 
-        SetApplLimit(GetApplLimit() - STACKMIN);
-    MaxApplZone();
-    /* printf("New StackSpace %lx GetApplLimit %lx\n",
-        StackSpace(), GetApplLimit()); */
-    for (i = 0; i < MASTERS; i++) MoreMasters ();
-    /* getchar(); */
-        
-    /* initialize the toolbox */
-    InitGraf (&qd.thePort);
-    InitFonts ();
-    FlushEvents (everyEvent, 0);
-    InitWindows ();
-    InitMenus ();
-    TEInit ();
-    InitDialogs (NIL);
-    InitCursor ();
-
-    // Setup Callbacks
-    uppScrollClickLoop = NewTEClickLoopProc(ScrollClickLoop);
-    uppScrollProc = NewControlActionProc(ScrollProc);
-    
-    // Handlers for core apple events		
-    for (theAppleEvent = theEventList; theAppleEvent->handler; theAppleEvent++)
-        if (AEInstallEventHandler(theAppleEvent->evclass, theAppleEvent->evid, NewAEEventHandlerProc((ProcPtr)theAppleEvent->handler),
-                    theAppleEvent->refcon, 0) != noErr);
-    
-    // Set up the SIOUX window
-    SIOUXSettings.initializeTB = FALSE;			//Toolbox is alread inited
-    SIOUXSettings.setupmenus = FALSE;			//keep the csound menus
-    SIOUXSettings.autocloseonquit = TRUE;		//close sioux without asking for save
-    SIOUXSettings.showstatusline = FALSE;		//no status line
-    SIOUXSettings.asktosaveonclose = FALSE;		//don't ask to save
-    SIOUXSettings.toppixel = 40;
-    SIOUXSettings.leftpixel = 5;
-    
-    /* see if we have WaitNextEvent and Color Quickdraw */
-    wneImplemented = (NGetTrapAddress (_WaitNextEvent, ToolTrap) != NGetTrapAddress (_Unimplemented, ToolTrap));
-    if (NGetTrapAddress ((short) Gestalt, ToolTrap) != NGetTrapAddress (_Unimplemented, ToolTrap)) {
-        long returnCode;
-        OSErr err = Gestalt (gestaltQuickdrawVersion, &returnCode);
-        hasColorQD = ((err == noErr) && (returnCode >= gestalt8BitQD));
-    } else hasColorQD = false;
-
-    {  /* set up menus */
-        Handle theMenuBar = GetNewMBar (MBAR_RES);
-        SetMenuBar (theMenuBar);
-        appleMenu = (MenuHandle)GetMenuHandle (APPLE_MENU_RES);
-        fileMenu = (MenuHandle)GetMenuHandle (FILE_MENU_RES);
-        editMenu = (MenuHandle)GetMenuHandle (EDIT_MENU_RES);
-        controlMenu = (MenuHandle)GetMenuHandle (CONTROL_MENU_RES);
-        AppendResMenu (appleMenu, 'DRVR');
-        DrawMenuBar ();
-    }
-
-    /* get the size of the main screen */
-    screenWidth  = qd.screenBits.bounds.right  - qd.screenBits.bounds.left;
-    screenHeight = qd.screenBits.bounds.bottom - qd.screenBits.bounds.top;
-
-    /* compute the size of the graphics window in split-screen mode */
-    gHorizontal = SCREEN_MARGIN;
-    gVertical = MBAR_HEIGHT + TITLEBAR_HEIGHT - 1;
-    gWidth = screenWidth - (SCREEN_MARGIN * 2);
-    gHeight = GRAFWIN_HEIGHT;
-
-    /* compute the size of the command window in split-screen mode */
-    sHorizontal = SCREEN_MARGIN;
-    sVertical = MBAR_HEIGHT + TITLEBAR_HEIGHT - 1 + SCREEN_MARGIN + GRAFWIN_HEIGHT;
-    sWidth = screenWidth - (SCREEN_MARGIN * 2);
-    sHeight = screenHeight - MBAR_HEIGHT - TITLEBAR_HEIGHT - (SCREEN_MARGIN * 2) - GRAFWIN_HEIGHT - 1;
-    
-    /* set up size and drag rects */
-    dragRect = (*GetGrayRgn ())->rgnBBox;
-//	dragRect.left += DRAG_THRESHOLD;
-//	dragRect.right -= DRAG_THRESHOLD;
-//	dragRect.bottom -= DRAG_THRESHOLD;
-    sizeRect.top = MIN_WIN_HEIGHT;
-    sizeRect.left = MIN_WIN_WIDTH;
-    sizeRect.bottom = qd.screenBits.bounds.bottom - qd.screenBits.bounds.top;
-    sizeRect.right = qd.screenBits.bounds.right - qd.screenBits.bounds.left;
-    
-    /* create the command window */
-    gCommandWin = GetNewWindow (CWINRES, &commandWinRec, (WindowPtr) -1L);
-    SetPort (gCommandWin);
-
-    /* create the graphics window */
-    if (hasColorQD) gGraphicsWin = GetNewCWindow (GWINRES, &colorGraphicsWinRec, (WindowPtr) -1L);
-    else gGraphicsWin = GetNewWindow (GWINRES, &bwGraphicsWinRec, (WindowPtr) -1L);
-
-    startupTicks = TickCount ();  /* take note of what time we're starting up */
-    
-    // Create mouse regin
-    gMouseRgn = NewRgn();
-    
-    // Initalize some command window stuff
-    InitalizeCmdWindow();
-    
-    // Turn on text outlineing
-    TEFeatureFlag(teFOutlineHilite, teBitSet, hTERec);
-    
-    HideGrafWin ();
-
-    {  /* see if the user launched the app by opening text files from the Finder */
-        short doWhat;\
-// call to CountAppFiles was commented out, but that left doWhat uninitialized
-// RBD added this ifdef, I wonder where CountAppFiles came from?
-#ifdef CountAppFilesDefined
-        CountAppFiles (&doWhat, &howManyFiles);
-        if (doWhat != appOpen) howManyFiles = 0;
-#else
-        howManyFiles = 0;
-#endif
-    }
-
-    UpdateCmdWindow ();
-
-}
-
-
-
-static void DoAppleMenu (int theItem) {
-    switch (theItem) {
-        case ABOUT_ITEM:
-            DoAboutBox ();
-            break;
-        default: {
-            Str255 name;
-            GetMenuItemText (appleMenu, theItem, name);
-            OpenDeskAcc (name);
-            break;
-        }
-    }
-}
-/* this should really be in a header for MacFileUtils.c */
-
-
-
-    extern xlload (char *, int, int);
-    extern xlabort(char *);
-    extern xlisp_wrapup (void);
-    StandardFileReply theFile;
-
-    SFTypeList fileTypes;
-    Point pt = { 100, 100 };
-
-    fileTypes[0] = 'TEXT';
-    switch (theItem) {
-        case LOAD:
-        case LOAD_NOISILY:
-            StopPasting ();
-            StandardGetFile(NIL, 1, fileTypes, &theFile);
-            if (theFile.sfGood) {
-                Str255 theFullPath;
-
-                OSErr err;
-
-                err = OpenWD(theFile.sfFile.vRefNum, theFile.sfFile.parID, 'Nyqu', &wdRefNum);
-                err = SetVol(NIL, wdRefNum);
-
-                GetFullPath(&theFile.sfFile, theFullPath);
-
-                if ((xlload((char *) theFullPath, 1, (theItem == LOAD_NOISILY))) == 0) {
-
-
-
-                PrepareForInput ();
-            }
-            break;
-        case QUIT:
-            xlisp_wrapup ();
-    }
-}
-
-static void DoEditMenu (int theItem) {
-    if (SystemEdit (theItem-1) == false)
-        switch (theItem) {
-        case CUT: case COPY:
-            if (ZeroScrap () == noErr) {
-                TECopy (hTERec);  /* after copying, export the TE scrap */
-                if (TEToScrap () != noErr) ZeroScrap ();
-            }
-            if (theItem == CUT) DeleteRange ();
-            break;
-        case PASTE: {
-            long scrapOffset;
-            if (pastedTextH) DisposeHandle (pastedTextH);
-            pastedTextH = (CharsHandle) NewHandle (0);
-            pastedLength = GetScrap (pastedTextH, 'TEXT', &scrapOffset);
-            if (pastedLength < 0) pastedLength = 0;  /* error */
-            else {
-                SetHandleSize (pastedTextH, pastedLength + 1);
-                HLock (pastedTextH);
-                ((char *)(*pastedTextH))[pastedLength] = '\0';
-                HUnlock (pastedTextH);
-                }
-            }  /* and fall through ... */
-        case CLEAR:
-            DeleteRange ();
-            break;
-        }
-}
-
-static void DoControlMenu (int theItem) {
-    extern xlbreak (char *, char *);
-    extern char *s_unbound;
-    extern xlcontinue (void);
-    extern xlcleanup (void);
-    extern xlabort (char *);
-    extern xltoplevel (void);
-
-    scrflush ();
-    HiliteMenu (0);
-    switch (theItem) {
-        case BREAK:			StopPasting ();	xlbreak ("user break", s_unbound);	PrepareForInput ();	break;
-        case CONTINUE:		StopPasting ();	xlcontinue ();						PrepareForInput ();	break;
-        case CLEAN_UP:		StopPasting ();	xlcleanup ();						PrepareForInput ();	break;
-        case CANCEL_INPUT:	StopPasting ();	xlabort ("input canceled");			PrepareForInput ();	break;
-        case TOP_LEVEL:		StopPasting ();	xltoplevel ();						PrepareForInput ();	break;
-        case SHOW_GRAPHICS:
-            if (gGraphicsShown) HideGrafWin ();
-            else ShowGrafWin ();
-            break;
-        case SPLIT_SCREEN:
-            MoveWindow (gCommandWin, sHorizontal, sVertical, -1);
-            SizeWindow (gCommandWin, sWidth, sHeight, -1);
-            InvalRect (&gCommandWin->portRect);
-            SetTERect ();
-            SetScrollRect ();
-            ShowGrafWin ();
-            MoveWindow (gGraphicsWin, gHorizontal, gVertical, -1);
-            SizeWindow (gGraphicsWin, gWidth, gHeight, -1);
-            break;
-    }
-}
-
-void DoMenu (long choice) {
-    int theMenu = HiWord (choice), theItem = LoWord (choice);
-
-    HiliteMenu (theMenu);
-    switch (theMenu) {
-        case APPLE_MENU_RES:	DoAppleMenu (theItem);		break;
-        case FILE_MENU_RES:		DoFileMenu (theItem);		break;
-        case EDIT_MENU_RES:		DoEditMenu (theItem);		break;
-        case CONTROL_MENU_RES:	DoControlMenu (theItem);	break;
-    }
-    HiliteMenu (0);
-}
-
-void AdjustMenus (void) {
-    /* turn the stuff in the Edit menu on and off as necessary */
-    long temp;
-    DisableItem (editMenu, UNDO);
-    if (TEXTREC->selStart != TEXTREC->selEnd) {
-        EnableItem (editMenu, CUT);
-        EnableItem (editMenu, COPY);
-        EnableItem (editMenu, CLEAR);
-    } else {
-        DisableItem (editMenu, CUT);
-        DisableItem (editMenu, COPY);
-        DisableItem (editMenu, CLEAR);
-    }
-    if (GetScrap (NIL, 'TEXT', &temp) > 0) EnableItem (editMenu, PASTE);
-    else DisableItem (editMenu, PASTE);
-}
-
-RgnHandle rgn = nil;
-
-void DoContent (EventRecord *theEvent) {
-    /* handle a click in a window's content region */
-    ControlHandle theScrollBar;
-    GrafPtr oldPort;
-    int scrollValue;
-    Point mouse = theEvent->where;
-    int thePart;
-//	RgnHandle rgn = nil;
-    
-    GetPort (&oldPort);
-    SetPort (gCommandWin);
-    GlobalToLocal (&mouse);
-    
-    // Get Selected text
-    rgn = NewRgn();
-    TEGetHiliteRgn(rgn, hTERec);
-
-    if (thePart = FindControl (mouse, gCommandWin, &theScrollBar)) {
-        switch (thePart) {
-            case kControlUpButtonPart:
-            case kControlDownButtonPart:
-            case kControlPageUpPart:
-            case kControlPageDownPart:
-                scrollValue = TrackControl (theScrollBar, mouse, uppScrollProc);
-                break;
-            case kControlIndicatorPart:
-                scrollValue = GetControlValue (theScrollBar);
-                thePart = TrackControl (theScrollBar, mouse, NIL);
-                if (thePart) {
-                    scrollValue -= GetControlValue (theScrollBar);
-                    if (scrollValue) TEScroll (0, scrollValue * LINEHEIGHT, hTERec);
-                }
-                break;
-        }
-    } else if (PtInRgn(mouse, rgn)) {
-        if (!DragText(theEvent)) {
-            TEClick(mouse, false, hTERec);
-        }
-    } else if (PtInRect (mouse, &(TEXTREC->viewRect))) {
-        TEClick (mouse, (theEvent->modifiers & shiftKey) != 0, hTERec);
-    }
-    SetPort (oldPort);
-    DisposeRgn(rgn);
-}
-
-
-void DoEvent (void) {
-    EventRecord theEvent;
-    
-    if ((flashTime) && (--flashTime == 0)) SetSelection (cursorBeforeFlash, cursorBeforeFlash);
-    if (outputBufferLength) FlushOutput ();
-    if (FrontWindow () == gCommandWin) TEIdle (hTERec);
-    recentChar = '\0';
-    
-    if (WaitNextEvent (everyEvent, &theEvent, 0, gMouseRgn)) {
-
-        AdjustCursor (theEvent.where, gMouseRgn);	
-    
-        switch (theEvent.what) {
-            case kHighLevelEvent:
-                AEProcessAppleEvent(&theEvent);			
-                break;
-            case mouseDown:
-                DoMouseDown (&theEvent);
-                break;
-            case keyDown:
-            case autoKey:
-                DoKeyPress (&theEvent);
-                break;
-            case activateEvt: {
-                WindowPtr whichWindow = (WindowPtr)theEvent.message;
-                SetPort (whichWindow);
-                if (whichWindow == gCommandWin) {
-                    if ((theEvent.modifiers & activeFlag) == 1) {
-                        ActivateCmdWindow();
-                    } else {
-                        DeactivateCmdWindow();
-                    }
-                }
-                break;
-            }
-            case updateEvt: {
-                if ((WindowPtr)theEvent.message == gCommandWin) UpdateCmdWindow ();
-                if ((WindowPtr)theEvent.message == gGraphicsWin) UpdateGraphWindow ();
-                break;
-            }
-            case osEvt:
-                if (((theEvent.message >> 24) & 0xff) == suspendResumeMessage) {
-                    if (theEvent.message & resumeFlag) {
-                        gInBackground = false;
-                        if (FrontWindow () == gCommandWin) {
-                            ActivateCmdWindow();
-                        }
-                    } else {
-                        gInBackground = true;
-                        if (FrontWindow () == gCommandWin) {
-                            SetPort (gCommandWin);
-                            DeactivateCmdWindow();
-                        }
-                    }
-                }
-                break;
-    
-        }
-    }
-    AdjustCursor (theEvent.where, gMouseRgn);
-}
-
-void MacWrapUp (void) {
-    /* take everything down in preparation for quitting */
-    CleanupCmdWindow();
-    CloseWindow (gGraphicsWin);
-}
diff --git a/lib-src/libnyquist/mac/macint.h b/lib-src/libnyquist/mac/macint.h
deleted file mode 100644
index 683317c..0000000
--- a/lib-src/libnyquist/mac/macint.h
+++ /dev/null
@@ -1,169 +0,0 @@
-#include <Events.h>
-
-#undef INT_MAX
-#undef INT_MIN
-#define INT_MAX	+32767
-#define INT_MIN	-32767
-
-/* resource id's */
-
-#define CWINRES				400
-
-#define GWINRES				401
-
-#define MBAR_RES			400
-
-#define APPLE_MENU_RES		400
-
-#define FILE_MENU_RES		401
-
-#define EDIT_MENU_RES		402
-
-#define CONTROL_MENU_RES	403
-
-#define STRINGS_RES			400
-
-
-
-/* Apple menu */
-
-#define ABOUT_ITEM			1
-
-#define ABOUT_BOX			400
-
-#define	ABOUT_PICT			400
-
-
-
-/* File menu */
-
-#define LOAD				1
-
-#define LOAD_NOISILY		2
-
-#define QUIT				4
-
-
-
-/* Edit menu */
-
-#define UNDO				1
-
-#define CUT					3
-
-#define COPY				4
-
-#define PASTE				5
-
-#define CLEAR				6
-
-
-
-/* Control menu */
-
-#define BREAK				1
-
-#define CONTINUE			2
-
-#define CLEAN_UP			3
-
-#define CANCEL_INPUT		4
-
-#define TOP_LEVEL			5
-
-#define SHOW_GRAPHICS		7
-
-#define SPLIT_SCREEN		8
-
-
-
-/* window sizing/dragging stuff */
-
-#define DRAG_THRESHOLD 8
-
-#define MIN_WIN_HEIGHT 80
-
-#define MIN_WIN_WIDTH 120
-
-
-
-#define MAX_BUF 250						/* max chars in output buffer */
-
-#define SCROLLBACK_THRESHHOLD 30000 	/* max chars kept in window */
-
-#define DELETE_BLOCK 10000  			/* how many chars to delete when threshhold reached */
-
-
-
-#define LINEHEIGHT 11					/* height in pixels of 9-point Geneva, the font used */
-
-#define STACKMIN 400000					/* amout of memory for application stack */
-
-#define MASTERS 3						/* arbitrary -- how many times to call MoreMasters() */
-
-
-
-/* key codes */
-
-#define RETURN		0x0d
-
-#define ENTER		0x03
-
-#define DELETE		0x08
-
-#define FWDDEL		0x7F
-
-#define CLRKEY		0x1b
-
-#define PAGEUP		0x0b
-
-#define PAGEDN		0x0c
-
-#define HOMEKEY		0x01
-
-#define ENDKEY		0x04
-
-#define HELPKEY		0x05
-
-#define FNKEY		0x10
-
-#define LEFTARROW	0x1c
-
-#define RIGHTARROW	0x1d
-
-#define UPARROW		0x1e
-
-#define DOWNARROW	0x1f
-
-#define DBLQUOTE	'\"'
-
-
-
-/* useful definitions */
-
-#define MBAR_HEIGHT		20
-
-#define TITLEBAR_HEIGHT	20
-
-#define SCROLLER_WIDTH	15
-
-#define SCREEN_MARGIN	2
-
-#define TEXT_MARGIN		4
-
-#define GRAFWIN_HEIGHT	232
-
-void AdjustMenus(void);
-
-void DoMenu(long choice);
-
-void HideGrafWin(void);
-
-void DoContent(EventRecord *theEvent);
-
-void InitMac(void);
-
-void MacWrapUp(void);
-
-
-void DoEvent (void);
diff --git a/lib-src/libnyquist/mac/macptrs.h b/lib-src/libnyquist/mac/macptrs.h
deleted file mode 100644
index 4dad03a..0000000
--- a/lib-src/libnyquist/mac/macptrs.h
+++ /dev/null
@@ -1,52 +0,0 @@
-{	"HIDEPEN",			S, xhidepen		}, /* 300 */
-
-{	"SHOWPEN",			S, xshowpen		}, /* 301 */
-
-{	"GETPEN",			S, xgetpen		}, /* 302 */
-
-{	"PENSIZE",			S, xpensize		}, /* 303 */
-
-{	"PENMODE",			S, xpenmode		}, /* 304 */
-
-{	"PENPAT",			S, xpenpat		}, /* 305 */
-
-{	"PENNORMAL",			S, xpennormal		}, /* 306 */
-
-{	"MOVETO",			S, xmoveto		}, /* 307 */
-
-{	"MOVE",				S, xmove		}, /* 308 */
-
-{	"LINETO",			S, xdrawto		}, /* 309 */
-
-{	"LINE",				S, xdraw		}, /* 310 */
-
-{	"SHOW-GRAPHICS",		S, xshowgraphics	}, /* 311 */
-
-{	"HIDE-GRAPHICS",		S, xhidegraphics	}, /* 312 */
-
-{	"CLEAR-GRAPHICS",		S, xcleargraphics	}, /* 313 */
-
-{	"TOOLBOX",			S, xtool		}, /* 314 */
-
-{	"TOOLBOX-16",			S, xtool16		}, /* 315 */
-
-{	"TOOLBOX-32",			S, xtool32		}, /* 316 */
-
-{	"NEWHANDLE",			S, xnewhandle		}, /* 317 */
-
-{	"NEWPTR",			S, xnewptr		}, /* 318 */
-
-{	"HIWORD",			S, xhiword		}, /* 319 */
-
-{	"LOWORD",			S, xloword		}, /* 320 */
-
-{	"READ-CHAR-NO-HANG",		S, xrdnohang		}, /* 321 */
-
-
-
-/* not implemented - take a look at code in directory "sys:mac:old" */
-
-/*{	"COMMAND-POINT-SIZE",		S, xptsize		},  322 */
-
-
-
diff --git a/lib-src/libnyquist/mac/macstuff.c b/lib-src/libnyquist/mac/macstuff.c
deleted file mode 100644
index a79ad58..0000000
--- a/lib-src/libnyquist/mac/macstuff.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* macstuff.c - macintosh interface routines for xlisp */
-/* Written by Brian Kendig. */
-/* This file contains the stuff that the other xlisp files call directly. */
-
-#include "cext.h"
-#include <stdio.h>
-#include <stdarg.h>
-#include <QuickDraw.h>	/* for Random */
-#include <Memory.h>		/* for DisposePtr */
-#include <SegLoad.h>	/* for ExitToShell */
-#include "xlisp.h"
-#include <string.h>
-#include "macint.h"
-#define DELETE 0x08
-
-/* externals */
-extern FILE *tfp;  /* transcript file pointer */
-extern int cursorPos;
-extern char *macgets (void);
-
-#define GPRINTF_MESSAGE_LEN 500
-
-/* nyquist_printf -- system independent version of printf */
-/*
- * this function prints to console like printf, but using GUI
- * rather than stdio when appropriate.
- *
- */
-void nyquist_printf(char *format, ...)
-{
-    char temp[GPRINTF_MESSAGE_LEN];
-    va_list pvar;
-    char *p = temp;
-    va_start(pvar, format);
-    vsnprintf(temp, GPRINTF_MESSAGE_LEN, format, pvar);
-    va_end(pvar);
-    while (*p) ostputc(*p++);
-}
-
-
-
-/* this should really be in a header for MacFileUtils.c */
-void GetFullPath(FSSpec *theSpec, StringPtr theName);
-
-
-
-
-
-/* this is called when we load a file -- if need_preference_file, 
- * we will build a preference file and insert the path of the file
- * we just opened, assuming it will tell us where to find init.lsp
- */
-void setup_preferences(char *filename)
-{
-}
diff --git a/lib-src/libnyquist/mac/macstuff.h b/lib-src/libnyquist/mac/macstuff.h
deleted file mode 100644
index d3a8c15..0000000
--- a/lib-src/libnyquist/mac/macstuff.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* macstuff.h -- header for mac-specific functions */
-
-void osfinish(void);
-/* put searchpath into p, prefs_found tells if preference file exists */
-
-/*void get_xlisp_path(char *p, long p_max, int *prefs_found);
-
-void setup_preferences(char *filename);
-*/
diff --git a/lib-src/libnyquist/mac/moremac.c b/lib-src/libnyquist/mac/moremac.c
deleted file mode 100644
index e69de29..0000000
diff --git a/lib-src/libnyquist/mac/sndsystem.h b/lib-src/libnyquist/mac/sndsystem.h
deleted file mode 100644
index f34ea83..0000000
--- a/lib-src/libnyquist/mac/sndsystem.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "sndmac.h"
-
diff --git a/lib-src/libnyquist/mac/switches.h b/lib-src/libnyquist/mac/switches.h
deleted file mode 100644
index 0cbf226..0000000
--- a/lib-src/libnyquist/mac/switches.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* switches.h for Macintosh (primarily Mac OS X) */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  major reorganization of conditional compilation in Nyquist
- */
-
-
-#define HAS_STDLIB_H 1
-#undef HAS_SYS_TYPES_H
-#undef HAS_SYS_STAT_H
-#define HAS_STAT_H 1
-#undef HAS_MALLOC_H
-
-#define HAS_GETTIMEOFDAY 1
-
-#undef READLINE
-
-#define XL_BIG_ENDIAN 1
-#undef XL_LITTLE_ENDIAN
-
-#define USE_RAND 1
-#undef USE_RANDOM
-
-/* define this to be printf, or define your own fn of the form
-     void nyquist_printf(char *format, ...);
-   (for a GUI)
-*/
-void nyquist_printf(char *format, ...);
-
-#define NEED_ULONG 1
-#define NEED_USHORT 1
-#define NEED_BYTE 1
-
-#define NEED_ROUND 1
-
-#undef NEED_DEFINE_MALLOC
-
-/* explicitly choose a platform */
-#undef UNIX
-#undef WINDOWS
-#undef MICROSOFT
-#undef DOS
-#define MACINTOSH 1
-
-#define BUFFERED_SYNCHRONOUS_INPUT 1
-#define SPACE_FOR_PLAY 10000
-#define MAX_CHANNELS 16
-
-/* this will enable code to read midi files, etc. */
-#define CMTSTUFF 1
-
-/* NYQUIST tells some CMT code that we're really in
- * XLISP and NYQUIST
- */
-#define NYQUIST 1
-
-#include "swlogic.h"
-
-#include "Types.h"
-
diff --git a/lib-src/libnyquist/mac/xlextstart.c b/lib-src/libnyquist/mac/xlextstart.c
deleted file mode 100644
index be321fe..0000000
--- a/lib-src/libnyquist/mac/xlextstart.c
+++ /dev/null
@@ -1 +0,0 @@
-/* nothing to do */
diff --git a/lib-src/libnyquist/misc/Makefile.in b/lib-src/libnyquist/misc/Makefile.in
deleted file mode 100644
index 8a84268..0000000
--- a/lib-src/libnyquist/misc/Makefile.in
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# FILE: Makefile
-#   BY: Christopher Lee Fraley
-#   and Roger B. Dannenberg.
-# DESC: This file builds various utilities for Nyquist
-#
-
-CC = @CC@ @CFLAGS@
-
-# the unix path gets us switches.h:
-# the cmt path gets us swlogic.h:
-CFLAGS += -I../sys -I../cmt
-
-# Directory info:
-BINPATH = .
-
-# Intgen stuff:
-intgen: cmdline.o intgen.o
-	$(CC) cmdline.o intgen.o -o $(BINPATH)/intgen
-
-cmdline.o: cext.h cmdline.h
-intgen.o: cext.h cmdline.h
-
-#sampleprint - dumb but useful
-sampleprint: sampleprint.o
-	$(CC) sampleprint.o -o $(BINPATH)/sampleprint
-
-sampleprint.o: sampleprint.c
-
-#sine
-sne: sne.o
-	$(CC) sne.o -o $(BINPATH)/sne
-
-sne.o: sne.c
-
-#play
-play: play.o
-	$(CC) play.o -o $(BINPATH)/play
-
-play.o: play.c
-
-#plot
-plot: plot.o
-	$(CC) plot.o -o $(BINPATH)/plot
-
-plot.o: plot.c
-
-#unpacker
-unpacker_o = unpacker.o convert.o
-
-unpacker: $(unpacker_o)
-	$(CC) $(unpacker_o) -o unpacker
-
-#packer
-packer_o = packer.o convert.o
-
-packer: $(packer_o)
-	$(CC) $(packer_o) -o packer
-
-clean:
-	rm -f *.o
-
-cleaner: clean
-	rm -f intgen play sine plot packer unpacker
-	rm -f *.BAK
-	rm -f *~
-
diff --git a/lib-src/libnyquist/misc/args.h b/lib-src/libnyquist/misc/args.h
deleted file mode 100644
index dc51ef2..0000000
--- a/lib-src/libnyquist/misc/args.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Argument processing macros
- * I got tired of rethinking this everytime,
- * and 4xbsd doesn't have getopt()
- *
- * The following is an example of the use of this stuff
- *
-
-#include "args.h"
-#include <stdio.h>
-
-main(argc, argv)
-char **argv;
-{
-    char *a = "a", *b = "b", *c = "c";
-    int x = 0, y = 0, z = 0;
-    ARGLOOP
-        STRINGARG(a)	a = p;		ENDSTRINGARG
-        STRINGARG(b)	b = p;		ENDSTRINGARG
-        STRINGARG(c)	c = p;		ENDSTRINGARG
-        FLAGARG(x)	x++;		ENDFLAGARG
-        FLAGARG(y)	y++;		ENDFLAGARG
-        FLAGARG(z)	z++;		ENDFLAGARG
-
-        BADARG
-            fprintf(stderr, "unknown option %c\n", *p);
-            fprintf(stderr, "Usage: usage\n");
-            exit(1);
-        ENDBADARG
-    ENDARGLOOP
-
-    Here, the remaining args are argv[0] to argv[argc - 1] 
-
-    printf("a=%s b=%s c=%s x=%d y=%d z=%d\nargs:", a, b, c, x, y, z);
-    { int i; for(i = 0; i < argc; i++)
-        printf(" %s", argv[i]);
-    }
-    printf("\n");
-}
-
- *
- */
-
-
-#define	ARGLOOP						\
-    while(--argc > 0 && **++argv == '-') {		\
-        register char *p;				\
-        for(p = *argv + 1; *p != '\0'; p++) {	\
-        switch(*p) {				\
-
-#define ENDARGLOOP					\
-        }					\
-        }						\
-nextarg:;						\
-    }						\
-
-#define FLAGARG(c)	case c:
-#define ENDFLAGARG	break;
-
-#define STRINGARG(c)	case c: if(!*++p) p = *++argv, argc--;
-#define ENDSTRINGARG	goto nextarg;
-
-#define	BADARG		default:
-#define ENDBADARG	break;
-
diff --git a/lib-src/libnyquist/misc/cext.h b/lib-src/libnyquist/misc/cext.h
deleted file mode 100644
index 1d03def..0000000
--- a/lib-src/libnyquist/misc/cext.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* cext.h -- extensions to c */
-
-#define true 1
-#define false 0
-#define private static
-#define boolean int
-#define byte unsigned char
diff --git a/lib-src/libnyquist/misc/cmdline.c b/lib-src/libnyquist/misc/cmdline.c
deleted file mode 100644
index 5302353..0000000
--- a/lib-src/libnyquist/misc/cmdline.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/* cmdline.c -- command line parsing routines */
-/*
- * This module is designed to allow various modules to scan (and rescan)
- * the command line for applicable arguments.  The goal is to hide as
- * much information about switches and their names as possible so that
- * switches become more consistent across applications and so that the
- * author of an application need not do a lot of work to provide numerous
- * options.  Instead, each module scans the command line for its own
- * arguments.
- *
- * Command lines are of the following form:
- *	command -s1 -s2 opt2 -s3 arg1 arg2 -s4 opt4 arg3
- *      command @filename
- * The @filename form reads commands of the first form from filename
- * Note that there are three kinds of command line parameters:
- * (1) A Switch is a "-" followed by a name, e.g. "-s1"
- * (2) An Option is a Switch followed by a space and name, e.g. "-s2 opt2"
- * (3) An Argument is a name by itself, e.g. "arg1"
- * Note also that a switch followed by an argument looks just like an
- * option, so a list of valid option names is necessary to disambiguate.
- *
- * A main program that uses cmdline.c should do the following:
- *	(1) create an array of pointers to strings (char *names[]) that
- *		contains every possible option name
- *	(2) create another array of pointers to strings that contains
- *		every possible switch name
- *	(2) call cl_init(switches, nsw, options, nopt, argv, argc)
- * cl_init will report an error (to stderr) if it finds any illegal
- * switch or option names.
- *
- * Afterward, switches, options, and arguments can be accessed by
- * calling cl_switch, cl_option, and cl_arg.  If cl_switch or cl_option
- * is called with a switch name that was not mentioned in the call to 
- * cl_init, an error will result.  This indicates that the application
- * author omitted a valid switch or option name when calling cl_init.
- * This is an error because the full set of names is needed for error
- * checking and to distinguish arguments from options.
- *
- * cl_nswitch and cl_noption are similar to cl_switch and cl_option,
- * except they each take a list of equivalent switch or option names.  
- * This makes it simple to allow both verbose (-debug) and terse (-d) names.
- */
-
-/*****************************************************************************
-*	    Change Log
-*  Date	    | Change
-*-----------+-----------------------------------------------------------------
-* 13-Jun-86 | Created Change Log
-*  6-Aug-86 | Modified for Lattice 3.0 -- use "void" to type some routines
-* 27-Dec-93 | "@file" as first arg reads command line args from file
-*****************************************************************************/
-
-#include "stdlib.h"
-#include "cext.h"
-#include "stdio.h"
-#include "ctype.h"
-#include "cmdline.h"
-#include "string.h"
-
-private char **voptions;	/* valid options */
-private int noptions;		/* number of options */
-private char **vswitches;	/* valid switches */
-private int nswitches;		/* number of switches */
-private char **argv;		/* command line argument vector */
-private int argc;		/* length of argv */
-
-private int cl_rdy = false;	/* set to true when initialized */
-
-/*****************************************************************************
-*	Routines local to this module
-*****************************************************************************/
-private	void	check_names();
-private int	find_match();
-private int	find_string();
-private	void	ready_check();
-void indirect_command(char *filename, char ***argvp, int *argcp, char *oldarg0);
-
-
-/****************************************************************
-*			check_names
-* Inputs:
-*	char *names[]:	array of alternative switch or option names
-*	int nnames:	number of alternative switch or option names
-*	char *valid[]:	array of valid names
-*	int nvalid:	number of valid names
-* Effect:
-*	Checks that all names are in validnames.  If not, print
-*	an error message.
-*****************************************************************/
-
-private void check_names(names, nnames, valid, nvalid)
-    char *names[];
-    int nnames;
-    char *valid[];
-    int nvalid;
-{
-    int i;	/* loop counters */
-    for (i = 0; i < nnames; i++) {
-        if (find_string(names[i], valid, nvalid) >= nvalid) {
-            fprintf(stderr, "internal error detected by cmdline module:\n");
-            fprintf(stderr, "\t'%s' should be in valid lists\n", names[i]);
-        }
-    }
-}
-
-/****************************************************************
-*			cl_arg
-* Inputs:
-*	n: the index of the arg needed
-* Results:
-*	pointer to the nth arg, or NULL if none exists
-*	arg 0 is the command name
-*****************************************************************/
-
-char *cl_arg(n)
-    int n;
-{
-    int i = 1;
-    if (n <= 0) return argv[0];
-    while (i < argc) {
-        if (*argv[i] == '-') {
-            if (find_string(argv[i], voptions, noptions) < noptions)
-                i += 2; /* skip name and option */
-            else i += 1; /* skip over switch name */
-        } else if (n == 1) {
-            return argv[i];
-        } else { /* skip over argument */
-            n--;
-            i++;
-        }
-    }
-    return NULL;
-}
-
-/*****************************************************************************
-*			cl_init
-* Inputs:
-*	char *switches[]:	array of switch names
-*	int nsw:		number of switch names
-*	char *options[]:	array of option names
-*	int nopt:		number of option names
-*	char *av:		array of command line fields (argv)
-*	int ac:			number of command line fields (argc)
-* Effect:
-*	Checks that all command line entries are valid.
-*	Saves info for use by other routines.
-* Returns:
-*	True if syntax checks OK, otherwise false
-*****************************************************************************/
-
-boolean cl_init(switches, nsw, options, nopt, av, ac)
-    char *switches[];
-    int nsw;
-    char *options[];
-    int nopt;
-    char *av[];
-    int ac;
-{
-    int i;	/* index into argv */
-    boolean result = true;
-
-    vswitches = switches;	nswitches = nsw;
-    voptions = options;		noptions = nopt;
-    argv = av;			argc = ac;
-    
-    if (ac == 2 && *(av[1]) == '@') {
-            /* read new args from file */
-            indirect_command(av[1] + 1, &argv, &argc, av[0]);
-    }
-
-    for (i = 1; i < argc; i++) {  /* case fold lower */
-        size_t j;
-        for (j = 0; j < strlen(argv[i]); j++)
-            if (isupper(argv[i][j])) 
-                argv[i][j] = tolower(argv[i][j]);
-    }
-
-    /* check command line syntax: */
-    i = 1;
-    while (i < argc) {
-        if (*argv[i] == '-') {
-            if (find_string(argv[i], voptions, noptions) < noptions) {
-                i += 1; /* skip name and option */
-                if (i < argc && *argv[i] == '-') {
-                    fprintf(stderr, "missing argument after %s\n", argv[i-1]);
-                    result = false;
-                    i += 1;
-                }
-            } else if (find_string(argv[i], vswitches, nswitches) < 
-                       nswitches) {
-                i += 1; /* skip over switch name */
-            } else {
-                fprintf(stderr, "invalid switch: %s\n", argv[i]);
-                i += 1;
-                result = false;
-            }
-        } else i++; /* skip over argument */
-    }
-    cl_rdy = true;
-    return result;
-}
-
-/****************************************************************
-*			cl_noption
-* Inputs:
-*	char *names[]:	array of alternative switch names
-*	int nnames:	number of alternative switch names
-* Result:
-*	returns pointer to  if one exists, otherwise null
-* Effect:
-*	looks for pattern in command line of the form "-n s",
-*	where n is a member of names.  Returns pointer to s.
-* Implementation:
-*	find the option name, then
-*	see if the switch is followed by a string that does
-*	not start with "-"
-*****************************************************************/
-
-char *cl_noption(names, nnames)
-    char *names[];
-    int nnames;
-{
-    int i;	/* index of switch */
-
-    ready_check();
-    check_names(names, nnames, voptions, noptions);
-    i = find_match(names, nnames) + 1; /* point at the option */
-    if (i < argc) { /* make sure option exists */
-        if (*(argv[i]) != '-') return argv[i];
-    }
-    return NULL;
-}
-
-/*****************************************************************
-*			cl_nswitch
-* Inputs:
-*	char *names[]:	array of alternative switch names
-*	int nnames:	number of alternative switch names
-* Effect:
-*	Checks that names is valid.
-*	Finds a pattern in command line of the form "-n", where
-*	n is a member of names.
-* Result:
-*	returns pointer to command line switch if one exists,
-*	otherwise null
-*****************************************************************/
-
-char *cl_nswitch(names, nnames)
-    char *names[];
-    int nnames;
-{
-    int i;	/* index of switch */
-
-    ready_check();
-    check_names(names, nnames, vswitches, nswitches);
-    i = find_match(names, nnames);
-    if (i < argc) return argv[i];
-    /* else */ return NULL;
-}
-
-/****************************************************************
-*			cl_option
-* Inputs:
-*	char *name:	option name
-* Outputs:
-*	returns char *: the option string if found, otherwise null
-****************************************************************/
-
-char *cl_option(name)
-    char *name;
-{
-    char *names[1];	/* array to hold name */
-
-    names[0] = name;
-    return cl_noption(names, 1);
-}
-
-/****************************************************************
-*			cl_switch
-* Inputs:
-*	char *name:	switch name
-* Outputs:
-*	boolean:	true if switch found
-****************************************************************/
-
-boolean cl_switch(name)
-    char *name;
-{
-    char *names[1];	/* array to hold name */
-
-    names[0] = name;
-    return cl_nswitch(names, 1) != NULL;
-}
-
-/****************************************************************
-*			find_match
-* Inputs:
-*	char *names[]:	array of alternative switch or option names
-*	int nnames:	number of alternative switch or option names
-* Effect:
-*	Looks for command line switch that matches one of names.
-* Returns:
-*	Index of switch if found, argc if not found.
-*****************************************************************/
-
-private int find_match(names, nnames)
-    char *names[];
-    int nnames;
-{
-    int j;	/* loop counter */
-    for (j = 0; j < argc; j++) {
-        if (find_string(argv[j], names, nnames) < nnames) return j;
-    }
-    return argc;
-}
-
-/****************************************************************
-*			find_string
-* Inputs:
-*	char *s:	string to find
-*	char *names[]:	array of strings
-*	int nnames:	number of strings
-* Effect:
-*	Looks for s in names
-* Returns:
-*	Index of s in names if found, nnames if not found
-*****************************************************************/
-
-private int find_string(s, names, nnames)
-    char *s;
-    char *names[];
-    int nnames;
-{
-    int i; /* loop counter */
-    for (i = 0; i < nnames; i++) {
-        if (strcmp(s, names[i]) == 0) {
-            return i;
-        }
-    }
-    return nnames;
-}
-
-boolean is_whitespace(int c)
-{
-    return c == ' ' || c == '\t' || c == '\n' || c == '\r';
-}
-
-boolean get_arg(file, arg)
-  FILE *file;
-  char *arg;
-{
-    int c;
-    while ((c = getc(file)) != EOF && is_whitespace(c)) ;
-    if (c == EOF) return false;
-    ungetc(c, file);
-    while ((c = getc(file)) != EOF && !is_whitespace(c)) {
-            *arg++ = c;
-    }
-    *arg = 0;
-    return true;
-}
-
-
-void indirect_command(filename, argvp, argcp, oldarg0)
-        char *filename;
-    char ***argvp;
-    int *argcp;
-    char *oldarg0;
-{
-    FILE *argfile = fopen(filename, "r");
-    if (!argfile) {
-            *argvp = (char **) malloc(sizeof(char *));
-        (*argvp)[0] = oldarg0;
-        *argcp = 1;
-    } else {
-            int i = 1;
-        char arg[100];
-        while (get_arg(argfile, arg)) i++;
-        fclose(argfile);
-        argfile = fopen(filename, "r");
-        *argvp = (char **) malloc(sizeof(char *) * i);
-        (*argvp)[0] = oldarg0;
-        *argcp = i;
-        i = 1;
-        while (get_arg(argfile, arg)) {
-            (*argvp)[i] = (char *) malloc(strlen(arg) + 1);
-            strcpy((*argvp)[i], arg);
-            i++;
-        }
-    }
-}
-
-
-/****************************************************************
-*			ready_check
-* Effect:
-*	Halt program if cl_rdy is not true.
-*****************************************************************/
-private void ready_check()
-{
-    if (!cl_rdy) {
-        fprintf(stderr,
-            "Internal error: cl_init was not called, see cmdline.c\n");
-        exit(1);
-    }
-}
diff --git a/lib-src/libnyquist/misc/cmdline.h b/lib-src/libnyquist/misc/cmdline.h
deleted file mode 100644
index fe72b28..0000000
--- a/lib-src/libnyquist/misc/cmdline.h
+++ /dev/null
@@ -1,6 +0,0 @@
-boolean cl_init();
-char *cl_option();
-char *cl_noption();
-boolean cl_switch();
-char *cl_nswitch();
-char *cl_arg();
diff --git a/lib-src/libnyquist/misc/convert.c b/lib-src/libnyquist/misc/convert.c
deleted file mode 100644
index a242acd..0000000
--- a/lib-src/libnyquist/misc/convert.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* convert.c -- convert between file name notations */
-
-
-#include "switches.h"
-#include "stdio.h"
-#include "string.h"
-#include "convert.h"
-
-char dir_separator = 
-#ifdef MACINTOSH
-':';
-#endif
-#ifdef DOS
-'\\';
-#endif
-#ifdef UNIX
-'/';
-#endif
-#ifdef AMIGA
-'/';
-#endif
-/* Note: syntax error if not one and only one is defined (this is a feature) */
-
-
-int pauseflag;
-
-
-/* convert -- convert filename to local naming conventions */
-/**/
-void convert(char *filename)
-{
-        int i;
-        /* first test for problem characters */
-        for (i = strlen(filename); i >= 0; i--) {
-                if (filename[i] == ':' || filename[i] == '\\') {
-                        fprintf(stderr, "WARNING: %s has one of \":\\\" and may not port.\n",
-                                                                                    filename);
-                        fprintf(stderr, "         '/' should be used as directory separator.\n");
-                        if (PAUSE) getchar();
-                }
-        }
-#ifdef MACINTOSH
-        /* prepend a ":" */
-        for (i = strlen(filename); i >= 0; i--) {
-                filename[i + 1] = filename[i];
-        }
-        filename[0] = ':';
-#endif
-#ifndef UNIX
-#ifndef AMIGA
-    /* replace '/' with local separator */
-    for (i = strlen(filename); i >= 0; i--) {
-            if (filename[i] == '/') filename[i] = dir_separator;
-    }
-#endif
-#endif
-}
-
-
diff --git a/lib-src/libnyquist/misc/convert.h b/lib-src/libnyquist/misc/convert.h
deleted file mode 100644
index 3c74cdc..0000000
--- a/lib-src/libnyquist/misc/convert.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* convert.h -- convert from packer internal filenames to local OS */
-
-void convert(char *filename);
-
-extern int pauseflag;
-#define PAUSE pauseflag
-
diff --git a/lib-src/libnyquist/misc/filelist.c b/lib-src/libnyquist/misc/filelist.c
deleted file mode 100644
index 677fbe4..0000000
--- a/lib-src/libnyquist/misc/filelist.c
+++ /dev/null
@@ -1,222 +0,0 @@
-/* filelist.c -- program to convert a DOS DIR listing into an input
- * file for the packer program
- *
- * To use the program, first run DIR *.* /s > ..\xxx
- * Then run filelist.exe ..\xxx files
- * to create "files"
- * Then you can run packer.exe files myproject.pac
- * to create the pac file.
- */
-
-/* usage: filelist <dir filename> <packer filename> */
-
-#include "stdio.h"
-#include "stdlib.h"
-#include "string.h"
-#include "cext.h"
-#include "cmdline.h"
-
-#define EOS '\0'
-
-FILE *inf;
-FILE *out;
-
-#ifdef MAYBE_THIS_IS_FOR_WIN95_DIRECTORY_LISTINGS
-/* findfilename -- look for pattern "*-*-*:* " in string */
-/**/
-int findfilename(char *line, char *rslt)
-{
-    char *ptr;
-    if (ptr = strchr(line, '-')) {
-        if (ptr = strchr(ptr, '-')) {
-            if (ptr = strchr(ptr, ':')) {
-                if (ptr = strchr(ptr, ' ')) {
-                    strcpy(rslt, ptr + 1);
-                    if (strcmp(rslt, ".") == 0 ||
-                        strcmp(rslt, "..") == 0 ||
-                        strstr(line, "<DIR>")) return 0;
-                    return 1;
-                }
-            }
-        }
-    }
-    return 0;
-}
-#endif
-
-/* findfilename -- look for pattern "*<slash>*<slash>*:* " in string */
-/*
- * NOTE: the <slash> is "/", part of the file date; ":" is in the file time
- *   lines without these characters are not lines that contain filenames
- */
-int findfilename(char *line, char *rslt)
-{
-    char *ptr;
-    if (ptr = strchr(line, '/')) {
-        if (ptr = strchr(ptr + 1, '/')) {
-            if (ptr = strchr(ptr + 1, ':')) {
-                if (ptr = strrchr(line, ' ')) {
-                    // now ptr points to space before filename
-                    strcpy(rslt, ptr + 1);
-                    // make sure this is not directory
-                    if (strstr(line, "<DIR>")) return 0;
-                    return 1;
-                }
-            }
-        }
-    }
-    return 0;
-}
-
-
-int directory_filter(char *directory)
-{
-    int skip = false;;
-    if (strstr(directory, "WinDebug") != NULL) skip = true;
-    if (strstr(directory, "trash") != NULL) skip = true;
-    return skip;
-}
-
-/* fixup -- convert \ to / */
-/**/
-void fixup(char *s)
-{
-    while (*s) {
-        if (*s == '\\') *s = '/';
-        s++;
-    }
-}
-
-
-/* giveup -- quit the program */
-/**/
-void giveup()
-{
-    printf("Type return.");
-    exit(1);
-}
-
-
-/* 
-/* main -- */
-/**/
-int main(int argc, char **argv)
-{
-#define stringmax 128
-    char in_file[stringmax];
-    char out_file[stringmax];
-    char inline[stringmax];
-    char basedir[stringmax];
-    char filename[stringmax];
-    char directory[stringmax];
-    char wholename[stringmax];
-    char *s;
-    int skip_directory = false;
-
-    basedir[0] = 0;	/* empty string */
-
-    cl_init(NULL, 0, NULL, 0, argv, argc);
-    if ((s = cl_arg(1)) != NULL) {
-        strcpy(in_file, s);
-        inf = fopen(in_file, "r");
-        if (inf == NULL) {
-            fprintf(stdout, "Error: couldn't open %s\n", in_file);
-            exit(1);
-        }
-    } 
-    if ((s = cl_arg(2)) != NULL) {
-        strcpy(out_file, s);
-        out = fopen(out_file, "w");
-        if (out == NULL) {
-            fprintf(stdout, "Error: couldn't open %s\n", out_file);
-            exit(1);
-        }
-    } else {
-        fprintf(stdout, "Error: no output file specified\n");
-        exit(1);
-    }
-
-    printf("writing %s ...\n", out_file);
-    
-    /* read a line at a time.
-     *   if the line has "Directory of", then
-     *        if you don't have base directory, grab it
-     *        otherwise search for base directory and grab remainder
-     *   if the line matches "*-*-*:* "	then 
-     *        grab remainder as filename
-     *        prepend directory and type ("a") and output
-     */
-    while (fgets(inline, stringmax, inf)) {
-        inline[strlen(inline) - 1] = EOS;   /* remove newline at end */
-        if (inline[0] == EOS) continue;     /* skip blank lines */
-        /* search for Directory */
-        s = strstr(inline, "Directory of ");
-        if (s) {
-            s += strlen("Directory of ");
-            if (!basedir[0]) {
-                strcpy(basedir, s);
-                strcat(basedir, "\\");	/* append a slash to complete directory name */
-                strcpy(directory, "");
-            } else {
-                s = strstr(s, basedir);
-                if (!s) {
-                    printf("Expected %s at beginning of directory.\n");
-                    printf("Input line: %s\n");
-                    giveup();
-                } else {
-                    strcpy(directory, s + strlen(basedir));
-                    fixup(directory);
-                    strcat(directory, "/");
-                }
-            skip_directory = directory_filter(directory);
-            }
-        } else if (!skip_directory && findfilename(inline, filename)) {
-            char type_of_file = 'a';
-            sprintf(wholename, "%s%s", directory, filename);
-            /* strlwr(wholename); */
-            s = strchr(wholename, '.');
-            if (s) s++;
-            else s = "";
-            if (strcmp(s, "nh") == 0 ||
-                strcmp(s, "rsrc") == 0 ||
-                strcmp(s, "dsp") == 0 ||
-                strcmp(s, "dsw") == 0 ||
-                strcmp(s, "cod") == 0 ||
-                strcmp(s, "tab") == 0 ||
-                strcmp(s, "pcm") == 0 ||
-                strcmp(s, "mp3") == 0 ||
-                strcmp(s, "mid") == 0 ||
-                strcmp(s, "aiff") == 0 ||
-                false)
-                type_of_file = 'b';
-            if (strcmp(s, "pac") == 0 ||
-                strcmp(s, "ncb") == 0 ||
-                strcmp(s, "opt") == 0 ||
-                strcmp(s, "plg") == 0 ||
-                strcmp(s, "tar") == 0 ||
-                strcmp(s, "obj") == 0 ||
-                strcmp(s, "vcp") == 0 ||
-                strcmp(s, "exe") == 0 ||
-                strcmp(s, "vcp") == 0 ||
-                strcmp(s, "pdb") == 0 ||
-                strcmp(s, "sbr") == 0 ||
-                strcmp(s, "ilk") == 0 ||
-                strcmp(s, "bsc") == 0 ||
-                /* this last one says "only .lsp files in runtime directory 
-                (strcmp(directory, "runtime/") == 0 && strcmp(s, "lsp") != 0) || */
-                strstr(directory, "CVS/") ||
-                false
-               ) {
-                /* do nothing */
-            } else {
-                fprintf(out, "%c %s\n", type_of_file, wholename);
-            }
-        }
-    }
-    
-    fclose(inf);
-    fclose(out);
-    return 0;
-}
-
-                    
diff --git a/lib-src/libnyquist/misc/filelist.dsp b/lib-src/libnyquist/misc/filelist.dsp
deleted file mode 100644
index 4cf7a50..0000000
--- a/lib-src/libnyquist/misc/filelist.dsp
+++ /dev/null
@@ -1,104 +0,0 @@
-# Microsoft Developer Studio Project File - Name="filelist" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=filelist - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "filelist.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "filelist.mak" CFG="filelist - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "filelist - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "filelist - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "filelist - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "filelist_Release"
-# PROP Intermediate_Dir "filelist_Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "filelist - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "filelist_Debug"
-# PROP Intermediate_Dir "filelist_Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../cmt" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "filelist - Win32 Release"
-# Name "filelist - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\cmdline.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filelist.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/lib-src/libnyquist/misc/intgen.c b/lib-src/libnyquist/misc/intgen.c
deleted file mode 100644
index fb9f678..0000000
--- a/lib-src/libnyquist/misc/intgen.c
+++ /dev/null
@@ -1,909 +0,0 @@
-/* intgen.c -- an interface generator for xlisp */
-
-/* (c) Copyright Carnegie Mellon University 1991
- * For a statement of limited permission to use, see Permission.doc
- *
- * HISTORY
- *
- *  5-Jul-95	Roger Dannenberg
- *	strip directory prefixes from files before writing include statements
- * 24-Oct-88	Roger Dannenberg at CMU
- *	Changed so that if C routine returns void and has result parameters,
- *	then result parameters are returned by the lisp subr as well as
- *	assigned to *RSLT*.
- *
- * 13-Apr-88	Roger Dannenberg at CMU
- *	Modified for xlisp version 2.0
- *
- * 22-Dec-87    Roger Dannenberg at NeXT
- *	Added FILE type.
- *
- * 21-May-87	Dale Amon at CMU CSD
- *	Included use of NODE *s_true under SCORE_EDITOR conditional. Standard
- *	xlisp code use NODE *true instead.
- *
- * 13-May-87	Dale Amon at CMU CSD
- *	Added conditional compilation switch SCORE_EDITOR so that this
- *	program will work with both standard XLISP sources and with Roger's
- *	(ahem) modified version. Also put in error checking for case where
- *	user does not specifiy an output file so program will exit instead
- *	of coredump.
- */
-
-
-/* Summary and Design: (NOTE THAT AN INTGEN MANUAL IS AVAILABLE)
- *    The first command line argument gives the name of
- * the .c file to generate.  All following arguments are
- * .h files to read and use as interface specifications.
- *
- *    The main program opens the output file, calls
- * write_prelude, and then process_file for each input
- * file.  Then call write_postlude and close the file.
- *
- *    process_file opens an input file and reads each line
- * into current_line.
- *    if the first characters of the file are "ih", then
- * the rest of the file is processed as normal, except the
- * .h extension of the file is replaced by .ih before the
- * filename is written into an include statement in the 
- * output file.  This is done to handle ".ih" files generated
- * by the Andrew Toolkit Class processor.
- *    In any case, the first line of EVERY .h file is discarded.
- * If #define is found, save the following identifier as
- *    macro_name.
- * If "LISP:" is found, then see if it is preceded by one
- * or two identifiers and an open paren.
- *    If yes, call routine_call,
- *    else call macro_call.
- *
- *    routine_call gets the first one or two identifiers off the
- * line into type_name and routine_name.  If there is just one id,
- * assign it to routine_name and make type_name = "void". 
- * If the routine_name starts with *, remove the * from 
- * routine_name and append "*" to type_name.
- * Call write_interface with type_name, routine_name, and location
- * of parameter type description after "LISP:".
- *
- *    macro_call gets a type_name from the input line after
- * "LISP:".
- * Then call write_interface with type_name, macro_name, and
- * location of parameter type description.
- *
- *    lisp function names are saved in a table, and an
- * initialization routine is written to install the new
- * SUBRs into the xlisp symbol table, as well as to lookup
- * RSLT_sym, the atom on which results are placed
- *
- *
- */
-
-/* Turn on special handling for Roger's Score Editor if the following #define
- *    is uncommented:
- */
-/* #define SCORE_EDITOR */
-
-/* Turn on special handling for Chris's Sound Editor if the following #define
- *    is uncommented:
- */
-/* #define SOUND_EDITOR */
-
-/* Turn on special handling for Nyquist if the following #define
- *    is uncommented:
- */
-#define NYQUIST
-
-/* atom 't is named s_true if this is defined, o.w. named true: */
-#define S_TRUE 1
-
-/* Turn on special handling for CMU MIDI Toolkit seq_type:
- */
-#define SEQ_TYPE
-
-#define errfile stdout
-
-#define ident_max 100
-#define line_max 200
-#define subr_max 500
-
-/* prefix for include files not to be included in interface module */
-#define no_include_prefix '~'
-
-#define false 0
-#define true 1
-
-#include "switches.h"
-#include "stdlib.h"
-#include "cext.h"
-#include <string.h>
-#ifndef boolean
-typedef int boolean;
-#endif
-#include "stdio.h"
-#include "ctype.h"
-#include "cmdline.h"
-#ifdef MACINTOSH
-#include "console.h"
-#endif
-
-#ifdef MACINTOSH
-#define FILESEP ':'
-#else
-#ifdef WINDOWS
-#define FILESEP '\\'
-#else
-#define FILESEP '/'
-#endif
-#endif
-
-static char *sindex();
-
-#define whitep(c) ((c) == ' ' || (c) == '\t')
-#define symbolp(c) (isalpha(c) || (c) == '*' || (c) == '_' || (c) == '-' ||\
-                    (c) == ':' || isdigit(c) || (c) == '^' || (c) == '*')
-
-/* c and Lisp parameters are encoded in the same table.
- * Field type_id is the string name of the type.
- * For c types (return types of C routines), code is 'C',
- *   convert gives the routine for making a lisp node from
- *   the c datum.
- *   listtype_or_special is "v" for types that should be
- *   returned as LISP NIL (e.g. "void"), "s" for types
- *   that when NULL should be returned as NIL, "r"
- *   for normal types, and "" to raise an error.
- *   ctype is not used and should be NULL.
- * For Lisp types (from parameter specs), code is 'L'.
- *   convert gives the routine that extracts a C value
- *   from a lisp node whose type is given by the field
- *   getarg_or_special.
- *   c_type is the type of the local C variable which is
- *   passed as a parameter to the C routine.
- *   initializer is the initial value for result only parameters
- *
- * End of table is marked by a NULL type_id.
- *
- * Location 0 is reserved to indicate errors.
- * Location 1 MUST BE type ANY
- *
- */
-
-#define any_index 1
-struct {
-    char *type_id;
-    char code;
-    char *convert;
-    char *getarg_or_special;
-    char *ctype;
-    char *makenode;
-    char *initializer;
-} type_table[] = {
-        {" ", ' ', NULL, NULL, NULL, NULL, NULL},
-        {"ANY", 'L', "", "", "LVAL", "", "NIL"},
-        {"ATOM", 'L', "", "xlgasymbol", "LVAL", "", "NIL"},
-        {"FILE", 'L', "getfile", "xlgastream", "FILE *", "cvfile", "NULL"},
-        {"FIXNUM", 'L', "getfixnum", "xlgafixnum", "long", "cvfixnum", "0"},
-        {"FIXNUM", 'L', "getfixnum", "xlgafixnum", "int", "cvfixnum", "0"},
-        {"FLOAT", 'L', "getflonum", "xlgaflonum", "float", "cvflonum", "0.0"},
-        {"FLONUM", 'L', "getflonum", "xlgaflonum", "double", "cvflonum", "0.0"},
-        {"ANYNUM", 'L', "testarg2", "xlgaanynum", "double", "cvflonum", "0.0"},
-        {"STRING", 'L', "getstring", "xlgastring", "unsigned char *", "cvstring", "NULL"},
-        {"BOOLEAN", 'L', "getboolean", "xlgetarg", "int", "cvboolean", "0"},
-        {"atom_type", 'C', "", "r", NULL, NULL, NULL},
-        {"LVAL", 'C', "", "r", NULL, NULL, "NIL"},
-
-#ifdef SOUND_EDITOR
-        /* Extensions for Sound Type: */
-        {"SOUND", 'L', "getsound", "xlgasound", "SoundPtr", "cvsound", "NULL"},
-        {"SoundPtr", 'C', "cvsound", "r", NULL, NULL, NULL},
-#endif
-
-#ifdef NYQUIST
-        {"SOUND", 'L', "getsound", "xlgasound", "sound_type", "cvsound", "NULL"},
-        {"sound_type", 'C', "cvsound", "r", NULL, NULL, NULL},
-#endif
-#ifdef SEQ_TYPE
-         {"SEQ", 'L', "getseq", "xlgaseq", "seq_type", "cvseq", "NULL"},
-        {"seq_type", 'C', "cvseq", "r", NULL, NULL, NULL}, 
-/* look out! event_type is treated as void to eliminate
- * warning messages ... */
-        {"event_type", 'C', "", "v", NULL, NULL, NULL},
-#endif
-#ifdef SCORE_EDITOR
-        {"VALUE",  'L', "getval", "xlgaval", "value_type", "cvval", "NULL"},
-        {"value_type", 'C', "cvval", "r", NULL, NULL, NULL},
-        {"EVENT",  'L', "getevent", "xlgaevent", "event_type", "cvevent", "NULL"},
-        {"event_type", 'C', "cvevent", "r", NULL, NULL, NULL},
-        {"score_type", 'C', "cvevent", "r", NULL, NULL, NULL},
-#endif
-#ifdef DMA_EXTENSIONS
- /* begin DMA entries */
-         {"DEXT", 'L', "getdext", "xlgadext", "ext_type", "cvdext", "NULL"},
-         {"DEXT", 'C', "cvdext", "r", NULL, NULL, NULL},
-         {"SEXT", 'L', "getsext", "xlgasext", "ext_type", "cvsext", "NULL"},
-         {"SEXT", 'C', "cvsext", "r", NULL, NULL, NULL},
- /* end DMA entries */
-#endif
-        {"int", 'C', "cvfixnum", "r", NULL, NULL, NULL},
-        {"long", 'C', "cvfixnum", "r", NULL, NULL, NULL},
-        {"boolean", 'C', "cvboolean", "r", NULL, NULL, NULL},
-        {"float", 'C', "cvflonum", "r", NULL, NULL, NULL},
-        {"double", 'C', "cvflonum", "r", NULL, NULL, NULL},
-        {"string", 'C', "cvstring", "s", NULL, NULL, NULL},
-        {"char*", 'C', "cvstring", "s", NULL, NULL, NULL},
-        {"char", 'C', "cvfixnum", "r", NULL, NULL, NULL},
-        {"string_type", 'C', "cvstring", "s", NULL, NULL, NULL},
-        {"FILE*", 'C', "cvfile", "s", NULL, NULL, NULL},
-        {"void", 'C', "", "v", NULL, NULL, NULL},
-/*eot*/	{NULL, ' ', NULL, NULL, NULL, NULL, NULL}};
-
-/* subr names get saved here: */
-char *subr_table[subr_max];
-int subr_table_x;
-
-#define get_c_special(i) type_table[(i)].getarg_or_special[0]
-#define get_c_conversion(i) type_table[(i)].convert
-#define get_lisp_extract(i) type_table[(i)].convert
-#define get_lisp_getarg(i) type_table[(i)].getarg_or_special
-#define get_lisp_ctype(i) type_table[(i)].ctype
-#define get_lisp_makenode(i) type_table[(i)].makenode
-#define get_lisp_initializer(i) type_table[(i)].initializer
-
-static void lisp_code();
-static int lookup();
-static void process_file();
-static void routine_call();
-static void write_interface();
-static void write_postlude();
-static void write_prelude();
-static void write_ptrfile();
-
-char source_file[ident_max];	/* source file */
-char current_line[4 * line_max];    /* current line in source file */
-char out_file[ident_max];	/* output file name */
-char ptr_file[ident_max];	/* ptr.h file name */
-char def_file[ident_max];	/* def.h file name */
-
-FILE *lispout = NULL;		/* output for lisp source code (if any) */
-
-#define EOS '\000'
-
-/* getarg -- get an identifier from a string */
-/**/
-int getarg(start, result, pos)
-    char *start;	/* where to start scanning */
-    char *result;	/* where to put the identifier */
-    char **pos;		/* ptr to char after identifier in source */
-{
-    *result = EOS;
-    while (whitep(*start) && *start != EOS) start++;
-    if (*start == EOS) return false;
-    if (!symbolp(*start)) return false;
-    while (symbolp(*start) && *start != EOS) {
-        *result = *start;
-        result++;
-        start++;
-    }
-    *result = EOS;
-    *pos = start;
-    return true;
-}
-
-
-/* error() -- print source file and line */
-/**/
-void error()
-{
-    fprintf(errfile, "\n%s: |%s|\n", source_file, current_line);
-}
-
-
-/* lisp_code -- write lisp code to file */
-/*
- * read from inp if necessary until close comment found
- */
-static void lisp_code(inp, s)
-  FILE *inp;
-  char *s;
-{
-    char lisp[line_max];
-    char *endcomment;
-    char *inputline;   /* for end of file detection */
-
-    if (lispout == NULL) {
-        char lisp_file_name[ident_max];
-        char *extension;
-        strcpy(lisp_file_name, out_file);
-        extension = sindex(lisp_file_name, ".c");
-        strcpy(extension, ".lsp"); /* overwrite .c with .lsp */
-        lispout = fopen(lisp_file_name, "w");
-        if (lispout == NULL) {
-            fprintf(stdout, "Error: couldn't open %s\n", lisp_file_name);
-            exit(1);
-        }
-        printf("writing %s ...\n", lisp_file_name);
-    }
-
-    strcpy(lisp, s);	/* don't modify s */
-    inputline = lisp;
-    while (inputline != NULL &&
-           (endcomment = sindex(lisp, "*/")) == NULL) {
-        fputs(lisp, lispout);
-        inputline = fgets(lisp, line_max, inp);
-    }
-    strcpy(endcomment, "\n\n");
-    fputs(lisp, lispout);
-}
-
-
-/* lookup -- find type data */
-/**/
-static int lookup(s, t)
-    char *s;
-    char t;
-{
-    int i = 1;
-    while (type_table[i].type_id != NULL) {
-        if (type_table[i].code == t &&
-            strcmp(type_table[i].type_id, s) == 0)
-            return i;
-        i++;
-    }
-    return 0;
-}
-
-/* macro_call -- generate xlisp interface for C routine */
-/**/
-void macro_call(in, out, curline, macro_name, arg_loc)
-    FILE *in;		/* input file */
-    FILE *out;		/* output file */
-    char *curline;	/* input line */
-    char *macro_name;	/* name of the macro to call */
-    char *arg_loc;	/* location after "LISP:" */
-{
-    char type_name[ident_max];
-    if (!getarg(arg_loc, type_name, &arg_loc)) {
-        error();
-        fprintf(errfile, "no type given for macro.\n");
-    } else {
-        write_interface(in, out, type_name, macro_name, arg_loc, true);
-    }
-}
-
-
-
-/* main -- generate an xlisp to c interface file */
-/**/
-int main(argc, argv)
-    int argc;
-    char *argv[];
-{
-    char *s;
-    FILE *out;
-    FILE *ptrfile;
-    FILE *deffile;
-    int n;
-
-#ifdef MACINTOSH
-        argc = ccommand(&argv);
-#endif
-
-    for (n = 0; n < subr_max; n++) 
-    {
-            subr_table[n] = (char *) malloc(ident_max);
-            subr_table[n][0] = EOS;
-    }
-    subr_table_x = 0;
-
-    cl_init(NULL, 0, NULL, 0, argv, argc);
-    if ((s = cl_arg(1)) != NULL) {
-             strcpy(out_file, s);
-           if (sindex(out_file, ".") == 0) 
-               strcat(out_file, ".c");
-           else fprintf(stderr, 
-               "1st command line argument should be a legal c identifier\n");
-           out = fopen(out_file, "w");
-           if (out == NULL) {
-               fprintf(stdout, "Error: couldn't open %s\n", out_file);
-               exit(1);
-           }
-             strcpy(ptr_file, s);
-           strcat(ptr_file, "ptrs.h");
-           ptrfile = fopen(ptr_file, "w");
-           if (ptrfile == NULL) {
-               fprintf(stdout, "Error: couldn't open %s\n", ptr_file);
-               exit(1);
-           }
-             strcpy(def_file, s);
-           strcat(def_file, "defs.h");
-           deffile = fopen(def_file, "w");
-           if (deffile == NULL) {
-               fprintf(stdout, "Error: couldn't open %s\n", def_file);
-               exit(1);
-           }
-    } else {
-           fprintf(stdout, "Error: no output file specified\n");
-           exit(1);
-    }
-
-    printf("writing %s ...\n", out_file);
-    
-    write_prelude(out, out_file);
-    n = 2;
-    while ((s = cl_arg(n)) != NULL) {
-        printf("  %s\n", s);
-        process_file(s, out);
-        n++;
-    }
-    write_postlude(out);
-    fclose(out);
-    write_ptrfile(ptrfile, deffile);
-    fclose(ptrfile);
-    fclose(deffile);
-    if (lispout != NULL) fclose(lispout);
-    return 0;
-}
-
-
-static void process_file(fname, out)
-    char *fname;
-    FILE *out;
-{
-    FILE *in;
-    char *cp;
-    char *pos;
-    char incl_file[ident_max];	/* name of file to include */
-    char type_name[ident_max];		/* the type of the routine */
-    char routine_name[ident_max];	/* the name of the routine or macro */
-    char flag = fname[0];
-    boolean reading_parameters = false;	/* says we've got a routine, and
-        we're skipping over parameter declarations */
-
-    if (flag == no_include_prefix) fname++;
-
-    strcpy(source_file, fname);	/* for error reporting */
-    in = fopen(fname, "r");
-    if (in == NULL) {
-        fprintf(errfile, "couldn't open %s\n", fname);
-        return;
-    }
-
-    /* first check out the first line: if the first two characters are
-        "ih", then replace fname with file.ih so that the CLASS ".ih"
-        file will be included instead of this ".h" file.  This is a 
-        hack to allow calls into Andrew Tool Kit objects.
-     */
-
-    strcpy(incl_file, fname);
-    if (fgets(current_line, line_max, in) != NULL) {
-        if (current_line[0] == 'i' && current_line[1] == 'h') {
-            cp = sindex(incl_file, ".h");
-            if (cp != NULL) {
-                strcpy(cp, ".ih");
-            }
-        }
-    }
-
-    /* strip off leading directory prefix, if any */
-    cp = strrchr(incl_file, FILESEP);	/* find the last slash */
-    if (cp) {
-        strcpy(incl_file, cp + 1 /* skip the slash */);
-    }
-
-    if (flag != no_include_prefix) fprintf(out, "#include \"%s\"\n\n", incl_file);
-
-    while (fgets(current_line, line_max, in) != NULL) {
-        cp = sindex(current_line, "#define");
-        if (cp != NULL) {
-            cp += strlen("#define");
-            if (!getarg(cp, routine_name, &cp)) {
-                error();
-                fprintf(errfile, "#define not followed by identifier\n");
-            }
-            /* watch out for multi-line macros: */
-            while (sindex(current_line, "\\\n")) {
-                if (fgets(current_line, line_max, in) == NULL) return;
-            }
-        } else if ((cp = sindex(current_line, "LISP:")) != NULL) {
-            char type_str[ident_max];
-            char routine_str[ident_max];
-            if (!reading_parameters &&
-                getarg(current_line, type_str, &pos) &&
-                getarg(pos, routine_str, &pos) &&
-                pos < cp) {
-                routine_call(in, out, current_line, type_str, routine_str,
-                     cp + strlen("LISP:"));
-            } else if (getarg(cp + strlen("LISP:"), type_str, &pos)) {
-                macro_call(in, out, current_line, routine_name,
-                           cp + strlen("LISP:"));
-            } else routine_call(in, out, current_line, type_name, routine_name,
-                     cp + strlen("LISP:"));
-        } else if ((cp = sindex(current_line, "LISP-SRC:")) != NULL) {
-            lisp_code(in, cp + strlen("LISP-SRC:"));
-        } else if (reading_parameters && sindex(current_line, ")")) {
-            reading_parameters = false;
-        } else if (reading_parameters) { /* skip */ ;
-        } else if (getarg(current_line, type_name, &pos) &&
-                   getarg(pos, routine_name, &pos)) {
-            /* we grabbed the type and routine name.  Check to see if the
-             * parameter list is open but not closed on this line: */
-            if (sindex(current_line, "(") && !sindex(current_line, ")")) {
-                reading_parameters = true;
-            }
-            /* printf("saw %s %s\n", type_name, routine_name);*/
-        } else {  /* wipe out names for safety: */
-            type_name[0] = EOS;
-            routine_name[0] = EOS;
-        }
-    }
-
-    fclose(in);
-}
-
-
-/* routine_call -- generate xlisp interface for C routine */
-/**/
-static void routine_call(in, out, curline, type_name, routine_name, arg_loc)
-    FILE *in;		/* input file */
-    FILE *out;		/* output file */
-    char *curline;	/* input line */
-    char *type_name;	/* type id */
-    char *routine_name;	/* routine id */
-    char *arg_loc;	/* location after "LISP:" */
-{
-
-    if (*routine_name == EOS) {
-        routine_name = type_name;
-        type_name = "void";
-    }
-    if (*routine_name == '*') {
-        char *r = routine_name;
-        while (*r != EOS) {   /* shift left */
-            *r = *(r+1);
-            r++;
-         }
-        strcat(type_name, "*");
-    }
-    write_interface(in, out, type_name, routine_name, arg_loc, false);
-}
-
-
-/* sindex -- find substring */
-/**/
-static char *sindex(sup, sub)
-  char *sup;	/* the containing string */
-  char *sub;	/* the substring */
-{
-    int i;
-    for ( ; *sup != EOS; sup++) {
-        for (i = 0; true; i++) {
-            if (*(sub+i) == EOS) return sup;
-            if (*(sup+i) != *(sub+i)) break;
-        }
-    }
-    return EOS;
-}
-
-
-/* write_interface -- write SUBR for xlisp */
-/*
- * NOTE: if is_macro and there are no arguments, then
- *    do not write parens: e.g. "foo" instead of "foo()"
- */
-static void write_interface(in, out, type_name, fn_name, arg_loc, is_macro)
-    FILE *in;		/* input file */
-    FILE *out;		/* output file */
-    char *type_name;	/* c type for return value */
-    char *fn_name;	/* c function to be called */
-    char *arg_loc;	/* LISP arg type are described here */
-    int is_macro;	/* true if this is a macro */
-{
-    char lispfn[ident_max];	/* lisp fn name */
-    char *cp;		/* a temporary */
-    int len;		/* a string length */
-#define args_max 20
-    struct {
-        int index;	/* table location for this type */
-        int res_flag;	/* is a result returned? */
-    } args[args_max];
-    char arg_type[ident_max];	/* the original type spec */
-    char *c_type;	/* c type for an argument */
-    char *c_str;	/* temp for a c code line */
-    int argcnt = 0;	/* counts arguments */
-    int i;		/* argument index */
-    int result_flag = false;	/* true if there are result parameters */
-    int result_x;	/* index of result type */
-    char newline[line_max];	/* place to read continuation lines */
-
-
-/*    printf("write_interface: %s %s %s", type_name, fn_name, arg_loc);*/
-    if (*type_name == EOS || *fn_name == EOS) {
-        error();
-        fprintf(errfile, "Error: bad syntax, maybe missing type\n");
-        return;
-    }
-
-    while (*arg_loc != '(' && *arg_loc != EOS) arg_loc++;
-    if (*arg_loc == EOS) {
-        error();
-        fprintf(errfile, "Error: '(' expected after 'LISP:'\n");
-        return;
-    } else arg_loc++;
-    if (!getarg(arg_loc, lispfn, &arg_loc)) {
-        error();
-        fprintf(stdout, "Error: lisp function name expected\n");
-        return;
-    }
-    /* make it upper case: */
-    for (cp = lispfn; *cp != EOS; cp++) {
-        if (islower(*cp)) *cp = toupper(*cp);
-    }
-
-    /* save SUBR name */
-    strcpy(subr_table[subr_table_x], lispfn);
-    subr_table_x++;
-
-    /* make lispfn lower case, dash, colon -> underscore: */
-    for (cp = lispfn; *cp != EOS; cp++) {
-        if (isupper(*cp)) *cp = tolower(*cp);
-        if (*cp == '-' || *cp == ':') *cp = '_';
-    }
-    
-    /* append continuation lines to arg_loc to handle multi-line specs */
-    while (sindex(arg_loc, "*/") == NULL) {
-        /* remove newline */
-        if (strlen(arg_loc) > 0) 
-            arg_loc[strlen(arg_loc) - 1] = EOS;
-        if (fgets(newline, line_max, in) == NULL) {
-            error();
-            fprintf(stdout, "Error: end of file unexpected\n");
-            exit(1);
-        }
-        if ((strlen(arg_loc) + strlen(newline)) > (3 * line_max)) {
-            error();
-            fprintf(stdout, 
-                "Error: specification too long or missing end of comment.\n");
-            exit(1);
-        }
-        strcat(arg_loc, newline);
-    }
-
-    fprintf(out, "/%c xlc_%s -- interface to C routine %s */\n/**/\n",
-        '*', lispfn, fn_name);
-
-    fprintf(out, "LVAL xlc_%s(void)\n{\n", lispfn);
-    while (getarg(arg_loc, arg_type, &arg_loc)) {
-        int result_only_flag = false;
-
-        if (argcnt >= args_max) {
-            error();
-            fprintf(errfile, 
-                "Internal error: too many args, increase args_max\n");
-        }
-        len = strlen(arg_type);
-        if (arg_type[len-1] == '*') {
-            arg_type[len-1] = EOS;
-            args[argcnt].res_flag = true;
-            result_flag = true;
-        } else if (arg_type[len-1] == '^') {
-            arg_type[len-1] = EOS;
-            args[argcnt].res_flag = true;
-            result_flag = true;
-            result_only_flag = true;
-        } else args[argcnt].res_flag = false;
-        
-        args[argcnt].index = lookup(arg_type, 'L');
-        c_type = get_lisp_ctype(args[argcnt].index);
-
-        if (c_type == NULL) {
-            error();
-            fprintf(errfile, "Error: %s undefined, using int.\n",
-                arg_type);
-            c_type = "int";
-            args[argcnt].index = lookup("FIXNUM", 'L');
-        }
-        fprintf(out, "    %s arg%d = ", c_type,	argcnt+1);
-        if (result_only_flag) {
-            fprintf(out, "%s;\n",
-                    get_lisp_initializer(args[argcnt].index));
-         } else if (args[argcnt].index == any_index) {
-            fprintf(out, "xlgetarg();\n");
-        } else {
-            c_str = "%s(%s());\n";
-            fprintf(out,c_str,
-                    get_lisp_extract(args[argcnt].index),
-                    get_lisp_getarg(args[argcnt].index));
-        }
-        argcnt++;
-    }
-
-    if (*arg_loc != ')') {
-        fprintf(errfile,
-            "Warning: paren expected immediately after last arg of %s\n",
-            lispfn);
-    }
-
-    /* check for close paren and close comment: */
-    cp = sindex(arg_loc, ")");
-    if (cp == NULL || sindex(cp+1, "*/") == NULL) {
-        error();
-        fprintf(errfile, "Warning: close paren and close comment expected\n");
-    }
-
-    /* lookup result type */
-    result_x = lookup(type_name, 'C');
-    if (result_x == 0) {
-        fprintf(errfile, "(Warning) unknown type: %s, assuming void\n", 
-            type_name);
-        result_x = lookup("void", 'C');
-    }
-
-    /* if there are result parameters then return them rather than NIL
-     * when the type is void
-     */
-    if (get_c_special(result_x) == 'v' && result_flag) {
-        fprintf(out, "    LVAL result;\n");
-    }
-
-    if (get_c_special(result_x) != 'v') {
-        /* declare result: */
-        fprintf(out, "    %s result;\n", type_name);
-    }
-
-    /* check for end of argument list: */
-    fprintf(out, "\n    xllastarg();\n");
-
-    /* if there are results, we'll call cons, so
-     * protect the result from garbage collection
-     * if necessary
-     */
-    if (result_flag && strcmp(type_name, "LVAL") == 0) {
-        fprintf(out, "    xlprot1(result);\n");
-    }
-
-    /* call the c routine */
-    if (get_c_special(result_x) != 'v') {
-        fprintf(out, "    result = ");
-    } else fprintf(out, "    ");
-    fprintf(out, "%s", fn_name);
-    if (!is_macro || argcnt > 0) fprintf(out, "(");
-
-    /* pass arguments: */
-    for (i = 0; i < argcnt; i++) {
-        if (i > 0) fprintf(out, ", ");
-        if (args[i].res_flag) fprintf(out, "&");
-        fprintf(out, "arg%d", i+1);
-    }
-    if (!is_macro || argcnt > 0) fprintf(out, ")");
-    fprintf(out, ";\n");
-
-    /* put results (if any) on *RSLT* */
-    if (result_flag) {
-        int wrote_one_flag = false;
-        fprintf(out, "    {\tLVAL *next = &getvalue(RSLT_sym);\n");
-        for (i = 0; i < argcnt; i++) {
-            if (args[i].res_flag) {
-                if (wrote_one_flag)
-                    fprintf(out, "\tnext = &cdr(*next);\n");
-                wrote_one_flag = true;
-                fprintf(out, "\t*next = cons(NIL, NIL);\n");
-                fprintf(out, "\tcar(*next) = %s(arg%d);",
-                    get_lisp_makenode(args[i].index), i+1);
-            }
-        }
-        fprintf(out, "\n    }\n");
-
-        /* copy *RSLT* to result if appropriate */
-        if (get_c_special(result_x) == 'v') {
-            fprintf(out, "    result = getvalue(RSLT_sym);\n");
-        }
-    }
-
-
-    /* generate xlpop() if there was an xlprot1() */
-    if (result_flag && strcmp(type_name, "LVAL") == 0) {
-        fprintf(out, "    xlpop();\n");
-    }
-
-
-    /* now return actual return value */
-    if (get_c_special(result_x) == EOS) {
-        error();
-        fprintf(errfile, "Warning: unknown type from C, coercing to int.\n");
-        fprintf(out, "    return cvfixnum((int) result);\n");
-    } else if (get_c_special(result_x) == 'v' && !result_flag) {
-        fprintf(out, "    return NIL;\n");
-    } else if (get_c_special(result_x) == 'v' && result_flag) {
-        fprintf(out, "    return result;\n");
-    } else if (get_c_special(result_x) == 's') {
-        fprintf(out, "    if (result == NULL) return NIL;\n");
-        fprintf(out, "    else return %s(result);\n",
-            get_c_conversion(result_x));
-    } else {
-        fprintf(out, "    return %s(result);\n",
-            get_c_conversion(result_x));
-    }
-    fprintf(out, "}\n\n\n");
-}
-
-
-/* write_postlude -- write stuff at end of file */
-/**/
-static void write_postlude(out)
-    FILE *out;
-{
-        /* nothing to do for version 2 */
-}
-
-
-/* write_ptrfile -- write function definition table */
-/**/
-static void write_ptrfile(pf, df)
-  FILE *pf;
-  FILE *df;
-{
-    int n;
-    char *cp;
-    char cname[ident_max];
-
-    for (n = 0; n < subr_table_x; n++) {
-        strcpy(cname, subr_table[n]);
-        /* make cname lower case, dash,colon -> underscore: */
-        for (cp = cname; *cp != EOS; cp++) {
-            if (isupper(*cp)) *cp = tolower(*cp);
-            if (*cp == '-' || *cp == ':') *cp = '_';
-        }
-        fprintf(df, "extern LVAL xlc_%s(void);\n", cname);
-        fprintf(pf, "  { \"%s\",  S, xlc_%s}, \n", subr_table[n], cname);
-    }
-    printf("	Add %s to localdefs.h and add %s to localptrs.h\n",
-        def_file, ptr_file);
-}
-
-
-/* write_prelude -- write stuff at head of file */
-/**/
-static void write_prelude(out, out_file)
-    FILE *out;
-    char *out_file;
-{
-    int i = 2;
-    int col = strlen(out_file) + 21;
-    char *s;
-    fprintf(out, "/%c %s -- interface to  ",
-         '*', out_file);
-    while ((s = cl_arg(i)) != NULL) {
-        if (i > 2) {
-            fprintf(out, ", ");
-            col += 2;
-        }
-        col += strlen(s) + 2;
-        if (col > 65) {
-            fprintf(out, "\n * ");
-            col = 4 + strlen(s) + 2;
-        }
-        fprintf(out, "%s", s);
-        i++;
-    }
-    fprintf(out, " */\n\n%cifndef mips\n%cinclude \"stdlib.h\"\n", '#', '#');
-    fprintf(out, "%cendif\n%cinclude \"xlisp.h\"\n\n", '#', '#');
-#ifdef S_TRUE
-    fprintf(out, "extern LVAL s_true;\n");
-    fprintf(out, "%cdefine cvboolean(i) ((i) ? s_true : NIL)\n", '#');
-#else
-    fprintf(out, "extern LVAL true;\n");
-    fprintf(out, "%cdefine cvboolean(i) ((i) ? true : NIL)\n", '#');
-#endif
-
-    fprintf(out, "%c%s\n",
-        '#',
-        "define testarg2(e) (moreargs() ? (e) : (getflonum(xltoofew())))");
-
-    fprintf(out, "%c%s\n%s\n%s\n",
-        '#',
-        "define xlgaanynum() (floatp(*xlargv) ? getflonum(nextarg()) : \\",
-        "    (fixp(*xlargv) ? (double) getfixnum(nextarg()) : \\",
-/* note: getflonum never gets called here, but this makes typechecking happy */
-        "        getflonum(xlbadtype(*xlargv))))");
- 
-    fprintf(out, "%cdefine getboolean(lval) ((lval) != NIL)\n\n", '#');
-    fprintf(out, "extern LVAL RSLT_sym;\n\n\n");
-}
diff --git a/lib-src/libnyquist/misc/intgen2.c b/lib-src/libnyquist/misc/intgen2.c
deleted file mode 100644
index f462815..0000000
--- a/lib-src/libnyquist/misc/intgen2.c
+++ /dev/null
@@ -1,910 +0,0 @@
-/* intgen.c -- an interface generator for xlisp */
-
-/* (c) Copyright Carnegie Mellon University 1991
- * For a statement of limited permission to use, see Permission.doc
- *
- * HISTORY
- *
- *  5-Jul-95	Roger Dannenberg
- *	strip directory prefixes from files before writing include statements
- * 24-Oct-88	Roger Dannenberg at CMU
- *	Changed so that if C routine returns void and has result parameters,
- *	then result parameters are returned by the lisp subr as well as
- *	assigned to *RSLT*.
- *
- * 13-Apr-88	Roger Dannenberg at CMU
- *	Modified for xlisp version 2.0
- *
- * 22-Dec-87    Roger Dannenberg at NeXT
- *	Added FILE type.
- *
- * 21-May-87	Dale Amon at CMU CSD
- *	Included use of NODE *s_true under SCORE_EDITOR conditional. Standard
- *	xlisp code use NODE *true instead.
- *
- * 13-May-87	Dale Amon at CMU CSD
- *	Added conditional compilation switch SCORE_EDITOR so that this
- *	program will work with both standard XLISP sources and with Roger's
- *	(ahem) modified version. Also put in error checking for case where
- *	user does not specifiy an output file so program will exit instead
- *	of coredump.
- */
-
-
-/* Summary and Design: (NOTE THAT AN INTGEN MANUAL IS AVAILABLE)
- *    The first command line argument gives the name of
- * the .c file to generate.  All following arguments are
- * .h files to read and use as interface specifications.
- *
- *    The main program opens the output file, calls
- * write_prelude, and then process_file for each input
- * file.  Then call write_postlude and close the file.
- *
- *    process_file opens an input file and reads each line
- * into current_line.
- *    if the first characters of the file are "ih", then
- * the rest of the file is processed as normal, except the
- * .h extension of the file is replaced by .ih before the
- * filename is written into an include statement in the 
- * output file.  This is done to handle ".ih" files generated
- * by the Andrew Toolkit Class processor.
- *    In any case, the first line of EVERY .h file is discarded.
- * If #define is found, save the following identifier as
- *    macro_name.
- * If "LISP:" is found, then see if it is preceded by one
- * or two identifiers and an open paren.
- *    If yes, call routine_call,
- *    else call macro_call.
- *
- *    routine_call gets the first one or two identifiers off the
- * line into type_name and routine_name.  If there is just one id,
- * assign it to routine_name and make type_name = "void". 
- * If the routine_name starts with *, remove the * from 
- * routine_name and append "*" to type_name.
- * Call write_interface with type_name, routine_name, and location
- * of parameter type description after "LISP:".
- *
- *    macro_call gets a type_name from the input line after
- * "LISP:".
- * Then call write_interface with type_name, macro_name, and
- * location of parameter type description.
- *
- *    lisp function names are saved in a table, and an
- * initialization routine is written to install the new
- * SUBRs into the xlisp symbol table, as well as to lookup
- * RSLT_sym, the atom on which results are placed
- *
- *
- */
-
-/* Turn on special handling for Roger's Score Editor if the following #define
- *    is uncommented:
- */
-/* #define SCORE_EDITOR */
-
-/* Turn on special handling for Chris's Sound Editor if the following #define
- *    is uncommented:
- */
-/* #define SOUND_EDITOR */
-
-/* Turn on special handling for Nyquist if the following #define
- *    is uncommented:
- */
-#define NYQUIST
-
-/* atom 't is named s_true if this is defined, o.w. named true: */
-#define S_TRUE 1
-
-/* Turn on special handling for CMU MIDI Toolkit seq_type:
- */
-#define SEQ_TYPE
-
-#define errfile stdout
-
-#define ident_max 100
-#define line_max 200
-#define subr_max 500
-
-/* prefix for include files not to be included in interface module */
-#define no_include_prefix '~'
-
-#define false 0
-#define true 1
-
-#include "stdlib.h"
-#include "switches.h"
-#include "cext.h"
-#include <string.h>
-#ifndef boolean
-typedef int boolean;
-#endif
-#include "stdio.h"
-#include "ctype.h"
-#include "cmdline.h"
-#ifdef MACINTOSH
-#include "console.h"
-#endif
-
-#ifdef MACINTOSH
-#define FILESEP ':'
-#else
-#ifdef WINDOWS
-#define FILESEP '\\'
-#else
-#define FILESEP '/'
-#endif
-#endif
-
-static char *sindex();
-
-#define whitep(c) ((c) == ' ' || (c) == '\t')
-#define symbolp(c) (isalpha(c) || (c) == '*' || (c) == '_' || (c) == '-' ||\
-                    (c) == ':' || isdigit(c) || (c) == '^' || (c) == '*')
-
-/* c and Lisp parameters are encoded in the same table.
- * Field type_id is the string name of the type.
- * For c types (return types of C routines), code is 'C',
- *   convert gives the routine for making a lisp node from
- *   the c datum.
- *   listtype_or_special is "v" for types that should be
- *   returned as LISP NIL (e.g. "void"), "s" for types
- *   that when NULL should be returned as NIL, "r"
- *   for normal types, and "" to raise an error.
- *   ctype is not used and should be NULL.
- * For Lisp types (from parameter specs), code is 'L'.
- *   convert gives the routine that extracts a C value
- *   from a lisp node whose type is given by the field
- *   getarg_or_special.
- *   c_type is the type of the local C variable which is
- *   passed as a parameter to the C routine.
- *   initializer is the initial value for result only parameters
- *
- * End of table is marked by a NULL type_id.
- *
- * Location 0 is reserved to indicate errors.
- * Location 1 MUST BE type ANY
- *
- */
-
-#define any_index 1
-struct {
-    char *type_id;
-    char code;
-    char *convert;
-    char *getarg_or_special;
-    char *ctype;
-    char *makenode;
-    char *initializer;
-} type_table[] = {
-        {" ", ' ', NULL, NULL, NULL, NULL, NULL},
-        {"ANY", 'L', "", "", "LVAL", "", "NIL"},
-        {"ATOM", 'L', "", "xlgasymbol", "LVAL", "", "NIL"},
-        {"FILE", 'L', "getfile", "xlgastream", "FILE *", "cvfile", "NULL"},
-        {"FIXNUM", 'L', "getfixnum", "xlgafixnum", "long", "cvfixnum", "0"},
-        {"FIXNUM", 'L', "getfixnum", "xlgafixnum", "int", "cvfixnum", "0"},
-        {"FLOAT", 'L', "getflonum", "xlgaflonum", "float", "cvflonum", "0.0"},
-        {"FLONUM", 'L', "getflonum", "xlgaflonum", "double", "cvflonum", "0.0"},
-        {"ANYNUM", 'L', "testarg2", "xlgaanynum", "double", "cvflonum", "0.0"},
-        {"STRING", 'L', "getstring", "xlgastring", "unsigned char *", "cvstring", "NULL"},
-        {"BOOLEAN", 'L', "getboolean", "xlgetarg", "int", "cvboolean", "0"},
-        {"atom_type", 'C', "", "r", NULL, NULL, NULL},
-        {"LVAL", 'C', "", "r", NULL, NULL, "NIL"},
-
-#ifdef SOUND_EDITOR
-        /* Extensions for Sound Type: */
-        {"SOUND", 'L', "getsound", "xlgasound", "SoundPtr", "cvsound", "NULL"},
-        {"SoundPtr", 'C', "cvsound", "r", NULL, NULL, NULL},
-#endif
-
-#ifdef NYQUIST
-        {"SOUND", 'L', "getsound", "xlgasound", "sound_type", "cvsound", "NULL"},
-        {"sound_type", 'C', "cvsound", "r", NULL, NULL, NULL},
-#endif
-#ifdef SEQ_TYPE
-         {"SEQ", 'L', "getseq", "xlgaseq", "seq_type", "cvseq", "NULL"},
-        {"seq_type", 'C', "cvseq", "r", NULL, NULL, NULL}, 
-#endif
-#ifdef SCORE_EDITOR
-        {"VALUE",  'L', "getval", "xlgaval", "value_type", "cvval", "NULL"},
-        {"value_type", 'C', "cvval", "r", NULL, NULL, NULL},
-        {"EVENT",  'L', "getevent", "xlgaevent", "event_type", "cvevent", "NULL"},
-        {"event_type", 'C', "cvevent", "r", NULL, NULL, NULL},
-        {"score_type", 'C', "cvevent", "r", NULL, NULL, NULL},
-#endif
-#ifdef DMA_EXTENSIONS
- /* begin DMA entries */
-         {"DEXT", 'L', "getdext", "xlgadext", "ext_type", "cvdext", "NULL"},
-         {"DEXT", 'C', "cvdext", "r", NULL, NULL, NULL},
-         {"SEXT", 'L', "getsext", "xlgasext", "ext_type", "cvsext", "NULL"},
-         {"SEXT", 'C', "cvsext", "r", NULL, NULL, NULL},
- /* end DMA entries */
-#endif
-        {"int", 'C', "cvfixnum", "r", NULL, NULL, NULL},
-        {"long", 'C', "cvfixnum", "r", NULL, NULL, NULL},
-        {"boolean", 'C', "cvboolean", "r", NULL, NULL, NULL},
-        {"float", 'C', "cvflonum", "r", NULL, NULL, NULL},
-        {"double", 'C', "cvflonum", "r", NULL, NULL, NULL},
-        {"string", 'C', "cvstring", "s", NULL, NULL, NULL},
-        {"char*", 'C', "cvstring", "s", NULL, NULL, NULL},
-        {"char", 'C', "cvfixnum", "r", NULL, NULL, NULL},
-        {"string_type", 'C', "cvstring", "s", NULL, NULL, NULL},
-        {"FILE*", 'C', "cvfile", "s", NULL, NULL, NULL},
-        {"void", 'C', "", "v", NULL, NULL, NULL},
-/*eot*/	{NULL, ' ', NULL, NULL, NULL, NULL, NULL}};
-
-/* subr names get saved here: */
-char *subr_table[subr_max];
-int subr_table_x;
-
-#define get_c_special(i) type_table[(i)].getarg_or_special[0]
-#define get_c_conversion(i) type_table[(i)].convert
-#define get_lisp_extract(i) type_table[(i)].convert
-#define get_lisp_getarg(i) type_table[(i)].getarg_or_special
-#define get_lisp_ctype(i) type_table[(i)].ctype
-#define get_lisp_makenode(i) type_table[(i)].makenode
-#define get_lisp_initializer(i) type_table[(i)].initializer
-
-static void lisp_code();
-static int lookup();
-static void process_file();
-static void routine_call();
-static void write_interface();
-static void write_postlude();
-static void write_prelude();
-static void write_ptrfile();
-
-char source_file[ident_max];	/* source file */
-char current_line[4 * line_max];    /* current line in source file */
-char out_file[ident_max];	/* output file name */
-char ptr_file[ident_max];	/* ptr.h file name */
-char def_file[ident_max];	/* def.h file name */
-
-FILE *lispout = NULL;		/* output for lisp source code (if any) */
-
-#define EOS '\000'
-
-/* getarg -- get an identifier from a string */
-/**/
-int getarg(start, result, pos)
-    char *start;	/* where to start scanning */
-    char *result;	/* where to put the identifier */
-    char **pos;		/* ptr to char after identifier in source */
-{
-    char *save = result;
-    *result = EOS;
-    while (whitep(*start) && *start != EOS) start++;
-    if (*start == EOS) return false;
-    if (!symbolp(*start)) return false;
-
-    while (symbolp(*start) && *start != EOS) {
-        *result = *start;
-        result++;
-        start++;
-    }
-    *result = EOS;
-    *pos = start;
-    printf("getarg got %s\n", save);
-    return true;
-}
-
-
-/* error() -- print source file and line */
-/**/
-error()
-{
-    fprintf(errfile, "\n%s: |%s|\n", source_file, current_line);
-}
-
-
-/* lisp_code -- write lisp code to file */
-/*
- * read from inp if necessary until close comment found
- */
-static void lisp_code(inp, s)
-  FILE *inp;
-  char *s;
-{
-    char lisp[line_max];
-    char *endcomment;
-    char *inputline;   /* for end of file detection */
-
-    if (lispout == NULL) {
-        char lisp_file_name[ident_max];
-        char *extension;
-        strcpy(lisp_file_name, out_file);
-        extension = sindex(lisp_file_name, ".c");
-        strcpy(extension, ".lsp"); /* overwrite .c with .lsp */
-        lispout = fopen(lisp_file_name, "w");
-        if (lispout == NULL) {
-            fprintf(stdout, "Error: couldn't open %s\n", lisp_file_name);
-            exit(1);
-        }
-        printf("writing %s ...\n", lisp_file_name);
-    }
-
-    strcpy(lisp, s);	/* don't modify s */
-    inputline = lisp;
-    while (inputline != NULL &&
-           (endcomment = sindex(lisp, "*/")) == NULL) {
-        fputs(lisp, lispout);
-        inputline = fgets(lisp, line_max, inp);
-    }
-    strcpy(endcomment, "\n\n");
-    fputs(lisp, lispout);
-}
-
-
-/* lookup -- find type data */
-/**/
-static int lookup(s, t)
-    char *s;
-    char t;
-{
-    int i = 1;
-    while (type_table[i].type_id != NULL) {
-        if (type_table[i].code == t &&
-            strcmp(type_table[i].type_id, s) == 0)
-            return i;
-        i++;
-    }
-    return 0;
-}
-
-/* macro_call -- generate xlisp interface for C routine */
-/**/
-void macro_call(in, out, curline, macro_name, arg_loc)
-    FILE *in;		/* input file */
-    FILE *out;		/* output file */
-    char *curline;	/* input line */
-    char *macro_name;	/* name of the macro to call */
-    char *arg_loc;	/* location after "LISP:" */
-{
-    char type_name[ident_max];
-    if (!getarg(arg_loc, type_name, &arg_loc)) {
-        error();
-        fprintf(errfile, "no type given for macro.\n");
-    } else {
-        write_interface(in, out, type_name, macro_name, arg_loc, true);
-    }
-}
-
-
-
-/* main -- generate an xlisp to c interface file */
-/**/
-int main(argc, argv)
-    int argc;
-    char *argv[];
-{
-    char *s;
-    FILE *out;
-    FILE *ptrfile;
-    FILE *deffile;
-    int n;
-
-#ifdef MACINTOSH
-        argc = ccommand(&argv);
-#endif
-
-    for (n = 0; n < subr_max; n++) 
-    {
-            subr_table[n] = (char *) malloc(ident_max);
-            subr_table[n][0] = EOS;
-    }
-    subr_table_x = 0;
-
-    cl_init(NULL, 0, NULL, 0, argv, argc);
-    if ((s = cl_arg(1)) != NULL) {
-             strcpy(out_file, s);
-           if (sindex(out_file, ".") == 0) 
-               strcat(out_file, ".c");
-           else fprintf(stderr, 
-               "1st command line argument should be a legal c identifier\n");
-           out = fopen(out_file, "w");
-           if (out == NULL) {
-               fprintf(stdout, "Error: couldn't open %s\n", out_file);
-               exit(1);
-           }
-             strcpy(ptr_file, s);
-           strcat(ptr_file, "ptrs.h");
-           ptrfile = fopen(ptr_file, "w");
-           if (ptrfile == NULL) {
-               fprintf(stdout, "Error: couldn't open %s\n", ptr_file);
-               exit(1);
-           }
-             strcpy(def_file, s);
-           strcat(def_file, "defs.h");
-           deffile = fopen(def_file, "w");
-           if (deffile == NULL) {
-               fprintf(stdout, "Error: couldn't open %s\n", def_file);
-               exit(1);
-           }
-    } else {
-           fprintf(stdout, "Error: no output file specified\n");
-           exit(1);
-    }
-
-    printf("writing %s ...\n", out_file);
-    
-    write_prelude(out, out_file);
-    n = 2;
-    while ((s = cl_arg(n)) != NULL) {
-        printf("  %s\n", s);
-        process_file(s, out);
-        n++;
-    }
-    write_postlude(out);
-    fclose(out);
-    write_ptrfile(ptrfile, deffile);
-    fclose(ptrfile);
-    fclose(deffile);
-    if (lispout != NULL) fclose(lispout);
-    exit(0);
-}
-
-
-static void process_file(fname, out)
-    char *fname;
-    FILE *out;
-{
-    FILE *in;
-    char *cp;
-    char *pos;
-    char incl_file[ident_max];	/* name of file to include */
-    char type_name[ident_max];		/* the type of the routine */
-    char routine_name[ident_max];	/* the name of the routine or macro */
-    char flag = fname[0];
-    boolean reading_parameters = false;	/* says we've got a routine, and
-        we're skipping over parameter declarations */
-
-    if (flag == no_include_prefix) fname++;
-
-    strcpy(source_file, fname);	/* for error reporting */
-    in = fopen(fname, "r");
-    if (in == NULL) {
-        fprintf(errfile, "couldn't open %s\n", fname);
-        return;
-    }
-
-    /* first check out the first line: if the first two characters are
-        "ih", then replace fname with file.ih so that the CLASS ".ih"
-        file will be included instead of this ".h" file.  This is a 
-        hack to allow calls into Andrew Tool Kit objects.
-     */
-
-    strcpy(incl_file, fname);
-    if (fgets(current_line, line_max, in) != NULL) {
-        if (current_line[0] == 'i' && current_line[1] == 'h') {
-            cp = sindex(incl_file, ".h");
-            if (cp != NULL) {
-                strcpy(cp, ".ih");
-            }
-        }
-    }
-
-    /* strip off leading directory prefix, if any */
-    cp = strrchr(incl_file, FILESEP);	/* find the last slash */
-    if (cp) {
-        strcpy(incl_file, cp + 1 /* skip the slash */);
-    }
-
-    if (flag != no_include_prefix) fprintf(out, "#include \"%s\"\n\n", incl_file);
-
-    while (fgets(current_line, line_max, in) != NULL) {
-        cp = sindex(current_line, "#define");
-        if (cp != NULL) {
-            cp += strlen("#define");
-            if (!getarg(cp, routine_name, &cp)) {
-                error();
-                fprintf(errfile, "#define not followed by identifier\n");
-            }
-            /* watch out for multi-line macros: */
-            while (sindex(current_line, "\\\n")) {
-                if (fgets(current_line, line_max, in) == NULL) return;
-            }
-        } else if ((cp = sindex(current_line, "LISP:")) != NULL) {
-            char type_str[ident_max];
-            char routine_str[ident_max];
-            if (!reading_parameters &&
-                getarg(current_line, type_str, &pos) &&
-                getarg(pos, routine_str, &pos) &&
-                pos < cp) {
-                routine_call(in, out, current_line, type_str, routine_str,
-                     cp + strlen("LISP:"));
-            } else if (getarg(cp + strlen("LISP:"), type_str, &pos)) {
-                macro_call(in, out, current_line, routine_name,
-                           cp + strlen("LISP:"));
-            } else routine_call(in, out, current_line, type_name, routine_name,
-                     cp + strlen("LISP:"));
-        } else if ((cp = sindex(current_line, "LISP-SRC:")) != NULL) {
-            lisp_code(in, cp + strlen("LISP-SRC:"));
-        } else if (reading_parameters && sindex(current_line, ")")) {
-            reading_parameters = false;
-        } else if (reading_parameters) { /* skip */ ;
-        } else if (getarg(current_line, type_name, &pos) &&
-                   getarg(pos, routine_name, &pos)) {
-            /* we grabbed the type and routine name.  Check to see if the
-             * parameter list is open but not closed on this line: */
-            printf("type_name %s, routine_name %s\n", type_name, routine_name);
-            if (sindex(current_line, "(") && !sindex(current_line, ")")) {
-                reading_parameters = true;
-            }
-            /* printf("saw %s %s\n", type_name, routine_name);*/
-        } else {  /* wipe out names for safety: */
-            type_name[0] = EOS;
-            routine_name[0] = EOS;
-        }
-    }
-
-    fclose(in);
-}
-
-
-/* routine_call -- generate xlisp interface for C routine */
-/**/
-static void routine_call(in, out, curline, type_name, routine_name, arg_loc)
-    FILE *in;		/* input file */
-    FILE *out;		/* output file */
-    char *curline;	/* input line */
-    char *type_name;	/* type id */
-    char *routine_name;	/* routine id */
-    char *arg_loc;	/* location after "LISP:" */
-{
-
-    if (*routine_name == EOS) {
-        routine_name = type_name;
-        type_name = "void";
-    }
-    if (*routine_name == '*') {
-        char *r = routine_name;
-        while (*r != EOS) {   /* shift left */
-            *r = *(r+1);
-            r++;
-         }
-        strcat(type_name, "*");
-    }
-    write_interface(in, out, type_name, routine_name, arg_loc, false);
-}
-
-
-/* sindex -- find substring */
-/**/
-static char *sindex(sup, sub)
-  char *sup;	/* the containing string */
-  char *sub;	/* the substring */
-{
-    int i;
-    for ( ; *sup != EOS; sup++) {
-        for (i = 0; true; i++) {
-            if (*(sub+i) == EOS) return sup;
-            if (*(sup+i) != *(sub+i)) break;
-        }
-    }
-    return EOS;
-}
-
-
-/* write_interface -- write SUBR for xlisp */
-/*
- * NOTE: if is_macro and there are no arguments, then
- *    do not write parens: e.g. "foo" instead of "foo()"
- */
-static void write_interface(in, out, type_name, fn_name, arg_loc, is_macro)
-    FILE *in;		/* input file */
-    FILE *out;		/* output file */
-    char *type_name;	/* c type for return value */
-    char *fn_name;	/* c function to be called */
-    char *arg_loc;	/* LISP arg type are described here */
-    int is_macro;	/* true if this is a macro */
-{
-    char lispfn[ident_max];	/* lisp fn name */
-    char *cp;		/* a temporary */
-    int len;		/* a string length */
-#define args_max 20
-    struct {
-        int index;	/* table location for this type */
-        int res_flag;	/* is a result returned? */
-    } args[args_max];
-    char arg_type[ident_max];	/* the original type spec */
-    char *c_type;	/* c type for an argument */
-    char *c_str;	/* temp for a c code line */
-    int argcnt = 0;	/* counts arguments */
-    int i;		/* argument index */
-    int result_flag = false;	/* true if there are result parameters */
-    int result_x;	/* index of result type */
-    char newline[line_max];	/* place to read continuation lines */
-
-
-/*    printf("write_interface: %s %s %s", type_name, fn_name, arg_loc);*/
-    if (*type_name == EOS || *fn_name == EOS) {
-        error();
-        fprintf(errfile, "Error: bad syntax, maybe missing type\n");
-        return;
-    }
-
-    while (*arg_loc != '(' && *arg_loc != EOS) arg_loc++;
-    if (*arg_loc == EOS) {
-        error();
-        fprintf(errfile, "Error: '(' expected after 'LISP:'\n");
-        return;
-    } else arg_loc++;
-    if (!getarg(arg_loc, lispfn, &arg_loc)) {
-        error();
-        fprintf(stdout, "Error: lisp function name expected\n");
-        return;
-    }
-    /* make it upper case: */
-    for (cp = lispfn; *cp != EOS; cp++) {
-        if (islower(*cp)) *cp = toupper(*cp);
-    }
-
-    /* save SUBR name */
-    strcpy(subr_table[subr_table_x], lispfn);
-    subr_table_x++;
-
-    /* make lispfn lower case, dash, colon -> underscore: */
-    for (cp = lispfn; *cp != EOS; cp++) {
-        if (isupper(*cp)) *cp = tolower(*cp);
-        if (*cp == '-' || *cp == ':') *cp = '_';
-    }
-    
-    /* append continuation lines to arg_loc to handle multi-line specs */
-    while (sindex(arg_loc, "*/") == NULL) {
-        /* remove newline */
-        if (strlen(arg_loc) > 0) 
-            arg_loc[strlen(arg_loc) - 1] = EOS;
-        if (fgets(newline, line_max, in) == NULL) {
-            error();
-            fprintf(stdout, "Error: end of file unexpected\n");
-            exit(1);
-        }
-        if ((strlen(arg_loc) + strlen(newline)) > (3 * line_max)) {
-            error();
-            fprintf(stdout, 
-                "Error: specification too long or missing end of comment.\n");
-            exit(1);
-        }
-        strcat(arg_loc, newline);
-    }
-
-    fprintf(out, "/%c xlc_%s -- interface to C routine %s */\n/**/\n",
-        '*', lispfn, fn_name);
-
-    fprintf(out, "LVAL xlc_%s(void)\n{\n", lispfn);
-    while (getarg(arg_loc, arg_type, &arg_loc)) {
-        int result_only_flag = false;
-
-        if (argcnt >= args_max) {
-            error();
-            fprintf(errfile, 
-                "Internal error: too many args, increase args_max\n");
-        }
-        len = strlen(arg_type);
-        if (arg_type[len-1] == '*') {
-            arg_type[len-1] = EOS;
-            args[argcnt].res_flag = true;
-            result_flag = true;
-        } else if (arg_type[len-1] == '^') {
-            arg_type[len-1] = EOS;
-            args[argcnt].res_flag = true;
-            result_flag = true;
-            result_only_flag = true;
-        } else args[argcnt].res_flag = false;
-        
-        args[argcnt].index = lookup(arg_type, 'L');
-        c_type = get_lisp_ctype(args[argcnt].index);
-
-        if (c_type == NULL) {
-            error();
-            fprintf(errfile, "Error: %s undefined, using int.\n",
-                arg_type);
-            c_type = "int";
-            args[argcnt].index = lookup("FIXNUM", 'L');
-        }
-        fprintf(out, "    %s arg%d = ", c_type,	argcnt+1);
-        if (result_only_flag) {
-            fprintf(out, "%s;\n",
-                    get_lisp_initializer(args[argcnt].index));
-         } else if (args[argcnt].index == any_index) {
-            fprintf(out, "xlgetarg();\n");
-        } else {
-            c_str = "%s(%s());\n";
-            fprintf(out,c_str,
-                    get_lisp_extract(args[argcnt].index),
-                    get_lisp_getarg(args[argcnt].index));
-        }
-        argcnt++;
-    }
-
-    if (*arg_loc != ')') {
-        fprintf(errfile,
-            "Warning: paren expected immediately after last arg of %s\n",
-            lispfn);
-    }
-
-    /* check for close paren and close comment: */
-    cp = sindex(arg_loc, ")");
-    if (cp == NULL || sindex(cp+1, "*/") == NULL) {
-        error();
-        fprintf(errfile, "Warning: close paren and close comment expected\n");
-    }
-
-    /* lookup result type */
-    result_x = lookup(type_name, 'C');
-    if (result_x == 0) {
-        fprintf(errfile, "Error: unknown type: %s, assuming void\n", 
-            type_name);
-        result_x = lookup("void", 'C');
-    }
-
-    /* if there are result parameters then return them rather than NIL
-     * when the type is void
-     */
-    if (get_c_special(result_x) == 'v' && result_flag) {
-        fprintf(out, "    LVAL result;\n");
-    }
-
-    if (get_c_special(result_x) != 'v') {
-        /* declare result: */
-        fprintf(out, "    %s result;\n", type_name);
-    }
-
-    /* check for end of argument list: */
-    fprintf(out, "\n    xllastarg();\n");
-
-    /* if there are results, we'll call cons, so
-     * protect the result from garbage collection
-     * if necessary
-     */
-    if (result_flag && strcmp(type_name, "LVAL") == 0) {
-        fprintf(out, "    xlprot1(result);\n");
-    }
-
-    /* call the c routine */
-    if (get_c_special(result_x) != 'v') {
-        fprintf(out, "    result = ");
-    } else fprintf(out, "    ");
-    fprintf(out, "%s", fn_name);
-    if (!is_macro || argcnt > 0) fprintf(out, "(");
-
-    /* pass arguments: */
-    for (i = 0; i < argcnt; i++) {
-        if (i > 0) fprintf(out, ", ");
-        if (args[i].res_flag) fprintf(out, "&");
-        fprintf(out, "arg%d", i+1);
-    }
-    if (!is_macro || argcnt > 0) fprintf(out, ")");
-    fprintf(out, ";\n");
-
-    /* put results (if any) on *RSLT* */
-    if (result_flag) {
-        int wrote_one_flag = false;
-        fprintf(out, "    {\tLVAL *next = &getvalue(RSLT_sym);\n");
-        for (i = 0; i < argcnt; i++) {
-            if (args[i].res_flag) {
-                if (wrote_one_flag)
-                    fprintf(out, "\tnext = &cdr(*next);\n");
-                wrote_one_flag = true;
-                fprintf(out, "\t*next = cons(NIL, NIL);\n");
-                fprintf(out, "\tcar(*next) = %s(arg%d);",
-                    get_lisp_makenode(args[i].index), i+1);
-            }
-        }
-        fprintf(out, "\n    }\n");
-
-        /* copy *RSLT* to result if appropriate */
-        if (get_c_special(result_x) == 'v') {
-            fprintf(out, "    result = getvalue(RSLT_sym);\n");
-        }
-    }
-
-
-    /* generate xlpop() if there was an xlprot1() */
-    if (result_flag && strcmp(type_name, "LVAL") == 0) {
-        fprintf(out, "    xlpop();\n");
-    }
-
-
-    /* now return actual return value */
-    if (get_c_special(result_x) == EOS) {
-        error();
-        fprintf(errfile, "Warning: unknown type from C, coercing to int.\n");
-        fprintf(out, "    return cvfixnum((int) result);\n");
-    } else if (get_c_special(result_x) == 'v' && !result_flag) {
-        fprintf(out, "    return NIL;\n");
-    } else if (get_c_special(result_x) == 'v' && result_flag) {
-        fprintf(out, "    return result;\n");
-    } else if (get_c_special(result_x) == 's') {
-        fprintf(out, "    if (result == NULL) return NIL;\n");
-        fprintf(out, "    else return %s(result);\n",
-            get_c_conversion(result_x));
-    } else {
-        fprintf(out, "    return %s(result);\n",
-            get_c_conversion(result_x));
-    }
-    fprintf(out, "}\n\n\n");
-}
-
-
-/* write_postlude -- write stuff at end of file */
-/**/
-static void write_postlude(out)
-    FILE *out;
-{
-        /* nothing to do for version 2 */
-}
-
-
-/* write_ptrfile -- write function definition table */
-/**/
-static void write_ptrfile(pf, df)
-  FILE *pf;
-  FILE *df;
-{
-    int n;
-    char *cp;
-    char cname[ident_max];
-
-    for (n = 0; n < subr_table_x; n++) {
-        strcpy(cname, subr_table[n]);
-        /* make cname lower case, dash,colon -> underscore: */
-        for (cp = cname; *cp != EOS; cp++) {
-            if (isupper(*cp)) *cp = tolower(*cp);
-            if (*cp == '-' || *cp == ':') *cp = '_';
-        }
-        fprintf(df, "extern LVAL xlc_%s(void);\n", cname);
-        fprintf(pf, "  { \"%s\",  S, xlc_%s}, \n", subr_table[n], cname);
-    }
-    printf("	Add %s to localdefs.h and add %s to localptrs.h\n",
-        def_file, ptr_file);
-}
-
-
-/* write_prelude -- write stuff at head of file */
-/**/
-static void write_prelude(out, out_file)
-    FILE *out;
-    char *out_file;
-{
-    int i = 2;
-    int col = strlen(out_file) + 21;
-    char *s;
-    fprintf(out, "/%c %s -- interface to  ",
-         '*', out_file);
-    while ((s = cl_arg(i)) != NULL) {
-        if (i > 2) {
-            fprintf(out, ", ");
-            col += 2;
-        }
-        col += strlen(s) + 2;
-        if (col > 65) {
-            fprintf(out, "\n * ");
-            col = 4 + strlen(s) + 2;
-        }
-        fprintf(out, "%s", s);
-        i++;
-    }
-    fprintf(out, " */\n\n%cifndef mips\n%cinclude \"stdlib.h\"\n", '#', '#');
-    fprintf(out, "%cendif\n%cinclude \"xlisp.h\"\n\n", '#', '#');
-#ifdef S_TRUE
-    fprintf(out, "extern LVAL s_true;\n");
-    fprintf(out, "%cdefine cvboolean(i) ((i) ? s_true : NIL)\n", '#');
-#else
-    fprintf(out, "extern LVAL true;\n");
-    fprintf(out, "%cdefine cvboolean(i) ((i) ? true : NIL)\n", '#');
-#endif
-
-    fprintf(out, "%c%s\n",
-        '#',
-        "define testarg2(e) (moreargs() ? (e) : (getflonum(xltoofew())))");
-
-    fprintf(out, "%c%s\n%s\n%s\n",
-        '#',
-        "define xlgaanynum() (floatp(*xlargv) ? getflonum(nextarg()) : \\",
-        "    (fixp(*xlargv) ? (double) getfixnum(nextarg()) : \\",
-/* note: getflonum never gets called here, but this makes typechecking happy */
-        "        getflonum(xlbadtype(*xlargv))))");
- 
-    fprintf(out, "%cdefine getboolean(lval) ((lval) != NIL)\n\n", '#');
-    fprintf(out, "extern LVAL RSLT_sym;\n\n\n");
-}
diff --git a/lib-src/libnyquist/misc/intgen_win32/intgen.dsp b/lib-src/libnyquist/misc/intgen_win32/intgen.dsp
deleted file mode 100644
index 4e485c9..0000000
--- a/lib-src/libnyquist/misc/intgen_win32/intgen.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="intgen" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=intgen - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "intgen.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "intgen.mak" CFG="intgen - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "intgen - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "intgen - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "intgen - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "WinRel"
-# PROP Intermediate_Dir "WinRel"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "intgen - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "WinDebug"
-# PROP Intermediate_Dir "WinDebug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\sys\win\msvc" /I "..\..\cmt" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "intgen - Win32 Release"
-# Name "intgen - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\cmdline.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\intgen2.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\cmdline.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\sys\win\msvc\switches.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/lib-src/libnyquist/misc/makefile.lsp b/lib-src/libnyquist/misc/makefile.lsp
deleted file mode 100644
index 11a3e3c..0000000
--- a/lib-src/libnyquist/misc/makefile.lsp
+++ /dev/null
@@ -1,550 +0,0 @@
-;; makefile.lsp -- builds makefiles for various machine types
-
-(setf system-types '(rs6k next pmax sparc sgi linux))
-
-(if (not (boundp 'system-type)) (setf system-type nil))
-(if (not (boundp 'target-file)) (setf target-file "ny"))
-
-(format t "System types: ~A~%" system-types)
-(format t "Current type: ~A~%" system-type)
-(format t "Current target: ~A~%" target-file)
-(format t "~%Instructions: (run from top nyquist directory)~%")
-(format t "Choose a system from the list above by typing:~%")
-(format t "\t(setf system-type '<a system type>)~%")
-(format t "Override the executable name or location by:~%")
-(format t "\t(setf target-file \"unix-path-name/ny\")~%")
-(format t "To build the Makefile, type:~%")
-(format t "\t(makefile)~%")
-(format t "To make Makefiles for all system types, type:~%")
-(format t "\t(makeall)~%")
-
-;(format t "To build the Makesrc file, type:~%")
-;(format t "\t(makesrc)~%")
-;(format t
-;"Note: Makesrc is used to update sources from other directories.
-;    It isn't necessary if you got the sources from the normal
-;    .tar file release of Nyquist
-;")
-
-
-(setf xlfiles '("extern" "xldmem" 
-  "xlbfun" "xlcont" "xldbug" "xleval"
-  "xlfio" "xlftab" "xlglob" "xlimage" "xlinit" "xlio" "xlisp"
-  "xljump" "xllist" "xlmath" "xlobj" "xlpp" "xlprin" "xlread"
-  "xlstr" "xlsubr" "xlsym" "xlsys"))
-
-(setf xlfiles-h '("osdefs" "osptrs" "xldmem" "xlisp" "extern"))
-
-(setf xlfiles-lsp '("xlinit" "misc" "evalenv" "printrec"))
-
-(setf nyqfiles '("debug" "falloc" "add" "local"
-  "downsample" "handlers" "multiread" "multiseq" "samples"
-  "seqext" "seqinterf" "sndread" "sndseq"
-  "sndwrite" "sndmax" "sound" "stats" "compose" "inverse"
-  "resamp" "resampv" "ffilterkit" "avg" "fft" "sndfail"))
-
-(setf fftfiles '("fftn"))
-
-; note: audio<sys> and snd<sys> will be prepended to this list, e.g.
-;   the strings "audiooss" and "sndlinux" will be added for linux systems
-;
-(defun init-sndfiles ()
-  (setf sndfiles '("ieeecvt" "snd" "sndcvt" "sndio" "sndheader"))
-  (setf sndfiles-lsp '("snd")))
-
-(init-sndfiles)
-
-(setf depends-exceptions '(
-   ("nyqsrc/handlers" "") 
-   ("nyqsrc/sndfail" "")
-   ("nyqsrc/local" "xlisp/xlisp.h nyqsrc/sound.h")
-   ("nyqsrc/stats" "nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h")
-   ("snd/sndcvt" "snd/snd.h")
-   ("snd/sndio" "snd/snd.h")
-   ("snd/audiors6k" "snd/snd.h")
-   ("snd/audionext" "snd/snd.h")
-   ("snd/audiosgi" "snd/snd.h")
-   ("snd/audiopmax" "snd/snd.h")
-   ("snd/audiosparc" "snd/snd.h")
-   ("snd/audiolinux" "snd/snd.h")
-   ("snd/audiooss" "snd/snd.h")
-   ("nyqsrc/sndfnint" "")  ; sparc needs explicit rule for sndfnint.o
-   ("nyqsrc/seqfnint" "")  ; ditto for seqfnint.o
-))
-
-(setf nyqfiles-lsp '("init" "nyquist" "seqmidi" "seq" "makefile" "update" "transfiles" "examples" "nyinit"))
-
-(setf system-types-as-strings (mapcar #'string-downcase 
-                (mapcar #'symbol-name system-types)))
-(setf nyqfiles-lsp (append nyqfiles-lsp system-types-as-strings))
-
-(setf nyqfiles-h '("localdefs" "localptrs" "seqdecls" "cque" "switches"))
-
-(setf intfiles '("sndfnint" "seqfnint"))
-
-(setf extrafiles nil)
-;(dolist (m system-types)
-;        (push (strcat "Makefile." 
-;                      (string-downcase (symbol-name m)))
-;              extrafiles))
-(push "export" extrafiles)
-(push "README" extrafiles)
-(push "howtorelease.doc" extrafiles)
-
-(setf cmtfiles '("cext" "cleanup" "cmdline" "cmtcmd" 
-  "moxc" "mem" "midifile" "midifns" "record"
-  "seq" "seqmread" "seqmwrite" "seqread" "seqwrite" "tempomap"
-  "timebase" "userio")) ; "midimgr" - removed by RBD
-
-(setf cmtfiles-h '("mfmidi" "midicode" "midierr" "musiprog"
-  "pitch"  "swlogic" "hash" "hashrout" "io" "midibuff"))
-
-
-;; MAKEALL - makes all makefiles and copies them to nyqsrc
-;; 
-;; run this in nyquist/src
-;; 
-(defun makeall ()
-;  (makesrc)
-;  (system "cp -p Makesrc nyqsrc")
-  (dolist (m system-types)
-      (setf system-type m)
-      (setf m (string-downcase (symbol-name m)))
-      (init-sndfiles)
-      (makefile)))
-
-
-;; MAKE-AUDIO-NAME -- (strcat "audio" system-name)
-(defun make-audio-name (system-name)
-  (cond ((eq system-type 'linux)
-         "audiooss")
-        (t (strcat "audio" system-name))))
-
-;; MAKE-SND-NAME -- (strcat "audio" system-name)
-(defun make-snd-name (system-name)
-   (strcat "snd" system-name))
-
-
-;; MAKEFILE - creates a Makefile from a list of sources
-;;
-;; reads sources from nyqfiles.txt
-(defun makefile ()
-  (let (system-name outf outf-name)
-    (load "misc/transfiles.lsp") ; just to make sure we're current
-    (while (null system-type)
-       (format t "Write Makefile for what system?  One of:~A~%" system-types)
-       (setf system-type (read))
-       (cond ((not (member system-type system-types))
-          (format t "Unknown system type.~%")
-          (setf system-type nil))))
-    (setf system-name (string-downcase
-      (symbol-name system-type)))
-    (setf outf-name (strcat "sys/unix/" system-name "/Makefile"))
-    (format t "Opening for output: ~A\n" outf-name)
-    (setf outf (open outf-name :direction :output))
-    (setf sndfiles (cons (make-audio-name system-name)
-             (cons (make-snd-name system-name) sndfiles)))
-    (format outf 
-     "#
-# Makefile for Nyquist, SYSTEM-TYPE is ~A
-# run make in the top-level Nyquist directory to compile Nyquist
-#
-# NOTE: this file is machine-generated.  DO NOT EDIT!
-#   Instead, modify makefile.lsp and regenerate the makefile.
-#   Ports and bug fixes are welcome - please mail them to 
-#   dannenberg at cs.cmu.edu.  Thanks.
-#
-
-# This is the resulting executable (normally \"ny\"):
-NY = ~A
-
-# Standard list of includes (common to all unix versions)
-INCL = -Inyqsrc -Itran -Ixlisp -Isys/unix -Icmt -Isnd -Ifft
-
-# system dependent stuff for ~A:
-~A
-
-INTGEN = misc/intgen
-
-# Object files for Nyquist:
-" system-type target-file system-name (system-defs))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-    (object-files outf)
-    (format outf "# Sound functions to add to xlisp~%")
-    (nyqheaders outf)
-    (cmtheaders outf)
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-    (format outf "
-EVERYTHING = $(NY) runtime/system.lsp
-
-CURRENT = $(EVERYTHING)
-
-current: $(CURRENT)
-
-$(NY): $(OBJECTS)
-\t$(LN) $(OBJECTS) $(LFLAGS) -o $(NY)
-
-# copy appropriate system.lsp and make it read-only;
-# changes should be made to sys/unix/<system>/system.lsp
-runtime/system.lsp: sys/unix/~A/system.lsp
-\tchmod +w runtime/system.lsp
-\tcp -p sys/unix/~A/system.lsp runtime/system.lsp
-\tchmod -w runtime/system.lsp
-
-" system-name system-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-    (dependencies outf system-name)
-    (format outf (system-rules))
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-    (format outf
-        "misc/intgen: misc/intgen.c
-\tcd misc; make intgen
-
-misc/unpacker: misc/unpacker.c misc/convert.c
-\tcd misc; make unpacker
-
-misc/packer: misc/packer.c misc/convert.c
-\tcd misc; make packer
-
-nyqsrc/sndfnintptrs.h: $(NYQHDRS) snd/snd.h misc/intgen
-\t$(INTGEN) nyqsrc/sndfnint $(NYQHDRS)
-
-nyqsrc/seqfnintptrs.h: $(CMTHDRS) misc/intgen
-\t$(INTGEN) nyqsrc/seqfnint $(CMTHDRS)
-
-clean:
-\tcd misc; make clean
-\trm -f $(OBJECTS)
-# Note that these files are machine-generated:
-\trm -f nyqsrc/sndfnintptrs.h nyqsrc/sndfnint.c nyqsrc/sndfnintdefs.h
-\trm -f nyqsrc/seqfnintptrs.h nyqsrc/seqfnint.c nyqsrc/seqfnintdefs.h
-
-cleaner: clean
-\tcd misc; make cleaner
-\trm -f *.backup */*.backup
-\trm -f *~~ */*.*~~
-\trm -f *.save */*.save
-\trm -f *.CKP */*.CKP
-\trm -f *.BAK */*.BAK
-\trm -f *.old */*.old
-\trm -f *.gold */*.gold
-\trm -f playparms
-\trm -f points.dat
-")
-
-    (cond ((eq system-type 'rs6k)
-       (format outf "
-tar: cleaner
-\tsh -v sys/unix/cmu/tar.script
-
-backup: cleaner
-\tsh -v sys/unix/cmu/backup.script
-")))
-    (close outf)
-    ))
-
-
-
-;; system-defs looks for a string of system-dependent defs for the makefile
-;;
-(defun system-defs () (system-var "-DEFS"))
-
-
-;; system-rules looks for a string of system-dependent rules for the makefile
-;;
-(defun system-rules () (system-var "-RULES"))
-
-
-;; system-var returns a string stored in the variable (if any):
-;;   <system-type>-<suffix>
-;;
-(defun system-var (suffix)
-  (let ((v (intern (strcat (symbol-name system-type) suffix))))
-    (cond ((boundp v) (symbol-value v))
-      (t ""))))
-
-
-;; object-files - writes names of all object files for linking
-;;
-(defun object-files (outf)
-  (let ((flist (append (add-prefix "xlisp/" xlfiles)
-               (add-prefix "tran/" transfiles)
-               (add-prefix "cmt/" cmtfiles)
-               (add-prefix "nyqsrc/" nyqfiles)
-               (add-prefix "fft/" fftfiles)
-               (add-prefix "nyqsrc/" intfiles)
-               (add-prefix "snd/" sndfiles)
-               '("sys/unix/osstuff" "sys/unix/term"))))
-    (setf flist (add-suffix flist ".o"))
-    (format outf "OBJECTS = ")
-    (write-file-list outf flist)))
-
-
-;; add-prefix - place string at beginning of each string in list
-;;
-(defun add-prefix (prefix lis)
-  (mapcar #'(lambda (str) (strcat prefix str)) lis))
-
-
-;; add-suffix - place string at end of each string in list
-;;
-(defun add-suffix (lis suffix)
-  (mapcar #'(lambda (str) (strcat str suffix)) lis))
-
-
-;; write-file-list - write file names to Make macro
-;;
-(defun write-file-list (outf flist)
-  (while flist
-     (dotimes (i 4)
-          (format outf "~A " (car flist))
-          (setf flist (cdr flist))
-          (if (null flist) (return)))
-     (if flist (format outf " \\~%\t")))
-  (format outf "~%~%"))
-
-
-(defun nyqheaders (outf)
-  (let ((flist (append
-        (list "snd/snd")
-        (add-prefix "nyqsrc/"
-         '("sound" "downsample" "sndread" "sndseq" "add"
-           "multiseq" "samples" "sndwrite" "sndmax" "compose" 
-           "inverse" "resamp" "resampv" "fft" "avg"))
-        (add-prefix "tran/" transfiles))))
-    (setf flist (mapcar #'(lambda (f) (strcat f ".h")) flist))
-    (format outf "NYQHDRS = ")
-    (write-file-list outf flist)))
-
-
-(defun cmtheaders (outf)
-  (let ((flist 
-     (append '("cmt/seqdecls" "nyqsrc/seqext" "cmt/seq"
-           "nyqsrc/seqinterf")  ; order is important here!
-         (add-prefix "cmt/"
-          '("seqread" "seqmread" "seqwrite" "seqmwrite")))))
-    (setf flist (add-suffix flist ".h"))
-    (format outf "CMTHDRS = ")
-    (write-file-list outf flist)))
-
-
-(defun dependencies (outf system-name)
-  ;; this forces generation of sndfnintdefs.h, seqfnintdefs.h:
-  (dolist (f (append (add-prefix "nyqsrc/" nyqfiles)
-             (add-prefix "snd/" sndfiles)
-             (add-prefix "fft/" fftfiles)
-             (add-prefix "tran/" transfiles)
-             (add-prefix "nyqsrc/" intfiles)))
-    (let ((ex (assoc f depends-exceptions :test #'equal)))
-      (cond ((and ex (cdr ex))
-         (format outf "~A.o: ~A.c ~A~%" f f (cadr ex))
-         (format outf "\tcc -c ~A.c -o ~A.o $(CFLAGS)~%~%" f f))
-        (t
-         (format outf "~A.o: ~A.c ~A.h nyqsrc/sound.h nyqsrc/falloc.h nyqsrc/cque.h~%"
-              f f f)
-         (format outf "\tcc -c ~A.c -o ~A.o $(CFLAGS)~%~%" f f)))))
-
-  (format outf "xlisp/xlftab.o: nyqsrc/sndfnintptrs.h nyqsrc/sndfnintdefs.h")
-  (format outf " nyqsrc/seqfnintptrs.h nyqsrc/seqfnintdefs.h~%")
-  (format outf "\tcc -c xlisp/xlftab.c -o xlisp/xlftab.o $(CFLAGS)~%~%")
-  (dolist (f (append (add-prefix "xlisp/" xlfiles)
-             (add-prefix "cmt/" cmtfiles)
-             '("sys/unix/osstuff")))
-    (cond ((and (not (equal f "xlisp/xlftab"))   ; special case handled above
-        (not (and (equal f "xlisp/xljump") ; case handled below
-              (equal system-name "next"))))
-       (format outf "~A.o: ~A.c~%\tcc -c ~A.c -o ~A.o $(CFLAGS)~%~%"
-           f f f f)))))
-
-
-;; MAKESRC -- makes the Makesrc file
-;;
-(defun makesrc ()
-  (let (outf)
-    (load "misc/transfiles.lsp") ; just to make sure we're current
-    (format t "Writing Makesrc\n")
-    (setf outf (open "Makesrc" :direction :output))
-    (format outf "#
-# FILE: Makefile to import sources
-#
-# usage: make -f Makesrc
-#
-# I want to be able to keep sources separate from objects, e.g. the
-# MIDI sequence code comes from the CMU MIDI Toolkit, and XLisp should
-# be compile-able without Nyquist.
-#
-# There are tools to do this, but I don't expect to find the same tool
-# everywhere Nyquist is ported, so I'm taking this simple path.
-
-# Source Paths:
-NYQ = nyqsrc
-CMT = cmt
-XLISP = xlisp
-TRANS = tran
-SND = snd
-
-EVERYTHING: sources
-
-")
-    (source-files outf)
-    (format outf "
-#
-# XLISP SOURCES
-#
-")
-    (source-depends outf xlfiles ".c" "XLISP")
-    (source-depends outf xlfiles-h ".h" "XLISP")
-    (source-depends outf xlfiles-lsp ".lsp" "XLISP")
-
-    (format outf "
-#
-# NYQUIST SOURCES
-#
-")
-    (source-depends outf nyqfiles ".c" "NYQ")
-    (source-depends outf (exceptions-filter nyqfiles) ".h" "NYQ")
-    (source-depends outf nyqfiles-h ".h" "NYQ")
-    (source-depends outf nyqfiles-lsp ".lsp" "NYQ")
-    (source-depends outf extrafiles "" "NYQ")
-
-    (format outf "
-#
-# CMT SOURCES
-#
-")
-    (source-depends outf cmtfiles ".c" "CMT")
-    (source-depends outf (exceptions-filter cmtfiles) ".h" "CMT")
-    (source-depends outf cmtfiles-h ".h" "CMT")
-
-    (format outf "
-#
-# TRANS SOURCES
-#
-")
-    (source-depends outf transfiles ".c" "TRANS")
-    (source-depends outf transfiles ".h" "TRANS")
-
-    (format outf "
-#
-# SND SOURCES
-#
-")
-    (source-depends outf sndfiles ".c" "SND")
-    (source-depends outf sndfiles ".h" "SND")
-
-    (close outf)))
-        
-
-;; SOURCE-FILES -- writes the sources: list to Makesrc
-;;
-(defun source-files (outf)
-  (setf flist (append xlfiles nyqfiles fftfiles cmtfiles transfiles sndfiles))
-  (setf flist-h (append xlfiles-h nyqfiles-h cmtfiles-h transfiles))
-  ; Add .c files as .h files unless exceptions list indicates there is
-  ; no .h file:
-  (setf flist-h (append (exceptions-filter nyqfiles)
-            (exceptions-filter cmtfiles)
-            (exceptions-filter sndfiles)
-            flist-h))
-  (setf flist-lsp (append xlfiles-lsp nyqfiles-lsp sndfiles-lsp))
-  (setf flist (mapcar #'(lambda (f) (strcat f ".c")) flist))
-  (setf flist-h (mapcar #'(lambda (f) (strcat f ".h")) flist-h))
-  (setf flist-lsp
-    (mapcar #'(lambda (f) (strcat f ".lsp")) flist-lsp))
-  (format outf "sources: ")
-  (write-file-list outf (append flist flist-h flist-lsp extrafiles)))
-
-
-;; EXCEPTIONS-FILTER - remove .h files from list
-; the depends-exceptions tells whether a .h file exists for a .c file
-;; 
-(defun exceptions-filter (files)
-  (let (result)
-    (dolist (f files)
-      (let ((ex (assoc f depends-exceptions :test #'equal)))
-    (cond (ex
-           (if (and (cdr ex)
-              (string-search (strcat f ".h") (cadr ex)))
-           (push f result)))
-          (t (push f result)))))
-    result))
-
-
-;; SOURCE-DEPENDS -- write dependency for source files
-;;
-(defun source-depends (outf files ext dir)
-  (dolist (f files)
-    (let ((fname (strcat f ext)))
-      (format outf
- "~A: $(~A)/~A~%\trm -f ~A~%\tcp -p $(~A)/~A .~%\tchmod -w ~A~%~%"
-          fname dir fname fname dir fname fname))))
-
-
-;;===================================================
-;; SYSTEM DEPENDENCIES
-;;===================================================
-
-(setf rs6k-defs "
-MIDI = /afs/cs/project/music/rs6k/midilib
-CC = cc
-# change -g to -O for optimization
-CFLAGS = -DCMTSTUFF -g $(INCL) -I$(MIDI)
-XFLAGS = $(CFLAGS) -qlanglvl=extended
-LN = xlc -qattr -qlist
-LFLAGS = -lm -L$(MIDI) -lmidi -lbsd -lg
-")
-
-
-(setf next-defs "
-CC = cc
-CFLAGS = -DCMTSTUFF -O $(INCL)
-LN = cc
-LFLAGS = -lm
-")
-
-(setf next-rules "
-# this doesn't compile with the -O switch (a NeXT compiler bug?)
-xlisp/xljump.o : xlisp/xljump.c xlisp/xlisp.h
-\t$(CC) -DCMTSTUFF -c xlisp/xljump.c -o xlisp/xljump.o
-")
-
-(setf pmax-defs "
-CC = cc
-CFLAGS = -DCMTSTUFF -g $(INCL)
-LN = cc
-LFLAGS = -lm
-")
-
-
-(setf sgi-defs "
-CC = cc
-CFLAGS = -DCMTSTUFF -g $(INCL)
-LN = cc
-LFLAGS = -lm
-# you would need -lmd if UNIX_IRIX_MIDIFNS were defined in midifns.c
-")
-
-
-(setf sparc-defs "
-CC = gcc
-CFLAGS = -DCMTSTUFF -g $(INCL)
-LN = $(CC)
-LFLAGS = -lm
-")
-
-(setf linux-defs "
-CC = gcc
-CFLAGS = -DCMTSTUFF -O2 $(INCL)
-LN = $(CC)
-LFLAGS = -lm
-")
-
-
-
-
-
-
-
diff --git a/lib-src/libnyquist/misc/packer.c b/lib-src/libnyquist/misc/packer.c
deleted file mode 100644
index ffd89fa..0000000
--- a/lib-src/libnyquist/misc/packer.c
+++ /dev/null
@@ -1,311 +0,0 @@
-/* packer -- a program to pack a list of files into one */
-
-/* The input is a file with one line per file to be packed.
-   Each line starts with either 'a' or 'b' for ascii or binary.
-   The second character is a space or tab (it's ignored).
-   The third character to the end of the line is the file to be packed.
-
-   The encoding is as follows:
-   A file starts with '!' for ascii or '#' for binary in column one.
-   The remainder of the line is a file name/path.
-   Ascii files have a special character in column 1:
-       'A'-'~' indicates 0 to n blanks.  Leading Tabs are converted to blanks
-           and included in this count.
-     '0'-'9' indicates 0 to 9 blank lines (always followed by an additional newline).
-   Otherwise, all characters are just copied to output except:
-   '$' is an escape character:
-        $$ indicates $,
-        $@ through $_ indicate 0x00 through 0x1F,
-        $\n indicates an empty string (useful for avoiding long lines on output)
-        After $\n, the following character is not treated specially even though
-        it is in column 1.
-
-   Should we be doing more to compress files?  It looks like the special
-   handling of leading blanks compresses files about 4%.  This is not much,
-   but the encoding allows us to put markers (! and #) in column 1 to
-   separate files. Originally, leading blank handling also converted between
-   8 and 4 character tab stops, but you can no longer assume tab stops under,
-   say, Windows, are 8 characters wide. Source files should not have
-   tabs.
-
-   Further simple encoding such as run-length encoding and word
-   substitution doesn't buy too much and was deemed not worth the effort.
-   Run-length encoding seems to buy another couple of percent.
-   Substitution for common words like int, print, return, the, register,
-   etc. buys maybe .5% per word, but it seems unlikely this will buy
-   more than a total of 10%, so we're looking at a max of 15% to 20%
-   compression without starting to huffman encode at the bit level.
-
-   For binary files, every 3 bytes are used to form a 24-bit number which is
-   split into 4 fields of 6 bits.  Each field is encoded by adding ascii '0'.
-   If only one or two bytes are left at the end of the file, the encoding is
-   as if zeros were appended to the file, but only 2 or 3 ascii characters
-   (instead of the usual 4) are output.  The ascii file encoding is terminated
-   with a period ('.').  Newlines are inserted to keep line lengths down but
-   should be ignored by the reader.
- */
-
-
-#include "switches.h"
-#include "stdlib.h"
-#include "string.h"
-#include "cext.h"
-#include "convert.h"
-/* since we aren't using the cleanup package, expose exit(): */
-#undef exit
-
-#include "stdio.h"
-#ifdef MACINTOSH
-#include "console.h"
-#endif
-
-#define EOS 0
-
-#define string_max 500
-
-void pack_newline();
-void pack_ascii();
-void pack_binary();
-void put_binary();
-
-/* main -- pack a list of files */
-/**/
-int main(argc, argv)
-  int argc;
-  char *argv[];
-{
-    FILE *inf;  /* input file: a list of file names to pack */
-    FILE *outf; /* the packed output */
-    char filename[string_max];  /* holds names of input files */
-    char convname[string_max];  /* filename converted to local syntax */
-    int base = 1;
-#ifdef MACINTOSH
-    argc = ccommand(&argv);
-#endif
-    if (argc != 3 && argc != 4) {
-        fprintf(stderr, "Usage: packer [-p] input-list-file output-file\n");
-        exit(1);
-    }
-    if (argc == 4) {
-        base = 2;
-        if (strcmp(argv[1], "-p") == 0) {
-            pauseflag = 1;
-        } else {
-            fprintf(stderr, "Expected \"-p\" as 1st argument.\n");
-            exit(1);
-        }
-    }
-    inf = fopen(argv[base], "r");
-    if (!inf) {
-        fprintf(stderr, "Couldn't open |%s|\n", argv[base]);
-        exit(1);
-    }
-    outf = fopen(argv[base+1], "w");
-    if (!outf) {
-        fclose(inf);
-        fprintf(stderr, "Couldn't open |%s|\n", argv[base + 1]);
-        exit(1);
-    }
-    printf("Using tab width of %d\n", TAB_WIDTH);
-    while (fgets(filename, string_max, inf)) {
-        filename[strlen(filename) - 1] = EOS;   /* remove newline at end */
-        if (filename[0] == EOS) continue;       /* skip blank lines */
-        puts(filename);
-        strcpy(convname, filename + 2);
-        convert(convname);
-        if (filename[0] == 'a') pack_ascii(filename + 2, convname, outf);
-        else if (filename[0] == 'b') pack_binary(filename + 2, convname, outf);
-        else {
-            fprintf(stderr, "Bad file spec (expecting a or b in col 1): %s\n",
-                     filename);
-            if (PAUSE) getchar();
-        }
-
-    }
-    fclose(outf);
-    fclose(inf);
-    return 0;
-}
-
-
-/* pack_ascii -- open filename and append its encoding to outf */
-/**/
-void pack_ascii(filename, convname, outf)
-  char *filename;
-  char *convname;
-  FILE *outf;
-{
-    int line_len = 0;
-    int c;
-    FILE *inf;
-
-    inf = fopen(convname, "r");
-    /* printf("opened %lx\n", inf); */
-    if (!inf) {
-        fprintf(stderr, "Couldn't open |%s| - skipped\n", convname);
-        if (PAUSE) getchar();
-        return;
-    }
-    fprintf(outf, "!%s\n", filename);
-
-    pack_newline(inf, outf, &line_len);
-    while ((c = getc(inf)) != EOF) {
-        if (c > 127) {
-            fprintf(stderr, "non-ascii char 0x%x in %s.\n", c, convname);
-            exit(1);
-        } else if (c == '\n') {
-            putc(c, outf);
-            line_len = 0;
-            pack_newline(inf, outf, &line_len);
-        } else if (c == '$') {
-            putc('$', outf);
-            putc('$', outf);
-            line_len += 2;
-        } else if (c < 32) {
-            putc('$', outf);
-            putc('@' + c, outf);
-            line_len += 2;
-        } else {
-            putc(c, outf);
-            line_len++;
-        }
-        if (line_len > 70) {
-            putc('$', outf);
-            putc('\n', outf);
-            line_len = 0;
-        }
-    }
-    if (line_len) {
-        fprintf(stderr, "missing newline added to the end of %s\n", convname);
-        putc('\n', outf);
-        if (PAUSE) getchar();
-    }
-    /* printf("closing %lx\n", inf); */
-    fclose(inf);
-}
-
-
-/* pack_binary -- open binary filename and append its encoding to outf */
-/**/
-void pack_binary(filename, convname, outf)
-  char *filename;
-  char *convname;
-  FILE *outf;
-{
-    int line_len = 0;
-    int c;
-    long data;
-    int n;
-    FILE *inf;
-    boolean isbinary = false;
-
-    inf = fopen(convname, "rb");
-    /* printf("opened %lx\n", inf); */
-    if (!inf) {
-        fprintf(stderr, "Couldn't open |%s| - skipped\n", convname);
-        if (PAUSE) getchar();
-        return;
-    }
-    fprintf(outf, "#%s\n", filename);
-
-    n = 0;
-    data = 0;
-    while ((c = getc(inf)) != EOF) {
-        if (c > 127) isbinary = true;
-        data = (data << 8) | c;
-        n++;
-        if (n == 3) {
-            put_binary(data, outf);
-            n = 0;
-            data = 0;
-            line_len += 4;
-            if (line_len >= 70) {
-                putc('\n', outf);
-                line_len = 0;
-            }
-        }
-    }
-    if (n == 1) {
-        data = data << 16;
-        putc('0' + ((data >> 18) & 0x3F), outf);
-        putc('0' + ((data >> 12) & 0x3F), outf);
-    }
-    if (n == 2) {
-        data = data << 8;
-        putc('0' + ((data >> 18) & 0x3F), outf);
-        putc('0' + ((data >> 12) & 0x3F), outf);
-        putc('0' + ((data >> 6) & 0x3F), outf);
-    }
-    putc('.', outf);
-    putc('\n', outf);
-    if (!isbinary) {
-        fprintf(stderr, "%s seems to be an ascii file.\n", convname);
-        if (PAUSE) getchar();
-    }
-    /* printf("closing %lx\n", inf); */
-    fclose(inf);
-}
-
-
-/* pack_newline -- newline sequence encoding to outf */
-/**/
-void pack_newline(inf, outf, line_len)
-  FILE *inf;    /* input file */
-  FILE *outf;   /* where to write output */
-  int *line_len;
-{
-    int c;
-    int count = 0;
-    int outc;
-    
-    while (((c = getc(inf)) != EOF) && (c == '\n')) {
-         count++;                       
-    }
-    while (count >= 10) {
-        fprintf(outf, "9\n");
-        *line_len = 0;
-        count -= 10;
-    }
-    if (count > 0) {
-        fprintf(outf, "%c\n", '0' + count - 1);
-        *line_len = 0;
-    }
-    
-    /* now run-length encode leading blanks... */
-    count = 0;
-    while (c != EOF) {
-        if (c == ' ') count++;
-        /* we no longer convert tabs to spaces...
-         else if (c == '\t') count += TAB_WIDTH;
-         */
-        else break;
-        c = getc(inf);
-    }
-    if (c != EOF || count) {
-        outc = 'A' + count;
-        if (outc > '~') outc = '~';
-        putc(outc, outf);
-        (*line_len) += 1;
-        count -= (outc - 'A');
-        while (count > 0) {
-            putc(' ', outf);
-            (*line_len) += 1;
-            count--;
-        }
-    }
-    /* now do the rest of the line */
-    if (c != EOF) ungetc(c, inf);
-}
-
-
-/* put_binary -- write 3 binary bytes as 4 ascii bytes */
-/**/    
-void put_binary(data, outf)
-  long data;
-  FILE *outf;
-{
-    putc('0' + ((data >> 18) & 0x3F), outf);
-    putc('0' + ((data >> 12) & 0x3F), outf);
-    putc('0' + ((data >> 6) & 0x3F), outf);
-    putc('0' + (data & 0x3F), outf);
-}
diff --git a/lib-src/libnyquist/misc/packer.dsp b/lib-src/libnyquist/misc/packer.dsp
deleted file mode 100644
index e74e028..0000000
--- a/lib-src/libnyquist/misc/packer.dsp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Microsoft Developer Studio Project File - Name="packer" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=packer - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "packer.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "packer.mak" CFG="packer - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "packer - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "packer - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "packer - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "packer_Release"
-# PROP Intermediate_Dir "packer_Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "packer - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "packer___Win32_Debug"
-# PROP BASE Intermediate_Dir "packer___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "packer_Debug"
-# PROP Intermediate_Dir "packer_Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\cmt" /I "..\sys\win\msvc" /I "../cmt" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "packer - Win32 Release"
-# Name "packer - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\nyquist21\misc\convert.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\nyquist21\misc\packer.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\nyquist21\misc\convert.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/lib-src/libnyquist/misc/play.c b/lib-src/libnyquist/misc/play.c
deleted file mode 100644
index 19bfac6..0000000
--- a/lib-src/libnyquist/misc/play.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-
-    A cheap command to play sample files to the D/A's.
-    The sample files should have no headers. They can be
-    eight or sixteen bits, with one or two channels. 
-    Sample rate is eigher 44.1 or 22.05.
-
-    NOTE: samples brought from the VAX may have byte order
-    reversed. Use "dd conv=swab" to fix this.
-
-    William Walker, University of Illinois, 27 January 1989
-    (walker at m.cs.uiuc.edu)
-*/
-
-#include <stdio.h>
-#include <sound/sound.h>
-#define THESIZE 3000000
-
-
-#include "args.h"
-
-#define	TAG	9839283
-
-main(argc, argv)
-char **argv;
-{
-    int srate = SND_RATE_LOW;
-    int nchannels = 1;
-    int again = 1;
-    int i;
-    SNDSoundStruct *cow;
-    FILE *data;
-    
-    ARGLOOP
-        FLAGARG('h')	srate = SND_RATE_HIGH;		ENDFLAGARG
-        FLAGARG('s')	nchannels = 2;			ENDFLAGARG
-        STRINGARG('r')	srate = atoi(p);		ENDSTRINGARG
-        FLAGARG('o')	again = 0;			ENDFLAGARG
-
-        BADARG
-            fprintf(stderr, "unknown option %c\n", *p);
-            goto error;
-        ENDBADARG
-    ENDARGLOOP
-
-       if (argc != 1) goto error;
-
-  cow = (SNDSoundStruct *) malloc(THESIZE);
-
-  /* these fields should probably be invariant: */
-  cow->magic = SND_MAGIC;
-  cow->dataLocation = sizeof(SNDSoundStruct);
-  cow->dataSize = 0;
-  cow->dataFormat = SND_FORMAT_LINEAR_16;
-  cow->samplingRate = srate;
-  cow->channelCount = nchannels;
-
-  printf("%d Hz sample rate,  %d channels\n",
-    cow->samplingRate,
-    nchannels);
-
-
-  do {
-    data = fopen(argv[0],"r");
-    if (data == NULL) { printf("play: fopen error\n"); exit(1); }
-    printf("Read %d bytes\n",cow->dataSize = fread((char *)cow+sizeof(SNDSoundStruct),1,THESIZE-sizeof(SNDSoundStruct),data));
-    fclose(data);
-
-      /* printf("Reserve sound for playing (%d)\n",SNDReserve()); */
-      printf("Play (%d)\n", SNDStartPlaying(cow,TAG,0,0,(SNDNotificationFun)NULL,(SNDNotificationFun)NULL));
-      printf("Wait for played sound (%d)\n",SNDWait(TAG));
-      /* printf("Query played sound (%d)\n",SNDQueryPlayedSound()); */
-      /* printf("Unreserve sound for playing (%d)\n",SNDUnreserveSoundForPlaying()); */
-    if(again) {
-        char line[100];
-        printf("Again? [y] ");
-        gets(line);
-        if(line[0] != 'y' && line[0] != 'Y' && line[0] != '\0')
-            again = 0;
-    }
-  } while( again );
-  exit(0);
-error:
-    fprintf(stderr, "\nUsage: play [ -h ] [ -s ] [ -o ] file\n\n");
-    fprintf(stderr, "  -h   44.1KHz sample rate (default 22.1KHz)\n");
-    fprintf(stderr, "  -s   stereo (default mono)\n");
-    fprintf(stderr, "  -o   play only once (default asks to play again)\n");
-    fprintf(stderr, "\n");
-    exit(1);
-}
diff --git a/lib-src/libnyquist/misc/plot.c b/lib-src/libnyquist/misc/plot.c
deleted file mode 100644
index e540592..0000000
--- a/lib-src/libnyquist/misc/plot.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * FILE: plot.c
- *   BY: Christopher Lee Fraley (cf0v at spice.cs.cmu.edu)
- * DESC: graphs file of numbers on terminal
- *
- * 1.1 ( 1-JUN-88) - added lines from 0 to data points (cf0v)
- * 1.2 ( 3-JUN-88) - added skip parameter (cf0v)
- * 1.3 (23-JUN-88) - added -x and -y options (cf0v)
- * 1.4 (30-JUN-88) - clean-up. (cf0v)
- * 2.0 ( 5-JUL-88) - added binary sound file format option.  Changed scaling
- *			for "-n" option to only consider those values being
- *			plotted, instead of whole file.
- */
-
-char plotVERSION[] = "2.0  (5-JUL-88, 11:40am)";
-
-/*
- * plot [<file> [-nxyab]]
- *    Accepts input stream of numbers from <file> (or stdin, if no <file>
- * argument is present), drawing a graph to sdout.  File is prescanned for
- * min and max values, and the graph is scaled accordingly.  If making the
- * file's min non-zero delta equal to one char allows the entire graph to
- * fit on the screen, then this scalar is used.  If the -n<num> option is
- * used, then only every <num>th number from the input stream is plotted.
- * The -x option enables printing the line number in the file on the screen
- * every 10 lines.  The -y option enables printing the y value on the screen
- * every line.  Note -x and -y are NOT mutually exclusive.  The -a option
- * indicates the input file is in ascii format, while the -b option indicates
- * the input file is in the binary sound file format.  When neither of these
- * is present, binary is assumed unless input is from stdin.
- */
-
-#include <stdio.h>
-#include "stdefs.h"
-
-#define MAXNUMINPUT 16*1024
-#define BINARY 0
-#define ASCII 1
-
-
-fail(s, arg)
-char *s, *arg;
-{
-   fprintf(stderr,"\nplot: ");
-   fprintf(stderr, s, arg);
-   fprintf(stderr,"\n\n");
-   exit(1);
-}
-
-
-
-FILE *fain;    /* Pointer to input file for ascii format */
-int fbin;      /* Input file for binary format */
-int ftype;     /* Type of input file */
-
-
-prescan(X, Num, Max, Min, Delta)
-HWORD X[];
-int *Num, *Max, *Min, *Delta;
-{
-   int last, i, len;
-
-   *Min = *Delta = 32767;
-   *Max = -32768;
-   *Num = last = 0;
-   if (ftype == ASCII)
-      while (fscanf(fain,"%d",&i) != EOF)
-         {
-         *Min = MIN(i, *Min);
-         *Max = MAX(i, *Max);
-         if (i != last)
-            *Delta = MIN(ABS(i-last), *Delta);
-         *Num += 1;
-         last = i;
-         *X++ = i;
-         }
-   else
-      {
-      printf("| binary prescan, fbin:%d\n", fbin);
-      len = read(fbin, (char *)X, MAXNUMINPUT*sizeof(HWORD)) / sizeof(HWORD);
-      if (len >= MAXNUMINPUT)
-         fprintf(stderr, "plot: input truncated to %d samples\n",
-            MAXNUMINPUT);
-      for (i=0; i<len; i++)
-         {
-         *Min = MIN(*X, *Min);
-         *Max = MAX(*X, *Max);
-         if (*X != last)
-            *Delta = MIN(ABS(*X-last), *Delta);
-         last = *X++;
-         }
-      *Num = len;
-      }
-}
-
-
-
-getargs(argc, argv, skip, xPrint, yPrint, start)
-int argc, *skip, *yPrint, *xPrint, *start;
-char *argv[];
-{
-   char *file;
-
-   file = NULL;
-   fain = stdin;
-   ftype = BINARY;
-   *start = 0;
-   *skip = 1;
-   *xPrint = FALSE;
-   *yPrint = FALSE;
-   while (--argc)
-      {
-      ++argv;
-      if ((*argv)[0] != '-')
-         {
-         if (file || (*argv)[0]=='?')
-            fail("syntax error argument '%s'.\
-               \n   format: 'plot [<file>] [-n/s<num>] [-x/y/a/b]',\
-               \n   where: <file> to plot (stdin is default),\
-               \n          -n<num> plot every <num>th value in file,\
-               \n          -s<num> start at the <num>th sample,\
-               \n          -x print line # in file every 10 lines,\
-               \n          -y print y coordinate every line,\
-               \n          -a indicates input file is in ascii format,\
-               \n          -b indicates input is in binary sound file format.\
-               \n    -x and -y are NOT mutually exclusive; -a and -b ARE.\
-               \n    -b is assumed unless input is stdin.", *argv);
-         file = *argv;
-         printf("| file:%s\n", file);
-         }
-      else if ((*argv)[1]=='x' || (*argv)[1]=='X')
-         *xPrint = TRUE;
-      else if ((*argv)[1]=='y' || (*argv)[1]=='Y')
-         *yPrint = TRUE;
-      else if ((*argv)[1]=='a' || (*argv)[1]=='A')
-         ftype = ASCII;
-      else if ((*argv)[1]=='b' || (*argv)[1]=='B')
-         ftype = BINARY;
-      else if ((*argv)[1]=='n' || (*argv)[1]=='N')
-         {
-         if (1 != sscanf(*argv+2, "%d", skip))
-            fail("illegal -n parameter '%s'", *argv);
-         }
-      else if ((*argv)[1]=='s' || (*argv)[1]=='S')
-         {
-         if (1 != sscanf(*argv+2, "%d", start))
-            fail("illegal -s parameter '%s'", *argv);
-         }
-      }
-   if (!file)
-      ftype = ASCII;
-   else if (ftype == ASCII)
-      {
-      if (NULL == (fain = fopen(file, "r")))
-         fail("could not open ascii input file '%s'\n", file);
-      }
-   else
-      {
-      if (NULL > (fbin = open(file, 0)))
-         fail("could not open binary input file '%s'\n", file);
-      }
-}
-
-
-
-main (argc,argv)
-int argc;
-char *argv[];
-{
-   int Num, Max, Min, Delta, i;
-   HWORD X[MAXNUMINPUT];
-   double factor;
-   int target, skip, start;
-   int xCount, xPrint, yPrint;
-   char *Star[41], *Space[41];
-
-   printf("\nData Plotting Program\n");
-   printf("by: Christopher Lee Fraley\n");
-   printf("Version: %s\n", plotVERSION);
-
-   Star[40] = "****************************************";
-   Space[40] = "                                        ";
-   for (i=39; i>=0; i--)
-      {
-      Star[i] = Star[i+1] + 1;
-      Space[i] = Space[i+1] + 1;
-      }
-
-   getargs(argc, argv, &skip, &xPrint, &yPrint, &start);
-   prescan(X, &Num, &Max, &Min, &Delta);
-
-   factor = 1.0/Delta;
-   if (factor*Max>39)
-      factor = 39.0/Max;
-   if (factor*Min<-40)
-      factor = 40.0/-Min;
-
-   printf("\n     Number of Data Points:%d  \t  [%d:%d]\n",Num,Min,Max);
-   printf("     Scale: %g/char",1.0/factor);
-   if (skip > 1)
-      printf("  \t\t  Plotting every %dth sample", skip);
-   if (start)
-      printf("     Starting plot at sample %d", start);
-   printf("\n\n=========3=========2=========1=========0=========1=========2\
-=========3=========\n");
-
-   if (xPrint)
-      xCount = 11;
-   else
-      xCount = -1;
-   for (i=start; i<Num; i+=skip)
-      {
-      target = X[i]*factor+40;
-      --xCount;
-      if (target < 40)
-         {
-         printf(Space[target-1]);
-         printf(Star[41-target]);
-         if (!xCount)
-            printf("\t\t     %6d",i);
-         else
-            printf("\t\t\t   ");
-         if (yPrint)
-            printf("  %6d\n",X[i]);
-         else
-            printf("\n");
-         }
-      else
-         {
-         if (yPrint)
-            printf(" %6d  ",X[i]);
-         else
-            printf("\t ");
-         if (!xCount)
-            printf("%6d                        ",i);
-         else
-            printf("                              ");
-         printf(Star[target-39]);
-         printf("\n");
-         }
-      if (!xCount)
-         xCount = 10;
-      }
-
-   if (ftype == BINARY)
-      (void) close(fbin);
-   else if (fain != stdin)
-      (void) fclose(fain);
-}
diff --git a/lib-src/libnyquist/misc/sampleprint.c b/lib-src/libnyquist/misc/sampleprint.c
deleted file mode 100644
index 8862671..0000000
--- a/lib-src/libnyquist/misc/sampleprint.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdio.h>
-
-#define NPERLINE	10
-
-main()
-{
-    short line[2][NPERLINE];
-    register int n, i, j;
-    register int curline = 0;
-    int currently_printing = 1;
-
-    for(i = 0;
-       (n = fread(line[curline], sizeof(short), NPERLINE, stdin)) > 0;
-       i += n, curline = 1-curline) {
-        if(i != 0 && n == NPERLINE && sameline(line[0], line[1])) {
-            if(currently_printing) {
-                printf("*\n");
-                currently_printing = 0;
-            }
-            continue;
-        }
-        currently_printing = 1;
-        printf("%7d ", i);
-        for(j = 0; j < n; j++)
-            printf("%6d ", line[curline][j]);
-        printf("\n");
-    }
-    printf("%4d\n", i);
-}
-
-sameline(l1, l2)
-register short *l1, *l2;
-{
-    register n = NPERLINE;
-    while(--n >= 0)
-        if(*l1++ != *l2++)
-            return 0;
-    return 1;
-}
diff --git a/lib-src/libnyquist/misc/sine.c b/lib-src/libnyquist/misc/sine.c
deleted file mode 100644
index e691b59..0000000
--- a/lib-src/libnyquist/misc/sine.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * FILE: sine.c
- *   BY: Christopher Lee Fraley (cf0v at spice.cs.cmu.edu)
- * DESC: Creates sine waves of given period, amplitude, and length.
- *
- * 1.0 ( 1-JUN-88) - created. (cf0v)
- * 2.0 ( 5-JUL-88) - converted to binary sound file format. (cf0v)
- */
-
-/*
- * sine <amplitude> <period> <length> [-outfile]
- *    Outputs integer sine wave of maximum <amplitude>, with <period>
- * samples per period, and <length> number of periods to stdout. Illegal
- * arguments cause the defaults 32767, 20, and 3 to be used, respectively.
- * If the flag "-outfile" is present, the output is in binary format to the
- * named file.  If the flag is ommitted, the output is to stdout, and is in
- * ascii format, one number per line.
- */
-
-#include <stdio.h>
-#include <math.h>
-#include "stdefs.h"
-
-#define PERMS 0644      /* -rw-r--r-- */
-
-fails(s, s2)
-char *s, *s2;
-{
-   fprintf(stderr, s, s2);
-   exit(1);
-}
-
-
-main (argc,argv)
-int argc;
-char *argv[];
-{
-   double Amp, Samps, Perds;
-   int i;
-
-   if (argc!=4  &&  argc!=5)
-      fails("format is 'sine %s'\n",
-         "<amplitude> <samples-per-period> <#-of-periods> [-outfile]");
-   if (!sscanf(*++argv, "%lf", &Amp))
-      Amp = 32767.0;
-   if (!sscanf(*++argv, "%lf", &Samps))
-      Samps = 20.0;
-   if (!sscanf(*++argv, "%lf", &Perds))
-      Perds = 3.0;
-   if (argc==5)
-      {
-      int fout;
-      HWORD *Data, *ptr;
-      unsigned int outLen, len;
-
-      if (NULL > (fout = creat(*++argv+1, PERMS)))
-        fails("could not create <outfile> '%s'\n", *argv+1);
-      outLen = Samps*Perds*sizeof(HWORD);
-      ptr = Data = (HWORD *)malloc(outLen);
-      if (NULL == Data)
-         fails("could not allocate enough memory for output", "");
-      for (i=0; i<(Samps*Perds); i++)
-         *ptr++ = (HWORD) (sin(2*PI*i/Samps) * Amp);
-      len = write(fout, (char *)Data, outLen);
-      if (len != outLen)
-         fails("incorrect number of bytes written", "");
-      }
-   else
-     {
-     for (i=0; i<(Samps*Perds); i++)
-        printf("%d\n", (int)(sin(2*PI*i/Samps)*Amp));
-     }
-}
diff --git a/lib-src/libnyquist/misc/stdefs2.h b/lib-src/libnyquist/misc/stdefs2.h
deleted file mode 100644
index 3254d02..0000000
--- a/lib-src/libnyquist/misc/stdefs2.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * FILE: stdefs.h
- *   BY: Christopher Lee Fraley (cf0v at spice.cs.cmu.edu)
- * DESC: Defines standard stuff for inclusion in C programs.
- *
- * 1.0 ( 6-JUN-88) - created. (cf0v)
- * 1.1 (30-JUN-88) - moved GetUHWORD def here. (cf0v)
- * 1.2 (11-JUL-88) - added ffail() defs. (cf0v)
- * 1.3 (25-JUL-88) - added dB() and undB() defs. (cf0v)
- * 1.4 ( 8-AUG-88) - added stuff used by apple & new NULL def. (cf0v)
- */
-
-/* General purpose constants: */
-/* #define TRUE  1
-   #define FALSE 0
- */
-
-#define FATAL 1
-#define WARN  0
-
-#define PI (3.14159265358979232846)
-#define PI2 (6.28318530717958465692)
-#define D2R (0.01745329348)          /* (2*pi)/360 */
-#define R2D (57.29577951)            /* 360/(2*pi) */
-
-
-/* General purpose typedefs: */
-typedef int		bool;
-typedef char		BOOL;
-typedef short		HWORD;
-typedef unsigned short	UHWORD;
-typedef int		WORD;
-typedef unsigned int	UWORD;
-
-
-/* General purpose macros: */
-#define GetUHWORD(x,y,z) GetUShort(x,y,z)
-#define ffail(x,y)	 fail(sprintf(ERROR,x,y))
-#define ffail2(x,y,z)	 fail(sprintf(ERROR,x,y,z))
-#define MAX(x,y) ((x)>(y) ?(x):(y))
-#define MIN(x,y) ((x)<(y) ?(x):(y))
-#define ABS(x)   ((x)<0   ?(-(x)):(x))
-#define SGN(x)   ((x)<0   ?(-1):((x)==0?(0):(1)))
-#define round(x) ((int)((x) + 0.5))
-
-/* Convert amplitudes to and from dB scale: */
-#define MINLIN  undB(-100)
-#define undB(x) (((double)(REF)) * pow(10.0, ((double)(x))/20.0))
-#define dB(x)   (((x)<MINLIN) ? (20.0 * log10(MINLIN/((double)(REF))))\
-                              : (20.0 * log10((x)/((double)(REF)))))
diff --git a/lib-src/libnyquist/misc/transfiles.lsp b/lib-src/libnyquist/misc/transfiles.lsp
deleted file mode 100644
index 94b99f7..0000000
--- a/lib-src/libnyquist/misc/transfiles.lsp
+++ /dev/null
@@ -1,12 +0,0 @@
-(setf transfiles '("amosc" "clip" "const" "fmosc" "integrate" "log"
-       "maxv" "osc" "prod" "buzz"
-       "pwl" "recip" "upsample" "scale" "sine" "partial" "white"
-       "tone" "tonev" "atonev" "atone" "reson" "areson"
-       "resonvc" "resoncv" "aresonvc" "aresoncv" "resonvv"
-       "aresonvv" "offset" "slope" "delay" "delaycv" "shape"
-       "sampler" "exp" "siosc" "follow" "gate" "quantize" "ifft"
-       "congen" "fromobject" "fromarraystream" "coterm"
-       "convolve" "alpass" "oneshot" "chase" "tapv" "biquad"
-           "pluck"))
-
-; deleted comb
diff --git a/lib-src/libnyquist/misc/unpacker.c b/lib-src/libnyquist/misc/unpacker.c
deleted file mode 100644
index e38cd47..0000000
--- a/lib-src/libnyquist/misc/unpacker.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/* unpacker -- a program to unpack a set of files */
-/* See packer.c for a description of the input file format. */
-
-#include "switches.h"
-#ifdef MACINTOSH
-#include <Files.h>
-#include <Script.h>
-#endif
-
-#include "cext.h"
-#include "convert.h"
-#include "string.h"
-
-/* since we aren't using the cleanup package, expose exit(): */
-#undef exit
-
-#include "stdio.h"
-#ifdef THINK_C
-#include "console.h"
-#endif
-
-#define string_max 500
-#ifndef EOS
-#define EOS 0
-#endif
-
-void escape();
-void unpack_ascii();
-void unpack_binary();
-void put_run();
-
-#ifdef UNIX
-#define FILESEP '/'
-#include <sys/types.h>
-#include <dirent.h>
-
-int dir_isvaliddir(char *path)
-{
-    DIR *dir = opendir(path);
-    if (!dir) return false;
-    closedir(dir);
-    return true;
-}
-
-
-#include <sys/stat.h>
-int _mkdir(char *p)
-{
-    int rslt = mkdir(p, S_IRUSR | S_IWUSR | S_IXUSR | 
-                        S_IXGRP | S_IWGRP | S_IROTH | S_IXOTH);
-    printf("_mkdir: %s, rslt %d\n", p, rslt);
-    if (rslt == -1) {
-        printf("mkdir error\n");
-        perror("unpacker mkdir");
-    }
-    return rslt;
-}
-
-#endif
-
-#ifdef WINDOWS
-#define FILESEP '\\'
-
-// deal with some incompatible definitions
-#undef byte
-#undef boolean
-#include "windows.h"
-#include <direct.h>
-/*
- * Function: dir_isvaliddir
- *
- * Purpose:
- *
- * Is this a valid directory ? 
- */
-BOOL dir_isvaliddir(LPSTR path)
-{
-    DWORD dwAttrib;
-    dwAttrib = GetFileAttributes(path);
-    if (dwAttrib == -1) {
-        return(FALSE);         }
-    if (dwAttrib & FILE_ATTRIBUTE_DIRECTORY) {
-        return(TRUE);
-    }
-    return(FALSE);
-} /* dir_isvaliddir */ 
-#endif
-
-/* early_eof -- print error message and exit */
-void early_eof()
-{
-    fprintf(stderr, "Unexpected end of file while unpacking\n");
-    exit(1);
-}
-#ifdef MACINTOSH
-
-#define FILESEP ':'
-
-int dir_isvaliddir(char *path)
-{
-    char filename[256];
-    OSErr err;
-    FSSpec spec;
-    strcpy(filename, path);
-    c2pstr(filename);
-    err = FSMakeFSSpec(0, 0, (unsigned char *) filename, &spec);
-    if (err == noErr) {
-        /* if we can open this as a file, it's not a directory */
-        SInt16 refnum;
-        err = FSpOpenDF(&spec, fsCurPerm, &refnum);
-        if (err == noErr) {
-            FSClose(refnum);
-            return false;
-        }
-        return true;
-    }  
-    return false;
-}
-
-
-int _mkdir(char *p)
-{
-    OSErr err;
-    FSSpec spec;
-    SInt32 dirid;
-    spec.vRefNum = 0;
-    spec.parID = 0;
-    strcpy((char *) spec.name, p);
-    c2pstr(spec.name);
-    err = FSpDirCreate(&spec, smSystemScript, &dirid);
-    if (err == noErr) {
-        return 0;
-    }
-
-    if (err != noErr) {
-        printf("mkdir error %d\n", err);
-    }
-    return -1;
-}
-#endif
-
-
-void make_path(char *full_name)
-// make directories as needed
-{
-    char directory[256];
-    char *ptr = full_name;
-    while (ptr = strchr(ptr, FILESEP)) {
-        strcpy(directory, full_name);
-        directory[ptr - full_name] = 0;
-        if (!dir_isvaliddir(directory)) {
-            if (_mkdir(directory) != 0) {
-                printf("Could not create %s\n", directory);
-                return;
-            } else {
-                printf("Created directory %s\n", directory);
-            }
-        }
-        // now directory is valid, so move to next one
-        ptr++;
-    }
-}
-
-
-/* main -- unpack a set of files */
-/**/
-int main(argc, argv)
-  int argc;
-  char *argv[];
-{
-    FILE *inf;  /* input file: a packed set of files */
-    FILE *outf; /* a file to unpack */
-    char filename[string_max];  /* holds names of inptu files */
-#ifdef MACINTOSH
-    argc = ccommand(&argv);
-#endif
-    if (argc != 2) {
-        fprintf(stderr, "Usage: unpack input-file\n");
-        exit(1);
-    }
-    inf = fopen(argv[1], "r");
-    if (!inf) {
-        fprintf(stderr, "Couldn't open |%s|\n", argv[1]);
-        exit(1);
-    }
-    while (fgets(filename, string_max, inf)) {
-        char *filetype = "w";
-        filename[strlen(filename) - 1] = EOS;   /* remove newline at end */
-        puts(filename + 1); /* don't print the leading ! or # */
-        convert(filename + 1);  /* convert to local filename conventions */
-        if (filename[0] == '#') filetype = "wb";
-        outf = fopen(filename + 1, filetype);
-        if (!outf) {
-            make_path(filename + 1);
-            outf = fopen(filename + 1, filetype);
-            if (!outf) {
-                fprintf(stderr, "Couldn't open |%s|\n", filename + 1);
-                exit(1);
-            }
-        }
-        if (filename[0] == '!') {
-            unpack_ascii(inf, outf, filename + 1);
-        } else if (filename[0] == '#') {
-            unpack_binary(inf, outf);
-        }
-        if (outf) fclose(outf);
-    }
-    fclose(inf);
-    return 0;
-}
-
-
-/* put_run -- output a run of characters */
-/**/
-void put_run(f, c, n)
-    FILE *f;
-    int c;
-    int n;
-{
-    while (n--) putc(c, f);
-}
-
-
-/* unpack_ascii -- from inf to outf */
-/**/
-void unpack_ascii(inf, outf, filename)
-    FILE *inf;
-    FILE *outf;
-    char *filename;
-{
-    for (;;) {
-        int c = getc(inf);
-        if (c == EOF) return;
-        else if (c > 127) {
-            fprintf(stderr, "Non-ascii char 0x%x found while unpacking %s.\n", c, filename);
-            return;
-        } else if (c >= 'A' && c <= '~') {
-            int n = (c - 'A');
-            //DO NOT OUTPUT LEADING TABS -- USE SPACES INSTEAD
-            // int tabs = (n / TAB_WIDTH);
-            // n -= tabs * TAB_WIDTH;
-            // put_run(outf, '\t', tabs);
-            put_run(outf, ' ', n);
-        } else if (c >= '0' && c <= '9') {
-            put_run(outf, '\n', c - '0');
-        } else if (c == '!' || c == '#') {
-            ungetc(c, inf);
-            return;
-        } else {
-            fprintf(stderr, "Unexpected char in col 1 (%c) while unpacking %s.\n",
-                                                        c, filename);
-            return;
-        }
-        
-        /* now get rest of the line */
-        while ((c = getc(inf)) != EOF) {
-            if (c == '$') {
-                c = getc(inf);
-                if (c == EOF) {
-                    early_eof();
-                } else if (c == '$') {
-                    putc('$', outf);
-                } else if (c >= '@' && c <= '_') {
-                    putc(c - '@', outf);
-                } else if (c == '\n') {
-                    ; /* do nothing */
-                } else {
-                    fprintf(stderr, "Bad char (%c) after '$' while unpacking %s.\n",
-                                                c, filename);
-                }
-            } else {
-                putc(c, outf);
-                if (c == '\n') break;   /* go up and process col. 1 char */
-            }
-        }
-    }
-}
-
-
-/* unpack_binary -- from inf to outf */
-/**/
-void unpack_binary(inf, outf)
-    FILE *inf;
-    FILE *outf;
-{
-    for (;;) {
-        long l;
-        int c = getc(inf);
-        if (c == EOF) {
-            early_eof();
-        } else if (c == '.') {
-            break;
-        } else if (c == '\n') {
-            ; /* do nothing */
-        } else {
-            l = c - '0';
-            c = getc(inf);
-            if (c == EOF) {
-                    early_eof();
-            } else {
-                l = (l << 6) + (c - '0');
-                c = getc(inf);
-                if (c == EOF) {
-                    early_eof();
-                } else if (c == '.') {
-                    putc(l >> 4, outf);
-                    break;
-                } else {
-                    l = (l << 6) + (c - '0');
-                    c = getc(inf);
-                    if (c == EOF) {
-                            early_eof();
-                    } else if (c == '.') {
-                        putc((l >> 10) & 0xFF, outf);
-                        putc((l >> 2) & 0xFF, outf);
-                        break;
-                    } else {
-                        l = (l << 6) + (c - '0');
-                        putc((l >> 16) & 0xFF, outf);
-                        putc((l >> 8) & 0xFF, outf);            
-                        putc(l & 0xFF, outf);
-                    }
-                }
-            }
-        }
-    }
-    getc(inf);  /* read the final newline */
-}
diff --git a/lib-src/libnyquist/misc/unpacker.dsp b/lib-src/libnyquist/misc/unpacker.dsp
deleted file mode 100644
index 9cdc6bf..0000000
--- a/lib-src/libnyquist/misc/unpacker.dsp
+++ /dev/null
@@ -1,105 +0,0 @@
-# Microsoft Developer Studio Project File - Name="unpacker" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=unpacker - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "unpacker.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "unpacker.mak" CFG="unpacker - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "unpacker - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "unpacker - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "unpacker - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "unpacker_Release"
-# PROP Intermediate_Dir "unpacker_Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "unpacker - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "unpacker___Win32_Debug"
-# PROP BASE Intermediate_Dir "unpacker___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "unpacker_Debug"
-# PROP Intermediate_Dir "unpacker_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\cmt" /I "..\sys\win\msvc" /I "../cmt" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "unpacker - Win32 Release"
-# Name "unpacker - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\convert.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\unpacker.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/lib-src/libnyquist/nyqsrc/add.c b/lib-src/libnyquist/nyqsrc/add.c
deleted file mode 100644
index b665354..0000000
--- a/lib-src/libnyquist/nyqsrc/add.c
+++ /dev/null
@@ -1,885 +0,0 @@
-/* add.c -- add two signals */
-/* CHANGE LOG
- * 19May92 rbd  fix t0 to mean time rather than samples
-                fix to logically stop and terminate at MAX of 2 inputs
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-/* DOCUMENTATION:
-     Most DSP modules in Nyquist select a single fetch routine
-and use it until the signal terminates.  The ADD operation
-instead can use a number of different fetch routines in sequence.
-This allows ADD to do the most efficient computation, such as
-simply copying pointers when only one input signal is defined
-(the other is zero.)
-     Here's what the functions assume and do:
-add_s1_s2_nn_fetch: both arguments (s1, s2) have signals; add
-    them.
-add_s1_nn_fetch: only s1 is active, so pass along pointers if 
-    possible.  Revert to add_s1_s2_nn_fetch when s2 becomes active.
-add_s2_nn_fetch: symetric with add_s1_nn_fetch.
-add_zero_fill_nn_fetch: fill in when one input has terminated and
-    the other hasn't begun.
-
-An important optimization (we think) is the ability to collapse
-ADD operations.  When one operand goes to zero, the ADD just
-passes along pointers to blocks from the other operand.  In some
-cases, we can just splice out the ADD suspension and link
-directly to the suspension of the second operand.
-
-Doing this requires that there be no scale factors, so ADD does
-not deal with scaling.  If an operand comes in with a scale
-factor, ADD will create a rescaling of the operand.
-*/
-
-#include "switches.h"
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "cext.h"
-#include "scale.h"
-#include "multiseq.h"
-#include "add.h"
-
-
-
-#define debugA 0
-#define A if (debugA)
-/* I don't know how these debug switches (A and D) differ: */
-#define D A
-
-/* switch B is/was to look for a particular zero block length bug */
-#define debugB 0
-#define B if (debugB | debugA) 
-
-/* #define GC_DEBUG 1 */
-
-
-void add_s1_s2_nn_fetch(add_susp_type, snd_list_type);
-void add_s1_nn_fetch(add_susp_type, snd_list_type);
-void add_s2_nn_fetch(add_susp_type, snd_list_type);
-void add_zero_fill_nn_fetch(add_susp_type, snd_list_type);
-void add_free();
-
-
-void add_s1_s2_nn_fetch(susp, snd_list)
-  register add_susp_type susp;
-  snd_list_type snd_list;
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-    register sample_block_values_type s1_ptr_reg;
-    register sample_block_values_type s2_ptr_reg;
-    register sample_block_values_type out_ptr_reg;
-
-#ifdef GC_DEBUG
-    snd_list_report(snd_list, "add_s1_s2_nn_fetch");
-#endif
-    /* assume the snd_list is the one with a null block */
-    /* put a fresh, clean block in the snd_list (get new snd_list later) */
-    falloc_sample_block(out, "add_s1_s2_nn_fetch");
-    snd_list->block = out;
-    out_ptr = out->samples;
-A   nyquist_printf("add[%p,%p] (s1_s2_nn) %p new block %p\n", 
-                   susp->s1, susp->s2, susp, out);
-    
-    /* fill up the new block */
-    while (cnt < max_sample_block_len && susp->terminate_bits == 0) {
-A       nyquist_printf("add[%p,%p] (s1_s2_nn) %p starting outer loop, cnt %d\n",
-               susp->s1, susp->s2, susp, cnt);
-        
-        /* first compute how many samples to generate in inner loop: */
-        /* don't overflow the output sample block: */
-        togo = max_sample_block_len - cnt;
-        
-        /* don't run past the s1 input sample block: */
-A	nyquist_printf("add[%p,%p]: look for samples (for s1) \n", susp->s1, susp->s2);
-/*        if (!susp->s1->list->block) watch_susp(susp->s1->list->u.susp); */
-        susp_check_term_log_block_samples(s1, s1_bptr, s1_ptr, s1_cnt, 1, 3);
-A	nyquist_printf("add[%p,%p]: found samples (for s1) s1_cnt=%d\n",
-               susp->s1, susp->s2, (int)susp->s1_cnt);
-        togo = MIN(togo, susp->s1_cnt);
-        if (susp->terminate_bits & 1) {
-A	    nyquist_printf("add[%p,%p]: terminate bits on (for s1) togo=%d\n",
-                   susp->s1, susp->s2, togo);
-        }
-        
-        /* don't run past the s2 input sample block: */
-A	nyquist_printf("add[%p,%p]: look for samples (for s2) \n", susp->s1, susp->s2);
-        susp_check_term_log_block_samples(s2, s2_bptr, s2_ptr, s2_cnt, 2, 3);
-A	nyquist_printf("add[%p,%p]: found samples (for s2) s2_cnt=%d\n",
-               susp->s1, susp->s2, (int)susp->s2_cnt);
-        togo = MIN(togo, susp->s2_cnt);
-A	if (susp->terminate_bits & 2) {
-            nyquist_printf("add[%p,%p]: terminate bits on (for s2) togo=%d\n",
-                   susp->s1, susp->s2, togo);
-        }
-        
-        /* don't run past logical stop time (need to check this even
-         * if a sound has terminated)
-         */
-A	nyquist_printf(
- "add[%p,%p] (s1_s2_nn) %p: logically_stopped %d, logical_stop_cnt %d\n",
-               susp->s1, susp->s2, susp, susp->logically_stopped, 
-               (int)susp->susp.log_stop_cnt);
-        if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-A	    nyquist_printf("add[%p,%p]: to_stop = %d\n", susp->s1, susp->s2, to_stop);
-            /* logical stops have to be indicated on block boundaries */
-            if (to_stop < togo) {
-                if (to_stop == 0) {
-                    if (cnt) {
-                        togo = 0;
-                        break;
-                    } else /* indicate logical stop immediately */
-                        susp->logically_stopped = true;
-                } else {
-                    /* logical stop will take place on the following block,
-                     * so compute up to logical stop and return partial block
-                     */
-                    togo = to_stop;
-                }
-            }
-        }
-        
-        /* check please */
-        if (susp->terminate_bits) {
-            break;
-        }
-        
-        /* don't run past terminate time */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-            togo = susp->terminate_cnt - (susp->susp.current + cnt);
-D	    nyquist_printf("add[%p,%p]: togo = %d\n", susp->s1, susp->s2, togo);
-            if (togo == 0) break;
-        }
-        
-        n = togo;
-A	nyquist_printf("add[%p,%p] (s1_s2_nn) %p starting inner loop, n %d\n", 
-               susp->s1, susp->s2, susp, n);
-        s1_ptr_reg = susp->s1_ptr;
-        s2_ptr_reg = susp->s2_ptr;
-        out_ptr_reg = out_ptr;
-        if (n) do { /* the inner sample computation loop */
-            /* scale? */
-A 	    nyquist_printf("add_s1_s2_nn: %g + %g\n", *s1_ptr_reg, *s2_ptr_reg);
-            *out_ptr_reg++ = *(s1_ptr_reg++) + *(s2_ptr_reg++);
-        } while (--n); /* inner loop */
-        /* using s1_ptr_reg is a bad idea on RS/6000 */
-        susp->s1_ptr += togo;
-        /* using s2_ptr_reg is a bad idea on RS/6000 */
-        susp->s2_ptr += togo;
-        /* using out_ptr_reg is a bad idea on RS/6000 */
-        out_ptr += togo;
-        susp_took(s1_cnt, togo);
-        susp_took(s2_cnt, togo);
-        cnt += togo;
-    } /* outer loop */
-    
-A   nyquist_printf("add[%p,%p] (s1_s2_nn) %p ending outer loop, cnt %d\n",
-           susp->s1, susp->s2, susp, cnt);
-    
-    snd_list->block_len = cnt;
-    
-    /* test for logical stop  - normally this is detected by 
-     * susp.log_stop_cnt == susp->susp.current, but then the logical
-     * stop flag is set on the NEXT block. To remember to set on the
-     * NEXT block, set susp->logically_stopped, which is also tested
-     * below.  One special case is if the current block should indicate
-     * logically stopped (this happens sometimes when the sounds have
-     * zero logical length) then susp->logically_stopped will be set
-     * (see above) and we just never test susp->susp.log_stop_cnt.
-     */
-    if (susp->logically_stopped) {
-A   nyquist_printf("add[%p,%p] (s1_s2_nn) %p->logically_stopped already true\n",
-           susp->s1, susp->s2, susp);
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-A   nyquist_printf("add[%p,%p] (s1_s2_nn) %p->logically_stopped set to true\n",
-           susp->s1, susp->s2, susp);
-        susp->logically_stopped = true;
-    }
-    
-    /* test for termination of s1 */
-    if (susp->terminate_bits == 3) {
-D	nyquist_printf("add[%p,%p] (s1_s2_nn) s1 and s2 terminated, unrefed\n",
-               susp->s1, susp->s2);
-        /* free susp and point to terminal zeros (leaving pending snd_lists)*/
-        if (cnt) {
-            /* we have samples, put zero_block at end */
-            snd_list_unref(snd_list->u.next);
-            snd_list->u.next = zero_snd_list;
-        } else {
-            /* no samples generated */
-            snd_list_terminate(snd_list);
-        }
-D	nyquist_printf("add[%p,%p] (s1_s2_nn) %p terminated.\n",
-               susp->s1, susp->s2, susp);
-    } else {
-        if (susp->terminate_bits & 1) {
-D	    nyquist_printf("add[%p,%p] (s1_s2_nn) s1 terminated, unrefed\n",
-                   susp->s1, susp->s2);
-            sound_unref(susp->s1);
-            susp->s1 = NULL;
-            susp->susp.fetch = add_s2_nn_fetch;
-D           nyquist_printf("add_s1_s2_nn_fetch: add_s2_nn_fetch installed\n");
-            if (cnt == 0) {
-D		nyquist_printf("add[%p,%p]: calling add_s2_nn_fetch\n",
-                       susp->s1, susp->s2);
-                add_s2_nn_fetch(susp, snd_list);
-            }
-        }
-        else if (susp->terminate_bits & 2) {
-D	    nyquist_printf("add[%p,%p] (s1_s2_nn) s2 terminated, unrefed\n",
-                   susp->s1, susp->s2);
-            sound_unref(susp->s2);
-            susp->s2 = NULL;
-            susp->susp.fetch = add_s1_nn_fetch;
-D           stdputstr("add_s1_s2_nn_fetch: add_s1_nn_fetch installed\n");
-            if (cnt == 0) {
-D		nyquist_printf("add[%p,%p]: calling add_s1_nn_fetch\n",
-                       susp->s1, susp->s2);
-                add_s1_nn_fetch(susp, snd_list);
-            }
-        }
-        
-        /* add a new snd_list for the susp */
-        susp->susp.current += cnt;
-    }
-
-} /* add_s1_s2_nn_fetch */
-
-
-
-/* Note that add_s1_nn_fetch and add_s2_nn_fetch are symetric.
- * They should probably be made into one routine, but for now,
- * any changes to one should be made to the other.
- */
-void add_s1_nn_fetch(susp, snd_list)
-  register add_susp_type susp;
-  snd_list_type snd_list;
-{
-    /* expansion of add_s_nn_fetch(snd_list,s1,s2,1); follows: */
-    int togo, s2_start=0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-D   nyquist_printf("add_s1_nn_fetch(susp %p, snd_list %p, s1_cnt %d)\n",
-           susp, snd_list, (int)susp->s1_cnt);
-
-#ifdef GC_DEBUG
-    snd_list_report(snd_list, "add_s1_nn_fetch");
-#endif
-    /*
-     * first compute how many samples to copy (or transfer)
-     */
-
-    /* see what the next samples look like */
-    susp_check_term_log_block_samples(s1, s1_bptr,
-                                      s1_ptr, s1_cnt, 1, 3);
-B   if (susp->terminate_bits & 1)
-        nyquist_printf("add[%p,%p]: s1 terminates\n", susp->s1, susp->s2);
-
-    /* don't run past the s1 input sample block: */
-    togo = susp->s1_cnt;
-B   if (togo == 0) stdputstr("togo is zero at checkpoint 1\n");
-
-    /* don't run past terminate time of this signal */
-/*    if (susp->s1_ptr == zero_block->samples) { -sep21 RBD*/
-    if (susp->terminate_bits & 1) {
-        if (susp->s2) {
-            s2_start = (long) ((susp->s2->t0 - susp->susp.t0) *
-                susp->s2->sr + 0.5);
-D 	    nyquist_printf("add_s_nn_fetch: s2_start %d\n", s2_start);
-        }
-        togo = 0;
-B       if (togo == 0) stdputstr("togo is zero at checkpoint 2\n");
-        if (susp->s2 && susp->susp.current == s2_start) {
-            /* s2 starting and s1 stops */
-            /* go to s2 alone state */
-            sound_unref(susp->s1);
-            susp->s1 = NULL;
-            susp->susp.fetch = add_s2_nn_fetch;
-D            stdputstr("add_s_nn_fetch: other installed, calling now...\n");
-            add_s2_nn_fetch(susp, snd_list);
-        } else if (susp->s2 && susp->susp.current < s2_start) {
-            /* s2 not started and s1 stops */
-            /* go to zero-fill state */
-            sound_unref(susp->s1);
-            susp->s1 = NULL;
-            susp->susp.fetch = add_zero_fill_nn_fetch;
-B           stdputstr("add_s_nn_fetch: zero_fill installed\n");
-            add_zero_fill_nn_fetch(susp, snd_list);
-        } else if (susp->s2) {
-D	    stdputstr("add_s_nn_fetch: unexpected condition\n");
-            EXIT(1);
-        } else /* no s2 */ {
-            snd_list_terminate(snd_list);
-        }
-D	nyquist_printf("add_s_nn_fetch: special return, susp %p\n", susp);
-        return; /* fetching taken care of by another routine */
-    }
-/*    if (susp->terminate_cnt != UNKNOWN &&
-        susp->terminate_cnt <= susp->susp.current + togo) {
-        togo = susp->terminate_cnt - susp->susp.current;
-    }
- */
-    /* don't run past logical stop time */
-    if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-        int to_stop = susp->susp.log_stop_cnt - susp->susp.current;
-        if (to_stop < togo) {
-            if (to_stop == 0) {
-                susp->logically_stopped = true;
-            } else togo = to_stop;
-        }
-B       if (togo == 0) stdputstr("togo is zero at checkpoint 3\n");
-D	nyquist_printf("add_s1_nn_fetch: to_stop %d togo %d\n", to_stop, togo);
-    }
-
-    /* consider other signal? don't run past its start time... */
-    if (susp->s2) {
-        s2_start = ROUND((susp->s2->t0 - susp->susp.t0) *
-            susp->s2->sr);
-        if (s2_start < susp->susp.current + togo)
-            togo = MIN(togo, s2_start - susp->susp.current);
-B           if (togo == 0) stdputstr("togo is zero at checkpoint 4\n");
-    }
-
-    /*
-     * two cases: copy a partial block or manipulate pointers for
-     * copyless transfer of whole block (may not be full block):
-     *
-     * copy partial block when:
-     *   o samples begin in middle of block
-     *   o stopping time is before end of block (when other signal
-     *     splits the block for this signal)
-     * transfer (copyless) block when:
-     *   o the block is of maximum size
-     *   o the block is small due to logical stop time or termination
-     *     time
-     */
-    if (susp->s1_ptr == susp->s1_bptr->samples &&
-        susp->s1_cnt == togo) {
-        /*
-         * we want to copy this whole block (starting at the beginning
-         * and going to the rest of the block) -- just do pointers.
-         */
-
-        /* just fetch and pass blocks on */
-        if (0) nyquist_printf("add[%p,%p] (s%d_nn) %p starting uncopy, togo %d\n", susp->s1, susp->s2,
-               1, susp, togo);
-        snd_list->block = susp->s1_bptr;
-        (susp->s1_bptr->refcnt)++;
-        if (0) nyquist_printf("add[%p,%p] (s%d_nn) %p shared block %p zero_block %p\n",susp->s1, susp->s2,
-               1, susp, susp->s1_bptr, zero_block);
-
-        susp_took(s1_cnt, togo);
-        snd_list->block_len = togo;
-
-        /* if other is terminated and sound_types match, collapse */
-        /* NOTE: in order to collapse, we need s2 to be generating
-         * blocks and linking them onto a sound list.  This is true
-         * when the get_next fn is SND_get_next.  (A counterexample is
-         * SND_get_zeros, which returns zero blocks but does not link
-         * them onto the sound list.
-         */
-        if (0) nyquist_printf("s2 %p thissr %g suspsr %g get_next %d lsc %d\n",
-                susp->s2, susp->s1->sr, susp->susp.sr,
-                susp->s1->get_next == SND_get_next,
-                susp->s1->logical_stop_cnt == UNKNOWN);
-        if (susp->s2 == NULL && susp->s1->sr == susp->susp.sr &&
-            susp->s1->get_next == SND_get_next &&
-            susp->s1->logical_stop_cnt == UNKNOWN) {
-            snd_list_type addend_list;
-D	    nyquist_printf("add[%p,%p]: collapsing! LSC %d\n", susp->s1, susp->s2,
-                      (int)susp->s1->logical_stop_cnt);
-D	    sound_print_tree(susp->s1);
-            /* will "current" values match? */
-            /* test for logical stop */
-            if (susp->logically_stopped) {
-                snd_list->logically_stopped = true;
-            }
-            else if (susp->susp.log_stop_cnt == susp->susp.current) {
-                susp->logically_stopped = true;
-            }
-            /* free the superfluous sound_type and susp */
-            addend_list = susp->s1->list->u.next;
-            snd_list_ref(addend_list);
-            snd_list_unref(snd_list->u.next);
-            snd_list->u.next = addend_list;
-            return;
-        }
-    } else {
-        /*
-         * we want to copy a partial block
-         */
-
-        /* assume the snd_list is the one with a null block */
-        /*
-         * put a fresh, clean block in the snd_list
-         * (get new snd_list later)
-         */
-        falloc_sample_block(out, "add_s1_nn_fetch");
-        snd_list->block = out;
-        out_ptr = out->samples;
-B        nyquist_printf("add[%p,%p] (s1_nn) %p new block %p, s1_ptr %p block %p s1_cnt %d togo %d\n", susp->s1, susp->s2, susp, out, susp->s1_ptr, susp->s1_bptr->samples, (int)susp->s1_cnt, togo);
-        n = togo;
-B       if (togo == 0) stdputstr("togo is zero at checkpoint 5\n");
-B	if (togo == 0) nyquist_printf(
-        "add[%p,%p] (s%d_nn) %p starting copy loop, togo %d\n",
-               susp->s1, susp->s2, 1, susp, togo);
-        while (n--) { /* the inner sample computation loop */
-            /* scale? */
-            *out_ptr++ = *(susp->s1_ptr++);
-        } /* inner loop */
-
-        susp_took(s1_cnt, togo);
-        snd_list->block_len = togo;
-    }
-
-    /* add a new snd_list for the susp */
-    susp->susp.current += togo;
-
-D   stdputstr("testing...");
-    /*
-     * test for termination or change of state,
-     * note s2_start computed earlier
-     */
-    if (susp->s2 && susp->susp.current == s2_start &&
-        susp->s1->list != zero_snd_list) {
-        /* s2 starting and s1 continues */
-        /* go to s1+s2 state */
-        susp->susp.fetch = add_s1_s2_nn_fetch;
-D        stdputstr("add_s_nn_fetch: add_s1_s2_fetch installed\n");
-    } else if (susp->terminate_bits == 3) {
-        /* s2 finished and s1 stops */
-        /* go to terminal state */
-        susp->s1 = NULL;
-D        nyquist_printf("add_s_nn_fetch: go to terminal state.  susp->s2 %p, \
-               susp->susp.current %d, s2_start %d, susp->s1->list %p, \
-               zero_snd_list %p\n", susp->s2, (int)susp->susp.current,
-               s2_start, susp->s1->list, zero_snd_list);
-        /* !!! free resources and set up pointers to terminal snd_list */
-        /* !!! logically stopped? */
-    }
-
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-D        stdputstr("add_s_nn_fetch: snd_list->logically_stopped\n");
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-D        stdputstr("add_s_nn_fetch: susp->logically_stopped\n");
-        susp->logically_stopped = true;
-    }
-D    {
-        if (susp->logically_stopped || snd_list->logically_stopped) 
-            stdputstr("STOPPED\n");
-        else nyquist_printf("ok: current %d\n", (int)susp->susp.current); }
-}
-
-
-void add_s2_nn_fetch(susp, snd_list)
-  register add_susp_type susp;
-  snd_list_type snd_list;
-{
-    int togo, s1_start=0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-D   nyquist_printf("add_s2_nn_fetch(susp %p, snd_list %p)\n",
-           susp, snd_list);
-
-#ifdef GC_DEBUG
-    snd_list_report(snd_list, "add_s2_nn_fetch");
-#endif
-
-    /*
-     * first compute how many samples to copy (or transfer)
-     */
-
-    /* see what the next samples look like */
-    susp_check_term_log_block_samples(s2, s2_bptr,
-                                      s2_ptr, s2_cnt, 2, 3);
-
-    /* don't run past the s2 input sample block: */
-    togo = susp->s2_cnt;
-
-    /* don't run past terminate time of this signal */
-    /* if (susp->s2_ptr == zero_block->samples) { -sep21 RBD*/
-    if (susp->terminate_bits & 2) {
-        if (susp->s1) {
-            s1_start = ROUND((susp->s1->t0 - susp->susp.t0) *
-                susp->s1->sr);
-             if (0) nyquist_printf("add_s_nn_fetch: s1_start %d\n", s1_start);
-        }
-        togo = 0;
-        if (susp->s1 && susp->susp.current == s1_start) {
-            /* s1 starting and s2 stops */
-            /* go to s1 alone state */
-            sound_unref(susp->s2);
-            susp->s2 = NULL;
-            susp->susp.fetch = add_s1_nn_fetch;
-D            stdputstr("add_s_nn_fetch: other installed, calling now...\n");
-            add_s1_nn_fetch(susp, snd_list);
-        } else if (susp->s1 && susp->susp.current < s1_start) {
-            /* s1 not started and s2 stops */
-            /* go to zero-fill state */
-            sound_unref(susp->s2);
-            susp->s2 = NULL;
-            susp->susp.fetch = add_zero_fill_nn_fetch;
-D            stdputstr("add_s_nn_fetch: zero_fill installed\n");
-            add_zero_fill_nn_fetch(susp, snd_list);
-        } else if (susp->s1) {
-D	    stdputstr("add_s_nn_fetch: unexpected condition\n");
-            EXIT(1);
-        } else /* no s1 */ {
-            snd_list_terminate(snd_list);
-        }
-D	nyquist_printf("add_s_nn_fetch: special return, susp %p\n", susp);
-        return; /* fetching taken care of by another routine */
-    }
-/*    if (susp->terminate_cnt != UNKNOWN &&
-        susp->terminate_cnt <= susp->susp.current + togo) {
-        togo = susp->terminate_cnt - susp->susp.current;
-    }
- */
-    /* don't run past logical stop time */
-    if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-        int to_stop = susp->susp.log_stop_cnt - susp->susp.current;
-        if (to_stop < togo) {
-            if (to_stop == 0) {
-                susp->logically_stopped = true;
-            } else togo = to_stop;
-        }
-B       if (togo == 0) stdputstr("togo is zero at checkpoint 3\n");
-D	nyquist_printf("add_s2_nn_fetch: to_stop %d togo %d\n", to_stop, togo);
-    }
-
-    /* consider other signal? don't run past its start time... */
-    if (susp->s1) {
-        s1_start = ROUND((susp->s1->t0 - susp->susp.t0) *
-            susp->s1->sr);
-        if (s1_start < susp->susp.current + togo)
-            togo = MIN(togo, s1_start - susp->susp.current);
-    }
-
-    /*
-     * two cases: copy a partial block or manipulate pointers for
-     * copyless transfer of whole block (may not be full block):
-     *
-     * copy partial block when:
-     *   o samples begin in middle of block
-     *   o stopping time is before end of block (when other signal
-     *     splits the block for this signal)
-     * transfer (copyless) block when:
-     *   o the block is of maximum size
-     *   o the block is small due to logical stop time or termination
-     *     time
-     */
-    if (susp->s2_ptr == susp->s2_bptr->samples &&
-        susp->s2_cnt == togo) {
-        /*
-         * we want to copy this whole block (starting at the beginning
-         * and going to the rest of the block) -- just do pointers.
-         */
-
-        /* just fetch and pass blocks on */
-D	nyquist_printf("add[%p,%p] (s%d_nn) %p starting uncopy, togo %d\n", susp->s2, susp->s1,
-               2, susp, togo);
-        snd_list->block = susp->s2_bptr;
-        (susp->s2_bptr->refcnt)++;
-D	nyquist_printf("add[%p,%p] (s%d_nn) %p shared block %p zero_block %p\n",susp->s2, susp->s1,
-               2, susp, susp->s2_bptr, zero_block);
-
-        susp_took(s2_cnt, togo);
-        snd_list->block_len = togo;
-
-        /* if other is terminated and sound_types match, collapse */
-        /* NOTE: in order to collapse, we need s1 to be generating
-         * blocks and linking them onto a sound list.  This is true
-         * when the get_next fn is SND_get_next.  (A counterexample is
-         * SND_get_zeros, which returns zero blocks but does not link
-         * them onto the sound list.
-         */
-        if (0) nyquist_printf("s1 %p thissr %g suspsr %g get_next %d lsc %d\n",
-                susp->s1, susp->s2->sr, susp->susp.sr,
-                susp->s2->get_next == SND_get_next,
-                susp->s2->logical_stop_cnt == UNKNOWN);
-        if (susp->s1 == NULL && susp->s2->sr == susp->susp.sr &&
-            susp->s2->get_next == SND_get_next &&
-            susp->s2->logical_stop_cnt == UNKNOWN) {
-            snd_list_type addend_list;
-D	    nyquist_printf("add[%p,%p]: collapsing! LSC %d\n",
-                      susp->s2, susp->s1, (int)susp->s2->logical_stop_cnt);
-D	    sound_print_tree(susp->s2);
-            /* will "current" values match? */
-            /* test for logical stop */
-            if (susp->logically_stopped) {
-                snd_list->logically_stopped = true;
-            }
-            else if (susp->susp.log_stop_cnt == susp->susp.current) {
-                susp->logically_stopped = true;
-            }
-            /* free the superfluous sound_type and susp */
-            addend_list = susp->s2->list->u.next;
-            snd_list_ref(addend_list);
-            snd_list_unref(snd_list->u.next);
-            snd_list->u.next = addend_list;
-            return;
-        }
-    } else {
-        /*
-         * we want to copy a partial block
-         */
-
-        /* assume the snd_list is the one with a null block */
-        /*
-         * put a fresh, clean block in the snd_list
-         * (get new snd_list later)
-         */
-        falloc_sample_block(out, "add_s2_nn_fetch");
-        snd_list->block = out;
-        out_ptr = out->samples;
-B       nyquist_printf("add[%p,%p] (s2_nn) %p new block %p\n",
-               susp->s2, susp->s1, susp, out);
-        n = togo;
-        if (n == 0)
-            stdputstr("zero block length error in add_s2_nn_fetch\n");
-B       nyquist_printf(
-        "add[%p,%p] (s2_nn) %p starting copy loop, togo %d\n",
-               susp->s2, susp->s1, susp, togo);
-        while (n--) { /* the inner sample computation loop */
-            /* scale? */
-            *out_ptr++ = *(susp->s2_ptr++);
-        } /* inner loop */
-
-        susp_took(s2_cnt, togo);
-        snd_list->block_len = togo;
-    }
-
-    /* add a new snd_list for the susp */
-    susp->susp.current += togo;
-
-    if (0) stdputstr("testing...");
-    /*
-     * test for termination or change of state,
-     * note s1_start computed earlier
-     */
-    if (susp->s1 && susp->susp.current == s1_start &&
-        susp->s2->list != zero_snd_list) {
-        /* s1 starting and s2 continues */
-        /* go to s1+s2 state */
-        susp->susp.fetch = add_s1_s2_nn_fetch;
-D        stdputstr("add_s_nn_fetch: add_s1_s2_fetch installed\n");
-    }
-/*    else if (!susp->s1 && susp->s2->list == zero_snd_list) { */
-      else if (susp->terminate_bits == 3) {
-        /* s1 finished and s2 stops */
-        /* go to terminal state */
-        susp->s2 = NULL;
-D        nyquist_printf("add_s_nn_fetch: go to terminal state.  susp->s1 %p, \
-               susp->susp.current %d, s1_start %d, susp->s2->list %p, \
-               zero_snd_list %p\n", susp->s1, (int)susp->susp.current,
-               s1_start, susp->s2->list, zero_snd_list);
-        /* !!! free resources and set up pointers to terminal snd_list */
-        /* !!! logically stopped? */
-    }
-
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-D        stdputstr("add_s_nn_fetch: snd_list->logically_stopped\n");
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-D        stdputstr("add_s_nn_fetch: susp->logically_stopped\n");
-        susp->logically_stopped = true;
-    }
-    if (0) {
-        if (susp->logically_stopped || snd_list->logically_stopped) 
-            stdputstr("STOPPED\n");
-        else
-            nyquist_printf("ok: current %d\n", (int)susp->susp.current);
-    }
-}
-
-
-
-void add_zero_fill_nn_fetch(susp, snd_list)
-  register add_susp_type susp;
-  snd_list_type snd_list;
-{
-    int togo, s_start=0;
-
-#ifdef GC_DEBUG
-    snd_list_report(snd_list, "add_zero_fill_nn_fetch");
-#endif
-    togo = max_sample_block_len;
-
-    if (0) fprintf(stderr, "add_zero_fill_nn_fetch, susp.current %d\n",
-                   (int)susp->susp.current);
-    /* don't run past start time ... */
-    if (susp->s1) {
-        s_start = ROUND((susp->s1->t0 - susp->susp.t0) * susp->s1->sr);
-        if (s_start < susp->susp.current + togo) {
-            togo = s_start - susp->susp.current;
-        }
-    } else if (susp->s2) {
-        s_start = ROUND((susp->s2->t0 - susp->susp.t0) * susp->s2->sr);
-        if (s_start < susp->susp.current + togo) {
-            togo = s_start - susp->susp.current;
-        }
-    }
-
-    snd_list->block_len = togo;
-    susp->susp.current += togo;
-    /*
-     * test for change of state,
-     * note s_start computed earlier
-     */
-    if (susp->s1 && susp->susp.current == s_start) {
-        /* s1 starting, go to s1 state */
-        susp->susp.fetch = add_s1_nn_fetch;
-D        stdputstr("add_zero_fill_nn_fetch: add_s1_nn_fetch installed\n");
-    } else if (susp->s2 && susp->susp.current == s_start) {
-        /* s2 starting, go to s2 state */
-        susp->susp.fetch = add_s2_nn_fetch;
-D       stdputstr("add_zero_fill_nn_fetch: add_s2_nn_fetch installed\n");
-    }
-} /* add_zero_fill_nn_fetch */
-
-
-void add_free(add_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->s2);
-    ffree_generic(susp, sizeof(add_susp_node), "add_free");
-}
-
-
-void add_mark(add_susp_type susp)
-{
-/*    nyquist_printf("add_mark(%p)\n", susp);*/
-/*    nyquist_printf("marking s1@%p in add@%p\n", susp->s1, susp);*/
-    sound_xlmark(susp->s1);
-/*    nyquist_printf("marking s2@%p in add@%p\n", susp->s2, susp);*/
-    sound_xlmark(susp->s2);
-
-}
-
-
-void add_print_tree(add_susp_type susp, int n)
-{
-    indent(n);
-    nyquist_printf("logically_stopped %d logical_stop_bits %d terminate_bits %d\n", 
-           susp->logically_stopped, susp->logical_stop_bits, susp->terminate_bits);
-    indent(n);
-    stdputstr("s1:");
-    if (susp->s1) sound_print_tree_1(susp->s1, n);
-    else stdputstr(" NULL\n");
-
-    indent(n);
-    stdputstr("s2:");
-    if (susp->s2) sound_print_tree_1(susp->s2, n);
-    else stdputstr(" NULL\n");
-}
-
-
-sound_type snd_make_add(s1, s2)
-  sound_type s1;
-  sound_type s2;
-{
-    register add_susp_type susp;
-    rate_type sr = MAX(s1->sr, s2->sr);
-    time_type t0 = MIN(s1->t0, s2->t0);
-    int interp_desc = 0;
-    double sample_offset;
-
-    /* sort commutative signals: (S1 S2) */
-    snd_sort_2(&s1, &s2, sr);
-
-    falloc_generic(susp, add_susp_node, "snd_make_add");
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_style(s1, sr) << 2) + interp_style(s2, sr);
-    switch (interp_desc) {
-      case INTERP_nn:
-      case INTERP_ns:
-      case INTERP_ss:
-        /* eliminate scale factor on s1 if any */
-        if (((interp_desc >> INTERP_SHIFT) & INTERP_MASK) == INTERP_s) {
-            /* stdputstr("add: prescaling s1\n");*/
-            s1 = snd_make_normalize(s1);
-        }
-        /* eliminate scale factor on s2 if any */
-        if ((interp_desc & INTERP_MASK) == INTERP_s) {
-            /* stdputstr("add: prescaling s2\n"); */
-            s2 = snd_make_normalize(s2);
-        }
-        sample_offset = (s2->t0 - s1->t0) * sr;
-        if (sample_offset >= 0.5) { /* s1 starts first */
-            susp->susp.fetch = add_s1_nn_fetch;
-D            stdputstr("snd_make_add: add_s1_nn_fetch installed\n");
-        } else if (sample_offset < -0.5) { /* s2 starts first */
-            susp->susp.fetch = add_s2_nn_fetch;
-D            stdputstr("snd_make_add: add_s2_nn_fetch installed\n");
-        } else {	/* equal start times */
-            susp->susp.fetch = add_s1_s2_nn_fetch;
-D            stdputstr("snd_make_add: add_s1_s2_nn_fetch installed\n");
-        }
-        break;
-      case INTERP_ni:
-      case INTERP_nr:
-        errputstr("add: can't interpolate!\n");
-        EXIT(1);
-      default:
-        errputstr("add: can't add these operands!\n");
-        EXIT(1);
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    susp->terminate_bits = 0;   /* bits for s1 and s2 termination */
-    susp->logical_stop_bits = 0;    /* bits for s1 and s2 logical stop */
-
-    /* initialize susp state */
-    susp->susp.free = add_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = add_mark;
-    susp->susp.print_tree = add_print_tree;
-    susp->susp.name = "add";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->s2 = s2;
-    susp->s2_cnt = 0;
-#ifdef UPSAMPLECODE
-    susp->susp.s2_phase = 0.0;
-    susp->susp.s2_phase_incr = s2->sr / sr;
-    susp->susp.output_per_s2 = sr / s2->sr;
-#endif
-    return sound_create((snd_susp_type)susp, t0, sr, 1.0);
-}
-
-
-sound_type snd_add(s1, s2, t0)
-  sound_type s1;
-  sound_type s2;
-  time_type t0;
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type s2_copy = sound_copy(s2);
-/*    nyquist_printf("snd_add %p %p copied to %p %p\n", s1, s2, s1_copy,  s2_copy); */
-    return snd_make_add(s1_copy, s2_copy, t0);
-}
diff --git a/lib-src/libnyquist/nyqsrc/add.h b/lib-src/libnyquist/nyqsrc/add.h
deleted file mode 100644
index 02b8105..0000000
--- a/lib-src/libnyquist/nyqsrc/add.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* this typedef goes here because it is needed by multiseq.c */
-
-typedef struct add_susp_struct {
-    snd_susp_node		susp;
-    boolean			started;
-    int                         terminate_bits;
-    long			terminate_cnt;
-    int                         logical_stop_bits;
-    boolean			logically_stopped;
-    sound_type			s1;
-    long			s1_cnt;
-    sample_block_type		s1_bptr;	/* block pointer */
-    sample_block_values_type	s1_ptr;
-    sound_type			s2;
-    long			s2_cnt;
-    sample_block_type		s2_bptr;	/* block pointer */
-    sample_block_values_type	s2_ptr;
-
-#ifdef UPSAMPLECODE
-    /* support for interpolation of s2 */
-    sample_type s2_x1_sample;
-    double s2_phase;
-    double s2_phase_incr;
-
-    /* support for ramp between samples of s2 */
-    double output_per_s2;
-#endif
-    /* pointer used to synchronize adds in multiseq */
-    struct multiseq_struct	*multiseq;
-    long			s1_prepend; /* offset to susp.current */
-} add_susp_node, *add_susp_type;
-
-sound_type snd_make_add();
-sound_type snd_add();
-    /* LISP: (SND-ADD SOUND SOUND) */
-
-/* we export these for seq.c and multiseq.c */ 
-void add_zero_fill_nn_fetch(add_susp_type susp, snd_list_type snd_list);
-void add_s1_s2_nn_fetch(add_susp_type susp, snd_list_type snd_list);
-void add_s2_nn_fetch(add_susp_type susp, snd_list_type snd_list);
-void add_s1_nn_fetch(add_susp_type susp, snd_list_type snd_list);
-void add_mark(add_susp_type susp);
-void add_print_tree(add_susp_type susp, int n);
-void add_free(add_susp_type susp);
diff --git a/lib-src/libnyquist/nyqsrc/avg.c b/lib-src/libnyquist/nyqsrc/avg.c
deleted file mode 100644
index 31c1406..0000000
--- a/lib-src/libnyquist/nyqsrc/avg.c
+++ /dev/null
@@ -1,266 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "avg.h"
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-
-void avg_free();
-
-typedef sample_type (*process_block_type)(/* struct avg_susp_struct *susp */);
-
-typedef struct avg_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-    long blocksize;
-    long stepsize;
-    sample_type *block;
-    sample_type *fillptr;
-    sample_type *endptr;
-    process_block_type process_block;
-} avg_susp_node, *avg_susp_type;
-
-
-sample_type average_block(avg_susp_type susp)
-{
-    /* this version just computes average */
-    double sum = 0.0;
-    int i;
-    for (i = 0; i < susp->blocksize; i++) {
-        sum += susp->block[i];
-    }
-    for (i = susp->stepsize; i < susp->blocksize; i++) {
-    susp->block[i - susp->stepsize] = susp->block[i];
-    }
-    return (sample_type) (sum / susp->blocksize);
-}
-
-
-sample_type peak_block(avg_susp_type susp)
-{
-    /* this version just computes average */
-    sample_type peak = 0.0F;
-    sample_type minus_peak = 0.0F;
-    int i;
-    for (i = 0; i < susp->blocksize; i++) {
-        sample_type s = susp->block[i];
-    if (s > peak) {
-        peak = s; minus_peak = -s;
-    } else if (s < minus_peak) {
-        minus_peak = s; peak = -s;
-    }
-    }
-    for (i = susp->stepsize; i < susp->blocksize; i++) {
-    susp->block[i - susp->stepsize] = susp->block[i];
-    }
-    return peak;
-}
-
-
-void avg_s_fetch(avg_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo = 0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_type *fillptr_reg;
-    register sample_type *endptr_reg = susp->endptr;
-
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "avg_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-    /* first compute how many samples to generate in inner loop: */
-    /* don't overflow the output sample block: */
-    togo = (max_sample_block_len - cnt) * susp->stepsize;
-
-    /* don't run past the s input sample block: */
-    susp_check_term_log_samples(s, s_ptr, s_cnt);
-    togo = MIN(togo, susp->s_cnt);
-
-    /* don't run past terminate time */
-    if (susp->terminate_cnt != UNKNOWN &&
-        susp->terminate_cnt <= susp->susp.current + cnt + togo/susp->stepsize) {
-        togo = (susp->terminate_cnt - (susp->susp.current + cnt)) * susp->stepsize;
-        if (togo == 0) break;
-    }
-
-
-    /* don't run past logical stop time */
-    if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-        int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-        /* break if to_stop == 0 (we're at the logical stop)
-         * AND cnt > 0 (we're not at the beginning of the
-         * output block).
-         */
-        if (to_stop < togo/susp->stepsize) {
-        if (to_stop == 0) {
-            if (cnt) {
-            togo = 0;
-            break;
-            } else /* keep togo as is: since cnt == 0, we
-                * can set the logical stop flag on this
-                * output block
-                */
-            susp->logically_stopped = true;
-        } else /* limit togo so we can start a new
-            * block at the LST
-            */
-            togo = to_stop * susp->stepsize;
-        }
-    }
-
-    n = togo;
-    s_ptr_reg = susp->s_ptr;
-    fillptr_reg = susp->fillptr;
-    if (n) do { /* the inner sample computation loop */
-        *fillptr_reg++ = *s_ptr_reg++;
-        if (fillptr_reg >= endptr_reg) {
-           *out_ptr++ = (*(susp->process_block))(susp);
-           cnt++;
-           fillptr_reg -= susp->stepsize;
-        }
-    } while (--n); /* inner loop */
-
-    /* using s_ptr_reg is a bad idea on RS/6000: */
-    susp->s_ptr += togo;
-    susp->fillptr = fillptr_reg;
-    susp_took(s_cnt, togo);
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-    snd_list_terminate(snd_list);
-    } else {
-    snd_list->block_len = cnt;
-    susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-    snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-    susp->logically_stopped = true;
-    }
-} /* avg_s_fetch */
-
-
-void avg_toss_fetch(susp, snd_list)
-  avg_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = MIN(susp->susp.current + max_sample_block_len,
-               susp->susp.toss_cnt);
-    time_type final_time = susp->susp.t0 + final_count / susp->susp.sr;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while (((long) ((final_time - susp->s->t0) * susp->s->sr + 0.5)) >=
-       susp->s->current)
-    susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    if (final_count == susp->susp.toss_cnt) {
-    n = ROUND((final_time - susp->s->t0) * susp->s->sr -
-         (susp->s->current - susp->s_cnt));
-    susp->s_ptr += n;
-    susp_took(s_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    }
-    snd_list->block_len = (short) (final_count - susp->susp.current);
-    susp->susp.current = final_count;
-    snd_list->u.next = snd_list_create((snd_susp_type) susp);
-    snd_list->block = internal_zero_block;
-}
-
-
-void avg_mark(avg_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void avg_free(avg_susp_type susp)
-{
-    sound_unref(susp->s);
-    free(susp->block);
-    ffree_generic(susp, sizeof(avg_susp_node), "avg_free");
-}
-
-
-void avg_print_tree(avg_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_avg(sound_type s, long blocksize, long stepsize, long op)
-{
-    register avg_susp_type susp;
-    rate_type sr = s->sr;
-    time_type t0 = s->t0;
-    time_type t0_min = t0;
-
-    falloc_generic(susp, avg_susp_node, "snd_make_avg");
-    susp->susp.fetch = avg_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = ROUND((t0 - t0_min) * sr);
-    if (susp->susp.toss_cnt > 0) {
-    susp->susp.keep_fetch = susp->susp.fetch;
-    susp->susp.fetch = avg_toss_fetch;
-    t0 = t0_min;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = avg_free;
-    susp->susp.sr = sr / stepsize;
-    susp->susp.t0 = t0;
-    susp->susp.mark = avg_mark;
-    susp->susp.print_tree = avg_print_tree;
-    susp->susp.name = "avg";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    susp->blocksize = blocksize;
-    susp->stepsize = stepsize;
-    susp->block = (sample_type *) malloc(blocksize * sizeof(sample_type));
-    susp->fillptr = susp->block;
-    susp->endptr = susp->block + blocksize;
-    susp->process_block = average_block;
-    if (op == op_peak) susp->process_block = peak_block;
-    /* scale factor gets passed to output signal: */
-    return sound_create((snd_susp_type) susp, t0, susp->susp.sr, susp->s->scale);
-}
-
-
-sound_type snd_avg(sound_type s, long blocksize, long stepsize, long op)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_avg(s_copy, blocksize, stepsize, op);
-}
diff --git a/lib-src/libnyquist/nyqsrc/avg.h b/lib-src/libnyquist/nyqsrc/avg.h
deleted file mode 100644
index 4c21cc3..0000000
--- a/lib-src/libnyquist/nyqsrc/avg.h
+++ /dev/null
@@ -1,6 +0,0 @@
-sound_type snd_make_avg(sound_type s, long blocksize, long stepsize, long op);
-sound_type snd_avg(sound_type s, long blocksize, long stepsize, long op);
-    /* LISP: (snd-avg SOUND FIXNUM FIXNUM FIXNUM) */
-#define op_average 1
-#define op_peak 2
-/* LISP-SRC: (setf OP-AVERAGE 1) (setf OP-PEAK 2) */
diff --git a/lib-src/libnyquist/nyqsrc/compose.c b/lib-src/libnyquist/nyqsrc/compose.c
deleted file mode 100644
index a15fe34..0000000
--- a/lib-src/libnyquist/nyqsrc/compose.c
+++ /dev/null
@@ -1,304 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "compose.h"
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-void compose_free();
-
-
-typedef struct compose_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type f;
-    long f_cnt;
-    sample_block_values_type f_ptr;
-    sample_type f_prev;
-    double f_time;
-    double f_time_increment;
-    boolean started;
-    sound_type g;
-    long g_cnt;
-    sample_block_values_type g_ptr;
-} compose_susp_node, *compose_susp_type;
-
-
-/* compose_fetch -- computes f(g(t)) */
-/**/
-void compose_fetch(register compose_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo = 0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_block_values_type g_ptr_reg;
-    register sample_block_values_type f_ptr_reg;
-    falloc_sample_block(out, "compose_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure we are primed with first value of f */
-    /* This is a lot of work just to prefetch susp->f_prev! */
-    if (!susp->started) {
-        susp->started = true;
-        /* see comments below about susp_check_term_log_samples() */
-        if (susp->f_cnt == 0) {
-            susp_get_samples(f, f_ptr, f_cnt);
-            if (susp->f_ptr == zero_block->samples) {
-                susp->terminate_cnt = susp->susp.current;
-            }
-        }
-        susp->f_prev = susp_fetch_sample(f, f_ptr, f_cnt);
-        susp->f_time += susp->f_time_increment;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-        /* first compute how many samples to generate in inner loop: */
-        /* don't overflow the output sample block: */
-        togo = max_sample_block_len - cnt;
-
-        /* don't run past the f input sample block: */
-        /* most fetch routines call susp_check_term_log_samples() here
-         * but we can't becasue susp_check_term_log_samples() assumes
-          * that output time progresses at the same rate as input time.
-         * Here, some time warping is going on, so this doesn't work.
-         * Instead, check for termination of f and fix terminate_cnt to
-         * be the current output count rather than the current input time.
-         */
-        if (susp->f_cnt == 0) {
-            susp_get_samples(f, f_ptr, f_cnt);
-            if (susp->f->logical_stop_cnt == susp->f->current - susp->f_cnt) {
-                if (susp->susp.log_stop_cnt == UNKNOWN) {
-                    susp->susp.log_stop_cnt = susp->susp.current + cnt;
-                }
-            }
-            if (susp->f_ptr == zero_block->samples) {
-                susp->terminate_cnt = susp->susp.current + cnt;
-                /* we can't simply terminate here because we might have 
-                 * some output samples computed already, in which case we
-                 * want to return them now and terminate the NEXT time we're
-                 * called.
-                 */
-            }
-        }
-
-#ifdef CUT
-        /* don't run past the f input sample block: */
-        susp_check_term_log_samples(f, f_ptr, f_cnt);
-        togo = MIN(togo, susp->f_cnt);
-#endif
-        /* don't run past the g input sample block: */
-        susp_check_term_samples(g, g_ptr, g_cnt);
-        togo = MIN(togo, susp->g_cnt);
-
-        /* don't run past terminate time */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-            togo = susp->terminate_cnt - (susp->susp.current + cnt);
-            if (togo == 0) break;
-        }
-
-        /* don't run past logical stop time */
-        if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-            if (to_stop < togo && ((togo = to_stop) == 0)) break;
-        }
-
-        n = togo;
-
-        g_ptr_reg = susp->g_ptr;
-        f_ptr_reg = susp->f_ptr;
-        out_ptr_reg = out_ptr;
-        if (n) do { /* the inner sample computation loop */
-            double g_of_t = *g_ptr_reg;
-            #if 0
-            float tmp;  /* for debugging */
-            nyquist_printf("output sample %d, g_of_t %g", susp->susp.current + cnt, g_of_t);
-            #endif
-            /* now we scan f and interpolate at time point g_of_t */
-            while (susp->f_time < g_of_t) {
-                susp->f_time += susp->f_time_increment;
-                susp->f_prev = *f_ptr_reg++;
-/*                nyquist_printf(", (f_time %g, f %g)", susp->f_time, *f_ptr_reg); */
-                susp->f_ptr++;
-                susp->f_cnt--;
-                if (susp->f_cnt == 0) {
-                    togo -= n;
-/*                    stdputstr("\n\tf out of samples...\n"); */
-                    goto f_out_of_samples;
-                }
-            }
-            g_ptr_reg++;
-            *out_ptr_reg++ /* = tmp */ = 
-                (sample_type) (*f_ptr_reg - (*f_ptr_reg - susp->f_prev) *
-                                            (susp->f_time - g_of_t) * susp->f->sr);
-/*            nyquist_printf(", output %g\n", tmp);*/
-        } while (--n); /* inner loop */
-f_out_of_samples:
-        /* using g_ptr_reg is a bad idea on RS/6000: */
-        susp->g_ptr += togo;
-        out_ptr += togo;
-        susp_took(g_cnt, togo);
-        cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = cnt;
-        susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-        susp->logically_stopped = true;
-    }
-} /* compose_fetch */
-
-
-void compose_toss_fetch(susp, snd_list)
-  register compose_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = MIN(susp->susp.current + max_sample_block_len,
-                           susp->susp.toss_cnt);
-    time_type final_time = susp->susp.t0 + final_count / susp->susp.sr;
-    long n;
-
-    /* fetch samples from f up to final_time for this block of zeros */
-    while (((long) ((final_time - susp->f->t0) * susp->f->sr + 0.5)) >=
-           susp->f->current)
-        susp_get_samples(f, f_ptr, f_cnt);
-    /* fetch samples from g up to final_time for this block of zeros */
-    while (((long) ((final_time - susp->g->t0) * susp->g->sr + 0.5)) >=
-           susp->g->current)
-        susp_get_samples(g, g_ptr, g_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    if (final_count == susp->susp.toss_cnt) {
-        n = ROUND((final_time - susp->f->t0) * susp->f->sr -
-                  (susp->f->current - susp->f_cnt));
-        susp->f_ptr += n;
-        susp_took(f_cnt, n);
-        n = ROUND((final_time - susp->g->t0) * susp->g->sr -
-                  (susp->g->current - susp->g_cnt));
-        susp->g_ptr += n;
-        susp_took(g_cnt, n);
-        susp->susp.fetch = susp->susp.keep_fetch;
-    }
-    snd_list->block_len = (short) (final_count - susp->susp.current);
-    susp->susp.current = final_count;
-    snd_list->u.next = snd_list_create((snd_susp_type) susp);
-    snd_list->block = internal_zero_block;
-}
-
-
-void compose_mark(compose_susp_type susp)
-{
-    sound_xlmark(susp->f);
-    sound_xlmark(susp->g);
-}
-
-
-void compose_free(compose_susp_type susp)
-{
-    sound_unref(susp->f);
-    sound_unref(susp->g);
-    ffree_generic(susp, sizeof(compose_susp_node), "compose_free");
-}
-
-
-void compose_print_tree(compose_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("f:");
-    sound_print_tree_1(susp->f, n);
-
-    indent(n);
-    stdputstr("g:");
-    sound_print_tree_1(susp->g, n);
-}
-
-
-sound_type snd_make_compose(sound_type f, sound_type g)
-{
-    register compose_susp_type susp;
-    rate_type sr = g->sr;
-    time_type t0 = g->t0;
-
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-
-    /* combine scale factors of linear inputs (S1 S2) */
-    scale_factor *= f->scale;
-    f->scale = 1.0F;
-
-    /* scale factor in g effectively scales sample rate of f: */
-    f->sr *= g->scale;
-/* BUG */
-    /* probably need to correct f->t0, but I don't understand this,
-        so I'll leave this until we have some test cases */
-
-    falloc_generic(susp, compose_susp_node, "snd_make_compose");
-    susp->susp.fetch = compose_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-/* BUG: do we need to prepend to f?
-    if (t0 < f->t0) sound_prepend_zeros(f, t0); */
-    if (t0 < g->t0) sound_prepend_zeros(g, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(g->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = ROUND((t0 - t0_min) * sr);
-    if (susp->susp.toss_cnt > 0) {
-        susp->susp.keep_fetch = susp->susp.fetch;
-        susp->susp.fetch = compose_toss_fetch;
-        t0 = t0_min;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = compose_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = compose_mark;
-    susp->susp.print_tree = compose_print_tree;
-    susp->susp.name = "compose";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = f->logical_stop_cnt;
-    if (susp->susp.log_stop_cnt > g->logical_stop_cnt)
-        susp->susp.log_stop_cnt = g->logical_stop_cnt;
-    susp->susp.current = 0;
-    susp->f = f;
-    susp->f_cnt = 0;
-    susp->f_time = 0;
-    susp->f_time_increment = 1 / f->sr;
-    susp->g = g;
-    susp->g_cnt = 0;
-    susp->started = false;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_compose(sound_type f, sound_type g)
-{
-    sound_type f_copy = sound_copy(f);
-    sound_type g_copy = sound_copy(g);
-    return snd_make_compose(f_copy, g_copy);
-}
diff --git a/lib-src/libnyquist/nyqsrc/compose.h b/lib-src/libnyquist/nyqsrc/compose.h
deleted file mode 100644
index efd773c..0000000
--- a/lib-src/libnyquist/nyqsrc/compose.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_compose(sound_type f, sound_type g);
-sound_type snd_compose(sound_type f, sound_type g);
-    /* LISP: (snd-compose SOUND SOUND) */
diff --git a/lib-src/libnyquist/nyqsrc/cque.h b/lib-src/libnyquist/nyqsrc/cque.h
deleted file mode 100644
index e001e3c..0000000
--- a/lib-src/libnyquist/nyqsrc/cque.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 
- * cque.h
- * macros for free lists.
- */
-
-typedef struct cque {
-    struct cque	*qnext;
-} CQUE;
-
-#define	Qinit(q1)	{ (q1) = 0; }
-
-/* q1 points to a stack CQUE*, new is an element to insert */
-#define Qenter(q1,new)  {   \
-    ((CQUE *)(new))->qnext = ((CQUE *)(q1)); \
-    q1 = ((CQUE *)(new)); }
-
-
-/* q1 points to a list of CQUE*: remove elt and assign to new */
-/* NOTE: q1 must be non-empty */
-#define Qget(q1,newtype,new) {  \
-    (new) = (newtype)(q1);  \
-    q1 = ((CQUE *)(q1))->qnext; }
-
-
-#define	Qempty(q1)	((q1) == 0)
diff --git a/lib-src/libnyquist/nyqsrc/debug.c b/lib-src/libnyquist/nyqsrc/debug.c
deleted file mode 100644
index eb22e01..0000000
--- a/lib-src/libnyquist/nyqsrc/debug.c
+++ /dev/null
@@ -1,248 +0,0 @@
-#include <stdio.h>
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "debug.h"
-
-/* The DEBUG_MEM related routines are:
- *    dbg_mem_allocated: called when memory is allocated
- *    dbg_mem_freed: called when memory is freed
- *    dbg_mem_released: called when memory is released
- */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-
-#if DEBUG_MEM
-typedef struct {
-    long seq_num;
-    char *who;
-} dbg_mem_node, *dbg_mem_type;
-
-static long dbg_mem_last_seq_num = 0;
-long dbg_mem_seq_num = 0;
-long dbg_mem_trace = 0;
-
-void dbg_mem_pause(void)
-{
-    stdputstr("RETURN to continue: ");
-    getchar();
-}
-
-
-void dbg_mem_allocated(void *p, char *who)
-{
-    dbg_mem_type info = (dbg_mem_type) p;
-    if (p == (void *) dbg_mem_trace) {
-        nyquist_printf("dbg_mem_allocated(%p, %s)\n", p, who);
-    }
-    info--; /* info is stored (hidden) BEFORE the data */
-    dbg_mem_last_seq_num++;
-    if (dbg_mem_last_seq_num == dbg_mem_seq_num) {
-        nyquist_printf("dbg_mem_allocated: "
-                       "%s just allocated %p as number %d\n",
-                       who, p, (int)dbg_mem_last_seq_num);
-        dbg_mem_pause();
-    }
-    info->seq_num = dbg_mem_last_seq_num;
-    info->who = who;
-}
-
-
-void dbg_mem_freed(void *p, char *who)
-{
-    dbg_mem_type info = (dbg_mem_type) p;
-    if (p == (void *) dbg_mem_trace) {
-        nyquist_printf("dbg_mem_freed(%p, %s)\n", p, who);
-    }
-    info--; /* info is stored (hidden) BEFORE the data */
-    if (!info->who) {
-        nyquist_printf("MEMORY %p FREED TWICE!, "
-                       "second time by: %s, seq_num %d\n",
-                       p, who, (int)info->seq_num);
-        fflush(stdout);
-        dbg_mem_pause();
-    }
-    if (info->seq_num == dbg_mem_seq_num) {
-        nyquist_printf("dbg_mem_freed: %s freeing %p, number %d\n",
-                       who, p, (int)dbg_mem_seq_num);
-        dbg_mem_pause();
-    }
-    info->who = NULL;
-}
-
-void dbg_mem_released(void *p, char *who)
-{
-    dbg_mem_type info = (dbg_mem_type) p;
-    if (p == (void *) dbg_mem_trace) {
-        nyquist_printf("dbg_mem_released(%p, %s)\n", p, who);
-    }
-    info--; /* info is stored (hidden) BEFORE the data */
-    if (!info->who) {
-        nyquist_printf("MEMORY %p RELEASED BUT NOT ALLOCATED!, "
-                       "released by: %s, seq_num %d\n",
-                       p, who, (int)info->seq_num);
-        fflush(stdout);
-        dbg_mem_pause();
-    }
-    if (info->seq_num == dbg_mem_seq_num) {
-       nyquist_printf("dbg_mem_released: %s releasing %p, number %d\n",
-                      who, p, (int)dbg_mem_seq_num);
-        dbg_mem_pause();
-    }
-}
-
-
-void dbg_mem_check(void *p, char *who)
-{
-    dbg_mem_type info = (dbg_mem_type) p;
-    if (!info) {
-        nyquist_printf("DBG_MEM_CHECK (from %s): NULL POINTER!", who);
-         fflush(stdout);
-        dbg_mem_pause();
-    }
-    info--; /* info is stored (hidden) BEFORE the data */
-    if (!info->who) {
-       nyquist_printf("DBG_MEM_CHECK (from %s): %p IS FREE!, seq_num %d\n", 
-                      who, p, (int)info->seq_num);
-       fflush(stdout);
-       dbg_mem_pause();
-    }
-}
-
-
-void dbg_mem_print(char *msg, void *p)
-{
-    dbg_mem_type info = (dbg_mem_type) p;
-    stdputstr(msg);
-    if (!info) {
-        stdputstr(" NULL POINTER");
-    } else {
-        info--; /* info is stored (hidden) BEFORE the data */
-        if (!info->who) {
-            nyquist_printf(" %p IS FREE!, ", p);
-        } else {
-            nyquist_printf(" %p allocated by %s, ", p, info->who);
-        }
-        nyquist_printf("seq_num %d\n", (int)info->seq_num);
-    }
-}
-#endif
-
-
-void print_sound_type(sound_type s)
-{
-    snd_list_type list;
-    int blockcount;
-
-    nyquist_printf("sound_type: 0x%p\n", s);
-    nyquist_printf("\tt0: %f\n", s->t0);
-    nyquist_printf("\tsr: %f\n", s->sr);
-    nyquist_printf("\tcurrent: %d\n", (int)s->current);
-    nyquist_printf("\tlogical_stop_cnt: %d\n", (int)s->logical_stop_cnt);
-    nyquist_printf("\tlist: 0x%p\n", s->list);
-    nyquist_printf("\tscale: %f\n", s->scale);
-
-    list = s->list;
-    blockcount = 0;
-    nyquist_printf("\t(0x%p:0x%p)->", list, list->block);
-    while (list->block) {
-        list = list->u.next;
-        if (blockcount < 5) {
-            nyquist_printf("(0x%p:0x%p)->", list, list->block);
-        }
-        else if (blockcount == 5) {
-            stdputstr(" ... ");
-            break;
-        }
-        blockcount++;
-    }
-    stdputstr("\n");
-}
-
-void print_snd_list_type(snd_list_type list)
-{
-    nyquist_printf("%p: [%p[%d], %p] refcnt %d ls %d", list, list->block,
-            list->block_len, list->u.next, 
-            list->refcnt, list->logically_stopped);
-}
-
-
-
-void print_sample_block_type(char *label,
-                             sample_block_type sampblock,
-                             int len)
-{
-    int j;
-    sample_block_values_type samp;
-
-    samp = sampblock->samples;
-    nyquist_printf("%s: [%p(ref %d): len %d]: =========>>",
-                   label, sampblock, (int)sampblock->refcnt, len);
-    for (j = 0; j < len; j++) {
-        nyquist_printf("%6g ", *samp++);
-    }
-    stdputstr("\n");
-}
-
-
-/*******/
-snd_susp_type susp_to_watch = NULL;
-
-void watch_susp(snd_susp_type s)
-{
-    if (!susp_to_watch) {
-        susp_to_watch = s;
-        nyquist_printf("watching susp %p\n", s);
-    }
-}
-
-sound_type sound_to_watch = NULL;
-
-void watch_sound(sound_type s)
-{
-    if (!sound_to_watch) {
-        sound_to_watch = s;
-        nyquist_printf("watching sound %p\n", s);
-    }
-}
-
-
-snd_list_type snd_list_to_watch = NULL;
-
-void watch_snd_list(snd_list_type s)
-{
-    snd_list_to_watch = s;
-    nyquist_printf("watching snd_list %p\n", s);
-}
-
-
-void snd_list_debug(snd_list_type snd_list, char *s)
-{
-    if (snd_list == snd_list_to_watch) {
-        nyquist_printf("%s%s\n", s,
-               " appended to snd_list_to_watch.");
-        watch_snd_list(snd_list->u.next);
-    }
-}
-
-
-void snd_list_report(snd_list_type snd_list, char *s)
-{
-    if (snd_list == snd_list_to_watch) {
-        nyquist_printf("%s: fetching block for watched snd_list.\n",
-               s);
-    }
-}
-
-
-#ifdef IGNORE
-void test_it()
-{
-    if (susp_to_watch && susp_to_watch->keep_fetch) 
-        stdputstr("WE FOUND A SERIOUS PROBLEM\n");
-}
-#endif
diff --git a/lib-src/libnyquist/nyqsrc/debug.h b/lib-src/libnyquist/nyqsrc/debug.h
deleted file mode 100644
index 26f978e..0000000
--- a/lib-src/libnyquist/nyqsrc/debug.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef DEBUG_H
-
-#ifdef PARTIAL_DECLARATIONS
-typedef struct partial_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    long logical_stop_cnt;
-    boolean logically_stopped;
-    sound_type env;
-    long env_cnt;
-    sample_block_values_type env_ptr;
-
-    /* support for interpolation of env */
-    sample_type env_x1_sample;
-    double env_pHaSe;
-    double env_pHaSe_iNcR;
-
-    /* support for ramp between samples of env */
-    double output_per_env;
-    long env_n;
-
-    long phase;
-    long ph_incr;
-    double max_diff;
-    double prev_output;
-} partial_susp_node, *partial_susp_type;
-#endif
-
-void print_sound_type(sound_type s);
-void print_sample_block_type(char *label, 
-       sample_block_type sampblock, int len);
-void watch_susp(snd_susp_type s);
-void watch_sound(sound_type s);
-void watch_snd_list(snd_list_type s);
-void dbg_mem_allocated(void *p, char *who);
-void dbg_mem_freed(void *p, char *who);
-void dbg_mem_print(char *msg, void *p);
-
-/* #define TRACESNDGC */
-
-#define DEBUG_H
-#endif
diff --git a/lib-src/libnyquist/nyqsrc/downsample.c b/lib-src/libnyquist/nyqsrc/downsample.c
deleted file mode 100644
index a796ee5..0000000
--- a/lib-src/libnyquist/nyqsrc/downsample.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/* downsample.c -- linear interpolation to a lower sample rate */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-
-
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "cext.h"
-#include "downsample.h"
-
-void down_free();
-
-
-typedef struct down_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-
-    /* support for interpolation of s */
-    sample_type s_x1_sample;
-    double s_pHaSe;
-    double s_pHaSe_iNcR;
-
-    /* support for ramp between samples of s */
-    double output_per_s;
-    long s_n;
-} down_susp_node, *down_susp_type;
-
-
-void down_n_fetch(susp, snd_list)
-  register down_susp_type susp;
-  snd_list_type snd_list;
-{
-    int cnt = 0; /* how many samples computed */
-    int togo = 0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "down_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-        /* first compute how many samples to generate in inner loop: */
-        /* don't overflow the output sample block: */
-        togo = max_sample_block_len - cnt;
-
-        /* don't run past the s input sample block: */
-        susp_check_term_log_samples(s, s_ptr, s_cnt);
-        togo = MIN(togo, susp->s_cnt);
-
-        /* don't run past terminate time */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-            togo = susp->terminate_cnt - (susp->susp.current + cnt);
-            if (togo == 0) break;
-        }
-
-        /* don't run past logical stop time */
-        if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-            if (to_stop < togo && ((togo = to_stop) == 0)) break;
-        }
-
-        n = togo;
-        s_ptr_reg = susp->s_ptr;
-        out_ptr_reg = out_ptr;
-        if (n) do { /* the inner sample computation loop */
-            *out_ptr_reg++ = *s_ptr_reg++;
-        } while (--n); /* inner loop */
-
-        /* using s_ptr_reg is a bad idea on RS/6000: */
-        susp->s_ptr += togo;
-        out_ptr += togo;
-        susp_took(s_cnt, togo);
-        cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = cnt;
-        susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-        susp->logically_stopped = true;
-    }
-} /* down_n_fetch */
-
-
-void down_s_fetch(susp, snd_list)
-  register down_susp_type susp;
-  snd_list_type snd_list;
-{
-    int cnt = 0; /* how many samples computed */
-    int togo = 0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type s_scale_reg = susp->s->scale;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "down_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-        /* first compute how many samples to generate in inner loop: */
-        /* don't overflow the output sample block: */
-        togo = max_sample_block_len - cnt;
-
-        /* don't run past terminate time */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-            togo = susp->terminate_cnt - (susp->susp.current + cnt);
-            if (togo == 0) break;
-        }
-
-        /* don't run past logical stop time */
-        if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-            if (to_stop < togo && ((togo = to_stop) == 0)) break;
-        }
-
-        n = togo;
-        s_ptr_reg = susp->s_ptr;
-        out_ptr_reg = out_ptr;
-        if (n) do { /* the inner sample computation loop */
-            *out_ptr_reg++ = (s_scale_reg * *s_ptr_reg++);
-        } while (--n); /* inner loop */
-
-        susp->s_ptr = s_ptr_reg;
-        out_ptr += togo;
-        cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = cnt;
-        susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-        susp->logically_stopped = true;
-    }
-} /* down_s_fetch */
-
-
-void down_i_fetch(susp, snd_list)
-  register down_susp_type susp;
-  snd_list_type snd_list;
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type s_x2_sample;
-    int togo = 0;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type s_pHaSe_iNcR_rEg = (sample_type) susp->s_pHaSe_iNcR;
-    register double s_pHaSe_ReG;
-    register sample_type s_x1_sample_reg;
-
-    falloc_sample_block(out, "down_i_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-        susp->started = true;
-        susp_check_term_log_samples(s, s_ptr, s_cnt);
-        susp->s_x1_sample = susp_fetch_sample(s, s_ptr, s_cnt);
-    }
-
-    susp_check_term_log_samples(s, s_ptr, s_cnt);
-    s_x2_sample = susp_current_sample(s, s_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-        /* first compute how many samples to generate in inner loop: */
-        /* don't overflow the output sample block: */
-        togo = max_sample_block_len - cnt;
-
-        /* don't run past terminate time */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-            togo = susp->terminate_cnt - (susp->susp.current + cnt);
-            if (togo <= 0) {
-                togo = 0;
-                break;
-            }
-        }
-
-        /* don't run past logical stop time */
-        if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-            if (to_stop < togo && ((togo = to_stop) <= 0)) {
-                togo = 0;
-                break;
-            }
-        }
-
-        n = togo;
-        s_pHaSe_ReG = susp->s_pHaSe;
-        s_x1_sample_reg = susp->s_x1_sample;
-        out_ptr_reg = out_ptr;
-        if (n) do { /* the inner sample computation loop */
-            while (s_pHaSe_ReG >= 1.0) {
-                s_x1_sample_reg = s_x2_sample;
-                /* pick up next sample as s_x2_sample: */
-                susp->s_ptr++;
-                susp_took(s_cnt, 1);
-                s_pHaSe_ReG -= 1.0;
-                /* derived from susp_check_term_log_samples_break, but with
-                        a goto instead of a break */
-                if (susp->s_cnt == 0) {
-                    susp_get_samples(s, s_ptr, s_cnt);
-                    terminate_test(s_ptr, s, susp->s_cnt);
-                    /* see if newly discovered logical stop time: */
-                    logical_stop_test(s, susp->s_cnt);
-                    if ((susp->terminate_cnt != UNKNOWN &&
-                         susp->terminate_cnt <
-                           susp->susp.current + cnt + togo) ||
-                        (!susp->logically_stopped && 
-                         susp->susp.log_stop_cnt != UNKNOWN &&
-                         susp->susp.log_stop_cnt < 
-                           susp->susp.current + cnt + togo)) {
-                        goto breakout;
-                    }
-                }
-                s_x2_sample = susp_current_sample(s, s_ptr);
-            }
-            *out_ptr_reg++ = (sample_type) 
-                (s_x1_sample_reg * (1 - s_pHaSe_ReG) + 
-                 s_x2_sample * s_pHaSe_ReG);
-            s_pHaSe_ReG += s_pHaSe_iNcR_rEg;
-        } while (--n); /* inner loop */
-breakout:
-        togo -= n;
-        susp->s_pHaSe = s_pHaSe_ReG;
-        susp->s_x1_sample = s_x1_sample_reg;
-        out_ptr += togo;
-        cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = cnt;
-        susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-        susp->logically_stopped = true;
-    }
-} /* down_i_fetch */
-
-
-void down_toss_fetch(snd_list)
-  snd_list_type snd_list;
-{
-    register down_susp_type susp = (down_susp_type) snd_list->u.susp;
-    long final_count = MIN(susp->susp.current + max_sample_block_len,
-                           susp->susp.toss_cnt);
-    time_type final_time = susp->susp.t0 + final_count / susp->susp.sr;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while (((long) ((final_time - susp->s->t0) * susp->s->sr + 0.5)) >=
-           susp->s->current)
-        susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    if (final_count == susp->susp.toss_cnt) {
-        n = ROUND((final_time - susp->s->t0) * susp->s->sr -
-             (susp->s->current - susp->s_cnt));
-        susp->s_ptr += n;
-        susp_took(s_cnt, n);
-        susp->susp.fetch = susp->susp.keep_fetch;
-    }
-    snd_list->block_len = (short) (final_count - susp->susp.current);
-    susp->susp.current = final_count;
-    snd_list->u.next = snd_list_create((snd_susp_type) susp);
-    snd_list->block = internal_zero_block;
-}
-
-
-void down_mark(down_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void down_free(down_susp_type susp)
-{
-    sound_unref(susp->s);
-    ffree_generic(susp, sizeof(down_susp_node), "down_free");
-}
-
-
-void down_print_tree(down_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_down(sr, s)
-  rate_type sr;
-  sound_type s;
-{
-    register down_susp_type susp;
-    /* sr specified as input parameter */
-    time_type t0 = s->t0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-
-    if (s->sr < sr) {
-        sound_unref(s);
-        xlfail("snd-down: output sample rate must be lower than input");
-    }
-    falloc_generic(susp, down_susp_node, "snd_make_down");
-
-    /* select a susp fn based on sample rates */
-    if (s->sr == sr) {
-        susp->susp.fetch = ((s->scale == 1.0) ?
-                                down_n_fetch : down_s_fetch);
-    } else {
-        susp->susp.fetch = down_i_fetch;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = ROUND((t0 - t0_min) * sr);
-    if (susp->susp.toss_cnt > 0) {
-        susp->susp.keep_fetch = susp->susp.fetch;
-        susp->susp.fetch = down_toss_fetch;
-        t0 = t0_min;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = down_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = down_mark;
-    susp->susp.print_tree = down_print_tree;
-    susp->susp.name = "down";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    susp->s_pHaSe = 0.0;
-    susp->s_pHaSe_iNcR = s->sr / sr;
-    susp->s_n = 0;
-    susp->output_per_s = sr / s->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_down(sr, s)
-  rate_type sr;
-  sound_type s;
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_down(sr, s_copy);
-}
diff --git a/lib-src/libnyquist/nyqsrc/downsample.h b/lib-src/libnyquist/nyqsrc/downsample.h
deleted file mode 100644
index 1435a73..0000000
--- a/lib-src/libnyquist/nyqsrc/downsample.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_down();
-sound_type snd_down();
-    /* LISP: (snd-down ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/nyqsrc/falloc.c b/lib-src/libnyquist/nyqsrc/falloc.c
deleted file mode 100644
index f6f8081..0000000
--- a/lib-src/libnyquist/nyqsrc/falloc.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * falloc.c
- * data for fugue memory allocation.
- */
-
-#include <stdio.h>
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-
-/* special free lists */
-CQUE *sample_block_free = NULL;    /* really a sample_block_type */
-
-/* special counts */
-int sample_block_used = 0;
-int sample_block_low_water = 0;
-int sample_block_total = 0;
-int snd_list_used = 0;
-int sound_used = 0;
-
-/* generic free lists */
-CQUE *generic_free[MAXLISTS];
-
-
-void falloc_init(void)
-{
-    int i;
-    for (i = 0; i < MAXLISTS; i++) generic_free[i] = NULL;
-}
-
-
-/* memory pool */
-char *poolp = NULL;
-char *poolend = NULL;
-int npools = 0;
-
-void sound_already_free_test(s)
-  sound_type s;
-{
-    sound_type sp;
-    for (sp = (sound_type) sound_free; sp; sp = (sound_type) ((CQUE *) sp)->qnext) {
-        if (s == sp) {
-            stdputstr("SOUND ALREADY FREE!!!");
-            fflush(stdout);
-            sp = 0; sp->list = 0;   /* trap to debugger */
-        }
-    }
-}
-
-
-/* new_pool -- allocate a new pool from which mem is allocated */
-/**/
-void new_pool(void)
-{
-    poolp = (char *) malloc(MAXPOOLSIZE);
-    if (poolp == NULL) {
-        fprintf(stderr, "fugue: out of memory!\n");
-        EXIT(1);
-    }
-    poolend = poolp + MAXPOOLSIZE;
-    npools++;
-    /* stick to double word boundaries */
-    poolp = (char *) round_size(((long) poolp));
-}
-
-
-/* find_sample_block -- get sample block when freelist is empty */
-/* Try these strategies in order:
-   1) try free list
-   2) use pool to get sample_blocks_low_water + BLOCKS_PER_GC blocks or until
-      pool runs out
-   3) GC and try free list again, set sample_blocks_low_water to 
-      sample_blocks_used
-   4) try pool again
-   5) allocate new pool and use it
- */
-sample_block_type find_sample_block(void)
-{	
-    sample_block_type sp;
-    if (sample_block_total < sample_block_low_water + BLOCKS_PER_GC &&
-        check_pool(round_size(sizeof(sample_block_node)))) {
-        if (DEBUG_MEM) poolp += DEBUG_MEM_INFO_SIZE;
-        sp = (sample_block_type) poolp;
-        poolp += round_size(sizeof(sample_block_node));
-        sample_block_total++;
-/*	printf("fp%d ", sample_block_total - sample_block_low_water); */
-    } else {
-/*	printf("falloc calling gc\n"); */
-        gc();
-        sample_block_low_water = sample_block_used;
-        if (!Qempty(sample_block_free)) {
-            Qget(sample_block_free, sample_block_type, sp);
-/*	    printf("gc, then from freelist\n"); */
-        } else if (check_pool(round_size(sizeof(sample_block_node)))) {
-            if (DEBUG_MEM) poolp += DEBUG_MEM_INFO_SIZE;
-            sp = (sample_block_type) poolp;
-            poolp += sizeof(sample_block_node);
-            sample_block_total++;
-/*	    printf("gc, then from pool\n"); */
-        } else {
-            new_pool();
-            if (DEBUG_MEM) poolp += DEBUG_MEM_INFO_SIZE;
-            sp = (sample_block_type) poolp;
-            poolp += round_size(sizeof(sample_block_node));
-            sample_block_total++;
-/*	    printf("gc, then new pool\n"); */
-        }
-    }
-    return sp;
-}
-
-
-
-/* get_from_pool -- return size bytes from pool memory */
-/**/
-char *get_from_pool(size_t siz)
-{
-    if (!check_pool(siz)) {
-        new_pool();
-    }
-    poolp += siz;
-    if (DEBUG_MEM) poolp += DEBUG_MEM_INFO_SIZE; /* allow for debug info */
-    return poolp - siz;
-}
-
-
diff --git a/lib-src/libnyquist/nyqsrc/falloc.h b/lib-src/libnyquist/nyqsrc/falloc.h
deleted file mode 100644
index 3227052..0000000
--- a/lib-src/libnyquist/nyqsrc/falloc.h
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * falloc.h
- * nyquist memory allocation data structures and macros
- * 
- * there is an falloc and ffree for each major type of data structure
- * there is an falloc and ffree for generic (not so common) structures
- * there is an frelease for some structures.  this reduces the 
- *      reference count for the particular structure by 1; it 
- *      does not continue recursively.
- */
-
-/* Debugging support:
- * When DEBUG_MEM is set, each piece of allocated storage will contain
- * a pointer to a string naming the caller or other allocation info,
- * and a sequence number.  (8 extra bytes are allocated for this info).
- *
- * When storage is freed, the ID is set to NULL, and the routine
- * dbg_mem_check(ptr) will abort if ID is NULL.  Call this routine to
- * avoid following a pointer to data that was previously freed.
- *
- * The goal of this support is to allow you to "go back" to the point
- * where memory is corrupted; specifically where a memory block is freed
- * too early.
- *
- * When a memory-related bug is crashing the system:
- * (1) Recompile with DEBUG_MEM on.
- * (2) Develop some Nyquist code that will predictably crash the system.
- * (3) When Nyquist crashes, use a debugger to find where the bad
- *   pointer came from.  See if the source of the pointer was freed.
- * (4) If the source of the pointer was freed, then notice the sequence
- *   number.
- * (5) Rerun with dbg_mem_seq_num set to the number noted in (4).
- * (6) Nyquist will print when the storage in question was allocated and
- *   freed.  Use the debugger to find out why the storage is
- *   freed too early and who did it.
- * (7) If the source of the pointer in (3) was not freed, you're on your
- *   own.
- *
- * The DEBUG_MEM related routines are:
- *    dbg_mem_allocated: called when memory is allocated
- *    dbg_mem_freed: called when memory is freed
- *    dbg_mem_released: called when memory is released
- *    dbg_mem_check: called to check memory
- *
- * see also xldmem.c:
- * by setting xldmem_trace to a pointer, you can trace when the
- * pointer is referenced by anything in the heap
- */
-
-
-/* to get size_t on pmax: */
-#ifdef pmax
-#include "sys/types.h"
-#endif
-
-#include "cque.h"
-#include "debug.h"
-
-#define DEBUG_MEM 1
-#define DEBUG_MEM_INFO_SIZE (sizeof(long) + sizeof(char *))
-
-/* special free lists */
-extern CQUE *sample_block_free; /* really a sample_block_type */
-
-/* special counts */
-extern int sample_block_total;
-extern int sample_block_used;
-extern int snd_list_used;
-extern int sound_used;
-extern long table_memory;
-
-/* generic free lists */
-#define MAXLISTS 128
-extern CQUE *generic_free[MAXLISTS];
-
-/* memory pool */
-#define MAXPOOLSIZE 1000000
-extern char *poolp;
-extern char *poolend;
-extern int npools;
-extern int sample_blocks_since_gc;
-
-void falloc_init(void);
-void new_pool(void);
-sample_block_type find_sample_block(void);
-
-char *get_from_pool(size_t siz);
-
-#define round_size(n)  (((n) + 7) & ~7)
-
-/* check_pool -- returns true if enough bytes are available */
-#if DEBUG_MEM
-#define check_pool(size) (poolp + (size) + DEBUG_MEM_INFO_SIZE <= poolend)
-#else
-#define check_pool(size) (poolp + (size) <= poolend)
-#endif
-
-#define BLOCKS_PER_GC 100
-
-#define falloc_sample_block(sp, who) {  \
-    if (!Qempty(sample_block_free)) \
-        Qget(sample_block_free, sample_block_type, sp) \
-    else sp = find_sample_block(); \
-    /* sample_block_test(sp, "falloc_sample_block"); */ \
-    /* printf("[%x] ", sp); */ \
-    if (DEBUG_MEM) dbg_mem_allocated(sp, who); \
-    sp->refcnt = 1; \
-    sample_block_used++; \
-}
-
-
-#define ffree_sample_block(sp, who) { \
-    /* printf("freeing sample_block@%x\n", sp); */ \
-    if (DEBUG_MEM) dbg_mem_freed(sp, who); \
-    Qenter(sample_block_free, sp); \
-    sample_block_used--; \
-}
-
-
-#define frelease_sample_block(sp, who) { \
-    sp->refcnt--; \
-    if (DEBUG_MEM) dbg_mem_released(sp, who); \
-    if (sp->refcnt <= 0) { \
-        ffree_sample_block(sp); \
-    } \
-}
-
-
-/* NOTE: This must not cause garbage collection.
- * LVAL parameters to snd_make_? functions are not
- * protected and falloc_sound is invoked there.
- */
-#define snd_list_free (generic_free[round_size(sizeof(snd_list_node)) >> 3])
-
-#define falloc_snd_list(sp, who) {  \
-    if (!Qempty(snd_list_free)) \
-        Qget(snd_list_free, snd_list_type, sp) \
-    else \
-        sp = (snd_list_type)get_from_pool(round_size(sizeof(snd_list_node)));\
-    snd_list_used++; \
-    if (DEBUG_MEM) dbg_mem_allocated(sp, who); \
-}
-
-
-#define ffree_snd_list(sp, who) { \
-    if (DEBUG_MEM) dbg_mem_freed(sp, who); \
-    Qenter(snd_list_free, sp); \
-    snd_list_used--; \
-}
-
-
-#define frelease_snd_list(sp, who) { \
-    sp->refcnt--; \
-    if (DEBUG_MEM) dbg_mem_released(sp, who); \
-    if (sp->refcnt <= 0) { \
-        ffree_snd_list(sp, who); \
-    } \
-}
-
-
-#define sound_free (generic_free[round_size(sizeof(sound_node)) >> 3])
-
-#define NORMALSOUNDALLOC
-#ifdef NORMALSOUNDALLOC
-#define falloc_sound(sp, who) {  \
-    if (!Qempty(sound_free)) { \
-        Qget(sound_free, sound_type, sp); \
-    } else { \
-        sp = (sound_type) get_from_pool(round_size(sizeof(sound_node))); \
-    } \
-    sound_used++; \
-    if (DEBUG_MEM) dbg_mem_allocated(sp, who); \
-}
-#else
-#define falloc_sound(sp) \
-    sp =(sound_type) \
-        get_from_pool(round_size(sizeof(sound_node)))
-#endif
-
-/* note: usually you call sound_unref, not this macro */
-#define ffree_sound(sp, who) { \
-/*    sound_already_free_test(); */ \
-    if (DEBUG_MEM) dbg_mem_freed(sp, who); \
-    Qenter(sound_free, sp); \
-    sound_used--; \
-}
-
-
-/* falloc_generic -- sp gets new node of type sptype */
-/**/
-#define falloc_generic(sp, sptype, who) { \
-    int size = round_size(sizeof(sptype)); \
-    falloc_generic_bytes(sp, sptype, size, who) }
-
-/* falloc_generic_n -- sp gets new array of n sptype's */
-/**/
-#define falloc_generic_n(sp, sptype, n, who) { \
-    int min_size = sizeof(sptype) * (n); \
-    int size = round_size(min_size); \
-    falloc_generic_bytes(sp, sptype, size, who) }
-
-#define falloc_generic_bytes(sp, sptype, size, who) \
-    if ((size >> 3) >= MAXLISTS) { \
-        stdputstr("falloc_generic problem\n"); \
-        sp = (sptype *) malloc(size); \
-    } else if (!Qempty(generic_free[size >> 3])) { \
-        Qget(generic_free[size >> 3], sptype *, sp); \
-    } else { \
-        sp = (sptype *) get_from_pool(size); \
-    } \
-    if (DEBUG_MEM) dbg_mem_allocated(sp, who); \
-/*    printf("GENERIC ALLOC %x\n", sp);  */
-
-
-/* ffree_generic puts an item back on proper freelist */
-/* NOTE: sIzE is capitalized funny so that it will not
- * match an actual parameter, e.g. if the caller writes
- * ffree_generic(ptr, size), we don't want the expanded
- * code to include: "int size = round_size(size) >> 3"!
- */
-#define ffree_generic(sp, nn, who) { \
-    int sIzE = round_size(nn) >> 3; \
-    if (DEBUG_MEM) dbg_mem_freed(sp, who); \
-    /* printf("GENERIC FREE %x SIZE %d\n", sp, nnn); */ \
-    if ((sIzE) >= MAXLISTS) { \
-        free(sp); \
-    } else { \
-        Qenter(generic_free[sIzE], sp); \
-    } \
-}
diff --git a/lib-src/libnyquist/nyqsrc/ffilterkit.c b/lib-src/libnyquist/nyqsrc/ffilterkit.c
deleted file mode 100644
index d78d5c5..0000000
--- a/lib-src/libnyquist/nyqsrc/ffilterkit.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * ffilterkit.c (library "filterkit.a"):  
- * Kaiser-windowed low-pass filter support.
- */
-
-/* ffilterkit.c
- *
- * FilterUp() - Applies a filter to a given sample when up-converting.
- * FilterUD() - Applies a filter to a given sample when up- or down-
- *                   converting.
- */
-
- /* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-#include <stdio.h>
-#include <math.h>
-#include <string.h>
-#include "stdefs.h"
-#include "fresample.h"
-#include "ffilterkit.h"
-
-
-fast_float FilterUp(float Imp[], float ImpD[], 
-                     int Nwing, boolean Interp,
-                     float *Xp, double Ph, int Inc)
-{
-    float *Hp, *Hdp = NULL, *End;
-    fast_float a = 0;
-    fast_float v, t;
-    double exact_index = Ph * Npc;
-    long index = (long) exact_index; /* convert fraction to filter index */
-
-/*	nyquist_printf("FilterUp, Inc %d, phase %g\n", Inc, Ph);  */
-    v=0;
-    Hp = &Imp[index];
-    End = &Imp[Nwing];
-    if (Interp) {
-        Hdp = &ImpD[index];
-        a = exact_index - index;
-/*	nyquist_printf("fraction %g\n", a); */
-    }
-    if (Inc == 1)		/* If doing right wing...              */
-    {				/* ...drop extra coeff, so when Ph is  */
-        End--;			/*    0.5, we don't do too many mult's */
-        if (Ph == 0)		/* If the phase is zero...           */
-        {			/* ...then we've already skipped the */
-            Hp += Npc;		/*    first sample, so we must also  */
-            Hdp += Npc;		/*    skip ahead in Imp[] and ImpD[] */
-        }
-    }
-    if (Interp) {
-      while (Hp < End) {
-          t = *Hp;		/* Get filter coeff */
-          /*  t scaled by 2^(16 + NLpScl)/LpScl */
-          t += *Hdp *a;	 /* t is now interp'd filter coeff */
-          Hdp += Npc;		/* Filter coeff differences step */
-          t *= *Xp;		/* Mult coeff by input sample */
-          /*  t scaled by 2^(16 + NLpScl)/LpScl */
-          v += t;			/* The filter output */
-          Hp += Npc;		/* Filter coeff step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-      } 
-    } else {
-      while (Hp < End) {
-          t = *Hp;		/* Get filter coeff */
-          t *= *Xp;		/* Mult coeff by input sample */
-          v += t;			/* The filter output */
-          Hp += Npc;		/* Filter coeff step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-      }
-    }
-    return(v);
-}
-
-fast_float FilterUD( float Imp[], float ImpD[],
-                     int Nwing, boolean Interp,
-                     float *Xp, double Ph, int Inc, double dhb)
-{
-    double a;
-    float *Hp, *Hdp, *End;
-    fast_float v, t;
-    double Ho;
-    
-    v=0;
-    Ho = Ph*dhb;
-    End = &Imp[Nwing];
-    if (Inc == 1)		/* If doing right wing...              */
-    {				/* ...drop extra coeff, so when Ph is  */
-        End--;			/*    0.5, we don't do too many mult's */
-        if (Ph == 0)		/* If the phase is zero...           */
-          Ho += dhb;		/* ...then we've already skipped the */
-    }				/*    first sample, so we must also  */
-                                /*    skip ahead in Imp[] and ImpD[] */
-    if (Interp) {
-      long HoIndex = (long) Ho;
-      while ((Hp = &Imp[HoIndex]) < End) {
-          t = *Hp;		/* Get IR sample */
-          Hdp = &ImpD[HoIndex];  /* get interp (lower Na) bits from diff table*/
-          a = Ho - HoIndex;	/* a is logically between 0 and 1 */
-          t += *Hdp * a; /* t is now interp'd filter coeff */
-          t *= *Xp;		/* Mult coeff by input sample */
-          v += t;			/* The filter output */
-          Ho += dhb;		/* IR step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-          HoIndex = (long) Ho;
-      }
-    } else {
-      long HoIndex = (long) Ho;
-      while ((Hp = &Imp[HoIndex]) < End) {
-          t = *Hp;		/* Get IR sample */
-          t *= *Xp;		/* Mult coeff by input sample */
-          v += t;			/* The filter output */
-          Ho += dhb;		/* IR step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-          HoIndex = (long) Ho;
-      }
-    }
-    return(v);
-}
-
diff --git a/lib-src/libnyquist/nyqsrc/ffilterkit.h b/lib-src/libnyquist/nyqsrc/ffilterkit.h
deleted file mode 100644
index d277e7d..0000000
--- a/lib-src/libnyquist/nyqsrc/ffilterkit.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*:filterkit.h */
-
-/*
- * FilterUp() - Applies a filter to a given sample when up-converting.
- * FilterUD() - Applies a filter to a given sample when up- or down-
- *                   converting.
- */
-
-fast_float FilterUp(mem_float Imp[], mem_float ImpD[], int Nwing, 
-                    boolean Interp, mem_float *Xp, double Ph, int Inc);
-
-fast_float FilterUD(mem_float Imp[], mem_float ImpD[], int Nwing,
-                    boolean Interp, mem_float *Xp, double Ph, int Inc,
-                    double dhb);
-
diff --git a/lib-src/libnyquist/nyqsrc/fft-rbd.c b/lib-src/libnyquist/nyqsrc/fft-rbd.c
deleted file mode 100644
index 6d01e6a..0000000
--- a/lib-src/libnyquist/nyqsrc/fft-rbd.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* samples.c -- fugue sound data type */
-
-#include <stdio.h>
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "fft.h"
-
-
-/* NOTE: this code does not properly handle start times that do not
- * correspond to the time of the first actual sample
- */
-
-
-/* snd_fetch_array -- fetch a lisp array of samples */
-/*
- * storage layout: the extra field points to extra state that we'll use
- * extra[0] -> length of extra storage
- * extra[1] -> CNT (number of samples in current block)
- * extra[2] -> INDEX (current sample index in current block)
- * extra[3] -> FILLCNT (how many samples in buffer)
- * extra[4] -> TERMCNT (how many samples until termination)
- * extra[4 .. 4+len-1] -> samples (stored as floats)
- * 
- * Termination details:
- *   Return NIL when the sound terminates.
- *   Termination is defined as the point where all original
- * signal samples have been shifted out of the samples buffer
- * so that all that's left are zeros from beyond the termination
- * point.
- *   Implementation: when termination is discovered, set TERMCNT
- * to the number of samples to be shifted out. TERMCNT is initially
- * -1 as a flag that we haven't seen the termination yet. 
- * Each time samples are shifted, decrement TERMCNT by the shift amount.
- * When TERMCNT goes to zero, return NULL.
- */
-
-#define CNT extra[1]
-#define INDEX extra[2]
-#define FILLCNT extra[3]
-#define TERMCNT extra[4]
-#define OFFSET 5
-#define SAMPLES list->block->samples
-
-LVAL snd_fft(sound_type s, long len, long step /* more parameters may belong here */)
-{
-    long i, maxlen, skip, fillptr;
-    float *samples;
-    LVAL result;
-    
-    if (len < 1) xlfail("len < 1");
-
-    if (!s->extra) { /* this is the first call, so fix up s */
-        /* note: any storage required by fft must be allocated here in a contiguous
-         * block of memory who's size is given by the first long in the block.
-         * Here, there are 4 more longs after the size, and then room for len floats
-         * (assumes that floats and longs take equal space).
-         *
-         * The reason for this storage restriction is that when a sound is freed, the
-         * block of memory pointed to by extra is also freed. There is no function
-         * call that might free a more complex structure (this could be added in sound.c
-         * however if it's really necessary).
-         */
-        falloc_generic_n(s->extra, long, len + OFFSET, "snd_fft");
-        s->extra[0] = sizeof(long) * (len + OFFSET);
-        s->CNT = s->INDEX = s->FILLCNT = 0;
-        s->TERMCNT = -1;
-        maxlen = len;
-    } else {
-        maxlen = (s->extra[0] / sizeof(long)) - OFFSET;
-        if (maxlen < 1) xlfail("sound in use by another iterator");
-        if (maxlen < len) xlfail("len grew");
-    }
-    samples = (float *) &(s->extra[OFFSET]);
-    
-    /* step 1: refill buffer with samples */
-    fillptr = s->FILLCNT;
-    while (fillptr < maxlen) {
-        if (s->INDEX == s->CNT) {
-            sound_get_next(s, &(s->CNT));
-            if (s->SAMPLES == zero_block->samples) {
-                if (s->TERMCNT < 0) s->TERMCNT = fillptr;
-            }	
-            s->INDEX = 0;
-        }
-        samples[fillptr++] = s->SAMPLES[s->INDEX++] * s->scale;
-    }
-    s->FILLCNT = fillptr;
-
-    /* it is important to test here AFTER filling the buffer, because
-     * if fillptr WAS 0 when we hit the zero_block, then filling the 
-     * buffer will set TERMCNT to 0.
-     */
-    if (s->TERMCNT == 0) return NULL;
-    
-    /* logical stop time is ignored by this code -- to fix this,
-     * you would need a way to return the logical stop time to 
-     * the caller.
-     */
-
-    /* HERE IS WHERE THE FFT SHOULD TAKE PLACE ON samples. DO NOT
-     * DESTROY SAMPLES IF YOU WANT TO ALLOW OVERLAPPED FFT'S. THE
-     * CURRENT CODE RETURNS SAMPLES, BUT A REAL FFT WOULD RETURN
-     * THE RESULT OF THE FFT IN STEP 2, WHICH FOLLOWS:
-     */
-
-    /* step 2: construct an array and return it */
-    xlsave1(result);
-    result = newvector(len);
-
-    for (i = 0; i < len; i++) {
-        setelement(result, i, cvflonum(samples[i]));
-    }
-
-    /* step 3: shift samples by step */
-    if (step < 0) xlfail("step < 0");
-    s->FILLCNT -= step;
-    if (s->FILLCNT < 0) s->FILLCNT = 0;
-    for (i = 0; i < s->FILLCNT; i++) {
-        samples[i] = samples[i + step];
-    }
-    
-
-    if (s->TERMCNT >= 0) {
-        s->TERMCNT -= step;
-        if (s->TERMCNT < 0) s->TERMCNT = 0;
-    }
-
-
-    /* step 4: advance in sound to next sample we need
-     *   (only does work if step > size of buffer)
-     */
-    skip = step - maxlen;
-    while (skip > 0) {
-        long remaining = s->CNT - s->INDEX;
-        if (remaining >= skip) {
-            s->INDEX += skip;
-            skip = 0;
-        } else {
-            skip -= remaining;
-            sound_get_next(s, &(s->CNT));
-            s->INDEX = 0;
-        }
-    }
-    
-    /* restore the stack */
-    xlpop();
-    return result;
-} /* snd_fetch_array */
-
-
-
-
diff --git a/lib-src/libnyquist/nyqsrc/fft.c b/lib-src/libnyquist/nyqsrc/fft.c
deleted file mode 100644
index 03da6fb..0000000
--- a/lib-src/libnyquist/nyqsrc/fft.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/* fft.c -- implement snd_fft */
-
-#include <math.h>
-#include <stdio.h>
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "fft.h"
-#include "fftn.h"
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  change for portability: min->MIN
- */
-
-
-/* NOTE: this code does not properly handle start times that do not
- * correspond to the time of the first actual sample
- */
-
-
-/* snd_fetch_array -- fetch a lisp array of samples */
-/*
- * storage layout: the extra field points to extra state that we'll use
- * extra[0] -> length of extra storage
- * extra[1] -> CNT (number of samples in current block)
- * extra[2] -> INDEX (current sample index in current block)
- * extra[3] -> FILLCNT (how many samples in buffer)
- * extra[4] -> TERMCNT (how many samples until termination)
- * extra[5 .. 5+len-1] -> samples (stored as floats)
- * extra[5+len .. 5+3*len-1] -> real and imag. arrays for fft
- * extra[5+3*len ... 5+4*len-1] -> window coefficients
- * 
- * Termination details:
- *   Return NIL when the sound terminates.
- *   Termination is defined as the point where all original
- * signal samples have been shifted out of the samples buffer
- * so that all that's left are zeros from beyond the termination
- * point.
- *   Implementation: when termination is discovered, set TERMCNT
- * to the number of samples to be shifted out. TERMCNT is initially
- * -1 as a flag that we haven't seen the termination yet. 
- * Each time samples are shifted, decrement TERMCNT by the shift amount.
- * When TERMCNT goes to zero, return NULL.
- */
-
-#define CNT extra[1]
-#define INDEX extra[2]
-#define FILLCNT extra[3]
-#define TERMCNT extra[4]
-#define OFFSET 5
-#define SAMPLES list->block->samples
-
-/* DEBUGGING PRINT FUNCTION:
-    void printfloats(char *caption, float *data, int len)
-    {
-        int i;
-        printf("%s: ", caption);
-        for (i = 0; i < len; i++) {
-            printf("%d:%g ", i, data[i]);
-        }
-        printf("\n");
-    }
-*/
-
-void n_samples_from_sound(sound_type s, long n, float *table)
-{
-    long blocklen;
-    sample_type scale_factor = s->scale;
-    s = sound_copy(s);
-    while (n > 0) {
-        sample_block_type sampblock = sound_get_next(s, &blocklen);
-        long togo = MIN(blocklen, n);
-        long i;
-        sample_block_values_type sbufp = sampblock->samples;
-        for (i = 0; i < togo; i++) {
-            *table++ = (float) (*sbufp++ * scale_factor);
-        }
-        n -= togo;
-    }
-    sound_unref(s);
-}
-
-
-LVAL snd_fft(sound_type s, long len, long step, LVAL winval)
-{
-    long i, maxlen, skip, fillptr;
-    float *samples;
-    float *temp_fft;
-    float *window;
-    LVAL result;
-    
-    if (len < 1) xlfail("len < 1");
-
-    if (!s->extra) { /* this is the first call, so fix up s */
-        sound_type w = NULL;
-        if (winval) {
-            if (soundp(winval)) {
-                w = getsound(winval);
-            } else {
-                xlerror("expected a sound", winval);
-            }
-        }
-        /* note: any storage required by fft must be allocated here in a 
-         * contiguous block of memory who's size is given by the first long
-         * in the block. Here, there are 4 more longs after the size, and 
-         * then room for 4*len floats (assumes that floats and longs take 
-         * equal space).
-         *
-         * The reason for 4*len floats is to provide space for:
-         *    the samples to be transformed (len)
-         *    the complex FFT result (2*len)
-         *    the window coefficients (len)
-         *
-         * The reason for this storage restriction is that when a sound is 
-         * freed, the block of memory pointed to by extra is also freed. 
-         * There is no function call that might free a more complex 
-         * structure (this could be added in sound.c, however, if it's 
-         * really necessary).
-         */
-        s->extra = (long *) malloc(sizeof(long) * (4 * len + OFFSET));
-        s->extra[0] = sizeof(long) * (4 * len + OFFSET);
-        s->CNT = s->INDEX = s->FILLCNT = 0;
-        s->TERMCNT = -1;
-        maxlen = len;
-        window = (float *) &(s->extra[OFFSET + 3 * len]);
-        /* fill the window from w */
-        if (!w) {
-            for (i = 0; i < len; i++) *window++ = 1.0F;
-        } else {
-            n_samples_from_sound(w, len, window);
-        }
-    } else {
-        maxlen = ((s->extra[0] / sizeof(long)) - OFFSET) / 4;
-        if (maxlen != len) xlfail("len changed from initial value");
-    }
-    samples = (float *) &(s->extra[OFFSET]);
-    temp_fft = samples + len;
-    window = temp_fft + 2 * len;
-    /* step 1: refill buffer with samples */
-    fillptr = s->FILLCNT;
-    while (fillptr < maxlen) {
-        if (s->INDEX == s->CNT) {
-            sound_get_next(s, &(s->CNT));
-            if (s->SAMPLES == zero_block->samples) {
-                if (s->TERMCNT < 0) s->TERMCNT = fillptr;
-            }
-            s->INDEX = 0;
-        }
-        samples[fillptr++] = s->SAMPLES[s->INDEX++] * s->scale;
-    }
-    s->FILLCNT = fillptr;
-
-    /* it is important to test here AFTER filling the buffer, because
-     * if fillptr WAS 0 when we hit the zero_block, then filling the 
-     * buffer will set TERMCNT to 0.
-     */
-    if (s->TERMCNT == 0) return NULL;
-    
-    /* logical stop time is ignored by this code -- to fix this,
-     * you would need a way to return the logical stop time to 
-     * the caller.
-     */
-
-    /* step 2: construct an array and return it */
-    xlsave1(result);
-    result = newvector(len);
-
-    /* first len floats will be real part, second len floats imaginary
-     * copy buffer to temp_fft with windowing
-     */
-    for (i = 0; i < len; i++) {
-        temp_fft[i] = samples[i] * *window++;
-        temp_fft[i + len] = 0.0F;
-    }
-    /* perform the fft: */
-    fftnf(1, (const int *) &len, temp_fft, temp_fft + len, 1, -1.0);
-    setelement(result, 0, cvflonum(temp_fft[0]));
-    for (i = 2; i < len; i += 2) {
-        setelement(result, i - 1, cvflonum(temp_fft[i / 2] * 2));
-        setelement(result, i, cvflonum(temp_fft[len + (i / 2)] * -2));
-    }
-    if (len % 2 == 0)
-        setelement(result, len - 1, cvflonum(temp_fft[len / 2]));
-
-    /* step 3: shift samples by step */
-    if (step < 0) xlfail("step < 0");
-    s->FILLCNT -= step;
-    if (s->FILLCNT < 0) s->FILLCNT = 0;
-    for (i = 0; i < s->FILLCNT; i++) {
-        samples[i] = samples[i + step];
-    }
-
-    if (s->TERMCNT >= 0) {
-        s->TERMCNT -= step;
-        if (s->TERMCNT < 0) s->TERMCNT = 0;
-    }
-
-    /* step 4: advance in sound to next sample we need
-     *   (only does work if step > size of buffer)
-     */
-    skip = step - maxlen;
-    while (skip > 0) {
-        long remaining = s->CNT - s->INDEX;
-        if (remaining >= skip) {
-            s->INDEX += skip;
-            skip = 0;
-        } else {
-            skip -= remaining;
-            sound_get_next(s, &(s->CNT));
-            s->INDEX = 0;
-        }
-    }
-    
-    /* restore the stack */
-    xlpop();
-    return result;
-} /* snd_fetch_array */
diff --git a/lib-src/libnyquist/nyqsrc/fft.h b/lib-src/libnyquist/nyqsrc/fft.h
deleted file mode 100644
index 74b2b24..0000000
--- a/lib-src/libnyquist/nyqsrc/fft.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* fft.h -- fft returned through a lisp array */
-
-LVAL snd_fft(sound_type s, long len, long step, LVAL w); 
-  /* LISP: (SND-FFT SOUND FIXNUM FIXNUM ANY) */
diff --git a/lib-src/libnyquist/nyqsrc/fftr4.c b/lib-src/libnyquist/nyqsrc/fftr4.c
deleted file mode 100644
index d5dfcc9..0000000
--- a/lib-src/libnyquist/nyqsrc/fftr4.c
+++ /dev/null
@@ -1,264 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#ifdef WIN32
-#include <sys\time.h>
-#else
-#include <sys/time.h>
-#endif
-
-#define PI 3.14159265359
-#define MAXPOW 24
-
-struct complex
-{
-    double r;
-    double i;
-};
-
-int pow_2[MAXPOW];
-int pow_4[MAXPOW];
-
-void twiddle(struct complex *W, int N, double stuff)
-{
-    W->r=cos(stuff*2.0*PI/(double)N);
-    W->i=-sin(stuff*2.0*PI/(double)N);
-}
-
-void bit_reverse_reorder(struct complex *W, int N)
-{
-    int bits, i, j, k;
-    double tempr, tempi;
-    
-    for (i=0; i<MAXPOW; i++)
-        if (pow_2[i]==N) bits=i;
-
-    for (i=0; i<N; i++)
-    {
-        j=0;
-        for (k=0; k<bits; k++)
-            if (i&pow_2[k]) j+=pow_2[bits-k-1];
-
-        if (j>i)  /** Only make "up" swaps */
-        {
-            tempr=W[i].r;
-            tempi=W[i].i;
-            W[i].r=W[j].r;
-            W[i].i=W[j].i;
-            W[j].r=tempr;
-            W[j].i=tempi;
-        }
-    }
-}
-void bit_r4_reorder(struct complex *W, int N)
-{
-    int bits, i, j, k;
-    double tempr, tempi;
-    
-    for (i=0; i<MAXPOW; i++)
-        if (pow_2[i]==N) bits=i;
-
-    for (i=0; i<N; i++)
-    {
-        j=0;
-        for (k=0; k<bits; k+=2)
-        {
-            if (i&pow_2[k]) j+=pow_2[bits-k-2];
-            if (i&pow_2[k+1]) j+=pow_2[bits-k-1];
-        }
-
-        if (j>i)  /** Only make "up" swaps */
-        {
-            tempr=W[i].r;
-            tempi=W[i].i;
-            W[i].r=W[j].r;
-            W[i].i=W[j].i;
-            W[j].r=tempr;
-            W[j].i=tempi;
-        }
-    }
-}
-
-/** RADIX-4 FFT ALGORITHM */
-void radix4(struct complex *x, int N)
-{ 
-    int    n2, k1, N1, N2;
-    struct complex W, bfly[4];
-
-    N1=4;
-    N2=N/4;
-    
-    /** Do 4 Point DFT */ 
-    for (n2=0; n2<N2; n2++)
-    {
-        /** Don't hurt the butterfly */
-        bfly[0].r = (x[n2].r + x[N2 + n2].r + x[2*N2+n2].r + x[3*N2+n2].r);
-        bfly[0].i = (x[n2].i + x[N2 + n2].i + x[2*N2+n2].i + x[3*N2+n2].i);
-
-        bfly[1].r = (x[n2].r + x[N2 + n2].i - x[2*N2+n2].r - x[3*N2+n2].i);
-        bfly[1].i = (x[n2].i - x[N2 + n2].r - x[2*N2+n2].i + x[3*N2+n2].r);
-
-        bfly[2].r = (x[n2].r - x[N2 + n2].r + x[2*N2+n2].r - x[3*N2+n2].r);
-        bfly[2].i = (x[n2].i - x[N2 + n2].i + x[2*N2+n2].i - x[3*N2+n2].i);
-
-        bfly[3].r = (x[n2].r - x[N2 + n2].i - x[2*N2+n2].r + x[3*N2+n2].i);
-        bfly[3].i = (x[n2].i + x[N2 + n2].r - x[2*N2+n2].i - x[3*N2+n2].r);
-
-
-        /** In-place results */
-        for (k1=0; k1<N1; k1++)
-        {
-            twiddle(&W, N, (double)k1*(double)n2);
-            x[n2 + N2*k1].r = bfly[k1].r*W.r - bfly[k1].i*W.i;
-            x[n2 + N2*k1].i = bfly[k1].i*W.r + bfly[k1].r*W.i;
-        }
-    }
-    
-    /** Don't recurse if we're down to one butterfly */
-    if (N2!=1)
-        for (k1=0; k1<N1; k1++)
-        {
-            radix4(&x[N2*k1], N2);
-        }
-}
-
-/** RADIX-2 FFT ALGORITHM */
-void radix2(struct complex *data, int N)
-{
-    int    n2, k1, N1, N2;
-    struct complex W, bfly[2];
-
-    N1=2;
-    N2=N/2;
-    
-    /** Do 2 Point DFT */
-    for (n2=0; n2<N2; n2++)
-    {
-        /** Don't hurt the butterfly */
-        twiddle(&W, N, (double)n2);
-        bfly[0].r = (data[n2].r + data[N2 + n2].r);
-        bfly[0].i = (data[n2].i + data[N2 + n2].i);
-        bfly[1].r = (data[n2].r - data[N2 + n2].r) * W.r - 
-            ((data[n2].i - data[N2 + n2].i) * W.i); 
-        bfly[1].i = (data[n2].i - data[N2 + n2].i) * W.r +
-            ((data[n2].r - data[N2 + n2].r) * W.i);
-
-        /** In-place results */
-        for (k1=0; k1<N1; k1++)
-        {
-            data[n2 + N2*k1].r = bfly[k1].r;
-            data[n2 + N2*k1].i = bfly[k1].i;
-        }
-    }
-    
-    /** Don't recurse if we're down to one butterfly */
-    if (N2!=1)
-        for (k1=0; k1<N1; k1++)
-            radix2(&data[N2*k1], N2);
-}
-
-void main(int argc, char *argv[])
-{
-    FILE   *infile;
-    int    N, radix, numsamp;
-    int    i;
-    struct complex *data;
-    double freq, phase, fs, A;
-    int    dotime;
-    struct timeval start, end;
-    long   totaltime;
-    
-#ifdef GEN
-    if (argc!=9)
-    {
-        printf("usage:\n");
-        printf("    fft [A] [f] [phase] [fs] [num samp] [sequence length] [radix] [time]\n");
-        printf("        output: DFT\n");
-        exit(1);
-    }
-    
-    
-    sscanf(argv[1], "%lf", &A);
-    sscanf(argv[2], "%lf", &freq);
-    sscanf(argv[3], "%lf", &phase);
-    sscanf(argv[4], "%lf", &fs);
-    sscanf(argv[5], "%d", &numsamp);
-    sscanf(argv[6], "%d", &N);
-    sscanf(argv[7], "%d", &radix);
-    sscanf(argv[8], "%d", &dotime);
-#endif
-#ifndef GEN
-    if (argc<4)
-    {
-        printf("usage:\n");
-        printf("    fft [input file] [sequence length] [radix]\n");
-        printf("        output: DFT\n");
-        exit(1);
-    }
-    else if ((infile=fopen(argv[1], "r"))==NULL)
-    {
-        printf("Error reading input sequence file: %s\n", argv[1]);
-        exit(1);
-    }
-    
-    sscanf(argv[2], "%d", &N);
-    sscanf(argv[3], "%d", &radix);
-    dotime=0;
-#endif
-
-
-    /** Set up power of two arrays */
-    pow_2[0]=1;
-    for (i=1; i<MAXPOW; i++)
-        pow_2[i]=pow_2[i-1]*2;
-    pow_4[0]=1;
-    for (i=1; i<MAXPOW; i++)
-        pow_4[i]=pow_4[i-1]*4;
-    
-    if ((data=malloc(sizeof(struct complex)*(size_t)N))==NULL)
-    {
-        fprintf(stderr, "Out of memory!\n");
-        exit(1);
-    }
-    
-    /** Generate cosine **/
-#ifdef GEN
-    for (i=0; i<N; i++)
-    {
-        data[i].r=0.0;
-        data[i].i=0.0;
-    }
-    for (i=0; i<numsamp; i++)
-        data[i].r=A*cos(2.0*PI*freq*i/fs - phase*PI/180);
-#endif
-#ifndef GEN
-    for (i=0; i<N; i++)
-    {
-        fscanf(infile, "%lf", &data[i].r);
-        data[i].i=0.0;
-    }
-#endif    
-
-    gettimeofday(&start, (struct timezone *) 0);
-    if (radix==2) radix2(data, N);
-    if (radix==4) radix4(data, N);
-    gettimeofday(&end, (struct timezone *) 0);
-    totaltime=(end.tv_sec*1000000 + end.tv_usec)-(start.tv_sec*1000000
-                                                  + start.tv_usec);
-    if (radix==2) bit_reverse_reorder(data, N);
-    if (radix==4) bit_r4_reorder(data, N);
-
-    if (!dotime)
-        for (i=0; i<N; i++)
-            printf("%f\n", sqrt(data[i].r*data[i].r +
-                                data[i].i*data[i].i));
-    else
-        printf("%ld us\n\n", totaltime);
-
-#ifndef GEN
-    fclose(infile);
-#endif
-}
-
-
-
diff --git a/lib-src/libnyquist/nyqsrc/fftw.h b/lib-src/libnyquist/nyqsrc/fftw.h
deleted file mode 100644
index 1a8405f..0000000
--- a/lib-src/libnyquist/nyqsrc/fftw.h
+++ /dev/null
@@ -1,412 +0,0 @@
-/* -*- C -*- */
-/*
- * Copyright (c) 1997-1999 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-
-/* fftw.h -- system-wide definitions */
-/* $Id: fftw.h,v 1.2 2003/06/08 21:15:08 dmazzoni Exp $ */
-
-#ifndef FFTW_H
-#define FFTW_H
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif				/* __cplusplus */
-
-/* Define for using single precision */
-/*
- * If you can, use configure --enable-float instead of changing this
- * flag directly 
- */
-/* #undef FFTW_ENABLE_FLOAT */
-
-/* our real numbers */
-#ifdef FFTW_ENABLE_FLOAT
-typedef float fftw_real;
-#else
-typedef double fftw_real;
-#endif
-
-/*********************************************
- * Complex numbers and operations 
- *********************************************/
-typedef struct {
-     fftw_real re, im;
-} fftw_complex;
-
-#define c_re(c)  ((c).re)
-#define c_im(c)  ((c).im)
-
-typedef enum {
-     FFTW_FORWARD = -1, FFTW_BACKWARD = 1
-} fftw_direction;
-
-/* backward compatibility with FFTW-1.3 */
-typedef fftw_complex FFTW_COMPLEX;
-typedef fftw_real FFTW_REAL;
-
-#ifndef FFTW_1_0_COMPATIBILITY
-#define FFTW_1_0_COMPATIBILITY 0
-#endif
-
-#if FFTW_1_0_COMPATIBILITY
-/* backward compatibility with FFTW-1.0 */
-#define REAL fftw_real
-#define COMPLEX fftw_complex
-#endif
-
-/*********************************************
- * Success or failure status
- *********************************************/
-
-typedef enum {
-     FFTW_SUCCESS = 0, FFTW_FAILURE = -1
-} fftw_status;
-
-/*********************************************
- *              Codelets
- *********************************************/
-typedef void (fftw_notw_codelet) 
-     (const fftw_complex *, fftw_complex *, int, int);
-typedef void (fftw_twiddle_codelet)
-     (fftw_complex *, const fftw_complex *, int,
-      int, int);
-typedef void (fftw_generic_codelet) 
-     (fftw_complex *, const fftw_complex *, int,
-      int, int, int);
-typedef void (fftw_real2hc_codelet)
-     (const fftw_real *, fftw_real *, fftw_real *,
-      int, int, int);
-typedef void (fftw_hc2real_codelet)
-     (const fftw_real *, const fftw_real *,
-      fftw_real *, int, int, int);
-typedef void (fftw_hc2hc_codelet)
-     (fftw_real *, const fftw_complex *,
-      int, int, int);
-typedef void (fftw_rgeneric_codelet)
-     (fftw_real *, const fftw_complex *, int,
-      int, int, int);
-
-/*********************************************
- *     Configurations
- *********************************************/
-/*
- * A configuration is a database of all known codelets
- */
-
-enum fftw_node_type {
-     FFTW_NOTW, FFTW_TWIDDLE, FFTW_GENERIC, FFTW_RADER,
-     FFTW_REAL2HC, FFTW_HC2REAL, FFTW_HC2HC, FFTW_RGENERIC
-};
-
-/* description of a codelet */
-typedef struct {
-     const char *name;		/* name of the codelet */
-     void (*codelet) ();	/* pointer to the codelet itself */
-     int size;			/* size of the codelet */
-     fftw_direction dir;	/* direction */
-     enum fftw_node_type type;	/* TWIDDLE or NO_TWIDDLE */
-     int signature;		/* unique id */
-     int ntwiddle;		/* number of twiddle factors */
-     const int *twiddle_order;	/* 
-                                 * array that determines the order 
-                                 * in which the codelet expects
-                                 * the twiddle factors
-                                 */
-} fftw_codelet_desc;
-
-/* On Win32, you need to do funny things to access global variables
-   in shared libraries.  Thanks to Andrew Sterian for this hack. */
-#if defined(__WIN32__) || defined(WIN32) || defined(_WINDOWS)
-#  if defined(BUILD_FFTW_DLL)
-#    define DL_IMPORT(type) __declspec(dllexport) type
-#  elif defined(USE_FFTW_DLL)
-#    define DL_IMPORT(type) __declspec(dllimport) type
-#  else
-#    define DL_IMPORT(type) type
-#  endif
-#else
-#  define DL_IMPORT(type) type
-#endif
-
-extern DL_IMPORT(const char *) fftw_version;
-
-/*****************************
- *        Plans
- *****************************/
-/*
- * A plan is a sequence of reductions to compute a FFT of
- * a given size.  At each step, the FFT algorithm can:
- *
- * 1) apply a notw codelet, or
- * 2) recurse and apply a twiddle codelet, or
- * 3) apply the generic codelet.
- */
-
-/* structure that contains twiddle factors */
-typedef struct fftw_twiddle_struct {
-     int n;
-     const fftw_codelet_desc *cdesc;
-     fftw_complex *twarray;
-     struct fftw_twiddle_struct *next;
-     int refcnt;
-} fftw_twiddle;
-
-typedef struct fftw_rader_data_struct {
-     struct fftw_plan_struct *plan;
-     fftw_complex *omega;
-     int g, ginv;
-     int p, flags, refcount;
-     struct fftw_rader_data_struct *next;
-     fftw_codelet_desc *cdesc;
-} fftw_rader_data;
-
-typedef void (fftw_rader_codelet) 
-     (fftw_complex *, const fftw_complex *, int,
-      int, int, fftw_rader_data *);
-
-/* structure that holds all the data needed for a given step */
-typedef struct fftw_plan_node_struct {
-     enum fftw_node_type type;
-
-     union {
-          /* nodes of type FFTW_NOTW */
-          struct {
-               int size;
-               fftw_notw_codelet *codelet;
-               const fftw_codelet_desc *codelet_desc;
-          } notw;
-
-          /* nodes of type FFTW_TWIDDLE */
-          struct {
-               int size;
-               fftw_twiddle_codelet *codelet;
-               fftw_twiddle *tw;
-               struct fftw_plan_node_struct *recurse;
-               const fftw_codelet_desc *codelet_desc;
-          } twiddle;
-
-          /* nodes of type FFTW_GENERIC */
-          struct {
-               int size;
-               fftw_generic_codelet *codelet;
-               fftw_twiddle *tw;
-               struct fftw_plan_node_struct *recurse;
-          } generic;
-
-          /* nodes of type FFTW_RADER */
-          struct {
-               int size;
-               fftw_rader_codelet *codelet;
-               fftw_rader_data *rader_data;
-               fftw_twiddle *tw;
-               struct fftw_plan_node_struct *recurse;
-          } rader;
-
-          /* nodes of type FFTW_REAL2HC */
-          struct {
-               int size;
-               fftw_real2hc_codelet *codelet;
-               const fftw_codelet_desc *codelet_desc;
-          } real2hc;
-
-          /* nodes of type FFTW_HC2REAL */
-          struct {
-               int size;
-               fftw_hc2real_codelet *codelet;
-               const fftw_codelet_desc *codelet_desc;
-          } hc2real;
-
-          /* nodes of type FFTW_HC2HC */
-          struct {
-               int size;
-               fftw_direction dir;
-               fftw_hc2hc_codelet *codelet;
-               fftw_twiddle *tw;
-               struct fftw_plan_node_struct *recurse;
-               const fftw_codelet_desc *codelet_desc;
-          } hc2hc;
-
-          /* nodes of type FFTW_RGENERIC */
-          struct {
-               int size;
-               fftw_direction dir;
-               fftw_rgeneric_codelet *codelet;
-               fftw_twiddle *tw;
-               struct fftw_plan_node_struct *recurse;
-          } rgeneric;
-     } nodeu;
-
-     int refcnt;
-} fftw_plan_node;
-
-struct fftw_plan_struct {
-     int n;
-     int refcnt;
-     fftw_direction dir;
-     int flags;
-     int wisdom_signature;
-     enum fftw_node_type wisdom_type;
-     struct fftw_plan_struct *next;
-     fftw_plan_node *root;
-     double cost;
-};
-
-/* a plan is just an array of instructions */
-typedef struct fftw_plan_struct *fftw_plan;
-
-/* flags for the planner */
-#define  FFTW_ESTIMATE (0)
-#define  FFTW_MEASURE  (1)
-
-#define FFTW_OUT_OF_PLACE (0)
-#define FFTW_IN_PLACE (8)
-#define FFTW_USE_WISDOM (16)
-
-#define FFTW_THREADSAFE (128)  /* guarantee plan is read-only so that the
-                                  same plan can be used in parallel by
-                                  multiple threads */
-
-#define FFTWND_FORCE_BUFFERED (256)	/* internal, undocumented flag */
-
-extern fftw_plan fftw_create_plan_specific(int n, fftw_direction dir,
-                                           int flags,
-                                           fftw_complex *in, int istride,
-                                         fftw_complex *out, int ostride);
-#define FFTW_HAS_PLAN_SPECIFIC
-extern fftw_plan fftw_create_plan(int n, fftw_direction dir, int flags);
-extern void fftw_print_plan(fftw_plan plan);
-extern void fftw_destroy_plan(fftw_plan plan);
-extern void fftw(fftw_plan plan, int howmany, fftw_complex *in, int istride,
-                 int idist, fftw_complex *out, int ostride, int odist);
-extern void fftw_one(fftw_plan plan, fftw_complex *in, fftw_complex *out);
-extern void fftw_die(const char *s);
-extern void *fftw_malloc(size_t n);
-extern void fftw_free(void *p);
-extern void fftw_check_memory_leaks(void);
-extern void fftw_print_max_memory_usage(void);
-
-typedef void *(*fftw_malloc_type_function) (size_t n);
-typedef void  (*fftw_free_type_function) (void *p);
-typedef void  (*fftw_die_type_function) (const char *errString);
-extern DL_IMPORT(fftw_malloc_type_function) fftw_malloc_hook;
-extern DL_IMPORT(fftw_free_type_function) fftw_free_hook;
-extern DL_IMPORT(fftw_die_type_function) fftw_die_hook;
-
-extern size_t fftw_sizeof_fftw_real(void);
-
-/* Wisdom: */
-/*
- * define this symbol so that users know we are using a version of FFTW
- * with wisdom
- */
-#define FFTW_HAS_WISDOM
-extern void fftw_forget_wisdom(void);
-extern void fftw_export_wisdom(void (*emitter) (char c, void *), void *data);
-extern fftw_status fftw_import_wisdom(int (*g) (void *), void *data);
-extern void fftw_export_wisdom_to_file(FILE *output_file);
-extern fftw_status fftw_import_wisdom_from_file(FILE *input_file);
-extern char *fftw_export_wisdom_to_string(void);
-extern fftw_status fftw_import_wisdom_from_string(const char *input_string);
-
-/*
- * define symbol so we know this function is available (it is not in
- * older FFTWs)
- */
-#define FFTW_HAS_FPRINT_PLAN
-extern void fftw_fprint_plan(FILE *f, fftw_plan plan);
-
-/*****************************
- *    N-dimensional code
- *****************************/
-typedef struct {
-     int is_in_place;		/* 1 if for in-place FFTs, 0 otherwise */
-
-     int rank;			/* 
-                                 * the rank (number of dimensions) of the
-                                 * array to be FFTed 
-                                 */
-     int *n;			/*
-                                 * the dimensions of the array to the
-                                 * FFTed 
-                                 */
-     fftw_direction dir;
-
-     int *n_before;		/*
-                                 * n_before[i] = product of n[j] for j < i 
-                                 */
-     int *n_after;		/* n_after[i] = product of n[j] for j > i */
-
-     fftw_plan *plans;		/* 1d fftw plans for each dimension */
-
-     int nbuffers, nwork;
-     fftw_complex *work;	/* 
-                                 * work array big enough to hold
-                                 * nbuffers+1 of the largest dimension 
-                                 * (has nwork elements)
-                                 */
-} fftwnd_data;
-
-typedef fftwnd_data *fftwnd_plan;
-
-/* Initializing the FFTWND plan: */
-extern fftwnd_plan fftw2d_create_plan(int nx, int ny, fftw_direction dir,
-                                      int flags);
-extern fftwnd_plan fftw3d_create_plan(int nx, int ny, int nz,
-                                      fftw_direction dir, int flags);
-extern fftwnd_plan fftwnd_create_plan(int rank, const int *n,
-                                      fftw_direction dir,
-                                      int flags);
-
-extern fftwnd_plan fftw2d_create_plan_specific(int nx, int ny,
-                                               fftw_direction dir,
-                                               int flags,
-                                           fftw_complex *in, int istride,
-                                         fftw_complex *out, int ostride);
-extern fftwnd_plan fftw3d_create_plan_specific(int nx, int ny, int nz,
-                                           fftw_direction dir, int flags,
-                                           fftw_complex *in, int istride,
-                                         fftw_complex *out, int ostride);
-extern fftwnd_plan fftwnd_create_plan_specific(int rank, const int *n,
-                                               fftw_direction dir,
-                                               int flags,
-                                           fftw_complex *in, int istride,
-                                         fftw_complex *out, int ostride);
-
-/* Freeing the FFTWND plan: */
-extern void fftwnd_destroy_plan(fftwnd_plan plan);
-
-/* Printing the plan: */
-extern void fftwnd_fprint_plan(FILE *f, fftwnd_plan p);
-extern void fftwnd_print_plan(fftwnd_plan p);
-#define FFTWND_HAS_PRINT_PLAN
-
-/* Computing the N-Dimensional FFT */
-extern void fftwnd(fftwnd_plan plan, int howmany,
-                   fftw_complex *in, int istride, int idist,
-                   fftw_complex *out, int ostride, int odist);
-extern void fftwnd_one(fftwnd_plan p, fftw_complex *in, fftw_complex *out);
-
-#ifdef __cplusplus
-}                               /* extern "C" */
-
-#endif				/* __cplusplus */
-#endif				/* FFTW_H */
diff --git a/lib-src/libnyquist/nyqsrc/fresample.h b/lib-src/libnyquist/nyqsrc/fresample.h
deleted file mode 100644
index be1a199..0000000
--- a/lib-src/libnyquist/nyqsrc/fresample.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * FILE: fresample.h
- *
- * The configuration constants below govern
- * the number of bits in the input sample and filter coefficients, the 
- * number of bits to the right of the binary-point for fixed-point math, etc.
- *
- */
-
-/* #include "stdefs.h" */
-
-typedef double SAMPLE_TYPE;
-#define SCALE_FACTOR_TO_SHORT 32767
-
-/* Conversion constants */
-#define Nhc       8
-/* #define Na        7 */
-/* #define Np       (Nhc+Na)*/
-#define Npc      (1<<Nhc)
-/* #define Amask    ((1<<Na)-1) */
-/* #define Pmask    ((1<<Np)-1) */
-/* #define Nh       16 */
-/* #define Nb       16 */
-/* #define Nhxn     14 */
-/* #define Nhg      (Nh-Nhxn) */
-/* #define NLpScl   13 */
-
-/* Description of constants:
- *
- * Npc - is the number of look-up values available for the lowpass filter
- *    between the beginning of its impulse response and the "cutoff time"
- *    of the filter.  The cutoff time is defined as the reciprocal of the
- *    lowpass-filter cut off frequence in Hz.  For example, if the
- *    lowpass filter were a sinc function, Npc would be the index of the
- *    impulse-response lookup-table corresponding to the first zero-
- *    crossing of the sinc function.  (The inverse first zero-crossing
- *    time of a sinc function equals its nominal cutoff frequency in Hz.)
- *    Npc must be a power of 2 due to the details of the current
- *    implementation. The default value of 512 is sufficiently high that
- *    using linear interpolation to fill in between the table entries
- *    gives approximately 16-bit accuracy in filter coefficients.
- *
- * Nhc - is log base 2 of Npc.
- *
- * Na - is the number of bits devoted to linear interpolation of the
- *    filter coefficients.
- *
- * Np - is Na + Nhc, the number of bits to the right of the binary point
- *    in the integer "time" variable. To the left of the point, it indexes
- *    the input array (X), and to the right, it is interpreted as a number
- *    between 0 and 1 sample of the input X.  Np must be less than 16 in
- *    this implementation.
- *
- * Nh - is the number of bits in the filter coefficients. The sum of Nh and
- *    the number of bits in the input data (typically 16) cannot exceed 32.
- *    Thus Nh should be 16.  The largest filter coefficient should nearly
- *    fill 16 bits (32767).
- *
- * Nb - is the number of bits in the input data. The sum of Nb and Nh cannot
- *    exceed 32.
- *
- * Nhxn - is the number of bits to right shift after multiplying each input
- *    sample times a filter coefficient. It can be as great as Nh and as
- *    small as 0. Nhxn = Nh-2 gives 2 guard bits in the multiply-add
- *    accumulation.  If Nhxn=0, the accumulation will soon overflow 32 bits.
- *
- * Nhg - is the number of guard bits in mpy-add accumulation (equal to Nh-Nhxn)
- *
- * NLpScl - is the number of bits allocated to the unity-gain normalization
- *    factor.  The output of the lowpass filter is multiplied by LpScl and
- *    then right-shifted NLpScl bits. To avoid overflow, we must have 
- *    Nb+Nhg+NLpScl < 32.
- */
-
-
diff --git a/lib-src/libnyquist/nyqsrc/fsmallfilter.h b/lib-src/libnyquist/nyqsrc/fsmallfilter.h
deleted file mode 100644
index 8cd6e12..0000000
--- a/lib-src/libnyquist/nyqsrc/fsmallfilter.h
+++ /dev/null
@@ -1,3079 +0,0 @@
-/* Included by resamplesubs.c */
-#define SMALL_FILTER_NMULT 13
-#define SMALL_FILTER_SCALE 13128 /* Unity-gain scale factor */
-#define SMALL_FILTER_NWING 1536 /* Filter table length */
-static float SMALL_FILTER_IMP[] /* Impulse response */ = {
-32767.0F,
-32766.0F,
-32765.0F,
-32762.0F,
-32758.0F,
-32753.0F,
-32747.0F,
-32739.0F,
-32731.0F,
-32722.0F,
-32711.0F,
-32699.0F,
-32686.0F,
-32672.0F,
-32657.0F,
-32641.0F,
-32623.0F,
-32605.0F,
-32585.0F,
-32565.0F,
-32543.0F,
-32520.0F,
-32496.0F,
-32471.0F,
-32445.0F,
-32417.0F,
-32389.0F,
-32359.0F,
-32329.0F,
-32297.0F,
-32264.0F,
-32230.0F,
-32195.0F,
-32159.0F,
-32122.0F,
-32084.0F,
-32044.0F,
-32004.0F,
-31962.0F,
-31920.0F,
-31876.0F,
-31832.0F,
-31786.0F,
-31739.0F,
-31691.0F,
-31642.0F,
-31592.0F,
-31541.0F,
-31489.0F,
-31436.0F,
-31382.0F,
-31327.0F,
-31271.0F,
-31214.0F,
-31156.0F,
-31096.0F,
-31036.0F,
-30975.0F,
-30913.0F,
-30849.0F,
-30785.0F,
-30720.0F,
-30654.0F,
-30586.0F,
-30518.0F,
-30449.0F,
-30379.0F,
-30308.0F,
-30236.0F,
-30163.0F,
-30089.0F,
-30014.0F,
-29938.0F,
-29861.0F,
-29784.0F,
-29705.0F,
-29625.0F,
-29545.0F,
-29464.0F,
-29381.0F,
-29298.0F,
-29214.0F,
-29129.0F,
-29043.0F,
-28956.0F,
-28869.0F,
-28780.0F,
-28691.0F,
-28601.0F,
-28510.0F,
-28418.0F,
-28325.0F,
-28232.0F,
-28137.0F,
-28042.0F,
-27946.0F,
-27849.0F,
-27752.0F,
-27653.0F,
-27554.0F,
-27454.0F,
-27353.0F,
-27252.0F,
-27149.0F,
-27046.0F,
-26943.0F,
-26838.0F,
-26733.0F,
-26627.0F,
-26520.0F,
-26413.0F,
-26305.0F,
-26196.0F,
-26086.0F,
-25976.0F,
-25865.0F,
-25753.0F,
-25641.0F,
-25528.0F,
-25415.0F,
-25301.0F,
-25186.0F,
-25070.0F,
-24954.0F,
-24838.0F,
-24720.0F,
-24602.0F,
-24484.0F,
-24365.0F,
-24245.0F,
-24125.0F,
-24004.0F,
-23883.0F,
-23761.0F,
-23639.0F,
-23516.0F,
-23392.0F,
-23268.0F,
-23144.0F,
-23019.0F,
-22893.0F,
-22767.0F,
-22641.0F,
-22514.0F,
-22386.0F,
-22259.0F,
-22130.0F,
-22001.0F,
-21872.0F,
-21743.0F,
-21613.0F,
-21482.0F,
-21352.0F,
-21220.0F,
-21089.0F,
-20957.0F,
-20825.0F,
-20692.0F,
-20559.0F,
-20426.0F,
-20292.0F,
-20158.0F,
-20024.0F,
-19889.0F,
-19754.0F,
-19619.0F,
-19483.0F,
-19347.0F,
-19211.0F,
-19075.0F,
-18939.0F,
-18802.0F,
-18665.0F,
-18527.0F,
-18390.0F,
-18252.0F,
-18114.0F,
-17976.0F,
-17838.0F,
-17700.0F,
-17561.0F,
-17422.0F,
-17283.0F,
-17144.0F,
-17005.0F,
-16866.0F,
-16726.0F,
-16587.0F,
-16447.0F,
-16307.0F,
-16167.0F,
-16027.0F,
-15887.0F,
-15747.0F,
-15607.0F,
-15467.0F,
-15327.0F,
-15187.0F,
-15046.0F,
-14906.0F,
-14766.0F,
-14625.0F,
-14485.0F,
-14345.0F,
-14205.0F,
-14065.0F,
-13924.0F,
-13784.0F,
-13644.0F,
-13504.0F,
-13364.0F,
-13225.0F,
-13085.0F,
-12945.0F,
-12806.0F,
-12666.0F,
-12527.0F,
-12388.0F,
-12249.0F,
-12110.0F,
-11971.0F,
-11833.0F,
-11694.0F,
-11556.0F,
-11418.0F,
-11280.0F,
-11142.0F,
-11005.0F,
-10867.0F,
-10730.0F,
-10594.0F,
-10457.0F,
-10321.0F,
-10185.0F,
-10049.0F,
-9913.0F,
-9778.0F,
-9643.0F,
-9508.0F,
-9374.0F,
-9239.0F,
-9105.0F,
-8972.0F,
-8839.0F,
-8706.0F,
-8573.0F,
-8441.0F,
-8309.0F,
-8177.0F,
-8046.0F,
-7915.0F,
-7785.0F,
-7655.0F,
-7525.0F,
-7396.0F,
-7267.0F,
-7138.0F,
-7010.0F,
-6882.0F,
-6755.0F,
-6628.0F,
-6502.0F,
-6376.0F,
-6250.0F,
-6125.0F,
-6001.0F,
-5876.0F,
-5753.0F,
-5630.0F,
-5507.0F,
-5385.0F,
-5263.0F,
-5141.0F,
-5021.0F,
-4900.0F,
-4781.0F,
-4661.0F,
-4543.0F,
-4425.0F,
-4307.0F,
-4190.0F,
-4073.0F,
-3957.0F,
-3842.0F,
-3727.0F,
-3613.0F,
-3499.0F,
-3386.0F,
-3273.0F,
-3161.0F,
-3050.0F,
-2939.0F,
-2828.0F,
-2719.0F,
-2610.0F,
-2501.0F,
-2394.0F,
-2286.0F,
-2180.0F,
-2074.0F,
-1968.0F,
-1864.0F,
-1760.0F,
-1656.0F,
-1554.0F,
-1451.0F,
-1350.0F,
-1249.0F,
-1149.0F,
-1050.0F,
-951.0F,
-853.0F,
-755.0F,
-658.0F,
-562.0F,
-467.0F,
-372.0F,
-278.0F,
-185.0F,
-92.0F,
-0.0F,
--90.0F,
--181.0F,
--271.0F,
--360.0F,
--448.0F,
--536.0F,
--623.0F,
--709.0F,
--795.0F,
--880.0F,
--964.0F,
--1047.0F,
--1130.0F,
--1212.0F,
--1293.0F,
--1373.0F,
--1453.0F,
--1532.0F,
--1610.0F,
--1688.0F,
--1764.0F,
--1840.0F,
--1916.0F,
--1990.0F,
--2064.0F,
--2137.0F,
--2209.0F,
--2281.0F,
--2351.0F,
--2421.0F,
--2491.0F,
--2559.0F,
--2627.0F,
--2694.0F,
--2760.0F,
--2825.0F,
--2890.0F,
--2954.0F,
--3017.0F,
--3080.0F,
--3141.0F,
--3202.0F,
--3262.0F,
--3322.0F,
--3380.0F,
--3438.0F,
--3495.0F,
--3551.0F,
--3607.0F,
--3662.0F,
--3716.0F,
--3769.0F,
--3821.0F,
--3873.0F,
--3924.0F,
--3974.0F,
--4024.0F,
--4072.0F,
--4120.0F,
--4167.0F,
--4214.0F,
--4259.0F,
--4304.0F,
--4348.0F,
--4392.0F,
--4434.0F,
--4476.0F,
--4517.0F,
--4558.0F,
--4597.0F,
--4636.0F,
--4674.0F,
--4712.0F,
--4748.0F,
--4784.0F,
--4819.0F,
--4854.0F,
--4887.0F,
--4920.0F,
--4953.0F,
--4984.0F,
--5015.0F,
--5045.0F,
--5074.0F,
--5103.0F,
--5131.0F,
--5158.0F,
--5184.0F,
--5210.0F,
--5235.0F,
--5259.0F,
--5283.0F,
--5306.0F,
--5328.0F,
--5349.0F,
--5370.0F,
--5390.0F,
--5409.0F,
--5428.0F,
--5446.0F,
--5463.0F,
--5480.0F,
--5496.0F,
--5511.0F,
--5526.0F,
--5540.0F,
--5553.0F,
--5566.0F,
--5578.0F,
--5589.0F,
--5600.0F,
--5610.0F,
--5619.0F,
--5628.0F,
--5636.0F,
--5643.0F,
--5650.0F,
--5656.0F,
--5662.0F,
--5667.0F,
--5671.0F,
--5674.0F,
--5678.0F,
--5680.0F,
--5682.0F,
--5683.0F,
--5684.0F,
--5684.0F,
--5683.0F,
--5682.0F,
--5680.0F,
--5678.0F,
--5675.0F,
--5672.0F,
--5668.0F,
--5663.0F,
--5658.0F,
--5652.0F,
--5646.0F,
--5639.0F,
--5632.0F,
--5624.0F,
--5616.0F,
--5607.0F,
--5597.0F,
--5587.0F,
--5577.0F,
--5566.0F,
--5554.0F,
--5542.0F,
--5529.0F,
--5516.0F,
--5503.0F,
--5489.0F,
--5474.0F,
--5459.0F,
--5444.0F,
--5428.0F,
--5412.0F,
--5395.0F,
--5378.0F,
--5360.0F,
--5342.0F,
--5323.0F,
--5304.0F,
--5284.0F,
--5264.0F,
--5244.0F,
--5223.0F,
--5202.0F,
--5180.0F,
--5158.0F,
--5136.0F,
--5113.0F,
--5090.0F,
--5066.0F,
--5042.0F,
--5018.0F,
--4993.0F,
--4968.0F,
--4943.0F,
--4917.0F,
--4891.0F,
--4864.0F,
--4838.0F,
--4810.0F,
--4783.0F,
--4755.0F,
--4727.0F,
--4698.0F,
--4670.0F,
--4640.0F,
--4611.0F,
--4581.0F,
--4551.0F,
--4521.0F,
--4490.0F,
--4460.0F,
--4428.0F,
--4397.0F,
--4365.0F,
--4333.0F,
--4301.0F,
--4269.0F,
--4236.0F,
--4203.0F,
--4170.0F,
--4137.0F,
--4103.0F,
--4069.0F,
--4035.0F,
--4001.0F,
--3966.0F,
--3932.0F,
--3897.0F,
--3862.0F,
--3827.0F,
--3791.0F,
--3755.0F,
--3720.0F,
--3684.0F,
--3648.0F,
--3611.0F,
--3575.0F,
--3538.0F,
--3502.0F,
--3465.0F,
--3428.0F,
--3390.0F,
--3353.0F,
--3316.0F,
--3278.0F,
--3241.0F,
--3203.0F,
--3165.0F,
--3127.0F,
--3089.0F,
--3051.0F,
--3013.0F,
--2974.0F,
--2936.0F,
--2898.0F,
--2859.0F,
--2820.0F,
--2782.0F,
--2743.0F,
--2704.0F,
--2666.0F,
--2627.0F,
--2588.0F,
--2549.0F,
--2510.0F,
--2471.0F,
--2432.0F,
--2393.0F,
--2354.0F,
--2315.0F,
--2276.0F,
--2237.0F,
--2198.0F,
--2159.0F,
--2120.0F,
--2081.0F,
--2042.0F,
--2003.0F,
--1964.0F,
--1925.0F,
--1886.0F,
--1847.0F,
--1808.0F,
--1770.0F,
--1731.0F,
--1692.0F,
--1654.0F,
--1615.0F,
--1577.0F,
--1538.0F,
--1500.0F,
--1462.0F,
--1424.0F,
--1386.0F,
--1348.0F,
--1310.0F,
--1272.0F,
--1234.0F,
--1197.0F,
--1159.0F,
--1122.0F,
--1084.0F,
--1047.0F,
--1010.0F,
--973.0F,
--936.0F,
--900.0F,
--863.0F,
--827.0F,
--790.0F,
--754.0F,
--718.0F,
--682.0F,
--646.0F,
--611.0F,
--575.0F,
--540.0F,
--505.0F,
--470.0F,
--435.0F,
--401.0F,
--366.0F,
--332.0F,
--298.0F,
--264.0F,
--230.0F,
--197.0F,
--163.0F,
--130.0F,
--97.0F,
--64.0F,
--31.0F,
-0.0F,
-32.0F,
-64.0F,
-96.0F,
-128.0F,
-159.0F,
-190.0F,
-221.0F,
-252.0F,
-283.0F,
-313.0F,
-343.0F,
-373.0F,
-403.0F,
-432.0F,
-462.0F,
-491.0F,
-519.0F,
-548.0F,
-576.0F,
-604.0F,
-632.0F,
-660.0F,
-687.0F,
-714.0F,
-741.0F,
-768.0F,
-794.0F,
-821.0F,
-847.0F,
-872.0F,
-898.0F,
-923.0F,
-948.0F,
-972.0F,
-997.0F,
-1021.0F,
-1045.0F,
-1068.0F,
-1092.0F,
-1115.0F,
-1138.0F,
-1160.0F,
-1183.0F,
-1205.0F,
-1227.0F,
-1248.0F,
-1270.0F,
-1291.0F,
-1311.0F,
-1332.0F,
-1352.0F,
-1372.0F,
-1392.0F,
-1411.0F,
-1430.0F,
-1449.0F,
-1468.0F,
-1486.0F,
-1504.0F,
-1522.0F,
-1539.0F,
-1556.0F,
-1573.0F,
-1590.0F,
-1607.0F,
-1623.0F,
-1639.0F,
-1654.0F,
-1669.0F,
-1685.0F,
-1699.0F,
-1714.0F,
-1728.0F,
-1742.0F,
-1756.0F,
-1769.0F,
-1782.0F,
-1795.0F,
-1808.0F,
-1820.0F,
-1832.0F,
-1844.0F,
-1855.0F,
-1867.0F,
-1878.0F,
-1888.0F,
-1899.0F,
-1909.0F,
-1919.0F,
-1929.0F,
-1938.0F,
-1947.0F,
-1956.0F,
-1964.0F,
-1973.0F,
-1981.0F,
-1989.0F,
-1996.0F,
-2003.0F,
-2010.0F,
-2017.0F,
-2024.0F,
-2030.0F,
-2036.0F,
-2042.0F,
-2047.0F,
-2052.0F,
-2057.0F,
-2062.0F,
-2066.0F,
-2071.0F,
-2074.0F,
-2078.0F,
-2082.0F,
-2085.0F,
-2088.0F,
-2091.0F,
-2093.0F,
-2095.0F,
-2097.0F,
-2099.0F,
-2101.0F,
-2102.0F,
-2103.0F,
-2104.0F,
-2104.0F,
-2105.0F,
-2105.0F,
-2105.0F,
-2104.0F,
-2104.0F,
-2103.0F,
-2102.0F,
-2101.0F,
-2100.0F,
-2098.0F,
-2096.0F,
-2094.0F,
-2092.0F,
-2089.0F,
-2087.0F,
-2084.0F,
-2081.0F,
-2077.0F,
-2074.0F,
-2070.0F,
-2066.0F,
-2062.0F,
-2058.0F,
-2053.0F,
-2048.0F,
-2043.0F,
-2038.0F,
-2033.0F,
-2028.0F,
-2022.0F,
-2016.0F,
-2010.0F,
-2004.0F,
-1998.0F,
-1991.0F,
-1984.0F,
-1978.0F,
-1970.0F,
-1963.0F,
-1956.0F,
-1948.0F,
-1941.0F,
-1933.0F,
-1925.0F,
-1917.0F,
-1908.0F,
-1900.0F,
-1891.0F,
-1882.0F,
-1873.0F,
-1864.0F,
-1855.0F,
-1846.0F,
-1836.0F,
-1826.0F,
-1817.0F,
-1807.0F,
-1797.0F,
-1787.0F,
-1776.0F,
-1766.0F,
-1755.0F,
-1745.0F,
-1734.0F,
-1723.0F,
-1712.0F,
-1701.0F,
-1689.0F,
-1678.0F,
-1667.0F,
-1655.0F,
-1643.0F,
-1632.0F,
-1620.0F,
-1608.0F,
-1596.0F,
-1583.0F,
-1571.0F,
-1559.0F,
-1546.0F,
-1534.0F,
-1521.0F,
-1509.0F,
-1496.0F,
-1483.0F,
-1470.0F,
-1457.0F,
-1444.0F,
-1431.0F,
-1417.0F,
-1404.0F,
-1391.0F,
-1377.0F,
-1364.0F,
-1350.0F,
-1337.0F,
-1323.0F,
-1309.0F,
-1296.0F,
-1282.0F,
-1268.0F,
-1254.0F,
-1240.0F,
-1226.0F,
-1212.0F,
-1198.0F,
-1184.0F,
-1170.0F,
-1156.0F,
-1141.0F,
-1127.0F,
-1113.0F,
-1099.0F,
-1084.0F,
-1070.0F,
-1056.0F,
-1041.0F,
-1027.0F,
-1013.0F,
-998.0F,
-984.0F,
-969.0F,
-955.0F,
-940.0F,
-926.0F,
-911.0F,
-897.0F,
-882.0F,
-868.0F,
-854.0F,
-839.0F,
-825.0F,
-810.0F,
-796.0F,
-781.0F,
-767.0F,
-753.0F,
-738.0F,
-724.0F,
-709.0F,
-695.0F,
-681.0F,
-667.0F,
-652.0F,
-638.0F,
-624.0F,
-610.0F,
-596.0F,
-581.0F,
-567.0F,
-553.0F,
-539.0F,
-525.0F,
-511.0F,
-498.0F,
-484.0F,
-470.0F,
-456.0F,
-442.0F,
-429.0F,
-415.0F,
-402.0F,
-388.0F,
-375.0F,
-361.0F,
-348.0F,
-335.0F,
-321.0F,
-308.0F,
-295.0F,
-282.0F,
-269.0F,
-256.0F,
-243.0F,
-230.0F,
-217.0F,
-205.0F,
-192.0F,
-180.0F,
-167.0F,
-155.0F,
-142.0F,
-130.0F,
-118.0F,
-106.0F,
-94.0F,
-82.0F,
-70.0F,
-58.0F,
-46.0F,
-35.0F,
-23.0F,
-11.0F,
-0.0F,
--10.0F,
--22.0F,
--33.0F,
--44.0F,
--55.0F,
--66.0F,
--77.0F,
--87.0F,
--98.0F,
--109.0F,
--119.0F,
--130.0F,
--140.0F,
--150.0F,
--160.0F,
--170.0F,
--180.0F,
--190.0F,
--200.0F,
--209.0F,
--219.0F,
--228.0F,
--238.0F,
--247.0F,
--256.0F,
--265.0F,
--274.0F,
--283.0F,
--292.0F,
--301.0F,
--309.0F,
--318.0F,
--326.0F,
--335.0F,
--343.0F,
--351.0F,
--359.0F,
--367.0F,
--375.0F,
--382.0F,
--390.0F,
--397.0F,
--405.0F,
--412.0F,
--419.0F,
--426.0F,
--433.0F,
--440.0F,
--447.0F,
--454.0F,
--460.0F,
--467.0F,
--473.0F,
--479.0F,
--486.0F,
--492.0F,
--498.0F,
--504.0F,
--509.0F,
--515.0F,
--521.0F,
--526.0F,
--531.0F,
--537.0F,
--542.0F,
--547.0F,
--552.0F,
--557.0F,
--561.0F,
--566.0F,
--571.0F,
--575.0F,
--579.0F,
--584.0F,
--588.0F,
--592.0F,
--596.0F,
--600.0F,
--604.0F,
--607.0F,
--611.0F,
--614.0F,
--618.0F,
--621.0F,
--624.0F,
--627.0F,
--630.0F,
--633.0F,
--636.0F,
--638.0F,
--641.0F,
--644.0F,
--646.0F,
--648.0F,
--651.0F,
--653.0F,
--655.0F,
--657.0F,
--658.0F,
--660.0F,
--662.0F,
--664.0F,
--665.0F,
--666.0F,
--668.0F,
--669.0F,
--670.0F,
--671.0F,
--672.0F,
--673.0F,
--674.0F,
--675.0F,
--675.0F,
--676.0F,
--676.0F,
--677.0F,
--677.0F,
--677.0F,
--677.0F,
--677.0F,
--677.0F,
--677.0F,
--677.0F,
--677.0F,
--676.0F,
--676.0F,
--675.0F,
--675.0F,
--674.0F,
--674.0F,
--673.0F,
--672.0F,
--671.0F,
--670.0F,
--669.0F,
--668.0F,
--667.0F,
--665.0F,
--664.0F,
--663.0F,
--661.0F,
--660.0F,
--658.0F,
--656.0F,
--654.0F,
--653.0F,
--651.0F,
--649.0F,
--647.0F,
--645.0F,
--643.0F,
--641.0F,
--638.0F,
--636.0F,
--634.0F,
--631.0F,
--629.0F,
--626.0F,
--624.0F,
--621.0F,
--619.0F,
--616.0F,
--613.0F,
--610.0F,
--608.0F,
--605.0F,
--602.0F,
--599.0F,
--596.0F,
--593.0F,
--589.0F,
--586.0F,
--583.0F,
--580.0F,
--576.0F,
--573.0F,
--570.0F,
--566.0F,
--563.0F,
--559.0F,
--556.0F,
--552.0F,
--549.0F,
--545.0F,
--541.0F,
--538.0F,
--534.0F,
--530.0F,
--526.0F,
--522.0F,
--519.0F,
--515.0F,
--511.0F,
--507.0F,
--503.0F,
--499.0F,
--495.0F,
--491.0F,
--487.0F,
--482.0F,
--478.0F,
--474.0F,
--470.0F,
--466.0F,
--462.0F,
--457.0F,
--453.0F,
--449.0F,
--445.0F,
--440.0F,
--436.0F,
--432.0F,
--427.0F,
--423.0F,
--419.0F,
--414.0F,
--410.0F,
--406.0F,
--401.0F,
--397.0F,
--392.0F,
--388.0F,
--383.0F,
--379.0F,
--375.0F,
--370.0F,
--366.0F,
--361.0F,
--357.0F,
--352.0F,
--348.0F,
--343.0F,
--339.0F,
--334.0F,
--330.0F,
--325.0F,
--321.0F,
--316.0F,
--312.0F,
--307.0F,
--303.0F,
--298.0F,
--294.0F,
--290.0F,
--285.0F,
--281.0F,
--276.0F,
--272.0F,
--267.0F,
--263.0F,
--259.0F,
--254.0F,
--250.0F,
--245.0F,
--241.0F,
--237.0F,
--232.0F,
--228.0F,
--224.0F,
--219.0F,
--215.0F,
--211.0F,
--207.0F,
--202.0F,
--198.0F,
--194.0F,
--190.0F,
--185.0F,
--181.0F,
--177.0F,
--173.0F,
--169.0F,
--165.0F,
--161.0F,
--157.0F,
--153.0F,
--149.0F,
--145.0F,
--141.0F,
--137.0F,
--133.0F,
--129.0F,
--125.0F,
--121.0F,
--117.0F,
--113.0F,
--110.0F,
--106.0F,
--102.0F,
--98.0F,
--95.0F,
--91.0F,
--87.0F,
--84.0F,
--80.0F,
--77.0F,
--73.0F,
--69.0F,
--66.0F,
--62.0F,
--59.0F,
--56.0F,
--52.0F,
--49.0F,
--46.0F,
--42.0F,
--39.0F,
--36.0F,
--32.0F,
--29.0F,
--26.0F,
--23.0F,
--20.0F,
--17.0F,
--14.0F,
--11.0F,
--8.0F,
--5.0F,
--2.0F,
-0.0F,
-3.0F,
-6.0F,
-8.0F,
-11.0F,
-14.0F,
-17.0F,
-19.0F,
-22.0F,
-25.0F,
-27.0F,
-30.0F,
-32.0F,
-35.0F,
-37.0F,
-40.0F,
-42.0F,
-44.0F,
-47.0F,
-49.0F,
-51.0F,
-54.0F,
-56.0F,
-58.0F,
-60.0F,
-62.0F,
-64.0F,
-66.0F,
-68.0F,
-70.0F,
-72.0F,
-74.0F,
-76.0F,
-78.0F,
-80.0F,
-82.0F,
-83.0F,
-85.0F,
-87.0F,
-89.0F,
-90.0F,
-92.0F,
-93.0F,
-95.0F,
-96.0F,
-98.0F,
-99.0F,
-101.0F,
-102.0F,
-104.0F,
-105.0F,
-106.0F,
-107.0F,
-109.0F,
-110.0F,
-111.0F,
-112.0F,
-113.0F,
-114.0F,
-116.0F,
-117.0F,
-118.0F,
-119.0F,
-120.0F,
-120.0F,
-121.0F,
-122.0F,
-123.0F,
-124.0F,
-125.0F,
-125.0F,
-126.0F,
-127.0F,
-128.0F,
-128.0F,
-129.0F,
-129.0F,
-130.0F,
-131.0F,
-131.0F,
-132.0F,
-132.0F,
-133.0F,
-133.0F,
-133.0F,
-134.0F,
-134.0F,
-134.0F,
-135.0F,
-135.0F,
-135.0F,
-135.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-137.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-136.0F,
-135.0F,
-135.0F,
-135.0F,
-135.0F,
-135.0F,
-134.0F,
-134.0F,
-134.0F,
-133.0F,
-133.0F,
-133.0F,
-132.0F,
-132.0F,
-131.0F,
-131.0F,
-131.0F,
-130.0F,
-130.0F,
-129.0F,
-129.0F,
-128.0F,
-128.0F,
-127.0F,
-127.0F,
-126.0F,
-125.0F,
-125.0F,
-124.0F,
-124.0F,
-123.0F,
-122.0F,
-122.0F,
-121.0F,
-120.0F,
-120.0F,
-119.0F,
-118.0F,
-118.0F,
-117.0F,
-116.0F,
-115.0F,
-115.0F,
-114.0F,
-113.0F,
-112.0F,
-112.0F,
-111.0F,
-110.0F,
-109.0F,
-108.0F,
-108.0F,
-107.0F,
-106.0F,
-105.0F,
-104.0F,
-103.0F,
-103.0F,
-102.0F,
-101.0F,
-100.0F,
-99.0F,
-98.0F,
-97.0F,
-96.0F,
-96.0F,
-95.0F,
-94.0F,
-93.0F,
-92.0F,
-91.0F,
-90.0F,
-89.0F,
-88.0F,
-87.0F,
-87.0F,
-86.0F,
-85.0F,
-84.0F,
-83.0F,
-82.0F,
-81.0F,
-80.0F,
-79.0F,
-78.0F,
-77.0F,
-76.0F,
-76.0F,
-75.0F,
-74.0F,
-73.0F,
-72.0F,
-71.0F,
-70.0F,
-69.0F,
-68.0F,
-67.0F,
-66.0F,
-65.0F,
-65.0F,
-64.0F,
-63.0F,
-62.0F,
-61.0F,
-60.0F,
-59.0F,
-58.0F,
-57.0F,
-57.0F,
-56.0F,
-55.0F,
-54.0F,
-53.0F,
-52.0F,
-51.0F,
-51.0F,
-50.0F,
-49.0F,
-48.0F,
-47.0F,
-46.0F,
-46.0F,
-45.0F,
-44.0F,
-43.0F,
-42.0F,
-42.0F,
-41.0F,
-40.0F,
-39.0F,
-38.0F,
-38.0F,
-37.0F,
-36.0F,
-35.0F,
-35.0F,
-34.0F,
-33.0F,
-33.0F,
-32.0F,
-31.0F,
-30.0F,
-30.0F,
-29.0F,
-28.0F,
-28.0F};
-
-static float SMALL_FILTER_IMPD[] = {
--1.0F,
--1.0F,
--3.0F,
--4.0F,
--5.0F,
--6.0F,
--8.0F,
--8.0F,
--9.0F,
--11.0F,
--12.0F,
--13.0F,
--14.0F,
--15.0F,
--16.0F,
--18.0F,
--18.0F,
--20.0F,
--20.0F,
--22.0F,
--23.0F,
--24.0F,
--25.0F,
--26.0F,
--28.0F,
--28.0F,
--30.0F,
--30.0F,
--32.0F,
--33.0F,
--34.0F,
--35.0F,
--36.0F,
--37.0F,
--38.0F,
--40.0F,
--40.0F,
--42.0F,
--42.0F,
--44.0F,
--44.0F,
--46.0F,
--47.0F,
--48.0F,
--49.0F,
--50.0F,
--51.0F,
--52.0F,
--53.0F,
--54.0F,
--55.0F,
--56.0F,
--57.0F,
--58.0F,
--60.0F,
--60.0F,
--61.0F,
--62.0F,
--64.0F,
--64.0F,
--65.0F,
--66.0F,
--68.0F,
--68.0F,
--69.0F,
--70.0F,
--71.0F,
--72.0F,
--73.0F,
--74.0F,
--75.0F,
--76.0F,
--77.0F,
--77.0F,
--79.0F,
--80.0F,
--80.0F,
--81.0F,
--83.0F,
--83.0F,
--84.0F,
--85.0F,
--86.0F,
--87.0F,
--87.0F,
--89.0F,
--89.0F,
--90.0F,
--91.0F,
--92.0F,
--93.0F,
--93.0F,
--95.0F,
--95.0F,
--96.0F,
--97.0F,
--97.0F,
--99.0F,
--99.0F,
--100.0F,
--101.0F,
--101.0F,
--103.0F,
--103.0F,
--103.0F,
--105.0F,
--105.0F,
--106.0F,
--107.0F,
--107.0F,
--108.0F,
--109.0F,
--110.0F,
--110.0F,
--111.0F,
--112.0F,
--112.0F,
--113.0F,
--113.0F,
--114.0F,
--115.0F,
--116.0F,
--116.0F,
--116.0F,
--118.0F,
--118.0F,
--118.0F,
--119.0F,
--120.0F,
--120.0F,
--121.0F,
--121.0F,
--122.0F,
--122.0F,
--123.0F,
--124.0F,
--124.0F,
--124.0F,
--125.0F,
--126.0F,
--126.0F,
--126.0F,
--127.0F,
--128.0F,
--127.0F,
--129.0F,
--129.0F,
--129.0F,
--129.0F,
--130.0F,
--131.0F,
--130.0F,
--132.0F,
--131.0F,
--132.0F,
--132.0F,
--133.0F,
--133.0F,
--133.0F,
--134.0F,
--134.0F,
--134.0F,
--135.0F,
--135.0F,
--135.0F,
--136.0F,
--136.0F,
--136.0F,
--136.0F,
--136.0F,
--137.0F,
--137.0F,
--138.0F,
--137.0F,
--138.0F,
--138.0F,
--138.0F,
--138.0F,
--138.0F,
--139.0F,
--139.0F,
--139.0F,
--139.0F,
--139.0F,
--139.0F,
--140.0F,
--139.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--141.0F,
--140.0F,
--140.0F,
--141.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--141.0F,
--140.0F,
--140.0F,
--140.0F,
--140.0F,
--139.0F,
--140.0F,
--140.0F,
--139.0F,
--140.0F,
--139.0F,
--139.0F,
--139.0F,
--139.0F,
--139.0F,
--138.0F,
--139.0F,
--138.0F,
--138.0F,
--138.0F,
--138.0F,
--137.0F,
--138.0F,
--137.0F,
--136.0F,
--137.0F,
--136.0F,
--136.0F,
--136.0F,
--136.0F,
--135.0F,
--135.0F,
--135.0F,
--134.0F,
--135.0F,
--134.0F,
--133.0F,
--133.0F,
--133.0F,
--133.0F,
--132.0F,
--132.0F,
--132.0F,
--131.0F,
--131.0F,
--130.0F,
--130.0F,
--130.0F,
--129.0F,
--129.0F,
--129.0F,
--128.0F,
--128.0F,
--127.0F,
--127.0F,
--126.0F,
--126.0F,
--126.0F,
--125.0F,
--124.0F,
--125.0F,
--123.0F,
--123.0F,
--123.0F,
--122.0F,
--122.0F,
--122.0F,
--120.0F,
--121.0F,
--119.0F,
--120.0F,
--118.0F,
--118.0F,
--118.0F,
--117.0F,
--117.0F,
--116.0F,
--115.0F,
--115.0F,
--114.0F,
--114.0F,
--113.0F,
--113.0F,
--112.0F,
--111.0F,
--111.0F,
--111.0F,
--109.0F,
--109.0F,
--109.0F,
--107.0F,
--108.0F,
--106.0F,
--106.0F,
--106.0F,
--104.0F,
--104.0F,
--104.0F,
--102.0F,
--103.0F,
--101.0F,
--101.0F,
--100.0F,
--99.0F,
--99.0F,
--98.0F,
--98.0F,
--97.0F,
--96.0F,
--95.0F,
--95.0F,
--94.0F,
--93.0F,
--93.0F,
--92.0F,
--90.0F,
--91.0F,
--90.0F,
--89.0F,
--88.0F,
--88.0F,
--87.0F,
--86.0F,
--86.0F,
--85.0F,
--84.0F,
--83.0F,
--83.0F,
--82.0F,
--81.0F,
--80.0F,
--80.0F,
--79.0F,
--78.0F,
--78.0F,
--76.0F,
--76.0F,
--76.0F,
--74.0F,
--74.0F,
--73.0F,
--72.0F,
--72.0F,
--70.0F,
--70.0F,
--70.0F,
--68.0F,
--68.0F,
--67.0F,
--66.0F,
--65.0F,
--65.0F,
--64.0F,
--63.0F,
--63.0F,
--61.0F,
--61.0F,
--60.0F,
--60.0F,
--58.0F,
--58.0F,
--57.0F,
--56.0F,
--56.0F,
--55.0F,
--54.0F,
--53.0F,
--52.0F,
--52.0F,
--51.0F,
--50.0F,
--50.0F,
--48.0F,
--48.0F,
--47.0F,
--47.0F,
--45.0F,
--45.0F,
--44.0F,
--44.0F,
--42.0F,
--42.0F,
--41.0F,
--41.0F,
--39.0F,
--39.0F,
--38.0F,
--38.0F,
--36.0F,
--36.0F,
--35.0F,
--35.0F,
--33.0F,
--33.0F,
--33.0F,
--31.0F,
--31.0F,
--30.0F,
--29.0F,
--29.0F,
--28.0F,
--27.0F,
--26.0F,
--26.0F,
--25.0F,
--24.0F,
--24.0F,
--23.0F,
--22.0F,
--21.0F,
--21.0F,
--20.0F,
--19.0F,
--19.0F,
--18.0F,
--17.0F,
--17.0F,
--16.0F,
--15.0F,
--15.0F,
--14.0F,
--13.0F,
--13.0F,
--12.0F,
--11.0F,
--11.0F,
--10.0F,
--9.0F,
--9.0F,
--8.0F,
--7.0F,
--7.0F,
--6.0F,
--6.0F,
--5.0F,
--4.0F,
--3.0F,
--4.0F,
--2.0F,
--2.0F,
--1.0F,
--1.0F,
-0.0F,
-1.0F,
-1.0F,
-2.0F,
-2.0F,
-3.0F,
-3.0F,
-4.0F,
-5.0F,
-5.0F,
-6.0F,
-6.0F,
-7.0F,
-7.0F,
-8.0F,
-8.0F,
-9.0F,
-10.0F,
-10.0F,
-10.0F,
-11.0F,
-12.0F,
-12.0F,
-13.0F,
-13.0F,
-13.0F,
-14.0F,
-15.0F,
-15.0F,
-15.0F,
-16.0F,
-16.0F,
-17.0F,
-17.0F,
-18.0F,
-18.0F,
-19.0F,
-19.0F,
-20.0F,
-20.0F,
-20.0F,
-21.0F,
-21.0F,
-22.0F,
-22.0F,
-22.0F,
-23.0F,
-23.0F,
-24.0F,
-24.0F,
-24.0F,
-25.0F,
-25.0F,
-25.0F,
-26.0F,
-26.0F,
-27.0F,
-26.0F,
-28.0F,
-27.0F,
-28.0F,
-28.0F,
-29.0F,
-28.0F,
-30.0F,
-29.0F,
-30.0F,
-30.0F,
-30.0F,
-31.0F,
-30.0F,
-32.0F,
-31.0F,
-32.0F,
-32.0F,
-32.0F,
-32.0F,
-33.0F,
-33.0F,
-33.0F,
-33.0F,
-34.0F,
-34.0F,
-34.0F,
-34.0F,
-35.0F,
-34.0F,
-35.0F,
-35.0F,
-35.0F,
-36.0F,
-36.0F,
-35.0F,
-36.0F,
-36.0F,
-37.0F,
-36.0F,
-37.0F,
-36.0F,
-37.0F,
-37.0F,
-38.0F,
-37.0F,
-37.0F,
-38.0F,
-37.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-39.0F,
-38.0F,
-38.0F,
-39.0F,
-39.0F,
-38.0F,
-39.0F,
-39.0F,
-38.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-39.0F,
-38.0F,
-39.0F,
-39.0F,
-38.0F,
-39.0F,
-38.0F,
-39.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-38.0F,
-37.0F,
-38.0F,
-37.0F,
-38.0F,
-37.0F,
-37.0F,
-37.0F,
-37.0F,
-36.0F,
-37.0F,
-36.0F,
-37.0F,
-36.0F,
-36.0F,
-36.0F,
-36.0F,
-35.0F,
-36.0F,
-35.0F,
-35.0F,
-35.0F,
-35.0F,
-34.0F,
-35.0F,
-34.0F,
-34.0F,
-34.0F,
-34.0F,
-33.0F,
-34.0F,
-33.0F,
-33.0F,
-33.0F,
-33.0F,
-31.0F,
-32.0F,
-32.0F,
-32.0F,
-32.0F,
-31.0F,
-31.0F,
-31.0F,
-31.0F,
-31.0F,
-30.0F,
-30.0F,
-30.0F,
-30.0F,
-29.0F,
-30.0F,
-29.0F,
-28.0F,
-29.0F,
-28.0F,
-28.0F,
-28.0F,
-28.0F,
-27.0F,
-27.0F,
-27.0F,
-27.0F,
-26.0F,
-27.0F,
-26.0F,
-25.0F,
-26.0F,
-25.0F,
-25.0F,
-24.0F,
-25.0F,
-24.0F,
-24.0F,
-23.0F,
-24.0F,
-23.0F,
-23.0F,
-22.0F,
-23.0F,
-22.0F,
-22.0F,
-21.0F,
-22.0F,
-21.0F,
-20.0F,
-21.0F,
-20.0F,
-20.0F,
-20.0F,
-19.0F,
-19.0F,
-19.0F,
-19.0F,
-18.0F,
-18.0F,
-18.0F,
-17.0F,
-17.0F,
-17.0F,
-17.0F,
-17.0F,
-16.0F,
-16.0F,
-15.0F,
-15.0F,
-16.0F,
-14.0F,
-15.0F,
-14.0F,
-14.0F,
-14.0F,
-13.0F,
-13.0F,
-13.0F,
-13.0F,
-12.0F,
-12.0F,
-12.0F,
-11.0F,
-12.0F,
-11.0F,
-10.0F,
-11.0F,
-10.0F,
-10.0F,
-10.0F,
-9.0F,
-9.0F,
-9.0F,
-8.0F,
-9.0F,
-8.0F,
-8.0F,
-7.0F,
-7.0F,
-7.0F,
-7.0F,
-7.0F,
-6.0F,
-6.0F,
-6.0F,
-5.0F,
-5.0F,
-5.0F,
-5.0F,
-4.0F,
-5.0F,
-3.0F,
-4.0F,
-4.0F,
-3.0F,
-3.0F,
-3.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-1.0F,
-1.0F,
-1.0F,
-0.0F,
-1.0F,
-0.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--2.0F,
--2.0F,
--2.0F,
--2.0F,
--3.0F,
--2.0F,
--3.0F,
--3.0F,
--4.0F,
--3.0F,
--4.0F,
--4.0F,
--4.0F,
--4.0F,
--5.0F,
--5.0F,
--5.0F,
--5.0F,
--5.0F,
--5.0F,
--6.0F,
--6.0F,
--6.0F,
--6.0F,
--6.0F,
--7.0F,
--7.0F,
--6.0F,
--8.0F,
--7.0F,
--7.0F,
--8.0F,
--7.0F,
--8.0F,
--8.0F,
--8.0F,
--9.0F,
--8.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--10.0F,
--10.0F,
--9.0F,
--10.0F,
--10.0F,
--10.0F,
--11.0F,
--10.0F,
--11.0F,
--10.0F,
--11.0F,
--11.0F,
--11.0F,
--11.0F,
--12.0F,
--11.0F,
--11.0F,
--12.0F,
--12.0F,
--11.0F,
--12.0F,
--12.0F,
--12.0F,
--13.0F,
--12.0F,
--12.0F,
--13.0F,
--12.0F,
--13.0F,
--12.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--14.0F,
--13.0F,
--13.0F,
--14.0F,
--13.0F,
--14.0F,
--13.0F,
--14.0F,
--14.0F,
--13.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--15.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--13.0F,
--14.0F,
--14.0F,
--14.0F,
--14.0F,
--13.0F,
--14.0F,
--13.0F,
--14.0F,
--13.0F,
--14.0F,
--13.0F,
--13.0F,
--14.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--13.0F,
--12.0F,
--13.0F,
--12.0F,
--13.0F,
--12.0F,
--13.0F,
--12.0F,
--12.0F,
--12.0F,
--12.0F,
--12.0F,
--12.0F,
--12.0F,
--12.0F,
--11.0F,
--12.0F,
--12.0F,
--11.0F,
--10.0F,
--12.0F,
--11.0F,
--11.0F,
--11.0F,
--11.0F,
--11.0F,
--10.0F,
--11.0F,
--11.0F,
--10.0F,
--11.0F,
--10.0F,
--10.0F,
--10.0F,
--10.0F,
--10.0F,
--10.0F,
--10.0F,
--9.0F,
--10.0F,
--9.0F,
--10.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--9.0F,
--8.0F,
--9.0F,
--8.0F,
--9.0F,
--8.0F,
--8.0F,
--8.0F,
--8.0F,
--8.0F,
--7.0F,
--8.0F,
--7.0F,
--8.0F,
--7.0F,
--7.0F,
--7.0F,
--7.0F,
--7.0F,
--7.0F,
--7.0F,
--6.0F,
--7.0F,
--6.0F,
--6.0F,
--7.0F,
--6.0F,
--6.0F,
--6.0F,
--5.0F,
--6.0F,
--6.0F,
--5.0F,
--5.0F,
--6.0F,
--5.0F,
--5.0F,
--5.0F,
--5.0F,
--4.0F,
--5.0F,
--5.0F,
--4.0F,
--4.0F,
--5.0F,
--4.0F,
--4.0F,
--4.0F,
--4.0F,
--4.0F,
--3.0F,
--4.0F,
--3.0F,
--4.0F,
--3.0F,
--3.0F,
--3.0F,
--3.0F,
--3.0F,
--3.0F,
--2.0F,
--3.0F,
--3.0F,
--2.0F,
--2.0F,
--3.0F,
--2.0F,
--2.0F,
--2.0F,
--1.0F,
--2.0F,
--2.0F,
--2.0F,
--1.0F,
--1.0F,
--2.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-1.0F,
-0.0F,
-1.0F,
-0.0F,
-1.0F,
-0.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-2.0F,
-1.0F,
-1.0F,
-2.0F,
-1.0F,
-2.0F,
-2.0F,
-2.0F,
-1.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-3.0F,
-2.0F,
-2.0F,
-3.0F,
-2.0F,
-3.0F,
-2.0F,
-3.0F,
-2.0F,
-3.0F,
-3.0F,
-3.0F,
-2.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-4.0F,
-3.0F,
-3.0F,
-3.0F,
-4.0F,
-3.0F,
-3.0F,
-4.0F,
-3.0F,
-4.0F,
-3.0F,
-4.0F,
-3.0F,
-4.0F,
-4.0F,
-3.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-3.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-4.0F,
-5.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-4.0F,
-3.0F,
-4.0F,
-4.0F,
-4.0F,
-3.0F,
-4.0F,
-4.0F,
-3.0F,
-4.0F,
-3.0F,
-4.0F,
-4.0F,
-3.0F,
-4.0F,
-3.0F,
-3.0F,
-4.0F,
-3.0F,
-3.0F,
-4.0F,
-3.0F,
-3.0F,
-4.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-3.0F,
-2.0F,
-3.0F,
-3.0F,
-2.0F,
-3.0F,
-3.0F,
-3.0F,
-2.0F,
-3.0F,
-3.0F,
-2.0F,
-3.0F,
-2.0F,
-3.0F,
-2.0F,
-3.0F,
-2.0F,
-2.0F,
-3.0F,
-2.0F,
-2.0F,
-3.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-2.0F,
-1.0F,
-2.0F,
-2.0F,
-2.0F,
-1.0F,
-2.0F,
-1.0F,
-2.0F,
-1.0F,
-2.0F,
-1.0F,
-2.0F,
-1.0F,
-2.0F,
-1.0F,
-1.0F,
-1.0F,
-2.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-2.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-0.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-1.0F,
-0.0F,
-1.0F,
-1.0F,
-1.0F,
-0.0F,
-1.0F,
-0.0F,
-1.0F,
-1.0F,
-0.0F,
-1.0F,
-0.0F,
-1.0F,
-0.0F,
-0.0F,
-1.0F,
-0.0F,
-0.0F,
-1.0F,
-0.0F,
-0.0F,
-0.0F,
-1.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-1.0F,
--1.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
--1.0F,
-0.0F,
-0.0F,
-0.0F,
-0.0F,
--1.0F,
-0.0F,
-0.0F,
--1.0F,
-0.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
--1.0F,
-0.0F,
--1.0F,
--1.0F,
-0.0F,
--28.0F};
diff --git a/lib-src/libnyquist/nyqsrc/handlers.c b/lib-src/libnyquist/nyqsrc/handlers.c
deleted file mode 100644
index a57691c..0000000
--- a/lib-src/libnyquist/nyqsrc/handlers.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* handlers.c -- null handlers to avoid link errors due to callouts in moxc.c */
-
-#include "musiprog.h"
-
-char *app_syntax = "";
-
-/* note -- a simple way to make a midi note on channel 1 */
-/**/
-void note(pitch, dur)
-{
-}
-
-/* asciievent -- ascii event handler */
-/**/
-void asciievent(char c)
-{
-}
-
-
-/* keyup -- key up handler */
-/**/
-void keyup(int c, int k)
-{
-    /* insert key up actions here */
-}
-
-
-/* keydown -- key down handler */
-/**/
-void keydown(int c, int k, int v)
-{
-    /* insert key down actions here */
-}
-
-
-/* midievent -- handle a midi message */
-/**/
-void midievent(midi_data)
-  byte midi_data[4];
-{
-    /* this is only called if mididecode is false so */
-    /* you can assume this function is never called  */
-}
-
-
-/* prgmchange -- program change handler */
-/**/
-void prgmchange(int chan, int value)
-{
-    /* insert program change actions here */
-}
-
-
-/* bendchange -- pitch bend handler */
-/**/
-void bendchange(int chan, int value)
-{
-    /* insert pitchbend actions here */
-}
-
-
-/* ctrlchange -- control change handler */
-/**/
-void ctrlchange(int chan, int ctrl, int value)
-{
-    /* insert control change actions here */
-}
-
-
-/* peddown -- pedal down handler */
-/**/
-void peddown(int c)
-{
-    /* insert pedal down actions here */
-    /* the following default action invokes your control change handler */
-    ctrlchange(c, SUSTAIN, 127);
-}
-
-
-/* pedup -- pedal up handler */
-/**/
-void pedup(int c)
-{
-    /* insert pedal up actions here */
-    /* the following default action invokes your control change handler */
-    ctrlchange(c, SUSTAIN, 0);
-}
-
-
-/* touchchange -- after touch handler */
-/**/
-void touchchange(int chan, int value)
-{
-    /* insert after touch actions here */
-}
-
-
-void sysex(void)
-{
-}
-
-
-/*
- * NOTE: this is called just before closing down the midi interface.
- */
-void coda(void)
-{
-}
-
-
-#ifdef AMIGA
-void buttonchange(int number, int value)
-{
-}
-
-void propchange(int number, int value)
-{
-        /* insert propchange actions here */
-}
-#endif
diff --git a/lib-src/libnyquist/nyqsrc/inverse.c b/lib-src/libnyquist/nyqsrc/inverse.c
deleted file mode 100644
index 1dd757c..0000000
--- a/lib-src/libnyquist/nyqsrc/inverse.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/* inverse.c -- compute the inverse of a sampled function */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "cext.h"
-
-#include "falloc.h"
-#include "inverse.h"
-
-void inverse_free();
-
-
-typedef struct inverse_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-    double s_prev;
-    double s_time;
-    double s_time_increment;
-    double out_time_increment;
-    boolean started;
-} inverse_susp_node, *inverse_susp_type;
-
-void inverse_fetch(register inverse_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples read from s */
-    int out_cnt = 0; /* how many samples output */
-    int togo = 0; /* how many more to read from s in inner loop */
-    int n;
-    sample_block_type out;
-    double out_time = susp->susp.current * susp->out_time_increment;
-    
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "inverse_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure we are primed with first value */
-    /* This is a lot of work just to prefetch susp->s_prev! */
-    if (!susp->started) {
-        susp->started = true;
-        /* see comments below about susp_check_term_log_samples() */
-        if (susp->s_cnt == 0) {
-            susp_get_samples(s, s_ptr, s_cnt);
-            if (susp->s_ptr == zero_block->samples) {
-                susp->terminate_cnt = susp->susp.current;
-            }
-        }
-        susp->s_prev = susp_fetch_sample(s, s_ptr, s_cnt);
-    }
-
-    while (out_cnt < max_sample_block_len) { /* outer loop */
-        /* first compute how many samples to generate in inner loop: */
-        /* don't run past the s input sample block: */
-        /* most fetch routines call susp_check_term_log_samples() here
-         * but we can't becasue susp_check_term_log_samples() assumes
-          * that output time progresses at the same rate as input time.
-         * Here, some time warping is going on, so this doesn't work.
-         * Instead, check for termination of s and fix terminate_cnt to
-         * be the current output count rather than the current input time.
-         */
-        if (susp->s_cnt == 0) {
-            susp_get_samples(s, s_ptr, s_cnt);
-            if (susp->s_ptr == zero_block->samples) {
-                susp->terminate_cnt = susp->susp.current + out_cnt;
-                /* we can't simply terminate here because we might have 
-                 * some output samples computed already, in which case we
-                 * want to return them now and terminate the NEXT time we're
-                 * called.
-                 */
-            }
-        }
-        togo = susp->s_cnt;
-
-        /* if we ran past terminate time, fix up output */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + out_cnt) {
-            /* pretend like we computed the correct number of samples */
-            togo = 0;
-            out_cnt = susp->terminate_cnt - susp->susp.current;
-            /* exit the loop to complete the termination */
-            break;
-        }
-        n = togo;
-        s_ptr_reg = susp->s_ptr;
-        if (n) do { /* the inner sample computation loop */
-            /* scan s_ptr_reg to time t, output and loop */
-            register double next_value = *s_ptr_reg++;
-            while (out_time < next_value) {
-                *out_ptr++ = (float) (susp->s_time +
-                             (out_time - susp->s_prev) /
-                             (susp->s->sr * (next_value - susp->s_prev)));
-                out_time += susp->out_time_increment;
-                if (++out_cnt >= max_sample_block_len) goto output_full;
-            }
-            susp->s_prev = next_value;
-            susp->s_time += susp->s_time_increment;
-        } while (--n); /* inner loop */
-  output_full:
-        /* using s_ptr_reg is a bad idea on RS/6000: */
-        susp->s_ptr += (togo - n);
-        susp_took(s_cnt, (togo - n));
-        cnt += (togo - n);
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && out_cnt == 0) {
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = out_cnt;
-        susp->susp.current += out_cnt;
-    }
-} /* inverse_fetch */
-
-
-void inverse_toss_fetch(susp, snd_list)
-  register inverse_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = MIN(susp->susp.current + max_sample_block_len,
-                           susp->susp.toss_cnt);
-    time_type final_time = susp->susp.t0 + final_count / susp->susp.sr;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while (((long) ((final_time - susp->s->t0) * susp->s->sr + 0.5)) >=
-           susp->s->current)
-        susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    if (final_count == susp->susp.toss_cnt) {
-        n = ROUND((final_time - susp->s->t0) * susp->s->sr -
-                       (susp->s->current - susp->s_cnt));
-        susp->s_ptr += n;
-        susp_took(s_cnt, n);
-        susp->susp.fetch = susp->susp.keep_fetch;
-    }
-    snd_list->block_len = (short) (final_count - susp->susp.current);
-    susp->susp.current = final_count;
-    snd_list->u.next = snd_list_create((snd_susp_type) susp);
-    snd_list->block = internal_zero_block;
-}
-
-
-void inverse_mark(inverse_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void inverse_free(inverse_susp_type susp)
-{
-    sound_unref(susp->s);
-    ffree_generic(susp, sizeof(inverse_susp_node), "inverse_free");
-}
-
-
-void inverse_print_tree(inverse_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_inverse(sound_type s, time_type t0, rate_type sr)
-{
-    register inverse_susp_type susp;
-
-    falloc_generic(susp, inverse_susp_node, "snd_make_inverse");
-    susp->susp.fetch = inverse_fetch;
-    susp->terminate_cnt = UNKNOWN;
-
-    /* initialize susp state */
-    susp->susp.free = inverse_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = inverse_mark;
-    susp->susp.print_tree = inverse_print_tree;
-    susp->susp.name = "inverse";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = UNKNOWN; /* log stop time = term time */
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    susp->s_prev = 0;
-    susp->s_time = 0;
-    susp->s_time_increment = 1 / s->sr;
-    susp->out_time_increment = 1 / (sr * s->scale);
-    susp->started = false;
-    return sound_create((snd_susp_type)susp, t0, sr, 1.0 /* scale */);
-}
-
-
-sound_type snd_inverse(sound_type s, time_type t0, rate_type sr)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_inverse(s_copy, t0, sr);
-}
diff --git a/lib-src/libnyquist/nyqsrc/inverse.h b/lib-src/libnyquist/nyqsrc/inverse.h
deleted file mode 100644
index 4ecf563..0000000
--- a/lib-src/libnyquist/nyqsrc/inverse.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_inverse(sound_type s, time_type t0, rate_type sr);
-sound_type snd_inverse(sound_type s, time_type t0, rate_type sr);
-    /* LISP: (snd-inverse SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/nyqsrc/local.c b/lib-src/libnyquist/nyqsrc/local.c
deleted file mode 100644
index c06a3d2..0000000
--- a/lib-src/libnyquist/nyqsrc/local.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* local.c -- call initialization code for all extensions */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-#include "xlisp.h"
-#include "sound.h"
-#include "samples.h"
-#ifdef CMTSTUFF
-#include "seqext.h"
-#endif
-#include "falloc.h"
-#include "sine.h"
-
-LVAL RSLT_sym;
-
-void localinit(void)
-{
-    falloc_init();
-/*    probe_init(true);*/
-    sound_init();
-#ifdef CMTSTUFF
-    seqext_init();
-#endif
-    sine_init();
-}
-
-
-void localsymbols(void)
-{
-    RSLT_sym = xlenter("*RSLT*");
-    sound_symbols();
-    samples_symbols();
-#ifdef CMTSTUFF
-    seqext_symbols();
-#endif
-}
-
-extern int sample_block_total;
-extern int sample_block_used;
-
-void print_local_gc_info(void)
-{
-    char buf[50];
-    /* print sample blocks */
-    sprintf(buf, "; samples %dKB, %dKB free",
-            (sample_block_total * max_sample_block_len) / 1024,
-            ((sample_block_total - sample_block_used) *
-             max_sample_block_len) / 1024);
-    stdputstr(buf);
-}
diff --git a/lib-src/libnyquist/nyqsrc/localdefs.h b/lib-src/libnyquist/nyqsrc/localdefs.h
deleted file mode 100644
index b227c2f..0000000
--- a/lib-src/libnyquist/nyqsrc/localdefs.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* include actual local file headers: */
-#include "sndfnintdefs.h"
-#include "seqfnintdefs.h"
diff --git a/lib-src/libnyquist/nyqsrc/localptrs.h b/lib-src/libnyquist/nyqsrc/localptrs.h
deleted file mode 100644
index a2d2ab7..0000000
--- a/lib-src/libnyquist/nyqsrc/localptrs.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* localptrs.h -- extend XLISP with these functions
-
-/* CHANGE LOG
- * 28-Apr-03  rbd  Removed "include switches.h" -- already included
-/* extension to xlisp */
-#include "sndfnintptrs.h"
-#include "seqfnintptrs.h"
diff --git a/lib-src/libnyquist/nyqsrc/multiread.c b/lib-src/libnyquist/nyqsrc/multiread.c
deleted file mode 100644
index 38924db..0000000
--- a/lib-src/libnyquist/nyqsrc/multiread.c
+++ /dev/null
@@ -1,287 +0,0 @@
-/* multiread.c -- read multichannel sound file */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-#include "stdio.h"
-#ifdef UNIX
-#include "sys/file.h"
-#endif
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "snd.h"
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "sndread.h"
-#include "multiread.h"
-
-/* allocate input buffer space for this many bytes/frame,
- * e.g. 8 allows 2 channels
- * If frames are bigger, then multiple reads will be issued.
- */
-#define max_bytes_per_frame 8
-#define input_buffer_max (max_sample_block_len * max_bytes_per_frame)
-
-/* multiread_fetch - read samples into multiple channels.  */
-/*
- * The susp is shared by all channels.  The susp has backpointers
- * to the tail-most snd_list node of each channels, and it is by
- * extending the list at these nodes that sounds are read in.
- * To avoid a circularity, the reference counts on snd_list nodes
- * do not include the backpointers from this susp.  When a snd_list
- * node refcount goes to zero, the multiread susp's free routine
- * is called.  This must scan the backpointers to find the node that
- * has a zero refcount (the free routine is called before the node
- * is deallocated, so this is safe).  The backpointer is then set
- * to NULL.  When all backpointers are NULL, the susp itself is
- * deallocated, because it can only be referenced through the
- * snd_list nodes to which there are backpointers.
- */
-void multiread_fetch(susp, snd_list)
-  register read_susp_type susp;
-  snd_list_type snd_list;
-{
-    int i, j;
-    int frames_read = 0; /* total frames read in this call to fetch */
-    int n;
-    sample_block_type out;
-    char input_buffer[input_buffer_max];
-    float *float_ptr;
-    int buff_frame_size;
-    int file_frame_size;
-
-    /* when we are called, the caller (SND_get_first) will insert a new
-     * snd_list node.  We need to do this here for all other channels.
-     */
-    for (j = 0; j < susp->snd.format.channels; j++) {
-
-/*        nyquist_printf("multiread_fetch: chan[%d] = ", j);
-        print_snd_list_type(susp->chan[j]);
-        stdputstr("\n");
- */
-        if (!susp->chan[j]) {   /* ignore non-existent channels */
-/*          nyquist_printf("multiread_fetch: ignore channel %d\n", j);*/
-            continue;
-        }
-        falloc_sample_block(out, "multiread_fetch");
-/*      nyquist_printf("multiread: allocated block %x\n", out); */
-        /* Since susp->chan[i] exists, we want to append a block of samples.
-         * The block, out, has been allocated.  Before we insert the block,
-         * we must figure out whether to insert a new snd_list_type node for
-         * the block.  Recall that before SND_get_next is called, the last
-         * snd_list_type in the list will have a null block pointer, and the
-         * snd_list_type's susp field points to the suspension (in this case,
-         * susp).  When SND_get_next (in sound.c) is called, it appends a new
-         * snd_list_type and points the previous one to internal_zero_block 
-         * before calling this fetch routine.  On the other hand, since 
-         * SND_get_next is only going to be called on one of the channels, the
-         * other channels will not have had a snd_list_type appended.
-         * SND_get_next does not tell us directly which channel it wants (it
-         * doesn't know), but we can test by looking for a non-null block in the
-         * snd_list_type pointed to by our back-pointers in susp->chan[].  If
-         * the block is null, the channel was untouched by SND_get_next, and
-         * we should append a snd_list_type.  If it is non-null, then it
-         * points to internal_zero_block (the block inserted by SND_get_next)
-         * and a new snd_list_type has already been appended.
-         */
-        /* Before proceeding, it may be that garbage collection ran when we
-         * allocated out, so check again to see if susp->chan[j] is Null:
-         */
-        if (!susp->chan[j]) {
-            ffree_sample_block(out, "multiread_fetch");
-            continue;
-        }
-        if (!susp->chan[j]->block) {
-            snd_list_type snd_list = snd_list_create((snd_susp_type) susp);
-            /* Now we have a snd_list to append to the channel, but a very
-             * interesting thing can happen here.  snd_list_create, which
-             * we just called, MAY have invoked the garbage collector, and
-             * the GC MAY have freed all references to this channel, in which
-             * case multread_free(susp) will have been called, and susp->chan[j]
-             * will now be NULL!
-             */
-            if (!susp->chan[j]) {
-                nyquist_printf("susp %p Channel %d disappeared!\n", susp, j);
-                ffree_snd_list(snd_list, "multiread_fetch");
-            } else {
-                susp->chan[j]->u.next = snd_list;
-            }
-        }
-        /* see the note above: we don't know if susp->chan still exists */
-        /* Note: We DO know that susp still exists because even if we lost
-         * some channels in a GC, someone is still calling SND_get_next on
-         * some channel.  I suppose that there might be some very pathological
-         * code that could free a global reference to a sound that is in the
-         * midst of being computed, perhaps by doing something bizarre in the
-         * closure that snd_seq activates at the logical stop time of its first
-         * sound, but I haven't thought that one through.
-         */
-        if (susp->chan[j]) {
-            susp->chan[j]->block = out;
-            /* check some assertions */
-            if (susp->chan[j]->u.next->u.susp != (snd_susp_type) susp) {
-                nyquist_printf("didn't find susp at end of list for chan %d\n", j);
-            }
-        } else { /* we allocated out, but don't need it anymore due to GC */
-            ffree_sample_block(out, "multiread_fetch");
-        }
-    }
-
-    file_frame_size = susp->snd.format.channels * susp->bytes_per_sample;
-    buff_frame_size = susp->snd.format.channels * sizeof(float);
-    /* now fill sample blocks with frames from the file 
-       until eof or end of blocks */
-    while (true) {
-
-        /* compute how many frames to read to fill sample blocks */
-        long frame_count = max_sample_block_len - frames_read;
-        long byte_count;    /* how many bytes to read */
-        long actual;         /* how many frames actually read */
-        float peak;
-
-        /* make sure frames will fit in buffer */
-        /* assume buff_frame_size >= file_frame_size, i.e. the limiting
-           factor will be the number of floats we can fit in the buffer */
-        if (frame_count * buff_frame_size > input_buffer_max) {
-            frame_count = input_buffer_max / buff_frame_size;
-        }
-
-        byte_count = frame_count * file_frame_size;
-
-        /* put samples at end of buffer so we can 
-           overwrite buffer with converted samples */
-        actual = snd_read(&susp->snd,  
-                          input_buffer + input_buffer_max - byte_count, 
-                          frame_count);
-
-        n = actual;  
-
-        /* don't read too many */
-        if (n > (susp->cnt - susp->susp.current)) {
-            n = susp->cnt - susp->susp.current;
-        }
-
-        /* we want n frames, convert data to floats */
-        (*susp->cvtfn)((void *) input_buffer, 
-                       (void *) (input_buffer + input_buffer_max - byte_count), 
-                       n * susp->snd.format.channels, 1.0F, &peak);
-
-        /* process one channel at a time, multiple passes through input */
-        for (j = 0; j < susp->snd.format.channels; j++) {
-            register sample_block_values_type out_ptr;
-            /* offset by channel number: */
-            float_ptr = ((float *) input_buffer) + j;
-
-            /* ignore nonexistent channels */
-            if (!susp->chan[j]) continue;
-
-            /* find pointer to sample buffer */
-            out_ptr = susp->chan[j]->block->samples + frames_read;
-
-            /* copy samples */
-            for (i = 0; i < n; i++) {
-                *out_ptr++ = *float_ptr;
-                float_ptr += susp->snd.format.channels;
-            }
-            susp->chan[j]->block_len = frames_read + n;
-        }
-
-        frames_read += n;
-        susp->susp.current += n;
-
-        if (frames_read == 0) {
-            /* we didn't read anything, but can't return length zero, so
-             * convert snd_list's to pointer to zero block.  This loop
-             * will free the susp via snd_list_unref().
-             */
-            for (j = 0; j < susp->snd.format.channels; j++) {
-                if (susp->chan[j]) {
-                    snd_list_type the_snd_list = susp->chan[j];
-                    /* this is done so that multiread_free works right: */
-                    susp->chan[j] = susp->chan[j]->u.next;
-                    /* nyquist_printf("end of file, terminating channel %d\n", j); */
-                    /* this fixes up the tail of channel j */
-                    snd_list_terminate(the_snd_list);
-                }
-            }
-            return;
-        } else if (susp->cnt == susp->susp.current || actual < frame_count) {
-            /* we've read the requested number of frames or we
-             * reached end of file
-             * last iteration will close file and free susp:
-             */
-            for (j = 0; j < susp->snd.format.channels; j++) {
-                snd_list_type the_snd_list = susp->chan[j];
-                /* nyquist_printf("reached susp->cnt, terminating chan %d\n", j); */
-                if (the_snd_list) {
-                    /* assert: */
-                    if (the_snd_list->u.next->u.susp != (snd_susp_type) susp) {
-                        stdputstr("assertion violation");
-                    }
-                    /* this is done so that multiread_free works right: */
-                    susp->chan[j] = the_snd_list->u.next;
-                    snd_list_unref(the_snd_list->u.next);
-                    /* terminate by pointing to zero block */
-                    the_snd_list->u.next = zero_snd_list;
-                }
-            }
-            return;
-        } else if (frames_read >= max_sample_block_len) {
-            /* move pointer to next list node */
-            for (j = 0; j < susp->snd.format.channels; j++) {
-                if (susp->chan[j]) susp->chan[j] = susp->chan[j]->u.next;
-            }
-            return;
-        }
-    }
-} /* multiread__fetch */
-  
-
-void multiread_free(read_susp_type susp)
-{
-    int j;
-    boolean active = false;
-/*    stdputstr("multiread_free: "); */
-    for (j = 0; j < susp->snd.format.channels; j++) {
-        if (susp->chan[j]) {
-            if (susp->chan[j]->refcnt) active = true;
-            else {
-                susp->chan[j] = NULL;
-                /* nyquist_printf("deactivating channel %d\n", j); */
-            }
-        }
-    }
-    if (!active) {
-/*      stdputstr("all channels freed, freeing susp now\n"); */
-        read_free(susp);
-    }
-}
-
-
-LVAL multiread_create(susp)
-  read_susp_type susp;
-{
-    LVAL result;
-    int j;
-
-    xlsave1(result);
-
-    result = newvector(susp->snd.format.channels);      /* create array for sounds */
-    falloc_generic_n(susp->chan, snd_list_type, susp->snd.format.channels, 
-                     "multiread_create");
-    /* create sounds to return */
-    for (j = 0; j < susp->snd.format.channels; j++) {
-        sound_type snd = sound_create((snd_susp_type)susp, 
-                                      susp->susp.t0, susp->susp.sr, 1.0);
-        LVAL snd_lval = cvsound(snd);
-/*      nyquist_printf("multiread_create: sound %d is %x, LVAL %x\n", j, snd, snd_lval); */
-        setelement(result, j, snd_lval);
-        susp->chan[j] = snd->list;
-    }
-    xlpop();
-    return result;
-}
diff --git a/lib-src/libnyquist/nyqsrc/multiread.h b/lib-src/libnyquist/nyqsrc/multiread.h
deleted file mode 100644
index 7bd1b17..0000000
--- a/lib-src/libnyquist/nyqsrc/multiread.h
+++ /dev/null
@@ -1,3 +0,0 @@
-LVAL multiread_create(read_susp_type susp);
-void multiread_fetch(read_susp_type susp, snd_list_type snd_list);
-void multiread_free(read_susp_type susp);
diff --git a/lib-src/libnyquist/nyqsrc/multiseq.c b/lib-src/libnyquist/nyqsrc/multiseq.c
deleted file mode 100644
index 9ac797b..0000000
--- a/lib-src/libnyquist/nyqsrc/multiseq.c
+++ /dev/null
@@ -1,667 +0,0 @@
-/* multiseq.c -- return a multichannel signal until its logical stop, then
-   evaluate a closure to get another signal and convert to adds
-   of two multichannel signals */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "multiseq.h"
-#include "add.h"
-#include "scale.h"
-#include "extern.h"
-#include "cext.h"
-
-/* #define MULTISEQ_GC_DEBUG */
-#ifdef MULTISEQ_GC_DEBUG
-extern snd_list_type snd_list_to_watch;
-#endif
-
-#define D if(0)
-
-/* Design:
-
-This operator implements sequences of multichannel signals.
-A single data structure manages an array of susps that
-initially are used to fetch blocks from the first multichannel
-signal.  When the LAST logical stop is reached, a closure
-is evaluated to yield a new multichannel signal.  The component
-sounds of this are stored into the susps which are then
-converted into add suspensions.  The other managing structures
-are then freed.
-
-The main constraint here is that the conversion to add susps
-must take place at the same time across all channels, so before
-the conversion, a fetch from the susp can only be made if it is
-known that the samples returned happen BEFORE the conversion will
-take place.  Since the conversion takes place at the maximum of
-the logical stop times of all channels, we have to advance all
-channels synchronously.  We keep track of a greatest lower bound,
-refered to as the horizon, on the maximum logical stop time.  It
-is safe to fetch blocks up to the horizon, but not beyond.
-
-This synchronous fetching is done by a single routine and an
-auxilliarly structure that manages the whole multichannel array
-of susps.  The basic idea is that a fetch from a 
-suspension gets forwarded to the managing structure, which
-uses its array of susps to fetch from ALL suspensions up to
-the requested time or until the logical stop, whichever comes
-first.  These "synchronous" fetches are not made by calling the
-fetch routines on the suspensions to avoid infinite recursion.
-
-At any time, there will be some set of channels whose logical 
-stop time is unknown.  The "s1" fields (s1, s1_ptr, s1_bptr) of
-these suspensions are used to look ahead by geting a block from
-s1.  If no logical stop is indicated, then we can append the block
-to the snd_list and update the horizon, allowing fetches from other
-susps.  In other words, the s1_bptr of each susp provides a one
-buffer lookahead by which we can obtain advance knowledge of the
-maximum logical stop time.
-
-The algorithm is as follows:
-
-1. When fetch is called on a suspension, compute when any
-prefetched samples will end (if there are none, then fetch
-a block from s1 and compute the time at which the block ends).
-This becomes the target time for other fetches.
-
-2. Call multiseq_advance(), passing the target time and the
-manager structure (which has pointers to all other channels).
-(Note: every susp has a pointer to the manager).
-The function of multiseq_advance() is to push the horizon for
-the logical stop forward.  This is done by 
-iterating over the array of susps until the target is reached.
-Actually, the array contains pointers to the snd_list_node that
-points to each susp and where the next block will be linked.
-The goal of this loop is to satisfy the original fetch, which
-means we have to push low_water to greater than or equal to the
-target.  (Low water is the minimum time of the next sample to
-be returned by any multiseq susp.) This goal will be met unless
-we reach the last logical stop time, in which case we evaluate
-the closure for the next multichannel sound, convert 
-everything to add's and let the additions take care of returning
-blocks.
-
-3. The Iteration Loop:
-low_water is the lowest sample count of the next sample 
-horizon is the greatest lower bound on the maximum logical stop time
-Iterate over susps until low_water >= target
-(Note: whenever data is fetched for a sound whose logical stop time
-is unknown, update the horizon.  If a logical stop time becomes known,
-then test if the final maximum logical stop time is known (by keeping
-a count of how many are still unknown), and if the count goes to zero,
-evaluate the continuation and convert to multiple adds.)
-(Another Note: we may reach the logical stop time and convert to 
-multiple adds before the loop terminates, in which case we return
-without finishing the loop.  Take care that the caller does the right
-thing to produce a sample block in this case.)
-
-3a. If a block hasn't been prefetched, do it.
-
-3b. While the susp has prefetched a block that ends at or before horizon,
-put the block on the snd_list and prefetch another block.
-
-3c. If the susp hasn't a known logical stop time, set new_horizon to
-the end time of the last sample prefetched in 3b.
-
-3d. If new_horizon == horizon, signal an error, no progress was made.
-
-3d. Set horizon to new_horizon and repeat the loop.
-
-NOTE ON A BUG FIX (1 Jul 95): old code assumed that when a logical stop
-was detected it was at the beginning of the next block, but if logical
-stop is explicit, then it may be way in the future.  We could convert
-to adds at this point, but that would force early evaluation of the
-closure, which we'd like to delay (be lazy when possible). Therefore,
-we want to ignore knowledge of a logical stop time until the logical
-stop time falls within the currently known block of samples. By "currently
-known", I mean somewhere in the block referenced by ->s1_ptr and ->s1_cnt.
-
-*/
-
-/* extern LVAL s_stdout; */
-
-void multiseq_convert(multiseq_type ms);
-void multiseq_free(add_susp_type susp);
-sample_block_type multiseq_get_next(sound_type snd, long * cnt);
-void multiseq_print_tree(add_susp_type susp, int n);
-
-
-#define susp_cnt_time(ssp, ms, cnt) (ssp->susp.t0 - ms->t0 + (cnt)/ssp->s1->sr)
-#define susp_time(ssp, ms) susp_cnt_time(ssp, ms, \
-                                         (ssp->susp.current + ssp->s1_cnt))
-#define susp_low_water(ssp, ms) susp_cnt_time(ssp, ms, ssp->susp.current)
-#define susp_log_stop_time(ssp, ms) susp_cnt_time(ssp, ms, ssp->susp.log_stop_cnt)
-
-
-/* multiseq_advance fetches from each channel to advance to target time */
-/*
- * If a channel terminates early, we must be careful: continuing to
- * fetch will return pointers to the zero_block, but this will
- * indicate termination to whoever is fetching from multiseq. We
- * must check the pointers and substitute internal_zero_block to
- * avoid premature termination.
- */
-void multiseq_advance(multiseq_type ms, time_type target)
-{
-    int i;
-    time_type new_horizon;
-    time_type new_low_water;
-
-D    nyquist_printf("multiseq_advance: %p->low_water %g, target %g\n", 
-            ms, ms->low_water, target);
-    while (ms->low_water < target - 0.000001) {
-        new_horizon = 0.0;
-D        nyquist_printf("multiseq_advance loop: target %g low_water %g horizon %g\n",
-                target, ms->low_water, ms->horizon);
-        /* new_low_water will be a minimum over every
-         * channel, so start with a big number */
-        new_low_water = target;
-        for (i = 0; i < ms->nchans; i++) {
-            snd_list_type snd_list = ms->chans[i];
-            add_susp_type susp = (add_susp_type) snd_list->u.susp;
-            time_type my_hor;
-            time_type my_low_water;
-D            nyquist_printf("chans[%d]: ", i);
-
-            /* fetch up to horizon */
-
-            /* see if susp has an unprocessed block (test on susp->s1_ptr
-             * is probably not necessary, in fact, it isn't initialized
-             * until the first block is fetched, but s1_cnt is
-             */
-            if (susp->s1_cnt && susp->s1_ptr && 
-                susp->s1_ptr == susp->s1_bptr->samples) {
-                /* do nothing, unprocessed block already there as a
-                 * result of the initiating fetch
-                 */
-            } else if (susp->s1_cnt != 0) {
-                stdputstr("multiseq_advance: s1_cnt != 0\n");
-                EXIT(1);	/* this should never happen */
-            } else { /* otherwise fetch it */
-D                stdputstr("prefetching samples ");
-                susp_get_block_samples(s1, s1_bptr, s1_ptr, s1_cnt);
-                if (susp->s1_ptr == zero_block->samples) {
-                    susp->terminate_bits = 1;
-                    susp->s1_bptr = internal_zero_block;
-                    susp->s1_ptr = internal_zero_block->samples;
-                }
-                /* see if we've reached a logical stop
-                 * (I can't believe this code block is in 3 places -
-                 *  there must be a better way... RBD)
-                 */
-                if (!susp->logical_stop_bits) {
-                    if (susp->s1->logical_stop_cnt != UNKNOWN) {
-                        if (susp->susp.current + susp->s1_cnt >=
-                            susp->s1->logical_stop_cnt) {
-                            susp->logical_stop_bits = 1;
-                            susp->susp.log_stop_cnt = 
-                                susp->s1->logical_stop_cnt;
-                            ms->not_logically_stopped_cnt--;
-D			    nyquist_printf(
-  "snd_make_multiseq: Logical stop reached, not_logically_stopped_cnt %d\n",
-                                   ms->not_logically_stopped_cnt);
-                        }
-                    }
-                }
-            }
-D           nyquist_printf(" current %d cnt %d ", 
-                (int)susp->susp.current, (int)susp->s1_cnt);
-
-            /* while the susp has prefetched a block that ends at or
-             * before horizon, put the block on the snd_list and
-             * prefetch another block
-             */
-            while (susp_time(susp, ms) < ms->horizon + 0.000001) {
-                snd_list->block = susp->s1_bptr;
-                snd_list->block_len = (short) susp->s1_cnt;
-                susp->susp.current += susp->s1_cnt;
-                (susp->s1_bptr->refcnt)++;
-                susp->s1_cnt = 0;
-#ifdef MULTISEQ_GC_DEBUG
-                nyquist_printf(
-                "multiseq: output block %p%s on snd_list %p to chan %d\n",
-                       susp->s1_bptr,
-                       (susp->s1_bptr == internal_zero_block ?
-                        " (INTERNAL ZERO BLOCK)" : ""), 
-                       snd_list, i);
-#endif
-                snd_list->u.next = snd_list_create(&(susp->susp));
-#ifdef MULTISEQ_GC_DEBUG
-                snd_list_debug(snd_list, "multiseq_advance");
-#endif
-                ms->chans[i] = snd_list = snd_list->u.next;
-                susp_get_block_samples(s1, s1_bptr, s1_ptr, s1_cnt);
-                if (susp->s1_ptr == zero_block->samples) {
-                    susp->terminate_bits = 1;
-                    susp->s1_bptr = internal_zero_block;
-                    susp->s1_ptr = internal_zero_block->samples;
-                }
-                if (susp->s1_ptr != susp->s1_bptr->samples) {
-                    stdputstr("bug in multiseq_advance\n");
-                    EXIT(1);
-                }
-                /* see if we've reached a logical stop
-                 * (I can't believe this code block is in 3 places -
-                 *  there must be a better way... RBD)
-                 */
-                if (!susp->logical_stop_bits) {
-                    if (susp->s1->logical_stop_cnt != UNKNOWN) {
-                        if (susp->susp.current + susp->s1_cnt >=
-                            susp->s1->logical_stop_cnt) {
-                            susp->logical_stop_bits = 1;
-                            susp->susp.log_stop_cnt = 
-                                susp->s1->logical_stop_cnt;
-                            ms->not_logically_stopped_cnt--;
-D			    nyquist_printf(
-  "snd_make_multiseq: Logical stop reached, not_logically_stopped_cnt %d\n",
-                                   ms->not_logically_stopped_cnt);
-                        }
-                    }
-                }
-D               nyquist_printf("\n\toutput block, current %d cnt %d ",
-                               (int)susp->susp.current, (int)susp->s1_cnt);
-            }
-            if (!susp->logical_stop_bits)
-                 my_hor = susp_time(susp, ms);
-            else my_hor = susp_log_stop_time(susp, ms);
-            if (new_horizon < my_hor) {
-D                nyquist_printf("new_horizon %g ", my_hor);
-                new_horizon = my_hor;
-            }
-            if (ms->not_logically_stopped_cnt == 0) {
-                ms->horizon = new_horizon; /* pass t0 to multiseq_convert */
-D		stdputstr("Calling multiseq_convert\n");
-                multiseq_convert(ms);
-                return;
-            }
-            my_low_water = susp_low_water(susp, ms);
-            if (my_low_water < new_low_water) {
-                new_low_water = my_low_water;
-            }
-D            stdputstr("\n");
-        }
-        ms->low_water = new_low_water;
-        if (new_horizon <= ms->horizon) {
-            stdputstr("no progress in multiseq_advance\n");
-            EXIT(1);
-        } else {
-            ms->horizon = new_horizon;
-        }
-    }
-}
-
-
-/* multiseq_convert -- eval closure and convert to adds */
-/**/
-void multiseq_convert(multiseq_type ms)
-{
-    LVAL result, new;
-    sound_type snd;
-    time_type now = ms->t0 + ms->horizon;
-    int i;
-    long size;
-
-    xlsave1(result);
-    result = xleval(cons(ms->closure, consa(cvflonum(now))));
-    if (exttypep(result, a_sound)) {
-        snd = sound_copy(getsound(result));
-        result = newvector(ms->nchans);
-        setelement(result, 0, cvsound(snd));
-        for (i = 1; i < ms->nchans; i++) {
-            setelement(result, i, cvsound(sound_zero(now, ms->sr)));
-        }
-    } else if (vectorp(result)) {
-        if (getsize(result) > ms->nchans) {
-            xlerror("too few channels", result);
-        } else if (getsize(result) < ms->nchans) {
-            new = newvector(ms->nchans);
-            for (i = 1; i < getsize(result); i++) {
-                setelement(new, i, getelement(result, i));
-            }
-            for (i = getsize(result); i < ms->nchans; i++) {
-                setelement(new, i, cvsound(sound_zero(now, ms->sr)));
-            }
-            result = new;
-        }
-    } else xlerror("closure did not return a sound", result);
-
-    /* now result holds a vector of nchans, insert them into add_susp's */
-    for (i = 0; i < ms->nchans; i++) {
-        snd_list_type snd_list = ms->chans[i];
-        add_susp_type susp = (add_susp_type) snd_list->u.susp;
-        long sother_start;
-
-        /* remove backpointer to ms */
-        susp->multiseq = NULL;
-        susp->susp.print_tree = add_print_tree;
-        susp->susp.free = add_free;
-        susp->susp.mark = add_mark;
-
-        susp->s2 = sound_copy(getsound(getelement(result, i)));
-        if (susp->s1->sr != susp->s2->sr)
-            xlfail("multiseq: sample rates must match");
-
-        if (susp->s2->scale != 1.0) {
-            susp->s2 = snd_make_normalize(susp->s2);
-        }
-
-        sother_start = ROUND((susp->s2->t0 - susp->susp.t0) * susp->s2->sr);
-D	    nyquist_printf("sother_start computed for %p: %d\n",
-                      susp, (int)sother_start);
-        if (sother_start > susp->susp.current) {
-D	    nyquist_printf("susp %p using add_s1_nn_fetch\n", susp);
-            susp->susp.fetch = add_s1_nn_fetch;
-            susp->susp.name = "multiseq:add_s1_nn_fetch";
-        } else if (susp->terminate_bits) { /* s1 is done, just get s2 now */
-            sound_unref(susp->s1);
-            susp->s1 = NULL;
-D	    nyquist_printf("susp %p using add_s2_nn_fetch\n", susp);
-            susp->susp.fetch = add_s2_nn_fetch;
-            susp->susp.name = "multiseq:add_s2_nn_fetch";
-        } else {
-D	    nyquist_printf("susp %p using add_s1_s2_nn_fetch\n", susp);
-            susp->susp.fetch = add_s1_s2_nn_fetch;
-            susp->susp.name = "multiseq:add_s1_s2_nn_fetch";
-        }
-
-        /* fix up logical stop info */
-        /* BUG: what if s2 is already stopped? */
-        susp->susp.log_stop_cnt = UNKNOWN;
-        susp->logically_stopped = false;
-
-        /* we need to compute at least 1 sample
-         * (at this point we don't really know if we've
-         * computed anything or not, so to be safe, do it.
-         */
-        snd_list->u.next = snd_list_create(&(susp->susp));
-        snd_list->block = internal_zero_block;
-        (*(susp->susp.fetch))(susp, snd_list);
-    }
-    
-    /* now free the multiseq struct */
-    size = sizeof(snd_list_type) * ms->nchans;
-    ffree_generic(ms->chans, size, "multiseq_convert");
-    ffree_generic(ms, sizeof(multiseq_node), "multiseq_convert(2)");
-
-    ms->closure = NIL;	/* allow garbage collection now */
-    xlpop();
-}
-
-
-/* multiseq_fetch returns blocks of s1 until the logical stop time of s1's */
-/*
- * Fetch routines (in particular, the add_*_fetch routines that will
- * be installed on this susp at a later time) expect to be called with
- * a new snd_list installed and ready for a new block.  However, since
- * we are going to call multiseq_advance to pull blocks out of susps 
- * that will not be set up with a fresh snd_list in this way, it is 
- * simpler to dispose of the preallocated snd_list so that all susps
- * look alike to multiseq_advance.  Of course, multiseq_advance will
- * redo the work of allocating a snd_list.
- *
- * If a channel terminates early, we must be careful: continuing to
- * fetch will return pointers to the zero_block, but this will
- * indicate termination to whoever is fetching from multiseq. We
- * must check the pointers and substitute internal_zero_block to
- * avoid premature termination.
- */
-void multiseq_fetch(susp, snd_list)
-  register add_susp_type susp;
-  snd_list_type snd_list;
-{
-    time_type block_end_time;
-
-    /* undo the preallocation of a snd_list_node */
-    /* we can bypass the reference counting code because we
-     * know that this snd_list was just allocated and has no
-     * other references
-     */
-#ifdef MULTISEQ_GC_DEBUG
-    if (snd_list_to_watch == snd_list->u.next) {
-        nyquist_printf("multiseq_fetch: backing out snd_list_to_watch from %p\n",
-               snd_list_to_watch);
-        watch_snd_list(snd_list);
-    }
-#endif
-    ffree_snd_list(snd_list->u.next, "multiseq_fetch");
-    snd_list->u.susp = (snd_susp_type) susp;
-    snd_list->block = NULL;
-
-D    nyquist_printf("multiseq_fetch called: susp %p s1_cnt %d\n",
-                    susp, (int)susp->s1_cnt);
-
-    /* first compute how many samples we can generate from s1: */
-    if (susp->s1_cnt == 0) {
-        susp_get_block_samples(s1, s1_bptr, s1_ptr, s1_cnt);
-        if (susp->s1_ptr == zero_block->samples) {
-            susp->terminate_bits = 1;   /* mark s1 as terminated */
-            susp->s1_bptr = internal_zero_block;
-            susp->s1_ptr = internal_zero_block->samples;
-        }
-        /* see if we've reached a logical stop
-         * (I can't believe this code block is in 3 places -
-         *  there must be a better way... RBD)
-         */
-        if (!susp->logical_stop_bits) {
-            if (susp->s1->logical_stop_cnt != UNKNOWN) {
-                if (susp->susp.current + susp->s1_cnt >=
-                    susp->s1->logical_stop_cnt) {
-                    susp->logical_stop_bits = 1;
-                    susp->susp.log_stop_cnt = 
-                      susp->s1->logical_stop_cnt;
-                    susp->multiseq->not_logically_stopped_cnt--;
-D		    nyquist_printf(
- "snd_make_multiseq: Logical stop reached, not_logically_stopped_cnt %d\n",
-                          susp->multiseq->not_logically_stopped_cnt);
-                }
-            }
-        }
-    }
-    /* s1_cnt has the number of samples we can return */
-
-    /* now compute time of the last sample */
-    block_end_time = susp_time(susp, susp->multiseq);
-D   nyquist_printf("block_end_time of %p: %g\n", susp, block_end_time);
-    multiseq_advance(susp->multiseq,  block_end_time);
-}
-
-
-/* multiseq_mark -- mark routine for multiseq susps */
-/**/
-void multiseq_mark(add_susp_type susp)
-{
-    int i;
-    multiseq_type ms = susp->multiseq;
-D    nyquist_printf("multiseq_mark(%p)\n", susp);
-/*    nyquist_printf("marking s1@%p in add@%p\n", susp->s1, susp);*/
-    if (ms->closure) mark(ms->closure);
-
-    /* mark s1 of each susp in multiseq */
-    for (i = 0; i < ms->nchans; i++) {
-        snd_list_type snd_list = ms->chans[i];
-        if (snd_list) {
-            while (snd_list->block != NULL) {
-                if (snd_list == zero_snd_list) break;
-                snd_list = snd_list->u.next;
-            }
-            sound_xlmark(((add_susp_type) snd_list->u.susp)->s1);
-        }
-    }
-}
-
-
-/* snd_make_multiseq -- make a multiseq from an array and a closure */
-/*
- * NOTE: the resulting array of sounds will not use the normal
- * SND_get_first and SND_get_next routines to fetch new blocks
- * because these extend the snd_list of the sound immediately,
- * and this would confuse multiseq_advance() which has to extend
- * multiple snd_lists synchronously.  So, we use multiseq_get_next()
- * instead.
- */
-LVAL snd_make_multiseq(LVAL s1, LVAL closure)
-{
-    multiseq_type ms;
-    int i;
-    LVAL result;
-
-    xlsave1(result);
-
-    /* allocate multiseq */
-    falloc_generic(ms, multiseq_node, "snd_make_multiseq");
-
-    /* install its array of snd_list_type */
-    if (!vectorp(s1) || getsize(s1) == 0) {
-        ffree_generic(ms, sizeof(multiseq_node), "snd_make_multiseq");
-        xlerror("bad argument type", s1);
-    }
-    ms->nchans = getsize(s1);
-    ms->closure = closure;
-    ms->not_logically_stopped_cnt = 0;
-    ms->low_water = 0.0;
-    ms->horizon = 0.0;
-    falloc_generic_n(ms->chans, snd_list_type, ms->nchans,
-                     "snd_make_multiseq");
-
-    /* allocate sounds to return */
-    result = newvector(ms->nchans);
-
-    /* ms->t0 will be the minimum of all t0's in array */
-    ms->t0 = (getsound(getelement(s1, 0)))->t0;
-
-    /* create sounds to return */
-    for (i = 0; i < ms->nchans; i++) {
-        add_susp_type susp;
-        sound_type snd;
-        falloc_generic(susp, add_susp_node, "snd_make_multiseq(add_susp)");
-        susp->s1 = sound_copy(getsound(getelement(s1, i)));
-        /* we used to only incr this if lsc was UNKNOWN, but
-           that's wrong. Should move this out of the loop now.
-         */
-        if (susp->s1->scale != 1.0) {
-            /* stdputstr("normalizing first sound in a seq\n"); */
-            susp->s1 = snd_make_normalize(susp->s1);
-        }
-
-        ms->not_logically_stopped_cnt++;
-D	nyquist_printf("snd_make_multiseq: not_logically_stopped_cnt %d\n",
-               ms->not_logically_stopped_cnt);
-        susp->s1_cnt = 0;
-        susp->s2 = NULL;
-        susp->s2_cnt = 0;
-        susp->susp.fetch = multiseq_fetch;
-        susp->susp.free = multiseq_free;
-        susp->susp.sr = susp->s1->sr;
-        susp->susp.mark = multiseq_mark;
-        susp->susp.print_tree = multiseq_print_tree;
-        susp->susp.name = "multiseq";
-        susp->susp.t0 = susp->s1->t0;
-        susp->terminate_bits = 0;   /* bits for s1 and s2 termination */
-        susp->terminate_cnt = UNKNOWN;
-        susp->logical_stop_bits = 0;    /* bits for s1 and s2 log. stop */
-        susp->susp.log_stop_cnt = UNKNOWN;
-        susp->logically_stopped = false;
-        susp->started = false;
-        susp->susp.current = 0;
-        susp->multiseq = ms;
-        snd = sound_create((snd_susp_type) susp, susp->s1->t0, susp->susp.sr,
-                           1.0);
-#ifdef GC_DEBUG
-        if (snd == sound_to_watch) {
-            nyquist_printf("watched sound is channel %d\n", i);
-        }
-#endif	
-        setelement(result, i, cvsound(snd));
-        if (snd->list->block || !snd->list->u.susp) {
-            stdputstr("data inconsistency in snd_make_seq\n");
-            EXIT(1);
-        }
-        ms->chans[i] = snd->list;
-D        nyquist_printf("ms->chans[%d] = %p, %p->u.susp = %p\n",
-                i, snd->list, snd->list, snd->list->u.susp);
-        ms->t0 = MIN(ms->t0, susp->s1->t0);
-        ms->sr = susp->s1->sr;	/* assume all samp rates are equal */
-D        nyquist_printf("Multiseq sound[%d]: \n", i);
-D        sound_print_tree(susp->s1);
-    }
-D    nyquist_printf("ms->t0 == %g\n", ms->t0);
-    xlpop();
-    return result;
-}
-
-
-/* note: snd_multiseq is a noop, just call snd_make_multiseq */
-
-void multiseq_free(add_susp_type susp)
-{
-    int i;
-    multiseq_type ms = susp->multiseq;
-    boolean dead = true;
-    sound_unref(susp->s1);
-    sound_unref(susp->s2);  /* probably not necessary */
-    /* tricky part: remove pointer from ms->chans */
-    for (i = 0; i < ms->nchans; i++) {
-        if (ms->chans[i]) {
-            dead = false;
-            /* 
-             * note that ms->chans is still a valid 
-             * pointer (see snd_list_unref)
-             */
-            if (ms->chans[i]->u.susp == (snd_susp_type) susp) {
-                ms->chans[i] = NULL;
-D                nyquist_printf("susp %p freed, ms@%p->chans[%d] = NULL\n",
-                        susp, ms, i);
-            }
-        }
-    }
-
-    /* if last element is freed, free the multiseq struct too */
-    if (dead) {
-        i = sizeof(snd_list_type) * ms->nchans;
-        ffree_generic(ms->chans, i, "multiseq_free");
-        ffree_generic(ms, sizeof(multiseq_node), "multiseq_free(2)");
-    }
-
-    susp->multiseq = NULL;  /* just to be safe */
-    ffree_generic(susp, sizeof(add_susp_node), "multiseq_free(3)");
-}
-
-
-void multiseq_print_tree(add_susp_type susp, int n)
-{
-    int i;
-
-    indent(n);
-    if (!susp->multiseq) {
-        xlfail("internal error: missing multiseq structure");
-    }
-    nyquist_printf("multiseq@%p = [ ", susp->multiseq);
-    for (i = 0; i < susp->multiseq->nchans; i++) {
-        if (susp->multiseq->chans[i]) {
-            nyquist_printf("%p", susp->multiseq->chans[i]->u.susp);
-        } else {
-            stdputstr("NULL");
-        }
-    }
-
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("closure:");
-    stdprint(susp->multiseq->closure);
-
-    indent(n);
-}
-
-
diff --git a/lib-src/libnyquist/nyqsrc/multiseq.h b/lib-src/libnyquist/nyqsrc/multiseq.h
deleted file mode 100644
index 921ba24..0000000
--- a/lib-src/libnyquist/nyqsrc/multiseq.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* this typedef goes here because it is needed by add */
-
-typedef struct multiseq_struct {
-    int			not_logically_stopped_cnt;
-    int			nchans;
-    /* greatest lower bound on logical stop time: */
-    time_type		horizon;
-    /* lowest time corresp to sample count on a snd_list: */
-    time_type	        low_water; 
-    snd_list_type	*chans;
-    time_type		t0;
-    rate_type		sr;
-    LVAL closure;
-} multiseq_node, *multiseq_type;
-
-
-
-LVAL snd_make_multiseq(LVAL s1, LVAL closure);
-    /* LISP: (SND-MULTISEQ ANY ANY) */
diff --git a/lib-src/libnyquist/nyqsrc/nfilterkit.c b/lib-src/libnyquist/nyqsrc/nfilterkit.c
deleted file mode 100644
index 00e7f65..0000000
--- a/lib-src/libnyquist/nyqsrc/nfilterkit.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * nfilterkit.c - windowed low-pass filter support.
- *  adapted from filterkit.c, by Julius Smith et al., CCRMA, Stanford University
- *
-
-/*
- * FilterUp() - Applies a filter to a given sample when up-converting.
- * FilterUD() - Applies a filter to a given sample when up- or down-
- *                   converting.
- */
-
-#include "soundstruct.h"
-#include "nresample.h"
-#include "nfilterkit.h"
-
-/* #include <libc.h> */
-#include <stdio.h>
-#include <math.h>
-#include <string.h>
-
-
-#include <math.h>
-
-fast_float FilterUp(float Imp[], float ImpD[], 
-                     UHWORD Nwing, BOOL Interp,
-                     float *Xp, double Ph, HWORD Inc)
-{
-    float *Hp, *Hdp = NULL, *End;
-    fast_float a = 0;
-    fast_float v, t;
-    double exact_index = Ph * Npc;
-    long index = exact_index; /* convert fraction to filter index */
-
-/*	printf("FilterUp, Inc %d, phase %g\n", Inc, Ph);  */
-    v=0;
-    Hp = &Imp[index];
-    End = &Imp[Nwing];
-    if (Interp) {
-        Hdp = &ImpD[index];
-        a = exact_index - index;
-/*	printf("fraction %g\n", a); */
-    }
-    if (Inc == 1)		/* If doing right wing...              */
-    {				/* ...drop extra coeff, so when Ph is  */
-        End--;			/*    0.5, we don't do too many mult's */
-        if (Ph == 0)		/* If the phase is zero...           */
-        {			/* ...then we've already skipped the */
-            printf("Ph == 0\n");
-            Hp += Npc;		/*    first sample, so we must also  */
-            Hdp += Npc;		/*    skip ahead in Imp[] and ImpD[] */
-        }
-    }
-    if (Interp) {
-      while (Hp < End) {
-          t = *Hp;		/* Get filter coeff */
-        /*  t scaled by 2^(16 + NLpScl)/LpScl */
-/*	printf("coeff %g ", t);  */
-          t += *Hdp *a;	 /* t is now interp'd filter coeff */
-/*	printf("interp'd coeff %g ", t);*/
-          Hdp += Npc;		/* Filter coeff differences step */
-/*	printf("input sample %g ", *Xp);  */
-          t *= *Xp;		/* Mult coeff by input sample */
-        /*  t scaled by 2^(16 + NLpScl)/LpScl */
-/*	printf("product %g\n", t); */
-          v += t;			/* The filter output */
-          Hp += Npc;		/* Filter coeff step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-      } 
-    } else {
-      while (Hp < End) {
-          t = *Hp;		/* Get filter coeff */
-          t *= *Xp;		/* Mult coeff by input sample */
-          v += t;			/* The filter output */
-          Hp += Npc;		/* Filter coeff step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-      }
-    }
-/*	printf("FilterUp, Inc %d returns %g\n", Inc, v); */
-    return(v);
-}
-
-fast_float FilterUD( float Imp[], float ImpD[],
-                     UHWORD Nwing, BOOL Interp,
-                     float *Xp, double Ph, HWORD Inc, double dhb)
-{
-    double a;
-    float *Hp, *Hdp, *End;
-    fast_float v, t;
-    double Ho;
-    
-    v=0;
-    Ho = Ph*dhb;
-    End = &Imp[Nwing];
-    if (Inc == 1)		/* If doing right wing...              */
-    {				/* ...drop extra coeff, so when Ph is  */
-        End--;			/*    0.5, we don't do too many mult's */
-        if (Ph == 0)		/* If the phase is zero...           */
-          Ho += dhb;		/* ...then we've already skipped the */
-    }				/*    first sample, so we must also  */
-                                /*    skip ahead in Imp[] and ImpD[] */
-    if (Interp) {
-      long HoIndex = Ho;
-      while ((Hp = &Imp[HoIndex]) < End) {
-          t = *Hp;		/* Get IR sample */
-          Hdp = &ImpD[HoIndex];  /* get interp (lower Na) bits from diff table*/
-          a = Ho - HoIndex;	/* a is logically between 0 and 1 */
-          t += *Hdp * a; /* t is now interp'd filter coeff */
-          t *= *Xp;		/* Mult coeff by input sample */
-          v += t;			/* The filter output */
-          Ho += dhb;		/* IR step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-          HoIndex = Ho;
-      }
-    } else {
-      long HoIndex = Ho;
-      while ((Hp = &Imp[HoIndex]) < End) {
-          t = *Hp;		/* Get IR sample */
-          t *= *Xp;		/* Mult coeff by input sample */
-          v += t;			/* The filter output */
-          Ho += dhb;		/* IR step */
-          Xp += Inc;		/* Input signal step. NO CHECK ON BOUNDS */
-          HoIndex = Ho;
-      }
-    }
-    return(v);
-}
-
-/* Sampling rate up-conversion only subroutine;
- * Slightly faster than down-conversion;
- */
-static int SrcUp(float X[], float Y[], double factor, double *Time,
-                 UHWORD Nx, UHWORD Nwing, double LpScl,
-                 float Imp[], float ImpD[], BOOL Interp)
-{
-    mem_float *Xp, *Ystart;
-    fast_float v;
-    
-    double dt;                  /* Step through input signal */ 
-    double endTime;             /* When Time reaches EndTime, return to user */
-    
-/*    printf("SrcUp: interpFilt %d\n", Interp);*/
-
-    dt = 1.0/factor;            /* Output sampling period */
-    
-    Ystart = Y;
-    endTime = *Time + Nx;
-    while (*Time < endTime)
-    {
-        long iTime = *Time;
-        Xp = &X[iTime];      /* Ptr to current input sample */
-        /* Perform left-wing inner product */
-        v = FilterUp(Imp, ImpD, Nwing, Interp, Xp, *Time - iTime, -1);
-        /* Perform right-wing inner product */
-        v += FilterUp(Imp, ImpD, Nwing, Interp, Xp+1, 
-                      (1 + iTime) - *Time, 1);
-        v *= LpScl;		/* Normalize for unity filter gain */
-/*	printf("SrcUp output sample %g\n", v); */
-        *Y++ = v;
-        *Time += dt;		/* Move to next sample by time increment */
-    }
-    return (Y - Ystart);        /* Return the number of output samples */
-}
-
-
-/* Sampling rate conversion subroutine */
-
-static int SrcUD(float X[], float Y[], double factor, double *Time,
-                 UHWORD Nx, UHWORD Nwing, double LpScl,
-                 float Imp[], float ImpD[], BOOL Interp)
-{
-    mem_float *Xp, *Ystart;
-    fast_float v;
-    
-    double dh;                  /* Step through filter impulse response */
-    double dt;                  /* Step through input signal */
-    double endTime;             /* When Time reaches EndTime, return to user */
-    
-    dt = 1.0/factor;            /* Output sampling period */
-    
-    dh = MIN(Npc, factor*Npc);  /* Filter sampling period */
-    
-    Ystart = Y;
-    endTime = *Time + Nx;
-    while (*Time < endTime)
-    {
-        long iTime = *Time;
-        Xp = &X[iTime];		/* Ptr to current input sample */
-        v = FilterUD(Imp, ImpD, Nwing, Interp, Xp, *Time - iTime,
-                     -1, dh);	/* Perform left-wing inner product */
-        v += FilterUD(Imp, ImpD, Nwing, Interp, Xp+1, (1 + iTime) - *Time,
-                      1, dh);	/* Perform right-wing inner product */
-        v *= LpScl;		/* Normalize for unity filter gain */
-        *Y++ = v;
-        *Time += dt;		/* Move to next sample by time increment */
-    }
-    return (Y - Ystart);        /* Return the number of output samples */
-}
-
-
diff --git a/lib-src/libnyquist/nyqsrc/nfilterkit.h b/lib-src/libnyquist/nyqsrc/nfilterkit.h
deleted file mode 100644
index b7343e5..0000000
--- a/lib-src/libnyquist/nyqsrc/nfilterkit.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* nfilterkit.h -- header for adapted version of filterkit */
-
-typedef char           BOOL;
-typedef short          HWORD;
-typedef unsigned short UHWORD;
-typedef int            WORD;
-typedef unsigned int   UWORD;
-
-#define MAX_HWORD (32767)
-#define MIN_HWORD (-32768)
-
-#ifdef DEBUG
-#define INLINE
-#else DEBUG
-/* #define INLINE inline */
-#define INLINE
-#endif DEBUG
-
-/*
- * FilterUp() - Applies a filter to a given sample when up-converting.
- * FilterUD() - Applies a filter to a given sample when up- or down-
- */
-
-/* Conversion constants */
-#define Nhc       8
-#define Np       (Nhc+Na)
-
-/* Description of constants:
- *
- * Npc - is the number of look-up values available for the lowpass filter
- *    between the beginning of its impulse response and the "cutoff time"
- *    of the filter.  The cutoff time is defined as the reciprocal of the
- *    lowpass-filter cut off frequence in Hz.  For example, if the
- *    lowpass filter were a sinc function, Npc would be the index of the
- *    impulse-response lookup-table corresponding to the first zero-
- *    crossing of the sinc function.  (The inverse first zero-crossing
- *    time of a sinc function equals its nominal cutoff frequency in Hz.)
- *    Npc must be a power of 2 due to the details of the current
- *    implementation. The default value of 512 is sufficiently high that
- *    using linear interpolation to fill in between the table entries
- *    gives approximately 16-bit accuracy in filter coefficients.
- *
- * Nhc - is log base 2 of Npc.
- *
- * Na - is the number of bits devoted to linear interpolation of the
- *    filter coefficients.
- *
- * Np - is Na + Nhc, the number of bits to the right of the binary point
- *    in the integer "time" variable. To the left of the point, it indexes
- *    the input array (X), and to the right, it is interpreted as a number
- *    between 0 and 1 sample of the input X.  Np must be less than 16 in
- *    this implementation.
- *
- * Nh - is the number of bits in the filter coefficients. The sum of Nh and
- *    the number of bits in the input data (typically 16) cannot exceed 32.
- *    Thus Nh should be 16.  The largest filter coefficient should nearly
- *    fill 16 bits (32767).
- *
- * Nb - is the number of bits in the input data. The sum of Nb and Nh cannot
- *    exceed 32.
- *
- * Nhxn - is the number of bits to right shift after multiplying each input
- *    sample times a filter coefficient. It can be as great as Nh and as
- *    small as 0. Nhxn = Nh-2 gives 2 guard bits in the multiply-add
- *    accumulation.  If Nhxn=0, the accumulation will soon overflow 32 bits.
- *
- * Nhg - is the number of guard bits in mpy-add accumulation (equal to Nh-Nhxn)
- *
- * NLpScl - is the number of bits allocated to the unity-gain normalization
- *    factor.  The output of the lowpass filter is multiplied by LpScl and
- *    then right-shifted NLpScl bits. To avoid overflow, we must have 
- *    Nb+Nhg+NLpScl < 32.
- */
-
-
-fast_float FilterUp(mem_float Imp[], mem_float ImpD[], UHWORD Nwing, BOOL Interp,
-              mem_float *Xp, double Ph, HWORD Inc);
-
-fast_float FilterUD(mem_float Imp[], mem_float ImpD[], UHWORD Nwing, BOOL Interp,
-              mem_float *Xp, double Ph, HWORD Inc, double dhb);
diff --git a/lib-src/libnyquist/nyqsrc/probe.c b/lib-src/libnyquist/nyqsrc/probe.c
deleted file mode 100644
index 9a04b4a..0000000
--- a/lib-src/libnyquist/nyqsrc/probe.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* probe.c -- used to test resampling */
-
-#include "stdio.h"
-#include "string.h"
-#include "xlisp.h"
-
-static FILE* probefile = NULL;
-static long line_num = 0;
-
-void probe_init(int readflag)
-{
-    line_num = 0;
-    probefile = fopen("probe.log", (readflag ? "r" : "w"));
-}
-
-
-double probe(char *s, double x)
-{
-    fprintf(probefile, "%s %g\n", s, x);
-    return x;
-}
-
-
-double probe2(char *s, double x)
-{
-    char buf1[100], buf2[100];
-    sprintf(buf1, "%s %g\n", s, x);
-    fgets(buf2, 100, probefile);
-    line_num++;
-    if (strcmp(buf1, buf2)) {
-        nyquist_printf("probe2: difference at line %ld: \n", line_num);
-        nyquist_printf("correct: %s", buf2);
-        nyquist_printf("actual:  %s", buf1);
-        abort();
-    }
-    return x;
-}
-
diff --git a/lib-src/libnyquist/nyqsrc/probe.h b/lib-src/libnyquist/nyqsrc/probe.h
deleted file mode 100644
index ca727d6..0000000
--- a/lib-src/libnyquist/nyqsrc/probe.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* probe.h -- used to test resampling */
-
-void probe_init(int readflag);
-double probe(char *s, double x);
-double probe2(char *s, double x);
-
diff --git a/lib-src/libnyquist/nyqsrc/resamp.c b/lib-src/libnyquist/nyqsrc/resamp.c
deleted file mode 100644
index f3714c7..0000000
--- a/lib-src/libnyquist/nyqsrc/resamp.c
+++ /dev/null
@@ -1,375 +0,0 @@
-/* resamp.c -- resample signal using sinc interpolation */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  min->MIN, max->MAX
- */
-
-
-
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "resamp.h"
-#include "fresample.h"
-#include "ffilterkit.h"
-#include "fsmallfilter.h"
-
-/* Algorithm:
-   To resample, we convolve a sinc function with the input stream at
-times corresponding to the output samples.  This requires a sliding
-window on the input samples. Since samples are accessed a block at a
-time, the places where the sliding window would span two blocks are
-too tricky for me. Instead of trying to manage the breaks across 
-blocks, I copy the blocks into another buffer (called X).  When the
-sliding window reaches the end of X, the samples at the end of X
-are copied to the beginning of X, the remainder of X is filled with
-new samples, and the computation continues.  The trickiest part of
-all this is keeping all the pointers and phase accumulators correct
-when the sliding window is relocated from the end of X to the 
-beginning.
-    Although there are different ways to do this, I decided that the
-output would always go directly to a Nyquist sample block, so the
-resampling routines (SrcUp and SrcUD) are always called upon to 
-compute max_sample_block_len samples (except that a partial block
-may be computed when the input sound terminates).
-    To compute max_sample_block_len samples, the input buffer needs:
-
-  - max_sample_block_len/factor samples, where factor is the ratio of
-    the new sample rate to the old one. I.e. if upsampling by a factor
-    of 2, the input buffer needs half the samples of the output block
-    size.
-
-  - additional samples the size of the sliding window.  Since the
-    output is taken from the center of the window, we can't take
-    samples from the first or last windowsize/2 samples.
-
-  - to simplify rounding, we throw in some extra samples. This costs
-    only a bit of space and an extra copy for each spare sample.
-
-    The window size is determined by the particular filter used and 
-by factor (the sample rate ratio).  The filter size is Nmult, the 
-number of filter coefficients. When upsampling, this is the window
-size (the filter acts as a reconstruction filter for the additional
-samples).  When downsampling, the filter is stretched by 1/factor
-(the filter acts as an anti-aliasing low-pass filter).
-
-*/
-
-void resample_free();
-
-typedef struct resample_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-    float *X;
-    long Xsize;
-    double Time; /* location (offset) in X of next output sample */
-    double LpScl;
-    double factor;
-    sample_type *Imp;
-    sample_type *ImpD;
-    boolean interpFilt;
-    int Nmult;
-    int Nwing;
-    int Xp; /* first free location at end of X */
-    int Xoff; /* number of extra samples at beginning and end of X */
-} resample_susp_node, *resample_susp_type;
-
-/* Sampling rate up-conversion only subroutine;
- * Slightly faster than down-conversion;
- */
-static int SrcUp(float X[], float Y[], double factor, double *Time,
-                 int Nx, int Nwing, double LpScl,
-                 float Imp[], float ImpD[], boolean Interp)
-{
-    mem_float *Xp, *Ystart;
-    fast_float v;
-    
-    double dt;                  /* Step through input signal */ 
-    mem_float *Yend;             /* When Y reaches Yend, return to user */
-    
-/*    nyquist_printf("SrcUp: interpFilt %d\n", Interp);*/
-
-    dt = 1.0/factor;            /* Output sampling period */
-    
-    Ystart = Y;
-    Yend = Y + Nx;
-    while (Y < Yend) {
-        long iTime = (long) *Time;
-        Xp = &X[iTime];      /* Ptr to current input sample */
-        /* Perform left-wing inner product */
-        v = FilterUp(Imp, ImpD, Nwing, Interp, Xp, *Time - iTime, -1);
-        /* Perform right-wing inner product */
-        v += FilterUp(Imp, ImpD, Nwing, Interp, Xp+1, 
-                      (1 + iTime) - *Time, 1);
-        v *= LpScl;		/* Normalize for unity filter gain */
-/*	nyquist_printf("SrcUp output sample %g\n", v); */
-        *Y++ = (float) v;
-        *Time += dt;		/* Move to next sample by time increment */
-    }
-    return (Y - Ystart);        /* Return the number of output samples */
-}
-
-
-/* Sampling rate conversion subroutine */
-
-static int SrcUD(float X[], float Y[], double factor, double *Time,
-                 int Nx, int Nwing, double LpScl,
-                 float Imp[], float ImpD[], boolean Interp)
-{
-    mem_float *Xp, *Ystart;
-    fast_float v;
-    
-    double dh;                  /* Step through filter impulse response */
-    double dt;                  /* Step through input signal */
-    mem_float *Yend;             /* When Y reaches Yend, return to user */
-    
-    dt = 1.0/factor;            /* Output sampling period */
-    
-    dh = MIN(Npc, factor*Npc);  /* Filter sampling period */
-    
-    Ystart = Y;
-    Yend = Y + Nx;
-    while (Y < Yend) {
-        long iTime = (long) *Time;
-        Xp = &X[iTime];		/* Ptr to current input sample */
-        v = FilterUD(Imp, ImpD, Nwing, Interp, Xp, *Time - iTime,
-                     -1, dh);	/* Perform left-wing inner product */
-        v += FilterUD(Imp, ImpD, Nwing, Interp, Xp+1, (1 + iTime) - *Time,
-                      1, dh);	/* Perform right-wing inner product */
-        v *= LpScl;		/* Normalize for unity filter gain */
-        *Y++ = (float) v;
-        *Time += dt;		/* Move to next sample by time increment */
-    }
-    return (Y - Ystart);        /* Return the number of output samples */
-}
-
-
-void resample__fetch(register resample_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    int Nout;
-    sample_block_type out;
-    /* note that in this fetch routine, out_ptr is used to remember where
-     * to put the "real" output, while X_ptr_reg is used in the inner
-     * loop that copies input samples into X, a buffer
-     */
-    register sample_block_values_type out_ptr;
-    register sample_block_values_type X_ptr_reg;
-
-    register sample_type *s_ptr_reg;
-    falloc_sample_block(out, "resample__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-/* Algorithm:
-    Fetch samples until X (the buffered input) is full. X stores enough
-contiguous samples that a sliding window convolving with the filter
-coefficients can output a full block without sliding beyond the range
-of X. Every time we reenter resample__fetch, we take the remaining
-samples at the end of X, shift them to the beginning, and refill.
-    After X is full, call on SrcUp or SrcUD to compute an output block.
-    The first time resample__fetch is called, the fill pointer Xp will
-point near the beginning of X, indicating that no previously read
-samples need to be shifted from the end of X to the beginning.
-*/
-
-    /* first, shift samples from end of X to beginning if necessary */
-    if (susp->Xp > 2 * susp->Xoff) {
-        int i;
-        int shiftcount = (long) (susp->Time) - susp->Xoff;
-
-/*	nyquist_printf("shift %d from %d to %lx\n", susp->Xsize + susp->Xoff - susp->Xp, susp->Xp - susp->Xoff, susp->X); */
-        for (i = 0; i < susp->Xp - shiftcount; i++) { 
-            susp->X[i] = susp->X[i + shiftcount];
-/*	    if (susp->X[i] == 0.0) nyquist_printf("shifted zero to X[%d]\n", i);*/
-        }
-        susp->Time -= shiftcount;
-        susp->Xp -= shiftcount;
-    }
-
-    while (susp->Xp < susp->Xsize) { /* outer loop */
-
-        /* read samples from susp->s into X */
-
-        togo = susp->Xsize - susp->Xp;
-        /* don't run past the s input sample block: */
-        susp_check_term_log_samples(s, s_ptr, s_cnt);
-        togo = MIN(togo, susp->s_cnt);
-
-        /* don't run past logical stop time */
-        if (!susp->logically_stopped && 
-            susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - 
-                (susp->susp.current + cnt);
-            /* break if to_stop == 0 (we're at the logical stop)
-             * AND cnt > 0 (we're not at the beginning of the
-             * output block).
-             */
-            if (to_stop < togo) {
-                if (to_stop == 0) {
-                    if (cnt) {
-                        togo = 0;
-                        break;
-                    } else /* keep togo as is: since cnt == 0, we
-                            * can set the logical stop flag on this
-                            * output block
-                            */
-                        susp->logically_stopped = true;
-                } else /* limit togo so we can start a new
-                        * block at the LST
-                        */
-                    togo = to_stop;
-            }
-        }
-
-        n = togo;
-        s_ptr_reg = susp->s_ptr;
-        X_ptr_reg = &(susp->X[susp->Xp]);
-
-/*	nyquist_printf("fetch %d samples, offset %d\n", togo, susp->Xp);*/
-
-        if (n) do { /* the inner sample computation loop */
-/*	    if (*s_ptr_reg == 0.0) nyquist_printf("fetched zero to X[%d]\n", X_ptr_reg - susp->X); */
-            *X_ptr_reg++ = *s_ptr_reg++;
-        } while (--n); /* inner loop */
-
-        /* using s_ptr_reg is a bad idea on RS/6000: */
-        susp->s_ptr += togo;
-        susp_took(s_cnt, togo);
-        susp->Xp += togo;
-    } /* outer loop */
-
-    /* second, compute samples to output, this is done in one pass because
-     * we have enough data in X
-     */
-
-    /* don't run past terminate time */
-    togo = max_sample_block_len;
-    if (susp->terminate_cnt != UNKNOWN &&
-        susp->terminate_cnt <= susp->susp.current + max_sample_block_len) {
-        togo = susp->terminate_cnt - susp->susp.current;
-    }
-    if (togo == 0) {
-/*	stdputstr("resamp calling snd_list_terminate\n"); */
-        snd_list_terminate(snd_list);
-    } else {
-        if (susp->factor >= 1) { /* SrcUp() is faster if we can use it */
-            Nout = SrcUp(susp->X, out_ptr, susp->factor, &susp->Time, 
-                         togo, susp->Nwing, susp->LpScl, susp->Imp, 
-                         susp->ImpD, susp->interpFilt);
-        } else {
-           Nout = SrcUD(susp->X, out_ptr, susp->factor, &susp->Time, 
-                        togo, susp->Nwing, susp->LpScl, susp->Imp, 
-                        susp->ImpD, susp->interpFilt);
-        }
-        snd_list->block_len = togo;
-        susp->susp.current += togo;
-    }
-#ifdef RESAMPTEST
-    for (n = 0; n < snd_list->block_len; n++) {
-        if (out->samples[n] == 0.0) {
-            nyquist_printf("resamp: zero at samples[%d]\n", n);
-        }
-    }
-#endif
-/*
-    if (susp->logically_stopped) {
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-        susp->logically_stopped = true;
-    }
- */
-} /* resample__fetch */
-
-
-void resample_mark(resample_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void resample_free(resample_susp_type susp)
-{
-    sound_unref(susp->s);
-    free(susp->X);
-    ffree_generic(susp, sizeof(resample_susp_node), "resample_free");
-}
-
-
-void resample_print_tree(resample_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_resample(sound_type s, rate_type sr)
-{
-    register resample_susp_type susp;
-    int i;
-
-    falloc_generic(susp, resample_susp_node, "snd_make_resample");
-    susp->susp.fetch = resample__fetch;
-
-    susp->Nmult = SMALL_FILTER_NMULT;
-    susp->Imp = SMALL_FILTER_IMP;
-    susp->ImpD = SMALL_FILTER_IMPD;
-    /* these scale factors are here because filter coefficients
-     are expressed as integers, and so is SMALL_FILTER_SCALE: */
-    susp->LpScl = SMALL_FILTER_SCALE / 32768.0;
-    susp->LpScl /= 16384.0;
-    /* this is just a fudge factor, is SMALL_FILTER_SCALE  wrong? */
-    susp->LpScl /= 1.0011;
-
-    susp->Nwing = SMALL_FILTER_NWING;
-    susp->factor = sr / s->sr;
-    if (susp->factor < 1) susp->LpScl *= susp->factor;
-
-    /* factor in the scale factor of s, since resample is linear */
-    susp->LpScl *= s->scale;
-
-    susp->terminate_cnt = UNKNOWN;
-    /* initialize susp state */
-    susp->susp.free = resample_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = s->t0;
-    susp->susp.mark = resample_mark;
-    susp->susp.print_tree = resample_print_tree;
-    susp->susp.name = "resample";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    susp->Xoff = (int) (((susp->Nmult + 1) / 2.0) * MAX(1.0, 1.0 / susp->factor) + 10);
-    susp->Xsize = (long) ((max_sample_block_len / susp->factor) + 2 * susp->Xoff);
-    susp->X = calloc(susp->Xsize, sizeof(sample_type));
-    susp->Xp = susp->Xoff;
-    susp->Time = susp->Xoff;
-    susp->interpFilt = true;
-    for (i = 0; i < susp->Xoff; i++) susp->X[i] = 0.0F;
-    
-    return sound_create((snd_susp_type)susp, susp->susp.t0,
-                        susp->susp.sr, 1.0 /* scale factor */);
-}
-
-
-sound_type snd_resample(sound_type s, rate_type sr)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_resample(s_copy, sr);
-}
diff --git a/lib-src/libnyquist/nyqsrc/resamp.h b/lib-src/libnyquist/nyqsrc/resamp.h
deleted file mode 100644
index 4f390b8..0000000
--- a/lib-src/libnyquist/nyqsrc/resamp.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_resample(sound_type s, rate_type sr);
-sound_type snd_resample(sound_type s, rate_type sr);
-    /* LISP: (snd-resample SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/nyqsrc/resampv.c b/lib-src/libnyquist/nyqsrc/resampv.c
deleted file mode 100644
index 0ee42ea..0000000
--- a/lib-src/libnyquist/nyqsrc/resampv.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/* resampv.c -- use sinc interpolation to resample at a time-varying sample rate */
-
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  min->MIN, max->MAX
- */
-
-
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "resampv.h"
-#include "fresample.h"
-#include "ffilterkit.h"
-#include "fsmallfilter.h"
-
-
-/* Algorithm:
- First compute a factor = ratio of new sample rate to original sample rate.
- We have Time, the offset into X
- We want Xoff = ((susp->Nmult + 1) / 2.0) * MAX(1.0, 1.0 / factor) + 10
- samples on either side of Time before we interpolate.
- If Xoff * 2 > Xsize, then we're in trouble because X is not big enough.
- Assume this is a pathalogical case, raise the cutoff frequency to
- reduce Xoff to less than Xsize/2.
- If Time is too small, then we're in trouble because we've lost the
- beginning of the buffer. Raise the cutoff frequency until Xoff is
- less than Time. This should only happen if factor suddenly drops.
- If Time is too big, we can handle it: shift X down and load X with new
- samples. When X is shifted by N samples, N is subtracted from Time.
- To minimize the "Time is too small" case, don't shift too far: leave
- a cushion of Xoff * 2 samples rather than the usual Xoff.
-
- Now compute a sample at Time using SrcUD and output it.
-
- What is Time?
- Time is the offset into X, so Time is g_of_now - (sum of all X shifts)
- So, let Time = g_of_now - shift_sum
- Whenever shift_sum or g_of_now is updated, recompute Time
-
- To compute the next g_of_now, do a lookup of g at now + 1/sr,
- using linear interpolation (be sure to do computation with
- doubles to minimize sampling time jitter).
-
- */
-
-/* maximum ratio for downsampling (downsampling will still take place,
- * but the lowest prefilter cutoff frequency will be
- * (original_sample_rate/2) / MAX_FACTOR_INVERSE
- */
-#define MAX_FACTOR_INVERSE 64
-
-typedef struct resamplev_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type f;
-    long f_cnt;
-    sample_block_values_type f_ptr;
-
-    sound_type g;
-    long g_cnt;
-    sample_block_values_type g_ptr;
-    double prev_g;	/* data for interpolation: */
-    double next_g;
-    double phase_in_g;
-    double phase_in_g_increment;
-    double g_of_now;
-    
-    float *X;
-    long Xsize;
-    double Time; /* location (offset) in X of next output sample */
-    double shift_sum;
-    double LpScl;
-    double factor_inverse; /* computed at every sample from g */
-    double factor; /* computed from factor_inverse */
-    sample_type *Imp;
-    sample_type *ImpD;
-    boolean interpFilt;
-    int Nmult;
-    int Nwing;
-    int Xp; /* first free location at end of X */
-    int Xoff; /* number of extra samples at beginning and end of X */
-} resamplev_susp_node, *resamplev_susp_type;
-
-void resamplev_free();
-void resampv_refill(resamplev_susp_type susp);
-
-/* Sampling rate conversion subroutine
- * Note that this is not the same as SrcUD in resamp.c!
- */
-static float SrcUD(float X[], double dt, double Time,
-                 int Nwing, double LpScl,
-                 float Imp[], float ImpD[], boolean Interp)
-{
-    mem_float *Xp;
-    fast_float v;
-    
-    double dh;           /* Step through filter impulse response */
-    long iTime = (long) Time;
-    
-    dh = MIN(Npc, Npc/dt);  /* Filter sampling period */
-    
-    Xp = &X[iTime];		/* Ptr to current input sample */
-    v = FilterUD(Imp, ImpD, Nwing, Interp, Xp, Time - iTime,
-                 -1, dh);	/* Perform left-wing inner product */
-    v += FilterUD(Imp, ImpD, Nwing, Interp, Xp+1, (1 + iTime) - Time,
-                  1, dh);	/* Perform right-wing inner product */
-    v *= LpScl;		/* Normalize for unity filter gain */
-    return (float) v;
-}
-
-
-void resamplev__fetch(register resamplev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_block_type out;
-    /* note that in this fetch routine, out_ptr is used to remember where
-     * to put the "real" output, while X_ptr_reg is used in the inner
-     * loop that copies input samples into X, a buffer
-     */
-    register sample_block_values_type out_ptr;
-
-    falloc_sample_block(out, "resamplev__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-        /* fetch g until we have points to interpolate */
-        while (susp->phase_in_g >= 1.0) {
-            susp->prev_g = susp->next_g;
-            if (susp->g_cnt == 0) {
-                susp_get_samples(g, g_ptr, g_cnt);
-                if (susp->g->logical_stop_cnt == susp->g->current - susp->g_cnt) {
-                    if (susp->susp.log_stop_cnt == UNKNOWN) {
-                        susp->susp.log_stop_cnt = susp->susp.current + cnt;
-                        nyquist_printf("g logically stops at %ld\n", susp->susp.log_stop_cnt);
-                    }
-                }
-                if (susp->g_ptr == zero_block->samples &&
-                    susp->terminate_cnt == UNKNOWN) {
-                    susp->terminate_cnt = susp->susp.current + cnt;
-                    nyquist_printf("g terminates at %ld\n", susp->terminate_cnt);
-                }
-            }
-            susp->next_g = susp_fetch_sample(g, g_ptr, g_cnt);
-            susp->phase_in_g -= 1.0;
-
-            if (susp->next_g < susp->prev_g) {
-                susp->next_g = susp->prev_g;
-            }
-            /* factor_inverse = 1/factor = how many samples of f per
-             * output sample = change-in-g / output-samples-per-g-sample
-             * = change-in-g * phase_in_g_increment
-             */
-            susp->factor_inverse = susp->phase_in_g_increment *
-                                   (susp->next_g - susp->prev_g);
-            if (susp->factor_inverse > MAX_FACTOR_INVERSE)
-                susp->factor_inverse = MAX_FACTOR_INVERSE;
-
-            /* update Xoff, which depends upon factor_inverse: */
-            susp->Xoff = (int) (((susp->Nmult + 1) / 2.0) *
-                         MAX(1.0, susp->factor_inverse)) + 10;
-            if (susp->Xoff * 2 > susp->Xsize) {
-                /* bad because X is not big enough for filter, so we'll
-                 * raise the cutoff frequency as necessary
-                 */
-                susp->factor_inverse = ((susp->Xsize / 2) - 10 ) /
-                  ((susp->Nmult + 1) / 2.0);
-                susp->Xoff = (susp->Xsize / 2) - 2 /* fudge factor */;
-            }
-        }
-        susp->g_of_now = susp->prev_g +
-          susp->phase_in_g * (susp->next_g - susp->prev_g);
-        susp->Time = susp->g_of_now - susp->shift_sum;
-        susp->phase_in_g += susp->phase_in_g_increment;
-
-        /* now we have a position (g_of_now) and a factor */
-        /* See if enough of f is in X */
-        if (susp->Xoff > susp->Time) {
-            /* there are not enough samples before Time in X, so
-             * modify factor_inverse to fix it
-             */
-            susp->factor_inverse = (susp->Time - 10.0) /
-                                   ((susp->Nmult + 1) / 2.0);
-                           
-        } else if ((susp->Xsize - susp->Xoff) < susp->Time) {
-            /* if there's room, leave 2*Xoff samples at beginning of
-             * buffer. Otherwise leave only Xoff:*/
-            int i, dist;
-            susp->Xp = susp->Xoff * 2;
-            dist = ((int) susp->Time) - susp->Xp;
-            if (dist < 1 && (susp->Xp * 2 < susp->Xsize)) {
-                susp->Xp = susp->Xoff;
-                dist = ((int) susp->Time) - susp->Xoff;
-            }
-            for (i = 0; i < susp->Xsize - dist; i++) { 
-                susp->X[i] = susp->X[i + dist];
-            }
-            resampv_refill(susp);
-            susp->shift_sum += dist;
-            susp->Time = susp->g_of_now - susp->shift_sum;
-        }
-
-        /* second, compute a sample to output */
-
-        /* don't run past terminate time */
-        if (susp->terminate_cnt == susp->susp.current + cnt) {
-            snd_list->block_len = cnt;
-            susp->susp.current += cnt;
-            snd_list = snd_list->u.next;
-            snd_list->u.next = snd_list_create(&susp->susp);
-            snd_list->block = internal_zero_block;
-            nyquist_printf("resamp calling snd_list_terminate\n");
-            snd_list_terminate(snd_list);
-            return;
-        } else {
-            double scale = susp->LpScl;
-            float tmp;
-            if (susp->factor_inverse > 1) scale /= susp->factor_inverse;
-            tmp = SrcUD(susp->X, susp->factor_inverse,
-                         susp->Time, susp->Nwing, scale, susp->Imp,
-                         susp->ImpD, susp->interpFilt);
-            *out_ptr++ = tmp;
-        }
-        cnt++;
-    }
-    snd_list->block_len = cnt;
-    susp->susp.current += cnt;
-} /* resamplev__fetch */
-
-
-void resampv_refill(resamplev_susp_type susp) {
-    int togo, n;
-    register sample_type *f_ptr_reg;
-    register sample_type *X_ptr_reg;
-    
-    while (susp->Xp < susp->Xsize) { /* outer loop */
-
-        /* read samples from susp->f into X */
-        togo = susp->Xsize - susp->Xp;
-
-        /* don't run past the f input sample block: */
-        susp_check_samples(f, f_ptr, f_cnt);
-        togo = MIN(togo, susp->f_cnt);
-
-        n = togo;
-        f_ptr_reg = susp->f_ptr;
-        X_ptr_reg = &(susp->X[susp->Xp]);
-        if (n) do { /* the inner sample computation loop */
-            *X_ptr_reg++ = *f_ptr_reg++;
-        } while (--n); /* inner loop */
-
-        /* using f_ptr_reg is a bad idea on RS/6000: */
-        susp->f_ptr += togo;
-        susp_took(f_cnt, togo);
-        susp->Xp += togo;
-    } /* outer loop */
-}
-
-
-
-void resamplev_mark(resamplev_susp_type susp)
-{
-    sound_xlmark(susp->f);
-    sound_xlmark(susp->g);
-}
-
-
-void resamplev_free(resamplev_susp_type susp)
-{
-    nyquist_printf("resamplev_free called\n");
-    sound_unref(susp->f);
-    sound_unref(susp->g);
-    free(susp->X);
-    ffree_generic(susp, sizeof(resamplev_susp_node), "resamplev_free");
-}
-
-
-void resamplev_print_tree(resamplev_susp_type susp, int n)
-{
-    indent(n);
-    nyquist_printf("f:");
-    sound_print_tree_1(susp->f, n);
-
-    indent(n);
-    nyquist_printf("g:");
-    sound_print_tree_1(susp->g, n);
-}
-
-
-sound_type snd_make_resamplev(sound_type f, rate_type sr, sound_type g)
-{
-    register resamplev_susp_type susp;
-    int i;
-
-    falloc_generic(susp, resamplev_susp_node, "snd_make_resamplev");
-    susp->susp.fetch = resamplev__fetch;
-
-    susp->Nmult = SMALL_FILTER_NMULT;
-    susp->Imp = SMALL_FILTER_IMP;
-    susp->ImpD = SMALL_FILTER_IMPD;
-    susp->LpScl = SMALL_FILTER_SCALE / 32768.0;
-    susp->LpScl /= 16384.0;
-    /* this is just a fudge factor, is SMALL_FILTER_SCALE is wrong? */
-    susp->LpScl /= 1.0011;
-    susp->Nwing = SMALL_FILTER_NWING;
-
-    susp->terminate_cnt = UNKNOWN;
-    /* initialize susp state */
-    susp->susp.free = resamplev_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = f->t0;
-    susp->susp.mark = resamplev_mark;
-    susp->susp.print_tree = resamplev_print_tree;
-    susp->susp.name = "resamplev";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(f);
-    susp->susp.current = 0;
-    susp->f = f;
-    susp->f_cnt = 0;
-    susp->g = g;
-    susp->g_cnt = 0;
-    susp->next_g = 0;
-    susp->phase_in_g_increment = g->sr / sr;
-    susp->phase_in_g = 2.0;
-    susp->Xoff = (int) (((susp->Nmult + 1) / 2.0) * 2.0) /* MAX(1.0, 1.0 / susp->factor) */ + 10;
-    /* this size is not critical unless it is too small */
-    susp->Xsize = max_sample_block_len + 2 * susp->Xoff;
-    susp->X = calloc(susp->Xsize, sizeof(sample_type));
-    susp->Xp = susp->Xsize;
-    susp->shift_sum = -susp->Xsize;
-    susp->interpFilt = true;
-    for (i = 0; i < susp->Xoff; i++) susp->X[i] = 0.0F;
-    susp->LpScl *= 0.95; /* reduce probability of clipping */
-    nyquist_printf("resampv: scaling by 0.95\n");
-    
-    return sound_create((snd_susp_type)susp, susp->susp.t0, susp->susp.sr, 
-                        1.0 /* scale factor */);
-}
-
-
-sound_type snd_resamplev(sound_type f, rate_type sr, sound_type g)
-{
-    sound_type f_copy = sound_copy(f);
-    sound_type g_copy = sound_copy(g);
-    g_copy->scale *= (float) sr;	/* put g_copy in units of samples */
-    return snd_make_resamplev(f_copy, sr, g_copy);
-}
diff --git a/lib-src/libnyquist/nyqsrc/resampv.h b/lib-src/libnyquist/nyqsrc/resampv.h
deleted file mode 100644
index ceec942..0000000
--- a/lib-src/libnyquist/nyqsrc/resampv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_resamplev(sound_type f, rate_type sr, sound_type g);
-sound_type snd_resamplev(sound_type f, rate_type sr, sound_type g);
-    /* LISP: (snd-resamplev SOUND ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/nyqsrc/rfftw.h b/lib-src/libnyquist/nyqsrc/rfftw.h
deleted file mode 100644
index 1d71ec7..0000000
--- a/lib-src/libnyquist/nyqsrc/rfftw.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 1997-1999 Massachusetts Institute of Technology
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-
-/* rfftw.h -- system-wide definitions for rfftw */
-#ifndef RFFTW_H
-#define RFFTW_H
-
-#include <fftw.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif				/* __cplusplus */
-
-/****************************************************************************/
-
-#define RFFTW_V2
-
-typedef fftw_plan rfftw_plan;
-typedef fftwnd_plan rfftwnd_plan;
-
-#define FFTW_REAL_TO_COMPLEX FFTW_FORWARD
-#define FFTW_COMPLEX_TO_REAL FFTW_BACKWARD
-
-extern void rfftw(rfftw_plan plan, int howmany, fftw_real *in, int istride,
-                  int idist, fftw_real *out, int ostride, int odist);
-extern void rfftw_one(rfftw_plan plan, fftw_real *in, fftw_real *out);
-     
-extern rfftw_plan rfftw_create_plan_specific(int n, fftw_direction dir,
-                                            int flags,
-                                            fftw_real *in, int istride,
-                                            fftw_real *out, int ostride);
-
-extern rfftw_plan rfftw_create_plan(int n, fftw_direction dir, int flags);
-extern void rfftw_destroy_plan(rfftw_plan plan);
-
-extern void rfftw_fprint_plan(FILE *f, rfftw_plan p);
-extern void rfftw_print_plan(rfftw_plan p);
-
-extern void rfftw_executor_simple(int n, fftw_real *in,
-                                  fftw_real *out,
-                                  fftw_plan_node *p,
-                                  int istride,
-                                  int ostride);
-
-extern rfftwnd_plan rfftwnd_create_plan_specific(int rank, const int *n,
-                                                fftw_direction dir, int flags,
-                                                fftw_real *in, int istride,
-                                                fftw_real *out, int ostride);
-extern rfftwnd_plan rfftw2d_create_plan_specific(int nx, int ny,
-                                           fftw_direction dir, int flags,
-                                              fftw_real *in, int istride,
-                                            fftw_real *out, int ostride);
-extern rfftwnd_plan rfftw3d_create_plan_specific(int nx, int ny, int nz,
-                                           fftw_direction dir, int flags,
-                                              fftw_real *in, int istride,
-                                            fftw_real *out, int ostride);
-extern rfftwnd_plan rfftwnd_create_plan(int rank, const int *n,
-                                          fftw_direction dir, int flags);
-extern rfftwnd_plan rfftw2d_create_plan(int nx, int ny,
-                                          fftw_direction dir, int flags);
-extern rfftwnd_plan rfftw3d_create_plan(int nx, int ny, int nz,
-                                          fftw_direction dir, int flags);
-extern void rfftwnd_destroy_plan(rfftwnd_plan plan);
-extern void rfftwnd_fprint_plan(FILE *f, rfftwnd_plan plan);
-extern void rfftwnd_print_plan(rfftwnd_plan plan);
-extern void rfftwnd_real_to_complex(rfftwnd_plan p, int howmany,
-                                   fftw_real *in, int istride, int idist,
-                              fftw_complex *out, int ostride, int odist);
-extern void rfftwnd_complex_to_real(rfftwnd_plan p, int howmany,
-                                fftw_complex *in, int istride, int idist,
-                                 fftw_real *out, int ostride, int odist);
-extern void rfftwnd_one_real_to_complex(rfftwnd_plan p,
-                                        fftw_real *in, fftw_complex *out);
-extern void rfftwnd_one_complex_to_real(rfftwnd_plan p,
-                                        fftw_complex *in, fftw_real *out);
-
-/****************************************************************************/
-
-#ifdef __cplusplus
-}                               /* extern "C" */
-#endif                          /* __cplusplus */
-#endif                          /* RFFTW_H */
diff --git a/lib-src/libnyquist/nyqsrc/samples.c b/lib-src/libnyquist/nyqsrc/samples.c
deleted file mode 100644
index 4007d5c..0000000
--- a/lib-src/libnyquist/nyqsrc/samples.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/* samples.c -- various functions for the Nyquist sound data type */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  min->MIN, max->MAX
- */
-
-#include <stdio.h>
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "samples.h"
-
-
-LVAL s_next = NULL;
-LVAL s_send;
-
-void samples_symbols()
-{
-    s_next = xlenter(":NEXT");
-    s_send = xlenter("SEND");
-}
-
-/* snd_from_array -- convert lisp array to sound type */
-/**/
-sound_type snd_from_array(double t0, double sr, LVAL array)
-{
-    sound_type result;
-    snd_list_type snd_list;
-    long total = 0;
-
-    if (!vectorp(array)) xlerror("array expected", array);
-
-    result = sound_create(NULL, t0, sr, 1.0);
-    snd_list = result->list;
-    while (total < getsize(array)) {
-        long togo = MIN(getsize(array) - total, max_sample_block_len);
-        sample_block_type block;
-        int i;
-        falloc_sample_block(block, "snd_from_array");
-        snd_list->block = block;
-        for (i = 0; i < togo; i++) {
-            LVAL elem = getelement(array, total + i);
-            sample_type *ptr = block->samples + i;
-            if (fixp(elem)) *ptr = (sample_type) getfixnum(elem);
-            else if (floatp(elem)) *ptr = (sample_type) getflonum(elem);
-            else xlerror("expecting array elem to be number", elem);
-        }
-        total += togo;
-        snd_list->block_len = (short) togo;
-        snd_list->u.next = snd_list_create(NULL);
-        snd_list = snd_list->u.next;
-    }
-    snd_list->block_len = max_sample_block_len;
-    snd_list->block = zero_block;
-    snd_list->logically_stopped = true;
-    snd_list->u.next = zero_snd_list;
-    return result;
-}
-
-
-/* snd_length -- count how many samples are in a sound */
-/**/
-long snd_length(sound_type s, long len)
-{
-    long total = 0;
-    long blocklen;
-
-    s = sound_copy(s);
-    if (len > s->stop) len = s->stop;
-    while (total < len) {
-        sample_block_type sampblock = sound_get_next(s, &blocklen);
-        if (sampblock == zero_block) break;
-        total += blocklen;
-    }
-    if (total > len) total = len;
-    sound_unref(s);
-    return total;
-}
-
-
-/* snd_maxsamp -- compute the maximum value of samples in s */
-/**/
-double snd_maxsamp(sound_type s)
-{
-    sample_type result = 0.0F;
-    long blocklen;
-    s = sound_copy(s);
-
-    while (true) {
-        sample_block_type sampblock = sound_get_next(s, &blocklen);
-        long i;
-        sample_block_values_type sbufp = sampblock->samples;
-        if (sampblock == zero_block || blocklen == 0) {
-            break;
-        }
-        for (i = 0; i < blocklen; i++) {
-            register sample_type samp = *sbufp++;
-            if (result < samp) result = samp;
-            else if (result < -samp) result = -samp;
-        }
-    }
-    return (double) (s->scale * result);
-}
-
-
-/* snd_samples -- convert sound (prefix) to lisp array */
-/**/
-LVAL snd_samples(sound_type s, long len)
-{
-    LVAL v;
-    long vx = 0;
-    long blocklen;
-    register double scale_factor = s->scale;
-    len = snd_length(s, len);
-    s = sound_copy(s);
-
-    xlsave1(v);
-    v = newvector(len);
-
-    while (len > 0) {
-        sample_block_type sampblock = sound_get_next(s, &blocklen);
-        long togo = MIN(blocklen, len);
-        long i;
-        sample_block_values_type sbufp = sampblock->samples;
-        for (i = 0; i < togo; i++) {
-            setelement(v, vx++, cvflonum(*sbufp++ * scale_factor));
-        }
-        len -= togo;
-    }
-    sound_unref(s);
-
-    /* restore the stack */
-    xlpop();
-    return v;
-}
-
-
-/* NOTE: this code does not properly handle start times that do not
- * correspond to the time of the first actual sample
- */
-
-/* NOTE: we need some addtional state to keep track of where we are.
- *  We'll use the extra field of sound_type; first long is length,
- *  so second field will be the count of how many samples we've read.
- */
-#define CNT extra[1]
-#define INDEX extra[2]
-#define FIELDS 3
-#define SAMPLES list->block->samples
-
-LVAL snd_fetch(sound_type s)
-{
-    if (!s->extra) { /* this is the first call, so fix up s */
-        s->extra = (long *) malloc(sizeof(long) * FIELDS);
-        s->extra[0] = sizeof(long) * FIELDS;
-        s->CNT = s->INDEX = 0;
-    } else if (s->extra[0] != sizeof(long) * FIELDS) {
-        xlfail("sound in use by another iterator");
-    }
-    if (s->CNT == s->INDEX) {
-        sound_get_next(s, &(s->CNT));
-        s->INDEX = 0;
-    }
-    if (s->SAMPLES == zero_block->samples) {
-        return NULL;
-    }	
-
-    /* logical stop time is ignored by this code -- to fix this,
-     * you would need a way to return the logical stop time to 
-     * the caller.
-     */
-
-    return cvflonum(s->SAMPLES[s->INDEX++] * s->scale);
-} /* snd_fetch */
-
-
-/* snd_fetch_array -- fetch a lisp array of samples */
-/*
- * storage layout: the extra field points to extra state that we'll use
- * extra[0] -> length of extra storage
- * extra[1] -> CNT (number of samples in current block)
- * extra[2] -> INDEX (current sample index in current block)
- * extra[3] -> FILLCNT (how many samples in buffer)
- * extra[4] -> TERMCNT (how many samples until termination)
- * extra[4 .. 4+len-1] -> samples (stored as floats)
- * 
- * Termination details:
- *   Return NIL when the sound terminates.
- *   Termination is defined as the point where all original
- * signal samples have been shifted out of the samples buffer
- * so that all that's left are zeros from beyond the termination
- * point.
- *   Implementation: when termination is discovered, set TERMCNT
- * to the number of samples to be shifted out. TERMCNT is initially
- * -1 as a flag that we haven't seen the termination yet. 
- * Each time samples are shifted, decrement TERMCNT by the shift amount.
- * When TERMCNT goes to zero, return NULL.
- */
-/* these macros define entries in extra, more macros are defined above */
-#define FILLCNT extra[3]
-#define TERMCNT extra[4]
-#define OFFSET 5
-
-LVAL snd_fetch_array(sound_type s, long len, long step)
-{
-    long i, maxlen, skip, fillptr;
-    float *samples;
-    LVAL result;
-    
-    if (len < 1) xlfail("len < 1");
-
-    if (!s->extra) { /* this is the first call, so fix up s */
-        s->extra = (long *) malloc(sizeof(long) * (len + OFFSET));
-        s->extra[0] = sizeof(long) * (len + OFFSET);
-        s->CNT = s->INDEX = s->FILLCNT = 0;
-        s->TERMCNT = -1;
-        maxlen = len;
-    } else {
-        maxlen = (s->extra[0] / sizeof(long)) - OFFSET;
-        if (maxlen < 1) xlfail("sound in use by another iterator");
-        if (maxlen < len) xlfail("len grew");
-    }
-    samples = (float *) &(s->extra[OFFSET]);
-    
-    /* step 1: refill buffer with samples */
-    fillptr = s->FILLCNT;
-    while (fillptr < maxlen) {
-        if (s->INDEX == s->CNT) {
-            sound_get_next(s, &(s->CNT));
-            if (s->SAMPLES == zero_block->samples) {
-                if (s->TERMCNT < 0) s->TERMCNT = fillptr;
-            }	
-            s->INDEX = 0;
-        }
-        samples[fillptr++] = s->SAMPLES[s->INDEX++] * s->scale;
-    }
-    s->FILLCNT = fillptr;
-
-    /* it is important to test here AFTER filling the buffer, because
-     * if fillptr WAS 0 when we hit the zero_block, then filling the 
-     * buffer will set TERMCNT to 0.
-     */
-    if (s->TERMCNT == 0) return NULL;
-    
-    /* logical stop time is ignored by this code -- to fix this,
-     * you would need a way to return the logical stop time to 
-     * the caller.
-     */
-
-    /* step 2: construct an array and return it */
-    xlsave1(result);
-    result = newvector(len);
-
-    for (i = 0; i < len; i++) {
-        setelement(result, i, cvflonum(samples[i]));
-    }
-
-    /* step 3: shift samples by step */
-    if (step < 0) xlfail("step < 0");
-    s->FILLCNT -= step;
-    if (s->FILLCNT < 0) s->FILLCNT = 0;
-    for (i = 0; i < s->FILLCNT; i++) {
-        samples[i] = samples[i + step];
-    }
-    
-
-    if (s->TERMCNT >= 0) {
-        s->TERMCNT -= step;
-        if (s->TERMCNT < 0) s->TERMCNT = 0;
-    }
-
-
-    /* step 4: advance in sound to next sample we need
-     *   (only does work if step > size of buffer)
-     */
-    skip = step - maxlen;
-    while (skip > 0) {
-        long remaining = s->CNT - s->INDEX;
-        if (remaining >= skip) {
-            s->INDEX += skip;
-            skip = 0;
-        } else {
-            skip -= remaining;
-            sound_get_next(s, &(s->CNT));
-            s->INDEX = 0;
-        }
-    }
-    
-    /* restore the stack */
-    xlpop();
-    return result;
-} /* snd_fetch_array */
-
-
-
-
diff --git a/lib-src/libnyquist/nyqsrc/samples.h b/lib-src/libnyquist/nyqsrc/samples.h
deleted file mode 100644
index 8907241..0000000
--- a/lib-src/libnyquist/nyqsrc/samples.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* samples.h -- convert sound (prefix) to lisp array */
-
-/* these are used by snd_fromobject and snd_fromarraystream: */
-extern LVAL s_next;
-extern LVAL s_send;
-
-void samples_symbols();
-
-sound_type snd_from_array(double t0, double sr, LVAL array);
-  /* LISP: (SND-FROM-ARRAY ANYNUM ANYNUM ANY) */
-
-LVAL snd_samples(sound_type s, long len); /* LISP: (SND-SAMPLES SOUND FIXNUM) */
-long snd_length(sound_type s, long len); /* LISP: (SND-LENGTH SOUND FIXNUM) */
-
-double snd_maxsamp(sound_type s); /* LISP: (SND-MAXSAMP SOUND) */
-
-LVAL snd_fetch(sound_type s); /* LISP: (SND-FETCH SOUND) */
-
-LVAL snd_fetch_array(sound_type s, long len, long step); 
-  /* LISP: (SND-FETCH-ARRAY SOUND FIXNUM FIXNUM) */
diff --git a/lib-src/libnyquist/nyqsrc/seqext.c b/lib-src/libnyquist/nyqsrc/seqext.c
deleted file mode 100644
index 804641a..0000000
--- a/lib-src/libnyquist/nyqsrc/seqext.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* seqext.c -- seq extensions for xlisp */
-/*
-This file extends xlisp with the data type SEQ, including functions
-to print and free SEQ type objects.
- */
-
-/* (c) Copyright Carnegie Mellon University 1991, 1994
- * For a statement of limited permission to use, see Permission.doc
- */
-
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  portability fix: use %p instead of %lx
- */
-
-
-#include "stdio.h"
-#include "xlisp.h"
-#include "cext.h"
-#include "userio.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "seq.h"
-#include "moxc.h"
-#include "seqread.h"
-#include "seqext.h"
-#include "extern.h"
-
-LVAL s_seq;
-
-xtype_desc seq_desc;
-
-static void xlseq_print();
-
-void nop() {}
-
-boolean seqp(s)
-  LVAL s;
-{
-    return exttypep(s, s_seq);
-}
-
-
-/* xlseq_free gets called by xlisp when the GC frees a seq object.
- * seq_free is a macro, so here we make it into a function pointer.
- */
-static void xlseq_free(sequence)
-seq_type sequence;
-{
-   seq_free(sequence);
-}
-
-
-static void xlseq_print(fptr, sequence)
-  LVAL fptr;
-  seq_type sequence;
-{
-    char s[32];
-    sprintf(s, "#<SEQ:0x%p>", sequence);
-    xlputstr(fptr, s);
-}
-
-static void xlseq_save(fp, sequence)
-  FILE *fp;
-  seq_type sequence;
-{
-    errputstr("xlseq_save called\n");
-}
-
-
-static unsigned char *xlseq_restore(fp)
-  FILE *fp;
-{
-   errputstr("xlseq_restore called\n");
-   return 0;
-}
-
-
-void seqext_init()
-{
-/*    printf("localinit called\n"); */
-    seq_desc = create_desc("SEQ", xlseq_free, xlseq_print, xlseq_save, 
-                           xlseq_restore, NULL);
-    moxcinit(0, (char **) NULL);
-}
-
-
-void seqext_symbols()
-{
-        s_seq = xlenter("SEQ");
-}
diff --git a/lib-src/libnyquist/nyqsrc/seqext.h b/lib-src/libnyquist/nyqsrc/seqext.h
deleted file mode 100644
index 0727e77..0000000
--- a/lib-src/libnyquist/nyqsrc/seqext.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* seqext.h -- header for seq extensions for xlisp */
-
-
-void seqext_init();
-void seqext_symbols();
-boolean seqp();
-
-extern xtype_desc seq_desc;
-extern LVAL s_seq;
-
-#define cvptrbool(v) ((LVAL) ((v) ? s_true : NIL))
-#define cvseq(v)  ((LVAL) ((v) ? cvextern(seq_desc, (void *)(v)) : NIL))
-#define xlgaseq() (testarg(typearg(seqp)))
-#define getseq(x) ((seq_type) getinst(x))
diff --git a/lib-src/libnyquist/nyqsrc/seqfn.cl b/lib-src/libnyquist/nyqsrc/seqfn.cl
deleted file mode 100644
index 2a22761..0000000
--- a/lib-src/libnyquist/nyqsrc/seqfn.cl
+++ /dev/null
@@ -1,2 +0,0 @@
-:nyqsrc:seqfnint :cmt:seqdecls.h :nyqsrc:seqext.h :cmt:seq.h :nyqsrc:seqinterf.h 
-:cmt:seqread.h :cmt:seqmread.h :cmt:seqwrite.h :cmt:seqmwrite.h 
diff --git a/lib-src/libnyquist/nyqsrc/seqfn.wcl b/lib-src/libnyquist/nyqsrc/seqfn.wcl
deleted file mode 100644
index 8f58d02..0000000
--- a/lib-src/libnyquist/nyqsrc/seqfn.wcl
+++ /dev/null
@@ -1,2 +0,0 @@
-nyqsrc\seqfnint cmt\seqdecls.h nyqsrc\seqext.h cmt\seq.h nyqsrc\seqinterf.h 
-cmt\seqread.h cmt\seqmread.h cmt\seqwrite.h cmt\seqmwrite.h 
diff --git a/lib-src/libnyquist/nyqsrc/seqfnint.lsp b/lib-src/libnyquist/nyqsrc/seqfnint.lsp
deleted file mode 100644
index 1f7b01b..0000000
--- a/lib-src/libnyquist/nyqsrc/seqfnint.lsp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-    (setfn seq-tag first)
-    (setfn seq-time second)
-    (setfn seq-line third)
-    (setfn seq-channel fourth)
-    (defun seq-value1 (e) (nth 4 e))
-    (setfn seq-pitch seq-value1) ; pitch of a note
-    (setfn seq-control seq-value1) ; control number of a control change
-    (setfn seq-program seq-value1) ; program number of a program change
-    (setfn seq-bend seq-value1) ; pitch bend amount
-    (setfn seq-touch seq-value1) ; aftertouch amount
-    (defun seq-value2 (e) (nth 5 e))
-    (setfn seq-velocity seq-value2) ; velocity of a note
-    (setfn seq-value seq-value2) ; value of a control change
-    (defun seq-duration (e) (nth 6 e))
-    
-
- (setf seq-done-tag 0) 
-
- (setf seq-other-tag 1) 
-
- (setf seq-note-tag 2) 
-
- (setf seq-ctrl-tag 3) 
-
- (setf seq-prgm-tag 4) 
-
- (setf seq-touch-tag 5) 
-
- (setf seq-bend-tag 6) 
-
diff --git a/lib-src/libnyquist/nyqsrc/seqinterf.c b/lib-src/libnyquist/nyqsrc/seqinterf.c
deleted file mode 100644
index dc886a0..0000000
--- a/lib-src/libnyquist/nyqsrc/seqinterf.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* seqinterf.c -- interface to sequence data type for XLISP */
-
-#include "switches.h"
-#include "xlisp.h"
-#include "stdio.h"
-#include "cext.h"
-#include "userio.h"
-#include "midifns.h"
-#include "timebase.h"
-#include "moxc.h"
-#include "seq.h"
-#include "seqinterf.h"
-
-/* seq_next -- advance to the next event, return TRUE if found */
-/**/
-boolean seq_next(seq_type seq)
-{
-    if (seq->current) {
-    seq->current = seq->current->next;
-    }
-    return seq->current != NULL;
-}
-
-
-/* seq_get -- get event data for the current event */
-/**/
-void seq_get(seq_type seq, long *eventtype, long *ntime, long *line, long *chan, 
-    long *value1, long *value2, long *dur)
-{
-    event_type ev = seq->current;
-    if (!ev) *eventtype = SEQ_DONE;
-    else if (is_note(ev)) {
-        if (ev->value != NO_PITCH) {
-            *eventtype = SEQ_NOTE;
-            *ntime = ev->ntime;
-            *line = ev->nline;
-            *chan = vc_voice(ev->nvoice);
-            *value1 = ev->value;
-            *value2 = ev->u.note.ndur & 0xFF;
-            *dur = ev->u.note.ndur >> 8;
-        } else {
-            *eventtype = SEQ_OTHER;
-        }
-    } else {
-        *eventtype = SEQ_CTRL;
-        *ntime = ev->ntime;
-        *line = ev->nline;
-        *chan = vc_voice(ev->nvoice);
-        *value2 = ev->value;
-        
-        switch (vc_ctrl(ev->nvoice)) {
-          case PSWITCH_CTRL:
-            *value1 = PORTASWITCH;
-            break;
-          case MODWHEEL_CTRL:
-            *value1 = MODWHEEL;
-            break;
-          case TOUCH_CTRL:
-              *eventtype = SEQ_TOUCH;
-            *value1 = ev->value;
-            break;
-          case VOLUME_CTRL:
-            *value1 = VOLUME;
-            break;
-          case BEND_CTRL:
-              *eventtype = SEQ_BEND;
-            *value1 = ev->value << 6;
-            break;
-          case PROGRAM_CTRL:
-            *eventtype = SEQ_PRGM;
-            *value1 = ev->value + 1;
-            break;
-          case ESC_CTRL:
-            switch (ev->value) {
-              case CALL_VALUE:
-              case CLOCK_VALUE:
-              case MACRO_VALUE:
-              case CTRLRAMP_VALUE:
-              case DEFRAMP_VALUE:
-              case SETI_VALUE:
-                *eventtype = SEQ_OTHER;
-                break;
-              case MACCTRL_VALUE:
-                *value1 = ev->u.macctrl.ctrl_number;
-                *value2 = ev->u.macctrl.value;
-                break;
-              default:
-                xlabort("unexpected ESC_CTRL value\n");
-                break;
-            }
-            break;
-          default:
-            xlabort("unexpected seq data\n");
-            break;
-        }
-    }
-}
-
diff --git a/lib-src/libnyquist/nyqsrc/seqinterf.h b/lib-src/libnyquist/nyqsrc/seqinterf.h
deleted file mode 100644
index 590ed84..0000000
--- a/lib-src/libnyquist/nyqsrc/seqinterf.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* seqinterf.h -- interface to sequence data type for XLISP */
-
-boolean seq_next(seq_type seq);	/* LISP: (SEQ-NEXT SEQ) */
-void seq_get(seq_type seq, long *eventtype, long *time, long *line, long *chan, 
-    long *value1, long *value2, long *dur);
-    /* LISP: (SEQ-GET SEQ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^) */
-/* LISP-SRC:
-    (setfn seq-tag first)
-    (setfn seq-time second)
-    (setfn seq-line third)
-    (setfn seq-channel fourth)
-    (defun seq-value1 (e) (nth 4 e))
-    (setfn seq-pitch seq-value1) ; pitch of a note
-    (setfn seq-control seq-value1) ; control number of a control change
-    (setfn seq-program seq-value1) ; program number of a program change
-    (setfn seq-bend seq-value1) ; pitch bend amount
-    (setfn seq-touch seq-value1) ; aftertouch amount
-    (defun seq-value2 (e) (nth 5 e))
-    (setfn seq-velocity seq-value2) ; velocity of a note
-    (setfn seq-value seq-value2) ; value of a control change
-    (defun seq-duration (e) (nth 6 e))
-    */
-#define SEQ_DONE 0
-/* LISP-SRC: (setf seq-done-tag 0) */
-#define SEQ_OTHER 1
-/* LISP-SRC: (setf seq-other-tag 1) */
-#define SEQ_NOTE 2
-/* LISP-SRC: (setf seq-note-tag 2) */
-#define SEQ_CTRL 3
-/* LISP-SRC: (setf seq-ctrl-tag 3) */
-#define SEQ_PRGM 4
-/* LISP-SRC: (setf seq-prgm-tag 4) */
-#define SEQ_TOUCH 5
-/* LISP-SRC: (setf seq-touch-tag 5) */
-#define SEQ_BEND 6
-/* LISP-SRC: (setf seq-bend-tag 6) */
-
diff --git a/lib-src/libnyquist/nyqsrc/sndfail.c b/lib-src/libnyquist/nyqsrc/sndfail.c
deleted file mode 100644
index 35b29cb..0000000
--- a/lib-src/libnyquist/nyqsrc/sndfail.c
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#include "stdio.h"
-#include "snd.h"
-#include "stdlib.h"
-#include "xlisp.h"
-#include "string.h"
-
-void snd_fail(char *msg)
-{
-    char *bigger = (char *) malloc(strlen(msg) + 16);
-    if (!bigger) xlfail("no memory");
-    strcpy(bigger, "(snd)");
-    strcat(bigger, msg);
-    xlfail(bigger);
-    // NOTE: there is a memory leak here
-}
-
-
-void snd_warn(char *msg)
-{
-    stdputstr(msg);
-    stdputstr("\n");
-}
diff --git a/lib-src/libnyquist/nyqsrc/sndfn.cl b/lib-src/libnyquist/nyqsrc/sndfn.cl
deleted file mode 100644
index de2979a..0000000
--- a/lib-src/libnyquist/nyqsrc/sndfn.cl
+++ /dev/null
@@ -1,16 +0,0 @@
-:nyqsrc:sndfnint :nyqsrc:sound.h :nyqsrc:downsample.h :nyqsrc:sndread.h 
-:nyqsrc:sndseq.h :nyqsrc:add.h :nyqsrc:multiseq.h
-:nyqsrc:samples.h :nyqsrc:sndwrite.h :nyqsrc:sndmax.h :nyqsrc:compose.h 
-:nyqsrc:inverse.h ~:nyqsrc:sndheader.h
-:tran:amosc.h :tran:const.h :tran:clip.h :tran:max.h :tran:maxv.h
-:tran:fmosc.h :tran:integrate.h :tran:osc.h :tran:prod.h :tran:pwl.h 
-:tran:recip.h :tran:upsample.h :tran:scale.h
-:tran:sine.h :tran:partial.h :tran:white.h :tran:tone.h :tran:tonev.h 
-:tran:atonev.h :tran:atone.h :tran:reson.h
-:tran:areson.h :tran:resonvc.h :tran:resoncv.h :tran:aresonvc.h 
-:tran:aresoncv.h :tran:resonvv.h :tran:aresonvv.h
-:tran:offset.h :tran:slope.h :tran:delay.h :tran:delaycv.h 
-:tran:shape.h :tran:sampler.h :tran:gate.h :tran:siosc.h
-:tran:exp.h :tran:log.h :nyqsrc:resampv.h :nyqsrc:resamp.h :nyqsrc:avg.h
-:tran:ifft.h :nyqsrc:fft.h :tran:congen.h :tran:biquad.h
-
diff --git a/lib-src/libnyquist/nyqsrc/sndfn.wcl b/lib-src/libnyquist/nyqsrc/sndfn.wcl
deleted file mode 100644
index 30d75a2..0000000
--- a/lib-src/libnyquist/nyqsrc/sndfn.wcl
+++ /dev/null
@@ -1,17 +0,0 @@
-nyqsrc\sndfnint nyqsrc\sound.h nyqsrc\downsample.h snd\snd.h nyqsrc\sndread.h 
-nyqsrc\sndseq.h nyqsrc\add.h nyqsrc\multiseq.h
-nyqsrc\samples.h nyqsrc\sndwrite.h nyqsrc\sndmax.h nyqsrc\compose.h 
-nyqsrc\inverse.h ~nyqsrc\sndheader.h
-tran\amosc.h tran\const.h tran\clip.h tran\maxv.h
-tran\fmosc.h tran\integrate.h tran\osc.h tran\prod.h tran\pwl.h 
-tran\recip.h tran\upsample.h tran\scale.h
-tran\sine.h tran\partial.h tran\white.h tran\tone.h tran\tonev.h 
-tran\atonev.h tran\atone.h tran\reson.h
-tran\areson.h tran\resonvc.h tran\resoncv.h tran\aresonvc.h 
-tran\aresoncv.h tran\resonvv.h tran\aresonvv.h
-tran\offset.h tran\slope.h tran\delay.h tran\delaycv.h 
-tran\shape.h tran\sampler.h tran\gate.h tran\quantize.h tran\siosc.h
-tran\exp.h tran\log.h nyqsrc\resampv.h nyqsrc\resamp.h nyqsrc\avg.h
-tran\ifft.h nyqsrc\fft.h tran\congen.h tran\fromobject.h tran\fromarraystream.h  tran\coterm.h tran\convolve.h tran\follow.h tran\oneshot.h 
-tran\chase.h tran\alpass.h tran\biquad.h
-
diff --git a/lib-src/libnyquist/nyqsrc/sndfnint.lsp b/lib-src/libnyquist/nyqsrc/sndfnint.lsp
deleted file mode 100644
index 40dc764..0000000
--- a/lib-src/libnyquist/nyqsrc/sndfnint.lsp
+++ /dev/null
@@ -1,44 +0,0 @@
- (setf snd-head-none 0) 
-
- (setf snd-head-AIFF 1) 
-
- (setf snd-head-IRCAM 2) 
-
- (setf snd-head-NeXT 3) 
-
- (setf snd-head-Wave 4) 
-
- (setf snd-head-channels 1) 
-
- (setf snd-head-mode 2) 
-
- (setf snd-head-bits 4) 
-
- (setf snd-head-srate 8) 
-
- (setf snd-head-dur 16) 
-
- (setf snd-head-latency 32) 
-
- (setf snd-head-type 64) 
-
- (setf snd-mode-adpcm 0) 
-
- (setf snd-mode-pcm 1) 
-
- (setf snd-mode-ulaw 2) 
-
- (setf snd-mode-alaw 3) 
-
- (setf snd-mode-float 4) 
-
- (setf snd-mode-upcm 5) 
-
- (setf snd-mode-unknown 6) 
-
- (SETF MAX-STOP-TIME 10E20) 
-
- (SETF MIN-START-TIME -10E20) 
-
- (setf OP-AVERAGE 1) (setf OP-PEAK 2) 
-
diff --git a/lib-src/libnyquist/nyqsrc/sndmax.c b/lib-src/libnyquist/nyqsrc/sndmax.c
deleted file mode 100644
index be41808..0000000
--- a/lib-src/libnyquist/nyqsrc/sndmax.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* sndmax.c -- computes the maximum amplitude in a sound */
-
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  min->MIN; fix compiler warning
- */
-
-#ifdef UNIX
-#include "sys/types.h"
-#endif	
-#include <stdio.h>
-/* #include "snd.h" */
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "sndmax.h"
-#include "extern.h"
-
-double sound_max(LVAL snd_expr, long n)
-{
-    LVAL s_as_lval;
-    sound_type s = NULL;
-    long blocklen;
-    sample_block_values_type sbufp;
-    register double maximum = 0;
-
-    s_as_lval = xleval(snd_expr);
-    /* BE CAREFUL - DO NOT ALLOW GC TO RUN WHILE LVAL IS UNPROTECTED */
-    if (exttypep(s_as_lval, a_sound)) {
-        /* if snd_expr was simply a symbol, then s now points to
-        a shared sound_node.  If we read samples from it, then
-        the sound bound to the symbol will be destroyed, so
-        copy it first.  If snd_expr was a real expression that
-        computed a new value, then the next garbage collection
-        will reclaim the sound_node.  We need to make the new
-        sound reachable by the garbage collector to that any
-        lisp data reachable from the sound do not get collected.
-        To make the sound reachable, we need to allocate a node,
-        and the GC might run, so we need to protect the OLD s
-        but then make it unreachable.
-        We will let the GC collect the sound in the end.
-        */
-        xlprot1(s_as_lval);
-        s = sound_copy(getsound(s_as_lval));
-        s_as_lval = cvsound(s);	/* destroys only ref. to original */
-        /* printf("sound_max: copy is %x, lval %x\n", s, s_as_lval); */
-        while (n > 0) {
-            long togo, j;
-            sample_block_type sampblock = 
-              sound_get_next(s, &blocklen);
-            if (sampblock == zero_block || blocklen == 0) {
-                break;
-            }
-            togo = MIN(blocklen, n);
-            sbufp = sampblock->samples;
-            for (j = 0; j < togo; j++) {
-                register double samp = *sbufp++;
-                if (samp > maximum) maximum = samp;
-                else if (-samp > maximum) maximum = -samp;
-            }
-            n -= togo;
-        }
-        xlpop();
-    } else {
-        xlerror("sound_max: expression did not return a sound",
-                 s_as_lval);
-    }
-    return maximum * s->scale;
-}
-
-
diff --git a/lib-src/libnyquist/nyqsrc/sndmax.h b/lib-src/libnyquist/nyqsrc/sndmax.h
deleted file mode 100644
index b18f294..0000000
--- a/lib-src/libnyquist/nyqsrc/sndmax.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* sndmax.h -- header to write sounds to files */
-
-double sound_max(LVAL snd_expr, long n);
-/* LISP: (SND-MAX ANY FIXNUM) */
diff --git a/lib-src/libnyquist/nyqsrc/sndread.c b/lib-src/libnyquist/nyqsrc/sndread.c
deleted file mode 100644
index 73c8978..0000000
--- a/lib-src/libnyquist/nyqsrc/sndread.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/* sndread.c -- read sound files */
-
-/* CHANGELOG
- *
- * 29Jun95  RBD  ULAW fixed problems with signed chars
- * 28Apr03  dm   explicitly declare sndread_file_open_count as int
- */
-
-#include "switches.h"
-#include "stdio.h"
-#include "string.h"
-#ifdef UNIX
-#include "sys/file.h"
-#else
-/* #include <unistd.h> */
-#ifdef WINDOWS
-#include <sys/stat.h>
-#include "io.h"
-#else
-#include <stat.h>
-#endif
-#define L_SET SEEK_SET
-#define L_INCR SEEK_CUR
-#define PROTECTION 
-#endif
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "snd.h"
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "sndread.h"
-#include "multiread.h"
-
-/* file.h doesn't define O_RDONLY under RS6K AIX */
-#ifndef O_RDONLY
-#define O_RDONLY 0
-#endif
-
-static int sndread_file_open_count = 0;
-
-void read__fetch(susp, snd_list)
-  register read_susp_type susp;
-  snd_list_type snd_list;
-{
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-    /* allow up to 4 bytes/sample: */
-    char input_buffer[max_sample_block_len * 4];
-    int in_count;
-    float peak;
-
-    falloc_sample_block(out, "read__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    in_count = snd_read(&susp->snd, input_buffer, max_sample_block_len);
-
-    n = in_count;
-
-    /* don't read too many */
-    if (n > (susp->cnt - susp->susp.current)) {
-        n = susp->cnt - susp->susp.current;
-    }
-
-    /* NOTE: this could be optimized for cvt_from_float_32 by reading
-     * raw bytes from the file directly into out_ptr, but 32-bit files
-     * do not seem important to optimize for.
-     */
-    (*susp->cvtfn)((void *) out_ptr, (void *) input_buffer, 
-             n, 1.0F, &peak);
-
-    snd_list->block_len = n;
-    susp->susp.current += n;
-
-    if (n == 0) {
-        /* we didn't read anything, but can't return length zero, so
-           convert snd_list to pointer to zero block */
-        snd_list_terminate(snd_list);
-    } else if (n < max_sample_block_len) {
-        /* this should close file and free susp */
-        snd_list_unref(snd_list->u.next);
-        /* if something is in buffer, terminate by pointing to zero block */
-        snd_list->u.next = zero_snd_list;
-    }
-} /* read__fetch */
-
-
-void read_free(read_susp_type susp)
-{
-    (void) snd_close(&susp->snd);
-    sndread_file_open_count--;
-    ffree_generic(susp, sizeof(read_susp_node), "read_free");
-}
-
-
-void read_print_tree(read_susp_type susp, int n)
-{
-}
-
-
-LVAL snd_make_read(
-  unsigned char *filename, 	/* file to read */
-  time_type offset, 	/* offset to skip (in seconds) */
-  time_type t0,		/* start time of resulting sound */
-  long *format,		/* AIFF, IRCAM, NeXT, etc. */
-  long *channels,	/* number of channels */
-  long *mode, 		/* sample format: PCM, ALAW, etc. */
-  long *bits,		/* BPS: bits per sample */
-  long *swap,           /* swap bytes? */
-  double *srate,	/* srate: sample rate */
-  double *dur,		/* duration (in seconds) to read */
-  long *flags,		/* which parameters have been set */
-  long *byte_offset)	/* byte offset in file of first sample */
-{
-    register read_susp_type susp;
-    /* srate specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    long bytes_per_frame;
-    long bytes_of_data;
-
-    falloc_generic(susp, read_susp_node, "snd_make_read");
-
-    susp->snd.device = SND_DEVICE_FILE;
-    susp->snd.write_flag = SND_READ;
-    strcpy(susp->snd.u.file.filename, (char *) filename);
-    susp->snd.u.file.header = *format;
-    susp->snd.u.file.end_offset = 1000000000; /* 1 gig, in case open doesn't set it */
-    susp->snd.format.channels = *channels;
-    susp->snd.format.mode = *mode;
-    susp->snd.format.bits = *bits;
-    susp->snd.u.file.swap = *swap;
-    susp->snd.format.srate = *srate;
-
-    if (SND_SUCCESS != snd_open(&susp->snd, flags)) {
-        char error[240];
-        sprintf(error, "SND-READ: Cannot open file '%s'", filename);
-        xlfail(error);
-    }
-    if (susp->snd.format.channels < 1) {
-        snd_close(&susp->snd);
-        xlfail("Must specify 1 or more channels");
-    }
-
-    if (offset < 0.0) xlfail("Negative offset");
-    else if (offset > 0.0) {
-        if (snd_seek(&susp->snd, offset) != SND_SUCCESS) {
-            snd_close(&susp->snd);
-            return NIL;
-        }
-    }
-
-    /* see if file is shorter than requested duration and adjust */
-    bytes_of_data = susp->snd.u.file.end_offset - susp->snd.u.file.byte_offset;
-    bytes_per_frame = snd_bytes_per_frame(&susp->snd);
-    if ((*flags & SND_HEAD_LEN) &&
-        (((long) (*dur * susp->snd.format.srate + 0.5)) * bytes_per_frame >
-         bytes_of_data)) {
-        *dur = (bytes_of_data / bytes_per_frame) / susp->snd.format.srate;
-    }
-
-    /* initialize susp state */
-    susp->susp.sr = susp->snd.format.srate;
-    susp->susp.t0 = t0;
-    susp->bytes_per_sample = (susp->snd.format.bits + 7) >> 3;
-    susp->susp.mark = NULL;
-    susp->susp.print_tree = read_print_tree;
-    susp->susp.current = 0;
-    susp->cnt = (long) ((*dur * susp->snd.format.srate) + 0.5);
-
-    /* convert_from functions */
-    if (susp->snd.format.bits == 8)
-        susp->cvtfn = cvt_from_8[susp->snd.format.mode];
-    else if (susp->snd.format.bits == 16)
-        susp->cvtfn = cvt_from_16[susp->snd.format.mode];
-    else if (susp->snd.format.bits == 32)
-        susp->cvtfn = cvt_from_32[susp->snd.format.mode];
-    else susp->cvtfn = cvt_from_unknown;
-
-    if (susp->cvtfn == cvt_from_unknown) {
-        snd_close(&susp->snd);
-        return NIL;
-    }
-
-    *format = susp->snd.u.file.header;
-    *channels = susp->snd.format.channels;
-    *mode = susp->snd.format.mode;
-    *bits = susp->snd.format.bits;
-    *swap = susp->snd.u.file.swap;
-    *srate = susp->snd.format.srate;
-    *byte_offset = susp->snd.u.file.byte_offset;
-
-    sndread_file_open_count++;
-#ifdef MACINTOSH
-    if (sndread_file_open_count > 24) {
-        nyquist_printf("Warning: more than 24 sound files are now open\n");
-    }
-#endif
-    
-    if (susp->snd.format.channels == 1) {
-        susp->susp.fetch = read__fetch;
-        susp->susp.free = read_free;
-        susp->susp.name = "read";
-        return cvsound(sound_create((snd_susp_type)susp, t0, 
-                                    susp->snd.format.srate, 
-                                    scale_factor));
-    } else {
-        susp->susp.fetch = multiread_fetch;
-        susp->susp.free = multiread_free;
-        susp->susp.name = "multiread";
-        return multiread_create(susp);
-    }
-}
-
-
-
-
diff --git a/lib-src/libnyquist/nyqsrc/sndread.h b/lib-src/libnyquist/nyqsrc/sndread.h
deleted file mode 100644
index 51e265b..0000000
--- a/lib-src/libnyquist/nyqsrc/sndread.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* fileio.h -- Nyquist code to read sound files */
-
-/* for multiple channel files, one susp is shared by all sounds */
-/* the susp in turn must point back to all sound list tails */
-
-typedef struct read_susp_struct {
-    snd_susp_node susp;
-    snd_node snd;
-    snd_list_type *chan;	/* array of back pointers */
-    long bytes_per_sample;	/* handy for calculations */
-    long cnt;	/* how many sample frames to read */
-    cvtfn_type cvtfn;
-} read_susp_node, *read_susp_type;
-
-
-LVAL snd_make_read(unsigned char *filename, time_type offset, time_type t0,
-        long *format, long *channels, long *mode, long *bits, long *swap,
-        double *srate, double *dur, long *flags, long *byte_offset);
-/* LISP: (SND-READ STRING ANYNUM ANYNUM FIXNUM* FIXNUM* FIXNUM* FIXNUM* FIXNUM* ANYNUM* ANYNUM* FIXNUM^ FIXNUM^) */
-
-void read_free();
diff --git a/lib-src/libnyquist/nyqsrc/sndseq.c b/lib-src/libnyquist/nyqsrc/sndseq.c
deleted file mode 100644
index d65343c..0000000
--- a/lib-src/libnyquist/nyqsrc/sndseq.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/* sndseq.c -- return a signal until its logical stop, then
-   evaluate a closure to get a signal and convert to an add
-   of two signals */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "scale.h"
-#include "add.h"
-#include "extern.h"
-#include "cext.h"
-#include "assert.h"
-
-#define SNDSEQDBG 0
-#define D if (SNDSEQDBG) 
-
-/* Note: this structure is identical to an add_susp structure up
-   to the field output_per_s2 so that we can convert this into
-   an add after eval'ing the closure.  Since this struct is bigger
-   than an add, make sure not to clobber the "free" routine 
-   (sndseq_free) or else we'll leak memory.
- */
-typedef struct sndseq_susp_struct {
-    snd_susp_node		susp;
-    boolean			started;
-    int                         terminate_bits;
-    long			terminate_cnt;
-    int                         logical_stop_bits;
-    boolean			logically_stopped;
-    sound_type			s1;
-    long			s1_cnt;
-    sample_block_type		s1_bptr;	/* block pointer */
-    sample_block_values_type	s1_ptr;
-    sound_type			s2;
-    long			s2_cnt;
-    sample_block_type		s2_bptr;	/* block pointer */
-    sample_block_values_type	s2_ptr;
-
-    /* support for interpolation of s2 */
-    sample_type s2_x1_sample;
-    double s2_phase;
-    double s2_phase_incr;
-
-    /* support for ramp between samples of s2 */
-    double output_per_s2;
-
-    /* sndseq-specific data starts here */
-    LVAL closure;
-
-} sndseq_susp_node, *sndseq_susp_type;
-
-
-void sndseq_fetch(sndseq_susp_type, snd_list_type);
-void sndseq_zero_fill_fetch(sndseq_susp_type, snd_list_type);
-void sndseq_free();
-
-extern LVAL s_stdout;
-
-void sndseq_mark(sndseq_susp_type susp)
-{
-/*    nyquist_printf("sndseq_mark(%x)\n", susp);*/
-/*    nyquist_printf("marking s1@%x in sndseq@%x\n", susp->s1, susp); */
-    sound_xlmark(susp->s1);
-    if (susp->closure) mark(susp->closure);
-}
-
-
-
-/* sndseq_fetch returns blocks of s1 until the logical stop time of s1 */
-/**/
-void sndseq_fetch(susp, snd_list)
-  register sndseq_susp_type susp;
-  snd_list_type snd_list;
-{
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-/*    nyquist_printf("sndseq_fetch called: s1_cnt %d\n", susp->s1_cnt); */
-    /*
-     * first compute how many samples to copy (or transfer)
-     */
-
-    /* get next samples; in add, the call is:
-     *   susp_check_term_log_block_samples(s1, s1_bptr, s1_ptr, s1_cnt, 1, 3);
-     *
-     * the plan here is tricky: if s1 has logically stopped, then evaluate
-     * the closure to get signal s2.  Then convert sndseq into an add.
-     */
-    if (susp->s1_cnt == 0) {
-        susp_get_block_samples(s1, s1_bptr, s1_ptr, s1_cnt);
-        if (susp->s1_ptr == zero_block->samples) {
-            susp->terminate_bits = 1;   /* mark s1 as terminated */
-        }
-/*	nyquist_printf("sndseq_fetch: s1-lsc %d, current %d cnt %d\n",
-               susp->s1->logical_stop_cnt, susp->s1->current, susp->s1_cnt); */
-    }
-
-    if (susp->s1->logical_stop_cnt != UNKNOWN &&
-        susp->s1->logical_stop_cnt == susp->s1->current - susp->s1_cnt) {
-        time_type now = susp->susp.t0 + susp->susp.current / susp->susp.sr;
-        /* note: cons args are protected from GC: */
-        LVAL result;
-        long delay;	/* sample delay to s2 */
-/*	stats();gc();stats();*/
-
-        xlsave1(result);
-
-D      nyquist_printf("sndseq_fetch: about to eval closure at %g, "
-                      "susp->susp.t0 %g, susp.current %d:\n",
-                      now, susp->susp.t0, (int)susp->susp.current);
-        result = xleval(cons(susp->closure, consa(cvflonum(now))));
-
-        susp->logical_stop_bits = 1;   /* mark s1 as logically stopped */
-        if (exttypep(result, a_sound)) {
-            susp->s2 = sound_copy(getsound(result));
-D           nyquist_printf("sndseq: copied result from closure is %p\n",
-                           susp->s2);
-        } else xlerror("closure did not return a sound", result);
-D        nyquist_printf("in sndseq: logically stopped; "
-                        "%p returned from evform\n",
-                        susp->s2);
-        susp->closure = NULL;   /* allow garbage collection now */
-        result = NIL;
-
-        /**** Now convert to add ****/
-        susp->susp.mark = add_mark;
-        susp->susp.log_stop_cnt = UNKNOWN; /* will be recomputed by add */
-        susp->susp.print_tree = add_print_tree;
-
-        /* assume sample rates are the same */
-        if (susp->s1->sr != susp->s2->sr) 
-            xlfail("in sndseq: sample rates must match");
-
-        /* take care of scale factor, if any */
-        if (susp->s2->scale != 1.0) {
-            // stdputstr("normalizing next sound in a seq\n");
-            susp->s2 = snd_make_normalize(susp->s2);
-        }
-
-        /* figure out which add fetch routine to use */
-        delay = ROUND((susp->s2->t0 - now) * susp->s1->sr);
-        if (susp->terminate_bits) {     /* s1 is done, just get s2 now */
-            sound_unref(susp->s1);
-            susp->s1 = NULL;
-            if (delay > 0) {   /* need to fill zeros */
-                susp->susp.fetch = add_zero_fill_nn_fetch;
-                susp->susp.name = "sndseq:add_zero_fill_nn_fetch";
-            } else {
-                susp->susp.fetch = add_s2_nn_fetch;
-                susp->susp.name = "sndseq:add_s2_nn_fetch";
-            }		
-        } else if (delay > 0) {    /* fill hole between s1 and s2 */
-D	    stdputstr("using add_s1_nn_fetch\n");
-            susp->susp.fetch = add_s1_nn_fetch;
-            susp->susp.name = "sndseq:add_s1_nn_fetch";
-        } else {
-            susp->susp.fetch = add_s1_s2_nn_fetch;
-            susp->susp.name = "sndseq:add_s1_s2_nn_fetch";
-        }
-
-        susp->s2_phase_incr = susp->s2->sr / susp->susp.sr;
-        susp->output_per_s2 = susp->susp.sr / susp->s2->sr;
-
-D        stdputstr("in sndseq: calling add's fetch\n");
-        (*(susp->susp.fetch))(susp, snd_list);
-D        stdputstr("in sndseq: returned from add's fetch\n");
-/*	gc();*/
-        xlpop();
-        return;
-    }
-
-    /* don't run past the s1 input sample block: */
-    togo = susp->s1_cnt;
-/*    nyquist_printf("sndseq_fetch: togo initially %d then ", togo); */
-    
-    /* don't run past terminate time */
-    if (susp->terminate_cnt != UNKNOWN &&
-        susp->terminate_cnt <= susp->susp.current + togo) {
-        togo = susp->terminate_cnt - susp->susp.current;
-    }
-    
-    /* don't run past logical stop time */
-    if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-        int to_stop = susp->susp.log_stop_cnt - susp->susp.current;
-        togo = MIN(togo, to_stop);
-    }
-    assert(togo >= 0);
-
-/*    nyquist_printf("%d\n", togo);*/
-    /*
-     * two cases: copy a partial block or manipulate pointers for copyless
-     * transfer of whole block (may not be full block):
-     *
-     * copy partial block when:
-     *   o samples begin in middle of block
-     *   o stopping time is before end of block (when other signal splits
-     *     the block for this signal).  This happens if the logical
-     *     stop time was externally dictated and falls mid-block.
-     * transfer (copyless) block when:
-     *   o the block is of maximum size
-     *   o the block is small due to logical stop time or termination time
-     */
-    if (susp->s1_ptr == susp->s1_bptr->samples && susp->s1_cnt == togo) {
-        /*
-         * we want to copy this whole block (starting at the beginning
-         * and going to the rest of the block) -- just do pointers.
-         */
-
-        /* just fetch and pass blocks on */
-/*	nyquist_printf("sndseq (s1_nn) %x starting uncopy, togo %d\n", susp, togo); */
-        snd_list->block = susp->s1_bptr;
-        /* the zero_block indicates termination, don't copy it! Use
-         * internal_zero_block instead.  It is also filled with zeros,
-         * but does not indicate termination.  We must check for zero_block
-         * because the signal may have a logical stop time specified that
-         * extends beyond its termination time.
-         */
-        if (snd_list->block == zero_block)
-            snd_list->block = internal_zero_block;
-        (snd_list->block->refcnt)++;
-/*	nyquist_printf("sndseq (s1_nn) %x shared block %x\n", susp, susp->s1_bptr);*/
-
-        susp_took(s1_cnt, togo);
-        snd_list->block_len = togo;
-    } else {
-        /*
-         * we want to copy a partial block
-         */
-
-        /* snd_list is the one with a null block */
-        /* put a fresh, clean block in the snd_list (get new snd_list later) */
-        falloc_sample_block(out, "sndseq_fetch");
-        snd_list->block = out;
-        out_ptr = out->samples;
-        /* nyquist_printf("sndseq (s1_nn) %x new block %x\n", susp, out); */
-
-        n = togo;
-        /* nyquist_printf("sndseq (s1_nn) %x starting copy loop, togo %d\n", susp, togo); */
-        while (n--) { /* the inner sample computation loop */
-            /* scale? */
-            *out_ptr++ = *(susp->s1_ptr++);
-        } /* inner loop */
-
-        susp_took(s1_cnt, togo);
-        snd_list->block_len = togo;
-    }
-
-    /* add a new snd_list for the susp */
-    susp->susp.current += togo;
-
-} /* sndseq_fetch */
-
-
-void sndseq_free(sndseq_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->s2);
-    ffree_generic(susp, sizeof(sndseq_susp_node), "sndseq_free");
-}
-
-
-void sndseq_print_tree(sndseq_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("closure:");
-    stdprint(susp->closure);
-
-    indent(n);
-    stdputstr("s2:");
-    sound_print_tree_1(susp->s2, n);
-}
-
-
-
-
-sound_type snd_make_sndseq(s1, closure)
-  sound_type s1;
-  LVAL closure;
-{
-    register sndseq_susp_type susp;
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    sound_type result;
-
-    xlprot1(closure);
-    falloc_generic(susp, sndseq_susp_node, "snd_make_sndseq");
-
-    if (s1->scale != 1.0) {
-        /* stdputstr("normalizing first sound in a seq\n"); */
-        s1 = snd_make_normalize(s1);
-    }
-
-    susp->susp.fetch = sndseq_fetch;
-
-    susp->terminate_cnt = UNKNOWN;
-    susp->terminate_bits = 0;   /* bits for s1 and s2 termination */
-    susp->logical_stop_bits = 0;    /* bits for s1 and s2 logical stop */
-
-    /* initialize susp state */
-    susp->susp.free = sndseq_free;
-    susp->susp.sr = s1->sr;
-    susp->susp.t0 = s1->t0;
-    susp->susp.mark = sndseq_mark;
-    susp->susp.print_tree = sndseq_print_tree;
-    susp->susp.name = "sndseq";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = s1->logical_stop_cnt;
-    if (!(susp->susp.log_stop_cnt >= 0 || susp->susp.log_stop_cnt == UNKNOWN)) {
-        xlerror("Behaviors in SEQ must appear in chronological order", closure);
-    }
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->s2 = NULL;
-    susp->s2_cnt = 0;
-    susp->s2_phase = 0.0;
-/*  susp->s2_phase_incr = ??
-    susp->output_per_s2 = ?? */
-    susp->closure = closure;
-    result = sound_create((snd_susp_type)susp, susp->susp.t0, susp->susp.sr, scale_factor);
-    xlpopn(1);
-    return result;
-}
-
-
-sound_type snd_sndseq(s1, closure)
-  sound_type s1;
-  LVAL closure;
-{
-    sound_type s1_copy = sound_copy(s1);
-    return snd_make_sndseq(s1_copy, closure);
-}
diff --git a/lib-src/libnyquist/nyqsrc/sndseq.h b/lib-src/libnyquist/nyqsrc/sndseq.h
deleted file mode 100644
index 03fdd11..0000000
--- a/lib-src/libnyquist/nyqsrc/sndseq.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_sndseq();
-sound_type snd_sndseq();
-    /* LISP: (SND-SEQ SOUND ANY) */
diff --git a/lib-src/libnyquist/nyqsrc/sndwrite.c b/lib-src/libnyquist/nyqsrc/sndwrite.c
deleted file mode 100644
index 44b416c..0000000
--- a/lib-src/libnyquist/nyqsrc/sndwrite.c
+++ /dev/null
@@ -1,639 +0,0 @@
-/* sndwrite.c -- write sounds to files */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-#include "stdlib.h"
-#include "switches.h"
-#include "string.h"
-#ifdef UNIX
-#include "sys/types.h"
-#endif
-#ifdef WINDOWS
-#include <io.h>
-#endif
-#include <stdio.h>
-/* include sound.h first because it includes math.h 
- * which declares abs(). cext.h #defines abs()!
- * sound.h depends on xlisp.h
- */
-#include "xlisp.h"
-#include "sound.h"
-#include "cext.h"
-#include "userio.h"
-#include "falloc.h"
-#include "sndwrite.h"
-#include "extern.h"
-#include "snd.h"
-#ifdef UNIX
-#include "sys/file.h"
-/* #include <sys/stat.h>*/
-#include <netinet/in.h>
-#else
-#ifdef MACINTOSH
-#include <unistd.h>
-#include <stat.h>
-#define L_SET SEEK_SET
-#define L_INCR SEEK_CUR
-#endif
-#endif
-
-#define D if (0) 
-
-int sndwrite_trace = 0;	/* debugging */
-
-sample_type sound_save_sound(LVAL s_as_lval, long n, snd_type snd,
-                             char *buf, long *ntotal, snd_type player);
-
-sample_type sound_save_array(LVAL sa, long n, snd_type snd, 
-                             char *buf, long *ntotal, snd_type player);
-
-unsigned char st_linear_to_ulaw(int sample);
-
-
-typedef struct {
-    sound_type sound;
-    long cnt;
-    sample_block_values_type ptr;
-    double scale;
-    int terminated;
-} sound_state_node, *sound_state_type;
-
-
-LVAL prepare_audio(LVAL play, snd_type snd, snd_type player)
-{
-    long flags;
-    if (play == NIL) return NIL;
-    player->format = snd->format;
-    player->u.audio.devicename[0] = 0;
-    player->u.audio.interfacename[0] = 0;
-    if (snd_open(player, &flags) != SND_SUCCESS) {
-        xlabort("snd_save -- could not open audio output");
-    }
-    /* make sure player and snd are compatible -- if not, set player to NULL
-     * and print a warning message
-     */
-    if (player->format.channels == snd->format.channels &&
-        player->format.mode == snd->format.mode &&
-        player->format.bits == snd->format.bits) {
-        /* ok so far, check out the sample rate */
-        if (player->format.srate != snd->format.srate) {
-            char msg[100];
-            sprintf(msg, "%s(%g)%s(%g).\n",
-                    "Warning: file sample rate ", snd->format.srate,
-                    " differs from audio playback sample rate ",
-                    player->format.srate);
-            stdputstr(msg);
-        }
-    } else {
-        stdputstr("File format not supported by audio output.\n");
-        return NIL;
-    }
-    return play;
-}
-
-
-/* finish_audio -- flush the remaining samples, then close */
-/**/
-void finish_audio(snd_type player)
-{
-    /* note that this is a busy loop! */
-    while (snd_flush(player) != SND_SUCCESS) ;
-    snd_close(player);
-}
-
-
-/* write_to_audio -- handle audio output from buffer */
-/*
- * We want to write as soon as space is available so that
- * a full sound buffer can be queued up for output. This
- * may require transferring only part of buf, so we keep
- * track of progress and output whenever space is available.
- */
-void write_to_audio(snd_type player, void *buf, long buflen)
-{
-    long rslt;
-    while (buflen) {
-            /* this loop is a busy-wait loop! */
-        rslt = snd_poll(player); /* wait for buffer space */
-        rslt = min(rslt, buflen);
-        if (rslt) {
-            snd_write(player, buf, rslt);
-            buf = (void *) ((char *) buf + 
-                            (rslt * snd_bytes_per_frame(player)));
-            buflen -= rslt;
-        }
-    }    
-}
-
-
-double sound_save(
-  LVAL snd_expr,
-  long n,
-  unsigned char *filename,
-  long format,
-  long mode,
-  long bits,
-  long swap,
-  double *sr,
-  long *nchans,
-  double *duration,
-  LVAL play)
-{
-    LVAL result;
-    char *buf;
-    long ntotal;
-    double max_sample;
-    snd_node snd;
-    snd_node player;
-    long flags;
-
-    snd.device = SND_DEVICE_FILE;
-    snd.write_flag = SND_WRITE;
-    strcpy(snd.u.file.filename, (char *) filename);
-    snd.u.file.file = -1;	/* this is a marker that snd is unopened */
-    snd.u.file.header = format;
-    snd.format.mode = mode;
-    snd.format.bits = bits;
-    snd.u.file.swap = swap;
-
-    player.device = SND_DEVICE_AUDIO;
-    player.write_flag = SND_WRITE;
-    player.u.audio.devicename[0] = '\0';
-    player.u.audio.descriptor = NULL;
-    player.u.audio.protocol = SND_COMPUTEAHEAD;
-    player.u.audio.latency = 1.0;
-    player.u.audio.granularity = 0.0;
-
-    if ((buf = (char *) malloc(max_sample_block_len * MAX_SND_CHANNELS *
-                                  sizeof(float))) == NULL) {
-        xlabort("snd_save -- couldn't allocate memory");
-    }
-
-    result = xleval(snd_expr);
-    /* BE CAREFUL - DO NOT ALLOW GC TO RUN WHILE RESULT IS UNPROTECTED */
-    if (vectorp(result)) {
-        /* make sure all elements are of type a_sound */
-        long i = getsize(result);
-        *nchans = snd.format.channels = i;
-        while (i > 0) {
-            i--;
-            if (!exttypep(getelement(result, i), a_sound)) {
-                xlerror("sound_save: array has non-sound element",
-                         result);
-            }
-        }
-        /* assume all are the same: */
-        *sr = snd.format.srate = getsound(getelement(result, 0))->sr; 
-
-        /* note: if filename is "", then don't write file; therefore,
-         * write the file if (filename[0])
-         */ 
-        if (filename[0] && snd_open(&snd, &flags) != SND_SUCCESS) {
-            xlabort("snd_save -- could not open sound file");
-        }
-        
-        play = prepare_audio(play, &snd, &player);
-
-        max_sample = sound_save_array(result, n, &snd,
-                         buf, &ntotal, (play == NIL ? NULL : &player));
-        *duration = ntotal / *sr;
-        if (filename[0]) snd_close(&snd);
-        if (play != NIL) finish_audio(&player);
-    } else if (exttypep(result, a_sound)) {
-        *nchans = snd.format.channels = 1;
-        *sr = snd.format.srate = (getsound(result))->sr;
-        if (filename[0] && snd_open(&snd, &flags) != SND_SUCCESS) {
-            xlabort("snd_save -- could not open sound file");
-        }
-
-        play = prepare_audio(play, &snd, &player);
-
-        max_sample = sound_save_sound(result, n, &snd,
-                        buf, &ntotal, (play == NIL ? NULL : &player));
-        *duration = ntotal / *sr;
-        if (filename[0]) snd_close(&snd);
-        if (play != NIL) finish_audio(&player);
-    } else {
-        xlerror("sound_save: expression did not return a sound",
-                 result);
-        max_sample = 0.0;
-    }
-    free(buf);
-    return max_sample;
-}
-
-
-double sound_overwrite(
-  LVAL snd_expr,
-  long n,
-  unsigned char *filename,
-  long byte_offset,
-  long header,
-  long mode,
-  long bits,
-  long swap,
-  double sr,
-  long nchans,
-  double *duration)
-{
-    LVAL result;
-    char *buf;
-    char error[140];
-    long ntotal;
-    double max_sample;
-    snd_node snd;
-    long flags;
-
-    snd.device = SND_DEVICE_FILE;
-    snd.write_flag = SND_OVERWRITE;
-    strcpy(snd.u.file.filename, (char *) filename);
-    snd.u.file.header = header;
-    snd.u.file.byte_offset = byte_offset;
-    snd.format.channels = nchans;
-    snd.format.mode = mode;
-    snd.format.bits = bits;
-    snd.u.file.swap = swap;
-    snd.format.srate = sr;
-
-    if ((buf = (char *) malloc(max_sample_block_len * MAX_SND_CHANNELS *
-                                  sizeof(float))) == NULL) {
-        xlabort("snd_overwrite: couldn't allocate memory");
-    }
-
-    if (snd_open(&snd, &flags) != SND_SUCCESS) {
-        sprintf(error,
-                "snd_overwrite: cannot open file %s and seek to %d", 
-                filename, (int)byte_offset);
-        free(buf);
-        xlabort(error);
-    }
-
-    result = xleval(snd_expr);
-    /* BE CAREFUL - DO NOT ALLOW GC TO RUN WHILE RESULT IS UNPROTECTED */
-    if (vectorp(result)) {
-        /* make sure all elements are of type a_sound */
-        long i = getsize(result);
-        if (nchans != i) {
-            sprintf(error, "%s%d%s%d%s", 
-                    "snd_overwrite: number of channels in sound (",
-                    (int)i,
-                    ") does not match\n    number of channels in file (",
-                    (int)nchans,
-                    ")");
-            free(buf);
-            snd_close(&snd);
-            xlabort(error);
-        }
-        while (i > 0) {
-            i--;
-            if (!exttypep(getelement(result, i), a_sound)) {
-                free(buf);
-                snd_close(&snd);
-                xlerror("sound_save: array has non-sound element",
-                         result);
-            }
-        }
-        /* assume all are the same: */
-        if (sr != getsound(getelement(result, 0))->sr) {
-            sprintf(error, "%s%g%s%g%s",
-                    "snd_overwrite: sample rate in sound (",
-                    getsound(getelement(result, 0))->sr,
-                    ") does not match\n    sample rate in file (",
-                    sr,
-                    ")"); 
-            free(buf);
-            snd_close(&snd);
-            xlabort(error);
-        }
-        
-        max_sample = sound_save_array(result, n, &snd, buf, &ntotal, NULL);
-        *duration = ntotal / sr;
-    } else if (exttypep(result, a_sound)) {
-        if (nchans != 1) {
-            sprintf(error, "%s%s%d%s", 
-                    "snd_overwrite: number of channels in sound (1",
-                    ") does not match\n    number of channels in file (",
-                    (int)nchans,
-                    ")");
-            free(buf);
-            snd_close(&snd);
-            xlabort(error);
-        }
-            
-        if (sr != getsound(result)->sr) {
-            sprintf(error, "%s%g%s%g%s",
-                    "snd_overwrite: sample rate in sound (",
-                    getsound(result)->sr,
-                    ") does not match\n    sample rate in file (",
-                    sr,
-                    ")"); 
-            free(buf);
-            snd_close(&snd);
-            xlabort(error);
-        }
-        
-        max_sample = sound_save_sound(result, n, &snd, buf, &ntotal, NULL);
-        *duration = ntotal / sr;
-    } else {
-        free(buf);
-        snd_close(&snd);
-        xlerror("sound_save: expression did not return a sound",
-                 result);
-        max_sample = 0.0;
-    }
-    free(buf);
-    snd_close(&snd);
-    return max_sample;
-}
-
-
-cvtfn_type find_cvt_to_fn(snd_type snd, char *buf)
-{
-    cvtfn_type cvtfn;
-    /* find the conversion function */
-    if (snd->format.bits == 8) cvtfn = cvt_to_8[snd->format.mode];
-    else if (snd->format.bits == 16) cvtfn = cvt_to_16[snd->format.mode];
-    else if (snd->format.bits == 32) cvtfn = cvt_to_32[snd->format.mode];
-    else cvtfn = cvt_to_unknown;
-
-    if (cvtfn == cvt_to_unknown) {
-        char error[50];
-        sprintf(error, "Cannot write %d-bit samples in mode %s",
-                (int)snd->format.bits, snd_mode_to_string(snd->format.mode));
-        free(buf);
-        snd_close(snd);
-        xlabort(error);
-    }
-    return cvtfn;
-}
-
-
-sample_type sound_save_sound(LVAL s_as_lval, long n, snd_type snd,
-                             char *buf, long *ntotal, snd_type player)
-{
-    long blocklen;
-    long buflen;
-    sound_type s;
-    long debug_unit;    /* print messages at intervals of this many samples */
-    long debug_count;   /* next point at which to print a message */
-    sample_type max_sample = 0.0F;
-    cvtfn_type cvtfn;
-    *ntotal = 0;
-
-    /* if snd_expr was simply a symbol, then s now points to
-        a shared sound_node.  If we read samples from it, then
-        the sound bound to the symbol will be destroyed, so
-        copy it first.  If snd_expr was a real expression that
-        computed a new value, then the next garbage collection
-        will reclaim the sound_node.  We need to make the new
-        sound reachable by the garbage collector to that any
-        lisp data reachable from the sound do not get collected.
-        To make the sound reachable, we need to allocate a node,
-        and the GC might run, so we need to protect the OLD s
-        but then make it unreachable.
-        We will let the GC collect the sound in the end.
-    */
-    xlprot1(s_as_lval);
-    s = sound_copy(getsound(s_as_lval));
-    s_as_lval = cvsound(s);	/* destroys only ref. to original */
-
-    /* for debugging */
-/*    printing_this_sound = s;*/
-
-
-    debug_unit = debug_count = (long) max(snd->format.srate, 10000.0);
-
-    cvtfn = find_cvt_to_fn(snd, buf);
-
-#ifdef MACINTOSH
-    if (player) {
-        gprintf(TRANS, "Playing audio: Click and hold mouse button to stop playback.\n");
-    }
-#endif
-
-    while (n > 0) {
-        long togo;
-        float peak;
-        sample_block_type sampblock = sound_get_next(s, &blocklen);
-        oscheck();
-#ifdef SNAPSHOTS
-        stdputstr(".");
-        if (sound_created_flag) {
-            stdputstr("SNAPSHOT: ");
-            sound_print_tree(printing_this_sound);
-            sound_created_flag = false;
-        }
-        fflush(stdout);
-#endif
-        if (sampblock == zero_block || blocklen == 0) {
-            break;
-        }
-        togo = min(blocklen, n);
-
-        buflen = (*cvtfn)((void *) buf, (void *) sampblock->samples,
-                          togo, s->scale, &peak);
-        if (peak > max_sample) max_sample = peak;
-
-#ifdef MACINTOSH
-        if (Button()) {
-            if (player) {
-                snd_reset(player);
-            }
-            gprintf(TRANS, "\n\nStopping playback...\n\n\n");
-            break;
-        }
-#endif
-
-        if (snd->u.file.file != -1) snd_write(snd, (void *) buf, buflen);
-        if (player) write_to_audio(player, (void *) buf, buflen);
-
-        n -= togo;
-        *ntotal += togo;
-        if (*ntotal > debug_count) {
-            gprintf(TRANS, " %d ", *ntotal);
-            fflush(stdout);
-            debug_count += debug_unit;
-        }
-    }
-    gprintf(TRANS, "\ntotal samples: %d\n", *ntotal);
-    xlpop();
-    return max_sample;
-}
-
-
-sample_type sound_save_array(LVAL sa, long n, snd_type snd, 
-                             char *buf, long *ntotal, snd_type player)
-{
-    long i, chans;
-    long buflen;
-    sound_state_type state;
-    double start_time = HUGE_VAL;
-    float *float_bufp;
-    LVAL sa_copy;
-    long debug_unit;    /* print messages at intervals of this many samples */
-    long debug_count;   /* next point at which to print a message */
-    sample_type max_sample = 0.0F;
-    cvtfn_type cvtfn;
-
-    *ntotal = 0;
-
-    /* THE ALGORITHM: first merge floating point samples from N channels
-     * into consecutive multi-channel frames in buf.  Then, treat buf
-     * as just one channel and use one of the cvt_to_* functions to
-     * convert the data IN PLACE in the buffer (this is ok because the
-     * converted data will never take more space than the original 32-bit
-     * floats, so the converted data will not overwrite any floats before
-     * the floats are converted
-     */
-
-    /* if snd_expr was simply a symbol, then sa now points to
-        a shared sound_node.  If we read samples from it, then
-        the sounds bound to the symbol will be destroyed, so
-        copy it first.  If snd_expr was a real expression that
-        computed a new value, then the next garbage collection
-        will reclaim the sound array.  See also sound_save_sound()
-    */
-    chans = getsize(sa);
-    if (chans > MAX_SND_CHANNELS) {
-        xlerror("sound_save: too many channels", sa);
-        free(buf);
-        snd_close(snd);
-    }
-    xlprot1(sa);
-    sa_copy = newvector(chans);
-    xlprot1(sa_copy);
-
-    /* Why do we copy the array into an xlisp array instead of just
-     * the state[i] array? Because some of these sounds may reference
-     * the lisp heap. We must put the sounds in an xlisp array so that
-     * the gc will find and mark them. xlprot1(sa_copy) makes the array
-     * visible to gc.
-     */
-    for (i = 0; i < chans; i++) {
-        sound_type s = getsound(getelement(sa, i));
-        setelement(sa_copy, i, cvsound(sound_copy(s)));
-    }
-    sa = sa_copy;	/* destroy original reference to allow GC */
-
-    state = (sound_state_type) malloc(sizeof(sound_state_node) * chans);
-    for (i = 0; i < chans; i++) {
-        state[i].sound = getsound(getelement(sa, i));
-        state[i].scale = state[i].sound->scale;
-D       nyquist_printf("save scale factor %d = %g\n", (int)i, state[i].scale);
-        state[i].terminated = false;
-        state[i].cnt = 0;   /* force a fetch */
-        start_time = min(start_time, state[i].sound->t0);
-    }
-
-    for (i = 0; i < chans; i++) {
-        if (state[i].sound->t0 > start_time)
-            sound_prepend_zeros(state[i].sound, start_time);
-    }
-
-    /* for debugging */
-/*    printing_this_sound = s;*/
-
-    cvtfn = find_cvt_to_fn(snd, buf);
-
-#ifdef MACINTOSH
-    if (player) {
-        gprintf(TRANS, "Playing audio: Click and hold mouse button to stop playback.\n");
-    }
-#endif
-
-    debug_unit = debug_count = (long) max(snd->format.srate, 10000.0);
-
-    while (n > 0) {
-        /* keep the following information for each sound:
-            has it terminated?
-            pointer to samples
-            number of samples remaining in block
-           scan to find the minimum remaining samples and
-           output that many in an inner loop.  Stop outer
-           loop if all sounds have terminated
-         */
-        int terminated = true;
-        int togo = n;
-        int j;
-        float peak;
-
-        oscheck();
-
-        for (i = 0; i < chans; i++) {
-            if (state[i].cnt == 0) {
-                if (sndwrite_trace) {
-                    nyquist_printf("CALLING SOUND_GET_NEXT "
-                                   "ON CHANNEL %d (%p)\n",
-                                   (int)i, state[i].sound);
-                    sound_print_tree(state[i].sound);
-                }
-                state[i].ptr = sound_get_next(state[i].sound,
-                                   &(state[i].cnt))->samples;
-                if (sndwrite_trace) {
-                    nyquist_printf("RETURNED FROM CALL TO SOUND_GET_NEXT "
-                                   "ON CHANNEL %d\n", (int)i);
-                }
-                if (state[i].ptr == zero_block->samples) {
-                    state[i].terminated = true;
-                }
-            }
-            if (!state[i].terminated) terminated = false;
-            togo = min(togo, state[i].cnt);
-        }
-
-        if (terminated) break;
-
-        float_bufp = (float *) buf;
-        for (j = 0; j < togo; j++) {
-            for (i = 0; i < chans; i++) {
-                double s = *(state[i].ptr++) * state[i].scale; 
-                *float_bufp++ = (float) s;
-            }
-        }
-        // we're treating sound as mono for the conversion, so multiply
-        // togo by chans to get proper number of samples, and divide by
-        // chans to convert back to frame count required by snd_write
-        buflen = (*cvtfn)((void *) buf, (void *) buf, togo * chans, 1.0F, 
-                          &peak) / chans;
-        if (peak > max_sample) max_sample = peak;
-#ifdef MACINTOSH
-        if (Button()) {
-            if (player) {
-                snd_reset(player);
-            }
-            gprintf(TRANS, "\n\nStopping playback...\n\n\n");
-            break;
-        }
-#endif
-
-        if (snd->u.file.file != -1) snd_write(snd, (void *) buf, buflen);
-        if (player) write_to_audio(player, (void *) buf, buflen);
-
-        n -= togo;
-        for (i = 0; i < chans; i++) {
-            state[i].cnt -= togo;
-        }
-        *ntotal += togo;
-        if (*ntotal > debug_count) {
-            gprintf(TRANS, " %d ", *ntotal);
-            fflush(stdout);
-            debug_count += debug_unit;
-        }
-    }
-    gprintf(TRANS, "total samples: %d x %d channels\n",
-           *ntotal, chans);
-
-    /* references to sounds are shared by sa_copy and state[].
-     * here, we dispose of state[], allowing GC to do the
-     * sound_unref call that frees the sounds. (Freeing them now
-     * would be a bug.)
-     */
-    free(state);
-    xlpop();
-    return max_sample;
-}
-
-
diff --git a/lib-src/libnyquist/nyqsrc/sndwrite.h b/lib-src/libnyquist/nyqsrc/sndwrite.h
deleted file mode 100644
index 776ac2c..0000000
--- a/lib-src/libnyquist/nyqsrc/sndwrite.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* sndwrite.h -- header to write sounds to files */
-
-double sound_save(LVAL snd_expr, long n,
-          unsigned char *filename, long format,
-          long mode, long bits, long swap, double *sr, long *nchans,
-          double *duration, LVAL play);
-/* LISP: (SND-SAVE ANY FIXNUM STRING FIXNUM FIXNUM FIXNUM FIXNUM ANYNUM^ FIXNUM^ ANYNUM^ ANY) */
-
-double sound_overwrite(LVAL snd_expr, long n,
-               unsigned char *filename, long byte_offset,
-               long header, long mode, long bits, long swap, double sr, long nchans,
-               double *duration);
-/* LISP: (SND-OVERWRITE ANY FIXNUM STRING FIXNUM FIXNUM FIXNUM FIXNUM FIXNUM ANYNUM FIXNUM ANYNUM^) */
diff --git a/lib-src/libnyquist/nyqsrc/sound.c b/lib-src/libnyquist/nyqsrc/sound.c
deleted file mode 100644
index 2c85557..0000000
--- a/lib-src/libnyquist/nyqsrc/sound.c
+++ /dev/null
@@ -1,1653 +0,0 @@
-/* sound.c -- nyquist sound data type */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability and fix compiler warnings
- */
-
-/* define size_t: */
-#ifdef UNIX
-#include "sys/types.h"
-#endif  
-#include <stdio.h>
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "samples.h"
-#include "extern.h"
-#include "debug.h"
-
-/* #define GC_DEBUG */
-#ifdef GC_DEBUG
-sound_type sound_to_watch;
-#endif
-
-/* #define SNAPSHOTS */
-
-long table_memory;
-
-sample_block_type zero_block;
-sample_block_type internal_zero_block;
-
-snd_list_type zero_snd_list;
-
-xtype_desc sound_desc;
-LVAL a_sound;
-
-static void sound_xlfree();
-static void sound_xlprint();
-static void sound_xlsave();
-static unsigned char *sound_xlrestore();
-
-void sound_print_array(LVAL sa, long n);
-void sound_print_sound(sound_type s, long n);
-void sample_block_unref(sample_block_type sam);
-
-#ifdef SNAPSHOTS
-boolean sound_created_flag = false;
-#endif
-
-
-/* xlbadsr - report a "bad combination of sample rates" error */
-LVAL snd_badsr(void)
-{
-    xlfail("bad combination of sample rates");
-    return NIL; /* never happens */
-}
-
-
-/* compute-phase -  given a phase in radians, a wavetable specified as
- *  the nominal pitch (in half steps), the table length, and the sample
- *  rate, compute the sample number corresponding to the phase.  This
- *  routine makes it easy to initialize the table pointer at the beginning
- *  of various oscillator implementations in Fugue.  Note that the table
- *  may represent several periods, in which case phase 360 is not the same
- *  as 0.  Also note that the phase increment is also computed and returned
- *  through incr_ptr.
- */
-double compute_phase(phase, key, n, srate, new_srate, freq, incr_ptr)
-  double phase;  /* phase in degrees (depends on ANGLEBASE) */
-  double key;    /* the semitone number of the table played at srate */
-  long n;        /* number of samples */
-  double srate;  /* the sample rate of the table */
-  double new_srate;  /* sample rate of the result */
-  double freq;   /* the desired frequency */
-  double *incr_ptr; /* the sample increment */
-{
-    double period = 1.0 / step_to_hz(key);
-
-    /* convert phase to sample units */
-    phase = srate * period * (phase / (double) ANGLEBASE);
-    /* phase is now in sample units; if phase is less than zero, then increase
-       it by some number of sLength's to make it positive:
-     */
-    if (phase < 0)
-        phase += (((int) ((-phase) / n)) + 1) * n;
-
-    /* if phase is longer than the sample length, wrap it by subtracting the
-       integer part of the division by sLength:
-     */
-    if (phase > n)
-        phase -= ((int) (phase / n)) * n;
-
-    /* Now figure the phase increment: to reproduce original pitch
-       required incr = srate / new_srate.  To get the new frequency,
-       scale by freq / nominal_freq = freq * period:
-     */
-    *incr_ptr = (srate / new_srate) * freq * period;
-    return phase;
-}
-#ifndef GCBUG
-snd_list_type gcbug_snd_list = 0;
-long blocks_to_watch_len = 0;
-sample_block_type blocks_to_watch[blocks_to_watch_max];
-
-void block_watch(long sample_block)
-{
-    if (blocks_to_watch_len >= blocks_to_watch_max) {
-        stdputstr("block_watch - no more space to save pointers\n");
-        return;
-    }
-    blocks_to_watch[blocks_to_watch_len++] = (sample_block_type) sample_block;
-    nyquist_printf("block_watch - added %d = %x\n",
-                   (int)sample_block, (int)sample_block);
-}
-
-
-/* fetch_zeros -- the fetch function for appended zeros */
-/*
- * zeros are appended when the logical stop time exceeds the 
- * (physical) terminate time.  This fetch function is installed
- * by snd_list_terminate().  When appending zeros, we just return
- * a pointer to the internal_zero_block and increment current until
- * it reaches log_stop_cnt.  Then we call snd_list_terminate() to
- * finish off the sound list.
- */
-
-void fetch_zeros(snd_susp_type susp, snd_list_type snd_list)
-{
-    int len = MIN(susp->log_stop_cnt - susp->current,
-                   max_sample_block_len);
-/*    nyquist_printf("fetch_zeros, lsc %d current %d len %d\n", 
-            susp->log_stop_cnt, susp->current, len); */
-    if (len < 0) {
-        char error[80];
-        sprintf(error, "fetch_zeros susp %p (%s) len %d", susp, susp->name, len);
-        xlabort(error);
-    }
-    if (len == 0) { /* we've reached the logical stop time */
-        /* nyquist_printf("fetch_zeros: reached the logical stop in %s cnt %d\n",
-               susp->name, susp->log_stop_cnt); */
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = len;
-        susp->current += len;
-    }
-}
-
-
-/* sound_nth_block - fetch the address of the nth sample block of a sound */
-/*
- * NOTE: intended to be called from lisp.  Lisp can then call block_watch
- * to keep an eye on the block.
- */
-long sound_nth_block(sound_type snd, long n)
-{
-    long i;
-    snd_list_type snd_list = snd->list;
-    for (i = 0; i < n; i++) {
-        if (i == 1) {
-            gcbug_snd_list = snd_list;
-            nyquist_printf("gcbug_snd_list = 0x%p\n", gcbug_snd_list);
-        }
-        if (!snd_list->block) return 0;
-        snd_list = snd_list->u.next;
-    }
-    if (snd_list->block) return (long) snd_list->block;
-    else return 0;
-}
-
-#endif
-
-
-/****************************************************************************
-*                               snd_list_create
-* Inputs:
-*       snd_susp_type susp: A reference to the suspension
-* Result: snd_list_type
-*       A newly-created sound list type
-* Effect: 
-*       Allocates and initializes a snd_list node:
-*         block    refcnt  block_len susp  logically_stopped
-*       +--------+--------+-------+-------+---+
-*       |////////|   1    |   0   | susp  | F |
-*       +--------+--------+-------+-------+---+
-****************************************************************************/
-
-/* snd_list_create -- alloc and initialize a snd_list node */
-/**/
-snd_list_type snd_list_create(snd_susp_type susp)
-{
-    snd_list_type snd_list;
-
-    falloc_snd_list(snd_list, "snd_list_create");
-
-    snd_list->block = NULL;             /* no block of samples */
-    snd_list->u.susp = susp;            /* point to suspension */
-    snd_list->refcnt = 1;               /* one ref */
-    snd_list->block_len = 0;            /* no samples */
-    snd_list->logically_stopped = false;/* not stopped */
-/*    nyquist_printf("snd_list_create => %p\n", snd_list);*/
-    return snd_list;
-}
-
-
-/****************************************************************************
-*                                sound_create
-* Inputs:
-*       snd_susp_type susp: The suspension block to be used for this sound
-*       time_type t0: The initial time for this sound
-*       rate_type sr: The sampling rate for this sound
-*       sample_type scale: The scaling factor for this sound
-*       sample_block_type (*proc)(...): The get_next_sound method
-* Result: sound_type
-*       
-* Effect: 
-*       Creates and initializes a sound type
-* Notes:
-*       The MSDOS conditional is actually a test for ANSI headers; the
-*       presence of float parameters means that an ANSI prototype and
-*       a non-ANSI header are incompatible.  Better solution would be
-*       to ANSIfy source.
-****************************************************************************/
-
-sound_type last_sound = NULL;
-
-sound_type sound_create(
-  snd_susp_type susp,
-  time_type t0,
-  rate_type sr,
-  promoted_sample_type scale)
-{
-    sound_type sound;
-    falloc_sound(sound, "sound_create");
-    if (((long) sound) & 3) errputstr("sound not word aligned\n");
-    last_sound = sound; /* debug */
-    /* nyquist_printf("sound_create %p gets %g\n", sound, t0); */
-    sound->t0 = t0;
-    sound->time = t0;
-    sound->stop = MAX_STOP;
-    sound->sr = sr;
-    sound->current = 0;
-    sound->scale = (float) scale;
-    sound->list = snd_list_create(susp);
-    sound->get_next = SND_get_first;
-    sound->logical_stop_cnt = UNKNOWN;
-    sound->table = NULL;
-    sound->extra = NULL;
-    /* nyquist_printf("sound_create susp %p snd_list %p\n", susp, sound->list);
-       nyquist_printf("sound_create'd %p\n", sound); */
-#ifdef SNAPSHOTS
-    sound_created_flag = true;
-#endif
-#ifdef GC_DEBUG
-    if (sound == sound_to_watch) {
-        nyquist_printf("Created watched sound\n");
-        watch_snd_list(sound->list);
-    }
-#endif
-    return sound;
-}
-
-
-/* sound_prepend_zeros -- modify sound_type so that it starts at t0 */
-/*
- * assumes t0 is earlier than snd->t0, so the sound should return zeros
- * until snd->t0 is reached, after which we revert to normal computation.
- * When we return, the new snd->t0 will be t0, meaning that the first
- * sample returned will be at time t0.
- * NOTE: t0 may not be an exact multiple of samples earlier than snd->t0,
- * but Nyquist allows any sound to be shifted by +/- 0.5 samples in 
- * order to achieve alignment.  Since sound_prepend_zeros can be called
- * many times on the same sound_type, there is a chance that rounding 
- * errors could accumulate.  My first solution was to return with 
- * snd->t0 computed exactly and not reflecting any fractional sample 
- * shift of the signal, but this caused problems for the caller: a 
- * fractional sample shift at a low sample rate could correspond to 
- * many client samples,fooling the client into thinking that some 
- * initial samples should be discarded (or else requiring the client
- * to be pretty smart).  The solution used here is to return to the
- * client with snd->t0 exactly equal to t0, but to save snd->true_t0
- * equal to the time of the first sample with no sound shifting.  This
- * time is used for any future sound_prepend_zeros operations so that
- * any accumulated rounding errors are due only to floating point 
- * precision and not to accumulated fractional sample shifts of snd.
- */
-void sound_prepend_zeros(sound_type snd, time_type t0)
-{
-    long n;
-
-    /* first, see if we're already prepending some zeros */
-    if (snd->get_next != SND_get_zeros) {
-/*        nyquist_printf("sound_prepend_zeros 1: snd->t0 %g t0 %g\n", snd->t0,  t0); */
-
-        /* if not, then initialize some fields that support prepending */
-        snd->prepend_cnt = 0;
-        snd->true_t0 = snd->t0;
-
-        /* save old get_next and plug in special get_next function */
-        snd->after_prepend = snd->get_next;
-        snd->get_next = SND_get_zeros;
-    }
-
-    n = (long) (((snd->true_t0 - t0) * snd->sr) + 0.5); /* how many samples to prepend */
-
-    /* add to prepend_cnt so first sample will correspond to new t0 */
-    snd->prepend_cnt += n;
-    /* compute the true t0 which corresponds to the time of first sample */
-    snd->true_t0 -= (n / snd->sr);
-    /* make caller happy by claiming the sound now starts at exactly t0;
-     * this is always true within 0.5 samples as allowed by Fugue. */
-    snd->t0 = t0;
-/*    nyquist_printf("sound_prepend_zeros: snd %p true_t0 %g sr %g n %d\n", 
-           snd, snd->true_t0, snd->sr, n);*/
-}
-
-
-/* sound_array_copy -- copy an array of sounds */
-/*
- * NOTE: be sure to protect the result from gc!
- */
-LVAL sound_array_copy(LVAL sa)
-{
-    long i = getsize(sa);
-    LVAL new_sa = newvector(i);
-    xlprot1(new_sa);
-
-    while (i > 0) {
-        i--;
-        setelement(new_sa, i, 
-                   cvsound(sound_copy(getsound(getelement(sa, i)))));
-    }
-
-    xlpop();
-    return new_sa;
-}
-
-
-/* sound_copy - copy a sound structure, do reference counts */
-/**/
-sound_type sound_copy(sound_type snd)
-{
-    sound_type sndcopy;
-
-    falloc_sound(sndcopy, "sound_copy");
-    *sndcopy = *snd;    /* copy the whole structure */
-    snd_list_ref(snd->list);    /* copied a reference so fix the count */
-/*    nyquist_printf("sound_copy'd %p to %p\n", snd, sndcopy); */
-    if (snd->table) snd->table->refcount++;
-#ifdef GC_DEBUG
-    if (sndcopy == sound_to_watch) abort();
-#endif
-    return sndcopy;
-}
-
-
-/* convert a sound to a wavetable, set length */
-/**/
-table_type sound_to_table(sound_type s)
-{
-    long len = snd_length(s, max_table_len);
-    long tx = 0;        /* table index */
-    long blocklen;
-    register double scale_factor = s->scale;
-    sound_type original_s = s;
-    table_type table; /* the new table */
-    long table_bytes; /* how big is the table */
-
-    if (s->table) {
-        s->table->refcount++;
-        return s->table;
-    }
-
-    if (len >= max_table_len) {
-        char emsg[100];
-        sprintf(emsg, "maximum table size (%d) exceeded", max_table_len);
-        xlcerror("use truncated sound for table", emsg, NIL);
-    } else if (len == 0) {
-        xlabort("table size must be greater than 0");
-    }
-
-
-    len++;      /* allocate extra sample at end of table */
-    s = sound_copy(s);
-
-    /* nyquist_printf("sound_to_table: allocating table of size %d\n", len); */
-    table_bytes = table_size_in_bytes(len);
-    table = (table_type) malloc(table_bytes);
-    if (!table) xlfail("osc_init couldn't allocate memory for table");
-    table_memory += table_bytes;
-
-    table->length = (double) (len - 1);
-
-    while (len > 1) {
-        sample_block_type sampblock = sound_get_next(s, &blocklen);
-        long togo = MIN(blocklen, len);
-        long i;
-        sample_block_values_type sbufp = sampblock->samples;
-/*      nyquist_printf("in sound_to_table, sampblock = %d\n", sampblock);*/
-        for (i = 0; i < togo; i++) {
-            table->samples[tx++] = (float) (*sbufp++ * scale_factor);
-        }
-        len -= togo;
-    }
-    /* for interpolation, duplicate first sample at end of table */
-    table->samples[tx] = table->samples[0];
-    table->refcount = 2;    /* one for the user, one from original_s */
-
-    sound_unref(s);
-    s = NULL;
-    original_s->table = table;
-    return table;
-}
-
-
-void table_free(table_type table)
-{
-    long len = (long) (table->length) + 1;
-    long bytes = table_size_in_bytes(len);
-    free(table);
-    table_memory -= bytes;
-}
-
-
-void table_unref(table_type table)
-{
-    if (!table) return;
-    table->refcount--;
-    if (table->refcount <= 0) {
-        /* nyquist_printf("table refcount went to zero\n"); */
-        table_free(table);
-    }
-}
-
-
-void sound_unref(sound_type snd)
-/* note that sounds do not have ref counts, so sound_unref
- * always frees the sound object
- */
-{
-    if (!snd) return;
-    snd_list_unref(snd->list);
-    table_unref(snd->table);
-/*    nyquist_printf("\t\t\t\t\tfreeing sound@%p\n", snd);*/
-    if (snd->extra) free(snd->extra);
-    ffree_sound(snd, "sound_unref");
-}
-
-
-void snd_list_ref(snd_list_type list)
-{
-    list->refcnt++;
-}
-
-
-void snd_list_terminate(snd_list)
-  snd_list_type snd_list;
-{
-    snd_susp_type susp = snd_list->u.next->u.susp;
-    long lsc = susp->log_stop_cnt;
-    long current = susp->current;
-    /* unreference the empty sample block that was allocated: */
-    sample_block_unref(snd_list->block);
-    /* use zero_block instead */
-    snd_list->block = zero_block;
-    /* either fetch more zeros or terminate now */
-    if (lsc != UNKNOWN && lsc > current) {
-        /* nyquist_printf("snd_list_terminate: lsc %d current %d\n", 
-                lsc, current); */
-        susp->fetch = fetch_zeros;
-        fetch_zeros(susp, snd_list);
-    } else {
-        snd_list->block_len = max_sample_block_len;
-        snd_list->logically_stopped = true;
-        snd_list_unref(snd_list->u.next);
-        snd_list->u.next = zero_snd_list;       /* be zero forever */
-    }
-}
-
-
-void snd_list_unref(snd_list_type list)
-{
-    void (*freefunc)();
-
-    if (list == NULL || list == zero_snd_list) {
-        if (list == NULL)
-           nyquist_printf("why did snd_list_unref get %p?\n", list);
-        return;
-    }
-    list->refcnt--;
-/*    nyquist_printf("snd_list_unref "); print_snd_list_type(list); stdputstr("\n"); */
-    if (list->refcnt == 0) {
-        if (list->block && list->block != zero_block) {
-            /* there is a next snd_list */
-/*          stdputstr("["); */
-            sample_block_unref(list->block);
-/*          stdputstr("]"); */
-            snd_list_unref(list->u.next);
-        }
-        else if (list->block == NULL) { /* the next thing is the susp */
-            /* free suspension structure */
-            /* nyquist_printf("freeing susp@%p\n", list->u.susp); */
-            freefunc = list->u.susp->free;
-            (*freefunc)(list->u.susp);
-        }
-        /* nyquist_printf("freeing snd_list@%p\n", list); */
-        ffree_snd_list(list, "snd_list_unref");
-    }
-}
-
-
-void sample_block_ref(sample_block_type sam)
-{
-    sam->refcnt++;
-}
-
-
-void sample_block_test(sample_block_type sam, char *s)
-{
-    /* see if this block is being watched */
-    int i;
-    for (i = 0; i < blocks_to_watch_len; i++) {
-        if ((sam > (blocks_to_watch[i] - 1)) &&
-            (sam < (blocks_to_watch[i] + 1))) {
-            nyquist_printf(
-    "WOOPS! %s(0x%p) refers to a block 0x%p on the watch list!\n",
-                    s, sam, blocks_to_watch[i]);
-        }
-    }
-}
-
-
-void sample_block_unref(sample_block_type sam)
-{
-    sam->refcnt--;
-    if (sam->refcnt == 0) {
-#ifndef GCBUG
-    sample_block_test(sam, "sample_block_unref");
-#endif        
-/*      nyquist_printf("freeing sample block %p\n", sam); */
-        ffree_sample_block(sam, "sample_block_unref");
-    }
-}
-
-
-
-/****************************************************************************
-*                                interp_style
-* Inputs:
-*       sound_type s: The sound we are using
-*       rate_type sr: The sampling rate
-* Result: int
-*       A small integer which is one of the symbolic values:
-*       The values are ordered, smallest to largest, as
-*               INTERP_n - none
-*               INTERP_s - scale
-*               INTERP_i - interpolated
-*               INTERP_r - ramp
-*
-* Notes: 
-*       The sampling rate s->sr and scale factor s->scale are compared
-*       with other values exactly (no fuzz).  
-****************************************************************************/
-
-int interp_style(sound_type s, rate_type sr)
-{
-    if (s->sr == sr) 
-       { /* same sample rate */
-        return ((s->scale == 1.0) ? INTERP_n : INTERP_s);
-       } /* same sample rate */
-    else 
-    if (s->sr * 10.0 > sr) 
-       { /* 10x sample rate */
-        return INTERP_i;
-       } /* 10x sample rate */
-    else 
-       return INTERP_r;
-}
-
-
-/****************************************************************************
-*                                 snd_sort_2
-* Inputs:
-*       sound_type * s1_ptr:
-*       sound_type * s2_ptr:
-*       rate_type sr:
-* Result: void
-*       
-* Effect: 
-*       If the interp_style of s1 dominates the interp_style of s2,
-*       the sound_types input are interchanged.
-****************************************************************************/
-
-/* snd_sort_2 -- sort 2 arguments by interpolation method */
-void snd_sort_2(sound_type *s1_ptr, sound_type *s2_ptr, rate_type sr)
-{
-    if (interp_style(*s1_ptr, sr) > interp_style(*s2_ptr, sr)) {
-        sound_type s = *s1_ptr;
-        *s1_ptr = *s2_ptr;
-        *s2_ptr = s;
-    }
-}
-
-
-/* snd_sref -- access a sound at a given time point */
-/**/
-double snd_sref(sound_type s, time_type t)
-{
-    double exact_cnt;      /* how many fractional samples to scan */
-    int cnt;               /* how many samples to flush */
-    sample_block_type sampblock = NULL;
-    long blocklen;
-    sample_type x1, x2;    /* interpolate between these samples */
-
-        /* changed true_t0 to just t0 based on comment that true_t0 is only
-         * for use by snd_prepend_zeros -RBD
-         */
-    exact_cnt = (t - s->t0) * s->sr;
-    if (exact_cnt < 0.0) return 0.0;
-
-    s = sound_copy(s);     /* don't modify s, create new reader */
-    cnt = (long) exact_cnt;       /* rounds down */
-    exact_cnt -= cnt;      /* remember fractional remainder */
-
-    /* now flush cnt samples */
-    while (cnt >= 0) {
-        sampblock = sound_get_next(s, &blocklen);
-        cnt -= blocklen;
-        if (sampblock == zero_block) {
-            sound_unref(s);
-            return 0.0;
-        }
-    }
-    /* -blocklen <= cnt <= -1 */
-
-    /* get next 2 samples and interpolate */
-    x1 = sampblock->samples[blocklen + cnt];
-    if (cnt == -1) {
-        sampblock = sound_get_next(s, &blocklen);
-        cnt -= blocklen;
-    }
-    x2 = sampblock->samples[blocklen + cnt + 1];
-    sound_unref(s);        /* free the reader */
-
-    return (x1 + exact_cnt * (x2 - x1)) * s->scale;
-}
-
-
-/* snd_sref_inverse -- find time point corresponding to some value */
-/**/
-double snd_sref_inverse(sound_type s, double val)
-{
-    double exact_cnt;      /* how many fractional samples to scan */
-    int i;
-    sample_block_type sampblock;
-    long blocklen;
-    sample_type x1, x2;    /* interpolate between these samples */
-
-    if (val < 0) {
-        xlcerror("return 0", "negative value", cvflonum(val));
-        return 0.0;
-    }
-    s = sound_copy(s);     /* don't modify s, create new reader */
-
-    x1 = 0.0F;
-    /* now flush cnt samples */
-    while (true) {
-        sampblock = sound_get_next(s, &blocklen);
-        x2 = sampblock->samples[blocklen - 1];
-        if (x2 >= val) break;
-        x1 = x2;
-        if (sampblock == zero_block) {
-            xlcerror("return 0", "too large, no inverse", cvflonum(val));
-            sound_unref(s);
-            return 0.0;
-        }
-    }
-    /* x1 = last sample of previous block,
-       sampblock contains a value larger than val
-       blocklen is the length of sampblock */
-
-    /* search for first element exceeding val - could
-     * use binary search, but maximum block size places
-     * an upper bound on how bad this can get and we
-     * search for the right block linearly anyway.
-     */
-    for (i = 0; i < blocklen && sampblock->samples[i] <= val; i++) ;
-
-    /* now i is index of element exceeding val */
-    if (i > 1) x1 = sampblock->samples[i - 1];
-    x2 = sampblock->samples[i];
-
-    /* now interpolate to get fractional part */
-    if (x2 == x1) exact_cnt = 0;
-    else exact_cnt = (val - x1) / (x2 - x1);
-
-    /* and add the sample count of x1 */
-    exact_cnt += (s->current - blocklen) + (i - 1);
-
-    /* negative counts are possible because the first x1 is at
-     * sample -1, so force the location to be at least 0
-     */
-    if (exact_cnt < 0) exact_cnt = 0;
-
-    /* compute time = t0 + count / samplerate; */
-    exact_cnt = s->t0 + exact_cnt / s->sr;
-
-    sound_unref(s);        /* free the reader */
-    return exact_cnt;
-}
-
-
-time_type snd_stop_time(sound_type s)
-{
-    if (s->stop == MAX_STOP) return MAX_STOP_TIME;
-    else return s->t0 + (s->stop + 0.5) / s->sr;
-}
-
-
-/* snd_xform -- return a sound with transformations applied */
-/*
- * The "logical" sound starts at snd->time and runs until some
- * as yet unknown termination time.  (There is also a possibly
- * as yet unknown logical stop time that is irrelevant here.)
- * The sound is clipped (zero) until snd->t0 and after snd->stop,
- * the latter being a sample count, not a time_type.
- * So, the "physical" sound starts at snd->t0 and runs for up to
- * snd->stop samples (or less if the sound terminates beforehand).
- *
- * The snd_xform procedure operates at the "logical" level, shifting
- * the sound from its snd->time to time.  The sound is stretched as
- * a result of setting the sample rate to sr.  It is then (further) 
- * clipped between start_time and stop_time.  If initial samples
- * are clipped, the sound is shifted again so that it still starts
- * at time.  The sound is then scaled by scale.
- *
- * To support clipping of initial samples, the "physical" start time
- * t0 is set to when the first unclipped sample will be returned, but
- * the number of samples to clip is saved as a negative count.  The
- * fetch routine SND_flush is installed to flush the clipped samples
- * at the time of the first fetch.  SND_get_first is then installed
- * for future fetches.
- *
- * An empty (zero) sound will be returned if all samples are clipped.
- *
- */
-sound_type snd_xform(sound_type snd,
-                      rate_type sr,
-                      time_type time,
-                      time_type start_time,
-                      time_type stop_time,
-                      promoted_sample_type scale)
-{
-    long start_cnt, stop_cnt; /* clipping samples (sample 0 at new t0) */
-
-    /* start_cnt should reflect max of where the sound starts (t0)
-     * and the new start_time.
-     */
-    if (start_time == MIN_START_TIME) {
-        start_cnt = 0;
-    } else {
-        double new_start_cnt = ((start_time - time) * sr) + 0.5;
-        start_cnt = ((new_start_cnt > 0) ? (long) new_start_cnt : 0);
-    }
-    /* if (start_cnt < -(snd->current)) start_cnt = -(snd->current); */
-
-    /* stop_cnt should reflect min of the new stop_time and the previous
-     * snd->stop.
-     */
-    if (stop_time == MAX_STOP_TIME) {
-        stop_cnt = MAX_STOP;
-    } else {
-        double new_stop_cnt = ((stop_time - time) * sr) + 0.5;
-        if (new_stop_cnt < MAX_STOP) {
-            stop_cnt = (long) new_stop_cnt;
-        } else {
-            errputstr("Warning: stop count overflow in snd_xform\n");
-            stop_cnt = MAX_STOP;
-        }
-    }
-
-    if (stop_cnt > snd->stop) {
-        stop_cnt = snd->stop;
-    }
-
-    if (stop_cnt < 0 || start_cnt >= stop_cnt) {
-        snd = sound_create(NULL, time, sr, 1.0);
-        /* sound_create goes ahead and allocates a snd_list node, so
-         * we need to free it.  
-         * Calling snd_list_unref here seems like the right thing, but 
-         * it assumes too much structure is in place.  ffree_snd_list
-         * is simpler and more direct:
-         */
-        ffree_snd_list(snd->list, "snd_xform");
-        snd->list = zero_snd_list;
-        nyquist_printf("snd_xform: (stop_time < t0 or start >= stop) "
-                       "-> zero sound = %p\n", snd);
-        
-    } else {
-        snd = sound_copy(snd);
-        snd->t0 = time;
-        if (start_cnt) {
-            snd->current -= start_cnt; /* indicate flush with negative num. */
-            /* the following code assumes that SND_get_first is the
-              routine to be called to get the first samples from this 
-              sound.  We're going to replace it with SND_flush.  First,
-              make sure that the assumption is correct:
-            */
-            if ((snd->get_next != SND_get_first) &&
-                (snd->get_next != SND_flush)) {
-                errputstr("snd_xform: SND_get_first expected\n");
-                EXIT(1);
-            }
-            /* this will flush -current samples and revert to SND_get_first */
-            snd->get_next = SND_flush;
-            stop_cnt -= start_cnt;
-        }
-        snd->stop = stop_cnt;
-        snd->sr = sr;
-        snd->scale *= (float) scale;
-    }
-    return snd;
-}
-
-
-/* SND_flush -- the get_next function for flushing clipped samples */
-/*
- * this only gets called once: it flushes -current samples (a 
- * non-real-time operation) and installs SND_get_next to return
- * blocks normally from then on.
- */
-sample_block_type SND_flush(sound_type snd, long * cnt)
-{
-    long mycnt;
-    sample_block_type block = SND_get_first(snd, &mycnt);
-    while (snd->current < 0) {
-        block = SND_get_next(snd, &mycnt);
-    }
-    /* at this point, we've read to and including the block with
-     * the first samples we want to return.  If the block boundary
-     * is in the right place, we can do a minimal fixup and return:
-     */
-    if (snd->current == snd->list->block_len) {
-        *cnt = snd->current; /* == snd->list->block_len */
-        /* snd->get_next = SND_get_next; -- done by SND_get_first */
-        return block;
-    } else /* snd->current < snd->list->block_len */ {
-        long i;
-        sample_block_values_type from_ptr;
-        /* we have to return a partial block */
-        /* NOTE: if we had been smart, we would have had SND_get_next
-         * return a pointer to samples rather than a pointer to the
-         * block, which has a reference count.  Since the caller
-         * expects a pointer to a reference count, we have to copy
-         * snd->current samples to a new block
-         */
-        snd_list_type snd_list = snd_list_create((snd_susp_type) snd->list->u.next);
-        snd_list->u.next->refcnt++;
-        falloc_sample_block(snd_list->block, "SND_flush");
-        /* now copy samples */
-        from_ptr = block->samples + snd->list->block_len - snd->current;
-        for (i = 0; i < snd->current; i++) {
-            snd_list->block->samples[i] = from_ptr[i];
-        }
-        snd_list_unref(snd->list);
-        snd->list = snd_list;
-        *cnt = snd->current;
-        return snd_list->block;
-    }
-}
-
-
-/* SND_get_zeros -- the get_next function for prepended zeros */
-/*
- * when prepending zeros, we just return a pointer to the internal_zero_block
- * and decrement the prepend_cnt until it goes to zero.  Then we revert to 
- * the normal (original) get_next function.
- *
- */
-sample_block_type SND_get_zeros(sound_type snd, long * cnt)
-{
-    int len = MIN(snd->prepend_cnt, max_sample_block_len);
-    /* stdputstr("SND_get_zeros: "); */
-    if (len < 0) {
-        char error[80];
-        sprintf(error, "SND_get_zeros snd %p len %d", snd, len);
-        xlabort(error);
-    }
-    if (len == 0) { /* we've finished prepending zeros */
-        snd->get_next = snd->after_prepend;
-        /* stdputstr("done, calling sound_get_next\n"); fflush(stdout); */
-        return sound_get_next(snd, cnt);
-    } else {
-        *cnt = len;
-        snd->current += len;
-        snd->prepend_cnt -= len;
-/*        nyquist_printf("returning internal_zero_block@%p\n", internal_zero_block);
-        fflush(stdout); */
-        return internal_zero_block;
-    }
-}
-
-
-/****************************************************************************
-*                                SND_get_next
-* Inputs:
-*       sound_type snd: The iterator whose next block is to be computed
-*       int * cnt: Place to put count of samples returned
-* Result: snd_list_type
-*       Pointer to the sample block computed ---------------------------+
-* Effect:                                                               |
-*       force suspension to compute next block of samples               |
-*                                                                       |
-*  Here's the protocol for using this and related functions:            |
-*  Every client (sample reader) has a private sound_type (an iterator), |
-*  and the sound_type's 'list' field points to a header (of type        |
-*  snd_list_type).  The header in turn points to a block of samples.    |
-*                                                                       |
-*                               +---------------------------------------+
-*                               |
-*                               |
-*                               |            sample_block_type
-*       (snd)                   V            +---+--+--+--+--+--+--+-...-+--+
-*       sound_type:        snd_list_type +-->|ref|  |  |  |  |//|//|     |//|
-*       +---------+        +----------+  |   +---+--+--+--+--+--+--+-...-+--+
-*       | list    +------->| block    +--+                 ^
-*       +---------+        +----------+                    :
-*       |  t0     |        | block_len|....................:
-*       +---------+        +----------+
-*       |  sr     |        | refcnt   |
-*       +---------+        +-+--------+
-*       | current |        | next   +---->...         Note: the union u
-*       +---------+        |u|........| snd_list_type    points to only one
-*       | rate    |        | | susp   +---->...          of the indicated
-*       +---------+        +-+--------+ susp_type        types
-*       | scalse  |        |log_stop  |
-*       +---------+        +----------+
-*       | lsc     |
-*       +---------+
-*       |get_next +-----> SND_get_next()
-*       +---------+
-*
-*  The sound_type keeps track of where the next sample block will 
-*  come from.  The field 'current' is the number of the first sample of
-*  the next block to be returned, where sample numbers start
-*  at zero.  The normal fetch procedure is this one, although special
-*  cases may generate special block generators, e.g., CONST does not need
-*  to allocate and refill a block and can reuse the same block over and
-*  over again, so it may have its own fetch procedure.  This is the
-*  general fetch procedure, which assumes that the generator function
-*  actually produces a slightly different value for each sample.
-*
-*  The distinguishing characteristic of whether the 'u' field is to be
-*  interpreted as 'next', a link to the next list element, or 'susp', a
-*  reference to the suspension for generating a new sample block, is
-*  whether the 'block' parameter is NULL or not.  If it is NULL, then
-*  u.susp tells how to generate the block; if it is not NULL, u.next is
-*  a pointer to the next sound block in the list.
-*
-*  When the 'block' pointer is NULL, we create a block of samples, and
-*  create a new sound list element which follows it which has a NULL
-*  'block' pointer; the 'u' field of the current list element is now
-*  interpreted as 'u.next'.
-*
-*      The client calls SND_get_next to get a pointer to a block of samples.
-*      The count of samples generated is returned via a ref parameter, and
-*      SND_get_next will not be called again until this set is exhausted.
-*
-*      The next time SND_get_next is called, it knows that the sample block
-*      has been exhausted.  It releases its reference to the block (and if
-*      that was the last reference, frees the block to the block allocation
-*      pool), allocates a new block from the block pool, and proceeds to
-*      fill it with samples.
-*
-*      Note that as an optimization, if the refcnt field goes to 0 it
-*      could immediately re-use the block without freeing back to the block
-*      pool and reallocating it.
-*
-*  Because of the way we handle sound sample blocks, the sound sample blocks
-*  themselves are ref-counted, so freeing the snd_list_type may not free
-*  the sample block it references.  At the level of this procedure, that
-*  is transparently handled by the snd_list_unref function.
-*
-*  Logical stop:
-*
-*  Logical stop is handled by several mechanisms.  The /intrinsic/ logical
-*  stop is an immutable property of the signal, and is determined by the
-*  specification in the algorithm description file.  When it is encountered,
-*  the 'logically_stopped' flag of the snd_list_node is set.
-*  The generators guarantee that the first time this is encountered, it
-*  will always be constructed so that the first sample of the block it
-*  references is the logical stop time.
-*
-*  In addition, the client may have set the /explicit logical stop time/ of
-*  the iterator (e.g., in nyquist, the (set-logical-stop sound time) call copies
-*  the sound, altering its logical stop).  The logical stop time, when set
-*  in this way, causes the logical_stop_cnt ('lsc' in the above diagram)
-*  to be set to the count of the last sample to be generated before the
-*  <logical stop time.  This will guarantee that the sound will indicate that
-*  it has reached its logical stop time when the indicated sample is 
-*  generated.
-****************************************************************************/
-
-void add_s1_s2_nn_fetch(); /* for debugging */
-
-/* SND_get_first -- the standard fn to get a block, after returning 
- *    the first block, plug in SND_get_next for successive blocks
- */
-sample_block_type SND_get_first(sound_type snd, long * cnt)
-{
-    register snd_list_type snd_list = snd->list;
-    /*
-     * If there is not a block of samples, we need to generate one.
-     */
-    if (snd_list->block == NULL) {
-        /*
-         * Call the 'fetch' method for this sound_type to generate 
-         * a new block of samples.
-         */
-        snd_susp_type susp = snd_list->u.susp;
-
-        snd_list->u.next = snd_list_create(susp);
-        snd_list->block = internal_zero_block;
-        /* nyquist_printf("SND_get_first: susp->fetch %p\n",
-                susp->fetch); */
-        (*(susp->fetch))(susp, snd_list);
-#ifdef GC_DEBUG
-        snd_list_debug(snd_list, "SND_get_first");
-#endif
-        /* nyquist_printf("SND_get_first: snd_list %p, block %p, length %d\n",
-               snd_list, snd_list->block, snd_list->block_len); */
-    }
-    if ((snd->logical_stop_cnt == UNKNOWN) && snd_list->logically_stopped) {
-        /* nyquist_printf("SND_get_first/next: snd %p logically stopped at %d\n",
-                snd, snd->current); */
-        snd->logical_stop_cnt = snd->current;
-    }
-
-    /* see if clipping needs to be applied */
-    if (snd->current + snd_list->block_len > snd->stop) {
-        /* need to clip: is clip on a block boundary? */
-        if (snd->current == snd->stop) {
-            /* block boundary: replace with zero sound */
-            snd->list = zero_snd_list;
-            snd_list_unref(snd_list);
-        } else {
-            /* not a block boundary: build new list */
-            snd->list = snd_list_create((snd_susp_type) zero_snd_list);
-            snd->list->block_len = (short) (snd->stop - snd->current);
-            snd->list->block = snd_list->block;
-            snd->list->block->refcnt++;
-            snd_list_unref(snd_list);
-        }
-        snd_list = snd->list; /* used below to return block ptr */
-    }
-
-    *cnt = snd_list->block_len;
-    /* this should never happen */
-    if (*cnt == 0) {
-        stdputstr("SND_get_first returned 0 samples\n");
-        dbg_mem_print("snd_list info:", snd_list);
-        dbg_mem_print("block info:", snd_list->block);
-        sound_print_tree(snd);
-        stdputstr("It is possible that you created a recursive sound\n");
-        stdputstr("using something like: (SETF X (SEQ (SOUND X) ...))\n");
-        stdputstr("Nyquist aborts from non-recoverable error\n");
-        abort();
-    }
-    snd->current += snd_list->block_len;    /* count how many we read */
-    snd->get_next = SND_get_next;
-    return snd_list->block;
-}
-
-
-sample_block_type SND_get_next(sound_type snd, long * cnt)
-{
-    register snd_list_type snd_list = snd->list;
-    /*
-     * SND_get_next is installed by SND_get_first, so we know
-     * when we are called that we are done with the current block
-     * of samples, so free it now.
-     */
-    snd_list_type cur = snd_list;
-    snd->list = snd_list = cur->u.next;
-    snd_list_ref(snd_list);
-    snd_list_unref(cur);  /* release the reference to the current block */
-
-    /* now that we've deallocated, we can use SND_get_first to finish the job */
-    return SND_get_first(snd, cnt);
-}
-
-
-
-/****************************************************************************
-*                               make_zero_block
-* Inputs:
-*       
-* Result: 
-*       
-* Effect: 
-*       
-****************************************************************************/
-
-sample_block_type make_zero_block(void)
-    {
-     sample_block_type zb;
-     int i;
-
-     falloc_sample_block(zb, "make_zero_block");
-     /* leave room for lots more references before overflow, 
-        but set the count high so that even a large number of
-        dereferences will not lead to a deallocation */
-     zb->refcnt = 0x6FFFFFFF;
-
-     for (i = 0; i < max_sample_block_len; i++) 
-        { /* fill with zeros */
-         zb->samples[i] = 0.0F;
-        } /* fill with zeros */
-     return zb;
-    }
-
-
-/* min_cnt -- help compute the logical stop or terminate as minimum */
-/*
- * take the sound (which has just logically stopped or terminated at
- * current sample) and
- * convert the stop sample into the equivalent sample count as produced by
- * susp (which may have a different sample rate).  If the count is less than
- * the current *cnt_ptr, overwrite cnt_ptr with a new minimum.  By calling
- * this when each of S1, S2, ... Sn reach their logical stop or termiate
- * points, *cnt_ptr will end up with the minimum stop count, which is what
- * we want.  NOTE: the logical stop time and terminate for signal addition 
- * should be the MAX of logical stop times of arguments, so this routine 
- * would not be used.
- */
-void min_cnt(long *cnt_ptr, sound_type sound, snd_susp_type susp, long cnt)
-{
-    long c = (long) ((((sound->current - cnt) / sound->sr + sound->t0) - susp->t0) *
-      susp->sr + 0.5);
-    /* if *cnt_ptr is uninitialized, just plug in c, otherwise compute min */
-    if ((*cnt_ptr == UNKNOWN) || (*cnt_ptr > c)) {
-/*        nyquist_printf("min_cnt %p: new count is %d\n", susp, c);*/
-/*        if (c == 0) sound_print_tree(printing_this_sound);*/
-        *cnt_ptr = c;
-    }
-}
-
-
-
-/****************************************************************************
-*                                 sound_init
-* Result: void
-*       
-* Effect: 
-*       Module initialization
-*       Allocates the 'zero block', the infinitely linked block of
-*       0-valued sounds.  This is referenced by a list element which
-*       refers to itself.
-****************************************************************************/
-
-void sound_init(void)
-{
-    zero_block = make_zero_block();
-    internal_zero_block = make_zero_block();
-
-    falloc_snd_list(zero_snd_list, "sound_init");
-
-    zero_snd_list->block = zero_block;
-    zero_snd_list->u.next = zero_snd_list;
-    zero_snd_list->refcnt = 2;
-    zero_snd_list->block_len = max_sample_block_len;
-    zero_snd_list->logically_stopped = true;
-#ifdef GC_DEBUG
-    { long s;
-      stdputstr("sound_to_watch: ");
-      scanf("%p", &s);
-      watch_sound(s);
-    }
-#endif
-   sound_desc = create_desc("SOUND", sound_xlfree, sound_xlprint,
-                            sound_xlsave, sound_xlrestore, sound_xlmark);
-}
-
-
-/* sound_scale -- copy and change scale factor of a sound */
-/**/
-sound_type sound_scale(double factor, sound_type snd)
-{
-    sound_type sndcopy = sound_copy(snd);
-    sndcopy->scale *= (float) factor;
-    return sndcopy;
-}
-
-
-
-
-/****************************************************************************
-*                            set_logical_stop_time
-* Inputs:
-*       sound_type sound: The sound for which the logical stop time is
-*                         being set
-*       time_type  when:  The logical stop time, expressed as an absolute
-*                         time.
-* Result: void
-*       
-* Effect: 
-*       Converts the time 'when' into a count of samples.
-****************************************************************************/
-
-void set_logical_stop_time(sound_type sound, time_type when)
-    {
-     long n;
-     /*
-        'when' is an absolute time.  The number of samples to
-        be generated is the number of samples between 't0' and
-        'when'.
-
-        -----------+---+---+---+---+---+---+---+---+---+
-                   |                                |
-                   t0                               when
-     */
-     n = (long) ((when - sound->t0) * sound->sr + 0.5);
-
-     /*
-      * n is kept as a local variable for debugging purposes.
-      */
-
-     sound->logical_stop_cnt = n;
- }
-
-
-
-
-/* for debugging */
-sound_type printing_this_sound = NULL;
-void ((**watch_me)()) = NULL;
-
-void set_watch(where)
-  void ((**where)());
-{
-    if (watch_me == NULL) {
-        watch_me = where;
-        nyquist_printf("set_watch: watch_me = %p\n", watch_me);
-    }
-}
-
-
-/*
- * additional routines
- */
-void sound_print(snd_expr, n)
-  LVAL snd_expr;
-  long n;
-{
-    LVAL result;
-
-    xlsave1(result);
-    result = xleval(snd_expr);
-    if (vectorp(result)) {
-        /* make sure all elements are of type a_sound */
-        long i = getsize(result);
-        while (i > 0) {
-            i--;
-            if (!exttypep(getelement(result, i), a_sound)) {
-                xlerror("sound_print: array has non-sound element",
-                         result);
-            }
-        }
-        sound_print_array(result, n);
-    } else if (exttypep(result, a_sound)) {
-        sound_print_sound(getsound(result), n);
-    } else {
-        xlerror("sound_print: expression did not return a sound",
-                 result);
-    }
-    xlpop();
-}
-
-
-void sound_print_sound(sound_type s, long n)
-{
-    int ntotal = 0;
-    long blocklen;
-    sample_block_type sampblock;
-
-    /* for debugging */
-    printing_this_sound = s;
-
-    nyquist_printf("sound_print: start at time %g\n", s->t0);
-
-    while (ntotal < n) {
-        if (s->logical_stop_cnt != UNKNOWN)
-            nyquist_printf("LST=%d ", (int)s->logical_stop_cnt);
-        sound_print_tree(s);
-        sampblock = sound_get_next(s, &blocklen);
-        if (sampblock == zero_block || blocklen == 0) {
-            break;
-        }
-        print_sample_block_type("sound_print", sampblock,
-                                MIN(blocklen, n - ntotal));
-        ntotal += blocklen;
-    }
-    nyquist_printf("total samples: %d\n", ntotal);
-}
-
-
-void sound_print_array(LVAL sa, long n)
-{
-    long blocklen;
-    long i, len;
-    long upper = 0;
-    sample_block_type sampblock;
-    time_type t0, tmax;
-
-    len = getsize(sa);
-    if (len == 0) {
-        stdputstr("sound_print: 0 channels!\n");
-        return;
-    }
-
-    /* take care of prepending zeros if necessary */
-    t0 = tmax = (getsound(getelement(sa, 0)))->t0;
-    for (i = 1; i < len; i++) {
-        sound_type s = getsound(getelement(sa, i));
-        t0 = MIN(s->t0, t0);
-        tmax = MAX(s->t0, tmax);
-    }
-
-    /* if necessary, prepend zeros */
-    if (t0 != tmax) {
-        stdputstr("prepending zeros to channels: ");
-        for (i = 0; i < len; i++) {
-            sound_type s = getsound(getelement(sa, i));
-            if (t0 < s->t0) {
-                nyquist_printf(" %d ", (int)i);
-                sound_prepend_zeros(s, t0);
-            }
-        }
-        stdputstr("\n");
-    }
-
-    nyquist_printf("sound_print: start at time %g\n", t0);
-
-    while (upper < n) {
-        int i;
-        boolean done = true;
-        for (i = 0; i < len; i++) {
-            sound_type s = getsound(getelement(sa, i));
-            long current = -1;  /* always get first block */
-            while (current < upper) {
-                sampblock = sound_get_next(s, &blocklen);
-                if (sampblock != zero_block && blocklen != 0) {
-                      done = false;
-                }
-                current = s->current - blocklen;
-                nyquist_printf("chan %d current %d:\n", i, (int)current);
-                 print_sample_block_type("sound_print", sampblock,
-                                        MIN(blocklen, n - current));
-                current = s->current;
-                upper = MAX(upper, current);
-            }
-        }
-        if (done) break;
-    }
-    nyquist_printf("total: %d samples x %d channels\n",
-                   (int)upper, (int)len);
-}
-
-
-/* sound_play -- compute sound, do not retain samples */
-/*
- * NOTE: we want the capability of computing a sound without
- * retaining samples.  This requires that no references to
- * the sound exist, but if the sound is passed as an argument,
- * the argument stack will have a reference.  So, we pass in
- * an expression that evaluates to the sound we want.  The
- * expression is eval'd, the result copied (in case the
- * expression was a sound or a global variable and we really
- * want to preserve the sound), and then a GC is run to 
- * get rid of the original if there really are no other 
- * references.  Finally, the copy is used to play the
- * sounds.
- */
-
-void sound_play(snd_expr)
-  LVAL snd_expr;
-{
-    int ntotal;
-    long blocklen;
-    sample_block_type sampblock;
-    LVAL result;
-    sound_type s;
-
-    xlsave1(result);
-    result = xleval(snd_expr);
-    if (!exttypep(result, a_sound)) {
-        xlerror("sound_play: expression did not return a sound",
-                 result);
-    }
-
-    ntotal = 0;
-    s = getsound(result);
-    /* if snd_expr was simply a symbol, then s now points to
-        a shared sound_node.  If we read samples from it, then
-        the sound bound to the symbol will be destroyed, so
-        copy it first.  If snd_expr was a real expression that
-        computed a new value, then the next garbage collection
-        will reclaim the sound_node.  We need to explicitly 
-        free the copy since the garbage collector cannot find
-        it.
-    */
-    s = sound_copy(s);
-    while (1) {
-        sampblock = sound_get_next(s, &blocklen);
-        if (sampblock == zero_block || blocklen == 0) {
-            break;
-        }
-        /* print_sample_block_type("sound_play", sampblock, blocklen); */
-        ntotal += blocklen;
-    }
-    nyquist_printf("total samples: %d\n", ntotal);
-    sound_unref(s);
-    xlpop();
-}
-
-
-/* sound_print_tree -- print a tree version of sound structure */
-/**/
-void sound_print_tree(snd)
-  sound_type snd;
-{
-/*    nyquist_printf("sample_block_free %p\n", sample_block_free);*/
-    nyquist_printf("SOUND PRINT TREE of %p\n", snd);
-    sound_print_tree_1(snd, 0);
-}
-
-
-void indent(int n)
-{
-    while (n-- > 0) stdputstr(" ");
-}
-
-
-void sound_print_tree_1(snd, n)
-  sound_type snd;
-  int n;
-{
-    int i;
-    snd_list_type snd_list;
-    if (n > 100) {
-        stdputstr("... (skipping remainder of sound)\n");
-        return;
-    }
-    nyquist_printf("sound_type@%p(%s@%p)t0 "
-                   "%g stop %d sr %g lsc %d scale %g pc %d",
-                   snd, 
-                   (snd->get_next == SND_get_next ? "SND_get_next" :
-                    (snd->get_next == SND_get_first ? "SND_get_first" : "?")),
-                   snd->get_next, snd->t0, (int)snd->stop, snd->sr, 
-                   (int)snd->logical_stop_cnt, snd->scale,
-                   (int)snd->prepend_cnt);
-    if (!snd) {
-        stdputstr("\n");
-        return;
-    }
-    snd_list = snd->list;
-    nyquist_printf("->snd_list@%p", snd_list);
-    if (snd_list == zero_snd_list) {
-        stdputstr(" = zero_snd_list\n");
-        return;
-    }
-    for (i = 0; ; i++) {
-        if (snd_list == zero_snd_list) {
-            if (i > 1) nyquist_printf(" (skipping %d) ", i-1);
-            stdputstr("->zero_snd_list\n");
-            return;
-        }
-        if (!snd_list->block) {
-            if (i > 0) nyquist_printf(" (skipping %d) ", i);
-            stdputstr("->\n");
-            indent(n + 2);
-
-            nyquist_printf("susp@%p(%s)toss_cnt %d "
-                           "current %d lsc %d sr %g t0 %g %p\n",
-                           snd_list->u.susp, snd_list->u.susp->name,
-                           (int)snd_list->u.susp->toss_cnt,
-                           (int)snd_list->u.susp->current,
-                           (int)snd_list->u.susp->log_stop_cnt,
-                           snd_list->u.susp->sr,
-                           snd_list->u.susp->t0, snd_list);
-/*            stdputstr("HI THERE AGAIN\n");*/
-            susp_print_tree(snd_list->u.susp, n + 4);
-            return;
-        }
-        snd_list = snd_list->u.next;
-    }
-}
-
-
-/* compute constants p1 and p2:
-  pitchconvert(0) * 2 = pitchconvert(12)  - octaves
-          exp(p2) * 2 = exp(12 * p1 + p2)
-                    2 = exp(12 * p1)
-               log(2) = 12 * p1
-
-         p1 = log(2.0)/12;
-
-  pitchconvert(69) gives 440Hz
-          exp(69 * p1 + p2) = 440
-               69 * p1 + p2 = log(440)
-
-        p2 = log(440.0) - (69 * p1);
-*/
-
-#define p1 0.0577622650466621
-#define p2 2.1011784386926213
-
-
-double hz_to_step(double hz)
-{
-    return (log(hz) - p2) / p1;
-}
-
-
-double step_to_hz(steps)
-  double steps;
-{
-    return exp(steps * p1 + p2);
-}
-
-
-/*
- * from old stuff...
- */
-
-static void sound_xlfree(s)
-sound_type s;
-{
-/*    nyquist_printf("sound_xlfree(%p)\n", s);*/
-    sound_unref(s);
-}
-
-
-static void sound_xlprint(LVAL fptr, sound_type s)
-{
-        /* the type cast from s to LVAL is OK because
-         * putatm does not dereference the 3rd parameter */
-    putatm(fptr, "Sound", (LVAL) s);
-}
-
-
-static void sound_xlsave(fp, s)
-FILE *fp;
-sound_type s;
-{
-    stdputstr("sound_save called\n");
-}
-
-
-static unsigned char *sound_xlrestore(FILE *fp)
-{
-   stdputstr("sound_restore called\n");
-   return NULL;
-}
-
-
-/* sound_xlmark -- mark LVAL nodes reachable from this sound */
-/**/
-void sound_xlmark(s)
-sound_type s;
-{
-    snd_list_type snd_list;
-    long counter = 0;
-#ifdef TRACESNDGC
-    nyquist_printf("sound_xlmark(%p)\n", s);
-#endif
-    if (!s) return; /* pointers to sounds are sometimes NULL */
-    snd_list = s->list;
-    while (snd_list->block != NULL) {
-        if (snd_list == zero_snd_list) {
-#ifdef TRACESNDGC
-            stdputstr(" terminates at zero_snd_list\n");
-#endif
-            return;
-        } else if (counter > 1000000) {
-            stdputstr("You created a recursive sound! This is a Nyquist bug.\n");
-            stdputstr("The only known way to do this is by a SETF on a\n");
-            stdputstr("local variable or parameter that is being passed to SEQ\n");
-            stdputstr("or SEQREP. The garbage collector assumes that sounds are\n");
-            stdputstr("not recursive or circular, and follows sounds to their\n");
-            stdputstr("end. After following a million nodes, I'm pretty sure\n");
-            stdputstr("that there is a cycle here, but since this is a bug,\n");
-            stdputstr("I cannot promise to recover. Prepare to crash. If you\n");
-            stdputstr("cannot locate the cause of this, contact the author -RBD.\n");
-        } 
-        snd_list = snd_list->u.next;
-        counter++;
-    }
-    if (snd_list->u.susp->mark) {
-#ifdef TRACESNDGC
-        nyquist_printf(" found susp (%s) at %p with mark method\n",
-               snd_list->u.susp->name, snd_list->u.susp);
-#endif
-        (*(snd_list->u.susp->mark))(snd_list->u.susp);
-    } else {
-#ifdef TRACESNDGC
-        nyquist_printf(" no mark method on susp %p (%s)\n",
-               snd_list->u.susp, snd_list->u.susp->name);
-#endif
-    }
-}
-
-
-void sound_symbols()
-{
-   a_sound = xlenter("SOUND");
-}
-
-
-/* The SOUND Type: */
-
-
-boolean soundp(s)
-LVAL s;
-{
-   return (exttypep(s, a_sound));
-}
-
-
-/* sound_zero - create and return a zero that terminates now */
-/**/
-sound_type sound_zero(time_type t0,rate_type sr)
-{
-    sound_type sound;
-    falloc_sound(sound, "sound_zero");
-
-    sound->get_next = SND_get_first;
-    sound->list = zero_snd_list;
-    sound->logical_stop_cnt = sound->current = 0;
-    sound->true_t0 = sound->t0 = t0;
-    sound->sr = sr;
-    sound->scale = 1.0F;
-
-    return sound;
-}
-
-
-LVAL cvsound(s)
-sound_type s;
-{
-/*   nyquist_printf("cvsound(%p)\n", s);*/
-   return (cvextern(sound_desc, (unsigned char *) s));
-}
-
diff --git a/lib-src/libnyquist/nyqsrc/sound.h b/lib-src/libnyquist/nyqsrc/sound.h
deleted file mode 100644
index c4ca572..0000000
--- a/lib-src/libnyquist/nyqsrc/sound.h
+++ /dev/null
@@ -1,486 +0,0 @@
-/* sound.h -- new nyquist sound data type */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  changes for portability: moved some defns out of here
- */
-
-#include <math.h>
-#include "stdefs.h"
-
-#if USE_PRINTF
-#define nyquist_printf printf
-#endif
-
-#define PERMS		 0644		/* -rw-r--r-- */
-
-/* default stop sample count (for clipping) */
-#define MAX_STOP 0x7FFFFFFF
-
-/* default stop time (for clipping) */
-#define MAX_STOP_TIME 10E20
-/* LISP-SRC: (SETF MAX-STOP-TIME 10E20) */
-#define MIN_START_TIME -10E20
-/* LISP-SRC: (SETF MIN-START-TIME -10E20) */
-
-/* conversion from float to integer */
-#define SCALE_FACTOR_TO_BYTE 127
-#define SCALE_FACTOR_TO_SHORT 32767
-#define SCALE_FACTOR_TO_LONG 2147483647
-
-/* Note that the values assigned here are not arbitrary, but represent
-   a dominance relationship among the interpolation types.
-*/
-#define INTERP_n 0
-#define INTERP_s 1
-#define INTERP_i 2
-#define INTERP_r 3
-
-#define INTERP_nn 0
-#define INTERP_ns 1
-#define INTERP_ni 2
-#define INTERP_nr 3
-#define INTERP_sn 4
-#define INTERP_ss 5
-#define INTERP_si 6
-#define INTERP_sr 7
-
-#define INTERP_nnn 0
-#define INTERP_nns 1
-#define INTERP_nni 2
-#define INTERP_nnr 3
-#define INTERP_nsn 4
-#define INTERP_nss 5
-#define INTERP_nsi 6
-#define INTERP_nsr 7
-#define INTERP_nin 8
-#define INTERP_nis 9
-#define INTERP_nii 10
-#define INTERP_nir 11
-#define INTERP_nrn 12
-#define INTERP_nrs 13
-#define INTERP_nri 14
-#define INTERP_nrr 15
-#define INTERP_snn 16
-#define INTERP_sns 17
-#define INTERP_sni 18
-#define INTERP_snr 19
-#define INTERP_ssn 20
-#define INTERP_sss 21
-#define INTERP_ssi 22
-#define INTERP_ssr 23
-#define INTERP_sin 24
-#define INTERP_sis 25
-#define INTERP_sii 26
-#define INTERP_sir 27
-#define INTERP_srn 28
-#define INTERP_srs 29
-#define INTERP_sri 30
-#define INTERP_srr 31
-
-#define INTERP_nnnn 0
-#define INTERP_nnns 1
-#define INTERP_nnsn 4
-#define INTERP_nnss 5
-#define INTERP_nsnn 16
-#define INTERP_nsns 17
-#define INTERP_nssn 20
-#define INTERP_nsss 21
-#define INTERP_snnn 64
-#define INTERP_snns 65
-#define INTERP_snsn 68
-#define INTERP_snss 69
-#define INTERP_ssnn 80
-#define INTERP_ssns 81
-#define INTERP_sssn 84
-#define INTERP_ssss 85
-#define INTERP_niii 42
-#define INTERP_siii 106
-#define INTERP_nrrr 63
-#define INTERP_srrr 127
-
-
-#define INTERP_MASK 3
-#define INTERP_SHIFT 2
-
-LVAL snd_badsr(void);
-
-typedef double time_type;
-typedef double rate_type;
-typedef float sample_type;
-typedef double promoted_sample_type;
-
-/* use radians or degrees for phase? */
-#define ANGLEBASE 360.0
-
-/* used by sndwrite.c for output buffers.  This should be
- * eliminated:
- */
-#define MAX_SND_CHANNELS 8
-
-#define max_table_len 100000
-/* Set to 4 for debugging block allocation stuff, 1012? for
-   production
-*/
-/* leave a few words short of 1024 in case we allocate powers of 2 */
-#define max_sample_block_len 1020
-/* #define max_sample_block_len 4 */
-
-/* Defines needed for xlisp */
-#define getsound(x)	((sound_type) getinst(x))
-#define xlgasound()	(testarg(typearg(soundp)))
-
-typedef short SFDataType, *SFDataPtr;
-
-typedef sample_type  sample_block_values[max_sample_block_len], 
-                    *sample_block_values_type;
-
-typedef struct {
-    long		refcnt;		                 /* reference count */
-    sample_block_values	samples;
-} sample_block_node, *sample_block_type;
- 
-
-typedef struct snd_susp_struct {
-    void		(*fetch)();
-    void		(*keep_fetch)();
-    void		(*free)();
-    void                (*mark)();  /* marks LVAL nodes for GC */
-    void                (*print_tree)();    /* debugging */
-    char *              name;       /* string name for debugging */
-    long                toss_cnt;   /* return this many zeros, then compute */
-    long                current;    /* current sample number */
-    double              sr;         /* sample rate */
-    time_type           t0;         /* starting time */
-    long                log_stop_cnt;   /* logical stop count */
-    /* other susp dependent stuff will be here... */
-} snd_susp_node, *snd_susp_type;
-
-
-typedef struct snd_list_struct {
-    sample_block_type	block;	/* pointer to block of samples */
-    union {
-        struct snd_list_struct	*next;
-        snd_susp_type		susp;
-    }			u;
-    short		refcnt;
-    short		block_len;
-    boolean		logically_stopped;
-} snd_list_node, *snd_list_type;
-
-
-typedef struct table_struct {
-    long refcount;  /* reference count */
-    double length;    /* number of samples in table (double allows fractional length)*/
-    sample_type samples[1]; /* arbitrary length array of sample */
-} table_node, *table_type;
-
-
-/* some counts are biased by -max_sample_block_len, so UNKNOWN can't be -1
- * Any number less than -max_sample_block should do
- */
-#define UNKNOWN (-10-max_sample_block_len)
-
-typedef struct sound_struct {
-    sample_block_type	(*get_next)(/* struct sound_struct * snd, long * cnt */);
-    time_type		time;	/* logical starting time */
-    time_type		t0;	/* quantized time of first sample */
-    long                stop;  /* stop (clipping) sample no. */
-    time_type           true_t0;    /* exact time of first sample */
-    rate_type		sr;	/* sample rate */
-    long		current;	/* current sample number,
-                                         if negative, then the first 
-                                         -current samples must be dropped
-                                         in order to find the first sample */
-    long		logical_stop_cnt; /* log stop sample no, -1=unknwn */
-    snd_list_type	list;	/* sample block list, starting at curr. samp */
-    sample_type		scale;	/* scale factor for the result */
-    long                prepend_cnt;    /* how many zeros to prepend */
-    /* function to use as get_next after prepended zeros have been generated: */
-    sample_block_type	(*after_prepend)
-                        (/* struct sound_struct * snd, long * cnt */);
-    table_type table;   /* pointer to table-ized version of this sound */
-    long *extra;	/* used for extra state information, first word of extra state should
-                     * be the length of the extra state (see sound_unref())
-                     */
-} sound_node, *sound_type;
-
-/* convert number of samples to memory size: */
-#define table_size_in_bytes(n) (sizeof(table_node) + sizeof(sample_type) * ((n) - 1))
-
-extern sample_block_type zero_block;
-extern sample_block_type internal_zero_block;
-
-extern snd_list_type zero_snd_list;
-
-extern sound_type printing_this_sound;  /* debugging global */
-
-double compute_phase(double phase, double key, long n, double srate,
-                     double new_srate, double freq, double *incr_ptr);
-
-boolean soundp();
-/* LISP: (SOUNDP ANY) */
-
-void snd_list_ref(snd_list_type list);
-void sound_unref(sound_type snd);
-void snd_list_unref(snd_list_type list);
-
-LVAL cvsound();
-extern LVAL a_sound;
-
-sample_block_type SND_get_next(sound_type snd, long * cnt);
-sample_block_type SND_get_first(sound_type snd, long * cnt);
-sample_block_type SND_get_zeros(sound_type snd, long * cnt);
-sample_block_type SND_flush(sound_type snd, long * cnt);
-
-double hz_to_step();	/* LISP: (HZ-TO-STEP ANYNUM) */
-int interp_style(sound_type s, rate_type sr);
-void set_logical_stop_time(); /* LISP: (SND-SET-LOGICAL-STOP SOUND ANYNUM) */
-
-#define xlog(x) log(x)
-/* LISP: double (LOG FLONUM) */
-snd_list_type snd_list_create(snd_susp_type susp);
-void snd_list_terminate(snd_list_type snd_list);
-void snd_sort_2(sound_type * s1_ptr, sound_type * s2_ptr, rate_type sr);
-
-double snd_sref(sound_type s, time_type t); 
-    /* LISP: (SND-SREF SOUND ANYNUM) */
-
-double snd_sref_inverse(sound_type s, double val);
-    /* LISP: (SREF-INVERSE SOUND ANYNUM) */
-
-double snd_stop_time(sound_type s); /* LISP: (SND-STOP-TIME SOUND) */
-#define snd_time(s) (s)->time
-    /* LISP: double (SND-TIME SOUND) */
-
-#define snd_srate(s) (s)->sr
-    /* LISP: double (SND-SRATE SOUND) */
-#define snd_t0(s) (s)->t0
-    /* LISP: double (SND-T0 SOUND) */
-
-sound_type snd_xform(sound_type snd, rate_type sr, time_type time, 
-        time_type start_time, time_type stop_time, promoted_sample_type scale);
-    /* LISP: (SND-XFORM SOUND ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM) */
-sound_type sound_create(snd_susp_type susp, time_type t0, rate_type sr,
-        promoted_sample_type scale);
-
-void min_cnt(long *cnt_ptr, sound_type sound, snd_susp_type susp, long cnt);
-void indent(int n);
-void sound_prepend_zeros(sound_type snd, time_type t0);
-
-
-
-#ifndef GCBUG
-#define blocks_to_watch_max 50
-extern long blocks_to_watch_len;
-extern sample_block_type blocks_to_watch[blocks_to_watch_max];
-
-void block_watch(long sample_block);
-    /* LISP: (BLOCK-WATCH FIXNUM) */
-long sound_nth_block(sound_type snd, long n);
-    /* LISP: (SOUND-NTH-BLOCK SOUND FIXNUM) */
-#endif
-
-sound_type sound_copy(sound_type snd); 
-    /* LISP: (SND-COPY SOUND) */
-void sound_xlmark(sound_type s);
-void sound_print(LVAL snd_expr, long n);
-    /* LISP: (SND-PRINT ANY FIXNUM) */
-void sound_play(LVAL snd_expr);
-    /* LISP: (SND-PLAY ANY) */
-void stats();
-    /* LISP: (STATS) */
-void sound_print_tree(sound_type snd);
-    /* LISP: (SND-PRINT-TREE SOUND) */
-
-void sound_print_tree_1(sound_type snd, int n);
-
-sound_type sound_scale(double factor, sound_type snd);
-    /* LISP: (SND-SCALE ANYNUM SOUND) */
-void sound_init(void);
-
-void sound_symbols(void);
-
-table_type sound_to_table(sound_type s);
-
-void table_unref(table_type table);
-
-sound_type sound_zero(time_type t0, rate_type sr);
-    /* LISP: (SND-ZERO ANYNUM ANYNUM) */
-
-#define sound_get_next(s, n) ((*(s->get_next))(s, n))
-
-#define susp_print_tree(s, n) (*((s)->print_tree))(s, n)
-
-double step_to_hz();
-    /* LISP: (STEP-TO-HZ ANYNUM) */
-
-/* macros for access to samples within a suspension */
-/* NOTE: assume suspension structure is named "susp" */
-
-/* susp_check_samples points sample_ptr to a new sample block if necessary */
-#define susp_check_samples(sound, sample_ptr, sample_cnt) \
-    if (susp->sample_cnt == 0) \
-        susp_get_samples(sound, sample_ptr, sample_cnt)
-
-/* susp_check_samples_break is similar to susp_check_samples - "_break"
- *   normally means that this code will break out of the inner loop, but in
- *   this case, there is no reason (neither log nor term) to break.
- *   x2_sample is taken from sound
- */
-#define susp_check_samples_break(sound, sample_ptr, sample_cnt, x2_sample) \
-    if (susp->sample_cnt == 0) { \
-        susp_get_samples(sound, sample_ptr, sample_cnt); \
-        x2_sample = susp_current_sample(sound, sample_ptr); }
-
-
-/* susp_get_samples always gets next block (useful only in initialization code) */
-#define susp_get_samples(sound, sample_ptr, sample_cnt) \
-        susp->sample_ptr = sound_get_next(susp->sound, &(susp->sample_cnt))->samples
-
-/* susp_get_block_samples always gets next block (useful only in initialization code) */
-#define susp_get_block_samples(sound, sample_block_ptr, sample_ptr, sample_cnt) \
-    susp->sample_block_ptr = sound_get_next(susp->sound, &susp->sample_cnt); \
-    susp->sample_ptr = susp->sample_block_ptr->samples
-
-/* susp_took is called after you've taken n samples */
-#define susp_took(sample_cnt, n) susp->sample_cnt -= n
-
-/* susp_fetch_sample is used to grab just one sample, doesn't check for samples!,
- *    but applies scale factor:  */
-#define susp_fetch_sample(sound, sample_ptr, sample_cnt) \
-          (susp->sound->scale * (susp->sample_cnt--, *(susp->sample_ptr++)))
-
-/* susp_current_sample grabs sample without advancing to next, applies scale
- *     factor: */
-#define susp_current_sample(sound, sample_ptr) \
-          (susp->sound->scale * (*(susp->sample_ptr)))
-
-/* susp_check_term_samples checks for samples; if new ones are fetched, then
- * run termination test on signal and record result.
- */
-#define susp_check_term_samples(sound, sample_ptr, sample_cnt) \
-    if (susp->sample_cnt == 0) { \
-        susp_get_samples(sound, sample_ptr, sample_cnt); \
-        terminate_test(sample_ptr, sound, susp->sample_cnt); }
-
-/* susp_check_term_log_samples checks for samples
- * if new ones are fetched, then run termination test and logical stop
- * test on signal and record results.
- */
-#define susp_check_term_log_samples(sound, sample_ptr, sample_cnt) \
-    if (susp->sample_cnt == 0) { \
-        susp_get_samples(sound, sample_ptr, sample_cnt); \
-        logical_stop_test(sound, susp->sample_cnt); \
-        terminate_test(sample_ptr, sound, susp->sample_cnt); }
-
-/* susp_check_term_log_block_samples checks for samples
- * if new ones are fetched, then run termination test and logical stop
- * test on signal and record results.  In this case, termination and logical
- * stop happen at the MAXIMUM of termination and logical stop times, resp.
- */
-#define susp_check_term_log_block_samples(sound, sample_block_ptr, sample_ptr, sample_cnt, bit, all) \
-    if (susp->sample_cnt == 0) { \
-        susp_get_block_samples(sound, sample_block_ptr, sample_ptr, sample_cnt); \
-        if (susp->sound->logical_stop_cnt ==\
-            susp->sound->current - susp->sample_cnt) { \
-            susp->logical_stop_bits |= bit; \
-            if (susp->logical_stop_bits == all) { \
-                susp->susp.log_stop_cnt = (long) \
-                 ((((susp->sound->current - susp->sample_cnt) / \
-                   susp->sound->sr + susp->sound->t0) - \
-                   susp->susp.t0) * susp->susp.sr + 0.5); } } \
-        if (susp->sample_ptr == zero_block->samples) { \
-            susp->terminate_bits |= bit; \
-            if (susp->terminate_bits == all) { \
-                susp->terminate_cnt = (long) \
-                 ((((susp->sound->current - susp->sample_cnt) / \
-                   susp->sound->sr + susp->sound->t0) - \
-                   susp->susp.t0) * susp->susp.sr + 0.5); \
-    } } }
-
-
-/* logical_stop_cnt_cvt is used to convert from the logical stop count
- * at one sample rate to that of another sample rate -- this macro is
- * used by the snd_make_<op> routine in every <op>.c file, and assumes
- * the target sample rate is susp->susp.sr.
- *
- * NOTE: this macro does not take into account the possibility of different
- * start times - maybe it should.
- */
-#define logical_stop_cnt_cvt(sound) \
-    (sound->logical_stop_cnt == UNKNOWN ? UNKNOWN : \
-     ROUND((sound->logical_stop_cnt / sound->sr) * susp->susp.sr))
-
-
-/* logical_stop_test tests to see if sound has logically stopped; if so,
- * sets susp->susp.log_stop_cnt.  The resulting logical_stop_cnt will reflect
- * the minimum logical_stop time of all sounds to which this test is applied.
- */
-#define logical_stop_test(sound, cnt) \
-    if (susp->sound->logical_stop_cnt == susp->sound->current - (cnt)) {\
-        min_cnt(&susp->susp.log_stop_cnt, susp->sound, (snd_susp_type) susp, cnt); }
-
-/* terminate_test checks to see if sound has terminated; if so, 
- * sets susp->terminate_cnt.  The resulting terminate_cnt will reflect
- * the minimum termination time of all sounds to which this test is applied.
- */
-#define terminate_test(sample_ptr, sound, cnt) \
-    if (susp->sample_ptr == zero_block->samples) { \
-            min_cnt(&susp->terminate_cnt, susp->sound, (snd_susp_type) susp, cnt); }
-
-
-/* susp_check_log_samples checks for new samples then checks for
- * termination and logical stop conditions
- */
-#define susp_check_log_samples(sound, sample_ptr, sample_cnt) \
-    if (susp->sample_cnt == 0) { \
-      susp_get_samples(sound, sample_ptr, sample_cnt); \
-      logical_stop_test(sound, susp->sample_cnt); }
-
-/* susp_check_term_samples_break checks for new samples then checks for
- * termination condition; breaks from inner loop
- */
-#define susp_check_term_samples_break( \
-  sound, sample_ptr, sample_cnt, x2_sample) \
-    if (susp->sample_cnt == 0) { \
-      susp_get_samples(sound, sample_ptr, sample_cnt); \
-      x2_sample = susp_current_sample(sound, sample_ptr); \
-      terminate_test(sample_ptr, sound, susp->sample_cnt); \
-      if (susp->terminate_cnt < susp->susp.current + cnt + togo) { \
-          break; }} \
-    else x2_sample = susp_current_sample(sound, sample_ptr); 
-
-/* susp_check_log_samples_break checks for new samples then checks for
- * logical stop conditions; breaks from inner loop
- */
-#define susp_check_log_samples_break( \
-  sound, sample_ptr, sample_cnt, x2_sample) \
-    if (susp->sample_cnt == 0) { \
-      susp_get_samples(sound, sample_ptr, sample_cnt); \
-      x2_sample = susp_current_sample(sound, sample_ptr); \
-      logical_stop_test(sound, susp->sample_cnt); \
-      if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN && \
-          (susp->susp.log_stop_cnt < susp->susp.current + cnt + togo)) { \
-          break; }} \
-    else x2_sample = susp_current_sample(sound, sample_ptr);
-
-
-/* susp_check_term_log_samples_break checks for new samples then checks for
- * termination and logical stop conditions; breaks from inner loop
- */
-#define susp_check_term_log_samples_break( \
-  sound, sample_ptr, sample_cnt, x2_sample) \
-    if (susp->sample_cnt == 0) { \
-      susp_get_samples(sound, sample_ptr, sample_cnt); \
-      x2_sample = susp_current_sample(sound, sample_ptr); \
-      terminate_test(sample_ptr, sound, susp->sample_cnt); \
-      logical_stop_test(sound, susp->sample_cnt); \
-      if ((susp->terminate_cnt != UNKNOWN && \
-           susp->terminate_cnt < susp->susp.current + cnt + togo) || \
-          (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN && \
-           susp->susp.log_stop_cnt < susp->susp.current + cnt + togo)) { \
-          break; }} \
-    else x2_sample = susp_current_sample(sound, sample_ptr);
-        
-
diff --git a/lib-src/libnyquist/nyqsrc/stats.c b/lib-src/libnyquist/nyqsrc/stats.c
deleted file mode 100644
index 7f21612..0000000
--- a/lib-src/libnyquist/nyqsrc/stats.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * stats.c
- *
- * produce statistics.
- */
-#include "switches.h"
-#include <stdio.h>
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-
-
-void stats()
-{
-    nyquist_printf("\n\nNyquist statistics:\n\n");
-    nyquist_printf("Memory usage:\n");
-    nyquist_printf("\tconsumed %d pools of size %d\n", npools, MAXPOOLSIZE);
-    nyquist_printf("\tdata structure usage:\n");
-    nyquist_printf("\t\tsounds\t%d\n", sound_used);
-    nyquist_printf("\t\tsnd lists\t%d\n", snd_list_used);
-    nyquist_printf("\t\tsample blocks\t%d\n", sample_block_used);
-    nyquist_printf("\t\ttable space in bytes\t%ld\n", table_memory);
-    nyquist_printf("\n");
-}
diff --git a/lib-src/libnyquist/nyqsrc/stdefs.h b/lib-src/libnyquist/nyqsrc/stdefs.h
deleted file mode 100644
index 9eba22c..0000000
--- a/lib-src/libnyquist/nyqsrc/stdefs.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* stdefs.h */
-
-#ifndef TRUE
-#define TRUE  1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#ifndef PI
-#define PI  (3.14159265358979323846)
-#endif
-
-#ifndef PI2
-#define PI2 (6.28318530717958647693)
-#endif
-
-#define D2R (0.01745329348)          /* (2*pi)/360 */
-#define R2D (57.29577951)            /* 360/(2*pi) */
-
-#ifndef MAX
-#define MAX(x,y) ((x)>(y) ?(x):(y))
-#endif
-#ifndef MIN
-#define MIN(x,y) ((x)<(y) ?(x):(y))
-#endif
-
-#ifndef ABS
-#define ABS(x)   ((x)<0   ?(-(x)):(x))
-#endif
-
-#ifndef SGN
-#define SGN(x)   ((x)<0   ?(-1):((x)==0?(0):(1)))
-#endif
-
-typedef float mem_float;
-typedef double fast_float;
-
-/* I took out this typedef because the same thing
- * exists in cext.h which causes a conflict:  -RBD
-typedef unsigned char boolean; */
-
-#include "cext.h"
-
-#define true 1
-#define false 0
-
-
diff --git a/lib-src/libnyquist/nyqsrc/yin.c b/lib-src/libnyquist/nyqsrc/yin.c
deleted file mode 100644
index 43387b1..0000000
--- a/lib-src/libnyquist/nyqsrc/yin.c
+++ /dev/null
@@ -1,466 +0,0 @@
-/* yin.c -- partial implementation of the YIN algorithm, with some 
- *   fixes by DM. This code should be replaced with the fall 2002
- *   intro to computer music implementation project.
- */
-
-#include "stdio.h"
-#ifdef UNIX
-#include "sys/file.h"
-#endif
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "snd.h"
-#include "xlisp.h"
-#include "sound.h"
-#include "falloc.h"
-#include "yin.h"
-
-void yin_free();
-
-/* for multiple channel results, one susp is shared by all sounds */
-/* the susp in turn must point back to all sound list tails */
-
-typedef struct yin_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-    long blocksize;
-    long stepsize;
-    sample_type *block;
-    float *temp;
-    sample_type *fillptr;
-    sample_type *endptr;
-    snd_list_type chan[2];	/* array of back pointers */
-    long cnt;	/* how many sample frames to read */
-    long m;
-    long middle;
-} yin_susp_node, *yin_susp_type;
-
-
-// Uses cubic interpolation to return the value of x such
-// that the function defined by f(0), f(1), f(2), and f(3)
-// is maximized.
-//
-float CubicMaximize(float y0, float y1, float y2, float y3)
-{
-  // Find coefficients of cubic
-
-  float a, b, c, d;
-  float da, db, dc;
-  float discriminant;
-  float x1, x2;
-  float dda, ddb;
-  
-  a = (float) (y0/-6.0 + y1/2.0 - y2/2.0 + y3/6.0);
-  b = (float) (y0 - 5.0*y1/2.0 + 2.0*y2 - y3/2.0);
-  c = (float) (-11.0*y0/6.0 + 3.0*y1 - 3.0*y2/2.0 + y3/3.0);
-  d = y0;
-
-  // Take derivative
-
-  da = 3*a;
-  db = 2*b;
-  dc = c;
-
-  // Find zeroes of derivative using quadratic equation
-  
-  discriminant = db*db - 4*da*dc;
-  if (discriminant < 0.0)
-    return -1.0; // error
-  
-  x1 = (float) ((-db + sqrt(discriminant)) / (2 * da));
-  x2 = (float) ((-db - sqrt(discriminant)) / (2 * da));
-  
-  // The one which corresponds to a local _maximum_ in the
-  // cubic is the one we want - the one with a negative
-  // second derivative
-  
-  dda = 2*da;
-  ddb = db;
-  
-  if (dda*x1 + ddb < 0)
-    return x1;
-  else
-    return x2;
-}
-
-
-void yin_compute(yin_susp_type susp, float *pitch, float *harmonicity)
-{
-    float *samples = susp->block;
-    int middle = susp->middle;
-    /* int n = middle * 2; */
-    int m = susp->m;
-    float threshold = 0.9F;
-    float *results = susp->temp;
-
-    /* samples is a buffer of samples */
-    /* n is the number of samples, equals twice longest period, must be even */
-    /* m is the shortest period in samples */
-    /* results is an array of size n/2 - m + 1, the number of different lags */
-
-    /* work from the middle of the buffer: */
-    int i, j; /* loop counters */
-    /* how many different lags do we compute? */
-    /* int iterations = middle + 1 - m; */
-    float left_energy = 0;
-    float right_energy = 0;
-    /* for each window, we keep the energy so we can compute the next one */
-    /* incrementally. First, we need to compute the energies for lag m-1: */
-    *pitch = 0;
-    for (i = 0; i < m - 1; i++) {
-        float left = samples[middle - 1 - i];
-        float right = samples[middle + i];
-        left_energy += left * left;
-        right_energy += right * right;
-    }
-    for (i = m; i <= middle; i++) {
-        /* i is the lag and the length of the window */
-        /* compute the energy for left and right */
-        float left, right, energy, a;
-        float harmonic;
-        left = samples[middle - i];
-        left_energy += left * left;
-        right = samples[middle - 1 + i];
-        right_energy += right * right;
-        /*  compute the autocorrelation */
-        a = 0;
-        for (j = 0; j < i; j++) {
-            a += samples[middle - i + j] * samples[middle + j];
-        }
-        energy = left_energy + right_energy;
-        harmonic = (2 * a) / energy;
-        results[i - m] = harmonic;
-    }
-    for (i = m; i <= middle; i++) {
-        if (results[i - m] > threshold) {
-            float f_i = (i - 1) + 
-                CubicMaximize(results[i - m - 1], results[i - m],
-                              results[i - m + 1], results[i - m + 2]);
-            if (f_i < i - m - 1 || f_i > i - m + 2) f_i = (float) i;
-            *pitch = (float) hz_to_step((float) susp->susp.sr / f_i);
-            *harmonicity = results[i - m];
-            break;
-        }
-    }
-}
-
-
-/* yin_fetch - compute F0 and harmonicity using YIN approach.  */
-/*
- * The pitch (F0) is determined by finding two periods whose
- * inner product accounts for almost all of the energy. Let X and Y
- * be adjacent vectors of length N in the sample stream. Then, 
- *    if 2X*Y > threshold * (X*X + Y*Y)
- *    then the period is given by N
- * In the algorithm, we compute different sizes until we find a
- * peak above threshold. Then, we use cubic interpolation to get
- * a precise value. If no peak above threshold is found, we return
- * the first peak. The second channel returns the value 2X*Y/(X*X+Y*Y)
- * which is refered to as the "harmonicity" -- the amount of energy
- * accounted for by periodicity.
- *
- * Low sample rates are advised because of the high cost of computing
- * inner products (fast autocorrelation is not used).
- *
- * The result is a 2-channel signal running at the requested rate.
- * The first channel is the estimated pitch, and the second channel
- * is the harmonicity.
- *
- * This code is adopted from multiread, currently the only other
- * multichannel suspension in Nyquist. Comments from multiread include:
- * The susp is shared by all channels.  The susp has backpointers
- * to the tail-most snd_list node of each channel, and it is by
- * extending the list at these nodes that sounds are read in.
- * To avoid a circularity, the reference counts on snd_list nodes
- * do not include the backpointers from this susp.  When a snd_list
- * node refcount goes to zero, the yin susp's free routine
- * is called.  This must scan the backpointers to find the node that
- * has a zero refcount (the free routine is called before the node
- * is deallocated, so this is safe).  The backpointer is then set
- * to NULL.  When all backpointers are NULL, the susp itself is
- * deallocated, because it can only be referenced through the
- * snd_list nodes to which there are backpointers.
- */
-void yin_fetch(yin_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo = 0;
-    int n;
-    sample_block_type f0;
-    sample_block_values_type f0_ptr = NULL;
-    sample_block_type harmonicity;
-    sample_block_values_type harmonicity_ptr = NULL;
-
-    register sample_block_values_type s_ptr_reg;
-    register sample_type *fillptr_reg;
-    register sample_type *endptr_reg = susp->endptr;
-
-    if (susp->chan[0]) {
-        falloc_sample_block(f0, "yin_fetch");
-        f0_ptr = f0->samples;
-        /* Since susp->chan[i] exists, we want to append a block of samples.
-         * The block, out, has been allocated.  Before we insert the block,
-         * we must figure out whether to insert a new snd_list_type node for
-         * the block.  Recall that before SND_get_next is called, the last
-         * snd_list_type in the list will have a null block pointer, and the
-         * snd_list_type's susp field points to the suspension (in this case,
-         * susp).  When SND_get_next (in sound.c) is called, it appends a new
-         * snd_list_type and points the previous one to internal_zero_block 
-         * before calling this fetch routine.  On the other hand, since 
-         * SND_get_next is only going to be called on one of the channels, the
-         * other channels will not have had a snd_list_type appended.
-         * SND_get_next does not tell us directly which channel it wants (it
-         * doesn't know), but we can test by looking for a non-null block in the
-         * snd_list_type pointed to by our back-pointers in susp->chan[].  If
-         * the block is null, the channel was untouched by SND_get_next, and
-         * we should append a snd_list_type.  If it is non-null, then it
-         * points to internal_zero_block (the block inserted by SND_get_next)
-         * and a new snd_list_type has already been appended.
-         */
-        /* Before proceeding, it may be that garbage collection ran when we
-         * allocated out, so check again to see if susp->chan[j] is Null:
-         */
-        if (!susp->chan[0]) {
-            ffree_sample_block(f0, "yin_fetch");
-            f0 = NULL; /* make sure we don't free it again */
-            f0_ptr = NULL; /* make sure we don't output f0 samples */
-        } else if (!susp->chan[0]->block) {
-            snd_list_type snd_list = snd_list_create((snd_susp_type) susp);
-            /* Now we have a snd_list to append to the channel, but a very
-             * interesting thing can happen here.  snd_list_create, which
-             * we just called, MAY have invoked the garbage collector, and
-             * the GC MAY have freed all references to this channel, in which
-             * case yin_free(susp) will have been called, and susp->chan[0]
-             * will now be NULL!
-             */
-            if (!susp->chan[0]) {
-                ffree_snd_list(snd_list, "yin_fetch");
-            } else {
-                susp->chan[0]->u.next = snd_list;
-            }
-        }
-        /* see the note above: we don't know if susp->chan still exists */
-        /* Note: We DO know that susp still exists because even if we lost
-         * some channels in a GC, someone is still calling SND_get_next on
-         * some channel.  I suppose that there might be some very pathological
-         * code that could free a global reference to a sound that is in the
-         * midst of being computed, perhaps by doing something bizarre in the
-         * closure that snd_seq activates at the logical stop time of its first
-         * sound, but I haven't thought that one through.
-         */
-        if (susp->chan[0]) {
-            susp->chan[0]->block = f0;
-            /* check some assertions */
-            if (susp->chan[0]->u.next->u.susp != (snd_susp_type) susp) {
-                nyquist_printf("didn't find susp at end of list for chan 0\n");
-            }
-        } else if (f0) { /* we allocated f0, but don't need it anymore due to GC */
-            ffree_sample_block(f0, "yin_fetch");
-            f0_ptr = NULL;
-        }
-    }
-
-    /* Now, repeat for channel 1 (comments omitted) */
-    if (susp->chan[1]) {
-        falloc_sample_block(harmonicity, "yin_fetch");
-        harmonicity_ptr = harmonicity->samples;
-        if (!susp->chan[1]) {
-            ffree_sample_block(harmonicity, "yin_fetch");
-            harmonicity = NULL; /* make sure we don't free it again */
-            harmonicity_ptr = NULL;
-        } else if (!susp->chan[1]->block) {
-            snd_list_type snd_list = snd_list_create((snd_susp_type) susp);
-            if (!susp->chan[1]) {
-                ffree_snd_list(snd_list, "yin_fetch");
-            } else {
-                susp->chan[1]->u.next = snd_list;
-            }
-        }
-        if (susp->chan[1]) {
-            susp->chan[1]->block = harmonicity;
-            if (susp->chan[1]->u.next->u.susp != (snd_susp_type) susp) {
-                nyquist_printf("didn't find susp at end of list for chan 1\n");
-            }
-        } else if (harmonicity) { /* we allocated harmonicity, but don't need it anymore due to GC */
-            ffree_sample_block(harmonicity, "yin_fetch");
-            harmonicity_ptr = NULL;
-        }
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-        /* first, compute how many samples to generate in inner loop: */
-        /* don't overflow the output sample block */
-        togo = (max_sample_block_len - cnt) * susp->stepsize;
-
-        /* don't run past the s input sample block */
-        susp_check_term_log_samples(s, s_ptr, s_cnt);
-        togo = min(togo, susp->s_cnt);
-
-        /* don't run past terminate time */
-        if (susp->terminate_cnt != UNKNOWN &&
-            susp->terminate_cnt <= susp->susp.current + cnt + togo/susp->stepsize) {
-            togo = (susp->terminate_cnt - (susp->susp.current + cnt)) * susp->stepsize;
-            if (togo == 0) break;
-        }
-
-        /* don't run past logical stop time */
-        if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-            int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-            /* break if to_stop = 0 (we're at the logical stop)
-             * AND cnt > 0 (we're not at the beginning of the output block)
-             */
-            if (to_stop < togo/susp->stepsize) {
-                if (to_stop == 0) {
-                    if (cnt) {
-                        togo = 0;
-                        break;
-                    } else /* keep togo as is: since cnt == 0, we can set
-                            * the logical stop flag on this output block
-                            */
-                        susp->logically_stopped = true;
-                } else /* limit togo so we can start a new block a the LST */
-                    togo = to_stop * susp->stepsize;
-            }
-        }
-        n = togo;
-        s_ptr_reg = susp->s_ptr;
-        fillptr_reg = susp->fillptr;
-        if (n) do { /* the inner sample computation loop */
-            *fillptr_reg++ = *s_ptr_reg++;
-            if (fillptr_reg >= endptr_reg) {
-                float f0;
-                float harmonicity;
-                yin_compute(susp, &f0, &harmonicity);
-                if (f0_ptr) *f0_ptr++ = f0;
-                if (harmonicity_ptr) *harmonicity_ptr++ = harmonicity;
-                cnt++;
-                fillptr_reg -= susp->stepsize;
-            }
-        } while (--n); /* inner loop */
-
-        /* using s_ptr_reg is a bad idea on RS/6000: */
-        susp->s_ptr += togo;
-        susp->fillptr = fillptr_reg;
-        susp_took(s_cnt, togo);
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-        snd_list_terminate(snd_list);
-    } else {
-        snd_list->block_len = cnt;
-        susp->susp.current += cnt;
-    }
-
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-        snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-        susp->logically_stopped = true;
-    }
-} /* yin_fetch */
-
-  
-void yin_mark(yin_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void yin_free(yin_susp_type susp)
-{
-    int j;
-    boolean active = false;
-/*    stdputstr("yin_free: "); */
-
-    for (j = 0; j < 2; j++) {
-        if (susp->chan[j]) {
-            if (susp->chan[j]->refcnt) active = true;
-            else {
-                susp->chan[j] = NULL;
-                /* nyquist_printf("deactivating channel %d\n", j); */
-            }
-        }
-    }
-    if (!active) {
-/*      stdputstr("all channels freed, freeing susp now\n"); */
-        ffree_generic(susp, sizeof(yin_susp_node), "yin_free");
-        sound_unref(susp->s);
-        free(susp->block);
-        free(susp->temp);
-    }
-}
-
-
-void yin_print_tree(yin_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-LVAL snd_make_yin(sound_type s, double low_step, double high_step, long stepsize)
-{
-    LVAL result;
-    int j;
-    register yin_susp_type susp;
-    rate_type sr = s->sr;
-    time_type t0 = s->t0;
-
-    falloc_generic(susp, yin_susp_node, "snd_make_yin");
-    susp->susp.fetch = yin_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    
-    /* initialize susp state */
-    susp->susp.free = yin_free;
-    susp->susp.sr = sr / stepsize;
-    susp->susp.t0 = t0;
-    susp->susp.mark = yin_mark;
-    susp->susp.print_tree = yin_print_tree;
-    susp->susp.name = "yin";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    susp->m = (long) (sr / step_to_hz(high_step));
-    if (susp->m < 2) susp->m = 2;
-    /* add 1 to make sure we round up */
-    susp->middle = (long) (sr / step_to_hz(low_step)) + 1;
-    susp->blocksize = susp->middle * 2;
-    susp->stepsize = stepsize;
-    /* blocksize must be at least step size to implement stepping */
-    if (susp->stepsize > susp->blocksize) susp->blocksize = susp->stepsize;
-    susp->block = (sample_type *) malloc(susp->blocksize * sizeof(sample_type));
-    susp->temp = (float *) malloc((susp->middle - susp->m + 1) * sizeof(float));
-    susp->fillptr = susp->block;
-    susp->endptr = susp->block + susp->blocksize;
-
-    xlsave1(result);
-
-    result = newvector(2);      /* create array for F0 and harmonicity */
-    /* create sounds to return */
-    for (j = 0; j < 2; j++) {
-        sound_type snd = sound_create((snd_susp_type)susp, 
-                                      susp->susp.t0, susp->susp.sr, 1.0);
-        LVAL snd_lval = cvsound(snd);
-/*      nyquist_printf("yin_create: sound %d is %x, LVAL %x\n", j, snd, snd_lval); */
-        setelement(result, j, snd_lval);
-        susp->chan[j] = snd->list;
-    }
-    xlpop();
-    return result;
-}
-
-
-LVAL snd_yin(sound_type s, double low_step, double high_step, long stepsize)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_yin(s_copy, low_step, high_step, stepsize);
-}
diff --git a/lib-src/libnyquist/nyqsrc/yin.h b/lib-src/libnyquist/nyqsrc/yin.h
deleted file mode 100644
index 656aa81..0000000
--- a/lib-src/libnyquist/nyqsrc/yin.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* yin.h -- Nyquist code for F0 estimation using YIN approach */
-
-
-LVAL snd_yin(sound_type s, double low_step, double high_step, long stepsize);
-/* LISP: (SND-YIN SOUND ANYNUM ANYNUM FIXNUM) */
-
diff --git a/lib-src/libnyquist/nyx/nyx.c b/lib-src/libnyquist/nyx/nyx.c
deleted file mode 100644
index ad0e8c1..0000000
--- a/lib-src/libnyquist/nyx/nyx.c
+++ /dev/null
@@ -1,755 +0,0 @@
-/**********************************************************************
-
-  nyx.c
-
-  Nyx: A very simple external interface to Nyquist
-
-  Dominic Mazzoni
-
-**********************************************************************/
-
-/* system includes */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <math.h>
-
-#ifndef WIN32
-#include <unistd.h>
-#endif
-
-/* nyx includes */
-#include "nyx.h"
-
-/* xlisp includes */
-#include "switches.h"
-#include "xlisp.h"
-#include "term.h"
-#include "cext.h"
-
-/* nyquist includes */
-#include "sound.h"
-#include "falloc.h"
-
-
-/* nyquist externs */
-extern LVAL a_sound;
-extern snd_list_type zero_snd_list;
-
-/* globals */
-int                 nyx_output_pos;
-int                 nyx_output_len;
-char               *nyx_output_string;
-int                 nyx_expr_pos;
-int                 nyx_expr_len;
-const char         *nyx_expr_string;
-LVAL                nyx_result;
-XLCONTEXT           nyx_cntxt;
-int                 nyx_parse_error_flag;
-int                 nyx_first_time = 1;
-LVAL                nyx_old_obarray;
-
-typedef struct nyx_susp_struct {
-   snd_susp_node       susp;
-   nyx_audio_callback  callback;
-   void               *userdata;
-   long                len;
-   int                 channel;
-} nyx_susp_node, *nyx_susp_type;
-
-LVAL copylist(LVAL from)
-{
-   if (from == NULL)
-      return NULL;
-
-   return cons(car(from), copylist(cdr(from)));
-}
-
-/* Make a copy of the obarray so that we can erase any
-   changes the user makes to global variables */
-void nyx_save_obarray()
-{
-   LVAL array, obarrayvec;
-   int i;
-
-   xlsave1(array);
-   array = newvector(HSIZE);
-
-   obarrayvec = getvalue(obarray);
-   for(i=0; i<HSIZE; i++) {
-      LVAL from = getelement(obarrayvec, i);
-      if (from)
-         setelement(array, i, copylist(from));
-   }
-
-   nyx_old_obarray = obarray;
-   obarray = xlmakesym("*OBARRAY*");
-   setvalue(obarray, array);
-   xlpop();
-}
-
-void nyx_init()
-{
-   if (nyx_first_time) {
-      char *argv[1];
-      argv[0] = "nyquist";
-      xlisp_main_init(1, argv);
-
-      nyx_output_len = 0;
-      nyx_output_pos = 0;
-      nyx_output_string = NULL;
-      
-      nyx_first_time = 0;
-   }
-
-   /* keep nyx_result from being garbage-collected */
-   xlprot1(nyx_result);
-
-   nyx_save_obarray();
-}
-
-void nyx_cleanup()
-{
-   if (nyx_output_string) {
-      free(nyx_output_string);
-      nyx_output_string = NULL;
-      nyx_output_pos = 0;
-      nyx_output_len = 0;
-   }
-
-   xlpop(); /* garbage-collect nyx_result */
-   gc(); /* run the garbage-collector now */
-}
-
-void nyx_susp_fetch(register nyx_susp_type susp, snd_list_type snd_list)
-{
-   sample_block_type         out;
-   sample_block_values_type  out_ptr;
-   long                      n;
-   int                       err;
-
-   falloc_sample_block(out, "nyx_susp_fetch");
-   out_ptr = out->samples;
-   snd_list->block = out;
-
-   n = max_sample_block_len;
-   if (susp->susp.current + n > susp->len)
-      n = susp->len - susp->susp.current;
-
-   err = susp->callback(out_ptr, susp->channel,
-                            susp->susp.current, n, 0, susp->userdata);
-   if (err)
-      longjmp(nyx_cntxt.c_jmpbuf, 1);      
-
-   snd_list->block_len = n;
-   susp->susp.current += n;
-
-   if (n == 0) {
-      /* we didn't read anything, but can't return length zero, so
-         convert snd_list to pointer to zero block */
-      snd_list_terminate(snd_list);
-   }
-   else if (n < max_sample_block_len) {
-      /* should free susp */
-      snd_list_unref(snd_list->u.next);
-      /* if something is in buffer, terminate by pointing to zero block */
-      snd_list->u.next = zero_snd_list;
-   }
-}
-
-void nyx_susp_free(nyx_susp_type susp)
-{
-   ffree_generic(susp, sizeof(nyx_susp_node), "nyx_susp_free");
-}
-
-void nyx_susp_print_tree(nyx_susp_type susp, int n)
-{
-}
-
-void nyx_capture_output(int max_len)
-{
-   if (nyx_output_string)
-      free(nyx_output_string);
-
-   nyx_output_string = (char *)malloc(max_len);
-   nyx_output_len = max_len;
-   nyx_output_pos = 0;
-}
-
-void nyx_get_captured_output(int *out_len,
-                             const char **out_chars)
-{
-   *out_len = nyx_output_pos;
-   *out_chars = (const char *)nyx_output_string;
-   nyx_output_pos = 0;
-}
-
-void nyx_set_audio_params( double rate )
-{
-   /* Bind the sample rate to the "*sound-srate*" global */
-   setvalue(xlenter("*SOUND-SRATE*"), cvflonum(rate));
-}
-
-void nyx_set_input_audio(nyx_audio_callback callback,
-                         void *userdata,
-                         int num_channels,
-                         long len, double rate)
-{
-   sample_type      scale_factor = 1.0;
-   time_type        t0 = 0.0;
-   nyx_susp_type   *susp;
-   sound_type      *snd;
-   double           stretch_len;
-   LVAL             warp;
-   int              ch;
-
-   susp = (nyx_susp_type *)malloc(num_channels * sizeof(nyx_susp_type));
-   snd = (sound_type *)malloc(num_channels * sizeof(sound_type));
-
-   for(ch=0; ch < num_channels; ch++) {
-      falloc_generic(susp[ch], nyx_susp_node, "nyx_set_input_audio");
-
-      susp[ch]->callback = callback;
-      susp[ch]->userdata = userdata;
-      susp[ch]->len = len;
-      susp[ch]->channel = ch;
-
-      susp[ch]->susp.sr = rate;
-      susp[ch]->susp.t0 = t0;
-      susp[ch]->susp.mark = NULL;
-      susp[ch]->susp.print_tree = nyx_susp_print_tree;
-      susp[ch]->susp.current = 0;
-      susp[ch]->susp.fetch = nyx_susp_fetch;
-      susp[ch]->susp.free = nyx_susp_free;
-      susp[ch]->susp.name = "nyx";
-      
-      snd[ch] = sound_create((snd_susp_type)susp[ch], t0, 
-                             rate, 
-                             scale_factor);
-   }
-
-   /* Bind the sample rate to the "*sound-srate*" global */
-   setvalue(xlenter("*SOUND-SRATE*"), cvflonum(rate));
-
-   /* Bind selection len to "len" global */
-   setvalue(xlenter("LEN"), cvflonum(len));
-
-   if (len > 0)
-      stretch_len = len / rate;
-   else
-      stretch_len = 1.0;
-
-   /* Set the "*warp*" global based on the length of the audio */
-   xlprot1(warp);
-   warp = cons(cvflonum(0),                    /* time offset */
-               cons(cvflonum(stretch_len),     /* time stretch */
-                    cons(NULL,                 /* cont. time warp */
-                         NULL)));
-   setvalue(xlenter("*WARP*"), warp);
-   xlpop();
-
-   if (num_channels > 1) {
-      LVAL array = newvector(num_channels);
-      for(ch=0; ch<num_channels; ch++)
-         setelement(array, ch, cvsound(snd[ch]));
-
-      setvalue(xlenter("S"), array);
-   }
-   else {
-      LVAL s = cvsound(snd[0]);
-
-      setvalue(xlenter("S"), s);
-   }
-}
-
-int is_labels(LVAL expr)
-{
-   /* make sure that we have a list whose first element is a
-      list of the form (time "label") */
-
-   LVAL label;
-   LVAL first;
-   LVAL second;
-   LVAL third;
-
-   if (!consp(expr))
-      return 0;
-
-   label = car(expr);
-
-   if (!consp(label))
-      return 0;
-
-   first = car(label);
-   if (!(floatp(first) || fixp(first)))
-      return 0;
-
-   if (!consp(cdr(label)))
-      return 0;
-
-   second = car(cdr(label));
-
-   if (floatp(second) || fixp(second)) {
-      if (!consp(cdr(cdr(label))))
-         return 0;
-      third = car(cdr(cdr(label)));
-      if (!(stringp(third)))
-         return 0;
-   }
-   else
-      if (!(stringp(second)))
-         return 0;
-
-   /* If this is the end of the list, we're done */
-
-   if (cdr(expr) == NULL)
-      return 1;
-
-   /* Otherwise recurse */
-
-   return is_labels(cdr(expr));
-}
-
-nyx_rval nyx_get_type(LVAL expr)
-{
-   if (expr==NULL)
-      return nyx_error;
-
-   switch(ntype(expr)) {
-   case FIXNUM:
-      return nyx_int;
-   case FLONUM:
-      return nyx_double;
-   case STRING:
-      return nyx_string;
-   case VECTOR: {
-      /* make sure it's a vector of sounds */
-      int i;
-      for(i=0; i<getsize(expr); i++)
-         if (!soundp(getelement(expr, i)))
-             return nyx_error;
-      return nyx_audio;
-   }
-   case CONS: {
-      /* see if it's a list of time/string pairs representing a
-         label track */
-      if (is_labels(expr))
-         return nyx_labels;
-      else
-         return nyx_error;
-   }
-   case EXTERN: {
-      if (soundp(expr))
-         return nyx_audio;
-   }
-   } /* switch */
-
-   return nyx_error;
-}
-
-nyx_rval nyx_eval_expression(const char *expr_string)
-{
-   LVAL expr = NULL;
-
-   nyx_expr_string = expr_string;
-   nyx_expr_len = strlen(nyx_expr_string);
-   nyx_expr_pos = 0;
-
-   nyx_result = NULL;
-   nyx_parse_error_flag = 0;
-
-   xlprot1(expr);
-
-   /* setup the error return */
-   xlbegin(&nyx_cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,(LVAL)1);
-   if (setjmp(nyx_cntxt.c_jmpbuf))
-      goto finish;
-
-   while(nyx_expr_pos < nyx_expr_len) {
-      expr = NULL;
-
-      /* read an expression */
-      if (!xlread(getvalue(s_stdin), &expr, FALSE))
-         break;
-
-      #if 0
-      /* save the input expression (so the user can refer to it
-         as +, ++, or +++) */
-      xlrdsave(expr);
-      #endif
-      
-      /* evaluate the expression */
-      nyx_result = xleval(expr);
-   }
-
-   xlflush();
-
- finish:
-   xlend(&nyx_cntxt);
-
-   xlpop(); /* unprotect expr */
-
-   /* reset the globals to their initial state */
-   obarray = nyx_old_obarray;
-   setvalue(xlenter("S"), NULL);
-   gc();
-
-   return nyx_get_type(nyx_result);
-}
-
-int nyx_get_audio_num_channels()
-{
-   if (nyx_get_type(nyx_result) != nyx_audio)
-      return 0;
-
-   if (vectorp(nyx_result))
-      return getsize(nyx_result);
-   else
-      return 1;
-}
-
-int nyx_get_audio(nyx_audio_callback callback, void *userdata)
-{
-   sample_block_type block;
-   sound_type snd;
-   sound_type *snds;
-   float *buffer;
-   long bufferlen;
-   long *totals;
-   long *lens;
-   long cnt;
-   int result = 0;
-   int num_channels;
-   int ch, i;
-   int success = FALSE;
-
-   if (nyx_get_type(nyx_result) != nyx_audio)
-      return;
-
-   num_channels = nyx_get_audio_num_channels();
-   snds = (sound_type *)malloc(num_channels * sizeof(sound_type));
-   totals = (long *)malloc(num_channels * sizeof(long));
-   lens = (long *)malloc(num_channels * sizeof(long));
-
-   /* setup the error return */
-   xlbegin(&nyx_cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,(LVAL)1);
-   if (setjmp(nyx_cntxt.c_jmpbuf))
-      goto finish;
-
-   for(ch=0; ch<num_channels; ch++) {
-      if (num_channels == 1)
-         snd = getsound(nyx_result);
-      else
-         snd = getsound(getelement(nyx_result, ch));
-      snds[ch] = snd;
-      totals[ch] = 0;
-      lens[ch] = snd_length(snd, snd->stop);
-   }
-
-   buffer = NULL;
-   bufferlen = 0;
-
-   while(result==0) {
-      for(ch=0; ch<num_channels; ch++) {
-         snd = snds[ch];
-         cnt = 0;
-         block = snd->get_next(snd, &cnt);
-         if (block == zero_block || cnt == 0) {
-            result = -1;
-            break;
-         }
-
-         /* copy the data to a temporary buffer and scale it
-            by the appropriate scale factor */
-
-         if (cnt > bufferlen) {
-            if (buffer)
-               free(buffer);
-            buffer = (float *)malloc(cnt * sizeof(float));
-            bufferlen = cnt;
-         }
-
-         memcpy(buffer, block->samples, cnt * sizeof(float));
-
-         for(i=0; i<cnt; i++)
-            buffer[i] *= snd->scale;
-
-         result = callback(buffer, ch,
-                           totals[ch], cnt, lens[ch], userdata);
-
-         if (result != 0) {
-            goto finish;
-         }
-
-         totals[ch] += cnt;
-      }
-   }
-
-   success = TRUE;
-
- finish:
-   if (buffer)
-      free(buffer);
-   free(snds);
-   free(totals);
-   free(lens);
-
-   xlend(&nyx_cntxt);
-
-   return success;
-}
-
-int nyx_get_int()
-{
-   if (nyx_get_type(nyx_result) != nyx_int)
-      return -1;
-
-   return getfixnum(nyx_result);
-}
-
-double nyx_get_double()
-{
-   if (nyx_get_type(nyx_result) != nyx_double)
-      return -1.0;
-
-   return getflonum(nyx_result);
-}
-
-const char *nyx_get_string()
-{
-   if (nyx_get_type(nyx_result) != nyx_string)
-      return NULL;
-
-   return (const char *)getstring(nyx_result);
-
-}
-
-int nyx_get_num_labels()
-{
-   LVAL s = nyx_result;
-   int count = 0;
-
-   if (nyx_get_type(nyx_result) != nyx_labels)
-      return 0;
-
-   while(s) {
-      count++;
-      s = cdr(s);
-   }
-
-   return count;
-}
-
-void nyx_get_label(int index,
-                   double *start_time,
-                   double *end_time,
-                   const char **label)
-{
-   LVAL s = nyx_result;
-   LVAL label_expr;
-   LVAL t0_expr;
-   LVAL t1_expr;
-   LVAL str_expr;
-
-   if (nyx_get_type(nyx_result) != nyx_labels)
-      return;
-
-   if (index < 0 || index >= nyx_get_num_labels())
-      return;
-
-   while(index) {
-      index--;
-      s = cdr(s);
-   }
-
-   /* We either have (t0 "label") or (t0 t1 "label") */
-
-   label_expr = car(s);
-   t0_expr = car(label_expr);
-   t1_expr = car(cdr(label_expr));
-   if (stringp(t1_expr)) {
-      str_expr = t1_expr;
-      t1_expr = t0_expr;
-   }
-   else
-      str_expr = car(cdr(cdr(label_expr)));
-
-   if (floatp(t0_expr))
-      *start_time = getflonum(t0_expr);
-   else if (fixp(t0_expr))
-      *start_time = (double)getfixnum(t0_expr);
-
-   if (floatp(t1_expr))
-      *end_time = getflonum(t1_expr);
-   else if (fixp(t1_expr))
-      *end_time = (double)getfixnum(t1_expr);
-
-   *label = (const char *)getstring(str_expr);
-}
-
-const char *nyx_get_error_str()
-{
-   return NULL;
-}
-
-int ostgetc()
-{
-   if (nyx_expr_pos < nyx_expr_len) {
-      fflush(stdout);
-      return (nyx_expr_string[nyx_expr_pos++]);
-   }
-   else if (nyx_expr_pos == nyx_expr_len) {
-      /* Add whitespace at the end so that the parser
-         knows that this is the end of the expression */
-      nyx_expr_pos++;
-      return '\n';
-   }
-   else
-      return EOF;
-}
-
-/* osinit - initialize */
-void osinit(char *banner)
-{
-}
-
-/* osfinish - clean up before returning to the operating system */
-void osfinish(void) 
-{
-}
-
-/* oserror - print an error message */
-void oserror(char *msg)
-{
-   printf("nyx error: %s\n", msg);
-}
-
-long osrand(long n)
-{
-   return (((int) rand()) % n);
-}
-
-/* osaopen - open an ascii file */
-FILE *osaopen(name,mode) char *name,*mode;
-{
-   FILE *fp;
-   fp = fopen(name,mode);
-   return fp;
-}
-
-/* osbopen - open a binary file */
-FILE *osbopen(char *name, char *mode)
-{
-   char bmode[10];
-   FILE *fp;
-   
-   strncpy(bmode, mode, 8);
-   strcat(bmode,"b");
-   fp = fopen(name,bmode);
-   return fp;
-}
-
-/* osclose - close a file */
-int osclose(FILE *fp)
-{
-   return (fclose(fp));
-}
-
-/* osagetc - get a character from an ascii file */
-int osagetc(FILE *fp)
-{
-   return (getc(fp));
-}
-
-/* osaputc - put a character to an ascii file */
-int osaputc(int ch, FILE *fp)
-{
-   return (putc(ch,fp));
-}
-
-extern int dbgflg;
-
-/* osbgetc - get a character from a binary file */
-/* int osbgetc(fp) FILE *fp; {return (getc(fp));} */
-#ifndef WIN32  // duplicated in winfun.c, per James Crook, 7/4/2003
-	int osbgetc(FILE *fp)
-	{
-		return (getc(fp));
-	}
-#endif
-
-/* osbputc - put a character to a binary file */
-int osbputc(int ch, FILE *fp)
-{
-   return (putc(ch,fp));
-}
-
-/* ostputc - put a character to the terminal */
-void ostputc(int ch)
-{     
-   oscheck();		/* check for control characters */
-   
-   if (nyx_output_pos < nyx_output_len)
-      nyx_output_string[nyx_output_pos++] = (char)ch;
-   else
-      putchar(((char) ch));
-}
-
-/* osflush - flush the terminal input buffer */
-void osflush(void)
-{
-}
-
-/* oscheck - check for control characters during execution */
-void oscheck(void)
-{
-   /* if they hit control-c:
-      xflush(); xltoplevel(); return;
-   */
-}
-
-/* xsystem - execute a system command */
-#ifndef WIN32  // duplicated in winfun.c, per James Crook, 7/4/2003
-LVAL xsystem()
-{
-   if (moreargs()) {
-      unsigned char *cmd;
-      cmd = (unsigned char *)getstring(xlgastring());
-      fprintf(stderr, "Will not execute system command: %s\n", cmd);
-   }
-   return s_true;
-}
-#endif
-
-/* xsetdir -- set current directory of the process */
-LVAL xsetdir()
-{
-   char *dir = (char *)getstring(xlgastring());
-   int result;
-   xllastarg();
-   result = chdir(dir);
-   if (result) {
-      perror("SETDIR");
-   }
-   return NULL;
-}
-
-/* xgetkey - get a key from the keyboard */
-#ifndef WIN32  // duplicated in winfun.c, per James Crook, 7/4/2003
-	LVAL xgetkey() {xllastarg(); return (cvfixnum((FIXTYPE)getchar()));}
-#endif
-
-/* ossymbols - enter os specific symbols */
-#ifndef WIN32  // duplicated in winfun.c, per James Crook, 7/4/2003
-	void ossymbols(void) {}
-#endif
-
-/* xsetupconsole -- used to configure window in Win32 version */
-#ifndef WIN32  // duplicated in winfun.c, per James Crook, 7/4/2003
-	LVAL xsetupconsole() { return NULL; }
-#endif
-
-/* control-C handling */
-void ctcinit()	{}
-
diff --git a/lib-src/libnyquist/nyx/nyx.h b/lib-src/libnyquist/nyx/nyx.h
deleted file mode 100644
index 8b16ab0..0000000
--- a/lib-src/libnyquist/nyx/nyx.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
-
-  nyx.h
-
-  Nyx: A very simple external interface to Nyquist
-
-  Dominic Mazzoni
-
-**********************************************************************/
-
-#ifndef __NYX__
-#define __NYX__
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-   #define nyx_returns_start_and_end_time 1
-
-   typedef enum {
-      nyx_error,
-      nyx_audio,
-      nyx_int,
-      nyx_double,
-      nyx_string,
-      nyx_labels
-   } nyx_rval;
-   
-   void        nyx_init();
-   void        nyx_cleanup();
-
-   /* should return return 0 for success, -1 for error */
-   typedef int (*nyx_audio_callback)(float *buffer,
-                                     int channel,
-                                     long start, long len,
-                                     long totlen,
-                                     void *userdata);
-
-   /* Set to 0 to stop capturing output */
-   void        nyx_capture_output(int max_len);
-
-   /* Returns all output text captured so far, and resets it */
-   void        nyx_get_captured_output(int *out_len,
-                                       const char **out_chars);
-   
-   void        nyx_set_audio_params( double rate );
-
-   void        nyx_set_input_audio(nyx_audio_callback callback,
-                                   void *userdata,
-                                   int num_channels,
-                                   long len, double rate);
-   
-   nyx_rval    nyx_eval_expression(const char *expr);
-   
-   int         nyx_get_audio_num_channels();
-   int         nyx_get_audio(nyx_audio_callback callback,
-                             void *userdata);
-
-   int         nyx_get_int();
-   double      nyx_get_double();
-   const char *nyx_get_string();
-
-   int         nyx_get_num_labels();
-   void        nyx_get_label(int index,
-                             double *start_time,
-                             double *end_time,
-                             const char **label);
-
-   const char *nyx_get_error_str();
-
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-   
-#endif /* __NYX__ */
-
diff --git a/lib-src/libnyquist/snd/audio.c b/lib-src/libnyquist/snd/audio.c
deleted file mode 100644
index b1dcee0..0000000
--- a/lib-src/libnyquist/snd/audio.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "memory.h"
-#include "stdio.h" 
-#include "snd.h"
-
-int audio_open()
-{
-    printf("audio_open not implemented\n");
-    return SND_SUCCESS;
-}
-
-
-int audio_close()
-{
-    printf("audio_close not implemented\n");
-    return SND_SUCCESS;
-}
-
-
-int audio_flush(snd_type snd)
-{
-    printf("audio_flush not implemented\n");
-    return SND_SUCCESS;
-}
-
-
-long audio_read()
-{
-    printf("audio_read not implemented\n");
-    return 0;
-}
-
-
-long audio_write()
-{
-    printf("audio_write not implemented\n");
-    return 0;
-}
-
-int audio_reset()
-{
-    printf("audio reset not implemented\n");
-    return SND_SUCCESS;
-}
-
-
-long audio_poll(snd_type snd)
-{
-    return 1000000;
-}
-
diff --git a/lib-src/libnyquist/snd/audionone.c b/lib-src/libnyquist/snd/audionone.c
deleted file mode 100644
index 19dd6ed..0000000
--- a/lib-src/libnyquist/snd/audionone.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "snd.h"
-
-long audio_poll(snd_type snd)
-{
-    return 0;
-}
-
-
-long audio_read(snd_type snd, void *buffer, long length)
-{
-    return 0;
-}
-
-
-long audio_write(snd_type snd, void *buffer, long length)
-{
-  return 0;
-}
-
-
-int audio_open(snd_type snd, long *flags)
-{
-  return 0;
-}
-
-
-int audio_close(snd_type snd)
-{
-  return 0;
-}
-
-
-/* audio_flush -- finish audio output */
-int audio_flush(snd_type snd)
-{
-  return 0;
-}
-
-
-int audio_reset(snd_type snd)
-{
-  return 0;
-}
-
-snd_fns_node mmsystem_dictionary = { audio_poll, audio_read, audio_write, 
-                       audio_open, audio_close, audio_reset, audio_flush };
-
-
-void snd_init()
-{
-    snd_add_device("None", "default", &mmsystem_dictionary);
-}
diff --git a/lib-src/libnyquist/snd/convert.c b/lib-src/libnyquist/snd/convert.c
deleted file mode 100644
index 85c839c..0000000
--- a/lib-src/libnyquist/snd/convert.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/* Standard includes */
-
-#include "stdlib.h"
-#include "string.h"
-#include "stdio.h"
-
-/* snd includes */
-
-#include "snd.h"
-
-/* set the length of buffers to be even multiple of Audio_...
- *  to avoid fractional filling of
- * audio output buffers
- */
-#define MAXLEN MAX_FILE_BUF_LEN
-
-char *header_string[] = { "none", "AIFF", "IRCAM", "NeXT", "Wave" };
-
-char *header_to_string(long header)
-{
-    if (header < 0 || header > 4) return "InvalidData";
-    else return header_string[header];
-}
-
-void snd_print_info(snd_type snd)
-{
-    if (snd->device == SND_DEVICE_AUDIO) {
-        if (snd->write_flag == SND_READ) {
-            printf("audio input");
-        } else {
-            printf("audio output");
-        }
-    } else if (snd->device == SND_DEVICE_MEM) {
-        if (snd->write_flag == SND_READ) {
-            printf("from memory buffer");
-        } else {
-            printf("to memory buffer");
-        }
-    } else {
-        printf("header %s", header_to_string(snd->u.file.header));
-    }
-    printf(", channels %d, mode %s, bits %d, srate %g",
-           snd->format.channels, 
-           snd_mode_to_string(snd->format.mode),
-           snd->format.bits, snd->format.srate);
-    if (snd->device == SND_DEVICE_MEM) {
-        if (snd->write_flag == SND_READ) {
-            printf("length %d\n", snd->u.mem.buffer_len);
-        } else {
-            printf("length %d\n", snd->u.mem.buffer_max);
-        }
-    } else if (snd->device == SND_DEVICE_FILE &&
-               snd->write_flag == SND_READ) {
-        printf(", length %d\n", (snd->u.file.end_offset - 
-                                snd->u.file.byte_offset) / snd_bytes_per_frame(snd));
-    } else printf("\n");
-}
-
-
-int main(int argc, char *argv[])
-{
-    char *fromfile = NULL;
-    char *tofile = NULL;
-    int i;
-    long flags = 0;
-    long frames;
-    long len;
-    long checksum = 0;
-    long count = 0;
-
-    int format = SND_HEAD_AIFF;
-    int mode = SND_MODE_PCM;
-    int channels = 1;
-    int bits = 16;
-    double srate = 44100.0;
-    snd_node from_snd, to_snd;
-    char from_buf[MAXLEN];
-    char to_buf[MAXLEN];
-    long frames_from_len;
-    long frames_to_len;
-    long from_len = 0;
-    long to_len = 0;
-
-    for (i = 1; i < argc; i++) {
-        if (*(argv[i]) != '-') {
-            if (!fromfile) fromfile = argv[i];
-            else if (!tofile) tofile = argv[i];
-            else {
-                printf("%s: don't know what to do with 3rd file\n", argv[i]);
-                return 1;
-            }
-        } else {
-            char *flag = argv[i] + 1;
-            if (*flag == '?') {
-                printf("convert -- sound file conversion utility\n\n");
-                printf("usage: convert fromfile tofile -flag1 -flag2 ...\n");
-                printf("  -fa -- AIFF file format\n");
-                printf("  -fi -- IRCAM file format\n");
-                printf("  -fn -- NeXT/Sun file format\n");
-                printf("  -fw -- Wave file format\n");
-                printf("  -ep -- PCM\n");
-                printf("  -em -- u-Law\n");
-                printf("  -ef -- float\n");
-                printf("  -eu -- unsigned PCM\n");
-                printf("  -b1 -- 8-bit\n");
-                printf("  -b2 -- 16-bit\n");
-                printf("  -b4 -- 32-bit\n");
-                printf("  -c1 -- 1 channel, etc.\n");
-                printf("use 'ada' to get audio input or output\n");
-            } else if (*flag == 'f') {
-                switch (flag[1]) {
-                  case 'a': format = SND_HEAD_AIFF; break;
-                  case 'i': format = SND_HEAD_IRCAM; break;
-                  case 'n': format = SND_HEAD_NEXT; break;
-                  case 'w': format = SND_HEAD_WAVE; break;
-                  default: printf("flag %s ignored\n", argv[i]); break;
-                }
-            } else if (*flag == 'e') {
-                switch (flag[1]) {
-                  case 'p': mode = SND_MODE_PCM; break;
-                  case 'm': mode = SND_MODE_ULAW; break;
-                  case 'f': mode = SND_MODE_FLOAT; break;
-                  case 'u': mode = SND_MODE_UPCM; break;
-                  default: printf("flag %s ignored\n", argv[i]); break;
-                } 
-            } else if (*flag == 'b') {
-                switch (flag[1]) {
-                  case '1': bits = 8; break;
-                  case '2': bits = 16; break;
-                  case '4': bits = 32; break;
-                  default: printf("flag %s ignored\n", argv[i]); break;
-                }
-            } else if (*flag == 'r') {
-                switch (flag[1]) {
-                  case '4': srate = 44100.0; break;
-                  case '2': srate = 22050.0; break;
-                  case '1': srate = 11025.0; break;
-                  case '8': srate = 8000.0; break;
-                  default: printf("flag %s ignored\n", argv[i]); break;
-                }
-            } else if (*flag == 'c') {
-                channels = atoi(flag+1);
-                if (channels < 1 || channels > 16) {
-                    channels = 1;
-                    printf("flag %s ignored, using 1 channel\n",
-                           argv[i]); 
-                }
-            }
-        }
-    }
-    if (!tofile) {
-        printf("2 files not found, use -? for help\n");
-        return 1;
-    }
-    
-    from_snd.device = SND_DEVICE_FILE;
-    from_snd.write_flag = SND_READ;
-    from_snd.u.file.byte_offset = 0;
-    from_snd.format.channels = channels;
-    from_snd.format.mode = mode;
-    from_snd.format.bits = bits;
-    from_snd.format.srate = srate;
-
-    if (strcmp(fromfile, "ada") == 0) {
-        from_snd.device = SND_DEVICE_AUDIO;
-        from_snd.u.audio.protocol = SND_COMPUTEAHEAD;
-        from_snd.u.audio.latency = 1.0;
-        from_snd.u.audio.granularity = 0.1;
-        strcpy(from_snd.u.file.filename, "");
-    } else {
-        strcpy(from_snd.u.file.filename, fromfile);
-    }
-    if (snd_open(&from_snd, &flags) != SND_SUCCESS) {
-        printf("error opening %s for input\n", fromfile);
-        exit(1);
-    }
-    printf("Opened %s for input: ", from_snd.u.file.filename);
-    snd_print_info(&from_snd);
-    
-    to_snd.device = SND_DEVICE_FILE;
-    to_snd.write_flag = SND_WRITE;
-    to_snd.format.channels = channels;
-    to_snd.format.mode = mode;
-    to_snd.format.bits = bits;
-    to_snd.format.srate = from_snd.format.srate;
-    to_snd.u.file.header = format;	/* header format, e.g. AIFF */
-    if (to_snd.u.file.header == SND_HEAD_WAVE && to_snd.format.mode == SND_MODE_PCM &&
-        to_snd.format.bits == 8) to_snd.format.mode = SND_MODE_UPCM;
-    if (strcmp(tofile, "ada") == 0) {
-        to_snd.device = SND_DEVICE_AUDIO;
-        to_snd.u.audio.protocol = SND_COMPUTEAHEAD;
-        to_snd.u.audio.latency = 0.0;
-        to_snd.u.audio.granularity = 0.1;
-        strcpy(to_snd.u.audio.interfacename, "");
-        strcpy(to_snd.u.audio.devicename, "");
-    } else {
-        strcpy(to_snd.u.file.filename, tofile);
-    }
-    if (snd_open(&to_snd, &flags) != SND_SUCCESS) {
-        printf("error opening %s for output\n", tofile);
-        exit(1);
-    }
-    printf("Opened %s for output: ", to_snd.u.file.filename);
-    snd_print_info(&to_snd);
-
-    /* figure out how much to convert on each iteration */
-
-    /* first, compute how many frames could fit in each buffer */
-    from_len = MAXLEN / snd_bytes_per_frame(&from_snd);
-    to_len = MAXLEN / snd_bytes_per_frame(&to_snd);
-
-    /* then compute the minimum of the two frame counts */
-    frames = min(from_len, to_len);
-
-    while (1) {
-        /* then convert back from frame counts to byte counts: */
-        while ((frames_from_len = snd_poll(&from_snd)) <=0);
-        frames_from_len = min(frames_from_len, frames);
-        while ((frames_to_len = snd_poll(&to_snd)) <= 0);
-        frames_to_len = min(frames_to_len, frames);
-        len = min(frames_to_len, frames_from_len);
-        len = snd_read(&from_snd, from_buf, len);
-        if (((from_snd.device == SND_DEVICE_AUDIO) && 
-             (count > from_snd.format.srate * 10)) || (!len)) {
-                break;
-        }
-        for (i = 0; i < len * snd_bytes_per_frame(&from_snd); i++) {
-            checksum += from_buf[i];
-            count++;
-        }
-        len = snd_convert(&to_snd, to_buf, &from_snd, from_buf, len);
-        len = snd_write(&to_snd, to_buf, len);
-        printf("#");
-        fflush(stdout);
-    }
-    snd_close(&from_snd);
-    if (to_snd.device == SND_DEVICE_AUDIO) {
-        while (snd_flush(&to_snd) != SND_SUCCESS) ;
-    }
-    snd_close(&to_snd);
-
-    printf("Read %ld frames, checksum = %ld\n", count, checksum);
-    exit(0);
-}
-
-
-
diff --git a/lib-src/libnyquist/snd/ieeecvt.c b/lib-src/libnyquist/snd/ieeecvt.c
deleted file mode 100644
index 731871a..0000000
--- a/lib-src/libnyquist/snd/ieeecvt.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * C O N V E R T   T O   I E E E   E X T E N D E D
- */
-
-/* Copyright (C) 1988-1991 Apple Computer, Inc.
- * All rights reserved.
- *
- * Machine-independent I/O routines for IEEE floating-point numbers.
- *
- * NaN's and infinities are converted to HUGE_VAL or HUGE, which
- * happens to be infinity on IEEE machines.  Unfortunately, it is
- * impossible to preserve NaN's in a machine-independent way.
- * Infinities are, however, preserved on IEEE machines.
- *
- * These routines have been tested on the following machines:
- *    Apple Macintosh, MPW 3.1 C compiler
- *    Apple Macintosh, THINK C compiler
- *    Silicon Graphics IRIS, MIPS compiler
- *    Cray X/MP and Y/MP
- *    Digital Equipment VAX
- *
- *
- * Implemented by Malcolm Slaney and Ken Turkowski.
- *
- * Malcolm Slaney contributions during 1988-1990 include big- and little-
- * endian file I/O, conversion to and from Motorola's extended 80-bit
- * floating-point format, and conversions to and from IEEE single-
- * precision floating-point format.
- *
- * In 1991, Ken Turkowski implemented the conversions to and from
- * IEEE double-precision format, added more precision to the extended
- * conversions, and accommodated conversions involving +/- infinity,
- * NaN's, and denormalized numbers.
- */
-
-#include "math.h"
-
-#ifndef HUGE_VAL
-#ifdef HUGE
-#define HUGE_VAL HUGE
-#else
-/* WARNING: this is machine-dependent and should come from math.h */
-#define HUGE_VAL 1.797693134862315e308
-#endif /* HUGE */
-#endif /*HUGE_VAL*/
-
-# define FloatToUnsigned(f)      ((unsigned long)(((long)(f - 2147483648.0)) + 2147483647L) + 1)
-
-void ConvertToIeeeExtended(double num, char *bytes)
-{
-    int    sign;
-    int expon;
-    double fMant, fsMant;
-    unsigned long hiMant, loMant;
-
-    if (num < 0) {
-        sign = 0x8000;
-        num *= -1;
-    } else {
-        sign = 0;
-    }
-
-    if (num == 0) {
-        expon = 0; hiMant = 0; loMant = 0;
-    }
-    else {
-        fMant = frexp(num, &expon);
-        if ((expon > 16384) || !(fMant < 1)) {    /* Infinity or NaN */
-            expon = sign|0x7FFF; hiMant = 0; loMant = 0; /* infinity */
-        }
-        else {    /* Finite */
-            expon += 16382;
-            if (expon < 0) {    /* denormalized */
-                fMant = ldexp(fMant, expon);
-                expon = 0;
-            }
-            expon |= sign;
-            fMant = ldexp(fMant, 32);          
-            fsMant = floor(fMant); 
-            hiMant = FloatToUnsigned(fsMant);
-            fMant = ldexp(fMant - fsMant, 32); 
-            fsMant = floor(fMant); 
-            loMant = FloatToUnsigned(fsMant);
-        }
-    }
-    
-    bytes[0] = (char) (expon >> 8);
-    bytes[1] = (char) expon;
-    bytes[2] = (char) (hiMant >> 24);
-    bytes[3] = (char) (hiMant >> 16);
-    bytes[4] = (char) (hiMant >> 8);
-    bytes[5] = (char) hiMant;
-    bytes[6] = (char) (loMant >> 24);
-    bytes[7] = (char) (loMant >> 16);
-    bytes[8] = (char) (loMant >> 8);
-    bytes[9] = (char) loMant;
-}
-
-
-/*
- * C O N V E R T   F R O M   I E E E   E X T E N D E D  
- */
-
-/* 
- * Copyright (C) 1988-1991 Apple Computer, Inc.
- * All rights reserved.
- *
- * Machine-independent I/O routines for IEEE floating-point numbers.
- *
- * NaN's and infinities are converted to HUGE_VAL or HUGE, which
- * happens to be infinity on IEEE machines.  Unfortunately, it is
- * impossible to preserve NaN's in a machine-independent way.
- * Infinities are, however, preserved on IEEE machines.
- *
- * These routines have been tested on the following machines:
- *    Apple Macintosh, MPW 3.1 C compiler
- *    Apple Macintosh, THINK C compiler
- *    Silicon Graphics IRIS, MIPS compiler
- *    Cray X/MP and Y/MP
- *    Digital Equipment VAX
- *
- *
- * Implemented by Malcolm Slaney and Ken Turkowski.
- *
- * Malcolm Slaney contributions during 1988-1990 include big- and little-
- * endian file I/O, conversion to and from Motorola's extended 80-bit
- * floating-point format, and conversions to and from IEEE single-
- * precision floating-point format.
- *
- * In 1991, Ken Turkowski implemented the conversions to and from
- * IEEE double-precision format, added more precision to the extended
- * conversions, and accommodated conversions involving +/- infinity,
- * NaN's, and denormalized numbers.
- */
-
-#ifndef HUGE_VAL
-# define HUGE_VAL HUGE
-#endif /*HUGE_VAL*/
-
-# define UnsignedToFloat(u)         (((double)((long)(u - 2147483647L - 1))) + 2147483648.0)
-
-/****************************************************************
- * Extended precision IEEE floating-point conversion routine.
- ****************************************************************/
-
-double ConvertFromIeeeExtended(unsigned char *bytes /* LCN */)
-{
-    double    f;
-    int    expon;
-    unsigned long hiMant, loMant;
-    
-    expon = ((bytes[0] & 0x7F) << 8) | (bytes[1] & 0xFF);
-    hiMant    =    ((unsigned long)(bytes[2] & 0xFF) << 24)
-            |    ((unsigned long)(bytes[3] & 0xFF) << 16)
-            |    ((unsigned long)(bytes[4] & 0xFF) << 8)
-            |    ((unsigned long)(bytes[5] & 0xFF));
-    loMant    =    ((unsigned long)(bytes[6] & 0xFF) << 24)
-            |    ((unsigned long)(bytes[7] & 0xFF) << 16)
-            |    ((unsigned long)(bytes[8] & 0xFF) << 8)
-            |    ((unsigned long)(bytes[9] & 0xFF));
-
-    if (expon == 0 && hiMant == 0 && loMant == 0) {
-        f = 0;
-    }
-    else {
-        if (expon == 0x7FFF) {    /* Infinity or NaN */
-            f = HUGE_VAL;
-        }
-        else {
-            expon -= 16383;
-            f  = ldexp(UnsignedToFloat(hiMant), expon-=31);
-            f += ldexp(UnsignedToFloat(loMant), expon-=32);
-        }
-    }
-
-    if (bytes[0] & 0x80)
-        return -f;
-    else
-        return f;
-}
-
-
-
diff --git a/lib-src/libnyquist/snd/ieeecvt.h b/lib-src/libnyquist/snd/ieeecvt.h
deleted file mode 100644
index f60c776..0000000
--- a/lib-src/libnyquist/snd/ieeecvt.h
+++ /dev/null
@@ -1,2 +0,0 @@
-void ConvertToIeeeExtended(double num, char *bytes);
-double ConvertFromIeeeExtended(unsigned char *bytes);
diff --git a/lib-src/libnyquist/snd/rs6kplaydemo.c b/lib-src/libnyquist/snd/rs6kplaydemo.c
deleted file mode 100644
index cd52ced..0000000
--- a/lib-src/libnyquist/snd/rs6kplaydemo.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* This code shows (I think) how to play audio on an RS6K. 
-   It is not used for anything, but might be a nice reference
-   in case anyone wants to support AIX under the snd library.
-   -RBD
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <UMSBAUDDevice.h>
-void main(argc, argv)
-int argc;
-char *argv[];
-{
- UMSBAUDDevice adev;
- UMSAudioDevice_ReturnCode rc;
- Environment *ev;
-UMSAudioTypes_Buffer buffer;
- long onesecsize ;
- long read_cnt, transferred_cnt;
- int file;
- long sw;
- long osamples;
- char *obyte_order;
- long lgain;
- long rgain;
- long time;
- long pos;
- int bytespersec ;
- int secondtorecord ;
- long channels ;
- long bits ;
-/* set up som enviroment */
-ev = somGetGlobalEnvironment();
-adev = UMSBAUDDeviceNew();
-printf("start record session\n");
-rc = UMSAudioDevice_open(adev,ev,"/dev/acpa0","RECORD", 			UMSAudioDevice_BlockingIO);
-/* establish audio attributes */
- channels = 2 ;
- bits  = 16 ;
-rc = UMSAudioDevice_set_sample_rate(adev,ev,22050,&osamples);
-rc = UMSAudioDevice_set_bits_per_sample(adev,ev,bits);
-rc = UMSAudioDevice_set_number_of_channels(adev,ev,channels);
-rc = UMSAudioDevice_set_audio_format_type(adev,ev,"PCM");
-rc = UMSAudioDevice_set_byte_order(adev,ev,"MSB");
-rc = UMSAudioDevice_set_number_format(adev,ev,"TWOS COMPLEMENT");
-rc = UMSAudioDevice_get_byte_order(adev,ev,&obyte_order);
-/* you have to free the string after the query */
-if (obyte_order) free(obyte_order);
-rc = UMSAudioDevice_set_volume(adev,ev,100);
-rc = UMSAudioDevice_set_balance(adev,ev,0);
-rc = UMSAudioDevice_set_time_format(adev,ev,UMSAudioTypes_Msecs);
-lgain = 100; /*maximum left input gain*/
-rgain = 100; /*maimum right input gain*/
-rc = UMSAudioDevice_enable_input(adev,ev,"LINE_IN",&lgain,&rgain);
-rc = UMSAudioDevice_set_monitor(adev,ev,TRUE);
-rc = UMSAudioDevice_initialize(adev,ev);
-secondtorecord = 10 ;
-bytespersec = (bits / 8) * channels ;
-onesecsize = bytespersec * osamples ;
-time = 1000 * secondtorecord ;
-buffer._length = onesecsize ;
-buffer._buffer = malloc(onesecsize);
-buffer._maximum = onesecsize ;
-file = open("/tmp/testaudio",O_WRONLY | O_CREAT | O_TRUNC,0644);
-rc = UMSAudioDevice_start(adev,ev);
-/* do the recording */
-do
-{
-rc = UMSAudioDevice_read(adev,ev,&buffer,onesecsize,&sw);
-write(file,buffer._buffer, bytespersec * sw);
-rc = UMSAudioDevice_get_position(adev,ev,&pos);
-}
-while(time > pos);
-rc = UMSAudioDevice_stop(adev,ev);
-rc = UMSAudioDevice_close(adev,ev);
-close(file);
-/* playback session */
-printf("start playback session\n");
-rc = UMSAudioDevice_open(adev,ev,"/dev/acpa0","PLAY",				 UMSAudioDevice_BlockingIO);
-buffer._length = 0 ;
-buffer._maximum = onesecsize ;
-lgain = 100; /*maximum left input gain*/
-rgain = 100; /*maimum right input gain*/
-rc = UMSAudioDevice_enable_output(adev,ev,"LINE_OUT",&lgain,&rgain);
-rc = UMSAudioDevice_initialize(adev,ev);
-file = open("/tmp/testaudio",O_RDONLY,0);
-rc = UMSAudioDevice_start(adev,ev);
-while((transferred_cnt = read(file,buffer._buffer,onesecsize)))
-{
-read_cnt = transferred_cnt / bytespersec;
-buffer._length = transferred_cnt ;
-rc = UMSAudioDevice_write(adev,ev,&buffer,read_cnt,&sw);
-}
-rc = UMSAudioDevice_play_remaining_data(adev,ev,TRUE);
-UMSAudioDevice_stop(adev,ev);
-UMSAudioDevice_close(adev,ev);
-_somFree(adev);
-}
diff --git a/lib-src/libnyquist/snd/snd.c b/lib-src/libnyquist/snd/snd.c
deleted file mode 100644
index 022ff34..0000000
--- a/lib-src/libnyquist/snd/snd.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/* snd.c -- low-level sound I/O
- *
- * Roger Dannenberg
- * 21 Jun 1997
- *
- * based on sndheader.c:
- *
- * Jim Zelenka, CMU/ITC, 9 Jun 1992 (rewritten from my old sources)
- * Roger Dannenberg, CMU, Mar 1993 (extensive changes and additions)
- *
- * and on sndread.c & sndwrite.c:
- *
- * Roger Dannenberg
- */
-
-/* Standard includes */
-#include <string.h>
-#include <stdio.h>
-
-#include "snd.h"
-#include "sndfileio.h"
-#include "sndheader.h"
-
-static int snd_initialized = FALSE;
-
-typedef struct {
-    char *interf;
-    char *device;
-    snd_fns_type dictionary;
-} descriptor_node, *descriptor_type;
-
-
-static int descriptor_index = 0;
-#define snd_descriptor_max 32
-static descriptor_node descriptors[snd_descriptor_max];
-
-
-/* snd_add_device -- describe interface/device pair to library 
- *
- * This is called at intialization time, once for each 
- * interface (e.g. DirectSound) and device (e.g. SoundBlaster 1)
- * The strings are retained but NOT COPIED, so do not destroy them!
- */
-void snd_add_device(char *interf, char *device, snd_fns_type dictionary)
-{
-    if (descriptor_index >= snd_descriptor_max) {
-        snd_fail("snd_add_device: snd_descriptor_max exceeded");
-    }
-    descriptors[descriptor_index].interf = interf;
-    descriptors[descriptor_index].device = device;
-    descriptors[descriptor_index].dictionary = dictionary;
-    descriptor_index++;
-}
-    
-
-int snd_device(int n, char *interf, char *device)
-{
-    if (!snd_initialized) {
-        snd_init();
-        snd_initialized = TRUE;
-    }
-    if (n >= 0 && n < descriptor_index) {
-        strcpy(interf, descriptors[n].interf);
-        strcpy(device, descriptors[n].device);
-        return SND_SUCCESS;
-    }
-    return !SND_SUCCESS;
-}
-
-
-/* failure_fn -- "noop" function pointer */
-/**/
-static int failure_fn(snd_type snd)
-{
-    return !SND_SUCCESS;
-}
-
-
-/* success_fn -- "noop" function pointer */
-/**/
-static int success_fn(snd_type snd)
-{
-    return SND_SUCCESS;
-}
-
-
-static long file_poll(snd_type snd)
-{
-    return MAX_FILE_BUF_LEN;
-
-}
-
-
-static long mem_poll(snd_type snd)
-{
-    if (snd->write_flag == SND_READ) {
-        return (snd->u.mem.buffer_len - snd->u.mem.buffer_pos);
-    } else {
-        return (snd->u.mem.buffer_max - snd->u.mem.buffer_len);
-    }
-}
-
-
-static long none_poll(snd_type snd)
-{
-    return 0;
-}
-
-#if !defined(WIN32) && !defined(IRIX) && !defined(SGI)
-static void _swab(char *to, char *from, long length)
-{
-    short *to16 = (short *) to;
-    short *from16 = (short *) from;
-    int i = 1;
-    while (i < length) {
-        short data = *from16++;
-        *to16++ = (data << 8) | ((data >> 8) & 0xFF);
-        i += 2;
-    }
-}
-#endif
-
-
-static void change_byte_order(snd_type snd, void *buffer, long length)
-{
-    int bytes = (snd->format.bits + 7) >> 3;
-    switch (bytes) {
-      case 1:
-        break;
-      case 2:
-        _swab((char *) buffer, (char *) buffer, length);
-        break;
-      case 4: {
-        long *buff = (long *) buffer;
-        while (length > 0) {
-            long data = *buff;
-            *buff++ = ((data >> 24) & 0xFF) | ((data >> 8) & 0xFF00) |
-                ((data << 8) & 0xFF0000) | (data << 24);
-            length -= 4;
-        }
-        break;
-      }
-      default: {
-        char msg[100];
-        sprintf(msg, "Cannot handle %d-byte samples", bytes);
-        snd_fail(msg);
-        break;
-      }
-    }
-}
-
-
-static long file_read(snd_type snd, void *buffer, long length)
-{
-    long togo, cnt;
-    togo = snd->u.file.end_offset - snd->u.file.current_offset;
-    if (length > togo) length = togo;
-    cnt = snd_file_read(snd->u.file.file, (char *) buffer, length);
-    snd->u.file.current_offset += cnt;
-    if (snd->u.file.swap) change_byte_order(snd, buffer, cnt);
-    return cnt;
-}
-
-      
-static long mem_read(snd_type snd, void *buffer, long length)
-{
-    /* if there are fewer than length bytes, reduce length: */
-    if ((snd->u.mem.buffer_len - snd->u.mem.buffer_pos) < length) {
-        length = snd->u.mem.buffer_len - snd->u.mem.buffer_pos;
-    }
-    memcpy(buffer, snd->u.mem.buffer + snd->u.mem.buffer_pos, 
-           length);
-    snd->u.mem.buffer_pos += length;
-    return length;
-}
-
-
-static long none_read(snd_type snd, void *buffer, long length)
-{
-    return 0;
-}
-
-
-static long file_write(snd_type snd, void *buffer, long length)
-{
-    long cnt;
-    if (snd->u.file.swap) change_byte_order(snd, buffer, length);
-    cnt = snd_file_write(snd->u.file.file, (char *) buffer, length);
-    snd->u.file.end_offset += cnt;	/* keep track of how much data */
-    return cnt;
-}
-
-    
-static long mem_write(snd_type snd, void *buffer, long length)
-{
-    /* if there are fewer than length bytes, reduce length: */
-    if ((snd->u.mem.buffer_max - snd->u.mem.buffer_len) < length) {
-        length = snd->u.mem.buffer_max - snd->u.mem.buffer_len;
-    }
-    memcpy(snd->u.mem.buffer + snd->u.mem.buffer_len, buffer, length);
-    snd->u.mem.buffer_len += length;
-    return length;
-}
-
-
-static long none_write(snd_type snd, void *buffer, long length)
-{
-    return 0;
-}
-
-
-static int mem_open(snd_type snd, long *flags)
-{
-    return SND_SUCCESS;
-}
-
-
-static int none_open(snd_type snd, long *flags)
-{
-    return !SND_SUCCESS;
-}
-
-
-static int file_close(snd_type snd)
-{
-    if (snd->write_flag == SND_WRITE) {
-        write_sndheader_finish(snd);
-    }
-    return snd_file_close(snd->u.file.file);
-}
-
-
-#define mem_close success_fn
-
-#define none_close failure_fn
-
-#define file_reset success_fn
-
-
-static int mem_reset(snd_type snd)
-{
-    snd->u.mem.buffer_pos = 0;
-    if (snd->write_flag != SND_READ) {
-        snd->u.mem.buffer_len = 0;
-    }
-    return SND_SUCCESS;
-}
-
-
-#define none_reset failure_fn
-
-
-#define file_flush success_fn
-
-#define mem_flush success_fn
-
-#define none_flush failure_fn
-
-
-char *snd_mode_string[] = { "ADPCM", "PCM", "ULAW", "ALAW", "Float", "UPCM", "Unknown" };
-
-char *snd_mode_to_string(long mode)
-{
-    if (mode < 0 || mode >= SND_NUM_MODES) return "InvalidData";
-    else return snd_mode_string[mode];
-}
-
-
-static snd_fns_node mem_dictionary = { 
-    mem_poll, mem_read, mem_write, mem_open,
-    mem_close, mem_reset, mem_flush };
-
-static snd_fns_node file_dictionary = {
-    file_poll, file_read, file_write, snd_open_file,
-        file_close, file_reset, file_flush };
-
-snd_fns_node snd_none_dictionary = {
-    none_poll, none_read, none_write, none_open,
-        none_close, none_reset, none_flush };
-
-long snd_poll(snd_type snd)
-{
-    return (*snd->dictionary->poll)(snd);
-}
-
-
-/* snd_read -- read up to length bytes from source into buffer */
-/*
- * returns number of bytes actually read
- */
-long snd_read(snd_type snd, void *buffer, long length)
-{
-    int bpf = snd_bytes_per_frame(snd);
-    return ((*snd->dictionary->read)(snd, buffer, length * bpf)) / bpf;
-}
-
-
-long snd_write(snd_type snd, void *buffer, long length)
-{
-    int bpf = snd_bytes_per_frame(snd);
-    return (*snd->dictionary->write)(snd, buffer, length * bpf) / bpf;
-}
-
-
-
-int snd_open(snd_type snd, long *flags)
-{
-    if (!snd_initialized) {
-        snd_init();
-        snd_initialized = TRUE;
-    }
-    *flags = 0;
-    if (snd->device == SND_DEVICE_FILE) {
-        snd->dictionary = &file_dictionary;
-    } else if (snd->device == SND_DEVICE_AUDIO) {
-        int i;
-        for (i = 0; i < descriptor_index; i++) {
-            /* take the first descriptor that matches both interface 
-               and device, where empty string matches anything: */
-            if ((snd->u.audio.interfacename[0] == 0 ||
-                 strcmp(snd->u.audio.interfacename, 
-                        descriptors[i].interf) == 0) &&
-                                /*&& commented out by dmazzoni - don't want to compare dev 
-                  && uncommented by rbd - please see previous comment/specification */
-                (snd->u.audio.devicename[0] == 0 ||
-                 strcmp(snd->u.audio.devicename, 
-                                 descriptors[i].device) == 0)) {
-                snd->dictionary = descriptors[i].dictionary;
-                break;
-            }
-        }
-        if (i >= descriptor_index) {
-            return !SND_SUCCESS;
-        }
-    } else if (snd->device == SND_DEVICE_MEM) {
-        snd->dictionary = &mem_dictionary;
-    }
-    return (*snd->dictionary->open)(snd, flags);
-}
-
-
-int snd_close(snd_type snd)
-{
-    return (*snd->dictionary->close)(snd);
-}
-
-
-int snd_reset(snd_type snd)
-{
-    return (*snd->dictionary->reset)(snd);
-}
-
-
-/* snd_flush -- allows client to finish audio output before closing */
-/**/
-int snd_flush(snd_type snd)
-{
-    if (snd->write_flag != SND_READ) {
-        return (*snd->dictionary->flush)(snd);
-    }
-    return SND_SUCCESS;
-}
diff --git a/lib-src/libnyquist/snd/snd.h b/lib-src/libnyquist/snd/snd.h
deleted file mode 100644
index b869246..0000000
--- a/lib-src/libnyquist/snd/snd.h
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * snd.h
- */
-/*
- * based on sndheader.h, written by
- *      Jim Zelenka, CMU/ITC
- *      rewritten 9 Jun 1992 (from my original sources,
- *       adding many new constants)
- * converted by Roger Dannenberg to snd.h, 21 Jun 97
- */
-#ifdef SND_H
-error here
-#endif
-#define SND_H
-
-/* Standard includes */
-#include <stdlib.h>
-
-#include "sndconfig.h"
-
-/* header formats */
-#define SND_HEAD_NONE 0
-/* LISP-SRC: (setf snd-head-none 0) */
-#define SND_HEAD_AIFF 1
-/* LISP-SRC: (setf snd-head-AIFF 1) */
-#define SND_HEAD_IRCAM 2
-/* LISP-SRC: (setf snd-head-IRCAM 2) */
-#define SND_HEAD_NEXT 3
-/* LISP-SRC: (setf snd-head-NeXT 3) */
-#define SND_HEAD_WAVE 4
-/* LISP-SRC: (setf snd-head-Wave 4) */
-#define SND_NUM_HEADS 5
-
-/* bitfields for soundheaders */
-#define SND_HEAD_CHANNELS (1<<0)
-/* LISP-SRC: (setf snd-head-channels 1) */
-#define SND_HEAD_MODE (1<<1)
-/* LISP-SRC: (setf snd-head-mode 2) */
-#define SND_HEAD_BITS (1<<2)
-/* LISP-SRC: (setf snd-head-bits 4) */
-#define SND_HEAD_SRATE (1<<3)
-/* LISP-SRC: (setf snd-head-srate 8) */
-
-/* when returned from lisp, len (samples) is converted to time (seconds) */
-#define SND_HEAD_LEN (1<<4)
-/* LISP-SRC: (setf snd-head-dur 16) */
-
-#define SND_HEAD_LATENCY (1<<5)
-/* LISP-SRC: (setf snd-head-latency 32) */
-#define SND_HEAD_TYPE (1<<6)
-/* LISP-SRC: (setf snd-head-type 64) */
-
-/* modes */
-#define SND_MODE_ADPCM 0
-/* LISP-SRC: (setf snd-mode-adpcm 0) */
-#define SND_MODE_PCM   1
-/* LISP-SRC: (setf snd-mode-pcm 1) */
-#define SND_MODE_ULAW 2
-/* LISP-SRC: (setf snd-mode-ulaw 2) */
-#define SND_MODE_ALAW  3
-/* LISP-SRC: (setf snd-mode-alaw 3) */
-#define SND_MODE_FLOAT 4
-/* LISP-SRC: (setf snd-mode-float 4) */
-/* unsigned pcm (e.g. Microsoft 8-bit wav format): */
-#define SND_MODE_UPCM 5
-/* LISP-SRC: (setf snd-mode-upcm 5) */
-#define SND_MODE_UNKNOWN 6
-/* LISP-SRC: (setf snd-mode-unknown 6) */
-#define SND_NUM_MODES  7
-
-/* if snd_open fails, source is set to SND_DEVICE_NONE */
-#define SND_DEVICE_NONE 0
-#define SND_DEVICE_FILE 1
-#define SND_DEVICE_AUDIO 2
-#define SND_DEVICE_MEM 3
-
-/* write_flag values */
-#define SND_READ 0
-#define SND_WRITE 1
-#define SND_OVERWRITE 2
-
-#define SND_REALTIME 0
-#define SND_COMPUTEAHEAD 1
-
-#define SND_LOOP_NONE 0
-#define SND_LOOP_FORWARD 1
-#define SND_LOOP_FORWARD_BACKWARD 2
-
-typedef struct {
-    int mode;
-    long begin;
-    long end;
-} loop_node, *loop_type;
-
-typedef struct {
-    long channels;      /* number of channels */
-    long mode;          /* ADPCM, PCM, ULAW, ALAW, FLOAT, UPCM */
-    long bits;          /* bits per sample */
-    double srate;       /* sample rate */
-} format_node;
-
-
-/* notes on audio protocol:
-If you are writing audio to a device, there are two things you
-might want to optimize: (1) you want to maintain just enough
-buffered data to handle the system+application latency. You
-might want to output data incrementally in small units to avoid
-a long interval of audio computation. If buffers have a
-practical minimum length, a solution is to fill system buffers
-incrementally. This approach is supported by the SND_REALTIME
-protocol; (2) you can afford to compute large buffers in one
-step, and for simplicity you want to fill buffers as soon as
-they are available.  This approach is supported by the
-SND_COMPUTEAHEAD protocol.
-
-In either case, the audio.latency field specifies the estimated
-worst case latency.  (For example, the system may be swapping
-pages and the application may be garbage collecting.)  Then
-buffer space will be at least large enough to hold
-audio.latency seconds of audio.
-
-The audio.granularity field specifies the maximum duration of
-a block of samples. The application will not compute samples
-until there is room for audio.granularity of samples (for
-example, it will test by calling snd_poll()). The application
-will pass at most audio.granularity of samples to snd_write().
-On input, the application will wait until there are at least
-audio.granularity of samples and then read no more than that amount.
-
-For sound input, SND_REALTIME and SND_COMPUTEAHEAD serve similar
-purposes.  Use SND_REALTIME if you want to read data incrementally
-a bit at a time.  Use SND_COMPUTEAHEAD if you want to be informed
-(by snd_poll) of all the data as soon as it is available,
-regardless of how big the buffers are.
-
-[if I understand correctly: "Use SND_COMPUTEAHEAD if you want to be 
- informed as soon as all the data is available....".   -eub]
-
-*/
-
-/* Prevent compiler errors */
-struct snd_struct;
-
-/* these do not use snd_type because it is not defined yet... */
-typedef int (*snd_reset_fn)(struct snd_struct *snd);
-typedef long (*snd_poll_fn)(struct snd_struct *snd);
-typedef long (*snd_read_fn)(struct snd_struct *snd, void *buffer, long length);
-typedef long (*snd_write_fn)(struct snd_struct *snd, void *buffer, long length);
-typedef int (*snd_open_fn)(struct snd_struct *snd, long *flags);
-typedef int (*snd_close_fn)(struct snd_struct *snd);
-//typedef int (*snd_reset_fn)(struct snd_struct *snd);
-typedef int (*snd_flush_fn)(struct snd_struct *snd);
-
-typedef struct {
-    snd_poll_fn poll;
-    snd_read_fn read;
-    snd_write_fn write;
-    snd_open_fn open;
-    snd_close_fn close;
-    snd_reset_fn reset;
-    snd_flush_fn flush;
-} snd_fns_node, *snd_fns_type;
-
-
-typedef struct snd_struct {
-    short device;       /* file, audio, or memory */
-    short write_flag;   /* SND_READ, SND_WRITE, SND_OVERWRITE */
-    format_node format; /* sample format: channels, mode, bits, srate */
-    snd_fns_type dictionary;    /* for internal use only */
-    union {
-      struct {
-        char filename[snd_string_max];  /* file name */
-        char filetype[snd_string_max];  /* file type/format description */
-        int file;               /* OS file number */
-        long header; /* None, AIFF, IRCAM, NEXT, WAVE */
-        long byte_offset;       /* file offset of first sample */
-        long end_offset; /* byte_offset of last byte + 1 */
-        long current_offset;  /* current (computed) file offset */
-        int swap;       /* flag to swap bytes on input/output */
-        /* fields from AIFF sample files: */
-        int loop_info; /* Boolean: is this loop info valid? */
-        double native_hz; /* original pitch in hz */
-        float gain; /* gain: scale factor */
-        double low_hz;
-        double high_hz;
-        char low_velocity;
-        char high_velocity;
-        loop_node sustain_loop;
-        loop_node release_loop;
-      } file;
-      struct {
-        char interfacename[snd_string_max]; /* (optional) to specify interface */
-        char devicename[snd_string_max]; /* (optional) to specify device */
-        void *descriptor;
-        long protocol;  /* SND_REALTIME or SND_COMPUTEAHEAD */
-        double latency; /* app + os worst case latency (seconds) */
-        double granularity;     /* expected period of app computation (s) */
-        /* note: pass 0.0 for default latency and granularity */
-      } audio;
-      struct {
-        long buffer_max;        /* size of buffer memory */
-        char *buffer;   /* memory buffer */
-        long buffer_len;        /* length of data in buffer */
-        long buffer_pos;        /* current location in buffer */
-      } mem;
-    } u;
-} snd_node, *snd_type;
-
-typedef long (*cvtfn_type)(void *buf1, void *buf2, long len2, 
-               float scale, float *peak);
-
-/* when open fails, the dictionary gets this set of functions: */
-extern snd_fns_node snd_none_dictionary;
-
-/* snd_open, snd_close, snd_convert return SND_SUCESS if successful */
-#define SND_SUCCESS 0
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* these two are for internal use only (and should really be declared
- * in another .h file not included by clients):
- */
-void snd_init();
-void snd_add_device(char *interf, char *device, snd_fns_type dictionary);
-
-long snd_bytes_per_frame(snd_type snd);
-
-int snd_open(snd_type snd, long *flags);
-
-int snd_seek(snd_type snd, double skip); /* set current location in file */
-int snd_reset(snd_type snd);    /* flush non-file buffers */
-
-int snd_close(snd_type snd);
-
-int snd_flush(snd_type snd);
-
-long snd_read(snd_type snd, void *buffer, long length);
-
-long snd_write(snd_type snd, void *buffer, long length);
-
-long snd_convert(snd_type snd1, void *buffer1,
-    snd_type snd2, void *buffer2, long length);
-
-long snd_poll(snd_type snd);
-
-cvtfn_type select_cvtfn(snd_type snd1, snd_type snd2);
-
-
-/* some conversion function lookup tables: */
-
-extern cvtfn_type cvt_from_8[];
-extern cvtfn_type cvt_from_16[];
-extern cvtfn_type cvt_from_32[];
-extern cvtfn_type cvt_to_8[];
-extern cvtfn_type cvt_to_16[];
-extern cvtfn_type cvt_to_32[];
-
-long cvt_from_unknown(void *buf1, void *buf2, long len2, 
-                      float scale, float *peak);
-#define cvt_to_unknown cvt_from_unknown
-
-char *snd_mode_to_string(long mode);
-
-/* this number is returned by snd_poll if you pass it a file device */
-#define MAX_FILE_BUF_LEN 20000
-
-/* this is necessary for SGI */
-#ifndef FALSE
-#define FALSE 0
-#define TRUE 1
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/lib-src/libnyquist/snd/snd.htm b/lib-src/libnyquist/snd/snd.htm
deleted file mode 100644
index 0b85f92..0000000
--- a/lib-src/libnyquist/snd/snd.htm
+++ /dev/null
@@ -1 +0,0 @@
-<html>

<head>
<title>Sndlib: Audio File, Format Conversion, and I/O Utilities</title>
</head>

<body>

<h1>Sndlib: Audio File, Format Conversion, and I/O Utilities</h1>

<h3>Roger B. Dannenberg</h3>

<h2>History</h2>

<ul>
  <li>18 June 97: Created.</li>
  <li>6 July 97: Revised </li>
  <li>7 May 00: Revised with multiple interface support and inner architecture documentation</li>
</ul>

<h2>Abstract</h2>

<p>This document describes a set of portable C utilities for digital audio input and
output to and from files and audio interfaces. The purpose is to read and write sound
files in a variety of formats and to play and record audio. This code is intended for use
in interactive and general purpose audio systems, and should be portable to virtually any
computer system that supports C and has a file system. </p>

<h2>Overview</h2>

<p>There is basically one interesting data type: snd_type is a pointer to a descriptor for
an audio stream, which is either being read from or written to a file or audio interface.
The snd_type contains a structure that describes the sample format, sample rate, number of
channels, etc. </p>

<p>Routines exist to initialize sound transfer (<tt>snd_open()</tt>), perform transfers (<tt>snd_read()</tt>,
<tt>snd_write()</tt>) and to finalize a transfer (<tt>snd_close()</tt>). Other routines
allow you to transfer data to/from buffers and to convert formats. Sample rate conversion
is not currently supported, but would be a welcome addition.</p>

<pre>typedef struct {
    long channels;	/* number of channels */
    long mode;		/* ADPCM, PCM, ULAW, ALAW, FLOAT, UPCM */
    long bits;		/* bits per sample */
    double srate;	/* sample rate */
} format_node;

#define snd_string_max 258


/* the snd_type structure for applications to use: */
typedef struct snd_struct {
    short device; 	/* file, audio, or memory */
    short write_flag;	/* SND_READ, SND_WRITE, SND_OVERWRITE */
    format_node format;	/* sample format: channels, mode, bits, srate */
    snd_fns_type dictionary;    /* for internal use only */
    union {
      struct {
	char filename[snd_string_max];	/* file name */
	char filetype[snd_string_max];  /* file type if known */ 
	int file;             /* OS file number */
	long header;          /* None, AIFF, IRCAM, NEXT, WAVE */
	long byte_offset;     /* file offset of first sample */
	long end_offset;      /* byte_offset of last byte + 1 */
        long current_offset;  /* current (computed) file offset */
	int swap;         /* flag to swap bytes on input/output */
	/* fields from AIFF sample files: */
	int loop_info;    /* Boolean: is this loop info valid? */
	double native_hz; /* original pitch in hz */
        float gain;       /* gain: scale factor */
        double low_hz;
        double high_hz;
        char low_velocity;
        char high_velocity;
	loop_node sustain_loop;
	loop_node release_loop;
      } file;
      struct {
        char interfacename[snd_string_max]; /* (optional) to specify interface */
	char devicename[snd_string_max]; /* (optional) to specify device */
	void *descriptor;
	long protocol;	/* SND_REALTIME or SND_COMPUTEAHEAD */
	double latency;	/* app + os worst case latency (seconds) */
	double granularity; /* expected period of app computation (s) */
	/* note: pass 0.0 for default latency and granularity */
      } audio;
      struct {
	long buffer_max;    /* size of buffer memory */
	char *buffer;       /* memory buffer */
	long buffer_len;    /* length of data in buffer */
	long buffer_pos;    /* current location in buffer */
      } mem;
    } u;
} snd_node, *snd_type;
</pre>

<p>The meanings of fields are as follows: 

<ul>
  <li><tt>device</tt>: one of <tt>SND_DEVICE_FILE</tt> (data to/from file), <tt>SND_DEVICE_AUDIO</tt>
    (data to/from audio I/O device), <tt>SND_DEVICE_MEM</tt> (data to/from in-memory buffer),
    or <tt>SND_DEVICE_NONE</tt> (records that snd_open failed).</li>
  <li><tt>write_flag</tt>: one of <tt>SND_WRITE</tt> (create a file and write to it), <tt>SND_READ</tt>
    (read from a file), <tt>SND_OVERWRITE</tt> (overwrite some samples within a file, leaving
    the header and other samples untouched).</li>
  <li><tt>format</tt>: contains </li>
  <ul>
    <li><tt>channels</tt>: number of audio channels </li>
    <li><tt>mode</tt>: one of <tt>SND_MODE_ADPCM</tt> (adaptive delta modulation), <tt>SND_MODE_PCM</tt>
      (pulse code modulation, i.e. simple linear encoding), <tt>SND_MODE_ULAW</tt> (Mu-Law), <tt>SND_MODE_ALAW</tt>
      (A-Law), <tt>SND_MODE_FLOAT</tt> (float), or <tt>SND_MODE_UPCM</tt> (unsigned PCM).</li>
    <li><tt>bits</tt>: number of per sample.</li>
    <li><tt>srate</tt>: sample rate in samples per second (Hz). </li>
  </ul>
</ul>

<p>These are additional fields for when <tt>device</tt> is <tt>SND_DEVICE_FILE</tt>: 

<ul>
  <li><tt>filename</tt>: string name for file. </li>
  <li><tt>filetype</tt>: string name for file type (see &quot;Unknown File Types&quot; below)</li>
  <li><tt>file</tt>: the file number or handle returned by the operating system. (In some
    implementations, this may be a pointer to a file descriptor object cast into an integer.) </li>
  <li><tt>header</tt>: the type and format of header, one of <tt>SND_HEAD_NONE</tt> (no
    header), <tt>SND_HEAD_AIFF</tt>, <tt>SND_HEAD_IRCAM</tt>, <tt>SND_HEAD_NEXT</tt> (Sun and
    NeXT format), or <tt>SND_HEAD_WAVE</tt>. </li>
  <li><tt>byte_offset</tt>: the byte offset in the file. After opening the file, this is the
    offset of the first sample. This value is updated after each read or write. </li>
  <li><tt>end_offset</tt>: offset of the byte just beyond the last byte of the file. </li>
</ul>

<p>These are additional fields for when <tt>device</tt> is <tt>SND_DEVICE_AUDIO</tt>: 

<ul>
  <li><tt>devicename</tt>: string name for device (to select among multiple devices). This may
    be set to the empty string (devicename[0] = 0;) to indicate the default audio device, or
    it may be set to a name obtained from <tt>snd_devicename()</tt>. </li>
  <li><tt>descriptor</tt>: a field to store system-dependent data protocol: <tt>SND_REALTIME</tt>
    (use this if you are trying to compute ahead by a constant amount, especially for
    low-latency output) or <tt>SND_COMPUTEAHEAD</tt> (use this if you want to keep output
    buffers as full as possible, which will cause greater compute-ahead). </li>
  <li><tt>latency</tt>: (minimum) amount to be kept in buffer(s). This should be at least as
    great as the longest computational delay of the application PLUS the worst case latency
    for scheduling the application to run. </li>
  <li><tt>granularity</tt>: expected period of the periodic computation that generates
    samples. Also, granularity indicates the largest number of samples that will be written
    with snd_write or read with snd_read by the application.</li>
</ul>

<p>The following fields are for when <tt>device</tt> is SND_DEVICE_MEM (in-memory data): 

<ul>
  <li><tt>buffer_max</tt>: the size of the buffer memory (in bytes) </li>
  <li><tt>buffer</tt>: the memory buffer address</li>
  <li><tt>buffer_len</tt>: the length of data in the buffer </li>
  <li><tt>buffer_pos</tt>: the current location of the input/output in memory. </li>
</ul>

<h2>Routine descriptions</h2>

<h3>Terminology</h3>

<p>A <em>sample</em> is one amplitude measurement from one <em>channel. </em>Ordinarily, a
sound file can contain multiple channels. All channels have the same sample rate and
length, and samples are treated as occurring simultaneously across all channels. The
collection of samples occurring simultaneously is called a <em>frame</em>. Samples are
stored in frame order. Within a frame, samples are stored in order of increasing channel
number.</p>

<p>All routines described here measure data in units of frames (not samples, not bytes).
One exception is <code>snd_seek()</code>, which measures file position in seconds of time,
expressed as a double.</p>
<tt>

<p><strong>int snd_open(snd_type snd, long *flags);</tt> </strong></p>

<blockquote>
  <p>To open a file, fill in fields of a <tt>snd_type</tt> and call <tt>snd_open()</tt>. If
  there is header information in the file or device characteristics for the audio interface,
  fields of <tt>snd</tt> are filled in. The flags parameter tells which fields were
  specified by the <tt>snd_open()</tt> process. E.g. if you open a raw file, there is no
  header info, so the format will be as specified in <tt>snd</tt>. On the other hand, if you
  open an AIFF file, the file will specify the sample rate, channels, bits, etc., so all
  these values will be written into <tt>snd</tt>, and bits will be set in <tt>flags</tt> to
  indicate the information was picked up from the file.</p>
  <p>Returns <tt>SND_SUCCESS</tt> iff successful. If not successful, attempts to open a file
  will place the (system dependent) return code from <tt>open()</tt> into the <tt>u.file.file</tt>
  field.</p>
  <p>Before calling <tt>snd_open()</tt>, all general fields and fields corresponding to the
  device (e.g. <tt>u.file</tt> for <tt>SND_DEVICE_FILE)</tt> should be set, with the
  following exceptions: <tt>u.file.header</tt> (for <tt>SND_WRITE</tt>), <tt>byte_offset</tt>,
  <tt>end_offset</tt>, <tt>descriptor</tt>. The field <tt>filetype</tt> is set but not read
  by <tt>snd_open().</tt></p>
  <p>NOTE: For <tt>SND_DEVICE_MEM</tt>, fill in the <tt>u.mem</tt> fields directly and call <tt>snd_open()</tt>,
  which merely sets the dictionary field with function pointers. The application is
  responsible for maintaining <tt>u.mem</tt>: <tt>u.mem.buffer_len</tt> is the write pointer
  (<tt>snd_write()</tt> data goes here), and <tt>u.mem.buffer_pos</tt> is the read pointer (<tt>snd_read()</tt>
  data comes from here).</p>
  <p>NOTE 2: for <tt>SND_DEVICE_MEM</tt>, you can set <tt>write_flag</tt> to <tt>SND_WRITE</tt>,
  write data into the buffer, then set <tt>write_flag</tt> to <tt>SND_READ</tt> and read the
  buffer. Use <tt>snd_reset()</tt> before reading the buffer again to read from the
  beginning of the buffer, or simply reset read and write pointers directly to read/write
  different parts of the buffer.</p>
</blockquote>

<p><strong><tt>int snd_close(snd_type snd);</tt> </strong></p>

<blockquote>
  <p>Closes a file or audio device. There is no need to call <tt>snd_close</tt> for <tt>SND_DEVICE_MEMORY</tt>,
  but this is not an error.</p>
  <p>Returns <tt>SND_SUCCESS</tt> iff successful.</p>
</blockquote>

<p><strong><tt>int snd_seek(snd_type snd, double when);</tt> </strong></p>

<blockquote>
  <p>After opening a file for reading or overwriting, you can seek ahead to a specific time
  point by calling <tt>snd_seek()</tt>. The when parameter is in seconds and indicates seconds of time
  relative to the beginning of the sound.</p>
  <p>Returns <tt>SND_SUCCESS</tt> iff successful.</p>
</blockquote>
<tt>

<p><strong>int snd_reset(snd_type snd);</tt> </strong></p>

<blockquote>
  <p>Resets non-file buffers. If <tt>snd</tt> has <tt>SND_DEVICE_AUDIO</tt>, then the sample
  buffers are flushed. This might be a good idea before reading samples after a long pause
  that would cause buffers to overflow and contain old data, or before writing samples if
  you want the samples to play immediately, overriding anything already in the buffers.</p>
  <p>If snd has <tt>SND_DEVICE_MEM</tt> and <tt>SND_READ</tt>, then the buffer read pointer
  (buffer_pos) is reset to zero. If <tt>SND_WRITE</tt> is set, then the buffer read pointer
  (buffer_pos) and write pointer (buffer_len) are reset to zero.</p>
  <p>If snd has <tt>SND_DEVICE_FILE</tt>, nothing happens.</p>
  <p>Returns <tt>SND_SUCCESS</tt> iff successful.</p>
</blockquote>

<p><strong><tt>long snd_read(snd_type snd, void *buffer, long length);</tt> </strong></p>

<blockquote>
  <p>Read up to length frames into <tt>buffer</tt>. </p>
  <p>Returns the number of frames actually read.</p>
</blockquote>

<p><strong><tt>int snd_write(snd_type snd, void *buffer, long length);</tt> </strong></p>

<blockquote>
  <p>Writes length frames from buffer to file or device. </p>
  <p>Returns number of frames actually written.</p>
</blockquote>

<p><strong><tt>long snd_convert(snd_type snd1, void *buffer1,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; snd_type
snd2, void *buffer2, long length);</tt></strong></p>

<blockquote>
  <p>To read from a source and write to a sink, you may have to convert formats. This
  routine provides simple format conversions according to what is specified in <tt>snd1</tt>
  and <tt>snd2</tt>. The number of frames to convert is given by length, and the number of
  frames is returned.</p>
</blockquote>

<p><strong><tt>long snd_poll(snd_type snd);</tt> </strong></p>

<blockquote>
  <p>The standard way to play files is to put something in the event loop that refills an
  output buffer managed by the device driver. This routine allows you to ask whether there
  is space to output more samples. If <tt>SND_REALTIME</tt> is selected, the number returned
  by <tt>snd_poll()</tt> will grow fairly smoothly at the sample rate, i.e. if the sample
  rate is 8KHz, then the result of <tt>snd_poll()</tt> will increase by 8 per millisecond.
  On the other hand, if <tt>SND_COMPUTEAHEAD</tt> is selected, then <tt>snd_poll()</tt> will
  return zero until a sample buffer becomes available, at which time the value returned will
  be the entire buffer size.</p>
  <p>In some implementations, with <tt>SND_REALTIME</tt>, <tt>snd_poll()</tt> can be used to
  furnish a time reference that is synchronized to the sample clock. In other words, the
  number of frames written plus the value returned by <tt>snd_poll()</tt> increases steadily
  in steps no larger than <tt>granularity</tt>.</p>
  <p>Note: some low-level functions are implemented for conversion from buffers of floats to
  various representations and from these representations back to floats. See <tt>snd.h</tt>
  for their declarations.</p>
</blockquote>

<p><strong><tt>int snd_flush(snd_type snd);</tt> </strong></p>

<blockquote>
  <p>When the device is <tt>SND_DEVICE_AUDIO</tt>, writes are buffered. After the last
  write, call <tt>snd_flush()</tt> to transfer samples from the buffer to the output device.
  <tt>snd_flush()</tt> returns immediately, but it only returns <tt>SND_SUCCESS</tt> after
  the data has been output to the audio device. Since calling <tt>snd_close()</tt> will
  terminate output, the proper way to finish audio output is to call <tt>snd_flush()</tt>
  repeatedly until it returns <tt>SND_SUCCESS</tt>. Then call <tt>snd_close()</tt> to close
  the audio device and free buffers.</p>
  <p>If snd_flush is called on any open snd_type other than a <tt>SND_DEVICE_AUDIO</tt>
  opened for output, it returns <tt>SND_SUCCESS</tt>. Results are undefined if <tt>snd_flush()</tt>
  is called on a non-open <tt>snd_type</tt>.</p>
</blockquote>

<p><strong><tt>long snd_bytes_per_frame(snd_type snd);</tt> </strong></p>

<blockquote>
  <p>Calculates the number of bytes in a frame (a frame has one sample per channel; sound
  files are stored as a sequence of frames).</p>
</blockquote>

<p><strong><tt>char *snd_mode_to_string(long mode);</tt> </strong></p>

<blockquote>
  <p>Returns a string describing the mode (<tt>SND_MODE_PCM</tt>, etc.).</p>
</blockquote>

<p><strong><tt>int snd_device(int n, char *interf, char *device);</tt> </strong></p>

<blockquote>
  <p>Sets strings describing the n-th audio device. <code>interf</code> is set to the
  interface name and <code>device</code> is set to the device name. Both should be allocated
  to be at least <code>snd_string_max</code> bytes in length. Returns <tt>NULL</tt> if n is
  greater or equal to the number of audio devices. Available devices are numbered, starting
  with the default device at n=0. Before opening an audio device, an application can use
  this to enumerate all possible devices, select one (e.g. by presenting a list to the
  user), and then copy the strings into the <tt>devicename</tt> and <code>interfacename</code>
  fields of the <tt>snd_type</tt> structure. If the <tt>devicename</tt> field is the empty
  string, device 0 will be opened.</p>
</blockquote>

<h2>Unknown File Types</h2>

<p>Normally, the caller does not need to know anything about a file other than its name in
order to open and read it. The library figures out the file encoding from header
information. Only in the case of headerless files does the caller need to supply format
parameters. If the file format is not recognized, <code>snd_open()</code> opens the file
according to the supplied format parameters. If the file format is recognized but not
supported, <code>snd_open()</code> will return <code>SND_FAILURE</code>, and the <code>flags</code>
parameter will indicate what format information was detected. For example, if the number
of <code>channels</code> is 4, <code>format.channels</code> is set to 4 and the <code>SND_HEAD_CHANNELS</code>
bit is set in <code>flags</code>. If the name of the format is known, e.g.
&quot;MP3,&quot; but there is no decoder for the format, then the <code>filetype</code>
field is set to that string name, and the <code>SND_HEAD_FILETYPE</code> bit is set in <code>flags</code>.</p>

<p>To detect and report an unknown file type, test the result of <code>snd_open()</code>
for <code>SND_SUCCESS</code>. If not successful, test <code>flags</code> to see what
information is valid. You may wish to report back to the user, especially if the <code>SND_HEAD_FILETYPE</code>
bit is set.</p>

<h2>Examples</h2>

<p>See <tt>convert.c</tt> for examples of: 

<ul>
  <li>Printing information about a sound file </li>
  <li>Converting sound file formats </li>
  <li>Playing audio from a file </li>
  <li>Reading audio from audio input</li>
</ul>

<h2>Compiling the source code</h2>

<p>To compile <tt>convert.c</tt> under Visual C++, add all the <tt>.c</tt> files to a
console application project and add these libraries to the Object/library modules list
under the Link tab in the Project Settings dialog box: <tt>winmm.lib wsock32.lib</tt>. If <tt>wsock32.lib</tt>
does not work, try <tt>ws2_32.lib</tt>. The purpose of these libraries is to get functions
that perform byte swapping in a system-independent way.</p>

<h2>Inner architecture description</h2>

<p>To modify or extend the Sndlib code, it is important to understand the architecture and
design. The main issues are the structure used to obtain portability, and the support for
multiple device interfaces within a given system.</p>

<h3>Portability</h3>

<p>The include file <tt>snd.h</tt> declares most of the library structures and routines. <tt>snd.h</tt>
includes <tt>sndconfig.h</tt>, which handles system dependencies.</p>

<p>System-dependent code is selected using conditional compilation. The following
compile-time symbols are defined: 

<ul>
  <li><tt>WIN32</tt>: Some version of Windows (95, 98, or NT)</li>
  <li><tt>UNIX</tt>: Some version of Unix. One of the following should also be defined:<ul>
      <li><tt>LINUX</tt>: The Linux Operating System. </li>
      <li><tt>IRIX</tt>: The SGI Irix Operating System. </li>
    </ul>
  </li>
  <li><tt>MACINTOSH</tt>: Some version of MacOS.</li>
</ul>

<p><tt>sndconfig.h</tt> is responsible for defining a number of routines and/or macros,
including the macro that selects the system. E.g. under Visual C++, the macro <tt>_WIN32</tt>
is defined, so <tt>sndconfig.h</tt> defines <tt>WIN32</tt>. If <tt>_WIN32</tt> is defined.
The other routines and macros to be defined are described in <tt>sndconfig.h</tt> itself.
To avoid too many conditional compilation statements that make code hard to read, <tt>sndconfig.h</tt>
works by conditionally including another <tt>.h</tt> file. The files are named <tt>sndwin32.h</tt>,
<tt>sndlinux.h</tt>, <tt>sndirix.h</tt>, and <tt>sndmac.h</tt>, and other systems should
implement include files in the same manner. </p>

<p>In addition to the Unix, Windows, Macintosh distinction, this library also supports WX,
a graphical user interface library. WX provides its own routines for file IO, and WX runs
under Windows, Unix, and the Macintosh. This adds some confusion because WX functions cut
across the Windows, Unix, Macintosh spectrum for things like file IO, but WX functions do
not implement audio, so we still need to distinguish systems. To handle WX, a set of IO
functions have been created, e.g. <tt>snd_open()</tt>, <tt>snd_read()</tt>, and <tt>snd_write()</tt>,
and these are defined in <tt>sndwin32.h</tt> etc. <em>only</em> if <tt>WX</tt> is <em>not</em>
defined. If <tt>WX</tt> is defined, then another include file <tt>sndwx.h</tt> is included
into <tt>sndconfig.h</tt> to define the IO routines independently of what system is being
compiled.</p>

<h3>Multiple interface support</h3>

<p>In the original designed, it was assumed that each operating system would provide one
and only one audio interface, and this library would provide an abstract layer above that.
It turned out that many operating systems offer multiple interfaces, e.g. Windows has both
the multimedia interface and DirectSound, and Linux has several competing interfaces.
Windows machines also have ASIO and other interface possibilities.</p>

<p>To support multiple interfaces, the library has the call <tt>snd_devicename()</tt>
which returns the name of the n<em>th</em> audio device. Where do these names come from?
System-specific parts of the library call a non-system specific function as follows: </p>

<pre>
/* these types are for internal use: */
typedef int (*snd_reset_fn)(snd_type snd);
typedef long (*snd_poll_fn)(snd_type snd);
typedef long (*snd_read_fn)(snd_type snd, void *buffer, long length);
typedef long (*snd_write_fn)(snd_type snd, void *buffer, long length);
typedef int (*snd_open_fn)(snd_type snd, long *flags);
typedef int (*snd_close_fn)(snd_type snd);
typedef int (*snd_reset_fn)(snd_type snd);
typedef int (*snd_flush_fn)(snd_type snd);

typedef struct {
    snd_reset_fn reset;
    snd_poll_fn poll;
    snd_read_fn read;
    snd_write_fn write;
    snd_open_fn open;
    snd_close_fn close;
    snd_reset_fn reset;
    snd_flush_fn flush;
} snd_fns_node, *snd_fns_type;

void snd_add_device(char *devicename, snd_fns_type dictionary);
</pre>

<p>This is called for each different device or interface. In the general case, there might
be several physical devices, each supporting several logical devices (front stereo, rear
stereo, and quad), and there might be several different system APIs that access these (MM
and DirectSound). The system-specific code provides a string name for each of these and a
dictionary of function pointers for each.</p>

<p>When does the system-specific code call <tt>snd_add_device()</tt>? When either <tt>snd_open()</tt>
or <tt>snd_devicename()</tt> is called for the first time, a call is made to <tt>snd_init()</tt>,
which is defined in system-specific code. <tt>snd_init()</tt> is responsible for calling
detection and initialization code for each supported device. </p>

<p>The <tt>snd_fns_node</tt> structure contains function pointers that implement the
library functions. A pointer to this structure is found in the <tt>snd_type</tt> structure
which is passed to nearly every library function. These library functions are implemented
by making indirect calls through these function pointers.</p>

<p><em>Note that most of these functions take byte-counts as length parameters rather than
frames. This is because standard system calls such as read() and write() use bytes.</em></p>

</body>
</html>
diff --git a/lib-src/libnyquist/snd/snd.txt b/lib-src/libnyquist/snd/snd.txt
deleted file mode 100644
index c45c99d..0000000
--- a/lib-src/libnyquist/snd/snd.txt
+++ /dev/null
@@ -1,277 +0,0 @@
-<html>
-Audio File, Format Conversion, and I/O Utilities
-
-Roger Dannenberg
-18 June 97
-Revised 6 July 97
-Revised 7 May 00 with multiple interface support and inner architecture
-    documentation
-
-This document describes a set of portable C utilities for digital audio
-input and output to and from files and audio interfaces.
-
-The goals are to be able to read and write sound files in a variety of
-formats and to play and record audio. This code is intended for use
-in Nyquist, Aura, Amulet, and other systems, and should be portable
-to virtually any computer system that supports C and has a file system.
-
-
-Overview:
-
-There is basically one interesting data type: snd_type is a pointer to a
-descriptor for an audio stream, which is either being read from or written
-to a file or audio interface. The snd_type contains a structure that
-describes the sample format, sample rate, number of channels, etc. 
-
-Routines exist to initialize sound transfer (snd_open()), perform transfers
-(snd_read(), snd_write()) and to finalize a transfer (snd_close()).  Other
-routines allow you to transfer data to/from buffers and to convert formats.
-Sample rate conversion is not currently supported, but would be a welcome
-addition.
-
-typedef struct {
-    long channels;	/* number of channels */
-    long mode;		/* ADPCM, PCM, ULAW, ALAW, FLOAT, UPCM */
-    long bits;		/* bits per sample */
-    double srate;	/* sample rate */
-} format_node;
-
-
-typedef struct {
-    short device; 	/* file, audio, or memory */
-    short write_flag;	/* SND_READ, SND_WRITE, SND_OVERWRITE */
-    union {
-        struct {
-            char filename[258];	/* file name */
-            int file;		/* OS file number */
-            long header; /* None, AIFF, IRCAM, NEXT, WAVE */
-            long byte_offset;	/* file offset of first sample */
-            long end_offset; /* byte_offset of last byte + 1 */
-        } file;
-        struct {
-            long buffer_max;	/* size of buffer memory */
-            char *buffer;	/* memory buffer */
-            long buffer_len;	/* length of data in buffer */
-            long buffer_pos;	/* current location in buffer */
-        } mem;
-        struct {
-            char devicename[258]; /* (optional) to specify device */
-            void *descriptor;
-            long protocol;	/* SND_REALTIME or SND_COMPUTEAHEAD */
-            double latency;	/* app + os worst case latency (seconds) */
-            double granularity;	/* expected period of app computation (s) */
-            /* note: pass 0.0 for default latency and granularity */
-        } audio;
-    } u;
-    format_node format;	/* sample format: channels, mode, bits, srate */
-} snd_node, *snd_type;
-
-The meanings of fields are as follows:
-        device: one of SND_DEVICE_FILE (data to/from file), SND_DEVICE_AUDIO
-(data to/from audio I/O device), SND_DEVICE_MEM (data to/from in-memory
-buffer), or SND_DEVICE_NONE (records that snd_open failed).
-        write_flag: one of SND_WRITE (create a file and write to it),
-SND_READ (read from a file), SND_OVERWRITE (overwrite some samples within a
-file, leaving the header and other samples untouched).
-        format: contains number of channels, mode, number of bits per
-sample, and sample rate.  mode is SND_MODE_ADPCM (adaptive delta
-modulation), SND_MODE_PCM (pulse code modulation, i.e. simple linear
-encoding), SND_MODE_ULAW (Mu-Law), SND_MODE_ALAW (A-Law), SND_MODE_FLOAT
-(float), or SND_MODE_UPCM (unsigned PCM)
-
-These are fields for SND_DEVICE_FILE:
-        filename: string name for file.
-        file: the file number or handle returned by the operating system.
-        header: the type and format of header, one of SND_HEAD_NONE (no
-header), SND_HEAD_AIFF, SND_HEAD_IRCAM, SND_HEAD_NEXT (Sun and NeXT format),
-or SND_HEAD_WAVE.
-        byte_offset: the byte offset in the file. After opening the file,
-this is the offset of the first sample.  This value is updated after each
-read or write.
-        end_offset: offset of the byte just beyond the last byte of the file.
-        
-These are fields for SND_DEVICE_AUDIO
-        devicename: string name for device (to select among multiple 
-devices). This may be set to the empty string (devicename[0] = 0) to 
-indicate the default audio device, or it may be set to a name obtained
-from snd_devicename().
-        descriptor: a field to store system-dependent data
-        protocol: SND_REALTIME (use this if you are trying to compute ahead
-by a constant amount, especially for low-latency output) or SND_COMPUTEAHEAD
-(use this if you want to keep output buffers as full as possible, which will
-cause greater compute-ahead).
-        latency: (minimum) amount to be kept in buffer(s). This should be at
-least as great as the longest computational delay of the application PLUS
-the worst case latency for scheduling the application to run.
-        granularity: expected period of the periodic computation that
-generates samples. Also, granularity indicates the largest number of
-samples that will be written with snd_write or read with snd_read by the
-application.
-
-The following fields are for SND_DEVICE_MEM (in-memory data):
-        buffer_max: the size of the buffer memory (in bytes)
-        buffer: the memory buffer address
-        buffer_len: the length of data in the buffer
-        buffer_pos: the current location of the input/output in memory.
-
-
-Routine descriptions:
-
-int snd_open(snd_type snd, long *flags);
-
-To open a file, fill in fields of a snd_type and call snd_open.  If there is
-header information in the file or device characteristics for the audio
-interface, fields of snd are filled in.  The flags parameter tells which
-fields were specified by the snd_open process.  E.g. if you open a raw file,
-there is no header info, so the format will be as specified in snd.  On the
-other hand, if you open an AIFF file, the file will specify the sample rate,
-channels, bits, etc., so all these values will be written into snd, and bits
-will be set in flags to indicate the information was picked up from the
-file.
-
-Returns SND_SUCCESS iff successful. If not successful, attempts to open a
-file will place the return code from open() into the u.file.file field.
-
-Before calling snd_open, all general fields and fields corresponding to the
-device (e.g. u.file for SND_DEVICE_FILE) should be set, with the following
-exceptions: u.file.header (for SND_WRITE), byte_offset, end_offset,
-descriptor.
-
-NOTE: do not call snd_open for SND_DEVICE_MEM, just fill in the fields.
-u.mem.buffer_len is the write pointer (snd_write() data goes here), and
-u.mem.buffer_pos is the read pointer (snd_read() data comes from here).
-
-NOTE 2: for SND_DEVICE_MEM, you can set write_flag to SND_WRITE, write data
-into the buffer, then set write_flag to SND_READ and read the buffer. Use
-snd_reset() before reading the buffer again.
-
-int snd_close(snd_type snd);
-
-Closes a file or audio device.  There is no need to call snd_close for
-SND_DEVICE_MEMORY, but this is not an error.
-
-Returns SND_SUCCESS iff successful.
-
-int snd_seek(snd_type snd, double skip);
-
-After opening a file for reading or overwriting, you can seek ahead to a
-specific time point by calling snd_seek.  The skip parameter is in seconds.
-
-Returns SND_SUCCESS iff successful.
-
-int snd_reset(snd_type snd);
-
-Resets non-file buffers.  If snd has SND_DEVICE_AUDIO, then the sample
-buffers are flushed. This might be a good idea before reading samples after
-a long pause that would cause buffers to overflow and contain old data, or
-before writing samples if you want the samples to play immediately,
-overriding anything already in the buffers.
-
-If snd has SND_DEVICE_MEM and SND_READ, then the buffer read pointer
-(buffer_pos) is reset to zero.  If SND_WRITE is set, then the buffer read
-pointer (buffer_pos) and write pointer (buffer_len) are reset to zero.
-
-If snd has SND_DEVICE_FILE, nothing happens.
-
-Returns SND_SUCCESS iff successful.
-
-long snd_read(snd_type snd, void *buffer, long length);
-
-Read up to length bytes into buffer. 
-
-Returns the number of bytes actually read.
-
-int snd_write(snd_type snd, void *buffer, long length);
-
-Writes length bytes from buffer to file or device.  
-
-Returns number of bytes actually written.
-
-long snd_convert(snd_type snd1, void *buffer1, long length1,
-        snd_type snd2, void *buffer2, long length2);
-
-To read from a source and write to a sink, you may have to convert formats.
-This routine provides simple format conversions according to what is
-specified in snd1 and snd2.  The maximum length of buffer2 is passed in
-length2 and the actual number of bytes written to buffer2 is returned from
-the call.  It is an error if buffer2 is too short for the full conversion of
-buffer1.
-
-long snd_poll(snd_type snd);
-
-The standard way to play files is to put something in the event loop that
-refills an output buffer managed by the device driver. This routine allows
-you to ask whether there is space to output more samples. If SND_REALTIME is
-selected, the number returned by snd_poll will grow fairly smoothly at the
-data rate, i.e. if the data rate is 8KB/s, then the result of snd_poll will
-increase by 8 bytes per millisecond.  On the other hand, if SND_COMPUTEAHEAD
-is selected, then snd_poll will return zero until a sample buffer becomes
-available, at which time the value returned will be the entire buffer size.
-
-Note: some low-level functions are implemented for conversion from buffers
-of floats to various representations and from these representations back to
-floats.  See snd.h for their declarations.
-
-int snd_flush(snd_type snd);
-
-When the device is SND_DEVICE_AUDIO, writes are buffered. After the last
-write, call snd_flush() to transfer samples from the buffer to the output
-device. snd_flush() returns immediately, but it only returns SND_SUCCESS
-after the data has been output to the audio device.  Since calling
-snd_close() will terminate output, the proper way to finish audio output
-is to call snd_flush() repeatedly until it returns SND_SUCCESS. Then call
-snd_close() to close the audio device and free buffers.
-
-If snd_flush is called on any open snd_type other than a SND_DEVICE_AUDIO
-opened for output, it returns SUCCESS.  Results are undefined if snd_flush
-is called on a non-open snd_type.
-
-long snd_bytes_per_frame(snd_type snd);
-
-Calculates the number of bytes in a frame (a frame has one sample per
-channel; sound files are stored as a sequence of frames).
-
-char *snd_mode_to_string(long mode);
-
-Returns a string describing the mode (SND_MODE_PCM, etc.).
-
-char *snd_devicename(int n);
-
-Returns a string describing the n-th audio device. Returns NULL if
-n is greater or equal to the number of audio devices. Available devices 
-are numbered, starting with the default device at n=0. Before opening an
-audio device, an application can use this to enumerate all possible
-devices, select one (e.g. by presenting a list to the user), and then
-copy the string into the devicename field of the snd_type structure.
-If the devicename field is the empty string, device 0 will be opened.
-
-It is easy to construct a higher-level function to play a file, e.g.
-
-aio_node my_player;
-
-aio_play_init(&player, "mysound.wav");
-playing = TRUE;
-
-Then, in the polling loop:
-
-if (playing) {
-        if (!aio_play_poll(&player)) playing = FALSE;
-}
-
-Examples: see convert.c for examples of:
-        Printing information about a sound file
-        Converting sound file formats
-        Playing audio from a file
-        Reading audio from audio input
-
-To compile convert.c under NT: add all the .c files to a console application project and add these libraries to the Object/library modules list under the Link tab in the Project Settings dialog box:
-        winmm.lib
-        ws2_32.lib
-
-Inner architecture description
-
-
-
-Audio buffer and time management
-
-</html>
diff --git a/lib-src/libnyquist/snd/sndconfig.h b/lib-src/libnyquist/snd/sndconfig.h
deleted file mode 100644
index 9e0a513..0000000
--- a/lib-src/libnyquist/snd/sndconfig.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// #include <stdio.h> // for size_t
-
-/* sndconfig.h -- system-specific definitions */
-/* 
-  NOTES: each implementation must have its own .h and .c files,
-  e.g. sndwin32.h and sndwin32.c. These files implement the following:
-
-1) Either LINUX, WIN32, or MACINTOSH should be defined.
-(WX can also be defined to override standard file IO with functions
-from WX, a graphical user interface library.)
-
-2) The following function declaration:
-    void snd_fail(char *msg);
-or
-    #define snd_fail some_function
-(note that snd_fail must be a function pointer)
-
-3) typedef FASTFLOAT to be either a double or a float, whichever
-computes faster (PowerPCs are faster at double math than float math)
-
-4) typedef MEMFLOAT to be how you would store a sample in memory
-(this should normally be float)
-
-5) min() must be defined (either a macro or a function)
-
-6) max() must be defined (either a macro or a function)
-
-7) the following file IO functions must be defined:
-    int snd_file_open(char *fname, int mode);
-    int snd_file_creat(char *fname);
-    int snd_file_lseek(int file, int offset, int param);
-    long snd_file_read(int fp, char *data, long len);
-    long snd_file_write(int fp, char *data, long len);
-    int snd_file_close(int fp);
-    long snd_file_len(int fp);
-(some implementations cast a pointer to an int in snd_open,
-so it is assumed that int can at least hold a pointer)
-
-8) The following function to report failure and exit:
-    void snd_fail(char *msg);
-
-9) The following memory allocation routines:
-    void *snd_alloc(size_t s);
-    void snd_free(void *a);
-
-10) snd_string_max -- string length for filenames, etc.
-
-*/
-
-#define snd_string_max 258
-
-void snd_fail(char *msg);
-void snd_warn(char *msg);
-void *snd_alloc(size_t s);
-void snd_free(void *a);
-
-#if defined(__linux__)
-  #include "sndlinux.h"
-
-#elif defined(IRIX)
-  #include "sndirix.h"
-
-#elif defined(__FreeBSD__)
-  #include "sndfreebsd.h"
-
-#elif defined(_WIN32)
-  #ifndef WIN32
-    #define WIN32
-  #endif
-  #include "sndwin32.h"
-
-#elif defined(macintosh) || defined(__WXMAC__) || defined(__APPLE__)
-  #ifndef MAC
-    #define MAC
-  #endif
-  #include "sndmac.h"
-#endif
diff --git a/lib-src/libnyquist/snd/sndcvt.c b/lib-src/libnyquist/snd/sndcvt.c
deleted file mode 100644
index 9619347..0000000
--- a/lib-src/libnyquist/snd/sndcvt.c
+++ /dev/null
@@ -1,693 +0,0 @@
-/* sndread.c -- read sound files */
-
-/* CHANGELOG
- *
- * 29Jun95  RBD  ULAW fixed problems with signed chars
- */
-#ifndef mips
-#include "stdlib.h"
-#endif /* mips */
-#include "snd.h"
-#include "stdio.h"
-#ifdef LINUX
-#include "sys/file.h"
-#else
-/* #include <unistd.h> */
-#ifdef WIN32
-#include <sys/stat.h>
-#include "io.h"
-#elif defined(__FreeBSD__)
-#include <sys/stat.h>
-#endif /* WIN32 */
-#define L_SET SEEK_SET
-#define L_INCR SEEK_CUR
-#define PROTECTION 
-#endif /* LINUX */
-#include "sndhead.h"
-/* on the mac, memory.h gets Memory.h, a mac header so use string.h */
-/* #include "memory.h" -- for memcpy */
-#include "string.h" /* for memcpy */
-
-#define SCALE_FACTOR_TO_SHORT 32767
-#define SCALE_FACTOR_TO_BYTE 127
-#define SCALE_FACTOR_TO_LONG 2147483647
-
-enum
-{
-    BIAS = 0x84, /* define the add-in bias for 16 bit samples */
-    CLIP = 32635,
-    SIGN_BIT = 0x80, /* sign bit on A-law / mu-law encoded samples */
-    ZEROTRAP = 0
-};
-
-static int ulaw_table[256] =
-{
-    -32124, -31100, -30076, -29052, -28028, -27004, -25980, -24956,
-    -23932, -22908, -21884, -20860, -19836, -18812, -17788, -16764,
-    -15996, -15484, -14972, -14460, -13948, -13436, -12924, -12412,
-    -11900, -11388, -10876, -10364,  -9852,  -9340,  -8828,  -8316,
-     -7932,  -7676,  -7420,  -7164,  -6908,  -6652,  -6396,  -6140,
-     -5884,  -5628,  -5372,  -5116,  -4860,  -4604,  -4348,  -4092,
-     -3900,  -3772,  -3644,  -3516,  -3388,  -3260,  -3132,  -3004,
-     -2876,  -2748,  -2620,  -2492,  -2364,  -2236,  -2108,  -1980,
-     -1884,  -1820,  -1756,  -1692,  -1628,  -1564,  -1500,  -1436,
-     -1372,  -1308,  -1244,  -1180,  -1116,  -1052,   -988,   -924,
-      -876,   -844,   -812,   -780,   -748,   -716,   -684,   -652,
-      -620,   -588,   -556,   -524,   -492,   -460,   -428,   -396,
-      -372,   -356,   -340,   -324,   -308,   -292,   -276,   -260,
-      -244,   -228,   -212,   -196,   -180,   -164,   -148,   -132,
-      -120,   -112,   -104,    -96,    -88,    -80,    -72,    -64,
-       -56,    -48,    -40,    -32,    -24,    -16,     -8,      0,
-     32124,  31100,  30076,  29052,  28028,  27004,  25980,  24956,
-     23932,  22908,  21884,  20860,  19836,  18812,  17788,  16764,
-     15996,  15484,  14972,  14460,  13948,  13436,  12924,  12412,
-     11900,  11388,  10876,  10364,   9852,   9340,   8828,   8316,
-      7932,   7676,   7420,   7164,   6908,   6652,   6396,   6140,
-      5884,   5628,   5372,   5116,   4860,   4604,   4348,   4092,
-      3900,   3772,   3644,   3516,   3388,   3260,   3132,   3004,
-      2876,   2748,   2620,   2492,   2364,   2236,   2108,   1980,
-      1884,   1820,   1756,   1692,   1628,   1564,   1500,   1436,
-      1372,   1308,   1244,   1180,   1116,   1052,    988,    924,
-       876,    844,    812,    780,    748,    716,    684,    652,
-       620,    588,    556,    524,    492,    460,    428,    396,
-       372,    356,    340,    324,    308,    292,    276,    260,
-       244,    228,    212,    196,    180,    164,    148,    132,
-       120,    112,    104,     96,     88,     80,     72,     64,
-       56,     48,     40,     32,     24,     16,      8,      0
-};
-
-
-long snd_convert2(snd_type snd1, void *buffer1,
-                  snd_type snd2, void *buffer2, long length);
-
-
-unsigned char
-st_linear_to_alaw (int sample)
-{
-    int mask = 0xD5, a_val = 0x7F;
-    unsigned int segment;
-    short seg_aend[8] = {
-        0x1F, 0x3F, 0x7F, 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF
-    };
-
-    sample >>= 3;
-    if (sample < 0) {
-        mask = 0x55;		/* sign bit = 0 */
-        sample = -1 - sample;
-    }
-
-    /* Convert the scaled magnitude to segment number. */
-    for (segment = 0; segment < 8; segment++) {
-        if (sample <= seg_aend[segment]) {
-            break;
-        }
-    }
-
-    /* Combine the sign, segment, and quantization bits. */
-    if (segment < 8)
-    {
-    a_val = segment << 4;
-    if (segment < 2)
-        a_val |= (sample >> 1) & 0x0F;
-    else
-        a_val |= (sample >> segment) & 0x0F;
-    }
-
-    return (unsigned char) (a_val ^ mask);
-}
-
-
-unsigned char st_linear_to_ulaw(int sample)
-{
-    static int exp_lut[256] = {0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,
-                   4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-                   5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-                   5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-                   6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                   6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                   6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                   6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7};
-    int sign, exponent, mantissa;
-    unsigned char ulawbyte;
-
-    /* Get the sample into sign-magnitude. */
-    sign = (sample >> 8) & SIGN_BIT;          /* set aside the sign */
-    if (sign != 0) sample = -sample;          /* get magnitude */
-    if (sample > CLIP) sample = CLIP;         /* clip the magnitude */
-
-    /* Convert from 16 bit linear to ulaw. */
-    sample = sample + BIAS;
-    exponent = exp_lut[(sample >> 7) & 0xFF];
-    mantissa = ( sample >> ( exponent + 3 ) ) & 0x0F;
-    ulawbyte = ~ ( sign | ( exponent << 4 ) | mantissa );
-    if (ZEROTRAP && (ulawbyte == 0)) {      /* optional CCITT trap */
-    ulawbyte = 0x02;
-    }
-    return (ulawbyte);
-}
-
-
-char TOOSMALL[] = "snd_convert: destination buffer too small";
-
-/* snd_convert -- copy from buffer2 to buffer1, converting samples if necessary */
-/*
- */
-long snd_convert(snd_type snd1, void *buffer1,
-    snd_type snd2, void *buffer2, long length)
-{
-    /* simplest conversion: none */
-    if (snd1->format.channels == snd2->format.channels &&
-    snd1->format.mode == snd2->format.mode &&
-    snd1->format.bits == snd2->format.bits &&
-    snd1->format.srate == snd2->format.srate) {
-    memcpy(buffer1, buffer2, length * snd_bytes_per_frame(snd1));
-    return length;
-    }
-
-    /* reject if sample rates do not match */
-    if (snd1->format.srate != snd2->format.srate) {
-    snd_fail("snd_convert: cannot convert sample rates");
-    return 0L;
-    }
-
-    /* convert from anything to float */
-    if (snd1->format.mode == SND_MODE_FLOAT /* implies 32-bit */ &&
-    snd1->format.channels == snd2->format.channels) {
-    cvtfn_type cvtfn = select_cvtfn(snd1, snd2);
-    float peak = 0.0F;
-    return (*cvtfn)(buffer1, buffer2, length * snd1->format.channels, 
-                        1.0F, &peak) / snd1->format.channels;
-    }
-
-    /* convert from float to anything */
-    if (snd2->format.mode == SND_MODE_FLOAT /* implies 32-bit */ &&
-    snd1->format.channels == snd2->format.channels) {
-    cvtfn_type cvtfn = select_cvtfn(snd1, snd2);
-    float peak = 0.0F;
-    return (*cvtfn)(buffer1, buffer2, length * snd1->format.channels,
-                1.0F, &peak) / snd1->format.channels;
-    }
-
-    /* otherwise, we need to do a full conversion to and from float */
-    return snd_convert2(snd1, buffer1, snd2, buffer2, length);
-}
-
-
-long snd_bytes_per_frame(snd_type snd)
-{
-    return (((snd->format.bits + 7) >> 3) * snd->format.channels);
-}
-
-
-long to_mono(void *buffer, long length, long channels)
-{
-    float *ptr = (float *) buffer;
-    float *out = ptr;
-    float inverse = 1.0F / channels;
-    long result = length;    
-    while (length > 0) {
-    float sum = 0.0F;
-    int i;
-    for (i = 0; i < channels; i++) {
-        sum += ptr[i];
-    }
-    *out++ = sum * inverse;
-    ptr += channels;
-    length--;
-    }
-    return result;
-}
-
-
-long from_mono(void *buffer, long length, long channels)
-{
-    float *outptr = ((float *) buffer) + (length * channels) - 1;
-    float *inptr = ((float *) buffer) + length - 1;
-
-    /* copy backwards to avoid overwriting data you need */
-    while (inptr >= (float *) buffer) {
-    int i;
-    float s = *inptr--;
-    for (i = 0; i < channels; i++) {
-            *outptr-- = s;
-    }
-    }
-    return length;
-}
-
-
-long snd_convert2(snd_type snd1, void *buffer1, 
-              snd_type snd2, void *buffer2, long length)
-{
-    char *buf1 = (char *) buffer1;
-    char *buf2 = (char *) buffer2;
-
-/* how many floats in one temporary block? */
-#define blocklen 1024
-/* how many bytes in temporary block? */
-#define blockbytes (blocklen * sizeof(float))
-    float temp[blocklen];
-
-    /* how many frames converted via temp block every iteration? */
-    long frames_per_iteration = blocklen / max(snd1->format.channels, 
-                           snd2->format.channels);
-
-    snd_node temp_snd2;
-
-    temp_snd2.format = snd2->format;
-    temp_snd2.format.mode = SND_MODE_FLOAT;
-    temp_snd2.format.bits = 32;
-    temp_snd2.format.channels = snd2->format.channels; /* must match */
-
-    while (length > 0) {
-        long temp_len;
-    /* First convert from buffer2 to floats in temp.
-     * Channel counts will match even though they may not be what we want
-     * in the end.
-     */
-        temp_snd2.format.channels = snd2->format.channels;
-    temp_len = snd_convert(&temp_snd2, temp,
-        snd2, buf2, min(length, frames_per_iteration));
-        /* now temp contains temp_len frames of floats, same channels as snd2 */
-
-    /* figure out if channels match */
-    if (snd1->format.channels != snd2->format.channels) {
-        /* no match, so first convert to mono */
-        temp_len = to_mono(temp, temp_len, snd2->format.channels);
-
-        /* then, if dest isn't mono, duplicate mono on all channels */
-        if (snd1->format.channels > 1) {
-        temp_len = from_mono(temp, temp_len, snd1->format.channels);
-        }
-    }
-        /* now temp contains temp_len frames with same channels as snd1 */
-
-    /* convert from temp to buffer1, again ignoring channel count */
-    temp_snd2.format.channels = snd1->format.channels;
-    temp_len = snd_convert(snd1, buf1,
-                   &temp_snd2, temp, temp_len);
-
-    /* adjust pointers etc. */
-    buf1 += temp_len * snd_bytes_per_frame(snd1);
-    length -= temp_len;
-    buf2 += temp_len * snd_bytes_per_frame(snd2);
-    }
-    return (buf1 - (char *) buffer1) / snd_bytes_per_frame(snd1);
-}
-
-
-long cvt_from_alaw_8 (void *buf1, void *buf2, long len2, 
-                      float scale, float *peak)
-{
-    float *floats = (float *) buf1;
-    unsigned char *bytes = (unsigned char *) buf2;
-    long i;
-    int pcm_val, a_val;
-    unsigned segment;
-
-    scale /= SCALE_FACTOR_TO_SHORT;
-    for (i = 0; i < len2; i++) {
-    a_val = bytes[i] ^ 0x55;
-
-    pcm_val = ((a_val & 0x0F) << 4) + 8;
-    segment = (a_val & 0x70) >> 4;
-    if (segment != 0)
-        pcm_val = (pcm_val + 0x100) << (segment - 1);
-
-    *floats++ = ((a_val & 0x80) ? pcm_val : -pcm_val) * scale;
-    }
-
-    return len2;;
-}
-
-
-long cvt_from_ulaw_8(void *buf1, void *buf2, long len2, 
-                     float scale, float *peak)
-{
-    float *floats = (float *) buf1;
-    unsigned char *bytes = (unsigned char *) buf2;
-    long i;
-
-    scale /= SCALE_FACTOR_TO_SHORT;
-    for (i = 0; i < len2; i++) {
-    *floats++ = ulaw_table[((int) (*bytes++))] * scale;
-    }
-    return len2;
-}
-
-
-long cvt_from_upcm_8(void *buf1, void *buf2, long len2, 
-                     float scale, float *peak)
-{
-    float *floats = (float *) buf1;
-    unsigned char *bytes = (unsigned char *) buf2;
-    int i;
-    scale /= SCALE_FACTOR_TO_BYTE;
-    for (i = 0; i < len2; i++) {
-    *floats++ = (((int) (*bytes++)) - 128) * scale;
-    }
-    return len2;
-}
-
-
-long cvt_from_pcm_8(void *buf1, void *buf2, long len2, 
-                    float scale, float *peak)
-{
-    float *floats = (float *) buf1;
-    unsigned char *bytes = (unsigned char *) buf2;
-    int i;
-    scale /= SCALE_FACTOR_TO_BYTE;
-    for (i = 0; i < len2; i++) {
-    *floats++ = (((int) (*bytes++) ^ 128) - 128) * scale;
-    }
-    return len2;
-}
-
-
-long cvt_from_pcm_16(void *buf1, void *buf2, long len2, 
-                     float scale, float *peak)
-{
-    float *floats = (float *) buf1;
-    short *shorts = (short *) buf2;
-    int i;
-    scale /= SCALE_FACTOR_TO_SHORT;
-    for (i = 0; i < len2; i++) {
-    *floats++ = *shorts++ * scale;
-    }
-    return len2;
-}
-
-
-long cvt_from_float_32(void *buf1, void *buf2, long len2, float scale, float *peak)
-{
-    float *floats1 = (float *) buf1;
-    float *floats2 = (float *) buf2;
-    int i;
-    for (i = 0; i < len2; i++) {
-    *floats1++ = *floats2++ * scale;
-    }
-    return len2;
-}
-
-
-long cvt_from_pcm_32(void *buf1, void *buf2, long len2, 
-                     float scale, float *peak)
-{
-    float *floats = (float *) buf1;
-    long *longs = (long *) buf2;
-    int i;
-    scale /= SCALE_FACTOR_TO_LONG;
-    for (i = 0; i < len2; i++) {
-    *floats++ = *longs++ * scale;
-    }
-    return len2;
-}
-
-
-long cvt_from_unknown(void *buf1, void *buf2, long len2, 
-                      float scale, float *peak)
-{
-    snd_fail("snd_convert: unknown conversion");
-    return 0;
-}
-
-/* snd.h says: #define cvt_to_unknown cvt_from_unknown */
-
-
-long cvt_to_alaw_8 (void *buf1, void *buf2, long len2,
-                    float scale, float *peak)
-{
-    unsigned char *bytes = (unsigned char *) buf1;
-    float *floats = (float *) buf2;
-    long i;
-    FASTFLOAT s, max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_SHORT;
-
-    for (i = 0; i < len2; i++) {
-    s = scale * floats[i];
-    if (s > 0) {
-        if (s > max_sample)	{
-        max_sample = s;
-        }
-        s += 0.5;
-    } else {
-        if (-s > max_sample) {
-        max_sample = -s;
-        }
-        s -= 0.5;
-    }
-    bytes[i] = st_linear_to_ulaw ((int) s);
-    }
-
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_SHORT);
-    return len2;
-}
-
-
-long cvt_to_ulaw_8(void *buf1, void *buf2, long len2, 
-                   float scale, float *peak)
-{
-    unsigned char *bytes = (unsigned char *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_SHORT;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *bytes++ = st_linear_to_ulaw((int) s);
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_SHORT);
-    return len2;
-}
-
-
-long cvt_to_upcm_8(void *buf1, void *buf2, long len2, 
-                   float scale, float *peak)
-{
-    unsigned char *bytes = (unsigned char *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_BYTE;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *bytes++ = ((int) s) ^ 128;
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_BYTE);
-    return len2;
-}
-
-
-long cvt_to_pcm_8(void *buf1, void *buf2, long len2, 
-                  float scale, float *peak)
-{
-    unsigned char *bytes = (unsigned char *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    len2 = len2;
-    scale *= SCALE_FACTOR_TO_BYTE;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *bytes++ = (int) s;
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_BYTE);
-    return len2;
-}
-
-
-long cvt_to_upcm_16(void *buf1, void *buf2, long len2,
-                    float scale, float *peak)
-{
-    short *shorts = (short *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_SHORT;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *shorts++ = ((short) s) ^ 32768;       // dmazzoni
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_SHORT);
-    return len2;
-}
-
-
-long cvt_to_pcm_16(void *buf1, void *buf2, long len2, 
-                   float scale, float *peak)
-{
-    short *shorts = (short *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_SHORT;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *shorts++ = (short) s;
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_SHORT);
-    return len2;
-}
-
-
-long cvt_to_float_32(void *buf1, void *buf2, long len2, float scale, float *peak)
-{
-    unsigned char *longs = (unsigned char *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    if (s > max_sample) max_sample = s;
-    if (-s > max_sample) max_sample = -s;
-    *floats++ = (float) s;
-    }
-    *peak = (float) max_sample;
-    return len2;
-}
-
-
-long cvt_to_upcm_32(void *buf1, void *buf2, long len2,
-                    float scale, float *peak)
-{
-    long *longs = (long *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_LONG;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *longs++ = ((long) s) ^ (1 << 31); // dmazzoni
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_LONG);
-    return len2;
-}
-
-
-long cvt_to_pcm_32(void *buf1, void *buf2, long len2, 
-                   float scale, float *peak)
-{
-    long *longs = (long *) buf1;
-    float *floats = (float *) buf2;
-    int i;
-    FASTFLOAT max_sample = 0.0;
-    scale *= SCALE_FACTOR_TO_LONG;
-    
-    for (i = 0; i < len2; i++) {
-    FASTFLOAT s = *floats++ * scale;
-    /* round down, e.g. -4.5 => -5: */
-    if (s > 0) {
-        if (s > max_sample) max_sample = s;
-        s += 0.5;
-    } else {
-        if (-s > max_sample) max_sample = -s;
-        s -= 0.5;
-    }
-    *longs++ = (long) s;
-    }
-    *peak = (float) (max_sample / SCALE_FACTOR_TO_LONG);
-    return len2;
-}
-
-
-cvtfn_type cvt_from_8[] = { cvt_from_unknown, cvt_from_pcm_8, cvt_from_ulaw_8, cvt_from_alaw_8, cvt_from_unknown, cvt_from_upcm_8, cvt_from_unknown };
-
-cvtfn_type cvt_from_16[] = { cvt_from_unknown, cvt_from_pcm_16, cvt_from_unknown, cvt_from_unknown, cvt_from_unknown, cvt_from_unknown, cvt_from_unknown };
-
-cvtfn_type cvt_from_32[] = { cvt_from_unknown, cvt_from_pcm_32, cvt_from_unknown, cvt_from_unknown, cvt_from_float_32, cvt_from_unknown, cvt_from_unknown };
-
-cvtfn_type cvt_to_8[] = { cvt_to_unknown, cvt_to_pcm_8, cvt_to_ulaw_8, cvt_to_alaw_8, cvt_to_unknown, cvt_to_upcm_8, cvt_to_unknown };
-
-cvtfn_type cvt_to_16[] = { cvt_to_unknown, cvt_to_pcm_16, cvt_to_unknown, cvt_to_unknown, cvt_to_unknown, cvt_to_upcm_16, cvt_to_unknown };
-
-cvtfn_type cvt_to_32[] = { cvt_to_unknown, cvt_to_pcm_32, cvt_to_unknown, cvt_to_unknown, cvt_to_float_32, cvt_to_upcm_32, cvt_to_unknown };
-
-
-/* select_cvtfn -- find conversion from snd2 to snd1 */
-/*
- * conversion is based on bits and mode (channels and srate
- * are ignored). Either snd1 or snd2 must be of SND_MODE_FLOAT.
- */
-cvtfn_type select_cvtfn(snd_type snd1, snd_type snd2)
-{
-    long mode1 = snd1->format.mode;
-    long mode2 = snd2->format.mode;
-    if (mode1 == SND_MODE_FLOAT) {
-    long bits2 = snd2->format.bits;
-    /* convert_from functions */
-    if (bits2 == 8) return cvt_from_8[mode2];
-    else if (bits2 == 16) return cvt_from_16[mode2];
-    else if (bits2 == 32) return cvt_from_32[mode2];
-    else return &cvt_from_unknown;
-    } else if (mode2 == SND_MODE_FLOAT) {
-    long bits1 = snd1->format.bits;
-    /* convert_to functions */
-    if (bits1 == 8) return cvt_to_8[mode1];
-    else if (bits1 == 16) return cvt_to_16[mode1];
-    else if (bits1 == 32) return cvt_to_32[mode1];
-    else return &cvt_to_unknown;
-    } else return &cvt_from_unknown;
-}
diff --git a/lib-src/libnyquist/snd/sndfaillinux.c b/lib-src/libnyquist/snd/sndfaillinux.c
deleted file mode 100644
index 91ba43f..0000000
--- a/lib-src/libnyquist/snd/sndfaillinux.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* sndfaillinux.c -- version of sndfail that prints a message */
-
-/* this should not be compiled into an snd library! handling snd_fail
- * is application specific
- */
-
-#include "stdio.h"
-
-void snd_fail(char *msg)
-{
-    printf("ERROR: %s\n", msg);
-}
-
diff --git a/lib-src/libnyquist/snd/sndfailwin32.c b/lib-src/libnyquist/snd/sndfailwin32.c
deleted file mode 100644
index 2021644..0000000
--- a/lib-src/libnyquist/snd/sndfailwin32.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* sndfailwin32.c -- version of sndfail that puts up a message box */
-
-/* this should not be compiled into an snd library! handling snd_fail
- * is application specific
- */
-
-#include <windows.h>
-
-
-void snd_fail(char *msg)
-{
-    MessageBox(0, msg, 0, 0);
-    exit(1);
-}
-
-
-void snd_warn(char *msg)
-{
-    MessageBox(0, msg, 0, MB_OK);
-}
diff --git a/lib-src/libnyquist/snd/sndfileio.h b/lib-src/libnyquist/snd/sndfileio.h
deleted file mode 100644
index cd70dc6..0000000
--- a/lib-src/libnyquist/snd/sndfileio.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* sndfileio.h -- defines system-independent file IO */
-
-#define SND_SEEK_CUR    1
-#define SND_SEEK_END    2
-#define SND_SEEK_SET    0
-
-#define SND_RDONLY 0
-#define SND_RDWR   2
-
-int snd_file_open(char *fname, int mode);
-int snd_file_creat(char *fname);
-int snd_file_lseek(int file, long offset, int param);
-long snd_file_read(int fp, char *data, long len);
-long snd_file_write(int fp, char *data, long len);
-int snd_file_close(int fp);
-long snd_file_len(int fp);
diff --git a/lib-src/libnyquist/snd/sndfreebsd.h b/lib-src/libnyquist/snd/sndfreebsd.h
deleted file mode 100644
index f1dfda3..0000000
--- a/lib-src/libnyquist/snd/sndfreebsd.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* sndfreebsd.h -- system-specific definitions */
-
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflicts if already defined: */
-#ifndef max
-
-/* min(n, sizeof(long)) doesn't work on RS6K without this: 
- * (I never tracked down what min() was called and what was wrong.)
- */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
diff --git a/lib-src/libnyquist/snd/sndhead.h b/lib-src/libnyquist/snd/sndhead.h
deleted file mode 100644
index 8e1d9a2..0000000
--- a/lib-src/libnyquist/snd/sndhead.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* sndhead.h -- header info */
-
-/* NeXT sound headers */
-#define NEXT_SND_MAGIC (*((long *) ".snd"))  // was: ((int)0x2e736e64)
-#define NEXT_SND_FORMAT_UNSPECIFIED		(0)
-#define	NEXT_SND_FORMAT_ULAW_8			(1)
-#define NEXT_SND_FORMAT_LINEAR_8		(2)
-#define NEXT_SND_FORMAT_LINEAR_16		(3)
-#define NEXT_SND_FORMAT_LINEAR_24		(4)
-#define NEXT_SND_FORMAT_LINEAR_32		(5)
-#define	NEXT_SND_FORMAT_FLOAT			(6)
-#define	NEXT_SND_FORMAT_DOUBLE			(7)
-#define NEXT_SND_FORMAT_INDIRECT		(8)
-#define	NEXT_SND_FORMAT_NESTED			(9)
-#define NEXT_SND_FORMAT_DSP_CORE		(10)
-#define NEXT_SND_FORMAT_DSP_DATA_8		(11)
-#define NEXT_SND_FORMAT_DSP_DATA_16		(12)
-#define NEXT_SND_FORMAT_DSP_DATA_24		(13)
-#define NEXT_SND_FORMAT_DSP_DATA_32		(14)
-#define	NEXT_SND_FORMAT_DISPLAY			(16)
-#define	NEXT_SND_FORMAT_MULAW_SQUELCH		(17)
-#define	NEXT_SND_FORMAT_EMPHASIZED		(18)
-#define	NEXT_SND_FORMAT_COMPRESSED		(19)
-#define	NEXT_SND_FORMAT_COMPRESSED_EMPHASIZED	(20)
-#define	NEXT_SND_FORMAT_DSP_COMMANDS		(21)
-#define	NEXT_SND_FORMAT_DSP_COMMANDS_SAMPLES	(22)
-
-/* for soundheaders (IRCAM) */
-#define IRCAM_SND_MAGIC 107364L
-#define SIZEOF_IRCAM_HEADER 1024
-#define IRCAM_SND_CHAR   0x101
-#define IRCAM_SND_ALAW   0x102
-#define IRCAM_SND_ULAW   0x103
-#define IRCAM_SND_SHORT  0x104
-#define IRCAM_SND_LONG   0x105
-#define IRCAM_SND_FLOAT  0x106
-#define	IRCAM_SND_END		0
-#define	IRCAM_SND_MAXAMP	1
-#define	IRCAM_SND_AUDIOENCODE	2
-#define	IRCAM_SND_PVDATA	3
-#define	IRCAM_SND_COMMENT	4
-#define	IRCAM_SND_CODMAX	4
-
-/* (Microsoft WAV sound headers */
-/* purloined from public Microsoft RIFF docs */
-
-#define	WAVE_FORMAT_UNKNOWN		(0x0000)
-#ifndef WIN32
-// already defined (compatibly) by Microsoft header file:
-#define	WAVE_FORMAT_PCM			(0x0001)
-#endif
-#define	WAVE_FORMAT_ADPCM		(0x0002)
-#define	WAVE_FORMAT_ALAW		(0x0006)
-#define	WAVE_FORMAT_MULAW		(0x0007)
-#define	WAVE_FORMAT_OKI_ADPCM		(0x0010)
-#define	WAVE_FORMAT_DIGISTD		(0x0015)
-#define	WAVE_FORMAT_DIGIFIX		(0x0016)
-#define	IBM_FORMAT_MULAW         	(0x0101)
-#define	IBM_FORMAT_ALAW			(0x0102)
-#define	IBM_FORMAT_ADPCM         	(0x0103)
diff --git a/lib-src/libnyquist/snd/sndheader.c b/lib-src/libnyquist/snd/sndheader.c
deleted file mode 100644
index 8b54809..0000000
--- a/lib-src/libnyquist/snd/sndheader.c
+++ /dev/null
@@ -1,1099 +0,0 @@
-/* snd.c -- low-level sound I/O
- *
- * Roger Dannenberg
- * 21 Jun 1997
- *
- * based on sndheader.c:
- *
- * Jim Zelenka, CMU/ITC, 9 Jun 1992 (rewritten from my old sources)
- * Roger Dannenberg, CMU, Mar 1993 (extensive changes and additions)
- *
- * and on sndread.c & sndwrite.c:
- *
- * Roger Dannenberg
- */
-
-/* Standard includes */
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "snd.h"
-#include "sndfileio.h"
-#include "sndheader.h"
-#include "ieeecvt.h"
-#include "sndhead.h"
-/* for HUGE_VAL: */
-#include "math.h"
-
-/* #define TRACE 1 */
-
-#ifdef LINUX
-#  ifdef WIN32
-#    error LINUX and WIN32 both?
-#  endif
-// #  include "sys/file.h"
-// #  include <sys/stat.h>
-#  include <netinet/in.h>
-#else
-#ifndef WIN32
-#  include <unistd.h>
-// #  include <stat.h>
-// #  include <fcntl.h>
-#else
-// #  include <sys/stat.h>
-// #  include "io.h"
-// #  include "fcntl.h"
-#  ifdef WINNT
-#    include <winsock.h>
-#  else
-#    include <winsock2.h>
-#  endif
-#endif
-
-#endif
-
-
-#ifndef min
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-
-#define PERMISSION 0644 /* -rw-r--r-- */
-
-/* these macros are for byte ordering -- 
- * doesn't the mac have std macros for this? 
- */
-
-/* u_long PASCAL FAR ntohl(u_long netlong); */
-
-#ifdef MACINTOSH
-#define ntohs(x) (x)
-#define ntohl(x) (x)
-#define htons(x) (x)
-#define htonl(x) (x)
-#endif
-
-/* AIFF file Marker declaration */
-typedef struct {
-    short id;
-    long position;
-} marker_node, *marker_type;
-
-/*  instrument definitions */
-typedef short marker_id;
-typedef struct {
-    short   play_mode;
-    marker_id  begin_loop;
-    marker_id  end_loop;
-} aiff_loop_node, *aiff_loop_type;
-
-
-typedef struct {
-    char        base_note;
-    char        detune;
-    char        low_note;
-    char        high_note;
-    char        low_velocity;
-    char        high_velocity;
-    short       gain;
-    aiff_loop_node      sustain_loop;
-    aiff_loop_node      release_loop;
-} inst_node;
-
-
-long snd_read_header(snd_type snd, long *flags);
-void snd_write_header(snd_type snd, long *flags);
-
-double read_ieee_extended(snd_type snd);
-void write_ieee_extended(int file, double x);
-void ConvertToIeeeExtended(double num, char *bytes);
-
-/*
- * reset the file to read from the beginning
- */
-
-void resetfile(int file)
-{
-    snd_file_lseek(file, 0, SND_SEEK_SET);
-}
-
-
-/*
- * reads a an item of type T from F into L, if unsuccessful,
- * resets file to beginning and returns
- */
-#define readitem(F,L,T) { \
-    int r; \
-    r = snd_file_read(F, (char *) L,sizeof(T)); \
-    if (r != sizeof(T)) { resetfile(file); return *(L); } \
-    *read_in += sizeof(T); \
-}
-
-
-char readchar(int file, long *read_in)
-{
-    char c = 0;
-    readitem(file, &c, char);
-    return c;
-}
-
-
-long readlong(int file, long *read_in)
-{
-    long l = 0;
-    readitem(file, &l, long);
-    return ntohl(l);
-}
-
-
-short readshort(int file, long *read_in)
-{ 
-    short s = 0;
-    readitem(file, &s, short);
-    return ntohs(s);
-}
-
-
-long revlong(long l)
-{
-    return (((l >> 0) & 0xFF) << 24) |
-        (((l >> 8) & 0xFF) << 16) |
-        (((l >> 16) & 0xFF) << 8) |
-        (((l >> 24) & 0xFF) << 0);
-}
-
-
-long readrevlong(int file, long *read_in)
-{
-    return revlong(readlong(file, read_in));
-}
-
-
-short revshort(short s)
-{
-    return ((s & 0xFF) << 8) | ((s >> 8) & 0xFF);
-}
-
-
-short readrevshort(int file, long *read_in)
-{
-    return revshort(readshort(file, read_in));
-}
-
-
-float readfloat(int file, long *read_in)
-{
-    float f = 0.0F;
-    readitem(file, &f, float);
-    return f;
-}
-
-unsigned char readuchar(int file, long *read_in)
-{
-    unsigned char c = 0;
-    readitem(file, &c, unsigned char);
-    return c;
-}
-
-
-/*
- * write a an item of type T to F from L (no error handling yet)
- */
-#define writeitem(F,L,T) snd_file_write(F, (char *) L, sizeof(T));
-
-
-void writelong(int file, long l)
-{
-    l = htonl(l);
-    writeitem(file, &l, long);
-}
-
-void writeshort(int file, short s)
-{
-    s = htons(s);
-    writeitem(file, &s, short);
-}
-
-void writerevlong(int file, long l)
-{
-    writelong(file, revlong(l));
-}
-
-
-void writerevshort(int file, short s)
-{
-    writeshort(file, revshort(s));
-}
-
-
-void writefloat(int file, float f)
-{
-    writeitem(file, &f, float);
-}
-
-
-void writeuchar(int file, unsigned char c)
-{
-    writeitem(file, &c, unsigned char);
-}
-
-
-static int fail(snd_type snd, char *str)
-{
-    resetfile(snd->u.file.file);
-    snd->u.file.header = SND_HEAD_NONE;
-    snd_fail(str);
-    return !SND_SUCCESS;
-}
-
-
-void snd_open_fail(snd_type snd)
-{
-    /* char msg[250]; */
-    snd->device = SND_DEVICE_NONE;
-    snd->dictionary = &snd_none_dictionary;
-    /* It's not fatal if the file does not exist...
-    sprintf(msg, "snd_open: could not open file %s\n",
-        snd->u.file.filename);
-    snd_fail(msg); */
-    return;
-}
-
-
-int head_to_byteorder[] = { 0, 1, 1, 1, 0 };
-
-/* set_swap -- set the swap flag in snd */
-/**/
-void set_swap(snd_type snd)
-{
-    int n = head_to_byteorder[snd->u.file.header];
-    if (snd->u.file.header == SND_HEAD_NONE) {
-        /* go with whatever caller specified */
-    } else if (htonl(0x12345678) == 0x12345678)
-        snd->u.file.swap = !n;
-    else snd->u.file.swap = n;
-}
-
-int snd_open_file(snd_type snd, long *flags)
-{
-    int file, rslt;
-    if (snd->write_flag == SND_READ) {
-        snd->u.file.loop_info = FALSE;
-        file = snd_file_open(snd->u.file.filename, SND_RDONLY);
-        snd->u.file.file = file;
-        if (file < 0) {
-            snd_open_fail(snd);
-            return file;
-        }
-        rslt = snd_read_header(snd, flags);
-        set_swap(snd);
-        return rslt;
-    } else if (snd->write_flag == SND_WRITE) {
-        if (snd->u.file.header < 0 || snd->u.file.header >= SND_NUM_HEADS) {
-            snd_fail("snd_open: invalid header value");
-            return !SND_SUCCESS;
-        }
-        file = snd_file_creat(snd->u.file.filename);
-        snd->u.file.file = file;
-        if (file < 0) {
-            snd_open_fail(snd);
-            return file;
-        }
-        /* special case: in WAV files, 8-bit PCM is stored as UPCM */
-        if (snd->u.file.header == SND_HEAD_WAVE &&
-            snd->format.mode == SND_MODE_PCM &&
-            snd->format.bits == 8) {
-            snd->format.mode = SND_MODE_UPCM;
-        }
-        snd_write_header(snd, flags);
-    } else if (snd->write_flag == SND_OVERWRITE) {
-        file = snd_file_open(snd->u.file.filename, SND_RDWR);
-        snd->u.file.file = file;
-        if (file < 0) {
-            snd_open_fail(snd);
-            return file;
-        }
-        snd_file_lseek(file, snd->u.file.byte_offset, SND_SEEK_SET);
-        snd->u.file.current_offset = snd->u.file.byte_offset;
-        /* special case: in WAV files, 8-bit PCM is stored as UPCM */
-        if (snd->u.file.header == SND_HEAD_WAVE &&
-            snd->format.mode == SND_MODE_PCM &&
-            snd->format.bits == 8) {
-            snd->format.mode = SND_MODE_UPCM;
-        }
-    }
-    set_swap(snd);
-    return SND_SUCCESS;
-}
-
-
-int snd_seek(snd_type snd, double when)
-{
-    long offset_in_bytes = ((long) (when * snd->format.srate + 0.5)) *
-        snd_bytes_per_frame(snd);
-    long new_offset = snd->u.file.byte_offset + offset_in_bytes;
-    
-    if (new_offset > snd->u.file.end_offset) return !SND_SUCCESS;
-    if (new_offset < snd->u.file.byte_offset) return !SND_SUCCESS;
-    snd->u.file.current_offset = new_offset;
-    if (snd_file_lseek(snd->u.file.file, new_offset, SND_SEEK_SET) == -1L)
-        return !SND_SUCCESS;
-    return SND_SUCCESS;
-}
-
-void readloop(aiff_loop_type loop, int file, long *read_in)
-{
-    loop->play_mode = readshort(file, read_in);
-    loop->begin_loop = readshort(file, read_in);
-    loop->end_loop = readshort(file, read_in);
-}
-
-
-/* convert_loop_data -- from AIFF loop structure to snd loop structure */
-/**/
-void convert_loop_data(loop_type loop, aiff_loop_type aiffloop, 
-                       marker_type markers, int nmarkers)
-{
-    int i;
-    
-    loop->mode = aiffloop->play_mode;
-    
-    loop->begin = loop->end = -1; /* initialize to illegal value */
-    for (i = 0; i < nmarkers; i++) {
-        if (aiffloop->begin_loop == markers[i].id) {
-            loop->begin = markers[i].position;
-        }
-        if (aiffloop->end_loop == markers[i].id) {
-            loop->end = markers[i].position;
-        }
-    }
-}
-
-
-static double StepToHz(double step) 
-{
-    return exp(step * 0.0577622650466621 + 2.1011784386926213);
-}
-
-
-#define AIFF_SND_MAGIC (*((long *) "FORM"))
-#define WAVE_SND_MAGIC (*((long *) "RIFF"))
-
-long snd_read_header(snd_type snd, long *flags)
-{
-    long read_in = 0;
-    long magic, bytemode, len;
-    short type=IRCAM_SND_COMMENT, size=0, encoding;
-    unsigned char buf[SIZEOF_IRCAM_HEADER];
-    
-    snd->u.file.loop_info = FALSE;
-    len = snd_file_len(snd->u.file.file);  /* get length of file */
-    magic = readlong(snd->u.file.file, &read_in);
-    magic = htonl(magic);   /* undo what readlong did */
-    if (magic == IRCAM_SND_MAGIC) {
-        snd->u.file.header = SND_HEAD_IRCAM;
-        snd->format.srate = (double) readfloat(snd->u.file.file, &read_in);
-        snd->format.channels = readlong(snd->u.file.file, &read_in);
-        bytemode = readlong(snd->u.file.file, &read_in);
-        (*flags) |= SND_HEAD_SRATE | SND_HEAD_CHANNELS;
-        /* now SF_ULAW, SF_SHORT, SF_FLOAT,AE_CHAR, AE_ALAW, AE_ULAW, AE_SHORT, AE_LONG, AE_FLOAT or other */
-        while (type != IRCAM_SND_END && type != IRCAM_SND_AUDIOENCODE) {
-            type = readshort(snd->u.file.file, &read_in);
-            size = readshort(snd->u.file.file, &read_in);
-            if (size > 2 * sizeof(short)) {
-                int rc;
-                /* make sure we don't overflow buffer */
-                if (size < SIZEOF_IRCAM_HEADER) {
-                    rc = snd_file_read(snd->u.file.file, (char *) buf, (size - 2 * sizeof(short)));
-                } else {
-                    rc = 0; /* force error */
-                }
-                if (rc != (size - 2 * (int) sizeof(short))) {
-                    return fail(snd, "bad IRCAM header");
-                }
-                read_in += size - 2 * sizeof(short);
-            }
-        }
-        if (type == IRCAM_SND_AUDIOENCODE) {
-            /* printf("Got IRCAM sound format\n"); */
-            encoding = *((short *)(buf));
-            (*flags) |= SND_HEAD_MODE | SND_HEAD_BITS;
-            switch (encoding) {
-              case IRCAM_SND_CHAR:
-                snd->format.mode = SND_MODE_PCM;
-                snd->format.bits = 8;
-                break;
-              case IRCAM_SND_ALAW:
-                snd->format.mode = SND_MODE_ALAW;
-                snd->format.bits = 8;
-                break;
-              case IRCAM_SND_ULAW:
-                snd->format.mode = SND_MODE_ULAW;
-                snd->format.bits = 8;
-                break;
-              case IRCAM_SND_SHORT:
-                snd->format.mode = SND_MODE_PCM;
-                snd->format.bits = 16;
-                break;
-              case IRCAM_SND_LONG:
-                snd->format.mode = SND_MODE_PCM;
-                snd->format.bits = 32;
-                break;
-              case IRCAM_SND_FLOAT:
-                snd->format.mode = SND_MODE_FLOAT;
-                snd->format.bits = 32;
-                break;
-              default:
-                (*flags) &= ~(SND_HEAD_MODE | SND_HEAD_BITS);
-                break;
-            }
-        } else {
-            snd->format.bits = bytemode << 3;
-            (*flags) |= SND_HEAD_BITS;
-            switch (bytemode) {
-              case sizeof(char):
-                (*flags) |= SND_HEAD_MODE;
-                snd->format.mode = SND_MODE_ULAW;
-                break;
-              case sizeof(short):
-                snd->format.mode = SND_MODE_PCM;
-                break;
-              case sizeof(float):
-                snd->format.mode = SND_MODE_FLOAT;
-                break;
-              default:
-                snd->format.mode = SND_MODE_PCM;
-                break;
-            }
-        }
-        
-        /* seek to end of header */
-        snd_file_lseek(snd->u.file.file, SIZEOF_IRCAM_HEADER, SND_SEEK_SET);
-        snd->u.file.byte_offset = SIZEOF_IRCAM_HEADER;
-        snd->u.file.current_offset = snd->u.file.byte_offset;
-        
-    } else if (magic == NEXT_SND_MAGIC) {
-        long hdr_size, trash, rate;
-        snd->u.file.header = SND_HEAD_NEXT;
-        hdr_size = readlong(snd->u.file.file, &read_in);        /* dataLocation */
-        trash = readlong(snd->u.file.file, &read_in);   /* dataSize */
-        bytemode = readlong(snd->u.file.file, &read_in);        /* dataFormat */
-        rate = readlong(snd->u.file.file, &read_in);            /* samplingRate */
-        snd->format.channels = readlong(snd->u.file.file, &read_in);    /* channelCount */
-        
-        snd->format.srate = (double) rate;
-        (*flags) = SND_HEAD_SRATE | SND_HEAD_CHANNELS;
-        switch (bytemode) {
-          case NEXT_SND_FORMAT_ULAW_8:
-            snd->format.bits = 8;
-            snd->format.mode = SND_MODE_ULAW;
-            (*flags) |= SND_HEAD_BITS | SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_LINEAR_8:
-            snd->format.bits = 8;
-            snd->format.mode = SND_MODE_PCM;
-            (*flags) |= SND_HEAD_BITS | SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_LINEAR_16:
-            snd->format.bits = 16;
-            snd->format.mode = SND_MODE_PCM;
-            (*flags) |= SND_HEAD_BITS | SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_LINEAR_24:
-            snd->format.bits = 24;
-            snd->format.mode = SND_MODE_PCM;
-            (*flags) |= SND_HEAD_BITS | SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_LINEAR_32:
-            snd->format.bits = 32;
-            snd->format.mode = SND_MODE_PCM;
-            (*flags) |= SND_HEAD_BITS |SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_FLOAT:
-            snd->format.bits = sizeof(float) * 8;
-            snd->format.mode = SND_MODE_FLOAT;
-            (*flags) |= SND_HEAD_BITS | SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_DOUBLE:
-            snd->format.bits = sizeof(double) * 8;
-            snd->format.mode = SND_MODE_FLOAT;
-            (*flags) |= SND_HEAD_BITS | SND_HEAD_MODE;
-            break;
-          case NEXT_SND_FORMAT_INDIRECT:
-            break;
-          case NEXT_SND_FORMAT_DSP_DATA_8:
-            snd->format.bits = 8;
-            (*flags) |= SND_HEAD_BITS;
-            break;
-          case NEXT_SND_FORMAT_DSP_DATA_16:
-            snd->format.bits = 16;
-            (*flags) |= SND_HEAD_BITS;
-            break;
-          case NEXT_SND_FORMAT_DSP_DATA_24:
-            snd->format.bits = 24;
-            (*flags) |= SND_HEAD_BITS;
-            break;
-          case NEXT_SND_FORMAT_DSP_DATA_32:
-            snd->format.bits = 32;
-            (*flags) |= SND_HEAD_BITS;
-            break;
-          case NEXT_SND_FORMAT_MULAW_SQUELCH:
-            snd->format.mode = SND_MODE_ULAW;
-            (*flags) |= SND_HEAD_MODE;
-            break;
-          default:
-            break;
-        }
-        /* position file past header */
-        if (read_in < hdr_size) {
-            snd_file_lseek(snd->u.file.file, hdr_size, SND_SEEK_SET);
-            read_in = hdr_size;
-        }
-        snd->u.file.byte_offset = read_in;
-    } else if (magic == AIFF_SND_MAGIC) {
-        unsigned long totalsize;
-        unsigned long ssnd_start = 0;
-        char buf[4];
-        long blocksize;
-        long offset;
-        long chunksize;
-        long ssnd_chunksize;
-        inst_node inst;
-        short nmarkers;
-        marker_type markers = NULL;
-        int inst_read = FALSE;
-        
-        snd->u.file.header = SND_HEAD_AIFF;
-        totalsize = (unsigned long) readlong(snd->u.file.file, &read_in);
-        if (snd_file_read(snd->u.file.file, buf, 4) != 4 || strncmp(buf, "AIFF", 4) != 0) {
-            snd->u.file.header = SND_HEAD_NONE;
-            (*flags) = 0;
-            resetfile(snd->u.file.file);
-            read_in = 0;
-        } else {
-#ifdef TRACE
-            printf("snd_read: 'AIFF', totalsize %d, at %d\n",
-                   totalsize, snd_file_lseek(snd->u.file.file, (off_t) 0, SND_SEEK_CUR) - 8);
-#endif
-            /* Skip everything but the COMM, MARK, INST, and SSND chunks,  */
-
-            while (1) {
-                if (snd_file_read(snd->u.file.file, buf, 4) != 4) {
-                    if (ssnd_start != 0) break; /* found SSND chunk */
-                    return fail(snd, "Missing SSND chunk in AIFF file\n");
-                }
-#ifdef TRACE
-                printf("snd_read: '%c%c%c%c' at %d (0%o)\n", 
-                       buf[0], buf[1], buf[2], buf[3],
-                       snd_file_lseek(snd->u.file.file, (off_t) 0, SND_SEEK_CUR) - 8,
-                       snd_file_lseek(snd->u.file.file, (off_t) 0, SND_SEEK_CUR) - 8);
-#endif
-                if (strncmp(buf, "COMM", 4) == 0) {
-                    /* COMM chunk */
-                    long chunksize;
-                    long frames;
-                    chunksize = readlong(snd->u.file.file, &read_in);
-                    if (chunksize != 18) {
-                        return fail(snd, "AIFF COMM chunk has bad size\n");
-                    }
-                    snd->format.channels = (long) readshort(snd->u.file.file, &read_in);
-                    frames = readlong(snd->u.file.file, &read_in);
-                    snd->format.bits = readshort(snd->u.file.file, &read_in);
-                    snd->format.mode = SND_MODE_PCM;
-                    snd->format.srate = read_ieee_extended(snd);
-                    snd->u.file.end_offset = frames * snd_bytes_per_frame(snd) +
-                        read_in;
-                    (*flags) = SND_HEAD_MODE | SND_HEAD_BITS | SND_HEAD_SRATE |
-                        SND_HEAD_CHANNELS | SND_HEAD_LEN;
-                } else if (strncmp(buf, "SSND", 4) == 0) {
-                    /* SSND chunk */
-                    ssnd_chunksize = readlong(snd->u.file.file, &read_in);
-                    offset = readlong(snd->u.file.file, &read_in);
-                    blocksize = readlong(snd->u.file.file, &read_in);
-                    /* remember the file offset, there may be more chunks */
-                    ssnd_start = snd_file_lseek(snd->u.file.file, 0, SND_SEEK_CUR);
-                    chunksize = ssnd_chunksize;
-                    if (chunksize & 1) chunksize++;  /* round up to even number */
-                    /* subtract 8, size of offset and blocksize: */
-                    snd_file_lseek(snd->u.file.file, chunksize - 8, SND_SEEK_CUR);
-                    read_in += chunksize - 8;
-                } else if (strncmp(buf, "MARK", 4) == 0) {
-                    long chunksize = readlong(snd->u.file.file, &read_in);
-                    int i;
-                    
-                    nmarkers = readshort(snd->u.file.file, &read_in);
-                    markers = (marker_type) snd_alloc(nmarkers * sizeof(marker_node));
-                    for (i = 0; i < nmarkers; i++) {
-                        unsigned char label[256];
-                        int len;
-                        markers[i].id = readshort(snd->u.file.file, &read_in);
-                        markers[i].position = readlong(snd->u.file.file, &read_in);
-                        if (snd_file_read(snd->u.file.file, (char *) label, 1L) != 1) 
-                            return fail(snd, "problem reading AIFF file\n");
-                        len = label[0] | 1;
-                        if (snd_file_read(snd->u.file.file, (char *) label, (long) len) != len)
-                            return fail(snd, "problam reading AIFF file\n");
-                    }
-                } else if (strncmp(buf, "INST", 4) == 0) {
-                    chunksize = readlong(snd->u.file.file, &read_in);
-                    inst.base_note = readchar(snd->u.file.file, &read_in);
-                    inst.detune = readchar(snd->u.file.file, &read_in);
-                    inst.low_note = readchar(snd->u.file.file, &read_in);
-                    inst.high_note = readchar(snd->u.file.file, &read_in);
-                    inst.low_velocity = readchar(snd->u.file.file, &read_in);
-                    inst.high_velocity = readchar(snd->u.file.file, &read_in);
-                    inst.gain = readshort(snd->u.file.file, &read_in);
-                    readloop(&inst.sustain_loop, snd->u.file.file, &read_in);
-                    readloop(&inst.release_loop, snd->u.file.file, &read_in);
-                    
-                    /* compute some properties from inst structure:
-                     * (marker chunk may not be read in yet, so do that later
-                     */
-                    
-                    /* snd should have a StepToHz function, but it doesn't */
-                    snd->u.file.native_hz = StepToHz(inst.base_note + 
-                                                     inst.detune/100.0);
-                    /* the constant is to convert from db */
-                    snd->u.file.gain = (float) exp(((double) inst.gain) * 0.11512925);
-                    snd->u.file.low_hz = StepToHz(inst.low_note);
-                    snd->u.file.high_hz = StepToHz(inst.high_note);
-                    snd->u.file.low_velocity = inst.low_velocity;
-                    snd->u.file.high_velocity = inst.high_velocity;
-                    inst_read = TRUE;
-                } else {
-                    long chunksize = readlong(snd->u.file.file, &read_in);
-                    if (chunksize & 1) chunksize ++;  /* round up to even number */
-                    read_in += chunksize;
-                    /* skip the chunk */
-                    snd_file_lseek(snd->u.file.file, chunksize, SND_SEEK_CUR);
-                }
-            }
-
-            snd_file_lseek(snd->u.file.file, ssnd_start, SND_SEEK_SET);
-            /* now we're positioned back at SSND chunk samples */
-            if (blocksize != 0) {
-                return fail(snd, "AIFF header specifies nonzero blocksize.");
-            }
-            if (markers && inst_read) {
-                convert_loop_data(&snd->u.file.sustain_loop, &inst.sustain_loop, 
-                                  markers, nmarkers);
-                convert_loop_data(&snd->u.file.release_loop, &inst.release_loop, 
-                                  markers, nmarkers);
-                if (snd->u.file.native_hz <= 0.0) {
-                    return fail(snd, "Bad base pitch + detune in AIFF file");
-                }
-                if (snd->u.file.sustain_loop.mode < 0 ||
-                    snd->u.file.sustain_loop.mode > 3) {
-                    return fail(snd, "Bad sustain loop mode in AIFF file");
-                }
-                if (snd->u.file.sustain_loop.mode && 
-                    (snd->u.file.sustain_loop.begin < 0 ||
-                     snd->u.file.sustain_loop.end <= 
-                     snd->u.file.sustain_loop.begin)) {
-                    return fail(snd, "Bad sustain loop in AIFF file");
-                }
-                if (snd->u.file.release_loop.mode < 0 ||
-                    snd->u.file.release_loop.mode > 3) {
-                    return fail(snd, "Bad release loop mode in AIFF file");
-                }
-                if (snd->u.file.release_loop.mode && 
-                    (snd->u.file.release_loop.begin < 0 ||
-                     snd->u.file.release_loop.end <= 
-                     snd->u.file.release_loop.begin)) {
-                    return fail(snd, "Bad release loop in AIFF file");
-                }
-                snd->u.file.loop_info = TRUE;
-            } 
-            if (markers) snd_free(markers);
-            /* byte_offset is where the file pointer ends up after SND_SEEK_CUR */
-            snd->u.file.byte_offset = snd_file_lseek(snd->u.file.file, offset, SND_SEEK_CUR);
-            snd->u.file.current_offset = snd->u.file.byte_offset;
-            snd->u.file.end_offset = snd->u.file.byte_offset + ssnd_chunksize - 8;
-        }
-    } else if (magic == WAVE_SND_MAGIC) {
-        long size;
-        char buf[4];
-        short format;
-        
-        snd->u.file.header = SND_HEAD_WAVE;
-        /* RIFF WAVE uses little-endian format -- be careful! */
-        size = readrevlong(snd->u.file.file, &read_in);
-        if (snd_file_read(snd->u.file.file, buf,  4) != 4 || strncmp(buf, "WAVE", 4) != 0) {
-            return fail(snd, 
-                        "RIFF file does not specify 'WAVE' as type\n");
-        }
-        
-        /* Skip to the next "fmt " or end of file */
-        while (1) {
-            long siz;
-            if (snd_file_read(snd->u.file.file, buf, 4) != 4) {
-                return fail(snd, "WAVE file missing fmt spec");
-            }
-            if (strncmp("fmt ", buf, 4) == 0) break;
-            siz = readrevlong(snd->u.file.file, &read_in);
-            while (siz > 0) {
-                snd_file_read(snd->u.file.file, buf, 1);
-                siz--;
-            }
-        }
-        size = readrevlong(snd->u.file.file, &read_in);
-        format = readrevshort(snd->u.file.file, &read_in);
-        switch (format) {
-          case WAVE_FORMAT_UNKNOWN:
-            return fail(snd, "file in Microsoft Official Unknown format");
-          case WAVE_FORMAT_PCM:
-            break;    
-          case WAVE_FORMAT_ADPCM:
-            return fail(snd, "file in ADPCM format");
-          case WAVE_FORMAT_ALAW:
-            return fail(snd, "file in ALAW format");
-          case WAVE_FORMAT_MULAW:
-            return fail(snd, "file in ULAW format");
-          case WAVE_FORMAT_OKI_ADPCM:
-            return fail(snd, "file in OKI ADPCM format");
-          case WAVE_FORMAT_DIGISTD:
-            return fail(snd, "file in Digistd format");
-          case WAVE_FORMAT_DIGIFIX:
-            return fail(snd, "file in Digifix format");
-          case IBM_FORMAT_MULAW:
-            return fail(snd, "file in IBM U-law format");
-          case IBM_FORMAT_ALAW:
-            return fail(snd, "file in IBM A-law format");
-          case IBM_FORMAT_ADPCM:
-            return fail(snd, "file in IBM ADPCM format");
-          default:
-            return fail(snd, "file in unknown format");
-        }       
-        snd->format.channels = readrevshort(snd->u.file.file, &read_in);
-        snd->format.srate = (double) readrevlong(snd->u.file.file, &read_in);
-        readrevlong(snd->u.file.file, &read_in);  /* Average bytes/second */
-        readrevshort(snd->u.file.file, &read_in); /* Block align */
-        snd->format.bits = readrevshort(snd->u.file.file, &read_in);
-        snd->format.mode = SND_MODE_PCM;
-        if (snd->format.bits == 8) snd->format.mode = SND_MODE_UPCM;    /* unsigned */
-        *flags = SND_HEAD_MODE | SND_HEAD_BITS | SND_HEAD_SRATE |
-            SND_HEAD_CHANNELS | SND_HEAD_LEN;
-        /* size is size of "fmt " section; we've read 16 bytes, so
-         * advance file pointer over any remaining bytes
-         */
-        snd->u.file.byte_offset = 
-            snd_file_lseek(snd->u.file.file, size - 16, SND_SEEK_CUR);
-        /* skip over any other forms until you find "data" */
-        while (1) {
-            long n = snd_file_read(snd->u.file.file, buf, 4);
-            if (n != 4) {
-                return fail(snd, "missing data portion");
-            }
-            if (strncmp("data", buf, 4) == 0) break;
-            n = readrevlong(snd->u.file.file, &read_in);    /* length of form */
-            snd->u.file.byte_offset = 
-                snd_file_lseek(snd->u.file.file, n, SND_SEEK_CUR);
-        }
-        snd->u.file.byte_offset += 8; /* "data" and length use 8 bytes */
-        snd->u.file.current_offset = snd->u.file.byte_offset;
-        snd->u.file.end_offset = snd->u.file.byte_offset + 
-            readrevlong(snd->u.file.file, &read_in);
-    } else {
-        snd->u.file.header = SND_HEAD_NONE;
-        (*flags) = 0;
-        resetfile(snd->u.file.file);
-        read_in = 0;
-    }
-    
-    /* If not already determined from file header, assume remainder of file
-       is sound data */
-    if (!(*flags & SND_HEAD_LEN)) {
-        snd->u.file.end_offset = snd->u.file.byte_offset = read_in;
-        snd->u.file.current_offset = snd->u.file.byte_offset;
-        snd->u.file.end_offset = len;
-        *flags |= SND_HEAD_LEN;
-    }
-    return SND_SUCCESS;
-}
-
-
-/* write_zeros -- add zeros to end of file */
-/**/
-void write_zeros(int fout, long n)
-{
-    long zero = 0;
-    while (n > 0) {
-        /* don't put min() in the arg list of write on an RS6K */
-        /* there seems to be a compiler bug */
-        long len = min(n, sizeof(long));
-        snd_file_write(fout, (char *) &zero, len);
-        n -= sizeof(long);
-    }
-}
-
-
-/* write_ircam_start -- write an IRCAM header at current file position */
-/*
- * length is the total length of the header to be written; this is normally
- * SIZEOF_IRCAM_HEADER, but in the case of the hybrid CMIX headers, length
- * will be shorter to accommodate the NeXT header prefix
- */
-void write_ircam_start(snd_type snd, long length)
-{
-    short encoding;
-    
-    writelong(snd->u.file.file, IRCAM_SND_MAGIC);
-    writefloat(snd->u.file.file, (float) snd->format.srate);
-    writelong(snd->u.file.file, snd->format.channels);
-    writelong(snd->u.file.file, snd->format.bits >> 3);
-    /* now write the "CODE" section */
-    writeshort(snd->u.file.file, IRCAM_SND_AUDIOENCODE);
-    writeshort(snd->u.file.file, 3 * sizeof(short));    /* size of this record */
-    if (snd->format.bits == 8) {
-        encoding = IRCAM_SND_CHAR;
-        if (snd->format.mode == SND_MODE_ULAW) encoding = IRCAM_SND_ULAW;
-        if (snd->format.mode == SND_MODE_ALAW) {
-            snd_warn("ALAW not implemented, writing 8-bit PCM\n");
-        }
-    } else if (snd->format.bits == 16) {
-        encoding = IRCAM_SND_SHORT;
-    } else if (snd->format.bits == 32) {
-        encoding = IRCAM_SND_FLOAT;
-        if (snd->format.mode == SND_MODE_PCM) encoding = IRCAM_SND_LONG;
-    }
-    writeshort(snd->u.file.file, encoding);
-    
-    /* end the "CODE" section */
-    writeshort(snd->u.file.file, IRCAM_SND_END);
-    writeshort(snd->u.file.file, 2 * sizeof(short));
-    
-    /* write filler */
-    length -= ( 16 /* head */ + 6 /* AudioEncode */ + 4 /* End */ );
-    
-    write_zeros(snd->u.file.file, length);
-}
-
-
-/* write_next_start -- write a NeXT header */
-/*
- * Note: uses length for Length field, but does not fill with zeros.
- * Instead, this routine writes only the NeXT 24 byte header.
- */
-void write_next_start(snd_type snd, long length)
-{
-    short encoding;
-    
-    writelong(snd->u.file.file, NEXT_SND_MAGIC);
-    /* header size matches cmix's bsd format */
-    writelong(snd->u.file.file, length);
-    writelong(snd->u.file.file, 0); /* data size, 0 -> unspecified */
-    if (snd->format.bits == 8) {
-        encoding = NEXT_SND_FORMAT_LINEAR_8;
-        if (snd->format.mode == SND_MODE_ULAW)
-            encoding = NEXT_SND_FORMAT_ULAW_8;
-        if (snd->format.mode == SND_MODE_ALAW) {
-            snd_warn("ALAW not implemented, writing 8-bit PCM\n");
-        }
-    } else if (snd->format.bits == 16) {
-        encoding = NEXT_SND_FORMAT_LINEAR_16;
-    } else if (snd->format.bits == 32) {
-        encoding = NEXT_SND_FORMAT_FLOAT;
-        if (snd->format.mode == SND_MODE_PCM)
-            encoding = NEXT_SND_FORMAT_LINEAR_32;
-    }
-    writelong(snd->u.file.file, encoding);
-    writelong(snd->u.file.file, (long) (snd->format.srate + 0.5));
-    writelong(snd->u.file.file, snd->format.channels);
-}
-
-
-/* snd_write_header -- write header, position file for sample data */
-/**/
-void snd_write_header(snd_type snd, long *flags)
-{
-    long nframes = 0x7f000000;
-    long bytes_per_frame = snd_bytes_per_frame(snd);
-    
-    /* end_offset will keep track of how much data written so far */
-    snd->u.file.end_offset = 0;
-    
-    switch (snd->u.file.header) {
-      case SND_HEAD_NONE:
-        break;
-      case SND_HEAD_AIFF: {
-        int hsize =
-            12 /* bytes at beginning */ + 
-            8 /*COMM hdr*/ + 18 /*COMM chunk*/ +
-            8 /*SSND hdr*/ + 8 /*SSND chunk*/;
-        if (snd->format.bits != 8 && snd->format.bits != 16) {
-            char msg[64];
-            sprintf(msg, "Warning: using 16 bits per sample instead of %d\n",
-                         snd->format.bits);
-            snd_warn(msg);
-            snd->format.bits = 16;
-            bytes_per_frame = snd_bytes_per_frame(snd);
-        }
-        snd_file_write(snd->u.file.file, "FORM", 4); /* IFF header */
-        /* (bogus) file size: */
-        writelong(snd->u.file.file, 
-                  hsize + nframes * bytes_per_frame);
-        snd_file_write(snd->u.file.file, "AIFF", 4); /* File type */
-        
-        /* COMM chunk -- describes encoding (and #frames) */
-        snd_file_write(snd->u.file.file, "COMM", 4);
-        writelong(snd->u.file.file, 18); /* COMM chunk size */
-        writeshort(snd->u.file.file, (short) snd->format.channels); /* nchannels */
-        writelong(snd->u.file.file, nframes); /* number of frames */
-        writeshort(snd->u.file.file, (short) snd->format.bits); /* sample width, in bits */
-        write_ieee_extended(snd->u.file.file, snd->format.srate);
-        /* SSND chunk -- describes data */
-        snd_file_write(snd->u.file.file, "SSND", 4);
-        writelong(snd->u.file.file, 
-                  8 + nframes * bytes_per_frame); /* chunk size */
-        writelong(snd->u.file.file, 0); /* offset */
-        writelong(snd->u.file.file, 0); /* block size */
-        snd->u.file.byte_offset = hsize;
-        /*      printf("snd_write_header AIFF, byte_offset = %ld\n",
-                snd_lseek(snd->u.file.file, (off_t) 0, SND_SEEK_CUR)); */
-        break; }
-      case SND_HEAD_IRCAM: 
-        write_ircam_start(snd, SIZEOF_IRCAM_HEADER);
-        snd->u.file.byte_offset = SIZEOF_IRCAM_HEADER;
-        break;
-      case SND_HEAD_NEXT:
-        /* for compatibility with CMIX, we will always write an IRCAM
-         * header after the NeXT header, and use 1024 bytes of header.
-         */
-        write_next_start(snd, SIZEOF_IRCAM_HEADER);
-        write_ircam_start(snd, SIZEOF_IRCAM_HEADER - 24);
-        snd->u.file.byte_offset = SIZEOF_IRCAM_HEADER;
-        break;
-      case SND_HEAD_WAVE:
-        snd_file_write(snd->u.file.file, "RIFF", 4);
-        writerevlong(snd->u.file.file, 12+18+8 + nframes * bytes_per_frame);
-        snd_file_write(snd->u.file.file, "WAVE", 4);
-        snd_file_write(snd->u.file.file, "fmt ", 4);
-        writerevlong(snd->u.file.file, 18L);
-        switch (snd->format.mode) /* Format type */
-        {
-            case SND_MODE_ADPCM:
-                writerevshort(snd->u.file.file, 2);
-                break;
-            case SND_MODE_PCM:
-            case SND_MODE_UPCM:
-                writerevshort(snd->u.file.file, 1);
-                break;
-            case SND_MODE_ULAW:
-                writerevshort(snd->u.file.file, 7);
-                break;
-            case SND_MODE_ALAW:
-                writerevshort(snd->u.file.file, 6);
-                break;
-            case SND_MODE_UNKNOWN:
-            case SND_MODE_FLOAT:
-            default:
-                writerevshort(snd->u.file.file, 0);
-                break;
-        }
-        writerevshort(snd->u.file.file, (short) snd->format.channels); /* Number of channels */
-        writerevlong(snd->u.file.file, (long) (snd->format.srate + 0.5)); /* Samples per second */
-        writerevlong(snd->u.file.file,  (((long) snd->format.srate) * bytes_per_frame)); /* Bytes per second*/
-        writerevshort(snd->u.file.file, (short) bytes_per_frame); /* Block alignment */
-        writerevshort(snd->u.file.file, (short) snd->format.bits); /* Bits per sample */
-        writerevshort(snd->u.file.file, (short) 0); /* Size of needed extra data */
-        snd_file_write(snd->u.file.file, "data", 4);
-        writerevlong(snd->u.file.file, (long) (nframes * bytes_per_frame));
-        snd->u.file.byte_offset = 46;
-        break;
-      default:
-        break;
-    }
-    snd->u.file.end_offset = snd->u.file.byte_offset;
-}
-
-
-void write_sndheader_finish(snd_type snd)
-{
-    long n;
-    switch (snd->u.file.header) {
-      case SND_HEAD_NONE:
-        break;
-      case SND_HEAD_AIFF: {
-        int hsize =
-            8 /*COMM hdr*/ + 18 /*COMM chunk*/ +
-            8 /*SSND hdr*/ + 12 /*SSND chunk*/;
-        int datasize = snd->u.file.end_offset - hsize - 8;
-        
-        /* get the current position = file size */
-        n = snd_file_lseek(snd->u.file.file, 0, SND_SEEK_CUR);
-        if (n != snd->u.file.end_offset) {
-            char str[80];
-            sprintf(str,
-                    "Actual file size %ld does not match predicted size %ld\n",
-                    n, snd->u.file.end_offset);
-            fail(snd, str);
-        }
-        /* write filesize in the header */
-        snd_file_lseek(snd->u.file.file, 4, SND_SEEK_SET);
-        writelong(snd->u.file.file, n - 8 /* 'FORM'+size do not count */);
-        
-        /* write number of frames in COMM chunk */
-        snd_file_lseek(snd->u.file.file, (4 /* 'AIFF' */ + 4 /* 'COMM' */ + 
-                                         4 /* size */ + 2 /* channels */), 
-              SND_SEEK_CUR);
-        writelong(snd->u.file.file, 
-                  (n - (hsize + 8)) / snd_bytes_per_frame(snd));
-        
-        /* write size in SSND chunk */
-        snd_file_lseek(snd->u.file.file, (2 /* snd->format.bits */ + 
-                                         10 /* sr */ + 4 /* 'SSND' */), 
-              SND_SEEK_CUR);
-        writelong(snd->u.file.file, 8 + datasize); /* chunk size */
-        break; }
-      case SND_HEAD_IRCAM:
-        break;
-      case SND_HEAD_NEXT:
-        break;
-      case SND_HEAD_WAVE:
-        /* get the current position = file size */
-        n = snd_file_lseek(snd->u.file.file, 0, SND_SEEK_CUR);
-        /* back to the top */
-        snd_file_lseek(snd->u.file.file, 4, SND_SEEK_SET);
-        writerevlong(snd->u.file.file, n - 8);  /* file size - ['RIFF', len] */
-        snd_file_lseek(snd->u.file.file, 42, SND_SEEK_SET);
-        writerevlong(snd->u.file.file, n - 46); /* data size */
-        break;
-      default:
-        break;
-    }
-}
-
-
-double read_ieee_extended(snd_type snd)
-{
-    unsigned char buf[10];
-    if (snd_file_read(snd->u.file.file, (char *) buf, 10L) != 10)
-        fail(snd, "EOF while reading IEEE extended number");
-    return ConvertFromIeeeExtended(buf);
-}
-
-void write_ieee_extended(int file, double x)
-{
-    char buf[10];
-    ConvertToIeeeExtended(x, buf);
-    /*
-      report("converted %g to %o %o %o %o %o %o %o %o %o %o",
-      x,
-      buf[0], buf[1], buf[2], buf[3], buf[4],
-      buf[5], buf[6], buf[7], buf[8], buf[9]);
-      */
-    snd_file_write(file, buf, 10);
-}
-
-
-
-
-char *mode_string[] = { "ADPCM", "PCM", "ULAW", "ALAW", "Float", "UPCM", "Unknown" };
-
-char *mode_to_string(long mode)
-{
-    if (mode < 0 || mode >= SND_NUM_MODES) return "InvalidData";
-    else return mode_string[mode];
-}
-
diff --git a/lib-src/libnyquist/snd/sndheader.h b/lib-src/libnyquist/snd/sndheader.h
deleted file mode 100644
index a08c638..0000000
--- a/lib-src/libnyquist/snd/sndheader.h
+++ /dev/null
@@ -1,5 +0,0 @@
-int snd_open_file(snd_type snd, long *flags);
-
-
-void write_sndheader_finish(snd_type snd);
-
diff --git a/lib-src/libnyquist/snd/sndio.c b/lib-src/libnyquist/snd/sndio.c
deleted file mode 100644
index 9cacd53..0000000
--- a/lib-src/libnyquist/snd/sndio.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* sndio.c -- read/write sound file data */
-
-/* CHANGELOG
- *
- * 29Jun95  RBD  ULAW fixed problems with signed chars
- */
-
-/* Standard includes */
-#include "stdio.h"
-#include "memory.h"
-
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "snd.h"
-#ifdef LINUX
-#include "sys/file.h"
-#else
-/* #include <unistd.h> */
-#ifdef WIN32
-#include <sys/stat.h>
-#include "io.h"
-#elif defined(__FreeBSD__)
-#include <sys/stat.h>
-#else
-#endif
-#endif
-//#include "audio.h"
-
-/* was "#ifndef WIN32" */
-#if !defined(WIN32) && !defined(IRIX) && !defined(SGI)
-void _swab(char *to, char *from, long length)
-{
-    short *to16 = (short *) to;
-    short *from16 = (short *) from;
-    int i = 1;
-    while (i < length) {
-        short data = *from16++;
-        *to16++ = (data << 8) | ((data >> 8) & 0xFF);
-        i += 2;
-    }
-}
-#endif
-
-
-
-
diff --git a/lib-src/libnyquist/snd/sndlinux.c b/lib-src/libnyquist/snd/sndlinux.c
deleted file mode 100644
index 7cb4731..0000000
--- a/lib-src/libnyquist/snd/sndlinux.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <fcntl.h>
-#include <stdio.h>
-#include <sys/stat.h>
-
-#include "snd.h"
-#include "sndfileio.h"
-
-#define PERMISSION 0644
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// snd_fail moved to sndfaillinux.c -RBD
-
-int snd_file_open(char *fname, int mode)
-{
-    int file;
-    if (mode == SND_RDONLY)
-      mode = O_RDONLY;
-    else
-      mode = O_RDWR;
-
-    file = open(fname, mode);
-    return file;
-}
-
-
-int snd_file_creat(char *fname)
-{
-    int file = creat(fname, PERMISSION);
-    return file;
-}
-
-
-long snd_file_len(int file)
-{
-    long len;
-    struct stat statbuf;
-
-    fstat(file ,&statbuf);
-    len = (long) statbuf.st_size;  /* get length of file */
-    return len;
-}
-
-
-long snd_file_read(int fp, char *data, long len)
-{
-    return read(fp, data, len);
-}
-
-
-long snd_file_write(int fp, char *data, long len)
-{
-    return write(fp, data, len);
-}
-
-
-int snd_file_close(int fp)
-{
-    return close(fp);
-}
-
-
-int snd_file_lseek(int file, long offset, int param)
-{
-    if (param == SND_SEEK_CUR) param = SEEK_CUR;
-    else if (param == SND_SEEK_SET) param = SEEK_SET;
-    else param = SEEK_END;
-    return lseek(file, offset, param);
-}
-
-
-void *snd_alloc(size_t s) { return malloc(s); }
-
-
-void snd_free(void *a) { free(a); }
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/lib-src/libnyquist/snd/sndlinux.h b/lib-src/libnyquist/snd/sndlinux.h
deleted file mode 100644
index bfe428d..0000000
--- a/lib-src/libnyquist/snd/sndlinux.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* sndlinux.h -- system-specific definitions */
-
-#ifndef LINUX
-#define LINUX
-#endif
-
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflicts if already defined: */
-#ifndef max
-
-/* min(n, sizeof(long)) doesn't work on RS6K without this: 
- * (I never tracked down what min() was called and what was wrong.)
- */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
diff --git a/lib-src/libnyquist/snd/sndmac.c b/lib-src/libnyquist/snd/sndmac.c
deleted file mode 100644
index 19e68c6..0000000
--- a/lib-src/libnyquist/snd/sndmac.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <stdio.h>
-
-#include "snd.h"
-#include "sndfileio.h"
-
-#ifdef __WXMAC__
-#include "wx/filefn.h"
-#endif
-
-
-int snd_file_open(char *fname, int mode)
-{
-#ifdef __WXMAC__
-  return (int)fopen(wxUnix2MacFilename( fname ), mode==SND_RDONLY? "rb" : "r+b");
-#else
-  return (int)fopen(fname, mode==SND_RDONLY? "rb" : "r+b");
-#endif
-}
-
-
-int snd_file_creat(char *fname)
-{
-#ifdef __WXMAC__
-  return (int)fopen(wxUnix2MacFilename( fname ), "wb");
-#else
-  return (int)fopen(fname, "wb");
-#endif
-}
-
-
-long snd_file_len(int file)
-{
-  FILE *fp = (FILE *)file;
-  
-  long save = ftell(fp);
-  long len;
-  fseek(fp, 0, SEEK_END);
-  len = ftell(fp);
-  fseek(fp, save, SEEK_SET);
-  
-  return len;
-}
-
-
-long snd_file_read(int fp, char *data, long len)
-{
-    return fread(data, 1, len, (FILE *)fp);
-}
-
-
-long snd_file_write(int fp, char *data, long len)
-{
-    return fwrite(data, 1, len, (FILE *)fp);
-}
-
-
-int snd_file_close(int fp)
-{
-    return fclose((FILE *)fp);
-}
-
-int snd_file_lseek(int file, long offset, int param)
-{
-    if (param == SND_SEEK_CUR) param = SEEK_CUR;
-    else if (param == SND_SEEK_SET) param = SEEK_SET;
-    else param = SEEK_END;
-    
-    fseek((FILE *)file, offset, param);
-    
-    return ftell((FILE *)file);
-}
-
-void *snd_alloc(size_t s) { return malloc(s); }
-
-void snd_free(void *a) { free(a); }
diff --git a/lib-src/libnyquist/snd/sndmac.h b/lib-src/libnyquist/snd/sndmac.h
deleted file mode 100644
index 12ddc7f..0000000
--- a/lib-src/libnyquist/snd/sndmac.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* sndmac.h -- system-specific definitions */
-
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflicts if already defined: */
-
-#ifndef max
-
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
-
-#ifndef ntohl
-#define ntohl(x) (x)
-#endif
-
-#ifndef ntohs
-#define ntohs(x) (x)
-#endif
-
-#ifndef htonl
-#define htonl(x) (x)
-#endif
-
-#ifndef htons
-#define htons(x) (x)
-#endif
diff --git a/lib-src/libnyquist/snd/sndnt.h b/lib-src/libnyquist/snd/sndnt.h
deleted file mode 100644
index 510b14a..0000000
--- a/lib-src/libnyquist/snd/sndnt.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* sndsystem.h -- system-specific definitions */
-/* 
-  NOTES: you need a different sndswitches.h for each implementation, so
-this is a separate file.  Things you need to define here:
-
-1) Either UNIX, WIN32, or MACINTOSH should be defined.
-
-2) Either the following function declaration:
-    void snd_fail(char *msg);
-or
-    #define snd_fail(msg) ...
-
-3) typedef FASTFLOAT to be either a double or a float, whichever
-computes faster (PowerPCs are faster at double math than float math)
-
-4) typedef MEMFLOAT to be how you would store a sample in memory
-(this should normally be float)
-
-5) min() must be defined (either a macro or a function)
-
-6) max() must be defined (either a macro or a function)
-
-*/
-
-#define WIN32 1
-
-void snd_fail(char *msg);
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflict with Windows */
-#ifndef max
-
-/* min(n, sizeof(long)) doesn't work on RS6K without this: 
- * (I never tracked down what min() was called and what was wrong.)
- */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
-
-void *snd_alloc(size_t s);
-void snd_free(void *a);
diff --git a/lib-src/libnyquist/snd/sndrs6k.h b/lib-src/libnyquist/snd/sndrs6k.h
deleted file mode 100644
index 660704b..0000000
--- a/lib-src/libnyquist/snd/sndrs6k.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* sndsystem.h -- system-specific definitions */
-/* 
-  NOTES: you need a different sndswitches.h for each implementation, so
-this is a separate file.  Things you need to define here:
-
-1) Either UNIX, WIN32, or MACINTOSH should be defined.
-
-2) Either the following function declaration:
-    void snd_fail(char *msg);
-or
-    #define snd_fail(msg) ...
-
-3) typedef FASTFLOAT to be either a double or a float, whichever
-computes faster (PowerPCs are faster at double math than float math)
-
-4) typedef MEMFLOAT to be how you would store a sample in memory
-(this should normally be float)
-
-5) min() must be defined (either a macro or a function)
-
-6) max() must be defined (either a macro or a function)
-
-*/
-
-#define UNIX 1
-
-void snd_fail(char *msg);
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflict with Windows */
-#ifndef max
-
-/* min(n, sizeof(long)) doesn't work on RS6K without this: 
- * (I never tracked down what min() was called and what was wrong.)
- */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
diff --git a/lib-src/libnyquist/snd/sndsystem.c b/lib-src/libnyquist/snd/sndsystem.c
deleted file mode 100644
index 18113e3..0000000
--- a/lib-src/libnyquist/snd/sndsystem.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* sndsystem.c
- *
- * Roger Dannenberg
- * 21 Jun 1997
- *
- */
-
-#include "stdlib.h"
-#include "stdio.h"
-
-#include "snd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __WX__
-void snd_fail(char *msg)
-{
-    printf("ERROR: %s\n", msg);
-}
-#endif
-
-void *snd_alloc(size_t s)
-{
-    void *res;
-    /* printf("snd_alloc of %ld ", s); */
-    res = malloc(s);
-    return res;
-}
-
-
-void snd_free(void *a)
-{
-    /* printf("snd_free of %lx\n", a);*/
-    free(a);
-}
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
diff --git a/lib-src/libnyquist/snd/sndsystem.h b/lib-src/libnyquist/snd/sndsystem.h
deleted file mode 100644
index 835d0d7..0000000
--- a/lib-src/libnyquist/snd/sndsystem.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* sndsystem.h -- system-specific definitions */
-/* 
-  NOTES: you need a different sndswitches.h for each implementation, so
-this is a separate file.  Things you need to define here:
-
-1) Either UNIX, WIN32, or MACINTOSH should be defined.
-
-2) Either the following function declaration:
-    void snd_fail(char *msg);
-or
-    #define snd_fail(msg) ...
-
-3) typedef FASTFLOAT to be either a double or a float, whichever
-computes faster (PowerPCs are faster at double math than float math)
-
-4) typedef MEMFLOAT to be how you would store a sample in memory
-(this should normally be float)
-
-5) min() must be defined (either a macro or a function)
-
-6) max() must be defined (either a macro or a function)
-
-*/
-
-
-#ifdef __WXMAC__
-    #ifndef __WX__
-    #define __WX__
-    #endif
-#endif
-#ifdef __WXMSW__
-    #ifndef __WX__
-    #define __WX__
-    #endif
-#endif
-#ifdef __WXGTK__
-    #ifndef __WX__
-    #define __WX__
-    #endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void snd_fail(char *msg);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#define _snd_fail(X) snd_fail(X)
-#define _snd_free(X) snd_free(X)
-#define _snd_alloc(X) snd_alloc(X)
-
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflict with Windows */
-#ifndef max
-/* min(n, sizeof(long)) doesn't work on RS6K without this: 
- * (I never tracked down what min() was called and what was wrong.)
- */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
diff --git a/lib-src/libnyquist/snd/sndsystemmac.h b/lib-src/libnyquist/snd/sndsystemmac.h
deleted file mode 100644
index 1e54d89..0000000
--- a/lib-src/libnyquist/snd/sndsystemmac.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "sndmac.h"
diff --git a/lib-src/libnyquist/snd/sndwin32.c b/lib-src/libnyquist/snd/sndwin32.c
deleted file mode 100644
index f629b5f..0000000
--- a/lib-src/libnyquist/snd/sndwin32.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <io.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <sys/stat.h>
-
-#include "snd.h"
-#include "sndfileio.h"
-
-#define PERMISSION 0x0644
-
-
-int snd_file_open(char *fname, int mode)
-{
-    int file;
-    if (mode == SND_RDONLY) mode = _O_RDONLY;
-    else mode = _O_RDWR;
-    file = _open(fname, mode | _O_BINARY);
-    return file;
-}
-
-
-int snd_file_creat(char *fname)
-{
-    int file = _open(fname, _O_TRUNC | _O_WRONLY | 
-                            _O_CREAT | _O_BINARY, _S_IREAD | _S_IWRITE);
-    return file;
-}
-
-
-long snd_file_len(int file)
-{
-    long len;
-    struct stat statbuf;
-
-    fstat(file ,&statbuf);
-    len = (long) statbuf.st_size;  /* get length of file */
-    return len;
-}
-
-
-long snd_file_read(int fp, char *data, long len)
-{
-    return read(fp, data, len);
-}
-
-
-long snd_file_write(int fp, char *data, long len)
-{
-    return write(fp, data, len);
-}
-
-
-int snd_file_close(int fp)
-{
-    return close(fp);
-}
-
-
-int snd_file_lseek(int file, long offset, int param)
-{
-    if (param == SND_SEEK_CUR) param = SEEK_CUR;
-    else if (param == SND_SEEK_SET) param = SEEK_SET;
-    else param = SEEK_END;
-    return _lseek(file, offset, param);
-}
-
-
-void *snd_alloc(size_t s) { return malloc(s); }
-
-
-void snd_free(void *a) { free(a); }
-
diff --git a/lib-src/libnyquist/snd/sndwin32.h b/lib-src/libnyquist/snd/sndwin32.h
deleted file mode 100644
index f1bb1c3..0000000
--- a/lib-src/libnyquist/snd/sndwin32.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* sndwin32.h -- system-specific definitions */
-
-typedef double FASTFLOAT;
-typedef float MEMFLOAT;
-
-/* avoid conflicts if already defined: */
-#ifndef max
-
-/* min(n, sizeof(long)) doesn't work on RS6K without this: 
- * (I never tracked down what min() was called and what was wrong.)
- */
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) > (b) ? (a) : (b))
-
-#endif
-
diff --git a/lib-src/libnyquist/snd/sndwrite.h b/lib-src/libnyquist/snd/sndwrite.h
deleted file mode 100644
index 598aca3..0000000
--- a/lib-src/libnyquist/snd/sndwrite.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* sndwrite.h -- header to write sounds to files */
-
-double sound_save(LVAL snd_expr, long n,
-                  unsigned char *filename, long format,
-                  long mode, long bits, double *sr, long *nchans,
-                  double *duration);
-/* LISP: (SND-SAVE ANY FIXNUM STRING FIXNUM FIXNUM FIXNUM ANYNUM^ FIXNUM^ ANYNUM^) */
-
-double sound_overwrite(LVAL snd_expr, long n,
-                       unsigned char *filename, long byte_offset,
-                       long mode, long bits, double sr, long nchans,
-                       double *duration);
-/* LISP: (SND-OVERWRITE ANY FIXNUM STRING FIXNUM FIXNUM FIXNUM ANYNUM FIXNUM ANYNUM^) */
-
-
diff --git a/lib-src/libnyquist/sys/switches.h b/lib-src/libnyquist/sys/switches.h
deleted file mode 100644
index 0481413..0000000
--- a/lib-src/libnyquist/sys/switches.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* see sys/switches.h.template */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  major reorganization of conditional compilation in Nyquist
- */
-
-/*
- *
- * This is the Unix version of switches.h - in libnyquist, see the
- * win and mac subdirectories for the other versions.
- *
- */
-
-#define HAS_STDLIB_H 1
-#define HAS_SYS_TYPES_H 1
-#define HAS_SYS_STAT_H 1
-#undef HAS_STAT_H
-#undef HAS_MALLOC_H
-
-#define HAS_GETTIMEOFDAY 1
-
-#define READLINE 1
-
-#if i386
-#define XL_LITTLE_ENDIAN 1
-#elif __i386__
-#define XL_LITTLE_ENDIAN 1
-#else
-#define XL_BIG_ENDIAN 1
-#endif
-
-#undef USE_RAND
-#define USE_RANDOM 1
-
-/* define this to be printf, or define your own fn of the form
-     void nyquist_printf(char *format, ...);
-   (for a GUI)
-*/
-#define nyquist_printf printf
-
-#if (__APPLE__ && __GNUC__) || defined(__FreeBSD__)
-#define NEED_ULONG 1
-#else
-#include <sys/types.h>
-#undef NEED_ULONG
-#endif
-
-#undef NEED_USHORT
-#define NEED_BYTE 1
-
-#define NEED_ROUND 1
-
-#undef NEED_DEFINE_MALLOC
-
-/* explicitly choose a platform */
-#define UNIX 1
-#undef WINDOWS
-#undef MICROSOFT
-#undef DOS
-#undef MACINTOSH
-
-#define BUFFERED_SYNCHRONOUS_INPUT 1
-#define SPACE_FOR_PLAY 10000
-#define MAX_CHANNELS 16
-
-/* this will enable code to read midi files, etc. */
-#define CMTSTUFF 1
-
-/* NYQUIST tells some CMT code that we're really in
- * XLISP and NYQUIST
- */
-#define NYQUIST 1
-
-#include "swlogic.h"
-
diff --git a/lib-src/libnyquist/sys/switches.h.template b/lib-src/libnyquist/sys/switches.h.template
deleted file mode 100644
index 9015a9f..0000000
--- a/lib-src/libnyquist/sys/switches.h.template
+++ /dev/null
@@ -1,53 +0,0 @@
-/* switches.h template file
-*/
-
-#undef HAS_STDLIB_H
-#undef HAS_SYS_TYPES_H
-#undef HAS_SYS_STAT_H
-#undef HAS_STAT_H
-#undef HAS_MALLOC_H
-
-#undef HAS_GETTIMEOFDAY
-
-#undef READLINE
-
-#undef XL_BIG_ENDIAN
-#undef XL_LITTLE_ENDIAN
-
-#undef USE_RAND
-#undef USE_RANDOM
-
-/* define this to be printf, or define your own fn of the form
-     void nyquist_printf(char *format, ...);
-   (for a GUI)
-*/
-#undef nyquist_printf
-
-#undef NEED_ULONG
-#undef NEED_USHORT
-#undef NEED_BYTE
-
-#undef NEED_DEFINE_MALLOC
-
-#undef NEED_ROUND
-
-/* explicitly choose a platform */
-#undef UNIX
-#undef WINDOWS
-#undef MICROSOFT
-#undef DOS
-#undef MACINTOSH
-
-#undef BUFFERED_SYNCHRONOUS_INPUT
-#define SPACE_FOR_PLAY 10000
-#define MAX_CHANNELS 16
-
-/* this will enable code to read midi files, etc. */
-#define CMTSTUFF
-
-/* NYQUIST tells some CMT code that we're really in
- * XLISP and NYQUIST
- */
-#define NYQUIST
-
-#include "swlogic.h"
diff --git a/lib-src/libnyquist/sys/term.c b/lib-src/libnyquist/sys/term.c
deleted file mode 100644
index 80985a5..0000000
--- a/lib-src/libnyquist/sys/term.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* term.c -- Routines for managing terminal I/O settings by Alan Cox.
- * From LJ 17 */
-
-/* Thanks to Dave Cook for rescuing it */
-
-#ifdef WIN32
-
-void term_restore(void)
-{
-}
-
-void term_exit()
-{
-}
-
-void term_ctrlz()
-{
-}
-
-void term_cont()
-{
-}
-
-void term_init(void)
-{
-}
-
-void term_character(void)
-{
-}
-
-void term_line(void)
-{
-}
-
-int term_testchar()
-{
-}
-
-#else
-
-#include <termios.h>
-#ifdef linux
-#include <asm/ioctls.h>
-#endif
-#include <signal.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-
-/* This will be used for new terminal settings. */
-static struct termios current;
-
-/* This will hold the initial state so that we can restor it later. */
-static struct termios initial;
-
-/* Restor the termianl settings to those saved when term_init was called. */
-void term_restore(void)
-{
-}
-
-void term_exit()
-{
-}
-
-void term_ctrlz()
-{
-}
-
-void term_cont()
-{
-}
-
-void term_init(void)
-{
-}
-
-void term_character(void)
-{
-}
-
-void term_line(void)
-{
-}
-
-int term_testchar()
-{
-   return 0;
-}
-
-#endif
-
diff --git a/lib-src/libnyquist/sys/term.h b/lib-src/libnyquist/sys/term.h
deleted file mode 100644
index 2d87403..0000000
--- a/lib-src/libnyquist/sys/term.h
+++ /dev/null
@@ -1,3 +0,0 @@
-void term_init();
-void term_exit();
-void ctcinit(); /* not implemented in term.h */
diff --git a/lib-src/libnyquist/tran/abs.alg b/lib-src/libnyquist/tran/abs.alg
deleted file mode 100644
index 2c139e6..0000000
--- a/lib-src/libnyquist/tran/abs.alg
+++ /dev/null
@@ -1,9 +0,0 @@
-(ABS-ALG
-  (NAME "abs")
-  (ARGUMENTS ("sound_type" "input"))
-  (ALWAYS-SCALE input)
-  (START (MIN input))
-  (INNER-LOOP "{ sample_type s = input; sample_type o = s; if (o < 0.0) o = -o; output = o; }")
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-)
diff --git a/lib-src/libnyquist/tran/abs.c b/lib-src/libnyquist/tran/abs.c
deleted file mode 100644
index 39e8c15..0000000
--- a/lib-src/libnyquist/tran/abs.c
+++ /dev/null
@@ -1,198 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "abs.h"
-
-void abs_free();
-
-
-typedef struct abs_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-} abs_susp_node, *abs_susp_type;
-
-
-void abs_s_fetch(register abs_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "abs_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ sample_type s = (input_scale_reg * *input_ptr_reg++); sample_type o = s; if (o < 0.0) o = -o; *out_ptr_reg++ = o; };
-	} while (--n); /* inner loop */
-
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* abs_s_fetch */
-
-
-void abs_toss_fetch(susp, snd_list)
-  register abs_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void abs_mark(abs_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void abs_free(abs_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(abs_susp_node), "abs_free");
-}
-
-
-void abs_print_tree(abs_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_abs(sound_type input)
-{
-    register abs_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, abs_susp_node, "snd_make_abs");
-    susp->susp.fetch = abs_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = abs_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = abs_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = abs_mark;
-    susp->susp.print_tree = abs_print_tree;
-    susp->susp.name = "abs";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_abs(sound_type input)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_abs(input_copy);
-}
diff --git a/lib-src/libnyquist/tran/abs.h b/lib-src/libnyquist/tran/abs.h
deleted file mode 100644
index 04b8d78..0000000
--- a/lib-src/libnyquist/tran/abs.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_abs(sound_type input);
-sound_type snd_abs(sound_type input);
-    /* LISP: (snd-abs SOUND) */
diff --git a/lib-src/libnyquist/tran/alpass.alg b/lib-src/libnyquist/tran/alpass.alg
deleted file mode 100644
index 45bffe2..0000000
--- a/lib-src/libnyquist/tran/alpass.alg
+++ /dev/null
@@ -1,22 +0,0 @@
-(ALPASS-ALG
-(NAME "alpass")
-(ARGUMENTS ("sound_type" "input") ("time_type" "delay") ("double" "feedback"))
-(START (MIN input))
-(STATE ("double" "feedback" "feedback")
-       ("long" "delaylen" "MAX(1, round(input->sr * delay))")
-       ("sample_type *" "delaybuf"
-               "(sample_type *) calloc (susp->delaylen, sizeof(sample_type))")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-       ("sample_type *" "endptr" "susp->delaybuf + susp->delaylen"))
-(CONSTANT "feedback" "delaylen" "endptr")
-(NOT-REGISTER delaybuf)
-(LINEAR input)
-(TERMINATE (MIN input))
-(INNER-LOOP-LOCALS "register sample_type y, z;\n")
-(INNER-LOOP "	    y = *delayptr;
-        *delayptr++ = z = (sample_type) (feedback * y + input);
-        output = (sample_type) (y - feedback * z);
-        if (delayptr >= endptr) delayptr = susp->delaybuf;")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/alpass.c b/lib-src/libnyquist/tran/alpass.c
deleted file mode 100644
index 30f4f42..0000000
--- a/lib-src/libnyquist/tran/alpass.c
+++ /dev/null
@@ -1,193 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "alpass.h"
-
-void alpass_free();
-
-
-typedef struct alpass_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double feedback;
-    long delaylen;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *endptr;
-} alpass_susp_node, *alpass_susp_type;
-
-
-void alpass_n_fetch(register alpass_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double feedback_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpass_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	feedback_reg = susp->feedback;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-register sample_type y, z;
-	    y = *delayptr_reg;
-        *delayptr_reg++ = z = (sample_type) (feedback_reg * y + *input_ptr_reg++);
-        *out_ptr_reg++ = (sample_type) (y - feedback_reg * z);
-        if (delayptr_reg >= endptr_reg) delayptr_reg = susp->delaybuf;;
-	} while (--n); /* inner loop */
-
-	susp->delayptr = delayptr_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpass_n_fetch */
-
-
-void alpass_toss_fetch(susp, snd_list)
-  register alpass_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void alpass_mark(alpass_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void alpass_free(alpass_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(alpass_susp_node), "alpass_free");
-}
-
-
-void alpass_print_tree(alpass_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_alpass(sound_type input, time_type delay, double feedback)
-{
-    register alpass_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, alpass_susp_node, "snd_make_alpass");
-    susp->feedback = feedback;
-    susp->delaylen = MAX(1, round(input->sr * delay));
-    susp->delaybuf = (sample_type *) calloc (susp->delaylen, sizeof(sample_type));
-    susp->delayptr = susp->delaybuf;
-    susp->endptr = susp->delaybuf + susp->delaylen;
-    susp->susp.fetch = alpass_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = alpass_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = alpass_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = alpass_mark;
-    susp->susp.print_tree = alpass_print_tree;
-    susp->susp.name = "alpass";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_alpass(sound_type input, time_type delay, double feedback)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_alpass(input_copy, delay, feedback);
-}
diff --git a/lib-src/libnyquist/tran/alpass.h b/lib-src/libnyquist/tran/alpass.h
deleted file mode 100644
index a526d1f..0000000
--- a/lib-src/libnyquist/tran/alpass.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_alpass(sound_type input, time_type delay, double feedback);
-sound_type snd_alpass(sound_type input, time_type delay, double feedback);
-    /* LISP: (snd-alpass SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/alpasscv.alg b/lib-src/libnyquist/tran/alpasscv.alg
deleted file mode 100644
index c38b8fd..0000000
--- a/lib-src/libnyquist/tran/alpasscv.alg
+++ /dev/null
@@ -1,21 +0,0 @@
-(ALPASSCV-ALG
-(NAME "alpasscv")
-(ARGUMENTS ("sound_type" "input") ("time_type" "delay") ("sound_type" "feedback"))
-(START (MAX input feedback))
-(STATE ("long" "delaylen" "MAX(1, round(input->sr * delay))")
-       ("sample_type *" "delaybuf"
-               "(sample_type *) calloc (susp->delaylen, sizeof(sample_type))")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-       ("sample_type *" "endptr" "susp->delaybuf + susp->delaylen"))
-(CONSTANT "delaylen" "endptr")
-(NOT-REGISTER delaybuf)
-(LINEAR input)
-(TERMINATE (MIN input))
-(INNER-LOOP-LOCALS "register sample_type y, z, fb;\n")
-(INNER-LOOP "	    y = *delayptr;
-        *delayptr++ = z = (sample_type) ((fb = feedback) * y + input);
-        output = (sample_type) (y - fb * z);
-        if (delayptr >= endptr) delayptr = susp->delaybuf;")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/alpasscv.c b/lib-src/libnyquist/tran/alpasscv.c
deleted file mode 100644
index 8726933..0000000
--- a/lib-src/libnyquist/tran/alpasscv.c
+++ /dev/null
@@ -1,302 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "alpasscv.h"
-
-void alpasscv_free();
-
-
-typedef struct alpasscv_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-    sound_type feedback;
-    long feedback_cnt;
-    sample_block_values_type feedback_ptr;
-
-    long delaylen;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *endptr;
-} alpasscv_susp_node, *alpasscv_susp_type;
-
-
-void alpasscv_nn_fetch(register alpasscv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpasscv_nn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-register sample_type y, z, fb;
-	    y = *delayptr_reg;
-        *delayptr_reg++ = z = (sample_type) ((fb = *feedback_ptr_reg++) * y + *input_ptr_reg++);
-        *out_ptr_reg++ = (sample_type) (y - fb * z);
-        if (delayptr_reg >= endptr_reg) delayptr_reg = susp->delaybuf;;
-	} while (--n); /* inner loop */
-
-	susp->delayptr = delayptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpasscv_nn_fetch */
-
-
-void alpasscv_ns_fetch(register alpasscv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_type feedback_scale_reg = susp->feedback->scale;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpasscv_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-register sample_type y, z, fb;
-	    y = *delayptr_reg;
-        *delayptr_reg++ = z = (sample_type) ((fb = (feedback_scale_reg * *feedback_ptr_reg++)) * y + *input_ptr_reg++);
-        *out_ptr_reg++ = (sample_type) (y - fb * z);
-        if (delayptr_reg >= endptr_reg) delayptr_reg = susp->delaybuf;;
-	} while (--n); /* inner loop */
-
-	susp->delayptr = delayptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpasscv_ns_fetch */
-
-
-void alpasscv_toss_fetch(susp, snd_list)
-  register alpasscv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* fetch samples from feedback up to final_time for this block of zeros */
-    while ((round((final_time - susp->feedback->t0) * susp->feedback->sr)) >=
-	   susp->feedback->current)
-	susp_get_samples(feedback, feedback_ptr, feedback_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    n = round((final_time - susp->feedback->t0) * susp->feedback->sr -
-         (susp->feedback->current - susp->feedback_cnt));
-    susp->feedback_ptr += n;
-    susp_took(feedback_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void alpasscv_mark(alpasscv_susp_type susp)
-{
-    sound_xlmark(susp->input);
-    sound_xlmark(susp->feedback);
-}
-
-
-void alpasscv_free(alpasscv_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->input);
-    sound_unref(susp->feedback);
-    ffree_generic(susp, sizeof(alpasscv_susp_node), "alpasscv_free");
-}
-
-
-void alpasscv_print_tree(alpasscv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-
-    indent(n);
-    stdputstr("feedback:");
-    sound_print_tree_1(susp->feedback, n);
-}
-
-
-sound_type snd_make_alpasscv(sound_type input, time_type delay, sound_type feedback)
-{
-    register alpasscv_susp_type susp;
-    rate_type sr = MAX(input->sr, feedback->sr);
-    time_type t0 = MAX(input->t0, feedback->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, alpasscv_susp_node, "snd_make_alpasscv");
-    susp->delaylen = MAX(1, round(input->sr * delay));
-    susp->delaybuf = (sample_type *) calloc (susp->delaylen, sizeof(sample_type));
-    susp->delayptr = susp->delaybuf;
-    susp->endptr = susp->delaybuf + susp->delaylen;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(input, sr);
-    interp_desc = (interp_desc << 2) + interp_style(feedback, sr);
-    switch (interp_desc) {
-      case INTERP_nn: susp->susp.fetch = alpasscv_nn_fetch; break;
-      case INTERP_ns: susp->susp.fetch = alpasscv_ns_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    if (t0 < feedback->t0) sound_prepend_zeros(feedback, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, MIN(feedback->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = alpasscv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = alpasscv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = alpasscv_mark;
-    susp->susp.print_tree = alpasscv_print_tree;
-    susp->susp.name = "alpasscv";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    susp->feedback = feedback;
-    susp->feedback_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_alpasscv(sound_type input, time_type delay, sound_type feedback)
-{
-    sound_type input_copy = sound_copy(input);
-    sound_type feedback_copy = sound_copy(feedback);
-    return snd_make_alpasscv(input_copy, delay, feedback_copy);
-}
diff --git a/lib-src/libnyquist/tran/alpasscv.h b/lib-src/libnyquist/tran/alpasscv.h
deleted file mode 100644
index 5d2ec0a..0000000
--- a/lib-src/libnyquist/tran/alpasscv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_alpasscv(sound_type input, time_type delay, sound_type feedback);
-sound_type snd_alpasscv(sound_type input, time_type delay, sound_type feedback);
-    /* LISP: (snd-alpasscv SOUND ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/tran/alpassvc.alg b/lib-src/libnyquist/tran/alpassvc.alg
deleted file mode 100644
index 28a8e3e..0000000
--- a/lib-src/libnyquist/tran/alpassvc.alg
+++ /dev/null
@@ -1,59 +0,0 @@
-(ALPASSVC-ALG
-;;
-;; delay is variable -- but we don't want to reallocate the delay buffer, so
-;; use an additional parameter for the maximum allowable delay. The sound will
-;; be written into the buffer every sample, but read using linear 
-;; interpolation. As in tapv, duplicate the sample at the first and last 
-;; locations in the buffer.
-;;
-(NAME "alpassvc")
-(ARGUMENTS ("sound_type" "input") ("sound_type" "delaysnd") ("double" "feedback") 
-           ("double" "maxdelay"))
-(START (MAX input delaysnd))
-(STATE ("float" "delay_scale_factor" "(float) (input->sr * delaysnd->scale)")
-       ("double" "feedback" "feedback")
-       ("long" "buflen" "MAX(2, (long) (input->sr * maxdelay + 2.5))")
-       ("sample_type *" "delaybuf"
-               "(sample_type *) calloc (susp->buflen + 1, sizeof(sample_type))")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-;; since we allocate one extra sample, endptr points to the last sample
-       ("sample_type *" "endptr" "susp->delaybuf + susp->buflen"))
-(CONSTANT "feedback" "delaylen" "endptr" "delay_scale_factor")
-(NOT-REGISTER delaybuf)
-(LINEAR input)
-(TERMINATE (MIN input))
-(INNER-LOOP-LOCALS "        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;\n")
-(INNER-LOOP "
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        delaysamp = delaysnd * delay_scale_factor;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr + buflen - (delayi + 1);
-        if (yptr >= endptr) yptr -= buflen;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr++ = z = (sample_type) (feedback * y + input);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr > endptr) {
-            delayptr = susp->delaybuf;
-            *delayptr++ = *endptr;
-        }
-        output = (sample_type) (y - feedback * z);")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/alpassvc.c b/lib-src/libnyquist/tran/alpassvc.c
deleted file mode 100644
index 0449e81..0000000
--- a/lib-src/libnyquist/tran/alpassvc.c
+++ /dev/null
@@ -1,374 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "alpassvc.h"
-
-void alpassvc_free();
-
-
-typedef struct alpassvc_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-    sound_type delaysnd;
-    long delaysnd_cnt;
-    sample_block_values_type delaysnd_ptr;
-
-    float delay_scale_factor;
-    double feedback;
-    long buflen;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *endptr;
-} alpassvc_susp_node, *alpassvc_susp_type;
-
-
-void alpassvc_nn_fetch(register alpassvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register float delay_scale_factor_reg;
-    register double feedback_reg;
-    register long buflen_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type delaysnd_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpassvc_nn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the delaysnd input sample block: */
-	susp_check_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-	togo = MIN(togo, susp->delaysnd_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delay_scale_factor_reg = susp->delay_scale_factor;
-	feedback_reg = susp->feedback;
-	buflen_reg = susp->buflen;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	delaysnd_ptr_reg = susp->delaysnd_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;
-
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        delaysamp = *delaysnd_ptr_reg++ * delay_scale_factor_reg;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr_reg + buflen_reg - (delayi + 1);
-        if (yptr >= endptr_reg) yptr -= buflen_reg;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr_reg++ = z = (sample_type) (feedback_reg * y + *input_ptr_reg++);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr_reg > endptr_reg) {
-            delayptr_reg = susp->delaybuf;
-            *delayptr_reg++ = *endptr_reg;
-        }
-        *out_ptr_reg++ = (sample_type) (y - feedback_reg * z);;
-	} while (--n); /* inner loop */
-
-	susp->buflen = buflen_reg;
-	susp->delayptr = delayptr_reg;
-	/* using delaysnd_ptr_reg is a bad idea on RS/6000: */
-	susp->delaysnd_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(delaysnd_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpassvc_nn_fetch */
-
-
-void alpassvc_ns_fetch(register alpassvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register float delay_scale_factor_reg;
-    register double feedback_reg;
-    register long buflen_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_type delaysnd_scale_reg = susp->delaysnd->scale;
-    register sample_block_values_type delaysnd_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpassvc_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the delaysnd input sample block: */
-	susp_check_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-	togo = MIN(togo, susp->delaysnd_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delay_scale_factor_reg = susp->delay_scale_factor;
-	feedback_reg = susp->feedback;
-	buflen_reg = susp->buflen;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	delaysnd_ptr_reg = susp->delaysnd_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;
-
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        delaysamp = (delaysnd_scale_reg * *delaysnd_ptr_reg++) * delay_scale_factor_reg;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr_reg + buflen_reg - (delayi + 1);
-        if (yptr >= endptr_reg) yptr -= buflen_reg;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr_reg++ = z = (sample_type) (feedback_reg * y + *input_ptr_reg++);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr_reg > endptr_reg) {
-            delayptr_reg = susp->delaybuf;
-            *delayptr_reg++ = *endptr_reg;
-        }
-        *out_ptr_reg++ = (sample_type) (y - feedback_reg * z);;
-	} while (--n); /* inner loop */
-
-	susp->buflen = buflen_reg;
-	susp->delayptr = delayptr_reg;
-	/* using delaysnd_ptr_reg is a bad idea on RS/6000: */
-	susp->delaysnd_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(delaysnd_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpassvc_ns_fetch */
-
-
-void alpassvc_toss_fetch(susp, snd_list)
-  register alpassvc_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* fetch samples from delaysnd up to final_time for this block of zeros */
-    while ((round((final_time - susp->delaysnd->t0) * susp->delaysnd->sr)) >=
-	   susp->delaysnd->current)
-	susp_get_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    n = round((final_time - susp->delaysnd->t0) * susp->delaysnd->sr -
-         (susp->delaysnd->current - susp->delaysnd_cnt));
-    susp->delaysnd_ptr += n;
-    susp_took(delaysnd_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void alpassvc_mark(alpassvc_susp_type susp)
-{
-    sound_xlmark(susp->input);
-    sound_xlmark(susp->delaysnd);
-}
-
-
-void alpassvc_free(alpassvc_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->input);
-    sound_unref(susp->delaysnd);
-    ffree_generic(susp, sizeof(alpassvc_susp_node), "alpassvc_free");
-}
-
-
-void alpassvc_print_tree(alpassvc_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-
-    indent(n);
-    stdputstr("delaysnd:");
-    sound_print_tree_1(susp->delaysnd, n);
-}
-
-
-sound_type snd_make_alpassvc(sound_type input, sound_type delaysnd, double feedback, double maxdelay)
-{
-    register alpassvc_susp_type susp;
-    rate_type sr = MAX(input->sr, delaysnd->sr);
-    time_type t0 = MAX(input->t0, delaysnd->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, alpassvc_susp_node, "snd_make_alpassvc");
-    susp->delay_scale_factor = (float) (input->sr * delaysnd->scale);
-    susp->feedback = feedback;
-    susp->buflen = MAX(2, (long) (input->sr * maxdelay + 2.5));
-    susp->delaybuf = (sample_type *) calloc (susp->buflen + 1, sizeof(sample_type));
-    susp->delayptr = susp->delaybuf;
-    susp->endptr = susp->delaybuf + susp->buflen;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(input, sr);
-    interp_desc = (interp_desc << 2) + interp_style(delaysnd, sr);
-    switch (interp_desc) {
-      case INTERP_nn: susp->susp.fetch = alpassvc_nn_fetch; break;
-      case INTERP_ns: susp->susp.fetch = alpassvc_ns_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    if (t0 < delaysnd->t0) sound_prepend_zeros(delaysnd, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, MIN(delaysnd->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = alpassvc_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = alpassvc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = alpassvc_mark;
-    susp->susp.print_tree = alpassvc_print_tree;
-    susp->susp.name = "alpassvc";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    susp->delaysnd = delaysnd;
-    susp->delaysnd_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_alpassvc(sound_type input, sound_type delaysnd, double feedback, double maxdelay)
-{
-    sound_type input_copy = sound_copy(input);
-    sound_type delaysnd_copy = sound_copy(delaysnd);
-    return snd_make_alpassvc(input_copy, delaysnd_copy, feedback, maxdelay);
-}
diff --git a/lib-src/libnyquist/tran/alpassvc.h b/lib-src/libnyquist/tran/alpassvc.h
deleted file mode 100644
index 127f299..0000000
--- a/lib-src/libnyquist/tran/alpassvc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_alpassvc(sound_type input, sound_type delaysnd, double feedback, double maxdelay);
-sound_type snd_alpassvc(sound_type input, sound_type delaysnd, double feedback, double maxdelay);
-    /* LISP: (snd-alpassvc SOUND SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/alpassvv.alg b/lib-src/libnyquist/tran/alpassvv.alg
deleted file mode 100644
index 1d62d76..0000000
--- a/lib-src/libnyquist/tran/alpassvv.alg
+++ /dev/null
@@ -1,59 +0,0 @@
-(ALPASSVC-ALG
-;;
-;; delay is variable -- but we don't want to reallocate the delay buffer, so
-;; use an additional parameter for the maximum allowable delay. The sound will
-;; be written into the buffer every sample, but read using linear 
-;; interpolation. As in tapv, duplicate the sample at the first and last 
-;; locations in the buffer.
-;;
-(NAME "alpassvv")
-(ARGUMENTS ("sound_type" "input") ("sound_type" "delaysnd") ("sound_type" "feedback") 
-           ("double" "maxdelay"))
-(START (MAX input delaysnd))
-(STATE ("float" "delay_scale_factor" "(float) (input->sr * delaysnd->scale)")
-       ("long" "buflen" "MAX(2, (long) (input->sr * maxdelay + 2.5))")
-       ("sample_type *" "delaybuf"
-               "(sample_type *) calloc (susp->buflen + 1, sizeof(sample_type))")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-;; since we allocate one extra sample, endptr points to the last sample
-       ("sample_type *" "endptr" "susp->delaybuf + susp->buflen"))
-(CONSTANT "delaylen" "endptr" "delay_scale_factor")
-(NOT-REGISTER delaybuf)
-(LINEAR input)
-(TERMINATE (MIN input))
-(INNER-LOOP-LOCALS "        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;\n")
-(INNER-LOOP "
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        register sample_type fb = feedback;
-        delaysamp = delaysnd * delay_scale_factor;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr + buflen - (delayi + 1);
-        if (yptr >= endptr) yptr -= buflen;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr++ = z = (sample_type) (fb * y + input);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr > endptr) {
-            delayptr = susp->delaybuf;
-            *delayptr++ = *endptr;
-        }
-        output = (sample_type) (y - fb * z);")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/alpassvv.c b/lib-src/libnyquist/tran/alpassvv.c
deleted file mode 100644
index eb55b86..0000000
--- a/lib-src/libnyquist/tran/alpassvv.c
+++ /dev/null
@@ -1,645 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "alpassvv.h"
-
-void alpassvv_free();
-
-
-typedef struct alpassvv_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-    sound_type delaysnd;
-    long delaysnd_cnt;
-    sample_block_values_type delaysnd_ptr;
-    sound_type feedback;
-    long feedback_cnt;
-    sample_block_values_type feedback_ptr;
-
-    float delay_scale_factor;
-    long buflen;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *endptr;
-} alpassvv_susp_node, *alpassvv_susp_type;
-
-
-void alpassvv_nnn_fetch(register alpassvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register float delay_scale_factor_reg;
-    register long buflen_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_block_values_type delaysnd_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpassvv_nnn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the delaysnd input sample block: */
-	susp_check_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-	togo = MIN(togo, susp->delaysnd_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delay_scale_factor_reg = susp->delay_scale_factor;
-	buflen_reg = susp->buflen;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	delaysnd_ptr_reg = susp->delaysnd_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;
-
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        register sample_type fb = *feedback_ptr_reg++;
-        delaysamp = *delaysnd_ptr_reg++ * delay_scale_factor_reg;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr_reg + buflen_reg - (delayi + 1);
-        if (yptr >= endptr_reg) yptr -= buflen_reg;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr_reg++ = z = (sample_type) (fb * y + *input_ptr_reg++);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr_reg > endptr_reg) {
-            delayptr_reg = susp->delaybuf;
-            *delayptr_reg++ = *endptr_reg;
-        }
-        *out_ptr_reg++ = (sample_type) (y - fb * z);;
-	} while (--n); /* inner loop */
-
-	susp->buflen = buflen_reg;
-	susp->delayptr = delayptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using delaysnd_ptr_reg is a bad idea on RS/6000: */
-	susp->delaysnd_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(delaysnd_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpassvv_nnn_fetch */
-
-
-void alpassvv_nns_fetch(register alpassvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register float delay_scale_factor_reg;
-    register long buflen_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_type feedback_scale_reg = susp->feedback->scale;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_block_values_type delaysnd_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpassvv_nns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the delaysnd input sample block: */
-	susp_check_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-	togo = MIN(togo, susp->delaysnd_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delay_scale_factor_reg = susp->delay_scale_factor;
-	buflen_reg = susp->buflen;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	delaysnd_ptr_reg = susp->delaysnd_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;
-
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        register sample_type fb = (feedback_scale_reg * *feedback_ptr_reg++);
-        delaysamp = *delaysnd_ptr_reg++ * delay_scale_factor_reg;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr_reg + buflen_reg - (delayi + 1);
-        if (yptr >= endptr_reg) yptr -= buflen_reg;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr_reg++ = z = (sample_type) (fb * y + *input_ptr_reg++);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr_reg > endptr_reg) {
-            delayptr_reg = susp->delaybuf;
-            *delayptr_reg++ = *endptr_reg;
-        }
-        *out_ptr_reg++ = (sample_type) (y - fb * z);;
-	} while (--n); /* inner loop */
-
-	susp->buflen = buflen_reg;
-	susp->delayptr = delayptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using delaysnd_ptr_reg is a bad idea on RS/6000: */
-	susp->delaysnd_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(delaysnd_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpassvv_nns_fetch */
-
-
-void alpassvv_nsn_fetch(register alpassvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register float delay_scale_factor_reg;
-    register long buflen_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_type delaysnd_scale_reg = susp->delaysnd->scale;
-    register sample_block_values_type delaysnd_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpassvv_nsn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the delaysnd input sample block: */
-	susp_check_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-	togo = MIN(togo, susp->delaysnd_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delay_scale_factor_reg = susp->delay_scale_factor;
-	buflen_reg = susp->buflen;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	delaysnd_ptr_reg = susp->delaysnd_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;
-
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        register sample_type fb = *feedback_ptr_reg++;
-        delaysamp = (delaysnd_scale_reg * *delaysnd_ptr_reg++) * delay_scale_factor_reg;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr_reg + buflen_reg - (delayi + 1);
-        if (yptr >= endptr_reg) yptr -= buflen_reg;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr_reg++ = z = (sample_type) (fb * y + *input_ptr_reg++);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr_reg > endptr_reg) {
-            delayptr_reg = susp->delaybuf;
-            *delayptr_reg++ = *endptr_reg;
-        }
-        *out_ptr_reg++ = (sample_type) (y - fb * z);;
-	} while (--n); /* inner loop */
-
-	susp->buflen = buflen_reg;
-	susp->delayptr = delayptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using delaysnd_ptr_reg is a bad idea on RS/6000: */
-	susp->delaysnd_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(delaysnd_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpassvv_nsn_fetch */
-
-
-void alpassvv_nss_fetch(register alpassvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register float delay_scale_factor_reg;
-    register long buflen_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_type feedback_scale_reg = susp->feedback->scale;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_type delaysnd_scale_reg = susp->delaysnd->scale;
-    register sample_block_values_type delaysnd_ptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "alpassvv_nss_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the delaysnd input sample block: */
-	susp_check_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-	togo = MIN(togo, susp->delaysnd_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delay_scale_factor_reg = susp->delay_scale_factor;
-	buflen_reg = susp->buflen;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	delaysnd_ptr_reg = susp->delaysnd_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        register sample_type y, z, delaysamp;
-        register int delayi;
-        register sample_type *yptr;
-
-        /* compute where to read y, we want y to be delay_snd samples
-         * after delay_ptr, where we write the new sample. First, 
-         * conver from seconds to samples. Note: don't use actual sound_type
-         * names in comments! The translator isn't smart enough.
-         */
-        register sample_type fb = (feedback_scale_reg * *feedback_ptr_reg++);
-        delaysamp = (delaysnd_scale_reg * *delaysnd_ptr_reg++) * delay_scale_factor_reg;
-        delayi = (int) delaysamp; /* get integer part */
-        delaysamp = delaysamp - delayi; /* get phase */
-        yptr = delayptr_reg + buflen_reg - (delayi + 1);
-        if (yptr >= endptr_reg) yptr -= buflen_reg;
-        /* now get y, the out-put of the delay, using interpolation */
-        /* note that as phase increases, we use more of yptr[0] because
-           positive phase means longer buffer means read earlier sample */
-        y = (float) ((yptr[0] * delaysamp) + (yptr[1] * (1.0 - delaysamp)));
-        /* WARNING: no check to keep delaysamp in range, so do this in LISP */
-
-        *delayptr_reg++ = z = (sample_type) (fb * y + *input_ptr_reg++);
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */
-        if (delayptr_reg > endptr_reg) {
-            delayptr_reg = susp->delaybuf;
-            *delayptr_reg++ = *endptr_reg;
-        }
-        *out_ptr_reg++ = (sample_type) (y - fb * z);;
-	} while (--n); /* inner loop */
-
-	susp->buflen = buflen_reg;
-	susp->delayptr = delayptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using delaysnd_ptr_reg is a bad idea on RS/6000: */
-	susp->delaysnd_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(delaysnd_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* alpassvv_nss_fetch */
-
-
-void alpassvv_toss_fetch(susp, snd_list)
-  register alpassvv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* fetch samples from delaysnd up to final_time for this block of zeros */
-    while ((round((final_time - susp->delaysnd->t0) * susp->delaysnd->sr)) >=
-	   susp->delaysnd->current)
-	susp_get_samples(delaysnd, delaysnd_ptr, delaysnd_cnt);
-    /* fetch samples from feedback up to final_time for this block of zeros */
-    while ((round((final_time - susp->feedback->t0) * susp->feedback->sr)) >=
-	   susp->feedback->current)
-	susp_get_samples(feedback, feedback_ptr, feedback_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    n = round((final_time - susp->delaysnd->t0) * susp->delaysnd->sr -
-         (susp->delaysnd->current - susp->delaysnd_cnt));
-    susp->delaysnd_ptr += n;
-    susp_took(delaysnd_cnt, n);
-    n = round((final_time - susp->feedback->t0) * susp->feedback->sr -
-         (susp->feedback->current - susp->feedback_cnt));
-    susp->feedback_ptr += n;
-    susp_took(feedback_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void alpassvv_mark(alpassvv_susp_type susp)
-{
-    sound_xlmark(susp->input);
-    sound_xlmark(susp->delaysnd);
-    sound_xlmark(susp->feedback);
-}
-
-
-void alpassvv_free(alpassvv_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->input);
-    sound_unref(susp->delaysnd);
-    sound_unref(susp->feedback);
-    ffree_generic(susp, sizeof(alpassvv_susp_node), "alpassvv_free");
-}
-
-
-void alpassvv_print_tree(alpassvv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-
-    indent(n);
-    stdputstr("delaysnd:");
-    sound_print_tree_1(susp->delaysnd, n);
-
-    indent(n);
-    stdputstr("feedback:");
-    sound_print_tree_1(susp->feedback, n);
-}
-
-
-sound_type snd_make_alpassvv(sound_type input, sound_type delaysnd, sound_type feedback, double maxdelay)
-{
-    register alpassvv_susp_type susp;
-    rate_type sr = MAX(MAX(input->sr, delaysnd->sr), feedback->sr);
-    time_type t0 = MAX(input->t0, delaysnd->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, alpassvv_susp_node, "snd_make_alpassvv");
-    susp->delay_scale_factor = (float) (input->sr * delaysnd->scale);
-    susp->buflen = MAX(2, (long) (input->sr * maxdelay + 2.5));
-    susp->delaybuf = (sample_type *) calloc (susp->buflen + 1, sizeof(sample_type));
-    susp->delayptr = susp->delaybuf;
-    susp->endptr = susp->delaybuf + susp->buflen;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(input, sr);
-    interp_desc = (interp_desc << 2) + interp_style(delaysnd, sr);
-    interp_desc = (interp_desc << 2) + interp_style(feedback, sr);
-    switch (interp_desc) {
-      case INTERP_nnn: susp->susp.fetch = alpassvv_nnn_fetch; break;
-      case INTERP_nns: susp->susp.fetch = alpassvv_nns_fetch; break;
-      case INTERP_nsn: susp->susp.fetch = alpassvv_nsn_fetch; break;
-      case INTERP_nss: susp->susp.fetch = alpassvv_nss_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    if (t0 < delaysnd->t0) sound_prepend_zeros(delaysnd, t0);
-    if (t0 < feedback->t0) sound_prepend_zeros(feedback, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, MIN(delaysnd->t0, min(feedback->t0, t0)));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = alpassvv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = alpassvv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = alpassvv_mark;
-    susp->susp.print_tree = alpassvv_print_tree;
-    susp->susp.name = "alpassvv";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    susp->delaysnd = delaysnd;
-    susp->delaysnd_cnt = 0;
-    susp->feedback = feedback;
-    susp->feedback_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_alpassvv(sound_type input, sound_type delaysnd, sound_type feedback, double maxdelay)
-{
-    sound_type input_copy = sound_copy(input);
-    sound_type delaysnd_copy = sound_copy(delaysnd);
-    sound_type feedback_copy = sound_copy(feedback);
-    return snd_make_alpassvv(input_copy, delaysnd_copy, feedback_copy, maxdelay);
-}
diff --git a/lib-src/libnyquist/tran/alpassvv.h b/lib-src/libnyquist/tran/alpassvv.h
deleted file mode 100644
index efbc345..0000000
--- a/lib-src/libnyquist/tran/alpassvv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_alpassvv(sound_type input, sound_type delaysnd, sound_type feedback, double maxdelay);
-sound_type snd_alpassvv(sound_type input, sound_type delaysnd, sound_type feedback, double maxdelay);
-    /* LISP: (snd-alpassvv SOUND SOUND SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/amosc.alg b/lib-src/libnyquist/tran/amosc.alg
deleted file mode 100644
index 0103202..0000000
--- a/lib-src/libnyquist/tran/amosc.alg
+++ /dev/null
@@ -1,33 +0,0 @@
-(AMOSC-ALG
-(NAME "amosc")
-(ARGUMENTS ("sound_type" "input") ("double" "step") ("rate_type" "sr")
-           ("double" "hz") ("time_type" "t0") ("sound_type" "amod")
-           ("double" "phase"))
-(TABLE "input")
-(NOT-IN-INNER-LOOP "input")
-(START (MIN input))
-(STATE 
-       ("double" "ph_incr" "0")
-       ("table_type" "the_table" "sound_to_table(input)")
-       ("sample_type *" "table_ptr" "susp->the_table->samples")
-       ("double" "table_len" "susp->the_table->length")
-       ("double" "phase" "compute_phase(phase, step, (long) susp->table_len,
-        input->sr, sr, hz, &susp->ph_incr)") )
-(ALWAYS-SCALE amod)
-(TERMINATE (MIN amod))
-(LOGICAL-STOP (MIN amod))
-(INNER-LOOP "
-            long table_index = (long) phase;
-            double x1 = (double) (table_ptr[table_index]);
-            output = (sample_type) (x1 + (phase - table_index) * 
-                          (table_ptr[table_index + 1] - x1)) * amod;
-            phase += ph_incr;
-            while (phase > table_len) phase -= table_len;
-")
-(CONSTANT "ph_incr" "table_len" "table_ptr" "the_table")
-
-(SAMPLE-RATE "sr")
-(FINALIZATION "    table_unref(susp->the_table);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/amosc.c b/lib-src/libnyquist/tran/amosc.c
deleted file mode 100644
index c3bb534..0000000
--- a/lib-src/libnyquist/tran/amosc.c
+++ /dev/null
@@ -1,227 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "amosc.h"
-
-void amosc_free();
-
-
-typedef struct amosc_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type amod;
-    long amod_cnt;
-    sample_block_values_type amod_ptr;
-
-    double ph_incr;
-    table_type the_table;
-    sample_type *table_ptr;
-    double table_len;
-    double phase;
-} amosc_susp_node, *amosc_susp_type;
-
-
-void amosc_s_fetch(register amosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double ph_incr_reg;
-    register sample_type * table_ptr_reg;
-    register double table_len_reg;
-    register double phase_reg;
-    register sample_type amod_scale_reg = susp->amod->scale;
-    register sample_block_values_type amod_ptr_reg;
-    falloc_sample_block(out, "amosc_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the amod input sample block: */
-	susp_check_term_log_samples(amod, amod_ptr, amod_cnt);
-	togo = MIN(togo, susp->amod_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	ph_incr_reg = susp->ph_incr;
-	table_ptr_reg = susp->table_ptr;
-	table_len_reg = susp->table_len;
-	phase_reg = susp->phase;
-	amod_ptr_reg = susp->amod_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-
-            long table_index = (long) phase_reg;
-            double x1 = (double) (table_ptr_reg[table_index]);
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1)) * (amod_scale_reg * *amod_ptr_reg++);
-            phase_reg += ph_incr_reg;
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	/* using amod_ptr_reg is a bad idea on RS/6000: */
-	susp->amod_ptr += togo;
-	out_ptr += togo;
-	susp_took(amod_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* amosc_s_fetch */
-
-
-void amosc_toss_fetch(susp, snd_list)
-  register amosc_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from amod up to final_time for this block of zeros */
-    while ((round((final_time - susp->amod->t0) * susp->amod->sr)) >=
-	   susp->amod->current)
-	susp_get_samples(amod, amod_ptr, amod_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->amod->t0) * susp->amod->sr -
-         (susp->amod->current - susp->amod_cnt));
-    susp->amod_ptr += n;
-    susp_took(amod_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void amosc_mark(amosc_susp_type susp)
-{
-    sound_xlmark(susp->amod);
-}
-
-
-void amosc_free(amosc_susp_type susp)
-{
-    table_unref(susp->the_table);
-    sound_unref(susp->amod);
-    ffree_generic(susp, sizeof(amosc_susp_node), "amosc_free");
-}
-
-
-void amosc_print_tree(amosc_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("amod:");
-    sound_print_tree_1(susp->amod, n);
-}
-
-
-sound_type snd_make_amosc(sound_type input, double step, rate_type sr, double hz, time_type t0, sound_type amod, double phase)
-{
-    register amosc_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, amosc_susp_node, "snd_make_amosc");
-    susp->ph_incr = 0;
-    susp->the_table = sound_to_table(input);
-    susp->table_ptr = susp->the_table->samples;
-    susp->table_len = susp->the_table->length;
-    susp->phase = compute_phase(phase, step, (long) susp->table_len,
-        input->sr, sr, hz, &susp->ph_incr);
-    susp->susp.fetch = amosc_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < amod->t0) sound_prepend_zeros(amod, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(amod->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = amosc_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = amosc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = amosc_mark;
-    susp->susp.print_tree = amosc_print_tree;
-    susp->susp.name = "amosc";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(amod);
-    susp->susp.current = 0;
-    susp->amod = amod;
-    susp->amod_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_amosc(sound_type input, double step, rate_type sr, double hz, time_type t0, sound_type amod, double phase)
-{
-    sound_type amod_copy = sound_copy(amod);
-    return snd_make_amosc(input, step, sr, hz, t0, amod_copy, phase);
-}
diff --git a/lib-src/libnyquist/tran/amosc.h b/lib-src/libnyquist/tran/amosc.h
deleted file mode 100644
index cc798f9..0000000
--- a/lib-src/libnyquist/tran/amosc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_amosc(sound_type input, double step, rate_type sr, double hz, time_type t0, sound_type amod, double phase);
-sound_type snd_amosc(sound_type input, double step, rate_type sr, double hz, time_type t0, sound_type amod, double phase);
-    /* LISP: (snd-amosc SOUND ANYNUM ANYNUM ANYNUM ANYNUM SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/areson.alg b/lib-src/libnyquist/tran/areson.alg
deleted file mode 100644
index a26287e..0000000
--- a/lib-src/libnyquist/tran/areson.alg
+++ /dev/null
@@ -1,24 +0,0 @@
-(ARESON-ALG
-(NAME "areson")
-(ARGUMENTS ("sound_type" "input") ("double" "hz") ("double" "bw")
-           ("int" "normalization"))
-(START (MIN input))
-(TERMINATE (MIN input))
-(LOGICAL-STOP (MIN input))
-(LINEAR input)
-(STATE ("double" "c3" "exp(bw * -PI2 / input->sr)")
-       ("double" "c3p1" "susp->c3 + 1.0" TEMP)
-       ("double" "c3t4" "susp->c3 * 4.0" TEMP)
-       ("double" "omc3" "1.0 - susp->c3" TEMP)
-       ("double" "c2" "c3t4 * cos(hz * PI2 / input->sr) / c3p1")
-       ("double" "c1" "(normalization == 0 ? 0.0 :
-        (normalization == 1 ? 1.0 - omc3 * sqrt(1.0 - susp->c2 * susp->c2 / c3t4) :
-            1.0 - sqrt(c3p1 * c3p1 - susp->c2 * susp->c2) * omc3 / c3p1))")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0"))
-(CONSTANT "c1" "c2" "c3")
-(INNER-LOOP-LOCALS "            register double y0, current;")
-(INNER-LOOP "current = input;
-            output = (sample_type) (y0 = c1 * current + c2 * y1 - c3 * y2);
-            y2 = y1; y1 = y0 - current")
-)
diff --git a/lib-src/libnyquist/tran/areson.c b/lib-src/libnyquist/tran/areson.c
deleted file mode 100644
index 10fd190..0000000
--- a/lib-src/libnyquist/tran/areson.c
+++ /dev/null
@@ -1,237 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "areson.h"
-
-void areson_free();
-
-
-typedef struct areson_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double c3;
-    double c2;
-    double c1;
-    double y1;
-    double y2;
-} areson_susp_node, *areson_susp_type;
-
-
-void areson_n_fetch(register areson_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "areson_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3_reg = susp->c3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;current = *input_ptr_reg++;
-            *out_ptr_reg++ = (sample_type) (y0 = c1_reg * current + c2_reg * y1_reg - c3_reg * y2_reg);
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* areson_n_fetch */
-
-
-void areson_toss_fetch(susp, snd_list)
-  register areson_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void areson_mark(areson_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void areson_free(areson_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(areson_susp_node), "areson_free");
-}
-
-
-void areson_print_tree(areson_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_areson(sound_type input, double hz, double bw, int normalization)
-{
-    register areson_susp_type susp;
-    double c3p1;
-    double c3t4;
-    double omc3;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, areson_susp_node, "snd_make_areson");
-    susp->c3 = exp(bw * -PI2 / input->sr);
-    c3p1 = susp->c3 + 1.0;
-    c3t4 = susp->c3 * 4.0;
-    omc3 = 1.0 - susp->c3;
-    susp->c2 = c3t4 * cos(hz * PI2 / input->sr) / c3p1;
-    susp->c1 = (normalization == 0 ? 0.0 :
-        (normalization == 1 ? 1.0 - omc3 * sqrt(1.0 - susp->c2 * susp->c2 / c3t4) :
-            1.0 - sqrt(c3p1 * c3p1 - susp->c2 * susp->c2) * omc3 / c3p1));
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    susp->susp.fetch = areson_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = areson_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = areson_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = areson_mark;
-    susp->susp.print_tree = areson_print_tree;
-    susp->susp.name = "areson";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_areson(sound_type input, double hz, double bw, int normalization)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_areson(input_copy, hz, bw, normalization);
-}
diff --git a/lib-src/libnyquist/tran/areson.h b/lib-src/libnyquist/tran/areson.h
deleted file mode 100644
index fa7c94f..0000000
--- a/lib-src/libnyquist/tran/areson.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_areson(sound_type input, double hz, double bw, int normalization);
-sound_type snd_areson(sound_type input, double hz, double bw, int normalization);
-    /* LISP: (snd-areson SOUND ANYNUM ANYNUM FIXNUM) */
diff --git a/lib-src/libnyquist/tran/aresoncv.alg b/lib-src/libnyquist/tran/aresoncv.alg
deleted file mode 100644
index 9a0d4dd..0000000
--- a/lib-src/libnyquist/tran/aresoncv.alg
+++ /dev/null
@@ -1,35 +0,0 @@
-(ARESONCV-ALG
-(NAME "aresoncv")
-(ARGUMENTS ("sound_type" "s1") ("double" "hz") ("sound_type" "bw")
-           ("int" "normalization"))
-(INLINE-INTERPOLATION T)
-(LINEAR s1)
-(ALWAYS-SCALE bw)
-(START (MAX s1 bw))
-(TERMINATE (MIN s1 bw))
-(LOGICAL-STOP (MIN s1))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION bw)
-(STATE ("double" "c3co" "0.0")
-       ("double" "coshz" "cos(hz * PI2 / s1->sr)")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("int" "normalization" "normalization")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0;
-    bw->scale = (float) (bw->scale * (-PI2 / s1->sr))"))
-(DEPENDS ("c3co" "hz" "exp(bw)")
-         ("c3p1" "hz" "c3co + 1.0" TEMP "double")
-         ("c3t4" "hz" "c3co * 4.0" TEMP "double")
-         ("omc3" "hz" "1.0 - c3co" TEMP "double")
-         ("c2"   "hz" "c3t4 * coshz / c3p1")
-         ("c1"   "hz" "(normalization == 0 ? 0.0 :
-          (normalization == 1 ? 1.0 - omc3 * sqrt(1.0 - c2 * c2 / c3t4) :
-              1.0 - sqrt(c3p1 * c3p1 - c2 * c2) * omc3 / c3p1))"))
-(CONSTANT "c1" "c2" "c3co" "coshz" "normalization")
-(FORCE-INTO-REGISTER normalization coshz scale1)
-(INNER-LOOP-LOCALS "            register double y0, current;")
-(INNER-LOOP "current = s1;
-            output = (float) (y0 = c1 * current + c2 * y1 - c3co * y2);
-            y2 = y1; y1 = y0 - current")
-)
diff --git a/lib-src/libnyquist/tran/aresoncv.c b/lib-src/libnyquist/tran/aresoncv.c
deleted file mode 100644
index 386f16d..0000000
--- a/lib-src/libnyquist/tran/aresoncv.c
+++ /dev/null
@@ -1,551 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "aresoncv.h"
-
-void aresoncv_free();
-
-
-typedef struct aresoncv_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type bw;
-    long bw_cnt;
-    sample_block_values_type bw_ptr;
-
-    /* support for interpolation of bw */
-    sample_type bw_x1_sample;
-    double bw_pHaSe;
-    double bw_pHaSe_iNcR;
-
-    /* support for ramp between samples of bw */
-    double output_per_bw;
-    long bw_n;
-
-    double c3co;
-    double coshz;
-    double c2;
-    double c1;
-    int normalization;
-    double y1;
-    double y2;
-} aresoncv_susp_node, *aresoncv_susp_type;
-
-
-void aresoncv_ns_fetch(register aresoncv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresoncv_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;current = *s1_ptr_reg++;
-            *out_ptr_reg++ = (float) (y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg);
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresoncv_ns_fetch */
-
-
-void aresoncv_ni_fetch(register aresoncv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresoncv_ni_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-	    }
-current = *s1_ptr_reg++;
-            *out_ptr_reg++ = (float) (y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg);
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresoncv_ni_fetch */
-
-
-void aresoncv_nr_fetch(register aresoncv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresoncv_nr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;current = *s1_ptr_reg++;
-            *out_ptr_reg++ = (float) (y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg);
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresoncv_nr_fetch */
-
-
-void aresoncv_toss_fetch(susp, snd_list)
-  register aresoncv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from bw up to final_time for this block of zeros */
-    while ((round((final_time - susp->bw->t0) * susp->bw->sr)) >=
-	   susp->bw->current)
-	susp_get_samples(bw, bw_ptr, bw_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->bw->t0) * susp->bw->sr -
-         (susp->bw->current - susp->bw_cnt));
-    susp->bw_ptr += n;
-    susp_took(bw_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void aresoncv_mark(aresoncv_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->bw);
-}
-
-
-void aresoncv_free(aresoncv_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->bw);
-    ffree_generic(susp, sizeof(aresoncv_susp_node), "aresoncv_free");
-}
-
-
-void aresoncv_print_tree(aresoncv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("bw:");
-    sound_print_tree_1(susp->bw, n);
-}
-
-
-sound_type snd_make_aresoncv(sound_type s1, double hz, sound_type bw, int normalization)
-{
-    register aresoncv_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, bw->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (S1) */
-    scale_factor *= s1->scale;
-    s1->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s1->sr < sr) { s1->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, aresoncv_susp_node, "snd_make_aresoncv");
-    susp->c3co = 0.0;
-    susp->coshz = cos(hz * PI2 / s1->sr);
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->normalization = normalization;
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    bw->scale = (float) (bw->scale * (-PI2 / s1->sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(bw, sr);
-    switch (interp_desc) {
-      case INTERP_nn: /* handled below */
-      case INTERP_ns: susp->susp.fetch = aresoncv_ns_fetch; break;
-      case INTERP_ni: susp->susp.fetch = aresoncv_ni_fetch; break;
-      case INTERP_nr: susp->susp.fetch = aresoncv_nr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < bw->t0) sound_prepend_zeros(bw, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(bw->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = aresoncv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = aresoncv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = aresoncv_mark;
-    susp->susp.print_tree = aresoncv_print_tree;
-    susp->susp.name = "aresoncv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->bw = bw;
-    susp->bw_cnt = 0;
-    susp->bw_pHaSe = 0.0;
-    susp->bw_pHaSe_iNcR = bw->sr / sr;
-    susp->bw_n = 0;
-    susp->output_per_bw = sr / bw->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_aresoncv(sound_type s1, double hz, sound_type bw, int normalization)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type bw_copy = sound_copy(bw);
-    return snd_make_aresoncv(s1_copy, hz, bw_copy, normalization);
-}
diff --git a/lib-src/libnyquist/tran/aresoncv.h b/lib-src/libnyquist/tran/aresoncv.h
deleted file mode 100644
index 6cf9a0a..0000000
--- a/lib-src/libnyquist/tran/aresoncv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_aresoncv(sound_type s1, double hz, sound_type bw, int normalization);
-sound_type snd_aresoncv(sound_type s1, double hz, sound_type bw, int normalization);
-    /* LISP: (snd-aresoncv SOUND ANYNUM SOUND FIXNUM) */
diff --git a/lib-src/libnyquist/tran/aresonvc.alg b/lib-src/libnyquist/tran/aresonvc.alg
deleted file mode 100644
index 277ef8a..0000000
--- a/lib-src/libnyquist/tran/aresonvc.alg
+++ /dev/null
@@ -1,34 +0,0 @@
-(ARESONVC-ALG
-(NAME "aresonvc")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz") ("double" "bw")
-           ("int" "normalization"))
-(LINEAR s1)
-(INLINE-INTERPOLATION T)
-(ALWAYS-SCALE hz)
-(START (MAX s1 hz))
-(TERMINATE (MIN s1 hz))
-(LOGICAL-STOP (MIN s1))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION hz)
-(STATE ("double" "c3co" "exp(bw * -PI2 / s1->sr)")
-       ("double" "c3p1" "susp->c3co + 1.0")
-       ("double" "c3t4" "susp->c3co * 4.0")
-       ("double" "omc3" "1.0 - susp->c3co")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("int" "normalization" "normalization")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr))"))
-(DEPENDS ("c2" "hz" "c3t4 * cos(hz) / c3p1")
-         ("c1" "hz" "(normalization == 0 ? 0.0 :
-          (normalization == 1 ? 1.0 - omc3 * sqrt(1.0 - c2 * c2 / c3t4) :
-              1.0 - sqrt(c3p1 * c3p1 - c2 * c2) * omc3 / c3p1))"))
-(CONSTANT "c1" "c2" "c3co" "c3p1" "c3t4" "omc3" "normalization")
-(FORCE-INTO-REGISTER c3t4 c3p1 normalization omc3)
-(INNER-LOOP-LOCALS "            register double y0, current;")
-(INNER-LOOP "current = s1;
-            y0 = c1 * current + c2 * y1 - c3co * y2;
-            output = (sample_type) y0;
-            y2 = y1; y1 = y0 - current")
-)
diff --git a/lib-src/libnyquist/tran/aresonvc.c b/lib-src/libnyquist/tran/aresonvc.c
deleted file mode 100644
index da14fab..0000000
--- a/lib-src/libnyquist/tran/aresonvc.c
+++ /dev/null
@@ -1,586 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "aresonvc.h"
-
-void aresonvc_free();
-
-
-typedef struct aresonvc_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type hz;
-    long hz_cnt;
-    sample_block_values_type hz_ptr;
-
-    /* support for interpolation of hz */
-    sample_type hz_x1_sample;
-    double hz_pHaSe;
-    double hz_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz */
-    double output_per_hz;
-    long hz_n;
-
-    double c3co;
-    double c3p1;
-    double c3t4;
-    double omc3;
-    double c2;
-    double c1;
-    int normalization;
-    double y1;
-    double y2;
-} aresonvc_susp_node, *aresonvc_susp_type;
-
-
-void aresonvc_ns_fetch(register aresonvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type hz_scale_reg = susp->hz->scale;
-    register sample_block_values_type hz_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvc_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz input sample block: */
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	togo = MIN(togo, susp->hz_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz_ptr_reg = susp->hz_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    c2_reg = c3t4_reg * cos((hz_scale_reg * *hz_ptr_reg++)) / c3p1_reg;
-	    c1_reg = (normalization_reg == 0 ? 0.0 :
-          (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-              1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using hz_ptr_reg is a bad idea on RS/6000: */
-	susp->hz_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvc_ns_fetch */
-
-
-void aresonvc_ni_fetch(register aresonvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double hz_pHaSe_iNcR_rEg = susp->hz_pHaSe_iNcR;
-    register double hz_pHaSe_ReG;
-    register sample_type hz_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvc_ni_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	susp->c2 = susp->c3t4 * cos(susp->hz_x1_sample) / susp->c3p1;
-	susp->c1 = (susp->normalization == 0 ? 0.0 :
-          (susp->normalization == 1 ? 1.0 - susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-              1.0 - sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1));
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz_pHaSe_ReG = susp->hz_pHaSe;
-	hz_x1_sample_reg = susp->hz_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (hz_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz */
-		/* pick up next sample as hz_x1_sample: */
-		susp->hz_ptr++;
-		susp_took(hz_cnt, 1);
-		hz_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz, hz_ptr, hz_cnt, hz_x1_sample_reg);
-		hz_x1_sample_reg = susp_current_sample(hz, hz_ptr);
-		c2_reg = susp->c2 = c3t4_reg * cos(hz_x1_sample_reg) / c3p1_reg;
-		c1_reg = susp->c1 = (normalization_reg == 0 ? 0.0 :
-          (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-              1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    hz_pHaSe_ReG += hz_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->hz_pHaSe = hz_pHaSe_ReG;
-	susp->hz_x1_sample = hz_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvc_ni_fetch */
-
-
-void aresonvc_nr_fetch(register aresonvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvc_nr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz_x1_sample when phase goes past 1.0; */
-	/* use hz_n (computed below) to avoid roundoff errors: */
-	if (susp->hz_n <= 0) {
-	    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	    susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	    susp->hz_pHaSe -= 1.0;
-	    /* hz_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz_n = (long) ((1.0 - susp->hz_pHaSe) *
-					susp->output_per_hz);
-	    susp->c2 = susp->c3t4 * cos(susp->hz_x1_sample) / susp->c3p1;
-	    susp->c1 = (susp->normalization == 0 ? 0.0 :
-          (susp->normalization == 1 ? 1.0 - susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-              1.0 - sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1));
-	}
-	togo = MIN(togo, susp->hz_n);
-	hz_val = susp->hz_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz_pHaSe += togo * susp->hz_pHaSe_iNcR;
-	susp->hz_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvc_nr_fetch */
-
-
-void aresonvc_toss_fetch(susp, snd_list)
-  register aresonvc_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from hz up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz->t0) * susp->hz->sr)) >=
-	   susp->hz->current)
-	susp_get_samples(hz, hz_ptr, hz_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->hz->t0) * susp->hz->sr -
-         (susp->hz->current - susp->hz_cnt));
-    susp->hz_ptr += n;
-    susp_took(hz_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void aresonvc_mark(aresonvc_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->hz);
-}
-
-
-void aresonvc_free(aresonvc_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->hz);
-    ffree_generic(susp, sizeof(aresonvc_susp_node), "aresonvc_free");
-}
-
-
-void aresonvc_print_tree(aresonvc_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("hz:");
-    sound_print_tree_1(susp->hz, n);
-}
-
-
-sound_type snd_make_aresonvc(sound_type s1, sound_type hz, double bw, int normalization)
-{
-    register aresonvc_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, hz->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (S1) */
-    scale_factor *= s1->scale;
-    s1->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s1->sr < sr) { s1->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, aresonvc_susp_node, "snd_make_aresonvc");
-    susp->c3co = exp(bw * -PI2 / s1->sr);
-    susp->c3p1 = susp->c3co + 1.0;
-    susp->c3t4 = susp->c3co * 4.0;
-    susp->omc3 = 1.0 - susp->c3co;
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->normalization = normalization;
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz, sr);
-    switch (interp_desc) {
-      case INTERP_nn: /* handled below */
-      case INTERP_ns: susp->susp.fetch = aresonvc_ns_fetch; break;
-      case INTERP_ni: susp->susp.fetch = aresonvc_ni_fetch; break;
-      case INTERP_nr: susp->susp.fetch = aresonvc_nr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < hz->t0) sound_prepend_zeros(hz, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(hz->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = aresonvc_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = aresonvc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = aresonvc_mark;
-    susp->susp.print_tree = aresonvc_print_tree;
-    susp->susp.name = "aresonvc";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->hz = hz;
-    susp->hz_cnt = 0;
-    susp->hz_pHaSe = 0.0;
-    susp->hz_pHaSe_iNcR = hz->sr / sr;
-    susp->hz_n = 0;
-    susp->output_per_hz = sr / hz->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_aresonvc(sound_type s1, sound_type hz, double bw, int normalization)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type hz_copy = sound_copy(hz);
-    return snd_make_aresonvc(s1_copy, hz_copy, bw, normalization);
-}
diff --git a/lib-src/libnyquist/tran/aresonvc.h b/lib-src/libnyquist/tran/aresonvc.h
deleted file mode 100644
index 0783f66..0000000
--- a/lib-src/libnyquist/tran/aresonvc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_aresonvc(sound_type s1, sound_type hz, double bw, int normalization);
-sound_type snd_aresonvc(sound_type s1, sound_type hz, double bw, int normalization);
-    /* LISP: (snd-aresonvc SOUND SOUND ANYNUM FIXNUM) */
diff --git a/lib-src/libnyquist/tran/aresonvv.alg b/lib-src/libnyquist/tran/aresonvv.alg
deleted file mode 100644
index a56c2fd..0000000
--- a/lib-src/libnyquist/tran/aresonvv.alg
+++ /dev/null
@@ -1,50 +0,0 @@
-(ARESONVV-ALG
-(NAME "aresonvv")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz1") ("sound_type" "bw")
-           ("int" "normalization"))
-(INLINE-INTERPOLATION T)
-(ALWAYS-SCALE hz1 bw)
-(START (MAX s1 hz1 bw))
-(TERMINATE (MIN s1 hz1 bw))
-(LOGICAL-STOP (MIN s1))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION hz1 bw)
-(LINEAR s1)
-(STATE ("double" "scale1" "s1->scale")
-       ("double" "c3co" "0.0")
-       ("double" "c3p1" "0.0")
-       ("double" "c3t4" "0.0")
-       ("double" "omc3" "0.0")
-       ("double" "coshz" "0.0")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("boolean" "recompute" "false")
-       ("int" "normalization" "normalization")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0;
-    hz1->scale = (sample_type) (hz1->scale * (PI2 / s1->sr));
-    bw->scale = (sample_type) (bw->scale * (-PI2 / s1->sr));"))
-(DEPENDS ("coshz" "hz1" "cos(hz1)")
-         ("recompute" "hz1" "true")
-         ("c3co"  "bw" "exp(bw)")
-         ("c3p1"  "bw" "c3co + 1.0")
-          ("c3t4"  "bw" "c3co * 4.0")
-         ("omc3"  "bw" "1.0 - c3co")
-         ("recompute" "bw" "true"))
-(JOINT-DEPENDENCY (("hz1" "bw")
-"if (recompute) {"
-"    recompute = false;"
-"    c2 = c3t4 * coshz / c3p1;"
-"    c1 = (normalization == 0 ? 0.0 :"
-"          (normalization == 1 ? 1.0 - omc3 * sqrt(1.0 - c2 * c2 / c3t4) :"
-"           1.0 - sqrt(c3p1 * c3p1 - c2 * c2) * omc3 / c3p1));"
-"}"))
-(CONSTANT "c1" "c2" "c3co" "coshz" "c3p1" "c3t4" "omc3" 
-          "normalization" "scale1")
-(FORCE-INTO-REGISTER recompute) ;c3t4 c3p1 normalization omc3 scale1
-(INNER-LOOP-LOCALS "            register double y0, current;")
-(INNER-LOOP "current = s1;
-            y0 = c1 * current + c2 * y1 - c3co * y2;
-            output = (sample_type) y0;
-            y2 = y1; y1 = y0 - current")
-)
diff --git a/lib-src/libnyquist/tran/aresonvv.c b/lib-src/libnyquist/tran/aresonvv.c
deleted file mode 100644
index de44a8d..0000000
--- a/lib-src/libnyquist/tran/aresonvv.c
+++ /dev/null
@@ -1,1729 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "aresonvv.h"
-
-void aresonvv_free();
-
-
-typedef struct aresonvv_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type hz1;
-    long hz1_cnt;
-    sample_block_values_type hz1_ptr;
-
-    /* support for interpolation of hz1 */
-    sample_type hz1_x1_sample;
-    double hz1_pHaSe;
-    double hz1_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz1 */
-    double output_per_hz1;
-    long hz1_n;
-    sound_type bw;
-    long bw_cnt;
-    sample_block_values_type bw_ptr;
-
-    /* support for interpolation of bw */
-    sample_type bw_x1_sample;
-    double bw_pHaSe;
-    double bw_pHaSe_iNcR;
-
-    /* support for ramp between samples of bw */
-    double output_per_bw;
-    long bw_n;
-
-    double scale1;
-    double c3co;
-    double c3p1;
-    double c3t4;
-    double omc3;
-    double coshz;
-    double c2;
-    double c1;
-    boolean recompute;
-    int normalization;
-    double y1;
-    double y2;
-} aresonvv_susp_node, *aresonvv_susp_type;
-
-
-void aresonvv_nss_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nss_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nss_fetch */
-
-
-void aresonvv_nsi_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nsi_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nsi_fetch */
-
-
-void aresonvv_nsr_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nsr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nsr_fetch */
-
-
-void aresonvv_nis_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nis_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nis_fetch */
-
-
-void aresonvv_nii_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nii_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nii_fetch */
-
-
-void aresonvv_nir_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nir_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nir_fetch */
-
-
-void aresonvv_nrs_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nrs_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nrs_fetch */
-
-
-void aresonvv_nri_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nri_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 0.0 :
-	              (normalization_reg == 1 ? 1.0 - omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               1.0 - sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg));
-	    }
-current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nri_fetch */
-
-
-void aresonvv_nrr_fetch(register aresonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "aresonvv_nrr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	if (susp->recompute) {
-	    susp->recompute = false;
-	    susp->c2 = susp->c3t4 * susp->coshz / susp->c3p1;
-	    susp->c1 = (susp->normalization == 0 ? 0.0 :
-	          (susp->normalization == 1 ? 1.0 - susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-	           1.0 - sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1));
-	}
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            register double y0, current;current = *s1_ptr_reg++;
-            y0 = c1_reg * current + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0 - current;
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* aresonvv_nrr_fetch */
-
-
-void aresonvv_toss_fetch(susp, snd_list)
-  register aresonvv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from hz1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz1->t0) * susp->hz1->sr)) >=
-	   susp->hz1->current)
-	susp_get_samples(hz1, hz1_ptr, hz1_cnt);
-    /* fetch samples from bw up to final_time for this block of zeros */
-    while ((round((final_time - susp->bw->t0) * susp->bw->sr)) >=
-	   susp->bw->current)
-	susp_get_samples(bw, bw_ptr, bw_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->hz1->t0) * susp->hz1->sr -
-         (susp->hz1->current - susp->hz1_cnt));
-    susp->hz1_ptr += n;
-    susp_took(hz1_cnt, n);
-    n = round((final_time - susp->bw->t0) * susp->bw->sr -
-         (susp->bw->current - susp->bw_cnt));
-    susp->bw_ptr += n;
-    susp_took(bw_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void aresonvv_mark(aresonvv_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->hz1);
-    sound_xlmark(susp->bw);
-}
-
-
-void aresonvv_free(aresonvv_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->hz1);
-    sound_unref(susp->bw);
-    ffree_generic(susp, sizeof(aresonvv_susp_node), "aresonvv_free");
-}
-
-
-void aresonvv_print_tree(aresonvv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("hz1:");
-    sound_print_tree_1(susp->hz1, n);
-
-    indent(n);
-    stdputstr("bw:");
-    sound_print_tree_1(susp->bw, n);
-}
-
-
-sound_type snd_make_aresonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization)
-{
-    register aresonvv_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(MAX(s1->t0, hz1->t0), bw->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (S1) */
-    scale_factor *= s1->scale;
-    s1->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s1->sr < sr) { s1->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, aresonvv_susp_node, "snd_make_aresonvv");
-    susp->scale1 = s1->scale;
-    susp->c3co = 0.0;
-    susp->c3p1 = 0.0;
-    susp->c3t4 = 0.0;
-    susp->omc3 = 0.0;
-    susp->coshz = 0.0;
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->recompute = false;
-    susp->normalization = normalization;
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    hz1->scale = (sample_type) (hz1->scale * (PI2 / s1->sr));
-    bw->scale = (sample_type) (bw->scale * (-PI2 / s1->sr));;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(bw, sr);
-    switch (interp_desc) {
-      case INTERP_nnn: /* handled below */
-      case INTERP_nns: /* handled below */
-      case INTERP_nsn: /* handled below */
-      case INTERP_nss: susp->susp.fetch = aresonvv_nss_fetch; break;
-      case INTERP_nni: /* handled below */
-      case INTERP_nsi: susp->susp.fetch = aresonvv_nsi_fetch; break;
-      case INTERP_nnr: /* handled below */
-      case INTERP_nsr: susp->susp.fetch = aresonvv_nsr_fetch; break;
-      case INTERP_nin: /* handled below */
-      case INTERP_nis: susp->susp.fetch = aresonvv_nis_fetch; break;
-      case INTERP_nii: susp->susp.fetch = aresonvv_nii_fetch; break;
-      case INTERP_nir: susp->susp.fetch = aresonvv_nir_fetch; break;
-      case INTERP_nrn: /* handled below */
-      case INTERP_nrs: susp->susp.fetch = aresonvv_nrs_fetch; break;
-      case INTERP_nri: susp->susp.fetch = aresonvv_nri_fetch; break;
-      case INTERP_nrr: susp->susp.fetch = aresonvv_nrr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < hz1->t0) sound_prepend_zeros(hz1, t0);
-    if (t0 < bw->t0) sound_prepend_zeros(bw, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(hz1->t0, MIN(bw->t0, t0)));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = aresonvv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = aresonvv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = aresonvv_mark;
-    susp->susp.print_tree = aresonvv_print_tree;
-    susp->susp.name = "aresonvv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->hz1 = hz1;
-    susp->hz1_cnt = 0;
-    susp->hz1_pHaSe = 0.0;
-    susp->hz1_pHaSe_iNcR = hz1->sr / sr;
-    susp->hz1_n = 0;
-    susp->output_per_hz1 = sr / hz1->sr;
-    susp->bw = bw;
-    susp->bw_cnt = 0;
-    susp->bw_pHaSe = 0.0;
-    susp->bw_pHaSe_iNcR = bw->sr / sr;
-    susp->bw_n = 0;
-    susp->output_per_bw = sr / bw->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_aresonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type hz1_copy = sound_copy(hz1);
-    sound_type bw_copy = sound_copy(bw);
-    return snd_make_aresonvv(s1_copy, hz1_copy, bw_copy, normalization);
-}
diff --git a/lib-src/libnyquist/tran/aresonvv.h b/lib-src/libnyquist/tran/aresonvv.h
deleted file mode 100644
index 1aba1b6..0000000
--- a/lib-src/libnyquist/tran/aresonvv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_aresonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization);
-sound_type snd_aresonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization);
-    /* LISP: (snd-aresonvv SOUND SOUND SOUND FIXNUM) */
diff --git a/lib-src/libnyquist/tran/atone.alg b/lib-src/libnyquist/tran/atone.alg
deleted file mode 100644
index 03b4d9f..0000000
--- a/lib-src/libnyquist/tran/atone.alg
+++ /dev/null
@@ -1,20 +0,0 @@
-(ATONE-ALG
-(NAME "atone")
-(ARGUMENTS ("sound_type" "s") ("double" "hz"))
-(START (MIN s))
-(TERMINATE (MIN s))
-(LOGICAL-STOP (MIN s))
-(STATE ("double" "bb" "2.0 - cos(hz * PI2 / s->sr)" TEMP)
-       ("double" "cc" "bb - sqrt((bb * bb) - 1.0)")
-       ("double" "prev" "0.0"))
-(CONSTANT "cc")
-(INNER-LOOP-LOCALS "        double current;
-")
-(INNER-LOOP "current = s;
-            prev = cc * (prev + current); /* use prev as temp variable ... */
-            output = (float) prev; /* ... so we can do proper type conversion */
-            prev -= current;")
-; old code was:
-;	    prev = (output = cc * (prev + current)) - current;")
-)
-
diff --git a/lib-src/libnyquist/tran/atone.c b/lib-src/libnyquist/tran/atone.c
deleted file mode 100644
index 11ee7f2..0000000
--- a/lib-src/libnyquist/tran/atone.c
+++ /dev/null
@@ -1,317 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "atone.h"
-
-void atone_free();
-
-
-typedef struct atone_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-
-    double cc;
-    double prev;
-} atone_susp_node, *atone_susp_type;
-
-
-void atone_n_fetch(register atone_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double cc_reg;
-    register double prev_reg;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "atone_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	cc_reg = susp->cc;
-	prev_reg = susp->prev;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        double current;
-current = *s_ptr_reg++;
-            prev_reg = cc_reg * (prev_reg + current); /* use prev_reg as temp variable ... */
-            *out_ptr_reg++ = (float) prev_reg; /* ... so we can do proper type conversion */
-            prev_reg -= current;;
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* atone_n_fetch */
-
-
-void atone_s_fetch(register atone_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double cc_reg;
-    register double prev_reg;
-    register sample_type s_scale_reg = susp->s->scale;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "atone_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	cc_reg = susp->cc;
-	prev_reg = susp->prev;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        double current;
-current = (s_scale_reg * *s_ptr_reg++);
-            prev_reg = cc_reg * (prev_reg + current); /* use prev_reg as temp variable ... */
-            *out_ptr_reg++ = (float) prev_reg; /* ... so we can do proper type conversion */
-            prev_reg -= current;;
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* atone_s_fetch */
-
-
-void atone_toss_fetch(susp, snd_list)
-  register atone_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while ((round((final_time - susp->s->t0) * susp->s->sr)) >=
-	   susp->s->current)
-	susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s->t0) * susp->s->sr -
-         (susp->s->current - susp->s_cnt));
-    susp->s_ptr += n;
-    susp_took(s_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void atone_mark(atone_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void atone_free(atone_susp_type susp)
-{
-    sound_unref(susp->s);
-    ffree_generic(susp, sizeof(atone_susp_node), "atone_free");
-}
-
-
-void atone_print_tree(atone_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_atone(sound_type s, double hz)
-{
-    register atone_susp_type susp;
-    double bb;
-    rate_type sr = s->sr;
-    time_type t0 = s->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, atone_susp_node, "snd_make_atone");
-    bb = 2.0 - cos(hz * PI2 / s->sr);
-    susp->cc = bb - sqrt((bb * bb) - 1.0);
-    susp->prev = 0.0;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = atone_n_fetch; break;
-      case INTERP_s: susp->susp.fetch = atone_s_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = atone_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = atone_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = atone_mark;
-    susp->susp.print_tree = atone_print_tree;
-    susp->susp.name = "atone";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_atone(sound_type s, double hz)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_atone(s_copy, hz);
-}
diff --git a/lib-src/libnyquist/tran/atone.h b/lib-src/libnyquist/tran/atone.h
deleted file mode 100644
index 9fa57d5..0000000
--- a/lib-src/libnyquist/tran/atone.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_atone(sound_type s, double hz);
-sound_type snd_atone(sound_type s, double hz);
-    /* LISP: (snd-atone SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/atonev.alg b/lib-src/libnyquist/tran/atonev.alg
deleted file mode 100644
index 441206f..0000000
--- a/lib-src/libnyquist/tran/atonev.alg
+++ /dev/null
@@ -1,25 +0,0 @@
-(ATONEV-ALG
-(NAME "atonev")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz"))
-(INLINE-INTERPOLATION T)
-(LINEAR hz)
-(ALWAYS-SCALE hz)
-(START (MAX s1 hz))
-(TERMINATE (MIN s1 hz))
-(LOGICAL-STOP (MIN s1))
-(STATE ("double" "cc" "0.0")
-       ("double" "prev" "0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr))"))
-(LINEAR s1)
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION hz)
-(DEPENDS ("bb" "hz" "2.0 - cos(hz)" TEMP "register double")
-         ("cc" "hz" "bb - sqrt((bb * bb) - 1.0)"))
-(CONSTANT "cc")
-(INNER-LOOP-LOCALS "        double current;
-")
-(INNER-LOOP "current = s1;
-            prev = cc * (prev + current);
-            output = (sample_type) prev;
-            prev -= current;")
-)
diff --git a/lib-src/libnyquist/tran/atonev.c b/lib-src/libnyquist/tran/atonev.c
deleted file mode 100644
index 271dada..0000000
--- a/lib-src/libnyquist/tran/atonev.c
+++ /dev/null
@@ -1,526 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "atonev.h"
-
-void atonev_free();
-
-
-typedef struct atonev_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type hz;
-    long hz_cnt;
-    sample_block_values_type hz_ptr;
-
-    /* support for interpolation of hz */
-    sample_type hz_x1_sample;
-    double hz_pHaSe;
-    double hz_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz */
-    double output_per_hz;
-    long hz_n;
-
-    double cc;
-    double prev;
-} atonev_susp_node, *atonev_susp_type;
-
-
-void atonev_ns_fetch(register atonev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double cc_reg;
-    register double prev_reg;
-    register sample_type hz_scale_reg = susp->hz->scale;
-    register sample_block_values_type hz_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "atonev_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz input sample block: */
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	togo = MIN(togo, susp->hz_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	cc_reg = susp->cc;
-	prev_reg = susp->prev;
-	hz_ptr_reg = susp->hz_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        double current;
-	    register double bb;
-	    bb = 2.0 - cos((hz_scale_reg * *hz_ptr_reg++));
-	    cc_reg = bb - sqrt((bb * bb) - 1.0);
-current = *s1_ptr_reg++;
-            prev_reg = cc_reg * (prev_reg + current);
-            *out_ptr_reg++ = (sample_type) prev_reg;
-            prev_reg -= current;;
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using hz_ptr_reg is a bad idea on RS/6000: */
-	susp->hz_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* atonev_ns_fetch */
-
-
-void atonev_ni_fetch(register atonev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double cc_reg;
-    register double prev_reg;
-    register double hz_pHaSe_iNcR_rEg = susp->hz_pHaSe_iNcR;
-    register double hz_pHaSe_ReG;
-    register sample_type hz_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "atonev_ni_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	    register double bb;
-	susp->started = true;
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	bb = 2.0 - cos(susp->hz_x1_sample);
-	susp->cc = bb - sqrt((bb * bb) - 1.0);
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	cc_reg = susp->cc;
-	prev_reg = susp->prev;
-	hz_pHaSe_ReG = susp->hz_pHaSe;
-	hz_x1_sample_reg = susp->hz_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        double current;
-	    if (hz_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz */
-		register double bb; 
-		/* pick up next sample as hz_x1_sample: */
-		susp->hz_ptr++;
-		susp_took(hz_cnt, 1);
-		hz_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz, hz_ptr, hz_cnt, hz_x1_sample_reg);
-		hz_x1_sample_reg = susp_current_sample(hz, hz_ptr);
-		bb = 2.0 - cos(hz_x1_sample_reg);
-		cc_reg = susp->cc = bb - sqrt((bb * bb) - 1.0);
-	    }
-current = *s1_ptr_reg++;
-            prev_reg = cc_reg * (prev_reg + current);
-            *out_ptr_reg++ = (sample_type) prev_reg;
-            prev_reg -= current;;
-	    hz_pHaSe_ReG += hz_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->prev = prev_reg;
-	susp->hz_pHaSe = hz_pHaSe_ReG;
-	susp->hz_x1_sample = hz_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* atonev_ni_fetch */
-
-
-void atonev_nr_fetch(register atonev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double cc_reg;
-    register double prev_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "atonev_nr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz_x1_sample when phase goes past 1.0; */
-	/* use hz_n (computed below) to avoid roundoff errors: */
-	if (susp->hz_n <= 0) {
-	    register double bb;
-	    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	    susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	    susp->hz_pHaSe -= 1.0;
-	    /* hz_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz_n = (long) ((1.0 - susp->hz_pHaSe) *
-					susp->output_per_hz);
-	    bb = 2.0 - cos(susp->hz_x1_sample);
-	    susp->cc = bb - sqrt((bb * bb) - 1.0);
-	}
-	togo = MIN(togo, susp->hz_n);
-	hz_val = susp->hz_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	cc_reg = susp->cc;
-	prev_reg = susp->prev;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-        double current;
-current = *s1_ptr_reg++;
-            prev_reg = cc_reg * (prev_reg + current);
-            *out_ptr_reg++ = (sample_type) prev_reg;
-            prev_reg -= current;;
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz_pHaSe += togo * susp->hz_pHaSe_iNcR;
-	susp->hz_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* atonev_nr_fetch */
-
-
-void atonev_toss_fetch(susp, snd_list)
-  register atonev_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from hz up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz->t0) * susp->hz->sr)) >=
-	   susp->hz->current)
-	susp_get_samples(hz, hz_ptr, hz_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->hz->t0) * susp->hz->sr -
-         (susp->hz->current - susp->hz_cnt));
-    susp->hz_ptr += n;
-    susp_took(hz_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void atonev_mark(atonev_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->hz);
-}
-
-
-void atonev_free(atonev_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->hz);
-    ffree_generic(susp, sizeof(atonev_susp_node), "atonev_free");
-}
-
-
-void atonev_print_tree(atonev_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("hz:");
-    sound_print_tree_1(susp->hz, n);
-}
-
-
-sound_type snd_make_atonev(sound_type s1, sound_type hz)
-{
-    register atonev_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, hz->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (S1) */
-    scale_factor *= s1->scale;
-    s1->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s1->sr < sr) { s1->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, atonev_susp_node, "snd_make_atonev");
-    susp->cc = 0.0;
-    susp->prev = 0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz, sr);
-    switch (interp_desc) {
-      case INTERP_nn: /* handled below */
-      case INTERP_ns: susp->susp.fetch = atonev_ns_fetch; break;
-      case INTERP_ni: susp->susp.fetch = atonev_ni_fetch; break;
-      case INTERP_nr: susp->susp.fetch = atonev_nr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < hz->t0) sound_prepend_zeros(hz, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(hz->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = atonev_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = atonev_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = atonev_mark;
-    susp->susp.print_tree = atonev_print_tree;
-    susp->susp.name = "atonev";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->hz = hz;
-    susp->hz_cnt = 0;
-    susp->hz_pHaSe = 0.0;
-    susp->hz_pHaSe_iNcR = hz->sr / sr;
-    susp->hz_n = 0;
-    susp->output_per_hz = sr / hz->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_atonev(sound_type s1, sound_type hz)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type hz_copy = sound_copy(hz);
-    return snd_make_atonev(s1_copy, hz_copy);
-}
diff --git a/lib-src/libnyquist/tran/atonev.h b/lib-src/libnyquist/tran/atonev.h
deleted file mode 100644
index 9abcc2a..0000000
--- a/lib-src/libnyquist/tran/atonev.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_atonev(sound_type s1, sound_type hz);
-sound_type snd_atonev(sound_type s1, sound_type hz);
-    /* LISP: (snd-atonev SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/biquad.alg b/lib-src/libnyquist/tran/biquad.alg
deleted file mode 100644
index 094761f..0000000
--- a/lib-src/libnyquist/tran/biquad.alg
+++ /dev/null
@@ -1,27 +0,0 @@
-; general order-2 IIR filter.
-; a0 is assumed to be unity.
-; for a1 and a2, our sign convention is opposite to Matlab's.
-
-(BIQUAD-ALG
-(NAME "biquad")
-(ARGUMENTS ("sound_type" "s") 
-        ("double" "b0") ("double" "b1") ("double" "b2") 
-                         ("double" "a1") ("double" "a2")
-        ("double" "z1init") ("double" "z2init"))
-(START (MIN s))
-(TERMINATE (MIN s))
-(LOGICAL-STOP (MIN s))
-(STATE	("double" "z1" "z1init")
-        ("double" "z2" "z2init")
-        ("double" "b0" "b0")
-        ("double" "b1" "b1")
-        ("double" "b2" "b2")
-        ("double" "a1" "a1")
-        ("double" "a2" "a2"))
-(CONSTANT "b0" "b1" "b2" "a1" "a2")
-(INNER-LOOP-LOCALS "double z0;")
-(INNER-LOOP "	z0 = s + a1*z1 + a2*z2;
-                    output = (sample_type) (z0*b0 + z1*b1 + z2*b2);
-                    z2 = z1; z1 = z0;")
-)
-
diff --git a/lib-src/libnyquist/tran/biquad.c b/lib-src/libnyquist/tran/biquad.c
deleted file mode 100644
index 956bf0a..0000000
--- a/lib-src/libnyquist/tran/biquad.c
+++ /dev/null
@@ -1,343 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "biquad.h"
-
-void biquad_free();
-
-
-typedef struct biquad_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-
-    double z1;
-    double z2;
-    double b0;
-    double b1;
-    double b2;
-    double a1;
-    double a2;
-} biquad_susp_node, *biquad_susp_type;
-
-
-void biquad_n_fetch(register biquad_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double z1_reg;
-    register double z2_reg;
-    register double b0_reg;
-    register double b1_reg;
-    register double b2_reg;
-    register double a1_reg;
-    register double a2_reg;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "biquad_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	z1_reg = susp->z1;
-	z2_reg = susp->z2;
-	b0_reg = susp->b0;
-	b1_reg = susp->b1;
-	b2_reg = susp->b2;
-	a1_reg = susp->a1;
-	a2_reg = susp->a2;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-double z0;	z0 = *s_ptr_reg++ + a1_reg*z1_reg + a2_reg*z2_reg;
-                    *out_ptr_reg++ = (sample_type) (z0*b0_reg + z1_reg*b1_reg + z2_reg*b2_reg);
-                    z2_reg = z1_reg; z1_reg = z0;;
-	} while (--n); /* inner loop */
-
-	susp->z1 = z1_reg;
-	susp->z2 = z2_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* biquad_n_fetch */
-
-
-void biquad_s_fetch(register biquad_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double z1_reg;
-    register double z2_reg;
-    register double b0_reg;
-    register double b1_reg;
-    register double b2_reg;
-    register double a1_reg;
-    register double a2_reg;
-    register sample_type s_scale_reg = susp->s->scale;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "biquad_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	z1_reg = susp->z1;
-	z2_reg = susp->z2;
-	b0_reg = susp->b0;
-	b1_reg = susp->b1;
-	b2_reg = susp->b2;
-	a1_reg = susp->a1;
-	a2_reg = susp->a2;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-double z0;	z0 = (s_scale_reg * *s_ptr_reg++) + a1_reg*z1_reg + a2_reg*z2_reg;
-                    *out_ptr_reg++ = (sample_type) (z0*b0_reg + z1_reg*b1_reg + z2_reg*b2_reg);
-                    z2_reg = z1_reg; z1_reg = z0;;
-	} while (--n); /* inner loop */
-
-	susp->z1 = z1_reg;
-	susp->z2 = z2_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* biquad_s_fetch */
-
-
-void biquad_toss_fetch(susp, snd_list)
-  register biquad_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while ((round((final_time - susp->s->t0) * susp->s->sr)) >=
-	   susp->s->current)
-	susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s->t0) * susp->s->sr -
-         (susp->s->current - susp->s_cnt));
-    susp->s_ptr += n;
-    susp_took(s_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void biquad_mark(biquad_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void biquad_free(biquad_susp_type susp)
-{
-    sound_unref(susp->s);
-    ffree_generic(susp, sizeof(biquad_susp_node), "biquad_free");
-}
-
-
-void biquad_print_tree(biquad_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_biquad(sound_type s, double b0, double b1, double b2, double a1, double a2, double z1init, double z2init)
-{
-    register biquad_susp_type susp;
-    rate_type sr = s->sr;
-    time_type t0 = s->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, biquad_susp_node, "snd_make_biquad");
-    susp->z1 = z1init;
-    susp->z2 = z2init;
-    susp->b0 = b0;
-    susp->b1 = b1;
-    susp->b2 = b2;
-    susp->a1 = a1;
-    susp->a2 = a2;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = biquad_n_fetch; break;
-      case INTERP_s: susp->susp.fetch = biquad_s_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = biquad_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = biquad_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = biquad_mark;
-    susp->susp.print_tree = biquad_print_tree;
-    susp->susp.name = "biquad";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_biquad(sound_type s, double b0, double b1, double b2, double a1, double a2, double z1init, double z2init)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_biquad(s_copy, b0, b1, b2, a1, a2, z1init, z2init);
-}
diff --git a/lib-src/libnyquist/tran/biquad.h b/lib-src/libnyquist/tran/biquad.h
deleted file mode 100644
index 29f06bb..0000000
--- a/lib-src/libnyquist/tran/biquad.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_biquad(sound_type s, double b0, double b1, double b2, double a1, double a2, double z1init, double z2init);
-sound_type snd_biquad(sound_type s, double b0, double b1, double b2, double a1, double a2, double z1init, double z2init);
-    /* LISP: (snd-biquad SOUND ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/buzz.alg b/lib-src/libnyquist/tran/buzz.alg
deleted file mode 100644
index c0fe6f5..0000000
--- a/lib-src/libnyquist/tran/buzz.alg
+++ /dev/null
@@ -1,50 +0,0 @@
-(BUZZ-ALG
-(NAME "buzz")
-(ARGUMENTS ("long" "n") ("rate_type" "sr") ("double" "hz")
-           ("time_type" "t0") ("sound_type" "s_fm"))
-(SUPPORT-FUNCTIONS "
-#include \"sine.h\"
-")
-(STATE ("double" "ph_incr" "0")
-       ("float" "n_2_r" "1.0F / (n * 2)")
-       ("float" "n_2_p1" "(n * 2) + 1")
-       ("double" "phase" "compute_phase(PI*0.5, 69.0, SINE_TABLE_LEN,
-        SINE_TABLE_LEN * 440.0, sr, hz, &susp->ph_incr);
-    s_fm->scale *= hz != 0 ? (sample_type) (susp->ph_incr / hz)
-                           : (sample_type) (SINE_TABLE_LEN / sr)"));cancel 0/0
-
-(ALWAYS-SCALE s_fm)
-(INLINE-INTERPOLATION T) ; so that modulation can be low frequency
-(STEP-FUNCTION s_fm)
-(TERMINATE (MIN s_fm))
-(LOGICAL-STOP (MIN s_fm))
-(INNER-LOOP-LOCALS "	    long table_index;
-            double x1;
-            sample_type num, denom, samp;
-")
-(INNER-LOOP "
-            table_index = (long) phase;
-            x1 = sine_table[table_index];
-            denom = (sample_type) (x1 + (phase - table_index) * 
-                          (sine_table[table_index + 1] - x1));
-            if (denom < 0.001 && denom > -0.005) {
-                samp = 1.0F;
-            } else {
-                double phn2p1 = phase * n_2_p1 * (1.0/SINE_TABLE_LEN);
-                phn2p1 = (phn2p1 - (long) phn2p1) * SINE_TABLE_LEN;
-                table_index = (long) phn2p1;
-                x1 = sine_table[table_index];
-                num = (sample_type) (x1 + (phn2p1 - table_index) *
-                        (sine_table[table_index + 1] - x1));
-                samp = ((num / denom) - 1.0F) * n_2_r;
-            }
-            output = samp;
-            phase += ph_incr + s_fm;
-            while (phase > SINE_TABLE_LEN) phase -= SINE_TABLE_LEN;
-            /* watch out for negative frequencies! */
-            while (phase < 0) phase += SINE_TABLE_LEN")
-(CONSTANT "ph_incr" "n_2_p1" "n_2_r")
-
-(SAMPLE-RATE "sr")
-)
-
diff --git a/lib-src/libnyquist/tran/buzz.c b/lib-src/libnyquist/tran/buzz.c
deleted file mode 100644
index 718fd3c..0000000
--- a/lib-src/libnyquist/tran/buzz.c
+++ /dev/null
@@ -1,536 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "buzz.h"
-
-void buzz_free();
-
-
-typedef struct buzz_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s_fm;
-    long s_fm_cnt;
-    sample_block_values_type s_fm_ptr;
-
-    /* support for interpolation of s_fm */
-    sample_type s_fm_x1_sample;
-    double s_fm_pHaSe;
-    double s_fm_pHaSe_iNcR;
-
-    /* support for ramp between samples of s_fm */
-    double output_per_s_fm;
-    long s_fm_n;
-
-    double ph_incr;
-    float n_2_r;
-    float n_2_p1;
-    double phase;
-} buzz_susp_node, *buzz_susp_type;
-
-
-#include "sine.h"
-
-
-void buzz_s_fetch(register buzz_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double ph_incr_reg;
-    register float n_2_r_reg;
-    register float n_2_p1_reg;
-    register double phase_reg;
-    register sample_type s_fm_scale_reg = susp->s_fm->scale;
-    register sample_block_values_type s_fm_ptr_reg;
-    falloc_sample_block(out, "buzz_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s_fm input sample block: */
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	togo = MIN(togo, susp->s_fm_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	ph_incr_reg = susp->ph_incr;
-	n_2_r_reg = susp->n_2_r;
-	n_2_p1_reg = susp->n_2_p1;
-	phase_reg = susp->phase;
-	s_fm_ptr_reg = susp->s_fm_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-            sample_type num, denom, samp;
-
-            table_index = (long) phase_reg;
-            x1 = sine_table[table_index];
-            denom = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (sine_table[table_index + 1] - x1));
-            if (denom < 0.001 && denom > -0.005) {
-                samp = 1.0F;
-            } else {
-                double phn2p1 = phase_reg * n_2_p1_reg * (1.0/SINE_TABLE_LEN);
-                phn2p1 = (phn2p1 - (long) phn2p1) * SINE_TABLE_LEN;
-                table_index = (long) phn2p1;
-                x1 = sine_table[table_index];
-                num = (sample_type) (x1 + (phn2p1 - table_index) *
-                        (sine_table[table_index + 1] - x1));
-                samp = ((num / denom) - 1.0F) * n_2_r_reg;
-            }
-            *out_ptr_reg++ = samp;
-            phase_reg += ph_incr_reg + (s_fm_scale_reg * *s_fm_ptr_reg++);
-            while (phase_reg > SINE_TABLE_LEN) phase_reg -= SINE_TABLE_LEN;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += SINE_TABLE_LEN;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	/* using s_fm_ptr_reg is a bad idea on RS/6000: */
-	susp->s_fm_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_fm_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* buzz_s_fetch */
-
-
-void buzz_i_fetch(register buzz_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double ph_incr_reg;
-    register float n_2_r_reg;
-    register float n_2_p1_reg;
-    register double phase_reg;
-    register double s_fm_pHaSe_iNcR_rEg = susp->s_fm_pHaSe_iNcR;
-    register double s_fm_pHaSe_ReG;
-    register sample_type s_fm_x1_sample_reg;
-    falloc_sample_block(out, "buzz_i_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	ph_incr_reg = susp->ph_incr;
-	n_2_r_reg = susp->n_2_r;
-	n_2_p1_reg = susp->n_2_p1;
-	phase_reg = susp->phase;
-	s_fm_pHaSe_ReG = susp->s_fm_pHaSe;
-	s_fm_x1_sample_reg = susp->s_fm_x1_sample;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-            sample_type num, denom, samp;
-	    if (s_fm_pHaSe_ReG >= 1.0) {
-/* fixup-depends s_fm */
-		/* pick up next sample as s_fm_x1_sample: */
-		susp->s_fm_ptr++;
-		susp_took(s_fm_cnt, 1);
-		s_fm_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(s_fm, s_fm_ptr, s_fm_cnt, s_fm_x1_sample_reg);
-		s_fm_x1_sample_reg = susp_current_sample(s_fm, s_fm_ptr);
-	    }
-
-            table_index = (long) phase_reg;
-            x1 = sine_table[table_index];
-            denom = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (sine_table[table_index + 1] - x1));
-            if (denom < 0.001 && denom > -0.005) {
-                samp = 1.0F;
-            } else {
-                double phn2p1 = phase_reg * n_2_p1_reg * (1.0/SINE_TABLE_LEN);
-                phn2p1 = (phn2p1 - (long) phn2p1) * SINE_TABLE_LEN;
-                table_index = (long) phn2p1;
-                x1 = sine_table[table_index];
-                num = (sample_type) (x1 + (phn2p1 - table_index) *
-                        (sine_table[table_index + 1] - x1));
-                samp = ((num / denom) - 1.0F) * n_2_r_reg;
-            }
-            *out_ptr_reg++ = samp;
-            phase_reg += ph_incr_reg + s_fm_x1_sample_reg;
-            while (phase_reg > SINE_TABLE_LEN) phase_reg -= SINE_TABLE_LEN;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += SINE_TABLE_LEN;
-	    s_fm_pHaSe_ReG += s_fm_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->phase = phase_reg;
-	susp->s_fm_pHaSe = s_fm_pHaSe_ReG;
-	susp->s_fm_x1_sample = s_fm_x1_sample_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* buzz_i_fetch */
-
-
-void buzz_r_fetch(register buzz_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type s_fm_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double ph_incr_reg;
-    register float n_2_r_reg;
-    register float n_2_p1_reg;
-    register double phase_reg;
-    falloc_sample_block(out, "buzz_r_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->s_fm_pHaSe = 1.0;
-    }
-
-    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* grab next s_fm_x1_sample when phase goes past 1.0; */
-	/* use s_fm_n (computed below) to avoid roundoff errors: */
-	if (susp->s_fm_n <= 0) {
-	    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_pHaSe -= 1.0;
-	    /* s_fm_n gets number of samples before phase exceeds 1.0: */
-	    susp->s_fm_n = (long) ((1.0 - susp->s_fm_pHaSe) *
-					susp->output_per_s_fm);
-	}
-	togo = MIN(togo, susp->s_fm_n);
-	s_fm_val = susp->s_fm_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	ph_incr_reg = susp->ph_incr;
-	n_2_r_reg = susp->n_2_r;
-	n_2_p1_reg = susp->n_2_p1;
-	phase_reg = susp->phase;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-            sample_type num, denom, samp;
-
-            table_index = (long) phase_reg;
-            x1 = sine_table[table_index];
-            denom = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (sine_table[table_index + 1] - x1));
-            if (denom < 0.001 && denom > -0.005) {
-                samp = 1.0F;
-            } else {
-                double phn2p1 = phase_reg * n_2_p1_reg * (1.0/SINE_TABLE_LEN);
-                phn2p1 = (phn2p1 - (long) phn2p1) * SINE_TABLE_LEN;
-                table_index = (long) phn2p1;
-                x1 = sine_table[table_index];
-                num = (sample_type) (x1 + (phn2p1 - table_index) *
-                        (sine_table[table_index + 1] - x1));
-                samp = ((num / denom) - 1.0F) * n_2_r_reg;
-            }
-            *out_ptr_reg++ = samp;
-            phase_reg += ph_incr_reg + s_fm_val;
-            while (phase_reg > SINE_TABLE_LEN) phase_reg -= SINE_TABLE_LEN;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += SINE_TABLE_LEN;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	out_ptr += togo;
-	susp->s_fm_pHaSe += togo * susp->s_fm_pHaSe_iNcR;
-	susp->s_fm_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* buzz_r_fetch */
-
-
-void buzz_toss_fetch(susp, snd_list)
-  register buzz_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s_fm up to final_time for this block of zeros */
-    while ((round((final_time - susp->s_fm->t0) * susp->s_fm->sr)) >=
-	   susp->s_fm->current)
-	susp_get_samples(s_fm, s_fm_ptr, s_fm_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s_fm->t0) * susp->s_fm->sr -
-         (susp->s_fm->current - susp->s_fm_cnt));
-    susp->s_fm_ptr += n;
-    susp_took(s_fm_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void buzz_mark(buzz_susp_type susp)
-{
-    sound_xlmark(susp->s_fm);
-}
-
-
-void buzz_free(buzz_susp_type susp)
-{
-    sound_unref(susp->s_fm);
-    ffree_generic(susp, sizeof(buzz_susp_node), "buzz_free");
-}
-
-
-void buzz_print_tree(buzz_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s_fm:");
-    sound_print_tree_1(susp->s_fm, n);
-}
-
-
-sound_type snd_make_buzz(long n, rate_type sr, double hz, time_type t0, sound_type s_fm)
-{
-    register buzz_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, buzz_susp_node, "snd_make_buzz");
-    susp->ph_incr = 0;
-    susp->n_2_r = 1.0F / (n * 2);
-    susp->n_2_p1 = (float) ((n * 2) + 1);
-    susp->phase = compute_phase(PI*0.5, 69.0, SINE_TABLE_LEN,
-        SINE_TABLE_LEN * 440.0, sr, hz, &susp->ph_incr);
-    s_fm->scale *= hz != 0 ? (sample_type) (susp->ph_incr / hz)
-                           : (sample_type) (SINE_TABLE_LEN / sr);
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s_fm, sr);
-    switch (interp_desc) {
-      case INTERP_n: /* handled below */
-      case INTERP_s: susp->susp.fetch = buzz_s_fetch; break;
-      case INTERP_i: susp->susp.fetch = buzz_i_fetch; break;
-      case INTERP_r: susp->susp.fetch = buzz_r_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s_fm->t0) sound_prepend_zeros(s_fm, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s_fm->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = buzz_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = buzz_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = buzz_mark;
-    susp->susp.print_tree = buzz_print_tree;
-    susp->susp.name = "buzz";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s_fm);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s_fm = s_fm;
-    susp->s_fm_cnt = 0;
-    susp->s_fm_pHaSe = 0.0;
-    susp->s_fm_pHaSe_iNcR = s_fm->sr / sr;
-    susp->s_fm_n = 0;
-    susp->output_per_s_fm = sr / s_fm->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_buzz(long n, rate_type sr, double hz, time_type t0, sound_type s_fm)
-{
-    sound_type s_fm_copy = sound_copy(s_fm);
-    return snd_make_buzz(n, sr, hz, t0, s_fm_copy);
-}
diff --git a/lib-src/libnyquist/tran/buzz.h b/lib-src/libnyquist/tran/buzz.h
deleted file mode 100644
index 466c7f3..0000000
--- a/lib-src/libnyquist/tran/buzz.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_buzz(long n, rate_type sr, double hz, time_type t0, sound_type s_fm);
-sound_type snd_buzz(long n, rate_type sr, double hz, time_type t0, sound_type s_fm);
-    /* LISP: (snd-buzz FIXNUM ANYNUM ANYNUM ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/tran/chase.alg b/lib-src/libnyquist/tran/chase.alg
deleted file mode 100644
index dd4b0c1..0000000
--- a/lib-src/libnyquist/tran/chase.alg
+++ /dev/null
@@ -1,19 +0,0 @@
-(CHASE-ALG
-  (NAME "chase")
-  (ARGUMENTS ("sound_type" "input") ("double" "risetime") ("double" "falltime")) 
-  (STATE ("double" "level" "0.0")
-         ("double" "upslope" "1.0/(input->sr * risetime)")
-         ("double" "downslope" "1.0/(input->sr * falltime)"))
-  (START (MIN input))
-  (INNER-LOOP "	double x = input;
-        if (x > level) {
-            level += upslope;
-            if (x < level) level = x;
-        } else {
-            level -= downslope;
-            if (x > level) level = x;
-        }
-        output = (sample_type) level;")
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-)
diff --git a/lib-src/libnyquist/tran/chase.c b/lib-src/libnyquist/tran/chase.c
deleted file mode 100644
index 002c684..0000000
--- a/lib-src/libnyquist/tran/chase.c
+++ /dev/null
@@ -1,333 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "chase.h"
-
-void chase_free();
-
-
-typedef struct chase_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double level;
-    double upslope;
-    double downslope;
-} chase_susp_node, *chase_susp_type;
-
-
-void chase_n_fetch(register chase_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double level_reg;
-    register double upslope_reg;
-    register double downslope_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "chase_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	level_reg = susp->level;
-	upslope_reg = susp->upslope;
-	downslope_reg = susp->downslope;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	double x = *input_ptr_reg++;
-        if (x > level_reg) {
-            level_reg += upslope_reg;
-            if (x < level_reg) level_reg = x;
-        } else {
-            level_reg -= downslope_reg;
-            if (x > level_reg) level_reg = x;
-        }
-        *out_ptr_reg++ = (sample_type) level_reg;;
-	} while (--n); /* inner loop */
-
-	susp->level = level_reg;
-	susp->upslope = upslope_reg;
-	susp->downslope = downslope_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* chase_n_fetch */
-
-
-void chase_s_fetch(register chase_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double level_reg;
-    register double upslope_reg;
-    register double downslope_reg;
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "chase_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	level_reg = susp->level;
-	upslope_reg = susp->upslope;
-	downslope_reg = susp->downslope;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	double x = (input_scale_reg * *input_ptr_reg++);
-        if (x > level_reg) {
-            level_reg += upslope_reg;
-            if (x < level_reg) level_reg = x;
-        } else {
-            level_reg -= downslope_reg;
-            if (x > level_reg) level_reg = x;
-        }
-        *out_ptr_reg++ = (sample_type) level_reg;;
-	} while (--n); /* inner loop */
-
-	susp->level = level_reg;
-	susp->upslope = upslope_reg;
-	susp->downslope = downslope_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* chase_s_fetch */
-
-
-void chase_toss_fetch(susp, snd_list)
-  register chase_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void chase_mark(chase_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void chase_free(chase_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(chase_susp_node), "chase_free");
-}
-
-
-void chase_print_tree(chase_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_chase(sound_type input, double risetime, double falltime)
-{
-    register chase_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, chase_susp_node, "snd_make_chase");
-    susp->level = 0.0;
-    susp->upslope = 1.0/(input->sr * risetime);
-    susp->downslope = 1.0/(input->sr * falltime);
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(input, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = chase_n_fetch; break;
-      case INTERP_s: susp->susp.fetch = chase_s_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = chase_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = chase_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = chase_mark;
-    susp->susp.print_tree = chase_print_tree;
-    susp->susp.name = "chase";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_chase(sound_type input, double risetime, double falltime)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_chase(input_copy, risetime, falltime);
-}
diff --git a/lib-src/libnyquist/tran/chase.h b/lib-src/libnyquist/tran/chase.h
deleted file mode 100644
index a63112e..0000000
--- a/lib-src/libnyquist/tran/chase.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_chase(sound_type input, double risetime, double falltime);
-sound_type snd_chase(sound_type input, double risetime, double falltime);
-    /* LISP: (snd-chase SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/clip.alg b/lib-src/libnyquist/tran/clip.alg
deleted file mode 100644
index a541ebb..0000000
--- a/lib-src/libnyquist/tran/clip.alg
+++ /dev/null
@@ -1,10 +0,0 @@
-(CLIP-ALG
-  (NAME "clip")
-  (ARGUMENTS ("sound_type" "s") ("double" "level")) 
-  (LINEAR s) ; this will move the scale factor to the result
-  (STATE ("double" "lev" "level * s->scale"))
-  (START (MIN s))
-  (INNER-LOOP "double x = s; output = (sample_type) (x > lev ? lev : (x < -lev ? -lev : x))")
-  (TERMINATE (MIN s))
-  (LOGICAL-STOP (MIN s))
-)
diff --git a/lib-src/libnyquist/tran/clip.c b/lib-src/libnyquist/tran/clip.c
deleted file mode 100644
index 1609a52..0000000
--- a/lib-src/libnyquist/tran/clip.c
+++ /dev/null
@@ -1,210 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "clip.h"
-
-void clip_free();
-
-
-typedef struct clip_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-
-    double lev;
-} clip_susp_node, *clip_susp_type;
-
-
-void clip_n_fetch(register clip_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double lev_reg;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "clip_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	lev_reg = susp->lev;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-double x = *s_ptr_reg++; *out_ptr_reg++ = (sample_type) (x > lev_reg ? lev_reg : (x < -lev_reg ? -lev_reg : x));
-	} while (--n); /* inner loop */
-
-	susp->lev = lev_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* clip_n_fetch */
-
-
-void clip_toss_fetch(susp, snd_list)
-  register clip_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while ((round((final_time - susp->s->t0) * susp->s->sr)) >=
-	   susp->s->current)
-	susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s->t0) * susp->s->sr -
-         (susp->s->current - susp->s_cnt));
-    susp->s_ptr += n;
-    susp_took(s_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void clip_mark(clip_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void clip_free(clip_susp_type susp)
-{
-    sound_unref(susp->s);
-    ffree_generic(susp, sizeof(clip_susp_node), "clip_free");
-}
-
-
-void clip_print_tree(clip_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_clip(sound_type s, double level)
-{
-    register clip_susp_type susp;
-    rate_type sr = s->sr;
-    time_type t0 = s->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (S) */
-    scale_factor *= s->scale;
-    s->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s->sr < sr) { s->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, clip_susp_node, "snd_make_clip");
-    susp->lev = level * s->scale;
-    susp->susp.fetch = clip_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = clip_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = clip_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = clip_mark;
-    susp->susp.print_tree = clip_print_tree;
-    susp->susp.name = "clip";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_clip(sound_type s, double level)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_clip(s_copy, level);
-}
diff --git a/lib-src/libnyquist/tran/clip.h b/lib-src/libnyquist/tran/clip.h
deleted file mode 100644
index 1b28307..0000000
--- a/lib-src/libnyquist/tran/clip.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_clip(sound_type s, double level);
-sound_type snd_clip(sound_type s, double level);
-    /* LISP: (snd-clip SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/congen.alg b/lib-src/libnyquist/tran/congen.alg
deleted file mode 100644
index 9ff02d2..0000000
--- a/lib-src/libnyquist/tran/congen.alg
+++ /dev/null
@@ -1,17 +0,0 @@
-(CONGEN
-(NAME "congen")
-(ARGUMENTS ("sound_type" "sndin") ("double" "risetime") ("double" "falltime"))
-(START (MIN sndin))
-(STATE ("double" "value" "0")
-       ("double" "rise_factor" "exp(log(0.5) / (sndin->sr * risetime))")
-       ("double" "fall_factor" "exp(log(0.5) / (sndin->sr * falltime))"))
-(CONSTANT "fall_factor" "rise_factor")
-(ALWAYS-SCALE sndin)
-(TERMINATE (MIN sndin))
-(INNER-LOOP "      sample_type current = sndin;
-    if (current > value) {
-        value = current - (current - value) * rise_factor;
-    } else {
-        value = current - (current - value) * fall_factor;
-    }
-    output = (sample_type) value;"))
diff --git a/lib-src/libnyquist/tran/congen.c b/lib-src/libnyquist/tran/congen.c
deleted file mode 100644
index 735e78f..0000000
--- a/lib-src/libnyquist/tran/congen.c
+++ /dev/null
@@ -1,185 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "congen.h"
-
-void congen_free();
-
-
-typedef struct congen_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type sndin;
-    long sndin_cnt;
-    sample_block_values_type sndin_ptr;
-
-    double value;
-    double rise_factor;
-    double fall_factor;
-} congen_susp_node, *congen_susp_type;
-
-
-void congen_s_fetch(register congen_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double value_reg;
-    register double rise_factor_reg;
-    register double fall_factor_reg;
-    register sample_type sndin_scale_reg = susp->sndin->scale;
-    register sample_block_values_type sndin_ptr_reg;
-    falloc_sample_block(out, "congen_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the sndin input sample block: */
-	susp_check_term_samples(sndin, sndin_ptr, sndin_cnt);
-	togo = MIN(togo, susp->sndin_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	value_reg = susp->value;
-	rise_factor_reg = susp->rise_factor;
-	fall_factor_reg = susp->fall_factor;
-	sndin_ptr_reg = susp->sndin_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-      sample_type current = (sndin_scale_reg * *sndin_ptr_reg++);
-    if (current > value_reg) {
-        value_reg = current - (current - value_reg) * rise_factor_reg;
-    } else {
-        value_reg = current - (current - value_reg) * fall_factor_reg;
-    }
-    *out_ptr_reg++ = (sample_type) value_reg;;
-	} while (--n); /* inner loop */
-
-	susp->value = value_reg;
-	/* using sndin_ptr_reg is a bad idea on RS/6000: */
-	susp->sndin_ptr += togo;
-	out_ptr += togo;
-	susp_took(sndin_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* congen_s_fetch */
-
-
-void congen_toss_fetch(susp, snd_list)
-  register congen_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from sndin up to final_time for this block of zeros */
-    while ((round((final_time - susp->sndin->t0) * susp->sndin->sr)) >=
-	   susp->sndin->current)
-	susp_get_samples(sndin, sndin_ptr, sndin_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->sndin->t0) * susp->sndin->sr -
-         (susp->sndin->current - susp->sndin_cnt));
-    susp->sndin_ptr += n;
-    susp_took(sndin_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void congen_mark(congen_susp_type susp)
-{
-    sound_xlmark(susp->sndin);
-}
-
-
-void congen_free(congen_susp_type susp)
-{
-    sound_unref(susp->sndin);
-    ffree_generic(susp, sizeof(congen_susp_node), "congen_free");
-}
-
-
-void congen_print_tree(congen_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("sndin:");
-    sound_print_tree_1(susp->sndin, n);
-}
-
-
-sound_type snd_make_congen(sound_type sndin, double risetime, double falltime)
-{
-    register congen_susp_type susp;
-    rate_type sr = sndin->sr;
-    time_type t0 = sndin->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, congen_susp_node, "snd_make_congen");
-    susp->value = 0;
-    susp->rise_factor = exp(log(0.5) / (sndin->sr * risetime));
-    susp->fall_factor = exp(log(0.5) / (sndin->sr * falltime));
-    susp->susp.fetch = congen_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < sndin->t0) sound_prepend_zeros(sndin, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(sndin->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = congen_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = congen_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = congen_mark;
-    susp->susp.print_tree = congen_print_tree;
-    susp->susp.name = "congen";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->sndin = sndin;
-    susp->sndin_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_congen(sound_type sndin, double risetime, double falltime)
-{
-    sound_type sndin_copy = sound_copy(sndin);
-    return snd_make_congen(sndin_copy, risetime, falltime);
-}
diff --git a/lib-src/libnyquist/tran/congen.h b/lib-src/libnyquist/tran/congen.h
deleted file mode 100644
index dd336b2..0000000
--- a/lib-src/libnyquist/tran/congen.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_congen(sound_type sndin, double risetime, double falltime);
-sound_type snd_congen(sound_type sndin, double risetime, double falltime);
-    /* LISP: (snd-congen SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/const.alg b/lib-src/libnyquist/tran/const.alg
deleted file mode 100644
index 3d89b09..0000000
--- a/lib-src/libnyquist/tran/const.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(CONST-ALG
-(NAME "const")
-(ARGUMENTS ("double" "c") ("time_type" "t0")
-           ("rate_type" "sr") ("time_type" "d"))
-(STATE ("sample_type" "c" "(sample_type) c"))
-(CONSTANT "c")
-(TERMINATE (AFTER "d"))
-(INNER-LOOP "output = c")
-(SAMPLE-RATE "sr")
-)
-
diff --git a/lib-src/libnyquist/tran/const.c b/lib-src/libnyquist/tran/const.c
deleted file mode 100644
index 042cd52..0000000
--- a/lib-src/libnyquist/tran/const.c
+++ /dev/null
@@ -1,109 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "const.h"
-
-void const_free();
-
-
-typedef struct const_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-
-    sample_type c;
-} const_susp_node, *const_susp_type;
-
-
-void const__fetch(register const_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type c_reg;
-    falloc_sample_block(out, "const__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	c_reg = susp->c;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = c_reg;
-	} while (--n); /* inner loop */
-
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* const__fetch */
-
-
-void const_free(const_susp_type susp)
-{
-    ffree_generic(susp, sizeof(const_susp_node), "const_free");
-}
-
-
-void const_print_tree(const_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_const(double c, time_type t0, rate_type sr, time_type d)
-{
-    register const_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, const_susp_node, "snd_make_const");
-    susp->c = (sample_type) c;
-    susp->susp.fetch = const__fetch;
-
-    susp->terminate_cnt = round((d) * sr);
-    /* initialize susp state */
-    susp->susp.free = const_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = NULL;
-    susp->susp.print_tree = const_print_tree;
-    susp->susp.name = "const";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_const(double c, time_type t0, rate_type sr, time_type d)
-{
-    return snd_make_const(c, t0, sr, d);
-}
diff --git a/lib-src/libnyquist/tran/const.h b/lib-src/libnyquist/tran/const.h
deleted file mode 100644
index e29a167..0000000
--- a/lib-src/libnyquist/tran/const.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_const(double c, time_type t0, rate_type sr, time_type d);
-sound_type snd_const(double c, time_type t0, rate_type sr, time_type d);
-    /* LISP: (snd-const ANYNUM ANYNUM ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/convolve.alg b/lib-src/libnyquist/tran/convolve.alg
deleted file mode 100644
index 94107b4..0000000
--- a/lib-src/libnyquist/tran/convolve.alg
+++ /dev/null
@@ -1,63 +0,0 @@
-(CONVOLVE-ALG
-(NAME "convolve")
-(SUPPORT-FUNCTIONS "
-void h_reverse(sample_type *h, long len)
-{
-    sample_type temp;
-    int i;
-    
-    for (i = 0; i < len; i++) {
-        temp = h[i];
-        h[i] = h[len - 1];
-        h[len - 1] = temp;
-        len--;
-    }
-}
-")
-
-(ARGUMENTS ("sound_type" "x_snd") ("sound_type" "h_snd") )
-(TABLE "h_snd")
-(START (MIN x_snd))
-(NOT-IN-INNER-LOOP "h_snd")
-(STATE 
-        ("table_type" "table" "sound_to_table(h_snd)")
-        ("sample_type *" "h_buf" "susp->table->samples")
-        ("double" "length_of_h" "susp->table->length")
-        ("long" "h_len" "(long) susp->length_of_h;
-         h_reverse(susp->h_buf, susp->h_len)")
-        ("long" "x_buf_len" "2 * susp->h_len")
-        ("sample_type *" "x_buffer_pointer" 
-         "calloc((2 * (susp->h_len)), sizeof(float))")
-        ("sample_type *" "x_buffer_current" "susp->x_buffer_pointer")  )
-(ALWAYS-SCALE x_snd)
-(TERMINATE (MIN x_snd))
-(LOGICAL-STOP (MIN x_snd))
-(INNER-LOOP-LOCALS 
-  "long i; double sum;")
-(INNER-LOOP "
-        /* see if we've reached end of x_buffer */
-        if ((x_buffer_pointer + x_buf_len) <= (x_buffer_current + h_len)) {
-            /* shift x_buffer from current back to base */
-            for (i = 1; i < h_len; i++) {
-                x_buffer_pointer[i-1] = x_buffer_current[i];
-            }    
-            /* this will be incremented back to x_buffer_pointer below */
-            x_buffer_current = x_buffer_pointer - 1;
-        }
-
-        x_buffer_current++;
-
-        x_buffer_current[h_len - 1] = x_snd;
-
-        sum = 0.0;
-        for (i = 0; i < h_len; i++) {
-            sum += x_buffer_current[i] * h_buf[i];
-        }
-
-        output = (sample_type) sum;
-")
-(CONSTANT "h_buf" "h_len" "x_buf_len" "table")
-(SAMPLE-RATE "x_snd->sr")
-(FINALIZATION "    table_unref(susp->table); 
-    free(susp->x_buffer_pointer);")
-)
diff --git a/lib-src/libnyquist/tran/convolve.c b/lib-src/libnyquist/tran/convolve.c
deleted file mode 100644
index d099ab0..0000000
--- a/lib-src/libnyquist/tran/convolve.c
+++ /dev/null
@@ -1,262 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "convolve.h"
-
-void convolve_free();
-
-
-typedef struct convolve_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type x_snd;
-    long x_snd_cnt;
-    sample_block_values_type x_snd_ptr;
-
-    table_type table;
-    sample_type *h_buf;
-    double length_of_h;
-    long h_len;
-    long x_buf_len;
-    sample_type *x_buffer_pointer;
-    sample_type *x_buffer_current;
-} convolve_susp_node, *convolve_susp_type;
-
-
-void h_reverse(sample_type *h, long len)
-{
-    sample_type temp;
-    int i;
-    
-    for (i = 0; i < len; i++) {
-        temp = h[i];
-        h[i] = h[len - 1];
-        h[len - 1] = temp;
-        len--;
-    }
-}
-
-
-void convolve_s_fetch(register convolve_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type * h_buf_reg;
-    register long h_len_reg;
-    register long x_buf_len_reg;
-    register sample_type * x_buffer_pointer_reg;
-    register sample_type * x_buffer_current_reg;
-    register sample_type x_snd_scale_reg = susp->x_snd->scale;
-    register sample_block_values_type x_snd_ptr_reg;
-    falloc_sample_block(out, "convolve_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the x_snd input sample block: */
-	susp_check_term_log_samples(x_snd, x_snd_ptr, x_snd_cnt);
-	togo = MIN(togo, susp->x_snd_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	h_buf_reg = susp->h_buf;
-	h_len_reg = susp->h_len;
-	x_buf_len_reg = susp->x_buf_len;
-	x_buffer_pointer_reg = susp->x_buffer_pointer;
-	x_buffer_current_reg = susp->x_buffer_current;
-	x_snd_ptr_reg = susp->x_snd_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-long i; double sum;
-        /* see if we've reached end of x_buffer */
-        if ((x_buffer_pointer_reg + x_buf_len_reg) <= (x_buffer_current_reg + h_len_reg)) {
-            /* shift x_buffer from current back to base */
-            for (i = 1; i < h_len_reg; i++) {
-                x_buffer_pointer_reg[i-1] = x_buffer_current_reg[i];
-            }    
-            /* this will be incremented back to x_buffer_pointer_reg below */
-            x_buffer_current_reg = x_buffer_pointer_reg - 1;
-        }
-
-        x_buffer_current_reg++;
-
-        x_buffer_current_reg[h_len_reg - 1] = (x_snd_scale_reg * *x_snd_ptr_reg++);
-
-        sum = 0.0;
-        for (i = 0; i < h_len_reg; i++) {
-            sum += x_buffer_current_reg[i] * h_buf_reg[i];
-        }
-
-        *out_ptr_reg++ = (sample_type) sum;
-;
-	} while (--n); /* inner loop */
-
-	susp->x_buffer_pointer = x_buffer_pointer_reg;
-	susp->x_buffer_current = x_buffer_current_reg;
-	/* using x_snd_ptr_reg is a bad idea on RS/6000: */
-	susp->x_snd_ptr += togo;
-	out_ptr += togo;
-	susp_took(x_snd_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* convolve_s_fetch */
-
-
-void convolve_toss_fetch(susp, snd_list)
-  register convolve_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from x_snd up to final_time for this block of zeros */
-    while ((round((final_time - susp->x_snd->t0) * susp->x_snd->sr)) >=
-	   susp->x_snd->current)
-	susp_get_samples(x_snd, x_snd_ptr, x_snd_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->x_snd->t0) * susp->x_snd->sr -
-         (susp->x_snd->current - susp->x_snd_cnt));
-    susp->x_snd_ptr += n;
-    susp_took(x_snd_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void convolve_mark(convolve_susp_type susp)
-{
-    sound_xlmark(susp->x_snd);
-}
-
-
-void convolve_free(convolve_susp_type susp)
-{
-    table_unref(susp->table); 
-    free(susp->x_buffer_pointer);    sound_unref(susp->x_snd);
-    ffree_generic(susp, sizeof(convolve_susp_node), "convolve_free");
-}
-
-
-void convolve_print_tree(convolve_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("x_snd:");
-    sound_print_tree_1(susp->x_snd, n);
-}
-
-
-sound_type snd_make_convolve(sound_type x_snd, sound_type h_snd)
-{
-    register convolve_susp_type susp;
-    rate_type sr = x_snd->sr;
-    time_type t0 = x_snd->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, convolve_susp_node, "snd_make_convolve");
-    susp->table = sound_to_table(h_snd);
-    susp->h_buf = susp->table->samples;
-    susp->length_of_h = susp->table->length;
-    susp->h_len = (long) susp->length_of_h;
-         h_reverse(susp->h_buf, susp->h_len);
-    susp->x_buf_len = 2 * susp->h_len;
-    susp->x_buffer_pointer = calloc((2 * (susp->h_len)), sizeof(float));
-    susp->x_buffer_current = susp->x_buffer_pointer;
-    susp->susp.fetch = convolve_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < x_snd->t0) sound_prepend_zeros(x_snd, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(x_snd->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = convolve_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = convolve_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = convolve_mark;
-    susp->susp.print_tree = convolve_print_tree;
-    susp->susp.name = "convolve";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(x_snd);
-    susp->susp.current = 0;
-    susp->x_snd = x_snd;
-    susp->x_snd_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_convolve(sound_type x_snd, sound_type h_snd)
-{
-    sound_type x_snd_copy = sound_copy(x_snd);
-    return snd_make_convolve(x_snd_copy, h_snd);
-}
diff --git a/lib-src/libnyquist/tran/convolve.h b/lib-src/libnyquist/tran/convolve.h
deleted file mode 100644
index 27eac33..0000000
--- a/lib-src/libnyquist/tran/convolve.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_convolve(sound_type x_snd, sound_type h_snd);
-sound_type snd_convolve(sound_type x_snd, sound_type h_snd);
-    /* LISP: (snd-convolve SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/coterm.alg b/lib-src/libnyquist/tran/coterm.alg
deleted file mode 100644
index 84bce1d..0000000
--- a/lib-src/libnyquist/tran/coterm.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(COTERM-ALG
-  (NAME "coterm")
-  (ARGUMENTS ("sound_type" "s1") ("sound_type" "s2"))
-  (START (MAX s1 s2))
-  (INNER-LOOP "{sample_type dummy = s2; output = s1;}")
-  (LINEAR s1)
-  (TERMINATE (MIN s1 s2))
-  (LOGICAL-STOP (MIN s1 s2))
-  (INTERNAL-SCALING s2)
-)
-
diff --git a/lib-src/libnyquist/tran/coterm.c b/lib-src/libnyquist/tran/coterm.c
deleted file mode 100644
index c1859fc..0000000
--- a/lib-src/libnyquist/tran/coterm.c
+++ /dev/null
@@ -1,238 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "coterm.h"
-
-void coterm_free();
-
-
-typedef struct coterm_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type s2;
-    long s2_cnt;
-    sample_block_values_type s2_ptr;
-} coterm_susp_node, *coterm_susp_type;
-
-
-void coterm_nn_fetch(register coterm_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_block_values_type s2_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "coterm_nn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the s2 input sample block: */
-	susp_check_term_log_samples(s2, s2_ptr, s2_cnt);
-	togo = MIN(togo, susp->s2_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	s2_ptr_reg = susp->s2_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{sample_type dummy = *s2_ptr_reg++; *out_ptr_reg++ = *s1_ptr_reg++;};
-	} while (--n); /* inner loop */
-
-	/* using s2_ptr_reg is a bad idea on RS/6000: */
-	susp->s2_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(s2_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* coterm_nn_fetch */
-
-
-void coterm_toss_fetch(susp, snd_list)
-  register coterm_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from s2 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s2->t0) * susp->s2->sr)) >=
-	   susp->s2->current)
-	susp_get_samples(s2, s2_ptr, s2_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->s2->t0) * susp->s2->sr -
-         (susp->s2->current - susp->s2_cnt));
-    susp->s2_ptr += n;
-    susp_took(s2_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void coterm_mark(coterm_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->s2);
-}
-
-
-void coterm_free(coterm_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->s2);
-    ffree_generic(susp, sizeof(coterm_susp_node), "coterm_free");
-}
-
-
-void coterm_print_tree(coterm_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("s2:");
-    sound_print_tree_1(susp->s2, n);
-}
-
-
-sound_type snd_make_coterm(sound_type s1, sound_type s2)
-{
-    register coterm_susp_type susp;
-    rate_type sr = MAX(s1->sr, s2->sr);
-    time_type t0 = MAX(s1->t0, s2->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    long lsc;
-    /* combine scale factors of linear inputs (S1) */
-    scale_factor *= s1->scale;
-    s1->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s1->sr < sr) { s1->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, coterm_susp_node, "snd_make_coterm");
-    susp->susp.fetch = coterm_nn_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < s2->t0) sound_prepend_zeros(s2, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(s2->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = coterm_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = coterm_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = coterm_mark;
-    susp->susp.print_tree = coterm_print_tree;
-    susp->susp.name = "coterm";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    lsc = logical_stop_cnt_cvt(s2);
-    if (susp->susp.log_stop_cnt > lsc)
-        susp->susp.log_stop_cnt = lsc;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->s2 = s2;
-    susp->s2_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_coterm(sound_type s1, sound_type s2)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type s2_copy = sound_copy(s2);
-    return snd_make_coterm(s1_copy, s2_copy);
-}
diff --git a/lib-src/libnyquist/tran/coterm.h b/lib-src/libnyquist/tran/coterm.h
deleted file mode 100644
index 629678d..0000000
--- a/lib-src/libnyquist/tran/coterm.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_coterm(sound_type s1, sound_type s2);
-sound_type snd_coterm(sound_type s1, sound_type s2);
-    /* LISP: (snd-coterm SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/delay.alg b/lib-src/libnyquist/tran/delay.alg
deleted file mode 100644
index 32ebdce..0000000
--- a/lib-src/libnyquist/tran/delay.alg
+++ /dev/null
@@ -1,20 +0,0 @@
-(DELAY-ALG
-(NAME "delay")
-(ARGUMENTS ("sound_type" "input") ("time_type" "delay") ("double" "feedback"))
-(START (MIN input))
-(STATE ("double" "feedback" "feedback")
-       ("long" "delaylen" "MAX(1, round(input->sr * delay))")
-       ("sample_type *" "delaybuf"
-               "(sample_type *) calloc (susp->delaylen, sizeof(sample_type))")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-       ("sample_type *" "endptr" "susp->delaybuf + susp->delaylen"))
-(CONSTANT "feedback" "delaylen" "endptr")
-(NOT-REGISTER delaybuf)
-(LINEAR input)
-(TERMINATE (MIN input))
-(INNER-LOOP "output = *delayptr;
-         *delayptr = (sample_type) (*delayptr * feedback) + input;
-         if (++delayptr >= endptr) delayptr = susp->delaybuf;")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/delay.c b/lib-src/libnyquist/tran/delay.c
deleted file mode 100644
index 2a2f9fd..0000000
--- a/lib-src/libnyquist/tran/delay.c
+++ /dev/null
@@ -1,191 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "delay.h"
-
-void delay_free();
-
-
-typedef struct delay_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double feedback;
-    long delaylen;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *endptr;
-} delay_susp_node, *delay_susp_type;
-
-
-void delay_n_fetch(register delay_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double feedback_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "delay_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	feedback_reg = susp->feedback;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = *delayptr_reg;
-         *delayptr_reg = (sample_type) (*delayptr_reg * feedback_reg) + *input_ptr_reg++;
-         if (++delayptr_reg >= endptr_reg) delayptr_reg = susp->delaybuf;;
-	} while (--n); /* inner loop */
-
-	susp->delayptr = delayptr_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* delay_n_fetch */
-
-
-void delay_toss_fetch(susp, snd_list)
-  register delay_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void delay_mark(delay_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void delay_free(delay_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(delay_susp_node), "delay_free");
-}
-
-
-void delay_print_tree(delay_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_delay(sound_type input, time_type delay, double feedback)
-{
-    register delay_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, delay_susp_node, "snd_make_delay");
-    susp->feedback = feedback;
-    susp->delaylen = MAX(1, round(input->sr * delay));
-    susp->delaybuf = (sample_type *) calloc (susp->delaylen, sizeof(sample_type));
-    susp->delayptr = susp->delaybuf;
-    susp->endptr = susp->delaybuf + susp->delaylen;
-    susp->susp.fetch = delay_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = delay_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = delay_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = delay_mark;
-    susp->susp.print_tree = delay_print_tree;
-    susp->susp.name = "delay";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_delay(sound_type input, time_type delay, double feedback)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_delay(input_copy, delay, feedback);
-}
diff --git a/lib-src/libnyquist/tran/delay.h b/lib-src/libnyquist/tran/delay.h
deleted file mode 100644
index c8ced3f..0000000
--- a/lib-src/libnyquist/tran/delay.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_delay(sound_type input, time_type delay, double feedback);
-sound_type snd_delay(sound_type input, time_type delay, double feedback);
-    /* LISP: (snd-delay SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/delaycv.alg b/lib-src/libnyquist/tran/delaycv.alg
deleted file mode 100644
index 5823dbd..0000000
--- a/lib-src/libnyquist/tran/delaycv.alg
+++ /dev/null
@@ -1,19 +0,0 @@
-(DELAYCV-ALG
-(NAME "delaycv")
-(ARGUMENTS ("sound_type" "s") ("time_type" "delay") ("sound_type" "feedback"))
-(START (MAX s feedback))
-(STATE ("long" "delaylen" "round(s->sr * delay)")
-       ("sample_type *" "delaybuf"
-               "(sample_type *) calloc (sizeof(double), susp->delaylen)")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-       ("sample_type *" "endptr" "susp->delaybuf + susp->delaylen"))
-(CONSTANT "delaylen" "delaybuf")
-(NOT-REGISTER delaybuf)
-(LINEAR s)
-(TERMINATE (MIN s))
-(INNER-LOOP "output = *delayptr;
-         *delayptr = *delayptr * feedback + s;
-         if (++delayptr >= endptr) delayptr = susp->delaybuf;")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/delaycv.c b/lib-src/libnyquist/tran/delaycv.c
deleted file mode 100644
index 1bd036d..0000000
--- a/lib-src/libnyquist/tran/delaycv.c
+++ /dev/null
@@ -1,300 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "delaycv.h"
-
-void delaycv_free();
-
-
-typedef struct delaycv_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-    sound_type feedback;
-    long feedback_cnt;
-    sample_block_values_type feedback_ptr;
-
-    long delaylen;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *endptr;
-} delaycv_susp_node, *delaycv_susp_type;
-
-
-void delaycv_nn_fetch(register delaycv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "delaycv_nn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = *delayptr_reg;
-         *delayptr_reg = *delayptr_reg * *feedback_ptr_reg++ + *s_ptr_reg++;
-         if (++delayptr_reg >= endptr_reg) delayptr_reg = susp->delaybuf;;
-	} while (--n); /* inner loop */
-
-	susp->delayptr = delayptr_reg;
-	susp->endptr = endptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* delaycv_nn_fetch */
-
-
-void delaycv_ns_fetch(register delaycv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type * delayptr_reg;
-    register sample_type * endptr_reg;
-    register sample_type feedback_scale_reg = susp->feedback->scale;
-    register sample_block_values_type feedback_ptr_reg;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "delaycv_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past the feedback input sample block: */
-	susp_check_samples(feedback, feedback_ptr, feedback_cnt);
-	togo = MIN(togo, susp->feedback_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	delayptr_reg = susp->delayptr;
-	endptr_reg = susp->endptr;
-	feedback_ptr_reg = susp->feedback_ptr;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = *delayptr_reg;
-         *delayptr_reg = *delayptr_reg * (feedback_scale_reg * *feedback_ptr_reg++) + *s_ptr_reg++;
-         if (++delayptr_reg >= endptr_reg) delayptr_reg = susp->delaybuf;;
-	} while (--n); /* inner loop */
-
-	susp->delayptr = delayptr_reg;
-	susp->endptr = endptr_reg;
-	/* using feedback_ptr_reg is a bad idea on RS/6000: */
-	susp->feedback_ptr += togo;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	susp_took(feedback_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* delaycv_ns_fetch */
-
-
-void delaycv_toss_fetch(susp, snd_list)
-  register delaycv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while ((round((final_time - susp->s->t0) * susp->s->sr)) >=
-	   susp->s->current)
-	susp_get_samples(s, s_ptr, s_cnt);
-    /* fetch samples from feedback up to final_time for this block of zeros */
-    while ((round((final_time - susp->feedback->t0) * susp->feedback->sr)) >=
-	   susp->feedback->current)
-	susp_get_samples(feedback, feedback_ptr, feedback_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s->t0) * susp->s->sr -
-         (susp->s->current - susp->s_cnt));
-    susp->s_ptr += n;
-    susp_took(s_cnt, n);
-    n = round((final_time - susp->feedback->t0) * susp->feedback->sr -
-         (susp->feedback->current - susp->feedback_cnt));
-    susp->feedback_ptr += n;
-    susp_took(feedback_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void delaycv_mark(delaycv_susp_type susp)
-{
-    sound_xlmark(susp->s);
-    sound_xlmark(susp->feedback);
-}
-
-
-void delaycv_free(delaycv_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->s);
-    sound_unref(susp->feedback);
-    ffree_generic(susp, sizeof(delaycv_susp_node), "delaycv_free");
-}
-
-
-void delaycv_print_tree(delaycv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-
-    indent(n);
-    stdputstr("feedback:");
-    sound_print_tree_1(susp->feedback, n);
-}
-
-
-sound_type snd_make_delaycv(sound_type s, time_type delay, sound_type feedback)
-{
-    register delaycv_susp_type susp;
-    rate_type sr = MAX(s->sr, feedback->sr);
-    time_type t0 = MAX(s->t0, feedback->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (S) */
-    scale_factor *= s->scale;
-    s->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s->sr < sr) { s->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, delaycv_susp_node, "snd_make_delaycv");
-    susp->delaylen = round(s->sr * delay);
-    susp->delaybuf = (sample_type *) calloc (sizeof(double), susp->delaylen);
-    susp->delayptr = susp->delaybuf;
-    susp->endptr = susp->delaybuf + susp->delaylen;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s, sr);
-    interp_desc = (interp_desc << 2) + interp_style(feedback, sr);
-    switch (interp_desc) {
-      case INTERP_nn: susp->susp.fetch = delaycv_nn_fetch; break;
-      case INTERP_ns: susp->susp.fetch = delaycv_ns_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    if (t0 < feedback->t0) sound_prepend_zeros(feedback, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, MIN(feedback->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = delaycv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = delaycv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = delaycv_mark;
-    susp->susp.print_tree = delaycv_print_tree;
-    susp->susp.name = "delaycv";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    susp->feedback = feedback;
-    susp->feedback_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_delaycv(sound_type s, time_type delay, sound_type feedback)
-{
-    sound_type s_copy = sound_copy(s);
-    sound_type feedback_copy = sound_copy(feedback);
-    return snd_make_delaycv(s_copy, delay, feedback_copy);
-}
diff --git a/lib-src/libnyquist/tran/delaycv.h b/lib-src/libnyquist/tran/delaycv.h
deleted file mode 100644
index 5c6e3d0..0000000
--- a/lib-src/libnyquist/tran/delaycv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_delaycv(sound_type s, time_type delay, sound_type feedback);
-sound_type snd_delaycv(sound_type s, time_type delay, sound_type feedback);
-    /* LISP: (snd-delaycv SOUND ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/tran/downproto.alg b/lib-src/libnyquist/tran/downproto.alg
deleted file mode 100644
index 98680ba..0000000
--- a/lib-src/libnyquist/tran/downproto.alg
+++ /dev/null
@@ -1,18 +0,0 @@
-(DOWNSAMPLE-PROTO-ALG
-  (NAME "down")
-  (ARGUMENTS ("rate_type" "sr") ("sound_type" "s"))
-  (SAMPLE-RATE "sr")
-  (START (MIN s))
-  (INLINE-INTERPOLATION T)
-  (STATE )
-  (INNER-LOOP "output = s")
-  (TERMINATE (MIN s))
-  (LOGICAL-STOP (MIN s))
-  (TYPE-CHECK
-"    if (s->sr < sr) {
-        sound_unref(s);
-        xlfail(\"snd-down: output sample rate must be lower than input\");
-    }
-")
-)
-
diff --git a/lib-src/libnyquist/tran/eqbandv.alg b/lib-src/libnyquist/tran/eqbandv.alg
deleted file mode 100644
index 1837f43..0000000
--- a/lib-src/libnyquist/tran/eqbandv.alg
+++ /dev/null
@@ -1,56 +0,0 @@
-; general order-2 IIR filter.
-; a0 is assumed to be unity.
-; for a1 and a2, our sign convention is opposite to Matlab's.
-
-(EQBANDVVV-ALG
-(NAME "eqbandvvv")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz"))
-;;           ("sound_type" "gain") ("sound_type" "width") )
-(START (MIN s1 hz)) ;; gain width))
-(TERMINATE (MIN s1 hz )) ;; gain width))
-(LOGICAL-STOP (MIN s1 hz)) ;; gain width))
-(SAMPLE-RATE (MAX s1))
-(INTERNAL-SCALING s1)
-(INLINE-INTERPOLATION T)
-(ALWAYS-SCALE hz)
-(STEP-FUNCTION hz gain width)
-(STATE	("double" "scale1" "s1->scale")
-        ("double" "w1" "0.0")
-        ("double" "sw" "0.0")
-        ("double" "cw" "0.0")
-        ("double" "J" "0.0")
-        ("double" "g" "0.0")
-        ("double" "b0" "0.0")
-        ("double" "b1" "0.0")
-        ("double" "b2" "0.0")
-        ("double" "a0" "0.0")
-        ("double" "a1" "0.0")
-        ("double" "a2" "0.0"))
-(DEPENDS ("w1" "hz" "PI2 * hz / s1->sr")
-         ("sw" "hz" "sin(w1)")
-         ("cw" "hz" "cos(w1)")
-         ("b1" "hz" "-2.0 * cw")
-         ("a1" "hz" "-b1")
-         ;; ("J" "gain" "sqrt(gain)")
-         ;; ("recompute" "width" "true")
-         ("recompute" "hz" "true")
-         ;; ("recompute" "gain" "true")
-)
-;; (JOINT-DEPENDENCY (("width" "hz")
-;;"if (recompute) {"
-;;"    recompute = false;"
-;;"    g = sw * sinh(log_of_2_over_2 * width * w1 / sw);"
-;;"    b0 = 1.0 + g * J;"
-;;"    b2 = 1.0 - g * J;"
-;;"    a0 = 1.0 + g / J;"
-;;"    a2 = g / J - 1.0;"
-;;"}"))
-(FORCE-INTO-REGISTER recompute)
-(STEP-FUNCTION hz) ;; gain width)
-(CONSTANT "w1" "sw" "cw" "J" "g" "b0" "b1" "b2" "b3" "a0" "a1" "a2")
-(INNER-LOOP-LOCALS "double z0;")
-(INNER-LOOP "    z0 = s + a1*z1 + a2*z2;
-    output = (sample_type) (z0*b0 + z1*b1 + z2*b2);
-    z2 = z1; z1 = z0;")
-)
-
diff --git a/lib-src/libnyquist/tran/eqbandvvv.alg b/lib-src/libnyquist/tran/eqbandvvv.alg
deleted file mode 100644
index c2a14a4..0000000
--- a/lib-src/libnyquist/tran/eqbandvvv.alg
+++ /dev/null
@@ -1,64 +0,0 @@
-; general order-2 IIR filter.
-; a0 is assumed to be unity.
-; for a1 and a2, our sign convention is opposite to Matlab's.
-
-(EQBANDVVV-ALG
-(NAME "eqbandvvv")
-(ARGUMENTS ("sound_type" "input") ("sound_type" "hz") 
-           ("sound_type" "gain") ("sound_type" "width") )
-(SUPPORT-FUNCTIONS "#define log_of_2_over_2 0.3465735902799726547086\n")
-(START (MIN input hz gain width))
-(TERMINATE (MIN input hz gain width))
-(LOGICAL-STOP (MIN input hz gain width))
-(SAMPLE-RATE (MAX input))
-;;(INTERNAL-SCALING input hz gain width)
-(INLINE-INTERPOLATION T)
-(MATCHED-SAMPLE-RATE hz gain width)
-(ALWAYS-SCALE input hz gain width)
-(STEP-FUNCTION hz gain width)
-(STATE	("double" "inp_scale" "input->scale")
-        ("double" "w1" "0.0")
-        ("double" "sw" "0.0")
-        ("double" "cw" "0.0")
-        ("double" "J" "0.0")
-        ("double" "gg" "0.0")
-        ("double" "b0" "0.0")
-        ("double" "b1" "0.0")
-        ("double" "b2" "0.0")
-        ("double" "a0" "0.0")
-        ("double" "a1" "0.0")
-        ("double" "a2" "0.0")
-        ("double" "z1" "0.0")
-        ("double" "z2" "0.0")
-        ("boolean" "recompute" "false")
-        ("double" "inp_period" "1.0 / input->sr"))
-(DEPENDS ("w1" "hz" "PI2 * hz * inp_period")
-         ("sw" "hz" "sin(w1)")
-         ("cw" "hz" "cos(w1)")
-         ("b1" "hz" "-2.0 * cw")
-         ("a1" "hz" "-b1")
-         ("J" "gain" "sqrt(gain)")
-         ("recompute" "width" "true")
-         ("recompute" "hz" "true")
-         ("recompute" "gain" "true")
-)
-(JOINT-DEPENDENCY (("width" "hz")
-"if (recompute) {"
-"    /* a0 = 1.0 + gg / J; */"
-"    double a_0_recip = J / (J + gg);"
-"    recompute = false;"
-"    gg = sw * sinh(log_of_2_over_2 * width * w1 / sw);"
-"    b0 = (1.0 + gg * J) * a_0_recip;"
-"    b1 *= a_0_recip;"
-"    b2 = (1.0 - gg * J) * a_0_recip;"
-"    a1 *= a_0_recip;"
-"    a2 = (gg / J - 1.0) * a_0_recip;"
-"}"))
-(FORCE-INTO-REGISTER recompute inp_period cw)
-(CONSTANT "w1" "sw" "cw" "J" "gg" "b0" "b1" "b2" "b3" "a0" "a1" "a2" "inp_period")
-(INNER-LOOP-LOCALS "            double z0;\n")
-(INNER-LOOP "    z0 = input + a1*z1 + a2*z2;
-    output = (sample_type) (z0*b0 + z1*b1 + z2*b2);
-    z2 = z1; z1 = z0;")
-)
-
diff --git a/lib-src/libnyquist/tran/eqbandvvv.c b/lib-src/libnyquist/tran/eqbandvvv.c
deleted file mode 100644
index d4a0f8a..0000000
--- a/lib-src/libnyquist/tran/eqbandvvv.c
+++ /dev/null
@@ -1,869 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "eqbandvvv.h"
-
-void eqbandvvv_free();
-
-
-typedef struct eqbandvvv_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-    sound_type hz;
-    long hz_cnt;
-    sample_block_values_type hz_ptr;
-
-    /* support for interpolation of hz */
-    sample_type hz_x1_sample;
-    double hz_pHaSe;
-    double hz_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz */
-    double output_per_hz;
-    long hz_n;
-    sound_type gain;
-    long gain_cnt;
-    sample_block_values_type gain_ptr;
-
-    /* support for interpolation of gain */
-    sample_type gain_x1_sample;
-    double gain_pHaSe;
-    double gain_pHaSe_iNcR;
-
-    /* support for ramp between samples of gain */
-    double output_per_gain;
-    long gain_n;
-    sound_type width;
-    long width_cnt;
-    sample_block_values_type width_ptr;
-
-    /* support for interpolation of width */
-    sample_type width_x1_sample;
-    double width_pHaSe;
-    double width_pHaSe_iNcR;
-
-    /* support for ramp between samples of width */
-    double output_per_width;
-    long width_n;
-
-    double inp_scale;
-    double w1;
-    double sw;
-    double cw;
-    double J;
-    double gg;
-    double b0;
-    double b1;
-    double b2;
-    double a0;
-    double a1;
-    double a2;
-    double z1;
-    double z2;
-    boolean recompute;
-    double inp_period;
-} eqbandvvv_susp_node, *eqbandvvv_susp_type;
-
-#define log_of_2_over_2 0.3465735902799726547086
-
-
-void eqbandvvv_ssss_fetch(register eqbandvvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double w1_reg;
-    register double sw_reg;
-    register double cw_reg;
-    register double J_reg;
-    register double gg_reg;
-    register double b0_reg;
-    register double b1_reg;
-    register double b2_reg;
-    register double a0_reg;
-    register double a1_reg;
-    register double a2_reg;
-    register double z1_reg;
-    register double z2_reg;
-    register boolean recompute_reg;
-    register double inp_period_reg;
-    register sample_type width_scale_reg = susp->width->scale;
-    register sample_block_values_type width_ptr_reg;
-    register sample_type gain_scale_reg = susp->gain->scale;
-    register sample_block_values_type gain_ptr_reg;
-    register sample_type hz_scale_reg = susp->hz->scale;
-    register sample_block_values_type hz_ptr_reg;
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "eqbandvvv_ssss_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past the hz input sample block: */
-	susp_check_term_log_samples(hz, hz_ptr, hz_cnt);
-	togo = MIN(togo, susp->hz_cnt);
-
-	/* don't run past the gain input sample block: */
-	susp_check_term_log_samples(gain, gain_ptr, gain_cnt);
-	togo = MIN(togo, susp->gain_cnt);
-
-	/* don't run past the width input sample block: */
-	susp_check_term_log_samples(width, width_ptr, width_cnt);
-	togo = MIN(togo, susp->width_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	w1_reg = susp->w1;
-	sw_reg = susp->sw;
-	cw_reg = susp->cw;
-	J_reg = susp->J;
-	gg_reg = susp->gg;
-	b0_reg = susp->b0;
-	b1_reg = susp->b1;
-	b2_reg = susp->b2;
-	a0_reg = susp->a0;
-	a1_reg = susp->a1;
-	a2_reg = susp->a2;
-	z1_reg = susp->z1;
-	z2_reg = susp->z2;
-	recompute_reg = susp->recompute;
-	inp_period_reg = susp->inp_period;
-	width_ptr_reg = susp->width_ptr;
-	gain_ptr_reg = susp->gain_ptr;
-	hz_ptr_reg = susp->hz_ptr;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            double z0;
-	    w1_reg = PI2 * (hz_scale_reg * *hz_ptr_reg++) * inp_period_reg;
-	    sw_reg = sin(w1_reg);
-	    cw_reg = cos(w1_reg);
-	    b1_reg = -2.0 * cw_reg;
-	    a1_reg = -b1_reg;
-	    J_reg = sqrt((gain_scale_reg * *gain_ptr_reg++));
-	    recompute_reg = true;
-	    recompute_reg = true;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        /* a0_reg = 1.0 + gg_reg / J_reg; */
-	        double a_0_recip = J_reg / (J_reg + gg_reg);
-	        recompute_reg = false;
-	        gg_reg = sw_reg * sinh(log_of_2_over_2 * (width_scale_reg * *width_ptr_reg++) * w1_reg / sw_reg);
-	        b0_reg = (1.0 + gg_reg * J_reg) * a_0_recip;
-	        b1_reg *= a_0_recip;
-	        b2_reg = (1.0 - gg_reg * J_reg) * a_0_recip;
-	        a1_reg *= a_0_recip;
-	        a2_reg = (gg_reg / J_reg - 1.0) * a_0_recip;
-	    }
-    z0 = (input_scale_reg * *input_ptr_reg++) + a1_reg*z1_reg + a2_reg*z2_reg;
-    *out_ptr_reg++ = (sample_type) (z0*b0_reg + z1_reg*b1_reg + z2_reg*b2_reg);
-    z2_reg = z1_reg; z1_reg = z0;;
-	} while (--n); /* inner loop */
-
-	susp->z1 = z1_reg;
-	susp->z2 = z2_reg;
-	susp->recompute = recompute_reg;
-	/* using width_ptr_reg is a bad idea on RS/6000: */
-	susp->width_ptr += togo;
-	/* using gain_ptr_reg is a bad idea on RS/6000: */
-	susp->gain_ptr += togo;
-	/* using hz_ptr_reg is a bad idea on RS/6000: */
-	susp->hz_ptr += togo;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp_took(hz_cnt, togo);
-	susp_took(gain_cnt, togo);
-	susp_took(width_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* eqbandvvv_ssss_fetch */
-
-
-void eqbandvvv_siii_fetch(register eqbandvvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double w1_reg;
-    register double sw_reg;
-    register double cw_reg;
-    register double J_reg;
-    register double gg_reg;
-    register double b0_reg;
-    register double b1_reg;
-    register double b2_reg;
-    register double a0_reg;
-    register double a1_reg;
-    register double a2_reg;
-    register double z1_reg;
-    register double z2_reg;
-    register boolean recompute_reg;
-    register double inp_period_reg;
-    register double width_pHaSe_iNcR_rEg = susp->width_pHaSe_iNcR;
-    register double width_pHaSe_ReG;
-    register sample_type width_x1_sample_reg;
-    register double gain_pHaSe_iNcR_rEg = susp->gain_pHaSe_iNcR;
-    register double gain_pHaSe_ReG;
-    register sample_type gain_x1_sample_reg;
-    register double hz_pHaSe_iNcR_rEg = susp->hz_pHaSe_iNcR;
-    register double hz_pHaSe_ReG;
-    register sample_type hz_x1_sample_reg;
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "eqbandvvv_siii_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_log_samples(hz, hz_ptr, hz_cnt);
-	susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	susp->w1 = PI2 * susp->hz_x1_sample * susp->inp_period;
-	susp->sw = sin(susp->w1);
-	susp->cw = cos(susp->w1);
-	susp->b1 = -2.0 * susp->cw;
-	susp->a1 = -susp->b1;
-	susp->recompute = true;
-	susp_check_term_log_samples(gain, gain_ptr, gain_cnt);
-	susp->gain_x1_sample = susp_fetch_sample(gain, gain_ptr, gain_cnt);
-	susp->J = sqrt(susp->gain_x1_sample);
-	susp->recompute = true;
-	susp_check_term_log_samples(width, width_ptr, width_cnt);
-	susp->width_x1_sample = susp_fetch_sample(width, width_ptr, width_cnt);
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	w1_reg = susp->w1;
-	sw_reg = susp->sw;
-	cw_reg = susp->cw;
-	J_reg = susp->J;
-	gg_reg = susp->gg;
-	b0_reg = susp->b0;
-	b1_reg = susp->b1;
-	b2_reg = susp->b2;
-	a0_reg = susp->a0;
-	a1_reg = susp->a1;
-	a2_reg = susp->a2;
-	z1_reg = susp->z1;
-	z2_reg = susp->z2;
-	recompute_reg = susp->recompute;
-	inp_period_reg = susp->inp_period;
-	width_pHaSe_ReG = susp->width_pHaSe;
-	width_x1_sample_reg = susp->width_x1_sample;
-	gain_pHaSe_ReG = susp->gain_pHaSe;
-	gain_x1_sample_reg = susp->gain_x1_sample;
-	hz_pHaSe_ReG = susp->hz_pHaSe;
-	hz_x1_sample_reg = susp->hz_x1_sample;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            double z0;
-	    if (hz_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz */
-		/* pick up next sample as hz_x1_sample: */
-		susp->hz_ptr++;
-		susp_took(hz_cnt, 1);
-		hz_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(hz, hz_ptr, hz_cnt, hz_x1_sample_reg);
-		hz_x1_sample_reg = susp_current_sample(hz, hz_ptr);
-		w1_reg = susp->w1 = PI2 * hz_x1_sample_reg * inp_period_reg;
-		sw_reg = susp->sw = sin(w1_reg);
-		cw_reg = susp->cw = cos(w1_reg);
-		b1_reg = susp->b1 = -2.0 * cw_reg;
-		a1_reg = susp->a1 = -b1_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (gain_pHaSe_ReG >= 1.0) {
-/* fixup-depends gain */
-		/* pick up next sample as gain_x1_sample: */
-		susp->gain_ptr++;
-		susp_took(gain_cnt, 1);
-		gain_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(gain, gain_ptr, gain_cnt, gain_x1_sample_reg);
-		gain_x1_sample_reg = susp_current_sample(gain, gain_ptr);
-		J_reg = susp->J = sqrt(gain_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (width_pHaSe_ReG >= 1.0) {
-/* fixup-depends width */
-		/* pick up next sample as width_x1_sample: */
-		susp->width_ptr++;
-		susp_took(width_cnt, 1);
-		width_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(width, width_ptr, width_cnt, width_x1_sample_reg);
-		width_x1_sample_reg = susp_current_sample(width, width_ptr);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        /* a0_reg = 1.0 + gg_reg / J_reg; */
-	        double a_0_recip = J_reg / (J_reg + gg_reg);
-	        recompute_reg = false;
-	        gg_reg = sw_reg * sinh(log_of_2_over_2 * width_x1_sample_reg * w1_reg / sw_reg);
-	        b0_reg = (1.0 + gg_reg * J_reg) * a_0_recip;
-	        b1_reg *= a_0_recip;
-	        b2_reg = (1.0 - gg_reg * J_reg) * a_0_recip;
-	        a1_reg *= a_0_recip;
-	        a2_reg = (gg_reg / J_reg - 1.0) * a_0_recip;
-	    }
-    z0 = (input_scale_reg * *input_ptr_reg++) + a1_reg*z1_reg + a2_reg*z2_reg;
-    *out_ptr_reg++ = (sample_type) (z0*b0_reg + z1_reg*b1_reg + z2_reg*b2_reg);
-    z2_reg = z1_reg; z1_reg = z0;;
-	    hz_pHaSe_ReG += hz_pHaSe_iNcR_rEg;
-	    gain_pHaSe_ReG += gain_pHaSe_iNcR_rEg;
-	    width_pHaSe_ReG += width_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->z1 = z1_reg;
-	susp->z2 = z2_reg;
-	susp->recompute = recompute_reg;
-	susp->width_pHaSe = width_pHaSe_ReG;
-	susp->width_x1_sample = width_x1_sample_reg;
-	susp->gain_pHaSe = gain_pHaSe_ReG;
-	susp->gain_x1_sample = gain_x1_sample_reg;
-	susp->hz_pHaSe = hz_pHaSe_ReG;
-	susp->hz_x1_sample = hz_x1_sample_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* eqbandvvv_siii_fetch */
-
-
-void eqbandvvv_srrr_fetch(register eqbandvvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz_val;
-    sample_type gain_val;
-    sample_type width_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double cw_reg;
-    register double b0_reg;
-    register double b1_reg;
-    register double b2_reg;
-    register double a1_reg;
-    register double a2_reg;
-    register double z1_reg;
-    register double z2_reg;
-    register boolean recompute_reg;
-    register double inp_period_reg;
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "eqbandvvv_srrr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz_pHaSe = 1.0;
-	susp->gain_pHaSe = 1.0;
-	susp->width_pHaSe = 1.0;
-    }
-
-    susp_check_term_log_samples(hz, hz_ptr, hz_cnt);
-
-    susp_check_term_log_samples(gain, gain_ptr, gain_cnt);
-
-    susp_check_term_log_samples(width, width_ptr, width_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* grab next hz_x1_sample when phase goes past 1.0; */
-	/* use hz_n (computed below) to avoid roundoff errors: */
-	if (susp->hz_n <= 0) {
-	    susp_check_term_log_samples(hz, hz_ptr, hz_cnt);
-	    susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	    susp->hz_pHaSe -= 1.0;
-	    /* hz_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz_n = (long) ((1.0 - susp->hz_pHaSe) *
-					susp->output_per_hz);
-	    susp->w1 = PI2 * susp->hz_x1_sample * susp->inp_period;
-	    susp->sw = sin(susp->w1);
-	    susp->cw = cos(susp->w1);
-	    susp->b1 = -2.0 * susp->cw;
-	    susp->a1 = -susp->b1;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz_n);
-	hz_val = susp->hz_x1_sample;
-	/* grab next gain_x1_sample when phase goes past 1.0; */
-	/* use gain_n (computed below) to avoid roundoff errors: */
-	if (susp->gain_n <= 0) {
-	    susp_check_term_log_samples(gain, gain_ptr, gain_cnt);
-	    susp->gain_x1_sample = susp_fetch_sample(gain, gain_ptr, gain_cnt);
-	    susp->gain_pHaSe -= 1.0;
-	    /* gain_n gets number of samples before phase exceeds 1.0: */
-	    susp->gain_n = (long) ((1.0 - susp->gain_pHaSe) *
-					susp->output_per_gain);
-	    susp->J = sqrt(susp->gain_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->gain_n);
-	gain_val = susp->gain_x1_sample;
-	/* grab next width_x1_sample when phase goes past 1.0; */
-	/* use width_n (computed below) to avoid roundoff errors: */
-	if (susp->width_n <= 0) {
-	    susp_check_term_log_samples(width, width_ptr, width_cnt);
-	    susp->width_x1_sample = susp_fetch_sample(width, width_ptr, width_cnt);
-	    susp->width_pHaSe -= 1.0;
-	    /* width_n gets number of samples before phase exceeds 1.0: */
-	    susp->width_n = (long) ((1.0 - susp->width_pHaSe) *
-					susp->output_per_width);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->width_n);
-	width_val = susp->width_x1_sample;
-	if (susp->recompute) {
-	    /* susp->a0 = 1.0 + susp->gg / susp->J; */
-	    double a_0_recip = susp->J / (susp->J + susp->gg);
-	    susp->recompute = false;
-	    susp->gg = susp->sw * sinh(log_of_2_over_2 * width_val * susp->w1 / susp->sw);
-	    susp->b0 = (1.0 + susp->gg * susp->J) * a_0_recip;
-	    susp->b1 *= a_0_recip;
-	    susp->b2 = (1.0 - susp->gg * susp->J) * a_0_recip;
-	    susp->a1 *= a_0_recip;
-	    susp->a2 = (susp->gg / susp->J - 1.0) * a_0_recip;
-	}
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	cw_reg = susp->cw;
-	b0_reg = susp->b0;
-	b1_reg = susp->b1;
-	b2_reg = susp->b2;
-	a1_reg = susp->a1;
-	a2_reg = susp->a2;
-	z1_reg = susp->z1;
-	z2_reg = susp->z2;
-	recompute_reg = susp->recompute;
-	inp_period_reg = susp->inp_period;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            double z0;
-    z0 = (input_scale_reg * *input_ptr_reg++) + a1_reg*z1_reg + a2_reg*z2_reg;
-    *out_ptr_reg++ = (sample_type) (z0*b0_reg + z1_reg*b1_reg + z2_reg*b2_reg);
-    z2_reg = z1_reg; z1_reg = z0;;
-	} while (--n); /* inner loop */
-
-	susp->z1 = z1_reg;
-	susp->z2 = z2_reg;
-	susp->recompute = recompute_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	susp->hz_pHaSe += togo * susp->hz_pHaSe_iNcR;
-	susp->hz_n -= togo;
-	susp->gain_pHaSe += togo * susp->gain_pHaSe_iNcR;
-	susp->gain_n -= togo;
-	susp->width_pHaSe += togo * susp->width_pHaSe_iNcR;
-	susp->width_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* eqbandvvv_srrr_fetch */
-
-
-void eqbandvvv_toss_fetch(susp, snd_list)
-  register eqbandvvv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* fetch samples from hz up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz->t0) * susp->hz->sr)) >=
-	   susp->hz->current)
-	susp_get_samples(hz, hz_ptr, hz_cnt);
-    /* fetch samples from gain up to final_time for this block of zeros */
-    while ((round((final_time - susp->gain->t0) * susp->gain->sr)) >=
-	   susp->gain->current)
-	susp_get_samples(gain, gain_ptr, gain_cnt);
-    /* fetch samples from width up to final_time for this block of zeros */
-    while ((round((final_time - susp->width->t0) * susp->width->sr)) >=
-	   susp->width->current)
-	susp_get_samples(width, width_ptr, width_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    n = round((final_time - susp->hz->t0) * susp->hz->sr -
-         (susp->hz->current - susp->hz_cnt));
-    susp->hz_ptr += n;
-    susp_took(hz_cnt, n);
-    n = round((final_time - susp->gain->t0) * susp->gain->sr -
-         (susp->gain->current - susp->gain_cnt));
-    susp->gain_ptr += n;
-    susp_took(gain_cnt, n);
-    n = round((final_time - susp->width->t0) * susp->width->sr -
-         (susp->width->current - susp->width_cnt));
-    susp->width_ptr += n;
-    susp_took(width_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void eqbandvvv_mark(eqbandvvv_susp_type susp)
-{
-    sound_xlmark(susp->input);
-    sound_xlmark(susp->hz);
-    sound_xlmark(susp->gain);
-    sound_xlmark(susp->width);
-}
-
-
-void eqbandvvv_free(eqbandvvv_susp_type susp)
-{
-    sound_unref(susp->input);
-    sound_unref(susp->hz);
-    sound_unref(susp->gain);
-    sound_unref(susp->width);
-    ffree_generic(susp, sizeof(eqbandvvv_susp_node), "eqbandvvv_free");
-}
-
-
-void eqbandvvv_print_tree(eqbandvvv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-
-    indent(n);
-    stdputstr("hz:");
-    sound_print_tree_1(susp->hz, n);
-
-    indent(n);
-    stdputstr("gain:");
-    sound_print_tree_1(susp->gain, n);
-
-    indent(n);
-    stdputstr("width:");
-    sound_print_tree_1(susp->width, n);
-}
-
-
-sound_type snd_make_eqbandvvv(sound_type input, sound_type hz, sound_type gain, sound_type width)
-{
-    register eqbandvvv_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = MIN(MIN(min(input->t0, hz->t0), gain->t0), width->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    long lsc;
-    falloc_generic(susp, eqbandvvv_susp_node, "snd_make_eqbandvvv");
-    susp->inp_scale = input->scale;
-    susp->w1 = 0.0;
-    susp->sw = 0.0;
-    susp->cw = 0.0;
-    susp->J = 0.0;
-    susp->gg = 0.0;
-    susp->b0 = 0.0;
-    susp->b1 = 0.0;
-    susp->b2 = 0.0;
-    susp->a0 = 0.0;
-    susp->a1 = 0.0;
-    susp->a2 = 0.0;
-    susp->z1 = 0.0;
-    susp->z2 = 0.0;
-    susp->recompute = false;
-    susp->inp_period = 1.0 / input->sr;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(input, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz, sr);
-    interp_desc = (interp_desc << 2) + interp_style(gain, sr);
-    interp_desc = (interp_desc << 2) + interp_style(width, sr);
-    switch (interp_desc) {
-      case INTERP_nnnn: /* handled below */
-      case INTERP_nnns: /* handled below */
-      case INTERP_nnsn: /* handled below */
-      case INTERP_nnss: /* handled below */
-      case INTERP_nsnn: /* handled below */
-      case INTERP_nsns: /* handled below */
-      case INTERP_nssn: /* handled below */
-      case INTERP_nsss: /* handled below */
-      case INTERP_snnn: /* handled below */
-      case INTERP_snns: /* handled below */
-      case INTERP_snsn: /* handled below */
-      case INTERP_snss: /* handled below */
-      case INTERP_ssnn: /* handled below */
-      case INTERP_ssns: /* handled below */
-      case INTERP_sssn: /* handled below */
-      case INTERP_ssss: susp->susp.fetch = eqbandvvv_ssss_fetch; break;
-      case INTERP_niii: /* handled below */
-      case INTERP_siii: susp->susp.fetch = eqbandvvv_siii_fetch; break;
-      case INTERP_nrrr: /* handled below */
-      case INTERP_srrr: susp->susp.fetch = eqbandvvv_srrr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    if (t0 < hz->t0) sound_prepend_zeros(hz, t0);
-    if (t0 < gain->t0) sound_prepend_zeros(gain, t0);
-    if (t0 < width->t0) sound_prepend_zeros(width, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, MIN(hz->t0, min(gain->t0, min(width->t0, t0))));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = eqbandvvv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = eqbandvvv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = eqbandvvv_mark;
-    susp->susp.print_tree = eqbandvvv_print_tree;
-    susp->susp.name = "eqbandvvv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    lsc = logical_stop_cnt_cvt(hz);
-    if (susp->susp.log_stop_cnt > lsc)
-        susp->susp.log_stop_cnt = lsc;
-    lsc = logical_stop_cnt_cvt(gain);
-    if (susp->susp.log_stop_cnt > lsc)
-        susp->susp.log_stop_cnt = lsc;
-    lsc = logical_stop_cnt_cvt(width);
-    if (susp->susp.log_stop_cnt > lsc)
-        susp->susp.log_stop_cnt = lsc;
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    susp->hz = hz;
-    susp->hz_cnt = 0;
-    susp->hz_pHaSe = 0.0;
-    susp->hz_pHaSe_iNcR = hz->sr / sr;
-    susp->hz_n = 0;
-    susp->output_per_hz = sr / hz->sr;
-    susp->gain = gain;
-    susp->gain_cnt = 0;
-    susp->gain_pHaSe = 0.0;
-    susp->gain_pHaSe_iNcR = gain->sr / sr;
-    susp->gain_n = 0;
-    susp->output_per_gain = sr / gain->sr;
-    susp->width = width;
-    susp->width_cnt = 0;
-    susp->width_pHaSe = 0.0;
-    susp->width_pHaSe_iNcR = width->sr / sr;
-    susp->width_n = 0;
-    susp->output_per_width = sr / width->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_eqbandvvv(sound_type input, sound_type hz, sound_type gain, sound_type width)
-{
-    sound_type input_copy = sound_copy(input);
-    sound_type hz_copy = sound_copy(hz);
-    sound_type gain_copy = sound_copy(gain);
-    sound_type width_copy = sound_copy(width);
-    return snd_make_eqbandvvv(input_copy, hz_copy, gain_copy, width_copy);
-}
diff --git a/lib-src/libnyquist/tran/eqbandvvv.h b/lib-src/libnyquist/tran/eqbandvvv.h
deleted file mode 100644
index a42a44f..0000000
--- a/lib-src/libnyquist/tran/eqbandvvv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_eqbandvvv(sound_type input, sound_type hz, sound_type gain, sound_type width);
-sound_type snd_eqbandvvv(sound_type input, sound_type hz, sound_type gain, sound_type width);
-    /* LISP: (snd-eqbandvvv SOUND SOUND SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/exp.alg b/lib-src/libnyquist/tran/exp.alg
deleted file mode 100644
index e3f706e..0000000
--- a/lib-src/libnyquist/tran/exp.alg
+++ /dev/null
@@ -1,9 +0,0 @@
-(EXP-ALG
-  (NAME "exp")
-  (ARGUMENTS ("sound_type" "in"))
-  (ALWAYS-SCALE in)
-  (START (MIN in))
-  (INNER-LOOP "output = (sample_type) exp(in)")
-  (TERMINATE (MIN in))
-  (LOGICAL-STOP (MIN in))
-)
diff --git a/lib-src/libnyquist/tran/exp.c b/lib-src/libnyquist/tran/exp.c
deleted file mode 100644
index 55b3c24..0000000
--- a/lib-src/libnyquist/tran/exp.c
+++ /dev/null
@@ -1,198 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "exp.h"
-
-void exp_free();
-
-
-typedef struct exp_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type in;
-    long in_cnt;
-    sample_block_values_type in_ptr;
-} exp_susp_node, *exp_susp_type;
-
-
-void exp_s_fetch(register exp_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type in_scale_reg = susp->in->scale;
-    register sample_block_values_type in_ptr_reg;
-    falloc_sample_block(out, "exp_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the in input sample block: */
-	susp_check_term_log_samples(in, in_ptr, in_cnt);
-	togo = MIN(togo, susp->in_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	in_ptr_reg = susp->in_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) exp((in_scale_reg * *in_ptr_reg++));
-	} while (--n); /* inner loop */
-
-	/* using in_ptr_reg is a bad idea on RS/6000: */
-	susp->in_ptr += togo;
-	out_ptr += togo;
-	susp_took(in_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* exp_s_fetch */
-
-
-void exp_toss_fetch(susp, snd_list)
-  register exp_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from in up to final_time for this block of zeros */
-    while ((round((final_time - susp->in->t0) * susp->in->sr)) >=
-	   susp->in->current)
-	susp_get_samples(in, in_ptr, in_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->in->t0) * susp->in->sr -
-         (susp->in->current - susp->in_cnt));
-    susp->in_ptr += n;
-    susp_took(in_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void exp_mark(exp_susp_type susp)
-{
-    sound_xlmark(susp->in);
-}
-
-
-void exp_free(exp_susp_type susp)
-{
-    sound_unref(susp->in);
-    ffree_generic(susp, sizeof(exp_susp_node), "exp_free");
-}
-
-
-void exp_print_tree(exp_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("in:");
-    sound_print_tree_1(susp->in, n);
-}
-
-
-sound_type snd_make_exp(sound_type in)
-{
-    register exp_susp_type susp;
-    rate_type sr = in->sr;
-    time_type t0 = in->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, exp_susp_node, "snd_make_exp");
-    susp->susp.fetch = exp_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < in->t0) sound_prepend_zeros(in, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(in->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = exp_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = exp_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = exp_mark;
-    susp->susp.print_tree = exp_print_tree;
-    susp->susp.name = "exp";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(in);
-    susp->susp.current = 0;
-    susp->in = in;
-    susp->in_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_exp(sound_type in)
-{
-    sound_type in_copy = sound_copy(in);
-    return snd_make_exp(in_copy);
-}
diff --git a/lib-src/libnyquist/tran/exp.h b/lib-src/libnyquist/tran/exp.h
deleted file mode 100644
index 7e16a13..0000000
--- a/lib-src/libnyquist/tran/exp.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_exp(sound_type in);
-sound_type snd_exp(sound_type in);
-    /* LISP: (snd-exp SOUND) */
diff --git a/lib-src/libnyquist/tran/exprel.alg b/lib-src/libnyquist/tran/exprel.alg
deleted file mode 100644
index 2e29a4b..0000000
--- a/lib-src/libnyquist/tran/exprel.alg
+++ /dev/null
@@ -1,50 +0,0 @@
-;; this is the beginnings of a new function that just passes input to output until
-;; a given "release time" at which point the output decays exponentially to zero.
-;; this is hard to do in Nyquist without a new primitive because the amplitude of
-;; the exponential decay depends on the value of the input at some given time.
-;; (Yes, you can evaluate that point, but then you have to compute all the samples,
-;; and they will be held in memory, which might not be a good thing.)
-
-(EXPREL-ALG
-(NAME "exprel")
-(ARGUMENTS ("sound_type" "signal") ("time_type" "release_time") ("double" "fall_time"))
-(SUPPORT-FUNCTIONS "#define ST_HOLD 0
-#define ST_FALL 1
-#define ST_FALL_UNTIL 2
-#define ST_OFF 3
-#define ST_OFF_UNTIL 4
-#define ST_RISE 5
-
-/* Overview:
-This operation passes its input to its output until the release time. Then, it takes
-the last sample output as a starting point for an exponential decay, with a duration
-of falltime.
-*/
-
-")
-(STATE 
-       ("long" "release_time" "signal->sr * release_time + 0.5")
-       ("double" "fall_time" "signal->sr * falltime + 0.5")
-       ("sample_type" "value" "0")
-       ("bool" "falling" "0"))
-(TERMINATE (MIN signal))
-(LOGICAL-STOP "release_time")
-(LINEAR signal)
-(INNER-LOOP "{
-        sample_type result;
-        if (falling) {
-            value = value * decay;
-            result = value;
-        } else {
-            result = signal;
-            if (release_time <= susp->susp.current + cnt + togo - n) {
-                value = result;
-                falling = 1;
-            }
-        }
-        output = (sample_type) value;
-      }")
-)
-
-need to do logical stop time and termination time
- 
diff --git a/lib-src/libnyquist/tran/fmosc.alg b/lib-src/libnyquist/tran/fmosc.alg
deleted file mode 100644
index 1bbbc98..0000000
--- a/lib-src/libnyquist/tran/fmosc.alg
+++ /dev/null
@@ -1,39 +0,0 @@
-(FMOSC-ALG
-(NAME "fmosc")
-(ARGUMENTS ("sound_type" "s") ("double" "step") ("rate_type" "sr")
-           ("double" "hz") ("time_type" "t0") ("sound_type" "s_fm")
-           ("double" "phase"))
-(TABLE "s")
-(NOT-IN-INNER-LOOP "s")
-(STATE ("table_type" "the_table" "sound_to_table(s)")
-       ("double" "table_len" "susp->the_table->length")
-       ("double" "ph_incr" "0")
-       ("sample_type *" "table_ptr" "susp->the_table->samples")
-       ("double" "phase" "compute_phase(phase, step, (long) susp->table_len,
-        s->sr, sr, hz, &susp->ph_incr);
-    s_fm->scale *= hz != 0 ? (sample_type) (susp->ph_incr / hz)
-                                                   : s->sr / (sr * step_to_hz(step))") ) ; cancel 0/0
-
-(ALWAYS-SCALE s_fm)
-(INLINE-INTERPOLATION T) ; so that modulation can be low frequency
-(STEP-FUNCTION s_fm)
-(TERMINATE (MIN s_fm))
-(LOGICAL-STOP (MIN s_fm))
-(INNER-LOOP-LOCALS "	    long table_index;
-            double x1;
-")
-(INNER-LOOP "table_index = (long) phase;
-            x1 = table_ptr[table_index];
-            output = (sample_type) (x1 + (phase - table_index) * 
-                          (table_ptr[table_index + 1] - x1));
-            phase += ph_incr + s_fm;
-            while (phase > table_len) phase -= table_len;
-            /* watch out for negative frequencies! */
-            while (phase < 0) phase += table_len")
-(CONSTANT "ph_incr" "table_len" "table_ptr" "table")
-
-(SAMPLE-RATE "sr")
-(FINALIZATION "    table_unref(susp->the_table);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/fmosc.c b/lib-src/libnyquist/tran/fmosc.c
deleted file mode 100644
index f4d538b..0000000
--- a/lib-src/libnyquist/tran/fmosc.c
+++ /dev/null
@@ -1,494 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "fmosc.h"
-
-void fmosc_free();
-
-
-typedef struct fmosc_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s_fm;
-    long s_fm_cnt;
-    sample_block_values_type s_fm_ptr;
-
-    /* support for interpolation of s_fm */
-    sample_type s_fm_x1_sample;
-    double s_fm_pHaSe;
-    double s_fm_pHaSe_iNcR;
-
-    /* support for ramp between samples of s_fm */
-    double output_per_s_fm;
-    long s_fm_n;
-
-    table_type the_table;
-    double table_len;
-    double ph_incr;
-    sample_type *table_ptr;
-    double phase;
-} fmosc_susp_node, *fmosc_susp_type;
-
-
-void fmosc_s_fetch(register fmosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double table_len_reg;
-    register double ph_incr_reg;
-    register sample_type * table_ptr_reg;
-    register double phase_reg;
-    register sample_type s_fm_scale_reg = susp->s_fm->scale;
-    register sample_block_values_type s_fm_ptr_reg;
-    falloc_sample_block(out, "fmosc_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s_fm input sample block: */
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	togo = MIN(togo, susp->s_fm_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	table_len_reg = susp->table_len;
-	ph_incr_reg = susp->ph_incr;
-	table_ptr_reg = susp->table_ptr;
-	phase_reg = susp->phase;
-	s_fm_ptr_reg = susp->s_fm_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-table_index = (long) phase_reg;
-            x1 = table_ptr_reg[table_index];
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1));
-            phase_reg += ph_incr_reg + (s_fm_scale_reg * *s_fm_ptr_reg++);
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += table_len_reg;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	/* using s_fm_ptr_reg is a bad idea on RS/6000: */
-	susp->s_fm_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_fm_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* fmosc_s_fetch */
-
-
-void fmosc_i_fetch(register fmosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double table_len_reg;
-    register double ph_incr_reg;
-    register sample_type * table_ptr_reg;
-    register double phase_reg;
-    register double s_fm_pHaSe_iNcR_rEg = susp->s_fm_pHaSe_iNcR;
-    register double s_fm_pHaSe_ReG;
-    register sample_type s_fm_x1_sample_reg;
-    falloc_sample_block(out, "fmosc_i_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	table_len_reg = susp->table_len;
-	ph_incr_reg = susp->ph_incr;
-	table_ptr_reg = susp->table_ptr;
-	phase_reg = susp->phase;
-	s_fm_pHaSe_ReG = susp->s_fm_pHaSe;
-	s_fm_x1_sample_reg = susp->s_fm_x1_sample;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-	    if (s_fm_pHaSe_ReG >= 1.0) {
-/* fixup-depends s_fm */
-		/* pick up next sample as s_fm_x1_sample: */
-		susp->s_fm_ptr++;
-		susp_took(s_fm_cnt, 1);
-		s_fm_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(s_fm, s_fm_ptr, s_fm_cnt, s_fm_x1_sample_reg);
-		s_fm_x1_sample_reg = susp_current_sample(s_fm, s_fm_ptr);
-	    }
-table_index = (long) phase_reg;
-            x1 = table_ptr_reg[table_index];
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1));
-            phase_reg += ph_incr_reg + s_fm_x1_sample_reg;
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += table_len_reg;
-	    s_fm_pHaSe_ReG += s_fm_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->phase = phase_reg;
-	susp->s_fm_pHaSe = s_fm_pHaSe_ReG;
-	susp->s_fm_x1_sample = s_fm_x1_sample_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* fmosc_i_fetch */
-
-
-void fmosc_r_fetch(register fmosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type s_fm_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double table_len_reg;
-    register double ph_incr_reg;
-    register sample_type * table_ptr_reg;
-    register double phase_reg;
-    falloc_sample_block(out, "fmosc_r_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->s_fm_pHaSe = 1.0;
-    }
-
-    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* grab next s_fm_x1_sample when phase goes past 1.0; */
-	/* use s_fm_n (computed below) to avoid roundoff errors: */
-	if (susp->s_fm_n <= 0) {
-	    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_pHaSe -= 1.0;
-	    /* s_fm_n gets number of samples before phase exceeds 1.0: */
-	    susp->s_fm_n = (long) ((1.0 - susp->s_fm_pHaSe) *
-					susp->output_per_s_fm);
-	}
-	togo = MIN(togo, susp->s_fm_n);
-	s_fm_val = susp->s_fm_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	table_len_reg = susp->table_len;
-	ph_incr_reg = susp->ph_incr;
-	table_ptr_reg = susp->table_ptr;
-	phase_reg = susp->phase;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-table_index = (long) phase_reg;
-            x1 = table_ptr_reg[table_index];
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1));
-            phase_reg += ph_incr_reg + s_fm_val;
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += table_len_reg;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	out_ptr += togo;
-	susp->s_fm_pHaSe += togo * susp->s_fm_pHaSe_iNcR;
-	susp->s_fm_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* fmosc_r_fetch */
-
-
-void fmosc_toss_fetch(susp, snd_list)
-  register fmosc_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s_fm up to final_time for this block of zeros */
-    while ((round((final_time - susp->s_fm->t0) * susp->s_fm->sr)) >=
-	   susp->s_fm->current)
-	susp_get_samples(s_fm, s_fm_ptr, s_fm_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s_fm->t0) * susp->s_fm->sr -
-         (susp->s_fm->current - susp->s_fm_cnt));
-    susp->s_fm_ptr += n;
-    susp_took(s_fm_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void fmosc_mark(fmosc_susp_type susp)
-{
-    sound_xlmark(susp->s_fm);
-}
-
-
-void fmosc_free(fmosc_susp_type susp)
-{
-    table_unref(susp->the_table);
-    sound_unref(susp->s_fm);
-    ffree_generic(susp, sizeof(fmosc_susp_node), "fmosc_free");
-}
-
-
-void fmosc_print_tree(fmosc_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s_fm:");
-    sound_print_tree_1(susp->s_fm, n);
-}
-
-
-sound_type snd_make_fmosc(sound_type s, double step, rate_type sr, double hz, time_type t0, sound_type s_fm, double phase)
-{
-    register fmosc_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, fmosc_susp_node, "snd_make_fmosc");
-    susp->the_table = sound_to_table(s);
-    susp->table_len = susp->the_table->length;
-    susp->ph_incr = 0;
-    susp->table_ptr = susp->the_table->samples;
-    susp->phase = compute_phase(phase, step, (long) susp->table_len,
-        s->sr, sr, hz, &susp->ph_incr);
-    s_fm->scale *= (float) (hz != 0 ? (sample_type) (susp->ph_incr / hz)
-								    : s->sr / (sr * step_to_hz(step)));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s_fm, sr);
-    switch (interp_desc) {
-      case INTERP_n: /* handled below */
-      case INTERP_s: susp->susp.fetch = fmosc_s_fetch; break;
-      case INTERP_i: susp->susp.fetch = fmosc_i_fetch; break;
-      case INTERP_r: susp->susp.fetch = fmosc_r_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s_fm->t0) sound_prepend_zeros(s_fm, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s_fm->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = fmosc_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = fmosc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = fmosc_mark;
-    susp->susp.print_tree = fmosc_print_tree;
-    susp->susp.name = "fmosc";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s_fm);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s_fm = s_fm;
-    susp->s_fm_cnt = 0;
-    susp->s_fm_pHaSe = 0.0;
-    susp->s_fm_pHaSe_iNcR = s_fm->sr / sr;
-    susp->s_fm_n = 0;
-    susp->output_per_s_fm = sr / s_fm->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_fmosc(sound_type s, double step, rate_type sr, double hz, time_type t0, sound_type s_fm, double phase)
-{
-    sound_type s_fm_copy = sound_copy(s_fm);
-    return snd_make_fmosc(s, step, sr, hz, t0, s_fm_copy, phase);
-}
diff --git a/lib-src/libnyquist/tran/fmosc.h b/lib-src/libnyquist/tran/fmosc.h
deleted file mode 100644
index c3724de..0000000
--- a/lib-src/libnyquist/tran/fmosc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_fmosc(sound_type s, double step, rate_type sr, double hz, time_type t0, sound_type s_fm, double phase);
-sound_type snd_fmosc(sound_type s, double step, rate_type sr, double hz, time_type t0, sound_type s_fm, double phase);
-    /* LISP: (snd-fmosc SOUND ANYNUM ANYNUM ANYNUM ANYNUM SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/follow.alg b/lib-src/libnyquist/tran/follow.alg
deleted file mode 100644
index 9765897..0000000
--- a/lib-src/libnyquist/tran/follow.alg
+++ /dev/null
@@ -1,106 +0,0 @@
-(FOLLOW-ALG
-(NAME "follow")
-(SUPPORT-FUNCTIONS 
-"/* Description: this is a sophisticated envelope follower.
-    The input is an envelope, e.g. something produced with
-    the AVG function. The purpose of this function is to
-    generate a smooth envelope that is generally not less
-    than the input signal. In other words, we want to \"ride\"
-    the peaks of the signal with a smooth function. The 
-    algorithm is as follows: keep a current output value
-    (called the \"value\"). The value is allowed to increase
-    by at most rise_factor and decrease by at most fall_factor.
-    Therefore, the next value should be between
-    value * rise_factor and value * fall_factor. If the input
-    is in this range, then the next value is simply the input.
-    If the input is less than value * fall_factor, then the
-    next value is just value * fall_factor, which will be greater
-    than the input signal. If the input is greater than value *
-    rise_factor, then we compute a rising envelope that meets
-    the input value by working bacwards in time, changing the
-    previous values to input / rise_factor, input / rise_factor^2,
-    input / rise_factor^3, etc. until this new envelope intersects
-    the previously computed values. There is only a limited buffer
-    in which we can work backwards, so if the new envelope does not
-    intersect the old one, then make yet another pass, this time
-    from the oldest buffered value forward, increasing on each 
-    sample by rise_factor to produce a maximal envelope. This will 
-    still be less than the input.
-    
-    The value has a lower limit of floor to make sure value has a 
-    reasonable positive value from which to begin an attack.
-    
-    Because this algorithm can make 2 passes through the buffer on
-    sharply rising input signals, it is not particularly fast. The
-    assumption is that it operates on fairly short buffers at low
-    sample rates appropriate for gain control, so this should not
-    matter.
-    */
-
-static sample_type *create_buf(double floor, long lookahead)
-{
-    sample_type *buf = (sample_type *) malloc(lookahead * sizeof(sample_type));
-    int i;
-    
-    for (i = 0; i < lookahead; i++) buf[i] = (sample_type) floor;
-    return buf;
-}
-")
-(ARGUMENTS ("sound_type" "sndin") ("double" "floor") ("double" "risetime") 
-                   ("double" "falltime") ("long" "lookahead"))
-(START (MIN sndin))
-(STATE ("long" "lookahead" "lookahead = lookahead + 1")
-       ("sample_type *" "delaybuf" "create_buf(floor, lookahead)")
-       ("sample_type *" "delayptr" "susp->delaybuf")
-       ("sample_type *" "prevptr" "susp->delaybuf + lookahead - 1;
-    *(susp->prevptr) = (sample_type) floor;")
-       ("sample_type *" "endptr" "susp->delaybuf + lookahead")
-           ("double" "floor" "floor; floor = log(floor);")
-           ("double" "rise_factor" "exp(- floor / (sndin->sr * risetime + 0.5))")
-           ("double" "fall_factor" "exp(floor / (sndin->sr * falltime + 0.5))")
-       ("double" "value" "susp->floor"))
-(CONSTANT "feedback" "rise_factor" "fall_factor" "endptr")
-(NOT-REGISTER delaybuf)
-(ALWAYS-SCALE sndin)
-(TERMINATE (MIN sndin))
-(INNER-LOOP "            sample_type current = sndin;
-            sample_type high = (sample_type) (*prevptr * rise_factor);
-            sample_type low = (sample_type) (*prevptr * fall_factor);
-            if (low < floor) low = (sample_type) floor;
-            if (current < low) *delayptr = (sample_type) low;
-            else if (current < high) *delayptr = current;
-            else /* current > high */ {
-                /* work back from current */
-                double rise_inverse = 1.0 / rise_factor;
-                double temp = current * rise_inverse;
-                boolean ok = false;
-                sample_type *ptr = prevptr;
-                int i;
-                               
-                for (i = 0; i < lookahead - 2; i++) {
-                    if (*ptr < temp) {
-                    *ptr-- = (sample_type) temp;
-                    temp *= rise_inverse;
-                    if (ptr < susp->delaybuf)
-                        ptr = endptr - 1;
-                    } else {
-                        ok = true;
-                        break;
-                    }
-                }
-                if (!ok && (*ptr < temp)) {
-                    temp = *ptr;
-                    for (i = 0; i < lookahead - 1; i++) {
-                        ptr++;
-                        if (ptr == endptr) ptr = susp->delaybuf;
-                        temp *= rise_factor;
-                        *ptr = (sample_type) temp;
-                    }
-                } else *delayptr = current;
-            }
-            prevptr = delayptr++;
-            if (delayptr == endptr) delayptr = susp->delaybuf;
-            output = *delayptr;")
-(FINALIZATION "free(susp->delaybuf);")
-)
-
diff --git a/lib-src/libnyquist/tran/follow.c b/lib-src/libnyquist/tran/follow.c
deleted file mode 100644
index 798f4d8..0000000
--- a/lib-src/libnyquist/tran/follow.c
+++ /dev/null
@@ -1,286 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "follow.h"
-
-void follow_free();
-
-
-typedef struct follow_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type sndin;
-    long sndin_cnt;
-    sample_block_values_type sndin_ptr;
-
-    long lookahead;
-    sample_type *delaybuf;
-    sample_type *delayptr;
-    sample_type *prevptr;
-    sample_type *endptr;
-    double floor;
-    double rise_factor;
-    double fall_factor;
-    double value;
-} follow_susp_node, *follow_susp_type;
-
-/* Description: this is a sophisticated envelope follower.
-    The input is an envelope, e.g. something produced with
-    the AVG function. The purpose of this function is to
-    generate a smooth envelope that is generally not less
-    than the input signal. In other words, we want to "ride"
-    the peaks of the signal with a smooth function. The 
-    algorithm is as follows: keep a current output value
-    (called the "value"). The value is allowed to increase
-    by at most rise_factor and decrease by at most fall_factor.
-    Therefore, the next value should be between
-    value * rise_factor and value * fall_factor. If the input
-    is in this range, then the next value is simply the input.
-    If the input is less than value * fall_factor, then the
-    next value is just value * fall_factor, which will be greater
-    than the input signal. If the input is greater than value *
-    rise_factor, then we compute a rising envelope that meets
-    the input value by working bacwards in time, changing the
-    previous values to input / rise_factor, input / rise_factor^2,
-    input / rise_factor^3, etc. until this new envelope intersects
-    the previously computed values. There is only a limited buffer
-    in which we can work backwards, so if the new envelope does not
-    intersect the old one, then make yet another pass, this time
-    from the oldest buffered value forward, increasing on each 
-    sample by rise_factor to produce a maximal envelope. This will 
-    still be less than the input.
-    
-    The value has a lower limit of floor to make sure value has a 
-    reasonable positive value from which to begin an attack.
-    
-    Because this algorithm can make 2 passes through the buffer on
-    sharply rising input signals, it is not particularly fast. The
-    assumption is that it operates on fairly short buffers at low
-    sample rates appropriate for gain control, so this should not
-    matter.
-    */
-
-static sample_type *create_buf(double floor, long lookahead)
-{
-    sample_type *buf = (sample_type *) malloc(lookahead * sizeof(sample_type));
-    int i;
-    
-    for (i = 0; i < lookahead; i++) buf[i] = (sample_type) floor;
-    return buf;
-}
-
-
-void follow_s_fetch(register follow_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register long lookahead_reg;
-    register sample_type * delayptr_reg;
-    register sample_type * prevptr_reg;
-    register sample_type * endptr_reg;
-    register double floor_reg;
-    register double rise_factor_reg;
-    register double fall_factor_reg;
-    register sample_type sndin_scale_reg = susp->sndin->scale;
-    register sample_block_values_type sndin_ptr_reg;
-    falloc_sample_block(out, "follow_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the sndin input sample block: */
-	susp_check_term_samples(sndin, sndin_ptr, sndin_cnt);
-	togo = MIN(togo, susp->sndin_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	lookahead_reg = susp->lookahead;
-	delayptr_reg = susp->delayptr;
-	prevptr_reg = susp->prevptr;
-	endptr_reg = susp->endptr;
-	floor_reg = susp->floor;
-	rise_factor_reg = susp->rise_factor;
-	fall_factor_reg = susp->fall_factor;
-	sndin_ptr_reg = susp->sndin_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            sample_type current = (sndin_scale_reg * *sndin_ptr_reg++);
-            sample_type high = (sample_type) (*prevptr_reg * rise_factor_reg);
-            sample_type low = (sample_type) (*prevptr_reg * fall_factor_reg);
-            if (low < floor_reg) low = (sample_type) floor_reg;
-            if (current < low) *delayptr_reg = (sample_type) low;
-            else if (current < high) *delayptr_reg = current;
-            else /* current > high */ {
-                /* work back from current */
-                double rise_inverse = 1.0 / rise_factor_reg;
-                double temp = current * rise_inverse;
-                boolean ok = false;
-                sample_type *ptr = prevptr_reg;
-                int i;
-                               
-                for (i = 0; i < lookahead_reg - 2; i++) {
-                    if (*ptr < temp) {
-                    *ptr-- = (sample_type) temp;
-                    temp *= rise_inverse;
-                    if (ptr < susp->delaybuf)
-                        ptr = endptr_reg - 1;
-                    } else {
-                        ok = true;
-                        break;
-                    }
-                }
-                if (!ok && (*ptr < temp)) {
-                    temp = *ptr;
-                    for (i = 0; i < lookahead_reg - 1; i++) {
-                        ptr++;
-                        if (ptr == endptr_reg) ptr = susp->delaybuf;
-                        temp *= rise_factor_reg;
-                        *ptr = (sample_type) temp;
-                    }
-                } else *delayptr_reg = current;
-            }
-            prevptr_reg = delayptr_reg++;
-            if (delayptr_reg == endptr_reg) delayptr_reg = susp->delaybuf;
-            *out_ptr_reg++ = *delayptr_reg;;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->lookahead = lookahead_reg;
-	susp->delayptr = delayptr_reg;
-	susp->prevptr = prevptr_reg;
-	susp->floor = floor_reg;
-	/* using sndin_ptr_reg is a bad idea on RS/6000: */
-	susp->sndin_ptr += togo;
-	out_ptr += togo;
-	susp_took(sndin_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* follow_s_fetch */
-
-
-void follow_toss_fetch(susp, snd_list)
-  register follow_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from sndin up to final_time for this block of zeros */
-    while ((round((final_time - susp->sndin->t0) * susp->sndin->sr)) >=
-	   susp->sndin->current)
-	susp_get_samples(sndin, sndin_ptr, sndin_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->sndin->t0) * susp->sndin->sr -
-         (susp->sndin->current - susp->sndin_cnt));
-    susp->sndin_ptr += n;
-    susp_took(sndin_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void follow_mark(follow_susp_type susp)
-{
-    sound_xlmark(susp->sndin);
-}
-
-
-void follow_free(follow_susp_type susp)
-{
-free(susp->delaybuf);    sound_unref(susp->sndin);
-    ffree_generic(susp, sizeof(follow_susp_node), "follow_free");
-}
-
-
-void follow_print_tree(follow_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("sndin:");
-    sound_print_tree_1(susp->sndin, n);
-}
-
-
-sound_type snd_make_follow(sound_type sndin, double floor, double risetime, double falltime, long lookahead)
-{
-    register follow_susp_type susp;
-    rate_type sr = sndin->sr;
-    time_type t0 = sndin->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, follow_susp_node, "snd_make_follow");
-    susp->lookahead = lookahead = lookahead + 1;
-    susp->delaybuf = create_buf(floor, lookahead);
-    susp->delayptr = susp->delaybuf;
-    susp->prevptr = susp->delaybuf + lookahead - 1;
-    *(susp->prevptr) = (sample_type) floor;;
-    susp->endptr = susp->delaybuf + lookahead;
-    susp->floor = floor; floor = log(floor);;
-    susp->rise_factor = exp(- floor / (sndin->sr * risetime + 0.5));
-    susp->fall_factor = exp(floor / (sndin->sr * falltime + 0.5));
-    susp->value = susp->floor;
-    susp->susp.fetch = follow_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < sndin->t0) sound_prepend_zeros(sndin, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(sndin->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = follow_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = follow_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = follow_mark;
-    susp->susp.print_tree = follow_print_tree;
-    susp->susp.name = "follow";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->sndin = sndin;
-    susp->sndin_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_follow(sound_type sndin, double floor, double risetime, double falltime, long lookahead)
-{
-    sound_type sndin_copy = sound_copy(sndin);
-    return snd_make_follow(sndin_copy, floor, risetime, falltime, lookahead);
-}
diff --git a/lib-src/libnyquist/tran/follow.h b/lib-src/libnyquist/tran/follow.h
deleted file mode 100644
index 6dbc3bb..0000000
--- a/lib-src/libnyquist/tran/follow.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_follow(sound_type sndin, double floor, double risetime, double falltime, long lookahead);
-sound_type snd_follow(sound_type sndin, double floor, double risetime, double falltime, long lookahead);
-    /* LISP: (snd-follow SOUND ANYNUM ANYNUM ANYNUM FIXNUM) */
diff --git a/lib-src/libnyquist/tran/fromarraystream.alg b/lib-src/libnyquist/tran/fromarraystream.alg
deleted file mode 100644
index f013830..0000000
--- a/lib-src/libnyquist/tran/fromarraystream.alg
+++ /dev/null
@@ -1,82 +0,0 @@
-(FRMASTRM-ALG
-  (NAME "fromarraystream")
-  (ARGUMENTS ("time_type" "t0") ("rate_type" "sr") ("LVAL" "src"))
-  (SUPPORT-FUNCTIONS "
-/* IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either an
- * array of samples or NIL. The output of ifft is simply the
- * concatenation of the samples taken from the array. Later,
- * an ifft will be plugged in and this will return overlapped
- * adds of the ifft's.
- */
-
-#include \"samples.h\"
-")
-
-  (SAMPLE-RATE "sr")
-  (STATE
-          ("long" "index" "0") ; samples index
-          ("long" "length" "0"); samples length
-          ("LVAL" "array" "NULL")
-        ("LVAL" "src" "src")
-        ("sample_type *" "samples" "NULL;"))
-  
-  (OUTER-LOOP "
-        if (susp->src == NULL) {
-out:	    togo = 0;	/* indicate termination */
-            break;	/* we're done */
-        }
-        if (susp->index >= susp->length) {
-            long i;
-            susp->index = 0;
-            susp->array = xleval(cons(s_send, cons(susp->src, consa(s_next))));
-            susp->index = 0;
-            if (susp->array == NULL) {
-                susp->src = NULL;
-                goto out;
-            } else if (!vectorp(susp->array)) {
-                xlerror(\"array expected\", susp->array);
-            } else if (susp->samples == NULL) {
-                /* assume arrays are all the same size as first one;
-                   now that we know the size, we just have to do this
-                   first allocation.
-                 */
-                susp->length = getsize(susp->array);
-                if (susp->length < 1) xlerror(\"array has no elements\", susp->array);
-                susp->samples = 
-                    (sample_type *) calloc(susp->length,
-                                           sizeof(sample_type));
-            } else if (getsize(susp->array) != susp->length) {
-                xlerror(\"arrays must all be the same length\", susp->array);
-            }
-            /* at this point, we have a new array and a place to put samples */
-            for (i = 0; i < susp->length; i++) {
-                LVAL elem = getelement(susp->array, i);
-                if (ntype(elem) != FLONUM) {
-                    xlerror(\"flonum expected\", elem);
-                }
-                susp->samples[i] = (sample_type) getflonum(elem);
-            }
-            susp->array = NULL; /* free the array */
-        }
-        togo = MIN(togo, susp->length - susp->index);
-")
-  (INNER-LOOP "output = samples[index++];")
-  (CONSTANT "length" "samples" "array" "src")
-  (TERMINATE COMPUTED)
-  (FINALIZATION "    free(susp->samples);
-")
-
-)
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib-src/libnyquist/tran/fromarraystream.c b/lib-src/libnyquist/tran/fromarraystream.c
deleted file mode 100644
index 732d0a1..0000000
--- a/lib-src/libnyquist/tran/fromarraystream.c
+++ /dev/null
@@ -1,170 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "fromarraystream.h"
-
-void fromarraystream_free();
-
-
-typedef struct fromarraystream_susp_struct {
-    snd_susp_node susp;
-
-    long index;
-    long length;
-    LVAL array;
-    LVAL src;
-    sample_type *samples;
-} fromarraystream_susp_node, *fromarraystream_susp_type;
-
-
-/* IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either an
- * array of samples or NIL. The output of ifft is simply the
- * concatenation of the samples taken from the array. Later,
- * an ifft will be plugged in and this will return overlapped
- * adds of the ifft's.
- */
-
-#include "samples.h"
-
-
-void fromarraystream__fetch(register fromarraystream_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register long index_reg;
-    register sample_type * samples_reg;
-    falloc_sample_block(out, "fromarraystream__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-
-        if (susp->src == NULL) {
-out:	    togo = 0;	/* indicate termination */
-            break;	/* we're done */
-        }
-        if (susp->index >= susp->length) {
-            long i;
-            susp->index = 0;
-            susp->array = xleval(cons(s_send, cons(susp->src, consa(s_next))));
-            susp->index = 0;
-            if (susp->array == NULL) {
-                susp->src = NULL;
-                goto out;
-            } else if (!vectorp(susp->array)) {
-                xlerror("array expected", susp->array);
-            } else if (susp->samples == NULL) {
-                /* assume arrays are all the same size as first one;
-                   now that we know the size, we just have to do this
-                   first allocation.
-                 */
-                susp->length = getsize(susp->array);
-                if (susp->length < 1) xlerror("array has no elements", susp->array);
-                susp->samples = 
-                    (sample_type *) calloc(susp->length,
-                                           sizeof(sample_type));
-            } else if (getsize(susp->array) != susp->length) {
-                xlerror("arrays must all be the same length", susp->array);
-            }
-            /* at this point, we have a new array and a place to put samples */
-            for (i = 0; i < susp->length; i++) {
-                LVAL elem = getelement(susp->array, i);
-                if (ntype(elem) != FLONUM) {
-                    xlerror("flonum expected", elem);
-                }
-                susp->samples[i] = (sample_type) getflonum(elem);
-            }
-            susp->array = NULL; /* free the array */
-        }
-        togo = MIN(togo, susp->length - susp->index);
-
-	n = togo;
-	index_reg = susp->index;
-	samples_reg = susp->samples;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = samples_reg[index_reg++];;
-	} while (--n); /* inner loop */
-
-	susp->index = index_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* fromarraystream__fetch */
-
-
-void fromarraystream_mark(fromarraystream_susp_type susp)
-{
-    if (susp->src) mark(susp->src);
-    if (susp->array) mark(susp->array);
-}
-
-
-void fromarraystream_free(fromarraystream_susp_type susp)
-{
-    free(susp->samples);
-    ffree_generic(susp, sizeof(fromarraystream_susp_node), "fromarraystream_free");
-}
-
-
-void fromarraystream_print_tree(fromarraystream_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_fromarraystream(time_type t0, rate_type sr, LVAL src)
-{
-    register fromarraystream_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, fromarraystream_susp_node, "snd_make_fromarraystream");
-    susp->index = 0;
-    susp->length = 0;
-    susp->array = NULL;
-    susp->src = src;
-    susp->samples = NULL;;
-    susp->susp.fetch = fromarraystream__fetch;
-
-    /* initialize susp state */
-    susp->susp.free = fromarraystream_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = fromarraystream_mark;
-    susp->susp.print_tree = fromarraystream_print_tree;
-    susp->susp.name = "fromarraystream";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_fromarraystream(time_type t0, rate_type sr, LVAL src)
-{
-    return snd_make_fromarraystream(t0, sr, src);
-}
diff --git a/lib-src/libnyquist/tran/fromarraystream.h b/lib-src/libnyquist/tran/fromarraystream.h
deleted file mode 100644
index 51a5a60..0000000
--- a/lib-src/libnyquist/tran/fromarraystream.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_fromarraystream(time_type t0, rate_type sr, LVAL src);
-sound_type snd_fromarraystream(time_type t0, rate_type sr, LVAL src);
-    /* LISP: (snd-fromarraystream ANYNUM ANYNUM ANY) */
diff --git a/lib-src/libnyquist/tran/fromobject.alg b/lib-src/libnyquist/tran/fromobject.alg
deleted file mode 100644
index f119a7f..0000000
--- a/lib-src/libnyquist/tran/fromobject.alg
+++ /dev/null
@@ -1,37 +0,0 @@
-(FROMOBJ-ALG
-  (NAME "fromobject")
-  (ARGUMENTS ("time_type" "t0") ("rate_type" "sr") ("LVAL" "src"))
-  (SUPPORT-FUNCTIONS "
-/* IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either a
- *  FLONUM sample or NIL. The output of fromobj is simply the
- * sequence of the samples. 
- */
-
-#include \"samples.h\"
-")
-
-  (SAMPLE-RATE "sr")
-  (STATE
-        ("boolean" "done" "false")
-        ("LVAL" "src" "src"))
-  
-  (OUTER-LOOP "        if (susp->done) {
-            togo = 0; /* indicate termination */
-            break;    /* we're done */
-        }
-")
-  (INNER-LOOP 
-"            LVAL rslt = xleval(cons(s_send, cons(src,
-                                                 consa(s_next))));
-            if (floatp(rslt)) {
-                output = (sample_type) getflonum(rslt);
-            } else {
-                done = true;
-                /* adjust togo to what it should have been */
-                break;
-            }")
-  (CONSTANT "length" "samples" "array" "src")
-  (TERMINATE COMPUTED)
-)
-
diff --git a/lib-src/libnyquist/tran/fromobject.c b/lib-src/libnyquist/tran/fromobject.c
deleted file mode 100644
index f744a9d..0000000
--- a/lib-src/libnyquist/tran/fromobject.c
+++ /dev/null
@@ -1,134 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "fromobject.h"
-
-void fromobject_free();
-
-
-typedef struct fromobject_susp_struct {
-    snd_susp_node susp;
-
-    boolean done;
-    LVAL src;
-} fromobject_susp_node, *fromobject_susp_type;
-
-
-/* IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either a
- *  FLONUM sample or NIL. The output of fromobj is simply the
- * sequence of the samples. 
- */
-
-#include "samples.h"
-
-
-void fromobject__fetch(register fromobject_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register boolean done_reg;
-    register LVAL src_reg;
-    falloc_sample_block(out, "fromobject__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-        if (susp->done) {
-            togo = 0; /* indicate termination */
-            break;    /* we're done */
-        }
-
-	n = togo;
-	done_reg = susp->done;
-	src_reg = susp->src;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            LVAL rslt = xleval(cons(s_send, cons(src_reg,
-                                                 consa(s_next))));
-            if (floatp(rslt)) {
-                *out_ptr_reg++ = (sample_type) getflonum(rslt);
-            } else {
-                done_reg = true;
-                /* adjust togo to what it should have been */
-                break;
-            };
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->done = done_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* fromobject__fetch */
-
-
-void fromobject_mark(fromobject_susp_type susp)
-{
-    if (susp->src) mark(susp->src);
-}
-
-
-void fromobject_free(fromobject_susp_type susp)
-{
-    ffree_generic(susp, sizeof(fromobject_susp_node), "fromobject_free");
-}
-
-
-void fromobject_print_tree(fromobject_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_fromobject(time_type t0, rate_type sr, LVAL src)
-{
-    register fromobject_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, fromobject_susp_node, "snd_make_fromobject");
-    susp->done = false;
-    susp->src = src;
-    susp->susp.fetch = fromobject__fetch;
-
-    /* initialize susp state */
-    susp->susp.free = fromobject_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = fromobject_mark;
-    susp->susp.print_tree = fromobject_print_tree;
-    susp->susp.name = "fromobject";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_fromobject(time_type t0, rate_type sr, LVAL src)
-{
-    return snd_make_fromobject(t0, sr, src);
-}
diff --git a/lib-src/libnyquist/tran/fromobject.h b/lib-src/libnyquist/tran/fromobject.h
deleted file mode 100644
index b8d560d..0000000
--- a/lib-src/libnyquist/tran/fromobject.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_fromobject(time_type t0, rate_type sr, LVAL src);
-sound_type snd_fromobject(time_type t0, rate_type sr, LVAL src);
-    /* LISP: (snd-fromobject ANYNUM ANYNUM ANY) */
diff --git a/lib-src/libnyquist/tran/gate.alg b/lib-src/libnyquist/tran/gate.alg
deleted file mode 100644
index 5a7b10f..0000000
--- a/lib-src/libnyquist/tran/gate.alg
+++ /dev/null
@@ -1,166 +0,0 @@
-(GATE-ALG
-(NAME "gate")
-(ARGUMENTS ("sound_type" "signal") ("time_type" "lookahead") ("double" "risetime")
-           ("double" "falltime") ("double" "floor") ("double" "threshold"))
-(START (MIN signal))
-(SUPPORT-FUNCTIONS "#define ST_HOLD 0
-#define ST_FALL 1
-#define ST_FALL_UNTIL 2
-#define ST_OFF 3
-#define ST_OFF_UNTIL 4
-#define ST_RISE 5
-
-/* Overview:
-This operation generates an exponential rise and decay suitable for implementing a 
-noise gate. The decay starts when the signal drops below threshold and stays there
-for longer than lookahead. 
-Decay continues until the value reaches floor, at which point the decay stops
-and the value is held constant. Either during the decay or after the floor is reached,
-if the signal goes above threshold, then the output value will rise to 1.0 (0dB) at
-the point the signal crosses the threshold. Again, lookahead is used, so the rise
-actually starts before the signal crosses the threshold. The rise rate is constant
-and set so that a rise from floor to 0dB occurs in the specified risetime.  Similarly,
-the fall rate is constant such that a fall from 0dB to the floor takes falltime.
-
-Rather than looking ahead, the output actually lags the input by lookahead. The caller
-should advance the time of the input signal in order to get a correct output signal,
-and this will be taken care of in Lisp code.
-
-The implementation is a finite-state machine that simultaneously computes the value
-and scans ahead for threshold crossings. Time points, remembered as sample counts are
-saved in variables:
-    on_count -- the time at which the rise should complete
-    off_count -- the time at which the fall should begin
-    rise_factor -- multiply by this to get exponential rise
-    fall_factor -- multiply by this to get exponential fall
-    rise_time -- number of samples for a full rise
-    fall_time -- number of samples for a full fall
-    floor -- the lowest value to output
-    threshold -- compare the signal s to this value
-    start_rise -- the sample count at which a rise begins
-    delay_len -- number of samples to look ahead, length of buffer
-    state -- the current state of finite state machine
-        (see the individual 'case' statements for description of states)
-    value -- the current output value
-    
-computing fall_factor:
-    factor ^ (sample_rate * time) == floor
-    log(factor) * sample_rate * time == log(floor)
-    log(factor) == log(floor) / (sample_rate * time)
-    factor == exp(log(floor) / (sample_rate * time))
-    
-*/
-
-void compute_start_rise(gate_susp_type susp)
-{
-    /* to compute when to start rise to achieve 0dB at on_count:
-    By similar triangles:
-        truncated rise time    truncated fall time
-        ------------------- == -------------------
-            full rise time         full fall time
-    when you enter ST_FALL, set start_fall = now
-    then if (on_count - start_fall) < (rise_time + fall_time)
-    then start rise at
-    on_time - rise_time * (on_count-start_fall)/(rise_time+fall_time)
-    */
-    long total = (long) (susp->rise_time + susp->fall_time);
-    if ((susp->on_count - susp->start_fall) < total) {
-        susp->start_rise = (long) (susp->on_count - 
-            (susp->rise_time * susp->on_count - susp->start_fall) / total);
-    } else susp->start_rise = (long) (susp->on_count - susp->rise_time);
-}
-")
-(STATE 
-       ("double" "rise_time" "signal->sr * risetime + 0.5")
-       ("double" "fall_time" "signal->sr * falltime + 0.5")
-       ("double" "floor" "floor; floor = log(floor);")
-       ("double" "threshold" "threshold")
-       ("long" "on_count" "0")
-       ("long" "off_count" "0")
-       ("double" "rise_factor" "exp(- floor / susp->rise_time)")
-       ("double" "fall_factor" "exp(floor / susp->fall_time)")
-       ("long" "start_fall" "0")
-       ("long" "start_rise" "0")
-       ("long" "stop_count" "0")
-       ("long" "delay_len" "MAX(1, round(signal->sr * lookahead))")
-       ("int" "state" "ST_OFF")
-       ("double" "value" "susp->floor"))
-
-(CONSTANT "lookahead" "rise_time" "fall_time" "floor" "threshold" "delay_len" "end_ptr"
-    "rise_factor" "fall_factor")
-(NOT-REGISTER delay_buf rise_factor fall_factor rise_time fall_time floor 
-              on_count start_fall start_rise)
-(LINEAR signal)
-(TERMINATE (MIN signal))
-(INNER-LOOP "{
-        sample_type future = signal;
-        long now = susp->susp.current + cnt + togo - n;
-        
-        switch (state) {
-          /* hold at 1.0 and look for the moment to begin fall: */
-          case ST_HOLD:
-              if (future >= threshold) {
-                  off_count = now + delay_len;
-              } else if (now >= off_count) {
-                  state = ST_FALL;
-                  stop_count = (long) (now + susp->fall_time);
-                  susp->start_fall = now;
-              }
-              break;
-          /* fall until stop_count while looking for next rise time */
-          case ST_FALL:
-            if (future >= threshold) {
-                off_count = susp->on_count = now + delay_len;
-                compute_start_rise(susp);
-                state = ST_FALL_UNTIL;
-            } else if (now == stop_count) {
-                state = ST_OFF;
-                value = susp->floor;
-            } else value *= susp->fall_factor;
-            break;
-          /* fall until start_rise while looking for next fall time */
-          case ST_FALL_UNTIL:
-            value *= susp->fall_factor;
-            if (future >= threshold) {
-                   off_count = now + delay_len;
-               }
-               if (now >= susp->start_rise) {
-                   state = ST_RISE;
-               } else if (now >= stop_count) {
-                   state = ST_OFF_UNTIL;
-                   value = susp->floor;
-               }
-               break;
-          /* hold at floor (minimum value) and look for next rise time */
-          case ST_OFF:
-            if (future >= threshold) {
-                off_count = susp->on_count = now + delay_len;
-                compute_start_rise(susp);
-                state = ST_OFF_UNTIL;
-            }
-            break;
-          /* hold at floor until start_rise while looking for next fall time */
-          case ST_OFF_UNTIL:
-              if (future >= threshold) {
-                  off_count = now + delay_len;
-              }
-              if (now >= susp->start_rise) {
-                  state = ST_RISE;
-              }
-              break;
-          /* rise while looking for fall time */
-          case ST_RISE:
-            value *= susp->rise_factor;
-            if (future >= threshold) {
-                off_count = now + delay_len;
-            }
-            if (now >= susp->on_count) {
-                value = 1.0;
-                state = ST_HOLD;
-            }
-            break;
-          }
-          output = (sample_type) value;
-      }")
-)
-
diff --git a/lib-src/libnyquist/tran/gate.c b/lib-src/libnyquist/tran/gate.c
deleted file mode 100644
index 1c04c0d..0000000
--- a/lib-src/libnyquist/tran/gate.c
+++ /dev/null
@@ -1,353 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "gate.h"
-
-void gate_free();
-
-
-typedef struct gate_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    sound_type signal;
-    long signal_cnt;
-    sample_block_values_type signal_ptr;
-
-    double rise_time;
-    double fall_time;
-    double floor;
-    double threshold;
-    long on_count;
-    long off_count;
-    double rise_factor;
-    double fall_factor;
-    long start_fall;
-    long start_rise;
-    long stop_count;
-    long delay_len;
-    int state;
-    double value;
-} gate_susp_node, *gate_susp_type;
-
-#define ST_HOLD 0
-#define ST_FALL 1
-#define ST_FALL_UNTIL 2
-#define ST_OFF 3
-#define ST_OFF_UNTIL 4
-#define ST_RISE 5
-
-/* Overview:
-This operation generates an exponential rise and decay suitable for implementing a 
-noise gate. The decay starts when the signal drops below threshold and stays there
-for longer than lookahead. 
-Decay continues until the value reaches floor, at which point the decay stops
-and the value is held constant. Either during the decay or after the floor is reached,
-if the signal goes above threshold, then the output value will rise to 1.0 (0dB) at
-the point the signal crosses the threshold. Again, lookahead is used, so the rise
-actually starts before the signal crosses the threshold. The rise rate is constant
-and set so that a rise from floor to 0dB occurs in the specified risetime.  Similarly,
-the fall rate is constant such that a fall from 0dB to the floor takes falltime.
-
-Rather than looking ahead, the output actually lags the input by lookahead. The caller
-should advance the time of the input signal in order to get a correct output signal,
-and this will be taken care of in Lisp code.
-
-The implementation is a finite-state machine that simultaneously computes the value
-and scans ahead for threshold crossings. Time points, remembered as sample counts are
-saved in variables:
-    on_count -- the time at which the rise should complete
-    off_count -- the time at which the fall should begin
-    rise_factor -- multiply by this to get exponential rise
-    fall_factor -- multiply by this to get exponential fall
-    rise_time -- number of samples for a full rise
-    fall_time -- number of samples for a full fall
-    floor -- the lowest value to output
-    threshold -- compare the signal s to this value
-    start_rise -- the sample count at which a rise begins
-    delay_len -- number of samples to look ahead, length of buffer
-    state -- the current state of finite state machine
-        (see the individual 'case' statements for description of states)
-    value -- the current output value
-    
-computing fall_factor:
-    factor ^ (sample_rate * time) == floor
-    log(factor) * sample_rate * time == log(floor)
-    log(factor) == log(floor) / (sample_rate * time)
-    factor == exp(log(floor) / (sample_rate * time))
-    
-*/
-
-void compute_start_rise(gate_susp_type susp)
-{
-    /* to compute when to start rise to achieve 0dB at on_count:
-    By similar triangles:
-        truncated rise time    truncated fall time
-        ------------------- == -------------------
-            full rise time         full fall time
-    when you enter ST_FALL, set start_fall = now
-    then if (on_count - start_fall) < (rise_time + fall_time)
-    then start rise at
-    on_time - rise_time * (on_count-start_fall)/(rise_time+fall_time)
-    */
-    long total = (long) (susp->rise_time + susp->fall_time);
-    if ((susp->on_count - susp->start_fall) < total) {
-        susp->start_rise = (long) (susp->on_count - 
-            (susp->rise_time * susp->on_count - susp->start_fall) / total);
-    } else susp->start_rise = (long) (susp->on_count - susp->rise_time);
-}
-
-
-void gate_n_fetch(register gate_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double threshold_reg;
-    register long off_count_reg;
-    register long stop_count_reg;
-    register long delay_len_reg;
-    register int state_reg;
-    register double value_reg;
-    register sample_block_values_type signal_ptr_reg;
-    falloc_sample_block(out, "gate_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the signal input sample block: */
-	susp_check_term_samples(signal, signal_ptr, signal_cnt);
-	togo = MIN(togo, susp->signal_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	threshold_reg = susp->threshold;
-	off_count_reg = susp->off_count;
-	stop_count_reg = susp->stop_count;
-	delay_len_reg = susp->delay_len;
-	state_reg = susp->state;
-	value_reg = susp->value;
-	signal_ptr_reg = susp->signal_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{
-        sample_type future = *signal_ptr_reg++;
-        long now = susp->susp.current + cnt + togo - n;
-        
-        switch (state_reg) {
-          /* hold at 1.0 and look for the moment to begin fall: */
-          case ST_HOLD:
-              if (future >= threshold_reg) {
-                  off_count_reg = now + delay_len_reg;
-              } else if (now >= off_count_reg) {
-                  state_reg = ST_FALL;
-                  stop_count_reg = (long) (now + susp->fall_time);
-                  susp->start_fall = now;
-              }
-              break;
-          /* fall until stop_count_reg while looking for next rise time */
-          case ST_FALL:
-            if (future >= threshold_reg) {
-                off_count_reg = susp->on_count = now + delay_len_reg;
-                compute_start_rise(susp);
-                state_reg = ST_FALL_UNTIL;
-            } else if (now == stop_count_reg) {
-                state_reg = ST_OFF;
-                value_reg = susp->floor;
-            } else value_reg *= susp->fall_factor;
-            break;
-          /* fall until start_rise while looking for next fall time */
-          case ST_FALL_UNTIL:
-            value_reg *= susp->fall_factor;
-            if (future >= threshold_reg) {
-                   off_count_reg = now + delay_len_reg;
-               }
-               if (now >= susp->start_rise) {
-                   state_reg = ST_RISE;
-               } else if (now >= stop_count_reg) {
-                   state_reg = ST_OFF_UNTIL;
-                   value_reg = susp->floor;
-               }
-               break;
-          /* hold at floor (minimum value_reg) and look for next rise time */
-          case ST_OFF:
-            if (future >= threshold_reg) {
-                off_count_reg = susp->on_count = now + delay_len_reg;
-                compute_start_rise(susp);
-                state_reg = ST_OFF_UNTIL;
-            }
-            break;
-          /* hold at floor until start_rise while looking for next fall time */
-          case ST_OFF_UNTIL:
-              if (future >= threshold_reg) {
-                  off_count_reg = now + delay_len_reg;
-              }
-              if (now >= susp->start_rise) {
-                  state_reg = ST_RISE;
-              }
-              break;
-          /* rise while looking for fall time */
-          case ST_RISE:
-            value_reg *= susp->rise_factor;
-            if (future >= threshold_reg) {
-                off_count_reg = now + delay_len_reg;
-            }
-            if (now >= susp->on_count) {
-                value_reg = 1.0;
-                state_reg = ST_HOLD;
-            }
-            break;
-          }
-          *out_ptr_reg++ = (sample_type) value_reg;
-      };
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->off_count = off_count_reg;
-	susp->stop_count = stop_count_reg;
-	susp->state = state_reg;
-	susp->value = value_reg;
-	/* using signal_ptr_reg is a bad idea on RS/6000: */
-	susp->signal_ptr += togo;
-	out_ptr += togo;
-	susp_took(signal_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* gate_n_fetch */
-
-
-void gate_toss_fetch(susp, snd_list)
-  register gate_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from signal up to final_time for this block of zeros */
-    while ((round((final_time - susp->signal->t0) * susp->signal->sr)) >=
-	   susp->signal->current)
-	susp_get_samples(signal, signal_ptr, signal_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->signal->t0) * susp->signal->sr -
-         (susp->signal->current - susp->signal_cnt));
-    susp->signal_ptr += n;
-    susp_took(signal_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void gate_mark(gate_susp_type susp)
-{
-    sound_xlmark(susp->signal);
-}
-
-
-void gate_free(gate_susp_type susp)
-{
-    sound_unref(susp->signal);
-    ffree_generic(susp, sizeof(gate_susp_node), "gate_free");
-}
-
-
-void gate_print_tree(gate_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("signal:");
-    sound_print_tree_1(susp->signal, n);
-}
-
-
-sound_type snd_make_gate(sound_type signal, time_type lookahead, double risetime, double falltime, double floor, double threshold)
-{
-    register gate_susp_type susp;
-    rate_type sr = signal->sr;
-    time_type t0 = signal->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (SIGNAL) */
-    scale_factor *= signal->scale;
-    signal->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (signal->sr < sr) { signal->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, gate_susp_node, "snd_make_gate");
-    susp->rise_time = signal->sr * risetime + 0.5;
-    susp->fall_time = signal->sr * falltime + 0.5;
-    susp->floor = floor; floor = log(floor);;
-    susp->threshold = threshold;
-    susp->on_count = 0;
-    susp->off_count = 0;
-    susp->rise_factor = exp(- floor / susp->rise_time);
-    susp->fall_factor = exp(floor / susp->fall_time);
-    susp->start_fall = 0;
-    susp->start_rise = 0;
-    susp->stop_count = 0;
-    susp->delay_len = MAX(1, round(signal->sr * lookahead));
-    susp->state = ST_OFF;
-    susp->value = susp->floor;
-    susp->susp.fetch = gate_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < signal->t0) sound_prepend_zeros(signal, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(signal->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = gate_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = gate_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = gate_mark;
-    susp->susp.print_tree = gate_print_tree;
-    susp->susp.name = "gate";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    susp->signal = signal;
-    susp->signal_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_gate(sound_type signal, time_type lookahead, double risetime, double falltime, double floor, double threshold)
-{
-    sound_type signal_copy = sound_copy(signal);
-    return snd_make_gate(signal_copy, lookahead, risetime, falltime, floor, threshold);
-}
diff --git a/lib-src/libnyquist/tran/gate.h b/lib-src/libnyquist/tran/gate.h
deleted file mode 100644
index 851c783..0000000
--- a/lib-src/libnyquist/tran/gate.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_gate(sound_type signal, time_type lookahead, double risetime, double falltime, double floor, double threshold);
-sound_type snd_gate(sound_type signal, time_type lookahead, double risetime, double falltime, double floor, double threshold);
-    /* LISP: (snd-gate SOUND ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/ifft-old.alg b/lib-src/libnyquist/tran/ifft-old.alg
deleted file mode 100644
index 19b44b0..0000000
--- a/lib-src/libnyquist/tran/ifft-old.alg
+++ /dev/null
@@ -1,92 +0,0 @@
-(IFFT-ALG
-  (NAME "ifft")
-  (ARGUMENTS ("time_type" "t0") ("rate_type" "sr") ("LVAL" "src"))
-  (SUPPORT-FUNCTIONS "
-/* IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either an
- * array of samples or NIL. The output of ifft is simply the
- * concatenation of the samples taken from the array. Later,
- * an ifft will be plugged in and this will return overlapped
- * adds of the ifft's.
- */
-
-#include \"samples.h\"
-
- /* IFFT code goes here */
-")
-
-  (SAMPLE-RATE "sr")
-  (STATE
-          ("long" "index" "0") ; samples index
-          ("long" "length" "0"); samples length
-          ("LVAL" "array" "NULL")
-        ("LVAL" "src" "src")
-        ("sample_type *" "samples" "NULL"))
-  
-  (OUTER-LOOP "
-        if (susp->src == NULL) {
-out:	    togo = 0;	/* indicate termination */
-            break;	/* we're done */
-        }
-        if (susp->index >= susp->length) {
-            long i;
-            susp->index = 0;
-            susp->array = xleval(cons(s_send, cons(susp->src, consa(s_next))));
-            susp->index = 0;
-            if (susp->array == NULL) {
-                susp->src = NULL;
-                goto out;
-            } else if (!vectorp(susp->array)) {
-                xlerror(\"array expected\", susp->array);
-            } else if (susp->samples == NULL) {
-                /* assume arrays are all the same size as first one;
-                   now that we know the size, we just have to do this
-                   first allocation.
-                 */
-                susp->length = getsize(susp->array);
-                if (susp->length < 1) xlerror(\"array has no elements\", susp->array);
-                susp->samples = 
-                    (sample_type *) calloc(susp->length,
-                                           sizeof(sample_type));
-            } else if (getsize(susp->array) != susp->length) {
-                xlerror(\"arrays must all be the same length\", susp->array);
-            }
-            /* at this point, we have a new array and a place to put samples */
-            for (i = 0; i < susp->length; i++) {
-                LVAL elem = getelement(susp->array, i);
-                if (ntype(elem) != FLONUM) {
-                    xlerror(\"flonum expected\", elem);
-                }
-                susp->samples[i] = (sample_type) getflonum(elem);
-            }
-            susp->array = NULL; /* free the array */
-            /* here is where the IFFT and windowing should take place */
-/*
-            temp_fft = (double *) malloc (susp->length * sizeof(double));
-            if (temp_fft == 0) return;
-            big_samples = (double *) malloc (susp->length * sizeof(double));
-            if (big_samples == 0) return;
-            for (i = 0; i < susp->length; i++) {
-                big_samples[i] = (double) susp->samples[i];
-            }
-            rp = rfftw_create_plan(susp->length, FFTW_COMPLEX_TO_REAL, FFTW_ESTIMATE);
-            rfftw_one(rp, big_samples, temp_fft);
-            rfftw_destroy_plan(rp);
-            free(big_samples);
-            for (i = 0; i < susp->length; i++) {
-                setelement(result, i, cvflonum(temp_fft[i]));
-            }
-            free (temp_fft);
-*/
-            
-        }
-        togo = MIN(togo, susp->length - susp->index);
-")
-  (INNER-LOOP "output = samples[index++];")
-  (CONSTANT "length" "samples" "array" "src")
-  (TERMINATE COMPUTED)
-  (FINALIZATION "    free(susp->samples);
-")
-
-)
-
diff --git a/lib-src/libnyquist/tran/ifft.alg b/lib-src/libnyquist/tran/ifft.alg
deleted file mode 100644
index 8bb7690..0000000
--- a/lib-src/libnyquist/tran/ifft.alg
+++ /dev/null
@@ -1,203 +0,0 @@
-(IFFT-ALG
-  (NAME "ifft")
-  (ARGUMENTS ("time_type" "t0") ("rate_type" "sr")
-             ("LVAL" "src") ("long" "stepsize")
-             ("LVAL" "window"))
-  (SUPPORT-FUNCTIONS "
-/* index: index into outbuf whree we get output samples
- * length: size of the frame, window, and outbuf; half size of samples
- * array: spectral frame goes here (why not a local var?)
- * window_len: size of window, should equal length
- * outbuf: real part of samples are multiplied by window and added to
- *          outbuf (after shifting)
- * src: send :NEXT to this object to get next frame
- * stepsize: shift by this many and add each frame
- * samples: result of ifft goes here, real and imag
- * window: multiply samples by window if any 
- *
- * IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either an
- * array of samples or NIL. The output of ifft is simply the
- * concatenation of the samples taken from the array. Later,
- * an ifft will be plugged in and this will return overlapped
- * adds of the ifft's.
- *
- * OVERLAP: stepsize must be less than or equal to the length
- * of real part of the transformed spectrum. A transform step
- * works like this: 
- * (1) shift the output buffer by stepsize samples, filling
- *     the end of the buffer with zeros
- * (2) get and transform an array of spectral coefficients
- * (3) multiply the result by a window
- * (4) add the result to the output buffer
- * (5) output the first stepsize samples of the buffer
- * 
- * DATA FORMAT: the DC component goes in array elem 0
- * Cosine part is in elements 2*i-1
- * Sine part is in elements 2*i
- * Nyquist frequency is in element length-1
- */
-
-#include \"samples.h\"
-#include \"fftn.h\"
-
-table_type get_window_samples(LVAL window, sample_type **samples, long *len)
-{
-    table_type result = NULL;
-    if (soundp(window)) {
-        sound_type window_sound = getsound(window);
-        xlprot1(window); /* maybe not necessary */
-        result = sound_to_table(window_sound);
-        xlpop();
-        *samples = result->samples;
-        *len = (long) (result->length + 0.5);
-    }
-    return result;
-}
-")
-
-  (SAMPLE-RATE "sr")
-  (STATE
-          ("long" "index" "stepsize") ; samples index
-          ("long" "length" "0")       ; samples length
-          ("LVAL" "array" "NULL")
-          ("long" "window_len" "0")
-          ("sample_type *" "outbuf" "NULL")
-          ("LVAL" "src" "src")
-          ("long" "stepsize" "stepsize")
-          ("sample_type *" "window" "NULL") ; window samples
-          ("sample_type *" "samples" "NULL")
-          ("table_type" "table" 
-           "get_window_samples(window, &susp->window, &susp->window_len)"))
-  
-  (OUTER-LOOP "
-        if (susp->src == NULL) {
-out:        togo = 0;   /* indicate termination */
-            break;      /* we're done */
-        }
-        if (susp->index >= susp->stepsize) {
-            long i;
-            long half_i;
-            long n;
-            LVAL elem;
-            susp->index = 0;
-            susp->array = 
-                xleval(cons(s_send, cons(susp->src, consa(s_next))));
-            if (susp->array == NULL) {
-                susp->src = NULL;
-                goto out;
-            } else if (!vectorp(susp->array)) {
-                xlerror(\"array expected\", susp->array);
-            } else if (susp->samples == NULL) {
-                /* assume arrays are all the same size as first one;
-                   now that we know the size, we just have to do this
-                   first allocation.
-                 */
-                susp->length = getsize(susp->array);
-                if (susp->length < 1) 
-                    xlerror(\"array has no elements\", susp->array);
-                if (susp->window && (susp->window_len != susp->length))
-                    xlerror(\"window size and spectrum size differ\", 
-                            susp->array);
-                susp->samples = 
-                    (sample_type *) calloc(susp->length * 2,
-                                           sizeof(sample_type));
-                susp->outbuf = (sample_type *) calloc(susp->length, 
-                    sizeof(sample_type));
-            } else if (getsize(susp->array) != susp->length) {
-                xlerror(\"arrays must all be the same length\", susp->array);
-            }
-
-            /* at this point, we have a new array to put samples */
-            /* real part will be susp->samples[0:n-1], */
-            /* im part in samples[n:2*n-1] */
-            n = susp->length;
-            elem = getelement(susp->array, 0);
-            if (ntype(elem) != FLONUM) {
-                xlerror(\"flonum expected\", elem);
-            }
-            susp->samples[0] = (sample_type) getflonum(elem);
-            susp->samples[n] = 0;
-            half_i = 0;
-            for (i = 1; i < n - 1; i += 2) {
-                half_i++;
-                elem = getelement(susp->array, i);
-                if (ntype(elem) != FLONUM) {
-                    xlerror(\"flonum expected\", elem);
-                }
-                susp->samples[half_i] = susp->samples[n - half_i] = 
-                    (sample_type) (getflonum(elem) / 2.0);
-
-                elem = getelement(susp->array, i + 1);
-                if (ntype(elem) != FLONUM) {
-                    xlerror(\"flonum expected\", elem);
-                }
-                susp->samples[n + half_i] =
-                    -(susp->samples[2*n - half_i] =
-                          (sample_type) (getflonum(elem) / 2.0));
-            }
-            if (n % 2 == 0) {
-                elem = getelement(susp->array, n - 1);
-                if (ntype(elem) != FLONUM) {
-                    xlerror(\"flonum expected\", elem);
-                }
-                susp->samples[n / 2] = (sample_type) getflonum(elem);
-                susp->samples[n + (n / 2)] = 0;
-            }
-            susp->array = NULL; /* free the array */
-
-            /* here is where the IFFT and windowing should take place */
-            fftnf(1, &n, susp->samples, susp->samples + n, -1, 1.0);
-            if (susp->window) {
-                n = susp->length;
-                for (i = 0; i < n; i++) {
-                    susp->samples[i] *= susp->window[i];
-                }
-            }
-
-            /* shift the outbuf */
-            n = susp->length - susp->stepsize;
-            for (i = 0; i < n; i++) {
-                susp->outbuf[i] = susp->outbuf[i + susp->stepsize];
-            }
-
-            /* clear end of outbuf */
-            for (i = n; i < susp->length; i++) {
-                susp->outbuf[i] = 0;
-            }
-
-            /* add in the ifft result */
-            n = susp->length;
-            for (i = 0; i < n; i++) {
-                susp->outbuf[i] += susp->samples[i];
-            }
-/*
-            temp_fft = (double *) malloc (susp->length * sizeof(double));
-            if (temp_fft == 0) return;
-            big_samples = (double *) malloc (susp->length * sizeof(double));
-            if (big_samples == 0) return;
-            for (i = 0; i < susp->length; i++) {
-                big_samples[i] = (double) susp->samples[i];
-            }
-            rp = rfftw_create_plan(susp->length, FFTW_COMPLEX_TO_REAL, FFTW_ESTIMATE);
-            rfftw_one(rp, big_samples, temp_fft);
-            rfftw_destroy_plan(rp);
-            free(big_samples);
-            for (i = 0; i < susp->length; i++) {
-                setelement(result, i, cvflonum(temp_fft[i]));
-            }
-            free (temp_fft);
-*/
-        }
-        togo = MIN(togo, susp->stepsize - susp->index);
-")
-  (INNER-LOOP "output = outbuf[index++];")
-  (CONSTANT "length" "samples" "array" "src" "window")
-  (TERMINATE COMPUTED)
-  (FINALIZATION "    if (susp->samples) free(susp->samples);
-    if (susp->table) table_unref(susp->table);
-    if (susp->outbuf) free(susp->outbuf);
-")
-
-)
-
diff --git a/lib-src/libnyquist/tran/ifft.c b/lib-src/libnyquist/tran/ifft.c
deleted file mode 100644
index 62db76b..0000000
--- a/lib-src/libnyquist/tran/ifft.c
+++ /dev/null
@@ -1,305 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "ifft.h"
-
-void ifft_free();
-
-
-typedef struct ifft_susp_struct {
-    snd_susp_node susp;
-
-    long index;
-    long length;
-    LVAL array;
-    long window_len;
-    sample_type *outbuf;
-    LVAL src;
-    long stepsize;
-    sample_type *window;
-    sample_type *samples;
-    table_type table;
-} ifft_susp_node, *ifft_susp_type;
-
-
-/* index: index into outbuf whree we get output samples
- * length: size of the frame, window, and outbuf; half size of samples
- * array: spectral frame goes here (why not a local var?)
- * window_len: size of window, should equal length
- * outbuf: real part of samples are multiplied by window and added to
- *          outbuf (after shifting)
- * src: send :NEXT to this object to get next frame
- * stepsize: shift by this many and add each frame
- * samples: result of ifft goes here, real and imag
- * window: multiply samples by window if any 
- *
- * IMPLEMENTATION NOTE:
- * The src argument is an XLisp object that returns either an
- * array of samples or NIL. The output of ifft is simply the
- * concatenation of the samples taken from the array. Later,
- * an ifft will be plugged in and this will return overlapped
- * adds of the ifft's.
- *
- * OVERLAP: stepsize must be less than or equal to the length
- * of real part of the transformed spectrum. A transform step
- * works like this: 
- * (1) shift the output buffer by stepsize samples, filling
- *     the end of the buffer with zeros
- * (2) get and transform an array of spectral coefficients
- * (3) multiply the result by a window
- * (4) add the result to the output buffer
- * (5) output the first stepsize samples of the buffer
- * 
- * DATA FORMAT: the DC component goes in array elem 0
- * Cosine part is in elements 2*i-1
- * Sine part is in elements 2*i
- * Nyquist frequency is in element length-1
- */
-
-#include "samples.h"
-#include "fftn.h"
-
-table_type get_window_samples(LVAL window, sample_type **samples, long *len)
-{
-    table_type result = NULL;
-    if (soundp(window)) {
-        sound_type window_sound = getsound(window);
-        xlprot1(window); /* maybe not necessary */
-        result = sound_to_table(window_sound);
-        xlpop();
-        *samples = result->samples;
-        *len = (long) (result->length + 0.5);
-    }
-    return result;
-}
-
-
-void ifft__fetch(register ifft_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register long index_reg;
-    register sample_type * outbuf_reg;
-    falloc_sample_block(out, "ifft__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-
-        if (susp->src == NULL) {
-out:        togo = 0;   /* indicate termination */
-            break;      /* we're done */
-        }
-        if (susp->index >= susp->stepsize) {
-            long i;
-            long half_i;
-            int n;
-            LVAL elem;
-            susp->index = 0;
-            susp->array = 
-                xleval(cons(s_send, cons(susp->src, consa(s_next))));
-            if (susp->array == NULL) {
-                susp->src = NULL;
-                goto out;
-            } else if (!vectorp(susp->array)) {
-                xlerror("array expected", susp->array);
-            } else if (susp->samples == NULL) {
-                /* assume arrays are all the same size as first one;
-                   now that we know the size, we just have to do this
-                   first allocation.
-                 */
-                susp->length = getsize(susp->array);
-                if (susp->length < 1) 
-                    xlerror("array has no elements", susp->array);
-                if (susp->window && (susp->window_len != susp->length))
-                    xlerror("window size and spectrum size differ", 
-                            susp->array);
-                susp->samples = 
-                    (sample_type *) calloc(susp->length * 2,
-                                           sizeof(sample_type));
-                susp->outbuf = (sample_type *) calloc(susp->length, 
-                    sizeof(sample_type));
-            } else if (getsize(susp->array) != susp->length) {
-                xlerror("arrays must all be the same length", susp->array);
-            }
-
-            /* at this point, we have a new array to put samples */
-            /* real part will be susp->samples[0:n-1], */
-            /* im part in samples[n:2*n-1] */
-            n = susp->length;
-            elem = getelement(susp->array, 0);
-            if (ntype(elem) != FLONUM) {
-                xlerror("flonum expected", elem);
-            }
-            susp->samples[0] = (sample_type) getflonum(elem);
-            susp->samples[n] = 0;
-            half_i = 0;
-            for (i = 1; i < n - 1; i += 2) {
-                half_i++;
-                elem = getelement(susp->array, i);
-                if (ntype(elem) != FLONUM) {
-                    xlerror("flonum expected", elem);
-                }
-                susp->samples[half_i] = susp->samples[n - half_i] = 
-                    (sample_type) (getflonum(elem) / 2.0);
-
-                elem = getelement(susp->array, i + 1);
-                if (ntype(elem) != FLONUM) {
-                    xlerror("flonum expected", elem);
-                }
-                susp->samples[n + half_i] =
-                    -(susp->samples[2*n - half_i] =
-                          (sample_type) (getflonum(elem) / 2.0));
-            }
-            if (n % 2 == 0) {
-                elem = getelement(susp->array, n - 1);
-                if (ntype(elem) != FLONUM) {
-                    xlerror("flonum expected", elem);
-                }
-                susp->samples[n / 2] = (sample_type) getflonum(elem);
-                susp->samples[n + (n / 2)] = 0;
-            }
-            susp->array = NULL; /* free the array */
-
-            /* here is where the IFFT and windowing should take place */
-            fftnf(1, &n, susp->samples, susp->samples + n, -1, 1.0);
-            if (susp->window) {
-                n = susp->length;
-                for (i = 0; i < n; i++) {
-                    susp->samples[i] *= susp->window[i];
-                }
-            }
-
-            /* shift the outbuf */
-            n = susp->length - susp->stepsize;
-            for (i = 0; i < n; i++) {
-                susp->outbuf[i] = susp->outbuf[i + susp->stepsize];
-            }
-
-            /* clear end of outbuf */
-            for (i = n; i < susp->length; i++) {
-                susp->outbuf[i] = 0;
-            }
-
-            /* add in the ifft result */
-            n = susp->length;
-            for (i = 0; i < n; i++) {
-                susp->outbuf[i] += susp->samples[i];
-            }
-/*
-            temp_fft = (double *) malloc (susp->length * sizeof(double));
-            if (temp_fft == 0) return;
-            big_samples = (double *) malloc (susp->length * sizeof(double));
-            if (big_samples == 0) return;
-            for (i = 0; i < susp->length; i++) {
-                big_samples[i] = (double) susp->samples[i];
-            }
-            rp = rfftw_create_plan(susp->length, FFTW_COMPLEX_TO_REAL, FFTW_ESTIMATE);
-            rfftw_one(rp, big_samples, temp_fft);
-            rfftw_destroy_plan(rp);
-            free(big_samples);
-            for (i = 0; i < susp->length; i++) {
-                setelement(result, i, cvflonum(temp_fft[i]));
-            }
-            free (temp_fft);
-*/
-        }
-        togo = MIN(togo, susp->stepsize - susp->index);
-
-	n = togo;
-	index_reg = susp->index;
-	outbuf_reg = susp->outbuf;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = outbuf_reg[index_reg++];;
-	} while (--n); /* inner loop */
-
-	susp->index = index_reg;
-	susp->outbuf = outbuf_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* ifft__fetch */
-
-
-void ifft_mark(ifft_susp_type susp)
-{
-    if (susp->src) mark(susp->src);
-    if (susp->array) mark(susp->array);
-}
-
-
-void ifft_free(ifft_susp_type susp)
-{
-    if (susp->samples) free(susp->samples);
-    if (susp->table) table_unref(susp->table);
-    if (susp->outbuf) free(susp->outbuf);
-    ffree_generic(susp, sizeof(ifft_susp_node), "ifft_free");
-}
-
-
-void ifft_print_tree(ifft_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_ifft(time_type t0, rate_type sr, LVAL src, long stepsize, LVAL window)
-{
-    register ifft_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, ifft_susp_node, "snd_make_ifft");
-    susp->index = stepsize;
-    susp->length = 0;
-    susp->array = NULL;
-    susp->window_len = 0;
-    susp->outbuf = NULL;
-    susp->src = src;
-    susp->stepsize = stepsize;
-    susp->window = NULL;
-    susp->samples = NULL;
-    susp->table = get_window_samples(window, &susp->window, &susp->window_len);
-    susp->susp.fetch = ifft__fetch;
-
-    /* initialize susp state */
-    susp->susp.free = ifft_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = ifft_mark;
-    susp->susp.print_tree = ifft_print_tree;
-    susp->susp.name = "ifft";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_ifft(time_type t0, rate_type sr, LVAL src, long stepsize, LVAL window)
-{
-    return snd_make_ifft(t0, sr, src, stepsize, window);
-}
diff --git a/lib-src/libnyquist/tran/ifft.h b/lib-src/libnyquist/tran/ifft.h
deleted file mode 100644
index 186cec6..0000000
--- a/lib-src/libnyquist/tran/ifft.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_ifft(time_type t0, rate_type sr, LVAL src, long stepsize, LVAL window);
-sound_type snd_ifft(time_type t0, rate_type sr, LVAL src, long stepsize, LVAL window);
-    /* LISP: (snd-ifft ANYNUM ANYNUM ANY FIXNUM ANY) */
diff --git a/lib-src/libnyquist/tran/init.lsp b/lib-src/libnyquist/tran/init.lsp
deleted file mode 100644
index ac49ca1..0000000
--- a/lib-src/libnyquist/tran/init.lsp
+++ /dev/null
@@ -1,24 +0,0 @@
-(expand 50)
-
-(load "../runtime/xlinit.lsp")
-
-(load "../runtime/misc.lsp")
-
-;; set to T to get interpolation within inner loops
-(setf *INLINE-INTERPOLATION* nil)
-
-;; set to T to get ANSI headers and NIL to get antique headers
-(setf *ANSI* NIL)
-
-;; set to T to generate tracing code, NIL to disable tracing code
-(setf *WATCH* NIL)
-
-(load "translate")
-(load "writesusp")
-(load "writemake")
-(load "writetoss")
-(load "innerloop")
-
-(setf *gc-flag* t)
-
-(setf *watch* nil)
diff --git a/lib-src/libnyquist/tran/innerloop.lsp b/lib-src/libnyquist/tran/innerloop.lsp
deleted file mode 100644
index 0d98d01..0000000
--- a/lib-src/libnyquist/tran/innerloop.lsp
+++ /dev/null
@@ -1,307 +0,0 @@
-;; innerloop.lsp -- code to generate inner loops from specs
-
-;; the inner loop has a setup, a loop, and a cleanup
-;; in the setup, structure fields used in the inner loop are
-;;     copied or "cached" into register variables
-;; in the inner loop, access expressions are substituted for
-;;     variable names in the spec
-;; in the cleanup, resulting register variable "cache" is copied
-;;     back into the structure fields
-
-
-(defun compute-inner-loop (alg inner-loop)
-  (let ((interp (get-slot alg 'interpolation))
-        (sound-names (get alg 'sound-names))
-        (state-list (get-slot alg 'state))
-        (step-function (get alg 'step-function))
-        (maintain-list (get-slot alg 'maintain))
-        (constant-list (get-slot alg 'constant))
-        (force-into-register (get-slot alg 'force-into-register))
-        (not-register (get-slot alg 'not-register))
-        register-decl register-init register-cleanup new-state-list
-       )
-
-    ;; this loop computes and applies substitutions to the INNER-LOOP spec
-
-    (setf inner-loop (substitute inner-loop "output" "*out_ptr_reg++" nil))
-    (push "\tout_ptr_reg = out_ptr;\n" register-init)
-    (push "\tout_ptr += togo;\n" register-cleanup)
-
-    (dotimes (n (length interp))
-      (let ((name (nth n sound-names))
-            interpolate-samples
-            (method (nth n interp))
-            expression)
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-
-        (cond ((eq method 'NONE)
-                ;-----------------
-                ; NONE:
-                ;      <expr> ::= *NAME_ptr_reg++
-                ;-----------------
-               (pushnew (format nil
- "    register sample_block_values_type ~A_ptr_reg;~%" name)
-                        register-decl)
-               (pushnew (format nil 
-                "\t~A_ptr_reg = susp->~A_ptr;~%" name name)
-                register-init)
-               (pushnew (format nil
-                "\t/* using ~A_ptr_reg is a bad idea on RS/6000: */~
-                ~%\tsusp->~A_ptr += togo;~%" name name name)
-                register-cleanup)
-
-               (setf expression (format nil "*~A_ptr_reg++" name)))
-
-              ((eq method 'SCALE)
-                ;-----------------
-                ; SCALE
-                ;	<expr> ::= (NAME_scale_reg * *NAME_ptr_reg++)
-                ;-----------------
-               (pushnew (format nil
- "    register sample_block_values_type ~A_ptr_reg;~%" name)
-                        register-decl)
-               (pushnew (format nil
- "    register sample_type ~A_scale_reg = susp->~A->scale;~%" name name)
-                        register-decl)
-               (pushnew (format nil 
-                "\t~A_ptr_reg = susp->~A_ptr;~%" name name)
-                register-init)
-               (pushnew (format nil
-                "\t/* using ~A_ptr_reg is a bad idea on RS/6000: */~
-                ~%\tsusp->~A_ptr += togo;~%" name name name)
-                register-cleanup)
-               (setf expression (format nil
-                "(~A_scale_reg * *~A_ptr_reg++)" name name)))
-
-              ((and interpolate-samples (eq method 'INTERP))
-                ;-----------------
-                ; INTERP:
-                ;	<expr> ::= susp->NAME_x1_sample * (1 - 
-                ;			susp->NAME_pHaSe +
-                ;  	              susp->NAME_x2_sample * susp->NAME_pHaSe)
-                ;-----------------
-               (pushnew (format nil
- "    register sample_type ~A_x1_sample_reg;~%" name)
-                        register-decl)
-               (pushnew (format nil
- "    register double ~A_pHaSe_ReG;~%" name)
-                        register-decl)
-               (pushnew (format nil
- "    register double ~A_pHaSe_iNcR_rEg = susp->~A_pHaSe_iNcR;~%" name name)
-                        register-decl)
-
-               (pushnew (format nil
-                "\t~A_x1_sample_reg = susp->~A_x1_sample;~%" name name)
-                register-init)
-               (pushnew (format nil
-                "\t~A_pHaSe_ReG = susp->~A_pHaSe;~%" name name)
-                register-init)
-
-               (pushnew (format nil
-                "\tsusp->~A_x1_sample = ~A_x1_sample_reg;~%" name name)
-                register-cleanup)
-               (pushnew (format nil
-                "\tsusp->~A_pHaSe = ~A_pHaSe_ReG;~%" name name)
-                register-cleanup)
-
-               (setf expression (format nil 
-                    "\n\t\t(~A_x1_sample_reg * (1 - ~A_pHaSe_ReG) + ~A_x2_sample * ~A_pHaSe_ReG)"
-                                 name name name name)))
-
-              ((eq method 'INTERP)
-                ;-----------------
-                ; STEP FUNCTION:
-                ;	<expr> ::= NAME_x1_sample_reg
-                ;-----------------
-               (pushnew (format nil
- "    register sample_type ~A_x1_sample_reg;~%" name)
-                        register-decl)
-               (pushnew (format nil
- "    register double ~A_pHaSe_ReG;~%" name)
-                        register-decl)
-               (pushnew (format nil
- "    register double ~A_pHaSe_iNcR_rEg = susp->~A_pHaSe_iNcR;~%" name name)
-                        register-decl)
-
-               (pushnew (format nil
-                "\t~A_x1_sample_reg = susp->~A_x1_sample;~%" name name)
-                register-init)
-               (pushnew (format nil
-                "\t~A_pHaSe_ReG = susp->~A_pHaSe;~%" name name)
-                register-init)
-
-               (pushnew (format nil
-                "\tsusp->~A_x1_sample = ~A_x1_sample_reg;~%" name name)
-                register-cleanup)
-               (pushnew (format nil
-                "\tsusp->~A_pHaSe = ~A_pHaSe_ReG;~%" name name)
-                register-cleanup)
-
-               (setf expression (format nil "~A_x1_sample_reg" name)))
-              ((and interpolate-samples (eq method 'RAMP))
-                ;-----------------
-                ; RAMP:
-                ;	<expr>  ::= NAME_val
-                ;-----------------
-               (setf expression (format nil "~A_val" name)))
-              ((eq method 'RAMP)
-                ;-----------------
-                ; RAMP:
-                ;	<expr>  ::= NAME_val
-                ;-----------------
-                ; this doesn't seem to be used -RBD 7/97
-               ;(pushnew (format nil
-                ;"    register sample_type ~A_x1_sample_reg;~%" name)
-                ;register-decl)
-               (setf expression (format nil "~A_val" name))))
-
-        (setf inner-loop (substitute inner-loop name expression nil))))
-
-    ;; determine the members of state-list that are actually referenced in
-    ;; the inner loop.  If not, don't cache the state in registers before
-    ;; starting the loop.
-    (dolist (state state-list)
-      (let ((var-name (cadr state)))
-        (cond ((and (or (string-search var-name inner-loop)
-                        (member (name-to-symbol var-name) force-into-register))
-                    (not (member (name-to-symbol var-name) not-register)))
-               (push state new-state-list)))))
-
-    ;; this loop applies substitutions for state variables:
-    ;;   the specified state variable name is the cadr of state-list element
-    ;;   the state variable <var> is replaced in inner-loop by <var>_reg
-
-    (dolist (state new-state-list)
-      (let ((var-name (cadr state))
-            maintain)
-        (pushnew (format nil "    register ~A ~A_reg;~%" (car state) var-name)
-                        register-decl)
-        (pushnew (format nil "\t~A_reg = susp->~A;~%" var-name var-name)
-                       register-init)
-        (setf maintain (find-maintain-stmt var-name maintain-list))
-;        (display "find-maintain-stmt returned:" maintain)
-        (cond (maintain
-               (pushnew (format nil "\t~A;~%" maintain) register-cleanup))
-              ((not (is-constant-in-inner-loop var-name constant-list))
-               ;(pushnew (format nil "var-name: ~A constant-list: ~A~%" var-name constant-list)
-               ;        register-cleanup)
-               (pushnew (format nil "\tsusp->~A = ~A_reg;~%" var-name var-name)
-                       register-cleanup)))
-        (setf inner-loop (substitute inner-loop var-name 
-                        (format nil "~A_reg" var-name) t))))
-
-    ;; if the user-written code has a break statement or if the interpolation
-    ;; type is INTERP, we need to write out "togo -= n;" to get an accurate
-    ;; count of how many times we went through the loop.  Otherwise don't do it
-    ;; because it makes n a live variable and affects compiler optimization.
-    (cond ((or (member 'INTERP interp)
-               (string-search "break" inner-loop))
-           (push "\ttogo -= n;\n" register-cleanup)))
-
-    (put-slot alg inner-loop 'inner-loop-stmts)
-    (put-slot alg register-decl 'register-decl)
-    (put-slot alg register-init 'register-init)
-    (put-slot alg register-cleanup 'register-cleanup)
-
-    ;-----------------
-    ; WATCH:
-    ;
-    ; show_samples(1,s1,s1_ptr - s1->samples)
-    ;
-    ; Note: this is not right because we need to have the correct
-    ; parameter for s1, but that is part of the s1_ptr++ computation
-    ; so I don't know where to get it...
-    ;-----------------
-;    (if *WATCH*
-;      (format stream "\t    show_samples(1,s1,s1_ptr - s1_samples);~%")
-;    )
-    ))
-
-
-;; find-maintain-list -- find an assignment for variable in a MAINTAIN spec
-;;
-(defun find-maintain-stmt (var specs)
-  (let ((spec (assoc var specs :test #'equal)))
-    (if spec (cadr spec))))
-
-
-;; is-constant-in-inner-loop -- see if var is in constant-list
-;;
-(defun is-constant-in-inner-loop (var constant-list)
-  (member var constant-list :test #'equal))
-
-
-;; pushnew -- pushes string onto list unless already there
-;;
-(defmacro pushnew (string var)
-  `(if (not (member ,string ,var :test #'equal))
-     (push ,string ,var)))
-
-
-;;**********
-;; substitute -- string substitution 
-;; Inputs:
-;;	s - input string
-;;	pat - pattern
-;;	repl - replacement for pattern
-;;	all - T or NIL (T : replace everywhere; NIL : replace once)
-;;
-;;**********
-
-(defun substitute (s pat repl all)
-;  (display "substitute" s pat repl)
-  (let ((p (position s pat))
-        (l (length pat)))
-    (cond (p
-           (strcat (subseq s 0 p) repl 
-            ;; the remainder of the string depends on all.  If T, then
-            ;; use recursion to continue substitutions:
-            (cond (all (substitute (subseq s (+ p l)) pat repl all))
-                  (t (subseq s (+ p l))))))
-          (t s))))
-
-
-(defun write-inner-loop (alg stream)
-  (let ((interp (get-slot alg 'interpolation))
-        (step-function (get alg 'step-function))
-        (sound-names (get alg 'sound-names))
-       )
-
-    (format stream "~A;~%"
-     (get-slot alg 'inner-loop-stmts))
-
-    (dotimes (n (length interp))
-      (let ((name (nth n sound-names))
-            interpolate-samples
-            (method (nth n interp)))
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-
-        (cond ((eq method 'INTERP)
-                ;-----------------
-                ; INTERP:
-                ;
-                ;    NAME_pHaSe_ReG += NAME_pHaSe_iNcR_rEg;
-                ;-----------------
-                (format stream "\t    ~A_pHaSe_ReG += ~A_pHaSe_iNcR_rEg;~%"
-                     name name))
-
-              ((and interpolate-samples (eq method 'RAMP))
-                ;-----------------
-                ; RAMP:
-                ;	NAME_val += NAME_DeLtA
-                ;-----------------
-               (format stream "\t    ~A_val += ~A_DeLtA;~%" name name)))))
-
-    ;----------------------------
-    ; WATCH:
-    ;	    show_samples(0,out,out_ptr - 1 - out->samples);
-    ;----------------------------
-
-;    (if *WATCH*
-;       (format stream "\t    show_samples(0,out,out_ptr - 1 - out->samples);~%"))
-    ;----------------------------
-    ;  } while (--n); /* inner loop */
-    ;----------------------------
-    (format stream "\t} while (--n); /* inner loop */~%~%")))
diff --git a/lib-src/libnyquist/tran/integrate.alg b/lib-src/libnyquist/tran/integrate.alg
deleted file mode 100644
index 34b4ecb..0000000
--- a/lib-src/libnyquist/tran/integrate.alg
+++ /dev/null
@@ -1,12 +0,0 @@
-(INTEGRATE-ALG
-(NAME "integrate")
-(ARGUMENTS ("sound_type" "input"))
-(START (MIN input))
-(TERMINATE (MIN input))
-(LINEAR input)
-(LOGICAL-STOP (MIN input))
-(STATE ("double" "integral" "0.0;
-    scale_factor = (sample_type) (scale_factor / input->sr)"))
-(INNER-LOOP "output = (sample_type) integral; integral += input;")
-)
-
diff --git a/lib-src/libnyquist/tran/integrate.c b/lib-src/libnyquist/tran/integrate.c
deleted file mode 100644
index c6ad4e6..0000000
--- a/lib-src/libnyquist/tran/integrate.c
+++ /dev/null
@@ -1,211 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "integrate.h"
-
-void integrate_free();
-
-
-typedef struct integrate_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double integral;
-} integrate_susp_node, *integrate_susp_type;
-
-
-void integrate_n_fetch(register integrate_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double integral_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "integrate_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	integral_reg = susp->integral;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) integral_reg; integral_reg += *input_ptr_reg++;;
-	} while (--n); /* inner loop */
-
-	susp->integral = integral_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* integrate_n_fetch */
-
-
-void integrate_toss_fetch(susp, snd_list)
-  register integrate_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void integrate_mark(integrate_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void integrate_free(integrate_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(integrate_susp_node), "integrate_free");
-}
-
-
-void integrate_print_tree(integrate_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_integrate(sound_type input)
-{
-    register integrate_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, integrate_susp_node, "snd_make_integrate");
-    susp->integral = 0.0;
-    scale_factor = (sample_type) (scale_factor / input->sr);
-    susp->susp.fetch = integrate_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = integrate_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = integrate_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = integrate_mark;
-    susp->susp.print_tree = integrate_print_tree;
-    susp->susp.name = "integrate";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_integrate(sound_type input)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_integrate(input_copy);
-}
diff --git a/lib-src/libnyquist/tran/integrate.h b/lib-src/libnyquist/tran/integrate.h
deleted file mode 100644
index 33ecbbc..0000000
--- a/lib-src/libnyquist/tran/integrate.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_integrate(sound_type input);
-sound_type snd_integrate(sound_type input);
-    /* LISP: (snd-integrate SOUND) */
diff --git a/lib-src/libnyquist/tran/log.alg b/lib-src/libnyquist/tran/log.alg
deleted file mode 100644
index b45c6bd..0000000
--- a/lib-src/libnyquist/tran/log.alg
+++ /dev/null
@@ -1,9 +0,0 @@
-(LOG-ALG
-  (NAME "log")
-  (ARGUMENTS ("sound_type" "input"))
-  (ALWAYS-SCALE input)
-  (START (MIN input))
-  (INNER-LOOP "output = (sample_type) log(input)")
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-)
diff --git a/lib-src/libnyquist/tran/log.c b/lib-src/libnyquist/tran/log.c
deleted file mode 100644
index e9b3d1d..0000000
--- a/lib-src/libnyquist/tran/log.c
+++ /dev/null
@@ -1,198 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "log.h"
-
-void log_free();
-
-
-typedef struct log_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-} log_susp_node, *log_susp_type;
-
-
-void log_s_fetch(register log_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "log_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) log((input_scale_reg * *input_ptr_reg++));
-	} while (--n); /* inner loop */
-
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* log_s_fetch */
-
-
-void log_toss_fetch(susp, snd_list)
-  register log_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void log_mark(log_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void log_free(log_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(log_susp_node), "log_free");
-}
-
-
-void log_print_tree(log_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_log(sound_type input)
-{
-    register log_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, log_susp_node, "snd_make_log");
-    susp->susp.fetch = log_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = log_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = log_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = log_mark;
-    susp->susp.print_tree = log_print_tree;
-    susp->susp.name = "log";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_log(sound_type input)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_log(input_copy);
-}
diff --git a/lib-src/libnyquist/tran/log.h b/lib-src/libnyquist/tran/log.h
deleted file mode 100644
index 141a0ac..0000000
--- a/lib-src/libnyquist/tran/log.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_log(sound_type input);
-sound_type snd_log(sound_type input);
-    /* LISP: (snd-log SOUND) */
diff --git a/lib-src/libnyquist/tran/maxv.alg b/lib-src/libnyquist/tran/maxv.alg
deleted file mode 100644
index d800921..0000000
--- a/lib-src/libnyquist/tran/maxv.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(MAXV-ALG
-  (NAME "maxv")
-  (ARGUMENTS ("sound_type" "s1") ("sound_type" "s2")) 
-  (ALWAYS-SCALE s1 s2)
-  (START (MAX s1 s2))
-  (INNER-LOOP "double x1 = s1;
-      double x2 = s2;
-      output = (sample_type) (x1 > x2 ? x1 : x2)")
-  (TERMINATE (MIN s1 s2))
-  (LOGICAL-STOP (MIN s1 s2))
-)
diff --git a/lib-src/libnyquist/tran/maxv.c b/lib-src/libnyquist/tran/maxv.c
deleted file mode 100644
index a05e2f5..0000000
--- a/lib-src/libnyquist/tran/maxv.c
+++ /dev/null
@@ -1,235 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "maxv.h"
-
-void maxv_free();
-
-
-typedef struct maxv_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type s2;
-    long s2_cnt;
-    sample_block_values_type s2_ptr;
-} maxv_susp_node, *maxv_susp_type;
-
-
-void maxv_ss_fetch(register maxv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type s2_scale_reg = susp->s2->scale;
-    register sample_block_values_type s2_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "maxv_ss_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the s2 input sample block: */
-	susp_check_term_log_samples(s2, s2_ptr, s2_cnt);
-	togo = MIN(togo, susp->s2_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	s2_ptr_reg = susp->s2_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-double x1 = (s1_scale_reg * *s1_ptr_reg++);
-      double x2 = (s2_scale_reg * *s2_ptr_reg++);
-      *out_ptr_reg++ = (sample_type) (x1 > x2 ? x1 : x2);
-	} while (--n); /* inner loop */
-
-	/* using s2_ptr_reg is a bad idea on RS/6000: */
-	susp->s2_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(s2_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* maxv_ss_fetch */
-
-
-void maxv_toss_fetch(susp, snd_list)
-  register maxv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from s2 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s2->t0) * susp->s2->sr)) >=
-	   susp->s2->current)
-	susp_get_samples(s2, s2_ptr, s2_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->s2->t0) * susp->s2->sr -
-         (susp->s2->current - susp->s2_cnt));
-    susp->s2_ptr += n;
-    susp_took(s2_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void maxv_mark(maxv_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->s2);
-}
-
-
-void maxv_free(maxv_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->s2);
-    ffree_generic(susp, sizeof(maxv_susp_node), "maxv_free");
-}
-
-
-void maxv_print_tree(maxv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("s2:");
-    sound_print_tree_1(susp->s2, n);
-}
-
-
-sound_type snd_make_maxv(sound_type s1, sound_type s2)
-{
-    register maxv_susp_type susp;
-    rate_type sr = MAX(s1->sr, s2->sr);
-    time_type t0 = MAX(s1->t0, s2->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    long lsc;
-    falloc_generic(susp, maxv_susp_node, "snd_make_maxv");
-    susp->susp.fetch = maxv_ss_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < s2->t0) sound_prepend_zeros(s2, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(s2->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = maxv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = maxv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = maxv_mark;
-    susp->susp.print_tree = maxv_print_tree;
-    susp->susp.name = "maxv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    lsc = logical_stop_cnt_cvt(s2);
-    if (susp->susp.log_stop_cnt > lsc)
-        susp->susp.log_stop_cnt = lsc;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->s2 = s2;
-    susp->s2_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_maxv(sound_type s1, sound_type s2)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type s2_copy = sound_copy(s2);
-    return snd_make_maxv(s1_copy, s2_copy);
-}
diff --git a/lib-src/libnyquist/tran/maxv.h b/lib-src/libnyquist/tran/maxv.h
deleted file mode 100644
index 327b80a..0000000
--- a/lib-src/libnyquist/tran/maxv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_maxv(sound_type s1, sound_type s2);
-sound_type snd_maxv(sound_type s1, sound_type s2);
-    /* LISP: (snd-maxv SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/meqb.c b/lib-src/libnyquist/tran/meqb.c
deleted file mode 100644
index e69de29..0000000
diff --git a/lib-src/libnyquist/tran/meqb.h b/lib-src/libnyquist/tran/meqb.h
deleted file mode 100644
index e69de29..0000000
diff --git a/lib-src/libnyquist/tran/offset.alg b/lib-src/libnyquist/tran/offset.alg
deleted file mode 100644
index 316628e..0000000
--- a/lib-src/libnyquist/tran/offset.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(SCALE-ALG
-  (NAME "offset")
-  (ARGUMENTS ("sound_type" "s1") ("double" "offset"))
-  (STATE ("sample_type" "offset" "(sample_type) offset"))
-  (CONSTANT "offset")
-  (START (MIN s1))
-  (INNER-LOOP "output = s1 + offset")
-  (TERMINATE (MIN s1))
-  (LOGICAL-STOP (MIN s1))
-)
-
diff --git a/lib-src/libnyquist/tran/offset.c b/lib-src/libnyquist/tran/offset.c
deleted file mode 100644
index d6b24a4..0000000
--- a/lib-src/libnyquist/tran/offset.c
+++ /dev/null
@@ -1,299 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "offset.h"
-
-void offset_free();
-
-
-typedef struct offset_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-
-    sample_type offset;
-} offset_susp_node, *offset_susp_type;
-
-
-void offset_n_fetch(register offset_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type offset_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "offset_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = *s1_ptr_reg++ + offset_reg;
-	} while (--n); /* inner loop */
-
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* offset_n_fetch */
-
-
-void offset_s_fetch(register offset_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type offset_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "offset_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (s1_scale_reg * *s1_ptr_reg++) + offset_reg;
-	} while (--n); /* inner loop */
-
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* offset_s_fetch */
-
-
-void offset_toss_fetch(susp, snd_list)
-  register offset_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void offset_mark(offset_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-}
-
-
-void offset_free(offset_susp_type susp)
-{
-    sound_unref(susp->s1);
-    ffree_generic(susp, sizeof(offset_susp_node), "offset_free");
-}
-
-
-void offset_print_tree(offset_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-}
-
-
-sound_type snd_make_offset(sound_type s1, double offset)
-{
-    register offset_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = s1->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, offset_susp_node, "snd_make_offset");
-    susp->offset = (sample_type) offset;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = offset_n_fetch; break;
-      case INTERP_s: susp->susp.fetch = offset_s_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = offset_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = offset_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = offset_mark;
-    susp->susp.print_tree = offset_print_tree;
-    susp->susp.name = "offset";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_offset(sound_type s1, double offset)
-{
-    sound_type s1_copy = sound_copy(s1);
-    return snd_make_offset(s1_copy, offset);
-}
diff --git a/lib-src/libnyquist/tran/offset.h b/lib-src/libnyquist/tran/offset.h
deleted file mode 100644
index 5b08433..0000000
--- a/lib-src/libnyquist/tran/offset.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_offset(sound_type s1, double offset);
-sound_type snd_offset(sound_type s1, double offset);
-    /* LISP: (snd-offset SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/oneshot.alg b/lib-src/libnyquist/tran/oneshot.alg
deleted file mode 100644
index e01517f..0000000
--- a/lib-src/libnyquist/tran/oneshot.alg
+++ /dev/null
@@ -1,15 +0,0 @@
-(ONESHOT-ALG
-  (NAME "oneshot")
-  (ARGUMENTS ("sound_type" "input") ("double" "level") ("double" "ontime")) 
-  (INTERNAL-SCALING input) ; scale factor handled in level
-  (STATE ("double" "lev" "level * input->scale")
-         ("long" "oncount" "round(ontime * input->sr)")
-         ("long" "cnt" "0"))
-  (START (MIN input))
-  (INNER-LOOP "double x = input;
-        if (x > lev) cnt = oncount;
-        cnt--;
-        output = (cnt >= 0 ? 1.0F : 0.0F);")
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-)
diff --git a/lib-src/libnyquist/tran/oneshot.c b/lib-src/libnyquist/tran/oneshot.c
deleted file mode 100644
index 57cc97e..0000000
--- a/lib-src/libnyquist/tran/oneshot.c
+++ /dev/null
@@ -1,216 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "oneshot.h"
-
-void oneshot_free();
-
-
-typedef struct oneshot_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double lev;
-    long oncount;
-    long cnt;
-} oneshot_susp_node, *oneshot_susp_type;
-
-
-void oneshot_n_fetch(register oneshot_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double lev_reg;
-    register long oncount_reg;
-    register long cnt_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "oneshot_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	lev_reg = susp->lev;
-	oncount_reg = susp->oncount;
-	cnt_reg = susp->cnt;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-double x = *input_ptr_reg++;
-        if (x > lev_reg) cnt_reg = oncount_reg;
-        cnt_reg--;
-        *out_ptr_reg++ = (cnt_reg >= 0 ? 1.0F : 0.0F);;
-	} while (--n); /* inner loop */
-
-	susp->lev = lev_reg;
-	susp->oncount = oncount_reg;
-	susp->cnt = cnt_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* oneshot_n_fetch */
-
-
-void oneshot_toss_fetch(susp, snd_list)
-  register oneshot_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void oneshot_mark(oneshot_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void oneshot_free(oneshot_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(oneshot_susp_node), "oneshot_free");
-}
-
-
-void oneshot_print_tree(oneshot_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_oneshot(sound_type input, double level, double ontime)
-{
-    register oneshot_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, oneshot_susp_node, "snd_make_oneshot");
-    susp->lev = level * input->scale;
-    susp->oncount = round(ontime * input->sr);
-    susp->cnt = 0;
-    susp->susp.fetch = oneshot_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = oneshot_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = oneshot_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = oneshot_mark;
-    susp->susp.print_tree = oneshot_print_tree;
-    susp->susp.name = "oneshot";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_oneshot(sound_type input, double level, double ontime)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_oneshot(input_copy, level, ontime);
-}
diff --git a/lib-src/libnyquist/tran/oneshot.h b/lib-src/libnyquist/tran/oneshot.h
deleted file mode 100644
index 9a13225..0000000
--- a/lib-src/libnyquist/tran/oneshot.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_oneshot(sound_type input, double level, double ontime);
-sound_type snd_oneshot(sound_type input, double level, double ontime);
-    /* LISP: (snd-oneshot SOUND ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/osc.alg b/lib-src/libnyquist/tran/osc.alg
deleted file mode 100644
index 3705098..0000000
--- a/lib-src/libnyquist/tran/osc.alg
+++ /dev/null
@@ -1,31 +0,0 @@
-(OSC-ALG
-(NAME "osc")
-(ARGUMENTS ("sound_type" "input") ("double" "step") ("rate_type" "sr")
-       ("double" "hz") ("time_type" "t0") ("time_type" "d")
-       ("double" "phase"))
-(TABLE "input")
-(NOT-IN-INNER-LOOP "input")
-(STATE 
-       ("double" "ph_incr" "0")
-       ("table_type" "the_table" "sound_to_table(input)")
-       ("sample_type *" "table_ptr" "susp->the_table->samples")
-       ("double" "table_len" "susp->the_table->length")
-       ("double" "phase" "compute_phase(phase, step, (long) susp->table_len,
-    input->sr, sr, hz, &susp->ph_incr)") )
-;	"((hz * susp->table_len) / sr)")
-(TERMINATE (AFTER "d"))
-(INNER-LOOP "
-        long table_index = (long) phase;
-        double x1 = table_ptr[table_index];
-        output = (sample_type) (x1 + (phase - table_index) * 
-              (table_ptr[table_index + 1] - x1));
-        phase += ph_incr;
-        while (phase >= table_len) phase -= table_len;
-")
-(CONSTANT "ph_incr" "table_len" "table_ptr")
-
-(SAMPLE-RATE "sr")
-(FINALIZATION "    table_unref(susp->the_table);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/osc.c b/lib-src/libnyquist/tran/osc.c
deleted file mode 100644
index c2e7ce5..0000000
--- a/lib-src/libnyquist/tran/osc.c
+++ /dev/null
@@ -1,133 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "osc.h"
-
-void osc_free();
-
-
-typedef struct osc_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-
-    double ph_incr;
-    table_type the_table;
-    sample_type *table_ptr;
-    double table_len;
-    double phase;
-} osc_susp_node, *osc_susp_type;
-
-
-void osc__fetch(register osc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double ph_incr_reg;
-    register sample_type * table_ptr_reg;
-    register double table_len_reg;
-    register double phase_reg;
-    falloc_sample_block(out, "osc__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	ph_incr_reg = susp->ph_incr;
-	table_ptr_reg = susp->table_ptr;
-	table_len_reg = susp->table_len;
-	phase_reg = susp->phase;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-
-        long table_index = (long) phase_reg;
-        double x1 = table_ptr_reg[table_index];
-        *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-              (table_ptr_reg[table_index + 1] - x1));
-        phase_reg += ph_incr_reg;
-        while (phase_reg >= table_len_reg) phase_reg -= table_len_reg;
-;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* osc__fetch */
-
-
-void osc_free(osc_susp_type susp)
-{
-    table_unref(susp->the_table);
-    ffree_generic(susp, sizeof(osc_susp_node), "osc_free");
-}
-
-
-void osc_print_tree(osc_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_osc(sound_type input, double step, rate_type sr, double hz, time_type t0, time_type d, double phase)
-{
-    register osc_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, osc_susp_node, "snd_make_osc");
-    susp->ph_incr = 0;
-    susp->the_table = sound_to_table(input);
-    susp->table_ptr = susp->the_table->samples;
-    susp->table_len = susp->the_table->length;
-    susp->phase = compute_phase(phase, step, (long) susp->table_len,
-    input->sr, sr, hz, &susp->ph_incr);
-    susp->susp.fetch = osc__fetch;
-
-    susp->terminate_cnt = round((d) * sr);
-    /* initialize susp state */
-    susp->susp.free = osc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = NULL;
-    susp->susp.print_tree = osc_print_tree;
-    susp->susp.name = "osc";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_osc(sound_type input, double step, rate_type sr, double hz, time_type t0, time_type d, double phase)
-{
-    return snd_make_osc(input, step, sr, hz, t0, d, phase);
-}
diff --git a/lib-src/libnyquist/tran/osc.h b/lib-src/libnyquist/tran/osc.h
deleted file mode 100644
index acf3a6e..0000000
--- a/lib-src/libnyquist/tran/osc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_osc(sound_type input, double step, rate_type sr, double hz, time_type t0, time_type d, double phase);
-sound_type snd_osc(sound_type input, double step, rate_type sr, double hz, time_type t0, time_type d, double phase);
-    /* LISP: (snd-osc SOUND ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/partial.alg b/lib-src/libnyquist/tran/partial.alg
deleted file mode 100644
index 45a1999..0000000
--- a/lib-src/libnyquist/tran/partial.alg
+++ /dev/null
@@ -1,20 +0,0 @@
-(PARTIAL-ALG
-(NAME "partial")
-(ARGUMENTS ("rate_type" "sr") ("double" "hz") ("sound_type" "env"))
-(SUPPORT-FUNCTIONS "
-#include \"sine.h\"
-")
-(START (MIN env))
-(STATE ("long" "phase" "0")
-       ("long" "ph_incr" "round((hz * SINE_TABLE_LEN) * (1 << SINE_TABLE_SHIFT) / sr)"))
-(TERMINATE (MIN env))
-(LOGICAL-STOP (MIN env))
-(INNER-LOOP "output = sine_table[phase >> SINE_TABLE_SHIFT] * env;
-            phase += ph_incr;
-            phase &= SINE_TABLE_MASK;")
-(MAINTAIN ("phase" 
- "susp->phase = (susp->phase + susp->ph_incr * togo) & SINE_TABLE_MASK"))
-(CONSTANT "ph_incr")
-(SAMPLE-RATE "sr")
-)
-
diff --git a/lib-src/libnyquist/tran/partial.c b/lib-src/libnyquist/tran/partial.c
deleted file mode 100644
index ae05c6c..0000000
--- a/lib-src/libnyquist/tran/partial.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "partial.h"
-
-void partial_free();
-
-
-typedef struct partial_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type env;
-    long env_cnt;
-    sample_block_values_type env_ptr;
-
-    long phase;
-    long ph_incr;
-} partial_susp_node, *partial_susp_type;
-
-
-#include "sine.h"
-
-
-void partial_n_fetch(register partial_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register long phase_reg;
-    register long ph_incr_reg;
-    register sample_block_values_type env_ptr_reg;
-    falloc_sample_block(out, "partial_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the env input sample block: */
-	susp_check_term_log_samples(env, env_ptr, env_cnt);
-	togo = MIN(togo, susp->env_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	phase_reg = susp->phase;
-	ph_incr_reg = susp->ph_incr;
-	env_ptr_reg = susp->env_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = sine_table[phase_reg >> SINE_TABLE_SHIFT] * *env_ptr_reg++;
-            phase_reg += ph_incr_reg;
-            phase_reg &= SINE_TABLE_MASK;;
-	} while (--n); /* inner loop */
-
-	susp->phase = (susp->phase + susp->ph_incr * togo) & SINE_TABLE_MASK;
-	/* using env_ptr_reg is a bad idea on RS/6000: */
-	susp->env_ptr += togo;
-	out_ptr += togo;
-	susp_took(env_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* partial_n_fetch */
-
-
-void partial_s_fetch(register partial_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register long phase_reg;
-    register long ph_incr_reg;
-    register sample_type env_scale_reg = susp->env->scale;
-    register sample_block_values_type env_ptr_reg;
-    falloc_sample_block(out, "partial_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the env input sample block: */
-	susp_check_term_log_samples(env, env_ptr, env_cnt);
-	togo = MIN(togo, susp->env_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	phase_reg = susp->phase;
-	ph_incr_reg = susp->ph_incr;
-	env_ptr_reg = susp->env_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = sine_table[phase_reg >> SINE_TABLE_SHIFT] * (env_scale_reg * *env_ptr_reg++);
-            phase_reg += ph_incr_reg;
-            phase_reg &= SINE_TABLE_MASK;;
-	} while (--n); /* inner loop */
-
-	susp->phase = (susp->phase + susp->ph_incr * togo) & SINE_TABLE_MASK;
-	/* using env_ptr_reg is a bad idea on RS/6000: */
-	susp->env_ptr += togo;
-	out_ptr += togo;
-	susp_took(env_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* partial_s_fetch */
-
-
-void partial_toss_fetch(susp, snd_list)
-  register partial_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from env up to final_time for this block of zeros */
-    while ((round((final_time - susp->env->t0) * susp->env->sr)) >=
-	   susp->env->current)
-	susp_get_samples(env, env_ptr, env_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->env->t0) * susp->env->sr -
-         (susp->env->current - susp->env_cnt));
-    susp->env_ptr += n;
-    susp_took(env_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void partial_mark(partial_susp_type susp)
-{
-    sound_xlmark(susp->env);
-}
-
-
-void partial_free(partial_susp_type susp)
-{
-    sound_unref(susp->env);
-    ffree_generic(susp, sizeof(partial_susp_node), "partial_free");
-}
-
-
-void partial_print_tree(partial_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("env:");
-    sound_print_tree_1(susp->env, n);
-}
-
-
-sound_type snd_make_partial(rate_type sr, double hz, sound_type env)
-{
-    register partial_susp_type susp;
-    /* sr specified as input parameter */
-    time_type t0 = env->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, partial_susp_node, "snd_make_partial");
-    susp->phase = 0;
-    susp->ph_incr = round((hz * SINE_TABLE_LEN) * (1 << SINE_TABLE_SHIFT) / sr);
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(env, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = partial_n_fetch; break;
-      case INTERP_s: susp->susp.fetch = partial_s_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < env->t0) sound_prepend_zeros(env, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(env->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = partial_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = partial_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = partial_mark;
-    susp->susp.print_tree = partial_print_tree;
-    susp->susp.name = "partial";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(env);
-    susp->susp.current = 0;
-    susp->env = env;
-    susp->env_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_partial(rate_type sr, double hz, sound_type env)
-{
-    sound_type env_copy = sound_copy(env);
-    return snd_make_partial(sr, hz, env_copy);
-}
diff --git a/lib-src/libnyquist/tran/partial.h b/lib-src/libnyquist/tran/partial.h
deleted file mode 100644
index 7b9858e..0000000
--- a/lib-src/libnyquist/tran/partial.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_partial(rate_type sr, double hz, sound_type env);
-sound_type snd_partial(rate_type sr, double hz, sound_type env);
-    /* LISP: (snd-partial ANYNUM ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/tran/pluck.alg b/lib-src/libnyquist/tran/pluck.alg
deleted file mode 100644
index 6bd342f..0000000
--- a/lib-src/libnyquist/tran/pluck.alg
+++ /dev/null
@@ -1,144 +0,0 @@
-;; PLUCK.ALG is based on the Pluck.t instrument from M4C
-;;
-; to assist with debugging, here are some calculated parameters
-; dumped from a run of M4C:
-;
-; Setup Pluck at t=  6.000
-; DUR= 1.000, pitch= 8.060, amp= 10000, DB_drop=  60.0, rfrac=0.00
-; freq 369.995
-; freq = 369.995361
-; Final = 1000.000000, t= 0.052715, y = 0.000000, lF = 6.907755
-; tdecay = 13.430565, sT = 369.995361, rho = 0.982869, stretch = 0.500000
-; N = 59, x = 0.095342, cons = 0.825914
-; x2 0.412957 x3 0.912957 stretch 0.5 cons 0.825914 SR 22050
-; complete Pluck setup
-;;
-
-(PLUCK-ALG
-(NAME "pluck")
-(ARGUMENTS ("rate_type" "sr") ("double" "hz") ("time_type" "t0") 
-           ("time_type" "d") ("double" "final_amp"))
-(SUPPORT-FUNCTIONS "
-#define MAXLENGTH 20000
-
-long pluck_parameters(double hz, double sr, double final, double dur,
-                        double *stretch, double *cons, double *rho)
-{
-    double t = PI * (hz / sr);
-    double y = fabs(cos(t));
-    /* original m4c code used ratio of initial amp to final amp in dB
-       and then converted to a ratio, e.g. you specify 60 and the 
-       parameter Final is 1000.0. This is counterintuitive to me (RBD)
-       because I would expect the value to be -60dB or 0.001. That is
-       what I implemented, so to get this back into correspondence
-       with the m4c algorithm, I take the NEGATIVE log to get lf, 
-       whereas m4c takes the positive log:
-     */
-    double lf = -log(final);
-    double tdecay = -lf / (hz * log(y));
-    double st;
-    long len;
-    double x;
-
-    if (hz <= sr / MAXLENGTH) {
-        xlfail(\"pluck hz is too low\");
-    } else if (hz >= sr / 3) {
-        xlfail(\"pluck hz is too high\");
-    }
-    /*
-     * if desired decay time is shorter than the natural decay time,
-     * then introduce a loss factor.  Otherwise, stretch note out.
-     */
-    st = hz * dur;
-    if (dur < tdecay) {
-        *rho = exp(-lf / st) / y;
-        *stretch = 0.5;
-    } else {
-        *rho = 1;
-        *stretch = 0.5 + sqrt(0.25 - 
-                              (1 - exp(2 * lf * (hz - sr) / (st * sr))) /
-                              (2 - 2 * cos(2 * t)));
-    }
-
-    /* delay line length is */
-    len = (int) ((sr / hz) - *stretch - 0.001);
-
-    /* tuning constant is */
-    x = (sr / hz) - len - *stretch;
-    *cons = (1.0 - x) / (1.0 + x);
-
-    if (len <= 1) {
-        xlfail(\"internal error: pluck delay line length too short\");
-    }
-    return len;
-}
-
-static unsigned int rnext = 1;
-int krand()
-{
-    rnext = rnext * 1103515245 + 12345;
-    return (rnext >> 16) & 0x7fff;
-}
-
-void pluck_initialize(sample_type *shiftreg, sample_type *array,
-                      long len, double cons)
-{
-    sample_type suma = 0.0F;
-    long k;
-    sample_type avea;
-    array[1] = 0;
-    for (k = len; k > 0; k--, array--) {
-        /* note: the m4c code has a bug. It claims to filter
-           the initial values, but it really just sets the
-           values to +1 or -1. The following does the same
-           thing with much less code:
-         */
-        *array = (krand() & 2) - 1;
-        suma += *array; /* compute sum for the average */
-    }
-    avea = suma / len;
-    /* zero the average */
-    for (k = 0; k <= len + 1; k++) shiftreg[k] -= avea;
-    shiftreg[len] = 0;
-    shiftreg[len + 1] = 0;
-}")
-(STATE ("double" "stretch" "0")
-       ("double" "cons" "0")
-       ("double" "loss" "0")
-       ("long" "len" "pluck_parameters(hz, sr, final_amp, d,
-                                &susp->stretch, &susp->cons, 
-                                &susp->loss)")
-       ("double" "x2" "-susp->cons * (susp->stretch - 1)")
-       ("double" "x3" "susp->cons * susp->stretch - susp->stretch + 1")
-       ("sample_type *" "shiftreg"
-       ;; I think susp->len + 2 is the correct value, but I use +4 to be safe
-                       "(sample_type *) calloc (susp->len + 4, sizeof(sample_type))")
-       ("sample_type *" "i1" "susp->shiftreg + susp->len + 1")
-       ("sample_type *" "i2" "susp->shiftreg + susp->len")
-       ("sample_type *" "i3" "susp->shiftreg + susp->len - 1")
-       ("sample_type *" "i4" "susp->shiftreg + susp->len - 2")
-       ("sample_type *" "endptr" "susp->shiftreg + susp->len + 2; 
-                   pluck_initialize(susp->shiftreg, susp->i3, 
-                                    susp->len, susp->cons)"))
-(CONSTANT "stretch" "cons" "loss" "len" "x2" "x3" "endptr")
-(SAMPLE-RATE "sr")
-(NOT-REGISTER shiftreg)
-(TERMINATE (AFTER "d"))
-(INNER-LOOP "            sample_type sum = (sample_type)
-                ((*i1++ * x2) + (*i2++ * x3) + 
-                 (*i3++ * stretch) - (*i4++ * cons));
-            /* wrap pointers around shift register if necessary */
-            if (i1 == endptr) i1 = susp->shiftreg;
-            if (i2 == endptr) i2 = susp->shiftreg;
-            if (i3 == endptr) i3 = susp->shiftreg;
-            if (i4 == endptr) i4 = susp->shiftreg;
-
-            /* store new value in shift register */
-            *i4 = (sample_type) (sum * loss);
-
-            /* deliver sample */
-            output = sum;
-")
-(FINALIZATION "    free(susp->shiftreg);\n")
-)
-
diff --git a/lib-src/libnyquist/tran/pluck.c b/lib-src/libnyquist/tran/pluck.c
deleted file mode 100644
index 059884c..0000000
--- a/lib-src/libnyquist/tran/pluck.c
+++ /dev/null
@@ -1,256 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "pluck.h"
-
-void pluck_free();
-
-
-typedef struct pluck_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-
-    double stretch;
-    double cons;
-    double loss;
-    long len;
-    double x2;
-    double x3;
-    sample_type *shiftreg;
-    sample_type *i1;
-    sample_type *i2;
-    sample_type *i3;
-    sample_type *i4;
-    sample_type *endptr;
-} pluck_susp_node, *pluck_susp_type;
-
-
-#define MAXLENGTH 20000
-
-long pluck_parameters(double hz, double sr, double final, double dur,
-                        double *stretch, double *cons, double *rho)
-{
-    double t = PI * (hz / sr);
-    double y = fabs(cos(t));
-    /* original m4c code used ratio of initial amp to final amp in dB
-       and then converted to a ratio, e.g. you specify 60 and the 
-       parameter Final is 1000.0. This is counterintuitive to me (RBD)
-       because I would expect the value to be -60dB or 0.001. That is
-       what I implemented, so to get this back into correspondence
-       with the m4c algorithm, I take the NEGATIVE log to get lf, 
-       whereas m4c takes the positive log:
-     */
-    double lf = -log(final);
-    double tdecay = -lf / (hz * log(y));
-    double st;
-    long len;
-    double x;
-
-    if (hz <= sr / MAXLENGTH) {
-        xlfail("pluck hz is too low");
-    } else if (hz >= sr / 3) {
-        xlfail("pluck hz is too high");
-    }
-    /*
-     * if desired decay time is shorter than the natural decay time,
-     * then introduce a loss factor.  Otherwise, stretch note out.
-     */
-    st = hz * dur;
-    if (dur < tdecay) {
-        *rho = exp(-lf / st) / y;
-        *stretch = 0.5;
-    } else {
-        *rho = 1;
-        *stretch = 0.5 + sqrt(0.25 - 
-                              (1 - exp(2 * lf * (hz - sr) / (st * sr))) /
-                              (2 - 2 * cos(2 * t)));
-    }
-
-    /* delay line length is */
-    len = (int) ((sr / hz) - *stretch - 0.001);
-
-    /* tuning constant is */
-    x = (sr / hz) - len - *stretch;
-    *cons = (1.0 - x) / (1.0 + x);
-
-    if (len <= 1) {
-        xlfail("internal error: pluck delay line length too short");
-    }
-    return len;
-}
-
-static unsigned int rnext = 1;
-int krand()
-{
-    rnext = rnext * 1103515245 + 12345;
-    return (rnext >> 16) & 0x7fff;
-}
-
-void pluck_initialize(sample_type *shiftreg, sample_type *array,
-                      long len, double cons)
-{
-    sample_type suma = 0.0F;
-    long k;
-    sample_type avea;
-    array[1] = 0;
-    for (k = len; k > 0; k--, array--) {
-        /* note: the m4c code has a bug. It claims to filter
-           the initial values, but it really just sets the
-           values to +1 or -1. The following does the same
-           thing with much less code:
-         */
-        *array = (float) ((krand() & 2) - 1);
-        suma += *array; /* compute sum for the average */
-    }
-    avea = suma / len;
-    /* zero the average */
-    for (k = 0; k <= len + 1; k++) shiftreg[k] -= avea;
-    shiftreg[len] = 0;
-    shiftreg[len + 1] = 0;
-}
-
-void pluck__fetch(register pluck_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double stretch_reg;
-    register double cons_reg;
-    register double loss_reg;
-    register double x2_reg;
-    register double x3_reg;
-    register sample_type * i1_reg;
-    register sample_type * i2_reg;
-    register sample_type * i3_reg;
-    register sample_type * i4_reg;
-    register sample_type * endptr_reg;
-    falloc_sample_block(out, "pluck__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	stretch_reg = susp->stretch;
-	cons_reg = susp->cons;
-	loss_reg = susp->loss;
-	x2_reg = susp->x2;
-	x3_reg = susp->x3;
-	i1_reg = susp->i1;
-	i2_reg = susp->i2;
-	i3_reg = susp->i3;
-	i4_reg = susp->i4;
-	endptr_reg = susp->endptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            sample_type sum = (float)
-                ((*i1_reg++ * x2_reg) + (*i2_reg++ * x3_reg) + 
-                 (*i3_reg++ * stretch_reg) - (*i4_reg++ * cons_reg));
-            /* wrap pointers around shift register if necessary */
-            if (i1_reg == endptr_reg) i1_reg = susp->shiftreg;
-            if (i2_reg == endptr_reg) i2_reg = susp->shiftreg;
-            if (i3_reg == endptr_reg) i3_reg = susp->shiftreg;
-            if (i4_reg == endptr_reg) i4_reg = susp->shiftreg;
-
-            /* store new value in shift register */
-            *i4_reg = (float) (sum * loss_reg);
-
-            /* deliver sample */
-            *out_ptr_reg++ = sum;
-;
-	} while (--n); /* inner loop */
-
-	susp->i1 = i1_reg;
-	susp->i2 = i2_reg;
-	susp->i3 = i3_reg;
-	susp->i4 = i4_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* pluck__fetch */
-
-
-void pluck_free(pluck_susp_type susp)
-{
-    free(susp->shiftreg);
-    ffree_generic(susp, sizeof(pluck_susp_node), "pluck_free");
-}
-
-
-void pluck_print_tree(pluck_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_pluck(rate_type sr, double hz, time_type t0, time_type d, double final_amp)
-{
-    register pluck_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, pluck_susp_node, "snd_make_pluck");
-    susp->stretch = 0;
-    susp->cons = 0;
-    susp->loss = 0;
-    susp->len = pluck_parameters(hz, sr, final_amp, d,
-                                &susp->stretch, &susp->cons, 
-                                &susp->loss);
-    susp->x2 = -susp->cons * (susp->stretch - 1);
-    susp->x3 = susp->cons * susp->stretch - susp->stretch + 1;
-    susp->shiftreg = (sample_type *) calloc (susp->len + 4, sizeof(sample_type));
-    susp->i1 = susp->shiftreg + susp->len + 1;
-    susp->i2 = susp->shiftreg + susp->len;
-    susp->i3 = susp->shiftreg + susp->len - 1;
-    susp->i4 = susp->shiftreg + susp->len - 2;
-    susp->endptr = susp->shiftreg + susp->len + 2; 
-                   pluck_initialize(susp->shiftreg, susp->i3, 
-                                    susp->len, susp->cons);
-    susp->susp.fetch = pluck__fetch;
-
-    susp->terminate_cnt = round((d) * sr);
-    /* initialize susp state */
-    susp->susp.free = pluck_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = NULL;
-    susp->susp.print_tree = pluck_print_tree;
-    susp->susp.name = "pluck";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_pluck(rate_type sr, double hz, time_type t0, time_type d, double final_amp)
-{
-    return snd_make_pluck(sr, hz, t0, d, final_amp);
-}
diff --git a/lib-src/libnyquist/tran/pluck.h b/lib-src/libnyquist/tran/pluck.h
deleted file mode 100644
index 36be409..0000000
--- a/lib-src/libnyquist/tran/pluck.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_pluck(rate_type sr, double hz, time_type t0, time_type d, double final_amp);
-sound_type snd_pluck(rate_type sr, double hz, time_type t0, time_type d, double final_amp);
-    /* LISP: (snd-pluck ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM) */
diff --git a/lib-src/libnyquist/tran/prod.alg b/lib-src/libnyquist/tran/prod.alg
deleted file mode 100644
index 1a36c04..0000000
--- a/lib-src/libnyquist/tran/prod.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(PROD-ALG
-  (NAME "prod")
-  (ARGUMENTS ("sound_type" "s1") ("sound_type" "s2"))
-  (START (MAX s1 s2))
-  (COMMUTATIVE (s1 s2))
-  (INNER-LOOP "output = s1 * s2")
-  (LINEAR s1 s2)
-  (TERMINATE (MIN s1 s2))
-  (LOGICAL-STOP (MIN s1 s2))
-)
-
diff --git a/lib-src/libnyquist/tran/prod.c b/lib-src/libnyquist/tran/prod.c
deleted file mode 100644
index fd97971..0000000
--- a/lib-src/libnyquist/tran/prod.c
+++ /dev/null
@@ -1,244 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "prod.h"
-
-void prod_free();
-
-
-typedef struct prod_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type s2;
-    long s2_cnt;
-    sample_block_values_type s2_ptr;
-} prod_susp_node, *prod_susp_type;
-
-
-void prod_nn_fetch(register prod_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_block_values_type s2_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "prod_nn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the s2 input sample block: */
-	susp_check_term_log_samples(s2, s2_ptr, s2_cnt);
-	togo = MIN(togo, susp->s2_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	s2_ptr_reg = susp->s2_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = *s1_ptr_reg++ * *s2_ptr_reg++;
-	} while (--n); /* inner loop */
-
-	/* using s2_ptr_reg is a bad idea on RS/6000: */
-	susp->s2_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(s2_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* prod_nn_fetch */
-
-
-void prod_toss_fetch(susp, snd_list)
-  register prod_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from s2 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s2->t0) * susp->s2->sr)) >=
-	   susp->s2->current)
-	susp_get_samples(s2, s2_ptr, s2_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->s2->t0) * susp->s2->sr -
-         (susp->s2->current - susp->s2_cnt));
-    susp->s2_ptr += n;
-    susp_took(s2_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void prod_mark(prod_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->s2);
-}
-
-
-void prod_free(prod_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->s2);
-    ffree_generic(susp, sizeof(prod_susp_node), "prod_free");
-}
-
-
-void prod_print_tree(prod_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("s2:");
-    sound_print_tree_1(susp->s2, n);
-}
-
-
-sound_type snd_make_prod(sound_type s1, sound_type s2)
-{
-    register prod_susp_type susp;
-    rate_type sr = MAX(s1->sr, s2->sr);
-    time_type t0 = MAX(s1->t0, s2->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    long lsc;
-    /* sort commutative signals: (S1 S2) */
-    snd_sort_2(&s1, &s2, sr);
-
-    /* combine scale factors of linear inputs (S1 S2) */
-    scale_factor *= s1->scale;
-    s1->scale = 1.0F;
-    scale_factor *= s2->scale;
-    s2->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (s1->sr < sr) { s1->scale = scale_factor; scale_factor = 1.0F; }
-    else if (s2->sr < sr) { s2->scale = scale_factor; scale_factor = 1.0F; }
-
-    falloc_generic(susp, prod_susp_node, "snd_make_prod");
-    susp->susp.fetch = prod_nn_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < s2->t0) sound_prepend_zeros(s2, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(s2->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = prod_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = prod_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = prod_mark;
-    susp->susp.print_tree = prod_print_tree;
-    susp->susp.name = "prod";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    lsc = logical_stop_cnt_cvt(s2);
-    if (susp->susp.log_stop_cnt > lsc)
-        susp->susp.log_stop_cnt = lsc;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->s2 = s2;
-    susp->s2_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_prod(sound_type s1, sound_type s2)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type s2_copy = sound_copy(s2);
-    return snd_make_prod(s1_copy, s2_copy);
-}
diff --git a/lib-src/libnyquist/tran/prod.h b/lib-src/libnyquist/tran/prod.h
deleted file mode 100644
index 127b7f9..0000000
--- a/lib-src/libnyquist/tran/prod.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_prod(sound_type s1, sound_type s2);
-sound_type snd_prod(sound_type s1, sound_type s2);
-    /* LISP: (snd-prod SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/pwl.alg b/lib-src/libnyquist/tran/pwl.alg
deleted file mode 100644
index 49a8127..0000000
--- a/lib-src/libnyquist/tran/pwl.alg
+++ /dev/null
@@ -1,82 +0,0 @@
-(PWL-ALG
-  (NAME "pwl")
-  (ARGUMENTS ("time_type" "t0") ("rate_type" "sr") ("LVAL" "lis"))
-  (SUPPORT-FUNCTIONS "
-/* IMPLEMENTATION NOTE:
- * The lis argument is a list of alternating sample numbers and values
- * which are taken in pairs, with an implicit (0, 0) starting point.  The
- * last point  is a sample number only, the value being implicitly 0.
- * The bpt_ptr points to the next sample number in the list.
- * The incr is set to the increment per sample, and lvl is the next
- * sample value.
- *
- * The list is assumed to be well-formed, so it should be checked by
- * the caller (users should not call this directly).
- */
-
-
-/* compute_lvl -- setup the susp with level, advance bpt_ptr */
-/*
- * returns true if it is time to terminate
- *
- * Note: compute_lvl gets called in the outer loop to skip over
- * a breakpoint pair before starting the compute_incr loop, which
- * searches for a breakpoint that is some number of samples in the
- * future.  This code is not embedded in compute_incr because it is
- * NOT called from the initialization, where it would be wrong to
- * skip over the first breakpoint.
- */
-boolean compute_lvl(pwl_susp_type susp)
-{
-    if (!cdr(susp->bpt_ptr)) return true;
-    susp->lvl = getflonum(car(cdr(susp->bpt_ptr)));
-    susp->bpt_ptr = cdr(cdr(susp->bpt_ptr));
-    return !susp->bpt_ptr;
-}
-
-
-/* compute_incr -- setup the susp with level and increment */
-/*
- * returns true if it is time to terminate
- */
-boolean compute_incr(pwl_susp_type susp, long *n, long cur)
-{
-    double target;
-    while (*n == 0) {
-        *n = getfixnum(car(susp->bpt_ptr)) - cur;
-        /* if there is a 2nd element of the pair, get the target */
-        if (cdr(susp->bpt_ptr))
-            target = getflonum(car(cdr(susp->bpt_ptr)));
-        else target = 0.0;
-        if (*n > 0) susp->incr = (target - susp->lvl) / *n;
-        else if (compute_lvl(susp)) return true;
-    }
-    return false;
-}
-")
- (SAMPLE-RATE "sr")
-  (STATE 
-        ("LVAL" "bpt_ptr" "lis")
-        ("double" "incr" "0.0")
-        ("double" "lvl" "0.0; 
-         { long temp = 0; compute_incr(susp, &temp, 0); }"))
-  
-  (OUTER-LOOP "
-        if (susp->bpt_ptr == NULL) {
-out:	    togo = 0;	/* indicate termination */
-            break;	/* we're done */
-        }
-        { long cur = susp->susp.current + cnt;
-          long nn = getfixnum(car(susp->bpt_ptr)) - cur;
-          if (nn == 0) {
-              if (compute_lvl(susp) || compute_incr(susp, &nn, cur)) goto out;
-          }
-          togo = MIN(nn, togo);
-        }
-")
-  (INNER-LOOP "output = (sample_type) lvl; lvl += incr;")
-  (MAINTAIN ("lvl" "susp->lvl += susp->incr * togo"))
-  (CONSTANT "incr")
-  (TERMINATE COMPUTED)
-)
-
diff --git a/lib-src/libnyquist/tran/pwl.c b/lib-src/libnyquist/tran/pwl.c
deleted file mode 100644
index 70d0038..0000000
--- a/lib-src/libnyquist/tran/pwl.c
+++ /dev/null
@@ -1,180 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "pwl.h"
-
-void pwl_free();
-
-
-typedef struct pwl_susp_struct {
-    snd_susp_node susp;
-
-    LVAL bpt_ptr;
-    double incr;
-    double lvl;
-} pwl_susp_node, *pwl_susp_type;
-
-
-/* IMPLEMENTATION NOTE:
- * The lis argument is a list of alternating sample numbers and values
- * which are taken in pairs, with an implicit (0, 0) starting point.  The
- * last point  is a sample number only, the value being implicitly 0.
- * The bpt_ptr points to the next sample number in the list.
- * The incr is set to the increment per sample, and lvl is the next
- * sample value.
- *
- * The list is assumed to be well-formed, so it should be checked by
- * the caller (users should not call this directly).
- */
-
-
-/* compute_lvl -- setup the susp with level, advance bpt_ptr */
-/*
- * returns true if it is time to terminate
- *
- * Note: compute_lvl gets called in the outer loop to skip over
- * a breakpoint pair before starting the compute_incr loop, which
- * searches for a breakpoint that is some number of samples in the
- * future.  This code is not embedded in compute_incr because it is
- * NOT called from the initialization, where it would be wrong to
- * skip over the first breakpoint.
- */
-boolean compute_lvl(pwl_susp_type susp)
-{
-    if (!cdr(susp->bpt_ptr)) return true;
-    susp->lvl = getflonum(car(cdr(susp->bpt_ptr)));
-    susp->bpt_ptr = cdr(cdr(susp->bpt_ptr));
-    return !susp->bpt_ptr;
-}
-
-
-/* compute_incr -- setup the susp with level and increment */
-/*
- * returns true if it is time to terminate
- */
-boolean compute_incr(pwl_susp_type susp, long *n, long cur)
-{
-    double target;
-    while (*n == 0) {
-        *n = getfixnum(car(susp->bpt_ptr)) - cur;
-        /* if there is a 2nd element of the pair, get the target */
-        if (cdr(susp->bpt_ptr))
-            target = getflonum(car(cdr(susp->bpt_ptr)));
-        else target = 0.0;
-        if (*n > 0) susp->incr = (target - susp->lvl) / *n;
-        else if (compute_lvl(susp)) return true;
-    }
-    return false;
-}
-
-
-void pwl__fetch(register pwl_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double incr_reg;
-    register double lvl_reg;
-    falloc_sample_block(out, "pwl__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-
-        if (susp->bpt_ptr == NULL) {
-out:	    togo = 0;	/* indicate termination */
-            break;	/* we're done */
-        }
-        { long cur = susp->susp.current + cnt;
-          long nn = getfixnum(car(susp->bpt_ptr)) - cur;
-          if (nn == 0) {
-              if (compute_lvl(susp) || compute_incr(susp, &nn, cur)) goto out;
-          }
-          togo = MIN(nn, togo);
-        }
-
-	n = togo;
-	incr_reg = susp->incr;
-	lvl_reg = susp->lvl;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) lvl_reg; lvl_reg += incr_reg;;
-	} while (--n); /* inner loop */
-
-	susp->lvl += susp->incr * togo;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* pwl__fetch */
-
-
-void pwl_mark(pwl_susp_type susp)
-{
-    if (susp->bpt_ptr) mark(susp->bpt_ptr);
-}
-
-
-void pwl_free(pwl_susp_type susp)
-{
-    ffree_generic(susp, sizeof(pwl_susp_node), "pwl_free");
-}
-
-
-void pwl_print_tree(pwl_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_pwl(time_type t0, rate_type sr, LVAL lis)
-{
-    register pwl_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, pwl_susp_node, "snd_make_pwl");
-    susp->bpt_ptr = lis;
-    susp->incr = 0.0;
-    susp->lvl = 0.0; 
-         { long temp = 0; compute_incr(susp, &temp, 0); };
-    susp->susp.fetch = pwl__fetch;
-
-    /* initialize susp state */
-    susp->susp.free = pwl_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = pwl_mark;
-    susp->susp.print_tree = pwl_print_tree;
-    susp->susp.name = "pwl";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_pwl(time_type t0, rate_type sr, LVAL lis)
-{
-    return snd_make_pwl(t0, sr, lis);
-}
diff --git a/lib-src/libnyquist/tran/pwl.h b/lib-src/libnyquist/tran/pwl.h
deleted file mode 100644
index 36700f6..0000000
--- a/lib-src/libnyquist/tran/pwl.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_pwl(time_type t0, rate_type sr, LVAL lis);
-sound_type snd_pwl(time_type t0, rate_type sr, LVAL lis);
-    /* LISP: (snd-pwl ANYNUM ANYNUM ANY) */
diff --git a/lib-src/libnyquist/tran/quant.c.c b/lib-src/libnyquist/tran/quant.c.c
deleted file mode 100644
index e69de29..0000000
diff --git a/lib-src/libnyquist/tran/quant.c.h b/lib-src/libnyquist/tran/quant.c.h
deleted file mode 100644
index e69de29..0000000
diff --git a/lib-src/libnyquist/tran/quantize.alg b/lib-src/libnyquist/tran/quantize.alg
deleted file mode 100644
index fc268bd..0000000
--- a/lib-src/libnyquist/tran/quantize.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(QUANTIZE-ALG
-  (NAME "quantize")
-  (ARGUMENTS ("sound_type" "s1") ("long" "steps"))
-  (INTERNAL-SCALING s1)
-  (START (MIN s1))
-  (STATE ("double" "factor" "s1->scale * steps; scale_factor = (sample_type) (1.0 / steps);"))
-  (INNER-LOOP "register long xx = (long) (s1 * factor); output = (float) xx;")
-  (TERMINATE (MIN s1))
-  (CONSTANT "factor")
-  (LOGICAL-STOP (MIN s1))
-)
diff --git a/lib-src/libnyquist/tran/quantize.c b/lib-src/libnyquist/tran/quantize.c
deleted file mode 100644
index 0f97591..0000000
--- a/lib-src/libnyquist/tran/quantize.c
+++ /dev/null
@@ -1,202 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "quantize.h"
-
-void quantize_free();
-
-
-typedef struct quantize_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-
-    double factor;
-} quantize_susp_node, *quantize_susp_type;
-
-
-void quantize_n_fetch(register quantize_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double factor_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "quantize_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	factor_reg = susp->factor;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-register long xx = (long) (*s1_ptr_reg++ * factor_reg); *out_ptr_reg++ = (float) xx;;
-	} while (--n); /* inner loop */
-
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* quantize_n_fetch */
-
-
-void quantize_toss_fetch(susp, snd_list)
-  register quantize_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void quantize_mark(quantize_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-}
-
-
-void quantize_free(quantize_susp_type susp)
-{
-    sound_unref(susp->s1);
-    ffree_generic(susp, sizeof(quantize_susp_node), "quantize_free");
-}
-
-
-void quantize_print_tree(quantize_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-}
-
-
-sound_type snd_make_quantize(sound_type s1, long steps)
-{
-    register quantize_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = s1->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, quantize_susp_node, "snd_make_quantize");
-    susp->factor = s1->scale * steps; scale_factor = (sample_type) (1.0 / steps);;
-    susp->susp.fetch = quantize_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = quantize_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = quantize_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = quantize_mark;
-    susp->susp.print_tree = quantize_print_tree;
-    susp->susp.name = "quantize";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_quantize(sound_type s1, long steps)
-{
-    sound_type s1_copy = sound_copy(s1);
-    return snd_make_quantize(s1_copy, steps);
-}
diff --git a/lib-src/libnyquist/tran/quantize.h b/lib-src/libnyquist/tran/quantize.h
deleted file mode 100644
index 49630da..0000000
--- a/lib-src/libnyquist/tran/quantize.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_quantize(sound_type s1, long steps);
-sound_type snd_quantize(sound_type s1, long steps);
-    /* LISP: (snd-quantize SOUND FIXNUM) */
diff --git a/lib-src/libnyquist/tran/recip.alg b/lib-src/libnyquist/tran/recip.alg
deleted file mode 100644
index 8a535d6..0000000
--- a/lib-src/libnyquist/tran/recip.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(RECIP-ALG
-  (NAME "recip")
-  (ARGUMENTS ("sound_type" "s1"))
-  (STATE ("double" "scale" "(1.0 / s1->scale)"))
-  (INTERNAL-SCALING s1)
-  (CONSTANT "scale")
-  (START (MIN s1))
-  (INNER-LOOP "output = (sample_type) (scale / s1)")
-  (TERMINATE (MIN s1))
-  (LOGICAL-STOP (MIN s1))
-)
diff --git a/lib-src/libnyquist/tran/recip.c b/lib-src/libnyquist/tran/recip.c
deleted file mode 100644
index 8a32d38..0000000
--- a/lib-src/libnyquist/tran/recip.c
+++ /dev/null
@@ -1,202 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "recip.h"
-
-void recip_free();
-
-
-typedef struct recip_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-
-    double scale;
-} recip_susp_node, *recip_susp_type;
-
-
-void recip_n_fetch(register recip_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "recip_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale_reg = susp->scale;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) (scale_reg / *s1_ptr_reg++);
-	} while (--n); /* inner loop */
-
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* recip_n_fetch */
-
-
-void recip_toss_fetch(susp, snd_list)
-  register recip_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void recip_mark(recip_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-}
-
-
-void recip_free(recip_susp_type susp)
-{
-    sound_unref(susp->s1);
-    ffree_generic(susp, sizeof(recip_susp_node), "recip_free");
-}
-
-
-void recip_print_tree(recip_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-}
-
-
-sound_type snd_make_recip(sound_type s1)
-{
-    register recip_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = s1->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, recip_susp_node, "snd_make_recip");
-    susp->scale = (1.0 / s1->scale);
-    susp->susp.fetch = recip_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = recip_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = recip_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = recip_mark;
-    susp->susp.print_tree = recip_print_tree;
-    susp->susp.name = "recip";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_recip(sound_type s1)
-{
-    sound_type s1_copy = sound_copy(s1);
-    return snd_make_recip(s1_copy);
-}
diff --git a/lib-src/libnyquist/tran/recip.h b/lib-src/libnyquist/tran/recip.h
deleted file mode 100644
index 059c7c7..0000000
--- a/lib-src/libnyquist/tran/recip.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_recip(sound_type s1);
-sound_type snd_recip(sound_type s1);
-    /* LISP: (snd-recip SOUND) */
diff --git a/lib-src/libnyquist/tran/reson.alg b/lib-src/libnyquist/tran/reson.alg
deleted file mode 100644
index bc73cc3..0000000
--- a/lib-src/libnyquist/tran/reson.alg
+++ /dev/null
@@ -1,23 +0,0 @@
-(RESON-ALG
-(NAME "reson")
-(ARGUMENTS ("sound_type" "s") ("double" "hz") ("double" "bw")
-           ("int" "normalization"))
-(START (MIN s))
-(TERMINATE (MIN s))
-(LOGICAL-STOP (MIN s))
-(STATE ("double" "c3" "exp(bw * -PI2 / s->sr)")
-       ("double" "c3p1" "susp->c3 + 1.0")
-       ("double" "c3t4" "susp->c3 * 4.0")
-       ("double" "omc3" "1.0 - susp->c3")
-       ("double" "c2" "susp->c3t4 * cos(hz * PI2 / s->sr) / susp->c3p1")
-       ("double" "c1" "(normalization == 0 ? 1.0 :
-        (normalization == 1 ? susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-            sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1))")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0"))
-(CONSTANT "c1" "c2" "c3")
-(INNER-LOOP "{ double y0 = c1 * s + c2 * y1 - c3 * y2;
-            output = (sample_type) y0;	
-            y2 = y1; y1 = y0; }")
-)
-
diff --git a/lib-src/libnyquist/tran/reson.c b/lib-src/libnyquist/tran/reson.c
deleted file mode 100644
index ea3fbfe..0000000
--- a/lib-src/libnyquist/tran/reson.c
+++ /dev/null
@@ -1,339 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "reson.h"
-
-void reson_free();
-
-
-typedef struct reson_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s;
-    long s_cnt;
-    sample_block_values_type s_ptr;
-
-    double c3;
-    double c3p1;
-    double c3t4;
-    double omc3;
-    double c2;
-    double c1;
-    double y1;
-    double y2;
-} reson_susp_node, *reson_susp_type;
-
-
-void reson_n_fetch(register reson_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "reson_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3_reg = susp->c3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ double y0 = c1_reg * *s_ptr_reg++ + c2_reg * y1_reg - c3_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;	
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* reson_n_fetch */
-
-
-void reson_s_fetch(register reson_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type s_scale_reg = susp->s->scale;
-    register sample_block_values_type s_ptr_reg;
-    falloc_sample_block(out, "reson_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s input sample block: */
-	susp_check_term_log_samples(s, s_ptr, s_cnt);
-	togo = MIN(togo, susp->s_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3_reg = susp->c3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s_ptr_reg = susp->s_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ double y0 = c1_reg * (s_scale_reg * *s_ptr_reg++) + c2_reg * y1_reg - c3_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;	
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s_ptr_reg is a bad idea on RS/6000: */
-	susp->s_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* reson_s_fetch */
-
-
-void reson_toss_fetch(susp, snd_list)
-  register reson_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s up to final_time for this block of zeros */
-    while ((round((final_time - susp->s->t0) * susp->s->sr)) >=
-	   susp->s->current)
-	susp_get_samples(s, s_ptr, s_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s->t0) * susp->s->sr -
-         (susp->s->current - susp->s_cnt));
-    susp->s_ptr += n;
-    susp_took(s_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void reson_mark(reson_susp_type susp)
-{
-    sound_xlmark(susp->s);
-}
-
-
-void reson_free(reson_susp_type susp)
-{
-    sound_unref(susp->s);
-    ffree_generic(susp, sizeof(reson_susp_node), "reson_free");
-}
-
-
-void reson_print_tree(reson_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s:");
-    sound_print_tree_1(susp->s, n);
-}
-
-
-sound_type snd_make_reson(sound_type s, double hz, double bw, int normalization)
-{
-    register reson_susp_type susp;
-    rate_type sr = s->sr;
-    time_type t0 = s->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, reson_susp_node, "snd_make_reson");
-    susp->c3 = exp(bw * -PI2 / s->sr);
-    susp->c3p1 = susp->c3 + 1.0;
-    susp->c3t4 = susp->c3 * 4.0;
-    susp->omc3 = 1.0 - susp->c3;
-    susp->c2 = susp->c3t4 * cos(hz * PI2 / s->sr) / susp->c3p1;
-    susp->c1 = (normalization == 0 ? 1.0 :
-        (normalization == 1 ? susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-            sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1));
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = reson_n_fetch; break;
-      case INTERP_s: susp->susp.fetch = reson_s_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s->t0) sound_prepend_zeros(s, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = reson_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = reson_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = reson_mark;
-    susp->susp.print_tree = reson_print_tree;
-    susp->susp.name = "reson";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s);
-    susp->susp.current = 0;
-    susp->s = s;
-    susp->s_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_reson(sound_type s, double hz, double bw, int normalization)
-{
-    sound_type s_copy = sound_copy(s);
-    return snd_make_reson(s_copy, hz, bw, normalization);
-}
diff --git a/lib-src/libnyquist/tran/reson.h b/lib-src/libnyquist/tran/reson.h
deleted file mode 100644
index aec354a..0000000
--- a/lib-src/libnyquist/tran/reson.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_reson(sound_type s, double hz, double bw, int normalization);
-sound_type snd_reson(sound_type s, double hz, double bw, int normalization);
-    /* LISP: (snd-reson SOUND ANYNUM ANYNUM FIXNUM) */
diff --git a/lib-src/libnyquist/tran/resoncv.alg b/lib-src/libnyquist/tran/resoncv.alg
deleted file mode 100644
index 8ad5c64..0000000
--- a/lib-src/libnyquist/tran/resoncv.alg
+++ /dev/null
@@ -1,35 +0,0 @@
-(RESONCV-ALG
-(NAME "resoncv")
-(ARGUMENTS ("sound_type" "s1") ("double" "hz") ("sound_type" "bw")
-           ("int" "normalization"))
-(INLINE-INTERPOLATION T)
-(INTERNAL-SCALING s1)
-(ALWAYS-SCALE bw)
-(START (MAX s1 bw))
-(TERMINATE (MIN s1 bw))
-(LOGICAL-STOP (MIN s1))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION bw)
-(STATE ("double" "scale1" "s1->scale")
-       ("double" "c3co" "0.0")
-       ("double" "coshz" "cos(hz * PI2 / s1->sr)")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("int" "normalization" "normalization")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0;
-    bw->scale = (sample_type) (bw->scale * (-PI2 / s1->sr))"))
-(DEPENDS ("c3co" "bw" "exp(bw)")
-         ("c3p1" "bw" "c3co + 1.0" TEMP "double")
-         ("c3t4" "bw" "c3co * 4.0" TEMP "double")
-         ("omc3" "bw" "1.0 - c3co" TEMP "double")
-         ("c2"   "bw" "c3t4 * coshz / c3p1")
-         ("c1"   "bw" "(normalization == 0 ? 1.0 :
-          (normalization == 1 ? omc3 * sqrt(1.0 - c2 * c2 / c3t4) :
-              sqrt(c3p1 * c3p1 - c2 * c2) * omc3 / c3p1)) * scale1"))
-(CONSTANT "c1" "c2" "c3co" "coshz" "normalization" "scale1")
-(FORCE-INTO-REGISTER normalization coshz scale1)
-(INNER-LOOP "{ double y0 = c1 * s1 + c2 * y1 - c3co * y2;
-            output = (sample_type) y0; 
-            y2 = y1; y1 = y0; }")
-)
diff --git a/lib-src/libnyquist/tran/resoncv.c b/lib-src/libnyquist/tran/resoncv.c
deleted file mode 100644
index 8f25d47..0000000
--- a/lib-src/libnyquist/tran/resoncv.c
+++ /dev/null
@@ -1,600 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "resoncv.h"
-
-void resoncv_free();
-
-
-typedef struct resoncv_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type bw;
-    long bw_cnt;
-    sample_block_values_type bw_ptr;
-
-    /* support for interpolation of bw */
-    sample_type bw_x1_sample;
-    double bw_pHaSe;
-    double bw_pHaSe_iNcR;
-
-    /* support for ramp between samples of bw */
-    double output_per_bw;
-    long bw_n;
-
-    double scale1;
-    double c3co;
-    double coshz;
-    double c2;
-    double c1;
-    int normalization;
-    double y1;
-    double y2;
-} resoncv_susp_node, *resoncv_susp_type;
-
-
-void resoncv_ns_fetch(register resoncv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resoncv_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    double c3p1;
-	    double c3t4;
-	    double omc3;
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1 = c3co_reg + 1.0;
-	    c3t4 = c3co_reg * 4.0;
-	    omc3 = 1.0 - c3co_reg;
-	    c2_reg = c3t4 * coshz_reg / c3p1;
-	    c1_reg = (normalization_reg == 0 ? 1.0 :
-          (normalization_reg == 1 ? omc3 * sqrt(1.0 - c2_reg * c2_reg / c3t4) :
-              sqrt(c3p1 * c3p1 - c2_reg * c2_reg) * omc3 / c3p1)) * scale1_reg;
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0; 
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resoncv_ns_fetch */
-
-
-void resoncv_ni_fetch(register resoncv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resoncv_ni_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	    double c3p1;
-	    double c3t4;
-	    double omc3;
-	susp->started = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	c3p1 = susp->c3co + 1.0;
-	c3t4 = susp->c3co * 4.0;
-	omc3 = 1.0 - susp->c3co;
-	susp->c2 = c3t4 * susp->coshz / c3p1;
-	susp->c1 = (susp->normalization == 0 ? 1.0 :
-          (susp->normalization == 1 ? omc3 * sqrt(1.0 - susp->c2 * susp->c2 / c3t4) :
-              sqrt(c3p1 * c3p1 - susp->c2 * susp->c2) * omc3 / c3p1)) * susp->scale1;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		double c3p1; 
-		double c3t4; 
-		double omc3; 
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1 = c3co_reg + 1.0;
-		c3t4 = c3co_reg * 4.0;
-		omc3 = 1.0 - c3co_reg;
-		c2_reg = susp->c2 = c3t4 * coshz_reg / c3p1;
-		c1_reg = susp->c1 = (normalization_reg == 0 ? 1.0 :
-          (normalization_reg == 1 ? omc3 * sqrt(1.0 - c2_reg * c2_reg / c3t4) :
-              sqrt(c3p1 * c3p1 - c2_reg * c2_reg) * omc3 / c3p1)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0; 
-            y2_reg = y1_reg; y1_reg = y0; };
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resoncv_ni_fetch */
-
-
-void resoncv_nr_fetch(register resoncv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resoncv_nr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    double c3p1;
-	    double c3t4;
-	    double omc3;
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    c3p1 = susp->c3co + 1.0;
-	    c3t4 = susp->c3co * 4.0;
-	    omc3 = 1.0 - susp->c3co;
-	    susp->c2 = c3t4 * susp->coshz / c3p1;
-	    susp->c1 = (susp->normalization == 0 ? 1.0 :
-          (susp->normalization == 1 ? omc3 * sqrt(1.0 - susp->c2 * susp->c2 / c3t4) :
-              sqrt(c3p1 * c3p1 - susp->c2 * susp->c2) * omc3 / c3p1)) * susp->scale1;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0; 
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resoncv_nr_fetch */
-
-
-void resoncv_toss_fetch(susp, snd_list)
-  register resoncv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from bw up to final_time for this block of zeros */
-    while ((round((final_time - susp->bw->t0) * susp->bw->sr)) >=
-	   susp->bw->current)
-	susp_get_samples(bw, bw_ptr, bw_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->bw->t0) * susp->bw->sr -
-         (susp->bw->current - susp->bw_cnt));
-    susp->bw_ptr += n;
-    susp_took(bw_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void resoncv_mark(resoncv_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->bw);
-}
-
-
-void resoncv_free(resoncv_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->bw);
-    ffree_generic(susp, sizeof(resoncv_susp_node), "resoncv_free");
-}
-
-
-void resoncv_print_tree(resoncv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("bw:");
-    sound_print_tree_1(susp->bw, n);
-}
-
-
-sound_type snd_make_resoncv(sound_type s1, double hz, sound_type bw, int normalization)
-{
-    register resoncv_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, bw->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, resoncv_susp_node, "snd_make_resoncv");
-    susp->scale1 = s1->scale;
-    susp->c3co = 0.0;
-    susp->coshz = cos(hz * PI2 / s1->sr);
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->normalization = normalization;
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    bw->scale = (sample_type) (bw->scale * (-PI2 / s1->sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(bw, sr);
-    switch (interp_desc) {
-      case INTERP_sn: /* handled below */
-      case INTERP_ss: /* handled below */
-      case INTERP_nn: /* handled below */
-      case INTERP_ns: susp->susp.fetch = resoncv_ns_fetch; break;
-      case INTERP_si: /* handled below */
-      case INTERP_ni: susp->susp.fetch = resoncv_ni_fetch; break;
-      case INTERP_sr: /* handled below */
-      case INTERP_nr: susp->susp.fetch = resoncv_nr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < bw->t0) sound_prepend_zeros(bw, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(bw->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = resoncv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = resoncv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = resoncv_mark;
-    susp->susp.print_tree = resoncv_print_tree;
-    susp->susp.name = "resoncv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->bw = bw;
-    susp->bw_cnt = 0;
-    susp->bw_pHaSe = 0.0;
-    susp->bw_pHaSe_iNcR = bw->sr / sr;
-    susp->bw_n = 0;
-    susp->output_per_bw = sr / bw->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_resoncv(sound_type s1, double hz, sound_type bw, int normalization)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type bw_copy = sound_copy(bw);
-    return snd_make_resoncv(s1_copy, hz, bw_copy, normalization);
-}
diff --git a/lib-src/libnyquist/tran/resoncv.h b/lib-src/libnyquist/tran/resoncv.h
deleted file mode 100644
index 57bbf60..0000000
--- a/lib-src/libnyquist/tran/resoncv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_resoncv(sound_type s1, double hz, sound_type bw, int normalization);
-sound_type snd_resoncv(sound_type s1, double hz, sound_type bw, int normalization);
-    /* LISP: (snd-resoncv SOUND ANYNUM SOUND FIXNUM) */
diff --git a/lib-src/libnyquist/tran/resonvc.alg b/lib-src/libnyquist/tran/resonvc.alg
deleted file mode 100644
index 74945b8..0000000
--- a/lib-src/libnyquist/tran/resonvc.alg
+++ /dev/null
@@ -1,33 +0,0 @@
-(RESONVC-ALG
-(NAME "resonvc")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz") ("double" "bw")
-           ("int" "normalization"))
-(INLINE-INTERPOLATION T)
-(INTERNAL-SCALING s1)
-(ALWAYS-SCALE hz)
-(START (MAX s1 hz))
-(TERMINATE (MIN s1 hz))
-(LOGICAL-STOP (MIN s1))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION hz)
-(STATE ("double" "scale1" "s1->scale")
-       ("double" "c3co" "exp(bw * -PI2 / s1->sr)")
-       ("double" "c3p1" "susp->c3co + 1.0")
-       ("double" "c3t4" "susp->c3co * 4.0")
-       ("double" "omc3" "1.0 - susp->c3co")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("int" "normalization" "normalization")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr))"))
-(DEPENDS ("c2" "hz" "c3t4 * cos(hz) / c3p1")
-         ("c1" "hz" "(normalization == 0 ? scale1 :
-          (normalization == 1 ? omc3 * sqrt(1.0 - c2 * c2 / c3t4) :
-              sqrt(c3p1 * c3p1 - c2 * c2) * omc3 / c3p1)) * scale1"))
-(CONSTANT "c1" "c2" "c3co" "c3p1" "c3t4" "omc3" "normalization" "scale1")
-(FORCE-INTO-REGISTER c3t4 c3p1 normalization omc3 scale1)
-(INNER-LOOP "{ double y0 = c1 * s1 + c2 * y1 - c3co * y2;
-            output = (sample_type) y0;
-            y2 = y1; y1 = y0; }")
-)
diff --git a/lib-src/libnyquist/tran/resonvc.c b/lib-src/libnyquist/tran/resonvc.c
deleted file mode 100644
index d676293..0000000
--- a/lib-src/libnyquist/tran/resonvc.c
+++ /dev/null
@@ -1,588 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "resonvc.h"
-
-void resonvc_free();
-
-
-typedef struct resonvc_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type hz;
-    long hz_cnt;
-    sample_block_values_type hz_ptr;
-
-    /* support for interpolation of hz */
-    sample_type hz_x1_sample;
-    double hz_pHaSe;
-    double hz_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz */
-    double output_per_hz;
-    long hz_n;
-
-    double scale1;
-    double c3co;
-    double c3p1;
-    double c3t4;
-    double omc3;
-    double c2;
-    double c1;
-    int normalization;
-    double y1;
-    double y2;
-} resonvc_susp_node, *resonvc_susp_type;
-
-
-void resonvc_ns_fetch(register resonvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type hz_scale_reg = susp->hz->scale;
-    register sample_block_values_type hz_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvc_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz input sample block: */
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	togo = MIN(togo, susp->hz_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz_ptr_reg = susp->hz_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    c2_reg = c3t4_reg * cos((hz_scale_reg * *hz_ptr_reg++)) / c3p1_reg;
-	    c1_reg = (normalization_reg == 0 ? scale1_reg :
-          (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-              sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using hz_ptr_reg is a bad idea on RS/6000: */
-	susp->hz_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvc_ns_fetch */
-
-
-void resonvc_ni_fetch(register resonvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double hz_pHaSe_iNcR_rEg = susp->hz_pHaSe_iNcR;
-    register double hz_pHaSe_ReG;
-    register sample_type hz_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvc_ni_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	susp->c2 = susp->c3t4 * cos(susp->hz_x1_sample) / susp->c3p1;
-	susp->c1 = (susp->normalization == 0 ? susp->scale1 :
-          (susp->normalization == 1 ? susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-              sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1)) * susp->scale1;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz_pHaSe_ReG = susp->hz_pHaSe;
-	hz_x1_sample_reg = susp->hz_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz */
-		/* pick up next sample as hz_x1_sample: */
-		susp->hz_ptr++;
-		susp_took(hz_cnt, 1);
-		hz_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz, hz_ptr, hz_cnt, hz_x1_sample_reg);
-		hz_x1_sample_reg = susp_current_sample(hz, hz_ptr);
-		c2_reg = susp->c2 = c3t4_reg * cos(hz_x1_sample_reg) / c3p1_reg;
-		c1_reg = susp->c1 = (normalization_reg == 0 ? scale1_reg :
-          (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-              sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz_pHaSe_ReG += hz_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->hz_pHaSe = hz_pHaSe_ReG;
-	susp->hz_x1_sample = hz_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvc_ni_fetch */
-
-
-void resonvc_nr_fetch(register resonvc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvc_nr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz_x1_sample when phase goes past 1.0; */
-	/* use hz_n (computed below) to avoid roundoff errors: */
-	if (susp->hz_n <= 0) {
-	    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	    susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	    susp->hz_pHaSe -= 1.0;
-	    /* hz_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz_n = (long) ((1.0 - susp->hz_pHaSe) *
-					susp->output_per_hz);
-	    susp->c2 = susp->c3t4 * cos(susp->hz_x1_sample) / susp->c3p1;
-	    susp->c1 = (susp->normalization == 0 ? susp->scale1 :
-          (susp->normalization == 1 ? susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-              sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1)) * susp->scale1;
-	}
-	togo = MIN(togo, susp->hz_n);
-	hz_val = susp->hz_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz_pHaSe += togo * susp->hz_pHaSe_iNcR;
-	susp->hz_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvc_nr_fetch */
-
-
-void resonvc_toss_fetch(susp, snd_list)
-  register resonvc_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from hz up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz->t0) * susp->hz->sr)) >=
-	   susp->hz->current)
-	susp_get_samples(hz, hz_ptr, hz_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->hz->t0) * susp->hz->sr -
-         (susp->hz->current - susp->hz_cnt));
-    susp->hz_ptr += n;
-    susp_took(hz_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void resonvc_mark(resonvc_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->hz);
-}
-
-
-void resonvc_free(resonvc_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->hz);
-    ffree_generic(susp, sizeof(resonvc_susp_node), "resonvc_free");
-}
-
-
-void resonvc_print_tree(resonvc_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("hz:");
-    sound_print_tree_1(susp->hz, n);
-}
-
-
-sound_type snd_make_resonvc(sound_type s1, sound_type hz, double bw, int normalization)
-{
-    register resonvc_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, hz->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, resonvc_susp_node, "snd_make_resonvc");
-    susp->scale1 = s1->scale;
-    susp->c3co = exp(bw * -PI2 / s1->sr);
-    susp->c3p1 = susp->c3co + 1.0;
-    susp->c3t4 = susp->c3co * 4.0;
-    susp->omc3 = 1.0 - susp->c3co;
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->normalization = normalization;
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz, sr);
-    switch (interp_desc) {
-      case INTERP_sn: /* handled below */
-      case INTERP_ss: /* handled below */
-      case INTERP_nn: /* handled below */
-      case INTERP_ns: susp->susp.fetch = resonvc_ns_fetch; break;
-      case INTERP_si: /* handled below */
-      case INTERP_ni: susp->susp.fetch = resonvc_ni_fetch; break;
-      case INTERP_sr: /* handled below */
-      case INTERP_nr: susp->susp.fetch = resonvc_nr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < hz->t0) sound_prepend_zeros(hz, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(hz->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = resonvc_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = resonvc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = resonvc_mark;
-    susp->susp.print_tree = resonvc_print_tree;
-    susp->susp.name = "resonvc";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->hz = hz;
-    susp->hz_cnt = 0;
-    susp->hz_pHaSe = 0.0;
-    susp->hz_pHaSe_iNcR = hz->sr / sr;
-    susp->hz_n = 0;
-    susp->output_per_hz = sr / hz->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_resonvc(sound_type s1, sound_type hz, double bw, int normalization)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type hz_copy = sound_copy(hz);
-    return snd_make_resonvc(s1_copy, hz_copy, bw, normalization);
-}
diff --git a/lib-src/libnyquist/tran/resonvc.h b/lib-src/libnyquist/tran/resonvc.h
deleted file mode 100644
index b7b5d84..0000000
--- a/lib-src/libnyquist/tran/resonvc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_resonvc(sound_type s1, sound_type hz, double bw, int normalization);
-sound_type snd_resonvc(sound_type s1, sound_type hz, double bw, int normalization);
-    /* LISP: (snd-resonvc SOUND SOUND ANYNUM FIXNUM) */
diff --git a/lib-src/libnyquist/tran/resonvv.alg b/lib-src/libnyquist/tran/resonvv.alg
deleted file mode 100644
index 4f6f429..0000000
--- a/lib-src/libnyquist/tran/resonvv.alg
+++ /dev/null
@@ -1,47 +0,0 @@
-(RESONVV-ALG
-(NAME "resonvv")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz1") ("sound_type" "bw")
-           ("int" "normalization"))
-(INLINE-INTERPOLATION T)
-(ALWAYS-SCALE hz1 bw)
-(START (MAX s1 hz1 bw))
-(TERMINATE (MIN s1 hz1 bw))
-(LOGICAL-STOP (MIN s1))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION hz1 bw)
-(STATE ("double" "scale1" "s1->scale")
-       ("double" "c3co" "0.0")
-       ("double" "c3p1" "0.0")
-       ("double" "c3t4" "0.0")
-       ("double" "omc3" "0.0")
-       ("double" "coshz" "0.0")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("boolean" "recompute" "false")
-       ("int" "normalization" "normalization")
-       ("double" "y1" "0.0")
-       ("double" "y2" "0.0;
-    hz1->scale = (sample_type) (hz1->scale * (PI2 / s1->sr));
-    bw->scale = (sample_type) (bw->scale * (-PI2 / s1->sr));"))
-(DEPENDS ("c3co"  "bw" "exp(bw)")
-         ("c3p1"  "bw" "c3co + 1.0")
-          ("c3t4"  "bw" "c3co * 4.0")
-         ("omc3"  "bw" "1.0 - c3co")
-         ("recompute" "bw" "true")
-         ("coshz" "hz1" "cos(hz1)")
-         ("recompute" "hz1" "true"))
-(JOINT-DEPENDENCY (("hz1" "bw")
-"if (recompute) {"
-"    recompute = false;"
-"    c2 = c3t4 * coshz / c3p1;"
-"    c1 = (normalization == 0 ? 1.0 :"
-"          (normalization == 1 ? omc3 * sqrt(1.0 - c2 * c2 / c3t4) :"
-"           sqrt(c3p1 * c3p1 - c2 * c2) * omc3 / c3p1)) * scale1;"
-"}"))
-(CONSTANT "c1" "c2" "c3co" "coshz" "c3p1" "c3t4" "omc3" 
-          "normalization" "scale1")
-(FORCE-INTO-REGISTER recompute) ;c3t4 c3p1 normalization omc3 scale1
-(INNER-LOOP "{ double y0 = c1 * s1 + c2 * y1 - c3co * y2;
-            output = (sample_type) y0;
-            y2 = y1; y1 = y0; }")
-)
diff --git a/lib-src/libnyquist/tran/resonvv.c b/lib-src/libnyquist/tran/resonvv.c
deleted file mode 100644
index 9958117..0000000
--- a/lib-src/libnyquist/tran/resonvv.c
+++ /dev/null
@@ -1,3251 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "resonvv.h"
-
-void resonvv_free();
-
-
-typedef struct resonvv_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type hz1;
-    long hz1_cnt;
-    sample_block_values_type hz1_ptr;
-
-    /* support for interpolation of hz1 */
-    sample_type hz1_x1_sample;
-    double hz1_pHaSe;
-    double hz1_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz1 */
-    double output_per_hz1;
-    long hz1_n;
-    sound_type bw;
-    long bw_cnt;
-    sample_block_values_type bw_ptr;
-
-    /* support for interpolation of bw */
-    sample_type bw_x1_sample;
-    double bw_pHaSe;
-    double bw_pHaSe_iNcR;
-
-    /* support for ramp between samples of bw */
-    double output_per_bw;
-    long bw_n;
-
-    double scale1;
-    double c3co;
-    double c3p1;
-    double c3t4;
-    double omc3;
-    double coshz;
-    double c2;
-    double c1;
-    boolean recompute;
-    int normalization;
-    double y1;
-    double y2;
-} resonvv_susp_node, *resonvv_susp_type;
-
-
-void resonvv_nss_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nss_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nss_fetch */
-
-
-void resonvv_nsi_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nsi_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nsi_fetch */
-
-
-void resonvv_nsr_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nsr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nsr_fetch */
-
-
-void resonvv_nis_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nis_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nis_fetch */
-
-
-void resonvv_nii_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nii_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nii_fetch */
-
-
-void resonvv_nir_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nir_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nir_fetch */
-
-
-void resonvv_nrs_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nrs_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nrs_fetch */
-
-
-void resonvv_nri_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nri_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nri_fetch */
-
-
-void resonvv_nrr_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_nrr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	if (susp->recompute) {
-	    susp->recompute = false;
-	    susp->c2 = susp->c3t4 * susp->coshz / susp->c3p1;
-	    susp->c1 = (susp->normalization == 0 ? 1.0 :
-	          (susp->normalization == 1 ? susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-	           sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1)) * susp->scale1;
-	}
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ double y0 = c1_reg * *s1_ptr_reg++ + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_nrr_fetch */
-
-
-void resonvv_sss_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_sss_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_sss_fetch */
-
-
-void resonvv_ssi_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_ssi_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_ssi_fetch */
-
-
-void resonvv_ssr_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type hz1_scale_reg = susp->hz1->scale;
-    register sample_block_values_type hz1_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_ssr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz1 input sample block: */
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	togo = MIN(togo, susp->hz1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz1_ptr_reg = susp->hz1_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    coshz_reg = cos((hz1_scale_reg * *hz1_ptr_reg++));
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using hz1_ptr_reg is a bad idea on RS/6000: */
-	susp->hz1_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_ssr_fetch */
-
-
-void resonvv_sis_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_sis_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_sis_fetch */
-
-
-void resonvv_sii_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_sii_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_sii_fetch */
-
-
-void resonvv_sir_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double hz1_pHaSe_iNcR_rEg = susp->hz1_pHaSe_iNcR;
-    register double hz1_pHaSe_ReG;
-    register sample_type hz1_x1_sample_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_sir_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	susp->coshz = cos(susp->hz1_x1_sample);
-	susp->recompute = true;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	hz1_pHaSe_ReG = susp->hz1_pHaSe;
-	hz1_x1_sample_reg = susp->hz1_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz1_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz1 */
-		/* pick up next sample as hz1_x1_sample: */
-		susp->hz1_ptr++;
-		susp_took(hz1_cnt, 1);
-		hz1_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz1, hz1_ptr, hz1_cnt, hz1_x1_sample_reg);
-		hz1_x1_sample_reg = susp_current_sample(hz1, hz1_ptr);
-		coshz_reg = susp->coshz = cos(hz1_x1_sample_reg);
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    hz1_pHaSe_ReG += hz1_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->hz1_pHaSe = hz1_pHaSe_ReG;
-	susp->hz1_x1_sample = hz1_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_sir_fetch */
-
-
-void resonvv_srs_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type bw_scale_reg = susp->bw->scale;
-    register sample_block_values_type bw_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_srs_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* don't run past the bw input sample block: */
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	togo = MIN(togo, susp->bw_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_ptr_reg = susp->bw_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    c3co_reg = exp((bw_scale_reg * *bw_ptr_reg++));
-	    c3p1_reg = c3co_reg + 1.0;
-	    c3t4_reg = c3co_reg * 4.0;
-	    omc3_reg = 1.0 - c3co_reg;
-	    recompute_reg = true;
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using bw_ptr_reg is a bad idea on RS/6000: */
-	susp->bw_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	susp_took(bw_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_srs_fetch */
-
-
-void resonvv_sri_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c3co_reg;
-    register double c3p1_reg;
-    register double c3t4_reg;
-    register double omc3_reg;
-    register double coshz_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register int normalization_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register double bw_pHaSe_iNcR_rEg = susp->bw_pHaSe_iNcR;
-    register double bw_pHaSe_ReG;
-    register sample_type bw_x1_sample_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_sri_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-	susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	susp->c3co = exp(susp->bw_x1_sample);
-	susp->c3p1 = susp->c3co + 1.0;
-	susp->c3t4 = susp->c3co * 4.0;
-	susp->omc3 = 1.0 - susp->c3co;
-	susp->recompute = true;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c3co_reg = susp->c3co;
-	c3p1_reg = susp->c3p1;
-	c3t4_reg = susp->c3t4;
-	omc3_reg = susp->omc3;
-	coshz_reg = susp->coshz;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	normalization_reg = susp->normalization;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	bw_pHaSe_ReG = susp->bw_pHaSe;
-	bw_x1_sample_reg = susp->bw_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (bw_pHaSe_ReG >= 1.0) {
-/* fixup-depends bw */
-		/* pick up next sample as bw_x1_sample: */
-		susp->bw_ptr++;
-		susp_took(bw_cnt, 1);
-		bw_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(bw, bw_ptr, bw_cnt, bw_x1_sample_reg);
-		bw_x1_sample_reg = susp_current_sample(bw, bw_ptr);
-		c3co_reg = susp->c3co = exp(bw_x1_sample_reg);
-		c3p1_reg = susp->c3p1 = c3co_reg + 1.0;
-		c3t4_reg = susp->c3t4 = c3co_reg * 4.0;
-		omc3_reg = susp->omc3 = 1.0 - c3co_reg;
-		recompute_reg = susp->recompute = true;
-	    }
-	    if (recompute_reg) {
-	        recompute_reg = false;
-	        c2_reg = c3t4_reg * coshz_reg / c3p1_reg;
-	        c1_reg = (normalization_reg == 0 ? 1.0 :
-	              (normalization_reg == 1 ? omc3_reg * sqrt(1.0 - c2_reg * c2_reg / c3t4_reg) :
-	               sqrt(c3p1_reg * c3p1_reg - c2_reg * c2_reg) * omc3_reg / c3p1_reg)) * scale1_reg;
-	    }
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	    bw_pHaSe_ReG += bw_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	susp->bw_pHaSe = bw_pHaSe_ReG;
-	susp->bw_x1_sample = bw_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_sri_fetch */
-
-
-void resonvv_srr_fetch(register resonvv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz1_val;
-    sample_type bw_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c3co_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register boolean recompute_reg;
-    register double y1_reg;
-    register double y2_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "resonvv_srr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz1_pHaSe = 1.0;
-	susp->bw_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-
-    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz1_x1_sample when phase goes past 1.0; */
-	/* use hz1_n (computed below) to avoid roundoff errors: */
-	if (susp->hz1_n <= 0) {
-	    susp_check_term_samples(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_x1_sample = susp_fetch_sample(hz1, hz1_ptr, hz1_cnt);
-	    susp->hz1_pHaSe -= 1.0;
-	    /* hz1_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz1_n = (long) ((1.0 - susp->hz1_pHaSe) *
-					susp->output_per_hz1);
-	    susp->coshz = cos(susp->hz1_x1_sample);
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->hz1_n);
-	hz1_val = susp->hz1_x1_sample;
-	/* grab next bw_x1_sample when phase goes past 1.0; */
-	/* use bw_n (computed below) to avoid roundoff errors: */
-	if (susp->bw_n <= 0) {
-	    susp_check_term_samples(bw, bw_ptr, bw_cnt);
-	    susp->bw_x1_sample = susp_fetch_sample(bw, bw_ptr, bw_cnt);
-	    susp->bw_pHaSe -= 1.0;
-	    /* bw_n gets number of samples before phase exceeds 1.0: */
-	    susp->bw_n = (long) ((1.0 - susp->bw_pHaSe) *
-					susp->output_per_bw);
-	    susp->c3co = exp(susp->bw_x1_sample);
-	    susp->c3p1 = susp->c3co + 1.0;
-	    susp->c3t4 = susp->c3co * 4.0;
-	    susp->omc3 = 1.0 - susp->c3co;
-	    susp->recompute = true;
-	}
-	togo = MIN(togo, susp->bw_n);
-	bw_val = susp->bw_x1_sample;
-	if (susp->recompute) {
-	    susp->recompute = false;
-	    susp->c2 = susp->c3t4 * susp->coshz / susp->c3p1;
-	    susp->c1 = (susp->normalization == 0 ? 1.0 :
-	          (susp->normalization == 1 ? susp->omc3 * sqrt(1.0 - susp->c2 * susp->c2 / susp->c3t4) :
-	           sqrt(susp->c3p1 * susp->c3p1 - susp->c2 * susp->c2) * susp->omc3 / susp->c3p1)) * susp->scale1;
-	}
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c3co_reg = susp->c3co;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	recompute_reg = susp->recompute;
-	y1_reg = susp->y1;
-	y2_reg = susp->y2;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ double y0 = c1_reg * (s1_scale_reg * *s1_ptr_reg++) + c2_reg * y1_reg - c3co_reg * y2_reg;
-            *out_ptr_reg++ = (sample_type) y0;
-            y2_reg = y1_reg; y1_reg = y0; };
-	} while (--n); /* inner loop */
-
-	susp->recompute = recompute_reg;
-	susp->y1 = y1_reg;
-	susp->y2 = y2_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz1_pHaSe += togo * susp->hz1_pHaSe_iNcR;
-	susp->hz1_n -= togo;
-	susp->bw_pHaSe += togo * susp->bw_pHaSe_iNcR;
-	susp->bw_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* resonvv_srr_fetch */
-
-
-void resonvv_toss_fetch(susp, snd_list)
-  register resonvv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from hz1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz1->t0) * susp->hz1->sr)) >=
-	   susp->hz1->current)
-	susp_get_samples(hz1, hz1_ptr, hz1_cnt);
-    /* fetch samples from bw up to final_time for this block of zeros */
-    while ((round((final_time - susp->bw->t0) * susp->bw->sr)) >=
-	   susp->bw->current)
-	susp_get_samples(bw, bw_ptr, bw_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->hz1->t0) * susp->hz1->sr -
-         (susp->hz1->current - susp->hz1_cnt));
-    susp->hz1_ptr += n;
-    susp_took(hz1_cnt, n);
-    n = round((final_time - susp->bw->t0) * susp->bw->sr -
-         (susp->bw->current - susp->bw_cnt));
-    susp->bw_ptr += n;
-    susp_took(bw_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void resonvv_mark(resonvv_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->hz1);
-    sound_xlmark(susp->bw);
-}
-
-
-void resonvv_free(resonvv_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->hz1);
-    sound_unref(susp->bw);
-    ffree_generic(susp, sizeof(resonvv_susp_node), "resonvv_free");
-}
-
-
-void resonvv_print_tree(resonvv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("hz1:");
-    sound_print_tree_1(susp->hz1, n);
-
-    indent(n);
-    stdputstr("bw:");
-    sound_print_tree_1(susp->bw, n);
-}
-
-
-sound_type snd_make_resonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization)
-{
-    register resonvv_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(MAX(s1->t0, hz1->t0), bw->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, resonvv_susp_node, "snd_make_resonvv");
-    susp->scale1 = s1->scale;
-    susp->c3co = 0.0;
-    susp->c3p1 = 0.0;
-    susp->c3t4 = 0.0;
-    susp->omc3 = 0.0;
-    susp->coshz = 0.0;
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->recompute = false;
-    susp->normalization = normalization;
-    susp->y1 = 0.0;
-    susp->y2 = 0.0;
-    hz1->scale = (sample_type) (hz1->scale * (PI2 / s1->sr));
-    bw->scale = (sample_type) (bw->scale * (-PI2 / s1->sr));;
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(bw, sr);
-    switch (interp_desc) {
-      case INTERP_nnn: /* handled below */
-      case INTERP_nns: /* handled below */
-      case INTERP_nsn: /* handled below */
-      case INTERP_nss: susp->susp.fetch = resonvv_nss_fetch; break;
-      case INTERP_nni: /* handled below */
-      case INTERP_nsi: susp->susp.fetch = resonvv_nsi_fetch; break;
-      case INTERP_nnr: /* handled below */
-      case INTERP_nsr: susp->susp.fetch = resonvv_nsr_fetch; break;
-      case INTERP_nin: /* handled below */
-      case INTERP_nis: susp->susp.fetch = resonvv_nis_fetch; break;
-      case INTERP_nii: susp->susp.fetch = resonvv_nii_fetch; break;
-      case INTERP_nir: susp->susp.fetch = resonvv_nir_fetch; break;
-      case INTERP_nrn: /* handled below */
-      case INTERP_nrs: susp->susp.fetch = resonvv_nrs_fetch; break;
-      case INTERP_nri: susp->susp.fetch = resonvv_nri_fetch; break;
-      case INTERP_nrr: susp->susp.fetch = resonvv_nrr_fetch; break;
-      case INTERP_snn: /* handled below */
-      case INTERP_sns: /* handled below */
-      case INTERP_ssn: /* handled below */
-      case INTERP_sss: susp->susp.fetch = resonvv_sss_fetch; break;
-      case INTERP_sni: /* handled below */
-      case INTERP_ssi: susp->susp.fetch = resonvv_ssi_fetch; break;
-      case INTERP_snr: /* handled below */
-      case INTERP_ssr: susp->susp.fetch = resonvv_ssr_fetch; break;
-      case INTERP_sin: /* handled below */
-      case INTERP_sis: susp->susp.fetch = resonvv_sis_fetch; break;
-      case INTERP_sii: susp->susp.fetch = resonvv_sii_fetch; break;
-      case INTERP_sir: susp->susp.fetch = resonvv_sir_fetch; break;
-      case INTERP_srn: /* handled below */
-      case INTERP_srs: susp->susp.fetch = resonvv_srs_fetch; break;
-      case INTERP_sri: susp->susp.fetch = resonvv_sri_fetch; break;
-      case INTERP_srr: susp->susp.fetch = resonvv_srr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < hz1->t0) sound_prepend_zeros(hz1, t0);
-    if (t0 < bw->t0) sound_prepend_zeros(bw, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(hz1->t0, MIN(bw->t0, t0)));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = resonvv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = resonvv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = resonvv_mark;
-    susp->susp.print_tree = resonvv_print_tree;
-    susp->susp.name = "resonvv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->hz1 = hz1;
-    susp->hz1_cnt = 0;
-    susp->hz1_pHaSe = 0.0;
-    susp->hz1_pHaSe_iNcR = hz1->sr / sr;
-    susp->hz1_n = 0;
-    susp->output_per_hz1 = sr / hz1->sr;
-    susp->bw = bw;
-    susp->bw_cnt = 0;
-    susp->bw_pHaSe = 0.0;
-    susp->bw_pHaSe_iNcR = bw->sr / sr;
-    susp->bw_n = 0;
-    susp->output_per_bw = sr / bw->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_resonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type hz1_copy = sound_copy(hz1);
-    sound_type bw_copy = sound_copy(bw);
-    return snd_make_resonvv(s1_copy, hz1_copy, bw_copy, normalization);
-}
diff --git a/lib-src/libnyquist/tran/resonvv.h b/lib-src/libnyquist/tran/resonvv.h
deleted file mode 100644
index f1fee48..0000000
--- a/lib-src/libnyquist/tran/resonvv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_resonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization);
-sound_type snd_resonvv(sound_type s1, sound_type hz1, sound_type bw, int normalization);
-    /* LISP: (snd-resonvv SOUND SOUND SOUND FIXNUM) */
diff --git a/lib-src/libnyquist/tran/sampler.alg b/lib-src/libnyquist/tran/sampler.alg
deleted file mode 100644
index cc5fad7..0000000
--- a/lib-src/libnyquist/tran/sampler.alg
+++ /dev/null
@@ -1,49 +0,0 @@
-(SAMPLER-ALG
-(NAME "sampler")
-(ARGUMENTS ("sound_type" "s") ("double" "step") ("double" "loop_start") 
-        ("rate_type" "sr") ("double" "hz") ("time_type" "t0") ("sound_type" "s_fm")
-        ("long" "npoints"))
-(TABLE "s")
-(NOT-IN-INNER-LOOP "s")
-(STATE 
-       ("double" "loop_to" "loop_start * s->sr")
-       ("table_type" "the_table" "sound_to_table(s)")
-       ("sample_type *" "table_ptr" "susp->the_table->samples")
-       ("double" "table_len" "susp->the_table->length;
-    { long index = (long) susp->loop_to;
-      double frac = susp->loop_to - index;
-      if (index > round(susp->table_len) ||
-          index < 0) {
-          index = 0;
-          frac = 0;
-      }
-      susp->table_ptr[round(susp->table_len)] = /* copy interpolated start to last entry */
-          (sample_type) (susp->table_ptr[index] * (1.0 - frac) + 
-                         susp->table_ptr[index + 1] * frac);}")
-       ("double" "phase" "0.0")
-       ("double" "ph_incr" "(s->sr / sr) * hz / step_to_hz(step);
-    s_fm->scale = (sample_type) (s_fm->scale * (susp->ph_incr / hz))") )
-
-(ALWAYS-SCALE s_fm)
-(INLINE-INTERPOLATION T) ; so that modulation can be low frequency
-(STEP-FUNCTION s_fm)
-(TERMINATE (MIN s_fm))
-(LOGICAL-STOP (MIN s_fm))
-(INNER-LOOP-LOCALS "	    long table_index;
-            double x1;
-")
-(INNER-LOOP "table_index = (long) phase;
-            x1 = table_ptr[table_index];
-            output = (sample_type) (x1 + (phase - table_index) * 
-                          (table_ptr[table_index + 1] - x1));
-            phase += ph_incr + s_fm;
-            while (phase > table_len) phase -= (table_len - loop_to);
-            /* watch out for negative frequencies! */
-            if (phase < 0) phase = 0")
-(CONSTANT "ph_incr" "table_len" "table_ptr" "loop_to")
-
-(SAMPLE-RATE "sr")
-(FINALIZATION "    table_unref(susp->the_table);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/sampler.c b/lib-src/libnyquist/tran/sampler.c
deleted file mode 100644
index 7ec01d8..0000000
--- a/lib-src/libnyquist/tran/sampler.c
+++ /dev/null
@@ -1,510 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "sampler.h"
-
-void sampler_free();
-
-
-typedef struct sampler_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s_fm;
-    long s_fm_cnt;
-    sample_block_values_type s_fm_ptr;
-
-    /* support for interpolation of s_fm */
-    sample_type s_fm_x1_sample;
-    double s_fm_pHaSe;
-    double s_fm_pHaSe_iNcR;
-
-    /* support for ramp between samples of s_fm */
-    double output_per_s_fm;
-    long s_fm_n;
-
-    double loop_to;
-    table_type the_table;
-    sample_type *table_ptr;
-    double table_len;
-    double phase;
-    double ph_incr;
-} sampler_susp_node, *sampler_susp_type;
-
-
-void sampler_s_fetch(register sampler_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double loop_to_reg;
-    register sample_type * table_ptr_reg;
-    register double table_len_reg;
-    register double phase_reg;
-    register double ph_incr_reg;
-    register sample_type s_fm_scale_reg = susp->s_fm->scale;
-    register sample_block_values_type s_fm_ptr_reg;
-    falloc_sample_block(out, "sampler_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s_fm input sample block: */
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	togo = MIN(togo, susp->s_fm_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	loop_to_reg = susp->loop_to;
-	table_ptr_reg = susp->table_ptr;
-	table_len_reg = susp->table_len;
-	phase_reg = susp->phase;
-	ph_incr_reg = susp->ph_incr;
-	s_fm_ptr_reg = susp->s_fm_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-table_index = (long) phase_reg;
-            x1 = table_ptr_reg[table_index];
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1));
-            phase_reg += ph_incr_reg + (s_fm_scale_reg * *s_fm_ptr_reg++);
-            while (phase_reg > table_len_reg) phase_reg -= (table_len_reg - loop_to_reg);
-            /* watch out for negative frequencies! */
-            if (phase_reg < 0) phase_reg = 0;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	/* using s_fm_ptr_reg is a bad idea on RS/6000: */
-	susp->s_fm_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_fm_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* sampler_s_fetch */
-
-
-void sampler_i_fetch(register sampler_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double loop_to_reg;
-    register sample_type * table_ptr_reg;
-    register double table_len_reg;
-    register double phase_reg;
-    register double ph_incr_reg;
-    register double s_fm_pHaSe_iNcR_rEg = susp->s_fm_pHaSe_iNcR;
-    register double s_fm_pHaSe_ReG;
-    register sample_type s_fm_x1_sample_reg;
-    falloc_sample_block(out, "sampler_i_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	loop_to_reg = susp->loop_to;
-	table_ptr_reg = susp->table_ptr;
-	table_len_reg = susp->table_len;
-	phase_reg = susp->phase;
-	ph_incr_reg = susp->ph_incr;
-	s_fm_pHaSe_ReG = susp->s_fm_pHaSe;
-	s_fm_x1_sample_reg = susp->s_fm_x1_sample;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-	    if (s_fm_pHaSe_ReG >= 1.0) {
-/* fixup-depends s_fm */
-		/* pick up next sample as s_fm_x1_sample: */
-		susp->s_fm_ptr++;
-		susp_took(s_fm_cnt, 1);
-		s_fm_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(s_fm, s_fm_ptr, s_fm_cnt, s_fm_x1_sample_reg);
-		s_fm_x1_sample_reg = susp_current_sample(s_fm, s_fm_ptr);
-	    }
-table_index = (long) phase_reg;
-            x1 = table_ptr_reg[table_index];
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1));
-            phase_reg += ph_incr_reg + s_fm_x1_sample_reg;
-            while (phase_reg > table_len_reg) phase_reg -= (table_len_reg - loop_to_reg);
-            /* watch out for negative frequencies! */
-            if (phase_reg < 0) phase_reg = 0;
-	    s_fm_pHaSe_ReG += s_fm_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->phase = phase_reg;
-	susp->s_fm_pHaSe = s_fm_pHaSe_ReG;
-	susp->s_fm_x1_sample = s_fm_x1_sample_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* sampler_i_fetch */
-
-
-void sampler_r_fetch(register sampler_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type s_fm_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double loop_to_reg;
-    register sample_type * table_ptr_reg;
-    register double table_len_reg;
-    register double phase_reg;
-    register double ph_incr_reg;
-    falloc_sample_block(out, "sampler_r_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->s_fm_pHaSe = 1.0;
-    }
-
-    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* grab next s_fm_x1_sample when phase goes past 1.0; */
-	/* use s_fm_n (computed below) to avoid roundoff errors: */
-	if (susp->s_fm_n <= 0) {
-	    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_pHaSe -= 1.0;
-	    /* s_fm_n gets number of samples before phase exceeds 1.0: */
-	    susp->s_fm_n = (long) ((1.0 - susp->s_fm_pHaSe) *
-					susp->output_per_s_fm);
-	}
-	togo = MIN(togo, susp->s_fm_n);
-	s_fm_val = susp->s_fm_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	loop_to_reg = susp->loop_to;
-	table_ptr_reg = susp->table_ptr;
-	table_len_reg = susp->table_len;
-	phase_reg = susp->phase;
-	ph_incr_reg = susp->ph_incr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double x1;
-table_index = (long) phase_reg;
-            x1 = table_ptr_reg[table_index];
-            *out_ptr_reg++ = (sample_type) (x1 + (phase_reg - table_index) * 
-                          (table_ptr_reg[table_index + 1] - x1));
-            phase_reg += ph_incr_reg + s_fm_val;
-            while (phase_reg > table_len_reg) phase_reg -= (table_len_reg - loop_to_reg);
-            /* watch out for negative frequencies! */
-            if (phase_reg < 0) phase_reg = 0;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	out_ptr += togo;
-	susp->s_fm_pHaSe += togo * susp->s_fm_pHaSe_iNcR;
-	susp->s_fm_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* sampler_r_fetch */
-
-
-void sampler_toss_fetch(susp, snd_list)
-  register sampler_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s_fm up to final_time for this block of zeros */
-    while ((round((final_time - susp->s_fm->t0) * susp->s_fm->sr)) >=
-	   susp->s_fm->current)
-	susp_get_samples(s_fm, s_fm_ptr, s_fm_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s_fm->t0) * susp->s_fm->sr -
-         (susp->s_fm->current - susp->s_fm_cnt));
-    susp->s_fm_ptr += n;
-    susp_took(s_fm_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void sampler_mark(sampler_susp_type susp)
-{
-    sound_xlmark(susp->s_fm);
-}
-
-
-void sampler_free(sampler_susp_type susp)
-{
-    table_unref(susp->the_table);
-    sound_unref(susp->s_fm);
-    ffree_generic(susp, sizeof(sampler_susp_node), "sampler_free");
-}
-
-
-void sampler_print_tree(sampler_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s_fm:");
-    sound_print_tree_1(susp->s_fm, n);
-}
-
-
-sound_type snd_make_sampler(sound_type s, double step, double loop_start, rate_type sr, double hz, time_type t0, sound_type s_fm, long npoints)
-{
-    register sampler_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, sampler_susp_node, "snd_make_sampler");
-    susp->loop_to = loop_start * s->sr;
-    susp->the_table = sound_to_table(s);
-    susp->table_ptr = susp->the_table->samples;
-    susp->table_len = susp->the_table->length;
-    { long index = (long) susp->loop_to;
-      double frac = susp->loop_to - index;
-      if (index > round(susp->table_len) ||
-          index < 0) {
-          index = 0;
-          frac = 0;
-      }
-      susp->table_ptr[round(susp->table_len)] = /* copy interpolated start to last entry */
-          (sample_type) (susp->table_ptr[index] * (1.0 - frac) + 
-                         susp->table_ptr[index + 1] * frac);};
-    susp->phase = 0.0;
-    susp->ph_incr = (s->sr / sr) * hz / step_to_hz(step);
-    s_fm->scale = (sample_type) (s_fm->scale * (susp->ph_incr / hz));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s_fm, sr);
-    switch (interp_desc) {
-      case INTERP_n: /* handled below */
-      case INTERP_s: susp->susp.fetch = sampler_s_fetch; break;
-      case INTERP_i: susp->susp.fetch = sampler_i_fetch; break;
-      case INTERP_r: susp->susp.fetch = sampler_r_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s_fm->t0) sound_prepend_zeros(s_fm, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s_fm->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = sampler_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = sampler_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = sampler_mark;
-    susp->susp.print_tree = sampler_print_tree;
-    susp->susp.name = "sampler";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s_fm);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s_fm = s_fm;
-    susp->s_fm_cnt = 0;
-    susp->s_fm_pHaSe = 0.0;
-    susp->s_fm_pHaSe_iNcR = s_fm->sr / sr;
-    susp->s_fm_n = 0;
-    susp->output_per_s_fm = sr / s_fm->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_sampler(sound_type s, double step, double loop_start, rate_type sr, double hz, time_type t0, sound_type s_fm, long npoints)
-{
-    sound_type s_fm_copy = sound_copy(s_fm);
-    return snd_make_sampler(s, step, loop_start, sr, hz, t0, s_fm_copy, npoints);
-}
diff --git a/lib-src/libnyquist/tran/sampler.h b/lib-src/libnyquist/tran/sampler.h
deleted file mode 100644
index 49be41e..0000000
--- a/lib-src/libnyquist/tran/sampler.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_sampler(sound_type s, double step, double loop_start, rate_type sr, double hz, time_type t0, sound_type s_fm, long npoints);
-sound_type snd_sampler(sound_type s, double step, double loop_start, rate_type sr, double hz, time_type t0, sound_type s_fm, long npoints);
-    /* LISP: (snd-sampler SOUND ANYNUM ANYNUM ANYNUM ANYNUM ANYNUM SOUND FIXNUM) */
diff --git a/lib-src/libnyquist/tran/scale.alg b/lib-src/libnyquist/tran/scale.alg
deleted file mode 100644
index f993e95..0000000
--- a/lib-src/libnyquist/tran/scale.alg
+++ /dev/null
@@ -1,11 +0,0 @@
-(SCALE-ALG
-  (NAME "normalize")
-  (ARGUMENTS ("sound_type" "s1"))
-  (STATE ("sample_type" "scale" "s1->scale"))
-  (CONSTANT "scale")
-  (START (MIN s1))
-  (INTERNAL-SCALING s1)
-  (INNER-LOOP "output = s1 * scale")
-  (TERMINATE (MIN s1))
-  (LOGICAL-STOP (MIN s1))
-)
diff --git a/lib-src/libnyquist/tran/scale.c b/lib-src/libnyquist/tran/scale.c
deleted file mode 100644
index 5303c0a..0000000
--- a/lib-src/libnyquist/tran/scale.c
+++ /dev/null
@@ -1,202 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "scale.h"
-
-void normalize_free();
-
-
-typedef struct normalize_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-
-    sample_type scale;
-} normalize_susp_node, *normalize_susp_type;
-
-
-void normalize_n_fetch(register normalize_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type scale_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "normalize_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale_reg = susp->scale;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = *s1_ptr_reg++ * scale_reg;
-	} while (--n); /* inner loop */
-
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* normalize_n_fetch */
-
-
-void normalize_toss_fetch(susp, snd_list)
-  register normalize_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void normalize_mark(normalize_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-}
-
-
-void normalize_free(normalize_susp_type susp)
-{
-    sound_unref(susp->s1);
-    ffree_generic(susp, sizeof(normalize_susp_node), "normalize_free");
-}
-
-
-void normalize_print_tree(normalize_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-}
-
-
-sound_type snd_make_normalize(sound_type s1)
-{
-    register normalize_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = s1->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, normalize_susp_node, "snd_make_normalize");
-    susp->scale = s1->scale;
-    susp->susp.fetch = normalize_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = normalize_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = normalize_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = normalize_mark;
-    susp->susp.print_tree = normalize_print_tree;
-    susp->susp.name = "normalize";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_normalize(sound_type s1)
-{
-    sound_type s1_copy = sound_copy(s1);
-    return snd_make_normalize(s1_copy);
-}
diff --git a/lib-src/libnyquist/tran/scale.h b/lib-src/libnyquist/tran/scale.h
deleted file mode 100644
index 48f73f9..0000000
--- a/lib-src/libnyquist/tran/scale.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_normalize(sound_type s1);
-sound_type snd_normalize(sound_type s1);
-    /* LISP: (snd-normalize SOUND) */
diff --git a/lib-src/libnyquist/tran/shape.alg b/lib-src/libnyquist/tran/shape.alg
deleted file mode 100644
index 3edf230..0000000
--- a/lib-src/libnyquist/tran/shape.alg
+++ /dev/null
@@ -1,33 +0,0 @@
-(SHAPE-ALG
-        (NAME "shape") 
-        (ARGUMENTS ("sound_type" "sin") ("sound_type" "fn") 
-                ("double" "origin"))
-        (START (MIN sin))	
-        (TABLE "fn")
-        (NOT-IN-INNER-LOOP "fn")
-        (STATE 
-               ("double" "time_to_index" "fn->sr")
-               ("double" "origin" "origin")
-               ("table_type" "the_table" "sound_to_table(fn)")
-               ("sample_type *" "fcn_table" "susp->the_table->samples")		
-           ("double" "table_len" "susp->the_table->length") )
-        (TERMINATE (MIN sin))
-        (LOGICAL-STOP (MIN sin))
-        (INNER-LOOP "
-                register double offset, x1;
-                register long table_index;
-                register double phase = sin;
-                if (phase > 1.0) phase = 1.0;
-                else if (phase < -1.0) phase = -1.0;
-                offset = (phase + origin) * time_to_index;
-                table_index = (long) offset;
-                if (table_index < 0) table_index = 0;
-                if (table_index >= table_len) table_index = ((long) table_len) - 1;
-                    x1 = fcn_table[table_index];
-                    output = (sample_type) (x1 + (offset - table_index) * 
-                        (fcn_table[table_index + 1] - x1));
-        ")
-        (ALWAYS-SCALE sin)
-        (CONSTANT "table_len" "time_to_index" "origen" "fcn_table" "the_table")
-        (FINALIZATION "table_unref(susp->the_table);")
-)
diff --git a/lib-src/libnyquist/tran/shape.c b/lib-src/libnyquist/tran/shape.c
deleted file mode 100644
index b648c8b..0000000
--- a/lib-src/libnyquist/tran/shape.c
+++ /dev/null
@@ -1,230 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "shape.h"
-
-typedef struct shape_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type sin;
-    long sin_cnt;
-    sample_block_values_type sin_ptr;
-
-    double time_to_index;
-    double origin;
-    table_type the_table;
-    sample_type *fcn_table;
-    double table_len;
-} shape_susp_node, *shape_susp_type;
-
-
-void shape_s_fetch(register shape_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double time_to_index_reg;
-    register double origin_reg;
-    register sample_type * fcn_table_reg;
-    register double table_len_reg;
-    register sample_type sin_scale_reg = susp->sin->scale;
-    register sample_block_values_type sin_ptr_reg;
-    falloc_sample_block(out, "shape_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the sin input sample block: */
-	susp_check_term_log_samples(sin, sin_ptr, sin_cnt);
-	togo = MIN(togo, susp->sin_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	time_to_index_reg = susp->time_to_index;
-	origin_reg = susp->origin;
-	fcn_table_reg = susp->fcn_table;
-	table_len_reg = susp->table_len;
-	sin_ptr_reg = susp->sin_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-
-                register double offset, x1;
-                register long table_index;
-                register double phase = (sin_scale_reg * *sin_ptr_reg++);
-                if (phase > 1.0) phase = 1.0;
-                else if (phase < -1.0) phase = -1.0;
-                offset = (phase + origin_reg) * time_to_index_reg;
-                table_index = (long) offset;
-                if (table_index < 0) table_index = 0;
-                if (table_index >= table_len_reg) table_index = ((long) table_len_reg) - 1;
-                    x1 = fcn_table_reg[table_index];
-                    *out_ptr_reg++ = (sample_type) (x1 + (offset - table_index) * 
-                        (fcn_table_reg[table_index + 1] - x1));
-        ;
-	} while (--n); /* inner loop */
-
-	susp->origin = origin_reg;
-	/* using sin_ptr_reg is a bad idea on RS/6000: */
-	susp->sin_ptr += togo;
-	out_ptr += togo;
-	susp_took(sin_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* shape_s_fetch */
-
-
-void shape_toss_fetch(susp, snd_list)
-  register shape_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from sin up to final_time for this block of zeros */
-    while ((round((final_time - susp->sin->t0) * susp->sin->sr)) >=
-	   susp->sin->current)
-	susp_get_samples(sin, sin_ptr, sin_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->sin->t0) * susp->sin->sr -
-         (susp->sin->current - susp->sin_cnt));
-    susp->sin_ptr += n;
-    susp_took(sin_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void shape_mark(shape_susp_type susp)
-{
-    sound_xlmark(susp->sin);
-}
-
-/* Made this static to avoid function name collision on Mac OS X
-   -dmazzoni */
-
-static void shape_free(shape_susp_type susp)
-{
-table_unref(susp->the_table);    sound_unref(susp->sin);
-    ffree_generic(susp, sizeof(shape_susp_node), "shape_free");
-}
-
-
-void shape_print_tree(shape_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("sin:");
-    sound_print_tree_1(susp->sin, n);
-}
-
-
-sound_type snd_make_shape(sound_type sin, sound_type fn, double origin)
-{
-    register shape_susp_type susp;
-    rate_type sr = sin->sr;
-    time_type t0 = sin->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, shape_susp_node, "snd_make_shape");
-    susp->time_to_index = fn->sr;
-    susp->origin = origin;
-    susp->the_table = sound_to_table(fn);
-    susp->fcn_table = susp->the_table->samples;
-    susp->table_len = susp->the_table->length;
-    susp->susp.fetch = shape_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < sin->t0) sound_prepend_zeros(sin, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(sin->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = shape_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = shape_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = shape_mark;
-    susp->susp.print_tree = shape_print_tree;
-    susp->susp.name = "shape";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(sin);
-    susp->susp.current = 0;
-    susp->sin = sin;
-    susp->sin_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_shape(sound_type sin, sound_type fn, double origin)
-{
-    sound_type sin_copy = sound_copy(sin);
-    return snd_make_shape(sin_copy, fn, origin);
-}
diff --git a/lib-src/libnyquist/tran/shape.h b/lib-src/libnyquist/tran/shape.h
deleted file mode 100644
index d0ab65e..0000000
--- a/lib-src/libnyquist/tran/shape.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_shape(sound_type sin, sound_type fn, double origin);
-sound_type snd_shape(sound_type sin, sound_type fn, double origin);
-    /* LISP: (snd-shape SOUND SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/sine.alg b/lib-src/libnyquist/tran/sine.alg
deleted file mode 100644
index e00afde..0000000
--- a/lib-src/libnyquist/tran/sine.alg
+++ /dev/null
@@ -1,31 +0,0 @@
-(SINE-ALG
-(NAME "sine")
-(ARGUMENTS ("time_type" "t0") ("double" "hz") ("rate_type" "sr") ("time_type" "d"))
-(STATE ("long" "phase" "0")
-       ("long" "ph_incr" "round(((hz * SINE_TABLE_LEN) * (1 << SINE_TABLE_SHIFT) / sr))"))
-(TERMINATE (AFTER "d"))
-(INNER-LOOP "output = sine_table[phase >> SINE_TABLE_SHIFT];
-            phase += ph_incr;
-            phase &= SINE_TABLE_MASK;")
-(MAINTAIN ("phase" 
- "susp->phase = (susp->phase + susp->ph_incr * togo) & SINE_TABLE_MASK"))
-(CONSTANT "ph_incr")
-(SAMPLE-RATE "sr")
-(SUPPORT-HEADER "#define SINE_TABLE_LEN 2048
-#define SINE_TABLE_MASK 0x7FFFFFFF
-#define SINE_TABLE_SHIFT 20
-void sine_init();
-extern sample_type sine_table[];
-")
-(SUPPORT-FUNCTIONS "
-sample_type sine_table[SINE_TABLE_LEN + 1];
-
-void sine_init()
-{
-    int i;
-    for (i = 0; i <= SINE_TABLE_LEN; i++)
-        sine_table[i] = (sample_type) (sin((PI * 2 * i) / SINE_TABLE_LEN));
-}
-")
-)
-
diff --git a/lib-src/libnyquist/tran/sine.c b/lib-src/libnyquist/tran/sine.c
deleted file mode 100644
index c84d85f..0000000
--- a/lib-src/libnyquist/tran/sine.c
+++ /dev/null
@@ -1,126 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "sine.h"
-
-void sine_free();
-
-
-typedef struct sine_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-
-    long phase;
-    long ph_incr;
-} sine_susp_node, *sine_susp_type;
-
-
-sample_type sine_table[SINE_TABLE_LEN + 1];
-
-void sine_init()
-{
-    int i;
-    for (i = 0; i <= SINE_TABLE_LEN; i++)
-        sine_table[i] = (sample_type) (sin((PI * 2 * i) / SINE_TABLE_LEN));
-}
-
-
-void sine__fetch(register sine_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register long phase_reg;
-    register long ph_incr_reg;
-    falloc_sample_block(out, "sine__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	phase_reg = susp->phase;
-	ph_incr_reg = susp->ph_incr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = sine_table[phase_reg >> SINE_TABLE_SHIFT];
-            phase_reg += ph_incr_reg;
-            phase_reg &= SINE_TABLE_MASK;;
-	} while (--n); /* inner loop */
-
-	susp->phase = (susp->phase + susp->ph_incr * togo) & SINE_TABLE_MASK;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* sine__fetch */
-
-
-void sine_free(sine_susp_type susp)
-{
-    ffree_generic(susp, sizeof(sine_susp_node), "sine_free");
-}
-
-
-void sine_print_tree(sine_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_sine(time_type t0, double hz, rate_type sr, time_type d)
-{
-    register sine_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, sine_susp_node, "snd_make_sine");
-    susp->phase = 0;
-    susp->ph_incr = round(((hz * SINE_TABLE_LEN) * (1 << SINE_TABLE_SHIFT) / sr));
-    susp->susp.fetch = sine__fetch;
-
-    susp->terminate_cnt = round((d) * sr);
-    /* initialize susp state */
-    susp->susp.free = sine_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = NULL;
-    susp->susp.print_tree = sine_print_tree;
-    susp->susp.name = "sine";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_sine(time_type t0, double hz, rate_type sr, time_type d)
-{
-    return snd_make_sine(t0, hz, sr, d);
-}
diff --git a/lib-src/libnyquist/tran/sine.h b/lib-src/libnyquist/tran/sine.h
deleted file mode 100644
index 9c9897d..0000000
--- a/lib-src/libnyquist/tran/sine.h
+++ /dev/null
@@ -1,8 +0,0 @@
-sound_type snd_make_sine(time_type t0, double hz, rate_type sr, time_type d);
-sound_type snd_sine(time_type t0, double hz, rate_type sr, time_type d);
-    /* LISP: (snd-sine ANYNUM ANYNUM ANYNUM ANYNUM) */
-#define SINE_TABLE_LEN 2048
-#define SINE_TABLE_MASK 0x7FFFFFFF
-#define SINE_TABLE_SHIFT 20
-void sine_init();
-extern sample_type sine_table[];
diff --git a/lib-src/libnyquist/tran/siosc.alg b/lib-src/libnyquist/tran/siosc.alg
deleted file mode 100644
index df233a9..0000000
--- a/lib-src/libnyquist/tran/siosc.alg
+++ /dev/null
@@ -1,130 +0,0 @@
-(SIOSC-ALG
-(NAME "siosc")
-
-; wave tables are provided in the argument "lis" as follows:
-; (tab0 t1 tab1 t2 tab2 t3 tab3 ... tN tabN)
-; where tab0 is the initial table, the table is linearly interpolated until
-; sample t1, at which point the table is tab1.  From there, tab1 is interpolated
-; to tab2 at t2, etc.  The sound stops at the terminate time of s_fm, so
-; if that comes before tN, tabN is used for the remainder of the sound.
-; t1, t2, ... tN are fixnums with sample counts
-
-(ARGUMENTS ("LVAL" "lis") ("rate_type" "sr")
-           ("double" "hz") ("time_type" "t0") ("sound_type" "s_fm"))
-(SUPPORT-FUNCTIONS "
-/* sisosc_table_init -- set up first two tables for interpolation */
-/**/
-void siosc_table_init(siosc_susp_type susp)
-{
-    sound_type snd;
-    if (!susp->lis) xlfail(\"bad table list in SIOSC\");
-    snd = getsound(car(susp->lis));
-    susp->table_b_ptr_ptr = sound_to_table(snd);
-    susp->table_b_samps = susp->table_b_ptr_ptr->samples;
-    susp->lis = cdr(susp->lis);
-    susp->table_sr = snd->sr;
-}
-
-/* siosc_table_update -- outer loop processing, get next table */
-/**/
-long siosc_table_update(siosc_susp_type susp, long cur)
-{
-    long n;
-
-    /* swap ampramps: */
-    susp->ampramp_a = 1.0;
-    susp->ampramp_b = 0.0;
-
-    /* swap tables: */
-    table_unref(susp->table_a_ptr);
-    susp->table_a_ptr = susp->table_b_ptr_ptr;
-    susp->table_a_samps = susp->table_b_samps;
-    susp->table_b_ptr_ptr = NULL; /* so we do not try to unref it */
-
-    if (susp->lis) {
-        sound_type snd;
-
-        /* compute slope */
-        susp->next_breakpoint = getfixnum(car(susp->lis));
-        susp->lis = cdr(susp->lis);
-        n = susp->next_breakpoint - cur;
-        susp->ampslope = 1.0 / n;
-
-        /* build new table: */
-        if (!susp->lis) xlfail(\"bad table list in SIOSC\");
-        snd = getsound(car(susp->lis));
-        susp->table_b_ptr_ptr = sound_to_table(snd);
-        susp->table_b_samps = susp->table_b_ptr_ptr->samples;
-        if (susp->table_b_ptr_ptr->length != susp->table_len || susp->table_sr != snd->sr)
-            xlfail(\"mismatched tables passed to SIOSC\") ;
-        susp->lis = cdr(susp->lis);
-    } else { /* use only table a */
-        susp->ampslope = 0.0;
-        susp->next_breakpoint = 0x7FFFFFFF;
-        n = 0x7FFFFFFF;
-    }
-    return n;
-}
-")
-
-(STATE ("double" "table_len" "0.0")
-       ("double" "ph_incr" "0.0")
-       ("table_type" "table_a_ptr" "NULL")
-       ("table_type" "table_b_ptr_ptr" "NULL")
-       ("sample_type *" "table_a_samps" "NULL")
-       ("sample_type *" "table_b_samps" "NULL")
-       ("double" "table_sr" "0.0")
-       ("double" "phase" "0.0")
-       ("LVAL" "lis" "lis")
-       ("long" "next_breakpoint" "0")
-       ("double" "ampramp_a" "1.0")
-       ("double" "ampramp_b" "0.0")
-       ("double" "ampslope" "0.0;
-    siosc_table_init(susp);
-    susp->ph_incr = hz * susp->table_len / sr;
-    s_fm->scale = (sample_type) (s_fm->scale * (susp->table_len / sr))") 
-)
-
-(ALWAYS-SCALE s_fm)
-(INLINE-INTERPOLATION T) ; so that modulation can be low frequency
-(STEP-FUNCTION s_fm)
-(TERMINATE (MIN s_fm))
-(LOGICAL-STOP (MIN s_fm))
-(INNER-LOOP-LOCALS "	    long table_index;
-            double xa, xb;
-")
-
-; Implementation notes:
-;  "lis" points to the next time to be used, or NULL
-
-(OUTER-LOOP "
-        { long cur = susp->susp.current + cnt;
-            n = susp->next_breakpoint - cur;
-            if (n == 0) n = siosc_table_update(susp, cur);
-        }
-        togo = MIN(n, togo);
-")
-
-(INNER-LOOP "	    table_index = (long) phase;
-            xa = table_a_samps[table_index];
-            xb = table_b_samps[table_index];
-            output = (sample_type) 
-                      (ampramp_a * (xa + (phase - table_index) * 
-                          (table_a_samps[table_index + 1] - xa)) +
-                       ampramp_b * (xb + (phase - table_index) * 
-                          (table_b_samps[table_index + 1] - xb)));
-            ampramp_a -= ampslope;
-            ampramp_b += ampslope;
-            phase += ph_incr + s_fm;
-            while (phase > table_len) phase -= table_len;
-            /* watch out for negative frequencies! */
-            while (phase < 0) phase += table_len")
-(CONSTANT "ph_incr" "table_len" "table_ptr" "table_a_samps"
-          "table_b_samps" "ampslope" "table_a_ptr" "table_b_ptr_ptr")
-
-(SAMPLE-RATE "sr")
-(FINALIZATION "    table_unref(susp->table_a_ptr);
-    table_unref(susp->table_b_ptr_ptr);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/siosc.c b/lib-src/libnyquist/tran/siosc.c
deleted file mode 100644
index 12c6de8..0000000
--- a/lib-src/libnyquist/tran/siosc.c
+++ /dev/null
@@ -1,636 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "siosc.h"
-
-void siosc_free();
-
-
-typedef struct siosc_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s_fm;
-    long s_fm_cnt;
-    sample_block_values_type s_fm_ptr;
-
-    /* support for interpolation of s_fm */
-    sample_type s_fm_x1_sample;
-    double s_fm_pHaSe;
-    double s_fm_pHaSe_iNcR;
-
-    /* support for ramp between samples of s_fm */
-    double output_per_s_fm;
-    long s_fm_n;
-
-    double table_len;
-    double ph_incr;
-    table_type table_a_ptr;
-    table_type table_b_ptr_ptr;
-    sample_type *table_a_samps;
-    sample_type *table_b_samps;
-    double table_sr;
-    double phase;
-    LVAL lis;
-    long next_breakpoint;
-    double ampramp_a;
-    double ampramp_b;
-    double ampslope;
-} siosc_susp_node, *siosc_susp_type;
-
-
-/* sisosc_table_init -- set up first two tables for interpolation */
-/**/
-void siosc_table_init(siosc_susp_type susp)
-{
-    sound_type snd;
-    if (!susp->lis) xlfail("bad table list in SIOSC");
-    snd = getsound(car(susp->lis));
-    susp->table_b_ptr_ptr = sound_to_table(snd);
-    susp->table_b_samps = susp->table_b_ptr_ptr->samples;
-    susp->lis = cdr(susp->lis);
-    susp->table_sr = snd->sr;
-}
-
-/* siosc_table_update -- outer loop processing, get next table */
-/**/
-long siosc_table_update(siosc_susp_type susp, long cur)
-{
-    long n;
-
-    /* swap ampramps: */
-    susp->ampramp_a = 1.0;
-    susp->ampramp_b = 0.0;
-
-    /* swap tables: */
-    table_unref(susp->table_a_ptr);
-    susp->table_a_ptr = susp->table_b_ptr_ptr;
-    susp->table_a_samps = susp->table_b_samps;
-    susp->table_b_ptr_ptr = NULL; /* so we do not try to unref it */
-
-    if (susp->lis) {
-        sound_type snd;
-
-        /* compute slope */
-        susp->next_breakpoint = getfixnum(car(susp->lis));
-        susp->lis = cdr(susp->lis);
-        n = susp->next_breakpoint - cur;
-        susp->ampslope = 1.0 / n;
-
-        /* build new table: */
-        if (!susp->lis) xlfail("bad table list in SIOSC");
-        snd = getsound(car(susp->lis));
-        susp->table_b_ptr_ptr = sound_to_table(snd);
-        susp->table_b_samps = susp->table_b_ptr_ptr->samples;
-        if (susp->table_b_ptr_ptr->length != susp->table_len || susp->table_sr != snd->sr)
-            xlfail("mismatched tables passed to SIOSC") ;
-        susp->lis = cdr(susp->lis);
-    } else { /* use only table a */
-        susp->ampslope = 0.0;
-        susp->next_breakpoint = 0x7FFFFFFF;
-        n = 0x7FFFFFFF;
-    }
-    return n;
-}
-
-
-void siosc_s_fetch(register siosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double table_len_reg;
-    register double ph_incr_reg;
-    register sample_type * table_a_samps_reg;
-    register sample_type * table_b_samps_reg;
-    register double phase_reg;
-    register double ampramp_a_reg;
-    register double ampramp_b_reg;
-    register double ampslope_reg;
-    register sample_type s_fm_scale_reg = susp->s_fm->scale;
-    register sample_block_values_type s_fm_ptr_reg;
-    falloc_sample_block(out, "siosc_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s_fm input sample block: */
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	togo = MIN(togo, susp->s_fm_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-
-        { long cur = susp->susp.current + cnt;
-            n = susp->next_breakpoint - cur;
-            if (n == 0) n = siosc_table_update(susp, cur);
-        }
-        togo = MIN(n, togo);
-
-	n = togo;
-	table_len_reg = susp->table_len;
-	ph_incr_reg = susp->ph_incr;
-	table_a_samps_reg = susp->table_a_samps;
-	table_b_samps_reg = susp->table_b_samps;
-	phase_reg = susp->phase;
-	ampramp_a_reg = susp->ampramp_a;
-	ampramp_b_reg = susp->ampramp_b;
-	ampslope_reg = susp->ampslope;
-	s_fm_ptr_reg = susp->s_fm_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double xa, xb;
-	    table_index = (long) phase_reg;
-            xa = table_a_samps_reg[table_index];
-            xb = table_b_samps_reg[table_index];
-            *out_ptr_reg++ = (sample_type) 
-                      (ampramp_a_reg * (xa + (phase_reg - table_index) * 
-                          (table_a_samps_reg[table_index + 1] - xa)) +
-                       ampramp_b_reg * (xb + (phase_reg - table_index) * 
-                          (table_b_samps_reg[table_index + 1] - xb)));
-            ampramp_a_reg -= ampslope_reg;
-            ampramp_b_reg += ampslope_reg;
-            phase_reg += ph_incr_reg + (s_fm_scale_reg * *s_fm_ptr_reg++);
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += table_len_reg;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	susp->ampramp_a = ampramp_a_reg;
-	susp->ampramp_b = ampramp_b_reg;
-	/* using s_fm_ptr_reg is a bad idea on RS/6000: */
-	susp->s_fm_ptr += togo;
-	out_ptr += togo;
-	susp_took(s_fm_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* siosc_s_fetch */
-
-
-void siosc_i_fetch(register siosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double table_len_reg;
-    register double ph_incr_reg;
-    register sample_type * table_a_samps_reg;
-    register sample_type * table_b_samps_reg;
-    register double phase_reg;
-    register double ampramp_a_reg;
-    register double ampramp_b_reg;
-    register double ampslope_reg;
-    register double s_fm_pHaSe_iNcR_rEg = susp->s_fm_pHaSe_iNcR;
-    register double s_fm_pHaSe_ReG;
-    register sample_type s_fm_x1_sample_reg;
-    falloc_sample_block(out, "siosc_i_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-
-        { long cur = susp->susp.current + cnt;
-            n = susp->next_breakpoint - cur;
-            if (n == 0) n = siosc_table_update(susp, cur);
-        }
-        togo = MIN(n, togo);
-
-	n = togo;
-	table_len_reg = susp->table_len;
-	ph_incr_reg = susp->ph_incr;
-	table_a_samps_reg = susp->table_a_samps;
-	table_b_samps_reg = susp->table_b_samps;
-	phase_reg = susp->phase;
-	ampramp_a_reg = susp->ampramp_a;
-	ampramp_b_reg = susp->ampramp_b;
-	ampslope_reg = susp->ampslope;
-	s_fm_pHaSe_ReG = susp->s_fm_pHaSe;
-	s_fm_x1_sample_reg = susp->s_fm_x1_sample;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double xa, xb;
-	    if (s_fm_pHaSe_ReG >= 1.0) {
-/* fixup-depends s_fm */
-		/* pick up next sample as s_fm_x1_sample: */
-		susp->s_fm_ptr++;
-		susp_took(s_fm_cnt, 1);
-		s_fm_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(s_fm, s_fm_ptr, s_fm_cnt, s_fm_x1_sample_reg);
-		s_fm_x1_sample_reg = susp_current_sample(s_fm, s_fm_ptr);
-	    }
-	    table_index = (long) phase_reg;
-            xa = table_a_samps_reg[table_index];
-            xb = table_b_samps_reg[table_index];
-            *out_ptr_reg++ = (sample_type) 
-                      (ampramp_a_reg * (xa + (phase_reg - table_index) * 
-                          (table_a_samps_reg[table_index + 1] - xa)) +
-                       ampramp_b_reg * (xb + (phase_reg - table_index) * 
-                          (table_b_samps_reg[table_index + 1] - xb)));
-            ampramp_a_reg -= ampslope_reg;
-            ampramp_b_reg += ampslope_reg;
-            phase_reg += ph_incr_reg + s_fm_x1_sample_reg;
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += table_len_reg;
-	    s_fm_pHaSe_ReG += s_fm_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->phase = phase_reg;
-	susp->ampramp_a = ampramp_a_reg;
-	susp->ampramp_b = ampramp_b_reg;
-	susp->s_fm_pHaSe = s_fm_pHaSe_ReG;
-	susp->s_fm_x1_sample = s_fm_x1_sample_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* siosc_i_fetch */
-
-
-void siosc_r_fetch(register siosc_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type s_fm_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double table_len_reg;
-    register double ph_incr_reg;
-    register sample_type * table_a_samps_reg;
-    register sample_type * table_b_samps_reg;
-    register double phase_reg;
-    register double ampramp_a_reg;
-    register double ampramp_b_reg;
-    register double ampslope_reg;
-    falloc_sample_block(out, "siosc_r_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->s_fm_pHaSe = 1.0;
-    }
-
-    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* grab next s_fm_x1_sample when phase goes past 1.0; */
-	/* use s_fm_n (computed below) to avoid roundoff errors: */
-	if (susp->s_fm_n <= 0) {
-	    susp_check_term_log_samples(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_x1_sample = susp_fetch_sample(s_fm, s_fm_ptr, s_fm_cnt);
-	    susp->s_fm_pHaSe -= 1.0;
-	    /* s_fm_n gets number of samples before phase exceeds 1.0: */
-	    susp->s_fm_n = (long) ((1.0 - susp->s_fm_pHaSe) *
-					susp->output_per_s_fm);
-	}
-	togo = MIN(togo, susp->s_fm_n);
-	s_fm_val = susp->s_fm_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-
-        { long cur = susp->susp.current + cnt;
-            n = susp->next_breakpoint - cur;
-            if (n == 0) n = siosc_table_update(susp, cur);
-        }
-        togo = MIN(n, togo);
-
-	n = togo;
-	table_len_reg = susp->table_len;
-	ph_incr_reg = susp->ph_incr;
-	table_a_samps_reg = susp->table_a_samps;
-	table_b_samps_reg = susp->table_b_samps;
-	phase_reg = susp->phase;
-	ampramp_a_reg = susp->ampramp_a;
-	ampramp_b_reg = susp->ampramp_b;
-	ampslope_reg = susp->ampslope;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    long table_index;
-            double xa, xb;
-	    table_index = (long) phase_reg;
-            xa = table_a_samps_reg[table_index];
-            xb = table_b_samps_reg[table_index];
-            *out_ptr_reg++ = (sample_type) 
-                      (ampramp_a_reg * (xa + (phase_reg - table_index) * 
-                          (table_a_samps_reg[table_index + 1] - xa)) +
-                       ampramp_b_reg * (xb + (phase_reg - table_index) * 
-                          (table_b_samps_reg[table_index + 1] - xb)));
-            ampramp_a_reg -= ampslope_reg;
-            ampramp_b_reg += ampslope_reg;
-            phase_reg += ph_incr_reg + s_fm_val;
-            while (phase_reg > table_len_reg) phase_reg -= table_len_reg;
-            /* watch out for negative frequencies! */
-            while (phase_reg < 0) phase_reg += table_len_reg;
-	} while (--n); /* inner loop */
-
-	susp->phase = phase_reg;
-	susp->ampramp_a = ampramp_a_reg;
-	susp->ampramp_b = ampramp_b_reg;
-	out_ptr += togo;
-	susp->s_fm_pHaSe += togo * susp->s_fm_pHaSe_iNcR;
-	susp->s_fm_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* siosc_r_fetch */
-
-
-void siosc_toss_fetch(susp, snd_list)
-  register siosc_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s_fm up to final_time for this block of zeros */
-    while ((round((final_time - susp->s_fm->t0) * susp->s_fm->sr)) >=
-	   susp->s_fm->current)
-	susp_get_samples(s_fm, s_fm_ptr, s_fm_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s_fm->t0) * susp->s_fm->sr -
-         (susp->s_fm->current - susp->s_fm_cnt));
-    susp->s_fm_ptr += n;
-    susp_took(s_fm_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void siosc_mark(siosc_susp_type susp)
-{
-    if (susp->lis) mark(susp->lis);
-    sound_xlmark(susp->s_fm);
-}
-
-
-void siosc_free(siosc_susp_type susp)
-{
-    table_unref(susp->table_a_ptr);
-    table_unref(susp->table_b_ptr_ptr);
-    sound_unref(susp->s_fm);
-    ffree_generic(susp, sizeof(siosc_susp_node), "siosc_free");
-}
-
-
-void siosc_print_tree(siosc_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s_fm:");
-    sound_print_tree_1(susp->s_fm, n);
-}
-
-
-sound_type snd_make_siosc(LVAL lis, rate_type sr, double hz, time_type t0, sound_type s_fm)
-{
-    register siosc_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, siosc_susp_node, "snd_make_siosc");
-    susp->table_len = 0.0;
-    susp->ph_incr = 0.0;
-    susp->table_a_ptr = NULL;
-    susp->table_b_ptr_ptr = NULL;
-    susp->table_a_samps = NULL;
-    susp->table_b_samps = NULL;
-    susp->table_sr = 0.0;
-    susp->phase = 0.0;
-    susp->lis = lis;
-    susp->next_breakpoint = 0;
-    susp->ampramp_a = 1.0;
-    susp->ampramp_b = 0.0;
-    susp->ampslope = 0.0;
-    siosc_table_init(susp);
-    susp->ph_incr = hz * susp->table_len / sr;
-    s_fm->scale = (sample_type) (s_fm->scale * (susp->table_len / sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s_fm, sr);
-    switch (interp_desc) {
-      case INTERP_n: /* handled below */
-      case INTERP_s: susp->susp.fetch = siosc_s_fetch; break;
-      case INTERP_i: susp->susp.fetch = siosc_i_fetch; break;
-      case INTERP_r: susp->susp.fetch = siosc_r_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s_fm->t0) sound_prepend_zeros(s_fm, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s_fm->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = siosc_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = siosc_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = siosc_mark;
-    susp->susp.print_tree = siosc_print_tree;
-    susp->susp.name = "siosc";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s_fm);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s_fm = s_fm;
-    susp->s_fm_cnt = 0;
-    susp->s_fm_pHaSe = 0.0;
-    susp->s_fm_pHaSe_iNcR = s_fm->sr / sr;
-    susp->s_fm_n = 0;
-    susp->output_per_s_fm = sr / s_fm->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_siosc(LVAL lis, rate_type sr, double hz, time_type t0, sound_type s_fm)
-{
-    sound_type s_fm_copy = sound_copy(s_fm);
-    return snd_make_siosc(lis, sr, hz, t0, s_fm_copy);
-}
diff --git a/lib-src/libnyquist/tran/siosc.h b/lib-src/libnyquist/tran/siosc.h
deleted file mode 100644
index 5507075..0000000
--- a/lib-src/libnyquist/tran/siosc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_siosc(LVAL lis, rate_type sr, double hz, time_type t0, sound_type s_fm);
-sound_type snd_siosc(LVAL lis, rate_type sr, double hz, time_type t0, sound_type s_fm);
-    /* LISP: (snd-siosc ANY ANYNUM ANYNUM ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/tran/slope.alg b/lib-src/libnyquist/tran/slope.alg
deleted file mode 100644
index 7b0cb2b..0000000
--- a/lib-src/libnyquist/tran/slope.alg
+++ /dev/null
@@ -1,15 +0,0 @@
-(SLOPE-ALG
-  (NAME "slope")
-  (ARGUMENTS ("sound_type" "input"))
-  (STATE ("sample_type" "prev" "0.0F")
-          ("double" "scale" "input->sr * input->scale"))
-  (INTERNAL-SCALING input)
-  (CONSTANT "scale")
-  (DELAY 1)
-  (START (MIN input))
-  (INNER-LOOP "{ register sample_type x = input;
-output = (sample_type) ((x - prev) * scale);
-prev = x;}")
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-)
diff --git a/lib-src/libnyquist/tran/slope.c b/lib-src/libnyquist/tran/slope.c
deleted file mode 100644
index c75c9f1..0000000
--- a/lib-src/libnyquist/tran/slope.c
+++ /dev/null
@@ -1,210 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "slope.h"
-
-void slope_free();
-
-
-typedef struct slope_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    sample_type prev;
-    double scale;
-} slope_susp_node, *slope_susp_type;
-
-
-void slope_n_fetch(register slope_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type prev_reg;
-    register double scale_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "slope_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	prev_reg = susp->prev;
-	scale_reg = susp->scale;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ register sample_type x = *input_ptr_reg++;
-*out_ptr_reg++ = (sample_type) ((x - prev_reg) * scale_reg);
-prev_reg = x;};
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* slope_n_fetch */
-
-
-void slope_toss_fetch(susp, snd_list)
-  register slope_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void slope_mark(slope_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void slope_free(slope_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(slope_susp_node), "slope_free");
-}
-
-
-void slope_print_tree(slope_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_slope(sound_type input)
-{
-    register slope_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, slope_susp_node, "snd_make_slope");
-    susp->prev = 0.0F;
-    susp->scale = input->sr * input->scale;
-    susp->susp.fetch = slope_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    /* Toss an extra 1 samples to make up for internal buffering: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 1.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = slope_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = slope_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = slope_mark;
-    susp->susp.print_tree = slope_print_tree;
-    susp->susp.name = "slope";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_slope(sound_type input)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_slope(input_copy);
-}
diff --git a/lib-src/libnyquist/tran/slope.h b/lib-src/libnyquist/tran/slope.h
deleted file mode 100644
index 39cafaf..0000000
--- a/lib-src/libnyquist/tran/slope.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_slope(sound_type input);
-sound_type snd_slope(sound_type input);
-    /* LISP: (snd-slope SOUND) */
diff --git a/lib-src/libnyquist/tran/sqrt.alg b/lib-src/libnyquist/tran/sqrt.alg
deleted file mode 100644
index 5c392a3..0000000
--- a/lib-src/libnyquist/tran/sqrt.alg
+++ /dev/null
@@ -1,9 +0,0 @@
-(SQRT-ALG
-  (NAME "sqrt")
-  (ARGUMENTS ("sound_type" "input"))
-  (ALWAYS-SCALE input)
-  (START (MIN input))
-  (INNER-LOOP "{ sample_type i = input; if (i < 0) i = 0; output = (sample_type) sqrt(i); }")
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-)
diff --git a/lib-src/libnyquist/tran/sqrt.c b/lib-src/libnyquist/tran/sqrt.c
deleted file mode 100644
index c4574c0..0000000
--- a/lib-src/libnyquist/tran/sqrt.c
+++ /dev/null
@@ -1,198 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "sqrt.h"
-
-void sqrt_free();
-
-
-typedef struct sqrt_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-} sqrt_susp_node, *sqrt_susp_type;
-
-
-void sqrt_s_fetch(register sqrt_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_type input_scale_reg = susp->input->scale;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "sqrt_s_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-{ sample_type i = (input_scale_reg * *input_ptr_reg++); if (i < 0) i = 0; *out_ptr_reg++ = (sample_type) sqrt(i); };
-	} while (--n); /* inner loop */
-
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* sqrt_s_fetch */
-
-
-void sqrt_toss_fetch(susp, snd_list)
-  register sqrt_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void sqrt_mark(sqrt_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void sqrt_free(sqrt_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(sqrt_susp_node), "sqrt_free");
-}
-
-
-void sqrt_print_tree(sqrt_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_sqrt(sound_type input)
-{
-    register sqrt_susp_type susp;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, sqrt_susp_node, "snd_make_sqrt");
-    susp->susp.fetch = sqrt_s_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = sqrt_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = sqrt_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = sqrt_mark;
-    susp->susp.print_tree = sqrt_print_tree;
-    susp->susp.name = "sqrt";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_sqrt(sound_type input)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_sqrt(input_copy);
-}
diff --git a/lib-src/libnyquist/tran/sqrt.h b/lib-src/libnyquist/tran/sqrt.h
deleted file mode 100644
index ab47c6f..0000000
--- a/lib-src/libnyquist/tran/sqrt.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_sqrt(sound_type input);
-sound_type snd_sqrt(sound_type input);
-    /* LISP: (snd-sqrt SOUND) */
diff --git a/lib-src/libnyquist/tran/tapf.alg b/lib-src/libnyquist/tran/tapf.alg
deleted file mode 100644
index 6b065e1..0000000
--- a/lib-src/libnyquist/tran/tapf.alg
+++ /dev/null
@@ -1,49 +0,0 @@
-(TAPF-ALG
-(NAME "tapf")
-(ARGUMENTS ("sound_type" "s1") ("double" "offset") ("sound_type" "vardelay")
-           ("double" "maxdelay"))
-(INLINE-INTERPOLATION T)
-(STEP-FUNCTION "vardelay")
-(INTERNAL-SCALING vardelay)
-(ALWAYS-SCALE s1)
-(START (MAX s1 vardelay))
-(TERMINATE (MIN s1 vardelay))
-(LOGICAL-STOP (MIN s1))
-(STATE ("double" "offset" "offset * s1->sr")
-       ("double" "vdscale" "vardelay->scale * s1->sr")
-       ("long" "maxdelay" "(long)(maxdelay * s1->sr)")
-       ("long" "bufflen" "MAX(2, (long) (susp->maxdelay + 0.5))")
-       ("long" "index" "susp->bufflen")
-       ("sample_type *" "buffer" 
-        "(sample_type *) calloc(susp->bufflen + 1, sizeof(sample_type))"))
-(SAMPLE-RATE (MAX s1))
-(CONSTANT "maxdelay" "offset" "vdscale" "buffer")
-(INNER-LOOP-LOCALS "            long phase;
-")
-(INNER-LOOP "        phase = (long) (vardelay * vdscale + offset);
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay) phase = maxdelay;
-        phase = index - phase;
-        /* now phase is a location in the buffer (before modulo) */
-
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer[index++] = s1;
-        if (index >= bufflen) {
-            index = 0;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen;
-        output = (sample_type) (buffer[phase]);")
-(FINALIZATION "    free(susp->buffer);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/tapf.c b/lib-src/libnyquist/tran/tapf.c
deleted file mode 100644
index a67e823..0000000
--- a/lib-src/libnyquist/tran/tapf.c
+++ /dev/null
@@ -1,619 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "tapf.h"
-
-void tapf_free();
-
-
-typedef struct tapf_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type vardelay;
-    long vardelay_cnt;
-    sample_block_values_type vardelay_ptr;
-
-    /* support for interpolation of vardelay */
-    sample_type vardelay_x1_sample;
-    double vardelay_pHaSe;
-    double vardelay_pHaSe_iNcR;
-
-    /* support for ramp between samples of vardelay */
-    double output_per_vardelay;
-    long vardelay_n;
-
-    double offset;
-    double vdscale;
-    long maxdelay;
-    long bufflen;
-    long index;
-    sample_type *buffer;
-} tapf_susp_node, *tapf_susp_type;
-
-
-void tapf_sn_fetch(register tapf_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double offset_reg;
-    register double vdscale_reg;
-    register long maxdelay_reg;
-    register long bufflen_reg;
-    register long index_reg;
-    register sample_type * buffer_reg;
-    register sample_block_values_type vardelay_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tapf_sn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the vardelay input sample block: */
-	susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-	togo = MIN(togo, susp->vardelay_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	vdscale_reg = susp->vdscale;
-	maxdelay_reg = susp->maxdelay;
-	bufflen_reg = susp->bufflen;
-	index_reg = susp->index;
-	buffer_reg = susp->buffer;
-	vardelay_ptr_reg = susp->vardelay_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            long phase;
-        phase = (long) (*vardelay_ptr_reg++ * vdscale_reg + offset_reg);
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay_reg) phase = maxdelay_reg;
-        phase = index_reg - phase;
-        /* now phase is a location in the buffer_reg (before modulo) */
-
-        /* Time out to update the buffer_reg:
-         * this is a tricky buffer_reg: buffer_reg[0] == buffer_reg[bufflen_reg]
-         * the logical length is bufflen_reg, but the actual length
-         * is bufflen_reg + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer_reg[index_reg++] = (s1_scale_reg * *s1_ptr_reg++);
-        if (index_reg >= bufflen_reg) {
-            index_reg = 0;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen_reg;
-        *out_ptr_reg++ = (sample_type) (buffer_reg[phase]);;
-	} while (--n); /* inner loop */
-
-	susp->bufflen = bufflen_reg;
-	susp->index = index_reg;
-	/* using vardelay_ptr_reg is a bad idea on RS/6000: */
-	susp->vardelay_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(vardelay_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tapf_sn_fetch */
-
-
-void tapf_si_fetch(register tapf_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type vardelay_x2_sample;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double offset_reg;
-    register double vdscale_reg;
-    register long maxdelay_reg;
-    register long bufflen_reg;
-    register long index_reg;
-    register sample_type * buffer_reg;
-    register double vardelay_pHaSe_iNcR_rEg = susp->vardelay_pHaSe_iNcR;
-    register double vardelay_pHaSe_ReG;
-    register sample_type vardelay_x1_sample_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tapf_si_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-	susp->vardelay_x1_sample = susp_fetch_sample(vardelay, vardelay_ptr, vardelay_cnt);
-    }
-
-    susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-    vardelay_x2_sample = susp_current_sample(vardelay, vardelay_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	vdscale_reg = susp->vdscale;
-	maxdelay_reg = susp->maxdelay;
-	bufflen_reg = susp->bufflen;
-	index_reg = susp->index;
-	buffer_reg = susp->buffer;
-	vardelay_pHaSe_ReG = susp->vardelay_pHaSe;
-	vardelay_x1_sample_reg = susp->vardelay_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            long phase;
-	    if (vardelay_pHaSe_ReG >= 1.0) {
-		vardelay_x1_sample_reg = vardelay_x2_sample;
-		/* pick up next sample as vardelay_x2_sample: */
-		susp->vardelay_ptr++;
-		susp_took(vardelay_cnt, 1);
-		vardelay_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(vardelay, vardelay_ptr, vardelay_cnt, vardelay_x2_sample);
-	    }
-        phase = (long) (
-		(vardelay_x1_sample_reg * (1 - vardelay_pHaSe_ReG) + vardelay_x2_sample * vardelay_pHaSe_ReG) * vdscale_reg + offset_reg);
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay_reg) phase = maxdelay_reg;
-        phase = index_reg - phase;
-        /* now phase is a location in the buffer_reg (before modulo) */
-
-        /* Time out to update the buffer_reg:
-         * this is a tricky buffer_reg: buffer_reg[0] == buffer_reg[bufflen_reg]
-         * the logical length is bufflen_reg, but the actual length
-         * is bufflen_reg + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer_reg[index_reg++] = (s1_scale_reg * *s1_ptr_reg++);
-        if (index_reg >= bufflen_reg) {
-            index_reg = 0;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen_reg;
-        *out_ptr_reg++ = (sample_type) (buffer_reg[phase]);;
-	    vardelay_pHaSe_ReG += vardelay_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->bufflen = bufflen_reg;
-	susp->index = index_reg;
-	susp->vardelay_pHaSe = vardelay_pHaSe_ReG;
-	susp->vardelay_x1_sample = vardelay_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tapf_si_fetch */
-
-
-void tapf_sr_fetch(register tapf_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type vardelay_DeLtA;
-    sample_type vardelay_val;
-    sample_type vardelay_x2_sample;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double offset_reg;
-    register double vdscale_reg;
-    register long maxdelay_reg;
-    register long bufflen_reg;
-    register long index_reg;
-    register sample_type * buffer_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tapf_sr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->vardelay_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-    vardelay_x2_sample = susp_current_sample(vardelay, vardelay_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next vardelay_x2_sample when phase goes past 1.0; */
-	/* we use vardelay_n (computed below) to avoid roundoff errors: */
-	if (susp->vardelay_n <= 0) {
-	    susp->vardelay_x1_sample = vardelay_x2_sample;
-	    susp->vardelay_ptr++;
-	    susp_took(vardelay_cnt, 1);
-	    susp->vardelay_pHaSe -= 1.0;
-	    susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-	    vardelay_x2_sample = susp_current_sample(vardelay, vardelay_ptr);
-	    /* vardelay_n gets number of samples before phase exceeds 1.0: */
-	    susp->vardelay_n = (long) ((1.0 - susp->vardelay_pHaSe) *
-					susp->output_per_vardelay);
-	}
-	togo = MIN(togo, susp->vardelay_n);
-	vardelay_DeLtA = (sample_type) ((vardelay_x2_sample - susp->vardelay_x1_sample) * susp->vardelay_pHaSe_iNcR);
-	vardelay_val = (sample_type) (susp->vardelay_x1_sample * (1.0 - susp->vardelay_pHaSe) +
-		 vardelay_x2_sample * susp->vardelay_pHaSe);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	vdscale_reg = susp->vdscale;
-	maxdelay_reg = susp->maxdelay;
-	bufflen_reg = susp->bufflen;
-	index_reg = susp->index;
-	buffer_reg = susp->buffer;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            long phase;
-        phase = (long) (vardelay_val * vdscale_reg + offset_reg);
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay_reg) phase = maxdelay_reg;
-        phase = index_reg - phase;
-        /* now phase is a location in the buffer_reg (before modulo) */
-
-        /* Time out to update the buffer_reg:
-         * this is a tricky buffer_reg: buffer_reg[0] == buffer_reg[bufflen_reg]
-         * the logical length is bufflen_reg, but the actual length
-         * is bufflen_reg + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer_reg[index_reg++] = (s1_scale_reg * *s1_ptr_reg++);
-        if (index_reg >= bufflen_reg) {
-            index_reg = 0;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen_reg;
-        *out_ptr_reg++ = (sample_type) (buffer_reg[phase]);;
-	    vardelay_val += vardelay_DeLtA;
-	} while (--n); /* inner loop */
-
-	susp->bufflen = bufflen_reg;
-	susp->index = index_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->vardelay_pHaSe += togo * susp->vardelay_pHaSe_iNcR;
-	susp->vardelay_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tapf_sr_fetch */
-
-
-void tapf_toss_fetch(susp, snd_list)
-  register tapf_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from vardelay up to final_time for this block of zeros */
-    while ((round((final_time - susp->vardelay->t0) * susp->vardelay->sr)) >=
-	   susp->vardelay->current)
-	susp_get_samples(vardelay, vardelay_ptr, vardelay_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->vardelay->t0) * susp->vardelay->sr -
-         (susp->vardelay->current - susp->vardelay_cnt));
-    susp->vardelay_ptr += n;
-    susp_took(vardelay_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void tapf_mark(tapf_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->vardelay);
-}
-
-
-void tapf_free(tapf_susp_type susp)
-{
-    free(susp->buffer);
-    sound_unref(susp->s1);
-    sound_unref(susp->vardelay);
-    ffree_generic(susp, sizeof(tapf_susp_node), "tapf_free");
-}
-
-
-void tapf_print_tree(tapf_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("vardelay:");
-    sound_print_tree_1(susp->vardelay, n);
-}
-
-
-sound_type snd_make_tapf(sound_type s1, double offset, sound_type vardelay, double maxdelay)
-{
-    register tapf_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, vardelay->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, tapf_susp_node, "snd_make_tapf");
-    susp->offset = offset * s1->sr;
-    susp->vdscale = vardelay->scale * s1->sr;
-    susp->maxdelay = (long)(maxdelay * s1->sr);
-    susp->bufflen = MAX(2, (long) (susp->maxdelay + 0.5));
-    susp->index = susp->bufflen;
-    susp->buffer = (sample_type *) calloc(susp->bufflen + 1, sizeof(sample_type));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(vardelay, sr);
-    switch (interp_desc) {
-      case INTERP_ns: /* handled below */
-      case INTERP_nn: /* handled below */
-      case INTERP_ss: /* handled below */
-      case INTERP_sn: susp->susp.fetch = tapf_sn_fetch; break;
-      case INTERP_ni: /* handled below */
-      case INTERP_si: susp->susp.fetch = tapf_si_fetch; break;
-      case INTERP_nr: /* handled below */
-      case INTERP_sr: susp->susp.fetch = tapf_sr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < vardelay->t0) sound_prepend_zeros(vardelay, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(vardelay->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = tapf_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = tapf_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = tapf_mark;
-    susp->susp.print_tree = tapf_print_tree;
-    susp->susp.name = "tapf";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->vardelay = vardelay;
-    susp->vardelay_cnt = 0;
-    susp->vardelay_pHaSe = 0.0;
-    susp->vardelay_pHaSe_iNcR = vardelay->sr / sr;
-    susp->vardelay_n = 0;
-    susp->output_per_vardelay = sr / vardelay->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_tapf(sound_type s1, double offset, sound_type vardelay, double maxdelay)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type vardelay_copy = sound_copy(vardelay);
-    return snd_make_tapf(s1_copy, offset, vardelay_copy, maxdelay);
-}
diff --git a/lib-src/libnyquist/tran/tapf.h b/lib-src/libnyquist/tran/tapf.h
deleted file mode 100644
index 879e0f1..0000000
--- a/lib-src/libnyquist/tran/tapf.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_tapf(sound_type s1, double offset, sound_type vardelay, double maxdelay);
-sound_type snd_tapf(sound_type s1, double offset, sound_type vardelay, double maxdelay);
-    /* LISP: (snd-tapf SOUND ANYNUM SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/tapv.alg b/lib-src/libnyquist/tran/tapv.alg
deleted file mode 100644
index 4994ef8..0000000
--- a/lib-src/libnyquist/tran/tapv.alg
+++ /dev/null
@@ -1,53 +0,0 @@
-(TAPV-ALG
-(NAME "tapv")
-(ARGUMENTS ("sound_type" "s1") ("double" "offset") ("sound_type" "vardelay")
-           ("double" "maxdelay"))
-(INLINE-INTERPOLATION T)
-(INTERNAL-SCALING vardelay)
-(ALWAYS-SCALE s1)
-(START (MAX s1 vardelay))
-(TERMINATE (MIN s1 vardelay))
-(LOGICAL-STOP (MIN s1))
-(STATE ("double" "offset" "offset * s1->sr")
-       ("double" "vdscale" "vardelay->scale * s1->sr")
-       ("double" "maxdelay" "maxdelay * s1->sr")
-       ("long" "bufflen" "MAX(2, (long) (susp->maxdelay + 1.5))")
-       ("long" "index" "susp->bufflen")
-       ("sample_type *" "buffer" 
-        "(sample_type *) calloc(susp->bufflen + 1, sizeof(sample_type))"))
-(SAMPLE-RATE (MAX s1))
-(CONSTANT "maxdelay" "offset" "vdscale" "buffer")
-(INNER-LOOP-LOCALS "            double phase;
-            long i;
-")
-(INNER-LOOP "        phase = vardelay * vdscale + offset;
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay) phase = maxdelay;
-        phase = (double) index - phase;
-        /* now phase is a location in the buffer (before modulo) */
-
-        /* Time out to update the buffer:
-         * this is a tricky buffer: buffer[0] == buffer[bufflen]
-         * the logical length is bufflen, but the actual length
-         * is bufflen + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer[index++] = s1;
-        if (index > bufflen) {
-            buffer[0] = buffer[bufflen];
-            index = 1;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen;
-        i = (long) phase;    /* put integer part in i */
-        phase -= (double) i; /* put fractional part in phase */	     
-            output = (sample_type) (buffer[i] * (1.0 - phase) + 
-                                    buffer[i + 1] * phase);")
-(FINALIZATION "    free(susp->buffer);
-")
-)
-
diff --git a/lib-src/libnyquist/tran/tapv.c b/lib-src/libnyquist/tran/tapv.c
deleted file mode 100644
index 45cbbca..0000000
--- a/lib-src/libnyquist/tran/tapv.c
+++ /dev/null
@@ -1,634 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "tapv.h"
-
-void tapv_free();
-
-
-typedef struct tapv_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type vardelay;
-    long vardelay_cnt;
-    sample_block_values_type vardelay_ptr;
-
-    /* support for interpolation of vardelay */
-    sample_type vardelay_x1_sample;
-    double vardelay_pHaSe;
-    double vardelay_pHaSe_iNcR;
-
-    /* support for ramp between samples of vardelay */
-    double output_per_vardelay;
-    long vardelay_n;
-
-    double offset;
-    double vdscale;
-    double maxdelay;
-    long bufflen;
-    long index;
-    sample_type *buffer;
-} tapv_susp_node, *tapv_susp_type;
-
-
-void tapv_sn_fetch(register tapv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double offset_reg;
-    register double vdscale_reg;
-    register double maxdelay_reg;
-    register long bufflen_reg;
-    register long index_reg;
-    register sample_type * buffer_reg;
-    register sample_block_values_type vardelay_ptr_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tapv_sn_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the vardelay input sample block: */
-	susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-	togo = MIN(togo, susp->vardelay_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	vdscale_reg = susp->vdscale;
-	maxdelay_reg = susp->maxdelay;
-	bufflen_reg = susp->bufflen;
-	index_reg = susp->index;
-	buffer_reg = susp->buffer;
-	vardelay_ptr_reg = susp->vardelay_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            double phase;
-            long i;
-        phase = *vardelay_ptr_reg++ * vdscale_reg + offset_reg;
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay_reg) phase = maxdelay_reg;
-        phase = (double) index_reg - phase;
-        /* now phase is a location in the buffer_reg (before modulo) */
-
-        /* Time out to update the buffer_reg:
-         * this is a tricky buffer_reg: buffer_reg[0] == buffer_reg[bufflen_reg]
-         * the logical length is bufflen_reg, but the actual length
-         * is bufflen_reg + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer_reg[index_reg++] = (s1_scale_reg * *s1_ptr_reg++);
-        if (index_reg > bufflen_reg) {
-            buffer_reg[0] = buffer_reg[bufflen_reg];
-            index_reg = 1;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen_reg;
-        i = (long) phase;    /* put integer part in i */
-        phase -= (double) i; /* put fractional part in phase */	     
-            *out_ptr_reg++ = (sample_type) (buffer_reg[i] * (1.0 - phase) + 
-                                    buffer_reg[i + 1] * phase);;
-	} while (--n); /* inner loop */
-
-	susp->bufflen = bufflen_reg;
-	susp->index = index_reg;
-	/* using vardelay_ptr_reg is a bad idea on RS/6000: */
-	susp->vardelay_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(vardelay_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tapv_sn_fetch */
-
-
-void tapv_si_fetch(register tapv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type vardelay_x2_sample;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double offset_reg;
-    register double vdscale_reg;
-    register double maxdelay_reg;
-    register long bufflen_reg;
-    register long index_reg;
-    register sample_type * buffer_reg;
-    register double vardelay_pHaSe_iNcR_rEg = susp->vardelay_pHaSe_iNcR;
-    register double vardelay_pHaSe_ReG;
-    register sample_type vardelay_x1_sample_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tapv_si_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-	susp->vardelay_x1_sample = susp_fetch_sample(vardelay, vardelay_ptr, vardelay_cnt);
-    }
-
-    susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-    vardelay_x2_sample = susp_current_sample(vardelay, vardelay_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	vdscale_reg = susp->vdscale;
-	maxdelay_reg = susp->maxdelay;
-	bufflen_reg = susp->bufflen;
-	index_reg = susp->index;
-	buffer_reg = susp->buffer;
-	vardelay_pHaSe_ReG = susp->vardelay_pHaSe;
-	vardelay_x1_sample_reg = susp->vardelay_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            double phase;
-            long i;
-	    if (vardelay_pHaSe_ReG >= 1.0) {
-		vardelay_x1_sample_reg = vardelay_x2_sample;
-		/* pick up next sample as vardelay_x2_sample: */
-		susp->vardelay_ptr++;
-		susp_took(vardelay_cnt, 1);
-		vardelay_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(vardelay, vardelay_ptr, vardelay_cnt, vardelay_x2_sample);
-	    }
-        phase = 
-		(vardelay_x1_sample_reg * (1 - vardelay_pHaSe_ReG) + vardelay_x2_sample * vardelay_pHaSe_ReG) * vdscale_reg + offset_reg;
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay_reg) phase = maxdelay_reg;
-        phase = (double) index_reg - phase;
-        /* now phase is a location in the buffer_reg (before modulo) */
-
-        /* Time out to update the buffer_reg:
-         * this is a tricky buffer_reg: buffer_reg[0] == buffer_reg[bufflen_reg]
-         * the logical length is bufflen_reg, but the actual length
-         * is bufflen_reg + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer_reg[index_reg++] = (s1_scale_reg * *s1_ptr_reg++);
-        if (index_reg > bufflen_reg) {
-            buffer_reg[0] = buffer_reg[bufflen_reg];
-            index_reg = 1;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen_reg;
-        i = (long) phase;    /* put integer part in i */
-        phase -= (double) i; /* put fractional part in phase */	     
-            *out_ptr_reg++ = (sample_type) (buffer_reg[i] * (1.0 - phase) + 
-                                    buffer_reg[i + 1] * phase);;
-	    vardelay_pHaSe_ReG += vardelay_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->bufflen = bufflen_reg;
-	susp->index = index_reg;
-	susp->vardelay_pHaSe = vardelay_pHaSe_ReG;
-	susp->vardelay_x1_sample = vardelay_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tapv_si_fetch */
-
-
-void tapv_sr_fetch(register tapv_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type vardelay_DeLtA;
-    sample_type vardelay_val;
-    sample_type vardelay_x2_sample;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double offset_reg;
-    register double vdscale_reg;
-    register double maxdelay_reg;
-    register long bufflen_reg;
-    register long index_reg;
-    register sample_type * buffer_reg;
-    register sample_type s1_scale_reg = susp->s1->scale;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tapv_sr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->vardelay_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-    vardelay_x2_sample = susp_current_sample(vardelay, vardelay_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next vardelay_x2_sample when phase goes past 1.0; */
-	/* we use vardelay_n (computed below) to avoid roundoff errors: */
-	if (susp->vardelay_n <= 0) {
-	    susp->vardelay_x1_sample = vardelay_x2_sample;
-	    susp->vardelay_ptr++;
-	    susp_took(vardelay_cnt, 1);
-	    susp->vardelay_pHaSe -= 1.0;
-	    susp_check_term_samples(vardelay, vardelay_ptr, vardelay_cnt);
-	    vardelay_x2_sample = susp_current_sample(vardelay, vardelay_ptr);
-	    /* vardelay_n gets number of samples before phase exceeds 1.0: */
-	    susp->vardelay_n = (long) ((1.0 - susp->vardelay_pHaSe) *
-					susp->output_per_vardelay);
-	}
-	togo = MIN(togo, susp->vardelay_n);
-	vardelay_DeLtA = (sample_type) ((vardelay_x2_sample - susp->vardelay_x1_sample) * susp->vardelay_pHaSe_iNcR);
-	vardelay_val = (sample_type) (susp->vardelay_x1_sample * (1.0 - susp->vardelay_pHaSe) +
-		 vardelay_x2_sample * susp->vardelay_pHaSe);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	offset_reg = susp->offset;
-	vdscale_reg = susp->vdscale;
-	maxdelay_reg = susp->maxdelay;
-	bufflen_reg = susp->bufflen;
-	index_reg = susp->index;
-	buffer_reg = susp->buffer;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            double phase;
-            long i;
-        phase = vardelay_val * vdscale_reg + offset_reg;
-        /* now phase should give number of samples of delay */
-        if (phase < 0) phase = 0;
-        else if (phase > maxdelay_reg) phase = maxdelay_reg;
-        phase = (double) index_reg - phase;
-        /* now phase is a location in the buffer_reg (before modulo) */
-
-        /* Time out to update the buffer_reg:
-         * this is a tricky buffer_reg: buffer_reg[0] == buffer_reg[bufflen_reg]
-         * the logical length is bufflen_reg, but the actual length
-         * is bufflen_reg + 1 to allow for a repeated sample at the
-         * end. This allows for efficient interpolation.
-         */ 
-        buffer_reg[index_reg++] = (s1_scale_reg * *s1_ptr_reg++);
-        if (index_reg > bufflen_reg) {
-            buffer_reg[0] = buffer_reg[bufflen_reg];
-            index_reg = 1;
-        }
-
-        /* back to the phase calculation: 
-         * use conditional instead of modulo
-         */
-        if (phase < 0) phase += bufflen_reg;
-        i = (long) phase;    /* put integer part in i */
-        phase -= (double) i; /* put fractional part in phase */	     
-            *out_ptr_reg++ = (sample_type) (buffer_reg[i] * (1.0 - phase) + 
-                                    buffer_reg[i + 1] * phase);;
-	    vardelay_val += vardelay_DeLtA;
-	} while (--n); /* inner loop */
-
-	susp->bufflen = bufflen_reg;
-	susp->index = index_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->vardelay_pHaSe += togo * susp->vardelay_pHaSe_iNcR;
-	susp->vardelay_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tapv_sr_fetch */
-
-
-void tapv_toss_fetch(susp, snd_list)
-  register tapv_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from vardelay up to final_time for this block of zeros */
-    while ((round((final_time - susp->vardelay->t0) * susp->vardelay->sr)) >=
-	   susp->vardelay->current)
-	susp_get_samples(vardelay, vardelay_ptr, vardelay_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->vardelay->t0) * susp->vardelay->sr -
-         (susp->vardelay->current - susp->vardelay_cnt));
-    susp->vardelay_ptr += n;
-    susp_took(vardelay_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void tapv_mark(tapv_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->vardelay);
-}
-
-
-void tapv_free(tapv_susp_type susp)
-{
-    free(susp->buffer);
-    sound_unref(susp->s1);
-    sound_unref(susp->vardelay);
-    ffree_generic(susp, sizeof(tapv_susp_node), "tapv_free");
-}
-
-
-void tapv_print_tree(tapv_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("vardelay:");
-    sound_print_tree_1(susp->vardelay, n);
-}
-
-
-sound_type snd_make_tapv(sound_type s1, double offset, sound_type vardelay, double maxdelay)
-{
-    register tapv_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, vardelay->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, tapv_susp_node, "snd_make_tapv");
-    susp->offset = offset * s1->sr;
-    susp->vdscale = vardelay->scale * s1->sr;
-    susp->maxdelay = maxdelay * s1->sr;
-    susp->bufflen = MAX(2, (long) (susp->maxdelay + 1.5));
-    susp->index = susp->bufflen;
-    susp->buffer = (sample_type *) calloc(susp->bufflen + 1, sizeof(sample_type));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(vardelay, sr);
-    switch (interp_desc) {
-      case INTERP_ns: /* handled below */
-      case INTERP_nn: /* handled below */
-      case INTERP_ss: /* handled below */
-      case INTERP_sn: susp->susp.fetch = tapv_sn_fetch; break;
-      case INTERP_ni: /* handled below */
-      case INTERP_si: susp->susp.fetch = tapv_si_fetch; break;
-      case INTERP_nr: /* handled below */
-      case INTERP_sr: susp->susp.fetch = tapv_sr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < vardelay->t0) sound_prepend_zeros(vardelay, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(vardelay->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = tapv_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = tapv_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = tapv_mark;
-    susp->susp.print_tree = tapv_print_tree;
-    susp->susp.name = "tapv";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->vardelay = vardelay;
-    susp->vardelay_cnt = 0;
-    susp->vardelay_pHaSe = 0.0;
-    susp->vardelay_pHaSe_iNcR = vardelay->sr / sr;
-    susp->vardelay_n = 0;
-    susp->output_per_vardelay = sr / vardelay->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_tapv(sound_type s1, double offset, sound_type vardelay, double maxdelay)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type vardelay_copy = sound_copy(vardelay);
-    return snd_make_tapv(s1_copy, offset, vardelay_copy, maxdelay);
-}
diff --git a/lib-src/libnyquist/tran/tapv.h b/lib-src/libnyquist/tran/tapv.h
deleted file mode 100644
index 81f4b83..0000000
--- a/lib-src/libnyquist/tran/tapv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_tapv(sound_type s1, double offset, sound_type vardelay, double maxdelay);
-sound_type snd_tapv(sound_type s1, double offset, sound_type vardelay, double maxdelay);
-    /* LISP: (snd-tapv SOUND ANYNUM SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/tone.alg b/lib-src/libnyquist/tran/tone.alg
deleted file mode 100644
index 9a8e1a5..0000000
--- a/lib-src/libnyquist/tran/tone.alg
+++ /dev/null
@@ -1,15 +0,0 @@
-(TONE-ALG
-(NAME "tone")
-(ARGUMENTS ("sound_type" "input") ("double" "hz"))
-(START (MIN input))
-(TERMINATE (MIN input))
-(LOGICAL-STOP (MIN input))
-(STATE ("double" "b" "2.0 - cos(hz * PI2 / input->sr)" TEMP)
-       ("double" "c2" "b - sqrt((b * b) - 1.0)")
-       ("double" "c1" "(1.0 - susp->c2) * input->scale")
-       ("double" "prev" "0.0"))
-(INTERNAL-SCALING input)
-(CONSTANT "c1" "c2")
-(INNER-LOOP "output = (sample_type) (prev = c1 * input + c2 * prev)")
-)
-
diff --git a/lib-src/libnyquist/tran/tone.c b/lib-src/libnyquist/tran/tone.c
deleted file mode 100644
index 00d1622..0000000
--- a/lib-src/libnyquist/tran/tone.c
+++ /dev/null
@@ -1,213 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "tone.h"
-
-void tone_free();
-
-
-typedef struct tone_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    double c2;
-    double c1;
-    double prev;
-} tone_susp_node, *tone_susp_type;
-
-
-void tone_n_fetch(register tone_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double c2_reg;
-    register double c1_reg;
-    register double prev_reg;
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "tone_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	prev_reg = susp->prev;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) (prev_reg = c1_reg * *input_ptr_reg++ + c2_reg * prev_reg);
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tone_n_fetch */
-
-
-void tone_toss_fetch(susp, snd_list)
-  register tone_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void tone_mark(tone_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void tone_free(tone_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(tone_susp_node), "tone_free");
-}
-
-
-void tone_print_tree(tone_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_tone(sound_type input, double hz)
-{
-    register tone_susp_type susp;
-    double b;
-    rate_type sr = input->sr;
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, tone_susp_node, "snd_make_tone");
-    b = 2.0 - cos(hz * PI2 / input->sr);
-    susp->c2 = b - sqrt((b * b) - 1.0);
-    susp->c1 = (1.0 - susp->c2) * input->scale;
-    susp->prev = 0.0;
-    susp->susp.fetch = tone_n_fetch;
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = tone_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = tone_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = tone_mark;
-    susp->susp.print_tree = tone_print_tree;
-    susp->susp.name = "tone";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_tone(sound_type input, double hz)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_tone(input_copy, hz);
-}
diff --git a/lib-src/libnyquist/tran/tone.h b/lib-src/libnyquist/tran/tone.h
deleted file mode 100644
index 34798a1..0000000
--- a/lib-src/libnyquist/tran/tone.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_tone(sound_type input, double hz);
-sound_type snd_tone(sound_type input, double hz);
-    /* LISP: (snd-tone SOUND ANYNUM) */
diff --git a/lib-src/libnyquist/tran/tonev.alg b/lib-src/libnyquist/tran/tonev.alg
deleted file mode 100644
index c7ba37e..0000000
--- a/lib-src/libnyquist/tran/tonev.alg
+++ /dev/null
@@ -1,24 +0,0 @@
-(TONEV-ALG
-(NAME "tonev")
-(ARGUMENTS ("sound_type" "s1") ("sound_type" "hz"))
-(INLINE-INTERPOLATION T)
-(INTERNAL-SCALING s1)
-(ALWAYS-SCALE hz)
-(START (MAX s1 hz))
-(TERMINATE (MIN s1 hz))
-(LOGICAL-STOP (MIN s1))
-(STATE ("double" "scale1" "s1->scale")
-       ("double" "c2" "0.0")
-       ("double" "c1" "0.0")
-       ("double" "prev" "0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr))"))
-(SAMPLE-RATE (MAX s1))
-(STEP-FUNCTION hz)
-(DEPENDS ("b" "hz" "2.0 - cos(hz)" TEMP "register double")
-         ("c2" "hz" "b - sqrt((b * b) - 1.0)")
-         ("c1" "hz" "(1.0 - c2) * scale1"))
-(CONSTANT "c1" "c2" "b" "scale1")
-(FORCE-INTO-REGISTER scale1)
-(INNER-LOOP "            output = (sample_type) (prev = c1 * s1 + c2 * prev)")
-)
-
diff --git a/lib-src/libnyquist/tran/tonev.c b/lib-src/libnyquist/tran/tonev.c
deleted file mode 100644
index b5a2b06..0000000
--- a/lib-src/libnyquist/tran/tonev.c
+++ /dev/null
@@ -1,531 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "tonev.h"
-
-void tonev_free();
-
-
-typedef struct tonev_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type s1;
-    long s1_cnt;
-    sample_block_values_type s1_ptr;
-    sound_type hz;
-    long hz_cnt;
-    sample_block_values_type hz_ptr;
-
-    /* support for interpolation of hz */
-    sample_type hz_x1_sample;
-    double hz_pHaSe;
-    double hz_pHaSe_iNcR;
-
-    /* support for ramp between samples of hz */
-    double output_per_hz;
-    long hz_n;
-
-    double scale1;
-    double c2;
-    double c1;
-    double prev;
-} tonev_susp_node, *tonev_susp_type;
-
-
-void tonev_ns_fetch(register tonev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register double prev_reg;
-    register sample_type hz_scale_reg = susp->hz->scale;
-    register sample_block_values_type hz_ptr_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tonev_ns_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past the hz input sample block: */
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	togo = MIN(togo, susp->hz_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	prev_reg = susp->prev;
-	hz_ptr_reg = susp->hz_ptr;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    register double b;
-	    b = 2.0 - cos((hz_scale_reg * *hz_ptr_reg++));
-	    c2_reg = b - sqrt((b * b) - 1.0);
-	    c1_reg = (1.0 - c2_reg) * scale1_reg;
-            *out_ptr_reg++ = (sample_type) (prev_reg = c1_reg * *s1_ptr_reg++ + c2_reg * prev_reg);
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using hz_ptr_reg is a bad idea on RS/6000: */
-	susp->hz_ptr += togo;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp_took(hz_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tonev_ns_fetch */
-
-
-void tonev_ni_fetch(register tonev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register double prev_reg;
-    register double hz_pHaSe_iNcR_rEg = susp->hz_pHaSe_iNcR;
-    register double hz_pHaSe_ReG;
-    register sample_type hz_x1_sample_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tonev_ni_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	    register double b;
-	susp->started = true;
-	susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	b = 2.0 - cos(susp->hz_x1_sample);
-	susp->c2 = b - sqrt((b * b) - 1.0);
-	susp->c1 = (1.0 - susp->c2) * susp->scale1;
-    }
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	prev_reg = susp->prev;
-	hz_pHaSe_ReG = susp->hz_pHaSe;
-	hz_x1_sample_reg = susp->hz_x1_sample;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (hz_pHaSe_ReG >= 1.0) {
-/* fixup-depends hz */
-		register double b; 
-		/* pick up next sample as hz_x1_sample: */
-		susp->hz_ptr++;
-		susp_took(hz_cnt, 1);
-		hz_pHaSe_ReG -= 1.0;
-		susp_check_term_samples_break(hz, hz_ptr, hz_cnt, hz_x1_sample_reg);
-		hz_x1_sample_reg = susp_current_sample(hz, hz_ptr);
-		b = 2.0 - cos(hz_x1_sample_reg);
-		c2_reg = susp->c2 = b - sqrt((b * b) - 1.0);
-		c1_reg = susp->c1 = (1.0 - c2_reg) * scale1_reg;
-	    }
-            *out_ptr_reg++ = (sample_type) (prev_reg = c1_reg * *s1_ptr_reg++ + c2_reg * prev_reg);
-	    hz_pHaSe_ReG += hz_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->prev = prev_reg;
-	susp->hz_pHaSe = hz_pHaSe_ReG;
-	susp->hz_x1_sample = hz_x1_sample_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tonev_ni_fetch */
-
-
-void tonev_nr_fetch(register tonev_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type hz_val;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double scale1_reg;
-    register double c2_reg;
-    register double c1_reg;
-    register double prev_reg;
-    register sample_block_values_type s1_ptr_reg;
-    falloc_sample_block(out, "tonev_nr_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->hz_pHaSe = 1.0;
-    }
-
-    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the s1 input sample block: */
-	susp_check_term_log_samples(s1, s1_ptr, s1_cnt);
-	togo = MIN(togo, susp->s1_cnt);
-
-	/* grab next hz_x1_sample when phase goes past 1.0; */
-	/* use hz_n (computed below) to avoid roundoff errors: */
-	if (susp->hz_n <= 0) {
-	    register double b;
-	    susp_check_term_samples(hz, hz_ptr, hz_cnt);
-	    susp->hz_x1_sample = susp_fetch_sample(hz, hz_ptr, hz_cnt);
-	    susp->hz_pHaSe -= 1.0;
-	    /* hz_n gets number of samples before phase exceeds 1.0: */
-	    susp->hz_n = (long) ((1.0 - susp->hz_pHaSe) *
-					susp->output_per_hz);
-	    b = 2.0 - cos(susp->hz_x1_sample);
-	    susp->c2 = b - sqrt((b * b) - 1.0);
-	    susp->c1 = (1.0 - susp->c2) * susp->scale1;
-	}
-	togo = MIN(togo, susp->hz_n);
-	hz_val = susp->hz_x1_sample;
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	scale1_reg = susp->scale1;
-	c2_reg = susp->c2;
-	c1_reg = susp->c1;
-	prev_reg = susp->prev;
-	s1_ptr_reg = susp->s1_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-            *out_ptr_reg++ = (sample_type) (prev_reg = c1_reg * *s1_ptr_reg++ + c2_reg * prev_reg);
-	} while (--n); /* inner loop */
-
-	susp->prev = prev_reg;
-	/* using s1_ptr_reg is a bad idea on RS/6000: */
-	susp->s1_ptr += togo;
-	out_ptr += togo;
-	susp_took(s1_cnt, togo);
-	susp->hz_pHaSe += togo * susp->hz_pHaSe_iNcR;
-	susp->hz_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* tonev_nr_fetch */
-
-
-void tonev_toss_fetch(susp, snd_list)
-  register tonev_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from s1 up to final_time for this block of zeros */
-    while ((round((final_time - susp->s1->t0) * susp->s1->sr)) >=
-	   susp->s1->current)
-	susp_get_samples(s1, s1_ptr, s1_cnt);
-    /* fetch samples from hz up to final_time for this block of zeros */
-    while ((round((final_time - susp->hz->t0) * susp->hz->sr)) >=
-	   susp->hz->current)
-	susp_get_samples(hz, hz_ptr, hz_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->s1->t0) * susp->s1->sr -
-         (susp->s1->current - susp->s1_cnt));
-    susp->s1_ptr += n;
-    susp_took(s1_cnt, n);
-    n = round((final_time - susp->hz->t0) * susp->hz->sr -
-         (susp->hz->current - susp->hz_cnt));
-    susp->hz_ptr += n;
-    susp_took(hz_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void tonev_mark(tonev_susp_type susp)
-{
-    sound_xlmark(susp->s1);
-    sound_xlmark(susp->hz);
-}
-
-
-void tonev_free(tonev_susp_type susp)
-{
-    sound_unref(susp->s1);
-    sound_unref(susp->hz);
-    ffree_generic(susp, sizeof(tonev_susp_node), "tonev_free");
-}
-
-
-void tonev_print_tree(tonev_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("s1:");
-    sound_print_tree_1(susp->s1, n);
-
-    indent(n);
-    stdputstr("hz:");
-    sound_print_tree_1(susp->hz, n);
-}
-
-
-sound_type snd_make_tonev(sound_type s1, sound_type hz)
-{
-    register tonev_susp_type susp;
-    rate_type sr = s1->sr;
-    time_type t0 = MAX(s1->t0, hz->t0);
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    falloc_generic(susp, tonev_susp_node, "snd_make_tonev");
-    susp->scale1 = s1->scale;
-    susp->c2 = 0.0;
-    susp->c1 = 0.0;
-    susp->prev = 0.0;
-    hz->scale = (sample_type) (hz->scale * (PI2 / s1->sr));
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(s1, sr);
-    interp_desc = (interp_desc << 2) + interp_style(hz, sr);
-    switch (interp_desc) {
-      case INTERP_sn: /* handled below */
-      case INTERP_ss: /* handled below */
-      case INTERP_nn: /* handled below */
-      case INTERP_ns: susp->susp.fetch = tonev_ns_fetch; break;
-      case INTERP_si: /* handled below */
-      case INTERP_ni: susp->susp.fetch = tonev_ni_fetch; break;
-      case INTERP_sr: /* handled below */
-      case INTERP_nr: susp->susp.fetch = tonev_nr_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < s1->t0) sound_prepend_zeros(s1, t0);
-    if (t0 < hz->t0) sound_prepend_zeros(hz, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(s1->t0, MIN(hz->t0, t0));
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = tonev_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = tonev_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = tonev_mark;
-    susp->susp.print_tree = tonev_print_tree;
-    susp->susp.name = "tonev";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(s1);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->s1 = s1;
-    susp->s1_cnt = 0;
-    susp->hz = hz;
-    susp->hz_cnt = 0;
-    susp->hz_pHaSe = 0.0;
-    susp->hz_pHaSe_iNcR = hz->sr / sr;
-    susp->hz_n = 0;
-    susp->output_per_hz = sr / hz->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_tonev(sound_type s1, sound_type hz)
-{
-    sound_type s1_copy = sound_copy(s1);
-    sound_type hz_copy = sound_copy(hz);
-    return snd_make_tonev(s1_copy, hz_copy);
-}
diff --git a/lib-src/libnyquist/tran/tonev.h b/lib-src/libnyquist/tran/tonev.h
deleted file mode 100644
index 95bc791..0000000
--- a/lib-src/libnyquist/tran/tonev.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_tonev(sound_type s1, sound_type hz);
-sound_type snd_tonev(sound_type s1, sound_type hz);
-    /* LISP: (snd-tonev SOUND SOUND) */
diff --git a/lib-src/libnyquist/tran/translate.lsp b/lib-src/libnyquist/tran/translate.lsp
deleted file mode 100644
index ea6ff4e..0000000
--- a/lib-src/libnyquist/tran/translate.lsp
+++ /dev/null
@@ -1,961 +0,0 @@
-;*************
-;           Change Log
-;  Date     | Change
-;-----------+------------------------------------
-; 18-Dec-91 | [1.2] <jmn> Created
-; 18-Dec-91 | [1.2] <jmn> added *ANSI* tests
-; 13-Jan-92 | [1.2] <jmn> ANSI header includes stdlib.h, excludes decl of
-;           | malloc
-; 13-Jan-92 | [1.2] <jmn> upgraded to support new sound block structure
-; 15-Jan-92 | [1.2] <jmn> added declarations for UNKNOWN, isunknown()
-; 15-Jan-92 | [1.2] <jmn> commented out boolean, true, false now declared
-;           | in sound.h
-;*************
-;; translate.lsp -- build signal processing code from high level descr.
-
-(setf *ANSI* t)
-(setf *debug* t)
-
-;;**********
-;;	combinations - generate all combinations
-;; Inputs:
-;;	n - number of combinations to generate
-;; Result:
-;;	list of the form
-;;	( (a1 b1) (a2 b2) (a3 b3) ... (an bn) )
-;;	
-;;**********
-
-(defun combinations (n)
-  (let (comb)
-    (cond ((eq n 0) '(nil))
-      (t
-       (setf comb (combinations (1- n)))
-       (append (insert 'ramp comb)
-           (insert 'interp comb)
-           (insert 'scale comb)
-           (insert 'none comb))))))
-
-(print 'comb)
-
-(defun lt () (load "translate"))
-(defun ls () (load "writesusp"))
-(defun lm () (load "writemake"))
-(defun lo () (load "writetoss"))
-(defun li () (load "innerloop"))
-
-(defun ma () (translate "partial"))
-(defun mb () (translate "buzz"))
-(defun mal () (translate "alpass"))
-(defun mf () (translate "follow"))
-(defun mfas () (translate "fromarraystream"))
-(defun mfo () (translate "fromobject"))
-(defun mp () (translate "prod"))
-(defun mc () (translate "const"))
-(defun mct () (translate "coterm"))
-(defun mcl () (translate "clip"))
-(defun me () (translate "exp"))
-(defun mg () (translate "gate"))
-;(defun mr () (translate "ramp"))
-(defun ms () (translate "sine"))
-(defun msh () (translate "shape"))
-(defun mpw () (translate "pwl"))
-;(defun msfr () (translate "sfread"))
-(defun mde () (translate "delay"))
-(defun mdcv () (translate "delaycv"))
-; note: downproto is hand retouched to make downsample
-;(defun md () (translate "downproto"))
-(defun mu () (translate "upsample"))
-(defun ml () (translate "scale"))
-(defun mlo () (translate "log"))
-(defun mm () (translate "maxv"))
-(defun mo () (translate "osc"))
-(defun mof () (translate "offset"))
-(defun mam () (translate "amosc"))
-(defun mfm () (translate "fmosc"))
-(defun mi () (translate "integrate"))
-(defun msl () (translate "slope"))
-(defun mw () (translate "white"))
-(defun mt () (translate "tone"))
-(defun mta () (translate "tapv"))
-(defun mat () (translate "atone"))
-(defun mre () (translate "reson"))
-(defun mrec () (translate "recip"))
-(defun mar () (translate "areson"))
-(defun mtv () (translate "tonev"))
-(defun matv () (translate "atonev"))
-(defun mrvc () (translate "resonvc"))
-(defun mrcv () (translate "resoncv"))
-(defun marvc () (translate "aresonvc"))
-(defun marcv () (translate "aresoncv"))
-(defun mrvv () (translate "resonvv"))
-(defun marvv () (translate "aresonvv"))
-(defun msa () (translate "sampler"))
-(defun msio () (translate "siosc"))
-(defun mq () (translate "quantize"))
-(defun mbq () (translate "biquad"))
-
-(defun mifft () (translate "ifft"))
-
-(defun mcg () (translate "congen"))
-(defun mcv () (translate "convolve"))
-(defun mos () (translate "oneshot"))
-(defun mch () (translate "chase"))
-(defun mpl () (translate "pluck"))
-
-(defun m () (mf) (mp) (mc) (mcl) (mg)
-;;;;;;      (mr) (msfr) (md)
-        (mm) (ms) (msh) (mpw) (ma) (mb) (mde) (mdcv)
-        (mi) (mu) (ml) (mlo)
-        (mo) (mof) (mam) (mfm) (mw) (msl) (mt) (mat) (mre) (mrec)
-        (mar) (mtv)	(mta) (matv) (mrvc) (mrcv) (marvc) (marcv)
-            (mrvv) (marvv) (me) (msa) (msio) (mq) (mcg) (mifft) 
-            (mfas) (mfo) (mct) (mcv) (mal) (mos) (mch) (mbq) (mpl))
-
-; call this when you change writesusp.lsp: "N"ew "S"usp
-(defun ns () (ls) (m))
-; call this when you change writemake.lsp:
-(defun nm () (lm) (m))
-; call this when you change innerloop.lsp:
-(defun ni () (li) (m))
-
-
-;;**********
-;; any-ramp-in -- see if interpolation-list has 'ramp
-;;
-;; note: lis is a list of lists of atoms
-;;**********
-(defun any-ramp-in (lis)
-  (dolist (spec lis)
-    (cond ((member 'RAMP spec)
-       (return t)))))
-
-
-;;**********
-;; any-ramp-or-interp-in -- see if interpolation-list has 'ramp or 'interp
-;;
-;;**********
-(defun any-ramp-or-interp-in (lis)
-  (or (any-ramp-in lis)
-      (dolist (spec lis)
-    (cond ((member 'INTERP spec)
-           (return t))))))
-
-
-;;**********
-;; encode -- come up with ascii string for interp spec
-;;
-;; e.g. (none ramp) -> "nr"
-;;
-;;**********
-(defun encode (interpolation)
-  (let (first-letter 
-    (result ""))
-    (dolist (interp interpolation)
-      (setf first-letter (string (char (symbol-name interp) 0)))
-      (setf result (strcat result first-letter)))
-    (string-downcase result)))
-
-
-;; ****************
-;;	header-list
-;;
-;; Result:
-;;	'( "s1" "s2" ... "sn" )
-;; 	where s1, s2, etc. are the strings for the header part of the
-;;	resulting .c file
-;; Notes:
-;;	Kludgy.  Fix this up for easier maintenance
-;; ****************
-
-(if *ANSI* 
-    ; ANSI
-    (setf header-list 
-     '("#include \"stdio.h\"\n"
-       "#ifndef mips\n"
-       "#include \"stdlib.h\"\n"
-       "#endif\n"
-       "#include \"xlisp.h\"\n"                             
-       "#include \"sound.h\"\n\n"
-       "#include \"falloc.h\"\n"
-       "#include \"cext.h\"\n"
-       ))
-    ; non-ANSI
-    (setf header-list 
-     '("#include \"stdio.h\"\n"
-       "#include \"xlisp.h\"\n"                             
-       "#include \"sound.h\"\n"
-       "#include \"falloc.h\"\n")))
-
-
-(setf h-boilerplate nil)
-
-;--------------obsolete boilerplate-------------
-;; Note that we use "-1" and "< 0".  We rely upon C's semantics to
-;; make this work correctly if it is being assigned to a long, float, or
-;; double, and if a long, float, or double is being compared
-;      '("\n#ifndef UNKNOWN\n"
-;	"#define UNKNOWN -1\n"
-;	"#define isunknown(x) ( (x) < 0)\n"
-;	"#endif /* UNKNOWN */\n"))
-;-------------------------
-
-
-;;**********
-;; code-gen -- do the output
-;;
-;; Inputs:
-;;	alg -
-;;	stream -
-;;	hstream -
-;;**********
-
-(defun code-gen (alg stream hstream)
-  (let (interpolation-list
-    (support-functions (get-slot alg 'support-functions))
-    (support-header    (get-slot alg 'support-header))
-    (name (get-slot alg 'name)))
-    ;(display "code-gen: " alg stream hstream)
-    (print-strings header-list stream)
-    (format stream "#include \"~A\"~%" (get-slot alg 'hfile))
-    (display "code-gen: printed header")
-    (format stream "~%void ~A_free();~%" name)
-    (setf interpolation-list (make-interpolation-list alg))
-    (display "code-gen: " interpolation-list)
-    (put-slot alg interpolation-list 'interpolation-list)
-    (put-slot alg (make-interpolation-rationale alg) 
-          'interpolation-rationale)
-      
-    (write-typedef alg stream)
-    (display "code-gen: wrote typedef")
-
-    (cond (support-functions
-       (format stream "~%~A" support-functions)))
-
-    (dolist (interpolation interpolation-list)
-      (put-slot alg interpolation 'interpolation)
-      (display "code-gen: going to write susp for " interpolation)
-      (write-susp alg stream)
-      (display "code-gen: wrote susp for" interpolation))
-
-    ;; this is a special case for no sound arguments
-    (cond ((null interpolation-list)
-       (write-susp alg stream)))
-
-    ;; write the function that is called to read and toss
-    ;; samples up to the start time (but only if there are sound arguments)
-    (cond ((get-slot alg 'sound-names)
-       (write-toss alg stream)))
-
-    ;; write the GC marking function        
-    (cond ((needs-mark-routine alg)
-       (write-mark alg stream)))
-
-    (write-make alg stream)
-    (display "code-gen: wrote make")
-
-    (write-xlmake alg stream)
-    (display "code-gen: wrote xlmake")
-
-    (write-header alg hstream)
-    (cond ( support-header
-            (print-strings support-header hstream)))
-    (print-strings h-boilerplate hstream)
-    (display "code-gen: wrote header")))
-
-
-;;**********
-;; commute-check -- 
-;;
-;; Purpose:
-;; 	see if interpolation spec is redundant due to commutativity
-;; Algorithm: 
-;;	for each list of "commutable" sounds, make sure spec asks for
-;;	cannonical ordering:  NONE > SCALE > INTERP > RAMP
-;;**********
-(defun commute-check (alg spec)
-  (let ((sounds (get-slot alg 'sound-args))
-    (commute-list (get-slot alg 'commutative))
-    (result t)
-    s1 s2)
-    (dolist (commute commute-list)
-      (dotimes (n (1- (length commute)))  ; look at all pairs
-    (setf s1 (nth n commute))
-    (setf s2 (nth (1+ n) commute))
-    (setf s1 (index s1 sounds))
-    (setf s2 (index s2 sounds))
-    (setf s1 (nth s1 spec))
-    (setf s2 (nth s2 spec))
-    (cond ((< (eval s1) (eval s2))
-           (setf result nil)
-           (return)))))
-    result))
-
-(setf NONE 4) (setf SCALE 3) (setf INTERP 2) (setf RAMP 1)
-
-
-(print 'ramp)
-
-
-;;**********
-;; concatenate -- string concatenation
-;;
-;; Inputs:
-;;	"s1" - string
-;;	"s2" - string
-;; Result:
-;;	"s1s2"
-;;**********
-
-(defun concatenate (type s1 s2)
-    (cond ((eq type 'string) (strcat s1 s2))
-          (t (error "concatenate type"))))
-
-
-;;**********
-;; get-slot -- access the algorithm description, return single value
-;;
-;;**********
-
-(setfn get-slot get)
-
-
-;;**********
-;; index -- find location of list element
-;;
-;; Inputs:
-;;	atom - atom to be found in list
-;;	lis  - list searched for
-;; Result:
-;;	integer - index of atom in lis
-;;	NIL	- atom not member of lis
-;;**********
-
-(defun index (atom lis)
-  (let ((i 0))
-    (dolist (elt lis)
-      (cond ((eq elt atom)
-         (return i)))
-      (setf i (1+ i)))))
-
-
-;;**********
-;; insert -- insert an atom at the front of each element of a list
-;;
-;; Inputs:
-;;	atom - 
-;;	list-of-lists - lists of the form ( (L1) (L2) ... (Ln))
-;; Result:
-;;	( (atom L1) (atom L2) ... (atom Ln) )
-;;**********
-(defun insert (atom list-of-lists)
-  (mapcar '(lambda (lis) (cons atom lis)) list-of-lists))
-
-(print 'insert)
-
-;; interp-check -- check to see that no interpolation is being done
-;;   (unless the algorithm is the up-sample algorithm, a special case
-;;
-(defun interp-check (alg spec)
-  (or *INLINE-INTERPOLATION*
-      (get alg 'inline-interpolation)
-      (and (not (member 'INTERP spec))
-       (not (member 'RAMP spec)))))
-    
-(print 'interp-check)
-
-
-;;**********
-;; make-interpolation-list -- figure out the possible interpolation forms
-;;
-;; Inputs:
-;;	 alg - algorithm description
-;; Output:
-;;  List of interpolation styles, e.g. 
-;;  ((NONE NONE) (NONE INTERP) (NONE RAMP)), where the styles
-;; are in the same order as the sound arguments (sound-args)
-;; 
-;;**********
-(defun make-interpolation-list (alg)
-  (let (sound-args specs real-specs sound-names sound-to-name
-    (sr (get-slot alg 'sample-rate))
-    (not-in-inner-loop (get-slot alg 'not-in-inner-loop)))
-    ; derive some lists:
-    ;   sound-args are atom names of sound-type arguments
-    ;   sound-names are the corresponding string names
-    ;   sound-to-name is an assoc list mapping atom to case-sensitive string
-;    (display "make-interpolation-list")
-
-    (dolist (arg (get-slot alg 'arguments))
-    (cond ((and (equal (car arg) "sound_type")
-            (not (member (cadr arg) not-in-inner-loop :test #'equal)))
-           (setf sound-names (cons (cadr arg) sound-names))
-           (setf sound-args (cons (name-to-symbol (cadr arg))
-                      sound-args))
-           (setf sound-to-name (cons (cons (car sound-args)
-                           (car sound-names))
-                     sound-to-name))
-;	       (display "in make-interpolation-list" sound-to-name)
-          )))
-;    (display "make-interpolation-list: " (reverse sound-args))
-    (put-slot alg (reverse sound-args) 'sound-args)
-;    (display "make-interpolation-list: " (reverse sound-names))
-    (put-slot alg (reverse sound-names) 'sound-names)
-    (put-slot alg sound-to-name 'sound-to-name)
-    ; make all combinations of interpolations
-    (setf specs (combinations (length sound-args)))
-    (display "make-interpolation-list: " specs)
-    ; reject combinations based on commutativity, linearity, and sample rate:
-    ; if sample-rate is not specified, then some interpolation must be 'NONE,
-    ; i.e. sample-rate is specified OR an interpolation is 'NONE:
-    ; if INLINE-INTERPOLATION is turned off, don't allow RAMP or INTERP
-     ; if INTERNAL-SCALING applies, then don't allow SCALE
-    (dolist (spec specs)
-    (cond ((and spec
-            (interp-check alg spec)
-            (commute-check alg spec)
-            (scale-check alg spec)
-            (sr-check alg spec))
-           (setf real-specs (cons spec real-specs)))))
-    (cond ((and (car specs) (null real-specs))
-       (error "no interpolation specs")))
-    (print real-specs)))
-
-
-; MAKE-INTERPOLATION-RATIONALE -- record the rationale for
-; interpolation combinations:
-;   NIL means no special considerations
-;   ALWAYS-SCALE means 'n' eliminated, use 's' instead
-;   LINEAR means 's' eliminated and unnecessary
-;   INTERNAL-SCALING means 's' eliminated, use 'n' instead
-;
-(defun make-interpolation-rationale (alg)
-  (let (interpolation-rationale len snd
-    (sounds (get-slot alg 'sound-args))
-    (linear (get-slot alg 'linear))
-    (internal-scaling (get-slot alg 'internal-scaling))
-    (always-scale (get-slot alg 'always-scale)))
-    (setf interpolation-rationale (mapcar #'return-nil sounds))
-    (setf len (length interpolation-rationale))
-    (dotimes (n len)
-         (setf snd (nth n sounds))
-         (cond ((member snd always-scale)
-            (setf (nth n interpolation-rationale) 'ALWAYS-SCALE)))
-         (cond ((member snd linear)
-            (cond ((nth n interpolation-rationale)
-               (error "parameter is both linear and always-scale"
-                  snd)))
-            (setf (nth n interpolation-rationale) 'LINEAR)))
-         (cond ((member snd internal-scaling)
-            (cond ((nth n interpolation-rationale)
-               (error 
- "parameter is both linear and always-scale or internal-scaling" snd)))
-            (setf (nth n interpolation-rationale) 'INTERNAL-SCALING))))
-    (display "make-interpolation-rationale" interpolation-rationale)
-    interpolation-rationale))
-
-
-(print 'hi)
-
-;;**********
-;; make-schema-from-slots -- take attr/value pairs and make property list
-;;
-;; Inputs:
-;;	slots - a list of the form 
-;;			(name
-;;			   (attribute1 value1) (attribute2 value2)
-;;					... (attributen valuen) )
-;; Result:
-;;	The atom 'name' with the attached property list
-;; Effect:
-;;	Adds properties to the atom 'name' based on the attribute-value
-;;	pairs. 
-;; Notes:
-;;	The property-list representation is chosen for time efficiency of
-;;	access
-;;**********
-
-(defun make-schema-from-slots (slots)
-  (let ((name (car slots)))
-    (setf (symbol-plist name) nil)
-    (dolist (slot (cdr slots))
-      (putprop name (cdr slot) (car slot)))
-    name))
-
-;;****************
-;; name-to-symbol -- convert from case-sensitive C name to internal symbol
-;;****************
-(defun name-to-symbol (name) (intern (string-upcase name)))
-
-
-
-;;**********
-;; position -- find a pattern in a string
-;;
-;; Inputs:
-;;	s -
-;;	p -
-;;**********
-
-(defun position (s p)
-  (let (result (len (length p)))
-    (dotimes (n (+ 1 (length s) (- len)))
-      (cond ((equal (subseq s n (+ n len)) p)
-         (setf result n)
-         (return))))
-    result))
-
-
-;;**********
-;; print a list of strings to a stream
-;;
-;; Inputs:
-;;	strings - a list of strings
-;;	stream - stream on which to write the strings
-;; Effect:
-;;	
-;;**********
-
-(defun print-strings (strings stream)
-  (dolist (s strings) (princ s stream)))
-
-
-
-;;**********
-;; put-slot: 
-;;	
-;; Inputs:
-;;	schema - name of the schema
-;;	value - value of the attribute to be added or modified
-;;	property - name of the attribute to be modified
-;;
-;;**********
-
-(setfn put-slot putprop)
-
-
-(defun return-nil (ignore) nil)
-
-;;**********
-;; scale-check -- make sure scale method is not used on linear input or
-;;	on input where scaling is factored into other computation; 
-;; 	Also, don't use NONE scale method if sound appears on always-scale
-;; 	list (these sounds have low likelihood of ever using 'NONE method -
-;;	see fmosc for an example).  Note that if you say always-scale (removing
-;;                NONE) and linear or internal-scaling (removing SCALE), then you'll
-;;                be in big trouble.
-;;
-;; Inputs:
-;;	alg - algorithm description
-;;	spec -
-;; Notes:
-;;	
-;;**********
-
-(defun scale-check (alg spec)
-  (let ((sounds (get-slot alg 'sound-args))
-    (linear (get-slot alg 'linear))
-    (internal-scaling (get-slot alg 'internal-scaling))
-    (always-scale (get-slot alg 'always-scale))
-    snd 
-    (result t)
-       )
-    ; initially, the rationale list is nil for each sound:
-    (cond (always-scale
-       (dotimes (n (length spec))  ; look at each method in spec
-         (cond ((eq 'NONE (nth n spec))
-            (setf snd (nth n sounds))
-            (cond ((member snd always-scale)
-               (setf result nil)
-               (return))))))))
-    (cond ((member 'SCALE spec)	; quick test
-       (dotimes (n (length spec))  ; look at each method in spec
-         (cond ((eq 'SCALE (nth n spec))
-            (setf snd (nth n sounds))
-            (cond ((or (member snd linear) 
-                   (member snd internal-scaling))
-               (if (member snd internal-scaling) 
-                 (format t "WARNING internal scaling not fully debugged, check your results...\n"))
-               (setf result nil)
-               (return))))))))
-    result))
-
-
-;;****************
-;; space-if-no-trailing-star -- returns "" if arg ends with "*", else space
-;;****************
-(defun space-if-no-trailing-star (str)
-  (if (equal #\* (char str (1- (length str))))
-    ""
-    #\Space))
-
-
-;; SPEC-IS-NONE-OR-SCALE -- see if spec is none or scale, called by sr-check
-;;
-;; sig is the search key
-;; sound-args is a list, one element matches sig
-;; spec is list of specs corresponding to elements in sound-args
-;; return t if (eq sig (nth n sound-args)) and (nth n spec) is 
-;; either 'none or 'scale
-;;
-(defun spec-is-none-or-scale (sig sound-args spec)                      
-  (dolist (arg sound-args)
-      (cond ((eq sig arg)
-         (return (member (car spec) '(NONE SCALE)))))
-      (setf spec (cdr spec))))
-
-
-;;****************
-;; sr-check -- see if interpolation spec is ok wrt sample rate spec
-;;****************
-(defun sr-check (alg spec)
-  (let ((sample-rate (get-slot alg 'sample-rate))
-    (sound-args (get-slot alg 'sound-args))
-    (result t))
-    ;; if expression given, then anything is ok
-    (cond ((stringp sample-rate) t)
-      ;; if (MAX ...) expression given, then one of signals must be NONE or SCALE
-      ((and (listp sample-rate) (eq (car sample-rate) 'MAX))
-       (dolist (sig (cdr sample-rate))  ; for all sig in max list ...
-           (cond ((not (spec-is-none-or-scale sig sound-args spec))
-              (setf result nil))))
-       result)
-      ;; if no expression given, then one signal must be NONE or SCALE
-      ((or (member 'NONE spec) (member 'SCALE spec)) t)
-      ;; o.w. return false
-      (t nil))))
-
-
-;;****************
-;; symbol-to-name -- convert from internal symbol to case-sensitive C name
-;;****************
-(defun symbol-to-name (symbol) (get symbol 'string-name))
-
-
-
-;;**********
-;; translate -- main procedure
-;;
-;; Inputs:
-;;	name - string which is name of file to translate
-;; Effect:
-;;	Reads the algorithm specification as "name.alg"
-;;	Generates output files "name.c" and "name.h"
-;;**********
-(defun translate (name)
-  (prog* ((infile (concatenate 'string name ".alg"))
-      (outfile (concatenate 'string name ".c"))
-      (hfile (concatenate 'string name ".h"))
-      (inf (open infile :direction :input))
-      (hf (open hfile :direction :output))
-      (outf (open outfile :direction :output)))
-
-   (if (null inf) (error "translate: couldn't open inf"))
-   (if (null hf) (error "translate: couldn't open hf"))
-   (if (null outf) (error "translate: couldn't open outf"))
-
-   (display "FILES" inf hf outf)
-
-   (if *WATCH*
-      (print "**** TRACING HOOKS ENABLED!  ****")
-      (print "**** NO TRACING ****")
-   )
-   loop
-    ;; read the algorithm description 
-    (setq alg (read inf))
-
-    ;; if the algorithm is NIL, we had some sort of failure
-    (cond ((null alg) 
-       (close inf)
-       (close hf)
-       (close outf)
-       (return)))
-
-    ;; we have read in the high-level schema specification
-    ;; convert it to a schema
-    (display "translate: " infile alg)
-    (setf alg (make-schema-from-slots alg))
-    (display "translate: schema " alg)
-
-    ;; save the .h file name
-    (put-slot alg hfile 'hfile)
-    ;; perform the type-check on the schema parameters
-    (type-check-and-transform alg)
-    (display "translate: transformed schema" alg)
-    (code-gen alg outf hf)
-    (display "translate: finished code-gen")
-    (setf save-alg alg)
-    (go loop)
- )
-)
-    
-
-(print 'translate)
-
-;;**********
-;; type-check-and-transform -- fix up slots in an algorithm schema
-;;
-;; Inputs:
-;;	alg - the name of the algorithm; values are its property list
-;; Notes:
-;;	Report an error if required slot values are absent
-;;	Any slot which should be a single value and is a list is
-;;	coerced to be the car of the list
-;;	Put argument string names on argument symbols for conversion.
-;;**********
-
-(defun type-check-and-transform (alg)
-
-  ;; the quoted list that follows 'slot' is the list of required
-  ;; parameters.  If any parameter is missing, this will cause an
-  ;; error
-
-  (dolist (slot '(name inner-loop)) ; other necessarily non-nil slots go here
-    (cond ((null (get-slot alg slot))
-       (error "missing slot"))))
-
-  ; fix single-value slots to not be stored as lists:
-  ;     If the value is a list, the value is coerced to
-  ;	be the car of the list
-
-  (dolist 
-       (slot 
-     '(name inner-loop sample-rate support-functions inline-interpolation delay
-       )) 
-       (put-slot alg (car (get-slot alg slot)) slot))
-
-  ; Make sure there are no strings, only symbols, in TERMINATE and
-  ; LOGICAL-STOP MIN lists: (TERMINATE (MIN "s1")) is wrong, it should be
-  ; (TERMINATE (MIN s1))
-
-  (dolist (field '(terminate logical-stop))
-    (setf spec (get-slot alg field))
-    (display "type-check" spec field)
-    (cond ((and spec
-        (listp (car spec))
-        (member (caar spec) '(MIN MAX)))
-       (dolist (entry (cdar spec))
-         (display "type-check" spec field entry)
-         (cond ((eq (type-of entry) 'STRING)
-            (error "MIN and MAX args are symbols, not strings"
-               spec)))))))
-
-  ; (ARGUMENTS ( "type1" "name1") ("type2" "name2") ... ("typen" "namen") )
-  ; if "sr" is the name of an argument, its type must be "rate_type"
-  ; i.e. ("rate_type" "sr")
-
-  (dolist (arg (get-slot alg 'arguments))
-    (cond ((and (equal (cadr arg) "sr")
-           (not (equal (car arg) "rate_type")))
-       (error "argument sr must be of type rate_type"))
-      ((equal (car arg) "sound_type")
-       (putprop (name-to-symbol (cadr arg)) (cadr arg) 'string-name)))))
-
-
-
-;;**********
-;; union-of-nth -- get the union of the nth element of each sublist
-;;
-;;**********
-(defun union-of-nth (lis n)
-  (let (result a)
-    (dolist (sublis lis)
-      (setf a (nth n sublis))
-      (cond ((not (member a result)) 
-         (setf result (cons a result)))))
-    result))
-
-
-(print 'union-of-nth)
-
-;;**********
-;; write-header -- write a header file for the suspension create routine
-;;
-;; Inputs:
-;;	alg - algorithm name
-;;	stream - output stream for .h file
-;; Effect:
-;;	Writes to the stream
-;;		sound_type snd_make_NAME();
-;; Notes:
-;;	Uses NAME property of algorithm to emit the procedure header to
-;;	the .h file
-;;**********
-
-(setf c-to-xlisp-type '(
-  ("double" . "ANYNUM")
-  ("float" . "ANYNUM")
-  ("time_type" . "ANYNUM")
-  ("rate_type" . "ANYNUM")
-  ("sample_type" . "ANYNUM")
-  ("sound_type" . "SOUND")
-  ("char *" . "STRING")
-  ("LVAL" . "ANY")
-  ("int" . "FIXNUM")
-  ("long" . "FIXNUM")
-  ("boolean" . "BOOLEAN")
-))
-  
-
-(defun write-header (alg stream)
-;;  (format stream "sound_type snd_make_~A();~%" (get-slot alg 'name))
-    (let ((arguments (get-slot alg 'arguments))
-      (name (get-slot alg 'name)))
-       (format stream "sound_type snd_make_~A" name)
-       (write-ansi-prototype-list stream "" arguments)
-       (format stream ";~%")
-
-       ; write the xlisp interface routine
-       (format stream "sound_type snd_~A" name)
-       (write-ansi-prototype-list stream "" arguments)
-       (format stream ";~%")
-
-       ; write the type specification for intgen
-       (format stream "    /* LISP: (snd-~A" name)
-       (dolist (arg arguments)
-     (let ((xltype (assoc (car arg) c-to-xlisp-type :test #'equal)))
-       (cond ((null xltype)
-          (error "couldn't translate c-type" (car arg))))
-       (format stream " ~A" (cdr xltype))))
-       (format stream ") */~%")))
-
-
-;;**********
-;; write-typedef -- compile the suspension type definition
-;;
-;; Inputs:
-;;	alg - the algorithm specification
-;;	stream - stream to which to write it
-;; Effect:
-;;	typedef struct NAME_susp_struct {
-;;		...
-;;	} NAME_susp_node, *NAME_susp_type;
-;;
-;;  A side-effect of write-typedef is the initialization
-;;  of slot xlisp-pointers in alg.  This is used later by
-;;  write-mark to generate the garbage collection mark routine.
-;;**********
-
-(defun write-typedef (alg stream)
-  (let (arg-type args interpolation-list sound-names arg
-    (alg-name (get-slot alg 'name))
-    name xlisp-pointers
-    (state-list (get-slot alg 'state))
-    (logical-stop (car (get-slot alg 'logical-stop)))
-    (terminate (car (get-slot alg 'terminate))))
-    ;----------------------------
-    ;  typedef struct NAME_susp_strct {
-     ;     snd_susp_node susp;
-    ;----------------------------
-    (format stream "~%~%typedef struct ~A_susp_struct {~%~A~%"
-    alg-name "    snd_susp_node susp;")
-
-    ; go through interpolation list:
-    ;   NONE means use each sample
-    ;   INTERP means interpolate between samples
-    ;   RAMP means do ramp generation between samples
-    ;   NIL means this is not a signal
-
-    (setf interpolation-list (get-slot alg 'interpolation-list))
-    (setf sound-names (get-slot alg 'sound-names))
-
-    ; declare started flag if there is a ramp or interp signal anywhere
-    (cond ((any-ramp-or-interp-in interpolation-list)
-           ;---------------------
-       ; INTERP/RAMP:
-       ;	boolean started;
-           ;---------------------
-       (format stream "    boolean started;~%")))
-
-    (display "in translate.lsp" 
-         terminate alg (terminate-check-needed terminate alg))
-    (cond ((terminate-check-needed terminate alg)
-       ;----------------
-       ; long terminate_cnt;
-       ;----------------
-       (format stream "    long terminate_cnt;~%")))
-
-    (cond ((logical-stop-check-needed logical-stop)
-       ;----------------
-       ; boolean logically_stopped;
-       ;----------------
-       (format stream
-        "    boolean logically_stopped;~%")))
-
-    ; each sound argument has a variety of ways it might be
-    ; interpolated.  These are stored on interpolation-list, and union-of-nth
-     ; is used to gather all the interpolation styles that must be supported 
-     ; for a given signal - we then declare whatever state is necessary for
-     ; each possible interpolation
-    (dotimes (n (length (get alg 'sound-args)))
-      (let ((interpolation (union-of-nth interpolation-list n)))
-    (setf name (nth n sound-names))	; get name of signal
-    ;------------------------
-    ;	sound_type NAMEi;
-    ;	long  NAME_cnt;
-    ;       sample_block_values_type NAME_ptr;
-    ;------------------------
-    (format stream "    sound_type ~A;~%" name)
-    (format stream "    long ~A_cnt;~%" name)
-    (format stream "    sample_block_values_type ~A_ptr;~%" name)
-    (cond ((or (member 'INTERP interpolation)
-           (member 'RAMP interpolation))
-           ;-----------------
-           ;  /* support for interpolation of NAMEi */
-           ;-----------------
-           (format stream 
-        "~%    /* support for interpolation of ~A */~%" name)
-
-           ;-----------------
-           ;  sample_type NAME_x1_sample;
-           ;-----------------
-           (format stream "    sample_type ~A_x1_sample;~%" name)
-
-           ;-----------------
-           ; double NAME_pHaSe;
-           ; double NAME_pHaSe_iNcR;
-           ;-----------------
-           (format stream "    double ~A_pHaSe;~%" name)
-           (format stream "    double ~A_pHaSe_iNcR;~%" name)))
-
-    (cond ((member 'RAMP interpolation)
-           ;-----------------
-           ; RAMP:
-           ;	/* support for ramp between samples of NAME */
-           ;	double output_per_NAME;
-           ; long NAME_n;
-           ;-----------------
-           (format stream
-        "~%    /* support for ramp between samples of ~A */~%" name)
-           (format stream "    double output_per_~A;~%" name)
-           (format stream "    long ~A_n;~%" name) ))))
-
-    ;----------------------------
-    ; STATE
-    ; 	TYPEi VARNAMEi ;
-    ;----------------------------
-    ;; now write state variables
-    ;; (STATE (s1) (s2)... (sn) )
-    ;; each (si) is of the form
-    ;;		("type" "varname" "?" [TEMP])
-    (cond (state-list (format stream "~%")))
-    (dolist (state state-list)
-      (cond ((equal "LVAL" (car state))
-         (push (cadr state) xlisp-pointers)))
-      (cond ((and (cdddr state)
-          (cadddr state)
-          (eq (cadddr state) 'TEMP))
-         ; no field allocated for local/temp variables
-        )
-         (t
-         (let ((sep (space-if-no-trailing-star (car state))))
-           (format stream "    ~A~A~A;~%" 
-        (car state) sep (cadr state))))))
-    (put-slot alg xlisp-pointers 'xlisp-pointers)
-
-    ;----------------------------
-    ;	} ALG-NAME_susp_node, *ALG-NAME_susp_type;
-    ;----------------------------
-    (format stream "} ~A_susp_node, *~A_susp_type;~%" alg-name alg-name)))
-
-(print 'end)
diff --git a/lib-src/libnyquist/tran/upsample.alg b/lib-src/libnyquist/tran/upsample.alg
deleted file mode 100644
index 82aaca3..0000000
--- a/lib-src/libnyquist/tran/upsample.alg
+++ /dev/null
@@ -1,18 +0,0 @@
-(UP-ALG
-  (NAME "up")
-  (ARGUMENTS ("rate_type" "sr") ("sound_type" "input"))
-  (INLINE-INTERPOLATION T)
-  (SAMPLE-RATE "sr")
-  (START (MIN input))
-  (INNER-LOOP "output = (sample_type) input")
-  (LINEAR input)
-  (TERMINATE (MIN input))
-  (LOGICAL-STOP (MIN input))
-  (TYPE-CHECK
-"    if (input->sr > sr) {
-        sound_unref(input);
-        xlfail(\"snd-up: output sample rate must be higher than input\");
-    }
-")
-)
-
diff --git a/lib-src/libnyquist/tran/upsample.c b/lib-src/libnyquist/tran/upsample.c
deleted file mode 100644
index 8adc9c2..0000000
--- a/lib-src/libnyquist/tran/upsample.c
+++ /dev/null
@@ -1,448 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "upsample.h"
-
-void up_free();
-
-
-typedef struct up_susp_struct {
-    snd_susp_node susp;
-    boolean started;
-    long terminate_cnt;
-    boolean logically_stopped;
-    sound_type input;
-    long input_cnt;
-    sample_block_values_type input_ptr;
-
-    /* support for interpolation of input */
-    sample_type input_x1_sample;
-    double input_pHaSe;
-    double input_pHaSe_iNcR;
-
-    /* support for ramp between samples of input */
-    double output_per_input;
-    long input_n;
-} up_susp_node, *up_susp_type;
-
-
-void up_n_fetch(register up_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register sample_block_values_type input_ptr_reg;
-    falloc_sample_block(out, "up_n_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past the input input sample block: */
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	togo = MIN(togo, susp->input_cnt);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	input_ptr_reg = susp->input_ptr;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) *input_ptr_reg++;
-	} while (--n); /* inner loop */
-
-	/* using input_ptr_reg is a bad idea on RS/6000: */
-	susp->input_ptr += togo;
-	out_ptr += togo;
-	susp_took(input_cnt, togo);
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* up_n_fetch */
-
-
-void up_i_fetch(register up_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type input_x2_sample;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    register double input_pHaSe_iNcR_rEg = susp->input_pHaSe_iNcR;
-    register double input_pHaSe_ReG;
-    register sample_type input_x1_sample_reg;
-    falloc_sample_block(out, "up_i_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp_check_term_log_samples(input, input_ptr, input_cnt);
-	susp->input_x1_sample = susp_fetch_sample(input, input_ptr, input_cnt);
-    }
-
-    susp_check_term_log_samples(input, input_ptr, input_cnt);
-    input_x2_sample = susp_current_sample(input, input_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	input_pHaSe_ReG = susp->input_pHaSe;
-	input_x1_sample_reg = susp->input_x1_sample;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-	    if (input_pHaSe_ReG >= 1.0) {
-		input_x1_sample_reg = input_x2_sample;
-		/* pick up next sample as input_x2_sample: */
-		susp->input_ptr++;
-		susp_took(input_cnt, 1);
-		input_pHaSe_ReG -= 1.0;
-		susp_check_term_log_samples_break(input, input_ptr, input_cnt, input_x2_sample);
-	    }
-*out_ptr_reg++ = (sample_type) 
-		(input_x1_sample_reg * (1 - input_pHaSe_ReG) + input_x2_sample * input_pHaSe_ReG);
-	    input_pHaSe_ReG += input_pHaSe_iNcR_rEg;
-	} while (--n); /* inner loop */
-
-	togo -= n;
-	susp->input_pHaSe = input_pHaSe_ReG;
-	susp->input_x1_sample = input_x1_sample_reg;
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* up_i_fetch */
-
-
-void up_r_fetch(register up_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    sample_type input_DeLtA;
-    sample_type input_val;
-    sample_type input_x2_sample;
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    falloc_sample_block(out, "up_r_fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    /* make sure sounds are primed with first values */
-    if (!susp->started) {
-	susp->started = true;
-	susp->input_pHaSe = 1.0;
-    }
-
-    susp_check_term_log_samples(input, input_ptr, input_cnt);
-    input_x2_sample = susp_current_sample(input, input_ptr);
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* grab next input_x2_sample when phase goes past 1.0; */
-	/* we use input_n (computed below) to avoid roundoff errors: */
-	if (susp->input_n <= 0) {
-	    susp->input_x1_sample = input_x2_sample;
-	    susp->input_ptr++;
-	    susp_took(input_cnt, 1);
-	    susp->input_pHaSe -= 1.0;
-	    susp_check_term_log_samples(input, input_ptr, input_cnt);
-	    input_x2_sample = susp_current_sample(input, input_ptr);
-	    /* input_n gets number of samples before phase exceeds 1.0: */
-	    susp->input_n = (long) ((1.0 - susp->input_pHaSe) *
-					susp->output_per_input);
-	}
-	togo = MIN(togo, susp->input_n);
-	input_DeLtA = (sample_type) ((input_x2_sample - susp->input_x1_sample) * susp->input_pHaSe_iNcR);
-	input_val = (sample_type) (susp->input_x1_sample * (1.0 - susp->input_pHaSe) +
-		 input_x2_sample * susp->input_pHaSe);
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-
-	/* don't run past logical stop time */
-	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-	    /* break if to_stop == 0 (we're at the logical stop)
-	     * AND cnt > 0 (we're not at the beginning of the
-	     * output block).
-	     */
-	    if (to_stop < togo) {
-		if (to_stop == 0) {
-		    if (cnt) {
-			togo = 0;
-			break;
-		    } else /* keep togo as is: since cnt == 0, we
-		            * can set the logical stop flag on this
-		            * output block
-		            */
-			susp->logically_stopped = true;
-		} else /* limit togo so we can start a new
-		        * block at the LST
-		        */
-		    togo = to_stop;
-	    }
-	}
-
-	n = togo;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) input_val;
-	    input_val += input_DeLtA;
-	} while (--n); /* inner loop */
-
-	out_ptr += togo;
-	susp->input_pHaSe += togo * susp->input_pHaSe_iNcR;
-	susp->input_n -= togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-    /* test for logical stop */
-    if (susp->logically_stopped) {
-	snd_list->logically_stopped = true;
-    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-	susp->logically_stopped = true;
-    }
-} /* up_r_fetch */
-
-
-void up_toss_fetch(susp, snd_list)
-  register up_susp_type susp;
-  snd_list_type snd_list;
-{
-    long final_count = susp->susp.toss_cnt;
-    time_type final_time = susp->susp.t0;
-    long n;
-
-    /* fetch samples from input up to final_time for this block of zeros */
-    while ((round((final_time - susp->input->t0) * susp->input->sr)) >=
-	   susp->input->current)
-	susp_get_samples(input, input_ptr, input_cnt);
-    /* convert to normal processing when we hit final_count */
-    /* we want each signal positioned at final_time */
-    n = round((final_time - susp->input->t0) * susp->input->sr -
-         (susp->input->current - susp->input_cnt));
-    susp->input_ptr += n;
-    susp_took(input_cnt, n);
-    susp->susp.fetch = susp->susp.keep_fetch;
-    (*(susp->susp.fetch))(susp, snd_list);
-}
-
-
-void up_mark(up_susp_type susp)
-{
-    sound_xlmark(susp->input);
-}
-
-
-void up_free(up_susp_type susp)
-{
-    sound_unref(susp->input);
-    ffree_generic(susp, sizeof(up_susp_node), "up_free");
-}
-
-
-void up_print_tree(up_susp_type susp, int n)
-{
-    indent(n);
-    stdputstr("input:");
-    sound_print_tree_1(susp->input, n);
-}
-
-
-sound_type snd_make_up(rate_type sr, sound_type input)
-{
-    register up_susp_type susp;
-    /* sr specified as input parameter */
-    time_type t0 = input->t0;
-    int interp_desc = 0;
-    sample_type scale_factor = 1.0F;
-    time_type t0_min = t0;
-    /* combine scale factors of linear inputs (INPUT) */
-    scale_factor *= input->scale;
-    input->scale = 1.0F;
-
-    /* try to push scale_factor back to a low sr input */
-    if (input->sr < sr) { input->scale = scale_factor; scale_factor = 1.0F; }
-
-    if (input->sr > sr) {
-        sound_unref(input);
-        xlfail("snd-up: output sample rate must be higher than input");
-    }
-    falloc_generic(susp, up_susp_node, "snd_make_up");
-
-    /* select a susp fn based on sample rates */
-    interp_desc = (interp_desc << 2) + interp_style(input, sr);
-    switch (interp_desc) {
-      case INTERP_n: susp->susp.fetch = up_n_fetch; break;
-      case INTERP_i: susp->susp.fetch = up_i_fetch; break;
-      case INTERP_r: susp->susp.fetch = up_r_fetch; break;
-      default: snd_badsr(); break;
-    }
-
-    susp->terminate_cnt = UNKNOWN;
-    /* handle unequal start times, if any */
-    if (t0 < input->t0) sound_prepend_zeros(input, t0);
-    /* minimum start time over all inputs: */
-    t0_min = MIN(input->t0, t0);
-    /* how many samples to toss before t0: */
-    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + 0.5);
-    if (susp->susp.toss_cnt > 0) {
-	susp->susp.keep_fetch = susp->susp.fetch;
-	susp->susp.fetch = up_toss_fetch;
-    }
-
-    /* initialize susp state */
-    susp->susp.free = up_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = up_mark;
-    susp->susp.print_tree = up_print_tree;
-    susp->susp.name = "up";
-    susp->logically_stopped = false;
-    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(input);
-    susp->started = false;
-    susp->susp.current = 0;
-    susp->input = input;
-    susp->input_cnt = 0;
-    susp->input_pHaSe = 0.0;
-    susp->input_pHaSe_iNcR = input->sr / sr;
-    susp->input_n = 0;
-    susp->output_per_input = sr / input->sr;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_up(rate_type sr, sound_type input)
-{
-    sound_type input_copy = sound_copy(input);
-    return snd_make_up(sr, input_copy);
-}
diff --git a/lib-src/libnyquist/tran/upsample.h b/lib-src/libnyquist/tran/upsample.h
deleted file mode 100644
index 5629b15..0000000
--- a/lib-src/libnyquist/tran/upsample.h
+++ /dev/null
@@ -1,3 +0,0 @@
-sound_type snd_make_up(rate_type sr, sound_type input);
-sound_type snd_up(rate_type sr, sound_type input);
-    /* LISP: (snd-up ANYNUM SOUND) */
diff --git a/lib-src/libnyquist/tran/white.alg b/lib-src/libnyquist/tran/white.alg
deleted file mode 100644
index 8fc3832..0000000
--- a/lib-src/libnyquist/tran/white.alg
+++ /dev/null
@@ -1,24 +0,0 @@
-(WHITE-ALG
-(NAME "white")
-(ARGUMENTS ("time_type" "t0") ("rate_type" "sr") ("time_type" "d"))
-(STATE )
-(TERMINATE (AFTER "d"))
-(INNER-LOOP "output = (sample_type) (rand() * rand_scale - 1.0);")
-(SAMPLE-RATE "sr")
-(SUPPORT-HEADER "
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03 rbd all systems now use rand(), based on DM's modifications
- */
-
-#include <stdlib.h>
-#include <math.h>
-
-/* rand returns from 0 to RAND_MAX. Scale and offset
- * to get range from -1 to +1
- */
-#define rand_scale (2.0/RAND_MAX)
-
-")
-)
-
diff --git a/lib-src/libnyquist/tran/white.c b/lib-src/libnyquist/tran/white.c
deleted file mode 100644
index a411562..0000000
--- a/lib-src/libnyquist/tran/white.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include "stdio.h"
-#ifndef mips
-#include "stdlib.h"
-#endif
-#include "xlisp.h"
-#include "sound.h"
-
-#include "falloc.h"
-#include "cext.h"
-#include "white.h"
-
-void white_free();
-
-
-typedef struct white_susp_struct {
-    snd_susp_node susp;
-    long terminate_cnt;
-} white_susp_node, *white_susp_type;
-
-
-void white__fetch(register white_susp_type susp, snd_list_type snd_list)
-{
-    int cnt = 0; /* how many samples computed */
-    int togo;
-    int n;
-    sample_block_type out;
-    register sample_block_values_type out_ptr;
-
-    register sample_block_values_type out_ptr_reg;
-
-    falloc_sample_block(out, "white__fetch");
-    out_ptr = out->samples;
-    snd_list->block = out;
-
-    while (cnt < max_sample_block_len) { /* outer loop */
-	/* first compute how many samples to generate in inner loop: */
-	/* don't overflow the output sample block: */
-	togo = max_sample_block_len - cnt;
-
-	/* don't run past terminate time */
-	if (susp->terminate_cnt != UNKNOWN &&
-	    susp->terminate_cnt <= susp->susp.current + cnt + togo) {
-	    togo = susp->terminate_cnt - (susp->susp.current + cnt);
-	    if (togo == 0) break;
-	}
-
-	n = togo;
-	out_ptr_reg = out_ptr;
-	if (n) do { /* the inner sample computation loop */
-*out_ptr_reg++ = (sample_type) (rand() * rand_scale - 1.0);;
-	} while (--n); /* inner loop */
-
-	out_ptr += togo;
-	cnt += togo;
-    } /* outer loop */
-
-    /* test for termination */
-    if (togo == 0 && cnt == 0) {
-	snd_list_terminate(snd_list);
-    } else {
-	snd_list->block_len = cnt;
-	susp->susp.current += cnt;
-    }
-} /* white__fetch */
-
-
-void white_free(white_susp_type susp)
-{
-    ffree_generic(susp, sizeof(white_susp_node), "white_free");
-}
-
-
-void white_print_tree(white_susp_type susp, int n)
-{
-}
-
-
-sound_type snd_make_white(time_type t0, rate_type sr, time_type d)
-{
-    register white_susp_type susp;
-    /* sr specified as input parameter */
-    /* t0 specified as input parameter */
-    sample_type scale_factor = 1.0F;
-    falloc_generic(susp, white_susp_node, "snd_make_white");
-    susp->susp.fetch = white__fetch;
-
-    susp->terminate_cnt = round((d) * sr);
-    /* initialize susp state */
-    susp->susp.free = white_free;
-    susp->susp.sr = sr;
-    susp->susp.t0 = t0;
-    susp->susp.mark = NULL;
-    susp->susp.print_tree = white_print_tree;
-    susp->susp.name = "white";
-    susp->susp.log_stop_cnt = UNKNOWN;
-    susp->susp.current = 0;
-    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);
-}
-
-
-sound_type snd_white(time_type t0, rate_type sr, time_type d)
-{
-    return snd_make_white(t0, sr, d);
-}
diff --git a/lib-src/libnyquist/tran/white.h b/lib-src/libnyquist/tran/white.h
deleted file mode 100644
index 953a54d..0000000
--- a/lib-src/libnyquist/tran/white.h
+++ /dev/null
@@ -1,17 +0,0 @@
-sound_type snd_make_white(time_type t0, rate_type sr, time_type d);
-sound_type snd_white(time_type t0, rate_type sr, time_type d);
-    /* LISP: (snd-white ANYNUM ANYNUM ANYNUM) */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03 rbd all systems now use rand(), based on DM's modifications
- */
-
-#include <stdlib.h>
-#include <math.h>
-
-/* rand returns from 0 to RAND_MAX. Scale and offset
- * to get range from -1 to +1
- */
-#define rand_scale (2.0/RAND_MAX)
-
diff --git a/lib-src/libnyquist/tran/writemake.lsp b/lib-src/libnyquist/tran/writemake.lsp
deleted file mode 100644
index e7e8b9c..0000000
--- a/lib-src/libnyquist/tran/writemake.lsp
+++ /dev/null
@@ -1,931 +0,0 @@
-;;************
-;; writemake.lsp -- generate the sound create routine
-;;************
-;;************
-;;           Change Log
-;;  Date     | Change
-;;-----------+--------------------
-;; 17-Dec-91 | [1.1] <jmn> Created
-;; 17-Dec-91 | [1.1] <jmn> return sound_create(...) cast type to correct
-;;           | type
-;; 21-Dec-91 | [1.2] <jmn> added start-time, default 0.0
-;; 21-Dec-91 | [1.2] <jmn> prefix creation local variables with C_
-;; 13-Jan-92 | [1.2] <jmn> reformatted and recommented
-;;  3-May-99 | <rbd> modified toss_fetch code to retain proper t0
-;;************
-
-
-
-;; check-for-no-interpolation - if you see an "s", make sure there
-;;     is a corresponding "n", if not use "s" to cover the "n" case. And vice versa.
-;; 
-(defun check-for-no-interpolation (encoding interpolation-rationale stream)
-  ; *cfni-output* used to keep track of newline output
-  (setf *cfni-output* nil)
-  (check-for-no-interpolation-1 encoding 0 interpolation-rationale stream))
-
-;; Hint: this algorithm constructs the 2^n variations by substituting
-;; (or not) 'n' for 's' whereever s'es occur.  The search is cut off
-;; however, when an altered string is found in the encoding-list, which
-;; tells what cases are handled directly.
-;;
-;; Wow, returning to the description above after several months, I couldn't make 
-;; heads or tails of it, and I wrote it!  Here's another perhaps better, description:
-;; 
-;; We generated various _fetch routines that differ in their assumptions about how to
-;; access signal arguments.  There are (now) 4 variations: NONE, SCALE, INTERP, and
-;; RAMP.  All 4^N combinations of these are generated initially, but many combinations
-;; are deleted before any code is generated.  Reasons for removing a combination include
-;; the use of symetry, linearity, and simply the promise that input arguments will be
-;; interpolated externally.  In most of these cases, combinations are removed because
-;; they cannot occur in practice.  But in others, combinations are removed because they
-;; should be handled by different code.  For example, an input signal matching the output 
-;; sample rate and with a scale factor of 1 is normally handled by NONE style 
-;; "interpolation".  Note: "interpolation" is used throughout this code, but a better term
-;; would be "access method," because no interpolation is involved in the NONE and
-;; SCALE variants. The inner loop access code for NONE style is something like "*s++".  
-;; However, an input signal suitable for NONE style interpolation can also be handled
-;; by SCALE style interpolation (which looks something like "(*s++ * s_scale)", i.e.
-;; an extra multiplication is required.  If the attribute INTERNAL-SCALING is used,
-;; then the scale factor does not actually appear at the access point because it has been
-;; factored into a filter coefficient or some other factor, saving the multiply.  
-;; Alternatively, the ALWAYS-SCALE attribute can specify that there is little to be
-;; gained by saving a multiply.  In these cases, we want to handle NONE style signals
-;; with SCALE style interpolation.  Let's run through these possibilities again and
-;; describe how they are handled:
-;;
-;; ALWAYS-SCALE: here we delete the NONE variant(s) and only generate fetch
-;; routines that have scaling code in them.  When we get an actual parameter with
-;; a scale factor of 1 (implying NONE interpolation), we handle it with the SCALE
-;; fetch routine.
-;; INTERNAL-SCALING: here we generate NONE fetch routines because the
-;; scale factor is taken care of elsewhere in the code, e.g. in a filter coefficient.
-;; LINEAR: here, the scale factor of the actual argument becomes a scale factor
-;; on the output (part of the data structure), deferring multiplies until later.  We
-;; then modify the argument scale factor to 1, and NONE style interpolation applies.
-;; There is no need to generate SCALE style routines, because there will never be
-;; any need for them.
-;;
-;; For a given signal parameter, these 3 cases are mutually exclusive.
-;;
-;; Looking at these three cases, we see that sometimes there will be SCALE style
-;; routines handling NONE arguments, sometimes NONE style routines handling
-;; SCALE arguments, and sometimes NONE style routines because there will
-;; never be a need for SCALE.  
-;; This code is going to generate labels so that other fetch routines 
-;; handle the "missing" ones.
-;; To do this, we generate extra labels in the case
-;; statement that selects the fetch routine (interpolation is in the inner loop in the
-;; fetch routine.  For example, we might generate this code:
-;; ...
-;;  case INTERP_nn:
-;;  case INTERP_sn:
-;;  case INTERP_ns:
-;;  case INTERP_ss: susp->susp.fetch = tonev_ss_fetch; break;
-;; ...
-;; Here, a single fetch routine (tonev_ss_fetch) handles all variations of NONE and
-;; SCALE (n and s) types of the two signal arguments.  The basic rule is: if you did not
-;; generate a fetch routine for the NONE case, then handle it with the SCALE case, and
-;; if you did not generate a fetch routine for the SCALE case, handle it with the NONE
-;; case.
-;; 
-;; The algorithm uses the list interpolation-rationale, which lists for each sound
-;; parameter one of {NIL, LINEAR, ALWAYS-SCALE, INTERNAL-SCALING}.
-;; Using this list, the code enumerates all the possible cases that might be handled
-;; by the current fetch routine (represented by the "encoding" parameter).  
-;; This is a recursive algorithm because, if there are n SCALE type parameters, then
-;; there are 2^N possible variations to enumerate.  (E.g. look at the 4 variations in
-;; the code example above.)
-;;
-;;
-(defun check-for-no-interpolation-1 (encoding index 
-                                     interpolation-rationale stream)
-  (cond ((= index (length encoding))
-         (display "check-for-no-interpolation output" encoding)
-         ; see if we need a newline (*cfni-output* is initially nil)
-         (if *cfni-output* (format stream "/* handled below */~%"))
-         (setf *cfni-output* t)
-         (format stream "      case INTERP_~A: " encoding))
-        (t
-         (let ((ch (char encoding index)))
-           (display "cfni" index ch)
-           (cond ((eql ch #\s)
-                  (let ((new-encoding (strcat (subseq encoding 0 index)
-                                              "n"
-                                              (subseq encoding (1+ index)))))
-                    (cond ((eq (nth index interpolation-rationale) 'ALWAYS-SCALE)
-                           (check-for-no-interpolation-1 new-encoding (1+ index)
-                                interpolation-rationale stream)))))
-                 ((eql ch #\n)
-                  (let ((new-encoding (strcat (subseq encoding 0 index)
-                                              "s"
-                                              (subseq encoding (1+ index)))))
-                    (cond ((eq (nth index interpolation-rationale) 'INTERNAL-SCALING)
-                           (check-for-no-interpolation-1 new-encoding (1+ index)
-                                interpolation-rationale stream))))))
-           (check-for-no-interpolation-1 encoding (1+ index)
-                interpolation-rationale stream)))))
-                              
-;;************
-;; is-argument -- see if string is in argument list
-;;
-;;************
-
-(defun is-argument (arg arguments)
-  (dolist (a arguments)
-    (cond ((equal arg (cadr a)) (return t)))))
-
-
-
-;; needs-mark-routine -- is there anything for GC to mark here?
-;;
-(defun needs-mark-routine (alg)
-  (or (get-slot alg 'sound-names)
-      (get-slot alg 'xlisp-pointers)))
-
-
-;; lsc-needed-p -- see if we need the lsc variable declared
-(defun lsc-needed-p (alg)
-  (let ((spec (get-slot alg 'logical-stop)))
-    (and spec (listp (car spec))
-                  (eq (caar spec) 'MIN)
-              (cdar spec)
-              (cddar spec))))
-
-
-;; write-initial-logical-stop-cnt -- writes part of snd_make_<name>
-;;
-(defun write-initial-logical-stop-cnt (alg stream)
-  (let ((spec (get-slot alg 'logical-stop))
-        min-list)
-    (cond ((and spec (listp (car spec))
-                    (eq (caar spec) 'MIN)
-                (cdar spec))
-           (setf min-list (cdar spec))
-           ; take stop_cnt from first argument in MIN list
-           (format stream
-            "    susp->susp.log_stop_cnt = logical_stop_cnt_cvt(~A);\n"
-            (symbol-to-name (cadar spec)))
-           ; modify stop_cnt to be minimum over all remaining arguments
-           (dolist (sym (cddar spec))
-             (let ((name (symbol-to-name sym)))
-               (format stream
-                "    lsc = logical_stop_cnt_cvt(~A);\n" name)
-               (format stream
-                "    if (susp->susp.log_stop_cnt > lsc)\n"
-                name)
-               (format stream
-                "        susp->susp.log_stop_cnt = lsc;\n"
-                name))))
-          (t
-           (format stream
-            "    susp->susp.log_stop_cnt = UNKNOWN;\n")))
-))
-
-
-;;************
-;;				  write-mark
-;;
-;; Inputs:
-;;	alg - algorithm description
-;;	stream - stream on which to write .c file
-;; Effect:
-;;	writes NAME_mark(...)
-;;************
-
-(defun write-mark (alg stream)
-  (let ((name (get-slot alg 'name))
-        (sound-names (get-slot alg 'sound-names))
-        (xlisp-pointers (get-slot alg 'xlisp-pointers)))
-    ;----------------
-    ; void NAME_mark(NAME_susp_type susp)
-    ; {
-    ; *WATCH*: printf("NAME_mark(%x)\n", susp);
-    ;----------------
-    (format stream "~%~%void ~A_mark(~A_susp_type susp)~%{~%" name name)
-    (if *WATCH*
-      (format stream
-       "    printf(\"~A_mark(%x)\\n\", susp);~%" name))
-
-    ;----------------
-    ; for each LVAL argument:
-    ;
-    ; if (susp->NAME) mark(susp->NAME);
-    ;----------------
-    (dolist (name xlisp-pointers)
-            (format stream "    if (susp->~A) mark(susp->~A);~%" name name))
-
-    ;----------------
-    ; for each sound argument:
-    ;
-    ; *WATCH*: printf("marking SND@%x in NAME@%x\n", susp->snd, susp);
-    ; sound_xlmark(susp->NAME);
-    ;----------------
-    (dolist (snd sound-names)
-            (if *watch*
-              (format stream
-               "    printf(\"marking ~A@%x in ~A@%x\\n\", susp->~A, susp);~%"
-               snd name snd))
-            (format stream "    sound_xlmark(susp->~A);~%" snd))
-
-    ;----------------
-    ; }
-    ;----------------
-    (format stream "}~%")))
-
-(print 'write-mark)
-
-;;************
-;;				  write-make
-;;
-;; Inputs:
-;;	alg - algorithm description
-;;	stream - stream on which to write .c file
-;; Effect:
-;;	writes NAME_free(...), NAME_print_tree,  and snd_make_NAME(...)
-;;************
-
-(defun write-make (alg stream)
-  (let ((name (get-slot alg 'name))
-        (sr (get-slot alg 'sample-rate))
-        (else-prefix "")
-        first-time
-        (sound-names (get-slot alg 'sound-names))
-        (logical-stop (car (get-slot alg 'logical-stop)))
-        (sound-to-name (get-slot alg 'sound-to-name))
-        (state-list (get-slot alg 'state))
-        (linear (get-slot alg 'linear))
-        (arguments (get-slot alg 'arguments))
-        (finalization (get-slot alg 'finalization))
-        (interpolation-list (get-slot alg 'interpolation-list))
-        (interpolation-rationale (get-slot alg 'interpolation-rationale))
-        encoding-list
-        (terminate (car (get-slot alg 'terminate)))
-        (type-check (car (get-slot alg 'type-check)))
-        (delay (get-slot alg 'delay))
-        (start (get-slot alg 'start)))
-
-    ;--------------------
-    ; void NAME_free(NAME_susp_type susp)
-    ; {
-    ;----------------
-    (format stream "~%~%void ~A_free(~A_susp_type susp)~%{~%"
-            name name)
-
-    ;----------------
-    ; if there's a finalization, do it
-    ;----------------
-    (if finalization (print-strings finalization stream))
-
-    ;----------------
-    ; for each sound argument:
-    ;
-    ; sound_unref(susp->NAME);
-    ;----------------
-    (dolist (name sound-names)
-      (format stream "    sound_unref(susp->~A);~%" name))
-
-    ;----------------
-    ;     ffree_generic(susp, sizeof(NAME_susp_node), "fn-name");
-    ; }
-    ;--------------------
-    (format stream 
-            "    ffree_generic(susp, sizeof(~A_susp_node), \"~A_free\");~%}~%"
-            name name)
-
-    ;--------------------
-    ; void NAME_print_tree(NAME_susp_type susp, int n)
-    ; {
-    ;----------------
-    (format stream "~%~%void ~A_print_tree(~A_susp_type susp, int n)~%{~%"
-            name name)
-    ;----------------
-    ; for each sound argument:
-    ;
-    ; indent(n);
-    ; printf("NAME:");
-    ; sound_print_tree_1(susp->NAME, n);
-    ;----------------
-    (setf first-time t)
-    (dolist (name sound-names)
-      (cond (first-time
-             (setf first-time nil))
-            (t  ; space between each iteration
-             (format stream "~%")))
-      (format stream "    indent(n);~%    stdputstr(\"~A:\");~%" name)
-      (format stream "    sound_print_tree_1(susp->~A, n);~%" name))
-
-    ;----------------
-    ; }
-    ;--------------------
-    (format stream "}~%")
-
-    ;--------------------
-    ;   sound_type snd_make_NAME
-    ;--------------------
-
-    (format stream "~%~%sound_type snd_make_~A" name)
-
-    ;--------------------
-    ;    ( type name, ...)
-    ;--------------------
-
-    (write-ansi-parameter-list stream "" arguments)
-    (format stream "~%")
-    (if (not *ANSI*)
-        (dolist (arg arguments)
-          (format stream "  ~A ~A;~%" (car arg) (cadr arg))))
-
-    ;--------------------
-    ;     NAME_susp_type susp;
-    ;--------------------
-    (format stream 
-     "{~%    register ~A_susp_type susp;~%" name);
-
-    ;; declare "state" variables with TEMP flag
-    ;--------------------
-    ;     <type[i]> <name[i]>;
-    ;--------------------
-    (dolist (state state-list)
-      (cond ((and (cdddr state)
-                  (cadddr state)
-                  (eq (cadddr state) 'TEMP))
-             (format stream "    ~A ~A;~%" 
-                (car state) (cadr state)))))
-
-    (write-sample-rate stream sr sound-names arguments)
-
-    ; compute the t0 for new signal (default: use zero): 
-    ;
-    (write-start-time stream start arguments)
-
-    ;--------------------
-    ;    int interp_desc = 0;
-    ;--------------------
-    (cond (interpolation-list
-           (format stream "    int interp_desc = 0;~%")))
-
-    ;--------------------
-    ;     sample_type scale_factor = 1.0F;
-    ;  time_type t0_min; -- but only if there are sound args, implied by non-null sound-names
-    ;  long lsc;  
-    ;--------------------
-    (format stream "    sample_type scale_factor = 1.0F;~%")
-    (if sound-names (format stream "    time_type t0_min = t0;~%"))
-    (if (lsc-needed-p alg)
-        (format stream "    long lsc;~%"))
-
-    ; now do canonical ordering of commutable sounds
-    ;
-    (dolist (lis (get-slot alg 'commutative))
-      ;--------------------
-      ;   /* sort commuative signals: s1 s2 ... */
-      ;   snd_sort_<n>
-      ;         (...)
-      ;--------------------
-      (format stream "    /* sort commutative signals: ~A */~%" lis)
-      (format stream "    snd_sort_~A" (length lis))
-      (write-parameter-list stream ""
-        (append (mapcar 
-                  '(lambda (snd) 
-                    (strcat "&" (cdr (assoc snd sound-to-name))))
-                  lis)
-                '("sr")))
-      (format stream ";~%~%"))
-
-    ; figure scale factor -- if signal is linear wrt some interpolated or
-    ;   ramped signal (which do the multiply anyway), then put the scale
-    ;   factor there.
-    ;--------------------
-    ;  /* combine scale factors of linear inputs <linear> */
-    ;--------------------
-
-    (cond (linear
-           (format stream 
-            "    /* combine scale factors of linear inputs ~A */~%" linear)))
-    ;--------------------
-    ;  scale_factor *= NAME ->scale;
-    ;  NAME ->scale = 1.0F;
-    ;--------------------
-
-    (dolist (snd linear)
-      (let ((name (cdr (assoc snd sound-to-name))))
-        (format stream "    scale_factor *= ~A->scale;~%" name)
-        (format stream "    ~A->scale = 1.0F;~%" name)))
-
-    ;--------------------
-    ;  /* try to push scale_factor back to a low sr input */
-    ;--------------------
-
-    (cond (linear
-           (format stream 
-            "~%    /* try to push scale_factor back to a low sr input */~%")))
-
-    ;--------------------
-    ; if (NAME ->sr < sr) {
-    ;     NAME ->scale = scale_factor; scale_factor = 1.0F; }
-    ;--------------------
-
-    (dolist (snd linear)
-      (let ((name (cdr (assoc snd sound-to-name))))
-        (format stream 
-"    ~Aif (~A->sr < sr) { ~A->scale = scale_factor; scale_factor = 1.0F; }~%"
-         else-prefix name name)
-        (setf else-prefix "else ")))
-    (if linear (format stream "~%"))
-
-    ;-------------------
-    ; insert TYPE-CHECK code here
-    ;-------------------
-    (display "write-make" type-check)
-    (if type-check
-      (format stream type-check))
-
-    ;--------------------
-    ; falloc_generic(susp, NAME_susp_node, "fn-name"); 
-    ;--------------------
-    (format stream 
-     "    falloc_generic(susp, ~A_susp_node, \"snd_make_~A\");~%" name name)
-
-    ;; initialize state: the state list has (type field initialization [temp])
-    ;--------------------
-    ;    susp-> <state[i]> = <value[i]>
-    ;--------------------
-    ;; if TEMP is present, generate:
-    ;--------------------
-    ;    <state[i]> = <value[i]>
-    ;--------------------
-
-    (dolist (state state-list)
-      (let ((prefix "susp->"))
-        (cond ((and (cdddr state)
-                    (cadddr state)
-                    (eq (cadddr state) 'TEMP))
-               (setf prefix "")))
-        (format stream "    ~A~A = ~A;~%" 
-                prefix (cadr state) (caddr state))))
-
-    ; if we have a choice of implementations, select one
-    (cond ((< 1 (length interpolation-list))
-
-           ;--------------------
-           ; /* select a susp fn based on sample rates */
-           ;--------------------
-           ; build a descriptor
-           (format stream 
-                "~%    /* select a susp fn based on sample rates */~%")
-
-           ;------------------------
-           ;  interp_desc = (interp_desc << 2) + interp_style( NAME, sr);
-           ;------------------------
-           (dolist (snd sound-names)
-             (format stream
-              "    interp_desc = (interp_desc << 2) + interp_style(~A, sr);~%"
-              snd))
-
-           ;--------------------
-           ;     switch(interp_desc) {
-           ;--------------------
-           (cond (interpolation-list
-                  (format stream "    switch (interp_desc) {~%")))
-
-           ;--------------------------
-           ;         case INTERP_<encoding>: susp->susp.fetch = 
-           ;				          NAME_<encoding>_fetch; break;
-           ;--------------------------
-           (setf encoding-list (mapcar #'encode interpolation-list))
-           (dolist (encoding encoding-list)
-             (check-for-no-interpolation encoding interpolation-rationale stream)
-             (format stream "susp->susp.fetch = ~A_~A_fetch; break;~%"
-              name encoding))
-
-           ;--------------------
-           ;        } /* initialize susp state */
-           ;-------------------------
-           (format stream "    }~%~%"))
-          (interpolation-list
-           (format stream "    susp->susp.fetch = ~A_~A_fetch;~%" 
-            name (encode (car interpolation-list))))
-          (t
-        ;-------------------------
-        ;   susp->susp.fetch = NAME__fetch;
-        ;-------------------------
-           (format stream "    susp->susp.fetch = ~A__fetch;~%~%" name)))
- 
-    ;----------------
-    ; /* compute terminate count */
-    ;----------------
-    (cond ((terminate-check-needed terminate alg)
-           (cond ((eq (car terminate) 'AT)
-                  (let ((time-expr (cadr terminate)))
-        ;----------------
-        ; susp->terminate_cnt = round(((TIME-EXPR) - t0) * sr);
-        ;----------------
-                    (format stream 
-                     "    susp->terminate_cnt = round(((~A) - t0) * sr);~%"
-                            time-expr)))
-                 ((eq (car terminate) 'AFTER)
-                  (let ((dur-expr (cadr terminate)))
-                    ;----------------
-                    ; susp->terminate_cnt = round((DUR-EXPR) * sr);
-                    ;----------------
-                    (format stream 
-                            "    susp->terminate_cnt = round((~A) * sr);~%"
-                            dur-expr)))
-                 (t
-                  ;----------------
-                  ; susp->terminate_cnt = UNKNOWN;
-                  ;----------------
-                  (format stream "    susp->terminate_cnt = UNKNOWN;~%")))))
-
-    ;----------------
-    ;    /* handle unequal start times, if any */
-    ;----------------
-    (if sound-names
-      (format stream "    /* handle unequal start times, if any */~%"))
-    ;----------------
-    ; for each sound argument:
-    ;    if (t0 < NAME->t0) sound_prepend_zeros(NAME, t0);
-    ;----------------
-    (dolist (name sound-names)
-      (format stream 
-       "    if (t0 < ~A->t0) sound_prepend_zeros(~A, t0);~%" name name))
-    ;----------------
-    ; t0_min = min(NAME1->t0, min(NAME2->t0, ... NAMEn->t0, t0)...);
-    ;----------------
-    (cond (sound-names
-           (format stream "    /* minimum start time over all inputs: */~%")
-           (format stream "    t0_min = ")
-           (dolist (name sound-names)
-             (format stream "min(~A->t0, " name))
-           (format stream "t0")
-           (dolist (name sound-names)
-             (format stream ")"))
-           (format stream ";~%")))
-
-    ;----------------
-    ;    /* how many samples to toss before t0: */
-    ;    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + <DELAY>.5);
-    ;    if (susp->susp.toss_cnt > 0) {
-    ;	susp->susp.keep_fetch = susp->susp.fetch;
-    ;	susp->susp.fetch = NAME_toss_fetch;
-    ;	t0 = t0_min; -- DELETED 3MAY99 by RBD
-    ;    }
-    ;----------------
-    (cond (sound-names
-           (format stream "    /* how many samples to toss before t0: */\n")
-           (if delay
-             (format stream "    /* Toss an extra ~A samples to make up for internal buffering: */\n" delay))
-           (format stream "    susp->susp.toss_cnt = (long) ((t0 - t0_min) * sr + ~A.5);\n"
-                   (if delay delay 0))
-           (format stream "    if (susp->susp.toss_cnt > 0) {\n")
-           (format stream "\tsusp->susp.keep_fetch = susp->susp.fetch;\n")
-           (format stream "\tsusp->susp.fetch = ~A_toss_fetch;~%" name)
-;	   (format stream "\tt0 = t0_min;~%    }\n\n")))
-           (format stream "    }\n\n")))
-
-    ;--------------------
-    ; /* initialize susp state */
-    ; susp->susp.free = NAME_free;
-    ; susp->susp.sr = sr;
-    ; susp->susp.t0 = t0;
-    ;--------------------
-    (format stream "    /* initialize susp state */~%")
-    (format stream "    susp->susp.free = ~A_free;~%" name)
-    (format stream "    susp->susp.sr = sr;~%")
-    (format stream "    susp->susp.t0 = t0;~%")
-
-    ;----------------
-    ; if there are sound arguments:
-    ;     susp->susp.mark = NAME_mark;
-    ; otherwise...
-    ;     susp->susp.mark = NULL;
-    ;----------------
-    (let ((value "NULL"))
-      (cond ((needs-mark-routine alg)
-             (setf value (strcat name "_mark"))))
-      (format stream "    susp->susp.mark = ~A;~%" value))
-
-    ;----------------
-    ; for debugging...
-    ;    susp->susp.print_tree = NAME_print_tree;
-    ;    susp->susp.name = "NAME";
-    ;----------------
-    (format stream "    susp->susp.print_tree = ~A_print_tree;~%" name)
-    (format stream "    susp->susp.name = \"~A\";~%" name)
-
-    ;----------------
-    ; if there is a logical stop attribute:
-    ; susp->logically_stopped = false;
-    ; susp->susp.log_stop_cnt = UNKNOWN;
-    ;----------------
-    (cond ((logical-stop-check-needed logical-stop)
-           (format stream 
-            "    susp->logically_stopped = false;\n")))
-    (write-initial-logical-stop-cnt alg stream)
-
-    ;--------------------
-    ; ramped or interpolated:
-    ;
-    ;	susp->started = false;
-    ;--------------------
-    (cond ((any-ramp-or-interp-in interpolation-list)
-           (format stream "    susp->started = false;~%")))
-
-    ;--------------------
-    ;	susp->susp.current = 0;
-    ;--------------------
-    (format stream "    susp->susp.current = 0;~%")
-
-    ;----------------------------
-    ; For each sound arg:
-    ;
-    ;     susp-> <arg> = <arg>;
-    ;     susp-> <arg>_cnt = 0;
-    ;----------------------------
-
-    (dotimes (n (length (get alg 'sound-args)))
-      (let ((interpolation (union-of-nth interpolation-list n)))
-        (setf arg (nth n sound-names))	; get name of signal
-        (format stream "    susp->~A = ~A;~%" arg arg)
-        (format stream "    susp->~A_cnt = 0;~%" arg)
-        ;-----------------------------------------------
-        ; Interpolation: 
-        ;
-        ;	  susp-> <arg>_pHaSe = 0.0;               
-        ;         susp-> <arg>_pHaSe_iNcR = <arg> ->sr    
-        ;-----------------------------------------------
-        (cond ((member 'INTERP interpolation)
-               (format stream "    susp->~A_pHaSe = 0.0;~%" arg)
-               (format stream "    susp->~A_pHaSe_iNcR = ~A->sr / sr;~%"
-                              arg arg)))
-        ;-----------------------------------------------
-        ; Ramp: 
-        ;
-        ;    susp->output_per_<arg> = <arg> ->sr;
-        ;-----------------------------------------------
-
-        (cond ((member 'RAMP interpolation)
-               (format stream "    susp->~A_n = 0;~%" arg)
-               (format stream "    susp->output_per_~A = sr / ~A->sr;~%"
-                              arg arg)))))
-    
-    ;----------------------------
-    ;   return sound_create (snd_susp_type)susp, t0, sr, scale_factor);
-    ;----------------------------
-
-    (format stream 
-     "    return sound_create((snd_susp_type)susp, t0, sr, scale_factor);~%}~%")))
-
-
-(print 'write-make)
-
-;;************
-;; write-parameter-list -- with comma separator, open and close parens
-;;
-;;************
-
-(defun write-parameter-list (stream prefix strings)
-  (let ((comma ""))
-    (format stream "(")
-    (dolist (parm strings)
-      (format stream "~A~A~A" comma prefix parm)
-      (setf comma ", "))
-    (format stream ")")))
-
-;;************
-;; write-ansi-prototype-list -- with comma separator, open and close parens
-;;
-;; Inputs:
-;;	stream - output stream
-;;	prefix - arg prefix, perhaps ""
-;;	args - argument type/name pairs of the form
-;;		( (type1 name1) (type2 name2) ... )
-;; Effect:
-;;	if *ANSI* is set T, writes ANSI-style parameter list of the form
-;;		type name, ...
-;;	if *ANSI* is set NIL, writes antique-style parameter list of the form
-;;		()
-;;************
-
-(defun write-ansi-prototype-list (stream prefix args)
-  (let ((comma ""))
-    (format stream "(")
-    (if *ANSI*
-       (dolist (parm args)
-          ;--------------------
-          ; for each parameter
-          ;	<comma>type <prefix><parm>
-          ;--------------------
-          (format stream "~A~A ~A~A" comma (car parm) prefix (cadr parm))
-          (setf comma ", "))
-    )
-    (format stream ")")))
-
-;;************
-;;			   write-ansi-parameter-list
-;;
-;; Inputs:
-;;	stream - output stream
-;;	prefix - arg prefix, perhaps ""
-;;	args - argument type/name pairs of the form
-;;		( (type1 name1) (type2 name2) ... )
-;; Effect:
-;;	if *ANSI* is set T, writes ANSI-style parameter list of the form
-;;		(type name, ...)
-;;	if *ANSI* is set NIL, writes antique-style parameter list of the form
-;;		(name, ...)
-;; Note:
-;;  to get a space between types and arguments, a space is prepended to prefix if
-;; this is an *ANSI* arg list.
-;;************
-
-(defun write-ansi-parameter-list (stream prefix args)
-  (let ((comma ""))
-    (format stream "(")
-    (cond (*ANSI*
-           (setf prefix (strcat " " prefix))))
-    (dolist (parm args)
-            (format stream "~A~A~A~A" comma 
-                            (if *ANSI* (car parm) "")
-                        prefix (cadr parm))
-            (setf comma ", ")
-    )
-    (format stream ")")))
-
-;;************
-;;			       write-sample-rate
-;; Effect:
-;; 	declare sr and compute the sample rate for the new signal
-;; Notes:
-;;	If sr is an input parameter, it is not declared
-;;	If (SAMPLE-RATE expr) is specified, declare sr to be initialized
-;;	   to the expr
-;;	If (SAMPLE-RATE (MAX s1 s2 ...)), sr is initialized to the max.
-;;	Otherwise, sr is initialized to the max of the sample rates of
-;;	all the sound-type arguments	
-;;************
-
-(defun write-sample-rate (stream sr sound-names arguments)
-    ;; if sr is "sr" and "sr" is a parameter, then do nothing:
-
-    (display "write-sample-rate: " sr sound-names arguments)
-
-    (cond ( (and (equal sr "sr") (is-argument "sr" arguments))
-            ;---------------------
-            ;   /* sr specified as input parameter */
-            ;---------------------
-                (format stream "    /* sr specified as input parameter */~%")
-          )
-    ;; else if sample rate is specified, use it to initialize sr:
-          ((stringp sr)
-           (display "write-sample-rate: using specified sr" sr)
-            ;---------------------
-            ;   rate_type sr = <sr>;
-            ;---------------------
-           (format stream "    rate_type sr = ~A;~%" sr)
-          )
-    ;; else look for (MAX ...) expression
-          ((and (listp sr) (eq (car sr) 'MAX))
-           (format stream "    rate_type sr = ")
-           (write-redux-of-names stream "max" 
-                (mapcar #'symbol-to-name (cdr sr)) "->sr")
-           (format stream ";~%")
-          )
-    ;; else assume sr is max of sr's of all sound arguments
-          (sound-names
-            ;---------------------
-            ;   rate_type sr = max( <arg[0]> ->sr, <arg[i]> ->sr);
-            ;---------------------
-           (format stream "    rate_type sr = ")	; jmn
-           (write-redux-of-names stream "max" sound-names "->sr")
-           (format stream ";~%")
-          )
-           (t
-            (error "Missing SAMPLE-RATE specification."))
-    )
-)
- 
-
-(defun write-redux-of-names (stream fn sound-names suffix)
-  (dotimes (n (1- (length sound-names)))
-           (format stream "~A(" fn))
-  (format stream "~A~A" (car sound-names) suffix)
-  (dolist (snd (cdr sound-names))
-          (format stream ", ~A~A)" snd suffix)))
-
-
-
-;;************
-;;			       write-start-time
-;; Effect:
-;; 	declare sr and compute the start time for the new signal
-;; Notes:
-;;	If t0 is an input parameter, it is not declared
-;;	If (START (AT expr)) is specified, declare t0 to be initialized
-;;	   to the expr
-;;	Otherwise, t0 is initialized to 0
-;;************
-
-(defun write-start-time (stream start arguments)
-  ;; if t0 is "t0" and "t0" is a parameter, then do nothing:
-  (display "write-start time:" start arguments)
-  (cond ((is-argument "t0" arguments)
-         ;---------------------
-         ;   /* t0 specified as input parameter */
-         ;---------------------
-             (format stream "    /* t0 specified as input parameter */~%"))
-    ;; else if start time is specified, use it to initialize sr:
-        (t (cond (start
-                  ;---------------
-                  ;   (START (AT <expr>)) specified:
-                  ;
-                  ;   time_type t0 = <expr>;
-                  ;---------------
-                  (setf start (car start))
-                  (cond ((eq (car start) 'AT)
-                         (format stream "    time_type t0 = ~A;~%" (cadr start)))
-                        ((eq (car start) 'MIN)
-                         (format stream "    time_type t0 = ")
-                         (write-redux-of-names stream "min" 
-                                               (c-names (cdr start)) "->t0")
-                         (format stream ";~%"))
-                        ((eq (car start) 'MAX)
-                         (format stream "    time_type t0 = ")
-                         (write-redux-of-names stream "max" 
-                                               (c-names (cdr start)) "->t0")
-                         (format stream ";~%"))
-                        (t (error (format nil
-                            "Unrecognized START specification ~A" start)))))
-                ;---------------
-                ;   time_type t0 = 0.0;
-                ;---------------
-                (t (format stream "    time_type t0 = 0.0;~%"))))))
-
-
-;; c-names -- get the C names corresponding to list of symbols
-;;
-(defun c-names (syms) (mapcar '(lambda (sym) (string-downcase (symbol-name sym))) syms))
-
-(defun is-table (alg snd)
-  (dolist (table (get-slot alg 'table))
-    (cond ((equal snd table)
-           (display "is-table" snd table)
-           (return t)))))
-
- 
-;; write-xlmake -- write out a function snd_NAME to be called by xlisp
-;
-; this function copies any sound arguments and passes them on to snd_make_NAME
-;
-(defun write-xlmake (alg stream)
-  (let ((name (get-slot alg 'name))
-        (sound-names (get-slot alg 'sound-names))
-        (arguments (get-slot alg 'arguments))
-        comma)
-    ;--------------------
-    ;   sound_type snd_NAME
-    ;--------------------
-
-    (format stream "~%~%sound_type snd_~A" name)
-
-    ;--------------------
-    ;    ( type name, ...)
-    ;    {
-    ;--------------------
-
-    (write-ansi-parameter-list stream "" arguments)
-    (format stream "~%")
-    (if (not *ANSI*)
-        (dolist (arg arguments)
-          (format stream "  ~A ~A;~%" (car arg) (cadr arg))))
-    (format stream "{~%")
-
-    ;----------------
-    ; for each sound argument that is not a table
-    ;     sound_type SND_copy = sound_copy(SND);
-    ;----------------
-
-    (dolist (arg arguments)
-      (cond ((equal (car arg) "sound_type")
-             (let ((snd (cadr arg)))
-                (cond ((not (is-table alg snd))
-                       (format stream 
-                               "    sound_type ~A_copy = sound_copy(~A);~%"
-                               snd snd)))))))
-
-    ;----------------
-    ; now call snd_make_ALG. When SND is a sound_type that is not a table,
-    ;  substitute SND_copy for SND.
-    ;----------------
-
-    (format stream "    return snd_make_~A(" name)
-    (setf comma "")
-    (dolist (arg arguments)
-      (let ((suffix ""))
-        (cond ((and (equal (car arg) "sound_type")
-                    (not (is-table alg (cadr arg))))
-               (setf suffix "_copy")))
-        (format stream "~A~A~A" comma (cadr arg) suffix)
-        (setf comma ", ")))
-    (format stream ");~%}~%")))
diff --git a/lib-src/libnyquist/tran/writesusp.lsp b/lib-src/libnyquist/tran/writesusp.lsp
deleted file mode 100644
index fc4f429..0000000
--- a/lib-src/libnyquist/tran/writesusp.lsp
+++ /dev/null
@@ -1,982 +0,0 @@
-;;************
-;;          Change Log
-;; Date     | Change
-;;----------+---------------------
-;; 17-Dec-91 | [1.1] <jmn> Created
-;; 17-Dec-91 | [1.1] <jmn> cast arg of snd_list_create to correct type
-;; 17-Dec-91 | [1.1] <jmn> cast truncation as (int) explicitly, avoid lint
-;;           | errors
-;; 13-Jan-92 | [1.2] <jmn> reformatted and recommented
-;;************
-
-;;****************
-;; depended-on-in-inner-loop - test if variables updated in inner loop
-;;****************
-(defun depended-on-in-inner-loop (vars interp sound-names step-function)
-  (dotimes (n (length interp))
-    (let ((method (nth n interp))
-          (name (nth n sound-names))
-          interpolate-samples)
-      (setf interpolate-samples
-            (not (member (name-to-symbol name) step-function)))
-      (cond ((and (or (member method '(NONE SCALE INTERP))
-                      interpolate-samples)
-                  (member name vars :test #'equal))
-             (return t))))))
-
-;;****************
-;; fixup-depends-prime - write code to update depend variables
-;; 	this code is only run the first time the suspension
-;;	is invoked
-;;****************
-(defun fixup-depends-prime (alg stream name indent var-name)
-  (let ((depends (get-slot alg 'depends)))
-    (dolist (dep depends)
-      (cond ((equal name (cadr dep))
-             (cond ((eq (cadddr dep) 'TEMP)
-                    (format stream "~A~A = ~A;~%" indent (car dep)
-                        (fixup-substitutions-prime alg
-                                (caddr dep) name var-name)))
-                   (t
-                    (format stream "~Asusp->~A = ~A;~%" indent (car dep)
-                        (fixup-substitutions-prime alg
-                                (caddr dep) name var-name)))))))))
-
-(print 'fixup-depends-prime)
-
-
-;;****************
-;; fixup-depends-prime-decls - write declarations for temp depend variables
-;; 	this code is only run the first time the suspension
-;;	is invoked
-;;****************
-(defun fixup-depends-prime-decls (alg stream name)
-  (let ((depends (get-slot alg 'depends)))
-    (dolist (dep depends)
-      (cond ((equal name (cadr dep))
-             (cond ((eq (cadddr dep) 'TEMP)
-                    (format stream "\t    ~A ~A;~%" (car (cddddr dep))
-                                   (car dep)))))))))
-
-(print 'fixup-depends-prime-decls)
-
-
-;;****************
-;; fixup-substitutions-prime - substitute susp-><var> for <var> for each 
-;;	state variable in code, also substitute var-name for name
-;;	(this is the depended-on value)
-;;****************
-(defun fixup-substitutions-prime (alg code name var-name)
-  (dolist (state (get-slot alg 'state))
-    (let ((var (cadr state)))
-      (setf code (substitute code var (strcat "susp->" var) t))))
-  (if name (setf code (substitute code name var-name nil)))
-  code)
-
-(print 'fixup-substitutions-prime)
-
-
-;;****************
-;; fixup-depends - write code to declare and update depend variables
-;; 	this is called at declaration time (the point where 
-;;	declarations should be output), but also generates code
-;; 	to be output after the depended-on variable is updated
-;;****************
-(defun fixup-depends (alg stream name)
-  (format stream "/* fixup-depends ~A */~%" name)
-  (let ((depends (get-slot alg 'depends))
-        (fixup-code "")
-        (var-name (strcat name "_x1_sample_reg")))
-    (dolist (dep depends)
-      (cond ((equal name (cadr dep))
-             (cond ((eq (cadddr dep) 'TEMP)
-                    (format stream "\t\t~A ~A; ~%" (car (cddddr dep))
-                                (car dep))
-                    (setf fixup-code
-                          (format nil "~A\t\t~A = ~A;~%"
-                                  fixup-code (car dep) 
-                                  (fixup-substitutions alg
-                                   (caddr dep) name var-name))))
-                   (t
-                    (setf fixup-code
-                          (format nil "~A\t\t~A_reg = susp->~A = ~A;~%"
-                                  fixup-code (car dep) (car dep)
-                                  (fixup-substitutions alg
-                                   (caddr dep) name var-name))))))))
-    (put-slot alg fixup-code 'fixup-code)))
-
-(print 'fixup-depends)
-
-
-;;****************
-;; fixup-substitutions - substitute <var>_reg for <var> for each 
-;;	state variable in code, also substitute var-name for name
-;;	(this is the depended-on value)
-;;****************
-(defun fixup-substitutions (alg code name var-name)
-  (dolist (state (get-slot alg 'state))
-    (let ((var (cadr state)))
-      (setf code (substitute code var (strcat var "_reg") t))))
-  (substitute code name var-name nil))
-
-(print 'fixup-substitutions)
-
-
-;;****************
-;; in-min-list - see if name is in TERMINATE MIN list or
-;;   LOGICAL-STOP MIN list
-;;
-;; returns true if algorithm specified, say (TERMINATE (MIN s1 s2 s3)) and
-;; name is, say, "s2".
-;; NOTE: name is a string, so we have to do a lookup to get the symbol name
-;;****************
-(defun in-min-list (name alg terminate-or-logical-stop)
-  (let ((spec (get alg terminate-or-logical-stop)))
-;    (display "in-min-list" name alg terminate-or-logical-stop spec)
-    (and spec
-         (listp (car spec))
-         (eq (caar spec) 'MIN)
-         (member (name-to-symbol name) (cdar spec)))))
-
-
-;;****************
-;; logical-stop-check-needed -- says if we need to check for logical stop
-;;    after the outer loop
-;; the argument is the logical-stop clause from the algorithm prop list
-;;****************
-(defun logical-stop-check-needed (logical-stop)
-  (cond ((and logical-stop
-              (listp logical-stop)
-              (or (eq (car logical-stop) 'MIN)
-                  (eq (car logical-stop) 'AT))))))
-
-
-;;****************
-;; susp-check-fn -- find fn to check need for new block of samples
-;;
-;; To simply check if susp->S_ptr points to something, you call 
-;; susp_check_samples(S, S_ptr, S_cnt), but during this check, it is
-;; also necessary to check for termination condition and logical stop
-;; condition, BUT ONLY if S is in a MIN list for the TERMINATE or
-;; LOGICAL-STOP attributes (i.e. this signal stops when S does).
-;;
-;; The algorithm is: if S is on the LOGICAL-STOP MIN list and on
-;; the TERMINATE MIN list, then call susp_check_term_log_samples.
-;;Otherwise if S is on the LOGICAL-STOP MIN list then call
-;; susp_check_log_samples.  Otherwise, if S is on the TERMINATE MIN
-;; list, call susp_check_term_samples.  The "normal" case should be 
-;; susp_check_term_samples, which happens when the LOGICAL-STOP
-;; MIN list is empty (nothing was specified).  Note that a signal logically
-;; stops at termination time anyway, so this achieves the logically stopped
-;; condition with no checking.
-;;****************
-(defun susp-check-fn (name alg)
-  (let ((in-log-list (in-min-list name alg 'logical-stop))
-        (in-term-list (in-min-list name alg 'terminate)))
-    (cond ((and in-log-list in-term-list)
-           "susp_check_term_log_samples")
-          (in-log-list
-           "susp_check_log_samples")
-          (in-term-list
-           "susp_check_term_samples")
-          (t
-           "susp_check_samples"))))
-
-
-;;************
-;; write-depend-decls -- declare TEMP depends variables
-;;
-;;************
-;(defun write-depend-decls (alg stream)
-;  (dolist (dep (get-slot alg 'depends))
-;    (cond ((eq (cadddr dep) 'TEMP)
-;	   (format stream "\t~A ~A; ~%" (car (cddddr dep)) (car dep))))))
-;--------
-
-(defun write-depend-decls (alg stream interp sound-names step-function)
-  (dotimes (n (length interp))
-    (let ((name (nth n sound-names))
-          (method (nth n interp))
-          is-step)
-      (cond ((eq method 'INTERP)
-             (setf is-step (member (name-to-symbol name) step-function))
-             (cond (is-step
-                    (fixup-depends-prime-decls alg stream name))))))))
-
-
-;;************
-;; write-prime -- write conditional code to prime input sounds and susp
-;;
-;;************
-(defun write-prime (alg stream interp sound-names)
- (let ((step-function (get-slot alg 'step-function)))
-  ;------------------------------
-  ;   /* make sure sounds are primed with first values */
-  ;------------------------------
-  (format stream "~%    /* make sure sounds are primed with first values */~%")
-
-  ;------------------------------
-  ;   if  (!susp->started) {
-  ;       susp->started = true;
-  ;------------------------------
-
-  (format stream "    if (!susp->started) {~%")
-  ; this is generating extraneous declarations, is it necessary?
-  ; yes, at least sometimes, so we're leaving it in
-  ; "atonev.alg" is a good test case to prove you can't comment this out
-  (write-depend-decls alg stream interp sound-names step-function)
-  (format stream "\tsusp->started = true;~%")
-
-  ;------------------------------
-  ; for each method
-  ;------------------------------
-  (dotimes (n (length interp))
-    (let ((name (nth n sound-names))
-          (method (nth n interp))
-          is-step)
-      (cond ((eq method 'INTERP)
-             ;--------------------
-             ; susp_XX_samples(NAME, NAME_ptr, NAME_cnt);
-             ; susp->NAME_x1_sample = susp_fetch_sample(NAME, NAME_ptr,
-             ;                                          NAME_cnt);
-             ; <fixup depends variables> (if a step function)
-             ;--------------------
-             (format stream "\t~A(~A, ~A_ptr, ~A_cnt);~%"
-              (susp-check-fn name alg) name name name)
-             (format stream 
-              "\tsusp->~A_x1_sample = susp_fetch_sample(~A, ~A_ptr, ~A_cnt);~%"
-              name name name name)
-             (setf is-step (member (name-to-symbol name) step-function))
-             (cond (is-step
-                    (fixup-depends-prime alg stream name "\t"
-                        (strcat "susp->" name "_x1_sample")))))
-            ((eq method 'RAMP)
-             ;--------------------
-             ; susp->NAME_pHaSe = 1.0;
-             ;--------------------
-             (format stream "\tsusp->~A_pHaSe = ~A;~%" name "1.0")))))
-
-  ;--------------------
-  ; *WATCH*
-  ;       show_samples(2,susp->NAME_x2,0);
-  ;--------------------
-; (if *WATCH*
-;   (format stream "\tshow_samples(2,~A_x2,0);~%" name))
-
-  ;--------------------
-  ; }
-  ;--------------------
-  (format stream "    }~%")))
-      
-
-(print 'write-prime)
-
-;;************
-;; show-samples-option
-;;
-;; Inputs:
-;;	stream: output stream for file
-;;	name: token to use for forming name
-;; Effect:
-;;	Writes sampling clause
-;;************
-(defun show-samples-option (stream name)
-    ;----------------------------
-    ;	else
-    ;	   { /* just show NAME */
-    ;	    show_samples(1,NAME,NAME_ptr - NAME->samples); 
-    ;	   } /* just show NAME */
-    ;----------------------------
-;  (format stream "\t    show_samples(1, ~A, 0);~%\t} else {~%" name)
-;  (format stream "\t    show_samples(1, ~A, ~A_ptr - ~A->samples);~%~%"
-;          name name name)
-)
-
-
-(print "show-samples-option")
-
-;;************
-;; write-susp -- compile the suspension according to interpolation spec
-;;
-;;************
-
-(defun write-susp (alg stream)
-  (let* ((interp (get alg 'interpolation))
-         (encoding (encode interp))
-         (sound-names (get alg 'sound-names))
-         (name (get-slot alg 'name))
-         (logical-stop (car (get-slot alg 'logical-stop)))
-         (terminate (car (get-slot alg 'terminate)))
-         (outer-loop (get-slot alg 'outer-loop))
-         (step-function (get-slot alg 'step-function))
-         (depends (get-slot alg 'depends))
-         (inner-loop (get-slot alg 'inner-loop))
-         n s m p fn-name loop-prefix joint-depend)
-
-    (display "write-susp" interp encoding)
-
-    ;---------------------------
-    ; non-ANSI:
-    ;     void NAME_<encoding>_fetch(susp, snd_list)
-    ;   register pwl_susp_type susp;
-    ;        snd_list_type snd_list;
-    ;	     {
-    ; ANSI:
-    ;     void NAME_<encoding>_fetch(register susp_type susp, snd_list_type snd_list)
-    ;        {
-    ;---------------------------
-
-    (setf fn-name (format nil "~A_~A_fetch" name encoding))
-    (cond (*ANSI*
-           (format stream
-        "~%~%void ~A(register ~A_susp_type susp, snd_list_type snd_list)~%{~%"
-            fn-name name))
-          (t
-           (format stream
-            "~%~%void ~A(susp, snd_list)~%  register ~A_susp_type susp;~%~A~%"
-            fn-name name "  snd_list_type snd_list;\n{")))
-
-    ;-----------------------------
-    ;    int cnt = 0;  /* how many samples computed */
-    ;-----------------------------
-    (format stream "    int cnt = 0; /* how many samples computed */~%")
-
-    (dotimes (n (length interp))
-      (let ((name (nth n sound-names))
-            interpolate-samples
-            (method (nth n interp)))
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-
-        (cond ((and interpolate-samples (eq method 'INTERP))
-               (format stream "    sample_type ~A_x2_sample;~%" name))
-              ((eq method 'INTERP))
-              ((and interpolate-samples (eq method 'RAMP))
-               ;-----------------
-               ;    sample_type NAME_DeLtA;
-               ;    sample_type NAME_val;
-               ;-----------------
-               (format stream "    sample_type ~A_DeLtA;~%" name)
-               (format stream "    sample_type ~A_val;~%" name)
-               (format stream "    sample_type ~A_x2_sample;~%" name))
-              ((eq method 'RAMP)
-               ;-----------------
-               ;    sample_type NAME_val;
-               ;-----------------
-               (format stream "    sample_type ~A_val;~%" name)))))
-
-    ;-----------------------------
-    ;   int togo;
-    ;   int n;
-    ;   sample_block_type out;
-    ;   register sample_block_values_type out_ptr;
-    ;   register sample_block_values_type out_ptr_reg;
-    ;-----------------------------
-    (format stream "    int togo;~%")
-    (format stream "    int n;~%")
-    (format stream "    sample_block_type out;~%")
-    (format stream "    register sample_block_values_type out_ptr;~%~%")
-    (format stream "    register sample_block_values_type out_ptr_reg;~%~%")
-
-    ;; computations for DEPENDS variables added to inner loop
-    (setf loop-prefix "")
-    (dolist (dep depends)
-      (dotimes (n (length interp))
-        (let ((method (nth n interp))
-              (name (nth n sound-names))
-              interpolate-samples)
-          (setf interpolate-samples
-                (not (member (name-to-symbol name) step-function)))
-          (cond ((and (equal name (cadr dep))
-                      (or (member method '(NONE SCALE))
-                          interpolate-samples))
-                 (setf loop-prefix (format nil "~A\t    ~A = ~A;~%"
-                                    loop-prefix (car dep) (caddr dep))))))))
-
-    ;; computation of JOINT-DEPENDENCY, if applicable
-    (setf joint-depend "")
-    (dolist (dep (get-slot alg 'joint-dependency))
-      ;; if any depended on var is recomputed in inner loop, add the stmts
-      (cond ((depended-on-in-inner-loop (car dep) interp sound-names 
-                                        step-function)
-             (dolist (stmt (cdr dep))
-                (setf joint-depend (strcat joint-depend 
-                                        "\t    " stmt "\n"))))))
-
-    ; this computes some additional declarations
-    (compute-inner-loop alg (strcat loop-prefix joint-depend inner-loop))
-    ; make the declarations
-    (print-strings (get-slot alg 'register-decl) stream)
-
-    ;-----------------------------
-    ;   falloc_sample_block(out, "caller");
-    ;  out_ptr = out->samples;
-    ;  snd_list->block = out;
-    ;-----------------------------
-    (format stream "    falloc_sample_block(out, \"~A\");~%" fn-name)
-    (format stream "    out_ptr = out->samples;~%")
-    (format stream "    snd_list->block = out;~%")
-
-    ;-----------------------------
-    ; prime the ramp/interp streams
-    ;-----------------------------
-    ;; run this code the first time the suspension is called
-    (cond ((or (member 'RAMP interp) (member 'INTERP interp))
-           (write-prime alg stream interp sound-names)))
-
-    (dotimes (n (length interp))
-       (let ((name (nth n sound-names))
-             interpolate-samples
-             (method (nth n interp)))
-         (setf interpolate-samples
-               (not (member (name-to-symbol name) step-function)))
-
-         (cond ((or (and interpolate-samples (eq method 'INTERP))
-                    (eq method 'RAMP))
-                ;-------------
-                ;   susp_check_XX_samples(NAME, NAME_ptr, NAME_cnt);
-                ;-------------
-                (format stream
-                        "~%    ~A(~A, ~A_ptr, ~A_cnt);~%"
-                        (susp-check-fn name alg) name name name)))
-
-         (cond ((and interpolate-samples (eq method 'INTERP))
-                ;-------------
-                ;  susp->NAME_x2_sample = susp->NAME->scale * susp->NAME_x2_ptr);
-                ;-------------
-                (format stream
-                 "    ~A_x2_sample = susp_current_sample(~A, ~A_ptr);~%"
-                 name name name))
-               ((eq method 'INTERP)
-                ;-------------
-                ;
-                ;-------------
-                )
-               ((and interpolate-samples (eq method 'RAMP))
-                ;----------------
-                ; susp->NAME_x2_sample = susp_current_sample(NAME, NAME_ptr);
-                ;----------------
-                (format stream 
-                        "    ~A_x2_sample = susp_current_sample(~A, ~A_ptr);~%"
-                        name name name))
-               ((eq method 'RAMP)
-                ))))
-
-    ;----------------------------
-    ; *WATCH*: printf("NAME %x new block %x\n", susp, out);
-    ;----------------------------
-    (if *watch*
-      (format stream "    printf(\"~A %x new block %x\\n\", susp, out);~%" name))
-
-    ;----------------------------
-    ;    while (cnt < max_sample_block_len)  { /* outer loop */
-    ;      /* first compute how many samples to generate in inner loop: */
-    ;	   /* don't overflow the output sample block: */
-    ;      togo = max_sample_block_len - cnt;
-    ;----------------------------
-    
-    (format stream 
-            "~%    while (cnt < max_sample_block_len) { /* outer loop */~%")
-    (format stream 
-     "\t/* first compute how many samples to generate in inner loop: */~%")
-    (format stream
-     "\t/* don't overflow the output sample block: */~%")
-    (format stream
-     "\ttogo = max_sample_block_len - cnt;~%~%")
-
-    ;; this loop gets ready to execute the INNER-LOOP
-    (dotimes (n (length interp))
-      (let ((name (nth n sound-names))
-            interpolate-samples
-            (method (nth n interp)))
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-
-        (cond ((member method '(NONE SCALE))
-               ;-----------------
-               ; NONE:
-               ;    /* don't run past the NAME input sample block */
-               ; susp_check_XX_for_samples(NAME, NAME_ptr, NAME_cnt);
-               ;    togo = min(togo, susp->NAME_cnt);
-               ;-----------------
-               (format stream
-                "\t/* don't run past the ~A input sample block: */~%" name)
-               (display "don't run past the ..." name (susp-check-fn name alg))
-               (format stream
-                "\t~A(~A, ~A_ptr, ~A_cnt);~%"
-                (susp-check-fn name alg) name name name)
-               (format stream "\ttogo = min(togo, susp->~A_cnt);~%~%" name))
-              ((eq method 'INTERP))
-              ((and interpolate-samples (eq method 'RAMP))
-                ;-----------------
-                ; RAMP:
-                ;
-                ;    /* grab next NAME_x2_sample when phase goes past 1.0 */
-                ;    /* we use NAME_n (computed below) to avoid roundoff errors: */
-                ; if (susp->NAME_n <= 0) {
-                ;     susp->NAME_x1_sample = NAME_x2_sample;
-                ;     susp->NAME_ptr++;
-                ;     susp_took(NAME_cnt, 1);
-                ;     susp->NAME_pHaSe -= 1.0;
-                ;     susp_check_log_samples(NAME, NAME_ptr, NAME_cnt);
-                ;     NAME_x2_sample = susp_current_sample(NAME, NAME_ptr);
-                ; }
-                ; /* NAME_n gets number of samples before phase exceeds 1.0: */
-                ; susp->NAME_n = 0.5 + (long) ((1.0 - susp->NAME_pHaSe) * susp->output_per_NAME);
-                ; togo = min(togo, susp->NAME_n);
-                ; NAME_DeLtA = (sample_type) ((NAME_x2_sample - susp->NAME_x1_sample) *  susp->NAME_pHaSe_iNcR);
-                ; NAME_val = (sample_type) (susp->NAME_x1_sample * (1.0 - susp->NAME_pHaSe) +
-                ;      NAME_x2_sample * susp->NAME_pHaSe);
-                ;-----------------
-                (format stream
-                 "\t/* grab next ~A_x2_sample when phase goes past 1.0; */~%" name)
-                (format stream
-                 "\t/* we use ~A_n (computed below) to avoid roundoff errors: */~%" name)
-                (format stream "\tif (susp->~A_n <= 0) {~%" name)
-                (format stream "\t    susp->~A_x1_sample = ~A_x2_sample;~%"
-                               name name)
-                (format stream "\t    susp->~A_ptr++;~%" name);
-                (format stream "\t    susp_took(~A_cnt, 1);~%" name);
-                (format stream "\t    susp->~A_pHaSe -= 1.0;~%" name);
-                (format stream "\t    ~A(~A, ~A_ptr, ~A_cnt);~%"
-                 (susp-check-fn name alg) name name name)
-                (format stream 
-                 "\t    ~A_x2_sample = susp_current_sample(~A, ~A_ptr);~%"
-                 name name name)
-                (format stream
-                 "\t    /* ~A_n gets number of samples before phase exceeds 1.0: */~%"
-                        name)
-                (format stream 
-                        "\t    susp->~A_n = (long) ((1.0 - susp->~A_pHaSe) *~%"
-                        name name)
-                (format stream "\t\t\t\t\tsusp->output_per_~A);~%\t}~%" name)
-                (format stream "\ttogo = min(togo, susp->~A_n);~%" name)
-                (format stream "\t~A_DeLtA = (sample_type) ((~A_x2_sample - susp->~A_x1_sample) * susp->~A_pHaSe_iNcR);~%" 
-                        name name name name)
-                (format stream 
-                 "\t~A_val = (sample_type) (susp->~A_x1_sample * (1.0 - susp->~A_pHaSe) +~%"
-                 name name name)
-                (format stream "\t\t ~A_x2_sample * susp->~A_pHaSe);~%~%"
-                         name name))
-              ((eq method 'RAMP)
-                ;-----------------
-                ; SLOW STEP FUNCTION
-                ;
-                ; /* grab next NAME_x1_sample when phase goes past 1.0 */
-                ; /* use NAME_n (computed below) to avoid roundoff errors: */
-                ; if (susp->NAME_n <= 0) {
-                ;     <fixup depends declarations>
-                ;     susp_check_log_samples(NAME, NAME_ptr, NAME_cnt);
-                ;     susp->NAME_x1_sample = susp_fetch_sample(NAME, NAME_ptr,
-                ; 					       NAME_cnt);
-                ;     susp->NAME_pHaSe -= 1.0;
-                ;     /* NAME_n gets number of samples before phase 
-                ;        exceeds 1.0: */
-                ;     susp->NAME_n = (long) ((1.0 - susp->NAME_pHaSe) *
-                ;                    susp->output_per_NAME);
-                ;     <fixup depends variables>
-                ; }
-                ; togo = min(togo, susp->NAME_n);
-                ; NAME_val = susp->NAME_x1_sample; 
-                ;-----------------
-                (format stream
-                 "\t/* grab next ~A_x1_sample when phase goes past 1.0; */~%"
-                 name)
-                (format stream
-                "\t/* use ~A_n (computed below) to avoid roundoff errors: */~%"
-                 name)
-                (format stream "\tif (susp->~A_n <= 0) {~%" name)
-                (fixup-depends-prime-decls alg stream name)
-                (format stream "\t    ~A(~A, ~A_ptr, ~A_cnt);~%"
-                 (susp-check-fn name alg) name name name)
-                (format stream 
-          "\t    susp->~A_x1_sample = susp_fetch_sample(~A, ~A_ptr, ~A_cnt);~%"
-                 name name name name)
-                (format stream "\t    susp->~A_pHaSe -= 1.0;~%" name);
-                (format stream
-          "\t    /* ~A_n gets number of samples before phase exceeds 1.0: */~%"
-                        name)
-                (format stream 
-                 "\t    susp->~A_n = (long) ((1.0 - susp->~A_pHaSe) *~%"
-                        name name)
-                (format stream "\t\t\t\t\tsusp->output_per_~A);~%" name)
-                (fixup-depends-prime alg stream name "\t    "
-                        (strcat "susp->" name "_x1_sample"))
-                (format stream "\t}~%" name)
-                (format stream "\ttogo = min(togo, susp->~A_n);~%" name)
-                (format stream 
-                 "\t~A_val = susp->~A_x1_sample;~%" name name) ))))
-    
-    ;---------------
-    ; see if there are joint-dependencies that should be output now
-    ; output here if none of depended-on signals are updated in inner loop
-    ;---------------
-    ;; computation of JOINT-DEPENDENCY, if applicable
-    (setf joint-depend "")
-    (dolist (dep (get-slot alg 'joint-dependency))
-      (cond ((not (depended-on-in-inner-loop (car dep) interp sound-names 
-                                             step-function))
-             (dolist (stmt (cdr dep))
-                (setf joint-depend (strcat joint-depend 
-                                        "\t" stmt "\n"))))))
-    (setf joint-depend (fixup-substitutions-prime alg joint-depend nil nil))
-    (format stream joint-depend)
-
-    ;----------------
-    ; if the teminate time is a MIN of some signals or AT some expression
-    ; (i.e. specified at all) see if we're coming to the terminate cnt:
-    ;
-    ;	/* don't run past terminate time */
-    ;	if (susp->terminate_cnt != UNKNOWN && 
-    ;		susp->terminate_cnt <= susp->susp.current) {
-    ;	    int to_stop = (susp->terminate_cnt + max_sample_block_len) -
-    ;			 (susp->susp.current + cnt);
-    ;	    if (to_stop < togo && ((togo = to_stop) == 0)) break;
-    ;	}
-    ;----------------
-    (cond ((terminate-check-needed terminate alg)
-           (print-strings '(
-     "\t/* don't run past terminate time */\n"
-     "\tif (susp->terminate_cnt != UNKNOWN &&\n"
-     "\t    susp->terminate_cnt <= susp->susp.current + cnt + togo) {\n"
-     "\t    togo = susp->terminate_cnt - (susp->susp.current + cnt);\n"
-     "\t    if (togo == 0) break;\n"
-     "\t}\n\n") stream)))
-
-    ;----------------
-    ; if the logical-stop attribute is MIN of some signals or AT some expression
-    ; see if we're coming to the logical stop:
-    ;
-    ;   /* don't run past logical stop time */
-    ;	if (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {
-    ;	    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);
-    ;           /* break if to_stop == 0 (we're at the logical stop)
-    ;	     * AND cnt > 0 (we're not at the beginning of the
-    ;	     * output block).
-    ;	     */
-    ;	    if (to_stop < togo) {
-    ;		if (to_stop == 0) {
-    ;		    if (cnt) {
-    ;			togo = 0;
-    ;			break;
-    ;		    } else /* keep togo as is: since cnt == 0, we
-    ;			    * can set the logical stop flag on this
-    ;			    * output block
-    ;			    */
-    ;			susp->logically_stopped = true;
-    ;		} else /* limit togo so we can start a new
-    ;			* block at the LST
-    ;			*/
-    ;		    togo = to_stop;
-    ;   	      }	    
-    ;	}
-    ;----------------
-    (cond (logical-stop
-           (print-strings '(
-     "\n\t/* don't run past logical stop time */\n"
-     "\tif (!susp->logically_stopped && susp->susp.log_stop_cnt != UNKNOWN) {\n"
-     "\t    int to_stop = susp->susp.log_stop_cnt - (susp->susp.current + cnt);\n"
-     "\t    /* break if to_stop == 0 (we're at the logical stop)\n"
-     "\t     * AND cnt > 0 (we're not at the beginning of the\n"
-     "\t     * output block).\n"
-     "\t     */\n"
-     "\t    if (to_stop < togo) {\n"
-     "\t\tif (to_stop == 0) {\n"
-     "\t\t    if (cnt) {\n"
-     "\t\t\ttogo = 0;\n"
-     "\t\t\tbreak;\n"
-     "\t\t    } else /* keep togo as is: since cnt == 0, we\n"
-     "\t\t            * can set the logical stop flag on this\n"
-     "\t\t            * output block\n"
-     "\t\t            */\n"
-     "\t\t\tsusp->logically_stopped = true;\n"
-     "\t\t} else /* limit togo so we can start a new\n"
-     "\t\t        * block at the LST\n"
-     "\t\t        */\n"
-     "\t\t    togo = to_stop;\n"
-     "\t    }\n"
-     "\t}\n\n")
-                          stream)))
-
-    (cond (outer-loop
-           (print-strings outer-loop stream)
-           (format stream "~%")))
-
-    ;----------------------------
-    ; n = togo;
-    ; *WATCH*: printf("ALG %x starting inner loop, n %d\n", susp, n);
-    ;----------------------------
-
-    (format stream "\tn = togo;~%")
-    (if *watch* 
-      (format stream
-              "\tprintf(\"~A %x starting inner loop, n %d\\n\", susp, n);~%"
-              name))
-
-    (dotimes (n (length interp))
-       (let ((name (nth n sound-names))
-             (method (nth n interp)))
-          (cond ((eq method 'NONE))
-                 ;-----------------
-                 ;  NONE:
-                 ;-----------------
-                ((eq method 'RAMP))
-                ;-----------------
-                ; RAMP:
-                ;-----------------
-                ((and (eq method 'INTERP) (eq n 0))
-                ;-----------------
-                ; INTERP (first arg only)
-;		;	susp->NAME_cnt -= togo;
-                ;-----------------
-;	  	 (format stream "\tsusp->~A_cnt -= togo;~%" name)
-                 ))))
-
-    (print-strings (get-slot alg 'register-init) stream)
-    ;----------------------------
-    ; if (n) do  { /* inner loop */
-    ;----------------------------
-
-    (format stream
-            "\tif (n) do { /* the inner sample computation loop */~%")
-
-    ;;----------------------------
-    ;; write local declarations supplied by user
-    ;;----------------------------
-
-    (print-strings (get-slot alg 'inner-loop-locals) stream)
-
-    ;;----------------------------
-    ;; declare temps that depend on signals
-    ;;----------------------------
-
-    (dotimes (n (length interp))
-      (let ((method (nth n interp))
-            interpolate-samples
-            (name (nth n sound-names)))
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-        (cond ((or (member method '(NONE SCALE))
-                   interpolate-samples)
-               (dolist (dep depends)
-                (cond ((and (equal (cadr dep) name)
-                            (eq (cadddr dep) 'TEMP))
-                       (format stream "\t    ~A ~A;~%" (car (cddddr dep)) 
-                                      (car dep)))))))))
-
-    ;; this loop writes code that runs in the INNER-LOOP and checks to see
-    ;; if we need to advance to the next pair of interpolated points for
-    ;; each interpolated sound
-    (dotimes (n (length interp))
-      (let ((name (nth n sound-names))
-            interpolate-samples
-            (method (nth n interp)))
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-
-        (cond ((and interpolate-samples (eq method 'INTERP))
-                ;-----------------
-                ; INTERP:
-                ;
-                ;    if (susp->NAME_pHaSe >= 1.0)  { 
-                ;          NAME_x1_sample_reg =NAME_x2_sample_reg;
-                ;       /* pick up next sample as NAME_x2_sample */
-                ;       susp->NAME_ptr++;
-                ;        susp_took(NAME_cnt, 1);
-                                     ;        susp->NAME_pHaSe -= 1.0;
-                ;       susp_check_XX_samples_break(NAME, NAME_ptr, NAME_cnt, NAME_x2_sample);
-                ; }
-                ; <maintenance of depends variables>
-                ;-----------------
-                (format stream "\t    if (~A_pHaSe_ReG >= 1.0) {~%" name)
-                (format stream "\t\t~A_x1_sample_reg = ~A_x2_sample;~%"
-                                name name)
-                (format stream "\t\t/* pick up next sample as ~A_x2_sample: */~%" name)
-                (format stream "\t\tsusp->~A_ptr++;~%" name)
-                (format stream "\t\tsusp_took(~A_cnt, 1);~%" name)
-                (format stream "\t\t~A_pHaSe_ReG -= 1.0;~%" name)
-                (format stream "\t\t~A_break(~A, ~A_ptr, ~A_cnt, ~A_x2_sample);~%"
-                        (susp-check-fn name alg) name name name name)
-;                (format stream "\t\t~A_x2_sample = susp_current_sample(~A, ~A_ptr);~%"
-;                        name name name)
-
-                ;     show_samples(2, susp->NAME_x2, susp->NAME_x2_ptr -
-                ;			NAME_x2->block->samples);
-                ;-----------------
-
-;		(if *WATCH* 
-;		    (format stream "\t\tshow_samples(2,susp->~A_x2,susp->~A_x2_ptr - susp->~A_x2->block->samples);~%"
-;		    		name name name)
-;                )
-                ;-----------------
-                ;      }
-                ;-----------------
-                (format stream "\t    }~%")
-              )
-              ((eq method 'INTERP)
-                ;-----------------
-                ; STEP FUNCTION:
-                ;
-                ;    if (susp->NAME_pHaSe >= 1.0)  { 
-                ; 	<optional depends/fixup declarations>
-                ;       /* pick up next sample as NAME_x1_sample */
-                ;       susp->NAME_ptr++;
-                ;        susp_took(NAME_cnt, 1);
-                ;        susp->NAME_pHaSe -= 1.0;
-                ;       susp_check_XX_samples_break(NAME, NAME_ptr, NAME_cnt, NAME_x1_sample);
-                ;        NAME_x1_sample_reg = susp_current_sample(NAME, NAME_ptr);
-                ; 	<optional depends/fixup code>
-                ; }
-                ;-----------------
-                (format stream "\t    if (~A_pHaSe_ReG >= 1.0) {~%" name)
-                (fixup-depends alg stream name)
-                (format stream "\t\t/* pick up next sample as ~A_x1_sample: */~%" name)
-                (format stream "\t\tsusp->~A_ptr++;~%" name)
-                (format stream "\t\tsusp_took(~A_cnt, 1);~%" name)
-                (format stream "\t\t~A_pHaSe_ReG -= 1.0;~%" name)
-                (format stream "\t\t~A_break(~A, ~A_ptr, ~A_cnt, ~A_x1_sample_reg);~%"
-                        (susp-check-fn name alg) name name name name)
-                (format stream "\t\t~A_x1_sample_reg = susp_current_sample(~A, ~A_ptr);~%"
-                        name name name)
-
-                ;     show_samples(2, susp->NAME_x2, susp->NAME_x2_ptr -
-                ;			NAME_x2->block->samples);
-                ;-----------------
-
-;		(if *WATCH* 
-;		    (format stream "\t\tshow_samples(2,susp->~A_x2,susp->~A_x2_ptr - susp->~A_x2->block->samples);~%"
-;		    		name name name)
-;                )
-                (let ((fixup-code (get-slot alg 'fixup-code)))
-                  (if fixup-code (format stream fixup-code)))
-
-                ;-----------------
-                ;      }
-                ;-----------------
-                (format stream "\t    }~%")))))
-
-    (write-inner-loop alg stream)
-    (print-strings (get-slot alg 'register-cleanup) stream)
-
-    ;; this loop calls loop tail computations on all sounds
-    (dotimes (n (length interp))
-      (let ((name (nth n sound-names))
-            interpolate-samples
-            (method (nth n interp)))
-        (setf interpolate-samples
-              (not (member (name-to-symbol name) step-function)))
-
-        (cond ((member method '(NONE SCALE))
-               ;-----------------
-               ; NONE:
-               ;    susp_took(NAME_cnt, togo - n);
-               ;-----------------
-               (format stream "\tsusp_took(~A_cnt, togo);~%" name))
-              ((eq method 'INTERP))
-              ((eq method 'RAMP)
-                ;-----------------
-                ; RAMP:
-                ;	susp->NAME_pHaSe += togo * susp->NAME_pHaSe_iNcR;
-                ;	susp->NAME_n -= togo; 
-                ;-----------------
-                (format stream
-                 "\tsusp->~A_pHaSe += togo * susp->~A_pHaSe_iNcR;~%"
-                 name name)
-                (format stream "\tsusp->~A_n -= togo;~%" name)
-               ))))
-    ;-----------------------------
-    ;     cnt += togo;
-    ;    } /* outer loop */
-    ; 
-    ; snd_list->block_len = cnt;
-    ;-----------------------------
-
-    (format stream "~A~%~A~%~%" "\tcnt += togo;"
-                   "    } /* outer loop */")
-    ;-----------------------------
-    ; if terminate is not NONE (infinite), check for it as follows:
-    ;    /* test for termination */
-    ;    if (togo == 0 && cnt == 0) {
-    ;        snd_list_terminate(snd_list);
-    ;   *WATCH*: printf("NAME %x terminated\n", susp);
-    ;    } else {
-    ;       snd_list->block_len = cnt;
-    ;       susp->susp.current += cnt;
-    ;    }
-    ;-----------------------------
-    (cond ((terminate-possible terminate alg)
-           (print-strings '(
-             "    /* test for termination */\n"
-             "    if (togo == 0 && cnt == 0) {\n"
-             "\tsnd_list_terminate(snd_list);\n")
-            stream)
-           (if *watch*
-             (format stream "\tprintf(\"~A %x terminated.\\n\", susp);~%" name))
-           (print-strings '(
-             "    } else {\n"
-             "\tsnd_list->block_len = cnt;\n"
-             "\tsusp->susp.current += cnt;\n"
-             "    }\n") stream))
-          (t
-    ;----------------
-    ; OTHERWISE (no termination test):
-    ;    snd_list->block_len = cnt;
-    ;    susp->susp.current += cnt;
-    ;----------------
-           (print-strings '(
-             "    snd_list->block_len = cnt;\n"
-             "    susp->susp.current += cnt;\n") stream)))
-
-     ;----------------
-     ; if logical-stop is not the default check for it as follows:
-     ;    /* test for logical stop */
-     ;    if (susp->logically_stopped) {
-     ;      snd_list-> logically_stopped = true;
-     ;    } else if (susp->susp.log_stop_cnt == susp->susp.current) {
-     ;      susp->logically_stopped = true;
-     ;    }
-     ;----------------
-    (cond ((logical-stop-check-needed logical-stop)
-           (print-strings '(
-    "    /* test for logical stop */\n"
-    "    if (susp->logically_stopped) {\n"
-    "\tsnd_list->logically_stopped = true;\n"
-    "    } else if (susp->susp.log_stop_cnt == susp->susp.current) {\n"
-    "\tsusp->logically_stopped = true;\n"
-    "    }\n") stream)))
-
-     ;----------------
-     ;  } /* name_encoding_fetch */
-     ;----------------
-    (format stream "} /* ~A_~A_fetch */~%" name encoding)))
-
-(print 'write-susp)
-
-; terminate-check-needed -- see if this is either a terminate clause
-; that specifies MIN or AT, or is NIL (meaning none-specified so take
-; the default) and there are signal parameters
-;
-(defun terminate-check-needed (terminate alg)
-  (cond (terminate
-         (cond ((listp terminate)
-                (cond ((member (car terminate) '(MIN AT AFTER)) t)
-                      (t nil)))
-               ((member terminate '(COMPUTED NONE)) nil)
-               (t
-                (error "TERMINATE clause should specify a list"))))
-        ((get alg 'sound-args) t)))
-
-          
-; same as terminate-check-needed, but also returns true for COMPUTED 
-; termination
-;
-(defun terminate-possible (terminate alg)
-  (cond (terminate
-         (cond ((listp terminate)
-                (cond ((member (car terminate) '(MIN AT AFTER COMPUTED)) t)
-                      (t nil)))
-               ((eq terminate 'NONE) nil)
-               ((eq terminate 'COMPUTED) t)
-               (t
-                (error "TERMINATE clause should specify a list"))))
-        ((get alg 'sound-args) t)))
diff --git a/lib-src/libnyquist/tran/writetoss.lsp b/lib-src/libnyquist/tran/writetoss.lsp
deleted file mode 100644
index acc8e0a..0000000
--- a/lib-src/libnyquist/tran/writetoss.lsp
+++ /dev/null
@@ -1,85 +0,0 @@
-;; writetoss -- writes the "toss prepended samples" routine
-
-;; modified May 3, 1999 by RBD to not adjust t0 when samples will be tossed
-;;    also, final_time is just susp->susp.t0, since t0 is unadjusted.
-
-(defun write-toss (alg stream)
-  (let ((alg-name (get alg 'name))
-        (sound-names (get alg 'sound-names)))
-    ;;----------------
-    ;; void ALG_toss_fetch(susp, snd_list)
-    ;;   register ALG_susp_type susp;
-    ;;   snd_list_type snd_list;
-    ;; {
-    ;;    long final_count = susp->susp.toss_cnt);
-    ;;    time_type final_time = susp->susp.t0;
-    ;;    FORMERLY, THIS WAS:
-    ;;      time_type final_time = susp->susp.t0 + final_count / susp->susp.sr;
-    ;;    long n;
-    ;;----------------
-    (format stream "~%~%void ~A_toss_fetch(susp, snd_list)~%" alg-name)
-    (format stream "  register ~A_susp_type susp;~%" alg-name)
-    (format stream "  snd_list_type snd_list;~%{~%")
-    (format stream
-     "    long final_count = susp->susp.toss_cnt;~%")
-    (format stream
-"    time_type final_time = susp->susp.t0;~%")
-    (format stream "    long n;~%~%")
-
-    (cond (*watch*
-           (format stream
-            "    printf(\"~A_toss_fetch: final count %d final time %d\\n\", "
-            alg-name)
-           (format stream "final_count, final_time);~%")))
-
-    ;;------------------------------
-    ;; for each sound argument:
-    ;;
-    ;;    /* fetch samples from NAME up to final_time for this block of zeros */
-    ;;    while ((round((final_time - susp->NAME->t0) * susp->NAME->sr)) >=
-    ;;	   susp->NAME->current)
-    ;;	susp_get_samples(NAME, NAME_ptr, NAME_cnt);
-    ;;------------------------------
-    (dolist (name sound-names)
-      (format stream
-  "    /* fetch samples from ~A up to final_time for this block of zeros */~%"
-       name)
-      (format stream
-  "    while ((round((final_time - susp->~A->t0) * susp->~A->sr)) >=~%" 
-       name name)
-      (format stream "\t   susp->~A->current)~%" name)
-      (format stream "\tsusp_get_samples(~A, ~A_ptr, ~A_cnt);~%" 
-              name name name))
-
-    ;;----------------
-    ;;    /* convert to normal processing when we hit final_count */
-    ;;    /* we want each signal positioned at final_time */
-    ;;----------------
-      (format stream
-       "    /* convert to normal processing when we hit final_count */~%")
-      (format stream "    /* we want each signal positioned at final_time */~%")
-
-    ;;----------------
-    ;; for each sound argument:
-    ;;
-    ;;	n = round((final_time - susp->NAME->t0) * susp->NAME->sr -
-    ;;	     (susp->NAME->current - susp->NAME_cnt));
-    ;;	susp->NAME_ptr += n;
-    ;;	susp_took(NAME_cnt, n);
-    ;;----------------
-    (dolist (name sound-names)
-      (format stream "    n = round((final_time - susp->~A->t0) * susp->~A->sr -~%"
-              name name)
-      (format stream "         (susp->~A->current - susp->~A_cnt));~%"
-              name name)
-      (format stream "    susp->~A_ptr += n;~%" name)
-      (format stream "    susp_took(~A_cnt, n);~%" name))
-
-    ;;----------------
-    ;;	susp->susp.fetch = susp->susp.keep_fetch;
-    ;;  (*(susp->susp.fetch))(susp, snd_list);
-    ;; }
-    ;;----------------
-    (format stream "    susp->susp.fetch = susp->susp.keep_fetch;~%")
-    (format stream "    (*(susp->susp.fetch))(susp, snd_list);~%")
-    (format stream "}~%")))
diff --git a/lib-src/libnyquist/win/libnyquist.vcproj b/lib-src/libnyquist/win/libnyquist.vcproj
deleted file mode 100644
index c433094..0000000
--- a/lib-src/libnyquist/win/libnyquist.vcproj
+++ /dev/null
@@ -1,11133 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="libnyquist"
-	ProjectGUID="{7AA41BED-41B0-427A-9148-DEA40549D158}"
-	RootNamespace="libnyquist"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\$(ConfigurationName)"
-			IntermediateDirectory=".\$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/O2"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquist.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\$(ConfigurationName)"
-			IntermediateDirectory=".\$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquistd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Unicode_Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquistud.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Unicode_Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/O2"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquistu.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug DLL|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquistd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug wx284|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquistd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Modular_Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/O2"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories=".,..\xlisp,..\nyqsrc,..\cmt,..\fft,..\tran,..\snd,..\sys,.."
-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/libnyquist.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\libnyquist.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="nyqsrc"
-			>
-			<File
-				RelativePath="..\nyqsrc\add.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\avg.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\compose.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\debug.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\downsample.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\falloc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\ffilterkit.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\fft.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\handlers.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\inverse.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\local.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\multiread.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\multiseq.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\probe.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\resamp.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\resampv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\samples.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\seqext.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\seqfnint.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\seqinterf.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sndfail.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sndfnint.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sndmax.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sndread.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sndseq.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sndwrite.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\sound.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\nyqsrc\stats.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="xlisp"
-			>
-			<File
-				RelativePath="..\xlisp\extern.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\path.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlbfun.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlcont.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xldbug.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xldmem.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xleval.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlextstart.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlfio.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlftab.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlglob.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlimage.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlinit.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlio.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlisp.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xljump.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xllist.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlmath.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlobj.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlpp.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlprin.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlread.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlstr.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlsubr.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlsym.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\xlisp\xlsys.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="cmt"
-			>
-			<File
-				RelativePath="..\cmt\cext.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\cleanup.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\cmdline.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\cmtcmd.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\mem.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\midifile.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\midifns.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\moxc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\record.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\seq.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\seqmread.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\seqmwrite.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\seqread.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\seqwrite.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\tempomap.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\timebase.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\cmt\userio.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="fft"
-			>
-			<File
-				RelativePath="..\fft\fftn.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\fft\fftn.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="nyx"
-			>
-			<File
-				RelativePath="..\nyx\nyx.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="tran"
-			>
-			<File
-				RelativePath="..\tran\abs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\tran\alpass.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\alpasscv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\tran\alpassvc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\tran\amosc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\areson.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\aresoncv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\aresonvc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\aresonvv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\atone.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\atonev.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\biquad.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\buzz.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\chase.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\clip.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\congen.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\const.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\convolve.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\coterm.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\delay.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\delaycv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\exp.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\fmosc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\follow.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\fromarraystream.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\fromobject.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\gate.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\ifft.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\integrate.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\log.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\maxv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\offset.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\oneshot.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\osc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\partial.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\pluck.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\prod.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\pwl.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\quant.c.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\quantize.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\recip.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\reson.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\resoncv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\resonvc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\resonvv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\sampler.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\scale.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\shape.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\sine.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\siosc.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\slope.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\sqrt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\tran\tapv.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\tone.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\tonev.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\upsample.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\tran\white.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="snd"
-			>
-			<File
-				RelativePath="..\snd\audionone.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\snd\ieeecvt.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions="EXT"
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions="EXT"
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions="EXT"
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions="EXT"
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\snd\snd.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\snd\sndcvt.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\snd\sndheader.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\snd\sndio.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\snd\sndwin32.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="sys"
-			>
-			<File
-				RelativePath="..\sys\term.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="winfun.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="0"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-						BasicRuntimeChecks="3"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Optimization="2"
-						AdditionalIncludeDirectories=""
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/lib-src/libnyquist/win/sndsystem.h b/lib-src/libnyquist/win/sndsystem.h
deleted file mode 100644
index 3cd5fa2..0000000
--- a/lib-src/libnyquist/win/sndsystem.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "sndwin32.h"
diff --git a/lib-src/libnyquist/win/switches.h b/lib-src/libnyquist/win/switches.h
deleted file mode 100644
index 9fa65ec..0000000
--- a/lib-src/libnyquist/win/switches.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* switches.h -- conditional compilation features for WIN32 systems */
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  major reorganization of conditional compilation in Nyquist
- */
-
-#ifdef SWITCHES
-Error: switches.h included more than once.
-#endif
-
-#define HAS_STDLIB_H 1
-#define HAS_SYS_TYPES_H 1
-#define HAS_SYS_STAT_H 1
-#undef HAS_STAT_H
-#undef HAS_MALLOC_H
-
-/* define one of HAS_GETTIMEOFDAY, HAS_FTIME, */
-#undef HAS_GETTIMEOFDAY
-#undef HAS_FTIME
-
-#undef READLINE
-
-#undef USE_RAND
-#define USE_RANDOM 1
-
-
-/* since there are 2 versions Nyquist for windows: nyquist and nyqwin, 
-   we use WINGUI to decide which to compile 
- */
-#ifndef WINGUI
-/* use C library printf as nyquist_printf() */
-#define USE_PRINTF 1
-#endif
-
-/* define this to be printf, or define your own fn of the form
-     void nyquist_printf(char *format, ...);
-   (for a GUI)
-*/
-void nyquist_printf(char *format, ...);
-
-#define NEED_ULONG 1
-#define NEED_USHORT 1
-#define NEED_BYTE 1
-
-#define NEED_ROUND 1
-
-#undef NEED_DEFINE_MALLOC
-
-/* explicitly choose a platform */
-#undef UNIX
-
-#ifndef WINDOWS
-#define WINDOWS 1
-#endif
-
-#ifndef WIN32
-#define WIN32 1
-#endif
-
-#ifndef MICROSOFT
-#define MICROSOFT 1
-#endif
-
-#ifndef DOS
-#define DOS 1
-#endif
-
-#undef MACINTOSH
-
-#define BUFFERED_SYNCHRONOUS_INPUT 1
-#define SPACE_FOR_PLAY 10000
-#define MAX_CHANNELS 16
-
-/* this will enable code to read midi files, etc. */
-#define CMTSTUFF 1
-
-/* NYQUIST tells some CMT code that we're really in
- * XLISP and NYQUIST
- */
-#define NYQUIST 1
-
-#include "swlogic.h"
diff --git a/lib-src/libnyquist/win/winfun.c b/lib-src/libnyquist/win/winfun.c
deleted file mode 100644
index 7338aa5..0000000
--- a/lib-src/libnyquist/win/winfun.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/* winfun.c - windows user interface functions for xlisp */
-/* Written by Brian Kendig. */
-/*Windows Console and DirectSound code added by Morgan Green and Chris Tchou*/
-
-//#include <Quickdraw.h>
-//#include <Windows.h>
-//#include <Memory.h>
-#include <windows.h>
-#include <switches.h>
-#include "xlisp.h"
-#include "sound.h"
-
-
-
-/* osbgetc - get a character from a binary file ======  added for console*/
-/* int osbgetc(fp) FILE *fp; {return (getc(fp));} */
-int osbgetc(FILE *fp) 
-{ 
-  int c; c = (getc(fp));
-/*  if (dbgflg) printf("osbgetc: got %d from FILE %x\n", c, fp); */
-  return c;
-}
-
-
-
-LVAL xsystem (V) { return NIL; }
-LVAL xgetkey (V) { return NIL; }
-
-
-void ossymbols() 
-{
-    HWND mywin;
-    HANDLE myhandle;
-    COORD winsize, origin;
-    WORD textattrib;
-    DWORD n;
-    mywin = GetForegroundWindow();
-    SetConsoleTitle("Nyquist");
-
-#ifdef WIN32_SNAZZY_CONSOLE     // -eub
-    myhandle = GetStdHandle(STD_OUTPUT_HANDLE);
-    origin.X = 0;
-    origin.Y = 0;
-    winsize.X = 100;
-    winsize.Y = 40;
-    textattrib = BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY;
-
-    FillConsoleOutputAttribute(myhandle, textattrib, winsize.X * winsize.Y, origin, &n);
-    SetConsoleScreenBufferSize(myhandle, winsize);
-    FillConsoleOutputAttribute(myhandle, textattrib, winsize.X * winsize.Y, origin, &n);
-    SetConsoleTextAttribute(myhandle, textattrib); 
-#endif
-
-    setvbuf(stdout, NULL, _IONBF, 0);   // makes it work under NT emacs 20.3   -eub
-
-}
-
-
-LVAL xsetupconsole()
-{
-    HWND mywin;
-    HANDLE myhandle;
-    COORD winsize, origin;
-    WORD textattrib;
-    DWORD n;
-    mywin = GetForegroundWindow();
-    SetConsoleTitle("Nyquist");
-
-    myhandle = GetStdHandle(STD_OUTPUT_HANDLE);
-    origin.X = 0;
-    origin.Y = 0;
-    winsize.X = 100;
-    winsize.Y = 40;
-    textattrib = BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY;
-
-    FillConsoleOutputAttribute(myhandle, textattrib, winsize.X * winsize.Y, origin, &n);
-    SetConsoleScreenBufferSize(myhandle, winsize);
-    FillConsoleOutputAttribute(myhandle, textattrib, winsize.X * winsize.Y, origin, &n);
-    SetConsoleTextAttribute(myhandle, textattrib);
-    return NIL;
-}
-
-
-void get_xlisp_path(char *p, long p_max)
-{
-    HKEY hkey;
-    DWORD dwType;
-
-    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, KEY_READ, &hkey) !=
-        ERROR_SUCCESS) {
-        *p = 0;
-        return;
-    }
-    if (RegOpenKeyEx(hkey, "CMU", 0, KEY_READ, &hkey) !=
-        ERROR_SUCCESS) {
-        *p = 0;
-        return;
-    }
-    if (RegOpenKeyEx(hkey, "Nyquist", 0, KEY_READ, &hkey) !=
-        ERROR_SUCCESS) {
-        *p = 0;
-        return;
-    }
-    if (RegQueryValueEx(hkey, "XLISPPATH", NULL, &dwType, p, &p_max) !=
-           ERROR_SUCCESS) {
-           *p = 0;	
-        return;
-    }
-}
-
-#ifdef WINGUI
-/* NOTE: define WINGUI in the Project Settings for the NyqWin projects.
- * Do not define WINGUI for console versions of Nyquist
- */
-
-/****************************************************************************
-*               fileopen
-* Inputs:
-*    char *deflt: the default file name (e.g. from command line)
-*    char *extension: default extension
-*    char *mode: read ("r") or write ("w")
-*    char *prompt: prompt for user
-* Returns:
-*    opened file pointer
-* Effect: 
-*    opens file, prompts for user input if necessary and warns about
-*    possible confusion.  If deflt is a null string or NULL, the user will
-*    be prompted for a name.     The routine loops until a file is opened.
-*    If the mode is "r", a check is made to see if the file exists
-*    with and without the extension.     If both exist a warning is given.
-*    For mode "w", a check is made to see if the file will be overwritten.
-*    The extension is automatically added if the default or user-typed
-*    file has no "."     At the bottom of the loop body, if no file has
-*    been opened, the user is prompted for another file name.
-****************************************************************************/
-
-char fileopen_name[100];        /* name of the opened file */
-
-HINSTANCE hInst;            /* current instance */
-HWND hMainWindow;           /* main window handle */
-
-
-char *getfilename(char *deflt, char *extension, char *mode, char *prompt)
-{
-    char filter[64];
-    char *filter_ptr = NULL;
-    OPENFILENAME open_file_name;
-
-    if (extension && extension[0] == 0) extension = NULL;
-    if (strcmp(extension, "lsp") == 0) {
-        strcpy(filter, "Lisp files");
-    } else if (extension) {
-        sprintf(filter, "%s files", extension);
-    }
-    if (extension) {
-        sprintf(filter + strlen(filter), "%c*.%s%cAll files%c*.*%c",
-                0, extension, 0, 0, 0);
-        filter_ptr = filter;
-    }
-    if (!deflt) deflt = "";     /* treat NULL as the empty string */
-    strcpy(fileopen_name, deflt);
-
-    open_file_name.lStructSize = sizeof(OPENFILENAME);
-    open_file_name.hwndOwner = hMainWindow;
-
-    open_file_name.hInstance = hInst;
-    open_file_name.lpstrFilter = filter_ptr; 
-    open_file_name.lpstrCustomFilter = NULL; 
-    open_file_name.nMaxCustFilter = 0; 
-    open_file_name.nFilterIndex = 0; 
-    open_file_name.lpstrFile = fileopen_name; 
-    open_file_name.nMaxFile = 100; 
-    open_file_name.lpstrFileTitle = NULL;
-    open_file_name.nMaxFileTitle = 0; 
-    open_file_name.lpstrInitialDir = NULL; 
-    open_file_name.lpstrTitle = prompt;
-    open_file_name.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST; 
-    open_file_name.nFileOffset = 0; 
-    open_file_name.nFileExtension = 0; 
-    open_file_name.lpstrDefExt = extension; 
-    open_file_name.lCustData = 0; 
-    open_file_name.lpfnHook = 0; 
-    open_file_name.lpTemplateName = 0;
-    if (((*mode == 'r') && GetOpenFileName(&open_file_name)) ||
-        ((*mode == 'w') && GetSaveFileName(&open_file_name))) {
-        return open_file_name.lpstrFile;
-    }
-    return NULL;
-}
-
-
-
-FILE *fileopen(char *deflt, char *extension, char *mode, char *prompt)
-{
-    FILE *fp = NULL;            /* file corresponding to filename */
-    if (getfilename(deflt, extension, mode, prompt)) {
-        fp = fopen(fileopen_name, mode);
-    }
-    return fp;
-}
-
-#endif
-
-
diff --git a/lib-src/libnyquist/win/winfun.h b/lib-src/libnyquist/win/winfun.h
deleted file mode 100644
index a7cb8ee..0000000
--- a/lib-src/libnyquist/win/winfun.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifdef __cplusplus 
-extern "C" {
-#endif
-
-char *getfilename(char *deflt, char *extension, char *mode, char *prompt);
-FILE *fileopen(char *deflt, char *extension, char *mode, char *prompt);
-
-#ifdef __cplusplus 
-}
-#endif
diff --git a/lib-src/libnyquist/win/winstuff.c b/lib-src/libnyquist/win/winstuff.c
deleted file mode 100644
index d8d64b1..0000000
--- a/lib-src/libnyquist/win/winstuff.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/* winstuff.c - windows interface routines for xlisp */
-/* Written by Chris Tchou. */
-/* This file contains the stuff that the other xlisp files call directly. */
-#include <windows.h>		/*Added by Ning Hu	Apr.2001 */
-#include <stdio.h>
-//#include <QuickDraw.h>	/* for Random */
-#include <memory.h>		/* for DisposPtr */
-#include <string.h>
-//#include <SegLoad.h>	/* for ExitToShell */
-#include "xlisp.h"
-#include "userio.h"
-
-#define DELETE 0x08
-
-/* externals */
-extern FILE *tfp;  /* transcript file pointer */
-extern int cursorPos;
-extern char *macgets (void);
-//Added by Ning Hu	Apr.2001
-extern int _isatty(int);					
-extern int redirect_flag;
-//Add end
-
-/* local variables */
-int lposition;
-static char *linebuf = NULL, *lineptr;
-static int numChars;
-
-
-//int isascii (char c) { return 1; }  /* every char is an ascii char, isn't it? */
-
-void osinit (char *banner) {
-//	int i;
-
-    char version[] = "\nWindows console interface by Chris Tchou and Morgan Green.\n";
-//	InitMac ();  /* initialize the mac interface routines */
-//	lposition = 0;  /* initialize the line editor */
-//	for (i = 0; banner[i] != '\0'; i++) macputc (banner[i]);
-//	for (i = 0; version[i] != '\0'; i++) macputc (version[i]);
-    printf(banner);
-    printf(version);
-
-    // Added by Ning Hu, to communicate between compiler GUI and Nyquist console	Apr.2001
-    if( _isatty( _fileno( stdout ) ) ){
-        redirect_flag = 0;
-#ifdef DEBUG
-      printf( "stdout has not been redirected to a file\n" );		//for debugging use
-#endif
-    }
-    else {
-        redirect_flag = 1;
-#ifdef DEBUG
-      printf( "stdout has been redirected to a file\n");			//for debugging use
-#endif
-    }
-    // Add End
-}
-
-/* osrand - return next random number in sequence */
-long osrand (long rseed) {
-#ifdef OLDBUTINTERESTING
-// note that this takes a seed and returns a big number,
-// whereas I think XLisp's RANDOM is defined differently
-    long k1;
-
-    /* make sure we don't get stuck at zero */
-    if (rseed == 0L) rseed = 1L;
-
-    /* algorithm taken from Dr. Dobbs Journal, November 1985, page 91 */
-    k1 = rseed / 127773L;
-    if ((rseed = 16807L * (rseed - k1 * 127773L) - k1 * 2836L) < 0L)
-    rseed += 2147483647L;
-
-    /* return a random number between 0 and MAXFIX */
-    return rseed;
-#endif
-    return rand() % rseed;	// rseed is a misnomer
-}
-
-FILE *osaopen (char *name, char *mode) {
-    return fopen (name, mode);
-}
-
-FILE *osbopen (char *name, char *mode) {
-    char nmode[4];
-    strcpy (nmode, mode); strcat (nmode, "b");
-    return (fopen (name, nmode));
-}
-
-int osclose (FILE *fp) { return (fclose (fp)); }
-int osaputc (int ch, FILE *fp) { return (putc (ch, fp)); }
-int osbputc (int ch, FILE *fp) { return (putc (ch, fp)); }
-
-/* osagetc - get a character from an ascii file */
-int osagetc(fp)
-  FILE *fp;
-{
-    return (getc(fp));
-}
-
-extern int abort_flag;
-extern int redirect_flag;			//Added by Ning Hu	Apr.2001
-
-int ostgetc (void) {
-/*	int i;
-
-    if (numChars <= 0) {  /* get some more */
-/*		if (linebuf) DisposPtr (linebuf);
-        linebuf = macgets ();
-        i = 0;
-        while (linebuf[i] != '\0') i++;
-        numChars = i;
-        if (tfp) for (i = 0; i < numChars; i++) osaputc (linebuf[i], tfp);
-        lineptr = linebuf;
-    }
-    numChars--;
-    if (*lineptr == '\r') {
-        lineptr++;
-        return '\n';
-    } else return (*lineptr++);*/
-
-//  return getchar();			// console		//Old code--removed by Ning Hu
-    // Added by Ning Hu		Apr.2001
-    int ch = getchar();
-    oscheck(); /* in case user typed ^C */
-    if (ch == BREAK_CHAR && abort_flag == BREAK_LEVEL) {
-        abort_flag = 0;
-    }
-    switch (ch) {
-          case ABORT_CHAR:	/* control-c */
-            xltoplevel();
-            break;
-          case '\025':	/* control-u */
-            xlcleanup();
-          case '\020':	/* control-p */
-            xlcontinue();
-            break;
-          case BREAK_CHAR:
-            ostputc('\n');	/* control-b */
-            xlbreak("BREAK",s_unbound);
-            break;
-          default:
-            break;
-    }
-    return ch;
-    //Add End
-}
-
-void ostputc (int ch) {
-//	macputc (ch);
-    putchar(ch);			// console
-
-    if (tfp) osaputc (ch, tfp);
-}
-
-
-void osflush (void) {
-    lineptr = linebuf;
-    numChars = 0;
-    lposition = 0;
-}
-
-
-void oscheck (void) {				
-    MSG lpMsg;
-/*DoEvent ();*/		
-    check_aborted();	
-//	printf("Current Thread: %d\n", GetCurrentThreadId());		//for debugging use
-    if ((redirect_flag) && (PeekMessage(&lpMsg, NULL, 0, 0, PM_REMOVE)!=0)) { 
-        if (lpMsg.message == WM_CHAR) {
-            switch (lpMsg.wParam) {
-                case ABORT_CHAR: abort_flag = ABORT_LEVEL;
-                                break;
-                case BREAK_CHAR: abort_flag = BREAK_LEVEL;
-                                break;
-            }
-        }
-      //printf("Get message: %d %d \n", lpMsg.wParam, BREAK_CHAR);				//for debugging use
-    }	
-    if (abort_flag == ABORT_LEVEL) {	
-        abort_flag = 0;
-        osflush();
-        xltoplevel();
-    } else if (abort_flag == BREAK_LEVEL) {
-        abort_flag = 0;
-        osflush();
-        xlbreak("BREAK",s_unbound);
-    }
-}
-//Update end
-
-void oserror (char *msg) {
-    char line[100], *p;
-    sprintf (line,"error: %s\n",msg);
-    for (p = line; *p != '\0'; ++p) ostputc (*p);
-}
-
-void osfinish (void) {
-    /* dispose of everything... */
-//	if (linebuf) DisposPtr (linebuf);
-//	MacWrapUp ();
-//	ExitToShell ();
-}
-
-int renamebackup (char *filename) { return 0; }
-
-
-long randomseed = 1L;
-
-long random () {
-// note that this takes a seed and returns a big number,
-// whereas I think XLisp's RANDOM is defined differently
-    long k1;
-
-    /* algorithm taken from Dr. Dobbs Journal, November 1985, page 91 */
-    k1 = randomseed / 127773L;
-    if ((randomseed = 16807L * (randomseed - k1 * 127773L) - k1 * 2836L) < 0L)
-      randomseed += 2147483647L;
-
-    /* return a random number between 0 and MAXFIX */
-    return randomseed;
-}
-
-/* Added by Ning Hu		May.2001 
-xsetdir - set current directory of the process */
-LVAL xsetdir() {
-    TCHAR ssCurDir[MAX_PATH], szCurDir[MAX_PATH];
-
-    strcpy(ssCurDir, getstring(xlgastring()));
-    xllastarg();
-    if (SetCurrentDirectory(ssCurDir)) {
-        if (GetCurrentDirectory(
-            sizeof(szCurDir)/sizeof(TCHAR), szCurDir)) {	
-        /* create the result string */
-            stdputstr("Current Directory:");
-            stdputstr(szCurDir);
-            stdputstr("\n");
-        }	
-        else stdputstr("Directory Setting Error\n");
-    }
-    else stdputstr("Directory Setting Error\n");
-
-    /* return the new string */
-    return (NIL);
-}
-//Updated End
-
diff --git a/lib-src/libnyquist/xlisp/extern.c b/lib-src/libnyquist/xlisp/extern.c
deleted file mode 100644
index 6a4295f..0000000
--- a/lib-src/libnyquist/xlisp/extern.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* extern.c - external type support for xlisp 2.0 */
-
-/* Description of external types:
-
-        A new node type EXTERN has been created to allow extensions to the
-xlisp type system.  If a node is of type EXTERN then it contains two fields:
-(1) a pointer to a type descriptor, and (2) a value which is normally a pointer
-to an instance of the data type.
-        The type descriptor has 6 fields:
-type_name: a string name for the type
-type_symbol: a pointer to a symbol whose print name is type_name
-free_meth: routine to call when the node is freed
-print_meth: routine to call to print the node
-save_meth: routine to save the value to a file
-restore_meth: routine to restore the value from a file
-        The routine create_desc() is used to allocate and initialize a type
-descriptor.  There should be only one type descriptor for each unique type.
-Typically, the module that manages a type will create the type descriptor
-at initialization time.
-        The routine cvextern() is used to combine a type descriptor and a
-value to create an EXTERN node that can be used by xlisp.  This routine is
-called whenever a new value is allocated and returned to xlisp.
-        The routine exttype() returns the type symbol for an EXTERN type.
-        The routine exttypep() tests for a type match.
-        If EXTERN objects are dynamically allocated and freed, then there
-should only be one EXTERN node whose value field (xe_inst) points to the object.
-If there is more than one node (normally created only by cvextern), then one
-of the following should hold:
-1. the object is not dynamically freed.
-2. the object is reference counted and freed when the last EXTERN node is gc'd.
-3. the object will be freed when the first node pointing to it is gc'd, resulting
-in a dangling pointer bug.
-        The save and restore capability of xlisp version 2.0 causes some
-difficulties in that symbols get relocated whenever a workspace is loaded.
-However, type descriptors must point to symbols and type descriptors must be
-present in order to load external types from a workspace.  My solution to this
-problem is to store a string name for each type and also to cache a pointer
-to the corresponding symbol.  The cache is invalidated whenever a workspace is
-loaded (causing symbols to be reallocated).  To make it possible to save and
-restore references to type descriptors, all type descriptors are kept in
-static storage.  Internally, they are referenced by pointers, but when saved,
-an integer index is used.  Because of the integer index, types must always be
-allocated in the same order.  This is taken care of in localinit().
-
-*/
-
-#include "xlisp.h"
-#include "extern.h"
-
-int extindex = 0;
-
-struct xtype_desc_struct desc_table[NTYPES];
-
-
-/* create_desc - create a new external type */
-/**/
-xtype_desc create_desc(
-  char *type_name,	/* the type string name */
-  void (*fm)(),		/* method to free instances of the type */
-  void (*pm)(),		/* method to print instances of the type */
-  void (*sm)(),		/* method to save instances of the type */
-  unsigned char * (*rm)(), /* method to restore instances of the type */
-  void (*mm)())		/* method to mark instances of the type for GC */
-{
-    xtype_desc td;	/* the new type descriptor */
-    if (extindex >= NTYPES) xlfail("insufficient type desc space");
-    td = &desc_table[extindex++];
-    td->type_name = type_name;
-    td->type_symbol = NULL;
-    td->free_meth = fm;
-    td->print_meth = pm;
-    td->save_meth = sm;
-    td->restore_meth = rm;
-    td->mark_meth = mm;
-    return td;
-}
-
-
-/* cvextern - create an instance of some type */
-/**/
-LVAL cvextern(typeptr, instptr)
-  xtype_desc typeptr;	/* pointer to type descriptor */
-  unsigned char *instptr;	/* pointer to the data */
-{
-    LVAL xnode;	/* the resulting lisp node */
-    xnode = newnode(EXTERN);
-    setdesc(xnode, typeptr);
-    setinst(xnode, instptr);
-    return xnode;
-}
-
-
-/* exttype -- get the type of an EXTERN */
-/**/
-LVAL exttype(x)
-  LVAL x;
-{
-    if (!(getdesc(x)->type_symbol)) {
-        getdesc(x)->type_symbol = xlenter(getdesc(x)->type_name);
-    }
-    return getdesc(x)->type_symbol;
-}
-
-
-/* exttypep -- test for type match */
-/*
- * x is a node, type_sym is a symbol
- */
-int exttypep(LVAL x, LVAL type_sym)
-{
-    if ((x) && ntype(x) == EXTERN) {
-        if (!(getdesc(x)->type_symbol)) {
-            getdesc(x)->type_symbol = xlenter(getdesc(x)->type_name);
-        }
-        return (getdesc(x)->type_symbol == type_sym);
-    }
-    return FALSE;
-}
-
-
-/* inval_caches -- set type_symbol fields to NULL */
-/**/
-void inval_caches()
-{
-    int i;
-    for (i = 0; i < extindex; i++) {
-        desc_table[i].type_symbol = NULL;
-    }
-}
diff --git a/lib-src/libnyquist/xlisp/extern.h b/lib-src/libnyquist/xlisp/extern.h
deleted file mode 100644
index 7021190..0000000
--- a/lib-src/libnyquist/xlisp/extern.h
+++ /dev/null
@@ -1,6 +0,0 @@
-
-xtype_desc create_desc(char *type_name, void (*fm)(), void (*pm)(),
-                       void (*sm)(), unsigned char * (*rm)(), void (*mm)());
-int exttypep(LVAL x, LVAL type_sym);
-
-
diff --git a/lib-src/libnyquist/xlisp/osdefs.h b/lib-src/libnyquist/xlisp/osdefs.h
deleted file mode 100644
index 4b5fd42..0000000
--- a/lib-src/libnyquist/xlisp/osdefs.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* osdefs.h - system specific function declarations */
-
-extern LVAL xsystem(void),xgetkey(void);
-
diff --git a/lib-src/libnyquist/xlisp/osptrs.h b/lib-src/libnyquist/xlisp/osptrs.h
deleted file mode 100644
index 5e5c70d..0000000
--- a/lib-src/libnyquist/xlisp/osptrs.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* osptrs.h - system specific function pointers */
-
-{	"SYSTEM",	S,	xsystem	},
-{	"GET-KEY",	S,	xgetkey	},
-
-
diff --git a/lib-src/libnyquist/xlisp/path.c b/lib-src/libnyquist/xlisp/path.c
deleted file mode 100644
index 08dd1fb..0000000
--- a/lib-src/libnyquist/xlisp/path.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * New xlisp_path code by Dominic Mazzoni
- *
- * There is now a function provided to set the xlisp_path.
- * This is particularly useful for external programs
- * (e.g. Audacity, or a Nyquist GUI) that have their own
- * mechanism of setting/finding the path.  If xlisp_path
- * is NULL, the old platform-specific methods are still
- * used.
- */
-
-#include <string.h>
-
-#include "switches.h"
-#include "xlisp.h"
-
-static char *g_xlisp_path = NULL;
-
-void set_xlisp_path(const char *p)
-{
-    if (g_xlisp_path) {
-        free(g_xlisp_path);
-        g_xlisp_path = NULL;
-    }
-
-    if (p) {
-        g_xlisp_path = malloc(strlen(p)+1);
-        strcpy(g_xlisp_path, p);
-    }
-}
-
-#ifdef UNIX
-const char *unix_return_xlisp_path()
-{
-    char *paths = getenv("XLISPPATH");
-    if (!paths || !*paths) {
-        char msg[512];
-        sprintf(msg, "\n%s\n%s\n%s\n%s\n%s\n",
-                "Warning: XLISP failed to find XLISPPATH in the environment.",
-                "If you are using Nyquist, probably you should cd to the",
-                "nyquist directory and type:",
-                "    setenv XLISPPATH `pwd`/runtime:`pwd`/lib",
-                "or set XLISPPATH in your .login or .cshrc file.");
-        errputstr(msg);
-    }
-    return paths;
-}
-#endif
-
-#ifdef WINDOWS
-#include "winfun.h"
-
-const char *windows_return_xlisp_path()
-{
-    #define paths_max 1024
-    static char paths[paths_max];
-    get_xlisp_path(paths, paths_max);
-    /* make sure we got paths, and the list is not empty */
-    if (!paths[0]) {
-        sprintf(paths, "\n%s\n%s\n%s\n",
-           "Warning: XLISP failed to find XLISPPATH in the Registry.",
-           "You should follow the installation instructions. Enter an",
-           "empty string if you really want no search path.");
-        errputstr(paths);
-    }
-
-    return paths;
-}
-#endif
-
-#ifdef MACINTOSH
-const char *mac_return_xlisp_path()
-{
-    #define paths_max 1024
-    static char paths[paths_max];
-    int prefs_found = false;
-    get_xlisp_path(paths, paths_max, &prefs_found);
-    if (!paths[0]) {
-        if (prefs_found) {
-            sprintf(paths, "\n%s\n%s\n%s\n",
-             "Warning: XLISP failed to find XLISPPATH in XLisp Preferences.",
-             "You should probably delete XLisp Preferences and let XLisp",
-             "create a new one for you.");
-        }
-        else {
-           sprintf(paths, "\n%s\n%s\n%s\n%s\n%s\n",
-            "Warning: XLISP failed to find XLisp Preferences.",
-            "You should manually locate and load the file runtime:init.lsp",
-            "Nyquist will create an XLisp Preferences file to automatically",
-            "find the file next time. You may edit XLisp Preferences to add",
-            "additional search paths, using a comma as separator.");
-        }
-        errputstr(paths);
-    }
-
-    return paths;
-}
-#endif
-
-const char *return_xlisp_path()
-{
-    if (g_xlisp_path)
-        return g_xlisp_path;
-
-#ifdef WINDOWS
-    return windows_return_xlisp_path();
-#endif
-#ifdef MACINTOSH
-    return mac_return_xlisp_path();
-#endif
-#ifdef UNIX
-    return unix_return_xlisp_path();
-#endif
-}
-
-#ifdef UNIX
-static const char pathchar = '/';
-static const char sepchar = ':';
-#endif
-
-#ifdef WINDOWS
-static const char pathchar = '\\';
-static const char sepchar = ',';
-#endif
-
-#ifdef MACINTOSH
-static const char pathchar = ':';
-static const char sepchar = ',';
-#endif
-
-char *g_xlptemp = NULL;
-
-const char *find_in_xlisp_path(const char *fname)
-{
-    const char *paths = return_xlisp_path();
-    if (!paths)
-        return NULL;
-
-    while (paths && *paths) {
-        FILE *fp;
-        const char *start;
-        int len;
-
-        /* skip over separator */
-        while (*paths == sepchar) paths++;
-
-        /* find next directory */
-        start = paths;
-        while (*paths && (*paths != sepchar))
-            paths++;
-
-        if (g_xlptemp) {
-           free(g_xlptemp);
-           g_xlptemp = NULL;
-        }
-
-        len = paths - start;
-        g_xlptemp = malloc(len + strlen(fname) + 10);
-        memcpy(g_xlptemp, start, len);
-
-        if (len == 0)
-           continue;
-
-        /* add "/" if needed */
-        if (g_xlptemp[len-1] != pathchar)
-           g_xlptemp[len++] = pathchar;
-        
-        /* append the file name */
-        memcpy(&g_xlptemp[len], fname, strlen(fname));
-        len += strlen(fname);
-        g_xlptemp[len] = 0;
-
-        /* append the .lsp extension */
-        if (needsextension(g_xlptemp))
-           strcat(g_xlptemp, ".lsp");
-
-        fp = osaopen(g_xlptemp, "r");
-        if (fp) {
-           fclose(fp);
-
-           #ifdef MACINTOSH
-           /* We found the file ok, call setup_preferences to create
-            * XLisp Preferences file (this only happens if previous
-            * attempt to find the file failed
-            */
-           setup_preferences(g_xlptemp);
-           #endif
-
-           return g_xlptemp;
-        }
-    }
-
-    /* It wasn't found */
-    return NULL;
-}
diff --git a/lib-src/libnyquist/xlisp/xlbfun.c b/lib-src/libnyquist/xlisp/xlbfun.c
deleted file mode 100644
index 1b5a397..0000000
--- a/lib-src/libnyquist/xlisp/xlbfun.c
+++ /dev/null
@@ -1,669 +0,0 @@
-/* xlbfun.c - xlisp basic built-in functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-#include "xlisp.h"
-#include "string.h"
-
-/* forward declarations */
-FORWARD LOCAL LVAL makesymbol(int iflag);
-
-/* xeval - the built-in function 'eval' */
-LVAL xeval(void)
-{
-    LVAL expr;
-
-    /* get the expression to evaluate */
-    expr = xlgetarg();
-    xllastarg();
-
-    /* evaluate the expression */
-    return (xleval(expr));
-}
-
-/* xapply - the built-in function 'apply' */
-LVAL xapply(void)
-{
-    LVAL fun,arglist;
-
-    /* get the function and argument list */
-    fun = xlgetarg();
-    arglist = xlgalist();
-    xllastarg();
-
-    /* apply the function to the arguments */
-    return (xlapply(pushargs(fun,arglist)));
-}
-
-/* xfuncall - the built-in function 'funcall' */
-LVAL xfuncall(void)
-{
-    LVAL *newfp;
-    int argc;
-    
-    /* build a new argument stack frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(xlgetarg());
-    pusharg(NIL); /* will be argc */
-
-    /* push each argument */
-    for (argc = 0; moreargs(); ++argc)
-        pusharg(nextarg());
-
-    /* establish the new stack frame */
-    newfp[2] = cvfixnum((FIXTYPE)argc);
-    xlfp = newfp;
-
-    /* apply the function to the arguments */
-    return (xlapply(argc));
-}
-
-/* xmacroexpand - expand a macro call repeatedly */
-LVAL xmacroexpand(void)
-{
-    LVAL form;
-    form = xlgetarg();
-    xllastarg();
-    return (xlexpandmacros(form));
-}
-
-/* x1macroexpand - expand a macro call */
-LVAL x1macroexpand(void)
-{
-    LVAL form,fun,args;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(fun);
-    xlsave(args);
-
-    /* get the form */
-    form = xlgetarg();
-    xllastarg();
-
-    /* expand until the form isn't a macro call */
-    if (consp(form)) {
-        fun = car(form);		/* get the macro name */
-        args = cdr(form);		/* get the arguments */
-        if (symbolp(fun) && fboundp(fun)) {
-            fun = xlgetfunction(fun);	/* get the expansion function */
-            macroexpand(fun,args,&form);
-        }
-    }
-
-    /* restore the stack and return the expansion */
-    xlpopn(2);
-    return (form);
-}
-
-/* xatom - is this an atom? */
-LVAL xatom(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (atomp(arg) ? s_true : NIL);
-}
-
-/* xsymbolp - is this an symbol? */
-LVAL xsymbolp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (arg == NIL || symbolp(arg) ? s_true : NIL);
-}
-
-/* xnumberp - is this a number? */
-LVAL xnumberp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (fixp(arg) || floatp(arg) ? s_true : NIL);
-}
-
-/* xintegerp - is this an integer? */
-LVAL xintegerp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (fixp(arg) ? s_true : NIL);
-}
-
-/* xfloatp - is this a float? */
-LVAL xfloatp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (floatp(arg) ? s_true : NIL);
-}
-
-/* xcharp - is this a character? */
-LVAL xcharp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (charp(arg) ? s_true : NIL);
-}
-
-/* xstringp - is this a string? */
-LVAL xstringp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (stringp(arg) ? s_true : NIL);
-}
-
-/* xarrayp - is this an array? */
-LVAL xarrayp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (vectorp(arg) ? s_true : NIL);
-}
-
-/* xstreamp - is this a stream? */
-LVAL xstreamp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (streamp(arg) || ustreamp(arg) ? s_true : NIL);
-}
-
-/* xobjectp - is this an object? */
-LVAL xobjectp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (objectp(arg) ? s_true : NIL);
-}
-
-/* xboundp - is this a value bound to this symbol? */
-LVAL xboundp(void)
-{
-    LVAL sym;
-    sym = xlgasymbol();
-    xllastarg();
-    return (boundp(sym) ? s_true : NIL);
-}
-
-/* xfboundp - is this a functional value bound to this symbol? */
-LVAL xfboundp(void)
-{
-    LVAL sym;
-    sym = xlgasymbol();
-    xllastarg();
-    return (fboundp(sym) ? s_true : NIL);
-}
-
-/* xnull - is this null? */
-LVAL xnull(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (null(arg) ? s_true : NIL);
-}
-
-/* xlistp - is this a list? */
-LVAL xlistp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (listp(arg) ? s_true : NIL);
-}
-
-/* xendp - is this the end of a list? */
-LVAL xendp(void)
-{
-    LVAL arg;
-    arg = xlgalist();
-    xllastarg();
-    return (null(arg) ? s_true : NIL);
-}
-
-/* xconsp - is this a cons? */
-LVAL xconsp(void)
-{
-    LVAL arg;
-    arg = xlgetarg();
-    xllastarg();
-    return (consp(arg) ? s_true : NIL);
-}
-
-/* xeq - are these equal? */
-LVAL xeq(void)
-{
-    LVAL arg1,arg2;
-
-    /* get the two arguments */
-    arg1 = xlgetarg();
-    arg2 = xlgetarg();
-    xllastarg();
-
-    /* compare the arguments */
-    return (arg1 == arg2 ? s_true : NIL);
-}
-
-/* xeql - are these equal? */
-LVAL xeql(void)
-{
-    LVAL arg1,arg2;
-
-    /* get the two arguments */
-    arg1 = xlgetarg();
-    arg2 = xlgetarg();
-    xllastarg();
-
-    /* compare the arguments */
-    return (eql(arg1,arg2) ? s_true : NIL);
-}
-
-/* xequal - are these equal? (recursive) */
-LVAL xequal(void)
-{
-    LVAL arg1,arg2;
-
-    /* get the two arguments */
-    arg1 = xlgetarg();
-    arg2 = xlgetarg();
-    xllastarg();
-
-    /* compare the arguments */
-    return (lval_equal(arg1,arg2) ? s_true : NIL);
-}
-
-/* xset - built-in function set */
-LVAL xset(void)
-{
-    LVAL sym,val;
-
-    /* get the symbol and new value */
-    sym = xlgasymbol();
-    val = xlgetarg();
-    xllastarg();
-
-    /* assign the symbol the value of argument 2 and the return value */
-    setvalue(sym,val);
-
-    /* return the result value */
-    return (val);
-}
-
-/* xgensym - generate a symbol */
-LVAL xgensym(void)
-{
-    char sym[STRMAX+11]; /* enough space for prefix and number */
-    LVAL x;
-
-    /* get the prefix or number */
-    if (moreargs()) {
-        x = xlgetarg();
-        switch (ntype(x)) {
-        case SYMBOL:
-                x = getpname(x);
-        case STRING:
-                strncpy(gsprefix, (char *) getstring(x),STRMAX);
-                gsprefix[STRMAX] = '\0';
-                break;
-        case FIXNUM:
-                gsnumber = getfixnum(x);
-                break;
-        default:
-                xlerror("bad argument type",x);
-        }
-    }
-    xllastarg();
-
-    /* create the pname of the new symbol */
-    sprintf(sym,"%s%d",gsprefix,gsnumber++);
-
-    /* make a symbol with this print name */
-    return (xlmakesym(sym));
-}
-
-/* xmakesymbol - make a new uninterned symbol */
-LVAL xmakesymbol(void)
-{
-    return (makesymbol(FALSE));
-}
-
-/* xintern - make a new interned symbol */
-LVAL xintern(void)
-{
-    return (makesymbol(TRUE));
-}
-
-/* makesymbol - make a new symbol */
-LOCAL LVAL makesymbol(int iflag)
-{
-    LVAL pname;
-
-    /* get the print name of the symbol to intern */
-    pname = xlgastring();
-    xllastarg();
-
-    /* make the symbol */
-    return (iflag ? xlenter((char *) getstring(pname))
-                      : xlmakesym((char *) getstring(pname)));
-}
-
-/* xsymname - get the print name of a symbol */
-LVAL xsymname(void)
-{
-    LVAL sym;
-
-    /* get the symbol */
-    sym = xlgasymbol();
-    xllastarg();
-
-    /* return the print name */
-    return (getpname(sym));
-}
-
-/* xsymvalue - get the value of a symbol */
-LVAL xsymvalue(void)
-{
-    LVAL sym,val;
-
-    /* get the symbol */
-    sym = xlgasymbol();
-    xllastarg();
-
-    /* get the global value */
-    while ((val = getvalue(sym)) == s_unbound)
-        xlunbound(sym);
-
-    /* return its value */
-    return (val);
-}
-
-/* xsymfunction - get the functional value of a symbol */
-LVAL xsymfunction(void)
-{
-    LVAL sym,val;
-
-    /* get the symbol */
-    sym = xlgasymbol();
-    xllastarg();
-
-    /* get the global value */
-    while ((val = getfunction(sym)) == s_unbound)
-        xlfunbound(sym);
-
-    /* return its value */
-    return (val);
-}
-
-/* xsymplist - get the property list of a symbol */
-LVAL xsymplist(void)
-{
-    LVAL sym;
-
-    /* get the symbol */
-    sym = xlgasymbol();
-    xllastarg();
-
-    /* return the property list */
-    return (getplist(sym));
-}
-
-/* xget - get the value of a property */
-LVAL xget(void)
-{
-    LVAL sym,prp;
-
-    /* get the symbol and property */
-    sym = xlgasymbol();
-    prp = xlgasymbol();
-    xllastarg();
-
-    /* retrieve the property value */
-    return (xlgetprop(sym,prp));
-}
-
-/* xputprop - set the value of a property */
-LVAL xputprop(void)
-{
-    LVAL sym,val,prp;
-
-    /* get the symbol and property */
-    sym = xlgasymbol();
-    val = xlgetarg();
-    prp = xlgasymbol();
-    xllastarg();
-
-    /* set the property value */
-    xlputprop(sym,val,prp);
-
-    /* return the value */
-    return (val);
-}
-
-/* xremprop - remove a property value from a property list */
-LVAL xremprop(void)
-{
-    LVAL sym,prp;
-
-    /* get the symbol and property */
-    sym = xlgasymbol();
-    prp = xlgasymbol();
-    xllastarg();
-
-    /* remove the property */
-    xlremprop(sym,prp);
-
-    /* return nil */
-    return (NIL);
-}
-
-/* xhash - compute the hash value of a string or symbol */
-LVAL xhash(void)
-{
-    unsigned char *str;
-    LVAL len,val;
-    int n;
-
-    /* get the string and the table length */
-    val = xlgetarg();
-    len = xlgafixnum(); n = (int)getfixnum(len);
-    xllastarg();
-
-    /* get the string */
-    if (symbolp(val))
-        str = getstring(getpname(val));
-    else if (stringp(val))
-        str = getstring(val);
-    else {
-        xlerror("bad argument type",val);
-        str = NULL;
-    }
-
-    /* return the hash index */
-    return (cvfixnum((FIXTYPE)hash((char *) str, n)));
-}
-
-/* xaref - array reference function */
-LVAL xaref(void)
-{
-    LVAL array,index;
-    int i;
-
-    /* get the array and the index */
-    array = xlgavector();
-    index = xlgafixnum(); i = (int)getfixnum(index);
-    xllastarg();
-
-    /* range check the index */
-    if (i < 0 || i >= getsize(array))
-        xlerror("array index out of bounds",index);
-
-    /* return the array element */
-    return (getelement(array,i));
-}
-
-/* xmkarray - make a new array */
-LVAL xmkarray(void)
-{
-    LVAL size;
-    int n;
-
-    /* get the size of the array */
-    size = xlgafixnum() ; n = (int)getfixnum(size);
-    xllastarg();
-
-    /* create the array */
-    return (newvector(n));
-}
-
-/* xvector - make a vector */
-LVAL xvector(void)
-{
-    LVAL val;
-    int i;
-
-    /* make the vector */
-    val = newvector(xlargc);
-
-    /* store each argument */
-    for (i = 0; moreargs(); ++i)
-        setelement(val,i,nextarg());
-    xllastarg();
-
-    /* return the vector */
-    return (val);
-}
-
-/* allow xerror, xcleanup, xtoplevel, and xcontinue to return nothing */
-/* #pragma warning(disable: 4035)*/
-
-/* xerror - special form 'error' */
-LVAL xerror(void)
-{
-    LVAL emsg,arg;
-
-    /* get the error message and the argument */
-    emsg = xlgastring();
-    arg = (moreargs() ? xlgetarg() : s_unbound);
-    xllastarg();
-
-    /* signal the error */
-    xlerror((char *) getstring(emsg),arg);
-    return NIL; /* won't ever happen */
-}
-
-/* xcerror - special form 'cerror' */
-LVAL xcerror(void)
-{
-    LVAL cmsg,emsg,arg;
-
-    /* get the correction message, the error message, and the argument */
-    cmsg = xlgastring();
-    emsg = xlgastring();
-    arg = (moreargs() ? xlgetarg() : s_unbound);
-    xllastarg();
-
-    /* signal the error */
-    xlcerror((char *) getstring(cmsg), (char *) getstring(emsg),arg);
-
-    /* return nil */
-    return (NIL);
-}
-
-/* xbreak - special form 'break' */
-LVAL xbreak(void)
-{
-    LVAL emsg,arg;
-
-    /* get the error message */
-    emsg = (moreargs() ? xlgastring() : NIL);
-    arg = (moreargs() ? xlgetarg() : s_unbound);
-    xllastarg();
-
-    /* enter the break loop */
-    xlbreak((emsg ? (char *) getstring(emsg) : "**BREAK**"),arg);
-
-    /* return nil */
-    return (NIL);
-}
-
-/* xcleanup - special form 'clean-up' */
-LVAL xcleanup(void)
-{
-    xllastarg();
-    xlcleanup();
-}
-
-/* xtoplevel - special form 'top-level' */
-LVAL xtoplevel(void)
-{
-    xllastarg();
-    xltoplevel();
-}
-
-/* xcontinue - special form 'continue' */
-LVAL xcontinue(void)
-{
-    xllastarg();
-    xlcontinue();
-}
-
-/* xevalhook - eval hook function */
-LVAL xevalhook(void)
-{
-    LVAL expr,newehook,newahook,newenv,oldenv,oldfenv,olddenv,val;
-
-    /* protect some pointers */
-    xlstkcheck(3);
-    xlsave(oldenv);
-    xlsave(oldfenv);
-    xlsave(newenv);
-
-    /* get the expression, the new hook functions and the environment */
-    expr = xlgetarg();
-    newehook = xlgetarg();
-    newahook = xlgetarg();
-    newenv = (moreargs() ? xlgalist() : NIL);
-    xllastarg();
-
-    /* bind *evalhook* and *applyhook* to the hook functions */
-    olddenv = xldenv;
-    xldbind(s_evalhook,newehook);
-    xldbind(s_applyhook,newahook);
-
-    /* establish the environment for the hook function */
-    if (newenv) {
-        oldenv = xlenv;
-        oldfenv = xlfenv;
-        xlenv = car(newenv);
-        xlfenv = cdr(newenv);
-    }
-
-    /* evaluate the expression (bypassing *evalhook*) */
-    val = xlxeval(expr);
-
-    /* restore the old environment */
-    xlunbind(olddenv);
-    if (newenv) {
-        xlenv = oldenv;
-        xlfenv = oldfenv;
-    }
-
-    /* restore the stack */
-    xlpopn(3);
-
-    /* return the result */
-    return (val);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlcont.c b/lib-src/libnyquist/xlisp/xlcont.c
deleted file mode 100644
index 6baa733..0000000
--- a/lib-src/libnyquist/xlisp/xlcont.c
+++ /dev/null
@@ -1,1426 +0,0 @@
-/* xlcont - xlisp special forms */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL xlvalue;
-extern LVAL s_setf,s_car,s_cdr,s_nth,s_aref,s_get;
-extern LVAL s_svalue,s_sfunction,s_splist;
-extern LVAL s_lambda,s_macro;
-
-/* forward declarations */
-FORWARD LOCAL LVAL bquote1(LVAL expr);
-FORWARD LOCAL void placeform(LVAL place, LVAL value);
-FORWARD LOCAL LVAL let(int pflag);
-FORWARD LOCAL LVAL flet(LVAL type, int letflag);
-FORWARD LOCAL LVAL prog(int pflag);
-FORWARD LOCAL LVAL progx(int n);
-FORWARD LOCAL LVAL doloop(int pflag);
-FORWARD LOCAL LVAL evarg(LVAL *pargs);
-FORWARD LOCAL LVAL match(int type, LVAL *pargs);
-FORWARD LOCAL LVAL evmatch(int type, LVAL *pargs);
-FORWARD LOCAL void toofew(LVAL args);
-FORWARD LOCAL void toomany(LVAL args);
-FORWARD LOCAL void setffunction(LVAL fun, LVAL place, LVAL value);
-FORWARD LOCAL int keypresent(LVAL key, LVAL list);
-FORWARD LOCAL void dobindings(LVAL list, LVAL env);
-FORWARD LOCAL void tagbody(void);
-FORWARD LOCAL void doupdates(LVAL list, int pflag);
-
-
-/* dummy node type for a list */
-#define LIST	-1
-
-/* xquote - special form 'quote' */
-LVAL xquote(void)
-{
-    LVAL val;
-    val = xlgetarg();
-    xllastarg();
-    return (val);
-}
-
-/* xfunction - special form 'function' */
-LVAL xfunction(void)
-{
-    LVAL val;
-
-    /* get the argument */
-    val = xlgetarg();
-    xllastarg();
-
-    /* create a closure for lambda expressions */
-    if (consp(val) && car(val) == s_lambda && consp(cdr(val)))
-        val = xlclose(NIL,s_lambda,car(cdr(val)),cdr(cdr(val)),xlenv,xlfenv);
-
-    /* otherwise, get the value of a symbol */
-    else if (symbolp(val))
-        val = xlgetfunction(val);
-
-    /* otherwise, its an error */
-    else
-        xlerror("not a function",val);
-
-    /* return the function */
-    return (val);
-}
-
-/* xbquote - back quote special form */
-LVAL xbquote(void)
-{
-    LVAL expr;
-
-    /* get the expression */
-    expr = xlgetarg();
-    xllastarg();
-
-    /* fill in the template */
-    return (bquote1(expr));
-}
-
-/* bquote1 - back quote helper function */
-LOCAL LVAL bquote1(LVAL expr)
-{
-    LVAL val,list,last,new;
-
-    /* handle atoms */
-    if (atomp(expr))
-        val = expr;
-
-    /* handle (comma <expr>) */
-    else if (car(expr) == s_comma) {
-        if (atomp(cdr(expr)))
-            xlfail("bad comma expression");
-        val = xleval(car(cdr(expr)));
-    }
-
-    /* handle ((comma-at <expr>) ... ) */
-    else if (consp(car(expr)) && car(car(expr)) == s_comat) {
-        xlstkcheck(2);
-        xlsave(list);
-        xlsave(val);
-        if (atomp(cdr(car(expr))))
-            xlfail("bad comma-at expression");
-        list = xleval(car(cdr(car(expr))));
-        for (last = NIL; consp(list); list = cdr(list)) {
-            new = consa(car(list));
-            if (last)
-                rplacd(last,new);
-            else
-                val = new;
-            last = new;
-        }
-        if (last)
-            rplacd(last,bquote1(cdr(expr)));
-        else
-            val = bquote1(cdr(expr));
-        xlpopn(2);
-    }
-
-    /* handle any other list */
-    else {
-        xlsave1(val);
-        val = consa(NIL);
-        rplaca(val,bquote1(car(expr)));
-        rplacd(val,bquote1(cdr(expr)));
-        xlpop();
-    }
-
-    /* return the result */
-    return (val);
-}
-
-/* xlambda - special form 'lambda' */
-LVAL xlambda(void)
-{
-    LVAL fargs,arglist,val;
-
-    /* get the formal argument list and function body */
-    xlsave1(arglist);
-    fargs = xlgalist();
-    arglist = makearglist(xlargc,xlargv);
-
-    /* create a new function definition */
-    val = xlclose(NIL,s_lambda,fargs,arglist,xlenv,xlfenv);
-
-    /* restore the stack and return the closure */
-    xlpop();
-    return (val);
-}
-
-/* xgetlambda - get the lambda expression associated with a closure */
-LVAL xgetlambda(void)
-{
-    LVAL closure;
-    closure = xlgaclosure();
-    return (cons(gettype(closure),
-                 cons(getlambda(closure),getbody(closure))));
-}
-
-/* xsetq - special form 'setq' */
-LVAL xsetq(void)
-{
-    LVAL sym,val;
-
-    /* handle each pair of arguments */
-    for (val = NIL; moreargs(); ) {
-        sym = xlgasymbol();
-        val = xleval(nextarg());
-        xlsetvalue(sym,val);
-    }
-
-    /* return the result value */
-    return (val);
-}
-
-/* xpsetq - special form 'psetq' */
-LVAL xpsetq(void)
-{
-    LVAL plist,sym,val;
-
-    /* protect some pointers */
-    xlsave1(plist);
-
-    /* handle each pair of arguments */
-    for (val = NIL; moreargs(); ) {
-        sym = xlgasymbol();
-        val = xleval(nextarg());
-        plist = cons(cons(sym,val),plist);
-    }
-
-    /* do parallel sets */
-    for (; plist; plist = cdr(plist))
-        xlsetvalue(car(car(plist)),cdr(car(plist)));
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result value */
-    return (val);
-}
-
-/* xsetf - special form 'setf' */
-LVAL xsetf(void)
-{
-    LVAL place,value;
-
-    /* protect some pointers */
-    xlsave1(value);
-
-    /* handle each pair of arguments */
-    while (moreargs()) {
-
-        /* get place and value */
-        place = xlgetarg();
-        value = xleval(nextarg());
-
-        /* expand macros in the place form */
-        if (consp(place))
-            place = xlexpandmacros(place);
-        
-        /* check the place form */
-        if (symbolp(place))
-            xlsetvalue(place,value);
-        else if (consp(place))
-            placeform(place,value);
-        else
-            xlfail("bad place form");
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the value */
-    return (value);
-}
-
-/* placeform - handle a place form other than a symbol */
-LOCAL void placeform(LVAL place, LVAL value)
-{
-    LVAL fun,arg1,arg2;
-    int i;
-
-    /* check the function name */
-    if ((fun = match(SYMBOL,&place)) == s_get) {
-        xlstkcheck(2);
-        xlsave(arg1);
-        xlsave(arg2);
-        arg1 = evmatch(SYMBOL,&place);
-        arg2 = evmatch(SYMBOL,&place);
-        if (place) toomany(place);
-        xlputprop(arg1,value,arg2);
-        xlpopn(2);
-    }
-    else if (fun == s_svalue) {
-        arg1 = evmatch(SYMBOL,&place);
-        if (place) toomany(place);
-        setvalue(arg1,value);
-    }
-    else if (fun == s_sfunction) {
-        arg1 = evmatch(SYMBOL,&place);
-        if (place) toomany(place);
-        setfunction(arg1,value);
-    }
-    else if (fun == s_splist) {
-        arg1 = evmatch(SYMBOL,&place);
-        if (place) toomany(place);
-        setplist(arg1,value);
-    }
-    else if (fun == s_car) {
-        arg1 = evmatch(CONS,&place);
-        if (place) toomany(place);
-        rplaca(arg1,value);
-    }
-    else if (fun == s_cdr) {
-        arg1 = evmatch(CONS,&place);
-        if (place) toomany(place);
-        rplacd(arg1,value);
-    }
-    else if (fun == s_nth) {
-        xlsave1(arg1);
-        arg1 = evmatch(FIXNUM,&place);
-        arg2 = evmatch(LIST,&place);
-        if (place) toomany(place);
-        for (i = (int)getfixnum(arg1); i > 0 && consp(arg2); --i)
-            arg2 = cdr(arg2);
-        if (consp(arg2))
-            rplaca(arg2,value);
-        xlpop();
-    }
-    else if (fun == s_aref) {
-        xlsave1(arg1);
-        arg1 = evmatch(VECTOR,&place);
-        arg2 = evmatch(FIXNUM,&place); i = (int)getfixnum(arg2);
-        if (place) toomany(place);
-        if (i < 0 || i >= getsize(arg1))
-            xlerror("index out of range",arg2);
-        setelement(arg1,i,value);
-        xlpop();
-    }
-    else if ((fun = xlgetprop(fun,s_setf)))
-        setffunction(fun,place,value);
-    else
-        xlfail("bad place form");
-}
-
-/* setffunction - call a user defined setf function */
-LOCAL void setffunction(LVAL fun, LVAL place, LVAL value)
-{
-    LVAL *newfp;
-    int argc;
-
-    /* create the new call frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(fun);
-    pusharg(NIL);
-
-    /* push the values of all of the place expressions and the new value */
-    for (argc = 1; consp(place); place = cdr(place), ++argc)
-        pusharg(xleval(car(place)));
-    pusharg(value);
-
-    /* insert the argument count and establish the call frame */
-    newfp[2] = cvfixnum((FIXTYPE)argc);
-    xlfp = newfp;
-
-    /* apply the function */
-    xlapply(argc);
-}
-                       
-/* xdefun - special form 'defun' */
-LVAL xdefun(void)
-{
-    LVAL sym,fargs,arglist;
-
-    /* get the function symbol and formal argument list */
-    xlsave1(arglist);
-    sym = xlgasymbol();
-    fargs = xlgalist();
-    arglist = makearglist(xlargc,xlargv);
-
-    /* make the symbol point to a new function definition */
-    xlsetfunction(sym,xlclose(sym,s_lambda,fargs,arglist,xlenv,xlfenv));
-
-    /* restore the stack and return the function symbol */
-    xlpop();
-    return (sym);
-}
-
-/* xdefmacro - special form 'defmacro' */
-LVAL xdefmacro(void)
-{
-    LVAL sym,fargs,arglist;
-
-    /* get the function symbol and formal argument list */
-    xlsave1(arglist);
-    sym = xlgasymbol();
-    fargs = xlgalist();
-    arglist = makearglist(xlargc,xlargv);
-
-    /* make the symbol point to a new function definition */
-    xlsetfunction(sym,xlclose(sym,s_macro,fargs,arglist,NIL,NIL));
-
-    /* restore the stack and return the function symbol */
-    xlpop();
-    return (sym);
-}
-
-/* xcond - special form 'cond' */
-LVAL xcond(void)
-{
-    LVAL list,val;
-
-    /* find a predicate that is true */
-    for (val = NIL; moreargs(); ) {
-
-        /* get the next conditional */
-        list = nextarg();
-
-        /* evaluate the predicate part */
-        if (consp(list) && (val = xleval(car(list)))) {
-
-            /* evaluate each expression */
-            for (list = cdr(list); consp(list); list = cdr(list))
-                val = xleval(car(list));
-
-            /* exit the loop */
-            break;
-        }
-    }
-
-    /* return the value */
-    return (val);
-}
-
-/* xwhen - special form 'when' */
-LVAL xwhen(void)
-{
-    LVAL val;
-
-    /* check the test expression */
-    if ((val = xleval(xlgetarg())))
-        while (moreargs())
-            val = xleval(nextarg());
-
-    /* return the value */
-    return (val);
-}
-
-/* xunless - special form 'unless' */
-LVAL xunless(void)
-{
-    LVAL val=NIL;
-
-    /* check the test expression */
-    if (xleval(xlgetarg()) == NIL)
-        while (moreargs())
-            val = xleval(nextarg());
-
-    /* return the value */
-    return (val);
-}
-
-/* xcase - special form 'case' */
-LVAL xcase(void)
-{
-    LVAL key,list,cases,val;
-
-    /* protect some pointers */
-    xlsave1(key);
-
-    /* get the key expression */
-    key = xleval(nextarg());
-
-    /* find a case that matches */
-    for (val = NIL; moreargs(); ) {
-
-        /* get the next case clause */
-        list = nextarg();
-
-        /* make sure this is a valid clause */
-        if (consp(list)) {
-
-            /* compare the key list against the key */
-            if ((cases = car(list)) == s_true ||
-                (listp(cases) && keypresent(key,cases)) ||
-                eql(key,cases)) {
-
-                /* evaluate each expression */
-                for (list = cdr(list); consp(list); list = cdr(list))
-                    val = xleval(car(list));
-
-                /* exit the loop */
-                break;
-            }
-        }
-        else
-            xlerror("bad case clause",list);
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the value */
-    return (val);
-}
-
-/* keypresent - check for the presence of a key in a list */
-LOCAL int keypresent(LVAL key, LVAL list)
-{
-    for (; consp(list); list = cdr(list))
-        if (eql(car(list),key))
-            return (TRUE);
-    return (FALSE);
-}
-
-/* xand - special form 'and' */
-LVAL xand(void)
-{
-    LVAL val;
-
-    /* evaluate each argument */
-    for (val = s_true; moreargs(); )
-        if ((val = xleval(nextarg())) == NIL)
-            break;
-
-    /* return the result value */
-    return (val);
-}
-
-/* xor - special form 'or' */
-LVAL xor(void)
-{
-    LVAL val;
-
-    /* evaluate each argument */
-    for (val = NIL; moreargs(); )
-        if ((val = xleval(nextarg())))
-            break;
-
-    /* return the result value */
-    return (val);
-}
-
-/* xif - special form 'if' */
-LVAL xif(void)
-{
-    LVAL testexpr,thenexpr,elseexpr;
-
-    /* get the test expression, then clause and else clause */
-    testexpr = xlgetarg();
-    thenexpr = xlgetarg();
-    elseexpr = (moreargs() ? xlgetarg() : NIL);
-    xllastarg();
-
-    /* evaluate the appropriate clause */
-    return (xleval(xleval(testexpr) ? thenexpr : elseexpr));
-}
-
-/* xlet - special form 'let' */
-LVAL xlet(void)
-{
-    return (let(TRUE));
-}
-
-/* xletstar - special form 'let*' */
-LVAL xletstar(void)
-{
-    return (let(FALSE));
-}
-
-/* let - common let routine */
-LOCAL LVAL let(int pflag)
-{
-    LVAL newenv,val;
-
-    /* protect some pointers */
-    xlsave1(newenv);
-
-    /* create a new environment frame */
-    newenv = xlframe(xlenv);
-
-    /* get the list of bindings and bind the symbols */
-    if (!pflag) {
-        xlenv = newenv;
-    }
-    dobindings(xlgalist(),newenv);
-    if (pflag) {
-        xlenv = newenv;
-    }
-
-    /* execute the code */
-    for (val = NIL; moreargs(); )
-        val = xleval(nextarg());
-
-    /* unbind the arguments */
-    xlenv = cdr(xlenv);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* xflet - built-in function 'flet' */
-LVAL xflet(void)
-{
-    return (flet(s_lambda,TRUE));
-}
-
-/* xlabels - built-in function 'labels' */
-LVAL xlabels(void)
-{
-    return (flet(s_lambda,FALSE));
-}
-
-/* xmacrolet - built-in function 'macrolet' */
-LVAL xmacrolet(void)
-{
-    return (flet(s_macro,TRUE));
-}
-
-/* flet - common flet/labels/macrolet routine */
-LOCAL LVAL flet(LVAL type, int letflag)
-{
-    LVAL list,bnd,sym,fargs,val;
-
-    /* create a new environment frame */
-    xlfenv = xlframe(xlfenv);
-
-    /* bind each symbol in the list of bindings */
-    for (list = xlgalist(); consp(list); list = cdr(list)) {
-
-        /* get the next binding */
-        bnd = car(list);
-
-        /* get the symbol and the function definition */
-        sym = match(SYMBOL,&bnd);
-        fargs = match(LIST,&bnd);
-        val = xlclose(sym,type,fargs,bnd,xlenv,(letflag?cdr(xlfenv):xlfenv));
-
-        /* bind the value to the symbol */
-        xlfbind(sym,val);
-    }
-
-    /* execute the code */
-    for (val = NIL; moreargs(); )
-        val = xleval(nextarg());
-
-    /* unbind the arguments */
-    xlfenv = cdr(xlfenv);
-
-    /* return the result */
-    return (val);
-}
-
-/* xprog - special form 'prog' */
-LVAL xprog(void)
-{
-    return (prog(TRUE));
-}
-
-/* xprogstar - special form 'prog*' */
-LVAL xprogstar(void)
-{
-    return (prog(FALSE));
-}
-
-/* prog - common prog routine */
-LOCAL LVAL prog(int pflag)
-{
-    LVAL newenv,val;
-    XLCONTEXT cntxt;
-
-    /* protect some pointers */
-    xlsave1(newenv);
-
-    /* create a new environment frame */
-    newenv = xlframe(xlenv);
-
-    /* establish a new execution context */
-    xlbegin(&cntxt,CF_RETURN,NIL);
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else {
-
-        /* get the list of bindings and bind the symbols */
-        if (!pflag) {
-            xlenv = newenv;
-        }
-        dobindings(xlgalist(),newenv);
-        if (pflag) {
-            xlenv = newenv;
-        }
-
-        /* execute the code */
-        tagbody();
-        val = NIL;
-
-        /* unbind the arguments */
-        xlenv = cdr(xlenv);
-    }
-    xlend(&cntxt);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* 4035 is the "no return value" warning message */
-/* xgo, xreturn, xrtnfrom, and xthrow don't return anything */
-/* #pragma warning(disable: 4035) */
-/* xgo - special form 'go' */
-LVAL xgo(void)
-{
-    LVAL label;
-
-    /* get the target label */
-    label = xlgetarg();
-    xllastarg();
-
-    /* transfer to the label */
-    xlgo(label);
-    return NIL; /* never happens */
-}
-
-/* xreturn - special form 'return' */
-LVAL xreturn(void)
-{
-    LVAL val;
-
-    /* get the return value */
-    val = (moreargs() ? xleval(nextarg()) : NIL);
-    xllastarg();
-
-    /* return from the inner most block */
-    xlreturn(NIL,val);
-    return NIL; /* never happens */
-}
-
-/* xrtnfrom - special form 'return-from' */
-LVAL xrtnfrom(void)
-{
-    LVAL name,val;
-
-    /* get the return value */
-    name = xlgasymbol();
-    val = (moreargs() ? xleval(nextarg()) : NIL);
-    xllastarg();
-
-    /* return from the inner most block */
-    xlreturn(name,val);
-    return NIL; /* never happens */
-}
-
-/* xprog1 - special form 'prog1' */
-LVAL xprog1(void)
-{
-    return (progx(1));
-}
-
-/* xprog2 - special form 'prog2' */
-LVAL xprog2(void)
-{
-    return (progx(2));
-}
-
-/* progx - common progx code */
-LOCAL LVAL progx(int n)
-{
-    LVAL val;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* evaluate the first n expressions */
-    while (moreargs() && --n >= 0)
-        val = xleval(nextarg());
-
-    /* evaluate each remaining argument */
-    while (moreargs())
-        xleval(nextarg());
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the last test expression value */
-    return (val);
-}
-
-/* xprogn - special form 'progn' */
-LVAL xprogn(void)
-{
-    LVAL val;
-
-    /* evaluate each expression */
-    for (val = NIL; moreargs(); )
-        val = xleval(nextarg());
-
-    /* return the last test expression value */
-    return (val);
-}
-
-/* xprogv - special form 'progv' */
-LVAL xprogv(void)
-{
-    LVAL olddenv,vars,vals,val;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(vars);
-    xlsave(vals);
-
-    /* get the list of variables and the list of values */
-    vars = xlgetarg(); vars = xleval(vars);
-    vals = xlgetarg(); vals = xleval(vals);
-
-    /* bind the values to the variables */
-    for (olddenv = xldenv; consp(vars); vars = cdr(vars)) {
-        if (!symbolp(car(vars)))
-            xlerror("expecting a symbol",car(vars));
-        if (consp(vals)) {
-            xldbind(car(vars),car(vals));
-            vals = cdr(vals);
-        }
-        else
-            xldbind(car(vars),s_unbound);
-    }
-
-    /* evaluate each expression */
-    for (val = NIL; moreargs(); )
-        val = xleval(nextarg());
-
-    /* restore the previous environment and the stack */
-    xlunbind(olddenv);
-    xlpopn(2);
-
-    /* return the last test expression value */
-    return (val);
-}
-
-/* xloop - special form 'loop' */
-LVAL xloop(void)
-{
-    LVAL *argv,arg,val;
-    XLCONTEXT cntxt;
-    int argc;
-
-    /* protect some pointers */
-    xlsave1(arg);
-
-    /* establish a new execution context */
-    xlbegin(&cntxt,CF_RETURN,NIL);
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else
-        for (argv = xlargv, argc = xlargc; ; xlargv = argv, xlargc = argc)
-            while (moreargs()) {
-                arg = nextarg();
-                if (consp(arg))
-                    xleval(arg);
-            }
-    xlend(&cntxt);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* xdo - special form 'do' */
-LVAL xdo(void)
-{
-    return (doloop(TRUE));
-}
-
-/* xdostar - special form 'do*' */
-LVAL xdostar(void)
-{
-    return (doloop(FALSE));
-}
-
-/* doloop - common do routine */
-LOCAL LVAL doloop(int pflag)
-{
-    LVAL newenv,*argv,blist,clist,test,val;
-    XLCONTEXT cntxt;
-    int argc;
-
-    /* protect some pointers */
-    xlsave1(newenv);
-
-    /* get the list of bindings, the exit test and the result forms */
-    blist = xlgalist();
-    clist = xlgalist();
-    test = (consp(clist) ? car(clist) : NIL);
-    argv = xlargv;
-    argc = xlargc;
-
-    /* create a new environment frame */
-    newenv = xlframe(xlenv);
-
-    /* establish a new execution context */
-    xlbegin(&cntxt,CF_RETURN,NIL);
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else {
-
-        /* bind the symbols */
-        if (!pflag) {
-            xlenv = newenv;
-        }
-        dobindings(blist,newenv);
-        if (pflag) {
-            xlenv = newenv;
-        }
-
-        /* execute the loop as long as the test is false */
-        for (val = NIL; xleval(test) == NIL; doupdates(blist,pflag)) {
-            xlargv = argv;
-            xlargc = argc;
-            tagbody();
-        }
-
-        /* evaluate the result expression */
-        if (consp(clist))
-            for (clist = cdr(clist); consp(clist); clist = cdr(clist))
-                val = xleval(car(clist));
-
-        /* unbind the arguments */
-        xlenv = cdr(xlenv);
-    }
-    xlend(&cntxt);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* xdolist - special form 'dolist' */
-LVAL xdolist(void)
-{
-    LVAL list,*argv,clist,sym,val;
-    XLCONTEXT cntxt;
-    int argc;
-
-    /* protect some pointers */
-    xlsave1(list);
-
-    /* get the control list (sym list result-expr) */
-    clist = xlgalist();
-    sym = match(SYMBOL,&clist);
-    list = evmatch(LIST,&clist);
-    argv = xlargv;
-    argc = xlargc;
-
-    /* initialize the local environment */
-    xlenv = xlframe(xlenv);
-    xlbind(sym,NIL);
-
-    /* establish a new execution context */
-    xlbegin(&cntxt,CF_RETURN,NIL);
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else {
-
-        /* loop through the list */
-        for (val = NIL; consp(list); list = cdr(list)) {
-
-            /* bind the symbol to the next list element */
-            xlsetvalue(sym,car(list));
-
-            /* execute the loop body */
-            xlargv = argv;
-            xlargc = argc;
-            tagbody();
-        }
-
-        /* evaluate the result expression */
-        xlsetvalue(sym,NIL);
-        val = (consp(clist) ? xleval(car(clist)) : NIL);
-
-        /* unbind the arguments */
-        xlenv = cdr(xlenv);
-    }
-    xlend(&cntxt);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* xdotimes - special form 'dotimes' */
-LVAL xdotimes(void)
-{
-    LVAL *argv,clist,sym,cnt,val;
-    XLCONTEXT cntxt;
-    int argc,n,i;
-
-    /* get the control list (sym list result-expr) */
-    clist = xlgalist();
-    sym = match(SYMBOL,&clist);
-    cnt = evmatch(FIXNUM,&clist); n = getfixnum(cnt);
-    argv = xlargv;
-    argc = xlargc;
-
-    /* initialize the local environment */
-    xlenv = xlframe(xlenv);
-    xlbind(sym,NIL);
-
-    /* establish a new execution context */
-    xlbegin(&cntxt,CF_RETURN,NIL);
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else {
-
-        /* loop through for each value from zero to n-1 */
-        for (val = NIL, i = 0; i < n; ++i) {
-
-            /* bind the symbol to the next list element */
-            xlsetvalue(sym,cvfixnum((FIXTYPE)i));
-
-            /* execute the loop body */
-            xlargv = argv;
-            xlargc = argc;
-            tagbody();
-        }
-
-        /* evaluate the result expression */
-        xlsetvalue(sym,cnt);
-        val = (consp(clist) ? xleval(car(clist)) : NIL);
-
-        /* unbind the arguments */
-        xlenv = cdr(xlenv);
-    }
-    xlend(&cntxt);
-
-    /* return the result */
-    return (val);
-}
-
-/* xblock - special form 'block' */
-LVAL xblock(void)
-{
-    LVAL name,val;
-    XLCONTEXT cntxt;
-
-    /* get the block name */
-    name = xlgetarg();
-    if (name && !symbolp(name))
-        xlbadtype(name);
-
-    /* execute the block */
-    xlbegin(&cntxt,CF_RETURN,name);
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else
-        for (val = NIL; moreargs(); )
-            val = xleval(nextarg());
-    xlend(&cntxt);
-
-    /* return the value of the last expression */
-    return (val);
-}
-
-/* xtagbody - special form 'tagbody' */
-LVAL xtagbody(void)
-{
-    tagbody();
-    return (NIL);
-}
-
-/* xcatch - special form 'catch' */
-LVAL xcatch(void)
-{
-    XLCONTEXT cntxt;
-    LVAL tag,val;
-
-    /* protect some pointers */
-    xlsave1(tag);
-
-    /* get the tag */
-    tag = xleval(nextarg());
-
-    /* establish an execution context */
-    xlbegin(&cntxt,CF_THROW,tag);
-
-    /* check for 'throw' */
-    if (setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-
-    /* otherwise, evaluate the remainder of the arguments */
-    else {
-        for (val = NIL; moreargs(); )
-            val = xleval(nextarg());
-    }
-    xlend(&cntxt);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* xthrow - special form 'throw' */
-LVAL xthrow(void)
-{
-    LVAL tag,val;
-
-    /* get the tag and value */
-    tag = xleval(nextarg());
-    val = (moreargs() ? xleval(nextarg()) : NIL);
-    xllastarg();
-
-    /* throw the tag */
-    xlthrow(tag,val);
-    return NIL; /* never happens */
-}
-
-/* xunwindprotect - special form 'unwind-protect' */
-LVAL xunwindprotect(void)
-{
-    extern XLCONTEXT *xltarget;
-    extern int xlmask;
-    XLCONTEXT cntxt;
-    XLCONTEXT *target = NULL;
-    int mask = 0;
-    int sts;
-    LVAL val;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* get the expression to protect */
-    val = xlgetarg();
-
-    /* evaluate the protected expression */
-    xlbegin(&cntxt,CF_UNWIND,NIL);
-    if ((sts = setjmp(cntxt.c_jmpbuf))) {
-        target = xltarget;
-        mask = xlmask;
-        val = xlvalue;
-    }
-    else
-        val = xleval(val);
-    xlend(&cntxt);
-        
-    /* evaluate the cleanup expressions */
-    while (moreargs())
-        xleval(nextarg());
-
-    /* if unwinding, continue unwinding */
-    if (sts)
-        xljump(target,mask,val);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the value of the protected expression */
-    return (val);
-}
-
-/* xerrset - special form 'errset' */
-LVAL xerrset(void)
-{
-    LVAL expr,flag,val;
-    XLCONTEXT cntxt;
-
-    /* get the expression and the print flag */
-    expr = xlgetarg();
-    flag = (moreargs() ? xlgetarg() : s_true);
-    xllastarg();
-
-    /* establish an execution context */
-    xlbegin(&cntxt,CF_ERROR,flag);
-
-    /* check for error */
-    if (setjmp(cntxt.c_jmpbuf))
-        val = NIL;
-
-    /* otherwise, evaluate the expression */
-    else {
-        expr = xleval(expr);
-        val = consa(expr);
-    }
-    xlend(&cntxt);
-
-    /* return the result */
-    return (val);
-}
-
-/* xtrace - special form 'trace' */
-LVAL xtrace(void)
-{
-    LVAL sym,fun,this;
-
-    /* loop through all of the arguments */
-    sym = xlenter("*TRACELIST*");
-    while (moreargs()) {
-        fun = xlgasymbol();
-
-        /* check for the function name already being in the list */
-        for (this = getvalue(sym); consp(this); this = cdr(this))
-            if (car(this) == fun)
-                break;
-
-        /* add the function name to the list */
-        if (null(this))
-            setvalue(sym,cons(fun,getvalue(sym)));
-    }
-    return (getvalue(sym));
-}
-
-/* xuntrace - special form 'untrace' */
-LVAL xuntrace(void)
-{
-    LVAL sym,fun,this,last;
-
-    /* loop through all of the arguments */
-    sym = xlenter("*TRACELIST*");
-    while (moreargs()) {
-        fun = xlgasymbol();
-
-        /* remove the function name from the list */
-        last = NIL;
-        for (this = getvalue(sym); consp(this); this = cdr(this)) {
-            if (car(this) == fun) {
-                if (last)
-                    rplacd(last,cdr(this));
-                else
-                    setvalue(sym,cdr(this));
-                break;
-            }
-            last = this;
-        }
-    }
-    return (getvalue(sym));
-}
-
-/* dobindings - handle bindings for let/let*, prog/prog*, do/do* */
-LOCAL void dobindings(LVAL list, LVAL env)
-{
-    LVAL bnd, val;
-    LVAL sym = NULL;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* bind each symbol in the list of bindings */
-    for (; consp(list); list = cdr(list)) {
-
-        /* get the next binding */
-        bnd = car(list);
-
-        /* handle a symbol */
-        if (symbolp(bnd)) {
-            sym = bnd;
-            val = NIL;
-        }
-
-        /* handle a list of the form (symbol expr) */
-        else if (consp(bnd)) {
-            sym = match(SYMBOL,&bnd);
-            val = evarg(&bnd);
-        }
-        else
-            xlfail("bad binding");
-
-        /* bind the value to the symbol */
-        xlpbind(sym,val,env);
-    }
-
-    /* restore the stack */
-    xlpop();
-}
-
-/* doupdates - handle updates for do/do* */
-LOCAL void doupdates(LVAL list, int pflag)
-{
-    LVAL plist,bnd,sym,val;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(plist);
-    xlsave(val);
-
-    /* bind each symbol in the list of bindings */
-    for (; consp(list); list = cdr(list)) {
-
-        /* get the next binding */
-        bnd = car(list);
-
-        /* handle a list of the form (symbol expr) */
-        if (consp(bnd)) {
-            sym = match(SYMBOL,&bnd);
-            bnd = cdr(bnd);
-            if (bnd) {
-                val = evarg(&bnd);
-                if (pflag)
-                    plist = cons(cons(sym,val),plist);
-                else
-                    xlsetvalue(sym,val);
-            }
-        }
-    }
-
-    /* set the values for parallel updates */
-    for (; plist; plist = cdr(plist))
-        xlsetvalue(car(car(plist)),cdr(car(plist)));
-
-    /* restore the stack */
-    xlpopn(2);
-}
-
-/* tagbody - execute code within a block and tagbody */
-LOCAL void tagbody(void)
-{
-    LVAL *argv,arg;
-    XLCONTEXT cntxt;
-    int argc;
-
-    /* establish an execution context */
-    xlbegin(&cntxt,CF_GO,NIL);
-    argc = xlargc;
-    argv = xlargv;
-
-    /* check for a 'go' */
-    if (setjmp(cntxt.c_jmpbuf)) {
-        cntxt.c_xlargc = argc;
-        cntxt.c_xlargv = argv;
-    }
-
-    /* execute the body */
-    while (moreargs()) {
-        arg = nextarg();
-        if (consp(arg))
-            xleval(arg);
-    }
-    xlend(&cntxt);
-}
-
-/* match - get an argument and match its type */
-LOCAL LVAL match(int type, LVAL *pargs)
-{
-    LVAL arg;
-
-    /* make sure the argument exists */
-    if (!consp(*pargs))
-        toofew(*pargs);
-
-    /* get the argument value */
-    arg = car(*pargs);
-
-    /* move the argument pointer ahead */
-    *pargs = cdr(*pargs);
-
-    /* check its type */
-    if (type == LIST) {
-        if (arg && ntype(arg) != CONS)
-            xlerror("bad argument type",arg);
-    }
-    else {
-        if (arg == NIL || ntype(arg) != type)
-            xlerror("bad argument type",arg);
-    }
-
-    /* return the argument */
-    return (arg);
-}
-
-/* evarg - get the next argument and evaluate it */
-LOCAL LVAL evarg(LVAL *pargs)
-{
-    LVAL arg;
-
-    /* protect some pointers */
-    xlsave1(arg);
-
-    /* make sure the argument exists */
-    if (!consp(*pargs))
-        toofew(*pargs);
-
-    /* get the argument value */
-    arg = car(*pargs);
-
-    /* move the argument pointer ahead */
-    *pargs = cdr(*pargs);
-
-    /* evaluate the argument */
-    arg = xleval(arg);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the argument */
-    return (arg);
-}
-
-/* evmatch - get an evaluated argument and match its type */
-LOCAL LVAL evmatch(int type, LVAL *pargs)
-{
-    LVAL arg;
-
-    /* protect some pointers */
-    xlsave1(arg);
-
-    /* make sure the argument exists */
-    if (!consp(*pargs))
-        toofew(*pargs);
-
-    /* get the argument value */
-    arg = car(*pargs);
-
-    /* move the argument pointer ahead */
-    *pargs = cdr(*pargs);
-
-    /* evaluate the argument */
-    arg = xleval(arg);
-
-    /* check its type */
-    if (type == LIST) {
-        if (arg && ntype(arg) != CONS)
-            xlerror("bad argument type",arg);
-    }
-    else {
-        if (arg == NIL || ntype(arg) != type)
-            xlerror("bad argument type",arg);
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the argument */
-    return (arg);
-}
-
-/* toofew - too few arguments */
-LOCAL void toofew(LVAL args)
-{
-    xlerror("too few arguments",args);
-}
-
-/* toomany - too many arguments */
-LOCAL void toomany(LVAL args)
-{
-    xlerror("too many arguments",args);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xldbug.c b/lib-src/libnyquist/xlisp/xldbug.c
deleted file mode 100644
index 3b71efa..0000000
--- a/lib-src/libnyquist/xlisp/xldbug.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* xldebug - xlisp debugging support */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-
-#include "stdlib.h"
-#include "xlisp.h"
-
-
-/* forward declarations */
-FORWARD LVAL stacktop(void);
-FORWARD LOCAL void breakloop(char *hdr, char *cmsg, char *emsg, LVAL arg, int cflag);
-
-/* xlabort - xlisp serious error handler */
-void xlabort(char *emsg)
-{
-    xlsignal(emsg,s_unbound);
-    xlerrprint("error",(char *) NULL,emsg,s_unbound);
-    xlbrklevel();
-}
-
-/* xlbreak - enter a break loop */
-void xlbreak(char *emsg, LVAL arg)
-{
-    breakloop("break","return from BREAK",emsg,arg,TRUE);
-}
-
-/* xlfail - xlisp error handler */
-void xlfail(char *emsg)
-{
-    xlerror(emsg,s_unbound);
-}
-
-/* close_loadingfiles - close files we were loading from */
-void close_loadingfiles()
-{
-    /* close open files that are being loaded so that user can
-       overwrite bug fixes immediately. (Windows locks files
-       until they are closed.)
-     */
-    while (consp(getvalue(s_loadingfiles)) && 
-           consp(cdr(getvalue(s_loadingfiles))) &&
-           streamp(car(cdr(getvalue(s_loadingfiles))))) {
-        osclose(getfile(car(cdr(getvalue(s_loadingfiles)))));
-        setvalue(s_loadingfiles, cdr(cdr(getvalue(s_loadingfiles))));
-    }
-}
-
-/* xlerror - handle a fatal error */
-void xlerror(char *emsg, LVAL arg)
-{
-    close_loadingfiles();
-    if (getvalue(s_breakenable) != NIL)
-        breakloop("error",NULL,emsg,arg,FALSE);
-    else {
-        xlsignal(emsg,arg);
-        xlerrprint("error",NULL,emsg,arg);
-        xlbrklevel();
-    }
-}
-
-/* xlcerror - handle a recoverable error */
-void xlcerror(char *cmsg, char *emsg, LVAL arg)
-{
-    if (getvalue(s_breakenable) != NIL)
-        breakloop("error",cmsg,emsg,arg,TRUE);
-    else {
-        xlsignal(emsg,arg);
-        xlerrprint("error",NULL,emsg,arg);
-        xlbrklevel();
-    }
-}
-
-/* xlerrprint - print an error message */
-void xlerrprint(char *hdr, char *cmsg, char *emsg, LVAL arg)
-{
-    /* print the error message */
-    sprintf(buf,"%s: %s",hdr,emsg);
-    errputstr(buf);
-
-    /* print the argument */
-    if (arg != s_unbound) {
-        errputstr(" - ");
-        errprint(arg);
-    }
-
-    /* no argument, just end the line */
-    else
-        errputstr("\n");
-
-    /* print the continuation message */
-    if (cmsg) {
-        sprintf(buf,"if continued: %s\n",cmsg);
-        errputstr(buf);
-    }
-}
-
-/* breakloop - the debug read-eval-print loop */
-LOCAL void breakloop(char *hdr, char *cmsg, char *emsg, LVAL arg, int cflag)
-{
-    LVAL expr,val;
-    XLCONTEXT cntxt;
-    int type;
-
-    /* print the error message */
-    xlerrprint(hdr,cmsg,emsg,arg);
-
-    /* flush the input buffer */
-    xlflush();
-
-    /* do the back trace */
-    if (getvalue(s_tracenable)) {
-        val = getvalue(s_tlimit);
-        xlbaktrace(fixp(val) ? (int)getfixnum(val) : -1);
-    }
-
-    /* protect some pointers */
-    xlsave1(expr);
-
-    /* increment the debug level */
-    ++xldebug;
-
-    /* debug command processing loop */
-    xlbegin(&cntxt,CF_BRKLEVEL|CF_CLEANUP|CF_CONTINUE,s_true);
-    for (type = 0; type == 0; ) {
-
-        /* setup the continue trap */
-        if ((type = setjmp(cntxt.c_jmpbuf)))
-            switch (type) {
-            case CF_CLEANUP:
-                continue;
-            case CF_BRKLEVEL:
-                type = 0;
-                break;
-            case CF_CONTINUE:
-                if (cflag) {
-                    dbgputstr("[ continue from break loop ]\n");
-                    continue;
-                }
-                else xlabort("this error can't be continued");
-            }
-
-        #ifndef READLINE
-        /* print a prompt */
-        sprintf(buf,"%d> ",xldebug);
-        dbgputstr(buf);
-        #endif
-
-        /* read an expression and check for eof */
-        if (!xlread(getvalue(s_debugio),&expr,FALSE)) {
-            type = CF_CLEANUP;
-
-            #ifdef READLINE
-            dbgputstr("\n");
-            #endif
-
-            break;
-        }
-
-        /* save the input expression */
-        xlrdsave(expr);
-
-        /* evaluate the expression */
-        expr = xleval(expr);
-
-        /* save the result */
-        xlevsave(expr);
-
-        /* print it */
-        dbgprint(expr);
-    }
-    xlend(&cntxt);
-
-    /* decrement the debug level */
-    --xldebug;
-
-    /* restore the stack */
-    xlpop();
-
-    /* check for aborting to the previous level */
-    if (type == CF_CLEANUP)
-        xlbrklevel();
-}
-
-/* baktrace - do a back trace */
-void xlbaktrace(int n)
-{
-    LVAL *fp,*p;
-    int argc;
-    for (fp = xlfp; (n < 0 || n--) && *fp; fp = fp - (int)getfixnum(*fp)) {
-        p = fp + 1;
-        errputstr("Function: ");
-        errprint(*p++);
-        if ((argc = (int)getfixnum(*p++)))
-            errputstr("Arguments:\n");
-        while (--argc >= 0) {
-            errputstr("  ");
-            errprint(*p++);
-        }
-    }
-}
-
-/* xldinit - debug initialization routine */
-void xldinit(void)
-{
-    xlsample = 0;
-    xldebug = 0;
-}
-
diff --git a/lib-src/libnyquist/xlisp/xldmem.c b/lib-src/libnyquist/xlisp/xldmem.c
deleted file mode 100644
index c4db5a9..0000000
--- a/lib-src/libnyquist/xlisp/xldmem.c
+++ /dev/null
@@ -1,737 +0,0 @@
-/* xldmem - xlisp dynamic memory management routines */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use
-
- * HISTORY
- * 28-Apr-03    Mazzoni
- *  eliminate some compiler warnings
- * 14-Apr-88	Dannenberg
- *	Call free method when an EXTERN node is garbage collected
- */
-
-
-/* #define DEBUG_MEM 1 */
-
-#include "stdlib.h"
-#include "string.h"
-#include "xlisp.h"
-
-/* node flags */
-#define MARK	1
-#define LEFT	2
-
-/* macro to compute the size of a segment */
-#define segsize(n) (sizeof(SEGMENT)+((n)-1)*sizeof(struct node))
-
-
-/* variables local to xldmem.c and xlimage.c */
-SEGMENT *segs,*lastseg,*fixseg,*charseg;
-int anodes,nsegs,gccalls;
-long nnodes,nfree,total;
-LVAL fnodes;
-
-#ifdef DEBUG_MEM
-long xldmem_trace = 0;	/* debugging */
-#endif
-
-/* forward declarations */
-FORWARD LOCAL void findmem(void);
-FORWARD LVAL newnode(int type);
-FORWARD LOCAL unsigned char *stralloc(int size);
-FORWARD LOCAL int addseg(void);
-FORWARD void mark(LVAL ptr);
-FORWARD LOCAL void sweep(void);
-
-#ifdef DEBUG_GC
-static long dbg_gc_n = 0;	/* counts save operations */
-long dbg_gc_count = 0;	        /* says when to stop */
-LVAL *dbg_gc_addr = NULL;	/* says what we're looking for */
-
-void dbg_gc_xlsave(LVAL *n)
-{
-    dbg_gc_n++;
-    if (n == dbg_gc_addr) {
-        printf("dbg_gc_xlsave: %x at count %d\n",
-               dbg_gc_addr, dbg_gc_n);
-    }
-    if (dbg_gc_count == dbg_gc_n) {
-        printf("dbg_gc_xlsave: reached %d\n",
-               dbg_gc_count);
-    }
-}
-
-
-#endif
-
-
-/* cons - construct a new cons node */
-LVAL cons(LVAL x, LVAL y)
-{
-    LVAL nnode;
-    /* get a free node */
-    if ((nnode = fnodes) == NIL) {
-        xlstkcheck(2);
-        xlprotect(x);
-        xlprotect(y);
-        findmem();
-        if ((nnode = fnodes) == NIL)
-            xlabort("insufficient node space");
-        xlpop();
-        xlpop();
-    }
-
-    /* unlink the node from the free list */
-    fnodes = cdr(nnode);
-    --nfree;
-
-    /* initialize the new node */
-    nnode->n_type = CONS;
-    rplaca(nnode,x);
-    rplacd(nnode,y);
-
-    /* return the new node */
-    return (nnode);
-}
-
-/* cvstring - convert a string to a string node */
-LVAL cvstring(char *str)
-{
-    LVAL val;
-    xlsave1(val);
-    val = newnode(STRING);
-    val->n_strlen = strlen(str) + 1;
-    val->n_string = stralloc(getslength(val));
-    strcpy((char *) getstring(val),str);
-    xlpop();
-    return (val);
-}
-
-/* new_string - allocate and initialize a new string */
-LVAL new_string(int size)
-{
-    LVAL val;
-    xlsave1(val);
-    val = newnode(STRING);
-    val->n_strlen = size;
-    val->n_string = stralloc(getslength(val));
-    strcpy((char *) getstring(val),"");
-    xlpop();
-    return (val);
-}
-
-/* cvsymbol - convert a string to a symbol */
-LVAL cvsymbol(char *pname)
-{
-    LVAL val;
-    xlsave1(val);
-    val = newvector(SYMSIZE);
-    val->n_type = SYMBOL;
-    setvalue(val,s_unbound);
-    setfunction(val,s_unbound);
-    setpname(val,cvstring(pname));
-    xlpop();
-    return (val);
-}
-
-/* cvsubr - convert a function to a subr or fsubr */
-LVAL cvsubr(LVAL (*fcn)(void), int type, int offset)
-{
-    LVAL val;
-    val = newnode(type);
-    val->n_subr = fcn;
-    val->n_offset = offset;
-    return (val);
-}
-
-/* cvfile - convert a file pointer to a stream */
-LVAL cvfile(FILE *fp)
-{
-    LVAL val;
-    val = newnode(STREAM);
-    setfile(val,fp);
-    setsavech(val,'\0');
-    return (val);
-}
-
-/* cvfixnum - convert an integer to a fixnum node */
-LVAL cvfixnum(FIXTYPE n)
-{
-    LVAL val;
-    if (n >= SFIXMIN && n <= SFIXMAX)
-        return (&fixseg->sg_nodes[(int)n-SFIXMIN]);
-    val = newnode(FIXNUM);
-    val->n_fixnum = n;
-    return (val);
-}
-
-/* cvflonum - convert a floating point number to a flonum node */
-LVAL cvflonum(FLOTYPE n)
-{
-    LVAL val;
-    val = newnode(FLONUM);
-    val->n_flonum = n;
-    return (val);
-}
-
-/* cvchar - convert an integer to a character node */
-LVAL cvchar(int n)
-{
-    if (n >= CHARMIN && n <= CHARMAX)
-        return (&charseg->sg_nodes[n-CHARMIN]);
-    xlerror("character code out of range",cvfixnum((FIXTYPE)n));
-    return NIL; /* won't reach this line */
-}
-
-/* newustream - create a new unnamed stream */
-LVAL newustream(void)
-{
-    LVAL val;
-    val = newnode(USTREAM);
-    sethead(val,NIL);
-    settail(val,NIL);
-    return (val);
-}
-
-/* newobject - allocate and initialize a new object */
-LVAL newobject(LVAL cls, int size)
-{
-    LVAL val;
-    val = newvector(size+1);
-    val->n_type = OBJECT;
-    setelement(val,0,cls);
-    return (val);
-}
-
-/* newclosure - allocate and initialize a new closure */
-LVAL newclosure(LVAL name, LVAL type, LVAL env, LVAL fenv)
-{
-    LVAL val;
-    val = newvector(CLOSIZE);
-    val->n_type = CLOSURE;
-    setname(val,name);
-    settype(val,type);
-    setenv(val,env);
-    setfenv(val,fenv);
-    return (val);
-}
-
-/* newvector - allocate and initialize a new vector node */
-LVAL newvector(int size)
-{
-    LVAL vect;
-    int bsize;
-    xlsave1(vect);
-    vect = newnode(VECTOR);
-    vect->n_vsize = 0;
-    if ((bsize = size * sizeof(LVAL))) {
-        if ((vect->n_vdata = (LVAL *)calloc(1,bsize)) == NULL) {
-            findmem();
-            if ((vect->n_vdata = (LVAL *)calloc(1,bsize)) == NULL)
-                xlfail("insufficient vector space");
-        }
-        vect->n_vsize = size;
-        total += (long) bsize;
-    }
-    xlpop();
-    return (vect);
-}
-
-/* newnode - allocate a new node */
-LVAL newnode(int type)
-{
-    LVAL nnode;
-
-    /* get a free node */
-    if ((nnode = fnodes) == NIL) {
-        findmem();
-        if ((nnode = fnodes) == NIL)
-            xlabort("insufficient node space");
-    }
-
-    /* unlink the node from the free list */
-    fnodes = cdr(nnode);
-    nfree -= 1L;
-
-    /* initialize the new node */
-    nnode->n_type = type;
-    rplacd(nnode,NIL);
-
-    /* return the new node */
-    return (nnode);
-}
-
-/* stralloc - allocate memory for a string adding a byte for the terminator */
-LOCAL unsigned char *stralloc(int size)
-{
-    unsigned char *sptr;
-
-    /* allocate memory for the string copy */
-    if ((sptr = (unsigned char *)malloc(size)) == NULL) {
-        gc();  
-        if ((sptr = (unsigned char *)malloc(size)) == NULL)
-            xlfail("insufficient string space");
-    }
-    total += (long)size;
-
-    /* return the new string memory */
-    return (sptr);
-}
-
-/* findmem - find more memory by collecting then expanding */
-LOCAL void findmem(void)
-{
-    gc();
-    if (nfree < (long)anodes)
-        addseg();
-}
-
-/* gc - garbage collect (only called here and in xlimage.c) */
-void gc(void)
-{
-    register LVAL **p,*ap,tmp;
-    char buf[STRMAX+1];
-    LVAL *newfp,fun;
-    extern LVAL profile_fixnum;
-
-    /* print the start of the gc message */
-    if (s_gcflag && getvalue(s_gcflag)) {
-        sprintf(buf,"[ gc: total %ld, ",nnodes);
-        stdputstr(buf);
-    }
-
-    /* mark the fixnum used by profiler */
-    if (!null(profile_fixnum)) mark(profile_fixnum);
-
-    /* mark the obarray, the argument list and the current environment */
-    if (obarray)
-        mark(obarray);
-    if (xlenv)
-        mark(xlenv);
-    if (xlfenv)
-        mark(xlfenv);
-    if (xldenv)
-        mark(xldenv);
-
-    /* mark the evaluation stack */
-    for (p = xlstack; p < xlstktop; ++p)
-        if ((tmp = **p))
-            mark(tmp);
-
-    /* mark the argument stack */
-    for (ap = xlargstkbase; ap < xlsp; ++ap)
-        if ((tmp = *ap))
-            mark(tmp);
-
-    /* sweep memory collecting all unmarked nodes */
-    sweep();
-
-    /* count the gc call */
-    ++gccalls;
-
-    /* call the *gc-hook* if necessary */
-    if (s_gchook && (fun = getvalue(s_gchook))) {
-        newfp = xlsp;
-        pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-        pusharg(fun);
-        pusharg(cvfixnum((FIXTYPE)2));
-        pusharg(cvfixnum((FIXTYPE)nnodes));
-        pusharg(cvfixnum((FIXTYPE)nfree));
-        xlfp = newfp;
-        xlapply(2);
-    }
-
-    /* print the end of the gc message */
-    if (s_gcflag && getvalue(s_gcflag)) {
-        sprintf(buf,"%ld free", nfree);
-        stdputstr(buf);
-        /* print additional info (e.g. sound blocks in Nyquist) */
-        print_local_gc_info();
-        stdputstr(" ]\n");
-    }
-}
-
-/* mark - mark all accessible nodes */
-void mark(LVAL ptr)
-{
-    register LVAL this,prev,tmp;
-    int type,i,n;
-
-    /* initialize */
-    prev = NIL;
-    this = ptr;
-
-    /* mark this list */
-    for (;;) {
-
-        /* descend as far as we can */
-        while (!(this->n_flags & MARK))
-
-            /* check cons and symbol nodes */
-            if (((type = ntype(this))) == CONS || type == USTREAM) {
-                if ((tmp = car(this))) {
-                    this->n_flags |= MARK|LEFT;
-                    rplaca(this,prev);
-                }
-                else if ((tmp = cdr(this))) {
-                    this->n_flags |= MARK;
-                    rplacd(this,prev);
-                }
-                else {				/* both sides nil */
-                    this->n_flags |= MARK;
-                    break;
-                }
-                prev = this;			/* step down the branch */
-                this = tmp;
-            }
-
-            /* mark other node types */
-            else {
-                this->n_flags |= MARK;
-                switch (type) {
-                case SYMBOL:
-                case OBJECT:
-                case VECTOR:
-                case CLOSURE:
-                    for (i = 0, n = getsize(this); --n >= 0; ++i)
-                        if ((tmp = getelement(this,i)))
-                            mark(tmp);
-                    break;
-                case EXTERN:
-                    if (getdesc(this)->mark_meth) { (*(getdesc(this)->mark_meth))(getinst(this));
-                    }
-                }
-                break;
-            }
-
-        /* backup to a point where we can continue descending */
-        for (;;)
-
-            /* make sure there is a previous node */
-            if (prev) {
-                if (prev->n_flags & LEFT) {	/* came from left side */
-                    prev->n_flags &= ~LEFT;
-                    tmp = car(prev);
-                    rplaca(prev,this);
-                    if ((this = cdr(prev))) {
-                        rplacd(prev,tmp);			
-                        break;
-                    }
-                }
-                else {				/* came from right side */
-                    tmp = cdr(prev);
-                    rplacd(prev,this);
-                }
-                this = prev;			/* step back up the branch */
-                prev = tmp;
-            }
-
-            /* no previous node, must be done */
-            else
-                return;
-    }
-}
-
-/* sweep - sweep all unmarked nodes and add them to the free list */
-LOCAL void sweep(void)
-{
-    SEGMENT *seg;
-    LVAL p;
-    int n;
-
-    /* empty the free list */
-    fnodes = NIL;
-    nfree = 0L;
-
-    /* add all unmarked nodes */
-    for (seg = segs; seg; seg = seg->sg_next) {
-        if (seg == fixseg)	 /* don't sweep the fixnum segment */
-            continue;
-        else if (seg == charseg) /* don't sweep the character segment */
-            continue;
-        p = &seg->sg_nodes[0];
-        for (n = seg->sg_size; --n >= 0; ++p) {
-#ifdef DEBUG_MEM
-            if (xldmem_trace &&
-                  ntype(p) == EXTERN &&
-                  xldmem_trace == getinst(p)) {
-                printf("sweep: EXTERN node %lx is %smarked, points to %lx\n",
-                       p, (p->n_flags & MARK ? "" : "un"), getinst(p));
-            }
-#endif
-            if (!(p->n_flags & MARK)) {
-                switch (ntype(p)) {
-                case STRING:
-                        if (getstring(p) != NULL) {
-                            total -= (long)getslength(p);
-                            free(getstring(p));
-                        }
-                        break;
-                case STREAM:
-                        if (getfile(p))
-                            osclose(getfile(p));
-                        break;
-                case SYMBOL:
-                case OBJECT:
-                case VECTOR:
-                case CLOSURE:
-                        if (p->n_vsize) {
-                            total -= (long) (p->n_vsize * sizeof(LVAL));
-                            free((void *) p->n_vdata);
-                        }
-                        break;
-                case EXTERN:
-                        /* printf("GC about to free %x\n", p);  
-                         * fflush(stdout);
-                         */
-                        if (getdesc(p)) { (*(getdesc(p)->free_meth))(getinst(p));
-                        }
-                        break;
-                }
-                p->n_type = FREE_NODE;
-                rplaca(p,NIL);
-                rplacd(p,fnodes);
-                fnodes = p;
-                nfree += 1L;
-            }
-            else
-                p->n_flags &= ~MARK;
-        }
-    }
-}
-
-/* addseg - add a segment to the available memory */
-LOCAL int addseg(void)
-{
-    SEGMENT *newseg;
-    LVAL p;
-    int n;
-
-    /* allocate the new segment */
-    if (anodes == 0 || (newseg = newsegment(anodes)) == NULL)
-        return (FALSE);
-
-    /* add each new node to the free list */
-    p = &newseg->sg_nodes[0];
-    for (n = anodes; --n >= 0; ++p) {
-        rplacd(p,fnodes);
-        fnodes = p;
-    }
-
-    /* return successfully */
-    return (TRUE);
-}
-
-/* newsegment - create a new segment (only called here and in xlimage.c) */
-SEGMENT *newsegment(int n)
-{
-    SEGMENT *newseg;
-
-    /* allocate the new segment */
-    if ((newseg = (SEGMENT *)calloc(1,segsize(n))) == NULL)
-        return (NULL);
-
-    /* initialize the new segment */
-    newseg->sg_size = n;
-    newseg->sg_next = NULL;
-    if (segs)
-        lastseg->sg_next = newseg;
-    else
-        segs = newseg;
-    lastseg = newseg;
-
-    /* update the statistics */
-    total += (long)segsize(n);
-    nnodes += (long)n;
-    nfree += (long)n;
-    ++nsegs;
-
-    /* return the new segment */
-    return (newseg);
-}
- 
-/* stats - print memory statistics */
-LOCAL void stats(void)
-{
-    sprintf(buf,"Nodes:       %ld\n",nnodes); stdputstr(buf);
-    sprintf(buf,"Free nodes:  %ld\n",nfree);  stdputstr(buf);
-    sprintf(buf,"Segments:    %d\n",nsegs);   stdputstr(buf);
-    sprintf(buf,"Allocate:    %d\n",anodes);  stdputstr(buf);
-    sprintf(buf,"Total:       %ld\n",total);  stdputstr(buf);
-    sprintf(buf,"Collections: %d\n",gccalls); stdputstr(buf);
-}
-
-/* xgc - xlisp function to force garbage collection */
-LVAL xgc(void)
-{
-    /* make sure there aren't any arguments */
-    xllastarg();
-
-    /* garbage collect */
-    gc();
-
-    /* return nil */
-    return (NIL);
-}
-
-/* xexpand - xlisp function to force memory expansion */
-LVAL xexpand(void)
-{
-    LVAL num;
-    int n,i;
-
-    /* get the new number to allocate */
-    if (moreargs()) {
-        num = xlgafixnum();
-        n = getfixnum(num);
-    }
-    else
-        n = 1;
-    xllastarg();
-
-    /* allocate more segments */
-    for (i = 0; i < n; i++)
-        if (!addseg())
-            break;
-
-    /* return the number of segments added */
-    return (cvfixnum((FIXTYPE)i));
-}
-
-/* xalloc - xlisp function to set the number of nodes to allocate */
-LVAL xalloc(void)
-{
-    int n,oldn;
-    LVAL num;
-
-    /* get the new number to allocate */
-    num = xlgafixnum();
-    n = getfixnum(num);
-
-    /* make sure there aren't any more arguments */
-    xllastarg();
-
-    /* set the new number of nodes to allocate */
-    oldn = anodes;
-    anodes = n;
-
-    /* return the old number */
-    return (cvfixnum((FIXTYPE)oldn));
-}
-
-/* xmem - xlisp function to print memory statistics */
-LVAL xmem(void)
-{
-    /* allow one argument for compatiblity with common lisp */
-    if (moreargs()) xlgetarg();
-    xllastarg();
-
-    /* print the statistics */
-    stats();
-
-    /* return nil */
-    return (NIL);
-}
-
-/* xinfo - show information on control-t */
-LVAL xinfo()
-{
-    char buf[80];
-
-    sprintf(buf,"\n[ Free: %d, GC calls: %d, Total: %d",
-            (int)nfree, (int)gccalls, (int)total);
-    stdputstr(buf);
-    print_local_gc_info();
-    stdputstr("]\n");
-    return NULL;
-}
-
-
-#ifdef SAVERESTORE
-/* xsave - save the memory image */
-LVAL xsave(void)
-{
-    unsigned char *name;
-
-    /* get the file name, verbose flag and print flag */
-    name = getstring(xlgetfname());
-    xllastarg();
-
-    /* save the memory image */
-    return (xlisave((char *) name) ? s_true : NIL);
-}
-
-/* xrestore - restore a saved memory image */
-LVAL xrestore(void)
-{
-    extern jmp_buf top_level;
-    unsigned char *name;
-
-    /* get the file name, verbose flag and print flag */
-    name = getstring(xlgetfname());
-    xllastarg();
-
-    /* restore the saved memory image */
-    if (!xlirestore((char *) name))
-        return (NIL);
-
-    /* return directly to the top level */
-    stdputstr("[ returning to the top level ]\n");
-    longjmp(top_level,1);
-}
-#endif
-
-/* xlminit - initialize the dynamic memory module */
-void xlminit(void)
-{
-    LVAL p;
-    int i;
-
-    /* initialize our internal variables */
-    segs = lastseg = NULL;
-    nnodes = nfree = total = 0L;
-    nsegs = gccalls = 0;
-    anodes = NNODES;
-    fnodes = NIL;
-
-    /* allocate the fixnum segment */
-    if ((fixseg = newsegment(SFIXSIZE)) == NULL)
-        xlfatal("insufficient memory");
-
-    /* initialize the fixnum segment */
-    p = &fixseg->sg_nodes[0];
-    for (i = SFIXMIN; i <= SFIXMAX; ++i) {
-        p->n_type = FIXNUM;
-        p->n_fixnum = i;
-        ++p;
-    }
-
-    /* allocate the character segment */
-    if ((charseg = newsegment(CHARSIZE)) == NULL)
-        xlfatal("insufficient memory");
-
-    /* initialize the character segment */
-    p = &charseg->sg_nodes[0];
-    for (i = CHARMIN; i <= CHARMAX; ++i) {
-        p->n_type = CHAR;
-        p->n_chcode = i;
-        ++p;
-    }
-
-    /* initialize structures that are marked by the collector */
-    obarray = xlenv = xlfenv = xldenv = NIL;
-    s_gcflag = s_gchook = NIL;
-
-    /* allocate the evaluation stack */
-    if ((xlstkbase = (LVAL **)malloc(EDEPTH * sizeof(LVAL *))) == NULL)
-        xlfatal("insufficient memory");
-    xlstack = xlstktop = xlstkbase + EDEPTH;
-
-    /* allocate the argument stack */
-    if ((xlargstkbase = (LVAL *)malloc(ADEPTH * sizeof(LVAL))) == NULL)
-        xlfatal("insufficient memory");
-    xlargstktop = xlargstkbase + ADEPTH;
-    xlfp = xlsp = xlargstkbase;
-    *xlsp++ = NIL;
-}
-
diff --git a/lib-src/libnyquist/xlisp/xldmem.h b/lib-src/libnyquist/xlisp/xldmem.h
deleted file mode 100644
index 1710f1f..0000000
--- a/lib-src/libnyquist/xlisp/xldmem.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/* xldmem.h - dynamic memory definitions */
-/*	Copyright (c) 1987, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* small fixnum range */
-#define SFIXMIN		(-128)
-#define SFIXMAX		255
-#define SFIXSIZE	384
-
-/* character range */
-#define CHARMIN		0
-#define CHARMAX		255
-#define CHARSIZE	256
-
-/* new node access macros */
-#define ntype(x)	((x)->n_type)
-
-/* cons access macros */
-#define car(x)		((x)->n_car)
-#define cdr(x)		((x)->n_cdr)
-#define rplaca(x,y)	((x)->n_car = (y))
-#define rplacd(x,y)	((x)->n_cdr = (y))
-
-/* symbol access macros */
-#define getvalue(x)	 ((x)->n_vdata[0])
-#define setvalue(x,v)	 ((x)->n_vdata[0] = (v))
-#define getfunction(x)	 ((x)->n_vdata[1])
-#define setfunction(x,v) ((x)->n_vdata[1] = (v))
-#define getplist(x)	 ((x)->n_vdata[2])
-#define setplist(x,v)	 ((x)->n_vdata[2] = (v))
-#define getpname(x)	 ((x)->n_vdata[3])
-#define setpname(x,v)	 ((x)->n_vdata[3] = (v))
-#define SYMSIZE		4
-
-/* closure access macros */
-#define getname(x)     	((x)->n_vdata[0])
-#define setname(x,v)   	((x)->n_vdata[0] = (v))
-#define gettype(x)    	((x)->n_vdata[1])
-#define settype(x,v)  	((x)->n_vdata[1] = (v))
-#define getargs(x)     	((x)->n_vdata[2])
-#define setargs(x,v)   	((x)->n_vdata[2] = (v))
-#define getoargs(x)    	((x)->n_vdata[3])
-#define setoargs(x,v)  	((x)->n_vdata[3] = (v))
-#define getrest(x)     	((x)->n_vdata[4])
-#define setrest(x,v)   	((x)->n_vdata[4] = (v))
-#define getkargs(x)    	((x)->n_vdata[5])
-#define setkargs(x,v)  	((x)->n_vdata[5] = (v))
-#define getaargs(x)    	((x)->n_vdata[6])
-#define setaargs(x,v)  	((x)->n_vdata[6] = (v))
-#define getbody(x)     	((x)->n_vdata[7])
-#define setbody(x,v)   	((x)->n_vdata[7] = (v))
-/* use closure_getenv to avoid Unix getenv conflict */
-#define closure_getenv(x)	((x)->n_vdata[8])
-#define setenv(x,v)	((x)->n_vdata[8] = (v))
-#define getfenv(x)	((x)->n_vdata[9])
-#define setfenv(x,v)	((x)->n_vdata[9] = (v))
-#define getlambda(x)	((x)->n_vdata[10])
-#define setlambda(x,v)	((x)->n_vdata[10] = (v))
-#define CLOSIZE		11
-
-/* vector access macros */
-#define getsize(x)	((x)->n_vsize)
-#define getelement(x,i)	((x)->n_vdata[i])
-#define setelement(x,i,v) ((x)->n_vdata[i] = (v))
-
-/* object access macros */
-#define getclass(x)	((x)->n_vdata[0])
-#define getivar(x,i)	((x)->n_vdata[i+1])
-#define setivar(x,i,v)	((x)->n_vdata[i+1] = (v))
-
-/* subr/fsubr access macros */
-#define getsubr(x)	((x)->n_subr)
-#define getoffset(x)	((x)->n_offset)
-
-/* fixnum/flonum/char access macros */
-#define getfixnum(x)    ((x)->n_fixnum)
-#define getflonum(x)	((x)->n_flonum)
-#define getchcode(x)	((x)->n_chcode)
-
-/* string access macros */
-#define getstring(x)	((x)->n_string)
-#define getslength(x)	((x)->n_strlen)
-
-/* file stream access macros */
-#define getfile(x)	((x)->n_fp)
-#define setfile(x,v)	((x)->n_fp = (v))
-#define getsavech(x)	((x)->n_savech)
-#define setsavech(x,v)	((x)->n_savech = (v))
-
-/* unnamed stream access macros */
-#define gethead(x)	((x)->n_car)
-#define sethead(x,v)	((x)->n_car = (v))
-#define gettail(x)	((x)->n_cdr)
-#define settail(x,v)	((x)->n_cdr = (v))
-
-/* extern access macros */
-#define getdesc(x)	((x)->n_desc)
-#define setdesc(x,d)	((x)->n_desc = (d))
-#define getinst(x)	((x)->n_inst)
-#define setinst(x,i)	((x)->n_inst = (i))
-
-/* node types */
-#define FREE_NODE	0
-#define SUBR	1
-#define FSUBR	2
-#define CONS	3
-#define SYMBOL	4
-#define FIXNUM	5
-#define FLONUM	6
-#define STRING	7
-#define OBJECT	8
-#define STREAM	9
-#define VECTOR	10
-#define CLOSURE	11
-#define CHAR	12
-#define USTREAM	13
-#define EXTERN  14
-
-/* node flags */
-#define WATCH   4
-
-/* subr/fsubr node */
-#define n_subr		n_info.n_xsubr.xs_subr
-#define n_offset	n_info.n_xsubr.xs_offset
-
-/* cons node */
-#define n_car		n_info.n_xcons.xc_car
-#define n_cdr		n_info.n_xcons.xc_cdr
-
-/* fixnum node */
-#define n_fixnum	n_info.n_xfixnum.xf_fixnum
-
-/* flonum node */
-#define n_flonum	n_info.n_xflonum.xf_flonum
-/* character node */
-#define n_chcode	n_info.n_xchar.xc_chcode
-
-/* string node */
-#define n_string	n_info.n_xstring.xs_string
-#define n_strlen	n_info.n_xstring.xs_length
-
-/* stream node */
-#define n_fp		n_info.n_xstream.xs_fp
-#define n_savech	n_info.n_xstream.xs_savech
-
-/* vector/object node */
-#define n_vsize		n_info.n_xvector.xv_size
-#define n_vdata		n_info.n_xvector.xv_data
-
-/* extern node */
-#define n_desc		n_info.n_xextern.xe_desc
-#define n_inst		n_info.n_xextern.xe_inst
-
-/* xtype_desc structure */
-typedef struct xtype_desc_struct {
-    char *type_name;
-    struct node *type_symbol;
-    void (*free_meth)();
-    void (*print_meth)();
-    void (*save_meth)();
-    unsigned char * (*restore_meth)();
-    void (*mark_meth)();
-} *xtype_desc;
-
-/* node structure */
-typedef struct node {
-    char n_type;		/* type of node */
-    char n_flags;		/* flag bits */
-    union ninfo { 		/* value */
-        struct xsubr {		/* subr/fsubr node */
-            struct node *(*xs_subr)(void);	/* function pointer */
-            int xs_offset;		/* offset into funtab */
-        } n_xsubr;
-        struct xcons {		/* cons node */
-            struct node *xc_car;	/* the car pointer */
-            struct node *xc_cdr;	/* the cdr pointer */
-        } n_xcons;
-        struct xfixnum {	/* fixnum node */
-            FIXTYPE xf_fixnum;		/* fixnum value */
-        } n_xfixnum;
-        struct xflonum {	/* flonum node */
-            FLOTYPE xf_flonum;		/* flonum value */
-        } n_xflonum;
-        struct xchar {		/* character node */
-            int xc_chcode;		/* character code */
-        } n_xchar;
-        struct xstring {	/* string node */
-            int xs_length;		/* string length */
-            unsigned char *xs_string;	/* string pointer */
-        } n_xstring;
-        struct xstream { 	/* stream node */
-            FILE *xs_fp;		/* the file pointer */
-            int xs_savech;		/* lookahead character */
-        } n_xstream;
-        struct xvector {	/* vector/object/symbol/structure node */
-            int xv_size;		/* vector size */
-            struct node **xv_data;	/* vector data */
-        } n_xvector;
-        struct xextern {	/* external data type */
-            struct xtype_desc_struct *xe_desc;	/* ptr to type descriptor */
-            unsigned char *xe_inst;		/* pointer to external data */
-        } n_xextern;
-    } n_info;
-} *LVAL;
-
-/* memory segment structure definition */
-typedef struct segment {
-    int sg_size;
-    struct segment *sg_next;
-    struct node sg_nodes[1];
-} SEGMENT;
-
-extern xtype_desc create_desc();	/* initialize a type descriptor */
-
diff --git a/lib-src/libnyquist/xlisp/xleval.c b/lib-src/libnyquist/xlisp/xleval.c
deleted file mode 100644
index 174bfd9..0000000
--- a/lib-src/libnyquist/xlisp/xleval.c
+++ /dev/null
@@ -1,886 +0,0 @@
-/* xleval - xlisp evaluator */
-/*      Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use       */
-
-/* HISTORY 
-  28 Apr 03  DM   eliminated some compiler warnings
-  12 Oct 90  RBD  added profiling support 
- */
-
-#include "string.h"
-#include "xlisp.h"
-
-/* macro to check for lambda list keywords */
-#define iskey(s) ((s) == lk_optional \
-               || (s) == lk_rest \
-               || (s) == lk_key \
-               || (s) == lk_aux \
-               || (s) == lk_allow_other_keys)
-
-/* macros to handle tracing */
-#define trenter(sym,argc,argv) {if (sym) doenter(sym,argc,argv);}
-#define trexit(sym,val) {if (sym) doexit(sym,val);}
-
-
-
-/* forward declarations */
-FORWARD LOCAL LVAL evalhook(LVAL expr);
-FORWARD LOCAL LVAL evform(LVAL form);
-FORWARD LOCAL LVAL evfun(LVAL fun, int argc, LVAL *argv);
-FORWARD LVAL xlclose(LVAL name, LVAL type, LVAL fargs, LVAL body, LVAL env, LVAL fenv);
-FORWARD LOCAL int member( LVAL x,  LVAL list);
-FORWARD LOCAL int evpushargs(LVAL fun, LVAL args);
-FORWARD LOCAL void doenter(LVAL sym, int argc, LVAL *argv);
-FORWARD LOCAL void doexit(LVAL sym, LVAL val);
-FORWARD LOCAL void badarglist(void);
-
-/* profiling extensions by RBD */
-extern LVAL s_profile, profile_fixnum;
-extern FIXTYPE *profile_count_ptr, profile_flag;
-
-/* xleval - evaluate an xlisp expression (checking for *evalhook*) */
-LVAL xleval(LVAL expr)
-{
-    /* check for control codes */
-    if (--xlsample <= 0) {
-        xlsample = SAMPLE;
-        oscheck();
-    }
-
-    /* check for *evalhook* */
-    if (getvalue(s_evalhook))
-        return (evalhook(expr));
-
-    /* check for nil */
-    if (null(expr))
-        return (NIL);
-
-    /* dispatch on the node type */
-    switch (ntype(expr)) {
-    case CONS:
-        return (evform(expr));
-    case SYMBOL:
-        return (xlgetvalue(expr));
-    default:
-        return (expr);
-    }
-}
-
-/* xlxeval - evaluate an xlisp expression (bypassing *evalhook*) */
-LVAL xlxeval(LVAL expr)
-{
-    /* check for nil */
-    if (null(expr))
-        return (NIL);
-
-    /* dispatch on node type */
-    switch (ntype(expr)) {
-    case CONS:
-        return (evform(expr));
-    case SYMBOL:
-        return (xlgetvalue(expr));
-    default:
-        return (expr);
-    }
-}
-
-/* xlapply - apply a function to arguments (already on the stack) */
-LVAL xlapply(int argc)
-{
-    LVAL *oldargv,fun,val=NULL;
-    LVAL funname;
-    LVAL old_profile_fixnum = profile_fixnum;
-    FIXTYPE *old_profile_count_ptr = profile_count_ptr;
-    int oldargc;
-
-    /* get the function */
-    fun = xlfp[1];
-
-    /* get the functional value of symbols */
-    if (symbolp(fun)) {
-        funname = fun;  /* save it */
-        while ((val = getfunction(fun)) == s_unbound)
-            xlfunbound(fun);
-        fun = xlfp[1] = val;
-
-        if (profile_flag && atomp(funname)) {
-            LVAL profile_prop = findprop(funname, s_profile);
-            if (null(profile_prop)) {
-                /* make a new fixnum, don't use cvfixnum because
-                   it would return shared pointer to zero, but we
-                   are going to modify this integer in place --
-                   dangerous but efficient.
-                 */
-                profile_fixnum = newnode(FIXNUM);
-                profile_fixnum->n_fixnum = 0;
-                setplist(funname, cons(s_profile,
-                                       cons(profile_fixnum,
-                                            getplist(funname))));
-                setvalue(s_profile, cons(funname, getvalue(s_profile)));
-            } else profile_fixnum = car(profile_prop);
-            profile_count_ptr = &getfixnum(profile_fixnum);
-        }
-    }
-
-    /* check for nil */
-    if (null(fun))
-        xlerror("bad function",fun);
-
-    /* dispatch on node type */
-    switch (ntype(fun)) {
-    case SUBR:
-        oldargc = xlargc;
-        oldargv = xlargv;
-        xlargc = argc;
-        xlargv = xlfp + 3;
-        val = (*getsubr(fun))();
-        xlargc = oldargc;
-        xlargv = oldargv;
-        break;
-    case CONS:
-        if (!consp(cdr(fun)))
-            xlerror("bad function",fun);
-        if (car(fun) == s_lambda) {
-            fun = xlclose(NIL,
-                          s_lambda,
-                          car(cdr(fun)),
-                          cdr(cdr(fun)),
-                          xlenv,xlfenv);
-        } else
-            xlerror("bad function",fun);
-        /**** fall through into the next case ****/
-    case CLOSURE:
-        if (gettype(fun) != s_lambda)
-            xlerror("bad function",fun);
-        val = evfun(fun,argc,xlfp+3);
-        break;
-    default:
-        xlerror("bad function",fun);
-    }
-
-    /* restore original profile counting state */
-    profile_fixnum = old_profile_fixnum;
-    profile_count_ptr = old_profile_count_ptr;
-
-    /* remove the call frame */
-    xlsp = xlfp;
-    xlfp = xlfp - (int)getfixnum(*xlfp);
-
-    /* return the function value */
-    return (val);
-}
-
-/* evform - evaluate a form */
-LOCAL LVAL evform(LVAL form)
-{
-    LVAL fun,args,val=NULL,type;
-    LVAL tracing=NIL;
-    LVAL *argv;
-    LVAL old_profile_fixnum = profile_fixnum;
-    FIXTYPE *old_profile_count_ptr = profile_count_ptr;
-    LVAL funname;
-    int argc;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(fun);
-    xlsave(args);
-
-    (*profile_count_ptr)++; /* increment profile counter */
-
-    /* get the function and the argument list */
-    fun = car(form);
-    args = cdr(form);
-
-    funname = fun;
-
-    /* get the functional value of symbols */
-    if (symbolp(fun)) {
-        if (getvalue(s_tracelist) && member(fun,getvalue(s_tracelist)))
-            tracing = fun;
-        fun = xlgetfunction(fun);
-    }
-
-    /* check for nil */
-    if (null(fun))
-        xlerror("bad function",NIL);
-
-    /* dispatch on node type */
-    switch (ntype(fun)) {
-    case SUBR:
-        argv = xlargv;
-        argc = xlargc;
-        xlargc = evpushargs(fun,args);
-        xlargv = xlfp + 3;
-        trenter(tracing,xlargc,xlargv);
-        val = (*getsubr(fun))();
-        trexit(tracing,val);
-        xlsp = xlfp;
-        xlfp = xlfp - (int)getfixnum(*xlfp);
-        xlargv = argv;
-        xlargc = argc;
-        break;
-    case FSUBR:
-        argv = xlargv;
-        argc = xlargc;
-        xlargc = pushargs(fun,args);
-        xlargv = xlfp + 3;
-        val = (*getsubr(fun))();
-        xlsp = xlfp;
-        xlfp = xlfp - (int)getfixnum(*xlfp);
-        xlargv = argv;
-        xlargc = argc;
-        break;
-    case CONS:
-        if (!consp(cdr(fun)))
-            xlerror("bad function",fun);
-        if ((type = car(fun)) == s_lambda)
-             fun = xlclose(NIL,
-                           s_lambda,
-                           car(cdr(fun)),
-                           cdr(cdr(fun)),
-                           xlenv,xlfenv);
-        else
-            xlerror("bad function",fun);
-        /**** fall through into the next case ****/
-    case CLOSURE:
-        /* do profiling */
-        if (profile_flag && atomp(funname)) {
-            LVAL profile_prop = findprop(funname, s_profile);
-            if (null(profile_prop)) {
-                /* make a new fixnum, don't use cvfixnum because
-                   it would return shared pointer to zero, but we
-                   are going to modify this integer in place --
-                   dangerous but efficient.
-                 */
-                profile_fixnum = newnode(FIXNUM);
-                profile_fixnum->n_fixnum = 0;
-                setplist(funname, cons(s_profile,
-                                       cons(profile_fixnum,
-                                            getplist(funname))));
-                setvalue(s_profile, cons(funname, getvalue(s_profile)));
-            } else profile_fixnum = car(profile_prop);
-            profile_count_ptr = &getfixnum(profile_fixnum);
-        }
-
-        if (gettype(fun) == s_lambda) {
-            argc = evpushargs(fun,args);
-            argv = xlfp + 3;
-            trenter(tracing,argc,argv);
-            val = evfun(fun,argc,argv);
-            trexit(tracing,val);
-            xlsp = xlfp;
-            xlfp = xlfp - (int)getfixnum(*xlfp);
-        }
-        else {
-            macroexpand(fun,args,&fun);
-            val = xleval(fun);
-        }
-        profile_fixnum = old_profile_fixnum;
-        profile_count_ptr = old_profile_count_ptr;
-        break;
-    default:
-        xlerror("bad function",fun);
-    }
-
-    /* restore the stack */
-    xlpopn(2);
-
-    /* return the result value */
-    return (val);
-}
-
-/* xlexpandmacros - expand macros in a form */
-LVAL xlexpandmacros(LVAL form)
-{
-    LVAL fun,args;
-    
-    /* protect some pointers */
-    xlstkcheck(3);
-    xlprotect(form);
-    xlsave(fun);
-    xlsave(args);
-
-    /* expand until the form isn't a macro call */
-    while (consp(form)) {
-        fun = car(form);                /* get the macro name */
-        args = cdr(form);               /* get the arguments */
-        if (!symbolp(fun) || !fboundp(fun))
-            break;
-        fun = xlgetfunction(fun);       /* get the expansion function */
-        if (!macroexpand(fun,args,&form))
-            break;
-    }
-
-    /* restore the stack and return the expansion */
-    xlpopn(3);
-    return (form);
-}
-
-/* macroexpand - expand a macro call */
-int macroexpand(LVAL fun, LVAL args, LVAL *pval)
-{
-    LVAL *argv;
-    int argc;
-    
-    /* make sure it's really a macro call */
-    if (!closurep(fun) || gettype(fun) != s_macro)
-        return (FALSE);
-        
-    /* call the expansion function */
-    argc = pushargs(fun,args);
-    argv = xlfp + 3;
-    *pval = evfun(fun,argc,argv);
-    xlsp = xlfp;
-    xlfp = xlfp - (int)getfixnum(*xlfp);
-    return (TRUE);
-}
-
-/* evalhook - call the evalhook function */
-LOCAL LVAL evalhook(LVAL expr)
-{
-    LVAL *newfp,olddenv,val;
-
-    /* create the new call frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(getvalue(s_evalhook));
-    pusharg(cvfixnum((FIXTYPE)2));
-    pusharg(expr);
-    pusharg(cons(xlenv,xlfenv));
-    xlfp = newfp;
-
-    /* rebind the hook functions to nil */
-    olddenv = xldenv;
-    xldbind(s_evalhook,NIL);
-    xldbind(s_applyhook,NIL);
-
-    /* call the hook function */
-    val = xlapply(2);
-
-    /* unbind the symbols */
-    xlunbind(olddenv);
-
-    /* return the value */
-    return (val);
-}
-
-/* evpushargs - evaluate and push a list of arguments */
-LOCAL int evpushargs(LVAL fun, LVAL args)
-{
-    LVAL *newfp;
-    int argc;
-    
-    /* protect the argument list */
-    xlprot1(args);
-
-    /* build a new argument stack frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(fun);
-    pusharg(NIL); /* will be argc */
-
-    /* evaluate and push each argument */
-    for (argc = 0; consp(args); args = cdr(args), ++argc)
-        pusharg(xleval(car(args)));
-
-    /* establish the new stack frame */
-    newfp[2] = cvfixnum((FIXTYPE)argc);
-    xlfp = newfp;
-    
-    /* restore the stack */
-    xlpop();
-
-    /* return the number of arguments */
-    return (argc);
-}
-
-/* pushargs - push a list of arguments */
-int pushargs(LVAL fun, LVAL args)
-{
-    LVAL *newfp;
-    int argc;
-    
-    /* build a new argument stack frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(fun);
-    pusharg(NIL); /* will be argc */
-
-    /* push each argument */
-    for (argc = 0; consp(args); args = cdr(args), ++argc)
-        pusharg(car(args));
-
-    /* establish the new stack frame */
-    newfp[2] = cvfixnum((FIXTYPE)argc);
-    xlfp = newfp;
-
-    /* return the number of arguments */
-    return (argc);
-}
-
-/* makearglist - make a list of the remaining arguments */
-LVAL makearglist(int argc, LVAL *argv)
-{
-    LVAL list,this,last;
-    xlsave1(list);
-    for (last = NIL; --argc >= 0; last = this) {
-        this = cons(*argv++,NIL);
-        if (last) rplacd(last,this);
-        else list = this;
-        last = this;
-    }
-    xlpop();
-    return (list);
-}
-
-/* evfun - evaluate a function */
-LOCAL LVAL evfun(LVAL fun, int argc, LVAL *argv)
-{
-    LVAL oldenv,oldfenv,cptr,name,val;
-    XLCONTEXT cntxt;
-
-    /* protect some pointers */
-    xlstkcheck(4);
-    xlsave(oldenv);
-    xlsave(oldfenv);
-    xlsave(cptr);
-    xlprotect(fun);     /* (RBD) Otherwise, fun is unprotected */
-
-    /* create a new environment frame */
-    oldenv = xlenv;
-    oldfenv = xlfenv;
-    xlenv = xlframe(closure_getenv(fun));
-    xlfenv = getfenv(fun);
-
-    /* bind the formal parameters */
-    xlabind(fun,argc,argv);
-
-    /* setup the implicit block */
-    if ((name = getname(fun)))
-        xlbegin(&cntxt,CF_RETURN,name);
-
-    /* execute the block */
-    if (name && setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else
-        for (val = NIL, cptr = getbody(fun); consp(cptr); cptr = cdr(cptr))
-            val = xleval(car(cptr));
-
-    /* finish the block context */
-    if (name)
-        xlend(&cntxt);
-
-    /* restore the environment */
-    xlenv = oldenv;
-    xlfenv = oldfenv;
-
-    /* restore the stack */
-    xlpopn(4);
-
-    /* return the result value */
-    return (val);
-}
-
-/* xlclose - create a function closure */
-LVAL xlclose(LVAL name, LVAL type, LVAL fargs, LVAL body, LVAL env, LVAL fenv)
-{
-    LVAL closure,key=NULL,arg,def,svar,new,last;
-    char keyname[STRMAX+2];
-
-    /* protect some pointers */
-    xlsave1(closure);
-
-    /* create the closure object */
-    closure = newclosure(name,type,env,fenv);
-    setlambda(closure,fargs);
-    setbody(closure,body);
-
-    /* handle each required argument */
-    last = NIL;
-    while (consp(fargs) && (arg = car(fargs)) && !iskey(arg)) {
-
-        /* make sure the argument is a symbol */
-        if (!symbolp(arg))
-            badarglist();
-
-        /* create a new argument list entry */
-        new = cons(arg,NIL);
-
-        /* link it into the required argument list */
-        if (last)
-            rplacd(last,new);
-        else
-            setargs(closure,new);
-        last = new;
-
-        /* move the formal argument list pointer ahead */
-        fargs = cdr(fargs);
-    }
-
-    /* check for the '&optional' keyword */
-    if (consp(fargs) && car(fargs) == lk_optional) {
-        fargs = cdr(fargs);
-
-        /* handle each optional argument */
-        last = NIL;
-        while (consp(fargs) && (arg = car(fargs)) && !iskey(arg)) {
-
-            /* get the default expression and specified-p variable */
-            def = svar = NIL;
-            if (consp(arg)) {
-                if ((def = cdr(arg))) {
-                    if (consp(def)) {
-                        if ((svar = cdr(def))) {
-                            if (consp(svar)) {
-                                svar = car(svar);
-                                if (!symbolp(svar))
-                                    badarglist();
-                            }
-                            else
-                                badarglist();
-                        }
-                        def = car(def);
-                    }
-                    else
-                        badarglist();
-                }
-                arg = car(arg);
-            }
-
-            /* make sure the argument is a symbol */
-            if (!symbolp(arg))
-                badarglist();
-
-            /* create a fully expanded optional expression */
-            new = cons(cons(arg,cons(def,cons(svar,NIL))),NIL);
-
-            /* link it into the optional argument list */
-            if (last)
-                rplacd(last,new);
-            else
-                setoargs(closure,new);
-            last = new;
-                
-            /* move the formal argument list pointer ahead */
-            fargs = cdr(fargs);
-        }
-    }
-
-    /* check for the '&rest' keyword */
-    if (consp(fargs) && car(fargs) == lk_rest) {
-        fargs = cdr(fargs);
-
-        /* get the &rest argument */
-        if (consp(fargs) && (arg = car(fargs)) && !iskey(arg) && symbolp(arg))
-            setrest(closure,arg);
-        else
-            badarglist();
-
-        /* move the formal argument list pointer ahead */
-        fargs = cdr(fargs);
-    }
-
-    /* check for the '&key' keyword */
-    if (consp(fargs) && car(fargs) == lk_key) {
-        fargs = cdr(fargs);
-
-         /* handle each key argument */
-        last = NIL;
-        while (consp(fargs) && (arg = car(fargs)) && !iskey(arg)) {
-
-            /* get the default expression and specified-p variable */
-            def = svar = NIL;
-            if (consp(arg)) {
-                if ((def = cdr(arg))) {
-                    if (consp(def)) {
-                        if ((svar = cdr(def))) {
-                            if (consp(svar)) {
-                                svar = car(svar);
-                                if (!symbolp(svar))
-                                    badarglist();
-                            }
-                            else
-                                badarglist();
-                        }
-                        def = car(def);
-                    }
-                    else
-                        badarglist();
-                }
-                arg = car(arg);
-            }
-
-            /* get the keyword and the variable */
-            if (consp(arg)) {
-                key = car(arg);
-                if (!symbolp(key))
-                    badarglist();
-                if ((arg = cdr(arg))) {
-                    if (consp(arg))
-                        arg = car(arg);
-                    else
-                        badarglist();
-                }
-            }
-            else if (symbolp(arg)) {
-                strcpy(keyname,":");
-                strcat(keyname,(char *) getstring(getpname(arg)));
-                key = xlenter(keyname);
-            }
-
-            /* make sure the argument is a symbol */
-            if (!symbolp(arg))
-                badarglist();
-
-            /* create a fully expanded key expression */
-            new = cons(cons(key,cons(arg,cons(def,cons(svar,NIL)))),NIL);
-
-            /* link it into the optional argument list */
-            if (last)
-                rplacd(last,new);
-            else
-                setkargs(closure,new);
-            last = new;
-
-            /* move the formal argument list pointer ahead */
-            fargs = cdr(fargs);
-        }
-    }
-
-    /* check for the '&allow-other-keys' keyword */
-    if (consp(fargs) && car(fargs) == lk_allow_other_keys)
-        fargs = cdr(fargs);     /* this is the default anyway */
-
-    /* check for the '&aux' keyword */
-    if (consp(fargs) && car(fargs) == lk_aux) {
-        fargs = cdr(fargs);
-
-        /* handle each aux argument */
-        last = NIL;
-        while (consp(fargs) && (arg = car(fargs)) && !iskey(arg)) {
-
-            /* get the initial value */
-            def = NIL;
-            if (consp(arg)) {
-                if ((def = cdr(arg))) {
-                    if (consp(def))
-                        def = car(def);
-                    else
-                        badarglist();
-                }
-                arg = car(arg);
-            }
-
-            /* make sure the argument is a symbol */
-            if (!symbolp(arg))
-                badarglist();
-
-            /* create a fully expanded aux expression */
-            new = cons(cons(arg,cons(def,NIL)),NIL);
-
-            /* link it into the aux argument list */
-            if (last)
-                rplacd(last,new);
-            else
-                setaargs(closure,new);
-            last = new;
-
-            /* move the formal argument list pointer ahead */
-            fargs = cdr(fargs);
-        }
-    }
-
-    /* make sure this is the end of the formal argument list */
-    if (fargs)
-        badarglist();
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the new closure */
-    return (closure);
-}
-
-/* xlabind - bind the arguments for a function */
-void xlabind(LVAL fun, int argc, LVAL *argv)
-{
-    LVAL *kargv,fargs,key,arg,def,svar,p;
-    int rargc,kargc;
-    /* protect some pointers */
-    xlsave1(def);
-
-    /* bind each required argument */
-    for (fargs = getargs(fun); fargs; fargs = cdr(fargs)) {
-        /* make sure there is an actual argument */
-        if (--argc < 0)
-            xlfail("too few arguments");
-        
-        /* bind the formal variable to the argument value */
-        xlbind(car(fargs),*argv++);
-    }
-
-    /* bind each optional argument */
-    for (fargs = getoargs(fun); fargs; fargs = cdr(fargs)) {
-
-        /* get argument, default and specified-p variable */
-        p = car(fargs);
-        arg = car(p); p = cdr(p);
-        def = car(p); p = cdr(p);
-        svar = car(p);
-
-        /* bind the formal variable to the argument value */
-        if (--argc >= 0) {
-            xlbind(arg,*argv++);
-            if (svar) xlbind(svar,s_true);
-        }
-
-        /* bind the formal variable to the default value */
-        else {
-            if (def) def = xleval(def);
-            xlbind(arg,def);
-            if (svar) xlbind(svar,NIL);
-        }
-    }
-
-    /* save the count of the &rest of the argument list */
-    rargc = argc;
-    
-    /* handle '&rest' argument */
-    if ((arg = getrest(fun))) {
-        def = makearglist(argc,argv);
-        xlbind(arg,def);
-        argc = 0;
-    }
-
-    /* handle '&key' arguments */
-    if ((fargs = getkargs(fun))) {
-        for (; fargs; fargs = cdr(fargs)) {
-
-            /* get keyword, argument, default and specified-p variable */
-            p = car(fargs);
-            key = car(p); p = cdr(p);
-            arg = car(p); p = cdr(p);
-            def = car(p); p = cdr(p);
-            svar = car(p);
-
-            /* look for the keyword in the actual argument list */
-            for (kargv = argv, kargc = rargc; (kargc -= 2) >= 0; kargv += 2)
-                if (*kargv == key)
-                    break;
-
-            /* bind the formal variable to the argument value */
-            if (kargc >= 0) {
-                xlbind(arg,*++kargv);
-                if (svar) xlbind(svar,s_true);
-            }
-
-            /* bind the formal variable to the default value */
-            else {
-                if (def) def = xleval(def);
-                xlbind(arg,def);
-                if (svar) xlbind(svar,NIL);
-            }
-        }
-        argc = 0;
-    }
-
-    /* check for the '&aux' keyword */
-    for (fargs = getaargs(fun); fargs; fargs = cdr(fargs)) {
-
-        /* get argument and default */
-        p = car(fargs);
-        arg = car(p); p = cdr(p);
-        def = car(p);
-
-        /* bind the auxiliary variable to the initial value */
-        if (def) def = xleval(def);
-        xlbind(arg,def);
-    }
-
-    /* make sure there aren't too many arguments */
-    if (argc > 0)
-        xlfail("too many arguments");
-
-    /* restore the stack */
-    xlpop();
-}
-
-/* doenter - print trace information on function entry */
-LOCAL void doenter(LVAL sym, int argc, LVAL *argv)
-{
-    extern int xltrcindent;
-    int i;
-    
-    /* indent to the current trace level */
-    for (i = 0; i < xltrcindent; ++i)
-        trcputstr(" ");
-    ++xltrcindent;
-
-    /* display the function call */
-    sprintf(buf,"Entering: %s, Argument list: (",getstring(getpname(sym)));
-    trcputstr(buf);
-    while (--argc >= 0) {
-        trcprin1(*argv++);
-        if (argc) trcputstr(" ");
-    }
-    trcputstr(")\n");
-}
-
-/* doexit - print trace information for function/macro exit */
-LOCAL void doexit(LVAL sym, LVAL val)
-{
-    extern int xltrcindent;
-    int i;
-    
-    /* indent to the current trace level */
-    --xltrcindent;
-    for (i = 0; i < xltrcindent; ++i)
-        trcputstr(" ");
-    
-    /* display the function value */
-    sprintf(buf,"Exiting: %s, Value: ",getstring(getpname(sym)));
-    trcputstr(buf);
-    trcprin1(val);
-    trcputstr("\n");
-}
-
-/* member - is 'x' a member of 'list'? */
-LOCAL int member( LVAL x,  LVAL list)
-{
-    for (; consp(list); list = cdr(list))
-        if (x == car(list))
-            return (TRUE);
-    return (FALSE);
-}
-
-/* xlunbound - signal an unbound variable error */
-void xlunbound(LVAL sym)
-{
-    xlcerror("try evaluating symbol again","unbound variable",sym);
-}
-
-/* xlfunbound - signal an unbound function error */
-void xlfunbound(LVAL sym)
-{
-    xlcerror("try evaluating symbol again","unbound function",sym);
-}
-
-/* xlstkoverflow - signal a stack overflow error */
-void xlstkoverflow(void)
-{
-    xlabort("evaluation stack overflow");
-}
-
-/* xlargstkoverflow - signal an argument stack overflow error */
-void xlargstkoverflow(void)
-{
-    xlabort("argument stack overflow");
-}
-
-/* badarglist - report a bad argument list error */
-LOCAL void badarglist(void)
-{
-    xlfail("bad formal argument list");
-}
diff --git a/lib-src/libnyquist/xlisp/xlextstart.c b/lib-src/libnyquist/xlisp/xlextstart.c
deleted file mode 100644
index e69de29..0000000
diff --git a/lib-src/libnyquist/xlisp/xlfio.c b/lib-src/libnyquist/xlisp/xlfio.c
deleted file mode 100644
index 0a58796..0000000
--- a/lib-src/libnyquist/xlisp/xlfio.c
+++ /dev/null
@@ -1,694 +0,0 @@
-/* xlfio.c - xlisp file i/o */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-
-#include "switches.h"
-
-#include <string.h>
-
-#include "xlisp.h"
-
-/* do some sanity checking: */
-#ifndef XL_BIG_ENDIAN
-#ifndef XL_LITTLE_ENDIAN
-configuration error -- either XL_BIG_ or XL_LITTLE_ENDIAN must be defined
-in xlisp.h
-#endif
-#endif
-#ifdef XL_BIG_ENDIAN
-#ifdef XL_LITTLE_ENDIAN
-configuration error -- both XL_BIG_ and XL_LITTLE_ENDIAN are defined!
-#endif
-#endif
-
-/* forward declarations */
-FORWARD LOCAL LVAL getstroutput(LVAL stream);
-FORWARD LOCAL LVAL printit(int pflag, int tflag);
-FORWARD LOCAL LVAL flatsize(int pflag);
-
-/* xread - read an expression */
-LVAL xread(void)
-{
-    LVAL fptr,eof,rflag,val;
-
-    /* get file pointer and eof value */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    eof = (moreargs() ? xlgetarg() : NIL);
-    rflag = (moreargs() ? xlgetarg() : NIL);
-    xllastarg();
-
-    /* read an expression */
-    if (!xlread(fptr,&val,rflag != NIL))
-        val = eof;
-
-    /* return the expression */
-    return (val);
-}
-
-/* xprint - built-in function 'print' */
-LVAL xprint(void)
-{
-    return (printit(TRUE,TRUE));
-}
-
-/* xprin1 - built-in function 'prin1' */
-LVAL xprin1(void)
-{
-    return (printit(TRUE,FALSE));
-}
-
-/* xprinc - built-in function princ */
-LVAL xprinc(void)
-{
-    return (printit(FALSE,FALSE));
-}
-
-/* xterpri - terminate the current print line */
-LVAL xterpri(void)
-{
-    LVAL fptr;
-
-    /* get file pointer */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    xllastarg();
-
-    /* terminate the print line and return nil */
-    xlterpri(fptr);
-    return (NIL);
-}
-
-/* printit - common print function */
-LOCAL LVAL printit(int pflag, int tflag)
-{
-    LVAL fptr,val;
-
-    /* get expression to print and file pointer */
-    val = xlgetarg();
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    xllastarg();
-
-    /* print the value */
-    xlprint(fptr,val,pflag);
-
-    /* terminate the print line if necessary */
-    if (tflag)
-        xlterpri(fptr);
-
-    /* return the result */
-    return (val);
-}
-
-/* xflatsize - compute the size of a printed representation using prin1 */
-LVAL xflatsize(void)
-{
-    return (flatsize(TRUE));
-}
-
-/* xflatc - compute the size of a printed representation using princ */
-LVAL xflatc(void)
-{
-    return (flatsize(FALSE));
-}
-
-/* flatsize - compute the size of a printed expression */
-LOCAL LVAL flatsize(int pflag)
-{
-    LVAL val;
-
-    /* get the expression */
-    val = xlgetarg();
-    xllastarg();
-
-    /* print the value to compute its size */
-    xlfsize = 0;
-    xlprint(NIL,val,pflag);
-
-    /* return the length of the expression */
-    return (cvfixnum((FIXTYPE)xlfsize));
-}
-
-/* xlopen - open a text or binary file */
-LVAL xlopen(int binaryflag)
-{
-    char *name,*mode=NULL;
-    FILE *fp;
-    LVAL dir;
-
-    /* get the file name and direction */
-    name = (char *)getstring(xlgetfname());
-    if (!xlgetkeyarg(k_direction,&dir))
-        dir = k_input;
-
-    /* get the mode */
-    if (dir == k_input)
-        mode = "r";
-    else if (dir == k_output)
-        mode = "w";
-    else
-        xlerror("bad direction",dir);
-
-    /* try to open the file */
-    if (binaryflag) {
-        fp = osbopen(name,mode);
-    } else {
-        fp = osaopen(name,mode);
-    }
-    return (fp ? cvfile(fp) : NIL);
-}
-
-
-/* xopen - open a file */
-LVAL xopen(void)
-{
-    return xlopen(FALSE);
-}
-
-/* xbopen - open a binary file */
-LVAL xbopen(void)
-{
-        return xlopen(TRUE);
-}
-
-/* xclose - close a file */
-LVAL xclose(void)
-{
-    LVAL fptr;
-
-    /* get file pointer */
-    fptr = xlgastream();
-    xllastarg();
-
-    /* make sure the file exists */
-    if (getfile(fptr) == NULL)
-        xlfail("file not open");
-
-    /* close the file */
-    osclose(getfile(fptr));
-    setfile(fptr,NULL);
-
-    /* return nil */
-    return (NIL);
-}
-
-/* xrdchar - read a character from a file */
-LVAL xrdchar(void)
-{
-    LVAL fptr;
-    int ch;
-
-    /* get file pointer */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    xllastarg();
-
-    /* get character and check for eof */
-    return ((ch = xlgetc(fptr)) == EOF ? NIL : cvchar(ch));
-}
-
-/* xrdint - read an integer from a file */
-/* positive byte count means big-endian, negative is little-endian */
-LVAL xrdint(void)
-{
-    LVAL fptr;
-    unsigned char b[4];
-    long i;
-    int n = 4;
-    int index = 0; /* where to start in array */
-    int incr = 1;  /* how to step through array */
-    int rslt;
-
-    /* get file pointer */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    /* get byte count */
-    if (moreargs()) {
-        LVAL count = typearg(fixp);
-        n = getfixnum(count);
-        if (n < 0) {
-            n = -n;
-            index = n - 1;
-            incr = -1;
-        }
-        if (n > 4) {
-            xlerror("4-byte limit", count);
-        }
-    }
-    xllastarg();
-    for (i = 0; i < n; i++) {
-        int ch = xlgetc(fptr);
-        if (ch == EOF) return NIL;
-        b[index] = ch;
-        index += incr;
-    }
-    /* build result, b is now big-endian */
-    /* extend sign bit for short integers */
-    rslt = ((b[0] & 0x80) ? -1 : 0);
-    for (i = 0; i < n; i++) {
-        rslt = (rslt << 8) + b[i];
-    }
-    /* return integer result */
-    return cvfixnum(rslt);
-}
-
-
-/* xrdfloat - read a float from a file */
-LVAL xrdfloat(void)
-{
-    LVAL fptr;
-    union {
-        char b[8];
-        float f;
-        double d;
-    } rslt;
-    int n = 4;
-    int i;
-    int index = 3;  /* where to start in array */
-    int incr = -1;  /* how to step through array */
-
-    /* get file pointer */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    /* get byte count */
-    if (moreargs()) {
-        LVAL count =  typearg(fixp);
-        n = getfixnum(count);
-        if (n < 0) {
-            n = -n;
-            index = 0;
-            incr = 1;
-        }
-        if (n != 4 && n != 8) {
-            xlerror("must be 4 or 8 bytes", count);
-        }
-    }
-    xllastarg();
-
-#ifdef XL_BIG_ENDIAN
-    /* flip the bytes */
-    index = n - 1 - index;
-    incr = -incr;
-#endif
-    for (i = 0; i < n; i++) {
-        int ch = xlgetc(fptr);
-        if (ch == EOF) return NIL;
-        rslt.b[index] = ch;
-        index += incr;
-    }
-    /* return result */
-    return cvflonum(n == 4 ? rslt.f : rslt.d);
-}
-
-
-/* xrdbyte - read a byte from a file */
-LVAL xrdbyte(void)
-{
-    LVAL fptr;
-    int ch;
-
-    /* get file pointer */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    xllastarg();
-
-    /* get character and check for eof */
-    return ((ch = xlgetc(fptr)) == EOF ? NIL : cvfixnum((FIXTYPE)ch));
-}
-
-/* xpkchar - peek at a character from a file */
-LVAL xpkchar(void)
-{
-    LVAL flag,fptr;
-    int ch;
-
-    /* peek flag and get file pointer */
-    flag = (moreargs() ? xlgetarg() : NIL);
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    xllastarg();
-
-    /* skip leading white space and get a character */
-    if (flag)
-        while ((ch = xlpeek(fptr)) != EOF && isspace(ch))
-            xlgetc(fptr);
-    else
-        ch = xlpeek(fptr);
-
-    /* return the character */
-    return (ch == EOF ? NIL : cvchar(ch));
-}
-
-/* xwrchar - write a character to a file */
-LVAL xwrchar(void)
-{
-    LVAL fptr,chr;
-
-    /* get the character and file pointer */
-    chr = xlgachar();
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    xllastarg();
-
-    /* put character to the file */
-    xlputc(fptr,getchcode(chr));
-
-    /* return the character */
-    return (chr);
-}
-
-/* xwrbyte - write a byte to a file */
-LVAL xwrbyte(void)
-{
-    LVAL fptr,chr;
-
-    /* get the byte and file pointer */
-    chr = xlgafixnum();
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    xllastarg();
-
-    /* put byte to the file */
-    xlputc(fptr,(int)getfixnum(chr));
-
-    /* return the character */
-    return (chr);
-}
-
-/* xwrint - write an integer to a file */
-/* positive count means write big-endian */
-LVAL xwrint(void)
-{
-    LVAL val, fptr;
-    unsigned char b[4];
-    long i;
-    int n = 4;
-    int index = 3;     /* where to start in array */
-    int incr = -1;  /* how to step through array */
-    int v;
-    /* get the int and file pointer and optional byte count */
-    val = xlgafixnum();
-    v = getfixnum(val);
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    if (moreargs()) {
-        LVAL count = typearg(fixp);
-        n = getfixnum(count);
-        index = n - 1;
-        if (n < 0) {
-            n = -n;
-            index = 0;
-            incr = 1;
-        }
-        if (n > 4) {
-            xlerror("4-byte limit", count);
-        }
-    }
-    xllastarg();
-    /* build output b as little-endian */
-    for (i = 0; i < n; i++) {
-        b[i] = (unsigned char) v;
-        v = v >> 8;
-    }
-
-    /* put bytes to the file */
-    while (n) {
-        n--;
-        xlputc(fptr, b[index]);
-        index += incr;
-    }
-
-    /* return the integer */
-    return val;
-}
-
-/* xwrfloat - write a float to a file */
-LVAL xwrfloat(void)
-{
-    LVAL val, fptr;
-    union {
-        char b[8];
-        float f;
-        double d;
-    } v;
-    int n = 4;
-    int i;
-    int index = 3;  /* where to start in array */
-    int incr = -1;  /* how to step through array */
-
-    /* get the float and file pointer and optional byte count */
-    val = xlgaflonum();
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    if (moreargs()) {
-        LVAL count = typearg(fixp);
-        n = getfixnum(count);
-        if (n < 0) {
-            n = -n;
-            index = 0;
-            incr = 1;
-        }
-        if (n != 4 && n != 8) {
-            xlerror("must be 4 or 8 bytes", count);
-        }
-    }
-    xllastarg();
-
-#ifdef XL_BIG_ENDIAN
-    /* flip the bytes */
-    index = n - 1 - index;
-    incr = -incr;
-#endif
-    /* build output v.b */
-    if (n == 4) v.f = (float) getflonum(val);
-    else v.d = getflonum(val);
-
-    /* put bytes to the file */
-    for (i = 0; i < n; i++) {
-        xlputc(fptr, v.b[index]);
-        index += incr;
-    }
-
-    /* return the flonum */
-    return val;
-}
-
-/* xreadline - read a line from a file */
-LVAL xreadline(void)
-{
-    unsigned char buf[STRMAX+1],*p,*sptr;
-    LVAL fptr,str,newstr;
-    int len,blen,ch;
-
-    /* protect some pointers */
-    xlsave1(str);
-
-    /* get file pointer */
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdin));
-    xllastarg();
-
-    /* get character and check for eof */
-    len = blen = 0; p = buf;
-    while ((ch = xlgetc(fptr)) != EOF && ch != '\n') {
-
-        /* check for buffer overflow */
-        if (blen >= STRMAX) {
-             newstr = new_string(len + STRMAX + 1);
-            sptr = getstring(newstr); *sptr = '\0';
-            if (str) strcat((char *) sptr, (char *) getstring(str));
-            *p = '\0'; strcat((char *) sptr, (char *) buf);
-            p = buf; blen = 0;
-            len += STRMAX;
-            str = newstr;
-        }
-
-        /* store the character */
-        *p++ = ch; ++blen;
-    }
-
-    /* check for end of file */
-    if (len == 0 && p == buf && ch == EOF) {
-        xlpop();
-        return (NIL);
-    }
-
-    /* append the last substring */
-    if (str == NIL || blen) {
-        newstr = new_string(len + blen + 1);
-        sptr = getstring(newstr); *sptr = '\0';
-        if (str) strcat((char *) sptr, (char *) getstring(str));
-        *p = '\0'; strcat((char *) sptr, (char *) buf);
-        str = newstr;
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the string */
-    return (str);
-}
-
-
-/* xmkstrinput - make a string input stream */
-LVAL xmkstrinput(void)
-{
-    int start,end,len,i;
-    unsigned char *str;
-    LVAL string,val;
-
-    /* protect the return value */
-    xlsave1(val);
-    
-    /* get the string and length */
-    string = xlgastring();
-    str = getstring(string);
-    len = getslength(string) - 1;
-
-    /* get the starting offset */
-    if (moreargs()) {
-        val = xlgafixnum();
-        start = (int)getfixnum(val);
-    }
-    else start = 0;
-
-    /* get the ending offset */
-    if (moreargs()) {
-        val = xlgafixnum();
-        end = (int)getfixnum(val);
-    }
-    else end = len;
-    xllastarg();
-
-    /* check the bounds */
-    if (start < 0 || start > len)
-        xlerror("string index out of bounds",cvfixnum((FIXTYPE)start));
-    if (end < 0 || end > len)
-        xlerror("string index out of bounds",cvfixnum((FIXTYPE)end));
-
-    /* make the stream */
-    val = newustream();
-
-    /* copy the substring into the stream */
-    for (i = start; i < end; ++i)
-        xlputc(val,str[i]);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the new stream */
-    return (val);
-}
-
-/* xmkstroutput - make a string output stream */
-LVAL xmkstroutput(void)
-{
-    return (newustream());
-}
-
-/* xgetstroutput - get output stream string */
-LVAL xgetstroutput(void)
-{
-    LVAL stream;
-    stream = xlgaustream();
-    xllastarg();
-    return (getstroutput(stream));
-}
-
-/* xgetlstoutput - get output stream list */
-LVAL xgetlstoutput(void)
-{
-    LVAL stream,val;
-
-    /* get the stream */
-    stream = xlgaustream();
-    xllastarg();
-
-    /* get the output character list */
-    val = gethead(stream);
-
-    /* empty the character list */
-    sethead(stream,NIL);
-    settail(stream,NIL);
-
-    /* return the list */
-    return (val);
-}
-
-/* xformat - formatted output function */
-LVAL xformat(void)
-{
-    unsigned char *fmt;
-    LVAL stream,val;
-    int ch;
-
-    /* protect stream in case it is a new ustream */
-    xlsave1(stream);
-
-    /* get the stream and format string */
-    stream = xlgetarg();
-    if (stream == NIL)
-        val = stream = newustream();
-    else {
-        if (stream == s_true)
-            stream = getvalue(s_stdout);
-        else if (!streamp(stream) && !ustreamp(stream))
-            xlbadtype(stream);
-        val = NIL;
-    }
-    fmt = getstring(xlgastring());
-
-    /* process the format string */
-    while ((ch = *fmt++))
-        if (ch == '~') {
-            switch (*fmt++) {
-            case '\0':
-                xlerror("expecting a format directive",cvstring((char *) (fmt-1)));
-            case 'a': case 'A':
-                xlprint(stream,xlgetarg(),FALSE);
-                break;
-            case 's': case 'S':
-                xlprint(stream,xlgetarg(),TRUE);
-                break;
-            case '%':
-                xlterpri(stream);
-                break;
-            case '~':
-                xlputc(stream,'~');
-                break;
-            case '\n':
-                while (*fmt && *fmt != '\n' && isspace(*fmt))
-                    ++fmt;
-                break;
-            default:
-                xlerror("unknown format directive",cvstring((char *) (fmt-1)));
-            }
-        }
-        else
-            xlputc(stream,ch);
-        
-    /* return the value */
-    if (val) val = getstroutput(val);
-    xlpop();
-    return val;
-}
-
-/* getstroutput - get the output stream string (internal) */
-LOCAL LVAL getstroutput(LVAL stream)
-{
-    unsigned char *str;
-    LVAL next,val;
-    int len,ch;
-
-    /* compute the length of the stream */
-    for (len = 0, next = gethead(stream); next != NIL; next = cdr(next))
-        ++len;
-
-    /* create a new string */
-    val = new_string(len + 1);
-    
-    /* copy the characters into the new string */
-    str = getstring(val);
-    while ((ch = xlgetc(stream)) != EOF)
-        *str++ = ch;
-    *str = '\0';
-
-    /* return the string */
-    return (val);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlftab.c b/lib-src/libnyquist/xlisp/xlftab.c
deleted file mode 100644
index 3857d63..0000000
--- a/lib-src/libnyquist/xlisp/xlftab.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/* xlftab.c - xlisp function table */
-/*	Copyright (c) 1985, by David Michael Betz
-    All Rights Reserved
-    Permission is granted for unrestricted non-commercial use
-
-HISTORY
-23-Apr-03   Mazzoni
-        Eliminated some compiler warnings
- 1-Apr-88	Dale Amon at CSD
-        Added include file hook for local language extensions:
-        localdefs.h and localptrs.h
-
-*/
-
-#include "switches.h"
-#include "xlisp.h"
-#ifndef NO_PROTOTYPES_IN_XLISP_H
-/* external functions */
-extern LVAL
-    xbisubr(void),xbifsubr(void),
-    rmhash(void),rmquote(void),rmdquote(void),rmbquote(void),rmcomma(void),
-    clnew(void),clisnew(void),clanswer(void),
-    obisnew(void),obclass(void),obshow(void),
-    rmlpar(void),rmrpar(void),rmsemi(void),
-    xeval(void),xapply(void),xfuncall(void),xquote(void),xfunction(void),xbquote(void),
-    xlambda(void),xset(void),xsetq(void),xsetf(void),xdefun(void),xdefmacro(void),
-    xgensym(void),xmakesymbol(void),xintern(void),
-    xsymname(void),xsymvalue(void),xsymplist(void),
-    xget(void),xputprop(void),xremprop(void),
-    xhash(void),xmkarray(void),xaref(void),
-    xcar(void),xcdr(void),
-    xcaar(void),xcadr(void),xcdar(void),xcddr(void),
-    xcaaar(void),xcaadr(void),xcadar(void),xcaddr(void),
-    xcdaar(void),xcdadr(void),xcddar(void),xcdddr(void),
-    xcaaaar(void),xcaaadr(void),xcaadar(void),xcaaddr(void),
-    xcadaar(void),xcadadr(void),xcaddar(void),xcadddr(void),
-    xcdaaar(void),xcdaadr(void),xcdadar(void),xcdaddr(void),
-    xcddaar(void),xcddadr(void),xcdddar(void),xcddddr(void),
-    xcons(void),xlist(void),xappend(void),xreverse(void),xlast(void),xnth(void),xnthcdr(void),
-    xmember(void),xassoc(void),xsubst(void),xsublis(void),xlength(void),xsort(void),
-    xremove(void),xremif(void),xremifnot(void),
-    xmapc(void),xmapcar(void),xmapl(void),xmaplist(void),
-    xrplca(void),xrplcd(void),xnconc(void),
-    xdelete(void),xdelif(void),xdelifnot(void),
-    xatom(void),xsymbolp(void),xnumberp(void),xboundp(void),xnull(void),xlistp(void),xendp(void),xconsp(void),
-    xeq(void),xeql(void),xequal(void),
-    xcond(void),xcase(void),xand(void),xor(void),xlet(void),xletstar(void),xif(void),
-    xprog(void),xprogstar(void),xprog1(void),xprog2(void),xprogn(void),xgo(void),xreturn(void),
-    xcatch(void),xthrow(void),
-    xerror(void),xcerror(void),xbreak(void),
-    xcleanup(void),xtoplevel(void),xcontinue(void),xerrset(void),
-    xbaktrace(void),xevalhook(void),
-    xdo(void),xdostar(void),xdolist(void),xdotimes(void),
-    xminusp(void),xzerop(void),xplusp(void),xevenp(void),xoddp(void),
-    xfix(void),xfloat(void),
-    xgcd(void),xadd(void),xsub(void),xmul(void),xdiv(void),xrem(void),xmin(void),xmax(void),xabs(void),
-    xadd1(void),xsub1(void),xlogand(void),xlogior(void),xlogxor(void),xlognot(void),
-    xsin(void),xcos(void),xtan(void),xexpt(void),xexp(void),xsqrt(void),xrand(void),
-    xlss(void),xleq(void),xequ(void),xneq(void),xgeq(void),xgtr(void),
-    xstrcat(void),xsubseq(void),xstring(void),xchar(void),
-    xread(void),xprint(void),xprin1(void),xprinc(void),xterpri(void),
-    xflatsize(void),xflatc(void),
-    xopen(void),xbopen(void),xclose(void),xrdchar(void),xpkchar(void),xwrchar(void),xreadline(void),
-    xrdint(void),xwrint(void),xrdfloat(void),xwrfloat(void),
-    xload(void),xtranscript(void),
-    xtype(void),xquit(void),xexit(void),xpeek(void),xpoke(void),xaddrs(void),
-    xvector(void),xblock(void),xrtnfrom(void),xtagbody(void),
-    xpsetq(void),xflet(void),xlabels(void),xmacrolet(void),xunwindprotect(void),xpp(void),
-    xstrlss(void),xstrleq(void),xstreql(void),xstrneq(void),xstrgeq(void),xstrgtr(void),
-    xstrilss(void),xstrileq(void),xstrieql(void),xstrineq(void),xstrigeq(void),xstrigtr(void),
-    xupcase(void),xdowncase(void),xnupcase(void),xndowncase(void),
-    xtrim(void),xlefttrim(void),xrighttrim(void),
-    xuppercasep(void),xlowercasep(void),xbothcasep(void),xdigitp(void),xalphanumericp(void),
-    xcharcode(void),xcodechar(void),xchupcase(void),xchdowncase(void),xdigitchar(void),
-    xchrlss(void),xchrleq(void),xchreql(void),xchrneq(void),xchrgeq(void),xchrgtr(void),
-    xchrilss(void),xchrileq(void),xchrieql(void),xchrineq(void),xchrigeq(void),xchrigtr(void),
-    xintegerp(void),xfloatp(void),xstringp(void),xarrayp(void),xstreamp(void),xobjectp(void),
-    xwhen(void),xunless(void),xloop(void),
-    xsymfunction(void),xfboundp(void),xsend(void),xsendsuper(void),
-    xprogv(void),xrdbyte(void),xwrbyte(void),xformat(void),
-    xcharp(void),xcharint(void),xintchar(void),
-    xmkstrinput(void),xmkstroutput(void),xgetstroutput(void),xgetlstoutput(void),
-    xgetlambda(void),xmacroexpand(void),x1macroexpand(void),
-    xinfo(void),					//Added by Ning Hu	Apr.2001
-    xsetdir(void),					//Added by Ning Hu	May.2001
-    xtrace(void),xuntrace(void),xprofile(void),xstrsearch(void), xsetupconsole(void);
-#endif
-
-/* functions specific to xldmem.c */
-LVAL xgc(void),xexpand(void),xalloc(void),xmem(void);
-#ifdef SAVERESTORE
-LVAL xsave(void),xrestore(void);
-#endif
-
-/* include system dependant definitions */
-#include "osdefs.h"
-#include "localdefs.h"
-
-/* SUBR/FSUBR indicator */
-#define S	SUBR
-#define F	FSUBR
-
-/* forward declarations */
-LOCAL LVAL xnotimp(void);
-
-/* the function table */
-FUNDEF funtab[] = {
-
-    /* read macro functions */
-{	NULL,				S, rmhash		}, /*   0 */
-{	NULL,				S, rmquote		}, /*   1 */
-{	NULL,				S, rmdquote		}, /*   2 */
-{	NULL,				S, rmbquote		}, /*   3 */
-{	NULL,				S, rmcomma		}, /*   4 */
-{	NULL,				S, rmlpar		}, /*   5 */
-{	NULL,				S, rmrpar		}, /*   6 */
-{	NULL,				S, rmsemi		}, /*   7 */
-{	NULL,				S, xnotimp		}, /*   8 */
-{	NULL,				S, xnotimp		}, /*   9 */
-
-    /* methods */
-{	NULL,				S, clnew		}, /*  10 */
-{	NULL,				S, clisnew		}, /*  11 */
-{	NULL,				S, clanswer		}, /*  12 */
-{	NULL,				S, obisnew		}, /*  13 */
-{	NULL,				S, obclass		}, /*  14 */
-{	NULL,				S, obshow		}, /*  15 */
-{	NULL,				S, xnotimp		}, /*  16 */
-{	NULL,				S, xnotimp		}, /*  17 */
-{	NULL,				S, xnotimp		}, /*  18 */
-{	NULL,				S, xnotimp		}, /*  19 */
-
-    /* evaluator functions */
-{	"EVAL",				S, xeval		}, /*  20 */
-{	"APPLY",			S, xapply		}, /*  21 */
-{	"FUNCALL",			S, xfuncall		}, /*  22 */
-{	"QUOTE",			F, xquote		}, /*  23 */
-{	"FUNCTION",			F, xfunction		}, /*  24 */
-{	"BACKQUOTE",			F, xbquote		}, /*  25 */
-{	"LAMBDA",			F, xlambda		}, /*  26 */
-
-    /* symbol functions */
-{	"SET",				S, xset			}, /*  27 */
-{	"SETQ",				F, xsetq		}, /*  28 */
-{	"SETF",				F, xsetf		}, /*  29 */
-{	"DEFUN",			F, xdefun		}, /*  30 */
-{	"DEFMACRO",			F, xdefmacro		}, /*  31 */
-{	"GENSYM",			S, xgensym		}, /*  32 */
-{	"MAKE-SYMBOL",			S, xmakesymbol		}, /*  33 */
-{	"INTERN", 			S, xintern		}, /*  34 */
-{	"SYMBOL-NAME",			S, xsymname		}, /*  35 */
-{	"SYMBOL-VALUE",			S, xsymvalue		}, /*  36 */
-{	"SYMBOL-PLIST",			S, xsymplist		}, /*  37 */
-{	"GET",				S, xget			}, /*  38 */
-{	"PUTPROP", 			S, xputprop		}, /*  39 */
-{	"REMPROP",			S, xremprop		}, /*  40 */
-{	"HASH",				S, xhash		}, /*  41 */
-
-    /* array functions */
-{	"MAKE-ARRAY",			S, xmkarray		}, /*  42 */
-{	"AREF",				S, xaref		}, /*  43 */
-            
-    /* list functions */
-{	"CAR",				S, xcar			}, /*  44 */
-{	"CDR",				S, xcdr			}, /*  45 */
-            
-{	"CAAR",				S, xcaar		}, /*  46 */
-{	"CADR",				S, xcadr		}, /*  47 */
-{	"CDAR",				S, xcdar		}, /*  48 */
-{	"CDDR",				S, xcddr		}, /*  49 */
-
-{	"CAAAR",			S, xcaaar		}, /*  50 */
-{	"CAADR",			S, xcaadr		}, /*  51 */
-{	"CADAR",			S, xcadar		}, /*  52 */
-{	"CADDR",			S, xcaddr		}, /*  53 */
-{	"CDAAR",			S, xcdaar		}, /*  54 */
-{	"CDADR",			S, xcdadr		}, /*  55 */
-{	"CDDAR",			S, xcddar		}, /*  56 */
-{	"CDDDR",			S, xcdddr		}, /*  57 */
-
-{	"CAAAAR", 			S, xcaaaar		}, /*  58 */
-{	"CAAADR",			S, xcaaadr		}, /*  59 */
-{	"CAADAR",			S, xcaadar		}, /*  60 */
-{	"CAADDR",			S, xcaaddr		}, /*  61 */
-{	"CADAAR",		 	S, xcadaar		}, /*  62 */
-{	"CADADR",			S, xcadadr		}, /*  63 */
-{	"CADDAR",			S, xcaddar		}, /*  64 */
-{	"CADDDR",			S, xcadddr		}, /*  65 */
-{	"CDAAAR",			S, xcdaaar		}, /*  66 */
-{	"CDAADR",			S, xcdaadr		}, /*  67 */
-{	"CDADAR",			S, xcdadar		}, /*  68 */
-{	"CDADDR",			S, xcdaddr		}, /*  69 */
-{	"CDDAAR",			S, xcddaar		}, /*  70 */
-{	"CDDADR",			S, xcddadr		}, /*  71 */
-{	"CDDDAR",			S, xcdddar		}, /*  72 */
-{	"CDDDDR",			S, xcddddr		}, /*  73 */
-
-{	"CONS",				S, xcons		}, /*  74 */
-{	"LIST",				S, xlist		}, /*  75 */
-{	"APPEND",			S, xappend		}, /*  76 */
-{	"REVERSE",			S, xreverse		}, /*  77 */
-{	"LAST",				S, xlast		}, /*  78 */
-{	"NTH",				S, xnth			}, /*  79 */
-{	"NTHCDR",			S, xnthcdr		}, /*  80 */
-{	"MEMBER",			S, xmember		}, /*  81 */
-{	"ASSOC",			S, xassoc		}, /*  82 */
-{	"SUBST", 			S, xsubst		}, /*  83 */
-{	"SUBLIS",			S, xsublis		}, /*  84 */
-{	"REMOVE",			S, xremove		}, /*  85 */
-{	"LENGTH",			S, xlength		}, /*  86 */
-{	"MAPC",				S, xmapc		}, /*  87 */
-{	"MAPCAR",			S, xmapcar		}, /*  88 */
-{	"MAPL",				S, xmapl		}, /*  89 */
-{	"MAPLIST",			S, xmaplist		}, /*  90 */
-            
-    /* destructive list functions */
-{	"RPLACA",			S, xrplca		}, /*  91 */
-{	"RPLACD",			S, xrplcd		}, /*  92 */
-{	"NCONC",			S, xnconc		}, /*  93 */
-{	"DELETE",			S, xdelete		}, /*  94 */
-
-    /* predicate functions */
-{	"ATOM",				S, xatom		}, /*  95 */
-{	"SYMBOLP",			S, xsymbolp		}, /*  96 */
-{	"NUMBERP",			S, xnumberp		}, /*  97 */
-{	"BOUNDP",			S, xboundp 		}, /*  98 */
-{	"NULL",				S, xnull		}, /*  99 */
-{	"LISTP",			S, xlistp		}, /* 100 */
-{	"CONSP",			S, xconsp		}, /* 101 */
-{	"MINUSP",			S, xminusp 		}, /* 102 */
-{	"ZEROP",			S, xzerop		}, /* 103 */
-{	"PLUSP",			S, xplusp		}, /* 104 */
-{	"EVENP",			S, xevenp		}, /* 105 */
-{	"ODDP",				S, xoddp		}, /* 106 */
-{	"EQ",				S, xeq			}, /* 107 */
-{	"EQL",				S, xeql			}, /* 108 */
-{	"EQUAL",			S, xequal		}, /* 109 */
-
-    /* special forms */
-{	"COND",				F, xcond		}, /* 110 */
-{	"CASE",				F, xcase		}, /* 111 */
-{	"AND",				F, xand			}, /* 112 */
-{	"OR",				F, xor			}, /* 113 */
-{	"LET",				F, xlet			}, /* 114 */
-{	"LET*",				F, xletstar		}, /* 115 */
-{	"IF",				F, xif			}, /* 116 */
-{	"PROG",				F, xprog		}, /* 117 */
-{	"PROG*",			F, xprogstar		}, /* 118 */
-{	"PROG1",			F, xprog1		}, /* 119 */
-{	"PROG2",			F, xprog2		}, /* 120 */
-{	"PROGN",			F, xprogn		}, /* 121 */
-{	"GO",				F, xgo			}, /* 122 */
-{	"RETURN",			F, xreturn  		}, /* 123 */
-{	"DO",				F, xdo			}, /* 124 */
-{	"DO*",				F, xdostar  		}, /* 125 */
-{	"DOLIST",			F, xdolist  		}, /* 126 */
-{	"DOTIMES",			F, xdotimes		}, /* 127 */
-{	"CATCH",			F, xcatch		}, /* 128 */
-{	"THROW",			F, xthrow		}, /* 129 */
-    
-    /* debugging and error handling functions */
-{	"ERROR",			S, xerror		}, /* 130 */
-{	"CERROR",			S, xcerror  		}, /* 131 */
-{	"BREAK",			S, xbreak		}, /* 132 */
-{	"CLEAN-UP",			S, xcleanup		}, /* 133 */
-{	"TOP-LEVEL",			S, xtoplevel		}, /* 134 */
-{	"CONTINUE",			S, xcontinue		}, /* 135 */
-{	"ERRSET", 			F, xerrset  		}, /* 136 */
-{	"BAKTRACE",			S, xbaktrace		}, /* 137 */
-{	"EVALHOOK",			S, xevalhook		}, /* 138 */
-
-    /* arithmetic functions */
-{	"TRUNCATE",			S, xfix			}, /* 139 */
-{	"FLOAT",			S, xfloat		}, /* 140 */
-{	"+",				S, xadd			}, /* 141 */
-{	"-",				S, xsub			}, /* 142 */
-{	"*",				S, xmul			}, /* 143 */
-{	"/",				S, xdiv			}, /* 144 */
-{	"1+",				S, xadd1		}, /* 145 */
-{	"1-",				S, xsub1		}, /* 146 */
-{	"REM",				S, xrem			}, /* 147 */
-{	"MIN",				S, xmin			}, /* 148 */
-{	"MAX",				S, xmax			}, /* 149 */
-{	"ABS",				S, xabs			}, /* 150 */
-{	"SIN",				S, xsin			}, /* 151 */
-{	"COS",				S, xcos			}, /* 152 */
-{	"TAN",				S, xtan			}, /* 153 */
-{	"EXPT",				S, xexpt		}, /* 154 */
-{	"EXP",				S, xexp			}, /* 155 */
-{	"SQRT",		  		S, xsqrt		}, /* 156 */
-{	"RANDOM",			S, xrand		}, /* 157 */
-            
-    /* bitwise logical functions */
-{	"LOGAND",			S, xlogand  		}, /* 158 */
-{	"LOGIOR",			S, xlogior  		}, /* 159 */
-{	"LOGXOR",			S, xlogxor  		}, /* 160 */
-{	"LOGNOT",			S, xlognot  		}, /* 161 */
-
-    /* numeric comparison functions */
-{	"<",				S, xlss			}, /* 162 */
-{	"<=",				S, xleq			}, /* 163 */
-{	"=",				S, xequ			}, /* 164 */
-{	"/=",				S, xneq			}, /* 165 */
-{	">=",				S, xgeq			}, /* 166 */
-{	">",				S, xgtr			}, /* 167 */
-            
-    /* string functions */
-{	"STRCAT",			S, xstrcat  		}, /* 168 */
-{	"SUBSEQ",			S, xsubseq  		}, /* 169 */
-{	"STRING",			S, xstring  		}, /* 170 */
-{	"CHAR",				S, xchar		}, /* 171 */
-
-    /* I/O functions */
-{	"READ",				S, xread		}, /* 172 */
-{	"PRINT",			S, xprint		}, /* 173 */
-{	"PRIN1",			S, xprin1		}, /* 174 */
-{	"PRINC",			S, xprinc		}, /* 175 */
-{	"TERPRI",			S, xterpri  		}, /* 176 */
-{	"FLATSIZE",			S, xflatsize		}, /* 177 */
-{	"FLATC",			S, xflatc		}, /* 178 */
-            
-    /* file I/O functions */
-{	"OPEN",				S, xopen		}, /* 179 */
-{	"FORMAT",			S, xformat  		}, /* 180 */
-{	"CLOSE",			S, xclose		}, /* 181 */
-{	"READ-CHAR",			S, xrdchar  		}, /* 182 */
-{	"PEEK-CHAR",			S, xpkchar  		}, /* 183 */
-{	"WRITE-CHAR",			S, xwrchar  		}, /* 184 */
-{	"READ-LINE",			S, xreadline		}, /* 185 */
-
-    /* system functions */
-{	"LOAD",				S, xload		}, /* 186 */
-{	"DRIBBLE",			S, xtranscript		}, /* 187 */
-
-/* functions specific to xldmem.c */
-{	"GC",				S, xgc			}, /* 188 */
-{	"EXPAND",			S, xexpand  		}, /* 189 */
-{	"ALLOC",			S, xalloc		}, /* 190 */
-{	"ROOM",				S, xmem			}, /* 191 */
-#ifdef SAVERESTORE
-{	"SAVE",				S, xsave		}, /* 192 */
-{	"RESTORE",			S, xrestore		}, /* 193 */
-#else
-{	NULL,				S, xnotimp		}, /* 192 */
-{	NULL,				S, xnotimp		}, /* 193 */
-#endif
-/* end of functions specific to xldmem.c */
-
-{	"TYPE-OF",			S, xtype		}, /* 194 */
-{	"EXIT",				S, xexit		}, /* 195 */
-{	"PEEK",				S, xpeek		}, /* 196 */
-{	"POKE",				S, xpoke		}, /* 197 */
-{	"ADDRESS-OF",			S, xaddrs		}, /* 198 */
-
-    /* new functions and special forms */
-{	"VECTOR",			S, xvector  		}, /* 199 */
-{	"BLOCK",			F, xblock		}, /* 200 */
-{	"RETURN-FROM",			F, xrtnfrom		}, /* 201 */
-{	"TAGBODY",			F, xtagbody		}, /* 202 */
-{	"PSETQ",			F, xpsetq		}, /* 203 */
-{	"FLET",				F, xflet		}, /* 204 */
-{	"LABELS",			F, xlabels  		}, /* 205 */
-{	"MACROLET",			F, xmacrolet		}, /* 206 */
-{	"UNWIND-PROTECT",		F, xunwindprotect	}, /* 207 */
-{	"PPRINT",			S, xpp			}, /* 208 */
-{	"STRING<",			S, xstrlss  		}, /* 209 */
-{	"STRING<=",			S, xstrleq  		}, /* 210 */
-{	"STRING=",			S, xstreql  		}, /* 211 */
-{	"STRING/=",			S, xstrneq  		}, /* 212 */
-{	"STRING>=",			S, xstrgeq  		}, /* 213 */
-{	"STRING>",			S, xstrgtr  		}, /* 214 */
-{	"STRING-LESSP",			S, xstrilss		}, /* 215 */
-{	"STRING-NOT-GREATERP",		S, xstrileq		}, /* 216 */
-{	"STRING-EQUAL",			S, xstrieql		}, /* 217 */
-{	"STRING-NOT-EQUAL",		S, xstrineq		}, /* 218 */
-{	"STRING-NOT-LESSP",		S, xstrigeq		}, /* 219 */
-{	"STRING-GREATERP",		S, xstrigtr		}, /* 220 */
-{	"INTEGERP",			S, xintegerp		}, /* 221 */
-{	"FLOATP",			S, xfloatp  		}, /* 222 */
-{	"STRINGP",			S, xstringp		}, /* 223 */
-{	"ARRAYP",			S, xarrayp  		}, /* 224 */
-{	"STREAMP",			S, xstreamp		}, /* 225 */
-{	"OBJECTP",			S, xobjectp		}, /* 226 */
-{	"STRING-UPCASE",		S, xupcase  		}, /* 227 */
-{	"STRING-DOWNCASE",		S, xdowncase		}, /* 228 */
-{	"NSTRING-UPCASE",		S, xnupcase		}, /* 229 */
-{	"NSTRING-DOWNCASE",		S, xndowncase		}, /* 230 */
-{	"STRING-TRIM",			S, xtrim		}, /* 231 */
-{	"STRING-LEFT-TRIM",		S, xlefttrim		}, /* 232 */
-{	"STRING-RIGHT-TRIM",		S, xrighttrim		}, /* 233 */
-{	"WHEN",				F, xwhen		}, /* 234 */
-{	"UNLESS",			F, xunless  		}, /* 235 */
-{	"LOOP",				F, xloop		}, /* 236 */
-{	"SYMBOL-FUNCTION",		S, xsymfunction		}, /* 237 */
-{	"FBOUNDP",			S, xfboundp		}, /* 238 */
-{	"SEND",				S, xsend		}, /* 239 */
-{	"SEND-SUPER",			S, xsendsuper		}, /* 240 */
-{	"PROGV",			F, xprogv		}, /* 241 */
-{	"CHARACTERP",			S, xcharp		}, /* 242 */
-{	"CHAR-INT",			S, xcharint		}, /* 243 */
-{	"INT-CHAR",			S, xintchar		}, /* 244 */
-{	"READ-BYTE",			S, xrdbyte  		}, /* 245 */
-{	"WRITE-BYTE",			S, xwrbyte  		}, /* 246 */
-{	"MAKE-STRING-INPUT-STREAM", 	S, xmkstrinput		}, /* 247 */
-{	"MAKE-STRING-OUTPUT-STREAM",	S, xmkstroutput		}, /* 248 */
-{	"GET-OUTPUT-STREAM-STRING",	S, xgetstroutput	}, /* 249 */
-{	"GET-OUTPUT-STREAM-LIST",	S, xgetlstoutput	}, /* 250 */
-{	"GCD",				S, xgcd			}, /* 251 */
-{	"GET-LAMBDA-EXPRESSION", 	S, xgetlambda		}, /* 252 */
-{	"MACROEXPAND",			S, xmacroexpand		}, /* 253 */
-{	"MACROEXPAND-1",		S, x1macroexpand	}, /* 254 */
-{	"CHAR<",			S, xchrlss  		}, /* 255 */
-{	"CHAR<=",			S, xchrleq  		}, /* 256 */
-{	"CHAR=",			S, xchreql  		}, /* 257 */
-{	"CHAR/=",			S, xchrneq  		}, /* 258 */
-{	"CHAR>=",			S, xchrgeq  		}, /* 259 */
-{	"CHAR>",			S, xchrgtr  		}, /* 260 */
-{	"CHAR-LESSP",			S, xchrilss		}, /* 261 */
-{	"CHAR-NOT-GREATERP",		S, xchrileq		}, /* 262 */
-{	"CHAR-EQUAL",			S, xchrieql		}, /* 263 */
-{	"CHAR-NOT-EQUAL",		S, xchrineq		}, /* 264 */
-{	"CHAR-NOT-LESSP",		S, xchrigeq		}, /* 265 */
-{	"CHAR-GREATERP",		S, xchrigtr		}, /* 266 */
-{	"UPPER-CASE-P",			S, xuppercasep		}, /* 267 */
-{	"LOWER-CASE-P",			S, xlowercasep		}, /* 268 */
-{	"BOTH-CASE-P",			S, xbothcasep		}, /* 269 */
-{	"DIGIT-CHAR-P",			S, xdigitp		}, /* 270 */
-{	"ALPHANUMERICP",		S, xalphanumericp	}, /* 271 */
-{	"CHAR-UPCASE",			S, xchupcase		}, /* 272 */
-{	"CHAR-DOWNCASE",		S, xchdowncase		}, /* 273 */
-{	"DIGIT-CHAR",			S, xdigitchar		}, /* 274 */
-{	"CHAR-CODE",			S, xcharcode		}, /* 275 */
-{	"CODE-CHAR",			S, xcodechar		}, /* 276 */
-{	"ENDP",				S, xendp		}, /* 277 */
-{	"REMOVE-IF",			S, xremif		}, /* 278 */
-{	"REMOVE-IF-NOT",		S, xremifnot		}, /* 279 */
-{	"DELETE-IF",			S, xdelif		}, /* 280 */
-{	"DELETE-IF-NOT",		S, xdelifnot		}, /* 281 */
-{	"TRACE",			F, xtrace		}, /* 282 */
-{	"UNTRACE",			F, xuntrace		}, /* 283 */
-{	"SORT",				S, xsort		}, /* 284 */
-
-
-    /* extra table entries */
-{	"PROFILE",			S, xprofile		}, /* 285 */
-{	"STRING-SEARCH",		S, xstrsearch		}, /* 286 */
-{	"QUIT",				S, xquit		}, /* 287 */
-{	"OPEN-BINARY",			S, xbopen		}, /* 288 */
-{	"SETUP-CONSOLE",		S, xsetupconsole	}, /* 289 */
-{       "READ-INT",                     S, xrdint               }, /* 290 */
-{	"READ-FLOAT",			S, xrdfloat		}, /* 291 */
-{	"WRITE-INT",			S, xwrint		}, /* 292 */
-{	"WRITE-FLOAT",			S, xwrfloat		}, /* 293 */
-{	"INFO",				S, xinfo		}, /* 294 */ /* Ning Hu, Apr 2001 */
-{	NULL,				S, xnotimp		}, /* 295 */
-{	NULL,				S, xnotimp		}, /* 296 */
-{	NULL,				S, xnotimp		}, /* 297 */
-{	NULL,				S, xnotimp		}, /* 298 */
-{	NULL,				S, xnotimp		}, /* 299 */
-#ifndef MACINTOSH
-{	"SETDIR",			S, xsetdir		}, /* 300 */		//Added by Ning Hu May.2001
-#endif
-#ifdef MACINTOSH
-#include "macptrs.h"
-#endif
-
-    /* include system dependant function pointers */
-#include "osptrs.h"
-#include "localptrs.h"
-
-{0,0,0} /* end of table marker */
-
-};			
-
-/* xnotimp does not return anything on purpose, so disable
- * "no return value" warning
- */
-/* #pragma warning(disable: 4716)*/
-
-/* xnotimp - function table entries that are currently not implemented */
-LOCAL LVAL xnotimp(void)
-{
-    xlfail("function not implemented");
-    return NIL; /* never happens */
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlglob.c b/lib-src/libnyquist/xlisp/xlglob.c
deleted file mode 100644
index 18a4386..0000000
--- a/lib-src/libnyquist/xlisp/xlglob.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/* xlglobals - xlisp global variables */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use
-
- * 3-Apr-88	Dale Amon at CMU-CSD
- *	Added a_extern to xlisp 2.0
- *
- * 18-Oct-87	Dale Amon at CMU-CSD
- *	Added global pointer a_extern for node defining new EXTERN
- *	node type.
- *
- * 12 Oct 90	RBD Added s_profile, profile_fixnum
- */
-
-
-#include "xlisp.h"
-
-/* symbols */
-LVAL s_true=NIL,obarray=NIL;
-LVAL s_unbound=NIL,s_dot=NIL;
-LVAL s_quote=NIL,s_function=NIL;
-LVAL s_bquote=NIL,s_comma=NIL,s_comat=NIL;
-LVAL s_evalhook=NIL,s_applyhook=NIL,s_tracelist;
-LVAL s_lambda=NIL,s_macro=NIL;
-LVAL s_stdin=NIL,s_stdout=NIL,s_stderr=NIL,s_debugio=NIL,s_traceout=NIL;
-LVAL s_rtable=NIL;
-LVAL s_tracenable=NIL,s_tlimit=NIL,s_breakenable=NIL;
-LVAL s_loadingfiles=NIL;
-LVAL s_profile = NIL, profile_fixnum = NIL;
-LVAL s_setf=NIL,s_car=NIL,s_cdr=NIL,s_nth=NIL,s_aref=NIL,s_get=NIL;
-LVAL s_svalue=NIL,s_sfunction=NIL,s_splist=NIL;
-LVAL s_eql=NIL,s_gcflag=NIL,s_gchook=NIL;
-LVAL s_ifmt=NIL,s_ffmt=NIL;
-LVAL s_1plus=NIL,s_2plus=NIL,s_3plus=NIL;
-LVAL s_1star=NIL,s_2star=NIL,s_3star=NIL;
-LVAL s_minus=NIL,s_printcase=NIL;
-LVAL s_search_path=NIL;
-
-/* keywords */
-LVAL k_test=NIL,k_tnot=NIL;
-LVAL k_wspace=NIL,k_const=NIL,k_nmacro=NIL,k_tmacro=NIL;
-LVAL k_sescape=NIL,k_mescape=NIL;
-LVAL k_direction=NIL,k_input=NIL,k_output=NIL;
-LVAL k_start=NIL,k_end=NIL,k_1start=NIL,k_1end=NIL;
-LVAL k_2start=NIL,k_2end=NIL,k_count=NIL,k_key=NIL;
-LVAL k_verbose=NIL,k_print=NIL;
-LVAL k_upcase=NIL,k_downcase=NIL;
-
-/* lambda list keywords */
-LVAL lk_optional=NIL,lk_rest=NIL,lk_key=NIL,lk_aux=NIL;
-LVAL lk_allow_other_keys=NIL;
-
-/* type names */
-LVAL a_subr=NIL,a_fsubr=NIL;
-LVAL a_cons=NIL,a_symbol=NIL,a_fixnum=NIL,a_flonum=NIL;
-LVAL a_string=NIL,a_object=NIL,a_stream=NIL,a_vector=NIL;
-LVAL a_extern = NIL;
-LVAL a_closure=NIL,a_char=NIL,a_ustream=NIL;
-
-/* evaluation variables */
-LVAL **xlstack = NULL,**xlstkbase = NULL,**xlstktop = NULL;
-LVAL xlenv=NIL,xlfenv=NIL,xldenv=NIL;
-
-/* argument stack */
-LVAL *xlargstkbase = NULL;	/* argument stack base */
-LVAL *xlargstktop = NULL;	/* argument stack top */
-LVAL *xlfp = NULL;		/* argument frame pointer */
-LVAL *xlsp = NULL;		/* argument stack pointer */
-LVAL *xlargv = NULL;		/* current argument vector */
-int xlargc = 0;			/* current argument count */
-
-/* exception handling variables */
-XLCONTEXT *xlcontext = NULL;	/* current exception handler */
-XLCONTEXT *xltarget = NULL;	/* target context (for xljump) */
-LVAL xlvalue=NIL;		/* exception value (for xljump) */
-int xlmask=0;			/* exception type (for xljump) */
-
-/* debugging variables */
-int xldebug = 0;		/* debug level */
-int xlsample = 0;		/* control character sample rate */
-int xltrcindent = 0;		/* trace indent level */
-
-/* gensym variables */
-char gsprefix[STRMAX+1] = { 'G',0 };	/* gensym prefix string */
-int gsnumber = 1;		/* gensym number */
-
-/* i/o variables */
-int xlfsize = 0;		/* flat size of current print call */
-FILE *tfp = NULL;		/* transcript file pointer */
-
-/* general purpose string buffer */
-char buf[STRMAX+1] = { 0 };
-
-int xlatomcount	= 0;	/* how many atoms are there? */
diff --git a/lib-src/libnyquist/xlisp/xlimage.c b/lib-src/libnyquist/xlisp/xlimage.c
deleted file mode 100644
index 23facca..0000000
--- a/lib-src/libnyquist/xlisp/xlimage.c
+++ /dev/null
@@ -1,403 +0,0 @@
-/* xlimage - xlisp memory image save/restore functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-#include "stdlib.h"
-#include "string.h"
-#include "xlisp.h"
-
-#ifdef SAVERESTORE
-
-/* external variables */
-extern LVAL obarray,s_gchook,s_gcflag;
-extern long nnodes,nfree,total;
-extern int anodes,nsegs,gccalls;
-extern struct segment *segs,*lastseg,*fixseg,*charseg;
-extern XLCONTEXT *xlcontext;
-extern LVAL fnodes;
-extern struct xtype_desc_struct desc_table[NTYPES];
-
-/* local variables */
-static OFFTYPE off,foff,doff;
-static FILE *fp;
-
-/* forward declarations */
-LOCAL OFFTYPE readptr(void);
-LOCAL OFFTYPE cvoptr(LVAL p);
-LOCAL LVAL cviptr(OFFTYPE o);
-LOCAL void writeptr(OFFTYPE off);
-LOCAL void setoffset(void);
-LOCAL void writenode(LVAL node);
-LOCAL void freeimage(void);
-LOCAL void readnode(int type, LVAL node);
-
-
-/* xlisave - save the memory image */
-int xlisave(char *fname)
-{
-    char fullname[STRMAX+1];
-    unsigned char *cp;
-    SEGMENT *seg;
-    int n,i,max;
-    LVAL p;
-
-    /* default the extension */
-    if (needsextension(fname)) {
-        strcpy(fullname,fname);
-        strcat(fullname,".wks");
-        fname = fullname;
-    }
-
-    /* open the output file */
-    if ((fp = osbopen(fname,"w")) == NULL)
-        return (FALSE);
-
-    /* first call the garbage collector to clean up memory */
-    gc();
-
-    /* invalidate extern type descriptor symbol caches */
-    inval_caches();	
-
-    /* write out the pointer to the *obarray* symbol */
-    writeptr(cvoptr(obarray));
-
-    /* setup the initial file offsets */
-    off = foff = (OFFTYPE)2;
-
-    /* write out all nodes that are still in use */
-    for (seg = segs; seg != NULL; seg = seg->sg_next) {
-        p = &seg->sg_nodes[0];
-        for (n = seg->sg_size; --n >= 0; ++p, off += 2)
-            switch (ntype(p)) {
-            case FREE_NODE:
-                break;
-            case CONS:
-            case USTREAM:
-                setoffset();
-                osbputc(p->n_type,fp);
-                writeptr(cvoptr(car(p)));
-                writeptr(cvoptr(cdr(p)));
-                foff += 2;
-                break;
-            case EXTERN:
-                setoffset();
-                osbputc(EXTERN, fp);
-/*		printf("saving EXTERN p = %x, desc %x\n", p, getdesc(p)); fflush(stdout);*/
-                writeptr((OFFTYPE) (getdesc(p) - desc_table)); /* write type index */
-                writeptr((OFFTYPE) 0); /* pointer gets reconstructed on input */
-                foff += 2;
-                break;
-            default:
-                setoffset();
-                writenode(p);
-                break;
-            }
-    }
-
-    /* write the terminator */
-    osbputc(FREE_NODE,fp);
-    writeptr((OFFTYPE)0);
-
-    /* write out data portion of SYMBOL/VECTOR/OBJECT/STRING/CLOSURE nodes */
-    for (seg = segs; seg != NULL; seg = seg->sg_next) {
-        p = &seg->sg_nodes[0];
-        for (n = seg->sg_size; --n >= 0; ++p)
-            switch (ntype(p)) {
-            case SYMBOL:
-            case OBJECT:
-            case VECTOR:
-            case CLOSURE:
-                max = getsize(p);
-                for (i = 0; i < max; ++i)
-                    writeptr(cvoptr(getelement(p,i)));
-                break;
-            case STRING:
-                max = getslength(p);
-                for (cp = getstring(p); --max >= 0; )
-                    osbputc(*cp++,fp);
-                break;
-            case EXTERN:
-/*		printf("saving extern data for p = %x\n", p);*/
-                (*(getdesc(p)->save_meth))(fp, getinst(p));
-                break;
-            }
-    }
-
-    /* close the output file */
-    osclose(fp);
-
-    /* return successfully */
-    return (TRUE);
-}
-
-/* xlirestore - restore a saved memory image */
-int xlirestore(char *fname)
-{
-    extern FUNDEF funtab[];
-    char fullname[STRMAX+1];
-    unsigned char *cp;
-    int n,i,max,type;
-    SEGMENT *seg;
-    LVAL p;
-
-    /* default the extension */
-    if (needsextension(fname)) {
-        strcpy(fullname,fname);
-        strcat(fullname,".wks");
-        fname = fullname;
-    }
-
-    /* open the file */
-    if ((fp = osbopen(fname,"r")) == NULL)
-        return (FALSE);
-
-    /* free the old memory image */
-    freeimage();
-
-    /* initialize */
-    off = (OFFTYPE)2;
-    total = nnodes = nfree = 0L;
-    fnodes = NIL;
-    segs = lastseg = NULL;
-    nsegs = gccalls = 0;
-    xlenv = xlfenv = xldenv = s_gchook = s_gcflag = NIL;
-    xlstack = xlstkbase + EDEPTH;
-    xlcontext = NULL;
-
-    /* create the fixnum segment */
-    if ((fixseg = newsegment(SFIXSIZE)) == NULL)
-        xlfatal("insufficient memory - fixnum segment");
-
-    /* create the character segment */
-    if ((charseg = newsegment(CHARSIZE)) == NULL)
-        xlfatal("insufficient memory - character segment");
-
-    /* read the pointer to the *obarray* symbol */
-    obarray = cviptr(readptr());
-
-    /* read each node */
-    while ((type = osbgetc(fp)) >= 0)
-        switch (type) {
-        case FREE_NODE:
-            if ((off = readptr()) == (OFFTYPE)0)
-                goto done;
-            break;
-        case CONS:
-        case USTREAM:
-            p = cviptr(off);
-            p->n_type = type;
-            p->n_flags = 0;
-            rplaca(p,cviptr(readptr()));
-            rplacd(p,cviptr(readptr()));
-            off += 2;
-            break;
-        case EXTERN:
-            p = cviptr(off);
-/*	    printf("reading extern node p = %x\n", p);*/
-            p->n_type = EXTERN;
-            setdesc(p, desc_table + (int) readptr());
-/*	    printf("type desc is %x\n", getdesc(p));*/
-            setinst(p, (unsigned char *) readptr());
-/*	    printf("initial inst is %x\n", getinst(p));*/
-            off += 2;
-            break;
-        default:
-            readnode(type,cviptr(off));
-            off += 2;
-            break;
-        }
-done:
-
-    /* read the data portion of SYMBOL/VECTOR/OBJECT/STRING/CLOSURE nodes */
-    for (seg = segs; seg != NULL; seg = seg->sg_next) {
-        p = &seg->sg_nodes[0];
-        for (n = seg->sg_size; --n >= 0; ++p)
-            switch (ntype(p)) {
-            case SYMBOL:
-            case OBJECT:
-            case VECTOR:
-            case CLOSURE:
-                max = getsize(p);
-                if ((p->n_vdata = (LVAL *)malloc(max * sizeof(LVAL))) == NULL)
-                    xlfatal("insufficient memory - vector");
-                total += (long)(max * sizeof(LVAL));
-                for (i = 0; i < max; ++i)
-                    setelement(p,i,cviptr(readptr()));
-                break;
-            case STRING:
-                max = getslength(p);
-                if ((p->n_string = (unsigned char *)malloc(max)) == NULL)
-                    xlfatal("insufficient memory - string");
-                total += (long)max;
-                for (cp = getstring(p); --max >= 0; )
-                    *cp++ = osbgetc(fp);
-                break;
-            case STREAM:
-                setfile(p,NULL);
-                break;
-            case SUBR:
-            case FSUBR:
-                p->n_subr = funtab[getoffset(p)].fd_subr;
-                break;
-            case EXTERN:
-/*		printf("restoring extern %x\n", p); fflush(stdout); */
-                setinst(p, (*(getdesc(p)->restore_meth))(fp));
-                break;
-            }
-    }
-
-    /* close the input file */
-    osclose(fp);
-
-    /* collect to initialize the free space */
-    gc();
-
-    /* lookup all of the symbols the interpreter uses */
-    xlsymbols();
-
-    /* return successfully */
-    return (TRUE);
-}
-
-/* freeimage - free the current memory image */
-LOCAL void freeimage(void)
-{
-    SEGMENT *seg,*next;
-    FILE *fp;
-    LVAL p;
-    int n;
-
-    /* free the data portion of SYMBOL/VECTOR/OBJECT/STRING nodes */
-    for (seg = segs; seg != NULL; seg = next) {
-        p = &seg->sg_nodes[0];
-        for (n = seg->sg_size; --n >= 0; ++p)
-            switch (ntype(p)) {
-            case SYMBOL:
-            case OBJECT:
-            case VECTOR:
-            case CLOSURE:
-                if (p->n_vsize)
-                    free(p->n_vdata);
-                break;
-            case STRING:
-                if (getslength(p))
-                    free((void *) getstring(p));
-                break;
-            case STREAM:
-                if ((fp = getfile(p)) && (fp != stdin && fp != stdout && fp != stderr))
-                    osclose(getfile(p));
-                break;
-            }
-        next = seg->sg_next;
-        free((void *) seg);
-    }
-}
-
-/* setoffset - output a positioning command if nodes have been skipped */
-LOCAL void setoffset(void)
-{
-    if (off != foff) {
-        osbputc(FREE_NODE,fp);
-        writeptr(off);
-        foff = off;
-    }
-}
-
-/* writenode - write a node to a file */
-LOCAL void writenode(LVAL node)
-{
-    char *p = (char *)&node->n_info;
-    int n = sizeof(union ninfo);
-    osbputc(node->n_type,fp);
-    while (--n >= 0)
-        osbputc(*p++,fp);
-    foff += 2;
-}
-
-/* writeptr - write a pointer to a file */
-LOCAL void writeptr(OFFTYPE off)
-{
-    char *p = (char *)&off;
-    int n = sizeof(OFFTYPE);
-    while (--n >= 0)
-        osbputc(*p++,fp);
-}
-
-/* readnode - read a node */
-LOCAL void readnode(int type, LVAL node)
-{
-    char *p = (char *)&node->n_info;
-    int n = sizeof(union ninfo);
-    node->n_type = type;
-    node->n_flags = 0;
-    while (--n >= 0)
-        *p++ = osbgetc(fp);
-}
-
-/* readptr - read a pointer */
-LOCAL OFFTYPE readptr(void)
-{
-    OFFTYPE off;
-    char *p = (char *)&off;
-    int n = sizeof(OFFTYPE);
-    while (--n >= 0)
-        *p++ = osbgetc(fp);
-    return (off);
-}
-
-/* cviptr - convert a pointer on input */
-LOCAL LVAL cviptr(OFFTYPE o)
-{
-    OFFTYPE off = (OFFTYPE)2;
-    SEGMENT *seg;
-
-    /* check for nil */
-    if (o == (OFFTYPE)0)
-        return ((LVAL)o);
-
-    /* compute a pointer for this offset */
-    for (seg = segs; seg != NULL; seg = seg->sg_next) {
-        if (o >= off && o < off + (OFFTYPE)(seg->sg_size << 1))
-            return (seg->sg_nodes + ((int)(o - off) >> 1));
-        off += (OFFTYPE)(seg->sg_size << 1);
-    }
-
-    /* create new segments if necessary */
-    for (;;) {
-
-        /* create the next segment */
-        if ((seg = newsegment(anodes)) == NULL)
-            xlfatal("insufficient memory - segment");
-
-        /* check to see if the offset is in this segment */
-        if (o >= off && o < off + (OFFTYPE)(seg->sg_size << 1))
-            return (seg->sg_nodes + ((int)(o - off) >> 1));
-        off += (OFFTYPE)(seg->sg_size << 1);
-    }
-}
-
-/* cvoptr - convert a pointer on output */
-LOCAL OFFTYPE cvoptr(LVAL p)
-{
-    OFFTYPE off = (OFFTYPE)2;
-    SEGMENT *seg;
-
-    /* check for nil and small fixnums */
-    if (p == NIL)
-        return ((OFFTYPE)p);
-
-    /* compute an offset for this pointer */
-    for (seg = segs; seg != NULL; seg = seg->sg_next) {
-        if (CVPTR(p) >= CVPTR(&seg->sg_nodes[0]) &&
-            CVPTR(p) <  CVPTR(&seg->sg_nodes[0] + seg->sg_size))
-            return (off + (OFFTYPE)((p - seg->sg_nodes) << 1));
-        off += (OFFTYPE)(seg->sg_size << 1);
-    }
-
-    /* pointer not within any segment */
-    xlerror("bad pointer found during image save",p);
-}
-
-#endif
-
diff --git a/lib-src/libnyquist/xlisp/xlinit.c b/lib-src/libnyquist/xlisp/xlinit.c
deleted file mode 100644
index cca079d..0000000
--- a/lib-src/libnyquist/xlisp/xlinit.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/* xlinit.c - xlisp initialization module */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use
-
- * HISTORY
- * 3-Apr-88	Dale Amon at CMU-CSD
- *	Added EXTERN to xlisp 2.0
- *
- * 18-Oct-87	Dale Amon at CMU-CSD
- *	Added initialization for new EXTERN node type.
- *
- * 12 Oct 90	RBD Added s_profile declaration
- *
- *  5 Jun 95    EAD took out extern init (put back when building nyquest)
- */
-
-
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL s_true,s_dot,s_unbound;
-extern LVAL s_quote,s_function,s_bquote,s_comma,s_comat;
-extern LVAL s_lambda,s_macro;
-extern LVAL s_stdin,s_stdout,s_stderr,s_debugio,s_traceout;
-extern LVAL s_evalhook,s_applyhook,s_tracelist;
-extern LVAL s_tracenable,s_tlimit,s_breakenable, s_profile;
-extern LVAL s_setf,s_car,s_cdr,s_nth,s_aref,s_get,s_eql;
-extern LVAL s_svalue,s_sfunction,s_splist;
-extern LVAL s_rtable,k_wspace,k_const,k_nmacro,k_tmacro;
-extern LVAL k_sescape,k_mescape;
-extern LVAL s_ifmt,s_ffmt,s_printcase;
-extern LVAL s_1plus,s_2plus,s_3plus,s_1star,s_2star,s_3star,s_minus;
-extern LVAL k_test,k_tnot;
-extern LVAL k_direction,k_input,k_output;
-extern LVAL k_start,k_end,k_1start,k_1end,k_2start,k_2end;
-extern LVAL k_verbose,k_print,k_count,k_key,k_upcase,k_downcase;
-extern LVAL lk_optional,lk_rest,lk_key,lk_aux,lk_allow_other_keys;
-extern LVAL a_subr,a_fsubr,a_cons,a_symbol;
-extern LVAL a_fixnum,a_flonum,a_string,a_stream,a_object;
-extern LVAL a_vector,a_closure,a_char,a_ustream,a_extern;
-extern LVAL s_gcflag,s_gchook;
-extern LVAL s_search_path;
-extern FUNDEF funtab[];
-
-/* forward declarations */
-FORWARD LOCAL void initwks();
-
-
-/* xlinit - xlisp initialization routine */
-void xlinit(void)
-{
-    /* initialize xlisp (must be in this order) */
-    xlminit();	/* initialize xldmem.c */
-    xldinit();	/* initialize xldbug.c */
-
-    /* finish initializing */
-#ifdef SAVERESTORE
-    if (!xlirestore("xlisp.wks"))
-#endif
-        initwks();
-    /* note: localinit creates type descriptors, but these
-       may be necessary for xlirestore to work.  On the other
-       hand, localinit creates atoms, so it needs obarray to
-       be in place, and obarray is created by initwks.  We may
-       have a circular dependency to break before xlirestore
-       will work
-     */
-
-    localinit();	 /* initialize lisp extensions */ 
-}
-
-/* initwks - build an initial workspace */
-LOCAL void initwks(void)
-{
-    FUNDEF *p;
-    int i;
-    
-    xlsinit();	/* initialize xlsym.c */
-    xlsymbols();/* enter all symbols used by the interpreter */
-    xlrinit();	/* initialize xlread.c */
-    xloinit();	/* initialize xlobj.c */
-
-    /* setup defaults */
-    setvalue(s_evalhook,NIL);		/* no evalhook function */
-    setvalue(s_applyhook,NIL);		/* no applyhook function */
-    setvalue(s_tracelist,NIL);		/* no functions being traced */
-    setvalue(s_tracenable,NIL);		/* traceback disabled */
-    setvalue(s_tlimit,NIL); 		/* trace limit infinite */
-    setvalue(s_breakenable,NIL);	/* don't enter break loop on errors */
-    setvalue(s_loadingfiles,NIL);       /* not loading any files initially */
-    setvalue(s_profile,NIL);		/* don't do profiling */
-    setvalue(s_gcflag,NIL);		/* don't show gc information */
-    setvalue(s_gchook,NIL);		/* no gc hook active */
-    setvalue(s_ifmt,cvstring(IFMT));	/* integer print format */
-    setvalue(s_ffmt,cvstring("%g"));	/* float print format */
-    setvalue(s_printcase,k_upcase);	/* upper case output of symbols */
-
-    /* install the built-in functions and special forms */
-    for (i = 0, p = funtab; p->fd_subr != NULL; ++i, ++p)
-        if (p->fd_name)
-            xlsubr(p->fd_name,p->fd_type,p->fd_subr,i);
-
-    /* add some synonyms */
-    setfunction(xlenter("NOT"),getfunction(xlenter("NULL")));
-    setfunction(xlenter("FIRST"),getfunction(xlenter("CAR")));
-    setfunction(xlenter("SECOND"),getfunction(xlenter("CADR")));
-    setfunction(xlenter("THIRD"),getfunction(xlenter("CADDR")));
-    setfunction(xlenter("FOURTH"),getfunction(xlenter("CADDDR")));
-    setfunction(xlenter("REST"),getfunction(xlenter("CDR")));
-}
-
-/* xlsymbols - enter all of the symbols used by the interpreter */
-void xlsymbols(void)
-{
-    LVAL sym;
-
-    /* enter the unbound variable indicator (must be first) */
-    s_unbound = xlenter("*UNBOUND*");
-    setvalue(s_unbound,s_unbound);
-
-    /* enter the 't' symbol */
-    s_true = xlenter("T");
-    setvalue(s_true,s_true);
-
-    /* enter some important symbols */
-    s_dot	= xlenter(".");
-    s_quote	= xlenter("QUOTE");
-    s_function	= xlenter("FUNCTION");
-    s_bquote	= xlenter("BACKQUOTE");
-    s_comma	= xlenter("COMMA");
-    s_comat	= xlenter("COMMA-AT");
-    s_lambda	= xlenter("LAMBDA");
-    s_macro	= xlenter("MACRO");
-    s_eql	= xlenter("EQL");
-    s_ifmt	= xlenter("*INTEGER-FORMAT*");
-    s_ffmt	= xlenter("*FLOAT-FORMAT*");
-
-    /* symbols set by the read-eval-print loop */
-    s_1plus	= xlenter("+");
-    s_2plus	= xlenter("++");
-    s_3plus	= xlenter("+++");
-    s_1star	= xlenter("*");
-    s_2star	= xlenter("**");
-    s_3star	= xlenter("***");
-    s_minus	= xlenter("-");
-
-    /* enter setf place specifiers */
-    s_setf	= xlenter("*SETF*");
-    s_car	= xlenter("CAR");
-    s_cdr	= xlenter("CDR");
-    s_nth	= xlenter("NTH");
-    s_aref	= xlenter("AREF");
-    s_get	= xlenter("GET");
-    s_svalue	= xlenter("SYMBOL-VALUE");
-    s_sfunction	= xlenter("SYMBOL-FUNCTION");
-    s_splist	= xlenter("SYMBOL-PLIST");
-
-    /* enter the readtable variable and keywords */
-    s_rtable	= xlenter("*READTABLE*");
-    k_wspace	= xlenter(":WHITE-SPACE");
-    k_const	= xlenter(":CONSTITUENT");
-    k_nmacro	= xlenter(":NMACRO");
-    k_tmacro	= xlenter(":TMACRO");
-    k_sescape	= xlenter(":SESCAPE");
-    k_mescape	= xlenter(":MESCAPE");
-
-    /* enter parameter list keywords */
-    k_test	= xlenter(":TEST");
-    k_tnot	= xlenter(":TEST-NOT");
-
-    /* "open" keywords */
-    k_direction = xlenter(":DIRECTION");
-    k_input     = xlenter(":INPUT");
-    k_output    = xlenter(":OUTPUT");
-
-    /* enter *print-case* symbol and keywords */
-    s_printcase = xlenter("*PRINT-CASE*");
-    k_upcase	= xlenter(":UPCASE");
-    k_downcase  = xlenter(":DOWNCASE");
-
-    /* other keywords */
-    k_start	= xlenter(":START");
-    k_end	= xlenter(":END");
-    k_1start	= xlenter(":START1");
-    k_1end	= xlenter(":END1");
-    k_2start	= xlenter(":START2");
-    k_2end	= xlenter(":END2");
-    k_verbose	= xlenter(":VERBOSE");
-    k_print	= xlenter(":PRINT");
-    k_count	= xlenter(":COUNT");
-    k_key	= xlenter(":KEY");
-
-    /* enter lambda list keywords */
-    lk_optional	= xlenter("&OPTIONAL");
-    lk_rest	= xlenter("&REST");
-    lk_key	= xlenter("&KEY");
-    lk_aux	= xlenter("&AUX");
-    lk_allow_other_keys = xlenter("&ALLOW-OTHER-KEYS");
-
-    /* enter *standard-input*, *standard-output* and *error-output* */
-    s_stdin = xlenter("*STANDARD-INPUT*");
-    setvalue(s_stdin,cvfile(stdin));
-    s_stdout = xlenter("*STANDARD-OUTPUT*");
-    setvalue(s_stdout,cvfile(stdout));
-    s_stderr = xlenter("*ERROR-OUTPUT*");
-    setvalue(s_stderr,cvfile(STDERR));
-
-    /* enter *debug-io* and *trace-output* */
-    s_debugio = xlenter("*DEBUG-IO*");
-    setvalue(s_debugio,getvalue(s_stderr));
-    s_traceout = xlenter("*TRACE-OUTPUT*");
-    setvalue(s_traceout,getvalue(s_stderr));
-
-    /* enter the eval and apply hook variables */
-    s_evalhook = xlenter("*EVALHOOK*");
-    s_applyhook = xlenter("*APPLYHOOK*");
-
-    /* enter the symbol pointing to the list of functions being traced */
-    s_tracelist = xlenter("*TRACELIST*");
-
-    /* enter the error traceback and the error break enable flags */
-    s_tracenable = xlenter("*TRACENABLE*");
-    s_tlimit = xlenter("*TRACELIMIT*");
-    s_breakenable = xlenter("*BREAKENABLE*");
-    s_profile = xlenter("*PROFILE*");
-
-    /* enter the symbol pointing to the list of loading files */
-    s_loadingfiles = xlenter("*LOADINGFILES*");
-
-    /* enter a symbol to control printing of garbage collection messages */
-    s_gcflag = xlenter("*GC-FLAG*");
-    s_gchook = xlenter("*GC-HOOK*");
-
-    /* enter the symbol for the search path */
-    s_search_path = xlenter("*SEARCH-PATH*");
-
-    /* enter a copyright notice into the oblist */
-    sym = xlenter("**Copyright-1988-by-David-Betz**");
-    setvalue(sym,s_true);
-
-    /* enter type names */
-    a_subr	= xlenter("SUBR");
-    a_fsubr	= xlenter("FSUBR");
-    a_cons	= xlenter("CONS");
-    a_symbol	= xlenter("SYMBOL");
-    a_fixnum	= xlenter("FIXNUM");
-    a_flonum	= xlenter("FLONUM");
-    a_string	= xlenter("STRING");
-    a_object	= xlenter("OBJECT");
-    a_stream	= xlenter("FILE-STREAM");
-    a_vector	= xlenter("ARRAY");
-    a_extern	= xlenter("EXTERN");
-    a_closure	= xlenter("CLOSURE");
-    a_char      = xlenter("CHARACTER");
-    a_ustream	= xlenter("UNNAMED-STREAM");
-
-    /* add the object-oriented programming symbols and os specific stuff */
-    obsymbols();	/* object-oriented programming symbols */
-    ossymbols();	/* os specific symbols */
-    localsymbols();	/*  lisp extension symbols */
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlio.c b/lib-src/libnyquist/xlisp/xlio.c
deleted file mode 100644
index 6ba0b92..0000000
--- a/lib-src/libnyquist/xlisp/xlio.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/* xlio - xlisp i/o routines */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL s_stdin,s_stdout,s_stderr,s_debugio,s_traceout,s_unbound;
-extern int xlfsize;
-
-/* xlgetc - get a character from a file or stream */
-int xlgetc(LVAL fptr)
-{
-    LVAL lptr, cptr=NULL;
-    FILE *fp;
-    int ch;
-
-    /* check for input from nil */
-    if (fptr == NIL)
-        ch = EOF;
-
-    /* otherwise, check for input from a stream */
-    else if (ustreamp(fptr)) {
-        if ((lptr = gethead(fptr)) == NIL)
-            ch = EOF;
-        else {
-            if (!consp(lptr) || (cptr = car(lptr)) == NIL || !charp(cptr))
-                xlfail("bad stream");
-            sethead(fptr,lptr = cdr(lptr));
-            if (lptr == NIL)
-                settail(fptr,NIL);
-            ch = getchcode(cptr);
-        }
-    }
-
-    /* otherwise, check for a buffered character */
-    else if ((ch = getsavech(fptr)))
-        setsavech(fptr,'\0');
-
-    /* otherwise, check for terminal input or file input */
-    else {
-        fp = getfile(fptr);
-        if (fp == stdin || fp == STDERR)
-            ch = ostgetc();
-        else
-            ch = osagetc(fp);
-    }
-
-    /* return the character */
-    return (ch);
-}
-
-/* xlungetc - unget a character */
-void xlungetc(LVAL fptr, int ch)
-{
-    LVAL lptr;
-    
-    /* check for ungetc from nil */
-    if (fptr == NIL)
-        ;
-        
-    /* otherwise, check for ungetc to a stream */
-    if (ustreamp(fptr)) {
-        if (ch != EOF) {
-            lptr = cons(cvchar(ch),gethead(fptr));
-            if (gethead(fptr) == NIL)
-                settail(fptr,lptr);
-            sethead(fptr,lptr);
-        }
-    }
-    
-    /* otherwise, it must be a file */
-    else
-        setsavech(fptr,ch);
-}
-
-/* xlpeek - peek at a character from a file or stream */
-int xlpeek(LVAL fptr)
-{
-    LVAL lptr, cptr=NULL;
-    int ch;
-
-    /* check for input from nil */
-    if (fptr == NIL)
-        ch = EOF;
-
-    /* otherwise, check for input from a stream */
-    else if (ustreamp(fptr)) {
-        if ((lptr = gethead(fptr)) == NIL)
-            ch = EOF;
-        else {
-            if (!consp(lptr) || (cptr = car(lptr)) == NIL || !charp(cptr))
-                xlfail("bad stream");
-            ch = getchcode(cptr);
-        }
-    }
-
-    /* otherwise, get the next file character and save it */
-    else {
-        ch = xlgetc(fptr);
-        setsavech(fptr,ch);
-    }
-
-    /* return the character */
-    return (ch);
-}
-
-/* xlputc - put a character to a file or stream */
-void xlputc(LVAL fptr, int ch)
-{
-    LVAL lptr;
-    FILE *fp;
-
-    /* count the character */
-    ++xlfsize;
-
-    /* check for output to nil */
-    if (fptr == NIL)
-        ;
-
-    /* otherwise, check for output to an unnamed stream */
-    else if (ustreamp(fptr)) {
-        lptr = consa(cvchar(ch));
-        if (gettail(fptr))
-            rplacd(gettail(fptr),lptr);
-        else
-            sethead(fptr,lptr);
-        settail(fptr,lptr);
-    }
-
-    /* otherwise, check for terminal output or file output */
-    else {
-        fp = getfile(fptr);
-        if (!fp)
-            xlfail("file not open");
-        else if (fp == stdout || fp == STDERR)
-            ostputc(ch);
-        else
-            osaputc(ch,fp);
-    }
-}
-
-/* xlflush - flush the input buffer */
-void xlflush(void)
-{
-    osflush();
-}
-
-/* stdprint - print to *standard-output* */
-void stdprint(LVAL expr)
-{
-    xlprint(getvalue(s_stdout),expr,TRUE);
-    xlterpri(getvalue(s_stdout));
-}
-
-/* stdputstr - print a string to *standard-output* */
-void stdputstr(char *str)
-{
-    xlputstr(getvalue(s_stdout),str);
-}
-
-/* errprint - print to *error-output* */
-void errprint(LVAL expr)
-{
-    xlprint(getvalue(s_stderr),expr,TRUE);
-    xlterpri(getvalue(s_stderr));
-}
-
-/* errputstr - print a string to *error-output* */
-void errputstr(char *str)
-{
-    xlputstr(getvalue(s_stderr),str);
-}
-
-/* dbgprint - print to *debug-io* */
-void dbgprint(LVAL expr)
-{
-    xlprint(getvalue(s_debugio),expr,TRUE);
-    xlterpri(getvalue(s_debugio));
-}
-
-/* dbgputstr - print a string to *debug-io* */
-void dbgputstr(char *str)
-{
-    xlputstr(getvalue(s_debugio),str);
-}
-
-/* trcprin1 - print to *trace-output* */
-void trcprin1(LVAL expr)
-{
-    xlprint(getvalue(s_traceout),expr,TRUE);
-}
-
-/* trcputstr - print a string to *trace-output* */
-void trcputstr(char *str)
-{
-    xlputstr(getvalue(s_traceout),str);
-}
-
-
diff --git a/lib-src/libnyquist/xlisp/xlisp.c b/lib-src/libnyquist/xlisp/xlisp.c
deleted file mode 100644
index 86e1eb5..0000000
--- a/lib-src/libnyquist/xlisp/xlisp.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/* xlisp.c - a small implementation of lisp with object-oriented programming */
-/*	Copyright (c) 1987, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGELOG:
-  8 Oct 90 (Dannenberg) changed main() to xlisp_main_init and xlisp_main.
-               made xlisp run as a module that evaluates expressions and
-               retains state
- */
-
-#include "switches.h"
-#include "stdlib.h"	/* declares exit() */
-#include "cext.h"
-#include "xlisp.h"
-#ifdef MACINTOSH
-#include "Memory.h"
-#endif
-
-FORWARD void xlisp_wrapup(void);
-
-/* define the banner line string */
-#ifdef EXT
-#ifdef NYQUIST
-#define BANNER "XLISP version 2.0, Copyright (c) 1986, by David Betz"
-#else
-#define BANNER "Music Editor, Copyright (c) 1987, by Roger B. Dannenberg\n\
-XLISP version 2.0, Copyright (c) 1986, by David Betz"
-#endif
-#else
-#ifdef CMTSTUFF
-#define BANNER "XLISP version 2.0, Copyright (c) 1986, by David Betz\n\
-CMU MIDI Toolkit, Copyright (c) 1993,1994, by Roger B. Dannenberg"
-#else
-#define BANNER "XLISP version 2.0, Copyright (c) 1986, by David Betz"
-#endif
-#endif
-
-/* global variables */
-jmp_buf top_level;
-int in_a_context = FALSE;
-int xl_main_loop = FALSE;
-
-/* external variables */
-extern LVAL s_stdin,s_evalhook,s_applyhook;
-extern LVAL s_1plus,s_2plus,s_3plus,s_1star,s_2star,s_3star,s_minus;
-extern int xltrcindent;
-extern int xldebug;
-extern LVAL s_true;
-extern char buf[];
-extern FILE *tfp;
-
-/* external routines */
-extern FILE *osaopen();
-
-/* xlisp_main_init - the main initialization routine */
-void xlisp_main_init(int argc, char *argv[])
-{
-    char *transcript;
-    XLCONTEXT cntxt;
-    int verbose,i;
-         
-    /* setup default argument values */
-    transcript = NULL;
-    verbose = FALSE;
-
-    /* parse the argument list switches */
-#ifndef LSC
-    for (i = 1; i < argc; ++i)
-        if (argv[i][0] == '-')
-            switch(argv[i][1]) {
-            case 't':
-            case 'T':
-                transcript = &argv[i][2];
-                break;
-            case 'v':
-            case 'V':
-                verbose = TRUE;
-                break;
-            }
-#endif
-
-    /* initialize and print the banner line */
-    osinit(BANNER);
-
-    /* setup initialization error handler */
-    xlbegin(&cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,(LVAL)1);
-    if (setjmp(cntxt.c_jmpbuf))
-        xlfatal("fatal initialization error");
-    if (setjmp(top_level))
-        xlfatal("RESTORE not allowed during initialization");
-
-    /* initialize xlisp */
-    xlinit();
-    xlend(&cntxt);
-
-#ifdef EXT
-    /* special initialization */
-#include "xlextstart.c"
-#endif
-
-    /* reset the error handler */
-    xlbegin(&cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,s_true);
-
-    /* open the transcript file */
-    if (transcript && (tfp = osaopen(transcript,"w")) == NULL) {
-        sprintf(buf,"error: can't open transcript file: %s",transcript);
-        stdputstr(buf);
-    }
-
-    /* load "init.lsp" */
-    if (setjmp(cntxt.c_jmpbuf) == 0)
-        xlload("init.lsp",TRUE,FALSE);
-
-    /* load any files mentioned on the command line */
-    if (setjmp(cntxt.c_jmpbuf) == 0)
-        for (i = 1; i < argc; i++)
-            if (argv[i][0] != '-' && !xlload(argv[i],TRUE,verbose))
-                xlerror("can't load file",cvstring(argv[i]));
-    xlend(&cntxt);
-    if (setjmp(top_level))
-        xlfatal("RESTORE not allowed out of read-eval-print loop");
-}
-
-
-/* xlisp_eval -- evaluate an expression created externally */
-LVAL xlisp_eval(LVAL expr)
-{
-    int was_in_a_context = in_a_context;
-    XLCONTEXT cntxt;
-
-    if (in_a_context == FALSE) {
-        /* create an execution context */
-        xlbegin(&cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,s_true);
-        if (setjmp(cntxt.c_jmpbuf)) {
-            setvalue(s_evalhook,NIL);
-            setvalue(s_applyhook,NIL);
-            xltrcindent = 0;
-            xldebug = 0;
-            xlflush();
-            oserror("xlisp_eval returning NIL to caller");
-            in_a_context = FALSE;
-            return NIL;
-        }
-        in_a_context = TRUE;
-    }
-
-    expr = xleval(expr);
-
-    if (!was_in_a_context) {
-        xlend(&cntxt);
-        in_a_context = FALSE;
-    }
-    return expr;
-}
-
-
-/* xlisp_main -- run normal lisp read-eval-print loop */
-void xlisp_main()
-{
-    LVAL expr;
-    XLCONTEXT cntxt;
-
-    /* build an outer-most context */
-    xlbegin(&cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,s_true);
-    in_a_context = TRUE;
-
-    /* target for restore */
-    if (setjmp(top_level))
-        xlbegin(&cntxt,CF_TOPLEVEL|CF_CLEANUP|CF_BRKLEVEL,s_true);
-
-    /* protect some pointers */
-    xlsave1(expr);
-
-    /* main command processing loop */
-    for (xl_main_loop = TRUE; xl_main_loop;) {
-
-        /* setup the error return */
-        if (setjmp(cntxt.c_jmpbuf)) {
-            setvalue(s_evalhook,NIL);
-            setvalue(s_applyhook,NIL);
-            xltrcindent = 0;
-            xldebug = 0;
-            xlflush();
-        }
-
-        #ifndef READLINE
-        /* print a prompt */
-        stdputstr("> ");
-        #endif
-
-        /* read an expression */
-        if (!xlread(getvalue(s_stdin),&expr,FALSE))
-            break;
-
-        /* save the input expression */
-        xlrdsave(expr);
-
-        /* evaluate the expression */
-        expr = xleval(expr);
-
-        /* save the result */
-        xlevsave(expr);
-
-        /* print it */
-        stdprint(expr);
-    }
-    xlend(&cntxt);
-    in_a_context = FALSE;
-}
-
-/* #include "alloca.h" -- what was this for? -RBD */
-
-#ifndef EXT
-int main(int argc, char *argv[])
-{
-    xlisp_main_init(argc,argv);
-    xlisp_main();
-
-    /* clean up */
-    xlisp_wrapup();
-    return 0;
-}
-#endif
-
-
-/* xlrdsave - save the last expression returned by the reader */
-void xlrdsave(LVAL expr)
-{
-    setvalue(s_3plus,getvalue(s_2plus));
-    setvalue(s_2plus,getvalue(s_1plus));
-    setvalue(s_1plus,getvalue(s_minus));
-    setvalue(s_minus,expr);
-}
-
-/* xlevsave - save the last expression returned by the evaluator */
-void xlevsave(LVAL expr)
-{
-    setvalue(s_3star,getvalue(s_2star));
-    setvalue(s_2star,getvalue(s_1star));
-    setvalue(s_1star,expr);
-}
-
-/* xlfatal - print a fatal error message and exit */
-void xlfatal(char *msg)
-{
-    oserror(msg);
-    xlisp_wrapup();
-}
-
-/* wrapup - clean up and exit to the operating system */
-void xlisp_wrapup(void)
-{
-    if (tfp)
-        osclose(tfp);
-    osfinish();
-#ifdef CMTSTUFF
-    EXIT(0);
-#else
-    exit(0);
-#endif
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlisp.h b/lib-src/libnyquist/xlisp/xlisp.h
deleted file mode 100644
index e6d08c0..0000000
--- a/lib-src/libnyquist/xlisp/xlisp.h
+++ /dev/null
@@ -1,981 +0,0 @@
-/* xlisp - a small subset of lisp */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use
-
-HISTORY
-02-Apr-04   Matt Brubeck (patch from Stephen Gildea)
-                Remove broken PMAX-specific code (fixes 
-                compilation on Linux/MIPS).
-28-Apr-03   Mazzoni
-                Added declarations for path.c (new file)
-30-Mar-88	Dale Amon CMU-CSD
-                Set it up for unix. Picked _TURBOC_  because defs
-                are reasonable.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <setjmp.h>
-
-/* NNODES	number of nodes to allocate in each request (1000) */
-/* EDEPTH	evaluation stack depth (2000) */
-/* ADEPTH	argument stack depth (1000) */
-/* FORWARD	type of a forward declaration () */
-/* LOCAL	type of a local function (static) */
-/* AFMT		printf format for addresses ("%x") */
-/* FIXTYPE	data type for fixed point numbers (long) */
-/* ITYPE	fixed point input conversion routine type (long atol()) */
-/* ICNV		fixed point input conversion routine (atol) */
-/* IFMT		printf format for fixed point numbers ("%ld") */
-/* FLOTYPE	data type for floating point numbers (float) */
-/* OFFTYPE	number the size of an address (int) */
-
-/* for the Win32 environment */
-#ifdef WIN32
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define SAVERESTORE
-#define XL_LITTLE_ENDIAN 
-#endif
-
-/* for the Turbo C compiler - MS-DOS, large model */
-#ifdef _TURBOC_
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define SAVERESTORE
-#define XL_LITTLE_ENDIAN
-#endif
-
-/* for the AZTEC C compiler - MS-DOS, large model */
-#ifdef AZTEC_LM
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define CVPTR(x)	ptrtoabs(x)
-#define NIL		(void *)0
-extern long ptrtoabs();
-#define SAVERESTORE
-#define XL_LITTLE_ENDIAN
-#endif
-
-/* for the AZTEC C compiler - Macintosh */
-#ifdef AZTEC_MAC
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define NIL		(void *)0
-#define SAVERESTORE
-#define XL_BIG_ENDIAN
-#endif
-
-/* for the AZTEC C compiler - Amiga */
-#ifdef AZTEC_AMIGA
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define NIL		(void *)0
-#define SAVERESTORE
-#define XL_BIG_ENDIAN
-#endif
-
-/* for the Lightspeed C compiler - Macintosh */
-#ifdef LSC
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define NIL		(void *)0
-#define SAVERESTORE
-#define XL_BIG_ENDIAN
-#endif
-
-/* for the Microsoft C compiler - MS-DOS, large model */
-#ifdef MSC
-#define NNODES		2000
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define XL_LITTLE_ENDIAN
-#endif
-
-/* for the Mark Williams C compiler - Atari ST */
-#ifdef MWC
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#define XL_BIG_ENDIAN
-#endif
-
-/* for the Lattice C compiler - Atari ST */
-#ifdef LATTICE
-#define FIXTYPE		int
-#define ITYPE		int atoi()
-#define ICNV(n)		atoi(n)
-#define IFMT		"%d"
-#define XL_BIG_ENDIAN
-#endif
-
-/* for the Digital Research C compiler - Atari ST */
-#ifdef DR
-#define LOCAL
-#define AFMT		"%lx"
-#define OFFTYPE		long
-#undef NULL
-#define NULL		0L
-#define XL_BIG_ENDIAN
-#endif
-
-#ifdef ANDREW
-#define STDERR stdout
-#endif
-
-/* Mac Metrowerks CW 6 */
-#ifdef __MWERKS__
-#define LSC
-#undef PATHNAMES
-#undef FILETABLE
-#undef SAVERESTORE
-#undef MEDMEM
-#define EDEPTH 4000
-#define ADEPTH 3000
-#define OSAOPEN osaopen
-#define OSBOPEN osbopen
-#define NO_EXTENSIONS  /* don't add ".lsp" onto filenames */
-#define XL_BIG_ENDIAN
-#endif
-
-/* Linux on Pentium */
-#ifdef __linux__
-#ifdef __i386__
-#define LINUX_INTEL
-#endif
-#endif
-
-#ifdef LINUX_INTEL
-#define XL_LITTLE_ENDIAN
-#endif
-
-/* default important definitions */
-#ifndef NNODES
-#define NNODES		1000
-#endif
-#ifndef NTYPES
-#define NTYPES		20
-#endif
-#ifndef EDEPTH
-/* originally was 2000 */
-#define EDEPTH		4000
-#endif
-#ifndef ADEPTH
-/* originally was 1000 */
-#define ADEPTH		2000
-#endif
-#ifndef FORWARD
-#define FORWARD
-#endif
-#ifndef LOCAL
-#define LOCAL		static
-#endif
-#ifndef AFMT
-#define AFMT		"%x"
-#endif
-#ifndef FIXTYPE
-#define FIXTYPE		long
-#endif
-#ifndef ITYPE
-#ifndef atol  /* if atol is a macro, this will mess things up */
-#define ITYPE		long atol()
-#endif
-#endif
-#ifndef ICNV
-#define ICNV(n)		atol(n)
-#endif
-#ifndef IFMT
-#define IFMT		"%ld"
-#endif
-#ifndef FLOTYPE
-#define FLOTYPE		double
-#endif
-#ifndef OFFTYPE
-#define OFFTYPE		int
-#endif
-#ifndef CVPTR
-#define CVPTR(x)	(x)
-#endif
-#ifndef UCHAR
-#define UCHAR		unsigned char
-#endif
-
-#ifndef STDERR
-#define STDERR stderr
-#endif
-
-/* useful definitions */
-#ifndef TRUE
-#define TRUE	1
-#define FALSE	0
-#endif
-#define externp(x) ((x) && ntype(x) == EXTERN)
-#ifndef NIL
-#define NIL	(LVAL )0
-#endif
-
-/* include the dynamic memory definitions */
-#include "xldmem.h"
-
-/* program limits */
-#define STRMAX		1024		/* maximum length of a string constant */
-#define HSIZE		1499		/* symbol hash table size */
-#define SAMPLE		1000		/* control character sample rate */
-
-/* function table offsets for the initialization functions */
-#define FT_RMHASH	0
-#define FT_RMQUOTE	1
-#define FT_RMDQUOTE	2
-#define FT_RMBQUOTE	3
-#define FT_RMCOMMA	4
-#define FT_RMLPAR	5
-#define FT_RMRPAR	6
-#define FT_RMSEMI	7
-#define FT_CLNEW	10
-#define FT_CLISNEW	11
-#define FT_CLANSWER	12
-#define FT_OBISNEW	13
-#define FT_OBCLASS	14
-#define FT_OBSHOW	15
-        
-/* macro to push a value onto the argument stack */
-#define pusharg(x)	{if (xlsp >= xlargstktop) xlargstkoverflow();\
-                         *xlsp++ = (x);}
-
-/* #define DEBUG_GC */
-
-/* macros to protect pointers */
-#ifdef DEBUG_GC
-void dbg_gc_xlsave(LVAL *n);
-
-#define xlstkcheck(n)	{if (xlstack - (n) < xlstkbase) xlstkoverflow();}
-#define xlsave(n)	{*--xlstack = &n; n = NIL; dbg_gc_xlsave(&n);}
-#define xlprotect(n)	{*--xlstack = &n; dbg_gc_xlsave(&n);}
-
-/* check the stack and protect a single pointer */
-#define xlsave1(n)	{if (xlstack <= xlstkbase) xlstkoverflow();\
-                         *--xlstack = &n; n = NIL; dbg_gc_xlsave(&n);}
-#define xlprot1(n)	{if (xlstack <= xlstkbase) xlstkoverflow();\
-                         *--xlstack = &n; dbg_gc_xlsave(&n);}
-
-/* macros to pop pointers off the stack */
-#define xlpop()		{++xlstack;}
-#define xlpopn(n)	{xlstack+=(n);}
-
-#else
-
-#define xlstkcheck(n)	{if (xlstack - (n) < xlstkbase) xlstkoverflow();}
-#define xlsave(n)	{*--xlstack = &n; n = NIL;}
-#define xlprotect(n)	{*--xlstack = &n;}
-
-/* check the stack and protect a single pointer */
-#define xlsave1(n)	{if (xlstack <= xlstkbase) xlstkoverflow();\
-                         *--xlstack = &n; n = NIL;}
-#define xlprot1(n)	{if (xlstack <= xlstkbase) xlstkoverflow();\
-                         *--xlstack = &n;}
-
-/* macros to pop pointers off the stack */
-#define xlpop()		{++xlstack;}
-#define xlpopn(n)	{xlstack+=(n);}
-#endif
-
-/* macros to manipulate the lexical environment */
-#define xlframe(e)	cons(NIL,e)
-#define xlbind(s,v)	xlpbind(s,v,xlenv)
-#define xlfbind(s,v)	xlpbind(s,v,xlfenv);
-#define xlpbind(s,v,e)	{rplaca(e,cons(cons(s,v),car(e)));}
-
-/* macros to manipulate the dynamic environment */
-#define xldbind(s,v)	{xldenv = cons(cons(s,getvalue(s)),xldenv);\
-                         setvalue(s,v);}
-#define xlunbind(e)	{for (; xldenv != (e); xldenv = cdr(xldenv))\
-                           setvalue(car(car(xldenv)),cdr(car(xldenv)));}
-
-/* type predicates */			       
-#define atomp(x)		((x) == NIL || ntype(x) != CONS)
-#define null(x)		((x) == NIL)
-#define listp(x)	((x) == NIL || ntype(x) == CONS)
-#define consp(x)	((x) && ntype(x) == CONS)
-#define subrp(x)	((x) && ntype(x) == SUBR)
-#define fsubrp(x)	((x) && ntype(x) == FSUBR)
-#define stringp(x)	((x) && ntype(x) == STRING)
-#define symbolp(x)	((x) && ntype(x) == SYMBOL)
-#define streamp(x)	((x) && ntype(x) == STREAM)
-#define objectp(x)	((x) && ntype(x) == OBJECT)
-#define fixp(x)		((x) && ntype(x) == FIXNUM)
-#define floatp(x)	((x) && ntype(x) == FLONUM)
-#define vectorp(x)	((x) && ntype(x) == VECTOR)
-#define closurep(x)	((x) && ntype(x) == CLOSURE)
-#define charp(x)	((x) && ntype(x) == CHAR)
-#define ustreamp(x)	((x) && ntype(x) == USTREAM)
-#define boundp(x)	(getvalue(x) != s_unbound)
-#define fboundp(x)	(getfunction(x) != s_unbound)
-
-/* shorthand functions */
-#define consa(x)	cons(x,NIL)
-#define consd(x)	cons(NIL,x)
-
-/* argument list parsing macros */
-#define xlgetarg()	(testarg(nextarg()))
-#define xllastarg()	{if (xlargc != 0) xltoomany();}
-#define testarg(e)	(moreargs() ? (e) : xltoofew())
-#define typearg(tp)	(tp(*xlargv) ? nextarg() : xlbadtype(*xlargv))
-#define nextarg()	(--xlargc, *xlargv++)
-#define moreargs()	(xlargc > 0)
-
-/* macros to get arguments of a particular type */
-#define xlgacons()	(testarg(typearg(consp)))
-#define xlgalist()	(testarg(typearg(listp)))
-#define xlgasymbol()	(testarg(typearg(symbolp)))
-#define xlgastring()	(testarg(typearg(stringp)))
-#define xlgaobject()	(testarg(typearg(objectp)))
-#define xlgafixnum()	(testarg(typearg(fixp)))
-#define xlgaflonum()	(testarg(typearg(floatp)))
-#define xlgachar()	(testarg(typearg(charp)))
-#define xlgavector()	(testarg(typearg(vectorp)))
-#define xlgastream()	(testarg(typearg(streamp)))
-#define xlgaustream()	(testarg(typearg(ustreamp)))
-#define xlgaclosure()	(testarg(typearg(closurep)))
-
-/* function definition structure */
-typedef struct {
-    char *fd_name;	/* function name */
-    int fd_type;	/* function type */
-    LVAL (*fd_subr)(void);	/* function entry point */
-} FUNDEF;
-
-/* execution context flags */
-#define CF_GO		0x0001
-#define CF_RETURN	0x0002
-#define CF_THROW	0x0004
-#define CF_ERROR	0x0008
-#define CF_CLEANUP	0x0010
-#define CF_CONTINUE	0x0020
-#define CF_TOPLEVEL	0x0040
-#define CF_BRKLEVEL	0x0080
-#define CF_UNWIND	0x0100
-
-
-/* execution context */
-typedef struct context {
-    int c_flags;			/* context type flags */
-    LVAL c_expr;			/* expression (type dependant) */
-    jmp_buf c_jmpbuf;			/* longjmp context */
-    struct context *c_xlcontext;	/* old value of xlcontext */
-    LVAL **c_xlstack;			/* old value of xlstack */
-    LVAL *c_xlargv;			/* old value of xlargv */
-    int c_xlargc;			/* old value of xlargc */
-    LVAL *c_xlfp;			/* old value of xlfp */
-    LVAL *c_xlsp;			/* old value of xlsp */
-    LVAL c_xlenv;			/* old value of xlenv */
-    LVAL c_xlfenv;			/* old value of xlfenv */
-    LVAL c_xldenv;			/* old value of xldenv */
-} XLCONTEXT;
-
-/* external variables */
-extern LVAL **xlstktop;       	/* top of the evaluation stack */
-extern LVAL **xlstkbase;	/* base of the evaluation stack */
-extern LVAL **xlstack;		/* evaluation stack pointer */
-extern LVAL *xlargstkbase;	/* base of the argument stack */
-extern LVAL *xlargstktop;	/* top of the argument stack */
-extern LVAL *xlfp;		/* argument frame pointer */
-extern LVAL *xlsp;		/* argument stack pointer */
-extern LVAL *xlargv;		/* current argument vector */
-extern int xlargc;		/* current argument count */
-
-/* more external variables */
-extern LVAL xlenv,xlfenv,xldenv,xlvalue,s_true;
-extern LVAL lk_optional,lk_rest,lk_key,lk_aux,lk_allow_other_keys;
-extern LVAL s_evalhook,s_applyhook,s_tracelist;
-extern LVAL s_lambda,s_macro;
-extern LVAL s_unbound;
-extern int xlsample;
-extern char buf[];
-extern LVAL obarray,s_gcflag,s_gchook;
-extern int xldebug;
-extern LVAL s_debugio;
-extern LVAL s_tracenable,s_tlimit,s_breakenable;
-extern LVAL s_loadingfiles;
-extern LVAL k_direction,k_input,k_output;
-extern LVAL s_stdin,s_stdout;
-extern int xlfsize;
-/* external variables */
-extern LVAL s_car,s_cdr,s_nth,s_get,s_svalue,s_splist,s_aref;
-extern LVAL s_comma,s_comat;
-extern char gsprefix[];
-extern int gsnumber;
-
-
-/* additional prototypes */
-
-extern FILE *osaopen (char *name, char *mode);
-extern FILE *osbopen (char *name, char *mode);
-
-#ifdef __MWERKS__
-/* macfun.c */
-
-LVAL xptsize(void);
-LVAL xhidepen(void);
-LVAL xshowpen(void);
-LVAL xgetpen(void);
-LVAL xpenmode(void);
-LVAL xpensize(void);
-LVAL xpenpat(void);
-LVAL xpennormal(void);
-LVAL xmoveto(void);
-LVAL xmove(void);
-LVAL xdrawto(void);
-LVAL xdraw(void);
-LVAL xshowgraphics(void);
-LVAL xhidegraphics(void);
-LVAL xcleargraphics(void);
-LVAL xtool(void);
-LVAL xtool16(void);
-LVAL xtool32(void);
-LVAL xnewhandle(void);
-LVAL xnewptr(void);
-LVAL xhiword(void);
-LVAL xloword(void);
-LVAL xrdnohang(void);
-/* #include "macstuff.h" */
-#endif
-
-/* for extern.c */
-
-void inval_caches();
-
-
-/* for xlbfun.c */
-
-LVAL xeval(void);
-LVAL xapply(void);
-LVAL xfuncall(void);
-LVAL xmacroexpand(void);
-LVAL x1macroexpand(void);
-LVAL xatom(void);
-LVAL xsymbolp(void);
-LVAL xnumberp(void);
-LVAL xintegerp(void);
-LVAL xfloatp(void);
-LVAL xcharp(void);
-LVAL xstringp(void);
-LVAL xarrayp(void);
-LVAL xstreamp(void);
-LVAL xobjectp(void);
-LVAL xboundp(void);
-LVAL xfboundp(void);
-LVAL xnull(void);
-LVAL xlistp(void);
-LVAL xendp(void);
-LVAL xconsp(void);
-LVAL xeq(void);
-LVAL xeql(void);
-LVAL xequal(void);
-LVAL xset(void);
-LVAL xgensym(void);
-LVAL xmakesymbol(void);
-LVAL xintern(void);
-LVAL xsymname(void);
-LVAL xsymvalue(void);
-LVAL xsymfunction(void);
-LVAL xsymplist(void);
-LVAL xget(void);
-LVAL xputprop(void);
-LVAL xremprop(void);
-LVAL xhash(void);
-LVAL xaref(void);
-LVAL xmkarray(void);
-LVAL xvector(void);
-LVAL xerror(void);
-LVAL xcerror(void);
-LVAL xbreak(void);
-LVAL xcleanup(void);
-LVAL xtoplevel(void);
-LVAL xcontinue(void);
-LVAL xevalhook(void);
-
-
-/* xlcont.c */
-
-LVAL xquote(void);
-LVAL xfunction(void);
-LVAL xbquote(void);
-LVAL xlambda(void);
-LVAL xgetlambda(void);
-LVAL xsetq(void);
-LVAL xpsetq(void);
-LVAL xsetf(void);
-LVAL xdefun(void);
-LVAL xdefmacro(void);
-LVAL xcond(void);
-LVAL xwhen(void);
-LVAL xunless(void);
-LVAL xcase(void);
-LVAL xand(void);
-LVAL xor(void);
-LVAL xif(void);
-LVAL xlet(void);
-LVAL xletstar(void);
-LVAL xflet(void);
-LVAL xlabels(void);
-LVAL xmacrolet(void);
-LVAL xprog(void);
-LVAL xprogstar(void);
-LVAL xgo(void);
-LVAL xreturn(void);
-LVAL xrtnfrom(void);
-LVAL xprog1(void);
-LVAL xprog2(void);
-LVAL xprogn(void);
-LVAL xprogv(void);
-LVAL xloop(void);
-LVAL xdo(void);
-LVAL xdostar(void);
-LVAL xdolist(void);
-LVAL xdotimes(void);
-LVAL xblock(void);
-LVAL xtagbody(void);
-LVAL xcatch(void);
-LVAL xthrow(void);
-LVAL xunwindprotect(void);
-LVAL xerrset(void);
-LVAL xtrace(void);
-LVAL xuntrace(void);
-
-
-/* xldbug.c */
-
-void xlabort(char *emsg);
-void xlbreak(char *emsg, LVAL arg);
-void xlfail(char *emsg);
-void xlerror(char *emsg, LVAL arg);
-void xlcerror(char *cmsg, char *emsg, LVAL arg);
-void xlerrprint(char *hdr, char *cmsg, char *emsg, LVAL arg);
-void xlbaktrace(int n);
-void xldinit(void);
-void close_loadingfiles(void);
-
-/* xldmem.c */
-
-LVAL cons(LVAL x, LVAL y);
-LVAL cvstring(char *str);
-LVAL new_string(int size);
-LVAL cvsymbol(char *pname);
-LVAL cvsubr(LVAL (*fcn)(void), int type, int offset);
-LVAL cvfile(FILE *fp);
-LVAL cvfixnum(FIXTYPE n);
-LVAL cvflonum(FLOTYPE n);
-LVAL cvchar(int n);
-LVAL newustream(void);
-LVAL newobject(LVAL cls, int size);
-LVAL newclosure(LVAL name, LVAL type, LVAL env, LVAL fenv);
-LVAL newvector(int size);
-void gc(void);
-SEGMENT *newsegment(int n);
-LVAL xgc(void);
-LVAL xexpand(void);
-LVAL xalloc(void);
-LVAL xmem(void);
-LVAL xsave(void);
-LVAL xrestore(void);
-void xlminit(void);
-LVAL cvextern(xtype_desc typeptr, unsigned char *instptr);		/* convert an external type */
-LVAL newnode(int type);
-void mark(LVAL ptr);
-
-
-/* xleval.c */
-
-LVAL xleval(LVAL expr);
-LVAL xlxeval(LVAL expr);
-LVAL xlapply(int argc);
-LVAL xlexpandmacros(LVAL form);
-int macroexpand(LVAL fun, LVAL args, LVAL *pval);
-int pushargs(LVAL fun, LVAL args);
-LVAL makearglist(int argc, LVAL *argv);
-LVAL xlclose(LVAL name, LVAL type, LVAL fargs, LVAL body, LVAL env, LVAL fenv);
-void xlabind(LVAL fun, int argc, LVAL *argv);
-void xlunbound(LVAL sym);
-void xlfunbound(LVAL sym);
-void xlstkoverflow(void);
-void xlargstkoverflow(void);
-
-
-/* xlfio.c */
-
-LVAL xread(void);
-LVAL xprint(void);
-LVAL xprin1(void);
-LVAL xprinc(void);
-LVAL xterpri(void);
-LVAL xflatsize(void);
-LVAL xflatc(void);
-LVAL xopen(void);
-LVAL xbopen(void);
-LVAL xclose(void);
-LVAL xrdchar(void);
-LVAL xrdbyte(void);
-LVAL xpkchar(void);
-LVAL xwrchar(void);
-LVAL xwrbyte(void);
-LVAL xrdint(void);
-LVAL xwrint(void);
-LVAL xrdfloat(void);
-LVAL xwrfloat(void);
-LVAL xreadline(void);
-LVAL xmkstrinput(void);
-LVAL xmkstroutput(void);
-LVAL xgetstroutput(void);
-LVAL xgetlstoutput(void);
-LVAL xformat(void);
-
-
-/* xlimage.c */
-
-int xlisave(char *fname);
-int xlirestore(char *fname);
-
-
-/* xlinit.c */
-
-void xlinit(void);
-void xlsymbols(void);
-
-
-/* xlio.c */
-
-int xlgetc(LVAL fptr);
-void xlungetc(LVAL fptr, int ch);
-int xlpeek(LVAL fptr);
-void xlputc(LVAL fptr, int ch);
-void xlflush(void);
-void stdprint(LVAL expr);
-void stdputstr(char *str);
-void errprint(LVAL expr);
-void errputstr(char *str);
-void dbgprint(LVAL expr);
-void dbgputstr(char *str);
-void trcprin1(LVAL expr);
-void trcputstr(char *str);
-
-
-/* xlisp.c */
-void xlrdsave(LVAL expr);
-void xlevsave(LVAL expr);
-void xlfatal(char *msg);
-void xlisp_main_init(int, char **);
-void xlisp_main(void);
-void xlisp_wrapup(void);
-
-
-/* xljump.c */
-
-void xlbegin(XLCONTEXT *cptr, int flags, LVAL expr);
-void xlend(XLCONTEXT *cptr);
-void xlgo(LVAL label);
-void xlreturn(LVAL name, LVAL val);
-void xlthrow(LVAL tag, LVAL val);
-void xlsignal(char *emsg, LVAL arg);
-void xltoplevel(void);
-void xlbrklevel(void);
-void xlcleanup(void);
-void xlcontinue(void);
-void xljump(XLCONTEXT *target, int mask, LVAL val);
-
-
-/* xllist.c */
-
-LVAL xcar(void);
-LVAL xcdr(void);
-LVAL xcaar(void);
-LVAL xcadr(void);
-LVAL xcdar(void);
-LVAL xcddr(void);
-LVAL xcaaar(void);
-LVAL xcaadr(void);
-LVAL xcadar(void);
-LVAL xcaddr(void);
-LVAL xcdaar(void);
-LVAL xcdadr(void);
-LVAL xcddar(void);
-LVAL xcdddr(void);
-
-/* cxxxxr functions */
-LVAL xcaaaar(void);
-LVAL xcaaadr(void);
-LVAL xcaadar(void);
-LVAL xcaaddr(void);
-LVAL xcadaar(void);
-LVAL xcadadr(void);
-LVAL xcaddar(void);
-LVAL xcadddr(void);
-LVAL xcdaaar(void);
-LVAL xcdaadr(void);
-LVAL xcdadar(void);
-LVAL xcdaddr(void);
-LVAL xcddaar(void);
-LVAL xcddadr(void);
-LVAL xcdddar(void);
-LVAL xcddddr(void);
-LVAL xcons(void);
-LVAL xlist(void);
-LVAL xappend(void);
-LVAL xreverse(void);
-LVAL xlast(void);
-LVAL xmember(void);
-LVAL xassoc(void);
-LVAL xsubst(void);
-LVAL xsublis(void);
-LVAL xremove(void);
-LVAL xremif(void);
-LVAL xremifnot(void);
-int dotest1(LVAL arg, LVAL fun);
-int dotest2(LVAL arg1, LVAL arg2, LVAL fun);
-LVAL xnth(void);
-LVAL xnthcdr(void);
-LVAL xlength(void);
-LVAL xmapc(void);
-LVAL xmapcar(void);
-LVAL xmapl(void);
-LVAL xmaplist(void);
-LVAL xrplca(void);
-LVAL xrplcd(void);
-LVAL xnconc(void);
-LVAL xdelete(void);
-LVAL xdelif(void);
-LVAL xdelifnot(void);
-LVAL xsort(void);
-
-
-/* xlmath.c */
-
-LVAL xadd(void);
-LVAL xsub(void);
-LVAL xmul(void);
-LVAL xdiv(void);
-LVAL xrem(void);
-LVAL xmin(void);
-LVAL xmax(void);
-LVAL xexpt(void);
-LVAL xlogand(void);
-LVAL xlogior(void);
-LVAL xlogxor(void);
-LVAL xgcd(void);
-void checkizero(FIXTYPE iarg);
-void checkfzero(FLOTYPE farg);
-void checkfneg(FLOTYPE farg);
-LVAL xlognot(void);
-LVAL xabs(void);
-LVAL xadd1(void);
-LVAL xsub1(void);
-LVAL xsin(void);
-LVAL xcos(void);
-LVAL xtan(void);
-LVAL xexp(void);
-LVAL xsqrt(void);
-LVAL xfix(void);
-LVAL xfloat(void);
-LVAL xrand(void);
-LVAL xminusp(void);
-LVAL xzerop(void);
-LVAL xplusp(void);
-LVAL xevenp(void);
-LVAL xoddp(void);
-LVAL xlss(void);
-LVAL xleq(void);
-LVAL xequ(void);
-LVAL xneq(void);
-LVAL xgeq(void);
-LVAL xgtr(void);
-
-
-/* xlobj.c */
-
-LVAL xsend(void);
-LVAL xsendsuper(void);
-LVAL xlclass(char *name, int vcnt);
-void xladdivar(LVAL cls, char *var);
-void xladdmsg(LVAL cls, char *msg, int offset);
-int xlobgetvalue(LVAL pair, LVAL sym, LVAL *pval);
-int xlobsetvalue(LVAL pair, LVAL sym, LVAL val);
-LVAL obisnew(void);
-LVAL obclass(void);
-LVAL obshow(void);
-LVAL clnew(void);
-LVAL clisnew(void);
-LVAL clanswer(void);
-void obsymbols(void);
-void xloinit(void);
-
-
-/* xlpp.c */
-
-LVAL xpp(void);
-
-
-/* xlprin.c */
-
-void xlprint(LVAL fptr, LVAL vptr, int flag);
-void xlterpri(LVAL fptr);
-void xlputstr(LVAL fptr, char *str);
-void putatm(LVAL fptr, char *tag, LVAL val);
-
-
-/* xlread.c */
-
-int xlload(char *fname, int vflag, int pflag);
-int xlread(LVAL fptr, LVAL *pval, int rflag);
-int readone(LVAL fptr, LVAL *pval);
-LVAL rmhash(void);
-LVAL rmquote(void);
-LVAL rmdquote(void);
-LVAL rmbquote(void);
-LVAL rmcomma(void);
-LVAL rmlpar(void);
-LVAL rmrpar(void);
-LVAL rmsemi(void);
-LVAL tentry(int ch);
-int xlisnumber(char *str, LVAL *pval);
-void defmacro(int ch, LVAL type, int offset);
-LVAL callmacro(LVAL fptr, int ch);
-void xlrinit(void);
-
-
-/* xlstr.c */
-
-LVAL xstrlss(void);
-LVAL xstrleq(void);
-LVAL xstreql(void);
-LVAL xstrneq(void);
-LVAL xstrgeq(void);
-LVAL xstrgtr(void);
-LVAL xstrilss(void);
-LVAL xstrileq(void);
-LVAL xstrieql(void);
-LVAL xstrineq(void);
-LVAL xstrigeq(void);
-LVAL xstrigtr(void);
-LVAL xupcase(void);
-LVAL xdowncase(void);
-LVAL xnupcase(void);
-LVAL xndowncase(void);
-LVAL xstrsearch(void);
-LVAL xtrim(void);
-LVAL xlefttrim(void);
-LVAL xrighttrim(void);
-LVAL xstrcat(void);
-LVAL xsubseq(void);
-LVAL xstring(void);
-LVAL xchar(void);
-LVAL xcharint(void);
-LVAL xintchar(void);
-LVAL xuppercasep(void);
-LVAL xlowercasep(void);
-LVAL xbothcasep(void);
-LVAL xdigitp(void);
-LVAL xcharcode(void);
-LVAL xcodechar(void);
-LVAL xchupcase(void);
-LVAL xchdowncase(void);
-LVAL xdigitchar(void);
-LVAL xalphanumericp(void);
-LVAL xchrlss(void);
-LVAL xchrleq(void);
-LVAL xchreql(void);
-LVAL xchrneq(void);
-LVAL xchrgeq(void);
-LVAL xchrgtr(void);
-LVAL xchrilss(void);
-LVAL xchrileq(void);
-LVAL xchrieql(void);
-LVAL xchrineq(void);
-LVAL xchrigeq(void);
-LVAL xchrigtr(void);
-LVAL xinfo(void);
-
-/* xlsubr.c */
-
-LVAL xlsubr(char *sname, int type, LVAL (*fcn)(void), int offset);
-int xlgetkeyarg(LVAL key, LVAL *pval);
-void xltest(LVAL *pfcn, int *ptresult);
-int xlgkfixnum(LVAL key, LVAL *pval);
-/* argument list parsing functions */
-extern LVAL xlgetfile(void);  	/* get a file/stream argument */
-extern LVAL xlgetfname(void);	/* get a filename argument */
-int needsextension(char *name);
-/* error reporting functions (don't *really* return at all) */
-extern LVAL xlbadtype(LVAL arg);	/* report "bad argument type" error */
-extern LVAL xltoofew(void);		/* report "too few arguments" error */
-extern LVAL xltoomany(void);
-int eq(LVAL arg1, LVAL arg2);
-int eql(LVAL arg1, LVAL arg2);
-int lval_equal(LVAL arg1, LVAL arg2);
-
-
-/* xlsym.c */
-
-LVAL xlenter(char *name);	/* enter a symbol */
-LVAL xlmakesym(char *name);	/* make an uninterned symbol */
-LVAL xlgetvalue(LVAL sym);	/* get value of a symbol (checked) */
-LVAL xlxgetvalue(LVAL sym);	/* get value of a symbol */
-void xlsetvalue(LVAL sym, LVAL val);
-LVAL xlgetfunction(LVAL sym);	/* get functional value of a symbol */
-LVAL xlxgetfunction(LVAL sym);	/* get functional value of a symbol (checked) */
-void xlsetfunction(LVAL sym, LVAL val);
-LVAL xlgetprop(LVAL sym, LVAL prp);
-void xlputprop(LVAL sym, LVAL val, LVAL prp);
-void xlremprop(LVAL sym, LVAL prp);
-int hash(char *str, int len);
-void xlsinit(void);
-LVAL findprop(LVAL sym, LVAL prp);
-
-/* xlsys.c */
-
-LVAL xload(void);
-LVAL xtranscript(void);
-LVAL xtype(void);
-LVAL xbaktrace(void);
-LVAL xexit(void);
-LVAL xpeek(void);
-LVAL xpoke(void);
-LVAL xaddrs(void);
-
-/* macstuff, unixstuff, winstuff */
-
-void osinit(char *banner);
-void oserror(char *msg);
-void osfinish(void);
-int osclose(FILE *fp);
-void osflush(void);
-void oscheck(void);
-int osaputc(int ch, FILE *fp);
-int osbputc(int ch, FILE *fp);
-void ostputc(int ch);
-int osagetc(FILE *fp);
-int osbgetc(FILE *fp);
-int ostgetc(void);
-void ossymbols(void);
-long osrand(long rseed);
-/* Added by Ning Hu		May.2001*/
-LVAL xlinfo(void);
-LVAL xsetdir(void);
-/* Added End */
-
-/* These are now implemented in path.c   -dmazzoni */
-const char *return_xlisp_path();
-const char *find_in_xlisp_path(const char *fname);
-void set_xlisp_path(const char *p);
-
-/* local.c - these procedures are specific to each implementation */
-
-void localinit(void);
-void localsymbols(void);
-void print_local_gc_info(void);
-
diff --git a/lib-src/libnyquist/xlisp/xljump.c b/lib-src/libnyquist/xlisp/xljump.c
deleted file mode 100644
index 14a941a..0000000
--- a/lib-src/libnyquist/xlisp/xljump.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* xljump - execution context routines */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-#include "xlisp.h"
-
-/* external variables */
-extern XLCONTEXT *xlcontext,*xltarget;
-extern LVAL xlvalue,xlenv,xlfenv,xldenv;
-extern int xlmask;
-
-LOCAL void findandjump(int mask, char *error);
-
-
-/* xlbegin - beginning of an execution context */
-void xlbegin(XLCONTEXT *cptr, int flags, LVAL expr)
-{
-    cptr->c_flags = flags;
-    cptr->c_expr = expr;
-    cptr->c_xlstack = xlstack;
-    cptr->c_xlenv = xlenv;
-    cptr->c_xlfenv = xlfenv;
-    cptr->c_xldenv = xldenv;
-    cptr->c_xlcontext = xlcontext;
-    cptr->c_xlargv = xlargv;
-    cptr->c_xlargc = xlargc;
-    cptr->c_xlfp = xlfp;
-    cptr->c_xlsp = xlsp;
-    xlcontext = cptr;
-}
-
-/* xlend - end of an execution context */
-void xlend(XLCONTEXT *cptr)
-{
-    xlcontext = cptr->c_xlcontext;
-}
-
-/* xlgo - go to a label */
-void xlgo(LVAL label)
-{
-    XLCONTEXT *cptr;
-    LVAL *argv;
-    int argc;
-
-    /* find a tagbody context */
-    for (cptr = xlcontext; cptr; cptr = cptr->c_xlcontext)
-        if (cptr->c_flags & CF_GO) {
-            argc = cptr->c_xlargc;
-            argv = cptr->c_xlargv;
-            while (--argc >= 0)
-                if (*argv++ == label) {
-                    cptr->c_xlargc = argc;
-                    cptr->c_xlargv = argv;
-                    xljump(cptr,CF_GO,NIL);
-                }
-        }
-    xlfail("no target for GO");
-}
-
-/* xlreturn - return from a block */
-void xlreturn(LVAL name, LVAL val)
-{
-    XLCONTEXT *cptr;
-
-    /* find a block context */
-    for (cptr = xlcontext; cptr; cptr = cptr->c_xlcontext)
-        if (cptr->c_flags & CF_RETURN && cptr->c_expr == name)
-            xljump(cptr,CF_RETURN,val);
-    xlfail("no target for RETURN");
-}
-
-/* xlthrow - throw to a catch */
-void xlthrow(LVAL tag, LVAL val)
-{
-    XLCONTEXT *cptr;
-
-    /* find a catch context */
-    for (cptr = xlcontext; cptr; cptr = cptr->c_xlcontext)
-        if ((cptr->c_flags & CF_THROW) && cptr->c_expr == tag)
-            xljump(cptr,CF_THROW,val);
-    xlfail("no target for THROW");
-}
-
-/* xlsignal - signal an error */
-void xlsignal(char *emsg, LVAL arg)
-{
-    XLCONTEXT *cptr;
-
-    /* find an error catcher */
-    for (cptr = xlcontext; cptr; cptr = cptr->c_xlcontext)
-        if (cptr->c_flags & CF_ERROR) {
-            if (cptr->c_expr && emsg)
-                xlerrprint("error",NULL,emsg,arg);
-            xljump(cptr,CF_ERROR,NIL);
-        }
-}
-
-/* xltoplevel - go back to the top level */
-void xltoplevel(void)
-{
-    close_loadingfiles();
-    stdputstr("[ back to top level ]\n");
-    findandjump(CF_TOPLEVEL,"no top level");
-}
-
-/* xlbrklevel - go back to the previous break level */
-void xlbrklevel(void)
-{
-    findandjump(CF_BRKLEVEL,"no previous break level");
-}
-
-/* xlcleanup - clean-up after an error */
-void xlcleanup(void)
-{
-    stdputstr("[ back to previous break level ]\n");
-    findandjump(CF_CLEANUP,"not in a break loop");
-}
-
-/* xlcontinue - continue from an error */
-void xlcontinue(void)
-{
-    findandjump(CF_CONTINUE,"not in a break loop");
-}
-
-/* xljump - jump to a saved execution context */
-void xljump(XLCONTEXT *target, int mask, LVAL val)
-{
-    /* unwind the execution stack */
-    for (; xlcontext != target; xlcontext = xlcontext->c_xlcontext)
-
-        /* check for an UNWIND-PROTECT */
-        if ((xlcontext->c_flags & CF_UNWIND)) {
-            xltarget = target;
-            xlmask = mask;
-            break;
-        }
-           
-    /* restore the state */
-    xlstack = xlcontext->c_xlstack;
-    xlenv = xlcontext->c_xlenv;
-    xlfenv = xlcontext->c_xlfenv;
-    xlunbind(xlcontext->c_xldenv);
-    xlargv = xlcontext->c_xlargv;
-    xlargc = xlcontext->c_xlargc;
-    xlfp = xlcontext->c_xlfp;
-    xlsp = xlcontext->c_xlsp;
-    xlvalue = val;
-
-    /* call the handler */
-    longjmp(xlcontext->c_jmpbuf,mask);
-}
-
-/* findandjump - find a target context frame and jump to it */
-LOCAL void findandjump(int mask, char *error)
-{
-    XLCONTEXT *cptr;
-
-    /* find a block context */
-    for (cptr = xlcontext; cptr; cptr = cptr->c_xlcontext)
-        if (cptr->c_flags & mask)
-            xljump(cptr,mask,NIL);
-    xlabort(error);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xllist.c b/lib-src/libnyquist/xlisp/xllist.c
deleted file mode 100644
index 510e59f..0000000
--- a/lib-src/libnyquist/xlisp/xllist.c
+++ /dev/null
@@ -1,927 +0,0 @@
-/* xllist.c - xlisp built-in list functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- * 28Apr03 rbd  fix check in sort routine
- */
-
-
-#include "xlisp.h"
-
-/* forward declarations */
-FORWARD LOCAL LVAL cxr(char *adstr);
-FORWARD LOCAL LVAL nth(int carflag);
-FORWARD LOCAL LVAL assoc(LVAL expr, LVAL alist, LVAL fcn, int tresult);
-FORWARD LOCAL LVAL subst(LVAL to, LVAL from, LVAL expr, LVAL fcn, int tresult);
-FORWARD LOCAL LVAL sublis(LVAL alist, LVAL expr, LVAL fcn, int tresult);
-FORWARD LOCAL LVAL map(int carflag, int valflag);
-FORWARD LOCAL LVAL remif(int tresult);
-FORWARD LOCAL LVAL delif(int tresult);
-FORWARD LOCAL LVAL sortlist(LVAL list, LVAL fcn);
-FORWARD LOCAL void splitlist(LVAL pivot, LVAL list, LVAL *psmaller, LVAL *plarger, LVAL fcn);
-FORWARD LOCAL LVAL gluelists(LVAL smaller, LVAL pivot, LVAL larger);
-
-
-/* xcar - take the car of a cons cell */
-LVAL xcar(void)
-{
-    LVAL list;
-    list = xlgalist();
-    xllastarg();
-    return (list ? car(list) : NIL);
-}
-
-/* xcdr - take the cdr of a cons cell */
-LVAL xcdr(void)
-{
-    LVAL list;
-    list = xlgalist();
-    xllastarg();
-    return (list ? cdr(list) : NIL);
-}
-
-/* cxxr functions */
-LVAL xcaar(void) { return (cxr("aa")); }
-LVAL xcadr(void) { return (cxr("da")); }
-LVAL xcdar(void) { return (cxr("ad")); }
-LVAL xcddr(void) { return (cxr("dd")); }
-
-/* cxxxr functions */
-LVAL xcaaar(void) { return (cxr("aaa")); }
-LVAL xcaadr(void) { return (cxr("daa")); }
-LVAL xcadar(void) { return (cxr("ada")); }
-LVAL xcaddr(void) { return (cxr("dda")); }
-LVAL xcdaar(void) { return (cxr("aad")); }
-LVAL xcdadr(void) { return (cxr("dad")); }
-LVAL xcddar(void) { return (cxr("add")); }
-LVAL xcdddr(void) { return (cxr("ddd")); }
-
-/* cxxxxr functions */
-LVAL xcaaaar(void) { return (cxr("aaaa")); }
-LVAL xcaaadr(void) { return (cxr("daaa")); }
-LVAL xcaadar(void) { return (cxr("adaa")); }
-LVAL xcaaddr(void) { return (cxr("ddaa")); }
-LVAL xcadaar(void) { return (cxr("aada")); }
-LVAL xcadadr(void) { return (cxr("dada")); }
-LVAL xcaddar(void) { return (cxr("adda")); }
-LVAL xcadddr(void) { return (cxr("ddda")); }
-LVAL xcdaaar(void) { return (cxr("aaad")); }
-LVAL xcdaadr(void) { return (cxr("daad")); }
-LVAL xcdadar(void) { return (cxr("adad")); }
-LVAL xcdaddr(void) { return (cxr("ddad")); }
-LVAL xcddaar(void) { return (cxr("aadd")); }
-LVAL xcddadr(void) { return (cxr("dadd")); }
-LVAL xcdddar(void) { return (cxr("addd")); }
-LVAL xcddddr(void) { return (cxr("dddd")); }
-
-/* cxr - common car/cdr routine */
-LOCAL LVAL cxr(char *adstr)
-{
-    LVAL list;
-
-    /* get the list */
-    list = xlgalist();
-    xllastarg();
-
-    /* perform the car/cdr operations */
-    while (*adstr && consp(list))
-        list = (*adstr++ == 'a' ? car(list) : cdr(list));
-
-    /* make sure the operation succeeded */
-    if (*adstr && list)
-        xlfail("bad argument");
-
-    /* return the result */
-    return (list);
-}
-
-/* xcons - construct a new list cell */
-LVAL xcons(void)
-{
-    LVAL arg1,arg2;
-
-    /* get the two arguments */
-    arg1 = xlgetarg();
-    arg2 = xlgetarg();
-    xllastarg();
-
-    /* construct a new list element */
-    return (cons(arg1,arg2));
-}
-
-/* xlist - built a list of the arguments */
-LVAL xlist(void)
-{
-    LVAL last=NULL,next,val;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* add each argument to the list */
-    for (val = NIL; moreargs(); ) {
-
-        /* append this argument to the end of the list */
-        next = consa(nextarg());
-        if (val) rplacd(last,next);
-        else val = next;
-        last = next;
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the list */
-    return (val);
-}
-
-/* xappend - built-in function append */
-LVAL xappend(void)
-{
-    LVAL list,last=NULL,next,val;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* initialize */
-    val = NIL;
-    
-    /* append each argument */
-    if (moreargs()) {
-        while (xlargc > 1) {
-
-            /* append each element of this list to the result list */
-            for (list = nextarg(); consp(list); list = cdr(list)) {
-                next = consa(car(list));
-                if (val) rplacd(last,next);
-                else val = next;
-                last = next;
-            }
-        }
-
-        /* handle the last argument */
-        if (val) rplacd(last,nextarg());
-        else val = nextarg();
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the list */
-    return (val);
-}
-
-/* xreverse - built-in function reverse */
-LVAL xreverse(void)
-{
-    LVAL list,val;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* get the list to reverse */
-    list = xlgalist();
-    xllastarg();
-
-    /* append each element to the head of the result list */
-    for (val = NIL; consp(list); list = cdr(list))
-        val = cons(car(list),val);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the list */
-    return (val);
-}
-
-/* xlast - return the last cons of a list */
-LVAL xlast(void)
-{
-    LVAL list;
-
-    /* get the list */
-    list = xlgalist();
-    xllastarg();
-
-    /* find the last cons */
-    while (consp(list) && cdr(list))
-        list = cdr(list);
-
-    /* return the last element */
-    return (list);
-}
-
-/* xmember - built-in function 'member' */
-LVAL xmember(void)
-{
-    LVAL x,list,fcn,val;
-    int tresult;
-
-    /* protect some pointers */
-    xlsave1(fcn);
-
-    /* get the expression to look for and the list */
-    x = xlgetarg();
-    list = xlgalist();
-    xltest(&fcn,&tresult);
-
-    /* look for the expression */
-    for (val = NIL; consp(list); list = cdr(list))
-        if (dotest2(x,car(list),fcn) == tresult) {
-            val = list;
-            break;
-        }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* xassoc - built-in function 'assoc' */
-LVAL xassoc(void)
-{
-    LVAL x,alist,fcn,pair,val;
-    int tresult;
-
-    /* protect some pointers */
-    xlsave1(fcn);
-
-    /* get the expression to look for and the association list */
-    x = xlgetarg();
-    alist = xlgalist();
-    xltest(&fcn,&tresult);
-
-    /* look for the expression */
-    for (val = NIL; consp(alist); alist = cdr(alist))
-        if ((pair = car(alist)) && consp(pair))
-            if (dotest2(x,car(pair),fcn) == tresult) {
-                val = pair;
-                break;
-            }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return result */
-    return (val);
-}
-
-/* xsubst - substitute one expression for another */
-LVAL xsubst(void)
-{
-    LVAL to,from,expr,fcn,val;
-    int tresult;
-
-    /* protect some pointers */
-    xlsave1(fcn);
-
-    /* get the to value, the from value and the expression */
-    to = xlgetarg();
-    from = xlgetarg();
-    expr = xlgetarg();
-    xltest(&fcn,&tresult);
-
-    /* do the substitution */
-    val = subst(to,from,expr,fcn,tresult);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* subst - substitute one expression for another */
-LOCAL LVAL subst(LVAL to, LVAL from, LVAL expr, LVAL fcn, int tresult)
-{
-    LVAL carval,cdrval;
-
-    if (dotest2(expr,from,fcn) == tresult)
-        return (to);
-    else if (consp(expr)) {
-        xlsave1(carval);
-        carval = subst(to,from,car(expr),fcn,tresult);
-        cdrval = subst(to,from,cdr(expr),fcn,tresult);
-        xlpop();
-        return (cons(carval,cdrval));
-    }
-    else
-        return (expr);
-}
-
-/* xsublis - substitute using an association list */
-LVAL xsublis(void)
-{
-    LVAL alist,expr,fcn,val;
-    int tresult;
-
-    /* protect some pointers */
-    xlsave1(fcn);
-
-    /* get the assocation list and the expression */
-    alist = xlgalist();
-    expr = xlgetarg();
-    xltest(&fcn,&tresult);
-
-    /* do the substitution */
-    val = sublis(alist,expr,fcn,tresult);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the result */
-    return (val);
-}
-
-/* sublis - substitute using an association list */
-LOCAL LVAL sublis(LVAL alist, LVAL expr, LVAL fcn, int tresult)
-{
-    LVAL carval,cdrval,pair;
-
-    if ((pair = assoc(expr,alist,fcn,tresult)))
-        return (cdr(pair));
-    else if (consp(expr)) {
-        xlsave1(carval);
-        carval = sublis(alist,car(expr),fcn,tresult);
-        cdrval = sublis(alist,cdr(expr),fcn,tresult);
-        xlpop();
-        return (cons(carval,cdrval));
-    }
-    else
-        return (expr);
-}
-
-/* assoc - find a pair in an association list */
-LOCAL LVAL assoc(LVAL expr, LVAL alist, LVAL fcn, int tresult)
-{
-    LVAL pair;
-
-    for (; consp(alist); alist = cdr(alist))
-        if ((pair = car(alist)) && consp(pair))
-            if (dotest2(expr,car(pair),fcn) == tresult)
-                return (pair);
-    return (NIL);
-}
-
-/* xremove - built-in function 'remove' */
-LVAL xremove(void)
-{
-    LVAL x,list,fcn,val,last=NULL,next;
-    int tresult;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(fcn);
-    xlsave(val);
-
-    /* get the expression to remove and the list */
-    x = xlgetarg();
-    list = xlgalist();
-    xltest(&fcn,&tresult);
-
-    /* remove matches */
-    for (; consp(list); list = cdr(list))
-
-        /* check to see if this element should be deleted */
-        if (dotest2(x,car(list),fcn) != tresult) {
-            next = consa(car(list));
-            if (val) rplacd(last,next);
-            else val = next;
-            last = next;
-        }
-
-    /* restore the stack */
-    xlpopn(2);
-
-    /* return the updated list */
-    return (val);
-}
-
-/* xremif - built-in function 'remove-if' */
-LVAL xremif(void)
-{
-    LVAL remif();
-    return (remif(TRUE));
-}
-
-/* xremifnot - built-in function 'remove-if-not' */
-LVAL xremifnot(void)
-{
-    LVAL remif();
-    return (remif(FALSE));
-}
-
-/* remif - common code for 'remove-if' and 'remove-if-not' */
-LOCAL LVAL remif(int tresult)
-{
-    LVAL list,fcn,val,last=NULL,next;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(fcn);
-    xlsave(val);
-
-    /* get the expression to remove and the list */
-    fcn = xlgetarg();
-    list = xlgalist();
-    xllastarg();
-
-    /* remove matches */
-    for (; consp(list); list = cdr(list))
-
-        /* check to see if this element should be deleted */
-        if (dotest1(car(list),fcn) != tresult) {
-            next = consa(car(list));
-            if (val) rplacd(last,next);
-            else val = next;
-            last = next;
-        }
-
-    /* restore the stack */
-    xlpopn(2);
-
-    /* return the updated list */
-    return (val);
-}
-
-/* dotest1 - call a test function with one argument */
-int dotest1(LVAL arg, LVAL fun)
-{
-    LVAL *newfp;
-
-    /* create the new call frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(fun);
-    pusharg(cvfixnum((FIXTYPE)1));
-    pusharg(arg);
-    xlfp = newfp;
-
-    /* return the result of applying the test function */
-    return (xlapply(1) != NIL);
-
-}
-
-/* dotest2 - call a test function with two arguments */
-int dotest2(LVAL arg1, LVAL arg2, LVAL fun)
-{
-    LVAL *newfp;
-
-    /* create the new call frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(fun);
-    pusharg(cvfixnum((FIXTYPE)2));
-    pusharg(arg1);
-    pusharg(arg2);
-    xlfp = newfp;
-
-    /* return the result of applying the test function */
-    return (xlapply(2) != NIL);
-
-}
-
-/* xnth - return the nth element of a list */
-LVAL xnth(void)
-{
-    return (nth(TRUE));
-}
-
-/* xnthcdr - return the nth cdr of a list */
-LVAL xnthcdr(void)
-{
-    return (nth(FALSE));
-}
-
-/* nth - internal nth function */
-LOCAL LVAL nth(int carflag)
-{
-    LVAL list,num;
-    FIXTYPE n;
-
-    /* get n and the list */
-    num = xlgafixnum();
-    list = xlgacons();
-    xllastarg();
-
-    /* make sure the number isn't negative */
-    if ((n = getfixnum(num)) < 0)
-        xlfail("bad argument");
-
-    /* find the nth element */
-    while (consp(list) && --n >= 0)
-        list = cdr(list);
-
-    /* return the list beginning at the nth element */
-    return (carflag && consp(list) ? car(list) : list);
-}
-
-/* xlength - return the length of a list or string */
-LVAL xlength(void)
-{
-    FIXTYPE n=0;
-    LVAL arg;
-
-    /* get the list or string */
-    arg = xlgetarg();
-    xllastarg();
-
-    /* find the length of a list */
-    if (listp(arg))
-        for (n = 0; consp(arg); n++)
-            arg = cdr(arg);
-
-    /* find the length of a string */
-    else if (stringp(arg))
-        n = (FIXTYPE)getslength(arg)-1;
-
-    /* find the length of a vector */
-    else if (vectorp(arg))
-        n = (FIXTYPE)getsize(arg);
-
-    /* otherwise, bad argument type */
-    else
-        xlerror("bad argument type",arg);
-
-    /* return the length */
-    return (cvfixnum(n));
-}
-
-/* xmapc - built-in function 'mapc' */
-LVAL xmapc(void)
-{
-    return (map(TRUE,FALSE));
-}
-
-/* xmapcar - built-in function 'mapcar' */
-LVAL xmapcar(void)
-{
-    return (map(TRUE,TRUE));
-}
-
-/* xmapl - built-in function 'mapl' */
-LVAL xmapl(void)
-{
-    return (map(FALSE,FALSE));
-}
-
-/* xmaplist - built-in function 'maplist' */
-LVAL xmaplist(void)
-{
-    return (map(FALSE,TRUE));
-}
-
-/* map - internal mapping function */
-LOCAL LVAL map(int carflag, int valflag)
-{
-    LVAL *newfp,fun,lists,val,last,p,x,y;
-    int argc;
-
-    /* protect some pointers */
-    xlstkcheck(3);
-    xlsave(fun);
-    xlsave(lists);
-    xlsave(val);
-
-    /* get the function to apply and the first list */
-    fun = xlgetarg();
-    lists = xlgalist();
-
-    /* initialize the result list */
-    val = (valflag ? NIL : lists);
-
-    /* build a list of argument lists */
-    for (lists = last = consa(lists); moreargs(); last = cdr(last))
-        rplacd(last,cons(xlgalist(),NIL));
-
-    /* loop through each of the argument lists */
-    for (;;) {
-        /* build an argument list from the sublists */
-        newfp = xlsp;
-        pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-        pusharg(fun);
-        pusharg(NIL);
-        argc = 0;
-        for (x = lists; x && (y = car(x)) && consp(y); x = cdr(x)) {
-            pusharg(carflag ? car(y) : y);
-            rplaca(x,cdr(y));
-            ++argc;
-        }
-
-        /* quit if any of the lists were empty */
-        if (x) {
-            xlsp = newfp;
-            break;
-        }
-
-        /* apply the function to the arguments */
-        newfp[2] = cvfixnum((FIXTYPE)argc);
-        xlfp = newfp;
-        if (valflag) {
-            p = consa(xlapply(argc));
-            if (val) rplacd(last,p);
-            else val = p;
-            last = p;
-        }
-        else
-            xlapply(argc);
-    }
-
-    /* restore the stack */
-    xlpopn(3);
-
-    /* return the last test expression value */
-    return (val);
-}
-
-/* xrplca - replace the car of a list node */
-LVAL xrplca(void)
-{
-    LVAL list,newcar;
-
-    /* get the list and the new car */
-    list = xlgacons();
-    newcar = xlgetarg();
-    xllastarg();
-
-    /* replace the car */
-    rplaca(list,newcar);
-
-    /* return the list node that was modified */
-    return (list);
-}
-
-/* xrplcd - replace the cdr of a list node */
-LVAL xrplcd(void)
-{
-    LVAL list,newcdr;
-
-    /* get the list and the new cdr */
-    list = xlgacons();
-    newcdr = xlgetarg();
-    xllastarg();
-
-    /* replace the cdr */
-    rplacd(list,newcdr);
-
-    /* return the list node that was modified */
-    return (list);
-}
-
-/* xnconc - destructively append lists */
-LVAL xnconc(void)
-{
-    LVAL next,last=NULL,val;
-
-    /* initialize */
-    val = NIL;
-    
-    /* concatenate each argument */
-    if (moreargs()) {
-        while (xlargc > 1) {
-
-            /* ignore everything except lists */
-            if ((next = nextarg()) && consp(next)) {
-
-                /* concatenate this list to the result list */
-                if (val) rplacd(last,next);
-                else val = next;
-
-                /* find the end of the list */
-                while (consp(cdr(next)))
-                    next = cdr(next);
-                last = next;
-            }
-        }
-
-        /* handle the last argument */
-        if (val) rplacd(last,nextarg());
-        else val = nextarg();
-    }
-
-    /* return the list */
-    return (val);
-}
-
-/* xdelete - built-in function 'delete' */
-LVAL xdelete(void)
-{
-    LVAL x,list,fcn,last,val;
-    int tresult;
-
-    /* protect some pointers */
-    xlsave1(fcn);
-
-    /* get the expression to delete and the list */
-    x = xlgetarg();
-    list = xlgalist();
-    xltest(&fcn,&tresult);
-
-    /* delete leading matches */
-    while (consp(list)) {
-        if (dotest2(x,car(list),fcn) != tresult)
-            break;
-        list = cdr(list);
-    }
-    val = last = list;
-
-    /* delete embedded matches */
-    if (consp(list)) {
-
-        /* skip the first non-matching element */
-        list = cdr(list);
-
-        /* look for embedded matches */
-        while (consp(list)) {
-
-            /* check to see if this element should be deleted */
-            if (dotest2(x,car(list),fcn) == tresult)
-                rplacd(last,cdr(list));
-            else
-                last = list;
-
-            /* move to the next element */
-            list = cdr(list);
-         }
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the updated list */
-    return (val);
-}
-
-/* xdelif - built-in function 'delete-if' */
-LVAL xdelif(void)
-{
-    LVAL delif();
-    return (delif(TRUE));
-}
-
-/* xdelifnot - built-in function 'delete-if-not' */
-LVAL xdelifnot(void)
-{
-    LVAL delif();
-    return (delif(FALSE));
-}
-
-/* delif - common routine for 'delete-if' and 'delete-if-not' */
-LOCAL LVAL delif(int tresult)
-{
-    LVAL list,fcn,last,val;
-
-    /* protect some pointers */
-    xlsave1(fcn);
-
-    /* get the expression to delete and the list */
-    fcn = xlgetarg();
-    list = xlgalist();
-    xllastarg();
-
-    /* delete leading matches */
-    while (consp(list)) {
-        if (dotest1(car(list),fcn) != tresult)
-            break;
-        list = cdr(list);
-    }
-    val = last = list;
-
-    /* delete embedded matches */
-    if (consp(list)) {
-
-        /* skip the first non-matching element */
-        list = cdr(list);
-
-        /* look for embedded matches */
-        while (consp(list)) {
-
-            /* check to see if this element should be deleted */
-            if (dotest1(car(list),fcn) == tresult)
-                rplacd(last,cdr(list));
-            else
-                last = list;
-
-            /* move to the next element */
-            list = cdr(list);
-         }
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the updated list */
-    return (val);
-}
-
-/* xsort - built-in function 'sort' */
-LVAL xsort(void)
-{
-    LVAL sortlist();
-    LVAL list,fcn;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(list);
-    xlsave(fcn);
-
-    /* get the list to sort and the comparison function */
-    list = xlgalist();
-    fcn = xlgetarg();
-    xllastarg();
-
-    /* sort the list */
-    list = sortlist(list,fcn);
-
-    if (list && (ntype(list) == FREE_NODE)) {
-        stdputstr("error in sort 2");
-    }
-
-    /* restore the stack and return the sorted list */
-    xlpopn(2);
-    return (list);
-}
-
-/*
-    This sorting algorithm is based on a Modula-2 sort written by
-    Richie Bielak and published in the February 1988 issue of
-    "Computer Language" magazine in a letter to the editor.
-*/
-
-/* sortlist - sort a list using quicksort */
-LOCAL LVAL sortlist(LVAL list, LVAL fcn)
-{
-    LVAL gluelists();
-    LVAL smaller,pivot,larger;
-    
-    /* protect some pointers */
-    xlstkcheck(3);
-    xlsave(smaller);
-    xlsave(pivot);
-    xlsave(larger);
-    
-    /* lists with zero or one element are already sorted */
-    if (consp(list) && consp(cdr(list))) {
-        pivot = list; list = cdr(list);
-        splitlist(pivot,list,&smaller,&larger,fcn);
-        smaller = sortlist(smaller,fcn);
-        larger = sortlist(larger,fcn);
-        list = gluelists(smaller,pivot,larger);
-    }
-
-    /* cleanup the stack and return the sorted list */
-    xlpopn(3);
-    return (list);
-}
-
-/* splitlist - split the list around the pivot */
-LOCAL void splitlist(LVAL pivot, LVAL list, LVAL *psmaller, LVAL *plarger, LVAL fcn)
-{
-    LVAL next;
-
-    xlprot1(list); // protect list from gc
-    // the rplacd disconnects list, and next is the only 
-    // reference to it, but next is immediately assigned to list
-    // before dotest2 which is where gc might run.
-    
-    /* initialize the result lists */
-    *psmaller = *plarger = NIL;
-    
-    /* split the list */
-    for (; consp(list); list = next) {
-        next = cdr(list);
-        if (dotest2(car(list),car(pivot),fcn)) {
-            rplacd(list,*psmaller);
-            *psmaller = list;
-        }
-        else {
-            rplacd(list,*plarger);
-            *plarger = list;
-        }
-    }
-    xlpop();
-}
-
-/* gluelists - glue the smaller and larger lists with the pivot */
-LOCAL LVAL gluelists(LVAL smaller, LVAL pivot, LVAL larger)
-{
-    LVAL last;
-    
-    /* larger always goes after the pivot */
-    rplacd(pivot,larger);
-
-    /* if the smaller list is empty, we're done */
-    if (null(smaller)) return (pivot);
-
-    /* append the smaller to the front of the resulting list */
-    for (last = smaller; consp(cdr(last)); last = cdr(last))
-        ;
-    rplacd(last,pivot);
-
-    return (smaller);
-}
diff --git a/lib-src/libnyquist/xlisp/xlmath.c b/lib-src/libnyquist/xlisp/xlmath.c
deleted file mode 100644
index dcff361..0000000
--- a/lib-src/libnyquist/xlisp/xlmath.c
+++ /dev/null
@@ -1,425 +0,0 @@
-/* xlmath - xlisp built-in arithmetic functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-#include "xlisp.h"
-#include <math.h>
-
-/* external variables */
-extern LVAL s_true;
-
-/* forward declarations */
-FORWARD LOCAL LVAL unary(int fcn);
-FORWARD LOCAL LVAL binary(int fcn);
-FORWARD LOCAL LVAL predicate(int fcn);
-FORWARD LOCAL LVAL compare(int fcn);
-FORWARD LOCAL void badiop(void);
-FORWARD LOCAL void badfop(void);
-
-
-/* binary functions */
-LVAL xadd(void)    { return (binary('+')); } /* + */
-LVAL xsub(void)    { return (binary('-')); } /* - */
-LVAL xmul(void)    { return (binary('*')); } /* * */
-LVAL xdiv(void)    { return (binary('/')); } /* / */
-LVAL xrem(void)    { return (binary('%')); } /* rem */
-LVAL xmin(void)    { return (binary('m')); } /* min */
-LVAL xmax(void)    { return (binary('M')); } /* max */
-LVAL xexpt(void)   { return (binary('E')); } /* expt */
-LVAL xlogand(void) { return (binary('&')); } /* logand */
-LVAL xlogior(void) { return (binary('|')); } /* logior */
-LVAL xlogxor(void) { return (binary('^')); } /* logxor */
-
-/* xgcd - greatest common divisor */
-LVAL xgcd(void)
-{
-    FIXTYPE m,n,r;
-    LVAL arg;
-
-    if (!moreargs())			/* check for identity case */
-        return (cvfixnum((FIXTYPE)0));
-    arg = xlgafixnum();
-    n = getfixnum(arg);
-    if (n < (FIXTYPE)0) n = -n;		/* absolute value */
-    while (moreargs()) {
-        arg = xlgafixnum();
-        m = getfixnum(arg);
-        if (m < (FIXTYPE)0) m = -m;	/* absolute value */
-        for (;;) {			/* euclid's algorithm */
-            r = m % n;
-            if (r == (FIXTYPE)0)
-                break;
-            m = n;
-            n = r;
-        }
-    }
-    return (cvfixnum(n));
-}
-
-/* binary - handle binary operations */
-LOCAL LVAL binary(int fcn)
-{
-    FIXTYPE ival=0,iarg=0;
-    FLOTYPE fval=0,farg=0;
-    LVAL arg;
-    int mode=0;
-
-    /* get the first argument */
-    arg = xlgetarg();
-
-    /* set the type of the first argument */
-    if (fixp(arg)) {
-        ival = getfixnum(arg);
-        mode = 'I';
-    }
-    else if (floatp(arg)) {
-        fval = getflonum(arg);
-        mode = 'F';
-    }
-    else
-        xlerror("bad argument type",arg);
-
-    /* treat a single argument as a special case */
-    if (!moreargs()) {
-        switch (fcn) {
-        case '-':
-            switch (mode) {
-            case 'I':
-                ival = -ival;
-                break;
-            case 'F':
-                fval = -fval;
-                break;
-            }
-            break;
-        case '/':
-            switch (mode) {
-            case 'I':
-                checkizero(ival);
-                ival = 1 / ival;
-                break;
-            case 'F':
-                checkfzero(fval);
-                fval = 1.0 / fval;
-                break;
-            }
-        }
-    }
-
-    /* handle each remaining argument */
-    while (moreargs()) {
-
-        /* get the next argument */
-        arg = xlgetarg();
-
-        /* check its type */
-        if (fixp(arg)) {
-            switch (mode) {
-            case 'I':
-                iarg = getfixnum(arg);
-                break;
-            case 'F':
-                farg = (FLOTYPE)getfixnum(arg);
-                break;
-            }
-        }
-        else if (floatp(arg)) {
-            switch (mode) {
-            case 'I':
-                fval = (FLOTYPE)ival;
-                farg = getflonum(arg);
-                mode = 'F';
-                break;
-            case 'F':
-                farg = getflonum(arg);
-                break;
-            }
-        }
-        else
-            xlerror("bad argument type",arg);
-
-        /* accumulate the result value */
-        switch (mode) {
-        case 'I':
-            switch (fcn) {
-            case '+':	ival += iarg; break;
-            case '-':	ival -= iarg; break;
-            case '*':	ival *= iarg; break;
-            case '/':	checkizero(iarg); ival /= iarg; break;
-            case '%':	checkizero(iarg); ival %= iarg; break;
-            case 'M':	if (iarg > ival) ival = iarg; break;
-            case 'm':	if (iarg < ival) ival = iarg; break;
-            case '&':	ival &= iarg; break;
-            case '|':	ival |= iarg; break;
-            case '^':	ival ^= iarg; break;
-            default:	badiop();
-            }
-            break;
-        case 'F':
-            switch (fcn) {
-            case '+':	fval += farg; break;
-            case '-':	fval -= farg; break;
-            case '*':	fval *= farg; break;
-            case '/':	checkfzero(farg); fval /= farg; break;
-            case 'M':	if (farg > fval) fval = farg; break;
-            case 'm':	if (farg < fval) fval = farg; break;
-            case 'E':	fval = pow(fval,farg); break;
-            default:	badfop();
-            }
-                break;
-        }
-    }
-
-    /* return the result */
-    switch (mode) {
-    case 'I':	return (cvfixnum(ival));
-    case 'F':	return (cvflonum(fval));
-    }
-
-    /* This shouldn't fall through, but just in case, this will
-       catch it and make the compiler happy... */
-    xlerror("bad argument type",arg);
-    return NULL;
-}
-
-/* checkizero - check for integer division by zero */
-void checkizero(FIXTYPE iarg)
-{
-    if (iarg == 0)
-        xlfail("division by zero");
-}
-
-/* checkfzero - check for floating point division by zero */
-void checkfzero(FLOTYPE farg)
-{
-    if (farg == 0.0)
-        xlfail("division by zero");
-}
-
-/* checkfneg - check for square root of a negative number */
-void checkfneg(FLOTYPE farg)
-{
-    if (farg < 0.0)
-        xlfail("square root of a negative number");
-}
-
-/* unary functions */
-LVAL xlognot(void) { return (unary('~')); } /* lognot */
-LVAL xabs(void)    { return (unary('A')); } /* abs */
-LVAL xadd1(void)   { return (unary('+')); } /* 1+ */
-LVAL xsub1(void)   { return (unary('-')); } /* 1- */
-LVAL xsin(void)    { return (unary('S')); } /* sin */
-LVAL xcos(void)    { return (unary('C')); } /* cos */
-LVAL xtan(void)    { return (unary('T')); } /* tan */
-LVAL xexp(void)    { return (unary('E')); } /* exp */
-LVAL xsqrt(void)   { return (unary('R')); } /* sqrt */
-LVAL xfix(void)    { return (unary('I')); } /* truncate */
-LVAL xfloat(void)  { return (unary('F')); } /* float */
-LVAL xrand(void)   { return (unary('?')); } /* random */
-
-/* unary - handle unary operations */
-LOCAL LVAL unary(int fcn)
-{
-    FLOTYPE fval;
-    FIXTYPE ival;
-    LVAL arg;
-
-    /* get the argument */
-    arg = xlgetarg();
-    xllastarg();
-
-    /* check its type */
-    if (fixp(arg)) {
-        ival = getfixnum(arg);
-        switch (fcn) {
-        case '~':	ival = ~ival; break;
-        case 'A':	ival = (ival < 0 ? -ival : ival); break;
-        case '+':	ival++; break;
-        case '-':	ival--; break;
-        case 'I':	break;
-        case 'F':	return (cvflonum((FLOTYPE)ival));
-        case '?':	ival = (FIXTYPE)osrand((int)ival); break;
-        default:	badiop();
-        }
-        return (cvfixnum(ival));
-    }
-    else if (floatp(arg)) {
-        fval = getflonum(arg);
-        switch (fcn) {
-        case 'A':	fval = (fval < 0.0 ? -fval : fval); break;
-        case '+':	fval += 1.0; break;
-        case '-':	fval -= 1.0; break;
-        case 'S':	fval = sin(fval); break;
-        case 'C':	fval = cos(fval); break;
-        case 'T':	fval = tan(fval); break;
-        case 'E':	fval = exp(fval); break;
-        case 'R':	checkfneg(fval); fval = sqrt(fval); break;
-        case 'I':	return (cvfixnum((FIXTYPE)fval));
-        case 'F':	break;
-        default:	badfop();
-        }
-        return (cvflonum(fval));
-    }
-    else {
-        xlerror("bad argument type",arg);
-        return NULL;
-    }
-}
-
-/* unary predicates */
-LVAL xminusp(void) { return (predicate('-')); } /* minusp */
-LVAL xzerop(void)  { return (predicate('Z')); } /* zerop */
-LVAL xplusp(void)  { return (predicate('+')); } /* plusp */
-LVAL xevenp(void)  { return (predicate('E')); } /* evenp */
-LVAL xoddp(void)   { return (predicate('O')); } /* oddp */
-
-/* predicate - handle a predicate function */
-LOCAL LVAL predicate(int fcn)
-{
-    FLOTYPE fval;
-    FIXTYPE ival=0;
-    LVAL arg;
-
-    /* get the argument */
-    arg = xlgetarg();
-    xllastarg();
-
-    /* check the argument type */
-    if (fixp(arg)) {
-        ival = getfixnum(arg);
-        switch (fcn) {
-        case '-':	ival = (ival < 0); break;
-        case 'Z':	ival = (ival == 0); break;
-        case '+':	ival = (ival > 0); break;
-        case 'E':	ival = ((ival & 1) == 0); break;
-        case 'O':	ival = ((ival & 1) != 0); break;
-        default:	badiop();
-        }
-    }
-    else if (floatp(arg)) {
-        fval = getflonum(arg);
-        switch (fcn) {
-        case '-':	ival = (fval < 0); break;
-        case 'Z':	ival = (fval == 0); break;
-        case '+':	ival = (fval > 0); break;
-        default:	badfop();
-        }
-    }
-    else
-        xlerror("bad argument type",arg);
-
-    /* return the result value */
-    return (ival ? s_true : NIL);
-}
-
-/* comparison functions */
-LVAL xlss(void) { return (compare('<')); } /* < */
-LVAL xleq(void) { return (compare('L')); } /* <= */
-LVAL xequ(void) { return (compare('=')); } /* = */
-LVAL xneq(void) { return (compare('#')); } /* /= */
-LVAL xgeq(void) { return (compare('G')); } /* >= */
-LVAL xgtr(void) { return (compare('>')); } /* > */
-
-/* compare - common compare function */
-LOCAL LVAL compare(int fcn)
-{
-    FIXTYPE icmp,ival=0,iarg=0;
-    FLOTYPE fcmp,fval=0,farg=0;
-    LVAL arg;
-    int mode=0;
-
-    /* get the first argument */
-    arg = xlgetarg();
-
-    /* set the type of the first argument */
-    if (fixp(arg)) {
-        ival = getfixnum(arg);
-        mode = 'I';
-    }
-    else if (floatp(arg)) {
-        fval = getflonum(arg);
-        mode = 'F';
-    }
-    else
-        xlerror("bad argument type",arg);
-
-    /* handle each remaining argument */
-    for (icmp = TRUE; icmp && moreargs(); ival = iarg, fval = farg) {
-
-        /* get the next argument */
-        arg = xlgetarg();
-
-        /* check its type */
-        if (fixp(arg)) {
-            switch (mode) {
-            case 'I':
-                iarg = getfixnum(arg);
-                break;
-            case 'F':
-                farg = (FLOTYPE)getfixnum(arg);
-                break;
-            }
-        }
-        else if (floatp(arg)) {
-            switch (mode) {
-            case 'I':
-                fval = (FLOTYPE)ival;
-                farg = getflonum(arg);
-                mode = 'F';
-                break;
-            case 'F':
-                farg = getflonum(arg);
-                break;
-            }
-        }
-        else
-            xlerror("bad argument type",arg);
-
-        /* compute result of the compare */
-        switch (mode) {
-        case 'I':
-            icmp = ival - iarg;
-            switch (fcn) {
-            case '<':	icmp = (icmp < 0); break;
-            case 'L':	icmp = (icmp <= 0); break;
-            case '=':	icmp = (icmp == 0); break;
-            case '#':	icmp = (icmp != 0); break;
-            case 'G':	icmp = (icmp >= 0); break;
-            case '>':	icmp = (icmp > 0); break;
-            }
-            break;
-        case 'F':
-            fcmp = fval - farg;
-            switch (fcn) {
-            case '<':	icmp = (fcmp < 0.0); break;
-            case 'L':	icmp = (fcmp <= 0.0); break;
-            case '=':	icmp = (fcmp == 0.0); break;
-            case '#':	icmp = (fcmp != 0.0); break;
-            case 'G':	icmp = (fcmp >= 0.0); break;
-            case '>':	icmp = (fcmp > 0.0); break;
-            }
-            break;
-        }
-    }
-
-    /* return the result */
-    return (icmp ? s_true : NIL);
-}
-
-/* badiop - bad integer operation */
-LOCAL void badiop(void)
-{
-    xlfail("bad integer operation");
-}
-
-/* badfop - bad floating point operation */
-LOCAL void badfop(void)
-{
-    xlfail("bad floating point operation");
-}
diff --git a/lib-src/libnyquist/xlisp/xlobj.c b/lib-src/libnyquist/xlisp/xlobj.c
deleted file mode 100644
index f80e4ba..0000000
--- a/lib-src/libnyquist/xlisp/xlobj.c
+++ /dev/null
@@ -1,471 +0,0 @@
-/* xlobj - xlisp object functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL s_stdout,s_lambda;
-
-/* local variables */
-static LVAL s_self,k_new,k_isnew;
-static LVAL class,object;
-
-/* instance variable numbers for the class 'Class' */
-#define MESSAGES	0	/* list of messages */
-#define IVARS		1	/* list of instance variable names */
-#define CVARS		2	/* list of class variable names */
-#define CVALS		3	/* list of class variable values */
-#define SUPERCLASS	4	/* pointer to the superclass */
-#define IVARCNT		5	/* number of class instance variables */
-#define IVARTOTAL	6	/* total number of instance variables */
-
-/* number of instance variables for the class 'Class' */
-#define CLASSSIZE	7
-
-/* forward declarations */
-FORWARD LOCAL LVAL entermsg(LVAL cls, LVAL msg);
-FORWARD LOCAL LVAL xsendmsg(LVAL obj, LVAL cls, LVAL sym);
-FORWARD LOCAL LVAL evmethod(LVAL obj, LVAL msgcls, LVAL method);
-FORWARD LOCAL int getivcnt(LVAL cls, int ivar);
-FORWARD LOCAL int listlength(LVAL list);
-
-
-/* xsend - send a message to an object */
-LVAL xsend(void)
-{
-    LVAL obj;
-    obj = xlgaobject();
-    return (xsendmsg(obj,getclass(obj),xlgasymbol()));
-}
-
-/* xsendsuper - send a message to the superclass of an object */
-LVAL xsendsuper(void)
-{
-    LVAL env,p;
-    for (env = xlenv; env; env = cdr(env))
-        if ((p = car(env)) && objectp(car(p)))
-            return (xsendmsg(car(p),
-                            getivar(cdr(p),SUPERCLASS),
-                            xlgasymbol()));
-    xlfail("not in a method");
-    return NULL; /* never called */
-}
-
-/* xlclass - define a class */
-LVAL xlclass(char *name, int vcnt)
-{
-    LVAL sym,cls;
-
-    /* create the class */
-    sym = xlenter(name);
-    cls = newobject(class,CLASSSIZE);
-    setvalue(sym,cls);
-
-    /* set the instance variable counts */
-    setivar(cls,IVARCNT,cvfixnum((FIXTYPE)vcnt));
-    setivar(cls,IVARTOTAL,cvfixnum((FIXTYPE)vcnt));
-
-    /* set the superclass to 'Object' */
-    setivar(cls,SUPERCLASS,object);
-
-    /* return the new class */
-    return (cls);
-}
-
-/* xladdivar - enter an instance variable */
-void xladdivar(LVAL cls, char *var)
-{
-    setivar(cls,IVARS,cons(xlenter(var),getivar(cls,IVARS)));
-}
-
-/* xladdmsg - add a message to a class */
-void xladdmsg(LVAL cls, char *msg, int offset)
-{
-    extern FUNDEF funtab[];
-    LVAL mptr;
-
-    /* enter the message selector */
-    mptr = entermsg(cls,xlenter(msg));
-
-    /* store the method for this message */
-    rplacd(mptr,cvsubr(funtab[offset].fd_subr,funtab[offset].fd_type,offset));
-}
-
-/* xlobgetvalue - get the value of an instance variable */
-int xlobgetvalue(LVAL pair, LVAL sym, LVAL *pval)
-{
-    LVAL cls,names;
-    int ivtotal,n;
-
-    /* find the instance or class variable */
-    for (cls = cdr(pair); objectp(cls); cls = getivar(cls,SUPERCLASS)) {
-
-        /* check the instance variables */
-        names = getivar(cls,IVARS);
-        ivtotal = getivcnt(cls,IVARTOTAL);
-        for (n = ivtotal - getivcnt(cls,IVARCNT); n < ivtotal; ++n) {
-            if (car(names) == sym) {
-                *pval = getivar(car(pair),n);
-                return (TRUE);
-            }
-            names = cdr(names);
-        }
-
-        /* check the class variables */
-        names = getivar(cls,CVARS);
-        for (n = 0; consp(names); ++n) {
-            if (car(names) == sym) {
-                *pval = getelement(getivar(cls,CVALS),n);
-                return (TRUE);
-            }
-            names = cdr(names);
-        }
-    }
-
-    /* variable not found */
-    return (FALSE);
-}
-
-/* xlobsetvalue - set the value of an instance variable */
-int xlobsetvalue(LVAL pair, LVAL sym, LVAL val)
-{
-    LVAL cls,names;
-    int ivtotal,n;
-
-    /* find the instance or class variable */
-    for (cls = cdr(pair); objectp(cls); cls = getivar(cls,SUPERCLASS)) {
-
-        /* check the instance variables */
-        names = getivar(cls,IVARS);
-        ivtotal = getivcnt(cls,IVARTOTAL);
-        for (n = ivtotal - getivcnt(cls,IVARCNT); n < ivtotal; ++n) {
-            if (car(names) == sym) {
-                setivar(car(pair),n,val);
-                return (TRUE);
-            }
-            names = cdr(names);
-        }
-
-        /* check the class variables */
-        names = getivar(cls,CVARS);
-        for (n = 0; consp(names); ++n) {
-            if (car(names) == sym) {
-                setelement(getivar(cls,CVALS),n,val);
-                return (TRUE);
-            }
-            names = cdr(names);
-        }
-    }
-
-    /* variable not found */
-    return (FALSE);
-}
-
-/* obisnew - default 'isnew' method */
-LVAL obisnew(void)
-{
-    LVAL self;
-    self = xlgaobject();
-    xllastarg();
-    return (self);
-}
-
-/* obclass - get the class of an object */
-LVAL obclass(void)
-{
-    LVAL self;
-    self = xlgaobject();
-    xllastarg();
-    return (getclass(self));
-}
-
-/* obshow - show the instance variables of an object */
-LVAL obshow(void)
-{
-    LVAL self,fptr,cls,names;
-    int ivtotal,n;
-
-    /* get self and the file pointer */
-    self = xlgaobject();
-    fptr = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    xllastarg();
-
-    /* get the object's class */
-    cls = getclass(self);
-
-    /* print the object and class */
-    xlputstr(fptr,"Object is ");
-    xlprint(fptr,self,TRUE);
-    xlputstr(fptr,", Class is ");
-    xlprint(fptr,cls,TRUE);
-    xlterpri(fptr);
-
-    /* print the object's instance variables */
-    for (; cls; cls = getivar(cls,SUPERCLASS)) {
-        names = getivar(cls,IVARS);
-        ivtotal = getivcnt(cls,IVARTOTAL);
-        for (n = ivtotal - getivcnt(cls,IVARCNT); n < ivtotal; ++n) {
-            xlputstr(fptr,"  ");
-            xlprint(fptr,car(names),TRUE);
-            xlputstr(fptr," = ");
-            xlprint(fptr,getivar(self,n),TRUE);
-            xlterpri(fptr);
-            names = cdr(names);
-        }
-    }
-
-    /* return the object */
-    return (self);
-}
-
-/* clnew - create a new object instance */
-LVAL clnew(void)
-{
-    LVAL self;
-    self = xlgaobject();
-    return (newobject(self,getivcnt(self,IVARTOTAL)));
-}
-
-/* clisnew - initialize a new class */
-LVAL clisnew(void)
-{
-    LVAL self,ivars,cvars,super;
-    int n;
-
-    /* get self, the ivars, cvars and superclass */
-    self = xlgaobject();
-    ivars = xlgalist();
-    cvars = (moreargs() ? xlgalist() : NIL);
-    super = (moreargs() ? xlgaobject() : object);
-    xllastarg();
-
-    /* store the instance and class variable lists and the superclass */
-    setivar(self,IVARS,ivars);
-    setivar(self,CVARS,cvars);
-    setivar(self,CVALS,(cvars ? newvector(listlength(cvars)) : NIL));
-    setivar(self,SUPERCLASS,super);
-
-    /* compute the instance variable count */
-    n = listlength(ivars);
-    setivar(self,IVARCNT,cvfixnum((FIXTYPE)n));
-    n += getivcnt(super,IVARTOTAL);
-    setivar(self,IVARTOTAL,cvfixnum((FIXTYPE)n));
-
-    /* return the new class object */
-    return (self);
-}
-
-/* clanswer - define a method for answering a message */
-LVAL clanswer(void)
-{
-    LVAL self,msg,fargs,code,mptr;
-
-    /* message symbol, formal argument list and code */
-    self = xlgaobject();
-    msg = xlgasymbol();
-    fargs = xlgalist();
-    code = xlgalist();
-    xllastarg();
-
-    /* make a new message list entry */
-    mptr = entermsg(self,msg);
-
-    /* setup the message node */
-    xlprot1(fargs);
-    fargs = cons(s_self,fargs); /* add 'self' as the first argument */
-    rplacd(mptr,xlclose(msg,s_lambda,fargs,code,NIL,NIL));
-    xlpop();
-
-    /* return the object */
-    return (self);
-}
-
-/* entermsg - add a message to a class */
-LOCAL LVAL entermsg(LVAL cls, LVAL msg)
-{
-    LVAL lptr,mptr;
-
-    /* lookup the message */
-    for (lptr = getivar(cls,MESSAGES); lptr; lptr = cdr(lptr))
-        if (car(mptr = car(lptr)) == msg)
-            return (mptr);
-
-    /* allocate a new message entry if one wasn't found */
-    xlsave1(mptr);
-    mptr = consa(msg);
-    setivar(cls,MESSAGES,cons(mptr,getivar(cls,MESSAGES)));
-    xlpop();
-
-    /* return the symbol node */
-    return (mptr);
-}
-
-/* xsendmsg - send a message to an object */
-LOCAL LVAL xsendmsg(LVAL obj, LVAL cls, LVAL sym)
-{
-    LVAL msg=NULL,msgcls,method,val,p;
-
-    /* look for the message in the class or superclasses */
-    for (msgcls = cls; msgcls; ) {
-
-        /* lookup the message in this class */
-        for (p = getivar(msgcls,MESSAGES); p; p = cdr(p))
-            if ((msg = car(p)) && car(msg) == sym)
-                goto send_message;
-
-        /* look in class's superclass */
-        msgcls = getivar(msgcls,SUPERCLASS);
-    }
-
-    /* message not found */
-    xlerror("no method for this message",sym);
-
-send_message:
-
-    /* insert the value for 'self' (overwrites message selector) */
-    *--xlargv = obj;
-    ++xlargc;
-    
-    /* invoke the method */
-    if ((method = cdr(msg)) == NULL)
-        xlerror("bad method",method);
-    switch (ntype(method)) {
-    case SUBR:
-        val = (*getsubr(method))();
-        break;
-    case CLOSURE:
-        if (gettype(method) != s_lambda)
-            xlerror("bad method",method);
-        val = evmethod(obj,msgcls,method);
-        break;
-    default:
-        xlerror("bad method",method);
-    }
-
-    /* after creating an object, send it the ":isnew" message */
-    if (car(msg) == k_new && val) {
-        xlprot1(val);
-        xsendmsg(val,getclass(val),k_isnew);
-        xlpop();
-    }
-    
-    /* return the result value */
-    return (val);
-}
-
-/* evmethod - evaluate a method */
-LOCAL LVAL evmethod(LVAL obj, LVAL msgcls, LVAL method)
-{
-    LVAL oldenv,oldfenv,cptr,name,val=NULL;
-    XLCONTEXT cntxt;
-
-    /* protect some pointers */
-    xlstkcheck(3);
-    xlsave(oldenv);
-    xlsave(oldfenv);
-    xlsave(cptr);
-
-    /* create an 'object' stack entry and a new environment frame */
-    oldenv = xlenv;
-    oldfenv = xlfenv;
-    xlenv = cons(cons(obj,msgcls),closure_getenv(method));
-    xlenv = xlframe(xlenv);
-    xlfenv = getfenv(method);
-
-    /* bind the formal parameters */
-    xlabind(method,xlargc,xlargv);
-
-    /* setup the implicit block */
-    if ((name = getname(method)))
-        xlbegin(&cntxt,CF_RETURN,name);
-
-    /* execute the block */
-    if (name && setjmp(cntxt.c_jmpbuf))
-        val = xlvalue;
-    else
-        for (cptr = getbody(method); consp(cptr); cptr = cdr(cptr))
-            val = xleval(car(cptr));
-
-    /* finish the block context */
-    if (name)
-        xlend(&cntxt);
-
-    /* restore the environment */
-    xlenv = oldenv;
-    xlfenv = oldfenv;
-
-    /* restore the stack */
-    xlpopn(3);
-
-    /* return the result value */
-    return (val);
-}
-
-/* getivcnt - get the number of instance variables for a class */
-LOCAL int getivcnt(LVAL cls, int ivar)
-{
-    LVAL cnt;
-    if ((cnt = getivar(cls,ivar)) == NIL || !fixp(cnt))
-        xlfail("bad value for instance variable count");
-    return ((int)getfixnum(cnt));
-}
-
-/* listlength - find the length of a list */
-LOCAL int listlength(LVAL list)
-{
-    int len;
-    for (len = 0; consp(list); len++)
-        list = cdr(list);
-    return (len);
-}
-
-/* obsymbols - initialize symbols */
-void obsymbols(void)
-{
-    /* enter the object related symbols */
-    s_self  = xlenter("SELF");
-    k_new   = xlenter(":NEW");
-    k_isnew = xlenter(":ISNEW");
-
-    /* get the Object and Class symbol values */
-    object = getvalue(xlenter("OBJECT"));
-    class  = getvalue(xlenter("CLASS"));
-}
-
-/* xloinit - object function initialization routine */
-void xloinit(void)
-{
-    /* create the 'Class' object */
-    class = xlclass("CLASS",CLASSSIZE);
-    setelement(class,0,class);
-
-    /* create the 'Object' object */
-    object = xlclass("OBJECT",0);
-
-    /* finish initializing 'class' */
-    setivar(class,SUPERCLASS,object);
-    xladdivar(class,"IVARTOTAL");	/* ivar number 6 */
-    xladdivar(class,"IVARCNT");		/* ivar number 5 */
-    xladdivar(class,"SUPERCLASS");	/* ivar number 4 */
-    xladdivar(class,"CVALS");		/* ivar number 3 */
-    xladdivar(class,"CVARS");		/* ivar number 2 */
-    xladdivar(class,"IVARS");		/* ivar number 1 */
-    xladdivar(class,"MESSAGES");	/* ivar number 0 */
-    xladdmsg(class,":NEW",FT_CLNEW);
-    xladdmsg(class,":ISNEW",FT_CLISNEW);
-    xladdmsg(class,":ANSWER",FT_CLANSWER);
-
-    /* finish initializing 'object' */
-    setivar(object,SUPERCLASS,NIL);
-    xladdmsg(object,":ISNEW",FT_OBISNEW);
-    xladdmsg(object,":CLASS",FT_OBCLASS);
-    xladdmsg(object,":SHOW",FT_OBSHOW);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlpp.c b/lib-src/libnyquist/xlisp/xlpp.c
deleted file mode 100644
index 43a7089..0000000
--- a/lib-src/libnyquist/xlisp/xlpp.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* xlpp.c - xlisp pretty printer */
-/*	Copyright (c) 1985, by David Betz
-        All Rights Reserved			*/
-
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL s_stdout;
-extern int xlfsize;
-
-/* local variables */
-static int pplevel,ppmargin,ppmaxlen;
-static LVAL ppfile;
-
-LOCAL void pp(LVAL expr);
-LOCAL void ppterpri(void);
-LOCAL void pplist(LVAL expr);
-LOCAL void ppexpr(LVAL expr);
-LOCAL int flatsize(LVAL expr);
-LOCAL void ppputc(int ch);
-
-
-/* xpp - pretty-print an expression */
-LVAL xpp(void)
-{
-    LVAL expr;
-
-    /* get expression to print and file pointer */
-    expr = xlgetarg();
-    ppfile = (moreargs() ? xlgetfile() : getvalue(s_stdout));
-    xllastarg();
-
-    /* pretty print the expression */
-    pplevel = ppmargin = 0; ppmaxlen = 40;
-    pp(expr); ppterpri();
-
-    /* return nil */
-    return (NIL);
-}
-
-/* pp - pretty print an expression */
-LOCAL void pp(LVAL expr)
-{
-    if (consp(expr))
-        pplist(expr);
-    else
-        ppexpr(expr);
-}
-
-/* pplist - pretty print a list */
-LOCAL void pplist(LVAL expr)
-{
-    int n;
-
-    /* if the expression will fit on one line, print it on one */
-    if ((n = flatsize(expr)) < ppmaxlen) {
-        xlprint(ppfile,expr,TRUE);
-        pplevel += n;
-    }
-
-    /* otherwise print it on several lines */
-    else {
-        n = ppmargin;
-        ppputc('(');
-        if (atomp(car(expr))) {
-            ppexpr(car(expr));
-            ppputc(' ');
-            ppmargin = pplevel;
-            expr = cdr(expr);
-        }
-        else
-            ppmargin = pplevel;
-        for (; consp(expr); expr = cdr(expr)) {
-            pp(car(expr));
-            if (consp(cdr(expr)))
-                ppterpri();
-        }
-        if (expr != NIL) {
-            ppputc(' '); ppputc('.'); ppputc(' ');
-            ppexpr(expr);
-        }
-        ppputc(')');
-        ppmargin = n;
-    }
-}
-
-/* ppexpr - print an expression and update the indent level */
-LOCAL void ppexpr(LVAL expr)
-{
-    xlprint(ppfile,expr,TRUE);
-    pplevel += flatsize(expr);
-}
-
-/* ppputc - output a character and update the indent level */
-LOCAL void ppputc(int ch)
-{
-    xlputc(ppfile,ch);
-    pplevel++;
-}
-
-/* ppterpri - terminate the print line and indent */
-LOCAL void ppterpri(void)
-{
-    xlterpri(ppfile);
-    for (pplevel = 0; pplevel < ppmargin; pplevel++)
-        xlputc(ppfile,' ');
-}
-
-/* flatsize - compute the flat size of an expression */
-LOCAL int flatsize(LVAL expr)
-{
-    xlfsize = 0;
-    xlprint(NIL,expr,TRUE);
-    return (xlfsize);
-}
diff --git a/lib-src/libnyquist/xlisp/xlprin.c b/lib-src/libnyquist/xlisp/xlprin.c
deleted file mode 100644
index bf3a99a..0000000
--- a/lib-src/libnyquist/xlisp/xlprin.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/* xlprint - xlisp print routine */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use
-
- * HISTORY
- * 28-Apr-03    Mazzoni
- *  Eliminated some compiler warnings
- *
- *  3-Apr-88	Dale Amon at CMU-CSD
- *	Added extern support to xlisp 2.0
- *
- * 18-Oct-87	Dale Amon at CMU-CSD
- *	Added print support for EXTERN nodes
- */
-
-
-#include "string.h"
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL s_printcase,k_downcase,k_const,k_nmacro;
-extern LVAL s_ifmt,s_ffmt;
-extern FUNDEF funtab[];
-extern char buf[];
-
-LOCAL void putsymbol(LVAL fptr, char *str, int escflag);
-LOCAL void putsubr(LVAL fptr, char *tag, LVAL val);
-LOCAL void putfixnum(LVAL fptr, FIXTYPE n);
-LOCAL void putflonum(LVAL fptr, FLOTYPE n);
-LOCAL void putchcode(LVAL fptr, int ch, int escflag);
-LOCAL void putstring(LVAL fptr, LVAL str);
-LOCAL void putqstring(LVAL fptr, LVAL str);
-LOCAL void putclosure(LVAL fptr, LVAL val);
-LOCAL void putoct(LVAL fptr, int n);
-
-
-/* xlprint - print an xlisp value */
-void xlprint(LVAL fptr, LVAL vptr, int flag)
-{
-    LVAL nptr,next;
-    int n,i;
-
-    /* print nil */
-    if (vptr == NIL) {
-        putsymbol(fptr,"NIL",flag);
-        return;
-    }
-
-    /* check value type */
-    switch (ntype(vptr)) {
-    case SUBR:
-            putsubr(fptr,"Subr",vptr);
-            break;
-    case FSUBR:
-            putsubr(fptr,"FSubr",vptr);
-            break;
-    case CONS:
-            xlputc(fptr,'(');
-            for (nptr = vptr; nptr != NIL; nptr = next) {
-                xlprint(fptr,car(nptr),flag);
-                if ((next = cdr(nptr))) {
-                    if (consp(next))
-                        xlputc(fptr,' ');
-                    else {
-                        xlputstr(fptr," . ");
-                        xlprint(fptr,next,flag);
-                        break;
-                    }
-                }
-            }
-            xlputc(fptr,')');
-            break;
-    case SYMBOL:
-            putsymbol(fptr,(char *) getstring(getpname(vptr)),flag);
-            break;
-    case FIXNUM:
-            putfixnum(fptr,getfixnum(vptr));
-            break;
-    case FLONUM:
-            putflonum(fptr,getflonum(vptr));
-            break;
-    case CHAR:
-            putchcode(fptr,getchcode(vptr),flag);
-            break;
-    case STRING:
-            if (flag)
-                putqstring(fptr,vptr);
-            else
-                putstring(fptr,vptr);
-            break;
-    case STREAM:
-            putatm(fptr,"File-Stream",vptr);
-            break;
-    case USTREAM:
-            putatm(fptr,"Unnamed-Stream",vptr);
-            break;
-    case OBJECT:
-            putatm(fptr,"Object",vptr);
-            break;
-    case VECTOR:
-            xlputc(fptr,'#'); xlputc(fptr,'(');
-            for (i = 0, n = getsize(vptr); n-- > 0; ) {
-                xlprint(fptr,getelement(vptr,i++),flag);
-                if (n) xlputc(fptr,' ');
-            }
-            xlputc(fptr,')');
-            break;
-    case CLOSURE:
-            putclosure(fptr,vptr);
-            break;
-    case EXTERN:
-            if (getdesc(vptr)) {
-                (*(getdesc(vptr)->print_meth))(fptr, getinst(vptr));
-            }
-            break;
-    case FREE_NODE:
-            putatm(fptr,"Free",vptr);
-            break;
-    default:
-            putatm(fptr,"Foo",vptr);
-            break;
-    }
-}
-
-/* xlterpri - terminate the current print line */
-void xlterpri(LVAL fptr)
-{
-    xlputc(fptr,'\n');
-}
-
-/* xlputstr - output a string */
-void xlputstr(LVAL fptr, char *str)
-{
-    while (*str)
-        xlputc(fptr,*str++);
-}
-
-/* putsymbol - output a symbol */
-LOCAL void putsymbol(LVAL fptr, char *str, int escflag)
-{
-    int downcase;
-    LVAL type;
-    char *p;
-
-    /* check for printing without escapes */
-    if (!escflag) {
-        xlputstr(fptr,str);
-        return;
-    }
-
-    /* check to see if symbol needs escape characters */
-    if (tentry(*str) == k_const) {
-        for (p = str; *p; ++p)
-            if (islower(*p)
-            ||  ((type = tentry(*p)) != k_const
-              && (!consp(type) || car(type) != k_nmacro))) {
-                xlputc(fptr,'|');
-                while (*str) {
-                    if (*str == '\\' || *str == '|')
-                        xlputc(fptr,'\\');
-                    xlputc(fptr,*str++);
-                }
-                xlputc(fptr,'|');
-                return;
-            }
-    }
-
-    /* get the case translation flag */
-    downcase = (getvalue(s_printcase) == k_downcase);
-
-    /* check for the first character being '#' */
-    if (*str == '#' || *str == '.' || xlisnumber(str,NULL))
-        xlputc(fptr,'\\');
-
-    /* output each character */
-    while (*str) {
-        /* don't escape colon until we add support for packages */
-        if (*str == '\\' || *str == '|' /* || *str == ':' */)
-            xlputc(fptr,'\\');
-        xlputc(fptr,(downcase && isupper(*str) ? tolower(*str++) : *str++));
-    }
-}
-
-/* putstring - output a string */
-LOCAL void putstring(LVAL fptr, LVAL str)
-{
-    unsigned char *p;
-    int ch;
-
-    /* output each character */
-    for (p = getstring(str); (ch = *p) != '\0'; ++p)
-        xlputc(fptr,ch);
-}
-
-/* putqstring - output a quoted string */
-LOCAL void putqstring(LVAL fptr, LVAL str)
-{
-    unsigned char *p;
-    int ch;
-
-    /* get the string pointer */
-    p = getstring(str);
-
-    /* output the initial quote */
-    xlputc(fptr,'"');
-
-    /* output each character in the string */
-    for (p = getstring(str); (ch = *p) != '\0'; ++p)
-
-        /* check for a control character */
-        if (ch < 040 || ch == '\\' || ch > 0176) {
-            xlputc(fptr,'\\');
-            switch (ch) {
-            case '\011':
-                    xlputc(fptr,'t');
-                    break;
-            case '\012':
-                    xlputc(fptr,'n');
-                    break;
-            case '\014':
-                    xlputc(fptr,'f');
-                    break;
-            case '\015':
-                    xlputc(fptr,'r');
-                    break;
-            case '\\':
-                    xlputc(fptr,'\\');
-                    break;
-            default:
-                    putoct(fptr,ch);
-                    break;
-            }
-        }
-
-        /* output a normal character */
-        else
-            xlputc(fptr,ch);
-
-    /* output the terminating quote */
-    xlputc(fptr,'"');
-}
-
-/* putatm - output an atom */
-void putatm(LVAL fptr, char *tag, LVAL val)
-{
-    sprintf(buf,"#<%s: #",tag); xlputstr(fptr,buf);
-    sprintf(buf,AFMT,(int)val); xlputstr(fptr,buf);
-    xlputc(fptr,'>');
-}
-
-/* putsubr - output a subr/fsubr */
-LOCAL void putsubr(LVAL fptr, char *tag, LVAL val)
-{
-    sprintf(buf,"#<%s-%s: #",tag,funtab[getoffset(val)].fd_name);
-    xlputstr(fptr,buf);
-    sprintf(buf,AFMT,(int)val); xlputstr(fptr,buf);
-    xlputc(fptr,'>');
-}
-
-/* putclosure - output a closure */
-LOCAL void putclosure(LVAL fptr, LVAL val)
-{
-    LVAL name;
-    if ((name = getname(val)))
-        sprintf(buf,"#<Closure-%s: #",getstring(getpname(name)));
-    else
-        strcpy(buf,"#<Closure: #");
-    xlputstr(fptr,buf);
-    sprintf(buf,AFMT,(int)val); xlputstr(fptr,buf);
-    xlputc(fptr,'>');
-/*
-    xlputstr(fptr,"\nName:   "); xlprint(fptr,getname(val),TRUE);
-    xlputstr(fptr,"\nType:   "); xlprint(fptr,gettype(val),TRUE);
-    xlputstr(fptr,"\nLambda: "); xlprint(fptr,getlambda(val),TRUE);
-    xlputstr(fptr,"\nArgs:   "); xlprint(fptr,getargs(val),TRUE);
-    xlputstr(fptr,"\nOargs:  "); xlprint(fptr,getoargs(val),TRUE);
-    xlputstr(fptr,"\nRest:   "); xlprint(fptr,getrest(val),TRUE);
-    xlputstr(fptr,"\nKargs:  "); xlprint(fptr,getkargs(val),TRUE);
-    xlputstr(fptr,"\nAargs:  "); xlprint(fptr,getaargs(val),TRUE);
-    xlputstr(fptr,"\nBody:   "); xlprint(fptr,getbody(val),TRUE);
-    xlputstr(fptr,"\nEnv:    "); xlprint(fptr,closure_getenv(val),TRUE);
-    xlputstr(fptr,"\nFenv:   "); xlprint(fptr,getfenv(val),TRUE);
-*/
-}
-
-/* putfixnum - output a fixnum */
-LOCAL void putfixnum(LVAL fptr, FIXTYPE n)
-{
-    unsigned char *fmt;
-    LVAL val;
-    fmt = ((val = getvalue(s_ifmt)) && stringp(val) ? getstring(val)
-                                                    : (unsigned char *)IFMT);
-    sprintf(buf, (char *) fmt,n);
-    xlputstr(fptr,buf);
-}
-
-/* putflonum - output a flonum */
-LOCAL void putflonum(LVAL fptr, FLOTYPE n)
-{
-    unsigned char *fmt;
-    LVAL val;
-    fmt = ((val = getvalue(s_ffmt)) && stringp(val) ? getstring(val)
-                                                    : (unsigned char *)"%g");
-    sprintf(buf,(char *) fmt,n);
-    xlputstr(fptr,buf);
-}
-
-/* putchcode - output a character */
-LOCAL void putchcode(LVAL fptr, int ch, int escflag)
-{
-    if (escflag) {
-        switch (ch) {
-        case '\n':
-            xlputstr(fptr,"#\\Newline");
-            break;
-        case ' ':
-            xlputstr(fptr,"#\\Space");
-            break;
-        case '\t':
-            xlputstr(fptr, "#\\Tab");
-            break;
-        default:
-            sprintf(buf,"#\\%c",ch);
-            xlputstr(fptr,buf);
-            break;
-        }
-    }
-    else
-        xlputc(fptr,ch);
-}
-
-/* putoct - output an octal byte value */
-LOCAL void putoct(LVAL fptr, int n)
-{
-    sprintf(buf,"%03o",n);
-    xlputstr(fptr,buf);
-}
diff --git a/lib-src/libnyquist/xlisp/xlread.c b/lib-src/libnyquist/xlisp/xlread.c
deleted file mode 100644
index 7cba99f..0000000
--- a/lib-src/libnyquist/xlisp/xlread.c
+++ /dev/null
@@ -1,891 +0,0 @@
-/* xlread - xlisp expression input routine */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- *              replaced system-specific code with generic calls (see path.c)
- */
-
-
-#include "stdlib.h"
-#include "string.h"
-#include "switches.h"
-#include "xlisp.h"
-#ifdef WINDOWS
-#include "winfun.h"
-#endif
-#ifdef MACINTOSH
-#include "macstuff.h"
-#endif
-
-/* symbol parser modes */
-#define DONE	0
-#define NORMAL	1
-#define ESCAPE	2
-
-/* external variables */
-extern LVAL s_stdout,s_true,s_dot;
-extern LVAL s_quote,s_function,s_bquote,s_comma,s_comat;
-extern LVAL s_rtable,k_wspace,k_const,k_nmacro,k_tmacro;
-extern LVAL k_sescape,k_mescape;
-extern char buf[];
-
-/* external routines */
-extern FILE *osaopen();
-/* on the NeXT, atof is a macro in stdlib.h */
-#ifndef atof
-extern double atof();
-#endif
-#ifndef __MWERKS__
-#ifdef ITYPE
-extern ITYPE;
-#endif
-#endif
-
-#define WSPACE "\t \f\r\n"
-#define CONST1 "!$%&*+-./0123456789:<=>?@[]^_{}~"
-#define CONST2 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
-
-/* forward declarations */
-FORWARD LVAL callmacro(LVAL fptr, int ch);
-FORWARD LOCAL LVAL psymbol(LVAL fptr);
-FORWARD LOCAL LVAL punintern(LVAL fptr);
-FORWARD LOCAL LVAL pnumber(LVAL fptr, int radix);
-FORWARD LOCAL LVAL pquote(LVAL fptr, LVAL sym);
-FORWARD LOCAL LVAL plist(LVAL fptr);
-FORWARD LOCAL LVAL pvector(LVAL fptr);
-FORWARD LOCAL void upcase(char *str);
-FORWARD LOCAL int pname(LVAL fptr,int *pescflag);
-FORWARD LOCAL void pcomment(LVAL fptr);
-FORWARD LOCAL int checkeof(LVAL fptr);
-FORWARD LOCAL int nextch(LVAL fptr);
-FORWARD LOCAL void badeof(LVAL fptr);
-FORWARD LOCAL int storech(char *buf, int i, int ch);
-
-#ifdef WINDOWS
-static char save_file_name[STRMAX+1]; /* keeps files opened by prompt */
-static int sfn_valid = FALSE;
-#endif
-
-/* xlload - load a file of xlisp expressions */
-int xlload(char *fname, int vflag, int pflag)
-{
-    char fullname[STRMAX+1];
-#ifdef WINDOWS
-    char *ptr;
-#endif
-    LVAL fptr,expr;
-    XLCONTEXT cntxt;
-    FILE *fp;
-    int sts;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(fptr);
-    xlsave(expr);
-
-    /* space for copy + extension? */
-    if (strlen(fname) > STRMAX - 4) goto toolong;
-    strcpy(fullname,fname);
-#ifdef WINDOWS
-#ifdef WINGUI
-    if (strcmp(fullname, "*") == 0) {
-        if (sfn_valid) {
-            strcpy(fullname, save_file_name);
-        } else {
-            strcpy(fullname, "*.*");
-        }
-    }
-    if (strcmp(fullname, "*.*") == 0) {
-        char *name = getfilename(NULL, "lsp", "r", "Load file");
-        if (name) {
-            strcpy(fullname, name);
-            strcpy(save_file_name, name);
-            sfn_valid = TRUE;
-        } else {
-            xlpopn(2);
-            return FALSE;
-        }
-    }
-#endif
-    /* replace "/" with "\" so that (current-path) will work */
-    for (ptr = fullname; *ptr; ptr++) {
-        if (*ptr == '/') *ptr = '\\';
-    }
-#endif
-
-    /* default the extension if there is room */
-    if (needsextension(fullname)) {
-        strcat(fullname,".lsp");
-    }
-
-    /* allocate a file node */
-    fptr = cvfile(NULL);
-
-    /* open the file */
-    if ((fp = osaopen(fullname,"r")) == NULL) {
-        /* new cross-platform code by dmazzoni - new xlisp_path
-           implementation is in path.c */
-        const char *newname = find_in_xlisp_path(fullname);
-        if (newname && newname[0]) {
-            if (strlen(newname) > STRMAX)
-                goto toolong;
-            strcpy(fullname, newname);
-            fp = osaopen(fullname, "r");
-        }
-
-        if (!fp) {
-           /* the file STILL wasn't found */
-           xlpopn(2);
-           return (FALSE);
-        }
-    }
-
-    setfile(fptr,fp);
-    setvalue(s_loadingfiles, cons(fptr, getvalue(s_loadingfiles)));
-    setvalue(s_loadingfiles, cons(cvstring(fullname), getvalue(s_loadingfiles)));
-
-    /* print the information line */
-    if (vflag)
-        { sprintf(buf,"; loading \"%s\"\n",fullname); stdputstr(buf); }
-
-    /* read, evaluate and possibly print each expression in the file */
-    xlbegin(&cntxt,CF_ERROR,s_true);
-    if (setjmp(cntxt.c_jmpbuf))
-        sts = FALSE;
-    else {
-        while (xlread(fptr,&expr,FALSE)) {
-            expr = xleval(expr);
-            if (pflag)
-                stdprint(expr);
-        }
-        sts = TRUE;
-    }
-    xlend(&cntxt);
-
-    /* close the file */
-    osclose(getfile(fptr));
-    setfile(fptr,NULL);
-    if (consp(getvalue(s_loadingfiles)) && 
-        consp(cdr(getvalue(s_loadingfiles))) &&
-        car(cdr(getvalue(s_loadingfiles))) == fptr) {
-        setvalue(s_loadingfiles, cdr(cdr(getvalue(s_loadingfiles))));
-    }
-
-    /* restore the stack */
-    xlpopn(2);
-
-    /* return status */
-    return (sts);
-
-toolong:
-    xlcerror("ignore file", "file name too long", NIL);
-    xlpopn(2);
-    return FALSE;
-}
-
-/* xlread - read an xlisp expression */
-int xlread(LVAL fptr, LVAL *pval, int rflag)
-{
-    int sts;
-
-    /* read an expression */
-    while ((sts = readone(fptr,pval)) == FALSE)
-        ;
-
-    /* return status */
-    return (sts == EOF ? FALSE : TRUE);
-}
-
-/* readone - attempt to read a single expression */
-int readone(LVAL fptr, LVAL *pval)
-{
-    LVAL val,type;
-    int ch;
-
-    /* get a character and check for EOF */
-    if ((ch = xlgetc(fptr)) == EOF)
-        return (EOF);
-
-    /* handle white space */
-    if ((type = tentry(ch)) == k_wspace)
-        return (FALSE);
-
-    /* handle symbol constituents */
-    else if (type == k_const) {
-        xlungetc(fptr,ch);
-        *pval = psymbol(fptr);
-        return (TRUE);	    
-    }
-
-    /* handle single and multiple escapes */
-    else if (type == k_sescape || type == k_mescape) {
-        xlungetc(fptr,ch);
-        *pval = psymbol(fptr);
-        return (TRUE);
-    }
-    
-    /* handle read macros */
-    else if (consp(type)) {
-        if ((val = callmacro(fptr,ch)) && consp(val)) {
-            *pval = car(val);
-            return (TRUE);
-        }
-        else
-            return (FALSE);
-    }
-
-    /* handle illegal characters */
-    else
-        xlerror("illegal character",cvfixnum((FIXTYPE)ch));
-}
-
-/* rmhash - read macro for '#' */
-LVAL rmhash(void)
-{
-    LVAL fptr,mch,val;
-    int escflag,ch;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* make the return value */
-    val = consa(NIL);
-
-    /* check the next character */
-    switch (ch = xlgetc(fptr)) {
-    case '\'':
-                rplaca(val,pquote(fptr,s_function));
-                break;
-    case '(':
-                rplaca(val,pvector(fptr));
-                break;
-    case 'b':
-    case 'B':
-                rplaca(val,pnumber(fptr,2));
-                break;
-    case 'o':
-    case 'O':
-                rplaca(val,pnumber(fptr,8));
-                break;
-    case 'x':
-    case 'X':
-                    rplaca(val,pnumber(fptr,16));
-                break;
-    case '\\':
-                xlungetc(fptr,ch);
-                pname(fptr,&escflag);
-                ch = buf[0];
-                if (strlen(buf) > 1) {
-                    upcase((char *) buf);
-                    if (strcmp(buf,"NEWLINE") == 0)
-                        ch = '\n';
-                    else if (strcmp(buf,"SPACE") == 0)
-                        ch = ' ';
-                    else if (strcmp(buf,"TAB") == 0)
-                        ch = '\t';
-                    else
-                        xlerror("unknown character name",cvstring(buf));
-                }
-                rplaca(val,cvchar(ch));
-                break;
-    case ':':
-                rplaca(val,punintern(fptr));
-                break;
-    case '|':
-                    pcomment(fptr);
-                val = NIL;
-                break;
-    default:
-                xlerror("illegal character after #",cvfixnum((FIXTYPE)ch));
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the value */
-    return (val);
-}
-
-/* rmquote - read macro for '\'' */
-LVAL rmquote(void)
-{
-    LVAL fptr,mch;
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* parse the quoted expression */
-    return (consa(pquote(fptr,s_quote)));
-}
-
-/* rmdquote - read macro for '"' */
-LVAL rmdquote(void)
-{
-    unsigned char buf[STRMAX+1],*p,*sptr;
-    LVAL fptr,str,newstr,mch;
-    int len,blen,ch,d2,d3;
-
-    /* protect some pointers */
-    xlsave1(str);
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* loop looking for a closing quote */
-    len = blen = 0; p = buf;
-    while ((ch = checkeof(fptr)) != '"') {
-
-        /* handle escaped characters */
-        switch (ch) {
-        case '\\':
-                switch (ch = checkeof(fptr)) {
-                case 't':
-                        ch = '\011';
-                        break;
-                case 'n':
-                        ch = '\012';
-                        break;
-                case 'f':
-                        ch = '\014';
-                        break;
-                case 'r':
-                        ch = '\015';
-                        break;
-                default:
-                        if (ch >= '0' && ch <= '7') {
-                            d2 = checkeof(fptr);
-                            d3 = checkeof(fptr);
-                            if (d2 < '0' || d2 > '7'
-                             || d3 < '0' || d3 > '7')
-                                xlfail("invalid octal digit");
-                            ch -= '0'; d2 -= '0'; d3 -= '0';
-                            ch = (ch << 6) | (d2 << 3) | d3;
-                        }
-                        break;
-                }
-        }
-
-        /* check for buffer overflow */
-        if (blen >= STRMAX) {
-             newstr = new_string(len + STRMAX + 1);
-            sptr = getstring(newstr); *sptr = '\0';
-            if (str) strcat((char *) sptr, (char *) getstring(str));
-            *p = '\0'; strcat((char *) sptr, (char *) buf);
-            p = buf; blen = 0;
-            len += STRMAX;
-            str = newstr;
-        }
-
-        /* store the character */
-        *p++ = ch; ++blen;
-    }
-
-    /* append the last substring */
-    if (str == NIL || blen) {
-        newstr = new_string(len + blen + 1);
-        sptr = getstring(newstr); *sptr = '\0';
-        if (str) strcat((char *) sptr, (char *) getstring(str));
-        *p = '\0'; strcat((char *) sptr, (char *) buf);
-        str = newstr;
-    }
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the new string */
-    return (consa(str));
-}
-
-/* rmbquote - read macro for '`' */
-LVAL rmbquote(void)
-{
-    LVAL fptr,mch;
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* parse the quoted expression */
-    return (consa(pquote(fptr,s_bquote)));
-}
-
-/* rmcomma - read macro for ',' */
-LVAL rmcomma(void)
-{
-    LVAL fptr,mch,sym;
-    int ch;
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* check the next character */
-    if ((ch = xlgetc(fptr)) == '@')
-        sym = s_comat;
-    else {
-        xlungetc(fptr,ch);
-        sym = s_comma;
-    }
-
-    /* make the return value */
-    return (consa(pquote(fptr,sym)));
-}
-
-/* rmlpar - read macro for '(' */
-LVAL rmlpar(void)
-{
-    LVAL fptr,mch;
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* make the return value */
-    return (consa(plist(fptr)));
-}
-
-/* 4035 is the "no return value" warning message */
-/* rmrpar, pcomment, badeof, and upcase don't return anything */
-/* #pragma warning(disable: 4035) */
-
-/* rmrpar - read macro for ')' */
-LVAL rmrpar(void)
-{
-    xlfail("misplaced right paren");
-    return NULL; /* never used */
-}
-
-/* rmsemi - read macro for ';' */
-LVAL rmsemi(void)
-{
-    LVAL fptr,mch;
-    int ch;
-
-    /* get the file and macro character */
-    fptr = xlgetfile();
-    mch = xlgachar();
-    xllastarg();
-
-    /* skip to end of line */
-    while ((ch = xlgetc(fptr)) != EOF && ch != '\n')
-        ;
-
-    /* return nil (nothing read) */
-    return (NIL);
-}
-
-/* pcomment - parse a comment delimited by #| and |# */
-LOCAL void pcomment(LVAL fptr)
-{
-    int lastch,ch,n;
-
-    /* look for the matching delimiter (and handle nesting) */
-    for (n = 1, lastch = -1; n > 0 && (ch = xlgetc(fptr)) != EOF; ) {
-        if (lastch == '|' && ch == '#')
-            { --n; ch = -1; }
-        else if (lastch == '#' && ch == '|')
-            { ++n; ch = -1; }
-        lastch = ch;
-    }
-}
-
-/* pnumber - parse a number */
-LOCAL LVAL pnumber(LVAL fptr, int radix)
-{
-    int digit,ch;
-    long num;
-    
-    for (num = 0L; (ch = xlgetc(fptr)) != EOF; ) {
-        if (islower(ch)) ch = toupper(ch);
-        if (!('0' <= ch && ch <= '9') && !('A' <= ch && ch <= 'F'))
-            break;
-        if ((digit = (ch <= '9' ? ch - '0' : ch - 'A' + 10)) >= radix)
-            break;
-        num = num * (long)radix + (long)digit;
-    }
-    xlungetc(fptr,ch);
-    return (cvfixnum((FIXTYPE)num));
-}
-
-/* plist - parse a list */
-LOCAL LVAL plist(LVAL fptr)
-{
-    LVAL val,expr,lastnptr,nptr;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(val);
-    xlsave(expr);
-
-    /* keep appending nodes until a closing paren is found */
-    for (lastnptr = NIL; nextch(fptr) != ')'; )
-
-        /* get the next expression */
-        switch (readone(fptr,&expr)) {
-        case EOF:
-            badeof(fptr);
-        case TRUE:
-
-            /* check for a dotted tail */
-            if (expr == s_dot) {
-                /* make sure there's a node */
-                if (lastnptr == NIL)
-                    xlfail("invalid dotted pair");
-
-                /* parse the expression after the dot */
-                if (!xlread(fptr,&expr,TRUE))
-                    badeof(fptr);
-                rplacd(lastnptr,expr);
-
-                /* make sure its followed by a close paren */
-                if (nextch(fptr) != ')')
-                    xlfail("invalid dotted pair");
-            }
-
-            /* otherwise, handle a normal list element */
-            else {
-                nptr = consa(expr);
-                if (lastnptr == NIL)
-                    val = nptr;
-                else
-                    rplacd(lastnptr,nptr);
-                lastnptr = nptr;
-            }
-            break;
-        }
-
-    /* skip the closing paren */
-    xlgetc(fptr);
-
-    /* restore the stack */
-    xlpopn(2);
-
-    /* return successfully */
-    return (val);
-}
-
-/* pvector - parse a vector */
-LOCAL LVAL pvector(LVAL fptr)
-{
-    LVAL list,expr,val,lastnptr,nptr;
-    int len,ch,i;
-
-    /* protect some pointers */
-    xlstkcheck(2);
-    xlsave(list);
-    xlsave(expr);
-
-    /* keep appending nodes until a closing paren is found */
-    for (lastnptr = NIL, len = 0; (ch = nextch(fptr)) != ')'; ) {
-
-        /* check for end of file */
-        if (ch == EOF)
-            badeof(fptr);
-
-        /* get the next expression */
-        switch (readone(fptr,&expr)) {
-        case EOF:
-            badeof(fptr);
-        case TRUE:
-            nptr = consa(expr);
-            if (lastnptr == NIL)
-                list = nptr;
-            else
-                rplacd(lastnptr,nptr);
-            lastnptr = nptr;
-            len++;
-            break;
-        }
-    }
-
-    /* skip the closing paren */
-    xlgetc(fptr);
-
-    /* make a vector of the appropriate length */
-    val = newvector(len);
-
-    /* copy the list into the vector */
-    for (i = 0; i < len; ++i, list = cdr(list))
-        setelement(val,i,car(list));
-
-    /* restore the stack */
-    xlpopn(2);
-
-    /* return successfully */
-    return (val);
-}
-
-/* pquote - parse a quoted expression */
-LOCAL LVAL pquote(LVAL fptr, LVAL sym)
-{
-    LVAL val,p;
-
-    /* protect some pointers */
-    xlsave1(val);
-
-    /* allocate two nodes */
-    val = consa(sym);
-    rplacd(val,consa(NIL));
-
-    /* initialize the second to point to the quoted expression */
-    if (!xlread(fptr,&p,TRUE))
-        badeof(fptr);
-    rplaca(cdr(val),p);
-
-    /* restore the stack */
-    xlpop();
-
-    /* return the quoted expression */
-    return (val);
-}
-
-/* psymbol - parse a symbol name */
-LOCAL LVAL psymbol(LVAL fptr)
-{
-    int escflag;
-    LVAL val;
-    pname(fptr,&escflag);
-    return (escflag || !xlisnumber(buf,&val) ? xlenter(buf) : val);
-}
-
-/* punintern - parse an uninterned symbol */
-LOCAL LVAL punintern(LVAL fptr)
-{
-    int escflag;
-    pname(fptr,&escflag);
-    return (xlmakesym(buf));
-}
-
-/* pname - parse a symbol/package name */
-LOCAL int pname(LVAL fptr,int *pescflag)
-{
-    int mode,ch=0,i;
-    LVAL type;
-
-    /* initialize */
-    *pescflag = FALSE;
-    mode = NORMAL;
-    i = 0;
-
-    /* accumulate the symbol name */
-    while (mode != DONE) {
-
-        /* handle normal mode */
-        while (mode == NORMAL)
-            if ((ch = xlgetc(fptr)) == EOF)
-                mode = DONE;
-            else if ((type = tentry(ch)) == k_sescape) {
-                i = storech(buf,i,checkeof(fptr));
-                *pescflag = TRUE;
-            }
-            else if (type == k_mescape) {
-                *pescflag = TRUE;
-                mode = ESCAPE;
-            }
-            else if (type == k_const
-                 ||  (consp(type) && car(type) == k_nmacro))
-                i = storech(buf,i,islower(ch) ? toupper(ch) : ch);
-            else
-                mode = DONE;
-
-        /* handle multiple escape mode */
-        while (mode == ESCAPE)
-            if ((ch = xlgetc(fptr)) == EOF)
-                badeof(fptr);
-            else if ((type = tentry(ch)) == k_sescape)
-                i = storech(buf,i,checkeof(fptr));
-            else if (type == k_mescape)
-                mode = NORMAL;
-            else
-                i = storech(buf,i,ch);
-    }
-    buf[i] = 0;
-
-    /* check for a zero length name */
-    if (i == 0)
-        xlerror("zero length name", s_unbound);
-
-    /* unget the last character and return it */
-    xlungetc(fptr,ch);
-    return (ch);
-}
-
-/* storech - store a character in the print name buffer */
-LOCAL int storech(char *buf, int i, int ch)
-{
-    if (i < STRMAX)
-        buf[i++] = ch;
-    return (i);
-}
-
-/* tentry - get a readtable entry */
-LVAL tentry(int ch)
-{
-    LVAL rtable;
-    rtable = getvalue(s_rtable);
-    if (!vectorp(rtable) || ch < 0 || ch >= getsize(rtable))
-        return (NIL);
-    return (getelement(rtable,ch));
-}
-
-/* nextch - look at the next non-blank character */
-LOCAL int nextch(LVAL fptr)
-{
-    int ch;
-
-    /* return and save the next non-blank character */
-    while ((ch = xlgetc(fptr)) != EOF && isspace(ch))
-        ;
-    xlungetc(fptr,ch);
-    return (ch);
-}
-
-/* checkeof - get a character and check for end of file */
-LOCAL int checkeof(LVAL fptr)
-{
-    int ch;
-
-    if ((ch = xlgetc(fptr)) == EOF)
-        badeof(fptr);
-    return (ch);
-}
-
-/* badeof - unexpected eof */
-LOCAL void badeof(LVAL fptr)
-{
-    xlgetc(fptr);
-    xlfail("unexpected EOF");
-}
-
-/* xlisnumber - check if this string is a number */
-int xlisnumber(char *str, LVAL *pval)
-{
-    int dl,dr;
-    char *p;
-
-    /* initialize */
-    p = str; dl = dr = 0;
-
-    /* check for a sign */
-    if (*p == '+' || *p == '-')
-        p++;
-
-    /* check for a string of digits */
-    while (isdigit(*p))
-        p++, dl++;
-
-    /* check for a decimal point */
-    if (*p == '.') {
-        p++;
-        while (isdigit(*p))
-            p++, dr++;
-    }
-
-    /* check for an exponent */
-    if ((dl || dr) && *p == 'E') {
-        p++;
-
-        /* check for a sign */
-        if (*p == '+' || *p == '-')
-            p++;
-
-        /* check for a string of digits */
-        while (isdigit(*p))
-            p++, dr++;
-    }
-
-    /* make sure there was at least one digit and this is the end */
-    if ((dl == 0 && dr == 0) || *p)
-        return (FALSE);
-
-    /* convert the string to an integer and return successfully */
-    if (pval) {
-        if (*str == '+') ++str;
-        if (str[strlen(str)-1] == '.') str[strlen(str)-1] = 0;
-        *pval = (dr ? cvflonum(atof(str)) : cvfixnum(ICNV(str)));
-    }
-    return (TRUE);
-}
-
-/* defmacro - define a read macro */
-void defmacro(int ch, LVAL type, int offset)
-{
-    extern FUNDEF funtab[];
-    LVAL subr;
-    subr = cvsubr(funtab[offset].fd_subr,funtab[offset].fd_type,offset);
-    setelement(getvalue(s_rtable),ch,cons(type,subr));
-}
-
-/* callmacro - call a read macro */
-LVAL callmacro(LVAL fptr, int ch)
-{
-    LVAL *newfp;
-
-    /* create the new call frame */
-    newfp = xlsp;
-    pusharg(cvfixnum((FIXTYPE)(newfp - xlfp)));
-    pusharg(cdr(getelement(getvalue(s_rtable),ch)));
-    pusharg(cvfixnum((FIXTYPE)2));
-    pusharg(fptr);
-    pusharg(cvchar(ch));
-    xlfp = newfp;
-    return (xlapply(2));
-}
-
-/* upcase - translate a string to upper case */
-LOCAL void upcase(char *str)
-{
-    for (; *str != '\0'; ++str)
-        if (islower(*str))
-            *str = toupper(*str);
-}
-
-/* xlrinit - initialize the reader */
-void xlrinit(void)
-{
-    LVAL rtable;
-    char *p;
-    int ch;
-
-    /* create the read table */
-    rtable = newvector(256);
-    setvalue(s_rtable,rtable);
-
-    /* initialize the readtable */
-    for (p = WSPACE; (ch = *p++); )
-        setelement(rtable,ch,k_wspace);
-    for (p = CONST1; (ch = *p++); )
-        setelement(rtable,ch,k_const);
-    for (p = CONST2; (ch = *p++); )
-        setelement(rtable,ch,k_const);
-
-    /* setup the escape characters */
-    setelement(rtable,'\\',k_sescape);
-    setelement(rtable,'|', k_mescape);
-
-    /* install the read macros */
-    defmacro('#', k_nmacro,FT_RMHASH);
-    defmacro('\'',k_tmacro,FT_RMQUOTE);
-    defmacro('"', k_tmacro,FT_RMDQUOTE);
-    defmacro('`', k_tmacro,FT_RMBQUOTE);
-    defmacro(',', k_tmacro,FT_RMCOMMA);
-    defmacro('(', k_tmacro,FT_RMLPAR);
-    defmacro(')', k_tmacro,FT_RMRPAR);
-    defmacro(';', k_tmacro,FT_RMSEMI);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlstr.c b/lib-src/libnyquist/xlisp/xlstr.c
deleted file mode 100644
index ab7de82..0000000
--- a/lib-src/libnyquist/xlisp/xlstr.c
+++ /dev/null
@@ -1,557 +0,0 @@
-/* xlstr - xlisp string and character built-in functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-#include "string.h"
-#include "xlisp.h"
-
-/* local definitions */
-#define fix(n)	cvfixnum((FIXTYPE)(n))
-#define TLEFT	1
-#define TRIGHT	2
-
-/* external variables */
-extern LVAL k_start,k_end,k_1start,k_1end,k_2start,k_2end;
-extern LVAL s_true;
-extern char buf[];
-
-/* forward declarations */
-FORWARD LOCAL LVAL strcompare(int fcn, int icase);
-FORWARD LOCAL LVAL chrcompare(int fcn, int icase);
-FORWARD LOCAL LVAL changecase(int fcn, int destructive);
-FORWARD LOCAL LVAL trim(int fcn);
-FORWARD LOCAL void getbounds(LVAL str, LVAL skey, LVAL ekey, int *pstart, int *pend);
-FORWARD LOCAL int inbag(int ch, LVAL bag);
-
-/* string comparision functions */
-LVAL xstrlss(void) { return (strcompare('<',FALSE)); } /* string< */
-LVAL xstrleq(void) { return (strcompare('L',FALSE)); } /* string<= */
-LVAL xstreql(void) { return (strcompare('=',FALSE)); } /* string= */
-LVAL xstrneq(void) { return (strcompare('#',FALSE)); } /* string/= */
-LVAL xstrgeq(void) { return (strcompare('G',FALSE)); } /* string>= */
-LVAL xstrgtr(void) { return (strcompare('>',FALSE)); } /* string> */
-
-/* string comparison functions (not case sensitive) */
-LVAL xstrilss(void) { return (strcompare('<',TRUE)); } /* string-lessp */
-LVAL xstrileq(void) { return (strcompare('L',TRUE)); } /* string-not-greaterp */
-LVAL xstrieql(void) { return (strcompare('=',TRUE)); } /* string-equal */
-LVAL xstrineq(void) { return (strcompare('#',TRUE)); } /* string-not-equal */
-LVAL xstrigeq(void) { return (strcompare('G',TRUE)); } /* string-not-lessp */
-LVAL xstrigtr(void) { return (strcompare('>',TRUE)); } /* string-greaterp */
-
-/* strcompare - compare strings */
-LOCAL LVAL strcompare(int fcn, int icase)
-{
-    int start1,end1,start2,end2,ch1,ch2;
-    unsigned char *p1,*p2;
-    LVAL str1,str2;
-
-    /* get the strings */
-    str1 = xlgastring();
-    str2 = xlgastring();
-
-    /* get the substring specifiers */
-    getbounds(str1,k_1start,k_1end,&start1,&end1);
-    getbounds(str2,k_2start,k_2end,&start2,&end2);
-
-    /* setup the string pointers */
-    p1 = &getstring(str1)[start1];
-    p2 = &getstring(str2)[start2];
-
-    /* compare the strings */
-    for (; start1 < end1 && start2 < end2; ++start1,++start2) {
-        ch1 = *p1++;
-        ch2 = *p2++;
-        if (icase) {
-            if (isupper(ch1)) ch1 = tolower(ch1);
-            if (isupper(ch2)) ch2 = tolower(ch2);
-        }
-        if (ch1 != ch2)
-            switch (fcn) {
-            case '<':	return (ch1 < ch2 ? fix(start1) : NIL);
-            case 'L':	return (ch1 <= ch2 ? fix(start1) : NIL);
-            case '=':	return (NIL);
-            case '#':	return (fix(start1));
-            case 'G':	return (ch1 >= ch2 ? fix(start1) : NIL);
-            case '>':	return (ch1 > ch2 ? fix(start1) : NIL);
-            }
-    }
-
-    /* check the termination condition */
-    switch (fcn) {
-    case '<':	return (start1 >= end1 && start2 < end2 ? fix(start1) : NIL);
-    case 'L':	return (start1 >= end1 ? fix(start1) : NIL);
-    case '=':	return (start1 >= end1 && start2 >= end2 ? s_true : NIL);
-    case '#':	return (start1 >= end1 && start2 >= end2 ? NIL : fix(start1));
-    case 'G':	return (start2 >= end2 ? fix(start1) : NIL);
-    case '>':	return (start2 >= end2 && start1 < end1 ? fix(start1) : NIL);
-    }
-
-    return NIL; /* Normally shouldn't happen */
-}
-
-/* case conversion functions */
-LVAL xupcase(void)   { return (changecase('U',FALSE)); }
-LVAL xdowncase(void) { return (changecase('D',FALSE)); }
-
-/* destructive case conversion functions */
-LVAL xnupcase(void)   { return (changecase('U',TRUE)); }
-LVAL xndowncase(void) { return (changecase('D',TRUE)); }
-
-/* changecase - change case */
-LOCAL LVAL changecase(int fcn, int destructive)
-{
-    unsigned char *srcp,*dstp;
-    int start,end,len,ch,i;
-    LVAL src,dst;
-
-    /* get the string */
-    src = xlgastring();
-
-    /* get the substring specifiers */
-    getbounds(src,k_start,k_end,&start,&end);
-    len = getslength(src) - 1;
-
-    /* make a destination string */
-    dst = (destructive ? src : new_string(len+1));
-
-    /* setup the string pointers */
-    srcp = getstring(src);
-    dstp = getstring(dst);
-
-    /* copy the source to the destination */
-    for (i = 0; i < len; ++i) {
-        ch = *srcp++;
-        if (i >= start && i < end)
-            switch (fcn) {
-            case 'U':	if (islower(ch)) ch = toupper(ch); break;
-            case 'D':	if (isupper(ch)) ch = tolower(ch); break;
-            }
-        *dstp++ = ch;
-    }
-    *dstp = '\0';
-
-    /* return the new string */
-    return (dst);
-}
-
-/* search for string within a string */
-LVAL xstrsearch(void)
-{
-    int start,end,pat_len,str_len;
-    unsigned char *pat,*str,*patptr,*strptr,*patend;
-    LVAL str1,str2;
-
-    /* get the strings */
-    str1 = xlgastring(); /* the pat */
-    str2 = xlgastring(); /* the string */
-
-    /* get the substring specifiers */
-    getbounds(str2, k_start, k_end, &start, &end);    
-
-    /* setup the string pointers */
-    pat = getstring(str1);
-    str = &getstring(str2)[start];
-
-    pat_len = getslength(str1) - 1;
-    str_len = end - start;
-    patend = pat + pat_len;
-    for (; pat_len <= str_len; str_len--) {
-        patptr = pat;
-        strptr = str;
-        /* two outcomes: (1) no match, goto step (2) match, return */
-        while (patptr < patend) {
-            if (*patptr++ != *strptr++) goto step;
-        }
-        /* compute match index */
-        return cvfixnum(str - getstring(str2));
-    step:
-        str++;
-    }
-    /* no match */
-    return NIL;
-}
-    
-
-/* trim functions */
-LVAL xtrim(void)      { return (trim(TLEFT|TRIGHT)); }
-LVAL xlefttrim(void)  { return (trim(TLEFT)); }
-LVAL xrighttrim(void) { return (trim(TRIGHT)); }
-
-/* trim - trim character from a string */
-LOCAL LVAL trim(int fcn)
-{
-    unsigned char *leftp,*rightp,*dstp;
-    LVAL bag,src,dst;
-
-    /* get the bag and the string */
-    bag = xlgastring();
-    src = xlgastring();
-    xllastarg();
-
-    /* setup the string pointers */
-    leftp = getstring(src);
-    rightp = leftp + getslength(src) - 2;
-
-    /* trim leading characters */
-    if (fcn & TLEFT)
-        while (leftp <= rightp && inbag(*leftp,bag))
-            ++leftp;
-
-    /* trim character from the right */
-    if (fcn & TRIGHT)
-        while (rightp >= leftp && inbag(*rightp,bag))
-            --rightp;
-
-    /* make a destination string and setup the pointer */
-    dst = new_string((int)(rightp-leftp+2));
-    dstp = getstring(dst);
-
-    /* copy the source to the destination */
-    while (leftp <= rightp)
-        *dstp++ = *leftp++;
-    *dstp = '\0';
-
-    /* return the new string */
-    return (dst);
-}
-
-/* getbounds - get the start and end bounds of a string */
-LOCAL void getbounds(LVAL str, LVAL skey, LVAL ekey, int *pstart, int *pend)
-{
-    LVAL arg;
-    int len;
-
-    /* get the length of the string */
-    len = getslength(str) - 1;
-
-    /* get the starting index */
-    if (xlgkfixnum(skey,&arg)) {
-        *pstart = (int)getfixnum(arg);
-        if (*pstart < 0 || *pstart > len)
-            xlerror("string index out of bounds",arg);
-    }
-    else
-        *pstart = 0;
-
-    /* get the ending index */
-    if (xlgkfixnum(ekey,&arg)) {
-        *pend = (int)getfixnum(arg);
-        if (*pend < 0 || *pend > len)
-            xlerror("string index out of bounds",arg);
-    }
-    else
-        *pend = len;
-
-    /* make sure the start is less than or equal to the end */
-    if (*pstart > *pend)
-        xlerror("starting index error",cvfixnum((FIXTYPE)*pstart));
-}
-
-/* inbag - test if a character is in a bag */
-LOCAL int inbag(int ch, LVAL bag)
-{
-    unsigned char *p;
-    for (p = getstring(bag); *p != '\0'; ++p)
-        if (*p == ch)
-            return (TRUE);
-    return (FALSE);
-}
-
-/* xstrcat - concatenate a bunch of strings */
-LVAL xstrcat(void)
-{
-    LVAL *saveargv,tmp,val;
-    unsigned char *str;
-    int saveargc,len;
-
-    /* save the argument list */
-    saveargv = xlargv;
-    saveargc = xlargc;
-
-    /* find the length of the new string */
-    for (len = 0; moreargs(); ) {
-        tmp = xlgastring();
-        len += (int)getslength(tmp) - 1;
-    }
-
-    /* create the result string */
-    val = new_string(len+1);
-    str = getstring(val);
-
-    /* restore the argument list */
-    xlargv = saveargv;
-    xlargc = saveargc;
-    
-    /* combine the strings */
-    for (*str = '\0'; moreargs(); ) {
-        tmp = nextarg();
-        strcat((char *) str, (char *) getstring(tmp));
-    }
-
-    /* return the new string */
-    return (val);
-}
-
-/* xsubseq - return a subsequence */
-LVAL xsubseq(void)
-{
-    unsigned char *srcp,*dstp;
-    int start,end,len;
-    LVAL src,dst;
-
-    /* get string and starting and ending positions */
-    src = xlgastring();
-
-    /* get the starting position */
-    dst = xlgafixnum(); start = (int)getfixnum(dst);
-    if (start < 0 || start > getslength(src) - 1)
-        xlerror("string index out of bounds",dst);
-
-    /* get the ending position */
-    if (moreargs()) {
-        dst = xlgafixnum(); end = (int)getfixnum(dst);
-        if (end < 0 || end > getslength(src) - 1)
-            xlerror("string index out of bounds",dst);
-    }
-    else
-        end = getslength(src) - 1;
-    xllastarg();
-
-    /* setup the source pointer */
-    srcp = getstring(src) + start;
-    len = end - start;
-
-    /* make a destination string and setup the pointer */
-    dst = new_string(len+1);
-    dstp = getstring(dst);
-
-    /* copy the source to the destination */
-    while (--len >= 0)
-        *dstp++ = *srcp++;
-    *dstp = '\0';
-
-    /* return the substring */
-    return (dst);
-}
-
-/* xstring - return a string consisting of a single character */
-LVAL xstring(void)
-{
-    LVAL arg;
-
-    /* get the argument */
-    arg = xlgetarg();
-    xllastarg();
-
-    /* make sure its not NIL */
-    if (null(arg))
-        xlbadtype(arg);
-
-    /* check the argument type */
-    switch (ntype(arg)) {
-    case STRING:
-        return (arg);
-    case SYMBOL:
-        return (getpname(arg));
-    case CHAR:
-        buf[0] = (int)getchcode(arg);
-        buf[1] = '\0';
-        return (cvstring(buf));
-    default:
-        xlbadtype(arg);
-        return NIL; /* never happens */
-    }
-}
-
-/* xchar - extract a character from a string */
-LVAL xchar(void)
-{
-    LVAL str,num;
-    int n;
-
-    /* get the string and the index */
-    str = xlgastring();
-    num = xlgafixnum();
-    xllastarg();
-
-    /* range check the index */
-    if ((n = (int)getfixnum(num)) < 0 || n >= getslength(str) - 1)
-        xlerror("index out of range",num);
-
-    /* return the character */
-    return (cvchar(getstring(str)[n]));
-}
-
-/* xcharint - convert an integer to a character */
-LVAL xcharint(void)
-{
-    LVAL arg;
-    arg = xlgachar();
-    xllastarg();
-    return (cvfixnum((FIXTYPE)getchcode(arg)));
-}
-
-/* xintchar - convert a character to an integer */
-LVAL xintchar(void)
-{
-    LVAL arg;
-    arg = xlgafixnum();
-    xllastarg();
-    return (cvchar((int)getfixnum(arg)));
-}
-
-/* xuppercasep - built-in function 'upper-case-p' */
-LVAL xuppercasep(void)
-{
-    int ch;
-    ch = getchcode(xlgachar());
-    xllastarg();
-    return (isupper(ch) ? s_true : NIL);
-}
-
-/* xlowercasep - built-in function 'lower-case-p' */
-LVAL xlowercasep(void)
-{
-    int ch;
-    ch = getchcode(xlgachar());
-    xllastarg();
-    return (islower(ch) ? s_true : NIL);
-}
-
-/* xbothcasep - built-in function 'both-case-p' */
-LVAL xbothcasep(void)
-{
-    int ch;
-    ch = getchcode(xlgachar());
-    xllastarg();
-    return (isupper(ch) || islower(ch) ? s_true : NIL);
-}
-
-/* xdigitp - built-in function 'digit-char-p' */
-LVAL xdigitp(void)
-{
-    int ch;
-    ch = getchcode(xlgachar());
-    xllastarg();
-    return (isdigit(ch) ? cvfixnum((FIXTYPE)(ch - '0')) : NIL);
-}
-
-/* xcharcode - built-in function 'char-code' */
-LVAL xcharcode(void)
-{
-    int ch;
-    ch = getchcode(xlgachar());
-    xllastarg();
-    return (cvfixnum((FIXTYPE)ch));
-}
-
-/* xcodechar - built-in function 'code-char' */
-LVAL xcodechar(void)
-{
-    LVAL arg;
-    int ch;
-    arg = xlgafixnum(); ch = getfixnum(arg);
-    xllastarg();
-    return (ch >= 0 && ch <= 127 ? cvchar(ch) : NIL);
-}
-
-/* xchupcase - built-in function 'char-upcase' */
-LVAL xchupcase(void)
-{
-    LVAL arg;
-    int ch;
-    arg = xlgachar(); ch = getchcode(arg);
-    xllastarg();
-    return (islower(ch) ? cvchar(toupper(ch)) : arg);
-}
-
-/* xchdowncase - built-in function 'char-downcase' */
-LVAL xchdowncase(void)
-{
-    LVAL arg;
-    int ch;
-    arg = xlgachar(); ch = getchcode(arg);
-    xllastarg();
-    return (isupper(ch) ? cvchar(tolower(ch)) : arg);
-}
-
-/* xdigitchar - built-in function 'digit-char' */
-LVAL xdigitchar(void)
-{
-    LVAL arg;
-    int n;
-    arg = xlgafixnum(); n = getfixnum(arg);
-    xllastarg();
-    return (n >= 0 && n <= 9 ? cvchar(n + '0') : NIL);
-}
-
-/* xalphanumericp - built-in function 'alphanumericp' */
-LVAL xalphanumericp(void)
-{
-    int ch;
-    ch = getchcode(xlgachar());
-    xllastarg();
-    return (isupper(ch) || islower(ch) || isdigit(ch) ? s_true : NIL);
-}
-
-/* character comparision functions */
-LVAL xchrlss(void) { return (chrcompare('<',FALSE)); } /* char< */
-LVAL xchrleq(void) { return (chrcompare('L',FALSE)); } /* char<= */
-LVAL xchreql(void) { return (chrcompare('=',FALSE)); } /* char= */
-LVAL xchrneq(void) { return (chrcompare('#',FALSE)); } /* char/= */
-LVAL xchrgeq(void) { return (chrcompare('G',FALSE)); } /* char>= */
-LVAL xchrgtr(void) { return (chrcompare('>',FALSE)); } /* char> */
-
-/* character comparision functions (case insensitive) */
-LVAL xchrilss(void) { return (chrcompare('<',TRUE)); } /* char-lessp */
-LVAL xchrileq(void) { return (chrcompare('L',TRUE)); } /* char-not-greaterp */
-LVAL xchrieql(void) { return (chrcompare('=',TRUE)); } /* char-equalp */
-LVAL xchrineq(void) { return (chrcompare('#',TRUE)); } /* char-not-equalp */
-LVAL xchrigeq(void) { return (chrcompare('G',TRUE)); } /* char-not-lessp */
-LVAL xchrigtr(void) { return (chrcompare('>',TRUE)); } /* char-greaterp */
-
-/* chrcompare - compare characters */
-LOCAL LVAL chrcompare(int fcn, int icase)
-{
-    int ch1,ch2,icmp;
-    LVAL arg;
-    
-    /* get the characters */
-    arg = xlgachar(); ch1 = getchcode(arg);
-
-    /* convert to lowercase if case insensitive */
-    if (icase && isupper(ch1))
-        ch1 = tolower(ch1);
-
-    /* handle each remaining argument */
-    for (icmp = TRUE; icmp && moreargs(); ch1 = ch2) {
-
-        /* get the next argument */
-        arg = xlgachar(); ch2 = getchcode(arg);
-
-        /* convert to lowercase if case insensitive */
-        if (icase && isupper(ch2))
-            ch2 = tolower(ch2);
-
-        /* compare the characters */
-        switch (fcn) {
-        case '<':	icmp = (ch1 < ch2); break;
-        case 'L':	icmp = (ch1 <= ch2); break;
-        case '=':	icmp = (ch1 == ch2); break;
-        case '#':	icmp = (ch1 != ch2); break;
-        case 'G':	icmp = (ch1 >= ch2); break;
-        case '>':	icmp = (ch1 > ch2); break;
-        }
-    }
-
-    /* return the result */
-    return (icmp ? s_true : NIL);
-}
-
diff --git a/lib-src/libnyquist/xlisp/xlsubr.c b/lib-src/libnyquist/xlisp/xlsubr.c
deleted file mode 100644
index cc729ef..0000000
--- a/lib-src/libnyquist/xlisp/xlsubr.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/* xlsubr - xlisp builtin function support routines */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* CHANGE LOG
- * --------------------------------------------------------------------
- * 28Apr03  dm  eliminate some compiler warnings
- */
-
-#include "string.h"
-#include "xlisp.h"
-
-/* external variables */
-extern LVAL k_test,k_tnot,s_eql;
-
-/* xlsubr - define a builtin function */
-LVAL xlsubr(char *sname, int type, LVAL (*fcn)(void), int offset)
-{
-    LVAL sym;
-    sym = xlenter(sname);
-    setfunction(sym,cvsubr(fcn,type,offset));
-    return (sym);
-}
-
-/* xlgetkeyarg - get a keyword argument */
-int xlgetkeyarg(LVAL key, LVAL *pval)
-{
-    LVAL *argv=xlargv;
-    int argc=xlargc;
-    for (argv = xlargv, argc = xlargc; (argc -= 2) >= 0; argv += 2) {
-        if (*argv == key) {
-            *pval = *++argv;
-            return (TRUE);
-        }
-    }
-    return (FALSE);
-}
-
-/* xlgkfixnum - get a fixnum keyword argument */
-int xlgkfixnum(LVAL key, LVAL *pval)
-{
-    if (xlgetkeyarg(key,pval)) {
-        if (!fixp(*pval))
-            xlbadtype(*pval);
-        return (TRUE);
-    }
-    return (FALSE);
-}
-
-/* xltest - get the :test or :test-not keyword argument */
-void xltest(LVAL *pfcn, int *ptresult)
-{
-    if (xlgetkeyarg(k_test,pfcn))	/* :test */
-        *ptresult = TRUE;
-    else if (xlgetkeyarg(k_tnot,pfcn))	/* :test-not */
-        *ptresult = FALSE;
-    else {
-        *pfcn = getfunction(s_eql);
-        *ptresult = TRUE;
-    }
-}
-
-/* xlgetfile - get a file or stream */
-LVAL xlgetfile(void)
-{
-    LVAL arg;
-
-    /* get a file or stream (cons) or nil */
-    if ((arg = xlgetarg())) {
-        if (streamp(arg)) {
-            if (getfile(arg) == NULL)
-                xlfail("file not open");
-        }
-        else if (!ustreamp(arg))
-            xlerror("bad argument type",arg);
-    }
-    return (arg);
-}
-
-/* xlgetfname - get a filename */
-LVAL xlgetfname(void)
-{
-    LVAL name;
-
-    /* get the next argument */
-    name = xlgetarg();
-
-    /* get the filename string */
-    if (symbolp(name))
-        name = getpname(name);
-    else if (!stringp(name))
-        xlerror("bad argument type",name);
-
-    /* return the name */
-    return (name);
-}
-
-/* needsextension - check if a filename needs an extension */
-int needsextension(char *name)
-{
-    char *p;
-
-    /* check for an extension */
-    for (p = &name[strlen(name)]; --p >= &name[0]; )
-        if (*p == '.')
-            return (FALSE);
-        else if (!islower(*p) && !isupper(*p) && !isdigit(*p))
-            return (TRUE);
-
-    /* no extension found */
-    return (TRUE);
-}
-
-/* the next three functions must be declared as LVAL because they
- * are used in LVAL expressions, but they do not return anything
- * warning 4035 is "no return value"
- */
-/* #pragma warning(disable: 4035) */
-
-/* xlbadtype - report a "bad argument type" error */
-LVAL xlbadtype(LVAL arg)
-{
-    xlerror("bad argument type",arg);
-    return NIL; /* never happens */
-}
-
-/* xltoofew - report a "too few arguments" error */
-LVAL xltoofew(void)
-{
-    xlfail("too few arguments");
-    return NIL; /* never happens */
-}
-
-/* xltoomany - report a "too many arguments" error */
-LVAL xltoomany(void)
-{
-    xlfail("too many arguments");
-    return NIL; /* never happens */
-}
-
-/* eq - internal eq function */
-int eq(LVAL arg1, LVAL arg2)
-{
-    return (arg1 == arg2);
-}
-
-/* eql - internal eql function */
-int eql(LVAL arg1, LVAL arg2)
-{
-    /* compare the arguments */
-    if (arg1 == arg2)
-        return (TRUE);
-    else if (arg1) {
-        switch (ntype(arg1)) {
-        case FIXNUM:
-            return (fixp(arg2) ? getfixnum(arg1)==getfixnum(arg2) : FALSE);
-        case FLONUM:
-            return (floatp(arg2) ? getflonum(arg1)==getflonum(arg2) : FALSE);
-        default:
-            return (FALSE);
-        }
-    }
-    else
-        return (FALSE);
-}
-
-/* lval_equal - internal equal function */
-int lval_equal(LVAL arg1, LVAL arg2)
-{
-    /* compare the arguments */
-    if (arg1 == arg2)
-        return (TRUE);
-    else if (arg1) {
-        switch (ntype(arg1)) {
-        case FIXNUM:
-            return (fixp(arg2) ? getfixnum(arg1)==getfixnum(arg2) : FALSE);
-        case FLONUM:
-            return (floatp(arg2) ? getflonum(arg1)==getflonum(arg2) : FALSE);
-        case STRING:
-            return (stringp(arg2) ? strcmp((char *) getstring(arg1),
-                                           (char *) getstring(arg2)) == 0 : FALSE);
-        case CONS:
-            return (consp(arg2) ? lval_equal(car(arg1),car(arg2))
-                               && lval_equal(cdr(arg1),cdr(arg2)) : FALSE);
-        default:
-            return (FALSE);
-        }
-    }
-    else
-        return (FALSE);
-}
diff --git a/lib-src/libnyquist/xlisp/xlsym.c b/lib-src/libnyquist/xlisp/xlsym.c
deleted file mode 100644
index 8932377..0000000
--- a/lib-src/libnyquist/xlisp/xlsym.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/* xlsym - symbol handling routines */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* HISTORY
- * 28-apr-03 DM  eliminate some compiler warnings
- * 12-oct-90 RBD added xlatomcount to keep track of how many atoms there are.
- *	(something I need for writing out score files).
- */
-
-#include "string.h"
-#include "xlisp.h"
-
-extern int xlatomcount;
-
-/* forward declarations */
-FORWARD LVAL findprop(LVAL sym, LVAL prp);
-
-#ifdef FRAME_DEBUG
-/* these routines were used to debug a missing call to protect().
- * The routines can check for a consistent set of frames.  Note
- * that frames must be pushed on the stack declared here because
- * XLisp keeps frame pointers as local variables in C routines.
- * I deleted the calls to push_xlenv etc throughout the XLisp
- * sources, but decided to leave the following code for possible
- * future debugging. - RBD
- */
-int envstack_top = 0;
-LVAL envstack[envstack_max];
-LVAL *fpstack[envstack_max];
-extern long cons_count;
-
-FORWARD LOCAL void test_one_env(LVAL environment, int i, char *s);
-
-void push_xlenv(void)
-{
-    char s[10];
-    /* sprintf(s, "<%d ", envstack_top);
-    stdputstr(s); */
-    if (envstack_top >= envstack_max) {
-            xlabort("envstack overflow");
-    } else {
-            fpstack[envstack_top] = xlfp;
-            envstack[envstack_top++] = xlenv;
-    }
-}
-
-
-void pop_xlenv(void)
-{
-    char s[10];
-    if (envstack_top <= 0) {
-            sprintf(s, ", %d! ", envstack_top);
-            stdputstr(s);
-            xlabort("envstack underflow!");
-    } else envstack_top--;
-    /* sprintf(s, "%d> ", envstack_top);
-    stdputstr(s); */
-}
-
-
-void pop_multiple_xlenv(void)
-{
-    int i;
-    for (i = envstack_top - 1; i >= 0; i--) {
-            if (envstack[i] == xlenv) {
-                char s[10];
-                envstack_top = i + 1;
-                /* sprintf(s, "%d] ", envstack_top);
-                stdputstr(s); */
-                return;
-            }
-    }
-}
-
-
-void testenv(char *s)
-{
-    int i;
-    
-    for (i = envstack_top - 1; i >= 0; i--) {
-        test_one_env(envstack[i], i, s);
-    }
-}
-
-LOCAL void report_exit(char *msg, int i)
-{
-    sprintf(buf, "env stack index: %d, cons_count %ld, Function: ", i, cons_count);
-    errputstr(buf);
-    stdprint(fpstack[i][1]);
-    xlabort(msg);
-}
-
-LOCAL void test_one_env(LVAL environment, int i, char *s)
-{
-    register LVAL fp,ep;
-    LVAL val;
-
-    /* check the environment list */
-    for (fp = environment; fp; fp = cdr(fp)) {
-            /* check that xlenv is good */
-            if (!consp(fp)) {
-                sprintf(buf,"%s: xlenv 0x%lx, frame 0x%lx, type(frame) %d\n",
-                        s, xlenv, fp, ntype(fp));
-            errputstr(buf);
-            report_exit("xlenv points to a bad list", i);
-        }
-        
-        /* check for an instance variable */
-        if ((ep = car(fp)) && objectp(car(ep))) {
-            /* do nothing */
-        }
-
-        /* check an environment stack frame */
-        else {
-            for (; ep; ep = cdr(ep)) {
-                    /* check that ep is good */
-                    if (!consp(ep)) {
-                         sprintf(buf,"%s: fp 0x%lx, ep 0x%lx, type(ep) %d\n",
-                                s, fp, ep, ntype(ep));
-                    errputstr(buf);
-                    report_exit("car(fp) points to a bad list", i);
-                }
-                
-                    /* check that car(ep) is nonnull */
-                    if (!car(ep)) {
-                         sprintf(buf,"%s: ep 0x%lx, car(ep) 0x%lx\n",
-                                s, ep, car(ep));
-                    errputstr(buf);
-                    report_exit("car(ep) (an association) is NULL", i);
-                }
-                    /* check that car(ep) is a cons */
-                    if (!consp(car(ep))) {
-                         sprintf(buf,"%s: ep 0x%lx, car(ep) 0x%lx, type(car(ep)) %d\n",
-                                s, ep, car(ep), ntype(car(ep)));
-                    errputstr(buf);
-                    report_exit("car(ep) (an association) is not a cons", i);
-                }
-
-                    /* check that car(car(ep)) is a symbol */
-                    if (!symbolp(car(car(ep)))) {
-                         sprintf(buf,"%s: ep 0x%lx, car(ep) 0x%lx, car(car(ep)) 0x%lx, type(car(car(ep))) %d\n",
-                                s, ep, car(ep), car(car(ep)), ntype(car(car(ep))));
-                    errputstr(buf);
-                    report_exit("car(car(ep)) is not a symbol", i);
-                }
-            }
-        }
-    }
-}
-#endif
-
-
-/* xlenter - enter a symbol into the obarray */
-LVAL xlenter(char *name)
-{
-    LVAL sym,array;
-    int i;
-
-    /* check for nil */
-    if (strcmp(name,"NIL") == 0)
-        return (NIL);
-
-    /* check for symbol already in table */
-    array = getvalue(obarray);
-    i = hash(name,HSIZE);
-    for (sym = getelement(array,i); sym; sym = cdr(sym))
-        if (strcmp(name,(char *) getstring(getpname(car(sym)))) == 0)
-            return (car(sym));
-
-    /* make a new symbol node and link it into the list */
-    xlsave1(sym);
-    sym = consd(getelement(array,i));
-    rplaca(sym,xlmakesym(name));
-    setelement(array,i,sym);
-    xlpop();
-
-    /* return the new symbol */
-    return (car(sym));
-}
-
-/* xlmakesym - make a new symbol node */
-LVAL xlmakesym(char *name)
-{
-    LVAL sym;
-    sym = cvsymbol(name);
-    if (*name == ':')
-        setvalue(sym,sym);
-    return (sym);
-}
-
-/* xlgetvalue - get the value of a symbol (with check) */
-LVAL xlgetvalue(LVAL sym)
-{
-    LVAL val;
-
-    /* look for the value of the symbol */
-    while ((val = xlxgetvalue(sym)) == s_unbound)
-        xlunbound(sym);
-
-    /* return the value */
-    return (val);
-}
-
-/* xlxgetvalue - get the value of a symbol */
-LVAL xlxgetvalue(LVAL sym)
-{
-    register LVAL fp,ep;
-    LVAL val;
-
-    /* check the environment list */
-    for (fp = xlenv; fp; fp = cdr(fp))
-
-        /* check for an instance variable */
-        if ((ep = car(fp)) && objectp(car(ep))) {
-            if (xlobgetvalue(ep,sym,&val))
-                return (val);
-        }
-
-        /* check an environment stack frame */
-        else {
-            for (; ep; ep = cdr(ep))
-                if (sym == car(car(ep)))
-                    return (cdr(car(ep)));
-        }
-
-    /* return the global value */
-    return (getvalue(sym));
-}
-
-/* xlsetvalue - set the value of a symbol */
-void xlsetvalue(LVAL sym, LVAL val)
-{
-    register LVAL fp,ep;
-
-    /* look for the symbol in the environment list */
-    for (fp = xlenv; fp; fp = cdr(fp))
-
-        /* check for an instance variable */
-        if ((ep = car(fp)) && objectp(car(ep))) {
-            if (xlobsetvalue(ep,sym,val))
-                return;
-        }
-
-        /* check an environment stack frame */
-        else {
-            for (; ep; ep = cdr(ep))
-                if (sym == car(car(ep))) {
-                    rplacd(car(ep),val);
-                    return;
-                }
-        }
-
-    /* store the global value */
-    setvalue(sym,val);
-}
-
-/* xlgetfunction - get the functional value of a symbol (with check) */
-LVAL xlgetfunction(LVAL sym)
-{
-    LVAL val;
-
-    /* look for the functional value of the symbol */
-    while ((val = xlxgetfunction(sym)) == s_unbound)
-        xlfunbound(sym);
-
-    /* return the value */
-    return (val);
-}
-
-/* xlxgetfunction - get the functional value of a symbol */
-LVAL xlxgetfunction(LVAL sym)
-{
-    register LVAL fp,ep;
-
-    /* check the environment list */
-    for (fp = xlfenv; fp; fp = cdr(fp))
-        for (ep = car(fp); ep; ep = cdr(ep))
-            if (sym == car(car(ep)))
-                return (cdr(car(ep)));
-
-    /* return the global value */
-    return (getfunction(sym));
-}
-
-/* xlsetfunction - set the functional value of a symbol */
-void xlsetfunction(LVAL sym, LVAL val)
-{
-    register LVAL fp,ep;
-
-    /* look for the symbol in the environment list */
-    for (fp = xlfenv; fp; fp = cdr(fp))
-        for (ep = car(fp); ep; ep = cdr(ep))
-            if (sym == car(car(ep))) {
-                rplacd(car(ep),val);
-                return;
-            }
-
-    /* store the global value */
-    setfunction(sym,val);
-}
-
-/* xlgetprop - get the value of a property */
-LVAL xlgetprop(LVAL sym, LVAL prp)
-{
-    LVAL p;
-    return ((p = findprop(sym,prp)) ? car(p) : NIL);
-}
-
-/* xlputprop - put a property value onto the property list */
-void xlputprop(LVAL sym, LVAL val, LVAL prp)
-{
-    LVAL pair;
-    if ((pair = findprop(sym,prp)))
-        rplaca(pair,val);
-    else
-        setplist(sym,cons(prp,cons(val,getplist(sym))));
-}
-
-/* xlremprop - remove a property from a property list */
-void xlremprop(LVAL sym, LVAL prp)
-{
-    LVAL last,p;
-    last = NIL;
-    for (p = getplist(sym); consp(p) && consp(cdr(p)); p = cdr(last)) {
-        if (car(p) == prp) {
-            if (last)
-                rplacd(last,cdr(cdr(p)));
-            else
-                setplist(sym,cdr(cdr(p)));
-        }
-        last = cdr(p);
-    }
-}
-
-/* findprop - find a property pair */
-LVAL findprop(LVAL sym, LVAL prp)
-{
-    LVAL p;
-    for (p = getplist(sym); consp(p) && consp(cdr(p)); p = cdr(cdr(p)))
-        if (car(p) == prp)
-            return (cdr(p));
-    return (NIL);
-}
-
-/* hash - hash a symbol name string */
-int hash(char *str, int len)
-{
-    int i;
-    for (i = 0; *str; )
-        i = (i << 2) ^ *str++;
-    i %= len;
-    return (i < 0 ? -i : i);
-}
-
-/* xlsinit - symbol initialization routine */
-void xlsinit(void)
-{
-    LVAL array,p;
-
-    /* initialize the obarray */
-    obarray = xlmakesym("*OBARRAY*");
-    array = newvector(HSIZE);
-    setvalue(obarray,array);
-
-    /* add the symbol *OBARRAY* to the obarray */
-    p = consa(obarray);
-    setelement(array,hash("*OBARRAY*",HSIZE),p);
-}
diff --git a/lib-src/libnyquist/xlisp/xlsys.c b/lib-src/libnyquist/xlisp/xlsys.c
deleted file mode 100644
index 201595d..0000000
--- a/lib-src/libnyquist/xlisp/xlsys.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/* xlsys.c - xlisp builtin system functions */
-/*	Copyright (c) 1985, by David Michael Betz
-        All Rights Reserved
-        Permission is granted for unrestricted non-commercial use	*/
-
-/* HISTORY
- *
- * 28-Apr-03	Dominic Mazzoni
- *  Eliminated some compiler warnings
- *
- * 25-Oct-87	Roger Dannenberg at NeXT
- *  profiling code added: enable with (PROFILE t), disable with
- *  (PROFILE nil).  While enabled, the profile code counts evals
- *  within functions and macros.  The count is only for evals
- *  directly within the form; i.e. only the count of the most
- *  top-most function or macro form on the stack is incremented.
- *  Also, counts are only maintained for named functions and macros
- *  because the count itself is on the property list of the function
- *  or macro name under the *PROFILE* property.  If a function or
- *  macro is entered and the *PROFILE* does not exist, the property
- *  is created with initial value 0, and the name is inserted at the
- *  head of the list stored as the value of *PROFILE*.  Thus, *PROFILE*
- *  will list the functions that were touched, and the *PROFILE* property
- *  of each function gives some idea of how much time it consumed.
- *  See the file profile.lsp for helpful profiling functions.
- */
-
-#include "xlisp.h"
-
-/* profile variables */
-static int invisible_counter;
-int *profile_count_ptr = &invisible_counter;
-int profile_flag = FALSE;
-
-
-/* external variables */
-extern jmp_buf top_level;
-extern FILE *tfp;
-extern int xl_main_loop;
-
-/* external symbols */
-extern LVAL a_subr,a_fsubr,a_cons,a_symbol;
-extern LVAL a_fixnum,a_flonum,a_string,a_object,a_stream;
-extern LVAL a_vector,a_closure,a_char,a_ustream;
-extern LVAL k_verbose,k_print;
-extern LVAL s_true;
-
-/* external routines */
-extern FILE *osaopen();
-extern LVAL exttype();
-
-/* xload - read and evaluate expressions from a file */
-LVAL xload(void)
-{
-    unsigned char *name;
-    int vflag,pflag;
-    LVAL arg;
-
-    /* get the file name */
-    name = getstring(xlgetfname());
-
-    /* get the :verbose flag */
-    if (xlgetkeyarg(k_verbose,&arg))
-        vflag = (arg != NIL);
-    else
-        vflag = TRUE;
-
-    /* get the :print flag */
-    if (xlgetkeyarg(k_print,&arg))
-        pflag = (arg != NIL);
-    else
-        pflag = FALSE;
-
-    /* load the file */
-    return (xlload((char *) name, vflag, pflag) ? s_true : NIL);
-}
-
-/* xtranscript - open or close a transcript file */
-LVAL xtranscript(void)
-{
-    unsigned char *name;
-
-    /* get the transcript file name */
-    name = (moreargs() ? getstring(xlgetfname()) : NULL);
-    xllastarg();
-
-    /* close the current transcript */
-    if (tfp) osclose(tfp);
-
-    /* open the new transcript */
-    tfp = (name ? osaopen((char *) name,"w") : NULL);
-
-    /* return T if a transcript is open, NIL otherwise */
-    return (tfp ? s_true : NIL);
-}
-
-/* xtype - return type of a thing */
-LVAL xtype(void)
-{
-    LVAL arg;
-
-    if (!(arg = xlgetarg()))
-        return (NIL);
-
-    switch (ntype(arg)) {
-    case SUBR:		return (a_subr);
-    case FSUBR:		return (a_fsubr);
-    case CONS:		return (a_cons);
-    case SYMBOL:	return (a_symbol);
-    case FIXNUM:	return (a_fixnum);
-    case FLONUM:	return (a_flonum);
-    case STRING:	return (a_string);
-    case OBJECT:	return (a_object);
-    case STREAM:	return (a_stream);
-    case VECTOR:	return (a_vector);
-    case CLOSURE:	return (a_closure);
-    case CHAR:		return (a_char);
-    case USTREAM:	return (a_ustream);
-    case EXTERN:	return (exttype(arg));
-    default:		xlfail("bad node type");
-       return NIL; /* never happens */    
-    }
-}
-
-/* xbaktrace - print the trace back stack */
-LVAL xbaktrace(void)
-{
-    LVAL num;
-    int n;
-
-    if (moreargs()) {
-        num = xlgafixnum();
-        n = getfixnum(num);
-    }
-    else
-        n = -1;
-    xllastarg();
-    xlbaktrace(n);
-    return (NIL);
-}
-
-/* xquit - get out of read/eval/print loop */
-LVAL xquit()
-{
-    xllastarg();
-    xl_main_loop = FALSE;
-    return NIL;
-}
-
-
-/* xexit does not return anything, so turn off "no return value" warning" */
-/* #pragma warning(disable: 4035) */
-
-/* xexit - get out of xlisp */
-LVAL xexit(void)
-{
-    xllastarg();
-    xlisp_wrapup();
-    return NIL; /* never happens */
-}
-
-/* xpeek - peek at a location in memory */
-LVAL xpeek(void)
-{
-    LVAL num;
-    int *adr;
-
-    /* get the address */
-    num = xlgafixnum(); adr = (int *)getfixnum(num);
-    xllastarg();
-
-    /* return the value at that address */
-    return (cvfixnum((FIXTYPE)*adr));
-}
-
-/* xpoke - poke a value into memory */
-LVAL xpoke(void)
-{
-    LVAL val;
-    int *adr;
-
-    /* get the address and the new value */
-    val = xlgafixnum(); adr = (int *)getfixnum(val);
-    val = xlgafixnum();
-    xllastarg();
-
-    /* store the new value */
-    *adr = (int)getfixnum(val);
-
-    /* return the new value */
-    return (val);
-}
-
-/* xaddrs - get the address of an XLISP node */
-LVAL xaddrs(void)
-{
-    LVAL val;
-
-    /* get the node */
-    val = xlgetarg();
-    xllastarg();
-
-    /* return the address of the node */
-    return (cvfixnum((FIXTYPE)val));
-}
-
-/* xprofile - turn profiling on and off */
-LVAL xprofile()
-{
-    LVAL flag, result;
-
-    /* get the argument */
-    flag = xlgetarg();
-    xllastarg();
-
-    result = (profile_flag ? s_true : NIL);
-    profile_flag = !null(flag);
-    /* turn off profiling right away: */
-    if (!profile_flag) profile_count_ptr = &invisible_counter;
-    return result;
-}
diff --git a/lib-src/libscorealign/gen_chroma.cpp b/lib-src/libscorealign/gen_chroma.cpp
index b2d50bc..e7701b4 100644
--- a/lib-src/libscorealign/gen_chroma.cpp
+++ b/lib-src/libscorealign/gen_chroma.cpp
@@ -409,8 +409,9 @@ int Scorealign::gen_chroma_midi(Alg_seq &seq, int hcutoff, int lcutoff,
     //set up the chrom_energy array;
     (*chrom_energy) = ALLOC(float, frame_count * (CHROMA_BIN_COUNT + 1));
     Event_list_ptr list = NULL;
-    seq.iteration_begin();
-    Alg_event_ptr event = seq.iteration_next();
+    Alg_iterator iterator(&seq, false);
+    iterator.begin();
+    Alg_event_ptr event = iterator.next();
     int cv_index;
     for (cv_index = 0; cv_index < frame_count; cv_index++) {
 		
@@ -428,7 +429,7 @@ int Scorealign::gen_chroma_midi(Alg_seq &seq, int hcutoff, int lcutoff,
             if (event->is_note()) {
                 list = new Event_list(event, list);
             }
-            event = seq.iteration_next();
+            event = iterator.next();
         }
         /* remove notes that are no longer sounding */
         Event_list_ptr *ptr = &list;
@@ -467,7 +468,7 @@ int Scorealign::gen_chroma_midi(Alg_seq &seq, int hcutoff, int lcutoff,
         list = list->next;
         delete temp;
     }
-    seq.iteration_end();
+    iterator.end();
     if (verbose)
         printf("\nGenerated Chroma. file%d_frames is %i\n", id, file1_frames);
     return frame_count;
diff --git a/lib-src/libscorealign/libscorealign.vcproj b/lib-src/libscorealign/libscorealign.vcproj
index e6cc7ea..5b061bf 100644
--- a/lib-src/libscorealign/libscorealign.vcproj
+++ b/lib-src/libscorealign/libscorealign.vcproj
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libscorealign"
 	ProjectGUID="{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}"
 	RootNamespace="scorealign"
 	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
diff --git a/lib-src/libvamp/Makefile.in b/lib-src/libvamp/Makefile.in
index e52f422..e8af235 100644
--- a/lib-src/libvamp/Makefile.in
+++ b/lib-src/libvamp/Makefile.in
@@ -249,6 +249,7 @@ clean:
 
 distclean:	clean
 		rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
+		rm -f config.log config.status Makefile
 
 install:	$(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET)
 		mkdir -p $(DESTDIR)$(INSTALL_API_HEADERS)
diff --git a/lib-src/portaudio-v19/Makefile.in b/lib-src/portaudio-v19/Makefile.in
index dca537d..ce0db00 100644
--- a/lib-src/portaudio-v19/Makefile.in
+++ b/lib-src/portaudio-v19/Makefile.in
@@ -39,7 +39,7 @@ OTHER_OBJS = @OTHER_OBJS@
 PALIB = libportaudio.la
 PAINC = include/portaudio.h
 
-PA_LDFLAGS = $(LDFLAGS) $(SHARED_FLAGS) -rpath $(libdir) -no-undefined \
+PA_LDFLAGS = $(LDFLAGS) -rpath $(libdir) -no-undefined \
 	     -export-symbols-regex "(Pa|PaMacCore|PaJack|PaAlsa)_.*" \
 	     -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 
diff --git a/lib-src/portaudio-v19/include/pa_asio.h b/lib-src/portaudio-v19/include/pa_asio.h
index 3b8f543..6a2807f 100644
--- a/lib-src/portaudio-v19/include/pa_asio.h
+++ b/lib-src/portaudio-v19/include/pa_asio.h
@@ -1,7 +1,7 @@
 #ifndef PA_ASIO_H
 #define PA_ASIO_H
 /*
- * $Id: pa_asio.h,v 1.8 2008/12/31 15:38:31 richardash1981 Exp $
+ * $Id: pa_asio.h,v 1.9 2009/05/25 21:40:15 richardash1981 Exp $
  * PortAudio Portable Real-Time Audio Library
  * ASIO specific extensions
  *
@@ -100,6 +100,19 @@ PaError PaAsio_GetOutputChannelName( PaDeviceIndex device, int channelIndex,
         const char** channelName );
 
 
+/** Set the sample rate of an open paASIO stream.
+ 
+ @param stream The stream to operate on.
+ @param sampleRate The new sample rate. 
+
+ Note that this function may fail if the stream is alredy running and the 
+ ASIO driver does not support switching the sample rate of a running stream.
+
+ Returns paIncompatibleStreamHostApi if stream is not a paASIO stream.
+*/
+PaError PaAsio_SetStreamSampleRate( PaStream* stream, double sampleRate );
+
+
 #define paAsioUseChannelSelectors      (0x01)
 
 typedef struct PaAsioStreamInfo{
diff --git a/lib-src/portaudio-v19/include/pa_linux_alsa.h b/lib-src/portaudio-v19/include/pa_linux_alsa.h
index 613ab60..4f0eb60 100644
--- a/lib-src/portaudio-v19/include/pa_linux_alsa.h
+++ b/lib-src/portaudio-v19/include/pa_linux_alsa.h
@@ -2,7 +2,7 @@
 #define PA_LINUX_ALSA_H
 
 /*
- * $Id: pa_linux_alsa.h,v 1.9 2008/12/31 15:38:31 richardash1981 Exp $
+ * $Id: pa_linux_alsa.h,v 1.10 2009/05/25 21:40:16 richardash1981 Exp $
  * PortAudio Portable Real-Time Audio Library
  * ALSA-specific extensions
  *
@@ -87,6 +87,11 @@ PaError PaAlsa_GetStreamOutputCard( PaStream *s, int *card );
  */
 PaError PaAlsa_SetNumPeriods( int numPeriods );
 
+/** Set the maximum number of times to retry opening busy device (sleeping for a
+ * short interval inbetween).
+ */
+PaError PaAlsa_SetRetriesBusy( int retries );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib-src/portaudio-v19/include/pa_win_waveformat.h b/lib-src/portaudio-v19/include/pa_win_waveformat.h
index 6f65834..1b76d0d 100644
--- a/lib-src/portaudio-v19/include/pa_win_waveformat.h
+++ b/lib-src/portaudio-v19/include/pa_win_waveformat.h
@@ -158,15 +158,32 @@ typedef struct{
 #define PAWIN_INDEXOF_SUBFORMAT				(PAWIN_SIZEOF_WAVEFORMATEX+6)
 
 /*
+    Valid values to pass for the waveFormatTag PaWin_InitializeWaveFormatEx and
+    PaWin_InitializeWaveFormatExtensible functions below. These must match
+    the standard Windows WAVE_FORMAT_* values.
+*/
+#define PAWIN_WAVE_FORMAT_PCM               (1)
+#define PAWIN_WAVE_FORMAT_IEEE_FLOAT        (3)
+#define PAWIN_WAVE_FORMAT_DOLBY_AC3_SPDIF   (0x0092)
+#define PAWIN_WAVE_FORMAT_WMA_SPDIF         (0x0164)
+
+
+/*
+    returns PAWIN_WAVE_FORMAT_PCM or PAWIN_WAVE_FORMAT_IEEE_FLOAT
+    depending on the sampleFormat parameter.
+*/
+int PaWin_SampleFormatToLinearWaveFormatTag( PaSampleFormat sampleFormat );
+
+/*
 	Use the following two functions to initialize the waveformat structure.
 */
 
 void PaWin_InitializeWaveFormatEx( PaWinWaveFormat *waveFormat,
-		int numChannels, PaSampleFormat sampleFormat, double sampleRate );
+		int numChannels, PaSampleFormat sampleFormat, int waveFormatTag, double sampleRate );
 
 
 void PaWin_InitializeWaveFormatExtensible( PaWinWaveFormat *waveFormat,
-		int numChannels, PaSampleFormat sampleFormat, double sampleRate,
+		int numChannels, PaSampleFormat sampleFormat, int waveFormatTag, double sampleRate,
 	    PaWinWaveFormatChannelMask channelMask );
 
 
@@ -178,4 +195,4 @@ PaWinWaveFormatChannelMask PaWin_DefaultChannelMask( int numChannels );
 }
 #endif /* __cplusplus */
 
-#endif /* PA_WIN_WAVEFORMAT_H */
\ No newline at end of file
+#endif /* PA_WIN_WAVEFORMAT_H */
diff --git a/lib-src/portaudio-v19/include/pa_win_wmme.h b/lib-src/portaudio-v19/include/pa_win_wmme.h
index 6449c09..1c41330 100644
--- a/lib-src/portaudio-v19/include/pa_win_wmme.h
+++ b/lib-src/portaudio-v19/include/pa_win_wmme.h
@@ -1,7 +1,7 @@
 #ifndef PA_WIN_WMME_H
 #define PA_WIN_WMME_H
 /*
- * $Id: pa_win_wmme.h,v 1.8 2008/12/31 15:38:31 richardash1981 Exp $
+ * $Id: pa_win_wmme.h,v 1.9 2009/05/25 21:40:16 richardash1981 Exp $
  * PortAudio Portable Real-Time Audio Library
  * MME specific extensions
  *
@@ -53,6 +53,10 @@ extern "C"
 #endif /* __cplusplus */
 
 
+/* The following are flags which can be set in 
+  PaWinMmeStreamInfo's flags field.
+*/
+
 #define paWinMmeUseLowLevelLatencyParameters            (0x01)
 #define paWinMmeUseMultipleDevices                      (0x02)  /* use mme specific multiple device feature */
 #define paWinMmeUseChannelMask                          (0x04)
@@ -64,6 +68,11 @@ extern "C"
 */
 #define paWinMmeDontThrottleOverloadedProcessingThread  (0x08)
 
+/*  Flags for non-PCM spdif passthrough.
+*/
+#define paWinMmeWaveFormatDolbyAc3Spdif                 (0x10)
+#define paWinMmeWaveFormatWmaSpdif                      (0x20)
+
 
 typedef struct PaWinMmeDeviceAndChannelCount{
     PaDeviceIndex device;
diff --git a/lib-src/portaudio-v19/src/common/pa_process.c b/lib-src/portaudio-v19/src/common/pa_process.c
index 1667947..7b50db9 100644
--- a/lib-src/portaudio-v19/src/common/pa_process.c
+++ b/lib-src/portaudio-v19/src/common/pa_process.c
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_process.c,v 1.8 2008/12/31 15:38:32 richardash1981 Exp $
+ * $Id: pa_process.c,v 1.9 2009/05/25 21:40:16 richardash1981 Exp $
  * Portable Audio I/O Library
  * streamCallback <-> host buffer processing adapter
  *
@@ -997,7 +997,7 @@ static unsigned long AdaptingInputOnlyProcess( PaUtilBufferProcessor *bp,
                         bp->framesPerUserBuffer, bp->timeInfo,
                         bp->callbackStatusFlags, bp->userData );
 
-                bp->timeInfo->inputBufferAdcTime += frameCount * bp->samplePeriod;
+                bp->timeInfo->inputBufferAdcTime += bp->framesPerUserBuffer * bp->samplePeriod;
             }
             
             bp->framesInTempInputBuffer = 0;
diff --git a/lib-src/portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c b/lib-src/portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c
index 8471cf7..a5029fb 100644
--- a/lib-src/portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c
+++ b/lib-src/portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c
@@ -1,11 +1,12 @@
 /*
- * $Id: pa_linux_alsa.c,v 1.10 2008/12/31 15:38:35 richardash1981 Exp $
+ * $Id: pa_linux_alsa.c,v 1.13 2009/07/01 19:27:59 richardash1981 Exp $
  * PortAudio Portable Real-Time Audio Library
  * Latest Version at: http://www.portaudio.com
  * ALSA implementation by Joshua Haberman and Arve Knudsen
  *
  * Copyright (c) 2002 Joshua Haberman <joshua at haberman.com>
- * Copyright (c) 2005-2007 Arve Knudsen <aknuds-1 at broadpark.no>
+ * Copyright (c) 2005-2009 Arve Knudsen <arve.knudsen at gmail.com>
+ * Copyright (c) 2008 Kevin Kofler <kevin.kofler at chello.at>
  *
  * Based on the Open Source API proposed by Ross Bencina
  * Copyright (c) 1999-2002 Ross Bencina, Phil Burk
@@ -99,6 +100,7 @@
 
 static int aErr_;               /* Used with ENSURE_ */
 static int numPeriods_ = 4;
+static int busyRetries_ = 100;
 
 int PaAlsa_SetNumPeriods( int numPeriods )
 {
@@ -118,6 +120,8 @@ typedef struct
     unsigned long framesPerBuffer;
     int numUserChannels, numHostChannels;
     int userInterleaved, hostInterleaved;
+    int canMmap;
+    void *nonMmapBuffer;
     PaDeviceIndex device;     /* Keep the device index */
 
     snd_pcm_t *pcm;
@@ -130,6 +134,7 @@ typedef struct
     StreamDirection streamDir;
 
     snd_pcm_channel_area_t *channelAreas;  /* Needed for channel adaption */
+    int card;
 } PaAlsaStreamComponent;
 
 /* Implementation specific stream structure */
@@ -321,7 +326,7 @@ static void Terminate( struct PaUtilHostApiRepresentation *hostApi )
  * and a suitable result returned. The device is closed before returning.
  */
 static PaError GropeDevice( snd_pcm_t* pcm, int isPlug, StreamDirection mode, int openBlocking,
-        PaAlsaDeviceInfo* devInfo, int* canMmap )
+        PaAlsaDeviceInfo* devInfo )
 {
     PaError result = paNoError;
     snd_pcm_hw_params_t *hwParams;
@@ -354,9 +359,6 @@ static PaError GropeDevice( snd_pcm_t* pcm, int isPlug, StreamDirection mode, in
     snd_pcm_hw_params_alloca( &hwParams );
     snd_pcm_hw_params_any( pcm, hwParams );
 
-    *canMmap = snd_pcm_hw_params_test_access( pcm, hwParams, SND_PCM_ACCESS_MMAP_INTERLEAVED ) >= 0 ||
-            snd_pcm_hw_params_test_access( pcm, hwParams, SND_PCM_ACCESS_MMAP_NONINTERLEAVED ) >= 0;
-
     if( defaultSr >= 0 )
     {
         /* Could be that the device opened in one mode supports samplerates that the other mode wont have,
@@ -539,7 +541,7 @@ static int IgnorePlugin( const char *pluginId )
  **/
 static int OpenPcm( snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode, int waitOnBusy )
 {
-    int tries = 0, maxTries = waitOnBusy ? 100 : 0;
+    int tries = 0, maxTries = waitOnBusy ? busyRetries_ : 0;
     int ret = snd_pcm_open( pcmp, name, stream, mode );
     for( tries = 0; tries < maxTries && -EBUSY == ret; ++tries )
     {
@@ -566,7 +568,6 @@ static PaError FillInDevInfo( PaAlsaHostApiRepresentation *alsaApi, HwDevInfo* d
     PaError result = 0;
     PaDeviceInfo *baseDeviceInfo = &devInfo->baseDeviceInfo;
     snd_pcm_t *pcm;
-    int canMmap = -1;
     PaUtilHostApiRepresentation *baseApi = &alsaApi->baseHostApiRep;
 
     /* Zero fields */
@@ -580,8 +581,7 @@ static PaError FillInDevInfo( PaAlsaHostApiRepresentation *alsaApi, HwDevInfo* d
             OpenPcm( &pcm, deviceName->alsaName, SND_PCM_STREAM_CAPTURE, blocking, 0 )
             >= 0 )
     {
-        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_In, blocking, devInfo,
-                    &canMmap ) != paNoError )
+        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_In, blocking, devInfo ) != paNoError )
         {
             /* Error */
             PA_DEBUG(("%s: Failed groping %s for capture\n", __FUNCTION__, deviceName->alsaName));
@@ -594,8 +594,7 @@ static PaError FillInDevInfo( PaAlsaHostApiRepresentation *alsaApi, HwDevInfo* d
             OpenPcm( &pcm, deviceName->alsaName, SND_PCM_STREAM_PLAYBACK, blocking, 0 )
             >= 0 )
     {
-        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_Out, blocking, devInfo,
-                    &canMmap ) != paNoError )
+        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_Out, blocking, devInfo ) != paNoError )
         {
             /* Error */
             PA_DEBUG(("%s: Failed groping %s for playback\n", __FUNCTION__, deviceName->alsaName));
@@ -603,12 +602,6 @@ static PaError FillInDevInfo( PaAlsaHostApiRepresentation *alsaApi, HwDevInfo* d
         }
     }
 
-    if( 0 == canMmap )
-    {
-        PA_DEBUG(("%s: Device %s doesn't support mmap\n", __FUNCTION__, deviceName->alsaName));
-        goto end;
-    }
-
     baseDeviceInfo->structVersion = 2;
     baseDeviceInfo->hostApi = alsaApi->hostApiIndex;
     baseDeviceInfo->name = deviceName->name;
@@ -1169,6 +1162,7 @@ static PaError PaAlsaStreamComponent_Initialize( PaAlsaStreamComponent *self, Pa
 {
     PaError result = paNoError;
     PaSampleFormat userSampleFormat = params->sampleFormat, hostSampleFormat;
+    snd_pcm_info_t* pcmInfo;
     assert( params->channelCount > 0 );
 
     /* Make sure things have an initial value */
@@ -1189,6 +1183,9 @@ static PaError PaAlsaStreamComponent_Initialize( PaAlsaStreamComponent *self, Pa
     self->device = params->device;
 
     PA_ENSURE( AlsaOpen( &alsaApi->baseHostApiRep, params, streamDir, &self->pcm ) );
+
+    snd_pcm_info_alloca( &pcmInfo );
+    self->card = snd_pcm_info_get_card( pcmInfo );
     self->nfds = snd_pcm_poll_descriptors_count( self->pcm );
     hostSampleFormat = PaUtil_SelectClosestAvailableFormat( GetAvailableFormats( self->pcm ), userSampleFormat );
 
@@ -1197,6 +1194,8 @@ static PaError PaAlsaStreamComponent_Initialize( PaAlsaStreamComponent *self, Pa
     self->hostInterleaved = self->userInterleaved = !(userSampleFormat & paNonInterleaved);
     self->numUserChannels = params->channelCount;
     self->streamDir = streamDir;
+    self->canMmap = 0;
+    self->nonMmapBuffer = NULL;
 
     if( !callbackMode && !self->userInterleaved )
     {
@@ -1239,6 +1238,7 @@ static PaError PaAlsaStreamComponent_InitialConfigure( PaAlsaStreamComponent *se
 
     PaError result = paNoError;
     snd_pcm_access_t accessMode, alternateAccessMode;
+    snd_pcm_access_t rwAccessMode, alternateRwAccessMode;
     int dir = 0;
     snd_pcm_t *pcm = self->pcm;
     double sr = *sampleRate;
@@ -1258,32 +1258,40 @@ static PaError PaAlsaStreamComponent_InitialConfigure( PaAlsaStreamComponent *se
     if( self->userInterleaved )
     {
         accessMode = SND_PCM_ACCESS_MMAP_INTERLEAVED;
+        rwAccessMode = SND_PCM_ACCESS_RW_INTERLEAVED;
         alternateAccessMode = SND_PCM_ACCESS_MMAP_NONINTERLEAVED;
+        alternateRwAccessMode = SND_PCM_ACCESS_RW_NONINTERLEAVED;
     }
     else
     {
         accessMode = SND_PCM_ACCESS_MMAP_NONINTERLEAVED;
+        rwAccessMode = SND_PCM_ACCESS_RW_NONINTERLEAVED;
         alternateAccessMode = SND_PCM_ACCESS_MMAP_INTERLEAVED;
+        alternateRwAccessMode = SND_PCM_ACCESS_RW_INTERLEAVED;
     }
     /* If requested access mode fails, try alternate mode */
+    self->canMmap = 1;
     if( snd_pcm_hw_params_set_access( pcm, hwParams, accessMode ) < 0 )
     {
-        int err = 0;
-        if( (err = snd_pcm_hw_params_set_access( pcm, hwParams, alternateAccessMode )) < 0)
+        if( snd_pcm_hw_params_set_access( pcm, hwParams, rwAccessMode ) >= 0 )
+            self->canMmap = 0;
+        else
         {
-            result = paUnanticipatedHostError;
-            if( -EINVAL == err )
+            if( snd_pcm_hw_params_set_access( pcm, hwParams, alternateAccessMode ) < 0 )
             {
-                PaUtil_SetLastHostErrorInfo( paALSA, err, "PA ALSA requires that a device supports mmap access" );
-            }
-            else
-            {
-                PaUtil_SetLastHostErrorInfo( paALSA, err, snd_strerror( err ) );
+                int err = 0;
+                if( (err = snd_pcm_hw_params_set_access( pcm, hwParams, alternateRwAccessMode )) >= 0)
+                    self->canMmap = 0;
+                else
+                {
+                    result = paUnanticipatedHostError;
+                    PaUtil_SetLastHostErrorInfo( paALSA, err, snd_strerror( err ) );
+                    goto error;
+                }
             }
-            goto error;
+            /* Flip mode */
+            self->hostInterleaved = !self->userInterleaved;
         }
-        /* Flip mode */
-        self->hostInterleaved = !self->userInterleaved;
     }
 
     ENSURE_( snd_pcm_hw_params_set_format( pcm, hwParams, self->nativeFormat ), paUnanticipatedHostError );
@@ -1361,7 +1369,7 @@ static PaError PaAlsaStreamComponent_FinishConfigure( PaAlsaStreamComponent *sel
         
     ENSURE_( snd_pcm_sw_params_set_avail_min( self->pcm, swParams, self->framesPerBuffer ), paUnanticipatedHostError );
     ENSURE_( snd_pcm_sw_params_set_xfer_align( self->pcm, swParams, 1 ), paUnanticipatedHostError );
-    ENSURE_( snd_pcm_sw_params_set_tstamp_mode( self->pcm, swParams, SND_PCM_TSTAMP_MMAP ), paUnanticipatedHostError );
+    ENSURE_( snd_pcm_sw_params_set_tstamp_mode( self->pcm, swParams, SND_PCM_TSTAMP_ENABLE ), paUnanticipatedHostError );
 
     /* Set the parameters! */
     ENSURE_( snd_pcm_sw_params( self->pcm, swParams ), paUnanticipatedHostError );
@@ -1589,6 +1597,10 @@ static PaError PaAlsaStreamComponent_DetermineFramesPerBuffer( PaAlsaStreamCompo
         }
     }
 
+    /* non-mmap mode needs a reasonably-sized buffer or it'll stutter */
+    if( !self->canMmap && framesPerHostBuffer < 2048 )
+        framesPerHostBuffer = 2048;
+
     assert( framesPerHostBuffer > 0 );
     {
         snd_pcm_uframes_t min = 0, max = 0;
@@ -1831,12 +1843,13 @@ static PaError PaAlsaStream_DetermineFramesPerBuffer( PaAlsaStream* self, double
     PA_UNLESS( framesPerHostBuffer != 0, paInternalError );
     self->maxFramesPerHostBuffer = framesPerHostBuffer;
 
-    if( !accurate )
+    if( !self->playback.canMmap || !accurate )
     {
         /* Don't know the exact size per host buffer */
         *hostBufferSizeMode = paUtilBoundedHostBufferSize;
         /* Raise upper bound */
-        ++self->maxFramesPerHostBuffer;
+        if( !accurate )
+            ++self->maxFramesPerHostBuffer;
     }
 
 error:
@@ -1995,11 +2008,11 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
 
     /* Ok, buffer processor is initialized, now we can deduce it's latency */
     if( numInputChannels > 0 )
-        stream->streamRepresentation.streamInfo.inputLatency = inputLatency + PaUtil_GetBufferProcessorInputLatency(
-                &stream->bufferProcessor );
+        stream->streamRepresentation.streamInfo.inputLatency = inputLatency + (PaTime)(
+                PaUtil_GetBufferProcessorInputLatency( &stream->bufferProcessor ) / sampleRate);
     if( numOutputChannels > 0 )
-        stream->streamRepresentation.streamInfo.outputLatency = outputLatency + PaUtil_GetBufferProcessorOutputLatency(
-                &stream->bufferProcessor );
+        stream->streamRepresentation.streamInfo.outputLatency = outputLatency + (PaTime)(
+                PaUtil_GetBufferProcessorOutputLatency( &stream->bufferProcessor ) / sampleRate);
 
     *s = (PaStream*)stream;
 
@@ -2059,9 +2072,11 @@ static PaError AlsaStart( PaAlsaStream *stream, int priming )
             {
                 /* Buffer isn't primed, so prepare and silence */
                 ENSURE_( snd_pcm_prepare( stream->playback.pcm ), paUnanticipatedHostError );
-                SilenceBuffer( stream );
+                if( stream->playback.canMmap )
+                    SilenceBuffer( stream );
             }
-            ENSURE_( snd_pcm_start( stream->playback.pcm ), paUnanticipatedHostError );
+            if( stream->playback.canMmap )
+                ENSURE_( snd_pcm_start( stream->playback.pcm ), paUnanticipatedHostError );
         }
         else
             ENSURE_( snd_pcm_prepare( stream->playback.pcm ), paUnanticipatedHostError );
@@ -2390,6 +2405,7 @@ static PaError PaAlsaStream_HandleXrun( PaAlsaStream *self )
     snd_pcm_status_t *st;
     PaTime now = PaUtil_GetTime();
     snd_timestamp_t t;
+    int errplayback = 0, errcapture = 0;
 
     snd_pcm_status_alloca( &st );
 
@@ -2400,6 +2416,7 @@ static PaError PaAlsaStream_HandleXrun( PaAlsaStream *self )
         {
             snd_pcm_status_get_trigger_tstamp( st, &t );
             self->underrun = now * 1000 - ((PaTime) t.tv_sec * 1000 + (PaTime) t.tv_usec / 1000);
+            errplayback = snd_pcm_recover( self->playback.pcm, -EPIPE, 0 );
         }
     }
     if( self->capture.pcm )
@@ -2409,10 +2426,12 @@ static PaError PaAlsaStream_HandleXrun( PaAlsaStream *self )
         {
             snd_pcm_status_get_trigger_tstamp( st, &t );
             self->overrun = now * 1000 - ((PaTime) t.tv_sec * 1000 + (PaTime) t.tv_usec / 1000);
+            errcapture = snd_pcm_recover( self->capture.pcm, -EPIPE, 0 );
         }
     }
 
-    PA_ENSURE( AlsaRestart( self ) );
+    if( errplayback || errcapture )
+        PA_ENSURE( AlsaRestart( self ) );
 
 end:
     return result;
@@ -2563,7 +2582,7 @@ static void CalculateTimeInfo( PaAlsaStream *stream, PaStreamCallbackTimeInfo *t
 static PaError PaAlsaStreamComponent_EndProcessing( PaAlsaStreamComponent *self, unsigned long numFrames, int *xrun )
 {
     PaError result = paNoError;
-    int res;
+    int res = 0;
 
     /* @concern FullDuplex It is possible that only one direction is marked ready after polling, and processed
      * afterwards
@@ -2571,7 +2590,34 @@ static PaError PaAlsaStreamComponent_EndProcessing( PaAlsaStreamComponent *self,
     if( !self->ready )
         goto end;
 
-    res = snd_pcm_mmap_commit( self->pcm, self->offset, numFrames );
+    if( !self->canMmap && StreamDirection_Out == self->streamDir )
+    {
+        /* Play sound */
+        if( self->hostInterleaved )
+            res = snd_pcm_writei( self->pcm, self->nonMmapBuffer, numFrames );
+        else
+        {
+            void *bufs[self->numHostChannels];
+            int bufsize = snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 );
+            unsigned char *buffer = self->nonMmapBuffer;
+            int i;
+            for( i = 0; i < self->numHostChannels; ++i )
+            {
+                bufs[i] = buffer;
+                buffer += bufsize;
+            }
+            res = snd_pcm_writen( self->pcm, bufs, numFrames );
+        }
+    }
+
+    if( self->canMmap )
+        res = snd_pcm_mmap_commit( self->pcm, self->offset, numFrames );
+    else
+    {
+        free( self->nonMmapBuffer );
+        self->nonMmapBuffer = NULL;
+    }
+
     if( res == -EPIPE || res == -ESTRPIPE )
     {
         *xrun = 1;
@@ -2611,7 +2657,7 @@ static PaError PaAlsaStreamComponent_DoChannelAdaption( PaAlsaStreamComponent *s
     if( self->hostInterleaved )
     {
         int swidth = snd_pcm_format_size( self->nativeFormat, 1 );
-        unsigned char *buffer = ExtractAddress( self->channelAreas, self->offset );
+        unsigned char *buffer = self->canMmap ? ExtractAddress( self->channelAreas, self->offset ) : self->nonMmapBuffer;
 
         /* Start after the last user channel */
         p = buffer + self->numUserChannels * swidth;
@@ -2991,13 +3037,23 @@ static PaError PaAlsaStreamComponent_RegisterChannels( PaAlsaStreamComponent* se
         goto end;
     }
 
-    ENSURE_( snd_pcm_mmap_begin( self->pcm, &areas, &self->offset, numFrames ), paUnanticipatedHostError );
+    if( self->canMmap )
+    {
+        ENSURE_( snd_pcm_mmap_begin( self->pcm, &areas, &self->offset, numFrames ), paUnanticipatedHostError );
+        /* @concern ChannelAdaption Buffer address is recorded so we can do some channel adaption later */
+        self->channelAreas = (snd_pcm_channel_area_t *)areas;
+    }
+    else
+    {
+        free( self->nonMmapBuffer );
+        self->nonMmapBuffer = calloc( self->numHostChannels, snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 ) );
+    }
 
     if( self->hostInterleaved )
     {
         int swidth = snd_pcm_format_size( self->nativeFormat, 1 );
 
-        p = buffer = ExtractAddress( areas, self->offset );
+        p = buffer = self->canMmap ? ExtractAddress( areas, self->offset ) : self->nonMmapBuffer;
         for( i = 0; i < self->numUserChannels; ++i )
         {
             /* We're setting the channels up to userChannels, but the stride will be hostChannels samples */
@@ -3007,16 +3063,52 @@ static PaError PaAlsaStreamComponent_RegisterChannels( PaAlsaStreamComponent* se
     }
     else
     {
-        for( i = 0; i < self->numUserChannels; ++i )
+        if( self->canMmap )
+            for( i = 0; i < self->numUserChannels; ++i )
+            {
+                area = areas + i;
+                buffer = ExtractAddress( area, self->offset );
+                setChannel( bp, i, buffer, 1 );
+            }
+        else
         {
-            area = areas + i;
-            buffer = ExtractAddress( area, self->offset );
-            setChannel( bp, i, buffer, 1 );
+            int bufsize = snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 );
+            buffer = self->nonMmapBuffer;
+            for( i = 0; i < self->numUserChannels; ++i )
+            {
+                setChannel( bp, i, buffer, 1 );
+                buffer += bufsize;
+            }
         }
     }
 
-    /* @concern ChannelAdaption Buffer address is recorded so we can do some channel adaption later */
-    self->channelAreas = (snd_pcm_channel_area_t *)areas;
+    if( !self->canMmap && StreamDirection_In == self->streamDir )
+    {
+        /* Read sound */
+        int res;
+        if( self->hostInterleaved )
+            res = snd_pcm_readi( self->pcm, self->nonMmapBuffer, *numFrames );
+        else
+        {
+            void *bufs[self->numHostChannels];
+            int bufsize = snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 );
+            unsigned char *buffer = self->nonMmapBuffer;
+            int i;
+            for( i = 0; i < self->numHostChannels; ++i )
+            {
+                bufs[i] = buffer;
+                buffer += bufsize;
+            }
+            res = snd_pcm_readn( self->pcm, bufs, *numFrames );
+        }
+        if( res == -EPIPE || res == -ESTRPIPE )
+        {
+            *xrun = 1;
+            *numFrames = 0;
+            free( self->nonMmapBuffer );
+            self->nonMmapBuffer = NULL;
+        }
+    }
 
 end:
 error:
@@ -3559,9 +3651,7 @@ PaError PaAlsa_GetStreamInputCard(PaStream* s, int* card) {
     /* XXX: More descriptive error? */
     PA_UNLESS( stream->capture.pcm, paDeviceUnavailable );
 
-    snd_pcm_info_alloca( &pcmInfo );
-    PA_ENSURE( snd_pcm_info( stream->capture.pcm, pcmInfo ) );
-    *card = snd_pcm_info_get_card( pcmInfo );
+    *card = stream->capture.card;
 
 error:
     return result;
@@ -3577,10 +3667,14 @@ PaError PaAlsa_GetStreamOutputCard(PaStream* s, int* card) {
     /* XXX: More descriptive error? */
     PA_UNLESS( stream->playback.pcm, paDeviceUnavailable );
 
-    snd_pcm_info_alloca( &pcmInfo );
-    PA_ENSURE( snd_pcm_info( stream->playback.pcm, pcmInfo ) );
-    *card = snd_pcm_info_get_card( pcmInfo );
+    *card = stream->playback.card;
 
 error:
     return result;
 }
+
+PaError PaAlsa_SetRetriesBusy( int retries )
+{
+    busyRetries_ = retries;
+    return paNoError;
+}
diff --git a/lib-src/portaudio-v19/src/hostapi/asio/pa_asio.cpp b/lib-src/portaudio-v19/src/hostapi/asio/pa_asio.cpp
index 08fb738..f741fb2 100644
--- a/lib-src/portaudio-v19/src/hostapi/asio/pa_asio.cpp
+++ b/lib-src/portaudio-v19/src/hostapi/asio/pa_asio.cpp
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_asio.cpp,v 1.8 2008/12/31 15:38:35 richardash1981 Exp $
+ * $Id: pa_asio.cpp,v 1.10 2009/07/01 19:28:02 richardash1981 Exp $
  * Portable Audio I/O Library for ASIO Drivers
  *
  * Author: Stephane Letz
@@ -1182,7 +1182,6 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
                 || strcmp (names[i],"ASIO Multimedia Driver")          == 0
                 || strncmp(names[i],"Premiere",8)                      == 0   //"Premiere Elements Windows Sound 1.0"
                 || strncmp(names[i],"Adobe",5)                         == 0   //"Adobe Default Windows Sound 1.5"
-                || strncmp(names[i],"ReaRoute ASIO",13)                == 0   //Reaper www.reaper.fm <- fix your stuff man.
                )
             {
                 PA_DEBUG(("BLACKLISTED!!!\n"));
@@ -1620,6 +1619,7 @@ typedef struct PaAsioStream
     HANDLE completedBuffersPlayedEvent;
 
     bool streamFinishedCallbackCalled;
+    int isStopped;
     volatile int isActive;
     volatile bool zeroOutput; /* all future calls to the callback will output silence */
 
@@ -1754,6 +1754,98 @@ static PaError ValidateAsioSpecificStreamInfo(
 }
 
 
+static bool IsUsingExternalClockSource()
+{
+    bool result = false;
+    ASIOError asioError;
+    ASIOClockSource clocks[32];
+    long numSources=32;
+
+    /* davidv: listing ASIO Clock sources. there is an ongoing investigation by
+       me about whether or not to call ASIOSetSampleRate if an external Clock is
+       used. A few drivers expected different things here */
+    
+    asioError = ASIOGetClockSources(clocks, &numSources);
+    if( asioError != ASE_OK ){
+        PA_DEBUG(("ERROR: ASIOGetClockSources: %s\n", PaAsio_GetAsioErrorText(asioError) ));
+    }else{
+        PA_DEBUG(("INFO ASIOGetClockSources listing %d clocks\n", numSources ));
+        for (int i=0;i<numSources;++i){
+            PA_DEBUG(("ASIOClockSource%d %s current:%d\n", i, clocks[i].name, clocks[i].isCurrentSource ));
+           
+            if (clocks[i].isCurrentSource)
+                result = true;
+        }
+    }
+
+    return result;
+}
+
+
+static PaError ValidateAndSetSampleRate( double sampleRate )
+{
+    PaError result = paNoError;
+    ASIOError asioError;
+
+    // check that the device supports the requested sample rate 
+
+    asioError = ASIOCanSampleRate( sampleRate );
+    PA_DEBUG(("ASIOCanSampleRate(%f):%d\n", sampleRate, asioError ));
+
+    if( asioError != ASE_OK )
+    {
+        result = paInvalidSampleRate;
+        PA_DEBUG(("ERROR: ASIOCanSampleRate: %s\n", PaAsio_GetAsioErrorText(asioError) ));
+        goto error;
+    }
+
+    // retrieve the current sample rate, we only change to the requested
+    // sample rate if the device is not already in that rate.
+
+    ASIOSampleRate oldRate;
+    asioError = ASIOGetSampleRate(&oldRate);
+    if( asioError != ASE_OK )
+    {
+        result = paInvalidSampleRate;
+        PA_DEBUG(("ERROR: ASIOGetSampleRate: %s\n", PaAsio_GetAsioErrorText(asioError) ));
+        goto error;
+    }
+    PA_DEBUG(("ASIOGetSampleRate:%f\n",oldRate));
+
+    if (oldRate != sampleRate){
+        /* Set sample rate */
+
+        PA_DEBUG(("before ASIOSetSampleRate(%f)\n",sampleRate));
+
+        /*
+            If you have problems with some drivers when externally clocked, 
+            try switching on the following line and commenting out the one after it.
+            See IsUsingExternalClockSource() for more info.
+        */
+        //if( IsUsingExternalClockSource() ){
+        if( false ){
+            asioError = ASIOSetSampleRate( 0 );
+        }else{
+            asioError = ASIOSetSampleRate( sampleRate );
+        }
+        if( asioError != ASE_OK )
+        {
+            result = paInvalidSampleRate;
+            PA_DEBUG(("ERROR: ASIOSetSampleRate: %s\n", PaAsio_GetAsioErrorText(asioError) ));
+            goto error;
+        }
+        PA_DEBUG(("after ASIOSetSampleRate(%f)\n",sampleRate));
+    }
+    else
+    {
+        PA_DEBUG(("No Need to change SR\n"));
+    }
+
+error:
+    return result;
+}
+
+
 /* see pa_hostapi.h for a list of validity guarantees made about OpenStream  parameters */
 
 static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
@@ -1785,7 +1877,6 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
     PaAsioDriverInfo *driverInfo;
     int *inputChannelSelectors = 0;
     int *outputChannelSelectors = 0;
-    bool isExternal = false;
 
     /* Are we using blocking i/o interface? */
     int usingBlockingIo = ( !streamCallback ) ? TRUE : FALSE;
@@ -1807,6 +1898,8 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
         return paDeviceUnavailable;
     }
 
+    assert( theAsioStream == 0 );
+
     if( inputParameters && outputParameters )
     {
         /* full duplex ASIO stream must use the same device for input and output */
@@ -1914,76 +2007,9 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
         }
     }
 
-
-    /* davidv: listing ASIO Clock sources, there is an ongoing investigation by
-       me about whether or not call ASIOSetSampleRate if an external Clock is
-       used. A few drivers expected different things here */
-    {
-        ASIOClockSource clocks[32];
-        long numSources=32;
-        asioError = ASIOGetClockSources(clocks, &numSources);
-        if( asioError != ASE_OK ){
-            PA_DEBUG(("ERROR: ASIOGetClockSources: %s\n", PaAsio_GetAsioErrorText(asioError) ));
-        }else{
-            PA_DEBUG(("INFO ASIOGetClockSources listing %d clocks\n", numSources ));
-            for (int i=0;i<numSources;++i){
-                PA_DEBUG(("ASIOClockSource%d %s current:%d\n", i,clocks[i].name, clocks[i].isCurrentSource ));
-               
-                /*
-                  If you have problems with some drivers when externally clocked, 
-                  uncomment the next two lines
-                 */
-                //if (clocks[i].isCurrentSource)
-                //    isExternal = true;
-            }
-        }
-    }
-
-    // check that the device supports the requested sample rate 
-
-    asioError = ASIOCanSampleRate( sampleRate );
-    PA_DEBUG(("ASIOCanSampleRate(%f):%d\n",sampleRate, asioError ));
-
-    if( asioError != ASE_OK )
-    {
-        result = paInvalidSampleRate;
-        PA_DEBUG(("ERROR: ASIOCanSampleRate: %s\n", PaAsio_GetAsioErrorText(asioError) ));
-        goto error;
-    }
-
-
-    // retrieve the current sample rate, we only change to the requested
-    // sample rate if the device is not already in that rate.
-
-    ASIOSampleRate oldRate;
-    asioError = ASIOGetSampleRate(&oldRate);
-    if( asioError != ASE_OK )
-    {
-        result = paInvalidSampleRate;
-        PA_DEBUG(("ERROR: ASIOGetSampleRate: %s\n", PaAsio_GetAsioErrorText(asioError) ));
+    result = ValidateAndSetSampleRate( sampleRate );
+    if( result != paNoError )
         goto error;
-    }
-    PA_DEBUG(("ASIOGetSampleRate:%f\n",oldRate));
-
-    if (oldRate != sampleRate){
-
-        PA_DEBUG(("before ASIOSetSampleRate(%f)\n",sampleRate));
-
-        asioError = ASIOSetSampleRate( isExternal?0:sampleRate );
-        /* Set sample rate */
-        if( asioError != ASE_OK )
-        {
-            result = paInvalidSampleRate;
-            PA_DEBUG(("ERROR: ASIOSetSampleRate: %s\n", PaAsio_GetAsioErrorText(asioError) ));
-            goto error;
-        }
-        PA_DEBUG(("after ASIOSetSampleRate(%f)\n",sampleRate));
-    }
-    else
-    {
-        PA_DEBUG(("No Need to change SR\n"));
-    }
-
 
     /*
         IMPLEMENT ME:
@@ -2544,10 +2570,12 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
     stream->inputChannelCount = inputChannelCount;
     stream->outputChannelCount = outputChannelCount;
     stream->postOutput = driverInfo->postOutput;
+    stream->isStopped = 1;
     stream->isActive = 0;
-
+    
     asioHostApi->openAsioDeviceIndex = asioDeviceIndex;
 
+    theAsioStream = stream;
     *s = (PaStream*)stream;
 
     return result;
@@ -2655,6 +2683,8 @@ static PaError CloseStream( PaStream* s )
     ASIODisposeBuffers();
     UnloadAsioDriver();
 
+    theAsioStream = 0;
+
     return result;
 }
 
@@ -3156,16 +3186,19 @@ static PaError StartStream( PaStream *s )
 
     if( result == paNoError )
     {
-        theAsioStream = stream;
+        assert( theAsioStream == stream ); /* theAsioStream should be set correctly in OpenStream */
+
+        /* initialize these variables before the callback has a chance to be invoked */
+        stream->isStopped = 0;
+        stream->isActive = 1;
+        stream->streamFinishedCallbackCalled = false;
+
         asioError = ASIOStart();
-        if( asioError == ASE_OK )
-        {
-            stream->isActive = 1;
-            stream->streamFinishedCallbackCalled = false;
-        }
-        else
+        if( asioError != ASE_OK )
         {
-            theAsioStream = 0;
+            stream->isStopped = 1;
+            stream->isActive = 0;
+
             result = paUnanticipatedHostError;
             PA_ASIO_SET_LAST_ASIO_ERROR( asioError );
         }
@@ -3174,6 +3207,18 @@ static PaError StartStream( PaStream *s )
     return result;
 }
 
+static void EnsureCallbackHasCompleted( PaAsioStream *stream )
+{
+    // make sure that the callback is not still in-flight after ASIOStop()
+    // returns. This has been observed to happen on the Hoontech DSP24 for
+    // example.
+    int count = 2000;  // only wait for 2 seconds, rather than hanging.
+    while( stream->reenterCount != -1 && count > 0 )
+    {
+        Sleep(1);
+        --count;
+    }
+}
 
 static PaError StopStream( PaStream *s )
 {
@@ -3224,7 +3269,7 @@ static PaError StopStream( PaStream *s )
             length is longer than the asio buffer size then that should
             be taken into account.
         */
-        if( WaitForSingleObject( theAsioStream->completedBuffersPlayedEvent,
+        if( WaitForSingleObject( stream->completedBuffersPlayedEvent,
                 (DWORD)(stream->streamRepresentation.streamInfo.outputLatency * 1000. * 4.) )
                     == WAIT_TIMEOUT )
         {
@@ -3233,13 +3278,17 @@ static PaError StopStream( PaStream *s )
     }
 
     asioError = ASIOStop();
-    if( asioError != ASE_OK )
+    if( asioError == ASE_OK )
+    {
+        EnsureCallbackHasCompleted( stream );
+    }
+    else
     {
         result = paUnanticipatedHostError;
         PA_ASIO_SET_LAST_ASIO_ERROR( asioError );
     }
 
-    theAsioStream = 0;
+    stream->isStopped = 1;
     stream->isActive = 0;
 
     if( !stream->streamFinishedCallbackCalled )
@@ -3251,7 +3300,6 @@ static PaError StopStream( PaStream *s )
     return result;
 }
 
-
 static PaError AbortStream( PaStream *s )
 {
     PaError result = paNoError;
@@ -3261,31 +3309,17 @@ static PaError AbortStream( PaStream *s )
     stream->zeroOutput = true;
 
     asioError = ASIOStop();
-    if( asioError != ASE_OK )
+    if( asioError == ASE_OK )
     {
-        result = paUnanticipatedHostError;
-        PA_ASIO_SET_LAST_ASIO_ERROR( asioError );
+        EnsureCallbackHasCompleted( stream );
     }
     else
     {
-        // make sure that the callback is not still in-flight when ASIOStop()
-        // returns. This has been observed to happen on the Hoontech DSP24 for
-        // example.
-        int count = 2000;  // only wait for 2 seconds, rather than hanging.
-        while( theAsioStream->reenterCount != -1 && count > 0 )
-        {
-            Sleep(1);
-            --count;
-        }
+        result = paUnanticipatedHostError;
+        PA_ASIO_SET_LAST_ASIO_ERROR( asioError );
     }
 
-    /* it is questionable whether we should zero theAsioStream if ASIOStop()
-        returns an error, because the callback could still be active. We assume
-        not - this is based on the fact that ASIOStop is unlikely to fail
-        if the callback is running - it's more likely to fail because the
-        callback is not running. */
-        
-    theAsioStream = 0;
+    stream->isStopped = 1;
     stream->isActive = 0;
 
     if( !stream->streamFinishedCallbackCalled )
@@ -3300,9 +3334,9 @@ static PaError AbortStream( PaStream *s )
 
 static PaError IsStreamStopped( PaStream *s )
 {
-    //PaAsioStream *stream = (PaAsioStream*)s;
-    (void) s; /* unused parameter */
-    return theAsioStream == 0;
+    PaAsioStream *stream = (PaAsioStream*)s;
+    
+    return stream->isStopped;
 }
 
 
@@ -3435,11 +3469,8 @@ static PaError ReadStream( PaStream      *s     ,
                     /* If block processing has stopped, abort! */
                     if( blockingState->stopFlag ) { return result = paStreamIsStopped; }
 
-                    /* if a timeout is encountered, continue, perhaps we should give up eventually */
-                    continue;
-                    /* To give up eventually, we may increase the time out
-                       period and return an error if it fails anyway. */
-                    /* retrun result = paTimedOut; */
+                    /* If a timeout is encountered, give up eventually. */
+                    return result = paTimedOut;
                 }
             }
             /* Now, the ring buffer contains the required amount of data
@@ -3609,11 +3640,9 @@ static PaError WriteStream( PaStream      *s     ,
 
                     /* If block processing has stopped, abort! */
                     if( blockingState->stopFlag ) { return result = paStreamIsStopped; }
-                    /* if a timeout is encountered, continue, perhaps we should give up eventually */
-                    continue;
-                    /* To give up eventually, we may increase the time out
-                       period and return an error if it fails anyway. */
-                    /* retrun result = paTimedOut; */
+                    
+                    /* If a timeout is encountered, give up eventually. */
+                    return result = paTimedOut;
                 }
             }
             /* Now, the ring buffer contains the required amount of free
@@ -3703,6 +3732,118 @@ static signed long GetStreamWriteAvailable( PaStream* s )
 }
 
 
+/* This routine will be called by the PortAudio engine when audio is needed.
+** It may called at interrupt level on some machines so don't do anything
+** that could mess up the system like calling malloc() or free().
+*/
+static int BlockingIoPaCallback(const void                     *inputBuffer    ,
+                                      void                     *outputBuffer   ,
+                                      unsigned long             framesPerBuffer,
+                                const PaStreamCallbackTimeInfo *timeInfo       ,
+                                      PaStreamCallbackFlags     statusFlags    ,
+                                      void                     *userData       )
+{
+    PaError result = paNoError; /* Initial return value. */
+    PaAsioStream *stream = *(PaAsioStream**)userData; /* The PA ASIO stream. */
+    PaAsioStreamBlockingState *blockingState = stream->blockingState; /* Persume blockingState is valid, otherwise the callback wouldn't be running. */
+
+    /* Get a pointer to the stream's blocking i/o buffer processor. */
+    PaUtilBufferProcessor *pBp = &blockingState->bufferProcessor;
+    PaUtilRingBuffer      *pRb = NULL;
+
+    /* If output data has been requested. */
+    if( stream->outputChannelCount )
+    {
+        /* If the callback input argument signalizes a output underflow,
+           make sure the WriteStream() function knows about it, too! */
+        if( statusFlags & paOutputUnderflowed ) {
+            blockingState->outputUnderflowFlag = TRUE;
+        }
+
+        /* Access the corresponding ring buffer. */
+        pRb = &blockingState->writeRingBuffer;
+
+        /* If the blocking i/o buffer contains enough output data, */
+        if( PaUtil_GetRingBufferReadAvailable(pRb) >= (long) framesPerBuffer )
+        {
+            /* Extract the requested data from the ring buffer. */
+            PaUtil_ReadRingBuffer( pRb, outputBuffer, framesPerBuffer );
+        }
+        else /* If no output data is available :-( */
+        {
+            /* Signalize a write-buffer underflow. */
+            blockingState->outputUnderflowFlag = TRUE;
+
+            /* Fill the output buffer with silence. */
+            (*pBp->outputZeroer)( outputBuffer, 1, pBp->outputChannelCount * framesPerBuffer );
+
+            /* If playback is to be stopped */
+            if( blockingState->stopFlag && PaUtil_GetRingBufferReadAvailable(pRb) < (long) framesPerBuffer )
+            {
+                /* Extract all the remaining data from the ring buffer,
+                   whether it is a complete data block or not. */
+                PaUtil_ReadRingBuffer( pRb, outputBuffer, PaUtil_GetRingBufferReadAvailable(pRb) );
+            }
+        }
+
+        /* Set blocking i/o event? */
+        if( blockingState->writeBuffersRequestedFlag && PaUtil_GetRingBufferWriteAvailable(pRb) >= (long) blockingState->writeBuffersRequested )
+        {
+            /* Reset buffer request. */
+            blockingState->writeBuffersRequestedFlag = FALSE;
+            blockingState->writeBuffersRequested     = 0;
+            /* Signalize that requested buffers are ready. */
+            SetEvent( blockingState->writeBuffersReadyEvent );
+            /* What do we do if SetEvent() returns zero, i.e. the event
+               could not be set? How to return errors from within the
+               callback? - S.Fischer */
+        }
+    }
+
+    /* If input data has been supplied. */
+    if( stream->inputChannelCount )
+    {
+        /* If the callback input argument signalizes a input overflow,
+           make sure the ReadStream() function knows about it, too! */
+        if( statusFlags & paInputOverflowed ) {
+            blockingState->inputOverflowFlag = TRUE;
+        }
+
+        /* Access the corresponding ring buffer. */
+        pRb = &blockingState->readRingBuffer;
+
+        /* If the blocking i/o buffer contains not enough input buffers */
+        if( PaUtil_GetRingBufferWriteAvailable(pRb) < (long) framesPerBuffer )
+        {
+            /* Signalize a read-buffer overflow. */
+            blockingState->inputOverflowFlag = TRUE;
+
+            /* Remove some old data frames from the buffer. */
+            PaUtil_AdvanceRingBufferReadIndex( pRb, framesPerBuffer );
+        }
+
+        /* Insert the current input data into the ring buffer. */
+        PaUtil_WriteRingBuffer( pRb, inputBuffer, framesPerBuffer );
+
+        /* Set blocking i/o event? */
+        if( blockingState->readFramesRequestedFlag && PaUtil_GetRingBufferReadAvailable(pRb) >= (long) blockingState->readFramesRequested )
+        {
+            /* Reset buffer request. */
+            blockingState->readFramesRequestedFlag = FALSE;
+            blockingState->readFramesRequested     = 0;
+            /* Signalize that requested buffers are ready. */
+            SetEvent( blockingState->readFramesReadyEvent );
+            /* What do we do if SetEvent() returns zero, i.e. the event
+               could not be set? How to return errors from within the
+               callback? - S.Fischer */
+            /** @todo report an error with PA_DEBUG */
+        }
+    }
+
+    return paContinue;
+}
+
+
 PaError PaAsio_ShowControlPanel( PaDeviceIndex device, void* systemSpecific )
 {
     PaError result = paNoError;
@@ -3874,119 +4015,51 @@ error:
 }
 
 
-
-
-
-
-
-
-/* This routine will be called by the PortAudio engine when audio is needed.
-** It may called at interrupt level on some machines so don't do anything
-** that could mess up the system like calling malloc() or free().
+/* NOTE: the following functions are ASIO-stream specific, and are called directly
+    by client code. We need to check for many more error conditions here because
+    we don't have the benefit of pa_front.c's parameter checking.
 */
-static int BlockingIoPaCallback(const void                     *inputBuffer    ,
-                                      void                     *outputBuffer   ,
-                                      unsigned long             framesPerBuffer,
-                                const PaStreamCallbackTimeInfo *timeInfo       ,
-                                      PaStreamCallbackFlags     statusFlags    ,
-                                      void                     *userData       )
+
+static PaError GetAsioStreamPointer( PaAsioStream **stream, PaStream *s )
 {
-    PaError result = paNoError; /* Initial return value. */
-    PaAsioStream *stream = *(PaAsioStream**)userData; /* The PA ASIO stream. */ /* This is a pointer to "theAsioStream", see OpenStream(). */
-    PaAsioStreamBlockingState *blockingState = stream->blockingState; /* Persume blockingState is valid, otherwise the callback wouldn't be running. */
+    PaError result;
+    PaUtilHostApiRepresentation *hostApi;
+    PaAsioHostApiRepresentation *asioHostApi;
+    
+    result = PaUtil_ValidateStreamPointer( s );
+    if( result != paNoError )
+        return result;
 
-    /* Get a pointer to the stream's blocking i/o buffer processor. */
-    PaUtilBufferProcessor *pBp = &blockingState->bufferProcessor;
-    PaUtilRingBuffer      *pRb = NULL;
+    result = PaUtil_GetHostApiRepresentation( &hostApi, paASIO );
+    if( result != paNoError )
+        return result;
 
-    /* If output data has been requested. */
-    if( stream->outputChannelCount )
+    asioHostApi = (PaAsioHostApiRepresentation*)hostApi;
+    
+    if( PA_STREAM_REP( s )->streamInterface == &asioHostApi->callbackStreamInterface
+            || PA_STREAM_REP( s )->streamInterface == &asioHostApi->blockingStreamInterface )
     {
-        /* If the callback input argument signalizes a output underflow,
-           make sure the WriteStream() function knows about it, too! */
-        if( statusFlags & paOutputUnderflowed ) {
-            blockingState->outputUnderflowFlag = TRUE;
-        }
-
-        /* Access the corresponding ring buffer. */
-        pRb = &blockingState->writeRingBuffer;
-
-        /* If the blocking i/o buffer contains enough output data, */
-        if( PaUtil_GetRingBufferReadAvailable(pRb) >= (long) framesPerBuffer )
-        {
-            /* Extract the requested data from the ring buffer. */
-            PaUtil_ReadRingBuffer( pRb, outputBuffer, framesPerBuffer );
-        }
-        else /* If no output data is available :-( */
-        {
-            /* Signalize a write-buffer underflow. */
-            blockingState->outputUnderflowFlag = TRUE;
-
-            /* Fill the output buffer with silence. */
-            (*pBp->outputZeroer)( outputBuffer, 1, pBp->outputChannelCount * framesPerBuffer );
-
-            /* If playback is to be stopped */
-            if( blockingState->stopFlag && PaUtil_GetRingBufferReadAvailable(pRb) < (long) framesPerBuffer )
-            {
-                /* Extract all the remaining data from the ring buffer,
-                   whether it is a complete data block or not. */
-                PaUtil_ReadRingBuffer( pRb, outputBuffer, PaUtil_GetRingBufferReadAvailable(pRb) );
-            }
-        }
-
-        /* Set blocking i/o event? */
-        if( blockingState->writeBuffersRequestedFlag && PaUtil_GetRingBufferWriteAvailable(pRb) >= (long) blockingState->writeBuffersRequested )
-        {
-            /* Reset buffer request. */
-            blockingState->writeBuffersRequestedFlag = FALSE;
-            blockingState->writeBuffersRequested     = 0;
-            /* Signalize that requested buffers are ready. */
-            SetEvent( blockingState->writeBuffersReadyEvent );
-            /* What do we do if SetEvent() returns zero, i.e. the event
-               could not be set? How to return errors from within the
-               callback? - S.Fischer */
-        }
+        /* s is an ASIO  stream */
+        *stream = (PaAsioStream *)s;
+        return paNoError;
     }
-
-    /* If input data has been supplied. */
-    if( stream->inputChannelCount )
+    else
     {
-        /* If the callback input argument signalizes a input overflow,
-           make sure the ReadStream() function knows about it, too! */
-        if( statusFlags & paInputOverflowed ) {
-            blockingState->inputOverflowFlag = TRUE;
-        }
-
-        /* Access the corresponding ring buffer. */
-        pRb = &blockingState->readRingBuffer;
-
-        /* If the blocking i/o buffer contains not enough input buffers */
-        if( PaUtil_GetRingBufferWriteAvailable(pRb) < (long) framesPerBuffer )
-        {
-            /* Signalize a read-buffer overflow. */
-            blockingState->inputOverflowFlag = TRUE;
+        return paIncompatibleStreamHostApi;
+    }
+}
 
-            /* Remove some old data frames from the buffer. */
-            PaUtil_AdvanceRingBufferReadIndex( pRb, framesPerBuffer );
-        }
 
-        /* Insert the current input data into the ring buffer. */
-        PaUtil_WriteRingBuffer( pRb, inputBuffer, framesPerBuffer );
+PaError PaAsio_SetStreamSampleRate( PaStream* s, double sampleRate )
+{
+    PaAsioStream *stream;
+    PaError result = GetAsioStreamPointer( &stream, s );
+    if( result != paNoError )
+        return result;
 
-        /* Set blocking i/o event? */
-        if( blockingState->readFramesRequestedFlag && PaUtil_GetRingBufferReadAvailable(pRb) >= (long) blockingState->readFramesRequested )
-        {
-            /* Reset buffer request. */
-            blockingState->readFramesRequestedFlag = FALSE;
-            blockingState->readFramesRequested     = 0;
-            /* Signalize that requested buffers are ready. */
-            SetEvent( blockingState->readFramesReadyEvent );
-            /* What do we do if SetEvent() returns zero, i.e. the event
-               could not be set? How to return errors from within the
-               callback? - S.Fischer */
-            /** @todo report an error with PA_DEBUG */
-        }
-    }
+    if( stream != theAsioStream )
+        return paBadStreamPtr;
 
-    return paContinue;
+    return ValidateAndSetSampleRate( sampleRate );
 }
+
diff --git a/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds.c b/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds.c
index d4a7c60..6bdf4bd 100644
--- a/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds.c
+++ b/lib-src/portaudio-v19/src/hostapi/dsound/pa_win_ds.c
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_win_ds.c,v 1.11 2008/12/31 15:38:35 richardash1981 Exp $
+ * $Id: pa_win_ds.c,v 1.12 2009/05/25 21:40:16 richardash1981 Exp $
  * Portable Audio I/O Library DirectSound implementation
  *
  * Authors: Phil Burk, Robert Marsanyi & Ross Bencina
@@ -1403,12 +1403,14 @@ static HRESULT InitInputBuffer( PaWinDsStream *stream, PaSampleFormat sampleForm
 
     // first try WAVEFORMATEXTENSIBLE. if this fails, fall back to WAVEFORMATEX
     PaWin_InitializeWaveFormatExtensible( &waveFormat, nChannels, 
-                sampleFormat, nFrameRate, channelMask );
+                sampleFormat, PaWin_SampleFormatToLinearWaveFormatTag( sampleFormat ),
+                nFrameRate, channelMask );
 
     if( IDirectSoundCapture_CreateCaptureBuffer( stream->pDirectSoundCapture,
                   &captureDesc, &stream->pDirectSoundInputBuffer, NULL) != DS_OK )
     {
-        PaWin_InitializeWaveFormatEx( &waveFormat, nChannels, sampleFormat, nFrameRate );
+        PaWin_InitializeWaveFormatEx( &waveFormat, nChannels, sampleFormat, 
+                PaWin_SampleFormatToLinearWaveFormatTag( sampleFormat ), nFrameRate );
 
         if ((result = IDirectSoundCapture_CreateCaptureBuffer( stream->pDirectSoundCapture,
                     &captureDesc, &stream->pDirectSoundInputBuffer, NULL)) != DS_OK) return result;
@@ -1479,11 +1481,13 @@ static HRESULT InitOutputBuffer( PaWinDsStream *stream, PaSampleFormat sampleFor
 
     // first try WAVEFORMATEXTENSIBLE. if this fails, fall back to WAVEFORMATEX
     PaWin_InitializeWaveFormatExtensible( &waveFormat, nChannels, 
-                sampleFormat, nFrameRate, channelMask );
+                sampleFormat, PaWin_SampleFormatToLinearWaveFormatTag( sampleFormat ),
+                nFrameRate, channelMask );
 
     if( IDirectSoundBuffer_SetFormat( pPrimaryBuffer, (WAVEFORMATEX*)&waveFormat) != DS_OK )
     {
-        PaWin_InitializeWaveFormatEx( &waveFormat, nChannels, sampleFormat, nFrameRate );
+        PaWin_InitializeWaveFormatEx( &waveFormat, nChannels, sampleFormat, 
+                PaWin_SampleFormatToLinearWaveFormatTag( sampleFormat ), nFrameRate );
 
         if((result = IDirectSoundBuffer_SetFormat( pPrimaryBuffer, (WAVEFORMATEX*)&waveFormat)) != DS_OK) return result;
     }
diff --git a/lib-src/portaudio-v19/src/hostapi/wasapi/pa_win_wasapi.cpp b/lib-src/portaudio-v19/src/hostapi/wasapi/pa_win_wasapi.cpp
index ea91eb2..498fc6c 100644
--- a/lib-src/portaudio-v19/src/hostapi/wasapi/pa_win_wasapi.cpp
+++ b/lib-src/portaudio-v19/src/hostapi/wasapi/pa_win_wasapi.cpp
@@ -518,7 +518,7 @@ PaError PaWinWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApi
 					if (value.pwszVal)
 						wcstombs(deviceName,   value.pwszVal,MAX_STR_LEN-1); //todo proper size	
 					else{
-						sprintf(deviceName,"baddev%d",i);
+						_snprintf_s(deviceName,MAX_STR_LEN-1,MAX_STR_LEN-1,"baddev%d",i);
 					}
 
                     deviceInfo->name = deviceName;
@@ -956,9 +956,9 @@ GetClosestFormat(IAudioClient * myClient, double sampleRate,const  PaStreamParam
 	HRESULT hResult=!S_OK;
 
 	if (*shareMode == AUDCLNT_SHAREMODE_EXCLUSIVE)
-		hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,(WAVEFORMATEX*)outWavex,NULL);
+		hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,&outWavex->Format,NULL);
 	else
-		hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_SHARED,   (WAVEFORMATEX*)&outWavex,&sharedClosestMatch);
+		hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_SHARED,   &outWavex->Format,&sharedClosestMatch);
 
 	if (hResult == S_OK)
 		answer = paFormatIsSupported;
@@ -990,9 +990,9 @@ GetClosestFormat(IAudioClient * myClient, double sampleRate,const  PaStreamParam
 			WAVEFORMATEXTENSIBLE ext;
 			wasapiFillWFEXT(&ext,BestToWorst[i],sampleRate,params->channelCount);		
 			if (*shareMode == AUDCLNT_SHAREMODE_EXCLUSIVE)
-				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,(WAVEFORMATEX*)&ext,NULL);
+				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,&ext.Format,NULL);
 			else
-				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_SHARED,   (WAVEFORMATEX*)&ext,&sharedClosestMatch);
+				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_SHARED,   &ext.Format,&sharedClosestMatch);
 
 			if (hResult == S_OK){
 				memcpy(outWavex,&ext,sizeof(WAVEFORMATEXTENSIBLE));
@@ -1015,9 +1015,9 @@ GetClosestFormat(IAudioClient * myClient, double sampleRate,const  PaStreamParam
 			pcm16WaveFormat.cbSize = 0;
 
 			if (*shareMode == AUDCLNT_SHAREMODE_EXCLUSIVE)
-				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,(WAVEFORMATEX*)&pcm16WaveFormat,NULL);
+				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE,&pcm16WaveFormat,NULL);
 			else
-				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_SHARED,   (WAVEFORMATEX*)&pcm16WaveFormat,&sharedClosestMatch);
+				hResult = myClient->IsFormatSupported(AUDCLNT_SHAREMODE_SHARED,   &pcm16WaveFormat,&sharedClosestMatch);
 
 			if (hResult == S_OK){
 				memcpy(outWavex,&pcm16WaveFormat,sizeof(WAVEFORMATEX));
diff --git a/lib-src/portaudio-v19/src/hostapi/wdmks/pa_win_wdmks.c b/lib-src/portaudio-v19/src/hostapi/wdmks/pa_win_wdmks.c
index d43d26f..c18c641 100644
--- a/lib-src/portaudio-v19/src/hostapi/wdmks/pa_win_wdmks.c
+++ b/lib-src/portaudio-v19/src/hostapi/wdmks/pa_win_wdmks.c
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_win_wdmks.c,v 1.8 2008/12/31 15:38:35 richardash1981 Exp $
+ * $Id: pa_win_wdmks.c,v 1.9 2009/05/25 21:40:16 richardash1981 Exp $
  * PortAudio Windows WDM-KS interface
  *
  * Author: Andrew Baldwin
@@ -77,7 +77,7 @@
 
 #include <windows.h>
 #include <winioctl.h>
-
+#include <process.h>
 
 #ifdef __GNUC__
     #undef PA_LOGE_
@@ -121,24 +121,16 @@
 #endif
 
 #ifdef _MSC_VER
+    #define NOMMIDS
     #define DYNAMIC_GUID(data) {data}
-    #define _INC_MMREG
     #define _NTRTL_ /* Turn off default definition of DEFINE_GUIDEX */
     #undef DEFINE_GUID
     #define DEFINE_GUID(n,data) EXTERN_C const GUID n = {data}
     #define DEFINE_GUID_THUNK(n,data) DEFINE_GUID(n,data)
     #define DEFINE_GUIDEX(n) DEFINE_GUID_THUNK(n, STATIC_##n)
-    #if !defined( DEFINE_WAVEFORMATEX_GUID )
-        #define DEFINE_WAVEFORMATEX_GUID(x) (USHORT)(x), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
-    #endif
-    #define  WAVE_FORMAT_ADPCM      0x0002
-    #define  WAVE_FORMAT_IEEE_FLOAT 0x0003
-    #define  WAVE_FORMAT_ALAW       0x0006
-    #define  WAVE_FORMAT_MULAW      0x0007
-    #define  WAVE_FORMAT_MPEG       0x0050
-    #define  WAVE_FORMAT_DRM        0x0009
 #endif
 
+#include <mmreg.h>
 #include <ks.h>
 #include <ksmedia.h>
 #include <tchar.h>
@@ -2924,11 +2916,26 @@ static DWORD WINAPI ProcessingThread(LPVOID pParam)
                     PaUtil_SetInputChannel(&stream->bufferProcessor,i,((unsigned char*)(stream->packets[inbuf].Header.Data))+(i*stream->inputSampleSize),stream->deviceInputChannels);
                 }
             }
-            /* Only call the EndBufferProcessing function is the total input frames == total output frames */
-            if((stream->bufferProcessor.hostInputFrameCount[0] + stream->bufferProcessor.hostInputFrameCount[1]) ==
-                (stream->bufferProcessor.hostOutputFrameCount[0] + stream->bufferProcessor.hostOutputFrameCount[1]) )
+            
+            if (stream->recordingPin && stream->playbackPin) /* full duplex */
+            {
+                /* Only call the EndBufferProcessing function when the total input frames == total output frames */
+
+                if((stream->bufferProcessor.hostInputFrameCount[0] + stream->bufferProcessor.hostInputFrameCount[1]) ==
+                        (stream->bufferProcessor.hostOutputFrameCount[0] + stream->bufferProcessor.hostOutputFrameCount[1]) )
+                {
+                    framesProcessed = PaUtil_EndBufferProcessing(&stream->bufferProcessor,&cbResult);
+                }
+                else
+                {
+                    framesProcessed = 0;
+                }
+            }
+            else 
+            {
                 framesProcessed = PaUtil_EndBufferProcessing(&stream->bufferProcessor,&cbResult);
-            else framesProcessed = 0;
+            }
+
             if( doChannelCopy )
             {
                 /* Copy the first output channel to the other channels */
diff --git a/lib-src/portaudio-v19/src/hostapi/wmme/pa_win_wmme.c b/lib-src/portaudio-v19/src/hostapi/wmme/pa_win_wmme.c
index 4e4824a..04ee75f 100644
--- a/lib-src/portaudio-v19/src/hostapi/wmme/pa_win_wmme.c
+++ b/lib-src/portaudio-v19/src/hostapi/wmme/pa_win_wmme.c
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_win_wmme.c,v 1.8 2008/12/31 15:38:36 richardash1981 Exp $
+ * $Id: pa_win_wmme.c,v 1.9 2009/05/25 21:40:16 richardash1981 Exp $
  * pa_win_wmme.c
  * Implementation of PortAudio for Windows MultiMedia Extensions (WMME)       
  *                                                                                         
@@ -471,6 +471,21 @@ static UINT LocalDeviceIndexToWinMmeDeviceId( PaWinMmeHostApiRepresentation *hos
 }
 
 
+static int SampleFormatAndWinWmmeSpecificFlagsToLinearWaveFormatTag( PaSampleFormat sampleFormat, unsigned long winMmeSpecificFlags )
+{
+    int waveFormatTag = 0;
+
+    if( winMmeSpecificFlags & paWinMmeWaveFormatDolbyAc3Spdif )
+        waveFormatTag = PAWIN_WAVE_FORMAT_DOLBY_AC3_SPDIF;
+    else if( winMmeSpecificFlags & paWinMmeWaveFormatWmaSpdif )
+        waveFormatTag = PAWIN_WAVE_FORMAT_WMA_SPDIF;
+    else
+        waveFormatTag = PaWin_SampleFormatToLinearWaveFormatTag( sampleFormat );
+
+    return waveFormatTag;
+}
+
+
 static PaError QueryInputWaveFormatEx( int deviceId, WAVEFORMATEX *waveFormatEx )
 {
     MMRESULT mmresult;
@@ -525,43 +540,55 @@ static PaError QueryOutputWaveFormatEx( int deviceId, WAVEFORMATEX *waveFormatEx
 
 static PaError QueryFormatSupported( PaDeviceInfo *deviceInfo,
         PaError (*waveFormatExQueryFunction)(int, WAVEFORMATEX*),
-        int winMmeDeviceId, int channels, double sampleRate )
+        int winMmeDeviceId, int channels, double sampleRate, unsigned long winMmeSpecificFlags )
 {
     PaWinMmeDeviceInfo *winMmeDeviceInfo = (PaWinMmeDeviceInfo*)deviceInfo;
     PaWinWaveFormat waveFormat;
+    PaSampleFormat sampleFormat;
+    int waveFormatTag;
     
-    if( sampleRate == 11025.0
-        && ( (channels == 1 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_1M16))
-            || (channels == 2 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_1S16)) ) ){
+    /* @todo at the moment we only query with 16 bit sample format and directout speaker config*/
 
-        return paNoError;
-    }
+    sampleFormat = paInt16;
+    waveFormatTag = SampleFormatAndWinWmmeSpecificFlagsToLinearWaveFormatTag( sampleFormat, winMmeSpecificFlags );
 
-    if( sampleRate == 22050.0
-        && ( (channels == 1 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_2M16))
-            || (channels == 2 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_2S16)) ) ){
+    if( waveFormatTag == PaWin_SampleFormatToLinearWaveFormatTag( paInt16 ) ){
+    
+        /* attempt bypass querying the device for linear formats */
 
-        return paNoError;
-    }
+        if( sampleRate == 11025.0
+            && ( (channels == 1 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_1M16))
+                || (channels == 2 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_1S16)) ) ){
 
-    if( sampleRate == 44100.0
-        && ( (channels == 1 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_4M16))
-            || (channels == 2 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_4S16)) ) ){
+            return paNoError;
+        }
 
-        return paNoError;
+        if( sampleRate == 22050.0
+            && ( (channels == 1 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_2M16))
+                || (channels == 2 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_2S16)) ) ){
+
+            return paNoError;
+        }
+
+        if( sampleRate == 44100.0
+            && ( (channels == 1 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_4M16))
+                || (channels == 2 && (winMmeDeviceInfo->dwFormats & WAVE_FORMAT_4S16)) ) ){
+
+            return paNoError;
+        }
     }
 
+
     /* first, attempt to query the device using WAVEFORMATEXTENSIBLE, 
        if this fails we fall back to WAVEFORMATEX */
 
-    /* @todo at the moment we only query with 16 bit sample format and directout speaker config*/
-    PaWin_InitializeWaveFormatExtensible( &waveFormat, channels, 
-            paInt16, sampleRate, PAWIN_SPEAKER_DIRECTOUT );
+    PaWin_InitializeWaveFormatExtensible( &waveFormat, channels, sampleFormat, waveFormatTag,
+            sampleRate, PAWIN_SPEAKER_DIRECTOUT );
 
     if( waveFormatExQueryFunction( winMmeDeviceId, (WAVEFORMATEX*)&waveFormat ) == paNoError )
         return paNoError;
 
-    PaWin_InitializeWaveFormatEx( &waveFormat, channels, paInt16, sampleRate );
+    PaWin_InitializeWaveFormatEx( &waveFormat, channels, sampleFormat, waveFormatTag, sampleRate );
 
     return waveFormatExQueryFunction( winMmeDeviceId, (WAVEFORMATEX*)&waveFormat );
 }
@@ -583,7 +610,7 @@ static void DetectDefaultSampleRate( PaWinMmeDeviceInfo *winMmeDeviceInfo, int w
     for( i=0; i < PA_DEFAULTSAMPLERATESEARCHORDER_COUNT_; ++i )
     {
         double sampleRate = defaultSampleRateSearchOrder_[ i ]; 
-        PaError paerror = QueryFormatSupported( deviceInfo, waveFormatExQueryFunction, winMmeDeviceId, maxChannels, sampleRate );
+        PaError paerror = QueryFormatSupported( deviceInfo, waveFormatExQueryFunction, winMmeDeviceId, maxChannels, sampleRate, 0 );
         if( paerror == paNoError )
         {
             deviceInfo->defaultSampleRate = sampleRate;
@@ -1177,7 +1204,9 @@ static PaError IsFormatSupported( struct PaUtilHostApiRepresentation *hostApi,
 
                 /* test for valid sample rate, see comment above */
                 winMmeInputDeviceId = LocalDeviceIndexToWinMmeDeviceId( winMmeHostApi, inputStreamInfo->devices[i].device );
-                paerror = QueryFormatSupported( inputDeviceInfo, QueryInputWaveFormatEx, winMmeInputDeviceId, inputStreamInfo->devices[i].channelCount, sampleRate );
+                paerror = QueryFormatSupported( inputDeviceInfo, QueryInputWaveFormatEx, 
+                        winMmeInputDeviceId, inputStreamInfo->devices[i].channelCount, sampleRate, 
+                        ((inputStreamInfo) ? inputStreamInfo->flags : 0) );
                 if( paerror != paNoError )
                     return paInvalidSampleRate;
             }
@@ -1199,7 +1228,9 @@ static PaError IsFormatSupported( struct PaUtilHostApiRepresentation *hostApi,
 
             /* test for valid sample rate, see comment above */
             winMmeInputDeviceId = LocalDeviceIndexToWinMmeDeviceId( winMmeHostApi, inputParameters->device );
-            paerror = QueryFormatSupported( inputDeviceInfo, QueryInputWaveFormatEx, winMmeInputDeviceId, inputChannelCount, sampleRate );
+            paerror = QueryFormatSupported( inputDeviceInfo, QueryInputWaveFormatEx, 
+                    winMmeInputDeviceId, inputChannelCount, sampleRate,
+                    ((inputStreamInfo) ? inputStreamInfo->flags : 0) );
             if( paerror != paNoError )
                 return paInvalidSampleRate;
         }
@@ -1237,7 +1268,9 @@ static PaError IsFormatSupported( struct PaUtilHostApiRepresentation *hostApi,
 
                 /* test for valid sample rate, see comment above */
                 winMmeOutputDeviceId = LocalDeviceIndexToWinMmeDeviceId( winMmeHostApi, outputStreamInfo->devices[i].device );
-                paerror = QueryFormatSupported( outputDeviceInfo, QueryOutputWaveFormatEx, winMmeOutputDeviceId, outputStreamInfo->devices[i].channelCount, sampleRate );
+                paerror = QueryFormatSupported( outputDeviceInfo, QueryOutputWaveFormatEx, 
+                        winMmeOutputDeviceId, outputStreamInfo->devices[i].channelCount, sampleRate,
+                        ((outputStreamInfo) ? outputStreamInfo->flags : 0) );
                 if( paerror != paNoError )
                     return paInvalidSampleRate;
             }
@@ -1259,7 +1292,9 @@ static PaError IsFormatSupported( struct PaUtilHostApiRepresentation *hostApi,
 
             /* test for valid sample rate, see comment above */
             winMmeOutputDeviceId = LocalDeviceIndexToWinMmeDeviceId( winMmeHostApi, outputParameters->device );
-            paerror = QueryFormatSupported( outputDeviceInfo, QueryOutputWaveFormatEx, winMmeOutputDeviceId, outputChannelCount, sampleRate );
+            paerror = QueryFormatSupported( outputDeviceInfo, QueryOutputWaveFormatEx, 
+                    winMmeOutputDeviceId, outputChannelCount, sampleRate,
+                    ((outputStreamInfo) ? outputStreamInfo->flags : 0) );
             if( paerror != paNoError )
                 return paInvalidSampleRate;
         }
@@ -1683,6 +1718,7 @@ typedef struct
 static void InitializeSingleDirectionHandlesAndBuffers( PaWinMmeSingleDirectionHandlesAndBuffers *handlesAndBuffers );
 static PaError InitializeWaveHandles( PaWinMmeHostApiRepresentation *winMmeHostApi,
         PaWinMmeSingleDirectionHandlesAndBuffers *handlesAndBuffers,
+        unsigned long winMmeSpecificFlags,
         unsigned long bytesPerHostSample,
         double sampleRate, PaWinMmeDeviceAndChannelCount *devices,
         unsigned int deviceCount, PaWinWaveFormatChannelMask channelMask, int isInput );
@@ -1707,6 +1743,7 @@ static void InitializeSingleDirectionHandlesAndBuffers( PaWinMmeSingleDirectionH
 
 static PaError InitializeWaveHandles( PaWinMmeHostApiRepresentation *winMmeHostApi,
         PaWinMmeSingleDirectionHandlesAndBuffers *handlesAndBuffers,
+        unsigned long winMmeSpecificFlags,
         unsigned long bytesPerHostSample,
         double sampleRate, PaWinMmeDeviceAndChannelCount *devices,
         unsigned int deviceCount, PaWinWaveFormatChannelMask channelMask, int isInput )
@@ -1714,6 +1751,8 @@ static PaError InitializeWaveHandles( PaWinMmeHostApiRepresentation *winMmeHostA
     PaError result;
     MMRESULT mmresult;
     signed int i, j;
+    PaSampleFormat sampleFormat;
+    int waveFormatTag;
 
     /* for error cleanup we expect that InitializeSingleDirectionHandlesAndBuffers()
         has already been called to zero some fields */       
@@ -1741,6 +1780,10 @@ static PaError InitializeWaveHandles( PaWinMmeHostApiRepresentation *winMmeHostA
             ((HWAVEOUT*)handlesAndBuffers->waveHandles)[i] = 0;
     }
 
+    /* @todo at the moment we only use 16 bit sample format */
+    sampleFormat = paInt16;
+    waveFormatTag = SampleFormatAndWinWmmeSpecificFlagsToLinearWaveFormatTag( sampleFormat, winMmeSpecificFlags );
+
     for( i = 0; i < (signed int)deviceCount; ++i )
     {
         PaWinWaveFormat waveFormat;
@@ -1756,16 +1799,16 @@ static PaError InitializeWaveHandles( PaWinMmeHostApiRepresentation *winMmeHostA
                 /* first, attempt to open the device using WAVEFORMATEXTENSIBLE, 
                     if this fails we fall back to WAVEFORMATEX */
 
-                /* @todo at the moment we only use 16 bit sample format */
                 PaWin_InitializeWaveFormatExtensible( &waveFormat, devices[i].channelCount, 
-                        paInt16, sampleRate, channelMask );
+                        sampleFormat, waveFormatTag, sampleRate, channelMask );
 
             }
             else
             {
                 /* retry with WAVEFORMATEX */
 
-                PaWin_InitializeWaveFormatEx( &waveFormat, devices[i].channelCount, paInt16, sampleRate );
+                PaWin_InitializeWaveFormatEx( &waveFormat, devices[i].channelCount, 
+                        sampleFormat, waveFormatTag, sampleRate );
             }
 
             /* REVIEW: consider not firing an event for input when a full duplex
@@ -2070,6 +2113,7 @@ struct PaWinMmeStream
 static PaError ValidateWinMmeSpecificStreamInfo(
         const PaStreamParameters *streamParameters,
         const PaWinMmeStreamInfo *streamInfo,
+        unsigned long *winMmeSpecificFlags,
         char *throttleProcessingThreadOnOverload,
         unsigned long *deviceCount )
 {
@@ -2081,6 +2125,8 @@ static PaError ValidateWinMmeSpecificStreamInfo(
 	        return paIncompatibleHostApiSpecificStreamInfo;
 	    }
 
+        *winMmeSpecificFlags = streamInfo->flags;
+
 	    if( streamInfo->flags & paWinMmeDontThrottleOverloadedProcessingThread )
 	        *throttleProcessingThreadOnOverload = 0;
             
@@ -2224,8 +2270,10 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
     unsigned long hostOutputBufferCount;
     unsigned long framesPerBufferProcessorCall;
     PaWinMmeDeviceAndChannelCount *inputDevices = 0;  /* contains all devices and channel counts as local host api ids, even when PaWinMmeUseMultipleDevices is not used */
+    unsigned long winMmeSpecificInputFlags = 0;
     unsigned long inputDeviceCount = 0;            
     PaWinMmeDeviceAndChannelCount *outputDevices = 0;
+    unsigned long winMmeSpecificOutputFlags = 0;
     unsigned long outputDeviceCount = 0;                /* contains all devices and channel counts as local host api ids, even when PaWinMmeUseMultipleDevices is not used */
     char throttleProcessingThreadOnOverload = 1;
 
@@ -2241,6 +2289,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
 		/* validate input hostApiSpecificStreamInfo */
         inputStreamInfo = (PaWinMmeStreamInfo*)inputParameters->hostApiSpecificStreamInfo;
 		result = ValidateWinMmeSpecificStreamInfo( inputParameters, inputStreamInfo,
+                &winMmeSpecificInputFlags,
 				&throttleProcessingThreadOnOverload,
 				&inputDeviceCount );
 		if( result != paNoError ) return result;
@@ -2290,6 +2339,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
 		/* validate output hostApiSpecificStreamInfo */
         outputStreamInfo = (PaWinMmeStreamInfo*)outputParameters->hostApiSpecificStreamInfo;
 		result = ValidateWinMmeSpecificStreamInfo( outputParameters, outputStreamInfo,
+                &winMmeSpecificOutputFlags,
 				&throttleProcessingThreadOnOverload,
 				&outputDeviceCount );
 		if( result != paNoError ) return result;
@@ -2339,6 +2389,14 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
         return paInvalidFlag; /* unexpected platform specific flag */
 
 
+    /* always disable clipping and dithering if we are outputting a raw spdif stream */
+    if( (winMmeSpecificOutputFlags & paWinMmeWaveFormatDolbyAc3Spdif)
+            || (winMmeSpecificOutputFlags & paWinMmeWaveFormatWmaSpdif) ){
+
+        streamFlags = streamFlags | paClipOff | paDitherOff;
+    }
+
+
     result = CalculateBufferSettings( &framesPerHostInputBuffer, &hostInputBufferCount,
                 &framesPerHostOutputBuffer, &hostOutputBufferCount,
                 inputChannelCount, hostInputSampleFormat, suggestedInputLatency, inputStreamInfo,
@@ -2437,6 +2495,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
     if( inputParameters )
     {
         result = InitializeWaveHandles( winMmeHostApi, &stream->input,
+                winMmeSpecificInputFlags,
                 stream->bufferProcessor.bytesPerHostInputSample, sampleRate,
                 inputDevices, inputDeviceCount, inputChannelMask, 1 /* isInput */ );
         if( result != paNoError ) goto error;
@@ -2445,6 +2504,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
     if( outputParameters )
     {
         result = InitializeWaveHandles( winMmeHostApi, &stream->output,
+                winMmeSpecificOutputFlags,
                 stream->bufferProcessor.bytesPerHostOutputSample, sampleRate,
                 outputDevices, outputDeviceCount, outputChannelMask, 0 /* isInput */ );
         if( result != paNoError ) goto error;
diff --git a/lib-src/portaudio-v19/src/os/unix/pa_unix_hostapis.c b/lib-src/portaudio-v19/src/os/unix/pa_unix_hostapis.c
index af122e8..8862ff2 100644
--- a/lib-src/portaudio-v19/src/os/unix/pa_unix_hostapis.c
+++ b/lib-src/portaudio-v19/src/os/unix/pa_unix_hostapis.c
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_unix_hostapis.c,v 1.8 2008/12/31 15:38:36 richardash1981 Exp $
+ * $Id: pa_unix_hostapis.c,v 1.9 2009/05/25 21:40:17 richardash1981 Exp $
  * Portable Audio I/O Library UNIX initialization table
  *
  * Based on the Open Source API proposed by Ross Bencina
@@ -52,8 +52,7 @@ PaError PaAsiHpi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
 PaError PaMacCore_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
 PaError PaSkeleton_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
 
-/** Note that ALSA is placed before OSS so that the latter is preferred over the
- * latter on Linux.
+/** Note that on Linux, ALSA is placed before OSS so that the former is preferred over the latter.
  */
 
 PaUtilHostApiInitializer *paHostApiInitializers[] =
@@ -68,7 +67,7 @@ PaUtilHostApiInitializer *paHostApiInitializers[] =
         PaOSS_Initialize,
 #endif
 
-#else
+#else   /* __linux__ */
 
 #ifdef PA_USE_OSS
         PaOSS_Initialize,
diff --git a/lib-src/portaudio-v19/src/os/win/pa_win_util.c b/lib-src/portaudio-v19/src/os/win/pa_win_util.c
index dfbf484..fc99da3 100644
--- a/lib-src/portaudio-v19/src/os/win/pa_win_util.c
+++ b/lib-src/portaudio-v19/src/os/win/pa_win_util.c
@@ -1,5 +1,5 @@
 /*
- * $Id: pa_win_util.c,v 1.8 2008/12/31 15:38:36 richardash1981 Exp $
+ * $Id: pa_win_util.c,v 1.9 2009/05/25 21:40:17 richardash1981 Exp $
  * Portable Audio I/O Library
  * Win32 platform-specific support functions
  *
@@ -51,6 +51,10 @@
 
 #include "pa_util.h"
 
+#if (defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER >= 1200))) /* MSC version 6 and above */
+#pragma comment( lib, "winmm.lib" )
+#endif
+
 
 /*
    Track memory allocations to avoid leaks.
diff --git a/lib-src/portaudio-v19/src/os/win/pa_win_waveformat.c b/lib-src/portaudio-v19/src/os/win/pa_win_waveformat.c
index 5f71a26..fc18742 100644
--- a/lib-src/portaudio-v19/src/os/win/pa_win_waveformat.c
+++ b/lib-src/portaudio-v19/src/os/win/pa_win_waveformat.c
@@ -47,30 +47,26 @@
 #define  WAVE_FORMAT_EXTENSIBLE         0xFFFE
 #endif
 
-#if !defined(WAVE_FORMAT_IEEE_FLOAT)
-#define  WAVE_FORMAT_IEEE_FLOAT         0x0003
-#endif
-
-static GUID pawin_ksDataFormatSubtypePcm =
+static GUID pawin_ksDataFormatSubtypeGuidBase = 
 	{ (USHORT)(WAVE_FORMAT_PCM), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71 };
 
-static GUID pawin_ksDataFormatSubtypeIeeeFloat =
-	{ (USHORT)(WAVE_FORMAT_IEEE_FLOAT), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71 };
-
+int PaWin_SampleFormatToLinearWaveFormatTag( PaSampleFormat sampleFormat )
+{
+    if( sampleFormat == paFloat32 )
+        return PAWIN_WAVE_FORMAT_IEEE_FLOAT;
+    
+    return PAWIN_WAVE_FORMAT_PCM;
+}
 
 
 void PaWin_InitializeWaveFormatEx( PaWinWaveFormat *waveFormat,
-		int numChannels, PaSampleFormat sampleFormat, double sampleRate )
+		int numChannels, PaSampleFormat sampleFormat, int waveFormatTag, double sampleRate )
 {
 	WAVEFORMATEX *waveFormatEx = (WAVEFORMATEX*)waveFormat;
     int bytesPerSample = Pa_GetSampleSize(sampleFormat);
 	unsigned long bytesPerFrame = numChannels * bytesPerSample;
 
-    if( sampleFormat == paFloat32 )
-        waveFormatEx->wFormatTag = WAVE_FORMAT_IEEE_FLOAT;
-    else
-        waveFormatEx->wFormatTag = WAVE_FORMAT_PCM;
-
+    waveFormatEx->wFormatTag = waveFormatTag;
 	waveFormatEx->nChannels = (WORD)numChannels;
 	waveFormatEx->nSamplesPerSec = (DWORD)sampleRate;
 	waveFormatEx->nAvgBytesPerSec = waveFormatEx->nSamplesPerSec * bytesPerFrame;
@@ -81,12 +77,13 @@ void PaWin_InitializeWaveFormatEx( PaWinWaveFormat *waveFormat,
 
 
 void PaWin_InitializeWaveFormatExtensible( PaWinWaveFormat *waveFormat,
-		int numChannels, PaSampleFormat sampleFormat, double sampleRate,
+		int numChannels, PaSampleFormat sampleFormat, int waveFormatTag, double sampleRate,
 		PaWinWaveFormatChannelMask channelMask )
 {
 	WAVEFORMATEX *waveFormatEx = (WAVEFORMATEX*)waveFormat;
     int bytesPerSample = Pa_GetSampleSize(sampleFormat);
 	unsigned long bytesPerFrame = numChannels * bytesPerSample;
+    GUID guid;
 
 	waveFormatEx->wFormatTag = WAVE_FORMAT_EXTENSIBLE;
 	waveFormatEx->nChannels = (WORD)numChannels;
@@ -100,13 +97,11 @@ void PaWin_InitializeWaveFormatExtensible( PaWinWaveFormat *waveFormat,
 			waveFormatEx->wBitsPerSample;
 
 	*((DWORD*)&waveFormat->fields[PAWIN_INDEXOF_DWCHANNELMASK]) = channelMask;
+		
+    guid = pawin_ksDataFormatSubtypeGuidBase;
+    guid.Data1 = (USHORT)waveFormatTag;
+    *((GUID*)&waveFormat->fields[PAWIN_INDEXOF_SUBFORMAT]) = guid;
 
-    if( sampleFormat == paFloat32 )
-        *((GUID*)&waveFormat->fields[PAWIN_INDEXOF_SUBFORMAT]) =
-            pawin_ksDataFormatSubtypeIeeeFloat;
-    else
-        *((GUID*)&waveFormat->fields[PAWIN_INDEXOF_SUBFORMAT]) =
-            pawin_ksDataFormatSubtypePcm;
 }
 
 
diff --git a/lib-src/portmixer/include/portmixer.h b/lib-src/portmixer/include/portmixer.h
index 52f28d8..2d78bdd 100644
--- a/lib-src/portmixer/include/portmixer.h
+++ b/lib-src/portmixer/include/portmixer.h
@@ -66,13 +66,12 @@ PxMixer *Px_OpenMixer( void *pa_stream, int i );
 
 void Px_CloseMixer( PxMixer *mixer );
 
-/*
- Px_GetNumMixers returns the number of mixers which could be
- used with the given PortAudio device.  On most systems, there
- will be only one mixer for each device; however there may be
- multiple mixers for each device, or possibly multiple mixers
- which are independent of any particular PortAudio device.
-*/
+/** @brief  Px_GetNumMixers returns the number of mixers which could be used
+ * with the given PortAudio device.
+ *
+ * On most systems, there will be only one mixer for each device; however
+ * there may be multiple mixers for each device, or possibly multiple mixers
+ * which are independent of any particular PortAudio device. */
 
 int Px_GetNumMixers( PxMixer *mixer );
 const char *Px_GetMixerName( PxMixer *mixer, int i );
diff --git a/lib-src/portmixer/portaudio.patch b/lib-src/portmixer/portaudio.patch
index 510adce..006f3da 100644
--- a/lib-src/portmixer/portaudio.patch
+++ b/lib-src/portmixer/portaudio.patch
@@ -6,7 +6,7 @@ diff -ur -N --exclude CVS --exclude .svn --exclude Makefile.in --exclude Makefil
 +#define PA_UNIX_OSS_H
 +
 +/*
-+ * $Id: portaudio.patch,v 1.9 2008/12/31 15:44:56 richardash1981 Exp $
++ * $Id: portaudio.patch,v 1.10 2009/06/30 04:52:59 llucius Exp $
 + * PortAudio Portable Real-Time Audio Library
 + * OSS-specific extensions
 + *
@@ -58,7 +58,7 @@ diff -ur -N --exclude CVS --exclude .svn --exclude Makefile.in --exclude Makefil
 +#define PA_UNIX_OSS_H
 +
 +/*
-+ * $Id: portaudio.patch,v 1.9 2008/12/31 15:44:56 richardash1981 Exp $
++ * $Id: portaudio.patch,v 1.10 2009/06/30 04:52:59 llucius Exp $
 + * PortAudio Portable Real-Time Audio Library
 + * OSS-specific extensions
 + *
@@ -341,3 +341,61 @@ diff -ur -N --exclude CVS --exclude .svn --exclude Makefile.in --exclude Makefil
 +
 +   return NULL;
 +}
+diff -ur -N --exclude CVS --exclude .svn --exclude Makefile.in --exclude Makefile --exclude aclocal.m4 --exclude configure --exclude 'config.*' --exclude '*.patch' --exclude ltmain.sh --exclude autom4te.cache ../../../portaudio/src/hostapi/oss/pa_unix_oss.c portaudio-v19/src/hostapi/oss/pa_unix_oss.c
+--- ../../../portaudio/src/hostapi/alsa/pa_linux_alsa.c	2008-03-18 11:27:43.000000000 +0000
++++ portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c	2008-03-18 11:39:39.000000000 +0000
+@@ -1,5 +1,5 @@
+ /*
+- * $Id: portaudio.patch,v 1.10 2009/06/30 04:52:59 llucius Exp $
++ * $Id: portaudio.patch,v 1.10 2009/06/30 04:52:59 llucius Exp $
+  * PortAudio Portable Real-Time Audio Library
+  * Latest Version at: http://www.portaudio.com
+  * ALSA implementation by Joshua Haberman and Arve Knudsen
+@@ -134,6 +134,7 @@
+     StreamDirection streamDir;
+ 
+     snd_pcm_channel_area_t *channelAreas;  /* Needed for channel adaption */
++    int card;
+ } PaAlsaStreamComponent;
+ 
+ /* Implementation specific stream structure */
+@@ -1161,6 +1162,7 @@
+ {
+     PaError result = paNoError;
+     PaSampleFormat userSampleFormat = params->sampleFormat, hostSampleFormat;
++    snd_pcm_info_t* pcmInfo;
+     assert( params->channelCount > 0 );
+ 
+     /* Make sure things have an initial value */
+@@ -1181,6 +1183,9 @@
+     self->device = params->device;
+ 
+     PA_ENSURE( AlsaOpen( &alsaApi->baseHostApiRep, params, streamDir, &self->pcm ) );
++
++    snd_pcm_info_alloca( &pcmInfo );
++    self->card = snd_pcm_info_get_card( pcmInfo );
+     self->nfds = snd_pcm_poll_descriptors_count( self->pcm );
+     hostSampleFormat = PaUtil_SelectClosestAvailableFormat( GetAvailableFormats( self->pcm ), userSampleFormat );
+ 
+@@ -3646,9 +3651,7 @@
+     /* XXX: More descriptive error? */
+     PA_UNLESS( stream->capture.pcm, paDeviceUnavailable );
+ 
+-    snd_pcm_info_alloca( &pcmInfo );
+-    PA_ENSURE( snd_pcm_info( stream->capture.pcm, pcmInfo ) );
+-    *card = snd_pcm_info_get_card( pcmInfo );
++    *card = stream->capture.card;
+ 
+ error:
+     return result;
+@@ -3664,9 +3667,7 @@
+     /* XXX: More descriptive error? */
+     PA_UNLESS( stream->playback.pcm, paDeviceUnavailable );
+ 
+-    snd_pcm_info_alloca( &pcmInfo );
+-    PA_ENSURE( snd_pcm_info( stream->playback.pcm, pcmInfo ) );
+-    *card = snd_pcm_info_get_card( pcmInfo );
++    *card = stream->playback.card;
+ 
+ error:
+     return result;
diff --git a/lib-src/portmixer/px_common/portmixer.h b/lib-src/portmixer/px_common/portmixer.h
deleted file mode 100644
index d09dea8..0000000
--- a/lib-src/portmixer/px_common/portmixer.h
+++ /dev/null
@@ -1,138 +0,0 @@
-#ifndef PORT_MIXER_H
-#define PORT_MIXER_H
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-
-/*
- * PortMixer
- * PortMixer API Header File
- *
- * Copyright (c) 2002
- *
- * Written by Dominic Mazzoni
- *
- * PortMixer is intended to work side-by-side with PortAudio,
- * the Portable Real-Time Audio Library by Ross Bencina and
- * Phil Burk.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Any person wishing to distribute modifications to the Software is
- * requested to send the modifications to the original developer so that
- * they can be incorporated into the canonical version.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#include "portaudio.h"
-
-typedef void PxMixer;
-
-typedef float PxVolume; /* 0.0 (min) --> 1.0 (max) */
-typedef float PxBalance; /* -1.0 (left) --> 1.0 (right) */
-
-/*
- Px_GetNumMixers returns the number of mixers which could be
- used with the given PortAudio device.  On most systems, there
- will be only one mixer for each device; however there may be
- multiple mixers for each device, or possibly multiple mixers
- which are independent of any particular PortAudio device.
-*/
-
-int Px_GetNumMixers( void *pa_stream );
-const char *Px_GetMixerName( void *pa_stream, int i );
-
-/*
- Px_OpenMixer() returns a mixer which will work with the given PortAudio
- audio device.  Pass 0 as the index for the first (default) mixer.
-*/
-
-PxMixer *Px_OpenMixer( void *pa_stream, int i );
-
-/*
- Px_CloseMixer() closes a mixer opened using Px_OpenMixer and frees any
- memory associated with it. 
-*/
-
-void Px_CloseMixer(PxMixer *mixer);
-
-/*
- Master (output) volume
-*/
-
-PxVolume Px_GetMasterVolume( PxMixer *mixer );
-void Px_SetMasterVolume( PxMixer *mixer, PxVolume volume );
-
-/*
- Main output volume
-*/
-
-PxVolume Px_GetPCMOutputVolume( PxMixer *mixer );
-void Px_SetPCMOutputVolume( PxMixer *mixer, PxVolume volume );
-int Px_SupportsPCMOutputVolume( PxMixer* mixer ) ;
-
-/*
- All output volumes
-*/
-
-int Px_GetNumOutputVolumes( PxMixer *mixer );
-const char *Px_GetOutputVolumeName( PxMixer *mixer, int i );
-PxVolume Px_GetOutputVolume( PxMixer *mixer, int i );
-void Px_SetOutputVolume( PxMixer *mixer, int i, PxVolume volume );
-
-/*
- Input source
-*/
-
-int Px_GetNumInputSources( PxMixer *mixer );
-const char *Px_GetInputSourceName( PxMixer *mixer, int i);
-int Px_GetCurrentInputSource( PxMixer *mixer ); /* may return -1 == none */
-void Px_SetCurrentInputSource( PxMixer *mixer, int i );
-
-/*
- Input volume
-*/
-
-PxVolume Px_GetInputVolume( PxMixer *mixer );
-void Px_SetInputVolume( PxMixer *mixer, PxVolume volume );
-
-/*
-  Balance
-*/
-
-int Px_SupportsOutputBalance( PxMixer *mixer );
-PxBalance Px_GetOutputBalance( PxMixer *mixer );
-void Px_SetOutputBalance( PxMixer *mixer, PxBalance balance );
-
-/*
-  Playthrough
-*/
-
-int Px_SupportsPlaythrough( PxMixer *mixer );
-PxVolume Px_GetPlaythrough( PxMixer *mixer );
-void Px_SetPlaythrough( PxMixer *mixer, PxVolume volume );
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif /* PORT_AUDIO_H */
diff --git a/lib-src/portmixer/px_mac/px_mac.c b/lib-src/portmixer/px_mac/px_mac.c
deleted file mode 100755
index 8d1f474..0000000
--- a/lib-src/portmixer/px_mac/px_mac.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * PortMixer
- * Mac OS 9 implementation
- *
- * Copyright (c) 2002
- *
- * Written by Dominic Mazzoni
- *
- * PortMixer is intended to work side-by-side with PortAudio,
- * the Portable Real-Time Audio Library by Ross Bencina and
- * Phil Burk.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Any person wishing to distribute modifications to the Software is
- * requested to send the modifications to the original developer so that
- * they can be incorporated into the canonical version.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "portaudio.h"
-#include "pa_host.h"
-#include "portmixer.h"
-
-#define PA_MAX_NUM_HOST_BUFFERS           (16)   /* Do not exceed!! */
-
-typedef struct MultiBuffer
-{
-    char    *buffers[PA_MAX_NUM_HOST_BUFFERS];
-    int      numBuffers;
-    int      nextWrite;
-    int      nextRead;
-}
-MultiBuffer;
-
-/* Define structure to contain all Macintosh specific data. */
-typedef struct PaHostSoundControl
-{
-    UInt64                  pahsc_EntryCount;
-	double                  pahsc_InverseMicrosPerHostBuffer; /* 1/Microseconds of real-time audio per user buffer. */
-
-    /* Use char instead of Boolean for atomic operation. */
-    volatile char           pahsc_IsRecording;   /* Recording in progress. Set by foreground. Cleared by background. */
-    volatile char           pahsc_StopRecording; /* Signal sent to background. */
-    volatile char           pahsc_IfInsideCallback;
-    /* Input */
-    SPB                     pahsc_InputParams;
-    SICompletionUPP         pahsc_InputCompletionProc;
-    MultiBuffer             pahsc_InputMultiBuffer;
-    int32                   pahsc_BytesPerInputHostBuffer;
-    int32                   pahsc_InputRefNum;
-    /* Output */
-    CmpSoundHeader          pahsc_SoundHeaders[PA_MAX_NUM_HOST_BUFFERS];
-    int32                   pahsc_BytesPerOutputHostBuffer;
-    SndChannelPtr           pahsc_Channel;
-    SndCallBackUPP          pahsc_OutputCompletionProc;
-    int32                   pahsc_NumOutsQueued;
-    int32                   pahsc_NumOutsPlayed;
-    PaTimestamp             pahsc_NumFramesDone;
-    UInt64                  pahsc_WhenFramesDoneIncremented;
-    /* Init Time -------------- */
-    int32                   pahsc_NumHostBuffers;
-    int32                   pahsc_FramesPerHostBuffer;
-    int32                   pahsc_UserBuffersPerHostBuffer;
-    int32                   pahsc_MinFramesPerHostBuffer; /* Can vary depending on virtual memory usage. */
-}
-PaHostSoundControl;
-
-typedef struct PxSource
-{
-   char name[256];
-} PxSource;
-
-typedef struct PxInfo
-{
-   SPB           *input;
-   int32          inputRefNum;
-   SndChannelPtr  output;
-   int32          numSources;
-   PxSource      *sources;
-} PxInfo;
-
-int Px_GetNumMixers( void *pa_stream )
-{
-   return 0;
-}
-
-const char *Px_GetMixerName( void *pa_stream, int index )
-{
-   return "Mac Sound Manager";
-}
-
-PxMixer *Px_OpenMixer( void *pa_stream, int index )
-{
-   PxInfo                      *info;
-   internalPortAudioStream     *past;
-   PaHostSoundControl          *macInfo;
-   OSErr                        err;
-   int                          i, j;
-   Handle                       h;
-   unsigned char               *data;
-   
-   info = (PxInfo *)malloc(sizeof(PxInfo));   
-   past = (internalPortAudioStream *) pa_stream;
-   macInfo = (PaHostSoundControl *) past->past_DeviceData;
-
-   info->input = &macInfo->pahsc_InputParams;
-   info->inputRefNum = macInfo->pahsc_InputRefNum;
-   info->output = macInfo->pahsc_Channel;
-
-   info->numSources = 0;
-   info->sources = NULL;
-   
-   err = SPBGetDeviceInfo (info->inputRefNum, siInputSourceNames, &h);
-   if (err)
-      return (PxMixer *)info;
-   
-   HLock(h);
-   HNoPurge(h);
-   
-   data = (unsigned char *)*h;
-   info->numSources = ((short *)data)[0];
-   if (info->numSources <= 0 || info->numSources > 50) {
-      HUnlock(h);
-      return (PxMixer *)info;
-   }
-   
-   info->sources = (PxSource *)malloc(info->numSources * sizeof(PxSource));
-   data += 2;
-   for(i=0; i<info->numSources; i++) {
-      int len = *data++;
-      
-      if (len > 63) {
-         info->numSources = 0;
-         free(info->sources);
-         info->sources = NULL;
-         HUnlock(h);
-         return (PxMixer *)info;
-      }
-
-      for(j=0; j<len; j++)
-         info->sources[i].name[j] = *data++;
-
-      info->sources[i].name[len] = 0;
-   }
-   HUnlock(h);
-   
-   return (PxMixer *)info;
-}
-
-/*
- Px_CloseMixer() closes a mixer opened using Px_OpenMixer and frees any
- memory associated with it. 
-*/
-
-void Px_CloseMixer(PxMixer *mixer)
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   if (info->sources)
-      free(info->sources);
-   free(info);
-}
-
-/*
- Master (output) volume
-*/
-
-PxVolume Px_GetMasterVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0.0;
-}
-
-void Px_SetMasterVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- PCM output volume
-*/
-
-int Px_SupportsPCMOutputVolume( PxMixer* mixer ) 
-{
-	return 1 ; 
-}
-
-PxVolume Px_GetPCMOutputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSErr err;
-   long packedVol;
-   SndCommand cmd;
-
-   cmd.cmd = getVolumeCmd;
-   cmd.param1 = 0;
-   cmd.param2 = (long)&packedVol;
-   
-   err = SndDoImmediate(info->output, &cmd);
-   if (err)
-      return 0.0;
-   
-   return ((packedVol & 0xFFFF) + ((packedVol & 0xFFFF0000) >> 16) / 2.0) / 256.0;
-}
-
-void Px_SetPCMOutputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSErr err;
-   long packedVol;
-   SndCommand cmd;
-
-   packedVol = (unsigned long)volume * 256.0;
-   packedVol += (packedVol << 16);
-   
-   cmd.cmd = volumeCmd;
-   cmd.param1 = 0;
-   cmd.param2 = packedVol;
-   err = SndDoImmediate(info->output, &cmd);
-}
-
-/*
- All output volumes
-*/
-
-int Px_GetNumOutputVolumes( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0;
-}
-
-const char *Px_GetOutputVolumeName( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   return NULL;
-}
-
-PxVolume Px_GetOutputVolume( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return NULL;
-}
-
-void Px_SetOutputVolume( PxMixer *mixer, int i, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- Input sources
-*/
-
-int Px_GetNumInputSources( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   return info->numSources;
-}
-
-const char *Px_GetInputSourceName( PxMixer *mixer, int i)
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   if (i >= 0 && i < info->numSources)
-      return info->sources[i].name;
-   else
-      return "";
-}
-
-int Px_GetCurrentInputSource( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   short selected;
-   OSErr err;
-
-   err = SPBGetDeviceInfo (info->inputRefNum, siInputSource, &selected);
-   if (err)
-      return 0;
-
-   return selected - 1;
-}
-
-void Px_SetCurrentInputSource( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   short selected = i+1;
-   OSErr err;
-   
-   err = SPBSetDeviceInfo (info->inputRefNum, siInputSource, &selected);
-}
-
-/*
- Input volume
-*/
-
-PxVolume Px_GetInputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   Fixed fixedGain;
-   PxVolume vol;
-   OSErr err;
-   
-   if (info->input) {
-      err = SPBGetDeviceInfo(info->inputRefNum, siInputGain, (Ptr)&fixedGain);
-      if (err)
-         return 0.0;
-      
-      vol = (fixedGain / 65536.0) - 0.5;
-      return vol;
-   }
-
-   return 0.0;
-}
-
-void Px_SetInputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   Fixed fixedGain;
-   OSErr err;
-   
-   if (info->input) {
-      fixedGain = (Fixed)((volume + 0.5) * 65536.0);
-      err = SPBSetDeviceInfo(info->inputRefNum, siInputGain, (Ptr)&fixedGain);
-   }
-}
-
-/*
-  Balance
-*/
-
-int Px_SupportsOutputBalance( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxBalance Px_GetOutputBalance( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetOutputBalance( PxMixer *mixer, PxBalance balance )
-{
-}
-
-/*
-  Playthrough
-*/
-
-int Px_SupportsPlaythrough( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return (info->input != NULL);
-}
-
-PxVolume Px_GetPlaythrough( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSErr err;
-   short level;
-
-   err = SPBGetDeviceInfo(info->inputRefNum, siPlayThruOnOff, (Ptr)&level);
-   if (err)
-      return 0.0;
-
-   if (level < 0)
-      level = 0;
-   if (level > 7)
-      level = 7;
-   
-   return (PxVolume)(level / 7.0);
-}
-
-void Px_SetPlaythrough( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSErr err;
-   short level = (int)(volume * 7.0 + 0.5);
-
-   err = SPBSetDeviceInfo(info->inputRefNum, siPlayThruOnOff, (Ptr)&level);
-}
diff --git a/lib-src/portmixer/px_mac_core/px_mac_core.c b/lib-src/portmixer/px_mac_core/px_mac_core.c
deleted file mode 100755
index b311ced..0000000
--- a/lib-src/portmixer/px_mac_core/px_mac_core.c
+++ /dev/null
@@ -1,528 +0,0 @@
-/*
- * PortMixer
- * Mac OS X / CoreAudio implementation
- *
- * Copyright (c) 2002
- *
- * Written by Dominic Mazzoni
- *
- * PortMixer is intended to work side-by-side with PortAudio,
- * the Portable Real-Time Audio Library by Ross Bencina and
- * Phil Burk.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Any person wishing to distribute modifications to the Software is
- * requested to send the modifications to the original developer so that
- * they can be incorporated into the canonical version.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#include <CoreServices/CoreServices.h>
-#include <CoreAudio/CoreAudio.h>
-#include <AudioToolbox/AudioConverter.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#include "portaudio.h"
-#include "portmixer.h"
-
-#if defined(PaStream)
-#define PA_V18
-#include "pa_host.h"
-#else
-#define PA_V19
-#include "pa_mac_core_internal.h"
-#endif
-
-typedef enum PaDeviceMode
-{
-    PA_MODE_OUTPUT_ONLY,
-    PA_MODE_INPUT_ONLY,
-    PA_MODE_IO_ONE_DEVICE,
-    PA_MODE_IO_TWO_DEVICES
-} PaDeviceMode;
-
-typedef struct PaHostInOut_s
-{
-    AudioDeviceID      audioDeviceID; /* CoreAudio specific ID */
-    int                bytesPerUserNativeBuffer; /* User buffer size in native host format. Depends on numChannels. */
-    AudioConverterRef  converter;
-    void              *converterBuffer;
-    int                numChannels;
-} PaHostInOut;
-
-/**************************************************************
- * Structure for internal host specific stream data.
- * This is allocated on a per stream basis.
- */
-typedef struct PaHostSoundControl
-{
-    PaHostInOut        input;
-    PaHostInOut        output;
-    AudioDeviceID      primaryDeviceID;
-} PaHostSoundControl;
-
-// define value of isInput passed to CoreAudio routines
-#define IS_INPUT    (true)
-#define IS_OUTPUT   (false)
-
-typedef struct PxInfo
-{
-   AudioDeviceID  input;
-   AudioDeviceID  output;
-   UInt32         *srcids;
-   char           **srcnames;
-   int            numsrcs;
-} PxInfo;
-
-static PxInfo *Px_FreeInfo( PxInfo *info )
-{
-   int i;
-
-   if (info) {
-      if (info->srcids) {
-         free(info->srcids);
-      }
-
-      if (info->srcnames) {
-         for (i = 0; i < info->numsrcs; i++) {
-            if (info->srcnames[i]) {
-               free(info->srcnames[i]);
-            }
-         }
-         free(info->srcnames);
-      }
-      free(info);
-   }
-
-   return NULL;
-}
-
-int Px_GetNumMixers( void *pa_stream )
-{
-   return 1;
-}
-
-const char *Px_GetMixerName( void *pa_stream, int index )
-{
-   return "CoreAudio";
-}
-
-PxMixer *Px_OpenMixer( void *pa_stream, int index )
-{
-   PxInfo                     *info;
-   PaHostSoundControl         *macInfo;
-   OSStatus                   err;
-   UInt32                     outSize;
-   UInt32                     inID;
-   int                        i;
-
-   info = (PxInfo *)calloc(1, sizeof(PxInfo));
-   if (!info) {
-      return (PxMixer *)info;
-   }
-
-#if defined(PA_V18)
-   internalPortAudioStream     *past;
-   
-   past = (internalPortAudioStream *) pa_stream;
-   macInfo = (PaHostSoundControl *) past->past_DeviceData;
-
-   info->input = macInfo->input.audioDeviceID;
-   info->output = macInfo->output.audioDeviceID;
-#endif
-
-#if defined(PA_V19)
-   PaMacCoreStream             *pamcs;
-   
-   pamcs = (PaMacCoreStream *) pa_stream;
-
-   info->input = pamcs->inputDevice;
-   info->output = pamcs->outputDevice;
-#endif 
-
-   if (info->input == kAudioDeviceUnknown) {
-      outSize = sizeof(AudioDeviceID);
-      err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice,
-                                     &outSize,
-                                     &info->input);
-      if (err) {
-         return Px_FreeInfo(info);
-      }
-   }
-
-   outSize = sizeof(UInt32);
-   err = AudioDeviceGetPropertyInfo(info->input,
-                                    0,
-                                    IS_INPUT,
-                                    kAudioDevicePropertyDataSources,
-                                    &outSize,
-                                    NULL);
-   if (err) {
-      return Px_FreeInfo(info);
-   }
-
-   info->numsrcs  = outSize / sizeof(UInt32);
-   info->srcids   = (UInt32 *)malloc(outSize);
-   info->srcnames = (char **)calloc(info->numsrcs, sizeof(char *));
-
-   if (info->srcids == NULL || info->srcnames == NULL) {
-      return Px_FreeInfo(info);
-   }
-
-   err = AudioDeviceGetProperty(info->input,
-                                0,
-                                IS_INPUT,
-                                kAudioDevicePropertyDataSources,
-                                &outSize,
-                                info->srcids);
-   if (err) {
-      return Px_FreeInfo(info);
-   }
-
-   for (i = 0; i < info->numsrcs; i++) {
-      AudioValueTranslation trans;
-      CFStringRef           name;
-      Boolean               ok;
-
-      trans.mInputData = &info->srcids[i];
-      trans.mInputDataSize = sizeof(UInt32);
-      trans.mOutputData = &name;
-      trans.mOutputDataSize = sizeof(CFStringRef);
-
-      outSize = sizeof(AudioValueTranslation);
-      err = AudioDeviceGetProperty(info->input,
-                                   0,
-                                   IS_INPUT,
-                                   kAudioDevicePropertyDataSourceNameForIDCFString,
-                                   &outSize,
-                                   &trans);
-      if (err) {
-         return Px_FreeInfo(info);
-      }
-
-      info->srcnames[i] = malloc(CFStringGetLength(name)+1);
-      if (info->srcnames[i] == NULL) {
-         return Px_FreeInfo(info);
-      }
-
-      ok = CFStringGetCString(name,
-                              info->srcnames[i],
-                              CFStringGetLength(name)+1,
-                              kCFStringEncodingISOLatin1);
-      if (!ok) {
-         return Px_FreeInfo(info);
-      }
-   }
-
-   return (PxMixer *)info;
-}
-
-/*
- Px_CloseMixer() closes a mixer opened using Px_OpenMixer and frees any
- memory associated with it. 
-*/
-
-void Px_CloseMixer(PxMixer *mixer)
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   Px_FreeInfo(info);
-}
-
-/*
- Master (output) volume
-*/
-
-PxVolume Px_GetMasterVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0.0;
-}
-
-void Px_SetMasterVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- PCM output volume
-*/
-
-static PxVolume Px_GetVolume(AudioDeviceID device, Boolean isInput)
-{
-   OSStatus err;
-   UInt32   outSize;
-   Float32  vol, maxvol=0.0;
-   UInt32   mute, anymuted=0;
-   int ch;
-   PxVolume max;
-
-   for(ch=0; ch<=2; ch++) {
-      outSize = sizeof(Float32);
-      err = AudioDeviceGetProperty(device, ch, isInput,
-                                   kAudioDevicePropertyVolumeScalar,
-                                   &outSize, &vol);
-      if (!err) {
-         if (vol > maxvol)
-            maxvol = vol;
-      }
-
-      outSize = sizeof(UInt32);
-      err = AudioDeviceGetProperty(device, ch, isInput,
-                                   kAudioDevicePropertyMute,
-                                   &outSize, &mute);
-
-      if (!err) {
-         if (mute)
-            anymuted = 1;
-      }
-   }
-
-   if (anymuted)
-      maxvol = 0.0;
-
-   return maxvol;
-}
-
-static void Px_SetVolume(AudioDeviceID device, Boolean isInput,
-                         PxVolume volume)
-{
-   Float32  vol = volume;
-   UInt32 mute = 0;
-   int ch;
-   OSStatus err;
-
-   /* Implement a passive attitude towards muting.  If they
-      drag the volume above 0.05, unmute it.  But if they
-      drag the volume down below that, just set the volume,
-      don't actually mute.
-   */
-
-   for(ch=0; ch<=2; ch++) {
-      err =  AudioDeviceSetProperty(device, 0, ch, isInput,
-                                    kAudioDevicePropertyVolumeScalar,
-                                    sizeof(Float32), &vol);
-      if (vol > 0.05) {
-         err =  AudioDeviceSetProperty(device, 0, ch, isInput,
-                                       kAudioDevicePropertyMute,
-                                       sizeof(UInt32), &mute);
-      }
-   }
-}
-
-int Px_SupportsPCMOutputVolume( PxMixer* mixer ) 
-{
-	return 1 ;
-}
-
-PxVolume Px_GetPCMOutputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return Px_GetVolume(info->output, IS_OUTPUT);
-}
-
-void Px_SetPCMOutputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   Px_SetVolume(info->output, IS_OUTPUT, volume);
-}
-
-/*
- All output volumes
-*/
-
-int Px_GetNumOutputVolumes( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 1;
-}
-
-const char *Px_GetOutputVolumeName( PxMixer *mixer, int i )
-{
-   if (i == 0)
-      return "PCM";
-   else
-      return "";
-}
-
-PxVolume Px_GetOutputVolume( PxMixer *mixer, int i )
-{
-   return Px_GetPCMOutputVolume(mixer);
-}
-
-void Px_SetOutputVolume( PxMixer *mixer, int i, PxVolume volume )
-{
-   Px_SetPCMOutputVolume(mixer, volume);
-}
-
-/*
- Input sources
-*/
-
-int Px_GetNumInputSources( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSStatus err;
-   UInt32   outSize;
-
-   return info->numsrcs;
-}
-
-const char *Px_GetInputSourceName( PxMixer *mixer, int i)
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   if (i >= info->numsrcs)
-      return "";
-
-   return info->srcnames[i];
-}
-
-int Px_GetCurrentInputSource( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSStatus err;
-   UInt32   outSize;
-   UInt32   outID = 0;
-   int      i;
-
-   outSize = sizeof(UInt32);
-   err = AudioDeviceGetProperty(info->input,
-                                0,
-                                IS_INPUT,
-                                kAudioDevicePropertyDataSource,
-                                &outSize,
-                                &outID);
-
-   if (!err) {
-      for (i = 0; i < info->numsrcs; i++) {
-         if (info->srcids[i] == outID) {
-            return i;
-         }
-      }
-   }
-
-   return -1;
-}
-
-void Px_SetCurrentInputSource( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSStatus err;
-
-   if (i >= info->numsrcs) {
-      return;
-   }
-
-   err = AudioDeviceSetProperty(info->input,
-                                0,
-                                0,
-                                IS_INPUT,
-                                kAudioDevicePropertyDataSource,
-                                sizeof(UInt32),
-                                &info->srcids[i]);
-
-   return;
-}
-
-/*
- Input volume
-*/
-
-PxVolume Px_GetInputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return Px_GetVolume(info->input, IS_INPUT);
-}
-
-void Px_SetInputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   Px_SetVolume(info->input, IS_INPUT, volume);
-}
-
-/*
-  Balance
-*/
-
-int Px_SupportsOutputBalance( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxBalance Px_GetOutputBalance( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetOutputBalance( PxMixer *mixer, PxBalance balance )
-{
-}
-
-/*
-  Playthrough
-*/
-
-int Px_SupportsPlaythrough( PxMixer *mixer )
-{
-   return 1;
-}
-
-PxVolume Px_GetPlaythrough( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   OSStatus err;
-   UInt32   outSize;
-   UInt32   flag;
-
-   outSize = sizeof(UInt32);
-   err =  AudioDeviceGetProperty(info->output, 0, IS_OUTPUT,
-                                 kAudioDevicePropertyPlayThru,
-                                 &outSize, &flag);
-   if (err)
-      return 0.0;
- 
-   if (flag)
-      return 1.0;
-   else
-      return 0.0;
-}
-
-void Px_SetPlaythrough( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   UInt32 flag = (volume > 0.01);
-   OSStatus err;
-
-   err =  AudioDeviceSetProperty(info->output, 0, 0, IS_OUTPUT,
-                                 kAudioDevicePropertyPlayThru,
-                                 sizeof(UInt32), &flag);
-}
-
diff --git a/lib-src/portmixer/px_none/px_none.c b/lib-src/portmixer/px_none/px_none.c
deleted file mode 100755
index f2a48b0..0000000
--- a/lib-src/portmixer/px_none/px_none.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * PortMixer
- * Empty implementation (as a placeholder on platforms where
- * it hasn't been implemented yet)
- *
- * Copyright (c) 2002
- *
- * Written by Dominic Mazzoni
- *
- * PortMixer is intended to work side-by-side with PortAudio,
- * the Portable Real-Time Audio Library by Ross Bencina and
- * Phil Burk.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Any person wishing to distribute modifications to the Software is
- * requested to send the modifications to the original developer so that
- * they can be incorporated into the canonical version.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#include <stdlib.h>
-
-#include "portaudio.h"
-#include "portmixer.h"
-
-typedef struct PxInfo
-{
-  int dummy;
-} PxInfo;
-
-int Px_GetNumMixers( void *pa_stream )
-{
-   return 0;
-}
-
-const char *Px_GetMixerName( void *pa_stream, int index )
-{
-   return NULL;
-}
-
-PxMixer *Px_OpenMixer( void *pa_stream, int index )
-{
-   return NULL;
-}
-
-/*
- Px_CloseMixer() closes a mixer opened using Px_OpenMixer and frees any
- memory associated with it. 
-*/
-
-void Px_CloseMixer(PxMixer *mixer)
-{
-}
-
-/*
- Master (output) volume
-*/
-
-PxVolume Px_GetMasterVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0.0;
-}
-
-void Px_SetMasterVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- PCM output volume
-*/
-
-PxVolume Px_GetPCMOutputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0.0;
-}
-
-void Px_SetPCMOutputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- All output volumes
-*/
-
-int Px_GetNumOutputVolumes( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0;
-}
-
-const char *Px_GetOutputVolumeName( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   return NULL;
-}
-
-PxVolume Px_GetOutputVolume( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return NULL;
-}
-
-void Px_SetOutputVolume( PxMixer *mixer, int i, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- Input sources
-*/
-
-int Px_GetNumInputSources( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0;
-}
-
-const char *Px_GetInputSourceName( PxMixer *mixer, int i)
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return NULL;
-}
-
-int Px_GetCurrentInputSource( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return -1; /* none */
-}
-
-void Px_SetCurrentInputSource( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
- Input volume
-*/
-
-PxVolume Px_GetInputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 0.0;
-}
-
-void Px_SetInputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-}
-
-/*
-  Balance
-*/
-
-int Px_SupportsOutputBalance( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxBalance Px_GetOutputBalance( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetOutputBalance( PxMixer *mixer, PxBalance balance )
-{
-}
-
-/*
-  Playthrough
-*/
-
-int Px_SupportsPlaythrough( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxBalance Px_GetPlaythrough( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetPlaythrough( PxMixer *mixer, PxBalance balance )
-{
-}
-
diff --git a/lib-src/portmixer/px_unix_oss/px_unix_oss.c b/lib-src/portmixer/px_unix_oss/px_unix_oss.c
deleted file mode 100755
index d9d452b..0000000
--- a/lib-src/portmixer/px_unix_oss/px_unix_oss.c
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * PortMixer
- * Unix OSS Implementation
- *
- * Copyright (c) 2002
- *
- * Written by Dominic Mazzoni
- *
- * PortMixer is intended to work side-by-side with PortAudio,
- * the Portable Real-Time Audio Library by Ross Bencina and
- * Phil Burk.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Any person wishing to distribute modifications to the Software is
- * requested to send the modifications to the original developer so that
- * they can be incorporated into the canonical version.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#if defined(__linux__)
-#include <linux/soundcard.h>
-#elif defined(__FreeBSD__)
-#include <sys/soundcard.h>
-#else
-#include <machine/soundcard.h> /* JH20010905 */
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-
-#include "portaudio.h"
-#include "portmixer.h"
-
-typedef struct PxInfo
-{
-   int index;
-   int fd;
-
-   int num_out;
-   int outs[SOUND_MIXER_NRDEVICES];
-   int num_rec;
-   int recs[SOUND_MIXER_NRDEVICES];
-} PxInfo;
-
-char PxDevice[20] = "/dev/mixerX";
-
-int PxNumDevices = 0;
-int PxDevices[10];
-
-int Px_GetNumMixers( void *pa_stream )
-{
-   int i;
-   int fd;
-
-   PxNumDevices = 0;
-
-   for(i=0; i<11; i++) {
-      if (i==0)
-         PxDevice[10] = 0;
-      else
-         PxDevice[10] = '0'+(i-1);
-      fd = open(PxDevice, O_RDWR);
-      if (fd >= 0) {
-         PxDevices[PxNumDevices] = i;
-         PxNumDevices++;
-         close(fd);
-      }
-   }
-
-   return PxNumDevices;
-}
-
-const char *Px_GetMixerName( void *pa_stream, int index )
-{
-   if (PxNumDevices <= 0)
-      Px_GetNumMixers(pa_stream);
-
-   if (index < 0 || index >= PxNumDevices)
-      return NULL;
-
-   if (PxDevices[index]==0)
-      PxDevice[10] = 0;
-   else
-      PxDevice[10] = '0'+(PxDevices[index]-1);
-   return PxDevice;
-}
-
-PxMixer *Px_OpenMixer( void *pa_stream, int index )
-{
-   PxInfo *info;
-   int devmask, recmask, outmask;
-   int i;
-
-   if (PxNumDevices <= 0)
-      Px_GetNumMixers(pa_stream);
-
-   if (index < 0 || index >= PxNumDevices)
-      return NULL;
-
-   info = (PxInfo *)malloc(sizeof(PxInfo));
-   info->index = PxDevice[index];
-
-   if (PxDevices[index]==0)
-      PxDevice[10] = 0;
-   else
-      PxDevice[10] = '0'+(PxDevices[index]-1);
-   info->fd = open(PxDevice, O_RDWR);
-   if (info->fd < 0)
-      goto bad;
-
-   if (ioctl(info->fd, MIXER_READ(SOUND_MIXER_READ_DEVMASK),
-             &devmask) == -1)
-      goto bad;
-   if (ioctl(info->fd, MIXER_READ(SOUND_MIXER_READ_RECMASK),
-             &recmask) == -1)
-      goto bad;
-   outmask = devmask ^ recmask;
-
-   info->num_out = 0;
-   info->num_rec = 0;
-
-   for(i=0; i<SOUND_MIXER_NRDEVICES; i++)
-      if (recmask & (1<<i))
-         info->recs[info->num_rec++] = i;
-      else if (devmask & (1<<i))
-         info->outs[info->num_out++] = i;
-
-   return (PxMixer *)info;
-
- bad:
-   free(info);
-   return NULL;
-}
-
-/*
- Px_CloseMixer() closes a mixer opened using Px_OpenMixer and frees any
- memory associated with it. 
-*/
-
-void Px_CloseMixer(PxMixer *mixer)
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   close(info->fd);
-
-   free(info);
-}
-
-PxVolume GetVolume(int fd, int channel)
-{
-   int vol;
-   int stereo;
-
-   if (ioctl(fd, SOUND_MIXER_READ_STEREODEVS, &stereo) == 0)
-      stereo = ((stereo & (1 << channel)) != 0);
-   else
-      stereo = 0;
-   
-   if (ioctl(fd, MIXER_READ(channel), &vol) == -1)
-      return 0.0;
-
-   if (stereo)
-      return ((vol & 0xFF)/200.0) + (((vol>>8) & 0xFF)/200.0);
-   else
-      return (vol & 0xFF)/100.0;
-}
-
-/*
- Master (output) volume
-*/
-
-PxVolume Px_GetMasterVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return GetVolume(info->fd, SOUND_MIXER_VOLUME);
-}
-
-void Px_SetMasterVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   int vol = (int)((volume * 100.0) + 0.5);
-   vol = (vol | (vol<<8));
-   ioctl(info->fd, MIXER_WRITE(SOUND_MIXER_VOLUME), &vol);
-}
-
-/*
- PCM output volume
-*/
-
-int Px_SupportsPCMOutputVolume( PxMixer* mixer ) 
-{
-	return 1 ;
-}
-
-PxVolume Px_GetPCMOutputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return GetVolume(info->fd, SOUND_MIXER_PCM);
-}
-
-void Px_SetPCMOutputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   int vol = (int)((volume * 100.0) + 0.5);
-   vol = (vol | (vol<<8));
-   ioctl(info->fd, MIXER_WRITE(SOUND_MIXER_PCM), &vol);
-}
-
-/*
- All output volumes
-*/
-
-int Px_GetNumOutputVolumes( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return info->num_out;
-}
-
-const char *Px_GetOutputVolumeName( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   const char *labels[] = SOUND_DEVICE_LABELS;
-
-   return labels[info->outs[i]];
-}
-
-PxVolume Px_GetOutputVolume( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return GetVolume(info->fd, info->outs[i]);
-}
-
-void Px_SetOutputVolume( PxMixer *mixer, int i, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   int vol = (int)((volume * 100.0) + 0.5);
-   vol = (vol | (vol<<8));
-   ioctl(info->fd, MIXER_WRITE(info->outs[i]), &vol);
-}
-
-/*
- Input sources
-*/
-
-int Px_GetNumInputSources( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   return info->num_rec;
-}
-
-const char *Px_GetInputSourceName( PxMixer *mixer, int i)
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   const char *labels[] = SOUND_DEVICE_LABELS;
-   return labels[info->recs[i]];
-}
-
-int Px_GetCurrentInputSource( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   int recmask;
-   int i;
-
-   /* Note that there may be more than one in OSS; we pick
-      the first one */
-
-   if (ioctl(info->fd, MIXER_READ(SOUND_MIXER_READ_RECSRC),
-             &recmask) == -1)
-      return -1; /* none / error */
-
-   for(i=0; i<info->num_rec; i++)
-      if (recmask & (1 << (info->recs[i])))
-         return i;
-
-   return -1; /* none */
-}
-
-void Px_SetCurrentInputSource( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   int newrecsrcmask = (1 << (info->recs[i]));
-
-   ioctl(info->fd, MIXER_WRITE(SOUND_MIXER_READ_RECSRC),
-         &newrecsrcmask);
-}
-
-/*
- Input volume
-*/
-
-PxVolume Px_GetInputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   int i;
-   
-   i = Px_GetCurrentInputSource(mixer);
-   if (i < 0)
-      return 0.0;
-
-   return GetVolume(info->fd, info->recs[i]);
-}
-
-void Px_SetInputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   int vol;
-   int i;
-
-   i = Px_GetCurrentInputSource(mixer);
-   if (i < 0)
-      return;
-
-   vol = (int)((volume * 100.0) + 0.5);
-   vol = (vol | (vol<<8));
-   ioctl(info->fd, MIXER_WRITE(info->recs[i]), &vol);
-}
-
-/*
-  Balance
-*/
-
-int Px_SupportsOutputBalance( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxBalance Px_GetOutputBalance( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetOutputBalance( PxMixer *mixer, PxBalance balance )
-{
-}
-
-/*
-  Playthrough
-*/
-
-int Px_SupportsPlaythrough( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxVolume Px_GetPlaythrough( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetPlaythrough( PxMixer *mixer, PxVolume volume )
-{
-}
-
diff --git a/lib-src/portmixer/px_win_wmme/px_win_wmme.c b/lib-src/portmixer/px_win_wmme/px_win_wmme.c
deleted file mode 100755
index 2733fbb..0000000
--- a/lib-src/portmixer/px_win_wmme/px_win_wmme.c
+++ /dev/null
@@ -1,622 +0,0 @@
-/*
- * PortMixer
- * Windows WMME Implementation
- *
- * Copyright (c) 2002
- *
- * Written by Dominic Mazzoni and Augustus Saunders
- *
- * PortMixer is intended to work side-by-side with PortAudio,
- * the Portable Real-Time Audio Library by Ross Bencina and
- * Phil Burk.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Any person wishing to distribute modifications to the Software is
- * requested to send the modifications to the original developer so that
- * they can be incorporated into the canonical version.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#include <Windows.h>
-
-#include "portaudio.h"
-#include "portmixer.h"
-
-#if defined(PaStream)
-#define PA_V18
-#else
-#define PA_V19
-#endif
-
-#if defined(PA_V18)
-#include "pa_host.h"
-
-typedef struct PaWMMEStreamData
-{
-    /* Input -------------- */
-    HWAVEIN            hWaveIn;
-    WAVEHDR           *inputBuffers;
-    int                currentInputBuffer;
-    int                bytesPerHostInputBuffer;
-    int                bytesPerUserInputBuffer;    /* native buffer size in bytes */
-    /* Output -------------- */
-    HWAVEOUT           hWaveOut;
-} PaWMMEStreamData;
-#endif
-
-#if defined(PA_V19)
-#include "pa_cpuload.h"
-#include "pa_process.h"
-#include "pa_stream.h"
-
-typedef struct
-{
-    HANDLE bufferEvent;
-    void *waveHandles;
-    unsigned int deviceCount;
-    /* unsigned int channelCount; */
-    WAVEHDR **waveHeaders;                  /* waveHeaders[device][buffer] */
-    unsigned int bufferCount;
-    unsigned int currentBufferIndex;
-    unsigned int framesPerBuffer;
-    unsigned int framesUsedInCurrentBuffer;
-}PaWinMmeSingleDirectionHandlesAndBuffers;
-
-/* PaWinMmeStream - a stream data structure specifically for this implementation */
-/* note that struct PaWinMmeStream is typedeffed to PaWinMmeStream above. */
-struct PaWinMmeStream
-{
-    PaUtilStreamRepresentation streamRepresentation;
-    PaUtilCpuLoadMeasurer cpuLoadMeasurer;
-    PaUtilBufferProcessor bufferProcessor;
-
-    int primeStreamUsingCallback;
-
-    PaWinMmeSingleDirectionHandlesAndBuffers input;
-    PaWinMmeSingleDirectionHandlesAndBuffers output;
-
-    /* Processing thread management -------------- */
-    HANDLE abortEvent;
-    HANDLE processingThread;
-    DWORD processingThreadId;
-
-    char throttleProcessingThreadOnOverload; /* 0 -> don't throtte, non-0 -> throttle */
-    int processingThreadPriority;
-    int highThreadPriority;
-    int throttledThreadPriority;
-    unsigned long throttledSleepMsecs;
-
-    int isStopped;
-    volatile int isActive;
-    volatile int stopProcessing; /* stop thread once existing buffers have been returned */
-    volatile int abortProcessing; /* stop thread immediately */
-
-    DWORD allBuffersDurationMs; /* used to calculate timeouts */
-};
-#endif
-
-typedef struct PxSrcInfo
-{
-   char  name[256];
-   DWORD lineID;
-   DWORD controlID;
-} PxSrcInfo;
-
-typedef struct PxInfo
-{
-   HMIXEROBJ   hInputMixer;
-   HMIXEROBJ   hOutputMixer;
-   int         numInputs;
-   PxSrcInfo   src[32];
-   DWORD       muxID;
-   DWORD       speakerID;
-   DWORD       waveID;
-} PxInfo;
-
-int Px_GetNumMixers( void *pa_stream )
-{
-   return 1;
-}
-
-const char *Px_GetMixerName( void *pa_stream, int index )
-{
-   return "Mixer";
-}
-
-PxMixer *Px_OpenMixer( void *pa_stream, int index )
-{
-#if defined(PA_V18)
-   internalPortAudioStream     *past;
-   PaWMMEStreamData            *wmmeStreamData;
-#endif
-
-#if defined(PA_V19)
-   struct PaWinMmeStream       *past;
-#endif
-
-   HWAVEIN                      hWaveIn;
-   HWAVEOUT                     hWaveOut;
-   PxInfo                      *mixer;
-   MMRESULT                     result;
-   MIXERLINE                    line;
-   MIXERLINECONTROLS            controls;
-   MIXERCONTROL                 control;
-   MIXERCONTROLDETAILS          details;
-   MIXERCONTROLDETAILS_LISTTEXT mixList[32];
-   int                          j;
-
-   if (!pa_stream)
-      return NULL;
-
-   mixer = (PxMixer *)malloc(sizeof(PxInfo));
-   mixer->hInputMixer = NULL;
-   mixer->hOutputMixer = NULL;
-
-#if defined(PA_V18)
-   past = (internalPortAudioStream *) pa_stream;
-   wmmeStreamData = (PaWMMEStreamData *) past->past_DeviceData;
-
-   hWaveIn = wmmeStreamData->hWaveIn;
-   hWaveOut = wmmeStreamData->hWaveOut;
-#endif
-
-#if defined(PA_V19)
-   past = (struct PaWinMmeStream *) pa_stream;
-
-   hWaveIn = 0;
-   if (past->input.waveHandles) {
-      hWaveIn = ((HWAVEIN *)past->input.waveHandles)[0];
-   }
-
-   hWaveOut = 0;
-   if (past->output.waveHandles) {
-      hWaveOut = ((HWAVEOUT *)past->output.waveHandles)[0];
-   }
-#endif
-
-   if (hWaveIn) {
-      result = mixerOpen((HMIXER *)&mixer->hInputMixer, (UINT)hWaveIn, 0, 0, MIXER_OBJECTF_HWAVEIN);
-      if (result != MMSYSERR_NOERROR) {
-         free(mixer);
-         return NULL;
-      }
-   }
-
-   if (hWaveOut) {
-      result = mixerOpen((HMIXER *)&mixer->hOutputMixer, (UINT)hWaveOut, 0, 0, MIXER_OBJECTF_HWAVEOUT);
-      if (result != MMSYSERR_NOERROR) {
-         free(mixer);
-         return NULL;
-      }
-   }
-
-   mixer->numInputs = 0;
-   mixer->muxID = 0;
-
-	/* ??? win32 default for wave control seems to be 0 ??? */
-	mixer->waveID = 0 ; 
-
-   /*
-    * Find the input source selector (mux or mixer) and
-    * get the names and IDs of all of the input sources
-    */
-
-   if (mixer->hInputMixer) {
-      line.cbStruct = sizeof(MIXERLINE);
-      line.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_WAVEIN;
-      result = mixerGetLineInfo(mixer->hInputMixer,
-                                &line,
-                                MIXER_GETLINEINFOF_COMPONENTTYPE);
-      if (result == MMSYSERR_NOERROR) {
-
-         controls.cbStruct = sizeof(MIXERLINECONTROLS);
-         controls.dwLineID = line.dwLineID;
-         controls.dwControlType = MIXERCONTROL_CONTROLTYPE_MUX;
-         controls.cbmxctrl = sizeof(MIXERCONTROL);
-         controls.pamxctrl = &control;
-
-         control.cbStruct = sizeof(MIXERCONTROL);
-
-         result = mixerGetLineControls(mixer->hInputMixer,
-                                       &controls,
-                                       MIXER_GETLINECONTROLSF_ONEBYTYPE);
-
-         if (result != MMSYSERR_NOERROR) {
-            controls.dwControlType = MIXERCONTROL_CONTROLTYPE_MIXER;
-            result = mixerGetLineControls(mixer->hInputMixer,
-                                          &controls,
-                                          MIXER_GETLINECONTROLSF_ONEBYTYPE);
-         }
-
-         if (result == MMSYSERR_NOERROR) {
-            mixer->numInputs = control.cMultipleItems;
-            mixer->muxID = control.dwControlID;
-
-            details.cbStruct = sizeof(MIXERCONTROLDETAILS);
-            details.dwControlID = mixer->muxID;
-            details.cChannels = 1;
-            details.cbDetails = sizeof(MIXERCONTROLDETAILS_LISTTEXT);
-            details.paDetails = (LPMIXERCONTROLDETAILS_LISTTEXT)&mixList[0];
-            details.cMultipleItems = mixer->numInputs;
-
-            result = mixerGetControlDetails(mixer->hInputMixer,
-                                            (LPMIXERCONTROLDETAILS)&details,
-                                            MIXER_GETCONTROLDETAILSF_LISTTEXT);
-
-            if (result != MMSYSERR_NOERROR)
-               mixer->numInputs = 0;
-
-            for(j=0; j<mixer->numInputs; j++) {
-               mixer->src[j].lineID = mixList[j].dwParam1;
-               strcpy(mixer->src[j].name, mixList[j].szName);
-            }
-         }
-
-         /*
-          * We've found the names - now we need to find the volume
-          * controls for each one
-          */
-
-         for(j=0; j<mixer->numInputs; j++) {
-            controls.cbStruct = sizeof(MIXERLINECONTROLS);
-            controls.dwLineID = mixer->src[j].lineID;
-            controls.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME;
-            controls.cbmxctrl = sizeof(MIXERCONTROL);
-            controls.pamxctrl = &control;
-
-            control.cbStruct = sizeof(MIXERCONTROL);
-
-            result = mixerGetLineControls(mixer->hInputMixer,
-                                          &controls,
-                                          MIXER_GETLINECONTROLSF_ONEBYTYPE);
-            if (result == MMSYSERR_NOERROR)
-               mixer->src[j].controlID = control.dwControlID;
-            else
-               mixer->src[j].controlID = 0;
-         }
-      }
-   }
-
-   /*
-    * Find the ID of the output speaker volume control
-    */
-
-   mixer->speakerID = 0;
-   
-   if (mixer->hOutputMixer) {
-      line.cbStruct = sizeof(MIXERLINE);
-      line.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
-      result = mixerGetLineInfo(mixer->hOutputMixer,
-                                &line,
-                                MIXER_GETLINEINFOF_COMPONENTTYPE);
-      if (result == MMSYSERR_NOERROR) {
-         controls.cbStruct = sizeof(MIXERLINECONTROLS);
-         controls.dwLineID = line.dwLineID;
-         controls.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME;
-         controls.cbmxctrl = sizeof(MIXERCONTROL);
-         controls.pamxctrl = &control;
-
-         control.cbStruct = sizeof(MIXERCONTROL);
-
-         result = mixerGetLineControls(mixer->hOutputMixer,
-                                       &controls,
-                                       MIXER_GETLINECONTROLSF_ONEBYTYPE);
-
-         if (result == MMSYSERR_NOERROR)
-            mixer->speakerID = control.dwControlID;
-      }
-   }
-
-   return (PxMixer *)mixer;
-}
-
-void VolumeFunction(HMIXEROBJ hMixer, DWORD controlID, PxVolume *volume)
-{
-   MIXERCONTROLDETAILS details;
-   MMRESULT result;
-   MIXERCONTROLDETAILS_UNSIGNED value;
-
-   memset(&value, 0, sizeof(MIXERCONTROLDETAILS_UNSIGNED));
-
-   details.cbStruct = sizeof(MIXERCONTROLDETAILS);
-   details.dwControlID = controlID;
-   details.cChannels = 1; /* all channels */
-   details.cMultipleItems = 0;
-   details.cbDetails = sizeof(MIXERCONTROLDETAILS_UNSIGNED);
-   details.paDetails = &value;
-
-   result = mixerGetControlDetails(hMixer, &details,
-                                   MIXER_GETCONTROLDETAILSF_VALUE);
-
-   if (*volume < 0.0) {
-      *volume = (PxVolume)(value.dwValue / 65535.0);
-   }
-   else {
-      if (result != MMSYSERR_NOERROR)
-         return;
-      value.dwValue = (unsigned short)(*volume * 65535.0);
-      mixerSetControlDetails(hMixer, &details,
-                             MIXER_GETCONTROLDETAILSF_VALUE);
-   }
-}
-
-/*
- Px_CloseMixer() closes a mixer opened using Px_OpenMixer and frees any
- memory associated with it. 
-*/
-
-void Px_CloseMixer(PxMixer *mixer)
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   if (info->hInputMixer)
-      mixerClose((HMIXER)info->hInputMixer);
-   if (info->hOutputMixer)
-      mixerClose((HMIXER)info->hOutputMixer);
-   free( mixer );
-}
-
-/*
- Master (output) volume
-*/
-
-PxVolume Px_GetMasterVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   PxVolume vol;
-
-   vol = -1.0;
-   VolumeFunction(info->hOutputMixer, info->speakerID, &vol);
-   return vol;
-}
-
-void Px_SetMasterVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   VolumeFunction(info->hOutputMixer, info->speakerID, &volume);
-}
-
-/*
- PCM output volume
-*/
-
-int Px_SupportsPCMOutputVolume( PxMixer* mixer ) 
-{
-	PxInfo* info = ( PxInfo* )( mixer ) ;
-	return ( info->waveID == -1 ) ? 0 : 1 ;
-}
-
-PxVolume Px_GetPCMOutputVolume( PxMixer *mixer )
-{
-  MMRESULT result;
-  DWORD vol = 0;
-  unsigned short mono_vol = 0;
-  PxInfo *info = (PxInfo *)mixer;
-
-	/* invalid waveID, return zero */
-	if ( info->waveID == -1 )
-		return 0.0 ;
-
-	/* get the wave output volume */
-	result = waveOutGetVolume( (HWAVEOUT)( info->waveID ), &vol);
-
-	/* on failure, mark waveID as invalid and return zero */
-	if ( result != MMSYSERR_NOERROR )
-	{
-		info->waveID = -1 ;
-		return 0.0 ;
-	}
-
-  mono_vol = (unsigned short)vol;
-  return (PxVolume)mono_vol/65535.0;
-}
-
-void Px_SetPCMOutputVolume( PxMixer *mixer, PxVolume volume )
-{
-	MMRESULT result;
-	PxInfo *info = (PxInfo *)mixer;
-
-	/* invalid waveID */
-	if ( info->waveID == -1 )
-		return ;
-
-	/* set the wave output volume */
-	result = waveOutSetVolume( (HWAVEOUT)( info->waveID ), MAKELONG(volume*0xFFFF, volume*0xFFFF));
-
-	/* on failure, mark waveID as invalid  */
-	if ( result != MMSYSERR_NOERROR )
-	{
-		info->waveID = -1 ;
-	}
-
-	return ;
-}
-
-/*
- All output volumes
-*/
-
-int Px_GetNumOutputVolumes( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   return 2;
-}
-
-const char *Px_GetOutputVolumeName( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   if (i==1)
-      return "Wave Out";
-   else
-      return "Master Volume";
-}
-
-PxVolume Px_GetOutputVolume( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   if (i==1)
-      return Px_GetPCMOutputVolume(mixer);
-   else
-      return Px_GetMasterVolume(mixer);
-}
-
-void Px_SetOutputVolume( PxMixer *mixer, int i, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-
-   if (i==1)
-      Px_SetPCMOutputVolume(mixer, volume);
-   else
-      Px_SetMasterVolume(mixer, volume);
-}
-
-/*
- Input sources
-*/
-
-int Px_GetNumInputSources( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   return info->numInputs;
-}
-
-const char *Px_GetInputSourceName( PxMixer *mixer, int i)
-{
-   PxInfo *info = (PxInfo *)mixer;
-   
-   return info->src[i].name;
-}
-
-int Px_GetCurrentInputSource( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   MIXERCONTROLDETAILS details;
-   MIXERCONTROLDETAILS_BOOLEAN flags[32];
-   MMRESULT result;
-   int i;
-
-   details.cbStruct = sizeof(MIXERCONTROLDETAILS);
-   details.dwControlID = info->muxID;
-   details.cMultipleItems = info->numInputs;
-   details.cChannels = 1;   
-   details.cbDetails = sizeof(MIXERCONTROLDETAILS_BOOLEAN);
-   details.paDetails = (LPMIXERCONTROLDETAILS_BOOLEAN)&flags[0];
-
-   result = mixerGetControlDetails(info->hInputMixer,
-                                   (LPMIXERCONTROLDETAILS)&details,
-                                   MIXER_GETCONTROLDETAILSF_VALUE);
-
-   if (result == MMSYSERR_NOERROR) {
-      for(i=0; i<info->numInputs; i++)
-         if (flags[i].fValue)
-            return i;
-   }
-
-   return 0;
-}
-
-void Px_SetCurrentInputSource( PxMixer *mixer, int i )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   MIXERCONTROLDETAILS details;
-   MIXERCONTROLDETAILS_BOOLEAN flags[32];
-   MMRESULT result;
-   int j;
-
-   details.cbStruct = sizeof(MIXERCONTROLDETAILS);
-   details.dwControlID = info->muxID;
-   details.cMultipleItems = info->numInputs;
-   details.cChannels = 1;   
-   details.cbDetails = sizeof(MIXERCONTROLDETAILS_BOOLEAN);
-   details.paDetails = (LPMIXERCONTROLDETAILS_BOOLEAN)&flags[0];
-
-   for(j=0; j<info->numInputs; j++)
-      flags[j].fValue = (i == j);
-
-   result = mixerSetControlDetails(info->hInputMixer,
-                                   (LPMIXERCONTROLDETAILS)&details,
-                                   MIXER_SETCONTROLDETAILSF_VALUE);
-}
-
-/*
- Input volume
-*/
-
-PxVolume Px_GetInputVolume( PxMixer *mixer )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   PxVolume vol;
-   int src = Px_GetCurrentInputSource(mixer);
-
-   vol = -1.0;
-   VolumeFunction(info->hInputMixer, info->src[src].controlID, &vol);
-   return vol;
-}
-
-void Px_SetInputVolume( PxMixer *mixer, PxVolume volume )
-{
-   PxInfo *info = (PxInfo *)mixer;
-   int src = Px_GetCurrentInputSource(mixer);
-
-   VolumeFunction(info->hInputMixer, info->src[src].controlID, &volume);
-}
-
-/*
-  Balance
-*/
-
-int Px_SupportsOutputBalance( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxBalance Px_GetOutputBalance( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetOutputBalance( PxMixer *mixer, PxBalance balance )
-{
-}
-
-/*
-  Playthrough
-*/
-
-int Px_SupportsPlaythrough( PxMixer *mixer )
-{
-   return 0;
-}
-
-PxVolume Px_GetPlaythrough( PxMixer *mixer )
-{
-   return 0.0;
-}
-
-void Px_SetPlaythrough( PxMixer *mixer, PxVolume volume )
-{
-}
-
diff --git a/lib-src/portmixer/src/px_linux_alsa.c b/lib-src/portmixer/src/px_linux_alsa.c
index 9608a79..be33a92 100644
--- a/lib-src/portmixer/src/px_linux_alsa.c
+++ b/lib-src/portmixer/src/px_linux_alsa.c
@@ -56,8 +56,10 @@
 
 typedef struct PxSelem
 {
-   snd_mixer_selem_id_t *sid;
    snd_mixer_elem_t *elem;
+   snd_mixer_elem_t *vol;
+   unsigned int index;
+   unsigned int item;
    char *name;
 } PxSelem;
 
@@ -65,6 +67,8 @@ typedef struct PxDev
 {
    snd_mixer_t *handle;
    int card;
+   int playback;
+   int source;
 
    int numselems;
    PxSelem *selems;
@@ -75,23 +79,28 @@ typedef struct PxInfo
    int numMixers;
    char *mixers;
 
-   PxDev capture;
    PxDev playback;
+   PxDev capture;
 } PxInfo;
 
 static int open_mixer(PxDev *dev, int card, int playback)
 {
-   snd_mixer_elem_t *elem;
-   char name[256];
-   int err;
-   int i;
-
-   sprintf(name, "hw:%d", card);
-
-   dev->card = card;
-   dev->handle = NULL;
-
    do {
+      snd_mixer_selem_id_t *sid;
+      snd_mixer_elem_t *elem;
+      char name[256];
+      int err;
+      int i;
+   
+      snd_mixer_selem_id_alloca(&sid);
+   
+      sprintf(name, "hw:%d", card);
+   
+      dev->card = card;
+      dev->handle = NULL;
+      dev->playback = playback;
+      dev->source = -1;
+   
       err = snd_mixer_open(&dev->handle, 0);
       if (err < 0) {
          break;
@@ -116,21 +125,20 @@ static int open_mixer(PxDev *dev, int card, int playback)
            elem != NULL;
            elem = snd_mixer_elem_next(elem))
       {
-         if (!playback) {
-            if (!snd_mixer_selem_has_capture_volume(elem) &&
-                !snd_mixer_selem_has_capture_switch(elem) &&
-                !snd_mixer_selem_has_common_volume(elem)) {
-               continue;
+         if (playback) {
+            if (snd_mixer_selem_has_common_volume(elem) ||
+                snd_mixer_selem_has_playback_volume(elem)) {
+               dev->numselems++;
             }
          }
          else {
-            if (!snd_mixer_selem_has_playback_volume(elem) &&
-                !snd_mixer_selem_has_playback_switch(elem) &&
-                !snd_mixer_selem_has_common_volume(elem)) {
-               continue;
+            if (snd_mixer_selem_get_capture_group(elem) >= 0) {
+               dev->numselems++;
+            }
+            else if (snd_mixer_selem_is_enum_capture(elem)) {
+               dev->numselems += snd_mixer_selem_get_enum_items(elem);
             }
          }
-         dev->numselems++;
       }
 
       dev->selems = calloc(dev->numselems, sizeof(PxSelem));
@@ -138,57 +146,125 @@ static int open_mixer(PxDev *dev, int card, int playback)
          break;
       }
 
+
       i = 0;
       for (elem = snd_mixer_first_elem(dev->handle);
            elem != NULL;
            elem = snd_mixer_elem_next(elem))
       {
-         if (!playback) {
-            if (!snd_mixer_selem_has_capture_volume(elem) &&
-                !snd_mixer_selem_has_capture_switch(elem) &&
-                !snd_mixer_selem_has_common_volume(elem)) {
-               continue;
+         snd_mixer_elem_t *vol;
+         int ndx;
+
+         if (playback) {
+            if (snd_mixer_selem_has_common_volume(elem) ||
+                snd_mixer_selem_has_playback_volume(elem)) {
+               snprintf(name,
+                        sizeof(name),
+                        "%s:%d",
+                        snd_mixer_selem_get_name(elem),
+                        snd_mixer_selem_get_index(elem));
+      
+               dev->selems[i].elem = elem;
+               dev->selems[i].index = snd_mixer_selem_get_index(elem);
+               dev->selems[i].name = strdup(name);
+               if (!dev->selems[i].name) {
+                  break;
+               }
+               i++;
             }
+            continue;
          }
-         else {
-            if (!snd_mixer_selem_has_playback_volume(elem) &&
-                !snd_mixer_selem_has_playback_switch(elem) &&
-                !snd_mixer_selem_has_common_volume(elem)) {
-               continue;
+
+         snd_mixer_selem_id_set_name(sid, "Capture");
+         snd_mixer_selem_id_set_index(sid, snd_mixer_selem_get_index(elem));
+         vol = snd_mixer_find_selem(dev->handle, sid);
+
+         if (snd_mixer_selem_get_capture_group(elem) >= 0) {
+            snprintf(name,
+                     sizeof(name),
+                     "%s:%d",
+                     snd_mixer_selem_get_name(elem),
+                     snd_mixer_selem_get_index(elem));
+
+            dev->selems[i].vol = vol;
+            dev->selems[i].elem = elem;
+            dev->selems[i].index = snd_mixer_selem_get_index(elem);
+            dev->selems[i].name = strdup(name);
+            if (!dev->selems[i].name) {
+               break;
             }
+            i++;
          }
-               
-         if (snd_mixer_selem_id_malloc(&dev->selems[i].sid) < 0) {
-            break;
+         else if (snd_mixer_selem_is_enum_capture(elem)) {
+            unsigned int cnt = snd_mixer_selem_get_enum_items(elem);
+            unsigned int j;
+
+            for (j = 0; j < cnt; j++) {
+               char iname[256];
+               snd_mixer_selem_get_enum_item_name(elem, j, sizeof(iname), iname);
+               snprintf(name,
+                        sizeof(name),
+                        "%s:%d",
+                        iname,
+                        snd_mixer_selem_get_index(elem));
+
+               dev->selems[i].vol = vol;
+               dev->selems[i].item = j;
+               dev->selems[i].elem = elem;
+               dev->selems[i].index = snd_mixer_selem_get_index(elem);
+               dev->selems[i].name = strdup(name);
+               if (!dev->selems[i].name) {
+                  break;
+               }
+               i++;
+            }
          }
+      }
 
-         snd_mixer_selem_get_id(elem, dev->selems[i].sid);
-         dev->selems[i].elem = elem;
+      if (i != dev->numselems) {
+         break;
+      }
 
-         snprintf(name,
-                  sizeof(name),
-                  "%s:%d",
-                  snd_mixer_selem_id_get_name(dev->selems[i].sid),
-                  snd_mixer_selem_id_get_index(dev->selems[i].sid));
+      if (playback) {
+         return TRUE;
+      }
 
-         dev->selems[i].name = strdup(name);
-         if (!dev->selems[i].name) {
+      for (i = 0; i < dev->numselems; i++) {
+         elem = dev->selems[i].elem;
+         if (snd_mixer_selem_get_capture_group(elem) >= 0) {
+            int sw = 0;
+            if (snd_mixer_selem_get_capture_switch(elem, SND_MIXER_SCHN_FRONT_LEFT, &sw) < 0) {
+               continue;
+            }
+            if (!sw) {
+               continue;
+            }
+            dev->source = i;
             break;
          }
-         i++;
+         else if (snd_mixer_selem_is_enum_capture(elem)) {
+            unsigned int src;
+            if (snd_mixer_selem_get_enum_item(elem, SND_MIXER_SCHN_FRONT_LEFT, &src) < 0) {
+               continue;
+            }
+            if (src == dev->selems[i].item) {
+               dev->source = i;
+               break;
+            }
+         }
       }
 
-      if (i == dev->numselems) {
-         return TRUE;
+      if (dev->source == -1) {
+         dev->source = 0;
       }
 
+      return TRUE;
+
    } while (FALSE);
 
    if (dev->selems) {
+      int i;
       for (i = 0; i < dev->numselems; i++) {
-         if (dev->selems[i].sid) {
-            snd_mixer_selem_id_free(dev->selems[i].sid);
-         }
          if (dev->selems[i].name) {
             free(dev->selems[i].name);
          }
@@ -274,9 +350,6 @@ static int cleanup(px_mixer *Px)
 
    if (info->capture.selems) {
       for (i = 0; i < info->capture.numselems; i++) {
-         if (info->capture.selems[i].sid) {
-            snd_mixer_selem_id_free(info->capture.selems[i].sid);
-         }
          if (info->capture.selems[i].name) {
             free(info->capture.selems[i].name);
          }
@@ -290,9 +363,6 @@ static int cleanup(px_mixer *Px)
 
    if (info->playback.selems) {
       for (i = 0; i < info->playback.numselems; i++) {
-         if (info->playback.selems[i].sid) {
-            snd_mixer_selem_id_free(info->playback.selems[i].sid);
-         }
          if (info->playback.selems[i].name) {
             free(info->playback.selems[i].name);
          }
@@ -312,7 +382,26 @@ static int cleanup(px_mixer *Px)
    return FALSE;
 }
 
-static PxVolume get_volume_indexed(PxDev *dev, int i, int playback)
+static int generic_lookup(PxDev *dev, const char *generic)
+{
+   snd_mixer_selem_id_t *id;
+   snd_mixer_elem_t *elem;
+   int i;
+
+   if (dev == NULL) {
+      return -1;
+   }
+
+   for (i = 0; i < dev->numselems; i++) {
+      if (strncmp(dev->selems[i].name, generic, strlen(generic)) == 0) {
+         return i;
+      }
+   }
+
+   return -1;
+}
+
+static PxVolume get_volume_indexed(PxDev *dev, int i)
 {
    snd_mixer_elem_t *elem;
    long vol, min, max;
@@ -326,7 +415,7 @@ static PxVolume get_volume_indexed(PxDev *dev, int i, int playback)
    }
 
    elem = dev->selems[i].elem;
-   if (playback) {
+   if (dev->playback) {
       snd_mixer_selem_get_playback_volume_range(elem, &min, &max);
       if (snd_mixer_selem_has_playback_channel(elem, SND_MIXER_SCHN_FRONT_LEFT)) {
          snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_FRONT_LEFT, &vol);
@@ -344,9 +433,8 @@ static PxVolume get_volume_indexed(PxDev *dev, int i, int playback)
    return 0.0;
 }
 
-static PxVolume get_volume(PxDev *dev, const char *name, int playback)
+static PxVolume get_volume(PxDev *dev, const char *name)
 {
-   const char *sname;
    int i;
 
    if (!dev->handle) {
@@ -354,16 +442,15 @@ static PxVolume get_volume(PxDev *dev, const char *name, int playback)
    }
 
    for (i = 0; i < dev->numselems; i++) {
-      sname = snd_mixer_selem_id_get_name(dev->selems[i].sid);
-      if (strcmp(sname, name) == 0) {
-         return get_volume_indexed(dev, i, playback);
+      if (strcmp(dev->selems[i].name, name) == 0) {
+         return get_volume_indexed(dev, i);
       }
    }
 
    return 0.0;
 }
 
-static void set_volume_indexed(PxDev *dev, int i, PxVolume volume, int playback)
+static void set_volume_indexed(PxDev *dev, int i, PxVolume volume)
 {
    snd_mixer_elem_t *elem;
    long vol, min, max;
@@ -378,7 +465,7 @@ static void set_volume_indexed(PxDev *dev, int i, PxVolume volume, int playback)
    }
 
    elem = dev->selems[i].elem;
-   if (playback) {
+   if (dev->playback) {
       snd_mixer_selem_get_playback_volume_range(elem, &min, &max);
       for (j = 0; j < SND_MIXER_SCHN_LAST; j++) {
          if (snd_mixer_selem_has_playback_channel(elem, j)) {
@@ -400,9 +487,8 @@ static void set_volume_indexed(PxDev *dev, int i, PxVolume volume, int playback)
    return;
 }
 
-static void set_volume(PxDev *dev, const char *name, PxVolume volume, int playback)
+static void set_volume(PxDev *dev, const char *name, PxVolume volume)
 {
-   const char *sname;
    int i;
 
    if (!dev->handle) {
@@ -410,9 +496,8 @@ static void set_volume(PxDev *dev, const char *name, PxVolume volume, int playba
    }
 
    for (i = 0; i < dev->numselems; i++) {
-      sname = snd_mixer_selem_id_get_name(dev->selems[i].sid);
-      if (strcmp(sname, name) == 0) {
-         set_volume_indexed(dev, i, volume, playback);
+      if (strcmp(dev->selems[i].name, name) == 0) {
+         set_volume_indexed(dev, i, volume);
          break;
       }
    }
@@ -430,42 +515,15 @@ static void close_mixer(px_mixer *Px)
 static int get_num_mixers(px_mixer *Px)
 {
    PxInfo *info = (PxInfo *)Px->info;
-   int i;
-   int fd;
-
-   info->numMixers = 0;
-#if 0
-   for (i = 0; i < MIXER_COUNT_MAX; i++) {
-      strcpy(info->mixers[i], MIXER_NAME_BASE);
-
-      if (i == 0)
-         info->mixers[i][strlen(MIXER_NAME_BASE)] = 0;
-      else
-         info->mixers[i][strlen(MIXER_NAME_BASE)] = '0' + (i - 1);
-         
-      fd = open(info->mixers[i], O_RDWR);
-      if (fd >= 0) {
-         info->mixerIndexes[info->numMixers] = i;
-         info->numMixers++;
-         close(fd);
-      }
-   }
-#endif
-   return info->numMixers;
+
+   return 1;
 }
 
 static const char *get_mixer_name(px_mixer *Px, int i)
 {
    PxInfo *info = (PxInfo *)Px->info;
-#if 0
-   if (info->numMixers <= 0)
-      get_num_mixers(Px);
 
-   if (i >= 0 && i < info->numMixers) {
-      return info->mixers[info->mixerIndexes[i]];
-   }
-#endif
-   return NULL;
+   return "ALSA";
 }
 
 /*
@@ -475,52 +533,53 @@ static const char *get_mixer_name(px_mixer *Px, int i)
 static PxVolume get_master_volume(px_mixer *Px)
 {
    PxInfo *info = (PxInfo *)Px->info;
+   PxDev *dev = &info->playback;
 
-   return get_volume(&info->playback, "Master", TRUE);
+   return get_volume_indexed(dev, generic_lookup(dev, "Master"));
 }
 
 static void set_master_volume(px_mixer *Px, PxVolume volume)
 {
    PxInfo *info = (PxInfo *)Px->info;
+   PxDev *dev = &info->playback;
+
+   set_volume_indexed(dev, generic_lookup(dev, "Master"), volume);
 
-   set_volume(&info->playback, "Master", volume, TRUE);
+   /* Ensure pending events are handled...otherwise, they build up */
+   snd_mixer_handle_events(info->capture.handle);
 
    return;
 }
 
-/*
+/* 
 || Main output volume
 */
 
 static int supports_pcm_output_volume(px_mixer *Px)
 {
    PxInfo *info = (PxInfo *)Px->info;
-   snd_mixer_selem_id_t *id;
-
-   if (info->playback.handle) {
-      snd_mixer_selem_id_alloca(&id);
-      snd_mixer_selem_id_set_name(id, "PCM");
-
-      if (snd_mixer_find_selem(info->playback.handle, id)) {
-         return TRUE;
-      }
-   }
+   PxDev *dev = &info->playback;
 
-   return FALSE;
+   return generic_lookup(dev, "PCM") != -1;
 }
 
 static PxVolume get_pcm_output_volume(px_mixer *Px)
 {
    PxInfo *info = (PxInfo *)Px->info;
+   PxDev *dev = &info->playback;
 
-   return get_volume(&info->playback, "PCM", TRUE);
+   return get_volume_indexed(dev, generic_lookup(dev, "PCM"));
 }
 
 static void set_pcm_output_volume(px_mixer *Px, PxVolume volume)
 {
    PxInfo *info = (PxInfo *)Px->info;
+   PxDev *dev = &info->playback;
+
+   set_volume_indexed(dev, generic_lookup(dev, "PCM"), volume);
 
-   set_volume(&info->playback, "PCM", volume, TRUE);
+   /* Ensure pending events are handled...otherwise, they build up */
+   snd_mixer_handle_events(info->capture.handle);
 
    return;
 }
@@ -543,9 +602,6 @@ static int get_num_output_volumes(px_mixer *Px)
 static const char *get_output_volume_name(px_mixer *Px, int i)
 {
    PxInfo *info = (PxInfo *)Px->info;
-   snd_mixer_elem_t *elem;
-   char name[64];
-   int ndx = 0;
 
    if (info->playback.handle) {
       if (i >= 0 && i < info->playback.numselems) {
@@ -560,14 +616,14 @@ static PxVolume get_output_volume(px_mixer *Px, int i)
 {
    PxInfo *info = (PxInfo *)Px->info;
 
-   return get_volume_indexed(&info->playback, i, TRUE);
+   return get_volume_indexed(&info->playback, i);
 }
 
 static void set_output_volume(px_mixer *Px, int i, PxVolume volume)
 {
    PxInfo *info = (PxInfo *)Px->info;
 
-   set_volume_indexed(&info->playback, i, volume, TRUE);
+   set_volume_indexed(&info->playback, i, volume);
 
    return;
 }
@@ -604,33 +660,19 @@ static int get_current_input_source(px_mixer *Px)
 {
    PxInfo *info = (PxInfo *)Px->info;
    snd_mixer_elem_t *elem;
-   int sw;
-   int i, j;
+   int i;
 
    if (!info->capture.handle) {
       return -1;
    }
 
-   for (i = 0; i < info->capture.numselems; i++) {
-      elem = info->capture.selems[i].elem;
-      for (j = 0; j <= SND_MIXER_SCHN_LAST; j++) {
-         if (snd_mixer_selem_has_capture_switch(elem)) {
-            snd_mixer_selem_get_capture_switch(elem, j, &sw);
-            if (sw) {
-               return i;
-            }
-         }
-      }
-   }
-
-   return -1; /* none */
+   return info->capture.source;
 }
 
 static void set_current_input_source(px_mixer *Px, int i)
 {
    PxInfo *info = (PxInfo *)Px->info;
    snd_mixer_elem_t *elem;
-   int j;
 
    if (!info->capture.handle) {
       return;
@@ -641,12 +683,23 @@ static void set_current_input_source(px_mixer *Px, int i)
    }
 
    elem = info->capture.selems[i].elem;
-   for (j = 0; j <= SND_MIXER_SCHN_LAST; j++) {
-      if (snd_mixer_selem_has_capture_switch(elem)) {
-         snd_mixer_selem_set_capture_switch(elem, j, TRUE);
+   if (snd_mixer_selem_get_capture_group(elem) >= 0) {
+      snd_mixer_selem_set_capture_switch_all(elem, TRUE);
+   }
+   else if (snd_mixer_selem_is_enum_capture(elem)) {
+      int j;
+      for (j = 0; j < SND_MIXER_SCHN_LAST; j++) {
+         snd_mixer_selem_set_enum_item(elem, j, info->capture.selems[i].item);
       }
    }
 
+   info->capture.source = i;
+
+   /* Ensure pending events are handled...otherwise, they build up */
+   snd_mixer_handle_events(info->capture.handle);
+
+   set_input_volume(Px, get_input_volume(Px));
+
    return;
 }
 
@@ -657,15 +710,57 @@ static void set_current_input_source(px_mixer *Px, int i)
 static PxVolume get_input_volume(px_mixer *Px)
 {
    PxInfo *info = (PxInfo *)Px->info;
+   snd_mixer_elem_t *elem;
+   long min;
+   long max;
+   long vol;
+   PxVolume volume = 0.0;
+
+   if (info->capture.source < 0) {
+      return volume;
+   }
+
+   elem = info->capture.selems[info->capture.source].vol;
+   if (!elem) {
+      return volume;
+   }
+
+   snd_mixer_selem_get_capture_volume_range(elem, &min, &max);
+   if (snd_mixer_selem_has_capture_channel(elem, SND_MIXER_SCHN_FRONT_LEFT)) {
+      snd_mixer_selem_get_capture_volume(elem, SND_MIXER_SCHN_FRONT_LEFT, &vol);
+      volume = ((PxVolume) vol) / (max - min);
+   }
 
-   return get_volume(&info->capture, "Capture", FALSE);
+   return volume;
 }
 
 static void set_input_volume(px_mixer *Px, PxVolume volume)
 {
    PxInfo *info = (PxInfo *)Px->info;
+   snd_mixer_elem_t *elem;
+   long min;
+   long max;
+   long vol;
+
+   if (info->capture.source < 0) {
+      return;
+   }
+
+   elem = info->capture.selems[info->capture.source].vol;
+   if (!elem) {
+      return;
+   }
+
+   snd_mixer_selem_get_capture_volume_range(elem, &min, &max);
+   vol = (long) (volume * (max - min) + 0.5);
+   snd_mixer_selem_set_capture_volume_all(elem, vol);
+
+   if (snd_mixer_selem_has_capture_switch(elem)) {
+      snd_mixer_selem_set_capture_switch_all(elem, vol > 0 ? TRUE : FALSE);
+   }
 
-   set_volume(&info->capture, "Capture", volume, FALSE);
+   /* Ensure pending events are handled...otherwise, they build up */
+   snd_mixer_handle_events(info->capture.handle);
 
    return;
 }
diff --git a/lib-src/portmixer/src/px_win_common.c b/lib-src/portmixer/src/px_win_common.c
index a859d15..ce09bb0 100644
--- a/lib-src/portmixer/src/px_win_common.c
+++ b/lib-src/portmixer/src/px_win_common.c
@@ -86,14 +86,14 @@ int open_mixers(px_mixer *Px, UINT deviceIn, UINT deviceOut)
    info->numInputs = 0;
    info->muxID = 0;
    info->speakerID = 0;
-	info->waveID = 0;
+   info->waveID = 0;
 
    if (deviceIn != UINT_MAX) {
       res = mixerOpen((LPHMIXER) &info->hInputMixer,
                       deviceIn,
                       0,
                       0,
-                      MIXER_OBJECTF_WAVEIN);
+                      MIXER_OBJECTF_MIXER);
       if (res != MMSYSERR_NOERROR) {
          return cleanup(Px);
       }
@@ -121,7 +121,7 @@ int open_mixers(px_mixer *Px, UINT deviceIn, UINT deviceOut)
                       deviceOut,
                       0,
                       0,
-                      MIXER_OBJECTF_WAVEOUT);
+                      MIXER_OBJECTF_MIXER);
       if (res != MMSYSERR_NOERROR) {
          return cleanup(Px);
       }
@@ -565,7 +565,7 @@ static int get_current_input_source(px_mixer *Px)
    MIXERCONTROLDETAILS_LISTTEXT *list;
    MIXERCONTROLDETAILS_BOOLEAN *flags;
    MMRESULT res;
-   int i = -1;
+   int i = 0;
    int j;
 
    if (!info->hInputMixer) {
diff --git a/lib-src/portmixer/src/px_win_ds.c b/lib-src/portmixer/src/px_win_ds.c
index 8dbc8a8..c151290 100644
--- a/lib-src/portmixer/src/px_win_ds.c
+++ b/lib-src/portmixer/src/px_win_ds.c
@@ -136,7 +136,12 @@ int OpenMixer_Win_DirectSound(px_mixer *Px, int index)
             break;
          }
 
-         deviceIn = desc.WaveDeviceId;
+         hr = mixerGetID((HMIXEROBJ) desc.WaveDeviceId,
+                         &deviceIn,
+                         MIXER_OBJECTF_WAVEIN);
+         if (hr != MMSYSERR_NOERROR) {
+           break;
+         }
       }
    
       if (guidOut) {
@@ -153,8 +158,13 @@ int OpenMixer_Win_DirectSound(px_mixer *Px, int index)
          if (FAILED(hr)) {
             break;
          }
-   
-         deviceOut = desc.WaveDeviceId;
+
+         hr = mixerGetID((HMIXEROBJ) desc.WaveDeviceId,
+                         &deviceOut,
+                         MIXER_OBJECTF_WAVEOUT);
+         if (hr != MMSYSERR_NOERROR) {
+           break;
+         }
       }
 
       if (open_mixers(Px, deviceIn, deviceOut))
diff --git a/lib-src/portmixer/winproj/portmixer.vcproj b/lib-src/portmixer/winproj/portmixer.vcproj
deleted file mode 100644
index 738aaaf..0000000
--- a/lib-src/portmixer/winproj/portmixer.vcproj
+++ /dev/null
@@ -1,670 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="portmixer"
-	ProjectGUID="{3A76129B-55AB-4D54-BAA7-08F63ED52569}"
-	RootNamespace="portmixer"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\$(ConfigurationName)"
-			IntermediateDirectory=".\$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/O2"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;PX_USE_WIN_MME"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixer.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /O2 /Ob1 /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;NDEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /GF /FD /EHsc /MT /Gy /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\$(ConfigurationName)"
-			IntermediateDirectory=".\$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;PX_USE_WIN_MME"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixerd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /Od /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /FD /EHsc /RTC1 /MTd /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /ZI /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Unicode_Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;PX_USE_WIN_MME"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixerud.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /Od /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /FD /EHsc /RTC1 /MTd /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /ZI /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Unicode_Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/O2"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;PX_USE_WIN_MME"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixeru.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /O2 /Ob1 /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;NDEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /GF /FD /EHsc /MT /Gy /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug DLL|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;PX_USE_WIN_MME"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixerd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /Od /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /FD /EHsc /RTC1 /MTd /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /ZI /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug wx284|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;PX_USE_WIN_MME"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixerd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /Od /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /FD /EHsc /RTC1 /MTd /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /ZI /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Modular_Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				CommandLine="echo // Automatically generated file &gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;IF NOT &quot;%DXSDK_DIR%&quot; == &quot;&quot; echo #define PX_USE_WIN_DSOUND 1 &gt;&gt;&quot;.\$(ConfigurationName)\config.h&quot;&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/O2"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\include;&quot;..\..\portaudio-v19\include&quot;"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;PX_USE_WIN_MME"
-				StringPooling="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/portmixer.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-				ForcedIncludeFiles="$(ProjectDir)\$(ConfigurationName)\config.h"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile=".\portmixer.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="set LIBS=&#x0D;&#x0A;&#x0D;&#x0A;if &quot;%DXSDK_DIR%&quot;==&quot;&quot; goto NoDX&#x0D;&#x0A;&#x0D;&#x0A;cl /O2 /Ob1 /I &quot;..\..\portaudio-v19\include&quot; /I &quot;..\include&quot; /I&quot;%DXSDK_DIR%include&quot; /D &quot;WIN32&quot; /D &quot;NDEBUG&quot; /D &quot;_LIB&quot; /D &quot;_MBCS&quot; /GF /FD /EHsc /MT /Gy /Fo&quot;.\$(OutDir)/&quot; /Fd&quot;.\$(OutDir)/&quot; /W3 /c /wd4996 &quot;..\src\px_win_ds.c&quot;&#x0D;&#x0A;&#x0D;&#x0A;set LIBS=&quot;%DXSDK_DIR%lib\x86\dxguid.lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;:NoDX&#x0D;&#x0A;&#x0D;&#x0A;lib /OUT:&quot;$(TargetPath)&quot; &quot;.\$(OutDir)\*.obj&quot; %LIBS%&#x0D;&#x0A;"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-			>
-			<File
-				RelativePath="..\src\px_mixer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\px_mixer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\px_win_common.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\px_win_common.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\px_win_ds.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Unicode_Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug DLL|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug wx284|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Modular_Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\px_win_wmme.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\include\portmixer.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/lib-src/portsmf/allegro.cpp b/lib-src/portsmf/allegro.cpp
index e10d447..e22e820 100644
--- a/lib-src/portsmf/allegro.cpp
+++ b/lib-src/portsmf/allegro.cpp
@@ -31,7 +31,8 @@ using namespace std;
 // 4267 is size_t to long warning
 #pragma warning(disable: 4311 4996 4267)
 Alg_atoms symbol_table;
-Serial_buffer Alg_track::ser_buf; // declare the static variable
+Serial_read_buffer Alg_track::ser_read_buf; // declare the static variables
+Serial_write_buffer Alg_track::ser_write_buf; 
 
 bool within(double d1, double d2, double epsilon)
 {
@@ -224,9 +225,9 @@ int Alg_event::get_type_code()
 {
     if (!is_note()) {
         const char* attr = get_attribute();
-        if (STREQL(attr, "gate"))         // volume change
+        if (STREQL(attr, "gater"))         // volume change
             return ALG_GATE;
-        if (STREQL(attr, "bend"))         // pitch bend     
+        if (STREQL(attr, "bendr"))         // pitch bend     
             return ALG_BEND;
         if (strncmp(attr, "control", 7) == 0)      // control change
             // note that midi control changes have attributes of the form
@@ -235,15 +236,15 @@ int Alg_event::get_type_code()
             // We don't check for decimal numbers in the range 0-127, so any
             // attribute that begins with "control" is an ALG_CONTROL:
             return ALG_CONTROL;
-        if (STREQL(attr, "program"))      // program change
+        if (STREQL(attr, "programi"))      // program change
             return ALG_PROGRAM;
-        if (STREQL(attr, "pressure"))    // pressure change
+        if (STREQL(attr, "pressurer"))    // pressure change
             return ALG_PRESSURE;
-        if (STREQL(attr, "keysig"))       // key signature  
+        if (STREQL(attr, "keysigi"))       // key signature  
             return ALG_KEYSIG;
-        if (STREQL(attr, "timesig_num"))  // time signature numerator
+        if (STREQL(attr, "timesig_numi"))  // time signature numerator
             return ALG_TIMESIG_NUM;
-        if (STREQL(attr, "timesig_den"))  // time signature denominator
+        if (STREQL(attr, "timesig_deni"))  // time signature denominator
             return ALG_TIMESIG_DEN;
         return ALG_OTHER;
     }
@@ -1277,22 +1278,22 @@ void Alg_track::serialize(void **buffer, long *bytes)
     //
     // The format for a track is given within the Seq format above
     assert(get_type() == 't');
-    ser_buf.init_for_write();
+    ser_write_buf.init_for_write();
     serialize_track();
-    *buffer = ser_buf.to_heap(bytes); 
+    *buffer = ser_write_buf.to_heap(bytes); 
 }
 
 
 void Alg_seq::serialize(void **buffer, long *bytes)
 {	
     assert(get_type() == 's');
-    ser_buf.init_for_write();
+    ser_write_buf.init_for_write();
     serialize_seq();
-    *buffer = ser_buf.to_heap(bytes); 
+    *buffer = ser_write_buf.to_heap(bytes); 
 }
 
 
-void Serial_buffer::check_buffer(long needed)
+void Serial_write_buffer::check_buffer(long needed)
 {
     if (len < (ptr - buffer) + needed) { // do we need more space?
         long new_len = len * 2; // exponential growth is important
@@ -1301,9 +1302,11 @@ void Serial_buffer::check_buffer(long needed)
          // make sure new_len is as big as needed
         if (needed > new_len) new_len = needed;
         char *new_buffer = new char[new_len]; // allocate space
-        memcpy(new_buffer, buffer, len); // copy from old buffer
         ptr = new_buffer + (ptr - buffer); // relocate ptr to new buffer
-        delete buffer; // free old buffer
+        if (len > 0) { // we had a buffer already
+            memcpy(new_buffer, buffer, len); // copy from old buffer
+            delete buffer; // free old buffer
+        }
         buffer = new_buffer; // update buffer information
         len = new_len;
     }
@@ -1316,38 +1319,38 @@ void Alg_seq::serialize_seq()
     // we can easily compute how much buffer space we need until we
     // get to tracks, so expand at least that much
     long needed = 64 + 16 * time_map->beats.len + 24 * time_sig.length();
-    ser_buf.check_buffer(needed);
-    ser_buf.set_char('A');
-    ser_buf.set_char('L');
-    ser_buf.set_char('G');
-    ser_buf.set_char('S');
-    long length_offset = ser_buf.get_posn();
-    ser_buf.set_int32(0); // leave room to come back and write length
-    ser_buf.set_int32(channel_offset_per_track);
-    ser_buf.set_int32(units_are_seconds);
-    ser_buf.set_double(beat_dur);
-    ser_buf.set_double(real_dur);
-    ser_buf.set_double(time_map->last_tempo);
-    ser_buf.set_int32(time_map->last_tempo_flag);
-    ser_buf.set_int32(time_map->beats.len);
+    ser_write_buf.check_buffer(needed);
+    ser_write_buf.set_char('A');
+    ser_write_buf.set_char('L');
+    ser_write_buf.set_char('G');
+    ser_write_buf.set_char('S');
+    long length_offset = ser_write_buf.get_posn();
+    ser_write_buf.set_int32(0); // leave room to come back and write length
+    ser_write_buf.set_int32(channel_offset_per_track);
+    ser_write_buf.set_int32(units_are_seconds);
+    ser_write_buf.set_double(beat_dur);
+    ser_write_buf.set_double(real_dur);
+    ser_write_buf.set_double(time_map->last_tempo);
+    ser_write_buf.set_int32(time_map->last_tempo_flag);
+    ser_write_buf.set_int32(time_map->beats.len);
     for (i = 0; i < time_map->beats.len; i++) {
-        ser_buf.set_double(time_map->beats[i].time);
-        ser_buf.set_double(time_map->beats[i].beat);
+        ser_write_buf.set_double(time_map->beats[i].time);
+        ser_write_buf.set_double(time_map->beats[i].beat);
     }
-    ser_buf.set_int32(time_sig.length());
-    ser_buf.pad();
+    ser_write_buf.set_int32(time_sig.length());
+    ser_write_buf.pad();
     for (i = 0; i < time_sig.length(); i++) {
-        ser_buf.set_double(time_sig[i].beat);
-        ser_buf.set_double(time_sig[i].num);
-        ser_buf.set_double(time_sig[i].den);
+        ser_write_buf.set_double(time_sig[i].beat);
+        ser_write_buf.set_double(time_sig[i].num);
+        ser_write_buf.set_double(time_sig[i].den);
     }
-    ser_buf.set_int32(tracks());
-    ser_buf.pad(); 
+    ser_write_buf.set_int32(tracks());
+    ser_write_buf.pad(); 
     for (i = 0; i < tracks(); i++) {
         track(i)->serialize_track();
     }
     // do not include ALGS, include padding at end
-    ser_buf.store_long(length_offset, ser_buf.get_posn() - length_offset);
+    ser_write_buf.store_long(length_offset, ser_write_buf.get_posn() - length_offset);
 }
 
 
@@ -1355,51 +1358,51 @@ void Alg_track::serialize_track()
 {
     // to simplify the code, copy from parameter addresses to locals
     int j;
-    ser_buf.check_buffer(32);
-    ser_buf.set_char('A');
-    ser_buf.set_char('L');
-    ser_buf.set_char('G');
-    ser_buf.set_char('T');
-    long length_offset = ser_buf.get_posn(); // save location for track length
-    ser_buf.set_int32(0); // room to write track length
-    ser_buf.set_int32(units_are_seconds);
-    ser_buf.set_double(beat_dur);
-    ser_buf.set_double(real_dur);
-    ser_buf.set_int32(len);
+    ser_write_buf.check_buffer(32);
+    ser_write_buf.set_char('A');
+    ser_write_buf.set_char('L');
+    ser_write_buf.set_char('G');
+    ser_write_buf.set_char('T');
+    long length_offset = ser_write_buf.get_posn(); // save location for track length
+    ser_write_buf.set_int32(0); // room to write track length
+    ser_write_buf.set_int32(units_are_seconds);
+    ser_write_buf.set_double(beat_dur);
+    ser_write_buf.set_double(real_dur);
+    ser_write_buf.set_int32(len);
     for (j = 0; j < len; j++) {
-        ser_buf.check_buffer(24);
+        ser_write_buf.check_buffer(24);
         Alg_event *event = (*this)[j];
-        ser_buf.set_int32(event->get_selected());
-        ser_buf.set_int32(event->get_type());
-        ser_buf.set_int32(event->get_identifier());
-        ser_buf.set_int32(event->chan);
-        ser_buf.set_double(event->time);
+        ser_write_buf.set_int32(event->get_selected());
+        ser_write_buf.set_int32(event->get_type());
+        ser_write_buf.set_int32(event->get_identifier());
+        ser_write_buf.set_int32(event->chan);
+        ser_write_buf.set_double(event->time);
         if (event->is_note()) {
-            ser_buf.check_buffer(20);
+            ser_write_buf.check_buffer(20);
             Alg_note *note = (Alg_note *) event;
-            ser_buf.set_float(note->pitch);
-            ser_buf.set_float(note->loud);
-            ser_buf.set_double(note->dur);
-            long parm_num_offset = ser_buf.get_posn();
+            ser_write_buf.set_float(note->pitch);
+            ser_write_buf.set_float(note->loud);
+            ser_write_buf.set_double(note->dur);
+            long parm_num_offset = ser_write_buf.get_posn();
             long parm_num = 0;
-            ser_buf.set_int32(0); // placeholder for no. parameters
+            ser_write_buf.set_int32(0); // placeholder for no. parameters
             Alg_parameters_ptr parms = note->parameters;
             while (parms) {
                 serialize_parameter(&(parms->parm));
                 parms = parms->next;
                 parm_num++;
             }
-            ser_buf.store_long(parm_num_offset, parm_num);
+            ser_write_buf.store_long(parm_num_offset, parm_num);
         } else {
             assert(event->is_update());
             Alg_update *update = (Alg_update *) event;
             serialize_parameter(&(update->parameter));
         }
-        ser_buf.check_buffer(7); // maximum padding possible
-        ser_buf.pad();
+        ser_write_buf.check_buffer(7); // maximum padding possible
+        ser_write_buf.pad();
     }
     // write length, not including ALGT, including padding at end
-    ser_buf.store_long(length_offset, ser_buf.get_posn() - length_offset);
+    ser_write_buf.store_long(length_offset, ser_write_buf.get_posn() - length_offset);
 }
 
 
@@ -1408,29 +1411,29 @@ void Alg_track::serialize_parameter(Alg_parameter *parm)
     // add eight to account for name + zero end-of-string and the
     // possibility of adding 7 padding bytes
     long len = strlen(parm->attr_name()) + 8;
-    ser_buf.check_buffer(len);
-    ser_buf.set_string(parm->attr_name());
-    ser_buf.pad();
+    ser_write_buf.check_buffer(len);
+    ser_write_buf.set_string(parm->attr_name());
+    ser_write_buf.pad();
     switch (parm->attr_type()) {
     case 'r':
-        ser_buf.check_buffer(8);
-        ser_buf.set_double(parm->r);
+        ser_write_buf.check_buffer(8);
+        ser_write_buf.set_double(parm->r);
         break;
     case 's':
-        ser_buf.check_buffer(strlen(parm->s) + 1);
-        ser_buf.set_string(parm->s);
+        ser_write_buf.check_buffer(strlen(parm->s) + 1);
+        ser_write_buf.set_string(parm->s);
         break;
     case 'i':
-        ser_buf.check_buffer(4);
-        ser_buf.set_int32(parm->i);
+        ser_write_buf.check_buffer(4);
+        ser_write_buf.set_int32(parm->i);
         break;
     case 'l':
-        ser_buf.check_buffer(4);
-        ser_buf.set_int32(parm->l);
+        ser_write_buf.check_buffer(4);
+        ser_write_buf.set_int32(parm->l);
         break;
     case 'a':
-        ser_buf.check_buffer(strlen(parm->a) + 1);
-        ser_buf.set_string(parm->a);
+        ser_write_buf.check_buffer(strlen(parm->a) + 1);
+        ser_write_buf.set_string(parm->a);
         break;
     }
 }
@@ -1440,57 +1443,69 @@ void Alg_track::serialize_parameter(Alg_parameter *parm)
 Alg_track *Alg_track::unserialize(void *buffer, long len)
 {
     assert(len > 8);
-    ser_buf.init_for_read(buffer, len);
-    bool alg = ser_buf.get_char() == 'A' &&
-               ser_buf.get_char() == 'L' &&
-               ser_buf.get_char() == 'G';
+    ser_read_buf.init_for_read(buffer, len);
+    bool alg = ser_read_buf.get_char() == 'A' &&
+               ser_read_buf.get_char() == 'L' &&
+               ser_read_buf.get_char() == 'G';
     assert(alg);
-    char c = ser_buf.get_char();
+    char c = ser_read_buf.get_char();
     if (c == 'S') {
         Alg_seq *seq = new Alg_seq;
+        ser_read_buf.unget_chars(4); // undo get_char() of A,L,G,S
         seq->unserialize_seq();
         return seq;
     } else {
         assert(c == 'T');
         Alg_track *track = new Alg_track;
+        ser_read_buf.unget_chars(4); // undo get_char() of A,L,G,T
         track->unserialize_track();
         return track;
     }
 }
 
 
+#pragma warning(disable: 4800) // long to bool performance warning
+
+/* Note: this Alg_seq must have a default initialized Alg_time_map.
+ * It will be filled in with data from the ser_read_buf buffer.
+ */
 void Alg_seq::unserialize_seq()
 {
-    ser_buf.check_input_buffer(28);
-    long len = ser_buf.get_int32();
-    assert(ser_buf.get_len() >= len);
-    channel_offset_per_track = ser_buf.get_int32();
-    units_are_seconds = (bool) ser_buf.get_int32();
-    beat_dur = ser_buf.get_double();
-    real_dur = ser_buf.get_double();
-    time_map = new Alg_time_map();
-    time_map->last_tempo = ser_buf.get_double();
-    time_map->last_tempo_flag = (bool) ser_buf.get_int32();
-    long beats = ser_buf.get_int32();
-    ser_buf.check_input_buffer(beats * 16 + 4);
+    ser_read_buf.check_input_buffer(48);
+    bool algs = (ser_read_buf.get_char() == 'A') &&
+                (ser_read_buf.get_char() == 'L') &&
+                (ser_read_buf.get_char() == 'G') &&
+                (ser_read_buf.get_char() == 'S');
+    assert(algs);
+    long len = ser_read_buf.get_int32();
+    assert(ser_read_buf.get_len() >= len);
+    channel_offset_per_track = ser_read_buf.get_int32();
+    units_are_seconds = ser_read_buf.get_int32() != 0;
+    beat_dur = ser_read_buf.get_double();
+    real_dur = ser_read_buf.get_double();
+    // no need to allocate an Alg_time_map since it's done during initialization
+    time_map->last_tempo = ser_read_buf.get_double();
+    time_map->last_tempo_flag = ser_read_buf.get_int32() != 0;
+    long beats = ser_read_buf.get_int32();
+    ser_read_buf.check_input_buffer(beats * 16 + 4);
     int i;
     for (i = 0; i < beats; i++) {
-        double time = ser_buf.get_double();
-        double beat = ser_buf.get_double();
+        double time = ser_read_buf.get_double();
+        double beat = ser_read_buf.get_double();
         time_map->insert_beat(time, beat);
         // printf("time_map: %g, %g\n", time, beat);
     }
-    long time_sig_len = ser_buf.get_int32();
-    ser_buf.get_pad();
-    ser_buf.check_input_buffer(time_sig_len * 24 + 8);
+    long time_sig_len = ser_read_buf.get_int32();
+    ser_read_buf.get_pad();
+    ser_read_buf.check_input_buffer(time_sig_len * 24 + 8);
     for (i = 0; i < time_sig_len; i++) {
-        double beat = ser_buf.get_double();
-        double num = ser_buf.get_double();
-        double den = ser_buf.get_double();
+        double beat = ser_read_buf.get_double();
+        double num = ser_read_buf.get_double();
+        double den = ser_read_buf.get_double();
         time_sig.insert(beat, num, den);
     }
-    long tracks_num = ser_buf.get_int32();
-    ser_buf.get_pad();
+    long tracks_num = ser_read_buf.get_int32();
+    ser_read_buf.get_pad();
     add_track(tracks_num - 1); // create tracks_num tracks
     for (i = 0; i < tracks_num; i++) {
         track(i)->unserialize_track();
@@ -1498,40 +1513,41 @@ void Alg_seq::unserialize_seq()
     // assume seq started at beginning of buffer. len measures
     // bytes after 'ALGS' header, so add 4 bytes and compare to
     // current buffer position -- they should agree
-    assert(ser_buf.get_posn() == len + 4);
+    assert(ser_read_buf.get_posn() == len + 4);
 }
 
 
 void Alg_track::unserialize_track()
 {
-    ser_buf.check_input_buffer(32);
-    assert(ser_buf.get_char() == 'A');
-    assert(ser_buf.get_char() == 'L');
-    assert(ser_buf.get_char() == 'G');
-    assert(ser_buf.get_char() == 'T');
-    long offset = ser_buf.get_posn(); // stored length does not include 'ALGT'
-    long bytes = ser_buf.get_int32();
-    assert(bytes <= ser_buf.get_len() - offset);
-    units_are_seconds = (bool) ser_buf.get_int32();
-    beat_dur = ser_buf.get_double();
-    real_dur = ser_buf.get_double();
-    int event_count = ser_buf.get_int32();
+    ser_read_buf.check_input_buffer(32);
+    bool algt = (ser_read_buf.get_char() == 'A') &&
+                (ser_read_buf.get_char() == 'L') &&
+                (ser_read_buf.get_char() == 'G') &&
+                (ser_read_buf.get_char() == 'T');
+    assert(algt);
+    long offset = ser_read_buf.get_posn(); // stored length does not include 'ALGT'
+    long bytes = ser_read_buf.get_int32();
+    assert(bytes <= ser_read_buf.get_len() - offset);
+    units_are_seconds = (bool) ser_read_buf.get_int32();
+    beat_dur = ser_read_buf.get_double();
+    real_dur = ser_read_buf.get_double();
+    int event_count = ser_read_buf.get_int32();
     for (int i = 0; i < event_count; i++) {
-        ser_buf.check_input_buffer(24);
-        long selected = ser_buf.get_int32();
-        char type = (char) ser_buf.get_int32();
-        long key = ser_buf.get_int32();
-        long channel = ser_buf.get_int32();
-        double time = ser_buf.get_double();
+        ser_read_buf.check_input_buffer(24);
+        long selected = ser_read_buf.get_int32();
+        char type = (char) ser_read_buf.get_int32();
+        long key = ser_read_buf.get_int32();
+        long channel = ser_read_buf.get_int32();
+        double time = ser_read_buf.get_double();
         if (type == 'n') {
-            ser_buf.check_input_buffer(20);
-            float pitch = ser_buf.get_float();
-            float loud = ser_buf.get_float();
-            double dur = ser_buf.get_double();
+            ser_read_buf.check_input_buffer(20);
+            float pitch = ser_read_buf.get_float();
+            float loud = ser_read_buf.get_float();
+            double dur = ser_read_buf.get_double();
             Alg_note *note = 
                     create_note(time, channel, key, pitch, loud, dur);
-            note->set_selected(selected);
-            long param_num = ser_buf.get_int32();
+            note->set_selected(selected != 0);
+            long param_num = ser_read_buf.get_int32();
             int j;
             // this builds a list of parameters in the correct order
             // (although order shouldn't matter)
@@ -1545,42 +1561,43 @@ void Alg_track::unserialize_track()
         } else {
             assert(type == 'u');
             Alg_update *update = create_update(time, channel, key);
-            update->set_selected(selected);
+            update->set_selected(selected != 0);
             unserialize_parameter(&(update->parameter));
             append(update);
         }
-        ser_buf.get_pad();
+        ser_read_buf.get_pad();
     }
-    assert(offset + bytes == ser_buf.get_posn());
+    assert(offset + bytes == ser_read_buf.get_posn());
 }
 
 
 void Alg_track::unserialize_parameter(Alg_parameter_ptr parm_ptr)
 {
-    char *attr = ser_buf.get_string();
+    char *attr = ser_read_buf.get_string();
     parm_ptr->attr = symbol_table.insert_string(attr);
     switch (parm_ptr->attr_type()) {
     case 'r':
-        ser_buf.check_input_buffer(8);
-        parm_ptr->r = ser_buf.get_double();
+        ser_read_buf.check_input_buffer(8);
+        parm_ptr->r = ser_read_buf.get_double();
         break;
     case 's':
-        parm_ptr->s = heapify(ser_buf.get_string());
+        parm_ptr->s = heapify(ser_read_buf.get_string());
         break;
     case 'i':
-        ser_buf.check_input_buffer(4);
-        parm_ptr->i = ser_buf.get_int32();
+        ser_read_buf.check_input_buffer(4);
+        parm_ptr->i = ser_read_buf.get_int32();
         break;
     case 'l':
-        ser_buf.check_input_buffer(4);
-        parm_ptr->l = (bool) ser_buf.get_int32();
+        ser_read_buf.check_input_buffer(4);
+        parm_ptr->l = ser_read_buf.get_int32() != 0;
         break;
     case 'a':
-        parm_ptr->a = symbol_table.insert_attribute(ser_buf.get_string());
+        parm_ptr->a = symbol_table.insert_attribute(ser_read_buf.get_string());
         break;
     }
 }
 
+#pragma warning(default: 4800)
 
 void Alg_track::set_time_map(Alg_time_map *map)
 {
@@ -2131,10 +2148,7 @@ void Alg_time_sigs::insert_beats(double beat, double len)
 
 Alg_tracks::~Alg_tracks()
 {
-    // Alg_events objects (track data) are not deleted, only the array
-    if (tracks) {
-        delete[] tracks;
-    }
+    reset();
 }
 
 
@@ -2199,8 +2213,8 @@ void Alg_tracks::reset()
     // all track events are incorporated into the seq,
     // so all we need to delete are the arrays of pointers
     for (int i = 0; i < len; i++) {
-        printf("deleting track at %d (%x, this %x) = %x\n", i, &(tracks[i]), 
-               this, tracks[i]);
+        // printf("deleting track at %d (%x, this %x) = %x\n", i, &(tracks[i]), 
+        //       this, tracks[i]);
         delete tracks[i];
     }
     if (tracks) delete [] tracks;
@@ -2210,6 +2224,126 @@ void Alg_tracks::reset()
 }
 
 
+void Alg_iterator::expand_to(int new_max)
+{
+    maxlen = new_max;
+    Alg_pending_event_ptr new_pending_events = new Alg_pending_event[maxlen];
+    // now do copy
+    memcpy(new_pending_events, pending_events, 
+           len * sizeof(Alg_pending_event));
+    if (pending_events) {
+        delete[] pending_events;
+    }
+    pending_events = new_pending_events;
+}	
+
+
+void Alg_iterator::expand()
+{
+    maxlen = (maxlen + 5);   // extra growth for small sizes
+    maxlen += (maxlen >> 2); // add 25%
+    expand_to(maxlen);
+}
+
+
+Alg_iterator::~Alg_iterator()
+{
+    if (pending_events) {
+        delete[] pending_events;
+    }
+}
+
+
+/* in the heap, the children of N are (N+1)*2 and (N+1)*2-1, so
+ * the parent of N is (N+1)/2-1. This would be easier if arrays
+ * were 1-based instead of 0-based
+ */
+#define HEAP_PARENT(loc) ((((loc) + 1) / 2) - 1)
+#define FIRST_CHILD(loc) (((loc) * 2) + 1)
+
+void Alg_iterator::show()
+{
+    for (int i = 0; i < len; i++) {
+        Alg_pending_event_ptr p = &(pending_events[i]);
+        printf("    %d: %p[%d] on %d\n", i, p->events, p->index, p->note_on);
+    }
+}
+
+
+bool Alg_iterator::earlier(int i, int j)
+// see if event i is earlier than event j
+{
+    Alg_pending_event_ptr p_i = &(pending_events[i]);
+    Alg_event_ptr e_i = (*(p_i->events))[p_i->index];
+    double t_i = (p_i->note_on ? e_i->time : e_i->get_end_time());
+    
+    Alg_pending_event_ptr p_j = &(pending_events[j]);
+    Alg_event_ptr e_j = (*(p_j->events))[p_j->index];
+    double t_j = (p_j->note_on ? e_j->time : e_j->get_end_time());
+
+    if (t_i < t_j) return true;
+    // not sure if this case really exists or this is the best rule, but
+    // we want to give precedence to note-off events
+    else if (t_i == t_j && pending_events[j].note_on) return true;
+    return false;
+}
+
+
+void Alg_iterator::insert(Alg_events_ptr events, long index, bool note_on)
+{
+    if (len == maxlen) expand();
+    pending_events[len].events = events;
+    pending_events[len].index = index;
+    pending_events[len].note_on = note_on;
+    int loc = len;
+    int loc_parent = HEAP_PARENT(loc);
+    len++;
+    // sift up:
+    while (loc > 0 &&
+           earlier(loc, loc_parent)) {
+        // swap loc with loc_parent
+        Alg_pending_event temp = pending_events[loc];
+        pending_events[loc] = pending_events[loc_parent];
+        pending_events[loc_parent] = temp;
+        loc = loc_parent;
+        loc_parent = HEAP_PARENT(loc);
+    }
+    //    printf("After insert:"); show();
+}
+
+bool Alg_iterator::remove_next(Alg_events_ptr &events, long &index, 
+                              bool &note_on)
+{
+    if (len == 0) return false; // empty!
+    events = pending_events[0].events;
+    index = pending_events[0].index;
+    note_on = pending_events[0].note_on;
+    len--;
+    pending_events[0] = pending_events[len];
+    // sift down
+    long loc = 0;
+    long loc_child = FIRST_CHILD(loc);
+    while (loc_child < len) {
+        if (loc_child + 1 < len) {
+            if (earlier(loc_child + 1, loc_child)) {
+                loc_child++;
+            }
+        }
+        if (earlier(loc_child, loc)) {
+            Alg_pending_event temp = pending_events[loc];
+            pending_events[loc] = pending_events[loc_child];
+            pending_events[loc_child] = temp;
+            loc = loc_child;
+            loc_child = FIRST_CHILD(loc);
+        } else {
+            loc_child = len;
+        }
+    }
+    //    printf("After remove:"); show();
+    return true;
+}
+
+
 Alg_seq::Alg_seq(const char *filename, bool smf)
 {
     basic_initialization();
@@ -2292,6 +2426,7 @@ Alg_track_ptr Alg_seq::track(int i)
     return &(track_list[i]);
 }
 
+#pragma warning(disable: 4715) // ok not to return a value here
 
 Alg_event_ptr &Alg_seq::operator[](int i) 
 {
@@ -2308,6 +2443,7 @@ Alg_event_ptr &Alg_seq::operator[](int i)
     }
     assert(false); // out of bounds
 }
+#pragma warning(default: 4715)
 
 
 void Alg_seq::convert_to_beats()
@@ -2806,43 +2942,47 @@ void Alg_seq::set_events(Alg_event_ptr *events, long len, long max)
 */
 
 
-void Alg_seq::iteration_begin()
+void Alg_iterator::begin(bool note_off_flag)
 {
     // keep an array of indexes into tracks
-    current = new long[track_list.length()];
+    printf("new pending\n");
     int i;
-    for (i = 0; i < track_list.length(); i++) {
-        current[i] = 0;
+    for (i = 0; i < seq->track_list.length(); i++) {
+        if (seq->track_list[i].length() > 0) {
+            insert(&(seq->track_list[i]), 0, true);
+        }
     }    
 }
 
 
-Alg_event_ptr Alg_seq::iteration_next()
+Alg_event_ptr Alg_iterator::next(bool *note_on)
     // return the next event in time from any track
 {
-    long cur;           // a track index
-    // find lowest next time of any track:
-    double next = 1000000.0;
-    int i, track;
-    for (i = 0; i < track_list.length(); i++) {
-        Alg_track &tr = track_list[i];
-        cur = current[i];
-        if (cur < tr.length() && tr[cur]->time < next) {
-            next = tr[cur]->time;
-            track = i;
-        }
-    }
-    if (next < 1000000.0) {
-        return track_list[track][current[track]++];
-    } else {
+    Alg_events_ptr events_ptr;
+    long index;
+    bool on;
+    if (!remove_next(events_ptr, index, on)) {
         return NULL;
     }
+    if (note_on) *note_on = on;
+    Alg_event_ptr event = (*events_ptr)[index];
+    if (on) {
+        if (note_off_flag && event->is_note()) {
+            // this was a note-on, so insert pending note-off
+            insert(events_ptr, index, false);
+        }
+        // for both notes and updates, insert next event (at index + 1)
+        index++;
+        if (index < events_ptr->length()) {
+            insert(events_ptr, index, true);
+        }
+    }
+    return event;
 }
 
 
-void Alg_seq::iteration_end()
+void Alg_iterator::end()
 {
-    delete[] current;
 }
 
 
@@ -2855,17 +2995,18 @@ void Alg_seq::merge_tracks()
     }
     // preallocate array for efficiency:
     Alg_event_ptr *notes = new Alg_event_ptr[sum];
-    iteration_begin();
+    Alg_iterator iterator(this, false);
+    iterator.begin();
     long notes_index = 0;
 
     Alg_event_ptr event;
-    while (event = iteration_next()) {
+    while (event = iterator.next()) {
         notes[notes_index++] = event;
     }
     track_list.reset(); // don't need them any more
     add_track(0);
     track(0)->set_events(notes, sum, sum);
-    iteration_end();
+    iterator.end();
 }
 
 
diff --git a/lib-src/portsmf/allegro.h b/lib-src/portsmf/allegro.h
index 27da9d3..a165c3a 100644
--- a/lib-src/portsmf/allegro.h
+++ b/lib-src/portsmf/allegro.h
@@ -79,6 +79,19 @@ public:
         maxlen = len = 0;
         atoms = NULL;
     }
+    // Note: the code is possibly more correct and faster without the 
+    // following destructor, which will only run after the program takes 
+    // a normal exit. Cleaning up after the program exit slows down the exit,
+    // and will cause problems if any other destructor tries to reference an
+    // Alg_atom (which will now be freed). The advantage of this code is
+    // that Alg_atoms will not be reported as memory leaks by automation
+    // that doesn't know better. -RBD
+    virtual ~Alg_atoms() {
+        for (int i = 0; i < len; i++) {
+            delete atoms[i];
+        }
+        if (atoms) delete [] atoms;
+    }
     // insert/lookup an atttribute
     Alg_attribute insert_attribute(Alg_attribute attr);
     // insert/lookup attribute by name (without prefixed type)
@@ -488,20 +501,72 @@ public:
 } *Alg_time_map_ptr;
 
 
-typedef class Serial_buffer {
-private:
+// Serial_buffer is an abstract class with common elements of
+//     Serial_read_buffer and Serial_write_buffer
+class Serial_buffer {
+  protected:
     char *buffer;
     char *ptr;
     long len;
-public:
+  public:
     Serial_buffer() {
         buffer = NULL;
         ptr = NULL;
         len = 0;
     }
-    void init_for_write() { ptr = buffer; }
+    virtual ~Serial_buffer() { }
+
     long get_posn() { return (long) (ptr - buffer); }
     long get_len() { return len; }
+};
+
+
+typedef class Serial_read_buffer : public Serial_buffer {
+public:
+    // note that a Serial_read_buffer is initialized for reading by
+    // setting buffer, but it is not the Serial_read_buffer's responsibility
+    // to delete the buffer (owner might want to reuse it), so the destructor
+    // does nothing.
+    virtual ~Serial_read_buffer() {  }
+#pragma warning(disable: 546) // cast to int is OK, we only want low 7 bits
+#pragma warning(disable: 4311) // type cast pointer to long warning
+    void get_pad() { while (((long) ptr) & 7) ptr++; }
+#pragma warning(default: 4311 546)
+    // Prepare to read n bytes from buf. The caller must manage buf: it is
+    // valid until reading is finished, and it is caller's responsibility
+    // to free buf when it is no longer needed.
+    void init_for_read(void *buf, long n) {
+        buffer = (char *) buf;
+        ptr = (char *) buf;
+        len = n;
+    }
+    char get_char() { return *ptr++; }
+    void unget_chars(int n) { ptr -= n; } // undo n get_char() calls
+    long get_int32() { long i = *((long *) ptr); ptr += 4; return i; }
+    float get_float() { float f = *((float *) ptr); ptr += 4; return f; }
+    double get_double() { double d = *((double *) ptr); ptr += sizeof(double); 
+                          return d; }
+    char *get_string() { char *s = ptr; char *fence = buffer + len;
+                         assert(ptr < fence);
+                         while (*ptr++) assert(ptr < fence);
+                         get_pad();
+                         return s; }
+    void check_input_buffer(long needed) {
+        assert(get_posn() + needed <= len); }
+} *Serial_read_buffer_ptr;
+
+
+typedef class Serial_write_buffer: public Serial_buffer {
+  public:
+    // Note: allegro.cpp declares one static instance of Serial_buffer to 
+    // reduce large memory (re)allocations when serializing tracks for UNDO.
+    // This destructor will only run when the program exits, which will only
+    // add overhead to the exit process, but it will eliminate an incorrect
+    // report of memory leakage from automation that doesn't know better. -RBD
+    virtual ~Serial_write_buffer() {
+        if (buffer) delete [] buffer;
+    }
+    void init_for_write() { ptr = buffer; }
     // store_long writes a long at a given offset
     void store_long(long offset, long value) {
         assert(offset <= get_posn() - 4);
@@ -515,38 +580,27 @@ public:
         // two lots of brackets surpress a g++ warning, because this is an
         // assignment operator inside a test.
         while ((*ptr++ = *s++)) assert(ptr < fence);
+        // 4311 is type cast pointer to long warning
+        // 4312 is type cast long to pointer warning
+#pragma warning(disable: 4311 4312)
         assert((char *)(((long) (ptr + 7)) & ~7) <= fence);
+#pragma warning(default: 4311 4312)
         pad(); }
     void set_int32(long v) { *((long *) ptr) = v; ptr += 4; }
     void set_double(double v) { *((double *) ptr) = v; ptr += 8; }
     void set_float(float v) { *((float *) ptr) = v; ptr += 4; }
     void set_char(char v) { *ptr++ = v; }
+#pragma warning(disable: 546) // cast to int is OK, we only want low 7 bits
+#pragma warning(disable: 4311) // type cast pointer to long warning
     void pad() { while (((long) ptr) & 7) set_char(0); }
+#pragma warning(default: 4311 546)
     void *to_heap(long *len) {
         *len = get_posn();
         char *newbuf = new char[*len];
         memcpy(newbuf, buffer, *len);
         return newbuf;
     }
-    void init_for_read(void *buf, long n) {
-        buffer = (char *) buf;
-        ptr = (char *) buf;
-        len = n;
-    }
-    char get_char() { return *ptr++; }
-    long get_int32() { long i = *((long *) ptr); ptr += 4; return i; }
-    float get_float() { float f = *((float *) ptr); ptr += 4; return f; }
-    double get_double() { double d = *((double *) ptr); ptr += sizeof(double); 
-                          return d; }
-    char *get_string() { char *s = ptr; char *fence = buffer + len;
-                         assert(ptr < fence);
-                         while (*ptr++) assert(ptr < fence);
-                         get_pad();
-                         return s; }
-    void get_pad() { while (((long) ptr) & 7) ptr++; }
-    void check_input_buffer(long needed) {
-        assert(get_posn() + needed <= len); }
-} *Serial_buffer_ptr;
+} *Serial_write_buffer_ptr;
 
 typedef class Alg_seq *Alg_seq_ptr;
 
@@ -558,7 +612,8 @@ protected:
     long get_int32(char **p, long *b);
     double get_double(char **p, long *b);
     float get_float(char **p, long *b);
-    static Serial_buffer ser_buf;
+    static Serial_read_buffer ser_read_buf;
+    static Serial_write_buffer ser_write_buf;
     void serialize_parameter(Alg_parameter *parm);
     // *buffer_ptr points to binary data, bytes_ptr points to how many
     // bytes have been used so far, len is length of binary data
@@ -581,7 +636,8 @@ public:
     // copy constructor: event_list is copied, map is installed and referenced
     Alg_track(Alg_event_list_ref event_list, Alg_time_map_ptr map, 
               bool units_are_seconds);
-    virtual ~Alg_track() { set_time_map(NULL); }
+    virtual ~Alg_track() { // note: do not call set_time_map(NULL)!
+        if (time_map) time_map->dereference(); time_map = NULL; }
 
     // Returns a buffer containing a serialization of the
     // file.  It will be an ASCII representation unless text is true.
@@ -816,20 +872,65 @@ public:
 typedef enum {
     alg_no_error = 0,      // no error reading Allegro or MIDI file
     alg_error_open = -800, // could not open Allegro or MIDI file
-    alg_error_syntax       // something found in the file that could not be parsed;
-    // generally you should ignore syntax errors or look at the printed error messages
-    // because there are some things in standard midi files that we do not handle;
-    // (maybe we should only set alg_error_syntax when there is a real problem with
-    // the file as opposed to when there is some warning message for the user)
+    alg_error_syntax   // something found in the file that could not be parsed;
+    // generally you should ignore syntax errors or look at the printed error 
+    // messages because there are some things in standard midi files that we do
+    // not handle; (maybe we should only set alg_error_syntax when there is a
+    // real problem with the file as opposed to when there is some warning
+    // message for the user)
 } Alg_error;
 
 
+typedef struct Alg_pending_event {
+    Alg_events *events; // the array of events
+    long index; // offset of this event
+    bool note_on; // is this a note-on or a note-off (if applicable)?
+} *Alg_pending_event_ptr;
+
+typedef class Alg_iterator {
+private:
+    long maxlen;
+    void expand();
+    void expand_to(int new_max);
+    long len;
+    Alg_seq_ptr seq;
+    Alg_pending_event *pending_events;
+
+    void show();
+    bool earlier(int i, int j);
+    void insert(Alg_events_ptr events, long index, bool note_on);
+    bool remove_next(Alg_events_ptr &events, long &index, bool &note_on);
+public:
+    bool note_off_flag; // remembers if we are iterating over note-off
+                        // events as well as note-on and update events
+    long length() { return len; }
+    Alg_iterator(Alg_seq_ptr s, bool note_off) {
+        seq = s;
+        note_off_flag = note_off;
+        maxlen = len = 0;
+        pending_events = NULL;
+    }
+    ~Alg_iterator();
+    // Prepare to enumerate events in order. If note_off_flag is true, then
+    // iteration_next will merge note-off events into the sequence.
+    void begin(bool note_off_flag = false); 
+    // return next event (or NULL). If iteration_begin was called with
+    // note_off_flag = true, and if note_on is not NULL, then *note_on
+    // is set to true when the result value represents a note-on or update.
+    // (With note_off_flag, each Alg_note event is returned twice, once
+    // at the note-on time, with *note_on == true, and once at the note-off
+    // time, with *note_on == false
+    Alg_event_ptr next(bool *note_on = NULL); 
+    void end();   // clean up after enumerating events
+} *Alg_iterator_ptr;
+
+
 // An Alg_seq is an array of Alg_events, each a sequence of Alg_event, 
 // with a tempo map and a sequence of time signatures
 //
 typedef class Alg_seq : public Alg_track {
 protected:
-    long *current; // array of indexes used by iteration methods
+    Alg_iterator_ptr pending; // iterator used internally by Alg_seq methods
     void serialize_seq();
     Alg_error error; // error code set by file readers
     // an internal function used for writing Allegro track names
@@ -856,7 +957,7 @@ public:
     void seq_from_track(Alg_track_ref tr);
     Alg_seq(std::istream &file, bool smf); // create from file
     Alg_seq(const char *filename, bool smf); // create from filename
-    ~Alg_seq();
+    virtual ~Alg_seq();
     int get_read_error() { return error; }
     void serialize(void **buffer, long *bytes);
     void copy_time_sigs_to(Alg_seq *dest); // a utility function
@@ -871,7 +972,7 @@ public:
     void write(std::ostream &file, bool in_secs);
     // returns true on success
     bool write(const char *filename);
-    void smf_write(std::ofstream &file);
+    void smf_write(std::ostream &file);
     bool smf_write(const char *filename);
 
     // Returns the number of tracks
@@ -925,9 +1026,6 @@ public:
                          double *num, double *den);
     // void set_events(Alg_event_ptr *events, long len, long max);
     void merge_tracks();    // move all track data into one track
-    void iteration_begin(); // prepare to enumerate events in order
-    Alg_event_ptr iteration_next(); // return next event (or NULL)
-    void iteration_end();   // clean up after enumerating events
 } *Alg_seq_ptr, &Alg_seq_ref;
 
 
diff --git a/lib-src/portsmf/allegrord.cpp b/lib-src/portsmf/allegrord.cpp
index a6c17c0..6a80f21 100644
--- a/lib-src/portsmf/allegrord.cpp
+++ b/lib-src/portsmf/allegrord.cpp
@@ -262,7 +262,7 @@ bool Alg_reader::parse()
                         parse_error(field, 0, "Dur specified twice");
                     } else {
                         // prepend 'U' to field, copy EOS too
-                        field.insert(0, 1, 'U');
+                        field.insert((unsigned int) 0, 1, 'U');
                         dur = parse_dur(field, time);
                         dur_flag = true;
                     }
@@ -271,7 +271,7 @@ bool Alg_reader::parse()
                         parse_error(field, 0, "Pitch specified twice");
                     } else {
                         // prepend 'P' to field
-                        field.insert(0, 1, 'P');
+                        field.insert((unsigned int) 0, 1, 'P');
                         new_pitch = parse_pitch(field);
                         new_pitch_flag = true;
                     }
@@ -346,8 +346,8 @@ bool Alg_reader::parse()
                     note_ptr->time = time;
                     note_ptr->dur = dur;
                     note_ptr->set_identifier(key);
-                    note_ptr->pitch = pitch;
-                    note_ptr->loud = loud;
+                    note_ptr->pitch = (float) pitch;
+                    note_ptr->loud = (float) loud;
                     note_ptr->parameters = attributes;
                     seq->add_event(note_ptr, track_num); // sort later
                     if (seq->get_real_dur() < (time + dur)) seq->set_real_dur(time + dur);
diff --git a/lib-src/portsmf/allegrosmfrd.cpp b/lib-src/portsmf/allegrosmfrd.cpp
index 257cb94..38ea76a 100644
--- a/lib-src/portsmf/allegrosmfrd.cpp
+++ b/lib-src/portsmf/allegrosmfrd.cpp
@@ -13,13 +13,13 @@
 
 using namespace std;
 
-typedef class Alg_pending {
+typedef class Alg_note_list {
 public:
     Alg_note_ptr note;
-    class Alg_pending *next;
-    Alg_pending(Alg_note_ptr n, class Alg_pending *list) { 
+    class Alg_note_list *next;
+    Alg_note_list(Alg_note_ptr n, class Alg_note_list *list) { 
         note = n; next = list; }
-} *Alg_pending_ptr;
+} *Alg_note_list_ptr;
 
 
 class Alg_midifile_reader: public Midifile_reader {
@@ -27,7 +27,7 @@ public:
     istream *file;
     Alg_seq_ptr seq;
     int divisions;
-    Alg_pending_ptr pending;
+    Alg_note_list_ptr note_list;
     Alg_track_ptr track;
     int track_number; // the number of the (current) track
     // chan is actual_channel + channel_offset_per_track * track_num +
@@ -41,7 +41,7 @@ public:
 
     Alg_midifile_reader(istream &f, Alg_seq_ptr new_seq) {
         file = &f;
-        pending = NULL;
+        note_list = NULL;
         seq = new_seq;
         channel_offset_per_track = 0;
         channel_offset_per_port = 16;
@@ -83,25 +83,25 @@ protected:
     void Mf_pitchbend(int,int,int);
     void Mf_program(int,int);
     void Mf_chanpressure(int,int);
-    void binary_msg(int len, char *msg, const char *attr_string);
-    void Mf_sysex(int,char*);
-    void Mf_arbitrary(int,char*);
-    void Mf_metamisc(int,int,char*);
+    void binary_msg(int len, unsigned char *msg, const char *attr_string);
+    void Mf_sysex(int,unsigned char*);
+    void Mf_arbitrary(int,unsigned char*);
+    void Mf_metamisc(int,int,unsigned char*);
     void Mf_seqnum(int);
     void Mf_smpte(int,int,int,int,int);
     void Mf_timesig(int,int,int,int);
     void Mf_tempo(int);
     void Mf_keysig(int,int);
-    void Mf_sqspecific(int,char*);
-    void Mf_text(int,int,char*);
+    void Mf_sqspecific(int,unsigned char*);
+    void Mf_text(int,int,unsigned char*);
 };
 
 
 Alg_midifile_reader::~Alg_midifile_reader()
 {
-    while (pending) {
-        Alg_pending_ptr to_be_freed = pending;
-        pending = pending->next;
+    while (note_list) {
+        Alg_note_list_ptr to_be_freed = note_list;
+        note_list = note_list->next;
         delete to_be_freed;
     }
     finalize(); // free Mf reader memory
@@ -179,7 +179,9 @@ void Alg_midifile_reader::Mf_header(int format, int ntrks, int division)
 {
     if (format > 1) {
         char msg[80];
+#pragma warning(disable: 4996) // msg is long enough
         sprintf(msg, "file format %d not implemented", format);
+#pragma warning(default: 4996)
         Mf_error(msg);
     }
     divisions = division;
@@ -201,7 +203,7 @@ void Alg_midifile_reader::Mf_on(int chan, int key, int vel)
         return;
     }
     Alg_note_ptr note = new Alg_note();
-    pending = new Alg_pending(note, pending);
+    note_list = new Alg_note_list(note, note_list);
     /*    trace("on: %d at %g\n", key, get_time()); */
     note->time = get_time();
     note->chan = chan + channel_offset + port * channel_offset_per_port;
@@ -217,14 +219,14 @@ void Alg_midifile_reader::Mf_on(int chan, int key, int vel)
 void Alg_midifile_reader::Mf_off(int chan, int key, int vel)
 {
     double time = get_time();
-    Alg_pending_ptr *p = &pending;
+    Alg_note_list_ptr *p = &note_list;
     while (*p) {
         if ((*p)->note->get_identifier() == key &&
             (*p)->note->chan == 
                     chan + channel_offset + port * channel_offset_per_port) {
             (*p)->note->dur = time - (*p)->note->time;
             // trace("updated %d dur %g\n", (*p)->note->key, (*p)->note->dur);
-            Alg_pending_ptr to_be_freed = *p;
+            Alg_note_list_ptr to_be_freed = *p;
             *p = to_be_freed->next;
             delete to_be_freed;
         } else {
@@ -266,7 +268,9 @@ void Alg_midifile_reader::Mf_controller(int chan, int control, int val)
 {
     Alg_parameter parameter;
     char name[32];
+#pragma warning(disable: 4996) // name is long enough
     sprintf(name, "control%dr", control);
+#pragma warning(default: 4996)
     parameter.set_attr(symbol_table.insert_string(name));
     parameter.r = val / 127.0;
     update(chan, -1, &parameter);
@@ -304,13 +308,15 @@ void Alg_midifile_reader::Mf_chanpressure(int chan, int val)
 }
 
 
-void Alg_midifile_reader::binary_msg(int len, char *msg, 
+void Alg_midifile_reader::binary_msg(int len, unsigned char *msg, 
                                      const char *attr_string)
 {
     Alg_parameter parameter;
     char *hexstr = new char[len * 2 + 1];
     for (int i = 0; i < len; i++) {
+#pragma warning(disable: 4996) // hexstr is long enough
         sprintf(hexstr + 2 * i, "%02x", (0xFF & msg[i]));
+#pragma warning(default: 4996)
     }
     parameter.s = hexstr;
     parameter.set_attr(symbol_table.insert_string(attr_string));
@@ -318,23 +324,25 @@ void Alg_midifile_reader::binary_msg(int len, char *msg,
 }
 
 
-void Alg_midifile_reader::Mf_sysex(int len, char *msg)
+void Alg_midifile_reader::Mf_sysex(int len, unsigned char *msg)
 {
     // sysex messages become updates with attribute sysexs and a hex string
     binary_msg(len, msg, "sysexs");
 }
 
 
-void Alg_midifile_reader::Mf_arbitrary(int len, char *msg)
+void Alg_midifile_reader::Mf_arbitrary(int len, unsigned char *msg)
 {
     Mf_error("arbitrary data ignored");
 }
 
 
-void Alg_midifile_reader::Mf_metamisc(int type, int len, char *msg)
+void Alg_midifile_reader::Mf_metamisc(int type, int len, unsigned char *msg)
 {
     char text[128];
+#pragma warning(disable: 4996) // text is long enough
     sprintf(text, "metamsic data, type 0x%x, ignored", type);
+#pragma warning(default: 4996)
     Mf_error(text);
 }
 
@@ -355,8 +363,10 @@ void Alg_midifile_reader::Mf_smpte(int hours, int mins, int secs,
     char text[32];
     int fps = (hours >> 6) & 3;
     hours &= 0x1F;
+#pragma warning(disable: 4996) // text is long enough
     sprintf(text, "%sfps:%02dh:%02dm:%02ds:%02d.%02df", 
             fpsstr[fps], hours, mins, secs, frames, subframes);
+#pragma warning(default: 4996)
     Alg_parameter smpteoffset;
     smpteoffset.s = heapify(text);
     smpteoffset.set_attr(symbol_table.insert_string("smpteoffsets"));
@@ -398,7 +408,7 @@ void Alg_midifile_reader::Mf_keysig(int key, int mode)
 }
 
 
-void Alg_midifile_reader::Mf_sqspecific(int len, char *msg)
+void Alg_midifile_reader::Mf_sqspecific(int len, unsigned char *msg)
 {
     // sequencer specific messages become updates with attribute sqspecifics
     // and a hex string for the value
@@ -406,7 +416,7 @@ void Alg_midifile_reader::Mf_sqspecific(int len, char *msg)
 }
 
 
-char *heapify2(int len, char *s)
+char *heapify2(int len, unsigned char *s)
 {
     char *h = new char[len + 1];
     memcpy(h, s, len);
@@ -415,7 +425,7 @@ char *heapify2(int len, char *s)
 }
 
 
-void Alg_midifile_reader::Mf_text(int type, int len, char *msg)
+void Alg_midifile_reader::Mf_text(int type, int len, unsigned char *msg)
 {
     Alg_parameter text;
     text.s = heapify2(len, msg);
diff --git a/lib-src/portsmf/allegrosmfwr.cpp b/lib-src/portsmf/allegrosmfwr.cpp
index 796cdce..9edfe23 100644
--- a/lib-src/portsmf/allegrosmfwr.cpp
+++ b/lib-src/portsmf/allegrosmfwr.cpp
@@ -34,7 +34,7 @@ public:
     // chan is actual_channel + channels_per_track * track_number
     // default is 100, set this to 0 to merge all tracks to 16 channels
 
-    void write(ofstream &file /* , midiFileFormat = 1 */);
+    void write(ostream &file /* , midiFileFormat = 1 */);
 
 private:
     long previous_divs; // time in ticks of most recently written event
@@ -162,7 +162,7 @@ void Alg_smf_write::write_note(Alg_note_ptr note, bool on)
 
     //printf("deltaDivisions: %d, beats elapsed: %g, on? %c\n", deltaDivisions, note->time, on);
 
-    char chan = (note->chan & 15);
+    char chan = char(note->chan & 15);
     int pitch = int(note->pitch + 0.5);
     if (pitch < 0) {
           pitch = pitch % 12;
@@ -184,8 +184,8 @@ void Alg_smf_write::write_midi_channel_prefix(Alg_update_ptr update)
 {
    if (update->chan >= 0) { // write MIDI Channel Prefix
         write_delta(update->time);
-        out_file->put(0xFF); // Meta Event
-        out_file->put(0x20); // Type code for MIDI Channel Prefix
+        out_file->put('\xFF'); // Meta Event
+        out_file->put('\x20'); // Type code for MIDI Channel Prefix
         out_file->put(1); // length
         out_file->put(to_midi_channel(update->chan));
         // one thing odd about the Std MIDI File spec is that once
@@ -201,7 +201,7 @@ void Alg_smf_write::write_text(Alg_update_ptr update, char type)
 {
     write_midi_channel_prefix(update);
     write_delta(update->time);
-    out_file->put(0xFF);
+    out_file->put('\xFF');
     out_file->put(type);
     out_file->put((char) strlen(update->parameter.s));
     *out_file << update->parameter.s;
@@ -212,8 +212,8 @@ void Alg_smf_write::write_smpteoffset(Alg_update_ptr update, char *s)
 {
     write_midi_channel_prefix(update);
     write_delta(update->time);
-    out_file->put(0xFF); // meta event
-    out_file->put(0x54); // smpte offset type code
+    out_file->put('\xFF'); // meta event
+    out_file->put('\x54'); // smpte offset type code
     out_file->put(5); // length
     for (int i = 0; i < 5; i++) *out_file << s[i];
 }
@@ -322,7 +322,7 @@ void Alg_smf_write::write_update(Alg_update_ptr update)
                update->parameter.attr_type() == 's') {
         char *s = update->parameter.s;
         write_delta(update->time);
-        out_file->put(0xFF);
+        out_file->put('\xFF');
         write_binary(0x7F, s);
 
     /****Text Events****/
@@ -390,8 +390,8 @@ void Alg_smf_write::write_update(Alg_update_ptr update)
     }
     if (keysig != -99 && keysig_mode) { // write when both are defined
         write_delta(keysig_when);
-        out_file->put(0xFF);
-        out_file->put(0x59);
+        out_file->put('\xFF');
+        out_file->put('\x59');
         out_file->put(2);
         // mask off high bits so that this value appears to be positive
         // i.e. -1 -> 0xFF (otherwise, write_data will clip -1 to 0)
@@ -482,9 +482,9 @@ void Alg_smf_write::write_tempo(int divs, int tempo)
     //    printf("Inserting tempo %f after %f clocks.\n", tempo, delta);
     write_varinum(divs - previous_divs);
     previous_divs = divs;
-    out_file->put(0xFF);
-    out_file->put(0x51);
-    out_file->put(0x03);
+    out_file->put('\xFF');
+    out_file->put('\x51');
+    out_file->put('\x03');
     write_24bit((int)tempo);
 }
 
@@ -515,9 +515,9 @@ void Alg_smf_write::write_time_signature(int i)
     // write the time signature
     long divs = ROUND(ts[i].beat * division);
     write_varinum(divs - previous_divs);
-    out_file->put(0xFF);
-    out_file->put(0x58);  // time signature
-    out_file->put(4);     // length of message
+    out_file->put('\xFF');
+    out_file->put('\x58');  // time signature
+    out_file->put('\x04');     // length of message
     out_file->put(ROUND(ts[i].num));
     int den = ROUND(ts[i].den);
     int den_byte = 0;
@@ -532,7 +532,7 @@ void Alg_smf_write::write_time_signature(int i)
 
 
 
-void Alg_smf_write::write(ofstream &file)
+void Alg_smf_write::write(ostream &file)
 {
     int track_len_offset;
     int track_end_offset;
@@ -564,9 +564,9 @@ void Alg_smf_write::write(ofstream &file)
 
         // End of track event
         write_varinum(0);           // delta time
-        out_file->put(0xFF);
-        out_file->put(0x2F);
-        out_file->put(0x00);
+        out_file->put('\xFF');
+        out_file->put('\x2F');
+        out_file->put('\x00');
 
         // Go back and write in the length of the track
         track_end_offset = out_file->tellp();
@@ -632,7 +632,7 @@ void Alg_smf_write::write_varinum(int value)
 }
 
 
-void Alg_seq::smf_write(ofstream &file)
+void Alg_seq::smf_write(ostream &file)
 {
     Alg_smf_write writer(this);
     writer.write(file);
diff --git a/lib-src/portsmf/configure b/lib-src/portsmf/configure
old mode 100644
new mode 100755
index c252646..ceb73e8
--- a/lib-src/portsmf/configure
+++ b/lib-src/portsmf/configure
@@ -7547,27 +7547,28 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file.  Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*)   set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`$as_dirname -- "$mf" ||
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$mf" : 'X\(//\)[^/]' \| \
 	 X"$mf" : 'X\(//\)$' \| \
@@ -7590,28 +7591,28 @@ $as_echo X"$mf" |
 	    q
 	  }
 	  s/.*/./; q'`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`$as_dirname -- "$file" ||
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$file" : 'X\(//\)[^/]' \| \
 	 X"$file" : 'X\(//\)$' \| \
@@ -7634,7 +7635,7 @@ $as_echo X"$file" |
 	    q
 	  }
 	  s/.*/./; q'`
-    { as_dir=$dirpart/$fdir
+      { as_dir=$dirpart/$fdir
   case $as_dir in #(
   -*) as_dir=./$as_dir;;
   esac
@@ -7675,10 +7676,11 @@ $as_echo X"$as_dir" |
   } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
-done
+}
  ;;
 
   esac
diff --git a/lib-src/portsmf/mfmidi.cpp b/lib-src/portsmf/mfmidi.cpp
index 5647ac3..6aa2529 100644
--- a/lib-src/portsmf/mfmidi.cpp
+++ b/lib-src/portsmf/mfmidi.cpp
@@ -13,6 +13,7 @@
 #include "stdio.h"
 #include "mfmidi.h"
 #include "string.h"
+#include "assert.h"
 
 #define MIDIFILE_ERROR -1
 
@@ -38,6 +39,7 @@ int Midifile_reader::readmt(char *s, int skip)
     /* read through the "MThd" or "MTrk" header string */
     /* if skip == 1, we attempt to skip initial garbage. */
 {
+    assert(strlen(s) == 4); // must be "MThd" or "MTrk"
     int nread = 0;
     char b[4];
     char buff[32];
@@ -66,8 +68,10 @@ int Midifile_reader::readmt(char *s, int skip)
         goto retry;
     }
     err:
+#pragma warning(disable: 4996) // strcpy is safe since strings have known lengths
     (void) strcpy(buff,errmsg);
     (void) strcat(buff,s);
+#pragma warning(default: 4996) // turn it back on
     mferror(buff);
     return(0);
 }
@@ -189,7 +193,7 @@ void Midifile_reader::readtrack()
             msginit();
 
             while ( Mf_toberead > lookfor ) {
-                char c = egetc();
+                unsigned char c = egetc();
                 if (midifile_error) return;
                 msgadd(c);
             }
@@ -253,15 +257,17 @@ void Midifile_reader::readtrack()
 void Midifile_reader::badbyte(int c)
 {
     char buff[32];
-
+#pragma warning(disable: 4996) // safe in this case
     (void) sprintf(buff,"unexpected byte: 0x%02x",c);
+#pragma warning(default: 4996)
     mferror(buff);
 }
 
 void Midifile_reader::metaevent(int type)
 {
     int leng = msgleng();
-    char *m = msg();
+    // made this unsigned to avoid sign extend
+    unsigned char *m = msg();
 
     switch ( type ) {
     case 0x00:
@@ -444,7 +450,7 @@ void Midifile_reader::msginit()
     Msgindex = 0;
 }
 
-char *Midifile_reader::msg()
+unsigned char *Midifile_reader::msg()
 {
     return(Msgbuff);
 }
@@ -464,21 +470,16 @@ void Midifile_reader::msgadd(int c)
 
 void Midifile_reader::msgenlarge()
 {
-    char *newmess;
-    char *oldmess = Msgbuff;
+    unsigned char *newmess;
+    unsigned char *oldmess = Msgbuff;
     int oldleng = Msgsize;
 
     Msgsize += MSGINCREMENT;
-    newmess = (char *) Mf_malloc((sizeof(char) * Msgsize) );
+    newmess = (unsigned char *) Mf_malloc((sizeof(unsigned char) * Msgsize) );
 
     /* copy old message into larger new one */
     if ( oldmess != 0 ) {
-        register char *p = newmess;
-        register char *q = oldmess;
-        register char *endq = &oldmess[oldleng];
-
-        for ( ; q!=endq ; p++,q++ )
-            *p = *q;
+        memcpy(newmess, oldmess, oldleng);
         Mf_free(oldmess, oldleng);
     }
     Msgbuff = newmess;
diff --git a/lib-src/portsmf/mfmidi.h b/lib-src/portsmf/mfmidi.h
index b9c8ec2..a7f5c50 100644
--- a/lib-src/portsmf/mfmidi.h
+++ b/lib-src/portsmf/mfmidi.h
@@ -55,16 +55,16 @@ protected:
     virtual void Mf_pitchbend(int,int,int) = 0;
     virtual void Mf_program(int,int) = 0;
     virtual void Mf_chanpressure(int,int) = 0;
-    virtual void Mf_sysex(int,char*) = 0;
-    virtual void Mf_arbitrary(int,char*) = 0;
-    virtual void Mf_metamisc(int,int,char*) = 0;
+    virtual void Mf_sysex(int,unsigned char*) = 0;
+    virtual void Mf_arbitrary(int,unsigned char*) = 0;
+    virtual void Mf_metamisc(int,int,unsigned char*) = 0;
     virtual void Mf_seqnum(int) = 0;
     virtual void Mf_smpte(int,int,int,int,int) = 0;
     virtual void Mf_timesig(int,int,int,int) = 0;
     virtual void Mf_tempo(int) = 0;
     virtual void Mf_keysig(int,int) = 0;
-    virtual void Mf_sqspecific(int,char*) = 0;
-    virtual void Mf_text(int,int,char*) = 0;
+    virtual void Mf_sqspecific(int,unsigned char*) = 0;
+    virtual void Mf_text(int,int,unsigned char*) = 0;
 
 private:
     long Mf_toberead;
@@ -73,7 +73,7 @@ private:
     long read32bit();
     int read16bit();
     void msgenlarge();
-    char *msg();
+    unsigned char *msg();
     int readheader();
     void readtrack();
     void sysex();
@@ -90,7 +90,7 @@ private:
     void msgadd(int);
     void chanmessage(int,int,int);
 
-    char *Msgbuff;
+    unsigned char *Msgbuff;
     long Msgsize;
     long Msgindex;
 };
diff --git a/lib-src/portsmf/portsmf.vcproj b/lib-src/portsmf/portsmf.vcproj
index 9e9bde2..8f6d864 100644
--- a/lib-src/portsmf/portsmf.vcproj
+++ b/lib-src/portsmf/portsmf.vcproj
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="portsmf"
 	ProjectGUID="{D035BCF8-CF15-4456-A4E1-C7E6ACD79346}"
 	RootNamespace="allegro"
 	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -46,7 +47,7 @@
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="0"
 				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
+				Detect64BitPortabilityProblems="false"
 				DebugInformationFormat="4"
 			/>
 			<Tool
@@ -103,10 +104,10 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				RuntimeLibrary="2"
+				RuntimeLibrary="0"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
+				Detect64BitPortabilityProblems="false"
 				DebugInformationFormat="3"
 			/>
 			<Tool
diff --git a/lib-src/portsmf/trace.cpp b/lib-src/portsmf/trace.cpp
index f6f75e2..5070753 100644
--- a/lib-src/portsmf/trace.cpp
+++ b/lib-src/portsmf/trace.cpp
@@ -15,7 +15,7 @@ void trace(char *format, ...)
     char msg[256];
     va_list args;
     va_start(args, format);
-    _vsnprintf(msg, 256, format, args);
+    _vsnprintf_s(msg, 256, _TRUNCATE, format, args);
     va_end(args);
 #ifdef _DEBUG
     _CrtDbgReport(_CRT_WARN, NULL, NULL, NULL, msg);
diff --git a/lib-src/sbsms/config/README.TXT b/lib-src/sbsms/config/README.TXT
deleted file mode 100644
index 7c4f6e4..0000000
--- a/lib-src/sbsms/config/README.TXT
+++ /dev/null
@@ -1,3 +0,0 @@
-Files in this directory are used by GNU autoconf/automake system.
-These files aren't used/needed in the Windows environment.
-
diff --git a/lib-src/sbsms/config/am_include.mk b/lib-src/sbsms/config/am_include.mk
deleted file mode 100644
index 738d5c2..0000000
--- a/lib-src/sbsms/config/am_include.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-## vim:tw=78
-## Process this file with automake to create Makefile.in
-##
-## $Id: am_include.mk,v 1.1 2008/11/25 06:45:46 otey Exp $
-##
-## Copyright (C) 2003 - David W. Durham
-## 
-## This file is part of SoundTouch, an audio processing library for pitch/time adjustments
-## 
-## SoundTouch is free software; you can redistribute it and/or modify it under the
-## terms of the GNU General Public License as published by the Free Software
-## Foundation; either version 2 of the License, or (at your option) any later
-## version.
-## 
-## SoundTouch is distributed in the hope that it will be useful, but WITHOUT ANY
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-## A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-## 
-## You should have received a copy of the GNU General Public License along with
-## this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-## Place - Suite 330, Boston, MA  02111-1307, USA
-
-## These are common definitions used in all Makefiles
-## It is actually included when a makefile.am is coverted to Makefile.in
-## by automake, so it's ok to have @MACROS@ that will be set by configure
-
-
-## INCLUDES is automatically added to CXXFLAGS at compile time. The
-## $(top_srcdir) macro is set by configure. It's important to use $(top_srcdir)
-## in case a user decides to build in a separate directory from the base package
-## directory. Using absolute, or relative paths is a bad idea.
-INCLUDES=-I$(top_srcdir)/include
-
-
-## CXXFLAGS is also automatically added to the $(CXX) macro at compile time, and
-## is passed down to the children as well
-## I list these here in case there needs to always be some flags passed to the compiler
-CXXFLAGS=@CXXFLAGS@
-
-
-## LDFLAGS will be added at link time
-## note that the -l flags are set by the LIBS macro that is set by configure
-## This line doesn't need to be here, configure will add LDFLAGS on it's own,
-## but I'm leaving here as a place to add LDFLAGS if so desired
-LDFLAGS=@LDFLAGS@
-
-
-# doc directory
-pkgdocdir=$(prefix)/doc/@PACKAGE@
-
-
diff --git a/lib-src/sbsms/config/config.guess b/lib-src/sbsms/config/config.guess
deleted file mode 100755
index d56c46d..0000000
--- a/lib-src/sbsms/config/config.guess
+++ /dev/null
@@ -1,1410 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-08-18'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Per Bothner <per at bothner.com>.
-# Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit 0 ;;
-    --version | -v )
-       echo "$version" ; exit 0 ;;
-    --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi at noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	#
-	# Note: NetBSD doesn't particularly care about the vendor
-	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
-	    armeb) machine=armeb-unknown ;;
-	    arm*) machine=arm-unknown ;;
-	    sh3el) machine=shl-unknown ;;
-	    sh3eb) machine=sh-unknown ;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-	        os=netbsd
-		;;
-	esac
-	# The OS release
-	# Debian GNU/NetBSD machines have a different userland, and
-	# thus, need a distinct triplet. However, they do not need
-	# kernel version information, so it can be replaced with a
-	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
-	    Debian*)
-		release='-gnu'
-		;;
-	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-		;;
-	esac
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit 0 ;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    macppc:OpenBSD:*:*)
-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvmeppc:OpenBSD:*:*)
-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mipseb-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sun3:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    alpha:OSF1:*:*)
-	if test $UNAME_RELEASE = "V4.0"; then
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-	fi
-	# According to Compaq, /usr/sbin/psrinfo has been available on
-	# OSF/1 and Tru64 systems produced since 1995.  I hope that
-	# covers most systems running today.  This code pipes the CPU
-	# types through head -n 1, so we only detect the type of CPU 0.
-	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
-	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
-	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
-	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
-	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
-	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
-	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
-	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
-	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
-	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
-	esac
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-	echo alpha-hp-vms
-	exit 0 ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit 0 ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit 0 ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit 0;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit 0 ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
-	exit 0 ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit 0 ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit 0;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit 0 ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit 0 ;;
-    DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
-	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7 && exit 0 ;;
-	esac ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit 0 ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit 0 ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit 0 ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c \
-	  && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && exit 0
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit 0 ;;
-    Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit 0 ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit 0 ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit 0 ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit 0 ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit 0 ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
- 	exit 0 ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit 0 ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit 0 ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit 0 ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit 0 ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
-		echo rs6000-ibm-aix3.2.5
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit 0 ;;
-    *:AIX:*:[45])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit 0 ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit 0 ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit 0 ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit 0 ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit 0 ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
-		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
-		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
-EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    test -z "$HP_ARCH" && HP_ARCH=hppa
-		fi ;;
-	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
-	then
-	    # avoid double evaluation of $set_cc_for_build
-	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
-	    then
-		HP_ARCH="hppa2.0w"
-	    else
-		HP_ARCH="hppa64"
-	    fi
-	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
-	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit 0 ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit 0 ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit 0 ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit 0 ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit 0 ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit 0 ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit 0 ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit 0 ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit 0 ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit 0 ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit 0 ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    *:UNICOS/mp:*:*)
-	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
-	# Determine whether the default compiler uses glibc.
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#if __GLIBC__ >= 2
-	LIBC=gnu
-	#else
-	LIBC=
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-	# GNU/FreeBSD systems have a "k" prefix to indicate we are using
-	# FreeBSD's kernel, but not the complete OS.
-	case ${LIBC} in gnu) kernel_only='k' ;; esac
-	echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
-	exit 0 ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit 0 ;;
-    i*:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit 0 ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit 0 ;;
-    x86:Interix*:[34]*)
-	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
-	exit 0 ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit 0 ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit 0 ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit 0 ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit 0 ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    *:GNU:*:*)
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit 0 ;;
-    arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    cris:Linux:*:*)
-	echo cris-axis-linux-gnu
-	exit 0 ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    mips:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips
-	#undef mipsel
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mipsel
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
-	;;
-    mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips64
-	#undef mips64el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mips64el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips64
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
-	;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit 0 ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit 0 ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit 0 ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
-	esac
-	exit 0 ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
-	exit 0 ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
-	exit 0 ;;
-    sh64*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
-	exit 0 ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	# Set LC_ALL=C to ensure ld outputs messages in English.
-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0 ;;
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0 ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit 0 ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#ifdef __ELF__
-	# ifdef __GLIBC__
-	#  if __GLIBC__ >= 2
-	LIBC=gnu
-	#  else
-	LIBC=gnulibc1
-	#  endif
-	# else
-	LIBC=gnulibc1
-	# endif
-	#else
-	#ifdef __INTEL_COMPILER
-	LIBC=gnu
-	#else
-	LIBC=gnuaout
-	#endif
-	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
-	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
-	;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit 0 ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit 0 ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit 0 ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit 0 ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit 0 ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit 0 ;;
-    i*86:*:5:[78]*)
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit 0 ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit 0 ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
-        exit 0 ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit 0 ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit 0 ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit 0 ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit 0 ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit 0 ;;
-    M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit 0 ;;
-    M68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit 0 ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit 0 ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel at ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit 0 ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes at openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
-    *:*:*:FTX*)
-	# From seanf at swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit 0 ;;
-    *:VOS:*:*)
-	# From Paul.Green at stratus.com.
-	echo hppa1.1-stratus-vos
-	exit 0 ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit 0 ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit 0 ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit 0 ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit 0 ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit 0 ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Darwin:*:*)
-	case `uname -p` in
-	    *86) UNAME_PROCESSOR=i686 ;;
-	    powerpc) UNAME_PROCESSOR=powerpc ;;
-	esac
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit 0 ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
-		UNAME_PROCESSOR=i386
-		UNAME_MACHINE=pc
-	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit 0 ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit 0 ;;
-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit 0 ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit 0 ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit 0 ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit 0 ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit 0 ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit 0 ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit 0 ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit 0 ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit 0 ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit 0 ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit 0 ;;
-    SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
-	exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit 0 ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit 0 ;;
-    c34*)
-	echo c34-convex-bsd
-	exit 0 ;;
-    c38*)
-	echo c38-convex-bsd
-	exit 0 ;;
-    c4*)
-	echo c4-convex-bsd
-	exit 0 ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-    ftp://ftp.gnu.org/pub/gnu/config/
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches at gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/lib-src/sbsms/config/config.h b/lib-src/sbsms/config/config.h
deleted file mode 100644
index 64fc937..0000000
--- a/lib-src/sbsms/config/config.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* config/config.h.  Generated by configure.  */
-/* config/config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the `m' library (-lm). */
-#define HAVE_LIBM 1
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#define HAVE_MALLOC 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Name of package */
-#define PACKAGE "soundtouch"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "http://www.iki.fi/oparviai/soundtouch"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "SoundTouch"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "SoundTouch 1.2.1"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "soundtouch"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.2.1"
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Version number of package */
-#define VERSION "1.2.1"
-
-/* */
-#define WORDS_BIGENDIAN 1
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define as `__inline' if that's what the C compiler calls it, or to nothing
-   if it is not supported. */
-/* #undef inline */
-
-/* Define to rpl_malloc if the replacement function should be used. */
-/* #undef malloc */
diff --git a/lib-src/sbsms/config/config.h.in b/lib-src/sbsms/config/config.h.in
deleted file mode 100644
index 136d27a..0000000
--- a/lib-src/sbsms/config/config.h.in
+++ /dev/null
@@ -1,78 +0,0 @@
-/* config/config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#undef HAVE_MALLOC
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Version number of package */
-#undef VERSION
-
-/* */
-#undef WORDS_BIGENDIAN
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define as `__inline' if that's what the C compiler calls it, or to nothing
-   if it is not supported. */
-#undef inline
-
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
diff --git a/lib-src/sbsms/config/config.sub b/lib-src/sbsms/config/config.sub
deleted file mode 100755
index 6890099..0000000
--- a/lib-src/sbsms/config/config.sub
+++ /dev/null
@@ -1,1508 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-08-18'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit 0 ;;
-    --version | -v )
-       echo "$version" ; exit 0 ;;
-    --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit 0;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis)
-		os=
-		basic_machine=$1
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
- 	-chorusrdb)
- 		os=-chorusrdb
-		basic_machine=$1
- 		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	1750a | 580 \
-	| a29k \
-	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-	| c4x | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| fr30 | frv \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| m32r | m68000 | m68k | m88k | mcore \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64vr | mips64vrel \
-	| mips64orion | mips64orionel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| msp430 \
-	| ns16k | ns32k \
-	| openrisc | or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-	| pyramid \
-	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
-	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
-	| strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
-	| v850 | v850e \
-	| we32k \
-	| x86 | xscale | xstormy16 | xtensa \
-	| z8k)
-		basic_machine=$basic_machine-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	580-* \
-	| a29k-* \
-	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* \
-	| bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| clipper-* | cydra-* \
-	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
-	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| m32r-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | mcore-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64orion-* | mips64orionel-* \
-	| mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* \
-	| mips64vr5000-* | mips64vr5000el-* \
-	| mipsisa32-* | mipsisa32el-* \
-	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64sb1-* | mipsisa64sb1el-* \
-	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipstx39-* | mipstx39el-* \
-	| msp430-* \
-	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-	| pyramid-* \
-	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
-	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tron-* \
-	| v850-* | v850e-* | vax-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-	| xtensa-* \
-	| ymp-* \
-	| z8k-*)
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amd64)
-		basic_machine=x86_64-pc
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | j90)
-		basic_machine=j90-cray
-		os=-unicos
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	decsystem10* | dec10*)
-		basic_machine=pdp10-dec
-		os=-tops10
-		;;
-	decsystem20* | dec20*)
-		basic_machine=pdp10-dec
-		os=-tops20
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	mingw32)
-		basic_machine=i386-pc
-		os=-mingw32
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	morphos)
-		basic_machine=powerpc-unknown
-		os=-morphos
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	nv1)
-		basic_machine=nv1-cray
-		os=-unicosmp
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	or32 | or32-*)
-		basic_machine=or32-unknown
-		os=-coff
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-	pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pentium | p5 | k5 | k6 | nexgen | viac3)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon | athlon_*)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2 | pentiumiii | pentium3)
-		basic_machine=i686-pc
-		;;
-	pentium4)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-		;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-		basic_machine=powerpc64le-unknown
-		;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	s390 | s390-*)
-		basic_machine=s390-ibm
-		;;
-	s390x | s390x-*)
-		basic_machine=s390x-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sb1)
-		basic_machine=mipsisa64sb1-unknown
-		;;
-	sb1el)
-		basic_machine=mipsisa64sb1el-unknown
-		;;
-	sei)
-		basic_machine=mips-sei
-		os=-seiux
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparclite-wrs | simso-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=alphaev5-cray
-		os=-unicos
-		;;
-	t90)
-		basic_machine=t90-cray
-		os=-unicos
-		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	toad1)
-		basic_machine=pdp10-xkl
-		os=-tops20
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-		basic_machine=f301-fujitsu
-		;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
-		basic_machine=sh-unknown
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparc | sparcv9 | sparcv9b)
-		basic_machine=sparc-sun
-		;;
-	cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto-qnx*)
-		;;
-	-nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-atheos*)
-		os=-atheos
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-nova*)
-		os=-rtmk-nova
-		;;
-	-ns2 )
-		os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-		os=-mint
-		;;
-	-aros*)
-		os=-aros
-		;;
-	-kaos*)
-		os=-kaos
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-    c4x-* | tic4x-*)
-        os=-coff
-        ;;
-	# This must come before the *-dec entry.
-	pdp10-*)
-		os=-tops20
-		;;
-	pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	or32-*)
-		os=-coff
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-	*-gould)
-		os=-sysv
-		;;
-	*-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-	*-sgi)
-		os=-irix
-		;;
-	*-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-vxsim* | -vxworks* | -windiss*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-				vendor=atari
-				;;
-			-vos*)
-				vendor=stratus
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/lib-src/sbsms/config/depcomp b/lib-src/sbsms/config/depcomp
deleted file mode 100755
index edb5d38..0000000
--- a/lib-src/sbsms/config/depcomp
+++ /dev/null
@@ -1,479 +0,0 @@
-#! /bin/sh
-
-# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
-   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
-   dir=`echo "$object" | sed 's,/.*$,/,'`
-   if test "$dir" = "$object"; then
-      dir=
-   fi
-   # FIXME: should be _deps on DOS.
-   depfile="$dir.deps/$base"
-fi
-
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> $depfile
-    echo >> $depfile
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
-  tmpdepfile="$stripped.u"
-  if test "$libtool" = yes; then
-    "$@" -Wc,-M
-  else
-    "$@" -M
-  fi
-  stat=$?
-
-  if test -f "$tmpdepfile"; then :
-  else
-    stripped=`echo "$stripped" | sed 's,^.*/,,'`
-    tmpdepfile="$stripped.u"
-  fi
-
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-
-  if test -f "$tmpdepfile"; then
-    outname="$stripped.o"
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
-    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      tmpdepfile1="$dir.libs/$base.lo.d"
-      tmpdepfile2="$dir.libs/$base.d"
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1="$dir$base.o.d"
-      tmpdepfile2="$dir$base.d"
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2"
-      exit $stat
-   fi
-
-   if test -f "$tmpdepfile1"; then
-      tmpdepfile="$tmpdepfile1"
-   else
-      tmpdepfile="$tmpdepfile2"
-   fi
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no
-  for arg in "$@"; do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix="`echo $object | sed 's/^.*\././'`"
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  "$@" || exit $?
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-	set fnord "$@"
-	shift
-	shift
-	;;
-    *)
-	set fnord "$@" "$arg"
-	shift
-	shift
-	;;
-    esac
-  done
-  "$@" -E |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
diff --git a/lib-src/sbsms/config/install-sh b/lib-src/sbsms/config/install-sh
deleted file mode 100755
index 6ce63b9..0000000
--- a/lib-src/sbsms/config/install-sh
+++ /dev/null
@@ -1,294 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-#
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd=$cpprog
-	    shift
-	    continue;;
-
-	-d) dir_arg=true
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd=$stripprog
-	    shift
-	    continue;;
-
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
-
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
-
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-	echo "$0: no input file specified" >&2
-	exit 1
-else
-	:
-fi
-
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-
-	if [ -d "$dst" ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=$mkdirprog
-	fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
-	if [ -f "$src" ] || [ -d "$src" ]
-	then
-		:
-	else
-		echo "$0: $src does not exist" >&2
-		exit 1
-	fi
-
-	if [ x"$dst" = x ]
-	then
-		echo "$0: no destination specified" >&2
-		exit 1
-	else
-		:
-	fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-	if [ -d "$dst" ]
-	then
-		dst=$dst/`basename "$src"`
-	else
-		:
-	fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-	'
-IFS="${IFS-$defaultIFS}"
-
-oIFS=$IFS
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS=$oIFS
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-	pathcomp=$pathcomp$1
-	shift
-
-	if [ ! -d "$pathcomp" ] ;
-        then
-		$mkdirprog "$pathcomp"
-	else
-		:
-	fi
-
-	pathcomp=$pathcomp/
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd "$dst" &&
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-	if [ x"$transformarg" = x ]
-	then
-		dstfile=`basename "$dst"`
-	else
-		dstfile=`basename "$dst" $transformbasename |
-			sed $transformarg`$transformbasename
-	fi
-
-# don't allow the sed command to completely eliminate the filename
-
-	if [ x"$dstfile" = x ]
-	then
-		dstfile=`basename "$dst"`
-	else
-		:
-	fi
-
-# Make a couple of temp file names in the proper directory.
-
-	dsttmp=$dstdir/_inst.$$_
-	rmtmp=$dstdir/_rm.$$_
-
-# Trap to clean up temp files at exit.
-
-	trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
-	trap '(exit $?); exit' 1 2 13 15
-
-# Move or copy the file name to the temp name
-
-	$doit $instcmd "$src" "$dsttmp" &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
-
-# Now remove or move aside any old file at destination location.  We try this
-# two ways since rm can't unlink itself on some systems and the destination
-# file might be busy for other reasons.  In this case, the final cleanup
-# might fail but the new file should still install successfully.
-
-{
-	if [ -f "$dstdir/$dstfile" ]
-	then
-		$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
-		$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
-		{
-		  echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-		  (exit 1); exit
-		}
-	else
-		:
-	fi
-} &&
-
-# Now rename the file to the real destination.
-
-	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-
-fi &&
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
-
-{
-	(exit 0); exit
-}
diff --git a/lib-src/sbsms/config/ltmain.sh b/lib-src/sbsms/config/ltmain.sh
deleted file mode 100644
index 7e0c9f4..0000000
--- a/lib-src/sbsms/config/ltmain.sh
+++ /dev/null
@@ -1,5062 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell, and then maybe $echo will work.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# The name of this program.
-progname=`$echo "$0" | ${SED} 's%^.*/%%'`
-modename="$progname"
-
-# Constants.
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.4.3
-TIMESTAMP=" (1.922.2.110 2002/10/23 01:39:54)"
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII                                                         
-case `echo A|od -x` in                                                         
- *[Cc]1*) # EBCDIC based system                                                
-  SP2NL="tr '\100' '\n'"                                                       
-  NL2SP="tr '\r\n' '\100\100'"                                                 
-  ;;                                                                           
- *) # Assume ASCII based system                                                
-  SP2NL="tr '\040' '\012'"                                                     
-  NL2SP="tr '\015\012' '\040\040'"                                             
-  ;;                                                                           
-esac                                                                           
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
-fi
-
-# Make sure IFS has a sensible default
-: ${IFS=" 	"}
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  echo "$modename: not configured to build any kind of library" 1>&2
-  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit 1
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-
-# Parse our command line options once, thoroughly.
-while test $# -gt 0
-do
-  arg="$1"
-  shift
-
-  case $arg in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case $prev in
-    execute_dlfiles)
-      execute_dlfiles="$execute_dlfiles $arg"
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
-
-    prev=
-    prevopt=
-    continue
-  fi
-
-  # Have we seen a non-optional argument yet?
-  case $arg in
-  --help)
-    show_help=yes
-    ;;
-
-  --version)
-    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
-    exit 0
-    ;;
-
-  --config)
-    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
-    exit 0
-    ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
-
-  --features)
-    echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-    exit 0
-    ;;
-
-  --finish) mode="finish" ;;
-
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
-
-  --preserve-dup-deps) duplicate_deps="yes" ;;
-
-  --quiet | --silent)
-    show=:
-    ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
-    ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    nonopt="$arg"
-    break
-    ;;
-  esac
-done
-
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit 1
-fi
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    case $nonopt in
-    *cc | *++ | gcc* | *-gcc* | xlc*)
-      mode=link
-      for arg
-      do
-	case $arg in
-	-c)
-	   mode=compile
-	   break
-	   ;;
-	esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
-      ;;
-    *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
-
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-	if test -n "$nonopt"; then
-	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-	else
-	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-	fi
-      fi
-      ;;
-    esac
-  fi
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
-    exit 1
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
-
-  # These modes are in order of execution frequency so that they run quickly.
-  case $mode in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
-    # Get the compilation command and the source file.
-    base_compile=
-    prev=
-    lastarg=
-    srcfile="$nonopt"
-    suppress_output=
-
-    user_target=no
-    for arg
-    do
-      case $prev in
-      "") ;;
-      xcompiler)
-	# Aesthetically quote the previous argument.
-	prev=
-	lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-
-	case $arg in
-	# Double-quote args containing other shell metacharacters.
-	# Many Bourne shells cannot handle close brackets correctly
-	# in scan sets, so we specify it separately.
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-
-	# Add the previous argument to base_compile.
-	if test -z "$base_compile"; then
-	  base_compile="$lastarg"
-	else
-	  base_compile="$base_compile $lastarg"
-	fi
-	continue
-	;;
-      esac
-
-      # Accept any command-line options.
-      case $arg in
-      -o)
-	if test "$user_target" != "no"; then
-	  $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-	  exit 1
-	fi
-	user_target=next
-	;;
-
-      -static)
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Wc,*)
-	args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
-	lastarg=
-	save_ifs="$IFS"; IFS=','
-	for arg in $args; do
-	  IFS="$save_ifs"
-
-	  # Double-quote args containing other shell metacharacters.
-	  # Many Bourne shells cannot handle close brackets correctly
-	  # in scan sets, so we specify it separately.
-	  case $arg in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    arg="\"$arg\""
-	    ;;
-	  esac
-	  lastarg="$lastarg $arg"
-	done
-	IFS="$save_ifs"
-	lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
-	# Add the arguments to base_compile.
-	if test -z "$base_compile"; then
-	  base_compile="$lastarg"
-	else
-	  base_compile="$base_compile $lastarg"
-	fi
-	continue
-	;;
-      esac
-
-      case $user_target in
-      next)
-	# The next one is the -o target name
-	user_target=yes
-	continue
-	;;
-      yes)
-	# We got the output file
-	user_target=set
-	libobj="$arg"
-	continue
-	;;
-      esac
-
-      # Accept the current argument as the source file.
-      lastarg="$srcfile"
-      srcfile="$arg"
-
-      # Aesthetically quote the previous argument.
-
-      # Backslashify any backslashes, double quotes, and dollar signs.
-      # These are the only characters that are still specially
-      # interpreted inside of double-quoted scrings.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      case $lastarg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	lastarg="\"$lastarg\""
-	;;
-      esac
-
-      # Add the previous argument to base_compile.
-      if test -z "$base_compile"; then
-	base_compile="$lastarg"
-      else
-	base_compile="$base_compile $lastarg"
-      fi
-    done
-
-    case $user_target in
-    set)
-      ;;
-    no)
-      # Get the name of the library object.
-      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
-      ;;
-    *)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit 1
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSfmso]'
-    case $libobj in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.f90) xform=f90 ;;
-    *.for) xform=for ;;
-    esac
-
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
-    case $libobj in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
-    *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit 1
-      ;;
-    esac
-
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $libobj"
-    else
-      removelist="$libobj"
-    fi
-
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit 1" 1 2 15
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit 1" 1 2 15
-    else
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $run ln "$0" "$lockfile" 2>/dev/null; do
-	$show "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-	echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit 1
-      fi
-      echo $srcfile > "$lockfile"
-    fi
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-	# All platforms use -DPIC, to notify preprocessed assembler code.
-	command="$base_compile $srcfile $pic_flag -DPIC"
-      else
-	# Don't build PIC code
-	command="$base_compile $srcfile"
-      fi
-      if test "$build_old_libs" = yes; then
-	lo_libobj="$libobj"
-	dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
-	if test "X$dir" = "X$libobj"; then
-	  dir="$objdir"
-	else
-	  dir="$dir/$objdir"
-	fi
-	libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
-
-	if test -d "$dir"; then
-	  $show "$rm $libobj"
-	  $run $rm $libobj
-	else
-	  $show "$mkdir $dir"
-	  $run $mkdir $dir
-	  status=$?
-	  if test $status -ne 0 && test ! -d $dir; then
-	    exit $status
-	  fi
-	fi
-      fi
-      if test "$compiler_o_lo" = yes; then
-	output_obj="$libobj"
-	command="$command -o $output_obj"
-      elif test "$compiler_c_o" = yes; then
-	output_obj="$obj"
-	command="$command -o $output_obj"
-      fi
-
-      $run $rm "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-	test -n "$output_obj" && $run $rm $removelist
-	exit 1
-      fi
-
-      if test "$need_locks" = warn &&
-	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
-	echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit 1
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test x"$output_obj" != x"$libobj"; then
-	$show "$mv $output_obj $libobj"
-	if $run $mv $output_obj $libobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # If we have no pic_flag, then copy the object into place and finish.
-      if (test -z "$pic_flag" || test "$pic_mode" != default) &&
-	 test "$build_old_libs" = yes; then
-	# Rename the .lo from within objdir to obj
-	if test -f $obj; then
-	  $show $rm $obj
-	  $run $rm $obj
-	fi
-
-	$show "$mv $libobj $obj"
-	if $run $mv $libobj $obj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-
-	xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-	if test "X$xdir" = "X$obj"; then
-	  xdir="."
-	else
-	  xdir="$xdir"
-	fi
-	baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
-	libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
-	# Now arrange that obj and lo_libobj become the same file
-	$show "(cd $xdir && $LN_S $baseobj $libobj)"
-	if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
-	  # Unlock the critical section if it was locked
-	  if test "$need_locks" != no; then
-	    $run $rm "$lockfile"
-	  fi
-	  exit 0
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Allow error messages only from the first compilation.
-      suppress_output=' >/dev/null 2>&1'
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-	# Don't build PIC code
-	command="$base_compile $srcfile"
-      else
-	# All platforms use -DPIC, to notify preprocessed assembler code.
-	command="$base_compile $srcfile $pic_flag -DPIC"
-      fi
-      if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
-	output_obj="$obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      $run $rm "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-	$run $rm $removelist
-	exit 1
-      fi
-
-      if test "$need_locks" = warn &&
-	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
-	echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit 1
-      fi
-
-      # Just move the object if needed
-      if test x"$output_obj" != x"$obj"; then
-	$show "$mv $output_obj $obj"
-	if $run $mv $output_obj $obj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Create an invalid libtool object if no PIC, so that we do not
-      # accidentally link it into a program.
-      if test "$build_libtool_libs" != yes; then
-	$show "echo timestamp > $libobj"
-	$run eval "echo timestamp > \$libobj" || exit $?
-      else
-	# Move the .lo from within objdir
-	$show "$mv $libobj $lo_libobj"
-	if $run $mv $libobj $lo_libobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-    fi
-
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $run $rm "$lockfile"
-    fi
-
-    exit 0
-    ;;
-
-  # libtool link mode
-  link | relink)
-    modename="$modename: link"
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invokation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args="$nonopt"
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -all-static | -static)
-	if test "X$arg" = "X-all-static"; then
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	else
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	fi
-	build_libtool_libs=no
-	build_old_libs=yes
-	prefer_static_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test $# -gt 0; do
-      arg="$1"
-      shift
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
-	;;
-      *) qarg=$arg ;;
-      esac
-      libtool_args="$libtool_args $qarg"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  compile_command="$compile_command @OUTPUT@"
-	  finalize_command="$finalize_command @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    compile_command="$compile_command @SYMFILE@"
-	    finalize_command="$finalize_command @SYMFILE@"
-	    preload=yes
-	  fi
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test "$dlself" = no; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test "$prev" = dlprefiles; then
-	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
-	    else
-	      dlprefiles="$dlprefiles $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  if test ! -f "$arg"; then
-	    $echo "$modename: symbol file \`$arg' does not exist"
-	    exit 1
-	  fi
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    $echo "$modename: only absolute run-paths are allowed" 1>&2
-	    exit 1
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
-	  prev=
-	  compile_command="$compile_command $wl$qarg"
-	  finalize_command="$finalize_command $wl$qarg"
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n $prev
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  compile_command="$compile_command $link_static_flag"
-	  finalize_command="$finalize_command $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-	continue
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  $echo "$modename: more than one -exported-symbols argument is not allowed"
-	  exit 1
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | no/*-*-nonstopux*)
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  if test -z "$absdir"; then
-	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-	    exit 1
-	  fi
-	  dir="$absdir"
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "*) ;;
-	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-	  case $host in
-	  *-*-cygwin* | *-*-pw32* | *-*-beos*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-mingw* | *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  esac
-	 elif test "X$arg" = "X-lc_r"; then
-	  case $host in
-	 *-*-openbsd* | *-*-freebsd*)
-	    # Do not include libc_r directly, use -pthread flag.
-	    continue
-	    ;;
-	  esac
-	fi
-	deplibs="$deplibs $arg"
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # in order for the loader to find any dlls it needs.
-	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
-	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  $echo "$modename: only absolute run-paths are allowed" 1>&2
-	  exit 1
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
-	esac
-	continue
-	;;
-
-      -static)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-
-      -Wc,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $flag"
-	done
-	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-	;;
-
-      -Wl,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $wl$flag"
-	  linker_flags="$linker_flags $flag"
-	done
-	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      # Some other compiler flag.
-      -* | +*)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-
-      *.lo | *.$objext)
-	# A library or standard object.
-	if test "$prev" = dlfiles; then
-	  # This file was specified with -dlopen.
-	  if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-	    dlfiles="$dlfiles $arg"
-	    prev=
-	    continue
-	  else
-	    # If libtool objects are unsupported, then we need to preload.
-	    prev=dlprefiles
-	  fi
-	fi
-
-	if test "$prev" = dlprefiles; then
-	  # Preload the old-style object.
-	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
-	  prev=
-	else
-	  case $arg in
-	  *.lo) libobjs="$libobjs $arg" ;;
-	  *) objs="$objs $arg" ;;
-	  esac
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	if test "$prev" = dlfiles; then
-	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
-	  prev=
-	elif test "$prev" = dlprefiles; then
-	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
-	  prev=
-	else
-	  deplibs="$deplibs $arg"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-      fi
-    done # argument parsing loop
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
-    fi
-
-    # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$output_objdir" = "X$output"; then
-      output_objdir="$objdir"
-    else
-      output_objdir="$output_objdir/$objdir"
-    fi
-    # Create the object directory.
-    if test ! -d $output_objdir; then
-      $show "$mkdir $output_objdir"
-      $run $mkdir $output_objdir
-      status=$?
-      if test $status -ne 0 && test ! -d $output_objdir; then
-	exit $status
-      fi
-    fi
-
-    # Determine the type of output
-    case $output in
-    "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if test "X$duplicate_deps" = "Xyes" ; then
-	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	esac
-      fi
-      libs="$libs $deplib"
-    done
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-    case $linkmode in
-    lib)
-	passes="conv link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
-	    exit 1
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=no
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-    for pass in $passes; do
-      if test $linkmode = prog; then
-	# Determine which files to process
-	case $pass in
-	dlopen)
-	  libs="$dlfiles"
-	  save_deplibs="$deplibs" # Collect dlpreopened libraries
-	  deplibs=
-	  ;;
-	dlpreopen) libs="$dlprefiles" ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      for deplib in $libs; do
-	lib=
-	found=no
-	case $deplib in
-	-l*)
-	  if test $linkmode = oldlib && test $linkmode = obj; then
-	    $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
-	    continue
-	  fi
-	  if test $pass = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
-	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
-	    # Search the libtool library
-	    lib="$searchdir/lib${name}.la"
-	    if test -f "$lib"; then
-	      found=yes
-	      break
-	    fi
-	  done
-	  if test "$found" != yes; then
-	    # deplib doesn't seem to be a libtool library
-	    if test "$linkmode,$pass" = "prog,link"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  fi
-	  ;; # -l
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test $pass = conv && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-	    ;;
-	  prog)
-	    if test $pass = conv; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test $pass = scan; then
-	      deplibs="$deplib $deplibs"
-	      newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    ;;
-	  *)
-	    $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test $pass = link; then
-	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la) lib="$deplib" ;;
-	*.$libext)
-	  if test $pass = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    if test "$deplibs_check_method" != pass_all; then
-	      echo
-	      echo "*** Warning: Trying to link with static lib archive $deplib."
-	      echo "*** I have the capability to make that library automatically link in when"
-	      echo "*** you link to this library.  But I can only do this if you have a"
-	      echo "*** shared version of the library, which you do not appear to have"
-	      echo "*** because the file extensions .$libext of this argument makes me believe"
-	      echo "*** that it is just a static archive that I should not used here."
-	    else
-	      echo
-	      echo "*** Warning: Linking the shared library $output against the"
-	      echo "*** static library $deplib is not portable!"
-	      deplibs="$deplib $deplibs"
-	    fi
-	    continue
-	    ;;
-	  prog)
-	    if test $pass != link; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-	    # If there is no dlopen support or we're linking statically,
-	    # we need to preload.
-	    newdlprefiles="$newdlprefiles $deplib"
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    newdlfiles="$newdlfiles $deplib"
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=yes
-	  continue
-	  ;;
-	esac # case $deplib
-	if test $found = yes || test -f "$lib"; then :
-	else
-	  $echo "$modename: cannot find the library \`$lib'" 1>&2
-	  exit 1
-	fi
-
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  exit 1
-	fi
-
-	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$ladir" = "X$lib" && ladir="."
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variable installed.
-	installed=yes
-
-	# Read the .la file
-	case $lib in
-	*/* | *\\*) . $lib ;;
-	*) . ./$lib ;;
-	esac
-
-	if test "$linkmode,$pass" = "lib,link" ||
-	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test $linkmode = oldlib && test $linkmode = obj; }; then
-	   # Add dl[pre]opened files of deplib
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-	fi
-
-	if test $pass = conv; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	      exit 1
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-              if test "X$duplicate_deps" = "Xyes" ; then
-	        case "$tmp_libs " in
-	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	        esac
-              fi
-	      tmp_libs="$tmp_libs $deplib"
-	    done
-	  elif test $linkmode != prog && test $linkmode != lib; then
-	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
-	    exit 1
-	  fi
-	  continue
-	fi # $pass = conv
-
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
-	if test -z "$linklib"; then
-	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	  exit 1
-	fi
-
-	# This library was specified with -dlopen.
-	if test $pass = dlopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
-	    exit 1
-	  fi
-	  if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.
-	    dlprefiles="$dlprefiles $lib"
-	  else
-	    newdlfiles="$newdlfiles $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
-	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-	    abs_ladir="$ladir"
-	  fi
-	  ;;
-	esac
-	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
-	# Find the relevant object directory and library name.
-	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    libdir="$abs_ladir"
-	  else
-	    dir="$libdir"
-	    absdir="$libdir"
-	  fi
-	else
-	  dir="$ladir/$objdir"
-	  absdir="$abs_ladir/$objdir"
-	  # Remove this search path later
-	  notinst_path="$notinst_path $abs_ladir"
-	fi # $installed = yes
-	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
-	# This library was specified with -dlpreopen.
-	if test $pass = dlpreopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
-	    exit 1
-	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test $linkmode = lib; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs"
-	  fi
-	  continue
-	fi
-
-	if test $linkmode = prog && test $pass != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=no
-	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
-	     test "$build_libtool_libs" = no; then
-	    linkalldeplibs=yes
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
-	    esac
-	    # Need to link against all dependency_libs?
-	    if test $linkalldeplibs = yes; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if test "X$duplicate_deps" = "Xyes" ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	link_static=no # Whether the deplib will be linked statically
-	if test -n "$library_names" &&
-	   { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
-	  # Link against this shared library
-
-	  if test "$linkmode,$pass" = "prog,link" ||
-	   { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	    if test $linkmode = prog; then
-	      # We need to hardcode the library path
-	      if test -n "$shlibpath_var"; then
-		# Make sure the rpath contains only unique directories.
-		case "$temp_rpath " in
-		*" $dir "*) ;;
-		*" $absdir "*) ;;
-		*) temp_rpath="$temp_rpath $dir" ;;
-		esac
-	      fi
-	    fi
-	  fi # $linkmode,$pass = prog,link...
-
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-
-	  if test "$installed" = no; then
-	    notinst_deplibs="$notinst_deplibs $lib"
-	    need_relink=yes
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    realname="$2"
-	    shift; shift
-	    libname=`eval \\$echo \"$libname_spec\"`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname="$dlname"
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin*)
-		major=`expr $current - $age`
-		versuffix="-$major"
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname="$realname"
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot="$soname"
-	    soname=`echo $soroot | ${SED} -e 's/^.*\///'`
-	    newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      $show "extracting exported symbol list from \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      eval cmds=\"$extract_expsyms_cmds\"
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      $show "generating import library for \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      eval cmds=\"$old_archive_from_expsyms_cmds\"
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n $old_archive_from_expsyms_cmds
-
-	  if test $linkmode = prog || test "$mode" != relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test "$hardcode_direct" = no; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = no; then
-		case $host in
-		*-*-sunos*) add_shlibpath="$dir" ;;
-		esac
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = no; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test "$hardcode_direct" = yes; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = yes; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test "$lib_linked" != yes; then
-	      $echo "$modename: configuration error: unsupported hardcode properties"
-	      exit 1
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test $linkmode = prog; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes && \
-		 test "$hardcode_minus_L" != yes && \
-		 test "$hardcode_shlibpath_var" = yes; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test $linkmode = prog || test "$mode" = relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes; then
-	      add="$libdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-	      esac
-	      add="-l$name"
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    fi
-
-	    if test $linkmode = prog; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test $linkmode = prog; then
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-
-	  # Try to link the static library
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test "$build_libtool_libs" = yes; then
-	  # Not a shared library
-	  if test "$deplibs_check_method" != pass_all; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    echo
-	    echo "*** Warning: This system can not link to static lib archive $lib."
-	    echo "*** I have the capability to make that library automatically link in when"
-	    echo "*** you link to this library.  But I can only do this if you have a"
-	    echo "*** shared version of the library, which you do not appear to have."
-	    if test "$module" = yes; then
-	      echo "*** But as you try to build a module library, libtool will still create "
-	      echo "*** a static module, that should work as long as the dlopening application"
-	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		echo
-		echo "*** However, this would only work if libtool was able to extract symbol"
-		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		echo "*** not find such a program.  So, this module is probably useless."
-		echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test "$build_old_libs" = no; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    convenience="$convenience $dir/$old_library"
-	    old_convenience="$old_convenience $dir/$old_library"
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test $linkmode = lib; then
-	  if test -n "$dependency_libs" &&
-	     { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
-	       test $link_static = yes; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
-		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
-	      esac
-	    done
-	    dependency_libs="$temp_deplibs"
-	  fi
-
-	  newlib_search_path="$newlib_search_path $absdir"
-	  # Link against this library
-	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    if test "X$duplicate_deps" = "Xyes" ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-
-	  if test $link_all_deplibs != no; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      -L*) path="$deplib" ;;
-	      *.la)
-		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
-		test "X$dir" = "X$deplib" && dir="."
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-		    absdir="$dir"
-		  fi
-		  ;;
-		esac
-		if grep "^installed=no" $deplib > /dev/null; then
-		  path="-L$absdir/$objdir"
-		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  if test -z "$libdir"; then
-		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		    exit 1
-		  fi
-		  if test "$absdir" != "$libdir"; then
-		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-		  fi
-		  path="-L$absdir"
-		fi
-		;;
-	      *) continue ;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$deplibs $path" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      if test $pass = dlpreopen; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test $pass != dlopen; then
-	test $pass != scan && dependency_libs="$newdependency_libs"
-	if test $pass != conv; then
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	fi
-
-	if test "$linkmode,$pass" != "prog,link"; then
-	  vars="deplibs"
-	else
-	  vars="compile_deplibs finalize_deplibs"
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    *)
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
-	      esac
-	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-      if test "$pass" = "conv" &&
-       { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then
-	libs="$deplibs" # reset libs
-	deplibs=
-      fi
-    done # for pass
-    if test $linkmode = prog; then
-      dlfiles="$newdlfiles"
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      objs="$objs$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	if test "$module" = no; then
-	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-	if test "$need_lib_prefix" != no; then
-	  # Add the "lib" prefix for modules if required
-	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	  eval libname=\"$libname_spec\"
-	else
-	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test "$deplibs_check_method" != pass_all; then
-	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
-	  exit 1
-	else
-	  echo
-	  echo "*** Warning: Linking the shared library $output against the non-libtool"
-	  echo "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
-	fi
-      fi
-
-      if test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
-      fi
-
-      set dummy $rpath
-      if test $# -gt 2; then
-	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
-	  # Building a libtool convenience library.
-	  libext=al
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	if test -n "$vinfo"; then
-	  $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
-	fi
-
-	if test -n "$release"; then
-	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-	fi
-      else
-
-	# Parse the version information argument.
-	save_ifs="$IFS"; IFS=':'
-	set dummy $vinfo 0 0 0
-	IFS="$save_ifs"
-
-	if test -n "$8"; then
-	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-
-	current="$2"
-	revision="$3"
-	age="$4"
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	case $revision in
-	0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	case $age in
-	0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	if test $age -gt $current; then
-	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit 1
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  # Darwin ld doesn't like 0 for these options...
-	  minor_current=`expr $current + 1`
-	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-	  ;;
-
-	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
-	  ;;
-
-	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current";
-	  ;;
-
-	irix | nonstopux)
-	  major=`expr $current - $age + 1`
-
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring="$verstring_prefix$major.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test $loop != 0; do
-	    iface=`expr $revision - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring_prefix$major.$iface:$verstring"
-	  done
-
-	  # Before this point, $major must not contain `.'.
-	  major=.$major
-	  versuffix="$major.$revision"
-	  ;;
-
-	linux)
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  ;;
-
-	osf)
-	  major=.`expr $current - $age`
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test $loop != 0; do
-	    iface=`expr $current - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring:${iface}.0"
-	  done
-
-	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
-	  ;;
-
-	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 filesystems.
-	  major=`expr $current - $age`
-	  versuffix="-$major"
-	  ;;
-
-	*)
-	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
-	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  verstring="0.0"
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=""
-	    ;;
-	  *)
-	    verstring="0.0"
-	    ;;
-	  esac
-	  if test "$need_version" = no; then
-	    versuffix=
-	  else
-	    versuffix=".0.0"
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
-	  major=
-	  versuffix=
-	  verstring=""
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-	    build_libtool_libs=no
-	    build_old_libs=yes
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
-	fi
-      fi
-
-      if test "$mode" != relink; then
-	# Remove our outputs.
-	$show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
-	$run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      for path in $notinst_path; do
-	lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
-	deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
-	dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
-      done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-	if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
-	esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs -framework System"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test $build_libtool_need_lc = "yes"; then
-	      deplibs="$deplibs -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behaviour.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $rm conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $rm conftest
-	  $CC -o conftest conftest.c $deplibs
-	  if test $? -eq 0 ; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      name="`expr $i : '-l\(.*\)'`"
-	      # If $name is empty we are operating on a -L argument.
-	      if test -n "$name" && test "$name" != "0"; then
-		libname=`eval \\$echo \"$libname_spec\"`
-		deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		set dummy $deplib_matches
-		deplib_match=$2
-		if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		  newdeplibs="$newdeplibs $i"
-		else
-		  droppeddeps=yes
-		  echo
-		  echo "*** Warning: dynamic linker does not accept needed library $i."
-		  echo "*** I have the capability to make that library automatically link in when"
-		  echo "*** you link to this library.  But I can only do this if you have a"
-		  echo "*** shared version of the library, which I believe you do not have"
-		  echo "*** because a test_compile did reveal that the linker did not use it for"
-		  echo "*** its dynamic dependency list that programs get resolved with at runtime."
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  else
-	    # Error occured in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      name="`expr $i : '-l\(.*\)'`"
-	     # If $name is empty we are operating on a -L argument.
-	      if test -n "$name" && test "$name" != "0"; then
-		$rm conftest
-		$CC -o conftest conftest.c $i
-		# Did it work?
-		if test $? -eq 0 ; then
-		  ldd_output=`ldd conftest`
-		  libname=`eval \\$echo \"$libname_spec\"`
-		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		  set dummy $deplib_matches
-		  deplib_match=$2
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
-		  else
-		    droppeddeps=yes
-		    echo
-		    echo "*** Warning: dynamic linker does not accept needed library $i."
-		    echo "*** I have the capability to make that library automatically link in when"
-		    echo "*** you link to this library.  But I can only do this if you have a"
-		    echo "*** shared version of the library, which you do not appear to have"
-		    echo "*** because a test_compile did reveal that the linker did not use this one"
-		    echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-		  fi
-		else
-		  droppeddeps=yes
-		  echo
-		  echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  echo "***  make it link in!  You will probably need to install it or some"
-		  echo "*** library that it depends on before this library will be fully"
-		  echo "*** functional.  Installing it before continuing would be even better."
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method
-	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    name="`expr $a_deplib : '-l\(.*\)'`"
-	    # If $name is empty we are operating on a -L argument.
-	    if test -n "$name" && test "$name" != "0"; then
-	      libname=`eval \\$echo \"$libname_spec\"`
-	      for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		    for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null \
-			 | grep " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib="$potent_lib"
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-			 | ${SED} 10q \
-			 | egrep "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
-			a_deplib=""
-			break 2
-		      fi
-		    done
-	      done
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		echo
-		echo "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  echo "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  echo "*** with $libname and none of the candidates passed a file format test"
-		  echo "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    name="`expr $a_deplib : '-l\(.*\)'`"
-	    # If $name is empty we are operating on a -L argument.
-	    if test -n "$name" && test "$name" != "0"; then
-	      libname=`eval \\$echo \"$libname_spec\"`
-	      for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		for potent_lib in $potential_libs; do
-		  potlib="$potent_lib" # see symlink-check below in file_magic test
-		  if eval echo \"$potent_lib\" 2>/dev/null \
-		      | ${SED} 10q \
-		      | egrep "$match_pattern_regex" > /dev/null; then
-		    newdeplibs="$newdeplibs $a_deplib"
-		    a_deplib=""
-		    break 2
-		  fi
-		done
-	      done
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		echo
-		echo "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  echo "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  echo "*** with $libname and none of the candidates passed a file format test"
-		  echo "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=""
-	  if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-	       -e 's/ -[LR][^ ]*//g' -e 's/[ 	]//g' |
-	     grep . >/dev/null; then
-	    echo
-	    if test "X$deplibs_check_method" = "Xnone"; then
-	      echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	  fi
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library is the System framework
-	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	  ;;
-	esac
-
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
-	    echo
-	    echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    echo "*** dependencies of module $libname.  Therefore, libtool will create"
-	    echo "*** a static module, that should work as long as the dlopening"
-	    echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      echo
-	      echo "*** However, this would only work if libtool was able to extract symbol"
-	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      echo "*** not find such a program.  So, this module is probably useless."
-	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    echo "*** The inter-library dependencies that have been dropped here will be"
-	    echo "*** automatically added whenever a program is linked with this library"
-	    echo "*** or is declared to -dlopen it."
-
-	    if test $allow_undefined = no; then
-	      echo
-	      echo "*** Since this library must not contain undefined symbols,"
-	      echo "*** because either the platform does not support them or"
-	      echo "*** it was explicitly requested with -no-undefined,"
-	      echo "*** libtool will only create a static version of it."
-	      if test "$build_old_libs" = no; then
-		oldlibs="$output_objdir/$libname.$libext"
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	if test $hardcode_into_libs = yes; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs="$libdir"
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir="$hardcode_libdirs"
-	    eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	realname="$2"
-	shift; shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname="$realname"
-	fi
-	test -z "$dlname" && dlname=$soname
-
-	lib="$output_objdir/$realname"
-	for link
-	do
-	  linknames="$linknames $link"
-	done
-
-	# Ensure that we have .o objects for linkers which dislike .lo
-	# (e.g. aix) in case we are running --disable-static
-	for obj in $libobjs; do
-	  xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-	  if test "X$xdir" = "X$obj"; then
-	    xdir="."
-	  else
-	    xdir="$xdir"
-	  fi
-	  baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-	  oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
-	  if test ! -f $xdir/$oldobj; then
-	    $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
-	    $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
-	  fi
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    eval cmds=\"$export_symbols_cmds\"
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      $show "$cmd"
-	      $run eval "$cmd" || exit $?
-	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex"; then
-	      $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-	      $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-	fi
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	  else
-	    gentop="$output_objdir/${outputname}x"
-	    $show "${rm}r $gentop"
-	    $run ${rm}r "$gentop"
-	    $show "mkdir $gentop"
-	    $run mkdir "$gentop"
-	    status=$?
-	    if test $status -ne 0 && test ! -d "$gentop"; then
-	      exit $status
-	    fi
-	    generated="$generated $gentop"
-
-	    for xlib in $convenience; do
-	      # Extract the objects.
-	      case $xlib in
-	      [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-	      *) xabs=`pwd`"/$xlib" ;;
-	      esac
-	      xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-	      xdir="$gentop/$xlib"
-
-	      $show "${rm}r $xdir"
-	      $run ${rm}r "$xdir"
-	      $show "mkdir $xdir"
-	      $run mkdir "$xdir"
-	      status=$?
-	      if test $status -ne 0 && test ! -d "$xdir"; then
-		exit $status
-	      fi
-	      $show "(cd $xdir && $AR x $xabs)"
-	      $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-	      libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
-	    done
-	  fi
-	fi
-
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	  eval cmds=\"$archive_expsym_cmds\"
-	else
-	  save_deplibs="$deplibs"
-	  for conv in $convenience; do
-	    tmp_deplibs=
-	    for test_deplib in $deplibs; do
-	      if test "$test_deplib" != "$conv"; then
-		tmp_deplibs="$tmp_deplibs $test_deplib"
-	      fi
-	    done
-	    deplibs="$tmp_deplibs"
-	  done
-	  eval cmds=\"$archive_cmds\"
-	  deplibs="$save_deplibs"
-	fi
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
-
-	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-	  exit 0
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
-
-      case $output in
-      *.lo)
-	if test -n "$objs$old_deplibs"; then
-	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-	  exit 1
-	fi
-	libobj="$output"
-	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
-	;;
-      *)
-	libobj=
-	obj="$output"
-	;;
-      esac
-
-      # Delete the old objects.
-      $run $rm $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
-      wl=
-
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
-	else
-	  gentop="$output_objdir/${obj}x"
-	  $show "${rm}r $gentop"
-	  $run ${rm}r "$gentop"
-	  $show "mkdir $gentop"
-	  $run mkdir "$gentop"
-	  status=$?
-	  if test $status -ne 0 && test ! -d "$gentop"; then
-	    exit $status
-	  fi
-	  generated="$generated $gentop"
-
-	  for xlib in $convenience; do
-	    # Extract the objects.
-	    case $xlib in
-	    [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-	    *) xabs=`pwd`"/$xlib" ;;
-	    esac
-	    xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-	    xdir="$gentop/$xlib"
-
-	    $show "${rm}r $xdir"
-	    $run ${rm}r "$xdir"
-	    $show "mkdir $xdir"
-	    $run mkdir "$xdir"
-	    status=$?
-	    if test $status -ne 0 && test ! -d "$xdir"; then
-	      exit $status
-	    fi
-	    $show "(cd $xdir && $AR x $xabs)"
-	    $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-	    reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
-	  done
-	fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      eval cmds=\"$reload_cmds\"
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	exit 0
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	$show "echo timestamp > $libobj"
-	$run eval "echo timestamp > $libobj" || exit $?
-	exit 0
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
-	eval cmds=\"$reload_cmds\"
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
-      else
-	# Just create a symlink.
-	$show $rm $libobj
-	$run $rm $libobj
-	xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
-	if test "X$xdir" = "X$libobj"; then
-	  xdir="."
-	else
-	  xdir="$xdir"
-	fi
-	baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
-	oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
-	$show "(cd $xdir && $LN_S $oldobj $baseobj)"
-	$run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
-      fi
-
-      if test -n "$gentop"; then
-	$show "${rm}r $gentop"
-	$run ${rm}r $gentop
-      fi
-
-      exit 0
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
-      esac
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
-
-      if test "$preload" = yes; then
-	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
-	   test "$dlopen_self_static" = unknown; then
-	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-	fi
-      fi
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	case $host in
-	*darwin*)
-	  # Don't allow lazy linking, it breaks C++ global constructors
-	  compile_command="$compile_command ${wl}-bind_at_load"
-	  finalize_command="$finalize_command ${wl}-bind_at_load"
-	  ;;
-	esac
-	;;
-      esac
-
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	  dlsyms="${outputname}S.c"
-	else
-	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-	fi
-      fi
-
-      if test -n "$dlsyms"; then
-	case $dlsyms in
-	"") ;;
-	*.c)
-	  # Discover the nlist of each of the dlfiles.
-	  nlist="$output_objdir/${outputname}.nm"
-
-	  $show "$rm $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Parse the name list into a source file.
-	  $show "creating $output_objdir/$dlsyms"
-
-	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-	  if test "$dlself" = yes; then
-	    $show "generating symbol list for \`$output'"
-
-	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-	    # Add our own program objects to the symbol list.
-	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	    for arg in $progfiles; do
-	      $show "extracting global C symbols from \`$arg'"
-	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	    done
-
-	    if test -n "$exclude_expsyms"; then
-	      $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    if test -n "$export_symbols_regex"; then
-	      $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    # Prepare the list of exported symbols
-	    if test -z "$export_symbols"; then
-	      export_symbols="$output_objdir/$output.exp"
-	      $run $rm $export_symbols
-	      $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	    else
-	      $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
-	      $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
-	      $run eval 'mv "$nlist"T "$nlist"'
-	    fi
-	  fi
-
-	  for arg in $dlprefiles; do
-	    $show "extracting global C symbols from \`$arg'"
-	    name=`echo "$arg" | ${SED} -e 's%^.*/%%'`
-	    $run eval 'echo ": $name " >> "$nlist"'
-	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -z "$run"; then
-	    # Make sure we have at least an empty file.
-	    test -f "$nlist" || : > "$nlist"
-
-	    if test -n "$exclude_expsyms"; then
-	      egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	      $mv "$nlist"T "$nlist"
-	    fi
-
-	    # Try sorting and uniquifying the output.
-	    if grep -v "^: " < "$nlist" |
-		if sort -k 3 </dev/null >/dev/null 2>&1; then
-		  sort -k 3
-		else
-		  sort +2
-		fi |
-		uniq > "$nlist"S; then
-	      :
-	    else
-	      grep -v "^: " < "$nlist" > "$nlist"S
-	    fi
-
-	    if test -f "$nlist"S; then
-	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-	    else
-	      echo '/* NONE */' >> "$output_objdir/$dlsyms"
-	    fi
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	  fi
-
-	  pic_flag_for_symtable=
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
-	    esac;;
-	  *-*-hpux*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DPIC";;
-	    esac
-	  esac
-
-	  # Now compile the dynamic symbol file.
-	  $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-	  $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-	  # Clean up the generated files.
-	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Transform the symbol file into the correct name.
-	  compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-	  finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-	  ;;
-	*)
-	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-	  exit 1
-	  ;;
-	esac
-      else
-	# We keep going just in case the user didn't refer to
-	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-	# really was required.
-
-	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-      fi
-
-      if test $need_relink = no || test "$build_libtool_libs" != yes; then
-	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	link_command="$compile_command$compile_rpath"
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	$show "$link_command"
-	$run eval "$link_command"
-	status=$?
-
-	# Delete the generated files.
-	if test -n "$dlsyms"; then
-	  $show "$rm $output_objdir/${outputname}S.${objext}"
-	  $run $rm "$output_objdir/${outputname}S.${objext}"
-	fi
-
-	exit $status
-      fi
-
-      if test -n "$shlibpath_var"; then
-	# We should set the shlibpath_var
-	rpath=
-	for dir in $temp_rpath; do
-	  case $dir in
-	  [\\/]* | [A-Za-z]:[\\/]*)
-	    # Absolute path.
-	    rpath="$rpath$dir:"
-	    ;;
-	  *)
-	    # Relative path: add a thisdir entry.
-	    rpath="$rpath\$thisdir/$dir:"
-	    ;;
-	  esac
-	done
-	temp_rpath="$rpath"
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test "$no_install" = yes; then
-	# We don't need to create a wrapper script.
-	link_command="$compile_var$compile_command$compile_rpath"
-	# Replace the output file specification.
-	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$run $rm $output
-	# Link the executable and exit
-	$show "$link_command"
-	$run eval "$link_command" || exit $?
-	exit 0
-      fi
-
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-	$echo "$modename: \`$output' will be relinked during installation" 1>&2
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
-
-      # Now create the wrapper script.
-      $show "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
-	case $0 in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$0 --fallback-echo";;
-	esac
-	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*) exeext=.exe ;;
-	  *) exeext= ;;
-	esac
-	$rm $output
-	trap "$rm $output; exit 1" 1 2 15
-
-	$echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-	$echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  echo >> $output "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-	  echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$echo \"\$relink_command_output\" >&2
-	$rm \"\$progdir/\$file\"
-	exit 1
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-	else
-	  echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 ${SED}
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	$echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-	case $host in
-	# win32 systems need to use the prog path for dll
-	# lookup to work
-	*-*-cygwin* | *-*-pw32*)
-	  $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
-"
-	  ;;
-
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2*)
-	  $echo >> $output "\
-      exec \$progdir\\\\\$program \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $echo >> $output "\
-      # Export the path to the program.
-      PATH=\"\$progdir:\$PATH\"
-      export PATH
-
-      exec \$program \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
-      exit 1
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-	chmod +x $output
-      fi
-      exit 0
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
-	  build_libtool_libs=no
-	else
-	  oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
-	fi
-	addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
-	$show "${rm}r $gentop"
-	$run ${rm}r "$gentop"
-	$show "mkdir $gentop"
-	$run mkdir "$gentop"
-	status=$?
-	if test $status -ne 0 && test ! -d "$gentop"; then
-	  exit $status
-	fi
-	generated="$generated $gentop"
-
-	# Add in members from convenience archives.
-	for xlib in $addlibs; do
-	  # Extract the objects.
-	  case $xlib in
-	  [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
-	  *) xabs=`pwd`"/$xlib" ;;
-	  esac
-	  xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
-	  xdir="$gentop/$xlib"
-
-	  $show "${rm}r $xdir"
-	  $run ${rm}r "$xdir"
-	  $show "mkdir $xdir"
-	  $run mkdir "$xdir"
-	  status=$?
-	  if test $status -ne 0 && test ! -d "$xdir"; then
-	    exit $status
-	  fi
-	  $show "(cd $xdir && $AR x $xabs)"
-	  $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
-
-	  oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
-	done
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-	eval cmds=\"$old_archive_from_new_cmds\"
-      else
-	# Ensure that we have .o objects in place in case we decided
-	# not to build a shared library, and have fallen back to building
-	# static libs even though --disable-static was passed!
-	for oldobj in $oldobjs; do
-	  if test ! -f $oldobj; then
-	    xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
-	    if test "X$xdir" = "X$oldobj"; then
-	      xdir="."
-	    else
-	      xdir="$xdir"
-	    fi
-	    baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
-	    obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
-	    $show "(cd $xdir && ${LN_S} $obj $baseobj)"
-	    $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
-	  fi
-	done
-
-	eval cmds=\"$old_archive_cmds\"
-      fi
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)"
-      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-
-      # Only create the output if not a dry run.
-      if test -z "$run"; then
-	for installed in no yes; do
-	  if test "$installed" = yes; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output="$output_objdir/$outputname"i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		if test -z "$libdir"; then
-		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		  exit 1
-		fi
-		newdependency_libs="$newdependency_libs $libdir/$name"
-		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
-	      esac
-	    done
-	    dependency_libs="$newdependency_libs"
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit 1
-	      fi
-	      newdlfiles="$newdlfiles $libdir/$name"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit 1
-	      fi
-	      newdlprefiles="$newdlprefiles $libdir/$name"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  fi
-	  $rm $output
-	  # place dlname in correct position for cygwin
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-	  esac
-	  $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test "$installed" = no && test $need_relink = yes; then
-	    $echo >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      fi
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
-      ;;
-    esac
-    exit 0
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg="$nonopt"
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest="$arg"
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f) prev="-f" ;;
-      -g) prev="-g" ;;
-      -m) prev="-m" ;;
-      -o) prev="-o" ;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*) ;;
-
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest="$arg"
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	$echo "$modename: no file or destination specified" 1>&2
-      else
-	$echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test $# -gt 2; then
-	$echo "$modename: \`$dest' is not a directory" 1>&2
-	$echo "$help" 1>&2
-	exit 1
-      fi
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-
-	library_names=
-	old_library=
-	relink_command=
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
-	test "X$dir" = "X$file/" && dir=
-	dir="$dir$objdir"
-
-	if test -n "$relink_command"; then
-	  $echo "$modename: warning: relinking \`$file'" 1>&2
-	  $show "$relink_command"
-	  if $run eval "$relink_command"; then :
-	  else
-	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-	    continue
-	  fi
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names
-	if test -n "$2"; then
-	  realname="$2"
-	  shift
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  $show "$install_prog $dir/$srcname $destdir/$realname"
-	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
-	  if test -n "$stripme" && test -n "$striplib"; then
-	    $show "$striplib $destdir/$realname"
-	    $run eval "$striplib $destdir/$realname" || exit $?
-	  fi
-
-	  if test $# -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    for linkname
-	    do
-	      if test "$linkname" != "$realname"; then
-		$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-		$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
-	      fi
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  eval cmds=\"$postinstall_cmds\"
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || exit $?
-	  done
-	  IFS="$save_ifs"
-	fi
-
-	# Install the pseudo-library for information purposes.
-	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	instname="$dir/$name"i
-	$show "$install_prog $instname $destdir/$name"
-	$run eval "$install_prog $instname $destdir/$name" || exit $?
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	if test -n "$destfile"; then
-	  $show "$install_prog $file $destfile"
-	  $run eval "$install_prog $file $destfile" || exit $?
-	fi
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-	  $show "$install_prog $staticobj $staticdest"
-	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-	fi
-	exit 0
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin*|*mingw*)
-	    wrapper=`echo $file | ${SED} -e 's,.exe$,,'`
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  # If there is no directory component, then add one.
-	  case $file in
-	  */* | *\\*) . $wrapper ;;
-	  *) . ./$wrapper ;;
-	  esac
-
-	  # Check the variables that should have been set.
-	  if test -z "$notinst_deplibs"; then
-	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
-	    exit 1
-	  fi
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      # If there is no directory component, then add one.
-	      case $lib in
-	      */* | *\\*) . $lib ;;
-	      *) . ./$lib ;;
-	      esac
-	    fi
-	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  # If there is no directory component, then add one.
-	  case $file in
-	  */* | *\\*) . $wrapper ;;
-	  *) . ./$wrapper ;;
-	  esac
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    if test "$finalize" = yes && test -z "$run"; then
-	      tmpdir="/tmp"
-	      test -n "$TMPDIR" && tmpdir="$TMPDIR"
-	      tmpdir="$tmpdir/libtool-$$"
-	      if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
-	      else
-		$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
-		continue
-	      fi
-	      file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	      outputname="$tmpdir/$file"
-	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
-	      $show "$relink_command"
-	      if $run eval "$relink_command"; then :
-	      else
-		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-		${rm}r "$tmpdir"
-		continue
-	      fi
-	      file="$outputname"
-	    else
-	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
-	    fi
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyways
-	case $install_prog,$host in
-	/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    destfile=`echo $destfile | ${SED} -e 's,.exe$,,'`
-	    ;;
-	  esac
-	  ;;
-	esac
-	$show "$install_prog$stripme $file $destfile"
-	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-	test -n "$outputname" && ${rm}r "$tmpdir"
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      if test -n "$stripme" && test -n "$striplib"; then
-	$show "$old_striplib $oldlib"
-	$run eval "$old_striplib $oldlib" || exit $?
-      fi
-
-      # Do each command in the postinstall commands.
-      eval cmds=\"$old_postinstall_cmds\"
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $0 --finish$current_libdirs'
-    else
-      exit 0
-    fi
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  eval cmds=\"$finish_cmds\"
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-	  done
-	  IFS="$save_ifs"
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = ":" && exit 0
-
-    echo "----------------------------------------------------------------------"
-    echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      echo "   $libdir"
-    done
-    echo
-    echo "If you ever happen to want to link against installed libraries"
-    echo "in a given directory, LIBDIR, you must either use libtool, and"
-    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    echo
-    echo "See any operating system documentation about shared libraries for"
-    echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    echo "----------------------------------------------------------------------"
-    exit 0
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit 1
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-	$echo "$modename: \`$file' is not a file" 1>&2
-	$echo "$help" 1>&2
-	exit 1
-      fi
-
-      dir=
-      case $file in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit 1
-	fi
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-	  exit 1
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-	;;
-
-      *)
-	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -*) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  # If there is no directory component, then add one.
-	  case $file in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved enviroment variables
-      if test "${save_LC_ALL+set}" = set; then
-	LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-	LANG="$save_LANG"; export LANG
-      fi
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-	$echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit 0
-    fi
-    ;;
-
-  # libtool clean and uninstall mode
-  clean | uninstall)
-    modename="$modename: $mode"
-    rm="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) rm="$rm $arg"; rmforce=yes ;;
-      -*) rm="$rm $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit 1
-    fi
-
-    rmdirs=
-
-    for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$dir" = "X$file"; then
-	dir=.
-	objdir="$objdir"
-      else
-	objdir="$dir/$objdir"
-      fi
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-      test $mode = uninstall && objdir="$dir"
-
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test $mode = clean; then
-	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if (test -L "$file") >/dev/null 2>&1 \
-	|| (test -h "$file") >/dev/null 2>&1 \
-	|| test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif test "$rmforce" = yes; then
-	continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  . $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
-	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-	  test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-
-	  if test $mode = uninstall; then
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      eval cmds=\"$postuninstall_cmds\"
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test $? != 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      eval cmds=\"$old_postuninstall_cmds\"
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test $? != 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	  fi
-	fi
-	;;
-
-      *.lo)
-	if test "$build_old_libs" = yes; then
-	  oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
-	  rmfiles="$rmfiles $dir/$oldobj"
-	fi
-	;;
-
-      *)
-	# Do a test to see if this is a libtool program.
-	if test $mode = clean &&
-	   (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  relink_command=
-	  . $dir/$file
-
-	  rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-	  if test "$fast_install" = yes && test -n "$relink_command"; then
-	    rmfiles="$rmfiles $objdir/lt-$name"
-	  fi
-	fi
-	;;
-      esac
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles || exit_status=1
-    done
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	$show "rmdir $dir"
-	$run rmdir $dir >/dev/null 2>&1
-      fi
-    done
-
-    exit $exit_status
-    ;;
-
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit 1
-    ;;
-  esac
-
-  if test -z "$exec_cmd"; then
-    $echo "$modename: invalid operation mode \`$mode'" 1>&2
-    $echo "$generic_help" 1>&2
-    exit 1
-  fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
-  eval exec $exec_cmd
-  exit 1
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --version         print version information
-
-MODE must be one of the following:
-
-      clean           remove files from the build directory
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE."
-  exit 0
-  ;;
-
-clean)
-  $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-		    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-		    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-		    specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit 1
-  ;;
-esac
-
-echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/lib-src/sbsms/config/missing b/lib-src/sbsms/config/missing
deleted file mode 100755
index fc54c64..0000000
--- a/lib-src/sbsms/config/missing
+++ /dev/null
@@ -1,336 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-case "$1" in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing 0.4 - GNU automake"
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-  aclocal*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case "$f" in
-      *:*) touch_files="$touch_files "`echo "$f" |
-				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-	   sed 's/\.am$/.in/' |
-	   while read f; do touch "$f"; done
-    ;;
-
-  autom4te)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
-    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo "#! /bin/sh"
-	echo "# Created by GNU Automake missing as a replacement of"
-	echo "#  $ $@"
-	echo "exit 0"
-	chmod +x $file
-	exit 1
-    fi
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f y.tab.h ]; then
-	echo >y.tab.h
-    fi
-    if [ ! -f y.tab.c ]; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f lex.yy.c ]; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
-    fi
-    if [ -f "$file" ]; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo ".ab help2man is required to generate this page"
-	exit 1
-    fi
-    ;;
-
-  makeinfo)
-    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
-       # We have makeinfo, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
-    fi
-    touch $file
-    ;;
-
-  tar)
-    shift
-    if test -n "$run"; then
-      echo 1>&2 "ERROR: \`tar' requires --run"
-      exit 1
-    fi
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case "$firstarg" in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case "$firstarg" in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
diff --git a/lib-src/sbsms/config/mkinstalldirs b/lib-src/sbsms/config/mkinstalldirs
deleted file mode 100755
index d2d5f21..0000000
--- a/lib-src/sbsms/config/mkinstalldirs
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman at prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
-  case $1 in
-    -h | --help | --h*)         # -h for help
-      echo "$usage" 1>&2
-      exit 0
-      ;;
-    -m)                         # -m PERM arg
-      shift
-      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
-      dirmode=$1
-      shift
-      ;;
-    --)                         # stop option processing
-      shift
-      break
-      ;;
-    -*)                         # unknown option
-      echo "$usage" 1>&2
-      exit 1
-      ;;
-    *)                          # first non-opt arg
-      break
-      ;;
-  esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-  0) exit 0 ;;
-esac
-
-case $dirmode in
-  '')
-    if mkdir -p -- . 2>/dev/null; then
-      echo "mkdir -p -- $*"
-      exec mkdir -p -- "$@"
-    fi
-    ;;
-  *)
-    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
-      echo "mkdir -m $dirmode -p -- $*"
-      exec mkdir -m "$dirmode" -p -- "$@"
-    fi
-    ;;
-esac
-
-for file
-do
-  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-  shift
-
-  pathcomp=
-  for d
-  do
-    pathcomp="$pathcomp$d"
-    case $pathcomp in
-      -*) pathcomp=./$pathcomp ;;
-    esac
-
-    if test ! -d "$pathcomp"; then
-      echo "mkdir $pathcomp"
-
-      mkdir "$pathcomp" || lasterr=$?
-
-      if test ! -d "$pathcomp"; then
-  	errstatus=$lasterr
-      else
-  	if test ! -z "$dirmode"; then
-	  echo "chmod $dirmode $pathcomp"
-    	  lasterr=""
-  	  chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-  	  if test ! -z "$lasterr"; then
-  	    errstatus=$lasterr
-  	  fi
-  	fi
-      fi
-    fi
-
-    pathcomp="$pathcomp/"
-  done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# End:
-# mkinstalldirs ends here
diff --git a/lib-src/sbsms/config/stamp-h1 b/lib-src/sbsms/config/stamp-h1
deleted file mode 100644
index 22326a7..0000000
--- a/lib-src/sbsms/config/stamp-h1
+++ /dev/null
@@ -1 +0,0 @@
-timestamp for config/config.h
diff --git a/lib-src/sbsms/configure b/lib-src/sbsms/configure
index b8ffc69..37c22c6 100755
--- a/lib-src/sbsms/configure
+++ b/lib-src/sbsms/configure
@@ -10539,6 +10539,11 @@ CC="$lt_save_CC"
 
 
 
+# save $CXXFLAGS etc. since AC_PROG_CXX likes to insert "-g -O2"
+# if $CXXFLAGS is blank and it finds GCC
+cflags_save="$CFLAGS"
+cppflags_save="$CPPFLAGS"
+cxxflags_save="$CXXFLAGS"
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -13340,11 +13345,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13343: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13348: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13347: \$? = $ac_status" >&5
+   echo "$as_me:13352: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13439,11 +13444,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13442: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13447: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13446: \$? = $ac_status" >&5
+   echo "$as_me:13451: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13491,11 +13496,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13494: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13499: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13498: \$? = $ac_status" >&5
+   echo "$as_me:13503: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14469,6 +14474,242 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+# restore those variables back
+CFLAGS="$cflags_save"
+CPPFLAGS="$cppflags_save"
+CXXFLAGS="$cxxflags_save"
 
 
 
@@ -15176,10 +15417,11 @@ pkg_failed=no
 { $as_echo "$as_me:$LINENO: checking for SNDFILE" >&5
 $as_echo_n "checking for SNDFILE... " >&6; }
 
-if test -n "$SNDFILE_CFLAGS"; then
-    pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
+if test -n "$PKG_CONFIG"; then
+    if test -n "$SNDFILE_CFLAGS"; then
+        pkg_cv_SNDFILE_CFLAGS="$SNDFILE_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.2\"") >&5
   ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.2") 2>&5
   ac_status=$?
@@ -15189,13 +15431,15 @@ if test -n "$SNDFILE_CFLAGS"; then
 else
   pkg_failed=yes
 fi
- else
-    pkg_failed=untried
+    fi
+else
+	pkg_failed=untried
 fi
-if test -n "$SNDFILE_LIBS"; then
-    pkg_cv_SNDFILE_LIBS="$SNDFILE_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
+if test -n "$PKG_CONFIG"; then
+    if test -n "$SNDFILE_LIBS"; then
+        pkg_cv_SNDFILE_LIBS="$SNDFILE_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sndfile >= 1.0.2\"") >&5
   ($PKG_CONFIG --exists --print-errors "sndfile >= 1.0.2") 2>&5
   ac_status=$?
@@ -15205,8 +15449,9 @@ if test -n "$SNDFILE_LIBS"; then
 else
   pkg_failed=yes
 fi
- else
-    pkg_failed=untried
+    fi
+else
+	pkg_failed=untried
 fi
 
 
@@ -15219,9 +15464,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        SNDFILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sndfile >= 1.0.2" 2>&1`
+	        SNDFILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sndfile >= 1.0.2"`
         else
-	        SNDFILE_PKG_ERRORS=`$PKG_CONFIG --print-errors "sndfile >= 1.0.2" 2>&1`
+	        SNDFILE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sndfile >= 1.0.2"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$SNDFILE_PKG_ERRORS" >&5
@@ -15270,10 +15515,11 @@ pkg_failed=no
 { $as_echo "$as_me:$LINENO: checking for PORTAUDIO" >&5
 $as_echo_n "checking for PORTAUDIO... " >&6; }
 
-if test -n "$PORTAUDIO_CFLAGS"; then
-    pkg_cv_PORTAUDIO_CFLAGS="$PORTAUDIO_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
+if test -n "$PKG_CONFIG"; then
+    if test -n "$PORTAUDIO_CFLAGS"; then
+        pkg_cv_PORTAUDIO_CFLAGS="$PORTAUDIO_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"portaudio-2.0 >= 0.0.19\"") >&5
   ($PKG_CONFIG --exists --print-errors "portaudio-2.0 >= 0.0.19") 2>&5
   ac_status=$?
@@ -15283,13 +15529,15 @@ if test -n "$PORTAUDIO_CFLAGS"; then
 else
   pkg_failed=yes
 fi
- else
-    pkg_failed=untried
+    fi
+else
+	pkg_failed=untried
 fi
-if test -n "$PORTAUDIO_LIBS"; then
-    pkg_cv_PORTAUDIO_LIBS="$PORTAUDIO_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
+if test -n "$PKG_CONFIG"; then
+    if test -n "$PORTAUDIO_LIBS"; then
+        pkg_cv_PORTAUDIO_LIBS="$PORTAUDIO_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
     { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"portaudio-2.0 >= 0.0.19\"") >&5
   ($PKG_CONFIG --exists --print-errors "portaudio-2.0 >= 0.0.19") 2>&5
   ac_status=$?
@@ -15299,8 +15547,9 @@ if test -n "$PORTAUDIO_LIBS"; then
 else
   pkg_failed=yes
 fi
- else
-    pkg_failed=untried
+    fi
+else
+	pkg_failed=untried
 fi
 
 
@@ -15313,9 +15562,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        PORTAUDIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "portaudio-2.0 >= 0.0.19" 2>&1`
+	        PORTAUDIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "portaudio-2.0 >= 0.0.19"`
         else
-	        PORTAUDIO_PKG_ERRORS=`$PKG_CONFIG --print-errors "portaudio-2.0 >= 0.0.19" 2>&1`
+	        PORTAUDIO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "portaudio-2.0 >= 0.0.19"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$PORTAUDIO_PKG_ERRORS" >&5
@@ -15359,12 +15608,10 @@ else
 fi
 
 
-CXXFLAGS=`echo $CXXFLAGS | sed -e "s/-g//" -e "s/-O2//"`
-
+# legitimately we can add -g to flags for debug builds, because they won't
+# be much use otherwise
 if test x$enable_debug = xyes; then
-   CXXFLAGS="$CXXFLAGS -g -O0"
-else
-   CXXFLAGS="$CXXFLAGS -O3 -fomit-frame-pointer"
+   CXXFLAGS="$CXXFLAGS -g"
 fi
 
 if test x$enable_static = xyes; then
@@ -18779,27 +19026,28 @@ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
 _LT_EOF
 
  ;;
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file.  Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*)   set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`$as_dirname -- "$mf" ||
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$mf" : 'X\(//\)[^/]' \| \
 	 X"$mf" : 'X\(//\)$' \| \
@@ -18822,28 +19070,28 @@ $as_echo X"$mf" |
 	    q
 	  }
 	  s/.*/./; q'`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`$as_dirname -- "$file" ||
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$file" : 'X\(//\)[^/]' \| \
 	 X"$file" : 'X\(//\)$' \| \
@@ -18866,7 +19114,7 @@ $as_echo X"$file" |
 	    q
 	  }
 	  s/.*/./; q'`
-    { as_dir=$dirpart/$fdir
+      { as_dir=$dirpart/$fdir
   case $as_dir in #(
   -*) as_dir=./$as_dir;;
   esac
@@ -18907,10 +19155,11 @@ $as_echo X"$as_dir" |
   } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
-done
+}
  ;;
 
   esac
diff --git a/lib-src/sbsms/configure.in b/lib-src/sbsms/configure.in
index b24cdc6..14835c9 100644
--- a/lib-src/sbsms/configure.in
+++ b/lib-src/sbsms/configure.in
@@ -39,8 +39,18 @@ SHARED_VERSION_INFO="8:0:7"
 AC_PROG_LIBTOOL
 AM_PROG_LIBTOOL
 
+# save $CXXFLAGS etc. since AC_PROG_CXX likes to insert "-g -O2"
+# if $CXXFLAGS is blank and it finds GCC
+cflags_save="$CFLAGS"
+cppflags_save="$CPPFLAGS"
+cxxflags_save="$CXXFLAGS"
 AC_LANG([C++])
 AC_PROG_CXX
+AC_PROG_CXXCPP
+# restore those variables back
+CFLAGS="$cflags_save"
+CPPFLAGS="$cppflags_save"
+CXXFLAGS="$cxxflags_save"
 
 AC_CHECK_FUNCS(malloc calloc free memcpy)
 
@@ -123,12 +133,10 @@ else
 fi
 AM_CONDITIONAL(ENABLE_PORTAUDIO, test x$enable_portaudio = xyes)
 
-CXXFLAGS=`echo $CXXFLAGS | sed -e "s/-g//" -e "s/-O2//"`
-
+# legitimately we can add -g to flags for debug builds, because they won't
+# be much use otherwise
 if test x$enable_debug = xyes; then
-   CXXFLAGS="$CXXFLAGS -g -O0"
-else
-   CXXFLAGS="$CXXFLAGS -O3 -fomit-frame-pointer"
+   CXXFLAGS="$CXXFLAGS -g"
 fi
 
 if test x$enable_static = xyes; then
diff --git a/lib-src/sbsms/win/libmad/libmad.vcproj b/lib-src/sbsms/win/libmad/libmad.vcproj
old mode 100644
new mode 100755
diff --git a/lib-src/sbsms/win/libsndfile/libsndfile.vcproj b/lib-src/sbsms/win/libsndfile/libsndfile.vcproj
old mode 100644
new mode 100755
diff --git a/lib-src/sbsms/win/portaudio-v19/portaudio-v19.vcproj b/lib-src/sbsms/win/portaudio-v19/portaudio-v19.vcproj
old mode 100644
new mode 100755
diff --git a/lib-src/sbsms/win/pthread/pthread.vcproj b/lib-src/sbsms/win/pthread/pthread.vcproj
old mode 100644
new mode 100755
diff --git a/lib-src/sbsms/win/sbsms/sbsms.sln b/lib-src/sbsms/win/sbsms/sbsms.sln
old mode 100644
new mode 100755
diff --git a/lib-src/sbsms/win/sbsms/sbsms.vcproj b/lib-src/sbsms/win/sbsms/sbsms.vcproj
old mode 100644
new mode 100755
diff --git a/locale/Makefile.in b/locale/Makefile.in
index 3a70852..d633183 100644
--- a/locale/Makefile.in
+++ b/locale/Makefile.in
@@ -57,7 +57,7 @@ XGETTEXT_ARGS=-F -C -k_ -k_NoAcc -kwxTRANSLATE \
 
 # implicit rules
 
-%/$(PROGNAME).mo: %.po
+%/$(PROGNAME).mo: %.po $(POTFILE)
 	@test -d $* || mkdir $*
 	$(MSGFMT) -o $@ $<
 
diff --git a/locale/af.po b/locale/af.po
index 2504786..d82420b 100644
--- a/locale/af.po
+++ b/locale/af.po
@@ -29,11 +29,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -85,7 +85,7 @@ msgid "Special thanks:"
 msgstr "Spesiale dank aan:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -226,11 +226,21 @@ msgstr "Toevoermeter"
 msgid "Output Meter"
 msgstr "Afvoermeter"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Nuwe"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Open..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:734 Menus.cpp:470
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Voorkeure...\tCtrl+,"
+msgid "&Preferences..."
+msgstr "&Voorkeure..."
 
 #: AudacityApp.cpp:816 AudacityApp.cpp:893
 #, c-format
@@ -354,14 +364,14 @@ msgstr "Fout: "
 msgid "Error Initializing Audio"
 msgstr "Fout met inisialisering van oudio"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:54
@@ -589,8 +599,8 @@ msgstr "K&etting (dubbelklik of druk SPASIE om te wysig)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Nr"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -913,11 +923,11 @@ msgstr "Reghoekig"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -975,11 +985,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1064,10 +1075,23 @@ msgstr "&Voer uit..."
 msgid "Export"
 msgstr "Uitvoer"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: AboutDialog.cpp:688 FreqWindow.cpp:209 widgets/ErrorDialog.cpp:135
 msgid "Close"
 msgstr "Sluit"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
 #: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
 #: effects/Compressor.cpp:352 effects/Compressor.cpp:360
@@ -1085,6 +1109,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3394
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Om die spektrum te teken moet alle bane die selfde monstertempo hê."
+
+#: Menus.cpp:3420
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Te veel oudio is gekies.  Slegs die eersste %.1f sekondes sal geanaliseer word."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Nie genoeg data gekies nie."
@@ -1124,6 +1157,21 @@ msgstr "Frekwensie (Hz)\tVolume (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Vertraging (sekondes)\tFrekwensie (Hz)\tVolume"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1202,7 +1250,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1226,7 +1274,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1287,6 +1335,14 @@ msgstr "MG"
 msgid "GB"
 msgstr "GG"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Baan"
@@ -1401,21 +1457,13 @@ msgstr "Audacity-projek word oopgemaak"
 msgid "&File"
 msgstr "&Lêer"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Nuwe\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Open...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Sluit\tCtrl+W"
+msgid "&Close"
+msgstr "&Sluit"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Stoor projek\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Stoor projek"
 
 #: Menus.cpp:178 Project.cpp:2628
 msgid "Save Project &As..."
@@ -1439,8 +1487,8 @@ msgid "&Import"
 msgstr "Voer &in"
 
 #: Menus.cpp:194
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Oudio...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Oudio..."
 
 #: Menus.cpp:195
 msgid "&Labels..."
@@ -1470,9 +1518,9 @@ msgstr "&Veelvuldige uitvoer..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:258
+msgid "Appl&y Chain..."
+msgstr "Pas ketting &toe..."
 
 #: Menus.cpp:246 Menus.cpp:260
 msgid "Edit C&hains..."
@@ -1486,10 +1534,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:258
-msgid "Appl&y Chain..."
-msgstr "Pas ketting &toe..."
-
 #: Menus.cpp:265
 msgid "&Upload File..."
 msgstr "&Laai lêer op..."
@@ -1503,72 +1547,72 @@ msgid "&Print..."
 msgstr "&Druk..."
 
 #: Menus.cpp:285
-msgid "E&xit\tCtrl+Q"
-msgstr "Afsluit\tCtrl+Q"
+msgid "E&xit"
+msgstr "Afsluit"
 
 #: Menus.cpp:293 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Redigeer"
 
 #: Menus.cpp:297
-msgid "&Undo\tCtrl+Z"
-msgstr "&Ontdoen\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Ontdoen"
 
 #: Menus.cpp:305 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Herdoen"
 
 #: Menus.cpp:318
-msgid "Cu&t\tCtrl+X"
-msgstr "K&nip\tCtrl+X"
+msgid "Cu&t"
+msgstr "K&nip"
 
 #: Menus.cpp:322
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: Menus.cpp:323
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopieer\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopieer"
 
 #: Menus.cpp:327
-msgid "&Paste\tCtrl+V"
-msgstr "&Plak\tCtrl+V"
+msgid "&Paste"
+msgstr "&Plak"
 
 #: Menus.cpp:331
-msgid "Tri&m\tCtrl+T"
-msgstr "&Uitknip\tCtrl+T"
+msgid "Tri&m"
+msgstr "&Uitknip"
 
 #: Menus.cpp:333
-msgid "&Delete\tCtrl+K"
-msgstr "&Skrap\tCtrl+K"
+msgid "&Delete"
+msgstr "&Skrap"
 
 #: Menus.cpp:334
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:337
-msgid "Sp&lit\tCtrl+I"
-msgstr "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Sp&lit"
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:347
-msgid "&Join\tCtrl+J"
-msgstr "&Voeg saam\tCtrl+J"
+msgid "&Join"
+msgstr "&Voeg saam"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:350
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&Dupliseer\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "&Dupliseer"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1580,80 +1624,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:365
-msgid "&Cut\tAlt+X"
-msgstr "&Knip\tAlt+X"
+msgid "&Cut"
+msgstr "&Knip"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:370
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:375
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ko&pieer\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:381
-msgid "&Delete\tAlt+K"
-msgstr "&Skrap\tAlt+K"
+msgid "Co&py"
+msgstr "Ko&pieer"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:386
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:391
-msgid "Sile&nce\tAlt+L"
-msgstr "&Stilte\tAlt+L"
+msgid "Sile&nce"
+msgstr "&Stilte"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:397
-msgid "Spli&t\tAlt+I"
-msgstr "Spli&t\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:402
-msgid "&Join\tAlt+J"
-msgstr "&Voeg saam\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Spli&t"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:414
-msgid "&All\tCtrl+A"
-msgstr "&Alles\tCtrl+A"
+msgid "&All"
+msgstr "&Alles"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Niks\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Niks"
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:431
-msgid "Find &Zero Crossings\tZ"
-msgstr "Soek n&ulpunte\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Soek n&ulpunte"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1670,11 +1699,11 @@ msgid "to Selection En&d"
 msgstr "na einde van seleksie"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1697,29 +1726,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:462
-msgid "Turn Snap-To On"
-msgstr "Deaktiveer inglip"
-
-#: Menus.cpp:463
-msgid "Turn Snap-To Off"
-msgstr "Deaktiveer inlip"
-
-#: Menus.cpp:464
-msgid "Turn Grid Snap On"
-msgstr "Aktiveer rooster-inglip"
-
-#: Menus.cpp:465
-msgid "Turn Grid Snap Off"
-msgstr "Deaktiveer rooster-inglip"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:484
@@ -1727,35 +1735,35 @@ msgid "&View"
 msgstr "&Aansig"
 
 #: Menus.cpp:486
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoem &in\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Zoem &in"
 
 #: Menus.cpp:489
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normale zoemvlak\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Normale zoemvlak"
 
 #: Menus.cpp:490
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zoem &uit\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Zoem &uit"
 
 #: Menus.cpp:493
-msgid "&Fit in Window\tCtrl+F"
-msgstr "Pas &horisontaal\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "Pas &horisontaal"
 
 #: Menus.cpp:494
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Pas &vertikaal\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Pas &vertikaal"
 
 #: Menus.cpp:495
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoem in op seleksie\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zoem in op seleksie"
 
 #: Menus.cpp:498
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:499
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1826,40 +1834,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Speel"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:786
-msgid "Skip to Start\tHome"
-msgstr "Spring na begin\tHome"
+msgid "Skip to Start"
+msgstr "Spring na begin"
 
 #: Menus.cpp:787
-msgid "Skip to End\tEnd"
-msgstr "Spring na einde\tEnd"
+msgid "Skip to End"
+msgstr "Spring na einde"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1887,8 +1895,8 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:545
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Oudiobaan\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Oudiobaan"
 
 #: Menus.cpp:546
 msgid "&Stereo Track"
@@ -1903,7 +1911,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:568
@@ -1915,11 +1923,11 @@ msgid "Remo&ve Tracks"
 msgstr "&Verwyder bane"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:585
@@ -1970,19 +1978,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:611
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Voeg etiket by by seleksie\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:612
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Voeg etiket by by speelpunt\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Voeg etiket by by speelpunt"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2008,14 +2015,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Effek"
 
-#: Menus.cpp:658
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Herhaal laaste effek\tCtrl+R"
-
 #: Menus.cpp:690
 msgid "&Analyze"
 msgstr "A&naliseer"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr "Teken spektrum"
@@ -2032,9 +2039,9 @@ msgstr "&Aangaande Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "&Wys welkomboodskap..."
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr "&Indeks..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2052,183 +2059,151 @@ msgstr "Laat loop &normtoets..."
 msgid "&Audio Device Info..."
 msgstr "&Oudiotoestel-inligting"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:762
-msgid "Selection Tool\tF1"
-msgstr "Merker\tF1"
+msgid "Selection Tool"
+msgstr "Merker"
 
 #: Menus.cpp:763
-msgid "Envelope Tool\tF2"
-msgstr "Omhullingtang\tF2"
+msgid "Envelope Tool"
+msgstr "Omhullingtang"
 
 #: Menus.cpp:764
-msgid "Draw Tool\tF3"
-msgstr "Tekenpen\tF3"
+msgid "Draw Tool"
+msgstr "Tekenpen"
 
 #: Menus.cpp:765
-msgid "Zoom Tool\tF4"
-msgstr "Vergrootglas\tF4"
+msgid "Zoom Tool"
+msgstr "Vergrootglas"
 
 #: Menus.cpp:766
-msgid "Time Shift Tool\tF5"
-msgstr "Verskuif tyd\tF5"
+msgid "Time Shift Tool"
+msgstr "Verskuif tyd"
 
 #: Menus.cpp:767
-msgid "Multi Tool\tF6"
-msgstr "Kombinasiewerktuig\tF6"
+msgid "Multi Tool"
+msgstr "Kombinasiewerktuig"
 
 #: Menus.cpp:769
-msgid "Next Tool\tD"
-msgstr "Volgende gereedskapstuk\tD"
+msgid "Next Tool"
+msgstr "Volgende gereedskapstuk"
 
 #: Menus.cpp:770
-msgid "Previous Tool\tA"
-msgstr "Vorige gereedskap\tA"
+msgid "Previous Tool"
+msgstr "Vorige gereedskap"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:773
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: Menus.cpp:774
-msgid "Pause\tP"
-msgstr "Pouseer\tP"
-
-#: Menus.cpp:775
-msgid "Record\tR"
-msgstr "Neem op\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:780
-msgid "Play One Second\t1"
-msgstr "Speel een sekonde\t1"
+msgid "Play One Second"
+msgstr "Speel een sekonde"
 
 #: Menus.cpp:781
-msgid "Play To Selection\tB"
-msgstr "Speel tot by seleksie\tB"
-
-#: Menus.cpp:782
-msgid "Play Looped\tL"
-msgstr "Speel in 'n lus\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Speel tot by seleksie"
 
 #: Menus.cpp:784
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: Menus.cpp:789
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleksie na begin\tShift+Home"
+msgid "Selection to Start"
+msgstr "Seleksie na begin"
 
 #: Menus.cpp:790
-msgid "Selection to End\tShift+End"
-msgstr "Seleksie tot einde\tCtrl+End"
+msgid "Selection to End"
+msgstr "Seleksie tot einde"
 
 #: Menus.cpp:792
 #, fuzzy
-msgid "DeleteKey\tBackspace"
-msgstr "DeleteKey\tBackspace"
+msgid "DeleteKey"
+msgstr "DeleteKey"
 
 #: Menus.cpp:797
 #, fuzzy
-msgid "DeleteKey2\tDelete"
-msgstr "DeleteKey2\tDelete"
+msgid "DeleteKey2"
+msgstr "DeleteKey2"
 
-#: Menus.cpp:803
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:804
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:805
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:806
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:810
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:811
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:812
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:813
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:814
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:815
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: Menus.cpp:818
-msgid "Cursor Left\tLeft"
-msgstr "Merker links\tLinks"
+msgid "Cursor Left"
+msgstr "Merker links"
 
 #: Menus.cpp:819
-msgid "Cursor Right\tRight"
-msgstr "Merker regs\tRegs"
+msgid "Cursor Right"
+msgstr "Merker regs"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: Menus.cpp:825
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Vergroot seleksie links\tShift+Links"
+msgid "Selection Extend Left"
+msgstr "Vergroot seleksie links"
 
 #: Menus.cpp:826
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Vergroot seleksie regs\tShift+Regs"
+msgid "Selection Extend Right"
+msgstr "Vergroot seleksie regs"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2239,51 +2214,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: Menus.cpp:831
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Verklein seleksie links\tCtrl+Shift+Links"
+msgid "Selection Contract Left"
+msgstr "Verklein seleksie links"
 
 #: Menus.cpp:832
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Verklein seleksie regs\tCtrl+Shift+Regs"
+msgid "Selection Contract Right"
+msgstr "Verklein seleksie regs"
 
 #: Menus.cpp:834
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:835
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:836
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:837
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:838
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:839
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:840
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:841
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:842
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:843
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2297,7 +2272,35 @@ msgid "Snap To Off"
 msgstr "[Inskiet af]"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2358,8 +2361,8 @@ msgstr "U moet eers een baan kies."
 
 #: Menus.cpp:2005
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Herhaal %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Herhaal %s"
 
 #: Menus.cpp:2136
 msgid "There are no label tracks to export."
@@ -2438,7 +2441,6 @@ msgid "Trim file to selection"
 msgstr "Knip seleksie uit"
 
 #: Menus.cpp:2669
-#, c-format
 #, fuzzy
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "%.2f sekondes geskrap by t=%.2f"
@@ -2448,7 +2450,6 @@ msgid "Split Delete"
 msgstr ""
 
 #: Menus.cpp:2693
-#, c-format
 #, fuzzy
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "%.2f sekondes geskrap by t=%.2f"
@@ -2458,7 +2459,6 @@ msgid "Disjoin"
 msgstr ""
 
 #: Menus.cpp:2717
-#, c-format
 #, fuzzy
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "%.2f sekondes geskrap by t=%.2f"
@@ -2573,15 +2573,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Verdeel by etikette"
 
-#: Menus.cpp:3394
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Om die spektrum te teken moet alle bane die selfde monstertempo hê."
-
-#: Menus.cpp:3420
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Te veel oudio is gekies.  Slegs die eersste %.1f sekondes sal geanaliseer word."
-
 #: Menus.cpp:3546
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2803,6 +2794,10 @@ msgstr "Daar was 'n probleem om te druk."
 msgid "Print"
 msgstr "Druk"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:635
 msgid "Main Mix"
 msgstr ""
@@ -2816,7 +2811,7 @@ msgstr "Welkom by Audacity weergawe %s"
 msgid "(Recovered)"
 msgstr ""
 
-#: Project.cpp:1472 TrackPanel.cpp:772 toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:775
 msgid "Record"
 msgstr "Neem op"
 
@@ -2841,8 +2836,8 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Stoor wysigings?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
 #: Project.cpp:1709
@@ -2872,6 +2867,17 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "Ou projeklêer word geopen"
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: Project.cpp:1801 Project.cpp:1809
 msgid "Error opening file"
 msgstr "Fout met oopmaak van lêer"
@@ -2928,10 +2934,12 @@ msgstr "Hierdie lêer is gestoor met Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Kan nie projeklêer open nie"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2951,16 +2959,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: Project.cpp:2366 Project.cpp:2380
 msgid "Error saving project"
 msgstr "Fout met stoor van projek"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2442
 #, c-format
 msgid "Saved %s"
@@ -3120,6 +3134,165 @@ msgstr "24-bis-PCM"
 msgid "32-bit float"
 msgstr "32-bis-dryfpunt"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Kies..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+#, fuzzy
+msgid "Tools"
+msgstr "Funksieknop"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "Mengbank"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Meter"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+#, fuzzy
+msgid "Device"
+msgstr "Toestel:"
+
+#: toolbars/TranscriptionToolBar.cpp:82
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:448 TrackPanel.cpp:449
+msgid "Track Panel"
+msgstr "Baanpaneel"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "Bane"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 #, fuzzy
 msgid "Saved "
@@ -3129,6 +3302,10 @@ msgstr "%s gestoor"
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3269,6 +3446,10 @@ msgstr "Kon nie metadata laai nie"
 msgid "Save Metadata As:"
 msgstr "Stoor metadata as:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3341,6 +3522,14 @@ msgstr "Duur"
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr ""
@@ -3380,10 +3569,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:448 TrackPanel.cpp:449
-msgid "Track Panel"
-msgstr "Baanpaneel"
-
 #: TrackPanel.cpp:492 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Ander..."
@@ -3436,6 +3621,10 @@ msgstr "Maak stereo baan"
 msgid "Split Stereo Track"
 msgstr "Verdeel stereo baan"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:516
 msgid "Set Sample Format"
 msgstr "Stel monsterformaat"
@@ -3539,7 +3728,6 @@ msgstr "regs"
 
 #. i18n-hint: %s is a direction like left or right
 #: TrackPanel.cpp:2040
-#, c-format
 #, fuzzy
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Baan '%s' %s met %.02f sekondes verskuif"
@@ -3638,14 +3826,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5658
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3681,6 +3861,11 @@ msgstr "Kanaal"
 msgid "Split stereo track '%s'"
 msgstr "Stereo baan '%s' verdeel"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5879
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3757,6 +3942,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6756
 msgid "Mute"
 msgstr "Stil"
@@ -3835,8 +4024,9 @@ msgstr "Inprop 1 tot %i"
 msgid "Plugins %i to %i"
 msgstr "Inprop %i tot %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4283,12 +4473,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Normaliseer op 0dB ná komprimering"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Drempel: %d dB"
@@ -4319,7 +4508,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Saamdruktyd: %.1f sek"
@@ -4330,7 +4518,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Saamdruktyd: %.1f sek"
@@ -4343,6 +4530,10 @@ msgstr "Kompressor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Dinamiese omvangkompressie word toegepas..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4362,19 +4553,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4408,6 +4586,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4452,16 +4635,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4572,18 +4747,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4631,7 +4794,6 @@ msgid "DTMF Tones..."
 msgstr ""
 
 #: effects/DtmfGen.h:49
-#, c-format
 #, fuzzy
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr "Stilte genereer (%.6lf sekondes)"
@@ -4712,6 +4874,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1081
@@ -4915,10 +5081,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "Mengbank"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5069,7 +5231,6 @@ msgid "Noise..."
 msgstr ""
 
 #: effects/Noise.h:49
-#, c-format
 #, fuzzy
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Stilte genereer (%.6lf sekondes)"
@@ -5080,7 +5241,6 @@ msgid "Generating Noise"
 msgstr "Toon word gegenereer"
 
 #: effects/NoiseRemoval.cpp:192
-#, c-format
 #, fuzzy
 msgid "Could not open file:\n"
 "  %s"
@@ -5164,10 +5324,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5430,7 +5586,6 @@ msgstr ""
 
 # Ons wil einlik die %s vas hê aan golf. TODO
 #: effects/ToneGen.cpp:59
-#, c-format
 #, fuzzy
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "\"%s\"-effek toegepas (genereer %s-golf, frekwensie = %.2f Hz, amplitude = %.2f, %.6lf secondes"
@@ -5519,8 +5674,12 @@ msgstr "Alle bane moet dieselfde monstertempo hê"
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
@@ -5528,12 +5687,25 @@ msgstr ""
 msgid "milliseconds"
 msgstr "millisekondes"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: effects/TruncSilence.h:28
@@ -5544,17 +5716,55 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Jammer, VST-effekte werk nie op stereo bane waar die individuele kanale van die baan nie ooreenstem nie."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Effek-opstelling"
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Kan nie vervanging verwerk nie"
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Geen"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Parameters vir VST-inprop:"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5603,19 +5813,10 @@ msgstr "\"%s\"-effek word toegepas"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Jammer, inprop-effekte werk nie op stereo bane waar die individuele kanale van die baan nie ooreenstem nie."
 
-#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Geen"
-
 #: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Outeur: "
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Effek-opstelling"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Lengte (sekondes)"
@@ -5812,9 +6013,21 @@ msgstr "Die hele projek word d.m.v. die opdraglyn-enkodeerder uitgevoer"
 msgid "Command Output"
 msgstr "Opdrag se afvoer"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5883,6 +6096,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Kwaliteit:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6016,12 +6233,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Kwaliteit:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6040,10 +6253,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6232,12 +6445,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6348,6 +6561,17 @@ msgstr "Bisdiepte:"
 msgid "FLAC Files"
 msgstr "FLAC-lêers"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Die seleksie word as FLAC uitgevoer"
@@ -6604,10 +6828,6 @@ msgstr "Keuses..."
 msgid "Export location:"
 msgstr "Ligging vir uitvoer:"
 
-#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Kies..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr "Skep"
@@ -6632,10 +6852,6 @@ msgstr "Eerste lêernaam:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "Bane"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr "Benoem lêers:"
@@ -6669,6 +6885,35 @@ msgstr "\"%s\" suksesvol geskep."
 msgid "Choose a location to save the exported files"
 msgstr "Kies 'n ligging vir die uitvoer van lêers"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:480
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6682,16 +6927,6 @@ msgstr "\"%s\" bestaan nie.\n"
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:606 export/ExportMultiple.cpp:714
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d lêer(s) suksesvol uitgevoer."
-
-#: export/ExportMultiple.cpp:607 export/ExportMultiple.cpp:715
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Iets het verkeerd geloop na %d lêer(s) uitgevoer is."
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -6760,20 +6995,17 @@ msgid "Cannot export audio in this format."
 msgstr "Kan audio nie in dié formaat uitvoer nie."
 
 #: export/ExportPCM.cpp:400
-#, c-format
 #, fuzzy
 msgid "Exporting the selected audio as %s"
 msgstr "Die seleksie word as Ogg Vorbis uitgevoer"
 
 #: export/ExportPCM.cpp:402
-#, c-format
 #, fuzzy
 msgid "Exporting the entire project as %s"
 msgstr "Die hele projek word as Ogg Vorbis uitgevoer"
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:531
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Fout (lêer is dalk nie geskryf nie): %s"
@@ -6833,7 +7065,6 @@ msgid "\"%s\" is an audio CD track. \n"
 msgstr ""
 
 #: import/Import.cpp:256
-#, c-format
 #, fuzzy
 msgid "\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
@@ -6942,6 +7173,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC-lêers"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Lêerlys in gewone teksformaat"
@@ -7100,35 +7335,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Oudio-T/A (\"I/O\")"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (stereo)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Terugspeel"
+#: prefs/BatchPrefs.cpp:85
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-#, fuzzy
-msgid "Device"
-msgstr "Toestel:"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "Koppelvlak"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Terugspeel"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7139,93 +7380,13 @@ msgstr "Opneem"
 msgid "Channels"
 msgstr "Kanaal"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-#, fuzzy
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Speel opname regstreeks tydens opname d.m.v. hardeware"
-
-#: prefs/AudioIOPrefs.cpp:152
-#, fuzzy
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Speel opname regstreeks tydens opname d.m.v.sagteware"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (mono)"
 
-#: prefs/BatchPrefs.cpp:85
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (stereo)"
 
 #: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
@@ -7244,34 +7405,31 @@ msgstr "Ligging:"
 msgid "Free Space:"
 msgstr "Oop spasie:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
+msgstr "Oudiokasgeheue"
 
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minute"
-
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Oudiokasgeheue"
-
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Kies 'n ligging vir die tydelike gids"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7291,220 +7449,141 @@ msgstr "Gids %s is nie skryfbaar nie"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Verandering aan die tydelike gids word eers effektief wanneer Audacity oor begin"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "MP3 Library Version:"
-msgstr "MP3-biblioteekweergawe:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "Koppelvlak"
+#: prefs/GUIPrefs.cpp:115
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (oppervlakkige omvang vir hoë-amplitude-redigeerwerk)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: prefs/GUIPrefs.cpp:116
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM-omvang van 8-bis-monsters)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: prefs/GUIPrefs.cpp:117
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM-omvang van 16-bis-monsters)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: prefs/GUIPrefs.cpp:118
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (omtrent tot waar 'n mens hoor)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: prefs/GUIPrefs.cpp:119
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM-omvang van 24-bis-monsters)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:86
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:89 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:115
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (oppervlakkige omvang vir hoë-amplitude-redigeerwerk)"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM-omvang van 8-bis-monsters)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:117
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM-omvang van 16-bis-monsters)"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (omtrent tot waar 'n mens hoor)"
-
-#: prefs/GUIPrefs.cpp:119
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM-omvang van 24-bis-monsters)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
@@ -7535,17 +7614,22 @@ msgstr "Let wel: Cmd+Q sluit af. Alle ander sleutels is geldig."
 msgid "&Defaults"
 msgstr "&Verstekwaardes"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Sleutelkombinasie"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Voer sleutelbord-kortpaaie uit as:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Ontdoen"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Fout met stoor van sleutelbord-kortpaaie"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7555,6 +7639,14 @@ msgstr "Kies 'n XML-lêer wat Audacity-snelsleutels bevat..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Fout met sleutelbord-kortpaaie"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Voer sleutelbord-kortpaaie uit as:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Fout met stoor van sleutelbord-kortpaaie"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7562,9 +7654,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Ontdoen"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:104
+msgid "MP3 Library Version:"
+msgstr "MP3-biblioteekweergawe:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Oudio-T/A (\"I/O\")"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7579,6 +7723,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7587,6 +7735,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:189
 msgid "Audio to buffer:"
 msgstr ""
@@ -7599,6 +7751,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7813,10 +7977,62 @@ msgstr "Ctrl-muiswieletjie"
 msgid "Zoom in or out"
 msgstr "Zoem in of uit"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Audacity-voorkeure"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minute"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Reghoek"
@@ -7841,44 +8057,45 @@ msgstr "Verstek monsterfrekwensie:"
 msgid "Default Sample Format:"
 msgstr "Verstek monsterformaat:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Intydse monstertempo-omsetting:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Hoëkwaliteit-monstertempo-omskakeling:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Intydse afronding:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Hoëkwaliteit-afronding:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:150
+#, fuzzy
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Speel opname regstreeks tydens opname d.m.v. hardeware"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7893,19 +8110,55 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Spektrogramme"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "FFT-grootte"
-
 #: prefs/SpectrumPrefs.cpp:75
 #, fuzzy
 msgid "8 - most wideband"
 msgstr "64 - wyeband"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "256 - standaard"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7914,22 +8167,26 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - smalband"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "&Grysskaal"
-
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
 msgstr "Minimum frekwensie (Hz):"
@@ -7938,16 +8195,16 @@ msgstr "Minimum frekwensie (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Maksimum frekwensie (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7958,6 +8215,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "Die maksimum frekwensie moet 'n heelgetal wees"
@@ -7974,18 +8239,57 @@ msgstr "Die minimum frekwensie moet 'n heelgetal wees"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Minimum frekwensie moet ten minste 0 Hz wees"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8016,78 +8320,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pouseer"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Speel"
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Stop"
+#: prefs/GUIPrefs.cpp:86
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Spring na begin"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Spring na einde"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:774
+msgid "Pause"
+msgstr "Pouseer"
+
+#: Menus.cpp:773
+msgid "Stop"
+msgstr "Stop"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:839
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8128,29 +8448,21 @@ msgstr "Zoem in"
 msgid "Zoom Out"
 msgstr "Zoem uit"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Zoomskakelaar"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Pas seleksie in venster"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Pas projek"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Pas projek in venster"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Pas projek"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8196,6 +8508,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr ""
@@ -8240,7 +8560,6 @@ msgid "Selection End"
 msgstr "na einde van seleksie"
 
 #: toolbars/ToolBar.cpp:97
-#, c-format
 #, fuzzy
 msgid "Audacity %s ToolBar"
 msgstr "Audacity-redigeerbalk"
@@ -8277,31 +8596,6 @@ msgstr "Links=Inzoem, Regs=Uitzoem, Middel=Normaal"
 msgid "Click and drag to move a track in time"
 msgstr "Klik en sleep om 'n baan in tyd te skuif."
 
-#: toolbars/ToolsToolBar.cpp:90
-#, fuzzy
-msgid "Tools"
-msgstr "Funksieknop"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Merker"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Omhullingtang"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Verskuif tyd"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Vergrootglas"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Tekenpen"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Kombinasiemodus"
@@ -8310,23 +8604,10 @@ msgstr "Kombinasiemodus"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-#, fuzzy
-msgid "Multi Tool"
-msgstr "Kombinasiewerktuig\tF6"
-
-#: toolbars/TranscriptionToolBar.cpp:82
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:163
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:164
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:170 toolbars/TranscriptionToolBar.cpp:175
 msgid "Playback Speed"
 msgstr ""
@@ -8335,74 +8616,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:181
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:186
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:187
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:189
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:190
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:192
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:193
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:195
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:196
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:198
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:199
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:201
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:202
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:204
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:205
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8435,6 +8680,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:164
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:181
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:187
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:190
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:193
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:205
+msgid "Calibrate"
+msgstr ""
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (gedeaktiveer)"
@@ -8740,8 +9025,19 @@ msgid "Error: %hs at line %lu"
 msgstr ""
 
 #: xml/XMLFileReader.cpp:79
-#, c-format
 #, fuzzy
 msgid "Could not load file: \"%s\""
 msgstr "Kon nie lêer \"%s\" open nie."
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ar.po b/locale/ar.po
index 0007466..5084a4b 100644
--- a/locale/ar.po
+++ b/locale/ar.po
@@ -30,11 +30,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -86,7 +86,7 @@ msgid "Special thanks:"
 msgstr "شكر خاص:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -227,11 +227,21 @@ msgstr "عداد المدخل"
 msgid "Output Meter"
 msgstr "عداد المخرج"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&جديد"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&فتح..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:751 Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&تفضيلات...\tCtrl+،"
+msgid "&Preferences..."
+msgstr "&تفضيلات..."
 
 #: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
@@ -355,18 +365,16 @@ msgstr "خطأ: "
 msgid "Error Initializing Audio"
 msgstr "خطأ في تهيئة نظام الصوت"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "مشكل في الكمون"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "إعداد الكمون تسبب في إخفاء الصوت المسجل قبل الصفر.\n"
-"قام برنامج جُرأة بإرجاعه ليبدأ من الصفر.\n"
-"ربما تحتاج لاستخدام أداة تحريك الوقت (<---> أو F5) لسحب المسار للمكان الصحيح."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "استعادة تلقائية بعد التحطم"
@@ -591,8 +599,8 @@ msgstr "&سلسلة (نقرة مزدوجة أو ضغط على زر المساف
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "رقم"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -932,11 +940,11 @@ msgstr "مستطيل"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -994,11 +1002,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1083,10 +1092,23 @@ msgstr "ت&صدير..."
 msgid "Export"
 msgstr "تصدير"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "إغلاق"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
 #: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
 #: effects/Compressor.cpp:352 effects/Compressor.cpp:360
@@ -1104,6 +1126,15 @@ msgstr "ديسيبل"
 msgid "Hz"
 msgstr "هرتز"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "لرسم منحنى الطيف، يجب أن يكون لكل المسارات المختارة نفس معدل العيّنة."
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "الجزء المختار من الصوت كبير جدا. سوف تُحلّل منه الثواني %.1f اﻷولى فقط."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "البيانات المختارة غير كافية."
@@ -1118,7 +1149,6 @@ msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "المؤشر: %d هرتز (%s) = %d ديسيبل    الذروة: %d هرتز (%s) = %.1f ديسيبل"
 
 #: FreqWindow.cpp:788
-#, c-format
 #, fuzzy
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "المؤشر: %.4f ثا (%d هرتز) (%s) = %f،       الذروة: %.4f ثا (%d هرتز) (%s) = %.3f"
@@ -1144,6 +1174,21 @@ msgstr "التردد (هرتز)\t  المستوى (ديسيبل)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "تخلف (ثانية)\tتردد (هرتز)\tمستوى"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "في [[welcome|شاشة الترحيب]]"
@@ -1221,7 +1266,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>للتسجيل: </b> عرف جهاز التسجيل و مصدر اﻹدخال و عدل مستوى اﻹدخال ثم اضغط على زر التسجيل . </b></p><p> 1) [[inputdevice|إعداد جهاز التسجيل]] من خلال <i>لسان منافذ الصوت في التفضيلات</i> أو من خلال <i>شريط اﻷجهزة</i>. تفضيلات منافذ الصوت تسمح لك باختيار التسجيل الثنائي إذا كنت تريد ذلك. <br> 2) [[inputsource|إعداد مصدر اﻹدخال]] لذلك الجهاز (مثلا الميكروفون أو الخط-الداخل) من خلال القائمة المنسدلة في <i>شريط المازج</i>،  أو (على بعض اﻷنظمة) من خلال جهاز التسجيل عند <i>لسان منافذ الصوت في التفضيلات</i> أو من خلال  <i>شريط اﻷجهزة</i>.<br> 3) [[inputlevel|تعديل مستوى اﻹدخال]] باستعمال المتزحلق اﻷيمن في <i>شريط المازج</i>. تصحيح المستوى قبل بدأ التسجيل ضروري لتجنب الضجيج و  التشوهات. </p><p> للمزيد من المساعدة انظر <a href=\"http://audacity.sourceforge.net/help/faq\">الأسئلة المتكررة</a> حول \"التسجيل\"، و كذلك الدرس التعليمي  <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\">تسجيلك اﻷول</a> في  <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\"> الدليل </a>، و أيضا صفحات الويكي [[wiki:Recording_Tips|نصائح حول التسجيل]] و [[wiki:Troubleshooting_Recordings|حل مشاكل التسجيل]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>جهاز اﻹدخال هو الجهاز الصوت الحالي على حاسوبك الذي تسجل عليه.يتم اختيار  \"جهاز التسجيل\" من خلال <i> لسان منافذ الصوت في التفضيلات </i>، على لينيكس و ويندوز تكون التفضيلات في آخر قائمة<i> التحرير</i>. على الماك، ستجد التفضيلات في القائمة <i>جُرأة</i>. يمكنك أيضا اختيار جهاز التسجيل بشكل ملائم من خلال <i>شريط اﻷجهزة</i> الذي يمكن تفعيله من القائمة <i>عرض &lt; أشرطة الأدوات...</i>. </p><p>  في الحالة الافتراضية، سيختار جُرأة جهاز الصوت الذي يستعمله النظام (و هو عادة جهاز الصوت المُدمَج في الحاسوب)، لذا في الغالب لا تحتاج إلى تغيير جهاز اﻹدخال.على ويندوز يمكن اختيار الجهاز الحالي للنظام كـ\"كمنظم صوت ميكروسوفت\". إذا كنت تسجل من جهاز يو.أس.بي خارجي مثل قرص دوار يو.أس.بي أو من جهاز فايرواير، قم باختياره باسمه كجهاز تسجيل بعد ربطه بالحاسوب.  </p><p> عودة إلى [[record|تسجيل الصوت]] <br></p>"
 
 #: HelpText.cpp:244
@@ -1245,7 +1291,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "للاستماع لعملك على برامج وسائط متعددة أخرى، قم بتصديره إلى ملف صوتي من نوع  وايف أو أم.بي.3 (بعض الصيغ [[wma-proprietary|غير مدعومة]]).[[save|حفظ مشروع جُرأة]] يُنتج ملف مشروع (مع مجلد _data تابع له) يحتوي على كل المسارات التي حررتها بحيث يمكنك الرجوع للعمل عليها لاحقا. لكن البرامج اﻷخرى لا تستطيع قراءة ملفات مشاريع جُرأة. </p><p> لتصدير المشروع، انقر على <i> ملف &lt; تصدير</i> ثم اختر صيغة ملف التصدير التي تريدها من القائمة المنسدلة \"حفظ كـ\". لـ [[burncd|نسخ الصوت إلى قرص مضغوط]] يمكن سماعه على قارئ أقراص مستقل اختر صيغة وايف أو آيف. للتصدير بصيغة أم.بي.3 يجب تثبيت [[wiki:Lame_Installation|مشفر لايم]]. </p><p> اﻷمر <i>ملف &lt; تصدير الاختيار</i> يقتصر على تصدير المنطقة المختارة من الصوت فقط.  استعمل <i>ملف &lt; تصدير متعدد</i> لتصدير عدة ملفات في نفس الوقت، سواءا لوضع كل مسار صوتي في ملف لوحده أو لوضع كل منطقة مُعلَمة من مناطق مسار واحد في ملف لوحدها. اﻷمر <i>مسارات &lt;  إضافة علامة على الاختيار</i> يسمح لك [[wiki:Splitting_recordings_into_separate_tracks|بتقسيم مسارات]] ألبوم معينلتصديرها في ملفات منفصلة. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>لا يستطيع جُرأة [[play|قراءة]] أو [[export|تصدير]] صيغ الملفات <b>دابليو.أم.آي، ريل أوديو، شورتن (SHN)،</b> أو أغلب الصيغ الخاصة اﻷخرى،  بسبب القيود التي تضعها الرُخص و براءات الاختراع. على الماك، يمكنك استيراد ملفات <b>آي.آي.سي</b> مثل <b>أم.4.آي</b> إذا لم تكن محمية. بعض  الصيغ المفتوحة ليست مدعومة في جُرأة لحد الآن، منها <b>أوق سبيكس</b> و <b> ميوزباك</b>. <b>لا يمكن</b> أيضا استيراد الملفات المحمية بأي نوع من إدارة الحقوق الرقمية (دي.أر.أم)، بما فيها الكثير من الملفات المباعة على الانترت  مثل آيتيونز أو نابستر. </p><p> إذا لم تستطع استيراد ملفك في جُرأة، حاول تحويله إلى صيغة وايف أو آيف إذا لم يكن محميا بالحقوق الرقمية، و ذلك باستخدام  آيتيونز أو <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">سوبر</a>. إذا كان الملف محميا بالحقوق الرقمية، قم بنسخه إلى قرص مضغوط صوتي باستخدام البرنامج المُرخص لقراءته، ثم استخرج مسار القرص المضغوط إلى  وايف أو آيف باستعمال آيتيونز أو <a href=\"http://cdexos.sourceforge.net/?q=download\">سيدياكس</a>(على الويندوز) أو ويندوز ميديا بلاير 11. يمكنك أيضا <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">تسجيل</a> القرص المضغوط على حاسوبك.<i> لتصدير الصوت إلى صيغة غير مدعومة، قم أولا بتصديره إلى وايف أو آيف ثم حوله إلى الصيغة التي تريدها  باستعمال آيتيونز أو <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">سوبر</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1306,6 +1353,14 @@ msgstr "ميقابايت"
 msgid "GB"
 msgstr "قيقابايت"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "مسار"
@@ -1420,21 +1475,13 @@ msgstr "فتح مشروع  جُرأة"
 msgid "&File"
 msgstr "&ملف"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&جديد\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&فتح...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&إغلاق\tCtrl+W"
+msgid "&Close"
+msgstr "&إغلاق"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "حف&ظ المشروع\tCtrl+S"
+msgid "&Save Project"
+msgstr "حف&ظ المشروع"
 
 #: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
@@ -1457,8 +1504,8 @@ msgid "&Import"
 msgstr "&استيراد"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "ال&صوت...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "ال&صوت..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1488,9 +1535,9 @@ msgstr "تصدير متعـ&دد..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "&سلسلة الخطاب النظيف..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "&تطبيق السلسلة..."
 
 #: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
@@ -1504,10 +1551,6 @@ msgstr "المجموعات القبلية للخطاب النظيف (*.csp)|*.cs
 msgid "I&mport CleanSpeech Presets..."
 msgstr "المجموعات القبلية للخطاب النظيف (*.csp)|*.csp"
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "&تطبيق السلسلة..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "ت&حميل ملف..."
@@ -1521,72 +1564,72 @@ msgid "&Print..."
 msgstr "&طباعة..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "&خروج\tCtrl+Q"
+msgid "E&xit"
+msgstr "&خروج"
 
 #: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&تحرير"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "ت&راجع\tCtrl+Z"
+msgid "&Undo"
+msgstr "ت&راجع"
 
 #: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "ت&كرار"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "ق&ص\tCtrl+X"
+msgid "Cu&t"
+msgstr "ق&ص"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "ت&قسيم و قص\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "ت&قسيم و قص"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&نسخ\tCtrl+C"
+msgid "&Copy"
+msgstr "&نسخ"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "ل&صق\tCtrl+V"
+msgid "&Paste"
+msgstr "ل&صق"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "تق&ليم\tCtrl+T"
+msgid "Tri&m"
+msgstr "تق&ليم"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&حذف\tCtrl+K"
+msgid "&Delete"
+msgstr "&حذف"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "تقسيم و &حذف\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "تقسيم و &حذف"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "ت&قسيم\tCtrl+I"
+msgid "Sp&lit"
+msgstr "ت&قسيم"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "تقسيم &جديد\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "تقسيم &جديد"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "&ضمّ\tCtrl+J"
+msgid "&Join"
+msgstr "&ضمّ"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "م&ضاعفة\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "م&ضاعفة"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1598,80 +1641,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "ق&ص\tAlt+X"
+msgid "&Cut"
+msgstr "ق&ص"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "ت&قسيم و قص\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "ت&قسيم و قص"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "&نسخ\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "&حذف\tAlt+K"
+msgid "Co&py"
+msgstr "&نسخ"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "ت&قسيم و حذف\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "ت&قسيم و حذف"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "&صمت\tAlt+L"
+msgid "Sile&nce"
+msgstr "&صمت"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "تق&سيم\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "&ضمّ\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "تق&سيم"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "ال&كل\tCtrl+A"
+msgid "&All"
+msgstr "ال&كل"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "لا &شيئ\tCtrl+Shift+A"
+msgid "&None"
+msgstr "لا &شيئ"
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "&يسار موضع القراءة\t["
+msgid "&Left at Playback Position"
+msgstr "&يسار موضع القراءة"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "&يمين موضع القراءة\t]"
+msgid "&Right at Playback Position"
+msgstr "&يمين موضع القراءة"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "من &بداية المسار إلى المؤشر\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "من &بداية المسار إلى المؤشر"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "المؤشر إلى آ&خر المسار\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "المؤشر إلى آ&خر المسار"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "البحث عن التقاطعات مع ال&صفر\tZ"
+msgid "Find &Zero Crossings"
+msgstr "البحث عن التقاطعات مع ال&صفر"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1686,12 +1714,12 @@ msgid "to Selection En&d"
 msgstr "إلى نهاية الا&ختيار"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "إلى &أول المسار\tJ"
+msgid "to Track &Start"
+msgstr "إلى &أول المسار"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "إلى آ&خر المسار\tK"
+msgid "to Track &End"
+msgstr "إلى آ&خر المسار"
 
 #: Menus.cpp:450
 msgid "Re&gion Save"
@@ -1713,29 +1741,8 @@ msgstr "ق&فل"
 msgid "&Unlock"
 msgstr "ف&تح القفل"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "تشغيل الحصر"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "إيقاف الحصر"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "تشغيل شبكة الحصر"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "إيقاف شبكة الحصر"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1743,36 +1750,36 @@ msgid "&View"
 msgstr "&عرض"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "ت&كبير\tCtrl+1"
+msgid "Zoom &In"
+msgstr "ت&كبير"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "ال&حجم العادي \tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "ال&حجم العادي "
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "ت&صغير \tCtrl+3"
+msgid "Zoom &Out"
+msgstr "ت&صغير "
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&مناسب للنافذة\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&مناسب للنافذة"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "مناسب &عموديا\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "مناسب &عموديا"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&تكبير الاختيار \t Ctrl+E"
+msgid "&Zoom to Selection"
+msgstr "&تكبير الاختيار "
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "إن&زال كل المسارات\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "إن&زال كل المسارات"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "تو&سيع كل المسارات\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "تو&سيع كل المسارات"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1832,40 +1839,40 @@ msgstr "!عرض مُبسَّط"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "قراءة"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "تخطي إلى البداية\tHome"
+msgid "Skip to Start"
+msgstr "تخطي إلى البداية"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "تخطي إلى النهاية\tEnd"
+msgid "Skip to End"
+msgstr "تخطي إلى النهاية"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1893,8 +1900,8 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&مسار صوتي\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&مسار صوتي"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
@@ -1909,8 +1916,8 @@ msgid "Mi&x and Render"
 msgstr "مز&ج و تقديم"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "مزج و تقديم إلى مسار جديد\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "مزج و تقديم إلى مسار جديد"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -1921,12 +1928,12 @@ msgid "Remo&ve Tracks"
 msgstr "ح&ذف المسارات"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&كتم كل المسارات\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "&كتم كل المسارات"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&إلغاء كتم كل المسارات\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "&إلغاء كتم كل المسارات"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -1972,17 +1979,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "إضافة &علامة عند الاختيار\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "إضافة &علامة عند موضع القراءة\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "إضافة &علامة عند موضع القراءة"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2008,14 +2015,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "تأ&ثير"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "إعادة التأثير الأخير\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "ت&حليل"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "رسم منحنى الطيف..."
@@ -2032,9 +2039,9 @@ msgstr "&حول الخطاب النظيف لجُرأة..."
 msgid "&Show Welcome Message..."
 msgstr "&عرض الكلمة الترحيبية..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "&دليل..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2052,181 +2059,149 @@ msgstr "تشغيل الم&قارن..."
 msgid "&Audio Device Info..."
 msgstr "معلومات جهاز ال&صوت"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "أداة الاختيار\tF1"
+msgid "Selection Tool"
+msgstr "أداة الاختيار"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "أداة الغلاف\tF2"
+msgid "Envelope Tool"
+msgstr "أداة الغلاف"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "أداة الرسم\tF3"
+msgid "Draw Tool"
+msgstr "أداة الرسم"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "أداة التكبير و التصغير\tF4"
+msgid "Zoom Tool"
+msgstr "أداة التكبير و التصغير"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "أداة تحريك الوقت\tF5"
+msgid "Time Shift Tool"
+msgstr "أداة تحريك الوقت"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "أدوات متعددة\tF6"
+msgid "Multi Tool"
+msgstr "أدوات متعددة"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "الأداة التالية\tD"
+msgid "Next Tool"
+msgstr "الأداة التالية"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "الأداة السابقة\tA"
+msgid "Previous Tool"
+msgstr "الأداة السابقة"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "توقف\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "توقف مؤقت\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "تسجيل\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "إرفاق التسجيل\tShift+R"
-
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "قراءة/توقف و تحديد المؤشر\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "قراءة/توقف و تحديد المؤشر"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "قراءة ثانية واحدة\t1"
+msgid "Play One Second"
+msgstr "قراءة ثانية واحدة"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "قراءة حتى الاختيار\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "القراءة متكررة\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "قراءة حتى الاختيار"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "قراءة العرض المسبق للقص\tC"
+msgid "Play Cut Preview"
+msgstr "قراءة العرض المسبق للقص"
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "اختيار إلى البداية\tShift+Home"
+msgid "Selection to Start"
+msgstr "اختيار إلى البداية"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "اختيار إلى النهاية\tShift+End"
+msgid "Selection to End"
+msgstr "اختيار إلى النهاية"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "زر الحذف\tBackspace"
+msgid "DeleteKey"
+msgstr "زر الحذف"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "زر الحذف 2\tDelete"
+msgid "DeleteKey2"
+msgstr "زر الحذف 2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "بحث عن مدة قصيرة من اليسار خلال القراءة\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "بحث عن مدة قصيرة من اليمين خلال القراءة\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "بحث عن مدة طويلة من اليسار خلال القراءة\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "بحث عن مدة طويلة من اليمين خلال القراءة\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "نقل التركيز إلى المسار السابق\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "نقل التركيز إلى المسار السابق"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "نقل التركيز إلى المسار السابق و تغيير الاختيار\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "نقل التركيز إلى المسار التالي\tDown"
+msgid "Move Focus to Next Track"
+msgstr "نقل التركيز إلى المسار التالي"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "نقل التركيز إلى المسار التالي و تغيير الاختيار\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "قلب المسار الذي عليه التركيز\tReturn"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "قلب المسار الذي عليه التركيز\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "قلب المسار الذي عليه التركيز"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "يسار المؤشر\tLeft"
+msgid "Cursor Left"
+msgstr "يسار المؤشر"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "يمين المؤشر\tRight"
+msgid "Cursor Right"
+msgstr "يمين المؤشر"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "قفز قصير للمؤشر نحو اليسار\t،"
+msgid "Cursor Short Jump Left"
+msgstr "قفز قصير للمؤشر نحو اليسار"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "قفز قصير للمؤشر نحو اليمين\t."
+msgid "Cursor Short Jump Right"
+msgstr "قفز قصير للمؤشر نحو اليمين"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "قفز طويل للمؤشر نحو اليسار\t،"
+msgid "Cursor Long Jump Left"
+msgstr "قفز طويل للمؤشر نحو اليسار"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "قفز طويل للمؤشر نحو اليمين\t."
+msgid "Cursor Long Jump Right"
+msgstr "قفز طويل للمؤشر نحو اليمين"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "تمديد الاختيار نحو اليسار\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "تمديد الاختيار نحو اليسار"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "تمديد الاختيار نحو اليمين\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "تمديد الاختيار نحو اليمين"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2237,52 +2212,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "حدد (أو مدد) الاختيار الأيمن"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "تقليص الاختيار نحو اليسار\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "تقليص الاختيار نحو اليسار"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "تقليص الاختيار نحو اليمين\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "تقليص الاختيار نحو اليمين"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "تغيير البانوراما على المسار الذي عليه التركيز\tShift+P"
+msgid "Change pan on focused track"
+msgstr "تغيير البانوراما على المسار الذي عليه التركيز"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "بانوراما أيسر على المسار الذي عليه التركيز\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "بانوراما أيسر على المسار الذي عليه التركيز"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "بانوراما أيمن على المسار الذي عليه التركيز\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "بانوراما أيمن على المسار الذي عليه التركيز"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "تغيير المستوى على المسار الذي عليه التركيز\tShift+G"
+msgid "Change gain on focused track"
+msgstr "تغيير المستوى على المسار الذي عليه التركيز"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "رفع المستوى على المسار الذي عليه التركيز\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "رفع المستوى على المسار الذي عليه التركيز"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "تخفيض المستوى على المسار الذي عليه التركيز\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "تخفيض المستوى على المسار الذي عليه التركيز"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "فتح قائمة الخيارات على المسار الذي عليه التركيز\tShift+M"
+msgid "Open menu on focused track"
+msgstr "فتح قائمة الخيارات على المسار الذي عليه التركيز"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "كتم/إلغاء كتم المسار الذي عليه التركيز\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "كتم/إلغاء كتم المسار الذي عليه التركيز"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "إفراد/إلغاء إفراد المسار الذي عليه التركيز\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "إفراد/إلغاء إفراد المسار الذي عليه التركيز"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "إغلاق المسار الذي عليه التركيز\tShift+C"
+msgid "Close focused track"
+msgstr "إغلاق المسار الذي عليه التركيز"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2293,7 +2268,35 @@ msgid "Snap To Off"
 msgstr "توقيف الحصر"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2354,8 +2357,8 @@ msgstr "أولا، يجب أن تختار مسار."
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "إعادة %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "إعادة %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2563,15 +2566,6 @@ msgstr "تقسيم إلى مسار جديد"
 msgid "Split at labels"
 msgstr "تقسيم عند العلامات"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "لرسم منحنى الطيف، يجب أن يكون لكل المسارات المختارة نفس معدل العيّنة."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "الجزء المختار من الصوت كبير جدا. سوف تُحلّل منه الثواني %.1f اﻷولى فقط."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2790,6 +2784,10 @@ msgstr "حصل مشكل في الطباعة."
 msgid "Print"
 msgstr "طباعة"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "مزج رئيسي"
@@ -2803,7 +2801,7 @@ msgstr "مرحبا بك في إصدار جُرأة %s"
 msgid "(Recovered)"
 msgstr "(مُسترجع)"
 
-#: Project.cpp:1482 TrackPanel.cpp:804 toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "تسجيل"
 
@@ -2833,9 +2831,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "حفظ التغييرات؟"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "كل الملفات|*.*|كل الملفات المدعومة|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2869,6 +2867,17 @@ msgstr "1.0  أو ما قبله"
 msgid "Opening old project file"
 msgstr "فتح ملف مشروع قديم"
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "خطأ في فتح الملف"
@@ -2926,15 +2935,15 @@ msgstr "تم حفظ هذا الملف ببرنامج جُرأة %s.\n"
 msgid "Can't open project file"
 msgstr "لا أستطيع فتح ملف المشروع"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "هذا ملف تم حفظه ببرنامج جُرأة %s.\n"
-"يمكنك فتحه بهذا اﻹصدار الحالي لجُرأة و لكن إذا حفظته بهذا اﻹصدار فلا يمكنك فتحه باﻹصدارات اﻷقدم\n"
-"افتح هذا الملف اﻵن ؟"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -2951,16 +2960,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "خطأ في حفظ المشروع"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3119,6 +3134,163 @@ msgstr "24-بِت بي.سي.أم"
 msgid "32-bit float"
 msgstr "32-بِت فلوت"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "اختيار..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "خطأ"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "الأدوات"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "التحكم"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "المازج"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "العداد"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "جهاز"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "النسخ"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "لوح المسار"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "مسارات"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "تم حفظه "
@@ -3127,6 +3299,10 @@ msgstr "تم حفظه "
 msgid "Error trying to save file: "
 msgstr "خطأ في محاولة حفظ الملف: "
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "تم اكتشاف فراغ في ملف المشروع\n"
@@ -3264,6 +3440,10 @@ msgstr "خطأ في تحميل الميتابيانات"
 msgid "Save Metadata As:"
 msgstr "حفظ الميتابيانات كـ:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3352,6 +3532,14 @@ msgstr "المدة"
 msgid "Audacity Timer Record"
 msgstr "مُسجِل مُؤقت جُرأة"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "بداية التسجيل"
@@ -3391,10 +3579,6 @@ msgstr "انتظار لبدأ التسجيل عند %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464 TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "لوح المسار"
-
 #: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "آخر..."
@@ -3447,6 +3631,10 @@ msgstr "إنتاج مسار ثنائي"
 msgid "Split Stereo Track"
 msgstr "تقسيم المسار الثنائي"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "تحديد صيغة العيّنة"
@@ -3646,14 +3834,6 @@ msgstr "تم تعديل البانوراما"
 msgid "Adjusted gain"
 msgstr "تم تعديل مستوى الصوت"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "لا يمكن حذف مسار الصوت الفعّال"
@@ -3688,6 +3868,11 @@ msgstr "القناة"
 msgid "Split stereo track '%s'"
 msgstr "تقسيم المسار الثنائي '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3764,6 +3949,10 @@ msgstr "اسم الخط"
 msgid "Face size"
 msgstr "حجم الخط"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "مكتوم"
@@ -3842,10 +4031,10 @@ msgstr "البرامج المساعدة من 1 إلى %i"
 msgid "Plugins %i to %i"
 msgstr "البرامج المساعدة من %i إلى %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "ممنوع لسبب ما. حاول اختيار بعض الصوت أولا؟"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4295,12 +4484,11 @@ msgstr "وقت الإنحطاط: "
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "تطبيع لـ 0 ديسيبل بعد الضغط"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "العتبة: %d ديسيبل"
@@ -4331,7 +4519,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "وقت الهجمة:  %.1f ثانية"
@@ -4342,7 +4529,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "وقت الإنحطاط: %.1f ثانية"
@@ -4355,6 +4541,10 @@ msgstr "الضاغط..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "تطبيق ضغط المجال الديناميكي..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4374,19 +4564,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4420,6 +4597,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4464,16 +4646,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "التحكم"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4584,18 +4758,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "مُوّلِد نبرة دي.تي.أم.أف"
@@ -4723,6 +4885,10 @@ msgstr "خطأ في تحميل منحنى التسوية"
 msgid "custom"
 msgstr "مصنوع حسب الطلب"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -4927,10 +5093,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "المازج"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5170,10 +5332,6 @@ msgstr "حذف الضجيج"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "التأثير المُطبَّق: %s حذف فرع دي.سي = %s، تطبيع السعة = %s"
 
-#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
-msgid "false"
-msgstr "خطأ"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74 effects/Normalize.cpp:75
@@ -5530,22 +5688,39 @@ msgstr "يجب أن يكون لكل المسارات نفس معدل العيّ
 msgid "Truncate Silence"
 msgstr "قطع الصمت"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "المدة القصوى للصمت:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
 #: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "ملي ثانية"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "المدة القصوى للصمت:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "عتبة الصمت:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   يجب أن تكون المدة الدنيا على اﻷقل 1 ملي ثانية"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5555,17 +5730,55 @@ msgstr "قطع الصمت..."
 msgid "Truncating Silence..."
 msgstr "قطع الصمت..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "عفوا، لايمكن إجراء تأثيرات في.أس.تي على المسارات الثنائية التي تكون فيها القنوات الفردية للمسار غير متوافقة."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "إعدادات التأثير"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "لا شيئ"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "لا أستطيع القيام بالتبديل"
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "متغيرات البرنامج المساعد في.أس.تي:"
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5614,19 +5827,10 @@ msgstr "إجراء تأثير: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "عفوا، لايمكن إجراء تأثيرات البرامج المساعدة على المسارات الثنائية التي تكون فيها القنوات الفردية للمسار غير متوافقة."
 
-#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "لا شيئ"
-
 #: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "المؤلف: "
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "إعدادات التأثير"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "الطول (بالثانية)"
@@ -5822,9 +6026,21 @@ msgstr "تصدير كل المشروع باستخدام مُشفِر سطر ا
 msgid "Command Output"
 msgstr "أمر المخرج"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5892,6 +6108,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "الجودة:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6025,12 +6245,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "الجودة:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6049,10 +6265,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6241,12 +6457,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6357,6 +6573,17 @@ msgstr "عمق البت:"
 msgid "FLAC Files"
 msgstr "ملفات فلاك"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "تصدير الصوت المختار بصيغة فلاك"
@@ -6608,10 +6835,6 @@ msgstr "خيارات..."
 msgid "Export location:"
 msgstr "مكان التصدير:"
 
-#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "اختيار..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "إنشاء"
@@ -6636,10 +6859,6 @@ msgstr "اسم الملف اﻷول:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "مسارات"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "تسمية الملفات:"
@@ -6673,6 +6892,35 @@ msgstr "تم إنشاء \"%s\" بنجاح."
 msgid "Choose a location to save the exported files"
 msgstr "اختيار مكان لحفظ الملفات المُصدّرة"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6686,16 +6934,6 @@ msgstr "\"%s\" غير موجود.\n"
 msgid "Edit metadata"
 msgstr "تحرير الميتابينات"
 
-#: export/ExportMultiple.cpp:595 export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "تم تصدير %d ملف بنجاح."
-
-#: export/ExportMultiple.cpp:596 export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "حدث خطأ بعد تصدير %d ملف."
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -6864,7 +7102,6 @@ msgstr "\"%s\" هو ملف تشفير صوتي متطور. \n"
 "أنت بحاجة لتحويله إلى صيغة مدعومة في جُرأة، مثل وايف أو آيف."
 
 #: import/Import.cpp:271
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -6968,6 +7205,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "ملفات فلاك"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "قائمة الملفات ذات الصيغة النصية الأساسية"
@@ -7125,34 +7366,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "منفذ صوتي"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "الدفعة"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (أحادي)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "السلوكات"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (ثنائي)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "لا &تطبق التأثيرات في نمط الدفعة"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "قراءة"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "نمط الخطاب الن&ظيف (الواجهة الرسومية حسب طلب المستخدم)"
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "جهاز"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "الواجهة"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "استخدام:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "باب صوتي v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "قراءة"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7162,93 +7410,13 @@ msgstr "تسجيل"
 msgid "Channels"
 msgstr "قنوات"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "قراءة بواسطة"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "قراءة بواسطة الآ&لة: قراءة المسار الجديد أثناء تسجيله"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "قراءة &بواسطة البرنامج: قراءة المسار الجديد أثناء تسجيله"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "عرض مسبق للتأثيرات"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "طول العرض المسبق"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "قص العرض المسبق"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "عرض مسبق قبل منطقة القص:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "عرض مسبق بعد منطقة القص:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "الكمون"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "الصوت إلى الواقي:\n"
-"(أعلى = كمون أكثر)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "تصحيح الكمون:\n"
-"(سالب = إلى الخلف)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "بحث الوقت أثناء القراءة"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "مدة قصيرة:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "مدة طويلة:"
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "الدفعة"
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "السلوكات"
-
-#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "لا &تطبق التأثيرات في نمط الدفعة"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (أحادي)"
 
-#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "نمط الخطاب الن&ظيف (الواجهة الرسومية حسب طلب المستخدم)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (ثنائي)"
 
 #: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
@@ -7267,34 +7435,31 @@ msgstr "المكان:"
 msgid "Free Space:"
 msgstr "المساحة الفارغة:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "حفظ تلقائي"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "حفظ نسخة من المشروع تلقائيا في مجلد منفصل"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "مجال الحفظ التلقائي:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "دقائق"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "مخبأ تلقائي"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "اختيار مكان لوضع الدليل المؤقت"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7313,225 +7478,143 @@ msgstr "لا يمن الكتابة في الدليل %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "تغيير الدليل المؤقت سيكون فعّالا عند إعادة تشغيل جُرأة من جديد"
 
-#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "استيراد / تصدير"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "مكتبة استيراد أم.بي.3"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "إصدار مكتبة أم.بي.3:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "في المُتصفح"
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "مكتبة أم.بي.3:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "من اﻷنترنت"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "مكتبة لايم أم.بي.3"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&تنزيل"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "ملاحظة: يمكن تغيير خيارات جودة التصدير بالنقر على زر الخيارات في علبة حوار التصدير.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "عند استيراد الملفات الصوتية"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&نسخ الملفات الصوتية غير المضغوطة قبل تحريرها (آمن)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&قراءة الملفات الصوتية غير المضغوطة اﻷصلية مباشرة (أسرع)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&تطبيع كل مسارات المشروع "
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "عند حفظ مشروع يعتمد على ملفات صوتية أخرى"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "دائما &انسخ كل الصوت إلى المشروع (الأسلم)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&لا تنسخ أي صوت"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 ديسيبل (مجال ضحل لتحرير السعات العالية)"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "&استشر المستخدم"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 ديسيبل (مجال بي.سي.أم لعيّنات 8 بت)"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "عند تصدير المسارات إلى ملف صوتي"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 ديسيبل (مجال بي.سي.أم لعيّنات 8 بت)"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&مزج كل المسارات إلى قناة ثنائية أو أحادية دائما"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 ديسيبل (مجال بي.سي.أم لعيّنات 16 بت)"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&استخدم المزج المخصص (مثلا لتصدير ملف متعدد القنوات 5.1)"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 ديسيبل (الحد التقريبي للسمع عند الإنسان)"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "&عرض محرر الميتابيانات قبل التصدير"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "- 145 ديسيبل (مجال بي.سي.أم لعيّنات 24 بت)"
 
-#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "الواجهة"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "عرض"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "في المُتصفح"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "من اﻷنترنت"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "بسيط"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&تحديث العرض أثناء القراءة"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "مساعدة:"
 
 #: prefs/GUIPrefs.cpp:96
 #, fuzzy
 msgid "Cl&osing last window quits Audacity"
 msgstr "الخروج من جُرأة عند غلق آخر نافذة "
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "تفعيل &سحب حافتي الاختيار اليسرى و اليمنى"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "&صف تلقائي للمسارات مع التكبير عموديا"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"تحريك نقطة التركيز على المسارات\" &بشكل دوران متكرر على المسارات"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "تحرير &مقطع يمكن أن يحرك مقاطع أخرى"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "ا&ختيار كل الصوت في المشروع، إذا لم يكن مختارا من قبل"
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "&أصدر صفير عند إنهاء العمليات الطويلة"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "عرض / إخفاء"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "تفعيل &خطوط القطع"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "أظهر الإنذارات حول الملفات ال&مؤقتة"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "عرض الكلمة الترحيبية عند بدأ البرنامج"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "أنماط"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "عرض الحد اﻷدنى للمجال: أمتار و 'شكل الموجة (ديسيبل)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 ديسيبل (مجال ضحل لتحرير السعات العالية)"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "استيراد / تصدير"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 ديسيبل (مجال بي.سي.أم لعيّنات 8 بت)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "عند استيراد الملفات الصوتية"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 ديسيبل (مجال بي.سي.أم لعيّنات 8 بت)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&نسخ الملفات الصوتية غير المضغوطة قبل تحريرها (آمن)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 ديسيبل (مجال بي.سي.أم لعيّنات 16 بت)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&قراءة الملفات الصوتية غير المضغوطة اﻷصلية مباشرة (أسرع)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 ديسيبل (الحد التقريبي للسمع عند الإنسان)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "&تطبيع كل مسارات المشروع "
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "- 145 ديسيبل (مجال بي.سي.أم لعيّنات 24 بت)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "عند تصدير المسارات إلى ملف صوتي"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "نمط العرض الافتراضي"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&مزج كل المسارات إلى قناة ثنائية أو أحادية دائما"
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "خيارات أخرى للواجهة"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&استخدم المزج المخصص (مثلا لتصدير ملف متعدد القنوات 5.1)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "مساعدة:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "&عرض محرر الميتابيانات قبل التصدير"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "زر وحيد:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
@@ -7561,17 +7644,22 @@ msgstr "ملاحظة: الضغط على Cmd+Q يؤدي إلى الخروج. كل
 msgid "&Defaults"
 msgstr "القيم ال&افتراضية"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "مجموعة مفاتيح"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "تصدير اختصارات لوحة المفاتيح كـ:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "تراجع"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "خطأ  في حفظ اختصارات لوحة المفاتيح"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7581,6 +7669,14 @@ msgstr "اختر ملف أكس.أم.أل يحتوي على اختصارات لو
 msgid "Error loading keyboard shortcuts"
 msgstr "خطأ في تحميل اختصارات لوحة المفاتيح"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "تصدير اختصارات لوحة المفاتيح كـ:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "خطأ  في حفظ اختصارات لوحة المفاتيح"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7590,9 +7686,61 @@ msgstr "اختصار لوحة المفاتيح '%s' مخصص من قبل لـ:\n
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "تراجع"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "مكتبة استيراد أم.بي.3"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "إصدار مكتبة أم.بي.3:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "مكتبة أم.بي.3:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "مكتبة لايم أم.بي.3"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "&تنزيل"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "منفذ صوتي"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "باب صوتي v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "قراءة بواسطة"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7606,6 +7754,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "قص العرض المسبق"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7614,6 +7766,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "الكمون"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7626,6 +7782,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "مدة قصيرة:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "مدة طويلة:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "عرض مسبق للتأثيرات"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7836,10 +8004,62 @@ msgstr "تدوير-العجلة-Ctrl"
 msgid "Zoom in or out"
 msgstr "تكبير أو تصغير"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "طول العرض المسبق"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "عرض مسبق قبل منطقة القص:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "عرض مسبق بعد منطقة القص:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "بحث الوقت أثناء القراءة"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "خيارات جُرأة"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "عند حفظ مشروع يعتمد على ملفات صوتية أخرى"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "دائما &انسخ كل الصوت إلى المشروع (الأسلم)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "&لا تنسخ أي صوت"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "&استشر المستخدم"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "حفظ تلقائي"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "حفظ نسخة من المشروع تلقائيا في مجلد منفصل"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "مجال الحفظ التلقائي:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "دقائق"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "مستطيل"
@@ -7864,45 +8084,46 @@ msgstr "المعدل الافتراضي للعيّنة:"
 msgid "Default Sample Format:"
 msgstr "الصيغة الافتراضية للعيّنة:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "مُحوّل معدل العيّنة بالوقت الحقيقي:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "مُحوّل معدل العيّنة بجودة عالية:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "ارتجاف بالوقت الحقيقي:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "ارتجاف جودة عالية:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "تحويل"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "مُحوّل معدل العيّنة"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "ارتجاف"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "الوقت الحقيقي:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "جودة عالية:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "التسجيل الذكي"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "قراءة بواسطة الآ&لة: قراءة المسار الجديد أثناء تسجيله"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -7916,18 +8137,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "الصور الطيفية"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "مقاس تحويل فورييه السريع"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - أعرض موجة"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - افتراضي"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - أغلب النطاقات الضيقة"
@@ -7936,21 +8193,26 @@ msgstr "32768 - أغلب النطاقات الضيقة"
 msgid "4096 - most narrowband"
 msgstr "4096 - أقصر موجة"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "نوع النافذة:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "نقاط القفز في تحويل فورييه السريع"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "عرض"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&درجات الرمادي"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -7960,17 +8222,17 @@ msgstr "الحد اﻷدنى للتردد (هرتز):"
 msgid "Maximum Frequency (Hz):"
 msgstr "الحد الأقصى للتردد (هرتز):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "الشبكة-&ع"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&بحث عن النغمات"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&ثبت قيم النغمات"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -7980,6 +8242,14 @@ msgstr "السِعة الدنيا (ديسيبل):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "العدد الأقصى للنغمات (1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&بحث عن النغمات"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&ثبت قيم النغمات"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "يجب أن يكون الحد الأقصى للتردد عددا صحيحا"
@@ -7996,18 +8266,70 @@ msgstr "يجب أن يكون الحد الأدنى للتردد عددا صحي
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "يجب أن يكون الحد الأدنى للتردد على اﻷقل 0 هرتز"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "يجب أن تكون السِعة الدنيا (ديسيبل) عددا صحيحا"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "يجب أن يكون العدد الأقصى للنغمات عددا صحيحا داخل المجال 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
 #: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "الموضوع"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "معلومة"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "الموضوعية هي خدمة تجريبية.\n"
+"\n"
+"لتجريبها، انقر \"حفظ مخبأ الموضوع\" ثم\n"
+"ابحث عن الصور و اﻷلوان في \n"
+"ImageCacheVxx.png و غيرها باستخدام برنامج لتحرير الصور \n"
+"مثل جيمب (Gimp).\n"
+"\n"
+"انقر \"تحميل مخبأ الموضوع\" لتحميل الصور المُبدلة\n"
+"و اﻷلوان في برنامج جُرأة من جديد.\n"
+"\n"
+"[حاليا يمكن فقط تبديل شريط التحكم و اﻷلوان على \n"
+"مسار الموجة، حتى و لو كان ملف الصور\n"
+"يحتوي على أيكونات أخرى.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8038,96 +8360,96 @@ msgstr "حفظ الملفات"
 msgid "Load Files"
 msgstr "تحميل الملفات"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "معلومة"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "بسيط"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "الموضوعية هي خدمة تجريبية.\n"
-"\n"
-"لتجريبها، انقر \"حفظ مخبأ الموضوع\" ثم\n"
-"ابحث عن الصور و اﻷلوان في \n"
-"ImageCacheVxx.png و غيرها باستخدام برنامج لتحرير الصور \n"
-"مثل جيمب (Gimp).\n"
-"\n"
-"انقر \"تحميل مخبأ الموضوع\" لتحميل الصور المُبدلة\n"
-"و اﻷلوان في برنامج جُرأة من جديد.\n"
-"\n"
-"[حاليا يمكن فقط تبديل شريط التحكم و اﻷلوان على \n"
-"مسار الموجة، حتى و لو كان ملف الصور\n"
-"يحتوي على أيكونات أخرى.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "لقد قمت ببناء جُرأة مع زر إضافي، \n"
-"'ناتج سوركيري'. سيقوم هذا بحفظ نسخة سي C من \n"
-"مخبأ الصورة يمكن دمجها في البناء كصورة افتراضية.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "إذا كان 'تحميل مخبأ الموضوع مع إنطلاق البرنامج' مُفعّل،\n"
-"فإن مخبأ الموضوع سيُحمَّل عند بدأ البرنامج.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&تحديث العرض أثناء القراءة"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "حفظ و تحميل ملفات مواضيع فردية يستخدم \n"
-"ملف منفصل لكل صورة، عدا هذا فالفكرة هي نفسها.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "&صف تلقائي للمسارات مع التكبير عموديا"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "توقف مؤقت"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "نمط العرض الافتراضي"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "قراءة"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "ا&ختيار كل الصوت في المشروع، إذا لم يكن مختارا من قبل"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "تفعيل &خطوط القطع"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "تفعيل &سحب حافتي الاختيار اليسرى و اليمنى"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"تحريك نقطة التركيز على المسارات\" &بشكل دوران متكرر على المسارات"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "تحرير &مقطع يمكن أن يحرك مقاطع أخرى"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "زر وحيد:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "توقف"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "تخطي إلى البداية"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "تخطي إلى النهاية"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "توقف مؤقت"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "توقف"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "الخطاب النظيف"
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "حدث خطأ أثناء فتح جهاز الصوت. "
@@ -8168,29 +8490,21 @@ msgstr "تكبير"
 msgid "Zoom Out"
 msgstr "تصغير"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "قلب التكبير و التصغير"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "جعل الاختيار ملائم"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "جعل الاختيار ملائم للنافذة"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "جعل المشروع ملائم"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "جعل المشروع ملائم للنافذة"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "العداد"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "جعل الاختيار ملائم"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "جعل المشروع ملائم"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8238,6 +8552,14 @@ msgstr "متزلج-المدخل"
 msgid "Input Source"
 msgstr "مصدر المدخل"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "اختيار"
@@ -8315,30 +8637,6 @@ msgstr "أيسر=تكبير، أيمن=تصغير، أوسط=عادي"
 msgid "Click and drag to move a track in time"
 msgstr "انقر و اسحب لتحريك المسار في الوقت"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "الأدوات"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "أداة الاختيار"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr " أداة الغلاف"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "أداة تحريك الوقت"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "أداة التكبير و التصغير"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "أداة الرسم"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "نمط الأدوات المتعددة"
@@ -8347,22 +8645,10 @@ msgstr "نمط الأدوات المتعددة"
 msgid "Slide Tool"
 msgstr "أداة التزلج"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "أدوات متعددة"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "النسخ"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "قراءة بالسرعة المختارة"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "قراءة بسرعة"
-
 #: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "سرعة القراءة"
@@ -8371,74 +8657,38 @@ msgstr "سرعة القراءة"
 msgid "Adjust left selection to next onset"
 msgstr "تعديل الاختيار الأيسر إلى البداية التالية"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "الأيسر للتشغيل"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "تعديل الاختيار الأيمن إلى الفرع السابق"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "الأيمن للتوقيف"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "تعديل الاختيار الأيسر إلى الفرع التالي"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "الأيسر للتوقيف"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "تعديل الاختيار الأيمن إلى البداية السابقة"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "الأيمن للتشغيل"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "اختيار منطقة الصوت حول المؤشر"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "اختيار-الصوت"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "اختيار منطقة الصمت حول المؤشر"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "اختيار-الصمت"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "إنتاج العلامات من الكلمات تلقائيا"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "إنتاج العلامات"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "إضافة علامة عند الاختيار"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "إضافة علامة"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "معايرة مفتاح الصوت"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "معايرة"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "تعديل الحساسية"
@@ -8471,6 +8721,46 @@ msgstr "تغيرات الإتجاه (العتبة القصوى)"
 msgid "Key type"
 msgstr "نوع المفتاح"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "قراءة بسرعة"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "الأيسر للتشغيل"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "الأيمن للتوقيف"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "الأيسر للتوقيف"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "الأيمن للتشغيل"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "اختيار-الصوت"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "اختيار-الصمت"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "إنتاج العلامات"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "إضافة علامة"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "معايرة"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (غير مُفعل)"
@@ -8863,3 +9153,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "لم أتمكن من تحميل الملف: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/bg.po b/locale/bg.po
index f7b8602..d04400b 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -27,16 +27,15 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
 msgid "translator_credits"
 msgstr "Превод на български: Михаил Балабанов"
 
@@ -79,7 +78,7 @@ msgid "Special thanks:"
 msgstr "Специални благодарности:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -190,18 +189,13 @@ msgstr ""
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s вече е отворен в друг прозорец."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
 msgid "Error opening project"
 msgstr "Грешка при отваряне на проект"
 
@@ -226,20 +220,28 @@ msgstr "Входна амплитуда"
 msgid "Output Meter"
 msgstr "Изходна амплитуда"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Нов"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Отваряне..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:626
-#: ../src/AudacityApp.cpp:696
+#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Използва се размер на блок %ld\n"
 
-#: ../src/AudacityApp.cpp:641
-#: ../src/AudacityApp.cpp:711
+#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Непознат параметър в командния ред: %s\n"
@@ -354,14 +356,14 @@ msgstr "Грешка:"
 msgid "Error Initializing Audio"
 msgstr "Грешка при инциализиране на звука"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -410,10 +412,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "Грешка"
 
@@ -589,8 +589,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -908,11 +909,11 @@ msgstr "Правоъгълен"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -968,11 +969,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -995,8 +997,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Честотен анализ"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
 msgid "Spectrum"
 msgstr "Спектър"
 
@@ -1054,15 +1055,25 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "Затваряне"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr "дБ"
@@ -1072,6 +1083,15 @@ msgstr "дБ"
 msgid "Hz"
 msgstr "Хц"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "За чертане на спектър всички маркирани писти трябва да са с еднаква честота на дискретизация."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Маркиран е прекалено дълъг звук. Ще бъдат анализирани само първите %.1f секунди."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Не са маркирани достатъчно данни."
@@ -1098,9 +1118,7 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Експорт на спектрални данни като:"
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr "Не бе възможен запис във файл: "
@@ -1113,6 +1131,21 @@ msgstr "Честота (Хц)\tНиво (дБ)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Закъснение (секунди)\tЧестота (Хц)\tСила"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1190,7 +1223,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1214,7 +1247,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1283,6 +1316,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1342,9 +1383,7 @@ msgstr "Избор на текстов файл с надписи..."
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Текстови файлове (*.txt)|*.txt|Всички файлове (*.*)|*.*"
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
+#: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Не бе възможно отварянето на файл:"
@@ -1398,21 +1437,13 @@ msgstr "Отваря се проект на Audacity"
 msgid "&File"
 msgstr "&Файл"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Нов\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Отваряне...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Затваряне\tCtrl+W"
+msgid "&Close"
+msgstr "&Затваряне"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Съхраняване на проект\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Съхраняване на проект"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1435,7 +1466,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1466,8 +1497,8 @@ msgstr "Експорт на н&яколко файла..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1482,10 +1513,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1500,7 +1527,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1508,63 +1535,63 @@ msgid "&Edit"
 msgstr "&Редакция"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Отмяна\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Отмяна"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Възстановяване"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "&Изрязване\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Изрязване"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Копиране\tCtrl+C"
+msgid "&Copy"
+msgstr "&Копиране"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "Поста&вяне\tCtrl+V"
+msgid "&Paste"
+msgstr "Поста&вяне"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "Из&триване\tCtrl+K"
+msgid "&Delete"
+msgstr "Из&триване"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1577,47 +1604,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1625,33 +1637,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Всичко\tCtrl+A"
+msgid "&All"
+msgstr "&Всичко"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Пресечни точки с нулата\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Пресечни точки с нулата"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1668,11 +1680,11 @@ msgid "to Selection En&d"
 msgstr "към края на селекцията"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1695,29 +1707,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Включване на прилепването"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Изключване на прилепването"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Включване на прилепването към мрежата"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Изключване на прилепването към мрежата"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1725,35 +1716,35 @@ msgid "&View"
 msgstr "&Изглед"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Увеличаване\tCtrl+1"
+msgid "Zoom &In"
+msgstr "&Увеличаване"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Нормален мащаб\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Нормален мащаб"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "У&маляване\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "У&маляване"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Побиране в прозореца\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Побиране в прозореца"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "&Вертикално побиране в прозореца\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "&Вертикално побиране в прозореца"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Мащабиране до селекцията\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Мащабиране до селекцията"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1815,39 +1806,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Превъртане до началото\tHome"
+msgid "Skip to Start"
+msgstr "Превъртане до началото"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Превъртане до края\tEnd"
+msgid "Skip to End"
+msgstr "Превъртане до края"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1875,7 +1866,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1892,7 +1883,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1904,11 +1895,11 @@ msgid "Remo&ve Tracks"
 msgstr "Пре&махване на писти"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1959,19 +1950,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Нов надпис върху селекцията\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Нов надпис в текущата позиция\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Нов надпис в текущата позиция"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -1997,21 +1987,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Ефект"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Повтаряне на последния ефект\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Анализ"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
 msgid "&Help"
 msgstr "&Помощ"
 
@@ -2023,8 +2012,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2043,181 +2032,149 @@ msgstr "&Измерване на скоростта..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Инструмент за маркиране\tF1"
+msgid "Selection Tool"
+msgstr "Инструмент за маркиране"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Инструмент за обвиващи криви\tF2"
+msgid "Envelope Tool"
+msgstr "Инструмент за обвиващи криви"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Инструмент за чертане\tF3"
+msgid "Draw Tool"
+msgstr "Инструмент за чертане"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Инструмент за увеличение\tF4"
+msgid "Zoom Tool"
+msgstr "Инструмент за увеличение"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Инструмент за изместване във времето\tF5"
+msgid "Time Shift Tool"
+msgstr "Инструмент за изместване във времето"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Многоинструментен режим\tF6"
+msgid "Multi Tool"
+msgstr "Многоинструментен режим"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Следващ инструмент\tD"
+msgid "Next Tool"
+msgstr "Следващ инструмент"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Предишен инструмент\tA"
+msgid "Previous Tool"
+msgstr "Предишен инструмент"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Стоп\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Пауза\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Запис\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Възпроизвеждане - 1 секунда\t1"
+msgid "Play One Second"
+msgstr "Възпроизвеждане - 1 секунда"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Възпроизвеждане до селекцията\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Зациклено възпроизвеждане\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Възпроизвеждане до селекцията"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Маркиране до началото\tShift+Home"
+msgid "Selection to Start"
+msgstr "Маркиране до началото"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Маркиране от курсора до края\tShift+End"
+msgid "Selection to End"
+msgstr "Маркиране от курсора до края"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "Клавиш за изтриване\tBackspace"
+msgid "DeleteKey"
+msgstr "Клавиш за изтриване"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "Клавиш за изтриване 2\tDelete"
+msgid "DeleteKey2"
+msgstr "Клавиш за изтриване 2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Курсор наляво\tналяво"
+msgid "Cursor Left"
+msgstr "Курсор наляво"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Курсор надясно\tнадясно"
+msgid "Cursor Right"
+msgstr "Курсор надясно"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Разширяване на селекцията наляво\tCtrl+Shift+наляво"
+msgid "Selection Extend Left"
+msgstr "Разширяване на селекцията наляво"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Разширяване на селекцията надясно\tCtrl+Shift+надясно"
+msgid "Selection Extend Right"
+msgstr "Разширяване на селекцията надясно"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2228,51 +2185,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Свиване на селекцията отляво\tCtrl+Shift+надясно"
+msgid "Selection Contract Left"
+msgstr "Свиване на селекцията отляво"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Свиване на селекцията отдясно\tCtrl+Shift+наляво"
+msgid "Selection Contract Right"
+msgstr "Свиване на селекцията отдясно"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2284,7 +2241,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2345,8 +2330,8 @@ msgstr "Моля, първо изберете писта."
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Повтаряне на %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Повтаряне на %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2377,8 +2362,7 @@ msgstr "Няма действия за анулиране"
 msgid "Nothing to redo"
 msgstr "Няма действия за възстановяване"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
 msgid "Cut"
 msgstr "Изрязване"
 
@@ -2394,9 +2378,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Paste"
 msgstr "Поставяне"
 
@@ -2404,8 +2386,7 @@ msgstr "Поставяне"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Pasted from the clipboard"
 msgstr "Извършено бе поставяне от клипборда"
 
@@ -2457,8 +2438,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Маркираните писти бяха нулирани в отрязък от %.2f секунди от %.2f"
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
 msgid "Silence"
 msgstr "Тишина"
 
@@ -2542,8 +2522,7 @@ msgstr ""
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:2009
-#: ../src/TrackPanel.cpp:4134
+#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
 msgid "Split"
 msgstr "Разделяне"
 
@@ -2559,15 +2538,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Разделяне в поз. на надписите"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "За чертане на спектър всички маркирани писти трябва да са с еднаква честота на дискретизация."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Маркиран е прекалено дълъг звук. Ще бъдат анализирани само първите %.1f секунди."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2685,9 +2655,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Създадена бе нова аудиописта"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
 #: ../src/Menus.cpp:3052
 msgid "New Track"
 msgstr "Нова писта"
@@ -2769,8 +2737,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "Смесване"
 
@@ -2790,6 +2757,10 @@ msgstr "Възникнала е грешка при печатане."
 msgid "Print"
 msgstr "Печат"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2803,14 +2774,11 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Запис"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr "Записан бе звук"
 
@@ -2831,12 +2799,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Съхраняване на промените?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
 msgid "Select one or more audio files..."
 msgstr "Избор на звуков(и) файл(ове)..."
 
@@ -2863,8 +2830,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Грешка при отваряне на файл"
 
@@ -2920,10 +2897,12 @@ msgstr "Този файл е бил записан с Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Не е възможно отварянето на файл с проект"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2943,17 +2922,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Грешка при съхраняване на проект"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -2964,10 +2948,8 @@ msgstr "%s бе съхранен"
 msgid "Imported '%s'"
 msgstr "Импортиран бе \"%s\""
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
 #: ../src/import/ImportRaw.cpp:408
 msgid "Import"
 msgstr "Импорт"
@@ -3095,8 +3077,7 @@ msgstr "Libsamplerate от Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Грешка в Libsamplerate: %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr "Предискретизирането е забранено."
 
@@ -3115,6 +3096,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Избор..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Писти"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3123,6 +3261,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3261,6 +3403,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3333,6 +3479,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3372,35 +3526,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
 msgstr "Друго..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "Име..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr "Местене на пистата нагоре"
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr "Местене на пистата надолу"
 
@@ -3440,13 +3582,15 @@ msgstr "Превръщане в стерео писта"
 msgid "Split Stereo Track"
 msgstr "Разделяне на стереописта"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Задаване на формат на данните"
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr "Задаване на честота на дискретизация"
 
@@ -3522,8 +3666,7 @@ msgstr "Редактиране на надпис"
 msgid "Adjusted envelope."
 msgstr "Обвиващата крива бе променена."
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
 msgid "Envelope"
 msgstr "Обвиваща крива"
 
@@ -3583,24 +3726,20 @@ msgid "Moved pan slider"
 msgstr "Извършено бе панорамно изместване"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "Усилване"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr "Панорамно изместване"
 
-#: ../src/TrackPanel.cpp:4387
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
 msgid "up"
 msgstr "нагоре"
 
-#: ../src/TrackPanel.cpp:4388
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
 msgid "down"
 msgstr "надолу"
 
@@ -3641,14 +3780,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3669,8 +3800,7 @@ msgstr "Ляво, "
 msgid "Right, "
 msgstr "Дясно, "
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Пистата \"%s\" бе преобразувана в %s"
@@ -3684,6 +3814,11 @@ msgstr "Канал"
 msgid "Split stereo track '%s'"
 msgstr "Разделяне на стереопистата \"%s\""
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3710,8 +3845,7 @@ msgstr "Промяна на формата"
 msgid "Change lower speed limit (%) to:"
 msgstr "Нова долна граница на скоростта (%):"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr "Долна граница на скоростта"
 
@@ -3719,8 +3853,7 @@ msgstr "Долна граница на скоростта"
 msgid "Change upper speed limit (%) to:"
 msgstr "Нова горна граница на скоростта (%):"
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
 msgid "Upper speed limit"
 msgstr "Горна граница на скоростта"
 
@@ -3762,6 +3895,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Изкл."
@@ -3840,8 +3977,9 @@ msgstr "Приставки 1 - %i"
 msgid "Plugins %i to %i"
 msgstr "Приставки %i - %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -3988,31 +4126,19 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721 ../src/effects/Amplify.cpp:187
+#: ../src/effects/AvcCompressor.cpp:716 ../src/effects/BassBoost.cpp:332
+#: ../src/effects/ChangePitch.cpp:393 ../src/effects/ChangeSpeed.cpp:379
+#: ../src/effects/ChangeTempo.cpp:284 ../src/effects/Compressor.cpp:484
+#: ../src/effects/Echo.cpp:242 ../src/effects/Equalization.cpp:731
+#: ../src/effects/Filter.cpp:482 ../src/effects/Normalize.cpp:258
+#: ../src/effects/Phaser.cpp:576 ../src/effects/Repeat.cpp:251
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Wahwah.cpp:563 ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "OK"
 
@@ -4075,14 +4201,12 @@ msgstr "Промяна на височината"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Промяна на височината без промяна на темпото"
 
-#: ../src/effects/ChangePitch.cpp:247
-#: ../src/effects/ChangeSpeed.cpp:287
+#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
 #: ../src/effects/ChangeTempo.cpp:164
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "от Vaughan Johnson и Dominic Mazzoni"
 
-#: ../src/effects/ChangePitch.cpp:252
-#: ../src/effects/ChangeTempo.cpp:169
+#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "ползва SoundTouch от Olli Parviainen"
 
@@ -4131,10 +4255,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:284
-#: ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351
-#: ../src/effects/ChangeTempo.cpp:223
+#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
+#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
 #: ../src/effects/ChangeTempo.cpp:254
 msgid "to"
 msgstr "до"
@@ -4143,8 +4265,7 @@ msgstr "до"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
+#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Промяна в проценти:"
@@ -4162,8 +4283,7 @@ msgstr "Промяна на височината..."
 msgid "Changing Pitch"
 msgstr "Променя се височината"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Приложен бе ефект: %s %.1f%%"
@@ -4310,12 +4430,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Нормализиране до 0 дБ след компресирането"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Праг: %d дБ"
@@ -4346,7 +4465,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Време за атака: %.1f с"
@@ -4369,6 +4487,10 @@ msgstr "Компресор..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Извършва се компресиране на динамичния обхват..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4388,19 +4510,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4434,6 +4543,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4478,16 +4592,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4598,18 +4704,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4669,8 +4763,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Приложен бе ефект: %s закъснение = %f секунди, затихване = %f"
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "Ехо"
 
@@ -4702,8 +4795,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Грешка при отваряне на звуковото устройство. Моля, проверете настройките на изходното устройство и честотата на дискретизация за проекта."
 
@@ -4736,6 +4828,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4936,10 +5032,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5175,10 +5267,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5236,8 +5324,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr "Честота на НЧО (Хц):"
 
@@ -5245,8 +5332,7 @@ msgstr "Честота на НЧО (Хц):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr "Нач. фаза на НЧО (градуси):"
 
@@ -5305,8 +5391,7 @@ msgstr "Звукът бе повторен %d пъти"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Пистите са твърде дълги за повтаряне на селекцията."
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "Повтаряне"
 
@@ -5319,8 +5404,7 @@ msgstr "Брой повторения:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr "Нова дължина на селекцията:"
 
@@ -5531,20 +5615,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5555,17 +5656,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Съжаляваме, ефектите VST не могат да се прилагат върху стереописти, в които каналите на пистата не си пасват."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Настройки на ефекта"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Няма"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Замяната не може да се обработи"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Параметри за приставка VST:"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5613,22 +5753,11 @@ msgstr "Прилага се ефект: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Няма"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Автор:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Настройки на ефекта"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Дължина (секунди)"
 
@@ -5819,9 +5948,21 @@ msgstr "Целият проект се експортира чрез кодер
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5889,6 +6030,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6022,12 +6167,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6046,10 +6187,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6238,12 +6379,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6354,6 +6495,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6378,8 +6530,7 @@ msgstr ""
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "Не е възможно отварянето за запис на файла - местоназначение"
 
@@ -6578,8 +6729,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
 #: ../src/export/ExportMultiple.cpp:562
 msgid "Export Multiple"
 msgstr "Експорт на няколко файла"
@@ -6611,11 +6761,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Местоположение за експорт:"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Избор..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6640,10 +6785,6 @@ msgstr "Име на първия файл:"
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Писти"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "Имена на файловете:"
@@ -6677,25 +6818,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Изберете местоположение за експортираните файлове"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:528
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6779,7 +6939,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Грешка (файлът може да не е записан): %s"
@@ -6945,8 +7104,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Списък от файлове в текстов формат"
 
@@ -6956,10 +7118,8 @@ msgid "Invalid window offset in LOF file."
 msgstr "Невалидно отместване на прозорец в LOF файл."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr "Грешка в LOF файл"
 
@@ -7102,131 +7262,59 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Аудио вход/изход"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (моно)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (стерео)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Възпроизвеждане"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Запис"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Интерфейс"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Възпроизвеждане"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Запис"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (моно)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (стерео)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "Директории"
 
@@ -7242,34 +7330,31 @@ msgstr "Път:"
 msgid "Free Space:"
 msgstr "Свободно място:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Изберете местоположение за временната директория"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7288,220 +7373,141 @@ msgstr "В директорията %s не може да се записва"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Смяната на временната директория влиза в сила след рестартиране на Audacity"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Версия на библиотеката за MP3"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Интерфейс"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 дБ (плитък обхват за редактиране на големи амплитуди)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 дБ (обхват за PCM с 8-битови отчети)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 дБ (обхват за PCM с 16-битови отчети)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 дБ (приблизителна граница на човешкия слух)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 дБ (обхват за PCM с 24-битови отчети)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 дБ (плитък обхват за редактиране на големи амплитуди)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 дБ (обхват за PCM с 8-битови отчети)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 дБ (обхват за PCM с 16-битови отчети)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 дБ (приблизителна граница на човешкия слух)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 дБ (обхват за PCM с 24-битови отчети)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7532,17 +7538,22 @@ msgstr "Забележка: Cmd+Q означава изход. Всички др
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Клавишна комбинация"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Експорт на клавишни комбинации като:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Отмяна"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Грешка при съхраняване на клавишните комбинации"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7552,6 +7563,14 @@ msgstr "Избор на XML файл с клавишни комбинации н
 msgid "Error loading keyboard shortcuts"
 msgstr "Грешка при зареждане на клавишните комбинации"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Експорт на клавишни комбинации като:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Грешка при съхраняване на клавишните комбинации"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7559,9 +7578,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Отмяна"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Версия на библиотеката за MP3"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Аудио вход/изход"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7576,6 +7647,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7584,6 +7659,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7596,6 +7675,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7620,14 +7711,12 @@ msgstr "Действие на командата"
 msgid "Buttons"
 msgstr "Бутони"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr "Щракване с левия бутон"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "Маркиране"
@@ -7636,10 +7725,8 @@ msgstr "Маркиране"
 msgid "Set Selection Point"
 msgstr "Задаване на маркирана точка"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr "Влачене с левия бутон"
@@ -7672,10 +7759,8 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr "Увеличение"
 
@@ -7751,10 +7836,8 @@ msgstr "Промяна на обвиващата крива"
 msgid "Change Sample"
 msgstr "Промяна на отчет"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "Молив"
 
@@ -7774,10 +7857,8 @@ msgstr "Промяна на няколко отчета"
 msgid "Change ONE Sample only"
 msgstr "Промяна на ЕДИН отчет"
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 msgid "Multi"
 msgstr "Мулти"
 
@@ -7791,8 +7872,7 @@ msgstr "Като инструмента за маркиране"
 msgid "same as zoom tool"
 msgstr "Като инструмента за увеличение"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "Произволен"
 
@@ -7820,10 +7900,62 @@ msgstr "Колелце - въртене с Ctrl"
 msgid "Zoom in or out"
 msgstr "Увеличение на изгледа"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Настройка на Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Правоъгълник"
@@ -7848,44 +7980,44 @@ msgstr "Подразбирана честота на дискретизация:
 msgid "Default Sample Format:"
 msgstr "Подразбиран формат на данните:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Предискретизиране в реално време:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Висококачествено предискретизиране:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Разшумяване в реално време:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Висококачествено разшумяване:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7900,18 +8032,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Спектрограми"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Размер за бързото преобразувание на Фурие"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - по подразбиране"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7920,20 +8088,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - най-тясна честотна лента"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7944,16 +8116,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Максимална честота (Хц):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7964,6 +8136,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Максималната честота трябва да е цяло число"
@@ -7980,18 +8160,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8020,78 +8239,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Пауза"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Стоп"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Превъртане до началото"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Превъртане до края"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Пауза"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Стоп"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8132,28 +8367,20 @@ msgstr "Увеличаване"
 msgid "Zoom Out"
 msgstr "Умаляване"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Увеличение - вкл./изкл."
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Побиране на селекцията в прозореца"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Побиране на целия проект в прозореца"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8200,6 +8427,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8278,30 +8513,6 @@ msgstr "Ляв=увеличаване, десен=умаляване, среде
 msgid "Click and drag to move a track in time"
 msgstr "Щракнете и влачете, за да местите пистата във времето"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Инструмент за маркиране"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Инструмент за обвиващи криви"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Инструмент за изместване във времето"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Инструмент за увеличение"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Инструмент за чертане"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Многоинструментен режим"
@@ -8310,22 +8521,10 @@ msgstr "Многоинструментен режим"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8334,74 +8533,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8434,6 +8597,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (недостъпно)"
@@ -8447,14 +8650,12 @@ msgid "Button"
 msgstr ""
 
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "Л"
 
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "Д"
 
@@ -8737,3 +8938,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/bn.po b/locale/bn.po
index e95617d..b22bb64 100644
--- a/locale/bn.po
+++ b/locale/bn.po
@@ -30,11 +30,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -43,8 +43,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
 msgid "translator_credits"
 msgstr "অঙ্কুর প্রকল্পের পক্ষে মাহে আলম খান (makl10n at yahoo.com)"
 
@@ -87,7 +86,7 @@ msgid "Special thanks:"
 msgstr ""
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -202,11 +201,8 @@ msgstr ""
 msgid "%s is already open in another window."
 msgstr "%s আর একটি উইন্ডোতে খোলা রয়েছে."
 
-#: ../src/Project.cpp:1768
-#: ../src/Project.cpp:1837
-#: ../src/Project.cpp:1888
-#: ../src/Project.cpp:1899
-#: ../src/Project.cpp:1928
+#: ../src/Project.cpp:1768 ../src/Project.cpp:1837 ../src/Project.cpp:1888
+#: ../src/Project.cpp:1899 ../src/Project.cpp:1928
 msgid "Error opening project"
 msgstr ""
 
@@ -229,20 +225,28 @@ msgstr ""
 msgid "Output Meter"
 msgstr ""
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:140
+msgid "&New"
+msgstr ""
+
+#: ../src/Menus.cpp:142
+msgid "&Open..."
+msgstr ""
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:547
-#: ../src/AudacityApp.cpp:617
+#: ../src/AudacityApp.cpp:547 ../src/AudacityApp.cpp:617
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:562
-#: ../src/AudacityApp.cpp:632
+#: ../src/AudacityApp.cpp:562 ../src/AudacityApp.cpp:632
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr ""
@@ -350,14 +354,14 @@ msgstr "সমস্যা:"
 msgid "Error Initializing Audio"
 msgstr ""
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -406,10 +410,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:332
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:332 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "সমস্যা"
 
@@ -585,8 +587,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -906,11 +909,11 @@ msgstr "আয়তকার"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -968,11 +971,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -995,8 +999,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
 msgid "Spectrum"
 msgstr ""
 
@@ -1057,12 +1060,24 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
 #: ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "বন্ধ"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr ""
@@ -1073,6 +1088,15 @@ msgstr ""
 msgid "Hz"
 msgstr "হার্টজ্"
 
+#: ../src/Menus.cpp:2333
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ""
+
+#: ../src/Menus.cpp:2359
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr ""
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr ""
@@ -1099,9 +1123,7 @@ msgstr "স্পেকট্রাম.লেখা"
 msgid "Export Spectral Data As:"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1357
-#: ../src/Project.cpp:2120
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1357 ../src/Project.cpp:2120
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr ""
@@ -1114,6 +1136,21 @@ msgstr ""
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr ""
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1191,7 +1228,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1215,7 +1252,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1284,6 +1321,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1343,9 +1388,7 @@ msgstr ""
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr ""
 
-#: ../src/Menus.cpp:2611
-#: ../src/Project.cpp:1814
-#: ../src/Project.cpp:1822
+#: ../src/Menus.cpp:2611 ../src/Project.cpp:1814 ../src/Project.cpp:1822
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr ""
@@ -1396,20 +1439,12 @@ msgstr ""
 msgid "&File"
 msgstr "&ফাইল"
 
-#: ../src/Menus.cpp:140
-msgid "&New\tCtrl+N"
-msgstr ""
-
-#: ../src/Menus.cpp:142
-msgid "&Open...\tCtrl+O"
-msgstr ""
-
 #: ../src/Menus.cpp:144
-msgid "&Close\tCtrl+W"
+msgid "&Close"
 msgstr ""
 
 #: ../src/Menus.cpp:145
-msgid "&Save Project\tCtrl+S"
+msgid "&Save Project"
 msgstr ""
 
 #: ../src/Menus.cpp:149
@@ -1433,7 +1468,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1464,8 +1499,8 @@ msgstr ""
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1480,10 +1515,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1497,7 +1528,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:218
@@ -1505,7 +1536,7 @@ msgid "&Edit"
 msgstr "&এডিট"
 
 #: ../src/Menus.cpp:222
-msgid "&Undo\tCtrl+Z"
+msgid "&Undo"
 msgstr ""
 
 #: ../src/Menus.cpp:230
@@ -1513,55 +1544,55 @@ msgid "&Redo"
 msgstr ""
 
 #: ../src/Menus.cpp:243
-msgid "Cu&t\tCtrl+X"
+msgid "Cu&t"
 msgstr ""
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:244
-msgid "&Copy\tCtrl+C"
+msgid "&Copy"
 msgstr ""
 
 #: ../src/Menus.cpp:245
-msgid "&Paste\tCtrl+V"
+msgid "&Paste"
 msgstr ""
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:251
-msgid "&Delete\tCtrl+K"
+msgid "&Delete"
 msgstr ""
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1574,47 +1605,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1622,31 +1638,31 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&All\tCtrl+A"
+msgid "&All"
 msgstr ""
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
-msgid "Find &Zero Crossings\tZ"
+msgid "Find &Zero Crossings"
 msgstr ""
 
 #: Menus.cpp:476
@@ -1664,11 +1680,11 @@ msgid "to Selection En&d"
 msgstr "নির্বাচনের শেষে"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1691,29 +1707,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:302
-msgid "Turn Snap-To On"
-msgstr ""
-
-#: ../src/Menus.cpp:303
-msgid "Turn Snap-To Off"
-msgstr ""
-
-#: ../src/Menus.cpp:304
-msgid "Turn Grid Snap On"
-msgstr ""
-
-#: ../src/Menus.cpp:305
-msgid "Turn Grid Snap Off"
-msgstr ""
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:313
@@ -1721,35 +1716,35 @@ msgid "&View"
 msgstr ""
 
 #: ../src/Menus.cpp:315
-msgid "Zoom &In\tCtrl+1"
+msgid "Zoom &In"
 msgstr ""
 
 #: ../src/Menus.cpp:318
-msgid "Zoom &Normal\tCtrl+2"
+msgid "Zoom &Normal"
 msgstr ""
 
 #: ../src/Menus.cpp:319
-msgid "Zoom &Out\tCtrl+3"
+msgid "Zoom &Out"
 msgstr ""
 
 #: ../src/Menus.cpp:322
-msgid "&Fit in Window\tCtrl+F"
+msgid "&Fit in Window"
 msgstr ""
 
 #: ../src/Menus.cpp:323
-msgid "Fit &Vertically\tCtrl+Shift+F"
+msgid "Fit &Vertically"
 msgstr ""
 
 #: ../src/Menus.cpp:324
-msgid "&Zoom to Selection\tCtrl+E"
+msgid "&Zoom to Selection"
 msgstr ""
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1811,39 +1806,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:533
-msgid "Skip to Start\tHome"
+msgid "Skip to Start"
 msgstr ""
 
 #: ../src/Menus.cpp:534
-msgid "Skip to End\tEnd"
+msgid "Skip to End"
 msgstr ""
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1871,7 +1866,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1887,7 +1882,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1899,11 +1894,11 @@ msgid "Remo&ve Tracks"
 msgstr ""
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:377
@@ -1950,16 +1945,16 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-msgid "Add &Label At Selection\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
 msgstr ""
 
 #: Menus.cpp:706
-msgid "Add Label At &Playback Position\tCtrl+M"
+msgid "Add Label At &Playback Position"
 msgstr ""
 
 #: Menus.cpp:716
@@ -1986,21 +1981,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr ""
 
-#: ../src/Menus.cpp:440
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr ""
-
 #: ../src/Menus.cpp:466
 msgid "&Analyze"
 msgstr "&এনালাইজ"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:489
-#: ../src/Menus.cpp:504
+#: ../src/Menus.cpp:489 ../src/Menus.cpp:504
 msgid "&Help"
 msgstr ""
 
@@ -2012,8 +2006,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2032,180 +2026,148 @@ msgstr ""
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:513
-msgid "Selection Tool\tF1"
+msgid "Selection Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:514
-msgid "Envelope Tool\tF2"
-msgstr "খাম আনুষঙ্গিক সরঞ্জাম\tF2"
+msgid "Envelope Tool"
+msgstr "খাম আনুষঙ্গিক সরঞ্জাম"
 
 #: ../src/Menus.cpp:515
-msgid "Draw Tool\tF3"
+msgid "Draw Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:516
-msgid "Zoom Tool\tF4"
+msgid "Zoom Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:517
-msgid "Time Shift Tool\tF5"
+msgid "Time Shift Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:518
-msgid "Multi Tool\tF6"
+msgid "Multi Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:520
-msgid "Next Tool\tD"
+msgid "Next Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:521
-msgid "Previous Tool\tA"
+msgid "Previous Tool"
 msgstr ""
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:524
-msgid "Stop\tS"
-msgstr ""
-
-#: ../src/Menus.cpp:525
-msgid "Pause\tP"
-msgstr ""
-
-#: ../src/Menus.cpp:526
-msgid "Record\tR"
-msgstr ""
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:528
-msgid "Play One Second\t1"
+msgid "Play One Second"
 msgstr ""
 
 #: ../src/Menus.cpp:529
-msgid "Play To Selection\tB"
-msgstr ""
-
-#: ../src/Menus.cpp:530
-msgid "Play Looped\tL"
-msgstr ""
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
+msgid "Play To Selection"
 msgstr ""
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:536
-msgid "Selection to Start\tShift+Home"
+msgid "Selection to Start"
 msgstr ""
 
 #: ../src/Menus.cpp:537
-msgid "Selection to End\tShift+End"
+msgid "Selection to End"
 msgstr ""
 
 #: ../src/Menus.cpp:539
-msgid "DeleteKey\tBackspace"
+msgid "DeleteKey"
 msgstr ""
 
 #: ../src/Menus.cpp:544
-msgid "DeleteKey2\tDelete"
+msgid "DeleteKey2"
 msgstr ""
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Cursor Left\tLeft"
+msgid "Cursor Left"
 msgstr ""
 
 #: ../src/Menus.cpp:550
-msgid "Cursor Right\tRight"
+msgid "Cursor Right"
 msgstr ""
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:551
-msgid "Selection Extend Left\tShift+Left"
+msgid "Selection Extend Left"
 msgstr ""
 
 #: ../src/Menus.cpp:552
-msgid "Selection Extend Right\tShift+Right"
+msgid "Selection Extend Right"
 msgstr ""
 
 #: Menus.cpp:828
@@ -2217,51 +2179,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:553
-msgid "Selection Contract Left\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
 msgstr ""
 
 #: ../src/Menus.cpp:554
-msgid "Selection Contract Right\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
 msgstr ""
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2273,7 +2235,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2334,7 +2324,7 @@ msgstr ""
 
 #: ../src/Menus.cpp:1212
 #, c-format
-msgid "Repeat %s\tCtrl+R"
+msgid "Repeat %s"
 msgstr ""
 
 #: ../src/Menus.cpp:1316
@@ -2366,8 +2356,7 @@ msgstr ""
 msgid "Nothing to redo"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1677
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1677
 msgid "Cut"
 msgstr "কাটো"
 
@@ -2383,9 +2372,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1782
-#: ../src/Menus.cpp:1826
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1782 ../src/Menus.cpp:1826
 msgid "Paste"
 msgstr "সাঁটো"
 
@@ -2393,8 +2380,7 @@ msgstr "সাঁটো"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1782
-#: ../src/Menus.cpp:1826
+#: ../src/Menus.cpp:1782 ../src/Menus.cpp:1826
 msgid "Pasted from the clipboard"
 msgstr ""
 
@@ -2446,8 +2432,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr ""
 
-#: ../src/Menus.cpp:1892
-#: ../src/effects/Silence.h:27
+#: ../src/Menus.cpp:1892 ../src/effects/Silence.h:27
 msgid "Silence"
 msgstr ""
 
@@ -2531,8 +2516,7 @@ msgstr ""
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:1973
-#: ../src/TrackPanel.cpp:4134
+#: ../src/Menus.cpp:1973 ../src/TrackPanel.cpp:4134
 msgid "Split"
 msgstr ""
 
@@ -2548,15 +2532,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr ""
 
-#: ../src/Menus.cpp:2333
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr ""
-
-#: ../src/Menus.cpp:2359
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr ""
-
 #: ../src/Menus.cpp:2624
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2674,9 +2649,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr ""
 
-#: ../src/Menus.cpp:2941
-#: ../src/Menus.cpp:2965
-#: ../src/Menus.cpp:2980
+#: ../src/Menus.cpp:2941 ../src/Menus.cpp:2965 ../src/Menus.cpp:2980
 #: ../src/Menus.cpp:3016
 msgid "New Track"
 msgstr ""
@@ -2758,8 +2731,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "মিক্স"
 
@@ -2779,6 +2751,10 @@ msgstr ""
 msgid "Print"
 msgstr "মুদ্রণ"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2792,14 +2768,12 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1703
+#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1703
 #: ../src/TrackPanel.cpp:1208
 msgid "Record"
 msgstr "রেকর্ড"
 
-#: ../src/Project.cpp:1703
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1703 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr ""
 
@@ -2820,12 +2794,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr ""
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2559
-#: ../src/Project.cpp:1734
+#: ../src/Menus.cpp:2559 ../src/Project.cpp:1734
 msgid "Select one or more audio files..."
 msgstr ""
 
@@ -2852,8 +2825,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1815
-#: ../src/Project.cpp:1823
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1815 ../src/Project.cpp:1823
 msgid "Error opening file"
 msgstr ""
 
@@ -2907,10 +2890,12 @@ msgstr ""
 msgid "Can't open project file"
 msgstr ""
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2930,17 +2915,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2109
-#: ../src/Project.cpp:2121
+#: ../src/Project.cpp:2109 ../src/Project.cpp:2121
 msgid "Error saving project"
 msgstr ""
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2161
 #, c-format
 msgid "Saved %s"
@@ -2951,10 +2941,8 @@ msgstr "সংরক্ষিত %s"
 msgid "Imported '%s'"
 msgstr ""
 
-#: ../src/Project.cpp:2197
-#: ../src/Project.cpp:2244
-#: ../src/import/ImportRaw.cpp:408
-#: ../src/import/ImportPCM.cpp:403
+#: ../src/Project.cpp:2197 ../src/Project.cpp:2244
+#: ../src/import/ImportRaw.cpp:408 ../src/import/ImportPCM.cpp:403
 #: ../src/import/ImportPCM.cpp:488
 msgid "Import"
 msgstr "আমদানী"
@@ -3082,8 +3070,7 @@ msgstr ""
 msgid "Libsamplerate error: %d\n"
 msgstr ""
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr ""
 
@@ -3102,6 +3089,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:595 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "বেছে নিন"
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:631
+msgid "Tracks"
+msgstr ""
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3110,6 +3254,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3247,6 +3395,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3319,6 +3471,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3358,35 +3518,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
-#: ../src/TrackPanel.cpp:822
+#: ../src/AStatus.cpp:81 ../src/prefs/FileFormatPrefs.cpp:105
+#: ../src/prefs/QualityPrefs.cpp:91 ../src/TrackPanel.cpp:822
 msgid "Other..."
 msgstr "অন্যান্য..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "নাম..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr ""
 
@@ -3426,13 +3574,15 @@ msgstr ""
 msgid "Split Stereo Track"
 msgstr ""
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr ""
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr ""
 
@@ -3508,8 +3658,7 @@ msgstr ""
 msgid "Adjusted envelope."
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/TrackPanel.cpp:1905
+#: ../src/prefs/MousePrefs.cpp:98 ../src/TrackPanel.cpp:1905
 msgid "Envelope"
 msgstr "খাম"
 
@@ -3570,24 +3719,20 @@ msgstr ""
 
 # I guess in should be গেইন - mak
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "লাভ"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr "প্যান"
 
-#: ../src/effects/ChangePitch.cpp:279
-#: ../src/TrackPanel.cpp:4387
+#: ../src/effects/ChangePitch.cpp:279 ../src/TrackPanel.cpp:4387
 msgid "up"
 msgstr "উপরে"
 
-#: ../src/effects/ChangePitch.cpp:279
-#: ../src/TrackPanel.cpp:4388
+#: ../src/effects/ChangePitch.cpp:279 ../src/TrackPanel.cpp:4388
 msgid "down"
 msgstr ""
 
@@ -3628,14 +3773,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3656,8 +3793,7 @@ msgstr "বাম,"
 msgid "Right, "
 msgstr "ডান,"
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr ""
@@ -3671,6 +3807,11 @@ msgstr "চ্যানেল"
 msgid "Split stereo track '%s'"
 msgstr ""
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3697,8 +3838,7 @@ msgstr ""
 msgid "Change lower speed limit (%) to:"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr ""
 
@@ -3706,8 +3846,7 @@ msgstr ""
 msgid "Change upper speed limit (%) to:"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
 msgid "Upper speed limit"
 msgstr ""
 
@@ -3749,6 +3888,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "নিরব"
@@ -3827,8 +3970,9 @@ msgstr ""
 msgid "Plugins %i to %i"
 msgstr ""
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -3974,31 +4118,20 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:395
-#: ../src/effects/ChangeSpeed.cpp:380
-#: ../src/effects/ChangeTempo.cpp:285
-#: ../src/effects/Compressor.cpp:468
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:734
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/Wahwah.cpp:563
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Amplify.cpp:187 ../src/effects/AvcCompressor.cpp:716
+#: ../src/effects/BassBoost.cpp:332 ../src/effects/ChangePitch.cpp:395
+#: ../src/effects/ChangeSpeed.cpp:380 ../src/effects/ChangeTempo.cpp:285
+#: ../src/effects/Compressor.cpp:468 ../src/effects/Echo.cpp:242
+#: ../src/effects/Equalization.cpp:734 ../src/effects/Filter.cpp:482
+#: ../src/effects/Normalize.cpp:258 ../src/effects/Phaser.cpp:576
+#: ../src/effects/Repeat.cpp:251 ../src/effects/Wahwah.cpp:563
 #: ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "ঠিক আছে"
 
@@ -4060,14 +4193,12 @@ msgstr "শব্দের গ্রাম পরিবর্তন"
 msgid "Change Pitch without Changing Tempo"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:249
-#: ../src/effects/ChangeSpeed.cpp:288
+#: ../src/effects/ChangePitch.cpp:249 ../src/effects/ChangeSpeed.cpp:288
 #: ../src/effects/ChangeTempo.cpp:165
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:254
-#: ../src/effects/ChangeTempo.cpp:170
+#: ../src/effects/ChangePitch.cpp:254 ../src/effects/ChangeTempo.cpp:170
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr ""
 
@@ -4116,10 +4247,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:286
-#: ../src/effects/ChangePitch.cpp:332
-#: ../src/effects/ChangeSpeed.cpp:352
-#: ../src/effects/ChangeTempo.cpp:224
+#: ../src/effects/ChangePitch.cpp:286 ../src/effects/ChangePitch.cpp:332
+#: ../src/effects/ChangeSpeed.cpp:352 ../src/effects/ChangeTempo.cpp:224
 #: ../src/effects/ChangeTempo.cpp:255
 msgid "to"
 msgstr "অভিমুখে"
@@ -4128,8 +4257,7 @@ msgstr "অভিমুখে"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:355
-#: ../src/effects/ChangeSpeed.cpp:306
+#: ../src/effects/ChangePitch.cpp:355 ../src/effects/ChangeSpeed.cpp:306
 #: ../src/effects/ChangeTempo.cpp:183
 msgid "Percent Change:"
 msgstr ""
@@ -4147,8 +4275,7 @@ msgstr ""
 msgid "Changing Pitch"
 msgstr "পরিবর্তনশীল শব্দের গ্রাম"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr ""
@@ -4297,8 +4424,8 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr ""
 
 #: effects/Compressor.cpp:563
@@ -4354,6 +4481,10 @@ msgstr "সংকোচক..."
 msgid "Applying Dynamic Range Compression..."
 msgstr ""
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4373,19 +4504,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4419,6 +4537,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4463,16 +4586,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4583,18 +4698,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4654,8 +4757,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr ""
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "প্রতিধ্বনি"
 
@@ -4687,8 +4789,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:330
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:330
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr ""
 
@@ -4721,6 +4822,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4922,10 +5027,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5161,10 +5262,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5222,8 +5319,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr ""
 
@@ -5231,8 +5327,7 @@ msgstr ""
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr ""
 
@@ -5291,8 +5386,7 @@ msgstr ""
 msgid "Tracks are too long to repeat the selection."
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "পুনরাবৃত্তি"
 
@@ -5304,8 +5398,7 @@ msgstr ""
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr ""
 
@@ -5516,20 +5609,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5540,16 +5650,55 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "কোনটিই নয়"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
 msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
@@ -5598,20 +5747,10 @@ msgstr ""
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "কোনটিই নয়"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "লেখক:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr ""
-
 #: effects/ladspa/LadspaEffect.cpp:692
 msgid "Length (seconds)"
 msgstr ""
@@ -5803,9 +5942,21 @@ msgstr ""
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5873,6 +6024,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6006,12 +6161,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6030,10 +6181,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6222,12 +6373,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6338,6 +6489,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6362,8 +6524,7 @@ msgstr ""
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr ""
 
@@ -6561,8 +6722,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:469
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:469
 #: ../src/export/ExportMultiple.cpp:557
 msgid "Export Multiple"
 msgstr ""
@@ -6590,11 +6750,6 @@ msgstr ""
 msgid "Export location:"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:595
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "বেছে নিন"
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6619,10 +6774,6 @@ msgstr ""
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:631
-msgid "Tracks"
-msgstr ""
-
 #: ../src/export/ExportMultiple.cpp:641
 msgid "Name files:"
 msgstr ""
@@ -6656,25 +6807,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr ""
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:526
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6921,8 +7091,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr ""
 
@@ -6932,10 +7105,8 @@ msgid "Invalid window offset in LOF file."
 msgstr ""
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr ""
 
@@ -7081,34 +7252,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "প্লেব্যাক"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "ইন্টারফেস"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "প্লেব্যাক"
 
 #: ../src/prefs/AudioIOPrefs.cpp:148
 msgid "Recording"
@@ -7118,94 +7296,15 @@ msgstr "রেকর্ডিং হচ্ছে"
 msgid "Channels"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "ডিরেক্টরি"
 
@@ -7221,34 +7320,31 @@ msgstr "অবস্থান:"
 msgid "Free Space:"
 msgstr "ফাঁকা জায়গা:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr ""
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7267,220 +7363,141 @@ msgstr ""
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "ইন্টারফেস"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7511,16 +7528,21 @@ msgstr ""
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
 msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
 msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
@@ -7531,6 +7553,14 @@ msgstr ""
 msgid "Error loading keyboard shortcuts"
 msgstr ""
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr ""
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7538,8 +7568,60 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
@@ -7554,6 +7636,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7562,6 +7648,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7574,6 +7664,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7598,14 +7700,12 @@ msgstr "কমান্ড একশন"
 msgid "Buttons"
 msgstr "বাটন"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "নির্বাচন"
@@ -7614,10 +7714,8 @@ msgstr "নির্বাচন"
 msgid "Set Selection Point"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr ""
@@ -7650,10 +7748,8 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr ""
 
@@ -7729,10 +7825,8 @@ msgstr ""
 msgid "Change Sample"
 msgstr "নমুনা পরিবর্তন"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "পেন্সিল"
 
@@ -7752,10 +7846,8 @@ msgstr "আনেকগুলি নমুনা পরিবর্তন"
 msgid "Change ONE Sample only"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 #, fuzzy
 msgid "Multi"
 msgstr "বহু"
@@ -7768,8 +7860,7 @@ msgstr ""
 msgid "same as zoom tool"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "যেকোন"
 
@@ -7797,10 +7888,62 @@ msgstr ""
 msgid "Zoom in or out"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr ""
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 #, fuzzy
 msgid "Rectangle"
@@ -7826,44 +7969,44 @@ msgstr ""
 msgid "Default Sample Format:"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7878,18 +8021,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "এফ-এফ-টি আকার"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7898,20 +8077,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7922,16 +8105,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7942,6 +8125,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr ""
@@ -7958,18 +8149,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -7998,78 +8228,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "বিরতি"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/ControlToolBar.cpp:470
+msgid "Pause"
+msgstr "বিরতি"
+
+#: ../src/Menus.cpp:524
+msgid "Stop"
 msgstr ""
 
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8110,28 +8356,20 @@ msgstr ""
 msgid "Zoom Out"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr ""
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr ""
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr ""
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8178,6 +8416,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8256,30 +8502,6 @@ msgstr ""
 msgid "Click and drag to move a track in time"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "খাম আনুষঙ্গিক সরঞ্জাম"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr ""
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr ""
@@ -8288,22 +8510,10 @@ msgstr ""
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8312,74 +8522,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8412,6 +8586,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr "(নিষ্ক্রিয়)"
@@ -8427,16 +8641,14 @@ msgstr ""
 # Professional music editors are more familiar with L for left channel of Audio; so leaving it as L - mak
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "L"
 
 # এই অক্ষরটি বাংলা করলে সঙ্গীত সম্পাদকদের সমস্যা হতে পারে। - mak
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "R"
 
@@ -8719,3 +8931,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/bs.po b/locale/bs.po
index ff41ca5..79d610a 100644
--- a/locale/bs.po
+++ b/locale/bs.po
@@ -17,18 +17,14 @@ msgstr "Project-Id-Version: audacity\n"
 "X-Poedit-SourceCharset: iso-8859-1\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: AboutDialog.cpp:141
-#: AudacityApp.cpp:732
-#: Menus.cpp:733
+#: AboutDialog.cpp:141 AudacityApp.cpp:732 Menus.cpp:733
 msgid "&About Audacity..."
 msgstr "&O programu Audacity ..."
 
 #. i18n-hint: Rather than a literal translation, consider adding the
 #. appropriate suffix or prefix to create a word meaning 'something which
 #. has Audacity'
-#: AboutDialog.cpp:340
-#: AboutDialog.cpp:371
-#: SplashDialog.cpp:111
+#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:111
 msgid "OK... Audacious!"
 msgstr "Audaciozno!"
 
@@ -37,11 +33,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -50,8 +46,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:256
-#: AboutDialog.cpp:258
+#: AboutDialog.cpp:256 AboutDialog.cpp:258
 msgid "translator_credits"
 msgstr "Bosanski prijevod: \n"
 " dr. Samir Ribić "
@@ -95,7 +90,7 @@ msgid "Special thanks:"
 msgstr "Posebna zahvala:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -107,8 +102,7 @@ msgstr "Audacity"
 msgid "Build Information"
 msgstr ""
 
-#: AboutDialog.cpp:165
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:165 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Omogućeno"
 
@@ -206,16 +200,12 @@ msgstr "Direktorijum s postavkama:"
 msgid "GPL License"
 msgstr "Licenca GPL"
 
-#: AudacityApp.cpp:458
-#: Project.cpp:1751
+#: AudacityApp.cpp:458 Project.cpp:1751
 #, c-format
 msgid "%s is already open in another window."
 msgstr "Projekt %s je već otvoren u drugom prozoru."
 
-#: AudacityApp.cpp:460
-#: Project.cpp:1753
-#: Project.cpp:1834
-#: Project.cpp:1978
+#: AudacityApp.cpp:460 Project.cpp:1753 Project.cpp:1834 Project.cpp:1978
 #: Project.cpp:2080
 msgid "Error opening project"
 msgstr "Greška pri otvaranju projekta"
@@ -241,21 +231,28 @@ msgstr "Ulazni mjerač"
 msgid "Output Meter"
 msgstr "Izlazni mjerač"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:734
-#: Menus.cpp:470
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Postavke ...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Nova"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Otvori ..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
 
-#: AudacityApp.cpp:816
-#: AudacityApp.cpp:893
+#: AudacityApp.cpp:734 Menus.cpp:470
+msgid "&Preferences..."
+msgstr "&Postavke ..."
+
+#: AudacityApp.cpp:816 AudacityApp.cpp:893
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Koristeći veličinu bloka %ld\n"
 
-#: AudacityApp.cpp:838
-#: AudacityApp.cpp:908
+#: AudacityApp.cpp:838 AudacityApp.cpp:908
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Nepoznata opcija komandne linije: %s\n"
@@ -372,18 +369,16 @@ msgstr "Greška:"
 msgid "Error Initializing Audio"
 msgstr "Greška pri inicializaciji zvuka"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1236
 msgid "Latency problem"
 msgstr "Problem s latencijom"
 
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "Postavka latencije je prouzrokovala, da je snimljeni zvuk sakriven pred vrijednošću nula.\n"
-"Audacity je snimak vratio nazad na vrijednost nula.\n"
-"Možda ćete morati koristiti alat vremenski pomak (<---> ili F5), da povučete traku na pravo mjesto."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatska obnova nakon kraha"
@@ -398,8 +393,7 @@ msgstr "Zadnji put, kada je upotrebljavan Audacity, neki projekti nisu bili prav
 msgid "Recoverable projects"
 msgstr "Obnovljivi projekti"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:1999
+#: AutoRecovery.cpp:78 Tags.cpp:1999
 msgid "Name"
 msgstr "Ime"
 
@@ -428,38 +422,25 @@ msgstr ""
 msgid "Confirm?"
 msgstr ""
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Datoteke u direktoriju automatskog snimanja nije moguće numerisati"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2545
-#: Menus.cpp:4443
-#: Project.cpp:1937
-#: Project.cpp:3281
-#: Project.cpp:3360
-#: WaveTrack.cpp:548
-#: WaveTrack.cpp:567
-#: WaveTrack.cpp:1656
-#: effects/Effect.cpp:421
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2545 Menus.cpp:4443
+#: Project.cpp:1937 Project.cpp:3281 Project.cpp:3360 WaveTrack.cpp:548
+#: WaveTrack.cpp:567 WaveTrack.cpp:1656 effects/Effect.cpp:421
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:841
 msgid "Error"
 msgstr "Greška"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Izaberite naredbu"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Naredba"
@@ -468,8 +449,7 @@ msgstr "&Naredba"
 msgid "&Edit Parameters"
 msgstr "&Uredi parametre"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Parametri"
 
@@ -516,8 +496,7 @@ msgstr "Upotrijebi %s s parametr(ima)\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Testni režim"
 
@@ -526,8 +505,7 @@ msgstr "Testni režim"
 msgid "Apply %s"
 msgstr "Primjeni %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Lančano primjeni"
@@ -552,24 +530,15 @@ msgstr "Primjeni na trenutnem &projektu"
 msgid "Apply to &Files..."
 msgstr "Primjeni na &datotekama ..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2038
-#: Tags.cpp:2042
-#: Tags.cpp:2342
-#: Tags.cpp:2346
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2038
+#: Tags.cpp:2042 Tags.cpp:2342 Tags.cpp:2346 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "Pre&kini"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Nijedan lanac nije izabran"
 
@@ -606,8 +575,7 @@ msgstr "Primjena ..."
 msgid "File"
 msgstr "Datoteka"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Uredi lance"
@@ -616,19 +584,12 @@ msgstr "Uredi lance"
 msgid "&Chains"
 msgstr "&Lanci"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:782
-#: Tags.cpp:1422
-#: Tags.cpp:2022
+#: BatchProcessDialog.cpp:435 Tags.cpp:782 Tags.cpp:1422 Tags.cpp:2022
 msgid "&Add"
 msgstr "&Dodaj"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:783
-#: Tags.cpp:1423
-#: Tags.cpp:2023
-#: TrackPanel.cpp:3985
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:783 Tags.cpp:1423
+#: Tags.cpp:2023 TrackPanel.cpp:3985
 msgid "&Remove"
 msgstr "&Odstrani"
 
@@ -642,8 +603,8 @@ msgstr "L&anac (dvokliknite ili pritisnite razmaknicu za uređivanje)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Ne"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -732,8 +693,7 @@ msgstr "Prostor na disku"
 msgid "Copy Selected Audio Into Project"
 msgstr "Kopiraj izabrane zvuke u projekt"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Obustavi snimanje"
 
@@ -745,8 +705,7 @@ msgstr "Ne kopiraj nikakve zvučne podatke"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Kopiraj sve zvučne podatke u projekt (Sigurnije)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Pitaj me"
 
@@ -780,9 +739,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Upozorenje: ponestaje prostora na ovom disku.\n"
 "Moliimo, da izaberete drugi privremeni direktorij u prozoru Postavke."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Napredak"
 
@@ -837,8 +794,7 @@ msgstr "'%s' nije moguće preimenovati u '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Pregled podatak projektne datoteke ..."
 
@@ -889,14 +845,9 @@ msgstr "Nastavi bez brisanja; tiho radi s dodatnim datotekama"
 msgid "Close project immediately with no changes"
 msgstr "Odmah zatvori projekt bez izmjena"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:484
-#: export/Export.cpp:501
-#: export/Export.cpp:520
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:484 export/Export.cpp:501
+#: export/Export.cpp:520 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Upozorenje"
 
@@ -918,14 +869,11 @@ msgstr "Provjera projekta je detektovala, da %d zamjenskih ulaznih datoteka\n"
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Zamijeni nedostajuće podatke tišinom [stalno nakon snimanja]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Privremeno zamijeni nedostajuće podatke tišinom  [samo za tu sesiju]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Odmah zatvori projekt bez daljnjih promjena"
 
@@ -994,11 +942,11 @@ msgstr "Pravougaono"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1056,11 +1004,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1083,8 +1032,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Analiza frekvencije"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:507
+#: FreqWindow.cpp:140 TrackPanel.cpp:507
 msgid "Spectrum"
 msgstr "Spektar"
 
@@ -1112,8 +1060,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Algoritam:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Veličina"
 
@@ -1131,7 +1078,8 @@ msgstr ""
 msgid "Linear frequency"
 msgstr "Linearna frekvencija"
 
-#: FreqWindow.cpp:193 Da li je oo učestalost zapisa ili logaritamska frekvencija
+#: FreqWindow.cpp:193 Da li je oo učestalost zapisa ili logaritamska
+#: frekvencija
 msgid "Log frequency"
 msgstr "Logaritamska frekvencija"
 
@@ -1139,58 +1087,62 @@ msgstr "Logaritamska frekvencija"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:202
-#: Menus.cpp:231
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:202 Menus.cpp:231
 msgid "&Export..."
 msgstr "&Izvezi ..."
 
-#: HelpText.cpp:77
-#: export/ExportCL.cpp:320
+#: HelpText.cpp:77 export/ExportCL.cpp:320
 msgid "Export"
 msgstr "Izvezi"
 
-#: AboutDialog.cpp:688
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:135
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: AboutDialog.cpp:688 FreqWindow.cpp:209 widgets/ErrorDialog.cpp:135
 msgid "Close"
 msgstr "Zatvori"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1103
-#: effects/Equalization.cpp:1105
-#: effects/Equalization.cpp:1113
-#: effects/Equalization.cpp:1179
-#: effects/Equalization.cpp:1388
-#: effects/Equalization.cpp:1399
-#: effects/Normalize.cpp:361
-#: widgets/Meter.cpp:363
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1103 effects/Equalization.cpp:1105
+#: effects/Equalization.cpp:1113 effects/Equalization.cpp:1179
+#: effects/Equalization.cpp:1388 effects/Equalization.cpp:1399
+#: effects/Normalize.cpp:361 widgets/Meter.cpp:363
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1144
-#: effects/Equalization.cpp:1175
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1175 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3394
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Za crtanje spektra sve izabrane trake moraju imati jednak stepen uzorkovanja."
+
+#: Menus.cpp:3420
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Izbrano je previše zvuka. Samo prvih %.1f sekundi zvuka će biti analizirano."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Nedovoljno izabranih podataka."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1212,12 +1164,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Izvozi spektralne podatke kao:"
 
-#: FreqWindow.cpp:1077
-#: LabelDialog.cpp:599
-#: Menus.cpp:2177
-#: Project.cpp:2379
-#: Project.cpp:3333
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1077 LabelDialog.cpp:599 Menus.cpp:2177 Project.cpp:2379
+#: Project.cpp:3333 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Ne može se upisati u datoteku: "
 
@@ -1229,6 +1177,21 @@ msgstr "Frekvencija (Hz)\tNivo (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Zaostajanje (sekunde)\tFrekvencija (Hz)\tNivo"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1307,7 +1270,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1331,7 +1294,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1366,15 +1329,9 @@ msgstr "Nivoi za odustajanje"
 msgid "&Discard"
 msgstr "&Odustani"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2039
-#: Tags.cpp:2041
-#: Tags.cpp:2343
-#: Tags.cpp:2345
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:396
+#: HistoryWindow.cpp:111 Tags.cpp:2039 Tags.cpp:2041 Tags.cpp:2343
+#: Tags.cpp:2345 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:396
 msgid "&OK"
 msgstr "U &redu"
 
@@ -1382,8 +1339,7 @@ msgstr "U &redu"
 msgid "Unable to determine"
 msgstr "Nemoguće odrediti"
 
-#: Internat.cpp:180
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:180 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "bajta"
 
@@ -1399,13 +1355,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Traka"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4019
-#: Menus.cpp:4047
+#: LabelDialog.cpp:53 Menus.cpp:4019 Menus.cpp:4047
 msgid "Label"
 msgstr "Oznaka"
 
@@ -1417,8 +1379,7 @@ msgstr "Početno vrijeme"
 msgid "End Time"
 msgstr "Krajnje vrijeme"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:615
+#: LabelDialog.cpp:98 Menus.cpp:615
 msgid "&Edit Labels"
 msgstr "&Uredi oznake"
 
@@ -1434,8 +1395,7 @@ msgstr "Ubaci Nak&on"
 msgid "Insert &Before"
 msgstr "Ubaci p&rije"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:192
+#: LabelDialog.cpp:127 Menus.cpp:192
 msgid "&Import..."
 msgstr "&Uvezi ..."
 
@@ -1457,20 +1417,15 @@ msgstr "Imate prazna imena oznaka.  One će biti\n"
 msgid "Confirm"
 msgstr "Potvrdi"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3517
+#: LabelDialog.cpp:514 Menus.cpp:3517
 msgid "Select a text file containing labels..."
 msgstr "Izaberite datoteku s oznakama ..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3521
+#: LabelDialog.cpp:518 Menus.cpp:3521
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Datoteke s tekstom (*.txt)|*.txt|Sve datoteke (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3533
-#: Project.cpp:1800
-#: Project.cpp:1808
+#: LabelDialog.cpp:532 Menus.cpp:3533 Project.cpp:1800 Project.cpp:1808
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Greška pri otvaranju datoteke: "
@@ -1479,13 +1434,11 @@ msgstr "Greška pri otvaranju datoteke: "
 msgid "No labels to export."
 msgstr "Nema oznaka za izvoz."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2142
+#: LabelDialog.cpp:564 Menus.cpp:2142
 msgid "Export Labels As:"
 msgstr "Izvezi oznake kao:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2140
+#: LabelDialog.cpp:566 Menus.cpp:2140
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1497,10 +1450,7 @@ msgstr "Nova traka s oznakama"
 msgid "Enter track name"
 msgstr "Unesite ime trake"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:88
-#: Menus.cpp:547
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:88 Menus.cpp:547
 msgid "&Label Track"
 msgstr "&Traka s oznakama"
 
@@ -1527,24 +1477,15 @@ msgstr "Otvaranje projekta Audacity"
 msgid "&File"
 msgstr "&Datoteka"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Nova\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Otvori ...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Zatvori\tCtrl+W"
+msgid "&Close"
+msgstr "&Zatvori"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Sačuvaj projekt\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Sačuvaj projekt"
 
-#: Menus.cpp:178
-#: Project.cpp:2628
+#: Menus.cpp:178 Project.cpp:2628
 msgid "Save Project &As..."
 msgstr "Sačuvaj projekt &kao ..."
 
@@ -1565,8 +1506,8 @@ msgid "&Import"
 msgstr "&Uvezi"
 
 #: Menus.cpp:194
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Zvuk ...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Zvuk ..."
 
 #: Menus.cpp:195
 msgid "&Labels..."
@@ -1580,8 +1521,7 @@ msgstr "&MIDI ..."
 msgid "&Raw Data..."
 msgstr "&Sirovi podaci ..."
 
-#: Menus.cpp:208
-#: Menus.cpp:237
+#: Menus.cpp:208 Menus.cpp:237
 msgid "Expo&rt Selection..."
 msgstr "Izvezi iz&bor ..."
 
@@ -1597,12 +1537,11 @@ msgstr "Izvezi &više datoteka ..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:291
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:258
+msgid "Appl&y Chain..."
+msgstr "&Lančano primjeni ..."
 
-#: Menus.cpp:246
-#: Menus.cpp:260
+#: Menus.cpp:246 Menus.cpp:260
 msgid "Edit C&hains..."
 msgstr "Uredi &lance ..."
 
@@ -1614,10 +1553,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:258
-msgid "Appl&y Chain..."
-msgstr "&Lančano primjeni ..."
-
 #: Menus.cpp:265
 msgid "&Upload File..."
 msgstr "Prenesi datoteku &na server ..."
@@ -1631,75 +1566,72 @@ msgid "&Print..."
 msgstr "&Å tampaj ..."
 
 #: Menus.cpp:285
-msgid "E&xit\tCtrl+Q"
-msgstr "&Zatvori\tCtrl+Q"
+msgid "E&xit"
+msgstr "&Zatvori"
 
-#: Menus.cpp:293
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:293 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Uredi"
 
 #: Menus.cpp:297
-msgid "&Undo\tCtrl+Z"
-msgstr "&Opozovi\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Opozovi"
 
-#: Menus.cpp:305
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:305 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Ponovi"
 
 #: Menus.cpp:318
-msgid "Cu&t\tCtrl+X"
-msgstr "I&zreži\tCtrl+X"
+msgid "Cu&t"
+msgstr "I&zreži"
 
 #: Menus.cpp:322
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "&Razdvoji s rezom\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "&Razdvoji s rezom"
 
 #: Menus.cpp:323
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopiraj\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopiraj"
 
 #: Menus.cpp:327
-msgid "&Paste\tCtrl+V"
-msgstr "&Umetni\tCtrl+V"
+msgid "&Paste"
+msgstr "&Umetni"
 
 #: Menus.cpp:331
-msgid "Tri&m\tCtrl+T"
-msgstr "Skrati\tCtrl+T"
+msgid "Tri&m"
+msgstr "Skrati"
 
 #: Menus.cpp:333
-msgid "&Delete\tCtrl+K"
-msgstr "&Obriši\tCtrl+K"
+msgid "&Delete"
+msgstr "&Obriši"
 
 #: Menus.cpp:334
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Razdvoji s &brisanjem\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Razdvoji s &brisanjem"
 
 #: Menus.cpp:381
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:337
-msgid "Sp&lit\tCtrl+I"
-msgstr "Raz&dvoji\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Raz&dvoji"
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Razdvoji u n&ovu\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Razdvoji u n&ovu"
 
 #: Menus.cpp:347
-msgid "&Join\tCtrl+J"
-msgstr "&Spoji\tCtrl+J"
+msgid "&Join"
+msgstr "&Spoji"
 
 #: Menus.cpp:394
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:350
-msgid "Duplic&ate\tCtrl+D"
-msgstr "U&dvostruči\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "U&dvostruči"
 
 #: Menus.cpp:401 Menus.cpp:641
 msgid "Stereo Trac&k to Mono"
@@ -1711,82 +1643,67 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:365
-msgid "&Cut\tAlt+X"
-msgstr "I&zreži\tAlt+X"
+msgid "&Cut"
+msgstr "I&zreži"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:370
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Razdvoji i izreži\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&Razdvoji i izreži"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:375
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ko&piraj\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:381
-msgid "&Delete\tAlt+K"
-msgstr "&Izbriši\tAlt+D"
+msgid "Co&py"
+msgstr "Ko&piraj"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:386
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Razdvo&ji s brisanjem\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Razdvo&ji s brisanjem"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:391
-msgid "Sile&nce\tAlt+L"
-msgstr "Ti&Å¡ina\tALT+L"
+msgid "Sile&nce"
+msgstr "Ti&Å¡ina"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:397
-msgid "Spli&t\tAlt+I"
-msgstr "&Razdijeli\tAlt+T"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:402
-msgid "&Join\tAlt+J"
-msgstr "S&poji\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "&Razdijeli"
 
 #: Menus.cpp:457
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:414
-msgid "&All\tCtrl+A"
-msgstr "S&ve\tCtrl+A"
+msgid "&All"
+msgstr "S&ve"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Ništa\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Ništa"
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "Lijevo od mjesta izvođenja\t["
+msgid "&Left at Playback Position"
+msgstr "Lijevo od mjesta izvođenja"
 
 #: Menus.cpp:464
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "Desno od mjesta izvođenja\t]"
+msgid "&Right at Playback Position"
+msgstr "Desno od mjesta izvođenja"
 
 #: Menus.cpp:468
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:469
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:431
-msgid "Find &Zero Crossings\tZ"
-msgstr "Nađi &nulte presjeke\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Nađi &nulte presjeke"
 
 #: Menus.cpp:478
 msgid "Mo&ve Cursor"
@@ -1803,11 +1720,11 @@ msgid "to Selection En&d"
 msgstr "na kraj izbora"
 
 #: Menus.cpp:485
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:486
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:493
@@ -1830,29 +1747,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:462
-msgid "Turn Snap-To On"
-msgstr "Uključi skoči-na"
-
-#: Menus.cpp:463
-msgid "Turn Snap-To Off"
-msgstr "Isključi skoči-na"
-
-#: Menus.cpp:464
-msgid "Turn Grid Snap On"
-msgstr "Uključi pozicioniranje preko mrežice"
-
-#: Menus.cpp:465
-msgid "Turn Grid Snap Off"
-msgstr "Isključi pozicioniranje preko mrežice"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:521
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:525
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:484
@@ -1860,36 +1756,36 @@ msgid "&View"
 msgstr "&Pogled"
 
 #: Menus.cpp:486
-msgid "Zoom &In\tCtrl+1"
-msgstr "Pove&ćaj\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Pove&ćaj"
 
 #: Menus.cpp:489
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normalna veličina\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Normalna veličina"
 
 #: Menus.cpp:490
-msgid "Zoom &Out\tCtrl+3"
-msgstr "U&manji\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "U&manji"
 
 #: Menus.cpp:493
-msgid "&Fit in Window\tCtrl+F"
-msgstr "Na veličinu pr&ozora\tCtrl+G"
+msgid "&Fit in Window"
+msgstr "Na veličinu pr&ozora"
 
 #: Menus.cpp:494
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Prilagodi vertikal&no\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Prilagodi vertikal&no"
 
 #: Menus.cpp:495
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Povećaj do izbora\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Povećaj do izbora"
 
 #: Menus.cpp:498
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Sažmi sve trake\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Sažmi sve trake"
 
 #: Menus.cpp:499
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Raširi sve trake\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "&Raširi sve trake"
 
 #: Menus.cpp:553
 #, fuzzy
@@ -1959,40 +1855,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Izvođenje"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:595
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:786
-msgid "Skip to Start\tHome"
-msgstr "Skoči na početak\tHome"
+msgid "Skip to Start"
+msgstr "Skoči na početak"
 
 #: Menus.cpp:787
-msgid "Skip to End\tEnd"
-msgstr "Skoči na kraj\tEnd"
+msgid "Skip to End"
+msgstr "Skoči na kraj"
 
 #: Menus.cpp:602
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:606
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:609
@@ -2020,15 +1916,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:545
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Zvučna traka\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Zvučna traka"
 
 #: Menus.cpp:546
 msgid "&Stereo Track"
 msgstr "&Stereo traka"
 
-#: Menus.cpp:548
-#: TimeTrack.cpp:44
+#: Menus.cpp:548 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "&vremenska traka"
 
@@ -2037,8 +1932,8 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Miješanje i obrada u novu traku\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Miješanje i obrada u novu traku"
 
 #: Menus.cpp:568
 msgid "&Resample..."
@@ -2049,11 +1944,11 @@ msgid "Remo&ve Tracks"
 msgstr "O&dstrani trake:"
 
 #: Menus.cpp:669
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:670
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:585
@@ -2104,17 +1999,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:708
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:611
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Dodaj oz&naku izboru\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:612
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Dodaj oznaku na mjestu &emitovanja\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Dodaj oznaku na mjestu &emitovanja"
 
 #: Menus.cpp:718
 msgid "S&ort tracks"
@@ -2140,20 +2035,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&kt"
 
-#: Menus.cpp:658
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Ponovi zadnji efekt\tCtrl+R"
-
 #: Menus.cpp:690
 msgid "&Analyze"
 msgstr "&Analiziraj"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr "Crtaj spektar ..."
 
-#: Menus.cpp:725
-#: Menus.cpp:728
+#: Menus.cpp:725 Menus.cpp:728
 msgid "&Help"
 msgstr "&Pomoć"
 
@@ -2165,9 +2059,9 @@ msgstr "&O Audacity CleanSpeech ..."
 msgid "&Show Welcome Message..."
 msgstr "&Prikaži poruku dobrodošlice ..."
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr "&Indeks ..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:961
 msgid "Show &Log..."
@@ -2185,181 +2079,149 @@ msgstr "&Pokreni test brzine ..."
 msgid "&Audio Device Info..."
 msgstr "Podaci o zvu&čnom uređaju ..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:762
-msgid "Selection Tool\tF1"
-msgstr "Alat za izbor\tF1"
+msgid "Selection Tool"
+msgstr "Alat za izbor"
 
 #: Menus.cpp:763
-msgid "Envelope Tool\tF2"
-msgstr "Alat za ovojnicu\tF2"
+msgid "Envelope Tool"
+msgstr "Alat za ovojnicu"
 
 #: Menus.cpp:764
-msgid "Draw Tool\tF3"
-msgstr "Alat za crtanje\tF3"
+msgid "Draw Tool"
+msgstr "Alat za crtanje"
 
 #: Menus.cpp:765
-msgid "Zoom Tool\tF4"
-msgstr "Alat za povećanje\tF4"
+msgid "Zoom Tool"
+msgstr "Alat za povećanje"
 
 #: Menus.cpp:766
-msgid "Time Shift Tool\tF5"
-msgstr "Alat za vremenski pomak\tF5"
+msgid "Time Shift Tool"
+msgstr "Alat za vremenski pomak"
 
 #: Menus.cpp:767
-msgid "Multi Tool\tF6"
-msgstr "Višenamjenski alat\tF6"
+msgid "Multi Tool"
+msgstr "Višenamjenski alat"
 
 #: Menus.cpp:769
-msgid "Next Tool\tD"
-msgstr "Naredni alat\tD"
+msgid "Next Tool"
+msgstr "Naredni alat"
 
 #: Menus.cpp:770
-msgid "Previous Tool\tA"
-msgstr "Predhodni alat\tA"
+msgid "Previous Tool"
+msgstr "Predhodni alat"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:773
-msgid "Stop\tS"
-msgstr "Zaustavi\tS"
-
-#: Menus.cpp:774
-msgid "Pause\tP"
-msgstr "Pauza\tP"
-
-#: Menus.cpp:775
-msgid "Record\tR"
-msgstr "Snimi\tR"
-
-#: Menus.cpp:1001
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1003
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:780
-msgid "Play One Second\t1"
-msgstr "Izvedi jednu sekundu\t1"
+msgid "Play One Second"
+msgstr "Izvedi jednu sekundu"
 
 #: Menus.cpp:781
-msgid "Play To Selection\tB"
-msgstr "Izvedi do izbora\tB"
-
-#: Menus.cpp:782
-msgid "Play Looped\tL"
-msgstr "Izvodi kružno\tZ"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Izvedi do izbora"
 
 #: Menus.cpp:784
-msgid "Play Cut Preview\tC"
-msgstr "Izvodi predslušanje reza\tC"
+msgid "Play Cut Preview"
+msgstr "Izvodi predslušanje reza"
 
 #: Menus.cpp:789
-msgid "Selection to Start\tShift+Home"
-msgstr "Izbor do početka\tShift+Home"
+msgid "Selection to Start"
+msgstr "Izbor do početka"
 
 #: Menus.cpp:790
-msgid "Selection to End\tShift+End"
-msgstr "Izbor do kraja\tShift+End"
+msgid "Selection to End"
+msgstr "Izbor do kraja"
 
 #: Menus.cpp:792
-msgid "DeleteKey\tBackspace"
-msgstr "DeleteKey\tBackspace"
+msgid "DeleteKey"
+msgstr "DeleteKey"
 
 #: Menus.cpp:797
-msgid "DeleteKey2\tDelete"
-msgstr "DeleteKey2\tDelete"
+msgid "DeleteKey2"
+msgstr "DeleteKey2"
 
-#: Menus.cpp:803
-msgid "Seek left short period during playback\tLeft"
-msgstr "Potraži lijevo kratak period pri izvođenju\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:804
-msgid "Seek right short period during playback\tRight"
-msgstr "Potraži desno kratak period pri izvođenju\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:805
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Potraži lijevo dugi period pri izvođenju\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:806
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Potraži desno dugi period pri izvođenju\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:810
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Pomjeri fokus na prehodnu traku\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Pomjeri fokus na prehodnu traku"
 
-#: Menus.cpp:811
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Pomjeri fokus na prehodnu traku i promjeni izbor\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:812
-msgid "Move Focus to Next Track\tDown"
-msgstr "Pomjeri fokus na narednu traku\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Pomjeri fokus na narednu traku"
 
-#: Menus.cpp:813
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Pomjeri fokus na prehodnu traku i promjeni izbor\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:814
-msgid "Toggle Focused Track\tReturn"
-msgstr "Uključi/isključi fokusiranu traku\tReturn"
-
-#: Menus.cpp:815
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Uključi/isključi fokusiranu traku\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Uključi/isključi fokusiranu traku"
 
 #: Menus.cpp:818
-msgid "Cursor Left\tLeft"
-msgstr "Kazaljka lijevo\tLeft"
+msgid "Cursor Left"
+msgstr "Kazaljka lijevo"
 
 #: Menus.cpp:819
-msgid "Cursor Right\tRight"
-msgstr "Kazaljka desno\tRight"
+msgid "Cursor Right"
+msgstr "Kazaljka desno"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
-msgstr "Kratak skok kazaljke lijevo\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Kratak skok kazaljke lijevo"
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
-msgstr "Kratak skok kazaljke desno\t."
+msgid "Cursor Short Jump Right"
+msgstr "Kratak skok kazaljke desno"
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Dugi skok kazaljke lijevo\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Dugi skok kazaljke lijevo"
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Dugi skok kazaljke desno\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Dugi skok kazaljke desno"
 
 #: Menus.cpp:825
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Proširi izbor na lijevo\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Proširi izbor na lijevo"
 
 #: Menus.cpp:826
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Proširi izbor na desno\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Proširi izbor na desno"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2370,52 +2232,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Postavi (ili proširi) desnu granicu izbora"
 
 #: Menus.cpp:831
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Skupi izbor s lijeva\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Skupi izbor s lijeva"
 
 #: Menus.cpp:832
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Skupi izbor s desna\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Skupi izbor s desna"
 
 #: Menus.cpp:834
-msgid "Change pan on focused track\tShift+P"
-msgstr "Promijeni pomak na fokusiranoj traci\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Promijeni pomak na fokusiranoj traci"
 
 #: Menus.cpp:835
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Pomakni lijevo na fokusiranoj traci\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Pomakni lijevo na fokusiranoj traci"
 
 #: Menus.cpp:836
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Pomakni desno na fokusiranoj traci\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Pomakni desno na fokusiranoj traci"
 
 #: Menus.cpp:837
-msgid "Change gain on focused track\tShift+G"
-msgstr "Promijeni pojačanje na fokusiranoj traci\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Promijeni pojačanje na fokusiranoj traci"
 
 #: Menus.cpp:838
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Povećaj  pojačanje na fokusiranoj traci\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Povećaj  pojačanje na fokusiranoj traci"
 
 #: Menus.cpp:839
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Smanji pojačanje na fokusiranoj traci\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Smanji pojačanje na fokusiranoj traci"
 
 #: Menus.cpp:840
-msgid "Open menu on focused track\tShift+M"
-msgstr "Otvori meni na fokusiranoj traci\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Otvori meni na fokusiranoj traci"
 
 #: Menus.cpp:841
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Utišaj/odvrni fokusiranu traku\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Utišaj/odvrni fokusiranu traku"
 
 #: Menus.cpp:842
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Solo/poništi solo na fokusiranoj traci\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Solo/poništi solo na fokusiranoj traci"
 
 #: Menus.cpp:843
-msgid "Close focused track\tShift+C"
-msgstr "Zatvori fokusiranu traku\tShift+C"
+msgid "Close focused track"
+msgstr "Zatvori fokusiranu traku"
 
 #: Menus.cpp:845
 msgid "Snap To On"
@@ -2426,7 +2288,35 @@ msgid "Snap To Off"
 msgstr "Isključi Skoči-na"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2487,8 +2377,8 @@ msgstr "Molimo, da prvo izaberete traku."
 
 #: Menus.cpp:2005
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Ponovi %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Ponovi %s"
 
 #: Menus.cpp:2136
 msgid "There are no label tracks to export."
@@ -2519,9 +2409,7 @@ msgstr "Nema ništa da se poništi"
 msgid "Nothing to redo"
 msgstr "Nema ništa da se ponovi"
 
-#: Menus.cpp:2336
-#: TrackPanel.cpp:546
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2336 TrackPanel.cpp:546 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Izreži"
 
@@ -2537,10 +2425,7 @@ msgstr "Razdvoji i izreži"
 msgid "Split-cut to the clipboard"
 msgstr "Razdvoji i izreži u klipord"
 
-#: Menus.cpp:2439
-#: Menus.cpp:2510
-#: Menus.cpp:2604
-#: TrackPanel.cpp:548
+#: Menus.cpp:2439 Menus.cpp:2510 Menus.cpp:2604 TrackPanel.cpp:548
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Umetni"
@@ -2549,8 +2434,7 @@ msgstr "Umetni"
 msgid "Pasted text from the clipboard"
 msgstr "Umetnuti tekst iz odlagališta"
 
-#: Menus.cpp:2510
-#: Menus.cpp:2604
+#: Menus.cpp:2510 Menus.cpp:2604
 msgid "Pasted from the clipboard"
 msgstr "Umetnuto iz odlagališta"
 
@@ -2562,8 +2446,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Kopiranje stereo zvuka u mono traku nije dozvoljeno."
 
-#: Menus.cpp:2640
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2640 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Odsjeci"
 
@@ -2603,8 +2486,7 @@ msgstr "Spoji"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Utišane izbrane trake za %.2f sekundu pri %.2f"
 
-#: Menus.cpp:2741
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2741 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Tišina"
 
@@ -2688,8 +2570,7 @@ msgstr "Oznake odvajanja"
 msgid "Disjoined labeled regions"
 msgstr "Odvojena označena područja"
 
-#: Menus.cpp:2917
-#: TrackPanel.cpp:5861
+#: Menus.cpp:2917 TrackPanel.cpp:5861
 msgid "Split"
 msgstr "Razdvoji"
 
@@ -2705,15 +2586,6 @@ msgstr "Razdvoji u novu traku"
 msgid "Split at labels"
 msgstr "Razdvoji po oznakama"
 
-#: Menus.cpp:3394
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Za crtanje spektra sve izabrane trake moraju imati jednak stepen uzorkovanja."
-
-#: Menus.cpp:3420
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Izbrano je previše zvuka. Samo prvih %.1f sekundi zvuka će biti analizirano."
-
 #: Menus.cpp:3546
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2761,7 +2633,6 @@ msgid "Edit Metadata tags"
 msgstr "Uredi oznake metapodataka"
 
 #: Menus.cpp:4312
-#, c-format
 #, fuzzy
 msgid "Rendered all audio in track '%s'"
 msgstr "Sav zvuk je obrađen u traci '%s'"
@@ -2780,9 +2651,7 @@ msgstr "Miksovano i obrađeno %d traka u novu stereo traku"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Miksovano i obrađeno %d traka u novu mono traku"
 
-#: Menus.cpp:560
-#: Menus.cpp:3698
-#: Mix.cpp:120
+#: Menus.cpp:560 Menus.cpp:3698 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Miješanje i obrada"
 
@@ -2834,10 +2703,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Stvorena nova zvučna traka"
 
-#: Menus.cpp:3912
-#: Menus.cpp:3935
-#: Menus.cpp:3950
-#: Menus.cpp:3970
+#: Menus.cpp:3912 Menus.cpp:3935 Menus.cpp:3950 Menus.cpp:3970
 msgid "New Track"
 msgstr "Nova traka"
 
@@ -2873,8 +2739,7 @@ msgstr "Spremi datoteku postavki CleanSpeech kao:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Postavke CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4085
-#: export/Export.cpp:509
+#: Menus.cpp:4085 export/Export.cpp:509
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Oprostite, imena staza do datoteka ne smiju preći 256 znakova."
 
@@ -2882,8 +2747,7 @@ msgstr "Oprostite, imena staza do datoteka ne smiju preći 256 znakova."
 msgid "Problem encountered exporting presets."
 msgstr "Nastopio je problem pri izvozu postavki."
 
-#: Menus.cpp:4132
-#: export/Export.cpp:402
+#: Menus.cpp:4132 export/Export.cpp:402
 msgid "Unable to export"
 msgstr "Nije moguće izvoziti"
 
@@ -2895,9 +2759,7 @@ msgstr "Odstrani traku"
 msgid "Removed audio track(s)"
 msgstr "Odstrani zvučne trake"
 
-#: Menus.cpp:4437
-#: Menus.cpp:4456
-#: export/ExportMP3.cpp:1871
+#: Menus.cpp:4437 Menus.cpp:4456 export/ExportMP3.cpp:1871
 msgid "Resample"
 msgstr "Ponovo uzmi uzorke"
 
@@ -2922,8 +2784,7 @@ msgstr "Ponovno uzmi uzorke trake"
 msgid "Resampled audio track(s)"
 msgstr "Trake s ponovljenim uzorcima"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Miješanje"
 
@@ -2943,6 +2804,10 @@ msgstr "Pri štampanju je došlo do problema."
 msgid "Print"
 msgstr "Å tampaj"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:635
 msgid "Main Mix"
 msgstr "Glavni miješani zvuk"
@@ -2956,14 +2821,11 @@ msgstr "Dobrodošli u Audacity verzije %s"
 msgid "(Recovered)"
 msgstr "(obnovljeno)"
 
-#: Project.cpp:1472
-#: TrackPanel.cpp:772
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:775
 msgid "Record"
 msgstr "Snimi"
 
-#: Project.cpp:1472
-#: TrackPanel.cpp:772
+#: Project.cpp:1472 TrackPanel.cpp:772
 msgid "Recorded Audio"
 msgstr "Snimljeni zvuk"
 
@@ -2984,9 +2846,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Želite li spremiti promjene?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
-msgstr "Sve datoteke|*.*|Sve podržane datoteke|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1709
 msgid "Select one or more audio files..."
@@ -3015,8 +2877,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "Otvaranje stare projektne datoteke"
 
-#: Project.cpp:1801
-#: Project.cpp:1809
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1801 Project.cpp:1809
 msgid "Error opening file"
 msgstr "Greška pri otvaranju datoteke."
 
@@ -3051,8 +2923,7 @@ msgstr "Obnovi"
 msgid "Project checker repaired file"
 msgstr "Kontrolor projekta je popravio datoteku"
 
-#: Project.cpp:1967
-#: effects/Repair.h:29
+#: Project.cpp:1967 effects/Repair.h:29
 msgid "Repair"
 msgstr "Popravi"
 
@@ -3074,10 +2945,12 @@ msgstr "Tu datoteku ste sremili koristeći Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Nije moguće otvoriti datoteke projekta"
 
-#: Project.cpp:2357
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3097,17 +2970,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2647
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2366
-#: Project.cpp:2380
+#: Project.cpp:2366 Project.cpp:2380
 msgid "Error saving project"
 msgstr "Greška pri spremanju projekta"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2442
 #, c-format
 msgid "Saved %s"
@@ -3118,16 +2996,12 @@ msgstr "Snimljeno %s"
 msgid "Imported '%s'"
 msgstr "Uvezeno '%s'"
 
-#: Menus.cpp:3611
-#: Project.cpp:2525
-#: Project.cpp:2550
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3611 Project.cpp:2525 Project.cpp:2550 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Uvezi"
 
-#: Project.cpp:2577
-#: Project.cpp:2585
+#: Project.cpp:2577 Project.cpp:2585
 msgid "Error importing"
 msgstr "Greška pri uvozu"
 
@@ -3170,8 +3044,7 @@ msgstr "Kreiran nov projekt"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Izbrisanih %.2f sekundi u t=%.2f"
 
-#: Project.cpp:2797
-#: effects/Equalization.cpp:1256
+#: Project.cpp:2797 effects/Equalization.cpp:1256
 #: effects/Equalization.cpp:2511
 msgid "Delete"
 msgstr "Izbriši"
@@ -3252,8 +3125,7 @@ msgstr "Libsamplerate, Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Greška Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Ponovno uzimanje uzoraka onemogućeno."
 
@@ -3272,6 +3144,163 @@ msgstr "24-bitni PCM"
 msgid "32-bit float"
 msgstr "32-bitni realni"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Izaberi ..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr "netačno"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Alati"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Upravljanje"
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "Mikser"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Mjerač"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "Uređaj"
+
+#: toolbars/TranscriptionToolBar.cpp:82
+msgid "Transcription"
+msgstr "Prepis"
+
+#: TrackPanel.cpp:448 TrackPanel.cpp:449
+msgid "Track Panel"
+msgstr "Podprozor s trakom"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "Trake"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Spremljeno "
@@ -3280,14 +3309,15 @@ msgstr "Spremljeno "
 msgid "Error trying to save file: "
 msgstr "Greška pri spremanju datoteke: "
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "U projektnoj datoteci je opažena rupa/razmak\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:330
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:330
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "Pre&gled"
@@ -3328,8 +3358,7 @@ msgstr "Naslov albuma"
 msgid "Track Number"
 msgstr "Broj trake"
 
-#: Tags.cpp:625
-#: Tags.cpp:2105
+#: Tags.cpp:625 Tags.cpp:2105
 msgid "Year"
 msgstr "Godina"
 
@@ -3337,9 +3366,7 @@ msgstr "Godina"
 msgid "Genre"
 msgstr "Žanr"
 
-#: Tags.cpp:627
-#: Tags.cpp:2115
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:627 Tags.cpp:2115 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Komentari"
 
@@ -3355,9 +3382,7 @@ msgstr "Ime oznake"
 msgid "Tag Value"
 msgstr "Vrijednost oznake"
 
-#: Tags.cpp:785
-#: Tags.cpp:1443
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:785 Tags.cpp:1443 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "O&čisti"
 
@@ -3373,23 +3398,15 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:801
-#: Tags.cpp:1427
-#: Tags.cpp:1955
+#: Tags.cpp:801 Tags.cpp:1427 Tags.cpp:1955
 msgid "Template"
 msgstr "Å ablon"
 
-#: Tags.cpp:805
-#: Tags.cpp:1431
-#: Tags.cpp:1959
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:805 Tags.cpp:1431 Tags.cpp:1959 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Učitaj ..."
 
-#: Tags.cpp:806
-#: Tags.cpp:1432
-#: Tags.cpp:1960
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:806 Tags.cpp:1432 Tags.cpp:1960 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Spremi ..."
 
@@ -3397,45 +3414,26 @@ msgstr "&Spremi ..."
 msgid "S&et Default"
 msgstr "&Postavi podrazumijevano"
 
-#: Tags.cpp:958
-#: Tags.cpp:1597
-#: Tags.cpp:2326
+#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
 msgid "Edit Genres"
 msgstr "Uredi žanrove"
 
-#: Tags.cpp:991
-#: Tags.cpp:1003
-#: Tags.cpp:1019
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1647
-#: Tags.cpp:1663
-#: Tags.cpp:1676
-#: Tags.cpp:2369
-#: Tags.cpp:2381
-#: Tags.cpp:2397
-#: Tags.cpp:2410
+#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
+#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
+#: Tags.cpp:2397 Tags.cpp:2410
 msgid "Reset Genres"
 msgstr "Ponovo postavi žanrove "
 
-#: Tags.cpp:991
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1676
-#: Tags.cpp:2369
+#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
 #: Tags.cpp:2410
 msgid "Unable to save genre file."
 msgstr "Datoteku žanrova nije moguće spremiti."
 
-#: Tags.cpp:1002
-#: Tags.cpp:1646
-#: Tags.cpp:2380
+#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Da li ste sigurni da želite datoteku žanrova ponovo postaviti na podrazumijevano?"
 
-#: Tags.cpp:1019
-#: Tags.cpp:1663
-#: Tags.cpp:2397
+#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
 msgid "Unable to open genre file."
 msgstr "Datoteku žanrova nije moguće otvoriti."
 
@@ -3443,21 +3441,19 @@ msgstr "Datoteku žanrova nije moguće otvoriti."
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1079
-#: Tags.cpp:1730
-#: Tags.cpp:2453
+#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
 msgid "Error loading metadata"
 msgstr "Greška pri učitavanju metapodataka"
 
-#: Tags.cpp:1054
-#: Tags.cpp:1108
-#: Tags.cpp:1709
-#: Tags.cpp:1745
-#: Tags.cpp:2432
+#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
 #: Tags.cpp:2468
 msgid "Save Metadata As:"
 msgstr "Spremi metapodatke kao:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3490,8 +3486,7 @@ msgstr "Audacity nije mogao naći datoteku:\n"
 "  %s.\n"
 "Tema nije bila učitana."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3515,8 +3510,7 @@ msgstr "Nijednu od očekivanih datoteka komponenti teme\n"
 " nije bilo moguće naći v:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3547,6 +3541,14 @@ msgstr "Trajanje"
 msgid "Audacity Timer Record"
 msgstr "Vremensko snimanje Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Početak snimanja"
@@ -3586,40 +3588,23 @@ msgstr "Čeka se na početak snimanja u %s. \n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:448
-#: TrackPanel.cpp:449
-msgid "Track Panel"
-msgstr "Podprozor s trakom"
-
-#: TrackPanel.cpp:492
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:492 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Drugo ..."
 
-#: TrackPanel.cpp:500
-#: TrackPanel.cpp:521
-#: TrackPanel.cpp:530
-#: TrackPanel.cpp:538
+#: TrackPanel.cpp:500 TrackPanel.cpp:521 TrackPanel.cpp:530 TrackPanel.cpp:538
 msgid "Name..."
 msgstr "Ime ..."
 
-#: TrackPanel.cpp:502
-#: TrackPanel.cpp:523
-#: TrackPanel.cpp:534
-#: TrackPanel.cpp:540
+#: TrackPanel.cpp:502 TrackPanel.cpp:523 TrackPanel.cpp:534 TrackPanel.cpp:540
 msgid "Move Track Up"
 msgstr "Pomakni traku gore"
 
-#: TrackPanel.cpp:503
-#: TrackPanel.cpp:524
-#: TrackPanel.cpp:535
-#: TrackPanel.cpp:541
+#: TrackPanel.cpp:503 TrackPanel.cpp:524 TrackPanel.cpp:535 TrackPanel.cpp:541
 msgid "Move Track Down"
 msgstr "Pomakni traku dolje"
 
-#: TrackPanel.cpp:505
-#: effects/ToneGen.cpp:303
+#: TrackPanel.cpp:505 effects/ToneGen.cpp:303
 msgid "Waveform"
 msgstr "Talasni oblik"
 
@@ -3635,18 +3620,15 @@ msgstr ""
 msgid "Pitch (EAC)"
 msgstr "Visina tona (EAC)"
 
-#: TrackPanel.cpp:510
-#: TrackPanel.cpp:5831
+#: TrackPanel.cpp:510 TrackPanel.cpp:5831
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:511
-#: TrackPanel.cpp:5830
+#: TrackPanel.cpp:511 TrackPanel.cpp:5830
 msgid "Left Channel"
 msgstr "Lijevi kanal"
 
-#: TrackPanel.cpp:512
-#: TrackPanel.cpp:5830
+#: TrackPanel.cpp:512 TrackPanel.cpp:5830
 msgid "Right Channel"
 msgstr "Desni kanal"
 
@@ -3658,12 +3640,15 @@ msgstr "Napravi stereo traku"
 msgid "Split Stereo Track"
 msgstr "Razdvoji stereo traku"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:516
 msgid "Set Sample Format"
 msgstr "Postavi oblik uzorka"
 
-#: TrackPanel.cpp:518
-#: TrackPanel.cpp:6048
+#: TrackPanel.cpp:518 TrackPanel.cpp:6048
 msgid "Set Rate"
 msgstr "Postavi frekvenciju"
 
@@ -3683,8 +3668,7 @@ msgstr "Vrsta slova ..."
 msgid "Set Range..."
 msgstr "Postavi opseg ..."
 
-#: TrackPanel.cpp:547
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:547 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Kopiraj"
 
@@ -3730,21 +3714,13 @@ msgstr "Kliknite i povucite, da bi pomjerili lijevi okvir izbora."
 msgid "Click and drag to move right selection boundary."
 msgstr "Kliknite i povucite, da bi pomjerili desni okvir izbora."
 
-#: TrackPanel.cpp:1669
-#: TrackPanel.cpp:3777
-#: TrackPanel.cpp:3809
-#: TrackPanel.cpp:4064
-#: TrackPanel.cpp:6160
-#: TrackPanel.cpp:6180
+#: TrackPanel.cpp:1669 TrackPanel.cpp:3777 TrackPanel.cpp:3809
+#: TrackPanel.cpp:4064 TrackPanel.cpp:6160 TrackPanel.cpp:6180
 msgid "Modified Label"
 msgstr "Promijenjena oznaka"
 
-#: TrackPanel.cpp:1670
-#: TrackPanel.cpp:3778
-#: TrackPanel.cpp:3810
-#: TrackPanel.cpp:4065
-#: TrackPanel.cpp:6161
-#: TrackPanel.cpp:6181
+#: TrackPanel.cpp:1670 TrackPanel.cpp:3778 TrackPanel.cpp:3810
+#: TrackPanel.cpp:4065 TrackPanel.cpp:6161 TrackPanel.cpp:6181
 msgid "Label Edit"
 msgstr "Uredi oznaku"
 
@@ -3752,8 +3728,7 @@ msgstr "Uredi oznaku"
 msgid "Adjusted envelope."
 msgstr "Prilagođena ovojnica."
 
-#: TrackPanel.cpp:1898
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1898 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Ovojnica"
 
@@ -3775,9 +3750,7 @@ msgstr "desno"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Vremenski pomjerene trake/snimci %s  %.02f sekundi"
 
-#: TrackPanel.cpp:2044
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2044 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Vremenski pomak"
@@ -3816,39 +3789,29 @@ msgid "Moved pan slider"
 msgstr "Pomjeren potenciometar poravnanja"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3269
-#: TrackPanel.cpp:5478
-#: TrackPanel.cpp:6829
+#: TrackPanel.cpp:3269 TrackPanel.cpp:5478 TrackPanel.cpp:6829
 msgid "Gain"
 msgstr "Pojačanje"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3269
-#: TrackPanel.cpp:5416
-#: TrackPanel.cpp:6836
+#: TrackPanel.cpp:3269 TrackPanel.cpp:5416 TrackPanel.cpp:6836
 msgid "Pan"
 msgstr "Pomjeranje"
 
-#: TrackPanel.cpp:3394
-#: TrackPanel.cpp:6113
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3394 TrackPanel.cpp:6113 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "gore"
 
-#: TrackPanel.cpp:3398
-#: TrackPanel.cpp:6114
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3398 TrackPanel.cpp:6114 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "dolje"
 
-#: TrackPanel.cpp:3405
-#: TrackPanel.cpp:6109
+#: TrackPanel.cpp:3405 TrackPanel.cpp:6109
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Pomjereno '%s' %s"
 
-#: TrackPanel.cpp:3408
-#: TrackPanel.cpp:6115
+#: TrackPanel.cpp:3408 TrackPanel.cpp:6115
 msgid "Move Track"
 msgstr "Pomjeri traku"
 
@@ -3880,14 +3843,6 @@ msgstr "Prilagođeni pomak"
 msgid "Adjusted gain"
 msgstr "Prilagođeno pojačanje"
 
-#: TrackPanel.cpp:5796
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5797
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5658
 msgid "Can't delete track with active audio"
 msgstr "Traku s aktivnim zvukom nije moguće izbrisati"
@@ -3908,8 +3863,7 @@ msgstr "Lijevo, "
 msgid "Right, "
 msgstr "Desno, "
 
-#: TrackPanel.cpp:5840
-#: TrackPanel.cpp:5953
+#: TrackPanel.cpp:5840 TrackPanel.cpp:5953
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Promijenjeno: '%s' v %s"
@@ -3923,6 +3877,11 @@ msgstr "Kanal"
 msgid "Split stereo track '%s'"
 msgstr "Razdvoji stereo traku '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5879
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3949,8 +3908,7 @@ msgstr "Promjena formata:"
 msgid "Change lower speed limit (%) to:"
 msgstr "Promijeni donju granicu brzine (%) na:"
 
-#: TrackPanel.cpp:6078
-#: TrackPanel.cpp:6079
+#: TrackPanel.cpp:6078 TrackPanel.cpp:6079
 msgid "Lower speed limit"
 msgstr "Donja granica brzine"
 
@@ -3958,8 +3916,7 @@ msgstr "Donja granica brzine"
 msgid "Change upper speed limit (%) to:"
 msgstr "Promijeni gornju granicu brzine (%) na:"
 
-#: TrackPanel.cpp:6085
-#: TrackPanel.cpp:6086
+#: TrackPanel.cpp:6085 TrackPanel.cpp:6086
 msgid "Upper speed limit"
 msgstr "Gornja granica brzine"
 
@@ -4001,6 +3958,10 @@ msgstr "Ime vrste slova"
 msgid "Face size"
 msgstr "Veličina vrste slova"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6756
 msgid "Mute"
 msgstr "Utišaj"
@@ -4034,10 +3995,7 @@ msgstr " Solo uključeno"
 msgid " Select On"
 msgstr " Izabrano"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Izbor je premli za upotrebo glasovnog ključa."
 
@@ -4064,8 +4022,7 @@ msgstr "Promjene pravca    -- sr.vred.: %1.4f  st.dev.: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Zvučna traka"
 
-#: WaveTrack.cpp:547
-#: WaveTrack.cpp:566
+#: WaveTrack.cpp:547 WaveTrack.cpp:566
 msgid "There is not enough room available to paste the selection"
 msgstr "Nema dovoljno prostora, da bi priljepili izbor"
 
@@ -4083,10 +4040,10 @@ msgstr "Priključci 1 do %i"
 msgid "Plugins %i to %i"
 msgstr "Priključci %i do %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Iz nekog razloga to nije dozvoljeno.  Probajte prvoj izabrati neki zvuk?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:724
 msgid "You can only do this when playing and recording are\n"
@@ -4169,9 +4126,7 @@ msgstr "Pojačavanje"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Izbrali ste traku, koja ne sadrži zvuk. Automatsko spuštanje može procesirati samo zvučne trake."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Automatski spusti"
@@ -4192,17 +4147,11 @@ msgstr "Količina spusta:"
 msgid "Maximum pause:"
 msgstr "Maksimalna pauza:"
 
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:197
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:197
 msgid "seconds"
 msgstr "sekundi"
 
@@ -4222,8 +4171,7 @@ msgstr "Dužina unutrašnjeg poslabljenja:"
 msgid "Inner fade up length:"
 msgstr "Dužina unutrašnjeg jačanja:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Prag:"
 
@@ -4243,12 +4191,9 @@ msgstr "Automatski spusti ..."
 msgid "Processing Auto Duck..."
 msgstr "Procesiranje automatskog spuštanja ..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1040
-#: widgets/ErrorDialog.cpp:74
-#: widgets/ErrorDialog.cpp:100
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1040
+#: widgets/ErrorDialog.cpp:74 widgets/ErrorDialog.cpp:100
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "U redu"
@@ -4313,14 +4258,12 @@ msgstr "Promijeni visinu tona brez spremembe tempa"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "avtorja Vauhgan Johnson i Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "uporabljen SoundTouch Ollija Parvianena"
 
@@ -4369,10 +4312,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "do"
@@ -4381,8 +4322,7 @@ msgstr "do"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Sprememba v odstotkih"
@@ -4400,8 +4340,7 @@ msgstr "Promijeni visinu tona ..."
 msgid "Changing Pitch"
 msgstr "Promjena visine tona"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Primjenjen efekt: %s %1f%%"
@@ -4553,12 +4492,11 @@ msgstr "Vrijeme opadanja: "
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Po kompresiji normaliziraj na 0dB"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Prag: %d dB"
@@ -4589,7 +4527,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Trajanje napada: %.1f s"
@@ -4600,7 +4537,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Vrijeme opadanja: %.1f s"
@@ -4613,6 +4549,10 @@ msgstr "Kompresor ..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Primjena kompresije dinamičnog opsega ..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4632,19 +4572,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:190
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
-#: effects/Contrast.cpp:415
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4653,15 +4580,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:338
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:338 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Početak"
 
-#: effects/ToneGen.cpp:339
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:141
-#: toolbars/SelectionBar.cpp:242
+#: effects/ToneGen.cpp:339 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:141 toolbars/SelectionBar.cpp:242
 msgid "End"
 msgstr "Kraj"
 
@@ -4681,6 +4605,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4705,8 +4634,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:796
-#: Tags.cpp:1948
+#: Tags.cpp:796 Tags.cpp:1948
 msgid "Reset"
 msgstr "Ponovo postavi"
 
@@ -4726,16 +4654,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Upravljanje"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
@@ -4846,18 +4766,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "DTMF ton generator"
@@ -4870,9 +4778,7 @@ msgstr "autor Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "DTMF sekvenca:"
 
-#: effects/DtmfGen.cpp:444
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:306
+#: effects/DtmfGen.cpp:444 effects/Noise.cpp:255 effects/ToneGen.cpp:306
 #: effects/ToneGen.cpp:342
 msgid "Amplitude (0-1)"
 msgstr "Amplituda (0-1)"
@@ -4893,9 +4799,7 @@ msgstr "Ciklus djelovanja:"
 msgid "Tone duration:"
 msgstr "Trajanje tona:"
 
-#: effects/DtmfGen.cpp:478
-#: effects/DtmfGen.cpp:480
-#: effects/DtmfGen.cpp:556
+#: effects/DtmfGen.cpp:478 effects/DtmfGen.cpp:480 effects/DtmfGen.cpp:556
 #: effects/DtmfGen.cpp:557
 msgid "ms"
 msgstr "ms"
@@ -4977,8 +4881,7 @@ msgstr "kosinusni"
 msgid "Cubic"
 msgstr "kubni"
 
-#: effects/Equalization.cpp:353
-#: effects/Equalization.cpp:404
+#: effects/Equalization.cpp:353 effects/Equalization.cpp:404
 msgid "Equalization"
 msgstr "Izjednačavanje"
 
@@ -4990,6 +4893,10 @@ msgstr "Greška pri učitavanju krivulje izjednačivača (EQ)"
 msgid "custom"
 msgstr "Prilagođeno"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1081
@@ -5028,8 +4935,7 @@ msgstr "Dužina filtera:"
 msgid "Select curve:"
 msgstr "Izaberite krivulju:"
 
-#: effects/Equalization.cpp:1253
-#: effects/Equalization.cpp:2416
+#: effects/Equalization.cpp:1253 effects/Equalization.cpp:2416
 msgid "Save As..."
 msgstr "Spremi kao ..."
 
@@ -5145,8 +5051,7 @@ msgstr "Najjače"
 msgid "by Lynn Allan"
 msgstr "autora Lynna Allana"
 
-#: effects/Leveller.cpp:219
-#: effects/Leveller.cpp:224
+#: effects/Leveller.cpp:219 effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Stepen izravnavanja"
 
@@ -5195,10 +5100,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "Mikser"
-
 #: effects/LoadEffects.cpp:117
 msgid "Simulator"
 msgstr ""
@@ -5437,13 +5338,7 @@ msgstr "Odstranjivanje Å¡uma"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Primjenjen efekt: %s odstranjivanje dc pomaka = %s, normalizacija amplitude = %s"
 
-#: effects/Normalize.cpp:70
-#: effects/Normalize.cpp:71
-msgid "false"
-msgstr "netačno"
-
-#: effects/Normalize.cpp:70
-#: effects/Normalize.cpp:71
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr "tačno"
 
@@ -5502,8 +5397,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Frekvencija LFO (Hz):"
 
@@ -5511,8 +5405,7 @@ msgstr "Frekvencija LFO (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "Početna faza LFO (step.):"
 
@@ -5573,8 +5466,7 @@ msgstr "Ponovljeno %d-puta"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Trake su preduge za ponavljanje izbora."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Ponovi"
 
@@ -5587,8 +5479,7 @@ msgstr "Broj ponavljanja"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Nova dužina izbora:"
 
@@ -5750,8 +5641,7 @@ msgstr "Zupčasti"
 msgid "Square, no alias"
 msgstr "Kvadratni, bez aliasa"
 
-#: effects/ToneGen.cpp:305
-#: effects/ToneGen.cpp:340
+#: effects/ToneGen.cpp:305 effects/ToneGen.cpp:340
 msgid "Frequency (Hz)"
 msgstr "Frekvencija (Hz)"
 
@@ -5799,28 +5689,43 @@ msgstr "Generisanje tona"
 msgid "All tracks must have the same sample rate"
 msgstr "Sve trake moraju imati jednaku frekvenciju uzimanja uzoraka."
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Presjeci tišinu"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Najveće trajanje tišine:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "milisekundi"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Najveće trajanje tišine:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Prag tišine:"
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Trajanje mora biti najmanje 1 milisekundu."
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5830,17 +5735,55 @@ msgstr "Presjeci tišinu ..."
 msgid "Truncating Silence..."
 msgstr "Presjecanje tišine..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Nažalost, VST efekti se ne mogu izvesti na stereo snimcima, jer se pojedinačni kanali ne slažu."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Postavke efekta"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Prazno"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Izmjenu nije moguće izvesti"
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Parametri priključka VST:"
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5889,21 +5832,10 @@ msgstr "Izvođenje efekta: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Nažalost, priključeni efekti se ne mogu izvesti na stereo snimcima, jer se pojedinačni kanali ne slažu."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Prazno"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Autor: "
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Postavke efekta"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Dužina (u sekundama)"
@@ -5924,8 +5856,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Dodavanje efekta Nyquist ..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Nyquist komanda..."
 
@@ -5945,8 +5876,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Izlaz Nyquista:"
 
-#: effects/nyquist/Nyquist.cpp:596
-#: effects/nyquist/Nyquist.cpp:607
+#: effects/nyquist/Nyquist.cpp:596 effects/nyquist/Nyquist.cpp:607
 msgid "Nyquist returned the value:"
 msgstr "Nyquist je vratio vrijednost:"
 
@@ -6054,8 +5984,7 @@ msgstr " - desni"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:961
-#: export/Export.cpp:1006
+#: export/Export.cpp:961 export/Export.cpp:1006
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Izlazni kanali: %2d"
@@ -6085,8 +6014,7 @@ msgstr "Podaci će biti datotečnim cijevima proslijeđeni na standardni ulaz. \
 msgid "(external program)"
 msgstr "(eksterni program)"
 
-#: export/ExportCL.cpp:248
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:248 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Ne mogu izvesti zvuk u %s"
@@ -6103,9 +6031,21 @@ msgstr "Izvoz cijeloga projekta upotrebom kodera komandne linije"
 msgid "Command Output"
 msgstr "Izlaz komande"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6173,6 +6113,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Kvalitet:"
+
 #: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6306,12 +6250,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Kvalitet:"
-
-#: export/ExportFFmpegDialogs.cpp:928
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6330,10 +6270,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:936
@@ -6522,12 +6462,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6638,6 +6578,17 @@ msgstr "Bitovska dubina:"
 msgid "FLAC Files"
 msgstr "Datoteke FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Izvoženje izbranoga zvuka kao FLAC"
@@ -6662,9 +6613,7 @@ msgstr "Datoteke MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Izvoz u MP2 nije moguć pri toj frekvenciji uzimanja uzoraka i bitovske brzine"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1713
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1713 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "Nije moguće otvoriti odredišnu datoteku za upis"
 
@@ -6679,24 +6628,12 @@ msgid "Exporting entire file at %d kbps"
 msgstr "Izvoz cijele datoteke pri %d kb/s"
 
 #. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142
-#: export/ExportMP3.cpp:143
-#: export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145
-#: export/ExportMP3.cpp:146
-#: export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148
-#: export/ExportMP3.cpp:149
-#: export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151
-#: export/ExportMP3.cpp:152
-#: export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154
-#: export/ExportMP3.cpp:155
-#: export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157
-#: export/ExportMP3.cpp:158
-#: export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
+#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
+#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
+#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
+#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
+#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
 msgid "kbps"
 msgstr "kb/s"
 
@@ -6732,8 +6669,7 @@ msgstr ""
 msgid "Specify MP3 Options"
 msgstr "Odredi MP3 opcije"
 
-#: export/ExportMP3.cpp:264
-#: prefs/FileFormatPrefs.cpp:101
+#: export/ExportMP3.cpp:264 prefs/FileFormatPrefs.cpp:101
 msgid "MP3 Export Setup"
 msgstr "MP3 postavke za Izvoz"
 
@@ -6757,8 +6693,7 @@ msgstr "Prosječno"
 msgid "Constant"
 msgstr "Konstanta"
 
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Kvalitet"
 
@@ -6878,10 +6813,8 @@ msgstr "Kombinacije frekvencije uzimanja uzoraka projekta (%d) i bitovskog uzima
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:88
-#: export/ExportMultiple.cpp:362
-#: export/ExportMultiple.cpp:609
-#: export/ExportMultiple.cpp:717
+#: export/ExportMultiple.cpp:88 export/ExportMultiple.cpp:362
+#: export/ExportMultiple.cpp:609 export/ExportMultiple.cpp:717
 msgid "Export Multiple"
 msgstr "Izvoz više"
 
@@ -6911,11 +6844,6 @@ msgstr "Opcije ..."
 msgid "Export location:"
 msgstr "Lokacija  za izvoz:"
 
-#: export/ExportMultiple.cpp:204
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Izaberi ..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr "Kreiraj"
@@ -6940,10 +6868,6 @@ msgstr "Ime prve datoteke:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "Trake"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr "Imenujte datoteke:"
@@ -6977,6 +6901,35 @@ msgstr "\"%s\" je bila uspješno kreirana."
 msgid "Choose a location to save the exported files"
 msgstr "Izaberite lokaciju, gdje će biti spremljene izvezene datoteke."
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:480
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6990,18 +6943,6 @@ msgstr "\"%s\" ne postoji.\n"
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:606
-#: export/ExportMultiple.cpp:714
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Uspješno izvezenih %d datoteka."
-
-#: export/ExportMultiple.cpp:607
-#: export/ExportMultiple.cpp:715
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Po izvozu %d datotek(e) je nešto bilo neuspješno."
-
 #: export/ExportMultiple.cpp:898
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7169,7 +7110,6 @@ msgstr "\"%s\" je datoteka Advanced Audio Coding. \n"
 "Morate je pretvoriti u podržanu vrstu zvučnih datoteka, kao što su WAV i AIFF."
 
 #: import/Import.cpp:273
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7260,6 +7200,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Datoteke FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Spisak datoteka u osnovnom tekstualnom zapisu"
@@ -7270,9 +7214,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Pogrešan pomak prozora u LOF datoteci."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "Greška LOF"
@@ -7328,8 +7270,7 @@ msgstr "Nepravilno zaglavlje Vorbis bitstream"
 msgid "Internal logic fault"
 msgstr "Interna logička greška"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF i druge nekompresovane vrste"
 
@@ -7420,36 +7361,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Zvučni U/I"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Paketni način"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr "Ponašanja"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (stereo)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "&Ne primjenjuj efekte u paketnom režimu"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Reprodukcija"
+#: prefs/BatchPrefs.cpp:85
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Režim Čisti&Govor (prilagođen grafički interfejs)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "Uređaj"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "Interfejs"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Koristeći:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Reprodukcija"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7459,96 +7405,15 @@ msgstr "Snimanje"
 msgid "Channels"
 msgstr "Kanali"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Emituj kroz"
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Hardversko emitovanje kroz: Emituj novu traku tokom njenog snimanja"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Programsko emitovanje kroz: Emituj novu traku u toku njenog snimanja"
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:161
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Predslušavanje efekata"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Dužina predslušanja:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Predslušanje izrezanog"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Predslušanje prije izrezanog područja:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Predslušanje nakon izrezanog područja:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latencija"
-
-#: prefs/AudioIOPrefs.cpp:196
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:199
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Vrijeme pretrage pri reprodukciji"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Kraći period:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Duži period:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Paketni način"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "Ponašanja"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "&Ne primjenjuj efekte u paketnom režimu"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (mono)"
 
-#: prefs/BatchPrefs.cpp:85
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Režim Čisti&Govor (prilagođen grafički interfejs)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (stereo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Direktoriji"
@@ -7565,34 +7430,31 @@ msgstr "Lokacija:"
 msgid "Free Space:"
 msgstr "Slobodni prostor:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Automatski spremi"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Automatski sprema kopiju projekta u odvojeni direktorij"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Interval za automatsko spremanje"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minuta"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Zvučna međumemorija"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Izberite lokacijo, gdje će biti privremeni direktorij"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7611,228 +7473,144 @@ msgstr "Direktorij %s nije upisiv"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Promjene u privremenom direktoriju neće biti efektivne do narednog starta Audacityja."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "MP3 Library Version:"
-msgstr "MP3 verzija biblioteke:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:115
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (plitak obseg za visoko-amplitudno uređivanje)"
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:116
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (opseg PCM za 8-bitne uzorke)"
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
-msgstr "Pri spremanju projekta, koji je ovisan od drugih zvučnih datoteka"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
-msgstr "Uvijek &kopiraj sav zvuk u projekt (najsigurnije)"
-
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
-msgstr "&Ne kopiraj zvuk"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "&Ask user"
-msgstr "Pitaj &korisnika"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
-msgstr "Prilikom izvoza traka u zvučnu datoteku"
-
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Uvijek &miješaj sve trake na stereo ili mono kanal(ima)."
+#: prefs/GUIPrefs.cpp:117
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (opseg PCM za 16-bitn uzorke)"
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Upotrijebi miješanje po mjeri (npr. za izvoz višekanalne datoteke 5.1)"
+#: prefs/GUIPrefs.cpp:118
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (približna granica čovjekovog sluha)"
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Prikaži &uređivač metapodataka prije izvoza"
+#: prefs/GUIPrefs.cpp:119
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (opseg PCM za 24-bitne uzorke)"
 
-#: prefs/GUIPrefs.cpp:33
-#: prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "Interfejs"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "Prikaz"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr "&Ažuriraj ekran tokom izvođenja"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
+msgstr ""
 
 #: prefs/GUIPrefs.cpp:96
 msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Omogući &prevlačenje lijeve i desne ivice izbora"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Automatski &utisni vrtikalno uvećane trake"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Pomjeri fokus na trakama\" &ciklično kruži po trakama"
-
-#: prefs/GUIPrefs.cpp:86
-msgid "Editing a &clip can move other clips"
-msgstr "Uređivanje &snimka može pomaći druge snimke"
-
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
-msgstr "&Ako nije ništa izabrano, izaberi sve zvukove projekta."
-
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr "&Zapiskaj na kraju daljnjih operacija"
 
-#: prefs/BatchPrefs.cpp:89
-#: prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr "Pokaži / Skrij"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "Omogući &linije rezova"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "Pokaži upozorenja o &privremenim datotekama"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Pokaži pozdravnu poruku pri startu programa"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:115
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (plitak obseg za visoko-amplitudno uređivanje)"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (opseg PCM za 8-bitne uzorke)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:117
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (opseg PCM za 16-bitn uzorke)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:118
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (približna granica čovjekovog sluha)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:119
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (opseg PCM za 24-bitne uzorke)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
+msgstr "Prilikom izvoza traka u zvučnu datoteku"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Uvijek &miješaj sve trake na stereo ili mono kanal(ima)."
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Upotrijebi miješanje po mjeri (npr. za izvoz višekanalne datoteke 5.1)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr ""
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Prikaži &uređivač metapodataka prije izvoza"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Tastatura"
 
@@ -7856,22 +7634,26 @@ msgstr "P&ostavi"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Napomena: s pritiskom na Cmd+Q prekidate program. Sve druge tipke so važeće."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&Podrazumijevano"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Kombinacija tastera"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Izvezi kratice kao:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Poništi"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Greška pri spremanju kratica"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7881,6 +7663,14 @@ msgstr "Izaberite datoteku XML s kraticama Audacity ..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Greška pri učitavanju kratica"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Izvezi kratice kao:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Greška pri spremanju kratica"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7890,10 +7680,61 @@ msgstr "Kratica tastature '%s' je već dodijeljena za:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Poništi"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:104
+msgid "MP3 Library Version:"
+msgstr "MP3 verzija biblioteke:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Zvučni U/I"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Emituj kroz"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7907,6 +7748,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Predslušanje izrezanog"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7915,6 +7760,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Latencija"
+
 #: prefs/AudioIOPrefs.cpp:189
 msgid "Audio to buffer:"
 msgstr "Zvuk u međumemoriju:"
@@ -7927,12 +7776,23 @@ msgstr "Popravak latencije:"
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Kraći period:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "Duži period:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Predslušavanje efekata"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Miš"
 
@@ -7952,37 +7812,26 @@ msgstr "Akcije komandi"
 msgid "Buttons"
 msgstr "Tasteri"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Lijevi klik"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Izaberi"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Postavi tačku izbora"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Lijevi-povuci"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Postavi opseg izbora"
 
@@ -8010,12 +7859,8 @@ msgstr "Ctrl-lijevi-klik"
 msgid "Set Selection Point and Play"
 msgstr "Postavi tačku izbora i emituj"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Povećanje"
 
@@ -8023,9 +7868,7 @@ msgstr "Povećanje"
 msgid "Zoom in on Point"
 msgstr "Povećaj na tački"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Povećaj na području"
 
@@ -8033,18 +7876,15 @@ msgstr "Povećaj na području"
 msgid "same as right-drag"
 msgstr "jednako kao desno-povlačenje"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Desni klik"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Umanji za jedan korak"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Desni-povuci"
 
@@ -8080,8 +7920,7 @@ msgstr "Shift-lijevo-povlačenje"
 msgid "Time shift all clips in track"
 msgstr "Vremenski pomakni sve snimke na traci"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-lijevi-povuci"
 
@@ -8097,9 +7936,7 @@ msgstr "Promijeni ovojnicu pojačanja"
 msgid "Change Sample"
 msgstr "Promijeni uzorak"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Olovka"
@@ -8120,26 +7957,20 @@ msgstr "Promijeni više uzoraka"
 msgid "Change ONE Sample only"
 msgstr "Promijeni samo jedan uzorak"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Višestruko"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "isto kao alat za izbor"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "isto kao alat za povećanje"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Bilo koji"
 
@@ -8167,10 +7998,62 @@ msgstr "Ctrl-rotacija točkića"
 msgid "Zoom in or out"
 msgstr "Povećaj ili umanji"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Dužina predslušanja:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Predslušanje prije izrezanog područja:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Predslušanje nakon izrezanog područja:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Vrijeme pretrage pri reprodukciji"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Postavke Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr "Pri spremanju projekta, koji je ovisan od drugih zvučnih datoteka"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr "Uvijek &kopiraj sav zvuk u projekt (najsigurnije)"
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr "&Ne kopiraj zvuk"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "&Ask user"
+msgstr "Pitaj &korisnika"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Automatski spremi"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Automatski sprema kopiju projekta u odvojeni direktorij"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Interval za automatsko spremanje"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minuta"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "ÄŒetvorougao"
@@ -8195,46 +8078,46 @@ msgstr "Podrazumijevana frekvencija uzimanja uzoraka:"
 msgid "Default Sample Format:"
 msgstr "Podrazumijevani oblik uzorca:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Pretvarač frekvencije uzimanja uzoraka u realnom vremenu:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Visokokvalitetni pretvarač frekvencije uzimanja uzoraka:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Trepet u realnom vremenu:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Visokokvalitetni trepet:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Konverzija"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Pretvarač frekvence uzimanja uzoraka"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Trepet"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "U realnom vremenu:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Hardversko emitovanje kroz: Emituj novu traku tokom njenog snimanja"
+
+#: prefs/AudioIOPrefs.cpp:158
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Visokokvalitetno:"
+#: prefs/AudioIOPrefs.cpp:161
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Pametno snimanje"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8244,23 +8127,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:36
-#: prefs/SpectrumPrefs.cpp:37
+#: prefs/SpectrumPrefs.cpp:36 prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "Spektogrami"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "Veličina FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "8 - najšire"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "256 - podrazumijevano"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -8269,21 +8187,26 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - najuže"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Vrsta prozora:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "Prikaz"
-
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "&crnobijelo"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -8293,16 +8216,16 @@ msgstr "Najmanja frekvencija (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Najviša frekvencija (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8313,6 +8236,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "Maksimalna frekvencija mora biti cijeli broj"
@@ -8329,19 +8260,70 @@ msgstr "Najmanja frekvencija mora biti pozitivni cijeli broj"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Najmanja frekvencija mora biti bar 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Informacije"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Teme su u eksperimentalnoj fazi.\n"
+"\n"
+"Da jih isprobate, kliknite \"Sprem međumemoriju tema\",\n"
+"onda potražite i promijenite slike i boje u \n"
+"ImageCacheVxx.png koristeći uređivač slika, kao što je \n"
+"je Gimp.\n"
+"\n"
+"Kliknite \"Učitaj međumemoriju tema\", da učitate promijenjene\n"
+"slike i boje nazad v Audacity.\n"
+"\n"
+"[Samo kontrolna alatna traka i boje na \n"
+"traci s talasnim oblikom su trenutno promijenjene, čak i ako slika\n"
+"prikazuje druge ikone.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8372,99 +8354,96 @@ msgstr "Spremi datoteke"
 msgid "Load Files"
 msgstr "Učitaj datoteke"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Informacije"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Teme su u eksperimentalnoj fazi.\n"
-"\n"
-"Da jih isprobate, kliknite \"Sprem međumemoriju tema\",\n"
-"onda potražite i promijenite slike i boje u \n"
-"ImageCacheVxx.png koristeći uređivač slika, kao što je \n"
-"je Gimp.\n"
-"\n"
-"Kliknite \"Učitaj međumemoriju tema\", da učitate promijenjene\n"
-"slike i boje nazad v Audacity.\n"
-"\n"
-"[Samo kontrolna alatna traka i boje na \n"
-"traci s talasnim oblikom su trenutno promijenjene, čak i ako slika\n"
-"prikazuje druge ikone.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Audacity je preveden s dodatnim tasterom, \n"
-"'Output Sourcery'.  To će spremiti C-verziju \n"
-"međumemorije slika, koja se može prevesti da bude podrazumijevana.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Ako je uključen 'Učitaj međumemoriju tema pri startu', onda \n"
-"će međumemorija za teme biti učitana kada počnete program.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
+msgstr "&Ažuriraj ekran tokom izvođenja"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Shranjevanje i nalaganje posamezne datoteke teme \n"
-"uporablja lo�eno datoteku za vsako sliko, a je sicer \n"
-"zami�ljeno na enak na�in.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Automatski &utisni vrtikalno uvećane trake"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pauza"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Izvođenje"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
+msgstr "&Ako nije ništa izabrano, izaberi sve zvukove projekta."
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr "Omogući &linije rezova"
+
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Omogući &prevlačenje lijeve i desne ivice izbora"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Pomjeri fokus na trakama\" &ciklično kruži po trakama"
+
+#: prefs/GUIPrefs.cpp:86
+msgid "Editing a &clip can move other clips"
+msgstr "Uređivanje &snimka može pomaći druge snimke"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Zaustavi"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Skoči na početak"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Skoči na kraj"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: Menus.cpp:774
+msgid "Pause"
+msgstr "Pauza"
+
+#: Menus.cpp:773
+msgid "Stop"
+msgstr "Zaustavi"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "ÄŒisti govor"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:839
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:839
 msgid "Error while opening sound device. "
 msgstr "Greška pri otvaranju zvučnog uređaja."
 
@@ -8476,13 +8455,11 @@ msgstr "Snimanje u režimu ČistiGovor nije moguće, ako je traka (ili više od
 msgid "Recording not permitted"
 msgstr "Snimanje nije dozvoljeno"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Izlazni uređaj"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Ulazni uređaj"
 
@@ -8506,29 +8483,21 @@ msgstr "Povećaj"
 msgid "Zoom Out"
 msgstr "Umanji"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Preklop poćanja"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "U izbor"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Prilagodi označeno prozoru"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Prilagodi projekt"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Prilagodi cijeli projekt u prozot"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Mjerač"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "U izbor"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Prilagodi projekt"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8576,24 +8545,28 @@ msgstr "Klizač-ulaz"
 msgid "Input Source"
 msgstr "Ulazni izvor"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Izbor"
 
-#: toolbars/SelectionBar.cpp:120
-#: toolbars/SelectionBar.cpp:177
+#: toolbars/SelectionBar.cpp:120 toolbars/SelectionBar.cpp:177
 msgid "Project Rate (Hz):"
 msgstr "Frekvencija projekta (Hz):"
 
-#: toolbars/SelectionBar.cpp:134
-#: toolbars/SelectionBar.cpp:235
+#: toolbars/SelectionBar.cpp:134 toolbars/SelectionBar.cpp:235
 msgid "Selection Start:"
 msgstr "Početak izbora:"
 
-#: effects/ToneGen.cpp:307
-#: effects/ToneGen.cpp:348
-#: toolbars/SelectionBar.cpp:147
-#: toolbars/SelectionBar.cpp:241
+#: effects/ToneGen.cpp:307 effects/ToneGen.cpp:348
+#: toolbars/SelectionBar.cpp:147 toolbars/SelectionBar.cpp:241
 msgid "Length"
 msgstr "Dužina"
 
@@ -8601,13 +8574,11 @@ msgstr "Dužina"
 msgid "hidden"
 msgstr "sakriveno"
 
-#: toolbars/SelectionBar.cpp:167
-#: toolbars/SelectionBar.cpp:252
+#: toolbars/SelectionBar.cpp:167 toolbars/SelectionBar.cpp:252
 msgid "Audio Position:"
 msgstr "Položaj zvuka:"
 
-#: toolbars/SelectionBar.cpp:217
-#: toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:217 toolbars/SelectionBar.cpp:222
 msgid "Snap To"
 msgstr "Skoči na ..."
 
@@ -8628,8 +8599,7 @@ msgstr "Kraj izbora"
 msgid "Audacity %s ToolBar"
 msgstr "Alatna traka Audacity - %s"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Sidrište alata"
 
@@ -8661,34 +8631,6 @@ msgstr "Lijevo=Povećavanje, Desno=Umanjenje, Sredina=Normalno"
 msgid "Click and drag to move a track in time"
 msgstr "Kliknite i povucite, da bi pomjerili traku u vremenu"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Alati"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Alat za izbor"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Alat za ovojnicu"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Alat za pomijeranje vremena"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Alat za povećanje"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Crtanje"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Višealatni režim"
@@ -8697,24 +8639,11 @@ msgstr "Višealatni režim"
 msgid "Slide Tool"
 msgstr "Alat Pomikaj"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Višestruki alat"
-
-#: toolbars/TranscriptionToolBar.cpp:82
-msgid "Transcription"
-msgstr "Prepis"
-
 #: toolbars/TranscriptionToolBar.cpp:163
 msgid "Play at selected speed"
 msgstr "Izvodi pri izbranoj brzini"
 
-#: toolbars/TranscriptionToolBar.cpp:164
-msgid "Play-at-speed"
-msgstr "Izvodi-pri-brzini"
-
-#: toolbars/TranscriptionToolBar.cpp:170
-#: toolbars/TranscriptionToolBar.cpp:175
+#: toolbars/TranscriptionToolBar.cpp:170 toolbars/TranscriptionToolBar.cpp:175
 msgid "Playback Speed"
 msgstr "Brzina izvođenja"
 
@@ -8722,74 +8651,38 @@ msgstr "Brzina izvođenja"
 msgid "Adjust left selection to next onset"
 msgstr "Prilagodi lijevi izbor narednom početku"
 
-#: toolbars/TranscriptionToolBar.cpp:181
-msgid "Left-to-On"
-msgstr "Lijevo-na-uključeno"
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Adjust right selection to previous offset"
 msgstr "Prilagodi desni izbor prethodnom pomaku"
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Right-to-Off"
-msgstr "Desno-na-isključeno"
-
 #: toolbars/TranscriptionToolBar.cpp:186
 msgid "Adjust left selection to next offset"
 msgstr "Prilagodi lijevi izbor narednom pomaku"
 
-#: toolbars/TranscriptionToolBar.cpp:187
-msgid "Left-to-Off"
-msgstr "Lijevo-na-isključeno"
-
 #: toolbars/TranscriptionToolBar.cpp:189
 msgid "Adjust right selection to previous onset"
 msgstr "Prilagodi desni izbor prehodnom početku"
 
-#: toolbars/TranscriptionToolBar.cpp:190
-msgid "Right-to-On"
-msgstr "Desno-na-uključeno"
-
 #: toolbars/TranscriptionToolBar.cpp:192
 msgid "Select region of sound around cursor"
 msgstr "Izberi područje zvuka oko kazaljke"
 
-#: toolbars/TranscriptionToolBar.cpp:193
-msgid "Select-Sound"
-msgstr "Izaberi-Zvuk"
-
 #: toolbars/TranscriptionToolBar.cpp:195
 msgid "Select region of silence around cursor"
 msgstr "Izaberi područje tišine oko kazaljke"
 
-#: toolbars/TranscriptionToolBar.cpp:196
-msgid "Select-Silence"
-msgstr "Izaberi-Tišina"
-
 #: toolbars/TranscriptionToolBar.cpp:198
 msgid "Automatically make labels from words"
 msgstr "Automatski napravi oznake iz riječi"
 
-#: toolbars/TranscriptionToolBar.cpp:199
-msgid "Make Labels"
-msgstr "Napravi oznake"
-
 #: toolbars/TranscriptionToolBar.cpp:201
 msgid "Add label at selection"
 msgstr "Dodaj oznaku na izbor"
 
-#: toolbars/TranscriptionToolBar.cpp:202
-msgid "Add Label"
-msgstr "Dodaj oznaku"
-
 #: toolbars/TranscriptionToolBar.cpp:204
 msgid "Calibrate voicekey"
 msgstr "Kalibracija glasa ključa"
 
-#: toolbars/TranscriptionToolBar.cpp:205
-msgid "Calibrate"
-msgstr "Kalibriraj"
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust Sensitivity"
 msgstr "Prilagodi ojetljivost"
@@ -8822,6 +8715,46 @@ msgstr "Promjene smijera (visoki prag)"
 msgid "Key type"
 msgstr "Vrsta tastera"
 
+#: toolbars/TranscriptionToolBar.cpp:164
+msgid "Play-at-speed"
+msgstr "Izvodi-pri-brzini"
+
+#: toolbars/TranscriptionToolBar.cpp:181
+msgid "Left-to-On"
+msgstr "Lijevo-na-uključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Right-to-Off"
+msgstr "Desno-na-isključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:187
+msgid "Left-to-Off"
+msgstr "Lijevo-na-isključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:190
+msgid "Right-to-On"
+msgstr "Desno-na-uključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:193
+msgid "Select-Sound"
+msgstr "Izaberi-Zvuk"
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Select-Silence"
+msgstr "Izaberi-Tišina"
+
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Make Labels"
+msgstr "Napravi oznake"
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Add Label"
+msgstr "Dodaj oznaku"
+
+#: toolbars/TranscriptionToolBar.cpp:205
+msgid "Calibrate"
+msgstr "Kalibriraj"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (onemogućeno)"
@@ -8836,15 +8769,13 @@ msgstr "Dugme"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:211
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:211
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:213
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:213
 msgid "R"
 msgstr "D"
 
@@ -8860,8 +8791,7 @@ msgstr "Lijevo"
 msgid "Right"
 msgstr "Desno"
 
-#: widgets/ErrorDialog.cpp:73
-#: widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
 msgid "Help"
 msgstr "Pomoć"
 
@@ -8894,8 +8824,7 @@ msgstr "Grabilac"
 msgid "%d rows, %d columns"
 msgstr "%d redova, %d kolona"
 
-#: widgets/Grid.cpp:641
-#: widgets/Grid.cpp:768
+#: widgets/Grid.cpp:641 widgets/Grid.cpp:768
 #, c-format
 msgid "Row %d"
 msgstr "Red %d"
@@ -8974,8 +8903,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1138
-#: widgets/Ruler.cpp:1139
+#: widgets/Ruler.cpp:1138 widgets/Ruler.cpp:1139
 msgid "Vertical Ruler"
 msgstr "Vertikalno ravnalo"
 
@@ -9136,3 +9064,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "Greška pri otvaranju datoteke: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ca.po b/locale/ca.po
index 9d2e101..e3e67ab 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -15,9 +15,7 @@ msgstr "Project-Id-Version: ca\n"
 "X-Poedit-Language: Catalan\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:142 AudacityApp.cpp:749 Menus.cpp:745
 msgid "&About Audacity..."
 msgstr "Quant a l'&Audacity..."
 
@@ -30,11 +28,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -43,8 +41,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Traducció al català: Pau Bosch i Francesc Busquets"
 
@@ -87,7 +84,7 @@ msgid "Special thanks:"
 msgstr "Agraïments especials:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -95,14 +92,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
-#: AboutDialog.cpp:468
+#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Informació de compilació"
 
-#: AboutDialog.cpp:305
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:305 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Habilitat"
 
@@ -115,33 +109,27 @@ msgid "File Format Support"
 msgstr "Informació sobre els tipus de fitxers"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:326 AboutDialog.cpp:328
 msgid "MP3 Importing"
 msgstr "Importació d'MP3"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:335 AboutDialog.cpp:338
 msgid "Ogg Vorbis Import and Export"
 msgstr "Importació i exportació a Ogg Vorbis"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:342 AboutDialog.cpp:345
 msgid "ID3 tag support"
 msgstr "Informació sobre les etiquetes ID3"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:352 AboutDialog.cpp:355
 msgid "FLAC import and export"
 msgstr "Importació i exportació a FLAC"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:360 AboutDialog.cpp:363
 msgid "MP2 export"
 msgstr "Exportació a MP2"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:368 AboutDialog.cpp:371
 msgid "Import via QuickTime"
 msgstr "Importa mitjançant el QuickTime"
 
@@ -150,15 +138,12 @@ msgstr "Importa mitjançant el QuickTime"
 msgid "Core Libraries"
 msgstr "Biblioteques del nucli"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
 #: AboutDialog.cpp:392
 msgid "Sample rate conversion"
 msgstr "Conversió de la freqüència de mostreig"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:397 AboutDialog.cpp:400
 msgid "Audio playback and recording"
 msgstr "Reproducció i enregistrament de so"
 
@@ -166,24 +151,17 @@ msgstr "Reproducció i enregistrament de so"
 msgid "Features"
 msgstr "Funcionalitats"
 
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:420
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:428
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:436
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:444
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Informació sobre els connectors"
 
-#: AboutDialog.cpp:449
-#: AboutDialog.cpp:452
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Informació sobre el mesclador de la targeta de so"
 
-#: AboutDialog.cpp:457
-#: AboutDialog.cpp:460
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Informació sobre els canvis de to i de temps"
 
@@ -191,8 +169,7 @@ msgstr "Informació sobre els canvis de to i de temps"
 msgid "Program build date: "
 msgstr "Data de compilació del programa:"
 
-#: AboutDialog.cpp:475
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Tipus de compilació:"
 
@@ -217,16 +194,12 @@ msgstr "Carpeta on es guarda la configuració:"
 msgid "GPL License"
 msgstr "Llicència GPL"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:468 Project.cpp:1761
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s es troba obert en una altra finestra."
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
+#: AudacityApp.cpp:470 Project.cpp:1763 Project.cpp:1868 Project.cpp:2012
 #: Project.cpp:2114
 msgid "Error opening project"
 msgstr "S'ha produït un error en obrir el projecte"
@@ -252,21 +225,28 @@ msgstr "Picòmetre d'entrada"
 msgid "Output Meter"
 msgstr "Picòmetre de sortida"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferències...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Nou"
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Obre..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:751 Menus.cpp:478
+msgid "&Preferences..."
+msgstr "&Preferències..."
+
+#: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Emprant blocs de %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:855 AudacityApp.cpp:925
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Ordre desconeguda: %s\n"
@@ -384,18 +364,16 @@ msgstr "Error:"
 msgid "Error Initializing Audio"
 msgstr "S'ha produït un error en inicialitzar el so"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "Hi ha un problema de latència"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "El valor de la latència ha fet que el so que s'ha enregistrat hagi quedat amagat abans del zero.\n"
-"L'Audacity ha mogut el fragment per tal que comenci al zero.\n"
-"Podeu fer servir l'eina de desplaçament en el temps (<---> o F5) per a arrossegar la pista al lloc que li correspongui."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Recuperació automàtica de fallades"
@@ -411,8 +389,7 @@ msgstr "Alguns projectes no es van desar correctament la darrera vegada que es\n
 msgid "Recoverable projects"
 msgstr "Projectes recuperables"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 msgid "Name"
 msgstr "Nom"
 
@@ -442,38 +419,25 @@ msgstr "Segur que no voleu recuperar cap projecte?\n"
 msgid "Confirm?"
 msgstr "Ho confirmeu?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "No s'ha pogut realitzar l'enumeració dels fitxers de la carpeta de desat automàtic"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2575 Menus.cpp:4514
+#: Project.cpp:1971 Project.cpp:3343 Project.cpp:3422 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1689 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:846
 msgid "Error"
 msgstr "Error"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Seleccioneu l'ordre"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Ordre"
@@ -482,8 +446,7 @@ msgstr "&Ordre"
 msgid "&Edit Parameters"
 msgstr "Paràmetres d'&edició"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Paràmetres"
 
@@ -529,8 +492,7 @@ msgstr "Aplica %s amb els paràmetres\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Mode de proves"
 
@@ -539,8 +501,7 @@ msgstr "Mode de proves"
 msgid "Apply %s"
 msgstr "Aplica %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Aplica la cadena d'ordres"
@@ -565,24 +526,15 @@ msgstr "Aplica-la al &projecte actual"
 msgid "Apply to &Files..."
 msgstr "Aplica-la als &fitxers..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&Cancel·la"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "No s'ha seleccionat cap cadena d'ordres"
 
@@ -619,8 +571,7 @@ msgstr "S'està aplicant..."
 msgid "File"
 msgstr "Fitxer"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Edita les cadenes d'ordres"
@@ -629,19 +580,12 @@ msgstr "Edita les cadenes d'ordres"
 msgid "&Chains"
 msgstr "&Cadenes d'ordres"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "&Afegeix"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4201
 msgid "&Remove"
 msgstr "&Elimina"
 
@@ -655,8 +599,8 @@ msgstr "Ca&dena d'ordres (feu doble clic o premeu ESPAI per a editar-la)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Núm."
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -745,8 +689,7 @@ msgstr "Espai de disc"
 msgid "Copy Selected Audio Into Project"
 msgstr "Copia al projecte el fragment de so seleccionat"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Cancel·la l'acció de desar"
 
@@ -758,8 +701,7 @@ msgstr "No copiïs cap so"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Copia tot el so dins del projecte (el més segur)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Pregunta-m'ho"
 
@@ -793,9 +735,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Atenció: hi ha molt poc espai de disc lliure en aquest volum.\n"
 "Seleccioneu un altre directori temporal a les preferències."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Progrés"
 
@@ -851,8 +791,7 @@ msgstr "No s'ha pogut canviar el nom de '%s' a '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "S'estan inspeccionant les dades del fitxer de projecte..."
 
@@ -903,14 +842,9 @@ msgstr "Continua sense eliminar-los; ignora els fitxers extra"
 msgid "Close project immediately with no changes"
 msgstr "Tanca el projecte ara mateix sense fer cap canvi"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:490 export/Export.cpp:507
+#: export/Export.cpp:526 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Atenció"
 
@@ -932,14 +866,11 @@ msgstr "La comprovació del projecte ha detectat que %d fitxers d'entrada que s'
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Substitueix les dades perdudes per silencis [de manera permanent si es desa el projecte]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Substitueix les dades perdudes per silencis [només durant aquesta sessió] "
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Tanca el projecte immediatament sense fer-li més canvis"
 
@@ -1007,11 +938,11 @@ msgstr "Rectangular"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1069,11 +1000,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1096,8 +1028,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Anàlisi de freqüències"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:140 TrackPanel.cpp:563
 msgid "Spectrum"
 msgstr "Espectre"
 
@@ -1125,8 +1056,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Algorisme: "
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Mida"
 
@@ -1152,10 +1082,7 @@ msgstr "Freqüència de registre"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
 msgstr "&Exporta..."
 
@@ -1163,45 +1090,54 @@ msgstr "&Exporta..."
 msgid "Export"
 msgstr "Exporta"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Tanca"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1109 effects/Equalization.cpp:1111
+#: effects/Equalization.cpp:1119 effects/Equalization.cpp:1185
+#: effects/Equalization.cpp:1394 effects/Equalization.cpp:1405
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:380
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1150
+#: effects/Equalization.cpp:1181 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Per a dibuixar l'espectre cal que totes les pistes seleccionades tinguin la mateixa freqüència de mostreig."
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "S'ha seleccionat un fragment de so massa llarg. Només s'analitzaran els primers %.1f segons."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "No s'han seleccionat prou dades"
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1223,12 +1159,8 @@ msgstr "espectre.txt"
 msgid "Export Spectral Data As:"
 msgstr "Anomena i exporta les dades d'espectre:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1079 LabelDialog.cpp:599 Menus.cpp:2207 Project.cpp:2441
+#: Project.cpp:3395 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "No s'ha pogut escriure al fitxer:"
 
@@ -1240,6 +1172,21 @@ msgstr "Freqüència (Hz)\tNivell (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Retard (segons)\tFreqüència (Hz)\tNivell"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "A la [[welcome|pàgina de benvinguda]]."
@@ -1317,7 +1264,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Per gravar:</b> Establiu el dispositiu d'enregistrament i la font d'entrada, ajusteu el nivell d'entrada i feu clic al botó vermell Enregistra.</b></p><p> 1) [[inputdevice|Establiment del dispositiu d'enregistrament]] Podeu escollir el dispositiu des de la pestanya <I>E/S d'Àudio de les Preferències</I> o a la <i>Barra d'eines de dispositius</i>. Les preferències d'E/S d'àudio us permeten escollir un tipus d'enregistrament estereofònic o monofònic.<br> 2) [[inputsource|Establiment de la font d'entrada]] per a aquest dispositiu (per exemple, micròfon o entrada de línia) a la llista desplegable de la <i>Barra d'Eines del Mesclador</i>, o (en alguns sistemes) al camp Dispositiu d'Enregistrament de la <i>Pestanya d'E/S d'Àudio de les Preferències</i> o a la <i>Barra d'Eines de Dispositius</i>.<br> 3) [[inputlevel|Ajustar el nivell d'entrada]] mitjançant el picòmetre que hi ha a la dreta a la <i>Barra d'Eines del Mesclador</i>. Un ajustament correcte del nivell és essencial abans de començar a enregistrar, per tal d'evitar sorolls o distorsions. </p><p> Trobareu més ajuda a l'apartat \"Recording\" de les <a href=\"http://audacity.sourceforge.net/help/faq\">Preguntes Més Freqüents</a>, al tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> del <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a> i a les seccions [[wiki:Recording_Tips|Recording Tips]] i [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] del Wiki. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>El dispositiu d'entrada és el dispositiu físic pel qual esteu enregistrant el so. L'heu d'escollir a la llista \"Dispositiu d'Enregistrament\" de la pestanya <i>E/S d'àudio de les Preferències</i>. Al Windows i al Linux les Preferències són a la part inferior del menú <i>Edita</i>. Als Mac, són al menú <i>Audacity</i>. També podeu seleccionar el dispositiu d'enregistrament a la <i>Barra d'eines de dispositius</i>, que es pot activar des del menú <i>Mostra &gt; Barres d'eines...</i>. </p><p> Per defecte, l'Audacity farà servir el dispositiu actualment seleccionat pel sistema (normalment el dispositiu de so integrat), de manera que no us caldrà canviar-lo. En sistemes Windows, aquest dispositiu es pot seleccionar al \"Mapejador de so Microsoft\". Si esteu enregistrant des d'un dispositiu extern de tipus USB o Firewire, com ara un tocadiscs USB, l'haureu de seleccionar pel seu nom un cop l'hàgiu connectat. </p><p> Torna a [[record|Enregistrant so]] <br></p>"
 
 #: HelpText.cpp:244
@@ -1341,7 +1289,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Per a escoltar el vostre treball en altres programes multimèdia, exporteu-lo a un format d'àudio com ara WAV o MP3 (alguns formats són [[wma-proprietary|no suportats]]). Quan [[save|deseu el projecte Audacity]] es crearà un fitxer de projecte (amb una carpeta anomenada _data) que contindrà totes les pistes que esteu editant, de manera que més endavant podreu tornar a reprendre el vostre treball. Amb tot, els altres programes no podran obrir directament els projectes Audacity. </p><p> Per a exportar-los, feu clic a <i>Fitxer &gt; Exporta</i> i escolliu el format a la llista desplegable \"Desa com a\". Per a [[burncd|enregistrar un CD]] que es pugui escoltar en un equip de música, escolliu WAV o AIFF. Per a exportar a MP3, haureu d'instal·lar-vos un [[wiki:Lame_Installation|Codificador Lame]]. </p><p> L'opció <i>Fitxer &gt; Exporta la selecció</i> exporta només l'àrea que es trobi seleccionada. <i>Feu sevir Fitxer &gt; Exporta múltiples fitxers</i> per a exportar diversos fitxers en una única operació, un per a cada pista de so, o un per a cada àrea etiquetada en una pista única. La funció <i>Pistes &gt; Afegeix una etiqueta a la selecció</i> us permet [[wiki:Splitting_recordings_into_separate_tracks|separar les pistes]] d'un àlbum per a desar-les en fitxers independents. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>L'Audacity <b>no pot</b> [[play|interpretar]] o [[export|exportar]] fitxers en <b>WMA, RealAudio, Shorten (SHN)</b> o altres formats propietaris degut a restriccions de llicències i patents. En els ordinadors Mac es poden importar fitxers en format <b>AAC</b> i <b>M4A</b>. Alguns formats oberts, com l'<b>Ogg Speex</b> o el <b>Musepack</b> tampoc estan suportats. Els fitxers protegits per qualsevol tipus de Gestió de Drets Digitals (DRM), incloent la majoria dels que es compren a les botigues en línia, com ara iTunes o Napster, <b>no es poden</b> importar.</p><p> Si no podeu importa un fixer a l'Audacity i no està protegit per DRM, feu servir l'iTunes o el <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> per convertir-lo a WAV o AIFF. Si està protegit, enregistreu-lo a CD amb el programa llicenciat per a interpretar-lo i extraieu després la pista del CD a WAV o AIFF mitjançant l'ITunes o (en Windows) el <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> o el Windows Media Player 11. També podeu <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">enregistrar</a> el so mentre el feu sonar al vostre ordinador. <i>Per a exportar a un format no suportat, exporteu primer a WAV o AIFF i convertiu-lo al format desitjat amb l'iTunes o el <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1376,15 +1325,9 @@ msgstr "Nivells a descartar"
 msgid "&Discard"
 msgstr "&Descarta"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:398
 msgid "&OK"
 msgstr "&D'acord"
 
@@ -1392,8 +1335,7 @@ msgstr "&D'acord"
 msgid "Unable to determine"
 msgstr "No s'ha pogut determinar"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:195 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "octets"
 
@@ -1409,13 +1351,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Pista"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:53 Menus.cpp:4057 Menus.cpp:4085
 msgid "Label"
 msgstr "Etiqueta"
 
@@ -1427,8 +1375,7 @@ msgstr "Temps inicial"
 msgid "End Time"
 msgstr "Temps final"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:98 Menus.cpp:627
 msgid "&Edit Labels"
 msgstr "&Edita les etiquetes"
 
@@ -1444,8 +1391,7 @@ msgstr "Insereix &després"
 msgid "Insert &Before"
 msgstr "Insereix &abans"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:127 Menus.cpp:194
 msgid "&Import..."
 msgstr "&Importa..."
 
@@ -1467,20 +1413,15 @@ msgstr "Heu deixat alguns noms d'etiquetes en blanc.  Aquests elements\n"
 msgid "Confirm"
 msgstr "Confirma"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:514 Menus.cpp:3555
 msgid "Select a text file containing labels..."
 msgstr "Seleccioneu un text que contingui les etiquetes..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:518 Menus.cpp:3559
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Fitxers de text (*.txt)|*.txt|Tots els fitxers (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
+#: LabelDialog.cpp:532 Menus.cpp:3571 Project.cpp:1831 Project.cpp:1839
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "No s'ha pogut obrir el fitxer:"
@@ -1489,13 +1430,11 @@ msgstr "No s'ha pogut obrir el fitxer:"
 msgid "No labels to export."
 msgstr "No hi ha cap etiqueta per a exportar."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:564 Menus.cpp:2172
 msgid "Export Labels As:"
 msgstr "Anomena i exporta les etiquetes:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:566 Menus.cpp:2170
 msgid "labels.txt"
 msgstr "etiquetes.txt"
 
@@ -1507,10 +1446,7 @@ msgstr "Pista d'etiquetes nova"
 msgid "Enter track name"
 msgstr "Escriviu el nom de la pista"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:555
 msgid "&Label Track"
 msgstr "Pista d'e&tiquetes"
 
@@ -1537,24 +1473,15 @@ msgstr "S'està obrint el projecte Audacity"
 msgid "&File"
 msgstr "&Fitxer"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Nou\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Obre...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Tanca\tCtrl+W"
+msgid "&Close"
+msgstr "&Tanca"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Desa el projecte\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Desa el projecte"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
 msgstr "&Anomena i desa el projecte..."
 
@@ -1575,8 +1502,8 @@ msgid "&Import"
 msgstr "&Importa"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&So...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&So..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1590,8 +1517,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "Dades c&rues..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:210 Menus.cpp:239
 msgid "Expo&rt Selection..."
 msgstr "Anomena i expo&rta la selecció..."
 
@@ -1607,12 +1533,11 @@ msgstr "Exporta &múltiples fitxers..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "En&cadenament de CleanSpeech..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "Execu&ta la cadena d'ordres..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
 msgstr "Edita les &cadenes d'ordres..."
 
@@ -1624,10 +1549,6 @@ msgstr "Exporta &configuracions del CleanSpeech..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Importa &configuracions del CleanSpeech..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "Execu&ta la cadena d'ordres..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "P&uja el fitxer..."
@@ -1641,75 +1562,72 @@ msgid "&Print..."
 msgstr "Im&primeix..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "&Surt\tCtrl+Q"
+msgid "E&xit"
+msgstr "&Surt"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Edita"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Desfés\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Desfés"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Refés"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "&Retalla\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Retalla"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Divideix i re&talla\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Divideix i re&talla"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Copia\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copia"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "&Enganxa\tCtrl+V"
+msgid "&Paste"
+msgstr "&Enganxa"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Deixa no&més la selecció\tCtrl+T"
+msgid "Tri&m"
+msgstr "Deixa no&més la selecció"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Elimina\tCtrl+K"
+msgid "&Delete"
+msgstr "&Elimina"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Divideix i &elimina\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Divideix i &elimina"
 
 #: Menus.cpp:381
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "Divi&deix\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Divi&deix"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Divideix en un de no&u\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Divideix en un de no&u"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "A&junta\tCtrl+J"
+msgid "&Join"
+msgstr "A&junta"
 
 #: Menus.cpp:394
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Duplic&a\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Duplic&a"
 
 #: Menus.cpp:401 Menus.cpp:641
 msgid "Stereo Trac&k to Mono"
@@ -1721,80 +1639,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Retalla\tAlt+X"
+msgid "&Cut"
+msgstr "&Retalla"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Divideix i re&talla\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "Divideix i re&talla"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Co&pia\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "E&limina\tAlt+K"
+msgid "Co&py"
+msgstr "Co&pia"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Di&videix i elimina\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Di&videix i elimina"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Sile&nci\tAlt+L"
+msgid "Sile&nce"
+msgstr "Sile&nci"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Di&videix\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "A&junta\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Di&videix"
 
 #: Menus.cpp:457
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "&Tot\tCtrl+A"
+msgid "&All"
+msgstr "&Tot"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Cap...\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Cap..."
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "A l'&esquerra de la posició d'interpretació\t["
+msgid "&Left at Playback Position"
+msgstr "A l'&esquerra de la posició d'interpretació"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "A la &dreta de la posició d'interpretació\t]"
+msgid "&Right at Playback Position"
+msgstr "A la &dreta de la posició d'interpretació"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "De l'&inici de pista fins al cursor\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "De l'&inici de pista fins al cursor"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Del cursor fins al final de la pista\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "Del cursor fins al final de la pista"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Cerca encreuaments amb el &zero\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Cerca encreuaments amb el &zero"
 
 #: Menus.cpp:478
 msgid "Mo&ve Cursor"
@@ -1809,12 +1712,12 @@ msgid "to Selection En&d"
 msgstr "al &final de la selecció"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "a l'inici de la &pista\tJ"
+msgid "to Track &Start"
+msgstr "a l'inici de la &pista"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "al &final de la pista\tK"
+msgid "to Track &End"
+msgstr "al &final de la pista"
 
 #: Menus.cpp:450
 msgid "Re&gion Save"
@@ -1836,29 +1739,8 @@ msgstr "&Bloca"
 msgid "&Unlock"
 msgstr "&Desbloca"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Habilita l'arrodoniment de mesures"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Inhabilita l'arrodoniment de mesures"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Habilita l'aproximació a la quadrícula"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Inhabilita l'aproximació a la quadrícula"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:521
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:525
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1866,36 +1748,36 @@ msgid "&View"
 msgstr "&Mostra"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "A&propa\tCtrl+1"
+msgid "Zoom &In"
+msgstr "A&propa"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normal\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normal"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "A&llunya\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "A&llunya"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Encabeix a la finestra\tCrtl+F"
+msgid "&Fit in Window"
+msgstr "&Encabeix a la finestra"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Encabeix &Verticalment\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Encabeix &Verticalment"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Fes &zoom a la selecció\tCrtl+E"
+msgid "&Zoom to Selection"
+msgstr "Fes &zoom a la selecció"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "Ai&xafa totes les pistes\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "Ai&xafa totes les pistes"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "E&xpandeix totes les pistes\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "E&xpandeix totes les pistes"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1955,40 +1837,40 @@ msgstr "!Vista simplificada"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Interpreta"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:595
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Vés a l'inici\tHome"
+msgid "Skip to Start"
+msgstr "Vés a l'inici"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Vés a la pista següent i canvia la selecció\tEnd"
+msgid "Skip to End"
+msgstr "Vés a la pista següent i canvia la selecció"
 
 #: Menus.cpp:602
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:606
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:609
@@ -2016,15 +1898,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Pista de &so\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "Pista de &so"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
 msgstr "Pista e&stereofònica"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:556 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Pista de &temps"
 
@@ -2033,8 +1914,8 @@ msgid "Mi&x and Render"
 msgstr "&Mescla i renderitza"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mescla-ho i renderitza-ho en una nova pista\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Mescla-ho i renderitza-ho en una nova pista"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -2045,12 +1926,12 @@ msgid "Remo&ve Tracks"
 msgstr "&Elimina pistes"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "Si&lencia totes les pistes\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "Si&lencia totes les pistes"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Activa el so a totes les pistes\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "&Activa el so a totes les pistes"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -2096,17 +1977,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:708
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Afegeix una e&tiqueta a la selecció\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Afegeix una etiqueta al &punt d'interpretació\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Afegeix una etiqueta al &punt d'interpretació"
 
 #: Menus.cpp:718
 msgid "S&ort tracks"
@@ -2132,20 +2013,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&cte"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repeteix el darrer efecte\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "&Analitza"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "Traça l'espectre..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:737 Menus.cpp:740
 msgid "&Help"
 msgstr "&Ajuda"
 
@@ -2157,9 +2037,9 @@ msgstr "&Quant a l'Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "Mo&stra el missatge de benvinguda..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "&Índex..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:961
 msgid "Show &Log..."
@@ -2177,181 +2057,149 @@ msgstr "&Executa el test d'eficiència..."
 msgid "&Audio Device Info..."
 msgstr "Informació del dispositiu de &so..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Eina de selecció\tF1"
+msgid "Selection Tool"
+msgstr "Eina de selecció"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Eina d'envolupant\tF2"
+msgid "Envelope Tool"
+msgstr "Eina d'envolupant"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Eina de dibuix\tF3"
+msgid "Draw Tool"
+msgstr "Eina de dibuix"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Eina de zoom\tF4"
+msgid "Zoom Tool"
+msgstr "Eina de zoom"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Eina de desplaçament en el temps\tF5"
+msgid "Time Shift Tool"
+msgstr "Eina de desplaçament en el temps"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Multi-eina\tF6"
+msgid "Multi Tool"
+msgstr "Multi-eina"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Eina següent\tD"
+msgid "Next Tool"
+msgstr "Eina següent"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Eina anterior\tA"
+msgid "Previous Tool"
+msgstr "Eina anterior"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Atura't\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Pausa\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Enregistra\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "Enregistra afegint\tShift+R"
-
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Engega/Atura i Estableix la posició del cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Engega/Atura i Estableix la posició del cursor"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Reprodueix un segon\t1"
+msgid "Play One Second"
+msgstr "Reprodueix un segon"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Reprodueix fins la selecció\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Reprodueix en bucle\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Reprodueix fins la selecció"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Interpreta l'exemple d'audició del fragment retallat\tC"
+msgid "Play Cut Preview"
+msgstr "Interpreta l'exemple d'audició del fragment retallat"
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Selecciona fins a l'inici\tShift+Home"
+msgid "Selection to Start"
+msgstr "Selecciona fins a l'inici"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Selecciona fins al final\tShift+End"
+msgid "Selection to End"
+msgstr "Selecciona fins al final"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Tecla d'eliminació\tBackspace"
+msgid "DeleteKey"
+msgstr "Tecla d'eliminació"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Tecla d'eliminació 2\tDelete"
+msgid "DeleteKey2"
+msgstr "Tecla d'eliminació 2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Retrocedeix una mica durant la interpretació\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Avança una mica durant la interpretació\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Retrocedeix un tros llarg durant la interpretació\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Avança un tros llarg durant la interpretació\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Vés a la pista anterior\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Vés a la pista anterior"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Vés a la pista anterior i canvia la selecció\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Vés a la pista següent\tADown"
+msgid "Move Focus to Next Track"
+msgstr "Vés a la pista següent"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Vés a la pista següent i canvia la selecció\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Commuta la pista actual\tReturn"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Commuta la pista actual\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Commuta la pista actual"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Cursor a l'esquerra\tLeft"
+msgid "Cursor Left"
+msgstr "Cursor a l'esquerra"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Cursor a la dreta\tRight"
+msgid "Cursor Right"
+msgstr "Cursor a la dreta"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Salt curt del cursor a l'esquerra\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Salt curt del cursor a l'esquerra"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Salt curt del cursor a la dreta\t."
+msgid "Cursor Short Jump Right"
+msgstr "Salt curt del cursor a la dreta"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Salt llarg del cursor a l'esquerra\tShift.+,"
+msgid "Cursor Long Jump Left"
+msgstr "Salt llarg del cursor a l'esquerra"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Salt llarg del cursor a la dreta\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Salt llarg del cursor a la dreta"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Expandeix la selecció a l'esquerra\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Expandeix la selecció a l'esquerra"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Expandeix la selecció a la dreta\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Expandeix la selecció a la dreta"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2362,52 +2210,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Estableix (o estén) el límit dret de la selecció"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contreu la selecció a l'esquerra\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Contreu la selecció a l'esquerra"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contreu la selecció a la dreta\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Contreu la selecció a la dreta"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Canvia la posició panoràmica de la pista actual\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Canvia la posició panoràmica de la pista actual"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Mou a l'esquerra la posició panoràmica de la pista actual\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Mou a l'esquerra la posició panoràmica de la pista actual"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Mou a la dreta la posició panoràmica de la pista actual\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Mou a la dreta la posició panoràmica de la pista actual"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Canvia el guany a la pista actual\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Canvia el guany a la pista actual"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Incrementa el guany a la pista actual\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Incrementa el guany a la pista actual"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Redueix el guany a la pista actual\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Redueix el guany a la pista actual"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Obre el menú de la pista actual\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Obre el menú de la pista actual"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Emmudeix o deixa d'emmudir la pista actual\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Emmudeix o deixa d'emmudir la pista actual"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Activa o desactiva el Solo a la pista actual\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Activa o desactiva el Solo a la pista actual"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Tanca la pista actual\tShift+C"
+msgid "Close focused track"
+msgstr "Tanca la pista actual"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2418,7 +2266,35 @@ msgid "Snap To Off"
 msgstr "Inhabilita l'arrodoniment de mesures"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2479,8 +2355,8 @@ msgstr "Abans heu de seleccionar una pista."
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repeteix %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repeteix %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2511,9 +2387,7 @@ msgstr "No hi ha res a desfer"
 msgid "Nothing to redo"
 msgstr "No hi ha res a repetir"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2366 TrackPanel.cpp:605 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Retalla"
 
@@ -2529,10 +2403,7 @@ msgstr "Divideix i retalla"
 msgid "Split-cut to the clipboard"
 msgstr "Divideix i retalla al porta-retalls"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
+#: Menus.cpp:2469 Menus.cpp:2540 Menus.cpp:2634 TrackPanel.cpp:607
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Enganxa"
@@ -2541,8 +2412,7 @@ msgstr "Enganxa"
 msgid "Pasted text from the clipboard"
 msgstr "Text enganxat des del porta-retalls"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:2540 Menus.cpp:2634
 msgid "Pasted from the clipboard"
 msgstr "Enganxat des del porta-retalls"
 
@@ -2554,8 +2424,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "No es pot copiar so estereofònic en una pista monofònica."
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2670 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Deixa només la selecció"
 
@@ -2595,8 +2464,7 @@ msgstr "Ajunta"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "S'han silenciat les pistes seleccionades durant %.2f segons a partir de la posició %.2f"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2771 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Silencia"
 
@@ -2680,8 +2548,7 @@ msgstr "Separa etiquetes"
 msgid "Disjoined labeled regions"
 msgstr "S'han separat les regions etiquetades"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:2947 TrackPanel.cpp:6121
 msgid "Split"
 msgstr "Divideix"
 
@@ -2697,15 +2564,6 @@ msgstr "Divideix en una nova pista"
 msgid "Split at labels"
 msgstr "Divideix a les etiquetes"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Per a dibuixar l'espectre cal que totes les pistes seleccionades tinguin la mateixa freqüència de mostreig."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "S'ha seleccionat un fragment de so massa llarg. Només s'analitzaran els primers %.1f segons."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2744,8 +2602,7 @@ msgstr "Tots els fitxers (*)|*"
 msgid "Edit the metadata tags"
 msgstr "Edita les etiquetes de metadades"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:3669 export/Export.cpp:298
 msgid "Edit Metadata"
 msgstr "Edita les metadades"
 
@@ -2772,8 +2629,7 @@ msgstr "S'han mesclat i renderitzat %d pistes en una nova pista estereofònica"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "S'han mesclat i renderitzat %d pistes en una nova pista monofònica"
 
-#: Menus.cpp:3736
-#: Mix.cpp:120
+#: Menus.cpp:3736 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Mescla i renderitza"
 
@@ -2825,10 +2681,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "S'ha creat una nova pista de so"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:3950 Menus.cpp:3973 Menus.cpp:3988 Menus.cpp:4008
 msgid "New Track"
 msgstr "Pista nova"
 
@@ -2864,8 +2717,7 @@ msgstr "Enregistra aquesta configuració del CleanSpeech com a:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Configuracions del CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4123 export/Export.cpp:515
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "No es permet l'ús de noms de camí de més de 256 caràcters"
 
@@ -2873,8 +2725,7 @@ msgstr "No es permet l'ús de noms de camí de més de 256 caràcters"
 msgid "Problem encountered exporting presets."
 msgstr "Hi ha hagut un problema en exportar les configuracions."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4170 export/Export.cpp:408
 msgid "Unable to export"
 msgstr "No s'ha pogut exportar"
 
@@ -2886,9 +2737,7 @@ msgstr "Elimina la pista"
 msgid "Removed audio track(s)"
 msgstr "Una o més pistes de so han estat eliminades"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:4508 Menus.cpp:4527 export/ExportMP3.cpp:1926
 msgid "Resample"
 msgstr "Canvia la freqüència de mostreig"
 
@@ -2913,8 +2762,7 @@ msgstr "Canvia la freqüència de mostreig de la pista"
 msgid "Resampled audio track(s)"
 msgstr "S'ha canviat freqüència de mostreig de la pista/es"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Mescla"
 
@@ -2934,6 +2782,10 @@ msgstr "Hi ha hagut un problema en imprimir."
 msgid "Print"
 msgstr "Imprimeix"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "Mescla principal"
@@ -2947,14 +2799,11 @@ msgstr "Benvingut/uda a l'Audacity versió %s"
 msgid "(Recovered)"
 msgstr "(Recuperat)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "Enregistra"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1482 TrackPanel.cpp:804
 msgid "Recorded Audio"
 msgstr "So enregistrat"
 
@@ -2981,9 +2830,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Voleu desar els canvis?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Tots els fitxers|*.*|Tots els fitxers suportats|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2993,8 +2842,7 @@ msgstr "Seleccioneu un o més fitxers de so..."
 msgid "Audacity projects|*.aup|"
 msgstr "Projectes de l'Audacity|*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:1799 Project.cpp:2186
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3015,13 +2863,22 @@ msgstr "Aquest fitxer va ser desat amb l'Audacity %s, una versió\n"
 msgid "1.0 or earlier"
 msgstr "1.0 o anterior"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:1806 Project.cpp:2198
 msgid "Opening old project file"
 msgstr "S'està obrint un fitxer de projecte antic"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "S'ha produït un error en obrir el fitxer"
 
@@ -3056,8 +2913,7 @@ msgstr "Recupera"
 msgid "Project checker repaired file"
 msgstr "Fitxer reparat durant el procés de comprovació de projectes"
 
-#: Project.cpp:2001
-#: effects/Repair.h:29
+#: Project.cpp:2001 effects/Repair.h:29
 msgid "Repair"
 msgstr "Repara"
 
@@ -3079,16 +2935,15 @@ msgstr "Aquest fitxer es va desar amb l'Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "No es pot obrir el fitxer de projecte"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
-"Open this file now?"
-msgstr "Aquest fitxer va ser desat amb l'Audacity %s.\n"
-"Podeu obrir-lo amb aquesta versió de l'Audacity, però quan el deseu ja no el podreu tornar a obrir amb versions anteriors del programa.\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"Voleu obrir ara aquest fitxer?"
+"Open this file now?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -3105,17 +2960,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2647
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "S'ha produït un error en desar el projecte"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3126,16 +2986,12 @@ msgstr "S'ha desat %s"
 msgid "Imported '%s'"
 msgstr "S'ha importat '%s'"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3649 Project.cpp:2587 Project.cpp:2612 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Importa"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:2639 Project.cpp:2647
 msgid "Error importing"
 msgstr "S'ha produït un error en importar"
 
@@ -3178,8 +3034,7 @@ msgstr "S'ha creat un projecte nou"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "S'han eliminat %.2f segons a t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
+#: Project.cpp:2859 effects/Equalization.cpp:1262
 #: effects/Equalization.cpp:2593
 msgid "Delete"
 msgstr "Elimina"
@@ -3260,8 +3115,7 @@ msgstr "Libsamplerate, per Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Error del Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Delmatge inhabilitat"
 
@@ -3280,6 +3134,163 @@ msgstr "24 bits PCM"
 msgid "32-bit float"
 msgstr "32 bits coma flotant"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Navega..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "fals"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Eines"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Control"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Mesclador"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Picòmetre"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Dispositiu"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transcripció"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "Quadre de pistes"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "Pistes"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "S'ha desat"
@@ -3288,14 +3299,15 @@ msgstr "S'ha desat"
 msgid "Error trying to save file: "
 msgstr "S'ha produït un error mentre es desava el fitxer: "
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "S'ha detectat un forat al fitxer de projecte\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "Pre&visualització"
@@ -3336,8 +3348,7 @@ msgstr "Títol de l'àlbum"
 msgid "Track Number"
 msgstr "Número de pista"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "Any"
 
@@ -3345,9 +3356,7 @@ msgstr "Any"
 msgid "Genre"
 msgstr "Gènere"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Comentaris"
 
@@ -3363,9 +3372,7 @@ msgstr "Nom de l'etiqueta"
 msgid "Tag Value"
 msgstr "Valor de l'etiqueta"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Neteja"
 
@@ -3381,71 +3388,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "Plantilla"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Obre..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Desa..."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "&Estableix com a opció per defecte"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "Edita els gèneres"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "Restableix els gèneres"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr "No s'ha pogut desar el fitxer de gèneres."
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Segur que voleu restablir la llista de gèneres als valors per defecte?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr "No s'ha pogut obrir el fitxer de gèneres."
 
@@ -3453,21 +3431,19 @@ msgstr "No s'ha pogut obrir el fitxer de gèneres."
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "S'ha produït un error en llegir les metadades"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "Enregistra les metadades com a:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3500,8 +3476,7 @@ msgstr "L'Audacity no ha pogut trobar el fitxer:\n"
 "  %s.\n"
 "El tema no s'ha carregat."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3525,8 +3500,7 @@ msgstr "No s'ha trobat cap dels fitxers que composen\n"
 "el tema a:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3549,12 +3523,8 @@ msgstr "Tots els fitxers necessaris a:\n"
 "  %s\n"
 "són presents."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:307 TimeDialog.cpp:53
+#: effects/Noise.cpp:235 effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
 msgid "Duration"
 msgstr "Durada"
 
@@ -3562,6 +3532,14 @@ msgstr "Durada"
 msgid "Audacity Timer Record"
 msgstr "Enregistrament programat de l'Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Inici de l'enregistrament"
@@ -3601,40 +3579,23 @@ msgstr "S'està esperant per a començar l'enregistrament el %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Quadre de pistes"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Altres..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:556 TrackPanel.cpp:580 TrackPanel.cpp:589 TrackPanel.cpp:597
 msgid "Name..."
 msgstr "Nom..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:558 TrackPanel.cpp:582 TrackPanel.cpp:593 TrackPanel.cpp:599
 msgid "Move Track Up"
 msgstr "Mou la pista amunt"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:559 TrackPanel.cpp:583 TrackPanel.cpp:594 TrackPanel.cpp:600
 msgid "Move Track Down"
 msgstr "Mou la pista avall"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:561 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "So en forma d'ona"
 
@@ -3650,18 +3611,15 @@ msgstr "Espectre logarítmic"
 msgid "Pitch (EAC)"
 msgstr "To (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:569 TrackPanel.cpp:6091
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:570 TrackPanel.cpp:6090
 msgid "Left Channel"
 msgstr "Canal esquerre"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:571 TrackPanel.cpp:6090
 msgid "Right Channel"
 msgstr "Canal dret"
 
@@ -3673,12 +3631,15 @@ msgstr "Crea una pista estereofònica"
 msgid "Split Stereo Track"
 msgstr "Divideix la pista estereofònica"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "Especifica el format de les mostres"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:577 TrackPanel.cpp:6320
 msgid "Set Rate"
 msgstr "Especifica la freqüència"
 
@@ -3698,8 +3659,7 @@ msgstr "Tipus de lletra..."
 msgid "Set Range..."
 msgstr "Especifica el rang..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:606 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Copia"
 
@@ -3745,21 +3705,13 @@ msgstr "Feu clic i arrossegueu per a moure el límit esquerre de la selecció."
 msgid "Click and drag to move right selection boundary."
 msgstr "Feu clic i arrossegueu per a moure el límit dret de la selecció."
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1702 TrackPanel.cpp:3993 TrackPanel.cpp:4025
+#: TrackPanel.cpp:4280 TrackPanel.cpp:6432 TrackPanel.cpp:6452
 msgid "Modified Label"
 msgstr "S'ha modificat l'etiqueta"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1703 TrackPanel.cpp:3994 TrackPanel.cpp:4026
+#: TrackPanel.cpp:4281 TrackPanel.cpp:6433 TrackPanel.cpp:6453
 msgid "Label Edit"
 msgstr "Edita l'etiqueta"
 
@@ -3767,8 +3719,7 @@ msgstr "Edita l'etiqueta"
 msgid "Adjusted envelope."
 msgstr "S'ha ajustat l'envolupant."
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1931 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Envolupant"
 
@@ -3790,9 +3741,7 @@ msgstr "dreta"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "S'han desplaçat les pistes o clips en direcció %s un total de %.02f segons"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2092 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Desplaçament en el temps"
@@ -3831,39 +3780,29 @@ msgid "Moved pan slider"
 msgstr "S'ha mogut el regulador de posició estereofònica"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5726 TrackPanel.cpp:7149
 msgid "Gain"
 msgstr "Guany"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5664 TrackPanel.cpp:7156
 msgid "Pan"
 msgstr "Balanç"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3610 TrackPanel.cpp:6385 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "amunt"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3614 TrackPanel.cpp:6386 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "avall"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3621 TrackPanel.cpp:6381
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "S'ha mogut '%s' cap %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3624 TrackPanel.cpp:6387
 msgid "Move Track"
 msgstr "Mou la pista"
 
@@ -3895,14 +3834,6 @@ msgstr "S'ha ajustat la posició panoràmica"
 msgid "Adjusted gain"
 msgstr "S'ha ajustat el guany"
 
-#: TrackPanel.cpp:5796
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5797
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "No es pot eliminar una pista quan és activa"
@@ -3923,8 +3854,7 @@ msgstr "Esquerra,"
 msgid "Right, "
 msgstr "Dreta,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6100 TrackPanel.cpp:6225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "S'ha canviat '%s' a %s"
@@ -3938,6 +3868,11 @@ msgstr "Canal"
 msgid "Split stereo track '%s'"
 msgstr "Divideix la pista estereofònica '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3964,8 +3899,7 @@ msgstr "Canvia el format"
 msgid "Change lower speed limit (%) to:"
 msgstr "Canvia el límit inferior de velocitat (%) a:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6350 TrackPanel.cpp:6351
 msgid "Lower speed limit"
 msgstr "Límit inferior de velocitat"
 
@@ -3973,8 +3907,7 @@ msgstr "Límit inferior de velocitat"
 msgid "Change upper speed limit (%) to:"
 msgstr "Canvia el límit superior de velocitat (%) a:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6357 TrackPanel.cpp:6358
 msgid "Upper speed limit"
 msgstr "Límit superior de velocitat"
 
@@ -4016,6 +3949,10 @@ msgstr "Nom de portada"
 msgid "Face size"
 msgstr "Mida de portada"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "Silenci"
@@ -4049,10 +3986,7 @@ msgstr " Solo"
 msgid " Select On"
 msgstr " Selecció activada"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "La selecció és massa petita per a fer servir la clau de veu."
 
@@ -4079,8 +4013,7 @@ msgstr "Canvis de direcció   -- significa: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Pista de so"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr "No hi ha prou espai per a enganxar la selecció"
 
@@ -4098,10 +4031,10 @@ msgstr "Connectors 1 a %i"
 msgid "Plugins %i to %i"
 msgstr "Connectors %i a %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Ha estat rebutjat per alguna raó. Proveu-ho seleccionant abans un fragment de so."
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4168,9 +4101,7 @@ msgstr "Nou pic d'amplitud (dB):"
 msgid "Allow clipping"
 msgstr "Permet l'escapçament de pics"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
 msgid "-Infinity"
 msgstr "-Infinit"
 
@@ -4186,9 +4117,7 @@ msgstr "S'està amplificant"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Heu seleccionat una pista que no conté so. L'AutoDuck només pot processar pistes de so."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Auto Duck"
@@ -4210,17 +4139,11 @@ msgid "Maximum pause:"
 msgstr "Pausa màxima:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "segons"
 
@@ -4240,8 +4163,7 @@ msgstr "Longitud del fàding final interior:"
 msgid "Inner fade up length:"
 msgstr "Longitud del fàding inicial interior:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Llindar:"
 
@@ -4261,12 +4183,9 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "S'està processant l'Auto Duck..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1042
+#: widgets/ErrorDialog.cpp:79 widgets/ErrorDialog.cpp:105
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "D'acord"
@@ -4331,14 +4250,12 @@ msgstr "Canvia el to sense canviar el temps"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "per Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "S'està emprant el SoundTouch, d'Olli Parviainen"
 
@@ -4387,10 +4304,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "fins a"
@@ -4399,8 +4314,7 @@ msgstr "fins a"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Canvi percentual:"
@@ -4418,8 +4332,7 @@ msgstr "Canvia el to..."
 msgid "Changing Pitch"
 msgstr "S'està canviant el to"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "S'ha aplicat l'efecte: %s %.1f%%"
@@ -4571,12 +4484,11 @@ msgstr "Temps de caiguda:"
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalitza a 0 dB després de la compressió"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Llindar: %d dB"
@@ -4607,7 +4519,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Temps d'atac: %.1f segons"
@@ -4618,7 +4529,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Temps de caiguda: %.1f segons"
@@ -4631,6 +4541,10 @@ msgstr "Compressor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "S'està aplicant la compressió de rang dinàmic..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4650,19 +4564,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:190
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
-#: effects/Contrast.cpp:415
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4671,15 +4572,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Inici"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "Final"
 
@@ -4699,6 +4597,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4723,8 +4626,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr "Restableix"
 
@@ -4744,16 +4646,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Control"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
@@ -4864,18 +4758,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "Generador de tons DTMF"
@@ -4888,9 +4770,7 @@ msgstr "per Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "Seqüència DTMF:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:446 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "Amplitud (0-1)"
@@ -4911,9 +4791,7 @@ msgstr "Cicle de treball:"
 msgid "Tone duration:"
 msgstr "Durada dels tons:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
+#: effects/DtmfGen.cpp:482 effects/DtmfGen.cpp:484 effects/DtmfGen.cpp:560
 #: effects/DtmfGen.cpp:561
 msgid "ms"
 msgstr "ms"
@@ -4995,8 +4873,7 @@ msgstr "Cosinus"
 msgid "Cubic"
 msgstr "Cúbica"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:362 effects/Equalization.cpp:412
 msgid "Equalization"
 msgstr "Equalització"
 
@@ -5008,6 +4885,10 @@ msgstr "S'ha produït un error en llegir la corba d'equalització"
 msgid "custom"
 msgstr "personalitzat"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -5046,8 +4927,7 @@ msgstr "Longitud del filtre:"
 msgid "Select curve:"
 msgstr "Tipus de corba:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
+#: effects/Equalization.cpp:1259 effects/Equalization.cpp:2498
 #: export/ExportMultiple.cpp:826
 msgid "Save As..."
 msgstr "Anomena i desa..."
@@ -5164,8 +5044,7 @@ msgstr "El més fort"
 msgid "by Lynn Allan"
 msgstr "per Lynn Allan"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "Grau d'anivellament"
 
@@ -5214,10 +5093,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mesclador"
-
 #: effects/LoadEffects.cpp:117
 msgid "Simulator"
 msgstr ""
@@ -5457,15 +5332,9 @@ msgstr "S'està traient el soroll"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "S'ha aplicat l'efecte: %s desplaçament dc eliminat = %s, amplitud normalitzada = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "fals"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "cert"
 
@@ -5524,8 +5393,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Freqüència LFO (Hz):"
 
@@ -5533,8 +5401,7 @@ msgstr "Freqüència LFO (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "Fase d'inici LFO (graus):"
 
@@ -5595,8 +5462,7 @@ msgstr "Repetit %d vegades"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Les pistes són massa llargues per a repetir la selecció."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Repeteix"
 
@@ -5609,8 +5475,7 @@ msgstr "Nombre de repeticions:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Longitud de selecció nova:"
 
@@ -5683,9 +5548,7 @@ msgstr "Netejador de pics..."
 msgid "Applying Spike Cleaner..."
 msgstr "S'està aplicant el netejador de pics..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
-#: effects/StereoToMono.h:23
+#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "E&stèreo a mono"
 
@@ -5742,8 +5605,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "S'ha aplicat l'efecte: Genera %s ona o ones %s, de freqüència = %.2f Hz, amplitud = %.2f, %.6lf segons"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:75 widgets/Meter.cpp:379
 msgid "Linear"
 msgstr "Lineal"
 
@@ -5775,8 +5637,7 @@ msgstr "Dent de serra"
 msgid "Square, no alias"
 msgstr "Quadrada, sense àlies"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "Freqüència (Hz)"
 
@@ -5824,28 +5685,43 @@ msgstr "S'està generant un to"
 msgid "All tracks must have the same sample rate"
 msgstr "Totes les pistes han de tenir la mateixa freqüència de mostreig"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Trunca un silenci"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Durada màxima del silenci:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "mil·lisegons"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Durada màxima del silenci:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Llindar de silenci:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   La durada ha de ser d'almenys 1 mil·lisegon"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5855,17 +5731,55 @@ msgstr "Trunca un silenci..."
 msgid "Truncating Silence..."
 msgstr "S'està truncant el silenci..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Els efectes VST no es poden aplicar a les pistes estereofòniques quan els dos canals no coincideixen."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Paràmetres de l'efecte"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Cap"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "No es pot processar la substitució"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Paràmetres del complement VST:"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5914,22 +5828,10 @@ msgstr "S'està aplicant l'efecte: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Els efectes complementaris no es poden aplicar a pistes estereofòniques quan els dos canals no coincideixen."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Cap"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Autor:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Paràmetres de l'efecte"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Longitud (segons)"
@@ -5950,8 +5852,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "S'està aplicant l'efecte Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Línia d'ordres del Nyquist..."
 
@@ -5971,8 +5872,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Sortida del Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:598 effects/nyquist/Nyquist.cpp:609
 msgid "Nyquist returned the value:"
 msgstr "Valor retornat pel Nyquist:"
 
@@ -6080,8 +5980,7 @@ msgstr " - Dret"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:976 export/Export.cpp:1021
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Canals de sortida: %2d"
@@ -6111,8 +6010,7 @@ msgstr "Les dades seran canalitzades cap al canal d'entrada estàndard. \"%f\" s
 msgid "(external program)"
 msgstr "(programa extern)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:250 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "No es port exportar el so a %s"
@@ -6129,9 +6027,21 @@ msgstr "S'està exportant tot el projecte utilitzant el codificador de línia d'
 msgid "Command Output"
 msgstr "Sortida de l'ordre"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6199,6 +6109,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Qualitat:"
+
 #: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6332,12 +6246,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Qualitat:"
-
-#: export/ExportFFmpegDialogs.cpp:928
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6356,10 +6266,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:936
@@ -6548,12 +6458,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6664,6 +6574,17 @@ msgstr "Resolució:"
 msgid "FLAC Files"
 msgstr "Fitxers FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "S'està exportant el so seleccionat com a FLAC"
@@ -6688,9 +6609,7 @@ msgstr "Fitxers MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "No es pot exportar a MP2 amb aquests valors de freqüència de mostreig i cabal de bits"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:240 export/ExportMP3.cpp:1768 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "No s'ha pogut obrir el fitxer de destinació per a escriure-hi"
 
@@ -6704,9 +6623,7 @@ msgstr "S'està exportant el so seleccionat a %d kbps"
 msgid "Exporting entire file at %d kbps"
 msgstr "S'està exportant tot el fitxer a %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "kbps"
 
@@ -6722,9 +6639,7 @@ msgstr "(Fitxers més petits)"
 msgid "Fast"
 msgstr "Ràpid"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "Estàndard"
@@ -6769,8 +6684,7 @@ msgstr "Mitjana"
 msgid "Constant"
 msgstr "Constant"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Qualitat"
@@ -6891,10 +6805,8 @@ msgstr "La combinació de freqüència de mostreig (%d) i cabal de bits (%d kbps
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:95 export/ExportMultiple.cpp:374
+#: export/ExportMultiple.cpp:598 export/ExportMultiple.cpp:765
 msgid "Export Multiple"
 msgstr "Exporta múltiples fitxers"
 
@@ -6924,11 +6836,6 @@ msgstr "Opcions..."
 msgid "Export location:"
 msgstr "Ubicació de l'exportació:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Navega..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "Crea"
@@ -6953,10 +6860,6 @@ msgstr "Nom del primer fitxer:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Pistes"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "Anomena els fitxers:"
@@ -6990,6 +6893,35 @@ msgstr "S'ha creat \"%s\" amb èxit."
 msgid "Choose a location to save the exported files"
 msgstr "Escull una ubicació per a desar-hi els fitxers exportats"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6999,23 +6931,10 @@ msgstr "\"%s\" no existeix.\n"
 "\n"
 "Voleu crear-lo?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
 msgid "Edit metadata"
 msgstr "Edita les metadades"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "S'ha realitzat correctament l'exportació de %d fitxer(s)."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Alguna cosa ha anat malament després d'exportar %d fitxer(s)."
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7184,7 +7103,6 @@ msgstr "\"%s\" és un fitxer de tipus Advanced Audio Coding. \n"
 "Hauríeu de convertir-lo a algun format de so que estigui suportat, com ara WAV o AIFF."
 
 #: import/Import.cpp:273
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7288,6 +7206,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Fitxers FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Llistat de fitxers en un format bàsic de text"
@@ -7298,9 +7220,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Indicació incorrecta de posició de finestra en el fitxer LOF"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "Error de LOF"
@@ -7356,8 +7276,7 @@ msgstr "Encapçalament invàlid de Vorbis bistream"
 msgid "Internal logic fault"
 msgstr "Avaria de lògica interna."
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF i altres tipus de fitxers no comprimits"
 
@@ -7450,36 +7369,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "E/S de so"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Processos en cadena"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Comportaments"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Estèreo)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "&No apliquis els efectes quan estiguis en mode de procés per lots"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Reproducció"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Mode Cl&eanSpeech (Entorn personalitzat)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Dispositiu"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Interfície"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Emprant:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Reproducció"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7489,100 +7413,15 @@ msgstr "Enregistrament"
 msgid "Channels"
 msgstr "Canals"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Interpreta a través"
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Reproducció a través del &Maquinari: Interpreta una pista nova mentre s'està enregistrant."
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Reproducció a través del &programari: Interpreta una nova pista mentre s'enregistra"
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:161
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Previsualització d'efectes"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Longitud de la vista preliminar:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Previsualitza el tall"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Vista preliminar abans de la regió retallada:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Vista preliminar després de la regió retallada:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latència"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Àudio a la memòria intermèdia:\n"
-"(valor més alt = més latència)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Correcció de latència:\n"
-"(valor negatiu = enrere)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Desplaçament en el temps mentre s'interpreta"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Període curt:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Període llarg:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Processos en cadena"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Comportaments"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "&No apliquis els efectes quan estiguis en mode de procés per lots"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Mode Cl&eanSpeech (Entorn personalitzat)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Estèreo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Directoris"
@@ -7599,34 +7438,31 @@ msgstr "Posició:"
 msgid "Free Space:"
 msgstr "Espai lliure:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Desa automàticament"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Desa automàticament una còpia del projecte en una altra carpeta"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Desa automàticament cada:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minuts"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Memòria intermèdia de so"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Trieu la ubicació del directori temporal"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7645,230 +7481,145 @@ msgstr "No es pot escriure al directori %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Els canvis en el directori temporal tindran efecte en reiniciar l'Audacity"
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Importa / Exporta"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Biblioteca d'exportació a MP3"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "Versió de la biblioteca MP3:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "Al navegador"
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "Biblioteca MP3:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "D'Internet"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "Biblioteca MP3 LAME:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Descarrega"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Nota: Les opcions referents a la qualitat de l'exportació es poden escollir fent clic al botó Opcions del diàleg Exporta.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "Quan importis fitxers de so"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&Fes una còpia del fitxer sense comprimir abans d'editar-lo (més segur)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&Llegeix directament el so sense comprimir del fitxer original (més ràpid)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Normalitza totes les pistes del projecte"
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "En desar un projecte que depèn d'altres fitxers de so"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "&Copia sempre tot el so dins del projecte (el més segur)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&No copiïs cap so"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (rang estret de valors, per a editar sons amb molta amplitud)"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "Pregunt&a a l'usuari/ària"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (rang PCM de les mostres de 8 bits)"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "Quan s'exportin pistes a un fitxer de so"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (rang PCM de les mostres de 10 bits)"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Mescla sempre totes les pistes en un canal estereofònic o monofònic"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (rang PCM de les mostres de 16 bits)"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Fes servir una mescla personalitzada (per exemple, per a exportar a un fitxer multicanal 5.1)"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (límit aproximat de percepció de l'oïda humana)"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Mo&stra l'editor de metadades abans d'iniciar l'exportació"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (rang PCM de les mostres de 24 bits)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Interfície"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Pantalla"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "Al navegador"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "D'Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Simple"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Refresca la representació gràfica mentre es reprodueix el so"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "Ajuda:"
 
 #: prefs/GUIPrefs.cpp:96
 #, fuzzy
 msgid "Cl&osing last window quits Audacity"
 msgstr "Quan tanqueu la darrera finestra es tancarà l'Audacity"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Habilita l'&arrossegament de les vores dreta i esquerra de la selecció"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Zoom vertical automàtic que permeti &encabir-hi totes les pistes"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Canvia la pista activa\" va passant &cíclicament per totes les pistes del projecte"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "L'edició d'un &clip pot moure altres clips"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Selecciona tot el so del projecte si no hi ha res seleccionat"
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "&Fes 'bip' quan es completi una acció de llarga durada"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Mostra / Amaga"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Habilita les &línies de tall"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Mostra advertiments sobre els fitxers &temporals"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Mostra el missatge de benvinguda en iniciar el programa"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "Modes"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Rang mínim de representació: mesuradors i so en forma d'ona (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (rang estret de valors, per a editar sons amb molta amplitud)"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "Importa / Exporta"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (rang PCM de les mostres de 8 bits)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "Quan importis fitxers de so"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (rang PCM de les mostres de 10 bits)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&Fes una còpia del fitxer sense comprimir abans d'editar-lo (més segur)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (rang PCM de les mostres de 16 bits)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Llegeix directament el so sense comprimir del fitxer original (més ràpid)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (límit aproximat de percepció de l'oïda humana)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "&Normalitza totes les pistes del projecte"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (rang PCM de les mostres de 24 bits)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "Quan s'exportin pistes a un fitxer de so"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Mode de visualització per defecte"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Mescla sempre totes les pistes en un canal estereofònic o monofònic"
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Altres opcions de l'interfície"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Fes servir una mescla personalitzada (per exemple, per a exportar a un fitxer multicanal 5.1)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Ajuda:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Mo&stra l'editor de metadades abans d'iniciar l'exportació"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Botó Solo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Teclat"
 
@@ -7892,22 +7643,26 @@ msgstr "&Estableix"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Nota: Prement Cmd+Q es tancarà el programa. Totes les altres tecles són vàlides."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "Valors per &defecte"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Combinació de tecles"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Anomena i exporta les dreceres de teclat:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Desfés"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "S'ha produït un error en desar les dreceres de teclat"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7917,6 +7672,14 @@ msgstr "Seleccioneu un fitxer XML amb les dreceres de teclat de l'Audacity..."
 msgid "Error loading keyboard shortcuts"
 msgstr "S'ha produït un error en carregar les dreceres de teclat"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Anomena i exporta les dreceres de teclat:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "S'ha produït un error en desar les dreceres de teclat"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7926,10 +7689,61 @@ msgstr "La drecera de teclat '%s' es troba ja assignada a:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Desfés"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "Biblioteca d'exportació a MP3"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "Versió de la biblioteca MP3:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "Biblioteca MP3:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "Biblioteca MP3 LAME:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "&Descarrega"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "E/S de so"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Interpreta a través"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7943,6 +7757,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Previsualitza el tall"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7951,6 +7769,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Latència"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7963,12 +7785,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Període curt:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "Període llarg:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Previsualització d'efectes"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Ratolí"
 
@@ -7988,37 +7821,26 @@ msgstr "Acció d'ordre"
 msgid "Buttons"
 msgstr "Botons"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Clic esquerre"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Selecciona"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Especifica el punt de selecció"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Arrossegament amb el botó principal"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Especifica el rang de selecció"
 
@@ -8046,12 +7868,8 @@ msgstr "Ctrl+clic esquerre"
 msgid "Set Selection Point and Play"
 msgstr "Estableix el punt de selecció i interpreta"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Zoom"
 
@@ -8059,9 +7877,7 @@ msgstr "Zoom"
 msgid "Zoom in on Point"
 msgstr "Zoom en un punt"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Zoom en un rang"
 
@@ -8069,18 +7885,15 @@ msgstr "Zoom en un rang"
 msgid "same as right-drag"
 msgstr "el mateix que arrossegar a la dreta"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Clic amb el botó secundari"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Allunya un pas"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Arrossegament amb el botó secundari"
 
@@ -8116,8 +7929,7 @@ msgstr "Shift+Arrossega a l'esquerra"
 msgid "Time shift all clips in track"
 msgstr "Desplaça en el temps tots els clips d'una pista"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl+Arrossega a l'esquerra"
 
@@ -8133,9 +7945,7 @@ msgstr "Canvia l'envolupant d'amplificació"
 msgid "Change Sample"
 msgstr "Canvia la mostra"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Llapis"
@@ -8156,26 +7966,20 @@ msgstr "Canvia diverses mostres"
 msgid "Change ONE Sample only"
 msgstr "Canvia només UNA mostra"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Diverses"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "el mateix que l'eina de seleccionar"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "el mateix que l'eina de zoom"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Qualsevol"
 
@@ -8203,10 +8007,62 @@ msgstr "Ctrl+Roda del ratolí"
 msgid "Zoom in or out"
 msgstr "Apropa o allunya"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Longitud de la vista preliminar:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Vista preliminar abans de la regió retallada:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Vista preliminar després de la regió retallada:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Desplaçament en el temps mentre s'interpreta"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Preferències de l'Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "En desar un projecte que depèn d'altres fitxers de so"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "&Copia sempre tot el so dins del projecte (el més segur)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "&No copiïs cap so"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "Pregunt&a a l'usuari/ària"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Desa automàticament"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Desa automàticament una còpia del projecte en una altra carpeta"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Desa automàticament cada:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minuts"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Rectangle"
@@ -8231,46 +8087,46 @@ msgstr "Freqüència de mostreig per defecte:"
 msgid "Default Sample Format:"
 msgstr "Format per defecte de les mostres:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Convertidor de freqüència en temps real:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Convertidor de freqüència de mostreig d'alta qualitat:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Arrodoniment en temps real:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Arrodoniment d'alta qualitat:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Conversió"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Convertidor de la freqüència de mostreig"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Arrodoniment"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Temps real:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Alta qualitat:"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Enregistrament intel·ligent"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Reproducció a través del &Maquinari: Interpreta una pista nova mentre s'està enregistrant."
+
+#: prefs/AudioIOPrefs.cpp:158
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:161
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8280,23 +8136,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Espectrogrames"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Mida FFT"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - banda més ampla"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - per defecte"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - banda més estreta"
@@ -8305,21 +8196,26 @@ msgstr "32768 - banda més estreta"
 msgid "4096 - most narrowband"
 msgstr "4096 - banda més estreta"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Tipus de finestra:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "Punts d'omissió FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Pantalla"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "Escala de &grisos"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8329,17 +8225,17 @@ msgstr "Freqüència mínima (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Freqüència màxima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "Graella-&Y"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Localitza notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Arrodoneix notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8349,6 +8245,14 @@ msgstr "Amplitud mínima (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "Nombre màx. de notes (1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Localitza notes"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Arrodoneix notes"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "La freqüència màxima ha de ser un nombre enter"
@@ -8365,20 +8269,70 @@ msgstr "La freqüència mínima ha de ser un nombre enter"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "La freqüència mínima ha de ser d'almenys 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "L'amplitud mínima (dB) ha de ser un nombre enter"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "El nombre màxim de notes ha de ser un nombre enter entre 1 i 128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Informació"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "L'ús dels temes és una funcionalitat experimental.\n"
+"\n"
+"Per a provar-la feu clic a \"Desa la mostra del tema\" i després\n"
+"busqueu i modifiqueu les imatges i els colors a\n"
+"ImageCacheVxx.png mitjançant un editor d'imatges com \n"
+"ara el Gimp.\n"
+"\n"
+"Feu clic a \"Carrega la mostra del tema\" per a veure els canvis fets en les imatges \n"
+"i als colors.\n"
+"\n"
+"[Només la barra d'eines de control i els colors de les \n"
+"pistes de so es veuran afectats pels canvis, encara que al fitxer \n"
+"que conté la imatge s'hi vegin altres icones.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8409,100 +8363,97 @@ msgstr "Desa els fitxers"
 msgid "Load Files"
 msgstr "Carrega els fitxers"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Informació"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Simple"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "L'ús dels temes és una funcionalitat experimental.\n"
-"\n"
-"Per a provar-la feu clic a \"Desa la mostra del tema\" i després\n"
-"busqueu i modifiqueu les imatges i els colors a\n"
-"ImageCacheVxx.png mitjançant un editor d'imatges com \n"
-"ara el Gimp.\n"
-"\n"
-"Feu clic a \"Carrega la mostra del tema\" per a veure els canvis fets en les imatges \n"
-"i als colors.\n"
-"\n"
-"[Només la barra d'eines de control i els colors de les \n"
-"pistes de so es veuran afectats pels canvis, encara que al fitxer \n"
-"que conté la imatge s'hi vegin altres icones.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Heu compilat l'Audacity amb un botó extra, \n"
-"'Sortida de codi font', que serveix per a desar un fitxer en llenguatge C de \n"
-"la imatge de mostra, que podreu fer servir per a una nova compilació.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Si l'opció 'Carrega la mostra del tema a l'inici' es troba habilitada,\n"
-"la mostra del tema es carregarà quan el programa \n"
-"engegui.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Refresca la representació gràfica mentre es reprodueix el so"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Desar i carregar els fitxers individuals del tema us obliga a fer servir \n"
-"un fitxer individual per a cada imatge, però és \n"
-"la mateixa idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Zoom vertical automàtic que permeti &encabir-hi totes les pistes"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pausa"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Mode de visualització per defecte"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Interpreta"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "&Selecciona tot el so del projecte si no hi ha res seleccionat"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "Habilita les &línies de tall"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Habilita l'&arrossegament de les vores dreta i esquerra de la selecció"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Canvia la pista activa\" va passant &cíclicament per totes les pistes del projecte"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "L'edició d'un &clip pot moure altres clips"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "Botó Solo:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Atura't"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Vés a l'inici"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Vés al final"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "Pausa"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "Atura't"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "CleanSpeech"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "S'ha produït un error en obrir el dispositiu."
 
@@ -8514,13 +8465,11 @@ msgstr "L'enregistrament en la modalitat CleanSpeech no és possible quan una pi
 msgid "Recording not permitted"
 msgstr "L'enregistrament no és permès"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Dispositiu de sortida"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Dispositiu d'entrada"
 
@@ -8544,29 +8493,21 @@ msgstr "Apropa"
 msgid "Zoom Out"
 msgstr "Allunya"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Commuta el zoom"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Encabeix la selecció"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Encabeix la selecció a la finestra"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Encabeix el projecte"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Encabeix el projecte a la finestra"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Picòmetre"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Encabeix la selecció"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Encabeix el projecte"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8614,22 +8555,27 @@ msgstr "Lliscador d'entrada"
 msgid "Input Source"
 msgstr "Font d'entrada"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Selecció"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "Freqüència del projecte (Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "Inici de la selecció:"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "Longitud"
 
@@ -8637,13 +8583,11 @@ msgstr "Longitud"
 msgid "hidden"
 msgstr "amagat"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr "Posició de so:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "Arrodoneix"
 
@@ -8664,8 +8608,7 @@ msgstr "Fi de la selecció"
 msgid "Audacity %s ToolBar"
 msgstr "Barra d'eines de %s de l'Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Plafó d'eines"
 
@@ -8697,34 +8640,6 @@ msgstr "Esquerra=Apropa, Dreta=Allunya, Mig=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Feu clic i arrossegueu per a moure una pista en el temps"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Eines"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Eina de selecció"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Eina d'envolupant"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Eina de desplaçament en el temps"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Eina de zoom"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Eina de dibuix"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Mode multi-eina"
@@ -8733,24 +8648,11 @@ msgstr "Mode multi-eina"
 msgid "Slide Tool"
 msgstr "Eina de desplaçament"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Eina múltiple"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transcripció"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Reprodueix a la velocitat seleccionada"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Reprodueix-a-velocitat"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Velocitat de reproducció"
 
@@ -8758,74 +8660,38 @@ msgstr "Velocitat de reproducció"
 msgid "Adjust left selection to next onset"
 msgstr "Ajusta la selecció esquerra al següent punt d'inici"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Esquerra-a-PuntInici"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Ajusta la selecció dreta a l'anterior punt final"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Dreta-a-PuntFinal"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "Ajusta la selecció esquerra al següent punt final"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Esquerra-a-PuntFinal"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "Ajusta la selecció dreta a l'anterior punt inicial"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Dreta-a-PuntInicial"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Selecciona la regió de so al voltant del cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Selecciona-So"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Selecciona una regió de silenci al voltant del cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Selecciona-Silenci"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Crea etiquetes de manera automàtica des de les paraules"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Crea etiquetes"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Afegeix una etiqueta a la selecció"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Afegeix una etiqueta"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Calibra la clau de veu"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Calibra"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Ajusta la sensibilitat"
@@ -8858,6 +8724,46 @@ msgstr "Canvis de direcció (llindar alt)"
 msgid "Key type"
 msgstr "Tipus de clau"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Reprodueix-a-velocitat"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Esquerra-a-PuntInici"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Dreta-a-PuntFinal"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Esquerra-a-PuntFinal"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Dreta-a-PuntInicial"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Selecciona-So"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Selecciona-Silenci"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Crea etiquetes"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Afegeix una etiqueta"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Calibra"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (inhabilitat)"
@@ -8872,15 +8778,13 @@ msgstr "Botó"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:212
 msgid "L"
 msgstr "E"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:214
 msgid "R"
 msgstr "D"
 
@@ -8896,8 +8800,7 @@ msgstr "Esq."
 msgid "Right"
 msgstr "Dreta"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:78 widgets/ErrorDialog.cpp:102
 msgid "Help"
 msgstr "Ajuda"
 
@@ -8930,8 +8833,7 @@ msgstr "Agafador"
 msgid "%d rows, %d columns"
 msgstr "%d files, %d columnes"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "Fila %d"
@@ -9010,8 +8912,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
 msgstr "Regle vertical"
 
@@ -9255,3 +9156,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "No s'ha pogut carregar el fitxer: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ca at valencia.po b/locale/ca at valencia.po
index b0798f9..cbf6608 100644
--- a/locale/ca at valencia.po
+++ b/locale/ca at valencia.po
@@ -15,9 +15,7 @@ msgstr "Project-Id-Version: ca\n"
 "X-Poedit-Language: Catalan\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:142 AudacityApp.cpp:749 Menus.cpp:745
 msgid "&About Audacity..."
 msgstr "Quant a l'&Audacity..."
 
@@ -30,11 +28,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -43,8 +41,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Traducció al català: Pau Bosch i Francesc Busquets"
 
@@ -87,7 +84,7 @@ msgid "Special thanks:"
 msgstr "Agraïments especials:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -95,14 +92,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
-#: AboutDialog.cpp:468
+#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Informació de compilació"
 
-#: AboutDialog.cpp:305
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:305 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Habilitat"
 
@@ -115,33 +109,27 @@ msgid "File Format Support"
 msgstr "Informació sobre els tipus de fitxers"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:326 AboutDialog.cpp:328
 msgid "MP3 Importing"
 msgstr "Importació d'MP3"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:335 AboutDialog.cpp:338
 msgid "Ogg Vorbis Import and Export"
 msgstr "Importació i exportació a Ogg Vorbis"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:342 AboutDialog.cpp:345
 msgid "ID3 tag support"
 msgstr "Informació sobre les etiquetes ID3"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:352 AboutDialog.cpp:355
 msgid "FLAC import and export"
 msgstr "Importació i exportació a FLAC"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:360 AboutDialog.cpp:363
 msgid "MP2 export"
 msgstr "Exportació a MP2"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:368 AboutDialog.cpp:371
 msgid "Import via QuickTime"
 msgstr "Importa mitjançant el QuickTime"
 
@@ -150,15 +138,12 @@ msgstr "Importa mitjançant el QuickTime"
 msgid "Core Libraries"
 msgstr "Biblioteques del nucli"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
 #: AboutDialog.cpp:392
 msgid "Sample rate conversion"
 msgstr "Conversió de la freqüència de mostreig"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:397 AboutDialog.cpp:400
 msgid "Audio playback and recording"
 msgstr "Reproducció i enregistrament de so"
 
@@ -166,24 +151,17 @@ msgstr "Reproducció i enregistrament de so"
 msgid "Features"
 msgstr "Funcionalitats"
 
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:420
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:428
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:436
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:444
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Informació sobre els connectors"
 
-#: AboutDialog.cpp:449
-#: AboutDialog.cpp:452
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Informació sobre el mesclador de la targeta de so"
 
-#: AboutDialog.cpp:457
-#: AboutDialog.cpp:460
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Informació sobre els canvis de to i de temps"
 
@@ -191,8 +169,7 @@ msgstr "Informació sobre els canvis de to i de temps"
 msgid "Program build date: "
 msgstr "Data de compilació del programa:"
 
-#: AboutDialog.cpp:475
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Tipus de compilació:"
 
@@ -217,16 +194,12 @@ msgstr "Carpeta on es guarda la configuració:"
 msgid "GPL License"
 msgstr "Llicència GPL"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:468 Project.cpp:1761
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s es troba obert en una altra finestra."
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
+#: AudacityApp.cpp:470 Project.cpp:1763 Project.cpp:1868 Project.cpp:2012
 #: Project.cpp:2114
 msgid "Error opening project"
 msgstr "S'ha produït un error en obrir el projecte"
@@ -252,21 +225,28 @@ msgstr "Picòmetre d'entrada"
 msgid "Output Meter"
 msgstr "Picòmetre d'eixida"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferències...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Nou"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Obri..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:751 Menus.cpp:478
+msgid "&Preferences..."
+msgstr "&Preferències..."
+
+#: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Emprant blocs de %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:855 AudacityApp.cpp:925
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Orde desconeguda: %s\n"
@@ -384,18 +364,16 @@ msgstr "Error:"
 msgid "Error Initializing Audio"
 msgstr "S'ha produït un error en inicialitzar el so"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "Hi ha un problema de latència"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "El valor de la latència ha fet que el so que s'ha enregistrat hagi quedat amagat abans del zero.\n"
-"L'Audacity ha mogut el fragment per tal que comenci al zero.\n"
-"Podeu fer servir l'eina de desplaçament en el temps (<---> o F5) per a arrossegar la pista al lloc que li correspongui."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Recuperació automàtica de fallades"
@@ -411,8 +389,7 @@ msgstr "Alguns projectes no es van alçar correctament la darrera vegada que es\
 msgid "Recoverable projects"
 msgstr "Projectes recuperables"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 msgid "Name"
 msgstr "Nom"
 
@@ -442,38 +419,25 @@ msgstr "Segur que no voleu recuperar cap projecte?\n"
 msgid "Confirm?"
 msgstr "Ho confirmeu?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "No s'ha pogut realitzar l'enumeració dels fitxers de la carpeta d'alçat automàtic"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2575 Menus.cpp:4514
+#: Project.cpp:1971 Project.cpp:3343 Project.cpp:3422 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1689 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:846
 msgid "Error"
 msgstr "Error"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Seleccioneu l'orde"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Orde"
@@ -482,8 +446,7 @@ msgstr "&Orde"
 msgid "&Edit Parameters"
 msgstr "Paràmetres d'&edició"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Paràmetres"
 
@@ -529,8 +492,7 @@ msgstr "Aplica %s amb els paràmetres\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Mode de proves"
 
@@ -539,8 +501,7 @@ msgstr "Mode de proves"
 msgid "Apply %s"
 msgstr "Aplica %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Aplica la cadena d'ordes"
@@ -565,24 +526,15 @@ msgstr "Aplica-la al &projecte actual"
 msgid "Apply to &Files..."
 msgstr "Aplica-la als &fitxers..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&Cancel·la"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "No s'ha seleccionat cap cadena d'ordes"
 
@@ -619,8 +571,7 @@ msgstr "S'està aplicant..."
 msgid "File"
 msgstr "Fitxer"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Edita les cadenes d'ordes"
@@ -629,19 +580,12 @@ msgstr "Edita les cadenes d'ordes"
 msgid "&Chains"
 msgstr "&Cadenes d'ordes"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "&Afig"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4201
 msgid "&Remove"
 msgstr "&Elimina"
 
@@ -655,8 +599,8 @@ msgstr "Ca&dena d'ordes (feu doble clic o premeu ESPAI per a editar-la)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Núm."
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -745,8 +689,7 @@ msgstr "Espai de disc"
 msgid "Copy Selected Audio Into Project"
 msgstr "Copia al projecte el fragment de so seleccionat"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Cancel·la l'acció d'alçar"
 
@@ -758,8 +701,7 @@ msgstr "No copiïs cap so"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Copia tot el so dins del projecte (el més segur)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Pregunta-m'ho"
 
@@ -793,9 +735,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Atenció: hi ha molt poc espai de disc lliure en este volum.\n"
 "Seleccioneu un altre directori temporal a les preferències."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Progrés"
 
@@ -851,8 +791,7 @@ msgstr "No s'ha pogut canviar el nom de '%s' a '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "S'estan inspeccionant les dades del fitxer de projecte..."
 
@@ -903,14 +842,9 @@ msgstr "Continua sense eliminar-los; ignora els fitxers extra"
 msgid "Close project immediately with no changes"
 msgstr "Tanca el projecte ara mateix sense fer cap canvi"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:490 export/Export.cpp:507
+#: export/Export.cpp:526 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Atenció"
 
@@ -932,14 +866,11 @@ msgstr "La comprovació del projecte ha detectat que %d fitxers d'entrada que s'
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Substituix les dades perdudes per silencis [de manera permanent si s'alça el projecte]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Substituix les dades perdudes per silencis [només durant esta sessió] "
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Tanca el projecte immediatament sense fer-li més canvis"
 
@@ -1007,11 +938,11 @@ msgstr "Rectangular"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1069,11 +1000,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1096,8 +1028,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Anàlisi de freqüències"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:140 TrackPanel.cpp:563
 msgid "Spectrum"
 msgstr "Espectre"
 
@@ -1125,8 +1056,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Algorisme: "
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Grandària"
 
@@ -1152,10 +1082,7 @@ msgstr "Freqüència de registre"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
 msgstr "&Exporta..."
 
@@ -1163,45 +1090,54 @@ msgstr "&Exporta..."
 msgid "Export"
 msgstr "Exporta"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Tanca"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1109 effects/Equalization.cpp:1111
+#: effects/Equalization.cpp:1119 effects/Equalization.cpp:1185
+#: effects/Equalization.cpp:1394 effects/Equalization.cpp:1405
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:380
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1150
+#: effects/Equalization.cpp:1181 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Per a dibuixar l'espectre cal que totes les pistes seleccionades tinguen la mateixa freqüència de mostreig."
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "S'ha seleccionat un fragment de so massa llarg. Només s'analitzaran els primers %.1f segons."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "No s'han seleccionat prou dades"
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1223,12 +1159,8 @@ msgstr "espectre.txt"
 msgid "Export Spectral Data As:"
 msgstr "Anomena i exporta les dades d'espectre:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1079 LabelDialog.cpp:599 Menus.cpp:2207 Project.cpp:2441
+#: Project.cpp:3395 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "No s'ha pogut escriure al fitxer:"
 
@@ -1240,6 +1172,21 @@ msgstr "Freqüència (Hz)\tNivell (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Retard (segons)\tFreqüència (Hz)\tNivell"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "A la [[welcome|pàgina de benvinguda]]."
@@ -1317,7 +1264,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Per gravar:</b> Establiu el dispositiu d'enregistrament i la font d'entrada, ajusteu el nivell d'entrada i feu clic al botó vermell Enregistra.</b></p><p> 1) [[inputdevice|Establiment del dispositiu d'enregistrament]] Podeu escollir el dispositiu des de la pestanya <I>E/S d'Àudio de les Preferències</I> o a la <i>Barra d'eines de dispositius</i>. Les preferències d'E/S d'àudio us permeten escollir un tipus d'enregistrament estereofònic o monofònic.<br> 2) [[inputsource|Establiment de la font d'entrada]] per a este dispositiu (per exemple, micròfon o entrada de línia) a la llista desplegable de la <i>Barra d'Eines del Mesclador</i>, o (en alguns sistemes) al camp Dispositiu d'Enregistrament de la <i>Pestanya d'E/S d'Àudio de les Preferències</i> o a la <i>Barra d'Eines de Dispositius</i>.<br> 3) [[inputlevel|Ajustar el nivell d'entrada]] mitjançant el picòmetre que hi ha a la dreta a la <i>Barra d'Eines del Mesclador</i>. Un ajustament correcte del nivell és essencial abans de començar a enregistrar, per tal d'evitar sorolls o distorsions. </p><p> Trobareu més ajuda a l'apartat \"Recording\" de les <a href=\"http://audacity.sourceforge.net/help/faq\">Preguntes Més Freqüents</a>, al tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> del <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a> i a les seccions [[wiki:Recording_Tips|Recording Tips]] i [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] del Wiki. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>El dispositiu d'entrada és el dispositiu físic pel qual esteu enregistrant el so. L'heu d'escollir a la llista \"Dispositiu d'Enregistrament\" de la pestanya <i>E/S d'àudio de les Preferències</i>. Al Windows i al Linux les Preferències són a la part inferior del menú <i>Edita</i>. Als Mac, són al menú <i>Audacity</i>. També podeu seleccionar el dispositiu d'enregistrament a la <i>Barra d'eines de dispositius</i>, que es pot activar des del menú <i>Mostra &gt; Barres d'eines...</i>. </p><p> Per defecte, l'Audacity farà servir el dispositiu actualment seleccionat pel sistema (normalment el dispositiu de so integrat), de manera que no us caldrà canviar-lo. En sistemes Windows, este dispositiu es pot seleccionar al \"Mapejador de so Microsoft\". Si esteu enregistrant des d'un dispositiu extern de tipus USB o Firewire, com ara un tocadiscs USB, l'haureu de seleccionar pel seu nom un cop l'hàgiu connectat. </p><p> Torna a [[record|Enregistrant so]] <br></p>"
 
 #: HelpText.cpp:244
@@ -1341,7 +1289,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Per a escoltar el vostre treball en altres programes multimèdia, exporteu-lo a un format d'àudio com ara WAV o MP3 (alguns formats són [[wma-proprietary|no suportats]]). Quan [[save|alceu el projecte Audacity]] es crearà un fitxer de projecte (amb una carpeta anomenada _data) que contindrà totes les pistes que esteu editant, de manera que més avant podreu tornar a reprendre el vostre treball. Amb tot, els altres programes no podran obrir directament els projectes Audacity. </p><p> Per a exportar-los, feu clic a <i>Fitxer &gt; Exporta</i> i escolliu el format a la llista desplegable \"Alça com a\". Per a [[burncd|enregistrar un CD]] que es puga escoltar en un equip de música, escolliu WAV o AIFF. Per a exportar a MP3, haureu d'instal·lar-vos un [[wiki:Lame_Installation|Codificador Lame]]. </p><p> L'opció <i>Fitxer &gt; Exporta la selecció</i> exporta només l'àrea que es trobi seleccionada. <i>Feu sevir Fitxer &gt; Exporta múltiples fitxers</i> per a exportar diversos fitxers en una única operació, un per a cada pista de so, o un per a cada àrea etiquetada en una pista única. La funció <i>Pistes &gt; Afig una etiqueta a la selecció</i> us permet [[wiki:Splitting_recordings_into_separate_tracks|separar les pistes]] d'un àlbum per a alçar-les en fitxers independents. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>L'Audacity <b>no pot</b> [[play|interpretar]] o [[export|exportar]] fitxers en <b>WMA, RealAudio, Shorten (SHN)</b> o altres formats propietaris degut a restriccions de llicències i patents. En els ordinadors Mac es poden importar fitxers en format <b>AAC</b> i <b>M4A</b>. Alguns formats oberts, com l'<b>Ogg Speex</b> o el <b>Musepack</b> tampoc estan suportats. Els fitxers protegits per qualsevol tipus de Gestió de Drets Digitals (DRM), incloent la majoria dels que es compren a les botigues en línia, com ara iTunes o Napster, <b>no es poden</b> importar.</p><p> Si no podeu importa un fixer a l'Audacity i no està protegit per DRM, feu servir l'iTunes o el <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> per convertir-lo a WAV o AIFF. Si està protegit, enregistreu-lo a CD amb el programa llicenciat per a interpretar-lo i extraieu després la pista del CD a WAV o AIFF mitjançant l'ITunes o (en Windows) el <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> o el Windows Media Player 11. També podeu <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">enregistrar</a> el so mentre el feu sonar al vostre ordinador. <i>Per a exportar a un format no suportat, exporteu primer a WAV o AIFF i convertiu-lo al format desitjat amb l'iTunes o el <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1376,15 +1325,9 @@ msgstr "Nivells a descartar"
 msgid "&Discard"
 msgstr "&Descarta"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:398
 msgid "&OK"
 msgstr "&D'acord"
 
@@ -1392,8 +1335,7 @@ msgstr "&D'acord"
 msgid "Unable to determine"
 msgstr "No s'ha pogut determinar"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:195 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "octets"
 
@@ -1409,13 +1351,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Pista"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:53 Menus.cpp:4057 Menus.cpp:4085
 msgid "Label"
 msgstr "Etiqueta"
 
@@ -1427,8 +1375,7 @@ msgstr "Temps inicial"
 msgid "End Time"
 msgstr "Temps final"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:98 Menus.cpp:627
 msgid "&Edit Labels"
 msgstr "&Edita les etiquetes"
 
@@ -1444,8 +1391,7 @@ msgstr "Inserix &després"
 msgid "Insert &Before"
 msgstr "Inserix &abans"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:127 Menus.cpp:194
 msgid "&Import..."
 msgstr "&Importa..."
 
@@ -1467,20 +1413,15 @@ msgstr "Heu deixat alguns noms d'etiquetes en blanc.  Estos elements\n"
 msgid "Confirm"
 msgstr "Confirma"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:514 Menus.cpp:3555
 msgid "Select a text file containing labels..."
 msgstr "Seleccioneu un text que contingui les etiquetes..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:518 Menus.cpp:3559
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Fitxers de text (*.txt)|*.txt|Tots els fitxers (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
+#: LabelDialog.cpp:532 Menus.cpp:3571 Project.cpp:1831 Project.cpp:1839
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "No s'ha pogut obrir el fitxer:"
@@ -1489,13 +1430,11 @@ msgstr "No s'ha pogut obrir el fitxer:"
 msgid "No labels to export."
 msgstr "No hi ha cap etiqueta per a exportar."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:564 Menus.cpp:2172
 msgid "Export Labels As:"
 msgstr "Anomena i exporta les etiquetes:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:566 Menus.cpp:2170
 msgid "labels.txt"
 msgstr "etiquetes.txt"
 
@@ -1507,10 +1446,7 @@ msgstr "Pista d'etiquetes nova"
 msgid "Enter track name"
 msgstr "Escriviu el nom de la pista"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:555
 msgid "&Label Track"
 msgstr "Pista d'e&tiquetes"
 
@@ -1537,24 +1473,15 @@ msgstr "S'està obrint el projecte Audacity"
 msgid "&File"
 msgstr "&Fitxer"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Nou\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Obri...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Tanca\tCtrl+W"
+msgid "&Close"
+msgstr "&Tanca"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Desa el projecte\tCrtl+S"
+msgid "&Save Project"
+msgstr "&Desa el projecte"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
 msgstr "&Anomena i alça el projecte..."
 
@@ -1575,8 +1502,8 @@ msgid "&Import"
 msgstr "&Importa"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&So...\tCtrl+Maj+I"
+msgid "&Audio..."
+msgstr "&So..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1590,8 +1517,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "Dades c&rues..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:210 Menus.cpp:239
 msgid "Expo&rt Selection..."
 msgstr "Anomena i expo&rta la selecció..."
 
@@ -1607,12 +1533,11 @@ msgstr "Exporta &múltiples fitxers..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "En&cadenament de CleanSpeech..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "Execu&ta la cadena d'ordes..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
 msgstr "Edita les &cadenes d'ordes..."
 
@@ -1624,10 +1549,6 @@ msgstr "Exporta &configuracions del CleanSpeech..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Importa &configuracions del CleanSpeech..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "Execu&ta la cadena d'ordes..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "P&uja el fitxer..."
@@ -1641,75 +1562,72 @@ msgid "&Print..."
 msgstr "Im&primix..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "&Surt\tCtrl+Q"
+msgid "E&xit"
+msgstr "&Surt"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Edita"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Desfés\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Desfés"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Refés"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "&Retalla\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Retalla"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Dividix i re&talla\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Dividix i re&talla"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Copia\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copia"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "&Enganxa\tCtrl+V"
+msgid "&Paste"
+msgstr "&Enganxa"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Deixa no&més la selecció\tCtrl+T"
+msgid "Tri&m"
+msgstr "Deixa no&més la selecció"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Elimina\tCtrl+K"
+msgid "&Delete"
+msgstr "&Elimina"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Dividix i &elimina\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Dividix i &elimina"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "Divi&dix\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Divi&dix"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Dividix en un de no&u\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Dividix en un de no&u"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "A&junta\tCtrl+J"
+msgid "&Join"
+msgstr "A&junta"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Duplic&a\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Duplic&a"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1721,80 +1639,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Retalla\tAlt+X"
+msgid "&Cut"
+msgstr "&Retalla"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Dividix i re&talla\tMaj+Alt+X"
+msgid "&Split Cut"
+msgstr "Dividix i re&talla"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Co&pia\tMaj+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "E&limina\tAlt+K"
+msgid "Co&py"
+msgstr "Co&pia"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Di&vidix i elimina\tMaj+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Di&vidix i elimina"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Sile&nci\tAlt+L"
+msgid "Sile&nce"
+msgstr "Sile&nci"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Di&vidix\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "A&junta\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Di&vidix"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "&Tot\tCtrl+A"
+msgid "&All"
+msgstr "&Tot"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Cap...\tCtrl+Maj+A"
+msgid "&None"
+msgstr "&Cap..."
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "A l'&esquerra de la posició d'interpretació\t["
+msgid "&Left at Playback Position"
+msgstr "A l'&esquerra de la posició d'interpretació"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "A la &dreta de la posició d'interpretació\t]"
+msgid "&Right at Playback Position"
+msgstr "A la &dreta de la posició d'interpretació"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "De l'&inici de pista fins al cursor\tMaj.+J"
+msgid "Track &Start to Cursor"
+msgstr "De l'&inici de pista fins al cursor"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Del cursor fins al final de la pista\tMaj.+K"
+msgid "Cursor to Track &End"
+msgstr "Del cursor fins al final de la pista"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Cerca encreuaments amb el &zero\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Cerca encreuaments amb el &zero"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1809,12 +1712,12 @@ msgid "to Selection En&d"
 msgstr "al &final de la selecció"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "a l'inici de la &pista\tJ"
+msgid "to Track &Start"
+msgstr "a l'inici de la &pista"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "al &final de la pista\tK"
+msgid "to Track &End"
+msgstr "al &final de la pista"
 
 #: Menus.cpp:450
 msgid "Re&gion Save"
@@ -1836,29 +1739,8 @@ msgstr "&Bloca"
 msgid "&Unlock"
 msgstr "&Desbloca"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Habilita l'arrodoniment de mesures"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Inhabilita l'arrodoniment de mesures"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Habilita l'aproximació a la quadrícula"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Inhabilita l'aproximació a la quadrícula"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1866,36 +1748,36 @@ msgid "&View"
 msgstr "&Mostra"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "A&propa\tCtrl+1"
+msgid "Zoom &In"
+msgstr "A&propa"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normal\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normal"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "A&llunya\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "A&llunya"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Encabix a la finestra\tCrtl+F"
+msgid "&Fit in Window"
+msgstr "&Encabix a la finestra"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Encabix &Verticalment\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Encabix &Verticalment"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Fes &zoom a la selecció\tCrtl+E"
+msgid "&Zoom to Selection"
+msgstr "Fes &zoom a la selecció"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "Ai&xafa totes les pistes\tCtrl+Maj+C"
+msgid "&Collapse All Tracks"
+msgstr "Ai&xafa totes les pistes"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "E&xpandix totes les pistes\tCtrl+Maj+X"
+msgid "E&xpand All Tracks"
+msgstr "E&xpandix totes les pistes"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1955,40 +1837,40 @@ msgstr "!Vista simplificada"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Interpreta"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Vés a l'inici\tInici"
+msgid "Skip to Start"
+msgstr "Vés a l'inici"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Vés a la pista següent i canvia la selecció\tMaj+Avall"
+msgid "Skip to End"
+msgstr "Vés a la pista següent i canvia la selecció"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2016,15 +1898,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Pista de &so\tCtrl+Maj+N"
+msgid "&Audio Track"
+msgstr "Pista de &so"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
 msgstr "Pista e&stereofònica"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:556 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Pista de &temps"
 
@@ -2033,8 +1914,8 @@ msgid "Mi&x and Render"
 msgstr "&Mescla i renderitza"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mescla-ho i renderitza-ho en una nova pista\tCtrl+Maj+M"
+msgid "Mix and Render to New Track"
+msgstr "Mescla-ho i renderitza-ho en una nova pista"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -2045,12 +1926,12 @@ msgid "Remo&ve Tracks"
 msgstr "&Elimina pistes"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "Si&lencia totes les pistes\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "Si&lencia totes les pistes"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Activa el so a totes les pistes\tCtrl+Maj+U"
+msgid "&UnMute All Tracks"
+msgstr "&Activa el so a totes les pistes"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -2096,17 +1977,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Afig una e&tiqueta a la selecció\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Afig una etiqueta al &punt d'interpretació\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Afig una etiqueta al &punt d'interpretació"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2132,20 +2013,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&cte"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetix el darrer efecte\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "&Analitza"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "Traça l'espectre..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:737 Menus.cpp:740
 msgid "&Help"
 msgstr "&Ajuda"
 
@@ -2157,9 +2037,9 @@ msgstr "&Quant a l'Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "Mo&stra el missatge de benvinguda..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "&Índex..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2177,181 +2057,149 @@ msgstr "&Executa el test d'eficiència..."
 msgid "&Audio Device Info..."
 msgstr "Informació del dispositiu de &so..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Eina de selecció\tF1"
+msgid "Selection Tool"
+msgstr "Eina de selecció"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Eina d'envolupant\tF2"
+msgid "Envelope Tool"
+msgstr "Eina d'envolupant"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Eina de dibuix\tF3"
+msgid "Draw Tool"
+msgstr "Eina de dibuix"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Eina de zoom\tF4"
+msgid "Zoom Tool"
+msgstr "Eina de zoom"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Eina de desplaçament en el temps\tF5"
+msgid "Time Shift Tool"
+msgstr "Eina de desplaçament en el temps"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
+msgid "Multi Tool"
 msgstr "Multi-eina"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Eina següent\tD"
+msgid "Next Tool"
+msgstr "Eina següent"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Eina anterior\tA"
+msgid "Previous Tool"
+msgstr "Eina anterior"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Atura't\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Pausa\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Enregistra\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "Enregistra afegint\tShift+R"
-
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Engega/Atura i Establix la posició del cursor\tMaj+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Engega/Atura i Establix la posició del cursor"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Reproduix un segon\t1"
+msgid "Play One Second"
+msgstr "Reproduix un segon"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Reproduix fins la selecció\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Reproduix en bucle\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Reproduix fins la selecció"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Interpreta l'exemple d'audició del fragment retallat\tC"
+msgid "Play Cut Preview"
+msgstr "Interpreta l'exemple d'audició del fragment retallat"
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Selecciona fins a l'inici\tMaj+Inici"
+msgid "Selection to Start"
+msgstr "Selecciona fins a l'inici"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Selecciona fins al final\tMaj+Fi"
+msgid "Selection to End"
+msgstr "Selecciona fins al final"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Tecla d'eliminació\tRetrocés"
+msgid "DeleteKey"
+msgstr "Tecla d'eliminació"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Tecla d'eliminació 2\tSupr"
+msgid "DeleteKey2"
+msgstr "Tecla d'eliminació 2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Retrocedix una mica durant la interpretació"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Avança una mica durant la interpretació\tDreta"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Retrocedix un tros llarg durant la interpretació\tMaj.+Esquera"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Avança un tros llarg durant la interpretació\tMaj.+Dreta"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Vés a la pista anterior\tAmunt"
+msgid "Move Focus to Previous Track"
+msgstr "Vés a la pista anterior"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Vés a la pista anterior i canvia la selecció\tMaj+Amunt"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Vés a la pista següent\tAvall"
+msgid "Move Focus to Next Track"
+msgstr "Vés a la pista següent"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Vés a la pista següent i canvia la selecció\tMaj+Avall"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Commuta la pista actual\tRetorn"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Commuta la pista actual\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Commuta la pista actual"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Cursor a l'esquerra\tEsquerra"
+msgid "Cursor Left"
+msgstr "Cursor a l'esquerra"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Cursor a la dreta\tDreta"
+msgid "Cursor Right"
+msgstr "Cursor a la dreta"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Salt curt del cursor a l'esquerra\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Salt curt del cursor a l'esquerra"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Salt curt del cursor a la dreta\t."
+msgid "Cursor Short Jump Right"
+msgstr "Salt curt del cursor a la dreta"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Salt llarg del cursor a l'esquerra\tMaj.+,"
+msgid "Cursor Long Jump Left"
+msgstr "Salt llarg del cursor a l'esquerra"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Salt llarg del cursor a la dreta\tMaj.+."
+msgid "Cursor Long Jump Right"
+msgstr "Salt llarg del cursor a la dreta"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Expandix la selecció a l'esquerra\tMaj+Esquerra"
+msgid "Selection Extend Left"
+msgstr "Expandix la selecció a l'esquerra"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Expandix la selecció a la dreta\tMaj+Dreta"
+msgid "Selection Extend Right"
+msgstr "Expandix la selecció a la dreta"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2362,52 +2210,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Establix (o estén) el límit dret de la selecció"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contreu la selecció a l'esquerra\tCtrl+Maj+Dreta"
+msgid "Selection Contract Left"
+msgstr "Contreu la selecció a l'esquerra"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contreu la selecció a la dreta\tCtrl+Maj+Esquerra"
+msgid "Selection Contract Right"
+msgstr "Contreu la selecció a la dreta"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Canvia la posició panoràmica de la pista actual\tMaj+P"
+msgid "Change pan on focused track"
+msgstr "Canvia la posició panoràmica de la pista actual"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Mou a l'esquerra la posició panoràmica de la pista actual\tAlt+Maj+Esquerra"
+msgid "Pan left on focused track"
+msgstr "Mou a l'esquerra la posició panoràmica de la pista actual"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Mou a la dreta la posició panoràmica de la pista actual\tAlt+Maj+Dreta"
+msgid "Pan right on focused track"
+msgstr "Mou a la dreta la posició panoràmica de la pista actual"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Canvia el guany a la pista actual\tMaj+G"
+msgid "Change gain on focused track"
+msgstr "Canvia el guany a la pista actual"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Incrementa el guany a la pista actual\tAlt+Maj+Amunt"
+msgid "Increase gain on focused track"
+msgstr "Incrementa el guany a la pista actual"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Reduïx el guany a la pista actual\tAlt+Maj+Avall"
+msgid "Decrease gain on focused track"
+msgstr "Reduïx el guany a la pista actual"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Obri el menú de la pista actual\tMaj+M"
+msgid "Open menu on focused track"
+msgstr "Obri el menú de la pista actual"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Emmudix o deixa d'emmudir la pista actual\tMaj+U"
+msgid "Mute/Unmute focused track"
+msgstr "Emmudix o deixa d'emmudir la pista actual"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Activa o desactiva el Solo a la pista actual\tMaj+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Activa o desactiva el Solo a la pista actual"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Tanca la pista actual\tMaj+C"
+msgid "Close focused track"
+msgstr "Tanca la pista actual"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2418,7 +2266,35 @@ msgid "Snap To Off"
 msgstr "Inhabilita l'arrodoniment de mesures"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2479,8 +2355,8 @@ msgstr "Abans heu de seleccionar una pista."
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetix %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repetix %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2511,9 +2387,7 @@ msgstr "No hi ha res a desfer"
 msgid "Nothing to redo"
 msgstr "No hi ha res a repetir"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2366 TrackPanel.cpp:605 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Retalla"
 
@@ -2529,10 +2403,7 @@ msgstr "Dividix i retalla"
 msgid "Split-cut to the clipboard"
 msgstr "Dividix i retalla al porta-retalls"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
+#: Menus.cpp:2469 Menus.cpp:2540 Menus.cpp:2634 TrackPanel.cpp:607
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Enganxa"
@@ -2541,8 +2412,7 @@ msgstr "Enganxa"
 msgid "Pasted text from the clipboard"
 msgstr "Text enganxat des del porta-retalls"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:2540 Menus.cpp:2634
 msgid "Pasted from the clipboard"
 msgstr "Enganxat des del porta-retalls"
 
@@ -2554,8 +2424,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "No es pot copiar so estereofònic en una pista monofònica."
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2670 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Deixa només la selecció"
 
@@ -2595,8 +2464,7 @@ msgstr "Ajunta"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "S'han silenciat les pistes seleccionades durant %.2f segons a partir de la posició %.2f"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2771 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Silencia"
 
@@ -2680,8 +2548,7 @@ msgstr "Separa etiquetes"
 msgid "Disjoined labeled regions"
 msgstr "S'han separat les regions etiquetades"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:2947 TrackPanel.cpp:6121
 msgid "Split"
 msgstr "Dividix"
 
@@ -2697,15 +2564,6 @@ msgstr "Dividix en una nova pista"
 msgid "Split at labels"
 msgstr "Dividix a les etiquetes"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Per a dibuixar l'espectre cal que totes les pistes seleccionades tinguen la mateixa freqüència de mostreig."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "S'ha seleccionat un fragment de so massa llarg. Només s'analitzaran els primers %.1f segons."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2744,8 +2602,7 @@ msgstr "Tots els fitxers (*)|*"
 msgid "Edit the metadata tags"
 msgstr "Edita les etiquetes de metadades"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:3669 export/Export.cpp:298
 msgid "Edit Metadata"
 msgstr "Edita les metadades"
 
@@ -2772,8 +2629,7 @@ msgstr "S'han mesclat i renderitzat %d pistes en una nova pista estereofònica"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "S'han mesclat i renderitzat %d pistes en una nova pista monofònica"
 
-#: Menus.cpp:3736
-#: Mix.cpp:120
+#: Menus.cpp:3736 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Mescla i renderitza"
 
@@ -2825,10 +2681,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "S'ha creat una nova pista de so"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:3950 Menus.cpp:3973 Menus.cpp:3988 Menus.cpp:4008
 msgid "New Track"
 msgstr "Pista nova"
 
@@ -2864,8 +2717,7 @@ msgstr "Enregistra esta configuració del CleanSpeech com a:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Configuracions del CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4123 export/Export.cpp:515
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "No es permet l'ús de noms de camí de més de 256 caràcters"
 
@@ -2873,8 +2725,7 @@ msgstr "No es permet l'ús de noms de camí de més de 256 caràcters"
 msgid "Problem encountered exporting presets."
 msgstr "Hi ha hagut un problema en exportar les configuracions."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4170 export/Export.cpp:408
 msgid "Unable to export"
 msgstr "No s'ha pogut exportar"
 
@@ -2886,9 +2737,7 @@ msgstr "Elimina la pista"
 msgid "Removed audio track(s)"
 msgstr "Una o més pistes de so han estat eliminades"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:4508 Menus.cpp:4527 export/ExportMP3.cpp:1926
 msgid "Resample"
 msgstr "Canvia la freqüència de mostreig"
 
@@ -2913,8 +2762,7 @@ msgstr "Canvia la freqüència de mostreig de la pista"
 msgid "Resampled audio track(s)"
 msgstr "S'ha canviat freqüència de mostreig de la pista/es"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Mescla"
 
@@ -2934,6 +2782,10 @@ msgstr "Hi ha hagut un problema en imprimir."
 msgid "Print"
 msgstr "Imprimix"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "Mescla principal"
@@ -2947,14 +2799,11 @@ msgstr "Benvingut/uda a l'Audacity versió %s"
 msgid "(Recovered)"
 msgstr "(Recuperat)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "Enregistra"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1482 TrackPanel.cpp:804
 msgid "Recorded Audio"
 msgstr "So enregistrat"
 
@@ -2981,9 +2830,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Voleu alçar els canvis?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Tots els fitxers|*.*|Tots els fitxers suportats|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2993,8 +2842,7 @@ msgstr "Seleccioneu un o més fitxers de so..."
 msgid "Audacity projects|*.aup|"
 msgstr "Projectes de l'Audacity|*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:1799 Project.cpp:2186
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3015,13 +2863,22 @@ msgstr "Este fitxer va ser alçat amb l'Audacity %s, una versió\n"
 msgid "1.0 or earlier"
 msgstr "1.0 o anterior"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:1806 Project.cpp:2198
 msgid "Opening old project file"
 msgstr "S'està obrint un fitxer de projecte antic"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "S'ha produït un error en obrir el fitxer"
 
@@ -3056,8 +2913,7 @@ msgstr "Recupera"
 msgid "Project checker repaired file"
 msgstr "Fitxer reparat durant el procés de comprovació de projectes"
 
-#: Project.cpp:2001
-#: effects/Repair.h:29
+#: Project.cpp:2001 effects/Repair.h:29
 msgid "Repair"
 msgstr "Repara"
 
@@ -3079,16 +2935,15 @@ msgstr "Este fitxer es va alçar amb l'Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "No es pot obrir el fitxer de projecte"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
-"Open this file now?"
-msgstr "Este fitxer va ser alçat amb l'Audacity %s.\n"
-"Podeu obrir-lo amb esta versió de l'Audacity, però quan l'alceu ja no el podreu tornar a obrir amb versions anteriors del programa.\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"Voleu obrir ara este fitxer?"
+"Open this file now?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -3105,17 +2960,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "S'ha produït un error en alçar el projecte"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3126,16 +2986,12 @@ msgstr "S'ha alçat %s"
 msgid "Imported '%s'"
 msgstr "S'ha importat '%s'"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3649 Project.cpp:2587 Project.cpp:2612 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Importa"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:2639 Project.cpp:2647
 msgid "Error importing"
 msgstr "S'ha produït un error en importar"
 
@@ -3178,8 +3034,7 @@ msgstr "S'ha creat un projecte nou"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "S'han eliminat %.2f segons a t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
+#: Project.cpp:2859 effects/Equalization.cpp:1262
 #: effects/Equalization.cpp:2593
 msgid "Delete"
 msgstr "Elimina"
@@ -3260,8 +3115,7 @@ msgstr "Libsamplerate, per Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Error del Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Delmatge inhabilitat"
 
@@ -3280,6 +3134,163 @@ msgstr "24 bits PCM"
 msgid "32-bit float"
 msgstr "32 bits coma flotant"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Navega..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "fals"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Eines"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Control"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Mesclador"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Picòmetre"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Dispositiu"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transcripció"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "Quadre de pistes"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "Pistes"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "S'ha alçat"
@@ -3288,14 +3299,15 @@ msgstr "S'ha alçat"
 msgid "Error trying to save file: "
 msgstr "S'ha produït un error mentre es desava el fitxer: "
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "S'ha detectat un forat al fitxer de projecte\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "Pre&visualització"
@@ -3336,8 +3348,7 @@ msgstr "Títol de l'àlbum"
 msgid "Track Number"
 msgstr "Número de pista"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "Any"
 
@@ -3345,9 +3356,7 @@ msgstr "Any"
 msgid "Genre"
 msgstr "Gènere"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Comentaris"
 
@@ -3363,9 +3372,7 @@ msgstr "Nom de l'etiqueta"
 msgid "Tag Value"
 msgstr "Valor de l'etiqueta"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Neteja"
 
@@ -3381,71 +3388,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "Plantilla"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Obri..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Desa..."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "&Establix com a opció per defecte"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "Edita els gèneres"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "Restablix els gèneres"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr "No s'ha pogut alçar el fitxer de gèneres."
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Segur que voleu restablir la llista de gèneres als valors per defecte?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr "No s'ha pogut obrir el fitxer de gèneres."
 
@@ -3453,21 +3431,19 @@ msgstr "No s'ha pogut obrir el fitxer de gèneres."
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "S'ha produït un error en llegir les metadades"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "Enregistra les metadades com a:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3500,8 +3476,7 @@ msgstr "L'Audacity no ha pogut trobar el fitxer:\n"
 "  %s.\n"
 "El tema no s'ha carregat."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3525,8 +3500,7 @@ msgstr "No s'ha trobat cap dels fitxers que composen\n"
 "el tema a:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3549,12 +3523,8 @@ msgstr "Tots els fitxers necessaris a:\n"
 "  %s\n"
 "són presents."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:307 TimeDialog.cpp:53
+#: effects/Noise.cpp:235 effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
 msgid "Duration"
 msgstr "Durada"
 
@@ -3562,6 +3532,14 @@ msgstr "Durada"
 msgid "Audacity Timer Record"
 msgstr "Enregistrament programat de l'Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Inici de l'enregistrament"
@@ -3601,40 +3579,23 @@ msgstr "S'està esperant per a començar l'enregistrament el %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Quadre de pistes"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Altres..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:556 TrackPanel.cpp:580 TrackPanel.cpp:589 TrackPanel.cpp:597
 msgid "Name..."
 msgstr "Nom..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:558 TrackPanel.cpp:582 TrackPanel.cpp:593 TrackPanel.cpp:599
 msgid "Move Track Up"
 msgstr "Mou la pista amunt"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:559 TrackPanel.cpp:583 TrackPanel.cpp:594 TrackPanel.cpp:600
 msgid "Move Track Down"
 msgstr "Mou la pista avall"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:561 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "So en forma d'ona"
 
@@ -3650,18 +3611,15 @@ msgstr "Espectre logarítmic"
 msgid "Pitch (EAC)"
 msgstr "To (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:569 TrackPanel.cpp:6091
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:570 TrackPanel.cpp:6090
 msgid "Left Channel"
 msgstr "Canal esquerre"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:571 TrackPanel.cpp:6090
 msgid "Right Channel"
 msgstr "Canal dret"
 
@@ -3673,12 +3631,15 @@ msgstr "Crea una pista estereofònica"
 msgid "Split Stereo Track"
 msgstr "Dividix la pista estereofònica"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "Especifica el format de les mostres"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:577 TrackPanel.cpp:6320
 msgid "Set Rate"
 msgstr "Especifica la freqüència"
 
@@ -3698,8 +3659,7 @@ msgstr "Tipus de lletra..."
 msgid "Set Range..."
 msgstr "Especifica el rang..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:606 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Copia"
 
@@ -3745,21 +3705,13 @@ msgstr "Feu clic i arrossegueu per a moure el límit esquerre de la selecció."
 msgid "Click and drag to move right selection boundary."
 msgstr "Feu clic i arrossegueu per a moure el límit dret de la selecció."
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1702 TrackPanel.cpp:3993 TrackPanel.cpp:4025
+#: TrackPanel.cpp:4280 TrackPanel.cpp:6432 TrackPanel.cpp:6452
 msgid "Modified Label"
 msgstr "S'ha modificat l'etiqueta"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1703 TrackPanel.cpp:3994 TrackPanel.cpp:4026
+#: TrackPanel.cpp:4281 TrackPanel.cpp:6433 TrackPanel.cpp:6453
 msgid "Label Edit"
 msgstr "Edita l'etiqueta"
 
@@ -3767,8 +3719,7 @@ msgstr "Edita l'etiqueta"
 msgid "Adjusted envelope."
 msgstr "S'ha ajustat l'envolupant."
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1931 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Envolupant"
 
@@ -3790,9 +3741,7 @@ msgstr "dreta"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "S'han desplaçat les pistes o clips en direcció %s un total de %.02f segons"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2092 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Desplaçament en el temps"
@@ -3831,39 +3780,29 @@ msgid "Moved pan slider"
 msgstr "S'ha mogut el regulador de posició estereofònica"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5726 TrackPanel.cpp:7149
 msgid "Gain"
 msgstr "Guany"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5664 TrackPanel.cpp:7156
 msgid "Pan"
 msgstr "Balanç"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3610 TrackPanel.cpp:6385 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "amunt"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3614 TrackPanel.cpp:6386 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "avall"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3621 TrackPanel.cpp:6381
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "S'ha mogut '%s' cap %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3624 TrackPanel.cpp:6387
 msgid "Move Track"
 msgstr "Mou la pista"
 
@@ -3895,14 +3834,6 @@ msgstr "S'ha ajustat la posició panoràmica"
 msgid "Adjusted gain"
 msgstr "S'ha ajustat el guany"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "No es pot eliminar una pista quan és activa"
@@ -3923,8 +3854,7 @@ msgstr "Esquerra,"
 msgid "Right, "
 msgstr "Dreta,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6100 TrackPanel.cpp:6225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "S'ha canviat '%s' a %s"
@@ -3938,6 +3868,11 @@ msgstr "Canal"
 msgid "Split stereo track '%s'"
 msgstr "Dividix la pista estereofònica '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3964,8 +3899,7 @@ msgstr "Canvia el format"
 msgid "Change lower speed limit (%) to:"
 msgstr "Canvia el límit inferior de velocitat (%) a:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6350 TrackPanel.cpp:6351
 msgid "Lower speed limit"
 msgstr "Límit inferior de velocitat"
 
@@ -3973,8 +3907,7 @@ msgstr "Límit inferior de velocitat"
 msgid "Change upper speed limit (%) to:"
 msgstr "Canvia el límit superior de velocitat (%) a:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6357 TrackPanel.cpp:6358
 msgid "Upper speed limit"
 msgstr "Límit superior de velocitat"
 
@@ -4016,6 +3949,10 @@ msgstr "Nom de portada"
 msgid "Face size"
 msgstr "Grandària de portada"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "Silenci"
@@ -4049,10 +3986,7 @@ msgstr " Solo"
 msgid " Select On"
 msgstr " Selecció activada"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "La selecció és massa petita per a fer servir la clau de veu."
 
@@ -4079,8 +4013,7 @@ msgstr "Canvis de direcció   -- significa: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Pista de so"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr "No hi ha prou espai per a enganxar la selecció"
 
@@ -4098,10 +4031,10 @@ msgstr "Connectors 1 a %i"
 msgid "Plugins %i to %i"
 msgstr "Connectors %i a %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Ha estat rebutjat per alguna raó. Proveu-ho seleccionant abans un fragment de so."
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4168,9 +4101,7 @@ msgstr "Nou pic d'amplitud (dB):"
 msgid "Allow clipping"
 msgstr "Permet l'escapçament de pics"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
 msgid "-Infinity"
 msgstr "-Infinit"
 
@@ -4186,9 +4117,7 @@ msgstr "S'està amplificant"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Heu seleccionat una pista que no conté so. L'AutoDuck només pot processar pistes de so."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Auto Duck"
@@ -4210,17 +4139,11 @@ msgid "Maximum pause:"
 msgstr "Pausa màxima:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "segons"
 
@@ -4240,8 +4163,7 @@ msgstr "Longitud del fàding final interior:"
 msgid "Inner fade up length:"
 msgstr "Longitud del fàding inicial interior:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Llindar:"
 
@@ -4261,12 +4183,9 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "S'està processant l'Auto Duck..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1042
+#: widgets/ErrorDialog.cpp:79 widgets/ErrorDialog.cpp:105
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "D'acord"
@@ -4331,14 +4250,12 @@ msgstr "Canvia el to sense canviar el temps"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "per Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "S'està emprant el SoundTouch, d'Olli Parviainen"
 
@@ -4387,10 +4304,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "fins a"
@@ -4399,8 +4314,7 @@ msgstr "fins a"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Canvi percentual:"
@@ -4418,8 +4332,7 @@ msgstr "Canvia el to..."
 msgid "Changing Pitch"
 msgstr "S'està canviant el to"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "S'ha aplicat l'efecte: %s %.1f%%"
@@ -4571,12 +4484,11 @@ msgstr "Temps de caiguda:"
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalitza a 0 dB després de la compressió"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Llindar: %d dB"
@@ -4607,7 +4519,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Temps d'atac: %.1f segons"
@@ -4618,7 +4529,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Temps de caiguda: %.1f segons"
@@ -4631,6 +4541,10 @@ msgstr "Compressor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "S'està aplicant la compressió de rang dinàmic..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4650,19 +4564,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4671,15 +4572,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Inici"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "Final"
 
@@ -4699,6 +4597,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4723,8 +4626,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr "Restablix"
 
@@ -4744,16 +4646,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Control"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4864,18 +4758,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "Generador de tons DTMF"
@@ -4888,9 +4770,7 @@ msgstr "per Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "Seqüència DTMF:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:446 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "Amplitud (0-1)"
@@ -4911,9 +4791,7 @@ msgstr "Cicle de treball:"
 msgid "Tone duration:"
 msgstr "Durada dels tons:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
+#: effects/DtmfGen.cpp:482 effects/DtmfGen.cpp:484 effects/DtmfGen.cpp:560
 #: effects/DtmfGen.cpp:561
 msgid "ms"
 msgstr "ms"
@@ -4995,8 +4873,7 @@ msgstr "Cosinus"
 msgid "Cubic"
 msgstr "Cúbica"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:362 effects/Equalization.cpp:412
 msgid "Equalization"
 msgstr "Equalització"
 
@@ -5008,6 +4885,10 @@ msgstr "S'ha produït un error en llegir la corba d'equalització"
 msgid "custom"
 msgstr "personalitzat"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -5046,8 +4927,7 @@ msgstr "Longitud del filtre:"
 msgid "Select curve:"
 msgstr "Tipus de corba:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
+#: effects/Equalization.cpp:1259 effects/Equalization.cpp:2498
 #: export/ExportMultiple.cpp:826
 msgid "Save As..."
 msgstr "Anomena i alça..."
@@ -5164,8 +5044,7 @@ msgstr "El més fort"
 msgid "by Lynn Allan"
 msgstr "per Lynn Allan"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "Grau d'anivellament"
 
@@ -5214,10 +5093,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mesclador"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5457,15 +5332,9 @@ msgstr "S'està traient el soroll"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "S'ha aplicat l'efecte: %s desplaçament dc eliminat = %s, amplitud normalitzada = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "fals"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "cert"
 
@@ -5523,8 +5392,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Freqüència LFO (Hz):"
 
@@ -5532,8 +5400,7 @@ msgstr "Freqüència LFO (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "Fase d'inici LFO (graus):"
 
@@ -5594,8 +5461,7 @@ msgstr "Repetit %d vegades"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Les pistes són massa llargues per a repetir la selecció."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Repetix"
 
@@ -5608,8 +5474,7 @@ msgstr "Nombre de repeticions:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Longitud de selecció nova:"
 
@@ -5682,9 +5547,7 @@ msgstr "Netejador de pics..."
 msgid "Applying Spike Cleaner..."
 msgstr "S'està aplicant el netejador de pics..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
-#: effects/StereoToMono.h:23
+#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "E&stèreo a mono"
 
@@ -5741,8 +5604,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "S'ha aplicat l'efecte: Genera %s ona o ones %s, de freqüència = %.2f Hz, amplitud = %.2f, %.6lf segons"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:75 widgets/Meter.cpp:379
 msgid "Linear"
 msgstr "Lineal"
 
@@ -5774,8 +5636,7 @@ msgstr "Dent de serra"
 msgid "Square, no alias"
 msgstr "Quadrada, sense àlies"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "Freqüència (Hz)"
 
@@ -5823,28 +5684,43 @@ msgstr "S'està generant un to"
 msgid "All tracks must have the same sample rate"
 msgstr "Totes les pistes han de tenir la mateixa freqüència de mostreig"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Trunca un silenci"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Durada màxima del silenci:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "mil·lisegons"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Durada màxima del silenci:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Llindar de silenci:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   La durada ha de ser d'almenys 1 mil·lisegon"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5854,17 +5730,55 @@ msgstr "Trunca un silenci..."
 msgid "Truncating Silence..."
 msgstr "S'està truncant el silenci..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Els efectes VST no es poden aplicar a les pistes estereofòniques quan els dos canals no coincideixen."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Paràmetres de l'efecte"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Cap"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "No es pot processar la substitució"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Paràmetres del complement VST:"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5913,22 +5827,10 @@ msgstr "S'està aplicant l'efecte: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Els efectes complementaris no es poden aplicar a pistes estereofòniques quan els dos canals no coincideixen."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Cap"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Autor:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Paràmetres de l'efecte"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Longitud (segons)"
@@ -5949,8 +5851,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "S'està aplicant l'efecte Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Línia d'ordes del Nyquist..."
 
@@ -5970,8 +5871,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Eixida del Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:598 effects/nyquist/Nyquist.cpp:609
 msgid "Nyquist returned the value:"
 msgstr "Valor retornat pel Nyquist:"
 
@@ -6079,8 +5979,7 @@ msgstr " - Dret"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:976 export/Export.cpp:1021
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Canals d'eixida: %2d"
@@ -6110,8 +6009,7 @@ msgstr "Les dades seran canalitzades cap al canal d'entrada estàndard. \"%f\" s
 msgid "(external program)"
 msgstr "(programa extern)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:250 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "No es port exportar el so a %s"
@@ -6128,9 +6026,21 @@ msgstr "S'està exportant tot el projecte utilitzant el codificador de línia d'
 msgid "Command Output"
 msgstr "Eixida de l'orde"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6198,6 +6108,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Qualitat:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6331,12 +6245,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Qualitat:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6355,10 +6265,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6547,12 +6457,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6663,6 +6573,17 @@ msgstr "Resolució:"
 msgid "FLAC Files"
 msgstr "Fitxers FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "S'està exportant el so seleccionat com a FLAC"
@@ -6687,9 +6608,7 @@ msgstr "Fitxers MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "No es pot exportar a MP2 amb estos valors de freqüència de mostreig i cabal de bits"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:240 export/ExportMP3.cpp:1768 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "No s'ha pogut obrir el fitxer de destinació per a escriure-hi"
 
@@ -6703,9 +6622,7 @@ msgstr "S'està exportant el so seleccionat a %d kbps"
 msgid "Exporting entire file at %d kbps"
 msgstr "S'està exportant tot el fitxer a %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "kbps"
 
@@ -6721,9 +6638,7 @@ msgstr "(Fitxers més petits)"
 msgid "Fast"
 msgstr "Ràpid"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "Estàndard"
@@ -6768,8 +6683,7 @@ msgstr "Mitjana"
 msgid "Constant"
 msgstr "Constant"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Qualitat"
@@ -6890,10 +6804,8 @@ msgstr "La combinació de freqüència de mostreig (%d) i cabal de bits (%d kbps
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:95 export/ExportMultiple.cpp:374
+#: export/ExportMultiple.cpp:598 export/ExportMultiple.cpp:765
 msgid "Export Multiple"
 msgstr "Exporta múltiples fitxers"
 
@@ -6923,11 +6835,6 @@ msgstr "Opcions..."
 msgid "Export location:"
 msgstr "Ubicació de l'exportació:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Navega..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "Crea"
@@ -6952,10 +6859,6 @@ msgstr "Nom del primer fitxer:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Pistes"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "Anomena els fitxers:"
@@ -6989,6 +6892,35 @@ msgstr "S'ha creat \"%s\" amb èxit."
 msgid "Choose a location to save the exported files"
 msgstr "Trieu una ubicació per a alçar-hi els fitxers exportats"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6998,23 +6930,10 @@ msgstr "\"%s\" no existix.\n"
 "\n"
 "Voleu crear-lo?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
 msgid "Edit metadata"
 msgstr "Edita les metadades"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "S'ha realitzat correctament l'exportació de %d fitxer(s)."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Alguna cosa ha anat malament després d'exportar %d fitxer(s)."
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7183,7 +7102,6 @@ msgstr "\"%s\" és un fitxer de tipus Advanced Audio Coding. \n"
 "Hauríeu de convertir-lo a algun format de so que estiga suportat, com ara WAV o AIFF."
 
 #: import/Import.cpp:271
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7287,6 +7205,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Fitxers FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Llistat de fitxers en un format bàsic de text"
@@ -7297,9 +7219,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Indicació incorrecta de posició de finestra en el fitxer LOF"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "Error de LOF"
@@ -7355,8 +7275,7 @@ msgstr "Encapçalament invàlid de Vorbis bistream"
 msgid "Internal logic fault"
 msgstr "Avaria de lògica interna."
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF i altres tipus de fitxers no comprimits"
 
@@ -7449,36 +7368,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "E/S de so"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Processos en cadena"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Comportaments"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Estèreo)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "&No apliquis els efectes quan estiguis en mode de procés per lots"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Reproducció"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Mode Cl&eanSpeech (Entorn personalitzat)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Dispositiu"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Interfície"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Emprant:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Reproducció"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7488,100 +7412,15 @@ msgstr "Enregistrament"
 msgid "Channels"
 msgstr "Canals"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Interpreta a través"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Reproducció a través del &Maquinari: Interpreta una pista nova mentre s'està enregistrant."
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Reproducció a través del &programari: Interpreta una nova pista mentre s'enregistra"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Previsualització d'efectes"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Longitud de la vista preliminar:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Previsualitza el tall"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Vista preliminar abans de la regió retallada:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Vista preliminar després de la regió retallada:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latència"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Àudio a la memòria intermèdia:\n"
-"(valor més alt = més latència)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Correcció de latència:\n"
-"(valor negatiu = arrere)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Desplaçament en el temps mentre s'interpreta"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Període curt:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Període llarg:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Processos en cadena"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Comportaments"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "&No apliquis els efectes quan estiguis en mode de procés per lots"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Mode Cl&eanSpeech (Entorn personalitzat)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Estèreo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Directoris"
@@ -7598,34 +7437,31 @@ msgstr "Posició:"
 msgid "Free Space:"
 msgstr "Espai lliure:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Alça automàticament"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Alça automàticament una còpia del projecte en una altra carpeta"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Alça automàticament cada:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minuts"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Memòria intermèdia de so"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Trieu la ubicació del directori temporal"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7644,230 +7480,145 @@ msgstr "No es pot escriure al directori %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Els canvis en el directori temporal tindran efecte en reiniciar l'Audacity"
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Importa / Exporta"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Biblioteca d'exportació a MP3"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "Versió de la biblioteca MP3:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "Al navegador"
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "Biblioteca MP3:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "D'Internet"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "Biblioteca MP3 LAME:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Descarrega"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Nota: Les opcions referents a la qualitat de l'exportació es poden escollir fent clic al botó Opcions del diàleg Exporta.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "Quan importis fitxers de so"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&Fes una còpia del fitxer sense comprimir abans d'editar-lo (més segur)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&Llig directament el so sense comprimir del fitxer original (més ràpid)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Normalitza totes les pistes del projecte"
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "En alçar un projecte que depèn d'altres fitxers de so"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "&Copia sempre tot el so dins del projecte (el més segur)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&No copiïs cap so"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (rang estret de valors, per a editar sons amb molta amplitud)"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "Pregunt&a a l'usuari/ària"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (rang PCM de les mostres de 8 bits)"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "Quan s'exportin pistes a un fitxer de so"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (rang PCM de les mostres de 10 bits)"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Mescla sempre totes les pistes en un canal estereofònic o monofònic"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (rang PCM de les mostres de 16 bits)"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Fes servir una mescla personalitzada (per exemple, per a exportar a un fitxer multicanal 5.1)"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (límit aproximat de percepció de l'oïda humana)"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Mo&stra l'editor de metadades abans d'iniciar l'exportació"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (rang PCM de les mostres de 24 bits)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Interfície"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Pantalla"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "Al navegador"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "D'Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Simple"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Refresca la representació gràfica mentre es reproduix el so"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "Ajuda:"
 
 #: prefs/GUIPrefs.cpp:96
 #, fuzzy
 msgid "Cl&osing last window quits Audacity"
 msgstr "Quan tanqueu la darrera finestra es tancarà l'Audacity"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Habilita l'&arrossegament de les vores dreta i esquerra de la selecció"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Zoom vertical automàtic que permeta &encabir-hi totes les pistes"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Canvia la pista activa\" va passant &cíclicament per totes les pistes del projecte"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "L'edició d'un &clip pot moure altres clips"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Selecciona tot el so del projecte si no hi ha res seleccionat"
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "&Fes 'bip' quan es completi una acció de llarga durada"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Mostra / Amaga"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Habilita les &línies de tall"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Mostra advertiments sobre els fitxers &temporals"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Mostra el missatge de benvinguda en iniciar el programa"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "Modes"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Rang mínim de representació: mesuradors i so en forma d'ona (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (rang estret de valors, per a editar sons amb molta amplitud)"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "Importa / Exporta"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (rang PCM de les mostres de 8 bits)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "Quan importis fitxers de so"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (rang PCM de les mostres de 10 bits)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&Fes una còpia del fitxer sense comprimir abans d'editar-lo (més segur)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (rang PCM de les mostres de 16 bits)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Llig directament el so sense comprimir del fitxer original (més ràpid)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (límit aproximat de percepció de l'oïda humana)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "&Normalitza totes les pistes del projecte"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (rang PCM de les mostres de 24 bits)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "Quan s'exportin pistes a un fitxer de so"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Mode de visualització per defecte"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Mescla sempre totes les pistes en un canal estereofònic o monofònic"
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Altres opcions de l'interfície"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Fes servir una mescla personalitzada (per exemple, per a exportar a un fitxer multicanal 5.1)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Ajuda:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Mo&stra l'editor de metadades abans d'iniciar l'exportació"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Botó Solo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Teclat"
 
@@ -7891,22 +7642,26 @@ msgstr "&Establix"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Nota: Prement Cmd+Q es tancarà el programa. Totes les altres tecles són vàlides."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "Valors per &defecte"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Combinació de tecles"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Anomena i exporta les dreceres de teclat:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Desfés"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "S'ha produït un error en alçar les dreceres de teclat"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7916,6 +7671,14 @@ msgstr "Seleccioneu un fitxer XML amb les dreceres de teclat de l'Audacity..."
 msgid "Error loading keyboard shortcuts"
 msgstr "S'ha produït un error en carregar les dreceres de teclat"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Anomena i exporta les dreceres de teclat:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "S'ha produït un error en alçar les dreceres de teclat"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7925,10 +7688,61 @@ msgstr "La drecera de teclat '%s' es troba ja assignada a:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Desfés"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "Biblioteca d'exportació a MP3"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "Versió de la biblioteca MP3:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "Biblioteca MP3:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "Biblioteca MP3 LAME:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "&Descarrega"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "E/S de so"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Interpreta a través"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7942,6 +7756,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Previsualitza el tall"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7950,6 +7768,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Latència"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7962,12 +7784,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Període curt:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "Període llarg:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Previsualització d'efectes"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Ratolí"
 
@@ -7987,37 +7820,26 @@ msgstr "Acció d'orde"
 msgid "Buttons"
 msgstr "Botons"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Clic esquerre"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Selecciona"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Especifica el punt de selecció"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Arrossegament amb el botó principal"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Especifica el rang de selecció"
 
@@ -8045,12 +7867,8 @@ msgstr "Ctrl+clic esquerre"
 msgid "Set Selection Point and Play"
 msgstr "Establix el punt de selecció i interpreta"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Zoom"
 
@@ -8058,9 +7876,7 @@ msgstr "Zoom"
 msgid "Zoom in on Point"
 msgstr "Zoom en un punt"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Zoom en un rang"
 
@@ -8068,18 +7884,15 @@ msgstr "Zoom en un rang"
 msgid "same as right-drag"
 msgstr "el mateix que arrossegar a la dreta"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Clic amb el botó secundari"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Allunya un pas"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Arrossegament amb el botó secundari"
 
@@ -8115,8 +7928,7 @@ msgstr "Maj+Arrossega a l'esquerra"
 msgid "Time shift all clips in track"
 msgstr "Desplaça en el temps tots els clips d'una pista"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl+Arrossega a l'esquerra"
 
@@ -8132,9 +7944,7 @@ msgstr "Canvia l'envolupant d'amplificació"
 msgid "Change Sample"
 msgstr "Canvia la mostra"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Llapis"
@@ -8155,26 +7965,20 @@ msgstr "Canvia diverses mostres"
 msgid "Change ONE Sample only"
 msgstr "Canvia només UNA mostra"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Diverses"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "el mateix que l'eina de seleccionar"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "el mateix que l'eina de zoom"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Qualsevol"
 
@@ -8202,10 +8006,62 @@ msgstr "Ctrl+Roda del ratolí"
 msgid "Zoom in or out"
 msgstr "Apropa o allunya"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Longitud de la vista preliminar:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Vista preliminar abans de la regió retallada:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Vista preliminar després de la regió retallada:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Desplaçament en el temps mentre s'interpreta"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Preferències de l'Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "En alçar un projecte que depèn d'altres fitxers de so"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "&Copia sempre tot el so dins del projecte (el més segur)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "&No copiïs cap so"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "Pregunt&a a l'usuari/ària"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Alça automàticament"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Alça automàticament una còpia del projecte en una altra carpeta"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Alça automàticament cada:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minuts"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Rectangle"
@@ -8230,46 +8086,46 @@ msgstr "Freqüència de mostreig per defecte:"
 msgid "Default Sample Format:"
 msgstr "Format per defecte de les mostres:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Convertidor de freqüència en temps real:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Convertidor de freqüència de mostreig d'alta qualitat:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Arrodoniment en temps real:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Arrodoniment d'alta qualitat:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Conversió"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Convertidor de la freqüència de mostreig"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Arrodoniment"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Temps real:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Alta qualitat:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Enregistrament intel·ligent"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Reproducció a través del &Maquinari: Interpreta una pista nova mentre s'està enregistrant."
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8279,23 +8135,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Espectrogrames"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Grandària FFT"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - banda més ampla"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - per defecte"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - banda més estreta"
@@ -8304,21 +8195,26 @@ msgstr "32768 - banda més estreta"
 msgid "4096 - most narrowband"
 msgstr "4096 - banda més estreta"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Tipus de finestra:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "Punts d'omissió FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Pantalla"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "Escala de &grisos"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8328,17 +8224,17 @@ msgstr "Freqüència mínima (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Freqüència màxima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "Graella-&Y"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Localitza notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Arrodonix notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8348,6 +8244,14 @@ msgstr "Amplitud mínima (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "Nombre màx. de notes (1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Localitza notes"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Arrodonix notes"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "La freqüència màxima ha de ser un nombre enter"
@@ -8364,20 +8268,70 @@ msgstr "La freqüència mínima ha de ser un nombre enter"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "La freqüència mínima ha de ser d'almenys 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "L'amplitud mínima (dB) ha de ser un nombre enter"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "El nombre màxim de notes ha de ser un nombre enter entre 1 i 128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Informació"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "L'ús dels temes és una funcionalitat experimental.\n"
+"\n"
+"Per a provar-la feu clic a \"Alça la mostra del tema\" i després\n"
+"busqueu i modifiqueu les imatges i els colors a\n"
+"ImageCacheVxx.png mitjançant un editor d'imatges com \n"
+"ara el Gimp.\n"
+"\n"
+"Feu clic a \"Carrega la mostra del tema\" per a veure els canvis fets en les imatges \n"
+"i als colors.\n"
+"\n"
+"[Només la barra d'eines de control i els colors de les \n"
+"pistes de so es veuran afectats pels canvis, encara que al fitxer \n"
+"que conté la imatge s'hi vegin altres icones.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8408,100 +8362,97 @@ msgstr "Alça els fitxers"
 msgid "Load Files"
 msgstr "Carrega els fitxers"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Informació"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Simple"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "L'ús dels temes és una funcionalitat experimental.\n"
-"\n"
-"Per a provar-la feu clic a \"Alça la mostra del tema\" i després\n"
-"busqueu i modifiqueu les imatges i els colors a\n"
-"ImageCacheVxx.png mitjançant un editor d'imatges com \n"
-"ara el Gimp.\n"
-"\n"
-"Feu clic a \"Carrega la mostra del tema\" per a veure els canvis fets en les imatges \n"
-"i als colors.\n"
-"\n"
-"[Només la barra d'eines de control i els colors de les \n"
-"pistes de so es veuran afectats pels canvis, encara que al fitxer \n"
-"que conté la imatge s'hi vegin altres icones.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Heu compilat l'Audacity amb un botó extra, \n"
-"'Eixida de codi font', que servix per a alçar un fitxer en llenguatge C de \n"
-"la imatge de mostra, que podreu fer servir per a una nova compilació.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Si l'opció 'Carrega la mostra del tema a l'inici' es troba habilitada,\n"
-"la mostra del tema es carregarà quan el programa \n"
-"engegui.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Refresca la representació gràfica mentre es reproduix el so"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Alçar i carregar els fitxers individuals del tema us obliga a fer servir \n"
-"un fitxer individual per a cada imatge, però és \n"
-"la mateixa idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Zoom vertical automàtic que permeta &encabir-hi totes les pistes"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pausa"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Mode de visualització per defecte"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Interpreta"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "&Selecciona tot el so del projecte si no hi ha res seleccionat"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "Habilita les &línies de tall"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Habilita l'&arrossegament de les vores dreta i esquerra de la selecció"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Canvia la pista activa\" va passant &cíclicament per totes les pistes del projecte"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "L'edició d'un &clip pot moure altres clips"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "Botó Solo:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Atura't"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Vés a l'inici"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Vés al final"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "Pausa"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "Atura't"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "CleanSpeech"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "S'ha produït un error en obrir el dispositiu."
 
@@ -8513,13 +8464,11 @@ msgstr "L'enregistrament en la modalitat CleanSpeech no és possible quan una pi
 msgid "Recording not permitted"
 msgstr "L'enregistrament no és permès"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Dispositiu d'eixida"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Dispositiu d'entrada"
 
@@ -8543,29 +8492,21 @@ msgstr "Apropa"
 msgid "Zoom Out"
 msgstr "Allunya"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Commuta el zoom"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Encabix la selecció"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Encabix la selecció a la finestra"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Encabix el projecte"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Encabix el projecte a la finestra"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Picòmetre"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Encabix la selecció"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Encabix el projecte"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8613,22 +8554,27 @@ msgstr "Lliscador d'entrada"
 msgid "Input Source"
 msgstr "Font d'entrada"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Selecció"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "Freqüència del projecte (Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "Inici de la selecció:"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "Longitud"
 
@@ -8636,13 +8582,11 @@ msgstr "Longitud"
 msgid "hidden"
 msgstr "amagat"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr "Posició de so:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "Arrodonix"
 
@@ -8663,8 +8607,7 @@ msgstr "Fi de la selecció"
 msgid "Audacity %s ToolBar"
 msgstr "Barra d'eines de %s de l'Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Plafó d'eines"
 
@@ -8696,34 +8639,6 @@ msgstr "Esquerra=Apropa, Dreta=Allunya, Mig=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Feu clic i arrossegueu per a moure una pista en el temps"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Eines"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Eina de selecció"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Eina d'envolupant"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Eina de desplaçament en el temps"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Eina de zoom"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Eina de dibuix"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Mode multi-eina"
@@ -8732,24 +8647,11 @@ msgstr "Mode multi-eina"
 msgid "Slide Tool"
 msgstr "Eina de desplaçament"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Eina múltiple"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transcripció"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Reproduix a la velocitat seleccionada"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Reproduix-a-velocitat"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Velocitat de reproducció"
 
@@ -8757,74 +8659,38 @@ msgstr "Velocitat de reproducció"
 msgid "Adjust left selection to next onset"
 msgstr "Ajusta la selecció esquerra al següent punt d'inici"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Esquerra-a-PuntInici"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Ajusta la selecció dreta a l'anterior punt final"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Dreta-a-PuntFinal"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "Ajusta la selecció esquerra al següent punt final"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Esquerra-a-PuntFinal"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "Ajusta la selecció dreta a l'anterior punt inicial"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Dreta-a-PuntInicial"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Selecciona la regió de so al voltant del cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Selecciona-So"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Selecciona una regió de silenci al voltant del cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Selecciona-Silenci"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Crea etiquetes de manera automàtica des de les paraules"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Crea etiquetes"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Afig una etiqueta a la selecció"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Afig una etiqueta"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Calibra la clau de veu"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Calibra"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Ajusta la sensibilitat"
@@ -8857,6 +8723,46 @@ msgstr "Canvis de direcció (llindar alt)"
 msgid "Key type"
 msgstr "Tipus de clau"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Reproduix-a-velocitat"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Esquerra-a-PuntInici"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Dreta-a-PuntFinal"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Esquerra-a-PuntFinal"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Dreta-a-PuntInicial"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Selecciona-So"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Selecciona-Silenci"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Crea etiquetes"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Afig una etiqueta"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Calibra"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (inhabilitat)"
@@ -8871,15 +8777,13 @@ msgstr "Botó"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:212
 msgid "L"
 msgstr "E"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:214
 msgid "R"
 msgstr "D"
 
@@ -8895,8 +8799,7 @@ msgstr "Esq."
 msgid "Right"
 msgstr "Dreta"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:78 widgets/ErrorDialog.cpp:102
 msgid "Help"
 msgstr "Ajuda"
 
@@ -8929,8 +8832,7 @@ msgstr "Agafador"
 msgid "%d rows, %d columns"
 msgstr "%d files, %d columnes"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "Fila %d"
@@ -9009,8 +8911,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
 msgstr "Regle vertical"
 
@@ -9254,3 +9155,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "No s'ha pogut carregar el fitxer: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/cs.po b/locale/cs.po
index 9a14ab2..7720c0a 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -15,9 +15,7 @@ msgstr "Project-Id-Version: Audacity\n"
 "X-Poedit-Language: Czech\n"
 "X-Poedit-Country: CZECH REPUBLIC\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:142 AudacityApp.cpp:749 Menus.cpp:745
 msgid "&About Audacity..."
 msgstr "O programu &Audacity..."
 
@@ -30,11 +28,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
@@ -47,8 +45,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Český překlad: Aleš Tošovský, Dominik Joe Pantůček, Vladimír Krupka"
 
@@ -91,7 +88,7 @@ msgid "Special thanks:"
 msgstr "Zvláštní poděkování:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -99,14 +96,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
-#: AboutDialog.cpp:468
+#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Informace o sestavení"
 
-#: AboutDialog.cpp:305
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:305 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Povoleno"
 
@@ -119,33 +113,27 @@ msgid "File Format Support"
 msgstr "Formáty souborů"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:326 AboutDialog.cpp:328
 msgid "MP3 Importing"
 msgstr "Import MP3"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:335 AboutDialog.cpp:338
 msgid "Ogg Vorbis Import and Export"
 msgstr "Import a export Ogg Vorbis"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:342 AboutDialog.cpp:345
 msgid "ID3 tag support"
 msgstr "Podpora pro ID3 tagy"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:352 AboutDialog.cpp:355
 msgid "FLAC import and export"
 msgstr "Import a export FLAC"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:360 AboutDialog.cpp:363
 msgid "MP2 export"
 msgstr "Export do MP2"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:368 AboutDialog.cpp:371
 msgid "Import via QuickTime"
 msgstr "Import pomocí QuickTime"
 
@@ -154,15 +142,12 @@ msgstr "Import pomocí QuickTime"
 msgid "Core Libraries"
 msgstr "Základní knihovny"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
 #: AboutDialog.cpp:392
 msgid "Sample rate conversion"
 msgstr "Převodník vzorkovací frekvence"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:397 AboutDialog.cpp:400
 msgid "Audio playback and recording"
 msgstr "Přehrávání a záznam zvuku"
 
@@ -170,24 +155,17 @@ msgstr "Přehrávání a záznam zvuku"
 msgid "Features"
 msgstr "Funkce"
 
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:420
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:428
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:436
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:444
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Podpora zásuvných modulů"
 
-#: AboutDialog.cpp:449
-#: AboutDialog.cpp:452
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Podpora mixéru zvukové karty"
 
-#: AboutDialog.cpp:457
-#: AboutDialog.cpp:460
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Podpora pro změnu ladění a tempa"
 
@@ -195,8 +173,7 @@ msgstr "Podpora pro změnu ladění a tempa"
 msgid "Program build date: "
 msgstr "Datum sestavení programu:"
 
-#: AboutDialog.cpp:475
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Druh sestavení:"
 
@@ -221,16 +198,12 @@ msgstr "Adresář s nastavením:"
 msgid "GPL License"
 msgstr "Licence GPL"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:468 Project.cpp:1761
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s je už otevřen v jiném okně."
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
+#: AudacityApp.cpp:470 Project.cpp:1763 Project.cpp:1868 Project.cpp:2012
 #: Project.cpp:2114
 msgid "Error opening project"
 msgstr "Chyba při otevírání projektu"
@@ -256,21 +229,28 @@ msgstr "Měřič vstupu"
 msgid "Output Meter"
 msgstr "Měřič výstupu"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Předvolby...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Nový"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Otevřít..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:751 Menus.cpp:478
+msgid "&Preferences..."
+msgstr "&Předvolby..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Používám velikost bloku %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:855 AudacityApp.cpp:925
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Neznámá volba řádkového příkazu: %s\n"
@@ -387,16 +367,16 @@ msgstr "Chyba:"
 msgid "Error Initializing Audio"
 msgstr "Chyba při inicializaci zvuku"
 
-#: AudioIO.cpp:1208
-msgid "Latency problem"
-msgstr "Problém latence"
-
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
+#: AudioIO.cpp:1208
+msgid "Latency problem"
+msgstr "Problém latence"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatická oprava pádu"
@@ -411,8 +391,7 @@ msgstr "Při posledním spuštění Audacity některé projekty nebyly správně
 msgid "Recoverable projects"
 msgstr "Projekty k obnovení"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 msgid "Name"
 msgstr "Název"
 
@@ -442,38 +421,25 @@ msgstr "Skutečně nechcete opravit žádné projekty?\n"
 msgid "Confirm?"
 msgstr "Potvrdit?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Nebylo možné zjistit počet souborů v záložním adresáři"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2575 Menus.cpp:4514
+#: Project.cpp:1971 Project.cpp:3343 Project.cpp:3422 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1689 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:846
 msgid "Error"
 msgstr "Chyba"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Zvolte příkaz"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Příkaz"
@@ -482,8 +448,7 @@ msgstr "&Příkaz"
 msgid "&Edit Parameters"
 msgstr "&Upravit parametry"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Parametry"
 
@@ -529,8 +494,7 @@ msgstr "Použít %s s parametry\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Testovací režim"
 
@@ -539,8 +503,7 @@ msgstr "Testovací režim"
 msgid "Apply %s"
 msgstr "Použít %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Použít sadu příkazů"
@@ -565,24 +528,15 @@ msgstr "Použít na současný &projekt"
 msgid "Apply to &Files..."
 msgstr "Použít na &soubory..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&Zrušit"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Není vybrána sada"
 
@@ -619,8 +573,7 @@ msgstr "Aplikuje se..."
 msgid "File"
 msgstr "Soubor"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Editovat sady příkazů"
@@ -629,19 +582,12 @@ msgstr "Editovat sady příkazů"
 msgid "&Chains"
 msgstr "&Sady"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "Přid&at"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4201
 msgid "&Remove"
 msgstr "Odst&ranit"
 
@@ -655,8 +601,8 @@ msgstr "Ř&etězec (Editujte dvojklikem nebo stiskněte mezerník)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Ne"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -745,8 +691,7 @@ msgstr "Místo na disku"
 msgid "Copy Selected Audio Into Project"
 msgstr "Překopírovat vybraná zvuková data do projektu"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Zrušit ukládání"
 
@@ -758,8 +703,7 @@ msgstr "Nekopírovat žádná zvuková data"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Kopírovat všechna zvuková data do projektu (bezpečnější)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Zeptat se"
 
@@ -792,9 +736,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
 msgstr "Varování: na tomto disku je velmi málo volného místa. Prosím zvolte v nastavení jiný dočasný adresář."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Postup"
 
@@ -852,8 +794,7 @@ msgstr "'%s' nelze přejmenovat na '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Kontrolují se data projektu..."
 
@@ -902,14 +843,9 @@ msgstr "Pokračovat bez smazání a tiše obejít zvláštní soubory"
 msgid "Close project immediately with no changes"
 msgstr "Zavřít projekt hned a beze změn"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:490 export/Export.cpp:507
+#: export/Export.cpp:526 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Varování"
 
@@ -931,14 +867,11 @@ msgstr "Kontrola projektu zjistila že chybí %d vstupních souborů,\n"
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Nahradit chybějící data tichem [po uložení trvale]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Dočasně nahradit chybějící data tichem [je pro toto otevření]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Nyní bez dalších změn zavřít projekt"
 
@@ -1007,11 +940,11 @@ msgstr "Obdélníkový"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1069,11 +1002,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1096,8 +1030,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Frekvenční analýza"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:140 TrackPanel.cpp:563
 msgid "Spectrum"
 msgstr "Spektrum"
 
@@ -1125,8 +1058,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Algoritmus:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Velikost"
 
@@ -1154,10 +1086,7 @@ msgstr "Log frekvence"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
 msgstr "&Exportovat..."
 
@@ -1165,26 +1094,30 @@ msgstr "&Exportovat..."
 msgid "Export"
 msgstr ""
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Zavřít"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1109 effects/Equalization.cpp:1111
+#: effects/Equalization.cpp:1119 effects/Equalization.cpp:1185
+#: effects/Equalization.cpp:1394 effects/Equalization.cpp:1405
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:380
 msgid "dB"
 msgstr "dB"
 
@@ -1192,20 +1125,25 @@ msgstr "dB"
 #  cycles per second.
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1150
+#: effects/Equalization.cpp:1181 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Aby mohlo být vykresleno spektrum, musí mít všechny stopy stejnou vzorkovací frekvenci."
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Je vybráno příliš mnoho audia. Může být analyzováno jen počátečních %.1f vteřin."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Není vybráno dostatečné množství dat."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr ""
 
@@ -1227,12 +1165,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Exportovat spektrální data jako:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1079 LabelDialog.cpp:599 Menus.cpp:2207 Project.cpp:2441
+#: Project.cpp:3395 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Nelze zapisovat do souboru:"
 
@@ -1244,6 +1178,21 @@ msgstr "Frekvence (Hz)\tÚroveň (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Zpoždění (vteřiny)\tFrekvence (Hz)\tÚroveň"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Přejít na [[welcome|Uvítací obrazovka]]"
@@ -1321,7 +1270,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Nahrávání:</b> Nastavte nahrávací zařízení a zdroj vstupu, upravte vstupní úroveň a klikněte na tlačítko Nahrávat. </b></p><p> 1) [[inputdevice|Nastavte nahrávací zařízení]] buď z <i>Nastavení, Audio vstup/výstup</i> nebo na <i>Panelu zařízení</i>. Nastavení audio vstupu a výstupu umožňuje v případě potřeby nastavit stereo nahrávání. <br> 2) [[inputsource|Nastavte vstupní zdroj]] pro zvolené zařízení na roletovém menu <i>Mixážního panelu</i> (např. mikrofon, nebo lineární vstup), nebo (na některých systémech) v oddílu Nahrávací zařízení na kartě <i>Audio vstup/výstup</i> v <i>Nastavení</i> programu nebo na <i>Panelu zařízení</i><br> 3) [[inputlevel|Upravte vstupní úroveň]] pomocí pravého posuvníku na <i>Mixážním panelu</i>. Správné seřízení úrovně před začátkem nahrávání je rozhodující pro předcházení šumu nebo zkreslení.  </p><p> Další nápověda je v části \"Nahrávání\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQ</a>, v návodu <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Vaše první nahrávka</a> v <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">příručce</a>, na Wiki v části [[wiki:Recording_Tips|Tipy pro nahrávání]] a stránkách  [[wiki:Troubleshooting_Recordings|Potíže s nahráváním]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1345,7 +1294,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Abyste mohli poslouchat výsledky své práce v jiných mediálních programech, vyexportujte ji do zvukového souboru např. WAV nebo MP3 (některé formáty [[wma-proprietary|nejsou podporovány]]). [[save|Uložením projektu Audacity]] se vytvoří projektový soubor (a přidružený datový adresář _data), který obsahuje všechny vaše upravené stopy, takže se k práci můžete vrátit později. Jiné programy ale tyto projektové soubory nedokáží přečíst. </p><p> Export se prování v nabídce <i>Soubor &gt; Exportovat</i> a potom v roletce \"Uložit jako typ\" zvolte formát, do kterého chcete ukládat. Pokud chcete [[burncd|vypalovat CD]] pro samostatné CD přehrávače, zvolte si WAV nebo AIFF. Export do MP3 obstarává [[wiki:Lame_Installation|Lame Encoder]], který musí být nainstalován. </p><p> <i>Soubor &gt; Exportovat výběr</i> vyexportuje jen vybranou část zvukových dat. Více souborů najednou, buď každou stopu zvlášť nebo zvláštní soubor pro každou oblast s popiskou, vyexportujete pomocí nabídky <i>Soubor &gt; Vícenásobný export</i>. Nabídka <i>Stopy &gt; Vložit popisku k výběru</i> vám umožní [[wiki:Splitting_recordings_into_separate_tracks|rozdělit stopy]] z alba do samostatných vyexportovaných souborů. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1380,15 +1329,9 @@ msgstr "Úrovně k odstranění"
 msgid "&Discard"
 msgstr "O&dstranit"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:398
 msgid "&OK"
 msgstr "&OK"
 
@@ -1396,8 +1339,7 @@ msgstr "&OK"
 msgid "Unable to determine"
 msgstr "Není možno určit"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:195 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "bytů"
 
@@ -1413,13 +1355,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Stopa"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:53 Menus.cpp:4057 Menus.cpp:4085
 msgid "Label"
 msgstr "Popiska"
 
@@ -1431,8 +1379,7 @@ msgstr "Počáteční čas"
 msgid "End Time"
 msgstr "Koncový čas"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:98 Menus.cpp:627
 msgid "&Edit Labels"
 msgstr "&Upravit popisky"
 
@@ -1448,8 +1395,7 @@ msgstr "Vložit z&a"
 msgid "Insert &Before"
 msgstr "Vložit &před"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:127 Menus.cpp:194
 msgid "&Import..."
 msgstr "&Importovat..."
 
@@ -1468,20 +1414,15 @@ msgstr ""
 msgid "Confirm"
 msgstr "Potvrdit"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:514 Menus.cpp:3555
 msgid "Select a text file containing labels..."
 msgstr "Zvolte textový soubor s popiskami..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:518 Menus.cpp:3559
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Textové soubory (*.txt)|*.txt|Všechny soubory (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
+#: LabelDialog.cpp:532 Menus.cpp:3571 Project.cpp:1831 Project.cpp:1839
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Nelze otevřít soubor:"
@@ -1490,13 +1431,11 @@ msgstr "Nelze otevřít soubor:"
 msgid "No labels to export."
 msgstr "Žádné popisky k exportu."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:564 Menus.cpp:2172
 msgid "Export Labels As:"
 msgstr "Exportovat popisky jako:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:566 Menus.cpp:2170
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1508,10 +1447,7 @@ msgstr "Nová popisová stopa"
 msgid "Enter track name"
 msgstr "Vložte název stopy"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:555
 msgid "&Label Track"
 msgstr "&Popisová stopa"
 
@@ -1538,24 +1474,15 @@ msgstr "Otevírám Audacity projekt"
 msgid "&File"
 msgstr "&Soubor"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Nový\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Otevřít...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Zavřít\tCtrl+W"
+msgid "&Close"
+msgstr "&Zavřít"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Uložit projekt\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Uložit projekt"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
 msgstr "Uložit projekt &jako..."
 
@@ -1576,8 +1503,8 @@ msgid "&Import"
 msgstr "&Import"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Zvuková data...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Zvuková data..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1591,8 +1518,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "&Raw Data..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:210 Menus.cpp:239
 msgid "Expo&rt Selection..."
 msgstr "Expo&rtovat výběr jako..."
 
@@ -1608,12 +1534,11 @@ msgstr "&Vícenásobný export..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "Sada příkazů Čištění mluveného slova - Clean Speech..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "&Použít sadu příkazů..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
 msgstr "Upra&vit sady příkazů..."
 
@@ -1625,10 +1550,6 @@ msgstr "Exportovat &předvolby CleanSpeech..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "I&mportovat předvolby CleanSpeech..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "&Použít sadu příkazů..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "Nahrát so&ubor na server..."
@@ -1642,75 +1563,72 @@ msgid "&Print..."
 msgstr "&Tisk..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "&Ukončit program\tCtrl+Q"
+msgid "E&xit"
+msgstr "&Ukončit program"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "Úpr&avy"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Zpět\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Zpět"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Znovu"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "Vyjmou&t\tCtrl+X"
+msgid "Cu&t"
+msgstr "Vyjmou&t"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Rozděl&it a vyjmout\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Rozděl&it a vyjmout"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopírovat\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopírovat"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "&Vložit\tCtrl+V"
+msgid "&Paste"
+msgstr "&Vložit"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Oříznou&t\tCtrl+T"
+msgid "Tri&m"
+msgstr "Oříznou&t"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Smazat\tCtrl+K"
+msgid "&Delete"
+msgstr "&Smazat"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "R&ozdělit a vymazat\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "R&ozdělit a vymazat"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "RozdÄ›&lit\tCtrl+I"
+msgid "Sp&lit"
+msgstr "RozdÄ›&lit"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Rozdělit a &nový\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Rozdělit a &nový"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "Spo&jit\tCtrl+J"
+msgid "&Join"
+msgstr "Spo&jit"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Duplikov&at\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Duplikov&at"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1722,80 +1640,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Vyjmout\tAlt+X"
+msgid "&Cut"
+msgstr "&Vyjmout"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Rozdělit a vyjmout\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&Rozdělit a vyjmout"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ko&pírovat\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "&Smazat\tAlt+K"
+msgid "Co&py"
+msgstr "Ko&pírovat"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Rozdělit a vymazat\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Rozdělit a vymazat"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Tich&o\tAlt+L"
+msgid "Sile&nce"
+msgstr "Tich&o"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Rozděli&t\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "Spo&jit\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Rozděli&t"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "VÅ¡&e\tCtrl+A"
+msgid "&All"
+msgstr "VÅ¡&e"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Nic\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Nic"
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "&Levá značka na pozici přehrávání\t["
+msgid "&Left at Playback Position"
+msgstr "&Levá značka na pozici přehrávání"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "&Pravá značka na pozici přehrávání\t]"
+msgid "&Right at Playback Position"
+msgstr "&Pravá značka na pozici přehrávání"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Začátek &stopy na kurzor \tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "Začátek &stopy na kurzor "
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Kurzor na &konec stopy\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "Kurzor na &konec stopy"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Najít průsečíky s &nulou\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Najít průsečíky s &nulou"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1810,12 +1713,12 @@ msgid "to Selection En&d"
 msgstr "na konec vý&běru"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "na začátek stopy\tJ"
+msgid "to Track &Start"
+msgstr "na začátek stopy"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "na konec stopy\tK"
+msgid "to Track &End"
+msgstr "na konec stopy"
 
 #: Menus.cpp:450
 msgid "Re&gion Save"
@@ -1837,29 +1740,8 @@ msgstr "&Zamknout"
 msgid "&Unlock"
 msgstr "&Uvolnit"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Zapnout přilínání"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Vypnout přilínání"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Přilínat k mřížce"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Nepřilínat k mřížce"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1867,36 +1749,36 @@ msgid "&View"
 msgstr "&Zobrazit"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "Z&většit\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Z&většit"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normální velikost\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Normální velikost"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Z&menšit\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Z&menšit"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Přizpůsobit oknu\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Přizpůsobit oknu"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Přizpůsobit výš&ce okna\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Přizpůsobit výš&ce okna"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zvětšit podle výběru\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zvětšit podle výběru"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "Sbalit vše&chny stopy\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "Sbalit vše&chny stopy"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Rozbalit všechny &stopy\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "Rozbalit všechny &stopy"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1956,40 +1838,40 @@ msgstr "!Zjednodušený pohled"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Přehrát"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Přeskočit na začátek\tHome"
+msgid "Skip to Start"
+msgstr "Přeskočit na začátek"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Přeskočit na konec\tEnd"
+msgid "Skip to End"
+msgstr "Přeskočit na konec"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2017,15 +1899,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Zvuková stopa\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Zvuková stopa"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
 msgstr "&Stereo stopa"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:556 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Časová s&topa"
 
@@ -2034,8 +1915,8 @@ msgid "Mi&x and Render"
 msgstr "S&míchat a vykreslit"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Smíchat a vykreslit do nové stopy\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Smíchat a vykreslit do nové stopy"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -2046,12 +1927,12 @@ msgid "Remo&ve Tracks"
 msgstr "&Odstranit stopu(y)"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Vypnout všechny stopy\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "&Vypnout všechny stopy"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Zapnout všechny stopy\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "&Zapnout všechny stopy"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -2097,17 +1978,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "V&ložit popisku k výběru\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Vložit popisku na pozici &přehrávání\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Vložit popisku na pozici &přehrávání"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2133,20 +2014,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&kty"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Opakovat předchozí efekt\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "&Analyzovat"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "Vykreslit spektrum..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:737 Menus.cpp:740
 msgid "&Help"
 msgstr "&Nápověda"
 
@@ -2158,9 +2038,9 @@ msgstr "&O čištění mluveného slova Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "&Zobrazit uvítací zprávu..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "&Obsah..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2178,181 +2058,149 @@ msgstr "Spustit &rychlostní test (benchmark)..."
 msgid "&Audio Device Info..."
 msgstr "&Informace o zvukovém zařízení..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Výběr\tF1"
+msgid "Selection Tool"
+msgstr "Výběr"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Obálka\tF2"
+msgid "Envelope Tool"
+msgstr "Obálka"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Kreslení\tF3"
+msgid "Draw Tool"
+msgstr "Kreslení"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Lupa\tF4"
+msgid "Zoom Tool"
+msgstr "Lupa"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Časový posuv\tF5"
+msgid "Time Shift Tool"
+msgstr "Časový posuv"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Vícenástrojový režim\tF6"
+msgid "Multi Tool"
+msgstr "Vícenástrojový režim"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Další nástroj\tD"
+msgid "Next Tool"
+msgstr "Další nástroj"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Předchozí nástroj\tA"
+msgid "Previous Tool"
+msgstr "Předchozí nástroj"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Zastavit (Pause)\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Nahrávat\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Přehrát/zastavit a nastavit kurzor\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Přehrát/zastavit a nastavit kurzor"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Přehrát jednu sekundu\t1"
+msgid "Play One Second"
+msgstr "Přehrát jednu sekundu"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Přehrát do výběru\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Přehrát ve smyčce\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Přehrát do výběru"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Rozšíření výběru na začátek\tShift+Home"
+msgid "Selection to Start"
+msgstr "Rozšíření výběru na začátek"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Označit do konce\tShift+End"
+msgid "Selection to End"
+msgstr "Označit do konce"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Vymazat\tBackspace"
+msgid "DeleteKey"
+msgstr "Vymazat"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Vymazat2\tDelete"
+msgid "DeleteKey2"
+msgstr "Vymazat2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Předchozí stopa jako aktivní\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Předchozí stopa jako aktivní"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Předchozí stopa jako aktivní a změnit výběr\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Následující stopa jako aktivní\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Následující stopa jako aktivní"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Následující stopa jako aktivní a změnit výběr\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Přepnout vybranou stopu\tReturn"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Přepnout vybranou stopu\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Přepnout vybranou stopu"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Kurzor doleva\tLeft"
+msgid "Cursor Left"
+msgstr "Kurzor doleva"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Kurzor doleva\tšipka vlevo"
+msgid "Cursor Right"
+msgstr "Kurzor doleva"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Kurzor krátce doleva Left\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Kurzor krátce doleva Left"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Kurzor krátce doprava\t."
+msgid "Cursor Short Jump Right"
+msgstr "Kurzor krátce doprava"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Kurzor dlouze doleva\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Kurzor dlouze doleva"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Kurzor dlouze doprava\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Kurzor dlouze doprava"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Rozšíření výběru doleva\tShitf+Šipka doleva"
+msgid "Selection Extend Left"
+msgstr "Rozšíření výběru doleva"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Rozšíření výběru doprava\tShift+Šipka doprava"
+msgid "Selection Extend Right"
+msgstr "Rozšíření výběru doprava"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2363,52 +2211,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Nastavit  (nebo posunout) pravou hranici výběru"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Zmenšení výběru zleva\tCtrl+Shift+Šipka doprava"
+msgid "Selection Contract Left"
+msgstr "Zmenšení výběru zleva"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Zmenšení výběru zprava\tCtrl+Shift+Šipka doleva"
+msgid "Selection Contract Right"
+msgstr "Zmenšení výběru zprava"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Změnit panorama v aktivní stopě\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Změnit panorama v aktivní stopě"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Posunout panorama v aktivní stopě doleva\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Posunout panorama v aktivní stopě doleva"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Posunout panorama v aktivní stopě doleva\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Posunout panorama v aktivní stopě doleva"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Změnit citlivost v aktivní stopě\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Změnit citlivost v aktivní stopě"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Zvětšit citlivost v aktivní stopě\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Zvětšit citlivost v aktivní stopě"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Zmenšit citlivost v aktivní stopě\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Zmenšit citlivost v aktivní stopě"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Otevřít menu aktivní stopy\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Otevřít menu aktivní stopy"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Umlčet/Zapnout aktivní stopu\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Umlčet/Zapnout aktivní stopu"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Zapnout nebo vypnout solo pro vybranou stopu\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Zapnout nebo vypnout solo pro vybranou stopu"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Zavřít vybranou stopu\tShift+C"
+msgid "Close focused track"
+msgstr "Zavřít vybranou stopu"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2419,7 +2267,35 @@ msgid "Snap To Off"
 msgstr "Vypnout přilínání"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2480,8 +2356,8 @@ msgstr "Nejdříve musíte zvolit stopu."
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Opakovat %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Opakovat %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2512,9 +2388,7 @@ msgstr "Žádná akce k obnovení"
 msgid "Nothing to redo"
 msgstr "Žádná akce k zopakování"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2366 TrackPanel.cpp:605 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Vyjmout"
 
@@ -2530,10 +2404,7 @@ msgstr "Rozdělit a vyjmout"
 msgid "Split-cut to the clipboard"
 msgstr "Rozdělit a vyjmout do schránky"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
+#: Menus.cpp:2469 Menus.cpp:2540 Menus.cpp:2634 TrackPanel.cpp:607
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Vložit"
@@ -2542,8 +2413,7 @@ msgstr "Vložit"
 msgid "Pasted text from the clipboard"
 msgstr "Text vložený ze schránky"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:2540 Menus.cpp:2634
 msgid "Pasted from the clipboard"
 msgstr "Vloženo ze schránky"
 
@@ -2555,8 +2425,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Není možné kopírovat stereo zvuk do monofonní stopy."
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2670 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "&Oříznou"
 
@@ -2596,8 +2465,7 @@ msgstr "Spojit"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Ztlumeny zvolené stopy na %.2f sekund od %.2f"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2771 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Ticho"
 
@@ -2681,8 +2549,7 @@ msgstr "Rozpojit popisky"
 msgid "Disjoined labeled regions"
 msgstr "Rozpojené oblasti s popiskami"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:2947 TrackPanel.cpp:6121
 msgid "Split"
 msgstr "Rozdělit"
 
@@ -2698,15 +2565,6 @@ msgstr "Rozdělit do nové stopy"
 msgid "Split at labels"
 msgstr "Rozdělit na popisech (labels)"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Aby mohlo být vykresleno spektrum, musí mít všechny stopy stejnou vzorkovací frekvenci."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Je vybráno příliš mnoho audia. Může být analyzováno jen počátečních %.1f vteřin."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2745,8 +2603,7 @@ msgstr "VÅ¡echny soubory (*)|*"
 msgid "Edit the metadata tags"
 msgstr "Upravit tagy metadat"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:3669 export/Export.cpp:298
 msgid "Edit Metadata"
 msgstr "Upravit metadata"
 
@@ -2773,8 +2630,7 @@ msgstr "Do jedné nové stereo stopy bylo smícháno a vykresleno %d stop"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Do jedné nové mono stopy bylo smícháno a vykresleno %d stop"
 
-#: Menus.cpp:3736
-#: Mix.cpp:120
+#: Menus.cpp:3736 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "S&míchat a vykreslit"
 
@@ -2826,10 +2682,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Nová zvuková stopa vytvořena"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:3950 Menus.cpp:3973 Menus.cpp:3988 Menus.cpp:4008
 msgid "New Track"
 msgstr "Nová stopa"
 
@@ -2865,8 +2718,7 @@ msgstr "Uložit soubor s předvolbami CleanSpeech jako:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Předvolby CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4123 export/Export.cpp:515
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Omlouvám se, ale názvy cest delší než 256 znaků nejsou podporovány."
 
@@ -2874,8 +2726,7 @@ msgstr "Omlouvám se, ale názvy cest delší než 256 znaků nejsou podporován
 msgid "Problem encountered exporting presets."
 msgstr "Problém při exportu předvoleb."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4170 export/Export.cpp:408
 msgid "Unable to export"
 msgstr "Export není možný"
 
@@ -2887,9 +2738,7 @@ msgstr "&Odstranit stopu(y)"
 msgid "Removed audio track(s)"
 msgstr "Odstraněné audio stopy"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:4508 Menus.cpp:4527 export/ExportMP3.cpp:1926
 msgid "Resample"
 msgstr "Převzorkovat"
 
@@ -2914,8 +2763,7 @@ msgstr "Převzorkovat stopu"
 msgid "Resampled audio track(s)"
 msgstr "Převzorkované zvukové stopy"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Mixér"
 
@@ -2935,6 +2783,10 @@ msgstr "Vyskytly se problémy s tiskem."
 msgid "Print"
 msgstr "Tisk"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "Hlavní mix"
@@ -2948,14 +2800,11 @@ msgstr "Vítejte v Audacity verze %s"
 msgid "(Recovered)"
 msgstr "(Obnoveno)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "Nahrávat"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1482 TrackPanel.cpp:804
 msgid "Recorded Audio"
 msgstr "Nahraný zvuk"
 
@@ -2976,9 +2825,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Uložit změny?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Všechny soubory|*.*|Všechny podporované soubory|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2988,8 +2837,7 @@ msgstr "Zvolte jeden nebo více zvukových souborů..."
 msgid "Audacity projects|*.aup|"
 msgstr "Projekty Audacity|*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:1799 Project.cpp:2186
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3004,13 +2852,22 @@ msgstr ""
 msgid "1.0 or earlier"
 msgstr "1.0 nebo předešlé"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:1806 Project.cpp:2198
 msgid "Opening old project file"
 msgstr "Otevírá se starý projektový soubor"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "Chyba při načítání souboru."
 
@@ -3045,8 +2902,7 @@ msgstr "Obnovit"
 msgid "Project checker repaired file"
 msgstr "Projektová kontrola soubor opravila"
 
-#: Project.cpp:2001
-#: effects/Repair.h:29
+#: Project.cpp:2001 effects/Repair.h:29
 msgid "Repair"
 msgstr "Opravit"
 
@@ -3068,10 +2924,12 @@ msgstr "Soubor byl uložen Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Není možné otevřít soubor projektu"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3091,17 +2949,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "Chyba při ukládání projektu"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3112,16 +2975,12 @@ msgstr "Uloženo %s"
 msgid "Imported '%s'"
 msgstr "Importováno '%s'"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3649 Project.cpp:2587 Project.cpp:2612 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Import"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:2639 Project.cpp:2647
 msgid "Error importing"
 msgstr "Chyba při importu"
 
@@ -3164,8 +3023,7 @@ msgstr "Nový projekt vytvořen"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Vymazáno %.2f sekund at t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
+#: Project.cpp:2859 effects/Equalization.cpp:1262
 #: effects/Equalization.cpp:2593
 msgid "Delete"
 msgstr "Smazat"
@@ -3246,8 +3104,7 @@ msgstr "Libsamplerate od Erika de Castra Lopa"
 msgid "Libsamplerate error: %d\n"
 msgstr "Chyba Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Převzorkování zakázáno."
 
@@ -3266,6 +3123,163 @@ msgstr "24 bit PCM"
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Zvolit..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "nepravda (false)"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Nástroje"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Ovládání"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Mixér"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Metronom"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Zařízení"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transkripce"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "Panel stopy"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "Stopy"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Uloženo"
@@ -3274,14 +3288,15 @@ msgstr "Uloženo"
 msgid "Error trying to save file: "
 msgstr "Chyba při ukládání souboru:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "Vy&zkoušet"
@@ -3322,8 +3337,7 @@ msgstr "Název alba"
 msgid "Track Number"
 msgstr "Číslo stopy"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "Rok:"
 
@@ -3331,9 +3345,7 @@ msgstr "Rok:"
 msgid "Genre"
 msgstr "Žánr"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Komentáře"
 
@@ -3349,9 +3361,7 @@ msgstr "Jméno tagu"
 msgid "Tag Value"
 msgstr "Hodnota tagu"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Vymazat"
 
@@ -3367,71 +3377,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "Å ablona"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Načíst..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Uložit..."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "Nastavit jako výchozí"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "Editovat žánry"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "Resetovat žánry"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr "Není možné uložit žánrový soubor."
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Opravdu chcete vrátit seznam žánrů do výchozího stavu?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr "Není možné otevřít žánrový soubor."
 
@@ -3439,21 +3420,19 @@ msgstr "Není možné otevřít žánrový soubor."
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "Chyba při načítání metadat"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "Uložit metadata jako:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3486,8 +3465,7 @@ msgstr "Audacity nemůže najít soubor:\n"
 "  %s.\n"
 "Téma se nenačetlo."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3511,8 +3489,7 @@ msgstr "Žádná z očekávaných komponent vzhledu\n"
 "nebyla nalezena:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3535,12 +3512,8 @@ msgstr "Všechny potřebné soubory v:\n"
 "  %s\n"
 "už existují."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:307 TimeDialog.cpp:53
+#: effects/Noise.cpp:235 effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
 msgid "Duration"
 msgstr "Délka"
 
@@ -3548,6 +3521,14 @@ msgstr "Délka"
 msgid "Audacity Timer Record"
 msgstr "Časované nahrávání Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Začátek nahrávání"
@@ -3587,40 +3568,23 @@ msgstr "Čeká se na začátek nahrávání %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Panel stopy"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Další..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:556 TrackPanel.cpp:580 TrackPanel.cpp:589 TrackPanel.cpp:597
 msgid "Name..."
 msgstr "Název..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:558 TrackPanel.cpp:582 TrackPanel.cpp:593 TrackPanel.cpp:599
 msgid "Move Track Up"
 msgstr "Přesunout stopu nahoru"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:559 TrackPanel.cpp:583 TrackPanel.cpp:594 TrackPanel.cpp:600
 msgid "Move Track Down"
 msgstr "Přesunout stopu dolů"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:561 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "Křivka"
 
@@ -3636,18 +3600,15 @@ msgstr "Záznam spektra (f)"
 msgid "Pitch (EAC)"
 msgstr "Výška tónu (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:569 TrackPanel.cpp:6091
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:570 TrackPanel.cpp:6090
 msgid "Left Channel"
 msgstr "Levý kanál"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:571 TrackPanel.cpp:6090
 msgid "Right Channel"
 msgstr "Pravý kanál"
 
@@ -3659,12 +3620,15 @@ msgstr "Vytvořit stereo stopu"
 msgid "Split Stereo Track"
 msgstr "Rozdělit stereo stopu"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "Nastavit formát vzorkování"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:577 TrackPanel.cpp:6320
 msgid "Set Rate"
 msgstr "Nastavit frekvenci"
 
@@ -3684,8 +3648,7 @@ msgstr "Písmo..."
 msgid "Set Range..."
 msgstr "Nastavit rozsah..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:606 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Kopírovat"
 
@@ -3731,21 +3694,13 @@ msgstr "Kliknutím a tahem myší nastavte hranici výběru"
 msgid "Click and drag to move right selection boundary."
 msgstr "Kliknutím a tahem myší změňte pravou hranici výběru."
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1702 TrackPanel.cpp:3993 TrackPanel.cpp:4025
+#: TrackPanel.cpp:4280 TrackPanel.cpp:6432 TrackPanel.cpp:6452
 msgid "Modified Label"
 msgstr "Upravená popiska"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1703 TrackPanel.cpp:3994 TrackPanel.cpp:4026
+#: TrackPanel.cpp:4281 TrackPanel.cpp:6433 TrackPanel.cpp:6453
 msgid "Label Edit"
 msgstr "Úprava popisky"
 
@@ -3753,8 +3708,7 @@ msgstr "Úprava popisky"
 msgid "Adjusted envelope."
 msgstr "Upravená obálka."
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1931 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Obálka"
 
@@ -3776,9 +3730,7 @@ msgstr "doprava"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr ""
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2092 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Časový posuv"
@@ -3817,40 +3769,30 @@ msgid "Moved pan slider"
 msgstr "Změna nastavení panorama (pan)"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5726 TrackPanel.cpp:7149
 msgid "Gain"
 msgstr "Hlasitost"
 
 #  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5664 TrackPanel.cpp:7156
 msgid "Pan"
 msgstr "Vyvážení"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3610 TrackPanel.cpp:6385 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "nahoru"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3614 TrackPanel.cpp:6386 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "dolů"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3621 TrackPanel.cpp:6381
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Přesunuto '%s' %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3624 TrackPanel.cpp:6387
 msgid "Move Track"
 msgstr "Přesunout stopu"
 
@@ -3882,14 +3824,6 @@ msgstr "Upravené panorama"
 msgid "Adjusted gain"
 msgstr "Upravená citlivost"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "Stopu s aktivním zvukem nelze smazat"
@@ -3910,8 +3844,7 @@ msgstr "Levý,"
 msgid "Right, "
 msgstr "Pravý,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6100 TrackPanel.cpp:6225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Změněno '%s' na %s"
@@ -3925,6 +3858,11 @@ msgstr "Kanál"
 msgid "Split stereo track '%s'"
 msgstr "Rozdělit stereo stopu  '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3951,8 +3889,7 @@ msgstr "Změna formátu"
 msgid "Change lower speed limit (%) to:"
 msgstr "Změnit dolní limit rychlosti  (%) na:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6350 TrackPanel.cpp:6351
 msgid "Lower speed limit"
 msgstr "Dolní limit rychlosti"
 
@@ -3960,8 +3897,7 @@ msgstr "Dolní limit rychlosti"
 msgid "Change upper speed limit (%) to:"
 msgstr "Změnit horní limit rychlosti  (%) na:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6357 TrackPanel.cpp:6358
 msgid "Upper speed limit"
 msgstr "Horní limit rychlosti"
 
@@ -4003,6 +3939,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "Umlčet"
@@ -4036,10 +3976,7 @@ msgstr "Solo zapnuto"
 msgid " Select On"
 msgstr "Výběr zapnut"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Po použití hlasového klíče je výběr příliš malý."
 
@@ -4066,8 +4003,7 @@ msgstr ""
 msgid "Audio Track"
 msgstr "Zvuková stopa"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr "K vložení výběru není dost místa"
 
@@ -4085,10 +4021,10 @@ msgstr "Moduly 1 - %i"
 msgid "Plugins %i to %i"
 msgstr "Moduly %i - %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Z nějakého důvodu nepřístupné. Pokuste se nedříve vybrat nějaká zvuková data?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4154,9 +4090,7 @@ msgstr "Nová špičková amplituda (dB):"
 msgid "Allow clipping"
 msgstr "Povolit clipping"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
 msgid "-Infinity"
 msgstr "-Nekonečno"
 
@@ -4172,9 +4106,7 @@ msgstr "Zesiluji"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Je vybrána stopa, která neobsahuje audio data.Automatické zeslabení může zpracovávat jen audio stopy."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Automatické zeslabení (Auto Duck)"
@@ -4196,17 +4128,11 @@ msgid "Maximum pause:"
 msgstr "Maximální pauza:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "sekund"
 
@@ -4226,8 +4152,7 @@ msgstr "Vnitřní sestupná hrana:"
 msgid "Inner fade up length:"
 msgstr "Vnitřní náběžná hrana:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Práh:"
 
@@ -4247,12 +4172,9 @@ msgstr "Automatické zeslabení..."
 msgid "Processing Auto Duck..."
 msgstr "Aplikuje se Automatické zeslabení..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1042
+#: widgets/ErrorDialog.cpp:79 widgets/ErrorDialog.cpp:105
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "OK"
@@ -4317,14 +4239,12 @@ msgstr "Změnit výšku ladění bez změny tempa"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "napsali Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "pomocí SoundTouch od Olli Parviainen"
 
@@ -4373,10 +4293,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "na"
@@ -4385,8 +4303,7 @@ msgstr "na"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Procento změny:"
@@ -4404,8 +4321,7 @@ msgstr "Změnit výšku..."
 msgid "Changing Pitch"
 msgstr "Měním výšku"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Použitý efekt: %s %.1f%%"
@@ -4557,12 +4473,11 @@ msgstr "Čas doběhu:"
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Po kompresi normalizovat na 0 dB"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Práh: %d dB"
@@ -4593,7 +4508,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Čas náběhu: %.1f sek."
@@ -4604,7 +4518,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Čas doběhu: %.1f sek."
@@ -4617,6 +4530,10 @@ msgstr "Kompresor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Aplikuji kompresi dynamického rozsahu..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4636,19 +4553,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4657,15 +4561,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Začátek"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "Konec"
 
@@ -4685,6 +4586,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4709,8 +4615,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr ""
 
@@ -4730,16 +4635,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Ovládání"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4850,18 +4747,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "DTMF Tónový generátor"
@@ -4874,9 +4759,7 @@ msgstr "od Salva Ventury (2006)"
 msgid "DTMF sequence:"
 msgstr "DTMF sekvence:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:446 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "Amplituda (0-1)"
@@ -4897,9 +4780,7 @@ msgstr "Pracovní cyklus:"
 msgid "Tone duration:"
 msgstr "Délka tónu:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
+#: effects/DtmfGen.cpp:482 effects/DtmfGen.cpp:484 effects/DtmfGen.cpp:560
 #: effects/DtmfGen.cpp:561
 msgid "ms"
 msgstr ""
@@ -4981,8 +4862,7 @@ msgstr "Kosinová"
 msgid "Cubic"
 msgstr "Kubická"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:362 effects/Equalization.cpp:412
 msgid "Equalization"
 msgstr "Ekvalizace"
 
@@ -4994,6 +4874,10 @@ msgstr "Chyba při načítání EQ křivky"
 msgid "custom"
 msgstr "uživatelský"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -5032,8 +4916,7 @@ msgstr "Délka filtru:"
 msgid "Select curve:"
 msgstr "Vyberte křivku:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
+#: effects/Equalization.cpp:1259 effects/Equalization.cpp:2498
 #: export/ExportMultiple.cpp:826
 msgid "Save As..."
 msgstr "Uložit jako..."
@@ -5150,8 +5033,7 @@ msgstr "Nejtěžší"
 msgid "by Lynn Allan"
 msgstr "od Lynna Allana"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "Stupeň vyrovnání"
 
@@ -5200,10 +5082,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mixér"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5443,15 +5321,9 @@ msgstr "Odstraňuji šum"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "nepravda (false)"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "pravda (true)"
 
@@ -5509,8 +5381,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO frekvence (Hz):"
 
@@ -5518,8 +5389,7 @@ msgstr "LFO frekvence (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO Startovní fáze (deg.):"
 
@@ -5580,8 +5450,7 @@ msgstr "Opakovat %d-krát"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Stopy jsou příliš dlouhé pro opakování výběru."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Opakovat"
 
@@ -5594,8 +5463,7 @@ msgstr "Počet opakování:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Nová délka výběru:"
 
@@ -5667,9 +5535,7 @@ msgstr "Odstranění špiček..."
 msgid "Applying Spike Cleaner..."
 msgstr "Aplikuje se odstranění špiček..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
-#: effects/StereoToMono.h:23
+#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "&Stereo na mono"
 
@@ -5726,8 +5592,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr ""
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:75 widgets/Meter.cpp:379
 msgid "Linear"
 msgstr "Lineární"
 
@@ -5759,8 +5624,7 @@ msgstr "Sawtooth (pilový zub)"
 msgid "Square, no alias"
 msgstr ""
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "Frekvence (Hz)"
 
@@ -5808,28 +5672,43 @@ msgstr "Generuji tón"
 msgid "All tracks must have the same sample rate"
 msgstr "Všechny stopy musí mít stejnou vzorkovací frekvenci"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Ořezat ticho"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Maximální délka ticha:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "milisekund"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Maximální délka ticha:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Práh ticha: "
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Délka musí být alespoň 1 millisekunda"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5839,17 +5718,55 @@ msgstr "Ořezat ticho..."
 msgid "Truncating Silence..."
 msgstr "Ořezává se ticho..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Omlouvám se, ale VST efekt nemůže být aplikován na stereo stopy, u kterých  nesouhlasí individuální kanály."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Nastavení efektu"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Nic"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Nemohu provést záměnu"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Parametry pro VST plug-in"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5898,22 +5815,10 @@ msgstr "Aplikuji efekt: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Omlouvám se, ale efekt zásuvného modulu nemůže být aplikován na stereo stopy, u kterých  nesouhlasí individuální kanály."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Nic"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Autor:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Nastavení efektu"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Délka (sekundy)"
@@ -5934,8 +5839,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Aplikuji Nyquist efekt..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Příkazový řádek Nyquistu..."
 
@@ -5955,8 +5859,7 @@ msgstr " Nyquist"
 msgid "Nyquist Output: "
 msgstr "Výstup Nyquistu:"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:598 effects/nyquist/Nyquist.cpp:609
 msgid "Nyquist returned the value:"
 msgstr "Nyquist vrátil hodnotu:"
 
@@ -6064,8 +5967,7 @@ msgstr " - Pravý"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:976 export/Export.cpp:1021
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Výstupní kanály: %2d"
@@ -6095,8 +5997,7 @@ msgstr ""
 msgid "(external program)"
 msgstr "(externí program)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:250 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Audio nelze exportovat do %s"
@@ -6113,9 +6014,21 @@ msgstr "Exportuji celý projekt pomocí command-line enkóderu"
 msgid "Command Output"
 msgstr "Výstup příkazu"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6183,6 +6096,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Kvalita:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6316,12 +6233,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Kvalita:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6340,10 +6253,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6532,12 +6445,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6648,6 +6561,17 @@ msgstr "Bitová hloubka:"
 msgid "FLAC Files"
 msgstr "Soubory FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Vybraná zvuková data se exportují jako FLAC"
@@ -6672,9 +6596,7 @@ msgstr "Soubory MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "S touto vzorkovací a bitovou frekvencí  nelze exportovat do MP2"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:240 export/ExportMP3.cpp:1768 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "Cílový soubor není možné otevřít pro čtení"
 
@@ -6688,9 +6610,7 @@ msgstr "Exportují se vybraná zvuková data %d kbps"
 msgid "Exporting entire file at %d kbps"
 msgstr "Exportuje se celý soubor se vzorkováním %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr ""
 
@@ -6706,9 +6626,7 @@ msgstr "(Menší soubory)"
 msgid "Fast"
 msgstr "Rychlý"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "Standardní"
@@ -6753,8 +6671,7 @@ msgstr "Průměr"
 msgid "Constant"
 msgstr "Konstantní"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Kvalita"
@@ -6873,10 +6790,8 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:95 export/ExportMultiple.cpp:374
+#: export/ExportMultiple.cpp:598 export/ExportMultiple.cpp:765
 msgid "Export Multiple"
 msgstr "Vícenásobný export"
 
@@ -6906,11 +6821,6 @@ msgstr "Možnosti..."
 msgid "Export location:"
 msgstr "Umístění exportu:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Zvolit..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "Vytvořit"
@@ -6935,10 +6845,6 @@ msgstr "První jméno souboru:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Stopy"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "Pojmenování souborů:"
@@ -6972,6 +6878,35 @@ msgstr "\"%s\" úspěšně vytvořeno."
 msgid "Choose a location to save the exported files"
 msgstr "Zvolte umístění pro exportované soubory"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6981,23 +6916,10 @@ msgstr "\"%s\" neexistuje.\n"
 "\n"
 "Chcete ho vytvořit?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
 msgid "Edit metadata"
 msgstr "Upravit metadata"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d bylo úspěšně vyexportováno."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Po exportu %d souborů došlo k chybám."
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7165,7 +7087,6 @@ msgstr "\"%s\" je soubor Advanced Audio Coding. \n"
 "Bude třeba provést převod na některý podporovaný formát, např. WAV nebo AIFF."
 
 #: import/Import.cpp:271
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7269,6 +7190,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Soubory FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Seznam souborů prostého textu"
@@ -7280,9 +7205,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Chybná pozice okna v LOF souboru."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "LOF chyba"
@@ -7339,8 +7262,7 @@ msgstr "Chybná Vorbis bitstream hlavička"
 msgid "Internal logic fault"
 msgstr "Vnitřní logická chyba"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, a další nekomprimované typy"
 
@@ -7437,36 +7359,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Audio vstup/výstup (I/O)"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Dávka"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Chování"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Přehrávání"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Režim Cl&eanSpeech (Uživatelské rozhraní)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Zařízení"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Rozhraní"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Používá:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Přehrávání"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7476,99 +7403,15 @@ msgstr "Nahrávání"
 msgid "Channels"
 msgstr "Kanály"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Hardware Playthrough: Během nahrávání novou stopu zároveň přehrávat"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Software Playthrough: Během nahrávání novou stopu zároveň přehrávat"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Zkoušky efektů"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Délka zkušebního poslechu:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latence"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Vyrovnávací paměť:\n"
-"(vyšší = větší latence)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Úprava latence:(záporná = nazpět)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Krátký posun:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Dlouhý posun:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Dávka"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Chování"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Režim Cl&eanSpeech (Uživatelské rozhraní)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Adresáře"
@@ -7585,34 +7428,31 @@ msgstr "Umístění:"
 msgid "Free Space:"
 msgstr "Volné místo:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Automatické ukládání"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Automaticky uložit kopii projektu do zvláštního adresáře"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Automaticky uložit každých:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minut"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Zvuková vyrovnávací paměť"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Zvolte umístění pro dočasný adresář"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7631,228 +7471,145 @@ msgstr "Do adresáře %s nelze zapisovat"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Změna dočasného adresáře se projeví až po restartu Audacity."
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Knihovna pro exportu do MP3"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "Verze MP3 knihovny:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "V prohlížeči"
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "MP3 knihovna:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Z internetu"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "Knihovna LAME MP3:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Stáhnout"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "Při importu audio souborů"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "Před editací v&ytvořit kopii souboru (bezpečnější)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "Číst přímo z původního soubo&ru (rychlejší)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Normalizovat všechny stopy v projektu"
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "Při ukládání projektů, které závisejí na dalších zvukových souborech"
-
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "Vždy &kopírovat všechna zvuková data  do projektu (nejbezpečnější)"
-
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&Nekopírovat žádná zvuková data"
-
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "Zept&at se uživatele"
-
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "Při exportu stop do audio souboru"
-
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Vždy smíchat stopy do stereo nebo mono kaná&lů."
-
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "Po&užít uživatelský mix (například export do multikanálového souboru 5.1)"
-
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Před provedením exportu zobrazit editor &metadat "
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Rozhraní"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (mělký rozsah pro vysokofrekvenční editaci)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "V prohlížeči"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM rozsah 8 bitových vzorků)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Z internetu"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM rozsah 10 bitových vzorků)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Jednoduchý"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM rozsah 16 bitových vzorků)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Během přehrávání obnovovat zobrazení"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (přibližná mez lidského sluchu)"
 
-#: prefs/GUIPrefs.cpp:96
-#, fuzzy
-msgid "Cl&osing last window quits Audacity"
-msgstr "Zavření posledního okna ukončí Audacity"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM rozsah 24 bitových vzorků)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "&Povolit přetahování levé a pravé hranice výběru"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Zobrazení"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Automaticky při&způsobovat stopy svislému zvětšení"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Úprava &klipu může způsobit posunutí jiných klipů"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "Nápověda:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "Pokud není vybrán žádný projekt, &vybrat všechny"
+#: prefs/GUIPrefs.cpp:96
+#, fuzzy
+msgid "Cl&osing last window quits Audacity"
+msgstr "Zavření posledního okna ukončí Audacity"
 
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "Ukončení déle trvajících operací oznámit &pípnutím"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Zobrazit / Skrýt"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Zobrazova&t varování týkající se dočasných souborů"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Při startu programu zobrazit uvítací zprávu"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "Režimy"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (mělký rozsah pro vysokofrekvenční editaci)"
-
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM rozsah 8 bitových vzorků)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "Při importu audio souborů"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (PCM rozsah 10 bitových vzorků)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "Před editací v&ytvořit kopii souboru (bezpečnější)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM rozsah 16 bitových vzorků)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "Číst přímo z původního soubo&ru (rychlejší)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (přibližná mez lidského sluchu)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "&Normalizovat všechny stopy v projektu"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM rozsah 24 bitových vzorků)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "Při exportu stop do audio souboru"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Výchozí režim zobrazení"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Vždy smíchat stopy do stereo nebo mono kaná&lů."
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Další volby rozhraní"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "Po&užít uživatelský mix (například export do multikanálového souboru 5.1)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Nápověda:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Před provedením exportu zobrazit editor &metadat "
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Tlačítko Solo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Klávesnice"
 
@@ -7876,22 +7633,26 @@ msgstr "Na&stavit"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Poznámka: Stisknutí Cmd+Q ukončí. Všechny ostatní klávesy jsou platné."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&Výchozí hodnoty"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Kombinace kláves"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportovat klávesové zkratky jako:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Zpět"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Chyba při ukládání klávesových zkratek"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7901,6 +7662,14 @@ msgstr "Zvolte XML soubor obsahující klávesové zkratky pro Audacity..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Chyba při načítání klávesových zkratek"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportovat klávesové zkratky jako:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Chyba při ukládání klávesových zkratek"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7910,10 +7679,61 @@ msgstr "Klávesová zkratka '%s' už je použita pro:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Zpět"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "Knihovna pro exportu do MP3"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "Verze MP3 knihovny:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "MP3 knihovna:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "Knihovna LAME MP3:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "&Stáhnout"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Audio vstup/výstup (I/O)"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7927,6 +7747,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7935,6 +7759,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Latence"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7947,12 +7775,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Krátký posun:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "Dlouhý posun:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Zkoušky efektů"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Myš"
 
@@ -7972,37 +7811,26 @@ msgstr "Činnost příkazu"
 msgid "Buttons"
 msgstr "Tlačítka"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Levé myšítko"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Označit"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Nastavit bod výběru"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Tažení  za levé myšítko"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Nastavit rozsah výběru"
 
@@ -8030,12 +7858,8 @@ msgstr "Ctrl-Levé myšítko"
 msgid "Set Selection Point and Play"
 msgstr "Nastavit bod výběru a přehrát"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Zvětšit"
 
@@ -8043,9 +7867,7 @@ msgstr "Zvětšit"
 msgid "Zoom in on Point"
 msgstr "Zvětšit na bod"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Zvětšit na rozsah"
 
@@ -8053,18 +7875,15 @@ msgstr "Zvětšit na rozsah"
 msgid "same as right-drag"
 msgstr "stejné jako tažení vpravo"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Pravé myšítko"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Zmenšit o krok"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Tažení pravým myšítkem"
 
@@ -8100,8 +7919,7 @@ msgstr ""
 msgid "Time shift all clips in track"
 msgstr "Časový posun všech klipů ve stopě"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-Tažení levým myšítkem"
 
@@ -8117,9 +7935,7 @@ msgstr "Změnit křivku hlasitosti"
 msgid "Change Sample"
 msgstr "Změnit vzorek"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Tužka"
@@ -8140,26 +7956,20 @@ msgstr "Změnit několikrát"
 msgid "Change ONE Sample only"
 msgstr "Změnit jen JEDEN vzorek"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "stejně jako nástroj výběru"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "stejně jako nástroj zvětšení"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Jakýkoliv"
 
@@ -8187,10 +7997,62 @@ msgstr "Ctrl-Rotace-Kolečka"
 msgid "Zoom in or out"
 msgstr "Zvětšit nebo zmenšit"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Délka zkušebního poslechu:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Nastavení Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "Při ukládání projektů, které závisejí na dalších zvukových souborech"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "Vždy &kopírovat všechna zvuková data  do projektu (nejbezpečnější)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "&Nekopírovat žádná zvuková data"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "Zept&at se uživatele"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Automatické ukládání"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Automaticky uložit kopii projektu do zvláštního adresáře"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Automaticky uložit každých:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minut"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Obdélníkový"
@@ -8215,46 +8077,46 @@ msgstr "Výchozí rychlost vzorkování:"
 msgid "Default Sample Format:"
 msgstr "Výchozí formát vzorkování:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Konvertor vzorkovací rychlosti v reálném čase:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Vysoce kvalitní konvertor vzorkovací rychlosti:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
+msgstr "Převodník vzorkovací frekvence"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Míchání v reálném čase"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Vysoce kvalitní konvertor vzorkovací rychlosti:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Převod"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Převodník vzorkovací frekvence"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Hardware Playthrough: Během nahrávání novou stopu zároveň přehrávat"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "V reálném čase:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Vysoká kvalita:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Inteligentní nahrávání"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8264,23 +8126,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Spektrogramy"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT velikost"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - výchozí"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - nejužší pásmo"
@@ -8289,21 +8186,26 @@ msgstr "32768 - nejužší pásmo"
 msgid "4096 - most narrowband"
 msgstr "4096 - nejužší pásmo"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Druh okna:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Zobrazení"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Odstíny šedi"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8313,16 +8215,16 @@ msgstr "Minimální frekvence (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Maximální frekvence (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8333,6 +8235,14 @@ msgstr "Minimální amplituda (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "Maximální frekvence musí být integer"
@@ -8349,20 +8259,57 @@ msgstr "Minimální frekvence musí být celé číslo"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Minimální frekvence musí být nejméně 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Minimální amplituda (dB) musí být celé číslo"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Maximální počet not musí být celé číslo v rozmezí 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Vzhled programu"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8393,80 +8340,96 @@ msgstr "Uložit soubory"
 msgid "Load Files"
 msgstr "Otevřít soubory"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Jednoduchý"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Během přehrávání obnovovat zobrazení"
+
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Automaticky při&způsobovat stopy svislému zvětšení"
+
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Výchozí režim zobrazení"
+
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "Pokud není vybrán žádný projekt, &vybrat všechny"
+
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "&Povolit přetahování levé a pravé hranice výběru"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "Úprava &klipu může způsobit posunutí jiných klipů"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "Tlačítko Solo:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pozastavit (Pause)"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Přehrát"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "Zastavit (Pause)"
+
+#: Menus.cpp:785
 msgid "Stop"
 msgstr "Stop"
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Přeskočit na začátek"
+#: toolbars/ControlToolBar.cpp:194
+msgid "Clean Speech"
+msgstr "Čištění mluveného slova - Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Přeskočit na konec"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:194
-msgid "Clean Speech"
-msgstr "Čištění mluveného slova - Clean Speech"
-
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "Chyba při otevírání zvukového zařízení."
 
@@ -8478,13 +8441,11 @@ msgstr ""
 msgid "Recording not permitted"
 msgstr "Nahrávání není povoleno"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Výstupní zařízení"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Vstupní zařízení"
 
@@ -8508,29 +8469,21 @@ msgstr "Zvětšit"
 msgid "Zoom Out"
 msgstr "Zmenšit"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Prohození zvětšení"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Přizpůsobit výběru"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Přizpůsobit výběr velikosti okna"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Celý projekt"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Přizpůsobit projekt velikosti okna"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Metronom"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Přizpůsobit výběru"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Celý projekt"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8576,22 +8529,27 @@ msgstr ""
 msgid "Input Source"
 msgstr "Vstupní zdroj"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Výběr"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "Vzorkování (Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "Začátek výběru:"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "Délka"
 
@@ -8599,13 +8557,11 @@ msgstr "Délka"
 msgid "hidden"
 msgstr "skryto"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr "Pozice:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "Přilínaní"
 
@@ -8626,8 +8582,7 @@ msgstr "Konec výběru"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity %s panel"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr ""
 
@@ -8659,34 +8614,6 @@ msgstr "Levé=zvětšit, Pravé=zmenšit,Střední=normální velikost"
 msgid "Click and drag to move a track in time"
 msgstr "Kliknutím a tahem myší umístěte stopy na čas"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Nástroje"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Výběr"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Obálka"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Časový posuv"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Lupa"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Kreslení"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Vícenástrojový režim"
@@ -8695,24 +8622,11 @@ msgstr "Vícenástrojový režim"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Vícenásobný nástroj"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transkripce"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Přehrát nastavenou rychlostí"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Přehrát nastavenou rychlostí"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Rychlost přehrávání"
 
@@ -8720,74 +8634,38 @@ msgstr "Rychlost přehrávání"
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Automaticky vytvářet popisky ze slov"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Vytvořit popisky"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Přidat popisku k výběru"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Přidat popisku"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Kalibrovat"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Nastavit citlivost"
@@ -8820,6 +8698,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Přehrát nastavenou rychlostí"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Vytvořit popisky"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Přidat popisku"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Kalibrovat"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (zakázáno)"
@@ -8835,15 +8753,13 @@ msgstr "Tlačítko"
 #  i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:212
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:214
 msgid "R"
 msgstr "P"
 
@@ -8859,8 +8775,7 @@ msgstr "Levý"
 msgid "Right"
 msgstr "Pravý"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:78 widgets/ErrorDialog.cpp:102
 msgid "Help"
 msgstr "Nápověda"
 
@@ -8893,8 +8808,7 @@ msgstr ""
 msgid "%d rows, %d columns"
 msgstr "%d řádků, %d sloupců"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "Řádek %d"
@@ -8973,8 +8887,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
 msgstr "Svislé měřítko"
 
@@ -9218,3 +9131,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "Nelze načíst soubor: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/cy.po b/locale/cy.po
index 0ef3f27..b1f3791 100644
--- a/locale/cy.po
+++ b/locale/cy.po
@@ -31,16 +31,15 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
 msgid "translator_credits"
 msgstr "Cyfieithwyd y fersiwn Gymraeg gan f00."
 
@@ -83,7 +82,7 @@ msgid "Special thanks:"
 msgstr "Diolchiadau arbennig:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -194,18 +193,13 @@ msgstr ""
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
 msgid "%s is already open in another window."
 msgstr "Mae %s yn barod yn agored mewn ffenest arall."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
 msgid "Error opening project"
 msgstr "Gwall wrth agor cywaith"
 
@@ -230,20 +224,28 @@ msgstr "Mesurydd Mewnbwn"
 msgid "Output Meter"
 msgstr "Mesurydd Allbwn"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Newydd"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Agor..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:626
-#: ../src/AudacityApp.cpp:696
+#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Defnyddio maint bloc o %ld\n"
 
-#: ../src/AudacityApp.cpp:641
-#: ../src/AudacityApp.cpp:711
+#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Opsiwn llinell orchymun anhybus: %s\n"
@@ -358,14 +360,14 @@ msgstr "Gwall:"
 msgid "Error Initializing Audio"
 msgstr "Gwall Wrth Baratoi'r Sain"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -414,10 +416,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "Gwall"
 
@@ -593,8 +593,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -912,11 +913,11 @@ msgstr "Petryalog"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -972,11 +973,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -999,8 +1001,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Dadansoddiad Amledd"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
 msgid "Spectrum"
 msgstr "Sbectrwm"
 
@@ -1058,15 +1059,25 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "Cau"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr "dB"
@@ -1076,6 +1087,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "I blotio'r sbectrwm, rhaid i bob trac dewisiedig fod o'r un graddfa samplo."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Dewiswyd gormod o sain. Dim ond y %.1f eiliad o sain gaith ei ddadansoddi."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Ni ddewiswyd digon o ddata."
@@ -1102,9 +1122,7 @@ msgstr "sbectrwm.txt"
 msgid "Export Spectral Data As:"
 msgstr "Allforio Data Sbectral Fel:"
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr "Methwyd ysgrifennu i'r ffeil: "
@@ -1117,6 +1135,21 @@ msgstr "Amledd (Hz)\tLefel (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Oedi (eiliadau)\tAmledd (Hz)\tLefel"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1194,7 +1227,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1218,7 +1251,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1287,6 +1320,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1346,9 +1387,7 @@ msgstr "Dewisiwch ffeil testun yn cynnwys labeli..."
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Ffeiliau Testun (*.txt)|*.txt|Pob Ffeil (*.*)|*.*"
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
+#: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Methwyd agor y ffeil: "
@@ -1402,21 +1441,13 @@ msgstr "Yn Agor Cywaith Audacity"
 msgid "&File"
 msgstr "&Ffeil"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Newydd\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Agor...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Cau\tCtrl+W"
+msgid "&Close"
+msgstr "&Cau"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "Ca&dw Cywaith\tCtrl+S"
+msgid "&Save Project"
+msgstr "Ca&dw Cywaith"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1439,7 +1470,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1470,8 +1501,8 @@ msgstr "Allforio Nife&r..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1486,10 +1517,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1504,7 +1531,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1512,63 +1539,63 @@ msgid "&Edit"
 msgstr "&Golygu"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Dadwneud\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Dadwneud"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Ailwneud"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "&Torri\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Torri"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Copio\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copio"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Gludo\tCtrl+V"
+msgid "&Paste"
+msgstr "&Gludo"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "Di&leu\tCtrl+K"
+msgid "&Delete"
+msgstr "Di&leu"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1581,47 +1608,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1629,33 +1641,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Popeth\tCtrl+A"
+msgid "&All"
+msgstr "&Popeth"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Canfod Croesiadau Sero\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Canfod Croesiadau Sero"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1672,11 +1684,11 @@ msgid "to Selection En&d"
 msgstr "i Ddiwedd y Dewisiad"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1699,29 +1711,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Troi Snap-I Ymlaen"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Troi Snap-I i Ffwrdd"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Troi Snap Grid Ymlaen"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Troi Snap Grid I Ffwrdd"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1729,35 +1720,35 @@ msgid "&View"
 msgstr "G&weld"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Nesáu\tCtrl+1"
+msgid "Zoom &In"
+msgstr "&Nesáu"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Golygfa &Arferol\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Golygfa &Arferol"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "&Pellhau\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "&Pellhau"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Ffitio yn y Ffenest\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Ffitio yn y Ffenest"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Ffitio'n &Fertigol\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Ffitio'n &Fertigol"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Chwyddo i'r Dewisiad\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Chwyddo i'r Dewisiad"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1819,39 +1810,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Neidio i'r Dechrau\tHome"
+msgid "Skip to Start"
+msgstr "Neidio i'r Dechrau"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Neidio i'r Diwedd\tEnd"
+msgid "Skip to End"
+msgstr "Neidio i'r Diwedd"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1879,7 +1870,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1896,7 +1887,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1908,11 +1899,11 @@ msgid "Remo&ve Tracks"
 msgstr "&Dileu Traciau"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1963,19 +1954,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Ychwanegu Label ger y Dewisiad\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Ychwanegu Label ger y Safle Chwarae\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Ychwanegu Label ger y Safle Chwarae"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2001,21 +1991,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Effeithio"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Ailadrodd yr effaith ddiwethaf\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Dadansoddi"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
 msgid "&Help"
 msgstr "&Help"
 
@@ -2027,8 +2016,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2047,181 +2036,149 @@ msgstr "&Rhedeg Meincnod..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Erfyn Dewis\tF1"
+msgid "Selection Tool"
+msgstr "Erfyn Dewis"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Erfyn Chwyddamlen\tF2"
+msgid "Envelope Tool"
+msgstr "Erfyn Chwyddamlen"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Erfyn Darlunio\tF3"
+msgid "Draw Tool"
+msgstr "Erfyn Darlunio"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Erfyn Chwyddo\tF4"
+msgid "Zoom Tool"
+msgstr "Erfyn Chwyddo"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Erfyn Symud Trac Sain\tF5"
+msgid "Time Shift Tool"
+msgstr "Erfyn Symud Trac Sain"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Aml-Erfynl\tF6"
+msgid "Multi Tool"
+msgstr "Aml-Erfynl"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Erfyn Nesaf\tD"
+msgid "Next Tool"
+msgstr "Erfyn Nesaf"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Erfyn Blaenorol\tA"
+msgid "Previous Tool"
+msgstr "Erfyn Blaenorol"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Aros\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Seibio\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Recordio\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Chwarae Un Eiliad\t1"
+msgid "Play One Second"
+msgstr "Chwarae Un Eiliad"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Chwarae I'r Dewisiad\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Chwarae'n Gylch\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Chwarae I'r Dewisiad"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Dewisiad i'r Dechrau\tShift+Home"
+msgid "Selection to Start"
+msgstr "Dewisiad i'r Dechrau"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Dewisiad i'r Diwedd\tShift+End"
+msgid "Selection to End"
+msgstr "Dewisiad i'r Diwedd"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "BysellDdileu\tBackspace"
+msgid "DeleteKey"
+msgstr "BysellDdileu"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "BysellDdileu2\tDelete"
+msgid "DeleteKey2"
+msgstr "BysellDdileu2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Cyrchydd i'r Chwith\tLeft"
+msgid "Cursor Left"
+msgstr "Cyrchydd i'r Chwith"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Cyrchydd i'r Dde\tRight"
+msgid "Cursor Right"
+msgstr "Cyrchydd i'r Dde"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Estyn Dewisiad i'r Chwith\tShift+Chwith"
+msgid "Selection Extend Left"
+msgstr "Estyn Dewisiad i'r Chwith"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Estyn Dewisiad i'r Dde\tShift+Dde"
+msgid "Selection Extend Right"
+msgstr "Estyn Dewisiad i'r Dde"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2232,51 +2189,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Lleihau'r Dewisiad i'r Chwith\tCtrl+Shift+Dde"
+msgid "Selection Contract Left"
+msgstr "Lleihau'r Dewisiad i'r Chwith"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Lleihau'r Dewisiad i'r Dde\tCtrl+Shift+Chwith"
+msgid "Selection Contract Right"
+msgstr "Lleihau'r Dewisiad i'r Dde"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2288,7 +2245,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2349,8 +2334,8 @@ msgstr "Rhaid dewis trac yn gyntaf."
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Ailadrodd %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Ailadrodd %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2381,8 +2366,7 @@ msgstr "Dim i'w ddadwneud"
 msgid "Nothing to redo"
 msgstr "Dim i'w ailwneud"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
 msgid "Cut"
 msgstr "Torri"
 
@@ -2398,9 +2382,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Paste"
 msgstr "Gludo"
 
@@ -2408,8 +2390,7 @@ msgstr "Gludo"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Pasted from the clipboard"
 msgstr "Gludo o'r clipfwrdd"
 
@@ -2461,8 +2442,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Wedi distewi'r traciau a ddewiswyd am %.2f eiliad ger %.2f"
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
 msgid "Silence"
 msgstr "Distewi"
 
@@ -2546,8 +2526,7 @@ msgstr ""
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:2009
-#: ../src/TrackPanel.cpp:4134
+#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
 msgid "Split"
 msgstr "Hollti"
 
@@ -2563,15 +2542,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Hollti wrth labeli"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "I blotio'r sbectrwm, rhaid i bob trac dewisiedig fod o'r un graddfa samplo."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Dewiswyd gormod o sain. Dim ond y %.1f eiliad o sain gaith ei ddadansoddi."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2689,9 +2659,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Crëwyd trac sain newydd"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
 #: ../src/Menus.cpp:3052
 msgid "New Track"
 msgstr "Trac Newydd"
@@ -2773,8 +2741,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "Cymysgu"
 
@@ -2794,6 +2761,10 @@ msgstr "Roedd anhawster wrth argraffu."
 msgid "Print"
 msgstr "Argraffu"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2807,14 +2778,11 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Recordio"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr "Sain a Recordwyd"
 
@@ -2835,12 +2803,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Cadw'r newidiadau?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
 msgid "Select one or more audio files..."
 msgstr "Dewis un neu fwy o ffeiliau sain..."
 
@@ -2867,8 +2834,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Gwall wrth agor ffeil"
 
@@ -2924,10 +2901,12 @@ msgstr "Cadwyd y ffeil gan defnyddio Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Methu agor ffeil cywaith"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2947,17 +2926,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Gwall wrth gadw'r cywaith"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -2968,10 +2952,8 @@ msgstr "Cadwyd %s"
 msgid "Imported '%s'"
 msgstr "Mewnforwyd '%s'"
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
 #: ../src/import/ImportRaw.cpp:408
 msgid "Import"
 msgstr "Mewnforio"
@@ -3099,8 +3081,7 @@ msgstr "Libsamplerate gan Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Gwall Libsamplerate: %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr "Analluogwyd ailsamplo."
 
@@ -3119,6 +3100,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Dewis..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Traciau"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3127,6 +3265,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3265,6 +3407,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3337,6 +3483,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3376,35 +3530,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
 msgstr "Arall..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "Enwi..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr "Symud Trac i Fynu"
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr "Symud Trac i Lawr"
 
@@ -3444,13 +3586,15 @@ msgstr "Gwneud Trac Stereo"
 msgid "Split Stereo Track"
 msgstr "Hollti Trac Stereo"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Gosod Fformat Sampl"
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr "Gosod Graddfa Samplo"
 
@@ -3526,8 +3670,7 @@ msgstr "Golygu Label"
 msgid "Adjusted envelope."
 msgstr "Addaswyd y chwyddamlen."
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
 msgid "Envelope"
 msgstr "Chwyddamlen"
 
@@ -3587,24 +3730,20 @@ msgid "Moved pan slider"
 msgstr "Symudwyd y llithrydd trem"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "Cynnydd"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr "Trem"
 
-#: ../src/TrackPanel.cpp:4387
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
 msgid "up"
 msgstr "i fynu"
 
-#: ../src/TrackPanel.cpp:4388
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
 msgid "down"
 msgstr "i lawr"
 
@@ -3645,14 +3784,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3673,8 +3804,7 @@ msgstr "Chwith,"
 msgid "Right, "
 msgstr "Dde,"
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Newidwyd '%s' i %s"
@@ -3688,6 +3818,11 @@ msgstr "Sianel"
 msgid "Split stereo track '%s'"
 msgstr "Trac stereo holltedig '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3714,8 +3849,7 @@ msgstr "Newid Fformat"
 msgid "Change lower speed limit (%) to:"
 msgstr "Newid y cyfyngiad cyflymder isaf (%) i:"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr "Cyfyngiad cyflymder isaf"
 
@@ -3723,8 +3857,7 @@ msgstr "Cyfyngiad cyflymder isaf"
 msgid "Change upper speed limit (%) to:"
 msgstr "Newid y cyfyngiad cyflymder uchaf (%) i:"
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
 msgid "Upper speed limit"
 msgstr "Cyfyngiad cylfymder uchaf"
 
@@ -3766,6 +3899,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Mudo"
@@ -3844,8 +3981,9 @@ msgstr "Ategion 1 i %i"
 msgid "Plugins %i to %i"
 msgstr "Ategion %i i %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -3992,31 +4130,19 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721 ../src/effects/Amplify.cpp:187
+#: ../src/effects/AvcCompressor.cpp:716 ../src/effects/BassBoost.cpp:332
+#: ../src/effects/ChangePitch.cpp:393 ../src/effects/ChangeSpeed.cpp:379
+#: ../src/effects/ChangeTempo.cpp:284 ../src/effects/Compressor.cpp:484
+#: ../src/effects/Echo.cpp:242 ../src/effects/Equalization.cpp:731
+#: ../src/effects/Filter.cpp:482 ../src/effects/Normalize.cpp:258
+#: ../src/effects/Phaser.cpp:576 ../src/effects/Repeat.cpp:251
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Wahwah.cpp:563 ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "OK"
 
@@ -4079,14 +4205,12 @@ msgstr "Newid Traw"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Newid Traw heb Newid Tempo"
 
-#: ../src/effects/ChangePitch.cpp:247
-#: ../src/effects/ChangeSpeed.cpp:287
+#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
 #: ../src/effects/ChangeTempo.cpp:164
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "gan Vaughan Johnson && Dominic Mazzoni"
 
-#: ../src/effects/ChangePitch.cpp:252
-#: ../src/effects/ChangeTempo.cpp:169
+#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "yn defnyddio SoundTouch, gan Olli Parviainen"
 
@@ -4135,10 +4259,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:284
-#: ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351
-#: ../src/effects/ChangeTempo.cpp:223
+#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
+#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
 #: ../src/effects/ChangeTempo.cpp:254
 msgid "to"
 msgstr "i"
@@ -4147,8 +4269,7 @@ msgstr "i"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
+#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Canran Newid:"
@@ -4166,8 +4287,7 @@ msgstr "Newid Traw..."
 msgid "Changing Pitch"
 msgstr "Yn Newid Traw"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Gweithredwyd effaith: %s %.1f%%"
@@ -4314,12 +4434,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Normaleiddio i 0dB ar ôl cywasgu"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Trothwy: %d dB"
@@ -4350,7 +4469,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Amser Ymosod: %.1f eiliad"
@@ -4373,6 +4491,10 @@ msgstr "Cywasgydd..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Gweithredu Cywasgiad yr Amrediad Ddeinamig..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4392,19 +4514,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4438,6 +4547,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4482,16 +4596,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4602,18 +4708,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4673,8 +4767,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Gweithredwyd effaith: %s oedi = %f eiliad, ffactor gwanhau = %f"
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "Atsain"
 
@@ -4706,8 +4799,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Gwall wrth agor y ddyfais sain. Gwiriwch osodiadau'r ddyfais allbwn a graddfa samplo y cywaith."
 
@@ -4740,6 +4832,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4940,10 +5036,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5179,10 +5271,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5240,8 +5328,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr "Amledd LFO (Hz):"
 
@@ -5249,8 +5336,7 @@ msgstr "Amledd LFO (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr "Gwedd Gychwyn LFO (gradd):"
 
@@ -5309,8 +5395,7 @@ msgstr "Ailadroddwyd %d o weithiau"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Traciau yn rhy hir i aildraethu'r dewisiad."
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "Ailadrodd"
 
@@ -5323,8 +5408,7 @@ msgstr "Nifer o weithiau i ailadrodd: "
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr "Hyd dewisiad newydd: "
 
@@ -5535,20 +5619,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5559,17 +5660,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Mae'n ddrwg gen i, nid yw'n bosib cyflawni Effeithiau VST pan fo traciau unigol y sianeli ddim yn cydweddu."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Gosodiadau'r Effaith"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Dim"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Methu prosesu'r amnewid"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Paramedrau Ategyn VST:"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5617,22 +5757,11 @@ msgstr "Gweithredu effaith: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Dim"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Awdur:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Gosodiadau'r Effaith"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Hyd (eiliadau)"
 
@@ -5823,9 +5952,21 @@ msgstr "Allforio'r cywaith cyfan gan ddefnyddio'r amgodydd llinell orchymun"
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5893,6 +6034,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6026,12 +6171,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6050,10 +6191,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6242,12 +6383,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6358,6 +6499,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6382,8 +6534,7 @@ msgstr ""
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "Methu agor y ffeil ar gyfer ysgrifennu"
 
@@ -6582,8 +6733,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
 #: ../src/export/ExportMultiple.cpp:562
 msgid "Export Multiple"
 msgstr "Allforio Niferus"
@@ -6614,11 +6764,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Lleoliad allforio:"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Dewis..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6643,10 +6788,6 @@ msgstr "Enw'r ffeil gyntaf:"
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Traciau"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "Enwi ffeiliau:"
@@ -6680,25 +6821,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Dewis lleoliad i gadw'r ffeiliau allforio"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:528
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6782,7 +6942,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Gwall (efallai na gadwyd y ffeil): %s"
@@ -6948,8 +7107,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Rhestr o Ffeiliau mewn fformat testun sylfaenol"
 
@@ -6959,10 +7121,8 @@ msgid "Invalid window offset in LOF file."
 msgstr "Atred ffenest annilys yn y ffeil LOF."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr "Gwall LOF"
 
@@ -7105,131 +7265,59 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Sain M/A"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Chwarae Nôl"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Recordio"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Rhyngwyneb"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Chwarae Nôl"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Recordio"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "Ffolderau"
 
@@ -7245,34 +7333,31 @@ msgstr "Lleoliad:"
 msgid "Free Space:"
 msgstr "Lle Rhydd:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Dewisiwch leoliad ar gyfer y ffolder dros dro"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7291,220 +7376,141 @@ msgstr "Nid oes posib ysgrifennu i'r ffolder %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Ni fydd newidiadau i'r ffolder dros dro yn cael effaith tan ailgychwyn Audacity"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Fersiwn Rhaglengell MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Rhyngwyneb"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (amrediad bas ar gyfer golygu osgled-uchel)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (amrediad PCM samplau 8 did)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (amrediad PCM samplau 16 did)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (bras derfyn clyw dynol)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (amrediad PCM samplau 24 did)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (amrediad bas ar gyfer golygu osgled-uchel)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (amrediad PCM samplau 8 did)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (amrediad PCM samplau 16 did)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (bras derfyn clyw dynol)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (amrediad PCM samplau 24 did)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7535,17 +7541,22 @@ msgstr "Nodyn: Bydd pwyso Cmd+Q yn cau. Mae pob bysell arall yn ddilys."
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Cyfuniad Bysyll"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Allforio Byrlwybrau Allweddell Fel:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Dadwneud"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Gwall tra'n cadw byrlwybrau'r allweddell"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7555,6 +7566,14 @@ msgstr "Dewisiwch ffeil XML yn cynnwys byrlwybrau bysellfwrdd Audacity..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Gwall tra'n llwytho byrlwybrau'r allweddell."
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Allforio Byrlwybrau Allweddell Fel:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Gwall tra'n cadw byrlwybrau'r allweddell"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7562,9 +7581,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Dadwneud"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Fersiwn Rhaglengell MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Sain M/A"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7579,6 +7650,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7587,6 +7662,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7599,6 +7678,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7623,14 +7714,12 @@ msgstr "Gweithred Orchymun"
 msgid "Buttons"
 msgstr "Botymau"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr "Clic-Chwith"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "Dewis"
@@ -7639,10 +7728,8 @@ msgstr "Dewis"
 msgid "Set Selection Point"
 msgstr "Gosod Pwynt Dewisiad"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr "Chiwth-Lusgo"
@@ -7675,10 +7762,8 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr "Chwyddo"
 
@@ -7754,10 +7839,8 @@ msgstr "Newid Chwyddamlen"
 msgid "Change Sample"
 msgstr "Newid Sampl"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "Pensil"
 
@@ -7777,10 +7860,8 @@ msgstr "Newid Sawl Sampl"
 msgid "Change ONE Sample only"
 msgstr "Newid UN sampl yn unig"
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 msgid "Multi"
 msgstr "Aml"
 
@@ -7794,8 +7875,7 @@ msgstr "Fel yr erfyn dewis"
 msgid "same as zoom tool"
 msgstr "Fel yr erfyn chwyddo"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "Unrhyw"
 
@@ -7823,10 +7903,62 @@ msgstr "Ctrl-Cylchdroi-Olwyn"
 msgid "Zoom in or out"
 msgstr "Nesáu neu Pellhau"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Hoffterau Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Petryal"
@@ -7851,44 +7983,44 @@ msgstr "Graddfa Samplo Rhagosodedig:"
 msgid "Default Sample Format:"
 msgstr "Fformat Sampl Rhagosodedig:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Trosydd graddfa samplo amser real"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Troswr Graddfa Samplo Ansawdd Uchel:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "'Dither' amser real:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "'Dither' Ansawdd Uchel:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7903,18 +8035,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Sbectrogramau"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Maint FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - rhagosodedig"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7923,20 +8091,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - amrediad mwyaf cul"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7947,16 +8119,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Amledd Uchaf (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7967,6 +8139,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Rhaid i'r amledd uchaf for yn gyfanrif"
@@ -7983,18 +8163,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8023,78 +8242,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Seibio"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Aros"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Neidio i'r Dechrau"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Neidio i'r Diwedd"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Seibio"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Aros"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8135,28 +8370,20 @@ msgstr "Nesáu"
 msgid "Zoom Out"
 msgstr "Pellhau"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Newid Chwyddo"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Ffitio'r dewisiad i'r ffenest"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Ffitio'r cywaith i'r ffenest"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8203,6 +8430,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8281,30 +8516,6 @@ msgstr "Chwith=Nesáu, Dde=Pellhau, Canol=Arferol"
 msgid "Click and drag to move a track in time"
 msgstr "Cliciwch a llusgwch i symud y trac yn ôl neu ymlaen"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Erfyn Dewis"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Erfyn Chwyddamlen"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Erfyn Symud Trac Sain"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Erfyn Chwyddo"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Erfyn Darlunio"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Modd Aml-Erfyn"
@@ -8313,22 +8524,10 @@ msgstr "Modd Aml-Erfyn"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8337,74 +8536,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8437,6 +8600,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (analluogwyd)"
@@ -8450,14 +8653,12 @@ msgid "Button"
 msgstr ""
 
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "Ch"
 
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "Dd"
 
@@ -8740,3 +8941,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/da.po b/locale/da.po
index 8e8fd1d..04a496a 100644
--- a/locale/da.po
+++ b/locale/da.po
@@ -29,11 +29,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -85,7 +85,7 @@ msgid "Special thanks:"
 msgstr "Særlig tak til:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -226,10 +226,20 @@ msgstr "Input viser"
 msgid "Output Meter"
 msgstr "Udgangsmeter"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Ny"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Åbn..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
 #: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
@@ -352,14 +362,14 @@ msgstr "Fejl:"
 msgid "Error Initializing Audio"
 msgstr "Fejl ved lydkort initialisering"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -585,8 +595,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -906,11 +917,11 @@ msgstr "Rektangul
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -968,11 +979,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1058,11 +1070,24 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
 #: ../src/effects/NoiseRemoval.cpp:463 ../src/effects/ClickRemoval.cpp:371
 msgid "Close"
 msgstr "Luk"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr ""
@@ -1073,6 +1098,15 @@ msgstr ""
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "For at lave et spektrumplot skal alle markerede spor have samme samplerate."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Der er markeret for meget lyd.  Kun de første %.1f sekunders lyd vil blive analyseret."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "For lidt data markeret."
@@ -1113,6 +1147,21 @@ msgstr "Frekvens (Hz)\tNiveau (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Forsinkelse (sekunder)\tFrekvens (Hz)\tNiveau"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1190,7 +1239,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1214,7 +1263,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1283,6 +1332,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1396,21 +1453,13 @@ msgstr "
 msgid "&File"
 msgstr "&Fil"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Ny\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Åbn...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Luk\tCtrl+W"
+msgid "&Close"
+msgstr "&Luk"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Gem projekt\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Gem projekt"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1433,7 +1482,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1465,8 +1514,8 @@ msgstr "Eksport
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1481,10 +1530,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1499,7 +1544,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1507,63 +1552,63 @@ msgid "&Edit"
 msgstr "&Rediger"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Fortryd\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Fortryd"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Gentag"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "Klip\tCtrl+X"
+msgid "Cu&t"
+msgstr "Klip"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopier\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopier"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Sæt ind\tCtrl+V"
+msgid "&Paste"
+msgstr "&Sæt ind"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Slet\tCrl+K"
+msgid "&Delete"
+msgstr "&Slet"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1576,47 +1621,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1624,33 +1654,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Alle\tCtrl+A"
+msgid "&All"
+msgstr "&Alle"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Find 0-krysninger\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Find 0-krysninger"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1667,11 +1697,11 @@ msgid "to Selection En&d"
 msgstr "til enden af det markerede"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1694,29 +1724,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Slå Hop-til til"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Slå hop-til fra"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Slå gitter-hop til"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Slå gitter-hop fra"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1724,35 +1733,35 @@ msgid "&View"
 msgstr "&Visning"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoom &ind\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Zoom &ind"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normal\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normal"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zoom &ud\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Zoom &ud"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Tilpas til vinduet\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Tilpas til vinduet"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Tilpas Lodret\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Tilpas Lodret"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom til markering\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zoom til markering"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1814,39 +1823,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Hop til begyndelsen\tHome"
+msgid "Skip to Start"
+msgstr "Hop til begyndelsen"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Hop til slutningen\tEnd"
+msgid "Skip to End"
+msgstr "Hop til slutningen"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1874,7 +1883,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1891,7 +1900,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1903,11 +1912,11 @@ msgid "Remo&ve Tracks"
 msgstr "Fjern spor"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1958,18 +1967,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Tilføj etiket ved markering"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
+msgid "Add Label At &Playback Position"
 msgstr "Tilføj etiket ved markering"
 
 #: Menus.cpp:716
@@ -1996,14 +2004,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Effe&kt"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Gentag sidste effekt\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Analyser"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
@@ -2021,8 +2029,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2041,181 +2049,149 @@ msgstr "&K
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Markeringsværktøj\tF1"
+msgid "Selection Tool"
+msgstr "Markeringsværktøj"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Konvoluteringsværktøj\tF2"
+msgid "Envelope Tool"
+msgstr "Konvoluteringsværktøj"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Tegneværktøj\tF3"
+msgid "Draw Tool"
+msgstr "Tegneværktøj"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Zoom værktøj\tF4"
+msgid "Zoom Tool"
+msgstr "Zoom værktøj"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Tidsforskydningsværktøj\tF5"
+msgid "Time Shift Tool"
+msgstr "Tidsforskydningsværktøj"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Multi-værktøj mode\tF6"
+msgid "Multi Tool"
+msgstr "Multi-værktøj mode"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Næste værktøj\tD"
+msgid "Next Tool"
+msgstr "Næste værktøj"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Foregående værktøj\tA"
+msgid "Previous Tool"
+msgstr "Foregående værktøj"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Pause\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Indspil\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Spil et sekund\t1"
+msgid "Play One Second"
+msgstr "Spil et sekund"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Spil til markering\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Afspil i loop\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Spil til markering"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Start markeringen ved begyndelsen\tShift+Home"
+msgid "Selection to Start"
+msgstr "Start markeringen ved begyndelsen"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Markér til slutningen\tShift+End"
+msgid "Selection to End"
+msgstr "Markér til slutningen"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "Deletetast\tTilbagepil"
+msgid "DeleteKey"
+msgstr "Deletetast"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "Slettetast2\tSlet"
+msgid "DeleteKey2"
+msgstr "Slettetast2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Markør til venstre\tVenstre"
+msgid "Cursor Left"
+msgstr "Markør til venstre"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Markør til højre\tHøjre"
+msgid "Cursor Right"
+msgstr "Markør til højre"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Udvid markering mod venstre\tShift+venstrepil"
+msgid "Selection Extend Left"
+msgstr "Udvid markering mod venstre"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Udvid markering mod højre\tShift+højrepil"
+msgid "Selection Extend Right"
+msgstr "Udvid markering mod højre"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2226,51 +2202,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Formindsk markering fra venstre\tCtrl+Shift+højrepil"
+msgid "Selection Contract Left"
+msgstr "Formindsk markering fra venstre"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Formindsk markering fra højre\tCtrl+Shift+venstrepil"
+msgid "Selection Contract Right"
+msgstr "Formindsk markering fra højre"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2282,7 +2258,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2343,8 +2347,8 @@ msgstr "Du skal v
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Gentag %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Gentag %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2552,15 +2556,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Opdel ved etiketter"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "For at lave et spektrumplot skal alle markerede spor have samme samplerate."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Der er markeret for meget lyd.  Kun de første %.1f sekunders lyd vil blive analyseret."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2784,6 +2779,10 @@ msgstr ""
 msgid "Print"
 msgstr "højre"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2797,10 +2796,9 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
-msgstr "Optag"
+msgstr "Indspil"
 
 #: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
@@ -2823,8 +2821,8 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Gem ændringer?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
 #: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
@@ -2854,6 +2852,17 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Fejl ved åbning af fil"
@@ -2909,10 +2918,12 @@ msgstr ""
 msgid "Can't open project file"
 msgstr "Kan ikke åbne projektfilen"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2932,16 +2943,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Fejl under projekt-gemning"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -3100,6 +3117,174 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+# The Black Angel's Death Song:
+# Gone to choose, choose again
+# Sacrificials remains make it hard to forget
+# Where you come from
+# ...
+# Come again, choose to go
+# And if Epiphany's terror reduced you to shame
+# Have your head bobbed and weaved
+# Choose a side to be on
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Vælg..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+# Notes? Cool.
+#: ../src/export/ExportMultiple.cpp:636
+#, fuzzy
+msgid "Tracks"
+msgstr "Nyt spor"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3108,6 +3293,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3246,6 +3435,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3318,6 +3511,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3357,10 +3558,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
 #: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
 #: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
@@ -3417,6 +3614,10 @@ msgstr "Lav stereospor"
 msgid "Split Stereo Track"
 msgstr "Opdel stereospor"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Vælg optageformat"
@@ -3624,14 +3825,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3666,6 +3859,11 @@ msgstr "Kanal"
 msgid "Split stereo track '%s'"
 msgstr "Opdel stereospor '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3744,6 +3942,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 # Skal vel ikke oversættes.
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
@@ -3823,8 +4025,9 @@ msgstr "Udvidelser 1 til %i"
 msgid "Plugins %i to %i"
 msgstr "Udvidelser %i til %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4282,12 +4485,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Tærskel: %d dB"
@@ -4318,7 +4520,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Attack tid: %f sek"
@@ -4341,6 +4542,10 @@ msgstr "Komprimering..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Brug Dynamikkomprimering"
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4360,19 +4565,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4406,6 +4598,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4450,16 +4647,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4570,18 +4759,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4706,6 +4883,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4906,10 +5087,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5146,10 +5323,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5500,20 +5673,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5524,17 +5714,57 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Beklager, VST effekter kan ikke bruges på stereospor, hvor de enkelte kanaler fra sporet ikke passer sammen."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Effektindstillinger"
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Kan ikke udføre erstatning"
+# Could also be 'Intet', depending on context. Danish has four genders.
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Ingen"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST plug-in parametre"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5582,21 +5812,10 @@ msgstr "Anvender effekt: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-# Could also be 'Intet', depending on context. Danish has four genders.
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Ingen"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Forfatter:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Effektindstillinger"
-
 #: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 #, fuzzy
 msgid "Length (seconds)"
@@ -5791,9 +6010,21 @@ msgstr "Eksporterer hele projektet med kommando-linje koder"
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5861,6 +6092,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -5994,12 +6229,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6018,10 +6249,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6210,12 +6441,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6326,6 +6557,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6581,19 +6823,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Placering:"
 
-# The Black Angel's Death Song:
-# Gone to choose, choose again
-# Sacrificials remains make it hard to forget
-# Where you come from
-# ...
-# Come again, choose to go
-# And if Epiphany's terror reduced you to shame
-# Have your head bobbed and weaved
-# Choose a side to be on
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Vælg..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6619,12 +6848,6 @@ msgstr ""
 msgid "First file name"
 msgstr ""
 
-# Notes? Cool.
-#: ../src/export/ExportMultiple.cpp:636
-#, fuzzy
-msgid "Tracks"
-msgstr "Nyt spor"
-
 #: ../src/export/ExportMultiple.cpp:646
 #, fuzzy
 msgid "Name files:"
@@ -6661,25 +6884,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Vælg en placering for den midlertidige mappe"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:526
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6763,7 +7005,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Fejl (filen er muligvis ikke skrevet): %s"
@@ -6929,6 +7170,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Liste over filer i rent tekstformat"
@@ -7089,128 +7334,58 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Lyd I/O"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Afspilning"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Indspilning"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+# This really depends on context.
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Grænseflade"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Afspilning"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Indspilning"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
 #: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
@@ -7228,34 +7403,31 @@ msgstr "Placering:"
 msgid "Free Space:"
 msgstr "Ledig plads:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Vælg en placering for den midlertidige mappe"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7274,221 +7446,141 @@ msgstr "Kan ikke skrive til mappen %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Ændringen af den midlertidige mappe træder først i kraft, når Audacity starter næste gang."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Udgave af mp3-bibliotek:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
-
-# This really depends on context.
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Grænseflade"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (smalt område for redigering af høj styrke)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM område for 8 bit datapunkter)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM område for 16 bit datapunkter)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (ørets maksimale dynamik)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM område for 24 bit datapunkter)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (smalt område for redigering af høj styrke)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM område for 8 bit datapunkter)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM område for 16 bit datapunkter)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (ørets maksimale dynamik)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM område for 24 bit datapunkter)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 # If MIDI keyboard, substitute 'Keyboard' in the translation.
@@ -7520,17 +7612,22 @@ msgstr "Bem
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Tastkombination"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Gem tastaturgenveje som:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Fortryd"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Fejl ved skrivning af tastaturgenveje"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7540,6 +7637,14 @@ msgstr "V
 msgid "Error loading keyboard shortcuts"
 msgstr "Fejl ved indlæsning af tastaturgenveje"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Gem tastaturgenveje som:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Fejl ved skrivning af tastaturgenveje"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7547,9 +7652,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Fortryd"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Udgave af mp3-bibliotek:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Lyd I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7564,6 +7721,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7572,6 +7733,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7584,6 +7749,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7799,10 +7976,62 @@ msgstr "Ctrl-musehjul"
 msgid "Zoom in or out"
 msgstr "Zoom ind eller ud"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Audacity indstillinger"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Rektangel"
@@ -7827,44 +8056,44 @@ msgstr "Standard optagerate:"
 msgid "Default Sample Format:"
 msgstr "Standard optageformat:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Real-time konvertering af samplingfrekvens:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Højkvalitet samplefrekvens konvertering"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Real-time dither:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Højkvalitet dither"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7879,18 +8108,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Spektogrammer"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "FFT størrelse"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - standard"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7899,20 +8164,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - mindst båndbredde"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7923,16 +8192,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Maksimal frekvens (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7943,6 +8212,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Maksimumfrekvensen skal være et heltal"
@@ -7959,18 +8236,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -7999,78 +8315,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pause"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Stop"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Hop til begyndelsen"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Hop til slutningen"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Pause"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Stop"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8111,28 +8443,20 @@ msgstr "Zoom ind"
 msgid "Zoom Out"
 msgstr "Zoom ud"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Zoom til/fra"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Tilpas det markerede til vinduet"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Tilpas projektet til vindue"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8180,6 +8504,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8260,30 +8592,6 @@ msgstr "Venstre = zoom ind, h
 msgid "Click and drag to move a track in time"
 msgstr "Klik og træk for at flytte et spor langs tidsaksen"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Markeringsværktøj"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Konvoluteringsværktøj"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Tidsforskydningsværktøj"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Zoom værktøj"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Tegneværktøj"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Multi-værktøj mode"
@@ -8292,22 +8600,10 @@ msgstr "Multi-v
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8316,74 +8612,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8416,6 +8676,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (frakoblet)"
@@ -8720,3 +9020,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/de.po b/locale/de.po
index 2a7367c..31d3bd7 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -7,38 +7,35 @@ msgid ""
 msgstr "Project-Id-Version: Audacity 1.3.3\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-03-11 19:51+0100\n"
-"PO-Revision-Date: 2007-10-28 01:34+0100\n"
-"Last-Translator: Andreas Klug <andreas.klug <at> mediensyndikat.de>\n"
+"PO-Revision-Date: 2009-05-23 19:52+0100\n"
+"Last-Translator: Andreas Klug <sammel at mediensyndikat.de>\n"
 "Language-Team: Andreas Klug, Edgar M. Franke, Pennywize, Heiko Abler <andreas.klug at mediensyndikat.de>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: German\n"
 
-#: ../src/AudacityApp.cpp:532
-#: ../src/Menus.cpp:810
+#: ../src/AudacityApp.cpp:532 ../src/Menus.cpp:810
 msgid "&About Audacity..."
 msgstr "&Über Audacity..."
 
 #. i18n-hint: Rather than a literal translation, consider adding the
 #. appropriate suffix or prefix to create a word meaning 'something which
 #. has Audacity'
-#: AboutDialog.cpp:340
-#: AboutDialog.cpp:371
-#: SplashDialog.cpp:111
+#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:111
 msgid "OK... Audacious!"
 msgstr "OK... Audacious!"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "Audacity ist freie Software, die von vielen freien <a href=\"http://audacity.sourceforge.net/community/developers\">Mitarbeiter/-innen</a> weltweit entwickelt wird. Wir freuen uns, dass  <a href=\"http://sourceforge.net\">SourceForge.net</a> Serverplatz für unser Projekt bereitstellt. Audacity ist verfügbar für Windows (ab 98), Mac OS X, Linux und andere Unix-artige Betriebssysteme. Ältere Audacity-Versionen gibt es auch für Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -47,14 +44,13 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: ../src/AboutDialog.cpp:216
-#: ../src/AboutDialog.cpp:218
+#: ../src/AboutDialog.cpp:216 ../src/AboutDialog.cpp:218
 msgid "translator_credits"
 msgstr "Deutsche Übersetzung von Andreas Klug, Heiko Abler, Pennywize, Edgar M. Franke"
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "Ein freies Audiobearbeitungs-Programm<br>"
 
 #: ../src/AboutDialog.cpp:237
 msgid "Credits"
@@ -91,8 +87,8 @@ msgid "Special thanks:"
 msgstr "Besonderer Dank geht an"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "<b>Audacity&reg;</b> Software is copyright &copy; 1999-2009 Audacity Team. <br>Der Name <b>Audacity&reg;</b> ist ein eingetragenes Warenzeichen von Dominic Mazzoni."
 
 #: AboutDialog.cpp:320
 msgid "Audacity"
@@ -101,7 +97,7 @@ msgstr "Audacity"
 #. i18n-hint: Information about when audacity was compiled
 #: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
 msgid "Build Information"
-msgstr ""
+msgstr "Informationen zur Software-Version"
 
 #: ../src/effects/AvcCompressor.cpp:674
 msgid "Enabled"
@@ -113,64 +109,64 @@ msgstr "Deaktiviert"
 
 #: AboutDialog.cpp:321
 msgid "File Format Support"
-msgstr ""
+msgstr "Dateiformat-Unterstützung"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
 #: AboutDialog.cpp:331 AboutDialog.cpp:333
 msgid "MP3 Importing"
-msgstr ""
+msgstr "MP3 Import"
 
 #: AboutDialog.cpp:340 AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
-msgstr ""
+msgstr "Ogg Vorbis Import und Export"
 
 #: AboutDialog.cpp:347 AboutDialog.cpp:350
 msgid "ID3 tag support"
-msgstr ""
+msgstr "ID3-Tag-Support"
 
 #: AboutDialog.cpp:357 AboutDialog.cpp:360
 msgid "FLAC import and export"
-msgstr ""
+msgstr "FLAC Import und Export"
 
 #: AboutDialog.cpp:365 AboutDialog.cpp:368
 msgid "MP2 export"
-msgstr ""
+msgstr "MP2 Export"
 
 #: AboutDialog.cpp:373 AboutDialog.cpp:376
 msgid "Import via QuickTime"
-msgstr ""
+msgstr "Import über QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
 #: AboutDialog.cpp:383
 msgid "Core Libraries"
-msgstr ""
+msgstr "Zentrale Bibliotheken"
 
 #: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 msgid "Sample rate conversion"
-msgstr ""
+msgstr "Umwandlung der Sample-Rate"
 
 #: AboutDialog.cpp:402 AboutDialog.cpp:405
 msgid "Audio playback and recording"
-msgstr ""
+msgstr "Audio-Playback und Aufnahme"
 
 #: AboutDialog.cpp:418
 msgid "Features"
-msgstr ""
+msgstr "Features"
 
 #: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
 #: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
 #: AboutDialog.cpp:446 AboutDialog.cpp:449
 msgid "Plug-in support"
-msgstr ""
+msgstr "Plug-In-Unterstützung"
 
 #: AboutDialog.cpp:454 AboutDialog.cpp:457
 msgid "Sound card mixer support"
-msgstr ""
+msgstr "Unterstützung des Soundkarten-Mixers"
 
 #: AboutDialog.cpp:462 AboutDialog.cpp:465
 msgid "Pitch and Tempo Change support"
-msgstr ""
+msgstr "Unterstützung der Änderung von Tonhöhe und Geschwindigkeit"
 
 #: ../src/AboutDialog.cpp:189
 msgid "Program build date: "
@@ -178,22 +174,21 @@ msgstr "Programmversion vom: "
 
 #: AboutDialog.cpp:480 AboutDialog.cpp:482
 msgid "Build type:"
-msgstr ""
+msgstr "Software-Typ:"
 
 #: AboutDialog.cpp:480
 msgid "Debug build"
-msgstr ""
+msgstr "Debug-Version"
 
 #: AboutDialog.cpp:482
 msgid "Release build"
-msgstr ""
+msgstr "Software-Version"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:487
 msgid "Installation Prefix: "
-msgstr ""
+msgstr "Installations-Verzeichnis:"
 
-# ??? zu langer text? --> Schau Dir den About-Dialog an (Hilfe/Über Audacity), dann siehst Du, wie's aussieht. Würde eher "Einstellungs-Ordner:" schreiben oder so.
 #: ../src/AboutDialog.cpp:194
 msgid "Settings folder: "
 msgstr "Einstellungs-Ordner:"
@@ -202,17 +197,13 @@ msgstr "Einstellungs-Ordner:"
 msgid "GPL License"
 msgstr "GPL-Lizenz"
 
-#: ../src/AudacityApp.cpp:276
-#: ../src/Project.cpp:1521
+#: ../src/AudacityApp.cpp:276 ../src/Project.cpp:1521
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s ist bereits in einem Fenster geöffnet."
 
-#: ../src/AudacityApp.cpp:278
-#: ../src/Project.cpp:1523
-#: ../src/Project.cpp:1604
-#: ../src/Project.cpp:1748
-#: ../src/Project.cpp:1850
+#: ../src/AudacityApp.cpp:278 ../src/Project.cpp:1523 ../src/Project.cpp:1604
+#: ../src/Project.cpp:1748 ../src/Project.cpp:1850
 msgid "Error opening project"
 msgstr "Fehler beim Öffnen des Projekts"
 
@@ -237,21 +228,28 @@ msgstr "Aussteuerung (Eingang)"
 msgid "Output Meter"
 msgstr "Aussteuerungsanzeige Ausgang"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: ../src/AudacityApp.cpp:534
-#: ../src/Menus.cpp:554
-msgid "&Preferences...\tCtrl+,"
-msgstr "Einstellungen...\tCtrl+,"
+#: ../src/Menus.cpp:188
+msgid "&New"
+msgstr "&Neu"
+
+#: ../src/Menus.cpp:190
+msgid "&Open..."
+msgstr "&Öffnen..."
 
-#: ../src/AudacityApp.cpp:617
-#: ../src/AudacityApp.cpp:702
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: ../src/AudacityApp.cpp:534 ../src/Menus.cpp:554
+msgid "&Preferences..."
+msgstr "Einstellungen..."
+
+#: ../src/AudacityApp.cpp:617 ../src/AudacityApp.cpp:702
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Benutze Blockgröße: %ld\n"
 
-#: ../src/AudacityApp.cpp:639
-#: ../src/AudacityApp.cpp:717
+#: ../src/AudacityApp.cpp:639 ../src/AudacityApp.cpp:717
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Unbekannte Kommandozeilenoption: %s\n"
@@ -330,7 +328,7 @@ msgstr "\t-test (Selbsttest durchf
 #. * disk
 #: AudacityApp.cpp:1148
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
-msgstr ""
+msgstr "\t-blocksize nnn (max. Disk-Block-Größe in Bytes)"
 
 #: AudacityApp.cpp:1149
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
@@ -369,16 +367,18 @@ msgstr "Fehler: "
 msgid "Error Initializing Audio"
 msgstr "Fehler beim Initialisieren des Audiogeräts."
 
+#: AudioIO.cpp:1389
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr "Die Latenz-Korrektur-Einstellungen führen dazu, dass Audio nun vor der Null-Linie (auf der Zeitachse) starten müsste.\n"
+"Audacity hat das Audio nun auf die Null-Linie zurückverschoben.\n"
+"Sie müssen nun das Verschiebewerkzeug verwenden, um das Audio an die von Ihnen gewünschte Stelle zu schieben."
+
 #: AudioIO.cpp:1236
 msgid "Latency problem"
 msgstr "Latenz-Problem"
 
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr ""
-
 #: ../src/AutoRecovery.cpp:40
 msgid "Automatic Crash Recovery"
 msgstr "Automatische Wiederherstellung nach Programmabsturz"
@@ -407,51 +407,39 @@ msgstr "Audacity beenden"
 
 #: AutoRecovery.cpp:89
 msgid "Do Not Recover"
-msgstr ""
+msgstr "Nicht wiederherstellen"
 
 #: AutoRecovery.cpp:90
-#, fuzzy
 msgid "Recover Projects"
 msgstr "Wiederherstellen"
 
 #: AutoRecovery.cpp:127
 msgid "Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr ""
+msgstr "Sind Sie sicher, dass Sie wirkliche keine Projekte wiederherstellen wollen?\n"
+"(Später ist das unmöglich.)"
 
 #: AutoRecovery.cpp:128
 msgid "Confirm?"
-msgstr ""
+msgstr "Bestätigen?"
 
-#: ../src/AutoRecovery.cpp:132
-#: ../src/AutoRecovery.cpp:167
+#: ../src/AutoRecovery.cpp:132 ../src/AutoRecovery.cpp:167
 msgid "Could not enumerate files in auto save directory"
 msgstr "Die Dateien im Autosave-Verzeichnis konnten nicht aufgelistet werden."
 
-#: ../src/UploadDialog.cpp:251
-#: ../src/UploadDialog.cpp:1159
-#: ../src/WaveTrack.cpp:516
-#: ../src/WaveTrack.cpp:535
-#: ../src/WaveTrack.cpp:1584
-#: ../src/prefs/DirectoriesPrefs.cpp:188
-#: ../src/prefs/KeyConfigPrefs.cpp:236
-#: ../src/effects/Effect.cpp:334
-#: ../src/export/ExportMP2.cpp:95
-#: ../src/AutoRecovery.cpp:133
-#: ../src/AutoRecovery.cpp:154
-#: ../src/AutoRecovery.cpp:168
-#: ../src/toolbars/ControlToolBar.cpp:526
-#: ../src/toolbars/ControlToolBar.cpp:778
-#: ../src/Menus.cpp:2584
-#: ../src/Menus.cpp:4441
-#: ../src/Project.cpp:1707
-#: ../src/Project.cpp:3028
+#: ../src/UploadDialog.cpp:251 ../src/UploadDialog.cpp:1159
+#: ../src/WaveTrack.cpp:516 ../src/WaveTrack.cpp:535 ../src/WaveTrack.cpp:1584
+#: ../src/prefs/DirectoriesPrefs.cpp:188 ../src/prefs/KeyConfigPrefs.cpp:236
+#: ../src/effects/Effect.cpp:334 ../src/export/ExportMP2.cpp:95
+#: ../src/AutoRecovery.cpp:133 ../src/AutoRecovery.cpp:154
+#: ../src/AutoRecovery.cpp:168 ../src/toolbars/ControlToolBar.cpp:526
+#: ../src/toolbars/ControlToolBar.cpp:778 ../src/Menus.cpp:2584
+#: ../src/Menus.cpp:4441 ../src/Project.cpp:1707 ../src/Project.cpp:3028
 #: ../src/Project.cpp:3103
 msgid "Error"
 msgstr "Fehler"
 
-#: ../src/BatchCommandDialog.cpp:56
-#: ../src/BatchCommandDialog.cpp:60
+#: ../src/BatchCommandDialog.cpp:56 ../src/BatchCommandDialog.cpp:60
 #: ../src/BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Befehl auswählen"
@@ -477,10 +465,9 @@ msgstr "Befehl ausw
 msgid "Stereo to Mono Effect not found"
 msgstr "Stereo-in-Mono-Effekt nicht gefunden"
 
-#: ../src/export/Export.cpp:410
-#: ../src/BatchCommands.cpp:489
+#: ../src/export/Export.cpp:410 ../src/BatchCommands.cpp:489
 msgid "Ogg Vorbis support is not included in this build of Audacity"
-msgstr "Ogg-Vorbis wird in dieser Version von Audacity nicht unterstützt"
+msgstr "Ogg Vorbis wird in dieser Version von Audacity nicht unterstützt"
 
 #: BatchCommands.cpp:509
 msgid "FLAC support is not included in this build of Audacity"
@@ -512,8 +499,7 @@ msgstr "%s anwenden mit den Parameter(n)\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Test-Modus"
 
@@ -522,15 +508,14 @@ msgstr "Test-Modus"
 msgid "Apply %s"
 msgstr "%s anwenden"
 
-#: ../src/BatchProcessDialog.cpp:57
-#: ../src/BatchProcessDialog.cpp:67
+#: ../src/BatchProcessDialog.cpp:57 ../src/BatchProcessDialog.cpp:67
 #: ../src/BatchProcessDialog.cpp:68
 msgid "Apply Chain"
 msgstr "Stapelverarbeitung anwenden"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "Clean-Speech Stapelverarbeitung"
 
 #: ../src/BatchProcessDialog.cpp:91
 msgid "&Select chain"
@@ -548,41 +533,26 @@ msgstr "Auf aktuelles Projekt anwenden"
 msgid "Apply to &Files..."
 msgstr "Auf Dateien anwenden..."
 
-#: ../src/UploadDialog.cpp:178
-#: ../src/prefs/FileFormatPrefs.cpp:407
-#: ../src/prefs/PrefsDialog.cpp:169
-#: ../src/effects/VST/VSTEffect.cpp:95
-#: ../src/effects/AutoDuck.cpp:528
-#: ../src/effects/AutoDuck.cpp:532
-#: ../src/effects/Amplify.cpp:209
-#: ../src/effects/Compressor.cpp:516
-#: ../src/effects/Wahwah.cpp:587
-#: ../src/effects/Leveller.cpp:256
-#: ../src/effects/ChangeSpeed.cpp:393
-#: ../src/effects/Repeat.cpp:271
+#: ../src/UploadDialog.cpp:178 ../src/prefs/FileFormatPrefs.cpp:407
+#: ../src/prefs/PrefsDialog.cpp:169 ../src/effects/VST/VSTEffect.cpp:95
+#: ../src/effects/AutoDuck.cpp:528 ../src/effects/AutoDuck.cpp:532
+#: ../src/effects/Amplify.cpp:209 ../src/effects/Compressor.cpp:516
+#: ../src/effects/Wahwah.cpp:587 ../src/effects/Leveller.cpp:256
+#: ../src/effects/ChangeSpeed.cpp:393 ../src/effects/Repeat.cpp:271
 #: ../src/effects/ladspa/LadspaEffect.cpp:589
-#: ../src/effects/ChangePitch.cpp:395
-#: ../src/effects/ChangeTempo.cpp:297
-#: ../src/effects/Effect.cpp:387
-#: ../src/effects/Effect.cpp:393
-#: ../src/effects/SpikeCleaner.cpp:188
-#: ../src/effects/Phaser.cpp:600
-#: ../src/effects/ClickRemoval.cpp:429
-#: ../src/effects/nyquist/Nyquist.cpp:821
-#: ../src/effects/Normalize.cpp:353
-#: ../src/effects/Equalization.cpp:1166
-#: ../src/effects/ChangeLength.cpp:184
-#: ../src/BatchProcessDialog.cpp:105
-#: ../src/export/ExportMultiple.cpp:844
-#: ../src/export/Export.cpp:788
-#: ../src/import/ImportRaw.cpp:443
-#: ../src/LabelDialog.cpp:134
+#: ../src/effects/ChangePitch.cpp:395 ../src/effects/ChangeTempo.cpp:297
+#: ../src/effects/Effect.cpp:387 ../src/effects/Effect.cpp:393
+#: ../src/effects/SpikeCleaner.cpp:188 ../src/effects/Phaser.cpp:600
+#: ../src/effects/ClickRemoval.cpp:429 ../src/effects/nyquist/Nyquist.cpp:821
+#: ../src/effects/Normalize.cpp:353 ../src/effects/Equalization.cpp:1166
+#: ../src/effects/ChangeLength.cpp:184 ../src/BatchProcessDialog.cpp:105
+#: ../src/export/ExportMultiple.cpp:844 ../src/export/Export.cpp:788
+#: ../src/import/ImportRaw.cpp:443 ../src/LabelDialog.cpp:134
 #: ../src/LabelDialog.cpp:138
 msgid "&Cancel"
 msgstr "&Abbrechen"
 
-#: ../src/BatchProcessDialog.cpp:143
-#: ../src/BatchProcessDialog.cpp:188
+#: ../src/BatchProcessDialog.cpp:143 ../src/BatchProcessDialog.cpp:188
 msgid "No chain selected"
 msgstr "Keine Stapelverarbeitung ausgewählt"
 
@@ -597,7 +567,7 @@ msgstr "Bitte speichern und schlie
 
 #: BatchProcessDialog.cpp:206
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Wählen Sie Audio aus für die CleanSpeech-Verarbeitung..."
 
 #: ../src/BatchProcessDialog.cpp:204
 msgid "Select file(s) for batch processing..."
@@ -605,7 +575,7 @@ msgstr "W
 
 #: BatchProcessDialog.cpp:209
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
 
 #: ../src/BatchProcessDialog.cpp:207
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
@@ -619,8 +589,7 @@ msgstr "Anwenden..."
 msgid "File"
 msgstr "Datei"
 
-#: ../src/BatchProcessDialog.cpp:353
-#: ../src/BatchProcessDialog.cpp:357
+#: ../src/BatchProcessDialog.cpp:353 ../src/BatchProcessDialog.cpp:357
 #: ../src/BatchProcessDialog.cpp:358
 msgid "Edit Chains"
 msgstr "Stapelverarbeitung bearbeiten"
@@ -633,8 +602,7 @@ msgstr "&Stapelverarbeitung:"
 msgid "&Add"
 msgstr "&Hinzufügen"
 
-#: ../src/BatchProcessDialog.cpp:433
-#: ../src/LabelDialog.cpp:126
+#: ../src/BatchProcessDialog.cpp:433 ../src/LabelDialog.cpp:126
 msgid "&Remove"
 msgstr "Ent&fernen"
 
@@ -646,13 +614,14 @@ msgstr "Umbenennen"
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "Stapelverarbeitung (Doppelklick oder Leertaste zum bearbeiten)"
 
-#: ../src/BatchProcessDialog.cpp:449
-msgid "No"
-msgstr "Nein"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
+msgstr ""
 
 #: ../src/BatchProcessDialog.cpp:455
 msgid "&Insert"
-msgstr "&Einfügen"
+msgstr "&Einfügen..."
 
 #: ../src/BatchProcessDialog.cpp:456
 msgid "De&lete"
@@ -737,21 +706,19 @@ msgstr "Festplatten-Platz"
 msgid "Copy Selected Audio Into Project"
 msgstr "Nur ausgewählte Audios ins Projektverzeichnis kopieren"
 
-#: ../src/Dependencies.cpp:304
-#: ../src/Dependencies.cpp:413
+#: ../src/Dependencies.cpp:304 ../src/Dependencies.cpp:413
 msgid "Cancel Save"
 msgstr "Speichern abbrechen"
 
 #: Dependencies.cpp:310
 msgid "Do Not Copy Any Audio"
-msgstr ""
+msgstr "Kein Audio kopieren"
 
 #: Dependencies.cpp:312
 msgid "Copy All Audio into Project (Safer)"
-msgstr ""
+msgstr "Alle Audios ins Projekt kopieren (sicherer)"
 
-#: ../src/Dependencies.cpp:320
-#: ../src/Dependencies.cpp:325
+#: ../src/Dependencies.cpp:320 ../src/Dependencies.cpp:325
 msgid "Ask me"
 msgstr "Anwender/-in fragen"
 
@@ -784,8 +751,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
 msgstr "Achtung: Es ist nur noch sehr wenig freier Speicherplatz auf dem Laufwerk verfügbar. Bitte wählen Sie unter dem Menüpunkt Bearbeiten > Einstellungen einen anderen Ort aus für das temporäre Verzeichnis."
 
-#: ../src/DirManager.cpp:221
-#: ../src/DirManager.cpp:251
+#: ../src/DirManager.cpp:221 ../src/DirManager.cpp:251
 #: ../src/DirManager.cpp:332
 msgid "Progress"
 msgstr "Verlauf"
@@ -841,10 +807,9 @@ msgstr "'%s' kann nicht in '%s' umbenannt werden"
 #: DirManager.cpp:1183
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Block %s geändert auf neuen Alias-Name\n"
 
-#: ../src/DirManager.cpp:1115
-#: ../src/DirManager.cpp:1403
+#: ../src/DirManager.cpp:1115 ../src/DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Projektdaten überprüfen..."
 
@@ -895,10 +860,8 @@ msgstr "Fortfahren ohne zu l
 msgid "Close project immediately with no changes"
 msgstr "Projekt sofort schließen ohne Veränderungen"
 
-#: ../src/DirManager.cpp:1228
-#: ../src/DirManager.cpp:1263
-#: ../src/DirManager.cpp:1309
-#: ../src/DirManager.cpp:1351
+#: ../src/DirManager.cpp:1228 ../src/DirManager.cpp:1263
+#: ../src/DirManager.cpp:1309 ../src/DirManager.cpp:1351
 #: ../src/widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Warnung"
@@ -927,8 +890,7 @@ msgstr "Fehlende Daten beim Speichern dauerhaft durch Stille ersetzen"
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Fehlende Daten vorübergehend durch Stille ersetzen (nur für die Dauer dieser Sitzung)"
 
-#: ../src/DirManager.cpp:1261
-#: ../src/DirManager.cpp:1307
+#: ../src/DirManager.cpp:1261 ../src/DirManager.cpp:1307
 #: ../src/DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Projekt sofort schließen ohne weitere Änderungen"
@@ -1000,31 +962,31 @@ msgstr "Rechteck"
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "FFmpeg-Support wurde nicht einkompiliert"
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Start von FFmpeg fehlgeschlagen"
 
 #: FFmpeg.cpp:115
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "FFmpeg-Bibliothek nicht gefunden"
 
 #: FFmpeg.cpp:170
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "FFmpeg suchen"
 
 #: FFmpeg.cpp:190
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity braucht die Datei %s, um Audio mit FFmpeg zu im- und exportieren."
 
 #: export/ExportMP3.cpp:639
 #, c-format
@@ -1042,11 +1004,11 @@ msgstr "Durchsuchen..."
 
 #: FFmpeg.cpp:212
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "Um eine freie Kopie von FFmpeg zu erhalten hier klicken -->"
 
 #: FFmpeg.cpp:215 export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Download"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
@@ -1058,41 +1020,41 @@ msgstr "Wo befindet sich die Datei: \"%s\"?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Es konnten keine passenden FFmpeg-Bibliotheken gefunden werden"
 
 #: FFmpeg.h:95
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "FFmpeg nicht gefunden"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Diese Warnung nicht mehr anzeigen"
 
 #: FFmpeg.h:251
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "Nur avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|Alle Dateien (*.*)|*"
 
 #: FFmpeg.h:268
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dynamic Libraries (*.dylib)|*.dylib|Alle Dateien (*)|*"
 
 #: FFmpeg.h:266
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Nur libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|Alle Dateien (*)|*"
 
 #: ../src/FreqWindow.cpp:102
 msgid "Frequency Analysis"
 msgstr "Frequenzanalyse"
 
-#: ../src/FreqWindow.cpp:138
-#: ../src/TrackPanel.cpp:510
+#: ../src/FreqWindow.cpp:138 ../src/TrackPanel.cpp:510
 msgid "Spectrum"
 msgstr "Spektrum"
 
@@ -1117,9 +1079,8 @@ msgid "Cepstrum"
 msgstr "Cepstrum"
 
 #: FreqWindow.cpp:150 FreqWindow.cpp:154
-#, fuzzy
 msgid "Algorithm"
-msgstr "Algorithmus:"
+msgstr "Algorithmus"
 
 #: ../src/HistoryWindow.cpp:79
 msgid "Size"
@@ -1133,7 +1094,7 @@ msgstr "-Fenster"
 
 #: FreqWindow.cpp:187 FreqWindow.cpp:191
 msgid "Function"
-msgstr ""
+msgstr "Funktion"
 
 #: ../src/FreqWindow.cpp:189
 msgid "Linear frequency"
@@ -1145,48 +1106,62 @@ msgstr "Log. Darstellung"
 
 #: FreqWindow.cpp:201 FreqWindow.cpp:205
 msgid "Axis"
-msgstr ""
+msgstr "Axis"
 
 #: ../src/LabelDialog.cpp:128
 msgid "&Export..."
 msgstr "&Exportieren..."
 
-#: HelpText.cpp:77
-#: export/ExportCL.cpp:320
+#: HelpText.cpp:77 export/ExportCL.cpp:320
 msgid "Export"
 msgstr "Export"
 
-#: ../src/FreqWindow.cpp:206
-#: ../src/Benchmark.cpp:232
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/FreqWindow.cpp:206 ../src/Benchmark.cpp:232
 #: ../src/Dependencies.cpp:308
 msgid "Close"
 msgstr "Schließen"
 
-#: ../src/FreqWindow.cpp:269
-#: ../src/FreqWindow.cpp:392
-#: ../src/effects/Compressor.cpp:348
-#: ../src/effects/Compressor.cpp:356
-#: ../src/effects/Normalize.cpp:340
-#: ../src/effects/Equalization.cpp:1003
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: ../src/FreqWindow.cpp:269 ../src/FreqWindow.cpp:392
+#: ../src/effects/Compressor.cpp:348 ../src/effects/Compressor.cpp:356
+#: ../src/effects/Normalize.cpp:340 ../src/effects/Equalization.cpp:1003
 #: ../src/widgets/Meter.cpp:357
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: ../src/FreqWindow.cpp:284
-#: ../src/FreqWindow.cpp:432
-#: ../src/effects/Equalization.cpp:1034
-#: ../src/import/ImportRaw.cpp:416
+#: ../src/FreqWindow.cpp:284 ../src/FreqWindow.cpp:432
+#: ../src/effects/Equalization.cpp:1034 ../src/import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:3407
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Um das Spektrum zeichnen zu können, müssen alle Spuren die gleiche Samplerate haben."
+
+#: ../src/Menus.cpp:3433
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Es wurden zuviele Audiodaten ausgewählt. Nur die ersten %.1f Sekunden werden analysiert."
+
 #: ../src/FreqWindow.cpp:376
 msgid "Not enough data selected."
 msgstr "Ausgewählte Daten reichen nicht aus."
 
-#: ../src/FreqWindow.cpp:440
-#: ../src/effects/AutoDuck.cpp:801
+#: ../src/FreqWindow.cpp:440 ../src/effects/AutoDuck.cpp:801
 msgid "s"
 msgstr "s"
 
@@ -1208,11 +1183,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Frequenzanalyse (Textdatei) exportieren als:"
 
-#: ../src/FreqWindow.cpp:1059
-#: ../src/prefs/KeyConfigPrefs.cpp:177
-#: ../src/Menus.cpp:2167
-#: ../src/Project.cpp:2139
-#: ../src/Project.cpp:3080
+#: ../src/FreqWindow.cpp:1059 ../src/prefs/KeyConfigPrefs.cpp:177
+#: ../src/Menus.cpp:2167 ../src/Project.cpp:2139 ../src/Project.cpp:3080
 #: ../src/LabelDialog.cpp:590
 msgid "Couldn't write to file: "
 msgstr "Konnte nicht in Datei schreiben: "
@@ -1225,9 +1197,24 @@ msgstr "Frequenz (Hz)\tPegel (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Verzögerungszeit (s)\tFrequenz (Hz)\tPegel"
 
+#: GStreamerLoader.cpp:220
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:240
+msgid "GStreamer startup failed"
+msgstr "Start von GStreamer fehlgeschlagen"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
-msgstr ""
+msgstr "Zum [[welcome|Willkommen-Text]]"
 
 #: HelpText.cpp:60
 msgid "Welcome!"
@@ -1243,15 +1230,15 @@ msgstr "Aufnahme"
 
 #: HelpText.cpp:105
 msgid "Recording - Choosing the Input Device"
-msgstr ""
+msgstr "Aufnahme - Aufnahme-Gerät auswählen"
 
 #: HelpText.cpp:109
 msgid "Recording - Choosing the Input Source"
-msgstr ""
+msgstr "Aufnahme - Quelle auswählen"
 
 #: HelpText.cpp:113
 msgid "Recording - Setting the Input Level"
-msgstr ""
+msgstr "Aufnahme - Eingangspegel einstellen"
 
 #: HelpText.cpp:117
 #, fuzzy
@@ -1260,15 +1247,15 @@ msgstr "Bearbeitung und ausgegraute Men
 
 #: HelpText.cpp:121
 msgid "Exporting an Audio File"
-msgstr ""
+msgstr "Audio-Datei exportieren"
 
 #: HelpText.cpp:125
 msgid "Saving an Audacity Project"
-msgstr ""
+msgstr "Audacity-Projekt speichern"
 
 #: HelpText.cpp:129
 msgid "Unsupported Formats"
-msgstr ""
+msgstr "Nicht unterstützte Formate"
 
 #: HelpText.cpp:85
 msgid "Burn to CD"
@@ -1280,63 +1267,63 @@ msgstr "Keine lokale Hilfe"
 
 #: HelpText.cpp:148
 msgid "</p><center><h3>Getting Started</h3></center><br>"
-msgstr ""
+msgstr "</p><center><h3>Herzlich Willkommen!</h3></center><br>"
 
 #: HelpText.cpp:150
 msgid "Welcome to Audacity "
-msgstr ""
+msgstr "Hallo bei Audacity "
 
 #: HelpText.cpp:151
 msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr ""
+msgstr "Mit Audacity können Sie: <ul><li>Audiodateien [[play|abspielen]] <li>[[record|Aufnahmen erstellen]] von Mikrofon, Plattenspieler oder Kassetten <li>Töne [[edit|bearbeiten]] <li>Projekte [[save|speichern und wieder öffnen]] <li>Töne [[export|exportieren]] in MP3- oder andere Audiodateien oder auch [[burncd|eine CD brennen]]  </ul></p><p>"
 
 #: HelpText.cpp:159
 msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr ""
+msgstr "(Dieser Text kann jederzeit angezeigt werden über das Menü <i>Hilfe: Begrüßungsbildschirm anzeigen</i>. Ausführliche Hinweise zu allen Menüs und Buttons über  <i>Hilfe</i>: <i>Index</i> oder als <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">PDF-Download</a>.</p>)"
 
 #: HelpText.cpp:172
 msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
-msgstr ""
+msgstr "<p><b>Audio-Dateien öffnen:</ b> Entweder ziehen Sie die Dateien in das aktuelle Projekt-Fenster, oder klicken Sie auf <i>Datei &gt; Importieren &gt; Audio</ i>. Dateien können in einem weiteren Projekt-Fenster geöffnet werden mit <i> Datei &gt; Öffnen</ i>. Die wichtigsten Formate, die Audacity spielt, sind <b>AIFF, AU, FLAC, M4A </ b> (letzteres zunächst nur auf dem Mac), <b> MP2/MP3, Ogg-Vorbis</ b> und <b> WAV</ b>. Klicken Sie [[wma-proprietary|hier]], wenn Sie eine Datei in einem anderen Format haben. <b> Um eine CD zu importieren </ b> lesen Sie sie zunächst mit einem CD-Grabber in ein unterstütztes Format aus. Schauen Sie auch in unseren Online-Ratgeber: [[wiki:How_to_import_CDs|CDs importieren]].</ p> <p> Audio wiedergeben:</ b> Drücken Sie die grüne Play-Taste um die Wiedergabe zu starten. Drücken Sie die blaue Pause-Taste, um die Wiedergabe anzuhalten bzw. fortzusetzen. Stopp mit der gelben Taste Stopp. Leertaste für Wiedergabe und Stopp. Bei Stopp springt der Cursor zum letzten Ausgangspunkt. Um den Ausgangspunkt zu ändern klicken Sie in der Spur an Ihren gewünschten Ausgangspunkt. Die Knöpfe <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> können verwendet werden, um zum Anfang bzw. Ende der Spur zu springen.</p><br><br>"
 
 #: HelpText.cpp:194
 msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
-msgstr ""
+msgstr "<p><b>Aufnahme:</ b> Stellen Sie Soundkarte, Input-Quelle und den Eingangspegel ein und drücken Sie dann auf den roten Aufnahme-Knopf.</ b> </ p><p> 1) [[inputdevice|Soundkarte]] entweder in den Einstellungen <i> Audio E/A-Registerkarte </ i> oder in der <i>Werkzeugleiste Aufnahmegeräte</ i>. Dort können Sie ggf. wählen zwischen Mono- und Stereo-Aufnahmen.<br> 2) [[inputsource| Input-Quelle]] für diese Soundkarte (zum Beispiel Mikrofon oder Line-in) in der Dropdown-Liste der <i>Werkzeugleiste Pegelregler</ i> oder (auf manchen Systemen) auf der Registerkarte <i> Audio E/A</ i> bzw. in der<i> Werkzeugleiste Aufnahmegeräte</ i>. <br> 3) Der [[inputlevel|Eingangspegel]] muss mit dem Schieberegler der<i> Werkzeugleiste Pegelregler</ i> eingestellt werden, die korrekte Einstellung vor der Aufnahme ist wesentlich zur Vermeidung von Rauschen oder Verzerrungen. </ p> Mehr Hilfe in der \"Aufnahme\" <a href=\"http://audacity.sourceforge.net/help/faq\">-FAQ </a> sowie unserem Tutorial <a href =  \"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording \"> Ihre erste Aufnahme </a> in dem <a href = \"http://www.audacityteam.org / manual / index.php? main_page title = \"> Handbuch </a>. Siehe auch unser Wiki [[wiki: Recording_Tips| Aufnahme-Tipps]] und [[wiki: Troubleshooting_Recordings | Fehlerbehebung]]. </p> <br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>Sie nehmen mit einer Soundkarte auf, die Sie unter \"Aufnahmegerät\" auf der Registerkarte <i>Audio E/A in den Einstellungen </i>. Unter WIndows und Linux liegen die Einstellungen ganz unten im Menü <i>Bearbeiten</i>. Auf dem Mac liegen sie im Menü <i>Audacity</i>.Sie können das Aufnahmegerät ebenfalls wählen in der entsprechenden Werkzeugleiste, die aktiviert werden kann über <i>Ansicht &gt; Werkzeugleistern...</i>. </p><p>Standardmäßig verwendet Audacity die System-Soundkarte (oft die im Rechner eingebaute), deshalb muss der Soundeingang meist nicht umgestellt werden. Unter Windows kann die System-Soundkarte ausgewählt werden als \"Microsoft-Sound-Mapper\". Wenn Sie mit einer externen USB- oder Firewire-Soundkarte (z. B. von einem USB-Plattenspieler) aufnehmen wählen Sie sie - nachdem Sie sie angeschlossen haben - bitte explizit aus über ihren Geräte-Name. </p><p> Zurück auf [[record|Recording Audio]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Wählen Sie die Eingangs-Quelle (etwa Mikrofon oder Line-in) ihrer [[inputdevice|recording device]]:<br> - <b>Unter Windows (außer Vista)</b> und <b>Linux</b> rechts des <i>Mixer-Werkzeugs</i> in der Dropdown-Liste. <br> - <b>Unter Windows Vista</b> und <b>auf dem Mac</b> unter Recording Device auf der <i>Registerkarte Audio E/A in den Einstellungen</i>, oder in der <i>Soundkarten-Registerkarte</i>. Die Quelle wird angezeigt als Teil des Aufnahmegeräts (zum Beispiel <i>Soundkarte xy: Mikrofon</i>). Falls nötig können Mac-NutzerInnen die Eingangs-Quelle auswählen unter dem Apple Audio-MIDI-Setup. <br><i><b>Hinweis:</b> Viele USB- oder Firewire-Soundkarten bieten nicht die Möglichkeit der Auswahl, dann ist dieser Schritt natürlich nicht nötig. Schauen Sie im Zweifelsfall in die Dokumentation ihrer Soundkarte. </i></p><p> <b>Tipp:</b> Um <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">Audio aufzunehmen, das der Computer gerade wiedergibt</a>, können Windows- und Linux-Nutzer  \"Stereo Mix\", \"Wave Out\", \"Summe\" oder ähnliche Eingangs-Quellen auswählen.</p><p> Zurück zu [[record|Recording Audio]] <br></p>"
 
 #: HelpText.cpp:267
 msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Der Eingangs-Pegel muss korrekt eingestellt werden. Ist er zu niedrig gewählt werden Störgeräusche der Soundkarte hörbar. Ist er zu hoch gewählt, steigt der Klirrfaktor (\"Verzerrungen\") bei den lauten Passagen. </p><p>Um den Pegel einzustellen, schauen Sie entweder auf [[wiki:Recording_levels|illustrated online guide]] oder folgen Sie diesen Schritten: <ol><li>Aktivieren Sie die  <b>Pegelanzeige</b> durch Doppelklick auf die rechte der beiden <i>Anzeigen</i> (oder Rechtsklick darauf und \"Start Monitoring\"). Falls die Anzeigen nicht sichtbar sind, klicken Sie auf <i>Ansicht &gt; Werkzeuge</i> und aktivieren Sie \"Aussteuerungs-Anzeige\". </li><li>Stellen Sie die Eingangs-Regler der  <i>Mixer-Toolbar</i> ein (bei dem Mikrofon-Symbol), so dass die roten Balken der Anzeige nur sporadisch aufleuchten, den rechten Rand der Anzeige jedoch <b>nie berühren</b>. Wenn Sie Ihr aufgenommenes Audio nicht hören aktivieren Sie \"Software Playthrough\" in der Registerkarte <i>Einstellungen &gt; Audio E/A</i>. </li></ol></p><p> Zurück zu [[record|Recording Audio]] <br></p>"
 
 #: HelpText.cpp:292
 msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
-msgstr ""
+msgstr "<p>Die meisten Befehle für die Audiobearbeitung finden Sie im Menü <i>Bearbeiten</i> (etwa Ausschneiden, Kopieren, Einfügen) sowie <i>Effekte</i> (hier etwa Bass-Anhebung, Tonhöhe- oder Tempo-Änderung oder Rauschentfernung). </p><p>Audacity nimmt Änderungen an ausgewählten Bereichen der Audio-Spuren vor. Um einen bestimmten Bereich auszuwählen gehen Sie in die Spur und ziehen einen schattierten Bereich mit der Maus auf.</p><p>Während Wiedergabe und Aufnahme sind viele Menüs nicht gleichzeitig bedienbar und deshalb ausgegraut, das gilt auch für den Fall, dass die Pause-Taste gedrückt ist. </p><br><br>"
 
 #: HelpText.cpp:311
 msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr ""
+msgstr "<p>Um zu einem späteren Zeitpunkt an einem unfertigen Audacity-Projekt weiterzuarbeiten speichern Sie es als Audacity-Projekt. Um Ihr Projekt hingegen in anderen Programmen abzuspielen müssen Sie es zunächst [[export|exportieren]] als Audio-Datei, z.B. als WAV oder MP3. </p><p> <i>Datei &gt; Projekt speichern</i> erzeugt eine <b>.aup</b>-Projekt-Datei und einen <b>_data</b>-Ordner, der das aktuelle Audio enthält. Um ein gespeichertes Projekt erneut zu öffnen klicken Sie auf <i>Datei &gt; Öffnen</i> und verwenden Sie die .aup-Datei. Wenn Sie mehrfach öffnen und schließen erzeugt Audacity zusätzlich eine Backup-Datei .aup.bak, dennoch sollte immer die .aup-Datei geöffnet werden - sofern sie vorhanden ist. Wenn Ihre Arbeit endgültig fertig ist können Sie .aup-Datei und _data-Verzeichnis löschen um Festplattenplatz zu sparen. </p><p><i>Datei &gt; Projekt speichern als...</i> erlaubt es, ein leeres Projekt zu speichern; außerdem kann hiermit ein vorhandenes Projekt umbenannt werden. Weder .aup-Datei noch _data-Verzeichnis sollten jedoch manuell umbenannt werden. </p><p>"
 
 #: HelpText.cpp:335
 msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr ""
+msgstr "Um Ihre Arbeit in anderen Programmen anzuhören exportieren Sie sie in Audio-Dateien wie WAV oder MP3 (einige Formatewerden zunächst [[wma-proprietary|nicht unterstützt]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr ""
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p>Audacity kann <b>leider</b> einige proprietäre Formate nicht [[play|play]] oder [[export|export]] etwa <b>WMA, RealAudio, Shorten (SHN)</b>; Grund sind Lizenz- und Patent-Restriktionen. On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr ""
+msgstr "<p> So brennen Sie Ihre Arbeit auf eine Audio-CD für Standalone-CD-Player: Zunächst [[export|exportieren]] Sie sie als WAV- oder AIFF-Datei. Die exportierte Datei sollte vorliegen in Stereo, Samplefrequenz 44100 Hz (einstellbar in der Liste \"Projekt-Frequenz\" ganz unten links im Audacity-Fenster) und Sampletiefe 16 Bit (im \"Optionen\"-Button im Dialog Datei exportieren). Das sind übrigens die Audacity-Standardeinstellungen.<p> Brennen Sie die exportierte Datei mit einer CD-Brennsoftware zu einer \"Audio-CD\" - nicht etwa \"Daten-CD\" oder \"MP3-CD \". Weitere Hilfe in [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p> Die Hilfe für Audacity Beta ist leider noch unvollständig. Dennoch steht ein Handbuch-Entwurf unter <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">im Netz</ a>. Alternativ, klicken Sie <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">hier</ a>, um eine Ein-Seiten-Version des Handbuchs herunterzuladen, die dann in diesem Fenster angezeigt werden kann. Schließlich gibt es <a href=\"http://www.mediensyndikat.de/20_20.html\">hier</ a> kurze, praxisorientierte Anleitungen in deutscher Sprache. "
 
 #: ../src/HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1362,32 +1349,19 @@ msgstr "Schritte, die verworfen werden sollen: "
 msgid "&Discard"
 msgstr "Verwerfen"
 
-#: ../src/prefs/FileFormatPrefs.cpp:408
-#: ../src/prefs/PrefsDialog.cpp:164
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/AutoDuck.cpp:529
-#: ../src/effects/AutoDuck.cpp:531
-#: ../src/effects/Amplify.cpp:214
-#: ../src/effects/Compressor.cpp:519
-#: ../src/effects/Wahwah.cpp:592
-#: ../src/effects/Leveller.cpp:259
-#: ../src/effects/ChangeSpeed.cpp:397
-#: ../src/effects/Repeat.cpp:274
-#: ../src/effects/ladspa/LadspaEffect.cpp:592
-#: ../src/effects/ChangePitch.cpp:399
-#: ../src/effects/ChangeTempo.cpp:301
-#: ../src/effects/Effect.cpp:389
-#: ../src/effects/Effect.cpp:391
-#: ../src/effects/SpikeCleaner.cpp:191
-#: ../src/effects/Phaser.cpp:605
-#: ../src/effects/nyquist/Nyquist.cpp:827
-#: ../src/effects/Normalize.cpp:356
-#: ../src/effects/Equalization.cpp:1169
-#: ../src/effects/ChangeLength.cpp:187
-#: ../src/export/Export.cpp:791
-#: ../src/LabelDialog.cpp:135
-#: ../src/LabelDialog.cpp:137
-#: ../src/HistoryWindow.cpp:111
+#: ../src/prefs/FileFormatPrefs.cpp:408 ../src/prefs/PrefsDialog.cpp:164
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/AutoDuck.cpp:529
+#: ../src/effects/AutoDuck.cpp:531 ../src/effects/Amplify.cpp:214
+#: ../src/effects/Compressor.cpp:519 ../src/effects/Wahwah.cpp:592
+#: ../src/effects/Leveller.cpp:259 ../src/effects/ChangeSpeed.cpp:397
+#: ../src/effects/Repeat.cpp:274 ../src/effects/ladspa/LadspaEffect.cpp:592
+#: ../src/effects/ChangePitch.cpp:399 ../src/effects/ChangeTempo.cpp:301
+#: ../src/effects/Effect.cpp:389 ../src/effects/Effect.cpp:391
+#: ../src/effects/SpikeCleaner.cpp:191 ../src/effects/Phaser.cpp:605
+#: ../src/effects/nyquist/Nyquist.cpp:827 ../src/effects/Normalize.cpp:356
+#: ../src/effects/Equalization.cpp:1169 ../src/effects/ChangeLength.cpp:187
+#: ../src/export/Export.cpp:791 ../src/LabelDialog.cpp:135
+#: ../src/LabelDialog.cpp:137 ../src/HistoryWindow.cpp:111
 msgid "&OK"
 msgstr "&OK"
 
@@ -1411,13 +1385,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: ../src/LabelDialog.cpp:50
 msgid "Track"
 msgstr "Spur"
 
-#: ../src/Menus.cpp:4046
-#: ../src/Menus.cpp:4074
-#: ../src/LabelDialog.cpp:51
+#: ../src/Menus.cpp:4046 ../src/Menus.cpp:4074 ../src/LabelDialog.cpp:51
 msgid "Label"
 msgstr "Textmarke"
 
@@ -1436,7 +1416,7 @@ msgstr "Te&xtmarken bearbeiten..."
 
 #: ../src/LabelDialog.cpp:113
 msgid "Press F2 or double click to edit cell contents."
-msgstr "F2 drücken oder Doppelklick um Zelleninhalt zu bearbeiten"
+msgstr "Um Zelleninhalt zu bearbeiten Doppelklick oder F2 drücken"
 
 #: ../src/LabelDialog.cpp:124
 msgid "Insert &After"
@@ -1446,8 +1426,7 @@ msgstr "Danach einf
 msgid "Insert &Before"
 msgstr "Da&vor einfügen"
 
-#: ../src/Menus.cpp:222
-#: ../src/LabelDialog.cpp:127
+#: ../src/Menus.cpp:222 ../src/LabelDialog.cpp:127
 msgid "&Import..."
 msgstr "&Importieren..."
 
@@ -1465,27 +1444,21 @@ msgstr "Es gibt noch leere Textfelder. Diese werden\n"
 "\n"
 "Wollen Sie doch noch Namen vergeben?"
 
-#: ../src/UploadDialog.cpp:449
-#: ../src/UploadDialog.cpp:515
+#: ../src/UploadDialog.cpp:449 ../src/UploadDialog.cpp:515
 #: ../src/LabelDialog.cpp:350
 msgid "Confirm"
 msgstr "Bestätigen"
 
-#: ../src/Menus.cpp:3539
-#: ../src/LabelDialog.cpp:505
+#: ../src/Menus.cpp:3539 ../src/LabelDialog.cpp:505
 msgid "Select a text file containing labels..."
 msgstr "Textdatei mit Textmarken auswählen..."
 
-#: ../src/Menus.cpp:3543
-#: ../src/LabelDialog.cpp:509
+#: ../src/Menus.cpp:3543 ../src/LabelDialog.cpp:509
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"
 
-#: ../src/import/ImportMIDI.cpp:31
-#: ../src/Menus.cpp:3555
-#: ../src/Project.cpp:1570
-#: ../src/Project.cpp:1578
-#: ../src/LabelDialog.cpp:523
+#: ../src/import/ImportMIDI.cpp:31 ../src/Menus.cpp:3555
+#: ../src/Project.cpp:1570 ../src/Project.cpp:1578 ../src/LabelDialog.cpp:523
 msgid "Could not open file: "
 msgstr "Konnte Datei nicht öffnen:"
 
@@ -1493,13 +1466,11 @@ msgstr "Konnte Datei nicht 
 msgid "No labels to export."
 msgstr "Keine Textmarkierungen zu exportieren."
 
-#: ../src/Menus.cpp:2132
-#: ../src/LabelDialog.cpp:555
+#: ../src/Menus.cpp:2132 ../src/LabelDialog.cpp:555
 msgid "Export Labels As:"
 msgstr "Textspur(en) exportieren als:"
 
-#: ../src/Menus.cpp:2130
-#: ../src/LabelDialog.cpp:557
+#: ../src/Menus.cpp:2130 ../src/LabelDialog.cpp:557
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1538,29 +1509,21 @@ msgstr "
 msgid "&File"
 msgstr "&Datei"
 
-#: ../src/Menus.cpp:188
-msgid "&New\tCtrl+N"
-msgstr "&Neu\tCtrl+N"
-
-#: ../src/Menus.cpp:190
-msgid "&Open...\tCtrl+O"
-msgstr "&Öffnen...\tCtrl+O"
-
 #: ../src/Menus.cpp:201
-msgid "&Close\tCtrl+W"
-msgstr "Schlie&ßen\tCtrl+W"
+msgid "&Close"
+msgstr "Schlie&ßen"
 
 #: ../src/Menus.cpp:204
-msgid "&Save Project\tCtrl+S"
-msgstr "Projekt &speichern\tCtrl+S"
+msgid "&Save Project"
+msgstr "Projekt &speichern"
 
 #: ../src/Menus.cpp:208
 msgid "Save Project &As..."
-msgstr "Projekt speichern &unter...\tCtrl+Shift+S"
+msgstr "Projekt speichern &unter..."
 
 #: Menus.cpp:212
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Projekt komprimiert speichern..."
 
 #: ../src/Menus.cpp:211
 msgid "Chec&k Dependencies..."
@@ -1570,13 +1533,14 @@ msgstr "Abh
 msgid "Open Me&tadata Editor..."
 msgstr "Metadaten-Editor..."
 
+# &
 #: import/ImportRaw.cpp:447
 msgid "&Import"
-msgstr ""
+msgstr "&Import"
 
 #: ../src/Menus.cpp:224
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Audio..."
 
 #: ../src/Menus.cpp:225
 msgid "&Labels..."
@@ -1590,8 +1554,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "&Rohdaten..."
 
-#: Menus.cpp:208
-#: Menus.cpp:237
+#: Menus.cpp:208 Menus.cpp:237
 msgid "Expo&rt Selection..."
 msgstr "Auswahl exportieren..."
 
@@ -1605,28 +1568,23 @@ msgstr "Mehrere Dateien ex&portieren..."
 
 #: Menus.cpp:257
 msgid "Export MIDI..."
-msgstr ""
+msgstr "MIDI exportieren..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: ../src/Menus.cpp:340
+msgid "Appl&y Chain..."
+msgstr "Stapel&verarbeitung anwenden..."
 
-#: ../src/Menus.cpp:328
-#: ../src/Menus.cpp:342
+#: ../src/Menus.cpp:328 ../src/Menus.cpp:342
 msgid "Edit C&hains..."
 msgstr "Stapel&verarbeitung bearbeiten..."
 
 #: Menus.cpp:292
 msgid "Export CleanSpeech &Presets..."
-msgstr ""
+msgstr "CleanSpeech &Presets exportieren..."
 
 #: Menus.cpp:293
 msgid "I&mport CleanSpeech Presets..."
-msgstr ""
-
-#: ../src/Menus.cpp:340
-msgid "Appl&y Chain..."
-msgstr "Stapel&verarbeitung anwenden..."
+msgstr "CleanSpeech-Voreinstellungen i&mportieren..."
 
 #: ../src/Menus.cpp:346
 msgid "&Upload File..."
@@ -1640,157 +1598,143 @@ msgstr "Seite ein&richten..."
 msgid "&Print..."
 msgstr "&Drucken..."
 
-#: ../src/Menus.cpp:370
-#: ../src/Menus.cpp:373
-msgid "E&xit\tCtrl+Q"
-msgstr "&Beenden\tCtrl+Q"
+#: ../src/Menus.cpp:370 ../src/Menus.cpp:373
+msgid "E&xit"
+msgstr "&Beenden"
 
 #: ../src/Menus.cpp:382
 msgid "&Edit"
 msgstr "&Bearbeiten"
 
 #: ../src/Menus.cpp:386
-msgid "&Undo\tCtrl+Z"
-msgstr "&Rückgängig\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Rückgängig"
 
 #: ../src/Menus.cpp:394
 msgid "&Redo"
 msgstr "Wieder&holen"
 
 #: ../src/Menus.cpp:407
-msgid "Cu&t\tCtrl+X"
-msgstr "&Ausschneiden\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Ausschneiden"
 
 #: ../src/Menus.cpp:408
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "A&usschneiden und trennen\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "A&usschneiden und trennen"
 
 #: ../src/Menus.cpp:409
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopieren\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopieren"
 
 #: ../src/Menus.cpp:410
-msgid "&Paste\tCtrl+V"
-msgstr "&Einfügen\tCtrl+V"
+msgid "&Paste"
+msgstr "&Einfügen"
 
 #: ../src/Menus.cpp:414
-msgid "Tri&m\tCtrl+T"
-msgstr "Trimmen (&umgekehrt löschen)\tCtrl+T"
+msgid "Tri&m"
+msgstr "Trimmen (&umgekehrt löschen)"
 
 #: ../src/Menus.cpp:416
-msgid "&Delete\tCtrl+K"
-msgstr "&Löschen\tCtrl+K"
+msgid "&Delete"
+msgstr "&Löschen"
 
 #: ../src/Menus.cpp:417
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "L&öschen und trennen\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "L&öschen und trennen"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+msgid "Silence Audi&o"
+msgstr "Auswa&hl in Stille umwandeln"
 
 #: ../src/Menus.cpp:420
-msgid "Sp&lit\tCtrl+I"
-msgstr "&Clip trennen\tCtrl+I"
+msgid "Sp&lit"
+msgstr "&Clip trennen"
 
 #: Menus.cpp:443
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "In neue T&onspur verschieben\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "In neue T&onspur verschieben"
 
 #: ../src/Menus.cpp:430
-msgid "&Join\tCtrl+J"
-msgstr "Cl&ips verbinden\tCtrl+J"
+msgid "&Join"
+msgstr "Cl&ips verbinden"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+msgid "Detac&h at Silences"
+msgstr "&Bei Stille trennen"
 
 #: ../src/Menus.cpp:433
-msgid "Duplic&ate\tCtrl+D"
-msgstr "In neue T&onspur kopieren\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "In neue T&onspur kopieren"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "Stereospur in &Mono umwandeln"
 
 #: Menus.cpp:407
 msgid "La&beled Regions"
-msgstr ""
+msgstr "Ausw&ahl in Textspur"
 
 #: ../src/Menus.cpp:447
-msgid "&Cut\tAlt+X"
-msgstr "&Ausschneiden\tAlt+X"
+msgid "&Cut"
+msgstr "&Ausschneiden"
 
 #: ../src/Menus.cpp:451
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "A&usschneiden und Clip trennen\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "A&usschneiden und Clip trennen"
 
 #: ../src/Menus.cpp:455
-msgid "Co&py\tShift+Alt+C"
-msgstr "Kopieren\tShift+Alt+C"
-
-#: ../src/Menus.cpp:460
-msgid "&Delete\tAlt+K"
-msgstr "Löschen\tAlt+K"
+msgid "Co&py"
+msgstr "Kopieren"
 
 #: ../src/Menus.cpp:464
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Trennen und löschen\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Trennen und löschen"
 
 #: ../src/Menus.cpp:468
-msgid "Sile&nce\tAlt+L"
-msgstr "In Stille umwandeln\tAlt+L"
+msgid "Sile&nce"
+msgstr "In Stille umwandeln"
 
 #: ../src/Menus.cpp:473
-msgid "Spli&t\tAlt+I"
-msgstr "Au&sschneiden und Clip trennen\tAlt+I"
-
-#: ../src/Menus.cpp:477
-msgid "&Join\tAlt+J"
-msgstr "Clips &verbinden\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Au&sschneiden und Clip trennen"
 
 #: Menus.cpp:456
 msgid "&Select"
-msgstr ""
+msgstr "Ausw&ählen"
 
 #: ../src/Menus.cpp:488
-msgid "&All\tCtrl+A"
-msgstr "&Alles\tCtrl+A"
+msgid "&All"
+msgstr "&Alles"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Nichts\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Nichts"
 
 #: Menus.cpp:462
 #, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "&Links vom Cursor bis...\t["
+msgid "&Left at Playback Position"
+msgstr "&Links vom Cursor bis..."
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "&Rechts vom Cursor bis...\t]"
+msgid "&Right at Playback Position"
+msgstr "&Rechts vom Cursor bis..."
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr ""
+msgid "Track &Start to Cursor"
+msgstr "Spuranfang bis Cursor"
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr ""
+msgid "Cursor to Track &End"
+msgstr "Cursor bis Spur&ende"
 
 #: ../src/Menus.cpp:504
-msgid "Find &Zero Crossings\tZ"
-msgstr "Null&durchgang finden\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Null&durchgang finden"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
-msgstr ""
+msgstr "Cursor &verschieben"
 
 #: Menus.cpp:478
 #, fuzzy
@@ -1803,98 +1747,76 @@ msgid "to Selection En&d"
 msgstr "Ans &Ende der Auswahl"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr ""
+msgid "to Track &Start"
+msgstr "Zum Spur-&Anfang"
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr ""
+msgid "to Track &End"
+msgstr "Zum Spur-&Ende"
 
 #: Menus.cpp:491
 msgid "Re&gion Save"
-msgstr ""
+msgstr "Auswahl/Markierung s&peichern"
 
 #: Menus.cpp:492
 msgid "Regio&n Restore"
-msgstr ""
+msgstr "Auswahl/Markierung &wiederherstellen"
 
 #: Menus.cpp:503
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Einraste&n"
 
 #: Menus.cpp:504
 msgid "&Lock"
-msgstr ""
+msgstr "An"
 
 #: Menus.cpp:505
 msgid "&Unlock"
-msgstr ""
-
-#: ../src/Menus.cpp:546
-msgid "Turn Snap-To On"
-msgstr "Einrasten aktivieren"
-
-#: ../src/Menus.cpp:547
-msgid "Turn Snap-To Off"
-msgstr "Einrasten deaktivieren"
-
-#: ../src/Menus.cpp:548
-msgid "Turn Grid Snap On"
-msgstr "Einrasten am Gitter aktivieren"
+msgstr "Aus"
 
-#: ../src/Menus.cpp:549
-msgid "Turn Grid Snap Off"
-msgstr "Einrasten am Gitter deaktivieren"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
+msgid "Pre&ferences..."
+msgstr "Ein&stellungen..."
 
 #: ../src/Menus.cpp:568
 msgid "&View"
 msgstr "&Ansicht"
 
 #: ../src/Menus.cpp:570
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Einzoomen - Vergrößern\tCtrl+1"
+msgid "Zoom &In"
+msgstr "&Einzoomen - Vergrößern"
 
 #: ../src/Menus.cpp:573
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Kein Zoom - Normal\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Kein Zoom - Normal"
 
 #: ../src/Menus.cpp:574
-msgid "Zoom &Out\tCtrl+3"
-msgstr "&Auszoomen - Verkleinern\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "&Auszoomen - Verkleinern"
 
 #: ../src/Menus.cpp:577
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Projekt ins Fenster einpassen\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Projekt ins Fenster einpassen"
 
 #: ../src/Menus.cpp:578
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "&Spuren vertikal einpassen\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "&Spuren vertikal einpassen"
 
 #: ../src/Menus.cpp:579
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "A&uswahl ins Fenster einpassen\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "A&uswahl ins Fenster einpassen"
 
 #: ../src/Menus.cpp:582
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "Spuren &zusammenfalten\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "Spuren &zusammenfalten"
 
 #: ../src/Menus.cpp:583
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Spuren au&seinanderfalten\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "Spuren au&seinanderfalten"
 
 #: Menus.cpp:551
-#, fuzzy
 msgid "&Show Clipping"
-msgstr "Übersteuerungen anzeigen"
+msgstr "&Übersteuerungen anzeigen"
 
 #: ../src/Menus.cpp:591
 msgid "&History..."
@@ -1902,114 +1824,105 @@ msgstr "&Verlauf..."
 
 #: Menus.cpp:566
 msgid "&Toolbars"
-msgstr ""
+msgstr "&Werkzeugleisten"
 
 #: Menus.cpp:567
-#, fuzzy
 msgid "&Control Toolbar"
-msgstr "Wiedergabewerkzeuge"
+msgstr "&Wiedergabewerkzeuge"
 
 #: Menus.cpp:568
-#, fuzzy
 msgid "&Device Toolbar"
-msgstr "Aufnahmegeräte"
+msgstr "Au&fnahmegeräte"
 
 #: Menus.cpp:569
-#, fuzzy
 msgid "&Edit Toolbar"
-msgstr "Bearbeitungswerkzeuge"
+msgstr "&Bearbeitungswerkzeuge"
 
 #: Menus.cpp:570
-#, fuzzy
 msgid "&Meter Toolbar"
-msgstr "Aussteuerungsanzeige"
+msgstr "&Aussteuerungsanzeige"
 
 #: Menus.cpp:571
-#, fuzzy
 msgid "Mi&xer Toolbar"
-msgstr "Pegelregler"
+msgstr "&Pegelregler"
 
 #: Menus.cpp:572
-#, fuzzy
 msgid "&Selection Toolbar"
-msgstr "Zeit-/Projektfrequenzleiste"
+msgstr "&Leiste mit Projektfrequenz-/Zeitanzeige"
 
 #: Menus.cpp:573
-#, fuzzy
 msgid "T&ools Toolbar"
-msgstr "Kontrollwerkzeuge"
+msgstr "&Kontrollwerkzeuge"
 
 #: Menus.cpp:574
-#, fuzzy
 msgid "Transcri&ption Toolbar"
-msgstr "Transkriptionswerkzeug"
+msgstr "&Transkribierwerkzeug"
 
 #: Menus.cpp:576
-#, fuzzy
 msgid "&Reset Toolbars"
-msgstr "Werkzeugleisten zurücksetzen"
+msgstr "&Werkzeugleisten zurücksetzen"
 
 #: Menus.cpp:578
 msgid "!Simplified View"
-msgstr ""
+msgstr "!Vereinfachte Ansicht"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
 #: Menus.cpp:587
 msgid "T&ransport"
-msgstr ""
+msgstr "&Transport"
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+msgid "Play"
+msgstr "&Wiedergabe"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgid "&Loop Play"
+msgstr "&Loop-Wiedergabe"
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr ""
+msgid "&Pause"
+msgstr "&Pause"
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+msgid "&Stop"
+msgstr "&Stopp"
 
 #: ../src/Menus.cpp:854
-msgid "Skip to Start\tHome"
-msgstr "An den Anfang springen\tHome"
+msgid "Skip to Start"
+msgstr "An den Anfang springen"
 
 #: ../src/Menus.cpp:855
-msgid "Skip to End\tEnd"
-msgstr "Ans Ende springen\tEnd"
+msgid "Skip to End"
+msgstr "Ans Ende springen"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
-msgstr ""
+msgid "&Record"
+msgstr "&Aufnahme"
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr ""
+msgid "&Timer Record..."
+msgstr "&Zeitgesteuerte Aufnahme..."
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr ""
+msgid "Append Record"
+msgstr "Aufnahme fortsetzen"
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Playback bei Aufnahme (an/aus)"
 
 #: Menus.cpp:609
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Software-Playback bei Aufnahme (an/aus)"
 
 #: Menus.cpp:612
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Pegelgesteuerte Aufnahme (on/off)"
 
 #: Menus.cpp:614
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Einstellung Startpegel..."
 
 #: ../src/Menus.cpp:614
 msgid "&Tracks"
@@ -2017,11 +1930,11 @@ msgstr "&Spuren"
 
 #: Menus.cpp:629
 msgid "Add &New"
-msgstr ""
+msgstr "&Neue Spur erzeugen"
 
 #: ../src/Menus.cpp:622
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Monospur\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Monospur"
 
 #: ../src/Menus.cpp:623
 msgid "&Stereo Track"
@@ -2033,11 +1946,11 @@ msgstr "&Zeitspur"
 
 #: Menus.cpp:643
 msgid "Mi&x and Render"
-msgstr ""
+msgstr "Spuren zusammenf&ühren"
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr ""
+msgid "Mix and Render to New Track"
+msgstr "In neue Spur zusammenführen"
 
 #: ../src/Menus.cpp:641
 msgid "&Resample..."
@@ -2048,84 +1961,80 @@ msgid "Remo&ve Tracks"
 msgstr "Spur(en) ent&fernen"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr ""
+msgid "&Mute All Tracks"
+msgstr "Alle Spuren &stummstellen"
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr ""
+msgid "&UnMute All Tracks"
+msgstr "Stummstellen &aufheben"
 
 #: ../src/Menus.cpp:658
 msgid "Align with &Zero"
-msgstr "Anfang an &Null ausrichten"
+msgstr "An &Null ausrichten"
 
 #: ../src/Menus.cpp:659
 msgid "Align with &Cursor"
-msgstr "Anfang an &Cursor ausrichten"
+msgstr "Am &Cursor ausrichten"
 
 #: ../src/Menus.cpp:660
 msgid "Align with Selection &Start"
-msgstr "Anfang an &Anfang der Auswahl ausrichten"
+msgstr "Am &Anfang der Auswahl ausrichten"
 
 #: ../src/Menus.cpp:661
 msgid "Align with Selection &End"
-msgstr "Anfang an &Ende der Auswahl ausrichten"
+msgstr "Am &Ende der Auswahl ausrichten"
 
 #: Menus.cpp:676
-#, fuzzy
 msgid "Align End with Cu&rsor"
-msgstr "Ende an C&ursor ausrichten"
+msgstr "Ende am C&ursor ausrichten"
 
 #: Menus.cpp:677
-#, fuzzy
 msgid "Align End with Selection Star&t"
-msgstr "Ende an An&fang der Auswahl ausrichten"
+msgstr "Ende am An&fang der Auswahl ausrichten"
 
 #: Menus.cpp:678
-#, fuzzy
 msgid "Align End with Selection En&d"
-msgstr "Ende an Ende der Aus&wahl ausrichten"
+msgstr "Ende am Ende der Aus&wahl ausrichten"
 
 #: Menus.cpp:679
-#, fuzzy
 msgid "Align Tracks To&gether"
 msgstr "T&onspuren aneinander ausrichten"
 
 #: Menus.cpp:681
 msgid "&Align Tracks"
-msgstr ""
+msgstr "Spuren aus&richten"
 
 #: Menus.cpp:690
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "Cursor ausr&ichten/bewegen"
 
 #: Menus.cpp:697
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "MIDI mit Audio synchronisieren"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: ../src/Menus.cpp:684
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Textmarke an Cursor/Auswahl &hinzufügen\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: ../src/Menus.cpp:685
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Textmarke während &Wiedergabe hinzufügen\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Textmarke während &Wiedergabe"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
-msgstr ""
+msgstr "Spuren s&ortieren"
 
 #: Menus.cpp:717
 msgid "by &Start time"
-msgstr ""
+msgstr "nach &Startzeit"
 
 #: Menus.cpp:719
 msgid "by &Name"
-msgstr ""
+msgstr "nach &Name"
 
 #: ../src/Menus.cpp:704
 msgid "&Generate"
@@ -2133,26 +2042,25 @@ msgstr "Er&zeugen"
 
 #: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
 msgid "Unsorted"
-msgstr ""
+msgstr "Unsortiert"
 
 #: ../src/Menus.cpp:727
 msgid "Effe&ct"
 msgstr "&Effekt"
 
-#: ../src/Menus.cpp:731
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Letzten Effekt wiederholen\tCtrl+R"
-
 #: ../src/Menus.cpp:763
 msgid "&Analyze"
 msgstr "Anal&yse"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr "&Frequenzanalyse"
 
-#: ../src/Menus.cpp:798
-#: ../src/Menus.cpp:801
+#: ../src/Menus.cpp:798 ../src/Menus.cpp:801
 msgid "&Help"
 msgstr "&Hilfe"
 
@@ -2164,13 +2072,13 @@ msgstr "&
 msgid "&Show Welcome Message..."
 msgstr "Willkommen-Text anzeigen..."
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr "Inhalt..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
-msgstr ""
+msgstr "&Protokoll anzeigen..."
 
 #: Menus.cpp:744
 msgid "&Screenshot Tools..."
@@ -2184,237 +2092,205 @@ msgstr "Benchma&rk ausf
 msgid "&Audio Device Info..."
 msgstr "Sound&karten-Info..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:831
-msgid "Selection Tool\tF1"
-msgstr "Auswahlwerkzeug\tF1"
+msgid "Selection Tool"
+msgstr "Auswahlwerkzeug"
 
 #: ../src/Menus.cpp:832
-msgid "Envelope Tool\tF2"
-msgstr "Hüllkurvenwerkzeug\tF2"
+msgid "Envelope Tool"
+msgstr "Hüllkurvenwerkzeug"
 
 #: ../src/Menus.cpp:833
-msgid "Draw Tool\tF3"
-msgstr "Zeichenwerkzeug\tF3"
+msgid "Draw Tool"
+msgstr "Zeichenwerkzeug"
 
 #: ../src/Menus.cpp:834
-msgid "Zoom Tool\tF4"
-msgstr "Zoomwerkzeug\tF4"
+msgid "Zoom Tool"
+msgstr "Zoomwerkzeug"
 
 #: ../src/Menus.cpp:835
-msgid "Time Shift Tool\tF5"
-msgstr "Verschiebewerkzeug\tF5"
+msgid "Time Shift Tool"
+msgstr "Verschiebewerkzeug"
 
 #: ../src/Menus.cpp:836
-msgid "Multi Tool\tF6"
-msgstr "Multifunktionswerkzeug\tF6"
+msgid "Multi Tool"
+msgstr "Multifunktionswerkzeug"
 
 #: ../src/Menus.cpp:838
-msgid "Next Tool\tD"
-msgstr "Nächstes Werkzeug\tD"
+msgid "Next Tool"
+msgstr "Nächstes Werkzeug"
 
 #: ../src/Menus.cpp:839
-msgid "Previous Tool\tA"
-msgstr "Vorheriges Werkzeug\tA"
+msgid "Previous Tool"
+msgstr "Vorheriges Werkzeug"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:842
-msgid "Stop\tS"
-msgstr "Stopp\tS"
-
-#: ../src/Menus.cpp:843
-msgid "Pause\tP"
-msgstr "Pause\tP"
-
-#: ../src/Menus.cpp:844
-msgid "Record\tR"
-msgstr "Aufnahme\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr ""
+msgid "Play/Stop"
+msgstr "Play/Stopp"
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr ""
+msgid "Play/Stop and Set Cursor"
+msgstr "Play/Stopp und Cursorsetzen"
 
 #: ../src/Menus.cpp:848
-msgid "Play One Second\t1"
-msgstr "Wiedergabe (1 Sekunde)\t1"
+msgid "Play One Second"
+msgstr "Wiedergabe (1 Sekunde)"
 
 #: ../src/Menus.cpp:849
-msgid "Play To Selection\tB"
-msgstr "Wiedergabe bis zur Markierung\tB"
-
-#: ../src/Menus.cpp:850
-msgid "Play Looped\tL"
-msgstr "Wiedergabe (endlos)\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Wiedergabe bis zur Markierung"
 
 #: ../src/Menus.cpp:852
-msgid "Play Cut Preview\tC"
-msgstr "Schnitt vorhören\tC"
+msgid "Play Cut Preview"
+msgstr "Schnitt vorhören"
 
 #: ../src/Menus.cpp:857
-msgid "Selection to Start\tShift+Home"
-msgstr "Auswahl auf Anfang\tShift+Home"
+msgid "Selection to Start"
+msgstr "Auswahl auf Anfang"
 
 #: ../src/Menus.cpp:858
-msgid "Selection to End\tShift+End"
-msgstr "Auswahl: Von Markierung bis Ende\tShift+End"
+msgid "Selection to End"
+msgstr "Auswahl: Von Markierung bis Ende"
 
 #: ../src/Menus.cpp:860
-msgid "DeleteKey\tBackspace"
-msgstr "Löschtaste\tBackspace"
+msgid "DeleteKey"
+msgstr "Löschtaste"
 
 #: ../src/Menus.cpp:865
-msgid "DeleteKey2\tDelete"
-msgstr "Löschtaste\tDelete"
+msgid "DeleteKey2"
+msgstr "Löschtaste"
 
-#: ../src/Menus.cpp:871
-msgid "Seek left short period during playback\tLeft"
-msgstr "Durchsuche in kleinen Sprüngen (links) während Wiedergabe\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: ../src/Menus.cpp:872
-msgid "Seek right short period during playback\tRight"
-msgstr "Durchsuche in kleinen Sprüngen (rechts) während Wiedergabe\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: ../src/Menus.cpp:873
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Durchsuche in großen Sprüngen (links) während Wiedergabe\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: ../src/Menus.cpp:874
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Durchsuche in großen Sprngen (rechts) während Wiedergabe\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: ../src/Menus.cpp:878
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Fokus zur vorigen Spur bewegen\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Fokus zur vorigen Spur bewegen"
 
-#: ../src/Menus.cpp:879
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Fokus zur vorigen Spur bewegen und Auswahl ändern\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: ../src/Menus.cpp:880
-msgid "Move Focus to Next Track\tDown"
-msgstr "Fokus zur nächsten Spur bewegen\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Fokus zur nächsten Spur bewegen"
 
-#: ../src/Menus.cpp:881
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Fokus zur nächsten Spur bewegen und Auswahl ändern\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: ../src/Menus.cpp:882
-msgid "Toggle Focused Track\tReturn"
-msgstr "Zwischen ausgewählten Spuren umschalten\tReturn"
-
-#: ../src/Menus.cpp:883
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Zwischen ausgewählten Spuren umschalten\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Zwischen ausgewählten Spuren umschalten"
 
 #: ../src/Menus.cpp:887
-msgid "Cursor Left\tLeft"
-msgstr "Cursor links\tLeft"
+msgid "Cursor Left"
+msgstr "Cursor links"
 
 #: ../src/Menus.cpp:888
-msgid "Cursor Right\tRight"
-msgstr "Cursor rechts\tRight"
+msgid "Cursor Right"
+msgstr "Cursor rechts"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
-msgstr ""
+msgid "Cursor Short Jump Left"
+msgstr "Cursor wenig nach links"
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
-msgstr ""
+msgid "Cursor Short Jump Right"
+msgstr "Cursor wenig nach rechts"
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr ""
+msgid "Cursor Long Jump Left"
+msgstr "Cursor viel nach links versetzen"
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
-msgstr ""
+msgid "Cursor Long Jump Right"
+msgstr "Cursor viel nach rechts versetzen"
 
 #: ../src/Menus.cpp:889
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Auswahl nach links erweitern\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Auswahl nach links erweitern"
 
 #: ../src/Menus.cpp:890
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Auswahl nach rechts erweitern\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Auswahl nach rechts erweitern"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
-msgstr ""
+msgstr "Linke Grenze der Auswahl setzen oder erweitern"
 
 #: Menus.cpp:829
 msgid "Set (or Extend) Right Selection"
-msgstr ""
+msgstr "Rechte Grenze der Auswahl setzen oder erweitern"
 
 #: ../src/Menus.cpp:892
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Auswahl links verringern\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Auswahl links verringern"
 
 #: ../src/Menus.cpp:893
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Auswahl rechts verringern\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Auswahl rechts verringern"
 
 #: ../src/Menus.cpp:895
-msgid "Change pan on focused track\tShift+P"
-msgstr "Panorama der ausgewählten Spur einstellen.\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Panorama der ausgewählten Spur einstellen."
 
 #: ../src/Menus.cpp:896
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Panorama der ausgewählten Spur nach links verschieben\tQAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Panorama der ausgewählten Spur nach links verschieben"
 
 #: ../src/Menus.cpp:897
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Panorama der ausgewählten Spur nach rechts verschieben\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Panorama der ausgewählten Spur nach rechts verschieben"
 
 #: ../src/Menus.cpp:898
-msgid "Change gain on focused track\tShift+G"
-msgstr "Lautstärke der ausgewählten Spur einstellen.\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Lautstärke der ausgewählten Spur einstellen."
 
 #: ../src/Menus.cpp:899
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Lautstärke erhöhen bei der ausgewählten Spur\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Lautstärke erhöhen bei der ausgewählten Spur"
 
 #: ../src/Menus.cpp:900
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Lautstärke verringern bei der ausgewählten Spur\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Lautstärke verringern bei der ausgewählten Spur"
 
 #: ../src/Menus.cpp:901
-msgid "Open menu on focused track\tShift+M"
-msgstr "Menü der ausgewählten Spur öffnen\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Menü der ausgewählten Spur öffnen"
 
 #: ../src/Menus.cpp:902
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Ausgewählte Spur stumm (ein/aus)\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Ausgewählte Spur stumm (ein/aus)"
 
 #: ../src/Menus.cpp:903
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Ausgewählte Spur auf Solo (ein/aus)\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Ausgewählte Spur auf Solo (ein/aus)"
 
 #: ../src/Menus.cpp:904
-msgid "Close focused track\tShift+C"
-msgstr "Ausgewählte Spur schließen\tShift+C"
+msgid "Close focused track"
+msgstr "Ausgewählte Spur schließen"
 
 #: Menus.cpp:845
 msgid "Snap To On"
@@ -2425,7 +2301,35 @@ msgid "Snap To Off"
 msgstr "Einrasten aus"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr "Vollbild an/aus"
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2436,7 +2340,7 @@ msgstr "Zuletzt ge
 #. i18n-hint: This is the name of the menu item on Windows and Linux
 #: Menus.cpp:1161
 msgid "Recent &Files"
-msgstr ""
+msgstr "Zuletzt geö&ffnete Dateien"
 
 #: ../src/Menus.cpp:981
 #, c-format
@@ -2486,8 +2390,8 @@ msgstr "Sie m
 
 #: ../src/Menus.cpp:1995
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Wiederholen: %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Wiederholen: %s"
 
 #: ../src/Menus.cpp:2126
 msgid "There are no label tracks to export."
@@ -2495,20 +2399,21 @@ msgstr "Es gibt keine Textspuren zu exportieren."
 
 #: Menus.cpp:2608
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "MIDI exportieren als:"
 
 #: Menus.cpp:2612
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "MIDI-Datei (*.mid)|*.mid|Allegro-Datei (*.gro)|*.gro"
 
 #: Menus.cpp:2644
 msgid "You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
-msgstr ""
+msgstr "Sie haben einen Dateinamen mit unbekannter Dateiendung ausgewählt.\n"
+" Wollen Sie fortfahren?"
 
 #: Menus.cpp:2645
 msgid "Export MIDI"
-msgstr ""
+msgstr "MIDI exportieren"
 
 #: ../src/Menus.cpp:2265
 msgid "Nothing to undo"
@@ -2518,8 +2423,7 @@ msgstr "Nichts zum R
 msgid "Nothing to redo"
 msgstr "Nichts zum Wiederhholen"
 
-#: ../src/toolbars/EditToolBar.cpp:132
-#: ../src/Menus.cpp:2385
+#: ../src/toolbars/EditToolBar.cpp:132 ../src/Menus.cpp:2385
 #: ../src/TrackPanel.cpp:549
 msgid "Cut"
 msgstr "Ausschneiden"
@@ -2536,11 +2440,8 @@ msgstr "A&usschneiden und Clip trennen"
 msgid "Split-cut to the clipboard"
 msgstr "Ausschneiden/Trennen und in Zwischenablage kopieren"
 
-#: ../src/toolbars/EditToolBar.cpp:136
-#: ../src/Menus.cpp:2485
-#: ../src/Menus.cpp:2553
-#: ../src/Menus.cpp:2640
-#: ../src/TrackPanel.cpp:551
+#: ../src/toolbars/EditToolBar.cpp:136 ../src/Menus.cpp:2485
+#: ../src/Menus.cpp:2553 ../src/Menus.cpp:2640 ../src/TrackPanel.cpp:551
 msgid "Paste"
 msgstr "Einfügen"
 
@@ -2548,21 +2449,19 @@ msgstr "Einf
 msgid "Pasted text from the clipboard"
 msgstr "Aus der Zwischenablage eingefügt"
 
-#: ../src/Menus.cpp:2553
-#: ../src/Menus.cpp:2640
+#: ../src/Menus.cpp:2553 ../src/Menus.cpp:2640
 msgid "Pasted from the clipboard"
 msgstr "Aus der Zwischenablage eingefügt"
 
 #: Menus.cpp:3053
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "Es ist nicht möglich, einen Spurtyp in einen anderen zu kopieren. "
 
 #: ../src/Menus.cpp:2583
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Stereoclips können nicht in eine Monospur kopiert werden."
 
-#: ../src/toolbars/EditToolBar.cpp:138
-#: ../src/Menus.cpp:2673
+#: ../src/toolbars/EditToolBar.cpp:138 ../src/Menus.cpp:2673
 msgid "Trim"
 msgstr "Zuschneiden"
 
@@ -2602,8 +2501,7 @@ msgstr "Cl&ips verbinden"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Ausgewählte Tonspuren in Stille verwandelt (%.2f Sekunden an %.2f)"
 
-#: ../src/toolbars/EditToolBar.cpp:140
-#: ../src/Menus.cpp:2774
+#: ../src/toolbars/EditToolBar.cpp:140 ../src/Menus.cpp:2774
 msgid "Silence"
 msgstr "Stille"
 
@@ -2687,8 +2585,7 @@ msgstr "Mittels Textspur markierte Clips trennen"
 msgid "Disjoined labeled regions"
 msgstr "Mittels Textspur markierte Clips getrennt"
 
-#: ../src/Menus.cpp:2950
-#: ../src/TrackPanel.cpp:5628
+#: ../src/Menus.cpp:2950 ../src/TrackPanel.cpp:5628
 msgid "Split"
 msgstr "Trennen"
 
@@ -2704,15 +2601,6 @@ msgstr "In neue Tonspur kopieren"
 msgid "Split at labels"
 msgstr "Trennen an Textmarken"
 
-#: ../src/Menus.cpp:3407
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Um das Spektrum zeichnen zu können, müssen alle Spuren die gleiche Samplerate haben."
-
-#: ../src/Menus.cpp:3433
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Es wurden zuviele Audiodaten ausgewählt. Nur die ersten %.1f Sekunden werden analysiert."
-
 #: ../src/Menus.cpp:3568
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2728,7 +2616,7 @@ msgstr "MIDI-Datei ausw
 
 #: Menus.cpp:4147
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "MIDI- und Allegro- Dateien (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI-Dateien (*.mid;*.midi)|*.mid;*.midi|Allegro-Dateien (*.gro)|*.gro|Alle Dateien (*.*)|*.*"
 
 #: ../src/Menus.cpp:3599
 #, c-format
@@ -2757,7 +2645,7 @@ msgstr "Metadaten bearbeiten"
 
 #: Menus.cpp:3631
 msgid "Edit Metadata tags"
-msgstr ""
+msgstr "Metadaten-Tags exportieren"
 
 #: ../src/Menus.cpp:3704
 #, c-format
@@ -2820,19 +2708,17 @@ msgstr "Ausrichten"
 
 #: Menus.cpp:4550
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "MIDI mit Audio synchronisieren"
 
 #: Menus.cpp:4554
 msgid "Alignment completed."
-msgstr ""
+msgstr "Ausrichten beendet."
 
 #: ../src/Menus.cpp:3916
 msgid "Created new audio track"
 msgstr "Neue Tonspur erstellt"
 
-#: ../src/Menus.cpp:3916
-#: ../src/Menus.cpp:3939
-#: ../src/Menus.cpp:3954
+#: ../src/Menus.cpp:3916 ../src/Menus.cpp:3939 ../src/Menus.cpp:3954
 #: ../src/Menus.cpp:3990
 msgid "New Track"
 msgstr "Neue Spur"
@@ -2865,13 +2751,11 @@ msgstr "Bearbeitete Textmarken"
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Clean-Speech-Voreinstellungen speichern unter:"
 
-#: ../src/Menus.cpp:4105
-#: ../src/Menus.cpp:4188
+#: ../src/Menus.cpp:4105 ../src/Menus.cpp:4188
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Clean-Speech Voreinstellungen (*.csp)|*.csp"
 
-#: ../src/export/Export.cpp:221
-#: ../src/Menus.cpp:4112
+#: ../src/export/Export.cpp:221 ../src/Menus.cpp:4112
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Leider werden Verzeichnisnamen mit mehr als 256 Zeichen nicht untersttzt."
 
@@ -2879,8 +2763,7 @@ msgstr "Leider werden Verzeichnisnamen mit mehr als 256 Zeichen nicht untersttzt
 msgid "Problem encountered exporting presets."
 msgstr "Es ist ein Problem aufgetreten beim Exportieren der Voreinstellungen."
 
-#: ../src/export/Export.cpp:136
-#: ../src/Menus.cpp:4159
+#: ../src/export/Export.cpp:136 ../src/Menus.cpp:4159
 msgid "Unable to export"
 msgstr "Kann nicht exportiert werden"
 
@@ -2892,14 +2775,13 @@ msgstr "Tonspur entfernen"
 msgid "Removed audio track(s)"
 msgstr "Tonspur(en) entfernt"
 
-#: ../src/Menus.cpp:4435
-#: ../src/Menus.cpp:4454
+#: ../src/Menus.cpp:4435 ../src/Menus.cpp:4454
 msgid "Resample"
 msgstr "Samplefrequenz ändern"
 
 #: Menus.cpp:5159 TrackPanel.cpp:6361
 msgid "New sample rate (Hz):"
-msgstr ""
+msgstr "Neue Sample-Frequenz (Hz):"
 
 #: ../src/Menus.cpp:4441
 msgid "The entered value is invalid"
@@ -2918,8 +2800,7 @@ msgstr "Samplefrequenz einer Spur 
 msgid "Resampled audio track(s)"
 msgstr "Samplefrequenz einer Spur geändert"
 
-#: ../src/Mix.cpp:92
-#: ../src/Mix.cpp:99
+#: ../src/Mix.cpp:92 ../src/Mix.cpp:99
 msgid "Mix"
 msgstr "Mischen"
 
@@ -2939,6 +2820,10 @@ msgstr "Es gab ein Problem mit dem Drucker."
 msgid "Print"
 msgstr "Drucken"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: ../src/Project.cpp:573
 msgid "Main Mix"
 msgstr "Haupt-Mix"
@@ -2952,14 +2837,11 @@ msgstr "Herzlich Willkommen zu Audacity Version %s"
 msgid "(Recovered)"
 msgstr "(wiederhergestellt)"
 
-#: ../src/toolbars/ControlToolBar.cpp:192
-#: ../src/TrackPanel.cpp:775
-#: ../src/Project.cpp:1318
+#: ../src/Menus.cpp:844
 msgid "Record"
-msgstr "Aufnahme (R)"
+msgstr "Aufnahme"
 
-#: ../src/TrackPanel.cpp:775
-#: ../src/Project.cpp:1318
+#: ../src/TrackPanel.cpp:775 ../src/Project.cpp:1318
 msgid "Recorded Audio"
 msgstr "Audio aufgezeichnet"
 
@@ -2974,24 +2856,28 @@ msgid "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr ""
+msgstr "\n"
+"Das gespeicherte Projekt wird keine Spuren haben.\n"
+"\n"
+"Um vorherige Spuren zu speichern:\n"
+"Abbrechen, Bearbeiten > Rückgängig, bis alle Spuren\n"
+"zu sehen sind, dann Datei > Projekt speichern."
 
 #: ../src/Project.cpp:1336
 msgid "Save changes?"
 msgstr "Änderungen speichern?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:3506
-#: ../src/Project.cpp:1493
+#: ../src/Menus.cpp:3506 ../src/Project.cpp:1493
 msgid "Select one or more audio files..."
 msgstr "Datei(en) auswählen..."
 
 #: Project.cpp:1736
 msgid "Audacity projects|*.aup|"
-msgstr ""
+msgstr "Audacity-Projekte|*.aup|"
 
 #: Project.cpp:1885 Project.cpp:2307
 #, c-format
@@ -3002,18 +2888,34 @@ msgid "This file was saved by Audacity %s, a much\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr ""
+msgstr "This file was saved by Audacity %s, a much\n"
+"older version.  The format has changed.\n"
+"\n"
+"Audacity could corrupt the file in opening\n"
+"it, so you must back it up first.\n"
+"\n"
+"Open this file now?"
 
 #: Project.cpp:1886
 msgid "1.0 or earlier"
-msgstr ""
+msgstr "1.0 oder früher"
 
 #: ../src/Project.cpp:1902
 msgid "Opening old project file"
 msgstr "Alte Projektdatei öffnen"
 
-#: ../src/Project.cpp:1571
-#: ../src/Project.cpp:1579
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1571 ../src/Project.cpp:1579
 msgid "Error opening file"
 msgstr "Fehler beim Öffnen der Datei"
 
@@ -3049,8 +2951,7 @@ msgstr "Wiederherstellen"
 msgid "Project checker repaired file"
 msgstr "Die Projekt-Überprüfung hat die Daten wiederhergestellt."
 
-#: ../src/effects/Repair.h:29
-#: ../src/Project.cpp:1737
+#: ../src/effects/Repair.h:29 ../src/Project.cpp:1737
 msgid "Repair"
 msgstr "Repariere&n"
 
@@ -3072,10 +2973,12 @@ msgstr "Diese Datei wurde mit Audacity %s gespeichert.\n"
 msgid "Can't open project file"
 msgstr "Kann Projektdatei nicht öffnen."
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3089,23 +2992,36 @@ msgid "Your project is now empty.\n"
 "are open, then File > Save Project.\n"
 "\n"
 "Save anyway?"
-msgstr ""
+msgstr "Ihr Projekt ist leer.\n"
+"Das gespeicherte Projekt wird keine Spuren haben.\n"
+"\n"
+"Um vorherige Spuren zu speichern:\n"
+"'Nein' klicken, Bearbeiten > Rückgängig, bis alle Spuren\n"
+"zu sehen sind, dann Datei > Projekt speichern.\n"
+"Dennoch speichern?"
 
 #: Project.cpp:2538
 msgid "Warning empty project"
-msgstr ""
+msgstr "Leeres Projekt!"
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
+#, fuzzy
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
-msgstr ""
+"is not writable or the disk is full."
+msgstr "Projekt konnte nicht gespeichert werden. Vielleicht ist %s \n"
+"nicht schreibbar oder das Laufwerk ist voll."
 
-#: ../src/Project.cpp:2126
-#: ../src/Project.cpp:2140
+#: ../src/Project.cpp:2126 ../src/Project.cpp:2140
 msgid "Error saving project"
 msgstr "Fehler beim Speichern des Projekts."
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2202
 #, c-format
 msgid "Saved %s"
@@ -3116,11 +3032,8 @@ msgstr "%s wurde gespeichert"
 msgid "Imported '%s'"
 msgstr "'%s' importiert"
 
-#: ../src/import/ImportPCM.cpp:405
-#: ../src/import/ImportPCM.cpp:449
-#: ../src/Menus.cpp:3633
-#: ../src/Project.cpp:2285
-#: ../src/Project.cpp:2310
+#: ../src/import/ImportPCM.cpp:405 ../src/import/ImportPCM.cpp:449
+#: ../src/Menus.cpp:3633 ../src/Project.cpp:2285 ../src/Project.cpp:2310
 msgid "Import"
 msgstr "Importieren"
 
@@ -3144,7 +3057,12 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "Most other programs can't open Audacity project files.\n"
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
-msgstr ""
+msgstr "\"Komprimierte\" Projekte (.aup plus Verzeichnisinhalt) enthalten Ihre Arbeit als datenreduziertes Ogg-Vorbis-Audio. \n"
+"Datenreduzierte Projekt-Dateien sind ein guter weil platzsparender Weg um Projekte über Netzwerke auszutauschen. \n"
+"Das Öffnen solcher Projekte dauert dann allerdings etwas länger. \n"
+"\n"
+"Die meisten anderen Audioprogramme können Audacity-Projekte allerdings nicht öffnen: \n"
+"Sollte das gewünscht sein verwenden Sie die Export-Funktion."
 
 #: Project.cpp:2897
 msgid "You are saving an Audacity project file (.aup).\n"
@@ -3152,7 +3070,11 @@ msgid "You are saving an Audacity project file (.aup).\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr ""
+msgstr "Sie speichern eine Audacity-Project-Datei (.aup),\n"
+"\n"
+"dieser Dateityp kann nur von Audacity geöffnet werden.\n"
+"\n"
+"Um eine Audiodatei zur Nutzung durch andere Programme zu erzeugen nutzen Sie den Dialog \"Datei > Export\".\n"
 
 #: ../src/Project.cpp:2376
 msgid "Audacity projects (*.aup)|*.aup"
@@ -3167,10 +3089,8 @@ msgstr "Neues Projekt erstellt"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Gelöscht: %.2f Sekunden bei t=%.2f"
 
-#: ../src/UploadDialog.cpp:392
-#: ../src/UploadDialog.cpp:525
-#: ../src/effects/Equalization.cpp:1061
-#: ../src/Project.cpp:2545
+#: ../src/UploadDialog.cpp:392 ../src/UploadDialog.cpp:525
+#: ../src/effects/Equalization.cpp:1061 ../src/Project.cpp:2545
 msgid "Delete"
 msgstr "Löschen"
 
@@ -3201,12 +3121,12 @@ msgstr "Kein Platz mehr auf der Festplatte verf
 #: Project.cpp:3336
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Importvorgang beendet. Erzeugen von %d Wellenform-Darstellungen. Insgesamt %2.0f%% erledigt."
 
 #: Project.cpp:3339
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Importvorgang beendet. Erzeugen der Wellenform-Darstellung. %2.0f%% erledigt."
 
 #: ../src/Project.cpp:3027
 msgid "Could not remove old autosave file: "
@@ -3250,8 +3170,7 @@ msgstr "Libsamplerate (Erik de Castro Lopo)"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate-Fehler: %d\n"
 
-#: ../src/Resample.cpp:240
-#: ../src/Resample.cpp:250
+#: ../src/Resample.cpp:240 ../src/Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Resampling deaktiviert"
 
@@ -3270,6 +3189,162 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/prefs/DirectoriesPrefs.cpp:92 ../src/export/ExportMultiple.cpp:729
+msgid "Choose..."
+msgstr "Ausw&ählen..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr "falsch"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: ../src/toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Werkzeuge"
+
+#: ../src/toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Wiedergabewerkzeuge"
+
+#: ../src/toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "Pegelregler"
+
+#: ../src/toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr "Aussteuerungsanzeige"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: ../src/toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "Gerät"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr "Transkribierwerkzeug"
+
+#: ../src/TrackPanel.cpp:451 ../src/TrackPanel.cpp:452
+msgid "Track Panel"
+msgstr "Spurbereich"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:784
+msgid "Tracks"
+msgstr "Spuren"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Gespeichert"
@@ -3278,16 +3353,16 @@ msgstr "Gespeichert"
 msgid "Error trying to save file: "
 msgstr "Fehler beim Versuch, die Datei zu speichern:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "Ungültiger Zwischenraum in Projektdatei erkannt\n"
 
-#: ../src/effects/Wahwah.cpp:582
-#: ../src/effects/Effect.cpp:254
-#: ../src/effects/Effect.cpp:370
-#: ../src/effects/Phaser.cpp:595
+#: ../src/effects/Wahwah.cpp:582 ../src/effects/Effect.cpp:254
+#: ../src/effects/Effect.cpp:370 ../src/effects/Phaser.cpp:595
 #: ../src/effects/audiounits/AudioUnitEffect.cpp:852
 msgid "Pre&view"
 msgstr "Vorhören"
@@ -3298,11 +3373,11 @@ msgstr "&Diagnose"
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Pegelgesteuerte Aufnahme"
 
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "Start-Pegel (dB):"
 
 #: SplashDialog.cpp:58
 msgid "&Welcome to Audacity!"
@@ -3336,14 +3411,13 @@ msgstr "Jahr"
 msgid "Genre"
 msgstr "Genre"
 
-#: ../src/prefs/MousePrefs.cpp:96
-#: ../src/Tags.cpp:748
+#: ../src/prefs/MousePrefs.cpp:96 ../src/Tags.cpp:748
 msgid "Comments"
 msgstr "Bemerkungen"
 
 #: Tags.cpp:777
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Verwenden Sie die Pfeiltasten (oder EINGABE nach der Bearbeitung) um zu navigieren."
 
 #: Tags.cpp:769
 msgid "Tag Name"
@@ -3363,23 +3437,21 @@ msgstr "Liste der Genres"
 
 #: Tags.cpp:826
 msgid "E&dit..."
-msgstr ""
+msgstr "Be&arbeiten..."
 
 #: Tags.cpp:827
 msgid "Rese&t..."
-msgstr ""
+msgstr "Zurückse&tzen..."
 
 #: ../src/Tags.cpp:1071
 msgid "Template"
 msgstr "Vorlage"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:123
-#: ../src/Tags.cpp:1074
+#: ../src/prefs/KeyConfigPrefs.cpp:123 ../src/Tags.cpp:1074
 msgid "&Load..."
 msgstr "Laden..."
 
-#: ../src/prefs/KeyConfigPrefs.cpp:122
-#: ../src/Tags.cpp:1079
+#: ../src/prefs/KeyConfigPrefs.cpp:122 ../src/Tags.cpp:1079
 msgid "&Save..."
 msgstr "Speichern..."
 
@@ -3388,67 +3460,46 @@ msgstr "Speichern..."
 msgid "S&et Default"
 msgstr "Zurücksetzen"
 
-#: Tags.cpp:958
-#: Tags.cpp:1597
-#: Tags.cpp:2326
+#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
 msgid "Edit Genres"
 msgstr "Liste der Genres bearbeiten"
 
-#: Tags.cpp:991
-#: Tags.cpp:1003
-#: Tags.cpp:1019
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1647
-#: Tags.cpp:1663
-#: Tags.cpp:1676
-#: Tags.cpp:2369
-#: Tags.cpp:2381
-#: Tags.cpp:2397
-#: Tags.cpp:2410
+#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
+#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
+#: Tags.cpp:2397 Tags.cpp:2410
 msgid "Reset Genres"
 msgstr "Zurücksetzen"
 
-#: Tags.cpp:991
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1676
-#: Tags.cpp:2369
+#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
 #: Tags.cpp:2410
 msgid "Unable to save genre file."
 msgstr "Genre-Datei kann nicht gespeichert werden."
 
-#: Tags.cpp:1002
-#: Tags.cpp:1646
-#: Tags.cpp:2380
+#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Wollen Sie die Liste der Genres wirklich zurücksetzen?"
 
-#: Tags.cpp:1019
-#: Tags.cpp:1663
-#: Tags.cpp:2397
+#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
 msgid "Unable to open genre file."
 msgstr "Genre-Datei kann nicht geöffnet werden."
 
 #: Tags.cpp:1084
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Metadata laden als:"
 
-#: Tags.cpp:1079
-#: Tags.cpp:1730
-#: Tags.cpp:2453
+#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
 msgid "Error loading metadata"
 msgstr "Fehler beim Laden der Metadaten"
 
-#: Tags.cpp:1054
-#: Tags.cpp:1108
-#: Tags.cpp:1709
-#: Tags.cpp:1745
-#: Tags.cpp:2432
+#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
 #: Tags.cpp:2468
 msgid "Save Metadata As:"
 msgstr "Metadaten speichern unter:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:628
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3481,8 +3532,7 @@ msgstr "Audacity konnte die Datei nicht finden:\n"
 "  %s.\n"
 "Theme nicht geladen."
 
-#: Theme.cpp:797
-#: Theme.cpp:885
+#: Theme.cpp:797 Theme.cpp:885
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3537,17 +3587,25 @@ msgstr "Dauer der Aufnahme"
 msgid "Audacity Timer Record"
 msgstr "Zeitgesteuerte Aufnahme"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
-msgstr ""
+msgstr "Aufnahmebeginn"
 
 #: TimerRecordDialog.cpp:225
 msgid "Recording end"
-msgstr ""
+msgstr "Aufnahmeende"
 
 #: TimerRecordDialog.cpp:230
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Fortschritt der zeitgesteuerten Aufnahme"
 
 #: ../src/SmartRecordDialog.cpp:251
 msgid "Start Date and Time"
@@ -3555,7 +3613,7 @@ msgstr "Beginn der Aufnahme"
 
 #: TimerRecordDialog.cpp:274
 msgid "Start Date"
-msgstr ""
+msgstr "Start-Datum"
 
 #: ../src/SmartRecordDialog.cpp:268
 msgid "End Date and Time"
@@ -3563,48 +3621,36 @@ msgstr "Ende der Aufnahme"
 
 #: TimerRecordDialog.cpp:294
 msgid "End Date"
-msgstr ""
+msgstr "Ende-Datum"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
 #: TimerRecordDialog.cpp:381
 #, c-format
 msgid "Waiting to start recording at %s.\n"
-msgstr ""
+msgstr "Warten auf Aufnahmestart %s.\n"
 
 #: TimerRecordDialog.cpp:382
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
-
-#: ../src/TrackPanel.cpp:451
-#: ../src/TrackPanel.cpp:452
-msgid "Track Panel"
-msgstr "Spurbereich"
+msgstr "Zeitgesteuerte Aufnahme - Warten auf Aufnahmebeginn"
 
-#: ../src/prefs/FileFormatPrefs.cpp:111
-#: ../src/prefs/QualityPrefs.cpp:97
+#: ../src/prefs/FileFormatPrefs.cpp:111 ../src/prefs/QualityPrefs.cpp:97
 #: ../src/TrackPanel.cpp:495
 msgid "Other..."
 msgstr "Andere..."
 
-#: ../src/TrackPanel.cpp:503
-#: ../src/TrackPanel.cpp:524
-#: ../src/TrackPanel.cpp:533
-#: ../src/TrackPanel.cpp:541
+#: ../src/TrackPanel.cpp:503 ../src/TrackPanel.cpp:524
+#: ../src/TrackPanel.cpp:533 ../src/TrackPanel.cpp:541
 msgid "Name..."
 msgstr "Name der Spur..."
 
-#: ../src/TrackPanel.cpp:505
-#: ../src/TrackPanel.cpp:526
-#: ../src/TrackPanel.cpp:537
-#: ../src/TrackPanel.cpp:543
+#: ../src/TrackPanel.cpp:505 ../src/TrackPanel.cpp:526
+#: ../src/TrackPanel.cpp:537 ../src/TrackPanel.cpp:543
 msgid "Move Track Up"
 msgstr "Spur nach oben verschieben"
 
-#: ../src/TrackPanel.cpp:506
-#: ../src/TrackPanel.cpp:527
-#: ../src/TrackPanel.cpp:538
-#: ../src/TrackPanel.cpp:544
+#: ../src/TrackPanel.cpp:506 ../src/TrackPanel.cpp:527
+#: ../src/TrackPanel.cpp:538 ../src/TrackPanel.cpp:544
 msgid "Move Track Down"
 msgstr "Spur nach unten verschieben"
 
@@ -3618,7 +3664,7 @@ msgstr "Wellenform (dB)"
 
 #: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
 msgid "Spectrum log(f)"
-msgstr ""
+msgstr "Spektrum log(f)"
 
 #: ../src/TrackPanel.cpp:511
 msgid "Pitch (EAC)"
@@ -3644,12 +3690,15 @@ msgstr "Stereotonspur erstellen"
 msgid "Split Stereo Track"
 msgstr "Stereotonspur trennen"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:519
 msgid "Set Sample Format"
 msgstr "Sampleformat einstellen"
 
-#: ../src/TrackPanel.cpp:521
-#: ../src/TrackPanel.cpp:5815
+#: ../src/TrackPanel.cpp:521 ../src/TrackPanel.cpp:5815
 msgid "Set Rate"
 msgstr "Samplerate einstellen"
 
@@ -3669,8 +3718,7 @@ msgstr "Zeichensatz..."
 msgid "Set Range..."
 msgstr "Bereich der Geschwindigkeitsmanipulation einstellen..."
 
-#: ../src/toolbars/EditToolBar.cpp:134
-#: ../src/TrackPanel.cpp:550
+#: ../src/toolbars/EditToolBar.cpp:134 ../src/TrackPanel.cpp:550
 msgid "Copy"
 msgstr "Kopieren"
 
@@ -3716,21 +3764,15 @@ msgstr "Klicken und ziehen um die linke Auswahlgrenze zu verschieben."
 msgid "Click and drag to move right selection boundary."
 msgstr "Klicken und ziehen um die rechte Auswahlgrenze zu verschieben."
 
-#: ../src/TrackPanel.cpp:1669
-#: ../src/TrackPanel.cpp:3728
-#: ../src/TrackPanel.cpp:3754
-#: ../src/TrackPanel.cpp:3999
-#: ../src/TrackPanel.cpp:5927
-#: ../src/TrackPanel.cpp:5947
+#: ../src/TrackPanel.cpp:1669 ../src/TrackPanel.cpp:3728
+#: ../src/TrackPanel.cpp:3754 ../src/TrackPanel.cpp:3999
+#: ../src/TrackPanel.cpp:5927 ../src/TrackPanel.cpp:5947
 msgid "Modified Label"
 msgstr "Textmarke geändert"
 
-#: ../src/TrackPanel.cpp:1670
-#: ../src/TrackPanel.cpp:3729
-#: ../src/TrackPanel.cpp:3755
-#: ../src/TrackPanel.cpp:4000
-#: ../src/TrackPanel.cpp:5928
-#: ../src/TrackPanel.cpp:5948
+#: ../src/TrackPanel.cpp:1670 ../src/TrackPanel.cpp:3729
+#: ../src/TrackPanel.cpp:3755 ../src/TrackPanel.cpp:4000
+#: ../src/TrackPanel.cpp:5928 ../src/TrackPanel.cpp:5948
 msgid "Label Edit"
 msgstr "Textmarke bearbeiten"
 
@@ -3738,8 +3780,7 @@ msgstr "Textmarke bearbeiten"
 msgid "Adjusted envelope."
 msgstr "Eingestellte Hüllkurve."
 
-#: ../src/prefs/MousePrefs.cpp:111
-#: ../src/TrackPanel.cpp:1896
+#: ../src/prefs/MousePrefs.cpp:111 ../src/TrackPanel.cpp:1896
 msgid "Envelope"
 msgstr "Hüllkurve"
 
@@ -3760,19 +3801,18 @@ msgstr "rechts"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Spur(en)/Clips wurden um %s %.02f Sekunden verschoben"
 
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 #: ../src/prefs/MousePrefs.cpp:109
 msgid "Time-Shift"
 msgstr "Zeitverschiebung"
 
 #: TrackPanel.cpp:2916
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr ""
+msgstr "Um zeichnen zu können wählen Sei bitte \"Wellenform\" im Menü des Spurkopfs."
 
 #: TrackPanel.cpp:2933
 msgid "To use Draw, zoom in further until you can see the individual samples."
-msgstr ""
+msgstr "Um zu zeichnen bitte weiter vergrößern, bis Sie die einzelnen Samples sehen können."
 
 #: ../src/TrackPanel.cpp:2982
 msgid "Moved Sample"
@@ -3800,39 +3840,33 @@ msgid "Moved pan slider"
 msgstr "Panoramaregler verschoben"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:3226
-#: ../src/TrackPanel.cpp:5270
+#: ../src/TrackPanel.cpp:3226 ../src/TrackPanel.cpp:5270
 #: ../src/TrackPanel.cpp:6484
 msgid "Gain"
 msgstr "Lautstärke"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:3226
-#: ../src/TrackPanel.cpp:5208
+#: ../src/TrackPanel.cpp:3226 ../src/TrackPanel.cpp:5208
 #: ../src/TrackPanel.cpp:6491
 msgid "Pan"
 msgstr "Panorama"
 
-#: ../src/effects/ChangePitch.cpp:283
-#: ../src/TrackPanel.cpp:3351
+#: ../src/effects/ChangePitch.cpp:283 ../src/TrackPanel.cpp:3351
 #: ../src/TrackPanel.cpp:5880
 msgid "up"
 msgstr "höher"
 
-#: ../src/effects/ChangePitch.cpp:283
-#: ../src/TrackPanel.cpp:3355
+#: ../src/effects/ChangePitch.cpp:283 ../src/TrackPanel.cpp:3355
 #: ../src/TrackPanel.cpp:5881
 msgid "down"
 msgstr "tiefer"
 
-#: ../src/TrackPanel.cpp:3360
-#: ../src/TrackPanel.cpp:5876
+#: ../src/TrackPanel.cpp:3360 ../src/TrackPanel.cpp:5876
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "'%s' wurde um %s verschoben"
 
-#: ../src/TrackPanel.cpp:3363
-#: ../src/TrackPanel.cpp:5882
+#: ../src/TrackPanel.cpp:3363 ../src/TrackPanel.cpp:5882
 msgid "Move Track"
 msgstr "Tonspur verschieben"
 
@@ -3846,11 +3880,11 @@ msgstr "Schnitt wiederhergestellt"
 
 #: TrackPanel.cpp:3973
 msgid "Merge"
-msgstr ""
+msgstr "Zusammenführen"
 
 #: TrackPanel.cpp:3973
 msgid "Merged Clips"
-msgstr ""
+msgstr "Zusammengeführte Clips"
 
 #: ../src/TrackPanel.cpp:3923
 msgid "Removed Cut Line"
@@ -3864,14 +3898,6 @@ msgstr "Panorama eingestellt"
 msgid "Adjusted gain"
 msgstr "Lautstärke eingestellt"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: ../src/TrackPanel.cpp:5426
 msgid "Can't delete track with active audio"
 msgstr "Spur mit aktivem Audio kann nicht gelöscht werden"
@@ -3892,8 +3918,7 @@ msgstr "Links, "
 msgid "Right, "
 msgstr "Rechts, "
 
-#: ../src/TrackPanel.cpp:5607
-#: ../src/TrackPanel.cpp:5720
+#: ../src/TrackPanel.cpp:5607 ../src/TrackPanel.cpp:5720
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' in %s konvertiert"
@@ -3907,6 +3932,11 @@ msgstr "Kanal"
 msgid "Split stereo track '%s'"
 msgstr "Stereotonspur trennen '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:5646
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3933,8 +3963,7 @@ msgstr "Format 
 msgid "Change lower speed limit (%) to:"
 msgstr "Untere Geschwindigkeitsgrenze in % der Originalgeschwindigkeit:"
 
-#: ../src/TrackPanel.cpp:5845
-#: ../src/TrackPanel.cpp:5846
+#: ../src/TrackPanel.cpp:5845 ../src/TrackPanel.cpp:5846
 msgid "Lower speed limit"
 msgstr "Minimalwert einstellen"
 
@@ -3942,8 +3971,7 @@ msgstr "Minimalwert einstellen"
 msgid "Change upper speed limit (%) to:"
 msgstr "Obere Geschwindigkeitsgrenze in % der Originalgeschwindigkeit:"
 
-#: ../src/TrackPanel.cpp:5852
-#: ../src/TrackPanel.cpp:5853
+#: ../src/TrackPanel.cpp:5852 ../src/TrackPanel.cpp:5853
 msgid "Upper speed limit"
 msgstr "Maximalwert einstellen"
 
@@ -3979,10 +4007,14 @@ msgstr "Schriftart f
 
 #: TrackPanel.cpp:6227
 msgid "Face name"
-msgstr ""
+msgstr "Oberflächen-Name"
 
 #: TrackPanel.cpp:6236
 msgid "Face size"
+msgstr "Oberflächen-Größe"
+
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
 msgstr ""
 
 #: ../src/TrackPanel.cpp:6419
@@ -4018,9 +4050,7 @@ msgstr "Solo"
 msgid " Select On"
 msgstr "Auswählen"
 
-#: ../src/VoiceKey.cpp:88
-#: ../src/VoiceKey.cpp:238
-#: ../src/VoiceKey.cpp:376
+#: ../src/VoiceKey.cpp:88 ../src/VoiceKey.cpp:238 ../src/VoiceKey.cpp:376
 #: ../src/VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Die Auswahl ist zu klein für den \"Voice-Key\"."
@@ -4048,8 +4078,7 @@ msgstr "Richtungswechsel  -- mean: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Tonspur"
 
-#: ../src/WaveTrack.cpp:515
-#: ../src/WaveTrack.cpp:534
+#: ../src/WaveTrack.cpp:515 ../src/WaveTrack.cpp:534
 msgid "There is not enough room available to paste the selection"
 msgstr "Der Platz reicht nicht um die Auswahl einzufügen."
 
@@ -4067,32 +4096,36 @@ msgstr "Plugins 1 bis %i"
 msgid "Plugins %i to %i"
 msgstr "Plugins %i bis %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
 msgid "You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr ""
+msgstr "Das ist nur möglich, wenn weder Wiedergabe noch\n"
+" Aufnahme läuft. [Pausetaste nicht drücken!]"
 
 #: commands/CommandManager.cpp:726
 msgid "You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr ""
+msgstr "Um dies zu tun müssen Sie zunächst Stereoaudio\n"
+" auswählen. [Mit Mono-Audio gehts nicht.]"
 
 #: commands/CommandManager.cpp:728
 msgid "You must first select some audio for this to use."
-msgstr ""
+msgstr "Bitte zunächst Audio auswählen."
 
 #: commands/CommandManager.cpp:730
 msgid "You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr ""
+msgstr "Bitte zunächst Audio auswählen.\n"
+"[Mit anderen Spurtypen gehts nicht.]"
 
 #: commands/CommandManager.cpp:903
 msgid "Disallowed"
-msgstr ""
+msgstr "Nicht erlaubt"
 
 #: ../src/commands/CommandManager.cpp:854
 #, c-format
@@ -4115,7 +4148,7 @@ msgstr "Verst
 #: effects/Amplify.cpp:155 effects/Compressor.cpp:476
 #: effects/Normalize.cpp:337
 msgid "by Dominic Mazzoni"
-msgstr ""
+msgstr "von Dominic Mazzoni"
 
 #: ../src/effects/Amplify.cpp:160
 msgid "Amplification (dB):"
@@ -4123,7 +4156,7 @@ msgstr "Verst
 
 #: effects/Amplify.cpp:183
 msgid "Amplification dB"
-msgstr ""
+msgstr "Verstärkung"
 
 #: ../src/effects/Amplify.cpp:180
 msgid "New Peak Amplitude (dB):"
@@ -4135,7 +4168,7 @@ msgstr "
 
 #: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
 msgid "-Infinity"
-msgstr ""
+msgstr "-unendlich"
 
 #: ../src/effects/Amplify.h:46
 msgid "Amplify..."
@@ -4149,8 +4182,7 @@ msgstr "Verst
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Sie haben eine Spur ausgewählt, die kein Audio enthält. Auto-Duck kann aber nur mit Audiospuren arbeiten."
 
-#: ../src/effects/AutoDuck.cpp:451
-#: ../src/effects/AutoDuck.cpp:578
+#: ../src/effects/AutoDuck.cpp:451 ../src/effects/AutoDuck.cpp:578
 msgid "Auto Duck"
 msgstr "Auto-Duck"
 
@@ -4170,16 +4202,11 @@ msgstr "Lautst
 msgid "Maximum pause:"
 msgstr "Zulässige Pause:"
 
-#: ../src/prefs/AudioIOPrefs.cpp:162
-#: ../src/prefs/AudioIOPrefs.cpp:164
-#: ../src/prefs/AudioIOPrefs.cpp:188
-#: ../src/prefs/AudioIOPrefs.cpp:190
-#: ../src/prefs/AudioIOPrefs.cpp:198
-#: ../src/effects/AutoDuck.cpp:492
-#: ../src/effects/AutoDuck.cpp:497
-#: ../src/effects/AutoDuck.cpp:502
-#: ../src/effects/AutoDuck.cpp:507
-#: ../src/effects/AutoDuck.cpp:512
+#: ../src/prefs/AudioIOPrefs.cpp:162 ../src/prefs/AudioIOPrefs.cpp:164
+#: ../src/prefs/AudioIOPrefs.cpp:188 ../src/prefs/AudioIOPrefs.cpp:190
+#: ../src/prefs/AudioIOPrefs.cpp:198 ../src/effects/AutoDuck.cpp:492
+#: ../src/effects/AutoDuck.cpp:497 ../src/effects/AutoDuck.cpp:502
+#: ../src/effects/AutoDuck.cpp:507 ../src/effects/AutoDuck.cpp:512
 #: ../src/widgets/TimeTextCtrl.cpp:197
 msgid "seconds"
 msgstr "Sekunden"
@@ -4220,13 +4247,10 @@ msgstr "Auto-D&uck..."
 msgid "Processing Auto Duck..."
 msgstr "Auto-Duck berechnen..."
 
-#: ../src/effects/VST/VSTEffect.cpp:454
-#: ../src/effects/AvcCompressor.cpp:738
-#: ../src/effects/TruncSilence.cpp:281
-#: ../src/effects/nyquist/Nyquist.cpp:991
+#: ../src/effects/VST/VSTEffect.cpp:454 ../src/effects/AvcCompressor.cpp:738
+#: ../src/effects/TruncSilence.cpp:281 ../src/effects/nyquist/Nyquist.cpp:991
 #: ../src/effects/nyquist/Nyquist.cpp:1057
-#: ../src/effects/audiounits/AudioUnitEffect.cpp:857
-#: ../src/LangChoice.cpp:103
+#: ../src/effects/audiounits/AudioUnitEffect.cpp:857 ../src/LangChoice.cpp:103
 #: ../src/widgets/Warning.cpp:67
 msgid "OK"
 msgstr "OK"
@@ -4250,7 +4274,7 @@ msgstr "Frequenz (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Frequenz Hertz"
 
 #: ../src/effects/BassBoost.cpp:208
 msgid "Boost (dB):"
@@ -4258,7 +4282,7 @@ msgstr "Anhebung (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Boost dB"
 
 #: ../src/effects/BassBoost.h:35
 msgid "BassBoost..."
@@ -4289,44 +4313,42 @@ msgstr "Tonh
 msgid "Change Pitch without Changing Tempo"
 msgstr "Änderung der Tonhöhe ohne Auswirkung auf die Laufzeit"
 
-#: ../src/effects/ChangeSpeed.cpp:305
-#: ../src/effects/ChangePitch.cpp:253
+#: ../src/effects/ChangeSpeed.cpp:305 ../src/effects/ChangePitch.cpp:253
 #: ../src/effects/ChangeTempo.cpp:181
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "(Vaughan Johnson && Dominic Mazzoni)"
 
-#: ../src/effects/ChangePitch.cpp:258
-#: ../src/effects/ChangeTempo.cpp:186
+#: ../src/effects/ChangePitch.cpp:258 ../src/effects/ChangeTempo.cpp:186
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "SoundTouch (Olli Parviainen)"
 
 #: effects/ChangePitch.cpp:269
 msgid "Pitch:"
-msgstr ""
+msgstr "Pitch:"
 
 #: effects/ChangePitch.cpp:274
 msgid "From:"
-msgstr ""
+msgstr "Von:"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "Pitch von"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "Auf"
 
 #: effects/ChangePitch.cpp:289
 msgid "Down"
-msgstr ""
+msgstr "Ab"
 
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "bis"
 
 #: effects/ChangePitch.cpp:300
 msgid "To Pitch"
-msgstr ""
+msgstr "Pitch bis"
 
 #: ../src/effects/ChangePitch.cpp:305
 msgid "Semitones (half-steps):"
@@ -4334,40 +4356,36 @@ msgstr "Halbtonschritte:"
 
 #: effects/ChangePitch.cpp:316
 msgid "Semitones in half-steps"
-msgstr ""
+msgstr "Halbtöne in Halb-Schritten"
 
 #: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
 #: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "von"
 
 #: effects/ChangePitch.cpp:327
 msgid "From frequency in hertz"
-msgstr ""
+msgstr "Von Frequenz in Hertz"
 
-#: ../src/effects/ChangeSpeed.cpp:369
-#: ../src/effects/ChangePitch.cpp:290
-#: ../src/effects/ChangePitch.cpp:336
-#: ../src/effects/ChangeTempo.cpp:240
+#: ../src/effects/ChangeSpeed.cpp:369 ../src/effects/ChangePitch.cpp:290
+#: ../src/effects/ChangePitch.cpp:336 ../src/effects/ChangeTempo.cpp:240
 #: ../src/effects/ChangeTempo.cpp:271
 msgid "to"
 msgstr "to"
 
 #: effects/ChangePitch.cpp:332
 msgid "To frequency in seconds"
-msgstr ""
+msgstr "Bis Frequenz in Sekunden"
 
-#: ../src/effects/ChangeSpeed.cpp:323
-#: ../src/effects/ChangePitch.cpp:359
-#: ../src/effects/ChangeTempo.cpp:199
-#: ../src/effects/ChangeLength.cpp:168
+#: ../src/effects/ChangeSpeed.cpp:323 ../src/effects/ChangePitch.cpp:359
+#: ../src/effects/ChangeTempo.cpp:199 ../src/effects/ChangeLength.cpp:168
 msgid "Percent Change:"
 msgstr "Änderung in %:"
 
 #: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
 #: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
 msgid "Percent Change"
-msgstr ""
+msgstr "Veränderung in Prozent"
 
 #: ../src/effects/ChangePitch.h:31
 msgid "Change Pitch..."
@@ -4377,8 +4395,7 @@ msgstr "Tonh
 msgid "Changing Pitch"
 msgstr "Tonhöhe ändern"
 
-#: ../src/effects/ChangeSpeed.cpp:52
-#: ../src/effects/ChangeTempo.cpp:55
+#: ../src/effects/ChangeSpeed.cpp:52 ../src/effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Effekt angewandt: %s %.1f %%"
@@ -4405,15 +4422,15 @@ msgstr "(SampleRate von Erik de Castro Lopo)"
 
 #: effects/ChangeSpeed.cpp:366
 msgid "Standard Vinyl RPM:"
-msgstr ""
+msgstr "Umdrehungen Schallplatte:"
 
 #: effects/ChangeSpeed.cpp:370
 msgid "From RPM"
-msgstr ""
+msgstr "Von Umdrehungen"
 
 #: effects/ChangeSpeed.cpp:375
 msgid "To RPM"
-msgstr ""
+msgstr "Bis Umdrehungen"
 
 #: ../src/effects/ChangeSpeed.h:32
 msgid "Change Speed..."
@@ -4433,27 +4450,27 @@ msgstr "Tempo 
 
 #: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
-msgstr ""
+msgstr "Beats pro Minute:"
 
 #: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "Von Beats pro Minute"
 
 #: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "Bis Beats pro Minute"
 
 #: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
-msgstr ""
+msgstr "Länge (Sekunden):"
 
 #: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
-msgstr ""
+msgstr "Von Länge in Sekunden"
 
 #: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
-msgstr ""
+msgstr "Bis Länge in Sekunden"
 
 #: ../src/effects/ChangeTempo.h:35
 msgid "Change Tempo..."
@@ -4478,7 +4495,7 @@ msgstr "Schwellwert einstellen (niedriger ist empfindlicher):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Schwellwert auswählen"
 
 #: effects/ClickRemoval.cpp:362
 msgid "Max spike width (higher is more sensitive):"
@@ -4486,7 +4503,7 @@ msgstr "Maximale Klick-L
 
 #: effects/ClickRemoval.cpp:363
 msgid "Max spike width"
-msgstr ""
+msgstr "Maximale Klick-Breite"
 
 #: ../src/effects/ClickRemoval.h:42
 msgid "Click Removal..."
@@ -4502,15 +4519,15 @@ msgstr "Dynamikkompressor"
 
 #: effects/Compressor.cpp:498
 msgid "Threshold"
-msgstr ""
+msgstr "Schwellwert"
 
 #: effects/Compressor.cpp:502
 msgid "Ratio:"
-msgstr ""
+msgstr "Verhältnis:"
 
 #: effects/Compressor.cpp:506
 msgid "Ratio"
-msgstr ""
+msgstr "Verhältnis"
 
 #: effects/Compressor.cpp:510
 #, fuzzy
@@ -4519,7 +4536,7 @@ msgstr "Ansprechzeit:"
 
 #: effects/Compressor.cpp:514
 msgid "Attack Time"
-msgstr ""
+msgstr "Ansprechzeit"
 
 #: effects/Compressor.cpp:518
 #, fuzzy
@@ -4528,57 +4545,54 @@ msgstr "Abkling-Zeit:"
 
 #: effects/Compressor.cpp:522
 msgid "Decay Time"
-msgstr ""
+msgstr "Abklingzeit"
 
-#: ../src/effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalisieren auf 0dB nach Kompression"
+#: effects/Compressor.cpp:530
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Anhebung auf 0dB nach komprimieren"
 
 #: effects/Compressor.cpp:563
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
 msgstr "Grenzwert: %d dB"
 
 #: effects/Compressor.cpp:564
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
 #: effects/Compressor.cpp:567
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "Verhältnis %.0f zu 1"
 
 #: effects/Compressor.cpp:568
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
 #: effects/Compressor.cpp:571
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "Verhältnis %.1f zu 1"
 
 #: effects/Compressor.cpp:572
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
 #: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Ansprechzeit: %.1f Sek."
 
 #: effects/Compressor.cpp:576 effects/Compressor.cpp:579
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f Sek."
 
 #: effects/Compressor.cpp:578
 #, c-format
-#, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Abkling-Zeit: %.1f Sekunden"
 
@@ -4590,251 +4604,225 @@ msgstr "K&ompressor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Dynamikkompression anwenden..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Kontrast-Werkzeug für den Vordergrund"
 
 #: effects/Contrast.cpp:79
 msgid "Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
-msgstr ""
+msgstr "Vordergrund-Ausschnitt ausgewählt.\n"
+"Wählen Sie nun den Hintergrund über das gleiche Menü (oder Strg+Großbuchstabentaste+T)"
 
 #: effects/Contrast.cpp:127
 msgid "Start time after after end time!\n"
 "Please enter reasonable times."
-msgstr ""
+msgstr "Die Startzeit liegt nach der Endzeit!\n"
+"BItte wählen Sie vernünftige Werte."
 
 #: effects/Contrast.cpp:137
 msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
-msgstr ""
-
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
+msgstr "Merkwürdige Zeiteingaben!\n"
+"Bitte wählen Sie vernünftige Werte."
 
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
-msgstr ""
+msgstr "Audiokontrast-Analyse"
 
 #: effects/Contrast.cpp:235
 msgid "Parameters"
-msgstr ""
+msgstr "Parameter"
 
-#: ../src/effects/ToneGen.cpp:328
-#: ../src/toolbars/ControlToolBar.cpp:186
+#: ../src/effects/ToneGen.cpp:328 ../src/toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "Start"
 
-#: ../src/effects/ToneGen.cpp:329
-#: ../src/toolbars/SelectionBar.cpp:129
-#: ../src/toolbars/SelectionBar.cpp:226
-#: ../src/toolbars/ControlToolBar.cpp:189
+#: ../src/effects/ToneGen.cpp:329 ../src/toolbars/SelectionBar.cpp:129
+#: ../src/toolbars/SelectionBar.cpp:226 ../src/toolbars/ControlToolBar.cpp:189
 msgid "End"
 msgstr "Ende"
 
 #: effects/Contrast.cpp:332
 msgid "Volume    "
-msgstr ""
+msgstr "Lautstärke"
 
 #: effects/Contrast.cpp:248
 msgid "Foreground:"
-msgstr ""
+msgstr "Vordergrund:"
 
 #: effects/Contrast.cpp:347
 msgid "Foreground start time"
-msgstr ""
+msgstr "Startzeit Vordergrund"
 
 #: effects/Contrast.cpp:365
 msgid "Foreground end time"
-msgstr ""
+msgstr "Endzeit Vordergrund"
+
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr "Gemessen"
 
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
-msgstr ""
+msgstr "Bitte auswählen"
 
 #: effects/Contrast.cpp:271
 msgid "Background:"
-msgstr ""
+msgstr "Hintergrund:"
 
 #: effects/Contrast.cpp:391
 msgid "Background start time"
-msgstr ""
+msgstr "Startzeit Hintergrund"
 
 #: effects/Contrast.cpp:409
 msgid "Background end time"
-msgstr ""
+msgstr "Endzeit Hintergrund"
 
 #: effects/Contrast.cpp:298
 msgid "Result"
-msgstr ""
+msgstr "Ergebnis"
 
 #: effects/Contrast.cpp:302
 msgid "Contrast Result:"
-msgstr ""
+msgstr "Ergebnis:"
 
-#: Tags.cpp:796
-#: Tags.cpp:1948
+#: Tags.cpp:796 Tags.cpp:1948
 msgid "Reset"
 msgstr "Zurücksetzen"
 
 #: effects/Contrast.cpp:304
 msgid "Difference:"
-msgstr ""
+msgstr "Unterschied:"
 
-#: ../src/AboutDialog.cpp:235
-#: ../src/effects/ChangeLength.cpp:131
+#: ../src/AboutDialog.cpp:235 ../src/effects/ChangeLength.cpp:131
 msgid "Information"
-msgstr "Programm-Informationen"
+msgstr "Info"
 
 #: effects/Contrast.cpp:447
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "WCAG2 misst Lautstärkeunterschiede, um Audios, die für Hörbehinderte geeignet sind, zu ermitteln."
 
 #: effects/Contrast.cpp:448
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: ../src/toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Wiedergabewerkzeuge"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
+msgstr "Hilfe für die WCAG2 Audiokontrast-Analyse"
 
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
 #: effects/Contrast.cpp:352
 msgid "Measure"
-msgstr ""
+msgstr "Messen"
 
 #: effects/Contrast.cpp:511
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Kein Vordergrund zu messen"
 
 #: effects/Contrast.cpp:516
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Gemessener Vordergrund-Pegel"
 
 #: effects/Contrast.cpp:191 effects/Contrast.cpp:202
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
 #: effects/Contrast.cpp:521
 msgid "No background to measure"
-msgstr ""
+msgstr "Kein Hintergrund zu messen"
 
 #: effects/Contrast.cpp:526
 msgid "Measured background level"
-msgstr ""
+msgstr "Gemessener Hintergrund-Pegel"
 
 #: effects/Contrast.cpp:358
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "WCAG2: \"OK\""
 
 #: effects/Contrast.cpp:360
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "Zu niedriger Kontrast"
 
 #: effects/Contrast.cpp:535
 msgid "Current difference"
-msgstr ""
+msgstr "Unterschied"
 
 #: effects/Contrast.cpp:536
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "%.1f dB MIttelwert"
 
 #: effects/Contrast.cpp:541
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Bitte geben Sie gültige Zeiten ein."
 
 #: effects/Contrast.cpp:551
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Kontrast-Ergebnis exportieren als:"
 
 #: effects/Contrast.cpp:572
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "WCAG 2.0 Success Criteria 1.4.7 Kontrast-Ergebnisse"
 
 #: effects/Contrast.cpp:574
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Dateiname = %s."
 
 #: effects/Contrast.cpp:576
 msgid "Foreground"
-msgstr ""
+msgstr "Vordergrund"
 
 #: effects/Contrast.cpp:581 effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Startzeit = %2d Stunde(n), %2d Minute(n), %.2f Sekunden."
 
 #: effects/Contrast.cpp:586 effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Endzeit = %2d Stunde(n), %2d Minute(n, %.2f Sekunden"
 
 #: effects/Contrast.cpp:588 effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Durchschnittlicher Effektivwert = %.1f dB."
 
 #: effects/Contrast.cpp:590 effects/Contrast.cpp:607
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Durchschnittlicher Effektivwert =  dB."
 
 #: effects/Contrast.cpp:593
 msgid "Background"
-msgstr ""
+msgstr "Hintergrund"
 
 #: effects/Contrast.cpp:609
 msgid "Results"
-msgstr ""
+msgstr "Ergebnisse"
 
 #: effects/Contrast.cpp:611
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Differenz = %.1f durchschnittlicher Effektivwert in dB."
 
 #: effects/Contrast.cpp:613
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Success-Kriterien 1.4.7 von WCAG 2.0: Erfolgreich"
 
 #: effects/Contrast.cpp:615
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Success-Kriterien 1.4.7 von WCAG 2.0: Nicht erfolgreich"
 
 #: effects/Contrast.cpp:618
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
+msgstr "Daten gelesen"
 
 #: ../src/effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
@@ -4848,14 +4836,13 @@ msgstr "von Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "Ziffernfolge:"
 
-#: ../src/effects/ToneGen.cpp:299
-#: ../src/effects/ToneGen.cpp:332
+#: ../src/effects/ToneGen.cpp:299 ../src/effects/ToneGen.cpp:332
 msgid "Amplitude (0-1)"
 msgstr "Amplitude (0-1)"
 
 #: effects/DtmfGen.cpp:465
 msgid "Duration:"
-msgstr ""
+msgstr "Dauer:"
 
 #: ../src/effects/DtmfGen.cpp:408
 msgid "Tone/silence ratio:"
@@ -4869,9 +4856,7 @@ msgstr "Tastverh
 msgid "Tone duration:"
 msgstr "Dauer des Tons:"
 
-#: effects/DtmfGen.cpp:425
-#: effects/DtmfGen.cpp:427
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:425 effects/DtmfGen.cpp:427 effects/DtmfGen.cpp:498
 #: effects/DtmfGen.cpp:499
 msgid "ms"
 msgstr "ms"
@@ -4964,6 +4949,10 @@ msgstr "Fehler beim Laden der Equalizer-Kurve"
 msgid "custom"
 msgstr "Benutzerdefiniert"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: ../src/effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Equalizer von Mitch Golden u. Vaughan Johnson"
@@ -5000,8 +4989,7 @@ msgstr "L
 msgid "Select curve:"
 msgstr "Kurve auswählen:"
 
-#: ../src/effects/Equalization.cpp:1058
-#: ../src/effects/Equalization.cpp:2244
+#: ../src/effects/Equalization.cpp:1058 ../src/effects/Equalization.cpp:2244
 msgid "Save As..."
 msgstr "Speichern unter..."
 
@@ -5051,7 +5039,7 @@ msgstr "
 
 #: effects/FindClipping.cpp:211
 msgid "Find Clipping"
-msgstr "Übersteuerungen suchen"
+msgstr "Übersteuerungen finden"
 
 #: effects/FindClipping.cpp:222
 msgid "by Leland Lucius"
@@ -5085,8 +5073,7 @@ msgstr "&Invertieren"
 msgid "Inverting"
 msgstr "Invertieren (\"Phasendrehen\")"
 
-#: ../src/effects/Leveller.cpp:129
-#: ../src/BatchCommands.cpp:237
+#: ../src/effects/Leveller.cpp:129 ../src/BatchCommands.cpp:237
 msgid "Leveller"
 msgstr "Leveller"
 
@@ -5124,7 +5111,7 @@ msgstr "Grad des Leveling"
 
 #: effects/Leveller.cpp:226
 msgid "Degree of Leveling:"
-msgstr ""
+msgstr "Leveling-Grad:"
 
 #: ../src/effects/Leveller.cpp:238
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
@@ -5145,47 +5132,43 @@ msgstr "Leveller anwenden..."
 
 #: effects/LoadEffects.cpp:102
 msgid "Generator"
-msgstr ""
+msgstr "Generator"
 
 #: effects/LoadEffects.cpp:104
 msgid "Instrument"
-msgstr ""
+msgstr "Instrument"
 
 #: effects/LoadEffects.cpp:106
 msgid "Oscillator"
-msgstr ""
+msgstr "Oszillator"
 
 #: effects/LoadEffects.cpp:108
 msgid "Utility"
-msgstr ""
+msgstr "Nutzen"
 
 #: effects/LoadEffects.cpp:110
 msgid "Converter"
-msgstr ""
+msgstr "Konverter"
 
 #: effects/LoadEffects.cpp:112
 msgid "Analyser"
-msgstr ""
-
-#: ../src/toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "Pegelregler"
+msgstr "Analysewerkzeug"
 
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
-msgstr ""
+msgstr "Simulator"
 
 #: effects/LoadEffects.cpp:118
 msgid "Delay"
-msgstr ""
+msgstr "Hall"
 
 #: effects/LoadEffects.cpp:120
 msgid "Modulator"
-msgstr ""
+msgstr "Modulator"
 
 #: effects/LoadEffects.cpp:122
 msgid "Reverb"
-msgstr ""
+msgstr "Echo"
 
 #: ../src/effects/Phaser.cpp:78
 msgid "Phaser"
@@ -5193,108 +5176,107 @@ msgstr "Phaser"
 
 #: effects/LoadEffects.cpp:126
 msgid "Flanger"
-msgstr ""
+msgstr "Flanger"
 
 #: effects/LoadEffects.cpp:128
 msgid "Chorus"
-msgstr ""
+msgstr "Chorus"
 
 #: effects/LoadEffects.cpp:130
 msgid "Filter"
-msgstr ""
+msgstr "Filter"
 
 #: effects/LoadEffects.cpp:132
 msgid "Lowpass"
-msgstr ""
+msgstr "Tiefpass"
 
 #: effects/LoadEffects.cpp:134
 msgid "Bandpass"
-msgstr ""
+msgstr "Bandpass"
 
 #: effects/LoadEffects.cpp:136
 msgid "Highpass"
-msgstr ""
+msgstr "Hochpass"
 
 #: effects/LoadEffects.cpp:138
 msgid "Comb"
-msgstr ""
+msgstr "Kamm"
 
 #: effects/LoadEffects.cpp:140
 msgid "Allpass"
-msgstr ""
+msgstr "All-Pass"
 
 #: effects/LoadEffects.cpp:142
 msgid "Equaliser"
-msgstr ""
+msgstr "Equalizer"
 
 #: effects/LoadEffects.cpp:144
 msgid "Parametric"
-msgstr ""
+msgstr "Parametrisch"
 
 #: effects/LoadEffects.cpp:146
 msgid "Multiband"
-msgstr ""
+msgstr "Mehrband"
 
 #: effects/LoadEffects.cpp:148
 msgid "Spectral Processor"
-msgstr ""
+msgstr "Spektral-Prozessor"
 
 #: effects/LoadEffects.cpp:150
 msgid "Pitch Shifter"
-msgstr ""
+msgstr "Pitch"
 
 #: effects/LoadEffects.cpp:152
 msgid "Amplifier"
-msgstr ""
+msgstr "Verstärker"
 
 #: effects/LoadEffects.cpp:154
 msgid "Distortion"
-msgstr ""
+msgstr "Verzerrung"
 
 #: effects/LoadEffects.cpp:156
 msgid "Waveshaper"
-msgstr ""
+msgstr "Wellen-Werkzeug"
 
 #: effects/LoadEffects.cpp:158
 msgid "Dynamics Processor"
-msgstr ""
+msgstr "Dynamic Prozessor"
 
 #: effects/LoadEffects.cpp:160
 msgid "Compressor"
-msgstr ""
+msgstr "Kompressor"
 
 #: effects/LoadEffects.cpp:162
 msgid "Expander"
-msgstr ""
+msgstr "Expander"
 
 #: effects/LoadEffects.cpp:164
 msgid "Limiter"
-msgstr ""
+msgstr "Limiter"
 
 #: effects/LoadEffects.cpp:166
 msgid "Gate"
-msgstr ""
+msgstr "Gate"
 
-#: ../src/effects/NoiseRemoval.cpp:675
-#: ../src/BatchCommands.cpp:235
+#: ../src/effects/NoiseRemoval.cpp:675 ../src/BatchCommands.cpp:235
 msgid "Noise Removal"
 msgstr "Rauschentfernung"
 
 #: effects/LoadEffects.cpp:201
 msgid "Pitch and Tempo"
-msgstr ""
+msgstr "Pitch und Tempo"
 
 #: effects/LoadEffects.cpp:203
 msgid "Timeline Changer"
-msgstr ""
+msgstr "Zeitleiste-Änderung"
 
 #: effects/LoadEffects.cpp:205
 msgid "Time"
-msgstr ""
+msgstr "Zeit"
 
 #: effects/LoadEffects.cpp:207
 msgid "Onsets"
-msgstr ""
+msgstr "Anfänge"
 
 #: ../src/effects/Noise.cpp:37
 msgid "White"
@@ -5381,7 +5363,7 @@ msgstr "Absenkung (dB):"
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "Rauschentfernung"
 
 #: ../src/effects/NoiseRemoval.cpp:800
 msgid "Frequency smoothing (Hz):"
@@ -5389,7 +5371,7 @@ msgstr "Frequenz-Gl
 
 #: effects/NoiseRemoval.cpp:859
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Frequenz-Glättung"
 
 #: ../src/effects/NoiseRemoval.cpp:808
 msgid "Attack/decay time (secs):"
@@ -5397,7 +5379,7 @@ msgstr "Ansprech-/Abklingzeit (s): "
 
 #: effects/NoiseRemoval.cpp:868
 msgid "Attach/decay time"
-msgstr ""
+msgstr "Ankling-/Abkling-Zeit"
 
 #: ../src/effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
@@ -5414,37 +5396,29 @@ msgstr "Entferne Rauschen"
 #: effects/Normalize.cpp:68
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
-msgstr ""
+msgstr "Angewendeter Effekt: %s Gleichspannung entfernt = %s, Lautstärke normalisiert = %s"
 
-#: effects/Normalize.cpp:70
-#: effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70
-#: effects/Normalize.cpp:71
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
-msgstr ""
+msgstr "richtig"
 
 #: effects/Normalize.cpp:73
 #, c-format
 msgid ", maximum amplitude = %.1f dB"
-msgstr ""
+msgstr ", maximale Amplitude = %.1f dB"
 
-#: ../src/effects/Normalize.cpp:94
-#: ../src/BatchCommands.cpp:233
-#: ../src/BatchCommands.cpp:238
-#: ../src/BatchCommands.cpp:246
+#: ../src/effects/Normalize.cpp:94 ../src/BatchCommands.cpp:233
+#: ../src/BatchCommands.cpp:238 ../src/BatchCommands.cpp:246
 msgid "Normalize"
 msgstr "Normalisieren"
 
 #: effects/Normalize.cpp:351 effects/Normalize.cpp:352
 msgid "Remove any DC offset (center on 0.0 vertically)"
-msgstr ""
+msgstr "Gleichspannung entfernen (auf die Null-Linie zentrieren)"
 
 #: effects/Normalize.cpp:357
 msgid "Normalize maximum amplitude to:"
-msgstr ""
+msgstr "Maximale Amplitude normalisieren auf:"
 
 #: ../src/effects/Normalize.cpp:336
 msgid "-"
@@ -5452,7 +5426,7 @@ msgstr "-"
 
 #: effects/Normalize.cpp:367
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Maximale Amplitude dB"
 
 #: ../src/effects/Normalize.h:32
 msgid "Normalize..."
@@ -5473,33 +5447,31 @@ msgstr "Stufen:"
 
 #: effects/Phaser.cpp:229
 msgid "Stages"
-msgstr ""
+msgstr "Ebenen"
 
 #: effects/Phaser.cpp:231
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "Trocken/Effekt:"
 
 #: effects/Phaser.cpp:234
 msgid "Dry Wet"
-msgstr ""
+msgstr "Trocken Effekt"
 
-#: ../src/effects/Wahwah.cpp:497
-#: ../src/effects/Phaser.cpp:526
+#: ../src/effects/Wahwah.cpp:497 ../src/effects/Phaser.cpp:526
 msgid "LFO Frequency (Hz):"
 msgstr "LFO Frequenz (Hz):"
 
 #: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
 msgid "LFO frequency in hertz"
-msgstr ""
+msgstr "LFO-Frequenz in Hertz"
 
-#: ../src/effects/Wahwah.cpp:513
-#: ../src/effects/Phaser.cpp:542
+#: ../src/effects/Wahwah.cpp:513 ../src/effects/Phaser.cpp:542
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO Anfangsphase (Grad):"
 
 #: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
 msgid "LFO start phase in degrees"
-msgstr ""
+msgstr "LFO-Start-Phase in Grad"
 
 #: ../src/effects/Phaser.cpp:558
 msgid "Depth:"
@@ -5507,7 +5479,7 @@ msgstr "Modulationstiefe:"
 
 #: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
 msgid "Depth in percent"
-msgstr ""
+msgstr "Tiefe in Prozent"
 
 #: ../src/effects/Phaser.cpp:574
 msgid "Feedback (%):"
@@ -5515,7 +5487,7 @@ msgstr "R
 
 #: effects/Phaser.cpp:254
 msgid "Feedback in percent"
-msgstr ""
+msgstr "Rückkopplung in Prozent"
 
 #: ../src/effects/Phaser.h:38
 msgid "Phaser..."
@@ -5539,7 +5511,11 @@ msgid "Repair works by using audio data outside the selection region.\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
-msgstr ""
+msgstr "Die Reparatur erfolgt, indem Audiodaten außerhalb der Auswahl verwendet werden.\n"
+"\n"
+"Bitte verwenden Sie eine Auswahl, deren Audio mindestens eine Seite berührt.\n"
+"\n"
+"Je mehr Surround-Audio, umso besser die Wirkung."
 
 #: ../src/effects/Repair.h:33
 msgid "Repairing damaged audio"
@@ -5554,8 +5530,7 @@ msgstr "%d mal wiederholt"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Die Spuren sind zu lang für eine Wiederholung."
 
-#: ../src/effects/Repeat.cpp:75
-#: ../src/effects/Repeat.cpp:79
+#: ../src/effects/Repeat.cpp:75 ../src/effects/Repeat.cpp:79
 msgid "Repeat"
 msgstr "Wiederholen "
 
@@ -5566,10 +5541,9 @@ msgstr "Anzahl der Wiederholungen:"
 
 #: effects/Repeat.cpp:221
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Neue Auswahl-Länge: hh:mm:ss"
 
-#: ../src/effects/Repeat.cpp:264
-#: ../src/effects/Repeat.cpp:302
+#: ../src/effects/Repeat.cpp:264 ../src/effects/Repeat.cpp:302
 msgid "New selection length: "
 msgstr "Neue Auswahllänge: "
 
@@ -5612,7 +5586,7 @@ msgstr "Stille erzeugt, %.6lf Sekunden"
 
 #: effects/SimplePairedTwoTrack.h:120
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "Sorry: Dieser Effekt kann nicht verwendet werden bei Stereo-Spuren, bei denen die einzelnen Kanäle nicht zueinander passen."
 
 #: ../src/effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
@@ -5628,8 +5602,7 @@ msgid "Max Spike Duration (milliseconds): \n"
 msgstr "Maximale Dauer (in Millisekunden): \n"
 "(99999 oder mehr bedeutet \"aus\")"
 
-#: ../src/effects/TruncSilence.cpp:269
-#: ../src/effects/SpikeCleaner.cpp:178
+#: ../src/effects/TruncSilence.cpp:269 ../src/effects/SpikeCleaner.cpp:178
 msgid "Theshold for silence: "
 msgstr "Grenzwert für Stille:"
 
@@ -5653,47 +5626,47 @@ msgstr "Stereo in Mono umwandeln"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Zeit-Achse"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Gleitende Zeit-Skala/Pitch"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "nutzt SBSMS von Clayton Ote"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Anfängliche Tempo-Änderung (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Final Tempo Change (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Anfängliche Tempo-Änderung (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Tempo-Änderung (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Anfangs-Pitch (in Halbtönen) [-12 bis 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "End-Pitch (in Halbtönen) [-12 bis 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Gleitende Zeit-Skala/Pitch..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Änderung von Tempo/Pitch"
 
 #: ../src/effects/ToneGen.cpp:59
 #, c-format
@@ -5706,7 +5679,7 @@ msgstr "Linear"
 
 #: effects/ToneGen.cpp:70
 msgid "Logarithmic"
-msgstr ""
+msgstr "Logarithmisch"
 
 #: ../src/effects/ToneGen.cpp:66
 msgid "Chirp Generator"
@@ -5736,30 +5709,29 @@ msgstr "Rechteck, kein Aliasing"
 msgid "Frequency (Hz)"
 msgstr "Frequenz (Hz)"
 
-#: ../src/effects/ToneGen.cpp:296
-#: ../src/effects/ToneGen.cpp:321
+#: ../src/effects/ToneGen.cpp:296 ../src/effects/ToneGen.cpp:321
 msgid "Waveform:"
 msgstr "Wellenform:"
 
 #: effects/ToneGen.cpp:358
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Startfrequenz in Hertz"
 
 #: effects/ToneGen.cpp:359
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Endfrequenz in Hertz"
 
 #: effects/ToneGen.cpp:360
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Start-Amplitude"
 
 #: effects/ToneGen.cpp:361
 msgid "Amplitude End"
-msgstr ""
+msgstr "End-Amplitude"
 
 #: effects/ToneGen.cpp:365
 msgid "Interpolation:"
-msgstr ""
+msgstr "Interpolation:"
 
 #: effects/ToneGen.h:39
 msgid "Chirp..."
@@ -5779,33 +5751,46 @@ msgstr "Erzeuge Ton"
 
 #: effects/TruncSilence.cpp:113
 msgid "All tracks must have the same sample rate"
-msgstr ""
+msgstr "Alle Spuren müssen die gleiche Sample-Frequenz haben"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Stille entfernen"
 
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: ../src/prefs/AudioIOPrefs.cpp:175 ../src/prefs/AudioIOPrefs.cpp:178
+msgid "milliseconds"
+msgstr "Millisekunden"
+
 #: effects/TruncSilence.cpp:346
 msgid "Max silence duration:"
 msgstr "Maximale Dauer der Stille:"
 
-#: ../src/prefs/AudioIOPrefs.cpp:175
-#: ../src/prefs/AudioIOPrefs.cpp:178
-msgid "milliseconds"
-msgstr "Millisekunden"
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
 
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Schwellwert für Stille:"
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Dauer muss mindestens 1 Millisekunde sein"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
-#: BatchCommands.cpp:236
-#: effects/TruncSilence.cpp:84
-#: effects/TruncSilence.h:29
+#: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Stille entfernen..."
 
@@ -5813,17 +5798,55 @@ msgstr "Stille entfernen..."
 msgid "Truncating Silence..."
 msgstr "&Stille abschneiden..."
 
-#: ../src/effects/VST/VSTEffect.cpp:179
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Leider können VST-Effekte nicht auf Stereotonspuren angewandt werden, deren Kanäle nicht zusammenpassen."
+#: ../src/effects/ladspa/LadspaEffect.cpp:601
+msgid "Effect Settings"
+msgstr "Effekteinstellungen"
 
-#: ../src/effects/VST/VSTEffect.cpp:195
-msgid "Can't process replacing"
-msgstr "Ersetzen nicht möglich."
+#: ../src/prefs/QualityPrefs.cpp:72 ../src/effects/ladspa/LadspaEffect.cpp:559
+#: ../src/effects/ladspa/LadspaEffect.cpp:567
+msgid "None"
+msgstr "Keiner"
 
-#: ../src/effects/VST/VSTEffect.cpp:409
-msgid "VST Plug-in parameters:"
-msgstr "VST Plugin-Parameter:"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:60
 #, c-format
@@ -5844,15 +5867,16 @@ msgstr "Resonanzgte (Q):"
 
 #: effects/Wahwah.cpp:239
 msgid "Resonance"
-msgstr ""
+msgstr "Resonanz"
 
 #: ../src/effects/Wahwah.cpp:561
 msgid "Wah Frequency Offset (%):"
 msgstr "Frequenzverschiebung (%):"
 
+# WA
 #: effects/Wahwah.cpp:244
 msgid "Wah frequency offset in percent"
-msgstr ""
+msgstr "Wahwah-Frequenz-Offset in Prozent"
 
 #: ../src/effects/Wahwah.h:34
 msgid "Wahwah..."
@@ -5870,37 +5894,27 @@ msgstr "Effekt anwenden: %s"
 
 #: effects/ladspa/LadspaEffect.cpp:189
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr ""
-
-#: ../src/prefs/QualityPrefs.cpp:72
-#: ../src/effects/ladspa/LadspaEffect.cpp:559
-#: ../src/effects/ladspa/LadspaEffect.cpp:567
-msgid "None"
-msgstr "Kein"
+msgstr "Sorry: Plug-In-Effekte können nicht verwendet werden bei Stereo-Spuren, bei denen die einzelnen Kanäle nicht zueinander passen."
 
 #: ../src/effects/ladspa/LadspaEffect.cpp:561
 msgid "Author: "
 msgstr "Autor: "
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:601
-msgid "Effect Settings"
-msgstr "Effekteinstellungen"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:692
 msgid "Length (seconds)"
 msgstr "Länge (Sek):   "
 
 #: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
 msgid "Note length (seconds)"
-msgstr ""
+msgstr "Noten-Länge (Sekunden)"
 
 #: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
 msgid "Note velocity"
-msgstr ""
+msgstr "Noten-Geschwindigkeit"
 
 #: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
 msgid "Note key"
-msgstr ""
+msgstr "Note"
 
 #: ../src/effects/nyquist/Nyquist.cpp:253
 msgid "Applying Nyquist Effect..."
@@ -5926,8 +5940,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Nyquist Diagnose Protokoll:"
 
-#: effects/nyquist/Nyquist.cpp:594
-#: effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
 msgid "Nyquist returned the value:"
 msgstr "Nyquist gab diesen Wert zurück:"
 
@@ -5942,27 +5955,27 @@ msgstr "Nyquist gab zu viele Audiokan
 #: effects/vamp/VampEffect.cpp:75
 #, c-format
 msgid "Extracting features: %s"
-msgstr ""
+msgstr "Extrakt-Features: %s"
 
 #: effects/vamp/VampEffect.cpp:106
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "Sorry: Vamp-Plug-Ins können nicht verwendet werden bei Stereo-Spuren, bei denen die einzelnen Kanäle nicht zueinander passen."
 
 #: effects/vamp/VampEffect.cpp:120
 msgid "Sorry, failed to load Vamp Plug-in."
-msgstr ""
+msgstr "Sorry: Vamp Plug-In konnte nicht geladen werden."
 
 #: effects/vamp/VampEffect.cpp:228
 msgid "Sorry, Vamp Plug-in failed to initialize."
-msgstr ""
+msgstr "Sorry: Vamp-Plug-In konnte nicht initialisiert werden."
 
 #: effects/vamp/VampEffect.cpp:376
 msgid " - Vamp audio analysis plugin"
-msgstr ""
+msgstr " - Vamp-Audio-Analyse-Plugin"
 
 #: effects/vamp/VampEffect.cpp:423
 msgid "Plugin Settings"
-msgstr ""
+msgstr "Plug-In-Einstellungen"
 
 #: effects/vamp/VampEffect.cpp:446
 msgid "Program"
@@ -5970,11 +5983,11 @@ msgstr "Programm"
 
 #: export/Export.cpp:469
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Alle ausgewählten Audios sind stummgestellt."
 
 #: export/Export.cpp:471
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Alle Audios sind stummgestellt."
 
 #: export/Export.cpp:445
 msgid "Export File"
@@ -5995,12 +6008,16 @@ msgid "You are about to save a %s file with the name \"%s\".\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr ""
+msgstr "Sie wollen eine %s -Datei speichern mit dem Name \"%s\".\n"
+"\n"
+"Üblicherweise enden solche Dateien mit \".%s\" und einige Programme werden Dateien ohne diese Standard-Endung nicht öffnen können.\n"
+"\n"
+"Wollen Sie die Datei tatsächlich unter diesem Name speichern?"
 
 #: export/Export.cpp:516
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
-msgstr ""
+msgstr "Den Dateiname \"%s\" gibt es bereits.  Ersetzen?"
 
 #: ../src/export/Export.cpp:161
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
@@ -6029,21 +6046,20 @@ msgstr "- Rechts"
 
 #: export/Export.cpp:1072
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Mixer-Panel"
 
-#: ../src/export/Export.cpp:775
-#: ../src/export/Export.cpp:829
+#: ../src/export/Export.cpp:775 ../src/export/Export.cpp:829
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Wiedergabe-Kanäle: %2d"
 
 #: export/ExportCL.cpp:55
 msgid "Specify Command Line Encoder"
-msgstr ""
+msgstr "Befehlszeile-Encoder benennen"
 
 #: export/ExportCL.cpp:70
 msgid "Command Line Export Setup"
-msgstr ""
+msgstr "Befehlszeile-Einstellungen"
 
 #: export/ExportCL.cpp:75
 msgid "Command:"
@@ -6051,16 +6067,16 @@ msgstr "Befehl:"
 
 #: export/ExportCL.cpp:80
 msgid "Show output"
-msgstr ""
+msgstr "Ergebnis zeigen"
 
 #: export/ExportCL.cpp:87
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
-msgstr ""
+msgstr "Die Daten werden weitergeleitet zum Standard-Eingang. \"%f\" wird ersetzt durch den ausgewählten Ausgang-Dateiname."
 
 #: export/ExportCL.cpp:219
 msgid "(external program)"
-msgstr ""
+msgstr "(externes Programm)"
 
 #: ../src/export/ExportPCM.cpp:79
 #, c-format
@@ -6077,184 +6093,202 @@ msgstr "Gesamtes Projekt per Kommandozeilen Encoder exportieren"
 
 #: export/ExportCL.cpp:387
 msgid "Command Output"
+msgstr "Befehls-Ausgabe"
+
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
 #, c-format
 msgid "FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
-msgstr ""
+msgstr "FFmpeg kann den Audio-Codec 0x%x nicht finden.\n"
+"Unterstützung für diesen Codec ist vielleicht nicht einkompiliert."
 
 #: export/ExportFFmpeg.cpp:614
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "%d Kanäle sollen ausgegeben werden, doch das Ausgabeformat unterstützt höchstens %d Kanäle"
 
 #: export/ExportFFmpeg.cpp:638
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "Ausgewähltes Audio wird als %s exportiert"
 
 #: export/ExportFFmpeg.cpp:639
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "Ganze Datei exportiert als %s"
 
 #: export/ExportMP3.cpp:1863
 msgid "Invalid sample rate"
-msgstr ""
+msgstr "Ungültige Sample-Frequenz"
 
 #: export/ExportFFmpeg.cpp:715
 #, c-format
 msgid "The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
-msgstr ""
+msgstr "Die Projekt-Sample-Frequenz (%d) wird von dem aktuellen Datei-\n"
+"Format nicht unterstützt."
 
 #: export/ExportFFmpeg.cpp:718
 #, c-format
 msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
-msgstr ""
+msgstr "Die Kombination aus Projekt-Sample-Frequenz (%d) und Bit-Rate\n"
+"(%d kbit/s) wird von dem Export-Datei-Format nicht unterstützt."
 
 #: export/ExportMP3.cpp:1882
 msgid "You may resample to one of the rates below."
-msgstr ""
+msgstr "Sie können in eine dieser Frequenzen umwandeln."
 
 #: export/ExportMP3.cpp:1905
 msgid "Sample Rates"
-msgstr ""
+msgstr "Sample-Frequenzen"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "AC3-Optionen einstellen"
 
 #: export/ExportFFmpegDialogs.cpp:117
 msgid "AC3 Export Setup"
-msgstr ""
+msgstr "AC3-Export-Einstellungen"
 
-#: ../src/prefs/FileFormatPrefs.cpp:182
-#: ../src/prefs/FileFormatPrefs.cpp:207
+#: ../src/prefs/FileFormatPrefs.cpp:182 ../src/prefs/FileFormatPrefs.cpp:207
 msgid "Bit Rate:"
 msgstr "Bitrate:"
 
 #: export/ExportFFmpegDialogs.cpp:162
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "AAC-Optionen einstellen"
 
 #: export/ExportFFmpegDialogs.cpp:178
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "AAC-Export-Einstellungen"
+
+#: prefs/FileFormatPrefs.cpp:219
+msgid "Quality:"
+msgstr "Qualität"
 
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "AMR-NB-Optionen einstellen"
 
 #: export/ExportFFmpegDialogs.cpp:241
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "AMR-NB-Export-Einstellungen"
 
 #: export/ExportFFmpegDialogs.cpp:286
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "AMR-WB-Optionen einstellen"
 
 #: export/ExportFFmpegDialogs.cpp:310
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "AMR-WB-Export-Einstellungen"
 
 #: export/ExportFFmpegDialogs.cpp:357
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "WMA-Optionen einstellen"
 
 #: export/ExportFFmpegDialogs.cpp:381
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "WMA-Export-Einstellungen"
 
 #: export/ExportFFmpegDialogs.cpp:509
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "Voreinstellung '%s' überschreiben?"
 
 #: export/ExportFFmpegDialogs.cpp:510
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "Überschreiben bestätigen"
 
 #: export/ExportFFmpegDialogs.cpp:501
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Bitte wählen Sie ein Format bevor Sie ein Profil speichern"
 
 #: export/ExportFFmpegDialogs.cpp:509
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Bitte wählen Sie einen Codec bevor Sie ein Profil speichern"
 
 #: export/ExportFFmpegDialogs.cpp:580
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "Die Voreinstellung '%s' gibt es nicht."
 
 #: export/ExportFFmpegDialogs.cpp:803
 msgid "Specify Other Options"
-msgstr ""
+msgstr "Bitte geben Sie andere Optionen ein"
 
 #: export/ExportFFmpegDialogs.cpp:897
 msgid "Preset:"
-msgstr ""
+msgstr "Voreinstellung:"
 
 #: export/ExportFFmpegDialogs.cpp:898
 msgid "Load Preset"
-msgstr ""
+msgstr "Voreinstellung laden"
 
 #: export/ExportFFmpegDialogs.cpp:899
 msgid "Save Preset"
-msgstr ""
+msgstr "Voreinstellung speichern"
 
 #: export/ExportFFmpegDialogs.cpp:900
 msgid "Delete Preset"
-msgstr ""
+msgstr "Voreinstellung löschen"
 
 #: export/ExportFFmpegDialogs.cpp:901
 msgid "Import Presets"
-msgstr ""
+msgstr "Voreinstellung importieren"
 
 #: export/ExportFFmpegDialogs.cpp:902
 msgid "Export Presets"
-msgstr ""
+msgstr "Voreinstellung exportieren"
 
 #: export/ExportPCM.cpp:177
 msgid "Format:"
-msgstr ""
+msgstr "Format:"
 
 #: export/ExportFFmpegDialogs.cpp:909
 msgid "Codec:"
-msgstr ""
+msgstr "Codec:"
 
 #: export/ExportFFmpegDialogs.cpp:913
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "Nicht alle Formate und Codecs lassen sich kombinieren. Auch sind nicht alle Parameter (wie Bit-Rate und Sample-Frequenz) mit allen Codecs kompatibel."
 
 #: export/ExportFFmpegDialogs.cpp:916
 msgid "Format selector:"
-msgstr ""
+msgstr "Formatauswahl:"
 
 #: export/ExportFFmpegDialogs.cpp:917
 msgid "Codec selector:"
-msgstr ""
+msgstr "Codecauswahl:"
 
 #: export/ExportFFmpegDialogs.cpp:919
 msgid "Show All Formats"
-msgstr ""
+msgstr "Alle Formate anzeigen"
 
 #: export/ExportFFmpegDialogs.cpp:920
 msgid "Show All Codecs"
-msgstr ""
+msgstr "Alle Codecs anzeigen"
 
 #: export/ExportFFmpegDialogs.cpp:914
 msgid "Options"
-msgstr ""
+msgstr "Optionen"
 
 #: ../src/prefs/GUIPrefs.cpp:105
 msgid "Language:"
@@ -6264,80 +6298,92 @@ msgstr "Sprache:"
 msgid "ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
-msgstr ""
+msgstr "ISO 639 3-letter Sprachcode\n"
+"Optional\n"
+"leer - automatisch"
 
 #: export/ExportFFmpegDialogs.cpp:934
 msgid "Tag:"
-msgstr ""
+msgstr "Tag:"
 
 #: export/ExportFFmpegDialogs.cpp:935
 msgid "Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
-msgstr ""
+msgstr "Codec-Tag (FOURCC)\n"
+"Optional\n"
+"leer - automatisch"
 
 #: export/ExportFFmpegDialogs.cpp:938
 msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
-msgstr ""
+msgstr "Bit-Rate (Bits/Sekunde) - beeinflusst Dateigröße und Qualität\n"
+"Manche Codecs akzeptieren nur bestimmte Werte (128k, 192k, 256k etc)\n"
+"0 - automatisch\n"
+"Empfohlen - 192000"
 
-#: prefs/FileFormatPrefs.cpp:219
-msgid "Quality:"
-msgstr "Qualität"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:928
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
-msgstr ""
+msgstr "Generelle Qualität, spezifisch verwendet von jeweiligen Codecs\n"
+"Required for Ogg-Vorbis\n"
+"0 - automatisch\n"
+"-1 - aus (Verwende stattdessen Bit-Rate)"
 
 #: export/ExportFFmpegDialogs.cpp:943
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Sample-Frequenz:"
 
 #: export/ExportFFmpegDialogs.cpp:944
 msgid "Sample rate (Hz)\n"
 "0 - don't change sample rate"
-msgstr ""
+msgstr "Sample-Frequenz (Hz)\n"
+"0 - Sample-Frequenz nicht ändern"
 
 #: export/ExportFFmpegDialogs.cpp:946
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "Zu begrenzende Bandbreite:"
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
+#, fuzzy
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
-msgstr ""
+"0 - automatic"
+msgstr "Zu begrenzende Bandbreite (Hz)\n"
+"Optional\n"
+"0 - automatisch"
 
 #: export/ExportFFmpegDialogs.cpp:949
 msgid "Profile:"
-msgstr ""
+msgstr "Profil:"
 
 #: export/ExportFFmpegDialogs.cpp:951
 msgid "AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
-msgstr ""
+msgstr "AAC-Profil\n"
+"Low Complexity (LC) -default\n"
+"Die meisten Player spielen nur LC"
 
 #: export/ExportFFmpegDialogs.cpp:940
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Bit-Reservoir nutzen"
 
 #: export/ExportFFmpegDialogs.cpp:943
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Variable Block-Länge nutzen"
 
 #: export/ExportFFmpegDialogs.cpp:948
 msgid "FLAC options"
-msgstr ""
+msgstr "FLAC-Optionen"
 
 #: export/ExportFFmpegDialogs.cpp:965
 msgid "Compression Level:"
-msgstr ""
+msgstr "Kompressions-Level:"
 
 #: export/ExportFFmpegDialogs.cpp:966
 msgid "Compression level\n"
@@ -6345,11 +6391,15 @@ msgid "Compression level\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
-msgstr ""
+msgstr "Kompressions-Level\n"
+"Benötigt für FLAC\n"
+"-1 - automatisch\n"
+"min - 0 (schnelles kodieren, größere Dateien)\n"
+"max - 10 (langsameres kodieren, kleinere Dateien)"
 
 #: export/ExportFFmpegDialogs.cpp:968
 msgid "Frame Size:"
-msgstr ""
+msgstr "Frame-Größe:"
 
 #: export/ExportFFmpegDialogs.cpp:969
 msgid "Frame size\n"
@@ -6357,11 +6407,15 @@ msgid "Frame size\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
-msgstr ""
+msgstr "Frame-Größe\n"
+"Optional\n"
+"0 - default\n"
+"min - 16\n"
+"max - 65535"
 
 #: export/ExportFFmpegDialogs.cpp:971
 msgid "LPC coefficients precision"
-msgstr ""
+msgstr "Genauigkeit des LPC-Koeffizienten"
 
 #: export/ExportFFmpegDialogs.cpp:972
 msgid "LPC coefficients precision\n"
@@ -6369,11 +6423,15 @@ msgid "LPC coefficients precision\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
-msgstr ""
+msgstr "Genauigkeit des LPC-Koeffizienten\n"
+"Optional\n"
+"0 - default\n"
+"min - 1\n"
+"max - 15"
 
 #: export/ExportFFmpegDialogs.cpp:974
 msgid "Minimal prediction order"
-msgstr ""
+msgstr "Geringe Vorhersage"
 
 #: export/ExportFFmpegDialogs.cpp:975
 msgid "Minimal prediction order\n"
@@ -6381,11 +6439,15 @@ msgid "Minimal prediction order\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr ""
+msgstr "Geringe Vorhersage\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 32 (mit LPC) oder 4 (ohne LPC)"
 
 #: export/ExportFFmpegDialogs.cpp:977
 msgid "Maximal prediction order"
-msgstr ""
+msgstr "Maximale Vorhersage"
 
 #: export/ExportFFmpegDialogs.cpp:978
 msgid "Maximal prediction order\n"
@@ -6393,22 +6455,29 @@ msgid "Maximal prediction order\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr ""
+msgstr "Hohe Vorhersage\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 32 (mit LPC) or 4 (ohne LPC)"
 
 #: export/ExportFFmpegDialogs.cpp:980
 msgid "Prediction Order Method:"
-msgstr ""
+msgstr "Vorhersage-Methode:"
 
 #: export/ExportFFmpegDialogs.cpp:982
 msgid "Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
-msgstr ""
+msgstr "Vorhersage-Methode\n"
+"Estimate - schnell, geringe Kompression\n"
+"Log search - langsam, beste Kompression\n"
+"Full search - default"
 
 #: export/ExportFFmpegDialogs.cpp:984
 msgid "Minimal partition order"
-msgstr ""
+msgstr "MInimale Aufteilung"
 
 #: export/ExportFFmpegDialogs.cpp:985
 msgid "Minimal partition order\n"
@@ -6416,11 +6485,15 @@ msgid "Minimal partition order\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr ""
+msgstr "Minimale Aufteilung\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 8"
 
 #: export/ExportFFmpegDialogs.cpp:987
 msgid "Maximal partition order"
-msgstr ""
+msgstr "Maximale Aufteilung"
 
 #: export/ExportFFmpegDialogs.cpp:988
 msgid "Maximal partition order\n"
@@ -6428,52 +6501,60 @@ msgid "Maximal partition order\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr ""
+msgstr "Maximale Aufteilung\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 8"
 
 #: export/ExportFFmpegDialogs.cpp:977
 msgid "Use LPC"
-msgstr ""
+msgstr "LPC (lineare Vorhersage) nutzen"
 
 #: export/ExportFFmpegDialogs.cpp:984
 msgid "MPEG container options"
-msgstr ""
+msgstr "Optionen für MPEG-Container"
 
 #: export/ExportFFmpegDialogs.cpp:1001
 msgid "Mux Rate:"
-msgstr ""
+msgstr "Multiplex-Rate:"
 
 #: export/ExportFFmpegDialogs.cpp:1002
 msgid "Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
-msgstr ""
+msgstr "Maximale Bit-Rate des Multiplex-Streams\n"
+"Optional\n"
+"0 - default"
 
 #: export/ExportFFmpegDialogs.cpp:1004
 msgid "Packet Size:"
-msgstr ""
+msgstr "Paket-Größe:"
 
 #: export/ExportFFmpegDialogs.cpp:1005
 msgid "Packet size\n"
 "Optional\n"
 "0 - default"
-msgstr ""
+msgstr "Paket-Größe\n"
+"Optional\n"
+"0 - default"
 
 #: export/ExportFFmpegDialogs.cpp:1207
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Sie können keine Voreinstellungen löschen ohne einen Namen einzugeben"
 
 #: export/ExportFFmpegDialogs.cpp:1219
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "Voreinstellung '%s' löschen?"
 
 #: export/ExportFFmpegDialogs.cpp:1238
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "Sie können keine Voreinstellungen speichern ohne einen Namen einzugeben"
 
 #: export/ExportFFmpegDialogs.cpp:1277
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "Wählen Sie eine xml-Datei mit Voreinstellungen für den Import aus"
 
 #: ../src/prefs/KeyConfigPrefs.cpp:197
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
@@ -6481,75 +6562,75 @@ msgstr "XML-Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*"
 
 #: export/ExportFFmpegDialogs.cpp:1292
 msgid "Select xml file to export presets into"
-msgstr ""
+msgstr "Wählen Sie eine xml-Datei aus für den Export der Voreinstellungen in"
 
 #: export/ExportFFmpegDialogs.cpp:1361
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Format konnte nicht erraten werden"
 
 #: export/ExportFFmpegDialogs.cpp:1403
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "Codec konnte nicht gefunden werden"
 
 #: export/ExportFFmpegDialogs.h:53
 msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "M4A (AAC)-Dateien (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:54
 msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgstr "AC3-Dateien (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
 msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgstr "WMA (Version 2)-Dateien (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:58
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "FFmpeg-Export"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "LTP"
-msgstr ""
+msgstr "LTP (Audiokompression)"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "Low Complexity"
-msgstr ""
+msgstr "Niedrige Komplexität"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "Main profile"
-msgstr ""
+msgstr "Hauptprofil"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "2-level"
-msgstr ""
+msgstr "2 Level"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "4-level"
-msgstr ""
+msgstr "4 Level"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "8-level"
-msgstr ""
+msgstr "8 Level"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Estimate"
-msgstr ""
+msgstr "Abschätzen"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Full search"
-msgstr ""
+msgstr "Vollständige Suche"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Log search"
-msgstr ""
+msgstr "Log-Suche"
 
 #: export/ExportFLAC.cpp:68
 msgid "Specify FLAC Options"
@@ -6615,6 +6696,17 @@ msgstr "Sampletiefe:"
 msgid "FLAC Files"
 msgstr "FLAC-Dateien"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: ../src/export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr "Ausgewähltes Audio als FLAC exportieren"
@@ -6639,53 +6731,38 @@ msgstr "MP2-Dateien"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "MP2 kann mit dieser Sample- bzw. Bitrate nicht exportiert werden."
 
-#: ../src/export/ExportOGG.cpp:55
-#: ../src/export/ExportMP2.cpp:114
+#: ../src/export/ExportOGG.cpp:55 ../src/export/ExportMP2.cpp:114
 #: ../src/export/ExportMP3.cpp:1632
 msgid "Unable to open target file for writing"
 msgstr "Kann Zieldatei nicht zum Schreiben öffnen"
 
-#: ../src/export/ExportMP2.cpp:144
-#: ../src/export/ExportMP3.cpp:1680
+#: ../src/export/ExportMP2.cpp:144 ../src/export/ExportMP3.cpp:1680
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Ausgewähltes Audio exportieren bei einer Bitrate von %d kbit/s"
 
-#: ../src/export/ExportMP2.cpp:145
-#: ../src/export/ExportMP3.cpp:1681
+#: ../src/export/ExportMP2.cpp:145 ../src/export/ExportMP3.cpp:1681
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Gesamte Datei mit einer Bitrate von %d kbit/s exportieren"
 
 #. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142
-#: export/ExportMP3.cpp:143
-#: export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145
-#: export/ExportMP3.cpp:146
-#: export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148
-#: export/ExportMP3.cpp:149
-#: export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151
-#: export/ExportMP3.cpp:152
-#: export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154
-#: export/ExportMP3.cpp:155
-#: export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157
-#: export/ExportMP3.cpp:158
-#: export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
+#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
+#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
+#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
+#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
+#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
 msgid "kbps"
 msgstr "kbit/s"
 
 #: export/ExportMP3.cpp:240
 msgid "(Best Quality)"
-msgstr ""
+msgstr "(Höchste Qualität)"
 
 #: export/ExportMP3.cpp:241
 msgid "(Smaller files)"
-msgstr ""
+msgstr "Kleinere Dateien"
 
 #: export/ExportMP3.cpp:178
 msgid "Fast"
@@ -6697,15 +6774,15 @@ msgstr "Standard"
 
 #: export/ExportMP3.cpp:248
 msgid "Insane"
-msgstr ""
+msgstr "Abgefahren"
 
 #: export/ExportMP3.cpp:249
 msgid "Extreme"
-msgstr ""
+msgstr "Extrem"
 
 #: export/ExportMP3.cpp:251
 msgid "Medium"
-msgstr ""
+msgstr "Mittel"
 
 #: export/ExportMP3.cpp:249
 msgid "Specify MP3 Options"
@@ -6721,7 +6798,7 @@ msgstr "Bit-Rate-Modus:"
 
 #: export/ExportMP3.cpp:276
 msgid "Preset"
-msgstr ""
+msgstr "Voreinstellung"
 
 #: prefs/FileFormatPrefs.cpp:195
 msgid "Variable"
@@ -6729,14 +6806,13 @@ msgstr "Bereich"
 
 #: export/ExportMP3.cpp:278
 msgid "Average"
-msgstr ""
+msgstr "Durchschnittlich"
 
 #: prefs/FileFormatPrefs.cpp:196
 msgid "Constant"
 msgstr "Festwert"
 
-#: ../src/prefs/QualityPrefs.cpp:42
-#: ../src/prefs/QualityPrefs.cpp:43
+#: ../src/prefs/QualityPrefs.cpp:42 ../src/prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Qualität"
 
@@ -6746,7 +6822,7 @@ msgstr "Variable Geschwindigkeit:"
 
 #: export/ExportMP3.cpp:331
 msgid "Channel Mode:"
-msgstr ""
+msgstr "Kanal-Modus:"
 
 #: prefs/FileFormatPrefs.cpp:224
 msgid "Joint Stereo"
@@ -6773,7 +6849,8 @@ msgstr "Um eine freie Version von Lame zu erhalten bitte hier klicken -->"
 #, c-format
 msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
-msgstr ""
+msgstr "Sie wollen lame_enc.dll v%d.%d einsetzen. Diese Version ist aber nicht kompatibel mit Audacity %d.%d.%d.\n"
+"Bitte laden Sie die letzte Version der LAME-MP3-Bibliothek herunter."
 
 #: ../src/export/ExportMP3.cpp:1407
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
@@ -6781,7 +6858,7 @@ msgstr "Nur lame_enc.dll|lame_enc.dll|Dynamisch gelinkte Bibliotheken (*.dll)|*.
 
 #: export/ExportMP3.cpp:1493
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Nur libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|Alle Dateien (*)|*"
 
 #: export/ExportMP3.cpp:1567
 #, fuzzy
@@ -6802,63 +6879,63 @@ msgstr "Ungltige Bibliothek od. nicht untersttzter MP3-Encoder!"
 
 #: export/ExportMP3.cpp:1699
 msgid "Unable to initialize MP3 stream"
-msgstr ""
+msgstr "MP3-Stream kann nicht initialisiert werden"
 
 #: export/ExportMP3.cpp:1744
 #, c-format
 msgid "Exporting selected audio with %s preset"
-msgstr ""
+msgstr "Ausgewähltes Audio mit %s Voreinstellung exportieren"
 
 #: export/ExportMP3.cpp:1745
 #, c-format
 msgid "Exporting entire file with %s preset"
-msgstr ""
+msgstr "Ganze Datei mit %s Voreinstellung exportieren"
 
 #: export/ExportMP3.cpp:1750
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
-msgstr ""
+msgstr "Ausgewähltes Audio exportieren mit variabler Bit-Rate (Qualität %s)"
 
 #: export/ExportMP3.cpp:1751
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
-msgstr ""
+msgstr "Vollständige Datei exportieren mit variabler Bit-Rate in Qualität %s"
 
 #: export/ExportMP3.cpp:1756
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
-msgstr ""
+msgstr "Ausgewähltes Audio exportieren mit %d kbit/s"
 
 #: export/ExportMP3.cpp:1757
 #, c-format
 msgid "Exporting entire file at %d Kbps"
-msgstr ""
+msgstr "Ganze Datei exportieren mit %d kbit/s"
 
 #: export/ExportMP3.cpp:1790
 #, c-format
 msgid "Error %d returned from MP3 encoder"
-msgstr ""
+msgstr "Der MP3-Encoder meldet Fehler %d"
 
 #: export/ExportMP3.cpp:1876
 #, c-format
 msgid "The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
-msgstr ""
+msgstr "Diese Projekt-Sample-Frequenz (%d) wird vom MP3-\n"
+"Format nicht unterstützt.  "
 
 #: export/ExportMP3.cpp:1879
 #, c-format
 msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr ""
+msgstr "Diese Projekt-Sample-Frequenz (%d) und -Bit-Rate (%d kbit/s) wird vom MP3-\n"
+"Format nicht unterstützt.  "
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "MP3-Export-Bibliothek nicht gefunden"
 
-#: ../src/export/ExportMultiple.cpp:480
-#: ../src/export/ExportMultiple.cpp:592
-#: ../src/export/ExportMultiple.cpp:599
-#: ../src/export/ExportMultiple.cpp:684
+#: ../src/export/ExportMultiple.cpp:480 ../src/export/ExportMultiple.cpp:592
+#: ../src/export/ExportMultiple.cpp:599 ../src/export/ExportMultiple.cpp:684
 msgid "Export Multiple"
 msgstr "Mehrere Dateien exportieren"
 
@@ -6869,7 +6946,7 @@ msgid "If you have more than one Audio Track, you can export each track as a sep
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
 msgstr "Mit diesem Menüpunkt kann - sofern es mehrere Spuren gibt - jede Spur in eine einzelne Datei exportiert werden. Alternativ kann eine einzelne Tonspur in mehrere Audio-Dateien exportiert werden: Hierbei werden die \"Trennstellen\" durch Einträge in einer Textspur definiert.\n"
 "\n"
-"Da dieses Projekt jedoch nicht über mehrere Audio-Spuren verfügt und auch keine Textspur (mit Einträgen) enthält, kann es nicht in mehrere Dateien exportiert werden. :-("
+"Da dieses Projekt jedoch weder über mehrere Audio-Spuren verfügt noch eine Textspur (mit Einträgen) enthält, kann es nicht in mehrere Dateien exportiert werden. :-("
 
 #: ../src/export/ExportMultiple.cpp:614
 msgid "Can't export multiple files"
@@ -6881,20 +6958,15 @@ msgstr "Exportformat:"
 
 #: export/ExportMultiple.cpp:195
 msgid "Options..."
-msgstr ""
+msgstr "Optionen..."
 
 #: ../src/export/ExportMultiple.cpp:723
 msgid "Export location:"
 msgstr "Export-Verzeichnis:"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:92
-#: ../src/export/ExportMultiple.cpp:729
-msgid "Choose..."
-msgstr "Ausw&ählen..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
-msgstr ""
+msgstr "Erzeugen"
 
 #: ../src/export/ExportMultiple.cpp:760
 msgid "Split files based on:"
@@ -6914,11 +6986,7 @@ msgstr "Erster Dateiname:"
 
 #: export/ExportMultiple.cpp:280
 msgid "First file name"
-msgstr ""
-
-#: ../src/export/ExportMultiple.cpp:784
-msgid "Tracks"
-msgstr "Spuren"
+msgstr "Erster Datei-Name"
 
 #: ../src/export/ExportMultiple.cpp:794
 msgid "Name files:"
@@ -6938,7 +7006,7 @@ msgstr "Erster Teil des Dateinamens:"
 
 #: export/ExportMultiple.cpp:327
 msgid "File name prefix"
-msgstr ""
+msgstr "Dateiname-Präfix"
 
 #: ../src/export/ExportMultiple.cpp:825
 msgid "Overwrite existing files"
@@ -6947,38 +7015,60 @@ msgstr "Existierende Dateien 
 #: export/ExportMultiple.cpp:360
 #, c-format
 msgid "\"%s\" successfully created."
-msgstr ""
+msgstr "\"%s\" erfolgreich erstellt."
 
 #: ../src/export/ExportMultiple.cpp:930
 msgid "Choose a location to save the exported files"
 msgstr "Wählen Sie einen Ort für das Export-Verzeichnis aus"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:526
 #, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d Datei(en) erfolgreich exportiert."
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:528
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Es ist ein Fehler aufgetreten beim Export von %d Datei/en."
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr "\"%s\" existiert nicht.\n"
+"\n"
+"Erstellen?"
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
+msgstr "Metadaten bearbeiten"
 
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr ""
+msgstr "%s ist kein gültiger Datei-Name. Sie können nicht verwenden:   %s\n"
+"Benutzen Sie..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
@@ -6994,49 +7084,48 @@ msgstr "Ogg-Vorbis-Dateien"
 
 #: ../src/export/ExportOGG.cpp:125
 msgid "Exporting the selected audio as Ogg Vorbis"
-msgstr "Auswahl als Ogg-Datei exportieren"
+msgstr "Auswahl als Ogg-Vorbis-Datei exportieren"
 
 #: ../src/export/ExportOGG.cpp:126
 msgid "Exporting the entire project as Ogg Vorbis"
-msgstr "Gesamtes Projekt als Ogg-Datei exportieren"
+msgstr "Gesamtes Projekt als Ogg-Vorbis-Datei exportieren"
 
 #: export/ExportPCM.cpp:116
 msgid "Specify Uncompressed Options"
-msgstr ""
+msgstr "Export unkomprimierter Dateien"
 
 #: export/ExportPCM.cpp:171
 msgid "Uncompressed Export Setup"
-msgstr ""
+msgstr "Einstellungen"
 
 #: export/ExportPCM.cpp:181
 msgid "Header:"
-msgstr ""
+msgstr "Header:"
 
 #: export/ExportPCM.cpp:185
 msgid "Encoding:"
-msgstr ""
+msgstr "Codec:"
 
 #: export/ExportPCM.cpp:190
-#, fuzzy
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(Nicht alle Kombinationen aus\n"
 "Headern und Codecs sind möglich.)"
 
 #: export/ExportPCM.cpp:369
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "Andere unkomprimierte Dateien"
 
 #: export/ExportPCM.cpp:361
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) 16-bit PCM"
 
 #: export/ExportPCM.cpp:351
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) 16-bit PCM"
 
 #: export/ExportPCM.cpp:387
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (Mobilfunk)"
 
 #: ../src/export/ExportPCM.cpp:73
 msgid "Cannot export audio in this format."
@@ -7045,23 +7134,22 @@ msgstr "Kann Audiodaten nicht in dieses Format exportieren."
 #: export/ExportPCM.cpp:400
 #, c-format
 msgid "Exporting the selected audio as %s"
-msgstr ""
+msgstr "Ausgewähltes Audio exportieren als %s"
 
 #: export/ExportPCM.cpp:402
 #, c-format
 msgid "Exporting the entire project as %s"
-msgstr ""
+msgstr "Ganzes Projekt exportieren als %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:531
 #, c-format
-#, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Fehler (Datei wurde vermutlich nicht geschrieben): %s"
 
 #: export/ExportPCM.cpp:723
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Für dieses Format gibt es keine Optionen.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
@@ -7069,19 +7157,19 @@ msgstr ""
 #. * when it comes up on it's own.
 #: export/ExportPCM.cpp:728
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Wenn Sie umfangreichere Einstellmöglichkeiten benötigen benutzen Sie das Format  'Andere unkomprimierte Dateien'."
 
 #: export/ExportPCM.cpp:733
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Ihre Datei wird exportiert als 16-bit AIFF (Apple/SGI).\n"
 
 #: export/ExportPCM.cpp:738
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Ihre Datei wird exportiert als 16-bit WAV (Microsort).\n"
 
 #: export/ExportPCM.cpp:743
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Ihre Datei wird exportiert als GSM 6.10-Datei.\n"
 
 #: import/ImportMP3.cpp:78
 msgid "MP3 files"
@@ -7089,7 +7177,7 @@ msgstr "MP3-Dateien"
 
 #: import/Import.cpp:175
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "Stream(s) für den Import auswählen"
 
 #: ../src/import/Import.cpp:177
 #, c-format
@@ -7102,7 +7190,10 @@ msgid "\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
-msgstr ""
+msgstr "\"%s\" \n"
+"ist eine MIDI-, keine Audio-Datei. \n"
+"Audacity kann MIDI-Dateien nicht wiedergeben, allerdings können\n"
+"Sie sie bearbeiten über Datei > Import > MIDI."
 
 #. i18n-hint: %s will be the filename
 #: import/Import.cpp:250
@@ -7111,15 +7202,17 @@ msgid "\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist Teil einer Audio-CD. \n"
+"Audacity kann Audio-CDs nicht direkt öffnen. \n"
+"Bitte extrahieren (\"rippen\") Sie CDs in ein Audio-Format, das \n"
+"Audacity importieren kann, etwa WAV oder AIFF."
 
 #: import/Import.cpp:256
 #, c-format
-#, fuzzy
 msgid "\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr " ist eine Playlist-Datei.\n"
+msgstr "\"%s\" ist eine Playlist-Datei.\n"
 "Audacity kann diese Datei nicht öffnen, weil sie selbst kein Audio,\n"
 "sondern nur Links zu den eigentlichen Audiodateien enthält.\n"
 "\n"
@@ -7131,14 +7224,18 @@ msgstr " ist eine Playlist-Datei.\n"
 msgid "\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Windows-Media-Audiodatei. \n"
+"Auf Grund von Patent-Regeln darf Audacity solche Dateien nicht öffnen. \n"
+"Sie müssen die Datei zunächst in ein unterstütztes Format wie WAV oder AIFF umwandeln."
 
 #: import/Import.cpp:266
 #, c-format
 msgid "\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Advanced-Audio-Coding-Datei. \n"
+"Audacity kann solche Dateien nicht öffnen. \n"
+"Sie müssen die Datei zunächst in ein unterstützes Format wie WAV oder AIFF umwandeln."
 
 #: import/Import.cpp:271
 #, c-format
@@ -7147,14 +7244,20 @@ msgid "\"%s\" is an encrypted audio file. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine verschlüsselte Audio-Datei. \n"
+"Vermutlich stammt sie von einem Online-Musikladen. \n"
+"Wegen der Verschlüsselung kann Audacity die Datei nicht öffnen. \n"
+"Versuchen Sie, die Datei mit Audacity aufzunehmen oder brennen Sie sie als Audio-CD, \n"
+"dann können Sie die CD extrahieren und in ein unterstütztes Format wandeln wie WAV or AIFF."
 
 #: import/Import.cpp:276
 #, c-format
 msgid "\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Real-Player-Datei. \n"
+"Audacity kann dieses proprietäre Format nicht öffnen. \n"
+"Sie müssen die Datei zunächst in ein unterstützes Format wie WAV oder AIFF umwandeln."
 
 #: import/Import.cpp:282
 #, c-format
@@ -7162,7 +7265,10 @@ msgid "\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
-msgstr ""
+msgstr "\"%s\" is a notes-based file, not an audio file. \n"
+"Audacity cannot open this type of file. \n"
+"Try converting it to an audio file such as WAV or AIFF and \n"
+"then import it, or record it into Audacity."
 
 #: import/Import.cpp:288
 #, c-format
@@ -7171,63 +7277,80 @@ msgid "\"%s\" is a Musepack audio file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Musepack-Audiodatei. \n"
+"Audacity kann diesen Dateityp nicht öffnen. \n"
+"Falls Sie denken, dass es sich um eine MP3-Datei handelt, geben sie ihr versuchsweise die Endung \".mp3\" \n"
+"und versuchen Sie erneut, zu importieren. Andernfalls müssen Sie sie in ein unterstütztes Format wandeln \n"
+"wie WAV or AIFF."
 
 #: import/Import.cpp:294
 #, c-format
 msgid "\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Wavpack Audio-Datei. \n"
+"Audacity kann diesen Dateityp nicht öffnen. \n"
+"Sie müssen die Datei in ein unterstütztes Format wandeln wie WAV or AIFF."
 
 #: import/Import.cpp:300
 #, c-format
 msgid "\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Dolby-Digital-Audiodatei. \n"
+"Audacity kann diesen Dateityp gegenwärtig nicht öffnen. \n"
+"Bitte wandeln Sie sie in ein unterstütztes Audio-Format um wie WAV or AIFF."
 
 #: import/Import.cpp:306
 #, c-format
 msgid "\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Ogg-Speex-Audiodatei. \n"
+"Audacity kann diesen Dateityp gegenwärtig nicht öffnen. \n"
+"Bitte wandeln Sie sie in ein unterstütztes Audio-Format um wie WAV or AIFF."
 
 #: import/Import.cpp:312
 #, c-format
 msgid "\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" ist eine Videodatei. \n"
+"Audacity kann diesen Dateityp gegenwärtig nicht öffnen. \n"
+"BItte extrahieren Sie das Audio in ein unterstütztes Audio-Format wie WAV or AIFF."
 
 #: import/Import.cpp:317
 #, c-format
 msgid "Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
-msgstr ""
+msgstr "Audacity konnte  '%s'.\n"
+"If it is uncompressed, try importing it using \"Import Raw\"."
 
 #: import/Import.cpp:322
 #, c-format
 msgid "Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
-msgstr ""
+msgstr "Audacity hat den Typ der Datei '%s' erkannt,\n"
+"konnte die Datei aber nicht importieren."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "FFmpeg-kompatible Dateien"
 
 #: import/ImportFFmpeg.cpp:431
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Index[%02x] Codec[%S], Sprache[%S], Bitrate[%S], Kanäle[%d], Dauer[%d]"
 
 #: import/ImportFLAC.cpp:35
 msgid "FLAC files"
 msgstr "FLAC-Dateien"
 
-#: ../src/import/ImportLOF.cpp:172
-#: ../src/import/ImportLOF.cpp:222
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "GStreamer-kompatible Dateien"
+
+#: ../src/import/ImportLOF.cpp:172 ../src/import/ImportLOF.cpp:222
 msgid "List of Files in basic text format"
 msgstr "Liste der Dateien im Textformat"
 
@@ -7237,10 +7360,8 @@ msgid "Invalid window offset in LOF file."
 msgstr "Ungltiger Window Offset in LOF-Datei."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:315
-#: ../src/import/ImportLOF.cpp:336
-#: ../src/import/ImportLOF.cpp:408
-#: ../src/import/ImportLOF.cpp:428
+#: ../src/import/ImportLOF.cpp:315 ../src/import/ImportLOF.cpp:336
+#: ../src/import/ImportLOF.cpp:408 ../src/import/ImportLOF.cpp:428
 msgid "LOF Error"
 msgstr "LOF-Fehler"
 
@@ -7261,16 +7382,16 @@ msgstr "Ungltiger Track-Offset in LOF-Datei."
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": Dateiname zu kurz."
 
 #: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "Datei konnte nicht geöffnet werden"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Unkorrekter Dateityp."
 
 #: import/ImportOGG.cpp:35
 msgid "Ogg Vorbis files"
@@ -7296,23 +7417,22 @@ msgstr "Ungltiger Vorbis Bitstream Header."
 msgid "Internal logic fault"
 msgstr "Interner Logikfehler"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
-msgstr ""
+msgstr "WAV, AIFF und andere unkomprimierte Typen"
 
 #: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "%s importieren"
 
 #: import/ImportQT.cpp:21
 msgid "QuickTime files"
-msgstr ""
+msgstr "Quicktime-Dateien"
 
 #: import/ImportRaw.cpp:205
 msgid "Import Raw"
-msgstr ""
+msgstr "Rohdaten importieren"
 
 #: ../src/import/ImportRaw.cpp:277
 msgid "Import Raw Data"
@@ -7357,11 +7477,11 @@ msgstr "%d Kan
 
 #: import/ImportRaw.cpp:369
 msgid "Byte order:"
-msgstr ""
+msgstr "Byte-Reihenfolge:"
 
 #: import/ImportRaw.cpp:372
 msgid "Channels:"
-msgstr ""
+msgstr "Kanäle:"
 
 #: ../src/import/ImportRaw.cpp:386
 msgid "Start offset:"
@@ -7377,45 +7497,52 @@ msgstr "Samplefrequenz:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Import beendet, Wellenformdarstellung erzeugen"
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "Wellenform dekodieren"
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% erledigt. Klicken, um Fokus zu ändern.  "
 
-#: ../src/prefs/AudioIOPrefs.cpp:41
-#: ../src/prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Audio E/A"
+#: ../src/prefs/BatchPrefs.cpp:53 ../src/prefs/BatchPrefs.cpp:54
+msgid "Batch"
+msgstr "Stapelverarbeitung"
 
-#: ../src/prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: ../src/prefs/GUIPrefs.cpp:70 ../src/prefs/BatchPrefs.cpp:75
+msgid "Behaviors"
+msgstr "Einstellungen"
 
-#: ../src/prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "&Effekte nicht anwenden im Batch-Modus"
 
-#: ../src/prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Wiedergabe"
+#: ../src/prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Clean-Speech-Modus (Angepasste Oberfläche)"
 
-#: ../src/toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "Gerät"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: ../src/prefs/GUIPrefs.cpp:33 ../src/prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "Programmoberfläche"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: ../src/prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Verwendet"
 
-#: ../src/prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: ../src/prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Wiedergabe"
 
 #: ../src/prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7425,96 +7552,15 @@ msgstr "Aufnahme"
 msgid "Channels"
 msgstr "Kanäle"
 
-#: ../src/prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Wiedergabe während Aufnahme"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr "Effekt vorhören"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr "Schnitt vorhören"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr "Latenz"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr "Kurzes Intervall:"
-
-#: ../src/prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr "Langes Intervall:"
-
-#: ../src/prefs/BatchPrefs.cpp:53
-#: ../src/prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr "Stapelverarbeitung"
-
-#: ../src/prefs/GUIPrefs.cpp:70
-#: ../src/prefs/BatchPrefs.cpp:75
-msgid "Behaviors"
-msgstr "Einstellungen"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: ../src/prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Clean-Speech-Modus (Angepasste Oberfläche)"
+#: ../src/prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:55
-#: ../src/prefs/DirectoriesPrefs.cpp:56
+#: ../src/prefs/DirectoriesPrefs.cpp:55 ../src/prefs/DirectoriesPrefs.cpp:56
 #: ../src/prefs/PrefsDialog.cpp:276
 msgid "Directories"
 msgstr "Verzeichnisse"
@@ -7531,34 +7577,31 @@ msgstr "Ort:"
 msgid "Free Space:"
 msgstr "Freier Platz:"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Automatisch Sicherheitskopien anlegen"
-
-#: ../src/prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Sicherheitskopie des Projekts in einem separaten Verzeichnis anlegen"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
-
-#: ../src/prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "Minuten"
-
 #: ../src/prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Arbeitsspeicher-Verwaltung"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Ort für das temporäre Verzeichnis"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:165
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7577,236 +7620,154 @@ msgstr "Verzeichnis %s ist nicht beschreibbar"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Änderungen am temporären Verzeichnis werden erst nach dem Neustart von Audacity wirksam."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "MP3-Bibliothek:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "Im Browser"
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Aus dem Internet"
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
-msgstr "Beim Speichern eines Projekts, das auf andere Audios verweist"
-
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
-msgstr "&Anwender/-in fragen"
-
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&Spuren immer als Stereo- bzw. Mono-Datei speichern"
-
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:33
-#: ../src/prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "Programmoberfläche"
+#: ../src/prefs/GUIPrefs.cpp:111
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (Dynamik der Audiokassette)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:112
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (Dynamik von 8-Bit Samples)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr ""
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (Dynamik von 10-bit-Samples)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:113
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (Dynamik von 16-Bit Samples, \"CD-Qualität\")"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:114
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (Dynamik des menschlichen Gehörs)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:115
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (Dynamik von 24-Bit Samples)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
+#: ../src/prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "Anzeigen"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
+msgstr "Ergonomische Anordnung der I/O-Buttons"
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
-msgstr "Nachfolgende Clips beim Schneiden verschieben"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
+msgstr "Hilfe:"
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
-msgstr ""
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
+msgstr "Audacity beenden beim Schließen des letzten Fensters"
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
-msgstr ""
-
-#: ../src/prefs/GUIPrefs.cpp:94
-#: ../src/prefs/BatchPrefs.cpp:87
-msgid "Show / Hide"
-msgstr "Anzeigen / Verbergen"
-
-#: ../src/prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "Schnittlinien anzeigen"
-
-#: ../src/prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "Bei Programmstart ggf. auf temporäre Dateien hinweisen"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
+msgstr "Systemklang bei Beenden längerer Aktivitäten"
 
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
+msgstr "Anzeige-Modi"
+
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr ""
+msgstr "Effekte n&icht anwenden im Batch-Modus"
 
-#: ../src/prefs/GUIPrefs.cpp:111
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (Hochaussteuerung, \"Cassettenqualität\")"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
+msgstr "Import / Export"
 
-#: ../src/prefs/GUIPrefs.cpp:112
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (8-Bit Samples)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "Wenn Audiodateien importiert werden"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&Bei unkomprimierten Audiodateien eine Kopie erstellen (sicherer)"
 
-#: ../src/prefs/GUIPrefs.cpp:113
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (16-Bit Samples, \"CD-Qualität\")"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Unkomprimierte Audiodaten direkt aus der Originaldatei einlesen (schneller)"
 
-#: ../src/prefs/GUIPrefs.cpp:114
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (Grenze menschlichen Gehörs)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr "&Alle Spuren im Projekt normalisieren"
 
-#: ../src/prefs/GUIPrefs.cpp:115
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (24-Bit Samples)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr "Beim Exportieren in eine Audiodatei"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr ""
+#: ../src/prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&Spuren immer als Stereo- bzw. Mono-Datei speichern"
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "Dialog für Mehrkanal-Mix anzeigen (bei Dateitypen, die z.B. 5.1-Audio unterstützen)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Vor dem Exportieren Metadaten-Editor öffnen"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:61
-#: ../src/prefs/KeyConfigPrefs.cpp:62
+#: ../src/prefs/KeyConfigPrefs.cpp:61 ../src/prefs/KeyConfigPrefs.cpp:62
 msgid "Keyboard"
 msgstr "Tastatur"
 
 #: prefs/KeyConfigPrefs.cpp:86
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Tastatur-Einstellungen sind derzeit nicht erreichbar."
 
 #: prefs/KeyConfigPrefs.cpp:87
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Öffnen Sie ein neues Projekt um die Tastatur-Einstellungen zu ändern."
 
 #: ../src/prefs/KeyConfigPrefs.cpp:92
 msgid "Key Bindings"
@@ -7824,17 +7785,22 @@ msgstr "Anmerkung: Dr
 msgid "&Defaults"
 msgstr "Alle zurücksetzen"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:140
 msgid "Key Combination"
 msgstr "Taste"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:160
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Tastatur-Shortcuts exportieren als:"
+#: ../src/prefs/KeyConfigPrefs.cpp:301 ../src/toolbars/EditToolBar.cpp:143
+msgid "Undo"
+msgstr "Rückgängig"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:178
-msgid "Error saving keyboard shortcuts"
-msgstr "Fehler beim Speichern der Tastatur-Shortcuts."
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:193
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7844,6 +7810,14 @@ msgstr "W
 msgid "Error loading keyboard shortcuts"
 msgstr "Fehler beim Laden der Tastatur-Shortcuts."
 
+#: ../src/prefs/KeyConfigPrefs.cpp:160
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Tastatur-Shortcuts exportieren als:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:178
+msgid "Error saving keyboard shortcuts"
+msgstr "Fehler beim Speichern der Tastatur-Shortcuts."
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7853,10 +7827,61 @@ msgstr "Die Tastaturbelegung '%s' ist bereits vergeben f
 "\n"
 "'%s'"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:301
-#: ../src/toolbars/EditToolBar.cpp:143
-msgid "Undo"
-msgstr "Rückgängig"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "MP3-Export-Bibliothek"
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Version:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "Bibliothek"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr "&Suchen..."
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "Bibliothek"
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "&Herunterladen..."
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg-Import/Export-Bibliothek"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "Version:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "Bibliothek"
+
+#: ../src/prefs/AudioIOPrefs.cpp:41 ../src/prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Audio E/A"
+
+#: ../src/prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: ../src/prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Wiedergabe während Aufnahme"
 
 #: ../src/prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7864,19 +7889,27 @@ msgstr "Multiplay: Bestehende Spuren w
 
 #: prefs/MidiIOPrefs.cpp:149
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "&Hardware-Playthrough (Neue Spur wiedergeben während Aufnahme)"
 
 #: prefs/MidiIOPrefs.cpp:152
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "&Software-Playthrough (Neue Spur wiedergeben während Aufnahme)"
+
+#: ../src/prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr "Schnitt vorhören"
 
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
-msgstr ""
+msgstr "Vor der Auswahl spielen:"
 
 #: prefs/MidiIOPrefs.cpp:162
 msgid "Play after cut region:"
-msgstr ""
+msgstr "Nach der Auswahl spielen:"
+
+#: ../src/prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr "Latenz-Einstellungen"
 
 #: ../src/prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
@@ -7888,14 +7921,25 @@ msgstr "Zus
 
 #: prefs/MidiIOPrefs.cpp:183
 msgid "Seek Time"
-msgstr ""
+msgstr "Such-Zeit"
+
+#: ../src/prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr "Kurzes Intervall:"
+
+#: ../src/prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr "Langes Intervall:"
+
+#: ../src/prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr "Effekt vorhören"
 
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
-msgstr ""
+msgstr "Wiedergabe beim Vorhören:"
 
-#: ../src/prefs/MousePrefs.cpp:55
-#: ../src/prefs/MousePrefs.cpp:56
+#: ../src/prefs/MousePrefs.cpp:55 ../src/prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Maus"
 
@@ -7915,33 +7959,27 @@ msgstr "Ausf
 msgid "Buttons"
 msgstr "Maustasten"
 
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:102
+#: ../src/prefs/MousePrefs.cpp:98 ../src/prefs/MousePrefs.cpp:102
 #: ../src/prefs/MousePrefs.cpp:113
 msgid "Left-Click"
 msgstr "Linksklick"
 
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:99
+#: ../src/prefs/MousePrefs.cpp:98 ../src/prefs/MousePrefs.cpp:99
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Select"
 msgstr "Auswählen"
 
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:118
+#: ../src/prefs/MousePrefs.cpp:98 ../src/prefs/MousePrefs.cpp:118
 msgid "Set Selection Point"
 msgstr "Auswahlposition einstellen"
 
-#: ../src/prefs/MousePrefs.cpp:99
-#: ../src/prefs/MousePrefs.cpp:103
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:99 ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:111
 #: ../src/prefs/MousePrefs.cpp:115
 msgid "Left-Drag"
 msgstr "Linksklick+Ziehen"
 
-#: ../src/prefs/MousePrefs.cpp:99
-#: ../src/prefs/MousePrefs.cpp:119
+#: ../src/prefs/MousePrefs.cpp:99 ../src/prefs/MousePrefs.cpp:119
 msgid "Set Selection Range"
 msgstr "Auswahlbereich einstellen"
 
@@ -7955,24 +7993,22 @@ msgstr "Shift+Linksklick"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Left-Double-Click"
-msgstr ""
+msgstr "Doppelklick links"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Select Clip or Entire Track"
-msgstr ""
+msgstr "Clip oder ganze Spur auswählen"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Ctrl-Left-Click"
-msgstr ""
+msgstr "Strg+linke Maustaste"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Set Selection Point and Play"
-msgstr ""
+msgstr "Auswahl-Punkt setzen und wiedergeben"
 
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
-#: ../src/prefs/MousePrefs.cpp:104
-#: ../src/prefs/MousePrefs.cpp:105
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:104 ../src/prefs/MousePrefs.cpp:105
 msgid "Zoom"
 msgstr "Zoom"
 
@@ -7980,8 +8016,7 @@ msgstr "Zoom"
 msgid "Zoom in on Point"
 msgstr "Einzoomen bis"
 
-#: ../src/prefs/MousePrefs.cpp:103
-#: ../src/prefs/MousePrefs.cpp:105
+#: ../src/prefs/MousePrefs.cpp:103 ../src/prefs/MousePrefs.cpp:105
 #: ../src/prefs/MousePrefs.cpp:121
 msgid "Zoom in on a Range"
 msgstr "Bereich einzoomen"
@@ -7994,8 +8029,7 @@ msgstr "Dasselbe wie rechts ziehen"
 msgid "Right-Click"
 msgstr "Rechtsklick"
 
-#: ../src/prefs/MousePrefs.cpp:104
-#: ../src/prefs/MousePrefs.cpp:120
+#: ../src/prefs/MousePrefs.cpp:104 ../src/prefs/MousePrefs.cpp:120
 msgid "Zoom out one step"
 msgstr "Auszoomen (1 Stufe)"
 
@@ -8009,19 +8043,19 @@ msgstr "Dasselbe wie links ziehen"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Shift-Drag"
-msgstr ""
+msgstr "Großbuchstabentaste-Ziehen"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Zoom out on a Range"
-msgstr ""
+msgstr "Zu weit gezoomt"
 
 #: prefs/MousePrefs.cpp:109
 msgid "Middle-Click"
-msgstr ""
+msgstr "mittlere Maustaste"
 
 #: prefs/MousePrefs.cpp:109
 msgid "Zoom default"
-msgstr ""
+msgstr "Zoom-Grundeinstellung"
 
 #: ../src/prefs/MousePrefs.cpp:107
 msgid "Time shift clip or move up/down between tracks"
@@ -8037,8 +8071,7 @@ msgid "Time shift all clips in track"
 msgstr "Alle Clips in der Spur auf der\n"
 "Zeitachse verschieben"
 
-#: ../src/prefs/MousePrefs.cpp:109
-#: ../src/prefs/MousePrefs.cpp:116
+#: ../src/prefs/MousePrefs.cpp:109 ../src/prefs/MousePrefs.cpp:116
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl+Linksziehen"
 
@@ -8054,10 +8087,8 @@ msgstr "Verst
 msgid "Change Sample"
 msgstr "Sample verschoben"
 
-#: ../src/prefs/MousePrefs.cpp:113
-#: ../src/prefs/MousePrefs.cpp:114
-#: ../src/prefs/MousePrefs.cpp:115
-#: ../src/prefs/MousePrefs.cpp:116
+#: ../src/prefs/MousePrefs.cpp:113 ../src/prefs/MousePrefs.cpp:114
+#: ../src/prefs/MousePrefs.cpp:115 ../src/prefs/MousePrefs.cpp:116
 msgid "Pencil"
 msgstr "Stift"
 
@@ -8077,25 +8108,20 @@ msgstr "Verschieben mehrerer Samples"
 msgid "Change ONE Sample only"
 msgstr "Nur EIN Sample verschieben"
 
-#: ../src/prefs/MousePrefs.cpp:118
-#: ../src/prefs/MousePrefs.cpp:119
-#: ../src/prefs/MousePrefs.cpp:120
-#: ../src/prefs/MousePrefs.cpp:121
+#: ../src/prefs/MousePrefs.cpp:118 ../src/prefs/MousePrefs.cpp:119
+#: ../src/prefs/MousePrefs.cpp:120 ../src/prefs/MousePrefs.cpp:121
 msgid "Multi"
 msgstr "Multi"
 
-#: ../src/prefs/MousePrefs.cpp:118
-#: ../src/prefs/MousePrefs.cpp:119
+#: ../src/prefs/MousePrefs.cpp:118 ../src/prefs/MousePrefs.cpp:119
 msgid "same as select tool"
 msgstr "Dasselbe wie Auswahlwerkzeug"
 
-#: ../src/prefs/MousePrefs.cpp:120
-#: ../src/prefs/MousePrefs.cpp:121
+#: ../src/prefs/MousePrefs.cpp:120 ../src/prefs/MousePrefs.cpp:121
 msgid "same as zoom tool"
 msgstr "Dasselbe wie Zoomwerkzeug"
 
-#: ../src/prefs/MousePrefs.cpp:123
-#: ../src/prefs/MousePrefs.cpp:124
+#: ../src/prefs/MousePrefs.cpp:123 ../src/prefs/MousePrefs.cpp:124
 msgid "Any"
 msgstr "Beliebig"
 
@@ -8109,11 +8135,11 @@ msgstr "Mausrad"
 
 #: prefs/MousePrefs.cpp:128
 msgid "Scroll left or right"
-msgstr ""
+msgstr "Rechts oder links scrollen"
 
 #: prefs/MousePrefs.cpp:128
 msgid "Shift-Wheel-Rotate"
-msgstr ""
+msgstr "Großbuchstabentaste-Mausrad-Rotation"
 
 #: ../src/prefs/MousePrefs.cpp:124
 msgid "Ctrl-Wheel-Rotate"
@@ -8123,10 +8149,62 @@ msgstr "Ctrl+Mausrad"
 msgid "Zoom in or out"
 msgstr "Ein-/Auszoomen"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Länge beim Vorhören:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Vorhören vor der Schnittauswahl:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Vorhören nach der Schnittauswahl:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Intervall beim Springen während Wiedergabe"
+
 #: ../src/prefs/PrefsDialog.cpp:97
 msgid "Audacity Preferences"
 msgstr "Audacity Einstellungen"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr "Beim Speichern eines Projekts, das unkomprimierte Audiodaten direkt einliest"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr "Immer alle Daten in die Projektdatei kopieren (sicherer)"
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "Daten nicht kopieren (schneller)"
+
+#: ../src/prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr "&Anwender/-in fragen"
+
+#: ../src/prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Automatisch Sicherheitskopien anlegen"
+
+#: ../src/prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Sicherheitskopie des Projekts in einem separaten Verzeichnis anlegen"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Intervall für automatisches Speichern:"
+
+#: ../src/prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "Minuten"
+
 #: ../src/prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Rechteck"
@@ -8151,96 +8229,135 @@ msgstr "Standard-Samplefrequenz:"
 msgid "Default Sample Format:"
 msgstr "Standard-Sampleformat:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Echtzeit-Sample-Konverter:"
-
-#: ../src/prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Hochwertiger Samplekonverter:"
-
-#: ../src/prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Echtzeit-Dithering:"
-
-#: ../src/prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Hochwertiges Dithering:"
-
-#: ../src/prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Umwandlung"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Sample-Rate-Umwandler:"
 
 #: ../src/prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Art des Ditherings:"
 
-#: ../src/prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Echtzeit:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Overdub: &Andere Spuren wiedergeben während Aufnahme"
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Hardware-Playthrough: Neue Spur während Aufnahme wiedergeben"
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Hochwertig:"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&Software-Playthrough: Neue Spur während Aufnahme oder Abhören wiedergeben"
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(Nicht bei Aufnahme der \"Soundkarten-Summe\"!)"
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Pegelgesteuerte Aufnahme"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Schwellwert für pegelgesteuerte Aufnahme (dB):"
 
-#: ../src/prefs/SpectrumPrefs.cpp:36
-#: ../src/prefs/SpectrumPrefs.cpp:37
+#: ../src/prefs/SpectrumPrefs.cpp:36 ../src/prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "Spektrogramme"
 
-#: ../src/prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "FFT-Größe bei der Spektral-Darstellung"
-
 #: ../src/prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "8 - Darstellung in sehr grober Auflösung"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "256 - Standardeinstellung"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
-msgstr ""
+msgstr "32768 - Schmalband"
 
 #: ../src/prefs/SpectrumPrefs.cpp:84
 msgid "4096 - most narrowband"
 msgstr "4096 - Sehr feine Auflösung"
 
-# dieshier ist i.d. einstellungen für "fft-größe ...", oder? wie ist das denn zu übersetzen?? -> "Fensterfunktion", siehe http://klimt.iwr.uni-heidelberg.de/PublicFG/ProjectB/CFT/dipluschimpf/node16.html (Markus)
-#: ../src/prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Fensterfunktion:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
-msgstr ""
+msgstr "FFT-Sprung-Punkte"
 
-#: ../src/prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "Anzeigen"
-
-#: ../src/prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "Graustufen"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: ../src/prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -8250,25 +8367,33 @@ msgstr "Minimalfrequenz (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Maximalfrequenz (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
-msgstr ""
+msgstr "Minimale Amplitude (dB):"
 
 #: prefs/SpectrumPrefs.cpp:170
 msgid "Max. Number of Notes (1..128):"
-msgstr ""
+msgstr "Maximale Anzahl Notes (1...128):"
+
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Notes finden"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Notes zählen"
 
 #: ../src/prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
@@ -8286,19 +8411,58 @@ msgstr "Die Minimalfrequenz muss eine Ganzzahl sein"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Die Frequenz muss mindestens 0 Hz betragen"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
+msgstr "Die Angabe der minimalen Amplitude (dB) muss eine Integer-Zahl sein"
+
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
-#: ../src/prefs/ThemePrefs.cpp:61
-#: ../src/prefs/ThemePrefs.cpp:62
+#: ../src/prefs/ThemePrefs.cpp:61 ../src/prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr "Theme"
 
+#: ../src/prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr "Hinweise"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Themes sind eine noch experimentelle Funktion. Mit Themes (manche sagen \"Skins\") kann Programmen individualisierte Aussehen verpasst werden."
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: ../src/prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr "Gesamtes Theme (Bilder und Farben)"
@@ -8327,86 +8491,95 @@ msgstr "Dateien speichern"
 msgid "Load Files"
 msgstr "Dateien laden"
 
-#: ../src/prefs/ThemePrefs.cpp:123
-msgid "Info"
-msgstr "Hinweise"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Nur bei einer Spur möglich"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Themes sind eine noch experimentelle Funktion.\r\n"
-"\r\n"
-
-#: prefs/ThemePrefs.cpp:131
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Sie haben Audacity mit dem Spezialknopf 'Output \n"
-"Sourcery' kompiliert.  Deshalb wird eine C-Version der \n"
-"Grafiken gespeichert, die dann einkompiliert werden können.\n"
-
-#: prefs/ThemePrefs.cpp:136
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Wenn 'Theme-Speicher beim Start laden' ausgewählt ist \n"
-"wird der Theme-Speicher beim Start geladen. \n"
-"\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
+msgstr "Automatisch Scrollen bei Wiedergabe"
 
-#: prefs/ThemePrefs.cpp:139
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Wenn Theme-Dateien einzeln gespeichert/geladen \n"
-"werden, werden individuelle Dateien pro Grafik angelegt, \n"
-"das Grundkonzept der Themes bleibt jedoch unverändert.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Spuren automatisch vertikal einpassen"
 
-#: ../src/toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Pause (P)"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Standardanzeige der Spuren"
 
-#: ../src/toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Wiedergabe"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
+msgstr "Ohne manuelle Auswahl gelten alle Audios als ausgewählt"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: ../src/prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr "Schnittlinien anzeigen"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Ziehen der linken und rechten Auswahlgrenzen ermöglichen"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "Durch ausgewählte Spuren kreisförmig navigieren"
+
+#: ../src/prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr "Nachfolgende Clips beim Schneiden verschieben"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr "Solo-Button:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: ../src/toolbars/ControlToolBar.cpp:183
-msgid "Stop"
-msgstr "Stopp (S)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: ../src/toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "An den Anfang springen (Pos 1)"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: ../src/toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Ans Ende springen (Ende)"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: ../src/Menus.cpp:843
+msgid "Pause"
+msgstr "Pause"
+
+#: ../src/Menus.cpp:842
+msgid "Stop"
+msgstr "Stopp"
+
 #: ../src/toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr "Clean-Speech"
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "Wiedergabe (Großbuchstabentaste für Loop-Wiedergabe)"
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr "Aufnahme (Großbuchstabentaste für Fortsetzen der Aufnahme)"
+
 #: ../src/toolbars/ControlToolBar.cpp:524
 #: ../src/toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
@@ -8414,19 +8587,17 @@ msgstr "Fehler beim 
 
 #: toolbars/ControlToolBar.cpp:696
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
-msgstr ""
+msgstr "Aufnahme im CleanSpeech-Modus ist nicht möglich wenn eine Spur oder mehr als ein Projekt geöffnet ist."
 
 #: ../src/toolbars/ControlToolBar.cpp:685
 msgid "Recording not permitted"
 msgstr "Aufnahme nicht zulässig"
 
-#: ../src/toolbars/DeviceToolBar.cpp:113
-#: ../src/toolbars/DeviceToolBar.cpp:115
+#: ../src/toolbars/DeviceToolBar.cpp:113 ../src/toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Gerät für Wiedergabe"
 
-#: ../src/toolbars/DeviceToolBar.cpp:134
-#: ../src/toolbars/DeviceToolBar.cpp:136
+#: ../src/toolbars/DeviceToolBar.cpp:134 ../src/toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Gerät für Aufnahme"
 
@@ -8440,7 +8611,7 @@ msgstr "Auswahl in Stille umwandeln"
 
 #: toolbars/EditToolBar.cpp:150
 msgid "Link Tracks"
-msgstr ""
+msgstr "Spuren verbinden"
 
 #: ../src/toolbars/EditToolBar.cpp:149
 msgid "Zoom In"
@@ -8450,29 +8621,21 @@ msgstr "Einzoomen"
 msgid "Zoom Out"
 msgstr "Auszoomen"
 
-#: ../src/toolbars/EditToolBar.cpp:155
-msgid "Zoom Toggle"
-msgstr "Zoom umschalten"
-
-#: ../src/toolbars/EditToolBar.cpp:159
-msgid "Fit Selection"
-msgstr "Auswahl einpassen"
-
 #: ../src/toolbars/EditToolBar.cpp:159
 msgid "Fit selection in window"
 msgstr "Auswahl ins Fenster einpassen"
 
 #: ../src/toolbars/EditToolBar.cpp:161
-msgid "Fit Project"
-msgstr "Projekt einpassen"
-
-#: ../src/toolbars/EditToolBar.cpp:161
 msgid "Fit project in window"
 msgstr "Gesamtes Projekt ins Fenster einpassen"
 
-#: ../src/toolbars/MeterToolBar.cpp:49
-msgid "Meter"
-msgstr "Aussteuerungsanzeige"
+#: ../src/toolbars/EditToolBar.cpp:159
+msgid "Fit Selection"
+msgstr "Auswahl einpassen"
+
+#: ../src/toolbars/EditToolBar.cpp:161
+msgid "Fit Project"
+msgstr "Projekt einpassen"
 
 #: ../src/toolbars/MeterToolBar.cpp:79
 msgid "Play Meter"
@@ -8520,24 +8683,28 @@ msgstr "Mixer-Aufnahmelautst
 msgid "Input Source"
 msgstr "Aufnahmequelle"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: ../src/toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr "Zeit-/Projektfrequenzleiste"
 
-#: ../src/toolbars/SelectionBar.cpp:115
-#: ../src/toolbars/SelectionBar.cpp:168
+#: ../src/toolbars/SelectionBar.cpp:115 ../src/toolbars/SelectionBar.cpp:168
 msgid "Project Rate (Hz):"
 msgstr "Projekt-Frequenz (Hz):"
 
-#: ../src/toolbars/SelectionBar.cpp:120
-#: ../src/toolbars/SelectionBar.cpp:211
+#: ../src/toolbars/SelectionBar.cpp:120 ../src/toolbars/SelectionBar.cpp:211
 msgid "Selection Start:"
 msgstr "Anfang der Auswahl:"
 
-#: ../src/effects/ToneGen.cpp:300
-#: ../src/effects/ToneGen.cpp:338
-#: ../src/toolbars/SelectionBar.cpp:135
-#: ../src/toolbars/SelectionBar.cpp:225
+#: ../src/effects/ToneGen.cpp:300 ../src/effects/ToneGen.cpp:338
+#: ../src/toolbars/SelectionBar.cpp:135 ../src/toolbars/SelectionBar.cpp:225
 msgid "Length"
 msgstr "Länge"
 
@@ -8545,13 +8712,11 @@ msgstr "L
 msgid "hidden"
 msgstr "versteckt"
 
-#: ../src/toolbars/SelectionBar.cpp:155
-#: ../src/toolbars/SelectionBar.cpp:239
+#: ../src/toolbars/SelectionBar.cpp:155 ../src/toolbars/SelectionBar.cpp:239
 msgid "Audio Position:"
 msgstr "Audioposition:"
 
-#: toolbars/SelectionBar.cpp:217
-#: toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:217 toolbars/SelectionBar.cpp:222
 msgid "Snap To"
 msgstr "Einrasten"
 
@@ -8572,8 +8737,7 @@ msgstr "Ans &Ende der Auswahl"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity-%s"
 
-#: ../src/toolbars/ToolDock.cpp:74
-#: ../src/toolbars/ToolDock.cpp:75
+#: ../src/toolbars/ToolDock.cpp:74 ../src/toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Werkzeug-Dock"
 
@@ -8605,30 +8769,6 @@ msgstr "Links=Einzoomen, Rechts=Auszoomen, Mitte=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Klicken und ziehen um eine Tonspur auf der Zeitachse zu verschieben"
 
-#: ../src/toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Werkzeuge"
-
-#: ../src/toolbars/ToolsToolBar.cpp:147
-msgid "Selection Tool"
-msgstr "Auswahlwerkzeug"
-
-#: ../src/toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Hüllkurvenwerkzeug"
-
-#: ../src/toolbars/ToolsToolBar.cpp:149
-msgid "Time Shift Tool"
-msgstr "Zeitverschiebungswerkzeug"
-
-#: ../src/toolbars/ToolsToolBar.cpp:150
-msgid "Zoom Tool"
-msgstr "Zoomwerkzeug"
-
-#: ../src/toolbars/ToolsToolBar.cpp:151
-msgid "Draw Tool"
-msgstr "Zeichenwerkzeug"
-
 #: ../src/toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Multifunktionswerkzeug"
@@ -8638,22 +8778,10 @@ msgstr "Multifunktionswerkzeug"
 msgid "Slide Tool"
 msgstr "Zeitverschiebungswerkzeug"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multifunktionswerkzeug"
-
-#: ../src/toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr "Transkriptionswerkzeug"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr "Mit der ausgewählten Geschwindigkeit wiedergeben"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr "Schnellere/langsamere Wiedergabe"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:190
 #: ../src/toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
@@ -8663,74 +8791,38 @@ msgstr "Wiedergabe-Geschwindigkeit"
 msgid "Adjust left selection to next onset"
 msgstr "Linke Auswahlgrenze an Beginn der Sprache verschieben"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr "Links-bis-Beginn"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr "Rechte Auswahlgrenze an das Ende der Sprache verschieben"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr "Rechts-bis-Ende"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr "Linke Auswahlgrenze an Ende der Sprache verschieben"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr "Links-bis-Ende"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr "Rechte Auswahlgrenze an den Beginn der Sprache verschieben"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr "Rechts-bis-Beginn"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr "Auswahl erzeugen: Sprache im Bereich des Cursors"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr "Sound auswählen"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr "Auswahl erzeugen: Stille im Bereich des Cursors"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr "Stille auswählen"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr "Automatisch Textmarkierungen erzeugen in Bereichen mit Sprache"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr "Textmarken erzeugen"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr "Textmarken im Bereich der Auswahl erzeugen"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr "Textmarke hinzufügen"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr "Voice-Key: Stillepegel festlegen"
 
-#: ../src/toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr "Einstellen"
-
 #: ../src/toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr "Empfindlichkeit einstellen"
@@ -8763,6 +8855,46 @@ msgstr "Richtungswechsel (Hoher Grenzwert)"
 msgid "Key type"
 msgstr "Voice-Keytyp"
 
+#: ../src/toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr "Schnellere/langsamere Wiedergabe"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr "Links-bis-Beginn"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr "Rechts-bis-Ende"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr "Links-bis-Ende"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr "Rechts-bis-Beginn"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr "Sound auswählen"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr "Stille auswählen"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr "Textmarken erzeugen"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr "Textmarke hinzufügen"
+
+#: ../src/toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr "Einstellen"
+
 #: ../src/widgets/AButton.cpp:298
 msgid " (disabled)"
 msgstr "(deaktiviert)"
@@ -8777,15 +8909,13 @@ msgstr "Button"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/Meter.cpp:205
-#: ../src/widgets/ASlider.cpp:538
+#: ../src/widgets/Meter.cpp:205 ../src/widgets/ASlider.cpp:538
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/Meter.cpp:207
-#: ../src/widgets/ASlider.cpp:541
+#: ../src/widgets/Meter.cpp:207 ../src/widgets/ASlider.cpp:541
 msgid "R"
 msgstr "R"
 
@@ -8801,26 +8931,25 @@ msgstr "Links"
 msgid "Right"
 msgstr "Rechts"
 
-#: widgets/ErrorDialog.cpp:73
-#: widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
 msgid "Help"
 msgstr "Hilfe"
 
 #: widgets/ErrorDialog.cpp:137
 msgid "<"
-msgstr ""
+msgstr "<"
 
 #: widgets/ErrorDialog.cpp:138
 msgid ">"
-msgstr ""
+msgstr ">"
 
 #: widgets/ErrorDialog.cpp:142
 msgid "Forwards"
-msgstr ""
+msgstr "Vorwärts"
 
 #: widgets/ErrorDialog.cpp:143
 msgid "Backwards"
-msgstr ""
+msgstr "Rückwärts"
 
 #: widgets/ErrorDialog.cpp:190
 msgid "Help on the Internet"
@@ -8835,8 +8964,7 @@ msgstr "Anfasser"
 msgid "%d rows, %d columns"
 msgstr "%d Reihen, %d Spalten"
 
-#: ../src/widgets/Grid.cpp:622
-#: ../src/widgets/Grid.cpp:749
+#: ../src/widgets/Grid.cpp:622 ../src/widgets/Grid.cpp:749
 #, c-format
 msgid "Row %d"
 msgstr "Reihe %d"
@@ -8875,7 +9003,7 @@ msgstr "Ein&stellungen..."
 
 #: widgets/Meter.cpp:876
 msgid "Mix Volume"
-msgstr ""
+msgstr "Mix-Lautstärke "
 
 # irgendwas an diesem fenster (re-klick auf aussteuerungs-anzeige > eigenschaften) ist strange: egal wie kurz man die zeilen umbricht fehlt immer irgendwo das letzte wort ... -> wxWidgets 2.6 Bug, behoben in wxWidgets 2.8. Machs ruhig breiter (mit wxWidgets 2.8 siehst Du besser, was dabei rauskommt) (Markus)
 #: ../src/widgets/Meter.cpp:1037
@@ -8903,22 +9031,21 @@ msgstr "Bitte eine Aktion ausw
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Bitte eine Aktion auswählen"
 
 #: widgets/ProgressDialog.cpp:97
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "Verstrichene Zeit:"
 
 #: widgets/ProgressDialog.cpp:117
 msgid "Remaining Time:"
-msgstr ""
+msgstr "Verbleibende Zeit:"
 
 #: widgets/ProgressDialog.cpp:134
 msgid "Cancel"
-msgstr ""
+msgstr "Abbrechen"
 
-#: ../src/widgets/Ruler.cpp:1110
-#: ../src/widgets/Ruler.cpp:1111
+#: ../src/widgets/Ruler.cpp:1110 ../src/widgets/Ruler.cpp:1111
 msgid "Vertical Ruler"
 msgstr "Vertikales Lineal"
 
@@ -8943,7 +9070,7 @@ msgstr "0100 Tage 024 Stunden 060 Minuten 060 Sekunden"
 #. * minutes, seconds and hundreths of a second (1/100 second)
 #: widgets/TimeTextCtrl.cpp:288
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "hh:mm:ss + hundertstel"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -8952,7 +9079,7 @@ msgstr ""
 #. * unless there aren't 60 minutes in an hour in your locale
 #: widgets/TimeTextCtrl.cpp:294
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 Std 060 Min 060.0100 Sek"
 
 #: ../src/widgets/TimeTextCtrl.cpp:203
 msgid "hh:mm:ss + milliseconds"
@@ -9070,10 +9197,22 @@ msgstr "Konnte Datei nicht 
 #: xml/XMLFileReader.cpp:63
 #, c-format
 msgid "Error: %hs at line %lu"
-msgstr ""
+msgstr "Fehler: %hs in Zeile %lu"
 
 #: xml/XMLFileReader.cpp:79
 #, c-format
 msgid "Could not load file: \"%s\""
 msgstr "Konnte die Datei nicht laden: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/el.po b/locale/el.po
index 12c6536..bd13ebb 100644
--- a/locale/el.po
+++ b/locale/el.po
@@ -18,9 +18,7 @@ msgstr "Project-Id-Version: Audacity 1.3.3 b\n"
 "X-Generator: KBabel 1.11.4\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:724
-#: Menus.cpp:727
+#: AboutDialog.cpp:142 AudacityApp.cpp:724 Menus.cpp:727
 msgid "&About Audacity..."
 msgstr "&Σχετικά με το Audacity..."
 
@@ -36,11 +34,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
@@ -53,8 +51,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:250
-#: AboutDialog.cpp:252
+#: AboutDialog.cpp:250 AboutDialog.cpp:252
 msgid "translator_credits"
 msgstr "Ελληνική μετάφραση από τον Νίκο Παπαδόπουλο \n"
 "παρατηρήσεις και προτάσεις στo e-mail: \n"
@@ -99,7 +96,7 @@ msgid "Special thanks:"
 msgstr "Ευχαριστούμε Ιδιαίτερα:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:314
@@ -111,8 +108,7 @@ msgstr "Audacity"
 msgid "Build Information"
 msgstr ""
 
-#: AboutDialog.cpp:166
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:166 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Ενεργοποιημένο"
 
@@ -210,16 +206,12 @@ msgstr "Φάκελος ρυθμίσεων: "
 msgid "GPL License"
 msgstr "Άδεια GPL"
 
-#: AudacityApp.cpp:456
-#: Project.cpp:1714
+#: AudacityApp.cpp:456 Project.cpp:1714
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s έχει ήδη ανοιχτεί σε άλλο παράθυρο."
 
-#: AudacityApp.cpp:458
-#: Project.cpp:1716
-#: Project.cpp:1797
-#: Project.cpp:1941
+#: AudacityApp.cpp:458 Project.cpp:1716 Project.cpp:1797 Project.cpp:1941
 #: Project.cpp:2043
 msgid "Error opening project"
 msgstr "Σφάλμα κατά το άνοιγμα της εργασίας"
@@ -245,21 +237,28 @@ msgstr "Μετρητής Σήματος Εισόδου"
 msgid "Output Meter"
 msgstr "Μετρητής Σήματος Εξόδου"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:726
-#: Menus.cpp:468
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Προτιμήσεις...\tCtrl+,"
+#: Menus.cpp:162
+msgid "&New"
+msgstr "&Νέο"
+
+#: Menus.cpp:164
+msgid "&Open..."
+msgstr "&Άνοιγμα..."
 
-#: AudacityApp.cpp:815
-#: AudacityApp.cpp:900
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:726 Menus.cpp:468
+msgid "&Preferences..."
+msgstr "&Προτιμήσεις..."
+
+#: AudacityApp.cpp:815 AudacityApp.cpp:900
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Χρήση τμήματος μεγέθους %ld\n"
 
-#: AudacityApp.cpp:837
-#: AudacityApp.cpp:915
+#: AudacityApp.cpp:837 AudacityApp.cpp:915
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Άγνωστη command line επιλογή: %s\n"
@@ -376,14 +375,14 @@ msgstr "Σφάλμα: "
 msgid "Error Initializing Audio"
 msgstr "Σφάλμα στην Αρχικοποίηση Audio"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:54
@@ -400,8 +399,7 @@ msgstr "Κάποιες εργασίες δεν αποθηκεύθηκαν σωσ
 msgid "Recoverable projects"
 msgstr "Εργασίες προς Ανάκτηση"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:1999
+#: AutoRecovery.cpp:78 Tags.cpp:1999
 msgid "Name"
 msgstr "Όνομα"
 
@@ -431,38 +429,25 @@ msgstr ""
 msgid "Confirm?"
 msgstr ""
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Ήταν αδύνατο να καταρυθμιθούν τα αρχεία στο φάκελο αυτόματης αποθήκευσης"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2462
-#: Menus.cpp:4332
-#: Project.cpp:1900
-#: Project.cpp:3230
-#: Project.cpp:3309
-#: WaveTrack.cpp:542
-#: WaveTrack.cpp:561
-#: WaveTrack.cpp:1640
-#: effects/Effect.cpp:346
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2462 Menus.cpp:4332
+#: Project.cpp:1900 Project.cpp:3230 Project.cpp:3309 WaveTrack.cpp:542
+#: WaveTrack.cpp:561 WaveTrack.cpp:1640 effects/Effect.cpp:346
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:833
 msgid "Error"
 msgstr "Σφάλμα"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Επιλογή εντολής"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Εντολή"
@@ -471,8 +456,7 @@ msgstr "&Εντολή"
 msgid "&Edit Parameters"
 msgstr "Επε&ξεργασία Παραμέτρων"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "Π&αράμετροι"
 
@@ -516,8 +500,7 @@ msgid "Apply %s with parameter(s)\n"
 "%s"
 msgstr ""
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Κατάσταση Δοκιμής"
 
@@ -526,8 +509,7 @@ msgstr "Κατάσταση Δοκιμής"
 msgid "Apply %s"
 msgstr "Εφαρμογή %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 #, fuzzy
 msgid "Apply Chain"
@@ -555,23 +537,15 @@ msgstr "Εφαρμογή στο &Τρέχον Έργο"
 msgid "Apply to &Files..."
 msgstr "Ε&φαρμογή στα Αρχεία..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2038
-#: Tags.cpp:2042
-#: Tags.cpp:2342
-#: Tags.cpp:2346
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:437
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2038
+#: Tags.cpp:2042 Tags.cpp:2342 Tags.cpp:2346 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:437
 #: effects/audiounits/AudioUnitEffect.cpp:882
 msgid "&Cancel"
 msgstr "&Ακύρωση"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 #, fuzzy
 msgid "No chain selected"
 msgstr "-Δεν επιλέχθηκε τύπος-"
@@ -609,8 +583,7 @@ msgstr "Εφαρμογή..."
 msgid "File"
 msgstr "Αρχείο"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 #, fuzzy
 msgid "Edit Chains"
@@ -621,19 +594,12 @@ msgstr "Επεξεργασία εργασίας"
 msgid "&Chains"
 msgstr "Καθαρισμός όλων των αλυσίδων(chains): "
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:782
-#: Tags.cpp:1422
-#: Tags.cpp:2022
+#: BatchProcessDialog.cpp:435 Tags.cpp:782 Tags.cpp:1422 Tags.cpp:2022
 msgid "&Add"
 msgstr "&Προσθήκη"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:783
-#: Tags.cpp:1423
-#: Tags.cpp:2023
-#: TrackPanel.cpp:3985
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:783 Tags.cpp:1423
+#: Tags.cpp:2023 TrackPanel.cpp:3985
 msgid "&Remove"
 msgstr "Α&φαίρεση"
 
@@ -647,8 +613,8 @@ msgstr ""
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Όχι"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -738,8 +704,7 @@ msgstr "Ελεύθερος χώρος δίσκου"
 msgid "Copy Selected Audio Into Project"
 msgstr "Αντιγραφή Του Επιλεγμένου Audio Στην Εργασία"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:413
+#: Dependencies.cpp:304 Dependencies.cpp:413
 msgid "Cancel Save"
 msgstr "Ακύρωση Αποθήκευσης"
 
@@ -751,8 +716,7 @@ msgstr ""
 msgid "Copy All Audio into Project (Safer)"
 msgstr ""
 
-#: Dependencies.cpp:320
-#: Dependencies.cpp:325
+#: Dependencies.cpp:320 Dependencies.cpp:325
 msgid "Ask me"
 msgstr "Ρώτησέ με"
 
@@ -786,9 +750,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Προσοχή: έχει μείνει λίγος διαθέσιμος χώρος σε αυτή τη μονάδα δίσκου.\n"
 "Παρακαλώ επέλεξε ένα άλλο φάκελο προσωρινών αρχείων στις προτιμήσεις."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Πρόοδος"
 
@@ -846,8 +808,7 @@ msgstr "Αδύνατη η μετονομασία του '%s' σε '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Έλεγχος των δεδομένων των αρχείων της εργασίας..."
 
@@ -895,14 +856,9 @@ msgstr ""
 msgid "Close project immediately with no changes"
 msgstr "Άμεσο κλείσιμο της εργασίας, χωρίς αλλαγές"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:484
-#: export/Export.cpp:501
-#: export/Export.cpp:520
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:484 export/Export.cpp:501
+#: export/Export.cpp:520 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Προσοχή"
 
@@ -920,14 +876,11 @@ msgstr ""
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Αντικατάσταση των δεδομένων που λείπουν με σιγή [μόνιμο μετά την αποθήκευση]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Προσορινά αντικατάσταση των δεδομένων που λείπουν με σιγή [για αυτή μόνο τη φορά]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Άμεσο κλείσιμο της εργασίας, χωρίς περαιτέρω αλλαγές"
 
@@ -989,11 +942,11 @@ msgstr "Ορθογώνιο"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1054,11 +1007,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1081,8 +1035,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Ανάλυση Συχνότητας"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:507
+#: FreqWindow.cpp:140 TrackPanel.cpp:507
 msgid "Spectrum"
 msgstr "Φάσμα συχνοτήτων"
 
@@ -1114,8 +1067,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Αλγόριθμος:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Μέγεθος"
 
@@ -1143,40 +1095,38 @@ msgstr "Λογαριθμική Συχνότητα"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:200
-#: Menus.cpp:229
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:200 Menus.cpp:229
 msgid "&Export..."
 msgstr "&Εξαγωγή..."
 
-#: export/ExportCL.cpp:320
-#: export/ExportOGG.cpp:252
-#: export/ExportPCM.cpp:398
+#: export/ExportCL.cpp:320 export/ExportOGG.cpp:252 export/ExportPCM.cpp:398
 msgid "Export"
 msgstr "Εξαγωγή"
 
-#: AboutDialog.cpp:676
-#: Dependencies.cpp:308
-#: FreqWindow.cpp:209
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: AboutDialog.cpp:676 Dependencies.cpp:308 FreqWindow.cpp:209
 msgid "Close"
 msgstr "Κλείσιμο"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:487
-#: effects/AutoDuck.cpp:521
-#: effects/AutoDuck.cpp:789
-#: effects/Compressor.cpp:349
-#: effects/Compressor.cpp:357
-#: effects/Equalization.cpp:1086
-#: effects/Equalization.cpp:1088
-#: effects/Equalization.cpp:1096
-#: effects/Equalization.cpp:1162
-#: effects/Equalization.cpp:1371
-#: effects/Equalization.cpp:1382
-#: effects/Normalize.cpp:340
-#: widgets/Meter.cpp:363
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:521 effects/AutoDuck.cpp:789
+#: effects/Compressor.cpp:349 effects/Compressor.cpp:357
+#: effects/Equalization.cpp:1086 effects/Equalization.cpp:1088
+#: effects/Equalization.cpp:1096 effects/Equalization.cpp:1162
+#: effects/Equalization.cpp:1371 effects/Equalization.cpp:1382
+#: effects/Normalize.cpp:340 widgets/Meter.cpp:363
 msgid "dB"
 msgstr "dB"
 
@@ -1184,20 +1134,25 @@ msgstr "dB"
 #  cycles per second.
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1127
-#: effects/Equalization.cpp:1158
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1127
+#: effects/Equalization.cpp:1158 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3311
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Για να γίνει ανάλυση συχνότητας, όλα τα επιλεγμένα κανάλια πρέπει να έχουν τον ίδιο ρυθμό δειγματοληψίας."
+
+#: Menus.cpp:3337
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Υπερβάλλον audio έχει επιλεγεί.  Μόνο τα πρώτα  %.1f δευτ. του audio θα αναλυθούν."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Δεν έχουν επιλεγεί αρκετά δεδομένα."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:791
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:791
 msgid "s"
 msgstr "s"
 
@@ -1219,12 +1174,8 @@ msgstr "φάσμασυχνοτήτων.txt"
 msgid "Export Spectral Data As:"
 msgstr "Εξαγωγή Δεδομένων Φάσματος ως:"
 
-#: FreqWindow.cpp:1077
-#: LabelDialog.cpp:599
-#: Menus.cpp:2094
-#: Project.cpp:2331
-#: Project.cpp:3282
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1077 LabelDialog.cpp:599 Menus.cpp:2094 Project.cpp:2331
+#: Project.cpp:3282 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Αδύνατη η εγγραφή στο αρχείο: "
 
@@ -1236,6 +1187,21 @@ msgstr "Συχνότητα (Hz)\tΕπίπεδο (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Καθυστέρηση (δευτ.)\tΣυχνότητα (Hz)\tΕπίπεδο"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1313,7 +1279,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1337,7 +1303,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1372,13 +1338,8 @@ msgstr "Επίπεδα Προς Απόρριψη"
 msgid "&Discard"
 msgstr "Από&ρριψη"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2039
-#: Tags.cpp:2041
-#: Tags.cpp:2343
-#: Tags.cpp:2345
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
+#: HistoryWindow.cpp:111 Tags.cpp:2039 Tags.cpp:2041 Tags.cpp:2343
+#: Tags.cpp:2345 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
 #: export/ExportCL.cpp:396
 msgid "&OK"
 msgstr "&Εντάξει"
@@ -1387,8 +1348,7 @@ msgstr "&Εντάξει"
 msgid "Unable to determine"
 msgstr "Αδύνατη η διευκρίνηση"
 
-#: Internat.cpp:180
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:180 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "bytes"
 
@@ -1404,13 +1364,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Κανάλι"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:3922
-#: Menus.cpp:3950
+#: LabelDialog.cpp:53 Menus.cpp:3922 Menus.cpp:3950
 msgid "Label"
 msgstr "Ετικέτα"
 
@@ -1422,8 +1388,7 @@ msgstr "Χρόνος Έναρξης"
 msgid "End Time"
 msgstr "Χρόνος Λήξης"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:609
+#: LabelDialog.cpp:98 Menus.cpp:609
 msgid "&Edit Labels"
 msgstr "Επεξεργασία Ετι&κετών"
 
@@ -1439,8 +1404,7 @@ msgstr "Εισαγωγή &Μετά Από"
 msgid "Insert &Before"
 msgstr "Εισαγωγή &Πριν Από"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:190
+#: LabelDialog.cpp:127 Menus.cpp:190
 msgid "&Import..."
 msgstr "Εισαγ&ωγή..."
 
@@ -1459,20 +1423,15 @@ msgstr ""
 msgid "Confirm"
 msgstr "Επιβεβαίωση"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3434
+#: LabelDialog.cpp:514 Menus.cpp:3434
 msgid "Select a text file containing labels..."
 msgstr "Επέλεξε ένα αρχείο κειμένου που να περιέχει ετικέτες..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3438
+#: LabelDialog.cpp:518 Menus.cpp:3438
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Text αρχεία (*.txt)|*.txt|Όλα τα αρχεία (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3450
-#: Project.cpp:1763
-#: Project.cpp:1771
+#: LabelDialog.cpp:532 Menus.cpp:3450 Project.cpp:1763 Project.cpp:1771
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Αδύνατο το άνοιγμα αρχείου: "
@@ -1481,13 +1440,11 @@ msgstr "Αδύνατο το άνοιγμα αρχείου: "
 msgid "No labels to export."
 msgstr "Δεν υπάρχουν ετικέτες για εξαγωγή."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2059
+#: LabelDialog.cpp:564 Menus.cpp:2059
 msgid "Export Labels As:"
 msgstr "Εξαγωγή Ετικετών ως:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2057
+#: LabelDialog.cpp:566 Menus.cpp:2057
 msgid "labels.txt"
 msgstr "ετικέτες.txt"
 
@@ -1499,10 +1456,7 @@ msgstr "Νέο Κανάλι Ετικέτας"
 msgid "Enter track name"
 msgstr "Εισαγωγή του ονόματος του καναλιού"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:88
-#: Menus.cpp:545
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:88 Menus.cpp:545
 msgid "&Label Track"
 msgstr "Κανάλι Ε&τικέτας"
 
@@ -1529,24 +1483,15 @@ msgstr "Άνοιγμα Audacity Project"
 msgid "&File"
 msgstr "&Αρχείο"
 
-#: Menus.cpp:162
-msgid "&New\tCtrl+N"
-msgstr "&Νέο\tCtrl+N"
-
-#: Menus.cpp:164
-msgid "&Open...\tCtrl+O"
-msgstr "&Άνοιγμα...\tCtrl+O"
-
 #: Menus.cpp:169
-msgid "&Close\tCtrl+W"
+msgid "&Close"
 msgstr "&Κλείσιμο"
 
 #: Menus.cpp:172
-msgid "&Save Project\tCtrl+S"
-msgstr "&Αποθήκευση Εργασίας\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Αποθήκευση Εργασίας"
 
-#: Menus.cpp:176
-#: Project.cpp:2575
+#: Menus.cpp:176 Project.cpp:2575
 msgid "Save Project &As..."
 msgstr "&Αποθήκευση Εργασίας ως..."
 
@@ -1569,8 +1514,8 @@ msgid "&Import"
 msgstr "Εισαγωγή"
 
 #: Menus.cpp:192
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Audio..."
 
 #: Menus.cpp:193
 msgid "&Labels..."
@@ -1584,8 +1529,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "Ανεπεξέργαστα &Δεδομένα..."
 
-#: Menus.cpp:206
-#: Menus.cpp:235
+#: Menus.cpp:206 Menus.cpp:235
 msgid "Expo&rt Selection..."
 msgstr "Εξαγωγή &Επιλογής..."
 
@@ -1601,12 +1545,12 @@ msgstr "Εξαγωγή &Πολλαπλών..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:256
+#, fuzzy
+msgid "Appl&y Chain..."
+msgstr "Αλυσίδα κλήσεων"
 
-#: Menus.cpp:244
-#: Menus.cpp:258
+#: Menus.cpp:244 Menus.cpp:258
 msgid "Edit C&hains..."
 msgstr "Επεξεργασία Αλυ&σίδων..."
 
@@ -1618,11 +1562,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:256
-#, fuzzy
-msgid "Appl&y Chain..."
-msgstr "Αλυσίδα κλήσεων"
-
 #: Menus.cpp:263
 msgid "&Upload File..."
 msgstr "&Ανέβασμα αρχείου..."
@@ -1636,78 +1575,75 @@ msgid "&Print..."
 msgstr "&Εκτύπωση..."
 
 #: Menus.cpp:283
-msgid "E&xit\tCtrl+Q"
-msgstr "Έ&ξοδος\tCtrl+Q"
+msgid "E&xit"
+msgstr "Έ&ξοδος"
 
-#: Menus.cpp:291
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:291 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Επεξεργασία"
 
 #: Menus.cpp:295
-msgid "&Undo\tCtrl+Z"
-msgstr "&Αναίρεση\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Αναίρεση"
 
-#: Menus.cpp:303
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:303 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Επαναφορά"
 
 #: Menus.cpp:316
-msgid "Cu&t\tCtrl+X"
-msgstr "Α&ποκοπή\tCtrl+X"
+msgid "Cu&t"
+msgstr "Α&ποκοπή"
 
 #: Menus.cpp:320
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Διαχωρισμός Α&ποκοπή\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Διαχωρισμός Α&ποκοπή"
 
 #: Menus.cpp:321
-msgid "&Copy\tCtrl+C"
+msgid "&Copy"
 msgstr "&Αντιγραφή"
 
 #: Menus.cpp:325
-msgid "&Paste\tCtrl+V"
-msgstr "&Επικόλληση\tCtrl+V"
+msgid "&Paste"
+msgstr "&Επικόλληση"
 
 #: Menus.cpp:329
-msgid "Tri&m\tCtrl+T"
-msgstr "Πε&ρικοπή\tCtrl+T"
+msgid "Tri&m"
+msgstr "Πε&ρικοπή"
 
 #: Menus.cpp:331
-msgid "&Delete\tCtrl+K"
-msgstr "&Διαγραφή\tCtrl+K"
+msgid "&Delete"
+msgstr "&Διαγραφή"
 
 #: Menus.cpp:332
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Διαχωρισμός &Διαγραφή\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Διαχωρισμός &Διαγραφή"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:335
-msgid "Sp&lit\tCtrl+I"
-msgstr "&Διαχωρισμός\tCtrl+I"
+msgid "Sp&lit"
+msgstr "&Διαχωρισμός"
 
 #: Menus.cpp:340
 #, fuzzy
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Διαχωρισμός &Νέο\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Διαχωρισμός &Νέο"
 
 #: Menus.cpp:345
 #, fuzzy
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr "&Όλα"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:348
 #, fuzzy
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&Εισαγωγή Audio...\tCtrl+IΑ"
+msgid "Duplic&ate"
+msgstr "&Εισαγωγή Audio..."
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1719,83 +1655,67 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:363
-msgid "&Cut\tAlt+X"
-msgstr "&Αποκοπή\tAlt+X"
+msgid "&Cut"
+msgstr "&Αποκοπή"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:368
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Διαχωρισμός Αποκοπή\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&Διαχωρισμός Αποκοπή"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:373
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Αντιγραφή\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:379
-msgid "&Delete\tAlt+K"
-msgstr "&Διαγραφή\tAlt+K"
+msgid "Co&py"
+msgstr "&Αντιγραφή"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:384
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Δια&χωρισμός Αποκοπή\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Δια&χωρισμός Αποκοπή"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:389
-msgid "Sile&nce\tAlt+L"
-msgstr "&Σιγή\tAlt+L"
+msgid "Sile&nce"
+msgstr "&Σιγή"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:395
-msgid "Spli&t\tAlt+I"
-msgstr "Διαχω&ρισμός\tAlt-F4"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:400
-#, fuzzy
-msgid "&Join\tAlt+J"
-msgstr "&Σύνδεση σε τομέα"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Διαχω&ρισμός"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:412
-msgid "&All\tCtrl+A"
+msgid "&All"
 msgstr "&Όλα"
 
 #: Menus.cpp:413
-msgid "&None\tCtrl+Shift+A"
-msgstr "&NΚανένα\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&NΚανένα"
 
 #: Menus.cpp:462
 #, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "Αριστερά της Θέσης Αναπαραγωγής\t["
+msgid "&Left at Playback Position"
+msgstr "Αριστερά της Θέσης Αναπαραγωγής"
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "Δεξιά της Θέσης Αναπαραγωγής\t]"
+msgid "&Right at Playback Position"
+msgstr "Δεξιά της Θέσης Αναπαραγωγής"
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:429
-msgid "Find &Zero Crossings\tZ"
-msgstr "Ανεύρεση &Μηδενικών Διασταυρώσεων\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Ανεύρεση &Μηδενικών Διασταυρώσεων"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1812,11 +1732,11 @@ msgid "to Selection En&d"
 msgstr "στο Τέλος της Επιλογής"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1839,29 +1759,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:460
-msgid "Turn Snap-To On"
-msgstr "Ενεργοποίηση του Έλξη Στο"
-
-#: Menus.cpp:461
-msgid "Turn Snap-To Off"
-msgstr "Απενεργοποίηση του Έλξη Στο"
-
-#: Menus.cpp:462
-msgid "Turn Grid Snap On"
-msgstr "Ενεργοποίηση Έλξης Πλέγματος"
-
-#: Menus.cpp:463
-msgid "Turn Grid Snap Off"
-msgstr "Απενεργοποίηση Έλξης Πλέγματος"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:482
@@ -1869,36 +1768,36 @@ msgid "&View"
 msgstr "&Προβολή"
 
 #: Menus.cpp:484
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Μεγέθυνση\tCtrl+1"
+msgid "Zoom &In"
+msgstr "&Μεγέθυνση"
 
 #: Menus.cpp:487
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Προβολή στο &Κανονικό\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Προβολή στο &Κανονικό"
 
 #: Menus.cpp:488
-msgid "Zoom &Out\tCtrl+3"
-msgstr "&Σμίκρυνση\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "&Σμίκρυνση"
 
 #: Menus.cpp:491
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Προσαρμογή στο Παράθυρο\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Προσαρμογή στο Παράθυρο"
 
 #: Menus.cpp:492
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "&Κάθετη Προσαρμογή\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "&Κάθετη Προσαρμογή"
 
 #: Menus.cpp:493
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Μεγέθυνση στην Επιλογή\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Μεγέθυνση στην Επιλογή"
 
 #: Menus.cpp:496
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Σύμπτυξη Όλων Των Καναλιών\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Σύμπτυξη Όλων Των Καναλιών"
 
 #: Menus.cpp:497
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Ε&πέκταση Όλων Των Καναλιών\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "Ε&πέκταση Όλων Των Καναλιών"
 
 #: Menus.cpp:551
 #, fuzzy
@@ -1968,40 +1867,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Αναπαραγωγή"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:773
-msgid "Skip to Start\tHome"
-msgstr "Μετάβαση στην Αρχή\tHome"
+msgid "Skip to Start"
+msgstr "Μετάβαση στην Αρχή"
 
 #: Menus.cpp:774
-msgid "Skip to End\tEnd"
-msgstr "Μετάβαση στο Τέλος\tEnd"
+msgid "Skip to End"
+msgstr "Μετάβαση στο Τέλος"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2029,15 +1928,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:543
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Κανάλι &Audio\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "Κανάλι &Audio"
 
 #: Menus.cpp:544
 msgid "&Stereo Track"
 msgstr "Κανάλι &Στέρεο"
 
-#: Menus.cpp:546
-#: TimeTrack.cpp:44
+#: Menus.cpp:546 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Κανάλι &Χρόνου"
 
@@ -2046,7 +1944,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:562
@@ -2058,11 +1956,11 @@ msgid "Remo&ve Tracks"
 msgstr "Απο&μάκρυνση Καναλιών"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:579
@@ -2113,17 +2011,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:605
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Προσθήκη Ετικέτας στην &Επιλογή\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:606
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Προσθήκη Ετικέτας στην &Θέση Αναπαραγωγής\tCtrl+Μ"
+msgid "Add Label At &Playback Position"
+msgstr "Προσθήκη Ετικέτας στην &Θέση Αναπαραγωγής"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2149,21 +2047,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Ε&φέ"
 
-#: Menus.cpp:652
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Επανάληψη Τελευταίου Εφέ\tCtrl+R"
-
 #: Menus.cpp:684
 msgid "&Analyze"
 msgstr "Ανά&λυση"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:686
 #, fuzzy
 msgid "Plot Spectrum..."
 msgstr "Ανάλυση &Συχνότητας..."
 
-#: Menus.cpp:719
-#: Menus.cpp:722
+#: Menus.cpp:719 Menus.cpp:722
 msgid "&Help"
 msgstr "&Βοήθεια"
 
@@ -2176,8 +2073,8 @@ msgstr "Γραμμή Εργαλείων Ελέγχου του Audacity"
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2196,183 +2093,151 @@ msgstr "&Εκτέλεση του Τεστ Απόδοσης..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:750
-msgid "Selection Tool\tF1"
-msgstr "Εργαλείο Επιλογής\tF1"
+msgid "Selection Tool"
+msgstr "Εργαλείο Επιλογής"
 
 #: Menus.cpp:751
-msgid "Envelope Tool\tF2"
-msgstr "Εργαλείο Πορείας Έντασης\tF2"
+msgid "Envelope Tool"
+msgstr "Εργαλείο Πορείας Έντασης"
 
 #: Menus.cpp:752
-msgid "Draw Tool\tF3"
-msgstr "Εργαλείο Σχεδίασης\tF3"
+msgid "Draw Tool"
+msgstr "Εργαλείο Σχεδίασης"
 
 #: Menus.cpp:753
-msgid "Zoom Tool\tF4"
-msgstr "Εργαλείο Προβολής\tF4"
+msgid "Zoom Tool"
+msgstr "Εργαλείο Προβολής"
 
 #: Menus.cpp:754
-msgid "Time Shift Tool\tF5"
-msgstr "Εργαλείο Χρονικής Μετατόπισης\tF5"
+msgid "Time Shift Tool"
+msgstr "Εργαλείο Χρονικής Μετατόπισης"
 
 #: Menus.cpp:755
-msgid "Multi Tool\tF6"
-msgstr "Πολυεργαλείο\tF6"
+msgid "Multi Tool"
+msgstr "Πολυεργαλείο"
 
 #: Menus.cpp:757
-msgid "Next Tool\tD"
-msgstr "Επόμενο Εργαλείο\tD"
+msgid "Next Tool"
+msgstr "Επόμενο Εργαλείο"
 
 #: Menus.cpp:758
-msgid "Previous Tool\tA"
-msgstr "Προηγούμενο Εργαλείο\tA"
+msgid "Previous Tool"
+msgstr "Προηγούμενο Εργαλείο"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:761
-msgid "Stop\tS"
-msgstr "Διακοπή\tS"
-
-#: Menus.cpp:762
-msgid "Pause\tP"
-msgstr "Παύση\tP"
-
-#: Menus.cpp:763
-msgid "Record\tR"
-msgstr "Ηχογράφηση\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:767
-msgid "Play One Second\t1"
-msgstr "Αναπαραγωγή Ένα Δευτερόλεπτο\t1"
+msgid "Play One Second"
+msgstr "Αναπαραγωγή Ένα Δευτερόλεπτο"
 
 #: Menus.cpp:768
-msgid "Play To Selection\tB"
-msgstr "Αναπαραγωγή στην Επιλογή\tB"
-
-#: Menus.cpp:769
-msgid "Play Looped\tL"
-msgstr "Επαναλαμβανόμενη Αναπαραγωγή\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Αναπαραγωγή στην Επιλογή"
 
 #: Menus.cpp:771
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: Menus.cpp:776
-msgid "Selection to Start\tShift+Home"
-msgstr "Επιλογή στην Αρχή\tShift+Home"
+msgid "Selection to Start"
+msgstr "Επιλογή στην Αρχή"
 
 #: Menus.cpp:777
-msgid "Selection to End\tShift+End"
-msgstr "Επιλογή στο Τέλος\tShift+End"
+msgid "Selection to End"
+msgstr "Επιλογή στο Τέλος"
 
 #: Menus.cpp:779
-msgid "DeleteKey\tBackspace"
-msgstr "ΠλήκτροΔιαγραφής\tBackSpace"
+msgid "DeleteKey"
+msgstr "ΠλήκτροΔιαγραφής"
 
 #: Menus.cpp:784
-msgid "DeleteKey2\tDelete"
-msgstr "ΠλήκτροΔιαγραφής2\tDelete"
+msgid "DeleteKey2"
+msgstr "ΠλήκτροΔιαγραφής2"
 
-#: Menus.cpp:790
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:791
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:792
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:793
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:797
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:798
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:800
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:801
 #, fuzzy
-msgid "Toggle Focused Track\tReturn"
+msgid "Toggle Focused Track"
 msgstr "Εναλλαγή &κατάστασης αναμονής (1 κομμάτι)\n"
 "Εναλλαγή &κατάστασης αναμονής (%n κομμάτια)"
 
-#: Menus.cpp:802
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
-
 #: Menus.cpp:805
-msgid "Cursor Left\tLeft"
-msgstr "Δρομέας Αριστερά\tΑριστερά"
+msgid "Cursor Left"
+msgstr "Δρομέας Αριστερά"
 
 #: Menus.cpp:806
-msgid "Cursor Right\tRight"
-msgstr "Δρομέας Δεξιά\tΔεξιά"
+msgid "Cursor Right"
+msgstr "Δρομέας Δεξιά"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: Menus.cpp:807
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Επιλογή Επέκτασης Αριστερά\tShift+Αριστερό"
+msgid "Selection Extend Left"
+msgstr "Επιλογή Επέκτασης Αριστερά"
 
 #: Menus.cpp:808
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Επιλογή Επέκτασης Δεξιά\tShift+Δεξί"
+msgid "Selection Extend Right"
+msgstr "Επιλογή Επέκτασης Δεξιά"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2383,51 +2248,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: Menus.cpp:810
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Επιλογή Σύμβασης Αριστερά\tCtrl+Shift+Δεξί"
+msgid "Selection Contract Left"
+msgstr "Επιλογή Σύμβασης Αριστερά"
 
 #: Menus.cpp:811
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Επιλογή Σύμβασης Δεξιά\tCtrl+Shift+Αριστερό"
+msgid "Selection Contract Right"
+msgstr "Επιλογή Σύμβασης Δεξιά"
 
 #: Menus.cpp:813
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:814
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:815
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:816
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:817
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:818
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:819
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:820
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:824
@@ -2439,7 +2304,35 @@ msgid "Snap To Off"
 msgstr "Απενεργοποιημένη Έλξη Στο"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2500,8 +2393,8 @@ msgstr "Πρέπει να επιλέξεις ένα κανάλι πρώτα."
 
 #: Menus.cpp:1922
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Επανάληψη %s\t Ctrl+R"
+msgid "Repeat %s"
+msgstr "Επανάληψη %s"
 
 #: Menus.cpp:2053
 msgid "There are no label tracks to export."
@@ -2532,9 +2425,7 @@ msgstr "Τίποτα για Αναίρεση"
 msgid "Nothing to redo"
 msgstr "Τίποτα για Επαναφορά"
 
-#: Menus.cpp:2253
-#: TrackPanel.cpp:546
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2253 TrackPanel.cpp:546 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Αποκοπή"
 
@@ -2550,10 +2441,7 @@ msgstr "Διαχωρισμός Αποκοπή"
 msgid "Split-cut to the clipboard"
 msgstr "Διαχωρισμός Αποκοπή και Αντιγραφή στο πρόχειρο"
 
-#: Menus.cpp:2356
-#: Menus.cpp:2427
-#: Menus.cpp:2521
-#: TrackPanel.cpp:548
+#: Menus.cpp:2356 Menus.cpp:2427 Menus.cpp:2521 TrackPanel.cpp:548
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Επικόλληση"
@@ -2562,8 +2450,7 @@ msgstr "Επικόλληση"
 msgid "Pasted text from the clipboard"
 msgstr "Επικολλημένο κείμενο από το πρόχειρο"
 
-#: Menus.cpp:2427
-#: Menus.cpp:2521
+#: Menus.cpp:2427 Menus.cpp:2521
 msgid "Pasted from the clipboard"
 msgstr "Επικόλληση από το Πρόχειρο"
 
@@ -2575,8 +2462,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Δεν είναι δυνατή η αντιγραφή από στέρεο σε μονό κανάλι."
 
-#: Menus.cpp:2557
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2557 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Περικοπή"
 
@@ -2616,8 +2502,7 @@ msgstr "Σύνδεση"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Κανάλια που έχει εφαρμοστεί σιγή για %.2f δευτ. σε %.2f"
 
-#: Menus.cpp:2658
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2658 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Σιγή"
 
@@ -2708,8 +2593,7 @@ msgstr "Τονισμένες ετι&κέτες"
 msgid "Disjoined labeled regions"
 msgstr "Γεμίζει περιοχές στην εικόνα"
 
-#: Menus.cpp:2834
-#: TrackPanel.cpp:5670
+#: Menus.cpp:2834 TrackPanel.cpp:5670
 msgid "Split"
 msgstr "Διαίρεση"
 
@@ -2725,15 +2609,6 @@ msgstr "Διαχωρισμός σε νέο κανάλι"
 msgid "Split at labels"
 msgstr "Διαίρεση στις ετικέτες"
 
-#: Menus.cpp:3311
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Για να γίνει ανάλυση συχνότητας, όλα τα επιλεγμένα κανάλια πρέπει να έχουν τον ίδιο ρυθμό δειγματοληψίας."
-
-#: Menus.cpp:3337
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Υπερβάλλον audio έχει επιλεγεί.  Μόνο τα πρώτα  %.1f δευτ. του audio θα αναλυθούν."
-
 #: Menus.cpp:3463
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2800,9 +2675,7 @@ msgstr ""
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr ""
 
-#: Menus.cpp:558
-#: Menus.cpp:3611
-#: Mix.cpp:120
+#: Menus.cpp:558 Menus.cpp:3611 Mix.cpp:120
 #, fuzzy
 msgid "&Mix and Render"
 msgstr "&Μίξη και"
@@ -2855,10 +2728,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Δημιουργία νέου audio καναλιού"
 
-#: Menus.cpp:3815
-#: Menus.cpp:3838
-#: Menus.cpp:3853
-#: Menus.cpp:3873
+#: Menus.cpp:3815 Menus.cpp:3838 Menus.cpp:3853 Menus.cpp:3873
 msgid "New Track"
 msgstr "Νέο Κανάλι"
 
@@ -2895,8 +2765,7 @@ msgstr "Αποθήκευση τελευταίου αρχείου wave ως"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr ""
 
-#: Menus.cpp:3988
-#: export/Export.cpp:509
+#: Menus.cpp:3988 export/Export.cpp:509
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Λυπάμαι, δεν υποστηρίζονται ονόματα διαδρομής με περισσότερους από 256 χαρακτήρες."
 
@@ -2904,8 +2773,7 @@ msgstr "Λυπάμαι, δεν υποστηρίζονται ονόματα δι
 msgid "Problem encountered exporting presets."
 msgstr ""
 
-#: Menus.cpp:4035
-#: export/Export.cpp:402
+#: Menus.cpp:4035 export/Export.cpp:402
 msgid "Unable to export"
 msgstr "Αδύνατη η εξαγωγή"
 
@@ -2917,9 +2785,7 @@ msgstr "Απομάκρυνση Καναλιών"
 msgid "Removed audio track(s)"
 msgstr "Απομακρυσμένα audio κανάλια"
 
-#: Menus.cpp:4326
-#: Menus.cpp:4345
-#: export/ExportMP3.cpp:1871
+#: Menus.cpp:4326 Menus.cpp:4345 export/ExportMP3.cpp:1871
 msgid "Resample"
 msgstr ""
 
@@ -2945,8 +2811,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr "Ιδιότητες κομματιού ήχου"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Μίξη"
 
@@ -2968,6 +2833,10 @@ msgstr "Παρουσιάστηκε κάποιο πρόβλημα κατά την
 msgid "Print"
 msgstr "Εκτύπωση"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:635
 msgid "Main Mix"
 msgstr "Κύρια Μείξη"
@@ -2981,14 +2850,11 @@ msgstr "Καλώς ήλθατε στην έκδοση %s του Audacity"
 msgid "(Recovered)"
 msgstr "(Ανακτημένο)"
 
-#: Project.cpp:1435
-#: TrackPanel.cpp:772
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:763
 msgid "Record"
 msgstr "Ηχογράφηση"
 
-#: Project.cpp:1435
-#: TrackPanel.cpp:772
+#: Project.cpp:1435 TrackPanel.cpp:772
 msgid "Recorded Audio"
 msgstr "Ηχογραφημένο Audio"
 
@@ -3009,9 +2875,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Αποθήκευση των αλλαγών;"
 
-#: Project.cpp:1647
-msgid "All files|*.*|All supported files|"
-msgstr "Όλα τα αρχεία|*.*|Όλα τα υποστηριζόμενα αρχεία|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1672
 msgid "Select one or more audio files..."
@@ -3040,8 +2906,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "Άνοιγμα παλιού αρχείου εργασίας"
 
-#: Project.cpp:1764
-#: Project.cpp:1772
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1764 Project.cpp:1772
 msgid "Error opening file"
 msgstr "Σφάλμα κατά το άνοιγμα του αρχείου"
 
@@ -3076,8 +2952,7 @@ msgstr "Ανάκτηση"
 msgid "Project checker repaired file"
 msgstr "Ο ελεγκτής εργασίας επιδιόρθωσε το αρχείο"
 
-#: Project.cpp:1930
-#: effects/Repair.h:29
+#: Project.cpp:1930 effects/Repair.h:29
 msgid "Repair"
 msgstr "Επισκευή"
 
@@ -3099,10 +2974,12 @@ msgstr "Αυτό το αρχείο αποθηκεύτηκε χρησιμοποι
 msgid "Can't open project file"
 msgstr "Αδύνατο το άνοιγμα του αρχείου εργασίας."
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3122,17 +2999,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2318
-#: Project.cpp:2332
+#: Project.cpp:2318 Project.cpp:2332
 msgid "Error saving project"
 msgstr "Σφάλμα στην αποθήκευση της εργασίας"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2394
 #, c-format
 msgid "Saved %s"
@@ -3143,16 +3025,12 @@ msgstr "Αποθηκευμένο %s"
 msgid "Imported '%s'"
 msgstr "Εισαγόμενα '%s'"
 
-#: Menus.cpp:3528
-#: Project.cpp:2477
-#: Project.cpp:2502
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3528 Project.cpp:2477 Project.cpp:2502 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Εισαγωγή"
 
-#: Project.cpp:2529
-#: Project.cpp:2532
+#: Project.cpp:2529 Project.cpp:2532
 msgid "Error importing"
 msgstr "Σφάλμα στην εισαγωγή"
 
@@ -3196,8 +3074,7 @@ msgstr "Δημιουργία νέας εργασίας"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Διαγραμμένο %.2f δευτ. σε t=%.2f"
 
-#: Project.cpp:2746
-#: effects/Equalization.cpp:1239
+#: Project.cpp:2746 effects/Equalization.cpp:1239
 #: effects/Equalization.cpp:2494
 msgid "Delete"
 msgstr "Διαγραφή"
@@ -3278,8 +3155,7 @@ msgstr "Libsamplerate από τον Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate σφάλμα: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Επαναδειγματοληψία απενεργοποιημένη."
 
@@ -3298,6 +3174,164 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Επιλογή..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Εργαλεία"
+
+#: toolbars/ControlToolBar.cpp:82
+#, fuzzy
+msgid "Control"
+msgstr "Control"
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "Μείκτης"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Μετρητής"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "Συσκευή"
+
+#: toolbars/TranscriptionToolBar.cpp:82
+msgid "Transcription"
+msgstr "Εργαλεία διασκευής"
+
+#: TrackPanel.cpp:448 TrackPanel.cpp:449
+msgid "Track Panel"
+msgstr "Πίνακας Ελέγχου Καναλιού"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "Κανάλια"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Αποθηκεύτηκε"
@@ -3306,14 +3340,15 @@ msgstr "Αποθηκεύτηκε"
 msgid "Error trying to save file: "
 msgstr "Σφάλμα κατά την αποθήκευση του αρχείου:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "Ανιχνεύθηκε κενό στο αρχείο εργασίας\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:255
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:255
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "&Προεπισκόπηση"
@@ -3357,8 +3392,7 @@ msgstr "Τίτλος"
 msgid "Track Number"
 msgstr "Αριθμός καναλιού"
 
-#: Tags.cpp:625
-#: Tags.cpp:2105
+#: Tags.cpp:625 Tags.cpp:2105
 msgid "Year"
 msgstr "Έτος"
 
@@ -3366,9 +3400,7 @@ msgstr "Έτος"
 msgid "Genre"
 msgstr "Είδος"
 
-#: Tags.cpp:627
-#: Tags.cpp:2115
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:627 Tags.cpp:2115 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Σχόλια"
 
@@ -3385,9 +3417,7 @@ msgstr "Όνομα Καναλιού"
 msgid "Tag Value"
 msgstr ""
 
-#: Tags.cpp:785
-#: Tags.cpp:1443
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:785 Tags.cpp:1443 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Καθαρισμός"
 
@@ -3404,23 +3434,15 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:801
-#: Tags.cpp:1427
-#: Tags.cpp:1955
+#: Tags.cpp:801 Tags.cpp:1427 Tags.cpp:1955
 msgid "Template"
 msgstr "Πρότυπο"
 
-#: Tags.cpp:805
-#: Tags.cpp:1431
-#: Tags.cpp:1959
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:805 Tags.cpp:1431 Tags.cpp:1959 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Φόρτωση..."
 
-#: Tags.cpp:806
-#: Tags.cpp:1432
-#: Tags.cpp:1960
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:806 Tags.cpp:1432 Tags.cpp:1960 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "Απο&θήκευση..."
 
@@ -3429,49 +3451,30 @@ msgstr "Απο&θήκευση..."
 msgid "S&et Default"
 msgstr "Ο&ρισμός  προκαθορισμένου"
 
-#: Tags.cpp:958
-#: Tags.cpp:1597
-#: Tags.cpp:2326
+#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
 #, fuzzy
 msgid "Edit Genres"
 msgstr "Επεξεργασία εργασίας"
 
-#: Tags.cpp:991
-#: Tags.cpp:1003
-#: Tags.cpp:1019
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1647
-#: Tags.cpp:1663
-#: Tags.cpp:1676
-#: Tags.cpp:2369
-#: Tags.cpp:2381
-#: Tags.cpp:2397
-#: Tags.cpp:2410
+#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
+#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
+#: Tags.cpp:2397 Tags.cpp:2410
 #, fuzzy
 msgid "Reset Genres"
 msgstr "Επαναφορά Γραμμών Εργαλείων"
 
-#: Tags.cpp:991
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1676
-#: Tags.cpp:2369
+#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
 #: Tags.cpp:2410
 #, fuzzy
 msgid "Unable to save genre file."
 msgstr "Αδύνατο το άνοιγμα/δημιουργία δοκιμαστικού αρχείου"
 
-#: Tags.cpp:1002
-#: Tags.cpp:1646
-#: Tags.cpp:2380
+#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
 #, fuzzy
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Είσαι σίγουρος ότι θέλεις να αποθηκεύσεις το αρχείο ως \""
 
-#: Tags.cpp:1019
-#: Tags.cpp:1663
-#: Tags.cpp:2397
+#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
 #, fuzzy
 msgid "Unable to open genre file."
 msgstr "Αδύνατο το άνοιγμα/δημιουργία δοκιμαστικού αρχείου"
@@ -3480,21 +3483,19 @@ msgstr "Αδύνατο το άνοιγμα/δημιουργία δοκιμαστ
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1079
-#: Tags.cpp:1730
-#: Tags.cpp:2453
+#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
 msgid "Error loading metadata"
 msgstr "Σφάλμα κατά τη φόρτωση των μεταδεδομένων"
 
-#: Tags.cpp:1054
-#: Tags.cpp:1108
-#: Tags.cpp:1709
-#: Tags.cpp:1745
-#: Tags.cpp:2432
+#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
 #: Tags.cpp:2468
 msgid "Save Metadata As:"
 msgstr "Αποθήκευση Μεταδεδομένων Ως:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:634
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3525,8 +3526,7 @@ msgid "Audacity could not find file:\n"
 "Theme not loaded."
 msgstr ""
 
-#: Theme.cpp:803
-#: Theme.cpp:892
+#: Theme.cpp:803 Theme.cpp:892
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3545,8 +3545,7 @@ msgid "None of the expected theme component files\n"
 "  %s."
 msgstr ""
 
-#: Theme.cpp:938
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:938 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3575,6 +3574,14 @@ msgstr "Διάρκεια"
 msgid "Audacity Timer Record"
 msgstr "Προγραμματισμένη Εγγραφή του Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3614,40 +3621,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:448
-#: TrackPanel.cpp:449
-msgid "Track Panel"
-msgstr "Πίνακας Ελέγχου Καναλιού"
-
-#: TrackPanel.cpp:492
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:492 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Άλλο..."
 
-#: TrackPanel.cpp:500
-#: TrackPanel.cpp:521
-#: TrackPanel.cpp:530
-#: TrackPanel.cpp:538
+#: TrackPanel.cpp:500 TrackPanel.cpp:521 TrackPanel.cpp:530 TrackPanel.cpp:538
 msgid "Name..."
 msgstr "Όνομα..."
 
-#: TrackPanel.cpp:502
-#: TrackPanel.cpp:523
-#: TrackPanel.cpp:534
-#: TrackPanel.cpp:540
+#: TrackPanel.cpp:502 TrackPanel.cpp:523 TrackPanel.cpp:534 TrackPanel.cpp:540
 msgid "Move Track Up"
 msgstr "Μετακίνηση Καναλιού Πάνω"
 
-#: TrackPanel.cpp:503
-#: TrackPanel.cpp:524
-#: TrackPanel.cpp:535
-#: TrackPanel.cpp:541
+#: TrackPanel.cpp:503 TrackPanel.cpp:524 TrackPanel.cpp:535 TrackPanel.cpp:541
 msgid "Move Track Down"
 msgstr "Μετακίνηση Καναλιού Κάτω"
 
-#: TrackPanel.cpp:505
-#: effects/ToneGen.cpp:295
+#: TrackPanel.cpp:505 effects/ToneGen.cpp:295
 msgid "Waveform"
 msgstr "Κυματομορφή"
 
@@ -3663,18 +3653,15 @@ msgstr ""
 msgid "Pitch (EAC)"
 msgstr "Τόνος (EAC)"
 
-#: TrackPanel.cpp:510
-#: TrackPanel.cpp:5640
+#: TrackPanel.cpp:510 TrackPanel.cpp:5640
 msgid "Mono"
 msgstr "Μονό"
 
-#: TrackPanel.cpp:511
-#: TrackPanel.cpp:5639
+#: TrackPanel.cpp:511 TrackPanel.cpp:5639
 msgid "Left Channel"
 msgstr "Αριστερό Κανάλι"
 
-#: TrackPanel.cpp:512
-#: TrackPanel.cpp:5639
+#: TrackPanel.cpp:512 TrackPanel.cpp:5639
 msgid "Right Channel"
 msgstr "Δεξί Κανάλι"
 
@@ -3686,12 +3673,15 @@ msgstr "Δημιουργία Στέρεο Καναλιού"
 msgid "Split Stereo Track"
 msgstr "Διαίρεση Στέρεο Καναλιού"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:516
 msgid "Set Sample Format"
 msgstr "Ορισμός Μορφής Δείγματος"
 
-#: TrackPanel.cpp:518
-#: TrackPanel.cpp:5857
+#: TrackPanel.cpp:518 TrackPanel.cpp:5857
 msgid "Set Rate"
 msgstr "Ορισμός Ρυθμού Δειγματοληψίας"
 
@@ -3711,8 +3701,7 @@ msgstr "Γραμματοσειρά..."
 msgid "Set Range..."
 msgstr "Ορισμός Περιοχής..."
 
-#: TrackPanel.cpp:547
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:547 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Αντιγραφή"
 
@@ -3759,21 +3748,13 @@ msgstr "Κάνε κλικ και σύρε για να μετακινήσεις 
 msgid "Click and drag to move right selection boundary."
 msgstr "Κάνε κλικ και σύρε για να μετακινήσεις το δεξί όριο της επιλογής."
 
-#: TrackPanel.cpp:1669
-#: TrackPanel.cpp:3777
-#: TrackPanel.cpp:3809
-#: TrackPanel.cpp:4064
-#: TrackPanel.cpp:5969
-#: TrackPanel.cpp:5989
+#: TrackPanel.cpp:1669 TrackPanel.cpp:3777 TrackPanel.cpp:3809
+#: TrackPanel.cpp:4064 TrackPanel.cpp:5969 TrackPanel.cpp:5989
 msgid "Modified Label"
 msgstr "Τροποποιημένη Ετικέτα"
 
-#: TrackPanel.cpp:1670
-#: TrackPanel.cpp:3778
-#: TrackPanel.cpp:3810
-#: TrackPanel.cpp:4065
-#: TrackPanel.cpp:5970
-#: TrackPanel.cpp:5990
+#: TrackPanel.cpp:1670 TrackPanel.cpp:3778 TrackPanel.cpp:3810
+#: TrackPanel.cpp:4065 TrackPanel.cpp:5970 TrackPanel.cpp:5990
 msgid "Label Edit"
 msgstr "Επεξεργασία Ετικέτας"
 
@@ -3781,8 +3762,7 @@ msgstr "Επεξεργασία Ετικέτας"
 msgid "Adjusted envelope."
 msgstr "Προσαρμοσμένη πορεία έντασης."
 
-#: TrackPanel.cpp:1898
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1898 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Πορεία Έντασης"
 
@@ -3804,9 +3784,7 @@ msgstr "δεξιά"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr ""
 
-#: TrackPanel.cpp:2044
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2044 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Χρονική-Μετατόπιση"
@@ -3846,39 +3824,29 @@ msgstr "Μετακινημένος ολισθητής pan"
 
 #  i18n-hint: Title of the Gain slider, used to adjust the volume
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3269
-#: TrackPanel.cpp:5306
-#: TrackPanel.cpp:6638
+#: TrackPanel.cpp:3269 TrackPanel.cpp:5306 TrackPanel.cpp:6638
 msgid "Gain"
 msgstr "Κέρδος"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3269
-#: TrackPanel.cpp:5244
-#: TrackPanel.cpp:6645
+#: TrackPanel.cpp:3269 TrackPanel.cpp:5244 TrackPanel.cpp:6645
 msgid "Pan"
 msgstr "Pan"
 
-#: TrackPanel.cpp:3394
-#: TrackPanel.cpp:5922
-#: effects/ChangePitch.cpp:282
+#: TrackPanel.cpp:3394 TrackPanel.cpp:5922 effects/ChangePitch.cpp:282
 msgid "up"
 msgstr "επάνω"
 
-#: TrackPanel.cpp:3398
-#: TrackPanel.cpp:5923
-#: effects/ChangePitch.cpp:282
+#: TrackPanel.cpp:3398 TrackPanel.cpp:5923 effects/ChangePitch.cpp:282
 msgid "down"
 msgstr "κάτω"
 
-#: TrackPanel.cpp:3405
-#: TrackPanel.cpp:5918
+#: TrackPanel.cpp:3405 TrackPanel.cpp:5918
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Μετακινημένο '%s' %s"
 
-#: TrackPanel.cpp:3408
-#: TrackPanel.cpp:5924
+#: TrackPanel.cpp:3408 TrackPanel.cpp:5924
 msgid "Move Track"
 msgstr "Μετακίνηση Καναλιού"
 
@@ -3915,14 +3883,6 @@ msgstr "Αυλός του Πανός"
 msgid "Adjusted gain"
 msgstr "&Επαναποστολή..."
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5467
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3943,8 +3903,7 @@ msgstr "Αριστερό, "
 msgid "Right, "
 msgstr "Δεξί, "
 
-#: TrackPanel.cpp:5649
-#: TrackPanel.cpp:5762
+#: TrackPanel.cpp:5649 TrackPanel.cpp:5762
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Αλλαγμένο '%s' σε %s"
@@ -3958,6 +3917,11 @@ msgstr "Κανάλι"
 msgid "Split stereo track '%s'"
 msgstr "Διαίρεση στέρεο καναλιού '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5688
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3984,8 +3948,7 @@ msgstr "Αλλαγή Μορφής"
 msgid "Change lower speed limit (%) to:"
 msgstr "Αλλαγή ορίου χαμηλότερης ταχύτητας (%) σε:"
 
-#: TrackPanel.cpp:5887
-#: TrackPanel.cpp:5888
+#: TrackPanel.cpp:5887 TrackPanel.cpp:5888
 msgid "Lower speed limit"
 msgstr "Κάτω όριο ταχύτητας"
 
@@ -3993,8 +3956,7 @@ msgstr "Κάτω όριο ταχύτητας"
 msgid "Change upper speed limit (%) to:"
 msgstr "Αλλαγή ορίου υψηλότερης ταχύτητας (%) σε:"
 
-#: TrackPanel.cpp:5894
-#: TrackPanel.cpp:5895
+#: TrackPanel.cpp:5894 TrackPanel.cpp:5895
 msgid "Upper speed limit"
 msgstr "Άνω όριο ταχύτητας"
 
@@ -4037,6 +3999,10 @@ msgstr "Όνομα Καναλιού"
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6565
 msgid "Mute"
 msgstr "Σιγή"
@@ -4070,10 +4036,7 @@ msgstr "Σόλο Ενεργοποιημένο"
 msgid " Select On"
 msgstr "Επιλογή Ενεργοποιημένη"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr ""
 
@@ -4101,8 +4064,7 @@ msgstr ""
 msgid "Audio Track"
 msgstr "Κανάλι Audio"
 
-#: WaveTrack.cpp:541
-#: WaveTrack.cpp:560
+#: WaveTrack.cpp:541 WaveTrack.cpp:560
 msgid "There is not enough room available to paste the selection"
 msgstr ""
 
@@ -4120,8 +4082,9 @@ msgstr "Ενθέματα (Plugins) 1 έως %i"
 msgid "Plugins %i to %i"
 msgstr "Ενθέματα (Plugins) %i σε %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4202,9 +4165,7 @@ msgstr "Ενίσχυση"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr ""
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:451
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
 #: effects/AutoDuck.cpp:568
 #, fuzzy
 msgid "Auto Duck"
@@ -4227,17 +4188,11 @@ msgstr "Ποσότητα χρήσης εσοχών:"
 msgid "Maximum pause:"
 msgstr "Μέγιστη παύση:"
 
-#: effects/AutoDuck.cpp:492
-#: effects/AutoDuck.cpp:497
-#: effects/AutoDuck.cpp:502
-#: effects/AutoDuck.cpp:507
-#: effects/AutoDuck.cpp:512
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:197
+#: effects/AutoDuck.cpp:492 effects/AutoDuck.cpp:497 effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:507 effects/AutoDuck.cpp:512
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:197
 msgid "seconds"
 msgstr "δευτερόλεπτα"
 
@@ -4257,8 +4212,7 @@ msgstr ""
 msgid "Inner fade up length:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:519
-#: effects/Compressor.cpp:479
+#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
 msgid "Threshold:"
 msgstr "Κατώφλι:"
 
@@ -4280,12 +4234,9 @@ msgstr "Αυτόματος συγχρονισμός"
 msgid "Processing Auto Duck..."
 msgstr "Χρό&νος αυτόματης αποθήκευσης:"
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:439
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1037
-#: widgets/ErrorDialog.cpp:70
-#: widgets/ErrorDialog.cpp:96
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:439
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1037
+#: widgets/ErrorDialog.cpp:70 widgets/ErrorDialog.cpp:96
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "Εντάξει"
@@ -4351,14 +4302,12 @@ msgstr "Αλλαγή Τόνου"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Αλλαγή Τόνου χωρίς την αλλαγή Ρυθμού"
 
-#: effects/ChangePitch.cpp:252
-#: effects/ChangeSpeed.cpp:304
+#: effects/ChangePitch.cpp:252 effects/ChangeSpeed.cpp:304
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "από τους Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:257
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:257 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "χρήση του SoundTouch, από τον Olli Parviainen"
 
@@ -4407,10 +4356,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:289
-#: effects/ChangePitch.cpp:335
-#: effects/ChangeSpeed.cpp:368
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:289 effects/ChangePitch.cpp:335
+#: effects/ChangeSpeed.cpp:368 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "σε"
@@ -4419,8 +4366,7 @@ msgstr "σε"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:358
-#: effects/ChangeSpeed.cpp:322
+#: effects/ChangePitch.cpp:358 effects/ChangeSpeed.cpp:322
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Ποσοστιαία Αλλαγή:"
@@ -4438,8 +4384,7 @@ msgstr "Αλλαγή Τόνου..."
 msgid "Changing Pitch"
 msgstr "Αλλαγή Τόνου"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Εφαρμοσμένο εφέ: %s %.1f%%"
@@ -4594,12 +4539,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
-msgstr "Κανονικοποίηση στα  0dB μετά τη συμπίεση"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Κατώφλι: %d dB"
@@ -4630,7 +4574,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Χρόνος Attack: %.1f δευτ."
@@ -4653,6 +4596,10 @@ msgstr "Συμπιεστής..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Εφαρμογή Συμπίεση Δυναμικής Περιοχής ..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4672,19 +4619,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4693,15 +4627,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:330
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:330 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Εκκίνηση"
 
-#: effects/ToneGen.cpp:331
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:141
-#: toolbars/SelectionBar.cpp:242
+#: effects/ToneGen.cpp:331 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:141 toolbars/SelectionBar.cpp:242
 msgid "End"
 msgstr "Τέλος"
 
@@ -4721,6 +4652,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4745,8 +4681,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:796
-#: Tags.cpp:1948
+#: Tags.cpp:796 Tags.cpp:1948
 #, fuzzy
 msgid "Reset"
 msgstr "Επανάληψη"
@@ -4767,17 +4702,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-#, fuzzy
-msgid "Control"
-msgstr "Control"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4888,18 +4814,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr "Δημιουργία DTMF Τόνων"
@@ -4912,8 +4826,7 @@ msgstr ""
 msgid "DTMF sequence:"
 msgstr "Συγχνότητα DTMF:"
 
-#: effects/ToneGen.cpp:298
-#: effects/ToneGen.cpp:334
+#: effects/ToneGen.cpp:298 effects/ToneGen.cpp:334
 msgid "Amplitude (0-1)"
 msgstr "Πλάτος σήματος (0-1)"
 
@@ -4934,9 +4847,7 @@ msgstr "Κύκλος εργασίας"
 msgid "Tone duration:"
 msgstr "Διάρκεια τόνου:"
 
-#: effects/DtmfGen.cpp:436
-#: effects/DtmfGen.cpp:438
-#: effects/DtmfGen.cpp:512
+#: effects/DtmfGen.cpp:436 effects/DtmfGen.cpp:438 effects/DtmfGen.cpp:512
 #: effects/DtmfGen.cpp:513
 msgid "ms"
 msgstr "ms"
@@ -5018,8 +4929,7 @@ msgstr "Συνημίτονο"
 msgid "Cubic"
 msgstr "Κυβικό"
 
-#: effects/Equalization.cpp:352
-#: effects/Equalization.cpp:403
+#: effects/Equalization.cpp:352 effects/Equalization.cpp:403
 msgid "Equalization"
 msgstr "Ισοστάθμιση"
 
@@ -5032,6 +4942,10 @@ msgstr "Σφάλμα κατά τη φόρτωση της καμπύλης Ισο
 msgid "custom"
 msgstr "Προσαρμοσμένη"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:1064
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Ισοστάθμιση από τους Martyn Shaw && Mitch Golden"
@@ -5068,8 +4982,7 @@ msgstr "Διάρκεια φίλτρου:"
 msgid "Select curve:"
 msgstr "Επιλογή καμπύλης:"
 
-#: effects/Equalization.cpp:1236
-#: effects/Equalization.cpp:2399
+#: effects/Equalization.cpp:1236 effects/Equalization.cpp:2399
 msgid "Save As..."
 msgstr "Αποθήκευση Ως..."
 
@@ -5189,8 +5102,7 @@ msgstr "Το πιο βαρύ"
 msgid "by Lynn Allan"
 msgstr ""
 
-#: effects/Leveller.cpp:219
-#: effects/Leveller.cpp:224
+#: effects/Leveller.cpp:219 effects/Leveller.cpp:224
 #, fuzzy
 msgid "Degree of Leveling"
 msgstr "Ο βαθμός μεγέθυνσης"
@@ -5241,10 +5153,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "Μείκτης"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5485,10 +5393,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5546,8 +5450,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Συχνότητα LFO (Hz):"
 
@@ -5555,8 +5458,7 @@ msgstr "Συχνότητα LFO (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO Αρχή Φάσης (deg.):"
 
@@ -5617,8 +5519,7 @@ msgstr "Επαναλαμβανόμενο %d φορές"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Τα κανάλια είναι πολύ μεγάλα για να επαναληφθεί η επιλογή."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Επανάληψη"
 
@@ -5631,8 +5532,7 @@ msgstr "Αριθμός επαναλήψεων: "
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:190
-#: effects/Repeat.cpp:220
+#: effects/Repeat.cpp:190 effects/Repeat.cpp:220
 msgid "New selection length: "
 msgstr "Νέο μήκος επιλογής: "
 
@@ -5849,27 +5749,42 @@ msgstr "Δημιουργία Τόνου"
 msgid "All tracks must have the same sample rate"
 msgstr "Όλα τα  κανάλια πρέπει να έχουν τον ίδιο ρυθμό δειγματοληψίας"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:310
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:310
 #, fuzzy
 msgid "Truncate Silence"
 msgstr "Προσθήκη σιωπής"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:193
+#: prefs/AudioIOPrefs.cpp:190 prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "χιλιοδευτερόλεπτα"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:338
 msgid "Threshold for silence:"
 msgstr "Κατώφλι για τη σιγή:"
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: effects/TruncSilence.h:28
@@ -5882,17 +5797,55 @@ msgstr "Προσθήκη σιωπής"
 msgid "Truncating Silence..."
 msgstr "Προσθήκη σιωπής"
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Λυπάμαι, τα VST Εφέ δεν μπορούν να λειτουργήσουν σε στέρεο κανάλια, όπου τα εσωτερικά κανάλια δεν ταιριάζουν."
+#: effects/ladspa/LadspaEffect.cpp:607
+msgid "Effect Settings"
+msgstr "Ρυθμίσεις των Εφέ"
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Αδύνατη η επεξεργασία της αντικατάστασης"
+#: effects/ladspa/LadspaEffect.cpp:572 effects/ladspa/LadspaEffect.cpp:580
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Κανένα"
 
-#: effects/VST/VSTEffect.cpp:394
-msgid "VST Plug-in parameters:"
-msgstr "Παράμετροι VST Ενθεμάτων(Plug-in):"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5941,20 +5894,10 @@ msgstr "Εκτέλεση Εφέ: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Λυπάμαι, τα Επιπρόσθετα Εφέ (Plug-in) δεν μπορούν να λειτουργήσουν σε στέρεο κανάλια, όπου τα εσωτερικά κανάλια (δεξί-αριστερό) δεν ταιριάζουν."
 
-#: effects/ladspa/LadspaEffect.cpp:572
-#: effects/ladspa/LadspaEffect.cpp:580
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Κανένα"
-
 #: effects/ladspa/LadspaEffect.cpp:574
 msgid "Author: "
 msgstr "Δημιουργός: "
 
-#: effects/ladspa/LadspaEffect.cpp:607
-msgid "Effect Settings"
-msgstr "Ρυθμίσεις των Εφέ"
-
 #: effects/ladspa/LadspaEffect.cpp:698
 msgid "Length (seconds)"
 msgstr "Διάρκεια (δευτ.)"
@@ -5975,8 +5918,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Εφαρμογή Εφέ Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Nyquist Prompt..."
 
@@ -5996,8 +5938,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Έξοδος Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:593
-#: effects/nyquist/Nyquist.cpp:604
+#: effects/nyquist/Nyquist.cpp:593 effects/nyquist/Nyquist.cpp:604
 msgid "Nyquist returned the value:"
 msgstr "Το Nyquist επέστρεψε την τιμή:"
 
@@ -6105,8 +6046,7 @@ msgstr "-Δεξιά"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:961
-#: export/Export.cpp:1006
+#: export/Export.cpp:961 export/Export.cpp:1006
 #, fuzzy, c-format
 msgid "Output Channels: %2d"
 msgstr "Επιτρέπονται δισδιάστατοι ελκυστές"
@@ -6138,8 +6078,7 @@ msgstr ""
 msgid "(external program)"
 msgstr "(εξωτερικό πρόγραμμα)"
 
-#: export/ExportCL.cpp:248
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:248 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Αδύνατη η εξαγωγή audio στο  %s"
@@ -6157,9 +6096,21 @@ msgstr "Εξαγωγή ολόκληρης της εργασίας χρησιμο
 msgid "Command Output"
 msgstr "Έξοδος εντολής"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6227,6 +6178,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Ποιότητα:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6360,12 +6315,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Ποιότητα:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6384,10 +6335,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6576,12 +6527,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6692,6 +6643,17 @@ msgstr "Βάθος Βit:"
 msgid "FLAC Files"
 msgstr "Αρχεία FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:296
 msgid "Exporting the selected audio as FLAC"
 msgstr "Εξαγωγή του επιλεγμένου audio ως  FLAC"
@@ -6716,9 +6678,7 @@ msgstr "Αρχεία MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Αδύνατη η εξαγωγή με μορφή MP2 με αυτό το ρυθμό δειγματοληψίας και ρυθμό bit"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1713
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1713 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "Αδύνατο το άνοιγμα του αρχείου προορισμού για εγγραφή"
 
@@ -6733,24 +6693,12 @@ msgid "Exporting entire file at %d kbps"
 msgstr "Εξαγωγή ολόκληρου του αρχείου στα %d kbps"
 
 #. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142
-#: export/ExportMP3.cpp:143
-#: export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145
-#: export/ExportMP3.cpp:146
-#: export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148
-#: export/ExportMP3.cpp:149
-#: export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151
-#: export/ExportMP3.cpp:152
-#: export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154
-#: export/ExportMP3.cpp:155
-#: export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157
-#: export/ExportMP3.cpp:158
-#: export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
+#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
+#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
+#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
+#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
+#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
 #, fuzzy
 msgid "kbps"
 msgstr "8 kbps"
@@ -6787,8 +6735,7 @@ msgstr ""
 msgid "Specify MP3 Options"
 msgstr "Όρισε τις επιλογές MP3"
 
-#: export/ExportMP3.cpp:264
-#: prefs/FileFormatPrefs.cpp:101
+#: export/ExportMP3.cpp:264 prefs/FileFormatPrefs.cpp:101
 msgid "MP3 Export Setup"
 msgstr "Ρυθμίσεις MP3 Εξαγωγής"
 
@@ -6812,8 +6759,7 @@ msgstr "Μέσος Όρος"
 msgid "Constant"
 msgstr "Σταθερή"
 
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Πιστότητα"
 
@@ -6933,10 +6879,8 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:88
-#: export/ExportMultiple.cpp:362
-#: export/ExportMultiple.cpp:609
-#: export/ExportMultiple.cpp:717
+#: export/ExportMultiple.cpp:88 export/ExportMultiple.cpp:362
+#: export/ExportMultiple.cpp:609 export/ExportMultiple.cpp:717
 msgid "Export Multiple"
 msgstr "Εξαγωγή Πολλαπλών"
 
@@ -6969,11 +6913,6 @@ msgstr "Επιλογές..."
 msgid "Export location:"
 msgstr "Τοποθεσία εξαγωγής:"
 
-#: export/ExportMultiple.cpp:204
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Επιλογή..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr "Δημιουργία"
@@ -6998,10 +6937,6 @@ msgstr "Πρώτο όνομα αρχείου:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "Κανάλια"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr "Ονομασία αρχείων:"
@@ -7035,6 +6970,35 @@ msgstr "το \"%s\" δημιουργήθηκε με επιτυχία."
 msgid "Choose a location to save the exported files"
 msgstr "Επέλεξε μία τοποθεσία για την αποθήκευση των εξαγόμενων αρχείων"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:480
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -7048,18 +7012,6 @@ msgstr "το \"%s\" δεν υπάρχει.\n"
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:606
-#: export/ExportMultiple.cpp:714
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Επιτυχής εξαγωγή %d αρχείων(-ου)."
-
-#: export/ExportMultiple.cpp:607
-#: export/ExportMultiple.cpp:715
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Κάτι πήγε στραβά μετά από την εξαγωγή %d αρχείων(-ου)."
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7138,7 +7090,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Σφάλμα (ίσως δεν έχει γίνει εγγραφή του αρχείου): %s"
@@ -7304,6 +7255,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Αρχεία FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Λίστα Αρχείων σε μορφή basic text"
@@ -7316,9 +7271,7 @@ msgstr "Μη αποδεκτή μετατόπιση window στο αρχείο LO
 
 #  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "LOF Σφάλμα"
@@ -7376,8 +7329,7 @@ msgstr "Μη αποδεκτή Vorbis bitstream κεφαλίδα"
 msgid "Internal logic fault"
 msgstr "Εσωτερικό λογικό σφάλμα"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, και άλλοι μη συμπιεσμένοι τύποι"
 
@@ -7476,36 +7428,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Audio I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Ομαδική"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Μονό)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr "Συμπεριφορές"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Στέρεο)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Αναπαραγωγή"
+#: prefs/BatchPrefs.cpp:85
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "Συσκευή"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "Περιβάλλον Εργασίας"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Χρησιμοποιεί:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Αναπαραγωγή"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7515,103 +7472,15 @@ msgstr "Ηχογράφηση"
 msgid "Channels"
 msgstr "Κανάλια"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-#, fuzzy
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Playthrough &Συσκευής (Αναπαραγωγή του νέου κομματιού καθώς αυτό ηχογραφείται)"
-
-#: prefs/AudioIOPrefs.cpp:152
-#, fuzzy
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Playthrough &Λογισμικού (Αναπαραγωγή του νέου κομματιού καθώς αυτό ηχογραφείται)"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Προεπισκόπηση των Εφέ"
-
-#: prefs/AudioIOPrefs.cpp:165
-#, fuzzy
-msgid "Length of preview:"
-msgstr "Διάρκεια φίλτρου:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Αποκοπή Προεπισκόπηση"
-
-#: prefs/AudioIOPrefs.cpp:173
-#, fuzzy
-msgid "Preview before cut region:"
-msgstr "Αναπαραγωγή πριν την περιοχή αποκοπής:"
-
-#: prefs/AudioIOPrefs.cpp:175
-#, fuzzy
-msgid "Preview after cut region:"
-msgstr "Αναπαραγωγή μετά την περιοχή αποκοπής:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Καθυστέρηση"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:200
-#, fuzzy
-msgid "Short period:"
-msgstr "Χρόνος αφύπνισης:"
-
-#: prefs/AudioIOPrefs.cpp:202
-#, fuzzy
-msgid "Long period:"
-msgstr "Χρόνος αφύπνισης:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Ομαδική"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "Συμπεριφορές"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Μονό)"
 
-#: prefs/BatchPrefs.cpp:85
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Στέρεο)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Φάκελοι"
@@ -7628,34 +7497,31 @@ msgstr "Τοποθεσία:"
 msgid "Free Space:"
 msgstr "Ελεύθερος Χώρος:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Αυτόματη αποθήκευση"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Αυτόματη αποθήκευση ενός αντίγραφου της εργασίας σε ξεχωριστό φάκελο"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "λεπτά"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Μικροαποθήκευση (cache) Audio"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Επέλεξε την τοποθεσία του προσωρινού φακέλου"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7674,228 +7540,144 @@ msgstr "Ο φάκελος %s δεν είναι εγγράψιμος"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Οι αλλαγές στο προσωρινό φάκελο δεν θα εφαρμοστούν μέχρι να γίνει επανεκκίνηση του Audacity"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "MP3 Library Version:"
-msgstr "Έκδοση MP3 Βιβλιοθήκης:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
-msgstr "Όταν αποθηκεύεται μία εργασία που εξαρτάται από άλλα αρχεία audio"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "&Ask user"
-msgstr "&Ερώτηση χρήστη"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:33
-#: prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "Περιβάλλον Εργασίας"
+#: prefs/GUIPrefs.cpp:110
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (ρηχό εύρος για υψηλού πλάτους επεξεργασία)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: prefs/GUIPrefs.cpp:111
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM εύρος για 8 bit δειγματοληψία)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: prefs/GUIPrefs.cpp:112
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM εύρος για 16 bit δειγματοληψία)"
 
-#: prefs/GUIPrefs.cpp:72
-#, fuzzy
-msgid "&Update display while playing"
-msgstr "Α&νανέωση του Φασματογραφήματος κατά τη διάρκεια της αναπαραγωγής"
+#: prefs/GUIPrefs.cpp:113
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (όριο ανθρώπινης ακοής κατά προσέγγιση)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: prefs/GUIPrefs.cpp:114
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM εύρος για 24 bit δειγματοληψία)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "Εμφάνιση"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:86
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:89
-#: prefs/GUIPrefs.cpp:90
-msgid "Show / Hide"
-msgstr "Εμφάνιση / Απόκρυψη"
-
-#: prefs/GUIPrefs.cpp:92
-#, fuzzy
-msgid "Enable cut &lines"
-msgstr "Ενεργοποίηση γραμμών πλέγματος"
-
-#: prefs/GUIPrefs.cpp:94
-msgid "Show warnings about &temp files"
-msgstr "Προβολή προειδοποίησης για &προσωρινά αρχεία"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:110
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (ρηχό εύρος για υψηλού πλάτους επεξεργασία)"
-
-#: prefs/GUIPrefs.cpp:111
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM εύρος για 8 bit δειγματοληψία)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:112
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM εύρος για 16 bit δειγματοληψία)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:113
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (όριο ανθρώπινης ακοής κατά προσέγγιση)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:114
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM εύρος για 24 bit δειγματοληψία)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Πληκτρολόγιο"
 
@@ -7919,22 +7701,26 @@ msgstr "&Ορισμός"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Σημείωση: Πληκτρολογώντας Cmd+Q θα κλείσει. Όλα τα άλλα πλήκτρα είναι έγκυρα."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:103
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:103
 msgid "&Defaults"
 msgstr "&Προκαθορισμένα"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Συνδυασμός Πλήκτρων"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Εξαγωγή συντομεύσεων πληκτρολογίου ως:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Αναίρεση"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Σφάλμα στην αποθήκευση των συντομεύσεων του πληκτρολογίου"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7944,6 +7730,14 @@ msgstr "Επέλεξε ένα αρχείο XML που να περιέχει  Aud
 msgid "Error loading keyboard shortcuts"
 msgstr "Σφάλμα στο φόρτωμα των συντομεύσεων του πληκτρολογίου"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Εξαγωγή συντομεύσεων πληκτρολογίου ως:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Σφάλμα στην αποθήκευση των συντομεύσεων του πληκτρολογίου"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7953,10 +7747,61 @@ msgstr "Η συντόμευση πληκτρολογίου '%s'  έχει ήδη
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Αναίρεση"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:104
+msgid "MP3 Library Version:"
+msgstr "Έκδοση MP3 Βιβλιοθήκης:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Audio I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7970,6 +7815,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Αποκοπή Προεπισκόπηση"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7978,6 +7827,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Καθυστέρηση"
+
 #: prefs/AudioIOPrefs.cpp:189
 #, fuzzy
 msgid "Audio to buffer:"
@@ -7991,12 +7844,25 @@ msgstr "Διόρθωση καθυστέρησης:"
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+#, fuzzy
+msgid "Short period:"
+msgstr "Χρόνος αφύπνισης:"
+
+#: prefs/AudioIOPrefs.cpp:202
+#, fuzzy
+msgid "Long period:"
+msgstr "Χρόνος αφύπνισης:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Προεπισκόπηση των Εφέ"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Ποντίκι"
 
@@ -8017,37 +7883,26 @@ msgstr "Command Action"
 msgid "Buttons"
 msgstr "Πλήκτρα"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Αριστερό-Κλικ"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Επιλογή"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Ορισμός Σημείου Επιλογής"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Αριστερό-Σύρσιμο"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Ορισμός Περιοχής Επιλογής "
 
@@ -8078,12 +7933,8 @@ msgstr "Alt-Αριστερό-Κλικ"
 msgid "Set Selection Point and Play"
 msgstr "Ορισμός Σημείου Επιλογής"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Προβολή"
 
@@ -8091,9 +7942,7 @@ msgstr "Προβολή"
 msgid "Zoom in on Point"
 msgstr "Μεγέθυνση σε Σημείο"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Μεγέθυνση σε Περιοχή"
 
@@ -8102,18 +7951,15 @@ msgstr "Μεγέθυνση σε Περιοχή"
 msgid "same as right-drag"
 msgstr "Όμοια με τα ονόματα κλάσης"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Δεξί-Κλικ"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Σμίκρυνση ένα βήμα"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Δεξί-Σύρσιμο"
 
@@ -8153,8 +7999,7 @@ msgstr "Shift-Αριστερό-Σύρσιμο"
 msgid "Time shift all clips in track"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-Αριστερό-Σύρσιμο"
 
@@ -8170,9 +8015,7 @@ msgstr "Αλλαγή Πορείας Έντασης"
 msgid "Change Sample"
 msgstr "Αλλαγή Δείγματος"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Μολύβι"
@@ -8193,26 +8036,20 @@ msgstr "Αλλαγή Πολλών Δειγμάτων"
 msgid "Change ONE Sample only"
 msgstr "Αλλαγή ΕΝΟΣ μόνο δείγματος"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Πολλαπλός"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "όμοια με το εργαλείο επιλογής"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "όμοια με το εργαλείο εστίασης"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Οποιοδήποτε"
 
@@ -8241,10 +8078,65 @@ msgstr "Ctrl-Περιστροφή Τροχού"
 msgid "Zoom in or out"
 msgstr "Μεγέθυνση ή Σμίκρυνση"
 
+#: prefs/AudioIOPrefs.cpp:165
+#, fuzzy
+msgid "Length of preview:"
+msgstr "Διάρκεια φίλτρου:"
+
+#: prefs/AudioIOPrefs.cpp:173
+#, fuzzy
+msgid "Preview before cut region:"
+msgstr "Αναπαραγωγή πριν την περιοχή αποκοπής:"
+
+#: prefs/AudioIOPrefs.cpp:175
+#, fuzzy
+msgid "Preview after cut region:"
+msgstr "Αναπαραγωγή μετά την περιοχή αποκοπής:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Προτιμήσεις του Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr "Όταν αποθηκεύεται μία εργασία που εξαρτάται από άλλα αρχεία audio"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "&Ask user"
+msgstr "&Ερώτηση χρήστη"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Αυτόματη αποθήκευση"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Αυτόματη αποθήκευση ενός αντίγραφου της εργασίας σε ξεχωριστό φάκελο"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "λεπτά"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Ορθογώνιο"
@@ -8269,46 +8161,47 @@ msgstr "Προεπιλεγμένος Ρυθμός Δειγματοληψίας:"
 msgid "Default Sample Format:"
 msgstr "Προεπιλεγμένη Μορφή Δείγματος:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Μετατροπέας ρυθμού δειγματοληψίας πραγματικού χρόνου:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Υψηλής πιστότητας μετατροπέας ρυθμού δειγματοληψίας:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Dither πραγματικού χρόνου:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Υψηλής Πιστότητας dither:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Μετατροπή"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Μετατροπέας Ρυθμού Δειγματοληψίας"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Αμφιταλάντευση"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Πραγματικός χρόνος:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:150
+#, fuzzy
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Playthrough &Συσκευής (Αναπαραγωγή του νέου κομματιού καθώς αυτό ηχογραφείται)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Υψηλή ποιότητα:"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Έξυπνη Ηχογράφηση"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8318,23 +8211,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:36
-#: prefs/SpectrumPrefs.cpp:37
+#: prefs/SpectrumPrefs.cpp:36 prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "Φασματογραφήματα"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "FFT Μέγεθος"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "8 - ευρύτερο φάσμα"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "256 - προεπιλογή"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -8343,21 +8271,26 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - το πιο μικρό φάσμα"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Τύπος παραθύρου:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "Εμφάνιση"
-
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "Διαβαθμίεις του &Γκρι"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -8367,16 +8300,16 @@ msgstr "Ελάχιστη Συχνότητα (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Μέγιστη Συχνότητα (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8387,6 +8320,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "Η μέγιστη συχνότητα πρέπει να είναι ακέραιος αριθμός"
@@ -8403,19 +8344,57 @@ msgstr "Η ελάχιστη συχνότητα πρέπει να είναι ακ
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Η ελάχιστη συχνότητα θα πρέπει να είναι τουλάχιστον 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Θέμα"
 
+#: prefs/ThemePrefs.cpp:124
+msgid "Info"
+msgstr "Πληροφορίες"
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:91
 #, fuzzy
 msgid "Theme Cache - Images && Color"
@@ -8447,81 +8426,98 @@ msgstr "Αποθήκευση  Αρχείων"
 msgid "Load Files"
 msgstr "Φόρτωμα Αρχείων"
 
-#: prefs/ThemePrefs.cpp:124
-msgid "Info"
-msgstr "Πληροφορίες"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:127
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+#, fuzzy
+msgid "&Update display while playing"
+msgstr "Α&νανέωση του Φασματογραφήματος κατά τη διάρκεια της αναπαραγωγής"
+
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:132
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:137
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:140
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:92
+#, fuzzy
+msgid "Enable cut &lines"
+msgstr "Ενεργοποίηση γραμμών πλέγματος"
+
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Παύση"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Αναπαραγωγή"
+#: prefs/GUIPrefs.cpp:86
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Διακοπή"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Μετάβαση στην Αρχή"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Μετάβαση στο Τέλος"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:762
+msgid "Pause"
+msgstr "Παύση"
+
+#: Menus.cpp:761
+msgid "Stop"
+msgstr "Διακοπή"
+
 #: toolbars/ControlToolBar.cpp:194
 #, fuzzy
 msgid "Clean Speech"
 msgstr "Ομιλία GSM"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:831
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:831
 msgid "Error while opening sound device. "
 msgstr "Σφάλμα κατά το άνοιγμα της συσκευής ήχου"
 
@@ -8533,13 +8529,11 @@ msgstr ""
 msgid "Recording not permitted"
 msgstr "Η εγγραφή δεν επιτρέπεται"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Συσκευή Εξόδου"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Συσκευή Εισόδου"
 
@@ -8563,29 +8557,21 @@ msgstr "Μεγέθυνση"
 msgid "Zoom Out"
 msgstr "Σμίκρυνση"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Εναλλαγή Προβολής"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Τέριασμα Επιλογής"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Προσαρμογή επιλογής στο παράθυρο"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Τέριασμα Εργασίας"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Προσαρμογή εργασίας στο παράθυρο"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Μετρητής"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Τέριασμα Επιλογής"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Τέριασμα Εργασίας"
 
 #: toolbars/MeterToolBar.cpp:80
 #, fuzzy
@@ -8637,24 +8623,28 @@ msgstr "Φίλτρο εισόδου"
 msgid "Input Source"
 msgstr "Πηγή Εισόδου"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Επιλογή"
 
-#: toolbars/SelectionBar.cpp:120
-#: toolbars/SelectionBar.cpp:177
+#: toolbars/SelectionBar.cpp:120 toolbars/SelectionBar.cpp:177
 msgid "Project Rate (Hz):"
 msgstr "Ρυθμός Δειγματοληψίας Εργασίας (Hz):"
 
-#: toolbars/SelectionBar.cpp:134
-#: toolbars/SelectionBar.cpp:235
+#: toolbars/SelectionBar.cpp:134 toolbars/SelectionBar.cpp:235
 msgid "Selection Start:"
 msgstr "Αρχή Επιλογής:"
 
-#: effects/ToneGen.cpp:299
-#: effects/ToneGen.cpp:340
-#: toolbars/SelectionBar.cpp:147
-#: toolbars/SelectionBar.cpp:241
+#: effects/ToneGen.cpp:299 effects/ToneGen.cpp:340
+#: toolbars/SelectionBar.cpp:147 toolbars/SelectionBar.cpp:241
 msgid "Length"
 msgstr "Διάρκεια"
 
@@ -8662,8 +8652,7 @@ msgstr "Διάρκεια"
 msgid "hidden"
 msgstr "κρυμμένο"
 
-#: toolbars/SelectionBar.cpp:167
-#: toolbars/SelectionBar.cpp:252
+#: toolbars/SelectionBar.cpp:167 toolbars/SelectionBar.cpp:252
 msgid "Audio Position:"
 msgstr "Θέση του Audio:"
 
@@ -8688,8 +8677,7 @@ msgstr "Τέλος Επιλογής"
 msgid "Audacity %s ToolBar"
 msgstr "Γραμμή Εργαλείων %s του Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr ""
 
@@ -8721,34 +8709,6 @@ msgstr "Αριστερό=Μεγέθυνση, Δεξί=Σμίκρυνση, Μεσ
 msgid "Click and drag to move a track in time"
 msgstr "Κάνε κλικ και σύρε για να μετακινήσεις ένα κανάλι στο χρόνο"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Εργαλεία"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Εργαλείο Επιλογής"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Εργαλείο Πορείας Έντασης"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Εργαλείο Χρονικής Μετατόπισης"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Εργαλείο Προβολής"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Εργαλείο Σχεδίασης"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Κατάσταση Πολυεργαλείου"
@@ -8758,24 +8718,11 @@ msgstr "Κατάσταση Πολυεργαλείου"
 msgid "Slide Tool"
 msgstr "Εργαλειο_θήκη"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Πολυεργαλείο"
-
-#: toolbars/TranscriptionToolBar.cpp:82
-msgid "Transcription"
-msgstr "Εργαλεία διασκευής"
-
 #: toolbars/TranscriptionToolBar.cpp:163
 msgid "Play at selected speed"
 msgstr "Αναπαραγωγής στην επιλεγμένη ταχύτητα"
 
-#: toolbars/TranscriptionToolBar.cpp:164
-msgid "Play-at-speed"
-msgstr "Αναπαραγωγή-στην-ταχύτητα"
-
-#: toolbars/TranscriptionToolBar.cpp:170
-#: toolbars/TranscriptionToolBar.cpp:175
+#: toolbars/TranscriptionToolBar.cpp:170 toolbars/TranscriptionToolBar.cpp:175
 msgid "Playback Speed"
 msgstr "Ταχύτητα Αναπαραγωγής"
 
@@ -8783,80 +8730,39 @@ msgstr "Ταχύτητα Αναπαραγωγής"
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:181
-#, fuzzy
-msgid "Left-to-On"
-msgstr "_Επιλογή στη Διαδρομή"
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-#, fuzzy
-msgid "Right-to-Off"
-msgstr "Δεξί ανεμιστηράκι: Κλειστό"
-
 #: toolbars/TranscriptionToolBar.cpp:186
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:187
-#, fuzzy
-msgid "Left-to-Off"
-msgstr "Αριστερό ανεμιστηράκι: Κλειστό"
-
 #: toolbars/TranscriptionToolBar.cpp:189
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:190
-#, fuzzy
-msgid "Right-to-On"
-msgstr "_Επιλογή στη Διαδρομή"
-
 #: toolbars/TranscriptionToolBar.cpp:192
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:193
-msgid "Select-Sound"
-msgstr "Επιλογή-Ήχου"
-
 #: toolbars/TranscriptionToolBar.cpp:195
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:196
-msgid "Select-Silence"
-msgstr "Επιλογή-Σιγής"
-
 #: toolbars/TranscriptionToolBar.cpp:198
 msgid "Automatically make labels from words"
 msgstr "Αυτόματη δημιουργία ετικετών από λέξεις"
 
-#: toolbars/TranscriptionToolBar.cpp:199
-msgid "Make Labels"
-msgstr "Δημιουργία Ετικετών"
-
 #: toolbars/TranscriptionToolBar.cpp:201
 msgid "Add label at selection"
 msgstr "Προσθήκη ετικέτας στην επιλογή"
 
-#: toolbars/TranscriptionToolBar.cpp:202
-msgid "Add Label"
-msgstr "Προσθήκη Ετικέτας"
-
 #: toolbars/TranscriptionToolBar.cpp:204
 #, fuzzy
 msgid "Calibrate voicekey"
 msgstr "Ρύθμιση Ανάλυσης Οθόνης"
 
-#: toolbars/TranscriptionToolBar.cpp:205
-#, fuzzy
-msgid "Calibrate"
-msgstr "Ρύθμιση"
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust Sensitivity"
 msgstr "Προσαρμογή Ευαισθησίας"
@@ -8889,6 +8795,51 @@ msgstr ""
 msgid "Key type"
 msgstr "Τύπος κλειδιού"
 
+#: toolbars/TranscriptionToolBar.cpp:164
+msgid "Play-at-speed"
+msgstr "Αναπαραγωγή-στην-ταχύτητα"
+
+#: toolbars/TranscriptionToolBar.cpp:181
+#, fuzzy
+msgid "Left-to-On"
+msgstr "_Επιλογή στη Διαδρομή"
+
+#: toolbars/TranscriptionToolBar.cpp:184
+#, fuzzy
+msgid "Right-to-Off"
+msgstr "Δεξί ανεμιστηράκι: Κλειστό"
+
+#: toolbars/TranscriptionToolBar.cpp:187
+#, fuzzy
+msgid "Left-to-Off"
+msgstr "Αριστερό ανεμιστηράκι: Κλειστό"
+
+#: toolbars/TranscriptionToolBar.cpp:190
+#, fuzzy
+msgid "Right-to-On"
+msgstr "_Επιλογή στη Διαδρομή"
+
+#: toolbars/TranscriptionToolBar.cpp:193
+msgid "Select-Sound"
+msgstr "Επιλογή-Ήχου"
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Select-Silence"
+msgstr "Επιλογή-Σιγής"
+
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Make Labels"
+msgstr "Δημιουργία Ετικετών"
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Add Label"
+msgstr "Προσθήκη Ετικέτας"
+
+#: toolbars/TranscriptionToolBar.cpp:205
+#, fuzzy
+msgid "Calibrate"
+msgstr "Ρύθμιση"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr "(απενεργοποιημένο)"
@@ -8905,16 +8856,14 @@ msgstr "Κουμπί"
 #  i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:211
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:211
 msgid "L"
 msgstr "L"
 
 #  i18n-hint: One-letter abbreviation for Right, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:213
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:213
 msgid "R"
 msgstr "R"
 
@@ -8930,8 +8879,7 @@ msgstr "Αριστερό"
 msgid "Right"
 msgstr "Δεξί"
 
-#: widgets/ErrorDialog.cpp:69
-#: widgets/ErrorDialog.cpp:93
+#: widgets/ErrorDialog.cpp:69 widgets/ErrorDialog.cpp:93
 msgid "Help"
 msgstr "Βοήθεια"
 
@@ -8965,8 +8913,7 @@ msgstr "Κατέβασμα αρχείων WWW "
 msgid "%d rows, %d columns"
 msgstr "%d γραμμές, %d στήλες"
 
-#: widgets/Grid.cpp:641
-#: widgets/Grid.cpp:768
+#: widgets/Grid.cpp:641 widgets/Grid.cpp:768
 #, c-format
 msgid "Row %d"
 msgstr "Γραμμή %d"
@@ -9042,8 +8989,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1138
-#: widgets/Ruler.cpp:1139
+#: widgets/Ruler.cpp:1138 widgets/Ruler.cpp:1139
 msgid "Vertical Ruler"
 msgstr "Κατακόρυφος Χάρακας"
 
@@ -9201,3 +9147,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "Αδύνατη η φόρτωση του αρχείου: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/es.po b/locale/es.po
index f0459ad..2e1ca19 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -1,14 +1,14 @@
-# translation of es.commited.po to Spanish
+# translation of audacity.po to Spanish
 # Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 #
 # Antonio Paniagua Navarro <antpaniagua en gmail.com>, 2004, 2008.
 # Antonio Paniagua Navarro <antpaniagua at gmail.com>, 2009.
 msgid ""
 msgstr ""
-"Project-Id-Version: es.commited\n"
+"Project-Id-Version: audacity\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-10-18 15:20+0100\n"
-"PO-Revision-Date: 2009-01-21 13:21+0100\n"
+"POT-Creation-Date: 2009-06-30 22:14+0100\n"
+"PO-Revision-Date: 2009-07-03 10:49+0200\n"
 "Last-Translator: Antonio Paniagua Navarro <antpaniagua at gmail.com>\n"
 "Language-Team: Spanish <es at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -17,25 +17,58 @@ msgstr ""
 "X-Generator: KBabel 1.11.4\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
-#: AboutDialog.cpp:143 AudacityApp.cpp:807 Menus.cpp:953
-msgid "&About Audacity..."
-msgstr "Acerca de &Audacity..."
+#: AboutDialog.cpp:143
+msgid "About Audacity..."
+msgstr "Acerca de Audacity..."
 
 #: AboutDialog.cpp:157
 msgid "OK... Audacious!"
 msgstr "Ok... ¡Audaz!"
 
 #: AboutDialog.cpp:175
-msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr "Audacity es un programa libre escrito por un equipo de <a href=\"http://audacity.sourceforge.net/community/developers\">desarrolladores</a> voluntarios de todo el mundo. Queremos expresar nuestro agradecimiento a  <a href=\"http://sourceforge.net\">SourceForge.net</a> por alojar nuestro proyecto. Audacity está diponible para  Windows 98 o superior, Mac OS X, Linux y otros sistemas operativos tipo Unix. Hay versiones antiguas de Audacity disponibles también para Mac OS 9."
+msgid ""
+"Audacity is a free program written by a team of volunteer <a href=\"http://"
+"audacity.sourceforge.net/community/developers\">developers</a> around the "
+"world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge."
+"net</a> for our project hosting. Audacity is available for Windows 98 and "
+"later, Mac OS X, Linux and other Unix-like operating systems. Older versions "
+"of Audacity are available for Mac OS 9."
+msgstr ""
+"Audacity es un programa libre escrito por un equipo de <a href=\"http://"
+"audacity.sourceforge.net/community/developers\">desarrolladores</a> "
+"voluntarios de todo el mundo. Queremos expresar nuestro agradecimiento a  <a "
+"href=\"http://sourceforge.net\">SourceForge.net</a> por alojar nuestro "
+"proyecto. Audacity está diponible para  Windows 98 o superior, Mac OS X, "
+"Linux y otros sistemas operativos tipo Unix. Hay versiones antiguas de "
+"Audacity disponibles también para Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Esta es una versión beta del programa. Puede contener errores y características incompletas. Dependemos de la respuesta de nuestros usuarios: envie informes de errores y peticiones de características nuevas a <b>feedback at audacityteam.org</b>. Para obtener ayuda sobre el uso de  Audacity, visite nuestro <a href=\"http://audacityteam.org/forum/\">foro</a>."
+msgid ""
+"This is a Beta version of the program. It may contain bugs and unfinished "
+"features. We depend on your feedback: please send bug reports and feature "
+"requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> "
+"address. For help using Audacity, please visit our <a href=\"http://"
+"audacityteam.org/forum/\">Forum</a>."
+msgstr ""
+"Esta es una versión beta del programa. Puede contener errores y características "
+"incompletas. Dependemos de la respuesta de nuestros usuarios: envie informes "
+"de errores y peticiones de características nuevas a nuestra "
+"<a href=\"mailto:feedback at audacityteam.org\">dirección de respuesta </a>. "
+"  Para obtener ayuda sobre el uso de  Audacity, visite nuestro <a href=\"http://"
+"audacityteam.org/forum/\">foro</a>."
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Ésta es una versión estable y completa de Audacity. Sin embargo, si encuentra algún error o tiene alguna sugerencia escríbanos a <b>feedback at audacityteam.org</b>. Para obtener ayuda sobre el uso de Audacity, visite nuestro <a href=\"http://audacityteam.org/forum/\">foro</a>."
+msgid ""
+"This is a stable, completed release of the program. However, if you find a "
+"bug or have a suggestion for us, please write to our <a href=\"mailto:"
+"feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, "
+"please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
+"Ésta es una versión estable y completa de Audacity. Sin embargo, "
+" si encuentra algún error o tiene alguna sugerencia escríbanos "
+"a <a href=\"mailto:feedback at audacityteam.org\">  nuestra "
+"dirección de respuesta</a>.  Para obtener ayuda sobre el uso de "
+"Audacity, visite nuestro <a href=\"http://audacityteam.org/forum/\">foro</a>."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -86,127 +119,133 @@ msgid "Special thanks:"
 msgstr "Agradecimientos especiales:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr "<b>Audacity&reg;</b> copyright &copy; 1999-2008 Audacity Team. <br>El nombre <b>Audacity&reg;</b> es una marca registrada de  Dominic Mazzoni."
+msgid ""
+"<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. "
+"<br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic "
+"Mazzoni."
+msgstr ""
+"<b>Audacity&reg;</b> copyright &copy; 1999-2009 Audacity Team. "
+"<br>El nombre <b>Audacity&reg;</b> es una marca registrada de  Dominic "
+"Mazzoni."
 
-#: AboutDialog.cpp:254
+#: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:300 AboutDialog.cpp:313 AboutDialog.cpp:469
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Información de compilación"
 
-#: AboutDialog.cpp:306 effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:310 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Habilitado"
 
-#: AboutDialog.cpp:307
+#: AboutDialog.cpp:311
 msgid "Disabled"
 msgstr "Deshabilitado"
 
-#: AboutDialog.cpp:317
+#: AboutDialog.cpp:321
 msgid "File Format Support"
 msgstr "Soporte de formato de archivo"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:327 AboutDialog.cpp:329
+#: AboutDialog.cpp:331 AboutDialog.cpp:333
 msgid "MP3 Importing"
 msgstr "Importación de MP3"
 
-#: AboutDialog.cpp:336 AboutDialog.cpp:339
+#: AboutDialog.cpp:340 AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
 msgstr "Importación y exportación de Ogg Vorbis"
 
-#: AboutDialog.cpp:343 AboutDialog.cpp:346
+#: AboutDialog.cpp:347 AboutDialog.cpp:350
 msgid "ID3 tag support"
 msgstr "Soporte de etiquetas ID3"
 
-#: AboutDialog.cpp:353 AboutDialog.cpp:356
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr "Importación y exportación de FLAC"
 
-#: AboutDialog.cpp:361 AboutDialog.cpp:364
+#: AboutDialog.cpp:365 AboutDialog.cpp:368
 msgid "MP2 export"
 msgstr "Exportación a MP2"
 
-#: AboutDialog.cpp:369 AboutDialog.cpp:372
+#: AboutDialog.cpp:373 AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr "Importación mediante QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
-#: AboutDialog.cpp:379
+#: AboutDialog.cpp:383
 msgid "Core Libraries"
 msgstr "Bibliotecas principales"
 
-#: AboutDialog.cpp:385 AboutDialog.cpp:388 AboutDialog.cpp:391
-#: AboutDialog.cpp:393
+#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
+#: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr "Conversión de frecuencia de muestreo"
 
-#: AboutDialog.cpp:398 AboutDialog.cpp:401
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Reproducción y grabación de audio"
 
-#: AboutDialog.cpp:414
+#: AboutDialog.cpp:413
 msgid "Features"
 msgstr "Características"
 
-#: AboutDialog.cpp:418 AboutDialog.cpp:421 AboutDialog.cpp:426
-#: AboutDialog.cpp:429 AboutDialog.cpp:434 AboutDialog.cpp:437
-#: AboutDialog.cpp:442 AboutDialog.cpp:445
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Soporte de plug-in"
 
-#: AboutDialog.cpp:450 AboutDialog.cpp:453
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Soporte de mezclador de tarjeta de sonido"
 
-#: AboutDialog.cpp:458 AboutDialog.cpp:461
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Soporte de cambio de tono y ritmo"
 
-#: AboutDialog.cpp:473
+#: AboutDialog.cpp:472
 msgid "Program build date: "
 msgstr "Fecha de compilación del programa: "
 
-#: AboutDialog.cpp:476 AboutDialog.cpp:478
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Tipo de compilación:"
 
-#: AboutDialog.cpp:476
+#: AboutDialog.cpp:475
 msgid "Debug build"
 msgstr "Compilación de depuración"
 
-#: AboutDialog.cpp:478
+#: AboutDialog.cpp:477
 msgid "Release build"
 msgstr "Compilación final"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
-#: AboutDialog.cpp:483
+#: AboutDialog.cpp:482
 msgid "Installation Prefix: "
 msgstr "Prefijo de instalación: "
 
-#: AboutDialog.cpp:487
+#: AboutDialog.cpp:486
 msgid "Settings folder: "
 msgstr "Carpeta de configuración: "
 
-#: AboutDialog.cpp:502
+#: AboutDialog.cpp:501
 msgid "GPL License"
 msgstr "Licencia GPL"
 
-#: AudacityApp.cpp:507 Project.cpp:1844
+#: AudacityApp.cpp:677 Project.cpp:2031
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s ya está abierto en otra ventana."
 
-#: AudacityApp.cpp:509 Project.cpp:1846 Project.cpp:1951 Project.cpp:2095
-#: Project.cpp:2232
+#: AudacityApp.cpp:679 Project.cpp:2033 Project.cpp:2153 Project.cpp:2301
+#: Project.cpp:2433
 msgid "Error opening project"
 msgstr "Error al abrir el proyecto"
 
-#: AudacityApp.cpp:541
+#: AudacityApp.cpp:705
 #, c-format
 msgid ""
 "%s does not exist and could not be opened.\n"
@@ -217,55 +256,76 @@ msgstr ""
 "\n"
 "Ha sido eliminado del historial."
 
-#: AudacityApp.cpp:643
+#: AudacityApp.cpp:812
 msgid "Master Gain Control"
 msgstr "Control maestro de ganancia"
 
-#: AudacityApp.cpp:644
+#: AudacityApp.cpp:813
 msgid "Input Meter"
 msgstr "Medidor de entrada"
 
-#: AudacityApp.cpp:645
+#: AudacityApp.cpp:814
 msgid "Output Meter"
 msgstr "Medidor de salida"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferencias...\tCtrl+,"
+#: AudacityApp.cpp:973 Menus.cpp:199
+msgid "&New"
+msgstr "&Nuevo"
+
+#: AudacityApp.cpp:974 Menus.cpp:203
+msgid "&Open..."
+msgstr "&Abrir..."
+
+#: AudacityApp.cpp:975
+msgid "Open &Recent..."
+msgstr "Abrir &reciente..."
 
-#: AudacityApp.cpp:901 AudacityApp.cpp:978
+#: AudacityApp.cpp:976 Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&Acerca de Audacity..."
+
+#: AudacityApp.cpp:977
+msgid "&Preferences..."
+msgstr "&Preferencias..."
+
+#: AudacityApp.cpp:1068 AudacityApp.cpp:1145
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Usando tamaño de bloque de %ld\n"
 
-#: AudacityApp.cpp:923 AudacityApp.cpp:993
+#: AudacityApp.cpp:1090 AudacityApp.cpp:1160
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Opción de línea de comandos desconocida: %s\n"
 
-#: AudacityApp.cpp:1127
+#: AudacityApp.cpp:1314
 msgid ""
 "Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
 msgstr ""
-"Audacity no puede encontrar un lugar donde almacenar los archivos temporales.\n"
+"Audacity no puede encontrar un lugar donde almacenar los archivos "
+"temporales.\n"
 "Indique una carpeta apropiada en la ventana de preferencias."
 
-#: AudacityApp.cpp:1133
-msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
-msgstr "Audacity se cerrará. Ejecute Audacity de nuevo para usar la nueva carpeta temporal."
+#: AudacityApp.cpp:1320
+msgid ""
+"Audacity is now going to exit. Please launch Audacity again to use the new "
+"temporary directory."
+msgstr ""
+"Audacity se cerrará. Ejecute Audacity de nuevo para usar la nueva carpeta "
+"temporal."
 
-#: AudacityApp.cpp:1165
+#: AudacityApp.cpp:1352
 msgid ""
 "Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
 msgstr ""
-"Ejecutar dos copias de Audacity simultáneamente puede provocar pérdidas de datos o provocar un bloqueo del sistema.\n"
+"Ejecutar dos copias de Audacity simultáneamente puede provocar pérdidas de "
+"datos o provocar un bloqueo del sistema.\n"
 "\n"
 
-#: AudacityApp.cpp:1172
+#: AudacityApp.cpp:1359
 msgid ""
 "Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
@@ -273,49 +333,51 @@ msgstr ""
 "Audacity no ha podido bloquear la carpeta de archivos temporales.\n"
 "Esta carpeta puede estar siendo utilizada por otra copia de Audacity.\n"
 
-#: AudacityApp.cpp:1174
+#: AudacityApp.cpp:1361
 msgid "Do you still want to start Audacity?"
 msgstr "¿Aún desea ejecutar Audacity?"
 
-#: AudacityApp.cpp:1176
+#: AudacityApp.cpp:1363
 msgid "Error locking temporary folder"
 msgstr "Error al bloquear la carpeta temporal"
 
-#: AudacityApp.cpp:1214
+#: AudacityApp.cpp:1401
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr ""
 "El sistema ha detectado que ya se está ejecutando otra copia de Audacity.\n"
 "\n"
 
-#: AudacityApp.cpp:1216
+#: AudacityApp.cpp:1403
 msgid ""
 "Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Utilice la opción Nuevo o Abrir en la copia de Audacity que ya se está ejecutando para abrir múltiples proyectos simultáneamente.\n"
+msgstr ""
+"Utilice la opción Nuevo o Abrir en la copia de Audacity que ya se está "
+"ejecutando para abrir múltiples proyectos simultáneamente.\n"
 
-#: AudacityApp.cpp:1217
+#: AudacityApp.cpp:1404
 msgid "Audacity is already running"
 msgstr "Audacity ya se está ejecutando"
 
-#: AudacityApp.cpp:1234
+#: AudacityApp.cpp:1421
 msgid "Command-line options supported:"
 msgstr "Parámetros de la línea de comandos:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1237
+#: AudacityApp.cpp:1424
 msgid "\t-help (this message)"
 msgstr "\t-help (este mensaje)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1239
+#: AudacityApp.cpp:1426
 msgid "\t-version (display Audacity version)"
 msgstr "\t-version (mostrar la versión de Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1243
+#: AudacityApp.cpp:1430
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (ejecutar diagnósticos internos)"
 
@@ -323,15 +385,19 @@ msgstr "\t-test (ejecutar diagnósticos internos)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1248
+#: AudacityApp.cpp:1435
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn (establecer el tamaño máximo de bloque de disco en bytes)"
 
-#: AudacityApp.cpp:1249
-msgid "In addition, specify the name of an audio file or Audacity project to open it."
-msgstr "Además puede especificar el nombre de un archivo de audio o un proyecto de Audacity para abrirlo."
+#: AudacityApp.cpp:1436
+msgid ""
+"In addition, specify the name of an audio file or Audacity project to open "
+"it."
+msgstr ""
+"Además puede indicar el nombre de un archivo de audio o un proyecto de "
+"Audacity para abrirlo."
 
-#: AudacityApp.cpp:1529
+#: AudacityApp.cpp:1747
 msgid ""
 "Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
@@ -343,15 +409,15 @@ msgstr ""
 "\n"
 "¿Desea asociarlos para que se abran al hacer doble clic sobre ellos?"
 
-#: AudacityApp.cpp:1530
+#: AudacityApp.cpp:1748
 msgid "Audacity Project Files"
 msgstr "Archivos de proyecto de Audacity"
 
-#: AudioIO.cpp:254
+#: AudioIO.cpp:261
 msgid "Could not find any audio devices.\n"
 msgstr "No se ha podido encontrar ningún dispositivo de audio.\n"
 
-#: AudioIO.cpp:255
+#: AudioIO.cpp:262
 msgid ""
 "You will not be able to play or record audio.\n"
 "\n"
@@ -359,27 +425,47 @@ msgstr ""
 "No será posible reproducir o grabar audio. \n"
 "\n"
 
-#: AudioIO.cpp:258
+#: AudioIO.cpp:265 AudioIO.cpp:285
 msgid "Error: "
 msgstr "Error: "
 
-#: AudioIO.cpp:261
+#: AudioIO.cpp:268
 msgid "Error Initializing Audio"
 msgstr "Error al inicializar el audio"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "Problema de latencia"
+#: AudioIO.cpp:281
+msgid "There was an error initializing the midi i/o layer.\n"
+msgstr "Se encontró un error al inicializar la capa de entrada/salida midi.\n"
 
-#: AudioIO.cpp:1375
+#: AudioIO.cpp:282
 msgid ""
-"Latency setting has caused the recorded audio to be hidden before zero.\n"
+"You will not be able to play midi.\n"
+"\n"
+msgstr ""
+"No será posible reproducir sonido midi. \n"
+"\n"
+
+#: AudioIO.cpp:288
+msgid "Error Initializing Midi"
+msgstr "Error al inicializar el audio Midi"
+
+#: AudioIO.cpp:1300
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before "
+"zero.\n"
 "Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to "
+"the right place."
 msgstr ""
-"La configuración de latencia ha provocado que el audio grabado se oculte antes que cero.\n"
+"La configuración de la corrección de latencia ha provocado que el audio grabado se oculte antes "
+"que cero.\n"
 "Audacity lo ha reubicado para que comience en cero.\n"
-"Puede utilizar la herramienta de desplazamiento en el tiempo (<--> o F5) para arrastrar la pista al lugar correcto."
+"Puede utilizar la herramienta de desplazamiento en el tiempo (<--> o F5) para arrastrar "
+"la pista al lugar correcto."
+
+#: AudioIO.cpp:1301
+msgid "Latency problem"
+msgstr "Problema de latencia"
 
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
@@ -390,20 +476,24 @@ msgid ""
 "Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
 msgstr ""
-"Algunos proyectos no se guardaron correctamente la última vez que se ejecutó Audacity.\n"
-"Afortunadamente, los siguientes proyectos se pueden recuperar automáticamente:"
+"Algunos proyectos no se guardaron correctamente la última vez que se ejecutó "
+"Audacity.\n"
+"Afortunadamente, los siguientes proyectos se pueden recuperar "
+"automáticamente:"
 
 #: AutoRecovery.cpp:75
 msgid "Recoverable projects"
 msgstr "Proyectos recuperables"
 
-#: AutoRecovery.cpp:78 Tags.cpp:2041
+#: AutoRecovery.cpp:78
 msgid "Name"
 msgstr "Nombre"
 
 #: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
-msgstr "La recuperación de un proyecto no realizará ningún cambio en los archivos hasta que éste sea guardado."
+msgstr ""
+"La recuperación de un proyecto no realizará ningún cambio en los archivos "
+"hasta que éste sea guardado."
 
 #: AutoRecovery.cpp:88
 msgid "Quit Audacity"
@@ -433,13 +523,13 @@ msgstr "¿Confirmar?"
 msgid "Could not enumerate files in auto save directory"
 msgstr "No se han podido enumerar los archivos de la carpeta de guardado automático"
 
-#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3045 Menus.cpp:3057
-#: Menus.cpp:5174 Project.cpp:2054 Project.cpp:3615 Project.cpp:3694
-#: TrackPanel.cpp:6385 WaveTrack.cpp:598 WaveTrack.cpp:617 WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077 WaveTrack.cpp:2053 effects/Effect.cpp:513
-#: export/ExportMP2.cpp:233 prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:247 toolbars/ControlToolBar.cpp:542
-#: toolbars/ControlToolBar.cpp:871
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3278 Menus.cpp:3290
+#: Menus.cpp:5359 Project.cpp:2260 Project.cpp:3882 Project.cpp:3968
+#: TrackPanel.cpp:6505 WaveTrack.cpp:977 WaveTrack.cpp:996 WaveTrack.cpp:2022
+#: effects/Contrast.cpp:144 effects/Contrast.cpp:154 effects/Effect.cpp:546
+#: export/ExportFFmpeg.cpp:655 export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195 prefs/KeyConfigPrefs.cpp:372
+#: toolbars/ControlToolBar.cpp:581 toolbars/ControlToolBar.cpp:916
 msgid "Error"
 msgstr "Error"
 
@@ -448,8 +538,7 @@ msgstr "Error"
 msgid "Select Command"
 msgstr "Seleccione un comando"
 
-#: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:142
+#: BatchCommandDialog.cpp:82
 msgid "&Command"
 msgstr "&Comando"
 
@@ -457,7 +546,7 @@ msgstr "&Comando"
 msgid "&Edit Parameters"
 msgstr "&Editar parámetros"
 
-#: BatchCommandDialog.cpp:91 BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:91
 msgid "&Parameters"
 msgstr "&Parámetros"
 
@@ -465,24 +554,26 @@ msgstr "&Parámetros"
 msgid "C&hoose command"
 msgstr "Seleccionar &comando"
 
-#: BatchCommands.cpp:477
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr "Efecto Estéreo a Mono no encontrado"
 
-#: BatchCommands.cpp:497
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
-msgstr "El soporte de archivos Ogg Vorbis no está incluido en esta versión de Audacity"
+msgstr ""
+"El soporte de archivos Ogg Vorbis no está incluido en esta versión de "
+"Audacity"
 
-#: BatchCommands.cpp:509
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr "Esta versión de Audacity no incluye soporte para FLAC"
 
-#: BatchCommands.cpp:513
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "El comando %s no ha sido implementado aún"
 
-#: BatchCommands.cpp:529
+#: BatchCommands.cpp:507
 #, c-format
 msgid ""
 "Could not set parameters of effect %s\n"
@@ -491,12 +582,12 @@ msgstr ""
 "No se ha podido establecer los parámetros del efecto %s\n"
 "a %s."
 
-#: BatchCommands.cpp:583
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "El comando de secuencia de %s no fue reconocido."
 
-#: BatchCommands.cpp:674
+#: BatchCommands.cpp:651
 #, c-format
 msgid ""
 "Apply %s with parameter(s)\n"
@@ -507,11 +598,11 @@ msgstr ""
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675 BatchCommands.cpp:680
+#: BatchCommands.cpp:652 BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Modo de prueba"
 
-#: BatchCommands.cpp:679
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "Aplicar %s"
@@ -541,15 +632,13 @@ msgstr "Aplicar al &proyecto actual"
 msgid "Apply to &Files..."
 msgstr "Aplicar a &archivos..."
 
-#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2080
-#: Tags.cpp:2084 Tags.cpp:2384 Tags.cpp:2388 UploadDialog.cpp:180
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:245 UploadDialog.cpp:180
 #: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:453
-#: effects/audiounits/AudioUnitEffect.cpp:887
+#: effects/SpikeCleaner.cpp:188 effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
 msgstr "&Cancelar"
 
-#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:189
 msgid "No chain selected"
 msgstr "No se ha seleccionado ninguna secuencia de comandos"
 
@@ -558,112 +647,130 @@ msgstr "No se ha seleccionado ninguna secuencia de comandos"
 msgid "Applying '%s' to current project"
 msgstr "Aplicando '%s' al proyecto actual"
 
-#: BatchProcessDialog.cpp:200
+#: BatchProcessDialog.cpp:198
 msgid "Please save and close the current project first."
 msgstr "Primero debe guardar y cerrar el proyecto actual."
 
-#: BatchProcessDialog.cpp:206
+#: BatchProcessDialog.cpp:204
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
 msgstr "Seleccionar archivo(s) vocal para la secuencia de limpieza de locución..."
 
-#: BatchProcessDialog.cpp:207
+#: BatchProcessDialog.cpp:205
 msgid "Select file(s) for batch processing..."
 msgstr "Seleccionar archivo(s) para la secuencia..."
 
-#: BatchProcessDialog.cpp:209
-msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr "Archivos vocales (*.wav;*.mp3)|*.wav;*.mp3|Archivos WAV (*.wav)|*.wav|Archivos MP3 (*.mp3)|*.mp3"
+#: BatchProcessDialog.cpp:207
+msgid ""
+"Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*."
+"mp3)|*.mp3"
+msgstr ""
+"Archivos vocales (*.wav;*.mp3)|*.wav;*.mp3|Archivos WAV (*.wav)|*.wav|"
+"Archivos MP3 (*.mp3)|*.mp3"
 
-#: BatchProcessDialog.cpp:210
-msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
-msgstr "Todos los archivos (*.*)|*.*|Archivos WAV (*.wav)|*.wav|Archivos AIFF (*.aif)|*.aif|Archivos AU (*.au)|*.au|Archivos MP3 (*.mp3)|*.mp3|Archivos Ogg Vorbis (*.ogg)|*.ogg|Archivos FLAC (*.flac)|*.flac|"
+#: BatchProcessDialog.cpp:208
+msgid ""
+"All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU "
+"files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|"
+"FLAC files (*.flac)|*.flac"
+msgstr ""
+"Todos los archivos (*.*)|*.*|Archivos WAV (*.wav)|*.wav|Archivos AIFF (*."
+"aif)|*.aif|Archivos AU (*.au)|*.au|Archivos MP3 (*.mp3)|*.mp3|Archivos Ogg "
+"Vorbis (*.ogg)|*.ogg|Archivos FLAC (*.flac)|*.flac|"
 
-#: BatchProcessDialog.cpp:231
+#: BatchProcessDialog.cpp:229
 msgid "Applying..."
 msgstr "Aplicando..."
 
-#: BatchProcessDialog.cpp:241
+#: BatchProcessDialog.cpp:239
 msgid "File"
 msgstr "Archivo"
 
-#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
-#: BatchProcessDialog.cpp:361
+#: BatchProcessDialog.cpp:352 BatchProcessDialog.cpp:356
+#: BatchProcessDialog.cpp:357
 msgid "Edit Chains"
 msgstr "Editar secuencias de comandos"
 
-#: BatchProcessDialog.cpp:416
+#: BatchProcessDialog.cpp:412
 msgid "&Chains"
 msgstr "&Secuencias de comandos"
 
-#: BatchProcessDialog.cpp:435 Tags.cpp:826 Tags.cpp:1465 Tags.cpp:2064
+#: BatchProcessDialog.cpp:431 Tags.cpp:825
 msgid "&Add"
 msgstr "&Añadir"
 
-#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:827 Tags.cpp:1466
-#: Tags.cpp:2065 TrackPanel.cpp:4176
+#: BatchProcessDialog.cpp:432 LabelDialog.cpp:128 Tags.cpp:826
 msgid "&Remove"
 msgstr "&Eliminar"
 
-#: BatchProcessDialog.cpp:437
+#: BatchProcessDialog.cpp:433
 msgid "Re&name"
 msgstr "Re&nombrar"
 
-#: BatchProcessDialog.cpp:443
+#: BatchProcessDialog.cpp:439
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "S&ecuencia de comandos (Doble clic o Espacio para editar)"
 
 #. i18n-hint: This is the number of the command in the list
-#: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "No"
+#: BatchProcessDialog.cpp:449
+msgid "Num"
+msgstr "Num"
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:450 commands/CommandManager.cpp:108
+#: prefs/KeyConfigPrefs.cpp:180
+msgid "Command"
+msgstr "Commando"
+
+#: BatchProcessDialog.cpp:451 effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr "Parámetros"
+
+#: BatchProcessDialog.cpp:455
 msgid "&Insert"
 msgstr "&Insertar"
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:456
 msgid "De&lete"
 msgstr "&Borrar"
 
-#: BatchProcessDialog.cpp:461
+#: BatchProcessDialog.cpp:457
 msgid "Move &Up"
 msgstr "D&esplazar hacia arriba"
 
-#: BatchProcessDialog.cpp:462
+#: BatchProcessDialog.cpp:458
 msgid "Move &Down"
 msgstr "&Desplazar hacia abajo"
 
-#: BatchProcessDialog.cpp:463
+#: BatchProcessDialog.cpp:459
 msgid "De&faults"
 msgstr "&Valores predeterminados"
 
-#: BatchProcessDialog.cpp:507
+#: BatchProcessDialog.cpp:503
 msgid "- END -"
 msgstr "- FIN -"
 
-#: BatchProcessDialog.cpp:540
+#: BatchProcessDialog.cpp:536
 #, c-format
 msgid "%s changed"
 msgstr "%s modificado"
 
-#: BatchProcessDialog.cpp:541
+#: BatchProcessDialog.cpp:537
 msgid "Do you want to save the changes?"
 msgstr "¿Desea guardar los cambios?"
 
-#: BatchProcessDialog.cpp:623
+#: BatchProcessDialog.cpp:619
 msgid "Enter name of new chain"
 msgstr "Introduzca el nombre de la nueva secuencia de comandos"
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:630
 msgid "Name must not be blank"
 msgstr "No se puede dejar el nombre vacío"
 
-#: BatchProcessDialog.cpp:643
+#: BatchProcessDialog.cpp:639
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
 msgstr "Los nombres no pueden contener '%c' y '%c'"
 
-#: BatchProcessDialog.cpp:673
+#: BatchProcessDialog.cpp:669
 #, c-format
 msgid "Are you sure you want to delete %s?"
 msgstr "¿Está seguro de desea borrar %s?"
@@ -676,175 +783,186 @@ msgstr "Eliminando dependencias"
 msgid "Copying audio data into project..."
 msgstr "Copiando audio dentro del proyecto..."
 
-#: Dependencies.cpp:223
+#: Dependencies.cpp:226
 msgid ""
 "Your project currently depends on the presence of other files.\n"
-"Copy audio from the following files into your project to make it self-contained?\n"
+"Copy audio from the following files into your project to make it self-"
+"contained?\n"
 "This will need more disc space but is safer."
 msgstr ""
 "Actualmente el proyecto depende de la presencia de otros archivos.\n"
-"¿Desea copiar el audio de los archivos indicados en el interior del proyecto?\n"
+"¿Desea copiar el audio de los archivos indicados en el interior del "
+"proyecto?\n"
 "Esto requiere más espacio en disco, pero resulta más seguro."
 
-#: Dependencies.cpp:270
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "El proyecto depende de archivos de audio externos"
 
-#: Dependencies.cpp:291
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Dependencias del proyecto"
 
-#: Dependencies.cpp:294
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "Archivo de audio"
 
-#: Dependencies.cpp:296
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Espacio de disco"
 
-#: Dependencies.cpp:301
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Copiar audio seleccionado dentro del proyecto"
 
-#: Dependencies.cpp:308 Dependencies.cpp:414
+#: Dependencies.cpp:311 Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Cancelar guardado"
 
-#: Dependencies.cpp:310
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "No copiar ningún audio"
 
-#: Dependencies.cpp:312
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Copiar todo el audio dentro del proyecto (más seguro)"
 
-#: Dependencies.cpp:321 Dependencies.cpp:326
+#: Dependencies.cpp:324 Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Preguntar"
 
-#: Dependencies.cpp:322
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Copiar siempre todo el audio (el más seguro)"
 
-#: Dependencies.cpp:323
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Nunca copiar los archivos de audio"
 
-#: Dependencies.cpp:325
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Cuando un proyecto dependa de archivos externos:"
 
-#: Dependencies.cpp:413
-msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
+#: Dependencies.cpp:416
+msgid ""
+"If you proceed, your project will not be saved to disk. Is this what you "
+"want?"
 msgstr "El proyecto no será guardado en el disco. ¿Es esto lo que desea hacer?"
 
-#: Dependencies.cpp:453
-msgid "Your project is self-contained; it does not depend on any external audio files."
-msgstr "El proyecto contiene todos los archivos de audio; no depende de archivos externos."
+#: Dependencies.cpp:456
+msgid ""
+"Your project is self-contained; it does not depend on any external audio "
+"files."
+msgstr ""
+"El proyecto contiene todos los archivos de audio; no depende de archivos "
+"externos."
 
-#: Dependencies.cpp:454
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Comprobación de dependencia"
 
-#: DirManager.cpp:137
+#: DirManager.cpp:136
 msgid ""
-"Warning: there is very little free disk space left on this volume.\n"
-"Please select another temporary directory in your preferences."
+"There is very little free disk space left on this volume.\n"
+"Please select another temporary directory in Preferences."
 msgstr ""
-"Advertencia: hay muy poco espacio disponible en este disco.\n"
-"Seleccione otra carpeta temporal en la ventana de preferencias."
+"Hay muy poco espacio disponible en este disco.\n"
+"Seleccione otra carpeta temporal en la ventana Preferencias."
 
-#: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
+#: DirManager.cpp:221 DirManager.cpp:252 DirManager.cpp:335
 msgid "Progress"
 msgstr "Progreso"
 
-#: DirManager.cpp:288
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Eliminando archivos temporales"
 
-#: DirManager.cpp:338
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Guardando archivos de datos del proyecto"
 
-#: DirManager.cpp:410
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Eliminando el contenido de las carpetas de caché"
 
-#: DirManager.cpp:505
+#: DirManager.cpp:503
 #, c-format
 msgid ""
 "Audacity found an orphaned blockfile %s! \n"
-"Please consider saving and reloading the project to perform a complete project check.\n"
+"Please consider saving and reloading the project to perform a complete "
+"project check.\n"
 msgstr ""
 "Audacity encontró un bloque huérfano %s \n"
-"Considere la posibilidad de guardar el proyecto y volverlo a cargar para realizar una comprobación completa del mismo.\n"
+"Considere la posibilidad de guardar el proyecto y volverlo a cargar para "
+"realizar una comprobación completa del mismo.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: DirManager.cpp:1094
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-antiguo%d"
 
-#: DirManager.cpp:1102
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr "No se puede abrir o crear el archivo de prueba"
 
-#: DirManager.cpp:1111
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "No se puede eliminar '%s'"
 
-#: DirManager.cpp:1116
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Archivo renombrado: %s\n"
 
-#: DirManager.cpp:1160
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "No se puede renombrar '%s' a '%s'"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
 msgstr "Bloque %s cambiado al nuevo alias\n"
 
-#: DirManager.cpp:1224 DirManager.cpp:1515
+#: DirManager.cpp:1247 DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Inspeccionando los datos de archivos del proyecto..."
 
-#: DirManager.cpp:1240
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Bloque huérfano: (%s)"
 
-#: DirManager.cpp:1265
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "Archivo de alias perdido: (%s)"
 
-#: DirManager.cpp:1285
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "Archivo de resumen perdido: (%s.auf)"
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "Archivo de datos perdido: (%s.au)"
 
-#: DirManager.cpp:1319
+#: DirManager.cpp:1342
 msgid ""
 "Project check found inconsistencies inspecting the loaded project data;\n"
-"click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
+"click 'Details' for a complete list of errors, or 'OK' to proceed to more "
+"options."
 msgstr ""
 "La comprobación del proyecto encontró inconsistencias al revisar \n"
 "los datos del proyecto. Haga clic en 'Detalles' para obtener una \n"
 "lista completa de errores, o 'Aceptar' para acceder a más opciones."
 
-#: DirManager.cpp:1331
+#: DirManager.cpp:1354
 #, c-format
 msgid ""
 "Project check found %d orphaned blockfile[s]. These files are\n"
@@ -856,25 +974,25 @@ msgstr ""
 "como residuo de algún bloqueo del sistema o algún otro error. \n"
 "Deben ser borrados para que dejen de ocupar espacio innecesariamente."
 
-#: DirManager.cpp:1336
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Borrar archivos huérfanos (seguro y recomendado)"
 
-#: DirManager.cpp:1337
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Continuar sin borrar; evitar discretamente los archivos extra"
 
-#: DirManager.cpp:1338
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Cerrar el proyecto inmediatamente sin guardar cambios"
 
-#: DirManager.cpp:1340 DirManager.cpp:1375 DirManager.cpp:1421
-#: DirManager.cpp:1463 export/Export.cpp:576 export/Export.cpp:597
-#: export/Export.cpp:616 widgets/Warning.cpp:55
+#: DirManager.cpp:1363 DirManager.cpp:1398 DirManager.cpp:1444
+#: DirManager.cpp:1486 export/Export.cpp:581 export/Export.cpp:602
+#: export/Export.cpp:621 widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Advertencia"
 
-#: DirManager.cpp:1366
+#: DirManager.cpp:1389
 #, c-format
 msgid ""
 "Project check detected %d input file[s] being used in place\n"
@@ -891,38 +1009,40 @@ msgstr ""
 "sólo para esta sesión o cerrar el proyecto e intentar recuperar esos\n"
 "archivos a mano."
 
-#: DirManager.cpp:1371
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Reemplaza datos perdidos con silencios (permanente al guardar)"
 
-#: DirManager.cpp:1372 DirManager.cpp:1460
+#: DirManager.cpp:1395 DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Reemplaza temporalmente datos perdidos con silencio (solo esta sesión)"
 
-#: DirManager.cpp:1373 DirManager.cpp:1419 DirManager.cpp:1461
+#: DirManager.cpp:1396 DirManager.cpp:1442 DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Cerrar el proyecto inmediatamente sin más cambios"
 
-#: DirManager.cpp:1412
+#: DirManager.cpp:1435
 #, c-format
 msgid ""
 "Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
 msgstr ""
-"La comprobación del proyecto encontró %d archivo(s) de resumen (.auf) perdidos.\n"
-"Audacity puede regenerar esos resúmenes a partir de los datos originales del \n"
+"La comprobación del proyecto encontró %d archivo(s) de resumen (.auf) "
+"perdidos.\n"
+"Audacity puede regenerar esos resúmenes a partir de los datos originales "
+"del \n"
 "proyecto."
 
-#: DirManager.cpp:1417
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Regenerar archivos de resumen (seguro y recomendado)"
 
-#: DirManager.cpp:1418
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Rellena con silencio los datos perdidos (sólo esta sesión)"
 
-#: DirManager.cpp:1454
+#: DirManager.cpp:1477
 #, c-format
 msgid ""
 "Project check detected %d missing audio data blockfile[s] (.au), \n"
@@ -933,34 +1053,36 @@ msgid ""
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
 msgstr ""
-"La comprobación del proyecto encontró %d bloque(s) de datos de audio (.au), \n"
+"La comprobación del proyecto encontró %d bloque(s) de datos de audio (."
+"au), \n"
 "probablemente por algún error, bloqueo del sistema o un borrado accidental.\n"
 "No hay manera de recuperar esos datos automáticamente; puede optar por \n"
-"rellenar permanentemente esos espacios con silencio, rellenarlo temporalmente\n"
+"rellenar permanentemente esos espacios con silencio, rellenarlo "
+"temporalmente\n"
 "sólo para esta sesión o cerrar el proyecto e intentar recuperar esos\n"
 "datos a mano."
 
-#: DirManager.cpp:1459
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "Reemplaza datos perdidos con silencios (permanente de inmediato)"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr "Eliminando carpetas no utilizadas en los datos del proyecto..."
 
-#: DirManager.cpp:1558
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Almacenando audio"
 
-#: DirManager.cpp:1559
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Almacenando audio en memoria..."
 
-#: DirManager.cpp:1592
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Guardando el audio grabado"
 
-#: DirManager.cpp:1593
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr "Guardando en disco el audio grabado..."
 
@@ -968,230 +1090,294 @@ msgstr "Guardando en disco el audio grabado..."
 msgid "Rectangular"
 msgstr "Rectangular"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
 msgstr "Soporte de FFmpeg no incluido en la compilación"
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid ""
-"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+"FFmpeg was configured in Preferences and successfully loaded "
+"before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
-"FFmpeg fue configurado en las Preferencias y cargado correctamente,                       \n"
-"pero esta vez Audacity no logro cargarlo al iniciar.                       \n"
+"FFmpeg fue configurado en las Preferencias y cargado correctamente "
+",                       \n"
+"pero esta vez Audacity no logró cargarlo al iniciar.                       \n"
 "\n"
-"Acceda a Preferencias > Importar/Exportar para reconfigurarlo."
+"Acceda a Preferencias > Bibliotecas para configurarlo de nuevo."
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
 msgstr "Fallo al iniciar FFmpeg"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
 msgstr "Biblioteca FFmpeg no encontrada"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
 msgstr "Localizar FFmpeg"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr "Audacity necesita el archivo %s para importar y exportar audio mediante FFmpeg."
+msgstr ""
+"Audacity necesita el archivo %s para importar y exportar audio mediante "
+"FFmpeg."
 
-#: FFmpeg.cpp:196 export/ExportMP3.cpp:562
+#: FFmpeg.cpp:434 export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Ubicación de %s:"
 
-#: FFmpeg.cpp:205 export/ExportMP3.cpp:571
+#: FFmpeg.cpp:443 export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Para buscar %s, haga clic aquí -->"
 
-#: FFmpeg.cpp:211 export/ExportMP3.cpp:577
+#: FFmpeg.cpp:449 export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Explorar..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Para obtener una copia gratuita de FFmpeg, haga clic aquí -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451 export/ExportMP3.cpp:579
 msgid "Download"
 msgstr "Descargar"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:235 export/ExportMP3.cpp:601
+#: FFmpeg.cpp:473 export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "¿Dónde está %s?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
 msgstr "No se ha podido encontrar bibliotecas compatibles con FFmpeg"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
 msgstr "FFmpeg no encontrada"
 
-#: FFmpeg.h:101
+#: FFmpeg.h:111
 msgid ""
-"Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
-"Audacity usar las bibiliotecas FFmpeg para importar un archivo de audio,\n"
-"pero no se encontraron.\n"
-"para usar las características de importación de FFmpeg acceda a Preferencias->Importar/Exportar\n"
-"e indique a Audacty dónde encontrar estas bibliotecas."
+"Audacity intentó utilizar FFmpeg para importar un archivo de audio,\n"
+"pero no se encontraron las bibliotecas necesarias.\n"
+"\n"
+"Ppara usar las características de importación de FFmpeg acceda a Preferencias > Bibliotecas\n"
+"para descargar o localizar las bibliotecas FFmpeg."
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
 msgstr "No volver a mostrar este aviso"
 
-#: FFmpeg.h:251
-msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr "Sólo avformat.dll|avformat*.dll|Bibliotecas enlazadas dinámicamente (*.dll)|*.dll| Todos los archivos (*.*)|*"
+#: FFmpeg.h:264
+msgid ""
+"Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
+"All Files (*.*)|*"
+msgstr ""
+"Sólo avformat.dll|avformat*.dll|Bibliotecas enlazadas dinámicamente (*.dll)|"
+"*.dll| Todos los archivos (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Bibliotecas dinámicas (*.dylib)|*.dylib|Todos los archivos (*)|*"
 
-#: FFmpeg.h:266
-msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr "Sólo libavformat.so|libavformat.so*|Bibliotecas enlazadas dinámicamente (*.so*)|*.so*|Todos los archivos (*)|*"
+#: FFmpeg.h:324
+msgid ""
+"Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*."
+"so*|All Files (*)|*"
+msgstr ""
+"Sólo libavformat.so|libavformat.so*|Bibliotecas enlazadas dinámicamente (*."
+"so*)|*.so*|Todos los archivos (*)|*"
 
-#: FreqWindow.cpp:103
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Análisis de frecuencia"
 
-#: FreqWindow.cpp:139 TrackPanel.cpp:556 prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:163 TrackPanel.cpp:611 prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Espectro"
 
-#: FreqWindow.cpp:140
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Autocorrelación estándar"
 
-#: FreqWindow.cpp:141
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Autocorrelación de raíz cúbica"
 
-#: FreqWindow.cpp:142
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Autocorrelación mejorada"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: FreqWindow.cpp:146
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
+#: FreqWindow.cpp:174 FreqWindow.cpp:178
 msgid "Algorithm"
 msgstr "Algoritmo"
 
-#: FreqWindow.cpp:169 FreqWindow.cpp:173 HistoryWindow.cpp:79
+#: FreqWindow.cpp:193 FreqWindow.cpp:197 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Tamaño"
 
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: FreqWindow.cpp:183
+#: FreqWindow.cpp:207
 msgid " window"
 msgstr " (ventana)"
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+#: FreqWindow.cpp:211 FreqWindow.cpp:215
 msgid "Function"
 msgstr "Función"
 
-#: FreqWindow.cpp:196
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "Frecuencia lineal"
 
-#: FreqWindow.cpp:197
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Frecuencia logarítmica"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+#: FreqWindow.cpp:225 FreqWindow.cpp:229
 msgid "Axis"
 msgstr "Eje"
 
-#: FreqWindow.cpp:212 LabelDialog.cpp:130 Menus.cpp:239 Menus.cpp:274
+#: FreqWindow.cpp:236 LabelDialog.cpp:130 Menus.cpp:256
 msgid "&Export..."
 msgstr "&Exportar..."
 
-#: FreqWindow.cpp:213 export/ExportCL.cpp:325 export/ExportMultiple.cpp:347
+#: FreqWindow.cpp:237 effects/Contrast.cpp:395 export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Exportar"
 
-#: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "&Redibujar"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Redibujar"
+
+#: FreqWindow.cpp:244 FreqWindow.cpp:245 widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Cerrar"
 
-#: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
-#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123 effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133 effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408 effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:367 widgets/Meter.cpp:416
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1300
+#: effects/Equalization.cpp:1303
+msgid "Grids"
+msgstr "Cuadrículas"
+
+#: FreqWindow.cpp:314 FreqWindow.cpp:516 effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537 effects/AutoDuck.cpp:806
+#: effects/Compressor.cpp:360 effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1142 effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1152 effects/Equalization.cpp:1218
+#: effects/Equalization.cpp:1434 effects/Equalization.cpp:1445
+#: effects/Normalize.cpp:372 widgets/Meter.cpp:406
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295 FreqWindow.cpp:450 effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195 import/ImportRaw.cpp:399
+#: FreqWindow.cpp:330 FreqWindow.cpp:556 effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1214 import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: FreqWindow.cpp:394
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ""
+"Para dibujar el espectro, todas las pistas seleccionadas deben tener la "
+"misma frecuencia de muestreo."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid ""
+"Too much audio was selected.  Only the first %.1f seconds of audio will be "
+"analyzed."
+msgstr ""
+"Demasiado audio seleccionado.  Sólo los primeros %.1f segundos de audio "
+"serán analizados."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "No hay suficientes datos seleccionados."
 
-#: FreqWindow.cpp:458 effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:564 effects/AutoDuck.cpp:808
 msgid "s"
 msgstr "s"
 
-#: FreqWindow.cpp:787
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Cursor: %d Hz (%s) = %d dB    Pico: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:796
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "Cursor: %.4f s (%d Hz) (%s) = %f,    Pico: %.4f seg (%d Hz) (%s) = %.3f"
 
-#: FreqWindow.cpp:1069
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "espectro.txt"
 
-#: FreqWindow.cpp:1071
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Exportar datos del espectro como:"
 
-#: FreqWindow.cpp:1087 LabelDialog.cpp:603 Menus.cpp:2547 Project.cpp:2604
-#: Project.cpp:3667 prefs/KeyConfigPrefs.cpp:182
+#: FreqWindow.cpp:1216 LabelDialog.cpp:603 Menus.cpp:2663
+#: effects/Contrast.cpp:587 prefs/KeyConfigPrefs.cpp:319
 msgid "Couldn't write to file: "
 msgstr "No se ha podido escribir en el archivo: "
 
-#: FreqWindow.cpp:1092
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Frecuencia (Hz)\tvolumen (dB)"
 
-#: FreqWindow.cpp:1098
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Retraso (segundos)\tFrecuencia (Hz)\tVolumen"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and "
+"re-configure it."
+msgstr ""
+"GStreamer fue configurado en las Preferencias y cargado correctamente,\n"
+"                      pero esta vez Audacity no logro cargarlo al iniciar.\n"
+"                      Acceda a Preferencias > Bibliotecas para configurarlo "
+"de nuevo."
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Fallo al iniciar GStreamer"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "A la [[welcome|página de bienvenida]]"
@@ -1253,56 +1439,387 @@ msgid "Welcome to Audacity "
 msgstr "Bienvenido a Audacity "
 
 #: HelpText.cpp:151
-msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr "Aprenda como:<ul><li>[[play|Reproducir]] un archivo existente.<li> Cómo  [[record|grabar]] su voz, un LP o una cinta. <li>Cómo [[edit|editar]] sonido.<li> Cómo [[save|guardar o abrir un proyecto de Audacity]]. [[export|Exportar]] en formato MP3 u otro archivo de audio o [[burncd|grabar un CD]] </ul><br><br>"
+msgid ""
+"Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|"
+"record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or "
+"open an Audacity project]] <li>[[export|export]] to an MP3 or other audio "
+"file, or [[burncd|burn to a CD]]  </ul></p><p>"
+msgstr ""
+"Aprenda como:<ul><li>[[play|Reproducir]] un archivo existente.<li> Cómo  "
+"[[record|grabar]] su voz, un LP o una cinta. <li>Cómo [[edit|editar]] sonido."
+"<li> Cómo [[save|guardar o abrir un proyecto de Audacity]]. [[export|"
+"Exportar]] en formato MP3 u otro archivo de audio o [[burncd|grabar un CD]] "
+"</ul><br><br>"
 
 #: HelpText.cpp:159
-msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr "Siempre puede volver a estas instrucciones haciendo clic en la opción 'Mensaje de bienvenida' del menú <i>Ayuda</i>. Para consultar una guía más completa de todos los menús y controles de Audacity seleccione la opción 'Índice' del menú <i>Ayuda</i> o <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">  descargando el manual</a> en formato PDF.</p>"
+msgid ""
+"This screen can be viewed at any time by clicking the <i>Help</i> menu, then "
+"<i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus "
+"and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a "
+"href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf"
+"\">full Manual</a> in PDF format.</p>"
+msgstr ""
+"Siempre puede volver a estas instrucciones haciendo clic en la opción "
+"'Mensaje de bienvenida' del menú <i>Ayuda</i>. Para consultar una guía más "
+"completa de todos los menús y controles de Audacity seleccione la opción "
+"'Índice' del menú <i>Ayuda</i> o <a href=\"http://audacity.sourceforge.net/"
+"help/documentation/manual_1.4.pdf\">  descargando el manual</a> en formato "
+"PDF.</p>"
 
 #: HelpText.cpp:172
-msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
-msgstr "<p><b>Abrir archivos de audio:</b> Puede arrastrar archivos existentes dentro de Audacity o usar el comando <i>Archivo &gt; Importar &gt; Audio</i>. <i>Archivo &gt; Abrir</i> hace lo mismo pero abre una nueva ventana. Estos son los principales formatos de Audacity: <b>AIFF, AU, FLAC, M4A</b> (sólo en Mac), <b>MP2/MP3, Ogg Vorbis</b> y <b>WAV</b>. Haga clic [[wma-proprietary|aquí]] si tiene archivos en otro formato. <b>Para importar un CD:</b> extraigalo a WAV o AIFF mediante iTunes, Windows Media Player 11 o similares. Consulte nuestra guía online [[wiki:How to import CDs|Importando CD]]</p><p> <p><b>Reproducción de audio: </b>Pulse el botón verde de reproducción. Pulse el botón de pausa azul para parar momentáneamente y una vez más para continuar. Para detenerlo. Pulse el botón amarillo para detener la reproducción. También puede utilizar la barra espaciadora tanto para reproducir como para parar. Cuando comienza a reproducir después de una parada, ésta continua desde el desde el punto de inicio anterior. Para modificar el punto de inicio utilice los botones <b>|&lt;&lt;</b> y <b>&gt;&gt;|</b> para saltar al punto de inicio y de fin respectivamente. Haga clic en cualquier lugar de la pista para reiniciar desde ese punto.</p><br><br>"
+msgid ""
+"<p><b>Opening audio files:</b> Either drag the files into the current "
+"project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be "
+"opened into a new project window with <i>File &gt; Open</i>. The main "
+"formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), "
+"<b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if "
+"your file is in some other format. <b>To import a CD:</b> extract it to WAV "
+"or AIFF using iTunes, Windows Media Player 11 or similar. See our online "
+"guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:"
+"</b> Press the green Play button to start playback. Press the blue Pause "
+"button once to pause playback, and again to resume. To stop, press the "
+"yellow Stop button. Spacebar can be used to either play or stop. After "
+"stopping, playback resumes from its last starting point. To change the "
+"starting point, click in the track at your desired starting point. The <b>|"
+"&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start "
+"or end of the track respectively. </p><br><br>"
+msgstr ""
+"<p><b>Abrir archivos de audio:</b> Puede arrastrar archivos existentes "
+"dentro de Audacity o usar el comando <i>Archivo &gt; Importar &gt; Audio</"
+"i>. <i>Archivo &gt; Abrir</i> hace lo mismo pero abre una nueva ventana. "
+"Estos son los principales formatos de Audacity: <b>AIFF, AU, FLAC, M4A</b> "
+"(sólo en Mac), <b>MP2/MP3, Ogg Vorbis</b> y <b>WAV</b>. Haga clic [[wma-"
+"proprietary|aquí]] si tiene archivos en otro formato. <b>Para importar un CD:"
+"</b> extraigalo a WAV o AIFF mediante iTunes, Windows Media Player 11 o "
+"similares. Consulte nuestra guía online [[wiki:How to import CDs|Importando "
+"CD]]</p><p> <p><b>Reproducción de audio: </b>Pulse el botón verde de "
+"reproducción. Pulse el botón de pausa azul para parar momentáneamente y una "
+"vez más para continuar. Para detenerlo, pulse el botón amarillo. También puede "
+"utilizar la barra espaciadora tanto para reproducir como para detener. Cuando "
+"comienza a reproducir después de una parada, ésta continua desde el desde "
+"el punto de inicio anterior. Para modificar el punto de inicio utilice los botones "
+" <b>|&lt;&lt;</b> y <b>&gt;&gt;|</b> para saltar al punto de inicio y de fin "
+"respectivamente. Haga clic en cualquier lugar de la pista para reiniciar desde "
+" ese punto.</p><br><br>"
 
 #: HelpText.cpp:194
-msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
-msgstr "<p><b>Para grabar:</b> Indique el dispositivo de grabación y la fuente de entrada, ajuste el nivel de entrada y pulse el botón rojo de Grabar.</b></p> <p> 1) [[inputdevice|Establezca el dispositivo de grabación]] en <i>pestaña de preferencias Audio E/S</i> o en la <i>barra de herramientas de dispositivos</i>. Las preferencias de E/S de audio le permite seleccionar una grabación estéreo si fuese necesario.<br> 2) [[inputsource|Establezca la fuente de entrada]] para ese dispositivo (por ejemplo, micrófono o entrada de línea) en el selector desplegable de la <i>barra de herramientas de mezcla</i>, o (en algunos sistemas) en Dispositivo de grabación en la <i>pestaña de preferencias Audio E/S</i> o en la <i>barra de herramientas de dispositivos</i>.<br> 3) [[inputlevel|Ajuste el nivel de entrada]] mediante el control de la parte derecha de la <i>barra de herramientas de mezcla </i>Corregir el ajuste de nivel es imprescindible para prevenir la aparición de ruidos o distorsiones. </p><p> Más ayuda en la sección \"Grabación\" de nuestra <a href=\"http://audacity.sourceforge.net/help/faq\">FAQ</a>, nuestro tutorial<a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Su primera grabación</a>, en el <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">manual</a> y en nuestro wiki en las páginas [[wiki:Recording_Tips|Consejos de grabación]] y [[wiki:Troubleshooting_Recordings|Resolución de problemas al grabar]]. </p><br><br>"
+msgid ""
+"<p><b>To record:</b> Set the recording device and input source, adjust the "
+"input level, then press the red Record button.</b></p><p> 1) [[inputdevice|"
+"Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or "
+"in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo "
+"recording if required.<br> 2) [[inputsource|Set input source]] for that "
+"device (for example, microphone or line-in) in the dropdown selector of the "
+"<i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the "
+"<i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) "
+"[[inputlevel|Adjust input level]] using the right-hand slider on the "
+"<i>Mixer Toolbar</i>. Correct adjustment of level before recording is "
+"essential to avoid noise or distortion. </p><p> More help at: \"Recording\" "
+"<a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial "
+"<a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-"
+"_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://"
+"www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our "
+"Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:"
+"Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
+msgstr ""
+"<p><b>Para grabar:</b> Indique el dispositivo de grabación y la fuente de "
+"entrada, ajuste el nivel de entrada y pulse el botón rojo de Grabar.</b></p> "
+"<p> 1) [[inputdevice|Establezca el dispositivo de grabación]] en <i>pestaña "
+"de preferencias Audio E/S</i> o en la <i>barra de herramientas de "
+"dispositivos</i>. Las preferencias de E/S de audio le permite seleccionar "
+"una grabación estéreo si fuese necesario.<br> 2) [[inputsource|Establezca la "
+"fuente de entrada]] para ese dispositivo (por ejemplo, micrófono o entrada "
+"de línea) en el selector desplegable de la <i>barra de herramientas de "
+"mezcla</i>, o (en algunos sistemas) en Dispositivo de grabación en la "
+"<i>pestaña de preferencias Audio E/S</i> o en la <i>barra de herramientas de "
+"dispositivos</i>.<br> 3) [[inputlevel|Ajuste el nivel de entrada]] mediante "
+"el control de la parte derecha de la <i>barra de herramientas de mezcla </"
+"i>Corregir el ajuste de nivel es imprescindible para prevenir la aparición "
+"de ruidos o distorsiones. </p><p> Más ayuda en la sección \"Grabación\" de "
+"nuestra <a href=\"http://audacity.sourceforge.net/help/faq\">FAQ</a>, "
+"nuestro tutorial<a href=\"http://www.audacityteam.org/manual/index.php?"
+"title=Tutorial_-_Your_First_Recording\"> Su primera grabación</a>, en el <a "
+"href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page"
+"\">manual</a> y en nuestro wiki en las páginas [[wiki:Recording_Tips|"
+"Consejos de grabación]] y [[wiki:Troubleshooting_Recordings|Resolución de "
+"problemas al grabar]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>El dispositivo de entrada es el dispositivo físico de sonido desde el que se está grabando. Este es elegido en \"Dispositivo de grabación\", en la <i>pestaña Audio E/S de Preferencias</i>. En Windows y en Linux, la opción Preferencias se encuentra en la parte inferior del menú Edición. En Mac, está en el menú <i>Audacity</i> También es posible seleccionar el dispositivo de grabación en la <i>barra de herramientas de dispositivos</i>, que se puede mostrar mediante la opción <i>Ver &gt; Barra de herramientas...</i>. </p><p>De forma predeterminada, Audacity utiliza el dispositivo que está siendo utilizado por el sistema (normalmente será la tarjeta de sonido instalada), así que habitualmente no es necesario cambiar el dispositivo de entrada. En Windows, este dispositivo de entrada actual puede ser seleccionado como \"Mapeador de sonido de Microsoft\". Si está grabando de un USB externo o un dispositivo Firewire como una mesa de mezclas USB, seleccionela explícitamente por su nombre como dispositivo de grabación después de conectarlo.</p><p>Regresar a [[record|Grabación de Audio]]<br></p>"
+msgid ""
+"<p>The input device is the actual physical sound device you are recording "
+"from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of "
+"Preferences</i>, On Windows and Linux, Preferences are at the bottom of the "
+"<i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also "
+"conveniently select Recording Device in the <i>Device Toolbar</i>, which can "
+"be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity "
+"uses the device currently being used by the system, (usually your inbuilt "
+"sound device), so it is often not necessary to change the input device. On "
+"Windows, this current system device can be selected as \"Microsoft Sound "
+"Mapper\". If you are recording from an external USB or Firewire device such "
+"as a USB turntable, select it explicitly by name as recording device after "
+"connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
+"<p>El dispositivo de entrada es el dispositivo físico de sonido desde el que "
+"se está grabando. Este es elegido en \"Dispositivo de grabación\", en la "
+"<i>pestaña Audio E/S de Preferencias</i>. En Windows y en Linux, la opción "
+"Preferencias se encuentra en la parte inferior del menú <i>Edición</i>. En Mac, "
+"está en el menú <i>Audacity</i> También es posible seleccionar el "
+"dispositivo de grabación en la <i>barra de herramientas de dispositivos</i>, "
+"que se puede mostrar mediante la opción <i>Ver &gt; Barra de herramientas..."
+"</i>. </p><p>De forma predeterminada, Audacity utiliza el dispositivo que "
+"está siendo utilizado por el sistema (normalmente será la tarjeta de sonido "
+"instalada), así que habitualmente no es necesario cambiar el dispositivo de "
+"entrada. En Windows, este dispositivo de entrada actual puede ser "
+"seleccionado como \"Mapeador de sonido de Microsoft\". Si está grabando de "
+"un USB externo o un dispositivo Firewire como una mesa de mezclas USB, "
+"seleccionela explícitamente por su nombre como dispositivo de grabación "
+"después de conectarlo.</p><p>Regresar a [[record|Grabación de Audio]]<br></p>"
 
 #: HelpText.cpp:244
-msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>Seleccione el dispositivo de entrada (como micrófono o entrada de línea) para su [inputdevice|dispositivo de grabación]]:<br> - <b>En Windows (excepto Vista)</b> y <b>Linux</b>, en el selector desplegable de la <i>barra de herramientas de mezcla</i>.<br> - <b>En Windows Vista</b> y <b>en Mac</b>, en Dispositivo de grabación en la <i>pestaña Audio E/S de Preferencias</i>, o en la<i>barra de herramientas de dispositivos</i>. La fuente se mostrará como una parte del dispositivo predecesor (por ejemplo, <i>Tarjeta de audio de alta definición:Micrófono</i>). Si es necesario, los usuarios de Mac pueden escoger la fuente de entrada en la configuración de audio MIDI de Apple. <br><i><b>Nota:</b> algunos dispositivos de grabación USB o Firewire no tienen la opción de seleccionar entradas, así que este paso no sería necesario. Si tiene alguna duda, consulte la documentación de su dispositivo. </i></p><p> <b>Consejo:</b> Para <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">grabar el audio que se está escuchando en el ordenador</a>, los usuarios de Windows y Linux pueden escoger \"Mezclador estéreo\", \"salida de onda\", \"Total\" o alguna fuente de entrada similar. </p><p> Volver a  [[record|Grabación de audio]] <br></p>"
+msgid ""
+"<p>Select the input source (such as microphone or line-in) for your "
+"[[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and "
+"<b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</"
+"i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the "
+"<i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source "
+"will be shown as part of the parent device (for example, <i>High Def Audio "
+"Card: Microphone</i>). If necessary, Mac users can choose the input source "
+"at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire "
+"recording devices don't have a choice of inputs, so this step is not "
+"necessary. If in doubt, see the documentation for your device. </i></p><p> "
+"<b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?"
+"s=recording&i=streaming\">record audio playing on the computer</a>, Windows "
+"and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or "
+"comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
+"<p>Seleccione el dispositivo de entrada (como micrófono o entrada de línea) "
+"para su [inputdevice|dispositivo de grabación]]:<br> - <b>En Windows "
+"(excepto Vista)</b> y <b>Linux</b>, en el selector desplegable de la "
+"<i>barra de herramientas de mezcla</i>.<br> - <b>En Windows Vista</b> y "
+"<b>en Mac</b>, en Dispositivo de grabación en la <i>pestaña Audio E/S de "
+"Preferencias</i>, o en la<i>barra de herramientas de dispositivos</i>. La "
+"fuente se mostrará como una parte del dispositivo predecesor (por ejemplo, "
+"<i>Tarjeta de audio de alta definición:Micrófono</i>). Si es necesario, los "
+"usuarios de Mac pueden escoger la fuente de entrada en la configuración de "
+"audio MIDI de Apple. <br><i><b>Nota:</b> algunos dispositivos de grabación "
+"USB o Firewire no tienen la opción de seleccionar entradas, así que este "
+"paso no sería necesario. Si tiene alguna duda, consulte la documentación de "
+"su dispositivo. </i></p><p> <b>Consejo:</b> Para <a href=\"http://audacity."
+"sourceforge.net/help/faq?s=recording&i=streaming\">grabar el audio que se "
+"está escuchando en el ordenador</a>, los usuarios de Windows y Linux pueden "
+"escoger \"Mezclador estéreo\", \"salida de onda\", \"Total\" o alguna fuente "
+"de entrada similar. </p><p> Volver a  [[record|Grabación de audio]] <br></p>"
 
 #: HelpText.cpp:267
-msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>El nivel de entrada debe establecerse correctamente. Si el nivel de entrada es demasiado bajo, se producirán ruidos de fondo. Si éste es demasiado alto, habrá distorsión en las partes más altas. </p><p>Para establecer el nivel, consulte la  [[wiki:Recording_levels|guía ilustrada online]] o siga estos pasos: <ol><li>Active <b>monitorización</b>. Haga doble clic en el medidor de la derecha de la barra de herramientas de medición (o haga clic con el botón derecho y seleccione \"Comenzar monitorización\". Si los medidores no están visibles haga clic en \"Ver&gt;Barras de herramientas</i> y active \"Barra de herramientas de medición\". </li><li>Ajuste el control de entrada en la <i>barra de herramientas de mezcla</i> (con el símbolo de micrófono, hasta que las barras rojas del medidor se acerquen  <b>pero no toquen</b> el borde derecho de la escala. Si no puede escuchar el audio monitorizado, acceda a <i>la pestaña Audio E/S de Preferencias</i> y active \"Reproducción a través del software\". </li></ol></p><p> Regresar a [[record|Grabación de audio]] <br></p>"
+msgid ""
+"<p>The input level must be set correctly. If the level is too low, there "
+"will be background noise. If the level is too high, there will be distortion "
+"in the loud parts. </p><p>To set the level, either see this [[wiki:"
+"Recording_levels|illustrated online guide]] or follow these steps: "
+"<ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two "
+"<i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If "
+"the meters are not visible, click <i>View &gt; Toolbars</i> and check "
+"\"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</"
+"i> (by the microphone symbol), so that the red bars in the meter come close "
+"to <b>but do not touch</b> the right edge of the scale. If you can't hear "
+"the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check "
+"\"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording "
+"Audio]] <br></p>"
+msgstr ""
+"<p>El nivel de entrada debe establecerse correctamente. Si el nivel de "
+"entrada es demasiado bajo, se producirán ruidos de fondo. Si éste es "
+"demasiado alto, habrá distorsión en las partes más altas. </p><p>Para "
+"establecer el nivel, consulte la  [[wiki:Recording_levels|guía ilustrada "
+"online]] o siga estos pasos: <ol><li>Active <b>monitorización</b>. Haga "
+"doble clic en el medidor de la derecha de la barra de herramientas de "
+"medición (o haga clic con el botón derecho y seleccione \"Comenzar "
+"monitorización\". Si los medidores no están visibles haga clic en \"Ver&gt;"
+"Barras de herramientas</i> y active \"Barra de herramientas de medición\". </"
+"li><li>Ajuste el control de entrada en la <i>barra de herramientas de "
+"mezcla</i> (con el símbolo de micrófono, hasta que las barras rojas del "
+"medidor se acerquen  <b>pero no toquen</b> el borde derecho de la escala. Si "
+"no puede escuchar el audio monitorizado, acceda a <i>la pestaña Audio E/S de "
+"Preferencias</i> y active \"Reproducción a través del software\". </li></"
+"ol></p><p> Regresar a [[record|Grabación de audio]] <br></p>"
 
 #: HelpText.cpp:292
-msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
-msgstr "<p>Los principales comandos para edición de audio se encuentran en el menú <i>Editar</i> (como cortar, copiar y pegar) y el menú <i>Efecto</i> (para hacer cosas como potenciar los bajos, cambiar el tono y el ritmo o eliminar ruido). </p><p> Audacity aplica las ediciones a las zonas seleccionadas de las pistas de audio. Para seleccionar un área en particular, haga clic sobre la pista y arrastre la zona sombreada con el ratón. Si no se ha seleccionado ninguna parte de audio, Audacity selecciona todo el audio del proyecto.</p><p> Cuando se reproduce o se graba, los menús Edición y Efecto aparecerán deshabilitados ya que una pista en movimiento no puede ser editada. A veces algunos comandos no estarán disponibles por otros motivos. Por ejemplo, no se pueden aplicar efectos hasta que no hay audio en la pantalla, o no se puede pegar audio hasta que no se ha copiado o cortado una parte en el portapapeles de Audacity.</p><br><br>"
+msgid ""
+"<p>The main commands for editing audio are under the <i>Edit</i> menu (such "
+"as cut, copy and paste) and the <i>Effect</i> menu (you can do things like "
+"boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity "
+"applies edits to selected areas of the audio track. To select a particular "
+"area, click in the track and drag the shaded area with the mouse. If no "
+"audio is selected, Audacity selects all the audio in the project window.</"
+"p><p> When playing or recording, the Edit and Effect menus will appear "
+"greyed out, because a moving track can't be edited. Commands can sometimes "
+"be unavailable for other reasons too. For example, you can't run effects "
+"until you have audio on the screen, and you can't paste audio until you've "
+"cut or copied it to Audacity's clipboard. </p><br><br>"
+msgstr ""
+"<p>Los principales comandos para edición de audio se encuentran en el menú "
+"<i>Editar</i> (como cortar, copiar y pegar) y el menú <i>Efecto</i> (para "
+"hacer cosas como potenciar los bajos, cambiar el tono y el ritmo o eliminar "
+"ruido). </p><p> Audacity aplica las ediciones a las zonas seleccionadas de "
+"las pistas de audio. Para seleccionar un área en particular, haga clic sobre "
+"la pista y arrastre la zona sombreada con el ratón. Si no se ha seleccionado "
+"ninguna parte de audio, Audacity selecciona todo el audio del proyecto.</"
+"p><p> Cuando se reproduce o se graba, los menús Edición y Efecto aparecerán "
+"deshabilitados ya que una pista en movimiento no puede ser editada. A veces "
+"algunos comandos no estarán disponibles por otros motivos. Por ejemplo, no "
+"se pueden aplicar efectos hasta que no hay audio en la pantalla, o no se "
+"puede pegar audio hasta que no se ha copiado o cortado una parte en el "
+"portapapeles de Audacity.</p><br><br>"
 
 #: HelpText.cpp:311
-msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr "<p>Para volver en otro momento a un trabajo no terminado manteniendo todas las pistas y ediciones tal y como se dejaron, guarde el trabajo como un proyecto de Audacity. Para reproducir el trabajo en otros programas o enviárselo a otras personas, [[export|expórtelo]] como un archivo WAV o MP3, por ejemplo.</p> <p> <i>Archivo &gt; Guardar proyecto</i>crea un archivo de proyecto <b>aup</b> y una carpeta <b>_data</b> que contiene los archivos de audio. Para reabrir un proyecto guardado, haga clic en <i>Archivo &gt; Abrir</i> y escoja el archivo aup. Si guarda y sale del programa más de una vez, se creará una copia de seguridad terminada en .aup.bak, pero siempre se debe utilizar el archivo .aup. Cuando el trabajo final exportado sea exactamente lo que quiere, puede borrar los archivos de proyecto y la carpeta _data para ahorrar espacio.</p><p><i>Archivo &gt; Guardar proyecto como...</i> se utiliza para guardar un proyecto nuevo. También permite guardar un proyecto existente con un <b>nuevo</b> nombre. Este es el único método efectivo para renombrar un proyecto. El archivo .aup y la carpeta _data no deben ser movidas o renombradas manualmente. </p><p>"
+msgid ""
+"<p>To return later to your unfinished work in Audacity with all tracks and "
+"edits as you left them, save an Audacity project. To play your current work "
+"in other media programs or send it to others, [[export|export]] an audio "
+"file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>."
+"aup</b> project file and  a <b>_data</b> folder containing the actual audio. "
+"To re-open a saved project, click <i>File &gt; Open</i> and open the .aup "
+"file. If you save and exit more than once, an .aup.bak backup file is "
+"created, but the .aup file should always be opened if present. When your "
+"final exported file is exactly as you want, delete the project files and "
+"_data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> "
+"is for saving an empty project. It also lets you save an existing Project to "
+"a <b> new</b> name. This is the only safe way to rename a project. The .aup "
+"file and _data folder should not be moved or renamed manually. </p><p>"
+msgstr ""
+"<p>Para volver en otro momento a un trabajo no terminado manteniendo todas "
+"las pistas y ediciones tal y como se dejaron, guarde el trabajo como un "
+"proyecto de Audacity. Para reproducir el trabajo en otros programas o "
+"enviárselo a otras personas, [[export|expórtelo]] como un archivo WAV o MP3, "
+"por ejemplo.</p> <p> <i>Archivo &gt; Guardar proyecto</i>crea un archivo de "
+"proyecto <b>aup</b> y una carpeta <b>_data</b> que contiene los archivos de "
+"audio. Para reabrir un proyecto guardado, haga clic en <i>Archivo &gt; "
+"Abrir</i> y escoja el archivo aup. Si guarda y sale del programa más de una "
+"vez, se creará una copia de seguridad terminada en .aup.bak, pero siempre se "
+"debe utilizar el archivo .aup. Cuando el trabajo final exportado sea "
+"exactamente lo que quiere, puede borrar los archivos de proyecto y la "
+"carpeta _data para ahorrar espacio.</p><p><i>Archivo &gt; Guardar proyecto "
+"como...</i> se utiliza para guardar un proyecto nuevo. También permite "
+"guardar un proyecto existente con un <b>nuevo</b> nombre. Este es el único "
+"método efectivo para renombrar un proyecto. El archivo .aup y la carpeta "
+"_data no deben ser movidas o renombradas manualmente. </p><p>"
 
 #: HelpText.cpp:335
-msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr "Para escuchar su trabajo en otros programas debe exportarlo a un archivo de audio como WAV o MP3 (algunos formatos [[wma-propietary|no están soportados]]). [[save|Guardar un proyecto de Audacity]] crea un archivo de proyecto (enlazado con una carpeta _data) que contiene todas las pistas editadas, así que en cualquier momento se puede recuperar el trabajo. No obstante, otros programas no pueden leer los archivos de proyecto creados con Audacity.<p><p>Para exportar, haga clic en <i>Archivo &gt; Exportar</i> y seleccione el formato de archivo al que desea exportar en el menú desplegable \"Guardar como tipo\". Si desea  [[burncd|grabar un CD]] para reproductores de CD, seleccione los formatos WAV o AIFF. Para exportar como MP3 debe tener instalado el [[Lame_Installation|codificador Lame]].</p><p> <i>Archivo &gt; Exportar Selección</i> exporta varios archivos al mismo tiempo, ya sea uno por posta o uno por cada zona etiquetada en una sola pista. <i>Pistas &gt; Insertar etiqueta en selección</i>le permite [[[[wiki:Splitting_recordings_into_separate_tracks|dividir las pistas]] de un álbum para realizar una exportación múltiple en archivos independientes. </p><br><br>"
+msgid ""
+"To hear your work in other media programs, export it to an audio file such "
+"as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|"
+"Saving an Audacity project]] creates a project file (and linked _data "
+"folder) containing all your edited tracks, so you can return to your work "
+"later. However, other programs can't read Audacity projects. </p><p> To "
+"export, click <i>File &gt; Export</i> then choose the file format you want "
+"to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for "
+"standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:"
+"Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; "
+"Export Selection</i> exports only a selected area of audio. <i>Use File &gt; "
+"Export Multiple</i> to export multiple files at the same time, either one "
+"for each audio track, or one for each labeled area in a single track. "
+"<i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:"
+"Splitting_recordings_into_separate_tracks|split the tracks]] from an album "
+"for multiple export as separate files. </p><br><br>"
+msgstr ""
+"Para escuchar su trabajo en otros programas debe exportarlo a un archivo de "
+"audio como WAV o MP3 (algunos formatos [[wma-propietary|no están "
+"soportados]]). [[save|Guardar un proyecto de Audacity]] crea un archivo de "
+"proyecto (enlazado con una carpeta _data) que contiene todas las pistas "
+"editadas, así que en cualquier momento se puede recuperar el trabajo. No "
+"obstante, otros programas no pueden leer los archivos de proyecto creados "
+"con Audacity.<p><p>Para exportar, haga clic en <i>Archivo &gt; Exportar</i> "
+"y seleccione el formato de archivo al que desea exportar en el menú "
+"desplegable \"Guardar como tipo\". Si desea  [[burncd|grabar un CD]] para "
+"reproductores de CD, seleccione los formatos WAV o AIFF. Para exportar como "
+"MP3 debe tener instalado el [[Lame_Installation|codificador Lame]].</p><p> "
+"<i>Archivo &gt; Exportar Selección</i> exporta varios archivos al mismo "
+"tiempo, ya sea uno por posta o uno por cada zona etiquetada en una sola "
+"pista. <i>Pistas &gt; Insertar etiqueta en selección</i>le permite [[[[wiki:"
+"Splitting_recordings_into_separate_tracks|dividir las pistas]] de un álbum "
+"para realizar una exportación múltiple en archivos independientes. </"
+"p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr "<p>Audacity <b>no puede</b> [[play|reproducir]] o [[export|exportar]] archivos en la mayoría de formatos propietarios como <b>WMA, RealAudio, Shorten (SHN)</b> por problemas de licencia o restricciones de patente.  En ordenadores con Mac formatos <b>AAC</b> no protegidos como <b>M4A</b> pueden ser importados. Algunos formatos abiertos como <b>Ogg Speex</b> y <b>Musepack</b> aún no están soportados. Archivos protegidos por cualquier tipo de sistema de gestión de derechos digitales (DRM) incluídos la mayoría de los que se adquieren online en tiendas como iTunes o Napster, <b>no pueden</b> ser importados.</p><p> Si no puede importar un archivo en Audacity y está seguro de que no está protegido con DRM puede utilizar iTunes o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> para convertirlo a WAV o AIFF. Si está protegido puede grabarlo en un CD de audio en un programa con licencia para reproducirlo y a continuación extraer la pista del CD a formato WAV o AIFF mediante iTunes o (en Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> o Windows Media Player 11. También puede  <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">grabar</a> el CD en su ordenador. <i>Para exportar a un formato no soportado, exporte a WAV o AIFF y conviértalo al formato deseado con iTunes o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid ""
+"<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in "
+"<b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due "
+"to licensing and patent restrictions.  On a Mac computer, unprotected "
+"<b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are "
+"not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files "
+"protected by any kind of Digital Rights Management (DRM), including most "
+"purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</"
+"p><p> If you can't import your file into Audacity, then if it is not DRM-"
+"protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER."
+"html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, "
+"burn it to an audio CD in the program licensed to play it, then extract the "
+"CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos."
+"sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could "
+"also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;"
+"i=streaming\">record</a> the CD to your computer. <i>To export to an "
+"unsupported format, export to WAV or AIFF and convert it to the desired "
+"format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload"
+"\">SUPER</a>. </i></p><p>"
+msgstr ""
+"<p>Audacity <b>no puede</b> [[play|reproducir]] o [[export|exportar]] "
+"archivos en la mayoría de formatos propietarios como <b>WMA, RealAudio, "
+"Shorten (SHN)</b> por problemas de licencia o restricciones de patente.  En "
+"ordenadores con Mac pueden ser importados formatos <b>AAC</b> no "
+"protegidos como <b>M4A</b>. Algunos formatos abiertos como <b>Ogg "
+"Speex</b> y <b>Musepack</b> aún no están soportados. Archivos protegidos por cualquier "
+"tipo de sistema de gestión de derechos digitales (DRM) incluídos la mayoría "
+"de los que se adquieren online en tiendas como iTunes o Napster, <b>no "
+"pueden</b> ser importados.</p><p> Si no puede importar un archivo en "
+"Audacity y está seguro de que no está protegido con DRM puede utilizar "
+"iTunes o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> "
+"para convertirlo a WAV o AIFF. Si está protegido puede grabarlo en un CD de "
+"audio en un programa con licencia para reproducirlo y a continuación extraer "
+"la pista del CD a formato WAV o AIFF mediante iTunes o (en Windows) <a href="
+"\"http://cdexos.sourceforge.net/?q=download\">CDex</a> o Windows Media "
+"Player 11. También puede  <a href=\"http://audacity.sourceforge.net/help/faq?"
+"s=recording&amp;i=streaming\">grabar</a> el CD en su ordenador. <i>Para "
+"exportar a un formato no soportado, exporte a WAV o AIFF y conviértalo al "
+"formato deseado con iTunes o <a href=\"http://www.erightsoft.com/SUPER."
+"html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
-msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr "<p>Para grabar su trabajo en un CD de audio para escucharlo en reproductores  de CD, primero [[export|expórtelo]] como WAV o AIFF. El archivo exportado debería ser estéreo, 44100 Hz (se establece en el botón \"Frecuencia del proyecto\" en la parte inferior izquierda) y 16 bit (se establece en el botón \"Opciones\" del cuadro de diálogo de exportación de archivo). Estas son las opciones de configuración predeterminadas en Audacity, así que probablemente no necesitará cambiar nada antes de exportar.<p>Almacene los archivos exportados en un \"CD de audio\", no en un \"CD de datos\" o un \"CD MP3\", con un programa de grabación de CD como iTunes o Windows Media Player. Para obtener más información consulte la ayuda online [[wiki:How_to_burn_CDs|Como grabar CD]]. </p><p>"
+msgid ""
+"<p>To burn your work to an audio CD for standalone CD players, first "
+"[[export|export]] it as WAV or AIFF. The exported file should be stereo, "
+"44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in "
+"the \"Options\" button in the file export dialog). These are Audacity's "
+"default settings, so normally you will not need to change these before "
+"exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" "
+"or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media "
+"Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. "
+"</p><p>"
+msgstr ""
+"<p>Para grabar su trabajo en un CD de audio para escucharlo en "
+"reproductores  de CD, primero [[export|expórtelo]] como WAV o AIFF. El "
+"archivo exportado debería ser estéreo, 44100 Hz (se establece en el botón "
+"\"Frecuencia del proyecto\" en la parte inferior izquierda) y 16 bit (se "
+"establece en el botón \"Opciones\" del cuadro de diálogo de exportación de "
+"archivo). Estas son las opciones de configuración predeterminadas en "
+"Audacity, así que probablemente no necesitará cambiar nada antes de exportar."
+"<p>Almacene los archivos exportados en un \"CD de audio\", no en un \"CD de "
+"datos\" o un \"CD MP3\", con un programa de grabación de CD como iTunes o "
+"Windows Media Player. Para obtener más información consulte la ayuda online "
+"[[wiki:How_to_burn_CDs|Como grabar CD]]. </p><p>"
 
 #: HelpText.cpp:403
-msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr "<p>La ayuda de la versión Beta de Audacity está incompleta. Se puedeconsultar un borrador <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a> del manual. También puede hacer clic <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">aquí</a> para descargar una versión del manual en una sola página que se mostrará en esta ventana."
+msgid ""
+"<p>Help for Audacity Beta is currently unfinished. For now, a draft manual "
+"is available <a href=\"http://www.audacityteam.org/manual/index.php?"
+"title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www."
+"audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</"
+"a> to download a single-page version of the manual which can be viewed in "
+"this window."
+msgstr ""
+"<p>La ayuda de la versión Beta de Audacity está incompleta. Se "
+"puedeconsultar un borrador <a href=\"http://www.audacityteam.org/manual/"
+"index.php?title=Main_Page\">online</a> del manual. También puede hacer clic "
+"<a href=\"http://www.audacityteam.org/manual/index.php?"
+"title=Temporary_HTML_Manual_Export\">aquí</a> para descargar una versión del "
+"manual en una sola página que se mostrará en esta ventana."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1328,51 +1845,58 @@ msgstr "Niveles a descartar"
 msgid "&Discard"
 msgstr "&Descartar"
 
-#: HistoryWindow.cpp:112 Tags.cpp:2081 Tags.cpp:2083 Tags.cpp:2385
-#: Tags.cpp:2387 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
-#: export/ExportCL.cpp:399
+#: HistoryWindow.cpp:112 effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191 export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&Aceptar"
 
-#: Internat.cpp:191
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "No se puede determinar"
 
-#: Internat.cpp:195 import/ImportRaw.cpp:385
+#: Internat.cpp:147 import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "bytes"
 
-#: Internat.cpp:197
+#: Internat.cpp:149
 msgid "KB"
 msgstr "KB"
 
-#: Internat.cpp:200
+#: Internat.cpp:152
 msgid "MB"
 msgstr "MB"
 
-#: Internat.cpp:203
+#: Internat.cpp:155
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "El nombre de archivo indicado no puede ser convertido por el uso de caracteres Unicode."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Indicar un nuevo nombre de archivo:"
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Pista"
 
-#: LabelDialog.cpp:55 Menus.cpp:4669 Menus.cpp:4704
+#: LabelDialog.cpp:55 Menus.cpp:4855 Menus.cpp:4890
 msgid "Label"
 msgstr "Etiqueta"
 
-#: LabelDialog.cpp:56 TimerRecordDialog.cpp:279
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:328
 msgid "Start Time"
 msgstr "Instante inicial"
 
-#: LabelDialog.cpp:57 TimerRecordDialog.cpp:298
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:347
 msgid "End Time"
 msgstr "Instante final"
 
-#: LabelDialog.cpp:100 Menus.cpp:711
-msgid "&Edit Labels"
-msgstr "&Editar etiquetas"
+#: LabelDialog.cpp:100
+msgid "Edit Labels"
+msgstr "Editar etiquetas"
 
 #: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
@@ -1406,19 +1930,19 @@ msgstr ""
 "\n"
 "¿Desea volver e indicar los nombres?"
 
-#: LabelDialog.cpp:355
+#: LabelDialog.cpp:355 LangChoice.cpp:130
 msgid "Confirm"
 msgstr "Confirmar"
 
-#: LabelDialog.cpp:516 Menus.cpp:4093
+#: LabelDialog.cpp:516 Menus.cpp:4273
 msgid "Select a text file containing labels..."
 msgstr "Seleccione un archivo de texto que contenga etiquetas..."
 
-#: LabelDialog.cpp:520 Menus.cpp:4097
+#: LabelDialog.cpp:520 Menus.cpp:4277
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*"
 
-#: LabelDialog.cpp:534 Menus.cpp:4109 Project.cpp:1914 Project.cpp:1922
+#: LabelDialog.cpp:534 Menus.cpp:4289 Project.cpp:2116 Project.cpp:2124
 msgid "Could not open file: "
 msgstr "No se ha podido abrir el archivo: "
 
@@ -1426,11 +1950,11 @@ msgstr "No se ha podido abrir el archivo: "
 msgid "No labels to export."
 msgstr "No hay etiquetas que exportar."
 
-#: LabelDialog.cpp:566 Menus.cpp:2510
+#: LabelDialog.cpp:566 Menus.cpp:2626
 msgid "Export Labels As:"
 msgstr "Exportar etiquetas como:"
 
-#: LabelDialog.cpp:568 Menus.cpp:2508
+#: LabelDialog.cpp:568 Menus.cpp:2624
 msgid "labels.txt"
 msgstr "etiquetas.txt"
 
@@ -1442,19 +1966,28 @@ msgstr "Nueva pista de etiqueta"
 msgid "Enter track name"
 msgstr "Introduzca el nombre de la pista"
 
-#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:630
-msgid "&Label Track"
-msgstr "&Pista de etiqueta"
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:92
+msgid "Label Track"
+msgstr "Pista de etiqueta"
 
-#: LangChoice.cpp:57
+#: LangChoice.cpp:58
 msgid "Audacity First Run"
 msgstr "Primera ejecución de Audacity"
 
-#: LangChoice.cpp:89
+#: LangChoice.cpp:90
 msgid "Choose Language for Audacity to use:"
 msgstr "Seleccione el idioma que desea utilizar:"
 
-#: Legacy.cpp:356
+#: LangChoice.cpp:125
+#, c-format
+msgid ""
+"The language you have chosen, %s (%s), is not the same as the system "
+"language, %s (%s)."
+msgstr ""
+"El idioma que ha elegido, %s (%s), no es el predeterminado del "
+"sistema, %s (%s)."
+
+#: Legacy.cpp:372
 #, c-format
 msgid ""
 "Converted a 1.0 project file to the new format.\n"
@@ -1463,611 +1996,565 @@ msgstr ""
 "Se ha convertido un archivo de proyecto 1.0 al nuevo formato.\n"
 "El archivo antiguo fue guardado como '%s'"
 
-#: Legacy.cpp:357
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Abriendo proyecto de Audacity"
 
-#: Menus.cpp:192
+#: Menus.cpp:196
 msgid "&File"
 msgstr "&Archivo"
 
-#: Menus.cpp:194
-msgid "&New\tCtrl+N"
-msgstr "&Nuevo\tCtrl+N"
-
-#: Menus.cpp:196
-msgid "&Open...\tCtrl+O"
-msgstr "&Abrir...\tCtrl+O"
-
-#: Menus.cpp:201
-msgid "&Close\tCtrl+W"
-msgstr "&Cerrar\tCtrl+W"
+#: Menus.cpp:215
+msgid "&Close"
+msgstr "&Cerrar"
 
-#: Menus.cpp:204
-msgid "&Save Project\tCtrl+S"
-msgstr "&Guardar proyecto\tCtrl+S"
+#: Menus.cpp:218
+msgid "&Save Project"
+msgstr "&Guardar proyecto"
 
-#: Menus.cpp:208 Project.cpp:2896
+#: Menus.cpp:221
 msgid "Save Project &As..."
 msgstr "Guardar &proyecto como..."
 
-#: Menus.cpp:210
+#: Menus.cpp:223
 msgid "Save Compressed Copy of Project..."
 msgstr "Guardar una copia comprimida del proyecto..."
 
-#: Menus.cpp:214
+#: Menus.cpp:227
 msgid "Chec&k Dependencies..."
 msgstr "Co&mprobar dependencias..."
 
-#: Menus.cpp:220
+#: Menus.cpp:231
 msgid "Open Me&tadata Editor..."
 msgstr "Abrir edi&tor de metadatos..."
 
-#: Menus.cpp:227 import/ImportRaw.cpp:411
+#: Menus.cpp:239 import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "&Importar"
 
-#: Menus.cpp:229
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio...\tCtrl+Mayús+I"
+#: Menus.cpp:241
+msgid "&Audio..."
+msgstr "&Audio..."
 
-#: Menus.cpp:230
+#: Menus.cpp:242
 msgid "&Labels..."
 msgstr "&Etiquetas..."
 
-#: Menus.cpp:232
+#: Menus.cpp:244
 msgid "&MIDI..."
 msgstr "&MIDI..."
 
-#: Menus.cpp:234
+#: Menus.cpp:246
 msgid "&Raw Data..."
 msgstr "Datos en b&ruto..."
 
-#: Menus.cpp:245 Menus.cpp:280
+#: Menus.cpp:261
 msgid "Expo&rt Selection..."
 msgstr "Expo&rtar selección..."
 
-#: Menus.cpp:252
+#: Menus.cpp:269
 msgid "Export &Labels..."
 msgstr "Exportar e&tiquetas..."
 
-#: Menus.cpp:253
+#: Menus.cpp:272
 msgid "Export &Multiple..."
 msgstr "Exportar &múltiple..."
 
-#: Menus.cpp:255
+#: Menus.cpp:276
 msgid "Export MIDI..."
 msgstr "Exportar MIDI..."
 
-#: Menus.cpp:288
-msgid "CleanSpeech C&hain..."
-msgstr "Limpieza de lo&cución..."
+#: Menus.cpp:282
+msgid "Appl&y Chain..."
+msgstr "Apl&icar secuencia de comandos..."
 
-#: Menus.cpp:289 Menus.cpp:303
+#: Menus.cpp:285
 msgid "Edit C&hains..."
 msgstr "Editar se&cuencias de comandos..."
 
-#: Menus.cpp:290
+#: Menus.cpp:288
 msgid "Export CleanSpeech &Presets..."
 msgstr "Ex&portar configuración de limpieza de locución..."
 
-#: Menus.cpp:291
+#: Menus.cpp:289
 msgid "I&mport CleanSpeech Presets..."
 msgstr "I&mportar configuración de limpieza de locución..."
 
-#: Menus.cpp:301
-msgid "Appl&y Chain..."
-msgstr "Apl&icar secuencia de comandos..."
-
-#: Menus.cpp:308
+#: Menus.cpp:296
 msgid "&Upload File..."
 msgstr "P&ublicar archivo..."
 
-#: Menus.cpp:314
+#: Menus.cpp:301
 msgid "Pa&ge Setup..."
 msgstr "Confi&gurar página...."
 
-#: Menus.cpp:315
+#: Menus.cpp:304
 msgid "&Print..."
 msgstr "Im&primir...."
 
-#: Menus.cpp:328
-msgid "E&xit\tCtrl+Q"
-msgstr "Sa&lir\tCtrl+Q"
+#: Menus.cpp:313
+msgid "E&xit"
+msgstr "Sa&lir"
 
-#: Menus.cpp:336 toolbars/EditToolBar.cpp:76
+#: Menus.cpp:323
 msgid "&Edit"
 msgstr "&Editar"
 
-#: Menus.cpp:340
-msgid "&Undo\tCtrl+Z"
-msgstr "&Deshacer\tCtrl+Z"
+#: Menus.cpp:328
+msgid "&Undo"
+msgstr "&Deshacer"
 
-#: Menus.cpp:348 prefs/KeyConfigPrefs.cpp:371 toolbars/EditToolBar.cpp:146
+#: Menus.cpp:340
 msgid "&Redo"
 msgstr "&Rehacer"
 
-#: Menus.cpp:361
-msgid "Cu&t\tCtrl+X"
-msgstr "Cor&tar\tCtrl+X"
+#: Menus.cpp:346
+msgid "Cu&t"
+msgstr "Cor&tar"
 
-#: Menus.cpp:365
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "D&ividir y cortar\tCtrl+Alt+X"
+#: Menus.cpp:349
+msgid "Spl&it Cut"
+msgstr "D&ividir y cortar"
 
-#: Menus.cpp:366
-msgid "&Copy\tCtrl+C"
-msgstr "&Copiar\tCtrl+C"
+#: Menus.cpp:350
+msgid "&Copy"
+msgstr "&Copiar"
 
-#: Menus.cpp:370
-msgid "&Paste\tCtrl+V"
-msgstr "&Pegar\tCtrl+V"
+#: Menus.cpp:353
+msgid "&Paste"
+msgstr "&Pegar"
 
-#: Menus.cpp:374
-msgid "Tri&m\tCtrl+T"
-msgstr "&R&ecortar\tCtrl+T"
+#: Menus.cpp:356
+msgid "Tri&m"
+msgstr "&R&ecortar"
 
-#: Menus.cpp:376
-msgid "&Delete\tCtrl+K"
-msgstr "&Borrar\tCtrl+K"
+#: Menus.cpp:360 Menus.cpp:399
+msgid "&Delete"
+msgstr "&Borrar"
 
-#: Menus.cpp:377
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Dividir y &borrar\tCtrl+Alt+K"
+#: Menus.cpp:361
+msgid "Split D&elete"
+msgstr "Dividir y &borrar"
 
-#: Menus.cpp:378
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "Silenciar audi&o\tCtrl+L"
+#: Menus.cpp:362
+msgid "Silence Audi&o"
+msgstr "Silenciar audi&o"
 
-#: Menus.cpp:380
-msgid "Sp&lit\tCtrl+I"
-msgstr "D&ividir\tCtrl+I"
+#: Menus.cpp:366
+msgid "Sp&lit"
+msgstr "D&ividir"
 
-#: Menus.cpp:385
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Di&vidir y nueva\tCtrl+Alt+I"
+#: Menus.cpp:370
+msgid "Split Ne&w"
+msgstr "Di&vidir y nueva"
 
-#: Menus.cpp:390
-msgid "&Join\tCtrl+J"
-msgstr "&Unir\tCtrl+J"
+#: Menus.cpp:374 Menus.cpp:406
+msgid "&Join"
+msgstr "&Unir"
 
-#: Menus.cpp:391
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "Des&unir en los silencios\tCtrl+Alt+J"
+#: Menus.cpp:375 Menus.cpp:407
+msgid "Detac&h at Silences"
+msgstr "Des&unir en los silencios"
 
-#: Menus.cpp:392
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Duplic&ar\tCtrl+D"
+#: Menus.cpp:376
+msgid "Duplic&ate"
+msgstr "Duplic&ar"
 
-#: Menus.cpp:398 Menus.cpp:637
+#: Menus.cpp:381 Menus.cpp:617
 msgid "Stereo Trac&k to Mono"
 msgstr "Pista e&stéreo a mono"
 
-#: Menus.cpp:405
+#: Menus.cpp:390
 msgid "La&beled Regions"
 msgstr "Z&onas etiquetadas"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:407
-msgid "&Cut\tAlt+X"
-msgstr "Cor&tar\tAlt+X"
+#: Menus.cpp:393
+msgid "&Cut"
+msgstr "Cor&tar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:412
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Dividir y cor&tar\tMayús+Alt+X"
+#: Menus.cpp:394
+msgid "&Split Cut"
+msgstr "Dividir y cor&tar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:417
-msgid "Co&py\tShift+Alt+C"
-msgstr "Co&piar\tMayús+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:423
-msgid "&Delete\tAlt+K"
-msgstr "&Borrar\tAlt+K"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:428
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Dividir y &borrar\tMayús+Alt+K"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:433
-msgid "Sile&nce\tAlt+L"
-msgstr "Sile&nciar\tAlt+L"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:439
-msgid "Spli&t\tAlt+I"
-msgstr "D&ividir\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:444
-msgid "&Join\tAlt+J"
-msgstr "&Unir\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:449
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Desu&nir en silencios\tMayús+Alt+J"
+#: Menus.cpp:395
+msgid "Co&py"
+msgstr "Co&piar"
+
+#: Menus.cpp:400
+msgid "Sp&lit Delete"
+msgstr "Dividir y &borrar"
 
-#: Menus.cpp:454
+#: Menus.cpp:401
+msgid "Sile&nce"
+msgstr "Sile&nciar"
+
+#: Menus.cpp:405
+msgid "Spli&t"
+msgstr "D&ividir"
+
+#: Menus.cpp:413
 msgid "&Select"
 msgstr "&Seleccionar"
 
-#: Menus.cpp:455
-msgid "&All\tCtrl+A"
-msgstr "&Todo\tCtrl+A"
+#: Menus.cpp:416
+msgid "&All"
+msgstr "&Todo"
 
-#: Menus.cpp:456
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Nada\tCtrl+Mayús+A"
+#: Menus.cpp:417
+msgid "&None"
+msgstr "&Nada"
 
-#: Menus.cpp:460
-msgid "&Left at Playback Position\t["
-msgstr "Desde la &izquierda hasta el cursor\t["
+#: Menus.cpp:419
+msgid "&Left at Playback Position"
+msgstr "Desde la &izquierda hasta el cursor"
 
-#: Menus.cpp:461
-msgid "&Right at Playback Position\t]"
-msgstr "Desde la &derecha hasta el cursor\t]"
+#: Menus.cpp:420
+msgid "&Right at Playback Position"
+msgstr "Desde la &derecha hasta el cursor"
 
-#: Menus.cpp:465
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "De&sde el principio hasta el cursor\tShift+J"
+#: Menus.cpp:424
+msgid "Track &Start to Cursor"
+msgstr "De&sde el principio hasta el cursor"
 
-#: Menus.cpp:466
-msgid "Cursor to Track &End\tShift+K"
-msgstr "D&esde el cursor hasta el final\tShift+K"
+#: Menus.cpp:425
+msgid "Cursor to Track &End"
+msgstr "D&esde el cursor hasta el final"
 
-#: Menus.cpp:472
-msgid "Find &Zero Crossings\tZ"
-msgstr "Encontrar &cruces en cero\tZ"
+#: Menus.cpp:431
+msgid "Find &Zero Crossings"
+msgstr "Encontrar &cruces en cero"
 
-#: Menus.cpp:474
+#: Menus.cpp:435
 msgid "Mo&ve Cursor"
 msgstr "Mo&ver cursor"
 
-#: Menus.cpp:476
+#: Menus.cpp:437
 msgid "to Selection Star&t"
 msgstr "&Al comienzo de la selección"
 
-#: Menus.cpp:477
+#: Menus.cpp:438
 msgid "to Selection En&d"
 msgstr "Al &final de la selección"
 
-#: Menus.cpp:481
-msgid "to Track &Start\tJ"
-msgstr "Al comienzo de la pi&sta\tJ"
+#: Menus.cpp:440
+msgid "to Track &Start"
+msgstr "Al comienzo de la pi&sta"
 
-#: Menus.cpp:482
-msgid "to Track &End\tK"
-msgstr "Al final d&e la pista\tK"
+#: Menus.cpp:441
+msgid "to Track &End"
+msgstr "Al final d&e la pista"
 
-#: Menus.cpp:489
+#: Menus.cpp:449
 msgid "Re&gion Save"
 msgstr "&Guardar selección"
 
-#: Menus.cpp:490
+#: Menus.cpp:452
 msgid "Regio&n Restore"
 msgstr "Restaurar selecció&n"
 
-#: Menus.cpp:501
+#: Menus.cpp:460
 msgid "Pla&y Region"
 msgstr "Á&rea de reproducción"
 
-#: Menus.cpp:502
+#: Menus.cpp:462
 msgid "&Lock"
 msgstr "B&loquear"
 
-#: Menus.cpp:503
+#: Menus.cpp:465
 msgid "&Unlock"
 msgstr "&Desbloquear"
 
-#: Menus.cpp:509
-msgid "Turn Snap-To On"
-msgstr "Activar ajuste"
-
-#: Menus.cpp:510
-msgid "Turn Snap-To Off"
-msgstr "Desactivar ajuste"
-
-#: Menus.cpp:511
-msgid "Turn Grid Snap On"
-msgstr "Activar el ajuste a cuadrícula"
-
-#: Menus.cpp:512
-msgid "Turn Grid Snap Off"
-msgstr "Desactivar el ajuste a cuadrícula"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:517
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "Pre&ferencias...\tCtrl+,"
-
-#: Menus.cpp:521
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "Pre&ferencias...\tCtrl+P"
+#: Menus.cpp:485
+msgid "Pre&ferences..."
+msgstr "Pre&ferencias..."
 
-#: Menus.cpp:531
+#: Menus.cpp:495
 msgid "&View"
 msgstr "&Ver"
 
-#: Menus.cpp:533
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Ampliar\tCtrl+1"
+#: Menus.cpp:498
+msgid "Zoom &In"
+msgstr "&Ampliar"
 
-#: Menus.cpp:536
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normal\tCtrl+2"
+#: Menus.cpp:501
+msgid "Zoom &Normal"
+msgstr "&Normal"
 
-#: Menus.cpp:537
-msgid "Zoom &Out\tCtrl+3"
-msgstr "R&educir\tCtrl+3"
+#: Menus.cpp:502
+msgid "Zoom &Out"
+msgstr "R&educir"
 
-#: Menus.cpp:540
-msgid "&Fit in Window\tCtrl+F"
-msgstr "A&justar a la ventana\tCtrl+F"
+#: Menus.cpp:506
+msgid "&Fit in Window"
+msgstr "A&justar a la ventana"
 
-#: Menus.cpp:541
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Ajustar &verticalmente\tCtrl+Mayús+F"
+#: Menus.cpp:507
+msgid "Fit &Vertically"
+msgstr "Ajustar &verticalmente"
 
-#: Menus.cpp:542
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Ampliar la s&elección\tCtrl+E"
+#: Menus.cpp:508
+msgid "&Zoom to Selection"
+msgstr "Ampliar la s&elección"
 
-#: Menus.cpp:545
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Contraer todas las pistas\tCtrl+Mayús+C"
+#: Menus.cpp:512
+msgid "&Collapse All Tracks"
+msgstr "&Contraer todas las pistas"
 
-#: Menus.cpp:546
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "E&xpandir todas las pistas\tCtrl+Mayús+X"
+#: Menus.cpp:513
+msgid "E&xpand All Tracks"
+msgstr "E&xpandir todas las pistas"
 
-#: Menus.cpp:549
+#: Menus.cpp:517
 msgid "&Show Clipping"
 msgstr "Mo&strar distorsión"
 
-#: Menus.cpp:558
+#: Menus.cpp:522
 msgid "&History..."
 msgstr "&Historial..."
 
-#: Menus.cpp:564
+#: Menus.cpp:530
 msgid "&Toolbars"
 msgstr "&Barras de herramientas"
 
-#: Menus.cpp:565
+#: Menus.cpp:532
 msgid "&Control Toolbar"
 msgstr "Barra de herramientas de &control"
 
-#: Menus.cpp:566
+#: Menus.cpp:533
 msgid "&Device Toolbar"
 msgstr "Barra de herramientas de &dispositivos"
 
-#: Menus.cpp:567
+#: Menus.cpp:534
 msgid "&Edit Toolbar"
 msgstr "Barra de herramientas de &edición"
 
-#: Menus.cpp:568
+#: Menus.cpp:535
 msgid "&Meter Toolbar"
 msgstr "Barra de herramientas de &medidores"
 
-#: Menus.cpp:569
+#: Menus.cpp:536
 msgid "Mi&xer Toolbar"
 msgstr "Barra de herramientas de me&zcla"
 
-#: Menus.cpp:570
+#: Menus.cpp:537
 msgid "&Selection Toolbar"
 msgstr "Barra de herramientas de &selección"
 
-#: Menus.cpp:571
+#: Menus.cpp:538
 msgid "T&ools Toolbar"
 msgstr "Barra de herramientas de &herramientas"
 
-#: Menus.cpp:572
+#: Menus.cpp:539
 msgid "Transcri&ption Toolbar"
 msgstr "Barra de herramientas de &transcripción"
 
-#: Menus.cpp:574
+#: Menus.cpp:543
 msgid "&Reset Toolbars"
 msgstr "&Restablecer barras de herramientas"
 
-#: Menus.cpp:576
+#: Menus.cpp:551
 msgid "!Simplified View"
 msgstr "!Vista simplificada"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:585
+#: Menus.cpp:562
 msgid "T&ransport"
 msgstr "Cont&rol"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr "Reproducir\tEspacio"
+#: Menus.cpp:565 toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr "Reproducir"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr "Reproducir cíc&licamente\tMayús+Espacio"
+#: Menus.cpp:566
+msgid "&Loop Play"
+msgstr "Reproducir cíc&licamente"
 
-#: Menus.cpp:591
-msgid "&Pause\tP"
-msgstr "&Pausa\tP"
+#: Menus.cpp:567
+msgid "&Pause"
+msgstr "&Pausa"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr "&Parar\tEspacio"
+#: Menus.cpp:570
+msgid "&Stop"
+msgstr "&Detener"
 
-#: Menus.cpp:593 Menus.cpp:1008
-msgid "Skip to Start\tHome"
-msgstr "Ir al comienzo\tInicio"
+#: Menus.cpp:573 toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Ir al comienzo"
 
-#: Menus.cpp:595 Menus.cpp:1009
-msgid "Skip to End\tEnd"
-msgstr "Ir al final\tFin"
+#: Menus.cpp:574 toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Ir al final"
 
-#: Menus.cpp:598
-msgid "&Record\tR"
-msgstr "G&rabar\tR"
+#: Menus.cpp:578
+msgid "&Record"
+msgstr "G&rabar"
 
-#: Menus.cpp:600
-msgid "&Timer Record...\tShift+T"
-msgstr "Grabación &programada...\tMayús+T"
+#: Menus.cpp:579
+msgid "&Timer Record..."
+msgstr "Grabación &programada..."
 
-#: Menus.cpp:602
-msgid "Append Record\tShift+R"
-msgstr "Anexar grabación\tMayús+R"
+#: Menus.cpp:580
+msgid "Append Record"
+msgstr "Anexar grabación"
 
-#: Menus.cpp:605
+#: Menus.cpp:584
 msgid "Overdub (on/off)"
 msgstr "Remezclar"
 
-#: Menus.cpp:607
+#: Menus.cpp:585
 msgid "Software Playthrough (on/off)"
 msgstr "Reproducción a través del software"
 
-#: Menus.cpp:610
+#: Menus.cpp:588
 msgid "Sound Activated Recording (on/off)"
 msgstr "Grabación por activación de sonido"
 
-#: Menus.cpp:612
+#: Menus.cpp:589
 msgid "Sound Activation Level..."
 msgstr "Nivel de activación de sonido..."
 
-#: Menus.cpp:620
+#: Menus.cpp:597
 msgid "&Tracks"
 msgstr "&Pistas"
 
-#: Menus.cpp:627
+#: Menus.cpp:602
 msgid "Add &New"
 msgstr "Añadir &nueva"
 
-#: Menus.cpp:628
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Pista de &audio\tCtrl+Mayús+N"
+#: Menus.cpp:604
+msgid "&Audio Track"
+msgstr "Pista de &audio"
 
-#: Menus.cpp:629
+#: Menus.cpp:605
 msgid "&Stereo Track"
 msgstr "Pista de audio e&stéreo"
 
-#: Menus.cpp:631 TimeTrack.cpp:44
+#: Menus.cpp:606
+msgid "&Label Track"
+msgstr "&Pista de etiqueta"
+
+#: Menus.cpp:607
 msgid "&Time Track"
 msgstr "Pista de &tiempo"
 
-#: Menus.cpp:641
+#: Menus.cpp:620
 msgid "Mi&x and Render"
 msgstr "&Mezclar y generar"
 
-#: Menus.cpp:645
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mezclar y generar en una nueva pista\tCtrl+Mayús+M"
+#: Menus.cpp:623
+msgid "Mix and Render to New Track"
+msgstr "Mezclar y generar en una nueva pista"
 
-#: Menus.cpp:649
+#: Menus.cpp:626
 msgid "&Resample..."
 msgstr "&Remuestrear..."
 
-#: Menus.cpp:659
+#: Menus.cpp:632
 msgid "Remo&ve Tracks"
 msgstr "E&liminar pistas"
 
-#: Menus.cpp:665
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Silenciar todas las pistas\tCtrl+U"
+#: Menus.cpp:638
+msgid "&Mute All Tracks"
+msgstr "&Silenciar todas las pistas"
 
-#: Menus.cpp:666
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "D&esactivar silencio en todas las pistas\tCtrl+Mayús+U"
+#: Menus.cpp:639
+msgid "&UnMute All Tracks"
+msgstr "D&esactivar silencio en todas las pistas"
 
-#: Menus.cpp:670
+#: Menus.cpp:644
 msgid "Align with &Zero"
 msgstr "Alinear en c&ero"
 
-#: Menus.cpp:671
+#: Menus.cpp:645
 msgid "Align with &Cursor"
 msgstr "Alinear en el &cursor"
 
-#: Menus.cpp:672
+#: Menus.cpp:646
 msgid "Align with Selection &Start"
 msgstr "Alinear en el comienzo de &selección"
 
-#: Menus.cpp:673
+#: Menus.cpp:647
 msgid "Align with Selection &End"
 msgstr "Alinear en el final de se&lección"
 
-#: Menus.cpp:674
+#: Menus.cpp:648
 msgid "Align End with Cu&rsor"
 msgstr "Alinear final en el cu&rsor"
 
-#: Menus.cpp:675
+#: Menus.cpp:649
 msgid "Align End with Selection Star&t"
 msgstr "Alinear final en el comienzo de la &selección"
 
-#: Menus.cpp:676
+#: Menus.cpp:650
 msgid "Align End with Selection En&d"
 msgstr "Alinear final en el &final de la selección"
 
-#: Menus.cpp:677
+#: Menus.cpp:651
 msgid "Align Tracks To&gether"
 msgstr "Alinear pistas con&juntamente"
 
-#: Menus.cpp:679
+#: Menus.cpp:653
 msgid "&Align Tracks"
 msgstr "&Alinear pistas"
 
-#: Menus.cpp:688
+#: Menus.cpp:668
 msgid "Ali&gn and Move Cursor"
 msgstr "Al&inear y desplazar cursor"
 
-#: Menus.cpp:695
+#: Menus.cpp:680
 msgid "Synchronize MIDI with Audio"
 msgstr "Sincronizar MIDI con audio"
 
-#: Menus.cpp:704
-msgid "Link Audio and Label Tracks"
-msgstr "Enlazar audio y pistas de etiquetas"
+#: Menus.cpp:687
+msgid "&Link Audio and Label Tracks"
+msgstr "En&lazar audio y pistas de etiquetas"
 
-#: Menus.cpp:707
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Añadir etiqueta en se&lección\tCtrl+B"
+#: Menus.cpp:691
+msgid "Add Label At &Selection"
+msgstr "Añadir etiqueta en la &selección"
 
-#: Menus.cpp:708
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Añadir etiqueta en el &punto de reproducción\tCtrl+M"
+#: Menus.cpp:694
+msgid "Add Label At &Playback Position"
+msgstr "Añadir etiqueta en el &punto de reproducción"
+
+#: Menus.cpp:697
+msgid "&Edit Labels"
+msgstr "&Editar etiquetas"
 
-#: Menus.cpp:714
+#: Menus.cpp:703
 msgid "S&ort tracks"
 msgstr "&Ordenar pistas"
 
-#: Menus.cpp:715
+#: Menus.cpp:705
 msgid "by &Start time"
 msgstr "In&stante inicial"
 
-#: Menus.cpp:717
+#: Menus.cpp:708
 msgid "by &Name"
 msgstr "&Nombre"
 
-#: Menus.cpp:728
+#: Menus.cpp:722
 msgid "&Generate"
 msgstr "&Generar"
 
-#: Menus.cpp:774 Menus.cpp:858 Menus.cpp:920
+#: Menus.cpp:767 Menus.cpp:852 Menus.cpp:922
 msgid "Unsorted"
 msgstr "Desordenado"
 
-#: Menus.cpp:793
+#: Menus.cpp:789
 msgid "Effe&ct"
 msgstr "Efe&cto"
 
-#: Menus.cpp:797
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetir el último efecto\tCtrl+R"
-
-#: Menus.cpp:875
+#: Menus.cpp:873
 msgid "&Analyze"
 msgstr "&Analizar"
 
-#: Menus.cpp:877
+#: Menus.cpp:875
+msgid "Contrast..."
+msgstr "Contraste..."
+
+#: Menus.cpp:878
 msgid "Plot Spectrum..."
 msgstr "Análisis de espectro..."
 
@@ -2075,352 +2562,368 @@ msgstr "Análisis de espectro..."
 msgid "&Help"
 msgstr "&Ayuda"
 
-#: Menus.cpp:951
+#: Menus.cpp:952
 msgid "&About Audacity CleanSpeech..."
 msgstr "&Acerca de limpieza de locución de Audacity..."
 
-#: Menus.cpp:955
+#: Menus.cpp:958
 msgid "&Show Welcome Message..."
 msgstr "Men&saje de bienvenida..."
 
-#: Menus.cpp:956
-msgid "&Index..."
-msgstr "Índ&ice..."
+#: Menus.cpp:959
+msgid "&Help..."
+msgstr "A&yuda..."
 
-#: Menus.cpp:957
+#: Menus.cpp:960
 msgid "Show &Log..."
 msgstr "&Mostrar registro..."
 
-#: Menus.cpp:965
+#: Menus.cpp:966
 msgid "&Screenshot Tools..."
 msgstr "Herramienta&s de captura de pantalla..."
 
-#: Menus.cpp:968
+#: Menus.cpp:971
 msgid "&Run Benchmark..."
 msgstr "Ejecutar test de &rendimiento..."
 
-#: Menus.cpp:970
+#: Menus.cpp:976
 msgid "&Audio Device Info..."
 msgstr "Información de dispositivo de &audio..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr "Saltar hacia atrás entre las barras de herramientas y la vista de pista\tCtrl+Mayús+F6"
-
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr "Saltar hacia adelante entre las barras de herramientas y la vista de pista\tCtrl+F6"
-
-#: Menus.cpp:983
-msgid "Selection Tool\tF1"
-msgstr "Herramienta de selección\tF1"
-
-#: Menus.cpp:984
-msgid "Envelope Tool\tF2"
-msgstr "Herramienta de envolvente\tF2"
-
-#: Menus.cpp:985
-msgid "Draw Tool\tF3"
-msgstr "Herramienta de dibujo\tF3"
-
-#: Menus.cpp:986
-msgid "Zoom Tool\tF4"
-msgstr "Herramienta de ampliación\tF4"
-
 #: Menus.cpp:987
-msgid "Time Shift Tool\tF5"
-msgstr "Herramienta de desplazamiento en el tiempo\tF5"
+msgid "Move backward from toolbars to tracks"
+msgstr "Retroceder desde las barras de herramientas hasta las pistas"
 
 #: Menus.cpp:988
-msgid "Multi Tool\tF6"
-msgstr "Multiherramienta\tF6"
+msgid "Move forward from toolbars to tracks"
+msgstr "Avanzar desde las barras de herramientas hasta las pistas"
 
-#: Menus.cpp:990
-msgid "Next Tool\tD"
-msgstr "Herramienta siguiente\tD"
+#: Menus.cpp:990 toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Herramienta de selección"
 
-#: Menus.cpp:991
-msgid "Previous Tool\tA"
-msgstr "Herramienta anterior\tA"
+#: Menus.cpp:991 toolbars/ToolsToolBar.cpp:148 toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Herramienta de envolvente"
 
-#: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr "Reproducir/Parar\tEspacio"
+#: Menus.cpp:992 toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Herramienta de dibujo"
 
-#: Menus.cpp:994
-msgid "Stop\tS"
-msgstr "Detener\tS"
+#: Menus.cpp:993 toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Herramienta de ampliación"
 
-#: Menus.cpp:995
-msgid "Pause\tP"
-msgstr "Pausa\tP"
+#: Menus.cpp:994 toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Herramienta de desplazamiento en el tiempo"
 
-#: Menus.cpp:996
-msgid "Record\tR"
-msgstr "Grabar\tR"
+#: Menus.cpp:995 toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Multiherramienta"
 
 #: Menus.cpp:997
-msgid "Record Append\tShift+R"
-msgstr "Anexar grabación\tMayús+R"
+msgid "Next Tool"
+msgstr "Herramienta siguiente"
+
+#: Menus.cpp:998
+msgid "Previous Tool"
+msgstr "Herramienta anterior"
 
-#: Menus.cpp:999
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Reproducir/Detener y establecer cursor\tMayús+A"
+#: Menus.cpp:1000
+msgid "Play/Stop"
+msgstr "Reproducir/Detener"
+
+#: Menus.cpp:1001
+msgid "Play/Stop and Set Cursor"
+msgstr "Reproducir/Detener y establecer cursor"
 
 #: Menus.cpp:1002
-msgid "Play One Second\t1"
-msgstr "Reproducir un segundo\t1"
+msgid "Play One Second"
+msgstr "Reproducir un segundo"
 
 #: Menus.cpp:1003
-msgid "Play To Selection\tB"
-msgstr "Reproducir hasta la selección\tB"
+msgid "Play To Selection"
+msgstr "Reproducir hasta la selección"
 
 #: Menus.cpp:1004
-msgid "Play Looped\tL"
-msgstr "Reproducir cíclicamente\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr "Reproducir cíclicamente\tMayús+Espacio"
+msgid "Play Cut Preview"
+msgstr "Reproducir vista previa"
 
 #: Menus.cpp:1006
-msgid "Play Cut Preview\tC"
-msgstr "Reproducir vista previa\tC"
+msgid "Selection to Start"
+msgstr "Seleccionar hasta el comienzo"
 
-#: Menus.cpp:1011
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleccionar hasta el comienzo\tMayús+Inicio"
+#: Menus.cpp:1007
+msgid "Selection to End"
+msgstr "Seleccionar hasta el final"
 
-#: Menus.cpp:1012
-msgid "Selection to End\tShift+End"
-msgstr "Seleccionar hasta el final\tMayús+Fin"
+#: Menus.cpp:1009
+msgid "DeleteKey"
+msgstr "Tecla de borrado"
 
-#: Menus.cpp:1014
-msgid "DeleteKey\tBackspace"
-msgstr "Tecla de borrado\tBorrar"
+#: Menus.cpp:1013
+msgid "DeleteKey2"
+msgstr "Tecla de borrado 2"
 
 #: Menus.cpp:1019
-msgid "DeleteKey2\tDelete"
-msgstr "Tecla de borrado 2\tSupr"
+msgid "Short seek left during playback"
+msgstr "Buscar un periodo corto hacia la izquierda durante la reproducción"
+
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
+msgstr "Buscar un periodo corto hacia la derecha durante la reproducción"
 
-#: Menus.cpp:1025
-msgid "Seek left short period during playback\tLeft"
-msgstr "Avanzar hacia la izquierda un periodo corto durante la reproducción\tIzquierda"
+#: Menus.cpp:1021
+msgid "Long seek left during playback"
+msgstr "Buscar un periodo largo hacia la izquierda durante la reproducción"
 
-#: Menus.cpp:1026
-msgid "Seek right short period during playback\tRight"
-msgstr "Avanzar hacia la derecha un periodo corto durante la reproducción\tDerecha"
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
+msgstr "Buscar un periodo largo hacia la derecha durante la reproducción"
 
 #: Menus.cpp:1027
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Avanzar hacia la izquierda un periodo largo durante la reproducción\tMayús+Izquierda"
+msgid "Move Focus to Previous Track"
+msgstr "Ir a la pista anterior"
 
 #: Menus.cpp:1028
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Avanzar hacia la derecha un periodo largo durante la reproducción\tMayús+Derecha"
+msgid "Move Focus to Previous and Select"
+msgstr "Ir a la pista anterior y seleccionar"
 
-#: Menus.cpp:1032
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Ir a la pista anterior\tArriba"
+#: Menus.cpp:1029
+msgid "Move Focus to Next Track"
+msgstr "Ir a la pista siguiente"
 
-#: Menus.cpp:1033
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Ir a la pista anterior y cambiar selección\tMayús+Arriba"
+#: Menus.cpp:1030
+msgid "Move Focus to Next and Select"
+msgstr "Ir a la pista siguiente y seleccionar"
+
+#: Menus.cpp:1031 Menus.cpp:1032
+msgid "Toggle Focused Track"
+msgstr "Cambiar pista activa"
 
 #: Menus.cpp:1034
-msgid "Move Focus to Next Track\tDown"
-msgstr "Ir a la pista siguiente\tAbajo"
+msgid "Cursor Left"
+msgstr "Cursor a la Izquierda"
 
 #: Menus.cpp:1035
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Ir a la pista siguiente y cambiar la selección\tMayús+Abajo"
+msgid "Cursor Right"
+msgstr "Cursor a la derecha"
 
 #: Menus.cpp:1036
-msgid "Toggle Focused Track\tReturn"
-msgstr "Cambiar pista activa\tIntro"
+msgid "Cursor Short Jump Left"
+msgstr "Pequeño salto del cursor a la izquierda"
 
 #: Menus.cpp:1037
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Cambiar pista activa\tTeclado numérico Intro"
+msgid "Cursor Short Jump Right"
+msgstr "Pequeño salto del cursor a la derecha"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr "Cambiar pista activa\tCtrl+Espacio"
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Left"
+msgstr "Salto largo del cursor a la izquierda"
 
-#: Menus.cpp:1040
-msgid "Cursor Left\tLeft"
-msgstr "Cursor a la Izquierda\tIzquierda"
+#: Menus.cpp:1039
+msgid "Cursor Long Jump Right"
+msgstr "Salto largo del cursor a la derecha"
 
 #: Menus.cpp:1041
-msgid "Cursor Right\tRight"
-msgstr "Cursor a la derecha\tDerecha"
+msgid "Selection Extend Left"
+msgstr "Extender selección a la izquierda"
 
 #: Menus.cpp:1042
-msgid "Cursor Short Jump Left\t,"
-msgstr "Pequeño salto del cursor a la izquierda\t,"
-
-#: Menus.cpp:1043
-msgid "Cursor Short Jump Right\t."
-msgstr "Pequeño salto del cursor a la derecha\t."
+msgid "Selection Extend Right"
+msgstr "Extender selección a la derecha"
 
 #: Menus.cpp:1044
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Salto largo del cursor a la izquierda\tMayús+,"
+msgid "Set (or Extend) Left Selection"
+msgstr "Establecer (o extender) límite izquierdo de selección"
 
 #: Menus.cpp:1045
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Salto largo del cursor a la derecha\tMayús+."
+msgid "Set (or Extend) Right Selection"
+msgstr "Establecer (o extender) límite derecho de selección"
 
 #: Menus.cpp:1047
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Extender selección a la izquierda\tMayús+Izquierda"
+msgid "Selection Contract Left"
+msgstr "Contraer selección a la izquierda"
 
 #: Menus.cpp:1048
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Extender selección a la derecha\tMayús+Derecha"
+msgid "Selection Contract Right"
+msgstr "Contraer selección a la derecha"
 
 #: Menus.cpp:1050
-msgid "Set (or Extend) Left Selection"
-msgstr "Establecer (o extender) límite izquierdo de selección"
+msgid "Change pan on focused track"
+msgstr "Cambiar panorama en la pista activa"
 
 #: Menus.cpp:1051
-msgid "Set (or Extend) Right Selection"
-msgstr "Establecer (o extender) límite derecho de selección"
+msgid "Pan left on focused track"
+msgstr "Desplazar panorama a la izquierda en la pista activa."
+
+#: Menus.cpp:1052
+msgid "Pan right on focused track"
+msgstr "Desplazar panorama a la derecha en la pista activa."
 
 #: Menus.cpp:1053
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contraer selección a la izquierda\tCtrl+Mayús+Derecha"
+msgid "Change gain on focused track"
+msgstr "Cambiar ganancia en la pista activa"
 
 #: Menus.cpp:1054
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contraer selección a la derecha\tCtrl+Mayús+Izquierda"
+msgid "Increase gain on focused track"
+msgstr "Incrementar ganancia en la pista activa"
+
+#: Menus.cpp:1055
+msgid "Decrease gain on focused track"
+msgstr "Decrementa ganancia en la pista activa"
 
 #: Menus.cpp:1056
-msgid "Change pan on focused track\tShift+P"
-msgstr "Cambiar panorama en la pista activa\tMayús+P"
+msgid "Open menu on focused track"
+msgstr "Desplegar menú en la pista activa"
 
 #: Menus.cpp:1057
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Desplazar panorama a la izquierda en la pista activa.\tAlt+Mayús+Izquierda"
+msgid "Mute/Unmute focused track"
+msgstr "Activar o desactivar silencio en la pista activa"
 
 #: Menus.cpp:1058
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Desplazar panorama a la derecha en la pista activa.\tAlt+Mayús+Derecha"
+msgid "Solo/Unsolo focused track"
+msgstr "Activar o desactivar Solo en la pista activa"
 
 #: Menus.cpp:1059
-msgid "Change gain on focused track\tShift+G"
-msgstr "Cambiar ganancia en la pista activa\tMayús+G"
-
-#: Menus.cpp:1060
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Incrementar ganancia en la pista activa\tAlt+Mayús+Arriba"
+msgid "Close focused track"
+msgstr "Cerrar la pista activa"
 
 #: Menus.cpp:1061
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Decrementa ganancia en la pista activa\tAlt+Mayús+Abajo"
+msgid "Snap To On"
+msgstr "Activar ajuste"
 
 #: Menus.cpp:1062
-msgid "Open menu on focused track\tShift+M"
-msgstr "Desplegar menú en la pista activa\tMayús+M"
+msgid "Snap To Off"
+msgstr "Desactivar ajuste"
 
-#: Menus.cpp:1063
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Activar o desactivar silencio en la pista activa\tMayús+U"
+#: Menus.cpp:1066
+msgid "Full screen on/off"
+msgstr "Activar/Desactivar pantalla completa"
 
-#: Menus.cpp:1064
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Activar o desactivar Solo en la pista activa\tMayús+S"
+#: Menus.cpp:1068
+msgid "Adjust output gain"
+msgstr "Ajustar la ganancia de salida"
 
-#: Menus.cpp:1065
-msgid "Close focused track\tShift+C"
-msgstr "Cerrar la pista activa\tMayús+C"
+#: Menus.cpp:1069
+msgid "Increase output gain"
+msgstr "Incrementar la ganancia de salida"
 
-#: Menus.cpp:1067
-msgid "Snap To On"
-msgstr "Activar ajuste"
-
-#: Menus.cpp:1068
-msgid "Snap To Off"
-msgstr "Desactivar ajuste"
+#: Menus.cpp:1070
+msgid "Decrease output gain"
+msgstr "Decrementar la ganancia de salida"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
-msgstr "Activar/Desactivar pantalla completa\tF11"
+msgid "Adjust input gain"
+msgstr "Ajustar la ganancia de entrada"
+
+#: Menus.cpp:1072
+msgid "Increase input gain"
+msgstr "Incrementar la ganancia de entrada"
+
+#: Menus.cpp:1073
+msgid "Decrease input gain"
+msgstr "Decrementar la ganancia de entrada"
+
+#: Menus.cpp:1075
+msgid "Adjust input source"
+msgstr "Ajustar la fuente de entrada"
+
+#: Menus.cpp:1079
+msgid "Play at speed"
+msgstr "Reproducir a velocidad"
+
+#: Menus.cpp:1080
+msgid "Adjust playback speed"
+msgstr "Ajustar la velocidad de reproducción"
+
+#: Menus.cpp:1081
+msgid "Increase playback speed"
+msgstr "Incrementar la velocidad de reproducción"
+
+#: Menus.cpp:1082
+msgid "Decrease playback speed"
+msgstr "Decrementar la velocidad de reproducción"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:1149
+#: Menus.cpp:1167
 msgid "Open Recent"
 msgstr "Abrir reciente"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1152
+#: Menus.cpp:1170
 msgid "Recent &Files"
 msgstr "Archivos &recientes"
 
-#: Menus.cpp:1201
+#: Menus.cpp:1188
 #, c-format
 msgid "&Undo %s"
 msgstr "&Deshacer %s"
 
-#: Menus.cpp:1227
+#: Menus.cpp:1214
 msgid "Can't Undo"
 msgstr "No se puede deshacer"
 
-#: Menus.cpp:1236
+#: Menus.cpp:1223
 #, c-format
 msgid "&Redo %s"
 msgstr "&Rehacer %s"
 
-#: Menus.cpp:1242
+#: Menus.cpp:1229
 msgid "Can't Redo"
 msgstr "No se puede rehacer"
 
-#: Menus.cpp:1848
+#: Menus.cpp:1874
 msgid "Sort By Time"
 msgstr "Ordenar por fecha"
 
-#: Menus.cpp:1848
+#: Menus.cpp:1874
 msgid "Tracks sorted by time"
 msgstr "Pistas ordenadas por fecha"
 
-#: Menus.cpp:1874
+#: Menus.cpp:1900
 msgid "Sort By Name"
 msgstr "Ordenar por nombre"
 
-#: Menus.cpp:1874
+#: Menus.cpp:1900
 msgid "Tracks sorted by name"
 msgstr "Pistas ordenadas por nombre"
 
-#: Menus.cpp:2025
-msgid "Set Left Selection Bound"
+#: Menus.cpp:2051 Menus.cpp:2087
+msgid "Position"
+msgstr "Posición"
+
+#: Menus.cpp:2051
+msgid "Set Left Selection Boundary"
 msgstr "Establecer límite izquierdo de selección"
 
-#: Menus.cpp:2060
-msgid "Set Right Selection Bound"
+#: Menus.cpp:2087
+msgid "Set Right Selection Boundary"
 msgstr "Establecer límite derecho de selección"
 
-#: Menus.cpp:2329
+#: Menus.cpp:2444
 msgid "You must select a track first."
 msgstr "Primero debe seleccionar una pista."
 
-#: Menus.cpp:2361
+#: Menus.cpp:2479
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetir %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repetir %s"
 
-#: Menus.cpp:2504
+#: Menus.cpp:2620
 msgid "There are no label tracks to export."
 msgstr "No hay pistas de etiqueta que exportar."
 
-#: Menus.cpp:2599
+#: Menus.cpp:2715
 msgid "Export MIDI As:"
 msgstr "Exportar MIDI como:"
 
-#: Menus.cpp:2603
+#: Menus.cpp:2719
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "Archivos MIDI (*.mid)|*.mid|Archivos Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2635
+#: Menus.cpp:2751
 msgid ""
 "You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
@@ -2428,400 +2931,400 @@ msgstr ""
 "Ha seleccionado un nombre de archivo con una extensión no identificada.\n"
 "¿Está seguro de que quiere continuar?"
 
-#: Menus.cpp:2636
+#: Menus.cpp:2752
 msgid "Export MIDI"
 msgstr "Exportar MIDI"
 
-#: Menus.cpp:2694
+#: Menus.cpp:2830
 msgid "Nothing to undo"
 msgstr "No hay nada que deshacer"
 
-#: Menus.cpp:2714
+#: Menus.cpp:2851
 msgid "Nothing to redo"
 msgstr "No hay nada que rehacer"
 
-#: Menus.cpp:2801 TrackPanel.cpp:596 toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2958 TrackPanel.cpp:652 toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Cortar"
 
-#: Menus.cpp:2801
+#: Menus.cpp:2958
 msgid "Cut to the clipboard"
 msgstr "Cortar y guardar en portapapeles"
 
-#: Menus.cpp:2841
+#: Menus.cpp:2997
 msgid "Split Cut"
 msgstr "Dividir y cortar"
 
-#: Menus.cpp:2841
+#: Menus.cpp:2997
 msgid "Split-cut to the clipboard"
 msgstr "Divide y corta en el portapapeles"
 
-#: Menus.cpp:2906 Menus.cpp:2978 Menus.cpp:3170 TrackPanel.cpp:598
-#: toolbars/EditToolBar.cpp:137
+#: Menus.cpp:3063 Menus.cpp:3128 Menus.cpp:3209 Menus.cpp:3408
+#: TrackPanel.cpp:654 toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Pegar"
 
-#: Menus.cpp:2906
+#: Menus.cpp:3063
 msgid "Pasted text from the clipboard"
 msgstr "Texto pegado desde el portapapeles"
 
-#: Menus.cpp:2978 Menus.cpp:3170
+#: Menus.cpp:3128 Menus.cpp:3209 Menus.cpp:3408
 msgid "Pasted from the clipboard"
 msgstr "Pegado desde el portapapeles"
 
-#: Menus.cpp:3044
+#: Menus.cpp:3277
 msgid "Pasting one type of track into another is not allowed."
 msgstr "No se puede pegar un tipo de pista en otra."
 
-#: Menus.cpp:3056
+#: Menus.cpp:3289
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "No se puede copiar audio estéreo en una pista mono."
 
-#: Menus.cpp:3206 toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3444 toolbars/EditToolBar.cpp:193
 msgid "Trim"
 msgstr "Recortar"
 
-#: Menus.cpp:3206
+#: Menus.cpp:3444
 msgid "Trim file to selection"
 msgstr "Recortar archivo hasta la selección"
 
-#: Menus.cpp:3235
+#: Menus.cpp:3473
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Dividir y borrar %.2f segundos en t=%.2f"
 
-#: Menus.cpp:3238
+#: Menus.cpp:3476
 msgid "Split Delete"
 msgstr "Dividir y borrar"
 
-#: Menus.cpp:3259
+#: Menus.cpp:3497
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Desunidos %.2f segundos en t=%.2f"
 
-#: Menus.cpp:3262
+#: Menus.cpp:3500
 msgid "Disjoin"
 msgstr "Desunir"
 
-#: Menus.cpp:3283
+#: Menus.cpp:3521
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Unidos %.2f segundos en t=%.2f"
 
-#: Menus.cpp:3286
+#: Menus.cpp:3524
 msgid "Join"
 msgstr "Unir"
 
-#: Menus.cpp:3305
+#: Menus.cpp:3543
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Pistas seleccionadas silenciadas durante %.2f segundos en %.2f"
 
-#: Menus.cpp:3307 toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3545 toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Silenciar"
 
-#: Menus.cpp:3341
+#: Menus.cpp:3575
 msgid "Duplicate"
 msgstr "Duplicar"
 
-#: Menus.cpp:3341
+#: Menus.cpp:3575
 msgid "Duplicated"
 msgstr "Duplicado"
 
-#: Menus.cpp:3360
+#: Menus.cpp:3594
 msgid "Cut Labels"
 msgstr "Cortar etiquetas"
 
-#: Menus.cpp:3360
+#: Menus.cpp:3594
 msgid "Cut labeled regions to the clipboard"
 msgstr "Cortar zonas etiquetadas y guardar en portapapeles"
 
-#: Menus.cpp:3374
+#: Menus.cpp:3608
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Dividir y cortar zonas etiquetadas en el portapapeles"
 
-#: Menus.cpp:3375
+#: Menus.cpp:3609
 msgid "Split Cut Labels"
 msgstr "Dividir y cortar etiquetas"
 
-#: Menus.cpp:3389
+#: Menus.cpp:3623
 msgid "Copied labeled regions to the clipboard"
 msgstr "Pegadas zonas etiquetadas desde el portapapeles"
 
-#: Menus.cpp:3389
+#: Menus.cpp:3623
 msgid "Copy Labels"
 msgstr "Copiar etiquetas"
 
-#: Menus.cpp:3401
+#: Menus.cpp:3635
 msgid "Delete Labels"
 msgstr "Borrar etiquetas"
 
-#: Menus.cpp:3401
+#: Menus.cpp:3635
 msgid "Deleted labeled regions"
 msgstr "Zonas etiquetadas borradas"
 
-#: Menus.cpp:3413
+#: Menus.cpp:3647
 msgid "Split Delete Labels"
 msgstr "Dividir y borrar etiquetas"
 
-#: Menus.cpp:3413
+#: Menus.cpp:3647
 msgid "Split Deleted labeled regions"
 msgstr "Dividir y borrar zonas etiquetadas"
 
-#: Menus.cpp:3425
+#: Menus.cpp:3659
 msgid "Silence Labels"
 msgstr "Silenciar en etiquetas"
 
-#: Menus.cpp:3425
+#: Menus.cpp:3659
 msgid "Silenced labeled regions"
 msgstr "Silenciar zonas etiquetadas"
 
-#: Menus.cpp:3437
+#: Menus.cpp:3671
 msgid "Split Labels"
 msgstr "Dividir en etiquetas"
 
-#: Menus.cpp:3437
+#: Menus.cpp:3671
 msgid "Split labeled regions"
 msgstr "Dividir en las zonas etiquetadas"
 
-#: Menus.cpp:3449
+#: Menus.cpp:3683
 msgid "Join Labels"
 msgstr "Unir etiquetas"
 
-#: Menus.cpp:3449
+#: Menus.cpp:3683
 msgid "Joined labeled regions"
 msgstr "Unir zonas etiquetadas"
 
-#: Menus.cpp:3461
+#: Menus.cpp:3695
 msgid "Disjoin Labels"
 msgstr "Desunir etiquetas"
 
-#: Menus.cpp:3461
+#: Menus.cpp:3695
 msgid "Disjoined labeled regions"
 msgstr "Desunir zonas etiquetadas"
 
-#: Menus.cpp:3483 TrackPanel.cpp:6134
+#: Menus.cpp:3717 TrackPanel.cpp:6257
 msgid "Split"
 msgstr "Dividir"
 
-#: Menus.cpp:3577
+#: Menus.cpp:3806
 msgid "Split New"
 msgstr "Dividir y nuevo"
 
-#: Menus.cpp:3577
+#: Menus.cpp:3806
 msgid "Split to new track"
 msgstr "Dividir en una nueva pista"
 
-#: Menus.cpp:3660
+#: Menus.cpp:3888
 msgid "Split at labels"
 msgstr "Dividir en las etiquetas"
 
-#: Menus.cpp:3961
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Para dibujar el espectro, todas las pistas seleccionadas deben tener la misma frecuencia de muestreo."
-
-#: Menus.cpp:3987
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Demasiado audio seleccionado.  Sólo los primeros %.1f segundos de audio serán analizados."
-
-#: Menus.cpp:4122
+#: Menus.cpp:4302
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Etiquetas Importadas de '%s'"
 
-#: Menus.cpp:4123
+#: Menus.cpp:4303
 msgid "Import Labels"
 msgstr "Importar etiquetas"
 
-#: Menus.cpp:4134
+#: Menus.cpp:4314
 msgid "Select a MIDI file..."
 msgstr "Seleccionar un archivo MIDI..."
 
-#: Menus.cpp:4138
-msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr "Archivos MIDI y Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|Archivos MIDI (*.mid;*.midi)|*.mid;*.midi|Archivos Allegro (*.gro)|*.gro|Todos los archivos (*.*)|*.*"
+#: Menus.cpp:4318
+msgid ""
+"MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*."
+"mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
+msgstr ""
+"Archivos MIDI y Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|Archivos "
+"MIDI (*.mid;*.midi)|*.mid;*.midi|Archivos Allegro (*.gro)|*.gro|Todos los "
+"archivos (*.*)|*.*"
 
-#: Menus.cpp:4154
+#: Menus.cpp:4334
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "MIDI importado de '%s'"
 
-#: Menus.cpp:4155
+#: Menus.cpp:4335
 msgid "Import MIDI"
 msgstr "Importar MIDI"
 
-#: Menus.cpp:4169
+#: Menus.cpp:4349
 msgid "Select any uncompressed audio file..."
 msgstr "Seleccione algún archivo de audio descomprimido..."
 
-#: Menus.cpp:4173
+#: Menus.cpp:4353
 msgid "All files (*)|*"
 msgstr "Todos los archivos (*)|*"
 
-#: Menus.cpp:4197
+#: Menus.cpp:4377
 msgid "Edit the metadata tags"
 msgstr "Editar las etiquetas de metadatos"
 
-#: Menus.cpp:4198 export/Export.cpp:353
+#: Menus.cpp:4378 export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Editar metadatos"
 
-#: Menus.cpp:4198
+#: Menus.cpp:4378
 msgid "Edit Metadata tags"
 msgstr "Editar etiquetas de metadatos"
 
-#: Menus.cpp:4254
+#: Menus.cpp:4433
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Generado todo el audio en la pista '%s'"
 
-#: Menus.cpp:4255
+#: Menus.cpp:4434
 msgid "Render"
 msgstr "Generar"
 
-#: Menus.cpp:4260
+#: Menus.cpp:4439
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "Mezclado y generado %d pistas en una nueva pista estéreo"
 
-#: Menus.cpp:4263
+#: Menus.cpp:4442
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Mezcladas y generadas %d pistas en una nueva pista mono"
 
-#: Menus.cpp:4265 Mix.cpp:121
-msgid "&Mix and Render"
-msgstr "&Mezclar y generar"
+#: Menus.cpp:4444 Mix.cpp:120
+msgid "Mix and Render"
+msgstr "Mezclar y generar"
 
-#: Menus.cpp:4395
+#: Menus.cpp:4576
 msgid "Aligned with zero"
 msgstr "Alineado en cero"
 
-#: Menus.cpp:4399
+#: Menus.cpp:4580
 msgid "Aligned cursor"
 msgstr "Cursor alineado"
 
-#: Menus.cpp:4403
+#: Menus.cpp:4584
 msgid "Aligned with selection start"
 msgstr "Alineado con comienzo de selección"
 
-#: Menus.cpp:4407
+#: Menus.cpp:4588
 msgid "Aligned with selection end"
 msgstr "Alineado con final de selección"
 
-#: Menus.cpp:4411
+#: Menus.cpp:4592
 msgid "Aligned end with cursor"
 msgstr "Alineado final con cursor"
 
-#: Menus.cpp:4415
+#: Menus.cpp:4596
 msgid "Aligned end with selection start"
 msgstr "Alineado final con comienzo de selección"
 
-#: Menus.cpp:4419
+#: Menus.cpp:4600
 msgid "Aligned end with selection end"
 msgstr "Alineado final con final de selección"
 
-#: Menus.cpp:4423
+#: Menus.cpp:4604
 msgid "Aligned"
 msgstr "Alineado"
 
-#: Menus.cpp:4456
+#: Menus.cpp:4637
 msgid "Align"
 msgstr "Alinear"
 
-#: Menus.cpp:4541
+#: Menus.cpp:4723
 msgid "Sync MIDI with Audio"
 msgstr "Sincronizar MIDI con audio"
 
-#: Menus.cpp:4545
+#: Menus.cpp:4727
 msgid "Alignment completed."
 msgstr "Alineamiento completado."
 
-#: Menus.cpp:4556
+#: Menus.cpp:4738
 msgid "Created new audio track"
 msgstr "Nueva pista de audio creada"
 
-#: Menus.cpp:4556 Menus.cpp:4579 Menus.cpp:4594 Menus.cpp:4614
+#: Menus.cpp:4738 Menus.cpp:4760 Menus.cpp:4775 Menus.cpp:4795
 msgid "New Track"
 msgstr "Nueva pista"
 
-#: Menus.cpp:4579
+#: Menus.cpp:4760
 msgid "Created new stereo audio track"
 msgstr "Nueva pista de audio estéreo creada"
 
-#: Menus.cpp:4594
+#: Menus.cpp:4775
 msgid "Created new label track"
 msgstr "Nueva pista de etiqueta creada"
 
-#: Menus.cpp:4603
+#: Menus.cpp:4784
 msgid "The version of Audacity you are using does not support multiple time tracks."
-msgstr "La versión de Audacity que está utilizando no soporta múltiples pistas de tiempo."
+msgstr ""
+"La versión de Audacity que está utilizando no soporta múltiples pistas de "
+"tiempo."
 
-#: Menus.cpp:4614
+#: Menus.cpp:4795
 msgid "Created new time track"
 msgstr "Nueva pista de tiempo creada"
 
-#: Menus.cpp:4669
+#: Menus.cpp:4855
 msgid "Added label"
 msgstr "Etiqueta añadida"
 
-#: Menus.cpp:4704
+#: Menus.cpp:4890
 msgid "Edited labels"
 msgstr "Etiquetas editadas"
 
-#: Menus.cpp:4731
+#: Menus.cpp:4917
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Guardar archivo de configuración de limpieza de locución como:"
 
-#: Menus.cpp:4735
+#: Menus.cpp:4921
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Configuración de limpieza de locución (*.csp)|*.csp"
 
-#: Menus.cpp:4742 export/Export.cpp:605
+#: Menus.cpp:4928 export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Las rutas de carpetas no pueden superar los 256 caracteres."
 
-#: Menus.cpp:4788
+#: Menus.cpp:4974
 msgid "Problem encountered exporting presets."
 msgstr "Se ha encontrado un problema al exportar la configuración."
 
-#: Menus.cpp:4789 export/Export.cpp:468
+#: Menus.cpp:4975 export/Export.cpp:472
 msgid "Unable to export"
 msgstr "No se puede exportar"
 
-#: Menus.cpp:4973
+#: Menus.cpp:5158
 msgid "Remove Track"
 msgstr "Eliminar pista"
 
-#: Menus.cpp:4973
+#: Menus.cpp:5158
 msgid "Removed audio track(s)"
 msgstr "Pista(s) de audio eliminadas"
 
-#: Menus.cpp:5130 Menus.cpp:5185 export/ExportFFmpeg.cpp:710
-#: export/ExportMP3.cpp:1928
+#: Menus.cpp:5314 Menus.cpp:5370 export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Remuestrear"
 
-#: Menus.cpp:5150 TrackPanel.cpp:6361
+#: Menus.cpp:5335 TrackPanel.cpp:6481
 msgid "New sample rate (Hz):"
 msgstr "Nueva frecuencia de muestreo (Hz):"
 
-#: Menus.cpp:5174 TrackPanel.cpp:6385
+#: Menus.cpp:5359 TrackPanel.cpp:6505
 msgid "The entered value is invalid"
 msgstr "El valor introducido es inválido"
 
-#: Menus.cpp:5183
+#: Menus.cpp:5368
 #, c-format
 msgid "Resampling track %d"
 msgstr "Remuestreando pista %d"
 
-#: Menus.cpp:5192
+#: Menus.cpp:5377
 msgid "Resample Track"
 msgstr "Remuestrear pista"
 
-#: Menus.cpp:5192
+#: Menus.cpp:5377
 msgid "Resampled audio track(s)"
 msgstr "Pista(s) de audio remuestreadas"
 
@@ -2829,7 +3332,7 @@ msgstr "Pista(s) de audio remuestreadas"
 msgid "Mix"
 msgstr "Mezclar"
 
-#: Mix.cpp:122
+#: Mix.cpp:121
 msgid "Mixing and rendering tracks"
 msgstr "Mezclando y generando pistas"
 
@@ -2837,40 +3340,44 @@ msgstr "Mezclando y generando pistas"
 msgid "Note Track"
 msgstr "Pista de notas"
 
-#: Printing.cpp:192
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Se encontró un problema al imprimir."
 
-#: Printing.cpp:193
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Imprimir"
 
-#: Project.cpp:673
+#: Project.cpp:671
+msgid "Repeat Last Effect"
+msgstr "Repetir el último efecto"
+
+#: Project.cpp:776
 msgid "Main Mix"
 msgstr "Mezclador principal"
 
-#: Project.cpp:797
+#: Project.cpp:894
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Bienvenido a la versión %s de Audacity"
 
-#: Project.cpp:957
+#: Project.cpp:1049
 msgid "(Recovered)"
 msgstr "(Recuperado)"
 
-#: Project.cpp:1546 TrackPanel.cpp:796 toolbars/ControlToolBar.cpp:192
+#: Project.cpp:1718 TrackPanel.cpp:846 toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Grabar"
 
-#: Project.cpp:1546 TrackPanel.cpp:796
+#: Project.cpp:1718 TrackPanel.cpp:846
 msgid "Recorded Audio"
 msgstr "Audio grabado"
 
-#: Project.cpp:1564
+#: Project.cpp:1736
 msgid "Save changes before closing?"
 msgstr "¿Desea guardar los cambios antes de cerrar?"
 
-#: Project.cpp:1567
+#: Project.cpp:1739
 msgid ""
 "\n"
 "If saved, the project will have no tracks.\n"
@@ -2888,23 +3395,23 @@ msgstr ""
 "hasta que todas las pistas estén abiertas. En ese momento \n"
 "seleccione Archivo > Guardar proyecto."
 
-#: Project.cpp:1570
+#: Project.cpp:1742
 msgid "Save changes?"
 msgstr "¿Guardar cambios?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "Todos los archivos|*.*|Todos los archivos soportados|"
+#: Project.cpp:1954
+msgid "All files|*|All supported files|"
+msgstr "Todos los archivos|*|Todos los archivos soportados|"
 
-#: Project.cpp:1802
+#: Project.cpp:1984
 msgid "Select one or more audio files..."
 msgstr "Seleccione uno o más archivos de audio..."
 
-#: Project.cpp:1829
+#: Project.cpp:2011
 msgid "Audacity projects|*.aup|"
 msgstr "Proyectos Audacity|*.aup|"
 
-#: Project.cpp:1882 Project.cpp:2304
+#: Project.cpp:2071 Project.cpp:2506
 #, c-format
 msgid ""
 "This file was saved by Audacity %s, a much\n"
@@ -2924,19 +3431,35 @@ msgstr ""
 "\n"
 "¿Le gustaría abrir el archivo ahora?"
 
-#: Project.cpp:1883
+#: Project.cpp:2072
 msgid "1.0 or earlier"
 msgstr "1.0 o anterior"
 
-#: Project.cpp:1889 Project.cpp:2316
+#: Project.cpp:2078 Project.cpp:2518
 msgid "Opening old project file"
 msgstr "Abriendo un archivo de proyecto antiguo"
 
-#: Project.cpp:1915 Project.cpp:1923
+#: Project.cpp:2102
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"Está intentado abrir un archivo de copia de seguridad generado automáticamente.\n"
+"Esto puede conllevar una grave perdida de datos.\n"
+"\n"
+"En su lugar, abra el archivo de proyecto de Audacity."
+
+#: Project.cpp:2103
+msgid "Backup file detected"
+msgstr "Archivo de copia de seguridad detectado"
+
+#: Project.cpp:2117 Project.cpp:2125 xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Error al abrir archivo"
 
-#: Project.cpp:1929
+#: Project.cpp:2131
 #, c-format
 msgid ""
 "File may be invalid or corrupted: \n"
@@ -2945,40 +3468,44 @@ msgstr ""
 "El archivo podría ser inválido o estar dañado: \n"
 "%s"
 
-#: Project.cpp:1930
+#: Project.cpp:2132
 msgid "Error opening file or project"
 msgstr "Error al abrir el archivo o proyecto"
 
-#: Project.cpp:1950
-msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
-msgstr "Audacity no pudo convertir un proyecto de Audacity 1.0 al nuevo formato de proyecto."
+#: Project.cpp:2152
+msgid ""
+"Audacity was unable to convert an Audacity 1.0 project to the new project "
+"format."
+msgstr ""
+"Audacity no pudo convertir un proyecto de Audacity 1.0 al nuevo formato de "
+"proyecto."
 
-#: Project.cpp:2053
+#: Project.cpp:2259
 msgid "Could not remove old auto save file"
 msgstr "No se ha podido eliminar el archivo de guardado automático"
 
-#: Project.cpp:2055
+#: Project.cpp:2261
 msgid "Project was recovered"
 msgstr "El proyecto fue recuperado"
 
-#: Project.cpp:2055
+#: Project.cpp:2261
 msgid "Recover"
 msgstr "Recuperar"
 
-#: Project.cpp:2084
+#: Project.cpp:2290
 msgid "Project checker repaired file"
 msgstr "La comprobación de proyectos recuperó el archivo"
 
-#: Project.cpp:2084 effects/Repair.h:29
+#: Project.cpp:2290 effects/Repair.h:29
 msgid "Repair"
 msgstr "Reparación"
 
-#: Project.cpp:2230
+#: Project.cpp:2431
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "No se ha podido encontrar la carpeta de datos de proyecto: \"%s\""
 
-#: Project.cpp:2273
+#: Project.cpp:2475
 #, c-format
 msgid ""
 "This file was saved using Audacity %s.\n"
@@ -2989,25 +3516,28 @@ msgstr ""
 "Está usando Audacity %s. Necesita actualizar a una\n"
 "versión más moderna para poder abrir este archivo."
 
-#: Project.cpp:2277
+#: Project.cpp:2479
 msgid "Can't open project file"
 msgstr "No se puede abrir el archivo de proyecto"
 
-#: Project.cpp:2311
+#: Project.cpp:2513
 #, c-format
 msgid ""
 "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
 "Este archivo fue guardado por Audacity %s.\n"
-"La versión actual puede abrirlo, pero si lo guarda con  esta versión no podrá volverlo a abrir con versiones antiguas de Audacity.\n"
-"una copia de seguridad previamente.\n"
 "\n"
-"¿Le gustaría abrir el archivo de todos modos?"
+"Audacity puede abrir y guardar este archivo, pero guardarlo en esta versión\n"
+"evitará que pueda ser abierto de nuevo con la versión 1.2 o anterior.\n"
+"\n"
+"¿Quiere abrir el archivo de todos modos?"
 
-#: Project.cpp:2537
+#: Project.cpp:2711
 msgid ""
 "Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
@@ -3028,213 +3558,408 @@ msgstr ""
 "\n"
 "¿Guardar de todos modos?"
 
-#: Project.cpp:2538
+#: Project.cpp:2712
 msgid "Warning empty project"
 msgstr "Proyecto vacío"
 
-#: Project.cpp:2588
+#: Project.cpp:2821
 #, c-format
 msgid ""
 "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 "No se ha podido guardar el proyecto. Tal vez %s \n"
 "no se pueda escribir o el disco esté lleno."
 
-#: Project.cpp:2590 Project.cpp:2605
+#: Project.cpp:2823 Project.cpp:2849
 msgid "Error saving project"
 msgstr "Error al guardar el proyecto"
 
-#: Project.cpp:2680
+#: Project.cpp:2847 Project.cpp:3950 Tags.cpp:1203
+#: effects/Equalization.cpp:1095
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "No se ha podido escribir en el archivo \"%s\": %s"
+
+#: Project.cpp:2927
 #, c-format
 msgid "Saved %s"
 msgstr "Se guardó %s"
 
-#: Project.cpp:2806
+#: Project.cpp:3080
 #, c-format
 msgid "Imported '%s'"
 msgstr "'%s' importado"
 
-#: Project.cpp:2807 import/ImportPCM.cpp:483 import/ImportPCM.cpp:527
+#: Project.cpp:3081
 msgid "Import"
 msgstr "Importar"
 
-#: Project.cpp:2840 Project.cpp:2848
+#: Project.cpp:3116
 msgid "Error importing"
 msgstr "Error al importar"
 
-#: Project.cpp:2882
+#: Project.cpp:3163
 msgid "Save Speech As:"
 msgstr "Guardar locución como:"
 
-#: Project.cpp:2884
+#: Project.cpp:3165
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Archivo de audio PCM de Windows (*.wav)|*.wav"
 
-#: Project.cpp:2891
+#: Project.cpp:3172
 msgid ""
-"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
-"Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
-"To open a compressed project takes longer than usual, as it imports each compressed track. \n"
+"Audacity compressed project files (.aup) save your work in a smaller, "
+"compressed (.ogg) format. \n"
+"Compressed project files are a good way to transmit your project online, "
+"because they are much smaller. \n"
+"To open a compressed project takes longer than usual, as it imports each "
+"compressed track. \n"
 "\n"
 "Most other programs can't open Audacity project files.\n"
-"When you want to save a file that can be opened by other programs, select one of the\n"
+"When you want to save a file that can be opened by other programs, select "
+"one of the\n"
 "Export commands."
 msgstr ""
 "Los archivo de proyecto comprimidos de Audacity (.aup) le permiten guardar \n"
 "su trabajo en un formato más pequeño y comprimido (.ogg).\n"
-"Los archivos de proyecto comprimidos suponen un buen métido para transmitir proyectos online, ya que son mucho más pequeños.\n"
-"Abrir un proyecto comprimido requiere más tiempo de lo habitual, ya que se tiene que importar cada pista comprimida.\n"
+"Los archivos de proyecto comprimidos suponen un buen métido para transmitir "
+"proyectos online, ya que son mucho más pequeños.\n"
+"Abrir un proyecto comprimido requiere más tiempo de lo habitual, ya que se "
+"tiene que importar cada pista comprimida.\n"
 "\n"
-"La mayoría de los programas no pueden abrir archivos de proyecto de Audacity.\n"
-"Cuando quiera guardar un archivo que deba ser abierto con otros programas, seleccione \n"
+"La mayoría de los programas no pueden abrir archivos de proyecto de "
+"Audacity.\n"
+"Cuando quiera guardar un archivo que deba ser abierto con otros programas, "
+"seleccione \n"
 "una de las opciones de Exportar."
 
-#: Project.cpp:2894
+#: Project.cpp:3175
 msgid ""
 "You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
-"To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
+"To save an audio file for other programs, use one of the \"File > Export\" "
+"commands.\n"
 msgstr ""
 "Esta guardando un archivo como proyecto de Audacity (.aup).\n"
 "\n"
-"Guardar un proyecto crea un archivo que sólo puede ser abierto con Audacity.\n"
+"Guardar un proyecto crea un archivo que sólo puede ser abierto con "
+"Audacity.\n"
 "\n"
-"Para crear un archivo de audio que pueda ser utilizado en otros programas utilice una de las opciones de \"Archivo > Exportar\".\n"
+"Para crear un archivo de audio que pueda ser utilizado en otros programas "
+"utilice una de las opciones de \"Archivo > Exportar\".\n"
+
+#: Project.cpp:3177
+msgid "Save Project As..."
+msgstr "Guardar proyecto como..."
 
-#: Project.cpp:2898
+#: Project.cpp:3179
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Proyectos de Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2952
+#: Project.cpp:3228
 msgid "Created new project"
 msgstr "Nuevo proyecto creado"
 
-#: Project.cpp:3111
+#: Project.cpp:3372
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Borrados %.2f segundos en t=%.2f"
 
-#: Project.cpp:3114 effects/Equalization.cpp:1276
-#: effects/Equalization.cpp:2607
+#: Project.cpp:3375 effects/Equalization.cpp:1295
+#: effects/Equalization.cpp:2647
 msgid "Delete"
 msgstr "Borrar"
 
-#: Project.cpp:3308
+#: Project.cpp:3569
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Espacio de disco disponible para grabar %d horas y %d minutos."
 
-#: Project.cpp:3311
+#: Project.cpp:3572
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Espacio de disco disponible para grabar 1 hora y %d minutos."
 
-#: Project.cpp:3314
+#: Project.cpp:3575
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Espacio de disco disponible para grabar %d minutos."
 
-#: Project.cpp:3317
+#: Project.cpp:3578
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Espacio de disco disponible para grabar %d segundos."
 
-#: Project.cpp:3320
+#: Project.cpp:3581
 msgid "Out of disk space"
 msgstr "Sin espacio en disco"
 
-#: Project.cpp:3333
+#: Project.cpp:3594
 #, c-format
-msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr "Importación completada.Ejecutando %d calculos de formas de onda bajo demanda. Total de %2.0f%% completadas."
+msgid ""
+"Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f"
+"%% complete."
+msgstr ""
+"Importación completada.Ejecutando %d calculos de formas de onda bajo "
+"demanda. Total de %2.0f%% completadas."
 
-#: Project.cpp:3336
+#: Project.cpp:3597
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr "Importación completada. Ejecutando un cálculo de forma de onda bajo demanda.  %2.0f%% completados."
+msgstr ""
+"Importación completada. Ejecutando un cálculo de forma de onda bajo "
+"demanda.  %2.0f%% completados."
 
-#: Project.cpp:3614
+#: Project.cpp:3881
 msgid "Could not remove old autosave file: "
 msgstr "No se ha podido eliminar el archivo de guardado automático anterior: "
 
-#: Project.cpp:3655
+#: Project.cpp:3922
 msgid "New Project"
 msgstr "Nuevo proyecto"
 
-#: Project.cpp:3668
+#: Project.cpp:3952
 msgid "Error writing autosave file"
 msgstr "Error al escribir el archivo de guardado automático"
 
-#: Project.cpp:3693
+#: Project.cpp:3967
 msgid "Could not create autosave file: "
 msgstr "No se ha podido crear el archivo de guardado automático: "
 
-#: Project.cpp:3719
+#: Project.cpp:3993
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Frecuencia real: %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample de Dominic Mazzoni y Julius Smith"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Interpolación de sincronía de alta calidad"
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Interpolación de sincronía rápida"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate de Erik de Castro Lopo"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Error de Libsamplerate: %d\n"
 
-#: Resample.cpp:240 Resample.cpp:250
+#: Resample.cpp:252 Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Remuestreo desactivado."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-bit flotante"
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Área de captura de pantalla"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Seleccione una carpeta para guardar los archivos"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Guardar imágenes en:"
+
+#: Screenshot.cpp:328 export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Seleccionar..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Capturar la ventana completa o la pantalla"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Reducir ventana"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Aumentar ventana"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Fondo azul"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Fondo blanco"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Capturar interior de ventana"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Capturar la ventana completa"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Capturar ventana extra"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Capturar pantalla completa"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Esperar cinco segundos y capturar el cuadro de diálogo o ventana en primer plano"
+
+#: Screenshot.cpp:369 effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "falso"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Capturar una parte de la ventana de proyecto"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Todas las barras de herramientas"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "Barra de selección"
+
+#: Screenshot.cpp:381 toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Herramientas"
+
+#: Screenshot.cpp:382 effects/Contrast.cpp:410 toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr "Control"
+
+#: Screenshot.cpp:388 effects/LoadEffects.cpp:114 toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:245
+msgid "Mixer"
+msgstr "Mezclador"
+
+#: Screenshot.cpp:389 toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr "Medidor"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "Edición"
+
+#: Screenshot.cpp:391 prefs/DevicePrefs.cpp:131 prefs/DevicePrefs.cpp:144
+#: prefs/MidiIOPrefs.cpp:137 prefs/MidiIOPrefs.cpp:150
+#: toolbars/DeviceToolBar.cpp:57 toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr "Dispositivo"
+
+#: Screenshot.cpp:392 toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:253
+msgid "Transcription"
+msgstr "Transcripción"
+
+#: Screenshot.cpp:398 TrackPanel.cpp:442 TrackPanel.cpp:443
+msgid "Track Panel"
+msgstr "Panel de pista"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Regla"
+
+#: Screenshot.cpp:400 export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287 prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Pistas"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Primera pista"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Segunda pista"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Escala"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Un segundo"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "Diez segundos"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Un minuto"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "Cinco minutos"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Una hora"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Pistas cortas"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Pistas medias"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Pistas largas"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Guardado "
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "Error al intentar guardar el archivo: "
 
-#: Sequence.cpp:745 Sequence.cpp:755 Sequence.cpp:762
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Seleccione una carpeta para almacenar las capturas de pantalla"
+
+#: Sequence.cpp:799 Sequence.cpp:809 Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "Se ha detectado un hueco en el archivo del proyecto\n"
 
-#: ShuttleGui.cpp:1972 effects/Effect.cpp:417
-#: effects/audiounits/AudioUnitEffect.cpp:877
+#: ShuttleGui.cpp:2034 effects/Effect.cpp:436
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr "&Vista previa"
 
-#: ShuttleGui.cpp:1979
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Depurar"
 
@@ -3247,121 +3972,125 @@ msgid "Activation level (dB):"
 msgstr "Nivel de activación (dB):"
 
 #: SplashDialog.cpp:60
-msgid "&Welcome to Audacity!"
-msgstr "&Bienvenido a Audacity"
+msgid "Welcome to Audacity!"
+msgstr "Bienvenido a Audacity"
 
 #: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
 msgstr "No volver a mostrar esta ventana en el inicio del programa"
 
-#: Tags.cpp:640
+#: Tags.cpp:629
 msgid "Artist Name"
 msgstr "Artista"
 
-#: Tags.cpp:641
+#: Tags.cpp:630
 msgid "Track Title"
 msgstr "Nombre de pista"
 
-#: Tags.cpp:642
+#: Tags.cpp:631
 msgid "Album Title"
 msgstr "Título del álbum"
 
-#: Tags.cpp:643
+#: Tags.cpp:632
 msgid "Track Number"
 msgstr "Número de pista"
 
-#: Tags.cpp:644 Tags.cpp:2147
+#: Tags.cpp:633
 msgid "Year"
 msgstr "Año"
 
-#: Tags.cpp:645
+#: Tags.cpp:634
 msgid "Genre"
 msgstr "Género"
 
-#: Tags.cpp:646 Tags.cpp:2157 prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Comentarios"
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr "Use las teclas de cursor (o Intro después de editar) para desplazarse por los campos."
+msgstr ""
+"Use las teclas de cursor (o Intro después de editar) para desplazarse por "
+"los campos."
 
-#: Tags.cpp:813
-msgid "Tag Name"
+#: Tags.cpp:812
+msgid "Tag"
 msgstr "Etiqueta"
 
-#: Tags.cpp:814
-msgid "Tag Value"
-msgstr "Valor de la etiqueta"
+#: Tags.cpp:813
+msgid "Value"
+msgstr "Valor"
 
-#: Tags.cpp:829 Tags.cpp:1486 prefs/KeyConfigPrefs.cpp:116
-msgid "&Clear"
-msgstr "&Limpiar"
+#: Tags.cpp:828
+msgid "Cl&ear"
+msgstr "L&impiar"
 
-#: Tags.cpp:835
+#: Tags.cpp:834
 msgid "Genres"
 msgstr "Géneros"
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
 msgstr "E&ditar..."
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
 msgstr "Res&tablecer..."
 
-#: Tags.cpp:845 Tags.cpp:1470 Tags.cpp:1997
+#: Tags.cpp:844
 msgid "Template"
 msgstr "Plantilla"
 
-#: Tags.cpp:849 Tags.cpp:1474 Tags.cpp:2001 prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:848 prefs/KeyConfigPrefs.cpp:167
 msgid "&Load..."
 msgstr "&Cargar..."
 
-#: Tags.cpp:850 Tags.cpp:1475 Tags.cpp:2002 prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:849 prefs/KeyConfigPrefs.cpp:168
 msgid "&Save..."
 msgstr "&Guardar..."
 
-#: Tags.cpp:852 Tags.cpp:1477 Tags.cpp:2004
-msgid "S&et Default"
+#: Tags.cpp:851
+msgid "Set De&fault"
 msgstr "&Establecer valores predeterminados"
 
-#: Tags.cpp:1002 Tags.cpp:1640 Tags.cpp:2368
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr "Editar géneros"
 
-#: Tags.cpp:1035 Tags.cpp:1047 Tags.cpp:1062 Tags.cpp:1075 Tags.cpp:1678
-#: Tags.cpp:1690 Tags.cpp:1705 Tags.cpp:1718 Tags.cpp:2411 Tags.cpp:2423
-#: Tags.cpp:2438 Tags.cpp:2451
+#: Tags.cpp:1034 Tags.cpp:1046 Tags.cpp:1061 Tags.cpp:1074
 msgid "Reset Genres"
 msgstr "Restablecer géneros"
 
-#: Tags.cpp:1035 Tags.cpp:1075 Tags.cpp:1678 Tags.cpp:1718 Tags.cpp:2411
-#: Tags.cpp:2451
+#: Tags.cpp:1034 Tags.cpp:1074
 msgid "Unable to save genre file."
 msgstr "No se puede guardar archivo de género."
 
-#: Tags.cpp:1046 Tags.cpp:1689 Tags.cpp:2422
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
-msgstr "¿Está seguro de que desea restablecer la lista de géneros a los valores predeterminados?"
+msgstr ""
+"¿Está seguro de que desea restablecer la lista de géneros a los valores "
+"predeterminados?"
 
-#: Tags.cpp:1062 Tags.cpp:1705 Tags.cpp:2438
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr "No se puede abrir el archivo de género."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
 msgstr "Cargar metadato como:"
 
-#: Tags.cpp:1122 Tags.cpp:1772 Tags.cpp:2494
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr "Error al cargar metadato"
 
-#: Tags.cpp:1097 Tags.cpp:1151 Tags.cpp:1751 Tags.cpp:1787 Tags.cpp:2473
-#: Tags.cpp:2509
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr "Guardar metadato como:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "Error al guardar el archivo de etiquetas"
+
 #: Theme.cpp:638
 #, c-format
 msgid ""
@@ -3432,7 +4161,7 @@ msgstr ""
 "del tema en:\n"
 "  %s."
 
-#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:172
 #, c-format
 msgid ""
 "Could not create directory:\n"
@@ -3461,462 +4190,488 @@ msgstr ""
 "  %s\n"
 "ya están presentes."
 
-#: TimeDialog.cpp:53 TimerRecordDialog.cpp:227 TimerRecordDialog.cpp:305
-#: TimerRecordDialog.cpp:309 effects/Noise.cpp:243 effects/ToneGen.cpp:323
-#: effects/ToneGen.cpp:366
+#: TimeDialog.h:29 TimerRecordDialog.cpp:233 TimerRecordDialog.cpp:354
+#: TimerRecordDialog.cpp:358 effects/DtmfGen.cpp:446 effects/Noise.cpp:191
+#: effects/Noise.cpp:207 effects/ToneGen.cpp:279 effects/ToneGen.cpp:291
+#: effects/ToneGen.cpp:323 effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr "Duración"
 
-#: TimerRecordDialog.cpp:68
+#: TimeTrack.cpp:44
+msgid "Time Track"
+msgstr "Pista de tiempo"
+
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Grabación programada de Audacity"
 
-#: TimerRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "La duración es cero. No se grabará nada."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Error en la duración"
+
+#: TimerRecordDialog.cpp:230
 msgid "Recording start"
 msgstr "Comienzo de la grabación"
 
-#: TimerRecordDialog.cpp:225
+#: TimerRecordDialog.cpp:231
 msgid "Recording end"
 msgstr "Fin de la grabación"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:237
 msgid "Audacity Timer Record Progress"
 msgstr "Progreso de grabación programada de Audacity"
 
-#: TimerRecordDialog.cpp:267
+#: TimerRecordDialog.cpp:316
 msgid "Start Date and Time"
 msgstr "Fecha y hora de comienzo"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:323
 msgid "Start Date"
 msgstr "Fecha inicial"
 
-#: TimerRecordDialog.cpp:286
+#: TimerRecordDialog.cpp:335
 msgid "End Date and Time"
 msgstr "Fecha y hora de final"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:343
 msgid "End Date"
 msgstr "Fecha final"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: TimerRecordDialog.cpp:381
+#: TimerRecordDialog.cpp:430
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Esperando para comenzar la grabación en %s.\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:436
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Grabación programada de Audacity. Esperando para comenzar"
 
-#: TrackPanel.cpp:457 TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "Panel de pista"
-
-#: TrackPanel.cpp:541 prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:596 prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "Otro..."
 
-#: TrackPanel.cpp:549 TrackPanel.cpp:571 TrackPanel.cpp:580 TrackPanel.cpp:588
-#: TrackPanel.cpp:5793
+#: TrackPanel.cpp:604 TrackPanel.cpp:627 TrackPanel.cpp:636 TrackPanel.cpp:644
 msgid "Name..."
 msgstr "Nombre..."
 
-#: TrackPanel.cpp:551 TrackPanel.cpp:573 TrackPanel.cpp:584 TrackPanel.cpp:590
-#: TrackPanel.cpp:5797
+#: TrackPanel.cpp:606 TrackPanel.cpp:629 TrackPanel.cpp:640 TrackPanel.cpp:646
 msgid "Move Track Up"
 msgstr "Desplazar pista hacia arriba"
 
-#: TrackPanel.cpp:552 TrackPanel.cpp:574 TrackPanel.cpp:585 TrackPanel.cpp:591
-#: TrackPanel.cpp:5798
+#: TrackPanel.cpp:607 TrackPanel.cpp:630 TrackPanel.cpp:641 TrackPanel.cpp:647
 msgid "Move Track Down"
 msgstr "Desplazar pista hacia abajo"
 
-#: TrackPanel.cpp:554 effects/ToneGen.cpp:319 prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:609 effects/ToneGen.cpp:275 prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Forma de onda"
 
-#: TrackPanel.cpp:555 prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:610 prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Forma de onda (dB)"
 
-#: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:612 prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
 msgstr "Espectro logarítmico (f)"
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:558 prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:613 prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Tono (EAC)"
 
-#: TrackPanel.cpp:560 TrackPanel.cpp:6096
+#: TrackPanel.cpp:615 TrackPanel.cpp:6200
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:561 TrackPanel.cpp:6095
+#: TrackPanel.cpp:616 TrackPanel.cpp:6199
 msgid "Left Channel"
 msgstr "Canal izquierdo"
 
-#: TrackPanel.cpp:562 TrackPanel.cpp:6095
+#: TrackPanel.cpp:617 TrackPanel.cpp:6199
 msgid "Right Channel"
 msgstr "Canal derecho"
 
-#: TrackPanel.cpp:563
+#: TrackPanel.cpp:618
 msgid "Make Stereo Track"
 msgstr "Hacer pista estéreo"
 
-#: TrackPanel.cpp:564
+#: TrackPanel.cpp:619
 msgid "Split Stereo Track"
 msgstr "Dividir pista estéreo"
 
-#: TrackPanel.cpp:566
+#: TrackPanel.cpp:620
+msgid "Split Stereo to Mono"
+msgstr "Dividir pista estéreo a mono"
+
+#: TrackPanel.cpp:622
 msgid "Set Sample Format"
 msgstr "Establecer formato de muestra"
 
-#: TrackPanel.cpp:568 TrackPanel.cpp:6341
+#: TrackPanel.cpp:624 TrackPanel.cpp:6461
 msgid "Set Rate"
 msgstr "Establecer frecuencia"
 
-#: TrackPanel.cpp:576
+#: TrackPanel.cpp:632
 msgid "Up Octave"
 msgstr "Subir una octava"
 
-#: TrackPanel.cpp:577
+#: TrackPanel.cpp:633
 msgid "Down Octave"
 msgstr "Bajar una octava"
 
-#: TrackPanel.cpp:582 TrackPanel.cpp:5795
+#: TrackPanel.cpp:638
 msgid "Font..."
 msgstr "Tipo de letra..."
 
-#: TrackPanel.cpp:593
+#: TrackPanel.cpp:649
 msgid "Set Range..."
 msgstr "Establecer rango..."
 
-#: TrackPanel.cpp:597 toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:653 toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Copiar"
 
-#: TrackPanel.cpp:1258
-msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
-msgstr "Haga clic para acercar verticalmente, Mayús-Clic para alejar. Arrastre para acercar una zona en concreto."
+#: TrackPanel.cpp:1302
+msgid ""
+"Click to vertically zoom in, Shift-click to zoom out, Drag to create a "
+"particular zoom region."
+msgstr ""
+"Haga clic para acercar verticalmente, Mayús-Clic para alejar. Arrastre para "
+"acercar una zona en concreto."
 
-#: TrackPanel.cpp:1263
+#: TrackPanel.cpp:1307
 msgid "Drag the label vertically to change the order of the tracks."
-msgstr "Arrastre la etiqueta hacia arriba o abajo para cambiar el orden de las pistas."
+msgstr ""
+"Arrastre la etiqueta hacia arriba o abajo para cambiar el orden de las "
+"pistas."
 
-#: TrackPanel.cpp:1283
+#: TrackPanel.cpp:1327
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Haga clic y arrastre para modificar el tamaño relativo de las pistas estéreo."
 
-#: TrackPanel.cpp:1286
+#: TrackPanel.cpp:1330
 msgid "Click and drag to resize the track."
 msgstr "Haga clic y arrastre para modificar el tamaño de la pista."
 
-#: TrackPanel.cpp:1317
+#: TrackPanel.cpp:1361
 msgid "Drag one or more label boundaries"
 msgstr "Arrastrar uno o más límites de etiqueta"
 
-#: TrackPanel.cpp:1318
+#: TrackPanel.cpp:1362
 msgid "Drag label boundary"
 msgstr "Arrastrar límite de etiqueta"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1334
+#: TrackPanel.cpp:1378
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Modo multiherramienta: Cmd- para preferencias de ratón y teclado"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1337
+#: TrackPanel.cpp:1381
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Modo multiherramienta: Ctrl+P para preferencias de ratón y teclado"
 
-#: TrackPanel.cpp:1383
+#: TrackPanel.cpp:1427
 msgid "Click and drag to move left selection boundary."
 msgstr "Haga clic y arrastre para mover el límite izquierdo de la selección."
 
-#: TrackPanel.cpp:1388
+#: TrackPanel.cpp:1432
 msgid "Click and drag to move right selection boundary."
 msgstr "Haga clic y arrastre para mover el límite derecho de la selección."
 
-#: TrackPanel.cpp:1730 TrackPanel.cpp:3959 TrackPanel.cpp:3991
-#: TrackPanel.cpp:4255 TrackPanel.cpp:6490 TrackPanel.cpp:6510
+#: TrackPanel.cpp:1770 TrackPanel.cpp:4054 TrackPanel.cpp:4086
+#: TrackPanel.cpp:4348 TrackPanel.cpp:6610 TrackPanel.cpp:6630
 msgid "Modified Label"
 msgstr "Etiqueta modificada"
 
-#: TrackPanel.cpp:1731 TrackPanel.cpp:3960 TrackPanel.cpp:3992
-#: TrackPanel.cpp:4256 TrackPanel.cpp:6491 TrackPanel.cpp:6511
+#: TrackPanel.cpp:1771 TrackPanel.cpp:4055 TrackPanel.cpp:4087
+#: TrackPanel.cpp:4349 TrackPanel.cpp:6611 TrackPanel.cpp:6631
 msgid "Label Edit"
 msgstr "Edición de etiqueta"
 
-#: TrackPanel.cpp:1971
+#: TrackPanel.cpp:2009
 msgid "Adjusted envelope."
 msgstr "Envolvente ajustada."
 
-#: TrackPanel.cpp:1972 prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:2010 prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Envolvente"
 
-#: TrackPanel.cpp:2123
+#: TrackPanel.cpp:2160
 msgid "Moved clip to another track"
 msgstr "Bloque desplazado a otra pista"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2164
 msgid "left"
 msgstr "izquierdo"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2164
 msgid "right"
 msgstr "derecho"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2129
+#: TrackPanel.cpp:2166
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Pistas o bloques desplazados en el tiempo %s %.02f segundos"
 
-#: TrackPanel.cpp:2133 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
-#: prefs/MousePrefs.cpp:113
+#: TrackPanel.cpp:2170 prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Desplazamiento en el tiempo"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2964
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr "Para usar la herramienta de dibujo seleccione 'Forma de onda' en el menú desplegable de pista."
+msgstr ""
+"Para usar la herramienta de dibujo seleccione 'Forma de onda' en el menú "
+"desplegable de pista."
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2981
 msgid "To use Draw, zoom in further until you can see the individual samples."
-msgstr "Para utilizar la herramienta de dibujo debe acercar la pista hasta poder ver las muestras individuales."
+msgstr ""
+"Para utilizar la herramienta de dibujo debe acercar la pista hasta poder ver "
+"las muestras individuales."
 
-#: TrackPanel.cpp:3205
+#: TrackPanel.cpp:3255
 msgid "Moved Sample"
 msgstr "Muestra movida"
 
-#: TrackPanel.cpp:3206
+#: TrackPanel.cpp:3256
 msgid "Sample Edit"
 msgstr "Edición de muestra"
 
-#: TrackPanel.cpp:3305
+#: TrackPanel.cpp:3349
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Pista '%s' eliminada"
 
-#: TrackPanel.cpp:3307
+#: TrackPanel.cpp:3351
 msgid "Track Remove"
 msgstr "Eliminación de pista"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3497
 msgid "Moved gain slider"
 msgstr "Desplazado el control de ganancia"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3497
 msgid "Moved pan slider"
 msgstr "Desplazado el control de panorama"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3449 TrackPanel.cpp:5703 TrackPanel.cpp:7244
+#: TrackPanel.cpp:3498 TrackPanel.cpp:5801 TrackPanel.cpp:7254
 msgid "Gain"
 msgstr "Ganancia"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3449 TrackPanel.cpp:5641 TrackPanel.cpp:7251
+#: TrackPanel.cpp:3498 TrackPanel.cpp:5749 TrackPanel.cpp:7262
 msgid "Pan"
 msgstr "Panorama"
 
-#: TrackPanel.cpp:3576 TrackPanel.cpp:6441
+#: TrackPanel.cpp:3664 TrackPanel.cpp:6561
 msgid "up"
 msgstr "arriba"
 
-#: TrackPanel.cpp:3580 TrackPanel.cpp:6442
+#: TrackPanel.cpp:3668 TrackPanel.cpp:6562
 msgid "down"
 msgstr "abajo"
 
-#: TrackPanel.cpp:3587 TrackPanel.cpp:6437
+#: TrackPanel.cpp:3675 TrackPanel.cpp:6557
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Movida '%s' %s"
 
-#: TrackPanel.cpp:3590 TrackPanel.cpp:6443
+#: TrackPanel.cpp:3678 TrackPanel.cpp:6563
 msgid "Move Track"
 msgstr "Desplazar pista"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4249
 msgid "Expand"
 msgstr "Expandir"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4249
 msgid "Expanded Cut Line"
 msgstr "Expandida la línea de corte"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4258
 msgid "Merge"
 msgstr "Combinar"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4258
 msgid "Merged Clips"
 msgstr "Bloques combinados"
 
-#: TrackPanel.cpp:4176
+#: TrackPanel.cpp:4269
+msgid "Remove"
+msgstr "Eliminar"
+
+#: TrackPanel.cpp:4269
 msgid "Removed Cut Line"
 msgstr "Eliminada la línea de corte"
 
-#: TrackPanel.cpp:5641
+#: TrackPanel.cpp:5749
 msgid "Adjusted Pan"
 msgstr "Panorama ajustado"
 
-#: TrackPanel.cpp:5703
+#: TrackPanel.cpp:5801
 msgid "Adjusted gain"
 msgstr "Ganancia ajustada"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr "Agrupar con la pista de onda"
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr "Limpiar cualquier agrupamiento"
-
-#: TrackPanel.cpp:5923
+#: TrackPanel.cpp:6030
 msgid "Can't delete track with active audio"
 msgstr "No se puede borrar una pista con audio activo"
 
-#: TrackPanel.cpp:6076
+#: TrackPanel.cpp:6180
 msgid "Stereo, "
 msgstr "Estéreo, "
 
-#: TrackPanel.cpp:6079
+#: TrackPanel.cpp:6183
 msgid "Mono, "
 msgstr "Mono, "
 
-#: TrackPanel.cpp:6081
+#: TrackPanel.cpp:6185
 msgid "Left, "
 msgstr "Izquierdo, "
 
-#: TrackPanel.cpp:6083
+#: TrackPanel.cpp:6187
 msgid "Right, "
 msgstr "Derecho, "
 
-#: TrackPanel.cpp:6105 TrackPanel.cpp:6251
+#: TrackPanel.cpp:6209 TrackPanel.cpp:6371
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Cambiado '%s' a %s"
 
-#: TrackPanel.cpp:6110
+#: TrackPanel.cpp:6212
 msgid "Channel"
 msgstr "Canal"
 
-#: TrackPanel.cpp:6131
+#: TrackPanel.cpp:6253
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Dividir pista estéreo '%s'"
 
-#: TrackPanel.cpp:6169
+#: TrackPanel.cpp:6255
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "Dividir pista estéro a mono '%s'"
+
+#: TrackPanel.cpp:6287
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Se convirtió a estéreo la pista '%s'"
 
-#: TrackPanel.cpp:6172
+#: TrackPanel.cpp:6290
 msgid "Make Stereo"
 msgstr "Hacer estéreo"
 
-#: TrackPanel.cpp:6215
+#: TrackPanel.cpp:6335
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "Cambiado '%s' a %d Hz"
 
-#: TrackPanel.cpp:6217
+#: TrackPanel.cpp:6337
 msgid "Rate Change"
 msgstr "Cambio de frecuencia"
 
-#: TrackPanel.cpp:6255
+#: TrackPanel.cpp:6375
 msgid "Format Change"
 msgstr "Cambio de formato"
 
-#: TrackPanel.cpp:6405
+#: TrackPanel.cpp:6525
 msgid "Change lower speed limit (%) to:"
 msgstr "Cambiar el límite inferior de velocidad (%) a:"
 
-#: TrackPanel.cpp:6406 TrackPanel.cpp:6407
+#: TrackPanel.cpp:6526 TrackPanel.cpp:6527
 msgid "Lower speed limit"
 msgstr "Límite inferior de velocidad"
 
-#: TrackPanel.cpp:6412
+#: TrackPanel.cpp:6532
 msgid "Change upper speed limit (%) to:"
 msgstr "Cambiar el límite superior de velocidad (%) a:"
 
-#: TrackPanel.cpp:6413 TrackPanel.cpp:6414
+#: TrackPanel.cpp:6533 TrackPanel.cpp:6534
 msgid "Upper speed limit"
 msgstr "Límite superior de velocidad"
 
-#: TrackPanel.cpp:6422
+#: TrackPanel.cpp:6542
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Establecer rango en '%d' - '%d'"
 
-#: TrackPanel.cpp:6425
+#: TrackPanel.cpp:6545
 msgid "Set Range"
 msgstr "Establecer rango"
 
-#: TrackPanel.cpp:6472
+#: TrackPanel.cpp:6592
 msgid "Change track name to:"
 msgstr "Cambiar  nombre de pista a:"
 
-#: TrackPanel.cpp:6473
+#: TrackPanel.cpp:6593
 msgid "Track Name"
 msgstr "Nombre de pista"
 
-#: TrackPanel.cpp:6476
+#: TrackPanel.cpp:6596
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "'%s' renombrado a '%s'"
 
-#: TrackPanel.cpp:6479
+#: TrackPanel.cpp:6599
 msgid "Name Change"
 msgstr "Cambio de nombre"
 
-#: TrackPanel.cpp:6580
+#: TrackPanel.cpp:6665
 msgid "Label Track Font"
 msgstr "Tipo de letra de la pista de etiqueta"
 
-#: TrackPanel.cpp:6592 TrackPanel.cpp:6598
+#: TrackPanel.cpp:6677 TrackPanel.cpp:6683
 msgid "Face name"
 msgstr "Nombre de tipografía"
 
-#: TrackPanel.cpp:6602 TrackPanel.cpp:6609
+#: TrackPanel.cpp:6687 TrackPanel.cpp:6694
 msgid "Face size"
 msgstr "Tamaño de tipografía"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:6943
+msgid "Stereo, 999999Hz"
+msgstr "Estéreo, 999999Hz"
+
+#: TrackPanel.cpp:7203
 msgid "Mute"
 msgstr "Silencio"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:7203
 msgid "Solo"
 msgstr "Solo"
 
-#: TrackPanelAx.cpp:273
+#: TrackPanelAx.cpp:285
 msgid "TrackView"
 msgstr "Vista de pista"
 
-#: TrackPanelAx.cpp:281
+#: TrackPanelAx.cpp:293
 msgid "Track Accessible out of sync"
 msgstr "Pista accesible fuera de sincronía"
 
-#: TrackPanelAx.cpp:289
+#: TrackPanelAx.cpp:301
 #, c-format
 msgid "Track %d"
 msgstr "Pista %d"
 
-#: TrackPanelAx.cpp:295
+#: TrackPanelAx.cpp:307
 msgid " Mute On"
 msgstr " Silencio activado"
 
-#: TrackPanelAx.cpp:300
+#: TrackPanelAx.cpp:312
 msgid " Solo On"
 msgstr " Solo activado"
 
-#: TrackPanelAx.cpp:304
+#: TrackPanelAx.cpp:316
 msgid " Select On"
 msgstr " Selección activada"
 
@@ -3943,33 +4698,37 @@ msgstr "Cambios de signo        -- significa: %1.4f  sd: (%1.4f)\n"
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr "Cambios de dirección  -- significa: %1.4f  sd: (%1.4f)\n"
 
-#: WaveTrack.cpp:88
+#: WaveTrack.cpp:87
 msgid "Audio Track"
 msgstr "Pista de audio"
 
-#: WaveTrack.cpp:597 WaveTrack.cpp:616 WaveTrack.cpp:1057 WaveTrack.cpp:1076
+#: WaveTrack.cpp:976 WaveTrack.cpp:995
 msgid "There is not enough room available to paste the selection"
 msgstr "No hay espacio suficiente para pegar la selección"
 
-#: WaveTrack.cpp:2052
+#: WaveTrack.cpp:2021
 msgid "There is not enough room available to expand the cut line"
 msgstr "No hay espacio suficiente para expandir la línea de corte"
 
-#: commands/CommandManager.cpp:555
+#: commands/CommandManager.cpp:549
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Complementos del 1 al %i"
 
-#: commands/CommandManager.cpp:569
+#: commands/CommandManager.cpp:563
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Complementos del %i al %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Deshabilitado por algún motivo. ¿Ha probado a seleccionar algo de audio previamente?"
+#: commands/CommandManager.cpp:928
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Se encontró un problema con la última acción. Si piensa\n"
+"que es un error, explíquenos exactamente dónde sucedio."
 
-#: commands/CommandManager.cpp:892
+#: commands/CommandManager.cpp:932
 msgid ""
 "You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
@@ -3977,7 +4736,7 @@ msgstr ""
 "Sólo puede hacer esto cuando la reproducción y la \n"
 "grabación están detenidas (no basta con la pausa)."
 
-#: commands/CommandManager.cpp:894
+#: commands/CommandManager.cpp:934
 msgid ""
 "You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
@@ -3985,11 +4744,11 @@ msgstr ""
 "Primero debe seleccionar audio estéreo para\n"
 "utilizar esto (no se puede hacer con mono)."
 
-#: commands/CommandManager.cpp:896
+#: commands/CommandManager.cpp:936
 msgid "You must first select some audio for this to use."
 msgstr "Primero debe seleccionar audio para utilizar esto."
 
-#: commands/CommandManager.cpp:898
+#: commands/CommandManager.cpp:938
 msgid ""
 "You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
@@ -3997,50 +4756,50 @@ msgstr ""
 "Primero debe seleccionar audio para utilizar\n"
 "esto (seleccionar otro tipo de pista no funcionará)"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:943
 msgid "Disallowed"
 msgstr "Desestimado"
 
-#: commands/CommandManager.cpp:1083
+#: commands/CommandManager.cpp:1167
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "%d accesos directos cargados\n"
 
-#: commands/CommandManager.cpp:1085
+#: commands/CommandManager.cpp:1169
 msgid "Loading keyboard shortcuts"
 msgstr "Cargando accesos directos"
 
-#: effects/Amplify.cpp:52
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Efecto aplicado: %s %.1f dB"
 
-#: effects/Amplify.cpp:139
+#: effects/Amplify.cpp:136
 msgid "Amplify"
 msgstr "Amplificado"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:152 effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
 msgstr "de Dominic Mazzoni"
 
-#: effects/Amplify.cpp:168
+#: effects/Amplify.cpp:165
 msgid "Amplification (dB):"
 msgstr "Amplificación (dB):"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:180
 msgid "Amplification dB"
 msgstr "Amplificación dB"
 
-#: effects/Amplify.cpp:190
+#: effects/Amplify.cpp:187
 msgid "New Peak Amplitude (dB):"
 msgstr "Nuevo pico de amplitud (dB):"
 
-#: effects/Amplify.cpp:200
+#: effects/Amplify.cpp:197
 msgid "Allow clipping"
 msgstr "Permitir recorte"
 
-#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
+#: effects/Amplify.cpp:219 effects/Amplify.cpp:276 effects/Amplify.cpp:320
 msgid "-Infinity"
 msgstr "-Infinito"
 
@@ -4052,68 +4811,78 @@ msgstr "Amplificado..."
 msgid "Amplifying"
 msgstr "Amplificando"
 
-#: effects/AutoDuck.cpp:125
-msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
-msgstr "Se ha seleccionado una pista que no contiene audio.  Auto Duck solo puede procesar pistas de audio."
+#: effects/AutoDuck.cpp:140
+msgid ""
+"You selected a track which does not contain audio. AutoDuck can only process "
+"audio tracks."
+msgstr ""
+"Se ha seleccionado una pista que no contiene audio.  Auto Duck solo puede "
+"procesar pistas de audio."
 
-#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:141 effects/AutoDuck.cpp:153 effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr "Auto Duck"
 
-#: effects/AutoDuck.cpp:137
-msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
-msgstr "Auto Duck necesita una pista de control que se debe situar debajo de la pista(s) seleccionada."
+#: effects/AutoDuck.cpp:152
+msgid ""
+"Auto Duck needs a control track which must be placed below the selected track"
+"(s)."
+msgstr ""
+"Auto Duck necesita una pista de control que se debe situar debajo de la pista"
+"(s) seleccionada."
 
-#: effects/AutoDuck.cpp:465
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr "Auto Duck de Markus Meyer"
 
-#: effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr "Cantidad de Duck:"
 
-#: effects/AutoDuck.cpp:492
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr "Pausa máxima:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:172 prefs/AudioIOPrefs.cpp:180
-#: prefs/AudioIOPrefs.cpp:182 prefs/AudioIOPrefs.cpp:207
-#: prefs/AudioIOPrefs.cpp:209 prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163 prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:197
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:508 effects/AutoDuck.cpp:513 effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:528 prefs/MidiIOPrefs.cpp:185
+#: prefs/MidiIOPrefs.cpp:187 prefs/MidiIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:211 prefs/MidiIOPrefs.cpp:219
+#: prefs/PlaybackPrefs.cpp:65 prefs/PlaybackPrefs.cpp:66
+#: prefs/PlaybackPrefs.cpp:80 prefs/PlaybackPrefs.cpp:81
+#: prefs/PlaybackPrefs.cpp:87 prefs/PlaybackPrefs.cpp:88
+#: prefs/PlaybackPrefs.cpp:102 prefs/PlaybackPrefs.cpp:103
+#: prefs/PlaybackPrefs.cpp:109 prefs/PlaybackPrefs.cpp:110
+#: widgets/TimeTextCtrl.cpp:265
 msgid "seconds"
 msgstr "segundos"
 
-#: effects/AutoDuck.cpp:497
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr "Longitud de caída exterior:"
 
-#: effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr "Longitud de subida exterior:"
 
-#: effects/AutoDuck.cpp:507
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr "Longitud de caída interior:"
 
-#: effects/AutoDuck.cpp:512
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr "Longitud de subida interior:"
 
-#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:494
+#: effects/AutoDuck.cpp:535 effects/Compressor.cpp:506
 msgid "Threshold:"
 msgstr "Umbral:"
 
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr "Introduzca valores válidos."
 
-#: effects/AutoDuck.cpp:705
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr "Vista previa no disponible"
 
@@ -4125,9 +4894,8 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "Procesando Auto Duck..."
 
-#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:455
-#: effects/audiounits/AudioUnitEffect.cpp:882 effects/nyquist/Nyquist.cpp:1053
-#: widgets/ErrorDialog.cpp:101
+#: effects/AvcCompressor.cpp:738 effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237 widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "Aceptar"
 
@@ -4152,7 +4920,7 @@ msgstr "Frecuencia (Hz):"
 msgid "Frequency Hertz"
 msgstr "Frecuencia Herztios"
 
-#: effects/BassBoost.cpp:208
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Realce (dB):"
 
@@ -4189,12 +4957,12 @@ msgstr "Cambiar tono"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Cambiar tono sin cambiar ritmo"
 
-#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:336
-#: effects/ChangeTempo.cpp:173
+#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "de Vaughan Johnson y Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:260 effects/ChangeTempo.cpp:175
+#: effects/ChangePitch.cpp:260 effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "uso de SoundTouch, de Olli Parviainen"
 
@@ -4234,8 +5002,8 @@ msgstr "Semitonos (pasos intermedios):"
 msgid "Semitones in half-steps"
 msgstr "Semitonos en pasos intermedios"
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:206 effects/ChangeTempo.cpp:219
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
 msgid "from"
 msgstr "desde"
 
@@ -4243,8 +5011,8 @@ msgstr "desde"
 msgid "From frequency in hertz"
 msgstr "Desde frencuencia en hertzios"
 
-#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:374
-#: effects/ChangeTempo.cpp:211 effects/ChangeTempo.cpp:224
+#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214 effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "a"
 
@@ -4252,13 +5020,13 @@ msgstr "a"
 msgid "To frequency in seconds"
 msgstr "A frecuencia en segundos"
 
-#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:347
-#: effects/ChangeTempo.cpp:184
+#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Porcentaje de cambio:"
 
 #: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:195
+#: effects/ChangeSpeed.cpp:359 effects/ChangeTempo.cpp:198
 msgid "Percent Change"
 msgstr "Porcentaje de cambio"
 
@@ -4275,33 +5043,33 @@ msgstr "Cambiando tono"
 msgid "Applied effect: %s %.1f%%"
 msgstr "Efecto aplicado: %s %.1f%%"
 
-#: effects/ChangeSpeed.cpp:298
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Cambio de velocidad"
 
 #. i18n-hint: n/a is an English abbreviation meaning "not applicable"
 #. (in other words, unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:329
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "no disponible"
 
-#: effects/ChangeSpeed.cpp:334
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Cambio de velocidad afectando a tiempo y a ritmo"
 
-#: effects/ChangeSpeed.cpp:338
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "uso de SampleRate, de Erik de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
 msgstr "RPM de vinilo estándar:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
 msgstr "Desde RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
 msgstr "A RPM"
 
@@ -4313,35 +5081,35 @@ msgstr "Cambio de velocidad..."
 msgid "Changing Speed"
 msgstr "Cambiando velocidad"
 
-#: effects/ChangeTempo.cpp:138
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Cambiar ritmo"
 
-#: effects/ChangeTempo.cpp:171
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Cambiar ritmo sin cambiar tono"
 
-#: effects/ChangeTempo.cpp:203
+#: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
 msgstr "Compases por minuto:"
 
-#: effects/ChangeTempo.cpp:207
+#: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
 msgstr "Desde compases por minuto"
 
-#: effects/ChangeTempo.cpp:212
+#: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
 msgstr "A compases por minuto"
 
-#: effects/ChangeTempo.cpp:216
+#: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
 msgstr "Duración (segundos):"
 
-#: effects/ChangeTempo.cpp:220
+#: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
 msgstr "Desde duración en segundos"
 
-#: effects/ChangeTempo.cpp:225
+#: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
 msgstr "A duración en segundos"
 
@@ -4369,11 +5137,11 @@ msgstr "Seleccionar umbral (valores menores indican más sensibilidad):"
 msgid "Select threshold"
 msgstr "Seleccionar umbral"
 
-#: effects/ClickRemoval.cpp:353
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Ancho de pico máximo (valores mayores indican más sensibilidad):"
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
 msgstr "Ancho de pico máximo"
 
@@ -4385,100 +5153,104 @@ msgstr "Eliminación de click...."
 msgid "Removing clicks and pops..."
 msgstr "Eliminando click y pop..."
 
-#: effects/Compressor.cpp:461
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Compresor de rango dinámico"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
 msgstr "Umbral"
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
 msgstr "Proporción:"
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
 msgstr "Proporción"
 
-#: effects/Compressor.cpp:510
+#: effects/Compressor.cpp:522
 msgid "Attack Time:"
 msgstr "Tiempo de ataque:"
 
-#: effects/Compressor.cpp:514
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
 msgstr "Tiempo de ataque"
 
-#: effects/Compressor.cpp:518
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
 msgstr "Tiempo de decaimiento:"
 
-#: effects/Compressor.cpp:522
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
 msgstr "Tiempo de decaimiento"
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalizar a 0 dB después de comprimir"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Composición de ganancia para 0db después de la compresión"
 
-#: effects/Compressor.cpp:563
+#: effects/Compressor.cpp:575
 #, c-format
 msgid "Threshold %d dB"
 msgstr "Umbral %d dB"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
 msgstr "%3d dB"
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
 msgstr "Proporción %.0f a 1"
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
 msgstr "%.0f:1"
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
 msgstr "Proporción %.1f a 1"
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
 msgstr "%.1f:1"
 
-#: effects/Compressor.cpp:575
+#: effects/Compressor.cpp:587
 #, c-format
 msgid "Attack Time %.1f secs"
 msgstr "Timpo de ataque %.1f seg"
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588 effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
 msgstr "%.1f seg"
 
-#: effects/Compressor.cpp:578
+#: effects/Compressor.cpp:590
 #, c-format
 msgid "Decay Time %.1f secs"
 msgstr "Tiempo de decaimiento % 1f seg"
 
-#: effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Compresión..."
 
-#: effects/Compressor.h:50
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Aplicando compresión de rango dinámico..."
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Análisis de contraste"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
 msgstr "Herramienta de contraste de sonido principal"
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:88
 msgid ""
 "Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
@@ -4486,7 +5258,7 @@ msgstr ""
 "Tiempos de sonido principal seleccionados.\n"
 "Ahora seleccione el sonido de fondo y use Ctrl+Mayús+T o menú de nuevo."
 
-#: effects/Contrast.cpp:127
+#: effects/Contrast.cpp:144
 msgid ""
 "Start time after after end time!\n"
 "Please enter reasonable times."
@@ -4494,7 +5266,7 @@ msgstr ""
 "El punto de inicio finaliza después del punto final!\n"
 "Introduzca unos valores razonables."
 
-#: effects/Contrast.cpp:137
+#: effects/Contrast.cpp:154
 msgid ""
 "Times are not reasonable!\n"
 "Please enter reasonable times."
@@ -4502,281 +5274,250 @@ msgstr ""
 "Los tiempos no son razonables\n"
 "Introduzca unos valores con sentido."
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr "Hola.\n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr "Analizador de contraste de audio WCAG2"
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr "Medido"
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
 msgstr "Analizador de contraste"
 
-#: effects/Contrast.cpp:235
-msgid "Parameters"
-msgstr "Parámetros"
-
-#: effects/ToneGen.cpp:355 toolbars/ControlToolBar.cpp:186
+#: effects/Contrast.cpp:286 effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
 msgstr "Comienzo"
 
-#: effects/ToneGen.cpp:356 toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:156 toolbars/SelectionBar.cpp:159
-#: toolbars/SelectionBar.cpp:262
+#: effects/Contrast.cpp:287 effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184 toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Fin"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
 msgstr "Volumen     "
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
 msgstr "Principal:"
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
 msgstr "Punto de inicio de sonido principal"
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
 msgstr "Punto de fin de sonido principal"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:329 effects/Contrast.cpp:373 effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr "Medido"
+
+#: effects/Contrast.cpp:331 effects/Contrast.cpp:375
 msgid "Use selection"
 msgstr "Utilizar selección"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:336
 msgid "Background:"
 msgstr "Fondo:"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
 msgstr "Punto de inicio de sonido de fondo"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
 msgstr "Punto de fin de sonido de fondo"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:384
 msgid "Result"
 msgstr "Resultado"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
 msgstr "Resultado de contraste:"
 
-#: Tags.cpp:840 Tags.cpp:1990
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr "Restablecer"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:392
 msgid "Difference:"
 msgstr "Diferencia:"
 
-#: effects/Contrast.cpp:313
+#: effects/Contrast.cpp:403
 msgid "Information"
 msgstr "Información"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
 msgstr "Para medir diferencias de volumnen rms entre dos selecciones de audio"
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr "Ayuda del Analizador de contraste de audio WCAG2"
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "Control"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "Cerrar (manteniendo intervalos)"
 
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr "Nota: El botón 'Aceptar' restablece los valores de tiempo."
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr "Cerrar manteniendo los tiempos"
-
-#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:474 effects/Contrast.cpp:480 effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
 msgstr "Medición"
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
 msgstr "No hay principal que medir"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
 msgstr "Nivel de medición de principal"
 
-#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
+#: effects/Contrast.cpp:537 effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
 msgstr "%.1f dB"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
 msgstr "No hay fondo que medir"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
 msgstr "Nivel de medición de fondo"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
 msgstr "WCAG2 superado"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
 msgstr "WCAG2 no superado"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
 msgstr "Diferencia actual"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
 msgstr "%.1f dB rms de media"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
 msgstr "Introduzca tiempos válidos"
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
 msgstr "Exportar resultado de contraste como:"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
 msgstr "Resultados de contraste de WCAG 2.0 Success Criteria 1.4.7"
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
 msgstr "Nombre de archivo = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
 msgstr "Principal"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601 effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr "Tiempo comenzado = %2d hora(s), %2d minuto(s), %.2f segundos."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606 effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr "Tiempo finalizado = %2d hora(s), %2d minuto(s), %.2f segundos."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608 effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
 msgstr "Media de rms = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610 effects/Contrast.cpp:627
 msgid "Average rms =  dB."
 msgstr "Media de rms =  dB."
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:613
 msgid "Background"
 msgstr "Fondo"
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:629
 msgid "Results"
 msgstr "Resultados"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
 msgstr "Diferencia = %.1f media de rms dB."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
 msgstr "Success Criteria 1.4.7 de WCAG 2.0: Superado"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
 msgstr "Success Criteria 1.4.7 de WCAG 2.0: No superado"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
 msgstr "Información recopilada"
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr "Contraste...\tCtrl+Mayús+T"
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr "Midiendo fondo"
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr "Midiendo principal"
-
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "Generador de tonos DTMF"
 
-#: effects/DtmfGen.cpp:456
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "de Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:460
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "Secuencia DTMF:"
 
-#: effects/DtmfGen.cpp:463 effects/Noise.cpp:242 effects/ToneGen.cpp:322
-#: effects/ToneGen.cpp:359
+#: effects/DtmfGen.cpp:428 effects/Noise.cpp:190 effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Amplitud (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Duración:"
 
-#: effects/DtmfGen.cpp:486
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
 msgstr "Proporción de tono a silencio:"
 
-#: effects/DtmfGen.cpp:496
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr "Ciclo de trabajo:"
 
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Duración de tono:"
 
-#: effects/DtmfGen.cpp:499 effects/DtmfGen.cpp:501 effects/DtmfGen.cpp:577
-#: effects/DtmfGen.cpp:578
+#: effects/DtmfGen.cpp:465 effects/DtmfGen.cpp:467 effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:500
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Duración del silencio:"
 
-#: effects/DtmfGen.h:39
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
 msgstr "Tonos DTMF..."
 
-#: effects/DtmfGen.h:53
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr "Efecto aplicado: Generar tonos DTMF, %.6lf segundos"
 
-#: effects/DtmfGen.h:57
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
 msgstr "Generando tonos DTMF"
 
@@ -4785,21 +5526,21 @@ msgstr "Generando tonos DTMF"
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Efecto aplicado: %s retraso = %f segundos, factor de decaimiento = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Eco"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195 effects/Repeat.cpp:200
+#: effects/Echo.cpp:199 effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "de Dominic Mazzoni y Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Tiempo de retraso (segundos):"
 
-#: effects/Echo.cpp:212
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Factor de decaimiento:"
 
@@ -4811,107 +5552,115 @@ msgstr "Eco..."
 msgid "Performing Echo"
 msgstr "Aplicando eco"
 
-#: effects/Effect.cpp:467
+#: effects/Effect.cpp:498
 msgid "Preparing preview"
 msgstr "Preparando vista previa"
 
-#: effects/Effect.cpp:497
+#: effects/Effect.cpp:530
 msgid "Previewing"
 msgstr "Mostrando vista previa"
 
-#: effects/Effect.cpp:512
-msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
-msgstr "Error al abrir dispositivo de sonido. Por favor verifique la configuración del dispositivo de salida y la frecuencia de muestreo del proyecto."
+#: effects/Effect.cpp:545
+msgid ""
+"Error while opening sound device. Please check the output device settings "
+"and the project sample rate."
+msgstr ""
+"Error al abrir dispositivo de sonido. Por favor verifique la configuración "
+"del dispositivo de salida y la frecuencia de muestreo del proyecto."
 
-#: effects/Effect.h:100
+#: effects/Effect.h:96 effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Efecto aplicado: %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:338
 msgid "B-spline"
 msgstr "Curva b-spline"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:339
 msgid "Cosine"
 msgstr "Coseno"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:340
 msgid "Cubic"
 msgstr "Cúbico"
 
-#: effects/Equalization.cpp:367 effects/Equalization.cpp:416
+#: effects/Equalization.cpp:379 effects/Equalization.cpp:430
 msgid "Equalization"
 msgstr "Ecualización"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1009
 msgid "Error loading EQ curve"
 msgstr "Error al cargar la curva de ecualización"
 
-#: effects/Equalization.cpp:1033
+#: effects/Equalization.cpp:1048
 msgid "custom"
 msgstr "personalizado"
 
+#: effects/Equalization.cpp:1097
+msgid "Error saving equalization curves"
+msgstr "Error al guardar las curvas de ecualización"
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
-#: effects/Equalization.cpp:1101
+#: effects/Equalization.cpp:1120
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Ecualización de Mitch Golden y Vaughan Johnson"
 
-#: effects/Equalization.cpp:1122
+#: effects/Equalization.cpp:1141
 msgid "Max dB"
 msgstr "Máximo de dB"
 
-#: effects/Equalization.cpp:1124
+#: effects/Equalization.cpp:1143
 msgid "Min dB"
 msgstr "Mínimo de dB"
 
-#: effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1216
 msgid "kHz"
 msgstr "kHz"
 
-#: effects/Equalization.cpp:1214
+#: effects/Equalization.cpp:1233
 msgid "Draw curves"
 msgstr "Dibujar curvas"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1238
 msgid "Graphic EQ"
 msgstr "Ecualizador gráfico"
 
-#: effects/Equalization.cpp:1233
+#: effects/Equalization.cpp:1252
 msgid "Linear frequency scale"
 msgstr "Escala de frecuencia lineal"
 
-#: effects/Equalization.cpp:1242
+#: effects/Equalization.cpp:1261
 msgid "Length of filter:"
 msgstr "Longitud del filtro:"
 
-#: effects/Equalization.cpp:1263
+#: effects/Equalization.cpp:1282
 msgid "Select curve:"
 msgstr "Seleccionar curva:"
 
-#: effects/Equalization.cpp:1273 effects/Equalization.cpp:2512
-#: export/ExportMultiple.cpp:882
+#: effects/Equalization.cpp:1292 effects/Equalization.cpp:2552
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Guardar como..."
 
-#: effects/Equalization.cpp:1279
+#: effects/Equalization.cpp:1298
 msgid "Flat"
 msgstr "Plano"
 
-#: effects/Equalization.cpp:2511
+#: effects/Equalization.cpp:2551
 msgid "Enter the desired name of the curve"
 msgstr "Introduzca el nombre de la curva"
 
-#: effects/Equalization.cpp:2611 export/ExportFFmpegDialogs.cpp:1202
+#: effects/Equalization.cpp:2651 export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr "Confirmar borrado"
 
-#: effects/Equalization.h:84
+#: effects/Equalization.h:82
 msgid "Equalization..."
 msgstr "Ecualización..."
 
-#: effects/Equalization.h:98
+#: effects/Equalization.h:96
 msgid "Performing Equalization"
 msgstr "Aplicando ecualización"
 
@@ -4931,33 +5680,33 @@ msgstr "Desvanecer progresivamente"
 msgid "Fading Out"
 msgstr "Aplicando Desvanecer progresivamente"
 
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr "Detectar recorte"
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr "Recorte"
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
 msgstr "Buscar recorte"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr "de Leland Lucius"
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
 msgstr "Umbral de inicio (muestras):"
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
-msgstr "Umbral de parada (muestras):"
+msgstr "Umbral de detención (muestras):"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
-msgstr "Comenzar y parar debe ser mayor que cero."
+msgstr "Comenzar y detener debe ser mayor que cero."
 
 #: effects/FindClipping.h:37
 msgid "Find Clipping..."
@@ -4979,47 +5728,47 @@ msgstr "Invirtiendo"
 msgid "Leveller"
 msgstr "Nivelado"
 
-#: effects/Leveller.cpp:203
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Sin saltar nada"
 
-#: effects/Leveller.cpp:204
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "Ligero"
 
-#: effects/Leveller.cpp:205
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "Moderado"
 
-#: effects/Leveller.cpp:206
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "Pesado"
 
-#: effects/Leveller.cpp:207
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "Más pesado"
 
-#: effects/Leveller.cpp:208
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "El más pesado"
 
-#: effects/Leveller.cpp:212 effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "de Lynn Allan"
 
-#: effects/Leveller.cpp:222
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Grado de nivelado"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
 msgstr "Grado de nivelado:"
 
-#: effects/Leveller.cpp:234
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Umbral de ruido (Hiss/Hum/Ruido ambiental)"
 
-#: effects/Leveller.cpp:238
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
 msgstr "Umbral para ruido:"
 
@@ -5031,155 +5780,151 @@ msgstr "Nivelado..."
 msgid "Applying Leveller..."
 msgstr "Aplicando nivelado..."
 
-#: effects/LoadEffects.cpp:99
+#: effects/LoadEffects.cpp:102
 msgid "Generator"
 msgstr "Generador"
 
-#: effects/LoadEffects.cpp:101
+#: effects/LoadEffects.cpp:104
 msgid "Instrument"
 msgstr "Instrumento"
 
-#: effects/LoadEffects.cpp:103
+#: effects/LoadEffects.cpp:106
 msgid "Oscillator"
 msgstr "Oscilador"
 
-#: effects/LoadEffects.cpp:105
+#: effects/LoadEffects.cpp:108
 msgid "Utility"
 msgstr "Utilidad"
 
-#: effects/LoadEffects.cpp:107
+#: effects/LoadEffects.cpp:110
 msgid "Converter"
 msgstr "Conversor"
 
-#: effects/LoadEffects.cpp:109
+#: effects/LoadEffects.cpp:112
 msgid "Analyser"
 msgstr "Analizador"
 
-#: effects/LoadEffects.cpp:111 toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mezclador"
-
-#: effects/LoadEffects.cpp:113
+#: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr "Simulador"
 
-#: effects/LoadEffects.cpp:115
+#: effects/LoadEffects.cpp:118
 msgid "Delay"
 msgstr "Retardo"
 
-#: effects/LoadEffects.cpp:117
+#: effects/LoadEffects.cpp:120
 msgid "Modulator"
 msgstr "Modulador"
 
-#: effects/LoadEffects.cpp:119
+#: effects/LoadEffects.cpp:122
 msgid "Reverb"
 msgstr "Reverberación"
 
-#: effects/LoadEffects.cpp:121 effects/Phaser.cpp:208
+#: effects/LoadEffects.cpp:124 effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Cambio de fase"
 
-#: effects/LoadEffects.cpp:123
+#: effects/LoadEffects.cpp:126
 msgid "Flanger"
 msgstr "Flanger"
 
-#: effects/LoadEffects.cpp:125
+#: effects/LoadEffects.cpp:128
 msgid "Chorus"
 msgstr "Coro"
 
-#: effects/LoadEffects.cpp:127
+#: effects/LoadEffects.cpp:130
 msgid "Filter"
 msgstr "Filtro"
 
-#: effects/LoadEffects.cpp:129
+#: effects/LoadEffects.cpp:132
 msgid "Lowpass"
 msgstr "Paso bajo"
 
-#: effects/LoadEffects.cpp:131
+#: effects/LoadEffects.cpp:134
 msgid "Bandpass"
 msgstr "Paso de banda"
 
-#: effects/LoadEffects.cpp:133
+#: effects/LoadEffects.cpp:136
 msgid "Highpass"
 msgstr "Paso alto"
 
-#: effects/LoadEffects.cpp:135
+#: effects/LoadEffects.cpp:138
 msgid "Comb"
 msgstr "Comb"
 
-#: effects/LoadEffects.cpp:137
+#: effects/LoadEffects.cpp:140
 msgid "Allpass"
 msgstr "Paso de todos"
 
-#: effects/LoadEffects.cpp:139
+#: effects/LoadEffects.cpp:142
 msgid "Equaliser"
 msgstr "Ecualizador"
 
-#: effects/LoadEffects.cpp:141
+#: effects/LoadEffects.cpp:144
 msgid "Parametric"
 msgstr "Paramétrico"
 
-#: effects/LoadEffects.cpp:143
+#: effects/LoadEffects.cpp:146
 msgid "Multiband"
 msgstr "Multibanda"
 
-#: effects/LoadEffects.cpp:145
+#: effects/LoadEffects.cpp:148
 msgid "Spectral Processor"
 msgstr "Procesador de espectro"
 
-#: effects/LoadEffects.cpp:147
+#: effects/LoadEffects.cpp:150
 msgid "Pitch Shifter"
 msgstr "Desplazamiento de tono"
 
-#: effects/LoadEffects.cpp:149
+#: effects/LoadEffects.cpp:152
 msgid "Amplifier"
 msgstr "Amplicador"
 
-#: effects/LoadEffects.cpp:151
+#: effects/LoadEffects.cpp:154
 msgid "Distortion"
 msgstr "Distorsión"
 
-#: effects/LoadEffects.cpp:153
+#: effects/LoadEffects.cpp:156
 msgid "Waveshaper"
 msgstr "Perfilado de onda"
 
-#: effects/LoadEffects.cpp:155
+#: effects/LoadEffects.cpp:158
 msgid "Dynamics Processor"
 msgstr "Procesador dinámico"
 
-#: effects/LoadEffects.cpp:157
+#: effects/LoadEffects.cpp:160
 msgid "Compressor"
 msgstr "Compresor"
 
-#: effects/LoadEffects.cpp:159
+#: effects/LoadEffects.cpp:162
 msgid "Expander"
 msgstr "Expandidor"
 
-#: effects/LoadEffects.cpp:161
+#: effects/LoadEffects.cpp:164
 msgid "Limiter"
 msgstr "Limitador"
 
-#: effects/LoadEffects.cpp:163
+#: effects/LoadEffects.cpp:166
 msgid "Gate"
 msgstr "Puerta"
 
-#: effects/LoadEffects.cpp:196 effects/NoiseRemoval.cpp:725
+#: effects/LoadEffects.cpp:199 effects/NoiseRemoval.cpp:738
 msgid "Noise Removal"
 msgstr "Reducción de ruido"
 
-#: effects/LoadEffects.cpp:198
+#: effects/LoadEffects.cpp:201
 msgid "Pitch and Tempo"
 msgstr "Tono y ritmo"
 
-#: effects/LoadEffects.cpp:200
+#: effects/LoadEffects.cpp:203
 msgid "Timeline Changer"
 msgstr "Modicador de línea de tiempo"
 
-#: effects/LoadEffects.cpp:202
+#: effects/LoadEffects.cpp:205
 msgid "Time"
 msgstr "Tiempo"
 
-#: effects/LoadEffects.cpp:204
+#: effects/LoadEffects.cpp:207
 msgid "Onsets"
 msgstr "Comienzos"
 
@@ -5199,24 +5944,24 @@ msgstr "Marrón"
 msgid "Noise Generator"
 msgstr "Generador de ruido"
 
-#: effects/Noise.cpp:241
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Tipo de ruido:"
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr "Ruido..."
 
-#: effects/Noise.h:55
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Efecto aplicado: Generar ruido, %.6lf segundos"
 
-#: effects/Noise.h:59
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr "Generando ruido"
 
-#: effects/NoiseRemoval.cpp:192
+#: effects/NoiseRemoval.cpp:191
 #, c-format
 msgid ""
 "Could not open file:\n"
@@ -5225,15 +5970,15 @@ msgstr ""
 "No se ha podido abrir el archivo:\n"
 "  %s"
 
-#: effects/NoiseRemoval.cpp:277
+#: effects/NoiseRemoval.cpp:276
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Intentando aplicar reducción de ruido sin un perfil de ruido.\n"
 
-#: effects/NoiseRemoval.cpp:814
+#: effects/NoiseRemoval.cpp:827
 msgid "Step 1"
 msgstr "Paso 1"
 
-#: effects/NoiseRemoval.cpp:815
+#: effects/NoiseRemoval.cpp:828
 msgid ""
 "Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
@@ -5241,59 +5986,60 @@ msgstr ""
 "Seleccione unos segundos de ruido para que Audacity sepa qué filtrar, luego\n"
 "haga clic en Obtener perfil de ruido:"
 
-#: effects/NoiseRemoval.cpp:816
+#: effects/NoiseRemoval.cpp:829
 msgid "Step 2"
 msgstr "Paso 2"
 
-#: effects/NoiseRemoval.cpp:817
+#: effects/NoiseRemoval.cpp:830
 msgid ""
 "Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr ""
-"Seleccione todo el audio que desea filtrar, elija que porcentaje de ruido desea filtrar\n"
+"Seleccione todo el audio que desea filtrar, elija que porcentaje de ruido "
+"desea filtrar\n"
 "y luego haga clic en Aceptar para eliminar el ruido.\n"
 
-#: effects/NoiseRemoval.cpp:822
+#: effects/NoiseRemoval.cpp:835
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Reducción de ruido de Dominic Mazzoni"
 
-#: effects/NoiseRemoval.cpp:830
+#: effects/NoiseRemoval.cpp:843
 msgid "Get Noise Profile"
 msgstr "Obtener perfil de ruido"
 
-#: effects/NoiseRemoval.cpp:841
+#: effects/NoiseRemoval.cpp:854
 msgid "Noise reduction (dB):"
 msgstr "Reducción de ruido (dB):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:859
 msgid "Noise reduction"
 msgstr "Reducción de ruido"
 
-#: effects/NoiseRemoval.cpp:849
+#: effects/NoiseRemoval.cpp:863
 msgid "Frequency smoothing (Hz):"
 msgstr "Suavizado de frecuencia (Hz):"
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:868
 msgid "Frequency smoothing"
 msgstr "Suavizado de frecuencia"
 
-#: effects/NoiseRemoval.cpp:857
+#: effects/NoiseRemoval.cpp:872
 msgid "Attack/decay time (secs):"
 msgstr "Tiempo de ataque o decaimiento (seg):"
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:877
 msgid "Attach/decay time"
 msgstr "Tiempo de ataque o decaimiento"
 
-#: effects/NoiseRemoval.h:35
+#: effects/NoiseRemoval.h:37
 msgid "Noise Removal..."
 msgstr "Reducción de ruido..."
 
-#: effects/NoiseRemoval.h:50
+#: effects/NoiseRemoval.h:52
 msgid "Creating Noise Profile"
 msgstr "Creando perfil de ruido"
 
-#: effects/NoiseRemoval.h:52
+#: effects/NoiseRemoval.h:54
 msgid "Removing Noise"
 msgstr "Reduciendo ruido"
 
@@ -5304,10 +6050,6 @@ msgstr "Reduciendo ruido"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Efecto aplicado: %s eliminada desalineación = %s, amplitud normalizada = %s"
 
-#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
-msgid "false"
-msgstr "falso"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74 effects/Normalize.cpp:75
@@ -5323,19 +6065,19 @@ msgstr ", amplitud máxima = %1f dB"
 msgid "Normalize"
 msgstr "Normalizado"
 
-#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "Eliminar cualquier desalineación DC (centrar en 0.0 verticalmente)"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
 msgstr "Normalizar amplitud máxima a:"
 
-#: effects/Normalize.cpp:362
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr "-"
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
 msgstr "Amplitud máxima db"
 
@@ -5349,54 +6091,58 @@ msgstr "Normalizando..."
 
 #: effects/Phaser.cpp:65
 #, c-format
-msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
-msgstr "Efecto aplicado: %s %d etapas, %.0f%% wet, frecuencia = %.1f Hz, fase inicial = %.0f grados, profundidad = %d, retroalimentación = %.0f%%"
+msgid ""
+"Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = "
+"%.0f deg, depth = %d, feedback = %.0f%%"
+msgstr ""
+"Efecto aplicado: %s %d etapas, %.0f%% wet, frecuencia = %.1f Hz, fase "
+"inicial = %.0f grados, profundidad = %d, retroalimentación = %.0f%%"
 
-#: effects/Phaser.cpp:226
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "Etapas:"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
 msgstr "Etapas"
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
 msgstr "Seco/Húmedo:"
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
 msgstr "Seco húmedo"
 
-#: effects/Phaser.cpp:236 effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:244 effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
 msgstr "Frecuencia LFO (Hz):"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247 effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
 msgstr "Frecuencia LFO en hertzios"
 
-#: effects/Phaser.cpp:241 effects/Wahwah.cpp:226
+#: effects/Phaser.cpp:252 effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "Fase de Inicio LFO (grados):"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255 effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
 msgstr "Fase de Inicio LFO en grados"
 
-#: effects/Phaser.cpp:246
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Profundidad:"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263 effects/Wahwah.cpp:241
 msgid "Depth in percent"
 msgstr "Profundidad en porcentaje"
 
-#: effects/Phaser.cpp:251
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Retroalimentación (%):"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
 msgstr "Retroalimentación en porcentaje"
 
@@ -5410,13 +6156,16 @@ msgstr "Aplicando cambio de fase"
 
 #: effects/Repair.cpp:99
 msgid ""
-"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+"The Repair effect is intended to be used on very short sections of damaged "
+"audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
 msgstr ""
-"El efecto de reparación está pensado para usarse en pequeñas secciones de audio dañado (hasta 128 muestras).\n"
+"El efecto de reparación está pensado para usarse en pequeñas secciones de "
+"audio dañado (hasta 128 muestras).\n"
 "\n"
-"Utilice la herramienta Acercar y seleccione una pequeña fracción de un segundo para realizar la reparación."
+"Utilice la herramienta Acercar y seleccione una pequeña fracción de un "
+"segundo para realizar la reparación."
 
 #: effects/Repair.cpp:105
 msgid ""
@@ -5445,25 +6194,25 @@ msgstr "Repetido %d veces"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Las pistas son muy largas para repetir la selección."
 
-#: effects/Repeat.cpp:77 effects/Repeat.cpp:187
+#: effects/Repeat.cpp:77 effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Repetir"
 
-#: effects/Repeat.cpp:212
+#: effects/Repeat.cpp:211
 msgid "Number of times to repeat:"
 msgstr "Número de veces a repetir:"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
 msgstr "Nueva duración de selección: hh:mm:ss"
 
-#: effects/Repeat.cpp:253
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Nueva longitud de selección: "
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:262 widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:261 widgets/TimeTextCtrl.cpp:272
 msgid "hh:mm:ss"
 msgstr "hh:mm:ss"
 
@@ -5500,9 +6249,13 @@ msgstr "Generando silencio"
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Efecto aplicado: Generar silencio, %.6lf segundos"
 
-#: effects/SimplePairedTwoTrack.h:120
-msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Este efecto no puede ser aplicado en pistas estéreo donde los canales individuales de la pista no coinciden."
+#: effects/SimplePairedTwoTrack.h:115
+msgid ""
+"Sorry, this effect cannot be performed on stereo tracks where the individual "
+"channels of the track do not match."
+msgstr ""
+"Este efecto no puede ser aplicado en pistas estéreo donde los canales "
+"individuales de la pista no coinciden."
 
 #: effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
@@ -5533,8 +6286,8 @@ msgid "Applying Spike Cleaner..."
 msgstr "Aplicando limpiador de picos..."
 
 #: effects/StereoToMono.h:23
-msgid "&Stereo to Mono"
-msgstr "E&stéreo a Mono"
+msgid "Stereo to Mono"
+msgstr "Estéreo a Mono"
 
 #: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
@@ -5586,10 +6339,14 @@ msgstr "Modificando ritmo/tono"
 
 #: effects/ToneGen.cpp:61
 #, c-format
-msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
-msgstr "Efecto aplicado: Generar %s onda %s, frecuencia = %.2f Hz, amplitud = %.2f, %.6lf segundos"
+msgid ""
+"Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, "
+"%.6lf seconds"
+msgstr ""
+"Efecto aplicado: Generar %s onda %s, frecuencia = %.2f Hz, amplitud = %.2f, "
+"%.6lf segundos"
 
-#: effects/ToneGen.cpp:69 widgets/Meter.cpp:415
+#: effects/ToneGen.cpp:69 widgets/Meter.cpp:405
 msgid "Linear"
 msgstr "Lineal"
 
@@ -5621,31 +6378,31 @@ msgstr "Diente de sierra"
 msgid "Square, no alias"
 msgstr "Cuadrado, sin alias"
 
-#: effects/ToneGen.cpp:321 effects/ToneGen.cpp:357
+#: effects/ToneGen.cpp:277 effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr "Frecuencia (Hz)"
 
-#: effects/ToneGen.cpp:348
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Forma de onda:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
 msgstr "Hertzio de comienzo de frecuencia"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
 msgstr "Hertzio de fin de frecuencia"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
 msgstr "Comienzo de amplitud"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
 msgstr "Fin de amplitud"
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr "Interpolación:"
 
@@ -5665,78 +6422,141 @@ msgstr "Generando chirp"
 msgid "Generating Tone"
 msgstr "Generando tono"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr "Todas las pistas deben tener la misma frecuencia de muestreo"
 
-#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:133 effects/TruncSilence.cpp:444
 msgid "Truncate Silence"
 msgstr "Truncado de silencio"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "Duración máxima del silencio:"
+#: effects/TruncSilence.cpp:454
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "por Lynn Allan y Philip Van Baren"
 
-#: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:196
-#: prefs/AudioIOPrefs.cpp:199 prefs/MidiIOPrefs.cpp:174
-#: prefs/MidiIOPrefs.cpp:177
+#: effects/TruncSilence.cpp:468
+msgid "Min silence duration:"
+msgstr "Duración mínima del silencio:"
+
+#: effects/TruncSilence.cpp:471 effects/TruncSilence.cpp:475
+#: prefs/MidiIOPrefs.cpp:197 prefs/MidiIOPrefs.cpp:199
 msgid "milliseconds"
 msgstr "milisegundos"
 
-#: effects/TruncSilence.cpp:350
+#: effects/TruncSilence.cpp:472
+msgid "Max silence duration:"
+msgstr "Duración máxima del silencio:"
+
+#: effects/TruncSilence.cpp:476
+msgid "Silence compression:"
+msgstr "Compresión del silencio:"
+
+#: effects/TruncSilence.cpp:479
+msgid ":1"
+msgstr ":1"
+
+#: effects/TruncSilence.cpp:481
 msgid "Threshold for silence:"
-msgstr "Umbral de silencio:"
+msgstr "Umbral del silencio:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   La duración debe ser de al menos 1 milisegundo"
+#: effects/TruncSilence.cpp:507
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"   La duración debe ser de al menos 1 milisegundo\n"
+"   La relación de compresión debe ser de al menos 1:1"
 
-#: effects/TruncSilence.h:28
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Truncado de silencio..."
 
-#: effects/TruncSilence.h:42
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr "Truncando silencio..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Los efectos VST no pueden ser aplicados en pistas estéreo donde los canales individuales de la pista no coinciden."
+#: effects/VST/VSTEffect.cpp:256 effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Configuración del efecto"
+
+#: effects/VST/VSTEffect.cpp:336 effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563 prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Ninguno"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "Predefinidos:"
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "Cargar"
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "Guardar"
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr "Cargar programa VST:"
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "Error al cargar el programa"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr "Guardar programa VST como:"
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr "Este archivo de parámetros fue guardado como %s. ¿Desea continuar?"
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "Aplicando el efecto: "
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "No se puede realizar el reemplazo"
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr "Los dos canales de una pista estéro deben tener la misma frecuencia de muestreo."
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Parámetros de los complementos VST:"
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr "Los dos canales de una pista estério deben tener la misma longitud."
 
 #: effects/Wahwah.cpp:61
 #, c-format
-msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
-msgstr "Efecto aplicado: frecuencia %s = %.1f Hz, fase inicial = %.0f grad, profundidad= %.0f% %, resonancia = %.1f, desplazamiento de frecuencia= %.0f%%"
+msgid ""
+"Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%"
+"%, resonance = %.1f, frequency offset = %.0f%%"
+msgstr ""
+"Efecto aplicado: frecuencia %s = %.1f Hz, fase inicial = %.0f grad, "
+"profundidad= %.0f% %, resonancia = %.1f, desplazamiento de frecuencia= %.0f%%"
 
 #: effects/Wahwah.cpp:203
 msgid "Wahwah"
 msgstr "Wahwah"
 
-#: effects/Wahwah.cpp:231
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Profundidad (%):"
 
-#: effects/Wahwah.cpp:236
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Resonancia:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
 msgstr "Resonancia"
 
-#: effects/Wahwah.cpp:241
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
 msgstr "Desplazamiento de la frecuencia Wah (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
 msgstr "Desplazamiento de la frecuencia Wah en porcentaje"
 
@@ -5748,182 +6568,185 @@ msgstr "Wahwah..."
 msgid "Applying Wahwah"
 msgstr "Aplicando Wahwah"
 
-#: effects/audiounits/AudioUnitEffect.cpp:138
-#: effects/ladspa/LadspaEffect.cpp:176 effects/lv2/LV2Effect.cpp:191
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178 effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Aplicando efecto: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:196 effects/lv2/LV2Effect.cpp:211
-msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Los complementos de efectos no pueden ser aplicados en pistas estéreo donde los canales individuales de la pista no coinciden."
-
-#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Ninguno"
+#: effects/ladspa/LadspaEffect.cpp:198 effects/lv2/LV2Effect.cpp:213
+msgid ""
+"Sorry, Plug-in Effects cannot be performed on stereo tracks where the "
+"individual channels of the track do not match."
+msgstr ""
+"Los complementos de efectos no pueden ser aplicados en pistas estéreo donde "
+"los canales individuales de la pista no coinciden."
 
-#: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:798
-#: effects/vamp/VampEffect.cpp:395
+#: effects/ladspa/LadspaEffect.cpp:557 effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Autor: "
 
-#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "Configuración del efecto"
-
-#: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:834 effects/lv2/LV2Effect.cpp:837
+#: effects/ladspa/LadspaEffect.cpp:685 effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809 effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Longitud (segundos)"
 
-#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:824 effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
 msgstr "Duración de nota (segundos)"
 
-#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
 msgstr "Velocidad de nota"
 
-#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:846 effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
 msgstr "Clave de nota"
 
-#: effects/nyquist/Nyquist.cpp:257
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Aplicando efecto Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:264 effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:91 effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Comando Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:327
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Introduzca comando Nyquist: "
 
-#: effects/nyquist/Nyquist.cpp:417
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
-msgstr "No se puede aplicar el efecto en pistas estéreo donde las pistas no coinciden."
+msgstr ""
+"No se puede aplicar el efecto en pistas estéreo donde las pistas no "
+"coinciden."
 
-#: effects/nyquist/Nyquist.cpp:445
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:446
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Salida Nyquist: "
 
-#: effects/nyquist/Nyquist.cpp:603 effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:656 effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "Nyquist devolvió el valor:"
 
-#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist no devolvió audio.\n"
 
-#: effects/nyquist/Nyquist.cpp:667
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist devolvió demasiados canales de audio.\n"
 
-#: effects/vamp/VampEffect.cpp:86
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Extrayendo características: %s"
 
-#: effects/vamp/VampEffect.cpp:117
-msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
-msgstr "Los complementos Vamp no pueden ser aplicados en pistas estéreo donde los canales individuales de la pista no coinciden."
+#: effects/vamp/VampEffect.cpp:107
+msgid ""
+"Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual "
+"channels of the track do not match."
+msgstr ""
+"Los complementos Vamp no pueden ser aplicados en pistas estéreo donde los "
+"canales individuales de la pista no coinciden."
 
-#: effects/vamp/VampEffect.cpp:131
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Fallo al cargar el complemento Vamp."
 
-#: effects/vamp/VampEffect.cpp:239
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Fallo al inicializar el complemento Vamp."
 
-#: effects/vamp/VampEffect.cpp:387
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
 msgstr " - Complemento de análisis de audio Vamp"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr "Configuración de complemento"
 
-#: effects/vamp/VampEffect.cpp:442 effects/vamp/VampEffect.cpp:448
+#: effects/vamp/VampEffect.cpp:418 effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr "Programa"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
 msgstr "Todo el audio seleccionado está silenciado."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
 msgstr "Todo el audio está silenciado."
 
-#: export/Export.cpp:522
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Exportar archivo"
 
-#: export/Export.cpp:530
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Opciones..."
 
-#: export/Export.cpp:571
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "¿Está seguro de que desea guardar el archivo como \""
 
-#: export/Export.cpp:591
+#: export/Export.cpp:596
 #, c-format
 msgid ""
 "You are about to save a %s file with the name \"%s\".\n"
 "\n"
-"Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
+"Normally these files end in \".%s\", and some programs will not open files "
+"with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
 msgstr ""
 "Va a guardar un archivo %s con el nombre \"%s\".\n"
 "\n"
-"Estos archivos suelen acabar con \".%s\", y alguno programas no abrirán archivos con una extensión no estándar.\n"
+"Estos archivos suelen acabar con \".%s\", y alguno programas no abrirán "
+"archivos con una extensión no estándar.\n"
 "\n"
 "¿Está seguro de que desea guardar el archivo con ese nombre?"
 
-#: export/Export.cpp:612
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "Ya existe un archivo llamado \"%s\".  ¿Desea sobreescribirlo?"
 
-#: export/Export.cpp:710
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Las pistas serán mezcladas en dos canales estéreo en el archivo exportado."
 
-#: export/Export.cpp:715
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Las pistas serán mezcladas en un solo canal mono en el archivo exportado."
 
-#: export/Export.cpp:726
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Opciones avanzadas de mezclado"
 
-#: export/Export.cpp:930
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr "Canal: %2d"
 
-#: export/Export.cpp:1046
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - Izquierdo"
 
-#: export/Export.cpp:1047
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - Derecho"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
 msgstr "Panel mezclador"
 
-#: export/Export.cpp:1078 export/Export.cpp:1125
+#: export/Export.cpp:1088 export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Canales de salida: %2d"
@@ -5932,53 +6755,79 @@ msgstr "Canales de salida: %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Indicar codificador de línea de comandos"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr "Opciones de exportación de línea de comandos"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Comando:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Mostrar salida"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
-msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
-msgstr "Los datos serán enviados a la entrada estándar. \"%f\" serán reemplazados con el nombre de archivo de salida seleccionado."
+msgid ""
+"Data will be piped to standard in. \"%f\" will be replaced with output "
+"filename selected."
+msgstr ""
+"Los datos serán enviados a la entrada estándar. \"%f\" serán reemplazados "
+"con el nombre de archivo de salida seleccionado."
 
-#: export/ExportCL.cpp:222
+#: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr "Usar un programa externo"
 
-#: export/ExportCL.cpp:253 export/ExportPCM.cpp:454
+#: export/ExportCL.cpp:286 export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "No se puede exportar audio a %s"
 
-#: export/ExportCL.cpp:327
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
-msgstr "Exportando el audio seleccionado utilizando el codificador de línea de comandos"
+msgstr ""
+"Exportando el audio seleccionado utilizando el codificador de línea de "
+"comandos"
 
-#: export/ExportCL.cpp:328
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
-msgstr "Exportando el proyecto completo utilizando el codificador de línea de comandos"
+msgstr ""
+"Exportando el proyecto completo utilizando el codificador de línea de "
+"comandos"
 
-#: export/ExportCL.cpp:390
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Salida de comando"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid ""
 "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
 msgstr ""
 "Se necesita contar con FFmpeg correctamente configurado.\n"
-"Puede configurarlo en Preferencias->Importar/Exportar."
+"Puede configurarlo en Preferencias > Bibliotecas."
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr "Soporte AMR no distribuible"
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+"Se necesita contar con FFmpeg correctamente configurado.\n"
+"Puede configurarlo en Preferencias > Bibliotecas.\n"
+"\n"
+"Observe que no se dispone de soporte AMR con nuestro \n"
+"instalador FFmpeg, pero es neceario para poder compilar FFmpeg."
+
+#: export/ExportFFmpeg.cpp:433
 #, c-format
 msgid ""
 "FFmpeg cannot find audio codec 0x%x.\n"
@@ -5987,26 +6836,30 @@ msgstr ""
 "FFmpeg no puede encontrar el codec de audio 0x%x.\n"
 "Probablemente se ha realizado la compilación sin soporte para el."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
-msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr "Se intentó exportar %d canales, pero el número máximo de canales para el formato seleccionado es de %d"
+msgid ""
+"Attempted to export %d channels, but max. channels for selected output "
+"format is %d"
+msgstr ""
+"Se intentó exportar %d canales, pero el número máximo de canales para el "
+"formato seleccionado es de %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
 msgstr "Exportando audio seleccionado como %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
 msgstr "Exportando el proyecto completo como %s"
 
-#: export/ExportFFmpeg.cpp:702 export/ExportMP3.cpp:1920
+#: export/ExportFFmpeg.cpp:748 export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr "Frecuencia de muestreo inválida"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:761
 #, c-format
 msgid ""
 "The project sample rate (%d) is not supported by the current output\n"
@@ -6015,156 +6868,167 @@ msgstr ""
 "La frecuencia de muestreo del proyecto (%d) no está soportada por el\n"
 "formato de archivo de salida actual."
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:764
 #, c-format
 msgid ""
 "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
 "La frecuencia de muestra del proyecto (%d) combinada con la velocidad\n"
-"de transferencia (%d kbps) no está soportada por el formato de archivo de salida actual."
+"de transferencia (%d kbps) no está soportada por el formato de archivo de "
+"salida actual."
 
-#: export/ExportFFmpeg.cpp:721 export/ExportMP3.cpp:1939
+#: export/ExportFFmpeg.cpp:767 export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "Puede volver a muestrear a una de las frecuencias indicadas."
 
-#: export/ExportFFmpeg.cpp:749 export/ExportMP3.cpp:1962
+#: export/ExportFFmpeg.cpp:795 export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr "Frecuencias de muestreo"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr "Especificar opciones AC3"
+msgstr "Indicar opciones AC3"
 
-#: export/ExportFFmpegDialogs.cpp:114
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
 msgstr "Opciones de exportación AC3"
 
-#: export/ExportFFmpegDialogs.cpp:118 export/ExportFFmpegDialogs.cpp:236
-#: export/ExportFFmpegDialogs.cpp:302 export/ExportFFmpegDialogs.cpp:370
-#: export/ExportFFmpegDialogs.cpp:919 export/ExportMP2.cpp:133
+#: export/ExportFFmpegDialogs.cpp:116 export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298 export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:926 export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Velocidad de transferencia:"
 
-#: export/ExportFFmpegDialogs.cpp:159
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
-msgstr "Especificar opciones AAC"
+msgstr "Indicar opciones AAC"
 
-#: export/ExportFFmpegDialogs.cpp:172
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
 msgstr "Opciones de exportación a AAC"
 
+#: export/ExportFFmpegDialogs.cpp:172 export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Calidad:"
+
 #: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
-msgstr "Especificar opciones AMR-NB"
+msgstr "Indicar opciones AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:232
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
 msgstr "Opciones de exportación a AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:277
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
-msgstr "Especificar opciones AMR-WB"
+msgstr "Indicar opciones AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
 msgstr "Opciones de exportación a AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:345
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
-msgstr "Especificar opciones WMA"
+msgstr "Indicar opciones WMA"
 
-#: export/ExportFFmpegDialogs.cpp:366
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
 msgstr "Opciones de exportación a WMA"
 
-#: export/ExportFFmpegDialogs.cpp:494
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
 msgstr "¿Sobreescribir valores predefinidos '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:495
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
 msgstr "Confirmar sobreescritura"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
 msgstr "Seleccione el formato antes de guardar un perfil"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
 msgstr "Seleccione el codec antes de guardar un perfil"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
 msgstr "Los valores predefinidos '%s' no existen."
 
-#: export/ExportFFmpegDialogs.cpp:788
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
-msgstr "Especificar otras opciones"
+msgstr "Indicar otras opciones"
 
-#: export/ExportFFmpegDialogs.cpp:879
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
 msgstr "Predefinido:"
 
-#: export/ExportFFmpegDialogs.cpp:880
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
 msgstr "Cargar predefinidos"
 
-#: export/ExportFFmpegDialogs.cpp:881
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
 msgstr "Guardar predefinidos"
 
-#: export/ExportFFmpegDialogs.cpp:882
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
 msgstr "Borrar predefinidos"
 
-#: export/ExportFFmpegDialogs.cpp:883
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
 msgstr "Importar predefinidos"
 
-#: export/ExportFFmpegDialogs.cpp:884
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
 msgstr "Exportar predefinidos"
 
-#: export/ExportFFmpegDialogs.cpp:889
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
 msgstr "Formato:"
 
-#: export/ExportFFmpegDialogs.cpp:891
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
 msgstr "Codec:"
 
-#: export/ExportFFmpegDialogs.cpp:895
-msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr "No todos los formatos y codecs son compatibles. Algunas combinaciones de (como la velocidad de transferencia y la frecuencia de muestra) parámetros no son compatibles con algunos codecs."
+#: export/ExportFFmpegDialogs.cpp:902
+msgid ""
+"Not all formats and codecs are compatible. Some parameters (such as bitrate "
+"and samplerate) combinations are not compatible with some codecs too."
+msgstr ""
+"No todos los formatos y codecs son compatibles. Algunas combinaciones de "
+"(como la velocidad de transferencia y la frecuencia de muestra) parámetros "
+"no son compatibles con algunos codecs."
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
 msgstr "Selector de formato:"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
 msgstr "Selector de codec:"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
 msgstr "Mostrar todos los formatos"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
 msgstr "Mostrar todos los codecs"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
 msgstr "Opciones"
 
-#: export/ExportFFmpegDialogs.cpp:913 prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:920 prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Idioma:"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:921
 msgid ""
 "ISO 639 3-letter language code\n"
 "Optional\n"
@@ -6174,11 +7038,11 @@ msgstr ""
 "Opcional\n"
 "vacío - automático"
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
 msgstr "Etiqueta:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:924
 msgid ""
 "Codec tag (FOURCC)\n"
 "Optional\n"
@@ -6188,7 +7052,7 @@ msgstr ""
 "Opcional\n"
 "vacío - automático"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:927
 msgid ""
 "Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
@@ -6196,31 +7060,29 @@ msgid ""
 "Recommended - 192000"
 msgstr ""
 "Velocidad de transferencia (bits/segundo) - influye en el tamaño y calidad\n"
-"del archivo resultante. Algunos codec pueden aceptar sólo valores específicos \n"
+"del archivo resultante. Algunos codec pueden aceptar sólo valores "
+"específicos \n"
 "(128k, 192k, 256k, etc.)\n"
 "0 - automático.\n"
 "Recomendado - 192000"
 
-#: export/ExportFFmpegDialogs.cpp:922 export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Calidad:"
-
-#: export/ExportFFmpegDialogs.cpp:923
+#: export/ExportFFmpegDialogs.cpp:930
 msgid ""
-"Overral quality, used differently by different codecs\n"
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
-"Cualidad general, empleada por diferentes codec\n"
+"Calidad general, empleada por diferentes codec\n"
 "Requerida para vorbis\n"
-"0 - automática -1 - desactivado (utilice en su lugar la velocidad de transferencia)"
+"0 - automática\n"
+"-1 - desactivado (utiliza en su lugar la velocidad de transferencia)"
 
-#: export/ExportFFmpegDialogs.cpp:925
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
 msgstr "Frecuencia de muestreo:"
 
-#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportFFmpegDialogs.cpp:933
 msgid ""
 "Sample rate (Hz)\n"
 "0 - don't change sample rate"
@@ -6228,25 +7090,25 @@ msgstr ""
 "Frecuencia de muestreo (Hz)\n"
 "0 -No modificar la frecuencia de muestreo"
 
-#: export/ExportFFmpegDialogs.cpp:928
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
 msgstr "Ancho de banda útil:"
 
-#: export/ExportFFmpegDialogs.cpp:929
+#: export/ExportFFmpegDialogs.cpp:936
 msgid ""
 "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 "Ancho de banda útil de audio (Hz)\n"
 "Opcional\n"
-"0 - automático\n"
+"0 - automático"
 
-#: export/ExportFFmpegDialogs.cpp:931
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: export/ExportFFmpegDialogs.cpp:933
+#: export/ExportFFmpegDialogs.cpp:940
 msgid ""
 "AAC Profile\n"
 "Low Complexity -default\n"
@@ -6256,23 +7118,23 @@ msgstr ""
 "Baja complejidad -predeterminado\n"
 "La mayoría de los reproductores no reproducirán otro tipo de perfil"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
 msgstr "Usar Buffer de bit (Bit Reservoir)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
 msgstr "Usar longitud de bloque variable"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
 msgstr "Opciones FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
 msgstr "Nivel de compresión:"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:955
 msgid ""
 "Compression level\n"
 "Required for FLAC\n"
@@ -6286,11 +7148,11 @@ msgstr ""
 "min - 0 (codificación,  rápida, archivos resultantes grandes)\n"
 "max - 10 (codificación lenta, archivos resultantes pequeños)"
 
-#: export/ExportFFmpegDialogs.cpp:950
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
 msgstr "Tamaño de fotograma:"
 
-#: export/ExportFFmpegDialogs.cpp:951
+#: export/ExportFFmpegDialogs.cpp:958
 msgid ""
 "Frame size\n"
 "Optional\n"
@@ -6304,11 +7166,11 @@ msgstr ""
 "min - 16\n"
 "max - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:953
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
 msgstr "Precisión de coeficientes LPC"
 
-#: export/ExportFFmpegDialogs.cpp:954
+#: export/ExportFFmpegDialogs.cpp:961
 msgid ""
 "LPC coefficients precision\n"
 "Optional\n"
@@ -6321,11 +7183,11 @@ msgstr ""
 "min - 1\n"
 "max - 15"
 
-#: export/ExportFFmpegDialogs.cpp:956
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
 msgstr "Orden mínimo de predicción"
 
-#: export/ExportFFmpegDialogs.cpp:957
+#: export/ExportFFmpegDialogs.cpp:964
 msgid ""
 "Minimal prediction order\n"
 "Optional\n"
@@ -6339,11 +7201,11 @@ msgstr ""
 "min - 0\n"
 "max - 32 (con LPC) o 4 (sin LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:959
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
 msgstr "Orden máximo de predicción"
 
-#: export/ExportFFmpegDialogs.cpp:960
+#: export/ExportFFmpegDialogs.cpp:967
 msgid ""
 "Maximal prediction order\n"
 "Optional\n"
@@ -6357,11 +7219,11 @@ msgstr ""
 "min - 0\n"
 "max - 32 (con LPC) o 4 (sin LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:962
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
 msgstr "Método de orden de predicción"
 
-#: export/ExportFFmpegDialogs.cpp:964
+#: export/ExportFFmpegDialogs.cpp:971
 msgid ""
 "Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
@@ -6373,11 +7235,11 @@ msgstr ""
 "Búsqueda logarítmica - el más lento, la mejor compresión\n"
 "Búsqueda completa - predeterminado"
 
-#: export/ExportFFmpegDialogs.cpp:966
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
 msgstr "Orden mínimo de partición"
 
-#: export/ExportFFmpegDialogs.cpp:967
+#: export/ExportFFmpegDialogs.cpp:974
 msgid ""
 "Minimal partition order\n"
 "Optional\n"
@@ -6391,11 +7253,11 @@ msgstr ""
 "min - 0\n"
 "max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:969
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
 msgstr "Orden máximo de partición"
 
-#: export/ExportFFmpegDialogs.cpp:970
+#: export/ExportFFmpegDialogs.cpp:977
 msgid ""
 "Maximal partition order\n"
 "Optional\n"
@@ -6409,19 +7271,19 @@ msgstr ""
 "min - 0\n"
 "max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
 msgstr "Usar LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
 msgstr "Opciones de contendor MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:983
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
 msgstr "Frecuencia de multiplexado:"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:991
 msgid ""
 "Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
@@ -6431,11 +7293,11 @@ msgstr ""
 "Opcional\n"
 "0 - predeterminado"
 
-#: export/ExportFFmpegDialogs.cpp:986
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
 msgstr "Tamaño de paquete:"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:994
 msgid ""
 "Packet size\n"
 "Optional\n"
@@ -6445,237 +7307,252 @@ msgstr ""
 "Opcional\n"
 "0 - predeterminado"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
 msgstr "No puede borrar an valor predefinido sin nombre"
 
-#: export/ExportFFmpegDialogs.cpp:1201
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
 msgstr "¿Eliminar valor predefinido '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:1220
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
 msgstr "No puede guardar un valor predefinido con ese nombre"
 
-#: export/ExportFFmpegDialogs.cpp:1259
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
 msgstr "Seleccione un archivo xml con valores predefinidos a importar"
 
-#: prefs/KeyConfigPrefs.cpp:202
+#: export/ExportFFmpegDialogs.cpp:1275 export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:267 prefs/KeyConfigPrefs.cpp:298
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "Archivos Xml (*.xml)|*.xml|Todos los archivos (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1274
+#: export/ExportFFmpegDialogs.cpp:1292
 msgid "Select xml file to export presets into"
 msgstr "Seleccione un archivo xml para exportar los valores predefinidos"
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
 msgstr "Fallo al averiguar el formato"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
 msgstr "Fallo al buscar el codec"
 
-#: export/ExportFFmpegDialogs.h:53
+#: export/ExportFFmpegDialogs.h:54
 msgid "M4A (AAC) Files (FFmpeg)"
 msgstr "Archivos M4A (AAC) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:54
+#: export/ExportFFmpegDialogs.h:55
 msgid "AC3 Files (FFmpeg)"
 msgstr "Archivos AC3 (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr "Archivos AMR (banda estrecha) (FFmpeg)"
-
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr "Archivos AMR (banda ancha) (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "Archivos AMR (banda estrecha) (FFmpeg, no distribuible)"
 
 #: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "Archivos AMR (banda ancha) (FFmpeg, no distribuible)"
+
+#: export/ExportFFmpegDialogs.h:58
 msgid "WMA (version 2) Files (FFmpeg)"
 msgstr "Archivos WMA (version 2) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:58
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
 msgstr "Exportar FFmpeg personalizado"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
 msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
 msgstr "Baja complejidad"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
 msgstr "Perfil principal"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
 msgstr "2 niveles"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
 msgstr "4 niveles"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
 msgstr "8 niveles"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
 msgstr "Estimado"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
 msgstr "Búsqueda completa"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
 msgstr "Búsqueda logarítmica"
 
-#: export/ExportFLAC.cpp:68
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
-msgstr "Especificar opciones FLAC"
+msgstr "Indicar opciones FLAC"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (el más rápido)"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "4"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:90
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (el mejor)"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16 bit"
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24 bit"
 
-#: export/ExportFLAC.cpp:98
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "Opciones de exportación a FLAC"
 
-#: export/ExportFLAC.cpp:102
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Nivel:"
 
-#: export/ExportFLAC.cpp:104
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Profundidad de bit:"
 
-#: export/ExportFLAC.cpp:210
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr "Archivos FLAC"
 
-#: export/ExportFLAC.cpp:313
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "La exportación de FLAC no pudo abrir %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr "Fallo al inicializar la codificación de FLAC<br> Estado: %d"
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr "Exportando el audio seleccionado como un archivo FLAC"
 
-#: export/ExportFLAC.cpp:314
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Exportando el proyecto completo como un archivo FLAC"
 
 #: export/ExportMP2.cpp:108
 msgid "Specify MP2 Options"
-msgstr "Especificar opciones MP2"
+msgstr "Indicar opciones MP2"
 
-#: export/ExportMP2.cpp:129
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "Opciones de exportación a MP2"
 
-#: export/ExportMP2.cpp:202
+#: export/ExportMP2.cpp:200
 msgid "MP2 Files"
 msgstr "Archivos MP2"
 
-#: export/ExportMP2.cpp:232
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
-msgstr "No se puede exportar a MP2 con esta frecuencia de muestreo y velocidad de transferencia"
+msgstr ""
+"No se puede exportar a MP2 con esta frecuencia de muestreo y velocidad de "
+"transferencia"
 
-#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1771 export/ExportOGG.cpp:186
+#: export/ExportMP2.cpp:241 export/ExportMP3.cpp:1619 export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "No se puede abrir el archivo de destino para escritura"
 
-#: export/ExportMP2.cpp:274
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Exportando el audio seleccionado a %d kbps"
 
-#: export/ExportMP2.cpp:275
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Exportando el proyecto completo a %d kbps"
 
-#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:223 export/ExportMP3.cpp:241 export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr "(mejor calidad)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr "(archivos más pequeños)"
 
-#: export/ExportMP3.cpp:243
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Rápido"
 
-#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
-#: prefs/GUIPrefs.cpp:49
+#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr "Estándar"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr "Enfermizo"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr "Extremo"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr "Medio"
 
-#: export/ExportMP3.cpp:303
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
-msgstr "Especificar opciones MP3"
+msgstr "Indicar opciones MP3"
 
 #: export/ExportMP3.cpp:319
 msgid "MP3 Export Setup"
@@ -6701,8 +7578,7 @@ msgstr "Intermedio"
 msgid "Constant"
 msgstr "Constante"
 
-#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Calidad"
 
@@ -6738,76 +7614,90 @@ msgstr "Para obtener una copia gratuita de Lame, haga clic aquí -->"
 #: export/ExportMP3.cpp:1070
 #, c-format
 msgid ""
-"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with "
+"Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
-"Está enlazando con un lame_enc.dll v%d.%d. Esta versión no es compatible con Audacity %d.%d.%d.\n"
+"Está enlazando con un lame_enc.dll v%d.%d. Esta versión no es compatible con "
+"Audacity %d.%d.%d.\n"
 "Descargue la última versión disponible de la biblioteca LAME MP3."
 
-#: export/ExportMP3.cpp:1094
-msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr "Sólo lame_enc.dll|lame_enc.dll|Bibliotecas enlazadas dinámicamente (*.dll)|*.dll|Todos los archivos (*.*)|*"
+#: export/ExportMP3.cpp:1328
+msgid ""
+"Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
+"All Files (*.*)|*"
+msgstr ""
+"Sólo lame_enc.dll|lame_enc.dll|Bibliotecas enlazadas dinámicamente (*.dll)|*."
+"dll|Todos los archivos (*.*)|*"
 
-#: export/ExportMP3.cpp:1550
-msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr "Solo libmp3lame.dylib|libmp3lame.dylib|Bibliotecas dinámicas (*.dylib)|*.dylib|Todos los archivos (*.*)|*"
+#: export/ExportMP3.cpp:1346
+msgid ""
+"Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|"
+"All Files (*)|*"
+msgstr ""
+"Solo libmp3lame.dylib|libmp3lame.dylib|Bibliotecas dinámicas (*.dylib)|*."
+"dylib|Todos los archivos (*.*)|*"
 
-#: export/ExportMP3.cpp:1567
-msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr "Sólo libmp3lame.so|libmp3lame.so|Archivos de objeto compartido primario (*.so)|*.so|Bibliotecas extendidas (*.so*)|*.so*|Todos los archivos (*)|*"
+#: export/ExportMP3.cpp:1364
+msgid ""
+"Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|"
+"Extended Libraries (*.so*)|*.so*|All Files (*)|*"
+msgstr ""
+"Sólo libmp3lame.so|libmp3lame.so|Archivos de objeto compartido primario (*."
+"so)|*.so|Bibliotecas extendidas (*.so*)|*.so*|Todos los archivos (*)|*"
 
-#: export/ExportMP3.cpp:1652
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "Archivos MP3"
 
-#: export/ExportMP3.cpp:1676
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "No se ha podido abrir la biblioteca de codificación de MP3"
 
-#: export/ExportMP3.cpp:1683
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "No es una biblioteca de codificación MP3 soportada"
 
-#: export/ExportMP3.cpp:1760
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "No se puede inicializar el flujo MP3"
 
-#: export/ExportMP3.cpp:1802
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "Exportando audio seleccionado con preferencias %s"
 
-#: export/ExportMP3.cpp:1803
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Exportando archivo completo con preferencias %s"
 
-#: export/ExportMP3.cpp:1808
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "Exportando audio seleccionado con calidad VBR %s"
 
-#: export/ExportMP3.cpp:1809
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Exportando archivo completo con calidad VBR %s"
 
-#: export/ExportMP3.cpp:1814
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr "Exportando audio seleccionado a %d kbps"
 
-#: export/ExportMP3.cpp:1815
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Exportando audio completo a %d kbps"
 
-#: export/ExportMP3.cpp:1849
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Error %d devuelto del codificador de MP3"
 
-#: export/ExportMP3.cpp:1933
+#: export/ExportMP3.cpp:1790
 #, c-format
 msgid ""
 "The project sample rate (%d) is not supported by the MP3\n"
@@ -6816,7 +7706,7 @@ msgstr ""
 "La frecuencia de muestreo del proyecto (%d) no está soportada por el\n"
 "formato de archivo MP3.  "
 
-#: export/ExportMP3.cpp:1936
+#: export/ExportMP3.cpp:1793
 #, c-format
 msgid ""
 "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
@@ -6825,109 +7715,134 @@ msgstr ""
 "La frecuencia de muestra del proyecto (%d) combinada con la velocidad\n"
 "de transferencia (%d kbps) no está soportada por el formato de archivo MP3.  "
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
 msgstr "Biblioteca de exportación MP3 no encontrada"
 
-#: export/ExportMultiple.cpp:96 export/ExportMultiple.cpp:426
-#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:834
+#: export/ExportMultiple.cpp:93 export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Exportación múltiple"
 
-#: export/ExportMultiple.cpp:166
+#: export/ExportMultiple.cpp:163
 msgid ""
-"If you have more than one Audio Track, you can export each track as a separate file,\n"
+"If you have more than one Audio Track, you can export each track as a "
+"separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
-"This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
+"This project does not have multiple tracks or a Label Track, so you cannot "
+"export multiple files."
 msgstr ""
-"Si tiene más de una pista de audio puede exportar cada pista en un archivo independiente,\n"
-"o si tiene una pista de etiqueta puede exportar a un archivo independiente por cada etiqueta.\n"
+"Si tiene más de una pista de audio puede exportar cada pista en un archivo "
+"independiente,\n"
+"o si tiene una pista de etiqueta puede exportar a un archivo independiente "
+"por cada etiqueta.\n"
 "\n"
-"Este proyecto no tiene pistas múltiples ni pistas de etiqueta, así que no puede realizar una exportación múltiple."
+"Este proyecto no tiene pistas múltiples ni pistas de etiqueta, así que no "
+"puede realizar una exportación múltiple."
 
-#: export/ExportMultiple.cpp:167
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "No se puede realizar una exportación múltiple"
 
-#: export/ExportMultiple.cpp:232
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Exportar formato:"
 
-#: export/ExportMultiple.cpp:237
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Opciones..."
 
-#: export/ExportMultiple.cpp:241
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Exportar ubicación:"
 
-#: export/ExportMultiple.cpp:245 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Seleccionar..."
-
-#: export/ExportMultiple.cpp:246
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Crear"
 
-#: export/ExportMultiple.cpp:253
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Dividir archivos basados en:"
 
-#: export/ExportMultiple.cpp:262 export/ExportMultiple.cpp:264
+#: export/ExportMultiple.cpp:259 export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Etiquetas"
 
-#: export/ExportMultiple.cpp:269
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Incluir audio antes de la primera etiqueta"
 
-#: export/ExportMultiple.cpp:275
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Primer nombre del archivo:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
 msgstr "Primer nombre del archivo"
 
-#: export/ExportMultiple.cpp:288 export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Pistas"
-
-#: export/ExportMultiple.cpp:297
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Asignar nombre a archivos:"
 
-#: export/ExportMultiple.cpp:306 export/ExportMultiple.cpp:308
+#: export/ExportMultiple.cpp:303 export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Uso de nombre de etiqueta  o pista"
 
-#: export/ExportMultiple.cpp:314 export/ExportMultiple.cpp:316
+#: export/ExportMultiple.cpp:311 export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Numerando secuencialmente"
 
-#: export/ExportMultiple.cpp:322
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Prefijo del nombre de archivo:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
 msgstr "Prefijo del nombre de archivo"
 
-#: export/ExportMultiple.cpp:341
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Sobreescribir archivos existentes"
 
-#: export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "\"%s\" creada con éxito."
 
-#: export/ExportMultiple.cpp:433
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Seleccione una carpeta para guardar los archivos exportados"
 
-#: export/ExportMultiple.cpp:539
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr "Exportados correctamente los siguientes %ld archivo(s)."
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the following %ld file(s)."
+msgstr "Sucedio un error tras exportar los siguientes %ld archivo(s)."
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "Exportación cancelada tras exportar los siguientes %ld archivos(s)."
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "Exportación detenida tras exportar los siguientes %ld archivos(s)."
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "Sucedio un error grave tras exportar los siguientes %ld archivo(s)."
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "ExportarMultiple"
+
+#: export/ExportMultiple.cpp:570
 #, c-format
 msgid ""
 "\"%s\" doesn't exist.\n"
@@ -6938,106 +7853,97 @@ msgstr ""
 "\n"
 "¿Desea crearlo?"
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Editar metadato"
 
-#: export/ExportMultiple.cpp:664 export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Se han exportado correctamente %d archivo(s)."
-
-#: export/ExportMultiple.cpp:665 export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Se ha producido un error tras exportar %d archivos."
-
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:923
 #, c-format
 msgid ""
 "Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
 msgstr ""
-"La etiqueta %s no es un nombre de archivo permitido. No puede utilizar:    %s\n"
+"La etiqueta %s no es un nombre de archivo permitido. No puede utilizar:    %"
+"s\n"
 "Utilice..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
-msgstr "Especificar opciones Ogg Vorbis"
+msgstr "Indicar opciones Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Opciones de exportación Ogg Vorbis"
 
-#: export/ExportOGG.cpp:157
+#: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
 msgstr "Archivos Ogg Vorbis"
 
-#: export/ExportOGG.cpp:257
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Exportando el audio seleccionado como Ogg Vorbis"
 
-#: export/ExportOGG.cpp:258
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Exportando el proyecto completo como Ogg Vorbis"
 
-#: export/ExportPCM.cpp:113
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
-msgstr "Especificar opciones de datos sin comprimir"
+msgstr "Indicar opciones de datos sin comprimir"
 
-#: export/ExportPCM.cpp:182
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Opciones de exportación de datos sin comprimir"
 
-#: export/ExportPCM.cpp:188
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr "Tipo:"
 
-#: export/ExportPCM.cpp:192 import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Codificación:"
 
-#: export/ExportPCM.cpp:197
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(No todas las combinaciones de tipo de cabecera y codificación son posibles)"
 
-#: export/ExportPCM.cpp:366
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
 msgstr "Otros archivos sin comprimir"
 
-#: export/ExportPCM.cpp:358
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
 msgstr "AIFF (Apple) PCM de 16 bit con signo"
 
-#: export/ExportPCM.cpp:348
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
 msgstr "WAV (Microsoft) PCM de 16 bit con signo"
 
-#: export/ExportPCM.cpp:384
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
 msgstr "GSM 6.10 WAV (dispositivos móviles)"
 
-#: export/ExportPCM.cpp:446
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "No se puede exportar audio en este formato."
 
-#: export/ExportPCM.cpp:488
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "Exportando el audio seleccionado como %s"
 
-#: export/ExportPCM.cpp:490
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Exportando el proyecto completo como %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:528
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Error (el archivo puede no haber sido escrito): %s"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
 msgstr "No hay opciones para este formato.\n"
 
@@ -7045,36 +7951,40 @@ msgstr "No hay opciones para este formato.\n"
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
-msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr "Si necesita más control sobre el formato de exportación utilice el formato 'Otros archivos sin comprimir'."
+#: export/ExportPCM.cpp:740
+msgid ""
+"If you need more control over the export format please use the 'Other "
+"uncompressed files' format."
+msgstr ""
+"Si necesita más control sobre el formato de exportación utilice el formato "
+"'Otros archivos sin comprimir'."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
 msgstr "El archivo se exportará como un archivo AIFF de 16 bits (Apple/SGI).\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
 msgstr "El archivo se exportará como un archivo WAV de 16 bits (Microsoft).\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
 msgstr "El archivo se exportará como un archivo WAV GSM 6.10.\n"
 
-#: import/Import.cpp:156 import/ImportMP3.cpp:47
+#: import/Import.cpp:162 import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "Archivos MP3"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
 msgstr "Seleccione flujo(s) a importar"
 
-#: import/Import.cpp:227
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Esta versión de Audacity no fue compilada con soporte para %s."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
 msgid ""
 "\"%s\" \n"
@@ -7088,7 +7998,7 @@ msgstr ""
 "editarlo pulsando en Archivo > Importar > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:250
+#: import/Import.cpp:257
 #, c-format
 msgid ""
 "\"%s\" is an audio CD track. \n"
@@ -7101,18 +8011,21 @@ msgstr ""
 "Extraiga las pistas del CD a un formato de audio que \n"
 "pueda ser importado con Audacity, como WAV o AIFF."
 
-#: import/Import.cpp:256
+#: import/Import.cpp:263
 #, c-format
 msgid ""
 "\"%s\" is a playlist file. \n"
-"Audacity cannot open this file because it only contains links to other files. \n"
-"You may be able to open it in a text editor and download the actual audio files."
+"Audacity cannot open this file because it only contains links to other "
+"files. \n"
+"You may be able to open it in a text editor and download the actual audio "
+"files."
 msgstr ""
 "\"%s\" es una archivo de lista de reproducción. \n"
-"Audacity no puede abrir este archivo porque sólo contiene enlaces a otros archivos. \n"
+"Audacity no puede abrir este archivo porque sólo contiene enlaces a otros "
+"archivos. \n"
 "Podría abrirlo con un editor de texto y descargar el archivo de audio real."
 
-#: import/Import.cpp:261
+#: import/Import.cpp:268
 #, c-format
 msgid ""
 "\"%s\" is a Windows Media Audio file. \n"
@@ -7120,10 +8033,11 @@ msgid ""
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 "\"%s\" es un archivo de Windows Media Audio. \n"
-"Audacity no puede abrir este tipo de archivo por restricciones en su patente. \n"
+"Audacity no puede abrir este tipo de archivo por restricciones en su "
+"patente. \n"
 "Necesita convertirlo a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:266
+#: import/Import.cpp:273
 #, c-format
 msgid ""
 "\"%s\" is an Advanced Audio Coding file. \n"
@@ -7134,7 +8048,7 @@ msgstr ""
 "Audacity no puede abrir este tipo de archivo. \n"
 "Necesita convertirlo a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
 msgid ""
 "\"%s\" is an encrypted audio file. \n"
@@ -7147,9 +8061,10 @@ msgstr ""
 "Estos suelen provenir de una tienda de música online. \n"
 "Audacity no puede abrir este tipo de archivo porque están encriptados. \n"
 "Intente grabar el archivo en Audacity, o grabarlo en un CD de audio para\n"
-"posteriormente extraer la pista de CD a un formato de audio soportado como WAV o AIFF."
+"posteriormente extraer la pista de CD a un formato de audio soportado como "
+"WAV o AIFF."
 
-#: import/Import.cpp:276
+#: import/Import.cpp:283
 #, c-format
 msgid ""
 "\"%s\" is a RealPlayer media file. \n"
@@ -7160,7 +8075,7 @@ msgstr ""
 "Audacity no puede abrir este formato propietario. \n"
 "Necesita convertirlo a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:282
+#: import/Import.cpp:289
 #, c-format
 msgid ""
 "\"%s\" is a notes-based file, not an audio file. \n"
@@ -7173,22 +8088,24 @@ msgstr ""
 "Internet convertirlo en un archivo de audio como WAV o AIFF y \n"
 "entonces impórtelo o grábelo en Audacity."
 
-#: import/Import.cpp:288
+#: import/Import.cpp:295
 #, c-format
 msgid ""
 "\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
-"and try importing it again. Otherwise you need to convert it to a supported audio \n"
+"and try importing it again. Otherwise you need to convert it to a supported "
+"audio \n"
 "format, such as WAV or AIFF."
 msgstr ""
 "\"%s\" es un archivo de audio Musepack. \n"
 "Audacity no puede abrir este tipo de archivo. \n"
-"Si piensa que podría ser un archivo MP3, renómbrelo para que finalice con \".mp3\" \n"
+"Si piensa que podría ser un archivo MP3, renómbrelo para que finalice con \"."
+"mp3\" \n"
 " e intente importarlo de nuevo. De otro modo necesitará convertirlo \n"
 "a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:294
+#: import/Import.cpp:301
 #, c-format
 msgid ""
 "\"%s\" is a Wavpack audio file. \n"
@@ -7199,7 +8116,7 @@ msgstr ""
 "Audacity no puede abrir este tipo de archivo. \n"
 "Necesita convertirlo a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:300
+#: import/Import.cpp:307
 #, c-format
 msgid ""
 "\"%s\" is a Dolby Digital audio file. \n"
@@ -7210,7 +8127,7 @@ msgstr ""
 "Audacity no puede abrir este tipo de archivo. \n"
 "Necesita convertirlo a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:306
+#: import/Import.cpp:313
 #, c-format
 msgid ""
 "\"%s\" is an Ogg Speex audio file. \n"
@@ -7221,7 +8138,7 @@ msgstr ""
 "Audacity no puede abrir este tipo de archivo. \n"
 "Necesita convertirlo a un formato de audio soportado, como WAV o AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
 msgid ""
 "\"%s\" is a video file. \n"
@@ -7232,16 +8149,17 @@ msgstr ""
 "Audacity no puede abrir este tipo de archivo. \n"
 "Necesita extraer su audio a un formato soportado, como WAV o AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
 msgid ""
 "Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
 "Audacity no reconoce este tipo de archivo '%s'.\n"
-"Si es audio sin compresión, intente importarlo usando \"Importar datos en bruto\"."
+"Si es audio sin compresión, intente importarlo usando \"Importar datos en "
+"bruto\"."
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
 msgid ""
 "Audacity recognized the type of the file '%s',\n"
@@ -7254,15 +8172,21 @@ msgstr ""
 msgid "FFmpeg-compatible files"
 msgstr "Archivos compatibles con FFmpeg"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr "Índice[%02x] Codec[%S], Idioma[%S], Velocidad de transferencia[%S], Canales[%d], Duración[%d]"
+msgstr ""
+"Índice[%02x] Codec[%S], Idioma[%S], Velocidad de transferencia[%S], Canales[%"
+"d], Duración[%d]"
 
-#: import/ImportFLAC.cpp:43
+#: import/ImportFLAC.cpp:45
 msgid "FLAC files"
 msgstr "Archivos FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "Archivos compatibles con GStreamer"
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Lista de archivos en formato de texto básico"
@@ -7285,7 +8209,9 @@ msgstr "Duración no válida en archivo LOF."
 
 #: import/ImportLOF.cpp:417
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
-msgstr "Las pistas MIDI no pueden ser trasladadas individualmente, sólo se puede hacer con los archivos de audio."
+msgstr ""
+"Las pistas MIDI no pueden ser trasladadas individualmente, sólo se puede "
+"hacer con los archivos de audio."
 
 #. i18n-hint: You do not need to translate "LOF"
 #: import/ImportLOF.cpp:438
@@ -7329,81 +8255,81 @@ msgstr "Tipo inválido para un flujo de bits Vorbis"
 msgid "Internal logic fault"
 msgstr "Fallo de lógica interna"
 
-#: import/ImportPCM.cpp:54
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF y otros tipos de datos sin comprimir"
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135 import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
 msgstr "Importando %s"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "Archivos QuickTime"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
 msgstr "Importar datos en bruto"
 
-#: import/ImportRaw.cpp:282
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Importar archivo en bruto"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:327
+#: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr "Sin endianness"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:330
+#: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr "Little-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "Big-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:336
+#: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr "Endianness predeterminado"
 
-#: import/ImportRaw.cpp:355
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 Canal (Mono)"
 
-#: import/ImportRaw.cpp:356
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 Canales (estéreo)"
 
-#: import/ImportRaw.cpp:358
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d canales"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
 msgstr "Orden de byte:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
 msgstr "Canales:"
 
-#: import/ImportRaw.cpp:382
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Desplazamiento inicial:"
 
-#: import/ImportRaw.cpp:388
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Cantidad a importar:"
 
-#: import/ImportRaw.cpp:394
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Frecuencia de muestreo:"
 
@@ -7420,465 +8346,356 @@ msgstr "Decodificando la forma de onda"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr "%s %2.0f%% completado.  Haga clic para cambiar el foco de la tarea."
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Audio E/S"
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr "Secuencia"
 
-#: prefs/AudioIOPrefs.cpp:102 prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:134 prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr "Comportamientos"
 
-#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (Estéreo)"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr "No ap&licar efectos en modo de secuencia"
 
-#: prefs/AudioIOPrefs.cpp:117 prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Reproducción"
+#: prefs/BatchPrefs.cpp:81 prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Modo de limpi&eza de locución (interfaz personalizado)"
 
-#: prefs/AudioIOPrefs.cpp:121 prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Dispositivo"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Dispositivos"
 
-#: prefs/AudioIOPrefs.cpp:124 prefs/MidiIOPrefs.cpp:121
+#: prefs/DevicePrefs.cpp:107 prefs/GUIPrefs.cpp:32 prefs/MidiIOPrefs.cpp:113
+msgid "Interface"
+msgstr "Espacio de trabajo"
+
+#: prefs/DevicePrefs.cpp:112 prefs/MidiIOPrefs.cpp:118
+msgid "Host"
+msgstr "Servidor"
+
+#: prefs/DevicePrefs.cpp:119 prefs/MidiIOPrefs.cpp:125
 msgid "Using:"
 msgstr "Usando:"
 
-#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/DevicePrefs.cpp:126 prefs/MidiIOPrefs.cpp:132
+#: prefs/PlaybackPrefs.cpp:31
+msgid "Playback"
+msgstr "Reproducción"
 
-#: prefs/AudioIOPrefs.cpp:135 prefs/MidiIOPrefs.cpp:132
+#: prefs/DevicePrefs.cpp:139 prefs/MidiIOPrefs.cpp:145
+#: prefs/RecordingPrefs.cpp:34
 msgid "Recording"
 msgstr "Grabación"
 
-#: prefs/AudioIOPrefs.cpp:141 prefs/MidiIOPrefs.cpp:138
+#: prefs/DevicePrefs.cpp:149
 msgid "Channels"
 msgstr "Canales"
 
-#: prefs/AudioIOPrefs.cpp:147 prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "Reproducir a través"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "Remezclar: &Reproducir otras pistas mientras se graba una nueva"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Reproducción a través del &hardware: Reproducir la pista mientras se está grabando"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Reproducción a través del &software: Reproducir la pista mientras se está grabando"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "Reproducción a través del &software: Reproducir la pista mientras se está grabando o visualizando"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(desactivar cuando se graba \"mezcla estéreo\")"
-
-#: prefs/AudioIOPrefs.cpp:168 prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "Vista previa de efectos"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "Longitud de la vista previa:"
-
-#: prefs/AudioIOPrefs.cpp:176 prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "Vista previa del corte"
+#: prefs/DevicePrefs.cpp:165
+msgid "No audio interfaces"
+msgstr "Sin interface de audio"
 
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr "Vista previa antes cortar zona:"
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr "Vista previa después cortar zona:"
-
-#: prefs/AudioIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Latencia"
+#: prefs/DevicePrefs.cpp:201 prefs/DevicePrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:295 prefs/MidiIOPrefs.cpp:300
+msgid "No devices found"
+msgstr "No se han encontrado dispositivos"
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid ""
-"Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-"Audio a buffer:\n"
-"(mayores = más latencia)"
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid ""
-"Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-"Corrección de latencia:\n"
-"(negativos=hacia atrás)"
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr "Buscar tiempo mientras se reproduce"
-
-#: prefs/AudioIOPrefs.cpp:206 prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "Periodo corto:"
-
-#: prefs/AudioIOPrefs.cpp:208 prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "Periodo largo:"
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Secuencia"
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Comportamientos"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "No ap&licar efectos en modo de secuencia"
+#: prefs/DevicePrefs.cpp:264
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Modo de limpi&eza de locución (interfaz personalizado)"
+#: prefs/DevicePrefs.cpp:267
+msgid "2 (Stereo)"
+msgstr "2 (Estéreo)"
 
-#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
-#: prefs/PrefsDialog.cpp:267
+#: prefs/DirectoriesPrefs.cpp:52 prefs/PrefsDialog.cpp:210
 msgid "Directories"
 msgstr "Carpetas"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Carpeta de archivos temporales"
 
-#: prefs/DirectoriesPrefs.cpp:91
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Ubicación:"
 
-#: prefs/DirectoriesPrefs.cpp:93
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Espacio libre:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Guardado automático"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Guardar automáticamente una copia del proyecto en una carpeta aparte"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Intervalo de guardado automático:"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr "Caché de audio"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minutos"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "Reproducir y/o grabar utilizando RAM (útil en discos lentos)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Caché de audio"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Cantidad mínima de memoria libre (Mb):"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr "Reproducir y/o grabar utilizando la RAM (útil para discos lentos, pero puede no funcionar con archivos o grabaciones demasiado largas)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
+"Si la memoria disponible desciende por debajo de este valor, el audio\n"
+"dejará de ser almacenado en memoria y se escribirá en el disco."
 
-#: prefs/DirectoriesPrefs.cpp:121
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Seleccione la ubicación de la carpeta temporal"
 
-#: prefs/DirectoriesPrefs.cpp:166
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "no disponible - la ubicación indicada no existe"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "La carpeta %s no existe. ¿Desea crearla?"
 
-#: prefs/DirectoriesPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Nueva carpeta temporal"
 
-#: prefs/DirectoriesPrefs.cpp:187
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "La carpeta %s no tiene permiso de escritura"
 
-#: prefs/DirectoriesPrefs.cpp:199
-msgid "Changes to temporary directory will not take effect until Audacity is restarted"
-msgstr "Los cambios de la carpeta temporal no tendrán efecto hasta que se reinicie Audacity"
-
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "Importar / Exportar"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "Biblioteca de exportación de MP3"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "Versión de la biblioteca MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "Biblioteca MP3:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr "&Ubicar..."
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "Biblioteca LAME MP3:"
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&Descargar"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "Biblioteca de importación/exportación FFmpeg"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "Versión de la biblioteca FFmpeg"
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "Biblioteca FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Nota: Las opciones de calidad de exportación pueden ser elegidas pulsando en el botón Opciones, en el cuadro de diálogo Exportar.\n"
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "Cuando se importa archivos de audio"
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&Hacer una copia del archivo de audio descomprimido antes de editar (más seguro)"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "Lee&r directamente desde el archivo de audio descomprimido original (más rápido)"
+#: prefs/DirectoriesPrefs.cpp:207
+msgid ""
+"Changes to temporary directory will not take effect until Audacity is "
+"restarted"
+msgstr ""
+"Los cambios de la carpeta temporal no tendrán efecto hasta que se reinicie "
+"Audacity"
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr "&Normalizar todas las pistas del proyecto"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr "En Explorador"
 
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "Cuando se guarda un proyecto que depende de otros archivos de audio"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr "Desde Internet"
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "&Copiar siempre todo el audio dentro del proyecto (el más seguro)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&No copiar ninguna parte del audio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "&Preguntar al usuario"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "Cuando se exportan pistas a un archivo de audio"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Mezcl&ar siempre todas las pistas de canales estéreo o mono"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Utilice mezcla personalizada (por ejemplo para exportar un archivo multicanal 5.1)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "&Mostrar el editor de metadatos antes de realizar la exportación"
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (rango aproximado para edición de alta amplitud)"
 
-#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Espacio de trabajo"
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (rango PCM de muestras de 8 bit)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "En Explorador"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (rango PCM de muestras de 10 bits)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Desde Internet"
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (rango PCM de muestras de 16 bits)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Simple"
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (límite aproximado del oído humano)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "Act&ualizar pantalla mientras se reproduce"
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (rango PCM de muestras de 24 bit)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "C&errar la última ventana finaliza completamente Audacity"
+#: prefs/GUIPrefs.cpp:96 prefs/SpectrumPrefs.cpp:129 prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr "Mostrar"
 
 #: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Permitir arrastre de los bor&des izquierdo y derecho de la selección"
-
-#: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr "Orden &ergonómico de los botones de E/S de audio"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "A&justar automáticamente las pistas acercadas verticalmente"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "&Mostrar el mensaje de bienvenida al comenzar el programa"
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Mover la pista seleccionada\" se repite &cíclicamente a través de las pistas"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Rango de medición/forma de onda:"
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "La edición de un &bloque puede desplazar otros bloques"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr "Ayuda:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Seleccionar todo el audio del proyecto si no hay nada seleccionado"
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr "C&errar la última ventana finaliza completamente Audacity"
 
-#: prefs/GUIPrefs.cpp:110
+#: prefs/GUIPrefs.cpp:139
 msgid "&Beep on completion of longer activities"
 msgstr "&Avisar con un sonido al completar procesos largos"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Mostrar u ocultar"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Permitir el corte de &líneas"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Mostrar advertencias sobre archivos &temporales"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "&Pedir confirmación al guardar, incluso si el proyecto está vacío"
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "Mostrar el me&nsaje de bienvenida al comenzar"
-
-#: prefs/GUIPrefs.cpp:126
+#: prefs/GUIPrefs.cpp:145
 msgid "Modes"
 msgstr "Modos"
 
-#: prefs/GUIPrefs.cpp:129
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr "Mostrar los efectos VST en el modo GUI"
+
+#: prefs/GUIPrefs.cpp:156
 msgid "Don't a&pply effects in batch mode"
 msgstr "No a&plicar efectos en modo de secuencia"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Mostrar  el rango mínimo: medidores y''Forma de onda (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (rango aproximado para edición de alta amplitud)"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr "Importar / Exportar"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (rango PCM de muestras de 8 bit)"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr "Cuando se importa archivos de audio"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (rango PCM de muestras de 10 bits)"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
+"&Hacer una copia del archivo de audio descomprimido antes de editar (más "
+"seguro)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (rango PCM de muestras de 16 bits)"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
+"Lee&r directamente desde el archivo de audio descomprimido original (más "
+"rápido)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (límite aproximado del oído humano)"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr "&Normalizar todas las pistas del proyecto"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (rango PCM de muestras de 24 bit)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr "Cuando se exportan pistas a un archivo de audio"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Modo de vista predeterminado"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Mezcl&ar siempre todas las pistas de canales estéreo o mono"
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "Otras opciones de espacio de trabajo"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr ""
+"&Utilice mezcla personalizada (por ejemplo para exportar un archivo "
+"multicanal 5.1)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr "Ayuda:"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr "&Mostrar el editor de metadatos antes de realizar la exportación"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "Botón de sólo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Nota: Las opciones de calidad de exportación pueden ser elegidas pulsando\n"
+"en el botón Opciones del cuadro de diálogo Exportar."
 
-#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:72
 msgid "Keyboard"
 msgstr "Teclado"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Keyboard preferences currently unavailable."
 msgstr "Las preferencias de teclado no están disponibles en este momento."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:97
 msgid "Open a new project to modify keyboard shortcuts."
 msgstr "Abra un nuevo proyecto para modificar los atajos de teclado."
 
-#: prefs/KeyConfigPrefs.cpp:95
+#: prefs/KeyConfigPrefs.cpp:108 prefs/KeyConfigPrefs.cpp:224
+msgid "All"
+msgstr "Todo"
+
+#: prefs/KeyConfigPrefs.cpp:124
 msgid "Key Bindings"
 msgstr "Atajos de teclado"
 
-#: prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:129
+msgid "Category:"
+msgstr "Categoría:"
+
+#: prefs/KeyConfigPrefs.cpp:156
 msgid "S&et"
 msgstr "&Establecer"
 
-#: prefs/KeyConfigPrefs.cpp:120
+#: prefs/KeyConfigPrefs.cpp:157 widgets/FileHistory.cpp:174
+msgid "&Clear"
+msgstr "&Limpiar"
+
+#: prefs/KeyConfigPrefs.cpp:162
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
-msgstr "Nota: Pulsando Cmd+Q se cerrará el programa. El resto de las teclas son válidas."
+msgstr ""
+"Nota: Pulsando Cmd+Q se cerrará el programa. El resto de las teclas son "
+"válidas."
 
-#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:169 prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "&Valores predeterminados"
 
-#: prefs/KeyConfigPrefs.cpp:143
+#: prefs/KeyConfigPrefs.cpp:181
 msgid "Key Combination"
 msgstr "Combinación de teclas"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportar accesos directos de teclado como:"
+#: prefs/KeyConfigPrefs.cpp:234 toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Deshacer"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Error al guardar accesos directos de teclado"
+#: prefs/KeyConfigPrefs.cpp:237 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "Rehacer"
 
-#: prefs/KeyConfigPrefs.cpp:198
+#: prefs/KeyConfigPrefs.cpp:263
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
-msgstr "Seleccione un archivo XML que contenga accesos directos de teclado de Audacity..."
+msgstr ""
+"Seleccione un archivo XML que contenga accesos directos de teclado de "
+"Audacity..."
 
-#: prefs/KeyConfigPrefs.cpp:215
+#: prefs/KeyConfigPrefs.cpp:281
 msgid "Error loading keyboard shortcuts"
 msgstr "Error al cargar accesos directos de teclado"
 
-#: prefs/KeyConfigPrefs.cpp:243
+#: prefs/KeyConfigPrefs.cpp:294
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportar accesos directos de teclado como:"
+
+#: prefs/KeyConfigPrefs.cpp:320
+msgid "Error saving keyboard shortcuts"
+msgstr "Error al guardar accesos directos de teclado"
+
+#: prefs/KeyConfigPrefs.cpp:368
 #, c-format
 msgid ""
 "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7889,616 +8706,855 @@ msgstr ""
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Deshacer"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Bibliotecas"
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr "Biblioteca de exportación de MP3"
+
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "Versión de la biblioteca MP3:"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr "Biblioteca MP3:"
 
-#: prefs/MidiIOPrefs.cpp:146
+#: prefs/LibraryPrefs.cpp:92 prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr "&Ubicar..."
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr "Biblioteca LAME MP3:"
+
+#: prefs/LibraryPrefs.cpp:97 prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr "&Descargar"
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr "Biblioteca de importación/exportación FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr "Versión de la biblioteca FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "No se ha encontrado una biblioteca FFmpeg compatible"
+
+#: prefs/LibraryPrefs.cpp:120 prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr "Biblioteca FFmpeg:"
+
+#: prefs/MidiIOPrefs.cpp:58
+msgid "MIDI Devices"
+msgstr "Dispositivos MIDI"
+
+#: prefs/MidiIOPrefs.cpp:168 prefs/RecordingPrefs.cpp:60
+msgid "Playthrough"
+msgstr "Reproducir a través"
+
+#: prefs/MidiIOPrefs.cpp:170
 msgid "&Play other tracks while recording new one"
 msgstr "&Reproducir otras pistas mientras se graba una nueva"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:173
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr "Reproducción a través del &hardware (Reproducir la pista mientras se está grabando)"
+msgstr ""
+"Reproducción a través del &hardware (Reproducir la pista mientras se está "
+"grabando)"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:176
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr "Reproducción a través del &software (Reproducir la pista mientras se está grabando)"
+msgstr ""
+"Reproducción a través del &software (Reproducir la pista mientras se está "
+"grabando)"
+
+#: prefs/MidiIOPrefs.cpp:181 prefs/PlaybackPrefs.cpp:72
+msgid "Cut Preview"
+msgstr "Vista previa del corte"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:184
 msgid "Play before cut region:"
 msgstr "Reproducir antes de cortar zona:"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:186
 msgid "Play after cut region:"
 msgstr "Reproducir después de cortar zona:"
 
-#: prefs/MidiIOPrefs.cpp:173
+#: prefs/MidiIOPrefs.cpp:191 prefs/RecordingPrefs.cpp:79
+msgid "Latency"
+msgstr "Latencia"
+
+#: prefs/MidiIOPrefs.cpp:196 prefs/RecordingPrefs.cpp:85
 msgid "Audio to buffer:"
 msgstr "Archivo a buffer:"
 
-#: prefs/MidiIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:198 prefs/RecordingPrefs.cpp:92
 msgid "Latency correction:"
 msgstr "Corrección de latencia:"
 
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:205
 msgid "Seek Time"
 msgstr "Buscar tiempo"
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:208 prefs/PlaybackPrefs.cpp:98
+msgid "Short period:"
+msgstr "Periodo corto:"
+
+#: prefs/MidiIOPrefs.cpp:210 prefs/PlaybackPrefs.cpp:105
+msgid "Long period:"
+msgstr "Periodo largo:"
+
+#: prefs/MidiIOPrefs.cpp:215 prefs/PlaybackPrefs.cpp:57
+msgid "Effects Preview"
+msgstr "Vista previa de efectos"
+
+#: prefs/MidiIOPrefs.cpp:218
 msgid "Play when previewing:"
 msgstr "Reproducir mientras se realiza la vista previa:"
 
-#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
+#: prefs/MidiIOPrefs.cpp:256
+msgid "No MIDI interfaces"
+msgstr "No hay interfaces MIDI"
+
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Ratón"
 
-#: prefs/MousePrefs.cpp:78
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Atajos de ratón (valores predeterminados, no configurables)"
 
-#: prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Herramienta"
 
-#: prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Acción de comando"
 
-#: prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Botones"
 
-#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Clic izquierdo"
 
-#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Seleccionar"
 
-#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Establecer punto de selección"
 
-#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Arrastre-Izquierdo"
 
-#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Establecer rango de selección"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Extender rango de la selección"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Mayús-Clic izquierdo"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Doble clic izquierdo"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr "Seleccionar bloque o pista completa"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Control-Clic izquierdo"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr "Establecer punto de selección y reproducir"
 
-#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112 prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Ampliar"
 
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Ampliar en un punto"
 
-#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Ampliar en un rango"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "Igual que arrastre derecho "
 
-#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110 prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Clic derecho"
 
-#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110 prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Reducir un paso"
 
-#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Arrastre-derecho"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "igual que arrastre izquierdo"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Mayús-Arrastrar"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Reducir en un rango"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Clic central"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Ampliar predeterminado"
 
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "Desplazar en el tiempo el bloque o desplazar entre pistas"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Mayús-Arrastrar izquierdo"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "Desplazar en el tiempo todos los bloques de la pista"
 
-#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-Arrastrar izquierdo"
 
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Desplazar bloque entre pistas"
 
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Cambiar la envolvente de amplificación"
 
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Cambiar muestra"
 
-#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:121 prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "Lápiz"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt-Clic izquierdo"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Suavizar en muestra"
 
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Cambiar varias muestras"
 
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Cambiar una única muestra"
 
-#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:126 prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Múltiple"
 
-#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:126 prefs/MousePrefs.cpp:127
 msgid "same as select tool"
 msgstr "igual que herramienta de selección"
 
-#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "Igual que herramienta de ampliación"
 
-#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:131 prefs/MousePrefs.cpp:132 prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Cualquiera"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Desplazamiento arriba o abajo"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Rueda del ratón"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Desplazamiento izquierdo o derecho"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Mayús-Rueda del ratón"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl-Rueda del ratón"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "Ampliar o reducir"
 
-#: prefs/PrefsDialog.cpp:94
+#: prefs/PlaybackPrefs.cpp:61
+msgid "Length of preview:"
+msgstr "Longitud de la vista previa:"
+
+#: prefs/PlaybackPrefs.cpp:76
+msgid "Preview before cut region:"
+msgstr "Vista previa antes de cortar zona:"
+
+#: prefs/PlaybackPrefs.cpp:83
+msgid "Preview after cut region:"
+msgstr "Vista previa después de cortar zona:"
+
+#: prefs/PlaybackPrefs.cpp:94
+msgid "Seek Time when playing"
+msgstr "Buscar tiempo mientras se reproduce"
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Preferencias de Audacity"
 
-#: prefs/QualityPrefs.cpp:73
+#: prefs/ProjectsPrefs.cpp:32
+msgid "Projects"
+msgstr "Proyectos"
+
+#: prefs/ProjectsPrefs.cpp:59
+msgid "When saving a project that depends on other audio files"
+msgstr "Cuando se guarda un proyecto que depende de otros archivos de audio"
+
+#: prefs/ProjectsPrefs.cpp:63
+msgid "Always &copy all audio into project (safest)"
+msgstr "&Copiar siempre todo el audio dentro del proyecto (el más seguro)"
+
+#: prefs/ProjectsPrefs.cpp:65
+msgid "&Do not copy any audio"
+msgstr "&No copiar ninguna parte del audio"
+
+#: prefs/ProjectsPrefs.cpp:67
+msgid "&Ask user"
+msgstr "&Preguntar al usuario"
+
+#: prefs/ProjectsPrefs.cpp:74
+msgid "Auto save"
+msgstr "Guardado automático"
+
+#: prefs/ProjectsPrefs.cpp:76
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Guardar automáticamente una copia del proyecto en una carpeta aparte"
+
+#: prefs/ProjectsPrefs.cpp:82
+msgid "Auto save interval:"
+msgstr "Intervalo de guardado automático:"
+
+#: prefs/ProjectsPrefs.cpp:86 prefs/ProjectsPrefs.cpp:87
+msgid "minutes"
+msgstr "minutos"
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Rectángulo"
 
-#: prefs/QualityPrefs.cpp:74
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Triángulo"
 
-#: prefs/QualityPrefs.cpp:75
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "Perfilado"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr "Muestreo"
 
-#: prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Frecuencia de muestreo predeterminada:"
 
-#: prefs/QualityPrefs.cpp:127
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
 msgstr "Formato de muestra predeterminado:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Conversor de frecuencia de muestreo en tiempo real:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Conversión en tiempo real"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Conversor de frecuencia de muestreo de alta calidad:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Conversor de frecuencia de muestreo:"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Fusión en tiempo real:"
+#: prefs/QualityPrefs.cpp:178 prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr "Fusión"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Fusión de alta calidad:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Conversión de alta calidad"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Conversión"
+#: prefs/RecordingPrefs.cpp:62
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Remezclar: &Reproducir otras pistas mientras se graba una nueva"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Conversor de frecuencia de muestreo"
+#: prefs/RecordingPrefs.cpp:66
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr ""
+"Reproducción a través del &hardware: Reproducir la pista mientras se está "
+"grabando"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Fusión"
+#: prefs/RecordingPrefs.cpp:70
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+"Reproducción a través del &software: Reproducir la pista mientras se está "
+"grabando o visualizando"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Tiempo real:"
+#: prefs/RecordingPrefs.cpp:74
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(desactivar cuando se graba \"mezcla estéreo\")"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Alta calidad:"
+#: prefs/RecordingPrefs.cpp:89 prefs/RecordingPrefs.cpp:90
+msgid "milliseconds (higher = more latency)"
+msgstr "milisegundos (más alto = más latencia)"
 
-#: prefs/SmartRecordPrefs.cpp:37 prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "Grabación inteligente"
+#: prefs/RecordingPrefs.cpp:96 prefs/RecordingPrefs.cpp:97
+msgid "milliseconds (negative = backwards)"
+msgstr "milisegundos (negativo = hacia atrás)"
 
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:103 prefs/RecordingPrefs.cpp:105
 msgid "Sound Activated Recording"
 msgstr "Grabación de activación por sonido"
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:114
 msgid "Sound Activation Level (dB):"
 msgstr "Nivel de activación de sonido (dB):"
 
-#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Espectrogramas"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Tamaño de FFT"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 - banda más ancha"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - predeterminado"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr "32768 - banda más estrecha"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - banda más estrecha"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Tipo de ventana:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "Ventana FFT"
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Tamaño de ventana"
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Tipo de ventana"
 
-#: prefs/SpectrumPrefs.cpp:125
+#: prefs/SpectrumPrefs.cpp:113
 msgid "FFT Skip Points"
 msgstr "Puntos de omisión FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Mostrar"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "Puntos de omisión"
 
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Escala de grises"
-
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr "Frecuencia mínima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "Frecuencia máxima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "Cuadrícula &Y"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Mostrar el espectro utilizando escala de &grises"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "E&ncontrar notas"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Mostrar una cuadrícula alrededor del eje &Y"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Reducir el rango de notas"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "Buscar notas FFT"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr "Amplitud mínima (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr "Número máximo de notas (1..128):"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "E&ncontrar notas"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "&Reducir el rango de notas"
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "La frecuencia máxima debe ser un número entero"
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "La frecuencia máxima debe estar entre los 100 Hz y los 100.000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr "La frecuencia mínima debe ser un número entero"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "La frecuencia mínima debe ser al menos de 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "La frecuencia mínima debe ser menor que la frecuencia máxima"
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "La amplitud mínima (dB) debe ser un número entero"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "El número máximo de notas debe ser un número entero entre 1 y 128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "El número máximo de notas debe ser un valor entero"
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr "El máximo número de notas debe estar entre 1 y 128"
 
-#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Información"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images "
+"and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into "
+"Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently "
+"affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"El uso de temas es una característica experimental.\n"
+"\n"
+"Para probarla, haga clic en \"Guardar caché de tema\" cuando encuentre y "
+"modifique las imágenes y colores en \n"
+"ImageCacheVxx.png usando un editor de imágenes como \n"
+"Gimp.\n"
+"\n"
+"Haga clic en  \"Cargar caché de tema\" para cargar las imágenes cambiada y "
+"colores en Audacity.\n"
+"\n"
+"[Sólo la barra de herramientas de control y los colores de las pistas "
+"de onda se verán afectadas, incluso cuando\n"
+"el archivo de imagen muestra también otros iconos.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This "
+"will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"Ha compilado Audacity con un botón extra denominado 'Salida Sourcery'.  "
+"Este almacenará una \n"
+"versión C de la caché de imagen que puede ser compilada de forma predeterminada."
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be "
+"loaded\n"
+"when the program starts up."
+msgstr ""
+"Si la opción 'Cargar la caché del tema al iniciar' está activada, la caché de tema "
+"será cargada\n"
+"cuando el programa comience."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each "
+"image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"El guardado y carga de archivos de tema individuales utiliza un archivo "
+"separado para cada imagen,\n"
+"pero es el mismo concepto."
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr "Caché del tema - Imágenes y color"
 
-#: prefs/ThemePrefs.cpp:95
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr "Guardar la caché del tema"
 
-#: prefs/ThemePrefs.cpp:96
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr "Cargar la caché del tema"
 
-#: prefs/ThemePrefs.cpp:106
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr "Cargar la caché del tema al iniciar"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "Archivos individuales del tema"
 
-#: prefs/ThemePrefs.cpp:120
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Guardar archivos"
 
-#: prefs/ThemePrefs.cpp:121
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Cargar archivos"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Información"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr "Simple"
 
-#: prefs/ThemePrefs.cpp:129
-msgid ""
-"Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr ""
-"El uso de temas es una característica experimental.\n"
-"\n"
-"Para probarlo, haga clic en \"Guardar caché de tema\" cuando\n"
-"encuentre y modifique las imágenes y colores en \n"
-"ImageCacheVxx.png usando un editor de imágenes como \n"
-"Gimp.\n"
-"\n"
-"Haga clic en  \"Cargar caché de tema\" para cargar las imágenes cambiada y colores en Audacity.\n"
-"\n"
-"[Sólo la barra de herramientas de control y los colores  \n"
-"de las pistas de onda se verán afectadas, incluso cuando\n"
-"el archivo de imagen muestra también otros iconos.]\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr "Act&ualizar pantalla mientras se reproduce"
 
-#: prefs/ThemePrefs.cpp:134
-msgid ""
-"You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr ""
-"Ha compilado Audacity con un botón extra, \n"
-"\"Output Sourcery'.  Esto guardará una versión C de \n"
-"la caché de imagen que puede ser compilada como la predeterminada.\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "A&justar automáticamente las pistas acercadas verticalmente"
 
-#: prefs/ThemePrefs.cpp:139
-msgid ""
-"If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr ""
-"Si Cargar caché de temas en el comienzo \n"
-"está activado, entonces el caché de temas \n"
-"será cargado cuando el programa se inicie.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Modo de vista predeterminado:"
 
-#: prefs/ThemePrefs.cpp:142
-msgid ""
-"Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr "&Seleccionar todo el audio del proyecto si no hay nada seleccionado"
+
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr "Permitir el corte de &líneas"
+
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Permitir arrastre de los bor&des izquierdo y derecho de la selección"
+
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
-"Guardar y cargar archivos de temas individuales \n"
-"utiliza un archivo separado para cada imagen, pero \n"
-"es el mismo concepto.\n"
-"\n"
+"\"Mover la pista seleccionada\" se repite &cíclicamente a través de las "
+"pistas"
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Pausa"
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr "La edición de un &bloque puede desplazar otros bloques"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Reproducir"
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr "Botón de sólo:"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr "Reproducir (Mayús para reproducir cíclicamente)"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Advertencias"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Mostrar advertencias y preguntas"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "Al guardar &proyectos"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "Al guardar proy&ectos vacíos"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Al disponer de poco espacio en el &disco"
 
-#: toolbars/ControlToolBar.cpp:183
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "Al mezclar varias pistas a e&stéreo durante la exportación"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "Al mezclar varias pistas a &mono durante la exportación"
+
+#: toolbars/ControlToolBar.cpp:170 toolbars/ControlToolBar.cpp:205
+msgid "Pause"
+msgstr "Pausa"
+
+#: toolbars/ControlToolBar.cpp:178 toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1108
 msgid "Stop"
 msgstr "Detener"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Saltar al comienzo"
+#: toolbars/ControlToolBar.cpp:190 toolbars/ControlToolBar.cpp:211
+msgid "Clean Speech"
+msgstr "Limpieza de locución"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Saltar al final"
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr "Reproducir (Mayús para reproducir cíclicamente)"
 
-#: toolbars/ControlToolBar.cpp:192
+#: toolbars/ControlToolBar.cpp:210
 msgid "Record (Shift for Append Record)"
 msgstr "Grabar (Mayús para añadir grabación)"
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr "Limpieza de locución"
-
-#: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:579 toolbars/ControlToolBar.cpp:914
 msgid "Error while opening sound device. "
 msgstr "Error al abrir el dispositivo de audio. "
 
-#: toolbars/ControlToolBar.cpp:706
-msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
-msgstr "La grabación en modo Limpieza de locución no es posible cuando hay abierta una pista o más de un proyecto."
+#: toolbars/ControlToolBar.cpp:749
+msgid ""
+"Recording in CleanSpeech mode is not possible when a track, or more than one "
+"project, is already open."
+msgstr ""
+"La grabación en modo Limpieza de locución no es posible cuando hay abierta "
+"una pista o más de un proyecto."
 
-#: toolbars/ControlToolBar.cpp:707
+#: toolbars/ControlToolBar.cpp:750
 msgid "Recording not permitted"
 msgstr "Grabación no permitida"
 
-#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109 toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr "Dispositivo de salida"
 
-#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127 toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr "Dispositivo de entrada"
 
-#: toolbars/EditToolBar.cpp:139
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
 msgstr "Recortar fuera de selección"
 
-#: toolbars/EditToolBar.cpp:141
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "Silenciar selección"
 
-#: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:150 toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
 msgstr "Enlazar pistas"
 
-#: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:155 toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Ampliar"
 
-#: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:157 toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "Reducir"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Ampliación anterior"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "Ajustar selección"
-
-#: toolbars/EditToolBar.cpp:165
+#: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Ajustar selección a la ventana"
 
-#: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "Ajustar proyecto"
-
-#: toolbars/EditToolBar.cpp:167
+#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Ajustar el proyecto en la ventana"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Medidor"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr "Ajustar selección"
+
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr "Ajustar proyecto"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8516,11 +9572,11 @@ msgstr "Medidor de grabación"
 msgid "Meter-Record"
 msgstr "Medidor-grabación"
 
-#: toolbars/MeterToolBar.cpp:94
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
 msgstr "Medidor de nivel de salida"
 
-#: toolbars/MeterToolBar.cpp:95
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
 msgstr "Medidor de nivel de entrada- haga clic para visualizar la entrada"
 
@@ -8532,7 +9588,7 @@ msgstr "Volumen de salida"
 msgid "Slider Output"
 msgstr "Control de salida"
 
-#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:873
+#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:862
 msgid "Input Volume"
 msgstr "Volumen de entrada"
 
@@ -8540,11 +9596,23 @@ msgstr "Volumen de entrada"
 msgid "Slider Input"
 msgstr "Control de entrada"
 
-#: toolbars/MixerToolBar.cpp:134
+#: toolbars/MixerToolBar.cpp:139
 msgid "Input Source"
 msgstr "Fuente de entrada"
 
-#: toolbars/SelectionBar.cpp:86
+#: toolbars/MixerToolBar.cpp:304
+msgid "Input source information is not available."
+msgstr "La información de la fuente de entrada no está disponible"
+
+#: toolbars/MixerToolBar.cpp:311
+msgid "Select Input Source"
+msgstr "Seleccionar fuente de entrada "
+
+#: toolbars/MixerToolBar.cpp:319
+msgid "Input Source:"
+msgstr "Fuente de entrada:"
+
+#: toolbars/SelectionBar.cpp:86 toolbars/SelectionBar.cpp:292
 msgid "Selection"
 msgstr "Selección"
 
@@ -8577,20 +9645,20 @@ msgstr "Ajuste a"
 msgid "Selection "
 msgstr "Selección "
 
-#: toolbars/SelectionBar.cpp:325
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
 msgstr "Longitud de la selección"
 
-#: toolbars/SelectionBar.cpp:333
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
 msgstr "Final de la selección"
 
-#: toolbars/ToolBar.cpp:98
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr "Barra de herramientas %s"
 
-#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:75 toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "Bloqueo de herramientas"
 
@@ -8622,219 +9690,188 @@ msgstr "Izquierdo=Acercar, Derecho=Alejar, Central=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Haga clic y arrastre para desplazar una pista en el tiempo"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Herramientas"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Herramienta de selección"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Herramienta de envolvente"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Herramienta de desplazamiento en el tiempo"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Herramienta de ampliación"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Herramienta de dibujo"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Modo multiherramienta"
 
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 msgid "Slide Tool"
 msgstr "Herramienta de deslizamiento"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Herramienta múltiple"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transcripción"
-
-#: toolbars/TranscriptionToolBar.cpp:171
+#: toolbars/TranscriptionToolBar.cpp:170
 msgid "Play at selected speed"
 msgstr "Reproducir a la velocidad seleccionada"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Reproducir a velocidad"
-
-#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:176 toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:263
 msgid "Playback Speed"
 msgstr "Velocidad de reproducción"
 
-#: toolbars/TranscriptionToolBar.cpp:196
+#: toolbars/TranscriptionToolBar.cpp:195
 msgid "Adjust left selection to next onset"
 msgstr "Ajustar selección izquierda a la entrada siguiente"
 
 #: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Izquierda a encendido"
-
-#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Ajustar selección derecha a la salida anterior"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Derecho a apagado"
-
-#: toolbars/TranscriptionToolBar.cpp:202
+#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust left selection to next offset"
 msgstr "Ajustar selección izquierda a la salida siguiente"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Izquierda a apagado"
-
-#: toolbars/TranscriptionToolBar.cpp:205
+#: toolbars/TranscriptionToolBar.cpp:201
 msgid "Adjust right selection to previous onset"
 msgstr "Ajustar selección derecha a la entrada anterior"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Derecho a encendido"
-
-#: toolbars/TranscriptionToolBar.cpp:208
+#: toolbars/TranscriptionToolBar.cpp:203
 msgid "Select region of sound around cursor"
 msgstr "Seleccione una zona de sonido alrededor del cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Seleccionar sonido"
-
-#: toolbars/TranscriptionToolBar.cpp:211
+#: toolbars/TranscriptionToolBar.cpp:205
 msgid "Select region of silence around cursor"
 msgstr "Seleccione una zona de silencio alrededor del cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Seleccionar Silencio"
-
-#: toolbars/TranscriptionToolBar.cpp:214
+#: toolbars/TranscriptionToolBar.cpp:207
 msgid "Automatically make labels from words"
 msgstr "Crea etiquetas automáticamente a partir de palabras"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Crear etiquetas"
-
-#: toolbars/TranscriptionToolBar.cpp:217
+#: toolbars/TranscriptionToolBar.cpp:209
 msgid "Add label at selection"
 msgstr "Añadir etiqueta en la selección"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Añadir etiqueta"
-
-#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:211
 msgid "Calibrate voicekey"
 msgstr "Calibrar clave de voz"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Calibrar"
-
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:215
 msgid "Adjust Sensitivity"
 msgstr "Ajustar sensibilidad"
 
-#: toolbars/TranscriptionToolBar.cpp:230
+#: toolbars/TranscriptionToolBar.cpp:220 toolbars/TranscriptionToolBar.cpp:276
 msgid "Sensitivity"
 msgstr "Sensibilidad"
 
-#: toolbars/TranscriptionToolBar.cpp:235
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Energy"
 msgstr "Energía"
 
-#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:226
 msgid "Sign Changes (Low Threshold)"
 msgstr "Cambios de signo (Umbral bajo)"
 
-#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:227
 msgid "Sign Changes (High Threshold)"
 msgstr "Cambios de signo (Umbral alto)"
 
-#: toolbars/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:228
 msgid "Direction Changes (Low Threshold)"
 msgstr "Cambios de dirección (umbral bajo)"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:229
 msgid "Direction Changes (High Threshold)"
 msgstr "Cambios de dirección (umbral alto)"
 
-#: toolbars/TranscriptionToolBar.cpp:247
+#: toolbars/TranscriptionToolBar.cpp:237 toolbars/TranscriptionToolBar.cpp:277
 msgid "Key type"
 msgstr "Tipo de clave"
 
-#: widgets/AButton.cpp:303
+#: toolbars/TranscriptionToolBar.cpp:262
+msgid "Play-at-speed"
+msgstr "Reproducir a velocidad"
+
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Left-to-On"
+msgstr "Izquierda a encendido"
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Right-to-Off"
+msgstr "Derecho a apagado"
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Left-to-Off"
+msgstr "Izquierda a apagado"
+
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Right-to-On"
+msgstr "Derecho a encendido"
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Sound"
+msgstr "Seleccionar sonido"
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Select-Silence"
+msgstr "Seleccionar Silencio"
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Make Labels"
+msgstr "Crear etiquetas"
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Add Label"
+msgstr "Añadir etiqueta"
+
+#: toolbars/TranscriptionToolBar.cpp:274
+msgid "Calibrate"
+msgstr "Calibrar"
+
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (deshabilitado)"
 
-#: widgets/AButton.cpp:461
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Pulsar"
 
-#: widgets/AButton.cpp:540
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Botón"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612 widgets/Meter.cpp:247
+#: widgets/ASlider.cpp:642 widgets/Meter.cpp:241
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615 widgets/Meter.cpp:249
+#: widgets/ASlider.cpp:645 widgets/Meter.cpp:243
 msgid "R"
 msgstr "R"
 
-#: widgets/ASlider.cpp:678
+#: widgets/ASlider.cpp:708
 msgid "Center"
 msgstr "Centro"
 
-#: widgets/ASlider.cpp:682
+#: widgets/ASlider.cpp:712
 msgid "Left"
 msgstr "Izquierda"
 
-#: widgets/ASlider.cpp:685
+#: widgets/ASlider.cpp:715
 msgid "Right"
 msgstr "Derecha"
 
-#: widgets/ErrorDialog.cpp:98
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr "Ayuda"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ">"
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr "Avances"
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
-msgstr "Restrocesos"
+msgstr "Retrocesos"
 
-#: widgets/ErrorDialog.cpp:255
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr "Ayuda en Internet"
 
@@ -8842,53 +9879,43 @@ msgstr "Ayuda en Internet"
 msgid "Grabber"
 msgstr "Arrastrador"
 
-#: widgets/Grid.cpp:643
-#, c-format
-msgid "%d rows, %d columns"
-msgstr "%d filas, %d columnas"
-
-#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
-#, c-format
-msgid "Row %d"
-msgstr "Fila %d"
-
-#: widgets/Grid.cpp:791
+#: widgets/Grid.cpp:723
 msgid "Empty"
 msgstr "Vacío"
 
-#: widgets/Meter.cpp:395
+#: widgets/Meter.cpp:385
 msgid "Enable Meter"
 msgstr "Habilitar medidor"
 
-#: widgets/Meter.cpp:397
+#: widgets/Meter.cpp:387
 msgid "Disable Meter"
 msgstr "Desactivar medidor"
 
-#: widgets/Meter.cpp:400
+#: widgets/Meter.cpp:390
 msgid "Stop Monitoring"
 msgstr "Detener monitorización"
 
-#: widgets/Meter.cpp:402
+#: widgets/Meter.cpp:392
 msgid "Start Monitoring"
 msgstr "Comenzar monitorización"
 
-#: widgets/Meter.cpp:406
+#: widgets/Meter.cpp:396
 msgid "Horizontal Stereo"
 msgstr "Estéreo horizontal"
 
-#: widgets/Meter.cpp:407
+#: widgets/Meter.cpp:397
 msgid "Vertical Stereo"
 msgstr "Estéreo vertical"
 
-#: widgets/Meter.cpp:424
+#: widgets/Meter.cpp:414
 msgid "Preferences..."
 msgstr "Preferencias..."
 
-#: widgets/Meter.cpp:875
+#: widgets/Meter.cpp:864
 msgid "Mix Volume"
 msgstr "Mezcla de volumen"
 
-#: widgets/Meter.cpp:1144
+#: widgets/Meter.cpp:1133
 msgid ""
 "This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
@@ -8900,11 +9927,11 @@ msgstr ""
 "baja (30 por segundo o menos), para que la calidad de audio\n"
 "no se vea afectada por la presentación del medidor."
 
-#: widgets/Meter.cpp:1145
+#: widgets/Meter.cpp:1134
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Actualización por segundos del medidor [1-100]: "
 
-#: widgets/Meter.cpp:1146
+#: widgets/Meter.cpp:1135
 msgid "Meter Preferences"
 msgstr "Preferencias de medición"
 
@@ -8916,26 +9943,26 @@ msgstr "Seleccione una acción "
 msgid "Please select an action"
 msgstr "Seleccione una acción"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1067
 msgid "Elapsed Time:"
 msgstr "Tiempo transcurrido:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1087
 msgid "Remaining Time:"
 msgstr "Tiempo restante:"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1115
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: widgets/Ruler.cpp:1445 widgets/Ruler.cpp:1446
+#: widgets/Ruler.cpp:1588 widgets/Ruler.cpp:1589
 msgid "Vertical Ruler"
 msgstr "Regla vertical"
 
 #. i18n-hint: Format string for displaying time in seconds. Change the comma
 #. * in the middle to the 1000s separator for your locale, and the 'seconds'
 #. * on the end to the word for seconds. Don't change the numbers.
-#: widgets/TimeTextCtrl.cpp:267
+#: widgets/TimeTextCtrl.cpp:269
 msgid "01000,01000 seconds"
 msgstr "01000,01000 segundos"
 
@@ -8944,13 +9971,13 @@ msgstr "01000,01000 segundos"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
 #. * change the numbers unless there aren't 60 seconds in a minute in your
 #. * locale
-#: widgets/TimeTextCtrl.cpp:276
+#: widgets/TimeTextCtrl.cpp:278
 msgid "0100 h 060 m 060 s"
 msgstr "0100 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in days, hours,
 #. * minutes and seconds
-#: widgets/TimeTextCtrl.cpp:279
+#: widgets/TimeTextCtrl.cpp:281
 msgid "dd:hh:mm:ss"
 msgstr "dd:hh:mm:ss"
 
@@ -8959,13 +9986,13 @@ msgstr "dd:hh:mm:ss"
 #. * for hours, 'm' to the abbreviation for minutes and 's' to the
 #. * abbreviation for seconds. Don't change the numbers unless there aren't
 #. * 24 hours in a day in your locale
-#: widgets/TimeTextCtrl.cpp:285
+#: widgets/TimeTextCtrl.cpp:287
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 días 024 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:290
 msgid "hh:mm:ss + hundredths"
 msgstr "hh:mm:ss + centésimas"
 
@@ -8974,13 +10001,13 @@ msgstr "hh:mm:ss + centésimas"
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:296
 msgid "0100 h 060 m 060.0100 s"
 msgstr "0100 h 060 m 060.0100 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
-#: widgets/TimeTextCtrl.cpp:288
+#: widgets/TimeTextCtrl.cpp:299
 msgid "hh:mm:ss + milliseconds"
 msgstr "hh:mm:ss + milisegundos"
 
@@ -8989,13 +10016,13 @@ msgstr "hh:mm:ss + milisegundos"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * milliseconds are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:305
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 h 060 m 060.01000 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and samples (at the current project sample rate)
-#: widgets/TimeTextCtrl.cpp:297
+#: widgets/TimeTextCtrl.cpp:308
 msgid "hh:mm:ss + samples"
 msgstr "hh:mm:ss + muestras"
 
@@ -9004,13 +10031,13 @@ msgstr "hh:mm:ss + muestras"
 #. * abbreviation for minutes, 's' to the abbreviation for seconds and
 #. * translate samples . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:303
+#: widgets/TimeTextCtrl.cpp:314
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 h 060 m 060 s+.# muestras"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
 #. * current project sample rate)
-#: widgets/TimeTextCtrl.cpp:306
+#: widgets/TimeTextCtrl.cpp:317
 msgid "samples"
 msgstr "muestras"
 
@@ -9018,13 +10045,13 @@ msgstr "muestras"
 #. * Change the ',' to the 1000s separator for your locale, and translate
 #. * samples. If 1000s aren't a base multiple for your number system, then you
 #. * can change the numbers to an appropriate one, and put a 0 on the front
-#: widgets/TimeTextCtrl.cpp:311
+#: widgets/TimeTextCtrl.cpp:322
 msgid "01000,01000,01000 samples|#"
 msgstr "01000,01000,01000 muestras|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:314
+#: widgets/TimeTextCtrl.cpp:325
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "hh:mm:ss +fotogramas de película (24 fps)"
 
@@ -9033,26 +10060,26 @@ msgstr "hh:mm:ss +fotogramas de película (24 fps)"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames' . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:320
+#: widgets/TimeTextCtrl.cpp:331
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 h 060 m 060 s+.24 fotogramas"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
 #. * frames) at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:323
+#: widgets/TimeTextCtrl.cpp:334
 msgid "film frames (24 fps)"
 msgstr "fotogramas de película (24 fps)"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
 #. * second. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:326
+#: widgets/TimeTextCtrl.cpp:337
 msgid "01000,01000 frames|24"
 msgstr "01000,01000 fotogramas|24"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV drop-frame rate (used for American /
-#. * Japananese TV, and very odd)
-#: widgets/TimeTextCtrl.cpp:330
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:341
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "hh:mm:ss + fotogramas NTSC con pérdida"
 
@@ -9060,14 +10087,14 @@ msgstr "hh:mm:ss + fotogramas NTSC con pérdida"
 #. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the |N alone, it's important!
-#: widgets/TimeTextCtrl.cpp:335
+#: widgets/TimeTextCtrl.cpp:346
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 h 060 m 060 s+.30 fotogramas|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-#. * Japananese TV, and doesn't quite match wall time
-#: widgets/TimeTextCtrl.cpp:339
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:350
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "hh:mm:ss + fotogramas NTSC sin pérdida"
 
@@ -9076,26 +10103,26 @@ msgstr "hh:mm:ss + fotogramas NTSC sin pérdida"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the | .999000999 alone,
 #. * the whole things really is slightly off-speed!
-#: widgets/TimeTextCtrl.cpp:345
+#: widgets/TimeTextCtrl.cpp:356
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 h 060 m 060 s+.030 fotogramas| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#. * TV frame rate (used for American / Japananese TV
-#: widgets/TimeTextCtrl.cpp:348
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:359
 msgid "NTSC frames"
 msgstr "fotogramas NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
 #. * rate!
-#: widgets/TimeTextCtrl.cpp:352
+#: widgets/TimeTextCtrl.cpp:363
 msgid "01000,01000 frames|29.97002997"
 msgstr "01000,01000 fotogramas|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at PAL TV frame rate (used for European TV)
-#: widgets/TimeTextCtrl.cpp:355
+#: widgets/TimeTextCtrl.cpp:366
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "hh:mm:ss + fotogramas PAL (25 fps)"
 
@@ -9103,25 +10130,25 @@ msgstr "hh:mm:ss + fotogramas PAL (25 fps)"
 #. * and frames with PAL TV frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Nice simple time code!
-#: widgets/TimeTextCtrl.cpp:360
+#: widgets/TimeTextCtrl.cpp:371
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 h 060 m 060 s+.25 fotogramas"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
 #. * TV frame rate (used for European TV
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:374
 msgid "PAL frames (25 fps)"
 msgstr "Fotogramas PAL (25 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone.
-#: widgets/TimeTextCtrl.cpp:366
+#: widgets/TimeTextCtrl.cpp:377
 msgid "01000,01000 frames|25"
 msgstr "01000,01000 fotogramas|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at CD Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:369
+#: widgets/TimeTextCtrl.cpp:380
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "hh:mm:ss + fotogramas CDDA (75 fps)"
 
@@ -9129,31 +10156,29 @@ msgstr "hh:mm:ss + fotogramas CDDA (75 fps)"
 #. * and frames with CD Audio frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'.
-#: widgets/TimeTextCtrl.cpp:374
+#: widgets/TimeTextCtrl.cpp:385
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 h 060 m 060 s+.75 fotogramas"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
 #. * Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:377
+#: widgets/TimeTextCtrl.cpp:388
 msgid "CDDA frames (75 fps)"
 msgstr "Fotogramas CDDA (75 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:380
+#: widgets/TimeTextCtrl.cpp:391
 msgid "01000,01000 frames|75"
 msgstr "01000,01000 fotogramas|75"
 
-#: widgets/TimeTextCtrl.cpp:451
+#: widgets/TimeTextCtrl.cpp:470
 msgid "Use right mouse button or context key to change format"
-msgstr "Utilice el botón derecho del ratón o la tecla de contexto para cambiar el formato"
-
-#: widgets/TimeTextCtrl.cpp:1485
-msgid "Time Control"
-msgstr "Control de tiempo"
+msgstr ""
+"Utilice el botón derecho del ratón o la tecla de contexto para cambiar el "
+"formato"
 
-#: widgets/Warning.cpp:64
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "No volver a mostrar esta advertencia"
 
@@ -9172,3 +10197,15 @@ msgstr "Error: %hs en la línea %lu"
 msgid "Could not load file: \"%s\""
 msgstr "No se ha podido abrir el archivo: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr "Error al recargar el archivo"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Error al cerrar el archivo"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Error al escribir el archivo"
+
diff --git a/locale/eu.po b/locale/eu.po
index f3faa65..f530cee 100644
--- a/locale/eu.po
+++ b/locale/eu.po
@@ -32,11 +32,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -86,7 +86,7 @@ msgid "Special thanks:"
 msgstr "Eskerrik asko hauei:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -228,10 +228,20 @@ msgstr "Sarrerako metroa"
 msgid "Output Meter"
 msgstr "Irteerako metroa"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Berria"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Ireki..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
 #: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
@@ -353,14 +363,14 @@ msgstr "Errorea: "
 msgid "Error Initializing Audio"
 msgstr "Errorea audioa hasieratzean"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -586,8 +596,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -905,11 +916,11 @@ msgstr "Laukizuzena"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -965,11 +976,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1050,11 +1062,24 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
 #: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "Itxi"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
@@ -1065,6 +1090,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Espektroa ikusteko, hautatutako pista guztiek lagintze-maiztasun bera izan behar dute."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Audio gehiegi hautatu duzu. Audioaren lehen %.1f segundoak baino ez dira analizatuko."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Ez dira nahikoa datu hautatu."
@@ -1104,6 +1138,21 @@ msgstr "Maiztasuna (Hz)\tMaila (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Atzerapena (segundo)\tMaiztasuna (Hz)\tMaila"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1181,7 +1230,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1205,7 +1254,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1274,6 +1323,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1387,21 +1444,13 @@ msgstr "Audacity proiektua irekitzen"
 msgid "&File"
 msgstr "&Fitxategia"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Berria\tKtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Ireki...\tKtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Itxi\tKtrl+W"
+msgid "&Close"
+msgstr "&Itxi"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Gorde proiektua\tKtrl+S"
+msgid "&Save Project"
+msgstr "&Gorde proiektua"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1424,7 +1473,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1455,8 +1504,8 @@ msgstr "Esportatu &hainbat..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1471,10 +1520,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1489,7 +1534,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1497,63 +1542,63 @@ msgid "&Edit"
 msgstr "&Editatu"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Desegin\tKtrl+Z"
+msgid "&Undo"
+msgstr "&Desegin"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Berregin"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "Eba&ki\tKtrl+X"
+msgid "Cu&t"
+msgstr "Eba&ki"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopiatu\tKtrl+C"
+msgid "&Copy"
+msgstr "&Kopiatu"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Itsatsi\tKtrl+V"
+msgid "&Paste"
+msgstr "&Itsatsi"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Ezabatu\tKtrl+K"
+msgid "&Delete"
+msgstr "&Ezabatu"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1566,47 +1611,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1614,33 +1644,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Dena\tKtrl+A"
+msgid "&All"
+msgstr "&Dena"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Bilatu zeroak\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Bilatu zeroak"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1657,11 +1687,11 @@ msgid "to Selection En&d"
 msgstr "hautapenaren amaierara"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1684,29 +1714,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Aktibatu 'Atxiki honi'"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Desaktibatu 'Atxiki honi'"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Aktibatu 'Atxiki saretari'"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Desaktibatu 'Atxiki saretari'"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1714,35 +1723,35 @@ msgid "&View"
 msgstr "&Ikusi"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Handiagotu &zooma\tKtrl+1"
+msgid "Zoom &In"
+msgstr "Handiagotu &zooma"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normala\tKtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normala"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Txikiagotu zoo&ma\tKtrl+3"
+msgid "Zoom &Out"
+msgstr "Txikiagotu zoo&ma"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Doitu leihoari\tKtrl+F"
+msgid "&Fit in Window"
+msgstr "&Doitu leihoari"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Doitu &bertikalki\tKtrl+Maius+F"
+msgid "Fit &Vertically"
+msgstr "Doitu &bertikalki"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zooma hautapenera\tKtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zooma hautapenera"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1804,39 +1813,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Salto egin hasierara\tEtxea"
+msgid "Skip to Start"
+msgstr "Salto egin hasierara"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Salto egin amaierara\tAmaiera"
+msgid "Skip to End"
+msgstr "Salto egin amaierara"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1864,7 +1873,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1881,7 +1890,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1893,11 +1902,11 @@ msgid "Remo&ve Tracks"
 msgstr "Ke&ndu pistak"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1948,19 +1957,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Gehitu etiketa hautapenari\tKtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Gehitu etiketa erreproduzio-posizioari\tKtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Gehitu etiketa erreproduzio-posizioari"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -1986,14 +1994,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&ktua"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Errepikatu azken efektua\tKtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Analizatu"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
@@ -2011,8 +2019,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2031,181 +2039,149 @@ msgstr "&Exekutatu Benchmark..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Hautapen-tresna\tF1"
+msgid "Selection Tool"
+msgstr "Hautapen-tresna"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Bilkari-tresna\tF2"
+msgid "Envelope Tool"
+msgstr "Bilkari-tresna"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Marrazteko tresna\tF3"
+msgid "Draw Tool"
+msgstr "Marrazteko tresna"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Zoomaren tresna\tF4"
+msgid "Zoom Tool"
+msgstr "Zoomaren tresna"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Lerratzeko tresna\tF5"
+msgid "Time Shift Tool"
+msgstr "Lerratzeko tresna"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Tresna anitz\tF6"
+msgid "Multi Tool"
+msgstr "Tresna anitz"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Hurrengo tresna\tD"
+msgid "Next Tool"
+msgstr "Hurrengo tresna"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Aurreko tresna\tA"
+msgid "Previous Tool"
+msgstr "Aurreko tresna"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Gelditu\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Pausarazi\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Grabatu\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Erreproduzitu segundo bat\t1"
+msgid "Play One Second"
+msgstr "Erreproduzitu segundo bat"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Erreproduzitu hautapenera arte\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Erreproduzitu begiztan\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Erreproduzitu hautapenera arte"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Hautatu hasieraraino\tMaius+Etxea"
+msgid "Selection to Start"
+msgstr "Hautatu hasieraraino"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Hautatu amaieraraino\tMaius+Amaiera"
+msgid "Selection to End"
+msgstr "Hautatu amaieraraino"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "EzabatuTekla\tAtzera_tekla"
+msgid "DeleteKey"
+msgstr "EzabatuTekla"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "EzabatuTekla2\tEzabatu"
+msgid "DeleteKey2"
+msgstr "EzabatuTekla2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Kurtsorea ezkerrean\tEzk."
+msgid "Cursor Left"
+msgstr "Kurtsorea ezkerrean"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Kurtsorea eskuinean\tEsk."
+msgid "Cursor Right"
+msgstr "Kurtsorea eskuinean"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Zabaldu hautapena ezkerrera\tMaius+Ezkerra"
+msgid "Selection Extend Left"
+msgstr "Zabaldu hautapena ezkerrera"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Zabaldu hautapena eskuinera\tMaius+Eskuina"
+msgid "Selection Extend Right"
+msgstr "Zabaldu hautapena eskuinera"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2216,51 +2192,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Murriztu hautapena ezkerrera\tKtrl+Maius+Eskuina"
+msgid "Selection Contract Left"
+msgstr "Murriztu hautapena ezkerrera"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Murriztu hautapena eskuinera\tKtrl+Maius+Ezkerra"
+msgid "Selection Contract Right"
+msgstr "Murriztu hautapena eskuinera"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2272,7 +2248,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2333,8 +2337,8 @@ msgstr "Pista bat hautatu behar duzu lehenbizi."
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Errepikatu %s\tKtrl+R"
+msgid "Repeat %s"
+msgstr "Errepikatu %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2541,15 +2545,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Zatitu etiketetan"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Espektroa ikusteko, hautatutako pista guztiek lagintze-maiztasun bera izan behar dute."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Audio gehiegi hautatu duzu. Audioaren lehen %.1f segundoak baino ez dira analizatuko."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2769,6 +2764,10 @@ msgstr "Arazo bat gertatu da inprimatzean."
 msgid "Print"
 msgstr "Inprimatu"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2782,8 +2781,7 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Grabatu"
 
@@ -2808,8 +2806,8 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Aldaketak gorde nahi dituzu?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
 #: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
@@ -2839,6 +2837,17 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Errorea fitxategia irekitzean"
@@ -2895,10 +2904,12 @@ msgstr "Fitxategia Audacity %s erabiliz gorde zen.\n"
 msgid "Can't open project file"
 msgstr "Ezin da proiektuaren fitxategia ireki"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2918,16 +2929,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Errorea proiektua gordetzean"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -3086,6 +3103,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Aukeratu..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Pistak"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3094,6 +3268,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3232,6 +3410,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3304,6 +3486,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3343,10 +3533,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
 #: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
 #: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
@@ -3403,6 +3589,10 @@ msgstr "Bihurtu pista estereo"
 msgid "Split Stereo Track"
 msgstr "Zatitu pista estereoa"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Ezarri lagin-formatua"
@@ -3597,14 +3787,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3639,6 +3821,11 @@ msgstr "Kanala"
 msgid "Split stereo track '%s'"
 msgstr "Zatitu '%s' pista estereoa"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3715,6 +3902,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Mututu"
@@ -3793,8 +3984,9 @@ msgstr "Pluginak 1(e)tik %i(e)ra"
 msgid "Plugins %i to %i"
 msgstr "Pluginak %i(e)tik %i(e)ra"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4245,12 +4437,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalizatu 0dB-ra konprimitu ondoren"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Atalasea: %d dB"
@@ -4281,7 +4472,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Eraso-denbora: %.1f s"
@@ -4304,6 +4494,10 @@ msgstr "Konpresorea..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Tarte dinamikoaren konpresioa aplikatzen..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4323,19 +4517,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4369,6 +4550,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4413,16 +4599,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4533,18 +4711,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4669,6 +4835,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4869,10 +5039,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5108,10 +5274,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5460,20 +5622,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5484,17 +5663,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Barkatu, VST efektuak ezin dira pista estereotan aplikatu pistaren kanal indibidualak bat ez badatoz."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Efektuaren ezarpenak"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Bat ere ez"
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Ezin da ordezkatzea prozesatu"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST Plugin parametroak:"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5542,20 +5760,10 @@ msgstr "Efektua aplikatzen: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Bat ere ez"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Egilea: "
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Efektuaren ezarpenak"
-
 #: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Luzera (segundo)"
@@ -5747,9 +5955,21 @@ msgstr "Proiektu osoa komando-lerroaren kodetzailea erabiliz esportatzea"
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5817,6 +6037,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -5950,12 +6174,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -5974,10 +6194,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6166,12 +6386,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6282,6 +6502,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6536,10 +6767,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Esportatze-kokalekua:"
 
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Aukeratu..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6564,10 +6791,6 @@ msgstr "Artxiboaren lehen izena:"
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Pistak"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "Fitxategi-izenak:"
@@ -6601,25 +6824,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Aukeratu esportatutako fitxategiak gordetzeko  kokalekua"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:480
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6703,7 +6945,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Errorea (agian fitxategia ez da idatzi): %s"
@@ -6869,6 +7110,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Testu-formatu basikoko fitxategien zerrenda"
@@ -7023,128 +7268,57 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Audioaren  S/I"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Estereo)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Erreproduzitzea"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Grabazioa"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Interfazea"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Erreproduzitzea"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Grabazioa"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Estereo)"
 
 #: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
@@ -7162,34 +7336,31 @@ msgstr "Kokalekua:"
 msgid "Free Space:"
 msgstr "Lekua libre:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Aukeratu aldi baterako direktorioa jartzeko kokalekua"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7208,220 +7379,141 @@ msgstr "%s direktorioan ezin da idatzi"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Aldi baterako direktorioan egindako aldaketek ez dute eraginik izango Audacity berrabiarazi arte"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "MP3 liburutegiaren bertsioa:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
-
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Interfazea"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (anplitude handian editatzeko bitartea)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (8 biteko laginen PCM bitartea)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (16 biteko laginen PCM bitartea)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (gizakion entzumenaren gutxi gorabeherako muga)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (24 biteko laginen PCM bitartea)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (anplitude handian editatzeko bitartea)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (8 biteko laginen PCM bitartea)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (16 biteko laginen PCM bitartea)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (gizakion entzumenaren gutxi gorabeherako muga)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (24 biteko laginen PCM bitartea)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7452,17 +7544,22 @@ msgstr "Oharra: Cmd+Q sakatzean irten egingo da. Beste tekla guztiak baliozkoak
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Tekla-konbinazioa"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Esportatu laster-teklak honela:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Desegin"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Errorea laster-teklak gordetzean"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7472,6 +7569,14 @@ msgstr "Hautatu Audacity-ren laster-teklak dituen XML fitxategia..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Errorea laster-teklak kargatzean"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Esportatu laster-teklak honela:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Errorea laster-teklak gordetzean"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7479,9 +7584,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Desegin"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "MP3 liburutegiaren bertsioa:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Audioaren  S/I"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7496,6 +7653,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7504,6 +7665,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7516,6 +7681,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7729,10 +7906,62 @@ msgstr "Ktrl-Gurpila-Biratu"
 msgid "Zoom in or out"
 msgstr "Handiagotu edo txikiagotu zooma"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Audacity-ren hobespenak"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Laukizuzena"
@@ -7757,44 +7986,44 @@ msgstr "Lagintze-maiztasun lehenetsia:"
 msgid "Default Sample Format:"
 msgstr "Lagin-formatu lehenetsia:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Denbora errealeko lagintze-maiztasunaren bihurgailua:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Kalitate handiko lagintze-maiztasunaren bihurgailua:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Denbora errealeko dither-a:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Kalitate handiko dither-a:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7809,18 +8038,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Espektrogramak"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "FFTn tamaina"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - lehenetsia"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7829,20 +8094,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - bandarik estuena"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7853,16 +8122,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Gehienezko maiztasuna (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7873,6 +8142,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Gehienezko maiztasunak osoko zenbakia izan behar du"
@@ -7889,18 +8166,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -7929,78 +8245,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pausarazi"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Gelditu"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Salto egin hasierara"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Salto egin amaierara"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Pausarazi"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Gelditu"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8041,28 +8373,20 @@ msgstr "Handiagotu zooma"
 msgid "Zoom Out"
 msgstr "Txikiagotu zooma"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Txandakatu zooma"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Doitu hautapena leihoari"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Doitu proiektua leihoari"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8109,6 +8433,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8187,30 +8519,6 @@ msgstr "Ezkerra=Handitu, Eskuina=Txikitu, Erdia=Normala"
 msgid "Click and drag to move a track in time"
 msgstr "Egin klik eta arrastatu pista bat denboran mugitzeko"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Hautapen-tresna"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Bilkari-tresna"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Lerratzeko tresna"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Zoomaren tresna"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Marrazteko tresna"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Tresna anitzeko modua"
@@ -8219,22 +8527,10 @@ msgstr "Tresna anitzeko modua"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8243,74 +8539,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8343,6 +8603,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (desgaituta)"
@@ -8644,3 +8944,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/fa.po b/locale/fa.po
index 2aab05d..4ad5a06 100644
--- a/locale/fa.po
+++ b/locale/fa.po
@@ -6,10 +6,8 @@
 # Meelad Zakaria <meelad at farsiweb.info>, 2007.
 # Farzaneh Sarafraz <farzaneh at farsiweb.info>, 2007.
 # Shervin Afshar <shervinafshar at gmail.com>, 2007.
-
 msgid ""
-msgstr ""
-"Project-Id-Version: Audacity 1.3.3\n"
+msgstr "Project-Id-Version: Audacity 1.3.3\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
 "POT-Creation-Date: 2007-03-12 02:40-0700\n"
 "PO-Revision-Date: 2007-06-26 14:01+0330\n"
@@ -23,52 +21,21 @@ msgstr ""
 msgid "&About Audacity..."
 msgstr "&دربارهٔ اوداسیتی..."
 
-#: AboutDialog.cpp:147 effects/AvcCompressor.cpp:674
-msgid "Enabled"
-msgstr "روشن"
-
-#: AboutDialog.cpp:148
-msgid "Disabled"
-msgstr "خاموش"
-
-#: AboutDialog.cpp:204
-msgid "Program build date: "
-msgstr "تاریخ ساخت نسخهٔ اجرایی برنامه: "
-
-#: AboutDialog.cpp:209
-msgid "Settings folder: "
-msgstr "پوشهٔ تنظیمات: "
+#: AboutDialog.cpp:157
+msgid "OK... Audacious!"
+msgstr ""
 
-#: AboutDialog.cpp:214
-msgid ""
-"Audacity is a free program written by a team of volunteer developers around "
-"the world. Coordination happens thanks to SourceForge.net, an online service "
-"that provides free tools to open-source software projects. Audacity is "
-"available for Windows 98 and newer, Mac OS X, Linux, and other Unix-like "
-"operating systems. Older versions of Audacity are available for Mac OS 9."
+#: AboutDialog.cpp:175
+msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
 msgstr ""
-"اوداسیتی یک نرم‌افزار آزاد است که توسط گروهی از برنامه‌سازان از سراسر دنیا نوشته شده است. "
-"این افراد با کمک SourceForge.net، سرویس برخطی که ابزارهای آزاد را در اختیار پروژه‌های اُپن‌سورس می‌گذارد، ‌با یکدیگر همکاری می‌کنند. "
-"اوداسیتی برای سیستم‌عامل‌های ویندوز 98 یا جدیدتر، مک اُ اس ایکس، لینوکس و دیگر سیستم‌عامل‌های یونیکسی موجود است. نسخه‌های قدیمی‌تر اوداسیتی برای مک اُ اس 9 موجودند."
 
-#: AboutDialog.cpp:218
-msgid ""
-"This is a beta version of the program.  It may contain bugs and unfinished "
-"features.  We depend on your feedback, so please visit our website and give "
-"us your bug reports and feature requests."
+#: AboutDialog.cpp:179
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
-"این نسخهٔ بتای برنامه است و ممکن است دارای اشکالات یا امکانات پیاده‌سازی نشده باشد. "
-"ما به کمک شما نیاز داریم، بنابراین لطفاً از وب‌گاه ما بازدید کنید و اشکالات را گزارش کنید و امکانات جدیدی درخواست کنید."
 
-#: AboutDialog.cpp:221
-msgid ""
-"This is a stable, completed release of Audacity. However, if you find a bug "
-"or have a suggestion, please contact us. We depend on feedback from users in "
-"order to continue to improve Audacity. For more information, visit our "
-"website."
+#: AboutDialog.cpp:182
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
-"این نسخهٔ پایدار و تکمیل شدهٔ اوداسیتی است. با این وجود، اگر اشکالی در آن پیدا کردید یا پیشنهادی دارید لطفاً با ما تماس بگیرید. "
-"ما برای بهتر کردن اوداسیتی به کمک کاربران نیاز داریم. برای اطلاعات بیشتر از وب‌گاه ما بازدید کنید."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -78,18 +45,13 @@ msgstr ""
 #.
 #: AboutDialog.cpp:231 AboutDialog.cpp:233
 msgid "translator_credits"
-msgstr ""
-"میلاد زکریا <meelad at farsiweb.inf>\n"
+msgstr "میلاد زکریا <meelad at farsiweb.inf>\n"
 "فرزانه سرافراز <farzaneh at farsiweb.info>\n"
 "شروین افشار <shervinafshar at gmail.com>"
 
-#: AboutDialog.cpp:246
-msgid "A Free Digital Audio Editor"
-msgstr "یک ویرایشگر آزاد صوت دیجیتال"
-
-#: AboutDialog.cpp:250
-msgid "Information"
-msgstr "اطلاعات"
+#: AboutDialog.cpp:207
+msgid "A Free Digital Audio Editor<br>"
+msgstr ""
 
 #: AboutDialog.cpp:252
 msgid "Credits"
@@ -125,12 +87,116 @@ msgstr "اوداسیتی بر پایهٔ متن برنامهٔ پروژه‌ها
 msgid "Special thanks:"
 msgstr "تشکر ویژه:"
 
-#. i18n-hint: Rather than a literal translation, consider adding the
-#. appropriate suffix or prefix to create a word meaning 'something which
-#. has Audacity'
-#: AboutDialog.cpp:311
-msgid "Audacious!"
-msgstr "اوداسیتی‌دار!"
+#: AboutDialog.cpp:250
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr ""
+
+#: AboutDialog.cpp:258
+msgid "Audacity"
+msgstr ""
+
+#. i18n-hint: Information about when audacity was compiled
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:468
+msgid "Build Information"
+msgstr ""
+
+#: AboutDialog.cpp:147 effects/AvcCompressor.cpp:674
+msgid "Enabled"
+msgstr "روشن"
+
+#: AboutDialog.cpp:148
+msgid "Disabled"
+msgstr "خاموش"
+
+#: AboutDialog.cpp:321
+msgid "File Format Support"
+msgstr ""
+
+#. i18n-hint: This is what the library (libmad) does - imports MP3 files
+#: AboutDialog.cpp:331 AboutDialog.cpp:333
+msgid "MP3 Importing"
+msgstr ""
+
+#: AboutDialog.cpp:340 AboutDialog.cpp:343
+msgid "Ogg Vorbis Import and Export"
+msgstr ""
+
+#: AboutDialog.cpp:347 AboutDialog.cpp:350
+msgid "ID3 tag support"
+msgstr ""
+
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
+msgid "FLAC import and export"
+msgstr ""
+
+#: AboutDialog.cpp:365 AboutDialog.cpp:368
+msgid "MP2 export"
+msgstr ""
+
+#: AboutDialog.cpp:373 AboutDialog.cpp:376
+msgid "Import via QuickTime"
+msgstr ""
+
+#. i18n-hint: Libraries that are essential to audacity
+#: AboutDialog.cpp:383
+msgid "Core Libraries"
+msgstr ""
+
+#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
+#: AboutDialog.cpp:397
+msgid "Sample rate conversion"
+msgstr ""
+
+#: AboutDialog.cpp:401
+msgid "Audio playback and recording"
+msgstr ""
+
+#: AboutDialog.cpp:413
+msgid "Features"
+msgstr ""
+
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
+msgid "Plug-in support"
+msgstr ""
+
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
+msgid "Sound card mixer support"
+msgstr ""
+
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
+msgid "Pitch and Tempo Change support"
+msgstr ""
+
+#: AboutDialog.cpp:204
+msgid "Program build date: "
+msgstr "تاریخ ساخت نسخهٔ اجرایی برنامه: "
+
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
+msgid "Build type:"
+msgstr ""
+
+#: AboutDialog.cpp:475
+msgid "Debug build"
+msgstr ""
+
+#: AboutDialog.cpp:477
+msgid "Release build"
+msgstr ""
+
+#. i18n-hint: The directory audacity is installed into (on *nix systems)
+#: AboutDialog.cpp:482
+msgid "Installation Prefix: "
+msgstr ""
+
+#: AboutDialog.cpp:209
+msgid "Settings folder: "
+msgstr "پوشهٔ تنظیمات: "
+
+#: AboutDialog.cpp:501
+msgid "GPL License"
+msgstr ""
 
 #: AudacityApp.cpp:276 Project.cpp:1521
 #, c-format
@@ -144,12 +210,10 @@ msgstr "خطا در باز کردن پروژه"
 
 #: AudacityApp.cpp:310
 #, c-format
-msgid ""
-"%s does not exist and could not be opened.\n"
+msgid "%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr ""
-"‏%s وجود ندارد و باز نمی‌شود.\n"
+msgstr "‏%s وجود ندارد و باز نمی‌شود.\n"
 "\n"
 "از فهرست تاریخچه حذف شده است."
 
@@ -165,16 +229,21 @@ msgstr "اندازه‌گیر ورودی"
 msgid "Output Meter"
 msgstr "اندازه‌گیر خروجی"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
-msgstr
- "ترجی&حات...\tCtrl+,"
+#: Menus.cpp:200
+msgid "&New"
+msgstr "&جدید"
+
+#: Menus.cpp:202
+msgid "&Open..."
+msgstr "&باز کردن..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
 
-#: AudacityApp.cpp:601
-msgid "Command-line options supported:\n"
-msgstr "گزینه‌های خط فرمان پشیبانی می‌شود:\n"
+#: AudacityApp.cpp:534 Menus.cpp:575
+msgid "&Preferences..."
+msgstr "ترجی&حات..."
 
 #: AudacityApp.cpp:617 AudacityApp.cpp:702
 #, c-format
@@ -186,60 +255,28 @@ msgstr "در حال استفاده از اندازه بلوک %Ild\n"
 msgid "Unknown command line option: %s\n"
 msgstr "گزینهٔ خط فرمان ناشناخته: %s\n"
 
-#. i18n-hint: '-help', '-test' and
-#. '-blocksize' need to stay in English.
-#: AudacityApp.cpp:686
-msgid ""
-"Command-line options supported:\n"
-"  -help (this message)\n"
-"  -test (run self diagnostics)\n"
-"  -blocksize ### (set max disk block size in bytes)\n"
-"\n"
-"In addition, specify the name of an audio file or Audacity project\n"
-"to open it.\n"
-"\n"
-msgstr ""
-"گزینه‌های خط فرمان پشیبانی می‌شود:\n"
-"  -help (همین پیغام)\n"
-"  -test (اجرای عیب‌یابی)\n"
-"  -blocksize ### (تنظیم حداکثر اندازهٔ بلوک دیسک بر حسب بایت)\n"
-"\n"
-"به علاوه، نام یک پروندهٔ صوتی یا پروژهٔ اوداسیتی را مشخص کنید\n"
-"تا باز شود.\n"
-
 #: AudacityApp.cpp:839
-msgid ""
-"Audacity could not find a place to store temporary files.\n"
+msgid "Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr ""
-"اوداسیتی جایی برای ذخیرهٔ پروندهٔ موقت پیدا نکرد.\n"
+msgstr "اوداسیتی جایی برای ذخیرهٔ پروندهٔ موقت پیدا نکرد.\n"
 "لطفاً در پنجرهٔ ترجیحات یک شاخهٔ مناسب وارد کنید."
 
-
 #: AudacityApp.cpp:845
-msgid ""
-"Audacity is now going to exit. Please launch Audacity again to use the new "
-"temporary directory."
-msgstr ""
-"در حال خارج شدن از اوداسیتی. برای استفاده از شاخهٔ موقت جدید لطفاً "
-"اوداسیتی را دوباره راه‌اندازی کنید."
+msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
+msgstr "در حال خارج شدن از اوداسیتی. برای استفاده از شاخهٔ موقت جدید لطفاً اوداسیتی را دوباره راه‌اندازی کنید."
 
 #: AudacityApp.cpp:877
-msgid ""
-"Running two copies of Audacity simultaneously may cause\n"
+msgid "Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr ""
-"اجرای هم‌زمان دو نسخه از اوداسیتی ممکن است باعث\n"
+msgstr "اجرای هم‌زمان دو نسخه از اوداسیتی ممکن است باعث\n"
 "از دست دادن داده‌ها شود، یا سیستم را از کار بیاندازد.\n"
 "\n"
 
 #: AudacityApp.cpp:884
-msgid ""
-"Audacity was not able to lock the temporary files directory.\n"
+msgid "Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr ""
-"اوداسیتی نتوانست شاخهٔ پرونده‌های موقت را قفل کند.\n"
+msgstr "اوداسیتی نتوانست شاخهٔ پرونده‌های موقت را قفل کند.\n"
 "ممکن است یک نسخهٔ دیگر اوداسیتی در حال استفاده از این پوشه باشد.\n"
 
 #: AudacityApp.cpp:886
@@ -255,31 +292,58 @@ msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "سیستم یک نسخهٔ دیگر اوداسیتی را در حال اجرا یافته است.\n"
 
 #: AudacityApp.cpp:902
-msgid ""
-"Use the New or Open commands in the currently running Audacity\n"
+msgid "Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr ""
-"برای اینکه چندین پروژه را هم‌زمان باز کنید\n"
+msgstr "برای اینکه چندین پروژه را هم‌زمان باز کنید\n"
 "از فرمان جدید یا بازکردن در اوداسیتی در حال اجرا استفاده کنید\n"
 
 #: AudacityApp.cpp:903
 msgid "Audacity is already running"
 msgstr "اوداسیتی از قبل در حال اجرا است"
 
+#: AudacityApp.cpp:1252
+msgid "Command-line options supported:"
+msgstr ""
+
+#. i18n-hint: '-help' is the option and needs to stay in
+#. * English. This displays a list of available options
+#: AudacityApp.cpp:1255
+msgid "\t-help (this message)"
+msgstr ""
+
+#. i18n-hint '-version' needs to stay in English.
+#: AudacityApp.cpp:1257
+msgid "\t-version (display Audacity version)"
+msgstr ""
+
+#. i18n-hint '-test' is the option and needs to stay in
+#. * English. This runs a set of automatic tests on audacity
+#. * itself
+#: AudacityApp.cpp:1261
+msgid "\t-test (run self diagnostics)"
+msgstr ""
+
+#. i18n-hint '-blocksize' is the option and needs to stay in
+#. * English. 'nnn' is any integer number. This controls the
+#. * size pieces that audacity uses when writing files to the
+#. * disk
+#: AudacityApp.cpp:1266
+msgid "\t-blocksize nnn (set max disk block size in bytes)"
+msgstr ""
+
+#: AudacityApp.cpp:1267
+msgid "In addition, specify the name of an audio file or Audacity project to open it."
+msgstr ""
 
 #: AudacityApp.cpp:1173
-msgid ""
-"Audacity project (.AUP) files are not currently \n"
+msgid "Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr ""
-"پرونده‌های پروژهٔ اوداسیتی (‎.AUP) هم‌اکنون\n"
-"به‌طور پیش‌فرض با اوداسیتی باز نمی‌شوند."
-"\n"
+msgstr "پرونده‌های پروژهٔ اوداسیتی (‎.AUP) هم‌اکنون\n"
+"به‌طور پیش‌فرض با اوداسیتی باز نمی‌شوند.\n"
 "آنها به اوداسیتی مرتبط شوند تا با دوبار کلیک باز شوند؟"
 
-
 #: AudacityApp.cpp:1174
 msgid "Audacity Project Files"
 msgstr "پرونده‌های پروژهٔ اوداسیتی"
@@ -289,11 +353,9 @@ msgid "Could not find any audio devices.\n"
 msgstr "هیچ دستگاه صوتی‌ای پیدا نشد.\n"
 
 #: AudioIO.cpp:215
-msgid ""
-"You will not be able to play or record audio.\n"
+msgid "You will not be able to play or record audio.\n"
 "\n"
-msgstr ""
-"قادر به پخش یا ضبط صدا نخواهید بود.\n"
+msgstr "قادر به پخش یا ضبط صدا نخواهید بود.\n"
 "\n"
 
 #: AudioIO.cpp:218
@@ -304,16 +366,24 @@ msgstr "خطا: "
 msgid "Error Initializing Audio"
 msgstr "خطا در راه‌اندازی صدا"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
+#: AudioIO.cpp:1225
+msgid "Latency problem"
+msgstr ""
+
 #: AutoRecovery.cpp:40
 msgid "Automatic Crash Recovery"
 msgstr "بازیابی خودکار پس از فروپاشی"
 
 #: AutoRecovery.cpp:59
-msgid ""
-"Some projects were not saved properly the last time Audacity was run.\n"
+msgid "Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr ""
-"دفعهٔ قبلی که اوداسیتی اجرا شده، بعضی پروژه‌ها درست ذخیره نشده‌اند.\n"
+msgstr "دفعهٔ قبلی که اوداسیتی اجرا شده، بعضی پروژه‌ها درست ذخیره نشده‌اند.\n"
 "خوشبختانه پروژه‌های زیر را می‌توان به طور خودکار بازیابی کرد:"
 
 #: AutoRecovery.cpp:61
@@ -325,34 +395,30 @@ msgid "Name"
 msgstr "نام"
 
 #: AutoRecovery.cpp:70
-msgid ""
-"Recovering a project will not change any files on disk before you save it."
+msgid "Recovering a project will not change any files on disk before you save it."
 msgstr "بازیابی پروژه پیش از ذخیره کردن هیچ پرونده‌ای را در دیسک تغییر نخواهد داد."
 
 #: AutoRecovery.cpp:74
 msgid "Quit Audacity"
 msgstr "خروج از اوداسیتی"
 
-#: AutoRecovery.cpp:75
-msgid "Don't recover"
-msgstr "بازیابی نشود"
+#: AutoRecovery.cpp:89
+msgid "Do Not Recover"
+msgstr ""
 
-#: AutoRecovery.cpp:76
-msgid "Recover projects"
+#: AutoRecovery.cpp:90
+#, fuzzy
+msgid "Recover Projects"
 msgstr "بازیابی پروژه‌ها"
 
-#: AutoRecovery.cpp:113
-msgid ""
-"You have chosen not to recover any projects. You will not be able to recover "
-"those projects later if you change your mind. Do you really want to continue "
-"without recovering?"
+#: AutoRecovery.cpp:127
+msgid "Are you sure you don't want to recover any projects?\n"
+"They can't be recovered later."
 msgstr ""
-"شما تصمیم گرفتید هیچ پروژه‌ای را بازیابی نکنید. بعداً اگر نظرتان تغییر کرد قادر نخواهید بود این پروژه‌ها را بازیابی کنید. "
-"آیا واقعاً می‌خواهید بدون بازیابی ادامه دهید؟"
 
-#: AutoRecovery.cpp:114
-msgid "Question"
-msgstr "پرسش"
+#: AutoRecovery.cpp:128
+msgid "Confirm?"
+msgstr ""
 
 #: AutoRecovery.cpp:132 AutoRecovery.cpp:169
 msgid "Could not enumerate files in auto save directory"
@@ -389,34 +455,59 @@ msgstr "&پارامترها"
 msgid "C&hoose command"
 msgstr "ان&تخاب فرمان"
 
-#. i18n-hint: Effect name translations must agree with those used elsewhere, or batch won't find them
-#: BatchCommands.cpp:232 BatchCommands.cpp:466 BatchCommands.cpp:468
-#: Menus.cpp:451 Menus.cpp:654 effects/StereoToMono.h:23
-msgid "&Stereo To Mono"
-msgstr "ا&ستریو به مونو"
+#: BatchCommands.cpp:455
+msgid "Stereo to Mono Effect not found"
+msgstr ""
 
-#: BatchCommands.cpp:233 BatchCommands.cpp:238 BatchCommands.cpp:246
-#: effects/Normalize.cpp:94
-msgid "Normalize"
-msgstr "نرمال‌سازی"
+#: export/Export.cpp:410
+msgid "Ogg Vorbis support is not included in this build of Audacity"
+msgstr "در این نسخه از اوداسیتی اُگ وربیس را پشتیبانی نمی‌کند"
 
-#: BatchCommands.cpp:235 effects/NoiseRemoval.cpp:675
-msgid "Noise Removal"
-msgstr "حذف نوفه"
+#: BatchCommands.cpp:487
+msgid "FLAC support is not included in this build of Audacity"
+msgstr ""
 
-#: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
-msgid "Truncate Silence..."
-msgstr "حذف سکوت..."
+#: BatchCommands.cpp:491
+#, c-format
+msgid "Command %s not implemented yet"
+msgstr ""
 
-#: BatchCommands.cpp:237 effects/Leveller.cpp:129
-msgid "Leveller"
-msgstr "ابزار ترازبندی"
+#: BatchCommands.cpp:507
+#, c-format
+msgid "Could not set parameters of effect %s\n"
+" to %s."
+msgstr ""
+
+#: BatchCommands.cpp:560
+#, c-format
+msgid "Your batch command of %s was not recognised."
+msgstr ""
+
+#: BatchCommands.cpp:651
+#, c-format
+msgid "Apply %s with parameter(s)\n"
+"\n"
+"%s"
+msgstr ""
+
+#: BatchCommands.cpp:652 BatchCommands.cpp:657
+msgid "Test Mode"
+msgstr ""
+
+#: BatchCommands.cpp:656
+#, c-format
+msgid "Apply %s"
+msgstr ""
 
 #: BatchProcessDialog.cpp:58 BatchProcessDialog.cpp:68
 #: BatchProcessDialog.cpp:69
 msgid "Apply Chain"
 msgstr "اِعمال زنجیره"
 
+#: BatchProcessDialog.cpp:67
+msgid "CleanSpeech Batch Processing"
+msgstr ""
+
 #: BatchProcessDialog.cpp:92
 msgid "&Select chain"
 msgstr "&انتخاب زنجیره"
@@ -465,19 +556,21 @@ msgstr "در حال اِعمال «%s» بر پروژهٔ فعلی"
 msgid "Please save and close the current project first."
 msgstr "لطفاً ابتدا پروژهٔ فعلی را ذخیره کرده و ببندید."
 
+#: BatchProcessDialog.cpp:206
+msgid "Select vocal file(s) for batch CleanSpeech Chain..."
+msgstr ""
+
 #: BatchProcessDialog.cpp:205
 msgid "Select file(s) for batch processing..."
 msgstr "پرونده(های) لازم برای پردازش دسته‌ای را انتخاب کنید..."
 
-#: BatchProcessDialog.cpp:208
-msgid ""
-"All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU "
-"files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|"
-"FLAC files (*.flac)|*.flac"
+#: BatchProcessDialog.cpp:209
+msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
 msgstr ""
-"همهٔ پرونده‌ها (*.*)|*.*|WAV پرونده‌های (*.wav)|*.wav|AIFF پرونده‌های (*.aif)|*.aif|AU "
-"پرونده‌های (*.au)|*.au|MP3 پرونده‌های (*.mp3)|*.mp3|پرونده‌های اُگ وُربیس (*.ogg)|*.ogg|"
-"FLAC پرونده‌های (*.flac)|*.flac"
+
+#: BatchProcessDialog.cpp:208
+msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
+msgstr "همهٔ پرونده‌ها (*.*)|*.*|WAV پرونده‌های (*.wav)|*.wav|AIFF پرونده‌های (*.aif)|*.aif|AU پرونده‌های (*.au)|*.au|MP3 پرونده‌های (*.mp3)|*.mp3|پرونده‌های اُگ وُربیس (*.ogg)|*.ogg|FLAC پرونده‌های (*.flac)|*.flac"
 
 #: BatchProcessDialog.cpp:229
 msgid "Applying..."
@@ -512,9 +605,10 @@ msgstr "ت&غییر نام"
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "&زنجیره (برای ویرایش دوبار کلیک کنید یا کلید فاصله را فشار دهید)"
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
-msgstr "نه"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:456
 msgid "&Insert"
@@ -576,13 +670,10 @@ msgid "Copying audio data into project..."
 msgstr "در حال نسخه‌برداری از اطلاعات صوتی در پروژه..."
 
 #: Dependencies.cpp:219
-msgid ""
-"Your project currently depends on the presence of other files.\n"
-"Copy audio from the following files into your project to make it self-"
-"contained?\n"
+msgid "Your project currently depends on the presence of other files.\n"
+"Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr ""
-"پروژهٔ شما در حال حاضر به وجود پرونده‌های دیگری وابسته است.\n"
+msgstr "پروژهٔ شما در حال حاضر به وجود پرونده‌های دیگری وابسته است.\n"
 "آیا می‌خواهید با نسخه‌برداری از این پرونده‌ها در پروژه‌تان آن را مستقل کنید؟\n"
 "این کار به فضای بیشتری از دیسک نیاز دارد ولی مطمئن‌تر است."
 
@@ -610,28 +701,26 @@ msgstr "نسخه‌برداری از پرونده‌های صوتی انتخاب
 msgid "Cancel Save"
 msgstr "صرف نظر از ذخیره‌سازی"
 
-#: Dependencies.cpp:305
-msgid "Skip"
-msgstr "گذشتن"
-
-#: Dependencies.cpp:308 FreqWindow.cpp:207
-msgid "Close"
-msgstr "بستن"
+#: Dependencies.cpp:313
+msgid "Do Not Copy Any Audio"
+msgstr ""
 
-#: Dependencies.cpp:311
-msgid "Copy All Audio Into Project (safer)"
-msgstr "نسخه‌برداری از همهٔ صداها در پروژه (راه مطمئن‌تر)"
+#: Dependencies.cpp:315
+msgid "Copy All Audio into Project (Safer)"
+msgstr ""
 
 #: Dependencies.cpp:320 Dependencies.cpp:325
 msgid "Ask me"
 msgstr "پرسش از شما"
 
-#: Dependencies.cpp:321 prefs/FileFormatPrefs.cpp:136
-msgid "Always &copy all audio (safest)"
+#: Dependencies.cpp:325
+#, fuzzy
+msgid "Always copy all audio (safest)"
 msgstr "&همیشه از همهٔ صداها نسخه‌برداری شود (مطمئن‌ترین راه)"
 
-#: Dependencies.cpp:322 prefs/FileFormatPrefs.cpp:137
-msgid "&Never copy any audio"
+#: Dependencies.cpp:326
+#, fuzzy
+msgid "Never copy any audio"
 msgstr "هی&چ‌وقت از صداها نسخه‌برداری نشود"
 
 #: Dependencies.cpp:324
@@ -639,15 +728,11 @@ msgid "Whenever a project depends on other files:"
 msgstr "وقتی پروژه‌ای به پرونده‌های دیگر وابسته بود:"
 
 #: Dependencies.cpp:412
-msgid ""
-"If you proceed, your project will not be saved to disk. Is this what you "
-"want?"
+msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr "اگر ادامه دهید پروژهٔ شما در دیسک ذخیره نخواهد شد. آیا منظورتان همین است؟"
 
 #: Dependencies.cpp:452
-msgid ""
-"Your project is self-contained; it does not depend on any external audio "
-"files."
+msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "پروژهٔ شما مستقل است و به هیچ پروندهٔ صوتی خارجی‌ای وابسته نیست."
 
 #: Dependencies.cpp:453
@@ -655,11 +740,9 @@ msgid "Dependency check"
 msgstr "بررسی وابستگی"
 
 #: DirManager.cpp:136
-msgid ""
-"Warning: there is very little free disk space left on this volume.\n"
+msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr ""
-"اخطار: فضای آزاد بسیار کمی در این دیسک وجود دارد.\n"
+msgstr "اخطار: فضای آزاد بسیار کمی در این دیسک وجود دارد.\n"
 "لطفاً در ترجیحاتتان شاخهٔ موقت دیگری انتخاب کنید."
 
 #: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
@@ -680,14 +763,10 @@ msgstr "در حال پاک‌سازی شاخه‌های حافظهٔ نهان"
 
 #: DirManager.cpp:493
 #, c-format
-msgid ""
-"Audacity found an orphaned blockfile %s! \n"
-"Please consider saving and reloading the project to perform a complete "
-"project check.\n"
-msgstr ""
-"اوداسیتی یک پروندهٔ انسداد یتیم به نام %s پیدا کرده است!\n"
-"لطفاً پروژه را ذخیره و دوباره بارگیری کنید تا"
-"پروژه به طور کامل بررسی شود.\n"
+msgid "Audacity found an orphaned blockfile %s! \n"
+"Please consider saving and reloading the project to perform a complete project check.\n"
+msgstr "اوداسیتی یک پروندهٔ انسداد یتیم به نام %s پیدا کرده است!\n"
+"لطفاً پروژه را ذخیره و دوباره بارگیری کنید تاپروژه به طور کامل بررسی شود.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
@@ -711,16 +790,16 @@ msgstr "حذف «‎%s» ممکن نیست"
 msgid "Renamed file: %s\n"
 msgstr "پرونده با نام تغییر یافته: ‎%s\n"
 
-#: DirManager.cpp:1023
-#, c-format
-msgid "Changing block %s\n"
-msgstr "در حال تغییر بلوک %s\n"
-
 #: DirManager.cpp:1051
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "تغییر نام «‎%s» به «‎%s» ممکن نیست"
 
+#: DirManager.cpp:1181
+#, c-format
+msgid "Changed block %s to new alias name\n"
+msgstr ""
+
 #: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "در حال بازرسی داده‌های پروندهٔ پروژه..."
@@ -746,18 +825,14 @@ msgid "Missing data file: (%s.au)"
 msgstr "پروندهٔ داده‌ها وجود ندارد: (%s.au)"
 
 #: DirManager.cpp:1207
-msgid ""
-"Project check found inconsistencies inspecting the loaded project data;\n"
-"click 'Details' for a complete list of errors, or 'OK' to proceed to more "
-"options."
+msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+"click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
 msgstr "؛در بررسی پروژه، ناسازگاری‌هایی در داده‌های بارشدهٔ پروژه پیدا شد\n"
-"برای فهرست کاملی از خطاها روی «جزئیات» یا برای پیش‌رفتن و دیدن گزینه‌های بیشتر روی «تأیید»"
-" کلیک کنید."
+"برای فهرست کاملی از خطاها روی «جزئیات» یا برای پیش‌رفتن و دیدن گزینه‌های بیشتر روی «تأیید» کلیک کنید."
 
 #: DirManager.cpp:1219
 #, c-format
-msgid ""
-"Project check found %d orphaned blockfile[s]. These files are\n"
+msgid "Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
 msgstr "در بررسی پروژه %Id پروندهٔ انسداد یتیم پیدا شد. از این پرونده‌ها\n"
@@ -783,8 +858,7 @@ msgstr "اخطار"
 
 #: DirManager.cpp:1254
 #, c-format
-msgid ""
-"Project check detected %d input file[s] being used in place\n"
+msgid "Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
@@ -809,8 +883,7 @@ msgstr "همین حالا پروژه بدون هیچ تغییر دیگری بس
 
 #: DirManager.cpp:1300
 #, c-format
-msgid ""
-"Project check detected %d missing summary file[s] (.auf).\n"
+msgid "Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
 msgstr "در بررسی پروژه %Id پروندهٔ خلاصهٔ (.auf) تشخیص داده شد.\n"
@@ -827,8 +900,7 @@ msgstr "پر کردن داده‌های نمایشی مفقود با سکوت [
 
 #: DirManager.cpp:1342
 #, c-format
-msgid ""
-"Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
@@ -837,11 +909,10 @@ msgid ""
 "missing data by hand."
 msgstr "در بررسی پروژه %Id پروندهٔ انسداد (.au) پیدا شد که احتمالاً بدلیل یک خطا، فروپاشی سیستم، \n"
 "یا حذف اتفاقی بوجود آمده‌اند. اوداسیتی راهی برای ترمیم خودکار این داده‌ها ندارد؛\n"
-" می‌توانید انتخاب کنید که همیشه سکوت به جای داده‌های مفقود پُر شود، بطور موقت و \n" 
+" می‌توانید انتخاب کنید که همیشه سکوت به جای داده‌های مفقود پُر شود، بطور موقت و \n"
 "فقط برای این نشست سکوت پُر شود، یا پروژه را همین حالا ببندید و سعی کنید که داده‌های\n"
 "مفقود را بطور دستی بازگردانی کنید."
 
-
 #: DirManager.cpp:1347
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "جایگزینی داده‌های مفقود با سکوت [بلافاصله دائمی خواهد شد]"
@@ -870,6 +941,96 @@ msgstr "در حال ذخیرهٔ صداهای ضبط‌شده در دیسک..."
 msgid "Rectangular"
 msgstr "مستطیلی"
 
+#: FFmpeg.cpp:38
+msgid "FFmpeg support not compiled in"
+msgstr ""
+
+#: FFmpeg.cpp:103
+msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+"but this time Audacity failed to load it at startup.                       \n"
+"\n"
+"You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: FFmpeg.cpp:106
+msgid "FFmpeg startup failed"
+msgstr ""
+
+#: FFmpeg.cpp:114
+msgid "FFmpeg library not found"
+msgstr ""
+
+#: FFmpeg.cpp:408
+msgid "Locate FFmpeg"
+msgstr ""
+
+#: FFmpeg.cpp:428
+#, c-format
+msgid "Audacity needs the file %s to import and export audio via FFmpeg."
+msgstr ""
+
+#: FFmpeg.cpp:434 export/ExportMP3.cpp:562
+#, c-format
+msgid "Location of %s:"
+msgstr ""
+
+#: FFmpeg.cpp:443 export/ExportMP3.cpp:571
+#, c-format
+msgid "To find %s, click here -->"
+msgstr ""
+
+#: FFmpeg.cpp:449 export/ExportMP3.cpp:577
+msgid "Browse..."
+msgstr ""
+
+#: FFmpeg.cpp:450
+msgid "To get a free copy of FFmpeg, click here -->"
+msgstr ""
+
+#: FFmpeg.cpp:451 export/ExportMP3.cpp:579
+msgid "Download"
+msgstr ""
+
+#. i18n-hint: It's asking for the location of a file, for
+#. example, "Where is lame_enc.dll?" - you could translate
+#. "Where would I find the file %s" instead if you want.
+#: export/ExportMP3.cpp:129
+#, c-format
+msgid "Where is %s?"
+msgstr "%s کجاست؟"
+
+#: FFmpeg.cpp:643
+msgid "Failed to find compatible FFmpeg libraries"
+msgstr ""
+
+#: FFmpeg.h:97
+msgid "FFmpeg not found"
+msgstr ""
+
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
+msgstr ""
+
+#: FFmpeg.h:119
+msgid "Do not show this warning again"
+msgstr ""
+
+#: FFmpeg.h:264
+msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
+msgstr ""
+
+#: FFmpeg.h:297
+msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
+msgstr ""
+
+#: FFmpeg.h:324
+msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
+msgstr ""
+
 #: FreqWindow.cpp:102
 msgid "Frequency Analysis"
 msgstr "تحلیل بسامدی"
@@ -897,8 +1058,9 @@ msgstr "خودهمبستگی بهبودیافته"
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:148
-msgid "Algorithm:"
+#: FreqWindow.cpp:174 FreqWindow.cpp:178
+#, fuzzy
+msgid "Algorithm"
 msgstr "الگوریتم:"
 
 #: FreqWindow.cpp:166 HistoryWindow.cpp:79
@@ -911,9 +1073,9 @@ msgstr "اندازه"
 msgid " window"
 msgstr " پنجره‌ای"
 
-#: FreqWindow.cpp:182
-msgid "Function:"
-msgstr "تابع:"
+#: FreqWindow.cpp:211 FreqWindow.cpp:215
+msgid "Function"
+msgstr ""
 
 #: FreqWindow.cpp:190
 msgid "Linear frequency"
@@ -923,14 +1085,36 @@ msgstr "بسامد خطی"
 msgid "Log frequency"
 msgstr "بسامد لگاریتمی"
 
-#: FreqWindow.cpp:194
-msgid "Axis:"
-msgstr "محور:"
+#: FreqWindow.cpp:225 FreqWindow.cpp:229
+msgid "Axis"
+msgstr ""
 
 #: FreqWindow.cpp:204 LabelDialog.cpp:128
 msgid "&Export..."
 msgstr "&صدور..."
 
+#: FreqWindow.cpp:237 effects/Contrast.cpp:395 export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
+msgid "Export"
+msgstr ""
+
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: Dependencies.cpp:308 FreqWindow.cpp:207
+msgid "Close"
+msgstr "بستن"
+
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:270 FreqWindow.cpp:393 effects/AutoDuck.cpp:487
 #: effects/AutoDuck.cpp:521 effects/AutoDuck.cpp:799
 #: effects/Compressor.cpp:348 effects/Compressor.cpp:356
@@ -948,6 +1132,15 @@ msgstr "دسی‌بل"
 msgid "Hz"
 msgstr "هرتز"
 
+#: Menus.cpp:3452
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "برای رسم طیف، همهٔ شیارهای انتخاب‌شده باید نرخ نمونه‌برداری یکسان داشته باشند."
+
+#: Menus.cpp:3478
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "مقدار صوت انتخاب‌شده زیاد است. تنها %I.1f ثانیهٔ اول صوتتحلیل خواهد شد."
+
 #: FreqWindow.cpp:377
 msgid "Not enough data selected."
 msgstr "اندازهٔ داده‌های انتخاب‌شده کافی نیست."
@@ -963,10 +1156,8 @@ msgstr "مکان‌نما: %Id هرتز (%s) = %Id دسی‌بل    Peak: %Id ه
 
 #: FreqWindow.cpp:778
 #, c-format
-msgid ""
-"Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
-msgstr ""
-"مکان‌نما: %I.4f ثانیه (%Id هرتز) (%s) = %If,    قله: %I.4f ثانیه (%Id هرتز) (%s) = %I.3f"
+msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
+msgstr "مکان‌نما: %I.4f ثانیه (%Id هرتز) (%s) = %If,    قله: %I.4f ثانیه (%Id هرتز) (%s) = %I.3f"
 
 #: FreqWindow.cpp:1043
 msgid "spectrum.txt"
@@ -989,25 +1180,132 @@ msgstr "فرکانس (هرتز)\tسطح (دسی‌بل)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "تأخیر (ثانیه)\tفرکانس (هرتز)\tسطح"
 
-#: Help.cpp:68
-msgid "Where is audacity-1.2-help.htb?"
-msgstr "‏audacity-1.2-help.htb کجاست؟"
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
+#: HelpText.cpp:85
+msgid "To [[welcome|Welcome screen]]"
+msgstr ""
+
+#: HelpText.cpp:92
+msgid "Welcome!"
+msgstr ""
+
+#: HelpText.cpp:97
+msgid "Playing Audio"
+msgstr ""
+
+#: HelpText.cpp:101
+msgid "Recording Audio"
+msgstr ""
+
+#: HelpText.cpp:105
+msgid "Recording - Choosing the Input Device"
+msgstr ""
+
+#: HelpText.cpp:109
+msgid "Recording - Choosing the Input Source"
+msgstr ""
+
+#: HelpText.cpp:113
+msgid "Recording - Setting the Input Level"
+msgstr ""
+
+#: HelpText.cpp:117
+msgid "Editing and greyed out Menus"
+msgstr ""
+
+#: HelpText.cpp:121
+msgid "Exporting an Audio File"
+msgstr ""
+
+#: HelpText.cpp:125
+msgid "Saving an Audacity Project"
+msgstr ""
+
+#: HelpText.cpp:129
+msgid "Unsupported Formats"
+msgstr ""
+
+#: HelpText.cpp:133
+msgid "Burn to CD"
+msgstr ""
+
+#: HelpText.cpp:137
+msgid "No Local Help"
+msgstr ""
+
+#: HelpText.cpp:148
+msgid "</p><center><h3>Getting Started</h3></center><br>"
+msgstr ""
+
+#: HelpText.cpp:150
+msgid "Welcome to Audacity "
+msgstr ""
+
+#: HelpText.cpp:151
+msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
+msgstr ""
+
+#: HelpText.cpp:159
+msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
+msgstr ""
+
+#: HelpText.cpp:172
+msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
+msgstr ""
+
+#: HelpText.cpp:194
+msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
+msgstr ""
+
+#: HelpText.cpp:221
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
 
-#: Help.cpp:71
-msgid "HTML Help Books (*.htb)|*.htb"
-msgstr "کتاب‌های راهنمای HTML ‏‎(*.htb)|*htb"
+#: HelpText.cpp:244
+msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
 
-#: Help.cpp:79
-msgid "Couldn't open the Audacity Help file."
-msgstr "پروندهٔ راهنمای اوداسیتی باز نمی‌شود."
+#: HelpText.cpp:267
+msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
 
-#: Help.cpp:117
-msgid "Search for?"
-msgstr "جستجو به دنبال؟"
+#: HelpText.cpp:292
+msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
+msgstr ""
 
-#: Help.cpp:118
-msgid "Search help for keyword"
-msgstr "جستجوی در راهنما به دنبال کلیدواژه"
+#: HelpText.cpp:311
+msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
+msgstr ""
+
+#: HelpText.cpp:335
+msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
+msgstr ""
+
+#: HelpText.cpp:359
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr ""
+
+#: HelpText.cpp:383
+msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
+msgstr ""
+
+#: HelpText.cpp:403
+msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
+msgstr ""
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1067,6 +1365,14 @@ msgstr "مگابایت"
 msgid "GB"
 msgstr "گیگابایت"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr "شیار"
@@ -1075,8 +1381,9 @@ msgstr "شیار"
 msgid "Label"
 msgstr "برچسب"
 
-#: LabelDialog.cpp:52
-msgid "&Start Time"
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:341
+#, fuzzy
+msgid "Start Time"
 msgstr "&زمان آغاز"
 
 #: LabelDialog.cpp:53
@@ -1107,9 +1414,12 @@ msgstr "&وارد کردن..."
 msgid "New..."
 msgstr "جدید..."
 
-#: LabelDialog.cpp:347
+#: LabelDialog.cpp:354
 msgid "You have left blank label names.  These will be\n"
-msgstr "شما نام برچسب را خالی گذاشته‌اید. خواهد شد\n"
+"skipped when repopulating the Label Tracks.\n"
+"\n"
+"Would you like to go back and provide names?"
+msgstr ""
 
 #: LabelDialog.cpp:350
 msgid "Confirm"
@@ -1160,73 +1470,52 @@ msgstr "اولین اجرای اوداسیتی"
 msgid "Choose Language for Audacity to use:"
 msgstr "زبان اوداسیتی را انتخاب کنید"
 
-#: LangChoice.cpp:103 effects/AvcCompressor.cpp:738
-#: effects/TruncSilence.cpp:281 effects/VST/VSTEffect.cpp:454
-#: effects/audiounits/AudioUnitEffect.cpp:857 effects/nyquist/Nyquist.cpp:993
-#: effects/nyquist/Nyquist.cpp:1059 widgets/Warning.cpp:67
-msgid "OK"
-msgstr "تأیید"
-
 #: Legacy.cpp:356
 #, c-format
-msgid ""
-"Converted a 1.0 project file to the new format.\n"
+msgid "Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr ""
-"یک پروندهٔ پروژهٔ نسخهٔ 1.0 به قالب جدید تبدیل شد.\n"
+msgstr "یک پروندهٔ پروژهٔ نسخهٔ 1.0 به قالب جدید تبدیل شد.\n"
 "پروندهٔ قدیمی به نام «‎%s» ذخیره شد"
 
 #: Legacy.cpp:357
 msgid "Opening Audacity Project"
 msgstr "در حال باز کردن پروژهٔ اوداسیتی"
 
-#. i18n-hint: here, %s is the name of a toolbar, e.g. "Control Toolbar"
-#: Menus.cpp:169
-#, c-format
-msgid "Show %s"
-msgstr "نمایش %s"
-
-#. i18n-hint: here, %s is the name of a toolbar, e.g. "Control Toolbar"
-#: Menus.cpp:175
-#, c-format
-msgid "Hide %s"
-msgstr "مخفی کردن %s"
-
 #: Menus.cpp:198
 msgid "&File"
 msgstr "&پرونده"
 
-#: Menus.cpp:200
-msgid "&New\tCtrl+N"
-msgstr "&جدید\tCtrl+N"
-
-#: Menus.cpp:202
-msgid "&Open...\tCtrl+O"
-msgstr "&باز کردن...\tCtrl+O"
-
 #: Menus.cpp:213
-msgid "&Close\tCtrl+W"
-msgstr "بس&تن\tCtrl+W"
+msgid "&Close"
+msgstr "بس&تن"
 
 #: Menus.cpp:216
-msgid "&Save Project\tCtrl+S"
-msgstr "&ذخیرهٔ پروژه\tCtrl+S"
+msgid "&Save Project"
+msgstr "&ذخیرهٔ پروژه"
 
 #: Menus.cpp:220 Project.cpp:2374
 msgid "Save Project &As..."
 msgstr "ذخیرهٔ پروژه به &نام..."
 
+#: Menus.cpp:222
+msgid "Save Compressed Copy of Project..."
+msgstr ""
+
 #: Menus.cpp:223
 msgid "Chec&k Dependencies..."
 msgstr "ب&ررسی وابستگی‌ها..."
 
-#: Menus.cpp:227
-msgid "Open Me&tadata Editor"
-msgstr "باز کردن ویرایشگر &فراداده"
+#: Menus.cpp:230
+msgid "Open Me&tadata Editor..."
+msgstr ""
+
+#: Menus.cpp:238 import/ImportRaw.cpp:421
+msgid "&Import"
+msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&صدا...\tCtrl+Shift+I‍"
+msgid "&Audio..."
+msgstr "&صدا..."
 
 #: Menus.cpp:237
 msgid "&Labels..."
@@ -1240,33 +1529,9 @@ msgstr "MIDI...\t(&Ù…)"
 msgid "&Raw Data..."
 msgstr "داده‌های &خام..."
 
-#: Menus.cpp:244 Menus.cpp:318
-msgid "&Export As..."
-msgstr "&صدور به صورت..."
-
-#: Menus.cpp:245 Menus.cpp:269 Menus.cpp:319 Menus.cpp:324
-msgid "&WAV..."
-msgstr "WAV...\t(&Ùˆ)"
-
-#: Menus.cpp:246 Menus.cpp:270 Menus.cpp:320 Menus.cpp:325
-msgid "&MP3..."
-msgstr "MP3...\t(&Û³)"
-
-#: Menus.cpp:248 Menus.cpp:272
-msgid "Ogg &Vorbis..."
-msgstr "اُگ وُ&ربیس..."
-
-#: Menus.cpp:255 Menus.cpp:279
-msgid "&FLAC..."
-msgstr "FLAC...\t(&ف)"
-
-#: Menus.cpp:261 Menus.cpp:285
-msgid "MP&2..."
-msgstr "MP2...\t(&Û²)"
-
-#: Menus.cpp:268 Menus.cpp:323
-msgid "Expo&rt Selection As..."
-msgstr "ص&دور انتخاب به صورت..."
+#: Menus.cpp:260
+msgid "Expo&rt Selection..."
+msgstr ""
 
 #: Menus.cpp:302
 msgid "Export &Labels..."
@@ -1276,14 +1541,26 @@ msgstr "صدور &برچسب‌ها..."
 msgid "Export &Multiple..."
 msgstr "صدور &متعدد..."
 
-#: Menus.cpp:340 Menus.cpp:354
-msgid "Edit C&hains..."
-msgstr "ویرایش &زنجیرها"
+#: Menus.cpp:275
+msgid "Export MIDI..."
+msgstr ""
 
 #: Menus.cpp:352
 msgid "Appl&y Chain..."
 msgstr "اِ&عمال زنجیر..."
 
+#: Menus.cpp:340 Menus.cpp:354
+msgid "Edit C&hains..."
+msgstr "ویرایش &زنجیرها"
+
+#: Menus.cpp:287
+msgid "Export CleanSpeech &Presets..."
+msgstr ""
+
+#: Menus.cpp:288
+msgid "I&mport CleanSpeech Presets..."
+msgstr ""
+
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr "بارگ&ذاری پرونده..."
@@ -1297,315 +1574,359 @@ msgid "&Print..."
 msgstr "&چاپ..."
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
-msgstr "&خروج\tCtrl+Q"
+msgid "E&xit"
+msgstr "&خروج"
 
 #: Menus.cpp:394 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&ویرایش"
 
 #: Menus.cpp:398
-msgid "&Undo\tCtrl+Z"
-msgstr "بر&گردان\tCtrl+Z"
+msgid "&Undo"
+msgstr "بر&گردان"
 
 #: Menus.cpp:406 prefs/KeyConfigPrefs.cpp:341 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&دوباره"
 
 #: Menus.cpp:419
-msgid "Cu&t\tCtrl+X"
-msgstr "بر&ش\tCtrl+X"
+msgid "Cu&t"
+msgstr "بر&ش"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "تفکی&ک و برش\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "تفکی&ک و برش"
 
 #: Menus.cpp:421
-msgid "&Copy\tCtrl+C"
-msgstr "&نسخه‌برداری\tCtrl+C"
+msgid "&Copy"
+msgstr "&نسخه‌برداری"
 
 #: Menus.cpp:422
-msgid "&Paste\tCtrl+V"
-msgstr "&چسباندن\tCtrl+V"
+msgid "&Paste"
+msgstr "&چسباندن"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
-msgstr "آ&رایش\tCtrl+T"
+msgid "Tri&m"
+msgstr "آ&رایش"
 
 #: Menus.cpp:428
-msgid "&Delete\tCtrl+K"
-msgstr "&حذف\tCtrl+K"
+msgid "&Delete"
+msgstr "&حذف"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "تفکیک و ح&ذف\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "تفکیک و ح&ذف"
 
-#: Menus.cpp:430
-msgid "&Silence\tCtrl+L"
-msgstr "&سکوت\tCtrl+L"
+#: Menus.cpp:361
+msgid "Silence Audi&o"
+msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
-msgstr "ت&فکیک\tCtrl+I‍"
+msgid "Sp&lit"
+msgstr "ت&فکیک"
 
 #: Menus.cpp:437
-msgid "Split Ne&wCtrl+Alt+I"
-msgstr "تفکیک ج&دیدCtrl+Alt+I‍"
+msgid "Split Ne&w"
+msgstr "تفکیک ج&دید"
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
-msgstr "&پیوستن\tCtrl+J"
+msgid "&Join"
+msgstr "&پیوستن"
 
-#: Menus.cpp:443
-msgid "Disj&oin\tCtrl+Alt+J"
-msgstr "&گسستن\tCtrl+Alt+J"
+#: Menus.cpp:374 Menus.cpp:406
+msgid "Detac&h at Silences"
+msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
-msgstr "تک&ثیر\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "تک&ثیر"
+
+#: Menus.cpp:380 Menus.cpp:616
+msgid "Stereo Trac&k to Mono"
+msgstr ""
 
-#: Menus.cpp:458
-msgid "Labeled Re&gions..."
-msgstr "نا&حیه‌های برچسب‌دار..."
+#: Menus.cpp:389
+msgid "La&beled Regions"
+msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
-msgstr "بر&ش\tAlt+X"
+msgid "&Cut"
+msgstr "بر&ش"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "تفک&یک و برش\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "تفک&یک و برش"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr "نس&خه‌برداری\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
-msgstr "&حذف\tAlt+K"
+msgid "Co&py"
+msgstr "نس&خه‌برداری"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "تف&کیک و حذف\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "تف&کیک و حذف"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
-msgstr "سک&وت\tAlt+L"
+msgid "Sile&nce"
+msgstr "سک&وت"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr "تفکی&ک\tAlt+I‍"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr "&پیوستن\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:502
-msgid "Disj&oin\tShift+Alt+J"
-msgstr "&گسستن\tShift+Alt+J"
+msgid "Spli&t"
+msgstr "تفکی&ک"
 
-#: Menus.cpp:508
-msgid "Select..."
-msgstr "انتخاب..."
+#: Menus.cpp:412
+msgid "&Select"
+msgstr ""
 
 #: Menus.cpp:509
-msgid "&All\tCtrl+A"
-msgstr "&همه\tCtrl+A"
+msgid "&All"
+msgstr "&همه"
 
-#: Menus.cpp:513
-msgid "Left at Playback Position\t["
-msgstr "سمت چپ مکان پخش\t["
+#: Menus.cpp:416
+#, fuzzy
+msgid "&None"
+msgstr "&ذخیره"
+
+#: Menus.cpp:418
+#, fuzzy
+msgid "&Left at Playback Position"
+msgstr "سمت چپ مکان پخش"
 
-#: Menus.cpp:514
-msgid "Right at Playback Position\t]"
-msgstr "سمت راست مکان  پخش\t]"
+#: Menus.cpp:419
+#, fuzzy
+msgid "&Right at Playback Position"
+msgstr "سمت راست مکان  پخش"
 
-#: Menus.cpp:518
-msgid "Start to Cursor"
-msgstr "از اول تا مکان‌نما"
+#: Menus.cpp:423
+msgid "Track &Start to Cursor"
+msgstr ""
 
-#: Menus.cpp:519
-msgid "Cursor to End"
-msgstr "از مکان‌نما تا آخر"
+#: Menus.cpp:424
+msgid "Cursor to Track &End"
+msgstr ""
 
 #: Menus.cpp:525
-msgid "Find &Zero Crossings\tZ"
-msgstr "یافتن تقاطع‌های &صفر\tZ"
+msgid "Find &Zero Crossings"
+msgstr "یافتن تقاطع‌های &صفر"
 
-#: Menus.cpp:527
-msgid "Mo&ve Cursor..."
-msgstr "انت&قال مکان‌نما..."
+#: Menus.cpp:434
+msgid "Mo&ve Cursor"
+msgstr ""
 
-#: Menus.cpp:529
-msgid "to Selection Start"
+#: Menus.cpp:436
+#, fuzzy
+msgid "to Selection Star&t"
 msgstr "به آغاز انتخاب"
 
-#: Menus.cpp:530
-msgid "to Selection End"
+#: Menus.cpp:437
+#, fuzzy
+msgid "to Selection En&d"
 msgstr "به پایان انتخاب"
 
-#: Menus.cpp:534
-msgid "to Track Start"
+#: Menus.cpp:439
+#, fuzzy
+msgid "to Track &Start"
 msgstr "به آغاز شیار"
 
-#: Menus.cpp:535
-msgid "to Track End"
+#: Menus.cpp:440
+#, fuzzy
+msgid "to Track &End"
 msgstr "به پایان شیار"
 
-#: Menus.cpp:542
-msgid "Selection Save"
-msgstr "ذخیرهٔ انتخاب"
-
-#: Menus.cpp:543
-msgid "Selection Restore"
-msgstr "برگرداندن انتخاب"
-
-#: Menus.cpp:548
-msgid "S&nap-To..."
-msgstr "&چسبیدن به..."
-
-#. i18n-hint: Set snap-to mode on or off
-#: Menus.cpp:551
-msgid "On"
-msgstr "روشن"
-
-#. i18n-hint: Set snap-to mode on or off
-#: Menus.cpp:553 effects/ClickRemoval.cpp:376 effects/ClickRemoval.cpp:405
-msgid "Off"
-msgstr "خاموش"
-
-#: Menus.cpp:559
-msgid "Play &Region..."
-msgstr "پخش &محدوده..."
-
-#: Menus.cpp:560
-msgid "Lock"
-msgstr "قفل"
-
-#: Menus.cpp:561
-msgid "Unlock"
-msgstr "باز"
+#: Menus.cpp:448
+msgid "Re&gion Save"
+msgstr ""
 
-#: Menus.cpp:567
-msgid "Turn Snap-To On"
-msgstr "روشن کردن حالت چسبان"
+#: Menus.cpp:451
+msgid "Regio&n Restore"
+msgstr ""
 
-#: Menus.cpp:568
-msgid "Turn Snap-To Off"
-msgstr "خاموش کردن حالت چسبان"
+#: Menus.cpp:459
+msgid "Pla&y Region"
+msgstr ""
 
-#: Menus.cpp:569
-msgid "Turn Grid Snap On"
-msgstr "روشن کردن حالت چسبیدن به توری"
+#: Menus.cpp:461
+msgid "&Lock"
+msgstr ""
 
-#: Menus.cpp:570
-msgid "Turn Grid Snap Off"
-msgstr "خاموش کردن حالت چسبیدن به توری"
+#: Menus.cpp:464
+msgid "&Unlock"
+msgstr ""
 
-#: Menus.cpp:579
-msgid "&Preferences...\tCtrl+P"
-msgstr "ترجی&حات...\tCtrl+P"
+#: Menus.cpp:484
+msgid "Pre&ferences..."
+msgstr ""
 
 #: Menus.cpp:589
 msgid "&View"
 msgstr "ن&ما"
 
 #: Menus.cpp:591
-msgid "Zoom &In\tCtrl+1"
-msgstr "زوم به &داخل\tCtrl+1"
+msgid "Zoom &In"
+msgstr "زوم به &داخل"
 
 #: Menus.cpp:594
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "زوم &عادی\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "زوم &عادی"
 
 #: Menus.cpp:595
-msgid "Zoom &Out\tCtrl+3"
-msgstr "زوم به &خارج\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "زوم به &خارج"
 
 #: Menus.cpp:598
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&جا دادن در پنجره\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&جا دادن در پنجره"
 
 #: Menus.cpp:599
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "جا دادن &عمودی\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "جا دادن &عمودی"
 
 #: Menus.cpp:600
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&زوم به اندازهٔ انتخاب\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&زوم به اندازهٔ انتخاب"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&جمع کردن همهٔ قطعات\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&جمع کردن همهٔ قطعات"
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "پ&هن کردن همهٔ قطعات\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "پ&هن کردن همهٔ قطعات"
+
+#: Menus.cpp:516
+msgid "&Show Clipping"
+msgstr ""
 
 #: Menus.cpp:612
 msgid "&History..."
 msgstr "&تاریخچه"
 
-#: Menus.cpp:614
-msgid "&Experimental Display..."
-msgstr "نمایش ت&جربی..."
-
-#: Menus.cpp:617
-msgid "&Toolbars..."
-msgstr "&نوارهای ابزار..."
+#: Menus.cpp:529
+msgid "&Toolbars"
+msgstr ""
 
-#: Menus.cpp:618 Menus.cpp:1203 Menus.cpp:1204
-msgid "Control Toolbar"
+#: Menus.cpp:531
+#, fuzzy
+msgid "&Control Toolbar"
 msgstr "نوار ابزار کنترل"
 
-#: Menus.cpp:619 Menus.cpp:1207 Menus.cpp:1208
-msgid "Device Toolbar"
+#: Menus.cpp:532
+#, fuzzy
+msgid "&Device Toolbar"
 msgstr "نوار ابزار دستگاه"
 
-#: Menus.cpp:620 Menus.cpp:1211 Menus.cpp:1212
-msgid "Edit Toolbar"
+#: Menus.cpp:533
+#, fuzzy
+msgid "&Edit Toolbar"
 msgstr "نوار ابزار ویرایش"
 
-#: Menus.cpp:621 Menus.cpp:1215 Menus.cpp:1216
-msgid "Meter Toolbar"
+#: Menus.cpp:534
+#, fuzzy
+msgid "&Meter Toolbar"
 msgstr "نوار ابزار اندازه‌گیر"
 
-#: Menus.cpp:622 Menus.cpp:1219 Menus.cpp:1220
-msgid "Mixer Toolbar"
+#: Menus.cpp:535
+#, fuzzy
+msgid "Mi&xer Toolbar"
 msgstr "نوار ابزار میکسر"
 
-#: Menus.cpp:623 Menus.cpp:1223 Menus.cpp:1224
-msgid "Selection Toolbar"
+#: Menus.cpp:536
+#, fuzzy
+msgid "&Selection Toolbar"
 msgstr "نوار ابزار انتخاب"
 
-#: Menus.cpp:624 Menus.cpp:1227 Menus.cpp:1228
-msgid "Tools Toolbar"
+#: Menus.cpp:537
+#, fuzzy
+msgid "T&ools Toolbar"
 msgstr "نوار ابزار ابزارها"
 
-#: Menus.cpp:625 Menus.cpp:1231 Menus.cpp:1232
-msgid "Transcription Toolbar"
+#: Menus.cpp:538
+#, fuzzy
+msgid "Transcri&ption Toolbar"
 msgstr "ابزار آوانویسی"
 
+#: Menus.cpp:542
+msgid "&Reset Toolbars"
+msgstr ""
+
+#: Menus.cpp:550
+msgid "!Simplified View"
+msgstr ""
+
+#. i18n-hint: 'Transport' is the name given to the set of controls that
+#. play, record, pause etc.
+#: Menus.cpp:561
+msgid "T&ransport"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "پخش"
+
+#: Menus.cpp:565
+msgid "&Loop Play"
+msgstr ""
+
+#: Menus.cpp:566
+msgid "&Pause"
+msgstr ""
+
+#: Menus.cpp:569
+msgid "&Stop"
+msgstr ""
+
+#: Menus.cpp:875
+msgid "Skip to Start"
+msgstr "پرش به آغاز"
+
+#: Menus.cpp:876
+msgid "Skip to End"
+msgstr "پرش به انتها"
+
+#: Menus.cpp:577
+msgid "&Record"
+msgstr ""
+
+#: Menus.cpp:578
+msgid "&Timer Record..."
+msgstr ""
+
+#: Menus.cpp:579
+msgid "Append Record"
+msgstr ""
+
+#: Menus.cpp:583
+msgid "Overdub (on/off)"
+msgstr ""
+
+#: Menus.cpp:584
+msgid "Software Playthrough (on/off)"
+msgstr ""
+
+#: Menus.cpp:587
+msgid "Sound Activated Recording (on/off)"
+msgstr ""
+
+#: Menus.cpp:588
+msgid "Sound Activation Level..."
+msgstr ""
+
 #: Menus.cpp:635
 msgid "&Tracks"
 msgstr "&شیار‌ها"
 
-#: Menus.cpp:642
-msgid "Add &New..."
-msgstr "اضافه کردن ... &جدید"
+#: Menus.cpp:601
+msgid "Add &New"
+msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "شیار &صوتی\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "شیار &صوتی"
 
 #: Menus.cpp:644
 msgid "&Stereo Track"
@@ -1615,13 +1936,13 @@ msgstr "شیار ا&ستریو"
 msgid "&Time Track"
 msgstr "شیار &زمان"
 
-#: Menus.cpp:649
-msgid "&Timer Record"
-msgstr "ضبط با &زمان‌سنج"
+#: Menus.cpp:619
+msgid "Mi&x and Render"
+msgstr ""
 
-#: Menus.cpp:658 Menus.cpp:3760 Mix.cpp:119
-msgid "&Mix and Render"
-msgstr "&میکس و رندر"
+#: Menus.cpp:622
+msgid "Mix and Render to New Track"
+msgstr ""
 
 #: Menus.cpp:662
 msgid "&Resample..."
@@ -1631,6 +1952,14 @@ msgstr "نم&ونه‌برداری مجدد..."
 msgid "Remo&ve Tracks"
 msgstr "ح&ذف شیار‌ها"
 
+#: Menus.cpp:637
+msgid "&Mute All Tracks"
+msgstr ""
+
+#: Menus.cpp:638
+msgid "&UnMute All Tracks"
+msgstr ""
+
 #: Menus.cpp:679
 msgid "Align with &Zero"
 msgstr "ردیف کردن با ص&فر"
@@ -1647,302 +1976,358 @@ msgstr "ردیف کردن با آ&غاز انتخاب"
 msgid "Align with Selection &End"
 msgstr "ردیف کردن با &پایان انتخاب"
 
-#: Menus.cpp:683
-msgid "Align End with Cursor"
+#: Menus.cpp:647
+#, fuzzy
+msgid "Align End with Cu&rsor"
 msgstr "ردیف کردن پایان با مکان‌نما"
 
-#: Menus.cpp:684
-msgid "Align End with Selection Start"
+#: Menus.cpp:648
+#, fuzzy
+msgid "Align End with Selection Star&t"
 msgstr "ردیف کردن پایان با آغاز انتخاب"
 
-#: Menus.cpp:685
-msgid "Align End with Selection End"
+#: Menus.cpp:649
+#, fuzzy
+msgid "Align End with Selection En&d"
 msgstr "ردیف کردن پایان با پایان انتخاب"
 
-#: Menus.cpp:686
-msgid "Align Tracks Together"
+#: Menus.cpp:650
+#, fuzzy
+msgid "Align Tracks To&gether"
 msgstr "هم‌ردیف کردن شیار‌ها"
 
-#: Menus.cpp:688
-msgid "&Align Tracks..."
-msgstr "&ردیف کردن شیار‌ها..."
+#: Menus.cpp:652
+msgid "&Align Tracks"
+msgstr ""
+
+#: Menus.cpp:667
+msgid "Ali&gn and Move Cursor"
+msgstr ""
+
+#: Menus.cpp:679
+msgid "Synchronize MIDI with Audio"
+msgstr ""
 
-#: Menus.cpp:697
-msgid "Ali&gn And Move Cursor..."
-msgstr "ردی&ف کردن و جابه‌جایی مکان‌نما..."
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
+msgstr ""
 
-#: Menus.cpp:705
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "اضافه کردن &برچسب در قسمت انتخاب‌شده\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "اضافه کردن برچسب در مکان پخش\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "اضافه کردن برچسب در مکان پخش"
 
-#: Menus.cpp:712
-msgid "S&ort tracks by..."
-msgstr "&مرتب کردن شیارها از روی..."
+#: Menus.cpp:702
+msgid "S&ort tracks"
+msgstr ""
 
-#: Menus.cpp:713
-msgid "&Start time"
-msgstr "زمان آ&غاز"
+#: Menus.cpp:704
+msgid "by &Start time"
+msgstr ""
 
-#: Menus.cpp:715
-msgid "&Name"
-msgstr "&نام"
+#: Menus.cpp:707
+msgid "by &Name"
+msgstr ""
 
 #: Menus.cpp:725
 msgid "&Generate"
 msgstr "&تولید"
 
+#: Menus.cpp:766 Menus.cpp:851 Menus.cpp:921
+msgid "Unsorted"
+msgstr ""
+
 #: Menus.cpp:748
 msgid "Effe&ct"
 msgstr "ج&لوه"
 
-#: Menus.cpp:752
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "تکرار جلوهٔ قبل\tCtrl+R"
-
 #: Menus.cpp:784
 msgid "&Analyze"
 msgstr "تحلی&ل"
 
-#: Menus.cpp:786
-msgid "&Plot Spectrum..."
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
+#: Menus.cpp:877
+#, fuzzy
+msgid "Plot Spectrum..."
 msgstr "&رسم طیف..."
 
 #: Menus.cpp:819 Menus.cpp:822
 msgid "&Help"
 msgstr "را&هنما"
 
-#: Menus.cpp:824
-msgid "&Contents..."
-msgstr "&مندرجات..."
-
 #: Menus.cpp:829
 msgid "&About Audacity CleanSpeech..."
 msgstr "&دربارهٔ کلین‌اسپیچ اوداسیتی..."
 
+#: Menus.cpp:957
+msgid "&Show Welcome Message..."
+msgstr ""
+
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
+
+#: Menus.cpp:959
+msgid "Show &Log..."
+msgstr ""
+
+#: Menus.cpp:965
+msgid "&Screenshot Tools..."
+msgstr ""
+
 #: Menus.cpp:837
 msgid "&Run Benchmark..."
 msgstr "&اجرای آزمایش محک..."
 
-#: Menus.cpp:848
-msgid ""
-"Cycle backward through Dock, Track View, and Selection Bar\tCtrl+Shift+F6"
-msgstr "حرکت معکوس بین پنجرهٔ جداشدنی، نمای شیارها، و نوار انتخاب\tCtrl+Shift+F6"
+#: Menus.cpp:975
+msgid "&Audio Device Info..."
+msgstr ""
+
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
+msgstr ""
 
-#: Menus.cpp:849
-msgid "Cycle forward through Dock, Track View, and Selection Bar\tCtrl+F6"
-msgstr "حرکت بین پنجرهٔ جداشدنی، نمای شیارها، و نوار انتخاب\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
+msgstr ""
 
 #: Menus.cpp:852
-msgid "Selection Tool\tF1"
-msgstr "ابزار انتخاب\tF1"
+msgid "Selection Tool"
+msgstr "ابزار انتخاب"
 
 #: Menus.cpp:853
-msgid "Envelope Tool\tF2"
-msgstr "ابزار پاکت\tF2"
+msgid "Envelope Tool"
+msgstr "ابزار پاکت"
 
 #: Menus.cpp:854
-msgid "Draw Tool\tF3"
-msgstr "ابزار رسم\tF3"
+msgid "Draw Tool"
+msgstr "ابزار رسم"
 
 #: Menus.cpp:855
-msgid "Zoom Tool\tF4"
-msgstr "ابزار زوم\tF4"
+msgid "Zoom Tool"
+msgstr "ابزار زوم"
 
 #: Menus.cpp:856
-msgid "Time Shift Tool\tF5"
-msgstr "ابزار جابه‌جایی زمانی\tF5"
+msgid "Time Shift Tool"
+msgstr "ابزار جابه‌جایی زمانی"
 
 #: Menus.cpp:857
-msgid "Multi Tool\tF6"
-msgstr "ابزار چندگانه\tF6"
+msgid "Multi Tool"
+msgstr "ابزار چندگانه"
 
 #: Menus.cpp:859
-msgid "Next Tool\tD"
-msgstr "ابزار بعدی\tD"
+msgid "Next Tool"
+msgstr "ابزار بعدی"
 
 #: Menus.cpp:860
-msgid "Previous Tool\tA"
-msgstr "ابزار قبلی\tA"
+msgid "Previous Tool"
+msgstr "ابزار قبلی"
 
 #: Menus.cpp:862
-msgid "Play/Stop\tSpacebar"
-msgstr "پخش/توقف\tSpacebar"
-
-#: Menus.cpp:863
-msgid "Stop\tS"
-msgstr "توقف\tS"
-
-#: Menus.cpp:864
-msgid "Pause\tP"
-msgstr "Ù…Ú©Ø«\tP"
+msgid "Play/Stop"
+msgstr "پخش/توقف"
 
-#: Menus.cpp:865
-msgid "Record\tR"
-msgstr "ضبط\tR"
-
-#: Menus.cpp:867
-msgid "Stop and Select\tShift+A"
-msgstr "توقف و انتخاب\tShift+A"
+#: Menus.cpp:1000
+msgid "Play/Stop and Set Cursor"
+msgstr ""
 
 #: Menus.cpp:869
-msgid "Play One Second\t1"
-msgstr "پخش یک ثانیه\t1"
+msgid "Play One Second"
+msgstr "پخش یک ثانیه"
 
 #: Menus.cpp:870
-msgid "Play To Selection\tB"
-msgstr "پخش تا انتخاب\tB"
-
-#: Menus.cpp:871
-msgid "Play Looped\tL"
-msgstr "پخش در حلقهٔ تکرار\tL"
-
-#: Menus.cpp:872
-msgid "Play Looped\tShift+Spacebar"
-msgstr "پخش در حلقهٔ تکرار\tShift+Spacebar"
+msgid "Play To Selection"
+msgstr "پخش تا انتخاب"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
-msgstr "پخش پیش‌نمایش برش\tC"
-
-#: Menus.cpp:875
-msgid "Skip to Start\tHome"
-msgstr "پرش به آغاز\tHome"
-
-#: Menus.cpp:876
-msgid "Skip to End\tEnd"
-msgstr "پرش به انتها\tEnd"
+msgid "Play Cut Preview"
+msgstr "پخش پیش‌نمایش برش"
 
 #: Menus.cpp:878
-msgid "Selection to Start\tShift+Home"
-msgstr "انتخاب تا آغاز\tShift+Home"
+msgid "Selection to Start"
+msgstr "انتخاب تا آغاز"
 
 #: Menus.cpp:879
-msgid "Selection to End\tShift+End"
-msgstr "انتخاب تا پایان\tShift+End"
+msgid "Selection to End"
+msgstr "انتخاب تا پایان"
 
 #: Menus.cpp:881
-msgid "DeleteKey\tBackspace"
-msgstr "حذف کلید\tBackspace"
+msgid "DeleteKey"
+msgstr "حذف کلید"
 
 #: Menus.cpp:886
-msgid "DeleteKey2\tDelete"
-msgstr "حذف کلید ۲\tDelete"
+msgid "DeleteKey2"
+msgstr "حذف کلید ۲"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
-msgstr "پرش کوچک به چپ در حین پخش\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
-msgstr "پرش کوچک به راست در حین پخش\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "پرش بزرگ به چپ در حین پخش\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "پرش بزرگ به راست در حین پخش\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
-msgstr "جابه‌جایی تمرکز به شیار قبلی\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "جابه‌جایی تمرکز به شیار قبلی"
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "جابه‌جایی تمرکز به قبلی و تغییر انتخاب\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
-msgstr "جابه‌جایی تمرکز به شیار بعدی\tDown"
+msgid "Move Focus to Next Track"
+msgstr "جابه‌جایی تمرکز به شیار بعدی"
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "جابه‌جایی تمرکز به بعدی و تغییر انتخاب\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr "تغییر وضعیت تمرکز شیار\tReturn"
+msgid "Toggle Focused Track"
+msgstr "تغییر وضعیت تمرکز شیار"
 
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "تغییر وضعیت تمرکز شیار\tNUMPAD_ENTER"
+#: Menus.cpp:908
+msgid "Cursor Left"
+msgstr "مکان‌نما به چپ"
 
-#: Menus.cpp:905
-msgid "Toggle Focused Track\tCtrl+Spacebar"
-msgstr "تغییر وضعیت تمرکز شیار\tCtrl+Spacebar"
+#: Menus.cpp:909
+msgid "Cursor Right"
+msgstr "مکان‌نما به راست"
 
-#: Menus.cpp:906
-msgid "Unfocus Track\tEscape"
-msgstr "حذف تمرکز از شیار\tEscape"
+#: Menus.cpp:1035
+msgid "Cursor Short Jump Left"
+msgstr ""
 
-#: Menus.cpp:908
-msgid "Cursor Left\tLeft"
-msgstr "مکان‌نما به چپ\tLeft"
+#: Menus.cpp:1036
+msgid "Cursor Short Jump Right"
+msgstr ""
 
-#: Menus.cpp:909
-msgid "Cursor Right\tRight"
-msgstr "مکان‌نما به راست\tRight"
+#: Menus.cpp:1037
+msgid "Cursor Long Jump Left"
+msgstr ""
+
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Right"
+msgstr ""
 
 #: Menus.cpp:910
-msgid "Selection Extend Left\tShift+Left"
-msgstr "گسترش انتخاب به چپ\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "گسترش انتخاب به چپ"
 
 #: Menus.cpp:911
-msgid "Selection Extend Right\tShift+Right"
-msgstr "گسترش انتخاب به راست\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "گسترش انتخاب به راست"
+
+#: Menus.cpp:1043
+msgid "Set (or Extend) Left Selection"
+msgstr ""
+
+#: Menus.cpp:1044
+msgid "Set (or Extend) Right Selection"
+msgstr ""
 
 #: Menus.cpp:913
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "انقباض از چپ انتخاب\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "انقباض از چپ انتخاب"
 
 #: Menus.cpp:914
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "انقباض از راست انتخاب\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "انقباض از راست انتخاب"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
-msgstr "تغییر حرکت افقی بر روی شیار مورد تمرکز\tShift+P"
+msgid "Change pan on focused track"
+msgstr "تغییر حرکت افقی بر روی شیار مورد تمرکز"
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "حرکت افقی به چپ بر روی شیار مورد تمرکز\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "حرکت افقی به چپ بر روی شیار مورد تمرکز"
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "حرکت افقی به راست بر روی شیار مورد تمرکز\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "حرکت افقی به راست بر روی شیار مورد تمرکز"
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
-msgstr "تغییر بهره برای شیار مورد تمرکز\tShift+G"
+msgid "Change gain on focused track"
+msgstr "تغییر بهره برای شیار مورد تمرکز"
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "افزایش بهره برای شیار مورد تمرکز\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "افزایش بهره برای شیار مورد تمرکز"
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "کاهش بهره برای شیار مورد تمرکز\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "کاهش بهره برای شیار مورد تمرکز"
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
-msgstr "بازکردن منو برای شیار مورد تمرکز\tShift+M"
+msgid "Open menu on focused track"
+msgstr "بازکردن منو برای شیار مورد تمرکز"
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "بدون صدا/با صدا کردن شیار مورد تمرکز\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "بدون صدا/با صدا کردن شیار مورد تمرکز"
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "تک‌نواخت/غیر تک‌نواخت شیار مورد تمرکز\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "تک‌نواخت/غیر تک‌نواخت شیار مورد تمرکز"
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
-msgstr "بستن شیار مورد تمرکز\tShift+C"
+msgid "Close focused track"
+msgstr "بستن شیار مورد تمرکز"
+
+#: Menus.cpp:1060
+msgid "Snap To On"
+msgstr ""
+
+#: Menus.cpp:1061
+msgid "Snap To Off"
+msgstr ""
+
+#: Menus.cpp:1065
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
+msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
 #: Menus.cpp:939
@@ -1950,14 +2335,9 @@ msgid "Open Recent"
 msgstr "باز کردن موارد اخیر"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:942
-msgid "Recent &Files..."
-msgstr "پرونده‌های ا&خیر..."
-
-#: Menus.cpp:987 Menus.cpp:990
-#, c-format
-msgid "&%s..."
-msgstr "&%s..."
+#: Menus.cpp:1164
+msgid "Recent &Files"
+msgstr ""
 
 #: Menus.cpp:1002
 #, c-format
@@ -2007,13 +2387,30 @@ msgstr "باید اول یک شیار انتخاب کنید."
 
 #: Menus.cpp:2040
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "تکرار %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "تکرار %s"
 
 #: Menus.cpp:2171
 msgid "There are no label tracks to export."
 msgstr "هیچ شیار برچسبی برای صدور وجود ندارد."
 
+#: Menus.cpp:2667
+msgid "Export MIDI As:"
+msgstr ""
+
+#: Menus.cpp:2671
+msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
+msgstr ""
+
+#: Menus.cpp:2703
+msgid "You have selected a filename with an unrecognized file extension.\n"
+"Do you want to continue?"
+msgstr ""
+
+#: Menus.cpp:2704
+msgid "Export MIDI"
+msgstr ""
+
 #: Menus.cpp:2310
 msgid "Nothing to undo"
 msgstr "چیزی برای برگرداندن نیست"
@@ -2051,6 +2448,10 @@ msgstr "متن از تخته‌گیره چسبانده شد"
 msgid "Pasted from the clipboard"
 msgstr "از تخته‌گیره چسبانده شد"
 
+#: Menus.cpp:3229
+msgid "Pasting one type of track into another is not allowed."
+msgstr ""
+
 #: Menus.cpp:2628
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "نسخه‌برداری از صوت استریو در شیار مونو مجاز نیست."
@@ -2195,24 +2596,6 @@ msgstr "تفکیک به شیار جدید"
 msgid "Split at labels"
 msgstr "تفکیک در برچسب‌ها"
 
-#: Menus.cpp:3452
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "برای رسم طیف، همهٔ شیارهای انتخاب‌شده باید نرخ نمونه‌برداری یکسان داشته باشند."
-
-#: Menus.cpp:3478
-#, c-format
-msgid ""
-"Too much audio was selected.  Only the first %.1f seconds of audio will be "
-"analyzed."
-msgstr ""
-"مقدار صوت انتخاب‌شده زیاد است. تنها %I.1f ثانیهٔ اول صوت"
-"تحلیل خواهد شد."
-
-
-#: Menus.cpp:3551 Project.cpp:1493
-msgid "Select one or more audio files..."
-msgstr "یک یا چند پروندهٔ صوتی انتخاب کنید..."
-
 #: Menus.cpp:3613
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2226,16 +2609,15 @@ msgstr "وارد کردن برچسب"
 msgid "Select a MIDI file..."
 msgstr "یک یا چند پروندهٔ MIDI انتخاب کنید..."
 
-#: Menus.cpp:3628
-msgid ""
-"All files (*.*)|*.*|MIDI files (*.mid)|*.mid|Allegro files (*.gro)|*.gro"
-msgstr "همهٔ پرونده‌ها (*.*(|*.*|پرونده‌های MIDI‏ ‎(*.mid)|*.mid|پرونده‌های الگرو (*.gro)|gro"
+#: Menus.cpp:4270
+msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
+msgstr ""
 
 #: Menus.cpp:3644
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "MIDI واردشده از «%s»"
-			
+
 #: Menus.cpp:3646
 msgid "Import MIDI"
 msgstr "وارد کردن MIDI"
@@ -2248,22 +2630,17 @@ msgstr "یک پروندهٔ صوتی نافشرده انتخاب کنید..."
 msgid "All files (*)|*"
 msgstr "همهٔ پرونده‌ها (*)|*"
 
-#: Menus.cpp:3678 Project.cpp:2285 Project.cpp:2310 import/ImportPCM.cpp:405
-#: import/ImportPCM.cpp:449 import/ImportRaw.cpp:446
-msgid "Import"
-msgstr "وارد کردن"
-
-#: Menus.cpp:3697
-msgid "Edit ID3 Tags (for MP3 exporting)"
-msgstr "ویرایش برچسب ID3 (برای صدور به صورت MP3)"
+#: Menus.cpp:4329
+msgid "Edit the metadata tags"
+msgstr ""
 
-#: Menus.cpp:3698
-msgid "Edit ID3 Tags"
-msgstr "ویرایش برچسب ID3"
+#: Menus.cpp:4330 export/Export.cpp:348
+msgid "Edit Metadata"
+msgstr ""
 
-#: Menus.cpp:3698
-msgid "Edit ID3 tags"
-msgstr "ویرایش برچسب ID3"
+#: Menus.cpp:4330
+msgid "Edit Metadata tags"
+msgstr ""
 
 #: Menus.cpp:3749
 #, c-format
@@ -2284,6 +2661,10 @@ msgstr "%Id شیار در یک شیار استریو، میکس و رندر شد
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "%Id شیار در یک شیار مونو، میکس و رندر شدند"
 
+#: Menus.cpp:658 Menus.cpp:3760 Mix.cpp:119
+msgid "&Mix and Render"
+msgstr "&میکس و رندر"
+
 #: Menus.cpp:3877
 msgid "Aligned with zero"
 msgstr "هم‌ردیف با صفر"
@@ -2320,6 +2701,14 @@ msgstr "ردیف شد"
 msgid "Align"
 msgstr "ردیف کردن"
 
+#: Menus.cpp:4675
+msgid "Sync MIDI with Audio"
+msgstr ""
+
+#: Menus.cpp:4679
+msgid "Alignment completed."
+msgstr ""
+
 #: Menus.cpp:3961
 msgid "Created new audio track"
 msgstr "ایجاد شیار صوتی جدید"
@@ -2337,10 +2726,8 @@ msgid "Created new label track"
 msgstr "شیار برچسب جدید ایجاد شد"
 
 #: Menus.cpp:4024
-msgid ""
-"The version of Audacity you are using does not support multiple time tracks."
-msgstr ""
-"نسخهٔ اوداسیتی شما از یش از یک شیار زمان پشتیبانی نمی‌کند."
+msgid "The version of Audacity you are using does not support multiple time tracks."
+msgstr "نسخهٔ اوداسیتی شما از یش از یک شیار زمان پشتیبانی نمی‌کند."
 
 #: Menus.cpp:4035
 msgid "Created new time track"
@@ -2382,14 +2769,14 @@ msgstr "حذف شیار"
 msgid "Removed audio track(s)"
 msgstr "شیار(های) صوتی حذف‌شده"
 
-#: Menus.cpp:4480
-msgid "Enter new samplerate:"
-msgstr "نرخ جدید نمونه‌برداری را وارد کنید:"
-
 #: Menus.cpp:4480 Menus.cpp:4499
 msgid "Resample"
 msgstr "نمونه‌برداری مجدد"
 
+#: Menus.cpp:5287 TrackPanel.cpp:6479 toolbars/MixerToolBar.cpp:314
+msgid "New sample rate (Hz):"
+msgstr ""
+
 #: Menus.cpp:4486
 msgid "The entered value is invalid"
 msgstr "مقدار واردشده نامعتبر است"
@@ -2427,6 +2814,10 @@ msgstr "هنگام چاپ مشکلی پیش آمد."
 msgid "Print"
 msgstr "چاپ"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr "میکس اصلی"
@@ -2440,7 +2831,7 @@ msgstr "به اوداسیتی نسخهٔ %s خوش آمدید"
 msgid "(Recovered)"
 msgstr "(بازیابی شده)"
 
-#: Project.cpp:1318 TrackPanel.cpp:776 toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:865
 msgid "Record"
 msgstr "ضبط"
 
@@ -2452,17 +2843,60 @@ msgstr "صدای ضبط‌شده"
 msgid "Save changes before closing?"
 msgstr "آیا پیش از بستن، تغییرات ذخیره شود؟"
 
+#: Project.cpp:1710
+msgid "\n"
+"If saved, the project will have no tracks.\n"
+"\n"
+"To save any previously open tracks:\n"
+"Cancel, Edit > Undo until all tracks\n"
+"are open, then File > Save Project."
+msgstr ""
+
 #: Project.cpp:1336
 msgid "Save changes?"
 msgstr "تغییرات ذخیره شود؟"
 
-#: Project.cpp:1496
-msgid ""
-"Music files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*."
-"mp3)|*.mp3"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
+
+#: Menus.cpp:3551 Project.cpp:1493
+msgid "Select one or more audio files..."
+msgstr "یک یا چند پروندهٔ صوتی انتخاب کنید..."
+
+#: Project.cpp:1982
+msgid "Audacity projects|*.aup|"
+msgstr ""
+
+#: Project.cpp:2042 Project.cpp:2477
+#, c-format
+msgid "This file was saved by Audacity %s, a much\n"
+"older version.  The format has changed.\n"
+"\n"
+"Audacity could corrupt the file in opening\n"
+"it, so you must back it up first.\n"
+"\n"
+"Open this file now?"
+msgstr ""
+
+#: Project.cpp:2043
+msgid "1.0 or earlier"
+msgstr ""
+
+#: Project.cpp:1902
+msgid "Opening old project file"
+msgstr "در حال باز کردن پروندهٔ پروژهٔ قدیمی"
+
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
 msgstr ""
-"پرونده‌های موسیقی (*.wav;*.mp3)|*.wav;*.mp3|پرونده‌های (*.wav)|*.wav|MP3پرونده‌های WAV (*."
-"mp3)|*.mp3"
 
 #: Project.cpp:1571 Project.cpp:1579
 msgid "Error opening file"
@@ -2470,11 +2904,9 @@ msgstr "خطا در باز کردن پرونده"
 
 #: Project.cpp:1585
 #, c-format
-msgid ""
-"File may be invalid or corrupted: \n"
+msgid "File may be invalid or corrupted: \n"
 "%s"
-msgstr ""
-"ممکن است پرونده نامعتبر یا خراب باشد: \n"
+msgstr "ممکن است پرونده نامعتبر یا خراب باشد: \n"
 "%s"
 
 #: Project.cpp:1586
@@ -2482,9 +2914,7 @@ msgid "Error opening file or project"
 msgstr "خطا در باز کردن پرونده یا پروژه"
 
 #: Project.cpp:1603
-msgid ""
-"Audacity was unable to convert an Audacity 1.0 project to the new project "
-"format."
+msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "اوداسیتی قادر نبود پروژهٔ اواسیتی 1.0 را به قالب جدید پروژه تبدیل کند."
 
 #: Project.cpp:1706
@@ -2514,8 +2944,7 @@ msgstr "پوشهٔ داده‌های پروژه پیدا نمی‌شود: «%s»
 
 #: Project.cpp:1886
 #, c-format
-msgid ""
-"This file was saved using Audacity %s.\n"
+msgid "This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
 msgstr "این پرونده توسط اوداسیتی %s ذخیره شده است.\n"
@@ -2526,60 +2955,62 @@ msgstr "این پرونده توسط اوداسیتی %s ذخیره شده اس
 msgid "Can't open project file"
 msgstr "نمی‌توان پروندهٔ پروژه را باز کرد"
 
-#: Project.cpp:1898
+#: Project.cpp:2484
 #, c-format
-msgid ""
-"This file was saved by Audacity %s and the format\n"
-"has changed.  This version of Audacity can try to\n"
-"open it, but there may be problems.  You should back up\n"
-"your project first, to be safe.\n"
+msgid "This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"Would you like to open this file right now anyway?"
+"Open this file now?"
 msgstr ""
-"این پرونده توسط اوداسیتی %s ذخیره شده است و قالب آن تغییر کرده است.\n"
-" این نسخه از اوداسیتی می‌تواند تلاش کند که این پرونده را باز کند، اما ممکن است\n"
-"مشکلاتی بوجود آید. برای احتیاط، از پروژه نسخهٔ پشتیبان تهیه کنید.\n"
+
+#: Project.cpp:2682
+msgid "Your project is now empty.\n"
+"If saved, the project will have no tracks.\n"
+"\n"
+"To save any previously open tracks:\n"
+"Click 'No', Edit > Undo until all tracks\n"
+"are open, then File > Save Project.\n"
 "\n"
-"آیا با این وجود می‌خواهید این پرونده همین حالا باز کنید؟"
+"Save anyway?"
+msgstr ""
 
-#: Project.cpp:1902
-msgid "Opening old project file"
-msgstr "در حال باز کردن پروندهٔ پروژهٔ قدیمی"
+#: Project.cpp:2683
+msgid "Warning empty project"
+msgstr ""
 
-#: Project.cpp:2124
+#: Project.cpp:2792
 #, c-format
-msgid ""
-"Could not save project. Perhaps %s is not writeable,\n"
-"or the disk is full."
+msgid "Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
-"پروژه ذخیره نمی‌شود. شاید ‎%s قابل نوشتن نیست،\n"
-"یا دیسک پر شده است."
 
 #: Project.cpp:2126 Project.cpp:2140
 msgid "Error saving project"
 msgstr "خطا در ذخیره‌سازی پروژه"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2202
 #, c-format
 msgid "Saved %s"
 msgstr "‏‎%s ذخیره شد"
 
-#. i18n-hint: This refers to files that are opened directly
-#. without looking at the file header.  Same as "Import Raw"
-#: Project.cpp:2218
-msgid "Raw"
-msgstr "خام"
-
-#: Project.cpp:2223 import/ImportPCM.cpp:361
-#, c-format
-msgid "Importing %s File..."
-msgstr "در حال وارد کردن پروندهٔ ‎%s..."
-
 #: Project.cpp:2284
 #, c-format
 msgid "Imported '%s'"
 msgstr "‏«‎%s» وارد شد"
 
+#: Menus.cpp:3678 Project.cpp:2285 Project.cpp:2310 import/ImportPCM.cpp:405
+#: import/ImportPCM.cpp:449 import/ImportRaw.cpp:446
+msgid "Import"
+msgstr "وارد کردن"
+
 #: Project.cpp:2324
 msgid "Error importing"
 msgstr "خطا در وارد کردن"
@@ -2588,25 +3019,28 @@ msgstr "خطا در وارد کردن"
 msgid "Save Speech As:"
 msgstr "ذخیرهٔ گفتار با نام:"
 
-#: Project.cpp:2367
-msgid "Windows PCM Audio file *.wav)|*.wav"
+#: Project.cpp:3136
+#, fuzzy
+msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "پروندهٔ صوتی PCM ویندوز (*.wav)|*.wav"
 
-#: Project.cpp:2373
-msgid ""
-"Audacity project files (.aup) let you save everything you're working on "
-"exactly as it\n"
-"appears on the screen, but most other programs can't open Audacity project "
-"files.\n"
+#: Project.cpp:3143
+msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+"Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
+"To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
-"When you want to save a file that can be opened by other programs, select "
-"one of the\n"
+"Most other programs can't open Audacity project files.\n"
+"When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
 msgstr ""
-"با پرونده‌های پروژهٔ اوداسیتی (‎.aup) می‌توانید تمام چیزهایی را که در حال کار بر روی آنها هستیدبه همان شکلی که\n"
-"بر روی صفحهٔ نمایش نشان داده می‌شوند، ذخیره کنید، اما اکثر برنامه‌ها نمی‌توانند پرونده‌های پروژهٔ اوداسیتی را باز کنند."
+
+#: Project.cpp:3146
+msgid "You are saving an Audacity project file (.aup).\n"
 "\n"
-"مواقعی که می‌خواهید پرونده‌ای را ذخیره کنید که بتوان با برنامه‌های دیگر بازش کرد، یکی از «فرمان‌های صدور» را انتخاب کنید."
+"Saving a project creates a file that only Audacity can open.\n"
+"\n"
+"To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
+msgstr ""
 
 #: Project.cpp:2376
 msgid "Audacity projects (*.aup)|*.aup"
@@ -2650,6 +3084,16 @@ msgstr "دیسک به اندازهٔ ضبط %Id ثانیه فضای خالی د
 msgid "Out of disk space"
 msgstr "دیسک پُر شده است"
 
+#: Project.cpp:3563
+#, c-format
+msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
+msgstr ""
+
+#: Project.cpp:3566
+#, c-format
+msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
+msgstr ""
+
 #: Project.cpp:3027
 msgid "Could not remove old autosave file: "
 msgstr "نمی‌توان پروندهٔ ذخیره‌سازی خودکار را حذف کرد: "
@@ -2666,23 +3110,12 @@ msgstr "خطا در نوشتن پروندهٔ ذخیره‌سازی خودکار
 msgid "Could not create autosave file: "
 msgstr "نمی‌توان پروندهٔ ذخیره‌سازی خودکار را ایجاد کرد: "
 
-#: Project.cpp:3113
+#: Project.cpp:3962
 #, c-format
-msgid "Actual Rate %d"
+#, fuzzy
+msgid "Actual Rate: %d"
 msgstr "نرخ واقعی %Id"
 
-#: Project.cpp:3230
-msgid ""
-"All files (*.*)|*.*|Audacity projects (*.aup)|*.aup|WAV files (*.wav)|*.wav|"
-"AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|MP2/"
-"MPEG files (*.mp2;*.mpa;*.mpg;*.mpeg)|*.mp2;*.mpa;*.mpg;*.mpeg|Ogg Vorbis "
-"files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac|List of Files (*.lof)|*.lof"
-msgstr ""
-"همهٔ پرونده‌ها (*.*)|*.*|پروژه‌های اوداسیتی (*.aup)|*.aup|پرونده‌های WAV (*.wav)|*.wav|"
-"پرونده‌های AIFF (*.aif)|*.aif|پرونده‌های AU (*.au)|*.au|پرونده‌های MP3 (*.mp3)|*.mp3|پرونده‌های MP2/"
-"MPEG (*.mp2;*.mpa;*.mpg;*.mpeg)|*.mp2;*.mpa;*.mpg;*.mpeg|پرونده‌های اُگ وُربیس "
-"(*.ogg)|*.ogg|پرونده‌های FLAC (*.flac)|*.flac|فهرست پرونده‌ها (*.lof)|*.lof"
-
 #: Resample.cpp:42
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "‏Libresample نوشتهٔ دومینیک مازونی و جولیوس اسمیت"
@@ -2708,108 +3141,274 @@ msgstr "خطای libsamplerate: %Id\n"
 msgid "Resampling disabled."
 msgstr "نمونه‌برداری مجدد از کار افتاد. "
 
-#: SmartRecordDialog.cpp:68
-msgid "Audacity Timer Record"
-msgstr "ضبط زمان‌بندی شدهٔ اوداسیتی"
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
+#: SampleFormat.cpp:66
+msgid "16-bit PCM"
+msgstr ""
 
-#: SmartRecordDialog.cpp:212
-msgid "Recording start: "
-msgstr "آغاز ضبط: "
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
+#: SampleFormat.cpp:69
+msgid "24-bit PCM"
+msgstr ""
 
-#: SmartRecordDialog.cpp:213
-msgid ""
-"\n"
-"\n"
-"Recording end:   "
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
+#: SampleFormat.cpp:72
+msgid "32-bit float"
 msgstr ""
-"\n"
-"\n"
-"پایان ضبط:   "
 
-#: SmartRecordDialog.cpp:214
-msgid "          Duration: "
-msgstr "          مدت زمان: "
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
 
-#: SmartRecordDialog.cpp:217
-msgid "Audacity Smart Record Progress"
-msgstr "پیشرفت ضبط هوشمند اوداسیتی"
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
 
-#: SmartRecordDialog.cpp:251
-msgid "Start Date and Time"
-msgstr "تاریخ و زمان آغاز"
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
 
-#: SmartRecordDialog.cpp:268
-msgid "End Date and Time"
-msgstr "تاریخ و زمان پایان"
+#: export/ExportMultiple.cpp:729 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "انتخاب..."
 
-#: SmartRecordDialog.cpp:285
-msgid "Duration"
-msgstr "مدت زمان"
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
 
-#: SmartRecordDialog.cpp:361
-msgid "Waiting to start recording at "
-msgstr "در حال انتظار برای آغاز ضبط از "
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
 
-#: SmartRecordDialog.cpp:362
-msgid "Audacity Smart Record - Waiting for Start"
-msgstr "ضبط هوشمند اوداسیتی ‐ در انتظار آغاز"
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
 
-#: Tags.cpp:701
-#, c-format
-msgid "Maximum length of attribute '%s' is %d characters. Data was truncated."
-msgstr "حداکثر طول مشخصهٔ «%s»، %Id نویسه است. داده بُریده شد."
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
 
-#: Tags.cpp:707 Tags.cpp:917
-msgid "Title"
-msgstr "عنوان"
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
 
-#: Tags.cpp:717 Tags.cpp:927
-msgid "Artist"
-msgstr "هنرمند"
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
 
-#: Tags.cpp:727 Tags.cpp:937
-msgid "Album"
-msgstr "آلبوم"
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
 
-#: Tags.cpp:737 Tags.cpp:963
-msgid "Year"
-msgstr "سال انتشار"
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
 
-#: Tags.cpp:747 Tags.cpp:996 prefs/MousePrefs.cpp:96
-msgid "Comments"
-msgstr "توضیحات"
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
 
-#: Tags.cpp:903
-msgid "ID3v1 (more compatible)"
-msgstr "‏‎ID3 نسخهٔ 1 (سازگارتر)"
+#: Screenshot.cpp:369 effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr ""
 
-#: Tags.cpp:904
-msgid "ID3v2 (more flexible)"
-msgstr "‏ID3 نسخهٔ 2 (منعطف‌تر)"
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
 
-#: Tags.cpp:906
-msgid "Format"
-msgstr "قالب"
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "ابزارها"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "کنترل"
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "میکسر"
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr "اندازه‌گیر"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "دستگاه"
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr "آوانویسی"
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr "تابلوی شیار"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:784
+msgid "Tracks"
+msgstr "شیارها"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
+#: Screenshot.cpp:599
+msgid "Saved "
+msgstr ""
+
+#: Screenshot.cpp:602
+msgid "Error trying to save file: "
+msgstr ""
+
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:799 Sequence.cpp:809 Sequence.cpp:816
+msgid "Gap detected in project file\n"
+msgstr ""
+
+#: effects/Effect.cpp:254 effects/Effect.cpp:370 effects/Phaser.cpp:595
+#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:852
+msgid "Pre&view"
+msgstr "پی&ش‌نمایش"
+
+#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
+msgid "&Debug"
+msgstr "&اشکال‌زدایی"
+
+#: SoundActivatedRecord.cpp:36
+msgid "Sound Activated Record"
+msgstr ""
+
+#: SoundActivatedRecord.cpp:58
+msgid "Activation level (dB):"
+msgstr ""
+
+#: SplashDialog.cpp:60
+msgid "&Welcome to Audacity!"
+msgstr ""
+
+#: SplashDialog.cpp:112
+msgid "Don't show this again at start up"
+msgstr ""
+
+#: Tags.cpp:629
+msgid "Artist Name"
+msgstr ""
+
+#: Tags.cpp:630
+msgid "Track Title"
+msgstr ""
+
+#: Tags.cpp:631
+msgid "Album Title"
+msgstr ""
 
 #: Tags.cpp:953
 msgid "Track Number"
 msgstr "شمارهٔ شیار"
 
+#: Tags.cpp:737 Tags.cpp:963
+msgid "Year"
+msgstr "سال انتشار"
+
 #: Tags.cpp:979
 msgid "Genre"
 msgstr "ژانر"
 
-#: Tags.cpp:1048
-msgid "&Fewer"
-msgstr "&کمتر"
+#: Tags.cpp:747 Tags.cpp:996 prefs/MousePrefs.cpp:96
+msgid "Comments"
+msgstr "توضیحات"
 
-#: Tags.cpp:1053
-msgid "&More"
-msgstr "&بیشتر"
+#: Tags.cpp:788
+msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
+msgstr ""
 
-#: Tags.cpp:1060
-msgid "&Done"
-msgstr "&ذخیره"
+#: Tags.cpp:812
+msgid "Tag Name"
+msgstr ""
+
+#: Tags.cpp:813
+msgid "Tag Value"
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:114
+msgid "&Clear"
+msgstr "&پاک کردن"
+
+#: Tags.cpp:834
+msgid "Genres"
+msgstr ""
+
+#: Tags.cpp:838
+msgid "E&dit..."
+msgstr ""
+
+#: Tags.cpp:839
+msgid "Rese&t..."
+msgstr ""
 
 #: Tags.cpp:1070
 msgid "Template"
@@ -2823,115 +3422,179 @@ msgstr "&بار کردن..."
 msgid "&Save..."
 msgstr "&ذخیره کردن..."
 
-#: Tags.cpp:1085
-msgid "S&et default"
+#: Tags.cpp:851
+#, fuzzy
+msgid "S&et Default"
 msgstr "تن&ظیم پیش‌فرض"
 
+#: Tags.cpp:1001
+msgid "Edit Genres"
+msgstr ""
+
+#: Tags.cpp:1034 Tags.cpp:1046 Tags.cpp:1061 Tags.cpp:1074
+msgid "Reset Genres"
+msgstr ""
+
+#: Tags.cpp:1034 Tags.cpp:1074
+msgid "Unable to save genre file."
+msgstr ""
+
+#: Tags.cpp:1045
+msgid "Are you sure you want to reset the genre list to defaults?"
+msgstr ""
+
+#: Tags.cpp:1061
+msgid "Unable to open genre file."
+msgstr ""
+
+#: Tags.cpp:1096
+msgid "Load Metadata As:"
+msgstr ""
+
+#: Tags.cpp:1121
+msgid "Error loading metadata"
+msgstr ""
+
+#: Tags.cpp:1150
+msgid "Save Metadata As:"
+msgstr ""
+
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
-msgid ""
-"Audacity could not write file:\n"
+msgid "Audacity could not write file:\n"
 "  %s."
-msgstr ""
-"اوداسیتی نتوانست این پرونده را بنویسد:\n"
+msgstr "اوداسیتی نتوانست این پرونده را بنویسد:\n"
 "  %s."
 
 #: Theme.cpp:647
 #, c-format
-msgid ""
-"Audacity could not open file:\n"
+msgid "Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr ""
-"اوداسیتی نتوانست این پرونده را برای نوشتن باز کند:\n"
+msgstr "اوداسیتی نتوانست این پرونده را برای نوشتن باز کند:\n"
 "  %s"
 
 #: Theme.cpp:655
 #, c-format
-msgid ""
-"Audacity could not write images to file:\n"
+msgid "Audacity could not write images to file:\n"
 "  %s."
-msgstr ""
-"اوداسیتی نتوانست تصاویر را در این پرونده بنویسد:\n"
+msgstr "اوداسیتی نتوانست تصاویر را در این پرونده بنویسد:\n"
 "  %s."
 
 #: Theme.cpp:790
 #, c-format
-msgid ""
-"Audacity could not find file:\n"
+msgid "Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr ""
-"اوداسیتی این  پرونده را پیدا نکرد:\n"
+msgstr "اوداسیتی این  پرونده را پیدا نکرد:\n"
 "  %s.\n"
 "تم بار نشد."
 
 #: Theme.cpp:798 Theme.cpp:886
 #, c-format
-msgid ""
-"Audacity could not load file:\n"
+msgid "Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr ""
-"اوداسیتی نتوانست این پرونده را بار کند:\n"
+msgstr "اوداسیتی نتوانست این پرونده را بار کند:\n"
 "  %s.\n"
 "شاید پروندهٔ PNG اشکال دارد؟"
 
 #: Theme.cpp:814
-msgid ""
-"Audacity could not read its default theme.\n"
+msgid "Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr ""
-"اوداسیتی نتوانست تم پیش‌فرضش را بخواند.\n"
+msgstr "اوداسیتی نتوانست تم پیش‌فرضش را بخواند.\n"
 "لطفاً این مشکل را گزارش کنید."
 
 #: Theme.cpp:908
 #, c-format
-msgid ""
-"None of the expected theme component files\n"
+msgid "None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr ""
-"هیچ یک از پرونده‌های اجزای تم در\n"
+msgstr "هیچ یک از پرونده‌های اجزای تم در\n"
 "این نشانی پیدا نشدند:\n"
 "  %s."
 
 #: Theme.cpp:932
 #, c-format
-msgid ""
-"Could not create directory:\n"
+msgid "Could not create directory:\n"
 "  %s"
-msgstr ""
-"این شاخه ایجاد نشد:\n"
+msgstr "این شاخه ایجاد نشد:\n"
 "  %s"
 
 #: Theme.cpp:953
 #, c-format
-msgid ""
-"Audacity could not save file:\n"
+msgid "Audacity could not save file:\n"
 "  %s"
-msgstr ""
-"اوداسیتی نتوانست این پرونده را ذخیره کند:\n"
+msgstr "اوداسیتی نتوانست این پرونده را ذخیره کند:\n"
 "  %s"
 
 #: Theme.cpp:965
 #, c-format
-msgid ""
-"All required files in:\n"
+msgid "All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr ""
-"همهٔ پرونده‌های لازم در:\n"
+msgstr "همهٔ پرونده‌های لازم در:\n"
 "  %s\n"
 "از قبل موجود هستند."
 
-#: TimeDialog.cpp:53
-msgid "Specify Time"
-msgstr "تعیین زمان"
+#: SmartRecordDialog.cpp:285
+msgid "Duration"
+msgstr "مدت زمان"
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr "تابلوی شیار"
+#: SmartRecordDialog.cpp:68
+msgid "Audacity Timer Record"
+msgstr "ضبط زمان‌بندی شدهٔ اوداسیتی"
+
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
+#: TimerRecordDialog.cpp:233
+msgid "Recording start"
+msgstr ""
+
+#: TimerRecordDialog.cpp:234
+msgid "Recording end"
+msgstr ""
+
+#: TimerRecordDialog.cpp:239
+msgid "Audacity Timer Record Progress"
+msgstr ""
+
+#: SmartRecordDialog.cpp:251
+msgid "Start Date and Time"
+msgstr "تاریخ و زمان آغاز"
+
+#: TimerRecordDialog.cpp:336
+msgid "Start Date"
+msgstr ""
+
+#: SmartRecordDialog.cpp:268
+msgid "End Date and Time"
+msgstr "تاریخ و زمان پایان"
+
+#: TimerRecordDialog.cpp:356
+msgid "End Date"
+msgstr ""
+
+#. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
+#. * but hopefully translated by wxwidgets will be inserted into this
+#: TimerRecordDialog.cpp:443
+#, c-format
+msgid "Waiting to start recording at %s.\n"
+msgstr ""
+
+#: TimerRecordDialog.cpp:444
+msgid "Audacity Timer Record - Waiting for Start"
+msgstr ""
 
 #: TrackPanel.cpp:496 prefs/FileFormatPrefs.cpp:111 prefs/QualityPrefs.cpp:97
 msgid "Other..."
@@ -2957,6 +3620,10 @@ msgstr "شکل موج"
 msgid "Waveform (dB)"
 msgstr "شکل موج (دسی‌بل)"
 
+#: TrackPanel.cpp:613 prefs/TracksPrefs.cpp:59
+msgid "Spectrum log(f)"
+msgstr ""
+
 #: TrackPanel.cpp:512
 msgid "Pitch (EAC)"
 msgstr "Ú©ÙˆÚ© (EAC)"
@@ -2981,6 +3648,10 @@ msgstr "ساخت شیار استریو"
 msgid "Split Stereo Track"
 msgstr "تفکیک شیار استریو"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:520
 msgid "Set Sample Format"
 msgstr "تنظیم قالب نمونه"
@@ -3010,9 +3681,7 @@ msgid "Copy"
 msgstr "نسخه‌برداری"
 
 #: TrackPanel.cpp:1239
-msgid ""
-"Click to vertically zoom in, Shift-click to zoom out, Drag to create a "
-"particular zoom region."
+msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "برای زوم به داخل عمودی کلیک، برای زوم به خارج تبدیل-کلیک کنید و برای ایجاد محدودهٔ زوم خاص کلید موشی را نگه دارید و موشی را حرکت دهید."
 
 #: TrackPanel.cpp:1244
@@ -3087,23 +3756,20 @@ msgstr "راست"
 #: TrackPanel.cpp:2039
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
-msgstr 
-"بریده‌ها/شیارهای  %s که زمان آنها به اندازهٔ %I.02f ثانیه به جابه‌جا شده است"
+msgstr "بریده‌ها/شیارهای  %s که زمان آنها به اندازهٔ %I.02f ثانیه به جابه‌جا شده است"
 
 #: TrackPanel.cpp:2043 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
 msgid "Time-Shift"
 msgstr "جابه‌جایی زمانی"
 
-#: TrackPanel.cpp:2696
-msgid "Draw currently only works with linear-view waveforms."
-msgstr "رسم در حال حاضر فقط با موج‌شکلی‌هایی با نمای خطی کار می‌کند."
+#: TrackPanel.cpp:2966
+msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
+msgstr ""
 
-#: TrackPanel.cpp:2713
-msgid ""
-"You are not zoomed in enough. Zoom in until you can see the individual "
-"samples."
-msgstr "به اندازهٔ کافی زوم نکرده‌اید. آن‌قدر زوم کنید که تک‌تک نمونه‌ها را ببینید."
+#: TrackPanel.cpp:2983
+msgid "To use Draw, zoom in further until you can see the individual samples."
+msgstr ""
 
 #: TrackPanel.cpp:2984
 msgid "Moved Sample"
@@ -3151,8 +3817,7 @@ msgstr "پایین"
 #: TrackPanel.cpp:3362 TrackPanel.cpp:5878
 #, c-format
 msgid "Moved '%s' %s"
-msgstr 
-"«%s» به %s جابه‌جا شد"
+msgstr "«%s» به %s جابه‌جا شد"
 
 #: TrackPanel.cpp:3365 TrackPanel.cpp:5884
 msgid "Move Track"
@@ -3166,6 +3831,14 @@ msgstr "گسترش"
 msgid "Expanded Cut Line"
 msgstr "خط برش گسترش‌یافته"
 
+#: TrackPanel.cpp:4260
+msgid "Merge"
+msgstr ""
+
+#: TrackPanel.cpp:4260
+msgid "Merged Clips"
+msgstr ""
+
 #: TrackPanel.cpp:3925
 msgid "Removed Cut Line"
 msgstr "خط برش حذف‌شده"
@@ -3212,6 +3885,11 @@ msgstr "کانال"
 msgid "Split stereo track '%s'"
 msgstr "تفکیک شیار استریوی «%s»"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5648
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3234,14 +3912,6 @@ msgstr "تغییر نرخ"
 msgid "Format Change"
 msgstr "تغییر قالب"
 
-#: TrackPanel.cpp:5816
-msgid "Enter a sample rate in Hz (per second) between 1 and 100000:"
-msgstr "نرخ نمونه‌برداری به هرتز (در ثانیه) بین ۱ تا ۱۰۰۰۰۰ وارد کنید:"
-
-#: TrackPanel.cpp:5826
-msgid "Invalid rate."
-msgstr "نرخ نامعتبر."
-
 #: TrackPanel.cpp:5846
 msgid "Change lower speed limit (%) to:"
 msgstr "تغییر حد پایین سرعت (٪) به:"
@@ -3284,14 +3954,22 @@ msgstr "نام «%s» به «%s» تغییر کرد"
 msgid "Name Change"
 msgstr "تغییر نام"
 
-#: TrackPanel.cpp:5980
-msgid "Choose a font for Label Tracks"
-msgstr "قلمی برای برچسب شیارها انتخاب کنید"
-
 #: TrackPanel.cpp:5981
 msgid "Label Track Font"
 msgstr "قلم برچسب شیار"
 
+#: TrackPanel.cpp:6675 TrackPanel.cpp:6681
+msgid "Face name"
+msgstr ""
+
+#: TrackPanel.cpp:6685 TrackPanel.cpp:6692
+msgid "Face size"
+msgstr ""
+
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6421
 msgid "Mute"
 msgstr "بی‌صدا"
@@ -3336,17 +4014,17 @@ msgstr "نتیجهٔ تنظیمات\n"
 #: VoiceKey.cpp:844
 #, c-format
 msgid "Energy                  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "انرژی			-- میانگین : %I1.4f	انحراف معیار: )%I1.4f)\n"
+msgstr "انرژی\t\t\t-- میانگین : %I1.4f\tانحراف معیار: )%I1.4f)\n"
 
 #: VoiceKey.cpp:845
 #, c-format
 msgid "Sign Changes        -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "تغییر علامت	-- میانگین: %I1.4f	انحراف معیار: (%I1.4f)\n"
+msgstr "تغییر علامت\t-- میانگین: %I1.4f\tانحراف معیار: (%I1.4f)\n"
 
 #: VoiceKey.cpp:846
 #, c-format
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "تغییر جهت	-- میانگین: %I1.4f	انحراف معیار: (%I1.4f)\n"
+msgstr "تغییر جهت\t-- میانگین: %I1.4f\tانحراف معیار: (%I1.4f)\n"
 
 #: WaveTrack.cpp:72
 msgid "Audio Track"
@@ -3370,6 +4048,34 @@ msgstr "متصل‌شونده‌های ۱ تا %Ii"
 msgid "Plugins %i to %i"
 msgstr "متصل‌شونده‌های %Ii تا %Ii"
 
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+
+#: commands/CommandManager.cpp:927
+msgid "You can only do this when playing and recording are\n"
+" stopped.  [Pausing is not sufficient.]"
+msgstr ""
+
+#: commands/CommandManager.cpp:929
+msgid "You must first select some stereo audio for this\n"
+" to use.  [You can't use this with mono.]"
+msgstr ""
+
+#: commands/CommandManager.cpp:931
+msgid "You must first select some audio for this to use."
+msgstr ""
+
+#: commands/CommandManager.cpp:933
+msgid "You must first select some audio for this\n"
+" to use. [Selecting other kinds of track won't work.]"
+msgstr ""
+
+#: commands/CommandManager.cpp:938
+msgid "Disallowed"
+msgstr ""
+
 #: commands/CommandManager.cpp:854
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
@@ -3388,14 +4094,19 @@ msgstr "جلوهٔ اعمال شده: %s %I.1f دسی‌بل"
 msgid "Amplify"
 msgstr "تقویت"
 
-#: effects/Amplify.cpp:153
-msgid "Amplify by Dominic Mazzoni"
-msgstr "تقویت‌کننده نوشتهٔ دومینیک مازونی"
+#: effects/Amplify.cpp:156 effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
+msgid "by Dominic Mazzoni"
+msgstr ""
 
 #: effects/Amplify.cpp:160
 msgid "Amplification (dB):"
 msgstr "میزان تقویت (دسی‌بل):"
 
+#: effects/Amplify.cpp:184
+msgid "Amplification dB"
+msgstr ""
+
 #: effects/Amplify.cpp:180
 msgid "New Peak Amplitude (dB):"
 msgstr "بیشینه دامنهٔ جدید (دسی‌بل) :"
@@ -3404,6 +4115,10 @@ msgstr "بیشینه دامنهٔ جدید (دسی‌بل) :"
 msgid "Allow clipping"
 msgstr "اجازهٔ برش"
 
+#: effects/Amplify.cpp:223 effects/Amplify.cpp:280 effects/Amplify.cpp:324
+msgid "-Infinity"
+msgstr ""
+
 #: effects/Amplify.h:46
 msgid "Amplify..."
 msgstr "تقویت..."
@@ -3413,11 +4128,8 @@ msgid "Amplifying"
 msgstr "در حال تقویت"
 
 #: effects/AutoDuck.cpp:125
-msgid ""
-"You selected a track which does not contain audio. AutoDuck can only process "
-"audio tracks."
-msgstr "شما شیاری را انتخاب کرده‌اید که حاوی صوت نیست. مخفی‌سازی خودکار فقط می‌تواند "
-"شیارهای صوتی را پردازش کند."
+msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
+msgstr "شما شیاری را انتخاب کرده‌اید که حاوی صوت نیست. مخفی‌سازی خودکار فقط می‌تواند شیارهای صوتی را پردازش کند."
 
 #: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
 #: effects/AutoDuck.cpp:578
@@ -3425,9 +4137,7 @@ msgid "Auto Duck"
 msgstr "مخفی‌سازی خودکار"
 
 #: effects/AutoDuck.cpp:137
-msgid ""
-"Auto Duck needs a control track which must be placed below the selected track"
-"(s)."
+msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr "مخفی‌سازی خودکار به یک شیار کنترلی نیاز دارد که باید زیر شیار انتخاب‌شده قرار داده شود."
 
 #: effects/AutoDuck.cpp:463
@@ -3486,14 +4196,21 @@ msgstr "مخفی‌سازی خودکار..."
 msgid "Processing Auto Duck..."
 msgstr "در حال پردازش مخفی‌سازی خودکار..."
 
+#: LangChoice.cpp:103 effects/AvcCompressor.cpp:738
+#: effects/TruncSilence.cpp:281 effects/VST/VSTEffect.cpp:454
+#: effects/audiounits/AudioUnitEffect.cpp:857 effects/nyquist/Nyquist.cpp:993
+#: effects/nyquist/Nyquist.cpp:1059 widgets/Warning.cpp:67
+msgid "OK"
+msgstr "تأیید"
+
 #: effects/BassBoost.cpp:52
 #, c-format
 msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
 msgstr "جلوه‌های اعمال‌شده: %s فرکانس = %I.0f هرتز، تقویت = %I.0f دسی‌بل"
 
 #: effects/BassBoost.cpp:169
-msgid "BassBoost"
-msgstr "تقویت باس"
+msgid "Bass Boost"
+msgstr ""
 
 #: effects/BassBoost.cpp:182
 msgid "by Nasca Octavian Paul"
@@ -3503,10 +4220,18 @@ msgstr "نوشتهٔ ناسکا اوکتاوین پاول"
 msgid "Frequency (Hz):"
 msgstr "بسامد (هرتز):"
 
+#: effects/BassBoost.cpp:205
+msgid "Frequency Hertz"
+msgstr ""
+
 #: effects/BassBoost.cpp:208
 msgid "Boost (dB):"
 msgstr "تقویت (دسی‌بل):"
 
+#: effects/BassBoost.cpp:218
+msgid "Boost dB"
+msgstr ""
+
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
 msgstr "تقویت بسامدهای بم"
@@ -3545,9 +4270,50 @@ msgstr "نوشتهٔ وگان جانسون و دومینیک مازونی"
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "با استفاده از SoundTouch، نوشتهٔ اولی پارویاینن"
 
-#: effects/ChangePitch.cpp:268
-msgid "Pitch:   from"
-msgstr "کوک:    از"
+#: effects/ChangePitch.cpp:269
+msgid "Pitch:"
+msgstr ""
+
+#: effects/ChangePitch.cpp:274
+msgid "From:"
+msgstr ""
+
+#: effects/ChangePitch.cpp:275
+msgid "From Pitch"
+msgstr ""
+
+#: effects/ChangePitch.cpp:286
+msgid "Up"
+msgstr ""
+
+#: effects/ChangePitch.cpp:289
+msgid "Down"
+msgstr ""
+
+#: effects/ChangePitch.cpp:299
+msgid "To:"
+msgstr ""
+
+#: effects/ChangePitch.cpp:300
+msgid "To Pitch"
+msgstr ""
+
+#: effects/ChangePitch.cpp:305
+msgid "Semitones (half-steps):"
+msgstr "نیم‌پرده:"
+
+#: effects/ChangePitch.cpp:316
+msgid "Semitones in half-steps"
+msgstr ""
+
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+msgid "from"
+msgstr ""
+
+#: effects/ChangePitch.cpp:327
+msgid "From frequency in hertz"
+msgstr ""
 
 #: effects/ChangePitch.cpp:290 effects/ChangePitch.cpp:336
 #: effects/ChangeSpeed.cpp:369 effects/ChangeTempo.cpp:240
@@ -3555,19 +4321,20 @@ msgstr "کوک:    از"
 msgid "to"
 msgstr "تا"
 
-#: effects/ChangePitch.cpp:305
-msgid "Semitones (half-steps):"
-msgstr "نیم‌پرده:"
-
-#: effects/ChangePitch.cpp:324
-msgid "Frequency (Hz):   from"
-msgstr "بسامد (هرتز):    از"
+#: effects/ChangePitch.cpp:332
+msgid "To frequency in seconds"
+msgstr ""
 
 #: effects/ChangePitch.cpp:359 effects/ChangeSpeed.cpp:323
 #: effects/ChangeTempo.cpp:199
 msgid "Percent Change:"
 msgstr "تغییر درصد:"
 
+#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:359 effects/ChangeTempo.cpp:198
+msgid "Percent Change"
+msgstr ""
+
 #: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "تغییر کوک..."
@@ -3585,6 +4352,14 @@ msgstr "جلوه‌های اعمال‌شده: %s %I.1f%%"
 msgid "Change Speed"
 msgstr "تغیر سرعت"
 
+#. i18n-hint: n/a is an English
+#. abbreviation meaning "not
+#. applicable" (in other words,
+#. unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:356
+msgid "n/a"
+msgstr "مربوط نیست"
+
 #: effects/ChangeSpeed.cpp:300
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "تغییر سرعت، که روی ضرباهنگ و کوک تأثیر می‌گذارد"
@@ -3593,17 +4368,17 @@ msgstr "تغییر سرعت، که روی ضرباهنگ و کوک تأثیر م
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "با استفاده از SampleRate، نوشتهٔ اریک دکاسترو لوپو"
 
-#. i18n-hint: n/a is an English
-#. abbreviation meaning "not
-#. applicable" (in other words,
-#. unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:356
-msgid "n/a"
-msgstr "مربوط نیست"
+#: effects/ChangeSpeed.cpp:367
+msgid "Standard Vinyl RPM:"
+msgstr ""
 
-#: effects/ChangeSpeed.cpp:359
-msgid "Standard Vinyl RPM:   from"
-msgstr "دور-در-ثانیهٔ استاندارد صفحات گرامافون:    از"
+#: effects/ChangeSpeed.cpp:371
+msgid "From RPM"
+msgstr ""
+
+#: effects/ChangeSpeed.cpp:376
+msgid "To RPM"
+msgstr ""
 
 #: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
@@ -3621,13 +4396,29 @@ msgstr "تغییر ضرباهنگ"
 msgid "Change Tempo without Changing Pitch"
 msgstr "تغییر ضرباهنگ بدون تغییر کردن کوک"
 
-#: effects/ChangeTempo.cpp:228
-msgid "Beats per Minute (BPM):   from"
-msgstr "ضرب در دقیقه (BPM):   از"
+#: effects/ChangeTempo.cpp:206
+msgid "Beats per minute:"
+msgstr ""
+
+#: effects/ChangeTempo.cpp:210
+msgid "From beats per minute"
+msgstr ""
+
+#: effects/ChangeTempo.cpp:215
+msgid "To beats per minute"
+msgstr ""
+
+#: effects/ChangeTempo.cpp:219
+msgid "Length (seconds):"
+msgstr ""
+
+#: effects/ChangeTempo.cpp:223
+msgid "From length in seconds"
+msgstr ""
 
-#: effects/ChangeTempo.cpp:258
-msgid "Length (seconds):   from"
-msgstr "طول (ثانیه):   از"
+#: effects/ChangeTempo.cpp:228
+msgid "To length in seconds"
+msgstr ""
 
 #: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
@@ -3637,46 +4428,29 @@ msgstr "تغییر ضرباهنگ..."
 msgid "Changing Tempo"
 msgstr "در حال تغییر دادن ضرباهنگ"
 
-#: effects/ClickRemoval.cpp:104
-msgid "Click and Pop Removal"
-msgstr "حذف تق و توق"
+#: effects/ClickRemoval.cpp:314
+msgid "Click Removal"
+msgstr ""
 
 #: effects/ClickRemoval.cpp:359
 msgid "Click and Pop Removal by Craig DeForest"
 msgstr "حذف تق و توق نوشتهٔ کریگ دی‌فارست"
 
-#: effects/ClickRemoval.cpp:365
-msgid "Settings"
-msgstr "تنظیمات"
-
-#: effects/ClickRemoval.cpp:368
-msgid ""
-"\n"
-"Select threshold (lower is more sensitive)"
-msgstr "\n"
-"آستانه را انتخاب کنید (پایین‌تر به معنای حساس بیشتر است)"
-
-#: effects/ClickRemoval.cpp:379 effects/ClickRemoval.cpp:408
-msgid "Medium"
-msgstr "متوسط"
+#: effects/ClickRemoval.cpp:341
+msgid "Select threshold (lower is more sensitive):"
+msgstr ""
 
-#: effects/ClickRemoval.cpp:382 effects/ClickRemoval.cpp:411
-msgid "Max"
-msgstr "حداکثر"
+#: effects/ClickRemoval.cpp:350
+msgid "Select threshold"
+msgstr ""
 
-#: effects/ClickRemoval.cpp:389
-msgid ""
-"\n"
-"\n"
-"Max spike width (higher is more sensitive)"
+#: effects/ClickRemoval.cpp:358
+msgid "Max spike width (higher is more sensitive):"
 msgstr ""
-"\n"
-"\n"
-"حداکثر پهنای قلهٔ تیز موج (مقدار بزرگتر مشخص‌کنندهٔ حساسیت بیشتر است)"
 
-#: effects/ClickRemoval.cpp:422
-msgid "&Remove clicks"
-msgstr "حذف &تق‌ها"
+#: effects/ClickRemoval.cpp:367
+msgid "Max spike width"
+msgstr ""
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
@@ -3690,42 +4464,86 @@ msgstr "در حال حذف تق و توق..."
 msgid "Dynamic Range Compressor"
 msgstr "فشرده‌ساز با دامنهٔ پویا"
 
-#: effects/Compressor.cpp:468
-msgid "Dynamic Range Compressor by Dominic Mazzoni"
-msgstr "فشرده‌ساز با دامنهٔ پویا نوشتهٔ دومینیک مازونی"
+#: effects/Compressor.cpp:510
+msgid "Threshold"
+msgstr ""
+
+#: effects/Compressor.cpp:514
+msgid "Ratio:"
+msgstr ""
 
-#: effects/Compressor.cpp:486
-msgid "Ratio: "
-msgstr "نسبت: "
+#: effects/Compressor.cpp:518
+msgid "Ratio"
+msgstr ""
 
-#: effects/Compressor.cpp:493
-msgid "Attack Time: "
+#: effects/Compressor.cpp:522
+#, fuzzy
+msgid "Attack Time:"
 msgstr "زمان حمله: "
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
-msgstr "نرمال‌سازی به صفر دسی‌بل پس از فشرده‌سازی"
+#: effects/Compressor.cpp:526
+msgid "Attack Time"
+msgstr ""
+
+#: effects/Compressor.cpp:530
+msgid "Decay Time:"
+msgstr ""
+
+#: effects/Compressor.cpp:534
+msgid "Decay Time"
+msgstr ""
+
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
-#: effects/Compressor.cpp:559
+#: effects/Compressor.cpp:575
 #, c-format
-msgid "Threshold: %d dB"
+#, fuzzy
+msgid "Threshold %d dB"
 msgstr "آستانه: %Id دسی‌بل"
 
-#: effects/Compressor.cpp:562
+#: effects/Compressor.cpp:576
 #, c-format
-msgid "Ratio: %.0f:1"
-msgstr "نسبت: %I.0f:۱"
+msgid "%3d dB"
+msgstr ""
+
+#: effects/Compressor.cpp:579
+#, c-format
+msgid "Ratio %.0f to 1"
+msgstr ""
+
+#: effects/Compressor.cpp:580
+#, c-format
+msgid "%.0f:1"
+msgstr ""
+
+#: effects/Compressor.cpp:583
+#, c-format
+msgid "Ratio %.1f to 1"
+msgstr ""
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:584
 #, c-format
-msgid "Ratio: %.1f:1"
-msgstr "نسبت: %I.1f:۱"
+msgid "%.1f:1"
+msgstr ""
 
-#: effects/Compressor.cpp:566
+#: effects/Compressor.cpp:587
 #, c-format
-msgid "Attack Time: %.1f secs"
+#, fuzzy
+msgid "Attack Time %.1f secs"
 msgstr "زمان حمله: %I.1f ثانیه"
 
+#: effects/Compressor.cpp:588 effects/Compressor.cpp:591
+#, c-format
+msgid "%.1f secs"
+msgstr ""
+
+#: effects/Compressor.cpp:590
+#, c-format
+msgid "Decay Time %.1f secs"
+msgstr ""
+
 #: effects/Compressor.h:36
 msgid "Compressor..."
 msgstr "فشرده‌ساز..."
@@ -3734,6 +4552,223 @@ msgstr "فشرده‌ساز..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "اعمال فشرده‌سازی با دامنهٔ پویا..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
+#: effects/Contrast.cpp:88
+msgid "Contrast Tool Foreground"
+msgstr ""
+
+#: effects/Contrast.cpp:88
+msgid "Foreground times selected.\n"
+"Now select background and use Ctrl+Shift+T or menu again."
+msgstr ""
+
+#: effects/Contrast.cpp:144
+msgid "Start time after after end time!\n"
+"Please enter reasonable times."
+msgstr ""
+
+#: effects/Contrast.cpp:154
+msgid "Times are not reasonable!\n"
+"Please enter reasonable times."
+msgstr ""
+
+#: effects/Contrast.cpp:276
+msgid "Contrast Analyzer"
+msgstr ""
+
+#: effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr ""
+
+#: effects/ToneGen.cpp:328 toolbars/ControlToolBar.cpp:186
+msgid "Start"
+msgstr "آغاز"
+
+#: effects/ToneGen.cpp:329 toolbars/ControlToolBar.cpp:189
+#: toolbars/SelectionBar.cpp:129 toolbars/SelectionBar.cpp:226
+msgid "End"
+msgstr "پایان"
+
+#: effects/Contrast.cpp:290
+msgid "Volume    "
+msgstr ""
+
+#: effects/Contrast.cpp:293
+msgid "Foreground:"
+msgstr ""
+
+#: effects/Contrast.cpp:305
+msgid "Foreground start time"
+msgstr ""
+
+#: effects/Contrast.cpp:323
+msgid "Foreground end time"
+msgstr ""
+
+#: effects/Contrast.cpp:329 effects/Contrast.cpp:373 effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr ""
+
+#: effects/Contrast.cpp:331 effects/Contrast.cpp:375
+msgid "Use selection"
+msgstr ""
+
+#: effects/Contrast.cpp:336
+msgid "Background:"
+msgstr ""
+
+#: effects/Contrast.cpp:349
+msgid "Background start time"
+msgstr ""
+
+#: effects/Contrast.cpp:367
+msgid "Background end time"
+msgstr ""
+
+#: effects/Contrast.cpp:384
+msgid "Result"
+msgstr ""
+
+#: effects/Contrast.cpp:388
+msgid "Contrast Result:"
+msgstr ""
+
+#: effects/Contrast.cpp:391
+msgid "Reset"
+msgstr ""
+
+#: effects/Contrast.cpp:392
+msgid "Difference:"
+msgstr ""
+
+#: AboutDialog.cpp:250
+msgid "Information"
+msgstr "اطلاعات"
+
+#: effects/Contrast.cpp:405
+msgid "For measuring rms volume differences between two selections of audio."
+msgstr ""
+
+#: effects/Contrast.cpp:406
+msgid "Help for WCAG2 Audio Contrast Analyzer"
+msgstr ""
+
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr ""
+
+#: effects/Contrast.cpp:474 effects/Contrast.cpp:480 effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
+msgid "Measure"
+msgstr ""
+
+#: effects/Contrast.cpp:531
+msgid "No foreground to measure"
+msgstr ""
+
+#: effects/Contrast.cpp:536
+msgid "Measured foreground level"
+msgstr ""
+
+#: effects/Contrast.cpp:537 effects/Contrast.cpp:547
+#, c-format
+msgid "%.1f dB"
+msgstr ""
+
+#: effects/Contrast.cpp:541
+msgid "No background to measure"
+msgstr ""
+
+#: effects/Contrast.cpp:546
+msgid "Measured background level"
+msgstr ""
+
+#: effects/Contrast.cpp:552
+msgid "WCAG2 Pass"
+msgstr ""
+
+#: effects/Contrast.cpp:554
+msgid "WCAG2 Fail"
+msgstr ""
+
+#: effects/Contrast.cpp:555
+msgid "Current difference"
+msgstr ""
+
+#: effects/Contrast.cpp:556
+#, c-format
+msgid "%.1f dB Average rms"
+msgstr ""
+
+#: effects/Contrast.cpp:561
+msgid "Please enter valid times."
+msgstr ""
+
+#: effects/Contrast.cpp:571
+msgid "Export Contrast Result As:"
+msgstr ""
+
+#: effects/Contrast.cpp:592
+msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
+msgstr ""
+
+#: effects/Contrast.cpp:594
+#, c-format
+msgid "Filename = %s."
+msgstr ""
+
+#: effects/Contrast.cpp:596
+msgid "Foreground"
+msgstr ""
+
+#: effects/Contrast.cpp:601 effects/Contrast.cpp:618
+#, c-format
+msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
+msgstr ""
+
+#: effects/Contrast.cpp:606 effects/Contrast.cpp:623
+#, c-format
+msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
+msgstr ""
+
+#: effects/Contrast.cpp:608 effects/Contrast.cpp:625
+#, c-format
+msgid "Average rms = %.1f dB."
+msgstr ""
+
+#: effects/Contrast.cpp:610 effects/Contrast.cpp:627
+msgid "Average rms =  dB."
+msgstr ""
+
+#: effects/Contrast.cpp:613
+msgid "Background"
+msgstr ""
+
+#: effects/Contrast.cpp:629
+msgid "Results"
+msgstr ""
+
+#: effects/Contrast.cpp:631
+#, c-format
+msgid "Difference = %.1f Average rms dB."
+msgstr ""
+
+#: effects/Contrast.cpp:633
+msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
+msgstr ""
+
+#: effects/Contrast.cpp:635
+msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
+msgstr ""
+
+#: effects/Contrast.cpp:638
+msgid "Data gathered"
+msgstr ""
+
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr "تولیده‌کنندهٔ صوت DTMF"
@@ -3746,9 +4781,13 @@ msgstr "نوشتهٔ سالوو ونتورا (۲۰۰۶)"
 msgid "DTMF sequence:"
 msgstr "دنبالهٔ DTMF"
 
-#: effects/DtmfGen.cpp:389
-msgid "DTMF duration:"
-msgstr "مدت زمان DTMF"
+#: effects/ToneGen.cpp:299 effects/ToneGen.cpp:332
+msgid "Amplitude (0-1)"
+msgstr "دامنه (۰-۱)"
+
+#: effects/DtmfGen.cpp:430
+msgid "Duration:"
+msgstr ""
 
 #: effects/DtmfGen.cpp:407
 msgid "Tone/silence ratio:"
@@ -3771,8 +4810,9 @@ msgstr "میلی‌ثانیه"
 msgid "Silence duration:"
 msgstr "مدت زمان سکوت:"
 
-#: effects/DtmfGen.h:41
-msgid "&DTMF Tones..."
+#: effects/DtmfGen.h:40
+#, fuzzy
+msgid "DTMF Tones..."
 msgstr "صوت‌های& DTMF"
 
 #: effects/DtmfGen.h:45
@@ -3813,23 +4853,35 @@ msgstr "پژواک..."
 msgid "Performing Echo"
 msgstr "در حال اجرای پژواک"
 
-#: effects/Effect.cpp:254 effects/Effect.cpp:370 effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:852
-msgid "Pre&view"
-msgstr "پی&ش‌نمایش"
+#: effects/Effect.cpp:520
+msgid "Preparing preview"
+msgstr ""
+
+#: effects/Effect.cpp:550
+msgid "Previewing"
+msgstr ""
 
 #: effects/Effect.cpp:333
-msgid ""
-"Error while opening sound device. Please check the output device settings "
-"and the project sample rate."
-msgstr "خطا در هنگام باز کردن دستگاه صدا. لطفاً تنظیمات خروجی دستگاه "
-"و نرخ نمونه‌برداری پروژه را بررسی کنید."
+msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
+msgstr "خطا در هنگام باز کردن دستگاه صدا. لطفاً تنظیمات خروجی دستگاه و نرخ نمونه‌برداری پروژه را بررسی کنید."
 
 #: effects/Effect.h:107
 #, c-format
 msgid "Applied effect: %s"
 msgstr "جلوه‌های اعمال‌شده: %s"
 
+#: effects/Equalization.cpp:1119
+msgid "B-spline"
+msgstr "بی‌اسپلاین"
+
+#: effects/Equalization.cpp:1119
+msgid "Cosine"
+msgstr "کسینوسی"
+
+#: effects/Equalization.cpp:1119
+msgid "Cubic"
+msgstr "مکعبی"
+
 #: effects/Equalization.cpp:331
 msgid "Equalization"
 msgstr "اِعمال اکولایزر"
@@ -3838,10 +4890,15 @@ msgstr "اِعمال اکولایزر"
 msgid "Error loading EQ curve"
 msgstr "خطا در بار کردن منحنی اکولایزرها"
 
-#: effects/Equalization.cpp:904
-msgid "Custom"
+#: effects/Equalization.cpp:1051
+#, fuzzy
+msgid "custom"
 msgstr "سفارشی"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "اِعمال اکولایزر، نوشتهٔ مارتین شاو و میچ گلدن"
@@ -3854,18 +4911,6 @@ msgstr "حداکثر قدرت صدا (دسی‌بل)"
 msgid "Min dB"
 msgstr "حداقل قدرت صدا (دسی‌بل)"
 
-#: effects/Equalization.cpp:1048
-msgid "Select curve:"
-msgstr "انتخاب منحنی:"
-
-#: effects/Equalization.cpp:1058 effects/Equalization.cpp:2244
-msgid "Save As..."
-msgstr "ذخیره به نام..."
-
-#: effects/Equalization.cpp:1064
-msgid "Flat"
-msgstr "تخت"
-
 #: effects/Equalization.cpp:1093
 msgid "kHz"
 msgstr "کیلوهرتز"
@@ -3878,18 +4923,6 @@ msgstr "رسم منحنی"
 msgid "Graphic EQ"
 msgstr "اکولایزر گرافیکی"
 
-#: effects/Equalization.cpp:1119
-msgid "B-spline"
-msgstr "بی‌اسپلاین"
-
-#: effects/Equalization.cpp:1119
-msgid "Cosine"
-msgstr "کسینوسی"
-
-#: effects/Equalization.cpp:1119
-msgid "Cubic"
-msgstr "مکعبی"
-
 #: effects/Equalization.cpp:1131
 msgid "Linear frequency scale"
 msgstr "مقیاس بسامد خطی"
@@ -3898,6 +4931,18 @@ msgstr "مقیاس بسامد خطی"
 msgid "Length of filter:"
 msgstr "طول صافی:"
 
+#: effects/Equalization.cpp:1048
+msgid "Select curve:"
+msgstr "انتخاب منحنی:"
+
+#: effects/Equalization.cpp:1058 effects/Equalization.cpp:2244
+msgid "Save As..."
+msgstr "ذخیره به نام..."
+
+#: effects/Equalization.cpp:1064
+msgid "Flat"
+msgstr "تخت"
+
 #: effects/Equalization.cpp:2243
 msgid "Enter the desired name of the curve"
 msgstr "نام مورد نظر برای منحنی را وارد کنید"
@@ -3930,6 +4975,42 @@ msgstr "محو شدن تدریجی"
 msgid "Fading Out"
 msgstr "در حال محو شدن تدریجی"
 
+#: effects/FindClipping.cpp:50
+msgid "Detect clipping"
+msgstr ""
+
+#: effects/FindClipping.cpp:93
+msgid "Clipping"
+msgstr ""
+
+#: effects/FindClipping.cpp:213
+msgid "Find Clipping"
+msgstr ""
+
+#: effects/FindClipping.cpp:224
+msgid "by Leland Lucius"
+msgstr ""
+
+#: effects/FindClipping.cpp:236
+msgid "Start threshold (samples):"
+msgstr ""
+
+#: effects/FindClipping.cpp:240
+msgid "Stop threshold (samples):"
+msgstr ""
+
+#: effects/FindClipping.cpp:252
+msgid "Start and stop must be greater than 0."
+msgstr ""
+
+#: effects/FindClipping.h:37
+msgid "Find Clipping..."
+msgstr ""
+
+#: effects/FindClipping.h:54
+msgid "Detecting clipping"
+msgstr ""
+
 #: effects/Invert.h:27
 msgid "Invert"
 msgstr "معکوس کردن"
@@ -3938,17 +5019,13 @@ msgstr "معکوس کردن"
 msgid "Inverting"
 msgstr "در حال معکوس کردن"
 
-#: effects/Leveller.cpp:47
-msgid "Heavier"
-msgstr "سنگین‌تر"
-
-#: effects/Leveller.cpp:47
-msgid "Heaviest"
-msgstr "سنگین‌ترین"
+#: BatchCommands.cpp:237 effects/Leveller.cpp:129
+msgid "Leveller"
+msgstr "ابزار ترازبندی"
 
 #: effects/Leveller.cpp:47
-msgid "Heavy"
-msgstr "سنگین"
+msgid "None-Skip"
+msgstr "بدون پرش"
 
 #: effects/Leveller.cpp:47
 msgid "Light"
@@ -3959,27 +5036,36 @@ msgid "Moderate"
 msgstr "متعادل"
 
 #: effects/Leveller.cpp:47
-msgid "None-Skip"
-msgstr "بدون پرش"
+msgid "Heavy"
+msgstr "سنگین"
 
-#: effects/Leveller.cpp:214
-msgid "Leveller by Lynn Allan"
-msgstr "ابزار ترازبندی نوشتهٔ لین آلن"
+#: effects/Leveller.cpp:47
+msgid "Heavier"
+msgstr "سنگین‌تر"
 
-#: effects/Leveller.cpp:217
-msgid "Equalize soft and loud sections"
-msgstr "استفاده از اکولایزر بر روی بخش‌های صدای نرم و بلند"
+#: effects/Leveller.cpp:47
+msgid "Heaviest"
+msgstr "سنگین‌ترین"
+
+#: effects/Leveller.cpp:214
+msgid "by Lynn Allan"
+msgstr ""
 
 #: effects/Leveller.cpp:220 effects/Leveller.cpp:233
 msgid "Degree of Leveling"
 msgstr "درجهٔ ترازبندی"
 
+#: effects/Leveller.cpp:228
+msgid "Degree of Leveling:"
+msgstr ""
+
 #: effects/Leveller.cpp:244
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "آستانهٔ نوفه (هیس/هام/نوفهٔ محیطی)"
 
-#: effects/Leveller.cpp:255
-msgid "Threshold for Noise: "
+#: effects/Leveller.cpp:240
+#, fuzzy
+msgid "Threshold for Noise:"
 msgstr "آستانه برای نوفه: "
 
 #: effects/Leveller.h:28
@@ -3990,6 +5076,154 @@ msgstr "ابزار ترازبندی..."
 msgid "Applying Leveller..."
 msgstr "در حال ترازبندی..."
 
+#: effects/LoadEffects.cpp:102
+msgid "Generator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:104
+msgid "Instrument"
+msgstr ""
+
+#: effects/LoadEffects.cpp:106
+msgid "Oscillator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:108
+msgid "Utility"
+msgstr ""
+
+#: effects/LoadEffects.cpp:110
+msgid "Converter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:112
+msgid "Analyser"
+msgstr ""
+
+#: effects/LoadEffects.cpp:116
+msgid "Simulator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:118
+msgid "Delay"
+msgstr ""
+
+#: effects/LoadEffects.cpp:120
+msgid "Modulator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:122
+msgid "Reverb"
+msgstr ""
+
+#: effects/Phaser.cpp:78
+msgid "Phaser"
+msgstr "فاز"
+
+#: effects/LoadEffects.cpp:126
+msgid "Flanger"
+msgstr ""
+
+#: effects/LoadEffects.cpp:128
+msgid "Chorus"
+msgstr ""
+
+#: effects/LoadEffects.cpp:130
+msgid "Filter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:132
+msgid "Lowpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:134
+msgid "Bandpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:136
+msgid "Highpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:138
+msgid "Comb"
+msgstr ""
+
+#: effects/LoadEffects.cpp:140
+msgid "Allpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:142
+msgid "Equaliser"
+msgstr ""
+
+#: effects/LoadEffects.cpp:144
+msgid "Parametric"
+msgstr ""
+
+#: effects/LoadEffects.cpp:146
+msgid "Multiband"
+msgstr ""
+
+#: effects/LoadEffects.cpp:148
+msgid "Spectral Processor"
+msgstr ""
+
+#: effects/LoadEffects.cpp:150
+msgid "Pitch Shifter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:152
+msgid "Amplifier"
+msgstr ""
+
+#: effects/LoadEffects.cpp:154
+msgid "Distortion"
+msgstr ""
+
+#: effects/LoadEffects.cpp:156
+msgid "Waveshaper"
+msgstr ""
+
+#: effects/LoadEffects.cpp:158
+msgid "Dynamics Processor"
+msgstr ""
+
+#: effects/LoadEffects.cpp:160
+msgid "Compressor"
+msgstr ""
+
+#: effects/LoadEffects.cpp:162
+msgid "Expander"
+msgstr ""
+
+#: effects/LoadEffects.cpp:164
+msgid "Limiter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:166
+msgid "Gate"
+msgstr ""
+
+#: BatchCommands.cpp:235 effects/NoiseRemoval.cpp:675
+msgid "Noise Removal"
+msgstr "حذف نوفه"
+
+#: effects/LoadEffects.cpp:201
+msgid "Pitch and Tempo"
+msgstr ""
+
+#: effects/LoadEffects.cpp:203
+msgid "Timeline Changer"
+msgstr ""
+
+#: effects/LoadEffects.cpp:205
+msgid "Time"
+msgstr ""
+
+#: effects/LoadEffects.cpp:207
+msgid "Onsets"
+msgstr ""
+
 #: effects/Noise.cpp:37
 msgid "White"
 msgstr "سفید"
@@ -4006,21 +5240,14 @@ msgstr "قهوه‌ای"
 msgid "Noise Generator"
 msgstr "تولیدکنندهٔ نوفه"
 
-#: effects/Noise.cpp:222
-msgid "Noise duration"
-msgstr "مدت زمان نوفه"
-
-#: effects/Noise.cpp:239
-msgid "Amplitude"
-msgstr "دامنه"
-
-#: effects/Noise.cpp:240
-msgid "Noise type:"
+#: effects/Noise.cpp:189
+#, fuzzy
+msgid "Noise type"
 msgstr "نوع نوفه:"
 
-#: effects/Noise.h:41
-msgid "&Noise..."
-msgstr "&نوفه..."
+#: effects/Noise.h:42
+msgid "Noise..."
+msgstr ""
 
 #: effects/Noise.h:45
 #, c-format
@@ -4031,20 +5258,24 @@ msgstr "جلوه‌های اعمال شده: تولید نوفه، %I.6lf ثان
 msgid "Generating Noise"
 msgstr "در حال تولید نوفه"
 
-#: effects/NoiseRemoval.cpp:235
-msgid ""
-"Attempt to run Noise Removal without a noise profile\n"
-"."
+#: effects/NoiseRemoval.cpp:192
+#, c-format
+msgid "Could not open file:\n"
+"  %s"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:277
+#, fuzzy
+msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "تلاش برای اجرای عملیات حذف نوفه بدون وجود یک مجموعه تنظیمات مربوط به نوفه\n"
-"."
+".\n"
 
 #: effects/NoiseRemoval.cpp:764
 msgid "Step 1"
 msgstr "مرحلهٔ ۱"
 
 #: effects/NoiseRemoval.cpp:765
-msgid ""
-"Select a few seconds of just noise so Audacity knows what to filter out,\n"
+msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
 msgstr "چند ثانیه از نوفه‌ها را انتخاب کنید تا اوداسیتی بداند چه چیزی را صافی کند،\n"
 "سپس روی «گرفتن مجموعه تنظیمات مربوط به نوفه» کلیک کنید:"
@@ -4054,8 +5285,7 @@ msgid "Step 2"
 msgstr "مرحلهٔ ۲"
 
 #: effects/NoiseRemoval.cpp:767
-msgid ""
-"Select all of the audio you want filtered, choose how much noise you want\n"
+msgid "Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr "تمام صدایی که می‌خواهید صافی کنید را انتخاب نمایید، مشخص کنید که چه مقدار نوفه را می‌خواهید\n"
 "با استفاده از صافی حذف کنید، سپس روی «تأیید» کلیک کنید تا نوفه حذف گردد.\n"
@@ -4072,14 +5302,26 @@ msgstr "گرفتن مجموعه تنظیمات مربوط به نوفه"
 msgid "Noise reduction (dB):"
 msgstr "کاهش نوفه (دسی‌بل):"
 
+#: effects/NoiseRemoval.cpp:851
+msgid "Noise reduction"
+msgstr ""
+
 #: effects/NoiseRemoval.cpp:799
 msgid "Frequency smoothing (Hz):"
 msgstr "هموارسازی بسامد (هرتز):"
 
+#: effects/NoiseRemoval.cpp:860
+msgid "Frequency smoothing"
+msgstr ""
+
 #: effects/NoiseRemoval.cpp:807
 msgid "Attack/decay time (secs):"
 msgstr "زمان حمله/میرایی (ثانیه):"
 
+#: effects/NoiseRemoval.cpp:869
+msgid "Attach/decay time"
+msgstr ""
+
 #: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
 msgstr "حذف نوفه..."
@@ -4092,22 +5334,46 @@ msgstr "در حال ساخت مجموعه تنظیمات مربوط به نوف
 msgid "Removing Noise"
 msgstr "در حال حذف نوفه"
 
-#: effects/Normalize.cpp:316
-msgid "Normalize by Dominic Mazzoni\n"
-msgstr "نرمال‌سازی نوشتهٔ دومینیک مانزونی\n"
+#. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
+#: effects/Normalize.cpp:70
+#, c-format
+msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
+msgstr ""
+
+#. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "true"
+msgstr ""
 
-#: effects/Normalize.cpp:323
-msgid "Remove any DC offset (center on 0 vertically)"
-msgstr "حذف بی‌قاعدگی DC (تراز عمودی مرکز بر ۰)"
+#: effects/Normalize.cpp:77
+#, c-format
+msgid ", maximum amplitude = %.1f dB"
+msgstr ""
 
-#: effects/Normalize.cpp:328
-msgid "Normalize maximum amplitude to"
+#: BatchCommands.cpp:233 BatchCommands.cpp:238 BatchCommands.cpp:246
+#: effects/Normalize.cpp:94
+msgid "Normalize"
+msgstr "نرمال‌سازی"
+
+#: effects/Normalize.cpp:355
+msgid "Remove any DC offset (center on 0.0 vertically)"
+msgstr ""
+
+#: effects/Normalize.cpp:358
+#, fuzzy
+msgid "Normalize maximum amplitude to:"
 msgstr "نرمال‌سازی حداکثر دامنه تا"
 
 #: effects/Normalize.cpp:336
 msgid "-"
 msgstr "-"
 
+#: effects/Normalize.cpp:371
+msgid "Maximum amplitude dB"
+msgstr ""
+
 #: effects/Normalize.h:32
 msgid "Normalize..."
 msgstr "نرمال‌سازی..."
@@ -4118,48 +5384,57 @@ msgstr "در حال نرمال‌سازی..."
 
 #: effects/Phaser.cpp:66
 #, c-format
-msgid ""
-"Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = "
-"%.0f deg, depth = %d, feedback = %.0f%%"
-msgstr "جلوه‌های اعمال‌شده: %s،  %Id مرحله  ، صدای جلوه‌پذیرفته %I.0f%%، فرکانس = %I.1f هرتز، فاز شروع = "
-"%I.0f درجه، عمق  = %Id، بازخورد = %I.0f%%"
-
-#: effects/Phaser.cpp:78
-msgid "Phaser"
-msgstr "فاز"
-
-#: effects/Phaser.cpp:477
-msgid "Phaser by Nasca Octavian Paul"
-msgstr "فاز نوشتهٔ ناسکا اُکتاوین پل"
+msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
+msgstr "جلوه‌های اعمال‌شده: %s،  %Id مرحله  ، صدای جلوه‌پذیرفته %I.0f%%، فرکانس = %I.1f هرتز، فاز شروع = %I.0f درجه، عمق  = %Id، بازخورد = %I.0f%%"
 
 #: effects/Phaser.cpp:484
 msgid "Stages:"
 msgstr "مراحل:"
 
-#: effects/Phaser.cpp:505
-msgid "DRY"
-msgstr "صدای اصلی"
+#: effects/Phaser.cpp:231
+msgid "Stages"
+msgstr ""
+
+#: effects/Phaser.cpp:236
+msgid "Dry/Wet:"
+msgstr ""
 
-#: effects/Phaser.cpp:512
-msgid "WET"
-msgstr "صدای جلوه‌پذیرفته"
+#: effects/Phaser.cpp:239
+msgid "Dry Wet"
+msgstr ""
 
 #: effects/Phaser.cpp:526 effects/Wahwah.cpp:497
 msgid "LFO Frequency (Hz):"
 msgstr "فرکانس LFO (هرتز):"
 
+#: effects/Phaser.cpp:247 effects/Wahwah.cpp:225
+msgid "LFO frequency in hertz"
+msgstr ""
+
 #: effects/Phaser.cpp:542 effects/Wahwah.cpp:513
 msgid "LFO Start Phase (deg.):"
 msgstr "فاز شروع LFO (درجه):"
 
+#: effects/Phaser.cpp:255 effects/Wahwah.cpp:233
+msgid "LFO start phase in degrees"
+msgstr ""
+
 #: effects/Phaser.cpp:558
 msgid "Depth:"
 msgstr "عمق:"
 
+#: effects/Phaser.cpp:263 effects/Wahwah.cpp:241
+msgid "Depth in percent"
+msgstr ""
+
 #: effects/Phaser.cpp:574
 msgid "Feedback (%):"
 msgstr "بازخورد (٪):"
 
+#: effects/Phaser.cpp:271
+msgid "Feedback in percent"
+msgstr ""
+
 #: effects/Phaser.h:38
 msgid "Phaser..."
 msgstr "فاز..."
@@ -4169,15 +5444,21 @@ msgid "Applying Phaser"
 msgstr "در حال اِعمال فاز"
 
 #: effects/Repair.cpp:94
-msgid ""
-"The Repair effect is intended to be used on very short sections of damaged "
-"audio (up to 128 samples).\n"
+msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
 msgstr "جلوهٔ تعمیر برای اعمال بر روی بخش بسیاری کوتاهی از صوت آسیب‌دیده مناسب است (حداکثر تا ۱۲۸ نمونه).\n"
 "\n"
 "با استفاده از زوم کردن به داخل، کسر کوچکی از ثانیه را برای تعمیر انتخاب کنید."
 
+#: effects/Repair.cpp:105
+msgid "Repair works by using audio data outside the selection region.\n"
+"\n"
+"Please select a region that has audio touching at least one side of it.\n"
+"\n"
+"The more surrounding audio, the better it performs."
+msgstr ""
+
 #: effects/Repair.h:33
 msgid "Repairing damaged audio"
 msgstr "در حال تعمیر صوت آسیب‌دیده"
@@ -4195,27 +5476,22 @@ msgstr "قطعات بلندتر از آن هستند که انتخاب تکرا
 msgid "Repeat"
 msgstr "تکرار"
 
-#: effects/Repeat.cpp:245
-msgid "Repeat by Dominic Mazzoni && Vaughan Johnson"
-msgstr "تکرار نوشتهٔ دومینیک مازونی و وُگان جانسون"
-
-#: effects/Repeat.cpp:252
-msgid "Number of times to repeat: "
+#: effects/Repeat.cpp:209
+#, fuzzy
+msgid "Number of times to repeat:"
 msgstr "تعداد دفعات تکرار: "
 
+#: effects/Repeat.cpp:218
+msgid "New selection length: hh:mm:ss"
+msgstr ""
+
 #: effects/Repeat.cpp:264 effects/Repeat.cpp:302
 msgid "New selection length: "
 msgstr "طول انتخاب جدید: "
 
-#: effects/Repeat.cpp:304
-#, c-format
-msgid "%d minutes, %d seconds"
-msgstr "‏%Id دقیقه و %Id ثانیه"
-
-#: effects/Repeat.cpp:307
-#, c-format
-msgid "%d seconds"
-msgstr "‏%Id ثانیه"
+#: widgets/TimeTextCtrl.cpp:199
+msgid "hh:mm:ss"
+msgstr "hh:mm:ss"
 
 #: effects/Repeat.h:32
 msgid "Repeat..."
@@ -4238,7 +5514,8 @@ msgid "Silence Generator"
 msgstr "سکوت‌ساز"
 
 #: effects/Silence.h:34
-msgid "&Silence..."
+#, fuzzy
+msgid "Silence..."
 msgstr "&سکوت..."
 
 #: effects/Silence.h:38
@@ -4250,9 +5527,9 @@ msgstr "در حال ایجاد سکوت"
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "جلوهٔ اعمال‌شده: تولید سکوت، %I.6lf ثانیه"
 
-#: effects/SimplePairedTwoTrack.h:120
-msgid "Sorry, This effect cannot be performed on stereo tracks where "
-msgstr "ببخشید، این جلوه را نمی‌توان روی قطعات استریویی که "
+#: effects/SimplePairedTwoTrack.h:115
+msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
+msgstr ""
 
 #: effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
@@ -4263,8 +5540,7 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr "پاک‌کنندهٔ قله‌های تیز موج نوشتهٔ لین آلن"
 
 #: effects/SpikeCleaner.cpp:165
-msgid ""
-"Max Spike Duration (milliseconds): \n"
+msgid "Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
 msgstr "حداکثر مدت زمان قلهٔ تیز موج (به میلی‌ثانیه): \n"
 "(۹۹۹۹۹ یا بیشتر غیرفعال می‌کند)"
@@ -4281,17 +5557,72 @@ msgstr "پاک‌کنندهٔ قله‌های تیز موج..."
 msgid "Applying Spike Cleaner..."
 msgstr "در حال اعمال پاک‌کنندهٔ قله‌های تیز موج..."
 
-#: effects/StereoToMono.h:32
-msgid "Applying Stereo To Mono"
+#: effects/StereoToMono.h:23
+#, fuzzy
+msgid "&Stereo to Mono"
+msgstr "ا&ستریو به مونو"
+
+#: effects/StereoToMono.h:38
+#, fuzzy
+msgid "Applying Stereo to Mono"
 msgstr "اعمال استریو به مونو"
 
+#: effects/TimeScale.cpp:140
+msgid "Time Scale"
+msgstr ""
+
+#: effects/TimeScale.cpp:176
+msgid "Sliding Time Scale/Pitch Shift"
+msgstr ""
+
+#: effects/TimeScale.cpp:178
+msgid "using SBSMS, by Clayton Otey"
+msgstr ""
+
+#: effects/TimeScale.cpp:187
+msgid "Initial Tempo Change (%):"
+msgstr ""
+
+#: effects/TimeScale.cpp:191
+msgid "Final Tempo Change (%):"
+msgstr ""
+
+#: effects/TimeScale.cpp:202
+msgid "Initial Tempo Change (%)"
+msgstr ""
+
+#: effects/TimeScale.cpp:211
+msgid "Final Tempo Change (%)"
+msgstr ""
+
+#: effects/TimeScale.cpp:219
+msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
+msgstr ""
+
+#: effects/TimeScale.cpp:223
+msgid "Final Pitch Shift (semitones) [-12 to 12]:"
+msgstr ""
+
+#: effects/TimeScale.h:33
+msgid "Sliding Time Scale/Pitch Shift..."
+msgstr ""
+
+#: effects/TimeScale.h:47
+msgid "Changing Tempo/Pitch"
+msgstr ""
+
 #: effects/ToneGen.cpp:59
 #, c-format
-msgid ""
-"Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, "
-"%.6lf seconds"
-msgstr "جلوه‌های اعمال‌شده: تولید %s موج %s، فرکانس = %I.2f هرتز، دامنه = %I.2f، "
-"%I.6lf ثانیه"
+msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
+msgstr "جلوه‌های اعمال‌شده: تولید %s موج %s، فرکانس = %I.2f هرتز، دامنه = %I.2f، %I.6lf ثانیه"
+
+#: widgets/Meter.cpp:356
+msgid "Linear"
+msgstr "خطی..."
+
+#: effects/ToneGen.cpp:70
+msgid "Logarithmic"
+msgstr ""
 
 #: effects/ToneGen.cpp:66
 msgid "Chirp Generator"
@@ -4321,39 +5652,37 @@ msgstr "مربعی، بدون پراکندگی"
 msgid "Frequency (Hz)"
 msgstr "بسامد (هرتز)"
 
-#: effects/ToneGen.cpp:299 effects/ToneGen.cpp:332
-msgid "Amplitude (0-1)"
-msgstr "دامنه (۰-۱)"
-
-#: effects/ToneGen.cpp:300 effects/ToneGen.cpp:338
-#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:225
-msgid "Length"
-msgstr "طول"
-
 #: effects/ToneGen.cpp:321
 msgid "Waveform:"
 msgstr "شکل موج:"
 
-#: effects/ToneGen.cpp:328 toolbars/ControlToolBar.cpp:186
-msgid "Start"
-msgstr "آغاز"
+#: effects/ToneGen.cpp:314
+msgid "Frequency Hertz Start"
+msgstr ""
 
-#: effects/ToneGen.cpp:329 toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:129 toolbars/SelectionBar.cpp:226
-msgid "End"
-msgstr "پایان"
+#: effects/ToneGen.cpp:315
+msgid "Frequency Hertz End"
+msgstr ""
 
-#: effects/ToneGen.cpp:330
-msgid "Frequency / Hz"
-msgstr "بسامد / هرتز"
+#: effects/ToneGen.cpp:316
+msgid "Amplitude Start"
+msgstr ""
 
-#: effects/ToneGen.h:39
-msgid "&Chirp..."
-msgstr "&جیرجیر..."
+#: effects/ToneGen.cpp:317
+msgid "Amplitude End"
+msgstr ""
+
+#: effects/ToneGen.cpp:322
+msgid "Interpolation:"
+msgstr ""
 
-#: effects/ToneGen.h:39
-msgid "&Tone..."
-msgstr "&صوت..."
+#: effects/ToneGen.h:40
+msgid "Chirp..."
+msgstr ""
+
+#: effects/ToneGen.h:40
+msgid "Tone..."
+msgstr ""
 
 #: effects/ToneGen.h:43
 msgid "Generating Chirp"
@@ -4363,55 +5692,114 @@ msgstr "در حال تولید جیرجیر"
 msgid "Generating Tone"
 msgstr "در حال تولید صوت"
 
-#: effects/TruncSilence.cpp:64
-msgid "Sorry. Truncate Silence only valid with mono track"
-msgstr "متاسفانه حذف سکوت فقط بر روی شیارهای مونو معتبر است"
+#: effects/TruncSilence.cpp:133
+msgid "All tracks must have the same sample rate"
+msgstr ""
 
-#: effects/TruncSilence.cpp:251
-msgid "Truncate Silence by Lynn Allan"
-msgstr "حذف سکوت نوشتهٔ لین آلن"
+#: effects/TruncSilence.cpp:133 effects/TruncSilence.cpp:443
+msgid "Truncate Silence"
+msgstr ""
 
-#: effects/TruncSilence.cpp:256
-msgid ""
-"Max Silent Duration (milliseconds): \n"
-"(99999 or greater is off)"
-msgstr "حداکثر مدت زمان سکوت (به میلی‌ثانیه): \n"
-"(۹۹۹۹۹ یا بیش از آن غیرفعال است)"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
+msgid "milliseconds"
+msgstr "میلی‌ثانیه"
+
+#: effects/TruncSilence.cpp:471
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
+#: effects/TruncSilence.cpp:480
+msgid "Threshold for silence:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+
+#: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
+msgid "Truncate Silence..."
+msgstr "حذف سکوت..."
 
 #: effects/TruncSilence.h:33
 msgid "Truncating Silence..."
 msgstr "در حال حذف سکوت..."
 
-#: effects/VST/VSTEffect.cpp:179
-msgid ""
-"Sorry, VST Effects cannot be performed on stereo tracks where the individual "
-"channels of the track do not match."
-msgstr "متاسفانه جلوه‌های VST نمی‌توانند بر روی شیارهای استریو که کانال‌های مستقل آن شیار با هم همخوانی ندارند، اجرا شوند."
+#: effects/ladspa/LadspaEffect.cpp:601
+msgid "Effect Settings"
+msgstr "تنظیمات جلوه"
+
+#: effects/ladspa/LadspaEffect.cpp:559 effects/ladspa/LadspaEffect.cpp:567
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "هیچ"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:195
-msgid "Can't process replacing"
-msgstr "پردازش جایگزینی ممکن نیست"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:409
-msgid "VST Plug-in parameters:"
-msgstr "پارامترهای متصل‌شوندهٔ VST"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:60
 #, c-format
-msgid ""
-"Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%"
-"%, resonance = %.1f, frequency offset = %.0f%%"
-msgstr "جلوه‌های اعمال شده: %s فرکانس = %I.1f هرتز، فاز شروع = %I.0f درجه، عمق = %I.0f%"
-"%، طنین = %I.1f، افست فرکانس = %I.0f%%"
+msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
+msgstr "جلوه‌های اعمال شده: %s فرکانس = %I.1f هرتز، فاز شروع = %I.0f درجه، عمق = %I.0f%%، طنین = %I.1f، افست فرکانس = %I.0f%%"
 
 #: effects/Wahwah.cpp:71
 msgid "Wahwah"
 msgstr "واو‐واو"
 
-#: effects/Wahwah.cpp:490
-msgid "Wahwah by Nasca Octavian Paul"
-msgstr "واو‐واو نوشتهٔ نسکا اکتاوین پاول"
-
 #: effects/Wahwah.cpp:529
 msgid "Depth (%):"
 msgstr "عمق (٪):"
@@ -4420,10 +5808,18 @@ msgstr "عمق (٪):"
 msgid "Resonance:"
 msgstr "طنین:"
 
+#: effects/Wahwah.cpp:249
+msgid "Resonance"
+msgstr ""
+
 #: effects/Wahwah.cpp:561
 msgid "Wah Frequency Offset (%):"
 msgstr "اُفست فرکانس واو (٪):"
 
+#: effects/Wahwah.cpp:257
+msgid "Wah frequency offset in percent"
+msgstr ""
+
 #: effects/Wahwah.h:34
 msgid "Wahwah..."
 msgstr "واو‐واو..."
@@ -4438,32 +5834,30 @@ msgstr "در حال اعمال واو‐واو"
 msgid "Performing Effect: %s"
 msgstr "اعمال جلوه: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:173
-msgid ""
-"Sorry, Plug-in Effects cannot be performed                             on "
-"stereo tracks where the individual                             channels of "
-"the track do not match."
-msgstr "متاسفانه جلوه‌های متصل‌شونده نمی‌توانند                             روی"
-"شیارهای استریو که کانال‌های مستقل                             آن شیار با هم"
-"همخوانی ندارند، اجرا شوند."
-
-#: effects/ladspa/LadspaEffect.cpp:559 effects/ladspa/LadspaEffect.cpp:567
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "هیچ"
+#: effects/ladspa/LadspaEffect.cpp:198 effects/lv2/LV2Effect.cpp:213
+msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
+msgstr ""
 
 #: effects/ladspa/LadspaEffect.cpp:561
 msgid "Author: "
 msgstr "مؤلف: "
 
-#: effects/ladspa/LadspaEffect.cpp:601
-msgid "Effect Settings"
-msgstr "تنظیمات جلوه"
-
 #: effects/ladspa/LadspaEffect.cpp:692
 msgid "Length (seconds)"
 msgstr "طول (به ثانیه)"
 
+#: effects/lv2/LV2Effect.cpp:824 effects/lv2/LV2Effect.cpp:827
+msgid "Note length (seconds)"
+msgstr ""
+
+#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
+msgid "Note velocity"
+msgstr ""
+
+#: effects/lv2/LV2Effect.cpp:846 effects/lv2/LV2Effect.cpp:849
+msgid "Note key"
+msgstr ""
+
 #: effects/nyquist/Nyquist.cpp:253
 msgid "Applying Nyquist Effect..."
 msgstr "در حال اعمال جلوه Nyquist..."
@@ -4477,8 +5871,7 @@ msgid "Enter Nyquist Command: "
 msgstr "یک فرمان Nyquist را وارد کنید: "
 
 #: effects/nyquist/Nyquist.cpp:412
-msgid ""
-"Sorry, cannot apply effect on stereo tracks where the tracks don't match."
+msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "متاسفانه نمی‌توان جلوه را بر روی شیارهای استریو که با هم همخوانی ندارند، اعمال نمود."
 
 #: effects/nyquist/Nyquist.cpp:439
@@ -4501,64 +5894,80 @@ msgstr "Nyquist صوت بازنگرداند.\n"
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist تعداد زیادی کانال صوتی بازگرداند.\n"
 
-#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
-msgid "&Debug"
-msgstr "&اشکال‌زدایی"
+#: effects/vamp/VampEffect.cpp:81
+#, c-format
+msgid "Extracting features: %s"
+msgstr ""
 
-#: export/Export.cpp:135
-msgid ""
-"No tracks are selected! Use Ctrl-A (Select All)\n"
-"Choose Export... to export all tracks."
-msgstr "هیچ شیاری انتخاب نشده است! با استفاده از مهار-ش (انتخاب همه)\n"
-"برای صدور تمام شیارها، «صدور...» را انتخاب کنید."
+#: effects/vamp/VampEffect.cpp:107
+msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
+msgstr ""
 
-#: export/Export.cpp:161
-msgid ""
-"Your tracks will be mixed down to two stereo channels in the exported file."
-msgstr "شیارهای شما بعنوان دو کانال استریو در پروندهٔ صادرشونده میکس خواهند شد."
+#: effects/vamp/VampEffect.cpp:121
+msgid "Sorry, failed to load Vamp Plug-in."
+msgstr ""
 
-#: export/Export.cpp:165
-msgid ""
-"Your tracks will be mixed down to a single mono channel in the exported file."
-msgstr "شیارهای شما بعنوان یک کانال مونو در پروندهٔ صادرشونده میکس خواهند شد"
+#: effects/vamp/VampEffect.cpp:207
+msgid "Sorry, Vamp Plug-in failed to initialize."
+msgstr ""
 
-#: export/Export.cpp:171
-msgid "Advanced Mixing Options"
-msgstr "گزینه‌های پیشرفتهٔ میکس"
+#: effects/vamp/VampEffect.cpp:363
+msgid " - Vamp audio analysis plugin"
+msgstr ""
 
-#: export/Export.cpp:211
-#, c-format
-msgid "Save %s File As:"
-msgstr "ذخیرهٔ پروندهٔ %s با نام:"
+#: effects/vamp/VampEffect.cpp:399
+msgid "Plugin Settings"
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:418 effects/vamp/VampEffect.cpp:424
+msgid "Program"
+msgstr ""
+
+#: export/Export.cpp:468
+msgid "All the selected audio is muted."
+msgstr ""
+
+#: export/Export.cpp:470
+msgid "All the audio is muted."
+msgstr ""
+
+#: export/Export.cpp:526
+msgid "Export File"
+msgstr ""
+
+#: export/Export.cpp:535
+msgid "&Options..."
+msgstr ""
 
 #: export/Export.cpp:238
 msgid "Are you sure you want to save the file as \""
 msgstr "آیا مطمئن هستید که می‌خواهید پرونده را با ذخیره کنید با نام \""
 
-#: export/Export.cpp:276
+#: export/Export.cpp:596
 #, c-format
-msgid ""
-"You are about to save a %s file with the name %s.\n"
-"Normally these files end in %s, and some programs will not open files with "
-"nonstandard extensions.\n"
+msgid "You are about to save a %s file with the name \"%s\".\n"
+"\n"
+"Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
+"\n"
 "Are you sure you want to save the file under this name?"
-msgstr "شما در حال ذخیرهٔ یک پروندهٔ %s با نام %s هستید.\n"
-"معمولاً نام این پرونده‌ها با %s خاتمه می‌یابد و بعضی برنامه‌ها این پرونده‌های دارای پسوند"
-"غیر استاندارد باز نخواهند کرد.\n"
-"آیا مطمئن هستید که می‌خواهید پرونده را تحت این نام ذخیره کنید؟"
+msgstr ""
 
-#: export/Export.cpp:370 export/Export.cpp:464
+#: export/Export.cpp:617
 #, c-format
-msgid "File may be invalid or corrupted: %s"
-msgstr "پرونده ممکن است نامعتبر یا مخدوش باشد: %s"
+msgid "A file named \"%s\" already exists.  Replace?"
+msgstr ""
 
-#: export/Export.cpp:371 export/Export.cpp:465
-msgid "Error exporting file or project"
-msgstr "خطا در صدور پرونده یا پروژه"
+#: export/Export.cpp:161
+msgid "Your tracks will be mixed down to two stereo channels in the exported file."
+msgstr "شیارهای شما بعنوان دو کانال استریو در پروندهٔ صادرشونده میکس خواهند شد."
 
-#: export/Export.cpp:410
-msgid "Ogg Vorbis support is not included in this build of Audacity"
-msgstr "در این نسخه از اوداسیتی اُگ وربیس را پشتیبانی نمی‌کند"
+#: export/Export.cpp:165
+msgid "Your tracks will be mixed down to a single mono channel in the exported file."
+msgstr "شیارهای شما بعنوان یک کانال مونو در پروندهٔ صادرشونده میکس خواهند شد"
+
+#: export/Export.cpp:171
+msgid "Advanced Mixing Options"
+msgstr "گزینه‌های پیشرفتهٔ میکس"
 
 #: export/Export.cpp:632
 #, c-format
@@ -4573,15 +5982,44 @@ msgstr " ‐ چپ"
 msgid " - Right"
 msgstr " ‐ راست"
 
+#: export/Export.cpp:1082
+msgid "Mixer Panel"
+msgstr ""
+
 #: export/Export.cpp:775 export/Export.cpp:829
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "کانال‌های خروجی: %I2d"
 
-#: export/ExportCL.cpp:113 export/ExportMultiple.cpp:847
-#: export/ExportOGG.cpp:123 export/ExportPCM.cpp:103
-msgid "E&xport"
-msgstr "&صدور"
+#: export/ExportCL.cpp:55
+msgid "Specify Command Line Encoder"
+msgstr ""
+
+#: export/ExportCL.cpp:68
+msgid "Command Line Export Setup"
+msgstr ""
+
+#: export/ExportCL.cpp:73
+msgid "Command:"
+msgstr ""
+
+#: export/ExportCL.cpp:78
+msgid "Show output"
+msgstr ""
+
+#: export/ExportCL.cpp:85
+#, c-format
+msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
+msgstr ""
+
+#: export/ExportCL.cpp:220
+msgid "(external program)"
+msgstr ""
+
+#: export/ExportPCM.cpp:79
+#, c-format
+msgid "Cannot export audio to %s"
+msgstr "صدور صوت به %s ممکن نیست"
 
 #: export/ExportCL.cpp:115
 msgid "Exporting the selected audio using command-line encoder"
@@ -4591,6 +6029,569 @@ msgstr "صدور صوت انتخاب‌شده با استفاده از رمزگ
 msgid "Exporting the entire project using command-line encoder"
 msgstr "صدور پروژه بطور کامل با استفاده از رمزگذار خط فرمان"
 
+#: export/ExportCL.cpp:423
+msgid "Command Output"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:433
+#, c-format
+msgid "FFmpeg cannot find audio codec 0x%x.\n"
+"Support for this codec is probably not compiled in."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:655
+#, c-format
+msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:684
+#, c-format
+msgid "Exporting selected audio as %s"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:685
+#, c-format
+msgid "Exporting entire file as %s"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:748 export/ExportMP3.cpp:1777
+msgid "Invalid sample rate"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:761
+#, c-format
+msgid "The project sample rate (%d) is not supported by the current output\n"
+"file format.  "
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:764
+#, c-format
+msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+"supported by the current output file format.  "
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:767 export/ExportMP3.cpp:1796
+msgid "You may resample to one of the rates below."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:795 export/ExportMP3.cpp:1819
+msgid "Sample Rates"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:93
+msgid "Specify AC3 Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:112
+msgid "AC3 Export Setup"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:182 prefs/FileFormatPrefs.cpp:207
+msgid "Bit Rate:"
+msgstr "نرخ بیت:"
+
+#: export/ExportFFmpegDialogs.cpp:157
+msgid "Specify AAC Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:168
+msgid "AAC Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:172 export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:211
+msgid "Specify AMR-NB Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:230
+msgid "AMR-NB Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:275
+msgid "Specify AMR-WB Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:294
+msgid "AMR-WB Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:341
+msgid "Specify WMA Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:360
+msgid "WMA Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:491
+#, c-format
+msgid "Overwrite preset '%s'?"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:492
+msgid "Confirm Overwrite"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:504
+msgid "Please select format before saving a profile"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:512
+msgid "Please select codec before saving a profile"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:582
+#, c-format
+msgid "Preset '%s' does not exist."
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:797
+msgid "Specify Other Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:886
+msgid "Preset:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:887
+msgid "Load Preset"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:888
+msgid "Save Preset"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:889
+msgid "Delete Preset"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:890
+msgid "Import Presets"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:891
+msgid "Export Presets"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:896
+msgid "Format:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:898
+msgid "Codec:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:902
+msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:905
+msgid "Format selector:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:906
+msgid "Codec selector:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:908
+msgid "Show All Formats"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:909
+msgid "Show All Codecs"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:916
+msgid "Options"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:105
+msgid "Language:"
+msgstr "زبان:"
+
+#: export/ExportFFmpegDialogs.cpp:921
+msgid "ISO 639 3-letter language code\n"
+"Optional\n"
+"empty - automatic"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:923
+msgid "Tag:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:924
+msgid "Codec tag (FOURCC)\n"
+"Optional\n"
+"empty - automatic"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:927
+msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+"Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
+"0 - automatic\n"
+"Recommended - 192000"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
+"Required for vorbis\n"
+"0 - automatic\n"
+"-1 - off (use bitrate instead)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:932
+msgid "Sample Rate:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:933
+msgid "Sample rate (Hz)\n"
+"0 - don't change sample rate"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:935
+msgid "Cutoff Bandwidth:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:936
+msgid "Audio cutoff bandwidth (Hz)\n"
+"Optional\n"
+"0 - automatic"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:938
+msgid "Profile:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:940
+msgid "AAC Profile\n"
+"Low Complexity -default\n"
+"Most players won't play anything other than LC"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:942
+msgid "Use Bit Reservoir"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:945
+msgid "Use Variable Block Length"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:950
+msgid "FLAC options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:954
+msgid "Compression Level:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:955
+msgid "Compression level\n"
+"Required for FLAC\n"
+"-1 - automatic\n"
+"min - 0 (fast encoding, large output file)\n"
+"max - 10 (slow encoding, small output file)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:957
+msgid "Frame Size:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:958
+msgid "Frame size\n"
+"Optional\n"
+"0 - default\n"
+"min - 16\n"
+"max - 65535"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:960
+msgid "LPC coefficients precision"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:961
+msgid "LPC coefficients precision\n"
+"Optional\n"
+"0 - default\n"
+"min - 1\n"
+"max - 15"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:963
+msgid "Minimal prediction order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:964
+msgid "Minimal prediction order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 32 (with LPC) or 4 (without LPC)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:966
+msgid "Maximal prediction order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:967
+msgid "Maximal prediction order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 32 (with LPC) or 4 (without LPC)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:969
+msgid "Prediction Order Method:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:971
+msgid "Prediction Order Method\n"
+"Estimate - fastest, lower compression\n"
+"Log search - slowest, best compression\n"
+"Full search - default"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:973
+msgid "Minimal partition order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:974
+msgid "Minimal partition order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 8"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:976
+msgid "Maximal partition order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:977
+msgid "Maximal partition order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 8"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:979
+msgid "Use LPC"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:986
+msgid "MPEG container options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:990
+msgid "Mux Rate:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:991
+msgid "Maximum bit rate of the multiplexed stream\n"
+"Optional\n"
+"0 - default"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:993
+msgid "Packet Size:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:994
+msgid "Packet size\n"
+"Optional\n"
+"0 - default"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1209
+msgid "You can't delete a preset without name"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1213
+#, c-format
+msgid "Delete preset '%s'?"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1232
+msgid "You can't save a preset without name"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1272
+msgid "Select xml file with presets to import"
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:198
+msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
+msgstr "پرونده‌های XML (*.xml)|*.xml|تمام پرونده‌ها (*.*)|*.*"
+
+#: export/ExportFFmpegDialogs.cpp:1292
+msgid "Select xml file to export presets into"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1363
+msgid "Failed to guess format"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1405
+msgid "Failed to find the codec"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:54
+msgid "M4A (AAC) Files (FFmpeg)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:55
+msgid "AC3 Files (FFmpeg)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:59
+msgid "Custom FFmpeg Export"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:374
+msgid "LTP"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:374
+msgid "Low Complexity"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:374
+msgid "Main profile"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "2-level"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "4-level"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "8-level"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "Estimate"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "Full search"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "Log search"
+msgstr ""
+
+#: export/ExportFLAC.cpp:67
+msgid "Specify FLAC Options"
+msgstr ""
+
+#: export/ExportFLAC.cpp:79
+msgid "0 (fastest)"
+msgstr ""
+
+#: export/ExportFLAC.cpp:80
+msgid "1"
+msgstr ""
+
+#: export/ExportFLAC.cpp:81
+msgid "2"
+msgstr ""
+
+#: export/ExportFLAC.cpp:82
+msgid "3"
+msgstr ""
+
+#: export/ExportFLAC.cpp:83
+msgid "4"
+msgstr ""
+
+#: export/ExportFLAC.cpp:84
+msgid "5"
+msgstr ""
+
+#: export/ExportFLAC.cpp:85
+msgid "6"
+msgstr ""
+
+#: export/ExportFLAC.cpp:86
+msgid "7"
+msgstr ""
+
+#: export/ExportFLAC.cpp:87
+msgid "8 (best)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:193
+msgid "16 bit"
+msgstr "۱۶ بیتی"
+
+#: prefs/FileFormatPrefs.cpp:194
+msgid "24 bit"
+msgstr "۲۴ بیتی"
+
+#: prefs/FileFormatPrefs.cpp:190
+msgid "FLAC Export Setup"
+msgstr "برپاسازی صدور FLAC"
+
+#: export/ExportFLAC.cpp:99
+msgid "Level:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:197
+msgid "Bit depth:"
+msgstr "عمق بیت:"
+
+#: export/ExportFLAC.cpp:207
+msgid "FLAC Files"
+msgstr ""
+
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr "صدور صوت انتخاب‌شده بعنوان FLAC"
@@ -4599,14 +6600,22 @@ msgstr "صدور صوت انتخاب‌شده بعنوان FLAC"
 msgid "Exporting the entire project as FLAC"
 msgstr "صدور پروژه بطور کامل بعنوان FLAC"
 
+#: export/ExportMP2.cpp:108
+msgid "Specify MP2 Options"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:204
+msgid "MP2 Export Setup"
+msgstr "برپاسازی صدور MP2"
+
+#: export/ExportMP2.cpp:200
+msgid "MP2 Files"
+msgstr ""
+
 #: export/ExportMP2.cpp:94
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "با نرخ نمونه‌برداری و نرخ بیت تعیین‌شده نمی‌توان صدور به قالب MP2 را انجام داد"
 
-#: export/ExportMP2.cpp:106 export/ExportMP3.cpp:1643
-msgid "Edit the ID3 tags for the MP3 file"
-msgstr "ویرایش برچسب‌های ID3 برای پروندهٔ MP3"
-
 #: export/ExportMP2.cpp:114 export/ExportMP3.cpp:1632 export/ExportOGG.cpp:55
 msgid "Unable to open target file for writing"
 msgstr "باز کردن پروندهٔ مقصد برای نوشتن ممکن نیست"
@@ -4621,119 +6630,122 @@ msgstr "صدور صوت انتخاب‌شده با سرعت %Id کیلوبیت 
 msgid "Exporting entire file at %d kbps"
 msgstr "صدور پرونده بطور کامل با سرعت %Id کیلوبیت در ثانیه"
 
-#: export/ExportMP3.cpp:120 export/ExportMP3.cpp:158
-msgid "Export MP3"
-msgstr "صدور MP3"
+#: export/ExportMP3.cpp:223 export/ExportMP3.cpp:241 export/ExportMP3.cpp:255
+msgid "kbps"
+msgstr ""
 
-#. i18n-hint: It's asking for the location of a file, for
-#. example, "Where is lame_enc.dll?" - you could translate
-#. "Where would I find the file %s" instead if you want.
-#: export/ExportMP3.cpp:129
-#, c-format
-msgid "Where is %s?"
-msgstr "%s کجاست؟"
+#: export/ExportMP3.cpp:242
+msgid "(Best Quality)"
+msgstr ""
 
-#: export/ExportMP3.cpp:153
-#, c-format
-msgid ""
-"Audacity was expecting a library named \"%s\". Are you sure you want to "
-"attempt to export MP3 files using \"%s\"?"
-msgstr "اوداسیتی در حال صدور کتابخانه‌ای به نام «%s» بود. آیا مطمئن هستید که می‌خواهید"
-"سعی کنید پرونده‌های MP3 را با استفاده از «%s» صادر نمایید؟"
+#: export/ExportMP3.cpp:243
+msgid "(Smaller files)"
+msgstr ""
 
-#: export/ExportMP3.cpp:271
-msgid ""
-"Only libmp3lame.so|libmp3lame.so|Primary Shared Object files (*.so)|*.so|"
-"Extended Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr "فقط libmp3lame.so|libmp3lame.so|پرونده‌های اصلی اشیاء به‌اشتراک‌گذاشته‌شده (*.so)|*.so|"
-"کتابخانه‌های گسترش‌یافته (*.so*)|*.so*|همهٔ پرونده‌ها (*)|*"
+#: export/ExportMP3.cpp:245
+msgid "Fast"
+msgstr ""
 
-#. i18n-hint: This message is used on Unix/Linux
-#: export/ExportMP3.cpp:277
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses the \n"
-"freely available LAME library to handle MP3 file encoding.  You must \n"
-"obtain libmp3lame.so separately, either by downloading it or building \n"
-"it from the sources, and then locate the file for Audacity.  You only \n"
-"need to do this once.\n"
-"\n"
-"Would you like to locate libmp3lame.so now?"
-msgstr "اوداسیتی بطور مستقیم صدور به پروندهٔ MP3 را انجام نمی‌دهد، اما به جای آن از\n"
-"کتابخانهٔ آزاد LAME برای کارکردن با کدگذاری پرونده‌های MP3 استفاده می‌کند.  شما باید\n"
-"libmp3lame.so را از اینترنت بارگیری کنید یا آن را با استفاده از متن برنامه بسازید\n"
-"و محل پرونده را برای اوداسیتی مشخص کنید.  شما باید این کار را فقط یک بار انجام دهید.\n"
-"\n"
-"آیا می‌خواهید که هم‌اکنون محل libmp3lame.so را مشخص کنید؟"
+#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
+msgid "Standard"
+msgstr ""
 
-#: export/ExportMP3.cpp:536
-msgid ""
-"Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|"
-"All Files (*)|*"
-msgstr "فقط libmp3lame.dylib|libmp3lame.dylib|کتابخانه‌های پویا (*.dylib)|*.dylib"
-"همهٔ پرونده‌ها (*)|*"
-
-#. i18n-hint: This message is used on Mac OS X.  This particular
-#. message must be <= 255 characters.  Be brief.
-#: export/ExportMP3.cpp:544
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses LAME, an MP3 "
-"exporting library available separately.  See the documentation for more "
-"information.\n"
-"\n"
-"Would you like to locate libmp3lame.dylib now?"
-msgstr "اوداسیتی صدور به پرونده‌های MP3 را مستقیماً انجام نمی‌دهد، اما به جای آن از LAME که یک"
-"کتابخانهٔ صدور MP3 است که جداگانه موجود است، استفاده می‌کند.  برای اطلاعات بیشتر"
-"مستندات را ببینید.\n"
-"\n"
-"آیا می‌خواهید که هم‌اکنون محل libmp3lame.dylib را مشخص کنید؟"
+#: export/ExportMP3.cpp:250
+msgid "Insane"
+msgstr ""
 
-#: export/ExportMP3.cpp:835
-msgid "Only LameLib|LameLib|All Files (*)|*"
-msgstr "فقط LameLib|LameLib|همهٔ پرونده‌ها (*)|*"
+#: export/ExportMP3.cpp:251
+msgid "Extreme"
+msgstr ""
 
-#. i18n-hint: This message is used on Mac OS X.  This particular
-#. message must be <= 255 characters.  Be brief.
-#. i18n-hint: This message is used on Mac OS 9.  This particular
-#. message must be <= 255 characters.  Be brief.
-#: export/ExportMP3.cpp:843 export/ExportMP3.cpp:1165
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses LAME, an MP3 "
-"exporting library available separately.  See the documentation for more "
-"information.\n"
-"\n"
-"Would you like to locate LameLib now?"
-msgstr "اوداسیتی بطور مستقیم صدور به پروندهٔ MP3 را انجام نمی‌دهد، اما به جای آن از\n"
-"‏LAME، یک کتابخانهٔ صدور MP3 که جداگانه موجود است، استفاده می‌کند. برای اطلاعات بیشتر"
-"مستندات را ببینید.\n"
-"\n"
-"آیا می‌خواهید که هم‌اکنون محل LameLib را مشخص کنید؟"
+#: effects/ClickRemoval.cpp:379 effects/ClickRemoval.cpp:408
+msgid "Medium"
+msgstr "متوسط"
+
+#: export/ExportMP3.cpp:305
+msgid "Specify MP3 Options"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:173
+msgid "MP3 Export Setup"
+msgstr "برپاسازی صدور MP3"
+
+#: export/ExportMP3.cpp:326
+msgid "Bit Rate Mode:"
+msgstr ""
+
+#: export/ExportMP3.cpp:331
+msgid "Preset"
+msgstr ""
+
+#: export/ExportMP3.cpp:332
+msgid "Variable"
+msgstr ""
+
+#: export/ExportMP3.cpp:333
+msgid "Average"
+msgstr ""
 
+#: export/ExportMP3.cpp:334
+msgid "Constant"
+msgstr ""
+
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
+msgid "Quality"
+msgstr "کیفیت "
+
+#: export/ExportMP3.cpp:379
+msgid "Variable Speed:"
+msgstr ""
+
+#: export/ExportMP3.cpp:386
+msgid "Channel Mode:"
+msgstr ""
+
+#: export/ExportMP3.cpp:391
+msgid "Joint Stereo"
+msgstr ""
+
+#: export/ExportMP3.cpp:392
+msgid "Stereo"
+msgstr ""
+
+#: export/ExportMP3.cpp:536
+msgid "Locate Lame"
+msgstr ""
+
+#: export/ExportMP3.cpp:556
+#, c-format
+msgid "Audacity needs the file %s to create MP3s."
+msgstr ""
+
+#: export/ExportMP3.cpp:578
+msgid "To get a free copy of Lame, click here -->"
+msgstr ""
 
-#: export/ExportMP3.cpp:1157
-msgid "Only LAMELib|LAMELib|Shared Libraries (*)|*"
-msgstr "فقط LAMELib|LAMELib|کتابخانه‌های به‌اشتراک‌گذاشته‌شده (*)|*"
+#: export/ExportMP3.cpp:1070
+#, c-format
+msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+"Please download the latest version of the LAME MP3 library."
+msgstr ""
 
 #: export/ExportMP3.cpp:1407
-msgid ""
-"Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
-"All Files (*.*)|*"
+msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "فقط lame_enc.dll|lame_enc.dll|کتابخانه‌های پیوندی پویا (*.dll)|*.dll|"
 
-#. i18n-hint: This message is used on Windows.
-#: export/ExportMP3.cpp:1413
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses the\n"
-"freely available LAME library to handle MP3 file encoding.  You must\n"
-"obtain lame_enc.dll separately, by downloading the LAME MP3 encoder,and then "
-"locate this file for Audacity.  You only need to do this once.\n"
-"\n"
-"Would you like to locate lame_enc.dll now?"
-msgstr "اوداسیتی بطور مستقیم صدور به پروندهٔ MP3 را انجام نمی‌دهد، اما به جای آن از\n"
-"کتابخانهٔ آزاد LAME برای کارکردن با کدگذاری پرونده‌های MP3 استفاده می‌کند.  شما باید\n"
-"‏lame_enc.dll را جداگانه از طریق بارگیری کدگذار LAME MP3 از اینترنت، تهیه نمایید و سپس محل\n" 
-"این پرونده را برای اوداسیتی مشخص کنید. شما باید این کار را فقط یک بار انجام دهید.\n"
-"\n"
-"آیا می‌خواهید که هم‌اکنون محل  lame_enc.dll را مشخص کنید؟"
+#: export/ExportMP3.cpp:536
+msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
+msgstr "فقط libmp3lame.dylib|libmp3lame.dylib|کتابخانه‌های پویا (*.dylib)|*.dylibهمهٔ پرونده‌ها (*)|*"
+
+#: export/ExportMP3.cpp:1364
+#, fuzzy
+msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
+msgstr "فقط libmp3lame.so|libmp3lame.so|پرونده‌های اصلی اشیاء به‌اشتراک‌گذاشته‌شده (*.so)|*.so|کتابخانه‌های گسترش‌یافته (*.so*)|*.so*|همهٔ پرونده‌ها (*)|*"
+
+#: export/ExportMP3.cpp:1500
+msgid "MP3 Files"
+msgstr ""
 
 #: export/ExportMP3.cpp:1615
 msgid "Could not open MP3 encoding library!"
@@ -4743,86 +6755,96 @@ msgstr "نمی‌توان کتاب‌خانهٔ رمزگذاری MP3 را باز
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "کتاب‌خانهٔ رمزگذاری MP3 معتبری نیست!"
 
-#: export/ExportMultiple.cpp:271
-msgid ""
-"Audacity needs to know the location of the TOMPG.EXE program.\n"
-"Please download and save the freely available file in any convenient\n"
-"location such as the Plug-Ins subdir of Audacity and let Audacity\n"
-"know about this path.  Would you like to help Audacity locate the file now?"
-msgstr "اوداسیتی نیاز دارد که محل برنامهٔ TOMPG.EXE را بداند.\n"
-"لطفاً این پروندهٔ آزاد را در محلی مناسب چون زیرشاخهٔ متصل‌شونده‌های اوداسیتی بارگذاری کنید\n"
-"و مسیر آن را به اوداسیتی اطلاع دهید. آیا می‌خواهید هم‌اکنون به اوداسیتی کمک کنید تا این پرونده را پیدا کند؟"
+#: export/ExportMP3.cpp:1608
+msgid "Unable to initialize MP3 stream"
+msgstr ""
 
-#: export/ExportMultiple.cpp:272
-msgid "Export needs TOMPG.EXE PATH"
-msgstr "عملیات صدور به مسیر TOMPG.EXE نیازمند است"
+#: export/ExportMP3.cpp:1652
+#, c-format
+msgid "Exporting selected audio with %s preset"
+msgstr ""
 
-#: export/ExportMultiple.cpp:278
-msgid "Where is the mp3 encoder TOMPG.EXE located?"
-msgstr "رمزگذار MP3 ‏«TOMPG.EXE» کجاست؟"
+#: export/ExportMP3.cpp:1653
+#, c-format
+msgid "Exporting entire file with %s preset"
+msgstr ""
 
-#: export/ExportMultiple.cpp:479
+#: export/ExportMP3.cpp:1658
 #, c-format
-msgid "Successfully exported %d files."
-msgstr "عملیات صدور برای %Id پرونده با موفقیت انجام شد."
+msgid "Exporting selected audio with VBR quality %s"
+msgstr ""
 
-#: export/ExportMultiple.cpp:480 export/ExportMultiple.cpp:592
-#: export/ExportMultiple.cpp:599 export/ExportMultiple.cpp:684
-msgid "Export Multiple"
-msgstr "صدور چندتایی"
+#: export/ExportMP3.cpp:1659
+#, c-format
+msgid "Exporting entire file with VBR quality %s"
+msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMP3.cpp:1664
 #, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "عملیات صدور برای %Id پرونده با موفقت انجام شد."
+msgid "Exporting selected audio at %d Kbps"
+msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMP3.cpp:1665
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "پس از صدور پروندهٔ %Id مشکلی پیش آمد."
+msgid "Exporting entire file at %d Kbps"
+msgstr ""
+
+#: export/ExportMP3.cpp:1699
+#, c-format
+msgid "Error %d returned from MP3 encoder"
+msgstr ""
+
+#: export/ExportMP3.cpp:1790
+#, c-format
+msgid "The project sample rate (%d) is not supported by the MP3\n"
+"file format.  "
+msgstr ""
+
+#: export/ExportMP3.cpp:1793
+#, c-format
+msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+"supported by the MP3 file format.  "
+msgstr ""
+
+#: export/ExportMP3.cpp:1970
+msgid "MP3 export library not found"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480 export/ExportMultiple.cpp:592
+#: export/ExportMultiple.cpp:599 export/ExportMultiple.cpp:684
+msgid "Export Multiple"
+msgstr "صدور چندتایی"
 
 #: export/ExportMultiple.cpp:613
-msgid ""
-"If you have more than one Audio Track, you can export each track as a "
-"separate file,\n"
+msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
-"This project does not have multiple tracks or a Label Track, so you cannot "
-"export multiple files."
+"This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
 msgstr "اگر شما بیش از یک شیار صوتی دارید، می‌توانید هر شیار را بعنوان\n"
 "یک پروندهٔ جداگانه صادر کنید،\n"
 "یا اگر یک شیار برچسب دارید، می‌توانید برای هر برچسب یک پروندهٔ جدید صادر کنید.\n"
 "\n"
-"این پروژه شیارهای متفاوت یا یک شیار برچسب ندارد و بنابراین شما نمی‌توانید "
-"از امکان صدور پرونده‌های متعدد استفاده کنید"
+"این پروژه شیارهای متفاوت یا یک شیار برچسب ندارد و بنابراین شما نمی‌توانید از امکان صدور پرونده‌های متعدد استفاده کنید"
 
 #: export/ExportMultiple.cpp:614
 msgid "Can't export multiple files"
 msgstr "صدور را نمی‌توان برای چند پرونده انجام داد"
 
-#: export/ExportMultiple.cpp:642
-msgid "Edit the ID3 tags for all MP3 files"
-msgstr "ویرایش برچسب‌های ID3 برای تمام پرونده‌های MP3"
-
 #: export/ExportMultiple.cpp:698
 msgid "Export format:"
 msgstr "قالب صدور:"
 
+#: export/ExportMultiple.cpp:234
+msgid "Options..."
+msgstr ""
+
 #: export/ExportMultiple.cpp:723
 msgid "Export location:"
 msgstr "محل صدور:"
 
-#: export/ExportMultiple.cpp:729 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "انتخاب..."
-
-#: export/ExportMultiple.cpp:740
-msgid "MP3 Bit Rate: "
-msgstr "نرخ بیت MP3: "
-
-#: export/ExportMultiple.cpp:744
-msgid "Force Mono"
-msgstr "اجبار به مونو"
+#: export/ExportMultiple.cpp:243
+msgid "Create"
+msgstr ""
 
 #: export/ExportMultiple.cpp:760
 msgid "Split files based on:"
@@ -4840,9 +6862,9 @@ msgstr "گنجاندن صوت قبل از برچسب اول"
 msgid "First file name:"
 msgstr "نام پروندهٔ اول:"
 
-#: export/ExportMultiple.cpp:784
-msgid "Tracks"
-msgstr "شیارها"
+#: export/ExportMultiple.cpp:277
+msgid "First file name"
+msgstr ""
 
 #: export/ExportMultiple.cpp:794
 msgid "Name files:"
@@ -4860,14 +6882,81 @@ msgstr "شماره‌گذاری متوالی"
 msgid "File name prefix:"
 msgstr "پیشوند نام پرونده:"
 
+#: export/ExportMultiple.cpp:324
+msgid "File name prefix"
+msgstr ""
+
 #: export/ExportMultiple.cpp:825
 msgid "Overwrite existing files"
 msgstr "رونویسی پرونده‌های موجود"
 
+#: export/ExportMultiple.cpp:422
+#, c-format
+msgid "\"%s\" successfully created."
+msgstr ""
+
 #: export/ExportMultiple.cpp:930
 msgid "Choose a location to save the exported files"
 msgstr "مکانی برای ذخیره‌سازی پرونده‌های صادرشده انتخاب کنید"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:570
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:804
+msgid "Edit metadata"
+msgstr ""
+
+#: export/ExportMultiple.cpp:923
+#, c-format
+msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+"Use..."
+msgstr ""
+
+#: export/ExportOGG.cpp:64
+msgid "Specify Ogg Vorbis Options"
+msgstr ""
+
+#: export/ExportOGG.cpp:79
+msgid "Ogg Vorbis Export Setup"
+msgstr ""
+
+#: export/ExportOGG.cpp:155
+msgid "Ogg Vorbis Files"
+msgstr ""
+
 #: export/ExportOGG.cpp:125
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "صدور صوت انتخاب‌شده در قالب اُگ وربیس"
@@ -4876,98 +6965,230 @@ msgstr "صدور صوت انتخاب‌شده در قالب اُگ وربیس"
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "صدور پروژه بطور کامل در قالب اُگ وربیس"
 
+#: export/ExportPCM.cpp:119
+msgid "Specify Uncompressed Options"
+msgstr ""
+
+#: export/ExportPCM.cpp:189
+msgid "Uncompressed Export Setup"
+msgstr ""
+
+#: export/ExportPCM.cpp:195
+msgid "Header:"
+msgstr ""
+
+#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:376
+#, fuzzy
+msgid "Encoding:"
+msgstr "کدگذاری: "
+
+#: export/ExportPCM.cpp:204
+#, fuzzy
+msgid "(Not all combinations of headers and encodings are possible.)"
+msgstr "(تمام ترکیبات سرآیندها\n"
+"و روش‌های کدگذاری ممکن نیست.)"
+
+#: export/ExportPCM.cpp:359
+msgid "Other uncompressed files"
+msgstr ""
+
+#: export/ExportPCM.cpp:377
+msgid "AIFF (Apple) signed 16 bit PCM"
+msgstr ""
+
+#: export/ExportPCM.cpp:388
+msgid "WAV (Microsoft) signed 16 bit PCM"
+msgstr ""
+
+#: export/ExportPCM.cpp:399
+msgid "GSM 6.10 WAV (mobile)"
+msgstr ""
+
 #: export/ExportPCM.cpp:73
 msgid "Cannot export audio in this format."
 msgstr "صدور صوت در این قالب ممکن نیست."
 
-#: export/ExportPCM.cpp:79
-#, c-format
-msgid "Cannot export audio to %s"
-msgstr "صدور صوت به %s ممکن نیست"
-
-#: export/ExportPCM.cpp:105
+#: export/ExportPCM.cpp:526
 #, c-format
-msgid "Exporting the selected audio as a %s file"
-msgstr "صدور صوت انتخاب‌شده بعنوان یک پروندهٔ %s"
+msgid "Exporting the selected audio as %s"
+msgstr ""
 
-#: export/ExportPCM.cpp:107
+#: export/ExportPCM.cpp:528
 #, c-format
-msgid "Exporting the entire project as a %s file"
-msgstr "صدور پروژه بطور کامل بعنوان یک پروندهٔ %s"
+msgid "Exporting the entire project as %s"
+msgstr ""
 
-#: export/ExportPCM.cpp:140
+#. i18n-hint: %s will be the error message from libsndfile
+#: export/ExportPCM.cpp:564
 #, c-format
-msgid "Error (file may not have been written): %hs"
+#, fuzzy
+msgid "Error (file may not have been written): %s"
 msgstr "خطا (ممکن است در پرونده نوشته شده باشد) : %hs"
 
+#: export/ExportPCM.cpp:735
+msgid "There are no options for this format.\n"
+msgstr ""
+
+#. i18n-hint: This is pointing users at another possible export format in
+#. * the list. So you should translate the quoted string
+#. * 'Other uncompressed files' exactly the same as you do the same string
+#. * when it comes up on it's own.
+#: export/ExportPCM.cpp:740
+msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
+msgstr ""
+
+#: export/ExportPCM.cpp:745
+msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
+msgstr ""
+
+#: export/ExportPCM.cpp:750
+msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
+msgstr ""
+
+#: export/ExportPCM.cpp:755
+msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
+msgstr ""
+
+#: import/Import.cpp:162 import/ImportMP3.cpp:47
+msgid "MP3 files"
+msgstr ""
+
+#: import/Import.cpp:181
+msgid "Select stream(s) to import"
+msgstr ""
+
 #: import/Import.cpp:177
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "این نسخه از اوداسیتی از %s پشتیبانی نمی‌کند."
 
-#: import/Import.cpp:190
-msgid ""
-" is an audio CD file. \n"
-"Audacity does not open this type of file.\n"
-"Try ripping it to a native audio format that Audacity can import."
-msgstr " یک پروندهٔ دیسک صوتی است.\n"
-"اوداسیتی این نوع از پرونده را باز نمی‌کند.\n"
-"سعی کنید محتویات آن را در قالبی سازگار استخراج کنید تا اوداسیتی بتواند واردسازی را بر روی آن انجام دهد."
-
-#: import/Import.cpp:197
-msgid ""
-" is a playlist file.\n"
-"Audacity cannot open this file because it only contains links to other "
-"files.\n"
-"You may be able to open it in a text editor and download the actual audio "
-"files."
-msgstr " یک پروندهٔ فهرست پخش است.\n"
-"اوداسیتی به دلیل اینکه این پرونده فقط پیوندهایی به پرونده‌های دیگر را در بر دارد،\n"
-"نمی‌تواند این نوع از پرونده را باز کند.\n"
-"ممکن است بتوانید آن را در یک ویرایشگر متن باز کنید و پرونده‌های صوتی اصلی را بارگذاری نمایید"
-
-#: import/Import.cpp:203
-msgid ""
-" is a Windows Media Audio file. \n"
-"Audacity cannot open this type of file to due to patent restrictions.\n"
-"You need to convert it to a supported audio format."
-msgstr " یک پروندهٔ صوتی ویندوزی است. \n"
-"اوداسیتی به دلیل محدودیت‌های مربوط به ثبت اختراعات نمی‌تواند این نوع پرونده را باز کند.\n"
-"شما باید آن را به یک قالب صوتی پشتیبانی‌شده تبدیل نمایید."
-
-#: import/Import.cpp:209
-msgid ""
-" is an Advanced Audio Coding file. \n"
-"Audacity cannot open this type of file.\n"
-"You need to convert it to a supported audio format."
-msgstr " یک پروندهٔ کدگذاری صوت پیشرفته (AAC) است. \n"
-"اوداسیتی نمی‌تواند این نوع پرونده را باز کند.\n"
-"شما باید آن را به یک قالب صوتی پشتیبانی‌شده تبدیل نمایید."
-
-#: import/Import.cpp:215
-msgid ""
-" is an encrypted audio file, typically from an online music store. \n"
-"Audacity cannot open this type of file due to the encryption.\n"
-"You need to convert it to a supported, unencrypted audio format."
-msgstr " یک پروندهٔ صوتی رمزشده است. معمولاً این نوع پرونده‌ها از یک فروشگاه برخط موسیقی دریافت شده‌اند. \n"
-"اوداسیتی بدلیل رمزگذاری‌شده بودن، نمی‌تواند این نوع پرونده را باز کند.\n"
-"شما باید آن را به یک قالب صوتی پشتیبانی‌شدهٔ غیررمزگذاری‌شده تبدیل نمایید."
-
-#: import/Import.cpp:221
-msgid ""
-" is a RealPlayer media file. \n"
-"Audacity cannot open this proprietary format.\n"
-"You need to convert it to a supported audio format."
-msgstr " یک پروندهٔ  رسانه‌ای RealPlayer است.\n"
-"اوداسیتی نمی‌تواند این قالب اختصاصی را باز کند.\n"
-"شما باید آن را به یک قالب صوتی پشتیبانی‌شده تبدیل نمایید."
-
-#: import/Import.cpp:226
-msgid ""
-"Audacity did not recognize the type of this file.\n"
-"If it is uncompressed, try importing it using \"Import Raw\""
-msgstr "اوداسیتی نتوانست نوع این پرونده را شناسایی کند.\n"
-"در صورتی که این پرونده فشرده‌شده نیست، سعی کنید که با استفاده از «ورود دادهٔ خام» عملیات واردسازی را بر روی آن انجام دهید."
+#: import/Import.cpp:247
+#, c-format
+msgid "\"%s\" \n"
+"is a MIDI file, not an audio file. \n"
+"Audacity cannot open this type of file for playing, but you can\n"
+"edit it by clicking File > Import > MIDI."
+msgstr ""
+
+#. i18n-hint: %s will be the filename
+#: import/Import.cpp:257
+#, c-format
+msgid "\"%s\" is an audio CD track. \n"
+"Audacity cannot open audio CDs directly. \n"
+"Extract (rip) the CD tracks to an audio format that \n"
+"Audacity can import, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:263
+#, c-format
+msgid "\"%s\" is a playlist file. \n"
+"Audacity cannot open this file because it only contains links to other files. \n"
+"You may be able to open it in a text editor and download the actual audio files."
+msgstr ""
+
+#: import/Import.cpp:268
+#, c-format
+msgid "\"%s\" is a Windows Media Audio file. \n"
+"Audacity cannot open this type of file due to patent restrictions. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:273
+#, c-format
+msgid "\"%s\" is an Advanced Audio Coding file. \n"
+"Audacity cannot open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:278
+#, c-format
+msgid "\"%s\" is an encrypted audio file. \n"
+"These typically are from an online music store. \n"
+"Audacity cannot open this type of file due to the encryption. \n"
+"Try recording the file into Audacity, or burn it to audio CD then \n"
+"extract the CD track to a supported audio format such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:283
+#, c-format
+msgid "\"%s\" is a RealPlayer media file. \n"
+"Audacity cannot open this proprietary format. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:289
+#, c-format
+msgid "\"%s\" is a notes-based file, not an audio file. \n"
+"Audacity cannot open this type of file. \n"
+"Try converting it to an audio file such as WAV or AIFF and \n"
+"then import it, or record it into Audacity."
+msgstr ""
+
+#: import/Import.cpp:295
+#, c-format
+msgid "\"%s\" is a Musepack audio file. \n"
+"Audacity cannot open this type of file. \n"
+"If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
+"and try importing it again. Otherwise you need to convert it to a supported audio \n"
+"format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:301
+#, c-format
+msgid "\"%s\" is a Wavpack audio file. \n"
+"Audacity cannot open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:307
+#, c-format
+msgid "\"%s\" is a Dolby Digital audio file. \n"
+"Audacity cannot currently open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:313
+#, c-format
+msgid "\"%s\" is an Ogg Speex audio file. \n"
+"Audacity cannot currently open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:319
+#, c-format
+msgid "\"%s\" is a video file. \n"
+"Audacity cannot currently open this type of file. \n"
+"You need to extract the audio to a supported format, such as WAV or AIFF."
+msgstr ""
+
+#: import/Import.cpp:324
+#, c-format
+msgid "Audacity did not recognize the type of the file '%s'.\n"
+"If it is uncompressed, try importing it using \"Import Raw\"."
+msgstr ""
+
+#: import/Import.cpp:329
+#, c-format
+msgid "Audacity recognized the type of the file '%s',\n"
+"but was unable to import it."
+msgstr ""
+
+#: import/ImportFFmpeg.cpp:34
+msgid "FFmpeg-compatible files"
+msgstr ""
+
+#: import/ImportFFmpeg.cpp:438
+#, c-format
+msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
+msgstr ""
+
+#: import/ImportFLAC.cpp:43
+msgid "FLAC files"
+msgstr ""
+
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
 
 #: import/ImportLOF.cpp:172 import/ImportLOF.cpp:222
 msgid "List of Files in basic text format"
@@ -4991,21 +7212,29 @@ msgstr "مدت زمان نامعتبر در پروندهٔ LOF"
 
 #: import/ImportLOF.cpp:407
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
-msgstr 
-"شیارهای MIDI نمی‌توانند بطور مستقل از افست استفاده کنند. فقط پرونده‌های صوتی می‌توانند چنین کنند. "
+msgstr "شیارهای MIDI نمی‌توانند بطور مستقل از افست استفاده کنند. فقط پرونده‌های صوتی می‌توانند چنین کنند. "
 
 #. i18n-hint: You do not need to translate "LOF"
 #: import/ImportLOF.cpp:427
 msgid "Invalid track offset in LOF file."
 msgstr "افست شیار در پروندهٔ LOF نامعتبر است."
 
-#: import/ImportMIDI.cpp:46
-msgid "Error parsing Allegro file."
-msgstr "خطا در تجریهٔ پروندهٔ Allegro."
+#: import/ImportMIDI.cpp:31
+msgid ": Filename too short."
+msgstr ""
+
+#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:53
+msgid "Could not open file "
+msgstr ""
 
-#: import/ImportMIDI.cpp:76
-msgid "Error parsing MIDI file."
-msgstr "خطا در تجزیه پروندهٔ MIDI."
+#: import/ImportMIDI.cpp:39
+msgid ": Incorrect filetype."
+msgstr ""
+
+#: import/ImportOGG.cpp:44
+msgid "Ogg Vorbis files"
+msgstr ""
 
 #: import/ImportOGG.cpp:138
 msgid "Media read error"
@@ -5027,6 +7256,23 @@ msgstr "سرآیند رشتهٔ بیتی نامعتبر است"
 msgid "Internal logic fault"
 msgstr "نقص در منطق درونی"
 
+#: import/ImportPCM.cpp:66
+msgid "WAV, AIFF, and other uncompressed types"
+msgstr ""
+
+#: import/ImportPlugin.h:135 import/ImportRaw.cpp:210
+#, c-format
+msgid "Importing %s"
+msgstr ""
+
+#: import/ImportQT.cpp:18
+msgid "QuickTime files"
+msgstr ""
+
+#: import/ImportRaw.cpp:212
+msgid "Import Raw"
+msgstr ""
+
 #: import/ImportRaw.cpp:277
 msgid "Import Raw Data"
 msgstr "ورود دادهٔ خام"
@@ -5068,6 +7314,14 @@ msgstr "۲ کاناله (استریو)"
 msgid "%d Channels"
 msgstr "%Id کاناله"
 
+#: import/ImportRaw.cpp:379
+msgid "Byte order:"
+msgstr ""
+
+#: import/ImportRaw.cpp:382
+msgid "Channels:"
+msgstr ""
+
 #: import/ImportRaw.cpp:386
 msgid "Start offset:"
 msgstr "افست آغاز:"
@@ -5080,34 +7334,54 @@ msgstr "مقداری که باید وارد شود:"
 msgid "Sample rate:"
 msgstr "نرخ نمونه‌برداری:"
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "ورودی/خروجی صدا"
+#: ondemand/ODComputeSummaryTask.h:47
+msgid "Import complete. Calculating waveform"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "۱ (مونو)"
+#: ondemand/ODDecodeTask.h:61
+msgid "Decoding Waveform"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "۲ (استریو)"
+#: ondemand/ODWaveTrackTaskQueue.cpp:327
+#, c-format
+msgid "%s %2.0f%% complete.  Click to change task focal point."
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "پخش"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
+msgstr "دسته‌ای"
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "دستگاه"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr "رفتارها"
+
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr ""
+
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "حالت پاکسازی &گفتار (رابط کاربری گرافیکی سفارشی شده)"
+
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "واسط"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "با استفاده از:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "پخش"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -5117,101 +7391,13 @@ msgstr "در حال ضبط"
 msgid "Channels"
 msgstr "کانال‌ها"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "ضبط و پخش همزمان"
-
-#: prefs/AudioIOPrefs.cpp:147
-msgid "&Play other tracks while recording new one"
-msgstr "&پخش شیارهای دیگر در حالی که یک شیار جدید ضبط می‌شود"
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr "ضبط و پخش همزمان &سخت‌افزاری (شیار جدید را همان زمانی که ضبط می‌شود پخش می‌کند)"
-
-#: prefs/AudioIOPrefs.cpp:153
-msgid "&Software Playthrough (Play new track while recording it)"
-msgstr "ضبط و پخش همزمان &نرم‌افزاری (شیار جدید را همان زمانی که ضبط می‌شود پخش می‌کند)"
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr "پیش‌نمایش برش"
-
-#: prefs/AudioIOPrefs.cpp:161
-msgid "Play before cut region:"
-msgstr "پخش پیش از برش ناحیه:"
-
-#: prefs/AudioIOPrefs.cpp:163
-msgid "Play after cut region:"
-msgstr "پخش پس از برش ناحیه:"
-
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr "نهفتگی"
-
-#: prefs/AudioIOPrefs.cpp:174
-msgid "Audio to buffer:"
-msgstr "صوتی که باید میان‌گیری شود:"
-
-#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
-msgid "milliseconds"
-msgstr "میلی‌ثانیه"
-
-#: prefs/AudioIOPrefs.cpp:177
-msgid "Latency correction:"
-msgstr "اصلاح نهفتگی:"
-
-#: prefs/AudioIOPrefs.cpp:184
-msgid "Seek Time"
-msgstr "زمان پرش"
-
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr "دوره کوتاه:"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr "دورهٔ بلند:"
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr "پیش‌نمایش جلوه‌ها"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Play when previewing:"
-msgstr "پخش در حین پیش‌نمایش:"
-
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr "دسته‌ای"
-
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "رفتارها"
-
-#: prefs/BatchPrefs.cpp:77
-msgid "&Batch debug mode"
-msgstr "حالت اشکال‌زدایی &دسته‌ای"
-
-#: prefs/BatchPrefs.cpp:79
-msgid "&Normalize on load"
-msgstr "&نرمال‌سازی هنگام بار کردن"
-
-#: prefs/BatchPrefs.cpp:81
-msgid "&Prompt to save, even if empty"
-msgstr "&اعلان برای ذخیره کردن، حتی پرونده خالی باشد"
-
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "حالت پاکسازی &گفتار (رابط کاربری گرافیکی سفارشی شده)"
-
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr "نمایش دادن / مخفی کردن"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "۱ (مونو)"
 
-#: prefs/BatchPrefs.cpp:89
-msgid "S&how MP3-ID3 Dialog"
-msgstr "&نمایش جعبهٔ محاورهٔ MP3-ID3"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "۲ (استریو)"
 
 #: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:276
@@ -5230,34 +7416,31 @@ msgstr "محل:"
 msgid "Free Space:"
 msgstr "فضای خالی:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "ذخیرهٔ خودکار"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "ذخیرهٔ خودکار یک نسخه از پروژه در شاخه‌ای جداگانه"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save every:"
-msgstr "دخیرهٔ خودکار در بازهٔ زمانی:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "دقیقه"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "حافظهٔ نهان صوتی"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Always hold all audio data in memory"
-msgstr "همیشه تمام داده‌های مربوط به صوت را در حافظه نگه داشته شود"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "محلی برای قرار دادن شاخهٔ موقت انتخاب کنید"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:165
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -5273,208 +7456,158 @@ msgid "Directory %s is not writable"
 msgstr "شاخهٔ %s قابل نوشتن نیست"
 
 #: prefs/DirectoriesPrefs.cpp:198
-msgid ""
-"Changes to temporary directory will not take effect until Audacity is "
-"restarted"
+msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "تغییرات در شاخهٔ موقت تا زمانی که اوداسیتی راه‌اندازی مجدد نشود، اعمال نخواهند شد"
 
-#: prefs/FileFormatPrefs.cpp:58 prefs/FileFormatPrefs.cpp:59
-msgid "File Formats"
-msgstr "قالب پرونده‌ها"
-
-#: prefs/FileFormatPrefs.cpp:124
-msgid "When importing uncompressed audio files into Audacity"
-msgstr "در هنگام واردسازی پرونده‌های صوتی غیرفشرده به اوداسیتی"
-
-
-#: prefs/FileFormatPrefs.cpp:127
-msgid "&Make a copy of the file before editing (safer)"
-msgstr "پیش از ویرایش، یک &نسخه از پرونده تهیه شود (امن‌تر)"
-
-#: prefs/FileFormatPrefs.cpp:128
-msgid "&Read directly from the original file (faster)"
-msgstr "خواندن &مستقیم از پروندهٔ اصلی (سریع‌تر)"
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
-msgstr "در هنگام ذخیره‌سازی پروژه‌ای که به پرونده‌های صوتی دیگر وابستگی دارد"
-
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
-msgstr "از کاربر &پرسیده شود"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "When exporting tracks"
-msgstr "زمان صدور شیارها"
-
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&همیشه تمام شیارها بصورت کانال‌های استریو یا مونو میکس شود"
-
-#: prefs/FileFormatPrefs.cpp:145
-msgid "&Use Advanced Mixing Options"
-msgstr "استفاده از تنظیمات &پیشرفتهٔ میکس"
-
-#: prefs/FileFormatPrefs.cpp:150
-msgid "Uncompressed Export Format"
-msgstr "قالب صدور غیرفشرده"
-
-#: prefs/FileFormatPrefs.cpp:163
-msgid "OGG Export Setup"
-msgstr "تنظیمات صدور اُگ"
-
-#: prefs/FileFormatPrefs.cpp:167
-msgid "OGG Quality:"
-msgstr "کیفیت اُگ:"
-
-#: prefs/FileFormatPrefs.cpp:173
-msgid "MP3 Export Setup"
-msgstr "برپاسازی صدور MP3"
-
-#: prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "نسخهٔ کتاب‌خانهٔ MP3"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:182 prefs/FileFormatPrefs.cpp:207
-msgid "Bit Rate:"
-msgstr "نرخ بیت:"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:185
-msgid "&Find Library"
-msgstr "&جستجوی کتاب‌خانه"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:190
-msgid "FLAC Export Setup"
-msgstr "برپاسازی صدور FLAC"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:193
-msgid "16 bit"
-msgstr "۱۶ بیتی"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:194
-msgid "24 bit"
-msgstr "۲۴ بیتی"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:197
-msgid "Bit depth:"
-msgstr "عمق بیت:"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:204
-msgid "MP2 Export Setup"
-msgstr "برپاسازی صدور MP2"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:219
-msgid "MP3 exporting plugin not found"
-msgstr "متصل‌شوندهٔ صدور MP3 پیدا نشد"
+#: prefs/GUIPrefs.cpp:111
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "‏۳۶- دسی‌بل (محدودهٔ کم‌عمق برای ویرایش موج‌های صوتی با دامنهٔ بالا)"
 
-#: prefs/FileFormatPrefs.cpp:364
-msgid "File Format"
-msgstr "قالب پرونده"
+#: prefs/GUIPrefs.cpp:112
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "۴۸- دسی‌بلد (محدودهٔ PCM نمونه‌های ۸ بیت)"
 
-#: prefs/FileFormatPrefs.cpp:401
-msgid ""
-"(Not all combinations of headers\n"
-"and encodings are possible.)"
-msgstr "(تمام ترکیبات سرآیندها\n"
-"و روش‌های کدگذاری ممکن نیست.)"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:403
-msgid "Header: "
-msgstr "سرآیند: "
+#: prefs/GUIPrefs.cpp:113
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "۹۶- دسی‌بل (محدودهٔ PCM نمونه‌های ۱۶ بیت)"
 
-#: prefs/FileFormatPrefs.cpp:404
-msgid "Encoding: "
-msgstr "کدگذاری: "
+#: prefs/GUIPrefs.cpp:114
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "۱۲۰- دسی‌بل (حد تقریبی شنوایی انسان)"
 
-#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "واسط"
+#: prefs/GUIPrefs.cpp:115
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "۱۴۵- دسی‌بل (محدودهٔ PCM نمونه‌های ۲۴ بیت)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Autoscroll while playing"
-msgstr "&لغزش در هنگام پخش"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "نمایش"
 
-#: prefs/GUIPrefs.cpp:74
-msgid "Al&ways allow pausing"
-msgstr "&مکث همیشه ممکن باشد"
+#: prefs/GUIPrefs.cpp:98
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "&Update spectrogram while playing"
-msgstr "&به‌روزرسانی طیف‌نما در حین پخش"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:78
-msgid "&Quit Audacity upon closing last window"
-msgstr "&خروج از اوداسیتی هنگام بستن آخرین پنجره"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "&Dragging of left and right selection edges"
-msgstr "&کشیدن لبه‌های چپ و راست انتخاب"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:82
-msgid "&Ergonomic order of audio I/O buttons"
-msgstr "ترتیب &ارگونومیک کلیدهای ورودی/خروجی صوتی"
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:84
-msgid "Tracks &fit vertically zoomed"
-msgstr "در حالت زوم، شیار بطور افقی در پنجره &جاداده شود"
+#: prefs/GUIPrefs.cpp:139
+msgid "&Beep on completion of longer activities"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:86
-msgid "&Circular track keyboard navigation"
-msgstr "ناوش &حلقوی شیار از طریق صفحه‌کلید"
+#: prefs/GUIPrefs.cpp:145
+msgid "Modes"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Present track number to accessibility aid"
-msgstr "ارائهٔ شمارهٔ شیار "
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
-msgstr "ویرایش یک &بریده می‌توان بریده‌های دیگر را حرکت دهد"
+#: prefs/GUIPrefs.cpp:156
+msgid "Don't a&pply effects in batch mode"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "فعال‌سازی &خطوط برش"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "نمایش هشدار دربارهٔ پرونده‌های &موقت"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:103
-msgid "Language"
-msgstr "زبان"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:105
-msgid "Language:"
-msgstr "زبان:"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:108
-msgid "Minimum of dB mode display range"
-msgstr "حداقل محدودهٔ نمایش حالت دسی‌بل"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:111
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr 
-"‏۳۶- دسی‌بل (محدودهٔ کم‌عمق برای ویرایش موج‌های صوتی با دامنهٔ بالا)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:112
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "۴۸- دسی‌بلد (محدودهٔ PCM نمونه‌های ۸ بیت)"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&همیشه تمام شیارها بصورت کانال‌های استریو یا مونو میکس شود"
 
-#: prefs/GUIPrefs.cpp:113
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "۹۶- دسی‌بل (محدودهٔ PCM نمونه‌های ۱۶ بیت)"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:114
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "۱۲۰- دسی‌بل (حد تقریبی شنوایی انسان)"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:115
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "۱۴۵- دسی‌بل (محدودهٔ PCM نمونه‌های ۲۴ بیت)"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:62 prefs/KeyConfigPrefs.cpp:63
 msgid "Keyboard"
 msgstr "صفحه‌کلید"
 
+#: prefs/KeyConfigPrefs.cpp:95
+msgid "Keyboard preferences currently unavailable."
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:96
+msgid "Open a new project to modify keyboard shortcuts."
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:93
 msgid "Key Bindings"
 msgstr "مقیدسازی کلیدها"
@@ -5483,10 +7616,6 @@ msgstr "مقیدسازی کلیدها"
 msgid "S&et"
 msgstr "&تعیین"
 
-#: prefs/KeyConfigPrefs.cpp:114
-msgid "&Clear"
-msgstr "&پاک کردن"
-
 #: prefs/KeyConfigPrefs.cpp:118
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "توجه: با زدن کلیدهای Cmd+ض خارج می‌شود. تمام کلیدهای دیگر معتبرند"
@@ -5495,43 +7624,159 @@ msgstr "توجه: با زدن کلیدهای Cmd+ض خارج می‌شود. تم
 msgid "&Defaults"
 msgstr "&پیش‌فرض‌ها"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:141
 msgid "Key Combination"
 msgstr "ترکیب کلید‌ها"
 
-#: prefs/KeyConfigPrefs.cpp:161
-msgid "Export Keyboard Shortcuts As:"
-msgstr "صدور میان‌بُرهای صفحه‌کلید با نام:"
+#: prefs/KeyConfigPrefs.cpp:339 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "برگردان"
 
-#: prefs/KeyConfigPrefs.cpp:179
-msgid "Error saving keyboard shortcuts"
-msgstr "خطا در ذخیره‌سازی میان‌بُرهای صفحه‌کلید"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:194
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "یک پروندهٔ XML که میان‌بُرهای صفحه‌کلید اوداسیتی در آن باشد را انتخاب کنید..."
 
-#: prefs/KeyConfigPrefs.cpp:198
-msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
-msgstr "پرونده‌های XML (*.xml)|*.xml|تمام پرونده‌ها (*.*)|*.*"
-
 #: prefs/KeyConfigPrefs.cpp:211
 msgid "Error loading keyboard shortcuts"
 msgstr "خطا در بار کردن میان‌بُرهای صفحه‌کلید"
 
+#: prefs/KeyConfigPrefs.cpp:161
+msgid "Export Keyboard Shortcuts As:"
+msgstr "صدور میان‌بُرهای صفحه‌کلید با نام:"
+
+#: prefs/KeyConfigPrefs.cpp:179
+msgid "Error saving keyboard shortcuts"
+msgstr "خطا در ذخیره‌سازی میان‌بُرهای صفحه‌کلید"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
-msgid ""
-"The keyboard shortcut '%s' is already assigned to:\n"
+msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
 msgstr "کلید میانبر «%s» در حال حاضر اختصاص داده شده است به :\n"
 "\n"
 "«%s»"
 
-#: prefs/KeyConfigPrefs.cpp:339 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "برگردان"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "نسخهٔ کتاب‌خانهٔ MP3"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:92 prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:97 prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:120 prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "ورودی/خروجی صدا"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "ضبط و پخش همزمان"
+
+#: prefs/AudioIOPrefs.cpp:147
+msgid "&Play other tracks while recording new one"
+msgstr "&پخش شیارهای دیگر در حالی که یک شیار جدید ضبط می‌شود"
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough (Play new track while recording it)"
+msgstr "ضبط و پخش همزمان &سخت‌افزاری (شیار جدید را همان زمانی که ضبط می‌شود پخش می‌کند)"
+
+#: prefs/AudioIOPrefs.cpp:153
+msgid "&Software Playthrough (Play new track while recording it)"
+msgstr "ضبط و پخش همزمان &نرم‌افزاری (شیار جدید را همان زمانی که ضبط می‌شود پخش می‌کند)"
+
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr "پیش‌نمایش برش"
+
+#: prefs/AudioIOPrefs.cpp:161
+msgid "Play before cut region:"
+msgstr "پخش پیش از برش ناحیه:"
+
+#: prefs/AudioIOPrefs.cpp:163
+msgid "Play after cut region:"
+msgstr "پخش پس از برش ناحیه:"
+
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr "نهفتگی"
+
+#: prefs/AudioIOPrefs.cpp:174
+msgid "Audio to buffer:"
+msgstr "صوتی که باید میان‌گیری شود:"
+
+#: prefs/AudioIOPrefs.cpp:177
+msgid "Latency correction:"
+msgstr "اصلاح نهفتگی:"
+
+#: prefs/AudioIOPrefs.cpp:184
+msgid "Seek Time"
+msgstr "زمان پرش"
+
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr "دوره کوتاه:"
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr "دورهٔ بلند:"
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr "پیش‌نمایش جلوه‌ها"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Play when previewing:"
+msgstr "پخش در حین پیش‌نمایش:"
 
 #: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
@@ -5583,6 +7828,22 @@ msgstr "گسترش محدودهٔ انتخاب"
 msgid "Shift-Left-Click"
 msgstr "کلیک چپ با تبدیل"
 
+#: prefs/MousePrefs.cpp:105
+msgid "Left-Double-Click"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:105
+msgid "Select Clip or Entire Track"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:106
+msgid "Ctrl-Left-Click"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:106
+msgid "Set Selection Point and Play"
+msgstr ""
+
 #: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:104
 #: prefs/MousePrefs.cpp:105
 msgid "Zoom"
@@ -5616,6 +7877,22 @@ msgstr "راست و کشیدن"
 msgid "same as left-drag"
 msgstr "مانند چپ و کشیدن"
 
+#: prefs/MousePrefs.cpp:112
+msgid "Shift-Drag"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:112
+msgid "Zoom out on a Range"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:113
+msgid "Middle-Click"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:113
+msgid "Zoom default"
+msgstr ""
+
 #: prefs/MousePrefs.cpp:107
 msgid "Time shift clip or move up/down between tracks"
 msgstr "تغییر محل زمانی بریده در شیار یا حرکت بالا/پایین بین شیارها"
@@ -5690,6 +7967,14 @@ msgstr "لغزش به بالا یا پایین"
 msgid "Wheel-Rotate"
 msgstr "چرخاندن چرخ موشی"
 
+#: prefs/MousePrefs.cpp:132
+msgid "Scroll left or right"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:132
+msgid "Shift-Wheel-Rotate"
+msgstr ""
+
 #: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Wheel-Rotate"
 msgstr "مهار-چرخاندن چرخ موشی"
@@ -5698,13 +7983,61 @@ msgstr "مهار-چرخاندن چرخ موشی"
 msgid "Zoom in or out"
 msgstr "زوم به داخل یا خارج"
 
+#: prefs/PlaybackPrefs.cpp:58
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:78
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:88
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:97
 msgid "Audacity Preferences"
 msgstr "ترجیحات اوداسیتی"
 
-#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
-msgid "Quality"
-msgstr "کیفیت "
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr "در هنگام ذخیره‌سازی پروژه‌ای که به پرونده‌های صوتی دیگر وابستگی دارد"
+
+#: prefs/ProjectsPrefs.cpp:60
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:62
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr "از کاربر &پرسیده شود"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "ذخیرهٔ خودکار"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "ذخیرهٔ خودکار یک نسخه از پروژه در شاخه‌ای جداگانه"
+
+#: prefs/ProjectsPrefs.cpp:79
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "دقیقه"
 
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
@@ -5730,73 +8063,135 @@ msgstr "نرخ نمونه‌برداری پیش‌فرض:"
 msgid "Default Sample Format:"
 msgstr "قالب نمونهٔ پیش‌فرض:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "مبدل بلادرنگ نرخ نمونه:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "مبدل کیفیت بالای نرخ نمونه:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "ملایم‌سازی بلادرنگ:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "ملایم‌سازی با کیفیت بالا"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "تبدیل"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "مبدل نرخ نمونه‌"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "ملایم‌سازی"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "بلادرنگ:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "کیفیت بالا"
+#: prefs/RecordingPrefs.cpp:59
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:63
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:67
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:71
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:98 prefs/RecordingPrefs.cpp:100
+msgid "Sound Activated Recording"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:109
+msgid "Sound Activation Level (dB):"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:36 prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "طیف‌نما"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "اندازهٔ FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "۸ ‐ بیشترین پهنای باند"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "۲۵۶ ‐ پیش‌فرض"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:54
+msgid "32768 - most narrowband"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:84
 msgid "4096 - most narrowband"
 msgstr "۴۰۹۶ ‐ کمترین پهنای باند"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "نوع پنجره:"
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "نمایش"
+#: prefs/SpectrumPrefs.cpp:113
+msgid "FFT Skip Points"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "&بدون رنگ"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -5806,6 +8201,34 @@ msgstr "فرکانس حداقل (هرتز):"
 msgid "Maximum Frequency (Hz):"
 msgstr "فرکانس حداکثر (هرتز):"
 
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:165
+msgid "Minimum Amplitude (dB):"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:171
+msgid "Max. Number of Notes (1..128):"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "فرکانس حداکثر باید یک عدد صحیح باشد"
@@ -5822,10 +8245,57 @@ msgstr "فرکانس حداقل باید یک عدد صحیح باشد"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "فرکانس حداقل باید دست کم ۰ هرتز باشد"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:220
+msgid "The minimum amplitude (dB) must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr "تم"
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr "اطلاعات"
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr "حافظهٔ نهان تم ‐ تصاویر و رنگ"
@@ -5854,60 +8324,101 @@ msgstr "دخیرهٔ پرونده‌ها"
 msgid "Load Files"
 msgstr "بار کردن پرونده‌ها"
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
-msgstr "اطلاعات"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:126
-msgid ""
-"Themability is an experimental feature.\n"
-"\n"
-msgstr "Themability امکانی آزمایشی است.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:147
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-msgstr "در صورتی که «بارکردن حافظهٔ نهان تم به هنگام راه‌اندازی» تیک خورده باشد، سپس \n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "کنترل"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Ù…Ú©Ø«"
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "پخش"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr "فعال‌سازی &خطوط برش"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for loop-play)"
-msgstr "پخش (تبدیل برای پخش در حلقه)"
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
-msgid "Stop"
-msgstr "توقف"
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "پرش به شروع"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr "ویرایش یک &بریده می‌توان بریده‌های دیگر را حرکت دهد"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "پرش به پایان"
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:864
+msgid "Pause"
+msgstr "Ù…Ú©Ø«"
+
+#: Menus.cpp:863
+msgid "Stop"
+msgstr "توقف"
 
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr "پاکسازی گفتار"
 
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:210
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr "خطا در هنگام باز کردن دستگاه صدا. "
 
-#: toolbars/ControlToolBar.cpp:683
-msgid "CleanSpeech only allows recording mono track.\n"
-msgstr "پاکسازی گفتار فقط اجازهٔ ضبط کردن شیار مونو را می‌دهد.\n"
+#: toolbars/ControlToolBar.cpp:743
+msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
+msgstr ""
 
 #: toolbars/ControlToolBar.cpp:685
 msgid "Recording not permitted"
@@ -5929,6 +8440,10 @@ msgstr "آرایش بخش بیرون از انتخاب"
 msgid "Silence selection"
 msgstr "انتخاب سکوت"
 
+#: toolbars/EditToolBar.cpp:150 toolbars/EditToolBar.cpp:197
+msgid "Link Tracks"
+msgstr ""
+
 #: toolbars/EditToolBar.cpp:150
 msgid "Zoom In"
 msgstr "زوم به داخل"
@@ -5937,29 +8452,21 @@ msgstr "زوم به داخل"
 msgid "Zoom Out"
 msgstr "زوم به خارج"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "تغییر بین دو حالت زوم"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "جادادن انتخاب"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "جادادن انتخاب در پنجره"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "جادادن پروژه"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "جادادن پروژه در پنجره"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
-msgstr "اندازه‌گیر"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "جادادن انتخاب"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "جادادن پروژه"
 
 #: toolbars/MeterToolBar.cpp:79
 msgid "Play Meter"
@@ -5985,30 +8492,36 @@ msgstr "اندازه‌گیر سطح صدای خروجی"
 msgid "Input level meter - click to monitor input"
 msgstr "اندازه‌گیر سطح صدای ورودی ‐ برای پایش ورودی کلیک کنید"
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "میکسر"
-
 #: toolbars/MixerToolBar.cpp:91
 msgid "Output Volume"
 msgstr "حجم صدای خروجی"
 
-#: toolbars/MixerToolBar.cpp:93
-msgid "Slider-Output"
+#: toolbars/MixerToolBar.cpp:92
+#, fuzzy
+msgid "Slider Output"
 msgstr "دکمهٔ لغزنده-خروجی"
 
 #: toolbars/MixerToolBar.cpp:102
 msgid "Input Volume"
 msgstr "حجم صدای ورودی"
 
-#: toolbars/MixerToolBar.cpp:104
-msgid "Slider-Input"
+#: toolbars/MixerToolBar.cpp:103
+#, fuzzy
+msgid "Slider Input"
 msgstr "دکمهٔ لغزنده-ورودی"
 
 #: toolbars/MixerToolBar.cpp:119
 msgid "Input Source"
 msgstr "منبع ورودی"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr "انتخاب"
@@ -6021,6 +8534,11 @@ msgstr "نرخ پروژه (هرتز):"
 msgid "Selection Start:"
 msgstr "آغاز انتخاب:"
 
+#: effects/ToneGen.cpp:300 effects/ToneGen.cpp:338
+#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:225
+msgid "Length"
+msgstr "طول"
+
 #: toolbars/SelectionBar.cpp:145
 msgid "hidden"
 msgstr "مخفی"
@@ -6029,6 +8547,10 @@ msgstr "مخفی"
 msgid "Audio Position:"
 msgstr "مکان صوت:"
 
+#: toolbars/SelectionBar.cpp:236 toolbars/SelectionBar.cpp:241
+msgid "Snap To"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:224
 msgid "Selection "
 msgstr "انتخاب"
@@ -6078,30 +8600,6 @@ msgstr "چپ=زوم، راست=زوم به عقب، وسط=عادی"
 msgid "Click and drag to move a track in time"
 msgstr "برای جابه‌جایی یک شیار در زمان کلیک کنید و بکشید"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "ابزارها"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "ابزار انتخاب"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "ابزار پوشش"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "ابزار انتقال زمان"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "ابزار زوم"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "ابزار رسم"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "حالت ابزار چندگانه"
@@ -6110,22 +8608,10 @@ msgstr "حالت ابزار چندگانه"
 msgid "Slide Tool"
 msgstr "ابزار لغزنده"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "ابزار چندگانه"
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr "آوانویسی"
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr "پخش با سرعت انتخاب‌شده"
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr "پخش در سرعت خاص"
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr "سرعت پخش"
@@ -6134,74 +8620,38 @@ msgstr "سرعت پخش"
 msgid "Adjust left selection to next onset"
 msgstr "تنظیم انتخاب چپ با آغاز بعدی"
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr "چپ برای روشن کردن"
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr "تنظیم انتخاب راست با افست قبلی"
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr "راست برای خاموش کردن"
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr "تنظیم انتخاب چپ با افست بعدی"
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr "چپ برای خاموش کردن"
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr "تنظیم انتخاب راست با آغاز بعدی"
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr "راست برای روشن کردن"
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr "ناحیهٔ صدا در اطراف مکان‌نما انتخاب شود"
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr "انتخاب صدا"
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr "ناحیهٔ سکوت در اطراف مکان‌نما انتخاب شود"
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr "انتخاب سکوت"
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr "برچسب به طور خودکار از کلمات ساخته شود"
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr "ساختن برچسب"
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr "اضافه کردن برچسب در قسمت انتخاب شده"
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr "اضافه کردن برچسب"
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr "میزان کردن voicekey"
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr "میزان کردن"
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr "تنظیم حساسیت"
@@ -6234,6 +8684,46 @@ msgstr "تغییرات جهت (حد آستانهٔ زیاد)"
 msgid "Key type"
 msgstr "نوع کلید"
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr "پخش در سرعت خاص"
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr "چپ برای روشن کردن"
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr "راست برای خاموش کردن"
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr "چپ برای خاموش کردن"
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr "راست برای روشن کردن"
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr "انتخاب صدا"
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr "انتخاب سکوت"
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr "ساختن برچسب"
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr "اضافه کردن برچسب"
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr "میزان کردن"
+
 #: widgets/AButton.cpp:298
 msgid " (disabled)"
 msgstr " (از کار افتاده)"
@@ -6270,6 +8760,30 @@ msgstr "Ú†Ù¾"
 msgid "Right"
 msgstr "راست"
 
+#: widgets/ErrorDialog.cpp:96
+msgid "Help"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:166
+msgid "<"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:167
+msgid ">"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:171
+msgid "Forwards"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:172
+msgid "Backwards"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:275
+msgid "Help on the Internet"
+msgstr ""
+
 #: widgets/Grabber.cpp:61
 msgid "Grabber"
 msgstr "گیره"
@@ -6284,15 +8798,6 @@ msgstr "%Id سطر، %Id ستون"
 msgid "Row %d"
 msgstr "سطر %Id"
 
-#: widgets/Grid.cpp:627
-#, c-format
-msgid "%d"
-msgstr "%Id"
-
-#: widgets/Grid.cpp:632
-msgid "oh-oh...buggie"
-msgstr "ای وای...خطا"
-
 #: widgets/Grid.cpp:764
 msgid "Empty"
 msgstr "خالی"
@@ -6321,22 +8826,20 @@ msgstr "استریوی افقی"
 msgid "Vertical Stereo"
 msgstr "استریوی عمودی"
 
-#: widgets/Meter.cpp:356
-msgid "Linear"
-msgstr "خطی..."
-
 #: widgets/Meter.cpp:365
 msgid "Preferences..."
 msgstr "ترجیحات..."
 
+#: widgets/Meter.cpp:871
+msgid "Mix Volume"
+msgstr ""
+
 #: widgets/Meter.cpp:1037
-msgid ""
-"This determines how often the meter is refreshed.\n"
+msgid "This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr ""
-"این مقدار تعیین می‌کند که با چه بسامدی اندازه‌گیر نوسازی شود.\n"
+msgstr "این مقدار تعیین می‌کند که با چه بسامدی اندازه‌گیر نوسازی شود.\n"
 "اگر با کامپیوتر کندی کار می‌کنید احتمالاً خوب است آهنگ نوسازی \n"
 "کمتری انتخاب کنید (۳۰ در ثانیه یا کمتر) که نمایشگر  اندازه‌گیر\n"
 "روی کیفیت صدا تأثیری نگذارد."
@@ -6345,14 +8848,30 @@ msgstr ""
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "آهنگ نوسازی اندازه‌گیر بر ثانیه [۱ تا۱۰۰]: "
 
-#: widgets/Meter.cpp:1039
-msgid "Meter Perferences"
-msgstr "ترجیحات اندازه‌گیر"
+#: widgets/Meter.cpp:1142
+msgid "Meter Preferences"
+msgstr ""
 
 #: widgets/MultiDialog.cpp:82
 msgid " Please select an action "
 msgstr " لطفاً یک کُنش انتخاب کنید "
 
+#: widgets/MultiDialog.cpp:86
+msgid "Please select an action"
+msgstr ""
+
+#: widgets/ProgressDialog.cpp:1060
+msgid "Elapsed Time:"
+msgstr ""
+
+#: widgets/ProgressDialog.cpp:1080
+msgid "Remaining Time:"
+msgstr ""
+
+#: widgets/ProgressDialog.cpp:1108
+msgid "Cancel"
+msgstr ""
+
 #: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
 msgid "Vertical Ruler"
 msgstr "خط‌کش عمودی"
@@ -6361,10 +8880,6 @@ msgstr "خط‌کش عمودی"
 msgid "01000,01000 seconds"
 msgstr "ثانیه‌های ۰۱۰۰۰،۰۱۰۰۰"
 
-#: widgets/TimeTextCtrl.cpp:199
-msgid "hh:mm:ss"
-msgstr "hh:mm:ss"
-
 #: widgets/TimeTextCtrl.cpp:200
 msgid "0100 h 060 m 060 s"
 msgstr "۰۱۰۰ ساعت ۰۶۰ دقیقه ۰۶۰ ثانیه"
@@ -6377,6 +8892,21 @@ msgstr "dd:hh:mm:ss"
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "۰۱۰۰ روز ۰۲۴ ساعت ۰۶۰ دقیقه ۰۶۰ ثانیه"
 
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:289
+msgid "hh:mm:ss + hundredths"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
+#. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * hundredths are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:295
+msgid "0100 h 060 m 060.0100 s"
+msgstr ""
+
 #: widgets/TimeTextCtrl.cpp:203
 msgid "hh:mm:ss + milliseconds"
 msgstr "hh:mm:ss + میلی‌ثانیه"
@@ -6490,11 +9020,25 @@ msgstr "این اخطار دیگر نشان داده نشود"
 msgid "Could not open file: \"%s\""
 msgstr "باز کردن پروندهٔ «%s» مممکن نیست"
 
-#: xml/XMLFileReader.cpp:64
+#: xml/XMLFileReader.cpp:63
+#, c-format
+msgid "Error: %hs at line %lu"
+msgstr ""
+
+#: xml/XMLFileReader.cpp:79
 #, c-format
-msgid "Error: %hs at line %d"
-msgstr "خطا: %hs در خط %Id"
+msgid "Could not load file: \"%s\""
+msgstr ""
+
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
 
-#: xml/XMLFileReader.cpp:80
-msgid "Unable to open project file."
-msgstr "باز کردن پروندهٔ پروژه مممکن نیست"
diff --git a/locale/fi.po b/locale/fi.po
index 4e077dc..3030a7f 100644
--- a/locale/fi.po
+++ b/locale/fi.po
@@ -1,27 +1,26 @@
 # translation of audacity.po to Finnish
 # Copyright (C) 2008 Free Software Foundation, Inc.
 # This file is distributed under the same license as the Audacity package.
+#
 # Petri Vuorio <petri dot vuorio at musita dot savonia-amk dot fi>, 2004, 2005.
 # Petri Vuorio <use the form of forename dot surname at pvjulkaisut dot fi>, 2005.
-# Elias Julkunenm, 2008.
-# 
+# Elias Julkunenm, 2008, 2009.
 msgid ""
 msgstr "Project-Id-Version: Audacity 1.3\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
 "POT-Creation-Date: 2008-11-09 20:10+0000\n"
-"PO-Revision-Date: 2008-11-15 19:39+0200\n"
-"Last-Translator: Elias Julkunen <elias.julkunen at gmail.com>\n"
-"Language-Team: Finnish <fi at li.org>\n"
+"PO-Revision-Date: 2009-05-29 01:51+0200\n"
+"Last-Translator: Tomi Toivio <tomi.olavi.toivio at gmail.com>\n"
+"Language-Team: American English <kde-i18n-doc at kde.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 0.3\n"
 
 #: AboutDialog.cpp:143
-#: AudacityApp.cpp:807
-#: Menus.cpp:955
-msgid "&About Audacity..."
-msgstr "&Tietoja Audacitystä..."
+msgid "About Audacity..."
+msgstr ""
 
 #: AboutDialog.cpp:157
 msgid "OK... Audacious!"
@@ -33,14 +32,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Audacity on vapaa ohjelma, jonka on kehittänyt eri puolilta maailmaa koostuva vapaaehtoisten kehittäjien tiimi. Koordinointi toimii SourceForge.net online-palvelun ansiosta, joka tarjoaa ilmaiset työkalut avoimen lähdekoodin ohjelmaprojekteille. Audacity on saatavana Windows 98:lle ja sitä uudemmille, Mac OS X:lle, Linuxille sekä muille Unix-tyyppisille käyttöjärjestelmille. Vanhemmat Audacityn versiot ovat saatavana Mac Os 9:lle."
 
 #: AboutDialog.cpp:179
-#, fuzzy
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Tämä on ohjelman beta-versio. Siinä saattaa olla virheitä ja keskeneräisiä toimintoja. Tarvitsemme palautettasi, joten toivomme sinun vierailevan kotisivuillamme ja antavan meille ilmoituksia virheistä ja ehdotuksia ominaisuuksista."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #: AboutDialog.cpp:182
-#, fuzzy
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Tämä on vakaa, valmis Audacityn julkaisu. Jos kuitenkin löydät virheen tai sinulla on ehdotuksia, ota meihin yhteyttä. Tarvitsemme käyttäjien palauttetta voidaksemme kehittää Audacityä. Vieraile kotisivuillamme saadaksesi lisätietoa."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
 #  in the credits in the About Audacity window.  Use this to add
@@ -89,14 +86,14 @@ msgstr "Muut osallistujat"
 
 #: AboutDialog.cpp:240
 msgid "Audacity is based on code from the following projects:"
-msgstr "Audacty perustuu seuraavien projektien koodiin:"
+msgstr "Audacity perustuu seuraavien projektien koodiin:"
 
 #: AboutDialog.cpp:245
 msgid "Special thanks:"
 msgstr "Erityiskiitokset:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:258
@@ -191,7 +188,7 @@ msgstr "Liitännäistuki"
 #: AboutDialog.cpp:454
 #: AboutDialog.cpp:457
 msgid "Sound card mixer support"
-msgstr ""
+msgstr "Äänikortin mikserituki"
 
 #: AboutDialog.cpp:462
 #: AboutDialog.cpp:465
@@ -219,7 +216,7 @@ msgstr "Julkaisuversio"
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:487
 msgid "Installation Prefix: "
-msgstr ""
+msgstr "Asennuksen etuliite:"
 
 #: AboutDialog.cpp:491
 msgid "Settings folder: "
@@ -264,10 +261,27 @@ msgstr "Sisääntulomittari"
 msgid "Output Meter"
 msgstr "Ulostulomittari"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Asetukset...\tCtrl+,"
+#: AudacityApp.cpp:803 Menus.cpp:198
+msgid "&New"
+msgstr ""
+
+#: AudacityApp.cpp:804 Menus.cpp:202
+msgid "&Open..."
+msgstr ""
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AboutDialog.cpp:143
+#: AudacityApp.cpp:807
+#: Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&Tietoja Audacitystä..."
+
+#: AudacityApp.cpp:807
+msgid "&Preferences..."
+msgstr ""
 
 #: AudacityApp.cpp:901
 #: AudacityApp.cpp:978
@@ -392,14 +406,14 @@ msgstr "Virhe: "
 msgid "Error Initializing Audio"
 msgstr "Virhe alustettaessa audiota"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
+#: AudioIO.cpp:1242
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:54
@@ -550,7 +564,7 @@ msgstr "Hyväksy %s"
 #: BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
-msgstr ""
+msgstr "Käytä ketjua"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
@@ -558,11 +572,11 @@ msgstr ""
 
 #: BatchProcessDialog.cpp:94
 msgid "&Select chain"
-msgstr ""
+msgstr "&Valitse ketju"
 
 #: BatchProcessDialog.cpp:99
 msgid "Chain"
-msgstr ""
+msgstr "Ketju"
 
 #: BatchProcessDialog.cpp:106
 msgid "Apply to Current &Project"
@@ -590,7 +604,7 @@ msgstr "&Peruuta"
 #: BatchProcessDialog.cpp:146
 #: BatchProcessDialog.cpp:191
 msgid "No chain selected"
-msgstr ""
+msgstr "Ketjua ei valittu"
 
 #: BatchProcessDialog.cpp:159
 #, c-format
@@ -603,7 +617,7 @@ msgstr ""
 
 #: BatchProcessDialog.cpp:206
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Valitse puhetiedosto(t) CleanSpeech-ketjuun..."
 
 #: BatchProcessDialog.cpp:207
 msgid "Select file(s) for batch processing..."
@@ -629,11 +643,11 @@ msgstr "Tiedosto"
 #: BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
-msgstr ""
+msgstr "Muokkaa ketjuja"
 
 #: BatchProcessDialog.cpp:416
 msgid "&Chains"
-msgstr ""
+msgstr "&Ketjut"
 
 #: BatchProcessDialog.cpp:435
 #: Tags.cpp:826
@@ -661,8 +675,16 @@ msgstr ""
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Ei"
+msgid "Num"
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:167
+msgid "Command"
+msgstr ""
+
+#: effects/Contrast.cpp:235
+msgid "Parameters"
+msgstr "Parametrit"
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -699,7 +721,7 @@ msgstr "Haluatko tallentaa muutokset?"
 
 #: BatchProcessDialog.cpp:623
 msgid "Enter name of new chain"
-msgstr ""
+msgstr "Kirjoita uuden ketjun nimi"
 
 #: BatchProcessDialog.cpp:634
 msgid "Name must not be blank"
@@ -928,12 +950,12 @@ msgstr ""
 
 #: DirManager.cpp:1371
 msgid "Replace missing data with silence [permanent upon save]"
-msgstr ""
+msgstr "Korvaa puuttuvan tiedon hiljaisuudella [pysyvä tallettaessa]"
 
 #: DirManager.cpp:1372
 #: DirManager.cpp:1460
 msgid "Temporarily replace missing data with silence [this session only]"
-msgstr ""
+msgstr "Korvaa tilapäisesti puuttuvan tiedon hiljaisuudella [vain tämä istunto]"
 
 #: DirManager.cpp:1373
 #: DirManager.cpp:1419
@@ -954,7 +976,7 @@ msgstr ""
 
 #: DirManager.cpp:1418
 msgid "Fill in silence for missing display data [this session only]"
-msgstr ""
+msgstr "Lisää hiljaisuutta puuttuvalle näyttötiedolle [tämän istunnon ajaksi]"
 
 #: DirManager.cpp:1454
 #, c-format
@@ -969,7 +991,7 @@ msgstr ""
 
 #: DirManager.cpp:1459
 msgid "Replace missing data with silence [permanent immediately]"
-msgstr ""
+msgstr "Korvaa puuttuva tieto hiljaisuudella [pysyvä välittömästi]"
 
 #: DirManager.cpp:1487
 msgid "Cleaning up unused directories in project data..."
@@ -999,11 +1021,11 @@ msgstr "Suorakulma"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1044,7 +1066,8 @@ msgstr "Selaa"
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Ladataksesi ilmainen kopion ohjelmasta FFmpeg, napsauta tästä -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:215
+#: export/ExportMP3.cpp:579
 msgid "Download"
 msgstr ""
 
@@ -1068,11 +1091,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr "Ohjelmaa FFmpeg ei löytynyt"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1174,12 +1198,25 @@ msgstr "&Vie..."
 msgid "Export"
 msgstr "Vie"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: FreqWindow.cpp:216
 #: FreqWindow.cpp:217
 #: widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "Sulje"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1301
+#: effects/Equalization.cpp:1304
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:280
 #: FreqWindow.cpp:410
 #: effects/AutoDuck.cpp:489
@@ -1210,6 +1247,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3969
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Jotta spektri voidaan esittää, kaikkilla valituilla raidoilla täytyy olla sama näytteenottotaajuus."
+
+#: Menus.cpp:3995
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Audiota on valittu liian paljon. Vain ensimmäiset %.1f sekuntia audiosta analysoidaan."
+
 #: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "Dataa ei ole valittu riittävästi."
@@ -1254,6 +1300,21 @@ msgstr "Taajuus (Hz)\tTaso (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Viive (sekuntia)\tTaajuus (Hz)\tTaso"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1331,7 +1392,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1355,7 +1416,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1422,6 +1483,14 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Raita"
@@ -1435,16 +1504,15 @@ msgstr "Merkki"
 #: LabelDialog.cpp:56
 #: TimerRecordDialog.cpp:279
 msgid "Start Time"
-msgstr ""
+msgstr "Aloitusaika."
 
 #: LabelDialog.cpp:57
 #: TimerRecordDialog.cpp:298
 msgid "End Time"
-msgstr ""
+msgstr "Lopetusaika."
 
 #: LabelDialog.cpp:100
-#: Menus.cpp:713
-msgid "&Edit Labels"
+msgid "Edit Labels"
 msgstr ""
 
 #: LabelDialog.cpp:115
@@ -1518,13 +1586,9 @@ msgstr "Uusi &merkkiraita"
 msgid "Enter track name"
 msgstr "Anna raidan nimi"
 
-#: LabelDialog.cpp:705
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:632
-#, fuzzy
-msgid "&Label Track"
-msgstr "Merkkiraita"
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:92
+msgid "Label Track"
+msgstr ""
 
 #: LangChoice.cpp:57
 msgid "Audacity First Run"
@@ -1534,6 +1598,11 @@ msgstr "Audacity ensimmäinen käynnistys"
 msgid "Choose Language for Audacity to use:"
 msgstr "Valitse Audacityn kieli:"
 
+#: LangChoice.cpp:125
+#, c-format
+msgid "The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."
+msgstr ""
+
 #: Legacy.cpp:356
 #, c-format
 msgid "Converted a 1.0 project file to the new format.\n"
@@ -1549,21 +1618,13 @@ msgstr "Avataan Audacity-projektia"
 msgid "&File"
 msgstr "&Tiedosto"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&Uusi\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "&Avaa...\tCtrl+O"
-
-#: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&Sulje\tCtrl+W"
+#: Menus.cpp:214
+msgid "&Close"
+msgstr ""
 
-#: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&Tallenna projekti\tCtrl+S"
+#: Menus.cpp:217
+msgid "&Save Project"
+msgstr ""
 
 #: Menus.cpp:210
 #: Project.cpp:2896
@@ -1587,9 +1648,9 @@ msgstr "Avaa &metatietoeditori..."
 msgid "&Import"
 msgstr "&Tuo"
 
-#: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Ääni...\tCtrl+Shift+I"
+#: Menus.cpp:240
+msgid "&Audio..."
+msgstr ""
 
 #: Menus.cpp:232
 msgid "&Labels..."
@@ -1620,14 +1681,14 @@ msgstr "Vie &moneen tiedostoon..."
 msgid "Export MIDI..."
 msgstr "MIDI-tiedosto"
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:303
+msgid "Appl&y Chain..."
+msgstr "Käyt&ä ketjua..."
 
 #: Menus.cpp:291
 #: Menus.cpp:305
 msgid "Edit C&hains..."
-msgstr ""
+msgstr "Muokkaa ketjuja"
 
 #: Menus.cpp:292
 msgid "Export CleanSpeech &Presets..."
@@ -1637,10 +1698,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:310
 msgid "&Upload File..."
 msgstr ""
@@ -1653,18 +1710,18 @@ msgstr "&Sivun asetukset..."
 msgid "&Print..."
 msgstr "&Tulosta..."
 
-#: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "&Lopeta\tCtrl+Q"
+#: Menus.cpp:312
+msgid "E&xit"
+msgstr ""
 
 #: Menus.cpp:338
 #: toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Muokkaa"
 
-#: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "&Kumoa\tCtrl+Z"
+#: Menus.cpp:327
+msgid "&Undo"
+msgstr ""
 
 #: Menus.cpp:350
 #: prefs/KeyConfigPrefs.cpp:371
@@ -1672,151 +1729,122 @@ msgstr "&Kumoa\tCtrl+Z"
 msgid "&Redo"
 msgstr "Tee &uudelleen"
 
-#: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "&Leikkaa\tCtrl+X"
+#: Menus.cpp:345
+msgid "Cu&t"
+msgstr ""
 
-#: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
+#: Menus.cpp:348
+msgid "Spl&it Cut"
 msgstr ""
 
-#: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "K&opioi\tCtrl+C"
+#: Menus.cpp:349
+msgid "&Copy"
+msgstr ""
 
-#: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "L&iitä\tCtrl+V"
+#: Menus.cpp:352
+msgid "&Paste"
+msgstr ""
 
-#: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
+#: Menus.cpp:355
+msgid "Tri&m"
 msgstr ""
 
-#: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&Poista\tCtrl+K"
+#: Menus.cpp:359 Menus.cpp:398
+msgid "&Delete"
+msgstr ""
 
-#: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
+#: Menus.cpp:360
+msgid "Split D&elete"
 msgstr ""
 
-#: Menus.cpp:380
-#, fuzzy
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "&Vaimenna\tCtrl+L"
+#: Menus.cpp:361
+msgid "Silence Audi&o"
+msgstr ""
 
-#: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
+#: Menus.cpp:365
+msgid "Sp&lit"
 msgstr ""
 
-#: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
+#: Menus.cpp:369
+msgid "Split Ne&w"
 msgstr ""
 
-#: Menus.cpp:392
-msgid "&Join\tCtrl+J"
+#: Menus.cpp:373 Menus.cpp:405
+msgid "&Join"
 msgstr ""
 
-#: Menus.cpp:393
-#, fuzzy
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "&Vaimenna\tCtrl+Alt+J"
+#: Menus.cpp:374 Menus.cpp:406
+msgid "Detac&h at Silences"
+msgstr ""
 
-#: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
+#: Menus.cpp:375
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400
 #: Menus.cpp:639
-#, fuzzy
 msgid "Stereo Trac&k to Mono"
-msgstr "Yhdistä stereoraidaksi"
+msgstr "Stereoraita monoksi"
 
 #: Menus.cpp:407
 msgid "La&beled Regions"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr ""
+msgstr "Me&rkityt alueet"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
+#: Menus.cpp:392
+msgid "&Cut"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Kopioi\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&Poista\tAlt+K"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
+#: Menus.cpp:393
+msgid "&Split Cut"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
+#: Menus.cpp:394
+msgid "Co&py"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
+#: Menus.cpp:399
+msgid "Sp&lit Delete"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
+#: Menus.cpp:400
+msgid "Sile&nce"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+#: Menus.cpp:404
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr "&Valitse"
 
-#: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "&Kaikki\tCtrl+A"
+#: Menus.cpp:415
+msgid "&All"
+msgstr ""
 
-#: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
+#: Menus.cpp:416
+msgid "&None"
 msgstr ""
 
-#: Menus.cpp:462
-#, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "Lisää merkki toistokohtaan\t["
+#: Menus.cpp:418
+msgid "&Left at Playback Position"
+msgstr ""
 
-#: Menus.cpp:463
-#, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "Lisää merkki toistokohtaan\t]"
+#: Menus.cpp:419
+msgid "&Right at Playback Position"
+msgstr ""
 
-#: Menus.cpp:467
-#, fuzzy
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Alusta kursoriin"
+#: Menus.cpp:423
+msgid "Track &Start to Cursor"
+msgstr ""
 
-#: Menus.cpp:468
-#, fuzzy
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Kursorista loppuun"
+#: Menus.cpp:424
+msgid "Cursor to Track &End"
+msgstr ""
 
-#: Menus.cpp:474
-#, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Etsi nollakohdat\tZ"
+#: Menus.cpp:430
+msgid "Find &Zero Crossings"
+msgstr ""
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1830,27 +1858,25 @@ msgstr "valinnan &alkuun"
 msgid "to Selection En&d"
 msgstr "valinnan &loppuun"
 
-#: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "raidan al&kuun\tJ"
+#: Menus.cpp:439
+msgid "to Track &Start"
+msgstr ""
 
-#: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "raidan l&oppuun\tK"
+#: Menus.cpp:440
+msgid "to Track &End"
+msgstr ""
 
 #: Menus.cpp:491
-#, fuzzy
 msgid "Re&gion Save"
-msgstr "Tallenna valinta"
+msgstr "Tallenna alue"
 
 #: Menus.cpp:492
-#, fuzzy
 msgid "Regio&n Restore"
 msgstr "Palauta valinta"
 
 #: Menus.cpp:503
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Soita alue"
 
 #: Menus.cpp:504
 msgid "&Lock"
@@ -1860,71 +1886,49 @@ msgstr "&Lukitse"
 msgid "&Unlock"
 msgstr "&Avaa lukitus"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "Ota kohdistus käyttöön"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "Poista kohdistus käytöstä"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "Ota ruudukkoon kohdistus käyttöön"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "Poista ruudukkoon kohdistus käytöstä"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "As&etukset...\tCtrl+,"
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "As&etukset...\tCtrl+P"
+#: Menus.cpp:484
+msgid "Pre&ferences..."
+msgstr ""
 
 #: Menus.cpp:533
 msgid "&View"
 msgstr "&Näytä"
 
-#: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Lähennä näkymää\tCtrl+1"
+#: Menus.cpp:497
+msgid "Zoom &In"
+msgstr ""
 
-#: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normaali zoomaus\tCtrl+2"
+#: Menus.cpp:500
+msgid "Zoom &Normal"
+msgstr ""
 
-#: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "L&oitonna näkymää\tCtrl+3"
+#: Menus.cpp:501
+msgid "Zoom &Out"
+msgstr ""
 
-#: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Sovita ikkunaan\tCtrl+F"
+#: Menus.cpp:505
+msgid "&Fit in Window"
+msgstr ""
 
-#: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Sovita &pystysuunnassa\tCtrl+Shift+F"
+#: Menus.cpp:506
+msgid "Fit &Vertically"
+msgstr ""
 
-#: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoomaa valintaan\tCtrl+E"
+#: Menus.cpp:507
+msgid "&Zoom to Selection"
+msgstr ""
 
-#: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+#: Menus.cpp:511
+msgid "&Collapse All Tracks"
 msgstr ""
 
-#: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+#: Menus.cpp:512
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
-#, fuzzy
 msgid "&Show Clipping"
-msgstr "Salli leikkautuminen"
+msgstr "Näytä leikkau&s"
 
 #: Menus.cpp:560
 msgid "&History..."
@@ -1952,7 +1956,7 @@ msgstr ""
 
 #: Menus.cpp:571
 msgid "Mi&xer Toolbar"
-msgstr ""
+msgstr "Mikserin työkalupalkki"
 
 #: Menus.cpp:572
 msgid "&Selection Toolbar"
@@ -1979,61 +1983,59 @@ msgstr "!Yksinkertaistettu näkymä"
 #. play, record, pause etc.
 #: Menus.cpp:587
 msgid "T&ransport"
-msgstr ""
+msgstr "Siirrä"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "Soita"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+#: Menus.cpp:565
+msgid "&Loop Play"
 msgstr ""
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "&Pysäytä\tP"
+#: Menus.cpp:566
+msgid "&Pause"
+msgstr ""
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
+#: Menus.cpp:602
+msgid "&Stop"
 msgstr ""
 
-#: Menus.cpp:595
-#: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "Siirry alkuun\tHome"
+#: toolbars/ControlToolBar.cpp:186
+msgid "Skip to Start"
+msgstr "Siirry alkuun"
 
-#: Menus.cpp:597
-#: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "Siirry loppuun\tEnd"
+#: toolbars/ControlToolBar.cpp:189
+msgid "Skip to End"
+msgstr "Siirry loppuun"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "&Äänitä\tR"
+#: Menus.cpp:577
+msgid "&Record"
+msgstr ""
 
-#: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+#: Menus.cpp:578
+msgid "&Timer Record..."
 msgstr ""
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
+#: Menus.cpp:579
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Päällenauhoitus (päälle/pois)"
 
 #: Menus.cpp:609
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Ohjelmiston läpisoitto (päällä/pois)"
 
 #: Menus.cpp:612
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Nauhoitus äänikäynnistyksellä (päällä/pois)"
 
 #: Menus.cpp:614
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Äänikäynnistyksen taso..."
 
 #: Menus.cpp:622
 msgid "&Tracks"
@@ -2043,14 +2045,22 @@ msgstr "&Raidat"
 msgid "Add &New"
 msgstr "Lisää &uusi"
 
-#: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
+#: Menus.cpp:603
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:631
 msgid "&Stereo Track"
 msgstr ""
 
+#: LabelDialog.cpp:705
+#: LabelDialog.h:52
+#: LabelTrack.cpp:89
+#: Menus.cpp:632
+#, fuzzy
+msgid "&Label Track"
+msgstr "Merkkiraita"
+
 #: Menus.cpp:633
 #: TimeTrack.cpp:44
 #, fuzzy
@@ -2059,27 +2069,27 @@ msgstr "Aikaraita"
 
 #: Menus.cpp:643
 msgid "Mi&x and Render"
-msgstr ""
+msgstr "Miksaa ja renderöi"
 
-#: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+#: Menus.cpp:622
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:651
 msgid "&Resample..."
-msgstr ""
+msgstr "Samplaa uudelleen"
 
 #: Menus.cpp:661
 msgid "Remo&ve Tracks"
 msgstr "P&oista raitoja"
 
-#: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Hiljennä kaikki raidat\tCtrl+U"
+#: Menus.cpp:637
+msgid "&Mute All Tracks"
+msgstr ""
 
-#: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Poista hiljennys kaikilta raidoilta\tCtrl+Shift+U"
+#: Menus.cpp:638
+msgid "&UnMute All Tracks"
+msgstr ""
 
 #: Menus.cpp:672
 msgid "Align with &Zero"
@@ -2118,32 +2128,34 @@ msgid "Align Tracks To&gether"
 msgstr "Kohdista raidat yhteen"
 
 #: Menus.cpp:681
-#, fuzzy
 msgid "&Align Tracks"
-msgstr "Kohdista raidat..."
+msgstr "Kohdista raidat"
 
 #: Menus.cpp:690
-#, fuzzy
 msgid "Ali&gn and Move Cursor"
-msgstr "Kohdista loppu kursoriin"
+msgstr "Kohdista ja siirrä kursoria"
 
 #: Menus.cpp:697
 msgid "Synchronize MIDI with Audio"
 msgstr "Synkronoi MIDI äänen kanssa"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:713
+#, fuzzy
+msgid "&Link Audio and Label Tracks"
+msgstr "Yhdistä ääniraita ja merkkiraita"
+
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
 msgstr ""
 
-#: Menus.cpp:709
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Lisää valintaan merkki\tCtrl+B"
+#: Menus.cpp:693
+msgid "Add Label At &Playback Position"
+msgstr ""
 
-#: Menus.cpp:710
-#, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Lisää merkki toistokohtaan\tCtrl+M"
+#: LabelDialog.cpp:100
+#: Menus.cpp:713
+msgid "&Edit Labels"
+msgstr "&Muokkaa otsikoita"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2171,17 +2183,17 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Efekti"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Toista viimeisin efekti\tCtrl+R"
-
 #: Menus.cpp:877
 msgid "&Analyze"
 msgstr "&Analysoi"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:879
 msgid "Plot Spectrum..."
-msgstr ""
+msgstr "Piirrä spektri..."
 
 #: Menus.cpp:947
 #: Menus.cpp:950
@@ -2197,7 +2209,7 @@ msgid "&Show Welcome Message..."
 msgstr "Näytä &Tervetuloa-viesti..."
 
 #: Menus.cpp:958
-msgid "&Index..."
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2216,248 +2228,248 @@ msgstr "&Suorita mittauskoe..."
 msgid "&Audio Device Info..."
 msgstr "&Äänilaitetiedot..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
-
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
-
-#: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "Valintatyökalu\tF1"
-
 #: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "Verhotyökalu\tF2"
+msgid "Move backward from toolbars to tracks"
+msgstr ""
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "Piirtotyökalu\tF3"
+msgid "Move forward from toolbars to tracks"
+msgstr ""
 
-#: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "Zoomaustyökalu\tF4"
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:182
+msgid "Selection Tool"
+msgstr "Valintatyökalu"
 
-#: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "Aikakorjaustyökalu\tF5"
+#: toolbars/ToolsToolBar.cpp:148
+msgid "Envelope Tool"
+msgstr "Verhotyökalu"
 
-#: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "Monitoimityökalu\tF6"
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:184
+msgid "Draw Tool"
+msgstr "Piirtotyökalu"
 
-#: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "Seuraava työkalu\tD"
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:185
+msgid "Zoom Tool"
+msgstr "Zoomaustyökalu"
 
-#: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "Edellinen työkalu\tA"
+#: toolbars/ToolsToolBar.cpp:149
+#: toolbars/ToolsToolBar.cpp:183
+msgid "Time Shift Tool"
+msgstr "Aikakorjaustyökalu"
 
-#: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Multi Tool"
 msgstr ""
 
 #: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "Pysäytä\tS"
+msgid "Next Tool"
+msgstr ""
 
 #: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "Keskeytä\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "Äänitä\tR"
+msgid "Previous Tool"
+msgstr ""
 
 #: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
+msgstr ""
+
+#: Menus.cpp:1000
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play One Second"
 msgstr ""
 
-#: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "Toista yksi sekunti\t1"
+#: Menus.cpp:1002
+msgid "Play To Selection"
+msgstr ""
+
+#: Menus.cpp:1003
+msgid "Play Cut Preview"
+msgstr ""
 
 #: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "Toista valintaan saakka\tB"
+msgid "Selection to Start"
+msgstr ""
 
 #: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "Toista silmukassa\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
+msgid "Selection to End"
 msgstr ""
 
 #: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
+msgid "DeleteKey"
+msgstr ""
+
+#: Menus.cpp:1012
+msgid "DeleteKey2"
 msgstr ""
 
-#: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "Valitse alkuun\tShift+Home"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "Valitse loppuun\tShift+End"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "Poista-näppäin\tBackspace"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "Poista-näppäin2\tDelete"
+msgid "Long Seek right during playback"
+msgstr ""
+
+#: Menus.cpp:1026
+msgid "Move Focus to Previous Track"
+msgstr ""
 
 #: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
+msgid "Move Focus to Next Track"
 msgstr ""
 
 #: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
+msgid "Move Focus to Next and Select"
+msgstr ""
+
+#: Menus.cpp:1030 Menus.cpp:1031
+msgid "Toggle Focused Track"
 msgstr ""
 
-#: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1033
+msgid "Cursor Left"
 msgstr ""
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
+msgid "Cursor Right"
 msgstr ""
 
 #: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
+msgid "Cursor Long Jump Right"
 msgstr ""
 
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
+#: Menus.cpp:1040
+msgid "Selection Extend Left"
 msgstr ""
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+#: Menus.cpp:1041
+msgid "Selection Extend Right"
 msgstr ""
 
-#: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "Kursori vasemmalle\tLeft"
-
-#: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "Kursori oikealle\tRight"
-
-#: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
+#: Menus.cpp:1052
+msgid "Set (or Extend) Left Selection"
 msgstr ""
 
-#: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
+#: Menus.cpp:1053
+msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Selection Contract Left"
 msgstr ""
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Selection Contract Right"
 msgstr ""
 
 #: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Laajenna valintaa vasemmalle\tShift+Left"
+msgid "Change pan on focused track"
+msgstr ""
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Laajenna valintaa oikealle\tShift+Right"
+msgid "Pan left on focused track"
+msgstr ""
+
+#: Menus.cpp:1051
+msgid "Pan right on focused track"
+msgstr ""
 
 #: Menus.cpp:1052
-msgid "Set (or Extend) Left Selection"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:1053
-msgid "Set (or Extend) Right Selection"
+msgid "Increase gain on focused track"
 msgstr ""
 
-#: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Supista valintaa vasemmalta\tCtrl+Shift+Right"
-
-#: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Supista valintaa oikealta\tCtrl+Shift+Left"
-
-#: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
+#: Menus.cpp:1054
+msgid "Decrease gain on focused track"
 msgstr ""
 
-#: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
+#: Menus.cpp:1055
+msgid "Open menu on focused track"
 msgstr ""
 
-#: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
+#: Menus.cpp:1056
+msgid "Mute/Unmute focused track"
 msgstr ""
 
-#: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
+#: Menus.cpp:1057
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
-#: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+#: Menus.cpp:1058
+msgid "Close focused track"
 msgstr ""
 
-#: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr ""
+#: Menus.cpp:1069
+msgid "Snap To On"
+msgstr "Napsahda kohtaan pois päältä"
 
-#: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr ""
+#: Menus.cpp:1070
+msgid "Snap To Off"
+msgstr "Napsahda kohtaan pois päältä"
 
 #: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Full screen on/off"
 msgstr ""
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Adjust output gain"
 msgstr ""
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Decrease output gain"
 msgstr ""
 
 #: Menus.cpp:1069
-msgid "Snap To On"
+msgid "Adjust input gain"
 msgstr ""
 
 #: Menus.cpp:1070
-msgid "Snap To Off"
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Decrease input gain"
 msgstr ""
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2516,10 +2528,10 @@ msgstr ""
 msgid "You must select a track first."
 msgstr "Sinun on ensin valittava raita."
 
-#: Menus.cpp:2369
+#: Menus.cpp:2441
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Toista %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr ""
 
 #: Menus.cpp:2512
 msgid "There are no label tracks to export."
@@ -2562,11 +2574,11 @@ msgstr "Leikattu leikepöydälle"
 
 #: Menus.cpp:2849
 msgid "Split Cut"
-msgstr ""
+msgstr "Jaa ja leikkaa"
 
 #: Menus.cpp:2849
 msgid "Split-cut to the clipboard"
-msgstr ""
+msgstr "Jaa ja leikkaa leikepöydälle"
 
 #: Menus.cpp:2914
 #: Menus.cpp:2986
@@ -2605,11 +2617,11 @@ msgstr "Tiedosto rajattu valintaan"
 #: Menus.cpp:3243
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
-msgstr ""
+msgstr "Jaettiin ja tuhottiin %.2f sekuntia kohdassa t=%.2f"
 
 #: Menus.cpp:3246
 msgid "Split Delete"
-msgstr ""
+msgstr "Jaa ja tuhoa"
 
 #: Menus.cpp:3267
 #, c-format
@@ -2653,19 +2665,19 @@ msgstr ""
 
 #: Menus.cpp:3368
 msgid "Cut labeled regions to the clipboard"
-msgstr ""
+msgstr "Leikkaa merkityt alueet leikepöydälle"
 
 #: Menus.cpp:3382
 msgid "SplitCut labeled regions to the clipboard"
-msgstr ""
+msgstr "Jaa ja leikkaa merkityt alueet leikepöydälle"
 
 #: Menus.cpp:3383
 msgid "Split Cut Labels"
-msgstr ""
+msgstr "Jaa ja leikkaa merkit"
 
 #: Menus.cpp:3397
 msgid "Copied labeled regions to the clipboard"
-msgstr ""
+msgstr "Kopioi merkityt alueet leikepöydälle"
 
 #: Menus.cpp:3397
 msgid "Copy Labels"
@@ -2677,31 +2689,31 @@ msgstr ""
 
 #: Menus.cpp:3409
 msgid "Deleted labeled regions"
-msgstr ""
+msgstr "Tuhotut merkityt alueet"
 
 #: Menus.cpp:3421
 msgid "Split Delete Labels"
-msgstr ""
+msgstr "Jako ja tuhoa merkit"
 
 #: Menus.cpp:3421
 msgid "Split Deleted labeled regions"
-msgstr ""
+msgstr "Jaa tuhotut merkityt alueet"
 
 #: Menus.cpp:3433
 msgid "Silence Labels"
-msgstr ""
+msgstr "Hiljennä merkit"
 
 #: Menus.cpp:3433
 msgid "Silenced labeled regions"
-msgstr ""
+msgstr "Hiljennetyt merkityt alueet"
 
 #: Menus.cpp:3445
 msgid "Split Labels"
-msgstr ""
+msgstr "Jaa merkit"
 
 #: Menus.cpp:3445
 msgid "Split labeled regions"
-msgstr ""
+msgstr "Jaa merkityt alueet"
 
 #: Menus.cpp:3457
 msgid "Join Labels"
@@ -2709,7 +2721,7 @@ msgstr ""
 
 #: Menus.cpp:3457
 msgid "Joined labeled regions"
-msgstr ""
+msgstr "Yhdistetyt merkityt alueet"
 
 #: Menus.cpp:3469
 msgid "Disjoin Labels"
@@ -2717,7 +2729,7 @@ msgstr ""
 
 #: Menus.cpp:3469
 msgid "Disjoined labeled regions"
-msgstr ""
+msgstr "Erotetut merkityt alueet"
 
 #: Menus.cpp:3491
 #: TrackPanel.cpp:6134
@@ -2726,25 +2738,16 @@ msgstr "Jaettu"
 
 #: Menus.cpp:3585
 msgid "Split New"
-msgstr ""
+msgstr "Uusi jako"
 
 #: Menus.cpp:3585
 msgid "Split to new track"
-msgstr ""
+msgstr "Jaa uuteen raitaan"
 
 #: Menus.cpp:3668
 msgid "Split at labels"
 msgstr "Jaa merkkien kohdalta"
 
-#: Menus.cpp:3969
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Jotta spektri voidaan esittää, kaikkilla valituilla raidoilla täytyy olla sama näytteenottotaajuus."
-
-#: Menus.cpp:3995
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Audiota on valittu liian paljon. Vain ensimmäiset %.1f sekuntia audiosta analysoidaan."
-
 #: Menus.cpp:4130
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2811,9 +2814,8 @@ msgstr ""
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr ""
 
-#: Menus.cpp:4273
-#: Mix.cpp:121
-msgid "&Mix and Render"
+#: Menus.cpp:4406 Mix.cpp:120
+msgid "Mix and Render"
 msgstr ""
 
 #: Menus.cpp:4403
@@ -2977,6 +2979,10 @@ msgstr "Tulostamisessa oli ongelma."
 msgid "Print"
 msgstr "Tulosta"
 
+#: Project.cpp:671
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:673
 msgid "Main Mix"
 msgstr ""
@@ -3018,9 +3024,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Tallennetaanko muutokset?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "Kaikki tiedostot|*.*|Kaikki tuetut tiedostot|"
+#: Project.cpp:1949
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1802
 msgid "Select one or more audio files..."
@@ -3051,6 +3057,17 @@ msgstr "1.0 tai aikaisempi"
 msgid "Opening old project file"
 msgstr ""
 
+#: Project.cpp:2097
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2098
+msgid "Backup file detected"
+msgstr ""
+
 #: Project.cpp:1915
 #: Project.cpp:1923
 msgid "Error opening file"
@@ -3089,7 +3106,7 @@ msgstr ""
 #: Project.cpp:2084
 #: effects/Repair.h:29
 msgid "Repair"
-msgstr ""
+msgstr "Korjaus..."
 
 #: Project.cpp:2230
 #, c-format
@@ -3109,10 +3126,12 @@ msgstr "Tämä tiedosto on tallennettu Audacityn versiolla %s.\n"
 msgid "Can't open project file"
 msgstr "Projektitiedoston avaaminen ei onnistu"
 
-#: Project.cpp:2311
+#: Project.cpp:2508
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3132,10 +3151,11 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2588
-#, fuzzy, c-format
+#: Project.cpp:2816
+#, c-format
+#, fuzzy
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr "Projektia ei voitu tallentaa. Ehkä %s ei ole kirjoitettavissa,\n"
 "tai levy on täynnä."
 
@@ -3144,6 +3164,12 @@ msgstr "Projektia ei voitu tallentaa. Ehkä %s ei ole kirjoitettavissa,\n"
 msgid "Error saving project"
 msgstr "Virhe tallennettaessa projektia"
 
+#: Project.cpp:2842 Project.cpp:3943 Tags.cpp:1198
+#: effects/Equalization.cpp:1096
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2680
 #, c-format
 msgid "Saved %s"
@@ -3197,6 +3223,10 @@ msgid "You are saving an Audacity project file (.aup).\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
 
+#: Project.cpp:3161
+msgid "Save Project As..."
+msgstr ""
+
 #: Project.cpp:2898
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Audacityn projektitiedostot (*.aup)|*.aup"
@@ -3312,6 +3342,171 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:245
+#: prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Valitse..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Työkalut"
+
+#: toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr ""
+
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:121
+#: prefs/AudioIOPrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:118
+#: prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Laite"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:457
+#: TrackPanel.cpp:458
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:288
+#: export/ExportMultiple.cpp:290
+msgid "Tracks"
+msgstr "Raidat"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Tallennettu"
@@ -3320,6 +3515,10 @@ msgstr "Tallennettu"
 msgid "Error trying to save file: "
 msgstr "Virhe yritettäessä tallentaa tiedostoa:"
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:804
 #: Sequence.cpp:814
 #: Sequence.cpp:821
@@ -3338,7 +3537,7 @@ msgstr "&Virheidenjäljitys"
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Äänikäynnistysnauhoitus"
 
 #: SoundActivatedRecord.cpp:58
 #, fuzzy
@@ -3346,7 +3545,8 @@ msgid "Activation level (dB):"
 msgstr "Vahvistus (dB):"
 
 #: SplashDialog.cpp:60
-msgid "&Welcome to Audacity!"
+#, fuzzy
+msgid "Welcome to Audacity!"
 msgstr "&Tervetuloa käyttämään Audacitya!"
 
 #: SplashDialog.cpp:112
@@ -3396,11 +3596,9 @@ msgstr "Tunnisteen nimi"
 msgid "Tag Value"
 msgstr "Tunnisteen arvo"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
-msgid "&Clear"
-msgstr "&Tyhjennä"
+#: Tags.cpp:828
+msgid "Cl&ear"
+msgstr ""
 
 #: Tags.cpp:835
 msgid "Genres"
@@ -3434,11 +3632,9 @@ msgstr "&Lataa..."
 msgid "&Save..."
 msgstr "&Tallenna..."
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
-msgid "S&et Default"
-msgstr "&Aseta oletukseksi"
+#: Tags.cpp:851
+msgid "Set De&fault"
+msgstr ""
 
 #: Tags.cpp:1002
 #: Tags.cpp:1640
@@ -3501,6 +3697,10 @@ msgstr "Virhe ladattaessa metatietoja"
 msgid "Save Metadata As:"
 msgstr "Tallenna metatiedot nimellä:"
 
+#: Tags.cpp:1200
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3588,10 +3788,22 @@ msgstr ""
 msgid "Duration"
 msgstr "Kesto"
 
+#: TimeTrack.cpp:44
+msgid "Time Track"
+msgstr ""
+
 #: TimerRecordDialog.cpp:68
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr "Äänityksen alku"
@@ -3633,11 +3845,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr ""
-
 #: TrackPanel.cpp:541
 #: prefs/QualityPrefs.cpp:97
 msgid "Other..."
@@ -3680,9 +3887,8 @@ msgstr "Ääniaalto (dB)"
 
 #: TrackPanel.cpp:557
 #: prefs/GUIPrefs.cpp:157
-#, fuzzy
 msgid "Spectrum log(f)"
-msgstr "Spektri"
+msgstr "Spektrilogi"
 
 #. i18n-hint: short form of 'logarithm'
 #: TrackPanel.cpp:558
@@ -3713,6 +3919,10 @@ msgstr "Yhdistä stereoraidaksi"
 msgid "Split Stereo Track"
 msgstr "Jaa stereoraita"
 
+#: TrackPanel.cpp:629
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:566
 msgid "Set Sample Format"
 msgstr "Aseta näytteen muoto"
@@ -3925,6 +4135,10 @@ msgstr ""
 msgid "Merged Clips"
 msgstr ""
 
+#: TrackPanel.cpp:4271
+msgid "Remove"
+msgstr ""
+
 #: TrackPanel.cpp:4176
 msgid "Removed Cut Line"
 msgstr ""
@@ -3937,14 +4151,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5923
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3980,6 +4186,11 @@ msgstr "Kanava"
 msgid "Split stereo track '%s'"
 msgstr "Jaettu stereoraita \"%s\""
 
+#: TrackPanel.cpp:6243
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6169
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -4060,6 +4271,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7171
 msgid "Mute"
 msgstr "Mykkä"
@@ -4144,8 +4359,9 @@ msgstr "Laajennukset 1-%i"
 msgid "Plugins %i to %i"
 msgstr "Laajennukset %i-%i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:881
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:892
@@ -4235,7 +4451,7 @@ msgstr ""
 #: effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
-msgstr ""
+msgstr "Automaattinen välttely"
 
 #: effects/AutoDuck.cpp:137
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
@@ -4307,7 +4523,7 @@ msgstr "Esikatselu ei ole käytössä"
 
 #: effects/AutoDuck.h:98
 msgid "Auto Duck..."
-msgstr ""
+msgstr "Automaattinen välttely"
 
 #: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
@@ -4543,11 +4759,11 @@ msgstr "Iskua minuutissa (BPM) muutos:"
 
 #: effects/ChangeTempo.cpp:207
 msgid "From beats per minute"
-msgstr ""
+msgstr "Iskuista minuutissa"
 
 #: effects/ChangeTempo.cpp:212
 msgid "To beats per minute"
-msgstr ""
+msgstr "Iskuiksi minuutissa"
 
 #: effects/ChangeTempo.cpp:216
 #, fuzzy
@@ -4573,9 +4789,8 @@ msgid "Changing Tempo"
 msgstr "Muutetaan tempoa"
 
 #: effects/ClickRemoval.cpp:314
-#, fuzzy
 msgid "Click Removal"
-msgstr "Naksahdusten poisto..."
+msgstr "Naksahdusten poisto"
 
 #: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
@@ -4641,8 +4856,8 @@ msgid "Decay Time"
 msgstr ""
 
 #: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalisoi 0dB:iin kompression jälkeen"
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
 #, fuzzy, c-format
@@ -4698,9 +4913,13 @@ msgstr "Kompressori..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Kompressoidaan..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Kontrastityökalun etuala"
 
 #: effects/Contrast.cpp:79
 msgid "Foreground times selected.\n"
@@ -4717,28 +4936,9 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr "Terve.\n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193
-#: effects/Contrast.cpp:204
-#: effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:235
-msgid "Parameters"
-msgstr "Parametrit"
+msgstr "Kontrastianalyysi"
 
 #: effects/Contrast.cpp:242
 #: effects/ToneGen.cpp:355
@@ -4771,7 +4971,15 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:193
+#: effects/Contrast.cpp:204
+#: effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
 
@@ -4793,7 +5001,7 @@ msgstr "Tlos"
 
 #: effects/Contrast.cpp:302
 msgid "Contrast Result:"
-msgstr ""
+msgstr "Kontrastin tulos:"
 
 #: Tags.cpp:840
 #: Tags.cpp:1990
@@ -4816,16 +5024,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:401
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328
@@ -4880,7 +5080,7 @@ msgstr ""
 
 #: effects/Contrast.cpp:551
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Vie kontrastin tulos:"
 
 #: effects/Contrast.cpp:572
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
@@ -4895,22 +5095,26 @@ msgstr ""
 msgid "Foreground"
 msgstr ""
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:581
+#: effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr ""
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:586
+#: effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr ""
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:588
+#: effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
 msgstr ""
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:590
+#: effects/Contrast.cpp:607
 msgid "Average rms =  dB."
 msgstr ""
 
@@ -4939,18 +5143,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4977,7 +5169,7 @@ msgstr "Sijainti:"
 
 #: effects/DtmfGen.cpp:486
 msgid "Tone/silence ratio:"
-msgstr ""
+msgstr "Äänen/hiljaisuuden suhde:"
 
 #: effects/DtmfGen.cpp:496
 msgid "Duty cycle:"
@@ -4996,11 +5188,11 @@ msgstr "ms"
 
 #: effects/DtmfGen.cpp:500
 msgid "Silence duration:"
-msgstr ""
+msgstr "Hiljaisuuden pituus:"
 
 #: effects/DtmfGen.h:39
 msgid "DTMF Tones..."
-msgstr ""
+msgstr "DTMF sävelet..."
 
 #: effects/DtmfGen.h:53
 #, c-format
@@ -5085,6 +5277,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1098
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1101
@@ -5168,15 +5364,15 @@ msgstr "Tehdään uloshäivytystä"
 
 #: effects/FindClipping.cpp:49
 msgid "Detect clipping"
-msgstr ""
+msgstr "Etsii leikkausta"
 
 #: effects/FindClipping.cpp:91
 msgid "Clipping"
-msgstr ""
+msgstr "Leikkaus"
 
 #: effects/FindClipping.cpp:211
 msgid "Find Clipping"
-msgstr ""
+msgstr "Etsi leikkaus"
 
 #: effects/FindClipping.cpp:222
 msgid "by Leland Lucius"
@@ -5196,11 +5392,11 @@ msgstr ""
 
 #: effects/FindClipping.h:37
 msgid "Find Clipping..."
-msgstr ""
+msgstr "Etsi leikkaus..."
 
 #: effects/FindClipping.h:54
 msgid "Detecting clipping"
-msgstr ""
+msgstr "Etsii leikkausta"
 
 #: effects/Invert.h:27
 msgid "Invert"
@@ -5212,7 +5408,7 @@ msgstr "Muunnetaan vastaääneksi"
 
 #: effects/Leveller.cpp:192
 msgid "Leveller"
-msgstr ""
+msgstr "Tasoitus"
 
 #: effects/Leveller.cpp:203
 msgid "None-Skip"
@@ -5253,20 +5449,19 @@ msgstr ""
 
 #: effects/Leveller.cpp:234
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
-msgstr ""
+msgstr "Hälyn kynnys (sihinä/humina/taustahäly)"
 
 #: effects/Leveller.cpp:238
-#, fuzzy
 msgid "Threshold for Noise:"
-msgstr "Kynnys: "
+msgstr "Hälyn kynnys: "
 
 #: effects/Leveller.h:28
 msgid "Leveller..."
-msgstr ""
+msgstr "Tasoitus..."
 
 #: effects/Leveller.h:42
 msgid "Applying Leveller..."
-msgstr ""
+msgstr "Tasoittaa..."
 
 #: effects/LoadEffects.cpp:102
 #, fuzzy
@@ -5295,11 +5490,6 @@ msgstr "Vastaääni"
 msgid "Analyser"
 msgstr "&Analysoi"
 
-#: effects/LoadEffects.cpp:114
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5452,15 +5642,15 @@ msgstr "Ruskea"
 
 #: effects/Noise.cpp:41
 msgid "Noise Generator"
-msgstr ""
+msgstr "Hälygeneraattori"
 
 #: effects/Noise.cpp:241
 msgid "Noise type"
-msgstr ""
+msgstr "Hälyn tyyppi"
 
 #: effects/Noise.h:41
 msgid "Noise..."
-msgstr ""
+msgstr "Häly..."
 
 #: effects/Noise.h:55
 #, c-format
@@ -5469,7 +5659,7 @@ msgstr ""
 
 #: effects/Noise.h:59
 msgid "Generating Noise"
-msgstr ""
+msgstr "Luo hälyä"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
@@ -5509,11 +5699,11 @@ msgstr "Hae kohinaprofiili"
 
 #: effects/NoiseRemoval.cpp:841
 msgid "Noise reduction (dB):"
-msgstr ""
+msgstr "Hälyn poisto (dB):"
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "Hälyn poisto"
 
 #: effects/NoiseRemoval.cpp:849
 msgid "Frequency smoothing (Hz):"
@@ -5550,11 +5740,6 @@ msgstr "Poistetaan kohinaa"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr ""
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74
@@ -5737,11 +5922,11 @@ msgstr "Käännetään takaperin"
 
 #: effects/Silence.cpp:32
 msgid "Silence Generator"
-msgstr ""
+msgstr "Hiljaisuusgeneraatori"
 
 #: effects/Silence.h:34
 msgid "Silence..."
-msgstr ""
+msgstr "Hiljaisuus..."
 
 #: effects/Silence.h:48
 msgid "Generating Silence"
@@ -5771,7 +5956,7 @@ msgstr ""
 
 #: effects/SpikeCleaner.cpp:178
 msgid "Theshold for silence: "
-msgstr ""
+msgstr "Hiljaisuuden kynnysarvo:"
 
 #: effects/SpikeCleaner.h:27
 msgid "Spike Cleaner..."
@@ -5783,7 +5968,7 @@ msgstr ""
 
 #: effects/StereoToMono.h:23
 #, fuzzy
-msgid "&Stereo to Mono"
+msgid "Stereo to Mono"
 msgstr "Stereo, "
 
 #: effects/StereoToMono.h:38
@@ -5796,7 +5981,7 @@ msgstr ""
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Liukuva aikaskaala / sävelkorkeuden siirtymä"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
@@ -5828,7 +6013,7 @@ msgstr ""
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Liukuva aikaskaala / sävelkorkeuden siirtymä..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
@@ -5850,7 +6035,7 @@ msgstr ""
 
 #: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
-msgstr ""
+msgstr "Viserrysgeneraattori"
 
 #: effects/ToneGen.cpp:71
 msgid "Tone Generator"
@@ -5904,15 +6089,15 @@ msgstr "Nopea Sinc-interpolointi"
 
 #: effects/ToneGen.h:40
 msgid "Chirp..."
-msgstr ""
+msgstr "Viserrys..."
 
 #: effects/ToneGen.h:40
 msgid "Tone..."
-msgstr ""
+msgstr "Sävel..."
 
 #: effects/ToneGen.h:54
 msgid "Generating Chirp"
-msgstr ""
+msgstr "Luo viserrystä"
 
 #: effects/ToneGen.h:54
 msgid "Generating Tone"
@@ -5925,10 +6110,14 @@ msgstr ""
 #: effects/TruncSilence.cpp:113
 #: effects/TruncSilence.cpp:321
 msgid "Truncate Silence"
+msgstr "Lyhennä hiljaisuutta"
+
+#: effects/TruncSilence.cpp:438
+msgid "by Lynn Allan && Philip Van Baren"
 msgstr ""
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:452
+msgid "Min silence duration:"
 msgstr ""
 
 #: effects/TruncSilence.cpp:348
@@ -5939,33 +6128,87 @@ msgstr ""
 msgid "milliseconds"
 msgstr "millisekuntia"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "Hiljaisuuden maksimipituus:"
+
+#: effects/TruncSilence.cpp:460
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:463
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
-msgstr ""
+msgstr "Hiljaisuuden kynnysarvo:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:491
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
-msgstr ""
+msgstr "Typistä hiljaisuutta..."
 
 #: effects/TruncSilence.h:42
 msgid "Truncating Silence..."
+msgstr "Typistää hiljaisuutta..."
+
+#: effects/ladspa/LadspaEffect.cpp:615
+#: effects/lv2/LV2Effect.cpp:823
+msgid "Effect Settings"
+msgstr "Efektiasetukset"
+
+#: effects/ladspa/LadspaEffect.cpp:580
+#: effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Ei mitään"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
 msgstr ""
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Valitan, VST-efektejä ei voi käyttää stereoraidoille, joissa raitojen yksittäiset kanavat eivät täsmää."
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "Korvausta ei voitu suorittaa"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST-laajennuksen parametrit:"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -6018,24 +6261,12 @@ msgstr "Suoritetaan efektiä: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: effects/ladspa/LadspaEffect.cpp:580
-#: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Ei mitään"
-
 #: effects/ladspa/LadspaEffect.cpp:582
 #: effects/lv2/LV2Effect.cpp:798
 #: effects/vamp/VampEffect.cpp:395
 msgid "Author: "
 msgstr "Tekijä: "
 
-#: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "Efektiasetukset"
-
 #: effects/ladspa/LadspaEffect.cpp:710
 #: effects/ladspa/LadspaEffect.cpp:713
 #: effects/lv2/LV2Effect.cpp:834
@@ -6240,9 +6471,21 @@ msgstr "Koko projektia viedään komentorivienkooderia käyttäen"
 msgid "Command Output"
 msgstr "Komennon tuloste"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6318,6 +6561,11 @@ msgstr "Tee AAC-asetukset"
 msgid "AAC Export Setup"
 msgstr "AAC-vientiasetukset"
 
+#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Laatu:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr "Tee AMR-NB-asetukset"
@@ -6452,13 +6700,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Laatu:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:929
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6478,10 +6721,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6674,12 +6917,12 @@ msgstr "M4A (AAC) -tiedostot (FFmpeg)"
 msgid "AC3 Files (FFmpeg)"
 msgstr "AC3-tiedostot (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6790,6 +7033,17 @@ msgstr "Bittisyvyys:"
 msgid "FLAC Files"
 msgstr "FLAC-tiedostot"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:312
 msgid "Exporting the selected audio as FLAC"
 msgstr "Viedään valittua äänt FLAC-muodossa"
@@ -7048,11 +7302,6 @@ msgstr "Asetukset..."
 msgid "Export location:"
 msgstr "Viennin kohde:"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Valitse..."
-
 #: export/ExportMultiple.cpp:246
 msgid "Create"
 msgstr "Luo"
@@ -7079,11 +7328,6 @@ msgstr "Ensimmäisen tiedoston nimi:"
 msgid "First file name"
 msgstr "Ensimmäisen tiedoston nimi:"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Raidat"
-
 #: export/ExportMultiple.cpp:297
 msgid "Name files:"
 msgstr "Nimeä tiedostot:"
@@ -7120,6 +7364,35 @@ msgstr "\"%s\" luotiin onnistuneesti."
 msgid "Choose a location to save the exported files"
 msgstr "Valitse hakemisto vietäville tiedostoille"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:539
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -7134,18 +7407,6 @@ msgstr "Tiedostoa \"%s\" ei ole.\n"
 msgid "Edit metadata"
 msgstr "Muokkaa metatietoja"
 
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d tiedosto(a) vietiinonnistuneesti."
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr ""
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7397,6 +7658,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC-tiedostot"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Lista tiedostoista tekstitiedostomuodossa"
@@ -7574,45 +7839,47 @@ msgstr "Ääniaalto"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Audio I/O"
+#: prefs/BatchPrefs.cpp:55
+#: prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (mono)"
+#: prefs/BatchPrefs.cpp:77
+#: prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (stereo)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Toisto"
+#: prefs/BatchPrefs.cpp:83
+#: prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Laite"
+#: prefs/AudioIOPrefs.cpp:58
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34
+#: prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Käyttöliittymä"
+
+#: prefs/AudioIOPrefs.cpp:117
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:124
 #: prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Käytetään:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:117
+#: prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "Toisto"
 
 #: prefs/AudioIOPrefs.cpp:135
 #: prefs/MidiIOPrefs.cpp:132
@@ -7624,102 +7891,23 @@ msgstr "Äänitys"
 msgid "Channels"
 msgstr "Kanavat"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-#, fuzzy
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "Toista muut raidat uutta raitaa äänitettäessä"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-#, fuzzy
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "Toista muut raidat uutta raitaa äänitettäessä"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
+#: prefs/DevicePrefs.cpp:166
+msgid "No audio interfaces"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
+#: prefs/DevicePrefs.cpp:202 prefs/DevicePrefs.cpp:207
+msgid "No devices found"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:102
+#: prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:103
+#: prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (stereo)"
 
 #: prefs/DirectoriesPrefs.cpp:55
 #: prefs/DirectoriesPrefs.cpp:56
@@ -7739,34 +7927,31 @@ msgstr "Sijainti:"
 msgid "Free Space:"
 msgstr "Vapaata tilaa:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Automaattitallennus"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Tallenna automaattisesti kopio projektista erilliseen kansioon"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Automaattitallennuksen väli:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minuuttia"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Äänivälimuisti"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Valitse hakemisto väliaikaisille tiedostoille"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7785,234 +7970,148 @@ msgstr "Hakemisto %s ei ole kirjoitettava"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Väliaikaishakemiston muutos tulee voimaan vasta, kun Audacity käynnistetään uudelleen"
 
-#: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
-#, fuzzy
-msgid "Import / Export"
-msgstr "Tuo raakadataa"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "MP3-vientikirjasto"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "MP3-kirjaston versio:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "MP3-kirjasto:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3 -kirjasto:"
-
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&Lataa"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "FFmpeg tuonti- ja vientikirjasto"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "FFmpeg-kirjaston versio:"
-
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "FFmpeg-kirjasto:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "Tuoatessa äänitiedostoja"
-
-#: prefs/FileFormatPrefs.cpp:140
-#, fuzzy
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "Tee tiedostosta kopio ennen muokkausta (turvallisempi)"
-
-#: prefs/FileFormatPrefs.cpp:141
-#, fuzzy
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "Lue suoraan alkuperäistä tiedostoa (nopeampi)"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "Selaimessa"
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Internetistä"
 
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:227
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:228
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&Älä kopioi mitään ääntä"
-
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "&Kysy"
-
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:229
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:230
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:231
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:232
+msgid "145"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Käyttöliittymä"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "Selaimessa"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (ylimalkainen alue korkea-amplitudiselle muokkaukselle)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Internetistä"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (8-bittisen PCM:n näytealue)"
 
-#: prefs/GUIPrefs.cpp:50
+#: prefs/GUIPrefs.cpp:143
 #, fuzzy
-msgid "Simple"
-msgstr "Hiljaisuutta"
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-96 dB (16-bittisen PCM:n näytealue)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Päivitä näyttö soitettaessa"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (16-bittisen PCM:n näytealue)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "Viimeisimmän ikkunan &sulkeminen lopettaa Audacityn"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (suunnilleen ihmiskuulon raja)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (24-bittisen PCM:n näytealue)"
+
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Näyttö"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:274
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:282
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr ""
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
+msgstr "Ohje:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr ""
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
+msgstr "Viimeisimmän ikkunan &sulkeminen lopettaa Audacityn"
 
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Näytä/piilota"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "Näytä &tallennusvalintaikkunan, vaikka projekti olisi tyhjä"
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "Näytä &Tervetuloa-viesti sovelluksen käynnistyksessä"
-
 #: prefs/GUIPrefs.cpp:126
 #, fuzzy
 msgid "Modes"
 msgstr "Hiiri"
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (ylimalkainen alue korkea-amplitudiselle muokkaukselle)"
+#: prefs/FileFormatPrefs.cpp:53
+#: prefs/FileFormatPrefs.cpp:54
+#, fuzzy
+msgid "Import / Export"
+msgstr "Tuo raakadataa"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (8-bittisen PCM:n näytealue)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "Tuoatessa äänitiedostoja"
 
-#: prefs/GUIPrefs.cpp:143
+#: prefs/FileFormatPrefs.cpp:140
 #, fuzzy
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-96 dB (16-bittisen PCM:n näytealue)"
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "Tee tiedostosta kopio ennen muokkausta (turvallisempi)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (16-bittisen PCM:n näytealue)"
+#: prefs/FileFormatPrefs.cpp:141
+#, fuzzy
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "Lue suoraan alkuperäistä tiedostoa (nopeampi)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (suunnilleen ihmiskuulon raja)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (24-bittisen PCM:n näytealue)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr ""
 
-#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#  know the correct technical word.
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Oletusnäkymä"
+#: prefs/FileFormatPrefs.cpp:160
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr "Ohje:"
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-#, fuzzy
-msgid "Solo Button:"
-msgstr "Painikkeet"
+#: prefs/FileFormatPrefs.cpp:287
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:64
 #: prefs/KeyConfigPrefs.cpp:65
@@ -8035,6 +8134,12 @@ msgstr "Näppäinoikotiet"
 msgid "S&et"
 msgstr "&Aseta"
 
+#: Tags.cpp:829
+#: Tags.cpp:1486
+#: prefs/KeyConfigPrefs.cpp:116
+msgid "&Clear"
+msgstr "&Tyhjennä"
+
 #: prefs/KeyConfigPrefs.cpp:120
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Huom: Cmd+Q lopettaa. Muut näppäimet ovat kelvollisia."
@@ -8048,13 +8153,14 @@ msgstr "&Oletukset"
 msgid "Key Combination"
 msgstr "Näppäinyhdistelmä"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Vie näppäinoikotiet tiedostoon:"
+#: prefs/KeyConfigPrefs.cpp:369
+#: toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Kumoa"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Virhe tallennettaessa näppäinoikoteitä"
+#: prefs/KeyConfigPrefs.cpp:195
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:198
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -8064,6 +8170,14 @@ msgstr "Valitse Audacityn näppäinoikotiet sisältävä XML-tiedosto..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Virhe ladattaessa näppäinoikoteitä"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Vie näppäinoikotiet tiedostoon:"
+
+#: prefs/KeyConfigPrefs.cpp:183
+msgid "Error saving keyboard shortcuts"
+msgstr "Virhe tallennettaessa näppäinoikoteitä"
+
 #: prefs/KeyConfigPrefs.cpp:243
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -8071,10 +8185,69 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Kumoa"
+#: prefs/FileFormatPrefs.cpp:53
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "MP3-vientikirjasto"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "MP3-kirjaston versio:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "MP3-kirjasto:"
+
+#: prefs/FileFormatPrefs.cpp:96
+#: prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3 -kirjasto:"
+
+#: prefs/FileFormatPrefs.cpp:101
+#: prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "&Lataa"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg tuonti- ja vientikirjasto"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg-kirjaston versio:"
+
+#: prefs/FileFormatPrefs.cpp:119
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118
+#: prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "FFmpeg-kirjasto:"
+
+#: prefs/AudioIOPrefs.cpp:41
+#: prefs/AudioIOPrefs.cpp:42
+#: prefs/MidiIOPrefs.cpp:44
+#: prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "Audio I/O"
+
+#: prefs/AudioIOPrefs.cpp:125
+#: prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:147
+#: prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr "Läpisoitto"
 
 #: prefs/MidiIOPrefs.cpp:146
 #, fuzzy
@@ -8082,21 +8255,29 @@ msgid "&Play other tracks while recording new one"
 msgstr "Toista muut raidat uutta raitaa äänitettäessä"
 
 #: prefs/MidiIOPrefs.cpp:149
-#, fuzzy
 msgid "&Hardware Playthrough (Play new track while recording it)"
 msgstr "Toista muut raidat uutta raitaa äänitettäessä"
 
 #: prefs/MidiIOPrefs.cpp:152
-#, fuzzy
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "Toista muut raidat uutta raitaa äänitettäessä"
 
+#: prefs/AudioIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
 
 #: prefs/MidiIOPrefs.cpp:162
 msgid "Play after cut region:"
+msgstr "Soita leikatun alueen jälkeen:"
+
+#: prefs/AudioIOPrefs.cpp:189
+#: prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
 msgstr ""
 
 #: prefs/MidiIOPrefs.cpp:173
@@ -8111,6 +8292,21 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:208
+#: prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:168
+#: prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -8351,10 +8547,62 @@ msgstr "Ctrl-rulla-vieritys"
 msgid "Zoom in or out"
 msgstr "Lähennä tai loitonna"
 
+#: prefs/AudioIOPrefs.cpp:171
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:179
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:203
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Audacity asetukset"
 
+#: prefs/FileFormatPrefs.cpp:303
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "&Älä kopioi mitään ääntä"
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr "&Kysy"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Automaattitallennus"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Tallenna automaattisesti kopio projektista erilliseen kansioon"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Automaattitallennuksen väli:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minuuttia"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Neliö"
@@ -8379,73 +8627,108 @@ msgstr "Oletusnäytteenottotaajuus:"
 msgid "Default Sample Format:"
 msgstr "Näytteen oletusmuoto:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Reaaliaikainen näytteenottotaajuuden muunnos:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Korkealaatuinen näytteenottotaajuuden muunnos:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Reaaliaikainen tasoitus:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Korkealaatuinen tasoitus:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/QualityPrefs.cpp:167
+msgid "Real-time Conversion"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:173 prefs/QualityPrefs.cpp:195
+msgid "Sample Rate Converter:"
 msgstr ""
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/QualityPrefs.cpp:191
+msgid "High-quality Conversion"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Toista muut raidat uutta raitaa äänitettäessä"
+
+#: prefs/AudioIOPrefs.cpp:152
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Koneen läpisoitto: toista uutta nauhaa äänittäessäsi sitä"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "Toista muut raidat uutta raitaa äänitettäessä"
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:432
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
+#: prefs/AudioIOPrefs.cpp:438
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64
 #: prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Äänikäynnistysnauhoitus"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Äänen käynnistystaso (dB):"
 
 #: prefs/SpectrumPrefs.cpp:41
 #: prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Spektrogrammit"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT:n koko"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - oletus"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 #, fuzzy
 msgid "32768 - most narrowband"
@@ -8455,21 +8738,26 @@ msgstr "4096 - kapea-alaisin"
 msgid "4096 - most narrowband"
 msgstr "4096 - kapea-alaisin"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Ikkunatyyppi:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Näyttö"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Harmaasävyt"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8479,16 +8767,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Suurin taajuus (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8500,6 +8788,14 @@ msgstr "Uusi huippukohdan voimakkuus (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "Maksimitaajuuden täytyy olla kokonaisluku"
@@ -8516,22 +8812,59 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 #, fuzzy
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Maksimitaajuuden täytyy olla kokonaisluku"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-#, fuzzy
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Maksimitaajuuden täytyy olla kokonaisluku"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
 #: prefs/ThemePrefs.cpp:62
 #: prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Teema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Tietoja"
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8562,83 +8895,101 @@ msgstr "Tallenna tiedostot"
 msgid "Load Files"
 msgstr "Lataa tiedostot"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Tietoja"
+#: prefs/GUIPrefs.cpp:50
+#, fuzzy
+msgid "Simple"
+msgstr "Hiljaisuutta"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Päivitä näyttö soitettaessa"
+
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:149
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Oletusnäkymä"
+
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Keskeytä"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Soita"
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
+#: prefs/GUIPrefs.cpp:168
 #, fuzzy
-msgid "Play (Shift for Loop Play)"
-msgstr "Toista (Vaihto+klikkaus: soittosilmukka)"
+msgid "Solo Button:"
+msgstr "Painikkeet"
+
+#: prefs/GUIPrefs.cpp:36
+msgid "Warnings"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:60
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:62
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:65
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:68
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:71
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:74
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:175
+msgid "Pause"
+msgstr "Keskeytä"
 
 #: toolbars/ControlToolBar.cpp:183
 msgid "Stop"
 msgstr "Pysäytä"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Siirry alkuun"
+#: toolbars/ControlToolBar.cpp:195
+msgid "Clean Speech"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Siirry loppuun"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "Toista (Vaihto+klikkaus: soittosilmukka)"
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr ""
-
 #: toolbars/ControlToolBar.cpp:540
 #: toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
-msgstr ""
+msgstr "Virhe äänilaitetta käynnistettäessä."
 
 #: toolbars/ControlToolBar.cpp:706
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
@@ -8679,37 +9030,29 @@ msgstr "Lähennä näkymää"
 msgid "Zoom Out"
 msgstr "Loitonna näkymää"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Vaihda zoomausta"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr ""
-
 #: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "Sovita valinta ikkunaan"
 
 #: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr ""
-
-#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "Sovita projekti ikkunaan"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
-msgstr ""
+msgstr "Soittomittari"
 
 #: toolbars/MeterToolBar.cpp:81
 msgid "Meter-Play"
-msgstr ""
+msgstr "Soittomittari"
 
 #: toolbars/MeterToolBar.cpp:89
 msgid "Record Meter"
@@ -8748,6 +9091,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:298
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:305
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr ""
@@ -8755,7 +9106,7 @@ msgstr ""
 #: toolbars/SelectionBar.cpp:135
 #: toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
-msgstr ""
+msgstr "Projektin tahti (Hz):"
 
 #: toolbars/SelectionBar.cpp:149
 #: toolbars/SelectionBar.cpp:255
@@ -8766,7 +9117,7 @@ msgstr "Valinnan alku:"
 #: toolbars/SelectionBar.cpp:164
 #: toolbars/SelectionBar.cpp:261
 msgid "Length"
-msgstr ""
+msgstr "Pituus"
 
 #: toolbars/SelectionBar.cpp:174
 msgid "hidden"
@@ -8775,12 +9126,12 @@ msgstr "piilotettu"
 #: toolbars/SelectionBar.cpp:184
 #: toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
-msgstr ""
+msgstr "Paikka äänessä:"
 
 #: toolbars/SelectionBar.cpp:236
 #: toolbars/SelectionBar.cpp:241
 msgid "Snap To"
-msgstr ""
+msgstr "Napsahda kohtaan"
 
 #: toolbars/SelectionBar.cpp:260
 msgid "Selection "
@@ -8832,34 +9183,6 @@ msgstr "Vasen=lähennä, oikea=loitonna, keskipainike=normaali"
 msgid "Click and drag to move a track in time"
 msgstr "Klikkaa ja raahaa siirtääksesi raitaa aikajanalla"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Työkalut"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Valintatyökalu"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Verhotyökalu"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Aikakorjaustyökalu"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Zoomaustyökalu"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Piirtotyökalu"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Monitoimitila"
@@ -8868,99 +9191,51 @@ msgstr "Monitoimitila"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:178
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
-msgstr ""
+msgstr "Toiston nopeus"
 
 #: toolbars/TranscriptionToolBar.cpp:196
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr ""
+msgstr "Valitse äänialue kursorin ympäriltä"
 
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr ""
+msgstr "Valitse hiljainen alue kursorin ympäriltä"
 
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr ""
+msgstr "Lisää merkki valintaan"
 
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8993,6 +9268,46 @@ msgstr ""
 msgid "Key type"
 msgstr "Näppäintyyppi"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Valitse ääni"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Valitse hiljaisuus"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Lisää merkki"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr ""
+
 #: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr " (ei käytössä)"
@@ -9389,3 +9704,15 @@ msgstr "Virhe: %hs rivillä %lu"
 msgid "Could not load file: \"%s\""
 msgstr "Ei voitu ladata tiedostoa: \"%s\""
 
+#: xml/XMLWriter.cpp:281
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:286
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:296
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/fr.po b/locale/fr.po
index 9e29903..6450a42 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -1,49 +1,53 @@
 msgid ""
-msgstr "Project-Id-Version: Audacity 1.4.x\n"
+msgstr ""
+"Project-Id-Version: Audacity 1.4.x\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-04-28 22:24+0100\n"
-"PO-Revision-Date: 2008-12-22 17:28-0000\n"
-"Last-Translator: g <g at g>\n"
+"POT-Creation-Date: 2009-05-31 20:42-0500\n"
+"PO-Revision-Date: 2009-06-04 23:10+0100\n"
+"Last-Translator: Christian Brochec <christian at audacityteam.org>\n"
 "Language-Team: Christian Brochec <christian at audacityteam.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: French\n"
 "X-Poedit-Country: FRANCE\n"
-"X-Poedit-Bookmarks: 394,948,-1,-1,-1,-1,-1,1523,-1,-1\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:143
+#: AudacityApp.cpp:806
+#: Menus.cpp:954
 msgid "&About Audacity..."
 msgstr "&A propos d'Audacity..."
 
-#: AboutDialog.cpp:156
+#: AboutDialog.cpp:157
 msgid "OK... Audacious!"
 msgstr "OK... Audacieux !"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "Audacity est un programme gratuit écrit par une équipe de <a href=\"http://audacity.sourceforge.net/community/developers\">developpeurs</a> bénévoles du monde entier. Nous remercions <a href=\"http://sourceforge.net\">SourceForge.net</a> pour l'hébergement du projet. Audacity est disponible pour Windows 98 et plus, Mac OS X, Linux, et d'autres systèmes basés sur Unix. Des versions plus anciennes d'Audacity  sont disponibles pour Mac OS 9. "
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Ce programme est en version bêta ! Il peut contenir des bogues et des fonctions non achevées. Nous avons besoin de vos retours. Merci de nous envoyer vos relevés de bogues et demandes d'améliorations à <a href=\"mailto:feedback at audacityteam.org\">. Pour une aide à l'utilisation d'Audacity, rendez-vous sur notre <a href=\"http://audacityteam.org/forum/\">forum</a>."
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Ceci est une version stable et complête d'Audacity. Si toutefois vous décelez un bogue ou avez une suggestion, merci de nous écrire à<a href=\"mailto:feedback at audacityteam.org\">. Pour une aide à l'utilisation d'Audacity, rendez-vous sur notre<a href=\"http://audacityteam.org/forum/\">forum</a>."
 
 #. i18n-hint: The translation of "translator_credits" will appear
+#. in the credits in the About Audacity window.  Use this to add
+#. your own name(s) to the credits.
+#.
+#. For example:  "English translation by Dominic Mazzoni."
+#.
 #: AboutDialog.cpp:192
 #: AboutDialog.cpp:194
 msgid "translator_credits"
-msgstr "Traduction française de Christian Brochec.\n"
-"Pour toute remarque ou suggestion  :  christian at audacityteam.org"
+msgstr "Traduction française de Christian Brochec. Pour toute remarque ou suggestion  :  christian at audacityteam.org"
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "Un éditeur audio numérique libre<br>"
 
 #: AboutDialog.cpp:211
 msgid "Credits"
@@ -61,7 +65,7 @@ msgstr "%s équipe de support d'Audacity"
 
 #: AboutDialog.cpp:225
 msgid "Emeritus Developers"
-msgstr "Développeurs émérites"
+msgstr "Développeurs émérites :"
 
 #: AboutDialog.cpp:230
 msgid "Other Emeritus Team Members"
@@ -69,7 +73,7 @@ msgstr "Autres membres émérites de l'équipe"
 
 #: AboutDialog.cpp:235
 msgid "Other Contributors"
-msgstr "Autres contributeurs"
+msgstr "Autres contributeurs :"
 
 #: AboutDialog.cpp:240
 msgid "Audacity is based on code from the following projects:"
@@ -80,78 +84,77 @@ msgid "Special thanks:"
 msgstr "Remerciements particuliers :"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "Le logiciel <b>Audacity&reg;</b>est protégé par copyright &copy; 1999-2009 Audacity Team. <br> <b>Audacity&reg;</b> est une marque déposée par Dominic Mazzoni."
 
-#: AboutDialog.cpp:254
+#: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
+#: AboutDialog.cpp:304
+#: AboutDialog.cpp:317
 #: AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Informations système"
 
-#: AboutDialog.cpp:305
+#: AboutDialog.cpp:310
 #: effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Activé"
 
-#: AboutDialog.cpp:306
+#: AboutDialog.cpp:311
 msgid "Disabled"
 msgstr "Désactivé"
 
-#: AboutDialog.cpp:316
+#: AboutDialog.cpp:321
 msgid "File Format Support"
 msgstr "Support de format de fichier"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:331
+#: AboutDialog.cpp:333
 msgid "MP3 Importing"
 msgstr "Importation de MP3"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:340
+#: AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
-msgstr "Importation et Exportation d'Ogg Vorbis "
+msgstr "Import et Export Ogg Vorbis "
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:347
+#: AboutDialog.cpp:350
 msgid "ID3 tag support"
-msgstr "Support des tag ID3"
+msgstr "support des tag ID3"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:357
+#: AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr "Import et Export FLAC"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:365
+#: AboutDialog.cpp:368
 msgid "MP2 export"
-msgstr "Export MP2"
+msgstr "export MP2"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:373
+#: AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr "Importer depuis QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
-#: AboutDialog.cpp:378
+#: AboutDialog.cpp:383
 msgid "Core Libraries"
-msgstr ""
+msgstr "Librairies"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:389
 #: AboutDialog.cpp:392
+#: AboutDialog.cpp:395
+#: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr "Conversion de fréquence d'échantillonnage"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Lecture et enregistrement audio"
 
@@ -187,7 +190,7 @@ msgstr "Date de création du programme :"
 #: AboutDialog.cpp:475
 #: AboutDialog.cpp:477
 msgid "Build type:"
-msgstr ""
+msgstr "Type de version :"
 
 #: AboutDialog.cpp:475
 msgid "Debug build"
@@ -195,12 +198,12 @@ msgstr ""
 
 #: AboutDialog.cpp:477
 msgid "Release build"
-msgstr ""
+msgstr "Distribution"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:482
 msgid "Installation Prefix: "
-msgstr "Préfixe d'installation :"
+msgstr "Préfixe d'intallation"
 
 #: AboutDialog.cpp:486
 msgid "Settings folder: "
@@ -208,187 +211,223 @@ msgstr "Répertoire des réglages :"
 
 #: AboutDialog.cpp:501
 msgid "GPL License"
-msgstr "License GPL "
+msgstr "License GPL (en anglais)"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:507
+#: Project.cpp:2002
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s est déjà ouvert dans une autre fenêtre."
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
-#: Project.cpp:2114
+#: AudacityApp.cpp:509
+#: Project.cpp:2004
+#: Project.cpp:2124
+#: Project.cpp:2272
+#: Project.cpp:2404
 msgid "Error opening project"
 msgstr "Erreur d'ouverture de projet"
 
-#: AudacityApp.cpp:502
+#: AudacityApp.cpp:535
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s n'existe pas et ne peut être ouvert.\n"
+msgstr ""
+"%s n'existe pas et ne peut être ouvert.\n"
 "\n"
 "Il a été retiré de l'historique."
 
-#: AudacityApp.cpp:581
+#: AudacityApp.cpp:642
 msgid "Master Gain Control"
 msgstr "Contrôle du niveau Master"
 
-#: AudacityApp.cpp:582
+#: AudacityApp.cpp:643
 msgid "Input Meter"
-msgstr "VU mètre d'entrée"
+msgstr "VU-mètre d'entrée"
 
-#: AudacityApp.cpp:583
+#: AudacityApp.cpp:644
 msgid "Output Meter"
-msgstr "VU mètre de sortie"
+msgstr "VU-mètre de sortie"
+
+#: AudacityApp.cpp:803
+#: Menus.cpp:198
+msgid "&New"
+msgstr "&Nouveau"
+
+#: AudacityApp.cpp:804
+#: Menus.cpp:202
+msgid "&Open..."
+msgstr "&Ouvrir..."
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Préférences...\tCtrl+,"
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr "Ouvrir les fichiers récents..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:807
+msgid "&Preferences..."
+msgstr "&Préférences..."
+
+#: AudacityApp.cpp:898
+#: AudacityApp.cpp:975
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Utiliser une taille de bloc de %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:920
+#: AudacityApp.cpp:990
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Option de ligne de commande inconnue : %s\n"
 
-#: AudacityApp.cpp:1044
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1144
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity n'a pas pu trouver un emplacement pour stocker les fichiers temporaires.\n"
+msgstr ""
+"Audacity ne peut pas trouver de place pour stocker les fichiers temporaires.\n"
 "Veuillez entrer un répertoire approprié dans la boîte de dialogue des préférences."
 
-#: AudacityApp.cpp:1050
+#: AudacityApp.cpp:1150
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
-msgstr "Audacity va maintenant se fermer. Veuillez relancer Audacity pour utiliser le nouveau répertoire temporaire."
+msgstr "Audacity va maintenant se fermer.  Veuillez relancer Audacity pour utiliser le nouveau répertoire temporaire."
 
-#: AudacityApp.cpp:1082
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1182
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr "L'ouverture simultanée de deux sessions d'Audacity\n"
+msgstr ""
+"L'ouverture simultanée de deux sessions d'Audacity\n"
 "peut causer des pertes de données ou le crash du système.\n"
 "\n"
 
-#: AudacityApp.cpp:1089
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1189
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr "Audacity n'a pas pu verrouiller le répertoire temporaire.\n"
+msgstr ""
+"Audacity ne peut pas verrouiller le répertoire temporaire.\n"
 "Ce répertoire est peut être déjà utilisé par une autre session d'Audacity.\n"
 
-#: AudacityApp.cpp:1091
+#: AudacityApp.cpp:1191
 msgid "Do you still want to start Audacity?"
-msgstr "Voulez-vous toujours démarrer Audacity ?"
+msgstr "Voulez-vous toujours démarrer Audacity"
 
-#: AudacityApp.cpp:1093
+#: AudacityApp.cpp:1193
 msgid "Error locking temporary folder"
 msgstr "Erreur de verrouillage du répertoire temporaire"
 
-#: AudacityApp.cpp:1131
+#: AudacityApp.cpp:1231
 msgid "The system has detected that another copy of Audacity is running.\n"
-msgstr "Le système a détecté qu'une autre session d'Audacity est ouverte.\n"
+msgstr "Le système a détecté qu'une autre session d'Audacity était ouverte.\n"
 
-#: AudacityApp.cpp:1133
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1233
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Sélectionnez Nouveau ou Ouvrir dans la session courante d'Audacity \n"
-"pour démarrer plusieurs projets simultanément.\n"
+msgstr ""
+"A partir de la session courante d'Audacity, utilisez Nouveau ou Ouvrir\n"
+"pour démarrer plusieurs projets simultannément.\n"
 
-#: AudacityApp.cpp:1134
+#: AudacityApp.cpp:1234
 msgid "Audacity is already running"
 msgstr "Audacity est déjà ouvert"
 
-#: AudacityApp.cpp:1151
+#: AudacityApp.cpp:1251
 msgid "Command-line options supported:"
-msgstr "Options de ligne de commande supportées :"
+msgstr "Options de lignes de commandes supportées :"
 
 #. i18n-hint: '-help' is the option and needs to stay in
-#: AudacityApp.cpp:1154
+#. * English. This displays a list of available options
+#: AudacityApp.cpp:1254
 msgid "\t-help (this message)"
 msgstr "\t-help (ce message)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1156
+#: AudacityApp.cpp:1256
 msgid "\t-version (display Audacity version)"
-msgstr "\t-version (afficher la version d'Audacity)"
+msgstr "\t-version (affiche la version d'Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
-#: AudacityApp.cpp:1160
+#. * English. This runs a set of automatic tests on audacity
+#. * itself
+#: AudacityApp.cpp:1260
 msgid "\t-test (run self diagnostics)"
-msgstr "\t-test (lancer l'auto diagnostic)"
+msgstr "\t-test (lance l'auto diagnostic)"
 
 #. i18n-hint '-blocksize' is the option and needs to stay in
-#: AudacityApp.cpp:1165
+#. * English. 'nnn' is any integer number. This controls the
+#. * size pieces that audacity uses when writing files to the
+#. * disk
+#: AudacityApp.cpp:1265
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
-msgstr "\t-blocksize nnn (fixer la taille maximale des blocs en octets)"
+msgstr "\t-blocksize nnn (règle en bytes la taille maximale des blocs)"
 
-#: AudacityApp.cpp:1166
+#: AudacityApp.cpp:1266
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
-msgstr "De plus, spécifier le nom d'un fichier audio ou projet Audacity pour l'ouvrir"
+msgstr "De plus, spécifier le nom du fichier audio ou du projet Audacity pour l'ouvrir"
 
-#: AudacityApp.cpp:1443
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1557
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Les projets Audacity (.AUP) ne sont actuellement pas\n"
-"associés à Audacity. \n"
+msgstr ""
+"Les projets Audacity(.AUP) ne sont actuellement pas\n"
+"associés à  Audacity. \n"
 "\n"
 "Voulez-vous les associer afin de pouvoir les ouvrir d'un double clic ?"
 
-#: AudacityApp.cpp:1444
+#: AudacityApp.cpp:1558
 msgid "Audacity Project Files"
 msgstr "Fichiers projet Audacity"
 
-#: AudioIO.cpp:241
+#: AudioIO.cpp:253
 msgid "Could not find any audio devices.\n"
 msgstr "Impossible de trouver un périphérique audio.\n"
 
-#: AudioIO.cpp:242
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:254
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Vous ne pourrez pas lire ou enregistrer d'audio.\n"
+msgstr ""
+"Vous ne pourrez pas lire ou enregistrer d'audio.\n"
 "\n"
 
-#: AudioIO.cpp:245
+#: AudioIO.cpp:257
 msgid "Error: "
 msgstr "Erreur :"
 
-#: AudioIO.cpp:248
+#: AudioIO.cpp:260
 msgid "Error Initializing Audio"
 msgstr "Erreur d'initialisation audio"
 
-#: AudioIO.cpp:1208
-msgid "Latency problem"
-msgstr "Problème de latence"
-
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1225
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "La latence a caché l'audio enregistré avant le zéro.\n"
-"Audacity l'a rétabli à zéro.\n"
+msgstr ""
+"Le réglage de correction de latence a caché l'audio enregistré, avant le zéro.\n"
+"Audacity l'a ramené au zéro.\n"
 "Vous pourrez utiliser l'outil de glissement temporel (<---> ou F5) pour glisser la piste à sa place."
 
+#: AudioIO.cpp:1225
+msgid "Latency problem"
+msgstr "Problème de latence"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Récupération automatique de crash"
 
 #: AutoRecovery.cpp:73
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr "Des projets n'ont pas été correctement sauvegardés lors de la dernière session Audacity.\n"
+msgstr ""
+"Des projets n'ont pas été correctement sauvegardés lors de la dernière session Audacity.\n"
 "Heureusement, les projets suivants peuvent être automatiquement récupérés :"
 
 #: AutoRecovery.cpp:75
@@ -396,9 +435,8 @@ msgid "Recoverable projects"
 msgstr "Projets récupérables"
 
 #: AutoRecovery.cpp:78
-#: Tags.cpp:2032
 msgid "Name"
-msgstr "Nom"
+msgstr "Nom..."
 
 #: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
@@ -406,7 +444,7 @@ msgstr "La récupération du projet ne modifiera aucun des fichiers du disque av
 
 #: AutoRecovery.cpp:88
 msgid "Quit Audacity"
-msgstr "Quitter Audacity"
+msgstr "Quitter Audacity..."
 
 #: AutoRecovery.cpp:89
 msgid "Do Not Recover"
@@ -417,9 +455,11 @@ msgid "Recover Projects"
 msgstr "Récupérer les projets"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr "Etes-vous sûr(e) de ne pas vouloir récupérer de projets ?\n"
+msgstr ""
+"Etes-vous sûr(e) de ne pas vouloir récupérer de projets ?\n"
 "Ils ne pourront pas être récupérés plus tard."
 
 #: AutoRecovery.cpp:128
@@ -429,96 +469,104 @@ msgstr "Confirmer ?"
 #: AutoRecovery.cpp:146
 #: AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
-msgstr "Impossible d'énumérer les fichiers du répertoire de sauvegarde automatique"
+msgstr "Impossible d'énumérer les fichiers du répertoire de sauvegarde auto"
 
 #: AutoRecovery.cpp:147
 #: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
-#: toolbars/ControlToolBar.cpp:846
+#: Menus.cpp:3230
+#: Menus.cpp:3242
+#: Menus.cpp:5311
+#: Project.cpp:2231
+#: Project.cpp:3851
+#: Project.cpp:3937
+#: TrackPanel.cpp:6503
+#: WaveTrack.cpp:979
+#: WaveTrack.cpp:998
+#: WaveTrack.cpp:2024
+#: effects/Contrast.cpp:144
+#: effects/Contrast.cpp:154
+#: effects/Effect.cpp:566
+#: export/ExportFFmpeg.cpp:655
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195
+#: prefs/KeyConfigPrefs.cpp:335
+#: toolbars/ControlToolBar.cpp:575
+#: toolbars/ControlToolBar.cpp:907
 msgid "Error"
 msgstr "Erreur"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
-#: BatchCommandDialog.cpp:61
+#: BatchCommandDialog.cpp:57
+#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "Sélectionner une commande"
 
-#: BatchCommandDialog.cpp:80
+#: BatchCommandDialog.cpp:82
 #: BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Commande"
 
-#: BatchCommandDialog.cpp:82
+#: BatchCommandDialog.cpp:84
 msgid "&Edit Parameters"
 msgstr "Paramètres d'&Edition"
 
-#: BatchCommandDialog.cpp:89
+#: BatchCommandDialog.cpp:91
 #: BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Paramètres"
 
-#: BatchCommandDialog.cpp:94
+#: BatchCommandDialog.cpp:96
 msgid "C&hoose command"
 msgstr "C&hoisir une commande"
 
-#: BatchCommands.cpp:477
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
-msgstr "L'effet Stéréo vers Mono n'a pas été trouvé"
+msgstr "L'effet Stéréo vers mono n'a pas été trouvé"
 
-#: BatchCommands.cpp:497
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "Le support d'Ogg Vorbis n'est pas inclus dans cette version d'Audacity"
 
-#: BatchCommands.cpp:509
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
-msgstr "Le support de FLAC n'est pas inclus dans cette version d'Audacity"
+msgstr "Le support de  FLAC n'est pas inclus dans cette version d'Audacity"
 
-#: BatchCommands.cpp:513
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "La commande %s n'est pas encore implémentée"
 
-#: BatchCommands.cpp:529
+#: BatchCommands.cpp:507
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
-msgstr "Impossible de modifier les paramêtres de l'effet %s\n"
+msgstr ""
+"Impossible de modifier les paramêtres de l'effet %s\n"
 "à %s."
 
-#: BatchCommands.cpp:583
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "Votre commande de traitement en lot de %s n'a pas été reconnu."
 
-#: BatchCommands.cpp:674
+#: BatchCommands.cpp:651
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr "Appliquer %s avec le(s) paramètre(s)\n"
+msgstr ""
+"Appliquer %s avec le(s) paramêtre(s)\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:652
+#: BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Mode test"
 
-#: BatchCommands.cpp:679
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "Appliquer %s"
@@ -531,7 +579,7 @@ msgstr "Appliquer le script"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "Script CleanSpeech..."
 
 #: BatchProcessDialog.cpp:94
 msgid "&Select chain"
@@ -547,23 +595,17 @@ msgstr "Appliquer au &Projet courant"
 
 #: BatchProcessDialog.cpp:107
 msgid "Apply to &Files..."
-msgstr "Appliquer aux &fichiers..."
+msgstr "Appliquer aux &fichiers"
 
 #: BatchProcessDialog.cpp:108
 #: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
 #: UploadDialog.cpp:180
 #: effects/AvcCompressor.cpp:732
 #: effects/ChangeLength.cpp:183
 #: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
-msgstr "&Annuler"
+msgstr "Annuler"
 
 #: BatchProcessDialog.cpp:146
 #: BatchProcessDialog.cpp:191
@@ -581,15 +623,15 @@ msgstr "Veuillez d'abord enregistrer et fermer le projet courant."
 
 #: BatchProcessDialog.cpp:206
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Sélectionner le(s) fichier(s) vocaux pour le traitement en lot CleanSpeech."
 
 #: BatchProcessDialog.cpp:207
 msgid "Select file(s) for batch processing..."
-msgstr "Sélectionner le(s) fichier(s) pour le traitement en lot..."
+msgstr "Sélectionner le(s) fichier(s) pour le traitement en lot.."
 
 #: BatchProcessDialog.cpp:209
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "Fichiers vocaux (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
 
 #: BatchProcessDialog.cpp:210
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
@@ -611,21 +653,17 @@ msgstr "Editer les scripts"
 
 #: BatchProcessDialog.cpp:416
 msgid "&Chains"
-msgstr "&Scripts"
+msgstr "S&cripts"
 
 #: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: Tags.cpp:825
 msgid "&Add"
 msgstr "&Ajouter"
 
 #: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: LabelDialog.cpp:128
+#: Tags.cpp:826
+#: TrackPanel.cpp:4271
 msgid "&Remove"
 msgstr "&Retirer"
 
@@ -635,12 +673,12 @@ msgstr "Re&nommer"
 
 #: BatchProcessDialog.cpp:443
 msgid "C&hain (Double-Click or press SPACE to edit)"
-msgstr "&Script (double-cliquer ou taper ESPACE pour éditer)"
+msgstr "S&cript (double-cliquer ou taper ESPACE pour éditer)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Aucun"
+msgid "Num"
+msgstr "Numérique"
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -648,19 +686,19 @@ msgstr "&Insérer"
 
 #: BatchProcessDialog.cpp:460
 msgid "De&lete"
-msgstr "&Effacer"
+msgstr "Effacer"
 
 #: BatchProcessDialog.cpp:461
 msgid "Move &Up"
-msgstr "&Déplacer la piste vers le haut"
+msgstr "Remonter"
 
 #: BatchProcessDialog.cpp:462
 msgid "Move &Down"
-msgstr "&Déplacer la piste vers le bas"
+msgstr "&Descendre"
 
 #: BatchProcessDialog.cpp:463
 msgid "De&faults"
-msgstr "Réglages par dé&faut"
+msgstr "Réglages par défaut"
 
 #: BatchProcessDialog.cpp:507
 msgid "- END -"
@@ -701,399 +739,436 @@ msgstr "Suppression des fichiers associés"
 msgid "Copying audio data into project..."
 msgstr "Copie de données audio dans le projet..."
 
-#: Dependencies.cpp:219
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr "Votre projet dépend de la présence d'autres fichiers.\n"
+msgstr ""
+"Votre projet dépend de la présence d'autres fichiers.\n"
 "Copiez l'audio des fichiers suivants vers votre projet afin qu'il le contienne.\n"
 "Ceci nécessite davantage d'espace disque, mais est plus sûr."
 
-#: Dependencies.cpp:266
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "Le projet dépend de fichiers audio externes"
 
-#: Dependencies.cpp:287
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Fichiers associés au projet"
 
-#: Dependencies.cpp:290
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "Fichier audio"
 
-#: Dependencies.cpp:292
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Espace disque"
 
-#: Dependencies.cpp:297
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Copier dans le projet l'audio sélectionné"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Annuler l'enregistrement"
 
-#: Dependencies.cpp:306
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
-msgstr "Ne pas copier d'Audio"
+msgstr "Ne pas cop"
 
-#: Dependencies.cpp:308
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Copier tout l'audio dans le projet (plus sûr)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Me demander"
 
-#: Dependencies.cpp:318
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
-msgstr "Toujours copier tout l'audio (le plus sûr)"
+msgstr "Toujours &copier tout l'audio (plus sûr)"
 
-#: Dependencies.cpp:319
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Ne jamais copier d'audio"
 
-#: Dependencies.cpp:321
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "A chaque fois qu'un projet dépend d'autres fichiers :"
 
-#: Dependencies.cpp:409
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
-msgstr "Si vous continuez, votre projet ne sera pas enregistré. Le souhaitez-vous ?"
+msgstr "Si vous le faites, votre projet ne sera pas enregistré. Le souhaitez-vous ?"
 
-#: Dependencies.cpp:449
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "Votre projet est auto-contenu ; il ne dépend d'aucun fichier audio externe."
 
-#: Dependencies.cpp:450
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Vérification des fichiers associés."
 
 #: DirManager.cpp:136
-msgid "Warning: there is very little free disk space left on this volume.\n"
+msgid ""
+"Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr "Attention : il reste très peu d'espace libre sur ce volume. Veuillez\n"
+msgstr ""
+"Attention : il reste très peu d'espace libre sur ce volume. Veuillez\n"
 " sélectionner un autre répertoire temporaire dans vos préférences."
 
 #: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:252
+#: DirManager.cpp:335
 msgid "Progress"
 msgstr "Progression"
 
-#: DirManager.cpp:285
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Nettoyage des fichiers temporaires..."
 
-#: DirManager.cpp:333
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Enregistrement des fichiers de données du projet"
 
-#: DirManager.cpp:406
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Nettoyage des répertoires cache..."
 
-#: DirManager.cpp:493
+#: DirManager.cpp:503
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "Audacity a trouvé un bloc de fichiers orphelins %s! \n"
-"Il est souhaitable d'enregistrer et de recharger le projet pour effectuer une vérification complète du projet.\n"
+msgstr ""
+"Audacity a trouvé des blocs de fichiers orphelins %s! \n"
+"Il est souhaitable d'enregsitrer et de recharger le projet pour effectuer une vérification du projet.\n"
 
 #  i18n-hint: This is the pattern for filenames that are created
 #  when a file needs to be backed up to a different name.  For
 #  example, mysong would become mysong-old1, mysong-old2, etc.
 #. i18n-hint: This is the pattern for filenames that are created
-#: DirManager.cpp:985
+#. when a file needs to be backed up to a different name.  For
+#. example, mysong would become mysong-old1, mysong-old2, etc.
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
-msgstr "%s-old%d"
+msgstr "%s-ancien%d"
 
-#: DirManager.cpp:993
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
-msgstr "Impossible d'ouvrir/créer un fichier test"
+msgstr "Impossible d'ouvrir/créer le ficher test"
 
-#: DirManager.cpp:1002
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "Impossible de retirer '%s'"
 
-#: DirManager.cpp:1007
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
-msgstr "Fichier renommé : %s\n"
+msgstr "Renommer le fichier : %s\n"
 
-#: DirManager.cpp:1051
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
-msgstr "Impossible de renommer '%s' en '%s'"
+msgstr "Imposible de renommer '%s' en '%s'"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Bloc %s changé en nouveau nom d'alias\n"
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1247
+#: DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Vérification des données du projet..."
 
-#: DirManager.cpp:1128
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
-msgstr "Bloc de fichiers orphelins : (%s)"
+msgstr "Bloc de fichier orphelin : (%s)"
 
-#: DirManager.cpp:1153
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "Lien manquant : (%s)"
 
-#: DirManager.cpp:1173
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "Sommaire manquant : (%s.auf)"
 
-#: DirManager.cpp:1193
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "Fichier de données manquant : (%s.au)"
 
-#: DirManager.cpp:1207
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1342
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr "Le vérificateur de projet a trouvé des erreurs lors de l'inspection des données du projet chargé;\n"
-"cliquer sur \"Détails\" pour une liste complète des erreurs ou sur \"OK\" pour accéder à davantage d'options."
+msgstr ""
+"Le vérificateur de projet a trouvé des erreurs lors de l'inspection des données du projet chargé;\n"
+"cliquer sur 'Détails' pour une liste complète des erreurs ou sur \"OK\" pour accéder à davantage d'options."
 
-#: DirManager.cpp:1219
+#: DirManager.cpp:1354
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr "Le vérificateur de projet a trouvé %d blocs de fichiers orphelins. Ces fichiers\n"
+msgstr ""
+"Le vérificateur de projet a trouvé %d blocs de fichiers orphelins. Ces fichiers\n"
 "sont inutilisés et sont probablement le résultat d'un crash ou d'un bogue.\n"
 "Il doivent être effacés pour éviter de saturer le disque."
 
-#: DirManager.cpp:1224
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Effacer les fichiers orphelins [recommandé et sans risque]"
 
-#: DirManager.cpp:1225
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
-msgstr "Continuer sans effacer ; silently work around the extra files"
+msgstr "Continuer sans effacer ; agit silencieusement autour des fichiers supplémentaires"
 
-#: DirManager.cpp:1226
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Fermer immédiatement le projet sans modifications"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1363
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
+#: export/Export.cpp:581
+#: export/Export.cpp:602
+#: export/Export.cpp:621
+#: widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Attention"
 
-#: DirManager.cpp:1254
+#: DirManager.cpp:1389
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "Le vérificateur de projet a détecté %d fichier(s) source utilisé(s) à la place\n"
-"(\"liens\"') sont désormais manquants. Audacity n'a aucun moyen\n"
+msgstr ""
+"Le vérificateur de projet a détecté %d fichier(s) source utilisé(s) à la place\n"
+"(\"liens\"') sont désormais manquant. Audacity n'a aucun moyen\n"
 "de récupérer ces fichiers automatiquement ; vous pouvez choisir\n"
 "de remplir définitivement de silence ces fichiers manquants, de les remplir\n"
 "de silence pour cette session seulement, ou de fermer le projet maintenant\n"
 "et d'essayer de restaurer manuellement ces fichiers."
 
-#: DirManager.cpp:1259
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
-msgstr "Remplacer les données manquantes de silence [permanent jusqu'à la sauvegarde]"
+msgstr "Remplacer les données manquante par du silence [permanent jusqu'à la sauvegarde]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1395
+#: DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
-msgstr "Remplacer temporairement les données manquantes de silence [cette session seulement]"
+msgstr "Remplacer temporairement les données manquantes par du silence [cette session seulement]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1396
+#: DirManager.cpp:1442
+#: DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Fermer immédiatement le projet sans modifications supplémentaires"
 
-#: DirManager.cpp:1300
+#: DirManager.cpp:1435
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr "Le vérificateur de projet a détecté %d sommaire manquant (.auf).\n"
+msgstr ""
+"Le vérificateur de projet a détecté %d sommaire manquant (.auf).\n"
 "Audacity peut totalement recréer ce sommaire à partir des données\n"
 "audio originales du projet."
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Recréer le sommaire [sans risque et recommandé]"
 
-#: DirManager.cpp:1306
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
-msgstr "Remplir de silence les données manquantes [pour cette session]"
+msgstr "Rempli de silence les données manquantes [pour cette session]"
 
-#: DirManager.cpp:1342
+#: DirManager.cpp:1477
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr "Le vérificateur de projet a détecté %d bloc(s) de données audio manquants (.au) \n"
+msgstr ""
+"Le vérificateur de projet a détecté %d bloc(s) de données audio manquants (.au) \n"
 "probablement à cause d'un bogue, d'un crash système ou d'un effacement accidentel\n"
 "Il est impossible à Audacity de récupérer ces fichiers manquants automatiquement.\n"
 "Vous pouvez choisir de les remplir définitivement de silence, de les remplir\n"
 "de silence pour cette session seulement, ou de fermer le projet maintenant\n"
 "et d'essayer de restaurer manuellement ces fichiers."
 
-#: DirManager.cpp:1347
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
-msgstr "Remplacer les données manquantes de silence [permanent immédiatement]"
+msgstr "Remplacer les données manquantes par du  silence [permanent immédiatement]"
 
-#: DirManager.cpp:1375
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
-msgstr "Nettoyer les répertoires inutilisés dans les données du projet..."
+msgstr "Nettoyer les répertoires inutilisés des données du projet..."
 
-#: DirManager.cpp:1448
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Cache de l'audio"
 
-#: DirManager.cpp:1449
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Cache de l'audio dans la mémoire..."
 
-#: DirManager.cpp:1486
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Sauvegarde de l'audio enregistré"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
-msgstr "Sauvegarde sur le disque de l'audio enregistré ..."
+msgstr "Enregistrement de l'audio sur le disque..."
 
 #: FFT.cpp:389
 msgid "Rectangular"
 msgstr "Rectangulaire"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "Le  support FFmpeg n'est pas compilé"
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
+"FFmpeg a été configuré dans les Préférences et précédemment chargé avec succès,                       \n"
+"mais cette fois, Audacity n'a pu le charger au lancement.                       \n"
+"\n"
+"Vous pouvez retourner dans Préférences > Import/Export et le re-configurer."
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Echec du lancement de FFmpeg"
 
-#: FFmpeg.cpp:112
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "La librairie FFmpeg est absente"
 
-#: FFmpeg.cpp:172
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "Localiser FFmpeg"
 
-#: FFmpeg.cpp:192
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity requiert le fichier %s pour importer et exporter de l'audio par FFmpeg."
 
+#: FFmpeg.cpp:434
 #: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Localisation de %s:"
 
+#: FFmpeg.cpp:443
 #: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Pour trouver %s, cliquer ici -->"
 
+#: FFmpeg.cpp:449
 #: export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Parcourir..."
 
-#: FFmpeg.cpp:214
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "Pour obtenir une copie gratuite de FFmpeg, cliquer ici -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Téléchargement"
 
 #. i18n-hint: It's asking for the location of a file, for
+#. example, "Where is lame_enc.dll?" - you could translate
+#. "Where would I find the file %s" instead if you want.
+#: FFmpeg.cpp:473
 #: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Où se trouve  %s ?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Impossible de trouver des librairies FFmpeg compatibles"
 
-#: FFmpeg.h:87
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "FFmpeg absent"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
+"Audacity a besoin de librairies FFmpeg pour importer un fichier audio,\n"
+"mais il ne peut les trouver.\n"
+"Si vous voulez utiliser les fonction d'import FFmpeg, allez dans Préférences->Librairies\n"
+"pour télécharger les libraries FFmpeg ou indiquer leur emplacement ."
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Ne plus montrer cet avertissement."
 
-#: FFmpeg.h:242
+#: FFmpeg.h:264
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "Seulement avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 
-#: FFmpeg.h:295
+#: FFmpeg.h:324
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Seulement libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
 
-#: FreqWindow.cpp:104
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Analyse de fréquence"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:163
+#: TrackPanel.cpp:612
+#: prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Spectre"
 
-#: FreqWindow.cpp:141
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Autocorrélation standard"
 
-#: FreqWindow.cpp:142
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Autocorrélation racine cubique"
 
-#: FreqWindow.cpp:143
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Autocorrélation avancée"
 
@@ -1101,128 +1176,181 @@ msgstr "Autocorrélation avancée"
 #  "spectrum".  Do not translate it unless you are sure you
 #  know the correct technical word in your language.
 #. i18n-hint: This is a technical term, derived from the word
-#: FreqWindow.cpp:147
+#. "spectrum".  Do not translate it unless you are sure you
+#. know the correct technical word in your language.
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Cepstre"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
-#, fuzzy
+#: FreqWindow.cpp:174
+#: FreqWindow.cpp:178
 msgid "Algorithm"
-msgstr "Algorithme :"
+msgstr "Algorithme "
 
-#: FreqWindow.cpp:168
+#: FreqWindow.cpp:193
+#: FreqWindow.cpp:197
 #: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Taille"
 
 #. i18n-hint: This refers to a "window function", used in the
-#: FreqWindow.cpp:181
+#. Frequency analyze dialog box.
+#: FreqWindow.cpp:207
 msgid " window"
-msgstr " fenêtre"
+msgstr " window"
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+#: FreqWindow.cpp:211
+#: FreqWindow.cpp:215
 msgid "Function"
-msgstr ""
+msgstr "Fonction "
 
-#: FreqWindow.cpp:192
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "Fréquence linéaire"
 
-#: FreqWindow.cpp:193
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Fréquence logarithmique"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+#: FreqWindow.cpp:225
+#: FreqWindow.cpp:229
 msgid "Axis"
-msgstr ""
+msgstr "Axe "
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:236
+#: LabelDialog.cpp:130
+#: Menus.cpp:255
 msgid "&Export..."
 msgstr "&Exporter..."
 
-#: export/ExportCL.cpp:322
+#: FreqWindow.cpp:237
+#: effects/Contrast.cpp:395
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Exporter"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "&Retracer"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Retracer"
+
+#: FreqWindow.cpp:244
+#: FreqWindow.cpp:245
+#: widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Fermer"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr "Grilles"
+
+#: FreqWindow.cpp:314
+#: FreqWindow.cpp:516
+#: effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537
+#: effects/AutoDuck.cpp:806
 #: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1145
+#: effects/Equalization.cpp:1147
+#: effects/Equalization.cpp:1155
+#: effects/Equalization.cpp:1221
+#: effects/Equalization.cpp:1437
+#: effects/Equalization.cpp:1448
+#: effects/Normalize.cpp:372
+#: widgets/Meter.cpp:413
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#. cycles per second.
+#: FreqWindow.cpp:330
+#: FreqWindow.cpp:556
+#: effects/Equalization.cpp:1186
+#: effects/Equalization.cpp:1217
+#: import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: FreqWindow.cpp:386
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Pour le tracé du spectre, toutes les pistes sélectionnées doivent avoir la même fréquence d'échantillonnage."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Trop d'audio a été sélectionné. Seules les %.1f premières secondes d'audio seront analysées."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Pas assez de données sélectionnées"
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:564
+#: effects/AutoDuck.cpp:808
 msgid "s"
 msgstr "s"
 
-#: FreqWindow.cpp:779
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Curseur : %d Hz (%s) = %d dB    Crête : %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:788
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "Curseur: %.4f sec (%d Hz) (%s) = %f,   Crête : %.4f sec (%d Hz) (%s) = %.3f"
 
-#: FreqWindow.cpp:1061
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spectre.txt"
 
-#: FreqWindow.cpp:1063
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Exporter les données spectrales sous :"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1216
+#: LabelDialog.cpp:603
+#: Menus.cpp:2615
+#: effects/Contrast.cpp:587
+#: prefs/KeyConfigPrefs.cpp:280
 msgid "Couldn't write to file: "
 msgstr "Impossible d'enregistrer le fichier : "
 
-#: FreqWindow.cpp:1084
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Fréquence (Hz)\tNiveau (dB)"
 
-#: FreqWindow.cpp:1090
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Décalage (secondes)\tFréquence (Hz)\tNiveau"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+#, fuzzy
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+"GStreamer a été configuré dans les Préférences et précédemment chargé avec succès,\n"
+"mais cette fois, Audacity n'a pu le charger au lancement.\n"
+"Vous pouvez retourner dans Préférences > Import/Export et le re-configurer."
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Echec du lancement de GStreamer"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "[[welcome|Écran d'accueil]]"
@@ -1241,15 +1369,15 @@ msgstr "Enregistrement Audio"
 
 #: HelpText.cpp:105
 msgid "Recording - Choosing the Input Device"
-msgstr "Enregistrement -choisir le périphérique d'entrée"
+msgstr "Enregistrement - choisir le périphérique d'entrée"
 
 #: HelpText.cpp:109
 msgid "Recording - Choosing the Input Source"
-msgstr "Enregistrement - Choisir la source audio"
+msgstr "Enregistrement -choisir la source audio"
 
 #: HelpText.cpp:113
 msgid "Recording - Setting the Input Level"
-msgstr "Enregistrement - Régler le niveau d'enregistrement"
+msgstr "Enregistrement - régler le niveau d'enregistrement"
 
 #: HelpText.cpp:117
 msgid "Editing and greyed out Menus"
@@ -1269,7 +1397,7 @@ msgstr "Formats non supportés"
 
 #: HelpText.cpp:133
 msgid "Burn to CD"
-msgstr "Graver sur CD"
+msgstr "Graver sur un CD"
 
 #: HelpText.cpp:137
 msgid "No Local Help"
@@ -1281,7 +1409,7 @@ msgstr "</p><center><h3>Pour bien démarrer</h3></center><br>"
 
 #: HelpText.cpp:150
 msgid "Welcome to Audacity "
-msgstr "Bienvenue à Audacity"
+msgstr "Bienvenue dans Audacity"
 
 #: HelpText.cpp:151
 msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
@@ -1289,7 +1417,7 @@ msgstr "Découvrez comment : <ul><li>[[play|lire]] un fichier audio existant <li
 
 #: HelpText.cpp:159
 msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr "Cet écran peut être affiché à tout moment en cliquant sur le menu <i>Aide</i>,puis <i>afficher le message d'accueil</i>. Pour une découverte des menus et contrôles d'Audacity en détail, cliquer sur le menu <i>Aide</i> puis <i>Index</i>, ou télécharger notre <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">Manuel complet</a> en format PDF (en anglais).</p>"
+msgstr "Cet écran peut être affiché à tout moment en cliquant sur le menu <i>Aide</i>,puis <i>Afficher le message d'accueil</i>. Pour une découverte des menus et contrôles d'Audacity en détail, cliquer sur le menu <i>Aide</i> puis <i>Index</i>, ou télécharger notre <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">Manuel</a> en format PDF (en anglais).</p>"
 
 #: HelpText.cpp:172
 msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
@@ -1300,8 +1428,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Pour enregistrer:</b> Choisir le périphérique d'enregistrement et la source, ajuster le niveau d'entrée, puis cliquer sur le bouton rouge Enregistrement.</b></p><p> 1) [[inputdevice|Choisir le périphérique d'enregistrement]] dans l'onglet <i>E/S Audio des Préférences</i> ou dans la <i>Barre de périphérique</i>. Les préférences E/S Audio vous permettent si besoin de choisir un enregistrement stéréo.<br> 2) [[inputsource|Choix de la source]] pour ce périphérique (par exemple, microphone ou entrée ligne) dans le sélecteur de la <i>Barre de mixage</i>, ou (sous certains systèmes) dans Périphérique d'enregistrement de l'onglet <i>E/S Audio des Préférences</i> ou dans la <i>Barre de périphérique</i>.<br> 3) [[inputlevel|Réglage du niveau d'entrée]] à l'aide du curseur de droite de la <i>Barre de mixage</i>. Un ajustement correct du niveau avant l'enregistrement est essentiel pour éviter bruit ou distorsion. </p><p> Davantage d'aide sur : \"Enregistrement\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQ</a>, notre Tutoriel en anglais<a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> dans le <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manuel</a>, et notre Wiki en anglais[[wiki:Recording_Tips|RecordingTips]] et les pages [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>Le périphérique d'entrée est lla carte son à partir de laquelle vous enregistrez. Le choix se fait par \"Périphérique d'enregistrement\" dans l'onglet <i>E/S audio des Préférences</i>. Sous Windows et Linux, les Préférences sont à la fin du menu <i>Edition</i>. Sous Mac, ils sont dans le menu <i>Audacity</i>. Vous pouvez aussi aisément sélectionner le périphérique d'enregistrement depuis la <i>barre de périphérique</i>, qui peut être activé à partir d'<i>affichage &gt; Barres d'outils...</i>. </p><p> Audacity sélectionnant par défaut le périphérique utilisé par le système, (habituellement votre carte son intégrée), il est le plus souvent inutile de changer de périphérique d'entrée. Sous Windows, le périphérique système peut être le \"Mappeur de son Microsoft\". Si vous enregistrez à partir d'un périphérique externe USB ou Firewire comme une platine vinyl USB, sélectionnez-le comme périphérique d'enregistrement d'après sa dénomination explicite. </p><p> Retour à [[record|Enregistrement audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>Le périphérique d'entrée est la carte son à partir de laquelle vous enregistrez. Le choix se fait par \"Périphérique d'enregistrement\" dans l'onglet <i>E/S audio des Préférences</i>. Sous Windows et Linux, les Préférences sont à la fin du menu <i>Edition</i>. Sous Mac, ils sont dans le menu <i>Audacity</i>. Vous pouvez aussi aisément sélectionner le périphérique d'enregistrement depuis la <i>barre de périphérique</i>, qui peut être activé à partir d'<i>Affichage &gt; Barres d'outils...</i>. </p><p> Audacity sélectionnant par défaut le périphérique utilisé par le système, (habituellement votre carte son intégrée), il est le plus souvent inutile de changer de périphérique d'entrée. Sous Windows, le périphérique système peut être le \"Mappeur de son Microsoft\". Si vous enregistrez à partir d'un périphérique externe USB ou Firewire comme une platine vinyl USB, connectez-le, puis sélectionnez-le comme périphérique d'enregistrement d'après sa dénomination explicite. </p><p> Retour à [[record|Enregistrement audio]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
@@ -1309,7 +1437,7 @@ msgstr "<p>Sélectionnez la source (le microphone ou l'entrée ligne) comme [[in
 
 #: HelpText.cpp:267
 msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>Le niveau d'entrée doit être réglé correctement. Si le niveau est trop bas, il y aura du bruit de fond. S'il est trop haut, les parties fortes provoqueront de la distorsion. </p><p>Pour régler le niveau, consulter [[wiki:Recording_levels|illustrated online guide]] (en anglais) ou suivez ces étapes : <ol><li>Activer le <b>monitoring</b>. Double-cliquez sur le<i>VU mètre</i> de droite (ou faites un clic droit dessus et sélectionnez \"Visualiser l'entrée\"). Si les VU mètres ne sont pas visibles, ouvrez <i>Affichage &gt; Barres d'outils</i> et cochez \"VU mètre\". </li><li>Ajustez le curseur de volume d'entrée de la <i>Barre de mixage</i> (à côté de l'icône microphone), de façon à ce que les barres de niveau rouges approchent la limite droite <b>sans la toucher</b>. Si vous ne pouvez entendre le son pendant l'enregistrement, allez dans l'onglet <i>E/S audio des Préférences</i> et cochez \"Passage audio logiciel\". </li></ol></p><p> Retour à [[record|Enregistrement audio]] <br></p>"
+msgstr "<p>Le niveau d'entrée doit être réglé correctement. Si le niveau est trop bas, il y aura du bruit de fond. S'il est trop haut, les parties fortes provoqueront de la distorsion. </p><p>Pour régler le niveau, consulter [[wiki:Recording_levels|illustrated online guide]] (en anglais) ou suivez ces étapes : <ol><li>Activer le <b>monitoring</b>. Double-cliquez sur le<i>VU-mètre</i> de droite (ou faites un clic droit dessus et sélectionnez \"Visualiser l'entrée\"). Si les VU-mètres ne sont pas visibles, ouvrez <i>Affichage &gt; Barres d'outils</i> et cochez \"VU-mètre\". </li><li>Ajustez le curseur de volume d'entrée de la <i>Barre de mixage</i> (à côté de l'icône microphone), de façon à ce que les barres de niveau rouges approchent la limite droite <b>sans la toucher</b>. Si vous ne pouvez entendre le son pendant l'enregistrement, allez dans l'onglet <i>E/S audio des Préférences</i> et cochez \"Passage audio logiciel\". </li></ol></p><p> Retour à [[record|Enregistrement audio]] <br></p>"
 
 #: HelpText.cpp:292
 msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
@@ -1324,8 +1452,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Pour écouter votre travail dans d'autres programmes, l'exporter en un fichier audio WAV ou MP3 (certains formats ne sont pas [[wma-proprietary|supportés]]). [[save|Enregistrer un projet Audacity]] crée un fichier projet (et un répertoire _data associé) contenant toutes vos pistes, pour vous permettre de retourner à votre travail plus tard. Cependant, les autres programmes ne peuvent lire les projets Audacity. </p><p> Pour exporter, cliquer sur <i>Fichier &gt; Exporter</i> puis choisir le format sous lequel vous souhaitez exporter dans la liste \"type\". Pour [[burncd|graver un CD]] lisible sur tout lecteur de CD, choisir WAV ou AIFF. Pour exporter en MP3, l'[[wiki:Lame_Installation|Encodeur Lame]] doit être installé. </p><p> <i>Fichier &gt; Exporter la sélection</i> exporte seulement une portion d'audio sélectionnée. <i>Utiliser Fichier &gt; Export Multiple</i> pour exporter en une seule fois des fichiers multiples, soit un par piste audio, soit un par zone marquée dans une même piste. <i>Pistes &gt; Ajouter marqueur à la sélection</i> vous permet de[[wiki:Splitting_recordings_into_separate_tracks|séparer les pistes]] d'un album pour un export multiple en fichiers séparés. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr "<p>Audacity <b>ne peut pas</b> [[play|lire]] ou [[export|exporter]] des fichiers en <b>WMA, RealAudio, Shorten (SHN)</b> ainsi que das la plupart des formats propriétaires, à cause de licences et de limitations de droits.  Sous Mac, les formats <b>AAC</b>non protégés comme le <b>M4A</b> peuvent être importés. Quelques formats libres ne sont pas encore supportés, Y compris <b>Ogg Speex</b> et <b>Musepack</b>. Les fichiers protégés par n'importe quel gestionnaire de droits digitaux (DRM), y compris la plupart de ceux achetés en ligne sur iTunes ou Napster, <b>ne peuvent pas</b> être importés.</p><p> Si vous ne pouvez pas importer un fichier dans Audacity, et qu'il n'a pas de protection DRM, utilisez iTunes ou <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> pour le convertir en WAV ou AIFF. S'il est protégé, gravez le sur un CD audio depuis son programme de lecture, puis ectraire la piste de CD en WAV ou AIFF à l'aide d' ITunes ou (on Windows) de <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> ou de Windows Media Player 11. Vous pouvez aussi <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">enregistrer</a> le CD sur votre ordinateur. <i>Pour exporter vers un format non supporté, exporter en WAV ou AIFF puis convertir au format désiré avec iTunes ou <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p>Audacity <b>ne peut pas</b> [[play|lire]] ou [[export|exporter]] des fichiers en <b>WMA, RealAudio, Shorten (SHN)</b> ainsi que das la plupart des formats propriétaires, à cause de licences et de limitations de droits.  Sous Mac, les formats <b>AAC</b>non protégés comme le <b>M4A</b> peuvent être importés. Quelques formats libres ne sont pas encore supportés, Y compris <b>Ogg Speex</b> et <b>Musepack</b>. Les fichiers protégés par n'importe quel gestionnaire de droits digitaux (DRM),  y compris la plupart de ceux achetés en ligne sur iTunes ou Napster, <b>ne peuvent pas</b> être importés.</p><p> Si vous ne pouvez pas importer un fichier dans Audacity, et qu'il n'a pas de protection DRM, utilisez iTunes ou <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> pour le convertir en WAV ou AIFF. S'il est protégé, gravez le sur un CD audio depuis son programme de lecture, puis ectraire la piste de CD en WAV ou AIFF à l'aide d' ITunes ou (on Windows) de <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> ou de Windows Media Player 11. Vous pouvez aussi <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">enregistrer</a> le CD sur votre ordinateur. <i>Pour exporter vers un format non supporté, exporter en WAV ou AIFF puis convertir au format désiré avec iTunes ou <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
@@ -1333,7 +1461,7 @@ msgstr "<p>Pour graver votre oeuvre sur un CD audio lisible sur tout lecteur de
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>L'aide d'Audacity Beta est en cours de réalisation. Pour le moment, un manuel en ligne en anglais est disponible <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">ici</a>. Ou cliquez <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">ici</a> pour télécharger une version simple-page du manuel qui s'affichera dans cette fenêtre."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1355,145 +1483,150 @@ msgstr "Niveaux d'ann&ulations disponibles :"
 msgid "Levels To Discard"
 msgstr "Niveaux à supprimer :"
 
-#: HistoryWindow.cpp:102
+#: HistoryWindow.cpp:103
 msgid "&Discard"
 msgstr "Supprimer"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
+#: HistoryWindow.cpp:112
 #: effects/ChangeLength.cpp:186
 #: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&OK"
 
-#: Internat.cpp:191
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Impossible à déterminer"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:147
+#: import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "octets"
 
-#: Internat.cpp:197
+#: Internat.cpp:149
 msgid "KB"
 msgstr "Ko"
 
-#: Internat.cpp:200
+#: Internat.cpp:152
 msgid "MB"
 msgstr "Mo"
 
-#: Internat.cpp:203
+#: Internat.cpp:155
 msgid "GB"
 msgstr "Go"
 
-#: LabelDialog.cpp:52
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "Le nom de fichier spécifié ne peut être converti à cause de l'utilisation de caractères Unicode."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Spécifier un nouveau nom de fichier :"
+
+#: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Piste"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:55
+#: Menus.cpp:4807
+#: Menus.cpp:4842
 msgid "Label"
 msgstr "Marqueur"
 
-#: LabelDialog.cpp:54
+#: LabelDialog.cpp:56
+#: TimerRecordDialog.cpp:341
 msgid "Start Time"
 msgstr "Heure de démarrage"
 
-#: LabelDialog.cpp:55
+#: LabelDialog.cpp:57
+#: TimerRecordDialog.cpp:360
 msgid "End Time"
 msgstr "Heure de fin"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:100
+#: Menus.cpp:696
 msgid "&Edit Labels"
 msgstr "&Editer les marqueurs"
 
-#: LabelDialog.cpp:113
+#: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
 msgstr "Appuyer sur F2 ou double-cliquer pour éditer le contenu des cellules."
 
-#: LabelDialog.cpp:124
+#: LabelDialog.cpp:126
 msgid "Insert &After"
 msgstr "Insérer &Après"
 
-#: LabelDialog.cpp:125
+#: LabelDialog.cpp:127
 msgid "Insert &Before"
 msgstr "Insérer avant"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:129
 msgid "&Import..."
-msgstr "&Importer..."
+msgstr "&Importer"
 
-#: LabelDialog.cpp:155
+#: LabelDialog.cpp:157
 msgid "New..."
 msgstr "Nouveau..."
 
-#: LabelDialog.cpp:352
-msgid "You have left blank label names.  These will be\n"
+#: LabelDialog.cpp:354
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
-msgstr "Vous avez laissé des noms de marqueurs en blanc.  Ils seront\n"
+msgstr ""
+"Vous avez laissé des noms de marqueurs en blanc.  Ils seront\n"
 "omis lors du remplissage de la piste de marqueurs.\n"
 "\n"
 "Voulez-vous revenir en arrière et fournir des noms ?"
 
-#: LabelDialog.cpp:353
+#: LabelDialog.cpp:355
 msgid "Confirm"
 msgstr "Confirmer"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:516
+#: Menus.cpp:4225
 msgid "Select a text file containing labels..."
-msgstr "Choisir un fichier texte contenant des marqueurs..."
+msgstr "Choisir un fichier texte contenant les marqueurs..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:520
+#: Menus.cpp:4229
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Fichiers texte (*.txt)|*.txt|Tous fichiers (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
-#: import/ImportMIDI.cpp:31
+#: LabelDialog.cpp:534
+#: Menus.cpp:4241
+#: Project.cpp:2087
+#: Project.cpp:2095
 msgid "Could not open file: "
 msgstr "Impossible d'ouvrir le fichier : "
 
-#: LabelDialog.cpp:558
+#: LabelDialog.cpp:560
 msgid "No labels to export."
-msgstr "Aucun marqueur à exporter."
+msgstr "Aucun marqueur à exporter"
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:566
+#: Menus.cpp:2578
 msgid "Export Labels As:"
 msgstr "Exporter les marqueurs sous :"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:568
+#: Menus.cpp:2576
 msgid "labels.txt"
 msgstr "marqueurs.txt"
 
-#: LabelDialog.cpp:699
+#: LabelDialog.cpp:703
 msgid "New Label Track"
 msgstr "Nouvelle piste de marqueurs"
 
-#: LabelDialog.cpp:700
+#: LabelDialog.cpp:704
 msgid "Enter track name"
 msgstr "Entrer le nom de la piste"
 
-#: LabelDialog.cpp:701
+#: LabelDialog.cpp:705
 #: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelTrack.cpp:92
+#: Menus.cpp:605
 msgid "&Label Track"
 msgstr "Piste de marqueurs"
 
@@ -1501,1492 +1634,1469 @@ msgstr "Piste de marqueurs"
 msgid "Audacity First Run"
 msgstr "Premier démarrage d'Audacity"
 
-#: LangChoice.cpp:84
+#: LangChoice.cpp:89
 msgid "Choose Language for Audacity to use:"
 msgstr "Choisir la langue qu'Audacity utilisera :"
 
-#: Legacy.cpp:356
+#: Legacy.cpp:372
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Conversion d'un projet version 1.0 au nouveau format.\n"
+msgstr ""
+"Conversion d'un projet version 1.0 au nouveau format.\n"
 "L'ancien fichier a été sauvegardé sous '%s'"
 
-#: Legacy.cpp:357
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Ouverture d'un projet Audacity"
 
-#: Menus.cpp:162
+#: Menus.cpp:195
 msgid "&File"
 msgstr "&Fichier"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Nouveau\tCtrl+N"
+#: Menus.cpp:214
+msgid "&Close"
+msgstr "&Fermer"
 
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Ouvrir...\tCtrl+O"
-
-#: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Fermer\tCtrl+W"
-
-#: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Enregistrer le projet\tCtrl+S"
+#: Menus.cpp:217
+msgid "&Save Project"
+msgstr "&Enregistrer le projet"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:220
+#: Project.cpp:3148
 msgid "Save Project &As..."
 msgstr "Enregistrer le projet &sous..."
 
-#: Menus.cpp:213
+#: Menus.cpp:222
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Enregistrer une copie compressée du projet ..."
 
-#: Menus.cpp:181
+#: Menus.cpp:226
 msgid "Chec&k Dependencies..."
 msgstr "Vérifier les fichiers associés..."
 
-#: Menus.cpp:187
+#: Menus.cpp:230
 msgid "Open Me&tadata Editor..."
 msgstr "Ouvrir l'éditeur de mé&tadonnées..."
 
-#: import/ImportRaw.cpp:447
+#: Menus.cpp:238
+#: import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "&Importer"
 
-#: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio...\tCtrl+Shift+I"
+#: Menus.cpp:240
+msgid "&Audio..."
+msgstr "&Audio..."
 
-#: Menus.cpp:197
+#: Menus.cpp:241
 msgid "&Labels..."
 msgstr "Marqueurs..."
 
-#: Menus.cpp:198
+#: Menus.cpp:243
 msgid "&MIDI..."
 msgstr "&MIDI..."
 
-#: Menus.cpp:199
+#: Menus.cpp:245
 msgid "&Raw Data..."
 msgstr "Données brutes (&Raw)..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:260
 msgid "Expo&rt Selection..."
 msgstr "Expo&rter la sélection..."
 
-#: Menus.cpp:217
+#: Menus.cpp:268
 msgid "Export &Labels..."
 msgstr "Exporter les marqueurs..."
 
-#: Menus.cpp:218
+#: Menus.cpp:271
 msgid "Export &Multiple..."
 msgstr "Export &Multiple..."
 
-#: Menus.cpp:258
+#: Menus.cpp:275
 msgid "Export MIDI..."
-msgstr ""
+msgstr "Exporter en MIDI ..."
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "Script CleanSpeec&h..."
+#: Menus.cpp:281
+msgid "Appl&y Chain..."
+msgstr "Appliquer le script..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:284
 msgid "Edit C&hains..."
 msgstr "Editer les scripts"
 
-#: Menus.cpp:249
+#: Menus.cpp:287
 msgid "Export CleanSpeech &Presets..."
-msgstr "Exporter les &Préselections CleanSpeech..."
+msgstr "Exporter les Préselections CleanSpeech..."
 
-#: Menus.cpp:250
+#: Menus.cpp:288
 msgid "I&mport CleanSpeech Presets..."
 msgstr "I&mporter les préréglages CleanSpeech..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "Appliquer le script..."
-
-#: Menus.cpp:267
+#: Menus.cpp:295
 msgid "&Upload File..."
-msgstr "Envoyer le fichier..."
+msgstr "Envoyer le fichier.."
 
-#: Menus.cpp:273
+#: Menus.cpp:300
 msgid "Pa&ge Setup..."
 msgstr "Mise en pa&ge..."
 
-#: Menus.cpp:274
+#: Menus.cpp:303
 msgid "&Print..."
 msgstr "Im&primer..."
 
-#: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "Quitter\tCtrl+Q"
+#: Menus.cpp:312
+#, fuzzy
+msgid "E&xit"
+msgstr "Edition"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:322
 msgid "&Edit"
 msgstr "&Edition"
 
-#: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Annuler\tCtrl+Z"
+#: Menus.cpp:327
+msgid "&Undo"
+msgstr "&Annuler"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:339
 msgid "&Redo"
 msgstr "&Refaire"
 
-#: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "Couper\tCtrl+X"
+#: Menus.cpp:345
+msgid "Cu&t"
+msgstr "Coupe magnétisée"
 
-#: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Couper\tCtrl+Alt+X"
+#: Menus.cpp:348
+msgid "Spl&it Cut"
+msgstr "Couper"
 
-#: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Copier\tCtrl+C"
+#: Menus.cpp:349
+msgid "&Copy"
+msgstr "Copier"
 
-#: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "C&oller\tCtrl+V"
+#: Menus.cpp:352
+msgid "&Paste"
+msgstr "Coller"
 
-#: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Rogner (supprimer en dehors de la sélection)\tCtrl+T"
+#: Menus.cpp:355
+#, fuzzy
+msgid "Tri&m"
+msgstr "Ne garder que la sélection"
 
-#: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Effacer\tCtrl+K"
+#: Menus.cpp:359
+#: Menus.cpp:398
+msgid "&Delete"
+msgstr "&Effacer"
 
-#: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Supprimer la sélection\tCtrl+Alt+K"
+#: Menus.cpp:360
+msgid "Split D&elete"
+msgstr "Supprimer"
 
-#: Menus.cpp:381
-msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+#: Menus.cpp:361
+msgid "Silence Audi&o"
+msgstr "Silence Audi&o"
 
-#: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "Scinder\tCtrl+I"
+#: Menus.cpp:365
+msgid "Sp&lit"
+msgstr "Scinder"
 
-#: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Scinder Nouveau\tCtrl+Alt+I"
+#: Menus.cpp:369
+msgid "Split Ne&w"
+msgstr "Scinder dans une nouvelle piste"
 
-#: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "Grouper\tCtrl+C"
+#: Menus.cpp:373
+#: Menus.cpp:405
+msgid "&Join"
+msgstr "Fusionner"
 
-#: Menus.cpp:394
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+#: Menus.cpp:374
+#: Menus.cpp:406
+msgid "Detac&h at Silences"
+msgstr "Détacher aux silences"
 
-#: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Dupliquer\tCtrl+D"
+#: Menus.cpp:375
+msgid "Duplic&ate"
+msgstr "Dupliquer"
 
-#: Menus.cpp:401 Menus.cpp:641
+#: Menus.cpp:380
+#: Menus.cpp:616
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "Piste stéréo vers mono"
 
-#: Menus.cpp:408
+#: Menus.cpp:389
 msgid "La&beled Regions"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Coupe magnétisée\tAlt+X"
+msgstr "Régions marquées "
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Coupe &Sans réajustement\tShift+Alt+X"
+#: Menus.cpp:392
+msgid "&Cut"
+msgstr "Coupe magnétisée"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Copier\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "&Effacer\tAlt+K"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Supprimer la sélection\tShift+Alt+K"
-
-#. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Sile&nce\tAlt+L"
+msgid "&Split Cut"
+msgstr "Couper"
+
+#: Menus.cpp:394
+msgid "Co&py"
+msgstr "Copier"
 
-#. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Scinder\tAlt+I"
+msgid "Sp&lit Delete"
+msgstr "Supprimer"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "Grouper\tAlt+J"
+#: Menus.cpp:400
+msgid "Sile&nce"
+msgstr "Sile&nce"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+#: Menus.cpp:404
+#, fuzzy
+msgid "Spli&t"
+msgstr "Séparer"
 
-#: Menus.cpp:457
+#: Menus.cpp:412
 msgid "&Select"
+msgstr "&Sélectionner"
+
+#: Menus.cpp:415
+msgid "&All"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "&Tout sélectionner\tCtrl+A"
+msgid "&None"
+msgstr "Aucun"
 
-#: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Aucun\tCtrl+Shift+A"
+#: Menus.cpp:418
+msgid "&Left at Playback Position"
+msgstr "&Limite gauche de la sélection au point de lecture"
 
-#: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "à gauche de la position de lecture\t["
+#: Menus.cpp:419
+msgid "&Right at Playback Position"
+msgstr "Limite d&roite de la sélection au point  de lecture"
 
-#: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "à droite de la position de lecture\t]"
+#: Menus.cpp:423
+msgid "Track &Start to Cursor"
+msgstr "du début de la pi&ste jusqu'au curseur"
 
-#: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr ""
+#: Menus.cpp:424
+msgid "Cursor to Track &End"
+msgstr "du curseur jusqu'à la fin de la pist&e"
 
-#: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr ""
-
-#: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Rechercher les croisements avec le &zéro\tZ"
+#: Menus.cpp:430
+msgid "Find &Zero Crossings"
+msgstr "Rechercher les croisements avec le &zéro"
 
-#: Menus.cpp:478
+#: Menus.cpp:434
 msgid "Mo&ve Cursor"
-msgstr ""
+msgstr "Déplacer le curseur"
 
-#: Menus.cpp:437
+#: Menus.cpp:436
 msgid "to Selection Star&t"
 msgstr "au début de la sélec&tion"
 
-#: Menus.cpp:438
+#: Menus.cpp:437
 msgid "to Selection En&d"
-msgstr "à la fin &de la sélection"
+msgstr "à la f&in de la sélection"
 
-#: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "au début de la pi&ste\tJ"
+#: Menus.cpp:439
+msgid "to Track &Start"
+msgstr "au début de la piste"
 
-#: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "à la fin de la pist&e\tK"
+#: Menus.cpp:440
+msgid "to Track &End"
+msgstr "à la fin de la piste"
 
-#: Menus.cpp:450
+#: Menus.cpp:448
 msgid "Re&gion Save"
 msgstr "Enregistrer la Ré&gion"
 
 #: Menus.cpp:451
 msgid "Regio&n Restore"
-msgstr "Restaurer la Régio&n"
+msgstr "Restaurer la Ré&gion"
 
-#: Menus.cpp:505
+#: Menus.cpp:459
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Lire la région"
 
-#: Menus.cpp:463
+#: Menus.cpp:461
 msgid "&Lock"
-msgstr "Verroui&ller"
+msgstr "Verrouiller"
 
 #: Menus.cpp:464
 msgid "&Unlock"
-msgstr "Déverro&uiller"
+msgstr "Déverrouiller"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Passer en sélection par bloc"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Passer en sélection libre"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr ""
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr ""
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:521
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:525
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
+#: Menus.cpp:484
+msgid "Pre&ferences..."
+msgstr "Préférences..."
 
-#: Menus.cpp:492
+#: Menus.cpp:494
 msgid "&View"
 msgstr "&Affichage"
 
-#: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoom a&vant\tCtrl+1"
-
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &Normal\tCtrl+2"
+msgid "Zoom &In"
+msgstr "Zoom avant"
 
-#: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zoom a&rrière\tCtrl+3"
+#: Menus.cpp:500
+msgid "Zoom &Normal"
+msgstr "Zoom &normal"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Ajuster à la fenêtre\tCtrl+F"
-
-#: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Afficher toutes les pistes\tCtrl+Shift+F"
+msgid "Zoom &Out"
+msgstr "Zoom arrière"
 
-#: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom sur la sélection\tCtrl+E"
+#: Menus.cpp:505
+msgid "&Fit in Window"
+msgstr "Afficher le projet du début à la fin"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "Minimiser toutes les pistes\tCtrl+Shift+C"
+msgid "Fit &Vertically"
+msgstr "Afficher toutes les pistes"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Maximiser toutes les pistes\tCtrl+Shift+X"
+msgid "&Zoom to Selection"
+msgstr "&Zoom sur la sélection"
+
+#: Menus.cpp:511
+msgid "&Collapse All Tracks"
+msgstr "Réduire toutes les pistes"
 
-#: Menus.cpp:510
+#: Menus.cpp:512
+msgid "E&xpand All Tracks"
+msgstr "Restaurer toutes les pistes"
+
+#: Menus.cpp:516
 msgid "&Show Clipping"
 msgstr "Montrer la &saturation"
 
-#: Menus.cpp:519
+#: Menus.cpp:521
 msgid "&History..."
 msgstr "&Historique..."
 
-#: Menus.cpp:568
+#: Menus.cpp:529
 msgid "&Toolbars"
-msgstr ""
+msgstr "Barres d'ou&tils"
 
-#: Menus.cpp:526
+#: Menus.cpp:531
 msgid "&Control Toolbar"
-msgstr "Barre de &contrôle"
+msgstr "Barre de contrôle"
 
-#: Menus.cpp:527
+#: Menus.cpp:532
 msgid "&Device Toolbar"
 msgstr "Barre &de périphérique"
 
-#: Menus.cpp:528
+#: Menus.cpp:533
 msgid "&Edit Toolbar"
-msgstr "Barre d'&édition"
+msgstr "Barre d'édition"
 
-#: Menus.cpp:529
+#: Menus.cpp:534
 msgid "&Meter Toolbar"
-msgstr "Barre de VU-&mètre"
+msgstr "VU-mètre"
 
-#: Menus.cpp:530
+#: Menus.cpp:535
 msgid "Mi&xer Toolbar"
 msgstr "Barre de mi&xage"
 
-#: Menus.cpp:531
+#: Menus.cpp:536
 msgid "&Selection Toolbar"
 msgstr "Barre de &sélection"
 
-#: Menus.cpp:532
+#: Menus.cpp:537
 msgid "T&ools Toolbar"
 msgstr "Barre d'&outils"
 
-#: Menus.cpp:533
+#: Menus.cpp:538
 msgid "Transcri&ption Toolbar"
-msgstr "Barre de transcri&ption"
+msgstr "Barre de lecture variable"
 
-#: Menus.cpp:535
+#: Menus.cpp:542
 msgid "&Reset Toolbars"
 msgstr "&Réinitialiser les barres d'outils"
 
-#: Menus.cpp:537
+#: Menus.cpp:550
 msgid "!Simplified View"
-msgstr "!Affichage simplifié"
+msgstr "! Affichage simplifié"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:589
+#: Menus.cpp:561
 msgid "T&ransport"
-msgstr ""
+msgstr "Transport"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: Menus.cpp:564
+#: toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr "Lecture"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+#: Menus.cpp:565
+msgid "&Loop Play"
+msgstr "&Lecture en boucle"
 
-#: Menus.cpp:595
-msgid "&Pause\tP"
-msgstr ""
+#: Menus.cpp:566
+msgid "&Pause"
+msgstr "&Pause"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+#: Menus.cpp:569
+msgid "&Stop"
+msgstr "&Stop"
 
-#: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Retour au début\tHome"
+#: Menus.cpp:572
+#: toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Saut au début"
 
-#: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Aller à la fin\tEnd"
+#: Menus.cpp:573
+#: toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Saut à la fin"
 
-#: Menus.cpp:602
-msgid "&Record\tR"
-msgstr ""
+#: Menus.cpp:577
+msgid "&Record"
+msgstr "Enregistrement"
 
-#: Menus.cpp:604
-msgid "&Timer Record...\tShift+T"
-msgstr ""
+#: Menus.cpp:578
+msgid "&Timer Record..."
+msgstr "Enregistrement programmé..."
 
-#: Menus.cpp:606
-msgid "Append Record\tShift+R"
-msgstr ""
+#: Menus.cpp:579
+msgid "Append Record"
+msgstr "Poursuite de l'enregistrement"
 
-#: Menus.cpp:609
+#: Menus.cpp:583
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Doublage (Marche/Arrêt)"
 
-#: Menus.cpp:611
+#: Menus.cpp:584
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Passage audio logiciel (marche/arrêt)"
 
-#: Menus.cpp:614
+#: Menus.cpp:587
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Enregistrement automatique (marche/arrêt)"
 
-#: Menus.cpp:616
+#: Menus.cpp:588
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Niveau sonore d'enregistrement automatique ..."
 
-#: Menus.cpp:545
+#: Menus.cpp:596
 msgid "&Tracks"
-msgstr "Pis&tes"
+msgstr "Pistes"
 
-#: Menus.cpp:631
+#: Menus.cpp:601
 msgid "Add &New"
-msgstr ""
+msgstr "Ajouter &nouvelle..."
 
-#: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Piste mono\tCtrl+Shift+N"
+#: Menus.cpp:603
+msgid "&Audio Track"
+msgstr "Piste audio"
 
-#: Menus.cpp:554
+#: Menus.cpp:604
 msgid "&Stereo Track"
 msgstr "Piste &stéréo"
 
-#: Menus.cpp:556
+#: Menus.cpp:606
 #: TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Piste de &temps"
 
-#: Menus.cpp:568
+#: Menus.cpp:619
 msgid "Mi&x and Render"
 msgstr "Mi&xage et Rendu"
 
-#: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mixer et rendre vers une nouvelle piste\tCtrl+Shift+M"
+#: Menus.cpp:622
+msgid "Mix and Render to New Track"
+msgstr "Mixer et rendre vers une nouvelle piste"
 
-#: Menus.cpp:576
+#: Menus.cpp:625
 msgid "&Resample..."
 msgstr "&Rééchantillonner..."
 
-#: Menus.cpp:586
+#: Menus.cpp:631
 msgid "Remo&ve Tracks"
 msgstr "Supprimer la (les) piste(s)"
 
-#: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "Rendre toutes les pistes &muettes\tCtrl+U"
+#: Menus.cpp:637
+msgid "&Mute All Tracks"
+msgstr "Toutes les pistes &muettes"
 
-#: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "Aucune piste muette\tCtrl+Shift+U"
+#: Menus.cpp:638
+msgid "&UnMute All Tracks"
+msgstr "Toutes les pistes &muettes"
 
-#: Menus.cpp:597
+#: Menus.cpp:643
 msgid "Align with &Zero"
-msgstr "Aligner avec le &Zéro"
+msgstr "Aligner avec l'origine"
 
-#: Menus.cpp:598
+#: Menus.cpp:644
 msgid "Align with &Cursor"
-msgstr "Aligner avec le &Curseur"
+msgstr "Aligner avec le &curseur"
 
-#: Menus.cpp:599
+#: Menus.cpp:645
 msgid "Align with Selection &Start"
-msgstr "Aligner avec le début de la &Sélection"
+msgstr "Aligner avec le début de la &sélection"
 
-#: Menus.cpp:600
+#: Menus.cpp:646
 msgid "Align with Selection &End"
 msgstr "Aligner avec la fin de la sél&ection"
 
-#: Menus.cpp:601
+#: Menus.cpp:647
 msgid "Align End with Cu&rsor"
 msgstr "Aligner la fin avec le cu&rseur"
 
-#: Menus.cpp:602
+#: Menus.cpp:648
 msgid "Align End with Selection Star&t"
 msgstr "Aligner la fin avec le débu&t de la sélection"
 
-#: Menus.cpp:603
+#: Menus.cpp:649
 msgid "Align End with Selection En&d"
-msgstr "Aligner la fin avec la fi&n de la sélection"
+msgstr "Aligner la fin avec la fin de la sélection"
 
-#: Menus.cpp:604
+#: Menus.cpp:650
 msgid "Align Tracks To&gether"
-msgstr "Aligner les pistes entre elles"
+msgstr "Aligner les pistes ensemble"
 
-#: Menus.cpp:683
+#: Menus.cpp:652
 msgid "&Align Tracks"
-msgstr ""
+msgstr "&Aligner les pistes"
 
-#: Menus.cpp:692
+#: Menus.cpp:667
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "Ali&gner et déplacer le curseur"
 
-#: Menus.cpp:699
+#: Menus.cpp:679
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "Synchoniser le MIDI avec l'audio"
 
-#: Menus.cpp:708
-msgid "Link Audio and Label Tracks"
-msgstr ""
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
+msgstr "&Lier les pistes audio et de marqueurs "
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Ajouter un marqueur à  la sé&lection\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr "Placer un marqueur sur la sélection"
 
-#: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Ajouter un marqueur au point de lecture\tCtrl+M"
+#: Menus.cpp:693
+msgid "Add Label At &Playback Position"
+msgstr "Placer un marqueur au point de lecture"
 
-#: Menus.cpp:718
+#: Menus.cpp:702
 msgid "S&ort tracks"
-msgstr ""
+msgstr "Trier les pistes"
 
-#: Menus.cpp:719
+#: Menus.cpp:704
 msgid "by &Start time"
-msgstr ""
+msgstr "Par heure de début"
 
-#: Menus.cpp:721
+#: Menus.cpp:707
 msgid "by &Name"
-msgstr ""
+msgstr "Par &nom."
 
-#: Menus.cpp:643
+#: Menus.cpp:721
 msgid "&Generate"
 msgstr "&Générer"
 
-#: Menus.cpp:778 Menus.cpp:862 Menus.cpp:924
+#: Menus.cpp:766
+#: Menus.cpp:851
+#: Menus.cpp:921
 msgid "Unsorted"
-msgstr ""
+msgstr "Non trié"
 
-#: Menus.cpp:666
+#: Menus.cpp:788
 msgid "Effe&ct"
 msgstr "Effet"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Répéter le dernier effet\tCtrl+R"
-
-#: Menus.cpp:702
+#: Menus.cpp:872
 msgid "&Analyze"
 msgstr "&Analyse"
 
-#: Menus.cpp:704
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr "Contraste..."
+
+#: Menus.cpp:877
 msgid "Plot Spectrum..."
 msgstr "Tracer le spectre..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:944
+#: Menus.cpp:947
 msgid "&Help"
 msgstr "&Aide"
 
-#: Menus.cpp:743
+#: Menus.cpp:951
 msgid "&About Audacity CleanSpeech..."
 msgstr "&A propos d'Audacity CleanSpeech..."
 
-#: Menus.cpp:747
+#: Menus.cpp:957
 msgid "&Show Welcome Message..."
-msgstr "Me&ssage d'accueil..."
+msgstr "&Message d'accueil..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr "&Aide..."
 
-#: Menus.cpp:961
+#: Menus.cpp:959
 msgid "Show &Log..."
-msgstr ""
+msgstr "Afficher le journa&l des bogues..."
 
-#: Menus.cpp:756
+#: Menus.cpp:965
 msgid "&Screenshot Tools..."
 msgstr "&Outils de capture d'écran..."
 
-#: Menus.cpp:759
+#: Menus.cpp:970
 msgid "&Run Benchmark..."
-msgstr "Lance&r Test de performance..."
+msgstr "&Lancer Test de performance..."
 
-#: Menus.cpp:761
+#: Menus.cpp:975
 msgid "&Audio Device Info..."
 msgstr "&Périphérique audio..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
-
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
+msgstr "Déplacement arrière entre barre d'outils et pistes"
 
-#: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Outil de sélection\tF1"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
+msgstr "Déplacement avant entre barre d'outils et pistes"
 
-#: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Outil de niveau (enveloppe)\tF2"
+#: Menus.cpp:989
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Outil de sélection"
 
-#: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Outil de dessin d'ondes\tF3"
+#: Menus.cpp:990
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Outil de niveau (enveloppe)"
 
-#: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Outil Zoom\tF4"
+#: Menus.cpp:991
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Outil de dessin d'ondes"
 
-#: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Outil de glissement temporel\tF5"
+#: Menus.cpp:992
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Outil Zoom"
 
-#: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Mode multi outils\tF6"
+#: Menus.cpp:993
+#: toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Outil de glissement temporel"
 
-#: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Outil suivant\tD"
+#: Menus.cpp:994
+#: toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Multi outils"
 
-#: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Outil précédent\tA"
+#: Menus.cpp:996
+msgid "Next Tool"
+msgstr "Outil suivant"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Pause\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Enregistrer\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr ""
-
-#: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Lecture/Stop et positionner le curseur\tShift+A"
-
-#: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Lire une seconde\t1"
-
-#: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Lire jusqu'à la sélection\tB"
+msgid "Previous Tool"
+msgstr "Outil précédent"
 
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Lecture en boucle\tL"
+#: Menus.cpp:999
+msgid "Play/Stop"
+msgstr "Lecture/Stop"
 
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+#: Menus.cpp:1000
+msgid "Play/Stop and Set Cursor"
+msgstr "Lecture/Stop et positionner le curseur"
 
-#: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Prévisualisation de la coupe\tC"
+#: Menus.cpp:1001
+msgid "Play One Second"
+msgstr "Lire une seconde"
 
-#: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Sélectionner depuis le début\tShift+Home"
+#: Menus.cpp:1002
+msgid "Play To Selection"
+msgstr "Lire jusqu'à la sélection"
 
-#: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Sélectionner jusqu'à la fin\tShift+End"
+#: Menus.cpp:1003
+msgid "Play Cut Preview"
+msgstr "Prélecture de la coupe"
 
-#: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Touche d'effacement\tBackspace"
+#: Menus.cpp:1005
+msgid "Selection to Start"
+msgstr "Début de la sélection"
 
-#: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Touche d'effacement2\tDelete"
+#: Menus.cpp:1006
+msgid "Selection to End"
+msgstr "Fin de la sélection"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Court saut de lecture à gauche\tLeft"
+#: Menus.cpp:1008
+#, fuzzy
+msgid "DeleteKey"
+msgstr "Effacer"
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Court saut de lecture à droite\tRight"
+#: Menus.cpp:1012
+#, fuzzy
+msgid "DeleteKey2"
+msgstr "Effacer"
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Long saut de lecture à gauche\tShift+Left"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr "Court saut  à gauche durant la lecture"
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Long saut de lecture à droite\tShift+Right"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr "Court saut  à droite durant la lecture"
 
-#: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Passer la visée à la piste précédente\tUp"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr "Long saut  à gauche durant la lecture"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Passer la visée à la précédente et changer la sélection\tShift+Up"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr "Long saut  à  droite durant la lecture"
 
-#: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Passer la visée à la piste suivante\tDown"
+#: Menus.cpp:1026
+msgid "Move Focus to Previous Track"
+msgstr "Passer la visée à la piste précédente"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Passer la visée à la suivante et changer la sélection\tShift+Down"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr "Passer à la visée précédente et sélectionner"
 
-#: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Bascule de visée de piste\tReturn"
+#: Menus.cpp:1028
+msgid "Move Focus to Next Track"
+msgstr "Passer la visée à la piste suivante"
 
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Bascule de visée de piste\tNUMPAD_ENTER"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr "Passer à la visée suivante et sélectionner"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+#: Menus.cpp:1030
+#: Menus.cpp:1031
+msgid "Toggle Focused Track"
+msgstr "Bascule de visée de piste"
 
-#: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Curseur gauche\tLeft"
+#: Menus.cpp:1033
+msgid "Cursor Left"
+msgstr "Petit saut de curseur à gauche"
 
-#: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Curseur droite\tRight"
+#: Menus.cpp:1034
+msgid "Cursor Right"
+msgstr "Petit saut de curseur à droite"
 
-#: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Petit saut de curseur à gauche\t,"
+#: Menus.cpp:1035
+msgid "Cursor Short Jump Left"
+msgstr "Petit saut de curseur à gauche"
 
-#: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Petit saut de curseur à droite\t."
+#: Menus.cpp:1036
+msgid "Cursor Short Jump Right"
+msgstr "Petit saut de curseur à droite"
 
-#: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Grand saut de curseur à gauche\tShift+,"
+#: Menus.cpp:1037
+msgid "Cursor Long Jump Left"
+msgstr "Grand saut de curseur à gauche"
 
-#: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Grand saut de curseur à droite\tShift+."
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Right"
+msgstr "Grand saut de curseur à droite"
 
-#: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Etendre la sélection à gauche\tShift+Left"
+#: Menus.cpp:1040
+#, fuzzy
+msgid "Selection Extend Left"
+msgstr "Fin de la sélection"
 
-#: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Etendre la sélection à droite\tShift+Right"
+#: Menus.cpp:1041
+#, fuzzy
+msgid "Selection Extend Right"
+msgstr "Fin de la sélection"
 
-#: Menus.cpp:841
+#: Menus.cpp:1043
 msgid "Set (or Extend) Left Selection"
 msgstr "Définir (ou étendre) la sélection gauche"
 
-#: Menus.cpp:842
+#: Menus.cpp:1044
 msgid "Set (or Extend) Right Selection"
 msgstr "Définir (ou étendre) la sélection droite"
 
-#: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Réduire la sélection à gauche\tCtrl+Shift+Right"
+#: Menus.cpp:1046
+msgid "Selection Contract Left"
+msgstr "Réduire la sélection à gauche"
 
-#: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Réduire la sélection à droite\tCtrl+Shift+Left"
+#: Menus.cpp:1047
+msgid "Selection Contract Right"
+msgstr "Réduire la sélection à gauche"
 
-#: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Changer le panoramique sur la piste visée\tShift+P"
+#: Menus.cpp:1049
+msgid "Change pan on focused track"
+msgstr "Changer le panoramique sur la piste visée"
 
-#: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Panoramique à gauche sur la piste visée\tAlt+Shift+Left"
+#: Menus.cpp:1050
+msgid "Pan left on focused track"
+msgstr "Panoramique à gauche sur la piste visée"
 
-#: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Panoramique à droite sur la piste visée\tAlt+Shift+Right"
+#: Menus.cpp:1051
+msgid "Pan right on focused track"
+msgstr "Panoramique à droite sur la piste visée"
 
-#: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Changer le gain sur la piste visée\tShift+G"
+#: Menus.cpp:1052
+msgid "Change gain on focused track"
+msgstr "Changer le gain sur la piste visée"
 
-#: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Augmenter le gain sur la piste visée\tAlt+Shift+Up"
+#: Menus.cpp:1053
+msgid "Increase gain on focused track"
+msgstr "Augmenter le gain sur la piste visée"
 
-#: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Diminuer le gain sur la piste visée\tAlt+Shift+Down"
+#: Menus.cpp:1054
+msgid "Decrease gain on focused track"
+msgstr "Diminuer le gain sur la piste visée"
 
-#: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Ouvrir le menu sur la piste visée\tShift+M"
+#: Menus.cpp:1055
+msgid "Open menu on focused track"
+msgstr "Ouvrir le menu sur la piste visée"
 
-#: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Muet bascule marche/arrêt sur la piste visée\tShift+U"
+#: Menus.cpp:1056
+msgid "Mute/Unmute focused track"
+msgstr "Muet bascule marche/arrêt sur la piste visée"
 
-#: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Bascule marche/arrêt du solo sur la piste visée\tShift+S"
+#: Menus.cpp:1057
+msgid "Solo/Unsolo focused track"
+msgstr "Bascule marche/arrêt du solo sur la piste visée"
 
-#: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Fermer la sur la piste visée\tShift+C"
+#: Menus.cpp:1058
+msgid "Close focused track"
+msgstr "Fermer la sur la piste visée"
 
-#: Menus.cpp:858
+#: Menus.cpp:1060
 msgid "Snap To On"
 msgstr "Passer en sélection par bloc"
 
-#: Menus.cpp:859
+#: Menus.cpp:1061
 msgid "Snap To Off"
 msgstr "Passer en sélection libre"
 
-#: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
-msgstr ""
+#: Menus.cpp:1065
+msgid "Full screen on/off"
+msgstr "Plein écran/retour"
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr "Ajuster le gain de sortie"
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr "Augmenter le gain de sortie"
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr "Diminuer le gain de sortie"
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr "Ajuster le gain d'entrée"
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr "Augmenter le gain d'entrée"
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr "Diminuer le gain d'entrée"
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
+msgstr "Ajuster la source d'entrée"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:873
+#: Menus.cpp:1161
 msgid "Open Recent"
 msgstr "Ouvrir les fichiers récents"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1158
+#: Menus.cpp:1164
 msgid "Recent &Files"
-msgstr ""
+msgstr "&Fichiers récents..."
 
-#: Menus.cpp:925
+#: Menus.cpp:1182
 #, c-format
 msgid "&Undo %s"
 msgstr "&Annuler %s"
 
-#: Menus.cpp:951
+#: Menus.cpp:1208
 msgid "Can't Undo"
 msgstr "Impossible d'annuler"
 
-#: Menus.cpp:960
+#: Menus.cpp:1217
 #, c-format
 msgid "&Redo %s"
 msgstr "&Refaire %s"
 
-#: Menus.cpp:966
+#: Menus.cpp:1223
 msgid "Can't Redo"
 msgstr "Impossible de refaire"
 
-#: Menus.cpp:1528
+#: Menus.cpp:1858
 msgid "Sort By Time"
 msgstr "Trier par temps"
 
-#: Menus.cpp:1528
+#: Menus.cpp:1858
 msgid "Tracks sorted by time"
 msgstr "Pistes triées par temps"
 
-#: Menus.cpp:1554
+#: Menus.cpp:1884
 msgid "Sort By Name"
 msgstr "Trier par nom"
 
-#: Menus.cpp:1554
+#: Menus.cpp:1884
 msgid "Tracks sorted by name"
 msgstr "Pistes triées par nom"
 
-#: Menus.cpp:1705
+#: Menus.cpp:2035
 msgid "Set Left Selection Bound"
 msgstr "Définir la limite gauche de sélection"
 
-#: Menus.cpp:1739
+#: Menus.cpp:2071
 msgid "Set Right Selection Bound"
 msgstr "Définir la limite droite de sélection"
 
-#: Menus.cpp:2006
+#: Menus.cpp:2396
 msgid "You must select a track first."
-msgstr "Sélectionner d'abord une piste."
+msgstr "Sélectionner d'abord une piste"
 
-#: Menus.cpp:2035
+#: Menus.cpp:2431
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Répéter %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Répéter %s"
 
-#: Menus.cpp:2166
+#: Menus.cpp:2572
 msgid "There are no label tracks to export."
-msgstr "Il n'y a pas de piste de marqueurs à exporter."
+msgstr "Il n'y a pas de piste de marqueurs à exporter"
 
-#: Menus.cpp:2619
+#: Menus.cpp:2667
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "Exporter MIDI sous :"
 
-#: Menus.cpp:2623
+#: Menus.cpp:2671
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "Fichiers MIDI (*.mid)|*.mid|Fichiers Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2655
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2703
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
+"Vous avez sélectionné un nom de fichier comportant une extension inconnue.\n"
+"Souhaitez-vous continuer ?"
 
-#: Menus.cpp:2656
+#: Menus.cpp:2704
 msgid "Export MIDI"
-msgstr ""
+msgstr "Exporter MIDI"
 
-#: Menus.cpp:2271
+#: Menus.cpp:2782
 msgid "Nothing to undo"
 msgstr "Rien à annuler"
 
-#: Menus.cpp:2291
+#: Menus.cpp:2803
 msgid "Nothing to redo"
 msgstr "Rien à refaire"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2910
+#: TrackPanel.cpp:653
+#: toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Couper"
 
-#: Menus.cpp:2366
+#: Menus.cpp:2910
 msgid "Cut to the clipboard"
 msgstr "Couper vers le presse-papier"
 
-#: Menus.cpp:2404
+#: Menus.cpp:2949
 msgid "Split Cut"
 msgstr "Couper"
 
-#: Menus.cpp:2404
+#: Menus.cpp:2949
 msgid "Split-cut to the clipboard"
 msgstr "Couper vers le presse-papier"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
-#: toolbars/EditToolBar.cpp:137
+#: Menus.cpp:3015
+#: Menus.cpp:3080
+#: Menus.cpp:3161
+#: Menus.cpp:3360
+#: TrackPanel.cpp:655
+#: toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Coller"
 
-#: Menus.cpp:2469
+#: Menus.cpp:3015
 msgid "Pasted text from the clipboard"
 msgstr "Texte collé depuis le presse-papier"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:3080
+#: Menus.cpp:3161
+#: Menus.cpp:3360
 msgid "Pasted from the clipboard"
 msgstr "Collé depuis le presse-papier"
 
-#: Menus.cpp:3094
+#: Menus.cpp:3229
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "La copie d'un type de piste dans un autre n'est pas permise."
 
-#: Menus.cpp:2574
+#: Menus.cpp:3241
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "La copie d'audio stéréo dans une piste mono n'est pas permise."
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3396
+#: toolbars/EditToolBar.cpp:193
 msgid "Trim"
-msgstr "Rogner"
+msgstr "Ne garder que la sélection"
 
-#: Menus.cpp:2670
+#: Menus.cpp:3396
 msgid "Trim file to selection"
-msgstr "Rogner le fichier vers la sélection"
+msgstr "Couper le fichier vers la sélection"
 
-#: Menus.cpp:2699
+#: Menus.cpp:3425
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Audio supprimé de  %.2f secondes à t=%.2f"
 
-#: Menus.cpp:2702
+#: Menus.cpp:3428
 msgid "Split Delete"
 msgstr "Supprimer"
 
-#: Menus.cpp:2723
+#: Menus.cpp:3449
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Dégroupé de  %.2f secondes à t=%.2f"
 
-#: Menus.cpp:2726
+#: Menus.cpp:3452
 msgid "Disjoin"
-msgstr "Dégrouper"
+msgstr "Détacher"
 
-#: Menus.cpp:2747
+#: Menus.cpp:3473
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Groupé de  %.2f secondes à t=%.2f"
 
-#: Menus.cpp:2750
+#: Menus.cpp:3476
 msgid "Join"
-msgstr "Grouper"
+msgstr "Fusionner"
 
-#: Menus.cpp:2769
+#: Menus.cpp:3495
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Pistes sélectionnées rendues muettes de %.2f secondes à %.2f"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3497
+#: toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Silence"
 
-#: Menus.cpp:2805
+#: Menus.cpp:3527
 msgid "Duplicate"
 msgstr "Dupliquer"
 
-#: Menus.cpp:2805
+#: Menus.cpp:3527
 msgid "Duplicated"
 msgstr "Dupliqué"
 
-#: Menus.cpp:2824
+#: Menus.cpp:3546
 msgid "Cut Labels"
 msgstr "Copier les marqueurs"
 
-#: Menus.cpp:2824
+#
+#: Menus.cpp:3546
 msgid "Cut labeled regions to the clipboard"
 msgstr "Couper la région marquée vers le presse-papier"
 
-#: Menus.cpp:2838
+#: Menus.cpp:3560
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Couper les régions marquées vers le presse-papier"
 
-#: Menus.cpp:2839
+#: Menus.cpp:3561
 msgid "Split Cut Labels"
 msgstr "Couper les marqueurs"
 
-#: Menus.cpp:2853
+#: Menus.cpp:3575
 msgid "Copied labeled regions to the clipboard"
 msgstr "Régions marquées collées vers le presse-papier"
 
-#: Menus.cpp:2853
+#: Menus.cpp:3575
 msgid "Copy Labels"
 msgstr "Copier les marqueurs"
 
-#: Menus.cpp:2865
+#: Menus.cpp:3587
 msgid "Delete Labels"
 msgstr "Effacer les marqueurs"
 
-#: Menus.cpp:2865
+#: Menus.cpp:3587
 msgid "Deleted labeled regions"
 msgstr "Supprimer les régions marquées"
 
-#: Menus.cpp:2877
+#: Menus.cpp:3599
 msgid "Split Delete Labels"
 msgstr "Supprimer les marqueurs"
 
-#: Menus.cpp:2877
+#: Menus.cpp:3599
 msgid "Split Deleted labeled regions"
-msgstr "Supprimer les régions marquéesr"
+msgstr "Supprimer les régions marquées"
 
-#: Menus.cpp:2889
+#: Menus.cpp:3611
 msgid "Silence Labels"
 msgstr "Marqueurs de silence"
 
-#: Menus.cpp:2889
-#, fuzzy
+#: Menus.cpp:3611
 msgid "Silenced labeled regions"
-msgstr "Rendre la sélection muette"
+msgstr "Régions marquées muettes"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3623
 msgid "Split Labels"
 msgstr "Scinder les marqueurs"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3623
 msgid "Split labeled regions"
 msgstr "Scinder les régions marquées"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3635
 msgid "Join Labels"
-msgstr "Grouper les marqueurs"
+msgstr "Fusionner les marqueurs"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3635
 msgid "Joined labeled regions"
 msgstr "Régions marquées groupées"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3647
 msgid "Disjoin Labels"
 msgstr "Dégrouper les marqueurs"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3647
 msgid "Disjoined labeled regions"
 msgstr "Régions marquées dégroupées"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:3669
+#: TrackPanel.cpp:6255
 msgid "Split"
 msgstr "Séparer"
 
-#: Menus.cpp:3041
+#: Menus.cpp:3758
 msgid "Split New"
 msgstr "Scinder dans une nouvelle piste"
 
-#: Menus.cpp:3041
+#: Menus.cpp:3758
 msgid "Split to new track"
 msgstr "Séparer vers une nouvelle piste"
 
-#: Menus.cpp:3124
+#: Menus.cpp:3840
 msgid "Split at labels"
 msgstr "Séparer au marqueur"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Pour le tracé du spectre, toutes les pistes sélectionnées doivent avoir le même taux d'échantillonnage."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Trop d'audio a été sélectionné. Seules les %.1f premières secondes d'audio seront analysées."
-
-#: Menus.cpp:3584
+#: Menus.cpp:4254
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Marqueurs importés depuis '%s'"
 
-#: Menus.cpp:3585
+#: Menus.cpp:4255
 msgid "Import Labels"
 msgstr "Importer les marqueurs"
 
-#: Menus.cpp:3595
+#: Menus.cpp:4266
 msgid "Select a MIDI file..."
 msgstr "Choisir un fichier MIDI..."
 
-#: Menus.cpp:4196
+#: Menus.cpp:4270
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "Fichiers MIDI et Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|Fichiers MIDI (*.mid;*.midi)|*.mid;*.midi|Fichiers Allegro(*.gro)|*.gro|All files (*.*)|*.*"
 
-#: Menus.cpp:3615
+#: Menus.cpp:4286
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "Midi importé depuis '%s'"
 
-#: Menus.cpp:3617
+#: Menus.cpp:4287
 msgid "Import MIDI"
 msgstr "Importer MIDI"
 
-#: Menus.cpp:3630
+#: Menus.cpp:4301
 msgid "Select any uncompressed audio file..."
-msgstr "Choisir un fichier audio non compressé..."
+msgstr "Choisir un fichier audio non compressé ..."
 
-#: Menus.cpp:3634
+#: Menus.cpp:4305
 msgid "All files (*)|*"
 msgstr "Tous les fichiers (*.*)|*.*"
 
-#: Menus.cpp:3668
+#: Menus.cpp:4329
 msgid "Edit the metadata tags"
 msgstr "Editer les tags de métadonnées"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:4330
+#: export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Editer les métadonnées"
 
-#: Menus.cpp:3669
+#: Menus.cpp:4330
 msgid "Edit Metadata tags"
 msgstr "Editer les tags de métadonnées"
 
-#: Menus.cpp:3725
+#: Menus.cpp:4385
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Tout l'audio de la piste '%s' rendu"
 
-#: Menus.cpp:3726
+#: Menus.cpp:4386
 msgid "Render"
 msgstr "Rendu"
 
-#: Menus.cpp:3731
+#: Menus.cpp:4391
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "Mixer et rendre les pistes %d en une nouvelle piste stéréo"
 
-#: Menus.cpp:3734
+#: Menus.cpp:4394
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Mixer et rendre les pistes %d en une nouvelle piste mono"
 
-#: Menus.cpp:3736
+#: Menus.cpp:4396
 #: Mix.cpp:120
 msgid "&Mix and Render"
-msgstr "&Mixage et rendu"
+msgstr "&Mixer et rendre"
 
-#: Menus.cpp:3866
+#: Menus.cpp:4528
 msgid "Aligned with zero"
 msgstr "Aligné avec le zéro"
 
-#: Menus.cpp:3870
+#: Menus.cpp:4532
 msgid "Aligned cursor"
 msgstr "Curseur aligné"
 
-#: Menus.cpp:3874
+#: Menus.cpp:4536
 msgid "Aligned with selection start"
 msgstr "Aligné avec le début de la sélection"
 
-#: Menus.cpp:3878
+#: Menus.cpp:4540
 msgid "Aligned with selection end"
 msgstr "Aligné avec la fin de la sélection"
 
-#: Menus.cpp:3882
+#: Menus.cpp:4544
 msgid "Aligned end with cursor"
 msgstr "Fin alignée avec le curseur"
 
-#: Menus.cpp:3886
+#: Menus.cpp:4548
 msgid "Aligned end with selection start"
 msgstr "Fin alignée avec le début de la sélection"
 
-#: Menus.cpp:3890
+#: Menus.cpp:4552
 msgid "Aligned end with selection end"
 msgstr "Fin alignée avec la fin de la sélection"
 
-#: Menus.cpp:3894
+#: Menus.cpp:4556
 msgid "Aligned"
 msgstr "Aligné"
 
-#: Menus.cpp:3927
+#: Menus.cpp:4589
 msgid "Align"
 msgstr "Aligner"
 
-#: Menus.cpp:4599
+#: Menus.cpp:4675
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "Sync MIDI avec Audio"
 
-#: Menus.cpp:4603
+#: Menus.cpp:4679
 msgid "Alignment completed."
-msgstr ""
+msgstr "Alignement achevé"
 
-#: Menus.cpp:3950
+#: Menus.cpp:4690
 msgid "Created new audio track"
 msgstr "Nouvelle piste audio créée"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:4690
+#: Menus.cpp:4712
+#: Menus.cpp:4727
+#: Menus.cpp:4747
 msgid "New Track"
 msgstr "Nouvelle piste"
 
-#: Menus.cpp:3973
+#: Menus.cpp:4712
 msgid "Created new stereo audio track"
 msgstr "Nouvelle piste audio stéréo créée"
 
-#: Menus.cpp:3988
+#: Menus.cpp:4727
 msgid "Created new label track"
 msgstr "Nouvelle piste de marqueurs créée"
 
-#: Menus.cpp:3997
+#: Menus.cpp:4736
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Cette version d'Audacity ne prend pas en charge des pistes temporelles multiples"
 
-#: Menus.cpp:4008
+#: Menus.cpp:4747
 msgid "Created new time track"
 msgstr "Nouvelle piste de temps créée"
 
-#: Menus.cpp:4057
+#: Menus.cpp:4807
 msgid "Added label"
 msgstr "Marqueur ajouté"
 
-#: Menus.cpp:4085
+#: Menus.cpp:4842
 msgid "Edited labels"
 msgstr "Marqueurs édités"
 
-#: Menus.cpp:4112
+#: Menus.cpp:4869
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Enregistrer le fichier de présélection CleanSpeech sous :"
 
-#: Menus.cpp:4116
+#: Menus.cpp:4873
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Préréglages de ClenSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4880
+#: export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Désolé, les noms de chemins de plus de 256 caractères ne sont pas supportés."
 
-#: Menus.cpp:4169
+#: Menus.cpp:4926
 msgid "Problem encountered exporting presets."
 msgstr "Problème rencontré lors de l'exportation des présélections."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4927
+#: export/Export.cpp:472
 msgid "Unable to export"
 msgstr "Impossible d'exporter"
 
-#: Menus.cpp:4354
+#: Menus.cpp:5110
 msgid "Remove Track"
 msgstr "Supprimer la piste"
 
-#: Menus.cpp:4354
+#: Menus.cpp:5110
 msgid "Removed audio track(s)"
 msgstr "Piste(s) audio supprimée(s)"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:5266
+#: Menus.cpp:5322
+#: export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Rééchantillonner"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5287
+#: TrackPanel.cpp:6479
+#: toolbars/MixerToolBar.cpp:314
 msgid "New sample rate (Hz):"
-msgstr "Nouvelle fréquence d'échantillonnage (Hz) :"
+msgstr "Nouvelle fréquence d'échantillonnage (Hz):"
 
-#: Menus.cpp:4514
+#: Menus.cpp:5311
+#: TrackPanel.cpp:6503
 msgid "The entered value is invalid"
 msgstr "La valeur entrée est invalide"
 
-#: Menus.cpp:4525
+#: Menus.cpp:5320
 #, c-format
 msgid "Resampling track %d"
 msgstr "Rééchantillonnage de la piste %d"
 
-#: Menus.cpp:4536
+#: Menus.cpp:5329
 msgid "Resample Track"
 msgstr "Rééchantillonner la piste"
 
-#: Menus.cpp:4536
+#: Menus.cpp:5329
 msgid "Resampled audio track(s)"
 msgstr "Piste(s) audio rééchantillonnée(s)"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:95
+#: Mix.cpp:102
 msgid "Mix"
 msgstr "Mixer"
 
 #: Mix.cpp:121
 msgid "Mixing and rendering tracks"
-msgstr "Mixage et rendu des pistes"
+msgstr "Mixer et rendre les pistes"
 
-#: NoteTrack.cpp:36
+#: NoteTrack.cpp:43
 msgid "Note Track"
 msgstr "Piste de note"
 
-#: Printing.cpp:198
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Il y a eu un problème à l'impression."
 
-#: Printing.cpp:199
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Imprimer"
 
-#: Project.cpp:636
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr "Répéter le dernier effet"
+
+#: Project.cpp:774
 msgid "Main Mix"
 msgstr "Mix principal"
 
-#: Project.cpp:761
+#: Project.cpp:892
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Bienvenue dans Audacity version %s"
 
-#: Project.cpp:922
+#: Project.cpp:1047
 msgid "(Recovered)"
 msgstr "(Récupéré)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Project.cpp:1689
+#: TrackPanel.cpp:840
+#: toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Enregistrement"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1689
+#: TrackPanel.cpp:840
 msgid "Recorded Audio"
 msgstr "Audio enregistré"
 
-#: Project.cpp:1500
+#: Project.cpp:1707
 msgid "Save changes before closing?"
 msgstr "Enregistrer les modifications avant de quitter ?"
 
-#: Project.cpp:1503
-msgid "\n"
+#: Project.cpp:1710
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr "\n"
+msgstr ""
+"\n"
 "En cas d'enregistrement, le projet n'aura pas de piste.\n"
 "\n"
 "Pour enregistrer toute piste précédemment ouverte :\n"
 "Annuler, Edition > Annuler, jusqu'à ce que toutes les pistes\n"
 "soient ouverte, puis Fichier > Enregistrer le projet."
 
-#: Project.cpp:1506
+#: Project.cpp:1713
 msgid "Save changes?"
 msgstr "Enregistrer les modifications ?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Tous fichiers|*.*|Tous les fichiers supportés|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr "Tous fichiers|*|Tous fichiers supportés|"
 
-#: Project.cpp:1719
+#: Project.cpp:1955
 msgid "Select one or more audio files..."
 msgstr "Choisir un ou plusieurs fichiers audio..."
 
-#: Project.cpp:1746
+#: Project.cpp:1982
 msgid "Audacity projects|*.aup|"
-msgstr "Projets Audacity (*.aup)|*.aup|"
+msgstr "Projets Audacity (*.aup)|*.aup"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:2042
+#: Project.cpp:2477
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr "Ce fichier a été enregistré par Audacity %s,\n"
+msgstr ""
+"Ce fichier a été enregistré par Audacity %s,\n"
 "une très vieille version.  Le format a changé.\n"
 "\n"
 "Audacity peut corrompre le fichier en l'ouvrant,\n"
@@ -2994,88 +3104,116 @@ msgstr "Ce fichier a été enregistré par Audacity %s,\n"
 "\n"
 "Ouvrir le fichier immédiatement ?"
 
-#: Project.cpp:1800
+#: Project.cpp:2043
 msgid "1.0 or earlier"
 msgstr "1.0 ou précédentes"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:2049
+#: Project.cpp:2489
 msgid "Opening old project file"
 msgstr "Ouverture d'ancien fichier de projet"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"Vous essayez d'ouvrir un fichier de sauvergarde créé automatiquement.\n"
+"Le faire peut causer ddes pertes sévères de données.\n"
+"\n"
+"Ouvrez plutôt le projet Audacity actuel."
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr "Fichier de sauvegarde détecté"
+
+#: Project.cpp:2088
+#: Project.cpp:2096
+#: xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Erreur d'ouverture de fichier"
 
-#: Project.cpp:1846
+#: Project.cpp:2102
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "Le fichier est peut-être invalide ou corrompu: \n"
+msgstr ""
+"Le fichier est peut-être invalide ou corrompu: \n"
 "%s"
 
-#: Project.cpp:1847
+#: Project.cpp:2103
 msgid "Error opening file or project"
 msgstr "Erreur d'ouverture de fichier ou de projet"
 
-#: Project.cpp:1867
+#: Project.cpp:2123
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity ne peut pas convertir un projet Audacity 1.0 au nouveau format de projet."
 
-#: Project.cpp:1970
+#: Project.cpp:2230
 msgid "Could not remove old auto save file"
 msgstr "Impossible de retirer l'ancien fichier de sauvegarde automatique"
 
-#: Project.cpp:1972
+#: Project.cpp:2232
 msgid "Project was recovered"
 msgstr "Le projet a été récupéré"
 
-#: Project.cpp:1972
+#: Project.cpp:2232
 msgid "Recover"
 msgstr "Récupérer"
 
-#: Project.cpp:2001
+#: Project.cpp:2261
 msgid "Project checker repaired file"
 msgstr "Le vérificateur de fichier a réparé le fichier"
 
-#: Project.cpp:2001
+#: Project.cpp:2261
 #: effects/Repair.h:29
 msgid "Repair"
 msgstr "Réparer"
 
-#: Project.cpp:2112
+#: Project.cpp:2402
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Impossible de trouver le répertoire de données du projet : \"%s\""
 
-#: Project.cpp:2155
+#: Project.cpp:2446
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "Ce fichier a été enregistré avec  Audacity %s.\n"
+msgstr ""
+"Ce fichier a été enregistré avec  Audacity %s.\n"
 "Vous utilisez Audacity %s - vous devez mettre votre version\n"
 "à jour pour ouvrir ce fichier."
 
-#: Project.cpp:2159
+#: Project.cpp:2450
 msgid "Can't open project file"
 msgstr "Impossible d'ouvrir le fichier projet"
 
 # n
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "Ce fichier a été enregistré par Audacity %s.\n"
-"Vous pouvez l'ouvrir avec cette version d'Audacity, mais si vous l'enregistrez avec, vous ne pourrez plus l'ouvrir dans l'ancienne version.\n"
+msgstr ""
+"Ce fichier a été enregistré par Audacity %s,\n"
 "\n"
-"Ouvrir le fichier immédiatement ?"
+"Audacity peut ouvrir ce fichier et le sauvegarder, mais l'enregistrer avec cette version\n"
+"vous empêchera de l'ouvrir dans une version 1.2 ou plus ancienne.\n"
+"\n"
+"Ouvrir le fichier maintenant ?"
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2682
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3084,55 +3222,70 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"Votre projet n'est pas vide.\n"
+"En cas d'enregistrement, le projet n'aura pas de piste.\n"
+"\n"
+"Pour enregistrer toute piste précédemment ouverte :\n"
+"Annuler, Edition > Annuler, jusqu'à ce que toutes les pistes\n"
+"soient ouverte, puis Fichier > Enregistrer le projet.\n"
+"\n"
+"Enregistrer malgré tout ?"
 
-#: Project.cpp:2538
+#: Project.cpp:2683
 msgid "Warning empty project"
-msgstr ""
+msgstr "Attention, projet vide"
 
-#: Project.cpp:2647
+#: Project.cpp:2792
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
+"Impossible de sauver le projet. %s est peut-être\n"
+"protégé en écriture, ou le disque est plein."
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2794
+#: Project.cpp:2820
 msgid "Error saving project"
 msgstr "Erreur d'enregistrement du projet"
 
-#: Project.cpp:2504
+#: Project.cpp:2818
+#: Project.cpp:3919
+#: Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "Impossible d'enregistrer le fichier \"%s\": %s"
+
+#: Project.cpp:2898
 #, c-format
 msgid "Saved %s"
 msgstr " %s enregistré"
 
-#: Project.cpp:2586
+#: Project.cpp:3051
 #, c-format
 msgid "Imported '%s'"
 msgstr " '%s' importé"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
-#: import/ImportPCM.cpp:484
+#: Project.cpp:3052
 msgid "Import"
-msgstr "Importer"
+msgstr "Importer "
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:3087
 msgid "Error importing"
 msgstr "Erreur d'importation"
 
-#: Project.cpp:2681
+#: Project.cpp:3134
 msgid "Save Speech As:"
 msgstr "Enregistrer Speech sous :"
 
-#: Project.cpp:2683
+#: Project.cpp:3136
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Fichier audio Windows PCM  *.wav)|*.wav"
 
-#: Project.cpp:2938
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:3143
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
@@ -3140,161 +3293,362 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
 msgstr ""
+"Les fichiers de projets compressés Audacity (.aup) enregistrent votre travail dans un  format compressé (.ogg).\n"
+"Les fichiers de projets compressés sont un bon moyen de transmettre vos projets, car ils sont bien plus réduits.\n"
+"L'ouverture d'un projet compressé prend plus de temps, puisqu'il importe chaque piste compressée.\n"
+"\n"
+"La plupart des autres programmes ne peuvent ouvrir des fichiers de projet Audacity.\n"
+"Si vous voulez enregister un fichier pouvant être ouvert par d'autres programmes, sélectionnez\n"
+"une des commandes d'exportation."
 
-#: Project.cpp:2941
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3146
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
+"Vous sauvegardez un projet Audacity (.aup).\n"
+"\n"
+"La sauvegarde d'un projet crée des fichiers utilisables seulement par Audacity.\n"
+"\n"
+"Pour enregistrer un fichier audio utilisable avec d'autres programmes, utiliser une des commandes \"Fichier > Exporter\".\n"
 
-#: Project.cpp:2692
+#: Project.cpp:3150
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Projets Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2736
+#: Project.cpp:3199
 msgid "Created new project"
 msgstr "Nouveau projet créé"
 
-#: Project.cpp:2856
+#: Project.cpp:3341
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Effacé de  %.2f secondes à t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
-#: effects/Equalization.cpp:2593
+#: Project.cpp:3344
+#: effects/Equalization.cpp:1298
+#: effects/Equalization.cpp:2648
 msgid "Delete"
 msgstr "Effacer"
 
-#: Project.cpp:3052
+#: Project.cpp:3538
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
-msgstr "Espace disque restant pour l'enregistrement de %d heures et %d minutes."
+msgstr "Espace disque restant pour l'enregistrement : %d heures et %d minutes"
 
-#: Project.cpp:3055
+#: Project.cpp:3541
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
-msgstr "Espace disque restant pour l'enregistrement d'une 1 heure et %d minutes."
+msgstr "Espace disque restant pour l'enregistrement : 1 heure et %d minutes"
 
-#: Project.cpp:3058
+#: Project.cpp:3544
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "L'espace disque restant permet l'enregistrement de %d minutes."
 
-#: Project.cpp:3061
+#: Project.cpp:3547
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "L'espace disque restant permet l'enregistrement de  %d seconds."
 
-#: Project.cpp:3064
+#: Project.cpp:3550
 msgid "Out of disk space"
 msgstr "Disque plein"
 
-#: Project.cpp:3380
+#: Project.cpp:3563
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Import(s) achevé(s). Exécution des calculs de forme d'onde %d à la demande.%2.0f%% achevé cependant."
 
-#: Project.cpp:3383
+#: Project.cpp:3566
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Import achevé. Exécution d'un calcul de forme d'onde à la demande. %2.0f%% achevé."
 
-#: Project.cpp:3342
+#: Project.cpp:3850
 msgid "Could not remove old autosave file: "
-msgstr "Impossible de supprimer l'ancien fichier de sauvegarde automatique :"
+msgstr "Impossible de retirer l'ancien fichier de sauvegarde automatique :"
 
-#: Project.cpp:3383
+#: Project.cpp:3891
 msgid "New Project"
 msgstr "Nouveau projet"
 
-#: Project.cpp:3396
+#: Project.cpp:3921
 msgid "Error writing autosave file"
 msgstr "Erreur d'écriture de fichier de sauvegarde automatique"
 
-#: Project.cpp:3421
+#: Project.cpp:3936
 msgid "Could not create autosave file: "
 msgstr "Impossible d'enregistrer le fichier de sauvegarde automatique :"
 
-#: Project.cpp:3447
+#: Project.cpp:3962
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Taux actuel : %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample par Dominic Mazzoni et Julius Smith"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Interpolation de haute qualité"
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Interpolation rapide"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "LibsampleRate, d'Erik de Castro Lopo"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Erreur LibSampleRate : %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Rééchantillonnage désactivé."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16 bits PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24 bits PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32 bits flottant"
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Outil de capture d'écran"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Choisir un emplacement pour enregistrer les fichiers"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Enregistrer les images dans :"
+
+#: Screenshot.cpp:328
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Choisir..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Capturer entièrement la fenêtre ou l'écran"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Réduire en petite fenêtre"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Réduire en grande fenêtre"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Fond bleu"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Fond blanc"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Capturer la fenêtre de travail"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Capturer la fenêtre complète"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Capturer au-delà de la fenêtre"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Capturer tout l'écran"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Attendre 5 secondes et capturer également menu/boîte de dialogue"
+
+#: Screenshot.cpp:369
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr "faux"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Capturer une partie de la fenêtre de projet"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Toutes les barres d'outils"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "Barre de sélection"
+
+#: Screenshot.cpp:381
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Outils"
+
+#: Screenshot.cpp:382
+#: effects/Contrast.cpp:410
+#: toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr "Contrôle"
+
+#: Screenshot.cpp:388
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:240
+msgid "Mixer"
+msgstr "Mixage"
+
+#: Screenshot.cpp:389
+#: toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr "VU-mètre"
+
+#: Screenshot.cpp:390
+#: toolbars/EditToolBar.cpp:76
+#: toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "Edition"
+
+#: Screenshot.cpp:391
+#: prefs/DevicePrefs.cpp:133
+#: prefs/DevicePrefs.cpp:146
+#: prefs/MidiIOPrefs.cpp:118
+#: prefs/MidiIOPrefs.cpp:132
+#: toolbars/DeviceToolBar.cpp:57
+#: toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr "Périphérique"
+
+#: Screenshot.cpp:392
+#: toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:252
+msgid "Transcription"
+msgstr "Lecture variable"
+
+#: Screenshot.cpp:398
+#: TrackPanel.cpp:443
+#: TrackPanel.cpp:444
+msgid "Track Panel"
+msgstr "Panneau de piste"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Règle"
+
+#: Screenshot.cpp:400
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
+#: prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Pistes"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Première piste"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Seconde piste "
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Echelle"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Une sec."
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "Dix sec."
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Une min."
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "Cinq min."
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Une heure"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Pistes réduites"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Pistes normales"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Pistes pleine largeur"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Enregistré"
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "Erreur à l'enregistrement du fichier :"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Choisir un emplacement pour enregistrer les copies d'écran"
+
+#: Sequence.cpp:799
+#: Sequence.cpp:809
+#: Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "Des manques ont été découverts dans le fichier projet\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
-#: effects/audiounits/AudioUnitEffect.cpp:872
+#: ShuttleGui.cpp:2034
+#: effects/Effect.cpp:458
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr "Pré&visualisation"
 
-#: ShuttleGui.cpp:1859
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Débogage"
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Enregistrement automatique"
 
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "Niveau d'activation (dB) :"
 
 #: SplashDialog.cpp:60
 msgid "&Welcome to Audacity!"
@@ -3321,716 +3675,723 @@ msgid "Track Number"
 msgstr "Numéro de piste"
 
 #: Tags.cpp:633
-#: Tags.cpp:2138
 msgid "Year"
-msgstr "Année"
+msgstr "Année :"
 
 #: Tags.cpp:634
 msgid "Genre"
 msgstr "Genre "
 
 #: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Commentaires "
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Utiliser les flèches(ou la touche ENTRÉE après la frappe) pour passer d'un champ à l'autre."
 
-#: Tags.cpp:802
+#: Tags.cpp:812
 msgid "Tag Name"
-msgstr "Nom du Tag"
+msgstr "Nom du  tag"
 
-#: Tags.cpp:803
+#: Tags.cpp:813
 msgid "Tag Value"
 msgstr "Valeur de tag"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:828
+#: prefs/KeyConfigPrefs.cpp:145
+#: widgets/FileHistory.cpp:174
 msgid "&Clear"
-msgstr "Effa&cer"
+msgstr "Effacer"
 
-#: Tags.cpp:824
+#: Tags.cpp:834
 msgid "Genres"
 msgstr "Genres"
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
-msgstr ""
+msgstr "E&diter..."
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
-msgstr ""
+msgstr "Réini&tialiser..."
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:844
 msgid "Template"
 msgstr "Modèle"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:848
+#: prefs/KeyConfigPrefs.cpp:155
 msgid "&Load..."
 msgstr "Charger..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:849
+#: prefs/KeyConfigPrefs.cpp:156
 msgid "&Save..."
 msgstr "Enregi&strer.."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:851
 msgid "S&et Default"
 msgstr "Réglag&es par défaut"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr "Editer les genres"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1034
+#: Tags.cpp:1046
+#: Tags.cpp:1061
+#: Tags.cpp:1074
 msgid "Reset Genres"
 msgstr "Rétablir les genres"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2443
+#: Tags.cpp:1034
+#: Tags.cpp:1074
 msgid "Unable to save genre file."
-msgstr "Impossible d'enregistrer le fichier de genre."
+msgstr "Impossible d'enregistrer le fichier de genre"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Etes-vous sûr(e) de remettre à zéro la liste de genre ? "
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr "Impossible d'ouvrir le fichier de genre."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Charger les métadonnées comme :"
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr "Erreur de chargement des métadonnées"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
-#: Tags.cpp:2501
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr "Enregistrer les métadonnées sous :"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "Erreur à l'enregistrement de fichiers tags"
+
 #: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
-msgstr "Audacity n'arrive pas à écrire le fichier :\n"
+msgstr ""
+"Audacity n'arrive pas à écrire le fichier :\n"
 "  %s."
 
 #: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr "Audacity ne peut ouvrir le fichier :\n"
+msgstr ""
+"Audacity ne peut ouvrir le fichier :\n"
 "  %s\n"
 "en écriture."
 
 #: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
-msgstr "Audacity n'arrive pas à enregistrer les images dans le fichier :\n"
+msgstr ""
+"Audacity n'arrive pas à enregistrer les images dans le fichier :\n"
 "  %s."
 
 #: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr "Audacity ne peut trouver le fichier :\n"
+msgstr ""
+"Audacity ne peut trouver le fichier :\n"
 "  %s.\n"
 "Le thème n'est pas chargé."
 
 #: Theme.cpp:807
 #: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr "Audacity ne peut charger le fichier :\n"
+msgstr ""
+"Audacity ne peut charger le fichier :\n"
 "  %s.\n"
 "Peut-être un mauvais format png ?"
 
 #: Theme.cpp:823
-msgid "Audacity could not read its default theme.\n"
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr "Audacity ne peut lire son thème par défaut.\n"
+msgstr ""
+"Audacity ne peut lire son thème par défaut.\n"
 "Merci de rapporter le problème."
 
 #: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr "Aucun des fichiers composant le thème attendu\n"
+msgstr ""
+"Aucun des fichiers composant le thème attendu\n"
 "n'a été trouvé dans :\n"
 "  %s."
 
 #: Theme.cpp:942
 #: effects/NoiseRemoval.cpp:173
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
-msgstr "Impossible de créer le répertoire :\n"
+msgstr ""
+"Impossible de créer le répertoire :\n"
 "  %s"
 
 #: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
-msgstr "Audacity n'arrive pas à enregistrer le fichier :\n"
+msgstr ""
+"Audacity n'arrive pas à enregistrer le fichier :\n"
 "  %s."
 
 #: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr "Tous les fichiers requis dans :\n"
+msgstr ""
+"Tous les fichiers requis dans :\n"
 "  %s\n"
-"sont déjà présents."
+"sont désormais présents."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
 #: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: TimeDialog.cpp:64
+#: TimerRecordDialog.cpp:236
+#: TimerRecordDialog.cpp:367
+#: TimerRecordDialog.cpp:371
+#: effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191
+#: effects/Noise.cpp:207
+#: effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291
+#: effects/ToneGen.cpp:323
+#: effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr "Durée"
 
-#: SmartRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Enregistrement programmé d'Audacity"
 
-#: SmartRecordDialog.cpp:223
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "La durée est à zéro. Rien ne sera enregistré."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Erreur de durée"
+
+#: TimerRecordDialog.cpp:233
 msgid "Recording start"
 msgstr "Début de l'enregistrement"
 
-#: SmartRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:234
 msgid "Recording end"
 msgstr "Fin de l'enregistrement"
 
-#: TimerRecordDialog.cpp:231
+#: TimerRecordDialog.cpp:239
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Progression de l'enregistrement programmé d'Audacity"
 
-#: SmartRecordDialog.cpp:273
+#: TimerRecordDialog.cpp:329
 msgid "Start Date and Time"
 msgstr "Date et heure de début"
 
-#: TimerRecordDialog.cpp:324
+#: TimerRecordDialog.cpp:336
 msgid "Start Date"
-msgstr ""
+msgstr "Date de début"
 
-#: SmartRecordDialog.cpp:290
+#: TimerRecordDialog.cpp:348
 msgid "End Date and Time"
 msgstr "Date et heure de fin"
 
-#: TimerRecordDialog.cpp:344
+#: TimerRecordDialog.cpp:356
 msgid "End Date"
-msgstr ""
+msgstr "Date de fin"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
-#: SmartRecordDialog.cpp:383
+#. * but hopefully translated by wxwidgets will be inserted into this
+#: TimerRecordDialog.cpp:443
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "En attente de démarrage d'enregistrement à %s.\n"
 
-#: TimerRecordDialog.cpp:432
+#: TimerRecordDialog.cpp:444
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
+msgstr "Enregistrement programmé d'Audacity - en attente de démarrage"
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Panneau de piste"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:597
+#: prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "Autre..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:605
+#: TrackPanel.cpp:628
+#: TrackPanel.cpp:637
+#: TrackPanel.cpp:645
 msgid "Name..."
 msgstr "Nom..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:607
+#: TrackPanel.cpp:630
+#: TrackPanel.cpp:641
+#: TrackPanel.cpp:647
 msgid "Move Track Up"
 msgstr "Déplacer la piste vers le haut"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:608
+#: TrackPanel.cpp:631
+#: TrackPanel.cpp:642
+#: TrackPanel.cpp:648
 msgid "Move Track Down"
 msgstr "Déplacer la piste vers le bas"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:610
+#: effects/ToneGen.cpp:275
+#: prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Forme d'onde"
 
-#: TrackPanel.cpp:562
+#: TrackPanel.cpp:611
+#: prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Forme d'onde (dB)"
 
-#: TrackPanel.cpp:565
+#: TrackPanel.cpp:613
+#: prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
-msgstr "Journal de spectre(f)"
+msgstr "Spectre logarithmique décimal"
 
-#: TrackPanel.cpp:567
+#. i18n-hint: short form of 'logarithm'
+#: TrackPanel.cpp:614
+#: prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Hauteur (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:616
+#: TrackPanel.cpp:6198
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:617
+#: TrackPanel.cpp:6197
 msgid "Left Channel"
 msgstr "Canal gauche"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:618
+#: TrackPanel.cpp:6197
 msgid "Right Channel"
 msgstr "Canal droit"
 
-#: TrackPanel.cpp:572
+#: TrackPanel.cpp:619
 msgid "Make Stereo Track"
-msgstr "Transformer en piste stéréo"
+msgstr "Joindre en piste stéréo"
 
-#: TrackPanel.cpp:573
+#: TrackPanel.cpp:620
 msgid "Split Stereo Track"
 msgstr "Séparer la piste stéréo"
 
-#: TrackPanel.cpp:575
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr "Séparer stéréo vers mono"
+
+#: TrackPanel.cpp:623
 msgid "Set Sample Format"
-msgstr "Choisir un format d'échantillon"
+msgstr "Choisir un format d'échantillonnage"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:625
+#: TrackPanel.cpp:6459
 msgid "Set Rate"
-msgstr "Régler le taux"
+msgstr "Fréquence d'échantillonnage"
 
-#: TrackPanel.cpp:585
+#: TrackPanel.cpp:633
 msgid "Up Octave"
 msgstr "Octave supérieure"
 
-#: TrackPanel.cpp:586
+#: TrackPanel.cpp:634
 msgid "Down Octave"
 msgstr "Octave inférieure"
 
-#: TrackPanel.cpp:591
+#: TrackPanel.cpp:639
 msgid "Font..."
 msgstr "Police..."
 
-#: TrackPanel.cpp:602
+#: TrackPanel.cpp:650
 msgid "Set Range..."
-msgstr "Régler l'étendue..."
+msgstr "Régler l'amplitude..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:654
+#: toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Copier"
 
-#: TrackPanel.cpp:1272
+#: TrackPanel.cpp:1304
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "Clic pour zoom vertical, Maj+clic pour zoom arrière, glisser pour ajuster le zoom à une zone"
 
-#: TrackPanel.cpp:1277
+#: TrackPanel.cpp:1309
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "Tirer ce panneau vers le haut ou le bas pour changer l'ordre des pistes."
 
-#: TrackPanel.cpp:1297
+#: TrackPanel.cpp:1329
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Cliquer-glisser pour ajuster la taille relative des pistes stéréo"
 
-#: TrackPanel.cpp:1300
+#: TrackPanel.cpp:1332
 msgid "Click and drag to resize the track."
 msgstr "Cliquer-glisser pour redimensionner la piste."
 
-#: TrackPanel.cpp:1331
+#: TrackPanel.cpp:1363
 msgid "Drag one or more label boundaries"
 msgstr "Tirer une limite de marqueur ou plus"
 
-#: TrackPanel.cpp:1332
+#: TrackPanel.cpp:1364
 msgid "Drag label boundary"
 msgstr "Tirer la limite de marqueur"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1348
+#: TrackPanel.cpp:1380
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Mode multi-outils : Cmd-, pour Préférences souris et clavier"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1351
+#: TrackPanel.cpp:1383
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Mode multi-outils : Ctrl+P pour Préférences souris et clavier"
 
-#: TrackPanel.cpp:1371
+#: TrackPanel.cpp:1429
 msgid "Click and drag to move left selection boundary."
-msgstr "Cliquer-glisser pour déplacer la limite gauche de la sélection."
+msgstr "Cliquer-glisser pour déplacer à gauche les limites de la sélection."
 
-#: TrackPanel.cpp:1376
+#: TrackPanel.cpp:1434
 msgid "Click and drag to move right selection boundary."
-msgstr "Cliquer-glisser pour déplacer la limite droite de la sélection."
-
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+msgstr "Cliquer-glisser pour déplacer à droite les limites de la sélection."
+
+#: TrackPanel.cpp:1772
+#: TrackPanel.cpp:4056
+#: TrackPanel.cpp:4088
+#: TrackPanel.cpp:4350
+#: TrackPanel.cpp:6608
+#: TrackPanel.cpp:6628
 msgid "Modified Label"
 msgstr "Marqueur modifié"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1773
+#: TrackPanel.cpp:4057
+#: TrackPanel.cpp:4089
+#: TrackPanel.cpp:4351
+#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6629
 msgid "Label Edit"
 msgstr "Edition de marqueur"
 
-#: TrackPanel.cpp:1930
+#: TrackPanel.cpp:2011
 msgid "Adjusted envelope."
 msgstr "Enveloppe ajustée."
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:2012
+#: prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Outil de niveau (enveloppe)"
 
-#: TrackPanel.cpp:2082
+#: TrackPanel.cpp:2162
 msgid "Moved clip to another track"
 msgstr "Clip déplacé sur une autre piste"
 
-#: TrackPanel.cpp:2086
+#: TrackPanel.cpp:2166
 msgid "left"
 msgstr "gauche"
 
-#: TrackPanel.cpp:2086
+#: TrackPanel.cpp:2166
 msgid "right"
 msgstr "droite"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2088
+#: TrackPanel.cpp:2168
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Décalage des pistes/clips %s %.02f secondes"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
-#: prefs/MousePrefs.cpp:113
+#: TrackPanel.cpp:2172
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Glissement temporel"
 
-#: TrackPanel.cpp:2953
+#: TrackPanel.cpp:2966
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
 msgstr "Pour utiliser Dessin, choisir \"Forme d'onde\" dasn le menu déroulant de piste."
 
-#: TrackPanel.cpp:2970
+#: TrackPanel.cpp:2983
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr "Pour utiliser Dessin, zoomer jusqu'à distinguer chaque échantillon."
 
-#: TrackPanel.cpp:3241
+#: TrackPanel.cpp:3257
 msgid "Moved Sample"
 msgstr "Echantillon déplacé"
 
-#: TrackPanel.cpp:3242
+#: TrackPanel.cpp:3258
 msgid "Sample Edit"
 msgstr "Edition d'échantillon"
 
-#: TrackPanel.cpp:3341
+#: TrackPanel.cpp:3351
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "piste  '%s'  supprimée"
 
-#: TrackPanel.cpp:3343
+#: TrackPanel.cpp:3353
 msgid "Track Remove"
 msgstr "Supprimer la piste"
 
-#: TrackPanel.cpp:3484
+#: TrackPanel.cpp:3499
 msgid "Moved gain slider"
 msgstr "Curseur de niveau déplacé"
 
-#: TrackPanel.cpp:3484
+#: TrackPanel.cpp:3499
 msgid "Moved pan slider"
 msgstr "Curseur de panoramique déplacé"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3500
+#: TrackPanel.cpp:5802
+#: TrackPanel.cpp:7252
 msgid "Gain"
 msgstr "Gain"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3500
+#: TrackPanel.cpp:5750
+#: TrackPanel.cpp:7260
 msgid "Pan"
 msgstr "Panoramique"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3666
+#: TrackPanel.cpp:6559
 msgid "up"
 msgstr "haut"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3670
+#: TrackPanel.cpp:6560
 msgid "down"
 msgstr "bas"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3677
+#: TrackPanel.cpp:6555
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Déplacé '%s' %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3680
+#: TrackPanel.cpp:6561
 msgid "Move Track"
 msgstr "Déplacer la piste"
 
-#: TrackPanel.cpp:4180
+#: TrackPanel.cpp:4251
 msgid "Expand"
 msgstr "Etendre"
 
-#: TrackPanel.cpp:4180
+#: TrackPanel.cpp:4251
 msgid "Expanded Cut Line"
-msgstr ""
+msgstr "Etendre la ligne de coupe"
 
-#: TrackPanel.cpp:4189
+#: TrackPanel.cpp:4260
 msgid "Merge"
 msgstr "Mélanger"
 
-#: TrackPanel.cpp:4189
+#: TrackPanel.cpp:4260
 msgid "Merged Clips"
 msgstr "Clips mélangés"
 
-#: TrackPanel.cpp:4201
-#, fuzzy
+#: TrackPanel.cpp:4271
 msgid "Removed Cut Line"
-msgstr "Supprimer le bruit"
+msgstr "Supprimer la ligne de coupe"
 
-#: TrackPanel.cpp:5664
+#: TrackPanel.cpp:5750
 msgid "Adjusted Pan"
-msgstr "Panoramique ajusté"
+msgstr "Panoramique ajusté."
 
-#: TrackPanel.cpp:5726
+#: TrackPanel.cpp:5802
 msgid "Adjusted gain"
 msgstr "Gain ajusté"
 
-#: TrackPanel.cpp:5796
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5797
-msgid "Clear any grouping"
-msgstr ""
-
-#: TrackPanel.cpp:5918
+#: TrackPanel.cpp:6028
 msgid "Can't delete track with active audio"
 msgstr "Impossible d'effacer les pistes avec l'audio actif"
 
-#: TrackPanel.cpp:6071
+#: TrackPanel.cpp:6178
 msgid "Stereo, "
 msgstr "Stéréo,"
 
-#: TrackPanel.cpp:6074
+#: TrackPanel.cpp:6181
 msgid "Mono, "
 msgstr "Mono,"
 
-#: TrackPanel.cpp:6076
+#: TrackPanel.cpp:6183
 msgid "Left, "
 msgstr "Gauche,"
 
-#: TrackPanel.cpp:6078
+#: TrackPanel.cpp:6185
 msgid "Right, "
 msgstr "Droit,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6207
+#: TrackPanel.cpp:6369
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr " '%s' changé en %s"
 
-#: TrackPanel.cpp:6105
+#: TrackPanel.cpp:6210
 msgid "Channel"
 msgstr "Canal"
 
-#: TrackPanel.cpp:6118
+#: TrackPanel.cpp:6251
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Séparer la piste stéréo '%s'"
 
-#: TrackPanel.cpp:6139
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "Séparer stéréo vers mono '%s'"
+
+#: TrackPanel.cpp:6285
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr " '%s' transformé en piste stéréo"
 
-#: TrackPanel.cpp:6142
+#: TrackPanel.cpp:6288
 msgid "Make Stereo"
 msgstr "Rendre stéréo"
 
-#: TrackPanel.cpp:6189
+#: TrackPanel.cpp:6333
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr " '%s' changé en %d Hz"
 
-#: TrackPanel.cpp:6191
+#: TrackPanel.cpp:6335
 msgid "Rate Change"
 msgstr "Changement de taux"
 
-#: TrackPanel.cpp:6229
+#: TrackPanel.cpp:6373
 msgid "Format Change"
-msgstr "Changement de format"
+msgstr "Format :"
 
-#: TrackPanel.cpp:6349
+#: TrackPanel.cpp:6523
 msgid "Change lower speed limit (%) to:"
 msgstr "Passer la vitesse minimale de (%) à :"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6524
+#: TrackPanel.cpp:6525
 msgid "Lower speed limit"
-msgstr "Limite inférieure de vitesse"
+msgstr "Vitesse limite basse"
 
-#: TrackPanel.cpp:6356
+#: TrackPanel.cpp:6530
 msgid "Change upper speed limit (%) to:"
 msgstr "Passer la vitesse maximale de (%) à :"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6531
+#: TrackPanel.cpp:6532
 msgid "Upper speed limit"
-msgstr "Limite supérieure de vitesse"
+msgstr "Vitesse maximale"
 
-#: TrackPanel.cpp:6366
+#: TrackPanel.cpp:6540
 #, c-format
 msgid "Set range to '%d' - '%d'"
-msgstr "Passer la sélection de '%d' à '%d'"
+msgstr "Passer la sélection de  '%d' à '%d'"
 
-#: TrackPanel.cpp:6369
+#: TrackPanel.cpp:6543
 msgid "Set Range"
 msgstr "Régler l'étendue"
 
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6590
 msgid "Change track name to:"
 msgstr "Changer le nom de la piste en :"
 
-#: TrackPanel.cpp:6415
+#: TrackPanel.cpp:6591
 msgid "Track Name"
 msgstr "Nom de la piste"
 
-#: TrackPanel.cpp:6418
+#: TrackPanel.cpp:6594
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr " '%s' renommé en '%s'"
 
-#: TrackPanel.cpp:6421
+#: TrackPanel.cpp:6597
 msgid "Name Change"
-msgstr "Changement de nom"
+msgstr "changement de nom"
 
-#: TrackPanel.cpp:6487
+#: TrackPanel.cpp:6663
 msgid "Label Track Font"
 msgstr "Police de la piste de marqueurs"
 
-#: TrackPanel.cpp:6499
+#: TrackPanel.cpp:6675
+#: TrackPanel.cpp:6681
 msgid "Face name"
 msgstr "Nom de la police"
 
-#: TrackPanel.cpp:6508
+#: TrackPanel.cpp:6685
+#: TrackPanel.cpp:6692
 msgid "Face size"
 msgstr "Taille de police"
 
-#: TrackPanel.cpp:7076
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr "Stéréo, 999999Hz"
+
+#: TrackPanel.cpp:7201
 msgid "Mute"
 msgstr "Muet"
 
-#: TrackPanel.cpp:7076
+#: TrackPanel.cpp:7201
 msgid "Solo"
 msgstr "Solo"
 
-#: TrackPanelAx.cpp:265
-#, fuzzy
+#: TrackPanelAx.cpp:273
 msgid "TrackView"
-msgstr "Pistes"
+msgstr "Vue de piste"
 
-#: TrackPanelAx.cpp:273
+#: TrackPanelAx.cpp:281
 msgid "Track Accessible out of sync"
 msgstr ""
 
-#: TrackPanelAx.cpp:281
+#: TrackPanelAx.cpp:289
 #, c-format
 msgid "Track %d"
 msgstr "Piste %d"
 
-#: TrackPanelAx.cpp:287
+#: TrackPanelAx.cpp:295
 msgid " Mute On"
 msgstr "Rendre muet"
 
-#: TrackPanelAx.cpp:292
+#: TrackPanelAx.cpp:300
 msgid " Solo On"
 msgstr "Solo"
 
-#: TrackPanelAx.cpp:296
+#: TrackPanelAx.cpp:304
 msgid " Select On"
 msgstr "Sélection"
 
@@ -4048,211 +4409,223 @@ msgstr "Résultats de la calibration\n"
 #: VoiceKey.cpp:844
 #, c-format
 msgid "Energy                  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "Energie                  -- moyenne : %1.4f  ds : (%1.4f)\n"
+msgstr "Energie                  -- soit: %1.4f  sd: (%1.4f)\n"
 
 #: VoiceKey.cpp:845
 #, c-format
 msgid "Sign Changes        -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "Changements de signe        -- moyenne : %1.4f  ds : (%1.4f)\n"
+msgstr ""
 
 #: VoiceKey.cpp:846
 #, c-format
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "Changements de direction        -- moyenne : %1.4f  ds: (%1.4f)\n"
+msgstr ""
 
-#: WaveTrack.cpp:85
+#: WaveTrack.cpp:84
 msgid "Audio Track"
 msgstr "Piste audio"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:978
+#: WaveTrack.cpp:997
 msgid "There is not enough room available to paste the selection"
 msgstr "Il n'y a pas assez de place pour pouvoir coller la sélection."
 
-#: WaveTrack.cpp:1688
+#: WaveTrack.cpp:2023
 msgid "There is not enough room available to expand the cut line"
-msgstr ""
+msgstr "Pas assez de place pour étendre la ligne de coupe"
 
-#: commands/CommandManager.cpp:448
+#: commands/CommandManager.cpp:545
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Modules de 1 à %i"
 
-#: commands/CommandManager.cpp:462
+#: commands/CommandManager.cpp:559
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Modules de %i à %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Non autorisé pour quelque raison. Essayer de sélectionner de l'audio auparavant ?"
+#: commands/CommandManager.cpp:923
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Il y a eu un problème lors de votre dernière action. Si vous pensez\n"
+"que c'est un bogue, merci de de décrire ce qui l'a produit."
 
-#: commands/CommandManager.cpp:781
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:927
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr "Vous ne pouvez faire ceci que si la lecture et l'enregistrement\n"
+msgstr ""
+"Vous ne pouvez faire ceci que si la lecture et l'enregistrement\n"
 "sont arrêtés. [Il ne suffit pas de mettre en pause.]"
 
-#: commands/CommandManager.cpp:783
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:929
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr "Vous devez auparavant sélectionner de l'audio stéréo.\n"
+msgstr ""
+"Vous devez auparavant sélectionner de l'audio stéréo.\n"
 "[Vous ne pouvez pas utiliser ceci avec du mono.]"
 
-#: commands/CommandManager.cpp:785
+#: commands/CommandManager.cpp:931
 msgid "You must first select some audio for this to use."
 msgstr "Pour ceci, sélectionner d'abord de l'audio."
 
-#: commands/CommandManager.cpp:787
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:933
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr "Vous devez auparavant sélectionner de l'audio.\n"
-" [Selectionner un autre type de piste ne marchera pas.]"
+msgstr ""
+"Vous devez auparavant sélectionner de l'audio\n"
+" [Selectionner un autre type de piste ne marche pas.]"
 
-#: commands/CommandManager.cpp:872
+#: commands/CommandManager.cpp:938
 msgid "Disallowed"
-msgstr ""
+msgstr "Interdit"
 
-#: commands/CommandManager.cpp:972
+#: commands/CommandManager.cpp:1120
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Chargement des %d raccourcis clavier\n"
 
-#: commands/CommandManager.cpp:974
+#: commands/CommandManager.cpp:1122
 msgid "Loading keyboard shortcuts"
 msgstr "Chargement des raccourcis clavier"
 
-#: effects/Amplify.cpp:52
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Effet appliqué : %s %.1f dB"
 
-#: effects/Amplify.cpp:87
+#: effects/Amplify.cpp:140
 msgid "Amplify"
 msgstr "Amplification"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:156
+#: effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
-msgstr ""
+msgstr "par Dominic Mazzoni"
 
-#: effects/Amplify.cpp:159
+#: effects/Amplify.cpp:169
 msgid "Amplification (dB):"
 msgstr "Amplification (dB) :"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:184
 msgid "Amplification dB"
-msgstr ""
+msgstr "Amplification dB"
 
-#: effects/Amplify.cpp:179
+#: effects/Amplify.cpp:191
 msgid "New Peak Amplitude (dB):"
-msgstr "Nouvelle crête (dB) :"
+msgstr "Nouvelle crête (dB ):"
 
-#: effects/Amplify.cpp:191
+#: effects/Amplify.cpp:201
 msgid "Allow clipping"
 msgstr "Autoriser la saturation"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:223
+#: effects/Amplify.cpp:280
+#: effects/Amplify.cpp:324
 msgid "-Infinity"
 msgstr "-Infini"
 
-#: effects/Amplify.h:46
+#: effects/Amplify.h:37
 msgid "Amplify..."
 msgstr "Amplification..."
 
-#: effects/Amplify.h:54
+#: effects/Amplify.h:51
 msgid "Amplifying"
 msgstr "Amplification en cours"
 
-#: effects/AutoDuck.cpp:125
+#: effects/AutoDuck.cpp:140
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Vous avez sélectionné une piste ne contenant pas d'audio. AutoDuck ne peut traiter que les pistes audio."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:141
+#: effects/AutoDuck.cpp:153
+#: effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr "Auto Duck"
 
-#: effects/AutoDuck.cpp:137
+#: effects/AutoDuck.cpp:152
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr "Auto Duck nécessite une piste de contrôle placée sous la (les) piste(s) sélectionnée(s). "
 
-#: effects/AutoDuck.cpp:465
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr "Auto Duck par Markus Meyer"
 
-#: effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr "Montant de Duck :"
 
-#: effects/AutoDuck.cpp:492
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr "Pause maximale :"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:508
+#: effects/AutoDuck.cpp:513
+#: effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523
+#: effects/AutoDuck.cpp:528
+#: prefs/MidiIOPrefs.cpp:157
+#: prefs/MidiIOPrefs.cpp:159
+#: prefs/MidiIOPrefs.cpp:181
+#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:191
+#: prefs/PlaybackPrefs.cpp:62
+#: prefs/PlaybackPrefs.cpp:76
+#: prefs/PlaybackPrefs.cpp:82
+#: prefs/PlaybackPrefs.cpp:96
+#: prefs/PlaybackPrefs.cpp:102
+#: widgets/TimeTextCtrl.cpp:264
 msgid "seconds"
 msgstr "secondes"
 
-#: effects/AutoDuck.cpp:497
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr "Longueur de fondu externe à la fermeture :"
 
-#: effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr "Longueur de fondu externe à l'ouverture :"
 
-#: effects/AutoDuck.cpp:507
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr "Longueur de fondu interne à la fermeture :"
 
-#: effects/AutoDuck.cpp:512
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr "Longueur de fondu interne à l'ouverture :"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:535
+#: effects/Compressor.cpp:506
 msgid "Threshold:"
 msgstr "Seuil :"
 
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr "Merci d'entrer des valeurs valides."
 
-#: effects/AutoDuck.cpp:704
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr "La prévisualistion n'est pas disponible"
 
-#: effects/AutoDuck.h:97
+#: effects/AutoDuck.h:98
 msgid "Auto Duck..."
 msgstr "Auto Duck..."
 
-#: effects/AutoDuck.h:107
+#: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
 msgstr "Auto Duck en cours..."
 
 #: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
-#: widgets/Warning.cpp:67
+#: effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237
+#: widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "OK"
 
@@ -4266,30 +4639,33 @@ msgid "Bass Boost"
 msgstr "Amplification des basses"
 
 #: effects/BassBoost.cpp:182
+#: effects/Phaser.cpp:219
+#: effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr "par Nasca Octavian Paul"
 
 #: effects/BassBoost.cpp:196
+#: effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "Fréquence (Hz) :"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Fréquence Hertz"
 
-#: effects/BassBoost.cpp:208
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Amplification (dB) :"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Amplification dB"
 
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
 msgstr "Amplification des basses..."
 
-#: effects/BassBoost.h:43
+#: effects/BassBoost.h:49
 msgid "Boosting Bass Frequencies"
 msgstr "Amplification des basses fréquences"
 
@@ -4306,635 +4682,632 @@ msgstr "Changement de la longueur..."
 msgid "Applied effect: %s %.2f semitones"
 msgstr "Effet Appliqué : %s %.2f demi-tons"
 
-#: effects/ChangePitch.cpp:118
+#: effects/ChangePitch.cpp:198
 msgid "Change Pitch"
 msgstr "Changer la hauteur"
 
-#: effects/ChangePitch.cpp:247
+#: effects/ChangePitch.cpp:256
 msgid "Change Pitch without Changing Tempo"
 msgstr "Changer la hauteur sans changer le tempo"
 
-#. i18n-hint: && in here is an escape character to get a single & on
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
-#: effects/ChangeTempo.cpp:180
+#: effects/ChangePitch.cpp:258
+#: effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "par Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:260
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "utilise SoundTouch, d'Olli Parviainen"
 
 #: effects/ChangePitch.cpp:269
 msgid "Pitch:"
-msgstr ""
+msgstr "Hauteur : "
 
 #: effects/ChangePitch.cpp:274
 msgid "From:"
-msgstr ""
+msgstr "Depuis :"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "Depuis hauteur"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "Haut"
 
 #: effects/ChangePitch.cpp:289
 msgid "Down"
-msgstr ""
+msgstr "Bas"
 
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "Vers :"
 
 #: effects/ChangePitch.cpp:300
 msgid "To Pitch"
-msgstr ""
+msgstr "Vers la hauteur"
 
-#: effects/ChangePitch.cpp:306
+#: effects/ChangePitch.cpp:311
 msgid "Semitones (half-steps):"
 msgstr "Demi tons :"
 
 #: effects/ChangePitch.cpp:316
 msgid "Semitones in half-steps"
-msgstr ""
+msgstr "Demi tons par demi-degrés :"
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+#: effects/ChangePitch.cpp:326
+#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "depuis"
 
 #: effects/ChangePitch.cpp:327
 msgid "From frequency in hertz"
-msgstr ""
+msgstr "de fréquence en hertz"
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
-#: effects/ChangeTempo.cpp:270
+#: effects/ChangePitch.cpp:331
+#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "vers"
 
 #: effects/ChangePitch.cpp:332
 msgid "To frequency in seconds"
-msgstr ""
+msgstr "Vers fréquence en secondes"
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
-#: effects/ChangeTempo.cpp:198
+#: effects/ChangePitch.cpp:338
+#: effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Pourcentage de modification :"
 
-#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
+#: effects/ChangePitch.cpp:343
+#: effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:359
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
-msgstr ""
+msgstr "Pourcentage de modification"
 
 #: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "Changer la hauteur..."
 
-#: effects/ChangePitch.h:39
+#: effects/ChangePitch.h:46
 msgid "Changing Pitch"
 msgstr "Changement de hauteur"
 
-#: effects/ChangeSpeed.cpp:53
+#: effects/ChangeSpeed.cpp:54
 #: effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Effet Appliqué : %s %.1f%%"
 
-#: effects/ChangeSpeed.cpp:60
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Changer la vitesse"
 
-#. i18n-hint: n/a is an English
-#: effects/ChangeSpeed.cpp:364
+#. i18n-hint: n/a is an English abbreviation meaning "not applicable"
+#. (in other words, unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "n/a"
 
-#: effects/ChangeSpeed.cpp:308
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Changer la vitesse en modifiant tempo et hauteur"
 
-#: effects/ChangeSpeed.cpp:318
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "utilise SampleRate, d'Erik de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
-msgstr ""
+msgstr "Vinyl t/m : "
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
-msgstr ""
+msgstr "Depuis tours/min."
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
-msgstr ""
+msgstr "Vers tours/min."
 
 #: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
 msgstr "Changer la vitesse..."
 
-#: effects/ChangeSpeed.h:40
+#: effects/ChangeSpeed.h:46
 msgid "Changing Speed"
 msgstr "Changement de vitesse"
 
-#: effects/ChangeTempo.cpp:74
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Changer le tempo"
 
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Changer le tempo sans modifier la hauteur"
 
 #: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
-msgstr ""
+msgstr "Battements Par Minute :"
 
 #: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "Depuis battements/minute"
 
 #: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "Vers battements/minute"
 
 #: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
-msgstr ""
+msgstr "Durée (secondes)"
 
 #: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
-msgstr ""
+msgstr "Depuis durée en secondes"
 
 #: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
-msgstr ""
+msgstr "Vers durée en secondes"
 
 #: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
 msgstr "Changer le tempo..."
 
-#: effects/ChangeTempo.h:43
+#: effects/ChangeTempo.h:49
 msgid "Changing Tempo"
 msgstr "Changement de tempo"
 
 #: effects/ClickRemoval.cpp:314
-#, fuzzy
 msgid "Click Removal"
-msgstr "Suppression des clics..."
+msgstr "Suppression des clics"
 
-#: effects/ClickRemoval.cpp:336
+#: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
 msgstr "Suppression des clics et pops par Craig DeForest"
 
-#: effects/ClickRemoval.cpp:350
+#: effects/ClickRemoval.cpp:341
 msgid "Select threshold (lower is more sensitive):"
 msgstr "Sélectionnez le seuil (la sensibilité diminue avec le seuil)"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Sélectionner le seuil "
 
-#: effects/ClickRemoval.cpp:362
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Largeur maximum du pic (la sensibilité augmente avec la largeur) :"
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
-msgstr ""
+msgstr "Largeur de pic max."
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
 msgstr "Suppression des clics..."
 
-#: effects/ClickRemoval.h:50
+#: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
 msgstr "Suppression des clics et pops "
 
-#: effects/Compressor.cpp:74
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Compresseur dynamique"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
-msgstr ""
+msgstr "Seuil "
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
-msgstr ""
+msgstr "Ratio : "
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
-msgstr ""
+msgstr "Ratio"
 
-#: effects/Compressor.cpp:510
-#, fuzzy
+#: effects/Compressor.cpp:522
 msgid "Attack Time:"
 msgstr "Attaque :"
 
-#: effects/Compressor.cpp:514
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
-msgstr ""
+msgstr "Attaque"
 
-#: effects/Compressor.cpp:518
-#, fuzzy
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
-msgstr "Durée de décroissance :"
+msgstr "Décroissance :"
 
-#: effects/Compressor.cpp:522
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
-msgstr ""
+msgstr "Décroissance :"
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Normaliser à 0dB après la compression"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Normaliser à 0dB après la compression."
 
-#: effects/Compressor.cpp:563
+#: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
-msgstr "Seuil : %d dB"
+msgstr "Seuil %d dB"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "Ratio %.0f à 1"
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "Ratio %.1f à 1"
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
-#: effects/Compressor.cpp:575
+#: effects/Compressor.cpp:587
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
-msgstr "Attaque: %.1f secs"
+msgstr "Attaque %.1f secs"
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588
+#: effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f secs"
 
-#: effects/Compressor.cpp:578
+#: effects/Compressor.cpp:590
 #, c-format
-#, fuzzy
 msgid "Decay Time %.1f secs"
-msgstr "Délai : %.1f secs"
+msgstr "Délai %.1f secs"
 
-#: effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Compresseur..."
 
-#: effects/Compressor.h:44
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Application de compression dynamique..."
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Analyse de contraste"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Outil de contraste de premier plan"
 
-#: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+#: effects/Contrast.cpp:88
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"Chrono de premier plan sélectionné.\n"
+"Sélectionner le fond et utiliser de nouveau Ctrl+Maj.+T ou le menu."
 
-#: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+#: effects/Contrast.cpp:144
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
+"Le chrono de début est après celui de fin !\n"
+"Entrez des chronos cohérents."
 
-#: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+#: effects/Contrast.cpp:154
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"Les durées ne sont pas raisonnables !\n"
+"Entrez des chronos cohérents."
 
-#: effects/Contrast.cpp:190
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
-#: effects/Contrast.cpp:415
-msgid "Measured"
-msgstr ""
-
-#: effects/Contrast.cpp:318
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
-msgstr ""
+msgstr "Analyseur de contraste"
 
-#: effects/Contrast.cpp:321
+#: effects/Contrast.cpp:279
 msgid "Parameters"
-msgstr ""
+msgstr "Paramètres"
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/Contrast.cpp:286
+#: effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
 msgstr "Début"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/Contrast.cpp:287
+#: effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184
+#: toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159
+#: toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Fin"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
-msgstr ""
+msgstr "Volume"
 
-#: effects/Contrast.cpp:335
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
-msgstr ""
+msgstr "Premier plan :"
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
-msgstr ""
+msgstr "Chrono de début de premier plan :"
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
-msgstr ""
+msgstr "Chrono de fin du premier plan :"
+
+#: effects/Contrast.cpp:329
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr "Mesuré"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:331
+#: effects/Contrast.cpp:375
 msgid "Use selection"
-msgstr ""
+msgstr "Utiliser la sélection"
 
-#: effects/Contrast.cpp:378
+#: effects/Contrast.cpp:336
 msgid "Background:"
-msgstr ""
+msgstr "Fond :"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
-msgstr ""
+msgstr "Chrono de début du fond"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
-msgstr ""
+msgstr "Chrono de fin du fond"
 
-#: effects/Contrast.cpp:426
+#: effects/Contrast.cpp:384
 msgid "Result"
-msgstr ""
+msgstr "Résultat"
 
-#: effects/Contrast.cpp:430
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
-msgstr ""
+msgstr "Résultat de la comparaison :"
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr "Remise à zéro"
 
-#: effects/Contrast.cpp:434
+#: effects/Contrast.cpp:392
 msgid "Difference:"
-msgstr ""
+msgstr "Différence :"
 
-#: effects/Contrast.cpp:445
+#: effects/Contrast.cpp:403
 msgid "Information"
-msgstr ""
+msgstr "Informations"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Mesure des différences de volume RMS entre deux sélections audio."
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "Aide de l'analyseur de contraste audio WCAG2"
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Contrôle"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "Fermer (conserve les chronos)"
 
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
-
-#: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
-#: effects/Contrast.cpp:484
+#: effects/Contrast.cpp:474
+#: effects/Contrast.cpp:480
+#: effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
-msgstr ""
+msgstr "Mesurer"
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Pas de premier plan à mesurer"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Niveau mesuré du premier plan"
 
-#: effects/Contrast.cpp:517 effects/Contrast.cpp:527
+#: effects/Contrast.cpp:537
+#: effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
-msgstr ""
+msgstr "Pas de fond à mesurer"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
-msgstr ""
+msgstr "Bruit de fond mesuré"
 
-#: effects/Contrast.cpp:532
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "Passage WCAG2"
 
-#: effects/Contrast.cpp:534
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "Echec WCAG2"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
-msgstr ""
+msgstr "Différence actuelle"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "%.1f dB de moyenne rms"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Merci d'entrer des durées valides."
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Exporter le résultat du contraste sous :"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "Résultats de contraste WCAG 2.0 Critère de succès 1.4.7 "
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Nom de fichier = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
-msgstr ""
+msgstr "Premier plan"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601
+#: effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Chrono de début = %2d hour(s), %2d minute(s), %.2f seconds."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606
+#: effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Chrono de fin = %2d hour(s), %2d minute(s), %.2f seconds."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608
+#: effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Moyenne rms = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610
+#: effects/Contrast.cpp:627
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Moyenne rms =  dB."
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:613
 msgid "Background"
-msgstr ""
+msgstr "Fond"
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:629
 msgid "Results"
-msgstr ""
+msgstr "Résultats"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Différence = %.1f de moyenne rms dB."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Critère de succès 1.4.7 de WCAG 2.0 : Réussite"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Critère de succès 1.4.7 de WCAG 2.0 : Echec"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
-msgstr ""
+msgstr "Données réunies le"
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr ""
-
-#: effects/DtmfGen.cpp:48
+#: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
-msgstr "Générateur de son DTMF"
+msgstr "Générateur de tonalité DTMF"
 
-#: effects/DtmfGen.cpp:439
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "par Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:443
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "Séquence DTMF :"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
-#: effects/ToneGen.cpp:365
+#: effects/DtmfGen.cpp:428
+#: effects/Noise.cpp:190
+#: effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Amplitude (0 à 1)"
 
-#: effects/DtmfGen.cpp:448
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Durée :"
 
-#: effects/DtmfGen.cpp:469
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
-msgstr "Rapport signal/bruit :"
+msgstr "Rapport tonalité/silence :"
 
-#: effects/DtmfGen.cpp:479
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
-msgstr ""
+msgstr "Cycle d'activité :"
 
-#: effects/DtmfGen.cpp:481
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Durée de son"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
-#: effects/DtmfGen.cpp:561
+#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:467
+#: effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:483
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Durée du silence :"
 
-#: effects/DtmfGen.h:41
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
-msgstr "Sons DTMF..."
+msgstr "Tonalités DTMF..."
 
-#: effects/DtmfGen.h:49
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
-msgstr "Effet appliqué : Générer des sons DTMF, %.6lf secondes"
+msgstr "Effet appliqué : Générer des tonalitéss DTMF, %.6lf secondes"
 
-#: effects/DtmfGen.h:53
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
-msgstr "Géneration de sons DTMF"
+msgstr "Géneration de tonalités DTMF"
 
 #: effects/Echo.cpp:48
 #, c-format
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Effet appliqué : %s délai = %f secondes, facteur de décroissance = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Echo"
 
 #. i18n-hint: && in here is an escape character to get a single & on
-#: effects/Echo.cpp:195
+#. * screen, so keep it as is
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:197
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "par Dominic Mazzoni && Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Durée du délai (secondes) :"
 
-#: effects/Echo.cpp:212
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Facteur de décroissance :"
 
@@ -4942,112 +5315,119 @@ msgstr "Facteur de décroissance :"
 msgid "Echo..."
 msgstr "Echo..."
 
-#: effects/Echo.h:42
+#: effects/Echo.h:48
 msgid "Performing Echo"
 msgstr "Echo en cours"
 
-#: effects/Effect.cpp:390
+#: effects/Effect.cpp:520
 msgid "Preparing preview"
-msgstr "Préparation de la prévisualisation"
+msgstr "Préparation de la prélecture"
 
-#: effects/Effect.cpp:419
+#: effects/Effect.cpp:550
 msgid "Previewing"
-msgstr "Prévisualisation"
+msgstr "Prélecture"
 
-#: effects/Effect.cpp:435
+#: effects/Effect.cpp:565
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Erreur à l 'ouverture du périphérique son. Vérifiez les réglages du périphérique et l'échantillonnage du projet."
 
-#: effects/Effect.h:107
+#: effects/Effect.h:97
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Effet appliqué : %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:336
 msgid "B-spline"
 msgstr "B-spline"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:337
 msgid "Cosine"
 msgstr "Cosinus"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:338
 msgid "Cubic"
 msgstr "Cubique"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:371
+#: effects/Equalization.cpp:422
 msgid "Equalization"
 msgstr "Egalisation"
 
-#: effects/Equalization.cpp:980
+#: effects/Equalization.cpp:1012
 msgid "Error loading EQ curve"
 msgstr "Erreur de chargement de la courbe d'égalisation"
 
-#: effects/Equalization.cpp:1019
+#: effects/Equalization.cpp:1051
 msgid "custom"
 msgstr "Personnalisé"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr "Erreur à l'enregistrement  de courbes d'égalisation"
+
 #. i18n-hint: && in here is an escape character to get a single &
-#: effects/Equalization.cpp:1087
+#. * on screen, so keep it as is
+#: effects/Equalization.cpp:1123
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Egalisation, par Martyn Shaw && Mitch Golden"
 
-#: effects/Equalization.cpp:1108
+#: effects/Equalization.cpp:1144
 msgid "Max dB"
 msgstr "Max dB"
 
-#: effects/Equalization.cpp:1110
+#: effects/Equalization.cpp:1146
 msgid "Min dB"
 msgstr "Min dB"
 
-#: effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1219
 msgid "kHz"
 msgstr "kHz"
 
-#: effects/Equalization.cpp:1200
+#: effects/Equalization.cpp:1236
 msgid "Draw curves"
 msgstr "Dessiner les courbes"
 
-#: effects/Equalization.cpp:1205
+#: effects/Equalization.cpp:1241
 msgid "Graphic EQ"
 msgstr "Egaliseur graphique"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1255
 msgid "Linear frequency scale"
 msgstr "Echelle linéaire de fréquence"
 
-#: effects/Equalization.cpp:1228
+#: effects/Equalization.cpp:1264
 msgid "Length of filter:"
 msgstr "Longueur du filtre :"
 
-#: effects/Equalization.cpp:1249
+#: effects/Equalization.cpp:1285
 msgid "Select curve:"
 msgstr "Sélectionner la courbe "
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
-#: export/ExportMultiple.cpp:826
+#: effects/Equalization.cpp:1295
+#: effects/Equalization.cpp:2553
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Enregistrer sous..."
 
-#: effects/Equalization.cpp:1265
+#: effects/Equalization.cpp:1301
 msgid "Flat"
 msgstr "Plat"
 
-#: effects/Equalization.cpp:2497
+#: effects/Equalization.cpp:2552
 msgid "Enter the desired name of the curve"
 msgstr "Entrer le nom de la courbe"
 
-#: effects/Equalization.cpp:2597
+#: effects/Equalization.cpp:2652
+#: export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr "Confirmer l'effacement"
 
-#: effects/Equalization.h:87
+#: effects/Equalization.h:84
 msgid "Equalization..."
 msgstr "Egalisation..."
 
-#: effects/Equalization.h:95
+#: effects/Equalization.h:98
 msgid "Performing Equalization"
 msgstr "Egalisation en cours"
 
@@ -5055,51 +5435,51 @@ msgstr "Egalisation en cours"
 msgid "Fade In"
 msgstr "Fondre en ouverture"
 
-#: effects/Fade.h:32
+#: effects/Fade.h:38
 msgid "Fading In"
 msgstr "Fondu en ouverture "
 
-#: effects/Fade.h:48
+#: effects/Fade.h:54
 msgid "Fade Out"
 msgstr "Fondre en fermeture"
 
-#: effects/Fade.h:56
+#: effects/Fade.h:68
 msgid "Fading Out"
 msgstr "Fondu en fermeture"
 
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr "Détecter la saturation"
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr "Saturation"
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
-msgstr "Trouver la saturation"
+msgstr "Marquer la saturation"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr "par Leland Lucius"
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
-msgstr "Démarrer seuil (échantillons):"
+msgstr "Seuil de marquage (échantillons):"
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
-msgstr "Arrêter le seuil (échantillon) :"
+msgstr "Seuil d'arrêt (échantillons) :"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
-msgstr "Début et fin doivent être supérieurs à 0"
+msgstr "Les seuils doivent être supérieurs à 0"
 
 #: effects/FindClipping.h:37
 msgid "Find Clipping..."
-msgstr "Trouver la saturation..."
+msgstr "Marquer la saturation..."
 
-#: effects/FindClipping.h:47
+#: effects/FindClipping.h:54
 msgid "Detecting clipping"
 msgstr "Détection de la saturation"
 
@@ -5107,219 +5487,215 @@ msgstr "Détection de la saturation"
 msgid "Invert"
 msgstr "Inverser"
 
-#: effects/Invert.h:35
+#: effects/Invert.h:41
 msgid "Inverting"
 msgstr "Inversion"
 
-#: effects/Leveller.cpp:136
+#: effects/Leveller.cpp:192
 msgid "Leveller"
 msgstr "Niveleur"
 
-#: effects/Leveller.cpp:52
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Aucun saut"
 
-#: effects/Leveller.cpp:53
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "Léger"
 
-#: effects/Leveller.cpp:54
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "Modéré"
 
-#: effects/Leveller.cpp:55
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "Fort"
 
-#: effects/Leveller.cpp:56
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "Plus fort"
 
-#: effects/Leveller.cpp:57
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "Très fort"
 
-#: effects/TruncSilence.cpp:332
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "par Lynn Allan"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Dégré de nivellement"
 
 #: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
-msgstr ""
+msgstr "Dégré de nivellement :"
 
-#: effects/Leveller.cpp:242
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Seuil de bruit (Bruit de bande, hum, son ambient)"
 
 #: effects/Leveller.cpp:240
-#, fuzzy
 msgid "Threshold for Noise:"
 msgstr "Seuil de bruit :"
 
 #: effects/Leveller.h:28
 msgid "Leveller..."
-msgstr "Nivelleur..."
+msgstr "Niveleur..."
 
-#: effects/Leveller.h:36
+#: effects/Leveller.h:42
 msgid "Applying Leveller..."
-msgstr "Application du nivelleur..."
+msgstr "Application du niveleur..."
 
-#: effects/LoadEffects.cpp:103
+#: effects/LoadEffects.cpp:102
 msgid "Generator"
-msgstr ""
+msgstr "Générateur"
 
-#: effects/LoadEffects.cpp:105
+#: effects/LoadEffects.cpp:104
 msgid "Instrument"
-msgstr ""
+msgstr "Instrument"
 
-#: effects/LoadEffects.cpp:107
+#: effects/LoadEffects.cpp:106
 msgid "Oscillator"
-msgstr ""
+msgstr "Oscillateur"
 
-#: effects/LoadEffects.cpp:109
+#: effects/LoadEffects.cpp:108
 msgid "Utility"
-msgstr ""
+msgstr "Utilitaires"
 
-#: effects/LoadEffects.cpp:111
+#: effects/LoadEffects.cpp:110
 msgid "Converter"
-msgstr ""
+msgstr "Convertisseur"
 
-#: effects/LoadEffects.cpp:113
+#: effects/LoadEffects.cpp:112
 msgid "Analyser"
-msgstr ""
-
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mixage"
+msgstr "Analyseur"
 
-#: effects/LoadEffects.cpp:117
+#: effects/LoadEffects.cpp:116
 msgid "Simulator"
-msgstr ""
+msgstr "Simulateur"
 
-#: effects/LoadEffects.cpp:119
+#: effects/LoadEffects.cpp:118
 msgid "Delay"
-msgstr ""
+msgstr "Délai "
 
-#: effects/LoadEffects.cpp:121
+#: effects/LoadEffects.cpp:120
 msgid "Modulator"
-msgstr ""
+msgstr "Modulateur"
 
-#: effects/LoadEffects.cpp:123
+#: effects/LoadEffects.cpp:122
 msgid "Reverb"
-msgstr ""
+msgstr "Réverbération"
 
-#: effects/Phaser.cpp:77
+#: effects/LoadEffects.cpp:124
+#: effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Phaser"
 
-#: effects/LoadEffects.cpp:127
+#: effects/LoadEffects.cpp:126
 msgid "Flanger"
-msgstr ""
+msgstr "Flanger"
 
-#: effects/LoadEffects.cpp:129
+#: effects/LoadEffects.cpp:128
 msgid "Chorus"
-msgstr ""
+msgstr "Chorus"
 
-#: effects/LoadEffects.cpp:131
+#: effects/LoadEffects.cpp:130
 msgid "Filter"
-msgstr ""
+msgstr "Filtre"
 
-#: effects/LoadEffects.cpp:133
+#: effects/LoadEffects.cpp:132
 msgid "Lowpass"
-msgstr ""
+msgstr "Passe-bas"
 
-#: effects/LoadEffects.cpp:135
+#: effects/LoadEffects.cpp:134
 msgid "Bandpass"
-msgstr ""
+msgstr "Passe-bande"
 
-#: effects/LoadEffects.cpp:137
+#: effects/LoadEffects.cpp:136
 msgid "Highpass"
-msgstr ""
+msgstr "Passe-haut"
 
-#: effects/LoadEffects.cpp:139
+#: effects/LoadEffects.cpp:138
 msgid "Comb"
-msgstr ""
+msgstr "Peigne"
 
-#: effects/LoadEffects.cpp:141
+#: effects/LoadEffects.cpp:140
 msgid "Allpass"
-msgstr ""
+msgstr "Passe-tout"
 
-#: effects/LoadEffects.cpp:143
+#: effects/LoadEffects.cpp:142
 msgid "Equaliser"
-msgstr ""
+msgstr "Egaliseur"
 
-#: effects/LoadEffects.cpp:145
+#: effects/LoadEffects.cpp:144
 msgid "Parametric"
-msgstr ""
+msgstr "Paramétrique"
 
-#: effects/LoadEffects.cpp:147
+#: effects/LoadEffects.cpp:146
 msgid "Multiband"
-msgstr ""
+msgstr "Multibande"
 
-#: effects/LoadEffects.cpp:149
+#: effects/LoadEffects.cpp:148
 msgid "Spectral Processor"
-msgstr ""
+msgstr "Processeur spectral"
 
-#: effects/LoadEffects.cpp:151
+#: effects/LoadEffects.cpp:150
 msgid "Pitch Shifter"
-msgstr ""
+msgstr "Ajusteur de hauteur"
 
-#: effects/LoadEffects.cpp:153
+#: effects/LoadEffects.cpp:152
 msgid "Amplifier"
-msgstr ""
+msgstr "Amplification"
 
-#: effects/LoadEffects.cpp:155
+#: effects/LoadEffects.cpp:154
 msgid "Distortion"
-msgstr ""
+msgstr "Distortion"
 
-#: effects/LoadEffects.cpp:157
+#: effects/LoadEffects.cpp:156
 msgid "Waveshaper"
-msgstr ""
+msgstr "Onduleur"
 
-#: effects/LoadEffects.cpp:159
+#: effects/LoadEffects.cpp:158
 msgid "Dynamics Processor"
-msgstr ""
+msgstr "Processeur dynamique"
 
-#: effects/LoadEffects.cpp:161
+#: effects/LoadEffects.cpp:160
 msgid "Compressor"
-msgstr ""
+msgstr "Compresseur"
 
-#: effects/LoadEffects.cpp:163
+#: effects/LoadEffects.cpp:162
 msgid "Expander"
-msgstr ""
+msgstr "Expanseur"
 
-#: effects/LoadEffects.cpp:165
+#: effects/LoadEffects.cpp:164
 msgid "Limiter"
-msgstr ""
+msgstr "Limiteur"
 
-#: effects/LoadEffects.cpp:167
+#: effects/LoadEffects.cpp:166
 msgid "Gate"
-msgstr ""
+msgstr "Seuil"
 
-#: effects/NoiseRemoval.cpp:723
+#: effects/LoadEffects.cpp:199
+#: effects/NoiseRemoval.cpp:730
 msgid "Noise Removal"
 msgstr "Elimination du bruit"
 
-#: effects/LoadEffects.cpp:202
+#: effects/LoadEffects.cpp:201
 msgid "Pitch and Tempo"
-msgstr ""
+msgstr "Hauteur et tempo"
 
-#: effects/LoadEffects.cpp:204
+#: effects/LoadEffects.cpp:203
 msgid "Timeline Changer"
-msgstr ""
+msgstr "Changeur de piste temporelle"
 
-#: effects/LoadEffects.cpp:206
+#: effects/LoadEffects.cpp:205
 msgid "Time"
-msgstr ""
+msgstr "Temps"
 
-#: effects/LoadEffects.cpp:208
+#: effects/LoadEffects.cpp:207
 msgid "Onsets"
-msgstr ""
+msgstr "Débuts"
 
 #: effects/Noise.cpp:37
 msgid "White"
@@ -5331,118 +5707,121 @@ msgstr "Rose"
 
 #: effects/Noise.cpp:39
 msgid "Brown"
-msgstr "Brun"
+msgstr "Rouge (Brownien)"
 
 #: effects/Noise.cpp:41
 msgid "Noise Generator"
-msgstr "Générateur de son"
+msgstr "Générateur de bruit"
 
-#: effects/Noise.cpp:256
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Type de bruit :"
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr "Bruit..."
 
-#: effects/Noise.h:49
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Effet appliqué : Générer un bruit de, %.6lf secondes"
 
-#: effects/Noise.h:53
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr "Génération du bruit"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
-msgstr "Impossible d'ouvrir le fichier : \n"
+msgstr ""
+"Impossible d'ouvrir le fichier : \n"
 "  %s"
 
 #: effects/NoiseRemoval.cpp:277
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Tentative d'application de la suppression de bruit sans profil de bruit. \n"
 
-#: effects/NoiseRemoval.cpp:813
+#: effects/NoiseRemoval.cpp:819
 msgid "Step 1"
 msgstr "Etape 1"
 
-#: effects/NoiseRemoval.cpp:814
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:820
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr "Choisir quelques secondes de bruit seul\n"
+msgstr ""
+"Choisir quelques secondes de bruit seul\n"
 "afin que Audacity sache ce qu'il doit filtrer.\n"
 "Cliquer ensuite sur Prendre le profil du bruit :"
 
-#: effects/NoiseRemoval.cpp:815
+#: effects/NoiseRemoval.cpp:821
 msgid "Step 2"
 msgstr "Etape 2"
 
-#: effects/NoiseRemoval.cpp:816
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:822
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr "Sélectionner tout l'audio à filtrer,\n"
-"choisir la quantité de bruit à filtrer,\n"
+msgstr ""
+"Sélectionner tout l'audio que vous voulez filtrer,\n"
+"choisir la quantité de bruit vous voulez filtrer,\n"
 "cliquer alors sur \"OK\" pour supprimer le bruit.\n"
 
-#: effects/NoiseRemoval.cpp:821
+#: effects/NoiseRemoval.cpp:827
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Elimination du bruit par Dominic Mazzoni"
 
-#: effects/NoiseRemoval.cpp:829
+#: effects/NoiseRemoval.cpp:835
 msgid "Get Noise Profile"
 msgstr "Prendre le profil du bruit"
 
-#: effects/NoiseRemoval.cpp:840
+#: effects/NoiseRemoval.cpp:846
 msgid "Noise reduction (dB):"
-msgstr "Réduction de bruit (dB) :"
+msgstr "Réduction de bruit (dB):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:851
 msgid "Noise reduction"
-msgstr ""
+msgstr "Réduction de bruit"
 
-#: effects/NoiseRemoval.cpp:848
+#: effects/NoiseRemoval.cpp:855
 msgid "Frequency smoothing (Hz):"
 msgstr "Lissage de fréquence (Hz) :"
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:860
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Lissage de fréquence"
 
-#: effects/NoiseRemoval.cpp:856
+#: effects/NoiseRemoval.cpp:864
 msgid "Attack/decay time (secs):"
 msgstr "Durée de l'attaque et du délai (secondes) :"
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:869
 msgid "Attach/decay time"
-msgstr ""
+msgstr "Durée d'attaque/délai "
 
 #: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
 msgstr "Elimination du bruit..."
 
-#: effects/NoiseRemoval.h:44
+#: effects/NoiseRemoval.h:50
 msgid "Creating Noise Profile"
 msgstr "Création d'un profil du bruit"
 
-#: effects/NoiseRemoval.h:46
+#: effects/NoiseRemoval.h:52
 msgid "Removing Noise"
 msgstr "Suppression du bruit"
 
 #. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
 #: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Effet appliqué : %s supprimer le décalage = %s, normaliser l'amplitude = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "faux"
-
 #. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74
 #: effects/Normalize.cpp:75
 msgid "true"
@@ -5453,156 +5832,166 @@ msgstr "vrai"
 msgid ", maximum amplitude = %.1f dB"
 msgstr ", amplitude maximum = %.1f dB"
 
-#: effects/Normalize.cpp:113
+#: effects/Normalize.cpp:327
 msgid "Normalize"
 msgstr "Normaliser"
 
-#: effects/Normalize.cpp:351
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
-msgstr ""
+msgstr "Supprimer tout décalage DC (centrer verticalement à 0.0)"
 
-#: effects/Normalize.cpp:354
-#, fuzzy
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
-msgstr "Normaliser l'amplitude maximum à "
+msgstr "Normaliser l'amplitude maximum à :"
 
-#: effects/Normalize.cpp:361
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr "-"
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Amplitude maximale dB"
 
-#: effects/Normalize.h:32
+#: effects/Normalize.h:33
 msgid "Normalize..."
-msgstr "Normaliser..."
+msgstr "Normaliser......"
 
-#: effects/Normalize.h:41
+#: effects/Normalize.h:49
 msgid "Normalizing..."
-msgstr "Normalisation..."
+msgstr "Normalisation"
 
 #: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
 msgstr "Effet appliqué: %s %d phases, %.0f%% maxi, fréquence = %.1f Hz, phase de départ = %.0f deg, amplitude = %d, retour = %.0f%%"
 
-#: effects/Phaser.cpp:222
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "Phases :"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
-msgstr ""
+msgstr "Phases"
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "Original/Modifié :"
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
-msgstr ""
+msgstr "Original Modifié"
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:244
+#: effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
 msgstr "Fréquence LFO (Hz) :"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247
+#: effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
-msgstr ""
+msgstr "Fréquence LFO en hertz"
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:252
+#: effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "Phase de départ LFO (deg.) :"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255
+#: effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
-msgstr ""
+msgstr "Phase de départ LFO en degrés"
 
-#: effects/Phaser.cpp:296
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Profondeur :"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263
+#: effects/Wahwah.cpp:241
 msgid "Depth in percent"
-msgstr ""
+msgstr "Profondeur en pourcentage"
 
-#: effects/Phaser.cpp:312
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Retour (%) :"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
-msgstr ""
+msgstr "Retour en pourcentage"
 
-#: effects/Phaser.h:38
+#: effects/Phaser.h:45
 msgid "Phaser..."
 msgstr "Phaser..."
 
-#: effects/Phaser.h:46
+#: effects/Phaser.h:59
 msgid "Applying Phaser"
 msgstr "Application de Phaser"
 
 #: effects/Repair.cpp:99
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr "L'effet Réparation est destiné à être utilisé avec de très courtes sections d'audio endommagé (jusqu'à 128 échantillons).\n"
+msgstr ""
+"L'effet réparation est destiné à être utilisé avec de très courtes sections d'audio endommagé (jusqu'à 128 échantillons).\n"
 "\n"
-"Zoomer et sélectionner une courte fraction de seconde à réparer."
+"Zoommer et selectionner une courte fraction de seconde à réparer."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
 msgstr ""
+"Réparation utilise des données audio situées hors de la sélection.\n"
+"\n"
+"Séectionnez une région avec de l'audio touchant au moins un de ses côtés.\n"
+"\n"
+"Plus il y a d'audio alentour, meilleur est le résultat."
 
-#: effects/Repair.h:37
+#: effects/Repair.h:43
 msgid "Repairing damaged audio"
 msgstr "Réparation de l'audio endommagé"
 
-#: effects/Repeat.cpp:49
+#: effects/Repeat.cpp:50
 #, c-format
 msgid "Repeated %d times"
 msgstr "Répété %d fois"
 
-#: effects/Repeat.cpp:75
+#: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
 msgstr "Les pistes sont trop longues pour pouvoir répéter la sélection."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:77
+#: effects/Repeat.cpp:184
 msgid "Repeat"
 msgstr "Répéter"
 
-#: effects/Repeat.cpp:211
-#, fuzzy
+#: effects/Repeat.cpp:209
 msgid "Number of times to repeat:"
 msgstr "Nombre de répétitions :"
 
-#: effects/Repeat.cpp:220
+#: effects/Repeat.cpp:218
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Longueur de la nouvelle sélection : hh:mm:ss"
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:250
 msgid "New selection length: "
 msgstr "Longueur de la nouvelle sélection :"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
-#: widgets/TimeTextCtrl.cpp:270
+#. * and seconds
+#: effects/Repeat.cpp:259
+#: widgets/TimeTextCtrl.cpp:271
 msgid "hh:mm:ss"
 msgstr "hh:mm:ss"
 
-#: effects/Repeat.h:32
+#: effects/Repeat.h:33
 msgid "Repeat..."
 msgstr "Répéter..."
 
-#: effects/Repeat.h:40
+#: effects/Repeat.h:47
 msgid "Performing Repeat"
 msgstr "Répétition en cours"
 
@@ -5610,7 +5999,7 @@ msgstr "Répétition en cours"
 msgid "Reverse"
 msgstr "Inverser sens"
 
-#: effects/Reverse.h:38
+#: effects/Reverse.h:44
 msgid "Reversing"
 msgstr "Inversion du sens"
 
@@ -5622,16 +6011,16 @@ msgstr "Générateur de silence"
 msgid "Silence..."
 msgstr "Silence..."
 
-#: effects/Silence.h:42
+#: effects/Silence.h:48
 msgid "Generating Silence"
 msgstr "Génération du silence"
 
-#: effects/Silence.h:47
+#: effects/Silence.h:53
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Effet appliqué : Générer un silence de, %.6lf secondes"
 
-#: effects/SimplePairedTwoTrack.h:120
+#: effects/SimplePairedTwoTrack.h:115
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Désolé, cet effet ne peut être réalisé sur des pistes stéréo dans lesquelles les canaux individuels de la piste ne correspondent pas."
 
@@ -5644,9 +6033,11 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr "Nettoyeur de pic par Lynn Allan"
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr "Durée maximale de pic (millisecondes): \n"
+msgstr ""
+"Durée maximale de pic (millisecondes): \n"
 "(inférieure à 99999)"
 
 #: effects/SpikeCleaner.cpp:178
@@ -5661,124 +6052,122 @@ msgstr "Nettoyeur de pic..."
 msgid "Applying Spike Cleaner..."
 msgstr "Application de Nettoyeur de pic..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
 #: effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "&Stéréo vers mono"
 
-#: effects/StereoToMono.h:32
+#: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
 msgstr "Appliquer stéréo vers mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Variation progressive de la hauteur"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Variation progressive de la hauteur"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "utilise SBSMS, par Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Changement initial du tempo  (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Changement final du tempo  (%) :"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Changement initial du tempo  (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Changement final du tempo  (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Ajustement de hauteur initial (demitons) [-12 à 12] :"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Ajustement de hauteur final(demitons) [-12 à 12] :"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Variation progressive de la hauteur..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Changement de tempo/hauteur"
 
-#: effects/ToneGen.cpp:66
+#: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "Effet appliqué : Générer %s %s onde, fréquence = %.2f Hz, amplitude = %.2f, %.6lf secondes"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:69
+#: widgets/Meter.cpp:412
 msgid "Linear"
 msgstr "Linéaire"
 
-#: effects/ToneGen.cpp:76
+#: effects/ToneGen.cpp:70
 msgid "Logarithmic"
 msgstr "Logarithmique"
 
-#: effects/ToneGen.cpp:78
+#: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
 msgstr "Générateur de sifflet"
 
-#: effects/ToneGen.cpp:78
+#: effects/ToneGen.cpp:71
 msgid "Tone Generator"
 msgstr "Générateur de son"
 
-#: effects/ToneGen.cpp:79
+#: effects/ToneGen.cpp:72
 msgid "Sine"
 msgstr "Sinusoïde"
 
-#: effects/ToneGen.cpp:80
+#: effects/ToneGen.cpp:73
 msgid "Square"
-msgstr "Carré"
+msgstr "Carrée"
 
-#: effects/ToneGen.cpp:81
+#: effects/ToneGen.cpp:74
 msgid "Sawtooth"
-msgstr "Dents de scie"
+msgstr "Dent de scie"
 
-#: effects/ToneGen.cpp:82
+#: effects/ToneGen.cpp:75
 msgid "Square, no alias"
-msgstr ""
+msgstr "Carrée, lissée"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:277
+#: effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr "Fréquence (Hz) :"
 
-#: effects/ToneGen.cpp:354
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Forme d'onde :"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Fréquence Hertz de début"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Fréquence Hertz de fin"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Amplitude de début"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
-msgstr ""
+msgstr "Amplitude de fin"
 
-#: effects/ToneGen.cpp:372
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr "Interpolation :"
 
@@ -5790,277 +6179,344 @@ msgstr "Sifflet..."
 msgid "Tone..."
 msgstr "Son..."
 
-#: effects/ToneGen.h:48
+#: effects/ToneGen.h:54
 msgid "Generating Chirp"
-msgstr "Génération d'un sifflet"
+msgstr "Géneration d'un sifflet"
 
-#: effects/ToneGen.h:48
+#: effects/ToneGen.h:54
 msgid "Generating Tone"
-msgstr "Génération d'un son"
+msgstr "Géneration d'un son"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
-msgstr "Toutes les pistes doivent avoir le même taux d'échantillonnage."
+msgstr "Toutes les pistes doivent avoir la même fréquence d'échantillonnage."
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:133
+#: effects/TruncSilence.cpp:443
 msgid "Truncate Silence"
 msgstr "Tronquer le silence"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Durée maxi du silence :"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "par Lynn Allan && Philip Van Baren"
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr "Durée mini du silence :"
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:193
+#: effects/TruncSilence.cpp:470
+#: effects/TruncSilence.cpp:474
+#: prefs/MidiIOPrefs.cpp:169
+#: prefs/MidiIOPrefs.cpp:171
 msgid "milliseconds"
 msgstr "millisecondes"
 
-#: effects/TruncSilence.cpp:351
+#: effects/TruncSilence.cpp:471
+msgid "Max silence duration:"
+msgstr "Durée maxi du silence :"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr "Compression du silence :"
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ": 1"
+
+#: effects/TruncSilence.cpp:480
 msgid "Threshold for silence:"
 msgstr "Seuil de silence :"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "La durée doit être d'au moins une milliseconde"
+#: effects/TruncSilence.cpp:506
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"La durée doit être d'au moins une milliseconde\n"
+"le rapport de compression doit être d'au moins 1:1"
 
-#: effects/TruncSilence.h:28
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Tronquer le silence"
 
-#: effects/TruncSilence.h:36
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr "Tronquer du silence"
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Désolé, les effets VST ne peuvent être réalisés sur des pistes stéréo dans lesquelles les canaux individuels de la piste ne correspondent pas."
+#: effects/VST/VSTEffect.cpp:256
+#: effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Réglages de l'effet"
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Impossible de remplacer"
+#: effects/VST/VSTEffect.cpp:336
+#: effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563
+#: prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Aucun"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "Présélections :"
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "Charger"
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "Enregistrer"
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "Erreur de chargement du programme"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Paramètres des modules VST (plugins)"
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "Effet en cours : "
+
+#: effects/VST/VSTEffect.cpp:1016
+#, fuzzy
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr "Pour le tracé du spectre, toutes les pistes sélectionnées doivent avoir la même fréquence d'échantillonnage."
+
+#: effects/VST/VSTEffect.cpp:1021
+#, fuzzy
+msgid "Both channels of a stereo track must be the same length."
+msgstr "Pour le tracé du spectre, toutes les pistes sélectionnées doivent avoir la même fréquence d'échantillonnage."
 
 #: effects/Wahwah.cpp:61
 #, c-format
 msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
 msgstr "Effet appliqué : %s fréquence = %.1f Hz, phase de départ = %.0f deg, amplitude = %.0f%%, résonnance = %.1f, fréquence offset = %.0f%%"
 
-#: effects/Wahwah.cpp:72
+#: effects/Wahwah.cpp:203
 msgid "Wahwah"
 msgstr "Wahwah"
 
-#: effects/Wahwah.cpp:253
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Profondeur (%) :"
 
-#: effects/Wahwah.cpp:269
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Résonnance:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
-msgstr ""
+msgstr "Résonnance"
 
-#: effects/Wahwah.cpp:285
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
-msgstr "Fréquence Wah (%) :"
+msgstr "Fréquence Wah (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
-msgstr ""
+msgstr "Décallage de fréquence Wah en pourcentage"
 
-#: effects/Wahwah.h:34
+#: effects/Wahwah.h:41
 msgid "Wahwah..."
 msgstr "Wahwah..."
 
-#: effects/Wahwah.h:42
+#: effects/Wahwah.h:55
 msgid "Applying Wahwah"
 msgstr "Application de Wahwah"
 
-#: effects/audiounits/AudioUnitEffect.cpp:133
-#: effects/ladspa/LadspaEffect.cpp:169
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178
+#: effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Effet en cours : %s"
 
-#: effects/ladspa/LadspaEffect.cpp:189
+#: effects/ladspa/LadspaEffect.cpp:198
+#: effects/lv2/LV2Effect.cpp:213
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Désolé, les modules d'effet (plugins) ne peuvent être réalisés sur des pistes stéréo dans lesquelles les canaux individuels de la piste ne correspondent pas."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Aucun"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:557
+#: effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Auteur :"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Réglages de l'effet"
-
-#: effects/ladspa/LadspaEffect.cpp:699
+#: effects/ladspa/LadspaEffect.cpp:685
+#: effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809
+#: effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Durée (secondes)"
 
-#: effects/lv2/LV2Effect.cpp:850 effects/lv2/LV2Effect.cpp:853
+#: effects/lv2/LV2Effect.cpp:824
+#: effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
-msgstr ""
+msgstr "Durée de la note (secondes)"
 
-#: effects/lv2/LV2Effect.cpp:861 effects/lv2/LV2Effect.cpp:864
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
-msgstr ""
+msgstr "Vélocité de note"
 
-#: effects/lv2/LV2Effect.cpp:872 effects/lv2/LV2Effect.cpp:875
+#: effects/lv2/LV2Effect.cpp:846
+#: effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
-msgstr ""
+msgstr "Note"
 
-#: effects/nyquist/Nyquist.cpp:252
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Application d'effet Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:91
+#: effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Console Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:322
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Entrer une commande Nyquist :"
 
-#: effects/nyquist/Nyquist.cpp:412
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Désolé, l'effet ne peut être réalisé sur des pistes stéréo dans lesquelles les canaux individuels de la piste ne correspondent pas."
 
-#: effects/nyquist/Nyquist.cpp:440
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:441
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Console Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "Nyquist a retourné la valeur :"
 
-#: effects/nyquist/Nyquist.cpp:651
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist n'a pas retourné d'audio.\n"
 
-#: effects/nyquist/Nyquist.cpp:662
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist a retourné trop de canaux audio.\n"
 
-#: effects/vamp/VampEffect.cpp:75
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Fonctions d'extraction : %s"
 
-#: effects/vamp/VampEffect.cpp:106
+#: effects/vamp/VampEffect.cpp:107
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr "Désolé, les modules Vamp ne peuvent être réalisés sur des pistes stéréo dans lesquelles les canaux individuels de la piste ne correspondent pas."
 
-#: effects/vamp/VampEffect.cpp:120
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Désolé, échec au chargement du module (plugin) Vamp."
 
-#: effects/vamp/VampEffect.cpp:228
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Désolé, le module (plugin) Vamp n'a pas pu démarrer."
 
-#: effects/vamp/VampEffect.cpp:376
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
 msgstr " - Module (plugin) d'analyse audio Vamp"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr "Réglage du module"
 
-#: effects/vamp/VampEffect.cpp:446
+#: effects/vamp/VampEffect.cpp:418
+#: effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr "Programme"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Toute la sélection audio est muette."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Tout l'audio est muet."
 
-#: export/Export.cpp:451
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Exporter le fichier"
 
-#: export/Export.cpp:459
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Options..."
 
-#: export/Export.cpp:485
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Etes-vous sûr(e) d'enregistrer le fichier sous \""
 
-#: export/Export.cpp:501
+#: export/Export.cpp:596
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr "Vous allez enregistrer le fichier %s sous le nom \"%s\".\n"
+msgstr ""
+"Vous allez enregistrer le fichier %s sous le nom \"%s\".\n"
 "\n"
 "Normalement, ces fichiers se terminent par \"%s\", et plusieurs programmes ne peuvent ouvrir de fichiers \n"
 "ayant des extensions non standard.\n"
 "\n"
 "Etes-vous sûr(e) de vouloir sauvegarder le fichier sous ce nom ?"
 
-#: export/Export.cpp:522
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "Un fichier nommé \"%s\" existe déjà. Le remplacer ?"
 
-#: export/Export.cpp:604
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
-msgstr "Dans le fichier exporté, vos pistes seront mélangées en deux canaux stéréo."
+msgstr "Dans le fichier exporté, vos pistes seront mélangées en deux canaux stéréo"
 
-#: export/Export.cpp:609
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
-msgstr "Dans le fichier exporté, vos pistes seront mélangées en un canal mono."
+msgstr "Dans le fichier exporté, vos pistes seront mélangées en un canal mono "
 
-#: export/Export.cpp:619
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Options de mixage avancées"
 
-#: export/Export.cpp:821
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
-msgstr "Canaux : %2d"
+msgstr "Canal : %2d"
 
-#: export/Export.cpp:945
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - Gauche"
 
-#: export/Export.cpp:946
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - Droit"
 
 #: export/Export.cpp:1082
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Panneau de mixage"
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Canaux de sortie : %2d"
@@ -6069,585 +6525,693 @@ msgstr "Canaux de sortie : %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Spécifier l'encodeur à ligne de commande"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr "Réglage de l'exportation en ligne de commande"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Commande :"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Montrer la sortie"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
-msgstr ""
+msgstr "Data will be piped to standard in. \"%f\" sera remplacé par le nom de fichier final sélectionné."
 
 #: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr "(programme externe)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Impossible d'exporter l'audio vers %s"
 
-#: export/ExportCL.cpp:324
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Exportation de la sélection audio en utilisant un encodeur à ligne de commande"
 
-#: export/ExportCL.cpp:325
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Exportation du projet entier en utilisant un encodeur à ligne de commande"
 
-#: export/ExportCL.cpp:389
+#: export/ExportCL.cpp:423
 msgid "Command Output"
-msgstr "Sortie de commande"
+msgstr "Commande"
+
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+"Il est nécessaire de configurer correctement FFmpeg.\n"
+"Vous pouvez le configurer dans Préférences >Librairies."
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:232
+#, fuzzy
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+"Une configuration FFmpeg correcte est nécessaire. Vous pouvez le configurer dans Préférences->Import/Export.\n"
+"Cependant le support AMR n'est pas disponible avec notre installateur FFmpeg. Vous devrez compiler FFmpeg vous-même."
+
+#: export/ExportFFmpeg.cpp:433
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg ne peut pas trouver le codec audio 0x%x.\n"
+"Le support de ce codec n'est probablement pas compilé."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Tentative d'exporter %d canaux, mais le maximum de canaux est de %d pour le format sélectionné"
 
-#: export/ExportFFmpeg.cpp:643
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "Exporter la sélection audio sous %s"
 
-#: export/ExportFFmpeg.cpp:644
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "Exporter le fichier entier à %s"
 
-#: export/ExportMP3.cpp:1918
+#: export/ExportFFmpeg.cpp:748
+#: export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
-msgstr "Taux d'échantillonnage invalide"
+msgstr "Fréquence d'échantillonnage invalide."
 
-#: export/ExportFFmpeg.cpp:720
+#: export/ExportFFmpeg.cpp:761
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr ""
+"La fréquence d'échantillonnage du projet (%d) n'est pas supporté par le format\n"
+"de sortie actuel."
 
-#: export/ExportFFmpeg.cpp:723
+#: export/ExportFFmpeg.cpp:764
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
+"La combinaison de fréquence d'échantillonnage du projet (%d) et de définition  (%d kbps)\n"
+"n'est pas supporté par le format de sortie actuel."
 
-#: export/ExportMP3.cpp:1937
+#: export/ExportFFmpeg.cpp:767
+#: export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "Vous devez rééchantillonner à un des taux ci-dessous."
 
-#: export/ExportMP3.cpp:1960
+#: export/ExportFFmpeg.cpp:795
+#: export/ExportMP3.cpp:1819
 msgid "Sample Rates"
-msgstr "Taux d'échantillonnage"
+msgstr "Taux d'échantillonnage :"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "Spécifier les options AC3"
 
 #: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
-msgstr ""
-
-#: export/ExportMP2.cpp:133
+msgstr "Réglage de l'exportation AC3"
+
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Débit :"
 
 #: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "Spécifier les options AAC"
 
 #: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "Réglage de l'exportation AAC"
+
+#: export/ExportFFmpegDialogs.cpp:172
+#: export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Qualité :"
 
 #: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "Spécifier les options AMR-NB"
 
 #: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "Réglage de l'exportation AMR-NB"
 
 #: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "Spécifier les options AMR-WB"
 
 #: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "Réglage de l'exportation AMR-WB"
 
 #: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "Spécifier les options WMA"
 
 #: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "Réglage de l'exportation WMA"
 
-#: export/ExportFFmpegDialogs.cpp:488
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "Ecraser les présélections '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:489
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "Confirmer l'effacement"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Sélectionnez le format avant d'enregistrer le profil"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Sélectionnez le codec avant d'enregistrer le profil"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "La présélection %s n'existe pas. "
 
-#: export/ExportFFmpegDialogs.cpp:795
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
-msgstr ""
+msgstr "Spécifier les autres options"
 
-#: export/ExportFFmpegDialogs.cpp:884
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
-msgstr ""
+msgstr "Présélection :"
 
-#: export/ExportFFmpegDialogs.cpp:885
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
-msgstr ""
+msgstr "Charger une présélection"
 
-#: export/ExportFFmpegDialogs.cpp:886
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
-msgstr ""
+msgstr "Enregistrer la présélection"
 
-#: export/ExportFFmpegDialogs.cpp:887
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
-msgstr ""
+msgstr "Effacer la présélection"
 
-#: export/ExportFFmpegDialogs.cpp:888
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
-msgstr ""
+msgstr "Importer les présélections"
 
-#: export/ExportFFmpegDialogs.cpp:889
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
-msgstr ""
+msgstr "Exporter les présélections"
 
-#: export/ExportPCM.cpp:177
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
 msgstr "Format :"
 
-#: export/ExportFFmpegDialogs.cpp:896
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
-msgstr ""
+msgstr "Codec :"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:902
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "Tous les formats et codecs ne sont pas compatibles. Certaines combinaisons de paramètres (comme la définition et la fréquence d'échantillonnage) ne sont pas non plus compatibles avec certains codecs."
 
-#: export/ExportFFmpegDialogs.cpp:903
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
-msgstr ""
+msgstr "Sélecteur de format :"
 
-#: export/ExportFFmpegDialogs.cpp:904
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
-msgstr ""
+msgstr "Sélecteur de Codec :"
 
-#: export/ExportFFmpegDialogs.cpp:906
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
-msgstr ""
+msgstr "Montrer tous les formats"
 
-#: export/ExportFFmpegDialogs.cpp:907
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
-msgstr ""
+msgstr "Montrer tous les Codecs"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
-msgstr ""
+msgstr "Options"
 
-#: prefs/GUIPrefs.cpp:168
+#: export/ExportFFmpegDialogs.cpp:920
+#: prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Langue :"
 
-#: export/ExportFFmpegDialogs.cpp:919
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:921
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"Format de caractères ISO 639 3\n"
+"Optionnel\n"
+"vide - automatique"
 
-#: export/ExportFFmpegDialogs.cpp:921
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
-msgstr ""
+msgstr "Etiquette :"
 
-#: export/ExportFFmpegDialogs.cpp:922
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:924
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"En-tête de codec (FOURCC)\n"
+"Optionnel\n"
+"vide - automatique"
 
-#: export/ExportFFmpegDialogs.cpp:925
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
+"Le taux d'échantillonnage (bits/second) - influence la taille et la qualité du fichier obtenu\n"
+"Certains codecs n'acceptent que des valeurs prédéfinies(128k, 192k, 256k etc)\n"
+"0 - automatique\n"
+"Recommandé - 192000"
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Qualité :"
-
-#: export/ExportFFmpegDialogs.cpp:928
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
+"Qualité générale, utilisée différemment selon les codecs\n"
+"Requis pour vorbis\n"
+"0 - automatique\n"
+"-1 - Arrêté  (remplacé par débit )"
 
-#: export/ExportFFmpegDialogs.cpp:930
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Taux d'échantillonnage :"
 
-#: export/ExportFFmpegDialogs.cpp:931
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:933
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
+"Taux d'échantillonnage (Hz)\n"
+"0 - ne change pas le taux d'échantillonnage"
 
-#: export/ExportFFmpegDialogs.cpp:933
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "Largeur de coupe bande"
 
-#: export/ExportFFmpegDialogs.cpp:934
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:936
+#, fuzzy
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
+"En-tête de codec (FOURCC)\n"
+"Optionnel\n"
+"0 - automatique"
 
-#: export/ExportFFmpegDialogs.cpp:936
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
-msgstr ""
+msgstr "Profil :"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:940
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
+"Profil AAC\n"
+"Basse complexité -Par défaut\n"
+"La plupart des lecteurs n'acceptent rien d'autre."
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
-msgstr ""
+msgstr "Options FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:952
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
-msgstr ""
+msgstr "Niveau de compression :"
 
-#: export/ExportFFmpegDialogs.cpp:953
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:955
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
 msgstr ""
+"Niveau de compression\n"
+"requis pour FLAC\n"
+"-1 - automatique\n"
+"min - 0 (encodage rapide, fichier de sortie important)\n"
+"max - 10 (encodage lent, fichier de sortie réduit)"
 
-#: export/ExportFFmpegDialogs.cpp:955
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
-msgstr ""
+msgstr "Taille de police"
 
-#: export/ExportFFmpegDialogs.cpp:956
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:958
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:958
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:959
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:961
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:961
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:962
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:964
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:964
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:965
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:967
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:967
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:971
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:974
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:977
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
-msgstr ""
+msgstr "Utilise LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
-msgstr ""
+msgstr "Options de conteneur MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:988
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
-msgstr ""
+msgstr "Taux de mixage :"
 
-#: export/ExportFFmpegDialogs.cpp:989
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:991
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Débit maximum de flux multiplexé\n"
+"Optionnel\n"
+"0 - default"
 
-#: export/ExportFFmpegDialogs.cpp:991
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
-msgstr ""
+msgstr "Taille de paquet"
 
-#: export/ExportFFmpegDialogs.cpp:992
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:994
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Taille de paquet\n"
+"Optionnel\n"
+"0 - par défaut"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Vous ne pouvez effacer une présélection sans nom"
 
-#: export/ExportFFmpegDialogs.cpp:1211
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "Effacer la présélection '%s' ?"
 
-#: export/ExportFFmpegDialogs.cpp:1230
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "Vous ne pouvez enregistrer une présélection sans lui donner un nom"
 
-#: export/ExportFFmpegDialogs.cpp:1270
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "Sélectionnez un fichier XML contenant les présélections à importer"
 
-#: prefs/KeyConfigPrefs.cpp:200
+#: export/ExportFFmpegDialogs.cpp:1275
+#: export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:228
+#: prefs/KeyConfigPrefs.cpp:259
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "Fichiers XML (*.xml)|*.xlml|Tous fichiers (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1290
+#: export/ExportFFmpegDialogs.cpp:1292
 msgid "Select xml file to export presets into"
-msgstr ""
+msgstr "Sélectionner un fichier XML pour exporter les présélection sous "
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Impossible de reconnaître le format"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.h:53
-msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "Impossible de trouver le codec"
 
 #: export/ExportFFmpegDialogs.h:54
-msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgid "M4A (AAC) Files (FFmpeg)"
+msgstr " Fichiers (FFmpeg) M4A (AAC)"
 
 #: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr ""
+msgid "AC3 Files (FFmpeg)"
+msgstr "Fichiers AC3 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "AMR (bande étroite) Fichiers (FFmpeg, non distribuable)"
 
 #: export/ExportFFmpegDialogs.h:57
-msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "AMR (large bande) Fichiers (FFmpeg, non distribuable)"
 
 #: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr "WMA (version 2) Fichiers (FFmpeg)"
+
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "Personalisation de l'export FFmpeg"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
-msgstr ""
+msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
-msgstr ""
+msgstr "Basse complexité"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
-msgstr ""
+msgstr "Profil principal"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
-msgstr ""
+msgstr "Niveau 2"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
-msgstr ""
+msgstr "Niveau 4"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
-msgstr ""
+msgstr "Niveau 8"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
-msgstr ""
+msgstr "Estimer"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
-msgstr ""
+msgstr "Recherche complète"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
+#, fuzzy
 msgid "Log search"
-msgstr ""
+msgstr "Recherche dans le journal"
 
-#: export/ExportFLAC.cpp:68
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
 msgstr "Spécifier les options FLAC"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (plus rapide)"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "4"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:90
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (meilleur)"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16 bits"
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24 bits"
 
-#: export/ExportFLAC.cpp:98
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "Réglage de l'exportation FLAC"
 
-#: export/ExportFLAC.cpp:102
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Niveau :"
 
-#: export/ExportFLAC.cpp:104
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Profondeur d'échantillonnage :"
 
-#: export/ExportFLAC.cpp:208
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
-msgstr "fichiers flac"
+msgstr "Fichiers FLAC"
+
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "L'export FLAC ne peut ouvrir %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"L'encodeur FLAC n'a pas pu s'initialiser\n"
+"Status: %d"
 
-#: export/ExportFLAC.cpp:310
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr "Exportation de la sélection audio en FLAC"
 
-#: export/ExportFLAC.cpp:311
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Exportation du projet entier en fichier FLAC"
 
@@ -6655,7 +7219,7 @@ msgstr "Exportation du projet entier en fichier FLAC"
 msgid "Specify MP2 Options"
 msgstr "Spécifier les options MP2"
 
-#: export/ExportMP2.cpp:129
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "Réglage de l'exportation MP2"
 
@@ -6663,64 +7227,64 @@ msgstr "Réglage de l'exportation MP2"
 msgid "MP2 Files"
 msgstr "Fichiers MP2"
 
-#: export/ExportMP2.cpp:229
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Impossible d'exporter en MP2 à  ce taux d'échantillonnage et cette définition"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1619
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Impossible d'ouvrir le fichier cible en écriture"
 
-#: export/ExportMP2.cpp:271
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Exportation de la sélection audio à %d kbps"
 
-#: export/ExportMP2.cpp:272
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Exportation du fichier entier à %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr "(Meilleure qualité)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr "(Petits fichiers)"
 
-#: export/ExportMP3.cpp:243
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Rapide"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
-#: prefs/GUIPrefs.cpp:49
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr "Standard"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr "Délirant"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr "Extrême"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr "Moyen"
 
-#: export/ExportMP3.cpp:303
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr "Spécifier les options MP3"
 
@@ -6749,26 +7313,25 @@ msgid "Constant"
 msgstr "Constant"
 
 #: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Qualité"
 
 #: export/ExportMP3.cpp:379
 msgid "Variable Speed:"
-msgstr "Vitesse variable"
+msgstr "Vistesse variable"
 
 #: export/ExportMP3.cpp:386
 msgid "Channel Mode:"
-msgstr "Mode de canaux :"
+msgstr "Mode de canal :"
 
 #: export/ExportMP3.cpp:391
 msgid "Joint Stereo"
-msgstr "Joindre stéréo"
+msgstr "canaux stéréo joints"
 
 #: export/ExportMP3.cpp:392
 msgid "Stereo"
-msgstr "Stéréo"
+msgstr "Stéréo,"
 
 #: export/ExportMP3.cpp:536
 msgid "Locate Lame"
@@ -6785,229 +7348,250 @@ msgstr "Pour obtenir une copie de Lame gratuite, cliquer ici -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"Vous liez vers lame_enc.dll v%d.%d. Cette version n'est pas compatible avec Audacity %d.%d.%d.\n"
+"Téléchargez la dernière version de la librairie MP3 LAME."
 
-#: export/ExportMP3.cpp:1094
+#: export/ExportMP3.cpp:1328
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Seulement lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 
-#: export/ExportMP3.cpp:1550
+#: export/ExportMP3.cpp:1346
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Seulement libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 
-#: export/ExportMP3.cpp:1567
-#, fuzzy
+#: export/ExportMP3.cpp:1364
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Seulement libmp3lame.so|libmp3lame.so|Fichiers Primary Shared Object (*.so)|*.so|Libraries étendues (*.so*)|*.so*|Tous fichiers (*)|*"
 
-#: export/ExportMP3.cpp:1650
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "Fichiers MP3"
 
-#: export/ExportMP3.cpp:1673
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "Impossible d'ouvrir la librairie d'encodage MP3 !"
 
-#: export/ExportMP3.cpp:1680
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "La librairie d'encodage MP3 n'est pas valide ou pas supportée !"
 
-#: export/ExportMP3.cpp:1757
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "Impossible d'initialiser le flux MP3"
 
-#: export/ExportMP3.cpp:1799
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "Exportation de la sélection audio avec la présélection %s"
 
-#: export/ExportMP3.cpp:1800
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Exportation du fichier entier avec la présélection %s"
 
-#: export/ExportMP3.cpp:1805
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "Exportation de la sélection audio avec la qualité VBR %s"
 
-#: export/ExportMP3.cpp:1806
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Exportation du fichier entier avec la qualité VBR %s"
 
-#: export/ExportMP3.cpp:1811
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr "Exportation de la sélection audio à %d kbps"
 
-#: export/ExportMP3.cpp:1812
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Exportation du fichier entier à %d kbps"
 
-#: export/ExportMP3.cpp:1845
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Erreur %d retournée par l'encodeur MP3"
 
-#: export/ExportMP3.cpp:1931
+#: export/ExportMP3.cpp:1790
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
-msgstr "Le taux d'échantillonnage du projet (%d) n'est pas supporté\n"
+msgstr ""
+"Le taux d'échantillonnage du projet (%d) n'est pas supporté\n"
 "par le format MP3."
 
-#: export/ExportMP3.cpp:1934
+#: export/ExportMP3.cpp:1793
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr "La combinaison de taux d'échantillonnage du projet (%d) et de définition  (%d kbps)\n"
+msgstr ""
+"La combinaison de taux d'échantillonnage du projet (%d) et de définition  (%d kbps)\n"
 "n'est pas supporté par le format MP3."
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Librairie d'exportation MP3 non trouvée"
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Export Multiple"
 
-#: export/ExportMultiple.cpp:164
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Si vous avez plus d'une piste audio, il est possible d'exporter chacune dans un fichier indépendant,\n"
+msgstr ""
+"Si vous avez plus d'une piste audio, il est possible d'exporter chacune dans un fichier indépendant,\n"
 "ou si vous avez une piste de marqueurs, vous pouvez créer un nouveau fichier pour chaque marqueur.\n"
 "\n"
 "Ce projet n'ayant pas de pistes multiples, ni de piste de marqueurs, vous ne pouvez pas exporter de fichiers multiples."
 
-#: export/ExportMultiple.cpp:165
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Impossible d'exporter des fichiers multiples"
 
-#: export/ExportMultiple.cpp:200
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Format d'export :"
 
-#: export/ExportMultiple.cpp:207
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Options..."
 
-#: export/ExportMultiple.cpp:210
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Emplacement de l'export :"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Choisir..."
-
-#: export/ExportMultiple.cpp:217
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Créer"
 
-#: export/ExportMultiple.cpp:224
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
-msgstr "Séparer en fichiers selon :"
+msgstr "Séparer en fichier selon :"
 
-#: export/ExportMultiple.cpp:234
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Marqueurs"
 
-#: export/ExportMultiple.cpp:239
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Inclure l'audio avant le premier marqueur"
 
-#: export/ExportMultiple.cpp:245
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Premier nom de fichier :"
 
 #: export/ExportMultiple.cpp:277
 msgid "First file name"
-msgstr ""
-
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Pistes"
+msgstr "Premier nom de fichier"
 
-#: export/ExportMultiple.cpp:265
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Renommer le fichier :"
 
-#: export/ExportMultiple.cpp:275
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "selon le marqueur ou le nom de piste"
 
-#: export/ExportMultiple.cpp:282
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Numérotation continue"
 
-#: export/ExportMultiple.cpp:288
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Préfixe de nom de fichier :"
 
 #: export/ExportMultiple.cpp:324
 msgid "File name prefix"
-msgstr ""
+msgstr "Préfixe de nom de fichier"
 
-#: export/ExportMultiple.cpp:306
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Ecraser les fichiers existants"
 
-#: export/ExportMultiple.cpp:372
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "\"%s\" a été créé avec succès."
 
-#: export/ExportMultiple.cpp:381
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Choisir un emplacement pour placer les fichiers temporaires"
 
-#: export/ExportMultiple.cpp:470
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr "%ld fichier(s) exporté(s) avec succès."
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr "Quelque chose a mal tourné après l'export du (des) fichier(s) %ld."
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "Export annulé après l'exportation du (des) fichier(s) %ld."
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "Export stoppé après l'exportation du (des) fichier(s) %ld."
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "Quelque chose a vraiment mal tourné après l'export du (des) fichier(s) %ld."
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "Export Multiple"
+
+#: export/ExportMultiple.cpp:570
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
-msgstr "\"%s\" n'existe pas.\n"
+msgstr ""
+"\"%s\" n'existe pas.\n"
 "\n"
 "Voulez-vous le créer ?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Editer les métadonnées"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr " %d fichier(s) exporté(s) avec succès."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Quelque chose a mal tourné après l'export du (des) fichier(s) %d."
-
-#: export/ExportMultiple.cpp:825
+#: export/ExportMultiple.cpp:923
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr "Le marqueur %s n'est pas un nom valise. Ne pas utiliser les caractères suivants :   %s\n"
+msgstr ""
+"Le marqueur %s n'est pas un nom valide. Ne pas utiliser les caractères suivants :   %s\n"
 "Utiliser..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
 msgstr "Spécifier les options Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Réglage de l'exportation Ogg Vorbis"
 
@@ -7015,362 +7599,408 @@ msgstr "Réglage de l'exportation Ogg Vorbis"
 msgid "Ogg Vorbis Files"
 msgstr "Fichier Ogg Vorbis"
 
-#: export/ExportOGG.cpp:254
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Exportation de la sélection audio en Ogg Vorbis"
 
-#: export/ExportOGG.cpp:255
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Exportation du projet entier en Ogg Vorbis"
 
-#: export/ExportPCM.cpp:115
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
 msgstr "Spécifier les options de compression"
 
-#: export/ExportPCM.cpp:171
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Réglage d'exportation non compressé"
 
-#: export/ExportPCM.cpp:181
+#: export/ExportPCM.cpp:195
 msgid "Header:"
-msgstr "En-tête :"
+msgstr "Entête :"
 
-#: export/ExportPCM.cpp:185
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Encodage :"
 
-#: export/ExportPCM.cpp:190
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(Les combinaison d'entête et d'encodage ne sont pas toutes possibles.)"
 
 #: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "Autres formats non compressés"
 
 #: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) signé 16 bits PCM"
 
 #: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) signé 16 bits PCM"
 
 #: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobile)"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Impossible d'exporter l'audio dans ce format."
 
-#: export/ExportPCM.cpp:401
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "Exportation de la sélection audio à %s"
 
-#: export/ExportPCM.cpp:403
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Exportation du projet entier en %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:437
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Erreur (le fichier peut ne pas avoir été écrit) : %hs"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Il n'y a pas d'options pour ce format.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Pour davantage de choix de format d'export, sélectionner \"Autres formats non compressés\"."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Votre fichier sera exporté comme fichier 16-bit AIFF (Apple/SGI) file.\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Votre fichier sera exporté comme fichier 16-bit WAV (Microsoft).\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Votre fichier sera exporté comme fichier GSM 6.10 WAV .\n"
 
-#: import/ImportMP3.cpp:39
+#: import/Import.cpp:162
+#: import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "Fichiers MP3"
 
-#: import/Import.cpp:176
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "Sélectionner le(s) flux à importer"
 
-#: import/Import.cpp:155
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Cette version d'Audacity n'a pas été compilée avec le support %s."
 
-#: import/Import.cpp:242
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
+"\"%s\" est un fichier MIDI, et non audio. \n"
+"Audacity ne peut pas ouvrir ce type de fichier pour le lire, mais vous pouvez \n"
+" l'éditer en cliquant sur Fichier > Importer > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:168
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr "\"%s\" est une piste de CD audio. \n"
+msgstr ""
+"\"%s\" est une piste de CD audio. \n"
 "Audacity ne peut pas ouvrir de CD audio directement. \n"
 "Extraire (ripper) les pistes de CD dans un format audio\n"
 "qu'Audacity peut importer, comme le WAV ou l'AIFF."
 
-#: import/Import.cpp:174
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr "\"%s\" est une liste de lecture. \n"
+msgstr ""
+"\"%s\" est une liste de lecture. \n"
 "Audacity ne peut pas ouvrir ce fichier car il contient seulement des liens vers d'autres fichiers. \n"
-"Vous pouvez l'ouvrir avec un éditeur de texte et télécharger les fichiers audio correspondants."
+"Vous pouvez l'ouvrir avec un traitement de texte et télécharger les fichiers audio correspondants."
 
-#: import/Import.cpp:179
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier Windows Media Audio. \n"
+msgstr ""
+"\"%s\" est un fichier Windows Media Audio. \n"
 "Audacity ne peut pas ouvrir ce type de fichier pour des raisons de droits. \n"
-"Vous devez le convertir dans un format audio compatible, tel que le WAV ou l'AIFF."
+"Vous devez le convertir dans un format audio compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:184
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier Advanced Audio Coding. \n"
+msgstr ""
+"\"%s\" est un fichier Advanced Audio Coding. \n"
 "Audacity ne peut pas ouvrir ce type de fichier. \n"
-"Vous devez le convertir dans un format audio compatible, tel que le WAV ou l'AIFF."
+"Vous devez le convertir dans un format audio compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:273
+#: import/Import.cpp:278
 #, c-format
-#, fuzzy
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr "\"%s\" est un fichier audio crypté, de ceux distribués par les boutiques de musique en ligne. \n"
+msgstr ""
+"\"%s\" est un fichier audio crypté, de ceux distribués par les boutiques de musique en ligne. \n"
 "Audacity ne peut pas ouvrir ce type de fichier à cause de son cryptage. \n"
 "Essayez d'enregistrer ce fichier avec Audacity, ou de le graver sur un CD audio, puis d'extraire \n"
-"les pistes de CD dans un format audio qu'Audacity peut importer, comme le WAV ou l'AIFF."
+"les pistes de CD dans un format audio compatible, comme le WAV ou l'AIFF."
 
-#: import/Import.cpp:194
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier média RealPlayer. \n"
+msgstr ""
+"\"%s\" est un fichier média RealPlayer. \n"
 "Audacity ne peut pas ouvrir ce format propriétaire. \n"
-"Vous devez le convertir dans un format audio compatible, tel que le WAV ou l'AIFF."
+"Vous devez le convertir dans un format audio compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:206
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
-msgstr "\"%s\" est un fichier de notes, pas un fichier audio. \n"
+msgstr ""
+"\"%s\" est un fichier de notes, pas un fichier audio. \n"
 "Audacity ne peut pas ouvrir ce type de fichier. \n"
-"Essayez de le convertir dans un format audio, tel que le WAV ou l'AIFF.\n"
+"Essayez de le convertir dans un format audio, tel le WAV ou l'AIFF.\n"
 "puis de l'importer, ou de l'enregistrer avec Audacity."
 
-#: import/Import.cpp:212
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier audio Musepack. \n"
+msgstr ""
+"\"%s\" est un fichier audio Musepack. \n"
 "Audacity ne peut pas ouvrir ce type de fichier. \n"
 "Si vous pensez qu'il peut s'agir d'un fichier MP3, renommez-le avec l'extension \".mp3\" \n"
 "et essayez de l'importer à nouveau. Sinon, vous devez le convertir dans un format audio  \n"
-"compatible, tel que le WAV ou l'AIFF."
+"compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:218
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier audio Wavpack. \n"
+msgstr ""
+"\"%s\" est un fichier audio Wavpack. \n"
 "Audacity ne peut pas ouvrir ce type de fichier. \n"
-"Vous devez le convertir dans un format audio compatible, tel que le WAV ou l'AIFF."
+"Vous devez le convertir dans un format audio compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:224
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier audio Dolby Digital. \n"
+msgstr ""
+"\"%s\" est un fichier audio Dolby Digital. \n"
 "Pour le moment, Audacity ne peut pas ouvrir ce type de fichier. \n"
-"Vous devez le convertir dans un format audio compatible, tel que le WAV ou l'AIFF."
+"Vous devez le convertir dans un format audio compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:230
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" est un fichier audio Ogg Speex. \n"
+msgstr ""
+"\"%s\" est un fichier audio Ogg Speex. \n"
 "Pour le moment, Audacity ne peut pas ouvrir ce type de fichier. \n"
-"Vous devez le convertir dans un format audio compatible, tel que le WAV ou l'AIFF."
+"Vous devez le convertir dans un format audio compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:314
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" est un fichier vidéo. \n"
+"Pour le moment, Audacity ne peut pas ouvrir ce type de fichier. \n"
+"Vous devez en extraire l'audio dans un format compatible, tel le WAV ou l'AIFF."
 
-#: import/Import.cpp:319
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
+"Audacity n'a pas reconnu ce type de fichier '%s'.\n"
+"S'il est non compressé, essayez de l'importer en utilisant \"Importer Raw\""
 
-#: import/Import.cpp:324
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
 msgstr ""
+"Audacity a reconnu ce type de fichier '%s'.\n"
+"mais il n'a pu l'importer."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "Fichiers compatibles - FFmpeg"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Index[%02x] Codec[%S], Langage[%S], Débit[%S], Canaux[%d], Durée[%d]"
 
-#: import/ImportFLAC.cpp:35
+#: import/ImportFLAC.cpp:43
 msgid "FLAC files"
 msgstr "Fichiers FLAC"
 
-#: import/ImportLOF.cpp:92
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "Fichiers compatibles GStreamer"
+
+#: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Liste des fichiers en format texte"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:318
+#: import/ImportLOF.cpp:314
 msgid "Invalid window offset in LOF file."
 msgstr ""
 
 #  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
-#: import/ImportLOF.cpp:435
+#: import/ImportLOF.cpp:316
+#: import/ImportLOF.cpp:337
+#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "Erreur de LOF"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:339
+#: import/ImportLOF.cpp:335
 msgid "Invalid duration in LOF file."
 msgstr "Durée invalide dans le fichier LOF."
 
-#: import/ImportLOF.cpp:414
+#: import/ImportLOF.cpp:417
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
 msgstr "Les pistes MIDI ne peuvent être compensées individuellement, seules les pistes audio le peuvent."
 
 #  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:434
+#: import/ImportLOF.cpp:438
 msgid "Invalid track offset in LOF file."
-msgstr ""
+msgstr "Décalage de piste invalide dans le fichier LOF."
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": Nom de fichier trop court"
 
-#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31
+#: import/ImportMIDI.cpp:39
+#: import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "Impossible d'ouvrir le fichier"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Type de fichier incorrect"
 
-#: import/ImportOGG.cpp:36
+#: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
 msgstr "Fichiers Ogg Vorbis"
 
-#: import/ImportOGG.cpp:142
+#: import/ImportOGG.cpp:184
 msgid "Media read error"
 msgstr "Erreur de lecture du média"
 
-#: import/ImportOGG.cpp:145
+#: import/ImportOGG.cpp:187
 msgid "Not an Ogg Vorbis file"
 msgstr "N'est pas un fichier Ogg Vorbis"
 
-#: import/ImportOGG.cpp:148
+#: import/ImportOGG.cpp:190
 msgid "Vorbis version mismatch"
 msgstr "Mauvaise version de Vorbis"
 
-#: import/ImportOGG.cpp:151
+#: import/ImportOGG.cpp:193
 msgid "Invalid Vorbis bitstream header"
 msgstr "Entête Vorbis bitstream invalide"
 
-#: import/ImportOGG.cpp:154
+#: import/ImportOGG.cpp:196
 msgid "Internal logic fault"
 msgstr "Erreur de logique interne"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, et autres formats non compressés"
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "Importation de %s ..."
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "Fichiers QuickTime"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
-msgstr ""
+msgstr "Importer des données brutes (Raw)"
 
-#: import/ImportRaw.cpp:278
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Importer des données brutes (Raw)"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
+#. know the correct technical word.
 #: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr "Pas de \"boutisme\""
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
+#. know the correct technical word.
 #: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr "Mode \"petit-boutiste\""
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
+#. know the correct technical word.
 #: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "Mode \"Gros-boutiste\""
@@ -7378,1198 +8008,1317 @@ msgstr "Mode \"Gros-boutiste\""
 #  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #  know the correct technical word.
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
+#. know the correct technical word.
 #: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr "\"Boutisme\" par défaut."
 
-#: import/ImportRaw.cpp:370
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 Canal (Mono)"
 
-#: import/ImportRaw.cpp:371
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 Canaux (Stéréo)"
 
-#: import/ImportRaw.cpp:373
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d Canaux"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
-msgstr ""
+msgstr "Ordre des bits :"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
-msgstr ""
+msgstr "Canaux :"
 
-#: import/ImportRaw.cpp:386
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Décalage de début :"
 
-#: import/ImportRaw.cpp:397
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Portion à importer :"
 
-#: import/ImportRaw.cpp:408
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Fréquence d'échantillonnage :"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Import achevé. Calcul de la forme d'onde"
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "Décodage de la forme d'onde"
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% achevé.  Cliquer pour modifier."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "E/S audio "
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr "Traitement en lot"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:75
+#: prefs/GUIPrefs.cpp:134
+#: prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr "Comportements"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Stéréo)"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr "&N'appliquer aucun effet en mode Traitement par lot"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Lecture"
+#: prefs/BatchPrefs.cpp:81
+#: prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Mode Cl&eanSpeech  (interface personnalisée)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Périphérique :"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Périphériques"
+
+#: prefs/DevicePrefs.cpp:108
+#: prefs/GUIPrefs.cpp:32
+msgid "Interface"
+msgstr "Interface"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr "Hôte"
 
-#: prefs/AudioIOPrefs.cpp:122
+#: prefs/DevicePrefs.cpp:120
+#: prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Utilisation :"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/DevicePrefs.cpp:128
+#: prefs/MidiIOPrefs.cpp:114
+#: prefs/PlaybackPrefs.cpp:30
+msgid "Playback"
+msgstr "Lecture"
 
-#: prefs/AudioIOPrefs.cpp:133
+#: prefs/DevicePrefs.cpp:141
+#: prefs/MidiIOPrefs.cpp:128
+#: prefs/RecordingPrefs.cpp:33
 msgid "Recording"
 msgstr "Enregistrement"
 
-#: prefs/AudioIOPrefs.cpp:139
+#: prefs/DevicePrefs.cpp:151
+#: prefs/MidiIOPrefs.cpp:134
 msgid "Channels"
 msgstr "Canaux"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Passage audio"
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Passage audio matériel : Lire la nouvelle piste pendant son enregistrement"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Passage audio logiciel : Lire la nouvelle piste pendant son enregistrement"
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:161
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Prévisualisation des effets"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Longueur de la prévisualisation :"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Prévisualisation de la coupe"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latence"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Buffer audio :\n"
-"(plus haut = plus de latence)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Correction de latence :\n"
-"(négative = arrière)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Saut de lecture"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Court :"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Long :"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Traitement en lot"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Comportements"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "&N'appliquer aucun effet en mode Traitement par lot"
+#: prefs/DevicePrefs.cpp:241
+#: prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Mode Cl&eanSpeech  (interface personnalisée)"
+#: prefs/DevicePrefs.cpp:244
+#: prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (Stéréo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
-#: prefs/PrefsDialog.cpp:279
+#: prefs/DirectoriesPrefs.cpp:52
+#: prefs/PrefsDialog.cpp:193
 msgid "Directories"
 msgstr "Répertoires"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Répertoire des fichiers temporaires"
 
-#: prefs/DirectoriesPrefs.cpp:91
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Emplacement :"
 
-#: prefs/DirectoriesPrefs.cpp:93
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Espace libre :"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Sauvegarde automatique"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Sauvegarde automatiquement une copie du projet dans un répertoire séparé"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Intervalle de sauvegarde automatique"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr "Cache audio"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "Lecture et/ou enregistrement en mémoire RAM (utile pour des disques lents)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Cache audio"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Mémoire libre minimale (MB) :"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
+"Si la mémoire système libre tombe en-dessous de cette valeur, l'audio pourra\n"
+"plus être dans le cache mémoire et sera écrit sur le disque. "
 
-#: prefs/DirectoriesPrefs.cpp:121
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Choisir un emplacement pour placer le répertoire temporaire"
 
-#: prefs/DirectoriesPrefs.cpp:166
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "Indisponible - la localisation ci-dessus n'existe pas"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "Le répertoire %s n'existe pas. Le créer ?"
 
-#: prefs/DirectoriesPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Nouveau Répertoire Temporaire"
 
-#: prefs/DirectoriesPrefs.cpp:187
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "Le répertoire %s est protégé en écriture."
 
-#: prefs/DirectoriesPrefs.cpp:199
+#: prefs/DirectoriesPrefs.cpp:207
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Les changements de dossier temporaire ne prendront effet qu'après avoir redémarré Audacity "
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Import / Export"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Librairie d'export MP3 :"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "Version de la librairie MP3 :"
-
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "Librairie MP3 :"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "Librairie MP3 LAME :"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "Téléchargement"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Note : Pour choisir les options de qualité d'exportation, cliquer sur le bouton Options de la boîte de dialogue d'exportation.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "A l'importation de fichiers audio"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "Faire une copie des fichiers audio non compressés avant le montage (plus sûr)"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr "Dans l'explorateur"
 
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "Lire les fichiers audio non compressés directement depuis l'original (plus rapide)"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr "Depuis Internet"
 
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Normaliser toutes les pistes du projet"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "Lors de l'enregistrement d'un projet dépendant d'autres fichiers audio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "Toujours copier tout l'audio dans le projet (plus sûr)"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "Ne pas copier d'au&dio"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "Dem&ander à l'utilisateur"
-
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "A l'exportation dans un fichier audio"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Toujours réduire la totalité des pistes à un mixage stéréo ou mono."
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Utiliser un mixage personnalisé (par exemple exporter en multicanal 5.1)  "
-
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Ouvrir l'éditeur de métadonnées avant l'exportation"
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (pour édition de grande amplitude)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Interface"
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (amplitude PCM en échantillonnage 8 bits)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "Dans l'explorateur"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (amplitude PCM d'échantillon 10 bits)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Depuis Internet"
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (amplitude PCM en échantillonnage 16 bits)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Simple"
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (limite approximative de l'audition humaine)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "Act&ualiser l'affichage pendant la lecture"
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (amplitude PCM en échantillonnage 24 bits)"
 
 #: prefs/GUIPrefs.cpp:96
-#, fuzzy
-msgid "Cl&osing last window quits Audacity"
-msgstr "La fermeture de la dernière fenêtre referme Audacity"
+#: prefs/SpectrumPrefs.cpp:129
+#: prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr "Affichage"
 
 #: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Permettre le glissement des bordures de sélection gauche et droite"
-
-#: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
+msgstr "Activer l'er&gonomie des boutons d'E/S audio"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Ajuster automatiquement les pistes à la hauteur de la fenêtre"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "Afficher le message d'accueil au lancement du programme"
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Amplitude en dB du VU-mètre/Forme d'onde"
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "L'édition d'un &clip peut déplacer les autres clips"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr "Aide :"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Sélectionner tout l'audio d'un projet si rien n'est sélectionné"
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr "La fermeture de la dernière fenêtre referme Audacity"
 
-#: prefs/GUIPrefs.cpp:110
+#: prefs/GUIPrefs.cpp:139
 msgid "&Beep on completion of longer activities"
 msgstr "&Bip à l'achèvement des travaux de longue durée"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Montrer / Cacher"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Autoriser les lignes de coupe"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Afficher les avertissements concernant les fichiers &temporaires"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Afficher le message de bienvenue au lancement du programme"
-
-#: prefs/GUIPrefs.cpp:126
+#: prefs/GUIPrefs.cpp:145
 msgid "Modes"
 msgstr "Modes"
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
-msgstr ""
+#: prefs/GUIPrefs.cpp:151
+#, fuzzy
+msgid "Display VST effects in GUI mode"
+msgstr "&N'appliquer aucun effet en mode Traitement par lot"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr ""
+#: prefs/GUIPrefs.cpp:156
+msgid "Don't a&pply effects in batch mode"
+msgstr "N'a&ppliquer aucun effet en mode Traitement par lot"
 
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (pour édition de grande amplitude)"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr "Import / Export"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (amplitude PCM en échantillonnage 8 bits)"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr "A l'importation de fichiers audio"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (amplitude PCM d'échantillon 10 bits)"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "Faire une copie des fichiers audio non compressés avant le montage (plus sûr)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (amplitude PCM en échantillonnage 16 bits)"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "Lire les fichiers audio non compressés directement depuis l'original (plus rapide)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (limite approximative de l'audition humaine)"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr "&Normaliser toutes les pistes du projet"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (amplitude PCM en échantillonnage 24 bits)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr "A l'exportation dans un fichier audio"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Mode dd'affichage par défaut"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Toujours réduire la totalité des pistes à un mixage stéréo ou mono."
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Autres choix d'interface"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Utiliser un mixage personnalisé (par exemple exporter en multicanal 5.1)  "
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Aide :"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Ouvrir l'éditeur de métadonnées avant l'exportation"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Bouton solo :"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Note : Pour choisir les options de qualité d'exportation, cliquer sur le bouton Options\n"
+"de la boîte de dialogue d'exportation."
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:71
 msgid "Keyboard"
 msgstr "Clavier"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:95
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Les préférences de clavier ne sont pas disponible pour l'instant."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Ouvrir un nuveau projet  pour modifier les raccourcis clavier."
 
-#: prefs/KeyConfigPrefs.cpp:95
+#: prefs/KeyConfigPrefs.cpp:121
 msgid "Key Bindings"
 msgstr "Définition des raccourcis clavier"
 
-#: prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:144
 msgid "S&et"
 msgstr "Réglag&es"
 
-#: prefs/KeyConfigPrefs.cpp:120
+#: prefs/KeyConfigPrefs.cpp:150
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Note: Frapper Cmd+Q pour quitter. Toutes les autres touches sont valides."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:157
+#: prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "Réglages par défaut"
 
-#: prefs/KeyConfigPrefs.cpp:143
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr "Commande"
+
+#: prefs/KeyConfigPrefs.cpp:172
 msgid "Key Combination"
 msgstr "Combinaison de touches"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exporter les raccourcis clavier sous :"
+#: prefs/KeyConfigPrefs.cpp:196
+#: toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Annuler"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Erreur d'enregistrement des raccourcis clavier"
+#: prefs/KeyConfigPrefs.cpp:199
+#: toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "Refaire"
 
-#: prefs/KeyConfigPrefs.cpp:196
+#: prefs/KeyConfigPrefs.cpp:224
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Choisir un fichier XML contenant les raccourcis clavier..."
 
-#: prefs/KeyConfigPrefs.cpp:213
+#: prefs/KeyConfigPrefs.cpp:242
 msgid "Error loading keyboard shortcuts"
 msgstr "Erreur de chargement des raccourcis clavier"
 
-#: prefs/KeyConfigPrefs.cpp:241
+#: prefs/KeyConfigPrefs.cpp:255
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exporter les raccourcis clavier sous :"
+
+#: prefs/KeyConfigPrefs.cpp:281
+msgid "Error saving keyboard shortcuts"
+msgstr "Erreur d'enregistrement des raccourcis clavier"
+
+#: prefs/KeyConfigPrefs.cpp:331
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr "Le raccourcis clavier '%s' est déjà assigné à :\n"
+msgstr ""
+"Le raccourcis clavier '%s' est déjà assigné à :\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Annuler"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Librairies"
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr "Librairie d'export MP3 :"
 
-#: prefs/AudioIOPrefs.cpp:147
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "Version de la librairie MP3 :"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr "Librairie MP3 :"
+
+#: prefs/LibraryPrefs.cpp:92
+#: prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr "&Localiser..."
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr "Librairie MP3 LAME :"
+
+#: prefs/LibraryPrefs.cpp:97
+#: prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr "Téléchargement"
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr "Librairie d'export FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr "Version de la librairie FFmpeg :"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "Aucune librairie FFmpeg compatible n'a été trouvée"
+
+#: prefs/LibraryPrefs.cpp:120
+#: prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr "Librairie FFmpeg :"
+
+#: prefs/MidiIOPrefs.cpp:44
+#: prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "E/S audio "
+
+#: prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/MidiIOPrefs.cpp:140
+#: prefs/RecordingPrefs.cpp:57
+msgid "Playthrough"
+msgstr "Passage audio"
+
+#: prefs/MidiIOPrefs.cpp:142
 msgid "&Play other tracks while recording new one"
 msgstr "Lire les autres pistes pendant l'enregistrement d'une nouvelle"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:145
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "Passage audio matériel (Lire la nouvelle piste pendant son enregistrement)"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:148
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "Passage audio logiciel (Lire la nouvelle piste pendant son enregistrement)"
+
+#: prefs/MidiIOPrefs.cpp:153
+#: prefs/PlaybackPrefs.cpp:68
+msgid "Cut Preview"
+msgstr "Prévisualisation de la coupe"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:156
 msgid "Play before cut region:"
-msgstr ""
+msgstr "Lecture avant la coupe :"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:158
 msgid "Play after cut region:"
-msgstr ""
+msgstr "Lecture après la coupe :"
+
+#: prefs/MidiIOPrefs.cpp:163
+#: prefs/RecordingPrefs.cpp:76
+msgid "Latency"
+msgstr "Latence"
 
-#: prefs/MidiIOPrefs.cpp:173
+#: prefs/MidiIOPrefs.cpp:168
+#: prefs/RecordingPrefs.cpp:82
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "Audio vers tampon :"
 
-#: prefs/MidiIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:170
+#: prefs/RecordingPrefs.cpp:88
 msgid "Latency correction:"
-msgstr ""
+msgstr "Correction de latence :"
 
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:177
 msgid "Seek Time"
-msgstr ""
+msgstr "Temps passé"
+
+#: prefs/MidiIOPrefs.cpp:180
+#: prefs/PlaybackPrefs.cpp:92
+msgid "Short period:"
+msgstr "Court :"
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:182
+#: prefs/PlaybackPrefs.cpp:98
+msgid "Long period:"
+msgstr "Long :"
+
+#: prefs/MidiIOPrefs.cpp:187
+#: prefs/PlaybackPrefs.cpp:54
+msgid "Effects Preview"
+msgstr "Prévisualisation des effets"
+
+#: prefs/MidiIOPrefs.cpp:190
 msgid "Play when previewing:"
-msgstr ""
+msgstr "Lecture durant la prélecture"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Souris"
 
-#: prefs/MousePrefs.cpp:78
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Souris (réglages par défaut, non modifiables)"
 
-#: prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Outil"
 
-#: prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Commande"
 
-#: prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Boutons"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Clic Gauche"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
 #: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Sélection"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Définir un point de sélection"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
 #: prefs/MousePrefs.cpp:115
 #: prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Glisser à gauche"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Régler la sélection"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Etendre la sélection"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Maj + Clic gauche"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Double clic gauche"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr "Sélectionner le clip ou la piste entière"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Ctrl + Clic gauche"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr "Définir un point de sélection et lire"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
 #: prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Zoom"
 
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Zoom avant au point"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Zoom sur la sélection"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "Comme glisser à droite"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Clic droit"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Zoom arrière d'un cran"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Glisser à droite"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "comme glisser à gauche"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Maj. + glisser"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Zoom arrière sur la sélection"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Clic du milieu"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Zoom par défaut"
 
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "Glissement des clips temporellement ou d'une piste à l'autre "
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Maj. + glisser à gauche"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "Glissement temporel de tous les clips de la piste"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl + glisser à gauche"
 
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Déplacer les clips d'une piste à l'autre"
 
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Changer l'amplification"
 
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Modifier l'échantillon"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "Crayon"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt + Clic gauche"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Lisser l'échantillon"
 
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Changer plusieurs échantillons"
 
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Changer un seul échantillon :"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
 msgid "same as select tool"
 msgstr "Comme l'outil de sélection"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "Comme l'outil zoom"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:131
+#: prefs/MousePrefs.cpp:132
+#: prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Tout"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Défilement haut/bas"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Molette de souris"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Rouler à gauche ou à droite"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Maj. et roulette de souris"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl + Roulette souris"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "Zoom avant/arrière"
 
-#: prefs/PrefsDialog.cpp:89
+#: prefs/PlaybackPrefs.cpp:58
+msgid "Length of preview:"
+msgstr "Longueur de la prélecture :"
+
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Preview before cut region:"
+msgstr "Prélecture avant la coupe :"
+
+#: prefs/PlaybackPrefs.cpp:78
+msgid "Preview after cut region:"
+msgstr "Prélecture après la coupe :"
+
+#: prefs/PlaybackPrefs.cpp:88
+msgid "Seek Time when playing"
+msgstr "Saut de lecture"
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Préférences d'Audacity"
 
-#: prefs/QualityPrefs.cpp:73
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr "Projets"
+
+#: prefs/ProjectsPrefs.cpp:56
+msgid "When saving a project that depends on other audio files"
+msgstr "Lors de l'enregistrement d'un  projet dépendant d'autres fichiers audio"
+
+#: prefs/ProjectsPrefs.cpp:60
+msgid "Always &copy all audio into project (safest)"
+msgstr "Toujours copier tout l'audio dans le projet ( plus sûr)"
+
+#: prefs/ProjectsPrefs.cpp:62
+msgid "&Do not copy any audio"
+msgstr "Ne pas copier d'audio"
+
+#: prefs/ProjectsPrefs.cpp:64
+msgid "&Ask user"
+msgstr "Demander à l'utilisateur"
+
+#: prefs/ProjectsPrefs.cpp:71
+msgid "Auto save"
+msgstr "Sauvegarde automatique"
+
+#: prefs/ProjectsPrefs.cpp:73
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Sauvegarder automatiquement une copie du projet dans un répertoire séparé"
+
+#: prefs/ProjectsPrefs.cpp:79
+msgid "Auto save interval:"
+msgstr "Intervalle de sauvegarde automatique"
+
+#: prefs/ProjectsPrefs.cpp:83
+msgid "minutes"
+msgstr "minutes"
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Rectangulaire"
 
-#: prefs/QualityPrefs.cpp:74
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Triangle"
 
-#: prefs/QualityPrefs.cpp:75
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "Onde"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr "Echantillonnage"
 
-#: prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Fréquence d'échantillonnage par défaut :"
 
-#: prefs/QualityPrefs.cpp:127
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
 msgstr "Format d'échantillonnage par défaut :"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Convertisseur d'échantillonnage en temps réel :"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Conversion en temps réel"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Convertisseur d'échantillonnage de haute qualité :"
+#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Convertisseur d'échantillonnage "
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Lissage en temps réel :"
+#: prefs/QualityPrefs.cpp:178
+#: prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr "Lissage"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Lissage de haute qualité :"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Conversion de haute qualité"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Conversion"
+#: prefs/RecordingPrefs.cpp:59
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Doublage : lire les autres &pistes pendant l'enregistrement d'une nouvelle"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Convertisseur d'échantillonnage "
+#: prefs/RecordingPrefs.cpp:63
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Passage audio matériel : Lire la nouvelle piste pendant son enregistrement"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Lisser"
+#: prefs/RecordingPrefs.cpp:67
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "Pa&ssage audio logiciel : Lire la nouvelle piste pendant son enregistrement sa visualisation"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Temps réel :"
+#: prefs/RecordingPrefs.cpp:71
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(décocher pour enregistrement avec \"stéréo mix\")"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Haute qualité :"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr "millisecondes(plus = plus de latence)"
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Enregistrement simplifié"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr "millisecondes (négatif = arrière)"
 
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:98
+#: prefs/RecordingPrefs.cpp:100
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Enregistrement automatique"
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:109
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Niveau sonore de déclenchement (dB) :"
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Spectrogrammes"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Taille FFT"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 - bande plus large"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - par défaut"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
-msgstr "32768 - bande la plus étroite"
+msgstr "32768 - bande plus étroite"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - bande plus étroite"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Type de fenêtre :"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "FFT Window"
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Taille de fenêtre :"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Affichage"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Type de fenêtre"
 
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "Niveaux de &gris"
+#: prefs/SpectrumPrefs.cpp:113
+msgid "FFT Skip Points"
+msgstr "Points FFT sautés"
 
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "sauter les points "
+
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr "Fréquence minimum (Hz) :"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "Fréquence maximum (Hz) :"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Afficher le spectre en échelle de &gris"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "Touver les notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Afficher une grille le long de l'axe &Y"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Quantifier les notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "Touver les notes FFT"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
-msgstr "Amplitude Minimale (dB) :"
+msgstr "Amplitude Minimale (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr "Nombre maximal  de notes (1...128) :"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "Touver les notes"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "&Quantifier les notes"
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "La fréquence maximale doit être un nombre entier"
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
-msgstr "La fréquence maximale doit se situer entre 100 Hz et 100 000 Hz"
+msgstr "La fréquence maximum doit se situer entre 100 Hz et 100 000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr "La fréquence minimale doit être un nombre entier"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
-msgstr "La fréquence minimale doit être supérieure à 0 Hz"
+msgstr "La fréquence minimum doit être supérieure à 0 Hz"
+
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "La fréquence minimale doit être inférieure à la fréquence maximale"
 
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "L'amplitude minimale (dB) doit être un nombre entier"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "Le nombre maximum de notes doit être un nombre entier"
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Le nombre maximal de notes doit être un nombre entier compris entre 1 et 128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr "Le nombre maximal de notes doit être compris entre 1 et 128"
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Thème"
 
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"Les thèmes sont une fonction expérimentale.\n"
+"\n"
+"Pour l'essayer, cliquer sur \"Enregistrer le thème\" puis trouver et modifier les images et couleurs dans \n"
+"ImageCacheVxx.png avec un logiciel de retouche d'image tel Gimp.\n"
+"\n"
+"Cliquer sur \"Charger le thème\" pour charger dans Audacity les images et couleurs modifiées.\n"
+"\n"
+"[Seules  la barre de contrôle et les couleurs de la piste d'onde sont affectées pour le moment,\n"
+"même si le fichier d'image montre également d'autres icônes.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"Vous avez compilé Audacity avec un bouton supplémentaire, 'Output Sourcery'. \n"
+"Ceci enregistre une version C du cache image qui peut être compilée par défaut."
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+"Si \"Charger le thème au démarrage\" est coché,\n"
+"le thème sera chargé quand le programme démarrera."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"Enregistrer et charger des fichiers de thèmes indépendants utilise un fichier séparé pour chaque image,\n"
+" mais d'autre part reste dans la même logique."
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
-#: prefs/ThemePrefs.cpp:93
+#. * so keep it as is
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
-msgstr ""
+msgstr "Thème - Images && Couleur"
 
-#: prefs/ThemePrefs.cpp:95
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
-msgstr "Enregistrer le cache du thème"
+msgstr "Enregistrer le thème"
 
-#: prefs/ThemePrefs.cpp:96
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
-msgstr "Charger le cache du thème"
+msgstr "Charger le thème"
 
-#: prefs/ThemePrefs.cpp:106
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
-msgstr "A l'ouverture, charger le cache du thème"
+msgstr "A l'ouverture, charger le thème"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "Fichiers de thème individuels"
 
-#: prefs/ThemePrefs.cpp:120
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Enregistrer les fichiers"
 
-#: prefs/ThemePrefs.cpp:121
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Charger les fichiers"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr "Simple"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr ""
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Vous avez compilé Audacity avec un bouton \n"
-"supplémentaire, \"Output Sourcery\". Ceci va sauvegarder \n"
-"une version C de l'image cachée qui peut être compilée \n"
-"dedans comme défaut.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr ""
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr "Act&ualiser l'affichage pendant la lecture"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "L'enregistrement et chargement de fichiers de thèmes \n"
-"séparés utilise un fichier séparé pour chaue image, mais est\n"
-"d'ailleurs la même idée.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Ajuster automatiquement les pistes à la hauteur de la fenêtre"
+
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Mode d'affichage par défaut"
+
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr "&Sélectionner tout l'audio d'un projet si rien n'est sélectionné"
+
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr "Autoriser les lignes de coupe"
+
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Permettre le glissement des bordures de sélection gauche et droite"
+
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Changer la visée de piste\" de piste en piste"
+
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr "L'édition d'un &clip peut déplacer les autres clips"
+
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr "Bouton solo :"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Avertissements"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Afficher les avertissements/affichages"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "Lors de l'enregistrement de projets"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "En enregistrant un projet vide"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Quand l'espace &disque devient faible"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "En mixant en &stéréo durant l'export"
 
-#: toolbars/ControlToolBar.cpp:174
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "En mixant en &mono durant l'export"
+
+#: toolbars/ControlToolBar.cpp:170
+#: toolbars/ControlToolBar.cpp:205
 msgid "Pause"
 msgstr "Pause"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Lecture"
-
 #: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr ""
-
-#: toolbars/ControlToolBar.cpp:182
+#: toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1101
 msgid "Stop"
 msgstr "Stop"
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Retour au début"
+#: toolbars/ControlToolBar.cpp:190
+#: toolbars/ControlToolBar.cpp:211
+msgid "Clean Speech"
+msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Aller à la fin"
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr "Lecture (+Maj pour lecture en boucle)"
 
-#: toolbars/ControlToolBar.cpp:192
+#: toolbars/ControlToolBar.cpp:210
 msgid "Record (Shift for Append Record)"
-msgstr ""
-
-#: toolbars/ControlToolBar.cpp:194
-msgid "Clean Speech"
-msgstr "Clean Speech"
+msgstr "Enregistrement (Maj. pour poursuivre l'enregistrement)"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:573
+#: toolbars/ControlToolBar.cpp:905
 msgid "Error while opening sound device. "
-msgstr "Erreur à l'ouverture du périphérique son"
+msgstr "Erreur à l'ouverture du périphérique son."
 
-#: toolbars/ControlToolBar.cpp:696
+#: toolbars/ControlToolBar.cpp:743
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
 msgstr "L'enregistrement en mode Cleanspeech n'est pas possible quand une ou plusieurs pistes sont déjà ouvertes."
 
-#: toolbars/ControlToolBar.cpp:697
+#: toolbars/ControlToolBar.cpp:744
 msgid "Recording not permitted"
 msgstr "L'enregistrement n'est pas autorisé"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109
+#: toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr "Périphérique de sortie"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127
+#: toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr "Périphérique d'entrée"
 
-#: toolbars/EditToolBar.cpp:139
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
 msgstr "Supprimer en dehors de la sélection"
 
-#: toolbars/EditToolBar.cpp:141
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "Rendre la sélection muette"
 
 #: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
-msgstr ""
+msgstr "Lier les pistes"
 
-#: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Zoom avant"
 
-#: toolbars/EditToolBar.cpp:152
+#: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "Zoom arrière"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Outil Zoom"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Adapter la sélection"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Ajuster la sélection à la fenêtre"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Adapter le projet"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Afficher toutes les pistes"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "VU mètre"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr "Afficher la sélection"
+
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr "Afficher le projet"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
-msgstr "VU mètre de lecture"
+msgstr "VU-mètre de lecture"
 
 #: toolbars/MeterToolBar.cpp:81
 msgid "Meter-Play"
-msgstr ""
+msgstr "VU-mètre de lecture"
 
 #: toolbars/MeterToolBar.cpp:89
 msgid "Record Meter"
-msgstr "VU mètre d'enregistrement"
+msgstr "VU-mètre d'enregistrement"
 
 #: toolbars/MeterToolBar.cpp:90
-#, fuzzy
 msgid "Meter-Record"
-msgstr "Enregistrement"
+msgstr "VU-mètre d'enregistrement"
 
-#: toolbars/MeterToolBar.cpp:94
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
-msgstr "VU mètre de sortie"
+msgstr "VU-mètre de sortie"
 
-#: toolbars/MeterToolBar.cpp:95
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
-msgstr "VU mètre d'entrée - cliquer pour visualiser"
+msgstr "VU-mètre d'entrée - cliquer pour visualiser"
 
 #: toolbars/MixerToolBar.cpp:90
 msgid "Output Volume"
 msgstr "Volume de sortie"
 
 #: toolbars/MixerToolBar.cpp:92
-#, fuzzy
 msgid "Slider Output"
 msgstr "Curseur de sortie"
 
 #: toolbars/MixerToolBar.cpp:101
+#: widgets/Meter.cpp:869
 msgid "Input Volume"
 msgstr "Volume d'entrée"
 
 #: toolbars/MixerToolBar.cpp:103
-#, fuzzy
 msgid "Slider Input"
 msgstr "Curseur d'entrée"
 
@@ -8577,58 +9326,68 @@ msgstr "Curseur d'entrée"
 msgid "Input Source"
 msgstr "Source d'entrée"
 
-#: toolbars/SelectionBar.cpp:80
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr "Pas d'information disponible sur la source d'entrée"
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr "Sélectionner la source d'entrée"
+
+#: toolbars/SelectionBar.cpp:86
+#: toolbars/SelectionBar.cpp:292
 msgid "Selection"
 msgstr "Sélection"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:135
+#: toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr "Projet à :"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:149
+#: toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
 msgstr "Début de la sélection"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:163
+#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr "Longueur"
 
-#: toolbars/SelectionBar.cpp:165
+#: toolbars/SelectionBar.cpp:174
 msgid "hidden"
 msgstr "caché"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:184
+#: toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr "Position audio :"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:236
+#: toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr "Incrément..."
 
-#: toolbars/SelectionBar.cpp:252
+#: toolbars/SelectionBar.cpp:260
 msgid "Selection "
 msgstr "Sélection"
 
-#: toolbars/SelectionBar.cpp:317
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
 msgstr "Longueur de la sélection"
 
-#: toolbars/SelectionBar.cpp:325
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
 msgstr "Fin de la sélection"
 
-#: toolbars/ToolBar.cpp:97
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr "Barre d'outils %s Audacity"
 
-#: toolbars/ToolDock.cpp:74
 #: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "Verrouillage d'outil"
 
@@ -8660,228 +9419,195 @@ msgstr "Gauche=Zoom avant, Droit=Zoom arrière, Milieu=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Cliquer-glisser pour glisser temporellement une piste.."
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Outils"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Outil de sélection"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Outil de niveau (enveloppe)"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Outil de glissement temporel"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Outil Zoom"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Outil de dessin d'ondes"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Mode multi outils"
 
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 #, fuzzy
 msgid "Slide Tool"
 msgstr "Outil de sélection"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multi outils"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Lecture variable"
-
-#: toolbars/TranscriptionToolBar.cpp:171
+#: toolbars/TranscriptionToolBar.cpp:170
 msgid "Play at selected speed"
 msgstr "Lire à la vitesse sélectionnée"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Lecture à vitesse variable"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:176
+#: toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:262
 msgid "Playback Speed"
 msgstr "Vitesse de lecture"
 
-#: toolbars/TranscriptionToolBar.cpp:196
+#: toolbars/TranscriptionToolBar.cpp:194
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:199
+#: toolbars/TranscriptionToolBar.cpp:196
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:202
+#: toolbars/TranscriptionToolBar.cpp:198
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:205
+#: toolbars/TranscriptionToolBar.cpp:200
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:206
-#, fuzzy
-msgid "Right-to-On"
-msgstr "Droit"
-
-#: toolbars/TranscriptionToolBar.cpp:208
+#: toolbars/TranscriptionToolBar.cpp:202
 msgid "Select region of sound around cursor"
 msgstr "Sélectionner une région de son autour du curseur"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-#, fuzzy
-msgid "Select-Sound"
-msgstr "Sélection"
-
-#: toolbars/TranscriptionToolBar.cpp:211
+#: toolbars/TranscriptionToolBar.cpp:204
 msgid "Select region of silence around cursor"
 msgstr "Sélectionner une région de silence autour du curseur"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Sélection du silence"
-
-#: toolbars/TranscriptionToolBar.cpp:214
+#: toolbars/TranscriptionToolBar.cpp:206
 msgid "Automatically make labels from words"
 msgstr "Créer automatiquement des marqueurs d'après les mots"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Créer marqueurs"
-
-#: toolbars/TranscriptionToolBar.cpp:217
+#: toolbars/TranscriptionToolBar.cpp:208
 msgid "Add label at selection"
 msgstr "Ajouter un marqueur à  la sélection"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Ajouter un marqueur "
-
-#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:210
 msgid "Calibrate voicekey"
 msgstr "Calibrer voicekey"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Calibrer"
-
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:214
 msgid "Adjust Sensitivity"
 msgstr "Ajuster la sensibilité"
 
-#: toolbars/TranscriptionToolBar.cpp:230
+#: toolbars/TranscriptionToolBar.cpp:219
+#: toolbars/TranscriptionToolBar.cpp:275
 msgid "Sensitivity"
 msgstr "Sensibilité"
 
-#: toolbars/TranscriptionToolBar.cpp:235
+#: toolbars/TranscriptionToolBar.cpp:224
 msgid "Energy"
 msgstr "Energie"
 
-#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Sign Changes (Low Threshold)"
-msgstr "Changements de signe (seuil inférieur)"
+msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:226
 msgid "Sign Changes (High Threshold)"
-msgstr "Changements de direction (Seuil supérieur)"
+msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:227
 msgid "Direction Changes (Low Threshold)"
-msgstr "Changements de direction (Seuil inférieur)"
+msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:228
 msgid "Direction Changes (High Threshold)"
-msgstr "Changements de direction (Seuil supérieur)"
+msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:247
+#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:276
 msgid "Key type"
 msgstr "Type de clé"
 
-#: widgets/AButton.cpp:302
+#: toolbars/TranscriptionToolBar.cpp:261
+msgid "Play-at-speed"
+msgstr "Lecture à vitesse variable"
+
+#: toolbars/TranscriptionToolBar.cpp:265
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:269
+#, fuzzy
+msgid "Select-Sound"
+msgstr "Sélection"
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Silence"
+msgstr "Sélection du silence"
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Make Labels"
+msgstr "Créer marqueurs"
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Add Label"
+msgstr "Ajouter un marqueur "
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Calibrate"
+msgstr "Calibrer"
+
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (désactivé)"
 
-#: widgets/AButton.cpp:452
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Presser"
 
-#: widgets/AButton.cpp:531
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Bouton"
 
+#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:625
+#: widgets/Meter.cpp:248
 msgid "L"
 msgstr "G"
 
+#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:628
+#: widgets/Meter.cpp:250
 msgid "R"
 msgstr "D"
 
-#: widgets/ASlider.cpp:670
+#: widgets/ASlider.cpp:691
 msgid "Center"
 msgstr "Centré"
 
-#: widgets/ASlider.cpp:674
+#: widgets/ASlider.cpp:695
 msgid "Left"
 msgstr "Gauche"
 
-#: widgets/ASlider.cpp:677
+#: widgets/ASlider.cpp:698
 msgid "Right"
 msgstr "Droit"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr "Aide"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ">"
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr "En avant"
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
 msgstr "En arrière"
 
-#: widgets/ErrorDialog.cpp:249
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr "Aide sur Internet"
 
@@ -8889,68 +9615,70 @@ msgstr "Aide sur Internet"
 msgid "Grabber"
 msgstr "Lecture glissante"
 
-#: widgets/Grid.cpp:643
+#: widgets/Grid.cpp:703
 #, c-format
 msgid "%d rows, %d columns"
 msgstr "%d lignes, %d colonnes"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:709
+#: widgets/Grid.cpp:836
 #, c-format
 msgid "Row %d"
 msgstr "Ligne %d"
 
-#: widgets/Grid.cpp:791
+#: widgets/Grid.cpp:851
 msgid "Empty"
 msgstr "Vide"
 
-#: widgets/Meter.cpp:359
+#: widgets/Meter.cpp:392
 msgid "Enable Meter"
-msgstr "Activer le VU mètre"
+msgstr "Activer le VU-mètre"
 
-#: widgets/Meter.cpp:361
+#: widgets/Meter.cpp:394
 msgid "Disable Meter"
-msgstr "Désactiver le VU mètre"
+msgstr "Désactiver le VU-mètre"
 
-#: widgets/Meter.cpp:364
+#: widgets/Meter.cpp:397
 msgid "Stop Monitoring"
 msgstr "Arrêter la visualisation"
 
-#: widgets/Meter.cpp:366
+#: widgets/Meter.cpp:399
 msgid "Start Monitoring"
 msgstr "Visualiser l'entrée"
 
-#: widgets/Meter.cpp:370
+#: widgets/Meter.cpp:403
 msgid "Horizontal Stereo"
 msgstr "Affichage horizontal"
 
-#: widgets/Meter.cpp:371
+#: widgets/Meter.cpp:404
 msgid "Vertical Stereo"
 msgstr "Affichage vertical"
 
-#: widgets/Meter.cpp:388
+#: widgets/Meter.cpp:421
 msgid "Preferences..."
 msgstr "Préférences..."
 
-#: widgets/Meter.cpp:872
+#: widgets/Meter.cpp:871
 msgid "Mix Volume"
-msgstr ""
+msgstr "Volume de mixage"
 
-#: widgets/Meter.cpp:1078
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1140
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr "Détermine la fréquence de rafraîchissement du VU mètre.\n"
+msgstr ""
+"Détermine la fréquence de rafraîchissement du VU-mètre.\n"
 "Si votre ordinateur est ancien, vous devriez sélectionner\n"
 "une fréquence basse (30 par seconde ou moins), afin\n"
 "de ne pas affecter la qualité audio."
 
-#: widgets/Meter.cpp:1079
+#: widgets/Meter.cpp:1141
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Fréquence de rafraîchissement par seconde [1-100]"
 
-#: widgets/Meter.cpp:1080
+#: widgets/Meter.cpp:1142
 msgid "Meter Preferences"
 msgstr "Préférences de mesure"
 
@@ -8960,191 +9688,249 @@ msgstr "Veuillez sélectionner une action"
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Veuillez sélectionner une action"
 
-#: widgets/ProgressDialog.cpp:1058
+#: widgets/ProgressDialog.cpp:1060
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "Temps passé :"
 
-#: widgets/ProgressDialog.cpp:1078
+#: widgets/ProgressDialog.cpp:1080
 msgid "Remaining Time:"
-msgstr ""
+msgstr "Temps restant :"
 
-#: widgets/ProgressDialog.cpp:1095
+#: widgets/ProgressDialog.cpp:1108
 msgid "Cancel"
-msgstr ""
+msgstr "Annuler"
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1584
+#: widgets/Ruler.cpp:1585
 msgid "Vertical Ruler"
 msgstr "Règle verticale"
 
 #. i18n-hint: Format string for displaying time in seconds. Change the comma
-#: widgets/TimeTextCtrl.cpp:267
+#. * in the middle to the 1000s separator for your locale, and the 'seconds'
+#. * on the end to the word for seconds. Don't change the numbers.
+#: widgets/TimeTextCtrl.cpp:268
 msgid "01000,01000 seconds"
-msgstr "01000,01000 secondes"
+msgstr "01000 01000 secondes"
 
 #. i18n-hint: Format string for displaying time in hours, minutes and
-#: widgets/TimeTextCtrl.cpp:276
+#. * seconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
+#. * change the numbers unless there aren't 60 seconds in a minute in your
+#. * locale
+#: widgets/TimeTextCtrl.cpp:277
 msgid "0100 h 060 m 060 s"
 msgstr "0100 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in days, hours,
-#: widgets/TimeTextCtrl.cpp:279
+#. * minutes and seconds
+#: widgets/TimeTextCtrl.cpp:280
 msgid "dd:hh:mm:ss"
 msgstr "dd:hh:mm:ss"
 
 #. i18n-hint: Format string for displaying time in days, hours, minutes and
-#: widgets/TimeTextCtrl.cpp:285
+#. * seconds. Change the 'days' to the word for days, 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes and 's' to the
+#. * abbreviation for seconds. Don't change the numbers unless there aren't
+#. * 24 hours in a day in your locale
+#: widgets/TimeTextCtrl.cpp:286
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 jours 024 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:289
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "hh:mm:ss + centièmes"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:295
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 h 060 m 060.0100 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and milliseconds (1/1000 second)
+#: widgets/TimeTextCtrl.cpp:298
 msgid "hh:mm:ss + milliseconds"
 msgstr "hh:mm:ss + millisecondes"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:294
+#. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * milliseconds are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:304
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 h 060 m 060.01000 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#: widgets/TimeTextCtrl.cpp:297
+#. * minutes, seconds and samples (at the current project sample rate)
+#: widgets/TimeTextCtrl.cpp:307
 msgid "hh:mm:ss + samples"
-msgstr "hh:mm:ss + échantillons"
+msgstr "hh:mm:ss + échantillon"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:303
+#. * and samples. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes, 's' to the abbreviation for seconds and
+#. * translate samples . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:313
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 h 060 m 060 s+.# échantillons"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
-#: widgets/TimeTextCtrl.cpp:306
+#. * current project sample rate)
+#: widgets/TimeTextCtrl.cpp:316
 msgid "samples"
-msgstr "Echantillons"
+msgstr "échantillons"
 
 #. i18n-hint: Format string for displaying time in samples (lots of samples).
-#: widgets/TimeTextCtrl.cpp:311
+#. * Change the ',' to the 1000s separator for your locale, and translate
+#. * samples. If 1000s aren't a base multiple for your number system, then you
+#. * can change the numbers to an appropriate one, and put a 0 on the front
+#: widgets/TimeTextCtrl.cpp:321
 msgid "01000,01000,01000 samples|#"
-msgstr "01000,01000,01000 échantillons|#"
+msgstr "01000 01000 01000 échantillons|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
-#: widgets/TimeTextCtrl.cpp:314
+#. * seconds and frames at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:324
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "hh:mm:ss + images film 24i/s"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:320
+#. * and frames at 24 frames per second. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames' . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:330
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 h 060 m 060 s+.24 images"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
-#: widgets/TimeTextCtrl.cpp:323
+#. * frames) at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:333
 msgid "film frames (24 fps)"
 msgstr "Images film 24i/s"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
-#: widgets/TimeTextCtrl.cpp:326
+#. * second. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:336
 msgid "01000,01000 frames|24"
-msgstr "01000,01000 images|24"
+msgstr "01000 01000 images|24"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
-#: widgets/TimeTextCtrl.cpp:330
+#. * seconds and frames at NTSC TV drop-frame rate (used for American /
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:340
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "hh:mm:ss + images NTSC manquantes"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:335
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the |N alone, it's important!
+#: widgets/TimeTextCtrl.cpp:345
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 h 060 m 060 s+.30 images|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
-#: widgets/TimeTextCtrl.cpp:339
+#. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:349
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "hh:mm:ss + images NTSC non-drop "
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:345
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the | .999000999 alone,
+#. * the whole things really is slightly off-speed!
+#: widgets/TimeTextCtrl.cpp:355
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 h 060 m 060 s+.030 images| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#: widgets/TimeTextCtrl.cpp:348
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:358
 msgid "NTSC frames"
 msgstr "Images NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
-#: widgets/TimeTextCtrl.cpp:352
+#. * Translate 'frames' and leave the rest alone. That really is the frame
+#. * rate!
+#: widgets/TimeTextCtrl.cpp:362
 msgid "01000,01000 frames|29.97002997"
-msgstr "01000,01000 images|29.97002997"
+msgstr "01000 01000 images|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
-#: widgets/TimeTextCtrl.cpp:355
+#. * seconds and frames at PAL TV frame rate (used for European TV)
+#: widgets/TimeTextCtrl.cpp:365
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "hh:mm:ss + images PAL 25 i/s"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:360
+#. * and frames with PAL TV frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Nice simple time code!
+#: widgets/TimeTextCtrl.cpp:370
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 h 060 m 060 s+.25 images"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
-#: widgets/TimeTextCtrl.cpp:363
+#. * TV frame rate (used for European TV
+#: widgets/TimeTextCtrl.cpp:373
 msgid "PAL frames (25 fps)"
 msgstr "Images PAL 25 i/s"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
-#: widgets/TimeTextCtrl.cpp:366
+#. * Translate 'frames' and leave the rest alone.
+#: widgets/TimeTextCtrl.cpp:376
 msgid "01000,01000 frames|25"
-msgstr "01000,01000 images|25"
+msgstr "01000 01000 images|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
-#: widgets/TimeTextCtrl.cpp:369
+#. * seconds and frames at CD Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:379
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "hh:mm:ss + échantillons CDDA (75 fps)"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
-#: widgets/TimeTextCtrl.cpp:374
+#. * and frames with CD Audio frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'.
+#: widgets/TimeTextCtrl.cpp:384
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 h 060 m 060 s+.75 échantillons"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
-#: widgets/TimeTextCtrl.cpp:377
+#. * Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:387
 msgid "CDDA frames (75 fps)"
 msgstr "échantillons CDDA (75 i/s)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
-#: widgets/TimeTextCtrl.cpp:380
+#. * frames. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:390
 msgid "01000,01000 frames|75"
-msgstr "01000,01000 échantillons|75"
+msgstr "01000 01000 échantillons|75"
 
-#: widgets/TimeTextCtrl.cpp:451
+#: widgets/TimeTextCtrl.cpp:469
 msgid "Use right mouse button or context key to change format"
 msgstr "Utiliser le bouton droit de la souris ou le menu contextuel pour modifier le format"
 
-#: widgets/TimeTextCtrl.cpp:1485
+#: widgets/TimeTextCtrl.cpp:1502
 msgid "Time Control"
 msgstr "Contrôle du temps"
 
-#: widgets/Warning.cpp:64
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
-msgstr "Ne plus montrer cet avertissement"
+msgstr "Ne plus montrer cet avertissement."
 
 #: xml/XMLFileReader.cpp:49
 #, c-format
@@ -9154,10 +9940,395 @@ msgstr "Impossible d'ouvrir le fichier : \"%s\""
 #: xml/XMLFileReader.cpp:63
 #, c-format
 msgid "Error: %hs at line %lu"
-msgstr ""
+msgstr "Erreur : %hs à la ligne %lu"
 
 #: xml/XMLFileReader.cpp:79
 #, c-format
 msgid "Could not load file: \"%s\""
 msgstr "Impossible de charger le fichier : \"%s\""
 
+#: xml/XMLWriter.cpp:325
+#, fuzzy
+msgid "Error flushing file"
+msgstr "Erreur d'ouverture de fichier"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Erreur de fermeture de fichier"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Erreur d'écriture de fichier"
+
+#~ msgid "&Preferences...\tCtrl+,"
+#~ msgstr "&Préférences...\tCtrl+,"
+#~ msgid "&New\tCtrl+N"
+#~ msgstr "&Nouveau\tCtrl+N"
+#~ msgid "&Open...\tCtrl+O"
+#~ msgstr "&Ouvrir...\tCtrl+O"
+#~ msgid "&Close\tCtrl+W"
+#~ msgstr "&Fermer\tCtrl+W"
+#~ msgid "&Audio...\tCtrl+Shift+I"
+#~ msgstr "&Audio...\tCtrl+Shift+I"
+#~ msgid "CleanSpeech C&hain..."
+#~ msgstr "Script CleanSpeech..."
+#~ msgid "E&xit\tCtrl+Q"
+#~ msgstr "Quitter\tCtrl+Q"
+#~ msgid "&Undo\tCtrl+Z"
+#~ msgstr "&Annuler\tCtrl+Z"
+#~ msgid "Cu&t\tCtrl+X"
+#~ msgstr "Coupe magnétisée\tCtrl+X"
+#~ msgid "Spl&it Cut\tCtrl+Alt+X"
+#~ msgstr "Couper\tCtrl+Alt+X"
+#~ msgid "&Copy\tCtrl+C"
+#~ msgstr "&Copier\tCtrl+C"
+#~ msgid "&Paste\tCtrl+V"
+#~ msgstr "C&oller\tCtrl+V"
+#~ msgid "Tri&m\tCtrl+T"
+#~ msgstr "Rogner (supprimer en dehors de la sélection)\tCtrl+T"
+#~ msgid "&Delete\tCtrl+K"
+#~ msgstr "&Effacer\tCtrl+K"
+#~ msgid "Split D&elete\tCtrl+Alt+K"
+#~ msgstr "Supprimer la sélection\tCtrl+Alt+K"
+#~ msgid "Sp&lit\tCtrl+I"
+#~ msgstr "Scinder\tCtrl+I"
+#~ msgid "Split Ne&w\tCtrl+Alt+I"
+#~ msgstr "Scinder Nouveau\tCtrl+Alt+I"
+#~ msgid "&Join\tCtrl+J"
+#~ msgstr "Fusionner\tCtrl+J"
+#~ msgid "Duplic&ate\tCtrl+D"
+#~ msgstr "Dupliquer\tCtrl+D"
+#~ msgid "&Cut\tAlt+X"
+#~ msgstr "&Coupe magnétisée\tAlt+X"
+#~ msgid "&Split Cut\tShift+Alt+X"
+#~ msgstr "Couper\tShift+Alt+X"
+#~ msgid "Co&py\tShift+Alt+C"
+#~ msgstr "&Copier\tShift+Alt+C"
+#~ msgid "&Delete\tAlt+K"
+#~ msgstr "&Suppression magnétisée\tAlt+K"
+#~ msgid "Sp&lit Delete\tShift+Alt+K"
+#~ msgstr "Supprimer\tShift+Alt+K"
+#~ msgid "Sile&nce\tAlt+L"
+#~ msgstr "Sile&nce\tAlt+L"
+#~ msgid "Spli&t\tAlt+I"
+#~ msgstr "Scinder\tAlt+I"
+#~ msgid "&Join\tAlt+J"
+#~ msgstr "Fusionner\tAlt+J"
+#~ msgid "Detac&h at Silences\tShift+Alt+J"
+#~ msgstr "Détacher aux silences\tShift+Alt+J"
+#~ msgid "&All\tCtrl+A"
+#~ msgstr "&Tout sélectionner\tCtrl+A"
+#~ msgid "&None\tCtrl+Shift+A"
+#~ msgstr "&Tout désélectionner\tCtrl+Shift+A"
+#~ msgid "Turn Snap-To On"
+#~ msgstr "Passer en sélection par bloc"
+#~ msgid "Turn Snap-To Off"
+#~ msgstr "Passer en sélection libre"
+#~ msgid "Pre&ferences...\tCtrl+,"
+#~ msgstr "Pré&férences...\tCtrl+,"
+#~ msgid "Pre&ferences...\tCtrl+P"
+#~ msgstr "Pré&férences...\tCtrl+P"
+#~ msgid "Zoom &In\tCtrl+1"
+#~ msgstr "Zoom a&vant\tCtrl+1"
+#~ msgid "Zoom &Out\tCtrl+3"
+#~ msgstr "Zoom a&rrière\tCtrl+3"
+#~ msgid "&Pause\tP"
+#~ msgstr "&Pause\tP"
+#~ msgid "Skip to Start\tHome"
+#~ msgstr "Saut au début\tHome"
+#~ msgid "Skip to End\tEnd"
+#~ msgstr "Saut à la fin\tEnd"
+#~ msgid "&Record\tR"
+#~ msgstr "&Enregistrer\tR"
+#~ msgid "&Audio Track\tCtrl+Shift+N"
+#~ msgstr "Piste mono\tCtrl+Shift+N"
+#~ msgid "&UnMute All Tracks\tCtrl+Shift+U"
+#~ msgstr "Aucune piste muette\tCtrl+Shift+U"
+#~ msgid "Contrast...\tCtrl+Shift+T"
+#~ msgstr "Contraste...\tCtrl+Shift+T"
+#~ msgid "&Index..."
+#~ msgstr "&Index..."
+#~ msgid "Selection Tool\tF1"
+#~ msgstr "Outil de sélection\tF1"
+#~ msgid "Envelope Tool\tF2"
+#~ msgstr "Outil de niveau (enveloppe)\tF2"
+#~ msgid "Draw Tool\tF3"
+#~ msgstr "Outil de dessin d'ondes\tF3"
+#~ msgid "Zoom Tool\tF4"
+#~ msgstr "Outil Zoom\tF4"
+#~ msgid "Time Shift Tool\tF5"
+#~ msgstr "Outil de glissement temporel\tF5"
+#~ msgid "Multi Tool\tF6"
+#~ msgstr "Mode multi outils\tF6"
+#~ msgid "Selection to Start\tShift+Home"
+#~ msgstr "Sélectionner depuis le début\tShift+Home"
+#~ msgid "Selection to End\tShift+End"
+#~ msgstr "Sélectionner jusqu'à la fin\tShift+End"
+#~ msgid "DeleteKey\tBackspace"
+#~ msgstr "Touche d'effacement\tBackspace"
+#~ msgid "DeleteKey2\tDelete"
+#~ msgstr "Touche d'effacement2\tDelete"
+#~ msgid "Toggle Focused Track\tNUMPAD_ENTER"
+#~ msgstr "Bascule de visée de pistetNUMPAD_ENTER"
+#~ msgid "Cursor Left\tLeft\tallowdup"
+#~ msgstr "Curseur gauche\tLeft\tallowdup"
+#~ msgid "Cursor Right\tRight\tallowdup"
+#~ msgstr "Curseur droite\tRight\tallowdup"
+#~ msgid "Selection Extend Left\tShift+Left\tallowdup"
+#~ msgstr "Etendre la sélection à gauche\tShift+Left\tallowdup"
+#~ msgid "Selection Extend Right\tShift+Right\tallowdup"
+#~ msgstr "Etendre la sélection à droite\tShift+Right\tallowdup"
+#~ msgid "Selection Contract Right\tCtrl+Shift+Left"
+#~ msgstr "Réduire la sélection à droite\tCtrl+Shift+Left"
+#~ msgid "Repeat %s\tCtrl+R"
+#~ msgstr "Répéter %s\tCtrl+R"
+#~ msgid ""
+#~ "Sorry, VST Effects cannot be performed on stereo tracks where the "
+#~ "individual channels of the track do not match."
+#~ msgstr ""
+#~ "Désolé, les effets VST ne peuvent être réalisés sur des pistes stéréo "
+#~ "dans lesquelles les canaux individuels de la piste ne correspondent pas."
+#~ msgid "Can't process replacing"
+#~ msgstr "Impossible de remplacer"
+#~ msgid "VST Plug-in parameters:"
+#~ msgstr "Paramètres des modules VST (plugins)"
+#~ msgid "Smart Recording"
+#~ msgstr "Enregistrement auto"
+#~ msgid "Zoom Toggle"
+#~ msgstr "Outil Zoom"
+#~ msgid "Play\tSpace"
+#~ msgstr "Lecture\tSpace"
+#~ msgid "&Stop\tSpace"
+#~ msgstr "&Stop\tBarre d'espace"
+#~ msgid "Stop\tS"
+#~ msgstr "Stop\tS"
+#~ msgid "Pause\tP"
+#~ msgstr "Pause\tP"
+#~ msgid "Record\tR"
+#~ msgstr "Enregistrer\tR"
+#~ msgid "Record Append\tShift+R"
+#~ msgstr "Enregistrement poursuivi\tShift+R"
+#~ msgid "Play Looped\tL"
+#~ msgstr "Lecture en boucle\tL"
+#~ msgid "Play Looped\tShift+Space"
+#~ msgstr "Lecture bouclée\tShift+Space"
+#~ msgid "Toggle Focused Track\tCtrl+Space"
+#~ msgstr "Bascule de visée de piste\tCtrl+Space"
+#~ msgid "Soloed track"
+#~ msgstr "Piste solo"
+#~ msgid "Muted track"
+#~ msgstr "Piste muette"
+#~ msgid "Disallowed for some reason.  Try selecting some audio first?"
+#~ msgstr ""
+#~ "Non autorisé pour quelque raison. Essayer de sélectionner de l'audio "
+#~ "auparavant ?"
+#~ msgid "Hello.\n"
+#~ msgstr "Bonjour, \n"
+#~ msgid "WCAG2 Audio Contrast Analyzer"
+#~ msgstr "Analyseur de contraste audio WCAG2"
+#~ msgid "Note: The 'OK' button resets time values."
+#~ msgstr "Note : Le bouton 'OK' remet les chronos à zéro."
+#~ msgid "Measuring background"
+#~ msgstr "Mesure du fond"
+#~ msgid "Measuring foreground"
+#~ msgstr "mesure du premier plan"
+#~ msgid "&Software Playthrough: Play new track while recording it"
+#~ msgstr ""
+#~ "Passage audio logiciel : Lire la nouvelle piste pendant son enregistrement"
+#~ msgid ""
+#~ "Playback and Recording device must use the same type, i.e., MME, "
+#~ "DirectSound, etc."
+#~ msgstr ""
+#~ "Les périphériques de lecture et d'enregistrement doivent être du même "
+#~ "type, par exemple,  MME, DirectSound, etc."
+#~ msgid "Show / Hide"
+#~ msgstr "Montrer / Cacher"
+#~ msgid "Show prompt to sa&ve, even if project is empty"
+#~ msgstr ""
+#~ "Afficher la boîte de dialogue d'enregistrement, même si le projet est vide"
+#~ msgid "Other interface choices"
+#~ msgstr "Autres choix d'interface"
+#~ msgid "Conversion"
+#~ msgstr "Conversion"
+#~ msgid "Real-time:"
+#~ msgstr "Temps réel :"
+#~ msgid "High-quality:"
+#~ msgstr "Haute qualité."
+#~ msgid "FFT Size"
+#~ msgstr "Taille FFT"
+#~ msgid "&Grayscale"
+#~ msgstr "Niveaux de &gris"
+#~ msgid "No"
+#~ msgstr "Aucun"
+#~ msgid "Changing block %s\n"
+#~ msgstr "Changement de bloc %s\n"
+#~ msgid "Download..."
+#~ msgstr "Télécharger..."
+#~ msgid "Define Foreground\tCtrl+Alt+F"
+#~ msgstr "Définir le premier plan\tCtrl+Alt+F"
+#~ msgid "Define Background\tCtrl+Alt+B"
+#~ msgstr "Définir l'arrière-plan\tCtrl+Alt+B"
+#~ msgid "Press F2 or double click to edit."
+#~ msgstr "Appuyer sur F2 ou double-cliquer pour éditer."
+#~ msgid "Title:"
+#~ msgstr "Titre :"
+#~ msgid "Artist:"
+#~ msgstr "Artiste :"
+#~ msgid "Album:"
+#~ msgstr "Album :"
+#~ msgid "Composer:"
+#~ msgstr "Compositeur :"
+#~ msgid "Lyricist:"
+#~ msgstr "Chanteur :"
+#~ msgid "Comments:"
+#~ msgstr "Commentaires :"
+#~ msgid "Encoded By:"
+#~ msgstr "Encodé par :"
+#~ msgid "Copyright:"
+#~ msgstr "Copyright :"
+#~ msgid "Track Number:"
+#~ msgstr "Numéro de piste :"
+#~ msgid "Year:"
+#~ msgstr "Année :"
+#~ msgid "Genre:"
+#~ msgstr "Genre :"
+#~ msgid "No Genres"
+#~ msgstr "Pas de genres"
+#~ msgid "Reset to Defaults"
+#~ msgstr "Réglages par défaut"
+#~ msgid "Basic"
+#~ msgstr "Basic"
+#~ msgid "Advanced"
+#~ msgstr "Avancé"
+#~ msgid "Value"
+#~ msgstr "Valeur"
+#~ msgid "Clea&r"
+#~ msgstr "Effacer"
+#~ msgid ""
+#~ "Maximum length of attribute '%s' is %d characters. Data was truncated."
+#~ msgstr ""
+#~ "La longueur maximale des attributs de  '%s' est de %d caractères. Les "
+#~ "données seront tronquées."
+#~ msgid "Title"
+#~ msgstr "Titre"
+#~ msgid "Artist"
+#~ msgstr "Artiste"
+#~ msgid "Album"
+#~ msgstr "Album"
+#~ msgid "Group with Wave Track"
+#~ msgstr "Grouper avec piste d'onde"
+#~ msgid "Clear any grouping"
+#~ msgstr "Tout dégrouper"
+#~ msgid "Fail"
+#~ msgstr "Echec"
+#~ msgid "Before you open this tool,"
+#~ msgstr "Avant d'ouvrir cet outil,"
+#~ msgid "WCAG Information on web"
+#~ msgstr "Informations WCAG sur le web"
+#~ msgid "Normalize maximum amplitude to"
+#~ msgstr "Normaliser l'amplitude maximum à "
+#~ msgid ""
+#~ "No tracks are selected! Use Ctrl-A (Select All)\n"
+#~ "Choose Export... to export all tracks."
+#~ msgstr ""
+#~ "Aucune piste n'est sélectionnée ! Taper Ctrl-A (Tout sélectionner)\n"
+#~ "Choisissez Exporter... pour exporter toutes les pistes"
+#~ msgid "Importing %s File..."
+#~ msgstr "Importation du fichier %s ..."
+#~ msgid "&Find Library"
+#~ msgstr "Chercher la librairie"
+#~ msgid "Real-time sample rate converter:"
+#~ msgstr "Convertisseur d'échantillonnage en temps réel :"
+#~ msgid "High-quality sample rate converter:"
+#~ msgstr "Convertisseur d'échantillonnage de haute qualité :"
+#~ msgid "Real-time dither:"
+#~ msgstr "Lissage en temps réel :"
+#~ msgid "High-quality dither:"
+#~ msgstr "Lissage de haute qualité."
+#~ msgid ""
+#~ "<p>You don't appear to have Audacity help files on your machine. Either "
+#~ "<a href=\"http://audacity.sourceforge.net/help/documentation\">download</"
+#~ "a> the help files and then access them again from Audacity by clicking "
+#~ "<i>Help</i> then <i>Index</i>, or click <a href=\"http://www.audacityteam."
+#~ "org/manual/index.php?title=Main_Page\">here</a> to read the full Manual "
+#~ "online."
+#~ msgstr ""
+#~ "<p>Vous ne semblez pas avoir le fichier d'aide Audacity sur votre "
+#~ "machine. Vous pouvez soit <a href=\"http://audacity.sourceforge.net/help/"
+#~ "documentation\">télécharger</a> le fichier d'aide puis y accéder depuis "
+#~ "Audacity en cliquant <i>Aide</i> puis <i>Index</i>, soit cliquer <a href="
+#~ "\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">ici</a> "
+#~ "pour lire le manuel complet en ligne."
+#~ msgid "Disj&oin\tCtrl+Alt+J"
+#~ msgstr "Dégrouper\tCtrl+Maj+J"
+#~ msgid "Select&..."
+#~ msgstr "Sélectionner&..."
+#~ msgid "Raw"
+#~ msgstr "données brutes (Raw)"
+#~ msgid "Enter a sample rate in Hz (per second) between 1 and 100000:"
+#~ msgstr ""
+#~ "Entrer un taux d'échantillonnage en Hz (par seconde) entre 1 et 100 000 :"
+#~ msgid "Invalid rate."
+#~ msgstr "Taux invalide."
+#~ msgid "Message"
+#~ msgstr "Message"
+#~ msgid "Frequency (Hz):   from"
+#~ msgstr "Frequence (Hz) : depuis"
+#~ msgid "Length (seconds):   from"
+#~ msgstr "Durée (secondes): depuis"
+#~ msgid "Dynamic Range Compressor by Dominic Mazzoni"
+#~ msgstr "Compresseur dynamique par Dominic Mazzoni"
+#~ msgid "Leveller by Lynn Allan"
+#~ msgstr "Niveleur par  Lynn Allan"
+#~ msgid "Equalize soft and loud sections"
+#~ msgstr "Egaliser les sections faibles et fortes"
+#~ msgid "Normalize by Dominic Mazzoni"
+#~ msgstr "Normalisation par Dominic Mazzoni"
+#~ msgid "Phaser by Nasca Octavian Paul"
+#~ msgstr "Phaser par Nasca Octavian Paul"
+#~ msgid "DRY"
+#~ msgstr "Mini"
+#~ msgid "WET"
+#~ msgstr "Maxi"
+#~ msgid "Repeat by Dominic Mazzoni && Vaughan Johnson"
+#~ msgstr "Répétition par Dominic Mazzoni && Vaughan Johnson"
+#~ msgid "%d minutes, %d seconds"
+#~ msgstr "%d minutes, %d secondes"
+#~ msgid "Wahwah by Nasca Octavian Paul"
+#~ msgstr "Wahwah par Nasca Octavian Paul"
+#~ msgid "E&xport"
+#~ msgstr "E&xporter"
+#~ msgid ""
+#~ "Audacity had to make a guess at the type of file.\n"
+#~ "The Audio may be bogus.\n"
+#~ "\n"
+#~ "If the audio is bogus, try renaming the file\n"
+#~ "so that it has the correct extension before opening it."
+#~ msgstr ""
+#~ "Audacity a dû établir au jugé le format du fichier.\n"
+#~ "L'audio peut être défectueux.\n"
+#~ "\n"
+#~ "Si c'est le cas, essayez de renommer le fichier\n"
+#~ "avec son extension correcte avant de l'ouvrir."
+#~ msgid "Error parsing Allegro file."
+#~ msgstr "Erreur de traitement de fichier Allegro."
+#~ msgid "Error parsing MIDI file."
+#~ msgstr "Erreur de traitement de fichier Midi."
+#~ msgid ""
+#~ "&Software Playthrough: Play new track while recording it (uncheck when "
+#~ "recording \"stereo mix\")"
+#~ msgstr ""
+#~ "Passage audio logiciel : Lire la nouvelle piste pendant son "
+#~ "enregistrement (décocher en cas d'enregistrement de \"stereo mix\")"
+#~ msgid "Hold recorded data in memory until recording is stopped"
+#~ msgstr ""
+#~ "Conserver les données enregistrées en mémoire jusqu'à la fin de "
+#~ "l'enregistrement"
+#~ msgid "WaveformDisplay"
+#~ msgstr "Affichage de la forme d'onde"
+#~ msgid "SpectrumDisplay"
+#~ msgstr "Affichage du spectre"
+#~ msgid "PitchDisplay"
+#~ msgstr "Affichage de la hauteur"
+#~ msgid "Pause Recording on Silence"
+#~ msgstr "Pause d'enregistrement au silence"
\ No newline at end of file
diff --git a/locale/ga.po b/locale/ga.po
index fc4a3e4..29d361a 100644
--- a/locale/ga.po
+++ b/locale/ga.po
@@ -32,16 +32,15 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
 msgid "translator_credits"
 msgstr "creidiúintí_aistritheora"
 
@@ -84,7 +83,7 @@ msgid "Special thanks:"
 msgstr "Baochas fé leith:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -195,18 +194,13 @@ msgstr ""
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
 msgid "%s is already open in another window."
 msgstr "Tá %s ar oscailt i bhfuinneog eile cheana."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
 msgid "Error opening project"
 msgstr "Earráid le linn oscailt an tionscadail"
 
@@ -231,20 +225,28 @@ msgstr "M
 msgid "Output Meter"
 msgstr "Méadar Aschuir"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Nua"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Oscail..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:626
-#: ../src/AudacityApp.cpp:696
+#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Méad bloc de %ld á úsáid\n"
 
-#: ../src/AudacityApp.cpp:641
-#: ../src/AudacityApp.cpp:711
+#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Rogha anaithnid ar an líne orduithe: %s\n"
@@ -360,14 +362,14 @@ msgstr "Earr
 msgid "Error Initializing Audio"
 msgstr "Earráid le Linn Tosnú Fuaime"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -416,10 +418,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "Earráid"
 
@@ -595,8 +595,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -914,11 +915,11 @@ msgstr "Dronnuilleogach"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -974,11 +975,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1001,8 +1003,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Anailís ar Mhinicíocht"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
 msgid "Spectrum"
 msgstr "Speictream"
 
@@ -1060,15 +1061,25 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "Dún"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr "dB"
@@ -1078,6 +1089,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Chun an speictream a rianadh, ní foláir gach rian roghnaithe a bheith ag an ráta samplaithe céanna."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Roghnaíodh an iomad fuaime.  Ní dhéanfar anailís ach ar an gcéad %.1f soicind di."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Níl dóthain sonraí roghnaithe."
@@ -1104,9 +1124,7 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Easpórtáil Sonraí Speictreacha Mar:"
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr "Theip ar scríobh sa chomhaid: "
@@ -1119,6 +1137,21 @@ msgstr "Minic
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Moill (soicindí)\tMinicíocht (Hz)\tLeibhéal"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1196,7 +1229,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1220,7 +1253,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1289,6 +1322,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1348,9 +1389,7 @@ msgstr "Roghnaigh comhad t
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Comhaid théacsa (*.txt)|*.txt|Gach comhad (*.*)|*.*"
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
+#: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Theip ar oscailt an chomhaid: "
@@ -1404,21 +1443,13 @@ msgstr "Tionscadal Audacity 
 msgid "&File"
 msgstr "&Comhad"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Nua\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Oscail...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Dún\tCtrl+W"
+msgid "&Close"
+msgstr "&Dún"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Sábháil Tionscadal\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Sábháil Tionscadal"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1441,7 +1472,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1472,8 +1503,8 @@ msgstr "Easp
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1488,10 +1519,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1506,7 +1533,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1514,63 +1541,63 @@ msgid "&Edit"
 msgstr "&Eagar"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "Cealaig&h\tCtrl+Z"
+msgid "&Undo"
+msgstr "Cealaig&h"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Athdhéan"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "&Gearr\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Gearr"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Cóip\tCtrl+C"
+msgid "&Copy"
+msgstr "&Cóip"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "G&reamaigh\tCtrl+V"
+msgid "&Paste"
+msgstr "G&reamaigh"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "Scri&os\tCtrl+K"
+msgid "&Delete"
+msgstr "Scri&os"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1583,47 +1610,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1631,33 +1643,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "G&ach Éinní\tCtrl+A"
+msgid "&All"
+msgstr "G&ach Éinní"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Aimsigh Trasnuithe Náide\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Aimsigh Trasnuithe Náide"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1674,11 +1686,11 @@ msgid "to Selection En&d"
 msgstr "go Deireadh an Rogha"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1701,29 +1713,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Cas ar Léim-go"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Cas as Léim-go"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Cas ar Léim go Greille"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Cas as Léim go Greille"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1731,35 +1722,35 @@ msgid "&View"
 msgstr "&Radharc"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zúmáil &Isteach\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Zúmáil &Isteach"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zúmáil &Normálta\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zúmáil &Normálta"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zúmáil A&mach\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Zúmáil A&mach"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "Socraigh i bh&Fuinneog\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "Socraigh i bh&Fuinneog"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Socraigh go hIn&gearach\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Socraigh go hIn&gearach"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zúmáil go dtí an Rogha\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zúmáil go dtí an Rogha"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1821,39 +1812,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Léim go dtí an Tosach\tHome"
+msgid "Skip to Start"
+msgstr "Léim go dtí an Tosach"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Léim go dtí an Deireadh\tEnd"
+msgid "Skip to End"
+msgstr "Léim go dtí an Deireadh"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1881,7 +1872,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1898,7 +1889,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1910,11 +1901,11 @@ msgid "Remo&ve Tracks"
 msgstr "&Bain Amach Rianta"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1965,19 +1956,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Cuir Lipéad ag an Rogha\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Cuir Lipéad ag an Ionad Seinnte\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Cuir Lipéad ag an Ionad Seinnte"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2003,21 +1993,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Maisiúchán"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Athdhéan an Maisiúchán Deireanach\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "Déan &Anailís"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
 msgid "&Help"
 msgstr "Cab&hair"
 
@@ -2029,8 +2018,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2049,181 +2038,149 @@ msgstr "&Rith Tagarmharc..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Uirlis an Roghnaithe\tF1"
+msgid "Selection Tool"
+msgstr "Uirlis an Roghnaithe"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Uirlis na gClúdach\tF2"
+msgid "Envelope Tool"
+msgstr "Uirlis na gClúdach"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Uirlis Líníochta\tF3"
+msgid "Draw Tool"
+msgstr "Uirlis Líníochta"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Uirlis Zúmála\tF4"
+msgid "Zoom Tool"
+msgstr "Uirlis Zúmála"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Uirlis Bhogadh in Am\tF5"
+msgid "Time Shift Tool"
+msgstr "Uirlis Bhogadh in Am"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Iluirlis\tF6"
+msgid "Multi Tool"
+msgstr "Iluirlis"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "An Chéad Uirlis Eile\tD"
+msgid "Next Tool"
+msgstr "An Chéad Uirlis Eile"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Uirlis Dheireanach\tA"
+msgid "Previous Tool"
+msgstr "Uirlis Dheireanach"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Stad\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Sos\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Déan Taifeadadh\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Seinn Aon Soicind Amháin\t1"
+msgid "Play One Second"
+msgstr "Seinn Aon Soicind Amháin"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Seinn go dtí an Rogha\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Seinnt i Lúb\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Seinn go dtí an Rogha"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Rogha go dtí an Tosach\tShift+Home"
+msgid "Selection to Start"
+msgstr "Rogha go dtí an Tosach"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Rogha go dtí an Deireadh\tShift+End"
+msgid "Selection to End"
+msgstr "Rogha go dtí an Deireadh"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "Scrioschnaipe\tBackspace"
+msgid "DeleteKey"
+msgstr "Scrioschnaipe"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "Scrioschnaipe2\tDelete"
+msgid "DeleteKey2"
+msgstr "Scrioschnaipe2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Reathaí Clé\tLeft"
+msgid "Cursor Left"
+msgstr "Reathaí Clé"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Reathaí Deas\tRight"
+msgid "Cursor Right"
+msgstr "Reathaí Deas"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Sineadh an Rogha ar an Taobh Clé\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Sineadh an Rogha ar an Taobh Clé"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Sineadh an Rogha ar an Taobh Deas\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Sineadh an Rogha ar an Taobh Deas"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2234,51 +2191,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Crapadh an Rogha ón Taobh Clé\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Crapadh an Rogha ón Taobh Clé"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Crapadh an Rogha ón Taobh Deas\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Crapadh an Rogha ón Taobh Deas"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2290,7 +2247,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2351,8 +2336,8 @@ msgstr "N
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Athdhéan %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Athdhéan %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2383,8 +2368,7 @@ msgstr "N
 msgid "Nothing to redo"
 msgstr "Níl pioc le hathdhéanamh"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
 msgid "Cut"
 msgstr "Gearr"
 
@@ -2400,9 +2384,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Paste"
 msgstr "Greamaigh"
 
@@ -2410,8 +2392,7 @@ msgstr "Greamaigh"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Pasted from the clipboard"
 msgstr "Arna ghreamú ón ghearrathaisce"
 
@@ -2463,8 +2444,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Rianta roghnaithe arna gcur ina dtost ar feadh %.2f soic. ag %.2f"
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
 msgid "Silence"
 msgstr "Tost"
 
@@ -2548,8 +2528,7 @@ msgstr ""
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:2009
-#: ../src/TrackPanel.cpp:4134
+#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
 msgid "Split"
 msgstr "Deighil"
 
@@ -2565,15 +2544,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Deighil ag lipéid"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Chun an speictream a rianadh, ní foláir gach rian roghnaithe a bheith ag an ráta samplaithe céanna."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Roghnaíodh an iomad fuaime.  Ní dhéanfar anailís ach ar an gcéad %.1f soicind di."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2691,9 +2661,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Rian nua fuaime arna cheapadh"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
 #: ../src/Menus.cpp:3052
 msgid "New Track"
 msgstr "Rian Nua"
@@ -2775,8 +2743,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "Measc"
 
@@ -2796,6 +2763,10 @@ msgstr "Deacreacht le linn priont
 msgid "Print"
 msgstr "Priontáil"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2809,14 +2780,11 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Déan Taifeadadh"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr "Fuaim Thaifeadta"
 
@@ -2837,12 +2805,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Sábháil athruithe?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
 msgid "Select one or more audio files..."
 msgstr "Roghnaigh comha(i)d f(h)uaime..."
 
@@ -2869,8 +2836,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Earráid le linn oscailt an chomhaid"
 
@@ -2926,10 +2903,12 @@ msgstr "S
 msgid "Can't open project file"
 msgstr "Theip ar oscailt chomhad an tionscadail"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2949,17 +2928,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Earráid le linn shábháil an tionscadail"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -2970,10 +2954,8 @@ msgstr "%s s
 msgid "Imported '%s'"
 msgstr "'%s' arna (h)iompórtáil"
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
 #: ../src/import/ImportRaw.cpp:408
 msgid "Import"
 msgstr "Iompórtáil"
@@ -3101,8 +3083,7 @@ msgstr "Libsamplerate le Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Earráid libsamplerate: %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr "Athshampláil cosctha."
 
@@ -3121,6 +3102,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Roghnaigh..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Rianta"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3129,6 +3267,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3267,6 +3409,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3339,6 +3485,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3378,35 +3532,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
 msgstr "Eile..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "Ainm..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr "Bog an Rian Suas"
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr "Bog an Rian Síos"
 
@@ -3446,13 +3588,15 @@ msgstr "Ceap Rian D
 msgid "Split Stereo Track"
 msgstr "Deighil Rian Défhónach"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Socraigh Formáid an tSamplaithe"
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr "Socraigh Ráta"
 
@@ -3528,8 +3672,7 @@ msgstr "Eag. Lip
 msgid "Adjusted envelope."
 msgstr "Clúdach gléasta."
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
 msgid "Envelope"
 msgstr "Clúdach"
 
@@ -3589,24 +3732,20 @@ msgid "Moved pan slider"
 msgstr "Maide sleamhnáin peanála arna bhogadh"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "Neartúchán"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr "Pean"
 
-#: ../src/TrackPanel.cpp:4387
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
 msgid "up"
 msgstr "suas"
 
-#: ../src/TrackPanel.cpp:4388
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
 msgid "down"
 msgstr "síos"
 
@@ -3647,14 +3786,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3675,8 +3806,7 @@ msgstr "Cl
 msgid "Right, "
 msgstr "Deas,"
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Athraíodh '%s' go %s"
@@ -3690,6 +3820,11 @@ msgstr "Cain
 msgid "Split stereo track '%s'"
 msgstr "Deighil rian défhónach '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3716,8 +3851,7 @@ msgstr "Athr
 msgid "Change lower speed limit (%) to:"
 msgstr "Athraigh íosteorainn an luasa (%) go:"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr "Íosteorainn luasa"
 
@@ -3725,8 +3859,7 @@ msgstr "
 msgid "Change upper speed limit (%) to:"
 msgstr "Athraigh uasteorainn an luasa (%) go:"
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
 msgid "Upper speed limit"
 msgstr "Uastheorann luasa"
 
@@ -3768,6 +3901,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Tost"
@@ -3846,8 +3983,9 @@ msgstr "Breise
 msgid "Plugins %i to %i"
 msgstr "Breiseáin %i go %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -3994,31 +4132,19 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721 ../src/effects/Amplify.cpp:187
+#: ../src/effects/AvcCompressor.cpp:716 ../src/effects/BassBoost.cpp:332
+#: ../src/effects/ChangePitch.cpp:393 ../src/effects/ChangeSpeed.cpp:379
+#: ../src/effects/ChangeTempo.cpp:284 ../src/effects/Compressor.cpp:484
+#: ../src/effects/Echo.cpp:242 ../src/effects/Equalization.cpp:731
+#: ../src/effects/Filter.cpp:482 ../src/effects/Normalize.cpp:258
+#: ../src/effects/Phaser.cpp:576 ../src/effects/Repeat.cpp:251
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Wahwah.cpp:563 ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "Tá go Maith"
 
@@ -4081,14 +4207,12 @@ msgstr "Athraigh Airde"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Athraigh Airde gan Luas a Athrú"
 
-#: ../src/effects/ChangePitch.cpp:247
-#: ../src/effects/ChangeSpeed.cpp:287
+#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
 #: ../src/effects/ChangeTempo.cpp:164
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "le Vaughan Johnson && Dominic Mazzoni"
 
-#: ../src/effects/ChangePitch.cpp:252
-#: ../src/effects/ChangeTempo.cpp:169
+#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "TadhallFuaime, le hOlli Parviainen, á úsáid"
 
@@ -4137,10 +4261,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:284
-#: ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351
-#: ../src/effects/ChangeTempo.cpp:223
+#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
+#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
 #: ../src/effects/ChangeTempo.cpp:254
 msgid "to"
 msgstr "go (dtí)"
@@ -4149,8 +4271,7 @@ msgstr "go (dt
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
+#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Céatadán an Athraithe:"
@@ -4168,8 +4289,7 @@ msgstr "Athraigh Airde..."
 msgid "Changing Pitch"
 msgstr "Airde á Athrú"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Maisiúchán forchurtha: %s %.1f%%"
@@ -4316,12 +4436,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalaigh go 0dB tar éis comhbhrúite"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Tairseach: %d dB"
@@ -4352,7 +4471,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Aga Ionsaithe: %.1f soic"
@@ -4375,6 +4493,10 @@ msgstr "Comhbhr
 msgid "Applying Dynamic Range Compression..."
 msgstr "Comhbhrú Réimse Dhinimiciúil á Fhorchur..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4394,19 +4516,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4440,6 +4549,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4484,16 +4598,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4604,18 +4710,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4675,8 +4769,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Maisiúchán forchurtha: %s moill = %f soicind, fachtóir meatha = %f"
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "Macalla"
 
@@ -4708,8 +4801,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Earráid le linn oscailt ghléas fuaime. Deimhnigh socruithe ghléas an aschuir, is ráta samplaithe an tionscadail."
 
@@ -4742,6 +4834,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4942,10 +5038,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5181,10 +5273,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5242,8 +5330,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr "Minicíocht LFO (Hz):"
 
@@ -5251,8 +5338,7 @@ msgstr "Minic
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr "Pas Tosaigh LFO (céim.):"
 
@@ -5311,8 +5397,7 @@ msgstr "Athdh
 msgid "Tracks are too long to repeat the selection."
 msgstr "Tá na rianta ró-fhada chun an rogha a athdhéanamh."
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "Athdhéan"
 
@@ -5325,8 +5410,7 @@ msgstr "L
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr "Fad roghnaithe nua:"
 
@@ -5537,20 +5621,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5561,17 +5662,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Fóiríor, ní féidir Maisiúcháin VST a chur i gcrích ar rianta défhónacha nuair nach dtagann cainéil fé leith an riain le chéile."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Socruithe Maisiúcháin"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Faic"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Ní féidir athlonnú a phróiseáil"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Paraméadair Bhreiseáin VST:"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5619,22 +5759,11 @@ msgstr "Maisi
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Faic"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Údar:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Socruithe Maisiúcháin"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Fad (soicindí)"
 
@@ -5825,9 +5954,21 @@ msgstr "Tionscadal ar fad 
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5895,6 +6036,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6028,12 +6173,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6052,10 +6193,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6244,12 +6385,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6360,6 +6501,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6384,8 +6536,7 @@ msgstr ""
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "Theip ar oscailt sprioc-chomhad chun scrite"
 
@@ -6584,8 +6735,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
 #: ../src/export/ExportMultiple.cpp:562
 msgid "Export Multiple"
 msgstr "Easpórtáil Iomadúil"
@@ -6617,11 +6767,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Ionad easportála:"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Roghnaigh..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6646,10 +6791,6 @@ msgstr "Ainm an ch
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Rianta"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "Comhaid ainmneacha:"
@@ -6683,25 +6824,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Roghnaigh ionad ina sábháilfear na comhaid easphortáilte"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:528
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6785,7 +6945,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Earráid (seans nár scríobhadh an comhad): %s"
@@ -6951,8 +7110,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Liosta Comhad i bhfoirm bhunúsach théacsa"
 
@@ -6962,10 +7124,8 @@ msgid "Invalid window offset in LOF file."
 msgstr "Taobhrianadh neamhdhlistineach fuinneog sa chomhad LOF."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr "Earráid LOF"
 
@@ -7108,131 +7268,59 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Fuaim I/A"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Aonfhónach)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Défhónach)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Seinnt"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Taifeadadh á dhéanamh"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Comhéadan"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Seinnt"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Taifeadadh á dhéanamh"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Aonfhónach)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Défhónach)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "Comhadlanna"
 
@@ -7248,34 +7336,31 @@ msgstr "Ionad:"
 msgid "Free Space:"
 msgstr "Slí ar Fáil:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Roghnaigh ionad don chomhadlann shealadach"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7294,220 +7379,141 @@ msgstr "N
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Ní chuirfear athruithe ar an gcomhadlann shealadach i gcrích go dtí go n-athmhúsclófar Audacity"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Leagan Leabharlainne MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Comhéadan"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (réimse éadoimhin i gcomhair eagarthóireacht ard-aimplitiúide)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (réimse PCM de shamplaí 8 giotán)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (réimse PCM de shamplaí 16 giotán)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (teorainn gharbh éisteacht an duine)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (réimse PCM de shamplaí 24 giotán)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (réimse éadoimhin i gcomhair eagarthóireacht ard-aimplitiúide)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (réimse PCM de shamplaí 8 giotán)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (réimse PCM de shamplaí 16 giotán)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (teorainn gharbh éisteacht an duine)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (réimse PCM de shamplaí 24 giotán)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7538,17 +7544,22 @@ msgstr "N
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Teaglaim Cnaipí"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Easpórtáil Congair Mhéarchláir Mar:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Cealaigh"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Earráid le linn shábháil chongair mhéarchláir"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7558,6 +7569,14 @@ msgstr "Roghnaigh comhad XML ina bhfuil congair mh
 msgid "Error loading keyboard shortcuts"
 msgstr "Earráid le linn lódáil chongair mhéarchláir"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Easpórtáil Congair Mhéarchláir Mar:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Earráid le linn shábháil chongair mhéarchláir"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7565,9 +7584,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Cealaigh"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Leagan Leabharlainne MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Fuaim I/A"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7582,6 +7653,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7590,6 +7665,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7602,6 +7681,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7626,14 +7717,12 @@ msgstr "Gn
 msgid "Buttons"
 msgstr "Cnaipí"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr "Cléchnagadh"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "Roghnaigh"
@@ -7642,10 +7731,8 @@ msgstr "Roghnaigh"
 msgid "Set Selection Point"
 msgstr "Socraigh Pointe an Rogha"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr "Clétharraingt"
@@ -7678,10 +7765,8 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr "Zúmáil"
 
@@ -7757,10 +7842,8 @@ msgstr "Athraigh Cl
 msgid "Change Sample"
 msgstr "Athraigh Sampla"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "Peann Luaidhe"
 
@@ -7780,10 +7863,8 @@ msgstr "Athraigh Sampla
 msgid "Change ONE Sample only"
 msgstr "Athraigh AON tsampla amháin"
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 msgid "Multi"
 msgstr "Il"
 
@@ -7797,8 +7878,7 @@ msgstr "Ionann leis an uirlis roghn
 msgid "same as zoom tool"
 msgstr "Ionann leis an uirlis zúmála"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "Éinní"
 
@@ -7826,10 +7906,62 @@ msgstr "Rial-Roth-Cas"
 msgid "Zoom in or out"
 msgstr "Zúmáil isteach nó amach"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Roghanna Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Dronnuilleog"
@@ -7854,44 +7986,44 @@ msgstr "R
 msgid "Default Sample Format:"
 msgstr "Formáid Réamhshocraithe Samplaithe:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Aistritheoir fíor-ama ráta samplaithe:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Aistritheoir ar ardchaighdeáin de rátaí samplaithe:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Sliomachán fíor-ama:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Slíomachán ar ardchaighdeán:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7906,18 +8038,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Sp'graim"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Méad FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - réamhshocrú"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7926,20 +8094,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - cúngbhanda is cúinge"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7950,16 +8122,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Uasmhinicíocht (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7970,6 +8142,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Ní foláir ach gur slánuimhir í an uasmhinicíocht"
@@ -7986,18 +8166,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8026,78 +8245,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Sos"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Stad"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Léim go dtí an Tosach"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Léim go dtí an Deireadh"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Sos"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Stad"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8138,28 +8373,20 @@ msgstr "Z
 msgid "Zoom Out"
 msgstr "Zúmáil Amach"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Scorán Zúmála"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Socraigh rogha sa bhfuinneog"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Socraigh tionscadal sa bhfuinneog"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8206,6 +8433,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8284,30 +8519,6 @@ msgstr "Cl
 msgid "Click and drag to move a track in time"
 msgstr "Cnag is tarraing chun rian a bhogadh in am"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Uirlis an Roghnaithe"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Uirlis na gClúdach"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Uirlis Bhogadh in Am"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Uirlis Zúmála"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Uirlis Líníochta"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Mód Iluirlise"
@@ -8316,22 +8527,10 @@ msgstr "M
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8340,74 +8539,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8440,6 +8603,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr "(cosctha)"
@@ -8453,14 +8656,12 @@ msgid "Button"
 msgstr ""
 
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "C"
 
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "D"
 
@@ -8743,3 +8944,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/gl.po b/locale/gl.po
index 7065141..8e97a68 100644
--- a/locale/gl.po
+++ b/locale/gl.po
@@ -1,11 +1,9 @@
 # translation of audacity.po to Galician
 # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 # Xosé Antón Vicente Rodríguez <galiza en gmail.com>, 2005.
-
 #
 msgid ""
-msgstr ""
-"Project-Id-Version: audacity\n"
+msgstr "Project-Id-Version: audacity\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2005-10-14 09:03+0200\n"
 "PO-Revision-Date: 2005-10-23 16:34+0200\n"
@@ -18,2390 +16,3048 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "\n"
 
-#: ../src/effects/ClickRemoval.cpp:326
-msgid ""
-"\n"
-" \n"
-"Select threshold (lower is more sensitive)"
+#: ../src/Menus.cpp:529
+msgid "&About Audacity..."
+msgstr "Acerca de &Audacity..."
+
+#: AboutDialog.cpp:157
+msgid "OK... Audacious!"
 msgstr ""
-"\n"
-" \n"
-"Seleccione umbral (valores máis baixos indican maior sensibilidade)"
 
-#: ../src/effects/ClickRemoval.cpp:333
-msgid ""
-"\n"
-"Max spike width (higher is more sensitive)"
+#: AboutDialog.cpp:175
+msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
 msgstr ""
-"\n"
-"Pico de anchura máximo (valores mái altos indican maior sensibilidade)"
 
-#: ../src/widgets/AButton.cpp:181
-msgid " (disabled)"
-msgstr " (deshabilitado)"
+#: AboutDialog.cpp:179
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
-#: ../src/import/Import.cpp:83
-msgid ""
-" is an audio CD file. \n"
-"Audacity does not open this type of file.\n"
-"Try ripping it to a native audio format that Audacity can import."
+#: AboutDialog.cpp:182
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
-"é un arquivo de CD. \n"
-"Audacity non pode abrir este tipo de arquivo.\n"
-"Intente extraelo a un formato de audio que poida ser importado por Audacity."
 
-#. i18n-hint: This refers to a "window function", used in the
-#. Frequency analyze dialog box.
-#: ../src/FreqWindow.cpp:167
-msgid " window"
-msgstr " rango"
+#. i18n-hint: The translation of "translator_credits" will appear
+#. in the credits in the About Audacity window.  Use this to add
+#. your own name(s) to the credits.
+#.
+#. For example:  "English translation by Dominic Mazzoni."
+#.
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
+msgid "translator_credits"
+msgstr "Traducción ao Galego por Xosé Antón Vicente Rodríguez"
 
-#: ../src/import/ImportRaw.cpp:335
+#: AboutDialog.cpp:207
+msgid "A Free Digital Audio Editor<br>"
+msgstr ""
+
+#: ../src/AboutDialog.cpp:154
+msgid "Credits"
+msgstr "Créditos"
+
+#: AboutDialog.cpp:215
 #, c-format
-msgid "%d Channels"
-msgstr "%d Canais"
+msgid "Audacity %s Development Team"
+msgstr ""
 
-#: ../src/effects/Repeat.cpp:282
+#: AboutDialog.cpp:220
 #, c-format
-msgid "%d minutes, %d seconds"
-msgstr "%d minutos, %d segundos"
+msgid "Audacity %s Support Team"
+msgstr ""
+
+#: AboutDialog.cpp:225
+msgid "Emeritus Developers"
+msgstr ""
+
+#: AboutDialog.cpp:230
+msgid "Other Emeritus Team Members"
+msgstr ""
+
+#: AboutDialog.cpp:235
+msgid "Other Contributors"
+msgstr ""
+
+#: AboutDialog.cpp:240
+msgid "Audacity is based on code from the following projects:"
+msgstr ""
+
+#: ../src/AboutDialog.cpp:237
+msgid "Special thanks:"
+msgstr "Agradecementos Especiais:"
+
+#: AboutDialog.cpp:250
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr ""
+
+#: AboutDialog.cpp:258
+msgid "Audacity"
+msgstr ""
+
+#. i18n-hint: Information about when audacity was compiled
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:468
+msgid "Build Information"
+msgstr ""
+
+#: ../src/effects/AvcCompressor.cpp:652
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: AboutDialog.cpp:311
+msgid "Disabled"
+msgstr ""
+
+#: AboutDialog.cpp:321
+msgid "File Format Support"
+msgstr ""
+
+#. i18n-hint: This is what the library (libmad) does - imports MP3 files
+#: AboutDialog.cpp:331 AboutDialog.cpp:333
+msgid "MP3 Importing"
+msgstr ""
+
+#: AboutDialog.cpp:340 AboutDialog.cpp:343
+msgid "Ogg Vorbis Import and Export"
+msgstr ""
+
+#: AboutDialog.cpp:347 AboutDialog.cpp:350
+msgid "ID3 tag support"
+msgstr ""
+
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
+msgid "FLAC import and export"
+msgstr ""
+
+#: AboutDialog.cpp:365 AboutDialog.cpp:368
+msgid "MP2 export"
+msgstr ""
+
+#: AboutDialog.cpp:373 AboutDialog.cpp:376
+msgid "Import via QuickTime"
+msgstr ""
+
+#. i18n-hint: Libraries that are essential to audacity
+#: AboutDialog.cpp:383
+msgid "Core Libraries"
+msgstr ""
+
+#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
+#: AboutDialog.cpp:397
+msgid "Sample rate conversion"
+msgstr ""
+
+#: AboutDialog.cpp:401
+msgid "Audio playback and recording"
+msgstr ""
+
+#: AboutDialog.cpp:413
+msgid "Features"
+msgstr ""
+
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
+msgid "Plug-in support"
+msgstr ""
+
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
+msgid "Sound card mixer support"
+msgstr ""
+
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
+msgid "Pitch and Tempo Change support"
+msgstr ""
+
+#: AboutDialog.cpp:472
+#, fuzzy
+msgid "Program build date: "
+msgstr "Data de contrucción do programa:"
 
-#: ../src/effects/Repeat.cpp:285
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
+msgid "Build type:"
+msgstr ""
+
+#: AboutDialog.cpp:475
+msgid "Debug build"
+msgstr ""
+
+#: AboutDialog.cpp:477
+msgid "Release build"
+msgstr ""
+
+#. i18n-hint: The directory audacity is installed into (on *nix systems)
+#: AboutDialog.cpp:482
+msgid "Installation Prefix: "
+msgstr ""
+
+#: AboutDialog.cpp:486
+msgid "Settings folder: "
+msgstr ""
+
+#: AboutDialog.cpp:501
+msgid "GPL License"
+msgstr ""
+
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
-msgid "%d seconds"
-msgstr "%d segundos"
+msgid "%s is already open in another window."
+msgstr "%s xa está aberto noutra fiestra."
+
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
+msgid "Error opening project"
+msgstr "Error al abrir proyecto"
 
 #: ../src/AudacityApp.cpp:338
 #, c-format
-msgid ""
-"%s does not exist and could not be opened.\n"
+msgid "%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr ""
-"%s non existe e non pode ser aberto.\n"
+msgstr "%s non existe e non pode ser aberto.\n"
 "\n"
 "Foi eliminado do historial."
 
-#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:367
+msgid "Master Gain Control"
+msgstr "Control mestre de gañancia"
+
+#: ../src/AudacityApp.cpp:368
+msgid "Input Meter"
+msgstr "Medidor de entrada"
+
+#: ../src/AudacityApp.cpp:369
+msgid "Output Meter"
+msgstr "Medidor de saída"
+
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Novo"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Abrir..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: ../src/Menus.cpp:327 ../src/Menus.cpp:333
+msgid "&Preferences..."
+msgstr "&Preferencias..."
+
+#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
 #, c-format
-msgid "%s is already open in another window."
-msgstr "%s xa está aberto noutra fiestra."
+msgid "Using block size of %ld\n"
+msgstr "Usando tamaño de bloque de %ld\n"
 
-#. i18n-hint: This is the pattern for filenames that are created
-#. when a file needs to be backed up to a different name.  For
-#. example, mysong would become mysong-old1, mysong-old2, etc.
-#: ../src/DirManager.cpp:627
+#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
 #, c-format
-msgid "%s-old%d"
-msgstr "%s-antigo%d"
+msgid "Unknown command line option: %s\n"
+msgstr "Opción de liña de comandos descoñecida: %s\n"
 
-#: ../src/Menus.cpp:529
-msgid "&About Audacity..."
-msgstr "Acerca de &Audacity..."
+#: ../src/AudacityApp.cpp:773
+msgid "Audacity could not find a place to store temporary files.\n"
+"Please enter an appropriate directory in the preferences dialog."
+msgstr "Audacity non puido atopar un lugar onde almacenar os arquivos temporais.\n"
+"Indique un directorio apropiado no diálogo de preferencias."
 
-#: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Todo\tCtrl+A"
+#: AudacityApp.cpp:1151
+#, fuzzy
+msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
+msgstr "Audacity vaise pechar. Por favor execute Audacity novamente para usar o novo directorio temporal."
 
-#: ../src/Menus.cpp:494
-msgid "&Analyze"
-msgstr "&Analizar"
+#: AudacityApp.cpp:1183
+msgid "Running two copies of Audacity simultaneously may cause\n"
+"data loss or cause your system to crash.\n"
+"\n"
+msgstr ""
 
-#: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "Pe&char\tCtrl+W"
+#: AudacityApp.cpp:1190
+msgid "Audacity was not able to lock the temporary files directory.\n"
+"This folder may be in use by another copy of Audacity.\n"
+msgstr ""
 
-#: ../src/Menus.cpp:526
-msgid "&Contents..."
-msgstr "&Conteidos..."
+#: AudacityApp.cpp:1192
+msgid "Do you still want to start Audacity?"
+msgstr ""
 
-#: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Copiar\tCtrl+C"
+#: ../src/AudacityApp.cpp:829
+msgid "Error locking temporary folder"
+msgstr "Erro bloqueando o directorio temporal"
 
-#: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Borrar\tCtrl+K"
+#: AudacityApp.cpp:1232
+msgid "The system has detected that another copy of Audacity is running.\n"
+msgstr ""
 
-#: ../src/Menus.cpp:227
-msgid "&Edit"
-msgstr "&Editar"
+#: AudacityApp.cpp:1234
+msgid "Use the New or Open commands in the currently running Audacity\n"
+"process to open multiple projects simultaneously.\n"
+msgstr ""
 
-#: ../src/Menus.cpp:386
-msgid "&Edit ID3 Tags..."
-msgstr "&Editar etiquetas ID3..."
+#: ../src/AudacityApp.cpp:846
+msgid "Audacity is already running"
+msgstr "Audacity xa se está executando"
 
-#: ../src/Menus.cpp:605
-#, c-format
-msgid "&Export As %s..."
-msgstr "&Exportar como %s..."
+#: AudacityApp.cpp:1252
+msgid "Command-line options supported:"
+msgstr ""
 
-#: ../src/Menus.cpp:608
-#, c-format
-msgid "&Export Selection As %s..."
-msgstr "&Exportar selección como %s..."
+#. i18n-hint: '-help' is the option and needs to stay in
+#. * English. This displays a list of available options
+#: AudacityApp.cpp:1255
+msgid "\t-help (this message)"
+msgstr ""
 
-#: ../src/Menus.cpp:139
-msgid "&File"
-msgstr "&Arquivo"
+#. i18n-hint '-version' needs to stay in English.
+#: AudacityApp.cpp:1257
+msgid "\t-version (display Audacity version)"
+msgstr ""
 
-#: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "A&xustar á fiestra\tCtrl+F"
+#. i18n-hint '-test' is the option and needs to stay in
+#. * English. This runs a set of automatic tests on audacity
+#. * itself
+#: AudacityApp.cpp:1261
+msgid "\t-test (run self diagnostics)"
+msgstr ""
 
-#: ../src/Menus.cpp:441
-msgid "&Generate"
-msgstr "Xe&rar"
+#. i18n-hint '-blocksize' is the option and needs to stay in
+#. * English. 'nnn' is any integer number. This controls the
+#. * size pieces that audacity uses when writing files to the
+#. * disk
+#: AudacityApp.cpp:1266
+msgid "\t-blocksize nnn (set max disk block size in bytes)"
+msgstr ""
 
-#. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
-msgid "&Help"
-msgstr "&Axuda"
+#: AudacityApp.cpp:1267
+msgid "In addition, specify the name of an audio file or Audacity project to open it."
+msgstr ""
 
-#: ../src/Menus.cpp:364
-msgid "&History..."
-msgstr "&Historial..."
+#: ../src/AudacityApp.cpp:1099
+msgid "Audacity project (.AUP) files are not currently \n"
+"associated with Audacity. \n"
+"\n"
+"Associate them, so they open on double-click?"
+msgstr "Os arquivos de proxecto de Audacity (AUP) non están \n"
+"asociados a Audacity.\n"
+"\n"
+"¿Quere asocialos para que se poidan abrir directamente?"
 
-#: ../src/Menus.cpp:381
-msgid "&Import Audio...\tCtrl+I"
-msgstr "&Importar audio...\tCtrl+I"
+#: ../src/AudacityApp.cpp:1100
+msgid "Audacity Project Files"
+msgstr "Arquivos de proxecto de Audacity"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Novo\tCtrl+N"
+#: AudioIO.cpp:253
+msgid "Could not find any audio devices.\n"
+msgstr ""
 
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Abrir...\tCtrl+O"
+#: ../src/AudioIO.cpp:167
+msgid "You will not be able to play or record audio.\n"
+"\n"
+msgstr "Non estararás habilitado a reproducir ou gravar audio. \n"
+"\n"
 
-#: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Pegar\tCtrl+V"
+#: ../src/AudioIO.cpp:170
+msgid "Error: "
+msgstr "Erro: "
 
-#: ../src/Menus.cpp:496
-msgid "&Plot Spectrum"
-msgstr "Debuxar es&pectro"
+#: ../src/AudioIO.cpp:173
+msgid "Error Initializing Audio"
+msgstr "Erro ao inicializar audio"
 
-#: ../src/Menus.cpp:327 ../src/Menus.cpp:333
-msgid "&Preferences...\tCtrl+P"
-msgstr "&Preferencias...\tCtrl+P"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
 
-#: ../src/Menus.cpp:379
-msgid "&Project"
-msgstr "&Proxecto"
+#: AudioIO.cpp:1225
+msgid "Latency problem"
+msgstr ""
 
-#: ../src/Menus.cpp:388
-msgid "&Quick Mix"
-msgstr "&Mestura rápida"
+#: AutoRecovery.cpp:54
+msgid "Automatic Crash Recovery"
+msgstr ""
 
-#: ../src/Menus.cpp:239
-msgid "&Redo"
-msgstr "&Refacer"
+#: AutoRecovery.cpp:73
+msgid "Some projects were not saved properly the last time Audacity was run.\n"
+"Fortunately, the following projects can automatically be recovered:"
+msgstr ""
 
-#: ../src/Menus.cpp:633
-#, c-format
-msgid "&Redo %s"
-msgstr "&Refacer %s"
+#: AutoRecovery.cpp:75
+msgid "Recoverable projects"
+msgstr ""
 
-#: ../src/Menus.cpp:533
-msgid "&Run Benchmark..."
-msgstr "Executar test de &rendemento..."
+#: AutoRecovery.cpp:78
+msgid "Name"
+msgstr ""
 
-#: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Gardar proxecto\tCtrl+S"
+#: AutoRecovery.cpp:84
+msgid "Recovering a project will not change any files on disk before you save it."
+msgstr ""
 
-#: ../src/Menus.cpp:261
-msgid "&Silence\tCtrl+L"
-msgstr "&Silencio\tCtrl+L"
+#: AutoRecovery.cpp:88
+msgid "Quit Audacity"
+msgstr ""
 
-#: ../src/Menus.cpp:258
-msgid "&Trim\tCtrl+T"
-msgstr "&Recortar\tCtrl+T"
+#: AutoRecovery.cpp:89
+msgid "Do Not Recover"
+msgstr ""
 
-#: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Desfacer\tCtrl+Z"
+#: AutoRecovery.cpp:90
+msgid "Recover Projects"
+msgstr ""
 
-#: ../src/Menus.cpp:620
-#, c-format
-msgid "&Undo %s"
-msgstr "&Desfacer %s"
+#: AutoRecovery.cpp:127
+msgid "Are you sure you don't want to recover any projects?\n"
+"They can't be recovered later."
+msgstr ""
 
-#: ../src/Menus.cpp:345
-msgid "&View"
-msgstr "&Ver"
+#: AutoRecovery.cpp:128
+msgid "Confirm?"
+msgstr ""
 
-#: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Acercar a &selección\tCtrl+E"
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
+msgid "Could not enumerate files in auto save directory"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4106
-msgid "'left' channel"
-msgstr "Canle 'esquerda'"
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:332 ../src/prefs/DirectoriesPrefs.cpp:204
+msgid "Error"
+msgstr "Erro"
 
-#: ../src/TrackPanel.cpp:4107
-msgid "'mono'"
-msgstr "'mono'"
+#: BatchCommandDialog.cpp:57 BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
+msgid "Select Command"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4106
-msgid "'right' channel"
-msgstr "Canle 'dereita'"
+#: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
+msgid "&Command"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:405
-msgid ""
-"(Not all combinations of headers\n"
-"and encodings are possible.)"
+#: BatchCommandDialog.cpp:84
+msgid "&Edit Parameters"
 msgstr ""
-"(Non tódalas combinacións de encabezados\n"
-"e codificacións son posibles.)"
 
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (límite aproximado do oido humano)"
+#: BatchCommandDialog.cpp:91 BatchProcessDialog.cpp:455
+msgid "&Parameters"
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (rango PCM de mostras de 24 bit)"
+#: BatchCommandDialog.cpp:96
+msgid "C&hoose command"
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (rango superficial para edición de alta amplitude)"
+#: BatchCommands.cpp:455
+msgid "Stereo to Mono Effect not found"
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (rango PCM de mostras de 8 bit)"
+#: ../src/export/Export.cpp:366
+msgid "Ogg Vorbis support is not included in this build of Audacity"
+msgstr "Soporte de Ogg Vorbis non está incluido nesta versión de Audacity"
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (rango PCM de mostras de 16 bits)"
+#: BatchCommands.cpp:487
+msgid "FLAC support is not included in this build of Audacity"
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: BatchCommands.cpp:491
+#, c-format
+msgid "Command %s not implemented yet"
+msgstr ""
 
-#: ../src/import/ImportRaw.cpp:332
-msgid "1 Channel (Mono)"
-msgstr "1 Canle (Mono)"
+#: BatchCommands.cpp:507
+#, c-format
+msgid "Could not set parameters of effect %s\n"
+" to %s."
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Estéreo)"
+#: BatchCommands.cpp:560
+#, c-format
+msgid "Your batch command of %s was not recognised."
+msgstr ""
 
-#: ../src/import/ImportRaw.cpp:333
-msgid "2 Channels (Stereo)"
-msgstr "2 Canles (Estéreo)"
+#: BatchCommands.cpp:651
+#, c-format
+msgid "Apply %s with parameter(s)\n"
+"\n"
+"%s"
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:40
-msgid "256 - default"
-msgstr "256 - predeterminado"
+#: BatchCommands.cpp:652 BatchCommands.cpp:657
+msgid "Test Mode"
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:44
-msgid "4096 - most narrowband"
-msgstr "4096 - banda máis estreita"
+#: BatchCommands.cpp:656
+#, c-format
+msgid "Apply %s"
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:38
-msgid "64 - most wideband"
-msgstr "64 banda máis ancha"
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:71
+msgid "Apply Chain"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:141
-msgid "A Free Digital Audio Editor"
-msgstr "Un Editor de audio dixital de balde"
+#: BatchProcessDialog.cpp:67
+msgid "CleanSpeech Batch Processing"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:46
-msgid "About Audacity..."
-msgstr "Sobre Audacity..."
+#: BatchProcessDialog.cpp:94
+msgid "&Select chain"
+msgstr ""
 
-#: ../src/HistoryWindow.cpp:57
-msgid "Action"
-msgstr "Acción"
+#: BatchProcessDialog.cpp:99
+msgid "Chain"
+msgstr ""
 
-#: ../src/Menus.cpp:432
-msgid "Add Label At Playback Position\tCtrl+M"
-msgstr "Agregar etiqueta en punto de reproducción\tCtrl+B"
+#: BatchProcessDialog.cpp:106
+msgid "Apply to Current &Project"
+msgstr ""
 
-#: ../src/Menus.cpp:431
-msgid "Add Label At Selection\tCtrl+B"
-msgstr "Agregar etiqueta en selección\tCtrl+B"
+#: BatchProcessDialog.cpp:107
+msgid "Apply to &Files..."
+msgstr ""
 
-#: ../src/Menus.cpp:3088
-msgid "Added label"
-msgstr "Etiqueta agregada"
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/audiounits/AudioUnitEffect.cpp:861
+msgid "&Cancel"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1904
-msgid "Adjusted envelope."
-msgstr "Envolvente axustada."
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
+msgid "No chain selected"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:581
-msgid "Adjustment Delay:"
-msgstr "Retraso de axuste:"
+#: BatchProcessDialog.cpp:159
+#, c-format
+msgid "Applying '%s' to current project"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:564
-msgid "Adjustment Settings"
-msgstr "Configuración de axuste"
+#: BatchProcessDialog.cpp:200
+msgid "Please save and close the current project first."
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:569
-msgid "Adjustment Window:"
-msgstr "Fiestra de axuste:"
+#: BatchProcessDialog.cpp:206
+msgid "Select vocal file(s) for batch CleanSpeech Chain..."
+msgstr ""
 
-#: ../src/Tags.cpp:455
-msgid "Album"
-msgstr "Álbum"
+#: BatchProcessDialog.cpp:207
+msgid "Select file(s) for batch processing..."
+msgstr ""
 
-#: ../src/Tags.cpp:641
-msgid "Album:"
-msgstr "Álbum:"
+#: BatchProcessDialog.cpp:209
+msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
+msgstr ""
 
-#: ../src/Menus.cpp:2953
-msgid "Align"
-msgstr "Aliñar"
+#: BatchProcessDialog.cpp:210
+msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
+msgstr ""
 
-#: ../src/Menus.cpp:409
-msgid "Align End with Cursor"
-msgstr "Aliñar final con cursor"
+#: BatchProcessDialog.cpp:231
+msgid "Applying..."
+msgstr ""
 
-#: ../src/Menus.cpp:411
-msgid "Align End with Selection End"
-msgstr "Aliñar final con final de selección"
+#: BatchProcessDialog.cpp:241
+msgid "File"
+msgstr ""
 
-#: ../src/Menus.cpp:410
-msgid "Align End with Selection Start"
-msgstr "Aliñar final con comenzo de selección"
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:361
+msgid "Edit Chains"
+msgstr ""
 
-#: ../src/Menus.cpp:412
-msgid "Align Tracks Together"
-msgstr "Aliñar pistas conxuntamente"
+#: BatchProcessDialog.cpp:416
+msgid "&Chains"
+msgstr ""
 
-#: ../src/Menus.cpp:414
-msgid "Align Tracks..."
-msgstr "Aliñar pistas..."
+#: BatchProcessDialog.cpp:435 Tags.cpp:825
+msgid "&Add"
+msgstr ""
 
-#: ../src/Menus.cpp:423
-msgid "Align and move cursor..."
-msgstr "Aliñar e mover cursor..."
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:826
+#: TrackPanel.cpp:4271
+msgid "&Remove"
+msgstr ""
 
-#: ../src/Menus.cpp:406
-msgid "Align with &Cursor"
-msgstr "Aliñar con &cursor"
+#: BatchProcessDialog.cpp:437
+msgid "Re&name"
+msgstr ""
 
-#: ../src/Menus.cpp:405
-msgid "Align with &Zero"
-msgstr "Aliñar en &cero"
+#: BatchProcessDialog.cpp:443
+msgid "C&hain (Double-Click or press SPACE to edit)"
+msgstr ""
 
-#: ../src/Menus.cpp:408
-msgid "Align with Selection &End"
-msgstr "Aliñar con final de s&elección"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
+msgstr ""
 
-#: ../src/Menus.cpp:407
-msgid "Align with Selection &Start"
-msgstr "Aliñar con comenzo de &selección"
+#: BatchProcessDialog.cpp:459
+msgid "&Insert"
+msgstr ""
 
-#: ../src/Menus.cpp:2920
-msgid "Aligned"
-msgstr "Aliñado"
+#: BatchProcessDialog.cpp:460
+msgid "De&lete"
+msgstr ""
 
-#: ../src/Menus.cpp:2896
-msgid "Aligned cursor"
-msgstr "Cursor aliñado"
+#: BatchProcessDialog.cpp:461
+msgid "Move &Up"
+msgstr ""
 
-#: ../src/Menus.cpp:2908
-msgid "Aligned end with cursor"
-msgstr "Aliñados final con cursor"
+#: BatchProcessDialog.cpp:462
+msgid "Move &Down"
+msgstr ""
 
-#: ../src/Menus.cpp:2916
-msgid "Aligned end with selection end"
-msgstr "Aliñados final con final de selección"
+#: BatchProcessDialog.cpp:463
+msgid "De&faults"
+msgstr ""
 
-#: ../src/Menus.cpp:2912
-msgid "Aligned end with selection start"
-msgstr "Aliñados final con comenzo de selección"
+#: BatchProcessDialog.cpp:507
+msgid "- END -"
+msgstr ""
 
-#: ../src/Menus.cpp:2904
-msgid "Aligned with selection end"
-msgstr "Aliñado con final de selección"
+#: BatchProcessDialog.cpp:540
+#, c-format
+msgid "%s changed"
+msgstr ""
 
-#: ../src/Menus.cpp:2900
-msgid "Aligned with selection start"
-msgstr "Aliñado con comenzo de selección"
+#: BatchProcessDialog.cpp:541
+msgid "Do you want to save the changes?"
+msgstr ""
 
-#: ../src/Menus.cpp:2892
-msgid "Aligned with zero"
-msgstr "Aliñado en cero"
+#: BatchProcessDialog.cpp:623
+msgid "Enter name of new chain"
+msgstr ""
 
-#: ../src/Menus.cpp:2713
-msgid "All files (*)|*"
-msgstr "Tódolos arquivos (*)|*"
+#: BatchProcessDialog.cpp:634
+msgid "Name must not be blank"
+msgstr ""
 
-#: ../src/Project.cpp:1740
-msgid ""
-"All files (*.*)|*.*|Audacity projects (*.aup)|*.aup|WAV files (*.wav)|*.wav|"
-"AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg "
-"Vorbis files (*.ogg)|*.ogg|List of Files (*.lof)|*.lof"
+#: BatchProcessDialog.cpp:643
+#, c-format
+msgid "Names may not contain '%c' and '%c'"
 msgstr ""
-"Todos los archivos (*.*)|*.*|Proxectos Audacity (*.aup)|*.aup|Arquivos WAV "
-"(*.wav)|*.wav|Arquivos AIFF (*.aif)|*.aif|Arquivos AU (*.au)|*.au|Arquivos "
-"MP3 (*.mp3)|*.mp3|Arquivos Ogg Vorbis (*.ogg)|*.ogg|Lista de Arquivos (*."
-"lof)|*.lof"
 
-#: ../src/Menus.cpp:2676
-msgid "All files (*.*)|*.*|MIDI files (*.mid)|*.mid|Allegro files (*.gro)|*.gro"
+#: BatchProcessDialog.cpp:673
+#, c-format
+msgid "Are you sure you want to delete %s?"
 msgstr ""
-"Tódolos arquivos (*.*)|*.*|Arquivos MIDI (*.mid)|*.mid|Arquivos Allegro (*."
-"gro)|*.gro"
 
-#: ../src/Menus.cpp:2597
-msgid ""
-"All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU "
-"files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|"
-"List of Files (*.lof)|*.lof"
+#: Dependencies.cpp:139
+msgid "Removing Dependencies"
 msgstr ""
-"Tódolos arquivos  (*.*)|*.*|Arquivos WAV (*.wav)|*.wav|Arquivos AIFF (*."
-"aif)|*.aif|Arquivos AU (*.au)|*.au|Arquivos MP3 (*.mp3)|*.mp3|Arquivos Ogg "
-"Vorbis (*.ogg)|*.ogg|Lista de Arquivos (*.lof)|*.lof"
 
-#: ../src/effects/Amplify.cpp:164
-msgid "Allow clipping"
-msgstr "Permitir clipping"
+#: Dependencies.cpp:140
+msgid "Copying audio data into project..."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:101
-msgid "Alt-Left-Click"
-msgstr "Alt-Frecha-Esquerda"
+#: Dependencies.cpp:226
+msgid "Your project currently depends on the presence of other files.\n"
+"Copy audio from the following files into your project to make it self-contained?\n"
+"This will need more disc space but is safer."
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:71
-msgid "Always allow pausing"
-msgstr "Sempre permitir pausa"
+#: Dependencies.cpp:273
+msgid "Project depends on other audio files"
+msgstr ""
 
-#: ../src/import/ImportRaw.cpp:359
-msgid "Amount to import:"
-msgstr "Cantidade a importar:"
+#: Dependencies.cpp:294
+msgid "Project Dependencies"
+msgstr ""
 
-#: ../src/effects/Amplify.cpp:132
-msgid "Amplification (dB):"
-msgstr "Amplificación (dB):"
+#: Dependencies.cpp:297
+msgid "Audio file"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:645
-msgid "Amplification Settings"
-msgstr "Configuración de amplificación"
+#: Dependencies.cpp:299
+msgid "Disk space"
+msgstr ""
 
-#: ../src/effects/Amplify.cpp:63
-msgid "Amplify"
-msgstr "Amplificar"
+#: Dependencies.cpp:304
+msgid "Copy Selected Audio Into Project"
+msgstr ""
 
-#: ../src/effects/Amplify.cpp:125
-msgid "Amplify by Dominic Mazzoni"
-msgstr "Amplificar por Dominic Mazzoni"
+#: Dependencies.cpp:311 Dependencies.cpp:417
+msgid "Cancel Save"
+msgstr ""
 
-#: ../src/effects/Amplify.h:47
-msgid "Amplify..."
-msgstr "Amplificar..."
+#: Dependencies.cpp:313
+msgid "Do Not Copy Any Audio"
+msgstr ""
 
-#: ../src/effects/Amplify.h:51
-msgid "Amplifying"
-msgstr "Amplificando"
+#: Dependencies.cpp:315
+msgid "Copy All Audio into Project (Safer)"
+msgstr ""
 
-#: ../src/effects/ToneGen.cpp:293
-msgid "Amplitude (0-1)"
-msgstr "Amplitude (0-1)"
+#: Dependencies.cpp:324 Dependencies.cpp:329
+msgid "Ask me"
+msgstr ""
 
-#: ../src/Project.cpp:1893
-msgid ""
-"An error occurred while opening the project file.\n"
-"Some audio may not have been retrieved."
+#: Dependencies.cpp:325
+msgid "Always copy all audio (safest)"
 msgstr ""
-"Produciuse un erro mentras se abría o proxecto.\n"
-"Parte do audio puido non obterse."
 
-#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
-msgid "Any"
-msgstr "Calquera"
+#: Dependencies.cpp:326
+msgid "Never copy any audio"
+msgstr ""
 
-#: ../src/effects/Effect.h:84
+#: Dependencies.cpp:328
+msgid "Whenever a project depends on other files:"
+msgstr ""
+
+#: Dependencies.cpp:416
+msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
+msgstr ""
+
+#: Dependencies.cpp:456
+msgid "Your project is self-contained; it does not depend on any external audio files."
+msgstr ""
+
+#: Dependencies.cpp:457
+msgid "Dependency check"
+msgstr ""
+
+#: DirManager.cpp:136
+#, fuzzy
+msgid "Warning: there is very little free disk space left on this volume.\n"
+"Please select another temporary directory in your preferences."
+msgstr "Advertencia: hai moi pouco espacio dispoñible neste disco. Por favor selecciona outro directorio temporal nas túas preferencias."
+
+#: ../src/DirManager.cpp:157
+msgid "Progress"
+msgstr "Progreso"
+
+#: DirManager.cpp:286
+msgid "Cleaning up temporary files"
+msgstr ""
+
+#: DirManager.cpp:336
+msgid "Saving project data files"
+msgstr ""
+
+#: DirManager.cpp:408
+msgid "Cleaning up cache directories"
+msgstr ""
+
+#: DirManager.cpp:503
 #, c-format
-msgid "Applied effect: %s"
-msgstr "Efecto aplicado: %s"
+msgid "Audacity found an orphaned blockfile %s! \n"
+"Please consider saving and reloading the project to perform a complete project check.\n"
+msgstr ""
 
-#: ../src/effects/Amplify.cpp:34
+#. i18n-hint: This is the pattern for filenames that are created
+#. when a file needs to be backed up to a different name.  For
+#. example, mysong would become mysong-old1, mysong-old2, etc.
+#: ../src/DirManager.cpp:627
 #, c-format
-msgid "Applied effect: %s %.1f dB"
-msgstr "Aplicado o efecto: %s %.1f dB"
+msgid "%s-old%d"
+msgstr "%s-antigo%d"
 
-#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
+#: DirManager.cpp:1100
+msgid "Unable to open/create test file"
+msgstr ""
+
+#: DirManager.cpp:1109
 #, c-format
-msgid "Applied effect: %s %.1f%%"
-msgstr "Efecto aplicado: %s %.1f%%"
+msgid "Unable to remove '%s'"
+msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:56
+#: ../src/DirManager.cpp:643
 #, c-format
-msgid "Applied effect: %s %.2f semitones"
-msgstr "Efecto aplicado: %s %.2f semitonos"
+msgid "Renamed file: %s\n"
+msgstr "Arquivo renomeado: %s\n"
 
-#: ../src/effects/Phaser.cpp:47
+#: DirManager.cpp:1164
 #, c-format
-msgid ""
-"Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = "
-"%.0f deg, depth = %d, feedback = %.0f%%"
+msgid "Unable to rename '%s' to '%s'"
 msgstr ""
-"Efecto aplicado: %s %d etapas, %.0f%% wet frecuencia = %.1f Hz, fase inicial "
-"= %.0f grad, profundidade = %d, retroalimentación = %.0f%%"
 
-#: ../src/effects/Echo.cpp:33
+#: DirManager.cpp:1181
 #, c-format
-msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
-msgstr "Efecto aplicado: %s retraso = %f segundos, factor de decaemento = %f"
+msgid "Changed block %s to new alias name\n"
+msgstr ""
 
-#: ../src/effects/BassBoost.cpp:36
-#, c-format
-msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
-msgstr "Efecto aplicado: frecuencia %s = %.0f Hz, realce = %.0f dB"
+#: DirManager.cpp:1247 DirManager.cpp:1538
+msgid "Inspecting project file data..."
+msgstr ""
 
-#: ../src/effects/Wahwah.cpp:41
+#: DirManager.cpp:1263
 #, c-format
-msgid ""
-"Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%"
-"%, resonance = %.1f, frequency offset = %.0f%%"
+msgid "Orphaned blockfile: (%s)"
 msgstr ""
-"Efecto aplicado: frecuencia %s = %.1f Hz, fase inicial = %.0f grad, "
-"profundidade= %.0f%%, resonancia = %.1f, frecuencia inicial = %.0f%%"
 
-#: ../src/effects/ToneGen.cpp:33
+#: DirManager.cpp:1288
 #, c-format
-msgid ""
-"Applied effect: Generate %s %s wave, frequency = %.2f Hz, amplitude = %.2f, "
-"%.6lf seconds"
+msgid "Missing alias file: (%s)"
 msgstr ""
-"Efecto aplicado: Xerar %s %s onda, frecuencia = %.2f Hz, amplitude = %.2f, "
-"%.6lf segundos"
 
-#: ../src/effects/Silence.h:42
+#: DirManager.cpp:1308
 #, c-format
-msgid "Applied effect: Generate Silence, %.6lf seconds"
-msgstr "Efecto aplicado: Xerar Silencio, %.6lf segundos"
+msgid "Missing summary file: (%s.auf)"
+msgstr ""
 
-#: ../src/effects/Noise.h:31
+#: DirManager.cpp:1328
 #, c-format
-msgid "Applied effect: Generate White Noise, %.6lf seconds"
-msgstr "Efecto aplicado: Xerar ruido branco, %.6lf segundos"
+msgid "Missing data file: (%s.au)"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:464
-msgid "Apply Normalization (to 0dB) after compressing"
-msgstr "Aplicar normalización (a 0 dB) despois de comprimir"
+#: DirManager.cpp:1342
+msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+"click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
+msgstr ""
 
-#: ../src/effects/Compressor.h:40
-msgid "Applying Dynamic Range Compression..."
-msgstr "Aplicando compresión de rango dinámico..."
+#: DirManager.cpp:1354
+#, c-format
+msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+"unused and probably left over from a crash or some other bug.\n"
+"They should be deleted to avoid disk contention."
+msgstr ""
 
-#: ../src/effects/nyquist/Nyquist.cpp:217
-msgid "Applying Nyquist Effect..."
-msgstr "Aplicando Efecto Nyquist..."
+#: DirManager.cpp:1359
+msgid "Delete orphaned files [safe and recommended]"
+msgstr ""
 
-#: ../src/effects/Phaser.h:45
-msgid "Applying Phaser"
-msgstr "Aplicando Fase"
+#: DirManager.cpp:1360
+msgid "Continue without deleting; silently work around the extra files"
+msgstr ""
 
-#: ../src/effects/Wahwah.h:43
-msgid "Applying Wahwah"
-msgstr "Aplicando Wahwah"
+#: DirManager.cpp:1361
+msgid "Close project immediately with no changes"
+msgstr ""
 
-#: ../src/export/Export.cpp:202
-msgid "Are you sure you want to save the file as \""
-msgstr "¿Está seguro de que quere gardar o arquivo como \""
+#: ../src/widgets/Warning.cpp:45
+msgid "Warning"
+msgstr "Advertencia"
 
-#: ../src/Tags.cpp:445
-msgid "Artist"
-msgstr "Artista"
+#: DirManager.cpp:1389
+#, c-format
+msgid "Project check detected %d input file[s] being used in place\n"
+"('alias files') are now missing.  There is no way for Audacity\n"
+"to recover these files automatically; you may choose to\n"
+"permanently fill in silence for the missing files, temporarily\n"
+"fill in silence for this session only, or close the project now\n"
+"and try to restore the missing files by hand."
+msgstr ""
 
-#: ../src/Tags.cpp:631
-msgid "Artist:"
-msgstr "Artista:"
+#: DirManager.cpp:1394
+msgid "Replace missing data with silence [permanent upon save]"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:453
-msgid "Attack Time: "
-msgstr "Tempo de ataque: "
+#: DirManager.cpp:1395 DirManager.cpp:1483
+msgid "Temporarily replace missing data with silence [this session only]"
+msgstr ""
+
+#: DirManager.cpp:1396 DirManager.cpp:1442 DirManager.cpp:1484
+msgid "Close project immediately with no further changes"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:527
+#: DirManager.cpp:1435
 #, c-format
-msgid "Attack Time: %.1f secs"
-msgstr "Tempo de ataque: %.1f segs"
+msgid "Project check detected %d missing summary file[s] (.auf).\n"
+"Audacity can fully regenerate these summary files from the\n"
+"original audio data in the project."
+msgstr ""
 
-#: ../src/AboutDialog.cpp:271
-msgid "Audacious!"
-msgstr "Audaz!"
+#: DirManager.cpp:1440
+msgid "Regenerate summary files [safe and recommended]"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:141
-msgid "Audacity Control Toolbar"
-msgstr "Barra de Ferramentas de control"
+#: DirManager.cpp:1441
+msgid "Fill in silence for missing display data [this session only]"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:80
-msgid "Audacity Edit Toolbar"
-msgstr "Barra de Ferramentas de edición de Audacity"
+#: DirManager.cpp:1477
+#, c-format
+msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+"probably due to a bug, system crash or accidental deletion.\n"
+"There is no way for Audacity to recover this lost data\n"
+"automatically; you may choose to permanently fill in silence\n"
+"for the missing data, temporarily fill in silence for this\n"
+"session only, or close the project now and try to restore the\n"
+"missing data by hand."
+msgstr ""
 
-#: ../src/LangChoice.cpp:47
-msgid "Audacity First Run"
-msgstr "Primeira execución de Audacity"
+#: DirManager.cpp:1482
+msgid "Replace missing data with silence [permanent immediately]"
+msgstr ""
 
-#: ../src/MeterToolBar.cpp:55
-msgid "Audacity Meter Toolbar"
-msgstr "Barra de medición de Audacity"
+#: DirManager.cpp:1510
+msgid "Cleaning up unused directories in project data..."
+msgstr ""
 
-#: ../src/MixerToolBar.cpp:101
-msgid "Audacity Mixer Toolbar"
-msgstr "Barra de mesturas de Audacity"
+#: DirManager.cpp:1587
+msgid "Caching audio"
+msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:52
-msgid "Audacity Preferences"
-msgstr "Preferencias de Audacity"
+#: DirManager.cpp:1588
+msgid "Caching audio into memory..."
+msgstr ""
 
-#: ../src/AudacityApp.cpp:1100
-msgid "Audacity Project Files"
-msgstr "Arquivos de proxecto de Audacity"
+#: DirManager.cpp:1623
+msgid "Saving recorded audio"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:773
-msgid ""
-"Audacity could not find a place to store temporary files.\n"
-"Please enter an appropriate directory in the preferences dialog."
+#: DirManager.cpp:1624
+msgid "Saving recorded audio to disk..."
 msgstr ""
-"Audacity non puido atopar un lugar onde almacenar os arquivos "
-"temporais.\n"
-"Indique un directorio apropiado no diálogo de preferencias."
 
-#: ../src/import/Import.cpp:170
-msgid ""
-"Audacity did not recognize the type of this file.\n"
-"If it is uncompressed, try importing it using \"Import Raw\""
-msgstr ""
-"Audacity non recoñeceu o tipo de este arquivo.\n"
-"Se está descomprimido, intente importalo usando \"Importar Arquivo en bruto"
-"\""
-
-#. i18n-hint: This message is used on Mac OS X.  This particular
-#. message must be <= 255 characters.  Be brief.
-#. i18n-hint: This message is used on Mac OS 9.  This particular
-#. message must be <= 255 characters.  Be brief.
-#: ../src/export/ExportMP3.cpp:560 ../src/export/ExportMP3.cpp:874
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses LAME, an MP3 "
-"exporting library available separately.  See the documentation for more "
-"information.\n"
-"\n"
-"Would you like to locate LameLib now?"
+#: ../src/FFT.cpp:364
+msgid "Rectangular"
+msgstr "Rectangular"
+
+#: FFmpeg.cpp:38
+msgid "FFmpeg support not compiled in"
 msgstr ""
-"Audacity non exporta arquivos MP3 en forma directa, senón que usa LAME, unha "
-"librería para exportación de MP3 dispoñible por separado.  Consulte a "
-"documentación para máis información.\n"
-"\n"
-"¿Quere localizar LameLib agora?"
 
-#. i18n-hint: This message is used on Windows.
-#: ../src/export/ExportMP3.cpp:1122
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses the\n"
-"freely available LAME library to handle MP3 file encoding.  You must\n"
-"obtain lame_enc.dll separately, by downloading the LAME MP3 encoder,and then "
-"locate this file for Audacity.  You only need to do this once.\n"
+#: FFmpeg.cpp:103
+msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+"but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"Would you like to locate lame_enc.dll now?"
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
-"Audacity non exporta arquivos MP3 en forma directa, pero usa LAME\n"
-"unha librería dispoñible libremente para manexar a codificación de arquivos "
-"MP3.\n"
-"Debes adquirir lame_enc.dll por separado, baixando o codificador LAME MP3, e "
-"logo localiza este arquivo con Audacity.  Só precisas facelo unha soa vez.\n"
-"\n"
-"¿Quere localizar lame_enc.dll agora?"
 
-#. i18n-hint: This message is used on Unix/Linux
-#: ../src/export/ExportMP3.cpp:261
-msgid ""
-"Audacity does not export MP3 files directly, but instead uses the \n"
-"freely available LAME library to handle MP3 file encoding.  You must \n"
-"obtain libmp3lame.so separately, either by downloading it or building \n"
-"it from the sources, and then locate the file for Audacity.  You only \n"
-"need to do this once.\n"
-"\n"
-"Would you like to locate libmp3lame.so now?"
+#: FFmpeg.cpp:106
+msgid "FFmpeg startup failed"
 msgstr ""
-"Audacity non exporta arquivos MP3 en forma directa, pero usa LAME\n"
-"unha librería libre para manexar a codificación de arquivos MP3.  Debes\n"
-"adquirir libmp3lame.so por separado, baixándoo ou\n"
-"construíndoo dende o seu cçodigo fonte, e logo localiza este arquivo\n"
-"para Audacity.  Só precisas facelo unha soa vez.\n"
-"\n"
-"¿Quere localizar libmp3lame.so agora?"
 
-#: ../src/DirManager.cpp:127
-msgid ""
-"Audacity found temporary files that were not deleted or saved\n"
-"the last time you used Audacity.\n"
-"\n"
-"Audacity can't recover them automatically, but if you choose not\n"
-"to delete them, you can recover them manually.\n"
-"\n"
-"Delete temporary files?"
+#: FFmpeg.cpp:114
+msgid "FFmpeg library not found"
 msgstr ""
-"Audacity atopou arquivos temporais que non foron eliminados ou "
-"gardados a última vez que utilizou o programa.\n"
-"\n"
-"Audacity pode recuperalos automáticamente pero se decide non eliminalos "
-"pode recuperalos manualmente.\n"
-"\n"
-"¿Eliminar arquivos temporais?"
 
-#: ../src/AboutDialog.cpp:99
-msgid ""
-"Audacity is a free program written by a team of volunteer developers around "
-"the world.  Coordination happens thanks to SourceForge.net, an online "
-"service that provides free tools to open-source software projects.  Audacity "
-"is available for Windows 98 and newer, Mac OS X, Linux, and other Unix-like "
-"operating systems.  Older versions of Audacity are available for Mac OS 9."
-msgstr ""
-"Audacity é un programa gratuito realizado por un grupo de desenroladores "
-"voluntarios arredor do mundo. A coordinación é posible grazas a "
-"SourceForge.net, un servicio online que provee ferramentas gratuitas a "
-"proxectos de software de código-aberto. Audacity está dispoñible para "
-"Windows 98 ou posterior, Mac OS X, Linux, e outros sistemas operativos "
-"parecidos a Unix. Versións anteriores de Audacity están dispoñibles para "
-"Mac OS 9."
+#: FFmpeg.cpp:408
+msgid "Locate FFmpeg"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:846
-msgid "Audacity is already running"
-msgstr "Audacity xa se está executando"
+#: FFmpeg.cpp:428
+#, c-format
+msgid "Audacity needs the file %s to import and export audio via FFmpeg."
+msgstr ""
 
-#: ../src/AudacityApp.cpp:782
-msgid ""
-"Audacity is now going to exit.  Please launch Audacity again to use the new "
-"temporary directory."
+#: FFmpeg.cpp:434 export/ExportMP3.cpp:562
+#, c-format
+msgid "Location of %s:"
 msgstr ""
-"Audacity vaise pechar. Por favor execute Audacity novamente para usar o "
-"novo directorio temporal."
 
-#: ../src/AudacityApp.cpp:1099
-msgid ""
-"Audacity project (.AUP) files are not currently \n"
-"associated with Audacity. \n"
-"\n"
-"Associate them, so they open on double-click?"
+#: FFmpeg.cpp:443 export/ExportMP3.cpp:571
+#, c-format
+msgid "To find %s, click here -->"
 msgstr ""
-"Os arquivos de proxecto de Audacity (AUP) non están \n"
-"asociados a Audacity.\n"
-"\n"
-"¿Quere asocialos para que se poidan abrir directamente?"
 
-#: ../src/Project.cpp:2368
-msgid ""
-"Audacity project files (.aup) let you save everything you're working on "
-"exactly as it\n"
-"appears on the screen, but most other programs can't open Audacity project "
-"files.\n"
-"\n"
-"When you want to save a file that can be opened by other programs, select "
-"one of the\n"
-"Export commands."
+#: FFmpeg.cpp:449 export/ExportMP3.cpp:577
+msgid "Browse..."
 msgstr ""
-"Os arquivos de proxecto de Audacity (.aup) permítenlle gardar todo o \n"
-"traballo exactamente como aparece en pantalla, pero a maioría dos\n"
-"programas non poden abrir arquivos de proxecto de Audacity.\n"
-"Cando queira gardar un arquivo que poida ser aberto por outros programas,\n"
-"seleccione un dos comandos de Exportación."
 
-#: ../src/Project.cpp:2378
-msgid "Audacity projects (*.aup)|*.aup"
-msgstr "Proyectos Audacity (*.aup)|*.aup"
+#: FFmpeg.cpp:450
+msgid "To get a free copy of FFmpeg, click here -->"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:137
+#: FFmpeg.cpp:451 export/ExportMP3.cpp:579
+msgid "Download"
+msgstr ""
+
+#. i18n-hint: It's asking for the location of a file, for
+#. example, "Where is lame_enc.dll?" - you could translate
+#. "Where would I find the file %s" instead if you want.
+#: ../src/export/ExportMP3.cpp:113
 #, c-format
-msgid ""
-"Audacity was expecting a library named \"%s\".  Are you sure you want to "
-"attempt to export MP3 files using \"%s\"?"
+msgid "Where is %s?"
+msgstr "Onde está %s?"
+
+#: FFmpeg.cpp:643
+msgid "Failed to find compatible FFmpeg libraries"
 msgstr ""
-"Audacity esperaba unha librería chamada \"%s\".  ¿Está seguro de que quere "
-"intentar exportar arquivos MP3 usando \"%s\"?"
 
-#: ../src/AudacityApp.cpp:823
-msgid ""
-"Audacity was not able to lock the temporary files directory.\n"
-"This folder may be in use by another copy of Audacity.\n"
-"Running two copies of Audacity simultaneously may cause\n"
-"data loss or cause your system to crash.\n"
-"\n"
-"Do you still want to start Audacity?"
+#: FFmpeg.h:97
+msgid "FFmpeg not found"
 msgstr ""
-"Audacity non puido bloquear o directorio de arquivos temporais.\n"
-"Este cartafol pode estar sendo utilizado por outra copia de Audacity.\n"
-"Executar dúas copias simultaneas de Audacity pode provocar perda \n"
-"de datos ou bloquear o sistema.\n"
+
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
 "\n"
-"¿Aínda quere executar Audacity?"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
+msgstr ""
 
-#: ../src/Project.cpp:1842
-msgid ""
-"Audacity was unable to convert an Audacity 1.0 project to the new project "
-"format."
+#: FFmpeg.h:119
+msgid "Do not show this warning again"
 msgstr ""
-"Audacity non puido convertir un proxecto de Audacity 1.0 ao novo formato de "
-"proxecto."
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Audio E/S"
+#: FFmpeg.h:264
+msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
+msgstr ""
 
-#: ../src/WaveTrack.cpp:128
-msgid "Audio Track"
-msgstr "Pista de audio"
+#: FFmpeg.h:297
+msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
+msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:437
-msgid "Author: "
-msgstr "Autor: "
+#: FFmpeg.h:324
+msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:122
-msgid "Automatic Volume Control"
-msgstr "Control automático de volume"
+#: ../src/FreqWindow.cpp:68
+msgid "Frequency Analysis"
+msgstr "Análise de frecuencia"
 
-#: ../src/effects/AvcCompressor.cpp:551
-msgid "Automatic Volume Control by Vincent A. Busam"
-msgstr "Control automático de volume por Vincent A. Busam"
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
+msgid "Spectrum"
+msgstr "Espectro"
 
-#: ../src/effects/AvcCompressor.h:66
-msgid "Automatic Volume Control..."
-msgstr "Control automático de volume..."
+#: ../src/FreqWindow.cpp:130
+msgid "Standard Autocorrelation"
+msgstr "Autocorrelación estándard"
 
-#: ../src/prefs/GUIPrefs.cpp:66
-msgid "Autoscroll while playing"
-msgstr "Autoscroll mentras se reproduce"
+#: ../src/FreqWindow.cpp:131
+msgid "Cuberoot Autocorrelation"
+msgstr "Autocorrelación de raiz cúbica"
 
-#: ../src/effects/BassBoost.cpp:69
-msgid "Bass Boost"
-msgstr "BassBoost (Realzar graves)"
+#: ../src/FreqWindow.cpp:132
+msgid "Enhanced Autocorrelation"
+msgstr "Autocorrelación mellorada"
 
-#: ../src/effects/BassBoost.cpp:279
-msgid "Bass Boost by Nasca Octavian Paul"
-msgstr "BassBoost por Nasca Octavian Paul"
+#. i18n-hint: This is a technical term, derived from the word
+#. "spectrum".  Do not translate it unless you are sure you
+#. know the correct technical word in your language.
+#: ../src/FreqWindow.cpp:136
+msgid "Cepstrum"
+msgstr "Cepstrum"
 
-#: ../src/effects/BassBoost.h:44
-msgid "Bass Boost..."
-msgstr "BassBoost (Realzar graves)..."
+#: FreqWindow.cpp:174 FreqWindow.cpp:178
+msgid "Algorithm"
+msgstr ""
 
-#: ../src/effects/ChangeTempo.cpp:211
-msgid "Beats per Minute (BPM):   from"
-msgstr "Pulsos por Minuto (BMP):   dende"
+#: ../src/HistoryWindow.cpp:58
+msgid "Size"
+msgstr "Tamaño"
 
-#: ../src/Benchmark.cpp:117
-msgid "Benchmark"
-msgstr "Test de rendemento"
+#. i18n-hint: This refers to a "window function", used in the
+#. Frequency analyze dialog box.
+#: ../src/FreqWindow.cpp:167
+msgid " window"
+msgstr " rango"
 
-#. i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:305
-msgid "Big-endian"
-msgstr "Big-endian"
+#: FreqWindow.cpp:211 FreqWindow.cpp:215
+msgid "Function"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:197
-msgid "Bit Rate:"
-msgstr "Bit Rate:"
+#: ../src/FreqWindow.cpp:177
+msgid "Linear frequency"
+msgstr "Frecuencia Liñal"
 
-#: ../src/effects/BassBoost.cpp:302
-msgid "Boost (dB):"
-msgstr "Realzar (dB):"
+#: ../src/FreqWindow.cpp:178
+msgid "Log frequency"
+msgstr "Logaritmo de Frecuencia"
 
-#: ../src/effects/BassBoost.h:48
-msgid "Boosting Bass Frequencies"
-msgstr "Realzando frecuencias baixas"
+#: FreqWindow.cpp:225 FreqWindow.cpp:229
+msgid "Axis"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:86
-msgid "Buttons"
-msgstr "Botóns"
+#: FreqWindow.cpp:236 LabelDialog.cpp:130 Menus.cpp:255
+msgid "&Export..."
+msgstr ""
 
-#: ../src/Menus.cpp:639
-msgid "Can't Redo"
-msgstr "Non se pode refacer"
+#: ../src/export/ExportMP3.cpp:1427 ../src/export/ExportMultiple.cpp:699
+#: ../src/export/ExportOGG.cpp:195 ../src/export/ExportPCM.cpp:136
+msgid "Export"
+msgstr "Exportar"
 
-#: ../src/Menus.cpp:626
-msgid "Can't Undo"
-msgstr "Non se pode desfacer"
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:493
-msgid "Can't export multiple files"
-msgstr "Non se pode exportar múltiples ficheiros"
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
 
-#: ../src/Project.cpp:2308 ../src/Project.cpp:2311
-msgid "Can't import project file"
-msgstr "Non se pode importar o arquivo de proxecto"
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/NoiseRemoval.cpp:463 ../src/effects/ClickRemoval.cpp:371
+msgid "Close"
+msgstr "Pechar"
 
-#: ../src/Project.cpp:1991
-msgid "Can't open project file"
-msgstr "Imposible abrir o arquivo de proxecto"
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Non se pode procesar o reemprazo"
+#: ../src/widgets/Meter.cpp:293
+msgid "dB"
+msgstr "dB"
 
-#: ../src/Tags.cpp:716 ../src/effects/VST/VSTEffect.cpp:95
-#: ../src/effects/VST/VSTEffect.cpp:453 ../src/effects/Amplify.cpp:182
-#: ../src/effects/AvcCompressor.cpp:710 ../src/effects/BassBoost.cpp:327
-#: ../src/effects/ChangePitch.cpp:389 ../src/effects/ChangeSpeed.cpp:375
-#: ../src/effects/ChangeTempo.cpp:280 ../src/effects/Compressor.cpp:476
-#: ../src/effects/Echo.cpp:238 ../src/effects/Equalization.cpp:726
-#: ../src/effects/Filter.cpp:479 ../src/effects/Normalize.cpp:255
-#: ../src/effects/Phaser.cpp:571 ../src/effects/Repeat.cpp:248
-#: ../src/effects/Silence.cpp:140 ../src/effects/ToneGen.cpp:320
-#: ../src/effects/Wahwah.cpp:558 ../src/effects/ladspa/LadspaEffect.cpp:495
-#: ../src/effects/nyquist/Nyquist.cpp:730
-#: ../src/effects/nyquist/Nyquist.cpp:877 ../src/export/ExportMultiple.cpp:696
-#: ../src/import/ImportRaw.cpp:405 ../src/prefs/FileFormatPrefs.cpp:466
-#: ../src/prefs/PrefsDialog.cpp:109
-msgid "Cancel"
-msgstr "Cancelar"
+#. i18n-hint: This is the abbreviation for "Hertz", or
+#. cycles per second.
+#: ../src/import/ImportRaw.cpp:378
+msgid "Hz"
+msgstr "Hz"
 
-#: ../src/export/ExportPCM.cpp:73
-msgid "Cannot export audio in this format."
-msgstr "Non se pode exportar audio neste formato."
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Para representar o espectro, tódalas pistas seleccionadas deben ter a mesma frecuencia de mostreo."
 
-#: ../src/export/ExportPCM.cpp:79
+#: ../src/Menus.cpp:2395
 #, c-format
-msgid "Cannot export audio to %s"
-msgstr "Non se pode exportar audio a %s"
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Demasiado audio seleccionado.  Só os primeiros %.1f segundos de audio serán analizados."
 
-#: ../src/effects/PopClick.cpp:63
-msgid "Cannot remove a pop or click at the very beginning of a track."
-msgstr "Non se pode eliminar un \"pop\" ou un \"click\" ao principio da pista."
+#: ../src/FreqWindow.cpp:463
+msgid "Not enough data selected."
+msgstr "Non hai suficiente información seleccionada."
 
-#: ../src/effects/PopClick.cpp:58
-msgid "Cannot remove a pop or click longer than one second."
-msgstr "Non se pode eliminar un \"pop\"ou un \"click\" maior que un segundo."
+#: FreqWindow.cpp:564 effects/AutoDuck.cpp:808
+msgid "s"
+msgstr ""
 
-#: ../src/widgets/ASlider.cpp:484
-msgid "Center"
-msgstr "Centro"
+#: FreqWindow.cpp:898
+#, c-format
+msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
+msgstr ""
 
-#. i18n-hint: This is a technical term, derived from the word
-#. "spectrum".  Do not translate it unless you are sure you
-#. know the correct technical word in your language.
-#: ../src/FreqWindow.cpp:136
-msgid "Cepstrum"
-msgstr "Cepstrum"
+#: FreqWindow.cpp:907
+#, c-format
+msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:98
-msgid "Change Amplification Envelope"
-msgstr "Cambiar a envolvente de amplificación"
+#: ../src/FreqWindow.cpp:996
+msgid "spectrum.txt"
+msgstr "espectro.txt"
 
-#: ../src/prefs/MousePrefs.cpp:103
-msgid "Change ONE Sample only"
-msgstr "Cambiar UN mostreo somentes"
+#: ../src/FreqWindow.cpp:998
+msgid "Export Spectral Data As:"
+msgstr "Exportar datos do espectro como:"
 
-#: ../src/effects/ChangePitch.cpp:119
-msgid "Change Pitch"
-msgstr "Cambiar tono"
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
+#: ../src/prefs/KeyConfigPrefs.cpp:173
+msgid "Couldn't write to file: "
+msgstr "Non se puido escribir no arquivo: "
 
-#: ../src/effects/ChangePitch.cpp:242
-msgid "Change Pitch without Changing Tempo"
-msgstr "Cambiar tono sen cambiar tempo"
+#: ../src/FreqWindow.cpp:1019
+msgid "Frequency (Hz)\tLevel (dB)"
+msgstr "Frecuencia (Hz)\tVolume (dB)"
 
-#: ../src/effects/ChangePitch.h:31
-msgid "Change Pitch..."
-msgstr "Cambiar tono..."
+#: ../src/FreqWindow.cpp:1025
+msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
+msgstr "Retraso (segundos)\tFrecuencia (Hz)\tVolume"
 
-#: ../src/prefs/MousePrefs.cpp:100
-msgid "Change Sample"
-msgstr "Cambiar mostreo"
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:102
-msgid "Change Several Samples"
-msgstr "Cambiar varios mostreos"
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
 
-#: ../src/effects/ChangeSpeed.cpp:47
-msgid "Change Speed"
-msgstr "Cambiar velocidade"
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
 
-#: ../src/effects/ChangeSpeed.cpp:282
-msgid "Change Speed, affecting both Tempo and Pitch"
-msgstr "Cambiar velocidade, afectando tempo e tono"
+#: HelpText.cpp:85
+msgid "To [[welcome|Welcome screen]]"
+msgstr ""
 
-#: ../src/effects/ChangeSpeed.h:37
-msgid "Change Speed..."
-msgstr "Cambiar velocidade..."
+#: HelpText.cpp:92
+msgid "Welcome!"
+msgstr ""
 
-#: ../src/effects/ChangeTempo.cpp:62
-msgid "Change Tempo"
-msgstr "Cambiar tempo"
+#: HelpText.cpp:97
+msgid "Playing Audio"
+msgstr ""
 
-#: ../src/effects/ChangeTempo.cpp:159
-msgid "Change Tempo without Changing Pitch"
-msgstr "Cambiar tempo sen cambiar tono"
+#: HelpText.cpp:101
+msgid "Recording Audio"
+msgstr ""
 
-#: ../src/effects/ChangeTempo.h:40
-msgid "Change Tempo..."
-msgstr "Cambiar tempo..."
+#: HelpText.cpp:105
+msgid "Recording - Choosing the Input Device"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4351
-msgid "Change lower speed limit (%) to:"
-msgstr "Cambiar o límite inferior de velocidade (%) a:"
+#: HelpText.cpp:109
+msgid "Recording - Choosing the Input Source"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4416
-msgid "Change track name to:"
-msgstr "Cambiar nome de pista a:"
+#: HelpText.cpp:113
+msgid "Recording - Setting the Input Level"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4358
-msgid "Change upper speed limit (%) to:"
-msgstr "Cambiar o límite superior de velocidade (%) a:"
+#: HelpText.cpp:117
+msgid "Editing and greyed out Menus"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:398
-msgid "Change window size must be less than or equal to Adjustment window size."
+#: HelpText.cpp:121
+msgid "Exporting an Audio File"
 msgstr ""
-"Cambio do tamaño de fiestra debe ser menor ou igual ao axuste del tamaño de "
-"fiestra."
 
-#: ../src/TrackPanel.cpp:4189
-#, c-format
-msgid "Changed '%s' to %d Hz"
-msgstr "Cambiado '%s' a %d Hz"
+#: HelpText.cpp:125
+msgid "Saving an Audacity Project"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
-#, c-format
-msgid "Changed '%s' to %s"
-msgstr "Cambiado '%s' a %s"
+#: HelpText.cpp:129
+msgid "Unsupported Formats"
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:214
-msgid ""
-"Changes to temporary directory will not take effect until Audacity is "
-"restarted"
+#: HelpText.cpp:133
+msgid "Burn to CD"
 msgstr ""
-"Os cambios do directorio temporal non terán efecto ata que se reinicie "
-"Audacity"
 
-#: ../src/effects/ChangePitch.h:35
-msgid "Changing Pitch"
-msgstr "Cambiando tono"
+#: HelpText.cpp:137
+msgid "No Local Help"
+msgstr ""
 
-#: ../src/effects/ChangeSpeed.h:40
-msgid "Changing Speed"
-msgstr "Cambiando velocidade"
+#: HelpText.cpp:148
+msgid "</p><center><h3>Getting Started</h3></center><br>"
+msgstr ""
 
-#: ../src/effects/ChangeTempo.h:44
-msgid "Changing Tempo"
-msgstr "Cambiando tempo"
+#: HelpText.cpp:150
+msgid "Welcome to Audacity "
+msgstr ""
 
-#: ../src/DirManager.cpp:660
-#, c-format
-msgid "Changing block %s\n"
-msgstr "Cambiando bloque %s\n"
+#: HelpText.cpp:151
+msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.h:70
-msgid "Changing volume"
-msgstr "Cambiando volume"
+#: HelpText.cpp:159
+msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4121
-msgid "Channel"
-msgstr "Canle"
+#: HelpText.cpp:172
+msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:220
-msgid "Channels:"
-msgstr "Canles:"
+#: HelpText.cpp:194
+msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
+msgstr ""
 
-#: ../src/LangChoice.cpp:74
-msgid "Choose Language for Audacity to use:"
-msgstr "Seleccione a linguaxe a utilizar:"
+#: HelpText.cpp:221
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4453
-msgid "Choose a font for Label Tracks"
-msgstr "Seleccione un tipo de letra para a pista de etiquetas"
+#: HelpText.cpp:244
+msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:135
-msgid "Choose a location to place the temporary directory"
-msgstr "Seleccione onde establecer o directorio temporal"
+#: HelpText.cpp:267
+msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:766
-msgid "Choose a location to save the exported files"
-msgstr "Seleccione un lugar para gardar os arquivos exportados"
+#: HelpText.cpp:292
+msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Explorar..."
+#: HelpText.cpp:311
+msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
+msgstr ""
 
-#: ../src/DirManager.cpp:158
-msgid "Cleaning up temporary files..."
-msgstr "Eliminando arquivos temporais..."
+#: HelpText.cpp:335
+msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
+msgstr ""
 
-#: ../src/effects/Equalization.cpp:683 ../src/effects/Filter.cpp:468
-#: ../src/prefs/KeyConfigPrefs.cpp:99
-msgid "Clear"
-msgstr "Eliminar"
+#: HelpText.cpp:359
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr ""
 
-#: ../src/effects/ClickRemoval.h:42
-msgid "Click Removal..."
-msgstr "Eliminación de ruido...."
+#: HelpText.cpp:383
+msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
+msgstr ""
 
-#: ../src/effects/ClickRemoval.cpp:67
-msgid "Click and Pop Removal"
-msgstr "Eliminación de Click e Pop"
+#: HelpText.cpp:403
+msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
+msgstr ""
 
-#: ../src/effects/ClickRemoval.cpp:317
-msgid "Click and Pop Removal by Craig DeForest"
-msgstr "Eliminación de Click e Pop por Craig DeForest"
+#: ../src/HistoryWindow.cpp:44
+msgid "Undo History"
+msgstr "Desfacer historial"
 
-#: ../src/TrackPanel.cpp:1616
-msgid "Click and drag to adjust relative size of stereo tracks."
-msgstr "Faga clic e arrastre para modificar o tamaño relativo de pistas estéreo."
+#: HistoryWindow.cpp:72
+msgid "Manage History"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:77
-msgid "Click and drag to edit the amplitude envelope"
-msgstr "Faga clic e arrastre para editar a amplitude da envolvente"
+#: ../src/HistoryWindow.cpp:57
+msgid "Action"
+msgstr "Acción"
 
-#: ../src/ControlToolBar.cpp:78
-msgid "Click and drag to edit the samples"
-msgstr "Faga clic e arrastre para editar os mostreos"
+#: HistoryWindow.cpp:86
+msgid "&Undo Levels Available"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:86
-msgid "Click and drag to move a track in time"
-msgstr "Faga clic e arrastre para mover unha pista no tempo"
+#: HistoryWindow.cpp:92
+msgid "Levels To Discard"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1574
-msgid "Click and drag to move left selection boundary."
-msgstr "Faga clic e arrastre para mover o límite esquerdo da selección."
+#: HistoryWindow.cpp:103
+msgid "&Discard"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1579
-msgid "Click and drag to move right selection boundary."
-msgstr "Faga clic e arrastre para mover o límite dereito da selección."
+#: HistoryWindow.cpp:112 effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191 export/ExportCL.cpp:432
+msgid "&OK"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1621
-msgid "Click and drag to resize the track."
-msgstr "Faga clic e arrastre para modificar o tamaño da pista."
+#: ../src/prefs/DirectoriesPrefs.cpp:114
+msgid "Unable to determine"
+msgstr "Non se pode determinar"
 
-#: ../src/ControlToolBar.cpp:76
-msgid "Click and drag to select audio"
-msgstr "Faga clic e arrastre para seleccionar audio"
+#: ../src/import/ImportRaw.cpp:354
+msgid "bytes"
+msgstr "bytes"
 
-#: ../src/ControlToolBar.cpp:80
-msgid "Click to Zoom In, Shift-Click to Zoom Out"
-msgstr "Faga clic para Achegar, Maiús-Click para Alonxar"
+#: Internat.cpp:149
+msgid "KB"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1513
-msgid ""
-"Click to vertically zoom in, Shift-click to zoom out, Drag to create a "
-"particular zoom region."
+#: Internat.cpp:152
+msgid "MB"
 msgstr ""
-"Faga clic para acercar verticalmente, Maiús-click para alonxar, arrastra para "
-"crear unha rexión de zoom en particular."
 
-#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
-#: ../src/effects/NoiseRemoval.cpp:463 ../src/effects/ClickRemoval.cpp:371
-msgid "Close"
-msgstr "Pechar"
+#: Internat.cpp:155
+msgid "GB"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:78
-msgid "Command"
-msgstr "Comando"
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:85
-msgid "Command Action"
-msgstr "Acción de Comando"
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
 
-#: ../src/export/Export.cpp:382
-msgid "Command-line exporting is only supported on UNIX"
-msgstr "Exportación de liña de comandos só está dispoñible en UNIX"
+#: LabelDialog.cpp:54
+msgid "Track"
+msgstr ""
 
-#. i18n-hint: '-help', '-test' and
-#. '-blocksize' need to stay in English.
-#: ../src/AudacityApp.cpp:610 ../src/AudacityApp.cpp:680
-#, c-format
-msgid ""
-"Command-line options supported:\n"
-"  -help (this message)\n"
-"  -test (run self diagnostics)\n"
-"  -blocksize ### (set max disk block size in bytes)\n"
-"\n"
-"In addition, specify the name of an audio file or Audacity project\n"
-"to open it.\n"
-"\n"
+#: ../src/Menus.cpp:3088
+msgid "Label"
+msgstr "Etiqueta"
+
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:341
+msgid "Start Time"
 msgstr ""
-"Opcións de liña de comando:\n"
-"  -help (esta mensaxe)\n"
-"  -test (executa auto diagnóstico)\n"
-"  -blocksize ### (tamaño máximo de bloque de disco en bytes)\n"
-"\n"
-"Xunto a esto, especifique o nome dun arquivo de son ou\n"
-"proxecto Audacity para abrilo.\n"
-"\n"
 
-#: ../src/Tags.cpp:475
-msgid "Comments"
-msgstr "Comentarios"
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:360
+msgid "End Time"
+msgstr ""
 
-#: ../src/Tags.cpp:700
-msgid "Comments:"
-msgstr "Comentarios:"
+#: LabelDialog.cpp:100 Menus.cpp:696
+msgid "&Edit Labels"
+msgstr ""
 
-#: ../src/effects/Compressor.h:36
-msgid "Compressor..."
-msgstr "Compresor..."
+#: LabelDialog.cpp:115
+msgid "Press F2 or double click to edit cell contents."
+msgstr ""
 
-#: ../src/Legacy.cpp:337
-#, c-format
-msgid ""
-"Converted a 1.0 project file to the new format.\n"
-"The old file has been saved as '%s'"
+#: LabelDialog.cpp:126
+msgid "Insert &After"
 msgstr ""
-"Convertirase un arquivo de proxecto 1.0 ao novo formato.\n"
-"O arquivo antigo foi gardado como %s'"
 
-#: ../src/EditToolBar.cpp:150
-msgid "Copy"
-msgstr "Copiar"
+#: LabelDialog.cpp:127
+msgid "Insert &Before"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1328
-msgid "Could not open MP3 encoding library!"
-msgstr "Non se puido abrir a librería codificadora de MP3!"
+#: LabelDialog.cpp:129
+msgid "&Import..."
+msgstr ""
+
+#: LabelDialog.cpp:157
+msgid "New..."
+msgstr ""
+
+#: LabelDialog.cpp:354
+msgid "You have left blank label names.  These will be\n"
+"skipped when repopulating the Label Tracks.\n"
+"\n"
+"Would you like to go back and provide names?"
+msgstr ""
+
+#: LabelDialog.cpp:355
+msgid "Confirm"
+msgstr ""
+
+#: ../src/Menus.cpp:2631
+msgid "Select a text file containing labels..."
+msgstr "Selecciona un arquivo de texto que conteña etiquetas..."
+
+#: ../src/Menus.cpp:2635
+msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
+msgstr "Arquivos de texto (*.txt)|*.txt|Tódolos arquivos (*.*)|*.*"
 
 #: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Non se puido abrir o arquivo: "
 
-#: ../src/xml/XMLFileReader.cpp:45
-#, c-format
-msgid "Could not open file: \"%s\""
-msgstr "Non se puido abrir o arquivo: \"%s\""
+#: LabelDialog.cpp:560
+msgid "No labels to export."
+msgstr ""
 
-#: ../src/Project.cpp:2144
-#, c-format
-msgid ""
-"Could not save project.  Perhaps %s is not writeable,\n"
-"or the disk is full."
+#: ../src/Menus.cpp:1358
+msgid "Export Labels As:"
+msgstr "Exportar etiquetas como:"
+
+#: ../src/Menus.cpp:1356
+msgid "labels.txt"
+msgstr "rotulos.txt"
+
+#: LabelDialog.cpp:703
+#, fuzzy
+msgid "New Label Track"
+msgstr "Nova p&ista de etiquetas"
+
+#: LabelDialog.cpp:704
+msgid "Enter track name"
 msgstr ""
-"Non se puido gardar o proxecto. Tal vez %s non teña\n"
-"permiso para ser escrito, ou o disco está cheo."
 
-#: ../src/Project.cpp:1941
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:92 Menus.cpp:605
+#, fuzzy
+msgid "&Label Track"
+msgstr "Pista de etiquetas"
+
+#: ../src/LangChoice.cpp:47
+msgid "Audacity First Run"
+msgstr "Primeira execución de Audacity"
+
+#: ../src/LangChoice.cpp:74
+msgid "Choose Language for Audacity to use:"
+msgstr "Seleccione a linguaxe a utilizar:"
+
+#: ../src/Legacy.cpp:337
 #, c-format
-msgid "Couldn't find the project data folder: \"%s\""
-msgstr "Non se puido atopar o cartafol de datos do proxecto: \"%s\""
+msgid "Converted a 1.0 project file to the new format.\n"
+"The old file has been saved as '%s'"
+msgstr "Convertirase un arquivo de proxecto 1.0 ao novo formato.\n"
+"O arquivo antigo foi gardado como %s'"
 
-#: ../src/Help.cpp:71
-msgid "Couldn't open the Audacity Help file."
-msgstr "Non se puido abrir o arquivo de axuda de Audacity."
+#: ../src/Legacy.cpp:338
+msgid "Opening Audacity Project"
+msgstr "Abrindo proxecto de Audacity"
 
-#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
-#: ../src/prefs/KeyConfigPrefs.cpp:173
-msgid "Couldn't write to file: "
-msgstr "Non se puido escribir no arquivo: "
+#: ../src/Menus.cpp:139
+msgid "&File"
+msgstr "&Arquivo"
 
-#: ../src/Menus.cpp:2977
-msgid "Created new audio track"
-msgstr "Creouse unha nova pista de audio"
+#: ../src/Menus.cpp:145
+msgid "&Close"
+msgstr "Pe&char"
 
-#: ../src/Menus.cpp:3016
-msgid "Created new label track"
-msgstr "Creouse unha nova pista de etiquetas"
+#: ../src/Menus.cpp:146
+msgid "&Save Project"
+msgstr "&Gardar proxecto"
 
-#: ../src/Project.cpp:2414
-msgid "Created new project"
-msgstr "Creouse un novo proxecto"
+#: ../src/Menus.cpp:150
+msgid "Save Project &As..."
+msgstr "Gardar proxecto &como..."
 
-#: ../src/Menus.cpp:3001
-msgid "Created new stereo audio track"
-msgstr "Creouse unha nova pista estéreo de audio"
+#: Menus.cpp:222
+msgid "Save Compressed Copy of Project..."
+msgstr ""
 
-#: ../src/Menus.cpp:3052
-msgid "Created new time track"
-msgstr "Creouse unha nova pista de tempo"
+#: Menus.cpp:226
+msgid "Chec&k Dependencies..."
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.h:43
-msgid "Creating Noise Profile"
-msgstr "Creando perfil de ruido"
+#: Menus.cpp:230
+msgid "Open Me&tadata Editor..."
+msgstr ""
 
-#: ../src/AboutDialog.cpp:154
-msgid "Credits"
-msgstr "Créditos"
+#: Menus.cpp:238 import/ImportRaw.cpp:421
+msgid "&Import"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:103
-msgid "Ctrl-Left-Drag"
-msgstr "Ctrl-Frecha esq.-Arrastrar"
+#: Menus.cpp:240
+msgid "&Audio..."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:111
-msgid "Ctrl-Wheel-Rotate"
-msgstr "Ctrl-Roda do rato"
+#: Menus.cpp:241
+msgid "&Labels..."
+msgstr ""
+
+#: Menus.cpp:243
+msgid "&MIDI..."
+msgstr ""
+
+#: Menus.cpp:245
+msgid "&Raw Data..."
+msgstr ""
+
+#: Menus.cpp:260
+msgid "Expo&rt Selection..."
+msgstr ""
+
+#: ../src/Menus.cpp:173
+msgid "Export &Labels..."
+msgstr "Exportar E&tiquetas..."
+
+#: ../src/Menus.cpp:174
+msgid "Export &Multiple..."
+msgstr "Exportar &múltiple..."
+
+#: Menus.cpp:275
+msgid "Export MIDI..."
+msgstr ""
+
+#: Menus.cpp:281
+msgid "Appl&y Chain..."
+msgstr ""
+
+#: Menus.cpp:284
+msgid "Edit C&hains..."
+msgstr ""
+
+#: Menus.cpp:287
+msgid "Export CleanSpeech &Presets..."
+msgstr ""
+
+#: Menus.cpp:288
+msgid "I&mport CleanSpeech Presets..."
+msgstr ""
+
+#: Menus.cpp:295
+msgid "&Upload File..."
+msgstr ""
+
+#: Menus.cpp:300
+#, fuzzy
+msgid "Pa&ge Setup..."
+msgstr "Configuración de páxina...."
+
+#: Menus.cpp:303
+msgid "&Print..."
+msgstr ""
+
+#: ../src/Menus.cpp:212 ../src/Menus.cpp:218
+msgid "E&xit"
+msgstr "&Saír"
+
+#: ../src/Menus.cpp:227
+msgid "&Edit"
+msgstr "&Editar"
+
+#: ../src/Menus.cpp:231
+msgid "&Undo"
+msgstr "&Desfacer"
+
+#: ../src/Menus.cpp:239
+msgid "&Redo"
+msgstr "&Refacer"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "Cor&tar\tCtrl+X"
+msgid "Cu&t"
+msgstr "Cor&tar"
 
-#: ../src/FreqWindow.cpp:131
-msgid "Cuberoot Autocorrelation"
-msgstr "Autocorrelación de raiz cúbica"
+#: Menus.cpp:348
+msgid "Spl&it Cut"
+msgstr ""
 
-#: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Cursor á esquerda\tEsq"
+#: ../src/Menus.cpp:253
+msgid "&Copy"
+msgstr "&Copiar"
 
-#: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Cursor á dereita\tDer"
+#: ../src/Menus.cpp:254
+msgid "&Paste"
+msgstr "&Pegar"
 
-#: ../src/Menus.cpp:273
-msgid "Cursor to End"
-msgstr "Cursor ao Final de pista"
+#: Menus.cpp:355
+msgid "Tri&m"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:412
-#, c-format
-msgid "Cursor: %.3lf NTSC frames (29.97 fps)   %s"
-msgstr "Cursor: %.3lf cadros NTSC (29.97 cps)   %s"
+#: ../src/Menus.cpp:260
+msgid "&Delete"
+msgstr "&Borrar"
 
-#: ../src/FormatSelection.cpp:334
-#, c-format
-msgid "Cursor: %.3lf PAL frames (25 fps)   %s"
-msgstr "Cursor: %.3lf cadros PAL (25 cps)   %s"
+#: Menus.cpp:360
+msgid "Split D&elete"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:256
-#, c-format
-msgid "Cursor: %.3lf film frames (24 fps)   %s"
-msgstr "Cursor: %.3lf cadros film (24 cps)   %s"
+#: Menus.cpp:361
+msgid "Silence Audi&o"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:751
-#, c-format
-msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s)"
-msgstr "Cursor: %.4f seg (%d Hz) (%s) = %f,    Pico: %.4f seg (%d Hz) (%s)"
+#: Menus.cpp:365
+msgid "Sp&lit"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:632
-#, c-format
-msgid "Cursor: %02i:%02i:%06.3lf cdda min:sec:frames (75 fps)   %s"
-msgstr "Cursor: %02i:%02i:%06.3lf cdda min:seg:cadros (75 cps)   %s"
+#: Menus.cpp:369
+msgid "Split Ne&w"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:532
-#, c-format
-msgid ""
-"Cursor: %1i:%02i:%02i:%06.3lf NTSC drop-frame h:mm:ss:ff (%.3lf NTSC "
-"frames)   %s"
+#: Menus.cpp:373 Menus.cpp:405
+msgid "&Join"
 msgstr ""
-"Cursor: %1i:%02i:%02i:%06.3lf NTSC drop-frame h:mm:ss:cc (%.3lf cadros "
-"NTSC)   %s"
 
-#: ../src/FormatSelection.cpp:590
-#, c-format
-msgid ""
-"Cursor: %1i:%02i:%02i:%06.3lf NTSC non-drop-frame h:mm:ss:ff (%.3lf NTSC "
-"frames)   %s"
+#: Menus.cpp:374 Menus.cpp:406
+msgid "Detac&h at Silences"
 msgstr ""
-"Cursor: %1i:%02i:%02i:%06.3lf NTSC non-drop-frame h:mm:ss:cc (%.3lf cadros "
-"NTSC)   %s"
 
-#: ../src/FormatSelection.cpp:387
-#, c-format
-msgid "Cursor: %1i:%02i:%02i:%06.3lf PAL h:mm:ss:ff 25 fps (%.3lf PAL frames)   %s"
-msgstr "Cursor: %1i:%02i:%02i:%06.3lf PAL h:mm:ss:cc 25 cps (%.3lf cadros PAL)   %s"
+#: Menus.cpp:375
+msgid "Duplic&ate"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:309
-#, c-format
-msgid "Cursor: %1i:%02i:%02i:%06.3lf film h:mm:ss:ff 24 fps (%.3lf film frames)   %s"
+#: Menus.cpp:380 Menus.cpp:616
+msgid "Stereo Trac&k to Mono"
 msgstr ""
-"Cursor: %1i:%02i:%02i:%06.3lf film h:mm:ss:cc 24 cps (%.3lf cadros de "
-"film)   %s"
 
-#: ../src/FormatSelection.cpp:232
-#, c-format
-msgid "Cursor: %1i:%02i:%09.6f hr:min:sec   %s"
-msgstr "Cursor: %1i:%02i:%09.6f hr:min:seg   %s"
+#: Menus.cpp:389
+msgid "La&beled Regions"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:742
-#, c-format
-msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s)"
-msgstr "Cursor: %d Hz (%s) = %d dB    Pico: %d Hz (%s)"
+#: Menus.cpp:392
+msgid "&Cut"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:780
-#, c-format
-msgid ""
-"Cursor: %i+%04i cdda sectors+bytes (2352 bytes per sector)   [Snap-To "
-"Samples]"
+#: Menus.cpp:393
+msgid "&Split Cut"
 msgstr ""
-"Cursor: %i+%04i sectores cdda+bytes (2352 bytes por sector)   [Axuste a "
-"mostreos]"
 
-#: ../src/FormatSelection.cpp:783
-#, c-format
-msgid ""
-"Cursor: %i+%04i cdda sectors+bytes (2352 bytes per sector)   [Snap-To "
-"Samples]   Change Project Rate to 44100 for cdda"
+#: Menus.cpp:394
+msgid "Co&py"
 msgstr ""
-"Cursor: %i+%04i sectores cdda+bytes (2352 bytes por sector)   [Axuste a "
-"mostreos]   Cambiar frecuencia do proxecto a 44100 para cdda"
 
-#: ../src/FormatSelection.cpp:745
-#, c-format
-msgid "Cursor: %i+%i sec+samples   [Snap-To Samples]"
-msgstr "Cursor: %i+%i segundos+mostras   [Axuste a mostreos]"
+#: Menus.cpp:399
+msgid "Sp&lit Delete"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:721
-#, c-format
-msgid "Cursor: %i:%02i+%i min:sec+samples   [Snap-To Samples]"
-msgstr "Cursor: %i:%02i+%i min:seg+mostreos   [Axuste a mostreos]"
+#: Menus.cpp:400
+msgid "Sile&nce"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:161
-#, c-format
-msgid "Cursor: %i:%09.6f min:sec   %s"
-msgstr "Cursor: %i:%09.6f min:seg   %s"
+#: Menus.cpp:404
+msgid "Spli&t"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:673
-#, c-format
-msgid "Cursor: %i:%09.6lf min:sec   [Snap-To Samples]"
-msgstr "Cursor: %i:%09.6lf min:seg   [Axuste a mostreos]"
+#: Menus.cpp:412
+msgid "&Select"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:185
-#, c-format
-msgid "Cursor: %lf sec   %s"
-msgstr "Cursor: %lf seg   %s"
+#: ../src/Menus.cpp:269
+msgid "&All"
+msgstr "&Todo"
 
-#: ../src/FormatSelection.cpp:694
-#, c-format
-msgid "Cursor: %lf sec   [Snap-To Samples]"
-msgstr "Cursor: %lf seg   [Axuste a mostreos]"
+#: Menus.cpp:416
+msgid "&None"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:649
-#, c-format
-msgid "Cursor: %li samples   [Snap-To Samples]"
-msgstr "Cursor: %li mostreos [Axuste a mostreos]"
+#: Menus.cpp:418
+msgid "&Left at Playback Position"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
-msgid "Cut"
-msgstr "Cortar"
+#: Menus.cpp:419
+msgid "&Right at Playback Position"
+msgstr ""
 
-#: ../src/Menus.cpp:1713
-msgid "Cut to the clipboard"
-msgstr "Cortar e gardar en portapapeis"
+#: Menus.cpp:423
+msgid "Track &Start to Cursor"
+msgstr ""
 
-#: ../src/Menus.cpp:264
-msgid "D&uplicate\tCtrl+D"
-msgstr "D&uplicar\tCtrl+D"
+#: Menus.cpp:424
+msgid "Cursor to Track &End"
+msgstr ""
 
-#: ../src/effects/Phaser.cpp:476
-msgid "DRY"
-msgstr "SECO"
+#: Menus.cpp:430
+#, fuzzy
+msgid "Find &Zero Crossings"
+msgstr "Atopar cruces por cero"
 
-#: ../src/effects/nyquist/Nyquist.cpp:733
-#: ../src/effects/nyquist/Nyquist.cpp:880
-msgid "Debug"
-msgstr "Depuración"
+#: Menus.cpp:434
+msgid "Mo&ve Cursor"
+msgstr ""
 
-#: ../src/effects/Echo.cpp:211
-msgid "Decay factor:"
-msgstr "Factor de decaemento:"
+#: Menus.cpp:436
+#, fuzzy
+msgid "to Selection Star&t"
+msgstr "ao Comenzo da Selección"
 
-#: ../src/prefs/QualityPrefs.cpp:114
-msgid "Default Sample Format:"
-msgstr "Formato de mostreo predeterminado:"
+#: Menus.cpp:437
+#, fuzzy
+msgid "to Selection En&d"
+msgstr "ao Final da Selección"
 
-#: ../src/prefs/QualityPrefs.cpp:80
-msgid "Default Sample Rate:"
-msgstr "Frecuencia de mostreo predeterminado:"
+#: Menus.cpp:439
+#, fuzzy
+msgid "to Track &Start"
+msgstr "ao Comenzo da Pista"
 
-#. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:308
-msgid "Default endianness"
-msgstr "Endianness predeterminado"
+#: Menus.cpp:440
+#, fuzzy
+msgid "to Track &End"
+msgstr "ao Final da Pista"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:123
-msgid "Defaults"
-msgstr "Valores predeterminados"
+#: Menus.cpp:448
+msgid "Re&gion Save"
+msgstr ""
 
-#: ../src/effects/Echo.cpp:192
-msgid "Delay time (seconds):"
-msgstr "Tempo de retraso (segundos):"
+#: Menus.cpp:451
+msgid "Regio&n Restore"
+msgstr ""
 
-#: ../src/Project.cpp:2530
-msgid "Delete"
-msgstr "Borrar"
+#: Menus.cpp:459
+msgid "Pla&y Region"
+msgstr ""
 
-#: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "TeclaDeBorrado\tBackspace"
+#: Menus.cpp:461
+msgid "&Lock"
+msgstr ""
 
-#: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "TeclaDeBorrado\tDel"
+#: Menus.cpp:464
+msgid "&Unlock"
+msgstr ""
 
-#: ../src/Project.cpp:2527
-#, c-format
-msgid "Deleted %.2f seconds at t=%.2f"
-msgstr "Borrar %.2f segundos en t=%.2f"
+#: Menus.cpp:484
+msgid "Pre&ferences..."
+msgstr ""
 
-#: ../src/effects/Wahwah.cpp:500
-msgid "Depth (%):"
-msgstr "Profundidade (%):"
+#: ../src/Menus.cpp:345
+msgid "&View"
+msgstr "&Ver"
 
-#: ../src/effects/Phaser.cpp:529
-msgid "Depth:"
-msgstr "Profundidade:"
+#: ../src/Menus.cpp:347
+msgid "Zoom &In"
+msgstr "Zoom &Achegar"
 
-#: ../src/AboutDialog.cpp:197
-msgid "Developers:"
-msgstr "Desenroladores:"
+#: ../src/Menus.cpp:350
+msgid "Zoom &Normal"
+msgstr "Zoom &Normal"
 
-#: ../src/prefs/AudioIOPrefs.cpp:131 ../src/prefs/AudioIOPrefs.cpp:197
-msgid "Device:"
-msgstr "Dispositivo:"
+#: ../src/Menus.cpp:351
+msgid "Zoom &Out"
+msgstr "Z&oom Alonxar"
 
-#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
-msgid "Directories"
-msgstr "Directorios"
+#: ../src/Menus.cpp:354
+msgid "&Fit in Window"
+msgstr "A&xustar á fiestra"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:181
-#, c-format
-msgid "Directory %s does not exist. Create it?"
-msgstr "O directorio %s non existe. ¿Desexa crealo?"
+#: ../src/Menus.cpp:355
+msgid "Fit &Vertically"
+msgstr "Axustar &Verticalmente"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:202
-#, c-format
-msgid "Directory %s is not writable"
-msgstr "O directorio %s non ten permiso de escritura"
+#: ../src/Menus.cpp:356
+msgid "&Zoom to Selection"
+msgstr "Acercar a &selección"
 
-#: ../src/widgets/Meter.cpp:305
-msgid "Disable"
-msgstr "(deshabilitado)"
+#: Menus.cpp:511
+msgid "&Collapse All Tracks"
+msgstr ""
 
-#: ../src/HistoryWindow.cpp:89
-msgid "Discard"
-msgstr "Descartar"
+#: Menus.cpp:512
+msgid "E&xpand All Tracks"
+msgstr ""
 
-#: ../src/HistoryWindow.cpp:65
-msgid "Discard undo data"
-msgstr "Descartar información de desfacer"
+#: Menus.cpp:516
+msgid "&Show Clipping"
+msgstr ""
 
-#: ../src/Project.cpp:1509
-msgid "Dock Control Toolbar"
-msgstr "Bloquear Barra de ferramentas de control"
+#: ../src/Menus.cpp:364
+msgid "&History..."
+msgstr "&Historial..."
 
-#: ../src/Menus.cpp:743
-msgid "Dock Edit Toolbar"
-msgstr "Bloquear Barra de ferramentas de edición"
+#: Menus.cpp:529
+msgid "&Toolbars"
+msgstr ""
 
-#: ../src/Menus.cpp:773
-msgid "Dock Meter Toolbar"
-msgstr "Bloquear Barra de medición"
+#: Menus.cpp:531
+msgid "&Control Toolbar"
+msgstr ""
 
-#: ../src/Menus.cpp:758
-msgid "Dock Mixer Toolbar"
-msgstr "Bloquear Barra de mestura"
+#: Menus.cpp:532
+msgid "&Device Toolbar"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:188
-msgid "Documentation Writer"
-msgstr "Escritor de documentación"
+#: Menus.cpp:533
+msgid "&Edit Toolbar"
+msgstr ""
 
-#: ../src/widgets/Warning.cpp:53
-msgid "Don't show this warning again"
-msgstr "Non amosar esta advertencia novamente"
+#: Menus.cpp:534
+msgid "&Meter Toolbar"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:857
-msgid "Down Octave"
-msgstr "Baixar unha oitava"
+#: Menus.cpp:535
+msgid "Mi&xer Toolbar"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1519
-msgid "Drag the label vertically to change the order of the tracks."
+#: Menus.cpp:536
+msgid "&Selection Toolbar"
 msgstr ""
-"Arrastre a etiqueta cara arriba ou abaixo para cambiar a orde das "
-"pistas."
 
-#: ../src/ControlToolBar.cpp:82
-msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
-msgstr "Arrastrar para achegar dentro da rexión, Clic-dereito para alonxar"
+#: Menus.cpp:537
+msgid "T&ools Toolbar"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Ferramenta de debuxo"
+#: Menus.cpp:538
+msgid "Transcri&ption Toolbar"
+msgstr ""
 
-#: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Ferramenta de debuxo\tF3"
+#: Menus.cpp:542
+msgid "&Reset Toolbars"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2364
-msgid "Draw currently only works with waveforms."
-msgstr "Polo momento Debuxar só funciona con fomas de onda."
+#: Menus.cpp:550
+msgid "!Simplified View"
+msgstr ""
 
-#: ../src/Menus.cpp:1962
-msgid "Duplicate"
-msgstr "Duplicar"
+#. i18n-hint: 'Transport' is the name given to the set of controls that
+#. play, record, pause etc.
+#: Menus.cpp:561
+msgid "T&ransport"
+msgstr ""
 
-#: ../src/Menus.cpp:1962
-msgid "Duplicated"
-msgstr "Duplicado"
+#: Menus.cpp:564 toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:42
-msgid "Dynamic Range Compressor"
-msgstr "Compresor de rango dinámico"
+#: Menus.cpp:565
+msgid "&Loop Play"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:428
-msgid "Dynamic Range Compressor by Dominic Mazzoni"
-msgstr "Compresor de rango dinámico por Dominic Mazzoni"
+#: Menus.cpp:566
+msgid "&Pause"
+msgstr ""
 
-#: ../src/Menus.cpp:212 ../src/Menus.cpp:218
-msgid "E&xit"
-msgstr "&Saír"
+#: Menus.cpp:569
+msgid "&Stop"
+msgstr ""
 
-#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
-msgid "Echo"
-msgstr "Eco"
+#: ../src/ControlToolBar.cpp:467
+msgid "Skip to Start"
+msgstr "Ir ao comezo"
 
-#: ../src/effects/Echo.h:36
-msgid "Echo..."
-msgstr "Eco..."
+#: ../src/ControlToolBar.cpp:472
+msgid "Skip to End"
+msgstr "Ir ao final"
+
+#: Menus.cpp:577
+msgid "&Record"
+msgstr ""
+
+#: Menus.cpp:578
+msgid "&Timer Record..."
+msgstr ""
+
+#: Menus.cpp:579
+msgid "Append Record"
+msgstr ""
+
+#: Menus.cpp:583
+msgid "Overdub (on/off)"
+msgstr ""
+
+#: Menus.cpp:584
+msgid "Software Playthrough (on/off)"
+msgstr ""
+
+#: Menus.cpp:587
+msgid "Sound Activated Recording (on/off)"
+msgstr ""
+
+#: Menus.cpp:588
+msgid "Sound Activation Level..."
+msgstr ""
+
+#: Menus.cpp:596
+msgid "&Tracks"
+msgstr ""
+
+#: Menus.cpp:601
+msgid "Add &New"
+msgstr ""
+
+#: Menus.cpp:603
+msgid "&Audio Track"
+msgstr ""
+
+#: Menus.cpp:604
+msgid "&Stereo Track"
+msgstr ""
+
+#: Menus.cpp:606 TimeTrack.cpp:44
+#, fuzzy
+msgid "&Time Track"
+msgstr "Pista de tempo"
+
+#: Menus.cpp:619
+msgid "Mi&x and Render"
+msgstr ""
+
+#: Menus.cpp:622
+msgid "Mix and Render to New Track"
+msgstr ""
+
+#: Menus.cpp:625
+msgid "&Resample..."
+msgstr ""
+
+#: ../src/Menus.cpp:398
+msgid "Remo&ve Tracks"
+msgstr "E&liminar pistas"
 
-#: ../src/Menus.cpp:2752
-msgid "Edit ID3 Tags"
-msgstr "Editar etiquetas ID3"
+#: Menus.cpp:637
+msgid "&Mute All Tracks"
+msgstr ""
 
-#: ../src/Menus.cpp:2751
-msgid "Edit ID3 Tags (for MP3 exporting)"
-msgstr "Editar etiquetas ID3 (para exportación MP3)"
+#: Menus.cpp:638
+msgid "&UnMute All Tracks"
+msgstr ""
 
-#: ../src/Menus.cpp:2752
-msgid "Edit ID3 tags"
-msgstr "Editar etiquetas ID3"
+#: ../src/Menus.cpp:405
+msgid "Align with &Zero"
+msgstr "Aliñar en &cero"
 
-#: ../src/export/ExportMultiple.cpp:521
-msgid "Edit the ID3 tags for all MP3 files"
-msgstr "Editar as etiquetas ID3 para tódolos arquivos MP3"
+#: ../src/Menus.cpp:406
+msgid "Align with &Cursor"
+msgstr "Aliñar con &cursor"
 
-#: ../src/export/ExportMP3.cpp:1354
-msgid "Edit the ID3 tags for the MP3 file"
-msgstr "Editar as etiquetas ID3 para o arquivo MP3"
+#: ../src/Menus.cpp:407
+msgid "Align with Selection &Start"
+msgstr "Aliñar con comenzo de &selección"
+
+#: ../src/Menus.cpp:408
+msgid "Align with Selection &End"
+msgstr "Aliñar con final de s&elección"
+
+#: Menus.cpp:647
+#, fuzzy
+msgid "Align End with Cu&rsor"
+msgstr "Aliñar final con cursor"
+
+#: Menus.cpp:648
+#, fuzzy
+msgid "Align End with Selection Star&t"
+msgstr "Aliñar final con comenzo de selección"
+
+#: Menus.cpp:649
+#, fuzzy
+msgid "Align End with Selection En&d"
+msgstr "Aliñar final con final de selección"
+
+#: Menus.cpp:650
+#, fuzzy
+msgid "Align Tracks To&gether"
+msgstr "Aliñar pistas conxuntamente"
+
+#: Menus.cpp:652
+msgid "&Align Tracks"
+msgstr ""
+
+#: Menus.cpp:667
+msgid "Ali&gn and Move Cursor"
+msgstr ""
+
+#: Menus.cpp:679
+msgid "Synchronize MIDI with Audio"
+msgstr ""
+
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
+msgstr ""
+
+#: Menus.cpp:690
+#, fuzzy
+msgid "Add Label At &Selection"
+msgstr "Agregar etiqueta en selección"
+
+#: Menus.cpp:693
+#, fuzzy
+msgid "Add Label At &Playback Position"
+msgstr "Agregar etiqueta en punto de reproducción"
+
+#: Menus.cpp:702
+msgid "S&ort tracks"
+msgstr ""
+
+#: Menus.cpp:704
+msgid "by &Start time"
+msgstr ""
+
+#: Menus.cpp:707
+msgid "by &Name"
+msgstr ""
+
+#: ../src/Menus.cpp:441
+msgid "&Generate"
+msgstr "Xe&rar"
+
+#: Menus.cpp:766 Menus.cpp:851 Menus.cpp:921
+msgid "Unsorted"
+msgstr ""
 
 #: ../src/Menus.cpp:464
 msgid "Effe&ct"
 msgstr "&Efecto"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Configuración do efecto"
+#: ../src/Menus.cpp:494
+msgid "&Analyze"
+msgstr "&Analizar"
 
-#: ../src/prefs/GUIPrefs.cpp:82
-msgid "Enable Edit Toolbar"
-msgstr "Habilitar Barra de ferramentas de edición"
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:92
-msgid "Enable Meter Toolbar"
-msgstr "Habilitar Barra de medición"
+#: Menus.cpp:877
+msgid "Plot Spectrum..."
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:87
-msgid "Enable Mixer Toolbar"
-msgstr "Habilitar Barra de mestura"
+#. i18n-hint: The name of the Help menu
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
+msgid "&Help"
+msgstr "&Axuda"
 
-#: ../src/prefs/GUIPrefs.cpp:106
-msgid "Enable dragging of left and right selection edges"
-msgstr "Habilitar arrastre do borde esquerdo ou dereito da selección"
+#: Menus.cpp:951
+msgid "&About Audacity CleanSpeech..."
+msgstr ""
+
+#: Menus.cpp:957
+msgid "&Show Welcome Message..."
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:113
-msgid "Enable ergonomic order of Audio I/O buttons"
-msgstr "Habilitar orde ergonómico dos botóns de audio E/S"
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:652
-msgid "Enabled"
-msgstr "Habilitado"
+#: Menus.cpp:959
+msgid "Show &Log..."
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:438
-msgid "Encoding: "
-msgstr "Codificación: "
+#: Menus.cpp:965
+msgid "&Screenshot Tools..."
+msgstr ""
 
-#: ../src/FreqWindow.cpp:132
-msgid "Enhanced Autocorrelation"
-msgstr "Autocorrelación mellorada"
+#: ../src/Menus.cpp:533
+msgid "&Run Benchmark..."
+msgstr "Executar test de &rendemento..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:282
-msgid "Enter Nyquist Command: "
-msgstr "Introduza comando Nyquist: "
+#: Menus.cpp:975
+msgid "&Audio Device Info..."
+msgstr ""
 
-#: ../src/AStatus.cpp:351
-msgid "Enter a rate in Hz (samples per second):"
-msgstr "Introduza unha frecuencia en Hz (mostreos por segundo):"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4320
-msgid "Enter a sample rate in Hz (per second) between 1 and 100000:"
-msgstr "Introduza unha frecuencia de mostreo en Hz (por segundo) entre 1 e 100000:"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
-msgid "Envelope"
-msgstr "Envolvente"
+#: ../src/ControlToolBar.cpp:355
+msgid "Selection Tool"
+msgstr "Ferramenta de selección"
 
 #: ../src/ControlToolBar.cpp:356
 msgid "Envelope Tool"
 msgstr "Ferramenta de envolvente"
 
-#: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Ferramenta de envolvente\tF2"
+#: ../src/ControlToolBar.cpp:359
+msgid "Draw Tool"
+msgstr "Ferramenta de debuxo"
 
-#: ../src/effects/Equalization.cpp:156
-msgid "Equalization"
-msgstr "Ecualización"
+#: ../src/ControlToolBar.cpp:358
+msgid "Zoom Tool"
+msgstr "Ferramenta de Zoom"
 
-#: ../src/effects/Equalization.cpp:662
-msgid "Equalization, by Mitch Golden && Vaughan Johnson"
-msgstr "Ecualización por Mitch Golden && Vaughan Johnson"
+#: ../src/ControlToolBar.cpp:357
+msgid "Time Shift Tool"
+msgstr "Ferramenta de Traslado en Tempo"
 
-#: ../src/effects/Equalization.h:38
-msgid "Equalization..."
-msgstr "Ecualización..."
+#: ../src/Menus.cpp:554
+msgid "Multi Tool"
+msgstr "Modo Multi-ferramenta"
 
-#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:332 ../src/prefs/DirectoriesPrefs.cpp:204
-msgid "Error"
-msgstr "Erro"
+#: ../src/Menus.cpp:556
+msgid "Next Tool"
+msgstr "Seguinte ferramenta"
 
-#: ../src/export/ExportPCM.cpp:160
-#, c-format
-msgid "Error (file may not have been written): %s"
-msgstr "Erro (o arquivo pode non ter sido escrito): %s"
+#: ../src/Menus.cpp:557
+msgid "Previous Tool"
+msgstr "Ferramenta anterior"
 
-#: ../src/AudioIO.cpp:173
-msgid "Error Initializing Audio"
-msgstr "Erro ao inicializar audio"
+#: ../src/Menus.cpp:559
+msgid "Play/Stop"
+msgstr "Reproducir/Parar"
 
-#: ../src/Project.cpp:2340
-msgid "Error importing"
-msgstr "Erro ao importar"
+#: Menus.cpp:1000
+msgid "Play/Stop and Set Cursor"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:206
-msgid "Error loading keyboard shortcuts"
-msgstr "Erro ao cargar accesos directos de teclado"
+#: ../src/Menus.cpp:564
+msgid "Play One Second"
+msgstr "Reproducir un segundo"
 
-#: ../src/AudacityApp.cpp:829
-msgid "Error locking temporary folder"
-msgstr "Erro bloqueando o directorio temporal"
+#: ../src/Menus.cpp:565
+msgid "Play To Selection"
+msgstr "Reproducir a selección"
 
-#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
-msgid "Error opening file"
-msgstr "Erro ao abrir arquivo"
+#: Menus.cpp:1003
+msgid "Play Cut Preview"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
-msgid "Error opening project"
-msgstr "Error al abrir proyecto"
+#: ../src/Menus.cpp:572
+msgid "Selection to Start"
+msgstr "Seleccionar ata o comezo"
 
-#: ../src/import/ImportMIDI.cpp:46
-msgid "Error parsing Allegro file."
-msgstr "Erro analizando arquivo Allegro."
+#: ../src/Menus.cpp:573
+msgid "Selection to End"
+msgstr "Seleccionar ata o final"
 
-#: ../src/import/ImportMIDI.cpp:76
-msgid "Error parsing MIDI file."
-msgstr "Erro analizando arquivo MIDI."
+#: ../src/Menus.cpp:575
+msgid "DeleteKey"
+msgstr "TeclaDeBorrado"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Erro ao gardar accesos directos de teclado"
+#: ../src/Menus.cpp:580
+msgid "DeleteKey2"
+msgstr "TeclaDeBorrado"
 
-#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
-msgid "Error saving project"
-msgstr "Erro ao gardar proxecto"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:882
-msgid ""
-"Error while opening sound device. Please check the input device settings and "
-"the project sample rate."
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
-"Erro ao abrir dispositivo de son. Por favor comprobe a configuración "
-"do dispositivo de saída e a frecuencia de mostreo do proxecto."
 
-#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:330
-msgid ""
-"Error while opening sound device. Please check the output device settings "
-"and the project sample rate."
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
-"Erro ao abrir dispositivo de son. Por favor verifique a configuración "
-"do dispositivo de saída e a frecuencia de mostreo do proxecto."
 
-#: ../src/AudioIO.cpp:170
-msgid "Error: "
-msgstr "Erro: "
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
-#: ../src/xml/XMLFileReader.cpp:63
-#, c-format
-msgid "Error: %s at line %d"
-msgstr "Erro: %s na liña %d"
+#: Menus.cpp:1026
+msgid "Move Focus to Previous Track"
+msgstr ""
 
-#: ../src/DirManager.cpp:613
-msgid "Error: is directory write-protected or disk full?"
-msgstr "Erro: ¿o directorio está protexido contra escritura ou o disco está cheo?"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
-#: ../src/Sequence.cpp:779
-#, c-format
-msgid "Expected to read %d samples, got %d samples.\n"
-msgstr "Esperaban ser lidos %d mostreos, obtivéronse %d mostreos.\n"
+#: Menus.cpp:1028
+msgid "Move Focus to Next Track"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1427 ../src/export/ExportMultiple.cpp:699
-#: ../src/export/ExportOGG.cpp:195 ../src/export/ExportPCM.cpp:136
-msgid "Export"
-msgstr "Exportar"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
-#: ../src/Menus.cpp:173
-msgid "Export &Labels..."
-msgstr "Exportar E&tiquetas..."
+#: Menus.cpp:1030 Menus.cpp:1031
+msgid "Toggle Focused Track"
+msgstr ""
 
-#: ../src/Menus.cpp:174
-msgid "Export &Multiple..."
-msgstr "Exportar &múltiple..."
+#: ../src/Menus.cpp:585
+msgid "Cursor Left"
+msgstr "Cursor á esquerda"
 
-#: ../src/Menus.cpp:167
-msgid "Export As MP3..."
-msgstr "Exportar como MP3..."
+#: ../src/Menus.cpp:586
+msgid "Cursor Right"
+msgstr "Cursor á dereita"
 
-#: ../src/Menus.cpp:170
-msgid "Export As Ogg Vorbis..."
-msgstr "Exportar como Ogg Vorbis..."
+#: Menus.cpp:1035
+msgid "Cursor Short Jump Left"
+msgstr ""
 
-#: ../src/Menus.cpp:164
-msgid "Export As..."
-msgstr "Exportar como..."
+#: Menus.cpp:1036
+msgid "Cursor Short Jump Right"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportar accesos directos de teclado como:"
+#: Menus.cpp:1037
+msgid "Cursor Long Jump Left"
+msgstr ""
 
-#: ../src/Menus.cpp:1358
-msgid "Export Labels As:"
-msgstr "Exportar etiquetas como:"
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Right"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:104 ../src/export/ExportMP3.cpp:144
-msgid "Export MP3"
-msgstr "Exportar MP3"
+#: ../src/Menus.cpp:587
+msgid "Selection Extend Left"
+msgstr "Extensión de selección á esquerda"
 
-#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
-#: ../src/export/ExportMultiple.cpp:562
-msgid "Export Multiple"
-msgstr "Exportar múltiple"
+#: ../src/Menus.cpp:588
+msgid "Selection Extend Right"
+msgstr "Extensión de selección á dereita"
 
-#: ../src/Menus.cpp:168
-msgid "Export Selection As MP3..."
-msgstr "Exportar selección como MP3..."
+#: Menus.cpp:1043
+msgid "Set (or Extend) Left Selection"
+msgstr ""
 
-#: ../src/Menus.cpp:171
-msgid "Export Selection As Ogg Vorbis..."
-msgstr "Exportar selección como Ogg Vorbis..."
+#: Menus.cpp:1044
+msgid "Set (or Extend) Right Selection"
+msgstr ""
 
-#: ../src/Menus.cpp:165
-msgid "Export Selection As..."
-msgstr "Exportar selección como..."
+#: ../src/Menus.cpp:589
+msgid "Selection Contract Left"
+msgstr "Contracción de Selección á esquerda"
 
-#: ../src/FreqWindow.cpp:998
-msgid "Export Spectral Data As:"
-msgstr "Exportar datos do espectro como:"
+#: ../src/Menus.cpp:590
+msgid "Selection Contract Right"
+msgstr "Contracción de Selección á dereita"
 
-#: ../src/export/ExportMultiple.cpp:576
-msgid "Export format:"
-msgstr "Exportar formato:"
+#: Menus.cpp:1049
+msgid "Change pan on focused track"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:594
-msgid "Export location:"
-msgstr "Exportar ubicación:"
+#: Menus.cpp:1050
+msgid "Pan left on focused track"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:119
-msgid "Export..."
-msgstr "Exportar..."
+#: Menus.cpp:1051
+msgid "Pan right on focused track"
+msgstr ""
 
-#: ../src/export/ExportOGG.cpp:192
-msgid "Exporting the entire project as Ogg Vorbis"
-msgstr "Exportando o proxecto enteiro como Ogg Vorbis"
+#: Menus.cpp:1052
+msgid "Change gain on focused track"
+msgstr ""
 
-#: ../src/export/ExportPCM.cpp:132
-#, c-format
-msgid "Exporting the entire project as a %s file"
-msgstr "Exportando o proxecto enteiro como un arquivo %s"
+#: Menus.cpp:1053
+msgid "Increase gain on focused track"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1424
-msgid "Exporting the entire project as an mp3"
-msgstr "Exportando o proxecto enteiro como un MP3"
+#: Menus.cpp:1054
+msgid "Decrease gain on focused track"
+msgstr ""
 
-#: ../src/export/ExportCL.cpp:146
-msgid "Exporting the entire project using command-line encoder"
-msgstr "Exportando o proxecto enteiro utilizando o codificador de liña de comandos"
+#: Menus.cpp:1055
+msgid "Open menu on focused track"
+msgstr ""
 
-#: ../src/export/ExportOGG.cpp:191
-msgid "Exporting the selected audio as Ogg Vorbis"
-msgstr "Exportando o audio seleccionado como Ogg Vorbis"
+#: Menus.cpp:1056
+msgid "Mute/Unmute focused track"
+msgstr ""
 
-#: ../src/export/ExportPCM.cpp:127
-#, c-format
-msgid "Exporting the selected audio as a %s file"
-msgstr "Exportando o audio seleccionado como un arquivo %s"
+#: Menus.cpp:1057
+msgid "Solo/Unsolo focused track"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1421
-msgid "Exporting the selected audio as an mp3"
-msgstr "Exportando o proxecto seleccionado como un MP3"
+#: Menus.cpp:1058
+msgid "Close focused track"
+msgstr ""
 
-#: ../src/export/ExportCL.cpp:144
-msgid "Exporting the selected audio using command-line encoder"
-msgstr "Exportando o audio seleccionado utilizando codificador de liña de comandos"
+#: Menus.cpp:1060
+msgid "Snap To On"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:90
-msgid "Extend Selection Range"
-msgstr "Extender o rango da selección"
+#: Menus.cpp:1061
+msgid "Snap To Off"
+msgstr ""
 
-#: ../src/effects/Filter.cpp:53
-msgid "FFT Filter"
-msgstr "Filtro FFT"
+#: Menus.cpp:1065
+msgid "Full screen on/off"
+msgstr ""
 
-#: ../src/effects/Filter.cpp:458
-msgid "FFT Filter by Dominic Mazzoni"
-msgstr "Filtro FFT por Dominic Mazzoni"
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
 
-#: ../src/effects/Filter.h:36
-msgid "FFT Filter..."
-msgstr "Filtro FFT..."
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Tamaño de FFT"
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
 
-#: ../src/effects/Fade.h:23
-msgid "Fade In"
-msgstr "Fade In (Aparecer)"
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
 
-#: ../src/effects/Fade.h:43
-msgid "Fade Out"
-msgstr "Fade Out (Desvanecer)"
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
 
-#: ../src/effects/Fade.h:27
-msgid "Fading In"
-msgstr "Aplicando Fade In"
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
 
-#: ../src/effects/Fade.h:47
-msgid "Fading Out"
-msgstr "Aplicando Fade Out"
+#: Menus.cpp:1074
+msgid "Adjust input source"
+msgstr ""
 
-#: ../src/Resample.cpp:48
-msgid "Fast Sinc Interpolation"
-msgstr "Interpolación Fast Sinc"
+#. i18n-hint: This is the name of the menu item on Mac OS X only
+#: Menus.cpp:1161
+msgid "Open Recent"
+msgstr ""
 
-#: ../src/effects/Phaser.cpp:545
-msgid "Feedback (%):"
-msgstr "Retroalimentación (%):"
+#. i18n-hint: This is the name of the menu item on Windows and Linux
+#: Menus.cpp:1164
+msgid "Recent &Files"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:395
-msgid "File Format"
-msgstr "Formato de arquivo"
+#: ../src/Menus.cpp:620
+#, c-format
+msgid "&Undo %s"
+msgstr "&Desfacer %s"
 
-#: ../src/prefs/PrefsDialog.cpp:86
-msgid "File Formats"
-msgstr "Formatos de arquivo"
+#: ../src/Menus.cpp:626
+msgid "Can't Undo"
+msgstr "Non se pode desfacer"
 
-#: ../src/export/ExportMultiple.cpp:660
-msgid "File name prefix:"
-msgstr "Perfixo do nome do arquivo:"
+#: ../src/Menus.cpp:633
+#, c-format
+msgid "&Redo %s"
+msgstr "&Refacer %s"
 
-#: ../src/prefs/FileFormatPrefs.cpp:190
-msgid "Find Library"
-msgstr "Buscar librería"
+#: ../src/Menus.cpp:639
+msgid "Can't Redo"
+msgstr "Non se pode refacer"
 
-#: ../src/Menus.cpp:278
-msgid "Find Zero Crossings\tZ"
-msgstr "Atopar cruces por cero\tZ"
+#: Menus.cpp:1858
+msgid "Sort By Time"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:629
-msgid "First file name:"
-msgstr "Primeiro nome do arquivo:"
+#: Menus.cpp:1858
+msgid "Tracks sorted by time"
+msgstr ""
 
-#: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Axustar &Verticalmente\tCtrl+Shift+F"
+#: Menus.cpp:1884
+msgid "Sort By Name"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:176
-msgid "Fit project in window"
-msgstr "Axustar o proxecto na fiestra"
+#: Menus.cpp:1884
+msgid "Tracks sorted by name"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:174
-msgid "Fit selection in window"
-msgstr "Axustar selección á fiestra"
+#: Menus.cpp:2035
+msgid "Set Left Selection Bound"
+msgstr ""
 
-#: ../src/Menus.cpp:366 ../src/Project.cpp:1424
-msgid "Float Control Toolbar"
-msgstr "Desbloquear Barra de ferramentas de control"
+#: Menus.cpp:2071
+msgid "Set Right Selection Bound"
+msgstr ""
 
-#: ../src/Menus.cpp:367 ../src/Menus.cpp:745
-msgid "Float Edit Toolbar"
-msgstr "Desbloquear Barra de ferramentas de edición"
+#: ../src/Menus.cpp:1225
+msgid "You must select a track first."
+msgstr "Debes seleccionar primeiro unha pista."
 
-#: ../src/Menus.cpp:369 ../src/Menus.cpp:775
-msgid "Float Meter Toolbar"
-msgstr "Desbloquear Barra de medición"
+#: ../src/Menus.cpp:1248
+#, c-format
+msgid "Repeat %s"
+msgstr "Repetir %s"
 
-#: ../src/Menus.cpp:368 ../src/Menus.cpp:760
-msgid "Float Mixer Toolbar"
-msgstr "Desbloquear Barra de mestura"
+#: ../src/Menus.cpp:1352
+msgid "There are no label tracks to export."
+msgstr "Non hai pistas de etiquetas para exportar."
 
-#: ../src/TrackPanel.cpp:862
-msgid "Font..."
-msgstr "Tipo de letra..."
+#: Menus.cpp:2667
+msgid "Export MIDI As:"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4229
-msgid "Format Change"
-msgstr "Cambio de formato"
+#: Menus.cpp:2671
+msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
+msgstr ""
 
-#: ../src/Tags.cpp:610
-msgid "Format:"
-msgstr "Formato:"
+#: Menus.cpp:2703
+msgid "You have selected a filename with an unrecognized file extension.\n"
+"Do you want to continue?"
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:78
-msgid "Free Space:"
-msgstr "Espacio libre:"
+#: Menus.cpp:2704
+msgid "Export MIDI"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:1019
-msgid "Frequency (Hz)\tLevel (dB)"
-msgstr "Frecuencia (Hz)\tVolume (dB)"
+#: ../src/Menus.cpp:1636
+msgid "Nothing to undo"
+msgstr "Nada para desfacer"
 
-#: ../src/effects/BassBoost.cpp:286
-msgid "Frequency (Hz):"
-msgstr "Frecuencia (Hz):"
+#: ../src/Menus.cpp:1655
+msgid "Nothing to redo"
+msgstr "Nada para refacer"
 
-#: ../src/effects/ChangePitch.cpp:318
-msgid "Frequency (Hz):   from"
-msgstr "Frecuencia (Hz):   dende"
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
+msgid "Cut"
+msgstr "Cortar"
 
-#: ../src/effects/ToneGen.cpp:277
-msgid "Frequency / Hz"
-msgstr "Frecuencia / Hz"
+#: ../src/Menus.cpp:1713
+msgid "Cut to the clipboard"
+msgstr "Cortar e gardar en portapapeis"
 
-#: ../src/FreqWindow.cpp:68
-msgid "Frequency Analysis"
-msgstr "Análise de frecuencia"
+#: Menus.cpp:2949
+msgid "Split Cut"
+msgstr ""
 
-#. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
-msgid "Gain"
-msgstr "Gañancia"
+#: Menus.cpp:2949
+msgid "Split-cut to the clipboard"
+msgstr ""
+
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
+msgid "Paste"
+msgstr "Pegar"
 
-#: ../src/effects/Noise.cpp:35
-msgid "Generate Noise"
-msgstr "Xerar ruido"
+#: Menus.cpp:3015
+msgid "Pasted text from the clipboard"
+msgstr ""
 
-#: ../src/effects/Silence.cpp:31
-msgid "Generate Silence"
-msgstr "Xerar silencio"
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
+msgid "Pasted from the clipboard"
+msgstr "Pegar dende o portapapeis"
 
-#: ../src/effects/ToneGen.cpp:325
-msgid "Generate Tone"
-msgstr "Xerar tono"
+#: Menus.cpp:3229
+msgid "Pasting one type of track into another is not allowed."
+msgstr ""
 
-#: ../src/effects/Silence.h:37
-msgid "Generating Silence"
-msgstr "Xerando silencio"
+#: Menus.cpp:3241
+msgid "Copying stereo audio into a mono track is not allowed."
+msgstr ""
 
-#: ../src/effects/ToneGen.h:44
-msgid "Generating Tone"
-msgstr "Xerando tono"
+#: ../src/Menus.cpp:1902
+msgid "Trim"
+msgstr "Recortar"
 
-#: ../src/effects/Noise.h:35
-msgid "Generating White Noise"
-msgstr "Xerando ruido branco"
+#: ../src/Menus.cpp:1902
+msgid "Trim file to selection"
+msgstr "Recortar arquivo ata o seleccionado"
 
-#: ../src/Tags.cpp:682
-msgid "Genre:"
-msgstr "Xénero:"
+#: Menus.cpp:3425
+#, c-format
+msgid "Split-deleted %.2f seconds at t=%.2f"
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:419
-msgid "Get Noise Profile"
-msgstr "Obter perfil de ruido"
+#: Menus.cpp:3428
+msgid "Split Delete"
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:94
-msgid "Grayscale"
-msgstr "Escala de grises"
+#: Menus.cpp:3449
+#, c-format
+msgid "Disjoined %.2f seconds at t=%.2f"
+msgstr ""
 
-#: ../src/Help.cpp:63
-msgid "HTML Help Books (*.htb)|*.htb"
-msgstr "Libros de axuda HTML (*.htb)|*.htb"
+#: Menus.cpp:3452
+msgid "Disjoin"
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:238
-msgid "Hardware Playthrough (Play new track while recording it)"
-msgstr "Reproducción Hardware (Reproducir unha pista mentras se grava)"
+#: Menus.cpp:3473
+#, c-format
+msgid "Joined %.2f seconds at t=%.2f"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:415
-msgid "Header: "
-msgstr "Encabezado: "
+#: Menus.cpp:3476
+msgid "Join"
+msgstr ""
 
-#: ../src/Resample.cpp:46
-msgid "High-quality Sinc Interpolation"
-msgstr "Fusión de alta calidade"
+#: ../src/Menus.cpp:1926
+#, c-format
+msgid "Silenced selected tracks for %.2f seconds at %.2f"
+msgstr "Pistas seleccionadas silenciadas por %.2f  segundos en %.2f"
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Fusión de alta calidade:"
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
+msgid "Silence"
+msgstr "Silencio"
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Conversor de frecuencia de mostreo de alta calidade:"
+#: ../src/Menus.cpp:1962
+msgid "Duplicate"
+msgstr "Duplicar"
 
-#: ../src/widgets/Meter.cpp:285
-msgid "Horizontal Stereo"
-msgstr "Estéreo horizontal"
+#: ../src/Menus.cpp:1962
+msgid "Duplicated"
+msgstr "Duplicado"
 
-#. i18n-hint: This is the abbreviation for "Hertz", or
-#. cycles per second.
-#: ../src/import/ImportRaw.cpp:378
-msgid "Hz"
-msgstr "Hz"
+#: Menus.cpp:3546
+msgid "Cut Labels"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:70
-msgid "ID3 tag exporting disabled"
-msgstr "Exportación de etiquetas ID3 deshabilitada"
+#: Menus.cpp:3546
+msgid "Cut labeled regions to the clipboard"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:68
-msgid "ID3 tag exporting enabled"
-msgstr "Exportación de etiquetas ID3 habilitada"
+#: Menus.cpp:3560
+msgid "SplitCut labeled regions to the clipboard"
+msgstr ""
 
-#: ../src/Tags.cpp:607
-msgid "ID3v1 (more compatible)"
-msgstr "ID3v1 (máis compatible)"
+#: Menus.cpp:3561
+msgid "Split Cut Labels"
+msgstr ""
 
-#: ../src/Tags.cpp:608
-msgid "ID3v2 (more flexible)"
-msgstr "ID3v2 (máis flexible)"
+#: Menus.cpp:3575
+msgid "Copied labeled regions to the clipboard"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:487
-msgid ""
-"If you have more than one Audio Track, you can export each track as a "
-"separate file,\n"
-"or if you have a Label Track, you can export a new file for each label.\n"
-"\n"
-"This project does not have multiple tracks or a Label Track, so you cannot "
-"export multiple files."
+#: Menus.cpp:3575
+msgid "Copy Labels"
 msgstr ""
-"Se ten máis dunha pista de audio pode exportar cada pista nun arquivo "
-"independente,\n"
-"ou se ten unha pista de etiquetas pode exportar a un ficheiro independente "
-"por cada etiqueta.\n"
-"\n"
-"Este proxecto non ten pistas múltiples nin pista de etiquetas, así que non "
-"pode exportar a arquivos independentes."
 
-#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
-#: ../src/import/ImportRaw.cpp:408
-msgid "Import"
-msgstr "Importar"
+#: Menus.cpp:3587
+msgid "Delete Labels"
+msgstr ""
+
+#: Menus.cpp:3587
+msgid "Deleted labeled regions"
+msgstr ""
+
+#: Menus.cpp:3599
+msgid "Split Delete Labels"
+msgstr ""
+
+#: Menus.cpp:3599
+msgid "Split Deleted labeled regions"
+msgstr ""
+
+#: Menus.cpp:3611
+msgid "Silence Labels"
+msgstr ""
+
+#: Menus.cpp:3611
+msgid "Silenced labeled regions"
+msgstr ""
+
+#: Menus.cpp:3623
+msgid "Split Labels"
+msgstr ""
+
+#: Menus.cpp:3623
+msgid "Split labeled regions"
+msgstr ""
+
+#: Menus.cpp:3635
+msgid "Join Labels"
+msgstr ""
+
+#: Menus.cpp:3635
+msgid "Joined labeled regions"
+msgstr ""
+
+#: Menus.cpp:3647
+msgid "Disjoin Labels"
+msgstr ""
+
+#: Menus.cpp:3647
+msgid "Disjoined labeled regions"
+msgstr ""
+
+#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
+msgid "Split"
+msgstr "Dividir"
+
+#: Menus.cpp:3758
+msgid "Split New"
+msgstr ""
 
-#: ../src/Menus.cpp:382
-msgid "Import &Labels..."
-msgstr "Importar e&tiquetas..."
+#: Menus.cpp:3758
+msgid "Split to new track"
+msgstr ""
 
-#: ../src/Menus.cpp:383
-msgid "Import &MIDI..."
-msgstr "Importar &MIDI..."
+#: ../src/Menus.cpp:2092
+msgid "Split at labels"
+msgstr "Dividir nas etiquetas"
 
-#: ../src/Menus.cpp:384
-msgid "Import &Raw Data..."
-msgstr "Importar arquivo en &bruto (raw)..."
+#: ../src/Menus.cpp:2660
+#, c-format
+msgid "Imported labels from '%s'"
+msgstr "Etiquetas Importadas de '%s'"
 
 #: ../src/Menus.cpp:2661
 msgid "Import Labels"
 msgstr "Importar etiquetas"
 
+#: ../src/Menus.cpp:2672
+msgid "Select a MIDI file..."
+msgstr "Seleccionar  un arquivo MIDI..."
+
+#: Menus.cpp:4270
+msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
+msgstr ""
+
+#: ../src/Menus.cpp:2694
+#, c-format
+msgid "Imported MIDI from '%s'"
+msgstr "MIDI Importado de '%s'"
+
 #: ../src/Menus.cpp:2696
 msgid "Import MIDI"
 msgstr "Importar MIDI"
 
-#: ../src/import/ImportRaw.cpp:256
-msgid "Import Raw Data"
-msgstr "Importar arquivo en bruto"
+#: ../src/Menus.cpp:2709
+msgid "Select any uncompressed audio file..."
+msgstr "Seleccione un arquivo de audio descomprimido..."
 
-#: ../src/Project.cpp:2282
+#: ../src/Menus.cpp:2713
+msgid "All files (*)|*"
+msgstr "Tódolos arquivos (*)|*"
+
+#: Menus.cpp:4329
+msgid "Edit the metadata tags"
+msgstr ""
+
+#: Menus.cpp:4330 export/Export.cpp:348
+msgid "Edit Metadata"
+msgstr ""
+
+#: Menus.cpp:4330
+msgid "Edit Metadata tags"
+msgstr ""
+
+#: Menus.cpp:4385
 #, c-format
-msgid "Imported '%s'"
-msgstr "'%s' Importado"
+msgid "Rendered all audio in track '%s'"
+msgstr ""
 
-#: ../src/Menus.cpp:2694
+#: Menus.cpp:4386
+msgid "Render"
+msgstr ""
+
+#: Menus.cpp:4391
 #, c-format
-msgid "Imported MIDI from '%s'"
-msgstr "MIDI Importado de '%s'"
+msgid "Mixed and rendered %d tracks into one new stereo track"
+msgstr ""
 
-#: ../src/Menus.cpp:2660
+#: Menus.cpp:4394
 #, c-format
-msgid "Imported labels from '%s'"
-msgstr "Etiquetas Importadas de '%s'"
+msgid "Mixed and rendered %d tracks into one new mono track"
+msgstr ""
+
+#: Menus.cpp:4396 Mix.cpp:120
+msgid "&Mix and Render"
+msgstr ""
+
+#: ../src/Menus.cpp:2892
+msgid "Aligned with zero"
+msgstr "Aliñado en cero"
+
+#: ../src/Menus.cpp:2896
+msgid "Aligned cursor"
+msgstr "Cursor aliñado"
+
+#: ../src/Menus.cpp:2900
+msgid "Aligned with selection start"
+msgstr "Aliñado con comenzo de selección"
+
+#: ../src/Menus.cpp:2904
+msgid "Aligned with selection end"
+msgstr "Aliñado con final de selección"
+
+#: ../src/Menus.cpp:2908
+msgid "Aligned end with cursor"
+msgstr "Aliñados final con cursor"
+
+#: ../src/Menus.cpp:2912
+msgid "Aligned end with selection start"
+msgstr "Aliñados final con comenzo de selección"
+
+#: ../src/Menus.cpp:2916
+msgid "Aligned end with selection end"
+msgstr "Aliñados final con final de selección"
+
+#: ../src/Menus.cpp:2920
+msgid "Aligned"
+msgstr "Aliñado"
+
+#: ../src/Menus.cpp:2953
+msgid "Align"
+msgstr "Aliñar"
+
+#: Menus.cpp:4675
+msgid "Sync MIDI with Audio"
+msgstr ""
+
+#: Menus.cpp:4679
+msgid "Alignment completed."
+msgstr ""
+
+#: ../src/Menus.cpp:2977
+msgid "Created new audio track"
+msgstr "Creouse unha nova pista de audio"
+
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:3052
+msgid "New Track"
+msgstr "Nova pista"
+
+#: ../src/Menus.cpp:3001
+msgid "Created new stereo audio track"
+msgstr "Creouse unha nova pista estéreo de audio"
+
+#: ../src/Menus.cpp:3016
+msgid "Created new label track"
+msgstr "Creouse unha nova pista de etiquetas"
+
+#: ../src/Menus.cpp:3041
+msgid "The version of Audacity you are using does not support multiple time tracks."
+msgstr "A versión de Audacity que está utilizando non soporta múltiples pistas de tempo."
+
+#: ../src/Menus.cpp:3052
+msgid "Created new time track"
+msgstr "Creouse unha nova pista de tempo"
+
+#: ../src/Menus.cpp:3088
+msgid "Added label"
+msgstr "Etiqueta agregada"
+
+#: Menus.cpp:4842
+msgid "Edited labels"
+msgstr ""
+
+#: Menus.cpp:4869
+msgid "Save CleanSpeech Preset File As:"
+msgstr ""
+
+#: Menus.cpp:4873
+msgid "CleanSpeech Presets (*.csp)|*.csp"
+msgstr ""
+
+#: ../src/export/Export.cpp:185
+msgid "Sorry, pathnames longer than 256 characters not supported."
+msgstr "Síntoo, rutas de directorios de máis de 256 caracteres non son soportadas."
+
+#: Menus.cpp:4926
+msgid "Problem encountered exporting presets."
+msgstr ""
+
+#: Menus.cpp:4927 export/Export.cpp:472
+msgid "Unable to export"
+msgstr ""
 
-#: ../src/Project.cpp:2233
+#: ../src/Menus.cpp:3122
+msgid "Remove Track"
+msgstr "Eliminar pista"
+
+#: ../src/Menus.cpp:3122
+msgid "Removed audio track(s)"
+msgstr "Pista(s) de audio eliminadas"
+
+#: Menus.cpp:5266 Menus.cpp:5322 export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
+msgid "Resample"
+msgstr ""
+
+#: Menus.cpp:5287 TrackPanel.cpp:6479 toolbars/MixerToolBar.cpp:314
+msgid "New sample rate (Hz):"
+msgstr ""
+
+#: Menus.cpp:5311 TrackPanel.cpp:6503
+msgid "The entered value is invalid"
+msgstr ""
+
+#: Menus.cpp:5320
 #, c-format
-msgid "Importing %s File..."
-msgstr "Importando arquivo %s..."
+msgid "Resampling track %d"
+msgstr ""
 
-#: ../src/import/ImportPCM.cpp:344
+#: Menus.cpp:5329
+msgid "Resample Track"
+msgstr ""
+
+#: Menus.cpp:5329
+msgid "Resampled audio track(s)"
+msgstr ""
+
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
+msgid "Mix"
+msgstr "Mestura"
+
+#: Mix.cpp:121
+msgid "Mixing and rendering tracks"
+msgstr ""
+
+#: ../src/NoteTrack.cpp:30
+msgid "Note Track"
+msgstr "Pista de notas"
+
+#: ../src/Menus.cpp:1617
+msgid "There was a problem printing."
+msgstr "Houbo un problema imprimindo."
+
+#: ../src/Menus.cpp:1618
+msgid "Print"
+msgstr "Imprimir"
+
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
+#: Project.cpp:774
+msgid "Main Mix"
+msgstr ""
+
+#: Project.cpp:892
 #, c-format
-msgid "Importing %s file..."
-msgstr "Importando arquivo %s..."
+msgid "Welcome to Audacity version %s"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:623
-msgid "Include audio before first label"
-msgstr "Incluir audio antes da primeira etiqueta"
+#: Project.cpp:1047
+msgid "(Recovered)"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:150
-msgid "Information"
-msgstr "Información"
+#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
+#: ../src/TrackPanel.cpp:1208
+msgid "Record"
+msgstr "Gravar"
 
-#: ../src/AudacityApp.cpp:368
-msgid "Input Meter"
-msgstr "Medidor de entrada"
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
+msgid "Recorded Audio"
+msgstr "Audio gardado"
 
-#: ../src/MixerToolBar.cpp:138
-msgid "Input Volume"
-msgstr "Volume de entrada"
+#: ../src/Project.cpp:1716
+msgid "Save changes before closing?"
+msgstr "¿Gardar cambios antes de pechar?"
 
-#: ../src/MeterToolBar.cpp:67
-msgid "Input level meter - click to monitor input"
-msgstr "Nível de entrada - faga clic para visualizar a entrada"
+#: Project.cpp:1710
+msgid "\n"
+"If saved, the project will have no tracks.\n"
+"\n"
+"To save any previously open tracks:\n"
+"Cancel, Edit > Undo until all tracks\n"
+"are open, then File > Save Project."
+msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Contorno"
+#: ../src/Project.cpp:1717
+msgid "Save changes?"
+msgstr "¿Gardar cambios?"
 
-#: ../src/import/ImportOGG.cpp:136
-msgid "Internal logic fault"
-msgstr "Fallo de lóxica interna"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
-#: ../src/import/ImportOGG.cpp:133
-msgid "Invalid Vorbis bitstream header"
-msgstr "Encabezado inválido para Vorbis bitstream"
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
+msgid "Select one or more audio files..."
+msgstr "Seleccione un ou máis arquivos de audio..."
 
-#. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:289
-msgid "Invalid duration in LOF file."
-msgstr "Duración non válida en arquivo LOF."
+#: Project.cpp:1982
+msgid "Audacity projects|*.aup|"
+msgstr ""
 
-#: ../src/AStatus.cpp:362 ../src/TrackPanel.cpp:4331
-msgid "Invalid rate."
-msgstr "Frecuencia inválida."
+#: Project.cpp:2042 Project.cpp:2477
+#, c-format
+msgid "This file was saved by Audacity %s, a much\n"
+"older version.  The format has changed.\n"
+"\n"
+"Audacity could corrupt the file in opening\n"
+"it, so you must back it up first.\n"
+"\n"
+"Open this file now?"
+msgstr ""
 
-#. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:383
-msgid "Invalid track offset in LOF file."
-msgstr "Límite de pista non válido en arquivo LOF."
+#: Project.cpp:2043
+msgid "1.0 or earlier"
+msgstr ""
 
-#. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:268
-msgid "Invalid window offset in LOF file."
-msgstr "Límite de fiestra non válido en arquivo LOF."
+#: Project.cpp:2049 Project.cpp:2489
+msgid "Opening old project file"
+msgstr ""
 
-#: ../src/effects/Invert.h:27
-msgid "Invert"
-msgstr "Invertir"
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
 
-#: ../src/effects/Invert.h:31
-msgid "Inverting"
-msgstr "Invirtindo"
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:79
-msgid "Key Combination"
-msgstr "Combinación de teclas"
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
+msgid "Error opening file"
+msgstr "Erro ao abrir arquivo"
 
-#: ../src/prefs/PrefsDialog.cpp:90
-msgid "Keyboard"
-msgstr "Teclado"
+#: Project.cpp:2102
+#, c-format
+msgid "File may be invalid or corrupted: \n"
+"%s"
+msgstr ""
 
-#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
-msgid "L"
-msgstr "I"
+#: Project.cpp:2103
+msgid "Error opening file or project"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:77
-msgid "LADSPA plug-in support disabled"
-msgstr "Soporte para plug-in LADSPA deshabilitado"
+#: ../src/Project.cpp:1842
+msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
+msgstr "Audacity non puido convertir un proxecto de Audacity 1.0 ao novo formato de proxecto."
 
-#: ../src/AboutDialog.cpp:75
-msgid "LADSPA plug-in support enabled"
-msgstr "Soporte para plug-in LADSPA habilitado"
+#: Project.cpp:2230
+msgid "Could not remove old auto save file"
+msgstr ""
 
-#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
-msgid "LFO Frequency (Hz):"
-msgstr "Frecuencia LFO (Hz):"
+#: Project.cpp:2232
+msgid "Project was recovered"
+msgstr ""
 
-#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
-msgid "LFO Start Phase (deg.):"
-msgstr "Fase de Inicio LFO (grados):"
+#: Project.cpp:2232
+msgid "Recover"
+msgstr ""
 
-#. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
-msgid "LOF Error"
-msgstr "Erro de LOF"
+#: Project.cpp:2261
+msgid "Project checker repaired file"
+msgstr ""
 
-#: ../src/Menus.cpp:3088
-msgid "Label"
-msgstr "Etiqueta"
+#: Project.cpp:2261 effects/Repair.h:29
+msgid "Repair"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:3315
-msgid "Label Edit"
-msgstr "Edición de etiqueta"
+#: ../src/Project.cpp:1941
+#, c-format
+msgid "Couldn't find the project data folder: \"%s\""
+msgstr "Non se puido atopar o cartafol de datos do proxecto: \"%s\""
 
-#: ../src/LabelTrack.cpp:35
-msgid "Label Track"
-msgstr "Pista de etiquetas"
+#: ../src/Project.cpp:1985
+#, c-format
+msgid "This file was saved using Audacity %s.\n"
+"You are using Audacity %s - you need to upgrade to\n"
+"a newer version to open this file."
+msgstr "Este arquivo foi gardado usando Audacity %s.\n"
+"Está usando a versión %s de Audacity. Precisa actualizar a \n"
+"unha versión máis moderna para poder abrir o arquivo."
 
-#: ../src/TrackPanel.cpp:4454
-msgid "Label Track Font"
-msgstr "Fonte da pista de etiquetas"
+#: ../src/Project.cpp:1991
+msgid "Can't open project file"
+msgstr "Imposible abrir o arquivo de proxecto"
 
-#: ../src/export/ExportMultiple.cpp:615
-msgid "Labels"
-msgstr "Etiquetas"
+#: Project.cpp:2484
+#, c-format
+msgid "This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
+"\n"
+"Open this file now?"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:1025
-msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
-msgstr "Retraso (segundos)\tFrecuencia (Hz)\tVolume"
+#: Project.cpp:2682
+msgid "Your project is now empty.\n"
+"If saved, the project will have no tracks.\n"
+"\n"
+"To save any previously open tracks:\n"
+"Click 'No', Edit > Undo until all tracks\n"
+"are open, then File > Save Project.\n"
+"\n"
+"Save anyway?"
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:134
-msgid "Language:"
-msgstr "Linguaxe:"
+#: Project.cpp:2683
+msgid "Warning empty project"
+msgstr ""
 
-#: ../src/widgets/ASlider.cpp:488
-msgid "Left"
-msgstr "Esq"
+#: Project.cpp:2792
+#, c-format
+msgid "Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:841
-msgid "Left Channel"
-msgstr "Canle Esquerdo"
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
+msgid "Error saving project"
+msgstr "Erro ao gardar proxecto"
 
-#: ../src/prefs/MousePrefs.cpp:105
-msgid "Left Click"
-msgstr "Clic Esquerdo"
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:106
-msgid "Left Drag"
-msgstr "Arrastre Esquerdo"
+#: ../src/Project.cpp:2200
+#, c-format
+msgid "Saved %s"
+msgstr "Gardouse %s"
 
-#: ../src/TrackPanel.cpp:4092
-msgid "Left, "
-msgstr "Esquerdo, "
+#: ../src/Project.cpp:2282
+#, c-format
+msgid "Imported '%s'"
+msgstr "'%s' Importado"
 
-#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:100
-msgid "Left-Click"
-msgstr "Clic-Esquerdo"
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
+#: ../src/import/ImportRaw.cpp:408
+msgid "Import"
+msgstr "Importar"
 
-#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:102
-msgid "Left-Drag"
-msgstr "Arrastre-Esquerdo"
+#: ../src/Project.cpp:2340
+msgid "Error importing"
+msgstr "Erro ao importar"
 
-#: ../src/ControlToolBar.cpp:84
-msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
-msgstr "Esquerdo=Achegar, Dereito=Alonxar, Central=Normal"
+#: Project.cpp:3134
+msgid "Save Speech As:"
+msgstr ""
 
-#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
-msgid "Length (seconds)"
-msgstr "Lonxitude (segundos)"
+#: Project.cpp:3136
+msgid "Windows PCM Audio file (*.wav)|*.wav"
+msgstr ""
+
+#: Project.cpp:3143
+msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+"Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
+"To open a compressed project takes longer than usual, as it imports each compressed track. \n"
+"\n"
+"Most other programs can't open Audacity project files.\n"
+"When you want to save a file that can be opened by other programs, select one of the\n"
+"Export commands."
+msgstr ""
+
+#: Project.cpp:3146
+msgid "You are saving an Audacity project file (.aup).\n"
+"\n"
+"Saving a project creates a file that only Audacity can open.\n"
+"\n"
+"To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
+msgstr ""
+
+#: ../src/Project.cpp:2378
+msgid "Audacity projects (*.aup)|*.aup"
+msgstr "Proyectos Audacity (*.aup)|*.aup"
+
+#: ../src/Project.cpp:2414
+msgid "Created new project"
+msgstr "Creouse un novo proxecto"
+
+#: ../src/Project.cpp:2527
+#, c-format
+msgid "Deleted %.2f seconds at t=%.2f"
+msgstr "Borrar %.2f segundos en t=%.2f"
+
+#: ../src/Project.cpp:2530
+msgid "Delete"
+msgstr "Borrar"
+
+#: Project.cpp:3538
+#, c-format
+msgid "Disk space remains for recording %d hours and %d minutes."
+msgstr ""
+
+#: Project.cpp:3541
+#, c-format
+msgid "Disk space remains for recording 1 hour and %d minutes."
+msgstr ""
+
+#: Project.cpp:3544
+#, c-format
+msgid "Disk space remains for recording %d minutes."
+msgstr ""
+
+#: Project.cpp:3547
+#, c-format
+msgid "Disk space remains for recording %d seconds."
+msgstr ""
+
+#: ../src/Project.cpp:2706
+msgid "Out of disk space"
+msgstr "Sen espacio en disco"
+
+#: Project.cpp:3563
+#, c-format
+msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
+msgstr ""
+
+#: Project.cpp:3566
+#, c-format
+msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
+msgstr ""
 
-#: ../src/effects/ChangeTempo.cpp:241
-msgid "Length (seconds):   from"
-msgstr "Lonxitude (segundos):   dende"
+#: Project.cpp:3850
+msgid "Could not remove old autosave file: "
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:441 ../src/effects/ClickRemoval.cpp:349
-msgid "Less"
-msgstr "Menos"
+#: Project.cpp:3891
+msgid "New Project"
+msgstr ""
 
-#: ../src/HistoryWindow.cpp:80
-msgid "Levels to discard: "
-msgstr "Níveis a descartar: "
+#: Project.cpp:3921
+msgid "Error writing autosave file"
+msgstr ""
+
+#: Project.cpp:3936
+msgid "Could not create autosave file: "
+msgstr ""
+
+#: Project.cpp:3962
+#, c-format
+msgid "Actual Rate: %d"
+msgstr ""
 
 #: ../src/Resample.cpp:35
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Normalizar por Dominic Mazzoni e Julius Smith"
 
-#: ../src/AboutDialog.cpp:82
-msgid "Libresample support enabled"
-msgstr "Soporte para Libresample habilitado"
+#: ../src/Resample.cpp:46
+msgid "High-quality Sinc Interpolation"
+msgstr "Fusión de alta calidade"
+
+#: ../src/Resample.cpp:48
+msgid "Fast Sinc Interpolation"
+msgstr "Interpolación Fast Sinc"
 
 #: ../src/Resample.cpp:118
 msgid "Libsamplerate by Erik de Castro Lopo"
@@ -2412,202 +3068,651 @@ msgstr "Libsamplerate por Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Erro de Libsamplerate: %d\n"
 
-#: ../src/AboutDialog.cpp:84
-msgid "Libsamplerate support enabled"
-msgstr "Soporte habilitado para Libsamplerate"
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
+msgid "Resampling disabled."
+msgstr "Remostreo desactivado."
 
-#: ../src/widgets/Meter.cpp:292
-msgid "Linear"
-msgstr "Liñal"
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
+#: SampleFormat.cpp:66
+msgid "16-bit PCM"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:177
-msgid "Linear frequency"
-msgstr "Frecuencia Liñal"
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
+#: SampleFormat.cpp:69
+msgid "24-bit PCM"
+msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
-msgid "List of Files in basic text format"
-msgstr "Lista de arquivos en formato de texto básico"
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
+#: SampleFormat.cpp:72
+msgid "32-bit float"
+msgstr ""
 
-#. i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:302
-msgid "Little-endian"
-msgstr "Little-endian"
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
 
-#: ../src/effects/Equalization.cpp:677
-msgid "Load Predefined Curve"
-msgstr "Cargar curva predefinida"
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:127
-msgid "Load..."
-msgstr "Cargar..."
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
 
-#: ../src/commands/CommandManager.cpp:640
-#, c-format
-msgid "Loaded %d keyboard shortcuts\n"
-msgstr "%d accesos directos cargados\n"
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Explorar..."
 
-#: ../src/commands/CommandManager.cpp:643
-msgid "Loading keyboard shortcuts"
-msgstr "Cargando accesos directos"
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:57
-msgid "Location:"
-msgstr "Ubicación:"
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:178
-msgid "Log frequency"
-msgstr "Logaritmo de Frecuencia"
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
-msgid "Lower speed limit"
-msgstr "Límite inferior de velocidade"
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
 
-#: ../src/import/ImportLOF.cpp:362
-msgid "MIDI tracks cannot be offset individually, only audio files may be."
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
 msgstr ""
-"As pistas MIDI non poden ser trasladadas en tempo individualmente, só "
-"arquivos de audio poden."
 
-#: ../src/prefs/FileFormatPrefs.cpp:172
-msgid "MP3 Export Setup"
-msgstr "Opcións de exportación a MP3"
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Versión da librería MP3:"
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:261
-msgid "MP3 exporting plugin not found"
-msgstr "Non se atopou plugin para exportar a MP3"
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:56
-msgid "MP3 importing disabled"
-msgstr "Importación MP3 deshabilitada"
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:54
-msgid "MP3 importing enabled"
-msgstr "Importación MP3 habilitada"
+#: Screenshot.cpp:369 effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4153
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: Screenshot.cpp:381 toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: Screenshot.cpp:382 effects/Contrast.cpp:410 toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr ""
+
+#: Screenshot.cpp:388 effects/LoadEffects.cpp:114 toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:240
+msgid "Mixer"
+msgstr ""
+
+#: Screenshot.cpp:389 toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: Screenshot.cpp:391 prefs/DevicePrefs.cpp:133 prefs/DevicePrefs.cpp:146
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:132
+#: toolbars/DeviceToolBar.cpp:57 toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr ""
+
+#: Screenshot.cpp:392 toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:252
+msgid "Transcription"
+msgstr ""
+
+#: Screenshot.cpp:398 TrackPanel.cpp:443 TrackPanel.cpp:444
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Pistas"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
+#: Screenshot.cpp:599
+msgid "Saved "
+msgstr ""
+
+#: Screenshot.cpp:602
+msgid "Error trying to save file: "
+msgstr ""
+
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:799 Sequence.cpp:809 Sequence.cpp:816
+msgid "Gap detected in project file\n"
+msgstr ""
+
+#: ShuttleGui.cpp:2034 effects/Effect.cpp:458
+#: effects/audiounits/AudioUnitEffect.cpp:851
+msgid "Pre&view"
+msgstr ""
+
+#: ShuttleGui.cpp:2041
+msgid "&Debug"
+msgstr ""
+
+#: SoundActivatedRecord.cpp:36
+msgid "Sound Activated Record"
+msgstr ""
+
+#: SoundActivatedRecord.cpp:58
+msgid "Activation level (dB):"
+msgstr ""
+
+#: SplashDialog.cpp:60
+msgid "&Welcome to Audacity!"
+msgstr ""
+
+#: SplashDialog.cpp:112
+msgid "Don't show this again at start up"
+msgstr ""
+
+#: Tags.cpp:629
+msgid "Artist Name"
+msgstr ""
+
+#: Tags.cpp:630
+msgid "Track Title"
+msgstr ""
+
+#: Tags.cpp:631
+msgid "Album Title"
+msgstr ""
+
+#: Tags.cpp:632
+#, fuzzy
+msgid "Track Number"
+msgstr "Número de pista:"
+
+#: ../src/Tags.cpp:465
+msgid "Year"
+msgstr "Año"
+
+#: Tags.cpp:634
+msgid "Genre"
+msgstr ""
+
+#: ../src/Tags.cpp:475
+msgid "Comments"
+msgstr "Comentarios"
+
+#: Tags.cpp:788
+msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
+msgstr ""
+
+#: Tags.cpp:812
+msgid "Tag Name"
+msgstr ""
+
+#: Tags.cpp:813
+msgid "Tag Value"
+msgstr ""
+
+#: Tags.cpp:828 prefs/KeyConfigPrefs.cpp:145 widgets/FileHistory.cpp:174
+msgid "&Clear"
+msgstr ""
+
+#: Tags.cpp:834
+#, fuzzy
+msgid "Genres"
+msgstr "Xénero:"
+
+#: Tags.cpp:838
+msgid "E&dit..."
+msgstr ""
+
+#: Tags.cpp:839
+msgid "Rese&t..."
+msgstr ""
+
+#: Tags.cpp:844
+msgid "Template"
+msgstr ""
+
+#: Tags.cpp:848 prefs/KeyConfigPrefs.cpp:155
+msgid "&Load..."
+msgstr ""
+
+#: Tags.cpp:849 prefs/KeyConfigPrefs.cpp:156
+msgid "&Save..."
+msgstr ""
+
+#: Tags.cpp:851
+msgid "S&et Default"
+msgstr ""
+
+#: Tags.cpp:1001
+msgid "Edit Genres"
+msgstr ""
+
+#: Tags.cpp:1034 Tags.cpp:1046 Tags.cpp:1061 Tags.cpp:1074
+msgid "Reset Genres"
+msgstr ""
+
+#: Tags.cpp:1034 Tags.cpp:1074
+msgid "Unable to save genre file."
+msgstr ""
+
+#: Tags.cpp:1045
+msgid "Are you sure you want to reset the genre list to defaults?"
+msgstr ""
+
+#: Tags.cpp:1061
+msgid "Unable to open genre file."
+msgstr ""
+
+#: Tags.cpp:1096
+msgid "Load Metadata As:"
+msgstr ""
+
+#: Tags.cpp:1121
+msgid "Error loading metadata"
+msgstr ""
+
+#: Tags.cpp:1150
+msgid "Save Metadata As:"
+msgstr ""
+
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
+#: Theme.cpp:638
 #, c-format
-msgid "Made '%s' a stereo track"
-msgstr "Convirtiuse a Estéreo a pista '%s'"
+msgid "Audacity could not write file:\n"
+"  %s."
+msgstr ""
 
-#: ../src/AboutDialog.cpp:192
-msgid "Main Logo"
-msgstr "Logo Principal"
+#: Theme.cpp:656
+#, c-format
+msgid "Audacity could not open file:\n"
+"  %s\n"
+"for writing."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4156
-msgid "Make Stereo"
-msgstr "Facer Estéreo"
+#: Theme.cpp:664
+#, c-format
+msgid "Audacity could not write images to file:\n"
+"  %s."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:843
-msgid "Make Stereo Track"
-msgstr "Convertir a pista estéreo"
+#: Theme.cpp:799
+#, c-format
+msgid "Audacity could not find file:\n"
+"  %s.\n"
+"Theme not loaded."
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:72
-msgid "Make a copy of the file before editing (safer)"
-msgstr "Facer unha copia do arquivo antes de editar (máis seguro)"
+#: Theme.cpp:807 Theme.cpp:896
+#, c-format
+msgid "Audacity could not load file:\n"
+"  %s.\n"
+"Bad png format perhaps?"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:367
-msgid "Master Gain Control"
-msgstr "Control mestre de gañancia"
+#: Theme.cpp:823
+msgid "Audacity could not read its default theme.\n"
+"Please report the problem."
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:104
-msgid "Maximum Frequency (Hz):"
-msgstr "Frecuencia máxima (Hz):"
+#: Theme.cpp:918
+#, c-format
+msgid "None of the expected theme component files\n"
+" were found in:\n"
+"  %s."
+msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:152
-msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
-msgstr "A frecuencia máxima debe estar no rango 100 Hz - 100,000 Hz"
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
+#, c-format
+msgid "Could not create directory:\n"
+"  %s"
+msgstr ""
 
-#: ../src/Tags.cpp:429
+#: Theme.cpp:963
 #, c-format
-msgid "Maximum length of attribute '%s' is %d characters. Data was truncated."
+msgid "Audacity could not save file:\n"
+"  %s"
 msgstr ""
-"A lonxitude máxima do atributo '%s' é %d caracteres. Os datos foron "
-"truncados."
 
-#: ../src/import/ImportOGG.cpp:124
-msgid "Media read error"
-msgstr "Erro de lectura de medio"
+#: Theme.cpp:975
+#, c-format
+msgid "All required files in:\n"
+"  %s\n"
+"were already present."
+msgstr ""
+
+#: TimeDialog.cpp:53 TimeDialog.cpp:64 TimerRecordDialog.cpp:236
+#: TimerRecordDialog.cpp:367 TimerRecordDialog.cpp:371 effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191 effects/Noise.cpp:207 effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291 effects/ToneGen.cpp:323 effects/ToneGen.cpp:335
+msgid "Duration"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:606
-msgid "Minimum Change %:"
-msgstr "Cambio mínimo %:"
+#: TimerRecordDialog.cpp:69
+msgid "Audacity Timer Record"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:594
-msgid "Minimum Change Window:"
-msgstr "Cambio mínimo de fiestra:"
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:145
-msgid "Minimum of dB mode display range"
-msgstr "Modo de vista de máximo rango de dB"
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
 
-#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
-msgid "Mix"
-msgstr "Mestura"
+#: TimerRecordDialog.cpp:233
+msgid "Recording start"
+msgstr ""
 
-#: ../src/Mix.cpp:125
-msgid "Mixing tracks"
-msgstr "Mesturando pistas"
+#: TimerRecordDialog.cpp:234
+msgid "Recording end"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:3314
-msgid "Modified Label"
-msgstr "Etiqueta modificada"
+#: TimerRecordDialog.cpp:239
+msgid "Audacity Timer Record Progress"
+msgstr ""
 
-#: ../src/widgets/Meter.cpp:299
-msgid "Monitor input"
-msgstr "Entrada de monitor"
+#: TimerRecordDialog.cpp:329
+msgid "Start Date and Time"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:840
-msgid "Mono"
-msgstr "Mono"
+#: TimerRecordDialog.cpp:336
+msgid "Start Date"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4090
-msgid "Mono, "
-msgstr "Mono, "
+#: TimerRecordDialog.cpp:348
+msgid "End Date and Time"
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:444 ../src/effects/ClickRemoval.cpp:352
-msgid "More"
-msgstr "Máis"
+#: TimerRecordDialog.cpp:356
+msgid "End Date"
+msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:91
-msgid "Mouse"
-msgstr "Rato"
+#. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
+#. * but hopefully translated by wxwidgets will be inserted into this
+#: TimerRecordDialog.cpp:443
+#, c-format
+msgid "Waiting to start recording at %s.\n"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:71
-msgid "Mouse Bindings (default values, not configurable)"
-msgstr "Accións de rato (valores predeterminados, non configurábeis)"
+#: TimerRecordDialog.cpp:444
+msgid "Audacity Timer Record - Waiting for Start"
+msgstr ""
 
-#: ../src/Menus.cpp:286
-msgid "Move Cursor..."
-msgstr "Mover cursor..."
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
+msgid "Other..."
+msgstr "Outro..."
 
-#: ../src/TrackPanel.cpp:4389
-msgid "Move Track"
-msgstr "Desprazar pista"
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
+msgid "Name..."
+msgstr "Nome..."
+
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
+msgid "Move Track Up"
+msgstr "Desprazar pista cara arriba"
 
 #: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
 #: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr "Desprazar pista cara abaixo"
 
-#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
-msgid "Move Track Up"
-msgstr "Desprazar pista cara arriba"
+#: ../src/TrackPanel.cpp:835
+msgid "Waveform"
+msgstr "Forma de onda"
 
-#: ../src/TrackPanel.cpp:4383
+#: ../src/TrackPanel.cpp:836
+msgid "Waveform (dB)"
+msgstr "Forma de onda (dB)"
+
+#: TrackPanel.cpp:613 prefs/TracksPrefs.cpp:59
+msgid "Spectrum log(f)"
+msgstr ""
+
+#: ../src/TrackPanel.cpp:838
+msgid "Pitch (EAC)"
+msgstr "Tono (EAC)"
+
+#: ../src/TrackPanel.cpp:840
+msgid "Mono"
+msgstr "Mono"
+
+#: ../src/TrackPanel.cpp:841
+msgid "Left Channel"
+msgstr "Canle Esquerdo"
+
+#: ../src/TrackPanel.cpp:842
+msgid "Right Channel"
+msgstr "Canle dereito"
+
+#: ../src/TrackPanel.cpp:843
+msgid "Make Stereo Track"
+msgstr "Convertir a pista estéreo"
+
+#: ../src/TrackPanel.cpp:844
+msgid "Split Stereo Track"
+msgstr "Dividir pista estéreo"
+
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
+#: ../src/TrackPanel.cpp:846
+msgid "Set Sample Format"
+msgstr "Establecer formato de mostreo"
+
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
+msgid "Set Rate"
+msgstr "Establecer frecuencia"
+
+#: ../src/TrackPanel.cpp:856
+msgid "Up Octave"
+msgstr "Subir unha oitava"
+
+#: ../src/TrackPanel.cpp:857
+msgid "Down Octave"
+msgstr "Baixar unha oitava"
+
+#: ../src/TrackPanel.cpp:862
+msgid "Font..."
+msgstr "Tipo de letra..."
+
+#: ../src/TrackPanel.cpp:873
+msgid "Set Range..."
+msgstr "Establecer rango..."
+
+#: ../src/EditToolBar.cpp:150
+msgid "Copy"
+msgstr "Copiar"
+
+#: ../src/TrackPanel.cpp:1513
+msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
+msgstr "Faga clic para acercar verticalmente, Maiús-click para alonxar, arrastra para crear unha rexión de zoom en particular."
+
+#: ../src/TrackPanel.cpp:1519
+msgid "Drag the label vertically to change the order of the tracks."
+msgstr "Arrastre a etiqueta cara arriba ou abaixo para cambiar a orde das pistas."
+
+#: ../src/TrackPanel.cpp:1616
+msgid "Click and drag to adjust relative size of stereo tracks."
+msgstr "Faga clic e arrastre para modificar o tamaño relativo de pistas estéreo."
+
+#: ../src/TrackPanel.cpp:1621
+msgid "Click and drag to resize the track."
+msgstr "Faga clic e arrastre para modificar o tamaño da pista."
+
+#: TrackPanel.cpp:1363
+msgid "Drag one or more label boundaries"
+msgstr ""
+
+#: TrackPanel.cpp:1364
+msgid "Drag label boundary"
+msgstr ""
+
+#: ../src/TrackPanel.cpp:1541
+msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
+msgstr "Modo Multi-Ferramenta: Ctrl-P para preferencias de rato e teclado"
+
+#: ../src/TrackPanel.cpp:1543
+msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
+msgstr "Modo Multi-Ferramenta: Ctrl-P para preferencias de rato e teclado"
+
+#: ../src/TrackPanel.cpp:1574
+msgid "Click and drag to move left selection boundary."
+msgstr "Faga clic e arrastre para mover o límite esquerdo da selección."
+
+#: ../src/TrackPanel.cpp:1579
+msgid "Click and drag to move right selection boundary."
+msgstr "Faga clic e arrastre para mover o límite dereito da selección."
+
+#: ../src/TrackPanel.cpp:3314
+msgid "Modified Label"
+msgstr "Etiqueta modificada"
+
+#: ../src/TrackPanel.cpp:3315
+msgid "Label Edit"
+msgstr "Edición de etiqueta"
+
+#: ../src/TrackPanel.cpp:1904
+msgid "Adjusted envelope."
+msgstr "Envolvente axustada."
+
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
+msgid "Envelope"
+msgstr "Envolvente"
+
+#: TrackPanel.cpp:2162
+msgid "Moved clip to another track"
+msgstr ""
+
+#: ../src/TrackPanel.cpp:2012
+msgid "left"
+msgstr "esquerdo"
+
+#: ../src/TrackPanel.cpp:2012
+msgid "right"
+msgstr "dereito"
+
+#. i18n-hint: %s is a direction like left or right
+#: TrackPanel.cpp:2168
 #, c-format
-msgid "Moved '%s' %s"
-msgstr "Moveuse '%s' %s"
+msgid "Time shifted tracks/clips %s %.02f seconds"
+msgstr ""
+
+#: ../src/prefs/MousePrefs.cpp:97
+msgid "Time-Shift"
+msgstr "Traslado en tempo"
+
+#: TrackPanel.cpp:2966
+msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
+msgstr ""
+
+#: TrackPanel.cpp:2983
+msgid "To use Draw, zoom in further until you can see the individual samples."
+msgstr ""
 
 #: ../src/TrackPanel.cpp:2637
 msgid "Moved Sample"
 msgstr "Mostreo movido"
 
+#: ../src/TrackPanel.cpp:2638
+msgid "Sample Edit"
+msgstr "Edición de mostreo"
+
+#: ../src/TrackPanel.cpp:2703
+#, c-format
+msgid "Removed track '%s.'"
+msgstr "Pista '%s' eliminada"
+
+#: ../src/TrackPanel.cpp:2705
+msgid "Track Remove"
+msgstr "Eliminación de pista"
+
 #: ../src/TrackPanel.cpp:2806
 msgid "Moved gain slider"
 msgstr "Mostreo movido"
@@ -2616,233 +3721,409 @@ msgstr "Mostreo movido"
 msgid "Moved pan slider"
 msgstr "Mostreo movido"
 
-#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
-msgid "Multi"
-msgstr "Multi"
+#. i18n-hint: Title of the Gain slider, used to adjust the volume
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
+msgid "Gain"
+msgstr "Gañancia"
 
-#: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Modo Multi-ferramenta\tF6"
+#. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
+msgid "Pan"
+msgstr "Pan"
 
-#: ../src/ControlToolBar.cpp:360
-msgid "Multi-Tool Mode"
-msgstr "Modo Multi-Ferramenta"
+#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
+msgid "up"
+msgstr "arriba"
 
-#: ../src/TrackPanel.cpp:1541
-msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
-msgstr "Modo Multi-Ferramenta: Ctrl-P para preferencias de rato e teclado"
+#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
+msgid "down"
+msgstr "abaixo"
 
-#: ../src/TrackPanel.cpp:1543
-msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
-msgstr "Modo Multi-Ferramenta: Ctrl-P para preferencias de rato e teclado"
+#: ../src/TrackPanel.cpp:4383
+#, c-format
+msgid "Moved '%s' %s"
+msgstr "Moveuse '%s' %s"
 
-#: ../src/TrackPanel.cpp:4701
-msgid "Mute"
-msgstr "Silencio"
+#: ../src/TrackPanel.cpp:4389
+msgid "Move Track"
+msgstr "Desprazar pista"
+
+#: TrackPanel.cpp:4251
+msgid "Expand"
+msgstr ""
+
+#: TrackPanel.cpp:4251
+msgid "Expanded Cut Line"
+msgstr ""
+
+#: TrackPanel.cpp:4260
+msgid "Merge"
+msgstr ""
+
+#: TrackPanel.cpp:4260
+msgid "Merged Clips"
+msgstr ""
+
+#: TrackPanel.cpp:4271
+msgid "Removed Cut Line"
+msgstr ""
+
+#: TrackPanel.cpp:5750
+msgid "Adjusted Pan"
+msgstr ""
+
+#: TrackPanel.cpp:5802
+msgid "Adjusted gain"
+msgstr ""
+
+#: TrackPanel.cpp:6028
+msgid "Can't delete track with active audio"
+msgstr ""
+
+#: ../src/TrackPanel.cpp:4087
+msgid "Stereo, "
+msgstr "Estéreo,"
+
+#: ../src/TrackPanel.cpp:4090
+msgid "Mono, "
+msgstr "Mono, "
+
+#: ../src/TrackPanel.cpp:4092
+msgid "Left, "
+msgstr "Esquerdo, "
+
+#: ../src/TrackPanel.cpp:4094
+msgid "Right, "
+msgstr "Dereito,"
+
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
+#, c-format
+msgid "Changed '%s' to %s"
+msgstr "Cambiado '%s' a %s"
+
+#: ../src/TrackPanel.cpp:4121
+msgid "Channel"
+msgstr "Canle"
+
+#: ../src/TrackPanel.cpp:4131
+#, c-format
+msgid "Split stereo track '%s'"
+msgstr "Dividir pista estéreo '%s'"
+
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
 
-#. i18n-hint: hours, minutes, seconds, frames
-#: ../src/FormatSelection.cpp:39
-msgid "NTSC drop-frame h:mm:ss:ff"
-msgstr "NTSC fotogramas descartados h:mm:ss:cc"
+#: ../src/TrackPanel.cpp:4153
+#, c-format
+msgid "Made '%s' a stereo track"
+msgstr "Convirtiuse a Estéreo a pista '%s'"
+
+#: ../src/TrackPanel.cpp:4156
+msgid "Make Stereo"
+msgstr "Facer Estéreo"
+
+#: ../src/TrackPanel.cpp:4189
+#, c-format
+msgid "Changed '%s' to %d Hz"
+msgstr "Cambiado '%s' a %d Hz"
+
+#: ../src/TrackPanel.cpp:4191
+msgid "Rate Change"
+msgstr "Cambio de frecuencia"
+
+#: ../src/TrackPanel.cpp:4229
+msgid "Format Change"
+msgstr "Cambio de formato"
+
+#: ../src/TrackPanel.cpp:4351
+msgid "Change lower speed limit (%) to:"
+msgstr "Cambiar o límite inferior de velocidade (%) a:"
+
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
+msgid "Lower speed limit"
+msgstr "Límite inferior de velocidade"
+
+#: ../src/TrackPanel.cpp:4358
+msgid "Change upper speed limit (%) to:"
+msgstr "Cambiar o límite superior de velocidade (%) a:"
+
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
+msgid "Upper speed limit"
+msgstr "Límite superior de velocidade"
+
+#: ../src/TrackPanel.cpp:4368
+#, c-format
+msgid "Set range to '%d' - '%d'"
+msgstr "Establecer rango en '%d' - '%d'"
 
-#. i18n-hint: fps is "frames per second"
-#: ../src/FormatSelection.cpp:37
-msgid "NTSC frames 29.97 fps"
-msgstr "Fotogramas NTSC 29.97 cps"
+#: ../src/TrackPanel.cpp:4371
+msgid "Set Range"
+msgstr "Establecer rango"
 
-#. i18n-hint: hours, minutes, seconds, frames
-#: ../src/FormatSelection.cpp:41
-msgid "NTSC non-drop-frame h:mm:ss:ff"
-msgstr "NTSC fotogramas non descartados h:mm:ss:cc"
+#: ../src/TrackPanel.cpp:4416
+msgid "Change track name to:"
+msgstr "Cambiar nome de pista a:"
+
+#: ../src/TrackPanel.cpp:4417
+msgid "Track Name"
+msgstr "Nome da pista"
+
+#: ../src/TrackPanel.cpp:4420
+#, c-format
+msgid "Renamed '%s' to '%s'"
+msgstr "Renomeouse '%s' a '%s'"
 
 #: ../src/TrackPanel.cpp:4423
 msgid "Name Change"
 msgstr "Cambio de nome"
 
-#: ../src/export/ExportMultiple.cpp:646
-msgid "Name files:"
-msgstr "Arquivos nomeados:"
+#: ../src/TrackPanel.cpp:4454
+msgid "Label Track Font"
+msgstr "Fonte da pista de etiquetas"
 
-#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
-msgid "Name..."
-msgstr "Nome..."
+#: TrackPanel.cpp:6675 TrackPanel.cpp:6681
+msgid "Face name"
+msgstr ""
 
-#: ../src/Menus.cpp:393
-msgid "New &Audio Track"
-msgstr "Nova pista de &audio"
+#: TrackPanel.cpp:6685 TrackPanel.cpp:6692
+msgid "Face size"
+msgstr ""
 
-#: ../src/Menus.cpp:394
-msgid "New &Stereo Track"
-msgstr "Nova pista e&stéreo"
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
 
-#: ../src/Menus.cpp:396
-msgid "New &Time Track"
-msgstr "Nova pista de &tempo"
+#: ../src/TrackPanel.cpp:4701
+msgid "Mute"
+msgstr "Silencio"
 
-#: ../src/Menus.cpp:395
-msgid "New La&bel Track"
-msgstr "Nova p&ista de etiquetas"
+#: ../src/TrackPanel.cpp:4701
+msgid "Solo"
+msgstr "Só"
 
-#: ../src/effects/Amplify.cpp:152
-msgid "New Peak Amplitude (dB):"
-msgstr "Novo pico de amplitude (dB):"
+#: TrackPanelAx.cpp:273
+msgid "TrackView"
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:183
-msgid "New Temporary Directory"
-msgstr "Novo directorio temporal"
+#: TrackPanelAx.cpp:281
+msgid "Track Accessible out of sync"
+msgstr ""
 
-#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
-#: ../src/Menus.cpp:3052
-msgid "New Track"
-msgstr "Nova pista"
+#: TrackPanelAx.cpp:289
+#, c-format
+msgid "Track %d"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:662
-msgid "New Value"
-msgstr "Novo valor"
+#: TrackPanelAx.cpp:295
+msgid " Mute On"
+msgstr ""
 
-#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
-msgid "New selection length: "
-msgstr "Nova lonxitude de selección: "
+#: TrackPanelAx.cpp:300
+msgid " Solo On"
+msgstr ""
 
-#: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Seguinte ferramenta\tD"
+#: TrackPanelAx.cpp:304
+msgid " Select On"
+msgstr ""
 
-#. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:299
-msgid "No endianness"
-msgstr "Sen endianness"
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
+msgid "Selection is too small to use voice key."
+msgstr ""
 
-#: ../src/AboutDialog.cpp:86
-msgid "No resampling support enabled"
-msgstr "Soporte habilitado para non remostreos"
+#: VoiceKey.cpp:843
+msgid "Calibration Results\n"
+msgstr ""
 
-#: ../src/export/Export.cpp:124
-msgid ""
-"No tracks are selected!\n"
-"Choose Export... to export all tracks."
+#: VoiceKey.cpp:844
+#, c-format
+msgid "Energy                  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr ""
-"Non hai pistas seleccionadas!\n"
-"Escolle Exportar... para exportar tódalas pistas."
 
-#: ../src/effects/NoiseRemoval.cpp:69
-msgid "Noise Removal"
-msgstr "Eliminación de ruido"
+#: VoiceKey.cpp:845
+#, c-format
+msgid "Sign Changes        -- mean: %1.4f  sd: (%1.4f)\n"
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:403
-msgid "Noise Removal by Dominic Mazzoni"
-msgstr "Eliminación de ruido por Dominic Mazzoni"
+#: VoiceKey.cpp:846
+#, c-format
+msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.h:38
-msgid "Noise Removal..."
-msgstr "Eliminación de ruido..."
+#: ../src/WaveTrack.cpp:128
+msgid "Audio Track"
+msgstr "Pista de audio"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Ningún"
+#: WaveTrack.cpp:978 WaveTrack.cpp:997
+msgid "There is not enough room available to paste the selection"
+msgstr ""
 
-#: ../src/effects/Normalize.cpp:29
-msgid "Normalize"
-msgstr "Normalizar"
+#: WaveTrack.cpp:2023
+msgid "There is not enough room available to expand the cut line"
+msgstr ""
 
-#: ../src/effects/Normalize.cpp:233
-msgid "Normalize by Dominic Mazzoni"
-msgstr "Normalizar por Dominic Mazzoni"
+#: ../src/commands/CommandManager.cpp:323
+#, c-format
+msgid "Plugins 1 to %i"
+msgstr "Plugins 1 a %i"
 
-#: ../src/effects/Normalize.cpp:244
-msgid "Normalize maximum amplitude to -3 dB"
-msgstr "Normalizar máxima amplitude a -3 dB"
+#: ../src/commands/CommandManager.cpp:337
+#, c-format
+msgid "Plugins %i to %i"
+msgstr "Plugins %i a %i"
 
-#: ../src/effects/Normalize.h:34
-msgid "Normalize..."
-msgstr "Normalizar..."
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
-#: ../src/effects/Normalize.h:38
-msgid "Normalizing..."
-msgstr "Normalizando..."
+#: commands/CommandManager.cpp:927
+msgid "You can only do this when playing and recording are\n"
+" stopped.  [Pausing is not sufficient.]"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1335
-msgid "Not a valid or supported MP3 encoding library!"
-msgstr "Non é unha librería de codificación MP3 soportada!"
+#: commands/CommandManager.cpp:929
+msgid "You must first select some stereo audio for this\n"
+" to use.  [You can't use this with mono.]"
+msgstr ""
 
-#: ../src/import/ImportOGG.cpp:127
-msgid "Not an Ogg Vorbis file"
-msgstr "Non é un arquivo Ogg Vorbis"
+#: commands/CommandManager.cpp:931
+msgid "You must first select some audio for this to use."
+msgstr ""
 
-#: ../src/FreqWindow.cpp:463
-msgid "Not enough data selected."
-msgstr "Non hai suficiente información seleccionada."
+#: commands/CommandManager.cpp:933
+msgid "You must first select some audio for this\n"
+" to use. [Selecting other kinds of track won't work.]"
+msgstr ""
 
-#: ../src/NoteTrack.cpp:30
-msgid "Note Track"
-msgstr "Pista de notas"
+#: commands/CommandManager.cpp:938
+msgid "Disallowed"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:115
-msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
-msgstr "Nota: Premendo Cmd+Q sairase. O resto das teclas son válidas."
+#: ../src/commands/CommandManager.cpp:640
+#, c-format
+msgid "Loaded %d keyboard shortcuts\n"
+msgstr "%d accesos directos cargados\n"
 
-#: ../src/Menus.cpp:1655
-msgid "Nothing to redo"
-msgstr "Nada para refacer"
+#: ../src/commands/CommandManager.cpp:643
+msgid "Loading keyboard shortcuts"
+msgstr "Cargando accesos directos"
 
-#: ../src/Menus.cpp:1636
-msgid "Nothing to undo"
-msgstr "Nada para desfacer"
+#: ../src/effects/Amplify.cpp:34
+#, c-format
+msgid "Applied effect: %s %.1f dB"
+msgstr "Aplicado o efecto: %s %.1f dB"
 
-#: ../src/effects/Repeat.cpp:229
-msgid "Number of times to repeat: "
-msgstr "Número de veces a repetir: "
+#: ../src/effects/Amplify.cpp:63
+msgid "Amplify"
+msgstr "Amplificar"
 
-#: ../src/export/ExportMultiple.cpp:655
-msgid "Numbering consecutively"
-msgstr "Numerando consecutivamente"
+#: effects/Amplify.cpp:156 effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
+msgid "by Dominic Mazzoni"
+msgstr ""
 
-#: ../src/effects/nyquist/Nyquist.cpp:397
-msgid "Nyquist"
-msgstr "Nyquist"
+#: ../src/effects/Amplify.cpp:132
+msgid "Amplification (dB):"
+msgstr "Amplificación (dB):"
 
-#: ../src/effects/nyquist/Nyquist.cpp:398
-msgid "Nyquist Output: "
-msgstr "Saída Nyquist: "
+#: effects/Amplify.cpp:184
+msgid "Amplification dB"
+msgstr ""
 
-#: ../src/effects/nyquist/Nyquist.cpp:281
-msgid "Nyquist Prompt"
-msgstr "Comando Nyquist"
+#: ../src/effects/Amplify.cpp:152
+msgid "New Peak Amplitude (dB):"
+msgstr "Novo pico de amplitude (dB):"
 
-#: ../src/effects/nyquist/Nyquist.cpp:224
-msgid "Nyquist Prompt..."
-msgstr "Comando Nyquist..."
+#: ../src/effects/Amplify.cpp:164
+msgid "Allow clipping"
+msgstr "Permitir clipping"
 
-#: ../src/effects/nyquist/Nyquist.cpp:594
-msgid "Nyquist did not return audio.\n"
-msgstr "Nyquist non devolveu audio.\n"
+#: effects/Amplify.cpp:223 effects/Amplify.cpp:280 effects/Amplify.cpp:324
+msgid "-Infinity"
+msgstr ""
 
-#: ../src/effects/nyquist/Nyquist.cpp:556
-#, c-format
-msgid "Nyquist returned the value: %d"
-msgstr "Nyquist devolveu o valor: %d"
+#: ../src/effects/Amplify.h:47
+msgid "Amplify..."
+msgstr "Amplificar..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:547
-#, c-format
-msgid "Nyquist returned the value: %f"
-msgstr "Nyquist devolveu o valor: %f"
+#: ../src/effects/Amplify.h:51
+msgid "Amplifying"
+msgstr "Amplificando"
 
-#: ../src/effects/nyquist/Nyquist.cpp:604
-msgid "Nyquist returned too many audio channels.\n"
-msgstr "Nyquist devolveu demasiadas canles de audio.\n"
+#: effects/AutoDuck.cpp:140
+msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
+msgstr ""
+
+#: effects/AutoDuck.cpp:141 effects/AutoDuck.cpp:153 effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
+msgid "Auto Duck"
+msgstr ""
+
+#: effects/AutoDuck.cpp:152
+msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:138
-msgid "OGG Export Setup"
-msgstr "Opcións de exportación a OGG"
+#: effects/AutoDuck.cpp:479
+msgid "Auto Duck by Markus Meyer"
+msgstr ""
+
+#: effects/AutoDuck.cpp:501
+msgid "Duck amount:"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:147
-msgid "OGG Quality:"
-msgstr "Calidade OGG:"
+#: effects/AutoDuck.cpp:506
+msgid "Maximum pause:"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in seconds
+#: effects/AutoDuck.cpp:508 effects/AutoDuck.cpp:513 effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:528 prefs/MidiIOPrefs.cpp:157
+#: prefs/MidiIOPrefs.cpp:159 prefs/MidiIOPrefs.cpp:181
+#: prefs/MidiIOPrefs.cpp:183 prefs/MidiIOPrefs.cpp:191
+#: prefs/PlaybackPrefs.cpp:62 prefs/PlaybackPrefs.cpp:76
+#: prefs/PlaybackPrefs.cpp:82 prefs/PlaybackPrefs.cpp:96
+#: prefs/PlaybackPrefs.cpp:102 widgets/TimeTextCtrl.cpp:264
+msgid "seconds"
+msgstr ""
+
+#: effects/AutoDuck.cpp:511
+msgid "Outer fade down length:"
+msgstr ""
+
+#: effects/AutoDuck.cpp:516
+msgid "Outer fade up length:"
+msgstr ""
+
+#: effects/AutoDuck.cpp:521
+msgid "Inner fade down length:"
+msgstr ""
+
+#: effects/AutoDuck.cpp:526
+msgid "Inner fade up length:"
+msgstr ""
+
+#: effects/AutoDuck.cpp:535 effects/Compressor.cpp:506
+#, fuzzy
+msgid "Threshold:"
+msgstr "Umbral: "
+
+#: effects/AutoDuck.cpp:584
+msgid "Please enter valid values."
+msgstr ""
+
+#: effects/AutoDuck.cpp:719
+msgid "Preview not available"
+msgstr ""
+
+#: effects/AutoDuck.h:98
+msgid "Auto Duck..."
+msgstr ""
+
+#: effects/AutoDuck.h:115
+msgid "Processing Auto Duck..."
+msgstr ""
 
 #: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721
 #: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
@@ -2861,457 +4142,1299 @@ msgstr "Calidade OGG:"
 msgid "OK"
 msgstr "Aceptar"
 
-#: ../src/AboutDialog.cpp:63
-msgid "Ogg Vorbis importing disabled"
-msgstr "Importación Ogg Vorbis deshabilitada"
+#: ../src/effects/BassBoost.cpp:36
+#, c-format
+msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
+msgstr "Efecto aplicado: frecuencia %s = %.0f Hz, realce = %.0f dB"
 
-#: ../src/AboutDialog.cpp:61
-msgid "Ogg Vorbis importing enabled"
-msgstr "Importación Ogg Vorbis habilitada"
+#: ../src/effects/BassBoost.cpp:69
+msgid "Bass Boost"
+msgstr "BassBoost (Realzar graves)"
 
-#: ../src/export/Export.cpp:366
-msgid "Ogg Vorbis support is not included in this build of Audacity"
-msgstr "Soporte de Ogg Vorbis non está incluido nesta versión de Audacity"
+#: effects/BassBoost.cpp:182 effects/Phaser.cpp:219 effects/Wahwah.cpp:214
+msgid "by Nasca Octavian Paul"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:866
-msgid "Only LAMELib|LAMELib|Shared Libraries (*)|*"
-msgstr "Só LAMELib|LAMELib|Librerías Compartidas (*)|*"
+#: ../src/effects/BassBoost.cpp:286
+msgid "Frequency (Hz):"
+msgstr "Frecuencia (Hz):"
 
-#: ../src/export/ExportMP3.cpp:552
-msgid "Only LameLib|LameLib|All Files (*)|*"
-msgstr "Só LameLib|LameLib|Tódolos Arquivos (*)|*"
+#: effects/BassBoost.cpp:205
+msgid "Frequency Hertz"
+msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1116
-msgid ""
-"Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
-"All Files (*.*)|*"
+#: ../src/effects/BassBoost.cpp:302
+msgid "Boost (dB):"
+msgstr "Realzar (dB):"
+
+#: effects/BassBoost.cpp:218
+msgid "Boost dB"
 msgstr ""
-"Só lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
-"Tódolos Arquivos (*.*)|*"
 
-#: ../src/export/ExportMP3.cpp:255
-msgid ""
-"Only libmp3lame.so|libmp3lame.so|Primary Shared Object files (*.so)|*.so|"
-"Extended Libraries (*.so*)|*.so*|All Files (*)|*"
+#: effects/BassBoost.h:35
+#, fuzzy
+msgid "BassBoost..."
+msgstr "BassBoost (Realzar graves)..."
+
+#: ../src/effects/BassBoost.h:48
+msgid "Boosting Bass Frequencies"
+msgstr "Realzando frecuencias baixas"
+
+#: effects/ChangeLength.h:26
+msgid "Change Length..."
 msgstr ""
-"Só libmp3lame.so|libmp3lame.so|Primary Shared Object (*.so)|*.so|Extended "
-"Libraries (*.so*)|*.so*|Tódolos Arquivos (*)|*"
 
-#: ../src/Legacy.cpp:338
-msgid "Opening Audacity Project"
-msgstr "Abrindo proxecto de Audacity"
+#: effects/ChangeLength.h:34
+msgid "Changing Length..."
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:657
-msgid "Original Value"
-msgstr "Valor orixinal"
+#: ../src/effects/ChangePitch.cpp:56
+#, c-format
+msgid "Applied effect: %s %.2f semitones"
+msgstr "Efecto aplicado: %s %.2f semitonos"
 
-#: ../src/AboutDialog.cpp:208
-msgid "Other contributors:"
-msgstr "Outros colaboradores:"
+#: ../src/effects/ChangePitch.cpp:119
+msgid "Change Pitch"
+msgstr "Cambiar tono"
 
-#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
-msgid "Other..."
-msgstr "Outro..."
+#: ../src/effects/ChangePitch.cpp:242
+msgid "Change Pitch without Changing Tempo"
+msgstr "Cambiar tono sen cambiar tempo"
 
-#: ../src/Project.cpp:2706
-msgid "Out of disk space"
-msgstr "Sen espacio en disco"
+#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
+#: ../src/effects/ChangeTempo.cpp:164
+msgid "by Vaughan Johnson && Dominic Mazzoni"
+msgstr "por Vaughan Johnson && Dominic Mazzoni"
 
-#: ../src/AudacityApp.cpp:369
-msgid "Output Meter"
-msgstr "Medidor de saída"
+#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
+msgid "using SoundTouch, by Olli Parviainen"
+msgstr "usando SoundTouch, por Olli Parviainen"
 
-#: ../src/MixerToolBar.cpp:135
-msgid "Output Volume"
-msgstr "Volume de saída"
+#: effects/ChangePitch.cpp:269
+msgid "Pitch:"
+msgstr ""
 
-#: ../src/MeterToolBar.cpp:66
-msgid "Output level meter"
-msgstr "Medidor de nível de saída"
+#: effects/ChangePitch.cpp:274
+msgid "From:"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:677
-msgid "Overwrite existing files"
-msgstr "Sobreescribir arquivos existentes"
+#: effects/ChangePitch.cpp:275
+msgid "From Pitch"
+msgstr ""
 
-#. i18n-hint: fps is "frames per second"
-#: ../src/FormatSelection.cpp:32
-msgid "PAL frames 25 fps"
-msgstr "Cadros PAL 25 cps"
+#: effects/ChangePitch.cpp:286
+msgid "Up"
+msgstr ""
 
-#. i18n-hint: fps is "frames per second",
-#. and the other letters are for hours, minutes, seconds, frames
-#: ../src/FormatSelection.cpp:35
-msgid "PAL h:mm:ss:ff 25 fps"
-msgstr "PAL h:mm:ss:cc 25 cps"
+#: effects/ChangePitch.cpp:289
+msgid "Down"
+msgstr ""
 
-#: ../src/Menus.cpp:192
-msgid "Page Setup..."
-msgstr "Configuración de páxina...."
+#: effects/ChangePitch.cpp:299
+msgid "To:"
+msgstr ""
 
-#. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
-msgid "Pan"
-msgstr "Pan"
+#: effects/ChangePitch.cpp:300
+msgid "To Pitch"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
-msgid "Paste"
-msgstr "Pegar"
+#: ../src/effects/ChangePitch.cpp:299
+msgid "Semitones (half-steps):"
+msgstr "Semitonos (medios-pasos):"
 
-#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
-msgid "Pasted from the clipboard"
-msgstr "Pegar dende o portapapeis"
+#: effects/ChangePitch.cpp:316
+msgid "Semitones in half-steps"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pausa"
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+msgid "from"
+msgstr ""
 
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Pausa\tP"
+#: effects/ChangePitch.cpp:327
+msgid "From frequency in hertz"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
-msgid "Pencil"
-msgstr "Lapis"
+#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
+#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
+#: ../src/effects/ChangeTempo.cpp:254
+msgid "to"
+msgstr "a"
+
+#: effects/ChangePitch.cpp:332
+msgid "To frequency in seconds"
+msgstr ""
 
 #: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Cambio porcentual:"
 
-#: ../src/effects/Echo.h:40
-msgid "Performing Echo"
-msgstr "Aplicando Eco"
+#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:359 effects/ChangeTempo.cpp:198
+msgid "Percent Change"
+msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:137
+#: ../src/effects/ChangePitch.h:31
+msgid "Change Pitch..."
+msgstr "Cambiar tono..."
+
+#: ../src/effects/ChangePitch.h:35
+msgid "Changing Pitch"
+msgstr "Cambiando tono"
+
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
-msgid "Performing Effect: %s"
-msgstr "Aplicando efecto: %s"
+msgid "Applied effect: %s %.1f%%"
+msgstr "Efecto aplicado: %s %.1f%%"
 
-#: ../src/effects/Equalization.h:42
-msgid "Performing Equalization"
-msgstr "Aplicando ecualización"
+#: ../src/effects/ChangeSpeed.cpp:47
+msgid "Change Speed"
+msgstr "Cambiar velocidade"
 
-#: ../src/effects/Filter.h:40
-msgid "Performing FFT Filter"
-msgstr "Aplicando filtro FFT"
+#. i18n-hint: n/a is an English
+#. abbreviation meaning "not
+#. applicable" (in other words,
+#. unimportant, not relevant).
+#: ../src/effects/ChangeSpeed.cpp:338
+msgid "n/a"
+msgstr "non dispoñible"
 
-#: ../src/effects/Repeat.h:38
-msgid "Performing Repeat"
-msgstr "Aplicando repetición"
+#: ../src/effects/ChangeSpeed.cpp:282
+msgid "Change Speed, affecting both Tempo and Pitch"
+msgstr "Cambiar velocidade, afectando tempo e tono"
 
-#: ../src/effects/Phaser.cpp:59
-msgid "Phaser"
-msgstr "Fase"
+#: ../src/effects/ChangeSpeed.cpp:292
+msgid "using SampleRate, by Erik de Castro Lopo"
+msgstr "usando SampleRate, por Erik de Castro Lopo"
 
-#: ../src/effects/Phaser.cpp:448
-msgid "Phaser by Nasca Octavian Paul"
-msgstr "Fase por Nasca Octavian Paul"
+#: effects/ChangeSpeed.cpp:367
+msgid "Standard Vinyl RPM:"
+msgstr ""
 
-#: ../src/effects/Phaser.h:41
-msgid "Phaser..."
-msgstr "Fase..."
+#: effects/ChangeSpeed.cpp:371
+msgid "From RPM"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:838
-msgid "Pitch (EAC)"
-msgstr "Tono (EAC)"
+#: effects/ChangeSpeed.cpp:376
+msgid "To RPM"
+msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:262
-msgid "Pitch:   from"
-msgstr "Tono:   dende"
+#: ../src/effects/ChangeSpeed.h:37
+msgid "Change Speed..."
+msgstr "Cambiar velocidade..."
 
-#: ../src/ControlToolBar.cpp:468
-msgid "Play (Shift for loop-play)"
-msgstr "Reproducir (Maiús para reproducir cíclicamente)"
+#: ../src/effects/ChangeSpeed.h:40
+msgid "Changing Speed"
+msgstr "Cambiando velocidade"
 
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Reproducir cíclicamente\tL"
+#: ../src/effects/ChangeTempo.cpp:62
+msgid "Change Tempo"
+msgstr "Cambiar tempo"
 
-#: ../src/Menus.cpp:567
-msgid "Play Looped\tShift+Spacebar"
-msgstr "Reproducir cíclicamente\tMaiús-Barra espaciadora"
+#: ../src/effects/ChangeTempo.cpp:159
+msgid "Change Tempo without Changing Pitch"
+msgstr "Cambiar tempo sen cambiar tono"
 
-#: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Reproducir un segundo\t1"
+#: effects/ChangeTempo.cpp:206
+msgid "Beats per minute:"
+msgstr ""
 
-#: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Reproducir a selección\tB"
+#: effects/ChangeTempo.cpp:210
+msgid "From beats per minute"
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:232
-msgid "Play other tracks while recording new one"
-msgstr "Reproducir outras pistas mentras se grava unha nova"
+#: effects/ChangeTempo.cpp:215
+msgid "To beats per minute"
+msgstr ""
 
-#: ../src/Menus.cpp:559
-msgid "Play/Stop\tSpacebar"
-msgstr "Reproducir/Parar\tBarra Espaciadora"
+#: effects/ChangeTempo.cpp:219
+msgid "Length (seconds):"
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Reproducción"
+#: effects/ChangeTempo.cpp:223
+msgid "From length in seconds"
+msgstr ""
 
-#: ../src/commands/CommandManager.cpp:337
+#: effects/ChangeTempo.cpp:228
+msgid "To length in seconds"
+msgstr ""
+
+#: ../src/effects/ChangeTempo.h:40
+msgid "Change Tempo..."
+msgstr "Cambiar tempo..."
+
+#: ../src/effects/ChangeTempo.h:44
+msgid "Changing Tempo"
+msgstr "Cambiando tempo"
+
+#: effects/ClickRemoval.cpp:314
+msgid "Click Removal"
+msgstr ""
+
+#: ../src/effects/ClickRemoval.cpp:317
+msgid "Click and Pop Removal by Craig DeForest"
+msgstr "Eliminación de Click e Pop por Craig DeForest"
+
+#: effects/ClickRemoval.cpp:341
+msgid "Select threshold (lower is more sensitive):"
+msgstr ""
+
+#: effects/ClickRemoval.cpp:350
+msgid "Select threshold"
+msgstr ""
+
+#: effects/ClickRemoval.cpp:358
+msgid "Max spike width (higher is more sensitive):"
+msgstr ""
+
+#: effects/ClickRemoval.cpp:367
+msgid "Max spike width"
+msgstr ""
+
+#: ../src/effects/ClickRemoval.h:42
+msgid "Click Removal..."
+msgstr "Eliminación de ruido...."
+
+#: ../src/effects/ClickRemoval.h:46
+msgid "Removing clicks and pops..."
+msgstr "Eliminando ruido non desexado..."
+
+#: ../src/effects/Compressor.cpp:42
+msgid "Dynamic Range Compressor"
+msgstr "Compresor de rango dinámico"
+
+#: effects/Compressor.cpp:510
+msgid "Threshold"
+msgstr ""
+
+#: effects/Compressor.cpp:514
+msgid "Ratio:"
+msgstr ""
+
+#: effects/Compressor.cpp:518
+msgid "Ratio"
+msgstr ""
+
+#: effects/Compressor.cpp:522
+#, fuzzy
+msgid "Attack Time:"
+msgstr "Tempo de ataque: "
+
+#: effects/Compressor.cpp:526
+msgid "Attack Time"
+msgstr ""
+
+#: effects/Compressor.cpp:530
+msgid "Decay Time:"
+msgstr ""
+
+#: effects/Compressor.cpp:534
+msgid "Decay Time"
+msgstr ""
+
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
+
+#: effects/Compressor.cpp:575
 #, c-format
-msgid "Plugins %i to %i"
-msgstr "Plugins %i a %i"
+#, fuzzy
+msgid "Threshold %d dB"
+msgstr "Umbral: %d dB"
 
-#: ../src/commands/CommandManager.cpp:323
+#: effects/Compressor.cpp:576
 #, c-format
-msgid "Plugins 1 to %i"
-msgstr "Plugins 1 a %i"
+msgid "%3d dB"
+msgstr ""
 
-#: ../src/effects/PopClick.h:29
-msgid "Pop and Click Removal..."
-msgstr "Eliminación de Pop e Click..."
+#: effects/Compressor.cpp:579
+#, c-format
+msgid "Ratio %.0f to 1"
+msgstr ""
 
-#: ../src/effects/Equalization.cpp:700
-msgid "Predefined:"
-msgstr "Predefinido:"
+#: effects/Compressor.cpp:580
+#, c-format
+msgid "%.0f:1"
+msgstr ""
 
-#: ../src/effects/Effect.cpp:247 ../src/effects/Equalization.cpp:719
-#: ../src/effects/Phaser.cpp:566 ../src/effects/Wahwah.cpp:553
-msgid "Preview"
-msgstr "Previsualización"
+#: effects/Compressor.cpp:583
+#, c-format
+msgid "Ratio %.1f to 1"
+msgstr ""
 
-#: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Ferramenta anterior\tA"
+#: effects/Compressor.cpp:584
+#, c-format
+msgid "%.1f:1"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:164 ../src/AboutDialog.cpp:168
-msgid "Primary developer"
-msgstr "Desenrolador principal"
+#: effects/Compressor.cpp:587
+#, c-format
+#, fuzzy
+msgid "Attack Time %.1f secs"
+msgstr "Tempo de ataque: %.1f segs"
 
-#: ../src/Menus.cpp:1618
-msgid "Print"
-msgstr "Imprimir"
+#: effects/Compressor.cpp:588 effects/Compressor.cpp:591
+#, c-format
+msgid "%.1f secs"
+msgstr ""
 
-#: ../src/Menus.cpp:193
-msgid "Print..."
-msgstr "Imprimir...."
+#: effects/Compressor.cpp:590
+#, c-format
+msgid "Decay Time %.1f secs"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:95
-msgid "Program build date:"
-msgstr "Data de contrucción do programa:"
+#: ../src/effects/Compressor.h:36
+msgid "Compressor..."
+msgstr "Compresor..."
 
-#: ../src/AboutDialog.cpp:172 ../src/AboutDialog.cpp:176
-#: ../src/AboutDialog.cpp:180 ../src/AboutDialog.cpp:184
-msgid "Programmer"
-msgstr "Programador"
+#: ../src/effects/Compressor.h:40
+msgid "Applying Dynamic Range Compression..."
+msgstr "Aplicando compresión de rango dinámico..."
 
-#: ../src/DirManager.cpp:157
-msgid "Progress"
-msgstr "Progreso"
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
 
-#: ../src/AboutDialog.cpp:160
-msgid "Project leader and primary programmer"
-msgstr "Lider do proxecto e programador principal"
+#: effects/Contrast.cpp:88
+msgid "Contrast Tool Foreground"
+msgstr ""
 
-#: ../src/AStatus.cpp:227
-msgid "Project rate:"
-msgstr "Frecuencia:"
+#: effects/Contrast.cpp:88
+msgid "Foreground times selected.\n"
+"Now select background and use Ctrl+Shift+T or menu again."
+msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:85
-msgid "Quality"
-msgstr "Calidade"
+#: effects/Contrast.cpp:144
+msgid "Start time after after end time!\n"
+"Please enter reasonable times."
+msgstr ""
 
-#: ../src/Mix.cpp:125
-msgid "Quick Mix"
-msgstr "Mestura rápida"
+#: effects/Contrast.cpp:154
+msgid "Times are not reasonable!\n"
+"Please enter reasonable times."
+msgstr ""
+
+#: effects/Contrast.cpp:276
+msgid "Contrast Analyzer"
+msgstr ""
 
-#: ../src/Menus.cpp:2783
-msgid "Quick mix"
-msgstr "Mestura rápida"
+#: effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:99
-msgid "Quit Audacity upon closing last window"
-msgstr "Saír de Audacity ao pechar a última fiestra"
+#: effects/Contrast.cpp:286 effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
+msgid "Start"
+msgstr ""
 
-#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
-msgid "R"
-msgstr "R"
+#: effects/Contrast.cpp:287 effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184 toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
+msgid "End"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4191
-msgid "Rate Change"
-msgstr "Cambio de frecuencia"
+#: effects/Contrast.cpp:290
+msgid "Volume    "
+msgstr ""
+
+#: effects/Contrast.cpp:293
+msgid "Foreground:"
+msgstr ""
+
+#: effects/Contrast.cpp:305
+msgid "Foreground start time"
+msgstr ""
+
+#: effects/Contrast.cpp:323
+msgid "Foreground end time"
+msgstr ""
+
+#: effects/Contrast.cpp:329 effects/Contrast.cpp:373 effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr ""
+
+#: effects/Contrast.cpp:331 effects/Contrast.cpp:375
+msgid "Use selection"
+msgstr ""
+
+#: effects/Contrast.cpp:336
+msgid "Background:"
+msgstr ""
+
+#: effects/Contrast.cpp:349
+msgid "Background start time"
+msgstr ""
+
+#: effects/Contrast.cpp:367
+msgid "Background end time"
+msgstr ""
+
+#: effects/Contrast.cpp:384
+msgid "Result"
+msgstr ""
+
+#: effects/Contrast.cpp:388
+msgid "Contrast Result:"
+msgstr ""
+
+#: effects/Contrast.cpp:391
+msgid "Reset"
+msgstr ""
+
+#: effects/Contrast.cpp:392
+msgid "Difference:"
+msgstr ""
+
+#: ../src/AboutDialog.cpp:150
+msgid "Information"
+msgstr "Información"
+
+#: effects/Contrast.cpp:405
+msgid "For measuring rms volume differences between two selections of audio."
+msgstr ""
+
+#: effects/Contrast.cpp:406
+msgid "Help for WCAG2 Audio Contrast Analyzer"
+msgstr ""
+
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr ""
+
+#: effects/Contrast.cpp:474 effects/Contrast.cpp:480 effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
+msgid "Measure"
+msgstr ""
+
+#: effects/Contrast.cpp:531
+msgid "No foreground to measure"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:446
-msgid "Ratio: "
-msgstr "Proporción: "
+#: effects/Contrast.cpp:536
+msgid "Measured foreground level"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:523
+#: effects/Contrast.cpp:537 effects/Contrast.cpp:547
 #, c-format
-msgid "Ratio: %.0f:1"
-msgstr "Proporción: %.0f:1"
+msgid "%.1f dB"
+msgstr ""
+
+#: effects/Contrast.cpp:541
+msgid "No background to measure"
+msgstr ""
+
+#: effects/Contrast.cpp:546
+msgid "Measured background level"
+msgstr ""
+
+#: effects/Contrast.cpp:552
+msgid "WCAG2 Pass"
+msgstr ""
+
+#: effects/Contrast.cpp:554
+msgid "WCAG2 Fail"
+msgstr ""
+
+#: effects/Contrast.cpp:555
+msgid "Current difference"
+msgstr ""
 
-#: ../src/effects/Compressor.cpp:525
+#: effects/Contrast.cpp:556
 #, c-format
-msgid "Ratio: %.1f:1"
-msgstr "Proporción: %.1f:1"
+msgid "%.1f dB Average rms"
+msgstr ""
 
-#. i18n-hint: This refers to files that are opened directly
-#. without looking at the file header.  Same as "Import Raw"
-#: ../src/Project.cpp:2228
-msgid "Raw"
-msgstr "En bruto"
+#: effects/Contrast.cpp:561
+msgid "Please enter valid times."
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:79
-msgid "Read directly from the original file (faster)"
-msgstr "Ler directamente dende o arquivo orixinal (máis rápido)"
+#: effects/Contrast.cpp:571
+msgid "Export Contrast Result As:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Fusionado en tempo real:"
+#: effects/Contrast.cpp:592
+msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Conversor de frecuencia de mostreo en tempo real:"
+#: effects/Contrast.cpp:594
+#, c-format
+msgid "Filename = %s."
+msgstr ""
 
-#: ../src/Menus.cpp:154
-msgid "Recent &Files..."
-msgstr "A&rquivos recentes..."
+#: effects/Contrast.cpp:596
+msgid "Foreground"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
-msgid "Record"
-msgstr "Gravar"
+#: effects/Contrast.cpp:601 effects/Contrast.cpp:618
+#, c-format
+msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
+msgstr ""
 
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Gravar\tR"
+#: effects/Contrast.cpp:606 effects/Contrast.cpp:623
+#, c-format
+msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
+msgstr ""
 
-#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
-msgid "Recorded Audio"
-msgstr "Audio gardado"
+#: effects/Contrast.cpp:608 effects/Contrast.cpp:625
+#, c-format
+msgid "Average rms = %.1f dB."
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Gravación"
+#: effects/Contrast.cpp:610 effects/Contrast.cpp:627
+msgid "Average rms =  dB."
+msgstr ""
+
+#: effects/Contrast.cpp:613
+msgid "Background"
+msgstr ""
+
+#: effects/Contrast.cpp:629
+msgid "Results"
+msgstr ""
 
-#: ../src/Project.cpp:2694
+#: effects/Contrast.cpp:631
 #, c-format
-msgid "Recording time remaining: %d hours and %d minutes"
-msgstr "Tempo restante de gravación: %d horas e %d minutos"
+msgid "Difference = %.1f Average rms dB."
+msgstr ""
+
+#: effects/Contrast.cpp:633
+msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
+msgstr ""
+
+#: effects/Contrast.cpp:635
+msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
+msgstr ""
+
+#: effects/Contrast.cpp:638
+msgid "Data gathered"
+msgstr ""
+
+#: effects/DtmfGen.cpp:56
+msgid "DTMF Tone Generator"
+msgstr ""
+
+#: effects/DtmfGen.cpp:421
+msgid "by Salvo Ventura (2006)"
+msgstr ""
+
+#: effects/DtmfGen.cpp:425
+msgid "DTMF sequence:"
+msgstr ""
+
+#: ../src/effects/ToneGen.cpp:293
+msgid "Amplitude (0-1)"
+msgstr "Amplitude (0-1)"
 
-#: ../src/Project.cpp:2700
+#: effects/DtmfGen.cpp:430
+msgid "Duration:"
+msgstr ""
+
+#: effects/DtmfGen.cpp:452
+msgid "Tone/silence ratio:"
+msgstr ""
+
+#: effects/DtmfGen.cpp:462
+msgid "Duty cycle:"
+msgstr ""
+
+#: effects/DtmfGen.cpp:464
+msgid "Tone duration:"
+msgstr ""
+
+#: effects/DtmfGen.cpp:465 effects/DtmfGen.cpp:467 effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
+msgid "ms"
+msgstr ""
+
+#: effects/DtmfGen.cpp:466
+msgid "Silence duration:"
+msgstr ""
+
+#: effects/DtmfGen.h:40
+msgid "DTMF Tones..."
+msgstr ""
+
+#: effects/DtmfGen.h:54
 #, c-format
-msgid "Recording time remaining: %d minutes"
-msgstr "Tempo restante de gravación: %d minutos"
+msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
+msgstr ""
 
-#: ../src/Project.cpp:2703
+#: effects/DtmfGen.h:58
+msgid "Generating DTMF tones"
+msgstr ""
+
+#: ../src/effects/Echo.cpp:33
 #, c-format
-msgid "Recording time remaining: %d seconds"
-msgstr "Tempo restante de gravación: %d segundos"
+msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
+msgstr "Efecto aplicado: %s retraso = %f segundos, factor de decaemento = %f"
 
-#: ../src/Project.cpp:2697
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
+msgid "Echo"
+msgstr "Eco"
+
+#: ../src/effects/Echo.cpp:182
+msgid "by Dominic Mazzoni && Vaughan Johnson"
+msgstr "por Dominic Mazzoni && Vaughan Johnson"
+
+#: ../src/effects/Echo.cpp:192
+msgid "Delay time (seconds):"
+msgstr "Tempo de retraso (segundos):"
+
+#: ../src/effects/Echo.cpp:211
+msgid "Decay factor:"
+msgstr "Factor de decaemento:"
+
+#: ../src/effects/Echo.h:36
+msgid "Echo..."
+msgstr "Eco..."
+
+#: ../src/effects/Echo.h:40
+msgid "Performing Echo"
+msgstr "Aplicando Eco"
+
+#: effects/Effect.cpp:520
+msgid "Preparing preview"
+msgstr ""
+
+#: effects/Effect.cpp:550
+msgid "Previewing"
+msgstr ""
+
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:330
+msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
+msgstr "Erro ao abrir dispositivo de son. Por favor verifique a configuración do dispositivo de saída e a frecuencia de mostreo do proxecto."
+
+#: ../src/effects/Effect.h:84
 #, c-format
-msgid "Recording time remaining: 1 hour and %d minutes"
-msgstr "Tempo restante de gravación: 1 hora e %d minutos"
+msgid "Applied effect: %s"
+msgstr "Efecto aplicado: %s"
 
-#: ../src/prefs/QualityPrefs.cpp:161
-msgid "Rectangle"
-msgstr "Rectángulo"
+#: effects/Equalization.cpp:336
+msgid "B-spline"
+msgstr ""
 
-#: ../src/FFT.cpp:364
-msgid "Rectangular"
-msgstr "Rectangular"
+#: effects/Equalization.cpp:337
+msgid "Cosine"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:160
-msgid "Redo"
-msgstr "Refacer"
+#: effects/Equalization.cpp:338
+msgid "Cubic"
+msgstr ""
 
-#: ../src/Menus.cpp:398
-msgid "Remo&ve Tracks"
-msgstr "E&liminar pistas"
+#: ../src/effects/Equalization.cpp:156
+msgid "Equalization"
+msgstr "Ecualización"
 
-#: ../src/effects/NoiseRemoval.cpp:455
-msgid "Remove Noise"
-msgstr "Eliminar ruido"
+#: effects/Equalization.cpp:1012
+msgid "Error loading EQ curve"
+msgstr ""
 
-#: ../src/Menus.cpp:3122
-msgid "Remove Track"
-msgstr "Eliminar pista"
+#: effects/Equalization.cpp:1051
+msgid "custom"
+msgstr ""
 
-#: ../src/effects/Normalize.cpp:239
-msgid "Remove any DC offset (center on 0 vertically)"
-msgstr "Eliminar calquera desaliñación vertical (centrar en cero)"
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
 
-#: ../src/effects/ClickRemoval.cpp:363
-msgid "Remove clicks"
-msgstr "E&liminar click"
+#. i18n-hint: && in here is an escape character to get a single &
+#. * on screen, so keep it as is
+#: effects/Equalization.cpp:1123
+msgid "Equalization, by Martyn Shaw && Mitch Golden"
+msgstr ""
 
-#: ../src/Menus.cpp:3122
-msgid "Removed audio track(s)"
-msgstr "Pista(s) de audio eliminadas"
+#: effects/Equalization.cpp:1144
+msgid "Max dB"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2703
+#: effects/Equalization.cpp:1146
+msgid "Min dB"
+msgstr ""
+
+#: effects/Equalization.cpp:1219
+msgid "kHz"
+msgstr ""
+
+#: effects/Equalization.cpp:1236
+msgid "Draw curves"
+msgstr ""
+
+#: effects/Equalization.cpp:1241
+msgid "Graphic EQ"
+msgstr ""
+
+#: effects/Equalization.cpp:1255
+msgid "Linear frequency scale"
+msgstr ""
+
+#: effects/Equalization.cpp:1264
+msgid "Length of filter:"
+msgstr ""
+
+#: effects/Equalization.cpp:1285
+msgid "Select curve:"
+msgstr ""
+
+#: effects/Equalization.cpp:1295 effects/Equalization.cpp:2553
+#: export/ExportMultiple.cpp:924
+msgid "Save As..."
+msgstr ""
+
+#: effects/Equalization.cpp:1301
+msgid "Flat"
+msgstr ""
+
+#: effects/Equalization.cpp:2552
+msgid "Enter the desired name of the curve"
+msgstr ""
+
+#: effects/Equalization.cpp:2652 export/ExportFFmpegDialogs.cpp:1214
+msgid "Confirm Deletion"
+msgstr ""
+
+#: ../src/effects/Equalization.h:38
+msgid "Equalization..."
+msgstr "Ecualización..."
+
+#: ../src/effects/Equalization.h:42
+msgid "Performing Equalization"
+msgstr "Aplicando ecualización"
+
+#: ../src/effects/Fade.h:23
+msgid "Fade In"
+msgstr "Fade In (Aparecer)"
+
+#: ../src/effects/Fade.h:27
+msgid "Fading In"
+msgstr "Aplicando Fade In"
+
+#: ../src/effects/Fade.h:43
+msgid "Fade Out"
+msgstr "Fade Out (Desvanecer)"
+
+#: ../src/effects/Fade.h:47
+msgid "Fading Out"
+msgstr "Aplicando Fade Out"
+
+#: effects/FindClipping.cpp:50
+msgid "Detect clipping"
+msgstr ""
+
+#: effects/FindClipping.cpp:93
+msgid "Clipping"
+msgstr ""
+
+#: effects/FindClipping.cpp:213
+msgid "Find Clipping"
+msgstr ""
+
+#: effects/FindClipping.cpp:224
+msgid "by Leland Lucius"
+msgstr ""
+
+#: effects/FindClipping.cpp:236
+msgid "Start threshold (samples):"
+msgstr ""
+
+#: effects/FindClipping.cpp:240
+msgid "Stop threshold (samples):"
+msgstr ""
+
+#: effects/FindClipping.cpp:252
+msgid "Start and stop must be greater than 0."
+msgstr ""
+
+#: effects/FindClipping.h:37
+msgid "Find Clipping..."
+msgstr ""
+
+#: effects/FindClipping.h:54
+msgid "Detecting clipping"
+msgstr ""
+
+#: ../src/effects/Invert.h:27
+msgid "Invert"
+msgstr "Invertir"
+
+#: ../src/effects/Invert.h:31
+msgid "Inverting"
+msgstr "Invirtindo"
+
+#: effects/Leveller.cpp:192
+msgid "Leveller"
+msgstr ""
+
+#: effects/Leveller.cpp:205
+msgid "None-Skip"
+msgstr ""
+
+#: effects/Leveller.cpp:206
+msgid "Light"
+msgstr ""
+
+#: effects/Leveller.cpp:207
+msgid "Moderate"
+msgstr ""
+
+#: effects/Leveller.cpp:208
+msgid "Heavy"
+msgstr ""
+
+#: effects/Leveller.cpp:209
+msgid "Heavier"
+msgstr ""
+
+#: effects/Leveller.cpp:210
+msgid "Heaviest"
+msgstr ""
+
+#: effects/Leveller.cpp:214
+msgid "by Lynn Allan"
+msgstr ""
+
+#: effects/Leveller.cpp:224
+msgid "Degree of Leveling"
+msgstr ""
+
+#: effects/Leveller.cpp:228
+msgid "Degree of Leveling:"
+msgstr ""
+
+#: effects/Leveller.cpp:236
+msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
+msgstr ""
+
+#: effects/Leveller.cpp:240
+msgid "Threshold for Noise:"
+msgstr ""
+
+#: effects/Leveller.h:28
+msgid "Leveller..."
+msgstr ""
+
+#: effects/Leveller.h:42
+msgid "Applying Leveller..."
+msgstr ""
+
+#: effects/LoadEffects.cpp:102
+msgid "Generator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:104
+msgid "Instrument"
+msgstr ""
+
+#: effects/LoadEffects.cpp:106
+msgid "Oscillator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:108
+msgid "Utility"
+msgstr ""
+
+#: effects/LoadEffects.cpp:110
+msgid "Converter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:112
+msgid "Analyser"
+msgstr ""
+
+#: effects/LoadEffects.cpp:116
+msgid "Simulator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:118
+msgid "Delay"
+msgstr ""
+
+#: effects/LoadEffects.cpp:120
+msgid "Modulator"
+msgstr ""
+
+#: effects/LoadEffects.cpp:122
+msgid "Reverb"
+msgstr ""
+
+#: ../src/effects/Phaser.cpp:59
+msgid "Phaser"
+msgstr "Fase"
+
+#: effects/LoadEffects.cpp:126
+msgid "Flanger"
+msgstr ""
+
+#: effects/LoadEffects.cpp:128
+msgid "Chorus"
+msgstr ""
+
+#: effects/LoadEffects.cpp:130
+msgid "Filter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:132
+msgid "Lowpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:134
+msgid "Bandpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:136
+msgid "Highpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:138
+msgid "Comb"
+msgstr ""
+
+#: effects/LoadEffects.cpp:140
+msgid "Allpass"
+msgstr ""
+
+#: effects/LoadEffects.cpp:142
+msgid "Equaliser"
+msgstr ""
+
+#: effects/LoadEffects.cpp:144
+msgid "Parametric"
+msgstr ""
+
+#: effects/LoadEffects.cpp:146
+msgid "Multiband"
+msgstr ""
+
+#: effects/LoadEffects.cpp:148
+msgid "Spectral Processor"
+msgstr ""
+
+#: effects/LoadEffects.cpp:150
+msgid "Pitch Shifter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:152
+msgid "Amplifier"
+msgstr ""
+
+#: effects/LoadEffects.cpp:154
+msgid "Distortion"
+msgstr ""
+
+#: effects/LoadEffects.cpp:156
+msgid "Waveshaper"
+msgstr ""
+
+#: effects/LoadEffects.cpp:158
+msgid "Dynamics Processor"
+msgstr ""
+
+#: effects/LoadEffects.cpp:160
+msgid "Compressor"
+msgstr ""
+
+#: effects/LoadEffects.cpp:162
+msgid "Expander"
+msgstr ""
+
+#: effects/LoadEffects.cpp:164
+msgid "Limiter"
+msgstr ""
+
+#: effects/LoadEffects.cpp:166
+msgid "Gate"
+msgstr ""
+
+#: ../src/effects/NoiseRemoval.cpp:69
+msgid "Noise Removal"
+msgstr "Eliminación de ruido"
+
+#: effects/LoadEffects.cpp:201
+msgid "Pitch and Tempo"
+msgstr ""
+
+#: effects/LoadEffects.cpp:203
+msgid "Timeline Changer"
+msgstr ""
+
+#: effects/LoadEffects.cpp:205
+msgid "Time"
+msgstr ""
+
+#: effects/LoadEffects.cpp:207
+msgid "Onsets"
+msgstr ""
+
+#: effects/Noise.cpp:37
+msgid "White"
+msgstr ""
+
+#: effects/Noise.cpp:38
+msgid "Pink"
+msgstr ""
+
+#: effects/Noise.cpp:39
+msgid "Brown"
+msgstr ""
+
+#: effects/Noise.cpp:41
+msgid "Noise Generator"
+msgstr ""
+
+#: effects/Noise.cpp:189
+msgid "Noise type"
+msgstr ""
+
+#: effects/Noise.h:42
+msgid "Noise..."
+msgstr ""
+
+#: effects/Noise.h:56
 #, c-format
-msgid "Removed track '%s.'"
-msgstr "Pista '%s' eliminada"
+msgid "Applied effect: Generate Noise, %.6lf seconds"
+msgstr ""
+
+#: effects/Noise.h:60
+msgid "Generating Noise"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:192
+#, c-format
+msgid "Could not open file:\n"
+"  %s"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:277
+msgid "Attempt to run Noise Removal without a noise profile.\n"
+msgstr ""
+
+#: ../src/effects/NoiseRemoval.cpp:410
+msgid "Step 1"
+msgstr "Paso 1"
+
+#: effects/NoiseRemoval.cpp:820
+msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+"then click Get Noise Profile:"
+msgstr ""
+
+#: ../src/effects/NoiseRemoval.cpp:427
+msgid "Step 2"
+msgstr "Paso 2"
+
+#: effects/NoiseRemoval.cpp:822
+msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+"filtered out, and then click 'OK' to remove noise.\n"
+msgstr ""
+
+#: ../src/effects/NoiseRemoval.cpp:403
+msgid "Noise Removal by Dominic Mazzoni"
+msgstr "Eliminación de ruido por Dominic Mazzoni"
+
+#: ../src/effects/NoiseRemoval.cpp:419
+msgid "Get Noise Profile"
+msgstr "Obter perfil de ruido"
+
+#: effects/NoiseRemoval.cpp:846
+msgid "Noise reduction (dB):"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:851
+msgid "Noise reduction"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:855
+msgid "Frequency smoothing (Hz):"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:860
+msgid "Frequency smoothing"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:864
+msgid "Attack/decay time (secs):"
+msgstr ""
+
+#: effects/NoiseRemoval.cpp:869
+msgid "Attach/decay time"
+msgstr ""
+
+#: ../src/effects/NoiseRemoval.h:38
+msgid "Noise Removal..."
+msgstr "Eliminación de ruido..."
+
+#: ../src/effects/NoiseRemoval.h:43
+msgid "Creating Noise Profile"
+msgstr "Creando perfil de ruido"
 
 #: ../src/effects/NoiseRemoval.h:45
 msgid "Removing Noise"
 msgstr "Eliminando ruido"
 
-#: ../src/effects/ClickRemoval.h:46
-msgid "Removing clicks and pops..."
-msgstr "Eliminando ruido non desexado..."
+#. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
+#: effects/Normalize.cpp:70
+#, c-format
+msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
+msgstr ""
 
-#: ../src/effects/PopClick.h:33
-msgid "Removing unwanted noise"
-msgstr "Eliminando ruido non desexado"
+#. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "true"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4420
+#: effects/Normalize.cpp:77
 #, c-format
-msgid "Renamed '%s' to '%s'"
-msgstr "Renomeouse '%s' a '%s'"
+msgid ", maximum amplitude = %.1f dB"
+msgstr ""
 
-#: ../src/DirManager.cpp:643
-#, c-format
-msgid "Renamed file: %s\n"
-msgstr "Arquivo renomeado: %s\n"
+#: ../src/effects/Normalize.cpp:29
+msgid "Normalize"
+msgstr "Normalizar"
 
-#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
-msgid "Repeat"
-msgstr "Repetir"
+#: effects/Normalize.cpp:355
+msgid "Remove any DC offset (center on 0.0 vertically)"
+msgstr ""
 
-#: ../src/Menus.cpp:1248
+#: effects/Normalize.cpp:358
+msgid "Normalize maximum amplitude to:"
+msgstr ""
+
+#: effects/Normalize.cpp:366
+msgid "-"
+msgstr ""
+
+#: effects/Normalize.cpp:371
+msgid "Maximum amplitude dB"
+msgstr ""
+
+#: ../src/effects/Normalize.h:34
+msgid "Normalize..."
+msgstr "Normalizar..."
+
+#: ../src/effects/Normalize.h:38
+msgid "Normalizing..."
+msgstr "Normalizando..."
+
+#: ../src/effects/Phaser.cpp:47
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetir %s\tCtrl+R"
+msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
+msgstr "Efecto aplicado: %s %d etapas, %.0f%% wet frecuencia = %.1f Hz, fase inicial = %.0f grad, profundidade = %d, retroalimentación = %.0f%%"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetir último efecto\tCtrl+R"
+#: ../src/effects/Phaser.cpp:455
+msgid "Stages:"
+msgstr "Etapas:"
 
-#: ../src/effects/Repeat.cpp:222
-msgid "Repeat by Dominic Mazzoni && Vaughan Johnson"
-msgstr "Repetición por Dominic Mazzoni && Vaughan Johnson"
+#: effects/Phaser.cpp:231
+msgid "Stages"
+msgstr ""
 
-#: ../src/effects/Repeat.h:34
-msgid "Repeat..."
-msgstr "Repetir..."
+#: effects/Phaser.cpp:236
+msgid "Dry/Wet:"
+msgstr ""
+
+#: effects/Phaser.cpp:239
+msgid "Dry Wet"
+msgstr ""
+
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
+msgid "LFO Frequency (Hz):"
+msgstr "Frecuencia LFO (Hz):"
+
+#: effects/Phaser.cpp:247 effects/Wahwah.cpp:225
+msgid "LFO frequency in hertz"
+msgstr ""
+
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
+msgid "LFO Start Phase (deg.):"
+msgstr "Fase de Inicio LFO (grados):"
+
+#: effects/Phaser.cpp:255 effects/Wahwah.cpp:233
+msgid "LFO start phase in degrees"
+msgstr ""
+
+#: ../src/effects/Phaser.cpp:529
+msgid "Depth:"
+msgstr "Profundidade:"
+
+#: effects/Phaser.cpp:263 effects/Wahwah.cpp:241
+msgid "Depth in percent"
+msgstr ""
+
+#: ../src/effects/Phaser.cpp:545
+msgid "Feedback (%):"
+msgstr "Retroalimentación (%):"
+
+#: effects/Phaser.cpp:271
+msgid "Feedback in percent"
+msgstr ""
+
+#: ../src/effects/Phaser.h:41
+msgid "Phaser..."
+msgstr "Fase..."
+
+#: ../src/effects/Phaser.h:45
+msgid "Applying Phaser"
+msgstr "Aplicando Fase"
+
+#: effects/Repair.cpp:99
+msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+"\n"
+"Zoom in and select a tiny fraction of a second to repair."
+msgstr ""
+
+#: effects/Repair.cpp:105
+msgid "Repair works by using audio data outside the selection region.\n"
+"\n"
+"Please select a region that has audio touching at least one side of it.\n"
+"\n"
+"The more surrounding audio, the better it performs."
+msgstr ""
+
+#: effects/Repair.h:43
+msgid "Repairing damaged audio"
+msgstr ""
 
 #: ../src/effects/Repeat.cpp:31
 #, c-format
 msgid "Repeated %d times"
 msgstr "Repetido %d veces"
 
-#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
-msgid "Resampling disabled."
-msgstr "Remostreo desactivado."
+#: ../src/effects/Repeat.cpp:57
+msgid "Tracks are too long to repeat the selection."
+msgstr "As pistas son moi longas para repetir a selección."
 
-#: ../src/effects/Wahwah.cpp:516
-msgid "Resonance:"
-msgstr "Resonancia:"
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
+msgid "Repeat"
+msgstr "Repetir"
+
+#: effects/Repeat.cpp:209
+#, fuzzy
+msgid "Number of times to repeat:"
+msgstr "Número de veces a repetir: "
+
+#: effects/Repeat.cpp:218
+msgid "New selection length: hh:mm:ss"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:704
-msgid "Restore Defaults"
-msgstr "Restaurar predeterminados"
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
+msgid "New selection length: "
+msgstr "Nova lonxitude de selección: "
+
+#. i18n-hint: Name of time display format that shows time in hours, minutes
+#. * and seconds
+#: effects/Repeat.cpp:259 widgets/TimeTextCtrl.cpp:271
+msgid "hh:mm:ss"
+msgstr ""
+
+#: ../src/effects/Repeat.h:34
+msgid "Repeat..."
+msgstr "Repetir..."
+
+#: ../src/effects/Repeat.h:38
+msgid "Performing Repeat"
+msgstr "Aplicando repetición"
 
 #: ../src/effects/Reverse.h:30
 msgid "Reverse"
@@ -3321,1023 +5444,2940 @@ msgstr "Revertir"
 msgid "Reversing"
 msgstr "Revirtindo"
 
-#: ../src/widgets/ASlider.cpp:491
-msgid "Right"
-msgstr "Der"
+#: effects/Silence.cpp:32
+msgid "Silence Generator"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:842
-msgid "Right Channel"
-msgstr "Canle dereito"
+#: effects/Silence.h:34
+msgid "Silence..."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:107
-msgid "Right Click"
-msgstr "Clic dereito"
+#: ../src/effects/Silence.h:37
+msgid "Generating Silence"
+msgstr "Xerando silencio"
 
-#: ../src/prefs/MousePrefs.cpp:108
-msgid "Right Drag"
-msgstr "Arrastre dereito"
+#: ../src/effects/Silence.h:42
+#, c-format
+msgid "Applied effect: Generate Silence, %.6lf seconds"
+msgstr "Efecto aplicado: Xerar Silencio, %.6lf segundos"
 
-#: ../src/TrackPanel.cpp:4094
-msgid "Right, "
-msgstr "Dereito,"
+#: effects/SimplePairedTwoTrack.h:115
+msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:94
-msgid "Right-Click"
-msgstr "Clic-Dereito"
+#: effects/SpikeCleaner.cpp:69
+msgid "Spike Cleaner"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:95
-msgid "Right-Drag"
-msgstr "Arrastre-dereito"
+#: effects/SpikeCleaner.cpp:160
+msgid "SpikeCleaner by Lynn Allan"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:95
-msgid "Same as Left-Drag"
-msgstr "Igual que arrastre-esquerdo"
+#: effects/SpikeCleaner.cpp:165
+msgid "Max Spike Duration (milliseconds): \n"
+"(99999 or greater is off)"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
-msgid "Same as select tool"
-msgstr "Igual que ferramenta de selección"
+#: effects/SpikeCleaner.cpp:178
+msgid "Theshold for silence: "
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
-msgid "Same as zoom tool"
-msgstr "Igual que ferramenta de zoom"
+#: effects/SpikeCleaner.h:27
+msgid "Spike Cleaner..."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2638
-msgid "Sample Edit"
-msgstr "Edición de mostreo"
+#: effects/SpikeCleaner.h:35
+msgid "Applying Spike Cleaner..."
+msgstr ""
 
-#: ../src/import/ImportRaw.cpp:370
-msgid "Sample rate:"
-msgstr "Frecuencia de mostreo:"
+#: effects/StereoToMono.h:23
+msgid "&Stereo to Mono"
+msgstr ""
 
-#: ../src/export/Export.cpp:175
-#, c-format
-msgid "Save %s File As:"
-msgstr "Gardar arquivo %s como:"
+#: effects/StereoToMono.h:38
+msgid "Applying Stereo to Mono"
+msgstr ""
 
-#: ../src/Menus.cpp:150
-msgid "Save Project &As..."
-msgstr "Gardar proxecto &como..."
+#: effects/TimeScale.cpp:140
+msgid "Time Scale"
+msgstr ""
 
-#: ../src/Project.cpp:2376
-msgid "Save Project As:"
-msgstr "Gardar proxecto como:"
+#: effects/TimeScale.cpp:176
+msgid "Sliding Time Scale/Pitch Shift"
+msgstr ""
 
-#: ../src/Project.cpp:1716
-msgid "Save changes before closing?"
-msgstr "¿Gardar cambios antes de pechar?"
+#: effects/TimeScale.cpp:178
+msgid "using SBSMS, by Clayton Otey"
+msgstr ""
 
-#: ../src/Project.cpp:1717
-msgid "Save changes?"
-msgstr "¿Gardar cambios?"
+#: effects/TimeScale.cpp:187
+msgid "Initial Tempo Change (%):"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:125
-msgid "Save..."
-msgstr "Gardar..."
+#: effects/TimeScale.cpp:191
+msgid "Final Tempo Change (%):"
+msgstr ""
 
-#: ../src/Project.cpp:2200
+#: effects/TimeScale.cpp:202
+msgid "Initial Tempo Change (%)"
+msgstr ""
+
+#: effects/TimeScale.cpp:211
+msgid "Final Tempo Change (%)"
+msgstr ""
+
+#: effects/TimeScale.cpp:219
+msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
+msgstr ""
+
+#: effects/TimeScale.cpp:223
+msgid "Final Pitch Shift (semitones) [-12 to 12]:"
+msgstr ""
+
+#: effects/TimeScale.h:33
+msgid "Sliding Time Scale/Pitch Shift..."
+msgstr ""
+
+#: effects/TimeScale.h:47
+msgid "Changing Tempo/Pitch"
+msgstr ""
+
+#: effects/ToneGen.cpp:61
 #, c-format
-msgid "Saved %s"
-msgstr "Gardouse %s"
+msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
+msgstr ""
+
+#: ../src/widgets/Meter.cpp:292
+msgid "Linear"
+msgstr "Liñal"
+
+#: effects/ToneGen.cpp:70
+msgid "Logarithmic"
+msgstr ""
+
+#: effects/ToneGen.cpp:71
+msgid "Chirp Generator"
+msgstr ""
+
+#: ../src/effects/ToneGen.cpp:43
+msgid "Tone Generator"
+msgstr "Xerador de tonos"
+
+#: ../src/effects/ToneGen.cpp:48
+msgid "Sine"
+msgstr "Sinusoide"
+
+#: ../src/effects/ToneGen.cpp:49
+msgid "Square"
+msgstr "Cadrado"
 
 #: ../src/effects/ToneGen.cpp:50
 msgid "Sawtooth"
 msgstr "Dente de serra"
 
-#: ../src/prefs/MousePrefs.cpp:110
-msgid "Scroll up or down"
-msgstr "Desprazamento arriba ou abaixo"
+#: effects/ToneGen.cpp:75
+msgid "Square, no alias"
+msgstr ""
 
-#: ../src/Help.cpp:109
-msgid "Search for?"
-msgstr "Buscar por?"
+#: effects/ToneGen.cpp:277 effects/ToneGen.cpp:314
+msgid "Frequency (Hz)"
+msgstr ""
 
-#: ../src/Help.cpp:110
-msgid "Search help for keyword"
-msgstr "Buscar axuda para a palabra clave"
+#: ../src/effects/ToneGen.cpp:263
+msgid "Waveform:"
+msgstr "Forma de onda:"
 
-#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:90
-msgid "Select"
-msgstr "Seleccionar"
+#: effects/ToneGen.cpp:314
+msgid "Frequency Hertz Start"
+msgstr ""
 
-#: ../src/Menus.cpp:2672
-msgid "Select a MIDI file..."
-msgstr "Seleccionar  un arquivo MIDI..."
+#: effects/ToneGen.cpp:315
+msgid "Frequency Hertz End"
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:413
-msgid ""
-"Select a few seconds of just noise\n"
-"so Audacity knows what to filter out, then\n"
-"click Get Noise Profile:"
+#: effects/ToneGen.cpp:316
+msgid "Amplitude Start"
 msgstr ""
-"Selecciona uns segundos só de Ruido\n"
-"así Audacity sabe que filtrar, logo\n"
-"cliquea Obter Perfil de Ruido:"
 
-#: ../src/Menus.cpp:2631
-msgid "Select a text file containing labels..."
-msgstr "Selecciona un arquivo de texto que conteña etiquetas..."
+#: effects/ToneGen.cpp:317
+msgid "Amplitude End"
+msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:430
-msgid ""
-"Select all of the audio you want filtered,\n"
-"choose how much noise you want filtered out,\n"
-"and then click Remove Noise.\n"
+#: effects/ToneGen.cpp:322
+msgid "Interpolation:"
 msgstr ""
-"Seleccione todo o audio que queiras filtrar,\n"
-"elixe que tanto ruido desexas eliminar,\n"
-"e logo fai clic en Eliminar ruido.\n"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:188
-msgid "Select an XML file containing Audacity keyboard shortcuts..."
+#: effects/ToneGen.h:40
+msgid "Chirp..."
 msgstr ""
-"Seleccione un arquivo XML que conteña accesos directos de teclado de "
-"Audacity..."
 
-#: ../src/Menus.cpp:2709
-msgid "Select any uncompressed audio file..."
-msgstr "Seleccione un arquivo de audio descomprimido..."
+#: ../src/effects/ToneGen.h:40
+msgid "Tone..."
+msgstr "Tono..."
 
-#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
-msgid "Select one or more audio files..."
-msgstr "Seleccione un ou máis arquivos de audio..."
+#: effects/ToneGen.h:54
+msgid "Generating Chirp"
+msgstr ""
 
-#: ../src/Menus.cpp:268
-msgid "Select..."
-msgstr "Seleccionar..."
+#: ../src/effects/ToneGen.h:44
+msgid "Generating Tone"
+msgstr "Xerando tono"
 
-#: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contracción de Selección á esquerda\tCtrl+Maiús+Dereita"
+#: effects/TruncSilence.cpp:133
+msgid "All tracks must have the same sample rate"
+msgstr ""
 
-#: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contracción de Selección á dereita\tCtrl+Maiús+Esquerda"
+#: effects/TruncSilence.cpp:133 effects/TruncSilence.cpp:443
+msgid "Truncate Silence"
+msgstr ""
 
-#: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Extensión de selección á esquerda\tCtrl+Maiús+Esquerda"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Extensión de selección á dereita\tCtrl+Maiús+Dereita"
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
-#: ../src/Menus.cpp:281
-msgid "Selection Restore"
-msgstr "Restaurar selección"
+#: effects/TruncSilence.cpp:470 effects/TruncSilence.cpp:474
+#: prefs/MidiIOPrefs.cpp:169 prefs/MidiIOPrefs.cpp:171
+msgid "milliseconds"
+msgstr ""
 
-#: ../src/Menus.cpp:280
-msgid "Selection Save"
-msgstr "Gardar selección"
+#: effects/TruncSilence.cpp:471
+msgid "Max silence duration:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Ferramenta de selección"
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
 
-#: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Ferramenta de selección\tF1"
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
 
-#: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Seleccionar ata o final\tMaiús+Fin"
+#: effects/TruncSilence.cpp:480
+msgid "Threshold for silence:"
+msgstr ""
 
-#: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleccionar ata o comezo\tMaiús+Inicio"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+
+#: effects/TruncSilence.h:29
+msgid "Truncate Silence..."
+msgstr ""
+
+#: effects/TruncSilence.h:43
+msgid "Truncating Silence..."
+msgstr ""
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Configuración do efecto"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Ningún"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:415
+#: effects/VST/VSTEffect.cpp:626
 #, c-format
-msgid "Selection: %.3lf - %.3lf (%.3lf NTSC frames)   %s"
-msgstr "Selección: %.3lf - %.3lf (%.3lf cadros NTSC)   %s"
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
 
-#: ../src/FormatSelection.cpp:337
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
+
+#: ../src/effects/Wahwah.cpp:41
 #, c-format
-msgid "Selection: %.3lf - %.3lf (%.3lf PAL frames)   %s"
-msgstr "Selección: %.3lf - %.3lf (%.3lf cadros PAL)   %s"
+msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
+msgstr "Efecto aplicado: frecuencia %s = %.1f Hz, fase inicial = %.0f grad, profundidade= %.0f%%, resonancia = %.1f, frecuencia inicial = %.0f%%"
+
+#: ../src/effects/Wahwah.cpp:52
+msgid "Wahwah"
+msgstr "Wahwah"
+
+#: ../src/effects/Wahwah.cpp:500
+msgid "Depth (%):"
+msgstr "Profundidade (%):"
+
+#: ../src/effects/Wahwah.cpp:516
+msgid "Resonance:"
+msgstr "Resonancia:"
+
+#: effects/Wahwah.cpp:249
+msgid "Resonance"
+msgstr ""
+
+#: ../src/effects/Wahwah.cpp:532
+msgid "Wah Frequency Offset (%):"
+msgstr "Comenzo de Frecuencia Wah (%):"
+
+#: effects/Wahwah.cpp:257
+msgid "Wah frequency offset in percent"
+msgstr ""
+
+#: ../src/effects/Wahwah.h:39
+msgid "Wahwah..."
+msgstr "Wahwah..."
+
+#: ../src/effects/Wahwah.h:43
+msgid "Applying Wahwah"
+msgstr "Aplicando Wahwah"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:137
+#, c-format
+msgid "Performing Effect: %s"
+msgstr "Aplicando efecto: %s"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:157
+msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
+msgstr "Síntoo, Efectos VST non poden ser aplicados en pistas estéreo onde as canles individuais da pista non coinciden."
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:437
+msgid "Author: "
+msgstr "Autor: "
+
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
+msgid "Length (seconds)"
+msgstr "Lonxitude (segundos)"
+
+#: effects/lv2/LV2Effect.cpp:824 effects/lv2/LV2Effect.cpp:827
+msgid "Note length (seconds)"
+msgstr ""
+
+#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
+msgid "Note velocity"
+msgstr ""
+
+#: effects/lv2/LV2Effect.cpp:846 effects/lv2/LV2Effect.cpp:849
+msgid "Note key"
+msgstr ""
+
+#: ../src/effects/nyquist/Nyquist.cpp:217
+msgid "Applying Nyquist Effect..."
+msgstr "Aplicando Efecto Nyquist..."
+
+#: ../src/effects/nyquist/Nyquist.cpp:224
+msgid "Nyquist Prompt..."
+msgstr "Comando Nyquist..."
+
+#: ../src/effects/nyquist/Nyquist.cpp:282
+msgid "Enter Nyquist Command: "
+msgstr "Introduza comando Nyquist: "
+
+#: ../src/effects/nyquist/Nyquist.cpp:370
+msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
+msgstr "Síntoo, non pode aplicarse o efecto en pistas estéreo onde as pistas non coinciden."
+
+#: ../src/effects/nyquist/Nyquist.cpp:397
+msgid "Nyquist"
+msgstr "Nyquist"
+
+#: ../src/effects/nyquist/Nyquist.cpp:398
+msgid "Nyquist Output: "
+msgstr "Saída Nyquist: "
+
+#: effects/nyquist/Nyquist.cpp:656 effects/nyquist/Nyquist.cpp:665
+msgid "Nyquist returned the value:"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:259
+#: ../src/effects/nyquist/Nyquist.cpp:594
+msgid "Nyquist did not return audio.\n"
+msgstr "Nyquist non devolveu audio.\n"
+
+#: ../src/effects/nyquist/Nyquist.cpp:604
+msgid "Nyquist returned too many audio channels.\n"
+msgstr "Nyquist devolveu demasiadas canles de audio.\n"
+
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
-msgid "Selection: %.3lf - %.3lf (%.3lf film frames)   %s"
-msgstr "Selección: %.3lf - %.3lf (%.3lf cadros de film)   %s"
+msgid "Extracting features: %s"
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:107
+msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:121
+msgid "Sorry, failed to load Vamp Plug-in."
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:207
+msgid "Sorry, Vamp Plug-in failed to initialize."
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:363
+msgid " - Vamp audio analysis plugin"
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:399
+msgid "Plugin Settings"
+msgstr ""
+
+#: effects/vamp/VampEffect.cpp:418 effects/vamp/VampEffect.cpp:424
+msgid "Program"
+msgstr ""
+
+#: export/Export.cpp:468
+msgid "All the selected audio is muted."
+msgstr ""
+
+#: export/Export.cpp:470
+msgid "All the audio is muted."
+msgstr ""
+
+#: export/Export.cpp:526
+msgid "Export File"
+msgstr ""
+
+#: export/Export.cpp:535
+msgid "&Options..."
+msgstr ""
+
+#: ../src/export/Export.cpp:202
+msgid "Are you sure you want to save the file as \""
+msgstr "¿Está seguro de que quere gardar o arquivo como \""
 
-#: ../src/FormatSelection.cpp:635
+#: export/Export.cpp:596
 #, c-format
-msgid ""
-"Selection: %02i:%02i:%06.3lf - %02i:%02i:%06.3lf (%02i:%02i:%06.3lf cdda min:"
-"sec:frames)   %s"
+msgid "You are about to save a %s file with the name \"%s\".\n"
+"\n"
+"Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
+"\n"
+"Are you sure you want to save the file under this name?"
 msgstr ""
-"Selección: %02i:%02i:%06.3lf - %02i:%02i:%06.3lf (%02i:%02i:%06.3lf cdda min:"
-"seg:cadros)   %s"
 
-#: ../src/FormatSelection.cpp:535
+#: export/Export.cpp:617
 #, c-format
-msgid ""
-"Selection: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf NTSC drop-frame h:mm:ss:ff) (%.3lf NTSC frames)   %s"
+msgid "A file named \"%s\" already exists.  Replace?"
+msgstr ""
+
+#: ../src/export/Export.cpp:142
+msgid "Your tracks will be mixed down to two stereo channels in the exported file."
+msgstr "As túas pistas serán mesturadas a dúas canles estéreo no arquivo exportado."
+
+#: ../src/export/Export.cpp:147
+msgid "Your tracks will be mixed down to a single mono channel in the exported file."
+msgstr "As túas pistas serán mesturadas a unha soa canle mono no arquivo exportado."
+
+#: export/Export.cpp:735
+msgid "Advanced Mixing Options"
 msgstr ""
-"Selección: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf NTSC drop-frame h:mm:ss:cc) (%.3lf cadros NTSC)   %s"
 
-#: ../src/FormatSelection.cpp:593
+#: export/Export.cpp:943
 #, c-format
-msgid ""
-"Selection: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf NTSC non-drop-frame h:mm:ss:ff) (%.3lf NTSC frames)   %s"
+msgid "Channel: %2d"
+msgstr ""
+
+#: export/Export.cpp:1058
+msgid " - Left"
+msgstr ""
+
+#: export/Export.cpp:1060
+msgid " - Right"
+msgstr ""
+
+#: export/Export.cpp:1082
+msgid "Mixer Panel"
 msgstr ""
-"Selección: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf NTSC non-drop-frame h:mm:ss:cc) (%.3lf cadros NTSC)   %s"
 
-#: ../src/FormatSelection.cpp:390
+#: export/Export.cpp:1088 export/Export.cpp:1135
 #, c-format
-msgid ""
-"Selection: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf PAL h:mm:ss:ff) (%.3lf PAL frames)   %s"
+msgid "Output Channels: %2d"
+msgstr ""
+
+#: export/ExportCL.cpp:55
+msgid "Specify Command Line Encoder"
+msgstr ""
+
+#: export/ExportCL.cpp:68
+msgid "Command Line Export Setup"
 msgstr ""
-"Selección: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf PAL h:mm:ss:cc) (%.3lf cadros PAL)   %s"
 
-#: ../src/FormatSelection.cpp:312
+#: export/ExportCL.cpp:73
+msgid "Command:"
+msgstr ""
+
+#: export/ExportCL.cpp:78
+msgid "Show output"
+msgstr ""
+
+#: export/ExportCL.cpp:85
 #, c-format
-msgid ""
-"Selection: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf film h:mm:ss:ff) (%.3lf film frames)   %s"
+msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
+msgstr ""
+
+#: export/ExportCL.cpp:220
+msgid "(external program)"
 msgstr ""
-"Selección: %1i:%02i:%02i:%06.3lf - %1i:%02i:%02i:%06.3lf (%1i:%02i:%02i:%"
-"06.3lf film h:mm:ss:cc) (%.3lf cadros de film)   %s"
 
-#: ../src/FormatSelection.cpp:235
+#: ../src/export/ExportPCM.cpp:79
 #, c-format
-msgid ""
-"Selection: %1i:%02i:%09.6f - %1i:%02i:%09.6f (%1i:%02i:%09.6f hr:min:sec)   %"
-"s"
+msgid "Cannot export audio to %s"
+msgstr "Non se pode exportar audio a %s"
+
+#: ../src/export/ExportCL.cpp:144
+msgid "Exporting the selected audio using command-line encoder"
+msgstr "Exportando o audio seleccionado utilizando codificador de liña de comandos"
+
+#: ../src/export/ExportCL.cpp:146
+msgid "Exporting the entire project using command-line encoder"
+msgstr "Exportando o proxecto enteiro utilizando o codificador de liña de comandos"
+
+#: export/ExportCL.cpp:423
+msgid "Command Output"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
-"Selección: %1i:%02i:%09.6f - %1i:%02i:%09.6f (%1i:%02i:%09.6f hr:min:seg)   %"
-"s"
 
-#: ../src/FormatSelection.cpp:787
+#: export/ExportFFmpeg.cpp:433
 #, c-format
-msgid "Selection: %i+%04i - %i+%04i (%i+%04i cdda sectors+bytes)   [Snap-To Samples]"
+msgid "FFmpeg cannot find audio codec 0x%x.\n"
+"Support for this codec is probably not compiled in."
 msgstr ""
-"Selección: %i+%04i - %i+%04i (%i+%04i sectores cdda+bytes)   [Axuste a "
-"mostreos]"
 
-#: ../src/FormatSelection.cpp:790
+#: export/ExportFFmpeg.cpp:655
 #, c-format
-msgid ""
-"Selection: %i+%04i - %i+%04i (%i+%04i cdda sectors+bytes)   [Snap-To "
-"Samples]   Change Project Rate to 44100 for cdda"
+msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
 msgstr ""
-"Selección: %i+%04i - %i+%04i (%i+%04i sectores cdda+bytes)   [Axuste a "
-"mostreos]   Cambiar Frecuencia de Proxecto a 44100 para cdda"
 
-#: ../src/FormatSelection.cpp:748
+#: export/ExportFFmpeg.cpp:684
 #, c-format
-msgid "Selection: %i+%i - %i+%i (%i+%i sec+samples)   [Snap-To Samples]"
-msgstr "Selección: %i+%i - %i+%i (%i+%i seg+muestreos)   [Axuste a mostreos]"
+msgid "Exporting selected audio as %s"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:724
+#: export/ExportFFmpeg.cpp:685
 #, c-format
-msgid ""
-"Selection: %i:%02i+%i - %i:%02i+%i (%i:%02i+%i min:sec+samples)   [Snap-To "
-"Samples]"
+msgid "Exporting entire file as %s"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:748 export/ExportMP3.cpp:1777
+msgid "Invalid sample rate"
 msgstr ""
-"Selección: %i:%02i+%i - %i:%02i+%i (%i:%02i+%i min:seg+mostreos)   [Axuste "
-"a mostreos]"
 
-#: ../src/FormatSelection.cpp:164
+#: export/ExportFFmpeg.cpp:761
 #, c-format
-msgid "Selection: %i:%09.6f - %i:%09.6f (%i:%09.6f min:sec)   %s"
-msgstr "Selección: %i:%09.6f - %i:%09.6f (%i:%09.6f min:seg)   %s"
+msgid "The project sample rate (%d) is not supported by the current output\n"
+"file format.  "
+msgstr ""
 
-#: ../src/FormatSelection.cpp:676
+#: export/ExportFFmpeg.cpp:764
 #, c-format
-msgid "Selection: %i:%09.6lf - %i:%09.6lf (%i:%09.6lf min:sec)   [Snap-To Samples]"
+msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+"supported by the current output file format.  "
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:767 export/ExportMP3.cpp:1796
+msgid "You may resample to one of the rates below."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:795 export/ExportMP3.cpp:1819
+msgid "Sample Rates"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:93
+msgid "Specify AC3 Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:112
+msgid "AC3 Export Setup"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:197
+msgid "Bit Rate:"
+msgstr "Bit Rate:"
+
+#: export/ExportFFmpegDialogs.cpp:157
+msgid "Specify AAC Options"
 msgstr ""
-"Selección: %i:%09.6lf - %i:%09.6lf (%i:%09.6lf min:seg)   [Axuste a "
-"mostreos]"
 
-#: ../src/FormatSelection.cpp:188
+#: export/ExportFFmpegDialogs.cpp:168
+msgid "AAC Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:172 export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:211
+msgid "Specify AMR-NB Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:230
+msgid "AMR-NB Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:275
+msgid "Specify AMR-WB Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:294
+msgid "AMR-WB Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:341
+msgid "Specify WMA Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:360
+msgid "WMA Export Setup"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
-msgid "Selection: %lf - %lf (%lf sec)   %s"
-msgstr "Selección: %lf - %lf (%lf seg)   %s"
+msgid "Overwrite preset '%s'?"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:492
+msgid "Confirm Overwrite"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:504
+msgid "Please select format before saving a profile"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:697
+#: export/ExportFFmpegDialogs.cpp:512
+msgid "Please select codec before saving a profile"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
-msgid "Selection: %lf - %lf (%lf sec)   [Snap-To Samples]"
-msgstr "Selección: %lf - %lf (%lf seg)   [Axuste a mostreos]"
+msgid "Preset '%s' does not exist."
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:797
+msgid "Specify Other Options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:886
+msgid "Preset:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:887
+msgid "Load Preset"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:888
+msgid "Save Preset"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:889
+msgid "Delete Preset"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:890
+msgid "Import Presets"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:891
+msgid "Export Presets"
+msgstr ""
+
+#: ../src/Tags.cpp:610
+msgid "Format:"
+msgstr "Formato:"
+
+#: export/ExportFFmpegDialogs.cpp:898
+msgid "Codec:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:902
+msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:905
+msgid "Format selector:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:906
+msgid "Codec selector:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:908
+msgid "Show All Formats"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:909
+msgid "Show All Codecs"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:916
+msgid "Options"
+msgstr ""
+
+#: ../src/prefs/GUIPrefs.cpp:134
+msgid "Language:"
+msgstr "Linguaxe:"
+
+#: export/ExportFFmpegDialogs.cpp:921
+msgid "ISO 639 3-letter language code\n"
+"Optional\n"
+"empty - automatic"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:923
+msgid "Tag:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:924
+msgid "Codec tag (FOURCC)\n"
+"Optional\n"
+"empty - automatic"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:927
+msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+"Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
+"0 - automatic\n"
+"Recommended - 192000"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
+"Required for vorbis\n"
+"0 - automatic\n"
+"-1 - off (use bitrate instead)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:932
+msgid "Sample Rate:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:933
+msgid "Sample rate (Hz)\n"
+"0 - don't change sample rate"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:935
+msgid "Cutoff Bandwidth:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:936
+msgid "Audio cutoff bandwidth (Hz)\n"
+"Optional\n"
+"0 - automatic"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:938
+msgid "Profile:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:940
+msgid "AAC Profile\n"
+"Low Complexity -default\n"
+"Most players won't play anything other than LC"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:942
+msgid "Use Bit Reservoir"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:945
+msgid "Use Variable Block Length"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:950
+msgid "FLAC options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:954
+msgid "Compression Level:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:955
+msgid "Compression level\n"
+"Required for FLAC\n"
+"-1 - automatic\n"
+"min - 0 (fast encoding, large output file)\n"
+"max - 10 (slow encoding, small output file)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:957
+msgid "Frame Size:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:958
+msgid "Frame size\n"
+"Optional\n"
+"0 - default\n"
+"min - 16\n"
+"max - 65535"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:960
+msgid "LPC coefficients precision"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:961
+msgid "LPC coefficients precision\n"
+"Optional\n"
+"0 - default\n"
+"min - 1\n"
+"max - 15"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:963
+msgid "Minimal prediction order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:964
+msgid "Minimal prediction order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 32 (with LPC) or 4 (without LPC)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:966
+msgid "Maximal prediction order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:967
+msgid "Maximal prediction order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 32 (with LPC) or 4 (without LPC)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:969
+msgid "Prediction Order Method:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:971
+msgid "Prediction Order Method\n"
+"Estimate - fastest, lower compression\n"
+"Log search - slowest, best compression\n"
+"Full search - default"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:973
+msgid "Minimal partition order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:974
+msgid "Minimal partition order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 8"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:652
+#: export/ExportFFmpegDialogs.cpp:976
+msgid "Maximal partition order"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:977
+msgid "Maximal partition order\n"
+"Optional\n"
+"-1 - default\n"
+"min - 0\n"
+"max - 8"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:979
+msgid "Use LPC"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:986
+msgid "MPEG container options"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:990
+msgid "Mux Rate:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:991
+msgid "Maximum bit rate of the multiplexed stream\n"
+"Optional\n"
+"0 - default"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:993
+msgid "Packet Size:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:994
+msgid "Packet size\n"
+"Optional\n"
+"0 - default"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1209
+msgid "You can't delete a preset without name"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
-msgid "Selection: %li - %li (%li samples)   [Snap-To Samples]"
-msgstr "Selección: %li - %li (%li mostreos)   [Axuste a mostreos]"
+msgid "Delete preset '%s'?"
+msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:299
-msgid "Semitones (half-steps):"
-msgstr "Semitonos (medios-pasos):"
+#: export/ExportFFmpegDialogs.cpp:1232
+msgid "You can't save a preset without name"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:98
-msgid "Set"
-msgstr "Elexir"
+#: export/ExportFFmpegDialogs.cpp:1272
+msgid "Select xml file with presets to import"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4371
-msgid "Set Range"
-msgstr "Establecer rango"
+#: ../src/prefs/KeyConfigPrefs.cpp:192
+msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
+msgstr "Arquivos XML (*.xml)|*.xml|Tódolos arquivos (*.*)|*.*"
 
-#: ../src/TrackPanel.cpp:873
-msgid "Set Range..."
-msgstr "Establecer rango..."
+#: export/ExportFFmpegDialogs.cpp:1292
+msgid "Select xml file to export presets into"
+msgstr ""
 
-#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
-msgid "Set Rate"
-msgstr "Establecer frecuencia"
+#: export/ExportFFmpegDialogs.cpp:1363
+msgid "Failed to guess format"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:846
-msgid "Set Sample Format"
-msgstr "Establecer formato de mostreo"
+#: export/ExportFFmpegDialogs.cpp:1405
+msgid "Failed to find the codec"
+msgstr ""
 
-#: ../src/Menus.cpp:359
-msgid "Set Selection Format"
-msgstr "Establecer formato de selección"
+#: export/ExportFFmpegDialogs.h:54
+msgid "M4A (AAC) Files (FFmpeg)"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:88
-msgid "Set Selection Point"
-msgstr "Establecer punto de selección"
+#: export/ExportFFmpegDialogs.h:55
+msgid "AC3 Files (FFmpeg)"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:89
-msgid "Set Selection Range"
-msgstr "Establecer rango de selección"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4368
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:59
+msgid "Custom FFmpeg Export"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:374
+msgid "LTP"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:374
+msgid "Low Complexity"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:374
+msgid "Main profile"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "2-level"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "4-level"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "8-level"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "Estimate"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "Full search"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:677
+msgid "Log search"
+msgstr ""
+
+#: export/ExportFLAC.cpp:67
+msgid "Specify FLAC Options"
+msgstr ""
+
+#: export/ExportFLAC.cpp:79
+msgid "0 (fastest)"
+msgstr ""
+
+#: export/ExportFLAC.cpp:80
+msgid "1"
+msgstr ""
+
+#: export/ExportFLAC.cpp:81
+msgid "2"
+msgstr ""
+
+#: export/ExportFLAC.cpp:82
+msgid "3"
+msgstr ""
+
+#: export/ExportFLAC.cpp:83
+msgid "4"
+msgstr ""
+
+#: export/ExportFLAC.cpp:84
+msgid "5"
+msgstr ""
+
+#: export/ExportFLAC.cpp:85
+msgid "6"
+msgstr ""
+
+#: export/ExportFLAC.cpp:86
+msgid "7"
+msgstr ""
+
+#: export/ExportFLAC.cpp:87
+msgid "8 (best)"
+msgstr ""
+
+#: export/ExportFLAC.cpp:90
+msgid "16 bit"
+msgstr ""
+
+#: export/ExportFLAC.cpp:91
+msgid "24 bit"
+msgstr ""
+
+#: export/ExportFLAC.cpp:95
+msgid "FLAC Export Setup"
+msgstr ""
+
+#: export/ExportFLAC.cpp:99
+msgid "Level:"
+msgstr ""
+
+#: export/ExportFLAC.cpp:101
+msgid "Bit depth:"
+msgstr ""
+
+#: export/ExportFLAC.cpp:207
+msgid "FLAC Files"
+msgstr ""
+
+#: export/ExportFLAC.cpp:288
 #, c-format
-msgid "Set range to '%d' - '%d'"
-msgstr "Establecer rango en '%d' - '%d'"
+msgid "FLAC export couldn't open %s"
+msgstr ""
 
-#: ../src/effects/ClickRemoval.cpp:323
-msgid "Settings"
-msgstr "Configuración"
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:163
-msgid "Shaped"
-msgstr "Moldeado "
+#: export/ExportFLAC.cpp:324
+msgid "Exporting the selected audio as FLAC"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:90
-msgid "Shift-Left-Click"
-msgstr "Maiús-Click-Esquerdo"
+#: export/ExportFLAC.cpp:325
+msgid "Exporting the entire project as FLAC"
+msgstr ""
 
-#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
-msgid "Silence"
-msgstr "Silencio"
+#: export/ExportMP2.cpp:108
+msgid "Specify MP2 Options"
+msgstr ""
 
-#: ../src/EditToolBar.cpp:156
-msgid "Silence selection"
-msgstr "Silenciar selección"
+#: export/ExportMP2.cpp:127
+msgid "MP2 Export Setup"
+msgstr ""
 
-#: ../src/Menus.cpp:1926
+#: export/ExportMP2.cpp:200
+msgid "MP2 Files"
+msgstr ""
+
+#: export/ExportMP2.cpp:230
+msgid "Cannot export MP2 with this sample rate and bit rate"
+msgstr ""
+
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
+msgid "Unable to open target file for writing"
+msgstr "Imposible abrir o arquivo de destino para escritura"
+
+#: export/ExportMP2.cpp:273
 #, c-format
-msgid "Silenced selected tracks for %.2f seconds at %.2f"
-msgstr "Pistas seleccionadas silenciadas por %.2f  segundos en %.2f"
+msgid "Exporting selected audio at %d kbps"
+msgstr ""
 
-#: ../src/effects/ToneGen.cpp:48
-msgid "Sine"
-msgstr "Sinusoide"
+#: export/ExportMP2.cpp:274
+#, c-format
+msgid "Exporting entire file at %d kbps"
+msgstr ""
 
-#: ../src/HistoryWindow.cpp:58
-msgid "Size"
-msgstr "Tamaño"
+#: export/ExportMP3.cpp:223 export/ExportMP3.cpp:241 export/ExportMP3.cpp:255
+msgid "kbps"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Ir ao final"
+#: export/ExportMP3.cpp:242
+msgid "(Best Quality)"
+msgstr ""
 
-#: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Ir ao final\tFin"
+#: export/ExportMP3.cpp:243
+msgid "(Smaller files)"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Ir ao comezo"
+#: export/ExportMP3.cpp:245
+msgid "Fast"
+msgstr ""
 
-#: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Ir ao comezo\tInicio"
+#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
+msgid "Standard"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:101
-msgid "Smooth at Sample"
-msgstr "Suavizar en mostreo"
+#: export/ExportMP3.cpp:250
+msgid "Insane"
+msgstr ""
 
-#. i18n-hint: Set snap-to mode on or off
-#: ../src/Menus.cpp:304
-msgid "Snap Off"
-msgstr "Desactivar Axuste"
+#: export/ExportMP3.cpp:251
+msgid "Extreme"
+msgstr ""
 
-#. i18n-hint: Set snap-to mode on or off
-#: ../src/Menus.cpp:302
-msgid "Snap On"
-msgstr "Activar Axuste"
+#: export/ExportMP3.cpp:253
+msgid "Medium"
+msgstr ""
 
-#: ../src/Menus.cpp:299
-msgid "Snap-To..."
-msgstr "Axuste..."
+#: export/ExportMP3.cpp:305
+msgid "Specify MP3 Options"
+msgstr ""
 
-#: ../src/prefs/AudioIOPrefs.cpp:244
-msgid "Software Playthrough (Play new track while recording it)"
-msgstr "Reproducción Hardware (Reproducir unha pista mentras se grava)"
+#: ../src/prefs/FileFormatPrefs.cpp:172
+msgid "MP3 Export Setup"
+msgstr "Opcións de exportación a MP3"
 
-#: ../src/TrackPanel.cpp:4701
-msgid "Solo"
-msgstr "Só"
+#: export/ExportMP3.cpp:326
+msgid "Bit Rate Mode:"
+msgstr ""
 
-#: ../src/Prefs.cpp:108
-msgid ""
-"Some of your preferences were from an earlier version of Audacity and have "
-"been reset."
+#: export/ExportMP3.cpp:331
+msgid "Preset"
 msgstr ""
-"Algunhas das túas preferencias eran dunha versión anterior de Audacity e "
-"foron actualizadas."
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:157
-msgid ""
-"Sorry, Plug-in Effects cannot be performed on stereo tracks where the "
-"individual channels of the track do not match."
+#: export/ExportMP3.cpp:332
+msgid "Variable"
 msgstr ""
-"Síntoo, Efectos VST non poden ser aplicados en pistas estéreo onde as "
-"canles individuais da pista non coinciden."
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid ""
-"Sorry, VST Effects cannot be performed on stereo tracks where the individual "
-"channels of the track do not match."
+#: export/ExportMP3.cpp:333
+msgid "Average"
 msgstr ""
-"Síntoo, Efectos VST non poden ser aplicados en pistas estéreo onde as "
-"canles individuais da pista non coinciden."
 
-#: ../src/effects/nyquist/Nyquist.cpp:370
-msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
+#: export/ExportMP3.cpp:334
+msgid "Constant"
 msgstr ""
-"Síntoo, non pode aplicarse o efecto en pistas estéreo onde as pistas "
-"non coinciden."
 
-#: ../src/export/Export.cpp:185
-msgid "Sorry, pathnames longer than 256 characters not supported."
-msgstr "Síntoo, rutas de directorios de máis de 256 caracteres non son soportadas."
+#: ../src/prefs/PrefsDialog.cpp:85
+msgid "Quality"
+msgstr "Calidade"
 
-#: ../src/AboutDialog.cpp:237
-msgid "Special thanks:"
-msgstr "Agradecementos Especiais:"
+#: export/ExportMP3.cpp:379
+msgid "Variable Speed:"
+msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:87
-msgid "Spectrograms"
-msgstr "Espectrogramas"
+#: export/ExportMP3.cpp:386
+msgid "Channel Mode:"
+msgstr ""
 
-#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
-msgid "Spectrum"
-msgstr "Espectro"
+#: export/ExportMP3.cpp:391
+msgid "Joint Stereo"
+msgstr ""
 
-#: ../src/Menus.cpp:263
-msgid "Spl&it"
-msgstr "D&ividir"
+#: export/ExportMP3.cpp:392
+msgid "Stereo"
+msgstr ""
 
-#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
-msgid "Split"
-msgstr "Dividir"
+#: export/ExportMP3.cpp:536
+msgid "Locate Lame"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:844
-msgid "Split Stereo Track"
-msgstr "Dividir pista estéreo"
+#: export/ExportMP3.cpp:556
+#, c-format
+msgid "Audacity needs the file %s to create MP3s."
+msgstr ""
 
-#: ../src/Menus.cpp:2092
-msgid "Split at labels"
-msgstr "Dividir nas etiquetas"
+#: export/ExportMP3.cpp:578
+msgid "To get a free copy of Lame, click here -->"
+msgstr ""
+
+#: export/ExportMP3.cpp:1070
+#, c-format
+msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+"Please download the latest version of the LAME MP3 library."
+msgstr ""
+
+#: ../src/export/ExportMP3.cpp:1116
+msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
+msgstr "Só lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|Tódolos Arquivos (*.*)|*"
+
+#: export/ExportMP3.cpp:1346
+msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
+msgstr ""
+
+#: export/ExportMP3.cpp:1364
+#, fuzzy
+msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
+msgstr "Só libmp3lame.so|libmp3lame.so|Primary Shared Object (*.so)|*.so|Extended Libraries (*.so*)|*.so*|Tódolos Arquivos (*)|*"
+
+#: export/ExportMP3.cpp:1500
+msgid "MP3 Files"
+msgstr ""
+
+#: ../src/export/ExportMP3.cpp:1328
+msgid "Could not open MP3 encoding library!"
+msgstr "Non se puido abrir a librería codificadora de MP3!"
+
+#: ../src/export/ExportMP3.cpp:1335
+msgid "Not a valid or supported MP3 encoding library!"
+msgstr "Non é unha librería de codificación MP3 soportada!"
+
+#: export/ExportMP3.cpp:1608
+msgid "Unable to initialize MP3 stream"
+msgstr ""
+
+#: export/ExportMP3.cpp:1652
+#, c-format
+msgid "Exporting selected audio with %s preset"
+msgstr ""
+
+#: export/ExportMP3.cpp:1653
+#, c-format
+msgid "Exporting entire file with %s preset"
+msgstr ""
+
+#: export/ExportMP3.cpp:1658
+#, c-format
+msgid "Exporting selected audio with VBR quality %s"
+msgstr ""
+
+#: export/ExportMP3.cpp:1659
+#, c-format
+msgid "Exporting entire file with VBR quality %s"
+msgstr ""
+
+#: export/ExportMP3.cpp:1664
+#, c-format
+msgid "Exporting selected audio at %d Kbps"
+msgstr ""
+
+#: export/ExportMP3.cpp:1665
+#, c-format
+msgid "Exporting entire file at %d Kbps"
+msgstr ""
+
+#: export/ExportMP3.cpp:1699
+#, c-format
+msgid "Error %d returned from MP3 encoder"
+msgstr ""
+
+#: export/ExportMP3.cpp:1790
+#, c-format
+msgid "The project sample rate (%d) is not supported by the MP3\n"
+"file format.  "
+msgstr ""
+
+#: export/ExportMP3.cpp:1793
+#, c-format
+msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+"supported by the MP3 file format.  "
+msgstr ""
+
+#: export/ExportMP3.cpp:1970
+msgid "MP3 export library not found"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:562
+msgid "Export Multiple"
+msgstr "Exportar múltiple"
+
+#: ../src/export/ExportMultiple.cpp:487
+msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+"or if you have a Label Track, you can export a new file for each label.\n"
+"\n"
+"This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
+msgstr "Se ten máis dunha pista de audio pode exportar cada pista nun arquivo independente,\n"
+"ou se ten unha pista de etiquetas pode exportar a un ficheiro independente por cada etiqueta.\n"
+"\n"
+"Este proxecto non ten pistas múltiples nin pista de etiquetas, así que non pode exportar a arquivos independentes."
+
+#: ../src/export/ExportMultiple.cpp:493
+msgid "Can't export multiple files"
+msgstr "Non se pode exportar múltiples ficheiros"
+
+#: ../src/export/ExportMultiple.cpp:576
+msgid "Export format:"
+msgstr "Exportar formato:"
+
+#: export/ExportMultiple.cpp:234
+msgid "Options..."
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:594
+msgid "Export location:"
+msgstr "Exportar ubicación:"
+
+#: export/ExportMultiple.cpp:243
+msgid "Create"
+msgstr ""
 
 #: ../src/export/ExportMultiple.cpp:612
 msgid "Split files based on:"
 msgstr "Unir arquivos baseados en:"
 
-#: ../src/TrackPanel.cpp:4131
-#, c-format
-msgid "Split stereo track '%s'"
-msgstr "Dividir pista estéreo '%s'"
+#: ../src/export/ExportMultiple.cpp:615
+msgid "Labels"
+msgstr "Etiquetas"
 
-#: ../src/effects/ToneGen.cpp:49
-msgid "Square"
-msgstr "Cadrado"
+#: ../src/export/ExportMultiple.cpp:623
+msgid "Include audio before first label"
+msgstr "Incluir audio antes da primeira etiqueta"
 
-#: ../src/effects/Phaser.cpp:455
-msgid "Stages:"
-msgstr "Etapas:"
+#: ../src/export/ExportMultiple.cpp:629
+msgid "First file name:"
+msgstr "Primeiro nome do arquivo:"
 
-#: ../src/FreqWindow.cpp:130
-msgid "Standard Autocorrelation"
-msgstr "Autocorrelación estándard"
+#: export/ExportMultiple.cpp:277
+msgid "First file name"
+msgstr ""
 
-#: ../src/effects/ChangeSpeed.cpp:341
-msgid "Standard Vinyl RPM:   from"
-msgstr "RPM de vinilo estándar:   dende"
+#: ../src/export/ExportMultiple.cpp:646
+msgid "Name files:"
+msgstr "Arquivos nomeados:"
 
-#: ../src/import/ImportRaw.cpp:348
-msgid "Start offset:"
-msgstr "Límite de comezo:"
+#: ../src/export/ExportMultiple.cpp:649
+msgid "Using Label/Track Name"
+msgstr "Usando etiquetas/Nome de pista"
 
-#: ../src/Menus.cpp:272
-msgid "Start to Cursor"
-msgstr "Comezo no cursor"
+#: ../src/export/ExportMultiple.cpp:655
+msgid "Numbering consecutively"
+msgstr "Numerando consecutivamente"
 
-#: ../src/effects/NoiseRemoval.cpp:410
-msgid "Step 1"
-msgstr "Paso 1"
+#: ../src/export/ExportMultiple.cpp:660
+msgid "File name prefix:"
+msgstr "Perfixo do nome do arquivo:"
 
-#: ../src/effects/NoiseRemoval.cpp:427
-msgid "Step 2"
-msgstr "Paso 2"
+#: export/ExportMultiple.cpp:324
+msgid "File name prefix"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4087
-msgid "Stereo, "
-msgstr "Estéreo,"
+#: ../src/export/ExportMultiple.cpp:677
+msgid "Overwrite existing files"
+msgstr "Sobreescribir arquivos existentes"
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Parar"
+#: export/ExportMultiple.cpp:422
+#, c-format
+msgid "\"%s\" successfully created."
+msgstr ""
 
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Parar\tS"
+#: ../src/export/ExportMultiple.cpp:766
+msgid "Choose a location to save the exported files"
+msgstr "Seleccione un lugar para gardar os arquivos exportados"
 
-#: ../src/export/ExportMultiple.cpp:366 ../src/export/ExportMultiple.cpp:472
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "Successfully exported %d files."
-msgstr "Exportáronse correctamente %d arquivos."
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:52
-msgid "Temp. Directory"
-msgstr "Directorio temporal"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
 
-#: ../src/Menus.cpp:2635
-msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
-msgstr "Arquivos de texto (*.txt)|*.txt|Tódolos arquivos (*.*)|*.*"
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
 
-#: ../src/widgets/Meter.cpp:901
-msgid ""
-"The VU meters will now be disabled.\n"
-"\n"
-"To enable them again, open the Preferences dialog and click on the Interface "
-"tab."
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
 msgstr ""
-"El \"VU meters\" vaise a deshabilitar. \n"
-"\n"
-"Para habilitalo de novo abra o cadro de diálogo Preferencias e faga clic "
-"na pestaña \"Interface\"."
 
-#: ../src/Project.cpp:2304
-msgid ""
-"The file you selected is an Audacity Project file.\n"
-"\n"
-"Only audio files, not project files, can be imported\n"
-"into an existing project.  To open a project file,\n"
-"select Open from the File menu.\n"
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
 msgstr ""
-"O arquivo seleccionado é un proxecto de Audacity.\n"
-"\\ "
-"Só se poden importar arquivos de audio dentro dun\n"
-"proxecto. Para abrir un arquivo de proxecto,\n"
-"seleccione Abrir no menú Arquivo.\n"
 
-#: ../src/prefs/SpectrumPrefs.cpp:148
-msgid "The maximum frequency must be an integer"
-msgstr "A frecuencia máxima debe ser un enteiro"
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:841
-msgid ""
-"The system has detected that another copy of Audacity is running.\n"
-"Running two copies of Audacity simultaneously may lead to\n"
-"data loss or cause your system to crash, so is not allowed.\n"
+#: export/ExportMultiple.cpp:570
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
 "\n"
-"Use the New or Open commands in the currently running Audacity\n"
-"process to open multiple projects simultaneously.\n"
+"Would you like to create it?"
 msgstr ""
-"O sistema detectou que outra copia de Audacity pode estar activa.\n"
-"Executar dúas copias de Audacity simultáneamente pode levar á perda\n"
-"de datos ou causar que o sistema se bloquee.\n"
-"\n"
-"Utilice os comandos Novo ou Abrir na versión en execución de Audacity\n"
-"para abrir varios proxectos simultáneamente. \n"
 
-#: ../src/Menus.cpp:3041
-msgid "The version of Audacity you are using does not support multiple time tracks."
+#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:804
+msgid "Edit metadata"
 msgstr ""
-"A versión de Audacity que está utilizando non soporta múltiples pistas de "
-"tempo."
 
-#: ../src/Menus.cpp:1352
-msgid "There are no label tracks to export."
-msgstr "Non hai pistas de etiquetas para exportar."
+#: export/ExportMultiple.cpp:923
+#, c-format
+msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+"Use..."
+msgstr ""
 
-#: ../src/Menus.cpp:1617
-msgid "There was a problem printing."
-msgstr "Houbo un problema imprimindo."
+#: export/ExportOGG.cpp:64
+msgid "Specify Ogg Vorbis Options"
+msgstr ""
 
-#: ../src/AudioIO.cpp:166
-msgid "There was an error initializing the audio i/o layer.\n"
-msgstr "Houbo un erro ao inicializar a capa de e/s de audio.\n"
+#: export/ExportOGG.cpp:79
+msgid "Ogg Vorbis Export Setup"
+msgstr ""
 
-#: ../src/Project.cpp:1985
+#: export/ExportOGG.cpp:155
+msgid "Ogg Vorbis Files"
+msgstr ""
+
+#: ../src/export/ExportOGG.cpp:191
+msgid "Exporting the selected audio as Ogg Vorbis"
+msgstr "Exportando o audio seleccionado como Ogg Vorbis"
+
+#: ../src/export/ExportOGG.cpp:192
+msgid "Exporting the entire project as Ogg Vorbis"
+msgstr "Exportando o proxecto enteiro como Ogg Vorbis"
+
+#: export/ExportPCM.cpp:119
+msgid "Specify Uncompressed Options"
+msgstr ""
+
+#: export/ExportPCM.cpp:189
+msgid "Uncompressed Export Setup"
+msgstr ""
+
+#: export/ExportPCM.cpp:195
+msgid "Header:"
+msgstr ""
+
+#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:376
+#, fuzzy
+msgid "Encoding:"
+msgstr "Codificación: "
+
+#: export/ExportPCM.cpp:204
+#, fuzzy
+msgid "(Not all combinations of headers and encodings are possible.)"
+msgstr "(Non tódalas combinacións de encabezados\n"
+"e codificacións son posibles.)"
+
+#: export/ExportPCM.cpp:359
+msgid "Other uncompressed files"
+msgstr ""
+
+#: export/ExportPCM.cpp:377
+msgid "AIFF (Apple) signed 16 bit PCM"
+msgstr ""
+
+#: export/ExportPCM.cpp:388
+msgid "WAV (Microsoft) signed 16 bit PCM"
+msgstr ""
+
+#: export/ExportPCM.cpp:399
+msgid "GSM 6.10 WAV (mobile)"
+msgstr ""
+
+#: ../src/export/ExportPCM.cpp:73
+msgid "Cannot export audio in this format."
+msgstr "Non se pode exportar audio neste formato."
+
+#: export/ExportPCM.cpp:526
 #, c-format
-msgid ""
-"This file was saved using Audacity %s.\n"
-"You are using Audacity %s - you need to upgrade to\n"
-"a newer version to open this file."
+msgid "Exporting the selected audio as %s"
 msgstr ""
-"Este arquivo foi gardado usando Audacity %s.\n"
-"Está usando a versión %s de Audacity. Precisa actualizar a \n"
-"unha versión máis moderna para poder abrir o arquivo."
 
-#: ../src/AboutDialog.cpp:108
-msgid ""
-"This is a beta version of the program.  It may contain bugs and unfinished "
-"features.  We depend on your feedback, so please visit our website and give "
-"us your bug reports and feature requests."
+#: export/ExportPCM.cpp:528
+#, c-format
+msgid "Exporting the entire project as %s"
 msgstr ""
-"Esta é a versión beta do programa. Pode conter erros e funcións sen "
-"rematar. Dependemos dos teus comentarios, polo cal por favor visita "
-"o noso sitio web e envíanos información de erros e de funcións que "
-"quixeras que Audacity incorpore no futuro."
 
-#: ../src/AboutDialog.cpp:114
-msgid ""
-"This is a stable, completed release of Audacity.  However, if you find a bug "
-"or have a suggestion, please contact us.  We depend on feedback from users "
-"in order to continue to improve Audacity.  For more information, visit our "
-"website."
+#: ../src/export/ExportPCM.cpp:160
+#, c-format
+msgid "Error (file may not have been written): %s"
+msgstr "Erro (o arquivo pode non ter sido escrito): %s"
+
+#: export/ExportPCM.cpp:735
+msgid "There are no options for this format.\n"
+msgstr ""
+
+#. i18n-hint: This is pointing users at another possible export format in
+#. * the list. So you should translate the quoted string
+#. * 'Other uncompressed files' exactly the same as you do the same string
+#. * when it comes up on it's own.
+#: export/ExportPCM.cpp:740
+msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
+msgstr ""
+
+#: export/ExportPCM.cpp:745
+msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
+msgstr ""
+
+#: export/ExportPCM.cpp:750
+msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
+msgstr ""
+
+#: export/ExportPCM.cpp:755
+msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
+msgstr ""
+
+#: import/Import.cpp:162 import/ImportMP3.cpp:47
+msgid "MP3 files"
+msgstr ""
+
+#: import/Import.cpp:181
+msgid "Select stream(s) to import"
 msgstr ""
-"Esta é unha versión estable e completa de Audacity. Sen embargo, se "
-"atopas algún erro ou tes algunha suxestión, por favor contáctanos. "
-"Dependemos da resposta dos usuarios para continuar mellorando "
-"Audacity. Para más información, visita o noso sitio web."
 
 #: ../src/import/Import.cpp:159
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Esta versión de Audacity non foi compilada con soporte para %s."
 
-#: ../src/effects/Compressor.cpp:439
-msgid "Threshold: "
-msgstr "Umbral: "
-
-#: ../src/effects/Compressor.cpp:520
+#: import/Import.cpp:247
 #, c-format
-msgid "Threshold: %d dB"
-msgstr "Umbral: %d dB"
+msgid "\"%s\" \n"
+"is a MIDI file, not an audio file. \n"
+"Audacity cannot open this type of file for playing, but you can\n"
+"edit it by clicking File > Import > MIDI."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2015
-msgid "Time Shift"
-msgstr "Traslado en Tempo"
+#. i18n-hint: %s will be the filename
+#: import/Import.cpp:257
+#, c-format
+msgid "\"%s\" is an audio CD track. \n"
+"Audacity cannot open audio CDs directly. \n"
+"Extract (rip) the CD tracks to an audio format that \n"
+"Audacity can import, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Ferramenta de Traslado en Tempo"
+#: import/Import.cpp:263
+#, c-format
+msgid "\"%s\" is a playlist file. \n"
+"Audacity cannot open this file because it only contains links to other files. \n"
+"You may be able to open it in a text editor and download the actual audio files."
+msgstr ""
 
-#: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Ferramenta de traslado en tempo\tF5"
+#: import/Import.cpp:268
+#, c-format
+msgid "\"%s\" is a Windows Media Audio file. \n"
+"Audacity cannot open this type of file due to patent restrictions. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/TimeTrack.cpp:38
-msgid "Time Track"
-msgstr "Pista de tempo"
+#: import/Import.cpp:273
+#, c-format
+msgid "\"%s\" is an Advanced Audio Coding file. \n"
+"Audacity cannot open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:97
-msgid "Time shift sequence"
-msgstr "Secuencia de traslado en tempo"
+#: import/Import.cpp:278
+#, c-format
+msgid "\"%s\" is an encrypted audio file. \n"
+"These typically are from an online music store. \n"
+"Audacity cannot open this type of file due to the encryption. \n"
+"Try recording the file into Audacity, or burn it to audio CD then \n"
+"extract the CD track to a supported audio format such as WAV or AIFF."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2009
+#: import/Import.cpp:283
 #, c-format
-msgid "Time shifted track '%s' %s %.02f seconds"
-msgstr "Pista '%s' %s deslizada %.02f segundos"
+msgid "\"%s\" is a RealPlayer media file. \n"
+"Audacity cannot open this proprietary format. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:97
-msgid "Time-Shift"
-msgstr "Traslado en tempo"
+#: import/Import.cpp:289
+#, c-format
+msgid "\"%s\" is a notes-based file, not an audio file. \n"
+"Audacity cannot open this type of file. \n"
+"Try converting it to an audio file such as WAV or AIFF and \n"
+"then import it, or record it into Audacity."
+msgstr ""
 
-#: ../src/Tags.cpp:435
-msgid "Title"
-msgstr "Título"
+#: import/Import.cpp:295
+#, c-format
+msgid "\"%s\" is a Musepack audio file. \n"
+"Audacity cannot open this type of file. \n"
+"If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
+"and try importing it again. Otherwise you need to convert it to a supported audio \n"
+"format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/Tags.cpp:621
-msgid "Title:"
-msgstr "Título:"
+#: import/Import.cpp:301
+#, c-format
+msgid "\"%s\" is a Wavpack audio file. \n"
+"Audacity cannot open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+#: import/Import.cpp:307
+#, c-format
+msgid "\"%s\" is a Dolby Digital audio file. \n"
+"Audacity cannot currently open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
-"Para representar o espectro, tódalas pistas seleccionadas deben ter a "
-"mesma frecuencia de mostreo."
 
-#: ../src/effects/ToneGen.cpp:43
-msgid "Tone Generator"
-msgstr "Xerador de tonos"
+#: import/Import.cpp:313
+#, c-format
+msgid "\"%s\" is an Ogg Speex audio file. \n"
+"Audacity cannot currently open this type of file. \n"
+"You need to convert it to a supported audio format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/effects/ToneGen.h:40
-msgid "Tone..."
-msgstr "Tono..."
+#: import/Import.cpp:319
+#, c-format
+msgid "\"%s\" is a video file. \n"
+"Audacity cannot currently open this type of file. \n"
+"You need to extract the audio to a supported format, such as WAV or AIFF."
+msgstr ""
 
-#: ../src/Menus.cpp:2395
+#: import/Import.cpp:324
 #, c-format
-msgid ""
-"Too much audio was selected.  Only the first %.1f seconds of audio will be "
-"analyzed."
+msgid "Audacity did not recognize the type of the file '%s'.\n"
+"If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
-"Demasiado audio seleccionado.  Só os primeiros %.1f segundos de audio "
-"serán analizados."
 
-#: ../src/prefs/MousePrefs.cpp:84
-msgid "Tool"
-msgstr "Ferramenta"
+#: import/Import.cpp:329
+#, c-format
+msgid "Audacity recognized the type of the file '%s',\n"
+"but was unable to import it."
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4417
-msgid "Track Name"
-msgstr "Nome da pista"
+#: import/ImportFFmpeg.cpp:34
+msgid "FFmpeg-compatible files"
+msgstr ""
 
-#: ../src/Tags.cpp:657
-msgid "Track Number:"
-msgstr "Número de pista:"
+#: import/ImportFFmpeg.cpp:438
+#, c-format
+msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2705
-msgid "Track Remove"
-msgstr "Eliminación de pista"
+#: import/ImportFLAC.cpp:43
+msgid "FLAC files"
+msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Pistas"
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
 
-#: ../src/effects/Repeat.cpp:57
-msgid "Tracks are too long to repeat the selection."
-msgstr "As pistas son moi longas para repetir a selección."
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
+msgid "List of Files in basic text format"
+msgstr "Lista de arquivos en formato de texto básico"
 
-#: ../src/prefs/QualityPrefs.cpp:162
-msgid "Triangle"
-msgstr "Triángulo"
+#. i18n-hint: You do not need to translate "LOF"
+#: ../src/import/ImportLOF.cpp:268
+msgid "Invalid window offset in LOF file."
+msgstr "Límite de fiestra non válido en arquivo LOF."
 
-#: ../src/Menus.cpp:1902
-msgid "Trim"
-msgstr "Recortar"
+#. i18n-hint: You do not need to translate "LOF"
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
+msgid "LOF Error"
+msgstr "Erro de LOF"
 
-#: ../src/Menus.cpp:1902
-msgid "Trim file to selection"
-msgstr "Recortar arquivo ata o seleccionado"
+#. i18n-hint: You do not need to translate "LOF"
+#: ../src/import/ImportLOF.cpp:289
+msgid "Invalid duration in LOF file."
+msgstr "Duración non válida en arquivo LOF."
 
-#: ../src/EditToolBar.cpp:154
-msgid "Trim outside selection"
-msgstr "Recortar fóra de selección"
+#: import/ImportLOF.cpp:417
+#, fuzzy
+msgid "MIDI tracks cannot be offset individually, only audio files can be."
+msgstr "As pistas MIDI non poden ser trasladadas en tempo individualmente, só arquivos de audio poden."
 
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Desactivar o axuste a cuadrícula"
+#. i18n-hint: You do not need to translate "LOF"
+#: ../src/import/ImportLOF.cpp:383
+msgid "Invalid track offset in LOF file."
+msgstr "Límite de pista non válido en arquivo LOF."
 
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Activar o axuste a cuadrícula"
+#: import/ImportMIDI.cpp:31
+msgid ": Filename too short."
+msgstr ""
 
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Desactivar Axuste"
+#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:53
+msgid "Could not open file "
+msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Activar Axuste"
+#: import/ImportMIDI.cpp:39
+msgid ": Incorrect filetype."
+msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:114
-msgid "Unable to determine"
-msgstr "Non se pode determinar"
+#: import/ImportOGG.cpp:44
+msgid "Ogg Vorbis files"
+msgstr ""
 
-#: ../src/xml/XMLFileReader.cpp:83
-msgid "Unable to open project file."
-msgstr "Imposible abrir o arquivo de proxecto."
+#: ../src/import/ImportOGG.cpp:124
+msgid "Media read error"
+msgstr "Erro de lectura de medio"
 
-#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
-msgid "Unable to open target file for writing"
-msgstr "Imposible abrir o arquivo de destino para escritura"
+#: ../src/import/ImportOGG.cpp:127
+msgid "Not an Ogg Vorbis file"
+msgstr "Non é un arquivo Ogg Vorbis"
 
-#: ../src/prefs/FileFormatPrefs.cpp:93
-msgid "Uncompressed Export Format"
-msgstr "Formato descomprimido de exportación"
+#: ../src/import/ImportOGG.cpp:130
+msgid "Vorbis version mismatch"
+msgstr "Desigualdade de versión Vorbis"
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Desfacer"
+#: ../src/import/ImportOGG.cpp:133
+msgid "Invalid Vorbis bitstream header"
+msgstr "Encabezado inválido para Vorbis bitstream"
 
-#: ../src/HistoryWindow.cpp:44
-msgid "Undo History"
-msgstr "Desfacer historial"
+#: ../src/import/ImportOGG.cpp:136
+msgid "Internal logic fault"
+msgstr "Fallo de lóxica interna"
 
-#: ../src/HistoryWindow.cpp:72
-msgid "Undo Levels Available (lots and lots)"
-msgstr "Desfacer níveis dispoñibles (moitos)"
+#: import/ImportPCM.cpp:66
+msgid "WAV, AIFF, and other uncompressed types"
+msgstr ""
 
-#: ../src/HistoryWindow.cpp:140
+#: import/ImportPlugin.h:135 import/ImportRaw.cpp:210
 #, c-format
-msgid "Undo Levels Available: %d"
-msgstr "Níveis de desfacer dispoñibles: %d"
+msgid "Importing %s"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
-#, c-format
-msgid "Unknown command line option: %s\n"
-msgstr "Opción de liña de comandos descoñecida: %s\n"
+#: import/ImportQT.cpp:18
+msgid "QuickTime files"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:856
-msgid "Up Octave"
-msgstr "Subir unha oitava"
+#: import/ImportRaw.cpp:212
+msgid "Import Raw"
+msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:76
-msgid "Update spectrogram while playing"
-msgstr "Actualizar espectograma mentras se reproduce"
+#: ../src/import/ImportRaw.cpp:256
+msgid "Import Raw Data"
+msgstr "Importar arquivo en bruto"
 
-#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
-msgid "Upper speed limit"
-msgstr "Límite superior de velocidade"
+#. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
+#. know the correct technical word.
+#: ../src/import/ImportRaw.cpp:299
+msgid "No endianness"
+msgstr "Sen endianness"
 
-#: ../src/prefs/FileFormatPrefs.cpp:158
-msgid "Use OGG instead of MP3"
-msgstr "Usar OGG en vez de MP3"
+#. i18n-hint: Refers to byte-order.  Don't translate this if you don't
+#. know the correct technical word.
+#: ../src/import/ImportRaw.cpp:302
+msgid "Little-endian"
+msgstr "Little-endian"
 
-#: ../src/export/ExportMultiple.cpp:649
-msgid "Using Label/Track Name"
-msgstr "Usando etiquetas/Nome de pista"
+#. i18n-hint: Refers to byte-order.  Don't translate this if you don't
+#. know the correct technical word.
+#: ../src/import/ImportRaw.cpp:305
+msgid "Big-endian"
+msgstr "Big-endian"
 
-#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
+#. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
+#. know the correct technical word.
+#: ../src/import/ImportRaw.cpp:308
+msgid "Default endianness"
+msgstr "Endianness predeterminado"
+
+#: ../src/import/ImportRaw.cpp:332
+msgid "1 Channel (Mono)"
+msgstr "1 Canle (Mono)"
+
+#: ../src/import/ImportRaw.cpp:333
+msgid "2 Channels (Stereo)"
+msgstr "2 Canles (Estéreo)"
+
+#: ../src/import/ImportRaw.cpp:335
 #, c-format
-msgid "Using block size of %ld\n"
-msgstr "Usando tamaño de bloque de %ld\n"
+msgid "%d Channels"
+msgstr "%d Canais"
+
+#: import/ImportRaw.cpp:379
+msgid "Byte order:"
+msgstr ""
+
+#: ../src/prefs/AudioIOPrefs.cpp:220
+msgid "Channels:"
+msgstr "Canles:"
+
+#: ../src/import/ImportRaw.cpp:348
+msgid "Start offset:"
+msgstr "Límite de comezo:"
+
+#: ../src/import/ImportRaw.cpp:359
+msgid "Amount to import:"
+msgstr "Cantidade a importar:"
+
+#: ../src/import/ImportRaw.cpp:370
+msgid "Sample rate:"
+msgstr "Frecuencia de mostreo:"
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Parámetros de Plug-in VST:"
+#: ondemand/ODComputeSummaryTask.h:47
+msgid "Import complete. Calculating waveform"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:362 ../src/effects/AvcCompressor.cpp:399
-#: ../src/effects/AvcCompressor.cpp:424 ../src/effects/AvcCompressor.cpp:431
-msgid "Validation error"
-msgstr "Erro de Validación"
+#: ondemand/ODDecodeTask.h:61
+msgid "Decoding Waveform"
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:361
+#: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
-msgid "Value must be from %d to %d."
-msgstr "O valor debe ser dende %d a %d."
+msgid "%s %2.0f%% complete.  Click to change task focal point."
+msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:423 ../src/effects/AvcCompressor.cpp:430
-msgid "Values in columns must be in ascending order."
-msgstr "Os valores en columnas deben  estar en orde ascendente."
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr ""
 
-#: ../src/widgets/Meter.cpp:286
-msgid "Vertical Stereo"
-msgstr "Estéreo vertical"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:134 prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr ""
 
-#: ../src/import/ImportOGG.cpp:130
-msgid "Vorbis version mismatch"
-msgstr "Desigualdade de versión Vorbis"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: ../src/AudacityApp.cpp:120
-msgid ""
-"WARNING: You may be prompted to save your work. Clicking cancel will have "
-"the same effect as clicking no."
+#: prefs/BatchPrefs.cpp:81 prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
-"ADVERTENCIA: Pódese chegar a indicar que gardes o teu traballo. Facer "
-"click en cancelar terá o mesmo efecto que facer click en non."
 
-#: ../src/effects/Phaser.cpp:483
-msgid "WET"
-msgstr "HÚMIDO"
+#: prefs/DevicePrefs.cpp:54
+#, fuzzy
+msgid "Devices"
+msgstr "Dispositivo:"
 
-#: ../src/effects/Wahwah.cpp:532
-msgid "Wah Frequency Offset (%):"
-msgstr "Comenzo de Frecuencia Wah (%):"
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Contorno"
 
-#: ../src/effects/Wahwah.cpp:52
-msgid "Wahwah"
-msgstr "Wahwah"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
-#: ../src/effects/Wahwah.cpp:461
-msgid "Wahwah by Nasca Octavian Paul"
-msgstr "Wahwah por Nasca Octavian Paul"
+#: prefs/DevicePrefs.cpp:120 prefs/MidiIOPrefs.cpp:121
+msgid "Using:"
+msgstr ""
 
-#: ../src/effects/Wahwah.h:39
-msgid "Wahwah..."
-msgstr "Wahwah..."
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Reproducción"
 
-#: ../src/widgets/Warning.cpp:45
-msgid "Warning"
-msgstr "Advertencia"
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Gravación"
 
-#: ../src/DirManager.cpp:83
-msgid ""
-"Warning: there is very little free disk space left on this volume. Please "
-"select another temporary directory in your preferences."
+#: prefs/DevicePrefs.cpp:151 prefs/MidiIOPrefs.cpp:134
+msgid "Channels"
 msgstr ""
-"Advertencia: hai moi pouco espacio dispoñible neste disco. Por favor "
-"selecciona outro directorio temporal nas túas preferencias."
 
-#: ../src/TrackPanel.cpp:835
-msgid "Waveform"
-msgstr "Forma de onda"
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: ../src/TrackPanel.cpp:836
-msgid "Waveform (dB)"
-msgstr "Forma de onda (dB)"
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Estéreo)"
 
-#: ../src/effects/ToneGen.cpp:263
-msgid "Waveform:"
-msgstr "Forma de onda:"
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
+msgid "Directories"
+msgstr "Directorios"
 
-#: ../src/prefs/MousePrefs.cpp:110
-msgid "Wheel-Rotate"
-msgstr "Roda do rato"
+#: prefs/DirectoriesPrefs.cpp:82
+msgid "Temporary files directory"
+msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:68
-msgid "When importing uncompressed audio files into Audacity"
-msgstr "Ao importar arquivos de audio descomprimidos dentro de Audacity"
+#: ../src/prefs/DirectoriesPrefs.cpp:57
+msgid "Location:"
+msgstr "Ubicación:"
 
-#. i18n-hint: It's asking for the location of a file, for
-#. example, "Where is lame_enc.dll?" - you could translate
-#. "Where would I find the file %s" instead if you want.
-#: ../src/export/ExportMP3.cpp:113
-#, c-format
-msgid "Where is %s?"
-msgstr "Onde está %s?"
+#: ../src/prefs/DirectoriesPrefs.cpp:78
+msgid "Free Space:"
+msgstr "Espacio libre:"
 
-#: ../src/Help.cpp:60
-msgid "Where is audacity-1.2-help.htb?"
-msgstr "Onde está audacity-1.2-help.htb?"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr ""
 
-#: ../src/effects/Noise.h:27
-msgid "White Noise"
-msgstr "Ruido branco"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:192
-msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
-msgstr "Arquivos XML (*.xml)|*.xml|Tódolos arquivos (*.*)|*.*"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
 
-#: ../src/Tags.cpp:465
-msgid "Year"
-msgstr "Año"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
+
+#: ../src/prefs/DirectoriesPrefs.cpp:135
+msgid "Choose a location to place the temporary directory"
+msgstr "Seleccione onde establecer o directorio temporal"
 
-#: ../src/Tags.cpp:667
-msgid "Year:"
-msgstr "Año:"
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
 
-#: ../src/export/Export.cpp:240
+#: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
-msgid ""
-"You are about to save a %s file with the name %s.\n"
-"Normally these files end in %s, and some programs will not open files with "
-"nonstandard extensions.\n"
-"Are you sure you want to save the file under this name?"
+msgid "Directory %s does not exist. Create it?"
+msgstr "O directorio %s non existe. ¿Desexa crealo?"
+
+#: ../src/prefs/DirectoriesPrefs.cpp:183
+msgid "New Temporary Directory"
+msgstr "Novo directorio temporal"
+
+#: ../src/prefs/DirectoriesPrefs.cpp:202
+#, c-format
+msgid "Directory %s is not writable"
+msgstr "O directorio %s non ten permiso de escritura"
+
+#: ../src/prefs/DirectoriesPrefs.cpp:214
+msgid "Changes to temporary directory will not take effect until Audacity is restarted"
+msgstr "Os cambios do directorio temporal non terán efecto ata que se reinicie Audacity"
+
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
 msgstr ""
-"Va a gardar un arquivo %s co nome %s.\n"
-"Normalmente estos arquivos rematan en %s, e algúns programas non abrirán "
-"arquivos con extensións que non sexan estándar\n"
-"¿Está seguro de que quere gardar o arquivo baixo este nome?"
 
-#: ../src/TrackPanel.cpp:2378
-msgid ""
-"You are not zoomed in enough. Zoom in until you can see the individual "
-"samples."
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
 msgstr ""
-"Non está o suficientemente cerca. Faga zoom ata poder ver os mostreos "
-"individuais."
 
-#: ../src/Menus.cpp:1225
-msgid "You must select a track first."
-msgstr "Debes seleccionar primeiro unha pista."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr ""
 
-#: ../src/AudioIO.cpp:167
-msgid ""
-"You will not be able to play or record audio.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
+
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (rango superficial para edición de alta amplitude)"
+
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (rango PCM de mostras de 8 bit)"
+
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr ""
+
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (rango PCM de mostras de 16 bits)"
+
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (límite aproximado do oido humano)"
+
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (rango PCM de mostras de 24 bit)"
+
+#: prefs/GUIPrefs.cpp:96 prefs/SpectrumPrefs.cpp:129 prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:139
+msgid "&Beep on completion of longer activities"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:145
+msgid "Modes"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:156
+msgid "Don't a&pply effects in batch mode"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
 msgstr ""
-"Non estararás habilitado a reproducir ou gravar audio. \n"
+
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr ""
+
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:90
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: prefs/KeyConfigPrefs.cpp:95
+msgid "Keyboard preferences currently unavailable."
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:96
+msgid "Open a new project to modify keyboard shortcuts."
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:121
+msgid "Key Bindings"
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:144
+msgid "S&et"
+msgstr ""
+
+#: ../src/prefs/KeyConfigPrefs.cpp:115
+msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
+msgstr "Nota: Premendo Cmd+Q sairase. O resto das teclas son válidas."
+
+#: prefs/KeyConfigPrefs.cpp:157 prefs/ThemePrefs.cpp:125
+msgid "&Defaults"
+msgstr ""
+
+#: ../src/prefs/KeyConfigPrefs.cpp:78
+msgid "Command"
+msgstr "Comando"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:79
+msgid "Key Combination"
+msgstr "Combinación de teclas"
+
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Desfacer"
+
+#: ../src/EditToolBar.cpp:160
+msgid "Redo"
+msgstr "Refacer"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:188
+msgid "Select an XML file containing Audacity keyboard shortcuts..."
+msgstr "Seleccione un arquivo XML que conteña accesos directos de teclado de Audacity..."
+
+#: ../src/prefs/KeyConfigPrefs.cpp:206
+msgid "Error loading keyboard shortcuts"
+msgstr "Erro ao cargar accesos directos de teclado"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportar accesos directos de teclado como:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Erro ao gardar accesos directos de teclado"
+
+#: prefs/KeyConfigPrefs.cpp:331
+#, c-format
+msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
+"'%s'"
+msgstr ""
 
-#: ../src/export/Export.cpp:147
-msgid "Your tracks will be mixed down to a single mono channel in the exported file."
-msgstr "As túas pistas serán mesturadas a unha soa canle mono no arquivo exportado."
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
 
-#: ../src/export/Export.cpp:142
-msgid "Your tracks will be mixed down to two stereo channels in the exported file."
-msgstr "As túas pistas serán mesturadas a dúas canles estéreo no arquivo exportado."
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Versión da librería MP3:"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:92 prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:97 prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:120 prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Audio E/S"
+
+#: prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:140 prefs/RecordingPrefs.cpp:57
+msgid "Playthrough"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:142
+#, fuzzy
+msgid "&Play other tracks while recording new one"
+msgstr "Reproducir outras pistas mentras se grava unha nova"
+
+#: prefs/MidiIOPrefs.cpp:145
+#, fuzzy
+msgid "&Hardware Playthrough (Play new track while recording it)"
+msgstr "Reproducción Hardware (Reproducir unha pista mentras se grava)"
+
+#: prefs/MidiIOPrefs.cpp:148
+#, fuzzy
+msgid "&Software Playthrough (Play new track while recording it)"
+msgstr "Reproducción Hardware (Reproducir unha pista mentras se grava)"
+
+#: prefs/MidiIOPrefs.cpp:153 prefs/PlaybackPrefs.cpp:68
+msgid "Cut Preview"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:156
+msgid "Play before cut region:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:158
+msgid "Play after cut region:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:163 prefs/RecordingPrefs.cpp:76
+msgid "Latency"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:168 prefs/RecordingPrefs.cpp:82
+msgid "Audio to buffer:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:170 prefs/RecordingPrefs.cpp:88
+msgid "Latency correction:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:177
+msgid "Seek Time"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:180 prefs/PlaybackPrefs.cpp:92
+msgid "Short period:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:182 prefs/PlaybackPrefs.cpp:98
+msgid "Long period:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:187 prefs/PlaybackPrefs.cpp:54
+msgid "Effects Preview"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:190
+msgid "Play when previewing:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:91
+msgid "Mouse"
+msgstr "Rato"
+
+#: ../src/prefs/MousePrefs.cpp:71
+msgid "Mouse Bindings (default values, not configurable)"
+msgstr "Accións de rato (valores predeterminados, non configurábeis)"
+
+#: ../src/prefs/MousePrefs.cpp:84
+msgid "Tool"
+msgstr "Ferramenta"
+
+#: ../src/prefs/MousePrefs.cpp:85
+msgid "Command Action"
+msgstr "Acción de Comando"
+
+#: ../src/prefs/MousePrefs.cpp:86
+msgid "Buttons"
+msgstr "Botóns"
+
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:100
+msgid "Left-Click"
+msgstr "Clic-Esquerdo"
+
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:90
+msgid "Select"
+msgstr "Seleccionar"
+
+#: ../src/prefs/MousePrefs.cpp:88
+msgid "Set Selection Point"
+msgstr "Establecer punto de selección"
+
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:102
+msgid "Left-Drag"
+msgstr "Arrastre-Esquerdo"
+
+#: ../src/prefs/MousePrefs.cpp:89
+msgid "Set Selection Range"
+msgstr "Establecer rango de selección"
+
+#: ../src/prefs/MousePrefs.cpp:90
+msgid "Extend Selection Range"
+msgstr "Extender o rango da selección"
+
+#: ../src/prefs/MousePrefs.cpp:90
+msgid "Shift-Left-Click"
+msgstr "Maiús-Click-Esquerdo"
+
+#: prefs/MousePrefs.cpp:105
+msgid "Left-Double-Click"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:105
+msgid "Select Clip or Entire Track"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:106
+msgid "Ctrl-Left-Click"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:106
+msgid "Set Selection Point and Play"
+msgstr ""
 
 #: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
 #: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr "Achegar/Alonxar"
 
-#: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoom &Achegar\tCtrl+1"
+#: ../src/prefs/MousePrefs.cpp:92
+msgid "Zoom in on Point"
+msgstr "Zoom Achegar nun punto"
 
-#: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &Normal\tCtrl+2"
+#: ../src/prefs/MousePrefs.cpp:93
+msgid "Zoom in on a Range"
+msgstr "Zoom Achegar nun rango"
 
-#: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Z&oom Alonxar\tCtrl+3"
+#: prefs/MousePrefs.cpp:109
+msgid "same as right-drag"
+msgstr ""
+
+#: ../src/prefs/MousePrefs.cpp:94
+msgid "Right-Click"
+msgstr "Clic-Dereito"
+
+#: ../src/prefs/MousePrefs.cpp:94
+msgid "Zoom out one step"
+msgstr "Alonxar un paso"
+
+#: ../src/prefs/MousePrefs.cpp:95
+msgid "Right-Drag"
+msgstr "Arrastre-dereito"
+
+#: prefs/MousePrefs.cpp:111
+msgid "same as left-drag"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:112
+msgid "Shift-Drag"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:112
+msgid "Zoom out on a Range"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:113
+msgid "Middle-Click"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:113
+msgid "Zoom default"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:115
+msgid "Time shift clip or move up/down between tracks"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:116
+msgid "Shift-Left-Drag"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:116
+msgid "Time shift all clips in track"
+msgstr ""
+
+#: ../src/prefs/MousePrefs.cpp:103
+msgid "Ctrl-Left-Drag"
+msgstr "Ctrl-Frecha esq.-Arrastrar"
+
+#: prefs/MousePrefs.cpp:117
+msgid "Move clip up/down between tracks"
+msgstr ""
+
+#: ../src/prefs/MousePrefs.cpp:98
+msgid "Change Amplification Envelope"
+msgstr "Cambiar a envolvente de amplificación"
+
+#: ../src/prefs/MousePrefs.cpp:100
+msgid "Change Sample"
+msgstr "Cambiar mostreo"
+
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
+msgid "Pencil"
+msgstr "Lapis"
+
+#: ../src/prefs/MousePrefs.cpp:101
+msgid "Alt-Left-Click"
+msgstr "Alt-Frecha-Esquerda"
+
+#: ../src/prefs/MousePrefs.cpp:101
+msgid "Smooth at Sample"
+msgstr "Suavizar en mostreo"
+
+#: ../src/prefs/MousePrefs.cpp:102
+msgid "Change Several Samples"
+msgstr "Cambiar varios mostreos"
+
+#: ../src/prefs/MousePrefs.cpp:103
+msgid "Change ONE Sample only"
+msgstr "Cambiar UN mostreo somentes"
+
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
+msgid "Multi"
+msgstr "Multi"
+
+#: prefs/MousePrefs.cpp:126 prefs/MousePrefs.cpp:127
+#, fuzzy
+msgid "same as select tool"
+msgstr "Igual que ferramenta de selección"
+
+#: prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
+#, fuzzy
+msgid "same as zoom tool"
+msgstr "Igual que ferramenta de zoom"
+
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
+msgid "Any"
+msgstr "Calquera"
+
+#: ../src/prefs/MousePrefs.cpp:110
+msgid "Scroll up or down"
+msgstr "Desprazamento arriba ou abaixo"
+
+#: ../src/prefs/MousePrefs.cpp:110
+msgid "Wheel-Rotate"
+msgstr "Roda do rato"
+
+#: prefs/MousePrefs.cpp:132
+msgid "Scroll left or right"
+msgstr ""
+
+#: prefs/MousePrefs.cpp:132
+msgid "Shift-Wheel-Rotate"
+msgstr ""
+
+#: ../src/prefs/MousePrefs.cpp:111
+msgid "Ctrl-Wheel-Rotate"
+msgstr "Ctrl-Roda do rato"
+
+#: ../src/prefs/MousePrefs.cpp:111
+msgid "Zoom in or out"
+msgstr "Zoom Achegar ou Alonxar"
+
+#: prefs/PlaybackPrefs.cpp:58
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:78
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:88
+msgid "Seek Time when playing"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:52
+msgid "Audacity Preferences"
+msgstr "Preferencias de Audacity"
+
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:56
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:60
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:62
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:64
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:71
+msgid "Auto save"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:73
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:79
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:83
+msgid "minutes"
+msgstr ""
+
+#: ../src/prefs/QualityPrefs.cpp:161
+msgid "Rectangle"
+msgstr "Rectángulo"
+
+#: ../src/prefs/QualityPrefs.cpp:162
+msgid "Triangle"
+msgstr "Triángulo"
+
+#: ../src/prefs/QualityPrefs.cpp:163
+msgid "Shaped"
+msgstr "Moldeado "
+
+#: prefs/QualityPrefs.cpp:125
+msgid "Sampling"
+msgstr ""
+
+#: ../src/prefs/QualityPrefs.cpp:80
+msgid "Default Sample Rate:"
+msgstr "Frecuencia de mostreo predeterminado:"
+
+#: ../src/prefs/QualityPrefs.cpp:114
+msgid "Default Sample Format:"
+msgstr "Formato de mostreo predeterminado:"
+
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
+
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
+
+#: prefs/QualityPrefs.cpp:178 prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr ""
+
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:59
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:63
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:67
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:71
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:98 prefs/RecordingPrefs.cpp:100
+msgid "Sound Activated Recording"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:109
+msgid "Sound Activation Level (dB):"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:87
+msgid "Spectrograms"
+msgstr "Espectrogramas"
+
+#: prefs/SpectrumPrefs.cpp:41
+msgid "8 - most wideband"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
+#: ../src/prefs/SpectrumPrefs.cpp:40
+msgid "256 - default"
+msgstr "256 - predeterminado"
+
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:54
+msgid "32768 - most narrowband"
+msgstr ""
+
+#: ../src/prefs/SpectrumPrefs.cpp:44
+msgid "4096 - most narrowband"
+msgstr "4096 - banda máis estreita"
+
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:113
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:134
+msgid "Minimum Frequency (Hz):"
+msgstr ""
+
+#: ../src/prefs/SpectrumPrefs.cpp:104
+msgid "Maximum Frequency (Hz):"
+msgstr "Frecuencia máxima (Hz):"
+
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:165
+msgid "Minimum Amplitude (dB):"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:171
+msgid "Max. Number of Notes (1..128):"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr ""
+
+#: ../src/prefs/SpectrumPrefs.cpp:148
+msgid "The maximum frequency must be an integer"
+msgstr "A frecuencia máxima debe ser un enteiro"
+
+#: ../src/prefs/SpectrumPrefs.cpp:152
+msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
+msgstr "A frecuencia máxima debe estar no rango 100 Hz - 100,000 Hz"
+
+#: prefs/SpectrumPrefs.cpp:204
+msgid "The minimum frequency must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:208
+msgid "Minimum frequency must be at least 0 Hz"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:220
+msgid "The minimum amplitude (dB) must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:60
+msgid "Theme"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
+#. i18n-hint: && in here is an escape character to get a single & on screen,
+#. * so keep it as is
+#: prefs/ThemePrefs.cpp:111
+msgid "Theme Cache - Images && Color"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:115
+msgid "Save Theme Cache"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:116
+msgid "Load Theme Cache"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:131
+msgid "Load Theme Cache At Startup"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:146
+msgid "Individual Theme Files"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:150
+msgid "Save Files"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:151
+msgid "Load Files"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:107
+#, fuzzy
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Habilitar arrastre do borde esquerdo ou dereito da selección"
+
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr ""
+
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/ControlToolBar.cpp:470
+msgid "Pause"
+msgstr "Pausa"
+
+#: ../src/ControlToolBar.cpp:471
+msgid "Stop"
+msgstr "Parar"
+
+#: toolbars/ControlToolBar.cpp:190 toolbars/ControlToolBar.cpp:211
+msgid "Clean Speech"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:210
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:573 toolbars/ControlToolBar.cpp:905
+msgid "Error while opening sound device. "
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:743
+msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:744
+msgid "Recording not permitted"
+msgstr ""
+
+#: toolbars/DeviceToolBar.cpp:109 toolbars/DeviceToolBar.cpp:205
+msgid "Output Device"
+msgstr ""
+
+#: toolbars/DeviceToolBar.cpp:127 toolbars/DeviceToolBar.cpp:206
+msgid "Input Device"
+msgstr ""
+
+#: ../src/EditToolBar.cpp:154
+msgid "Trim outside selection"
+msgstr "Recortar fóra de selección"
+
+#: ../src/EditToolBar.cpp:156
+msgid "Silence selection"
+msgstr "Silenciar selección"
+
+#: toolbars/EditToolBar.cpp:150 toolbars/EditToolBar.cpp:197
+msgid "Link Tracks"
+msgstr ""
 
 #: ../src/EditToolBar.cpp:164
 msgid "Zoom In"
@@ -4347,185 +8387,688 @@ msgstr "Zoom Achegar"
 msgid "Zoom Out"
 msgstr "Zoom Alonxar"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Zoom anterior"
+#: ../src/EditToolBar.cpp:174
+msgid "Fit selection in window"
+msgstr "Axustar selección á fiestra"
 
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Ferramenta de Zoom"
+#: ../src/EditToolBar.cpp:176
+msgid "Fit project in window"
+msgstr "Axustar o proxecto na fiestra"
 
-#: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Ferramenta de Zoom\tF4"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92
-msgid "Zoom in on Point"
-msgstr "Zoom Achegar nun punto"
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:93
-msgid "Zoom in on a Range"
-msgstr "Zoom Achegar nun rango"
+#: toolbars/MeterToolBar.cpp:80
+msgid "Play Meter"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:111
-msgid "Zoom in or out"
-msgstr "Zoom Achegar ou Alonxar"
+#: toolbars/MeterToolBar.cpp:81
+msgid "Meter-Play"
+msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:94
-msgid "Zoom out one step"
-msgstr "Alonxar un paso"
+#: toolbars/MeterToolBar.cpp:89
+msgid "Record Meter"
+msgstr ""
 
-#. i18n-hint: This snap-to string will appear in the status bar.
-#: ../src/FormatSelection.cpp:113
-msgid "[Snap-To Off]"
-msgstr "[Axuste desactivado]"
+#: toolbars/MeterToolBar.cpp:90
+msgid "Meter-Record"
+msgstr ""
 
-#. i18n-hint: This snap-to string will appear in the status bar.
-#: ../src/FormatSelection.cpp:115
-msgid "[Snap-To On]"
-msgstr "[Axuste activado]"
+#: ../src/MeterToolBar.cpp:66
+msgid "Output level meter"
+msgstr "Medidor de nível de saída"
 
-#: ../src/effects/Echo.cpp:182
-msgid "by Dominic Mazzoni && Vaughan Johnson"
-msgstr "por Dominic Mazzoni && Vaughan Johnson"
+#: ../src/MeterToolBar.cpp:67
+msgid "Input level meter - click to monitor input"
+msgstr "Nível de entrada - faga clic para visualizar a entrada"
 
-#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
-#: ../src/effects/ChangeTempo.cpp:164
-msgid "by Vaughan Johnson && Dominic Mazzoni"
-msgstr "por Vaughan Johnson && Dominic Mazzoni"
+#: ../src/MixerToolBar.cpp:135
+msgid "Output Volume"
+msgstr "Volume de saída"
 
-#: ../src/import/ImportRaw.cpp:354
-msgid "bytes"
-msgstr "bytes"
+#: toolbars/MixerToolBar.cpp:92
+msgid "Slider Output"
+msgstr ""
 
-#. i18n-hint: fps is "frames per second",
-#. cdda is "Compact Disc Digital Audio - don't translate
-#: ../src/FormatSelection.cpp:44
-msgid "cdda min:sec:frames 75 fps"
-msgstr "cdda min:seg:cadros 75 cps"
+#: ../src/MixerToolBar.cpp:138
+msgid "Input Volume"
+msgstr "Volume de entrada"
 
-#. i18n-hint: cdda is "Compact Disc Digital Audio - don't translate.
-#. A "sector" is a technical term - don't translate unless you're sure
-#. you know the correct term.
-#: ../src/FormatSelection.cpp:54
-msgid "cdda sectors+bytes (snap to samples)"
-msgstr "sectores cdda+bytes (Axuste a mostreos)"
+#: toolbars/MixerToolBar.cpp:103
+msgid "Slider Input"
+msgstr ""
 
-#: ../src/widgets/Meter.cpp:293
-msgid "dB"
-msgstr "dB"
+#: toolbars/MixerToolBar.cpp:134
+msgid "Input Source"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
-msgid "down"
-msgstr "abaixo"
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
 
-#. i18n-hint: fps is "frames per second"
-#: ../src/FormatSelection.cpp:27
-msgid "film frames 24 fps"
-msgstr "cadros de film 24 cps"
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
 
-#. i18n-hint: fps is "frames per second",
-#. and the other letters are for hours, minutes, seconds, frames
-#: ../src/FormatSelection.cpp:30
-msgid "film h:mm:ss:ff 24 fps"
-msgstr "film h:mm:ss:cc 24 cps"
+#: toolbars/SelectionBar.cpp:86 toolbars/SelectionBar.cpp:292
+msgid "Selection"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:25
-msgid "hr:min:sec"
-msgstr "hr:min:seg"
+#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:194
+msgid "Project Rate (Hz):"
+msgstr ""
 
-#: ../src/Menus.cpp:1356
-msgid "labels.txt"
-msgstr "rotulos.txt"
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:255
+msgid "Selection Start:"
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2012
-msgid "left"
-msgstr "esquerdo"
+#: toolbars/SelectionBar.cpp:163 toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
+msgid "Length"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:23
-msgid "min:sec"
-msgstr "min:seg"
+#: toolbars/SelectionBar.cpp:174
+msgid "hidden"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:46
-msgid "min:sec (snap to samples)"
-msgstr "min:seg "
+#: toolbars/SelectionBar.cpp:184 toolbars/SelectionBar.cpp:272
+msgid "Audio Position:"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:48
-msgid "min:sec+samples (snap to samples)"
-msgstr "min:seg+mostreos (Axuste a mostreos)"
+#: toolbars/SelectionBar.cpp:236 toolbars/SelectionBar.cpp:241
+msgid "Snap To"
+msgstr ""
 
-#. i18n-hint: n/a is an English
-#. abbreviation meaning "not
-#. applicable" (in other words,
-#. unimportant, not relevant).
-#: ../src/effects/ChangeSpeed.cpp:338
-msgid "n/a"
-msgstr "non dispoñible"
+#: toolbars/SelectionBar.cpp:260
+msgid "Selection "
+msgstr ""
 
-#: ../src/TrackPanel.cpp:2012
-msgid "right"
-msgstr "dereito"
+#: toolbars/SelectionBar.cpp:340
+msgid "Selection Length"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:45
-msgid "samples (snap to samples)"
-msgstr "mostreos (Axuste a mostreos)"
+#: toolbars/SelectionBar.cpp:348
+msgid "Selection End"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:24
-msgid "sec"
-msgstr "seg"
+#: toolbars/ToolBar.cpp:120
+#, c-format
+msgid "Audacity %s ToolBar"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:47
-msgid "sec (snap to samples)"
-msgstr "seg (Axuste a mostreos)"
+#: toolbars/ToolDock.cpp:75 toolbars/ToolDock.cpp:76
+msgid "ToolDock"
+msgstr ""
 
-#: ../src/FormatSelection.cpp:49
-msgid "sec+samples (snap to samples)"
-msgstr "seg+mostreos (Axuste a mostreos)"
+#: ../src/ControlToolBar.cpp:76
+msgid "Click and drag to select audio"
+msgstr "Faga clic e arrastre para seleccionar audio"
 
-#: ../src/FreqWindow.cpp:996
-msgid "spectrum.txt"
-msgstr "espectro.txt"
+#: ../src/ControlToolBar.cpp:77
+msgid "Click and drag to edit the amplitude envelope"
+msgstr "Faga clic e arrastre para editar a amplitude da envolvente"
 
-#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
-#: ../src/effects/ChangeTempo.cpp:254
-msgid "to"
-msgstr "a"
+#: ../src/ControlToolBar.cpp:78
+msgid "Click and drag to edit the samples"
+msgstr "Faga clic e arrastre para editar os mostreos"
 
-#: ../src/Menus.cpp:293
-msgid "to Selection End"
-msgstr "ao Final da Selección"
+#: ../src/ControlToolBar.cpp:80
+msgid "Click to Zoom In, Shift-Click to Zoom Out"
+msgstr "Faga clic para Achegar, Maiús-Click para Alonxar"
 
-#: ../src/Menus.cpp:292
-msgid "to Selection Start"
-msgstr "ao Comenzo da Selección"
+#: ../src/ControlToolBar.cpp:82
+msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
+msgstr "Arrastrar para achegar dentro da rexión, Clic-dereito para alonxar"
 
-#: ../src/Menus.cpp:289
-msgid "to Track End"
-msgstr "ao Final da Pista"
+#: ../src/ControlToolBar.cpp:84
+msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
+msgstr "Esquerdo=Achegar, Dereito=Alonxar, Central=Normal"
 
-#: ../src/Menus.cpp:288
-msgid "to Track Start"
-msgstr "ao Comenzo da Pista"
+#: ../src/ControlToolBar.cpp:86
+msgid "Click and drag to move a track in time"
+msgstr "Faga clic e arrastre para mover unha pista no tempo"
 
-#. i18n-hint: The translation of "translator_credits" will appear
-#. in the credits in the About Audacity window.  Use this to add
-#. your own name(s) to the credits.
-#.
-#. For example:  "English translation by Dominic Mazzoni."
-#.
-#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
-msgid "translator_credits"
-msgstr "Traducción ao Galego por Xosé Antón Vicente Rodríguez"
+#: ../src/ControlToolBar.cpp:360
+msgid "Multi-Tool Mode"
+msgstr "Modo Multi-Ferramenta"
 
-#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
-msgid "up"
-msgstr "arriba"
+#: toolbars/ToolsToolBar.cpp:190
+msgid "Slide Tool"
+msgstr ""
 
-#: ../src/effects/ChangeSpeed.cpp:292
-msgid "using SampleRate, by Erik de Castro Lopo"
-msgstr "usando SampleRate, por Erik de Castro Lopo"
+#: toolbars/TranscriptionToolBar.cpp:170
+msgid "Play at selected speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:176 toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:262
+msgid "Playback Speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:194
+msgid "Adjust left selection to next onset"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Adjust right selection to previous offset"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:198
+msgid "Adjust left selection to next offset"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Adjust right selection to previous onset"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Select region of sound around cursor"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Select region of silence around cursor"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Automatically make labels from words"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:208
+msgid "Add label at selection"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Calibrate voicekey"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:214
+msgid "Adjust Sensitivity"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219 toolbars/TranscriptionToolBar.cpp:275
+msgid "Sensitivity"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:224
+msgid "Energy"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Sign Changes (Low Threshold)"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:226
+msgid "Sign Changes (High Threshold)"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:227
+msgid "Direction Changes (Low Threshold)"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:228
+msgid "Direction Changes (High Threshold)"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:236 toolbars/TranscriptionToolBar.cpp:276
+msgid "Key type"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:261
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:265
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Calibrate"
+msgstr ""
+
+#: ../src/widgets/AButton.cpp:181
+msgid " (disabled)"
+msgstr " (deshabilitado)"
+
+#: widgets/AButton.cpp:458
+msgid "Press"
+msgstr ""
+
+#: widgets/AButton.cpp:537
+msgid "Button"
+msgstr ""
+
+#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
+#. i18n-hint: One-letter abbreviation for Left, in VU Meter
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
+msgid "L"
+msgstr "I"
+
+#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
+#. i18n-hint: One-letter abbreviation for Right, in VU Meter
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
+msgid "R"
+msgstr "R"
+
+#: ../src/widgets/ASlider.cpp:484
+msgid "Center"
+msgstr "Centro"
+
+#: ../src/widgets/ASlider.cpp:488
+msgid "Left"
+msgstr "Esq"
+
+#: ../src/widgets/ASlider.cpp:491
+msgid "Right"
+msgstr "Der"
+
+#: widgets/ErrorDialog.cpp:96
+msgid "Help"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:166
+msgid "<"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:167
+msgid ">"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:171
+msgid "Forwards"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:172
+msgid "Backwards"
+msgstr ""
+
+#: widgets/ErrorDialog.cpp:275
+msgid "Help on the Internet"
+msgstr ""
+
+#: widgets/Grabber.cpp:62
+msgid "Grabber"
+msgstr ""
+
+#: widgets/Grid.cpp:703
+#, c-format
+msgid "%d rows, %d columns"
+msgstr ""
+
+#: widgets/Grid.cpp:709 widgets/Grid.cpp:836
+#, c-format
+msgid "Row %d"
+msgstr ""
+
+#: widgets/Grid.cpp:851
+msgid "Empty"
+msgstr ""
+
+#: widgets/Meter.cpp:392
+msgid "Enable Meter"
+msgstr ""
+
+#: widgets/Meter.cpp:394
+msgid "Disable Meter"
+msgstr ""
+
+#: widgets/Meter.cpp:397
+msgid "Stop Monitoring"
+msgstr ""
+
+#: widgets/Meter.cpp:399
+msgid "Start Monitoring"
+msgstr ""
+
+#: ../src/widgets/Meter.cpp:285
+msgid "Horizontal Stereo"
+msgstr "Estéreo horizontal"
+
+#: ../src/widgets/Meter.cpp:286
+msgid "Vertical Stereo"
+msgstr "Estéreo vertical"
+
+#: widgets/Meter.cpp:421
+msgid "Preferences..."
+msgstr ""
+
+#: widgets/Meter.cpp:871
+msgid "Mix Volume"
+msgstr ""
+
+#: widgets/Meter.cpp:1140
+msgid "This determines how often the meter is refreshed.\n"
+"If you have a slower PC you may want to select a\n"
+"lower refresh rate (30 per second or lower), so that\n"
+"audio qualtiy is not affected by the meter display."
+msgstr ""
+
+#: widgets/Meter.cpp:1141
+msgid "Meter refresh rate per second [1-100]: "
+msgstr ""
+
+#: widgets/Meter.cpp:1142
+msgid "Meter Preferences"
+msgstr ""
+
+#: widgets/MultiDialog.cpp:82
+msgid " Please select an action "
+msgstr ""
+
+#: widgets/MultiDialog.cpp:86
+msgid "Please select an action"
+msgstr ""
+
+#: widgets/ProgressDialog.cpp:1060
+msgid "Elapsed Time:"
+msgstr ""
+
+#: widgets/ProgressDialog.cpp:1080
+msgid "Remaining Time:"
+msgstr ""
+
+#: ../src/Tags.cpp:716 ../src/effects/VST/VSTEffect.cpp:95
+#: ../src/effects/VST/VSTEffect.cpp:453 ../src/effects/Amplify.cpp:182
+#: ../src/effects/AvcCompressor.cpp:710 ../src/effects/BassBoost.cpp:327
+#: ../src/effects/ChangePitch.cpp:389 ../src/effects/ChangeSpeed.cpp:375
+#: ../src/effects/ChangeTempo.cpp:280 ../src/effects/Compressor.cpp:476
+#: ../src/effects/Echo.cpp:238 ../src/effects/Equalization.cpp:726
+#: ../src/effects/Filter.cpp:479 ../src/effects/Normalize.cpp:255
+#: ../src/effects/Phaser.cpp:571 ../src/effects/Repeat.cpp:248
+#: ../src/effects/Silence.cpp:140 ../src/effects/ToneGen.cpp:320
+#: ../src/effects/Wahwah.cpp:558 ../src/effects/ladspa/LadspaEffect.cpp:495
+#: ../src/effects/nyquist/Nyquist.cpp:730
+#: ../src/effects/nyquist/Nyquist.cpp:877 ../src/export/ExportMultiple.cpp:696
+#: ../src/import/ImportRaw.cpp:405 ../src/prefs/FileFormatPrefs.cpp:466
+#: ../src/prefs/PrefsDialog.cpp:109
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: widgets/Ruler.cpp:1584 widgets/Ruler.cpp:1585
+msgid "Vertical Ruler"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in seconds. Change the comma
+#. * in the middle to the 1000s separator for your locale, and the 'seconds'
+#. * on the end to the word for seconds. Don't change the numbers.
+#: widgets/TimeTextCtrl.cpp:268
+msgid "01000,01000 seconds"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes and
+#. * seconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
+#. * change the numbers unless there aren't 60 seconds in a minute in your
+#. * locale
+#: widgets/TimeTextCtrl.cpp:277
+msgid "0100 h 060 m 060 s"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in days, hours,
+#. * minutes and seconds
+#: widgets/TimeTextCtrl.cpp:280
+msgid "dd:hh:mm:ss"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in days, hours, minutes and
+#. * seconds. Change the 'days' to the word for days, 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes and 's' to the
+#. * abbreviation for seconds. Don't change the numbers unless there aren't
+#. * 24 hours in a day in your locale
+#: widgets/TimeTextCtrl.cpp:286
+msgid "0100 days 024 h 060 m 060 s"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:289
+msgid "hh:mm:ss + hundredths"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
+#. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * hundredths are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:295
+msgid "0100 h 060 m 060.0100 s"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and milliseconds (1/1000 second)
+#: widgets/TimeTextCtrl.cpp:298
+msgid "hh:mm:ss + milliseconds"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * milliseconds are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:304
+msgid "0100 h 060 m 060.01000 s"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and samples (at the current project sample rate)
+#: widgets/TimeTextCtrl.cpp:307
+msgid "hh:mm:ss + samples"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and samples. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes, 's' to the abbreviation for seconds and
+#. * translate samples . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:313
+msgid "0100 h 060 m 060 s+.# samples"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in samples (at the
+#. * current project sample rate)
+#: widgets/TimeTextCtrl.cpp:316
+msgid "samples"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in samples (lots of samples).
+#. * Change the ',' to the 1000s separator for your locale, and translate
+#. * samples. If 1000s aren't a base multiple for your number system, then you
+#. * can change the numbers to an appropriate one, and put a 0 on the front
+#: widgets/TimeTextCtrl.cpp:321
+msgid "01000,01000,01000 samples|#"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:324
+msgid "hh:mm:ss + film frames (24 fps)"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames at 24 frames per second. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames' . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:330
+msgid "0100 h 060 m 060 s+.24 frames"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in frames (lots of
+#. * frames) at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:333
+msgid "film frames (24 fps)"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in frames at 24 frames per
+#. * second. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:336
+msgid "01000,01000 frames|24"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV drop-frame rate (used for American /
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:340
+msgid "hh:mm:ss + NTSC drop frames"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the |N alone, it's important!
+#: widgets/TimeTextCtrl.cpp:345
+msgid "0100 h 060 m 060 s+.30 frames|N"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:349
+msgid "hh:mm:ss + NTSC non-drop frames"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the | .999000999 alone,
+#. * the whole things really is slightly off-speed!
+#: widgets/TimeTextCtrl.cpp:355
+msgid "0100 h 060 m 060 s+.030 frames| .999000999"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in frames at NTSC
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:358
+msgid "NTSC frames"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone. That really is the frame
+#. * rate!
+#: widgets/TimeTextCtrl.cpp:362
+msgid "01000,01000 frames|29.97002997"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at PAL TV frame rate (used for European TV)
+#: widgets/TimeTextCtrl.cpp:365
+msgid "hh:mm:ss + PAL frames (25 fps)"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with PAL TV frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Nice simple time code!
+#: widgets/TimeTextCtrl.cpp:370
+msgid "0100 h 060 m 060 s+.25 frames"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in frames at PAL
+#. * TV frame rate (used for European TV
+#: widgets/TimeTextCtrl.cpp:373
+msgid "PAL frames (25 fps)"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone.
+#: widgets/TimeTextCtrl.cpp:376
+msgid "01000,01000 frames|25"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at CD Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:379
+msgid "hh:mm:ss + CDDA frames (75 fps)"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with CD Audio frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'.
+#: widgets/TimeTextCtrl.cpp:384
+msgid "0100 h 060 m 060 s+.75 frames"
+msgstr ""
+
+#. i18n-hint: Name of time display format that shows time in frames at CD
+#. * Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:387
+msgid "CDDA frames (75 fps)"
+msgstr ""
+
+#. i18n-hint: Format string for displaying time in frames with CD Audio
+#. * frames. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:390
+msgid "01000,01000 frames|75"
+msgstr ""
+
+#: widgets/TimeTextCtrl.cpp:469
+msgid "Use right mouse button or context key to change format"
+msgstr ""
+
+#: widgets/TimeTextCtrl.cpp:1502
+msgid "Time Control"
+msgstr ""
+
+#: ../src/widgets/Warning.cpp:53
+msgid "Don't show this warning again"
+msgstr "Non amosar esta advertencia novamente"
+
+#: ../src/xml/XMLFileReader.cpp:45
+#, c-format
+msgid "Could not open file: \"%s\""
+msgstr "Non se puido abrir o arquivo: \"%s\""
+
+#: xml/XMLFileReader.cpp:63
+#, c-format
+msgid "Error: %hs at line %lu"
+msgstr ""
+
+#: xml/XMLFileReader.cpp:79
+#, c-format
+msgid "Could not load file: \"%s\""
+msgstr ""
+
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
-msgid "using SoundTouch, by Olli Parviainen"
-msgstr "usando SoundTouch, por Olli Parviainen"
diff --git a/locale/he.po b/locale/he.po
index 7709cd3..827c279 100644
--- a/locale/he.po
+++ b/locale/he.po
@@ -17,9 +17,7 @@ msgstr "Project-Id-Version: audacity 1.3.4\n"
 "X-Poedit-Language: Hebrew\n"
 "X-Poedit-Country: ISRAEL\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:740
-#: Menus.cpp:733
+#: AboutDialog.cpp:142 AudacityApp.cpp:740 Menus.cpp:733
 msgid "&About Audacity..."
 msgstr "&...Audacity אודות"
 
@@ -32,11 +30,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -45,8 +43,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr " רני :למתרגם קרדיט \n"
 "  "
@@ -91,7 +88,7 @@ msgid "Special thanks:"
 msgstr ":מיוחדות תודות"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -99,14 +96,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:288
-#: AboutDialog.cpp:301
-#: AboutDialog.cpp:457
+#: AboutDialog.cpp:288 AboutDialog.cpp:301 AboutDialog.cpp:457
 msgid "Build Information"
 msgstr ""
 
-#: AboutDialog.cpp:294
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:294 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "מאופשר"
 
@@ -119,33 +113,27 @@ msgid "File Format Support"
 msgstr "פורמטי קובצים נתמכים"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:315
-#: AboutDialog.cpp:317
+#: AboutDialog.cpp:315 AboutDialog.cpp:317
 msgid "MP3 Importing"
 msgstr "MPמייבא 3  "
 
-#: AboutDialog.cpp:324
-#: AboutDialog.cpp:327
+#: AboutDialog.cpp:324 AboutDialog.cpp:327
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ogg Vorbis ייצוא וייבוא "
 
-#: AboutDialog.cpp:331
-#: AboutDialog.cpp:334
+#: AboutDialog.cpp:331 AboutDialog.cpp:334
 msgid "ID3 tag support"
 msgstr "תמיכה בתגי ID3"
 
-#: AboutDialog.cpp:341
-#: AboutDialog.cpp:344
+#: AboutDialog.cpp:341 AboutDialog.cpp:344
 msgid "FLAC import and export"
 msgstr ""
 
-#: AboutDialog.cpp:349
-#: AboutDialog.cpp:352
+#: AboutDialog.cpp:349 AboutDialog.cpp:352
 msgid "MP2 export"
 msgstr "MP2  ייצוא"
 
-#: AboutDialog.cpp:357
-#: AboutDialog.cpp:360
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
 msgid "Import via QuickTime"
 msgstr "QuickTime ייבא דרך "
 
@@ -154,15 +142,12 @@ msgstr "QuickTime ייבא דרך "
 msgid "Core Libraries"
 msgstr "ספריות גרעין"
 
-#: AboutDialog.cpp:373
-#: AboutDialog.cpp:376
-#: AboutDialog.cpp:379
+#: AboutDialog.cpp:373 AboutDialog.cpp:376 AboutDialog.cpp:379
 #: AboutDialog.cpp:381
 msgid "Sample rate conversion"
 msgstr "ממיר קצבי הדגימה"
 
-#: AboutDialog.cpp:386
-#: AboutDialog.cpp:389
+#: AboutDialog.cpp:386 AboutDialog.cpp:389
 msgid "Audio playback and recording"
 msgstr "השמעה והקלטה של שלמע"
 
@@ -170,24 +155,17 @@ msgstr "השמעה והקלטה של שלמע"
 msgid "Features"
 msgstr "תכונות"
 
-#: AboutDialog.cpp:406
-#: AboutDialog.cpp:409
-#: AboutDialog.cpp:414
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:422
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:430
-#: AboutDialog.cpp:433
+#: AboutDialog.cpp:406 AboutDialog.cpp:409 AboutDialog.cpp:414
+#: AboutDialog.cpp:417 AboutDialog.cpp:422 AboutDialog.cpp:425
+#: AboutDialog.cpp:430 AboutDialog.cpp:433
 msgid "Plug-in support"
 msgstr "תמיכה בתוספים"
 
-#: AboutDialog.cpp:438
-#: AboutDialog.cpp:441
+#: AboutDialog.cpp:438 AboutDialog.cpp:441
 msgid "Sound card mixer support"
 msgstr "תמיכה במערבל כרטיס הקול"
 
-#: AboutDialog.cpp:446
-#: AboutDialog.cpp:449
+#: AboutDialog.cpp:446 AboutDialog.cpp:449
 msgid "Pitch and Tempo Change support"
 msgstr ""
 
@@ -222,16 +200,12 @@ msgstr "ספריית העדפות:"
 msgid "GPL License"
 msgstr "GPL רשיון"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1751
+#: AudacityApp.cpp:468 Project.cpp:1751
 #, c-format
 msgid "%s is already open in another window."
 msgstr ".כבר פתוח בחלון אחר%s"
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1753
-#: Project.cpp:1834
-#: Project.cpp:1978
+#: AudacityApp.cpp:470 Project.cpp:1753 Project.cpp:1834 Project.cpp:1978
 #: Project.cpp:2080
 msgid "Error opening project"
 msgstr "שגיאה בפתיחת פרויקט"
@@ -257,22 +231,29 @@ msgstr "מד כניסה"
 msgid "Output Meter"
 msgstr "מד היציאה"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:742
-#: Menus.cpp:470
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&חדש"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&...פתח"
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:742 Menus.cpp:470
 #, fuzzy
-msgid "&Preferences...\tCtrl+,"
-msgstr "&...העדפות\tCtrl+P"
+msgid "&Preferences..."
+msgstr "&...העדפות"
 
-#: AudacityApp.cpp:824
-#: AudacityApp.cpp:901
+#: AudacityApp.cpp:824 AudacityApp.cpp:901
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "%ld שימוש בגודל בלוק של\n"
 
-#: AudacityApp.cpp:846
-#: AudacityApp.cpp:916
+#: AudacityApp.cpp:846 AudacityApp.cpp:916
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "%s :אופצית הפקודה לא מוכרת\n"
@@ -386,17 +367,16 @@ msgstr ":שגיאה"
 msgid "Error Initializing Audio"
 msgstr "שגיאה באיתחול השמע"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1236
 msgid "Latency problem"
 msgstr "בעיית הסתרה"
 
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "ערכי הסתרה גרמו לשמע המוקלט להיות נסתר לפני האפס.\n"
-" ...×”"
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "התאוששות אוטומטית משגיאה"
@@ -410,8 +390,7 @@ msgstr ""
 msgid "Recoverable projects"
 msgstr "פרויקטים ברי שחזור"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 #, fuzzy
 msgid "Name"
 msgstr "שם"
@@ -443,38 +422,25 @@ msgstr ""
 msgid "Confirm?"
 msgstr "?אישור"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "לא יכול למספר קבצים בספריית שמירה אוטומטית"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2545
-#: Menus.cpp:4445
-#: Project.cpp:1937
-#: Project.cpp:3296
-#: Project.cpp:3375
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1664
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2545 Menus.cpp:4445
+#: Project.cpp:1937 Project.cpp:3296 Project.cpp:3375 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1664 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:841
 msgid "Error"
 msgstr "שגיאה"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "בחר פקודה"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&פקודה"
@@ -483,8 +449,7 @@ msgstr "&פקודה"
 msgid "&Edit Parameters"
 msgstr "&ערוך פרמטרים"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&פרמטרים"
 
@@ -528,8 +493,7 @@ msgid "Apply %s with parameter(s)\n"
 "%s"
 msgstr ""
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "מצב בחינה (TEST MODE)"
 
@@ -538,8 +502,7 @@ msgstr "מצב בחינה (TEST MODE)"
 msgid "Apply %s"
 msgstr "%s מיישם את "
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "מיישם שרשרת"
@@ -564,24 +527,15 @@ msgstr "יישם &לפרויקט נוכחי"
 msgid "Apply to &Files..."
 msgstr "&...יישם לקבצים"
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&בטל"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "לא נבחרה שרשרת"
 
@@ -618,8 +572,7 @@ msgstr "...מיישם"
 msgid "File"
 msgstr "קובץ"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "ערוך שרשראות"
@@ -628,19 +581,12 @@ msgstr "ערוך שרשראות"
 msgid "&Chains"
 msgstr "&שרשראות"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "&הוסף"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4176
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4176
 msgid "&Remove"
 msgstr "&הסר"
 
@@ -654,9 +600,8 @@ msgstr ""
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-#, fuzzy
-msgid "No"
-msgstr "לא"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -743,8 +688,7 @@ msgstr "שטח דיסק"
 msgid "Copy Selected Audio Into Project"
 msgstr ""
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "בטל שמירה"
 
@@ -756,8 +700,7 @@ msgstr ""
 msgid "Copy All Audio into Project (Safer)"
 msgstr ""
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "שאל אותי"
 
@@ -790,9 +733,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
 msgstr ""
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "התקדמות"
 
@@ -846,8 +787,7 @@ msgstr ""
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr ""
 
@@ -895,14 +835,9 @@ msgstr ""
 msgid "Close project immediately with no changes"
 msgstr ""
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:484
-#: export/Export.cpp:501
-#: export/Export.cpp:520
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:484 export/Export.cpp:501
+#: export/Export.cpp:520 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "התראה"
 
@@ -920,14 +855,11 @@ msgstr ""
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr ""
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "[זמנית החלף מידע חסר בשקט [ בעילות זו בלבד"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "סגור את הפרויקט מיידית ללא שינויים נוספים"
 
@@ -989,11 +921,11 @@ msgstr "Rectangular"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1051,11 +983,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1078,8 +1011,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "ניתוח תדר"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:522
+#: FreqWindow.cpp:140 TrackPanel.cpp:522
 msgid "Spectrum"
 msgstr "ספקטרום"
 
@@ -1107,8 +1039,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "אלגוריתם:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "גודל"
 
@@ -1134,10 +1065,7 @@ msgstr "תדירות לוגריתמית"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:202
-#: Menus.cpp:231
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:202 Menus.cpp:231
 msgid "&Export..."
 msgstr "...ייצוא&"
 
@@ -1145,45 +1073,55 @@ msgstr "...ייצוא&"
 msgid "Export"
 msgstr "ייצא"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:135
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:135
 msgid "Close"
 msgstr "סגור"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1107
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1117
-#: effects/Equalization.cpp:1183
-#: effects/Equalization.cpp:1392
-#: effects/Equalization.cpp:1403
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:367
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1107 effects/Equalization.cpp:1109
+#: effects/Equalization.cpp:1117 effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1392 effects/Equalization.cpp:1403
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:367
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1148
-#: effects/Equalization.cpp:1179
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1148
+#: effects/Equalization.cpp:1179 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3394
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ".בכדי לצייר את הספקטרום, כלל הרצועות הנבחרות חייבות להיות בעלות אותו קצב דגימה"
+
+#: Menus.cpp:3420
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "%.1f -יותר מדי שמע נבחר. רק ה\n"
+".השניות הראשונות של השמע ינותחו"
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "לא מספיק מידע נבחר"
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr ""
 
@@ -1205,12 +1143,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr ":יצא מידע ספקטרלי"
 
-#: FreqWindow.cpp:1077
-#: LabelDialog.cpp:599
-#: Menus.cpp:2177
-#: Project.cpp:2394
-#: Project.cpp:3348
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1077 LabelDialog.cpp:599 Menus.cpp:2177 Project.cpp:2394
+#: Project.cpp:3348 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr ":לא יכול לכתוב קובץ"
 
@@ -1222,6 +1156,21 @@ msgstr "(Hz) תדר \t (dB) רמה "
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "(Hz)השהייה (שניות) / תדר\tעוצמה(השהייה (שניות/t(Hz) תדר\tעוצמה "
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1300,7 +1249,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1324,7 +1273,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1360,15 +1309,9 @@ msgstr "רמה למחיקה"
 msgid "&Discard"
 msgstr "זרוק&"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:396
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:396
 msgid "&OK"
 msgstr "&אישור"
 
@@ -1376,8 +1319,7 @@ msgstr "&אישור"
 msgid "Unable to determine"
 msgstr "לא מסוגל להחליט"
 
-#: Internat.cpp:180
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:180 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "בתים"
 
@@ -1393,13 +1335,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "ערוץ"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4019
-#: Menus.cpp:4047
+#: LabelDialog.cpp:53 Menus.cpp:4019 Menus.cpp:4047
 msgid "Label"
 msgstr "תווית"
 
@@ -1412,8 +1360,7 @@ msgstr "זמן התחלה"
 msgid "End Time"
 msgstr "זמן סיום"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:615
+#: LabelDialog.cpp:98 Menus.cpp:615
 msgid "&Edit Labels"
 msgstr "&ערוך תוויות "
 
@@ -1429,8 +1376,7 @@ msgstr "הכנס אחרי"
 msgid "Insert &Before"
 msgstr "הכנס לפני"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:192
+#: LabelDialog.cpp:127 Menus.cpp:192
 msgid "&Import..."
 msgstr "...ייבא&"
 
@@ -1449,20 +1395,15 @@ msgstr ""
 msgid "Confirm"
 msgstr "אשר"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3517
+#: LabelDialog.cpp:514 Menus.cpp:3517
 msgid "Select a text file containing labels..."
 msgstr "...בחר את קובץ הטקסט המכיל את התויות"
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3521
+#: LabelDialog.cpp:518 Menus.cpp:3521
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "קבי טקסט (*.txt)|*.txt|כל הקבצים (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3533
-#: Project.cpp:1800
-#: Project.cpp:1808
+#: LabelDialog.cpp:532 Menus.cpp:3533 Project.cpp:1800 Project.cpp:1808
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr ":לא יכול לפתוח קובץ"
@@ -1471,13 +1412,11 @@ msgstr ":לא יכול לפתוח קובץ"
 msgid "No labels to export."
 msgstr ".אין תוויות לייצא"
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2142
+#: LabelDialog.cpp:564 Menus.cpp:2142
 msgid "Export Labels As:"
 msgstr ":ייצא תויות בתור"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2140
+#: LabelDialog.cpp:566 Menus.cpp:2140
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1489,10 +1428,7 @@ msgstr "תוית רצועה חדשה"
 msgid "Enter track name"
 msgstr "הכנס שם רצועה "
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:88
-#: Menus.cpp:547
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:88 Menus.cpp:547
 msgid "&Label Track"
 msgstr "&תן שם לרצועה"
 
@@ -1519,24 +1455,15 @@ msgstr "Audacity פותח פרויקט"
 msgid "&File"
 msgstr "&קובץ"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&חדש\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&...פתח\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&סגור\tCtrl+W"
+msgid "&Close"
+msgstr "&סגור"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&שמור פרויקט\tCtrl+S"
+msgid "&Save Project"
+msgstr "&שמור פרויקט"
 
-#: Menus.cpp:178
-#: Project.cpp:2643
+#: Menus.cpp:178 Project.cpp:2643
 msgid "Save Project &As..."
 msgstr "...שמור פרויקט &בתור"
 
@@ -1557,8 +1484,8 @@ msgid "&Import"
 msgstr "&ייבוא"
 
 #: Menus.cpp:194
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&...שמע\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&...שמע"
 
 #: Menus.cpp:195
 msgid "&Labels..."
@@ -1572,8 +1499,7 @@ msgstr "&...MIDI"
 msgid "&Raw Data..."
 msgstr "&...ייבא מידע גולמי"
 
-#: Menus.cpp:208
-#: Menus.cpp:237
+#: Menus.cpp:208 Menus.cpp:237
 msgid "Expo&rt Selection..."
 msgstr "&...יצא בחירה בתור"
 
@@ -1589,12 +1515,11 @@ msgstr "...יצא &בריבוי"
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:245
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:258
+msgid "Appl&y Chain..."
+msgstr "&...יישם שרשרת"
 
-#: Menus.cpp:246
-#: Menus.cpp:260
+#: Menus.cpp:246 Menus.cpp:260
 msgid "Edit C&hains..."
 msgstr "...ערוך שר&שרת"
 
@@ -1606,10 +1531,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:258
-msgid "Appl&y Chain..."
-msgstr "&...יישם שרשרת"
-
 #: Menus.cpp:265
 msgid "&Upload File..."
 msgstr "&...טען קובץ"
@@ -1623,76 +1544,73 @@ msgid "&Print..."
 msgstr "&...הדפס"
 
 #: Menus.cpp:285
-msgid "E&xit\tCtrl+Q"
-msgstr "&צא\tCtrl+Q"
+msgid "E&xit"
+msgstr "&צא"
 
-#: Menus.cpp:293
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:293 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&עריכה"
 
 #: Menus.cpp:297
-msgid "&Undo\tCtrl+Z"
-msgstr "&בטל ביצוע\tCtrl+Z"
+msgid "&Undo"
+msgstr "&בטל ביצוע"
 
-#: Menus.cpp:305
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:305 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&בצע שוב"
 
 #: Menus.cpp:318
-msgid "Cu&t\tCtrl+X"
-msgstr "גז&ור\tCtrl+X"
+msgid "Cu&t"
+msgstr "גז&ור"
 
 #: Menus.cpp:322
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "&פיצול גזירה\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "&פיצול גזירה"
 
 #: Menus.cpp:323
-msgid "&Copy\tCtrl+C"
-msgstr "&העתק\tCtrl+C"
+msgid "&Copy"
+msgstr "&העתק"
 
 #: Menus.cpp:327
-msgid "&Paste\tCtrl+V"
-msgstr "&הדבק\tCtrl+V"
+msgid "&Paste"
+msgstr "&הדבק"
 
 #: Menus.cpp:331
 #, fuzzy
-msgid "Tri&m\tCtrl+T"
-msgstr "&קצוץ\tCtrl+T"
+msgid "Tri&m"
+msgstr "&קצוץ"
 
 #: Menus.cpp:333
-msgid "&Delete\tCtrl+K"
-msgstr "&מחק\tCtrl+K"
+msgid "&Delete"
+msgstr "&מחק"
 
 #: Menus.cpp:334
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "&פיצול מחיקה\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "&פיצול מחיקה"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:337
-msgid "Sp&lit\tCtrl+I"
-msgstr "&פיצול\tCtrl+I"
+msgid "Sp&lit"
+msgstr "&פיצול"
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "&פצל חדש\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "&פצל חדש"
 
 #: Menus.cpp:347
-msgid "&Join\tCtrl+J"
-msgstr "&צרף\tCtrl+J"
+msgid "&Join"
+msgstr "&צרף"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:350
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&שכפל\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "&שכפל"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1704,82 +1622,66 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:365
-msgid "&Cut\tAlt+X"
-msgstr "גז&ור\tAlt+X"
+msgid "&Cut"
+msgstr "גז&ור"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:370
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&גזור ופצל\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&גזור ופצל"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:375
-msgid "Co&py\tShift+Alt+C"
-msgstr "&העתק\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:381
-#, fuzzy
-msgid "&Delete\tAlt+K"
-msgstr "&מחק\tCtrl+K"
+msgid "Co&py"
+msgstr "&העתק"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:386
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "&פיצול מחיקה\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "&פיצול מחיקה"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:391
 #, fuzzy
-msgid "Sile&nce\tAlt+L"
-msgstr "&שקט\tCtrl+L"
+msgid "Sile&nce"
+msgstr "&שקט"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:397
-msgid "Spli&t\tAlt+I"
-msgstr "&פצל\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:402
-msgid "&Join\tAlt+J"
-msgstr "&אחד\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "&פצל"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:414
-msgid "&All\tCtrl+A"
-msgstr "&הכל\tCtrl+A"
+msgid "&All"
+msgstr "&הכל"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr "&כלום\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&כלום"
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:431
-msgid "Find &Zero Crossings\tZ"
-msgstr "&מצא את חציית האפס\tZ"
+msgid "Find &Zero Crossings"
+msgstr "&מצא את חציית האפס"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1796,11 +1698,11 @@ msgid "to Selection En&d"
 msgstr "לסוף הקטע הנבחר"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1823,29 +1725,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:462
-msgid "Turn Snap-To On"
-msgstr "(snap-to) הפעל הצמדה"
-
-#: Menus.cpp:463
-msgid "Turn Snap-To Off"
-msgstr "(snap-to) בטל הצמדה"
-
-#: Menus.cpp:464
-msgid "Turn Grid Snap On"
-msgstr "(grid snap) הפעל הצמדה לרישות"
-
-#: Menus.cpp:465
-msgid "Turn Grid Snap Off"
-msgstr "(grid snap) בטל הצמדה לרישות"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:484
@@ -1853,36 +1734,36 @@ msgid "&View"
 msgstr "&תצוגה"
 
 #: Menus.cpp:486
-msgid "Zoom &In\tCtrl+1"
-msgstr "זום &פנימה\tCtrl+1"
+msgid "Zoom &In"
+msgstr "זום &פנימה"
 
 #: Menus.cpp:489
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "זום &רגיל\tCtrl+1"
+msgid "Zoom &Normal"
+msgstr "זום &רגיל"
 
 #: Menus.cpp:490
-msgid "Zoom &Out\tCtrl+3"
-msgstr "זום &החוצה\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "זום &החוצה"
 
 #: Menus.cpp:493
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&התאם לחלון\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&התאם לחלון"
 
 #: Menus.cpp:494
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "התאם &אנכית\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "התאם &אנכית"
 
 #: Menus.cpp:495
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&הגדל את הבחירה\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&הגדל את הבחירה"
 
 #: Menus.cpp:498
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&צמצם כל הרצועות\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&צמצם כל הרצועות"
 
 #: Menus.cpp:499
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&רווח כל הרצועות\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "&רווח כל הרצועות"
 
 #: Menus.cpp:551
 #, fuzzy
@@ -1952,40 +1833,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "נגן "
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:786
-msgid "Skip to Start\tHome"
-msgstr "דלג להתחלהt\tHome"
+msgid "Skip to Start"
+msgstr "דלג להתחלהt"
 
 #: Menus.cpp:787
-msgid "Skip to End\tEnd"
-msgstr "דלג לסוף\tEnd"
+msgid "Skip to End"
+msgstr "דלג לסוף"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2013,15 +1894,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:545
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&רצועת שמע\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&רצועת שמע"
 
 #: Menus.cpp:546
 msgid "&Stereo Track"
 msgstr "&ערוץ סטריאו"
 
-#: Menus.cpp:548
-#: TimeTrack.cpp:44
+#: Menus.cpp:548 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "&רצועת זמן"
 
@@ -2030,7 +1910,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:568
@@ -2042,11 +1922,11 @@ msgid "Remo&ve Tracks"
 msgstr "הס&ר רצועה"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:585
@@ -2097,17 +1977,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:611
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "&הוספת תווית בנקודת הבחירה\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:612
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "&הוסף תוית בנקודת ההשמעה\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "&הוסף תוית בנקודת ההשמעה"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2133,20 +2013,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&אפקטים"
 
-#: Menus.cpp:658
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "חזור על אפקט אחרון\tCtrl+R"
-
 #: Menus.cpp:690
 msgid "&Analyze"
 msgstr "&נתח"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr "...צייר ספקטרום"
 
-#: Menus.cpp:725
-#: Menus.cpp:728
+#: Menus.cpp:725 Menus.cpp:728
 msgid "&Help"
 msgstr "&עזרה"
 
@@ -2158,9 +2037,9 @@ msgstr "&...Audacity אודות \"דיבור נקי\" של "
 msgid "&Show Welcome Message..."
 msgstr "&...הצג הודעת פתיחה"
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr "...א&ינדקס"
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2178,181 +2057,149 @@ msgstr "&...הרץ מבחן השוואה"
 msgid "&Audio Device Info..."
 msgstr "&...אינפורמציית התקן שמע"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:762
-msgid "Selection Tool\tF1"
-msgstr "כלי הבחירה\tF1"
+msgid "Selection Tool"
+msgstr "כלי הבחירה"
 
 #: Menus.cpp:763
-msgid "Envelope Tool\tF2"
-msgstr "כלי המעטפת\tF2"
+msgid "Envelope Tool"
+msgstr "כלי המעטפת"
 
 #: Menus.cpp:764
-msgid "Draw Tool\tF3"
-msgstr "כלי הציור\tF3"
+msgid "Draw Tool"
+msgstr "כלי הציור"
 
 #: Menus.cpp:765
-msgid "Zoom Tool\tF4"
-msgstr "כלי הזום\tF4"
+msgid "Zoom Tool"
+msgstr "כלי הזום"
 
 #: Menus.cpp:766
-msgid "Time Shift Tool\tF5"
-msgstr "כלי הזזת הזמן\tF5"
+msgid "Time Shift Tool"
+msgstr "כלי הזזת הזמן"
 
 #: Menus.cpp:767
-msgid "Multi Tool\tF6"
-msgstr "כלים מרובים\tF6"
+msgid "Multi Tool"
+msgstr "כלים מרובים"
 
 #: Menus.cpp:769
-msgid "Next Tool\tD"
-msgstr "הכלי הבא\tD"
+msgid "Next Tool"
+msgstr "הכלי הבא"
 
 #: Menus.cpp:770
-msgid "Previous Tool\tA"
-msgstr "כלי קודם\tA"
+msgid "Previous Tool"
+msgstr "כלי קודם"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:773
-msgid "Stop\tS"
-msgstr "עצור\tS"
-
-#: Menus.cpp:774
-msgid "Pause\tP"
-msgstr "הפסקה\tP"
-
-#: Menus.cpp:775
-msgid "Record\tR"
-msgstr "הקלטה\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:777
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "נגן/עצור וקבע סמן\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "נגן/עצור וקבע סמן"
 
 #: Menus.cpp:780
-msgid "Play One Second\t1"
-msgstr "נגן שניה אחת\t1"
+msgid "Play One Second"
+msgstr "נגן שניה אחת"
 
 #: Menus.cpp:781
-msgid "Play To Selection\tB"
-msgstr "נגן עד לבחירה\tB"
-
-#: Menus.cpp:782
-msgid "Play Looped\tL"
-msgstr "נגן בלולאה\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "נגן עד לבחירה"
 
 #: Menus.cpp:784
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr "ניגון מקדים של גזירה "
 
 #: Menus.cpp:789
-msgid "Selection to Start\tShift+Home"
-msgstr "בחירה מההתחלה\tShift+Home"
+msgid "Selection to Start"
+msgstr "בחירה מההתחלה"
 
 #: Menus.cpp:790
-msgid "Selection to End\tShift+End"
-msgstr "בחירה עד הסוף\tShift+End"
+msgid "Selection to End"
+msgstr "בחירה עד הסוף"
 
 #: Menus.cpp:792
-msgid "DeleteKey\tBackspace"
-msgstr "מקש מחיקה\tצעד אחורה"
+msgid "DeleteKey"
+msgstr "מקש מחיקה"
 
 #: Menus.cpp:797
-msgid "DeleteKey2\tDelete"
-msgstr "מקש מחיקה2\tמחיקה"
+msgid "DeleteKey2"
+msgstr "מקש מחיקה2"
 
-#: Menus.cpp:803
-msgid "Seek left short period during playback\tLeft"
-msgstr "חפש שמאלה זמן קצר תוך כדי השמעה\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:804
-msgid "Seek right short period during playback\tRight"
-msgstr "חפש ימינה זמן קצר תוך כדי השמעה\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:805
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "חפש שמאלה זמן ארוך תוך כדי השמעה\tLeft"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:806
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "חפש ימינה זמן ארוך תוך כדי השמעה\tRight"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:810
-msgid "Move Focus to Previous Track\tUp"
-msgstr "הזז מיקוד לרצועה קודמת\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "הזז מיקוד לרצועה קודמת"
 
-#: Menus.cpp:811
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "הזז מיקוד לנקודה קודמת ושנה בחירה\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:812
-msgid "Move Focus to Next Track\tDown"
-msgstr "הזז פוקוס לרצועההבאה\tDown"
+msgid "Move Focus to Next Track"
+msgstr "הזז פוקוס לרצועההבאה"
 
-#: Menus.cpp:813
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "הזז מיקוד לנקודה הבאה ושנה בחירה\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:814
-msgid "Toggle Focused Track\tReturn"
-msgstr "שנה רצועה ממוקדת\tReturn"
-
-#: Menus.cpp:815
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "שנה רצועה ממוקדת\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "שנה רצועה ממוקדת"
 
 #: Menus.cpp:818
-msgid "Cursor Left\tLeft"
-msgstr "סמן שמאלה\tשמאלה"
+msgid "Cursor Left"
+msgstr "סמן שמאלה"
 
 #: Menus.cpp:819
-msgid "Cursor Right\tRight"
-msgstr "סמן ימינה\tימינה"
+msgid "Cursor Right"
+msgstr "סמן ימינה"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: Menus.cpp:825
-msgid "Selection Extend Left\tShift+Left"
-msgstr "הרחבת הבחירה שמאלה\tShift+שמאלה"
+msgid "Selection Extend Left"
+msgstr "הרחבת הבחירה שמאלה"
 
 #: Menus.cpp:826
-msgid "Selection Extend Right\tShift+Right"
-msgstr "הרחבת הבחירה ימינה\tShift+ימינה"
+msgid "Selection Extend Right"
+msgstr "הרחבת הבחירה ימינה"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2363,52 +2210,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr " קבע (או הרחב) גבול בחירה ימנית"
 
 #: Menus.cpp:831
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "כווץ בחירה שמאלה\tCtrl+Shift+ימינה"
+msgid "Selection Contract Left"
+msgstr "כווץ בחירה שמאלה"
 
 #: Menus.cpp:832
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "כווץ בחירה ימינה\tCtrl+Shift+שמאלה"
+msgid "Selection Contract Right"
+msgstr "כווץ בחירה ימינה"
 
 #: Menus.cpp:834
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:835
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Pan left on focused track"
 
 #: Menus.cpp:836
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:837
-msgid "Change gain on focused track\tShift+G"
-msgstr "שנה הגבר ברצועה הממוקדת\tShift+G"
+msgid "Change gain on focused track"
+msgstr "שנה הגבר ברצועה הממוקדת"
 
 #: Menus.cpp:838
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "הגדל הגבר ברצועה הממוקדת\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "הגדל הגבר ברצועה הממוקדת"
 
 #: Menus.cpp:839
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "הקטן הגבר ברצועה הממוקדת\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "הקטן הגבר ברצועה הממוקדת"
 
 #: Menus.cpp:840
-msgid "Open menu on focused track\tShift+M"
-msgstr "פתח תפריט עבור רצועה ממוקדת\tShift+M"
+msgid "Open menu on focused track"
+msgstr "פתח תפריט עבור רצועה ממוקדת"
 
 #: Menus.cpp:841
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "השתק/בטל השתקה של רצועה ממוקדת\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "השתק/בטל השתקה של רצועה ממוקדת"
 
 #: Menus.cpp:842
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "קבע/בטל רצועה נבחרת כיחידה\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "קבע/בטל רצועה נבחרת כיחידה"
 
 #: Menus.cpp:843
-msgid "Close focused track\tShift+C"
-msgstr "סגור רצועה ממוקדת\tShift+C"
+msgid "Close focused track"
+msgstr "סגור רצועה ממוקדת"
 
 #: Menus.cpp:845
 msgid "Snap To On"
@@ -2419,7 +2266,35 @@ msgid "Snap To Off"
 msgstr "Snap-To Off"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2480,8 +2355,8 @@ msgstr ".ראשית צריך לבחור ברצועה "
 
 #: Menus.cpp:2005
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "%s חזור שוב\tCtrl+R"
+msgid "Repeat %s"
+msgstr "%s חזור שוב"
 
 #: Menus.cpp:2136
 msgid "There are no label tracks to export."
@@ -2512,9 +2387,7 @@ msgstr "שום דבר לביטול ביצוע"
 msgid "Nothing to redo"
 msgstr "שום דבר לביצוע מחדש"
 
-#: Menus.cpp:2336
-#: TrackPanel.cpp:564
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2336 TrackPanel.cpp:564 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "גזור"
 
@@ -2530,10 +2403,7 @@ msgstr "גזור ופצל"
 msgid "Split-cut to the clipboard"
 msgstr "גזור ופצל ללוח העתקה"
 
-#: Menus.cpp:2439
-#: Menus.cpp:2510
-#: Menus.cpp:2604
-#: TrackPanel.cpp:566
+#: Menus.cpp:2439 Menus.cpp:2510 Menus.cpp:2604 TrackPanel.cpp:566
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "הדבק"
@@ -2542,8 +2412,7 @@ msgstr "הדבק"
 msgid "Pasted text from the clipboard"
 msgstr "הדבק טקסט מלוח ההעתקה"
 
-#: Menus.cpp:2510
-#: Menus.cpp:2604
+#: Menus.cpp:2510 Menus.cpp:2604
 msgid "Pasted from the clipboard"
 msgstr "הדבק מלוח ההעתקה"
 
@@ -2555,8 +2424,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr ".העתקת שמע סטריאופוני לרצועת מונו אסורה"
 
-#: Menus.cpp:2640
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2640 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "קצוץ"
 
@@ -2600,8 +2468,7 @@ msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "%.2f נבחרו רצועות שקטות למשך\n"
 "%.2f בנקודה "
 
-#: Menus.cpp:2741
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2741 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "שקט"
 
@@ -2686,8 +2553,7 @@ msgstr "Disjoin Labels"
 msgid "Disjoined labeled regions"
 msgstr " בטל איחוד אזורים בעלי תוית"
 
-#: Menus.cpp:2917
-#: TrackPanel.cpp:6087
+#: Menus.cpp:2917 TrackPanel.cpp:6087
 msgid "Split"
 msgstr "פצל"
 
@@ -2703,16 +2569,6 @@ msgstr "פצל לרצועה חדשה"
 msgid "Split at labels"
 msgstr "פצל בנקודת התוויות"
 
-#: Menus.cpp:3394
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr ".בכדי לצייר את הספקטרום, כלל הרצועות הנבחרות חייבות להיות בעלות אותו קצב דגימה"
-
-#: Menus.cpp:3420
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "%.1f -יותר מדי שמע נבחר. רק ה\n"
-".השניות הראשונות של השמע ינותחו"
-
 #: Menus.cpp:3546
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2779,9 +2635,7 @@ msgstr "רצועות לערוץ סטריאו יחיד %d ערבב והפוך"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "רצועות לערוץ מונו יחיד %d ערבב והפוך"
 
-#: Menus.cpp:560
-#: Menus.cpp:3698
-#: Mix.cpp:120
+#: Menus.cpp:560 Menus.cpp:3698 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&ערבל והפוך"
 
@@ -2833,10 +2687,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "רצועת שמע חדשה נוצרה"
 
-#: Menus.cpp:3912
-#: Menus.cpp:3935
-#: Menus.cpp:3950
-#: Menus.cpp:3970
+#: Menus.cpp:3912 Menus.cpp:3935 Menus.cpp:3950 Menus.cpp:3970
 msgid "New Track"
 msgstr "ערוץ חדש"
 
@@ -2872,8 +2723,7 @@ msgstr "Save CleanSpeech Preset File As:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "(*.csp)|*.csp CleanSpeech ערכי התחלה של"
 
-#: Menus.cpp:4085
-#: export/Export.cpp:509
+#: Menus.cpp:4085 export/Export.cpp:509
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr ".מצטער, מסלול מיקום הקובץ הגדול מ256 תווים אינו נתמך"
 
@@ -2881,8 +2731,7 @@ msgstr ".מצטער, מסלול מיקום הקובץ הגדול מ256 תווי
 msgid "Problem encountered exporting presets."
 msgstr "קרתה תקלה במהלך ייצו ערכי התחלה"
 
-#: Menus.cpp:4132
-#: export/Export.cpp:402
+#: Menus.cpp:4132 export/Export.cpp:402
 msgid "Unable to export"
 msgstr "לא מסוגל לייצא"
 
@@ -2894,9 +2743,7 @@ msgstr "הסר רצועה"
 msgid "Removed audio track(s)"
 msgstr "הסר רצועות שמע "
 
-#: Menus.cpp:4439
-#: Menus.cpp:4458
-#: export/ExportMP3.cpp:1927
+#: Menus.cpp:4439 Menus.cpp:4458 export/ExportMP3.cpp:1927
 msgid "Resample"
 msgstr "דגימה מחדש"
 
@@ -2921,8 +2768,7 @@ msgstr "דגום רצועה מחדש"
 msgid "Resampled audio track(s)"
 msgstr "דגום רצועה(ות) שמע חדשות"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "עירבול"
 
@@ -2942,6 +2788,10 @@ msgstr "יש בעיה בהדפסה."
 msgid "Print"
 msgstr "הדפס"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:635
 msgid "Main Mix"
 msgstr "מערבל ראשי"
@@ -2955,14 +2805,11 @@ msgstr "%s גרסה  Audacity - ברוכים הבאים ל"
 msgid "(Recovered)"
 msgstr "(הוקלט)"
 
-#: Project.cpp:1472
-#: TrackPanel.cpp:788
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:775
 msgid "Record"
-msgstr "הקלט"
+msgstr "הקלטה"
 
-#: Project.cpp:1472
-#: TrackPanel.cpp:788
+#: Project.cpp:1472 TrackPanel.cpp:788
 msgid "Recorded Audio"
 msgstr "שמע מוקלט"
 
@@ -2983,9 +2830,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "לשמור שינויים?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
-msgstr "כל הקבצים|*.*|כל קבצים נתמכים|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1709
 msgid "Select one or more audio files..."
@@ -3014,8 +2861,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "פותח קובץ פרויקט ישן"
 
-#: Project.cpp:1801
-#: Project.cpp:1809
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1801 Project.cpp:1809
 msgid "Error opening file"
 msgstr "שגיאה בפתיחת קובץ"
 
@@ -3050,8 +2907,7 @@ msgstr "התאושש"
 msgid "Project checker repaired file"
 msgstr "בודק הפרויקטים תיקן קובץ"
 
-#: Project.cpp:1967
-#: effects/Repair.h:29
+#: Project.cpp:1967 effects/Repair.h:29
 msgid "Repair"
 msgstr "תקן"
 
@@ -3071,10 +2927,12 @@ msgstr ""
 msgid "Can't open project file"
 msgstr "לא יכול לפתוח קובץ פרויקט"
 
-#: Project.cpp:2153
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3094,17 +2952,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2381
-#: Project.cpp:2395
+#: Project.cpp:2381 Project.cpp:2395
 msgid "Error saving project"
 msgstr "שגיאה בשמירת הפרויקט"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2457
 #, c-format
 msgid "Saved %s"
@@ -3115,16 +2978,12 @@ msgstr "%s נשמר"
 msgid "Imported '%s'"
 msgstr "'%s' ייובאו"
 
-#: Menus.cpp:3611
-#: Project.cpp:2540
-#: Project.cpp:2565
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3611 Project.cpp:2540 Project.cpp:2565 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "ייבא"
 
-#: Project.cpp:2592
-#: Project.cpp:2600
+#: Project.cpp:2592 Project.cpp:2600
 msgid "Error importing"
 msgstr "שגיאה ביבוא"
 
@@ -3168,8 +3027,7 @@ msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "%.2f נמחקו\n"
 "%.2f שניות בנקודה "
 
-#: Project.cpp:2812
-#: effects/Equalization.cpp:1260
+#: Project.cpp:2812 effects/Equalization.cpp:1260
 #: effects/Equalization.cpp:2515
 msgid "Delete"
 msgstr "מחק"
@@ -3250,8 +3108,7 @@ msgstr "Erik de Castro Lopo ×¢\"×™ Libsamplerate"
 msgid "Libsamplerate error: %d\n"
 msgstr "%d :Libsamplerate שגיאת\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr ".דגימה מחדש מנוטרלת"
 
@@ -3270,6 +3127,163 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "...בחר"
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "שקר"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "כלים"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "cerv"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "מערבב"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "מד"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "התקן"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "תעתיק"
+
+#: TrackPanel.cpp:463 TrackPanel.cpp:464
+msgid "Track Panel"
+msgstr "Track Panel"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "רצועות"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "נשמר"
@@ -3278,14 +3292,15 @@ msgstr "נשמר"
 msgid "Error trying to save file: "
 msgstr "שגיאה  בנסיון לשמור קובץ:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "&הצג קודם"
@@ -3326,8 +3341,7 @@ msgstr "כותרת אלבום"
 msgid "Track Number"
 msgstr "רצועה מספר"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "שנה"
 
@@ -3335,9 +3349,7 @@ msgstr "שנה"
 msgid "Genre"
 msgstr "סגנון"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "הערות"
 
@@ -3353,9 +3365,7 @@ msgstr "שם תג"
 msgid "Tag Value"
 msgstr "ערך התג"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&נקה"
 
@@ -3371,71 +3381,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "תבנית"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&...טען"
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "...ש&מור"
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "&קבע ערכי מחדל"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "ערוך סגנון"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "אפס סגנון"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr ""
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "?האם אתה בטוח שאתה רוצה לאפס את קובץ רשימת הסגנונות לערכי המחדל"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr ".לא יכול לפתןח קובץ סגנון"
 
@@ -3443,21 +3424,19 @@ msgstr ".לא יכול לפתןח קובץ סגנון"
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "שגיאה בטעינת מטא-מידע"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "שמור מטא-מידע בתור:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3488,8 +3467,7 @@ msgid "Audacity could not find file:\n"
 "Theme not loaded."
 msgstr ""
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3508,8 +3486,7 @@ msgid "None of the expected theme component files\n"
 "  %s."
 msgstr ""
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3530,8 +3507,7 @@ msgid "All required files in:\n"
 "were already present."
 msgstr ""
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:304
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:304
 msgid "Duration"
 msgstr "משך זמן"
 
@@ -3539,6 +3515,14 @@ msgstr "משך זמן"
 msgid "Audacity Timer Record"
 msgstr "Audacity הקלטה מתוזמנת ע\"י"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "תחילת ההקלטה"
@@ -3578,40 +3562,23 @@ msgstr "%s מחכה להתחיל הקלטה ב .\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:463
-#: TrackPanel.cpp:464
-msgid "Track Panel"
-msgstr "Track Panel"
-
-#: TrackPanel.cpp:507
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:507 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "...אחר"
 
-#: TrackPanel.cpp:515
-#: TrackPanel.cpp:539
-#: TrackPanel.cpp:548
-#: TrackPanel.cpp:556
+#: TrackPanel.cpp:515 TrackPanel.cpp:539 TrackPanel.cpp:548 TrackPanel.cpp:556
 msgid "Name..."
 msgstr "...שם"
 
-#: TrackPanel.cpp:517
-#: TrackPanel.cpp:541
-#: TrackPanel.cpp:552
-#: TrackPanel.cpp:558
+#: TrackPanel.cpp:517 TrackPanel.cpp:541 TrackPanel.cpp:552 TrackPanel.cpp:558
 msgid "Move Track Up"
 msgstr "הזז רצועה למעלה"
 
-#: TrackPanel.cpp:518
-#: TrackPanel.cpp:542
-#: TrackPanel.cpp:553
-#: TrackPanel.cpp:559
+#: TrackPanel.cpp:518 TrackPanel.cpp:542 TrackPanel.cpp:553 TrackPanel.cpp:559
 msgid "Move Track Down"
 msgstr "הזז רצועה למטה"
 
-#: TrackPanel.cpp:520
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:520 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "צורת הגל"
 
@@ -3627,18 +3594,15 @@ msgstr " (f)ספקטרום לוג"
 msgid "Pitch (EAC)"
 msgstr "(EAC) גובה צליל "
 
-#: TrackPanel.cpp:528
-#: TrackPanel.cpp:6057
+#: TrackPanel.cpp:528 TrackPanel.cpp:6057
 msgid "Mono"
 msgstr "מונו"
 
-#: TrackPanel.cpp:529
-#: TrackPanel.cpp:6056
+#: TrackPanel.cpp:529 TrackPanel.cpp:6056
 msgid "Left Channel"
 msgstr "ערוץ שמאל"
 
-#: TrackPanel.cpp:530
-#: TrackPanel.cpp:6056
+#: TrackPanel.cpp:530 TrackPanel.cpp:6056
 msgid "Right Channel"
 msgstr "ערוץ ימני"
 
@@ -3650,12 +3614,15 @@ msgstr "ייצר רצועת סטריאו"
 msgid "Split Stereo Track"
 msgstr "פצל ערוצי סטריאו"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:534
 msgid "Set Sample Format"
 msgstr "קבע פורמט הדגימה"
 
-#: TrackPanel.cpp:536
-#: TrackPanel.cpp:6286
+#: TrackPanel.cpp:536 TrackPanel.cpp:6286
 msgid "Set Rate"
 msgstr "קבע קצב"
 
@@ -3675,8 +3642,7 @@ msgstr "...גופן"
 msgid "Set Range..."
 msgstr "...קבע תחום"
 
-#: TrackPanel.cpp:565
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:565 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "העתק"
 
@@ -3722,21 +3688,13 @@ msgstr ".בחר וגרור בכדי להזיז את קצה קטע הבחירה 
 msgid "Click and drag to move right selection boundary."
 msgstr ".בחר וגרור בכדי להזיז את קצה קטע הבחירה הימני"
 
-#: TrackPanel.cpp:1692
-#: TrackPanel.cpp:3968
-#: TrackPanel.cpp:4000
-#: TrackPanel.cpp:4255
-#: TrackPanel.cpp:6398
-#: TrackPanel.cpp:6418
+#: TrackPanel.cpp:1692 TrackPanel.cpp:3968 TrackPanel.cpp:4000
+#: TrackPanel.cpp:4255 TrackPanel.cpp:6398 TrackPanel.cpp:6418
 msgid "Modified Label"
 msgstr "תווית ששונתה"
 
-#: TrackPanel.cpp:1693
-#: TrackPanel.cpp:3969
-#: TrackPanel.cpp:4001
-#: TrackPanel.cpp:4256
-#: TrackPanel.cpp:6399
-#: TrackPanel.cpp:6419
+#: TrackPanel.cpp:1693 TrackPanel.cpp:3969 TrackPanel.cpp:4001
+#: TrackPanel.cpp:4256 TrackPanel.cpp:6399 TrackPanel.cpp:6419
 msgid "Label Edit"
 msgstr "ערוך תווית"
 
@@ -3744,8 +3702,7 @@ msgstr "ערוך תווית"
 msgid "Adjusted envelope."
 msgstr "מעטת מתואמת."
 
-#: TrackPanel.cpp:1921
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1921 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "מעטפת"
 
@@ -3767,9 +3724,7 @@ msgstr "ימינה"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Time shifted tracks/clips %s %.02f seconds"
 
-#: TrackPanel.cpp:2067
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2067 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "הזזה-בזמן"
@@ -3808,39 +3763,29 @@ msgid "Moved pan slider"
 msgstr "Moved pan slider"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3460
-#: TrackPanel.cpp:5701
-#: TrackPanel.cpp:7107
+#: TrackPanel.cpp:3460 TrackPanel.cpp:5701 TrackPanel.cpp:7107
 msgid "Gain"
 msgstr "הגבר"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3460
-#: TrackPanel.cpp:5639
-#: TrackPanel.cpp:7114
+#: TrackPanel.cpp:3460 TrackPanel.cpp:5639 TrackPanel.cpp:7114
 msgid "Pan"
 msgstr "Pan"
 
-#: TrackPanel.cpp:3585
-#: TrackPanel.cpp:6351
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3585 TrackPanel.cpp:6351 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "למעלה"
 
-#: TrackPanel.cpp:3589
-#: TrackPanel.cpp:6352
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3589 TrackPanel.cpp:6352 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "למטה"
 
-#: TrackPanel.cpp:3596
-#: TrackPanel.cpp:6347
+#: TrackPanel.cpp:3596 TrackPanel.cpp:6347
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "'%s' %s הוזז"
 
-#: TrackPanel.cpp:3599
-#: TrackPanel.cpp:6353
+#: TrackPanel.cpp:3599 TrackPanel.cpp:6353
 msgid "Move Track"
 msgstr "הזז רצועה"
 
@@ -3872,14 +3817,6 @@ msgstr "Adjusted Pan"
 msgid "Adjusted gain"
 msgstr "Adjusted gain"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5884
 msgid "Can't delete track with active audio"
 msgstr "לא יכול למחוק רצועה עם שמע אקטיבי"
@@ -3900,8 +3837,7 @@ msgstr ",שמאל"
 msgid "Right, "
 msgstr ",ימינה"
 
-#: TrackPanel.cpp:6066
-#: TrackPanel.cpp:6191
+#: TrackPanel.cpp:6066 TrackPanel.cpp:6191
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' הרץ את  %s שונה ל "
@@ -3915,6 +3851,11 @@ msgstr "ערוץ"
 msgid "Split stereo track '%s'"
 msgstr "פצל ערוצי סטריאו '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6105
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3941,8 +3882,7 @@ msgstr "שנה פורמט"
 msgid "Change lower speed limit (%) to:"
 msgstr ":שנה גבול מהירות תחתון (%) ל"
 
-#: TrackPanel.cpp:6316
-#: TrackPanel.cpp:6317
+#: TrackPanel.cpp:6316 TrackPanel.cpp:6317
 msgid "Lower speed limit"
 msgstr "סף מהירות נמוך"
 
@@ -3950,8 +3890,7 @@ msgstr "סף מהירות נמוך"
 msgid "Change upper speed limit (%) to:"
 msgstr ":שנה גבול מהירות עליון (%) ל"
 
-#: TrackPanel.cpp:6323
-#: TrackPanel.cpp:6324
+#: TrackPanel.cpp:6323 TrackPanel.cpp:6324
 msgid "Upper speed limit"
 msgstr "סף מהירות גבוה"
 
@@ -3993,6 +3932,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7034
 msgid "Mute"
 msgstr "השתק"
@@ -4026,10 +3969,7 @@ msgstr "יחיד מופעל"
 msgid " Select On"
 msgstr "בחירה מופעלת"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "הבחירה קטנה מדי לשימוש של מפתח קולי"
 
@@ -4056,8 +3996,7 @@ msgstr ""
 msgid "Audio Track"
 msgstr "רצועת שמע"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr ""
 
@@ -4075,10 +4014,10 @@ msgstr "1 עד %i תוספים"
 msgid "Plugins %i to %i"
 msgstr "%i עד %i תוספים"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "?אינו מותר מסיבה כל שהיא. נסה ראשית לבחור שמע כלשהו "
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:724
 msgid "You can only do this when playing and recording are\n"
@@ -4158,9 +4097,7 @@ msgstr "מגביר"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr ""
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "התחמקות אוטומטית"
@@ -4182,17 +4119,11 @@ msgid "Maximum pause:"
 msgstr "הפסקה מירבית:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "שניות"
 
@@ -4212,8 +4143,7 @@ msgstr ":אורך החלשה פנימית"
 msgid "Inner fade up length:"
 msgstr ":אורך הגברה פנימית"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "רמת סף:"
 
@@ -4233,12 +4163,9 @@ msgstr "...התחמקות אוטומטית"
 msgid "Processing Auto Duck..."
 msgstr "...מעבד התחמקות אוטומטית"
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1040
-#: widgets/ErrorDialog.cpp:74
-#: widgets/ErrorDialog.cpp:100
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1040
+#: widgets/ErrorDialog.cpp:74 widgets/ErrorDialog.cpp:100
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "אישור"
@@ -4305,14 +4232,12 @@ msgstr "שנה גובה צליל מבלי לשנות את הקצב"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "Vaughan Johnson && Dominic Mazzoni ×¢\"×™"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "Olli Parviainen ע\"י SoundTouch-משתמש ב"
 
@@ -4361,10 +4286,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "ל ->"
@@ -4373,8 +4296,7 @@ msgstr "ל ->"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "אחוז שינוי:"
@@ -4392,8 +4314,7 @@ msgstr "...שנה גובה צליל"
 msgid "Changing Pitch"
 msgstr "משנה גובה צליל"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "%s %.1f%% :יושם אפקט"
@@ -4545,13 +4466,11 @@ msgstr "זמן ניוון:"
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-#, fuzzy
-msgid "Normalize to 0dB after compressing"
-msgstr "(0dbיישם נירמול אחרי הדחיסה (ל "
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "רמת סף: %d dB"
@@ -4582,7 +4501,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "%.1f :זמן מתקף בשניות"
@@ -4593,7 +4511,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "%.1f :זמן דעיכה בשניות"
@@ -4606,6 +4523,10 @@ msgstr "...דוחס"
 msgid "Applying Dynamic Range Compression..."
 msgstr "...מיישם דחיסת תחום דינמי"
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4625,19 +4546,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4646,15 +4554,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "התחלה"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "סוף"
 
@@ -4674,6 +4579,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4698,8 +4608,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr "איתחול"
 
@@ -4719,16 +4628,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "cerv"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4839,18 +4740,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "DTMF מייצר צלילי"
@@ -4863,9 +4752,7 @@ msgstr "(2006) Salvo Ventura ×¢\"×™"
 msgid "DTMF sequence:"
 msgstr "DTMF סדר:"
 
-#: effects/DtmfGen.cpp:444
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:444 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "(עוצמה (0-1"
@@ -4886,9 +4773,7 @@ msgstr "זמן מחזור:"
 msgid "Tone duration:"
 msgstr ":משך צליל"
 
-#: effects/DtmfGen.cpp:478
-#: effects/DtmfGen.cpp:480
-#: effects/DtmfGen.cpp:556
+#: effects/DtmfGen.cpp:478 effects/DtmfGen.cpp:480 effects/DtmfGen.cpp:556
 #: effects/DtmfGen.cpp:557
 msgid "ms"
 msgstr "מילישניות"
@@ -4970,8 +4855,7 @@ msgstr ""
 msgid "Cubic"
 msgstr "מעוקב"
 
-#: effects/Equalization.cpp:357
-#: effects/Equalization.cpp:408
+#: effects/Equalization.cpp:357 effects/Equalization.cpp:408
 msgid "Equalization"
 msgstr "השוואה"
 
@@ -4983,6 +4867,10 @@ msgstr "EQ שגיאה בטעינת עקומות "
 msgid "custom"
 msgstr "מותאם"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1085
@@ -5021,8 +4909,7 @@ msgstr "אורך הפילטר:"
 msgid "Select curve:"
 msgstr "בחר עקומה:"
 
-#: effects/Equalization.cpp:1257
-#: effects/Equalization.cpp:2420
+#: effects/Equalization.cpp:1257 effects/Equalization.cpp:2420
 msgid "Save As..."
 msgstr "שמור בשם..."
 
@@ -5138,8 +5025,7 @@ msgstr "כבד ביותר"
 msgid "by Lynn Allan"
 msgstr "Lynn Allan ×¢\"×™"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "רמת ההחלקה"
 
@@ -5188,10 +5074,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "מערבב"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5432,15 +5314,9 @@ msgstr "מסיר רעש"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "שקר"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "אמת"
 
@@ -5504,8 +5380,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO תדירות (Hz):"
 
@@ -5513,8 +5388,7 @@ msgstr "LFO תדירות (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO פאזת התחלה של (deg.):"
 
@@ -5573,8 +5447,7 @@ msgstr "פעמים %d בוצעה חזרה "
 msgid "Tracks are too long to repeat the selection."
 msgstr ".הרצועות ארוכות מדי בכדי לחזור על המקטע הנבחר"
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "חזור שוב"
 
@@ -5587,8 +5460,7 @@ msgstr "מספר פעמים לחזרה:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "אורך מקטע חדש: "
 
@@ -5660,9 +5532,7 @@ msgstr ""
 msgid "Applying Spike Cleaner..."
 msgstr ""
 
-#: Menus.cpp:356
-#: Menus.cpp:556
-#: effects/StereoToMono.h:23
+#: Menus.cpp:356 Menus.cpp:556 effects/StereoToMono.h:23
 #, fuzzy
 msgid "&Stereo to Mono"
 msgstr "&סטריאו למונו"
@@ -5723,8 +5593,7 @@ msgstr "%s %s יושם אפקט: ייצור גל\n"
 "%.2f -עוצמה\n"
 "%.6lf  -משך בשניות"
 
-#: effects/ToneGen.cpp:74
-#: widgets/Meter.cpp:366
+#: effects/ToneGen.cpp:74 widgets/Meter.cpp:366
 msgid "Linear"
 msgstr "לינארי"
 
@@ -5756,8 +5625,7 @@ msgstr "שן מסור"
 msgid "Square, no alias"
 msgstr ""
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "(Hz) תדר"
 
@@ -5805,28 +5673,43 @@ msgstr "מייצר טון"
 msgid "All tracks must have the same sample rate"
 msgstr ".כל הרצועות חייבות להיות בעלות אותו קצב דגימה"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "חתוך שקט"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "אורך השקט המירבי:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "מילישניות"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "אורך השקט המירבי:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "רמת סף לשקט:"
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   משך חייב להיות לפחות 1 מילי שניה"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5836,17 +5719,55 @@ msgstr "...חתוך שקט"
 msgid "Truncating Silence..."
 msgstr "...חתוך שקט"
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "לא יכולים להתבצע עבור ערוצי סטריאו כאשר הערוצים עצמם של הרצועה אינם מתואמים VST מצטער, אפקטי"
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "ערכי האפקטים"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "כלום"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "לא יכול לעבד תחליף"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr ":VST פרמטר לתוסף"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5900,21 +5821,10 @@ msgstr "%s :מבצע אפקט "
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ".מצטער, אפקטים מוספים לא יכולים להתבצע עבור ערוצי סטריאו כאשר הערוצים עצמם של הרצועה אינם מתואמים"
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "כלום"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "מחברr: "
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "ערכי האפקטים"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "(אורך (שניות"
@@ -5935,8 +5845,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "...מיישם אפקט נייקוויסט"
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "...Nyquist פקודת"
 
@@ -5956,8 +5865,7 @@ msgstr "נייקוויסט"
 msgid "Nyquist Output: "
 msgstr "תוצר נייקוויסט: "
 
-#: effects/nyquist/Nyquist.cpp:596
-#: effects/nyquist/Nyquist.cpp:607
+#: effects/nyquist/Nyquist.cpp:596 effects/nyquist/Nyquist.cpp:607
 msgid "Nyquist returned the value:"
 msgstr "נייקוויסט החזיר את הערך:"
 
@@ -6065,8 +5973,7 @@ msgstr "- ימין"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:961
-#: export/Export.cpp:1006
+#: export/Export.cpp:961 export/Export.cpp:1006
 #, c-format
 msgid "Output Channels: %2d"
 msgstr ""
@@ -6096,8 +6003,7 @@ msgstr ""
 msgid "(external program)"
 msgstr "(תוכנה חיצונית)"
 
-#: export/ExportCL.cpp:248
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:248 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "%s לא יכול ליצא שמע אל"
@@ -6114,9 +6020,21 @@ msgstr "מייצא את כל הפרויקט תוך שימוש במקודד פק
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6184,6 +6102,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "איכות:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6317,12 +6239,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "איכות:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6341,10 +6259,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6533,12 +6451,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6649,6 +6567,17 @@ msgstr "עומק הביטים:"
 msgid "FLAC Files"
 msgstr "FLAC קבצי "
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "FLAC מייצא את חלק השמע הנבחר בתור"
@@ -6673,9 +6602,7 @@ msgstr "MP2 קובץ "
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "בקצב דגימה זה ובקצב ביטים זה MP2 לא יכול לייצא ל"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1769
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1769 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr ".לא יכול לפתוח קובץ יעד לכתיבה"
 
@@ -6689,9 +6616,7 @@ msgstr ""
 msgid "Exporting entire file at %d kbps"
 msgstr ""
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr ""
 
@@ -6707,8 +6632,7 @@ msgstr "(קובץ קטן יותר)"
 msgid "Fast"
 msgstr "מהיר"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250
 msgid "Standard"
 msgstr "סטנדרטי"
 
@@ -6752,8 +6676,7 @@ msgstr "מיצוע"
 msgid "Constant"
 msgstr "קבוע"
 
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "איכות"
 
@@ -6872,10 +6795,8 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:88
-#: export/ExportMultiple.cpp:362
-#: export/ExportMultiple.cpp:609
-#: export/ExportMultiple.cpp:717
+#: export/ExportMultiple.cpp:88 export/ExportMultiple.cpp:362
+#: export/ExportMultiple.cpp:609 export/ExportMultiple.cpp:717
 msgid "Export Multiple"
 msgstr "יצא לכמה פורמטים"
 
@@ -6905,11 +6826,6 @@ msgstr "...אפשרויות"
 msgid "Export location:"
 msgstr ":יצא למיקום"
 
-#: export/ExportMultiple.cpp:204
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "...בחר"
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr "יצירה"
@@ -6934,10 +6850,6 @@ msgstr "שם קובץ ראשון:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "רצועות"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr ":תן לבצים שמות לפי:"
@@ -6971,6 +6883,35 @@ msgstr "נוצר בהצלחה \"%s\""
 msgid "Choose a location to save the exported files"
 msgstr "בחר מיקום עבור קבצים מיוצאים"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:480
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6982,18 +6923,6 @@ msgstr ""
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:606
-#: export/ExportMultiple.cpp:714
-#, fuzzy, c-format
-msgid "Successfully exported %d file(s)."
-msgstr ".קבצים %d יוצאו בהצלחה "
-
-#: export/ExportMultiple.cpp:607
-#: export/ExportMultiple.cpp:715
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr ""
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7249,6 +7178,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC קבצי"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "רשימת בפורמט טקסט פשוט"
@@ -7259,9 +7192,7 @@ msgid "Invalid window offset in LOF file."
 msgstr ".LOF הזז חלון לא חוקי בקובץ"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "LOF שגיאת"
@@ -7318,8 +7249,7 @@ msgstr "לא חוקית Vorbis bitstream כותרת"
 msgid "Internal logic fault"
 msgstr "שגיאה לוגית פנימית"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr ""
 
@@ -7410,36 +7340,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "קלט/פלט של שמע"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "אצווה"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (מונו)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:73
+msgid "Behaviors"
+msgstr "התנהגויות"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (סטריאו)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "ניגון"
+#: prefs/BatchPrefs.cpp:85
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "התקן"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "ממשק"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "משתמש ב:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "ניגון"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7449,97 +7384,15 @@ msgstr "מקליט"
 msgid "Channels"
 msgstr "ערוצים"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "נגן דרך"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "(נגינה תוך-כדי ע\"י חומרה (השמע רצועה חדשה בזמן הקלטה"
-
-#: prefs/AudioIOPrefs.cpp:152
-#, fuzzy
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "(ניגון עצמי בתוכנה (נגן רצועה חדשה בזמן ההקלטה שלה"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "תצוגה מקדימה של אפקטים"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "אורך תצוגה מקדימה:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "הצג גזירה"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "פרק זמן קצר:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "פרק זמן ארוך:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "אצווה"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:73
-msgid "Behaviors"
-msgstr "התנהגויות"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (מונו)"
 
-#: prefs/BatchPrefs.cpp:85
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (סטריאו)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "ספריות"
@@ -7556,34 +7409,31 @@ msgstr "מיקום:"
 msgid "Free Space:"
 msgstr "מקום פנוי:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "שמירה אוטומטית"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "מרווח שמירה אוטומטית:"
-
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "דקות"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "בחר מיקום עבור ספריה זמנית"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7602,227 +7452,144 @@ msgstr " אינה ברת כתיבה %s ספריה"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "שינויים לספרייה הזמנית לא יכנסו לתוקף עד שהתוכנה תאותחל"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:105
-msgid "MP3 Library Version:"
-msgstr "MP3 גרסת ספריית:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
+#: prefs/GUIPrefs.cpp:116
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (תחום רדוד עבור עריכת עוצמות גבוהות)"
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
-msgstr ""
+#: prefs/GUIPrefs.cpp:117
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM תחום דגימה של 8 סיביות)"
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
-msgstr ""
+#: prefs/GUIPrefs.cpp:118
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM תחום דגימה של 16 סיביות)"
 
-#: prefs/FileFormatPrefs.cpp:89
-msgid "&Ask user"
-msgstr "&שאל משתמש"
+#: prefs/GUIPrefs.cpp:119
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (סף השמיעה האנושי)"
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
-msgstr ""
+#: prefs/GUIPrefs.cpp:120
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM תחום דגימה של 24 סיביות)"
 
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "הצג"
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr "ה&צג עורך מטא-מידע לפני פעולת ייצוא"
-
-#: prefs/GUIPrefs.cpp:33
-#: prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "ממשק"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:75
-msgid "&Update display while playing"
-msgstr "&עדכן תצוגה בזמן השמעה"
-
 #: prefs/GUIPrefs.cpp:96
 msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:79
-msgid "Enable &dragging of left and right selection edges"
-msgstr "אפשר ג&רירה של השוליים הימני והשמאלי של הקטע הנבחר"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:83
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:87
-msgid "Editing a &clip can move other clips"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:89
-msgid "&Select all audio in project, if none selected"
-msgstr "ב&חר כל השמע בפרויקט, אם אינו בחור"
-
 #: prefs/GUIPrefs.cpp:91
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:89
-#: prefs/GUIPrefs.cpp:95
-msgid "Show / Hide"
-msgstr "הצג / הסתר"
-
-#: prefs/GUIPrefs.cpp:97
-msgid "Enable cut &lines"
-msgstr "&אפשר חיתוך וקווים"
-
-#: prefs/GUIPrefs.cpp:99
-msgid "Show warnings about &temp files"
-msgstr "הצג הזהרות בנוגע ל&קבצים זמניים"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "הצג הודעת פתיחה בהתחלת התוכנית"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:116
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (תחום רדוד עבור עריכת עוצמות גבוהות)"
-
-#: prefs/GUIPrefs.cpp:117
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM תחום דגימה של 8 סיביות)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:118
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM תחום דגימה של 16 סיביות)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:119
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (סף השמיעה האנושי)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM תחום דגימה של 24 סיביות)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Default View Mode"
-msgstr "ברירת המחדל של צורת התצוגה"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
+msgstr "ה&צג עורך מטא-מידע לפני פעולת ייצוא"
+
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "לוח מקשים"
 
@@ -7846,22 +7613,26 @@ msgstr "&קבע"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr ".תגרום ליציאה. כל המקשים האחרים חוקיים Cmd+Q הערה: לחיצה על"
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&ערכי ברירת המחדל"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "קומבינציית מפתחות"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr ":ייצא קיצורי מקשים בתור"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "ביטול-ביצוע"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "שגיאה בשמירת קיצורי המקשים"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7871,6 +7642,14 @@ msgstr "...שמכיל את קיצורי המקשים עבור התוכנה XML 
 msgid "Error loading keyboard shortcuts"
 msgstr "שגיאה בטעינת קיצורי המקשים"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr ":ייצא קיצורי מקשים בתור"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "שגיאה בשמירת קיצורי המקשים"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7878,10 +7657,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "ביטול-ביצוע"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:105
+msgid "MP3 Library Version:"
+msgstr "MP3 גרסת ספריית:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "קלט/פלט של שמע"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "נגן דרך"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7895,6 +7725,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "הצג גזירה"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7903,6 +7737,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7915,12 +7753,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "פרק זמן קצר:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "פרק זמן ארוך:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "תצוגה מקדימה של אפקטים"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "עכבר"
 
@@ -7940,37 +7789,26 @@ msgstr "פקודת הפעלה"
 msgid "Buttons"
 msgstr "כפתורים"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "קליק-שמאלי"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "בחר"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "קבע נקודת בחירה"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "גרירה-שמאלית"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "קבע תחום הבחירה"
 
@@ -7998,12 +7836,8 @@ msgstr "Ctrl-קליק שמאלי"
 msgid "Set Selection Point and Play"
 msgstr "קבע נקודת בחירה ונגן"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "(הגדל (זום"
 
@@ -8011,9 +7845,7 @@ msgstr "(הגדל (זום"
 msgid "Zoom in on Point"
 msgstr "זום פנימה לנקודה"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "זום פנימה לתחום"
 
@@ -8021,18 +7853,15 @@ msgstr "זום פנימה לתחום"
 msgid "same as right-drag"
 msgstr "כמו גרירה ימנית"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "קליק-ימני"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "צעד אחד של זום החוצה"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "גרירה-ימנית"
 
@@ -8069,8 +7898,7 @@ msgstr "Shift-גרירה-שמאלית"
 msgid "Time shift all clips in track"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-גרירה-שמאלית"
 
@@ -8086,9 +7914,7 @@ msgstr "שנה מעטפת הגברה"
 msgid "Change Sample"
 msgstr "שנה דגימה"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "עפרון"
@@ -8109,28 +7935,22 @@ msgstr "שנה מספר דגימות"
 msgid "Change ONE Sample only"
 msgstr "שנה דגימה אחת בלבד"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "ריבוי"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 #, fuzzy
 msgid "same as select tool"
 msgstr "כמו כלי הבחירה"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 #, fuzzy
 msgid "same as zoom tool"
 msgstr "כמו כלי הזום"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "כולם"
 
@@ -8158,10 +7978,62 @@ msgstr "Ctrl-סובב-גלגל"
 msgid "Zoom in or out"
 msgstr "זום פנימה או החוצה"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "אורך תצוגה מקדימה:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Audacity העדפות של"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:89
+msgid "&Ask user"
+msgstr "&שאל משתמש"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "שמירה אוטומטית"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "מרווח שמירה אוטומטית:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "דקות"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "מרובע"
@@ -8186,46 +8058,46 @@ msgstr "ברירת המחדל של קצב דגימה "
 msgid "Default Sample Format:"
 msgstr "ערך מחדל של פורמט הדגימה:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "ממיר זמן אמת של קצב הדגימה:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "ממיר באיכות גבוהה של קצב הדגימה:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
+msgstr "ממיר קצב הדגימה"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "בזמן אמת dither:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "באיכות גבוהה dither:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "המרה"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "ממיר קצב הדגימה"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "(נגינה תוך-כדי ע\"י חומרה (השמע רצועה חדשה בזמן הקלטה"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "זמן אמת:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "איכות גבוהה:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "מקליט חכם"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8235,23 +8107,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "ספקטוגרמה"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT גודל ה"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - רוחב סרט הרחב ביותר"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - ערך מחדל"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - רוחב סרט הצר ביותר"
@@ -8260,21 +8167,26 @@ msgstr "32768 - רוחב סרט הצר ביותר"
 msgid "4096 - most narrowband"
 msgstr "4096 - רוחב סרט הצר ביותר"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "סוג חלון:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr " FFT נקודות השמטה"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "הצג"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&סקלת אפור"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 #, fuzzy
@@ -8285,16 +8197,16 @@ msgstr "תדירות מינימלית (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "תדירות מינימלית (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "Y-ציר"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "מצא תווים"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8305,6 +8217,14 @@ msgstr "עוצמה מירבית (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "מצא תווים"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "התדר המירבי חייב להיות מספר שלם"
@@ -8321,21 +8241,58 @@ msgstr "התדר המינימלי חייב להיות מספר שלם"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "0Hz התדר חייב להיות לפחות "
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 #, fuzzy
 msgid "Theme"
 msgstr "עיצוב"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "אינפורמציה"
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8366,80 +8323,96 @@ msgstr "שמור קובץ"
 msgid "Load Files"
 msgstr "טען קבצים"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "אינפורמציה"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:75
+msgid "&Update display while playing"
+msgstr "&עדכן תצוגה בזמן השמעה"
+
+#: prefs/GUIPrefs.cpp:83
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "ברירת המחדל של צורת התצוגה"
+
+#: prefs/GUIPrefs.cpp:89
+msgid "&Select all audio in project, if none selected"
+msgstr "ב&חר כל השמע בפרויקט, אם אינו בחור"
+
+#: prefs/GUIPrefs.cpp:97
+msgid "Enable cut &lines"
+msgstr "&אפשר חיתוך וקווים"
+
+#: prefs/GUIPrefs.cpp:79
+msgid "Enable &dragging of left and right selection edges"
+msgstr "אפשר ג&רירה של השוליים הימני והשמאלי של הקטע הנבחר"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:87
+msgid "Editing a &clip can move other clips"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "הפסק"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "נגן "
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "עצור"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "דלג להתחלה"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "דלג לסוף"
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: Menus.cpp:774
+msgid "Pause"
+msgstr "הפסקה"
+
+#: Menus.cpp:773
+msgid "Stop"
+msgstr "עצור"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:839
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:839
 msgid "Error while opening sound device. "
 msgstr ".שגיאה בפתיחת התקן שמע"
 
@@ -8451,13 +8424,11 @@ msgstr ""
 msgid "Recording not permitted"
 msgstr "הקלטה אסורה"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "התקן פלט"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "התקן קלט"
 
@@ -8481,29 +8452,21 @@ msgstr "זום פנימה"
 msgid "Zoom Out"
 msgstr "זום החוצה"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "שנה מצב הזום"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "התאם מקטע נבחר"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "התאם מקטע לחון"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "התאם פרויקט"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "התאם פרויקט לחלון"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "מד"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "התאם מקטע נבחר"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "התאם פרויקט"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8551,24 +8514,28 @@ msgstr "מבוא-גלילה"
 msgid "Input Source"
 msgstr "מקור כניסה"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "מקטע נבחר"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "קצב הפרויקט (Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "תחילת הקטע הנבחר:"
 
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "אורך "
 
@@ -8576,13 +8543,11 @@ msgstr "אורך "
 msgid "hidden"
 msgstr "ניסתר"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr ":מיקום השמע"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "היצמד ל"
 
@@ -8604,8 +8569,7 @@ msgstr "לסוף הקטע הנבחר"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity של %s סרגל כלים "
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr ""
 
@@ -8637,34 +8601,6 @@ msgstr "Left=Zoom In, Right=Zoom Out, Middle=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "בחר וגרור בכדי להזיז את הרצועה בזמן"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "כלים"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "כלי הבחירה"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "כלי המעטפת"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "כלי הזזת הזמן"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "כלי הזום"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "כלי הציור"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr ":מצב כלים מרובים"
@@ -8673,24 +8609,11 @@ msgstr ":מצב כלים מרובים"
 msgid "Slide Tool"
 msgstr "כלי הגלישה"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "כלים מרובים"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "תעתיק"
-
 #: toolbars/TranscriptionToolBar.cpp:165
 msgid "Play at selected speed"
 msgstr "נגן בקצב נבחר"
 
-#: toolbars/TranscriptionToolBar.cpp:166
-msgid "Play-at-speed"
-msgstr "נגן-בקצב"
-
-#: toolbars/TranscriptionToolBar.cpp:172
-#: toolbars/TranscriptionToolBar.cpp:177
+#: toolbars/TranscriptionToolBar.cpp:172 toolbars/TranscriptionToolBar.cpp:177
 msgid "Playback Speed"
 msgstr "קצב ניגון"
 
@@ -8698,74 +8621,38 @@ msgstr "קצב ניגון"
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:191
-msgid "Left-to-On"
-msgstr "שמאל-להפעלה"
-
 #: toolbars/TranscriptionToolBar.cpp:193
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:194
-msgid "Right-to-Off"
-msgstr "ימין-לכיבוי"
-
 #: toolbars/TranscriptionToolBar.cpp:196
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-Off"
-msgstr "שמאל לכיבוי"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Select region of sound around cursor"
 msgstr "בחר אזור רועש סביב הסמן"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Select region of silence around cursor"
 msgstr "בחר אזור שקט סביב הסמן"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Select-Silence"
-msgstr "בחר-שקט"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Automatically make labels from words"
 msgstr "ייצר תוויות באופן אוטומטי ממילים"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Make Labels"
-msgstr "ייתר תוויות"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Add label at selection"
 msgstr "הוספת תווית בנקודת הבחירה"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Add Label"
-msgstr "הוסף תווית"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Calibrate voicekey"
 msgstr "כייל מפתח קול"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Calibrate"
-msgstr "כייל"
-
 #: toolbars/TranscriptionToolBar.cpp:219
 msgid "Adjust Sensitivity"
 msgstr "התאם  רגישות"
@@ -8798,6 +8685,46 @@ msgstr "(שינוי כוון (סף גבוה"
 msgid "Key type"
 msgstr "סוג מקש"
 
+#: toolbars/TranscriptionToolBar.cpp:166
+msgid "Play-at-speed"
+msgstr "נגן-בקצב"
+
+#: toolbars/TranscriptionToolBar.cpp:191
+msgid "Left-to-On"
+msgstr "שמאל-להפעלה"
+
+#: toolbars/TranscriptionToolBar.cpp:194
+msgid "Right-to-Off"
+msgstr "ימין-לכיבוי"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-Off"
+msgstr "שמאל לכיבוי"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Select-Silence"
+msgstr "בחר-שקט"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Make Labels"
+msgstr "ייתר תוויות"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Add Label"
+msgstr "הוסף תווית"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Calibrate"
+msgstr "כייל"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr "חסום"
@@ -8812,15 +8739,13 @@ msgstr "כפתור"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:211
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:211
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:213
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:213
 msgid "R"
 msgstr "R"
 
@@ -8836,8 +8761,7 @@ msgstr "שמאל"
 msgid "Right"
 msgstr "ימינה"
 
-#: widgets/ErrorDialog.cpp:73
-#: widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
 #, fuzzy
 msgid "Help"
 msgstr "עזרה"
@@ -8871,8 +8795,7 @@ msgstr ""
 msgid "%d rows, %d columns"
 msgstr "דקות %d ,שניות %d"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr " %d שורה"
@@ -8948,8 +8871,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1462
-#: widgets/Ruler.cpp:1463
+#: widgets/Ruler.cpp:1462 widgets/Ruler.cpp:1463
 msgid "Vertical Ruler"
 msgstr "סרגל אנכי"
 
@@ -9193,3 +9115,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "\"%s\" :לא יכול לפתוח קובץ"
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/hu.po b/locale/hu.po
index 687458b..71b6059 100644
--- a/locale/hu.po
+++ b/locale/hu.po
@@ -4,10 +4,10 @@
 # Audacity Team <audacity-translation at lists.sourceforge.net>, 2008.
 #
 msgid ""
-msgstr "Project-Id-Version: Audacity 1.3.6\n"
+msgstr "Project-Id-Version: Audacity 1.3.7\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
 "POT-Creation-Date: 2008-11-03 21:55+0000\n"
-"PO-Revision-Date: 2008-12-02 20:30+0100\n"
+"PO-Revision-Date: 2009-02-28 11:18+0100\n"
 "Last-Translator: Pelladi Gabor <audacity-translation at lists.sourceforge.net>\n"
 "Language-Team: HU <hu at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -29,12 +29,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Az Audacity egy ingyenes program, képzett <a href=\"http://audacity.sourceforge.net/community/developers\">fejlesztők</a> munkája, akik szerte a világon dolgoznak a fejlesztésén. Eredményes együttműködésük a <a href=\"http://sourceforge.net\">SourceForge.net</a>-nek, egy ingyenes és nyilt forráskódú programok készítését támogató online-szolgáltatásnak köszönhető. Az Audacity futtatható Windows 98-on és az újabb változatokon, Mac OS X-en, Linuxon, és más, Unix-on alapuló operációs rendszereken. Az Audacity régebbi verziói Mac OS 9-en is futtathatóak."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Ez a programnak egy béta verziója. Tartalmazhat hibákat és elkészületlen funkciókat. Számítunk a visszajelzésére, ezért kérjük, jelezze az észlelt hibákat és a kívánt változtatásokat a <b>feedback at audacityteam.org</b> címen. Az Audacity használstához a <a href=\"http://audacityteam.org/forum/\">Fórumban</a> találhat segítséget."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Ez egy stabil, befejezett verziója az Audacity-nek. Amennyiben mégis hibát találna vagy javaslata van, kérünk írjon a <b>feedback at audacityteam.org</b> címre. Az Audacity használstához a <a href=\"http://audacityteam.org/forum/\">Fórumban</a> találhat segítséget."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -85,7 +85,7 @@ msgid "Special thanks:"
 msgstr "Külön köszönet:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:258
@@ -226,10 +226,21 @@ msgstr "Bemeneti szint"
 msgid "Output Meter"
 msgstr "Kimeneti szint"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
+#: Menus.cpp:196
+msgid "&New"
+msgstr "&Új"
+
+#: Menus.cpp:198
+msgid "&Open..."
+msgstr "&Megnyitás..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Beállítások...\tCtrl+,"
+msgid "&Preferences..."
+msgstr "&Beállítások..."
 
 #: AudacityApp.cpp:901 AudacityApp.cpp:978
 #, c-format
@@ -351,18 +362,16 @@ msgstr "Hiba: "
 msgid "Error Initializing Audio"
 msgstr "Hiba az Audió inicializásakor"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1375
 msgid "Latency problem"
 msgstr "Késleltetési probléma"
 
-#: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "A késleltetési beállítás miatt a rögzített hang eleje a nulla pont elé került.\n"
-"Az Audacity eltolta, hogy nullánál kezdődjön.\n"
-"Szüksége lehet az Időbeni eltolás eszközre (<---> vagy F5), hogy a sávot a megfelelő helyre igazítsa."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatikus helyreállítás"
@@ -585,8 +594,8 @@ msgstr "Lán&c (Dupla kattintás vagy szóköz a szerkesztéshez)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Nem"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -718,7 +727,8 @@ msgstr "Függőség ellenőrzése"
 #: DirManager.cpp:137
 msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr "FIGYELEM: Ezen a meghajtón nagyon kevés a szabad hely. Kérlek, válassz ki egy másik ideiglenes könyvtárat a Beállítások pont alatt."
+msgstr "FIGYELEM: Ezen a meghajtón nagyon kevés a szabad hely.\n"
+"Kérem, válasszon ki egy másik ideiglenes könyvtárat a Beállítások pont alatt."
 
 #: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
 msgid "Progress"
@@ -740,7 +750,8 @@ msgstr "Gyorsítótár ürítése"
 #, c-format
 msgid "Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr ""
+msgstr "Az Audacity egy árva blokkfájlt talált: %s! \n"
+"Ajánlott a projektet lementenie, majd visszatötenie, hogy egy teljes ellenőrzésre kerüljön sor.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
@@ -772,55 +783,58 @@ msgstr "'%s' átnevezése '%s'-re sikertelen"
 #: DirManager.cpp:1183
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Blokk %s megváltoztatva új alias névre\n"
 
 #: DirManager.cpp:1224 DirManager.cpp:1515
 msgid "Inspecting project file data..."
-msgstr ""
+msgstr "A projekt fájl adatok vizsgálata..."
 
 #: DirManager.cpp:1240
 #, c-format
 msgid "Orphaned blockfile: (%s)"
-msgstr ""
+msgstr "Árva blokkfájl: (%s)"
 
 #: DirManager.cpp:1265
 #, c-format
 msgid "Missing alias file: (%s)"
-msgstr ""
+msgstr "Hiányzó alias fájl: (%s)"
 
 #: DirManager.cpp:1285
 #, c-format
 msgid "Missing summary file: (%s.auf)"
-msgstr ""
+msgstr "Hiányzó összegző fájl: (%s.auf)"
 
 #: DirManager.cpp:1305
 #, c-format
 msgid "Missing data file: (%s.au)"
-msgstr ""
+msgstr "Hiányzó adatfájl: (%s.au)"
 
 #: DirManager.cpp:1319
 msgid "Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr ""
+msgstr "A projekt ellenőrzés inkonzisztenciát talált a betöltött projekt adataiban;\n"
+"a 'Részletek' gombbal nézheti meg az összes hibát, vagy az 'OK' gombbal folytathatja."
 
 #: DirManager.cpp:1331
 #, c-format
 msgid "Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr ""
+msgstr "A projekt ellenőrzés %d árva blokkfájlt talált. Ezek a fájlok\n"
+"nincsenek használva és valószínűleg egy programösszeomlás vagy hiba után\n"
+"maradtak hátra. Ajánlott törölni a lemezhasználat csökkentésének érdekében."
 
 #: DirManager.cpp:1336
 msgid "Delete orphaned files [safe and recommended]"
-msgstr ""
+msgstr "Árva fájlok törlése [biztonságos és ajánlott]"
 
 #: DirManager.cpp:1337
 msgid "Continue without deleting; silently work around the extra files"
-msgstr ""
+msgstr "Folytatás törlés nélkül; az extra fájlok figyelmen kívül hagyása"
 
 #: DirManager.cpp:1338
 msgid "Close project immediately with no changes"
-msgstr ""
+msgstr "A projekt azonnali bezárása változtatás nélkül"
 
 #: DirManager.cpp:1340 DirManager.cpp:1375 DirManager.cpp:1421
 #: DirManager.cpp:1463 export/Export.cpp:576 export/Export.cpp:597
@@ -836,34 +850,41 @@ msgid "Project check detected %d input file[s] being used in place\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr ""
+msgstr "A projekt ellenőrzés észlelte, hogy %d helyben használt\n"
+"('alias') bemeneti fájl hiányzik. Az Audacity számára nem lehetséges,\n"
+"hogy ezeket automatikusan helyreállítsa; a hiányzó fájlokat\n"
+"helyettesítheti csenddel tartósan, vagy ideiglenesen, csak a\n"
+"jelenlegi munkamenetben, vagy bezárhatja a projektet azonnal\n"
+"és megpróbálhatja helyreállítani a hiányzó fájlokat kézzel."
 
 #: DirManager.cpp:1371
 msgid "Replace missing data with silence [permanent upon save]"
-msgstr ""
+msgstr "A hiányzó adatok helyettesítése csenddel [mentés után állandósul]"
 
 #: DirManager.cpp:1372 DirManager.cpp:1460
 msgid "Temporarily replace missing data with silence [this session only]"
-msgstr ""
+msgstr "A hiányzó adatok ideiglenes helyettesítése csenddel [csak ebben a munkamenetben]"
 
 #: DirManager.cpp:1373 DirManager.cpp:1419 DirManager.cpp:1461
 msgid "Close project immediately with no further changes"
-msgstr ""
+msgstr "A projekt azonnali bezárása változtatások nélkül"
 
 #: DirManager.cpp:1412
 #, c-format
 msgid "Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr ""
+msgstr "A projekt ellenőrzés %d hiányzó összegző fájlt (.auf) talált.\n"
+"Az Audacity teljesen helyre tudja állítani ezeket a fájlokat\n"
+"a projekt eredeti hanganyaga alapján."
 
 #: DirManager.cpp:1417
 msgid "Regenerate summary files [safe and recommended]"
-msgstr ""
+msgstr "Összegző fájlok helyreállítása [biztonságos és ajánlott]"
 
 #: DirManager.cpp:1418
 msgid "Fill in silence for missing display data [this session only]"
-msgstr ""
+msgstr "A hiányzó adatok helyettesítése csenddel [csak ebben a munkamenetben]"
 
 #: DirManager.cpp:1454
 #, c-format
@@ -874,15 +895,21 @@ msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr ""
+msgstr "A projekt ellenőrzés %d hiányzó hangadat blokkfájlt (.au) talált,\n"
+"valószínűleg programhiba, összeomlás vagy véletlen törlés miatt.\n"
+"Az Audacity számára nem lehetséges, hogy az elveszett adatokat\n"
+"automatikusan helyreállítsa; a hiányzó fájlokat helyettesítheti\n"
+"csenddel tartósan, vagy ideiglenesen, csak a jelenlegi\n"
+"munkamenetben, vagy bezárhatja a projektet azonnal és\n"
+"megpróbálhatja helyreállítani a hiányzó fájlokat kézzel."
 
 #: DirManager.cpp:1459
 msgid "Replace missing data with silence [permanent immediately]"
-msgstr ""
+msgstr "A hiányzó adatok helyettesítése csenddel [azonnal állandósul]"
 
 #: DirManager.cpp:1487
 msgid "Cleaning up unused directories in project data..."
-msgstr ""
+msgstr "A nem használt könyvtárak takarítása a projektben..."
 
 #: DirManager.cpp:1558
 msgid "Caching audio"
@@ -906,18 +933,18 @@ msgstr "Négyszögletű"
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "FFmpeg támogatás nincs "
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "FFmpeg indítása sikertelen"
 
 #: FFmpeg.cpp:115
 msgid "FFmpeg library not found"
@@ -952,7 +979,7 @@ msgstr "Az FFmpeg ingyenes letöltéséhez kattintson ide -->"
 
 #: FFmpeg.cpp:215 export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Letöltés"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
@@ -964,22 +991,23 @@ msgstr "Hol található meg ez: %s?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Nem található FFmpeg komptibilis könyvtár"
 
 #: FFmpeg.h:95
 msgid "FFmpeg not found"
 msgstr "FFmpeg nem található"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Ne mutassa ezt a figyelmeztetést ismét"
 
 #: FFmpeg.h:251
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
@@ -987,11 +1015,11 @@ msgstr "Csak avformat.dll|*avformat*.dll|Dinamikusan linkelt könyvtárak (*.dll
 
 #: FFmpeg.h:268
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dinamikus könyvtárak (*.dylib)|*.dylib|Minden fájl (*)|*"
 
 #: FFmpeg.h:295
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Csak libavformat.so|libavformat.so*|Dinamikusan linkelt könyvtárak (*.so*)|*.so*|Minden fájl (*.*)|*"
 
 #: FreqWindow.cpp:103
 msgid "Frequency Analysis"
@@ -1058,10 +1086,23 @@ msgstr "&Exportálás..."
 msgid "Export"
 msgstr "Exportálás"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "Bezárás"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
 #: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
 #: effects/Compressor.cpp:352 effects/Compressor.cpp:360
@@ -1079,6 +1120,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3963
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "A spektrumtérkép készítéséhez minden sávnak azonos mintavételezési frekvenciával kell rendelkeznie."
+
+#: Menus.cpp:3989
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Túl sok audió adat lett kijelölve. Csak az első %.1f másodperc lett analizálva."
+
 #: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "Nincsen elég adat kijelölve."
@@ -1118,6 +1168,21 @@ msgstr "Frekvencia (Hz)\tSzint (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Lag (másodperc)\tFrekvencia (Hz)\tSzint"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1195,7 +1260,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1219,7 +1284,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1280,6 +1345,14 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Sáv"
@@ -1390,21 +1463,13 @@ msgstr "Audacity Projekt megnyitása"
 msgid "&File"
 msgstr "&Fájl"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&Új\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "&Megnyitás...\tCtrl+O"
-
 #: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&Bezárás\tCtrl+W"
+msgid "&Close"
+msgstr "&Bezárás"
 
 #: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&Projekt mentése\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Projekt mentése"
 
 #: Menus.cpp:210 Project.cpp:2896
 msgid "Save Project &As..."
@@ -1427,8 +1492,8 @@ msgid "&Import"
 msgstr "&Importálás"
 
 #: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audió...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Audió..."
 
 #: Menus.cpp:232
 msgid "&Labels..."
@@ -1458,9 +1523,9 @@ msgstr "&Köteg-Exportálás..."
 msgid "Export MIDI..."
 msgstr "MIDI exportálása..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr "&CleanSpeech lánc..."
+#: Menus.cpp:303
+msgid "Appl&y Chain..."
+msgstr "Lánc &alkalmazása..."
 
 #: Menus.cpp:291 Menus.cpp:305
 msgid "Edit C&hains..."
@@ -1474,10 +1539,6 @@ msgstr "CleanSpeech beállítások e&xportálása..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "CleanSpeech beállítások i&mportálása..."
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr "Lánc &alkalmazása..."
-
 #: Menus.cpp:310
 msgid "&Upload File..."
 msgstr "Fájl f&eltöltése..."
@@ -1491,15 +1552,15 @@ msgid "&Print..."
 msgstr "&Nyomtatás..."
 
 #: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "Kilé&pés\tCtrl+Q"
+msgid "E&xit"
+msgstr "Kilé&pés"
 
 #: Menus.cpp:338 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "S&zerkesztés"
 
 #: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
+msgid "&Undo"
 msgstr "&Visszavonás"
 
 #: Menus.cpp:350 prefs/KeyConfigPrefs.cpp:371 toolbars/EditToolBar.cpp:146
@@ -1507,56 +1568,56 @@ msgid "&Redo"
 msgstr "&Újra"
 
 #: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "&Kivágás\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Kivágás"
 
 #: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "&Szétvágó kivágás\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "&Szétvágó kivágás"
 
 #: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "&Másolás\tCtrl+C"
+msgid "&Copy"
+msgstr "&Másolás"
 
 #: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "&Beillesztés\tCtrl+V"
+msgid "&Paste"
+msgstr "&Beillesztés"
 
 #: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "&Nyírás\tCtrl+T"
+msgid "Tri&m"
+msgstr "&Nyírás"
 
 #: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&Törlés\tCtrl+K"
+msgid "&Delete"
+msgstr "&Törlés"
 
 #: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Sz&étvágó törlés\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Sz&étvágó törlés"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "Hang elném&ítása\tCtrl+L"
+msgid "Silence Audi&o"
+msgstr "Hang elném&ítása"
 
 #: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "Szétv&ágás\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Szétv&ágás"
 
 #: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Szétvágva ú&j\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Szétvágva ú&j"
 
 #: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "&Összevonás\tCtrl+J"
+msgid "&Join"
+msgstr "&Összevonás"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "Elválasztás a &csendeknél\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
+msgstr "Elválasztás a &csendeknél"
 
 #: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Kett&őzés\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Kett&őzés"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1568,80 +1629,65 @@ msgstr "Címkézett &régiók"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "&Kivágás\tAlt+X"
+msgid "&Cut"
+msgstr "&Kivágás"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Szétvágó kivágás\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&Szétvágó kivágás"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Másolás\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&Törlés\tAlt+K"
+msgid "Co&py"
+msgstr "&Másolás"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Sz&étvágó törlés\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Sz&étvágó törlés"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "&Csend\tAlt+L"
+msgid "Sile&nce"
+msgstr "&Csend"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "Szétv&ágás\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "&Összevonás\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Elválasztás a &csendeknél\tShift+Alt+J"
+msgid "Spli&t"
+msgstr "Szétv&ágás"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr "&Kijelölés"
 
 #: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "&Összes\tCtrl+A"
+msgid "&All"
+msgstr "&Összes"
 
 #: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Semmi\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Semmi"
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr "K&ezdet a lejátszás pozíciójában"
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr "&Vég a lejátszás pozíciójában"
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "A sáv &kezdetétől a kurzorig\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "A sáv &kezdetétől a kurzorig"
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr "A kurzortól a sáv végéi&g\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "A kurzortól a sáv végéi&g"
 
 #: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "Nullpontok ke&resése\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Nullpontok ke&resése"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1656,12 +1702,12 @@ msgid "to Selection En&d"
 msgstr "a kijelölés vé&géhez"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "a sáv &kezdetéhez\tJ"
+msgid "to Track &Start"
+msgstr "a sáv &kezdetéhez"
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "a sáv &végéhez\tK"
+msgid "to Track &End"
+msgstr "a sáv &végéhez"
 
 #: Menus.cpp:491
 msgid "Re&gion Save"
@@ -1683,66 +1729,45 @@ msgstr "&Zárolás"
 msgid "&Unlock"
 msgstr "Zárolás &feloldása"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "Hozzáillesztés be"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "Hozzáillesztés ki"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "Rácshoz illesztés be"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "Rácshoz illesztés ki"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "&Beállítások...\tCtrl+,"
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "&Beállítások...\tCtrl+P"
+msgid "Pre&ferences..."
+msgstr "&Beállítások..."
 
 #: Menus.cpp:533
 msgid "&View"
 msgstr "&Nézet"
 
 #: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Nagyítás\tCtrl+1"
+msgid "Zoom &In"
+msgstr "&Nagyítás"
 
 #: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Eredeti érték\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Eredeti érték"
 
 #: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "&Kicsinyítés\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "&Kicsinyítés"
 
 #: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
+msgid "&Fit in Window"
 msgstr "&Méretezés az ablakhoz igazítva"
 
 #: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "&Magassághoz igazítás\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "&Magassághoz igazítás"
 
 #: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Kijelölés nagyítása\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Kijelölés nagyítása"
 
 #: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "Minden sáv &összecsukása\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "Minden sáv &összecsukása"
 
 #: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Minden sáv ki&bontása\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "Minden sáv ki&bontása"
 
 #: Menus.cpp:551
 msgid "&Show Clipping"
@@ -1803,40 +1828,40 @@ msgid "T&ransport"
 msgstr "&Vezérlők"
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+msgid "Play"
+msgstr "Lejátszás"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgid "&Loop Play"
+msgstr "&Ismétlődő lejátszás"
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "Szü&net\tP"
+msgid "&Pause"
+msgstr "Szü&net"
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+msgid "&Stop"
+msgstr "Állj"
 
 #: Menus.cpp:595 Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "Ugrás a kezdetére\tHome"
+msgid "Skip to Start"
+msgstr "Ugrás a kezdetére"
 
 #: Menus.cpp:597 Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "Ugrás a végére\tEnd"
+msgid "Skip to End"
+msgstr "Ugrás a végére"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "&Felvétel\tR"
+msgid "&Record"
+msgstr "&Felvétel"
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr "I&dőzített felvétel...\tShift+T"
+msgid "&Timer Record..."
+msgstr "I&dőzített felvétel..."
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr "Hozáfűzött felvétel\tShift+R"
+msgid "Append Record"
+msgstr "Hozáfűzött felvétel"
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
@@ -1863,8 +1888,8 @@ msgid "Add &New"
 msgstr "&Új hozzáadása"
 
 #: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Audió sáv\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Audió sáv"
 
 #: Menus.cpp:631
 msgid "&Stereo Track"
@@ -1879,8 +1904,8 @@ msgid "Mi&x and Render"
 msgstr "Keverés és renderelés"
 
 #: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Keverés és renderelés új sávba\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Keverés és renderelés új sávba"
 
 #: Menus.cpp:651
 msgid "&Resample..."
@@ -1891,12 +1916,12 @@ msgid "Remo&ve Tracks"
 msgstr "Sávok &eltávolítása"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "Minden sáv el&némítása\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "Minden sáv el&némítása"
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "Minden sáv &hallhatóvá tétele\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "Minden sáv &hallhatóvá tétele"
 
 #: Menus.cpp:672
 msgid "Align with &Zero"
@@ -1942,17 +1967,18 @@ msgstr "&Kurzor igazítása és mozgatása"
 msgid "Synchronize MIDI with Audio"
 msgstr "A MIDI szinkronizálása a hanghoz"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+#, fuzzy
+msgid "&Link Audio and Label Tracks"
 msgstr "Hang- és címkesávok összekapcsolása"
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Címke hozzárendelése a kijelölésnél\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Címke hozzáadása az aktuális pozícónál\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Címke hozzáadása az aktuális pozícónál"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -1978,14 +2004,14 @@ msgstr "Rendezetlen"
 msgid "Effe&ct"
 msgstr "&Effekt"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Utolsó effekt megismétlése\tCtrl+R"
-
 #: Menus.cpp:877
 msgid "&Analyze"
 msgstr "&Analizálás"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:879
 msgid "Plot Spectrum..."
 msgstr "S&pektrum ábrázolása"
@@ -2003,8 +2029,8 @@ msgid "&Show Welcome Message..."
 msgstr "&Üdvözlő üzenet mutatása..."
 
 #: Menus.cpp:958
-msgid "&Index..."
-msgstr "&Tartalomjegyzék..."
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2022,181 +2048,149 @@ msgstr "&Szintjel Futtatása..."
 msgid "&Audio Device Info..."
 msgstr "&Hangeszköz információ..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "Kijelölő eszköz\tF1"
+msgid "Selection Tool"
+msgstr "Kijelölő eszköz"
 
 #: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "Burkológörbe eszköz\tF2"
+msgid "Envelope Tool"
+msgstr "Burkológörbe eszköz"
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "Rajzoló eszköz\tF3"
+msgid "Draw Tool"
+msgstr "Rajzoló eszköz"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "Nagyító eszköz\tF4"
+msgid "Zoom Tool"
+msgstr "Nagyító eszköz"
 
 #: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "Időbeni Eltolás eszköz\tF5"
+msgid "Time Shift Tool"
+msgstr "Időbeni Eltolás eszköz"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "Multi Eszköz\tF6"
+msgid "Multi Tool"
+msgstr "Multi Eszköz"
 
 #: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "Következő eszköz\tD"
+msgid "Next Tool"
+msgstr "Következő eszköz"
 
 #: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "Előző eszköz\tA"
+msgid "Previous Tool"
+msgstr "Előző eszköz"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "Állj\tS"
-
-#: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "Szünet\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "Felvétel\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr "Felvétel hozzáfűzve\tShift+R"
+msgid "Play/Stop"
+msgstr "Lejátszás/Állj"
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Lejátszás/Stop és kurzor beállítása\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Lejátszás/Stop és kurzor beállítása"
 
 #: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "Egymásodperces lejátszás\t1"
+msgid "Play One Second"
+msgstr "Egymásodperces lejátszás"
 
 #: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "Lejátszás a kijelölésig\tB"
-
-#: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "Ismételt Lejátszás\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Lejátszás a kijelölésig"
 
 #: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "A kivágott rész lejátszása\tC"
+msgid "Play Cut Preview"
+msgstr "A kivágott rész lejátszása"
 
 #: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "Kijelölés a kezdetéig\tShift+Home"
+msgid "Selection to Start"
+msgstr "Kijelölés a kezdetéig"
 
 #: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "Kijelölés a végéig\tShift+End"
+msgid "Selection to End"
+msgstr "Kijelölés a végéig"
 
 #: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "TörlésGomb\tBackspace"
+msgid "DeleteKey"
+msgstr "TörlésGomb"
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "TörlésGomb2\tDelete"
+msgid "DeleteKey2"
+msgstr "TörlésGomb2"
 
-#: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
-msgstr "Ugrás balra keveset lejátszás közben\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
-msgstr "Ugrás jobbra keveset lejátszás közben\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Ugrás balra nagyot lejátszás közben\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Ugrás jobbra nagyot lejátszás közben\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Fókusz mozgatása az előző sávra\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Fókusz mozgatása az előző sávra"
 
-#: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Fókusz mozgatása az előzőre és kijelölés módosítása\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "Fókusz mozgatása a következő sávra\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Fókusz mozgatása a következő sávra"
 
-#: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Fókusz mozgatása a következőre és kijelölés módosítása\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "Fókuszált sáv be- és kikapcsolása\tReturn"
-
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Fókuszált sáv be- és kikapcsolása\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Fókuszált sáv be- és kikapcsolása"
 
 #: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "Kurzor balra\tLeft"
+msgid "Cursor Left"
+msgstr "Kurzor balra"
 
 #: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "Kurzor jobbra\tRight"
+msgid "Cursor Right"
+msgstr "Kurzor jobbra"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
-msgstr "Kurzor kis ugrás balra\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Kurzor kis ugrás balra"
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
-msgstr "Kurzor kis ugrás jobbra\t."
+msgid "Cursor Short Jump Right"
+msgstr "Kurzor kis ugrás jobbra"
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Kurzor nagy ugrás balra\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Kurzor nagy ugrás balra"
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Kurzor nagy ugrás jobbra\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Kurzor nagy ugrás jobbra"
 
 #: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Kijelölés megnövelése balra\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Kijelölés megnövelése balra"
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Kijelölés megnövelése jobbra\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Kijelölés megnövelése jobbra"
 
 #: Menus.cpp:1052
 msgid "Set (or Extend) Left Selection"
@@ -2207,52 +2201,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Kijelölés vvégének beállítása (vagy kiterjesztése)"
 
 #: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Kijelölés kurtítása balról\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Kijelölés kurtítása balról"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Kijelölés kurtítása jobbról\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Kijelölés kurtítása jobbról"
 
 #: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "Menu megnyitása a fókuszált sávon\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Menu megnyitása a fókuszált sávon"
 
 #: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Fókuszált sáv némítása/hangosítása\tShift+M"
+msgid "Mute/Unmute focused track"
+msgstr "Fókuszált sáv némítása/hangosítása"
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "Fókuszált sáv bezásása\tShift+C"
+msgid "Close focused track"
+msgstr "Fókuszált sáv bezásása"
 
 #: Menus.cpp:1069
 msgid "Snap To On"
@@ -2263,7 +2257,35 @@ msgid "Snap To Off"
 msgstr "Hozzáillesztés ki"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2324,8 +2346,8 @@ msgstr "Először jelöljön ki egy sávot."
 
 #: Menus.cpp:2363
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Ismétlés %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Ismétlés %s"
 
 #: Menus.cpp:2506
 msgid "There are no label tracks to export."
@@ -2534,15 +2556,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Szétvágás a címkénél"
 
-#: Menus.cpp:3963
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "A spektrumtérkép készítéséhez minden sávnak azonos mintavételezési frekvenciával kell rendelkeznie."
-
-#: Menus.cpp:3989
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Túl sok audió adat lett kijelölve. Csak az első %.1f másodperc lett analizálva."
-
 #: Menus.cpp:4124
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2762,6 +2775,10 @@ msgstr "Probléma adódott nyomtatás közben."
 msgid "Print"
 msgstr "Nyomtatás"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:673
 msgid "Main Mix"
 msgstr "Fő keverés"
@@ -2775,7 +2792,7 @@ msgstr "Üdvözli az Audacity %s verziója"
 msgid "(Recovered)"
 msgstr "(Helyreállított)"
 
-#: Project.cpp:1546 TrackPanel.cpp:796 toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:998
 msgid "Record"
 msgstr "Felvétel"
 
@@ -2805,9 +2822,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Mentsük a változtatásokat?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "Minden fájl|*.*|Minden támogatott fájl|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1802
 msgid "Select one or more audio files..."
@@ -2836,6 +2853,17 @@ msgstr "1.0 vagy korábbi"
 msgid "Opening old project file"
 msgstr "Régi projekt fájl megnyitása"
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: Project.cpp:1915 Project.cpp:1923
 msgid "Error opening file"
 msgstr "Hiba a fájl megnyitásakor"
@@ -2893,16 +2921,15 @@ msgstr "Ezt a fájlt az Audacity %s. verziója mentette.\n"
 msgid "Can't open project file"
 msgstr "Nem lehet megnyitni a projekt fájlt"
 
-#: Project.cpp:2311
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
-"Open this file now?"
-msgstr "Ez a fájl az Audacity %s által lett mentve.\n"
-"Megnyithatja a fájlt az Audacity ezen verziójával, de ha ezzel a verzióval elmenti, a későbbiekben nem fogja tudni megnyitni a régebbi verziókkal.\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"Megnyitja most a fájlt?"
+"Open this file now?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -2919,16 +2946,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2588
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: Project.cpp:2590 Project.cpp:2605
 msgid "Error saving project"
 msgstr "Hiba a projekt mentésekor"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2680
 #, c-format
 msgid "Saved %s"
@@ -3086,6 +3119,164 @@ msgstr "24 bites PCM"
 msgid "32-bit float"
 msgstr "32 bites lebegő"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:245 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Tallózás..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "hamis"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Eszközök"
+
+#: toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr ""
+
+#: effects/LoadEffects.cpp:111 toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Keverő"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:121 prefs/AudioIOPrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Eszköz"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Áttétel"
+
+#: TrackPanel.cpp:457 TrackPanel.cpp:458
+msgid "Track Panel"
+msgstr "Sáv panel"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:288 export/ExportMultiple.cpp:290
+msgid "Tracks"
+msgstr "Sávok"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Mentve "
@@ -3094,6 +3285,10 @@ msgstr "Mentve "
 msgid "Error trying to save file: "
 msgstr "Hiba a fájl mentése közben: "
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:745 Sequence.cpp:755 Sequence.cpp:762
 msgid "Gap detected in project file\n"
 msgstr "Hézag került detektálásra a projekt fájlban\n"
@@ -3231,6 +3426,10 @@ msgstr "Hiba a metaadat betöltésekor"
 msgid "Save Metadata As:"
 msgstr "Metaadat mentése mint:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3316,6 +3515,14 @@ msgstr "Időtartam"
 msgid "Audacity Timer Record"
 msgstr "Audacity időzített felvétel"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr "Felvétel kezdete"
@@ -3355,10 +3562,6 @@ msgstr "Várakozás a felvétel megkezdésére eddig: %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Audacity időzített felvétel - Várakozás a kezdésre"
 
-#: TrackPanel.cpp:457 TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "Sáv panel"
-
 #: TrackPanel.cpp:541 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Egyéb..."
@@ -3415,6 +3618,10 @@ msgstr "Sztereó sáv készítése"
 msgid "Split Stereo Track"
 msgstr "Sztereó sáv szétvágása"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:566
 msgid "Set Sample Format"
 msgstr "Hangminta formátum beállítása"
@@ -3614,14 +3821,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5923
 msgid "Can't delete track with active audio"
 msgstr "Nem törölhető sáv aktív hanggal"
@@ -3656,6 +3855,11 @@ msgstr "Csatorna"
 msgid "Split stereo track '%s'"
 msgstr "'%s' sztereó sáv szétvágása"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6169
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3732,6 +3936,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7171
 msgid "Mute"
 msgstr "Néma"
@@ -3810,10 +4018,10 @@ msgstr "Plugin-ek 1-től %i-ig"
 msgid "Plugins %i to %i"
 msgstr "Plugin-ek %i-től %i-ig"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Letiltott valamilyen okból.  Próbált kijelölni némi hangot?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:892
 msgid "You can only do this when playing and recording are\n"
@@ -4257,9 +4465,9 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalizálás 0dB-re kompresszálás után"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
 #, c-format
@@ -4314,6 +4522,10 @@ msgstr "Kompresszor"
 msgid "Applying Dynamic Range Compression..."
 msgstr "Dinamika tartomány kompressziójának végrehajtása..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4333,26 +4545,13 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:190
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
-#: effects/Contrast.cpp:415
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
 msgstr ""
 
 #: effects/Contrast.cpp:321
 msgid "Parameters"
-msgstr ""
+msgstr "Paraméterek"
 
 #: effects/ToneGen.cpp:355 toolbars/ControlToolBar.cpp:186
 msgid "Start"
@@ -4370,7 +4569,7 @@ msgstr ""
 
 #: effects/Contrast.cpp:335
 msgid "Foreground:"
-msgstr ""
+msgstr "Előtér"
 
 #: effects/Contrast.cpp:347
 msgid "Foreground start time"
@@ -4380,13 +4579,18 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
 
 #: effects/Contrast.cpp:378
 msgid "Background:"
-msgstr ""
+msgstr "Háttér:"
 
 #: effects/Contrast.cpp:391
 msgid "Background start time"
@@ -4398,7 +4602,7 @@ msgstr ""
 
 #: effects/Contrast.cpp:426
 msgid "Result"
-msgstr ""
+msgstr "Eredmény"
 
 #: effects/Contrast.cpp:430
 msgid "Contrast Result:"
@@ -4410,7 +4614,7 @@ msgstr "Alaphelyzet"
 
 #: effects/Contrast.cpp:434
 msgid "Difference:"
-msgstr ""
+msgstr "Különbség:"
 
 #: effects/Contrast.cpp:445
 msgid "Information"
@@ -4424,16 +4628,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
@@ -4494,11 +4690,11 @@ msgstr ""
 #: effects/Contrast.cpp:574
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Fájlnév = %s."
 
 #: effects/Contrast.cpp:576
 msgid "Foreground"
-msgstr ""
+msgstr "Előtér"
 
 #: effects/Contrast.cpp:581 effects/Contrast.cpp:598
 #, c-format
@@ -4521,11 +4717,11 @@ msgstr ""
 
 #: effects/Contrast.cpp:593
 msgid "Background"
-msgstr ""
+msgstr "Háttér"
 
 #: effects/Contrast.cpp:609
 msgid "Results"
-msgstr ""
+msgstr "Eredmények"
 
 #: effects/Contrast.cpp:611
 #, c-format
@@ -4542,19 +4738,7 @@ msgstr ""
 
 #: effects/Contrast.cpp:618
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr ""
+msgstr "Gyűjtött adaat"
 
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
@@ -4683,6 +4867,10 @@ msgstr "EQ görbe betöltése sikertelen"
 msgid "custom"
 msgstr "egyéni"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1101
@@ -4886,10 +5074,6 @@ msgstr "Konvertáló"
 msgid "Analyser"
 msgstr "Analizáló"
 
-#: effects/LoadEffects.cpp:111 toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Keverő"
-
 #: effects/LoadEffects.cpp:113
 msgid "Simulator"
 msgstr "Szimulátor"
@@ -5127,10 +5311,6 @@ msgstr "Zajszűrés"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
-#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
-msgid "false"
-msgstr "hamis"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74 effects/Normalize.cpp:75
@@ -5483,9 +5663,13 @@ msgstr "Minden sávnak egyforma mintavételi rátával kell rendelkeznie"
 msgid "Truncate Silence"
 msgstr "Csend eltávolítása"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "A csend max hossza:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
 #: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:196
 #: prefs/AudioIOPrefs.cpp:199 prefs/MidiIOPrefs.cpp:174
@@ -5493,13 +5677,26 @@ msgstr "A csend max hossza:"
 msgid "milliseconds"
 msgstr "ezredmásodperc"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "A csend max hossza:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
 msgstr "Csend küszöbértéke:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Az időtartamnak legalább egy ezredmásodpercnek kell lennie"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5509,17 +5706,55 @@ msgstr "Csend eltávolítása..."
 msgid "Truncating Silence..."
 msgstr "Csend eltávolítása..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Sajnálom, de a VST Effekt nem működik az olyan sztereó sávokon, ahol a két csatorna tartalma nem egyezik."
+#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:823
+msgid "Effect Settings"
+msgstr "Effekt beállítások"
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "Nem lehet végrehajtani a cserét"
+#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Nincs"
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST plugin parméterek:"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5568,20 +5803,11 @@ msgstr "%s effekt végrehajtása"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Nincs"
-
 #: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:798
 #: effects/vamp/VampEffect.cpp:395
 msgid "Author: "
 msgstr "Szerző: "
 
-#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "Effekt beállítások"
-
 #: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
 #: effects/lv2/LV2Effect.cpp:834 effects/lv2/LV2Effect.cpp:837
 msgid "Length (seconds)"
@@ -5666,11 +5892,11 @@ msgstr "Program"
 
 #: export/Export.cpp:469
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Minden kijelölt hang néma."
 
 #: export/Export.cpp:471
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Minden hang néma."
 
 #: export/Export.cpp:522
 msgid "Export File"
@@ -5691,7 +5917,11 @@ msgid "You are about to save a %s file with the name \"%s\".\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr ""
+msgstr "Ön egy %s fájlt készül menteni az alábbi néven: \"%s\".\n"
+"\n"
+"Ezek a fájlok szabványosan \".%s\"-re végződnek, és egyes programok nem nyitják meg a fájlokat nem szabványos kiterjesztésekkel.\n"
+"\n"
+"Biztosan ezen a néven szeretné a fájt menteni?"
 
 #: export/Export.cpp:612
 #, c-format
@@ -5725,7 +5955,7 @@ msgstr " - Jobb"
 
 #: export/Export.cpp:1072
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Keverő panel"
 
 #: export/Export.cpp:1078 export/Export.cpp:1125
 #, c-format
@@ -5738,7 +5968,7 @@ msgstr "Parancssoros kódoló megadása"
 
 #: export/ExportCL.cpp:70
 msgid "Command Line Export Setup"
-msgstr ""
+msgstr "Parancssori exportálás beállítása"
 
 #: export/ExportCL.cpp:75
 msgid "Command:"
@@ -5774,31 +6004,44 @@ msgstr "A teljes projekt exportálása parancssori enkóder segítségével"
 msgid "Command Output"
 msgstr "A parancs kimenete"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
 #, c-format
 msgid "FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
-msgstr ""
+msgstr "Az FFmpeg nem talál audio kodeket 0x%x.\n"
+"Ennek a kodeknek a támogatása valószínűleg nincs a programba belefordítva."
 
 #: export/ExportFFmpeg.cpp:614
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Ön %d csatornát próbált exportálni, de max. %d csatornát támogat a kiválasztott formátum"
 
 #: export/ExportFFmpeg.cpp:638
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "Kijelölt hang exportálása mint %s"
 
 #: export/ExportFFmpeg.cpp:639
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "Teljes exportálás mint %s"
 
 #: export/ExportFFmpeg.cpp:702 export/ExportMP3.cpp:1920
 msgid "Invalid sample rate"
@@ -5808,13 +6051,15 @@ msgstr "Érvénytelen mintavételi ráta"
 #, c-format
 msgid "The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
-msgstr ""
+msgstr "A projekt mintavételi rátáját (%d) a kiválasztott kimeneti formátum\n"
+"nem támogatja.  "
 
 #: export/ExportFFmpeg.cpp:718
 #, c-format
 msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
-msgstr ""
+msgstr "A projekt mintavételi rátájának (%d) és bitrátájának (%d kbps) a\n"
+"kombinációját a kimeneti formátum nem támogatja.  "
 
 #: export/ExportFFmpeg.cpp:721 export/ExportMP3.cpp:1939
 msgid "You may resample to one of the rates below."
@@ -5826,11 +6071,11 @@ msgstr "Mintavételi ráták"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "Adja meg az AC3 opciókat"
 
 #: export/ExportFFmpegDialogs.cpp:117
 msgid "AC3 Export Setup"
-msgstr ""
+msgstr "AC3 exportálás beállítása"
 
 #: export/ExportFFmpegDialogs.cpp:121 export/ExportFFmpegDialogs.cpp:245
 #: export/ExportFFmpegDialogs.cpp:314 export/ExportFFmpegDialogs.cpp:385
@@ -5840,35 +6085,39 @@ msgstr "Bitsűrűség:"
 
 #: export/ExportFFmpegDialogs.cpp:162
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "Adja meg az AAC opciókat"
 
 #: export/ExportFFmpegDialogs.cpp:178
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "AAC exportálás beállítása"
+
+#: export/ExportFFmpegDialogs.cpp:940 export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Minőség:"
 
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "Adja meg az AMR-NB opciókat"
 
 #: export/ExportFFmpegDialogs.cpp:241
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "AMR-NB exportálás beállítása"
 
 #: export/ExportFFmpegDialogs.cpp:286
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "Adja meg az AMR-WB opciókat"
 
 #: export/ExportFFmpegDialogs.cpp:310
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "AMR-WB exportálás beállítása"
 
 #: export/ExportFFmpegDialogs.cpp:357
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "Adja meg a WMA opciókat"
 
 #: export/ExportFFmpegDialogs.cpp:381
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "WMA exportálás beállítása"
 
 #: export/ExportFFmpegDialogs.cpp:509
 #, c-format
@@ -5926,7 +6175,7 @@ msgstr "Formátum:"
 
 #: export/ExportFFmpegDialogs.cpp:909
 msgid "Codec:"
-msgstr ""
+msgstr "Kodek:"
 
 #: export/ExportFFmpegDialogs.cpp:913
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
@@ -5979,12 +6228,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:940 export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Minőség:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -5992,7 +6237,7 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:943
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Mintavételi ráta:"
 
 #: export/ExportFFmpegDialogs.cpp:944
 msgid "Sample rate (Hz)\n"
@@ -6003,15 +6248,15 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
 msgid "Profile:"
-msgstr ""
+msgstr "Profil:"
 
 #: export/ExportFFmpegDialogs.cpp:951
 msgid "AAC Profile\n"
@@ -6033,7 +6278,7 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:965
 msgid "Compression Level:"
-msgstr ""
+msgstr "Tömörítés mértéke:"
 
 #: export/ExportFFmpegDialogs.cpp:966
 msgid "Compression level\n"
@@ -6128,7 +6373,7 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:977
 msgid "Use LPC"
-msgstr ""
+msgstr "LPC használata"
 
 #: export/ExportFFmpegDialogs.cpp:984
 msgid "MPEG container options"
@@ -6181,67 +6426,67 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:1361
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Nem sikerült kitalálni a formátumot"
 
 #: export/ExportFFmpegDialogs.cpp:1403
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "Nem sikerült megtalálni a kodeket"
 
 #: export/ExportFFmpegDialogs.h:53
 msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "M4A (AAC) fájlok (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:54
 msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgstr "AC3 fájlok (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
 msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgstr "WMA (2. verzió) fájlok (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:58
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "Egyéni FFmpeg exportálás"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "LTP"
-msgstr ""
+msgstr "LTP"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "Low Complexity"
-msgstr ""
+msgstr "Alacsony komplexitás"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "Main profile"
-msgstr ""
+msgstr "FÅ‘ profil"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "2-level"
-msgstr ""
+msgstr "2-szintű"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "4-level"
-msgstr ""
+msgstr "4-szintű"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "8-level"
-msgstr ""
+msgstr "8-szintű"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Estimate"
-msgstr ""
+msgstr "Becsült"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Full search"
-msgstr ""
+msgstr "Teljes keresés"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Log search"
@@ -6311,6 +6556,17 @@ msgstr "Bitmélység:"
 msgid "FLAC Files"
 msgstr "FLAC fájlok"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:312
 msgid "Exporting the selected audio as FLAC"
 msgstr "A kiválasztott hang exportálása FLAC-ként"
@@ -6529,7 +6785,7 @@ msgstr "A projekt mintavételi rátájának (%d) és bitrátájának (%d kbps) k
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "MP3 exportálás könyvtára nem található"
 
 #: export/ExportMultiple.cpp:96 export/ExportMultiple.cpp:426
 #: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:834
@@ -6562,10 +6818,6 @@ msgstr "Beállítások..."
 msgid "Export location:"
 msgstr "Exportálási hely:"
 
-#: export/ExportMultiple.cpp:245 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Tallózás..."
-
 #: export/ExportMultiple.cpp:246
 msgid "Create"
 msgstr "Létrehozás"
@@ -6588,11 +6840,7 @@ msgstr "Első fájl neve:"
 
 #: export/ExportMultiple.cpp:280
 msgid "First file name"
-msgstr ""
-
-#: export/ExportMultiple.cpp:288 export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Sávok"
+msgstr "Első fájl neve"
 
 #: export/ExportMultiple.cpp:297
 msgid "Name files:"
@@ -6612,7 +6860,7 @@ msgstr "Fájlnév prefix:"
 
 #: export/ExportMultiple.cpp:327
 msgid "File name prefix"
-msgstr ""
+msgstr "Fájlnév prefix"
 
 #: export/ExportMultiple.cpp:341
 msgid "Overwrite existing files"
@@ -6627,6 +6875,35 @@ msgstr "\"%s\" sikeresen létrehozva."
 msgid "Choose a location to save the exported files"
 msgstr "Válassz egy útvonalat az exportálandó fájlok számára"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:539
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6640,21 +6917,12 @@ msgstr "\"%s\" nem létezik.\n"
 msgid "Edit metadata"
 msgstr "Metaadat szerkesztése"
 
-#: export/ExportMultiple.cpp:664 export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d fájl sikeresen exportálva."
-
-#: export/ExportMultiple.cpp:665 export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Valami elromlott %d fájl exportálása után."
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr ""
+msgstr "%s nem érvényes fájlnév. Nem használhatja a következőket:   %s\n"
+"Használjon..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
@@ -6698,19 +6966,19 @@ msgstr "(A fejléceknek és kódolásoknak nem minden kombinációja lehetséges
 
 #: export/ExportPCM.cpp:366
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "Egyéb tömörítetlen fájlok"
 
 #: export/ExportPCM.cpp:358
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) előjeles 16 bit PCM"
 
 #: export/ExportPCM.cpp:348
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) előjeles 16 bit PCM"
 
 #: export/ExportPCM.cpp:384
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobil)"
 
 #: export/ExportPCM.cpp:446
 msgid "Cannot export audio in this format."
@@ -6734,7 +7002,7 @@ msgstr "Hiba (lehet hogy a fájl sem lett írva): %s"
 
 #: export/ExportPCM.cpp:723
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Nincs beállítás ehhez a formátumhoz.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
@@ -6742,19 +7010,19 @@ msgstr ""
 #. * when it comes up on it's own.
 #: export/ExportPCM.cpp:728
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Ha részletesebben szeretné beállítani az exportálás formátumát, használja az 'Egyéb tömörítetlen fájlok' formátumot."
 
 #: export/ExportPCM.cpp:733
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "A fájl 16-bit AIFF (Apple/SGI) fájlként lesz exportálva.\n"
 
 #: export/ExportPCM.cpp:738
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "A fájl 16-bit WAV (Microsoft) fájlként lesz exportálva.\n"
 
 #: export/ExportPCM.cpp:743
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "A fájl GSM 6.10 WAV fájlként lesz exportálva.\n"
 
 #: import/Import.cpp:156 import/ImportMP3.cpp:47
 msgid "MP3 files"
@@ -6882,7 +7150,7 @@ msgstr ""
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "FFmpeg-kompatibilis fájlok"
 
 #: import/ImportFFmpeg.cpp:431
 #, c-format
@@ -6893,6 +7161,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC fájlok"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Lista a Fájlokról sima szövegformátumban"
@@ -7050,36 +7322,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Audió I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Köteg"
 
-#: prefs/AudioIOPrefs.cpp:102 prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (Monó)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Viselkedések"
 
-#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (Sztereó)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:117 prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Visszajátszás"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:121 prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Eszköz"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Felület"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:124 prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Használva:"
 
-#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:117 prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "Visszajátszás"
 
 #: prefs/AudioIOPrefs.cpp:135 prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
@@ -7089,91 +7366,13 @@ msgstr "Felvétel"
 msgid "Channels"
 msgstr "Csatornák"
 
-#: prefs/AudioIOPrefs.cpp:147 prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168 prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "Előnézet hossza:"
-
-#: prefs/AudioIOPrefs.cpp:176 prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Késleltetés"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:206 prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "Rövid periódus:"
-
-#: prefs/AudioIOPrefs.cpp:208 prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "Hosszú periódus:"
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Köteg"
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Viselkedések"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:102 prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (Monó)"
 
-#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (Sztereó)"
 
 #: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:267
@@ -7192,34 +7391,31 @@ msgstr "Hely:"
 msgid "Free Space:"
 msgstr "Szabad terület:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Automatikus mentés"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Automatikus mentés időköze:"
-
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "perc"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Válassz egy útvonalat az ideiglenes könyvtár számára"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7238,220 +7434,141 @@ msgstr "A(z) %s nevű könyvtár nem írható"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Az ideiglenes könyvtár új beállításai az Audacity újraindításakor lépnek érvénybe."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "Importálás / Exportálás"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "MP3 exportálás könyvtár"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "MP3 könyvtár verziója:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "MP3 könyvtár:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3 könyvtár:"
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&Letöltés"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "Hangfájlok importálásakor"
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr ""
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "Böngészőben"
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Internetről"
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Felület"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (szűk tartomány a nagy-jelszintű szerkesztéshez)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "Böngészőben"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (a 8 bites PCM-kódolású hangminták dinamika-tartománya)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Internetről"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (a 10 bites PCM-kódolású hangminták dinamika-tartománya)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Egyszerű"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (a 16 bites PCM-kódolású hangminták dinamika-tartománya)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr ""
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (az emberi hallás becsült határa)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (a 24 bites PCM-kódolású hangminták dinamika-tartománya)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
+msgstr "Módok"
+
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (szűk tartomány a nagy-jelszintű szerkesztéshez)"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
+msgstr "Importálás / Exportálás"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (a 8 bites PCM-kódolású hangminták dinamika-tartománya)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "Hangfájlok importálásakor"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (a 16 bites PCM-kódolású hangminták dinamika-tartománya)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (az emberi hallás becsült határa)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (a 24 bites PCM-kódolású hangminták dinamika-tartománya)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:160
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
@@ -7482,17 +7599,22 @@ msgstr "Megjegyzés: A Cmd+Q megnyomásával kilépsz. Minden más bilentyű eng
 msgid "&Defaults"
 msgstr "&Alapértékek"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Billentyűkombináció"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Billentyűparancsok exportálása, mint: "
+#: prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Visszavonás"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Hiba a billentyűparancsok mentésekor"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:198
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7502,6 +7624,14 @@ msgstr "Válassz ki egy XML fájlt, amelyik az Audacity billentyűparancsait tar
 msgid "Error loading keyboard shortcuts"
 msgstr "Hiba a billentyűparancsok betöltésekor"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Billentyűparancsok exportálása, mint: "
+
+#: prefs/KeyConfigPrefs.cpp:183
+msgid "Error saving keyboard shortcuts"
+msgstr "Hiba a billentyűparancsok mentésekor"
+
 #: prefs/KeyConfigPrefs.cpp:243
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7509,9 +7639,62 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Visszavonás"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "MP3 exportálás könyvtár"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "MP3 könyvtár verziója:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "MP3 könyvtár:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3 könyvtár:"
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "&Letöltés"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg importálás/exportálás könyvtár"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg könyvtár verzió:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "FFmpeg könyvtár:"
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "Audió I/O"
+
+#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:147 prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
@@ -7525,6 +7708,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:176 prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr "Kivágás előnézete"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7533,6 +7720,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
+msgstr "Késleltetés"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7545,6 +7736,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:206 prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr "Rövid periódus:"
+
+#: prefs/AudioIOPrefs.cpp:208 prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr "Hosszú periódus:"
+
+#: prefs/AudioIOPrefs.cpp:168 prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr "Effekt előnézet"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7606,7 +7809,7 @@ msgstr "Dupla bal-kattintás"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Select Clip or Entire Track"
-msgstr ""
+msgstr "Klip vagy az egész sáv kijelölése"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Ctrl-Left-Click"
@@ -7614,7 +7817,7 @@ msgstr "Ctrl-Bal-kattintás"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Set Selection Point and Play"
-msgstr ""
+msgstr "Kijelölés beállítása és lejátszás"
 
 #: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
 #: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
@@ -7631,7 +7834,7 @@ msgstr "Nagyítás az adott tartományra"
 
 #: prefs/MousePrefs.cpp:105
 msgid "same as right-drag"
-msgstr ""
+msgstr "mint jobb-vonszolás"
 
 #: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
@@ -7647,7 +7850,7 @@ msgstr "Jobb-vonszolás"
 
 #: prefs/MousePrefs.cpp:107
 msgid "same as left-drag"
-msgstr ""
+msgstr "mint bal-vonszolás"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Shift-Drag"
@@ -7755,10 +7958,62 @@ msgstr "Ctrl-Görgőkerék-Forgatás"
 msgid "Zoom in or out"
 msgstr "Nagyítás vagy kicsinyítés"
 
+#: prefs/AudioIOPrefs.cpp:171
+msgid "Length of preview:"
+msgstr "Előnézet hossza:"
+
+#: prefs/AudioIOPrefs.cpp:179
+msgid "Preview before cut region:"
+msgstr "Előnézet a kivágott régió előtt:"
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview after cut region:"
+msgstr "Előnézet a kivágott régió után:"
+
+#: prefs/AudioIOPrefs.cpp:203
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Audacity Beállítások"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Automatikus mentés"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Automatikus mentés időköze:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "perc"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Négyszög"
@@ -7783,70 +8038,107 @@ msgstr "Alapértelmezett Mintavételezési frekvencia"
 msgid "Default Sample Format:"
 msgstr "Alapértelmezett Hangminta formátum"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Valós idejű mintavételezési frekvencia konverter:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Csúcsminőségű mintavételezési frekvencia konverter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
+msgstr "Mintavételi ráta konvertáló"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Valós idejű finomítás:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Csúcsminőségű finomítás:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Konverzió"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Mintavételi ráta konvertáló"
+#: prefs/AudioIOPrefs.cpp:152
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Valós idejű:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Csúcsminőség:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:37 prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Hang által aktivált felvétel"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Hang aktiválási szintje (dB):"
 
 #: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Spektogramok"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT mérete"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - a leginkább szélessávú"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - alapérték"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - a leginkább keskenysávú"
@@ -7855,40 +8147,45 @@ msgstr "32768 - a leginkább keskenysávú"
 msgid "4096 - most narrowband"
 msgstr "4096 - a leginkább keskenysávú"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Ablak típusa:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr ""
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
-msgstr ""
+msgstr "Minimum frekvencia (Hz):"
 
 #: prefs/SpectrumPrefs.cpp:152
 msgid "Maximum Frequency (Hz):"
 msgstr "Maximális frekvencia (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7897,6 +8194,14 @@ msgstr "Legkisebb apmlitudó (dB):"
 
 #: prefs/SpectrumPrefs.cpp:170
 msgid "Max. Number of Notes (1..128):"
+msgstr "Jegyzetek max. száma (1..128)"
+
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:197
@@ -7909,24 +8214,63 @@ msgstr "A maximális frekvencia 100 - 100,000 Hz között kell, hogy legyen"
 
 #: prefs/SpectrumPrefs.cpp:209
 msgid "The minimum frequency must be an integer"
-msgstr ""
+msgstr "A minimum frekvenciának egésznek kell lennie"
 
 #: prefs/SpectrumPrefs.cpp:213
 msgid "Minimum frequency must be at least 0 Hz"
+msgstr "A minimum frekvenciának legalább 0 Hz-nek kell lennie"
+
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Téma"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Információ"
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -7957,78 +8301,94 @@ msgstr "Fájlok mentése"
 msgid "Load Files"
 msgstr "Fájlok betöltése"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Információ"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Egyszerű"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Szünet"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Lejátszás"
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr "Lejátszás (Shift-tel ismételt lejátszás)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:997
+msgid "Pause"
+msgstr "Szünet"
+
+#: Menus.cpp:996
 msgid "Stop"
 msgstr "Állj"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Ugrás a kezdetére"
+#: toolbars/ControlToolBar.cpp:195
+msgid "Clean Speech"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Ugrás a végére"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "Lejátszás (Shift-tel ismétlődő lejátszás)"
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr "Felvétel (Shift-tel hozzáfűzve felvétel)"
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr ""
-
 #: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
 msgstr "Hiba a hangeszköz megnyitása közben. "
@@ -8059,7 +8419,7 @@ msgstr "Kijelölés átalakítása csenddé"
 
 #: toolbars/EditToolBar.cpp:150
 msgid "Link Tracks"
-msgstr ""
+msgstr "Sávok összekapcsolása"
 
 #: toolbars/EditToolBar.cpp:155
 msgid "Zoom In"
@@ -8069,29 +8429,21 @@ msgstr "Nagyítás"
 msgid "Zoom Out"
 msgstr "Kicsinyítés"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Nagyítás/kicsinyítés kapcsoló"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "Méretezés a kijelöléshez"
-
 #: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "Kijelölés méretezése az ablakhoz igazítva"
 
 #: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "Méretezés a projekthez"
-
-#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "Projekt méretezése az ablakhoz igazítva"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr ""
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr "Méretezés a kijelöléshez"
+
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
+msgstr "Méretezés a projekthez"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8137,6 +8489,14 @@ msgstr ""
 msgid "Input Source"
 msgstr "Bemenet forrása"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr "Kijelölés"
@@ -8215,30 +8575,6 @@ msgstr "Balra=Nagyítás, Jobbra=Kicsinyítés, Középen=Normális"
 msgid "Click and drag to move a track in time"
 msgstr "Kattints és mozgasd a kurzort a sáv időbeli elhelyézéhez"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Eszközök"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Kijelölő eszköz"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Burkológörbe eszköz"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Időbeni Eltolás eszköz"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Nagyító eszköz"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Rajzoló eszköz"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Multi-Eszköz mód"
@@ -8247,22 +8583,10 @@ msgstr "Multi-Eszköz mód"
 msgid "Slide Tool"
 msgstr "Csúsztató eszköz"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multi-Eszköz"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Áttétel"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Lejátszás a kiválasztott sebességgel"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Lejátszás adott sebességgel"
-
 #: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Lejátszás sebessége"
@@ -8271,74 +8595,38 @@ msgstr "Lejátszás sebessége"
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Címkék automatikus létrehozása szavakból"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Címkék létrehozása"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Címke hozzáadása a kijelölésnél"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Címke hozzáadása"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Kalibrálás"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Érzékenység állítása"
@@ -8371,6 +8659,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Lejátszás adott sebességgel"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Címkék létrehozása"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Címke hozzáadása"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Kalibrálás"
+
 #: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr " (tiltva)"
@@ -8490,7 +8818,7 @@ msgstr ""
 
 #: widgets/Meter.cpp:1146
 msgid "Meter refresh rate per second [1-100]: "
-msgstr ""
+msgstr "Mérő frissítése másodpercenként [1-100]"
 
 #: widgets/Meter.cpp:1147
 msgid "Meter Preferences"
@@ -8502,19 +8830,19 @@ msgstr " Kérem válasszon egy akciót "
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Kérem válasszon egy akciót"
 
 #: widgets/ProgressDialog.cpp:97
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "Eltelt idő:"
 
 #: widgets/ProgressDialog.cpp:117
 msgid "Remaining Time:"
-msgstr ""
+msgstr "Hátraévő idő:"
 
 #: widgets/ProgressDialog.cpp:134
 msgid "Cancel"
-msgstr ""
+msgstr "Mégse"
 
 #: widgets/Ruler.cpp:1445 widgets/Ruler.cpp:1446
 msgid "Vertical Ruler"
@@ -8555,7 +8883,7 @@ msgstr "0100 nap 024 ó 060 p 060 mp"
 #. * minutes, seconds and hundreths of a second (1/100 second)
 #: widgets/TimeTextCtrl.cpp:288
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "óó:pp:mm + századmásodperc"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -8564,7 +8892,7 @@ msgstr ""
 #. * unless there aren't 60 minutes in an hour in your locale
 #: widgets/TimeTextCtrl.cpp:294
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 ó 060 p 060.0100 mp"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
@@ -8760,3 +9088,15 @@ msgstr "Hiba: %hs a %lu. sorban"
 msgid "Could not load file: \"%s\""
 msgstr "Nem lehet betölteni ezt a fájlt: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/id.po b/locale/id.po
index 2b3ae7c..f1e5f58 100644
--- a/locale/id.po
+++ b/locale/id.po
@@ -1,7 +1,8 @@
 msgid ""
-msgstr "Project-Id-Version: Indo 1.0\n"
+msgstr ""
+"Project-Id-Version: Indo 1.0\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-11-09 20:10+0000\n"
+"POT-Creation-Date: 2009-05-10 21:56+0100\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Lukmanul Hakim <lukmanulhakim14 at gmail.com>\n"
 "Language-Team: Audacityn' Indonesia <lukmanulhakim14 at gmail.com>\n"
@@ -12,8 +13,8 @@ msgstr "Project-Id-Version: Indo 1.0\n"
 "X-Poedit-Country: INDONESIA\n"
 
 #: AboutDialog.cpp:143
-#: AudacityApp.cpp:807
-#: Menus.cpp:955
+#: AudacityApp.cpp:798
+#: Menus.cpp:960
 msgid "&About Audacity..."
 msgstr "&Tentang Audacity"
 
@@ -26,12 +27,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Audacity adalah program bebas dan gratis yang dicanangkan oleh <a href=\"http://audacity.sourceforge.net/community/developers\">tim pengembang</a> di seluruh dunia. Kami berterima kasih kepada <a href=\"http://sourceforge.net\">Sourceforge.net</a>, untuk penempatan proyek kami. Audacity tersedia untuk Windows 98 atau yang lebih baru, Mac OS X, Linux, atau sistem operasi lainnya yang mirip dengan sistem operasi Unix. Audacity versi lebih lama tersedia untuk Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Ini adalah program versi beta. Program ini mungkin mengandung beberapa bug dan fitur yang belum sempurna. Kami mengharapkan pendapat Anda. Mohon kirimkan laporan bug dan permintaan fitur ke <b>feedback at audacityteam.org</b>. Untuk bantuan menggunakan Audacity, silahkan kunjungi <a href=\"http://audacityteam.org/forum/\">Forum</a> kami."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Ini adalah program versi beta. Program ini mungkin mengandung beberapa bug dan fitur yang belum sempurna. Kami mengharapkan pendapat Anda. Mohon kirimkan laporan bug dan permintaan fitur ke alamat <a href=\"mailto:feedback at audacityteam.org\">Tanggapan</a> kami. Untuk bantuan menggunakan Audacity, silahkan kunjungi <a href=\"http://audacityteam.org/forum/\">Forum</a> kami."
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Ini adalah versi yang sudah stabil. Tetapi, jika Anda menemukan bug atau mempunyai saran, silahkan hubungi ke <b>feedback at audacityteam.org</b>. Untuk bantuan menggunakan Audacity, silahkan kunjungi <a href=\"http://audacityteam.org/forum/\">Forum</a> kami."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Ini adalah versi yang sudah stabil. Tetapi, jika Anda menemukan bug atau mempunyai saran, silahkan hubungi ke alamat <a href=\"mailto:feedback at audacityteam.org\">Tanggapan</a> kami. Untuk bantuan menggunakan Audacity, silahkan kunjungi <a href=\"http://audacityteam.org/forum/\">Forum</a> kami."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -83,8 +84,8 @@ msgid "Special thanks:"
 msgstr "Terima kasih untuk:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr "Perangkat lunak <b>Audacity&reg;</b> adalah hak cipta &copy; 1999-2008 Audacity Team. <br>Nama <b>Audacity&reg;</b> adalah merk terdaftar oleh Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "Perangkat lunak <b>Audacity&reg;</b> adalah hak cipta &copy; Tim Audacity 1999-2008. <br>Nama <b>Audacity&reg;</b> adalah merk terdaftar dari Dominic Mazzoni."
 
 #: AboutDialog.cpp:258
 msgid "Audacity"
@@ -93,7 +94,7 @@ msgstr "Audacity"
 #. i18n-hint: Information about when audacity was compiled
 #: AboutDialog.cpp:304
 #: AboutDialog.cpp:317
-#: AboutDialog.cpp:473
+#: AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Informasi Perubahan"
 
@@ -153,183 +154,192 @@ msgstr "Referensi Penting"
 msgid "Sample rate conversion"
 msgstr "Konversi Sample Rate"
 
-#: AboutDialog.cpp:402
-#: AboutDialog.cpp:405
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Pemproduksian Audio dan Perekaman"
 
-#: AboutDialog.cpp:418
+#: AboutDialog.cpp:413
 msgid "Features"
 msgstr "Fitur"
 
-#: AboutDialog.cpp:422
+#: AboutDialog.cpp:417
+#: AboutDialog.cpp:420
 #: AboutDialog.cpp:425
-#: AboutDialog.cpp:430
+#: AboutDialog.cpp:428
 #: AboutDialog.cpp:433
-#: AboutDialog.cpp:438
+#: AboutDialog.cpp:436
 #: AboutDialog.cpp:441
-#: AboutDialog.cpp:446
-#: AboutDialog.cpp:449
+#: AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Dukungan Plug-in"
 
-#: AboutDialog.cpp:454
-#: AboutDialog.cpp:457
+#: AboutDialog.cpp:449
+#: AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Dukungan Sound card mixer"
 
-#: AboutDialog.cpp:462
-#: AboutDialog.cpp:465
+#: AboutDialog.cpp:457
+#: AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Dukungan Perubahan Pitch dan Tempo"
 
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:472
 msgid "Program build date: "
 msgstr "Tangga perubahan program:"
 
-#: AboutDialog.cpp:480
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:475
+#: AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Tipe perubahan:"
 
-#: AboutDialog.cpp:480
+#: AboutDialog.cpp:475
 msgid "Debug build"
 msgstr "Pembuangan bug"
 
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:477
 msgid "Release build"
 msgstr "Rilis"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
-#: AboutDialog.cpp:487
+#: AboutDialog.cpp:482
 msgid "Installation Prefix: "
 msgstr "Awalan Instalasi:"
 
-#: AboutDialog.cpp:491
+#: AboutDialog.cpp:486
 msgid "Settings folder: "
 msgstr "Folder pengaturan:"
 
-#: AboutDialog.cpp:506
+#: AboutDialog.cpp:501
 msgid "GPL License"
 msgstr "Lisensi GPL"
 
-#: AudacityApp.cpp:507
-#: Project.cpp:1844
+#: AudacityApp.cpp:500
+#: Project.cpp:2026
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s sudah dibuka di window yang lain."
 
-#: AudacityApp.cpp:509
-#: Project.cpp:1846
-#: Project.cpp:1951
-#: Project.cpp:2095
-#: Project.cpp:2232
+#: AudacityApp.cpp:502
+#: Project.cpp:2028
+#: Project.cpp:2148
+#: Project.cpp:2296
+#: Project.cpp:2428
 msgid "Error opening project"
 msgstr "Error dalam membuka proyek"
 
-#: AudacityApp.cpp:541
+#: AudacityApp.cpp:528
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s tidak ada dan tidak bisa dibuka.\n"
+msgstr ""
+"%s tidak ada dan tidak bisa dibuka.\n"
 "\n"
 "Ini sudah dibuang dari daftar history."
 
-#: AudacityApp.cpp:643
+#: AudacityApp.cpp:637
 msgid "Master Gain Control"
 msgstr "Pengendali Master"
 
-#: AudacityApp.cpp:644
+#: AudacityApp.cpp:638
 msgid "Input Meter"
 msgstr "Meter Input"
 
-#: AudacityApp.cpp:645
+#: AudacityApp.cpp:639
 msgid "Output Meter"
 msgstr "Meter Output"
 
 #. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferensi...\tCtrl+,"
+#: AudacityApp.cpp:800
+msgid "&Preferences..."
+msgstr "&Preferensi..."
 
-#: AudacityApp.cpp:901
-#: AudacityApp.cpp:978
+#: AudacityApp.cpp:890
+#: AudacityApp.cpp:967
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Menggunakan ukuran blok %ld\n"
 
-#: AudacityApp.cpp:923
-#: AudacityApp.cpp:993
+#: AudacityApp.cpp:912
+#: AudacityApp.cpp:982
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Opsi baris komando tidak diketahui: %s\n"
 
-#: AudacityApp.cpp:1127
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1116
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity tidak bisa mencari tempat untuk meletakkan file temporary.\n"
+msgstr ""
+"Audacity tidak bisa mencari tempat untuk meletakkan file temporary.\n"
 "Tolong masukkan direktori yang benar ke dalam dialog preferensi."
 
-#: AudacityApp.cpp:1133
+#: AudacityApp.cpp:1122
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
 msgstr "Audacity sekarang ingin keluar. Tolong aktifkan Audacity kembali untuk menggunakan direktori file temporary yang baru."
 
-#: AudacityApp.cpp:1165
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1154
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr "Menjalankan dua Audacity yang sama sekaligus dapat menyebabkan\n"
+msgstr ""
+"Menjalankan dua Audacity yang sama sekaligus dapat menyebabkan\n"
 "hilangnya data atau dapat merusak sistem Anda.\n"
 "\n"
 
-#: AudacityApp.cpp:1172
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1161
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr "Audacity tidak bisa mengunci direktori file temporary.\n"
+msgstr ""
+"Audacity tidak bisa mengunci direktori file temporary.\n"
 "Folder ini mungkin digunakan oleh program Audacity yang Lain.\n"
 
-#: AudacityApp.cpp:1174
+#: AudacityApp.cpp:1163
 msgid "Do you still want to start Audacity?"
 msgstr "Anda ingin tetap menjalankan Audacity?"
 
-#: AudacityApp.cpp:1176
+#: AudacityApp.cpp:1165
 msgid "Error locking temporary folder"
 msgstr "Error dalam mengunci folder temporary"
 
-#: AudacityApp.cpp:1214
+#: AudacityApp.cpp:1203
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "Sistem telah mendeteksi bahwa Audacity yang lainnya sedang berjalan.\n"
 
-#: AudacityApp.cpp:1216
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1205
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Gunakan komando Baru atau Buka waktu menjalankan\n"
+msgstr ""
+"Gunakan komando Baru atau Buka waktu menjalankan\n"
 "Audacity untuk membuka beberapa proyek sekaligus.\n"
 
-#: AudacityApp.cpp:1217
+#: AudacityApp.cpp:1206
 msgid "Audacity is already running"
 msgstr "Audacity sudah berjalan"
 
-#: AudacityApp.cpp:1234
+#: AudacityApp.cpp:1223
 msgid "Command-line options supported:"
 msgstr "Dukungan opsi baris komando"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1237
+#: AudacityApp.cpp:1226
 msgid "\t-help (this message)"
 msgstr "\t-bantuan (pesan ini)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1239
+#: AudacityApp.cpp:1228
 msgid "\t-version (display Audacity version)"
 msgstr "\t-versi (tampilan versi Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1243
+#: AudacityApp.cpp:1232
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (jalankan diagnosa otomatis)"
 
@@ -337,66 +347,74 @@ msgstr "\t-test (jalankan diagnosa otomatis)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1248
+#: AudacityApp.cpp:1237
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn (ukuran blok pada disk maksimum dalam byte)"
 
-#: AudacityApp.cpp:1249
+#: AudacityApp.cpp:1238
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
 msgstr "Tambahan, spesifikasikan nama file audio atau proyek audacity terlebih dahul untuk membukanya."
 
-#: AudacityApp.cpp:1529
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1526
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "File Proyek Audacity (.AUP) tidak\n"
+msgstr ""
+"File Proyek Audacity (.AUP) tidak\n"
 "berasosiasi dengan Audacity.\n"
 "\n"
 "Hubungkan terlebih dahulu baru file tersebut bisa dibuka dengan klik ganda?"
 
-#: AudacityApp.cpp:1530
+#: AudacityApp.cpp:1527
 msgid "Audacity Project Files"
 msgstr "File Proyek Audacity"
 
-#: AudioIO.cpp:254
+#: AudioIO.cpp:251
 msgid "Could not find any audio devices.\n"
 msgstr "Tidak dapat mencari perangkat audio.\n"
 
-#: AudioIO.cpp:255
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:252
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Anda tidak akan bisa memainkan ataupun merekam audio.\n"
+msgstr ""
+"Anda tidak akan bisa memainkan ataupun merekam audio.\n"
 "\n"
 
-#: AudioIO.cpp:258
+#: AudioIO.cpp:255
 msgid "Error: "
 msgstr "Error:"
 
-#: AudioIO.cpp:261
+#: AudioIO.cpp:258
 msgid "Error Initializing Audio"
 msgstr "Error Menginisialisasi audio"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "Masalah Laten"
-
-#: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1242
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "Aturan yang laten telah menyebabkan audio yang direkam menghilang.\n"
-"Audacity telah mengembalikan mulai dari nol.\n"
+msgstr ""
+"Aturan perbaikan laten telah menyebabkan audio yang direkam dihilangkan sebelum nol.\n"
+"Audacity telah mengembalikannya untuk mulai dari nol.\n"
 "Anda bisa menggunakan Alat Time Shift (<--> atau F5) untuk memindahkan trak ke tempat yang tepat."
 
+#: AudioIO.cpp:1242
+msgid "Latency problem"
+msgstr "Masalah Laten"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Pengembalian Otomatis Akibat Crash"
 
 #: AutoRecovery.cpp:73
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr "Beberapa proyek tidak disimpan sebelumnya waktu Audacity terakhir dijalankan.\n"
+msgstr ""
+"Beberapa proyek tidak disimpan sebelumnya waktu Audacity terakhir dijalankan.\n"
 "Pada yang akan datang, proyek-proyek ini bisa dikembalikan secara otomatis:"
 
 #: AutoRecovery.cpp:75
@@ -404,7 +422,6 @@ msgid "Recoverable projects"
 msgstr "Proyek yang dipindahkan"
 
 #: AutoRecovery.cpp:78
-#: Tags.cpp:2041
 msgid "Name"
 msgstr "Nama"
 
@@ -425,9 +442,11 @@ msgid "Recover Projects"
 msgstr "Kembalikan proyek-proyek"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr "Apakah Anda yakin tidak mau mengembalikan proyek apapun?\n"
+msgstr ""
+"Apakah Anda yakin tidak mau mengembalikan proyek apapun?\n"
 "Proyek tersebut tidak akan bisa dikembalikan lagi."
 
 #: AutoRecovery.cpp:128
@@ -441,24 +460,25 @@ msgstr "Tidak bisa enumerasi file dalam direkroti simpan otomatis"
 
 #: AutoRecovery.cpp:147
 #: AutoRecovery.cpp:184
-#: Menus.cpp:3053
-#: Menus.cpp:3065
-#: Menus.cpp:5182
-#: Project.cpp:2054
-#: Project.cpp:3615
-#: Project.cpp:3694
-#: TrackPanel.cpp:6385
-#: WaveTrack.cpp:598
-#: WaveTrack.cpp:617
-#: WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077
-#: WaveTrack.cpp:2087
-#: effects/Effect.cpp:513
-#: export/ExportMP2.cpp:233
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:247
-#: toolbars/ControlToolBar.cpp:542
-#: toolbars/ControlToolBar.cpp:871
+#: Menus.cpp:3155
+#: Menus.cpp:3167
+#: Menus.cpp:5230
+#: Project.cpp:2255
+#: Project.cpp:3875
+#: Project.cpp:3961
+#: TrackPanel.cpp:6493
+#: WaveTrack.cpp:979
+#: WaveTrack.cpp:998
+#: WaveTrack.cpp:2024
+#: effects/Contrast.cpp:136
+#: effects/Contrast.cpp:146
+#: effects/Effect.cpp:537
+#: export/ExportFFmpeg.cpp:654
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195
+#: prefs/KeyConfigPrefs.cpp:331
+#: toolbars/ControlToolBar.cpp:551
+#: toolbars/ControlToolBar.cpp:883
 msgid "Error"
 msgstr "Error"
 
@@ -470,7 +490,6 @@ msgstr "Pilih Komando"
 
 #: BatchCommandDialog.cpp:82
 #: BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Komando"
 
@@ -487,50 +506,54 @@ msgstr "&Parameter"
 msgid "C&hoose command"
 msgstr "P&ilih Komando"
 
-#: BatchCommands.cpp:456
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr "Efek Stereo ke Mono tidak ditemukan"
 
-#: BatchCommands.cpp:476
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "Dukungan Ogg Vorbis tidak dimasukkan di dalam Audacity"
 
-#: BatchCommands.cpp:488
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr "Dukungan FLAC tidak dimasukkan di dalam Audacity"
 
-#: BatchCommands.cpp:492
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "Komando %s belum bisa diimplementasikan"
 
-#: BatchCommands.cpp:508
+#: BatchCommands.cpp:507
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
-msgstr "Tidak dapat mengatur parameters efek %s\n"
+msgstr ""
+"Tidak dapat mengatur parameters efek %s\n"
 "ke %s."
 
-#: BatchCommands.cpp:561
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "%s Komando Anda tidak bisa dijalankan."
 
-#: BatchCommands.cpp:652
+#: BatchCommands.cpp:651
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr "Mengaplikasikan %s dengan (beberapa) parameter\n"
+msgstr ""
+"Mengaplikasikan %s dengan (beberapa) parameter\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:653
-#: BatchCommands.cpp:658
+#: BatchCommands.cpp:652
+#: BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Mode Percobaan"
 
-#: BatchCommands.cpp:657
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "Mengaplikasikan %s"
@@ -563,10 +586,6 @@ msgstr "Aplikasikan ke &File"
 
 #: BatchProcessDialog.cpp:108
 #: BatchProcessDialog.cpp:247
-#: Tags.cpp:2080
-#: Tags.cpp:2084
-#: Tags.cpp:2384
-#: Tags.cpp:2388
 #: UploadDialog.cpp:180
 #: effects/AvcCompressor.cpp:732
 #: effects/ChangeLength.cpp:183
@@ -625,18 +644,14 @@ msgid "&Chains"
 msgstr "&Untaian"
 
 #: BatchProcessDialog.cpp:435
-#: Tags.cpp:826
-#: Tags.cpp:1465
-#: Tags.cpp:2064
+#: Tags.cpp:820
 msgid "&Add"
 msgstr "&Tambah"
 
 #: BatchProcessDialog.cpp:436
 #: LabelDialog.cpp:128
-#: Tags.cpp:827
-#: Tags.cpp:1466
-#: Tags.cpp:2065
-#: TrackPanel.cpp:4176
+#: Tags.cpp:821
+#: TrackPanel.cpp:4261
 msgid "&Remove"
 msgstr "&Buang"
 
@@ -650,8 +665,8 @@ msgstr "Un&taiann (Klik ganda atau tekan SPASI untuk edit)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Tidak"
+msgid "Num"
+msgstr "No"
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -712,283 +727,299 @@ msgstr "Menghapus Ketergantungan"
 msgid "Copying audio data into project..."
 msgstr "Menyalin data audio ke proyek..."
 
-#: Dependencies.cpp:223
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr "Proyek Anda membutuhkan file lainnya.\n"
+msgstr ""
+"Proyek Anda membutuhkan file lainnya.\n"
 "Salin audio dari file tersebut ke dalam proyek Anda supaya proyek anda terisi sendiri?\n"
 "Ini akan membutuhkan ruang lebig besar, tetapi lebih aman."
 
-#: Dependencies.cpp:270
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "Proyek membutuhkan file audio lainnya"
 
-#: Dependencies.cpp:291
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Ketergantungan Proyek"
 
-#: Dependencies.cpp:294
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "File audio"
 
-#: Dependencies.cpp:296
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Ruang disk"
 
-#: Dependencies.cpp:301
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Menyalin Audio yang Dipilih ke dalam Proyek"
 
-#: Dependencies.cpp:308
-#: Dependencies.cpp:414
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Batalkan Penyimpanan"
 
-#: Dependencies.cpp:310
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "Jangan Salin Audio Apapun"
 
-#: Dependencies.cpp:312
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Salin Semua Audio ke dalam Proyek (Lebih Aman)"
 
-#: Dependencies.cpp:321
-#: Dependencies.cpp:326
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Tanya saya"
 
-#: Dependencies.cpp:322
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Selalu salin semua audio (paling aman)"
 
-#: Dependencies.cpp:323
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Tidak pernah menyalin audio apapun"
 
-#: Dependencies.cpp:325
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Ketika proyek membutuhkan file lainnya:"
 
-#: Dependencies.cpp:413
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr "Proyek Anda tidak akan disimpad di disk. Itukan yang Anda mau?"
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "Proyek Anda terisi sendiri; proyek ini tidak membutuhkan file audio eksternal apapun."
 
-#: Dependencies.cpp:454
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Cek ketergantungan"
 
-#: DirManager.cpp:137
-msgid "Warning: there is very little free disk space left on this volume.\n"
+#: DirManager.cpp:136
+msgid ""
+"Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr "Perhatian: ruang disk yang tersisa tinggal sedikit.\n"
+msgstr ""
+"Perhatian: ruang disk yang tersisa tinggal sedikit.\n"
 "Mohon pilih direktori temporer lainnya dalam preferensi Anda."
 
-#: DirManager.cpp:223
-#: DirManager.cpp:254
-#: DirManager.cpp:337
+#: DirManager.cpp:221
+#: DirManager.cpp:252
+#: DirManager.cpp:335
 msgid "Progress"
 msgstr "Kemajuan"
 
-#: DirManager.cpp:288
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Membersihkan file temporer"
 
-#: DirManager.cpp:338
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Menyimpan file data proyek"
 
-#: DirManager.cpp:410
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Membersihkan direktori cache"
 
-#: DirManager.cpp:505
+#: DirManager.cpp:503
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "Audacity menemukan anak file blok %s! \n"
+msgstr ""
+"Audacity menemukan anak file blok %s! \n"
 "Silahkan Anda simpan dan buka kembali proyek Anda untuk melakukan pengecekan penuh.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: DirManager.cpp:1094
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-%dlama"
 
-#: DirManager.cpp:1102
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr "Tidak bisa membuka atau membuat file tes"
 
-#: DirManager.cpp:1111
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "Tidak bisa membuang '%s'"
 
-#: DirManager.cpp:1116
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "File yang telah diganti nama: %s\n"
 
-#: DirManager.cpp:1160
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "Tidak bisa meganti nama '%s' ke '%s'"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Blok %s diubah ke nama alias yg baru\n"
 
-#: DirManager.cpp:1224
-#: DirManager.cpp:1515
+#: DirManager.cpp:1247
+#: DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Memeriksa data file proyek..."
 
-#: DirManager.cpp:1240
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Anak file blok: (%s)"
 
-#: DirManager.cpp:1265
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "File alias menghilang: (%s)"
 
-#: DirManager.cpp:1285
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "File rangkuman menghilang: (%s)"
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "File data menghilang: (%s.au)"
 
-#: DirManager.cpp:1319
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1342
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr "Pengecekan menemukan ketidakkonsistenan keteka memeriksa data yang diambil;\n"
+msgstr ""
+"Pengecekan menemukan ketidakkonsistenan keteka memeriksa data yang diambil;\n"
 "Tekan 'Detail' untuk daftar error, atau 'OK' untuk meneruskan ke opsi lainnya."
 
-#: DirManager.cpp:1331
+#: DirManager.cpp:1354
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr "Pengecekan menemukan %d anak file blok. File ini tidak berguna\n"
+msgstr ""
+"Pengecekan menemukan %d anak file blok. File ini tidak berguna\n"
 "dan mungkin tertinggal waktu crash atau bug lainya.\n"
 "Ini harus dihapus untuk menghemat ruang disk."
 
-#: DirManager.cpp:1336
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Hapus anak file [Aman dan direkomendasikan]"
 
-#: DirManager.cpp:1337
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Terus tanpa penghapusan; bekerja di sekitar file tambahan secara diam-diam"
 
-#: DirManager.cpp:1338
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Tutup proyek secepatnya tanpa perubahan"
 
-#: DirManager.cpp:1340
-#: DirManager.cpp:1375
-#: DirManager.cpp:1421
-#: DirManager.cpp:1463
-#: export/Export.cpp:576
-#: export/Export.cpp:597
-#: export/Export.cpp:616
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1363
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
+#: export/Export.cpp:581
+#: export/Export.cpp:602
+#: export/Export.cpp:621
+#: widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Perhatian"
 
-#: DirManager.cpp:1366
+#: DirManager.cpp:1389
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "Pengecekan menemukan file input %d yang telah digunakan\n"
+msgstr ""
+"Pengecekan menemukan file input %d yang telah digunakan\n"
 "('alias file') sekarang telah menghilang. Tidak ada cara lain\n"
 "selain mengembalikan file tersebut secara otomatis; Anda bisa memilih\n"
 "mengosongkan file yang hilang secara permanen pada sesi ini, atau\n"
 "tutup proyek ini dan coba mencari file itu sendiri."
 
-#: DirManager.cpp:1371
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Mengembalikan data yang hilang diam-diam [permanen pada penyimpanan]"
 
-#: DirManager.cpp:1372
-#: DirManager.cpp:1460
+#: DirManager.cpp:1395
+#: DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Mengembalikan data yang hilang diam-diam secara sementara [hanya sesi ini saja]"
 
-#: DirManager.cpp:1373
-#: DirManager.cpp:1419
-#: DirManager.cpp:1461
+#: DirManager.cpp:1396
+#: DirManager.cpp:1442
+#: DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Tutup proyek secepatnya tanpa perubahan"
 
-#: DirManager.cpp:1412
+#: DirManager.cpp:1435
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr "Pengecekan menemukan file rangkuman %d yang hilang (.auf).\n"
+msgstr ""
+"Pengecekan menemukan file rangkuman %d yang hilang (.auf).\n"
 "Audacity bisa membuat ulang file tersebut dari data aslinya pada proyek."
 
-#: DirManager.cpp:1417
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Membuat ulang file rangkuman [lebih aman dan direkomendasikan]"
 
-#: DirManager.cpp:1418
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Kosongkan tampilan data yang hilang [sesi ini saja]"
 
-#: DirManager.cpp:1454
+#: DirManager.cpp:1477
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr "Pengecekan menemukan file data blok audio %d yang menghilang (.au), \n"
+msgstr ""
+"Pengecekan menemukan file data blok audio %d yang menghilang (.au), \n"
 "mungkin karena bug, crash, atau ketidaksengajaan. \n"
 "Tidak ada jalan lain selain mengembalikan data yang hilang\n"
 "secara otomatis; Anda bisa memilih untuk tetap mengosongkan data tadi\n"
 "atau secara sementara atau tutup proyek dan mencoba mengembalikannya sendiri."
 
-#: DirManager.cpp:1459
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "Kosongkan data yang hilang [permanen]"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr "Membersihkan direktori yang tak berguna apda data proyek..."
 
-#: DirManager.cpp:1558
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Membuat cache audio"
 
-#: DirManager.cpp:1559
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Membuat cache audio di memeoi..."
 
-#: DirManager.cpp:1592
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Meinyimpan audio yang direkam"
 
-#: DirManager.cpp:1593
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr "Meinyimpan audio yang direkam pada disk..."
 
@@ -996,254 +1027,308 @@ msgstr "Meinyimpan audio yang direkam pada disk..."
 msgid "Rectangular"
 msgstr "Bersiku"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "Dukungan FFMpeg tidak terkompilasi"
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
 "You may want to go back to Preferences > Import/Export and re-configure it."
 msgstr ""
+"FFmpeg terkonfigurasi pada Preferensi dan diambil dengan sukses sebelumnya,                       \n"
+"tapi kali ini Audacity gagal mengambilnya pada awal dinyalakan.                       \n"
+"\n"
+"Anda butuh kembali ke Preferensi > Impor/Ekspor dan mengkonfigurasikan ulang."
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Awalan FFMpeg gagal"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
 msgstr "FFmpeg library not found"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
 msgstr "Tempatkan FFmpeg"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
 msgstr "Audacity memerlukan file %s untuk menegkspor dan mengimpor dengan FFmpeg.."
 
-#: FFmpeg.cpp:196
+#: FFmpeg.cpp:434
 #: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Lokasi %s:"
 
-#: FFmpeg.cpp:205
+#: FFmpeg.cpp:443
 #: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Untuk mencari %s, click here -->"
 
-#: FFmpeg.cpp:211
+#: FFmpeg.cpp:449
 #: export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Jelajah..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Untuk mendapatkan salinan FFmpeg gratis, klik di sini ==>"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Unduh"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:235
+#: FFmpeg.cpp:473
 #: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Dimana %s?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Gagal untuk mencari referensi FFMpeg yang kompetibel"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
 msgstr "FFmpeg tidak ada"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg libraries to import an audio file,\n"
 "but libraries were not found.\n"
 "If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
 "and tell Audacity where to look for the libraries."
 msgstr ""
+"Audacity menggunakan referensi FFmpeg untuk mengimpor file audio,\n"
+"tapi referensi tidak ditemukan.\n"
+"Jika Anda ingin menggunakan fitur impor FFmpeg, silahkan ke Preferensi->Impor/Ekspor\n"
+"dan beritahu Audacity dimanakah referensinya."
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Jangan tunjukkan peringatan ini lagi"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:264
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Hanya avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Referensi Dinamis (*.dylib)|*.dylib|Semua File (*)|*"
 
-#: FFmpeg.h:295
+#: FFmpeg.h:324
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Hanya libavformat.so|libavformat.so*|Referensi Terhubung Dinamis (*.so*)|*.so*|Semua File (*)|*"
 
-#: FreqWindow.cpp:103
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Analisis Frekuensi"
 
-#: FreqWindow.cpp:139
-#: TrackPanel.cpp:556
-#: prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:163
+#: TrackPanel.cpp:620
+#: prefs/GUIPrefs.cpp:119
 msgid "Spectrum"
 msgstr "Spektrum"
 
-#: FreqWindow.cpp:140
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Autokoreksi Standar"
 
-#: FreqWindow.cpp:141
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Autokoreksi Cuberoot"
 
-#: FreqWindow.cpp:142
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Autokoreksi Tingkat Tinggi"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: FreqWindow.cpp:146
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Kepstrum"
 
-#: FreqWindow.cpp:150
-#: FreqWindow.cpp:154
+#: FreqWindow.cpp:174
+#: FreqWindow.cpp:178
 msgid "Algorithm"
 msgstr "Algoritma"
 
-#: FreqWindow.cpp:169
-#: FreqWindow.cpp:173
+#: FreqWindow.cpp:193
+#: FreqWindow.cpp:197
 #: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Ukuran"
 
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: FreqWindow.cpp:183
+#: FreqWindow.cpp:207
 msgid " window"
 msgstr " jendela"
 
-#: FreqWindow.cpp:187
-#: FreqWindow.cpp:191
+#: FreqWindow.cpp:211
+#: FreqWindow.cpp:215
 msgid "Function"
 msgstr "Fungsi"
 
-#: FreqWindow.cpp:196
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "Frekuensi linier"
 
-#: FreqWindow.cpp:197
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Frekuensi logaritma"
 
-#: FreqWindow.cpp:201
-#: FreqWindow.cpp:205
+#: FreqWindow.cpp:225
+#: FreqWindow.cpp:229
 msgid "Axis"
 msgstr "Aksis"
 
-#: FreqWindow.cpp:212
+#: FreqWindow.cpp:236
 #: LabelDialog.cpp:130
-#: Menus.cpp:241
-#: Menus.cpp:276
+#: Menus.cpp:247
+#: Menus.cpp:282
 msgid "&Export..."
 msgstr "&Ekspor"
 
-#: FreqWindow.cpp:213
-#: export/ExportCL.cpp:325
-#: export/ExportMultiple.cpp:347
+#: FreqWindow.cpp:237
+#: effects/Contrast.cpp:384
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Ekspor"
 
-#: FreqWindow.cpp:216
-#: FreqWindow.cpp:217
-#: widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "&Plot Ulang"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Plot Ulang"
+
+#: FreqWindow.cpp:244
+#: FreqWindow.cpp:245
+#: widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Tutup"
 
-#: FreqWindow.cpp:280
-#: FreqWindow.cpp:410
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:792
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1301
+#: effects/Equalization.cpp:1304
+msgid "Grids"
+msgstr "Batas"
+
+#: FreqWindow.cpp:314
+#: FreqWindow.cpp:516
+#: effects/AutoDuck.cpp:488
+#: effects/AutoDuck.cpp:522
+#: effects/AutoDuck.cpp:791
 #: effects/Compressor.cpp:352
 #: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123
-#: effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133
-#: effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408
-#: effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:367
-#: widgets/Meter.cpp:417
+#: effects/Equalization.cpp:1143
+#: effects/Equalization.cpp:1145
+#: effects/Equalization.cpp:1153
+#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1435
+#: effects/Equalization.cpp:1446
+#: effects/Normalize.cpp:368
+#: widgets/Meter.cpp:413
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295
-#: FreqWindow.cpp:450
-#: effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195
-#: import/ImportRaw.cpp:399
+#: FreqWindow.cpp:330
+#: FreqWindow.cpp:556
+#: effects/Equalization.cpp:1184
+#: effects/Equalization.cpp:1215
+#: import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: FreqWindow.cpp:394
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Untuk memplot spektrum, semua trek yang dipilih harus mempunyai rate sampel yang sama."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Terlalu banyak yang dipilih. Hanya awal %.1f detik audio yang akan dianalisis."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Data yang dipilih tidak cukup"
 
-#: FreqWindow.cpp:458
-#: effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:564
+#: effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "d"
 
-#: FreqWindow.cpp:787
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Kursor: %d Hz (%s) = %d dB    Pik: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:796
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "Kursor: %.4f det (%d Hz) (%s) = %f,    Pik: %.4f det (%d Hz) (%s) = %.3f"
 
-#: FreqWindow.cpp:1069
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spektrum.txt"
 
-#: FreqWindow.cpp:1071
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Ekspor data spektral sebagai:"
 
-#: FreqWindow.cpp:1087
+#: FreqWindow.cpp:1216
 #: LabelDialog.cpp:603
-#: Menus.cpp:2555
-#: Project.cpp:2604
-#: Project.cpp:3667
-#: prefs/KeyConfigPrefs.cpp:182
+#: Menus.cpp:2612
+#: effects/Contrast.cpp:576
+#: prefs/KeyConfigPrefs.cpp:276
 msgid "Couldn't write to file: "
 msgstr "Tidak bisa menulis file:"
 
-#: FreqWindow.cpp:1092
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Frekuensi (Hz)\tTingkatan (dB)"
 
-#: FreqWindow.cpp:1098
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Waktu (detik)\tFrekuensi (Hz)\tTingkat"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences->Import/Export and re-configure it."
+msgstr ""
+"GStreamer terkonfigurasi pada Preferensi dan diambil dengan sukses sebelumnya,\n"
+"                      tapi kali ini Audacity gagal mengambilnya pada awal dinyalakan.\n"
+"                      Anda butuh kembali ke Preferensi > Impor/Ekspor dan mengkonfigurasikannya kembali."
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Awalan GStreamer gagal"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Ke [[welcome|Awal]]"
@@ -1321,8 +1406,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Untuk merekam:</b> Atur perekam dan inputnya, atur volume input, kemudian tekan tombol merah.</b></p><p> 1) [[inputdevice|Atur perekam]] bisa di <i>Tab Audio I/O pada Preferensi</i> atau pada <i>Toolbar Perangkat</i>. Preferences Audio I/O memungkinkan anda memilih rekaman stereo jika mau.<br> 2) [[inputsource|Atur sumber input]] untuk perangkate (contoh: mikropon atau line-in) pada pilihan di bawah <i>Toolbar Mixer</i>, atau (pada beberapa sistem) di Perangkat Rekaman dalam <i>Tab Audio I/O pada Preferensi</i> atau pada <i>Toolbar Perangkat</i>.<br> 3) [[inputlevel|Atur tingkatan input]] menggunakan slider kanan pada <i>Toolbar Mixer</i>. Memeriksa tingkatan sebelum merekam sangat penting untuk mencegah bising. </p><p> Bantuan lainnya ada di: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, Tutorial kami <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> \"Your First Recording\"</a> di <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual kami</a>, dan halaman Wiki kami [[wiki:Recording_Tips|Tips Merekam]] dan [[wiki:Troubleshooting_Recordings|Memecahkan masalah pada rekaman]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>Perangkat input adalah perangkat suara fisik yang digunakan untuk merekam. Bisa dipilih di \"Perangkat Rekaman\" pada <i>tab Audio I/O pada Preferensi</i>, Pada windows dan Linux, Preferensi ada di bawah Menu <i>Edit</i>. Pada Macintosh, ada di menu <i>Audacity</i>. Anda bisa juga memilih perangkat rekaman di <i>Toolbar Perangkat</i>, yang bisa ditampilkan pada <i>View &gt; Toolbar...</i>. </p><p> Biasanya, Audacity memakai perangkat yang digunakan oleh sistem, (biasanya perangkat suara yang bulit-in), karenanya jarang sekali pada pengguna mengubah setting-an ini. Pada Windows, perangkat untuk sistem bisa dipilih di \"Microsoft Sound Mapper\". Jika Anda merekam dari USb eksternal atau perngkat Firewire seperti USB turntable, pilih secara terpisah dengan nama perangkat rekaman setelah dihubungkan. </p><p> Kembali ke [[record|Merekam Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>Perangkat input adalah perangkat suara fisik yang digunakan untuk merekam. Bisa dipilih di \"Perangkat Rekaman\" pada <i>tab Audio I/O pada Preferensi</i>, Pada windows dan Linux, Preferensi ada di bawah Menu <i>Edit</i>. Pada Mac, ada di menu <i>Audacity</i>. Anda bisa juga memilih perangkat rekaman di <i>Toolbar Perangkat</i>, yang bisa ditampilkan pada <i>View &gt; Toolbar...</i>. </p><p> Biasanya, Audacity memakai perangkat yang digunakan oleh sistem, (biasanya perangkat suara yang bulit-in), jadi ini sering tidak diperlukan untuk mengubah perangkat input. Pada Windows, perangkat untuk sistem bisa dipilih di \"Microsoft Sound Mapper\". Jika Anda merekam dari USB eksternal atau perangkat Firewire seperti USB turntable, pilih secara terpisah sebagai perangkat rekaman setelah dihubungkan. </p><p> Kembali ke [[record|Merekam Audio]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
@@ -1345,8 +1430,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Untuk mendengarkan pekerjaan Anda di program media, eksporkan ke file audio seperti WAV atau MP3 (beberapa format [[wma-proprietary|tidak mendukung]]). [[save|Menyimpan proyek Audacity]] akan membuat file proyek (dan berhubungan dengan folder _data) yang mengandung semua trek yang telah diedit, jadi anda bisa melanjutkannya kembali. Tetapi, program lainnya tidak bisa membaca proyek Audacity. </p><p> Untuk mengekspor, klik <i>Berkas &gt; Ekspor</i> kemudian pilih format file yang anda inginkan pada \"Save as type\". Untuk [[burncd|membakar ke CD]] untuk CD player yang tunggal, pilih WAV atau AIFF. Untuk mengekspor sebagai MP3, [[wiki:Lame_Installation|Encoder Lame]] harus sudah terinstal. </p><p> <i>Berkas &gt; Ekspor Terpilih</i> mengekspor area audio yang dipilih saja. <i>Gunakan Berkas &gt; Ekspor Multipel</i> untuk mengekspor banyak file sekaligus, baik pada setiap trek, maupun pada area-area yang ditandai pada satu trek. <i>Trek &gt; Tambahkan Label pada yang Dipilih</i> memungkinkan Anda [[wiki:Splitting_recordings_into_separate_tracks|menyederhanakan trek]] dari satu album ke beberapa file. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr "<p>Audacity <b>tidak bisa</b> [[play|memainkan]] atau [[export|mengekspor]] file ke <b>WMA, RealAudio, Shorten (SHN)</b> atau format-format berbayar lainnya, karena larangan lisensi dan paten.  Pada komputer Mac, format <b>AAC</b> yang tidak terproteksi seperti <b>M4A</b> bisa diimpor. Beberapa format open-source belum didukung, termasuk <b>Ogg Speex</b> dan <b>Musepack</b>. File yang diproteksi oleh Digital Rights Management (DRM), termasuk yang berbayar seperti dari iTunes atau Napster, <b>tidak bisa</b> diimpor.</p><p> Jika Anda tidak bisa mengimpor file Anda ke Audacity, kemudian jika itu tidak terlindungi oleh DRM, gunakan iTunes atau <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> untuk mengubahnya ke WAV atau AIFF. jika dilindungi, bakar ke CD audio pada program berlisensi untuk memainkannya, kemudian ekstrak CD ke WAV atau AIFF dengan ITunes atau (pada Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> atau Windows Media Player 11. Anda bisa juga <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">merekam</a> CD ke komputer Anda. <i>Untuk mengekspor ke format yang tidak terdukung, ekspor ke WAV atau AIFF dan ubah ke formatnya dengan iTunes atau <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p>Audacity <b>tidak bisa</b> [[play|memainkan]] atau [[export|mengekspor]] file ke <b>WMA, RealAudio, Shorten (SHN)</b> atau format-format berbayar lainnya, karena larangan lisensi dan paten.  Pada komputer Mac, format <b>AAC</b> yang tidak terproteksi seperti <b>M4A</b> bisa diimpor. Beberapa format open-source belum didukung, termasuk <b>Ogg Speex</b> dan <b>Musepack</b>. File yang diproteksi oleh Digital Rights Management (DRM), termasuk yang berbayar seperti dari iTunes atau Napster, <b>tidak bisa</b> diimpor.</p><p> Jika Anda tidak bisa mengimpor file Anda ke Audacity, kemudian jika itu tidak terlindungi oleh DRM, gunakan iTunes atau <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> untuk mengubahnya ke WAV atau AIFF. Jika dilindungi, bakar ke CD audio pada program berlisensi untuk memainkannya, kemudian ekstrak CD ke WAV atau AIFF dengan ITunes atau (pada Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> atau Windows Media Player 11. Anda bisa juga <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">merekam</a> CD ke komputer Anda. <i>Untuk mengekspor ke format yang tidak terdukung, ekspor ke WAV atau AIFF dan ubah ke formatnya dengan iTunes atau <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
@@ -1381,59 +1466,63 @@ msgid "&Discard"
 msgstr "&Larang"
 
 #: HistoryWindow.cpp:112
-#: Tags.cpp:2081
-#: Tags.cpp:2083
-#: Tags.cpp:2385
-#: Tags.cpp:2387
 #: effects/ChangeLength.cpp:186
 #: effects/SpikeCleaner.cpp:191
-#: export/ExportCL.cpp:399
+#: export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&OK"
 
-#: Internat.cpp:191
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Tidak bisa medeterminasi"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:385
+#: Internat.cpp:147
+#: import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "byte"
 
-#: Internat.cpp:197
+#: Internat.cpp:149
 msgid "KB"
 msgstr "KB"
 
-#: Internat.cpp:200
+#: Internat.cpp:152
 msgid "MB"
 msgstr "MB"
 
-#: Internat.cpp:203
+#: Internat.cpp:155
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "Nama file yang dipilih tidak bisa diubah karena penggunaan karakter Unicode."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Tentukan Nama File Baru:"
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Trek"
 
 #: LabelDialog.cpp:55
-#: Menus.cpp:4677
-#: Menus.cpp:4712
+#: Menus.cpp:4726
+#: Menus.cpp:4761
 msgid "Label"
 msgstr "Label"
 
 #: LabelDialog.cpp:56
-#: TimerRecordDialog.cpp:279
+#: TimerRecordDialog.cpp:341
 msgid "Start Time"
 msgstr "Waktu Mulai"
 
 #: LabelDialog.cpp:57
-#: TimerRecordDialog.cpp:298
+#: TimerRecordDialog.cpp:360
 msgid "End Time"
 msgstr "Waktu Selesai"
 
 #: LabelDialog.cpp:100
-#: Menus.cpp:713
+#: Menus.cpp:720
 msgid "&Edit Labels"
 msgstr "&Edit Label"
 
@@ -1458,11 +1547,13 @@ msgid "New..."
 msgstr "Baru..."
 
 #: LabelDialog.cpp:354
-msgid "You have left blank label names.  These will be\n"
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
-msgstr "Anda telah mengosongkan nama label. Ini akan\n"
+msgstr ""
+"Anda telah mengosongkan nama label. Ini akan\n"
 "dilewatkan ketika memasukkan Trek Label.\n"
 "\n"
 "Apakah Anda ingin untuk kembali dan memasukkan namanya kembali?"
@@ -1472,19 +1563,19 @@ msgid "Confirm"
 msgstr "Konfirmasi"
 
 #: LabelDialog.cpp:516
-#: Menus.cpp:4101
+#: Menus.cpp:4144
 msgid "Select a text file containing labels..."
 msgstr "Pilih file teks yang berisi label..."
 
 #: LabelDialog.cpp:520
-#: Menus.cpp:4105
+#: Menus.cpp:4148
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "File teks (*.txt)|*.txt|Semua file (*.*)|*.* "
 
 #: LabelDialog.cpp:534
-#: Menus.cpp:4117
-#: Project.cpp:1914
-#: Project.cpp:1922
+#: Menus.cpp:4160
+#: Project.cpp:2111
+#: Project.cpp:2119
 msgid "Could not open file: "
 msgstr "Tidak bisa membuka file:"
 
@@ -1493,12 +1584,12 @@ msgid "No labels to export."
 msgstr "Tidak ada label untuk diekspor."
 
 #: LabelDialog.cpp:566
-#: Menus.cpp:2518
+#: Menus.cpp:2575
 msgid "Export Labels As:"
 msgstr "Ekspor label sebagai:"
 
 #: LabelDialog.cpp:568
-#: Menus.cpp:2516
+#: Menus.cpp:2573
 msgid "labels.txt"
 msgstr "label.txt"
 
@@ -1513,7 +1604,7 @@ msgstr "Masukkan nama trek"
 #: LabelDialog.cpp:705
 #: LabelDialog.h:52
 #: LabelTrack.cpp:89
-#: Menus.cpp:632
+#: Menus.cpp:640
 msgid "&Label Track"
 msgstr "&Trek Label"
 
@@ -1525,956 +1616,953 @@ msgstr "Pengoperasian Pertama Audacity"
 msgid "Choose Language for Audacity to use:"
 msgstr "Pilih Bahasa untuk digunakan pada Audacity:"
 
-#: Legacy.cpp:356
+#: Legacy.cpp:372
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Mengubah file proyek 1.0 ke format baru.\n"
+msgstr ""
+"Mengubah file proyek 1.0 ke format baru.\n"
 "File lama telah disimpan sebagai '%s'"
 
-#: Legacy.cpp:357
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Membuka Proyek Audacity"
 
-#: Menus.cpp:194
+#: Menus.cpp:198
 msgid "&File"
 msgstr "&Berkas"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&Baru\tCtrl+N"
+#: Menus.cpp:200
+msgid "&New"
+msgstr "&Baru"
 
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "B&uka...\tCtrl+O"
+#: Menus.cpp:202
+msgid "&Open..."
+msgstr "B&uka..."
 
-#: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&Tutup\tCtrl+W"
+#: Menus.cpp:209
+msgid "&Close"
+msgstr "&Tutup"
 
-#: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&Simpan Proyek\tCtrl+S"
+#: Menus.cpp:212
+msgid "&Save Project"
+msgstr "&Simpan Proyek"
 
-#: Menus.cpp:210
-#: Project.cpp:2896
+#: Menus.cpp:216
+#: Project.cpp:3172
 msgid "Save Project &As..."
 msgstr "Simpan &Proyek Sebagai..."
 
-#: Menus.cpp:212
+#: Menus.cpp:218
 msgid "Save Compressed Copy of Project..."
 msgstr "Simpan Salinan Proyek Terkompres..."
 
-#: Menus.cpp:216
+#: Menus.cpp:222
 msgid "Chec&k Dependencies..."
 msgstr "Ce&k Ketergantungan..."
 
-#: Menus.cpp:222
+#: Menus.cpp:228
 msgid "Open Me&tadata Editor..."
 msgstr "Buka Editor M&etadata..."
 
-#: Menus.cpp:229
-#: import/ImportRaw.cpp:411
+#: Menus.cpp:235
+#: import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "&Impor"
 
-#: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio...\tCtrl+Shift+I"
+#: Menus.cpp:237
+msgid "&Audio..."
+msgstr "&Audio..."
 
-#: Menus.cpp:232
+#: Menus.cpp:238
 msgid "&Labels..."
 msgstr "&Label..."
 
-#: Menus.cpp:234
+#: Menus.cpp:240
 msgid "&MIDI..."
 msgstr "&MIDI..."
 
-#: Menus.cpp:236
+#: Menus.cpp:242
 msgid "&Raw Data..."
 msgstr "&Data Raw..."
 
-#: Menus.cpp:247
-#: Menus.cpp:282
+#: Menus.cpp:253
+#: Menus.cpp:288
 msgid "Expo&rt Selection..."
 msgstr "Eksp&or Terpilih..."
 
-#: Menus.cpp:254
+#: Menus.cpp:260
 msgid "Export &Labels..."
 msgstr "Ekspor &Label..."
 
-#: Menus.cpp:255
+#: Menus.cpp:261
 msgid "Export &Multiple..."
 msgstr "Ekspor &Multipel..."
 
-#: Menus.cpp:257
+#: Menus.cpp:263
 msgid "Export MIDI..."
 msgstr "Ekspor MIDI..."
 
-#: Menus.cpp:290
+#: Menus.cpp:296
 msgid "CleanSpeech C&hain..."
 msgstr "Sa&mbungan CleanSpeech..."
 
-#: Menus.cpp:291
-#: Menus.cpp:305
+#: Menus.cpp:297
+#: Menus.cpp:311
 msgid "Edit C&hains..."
 msgstr "Edit Sam&bungan..."
 
-#: Menus.cpp:292
+#: Menus.cpp:298
 msgid "Export CleanSpeech &Presets..."
 msgstr "Ekspor CleanSpee&ch..."
 
-#: Menus.cpp:293
+#: Menus.cpp:299
 msgid "I&mport CleanSpeech Presets..."
 msgstr "I&mpor CleamSpeech..."
 
-#: Menus.cpp:303
+#: Menus.cpp:309
 msgid "Appl&y Chain..."
 msgstr "Aplikasi&kan Sambungan..."
 
-#: Menus.cpp:310
+#: Menus.cpp:316
 msgid "&Upload File..."
 msgstr "&Upload File..."
 
-#: Menus.cpp:316
+#: Menus.cpp:322
 msgid "Pa&ge Setup..."
 msgstr "Setup &Halaman..."
 
-#: Menus.cpp:317
+#: Menus.cpp:323
 msgid "&Print..."
 msgstr "P&rint..."
 
-#: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "Ke&luar\tCtrl+Q"
+#: Menus.cpp:336
+msgid "E&xit"
+msgstr "Ke&luar"
 
-#: Menus.cpp:338
+#: Menus.cpp:344
 #: toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Edit"
 
-#: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "&Batalkan\tCtrl+Z"
+#: Menus.cpp:348
+msgid "&Undo"
+msgstr "&Batalkan"
 
-#: Menus.cpp:350
-#: prefs/KeyConfigPrefs.cpp:371
+#: Menus.cpp:356
 #: toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Lakukan Kembali"
 
-#: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "&Potong\tCtrl+X"
+#: Menus.cpp:369
+msgid "Cu&t"
+msgstr "&Potong"
 
-#: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Potong Se&kaligus\tCtrl+Alt+X"
+#: Menus.cpp:373
+msgid "Spl&it Cut"
+msgstr "Potong Se&kaligus"
 
-#: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "&Salin\tCtrl+C"
-
-#: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "&Tempel\tCtrl+V"
-
-#: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "Tri&m\tCtrl+T"
+#: Menus.cpp:374
+msgid "&Copy"
+msgstr "&Salin"
 
 #: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&Hapus\tCtrl+K"
+msgid "&Paste"
+msgstr "&Tempel"
 
-#: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "H&apus Sekaligus\tCtrl+Alt+K"
+#: Menus.cpp:382
+msgid "Tri&m"
+msgstr "Tri&m"
 
-#: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "&Diamkan Audio\tCtrl+L"
+#. i18n-hint: Labeled Regions submenu
+#: Menus.cpp:431
+#: Menus.cpp:384
+msgid "&Delete"
+msgstr "&Hapus"
 
-#: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "&Gabung\tCtrl+I"
+#: Menus.cpp:385
+msgid "Split D&elete"
+msgstr "H&apus Sekaligus"
 
-#: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Gabung yang &Baru\tCtrl+Alt+I"
+#: Menus.cpp:386
+msgid "Silence Audi&o"
+msgstr "&Diamkan Audio"
 
-#: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "&Berteman\tCtrl+J"
+#: Menus.cpp:388
+msgid "Sp&lit"
+msgstr "&Gabung"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "Membuat tugas di Diam\tCtrl+Alt+J"
+msgid "Split Ne&w"
+msgstr "Gabung yang &Baru"
+
+#. i18n-hint: Labeled Regions submenu
+#: Menus.cpp:452
+#: Menus.cpp:398
+msgid "&Join"
+msgstr "&Berteman"
 
-#: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&Gandakan\tCtrl+D"
+#. i18n-hint: Labeled Regions submenu
+#: Menus.cpp:457
+#: Menus.cpp:399
+msgid "Detac&h at Silences"
+msgstr "Membuat tugas di Diam"
 
 #: Menus.cpp:400
-#: Menus.cpp:639
+msgid "Duplic&ate"
+msgstr "&Gandakan"
+
+#: Menus.cpp:406
+#: Menus.cpp:647
 msgid "Stereo Trac&k to Mono"
 msgstr "Tre&k Stereo ke Mono"
 
-#: Menus.cpp:407
+#: Menus.cpp:413
 msgid "La&beled Regions"
 msgstr "&Wilayah Terlabel"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "&Potong\tAlt+X"
+#: Menus.cpp:415
+msgid "&Cut"
+msgstr "&Potong"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Potong Se&kaligus\tShift+Alt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Salin\tShift+Alt+C"
+#: Menus.cpp:420
+msgid "&Split Cut"
+msgstr "Potong Se&kaligus"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&Hapus\tAlt+K"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Hapus Seka&ligus\tShift+Alt+K"
+msgid "Co&py"
+msgstr "&Salin"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "Dia&m\tAlt+L"
+#: Menus.cpp:436
+msgid "Sp&lit Delete"
+msgstr "Hapus Seka&ligus"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "Ga&bung\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "Ber&teman\talt+J"
+msgid "Sile&nce"
+msgstr "Dia&m"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Membuat tugas di Diam\tShift+Alt+J"
+#: Menus.cpp:447
+msgid "Spli&t"
+msgstr "Ga&bung"
 
-#: Menus.cpp:456
+#: Menus.cpp:462
 msgid "&Select"
 msgstr "&Pilih"
 
-#: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "Se&mua\tCtrl+A"
-
-#: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Tidak Sama Sekali\tCtrl+Shift+A"
-
-#: Menus.cpp:462
-msgid "&Left at Playback Position\t["
-msgstr "Di &Kiri Posisi Kursor Trek\t["
-
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
-msgstr "Di K&anan Posisi Kursor Trek\t]"
+msgid "&All"
+msgstr "Se&mua"
 
-#: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "&Awal Trek ke Kursor\tShift+J"
+#: Menus.cpp:464
+msgid "&None"
+msgstr "&Tidak Sama Sekali"
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr "&Kursor ke akhir trek\tShift+K"
+msgid "&Left at Playback Position"
+msgstr "Di &Kiri Posisi Kursor Trek"
+
+#: Menus.cpp:469
+msgid "&Right at Playback Position"
+msgstr "Di K&anan Posisi Kursor Trek"
+
+#: Menus.cpp:473
+msgid "Track &Start to Cursor"
+msgstr "&Awal Trek ke Kursor"
 
 #: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "Cari Crossing Kosong\tZ"
+msgid "Cursor to Track &End"
+msgstr "&Kursor ke akhir trek"
 
-#: Menus.cpp:476
+#: Menus.cpp:480
+msgid "Find &Zero Crossings"
+msgstr "Cari Crossing Kosong"
+
+#: Menus.cpp:483
 msgid "Mo&ve Cursor"
 msgstr "Pin&dahkan Kursor"
 
-#: Menus.cpp:478
+#: Menus.cpp:485
 msgid "to Selection Star&t"
 msgstr "ke A&walan yang dipilih"
 
-#: Menus.cpp:479
+#: Menus.cpp:486
 msgid "to Selection En&d"
 msgstr "ke A&khiran yang Dipilih"
 
-#: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "ke &Awal Trek\tJ"
-
-#: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "ke Ak&hir Trek\tK"
+#: Menus.cpp:490
+msgid "to Track &Start"
+msgstr "ke &Awal Trek"
 
 #: Menus.cpp:491
+msgid "to Track &End"
+msgstr "ke Ak&hir Trek"
+
+#: Menus.cpp:498
 msgid "Re&gion Save"
 msgstr "&Wilayah Penyimpanan"
 
-#: Menus.cpp:492
+#: Menus.cpp:499
 msgid "Regio&n Restore"
 msgstr "Wila&yah Pengembalian"
 
-#: Menus.cpp:503
+#: Menus.cpp:510
 msgid "Pla&y Region"
 msgstr "Mai&nkan Wilayah"
 
-#: Menus.cpp:504
+#: Menus.cpp:511
 msgid "&Lock"
 msgstr "&Kunci"
 
-#: Menus.cpp:505
+#: Menus.cpp:512
 msgid "&Unlock"
 msgstr "&Buka Kunci"
 
-#: Menus.cpp:511
+#: Menus.cpp:518
 msgid "Turn Snap-To On"
 msgstr "&Hidupkan Snap-To"
 
-#: Menus.cpp:512
+#: Menus.cpp:519
 msgid "Turn Snap-To Off"
 msgstr "&Matikan Snap-To"
 
-#: Menus.cpp:513
+#: Menus.cpp:520
 msgid "Turn Grid Snap On"
 msgstr "H&idupkan Grid Snap"
 
-#: Menus.cpp:514
+#: Menus.cpp:521
 msgid "Turn Grid Snap Off"
 msgstr "M&atikan Grid Snap"
 
 #. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "Pre&ferensi...\tCtrl+,"
+#: Menus.cpp:526
+#: Menus.cpp:530
+msgid "Pre&ferences..."
+msgstr "Pre&ferensi..."
 
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "Pre&ferensi...\tCtrl+P"
-
-#: Menus.cpp:533
+#: Menus.cpp:540
 msgid "&View"
 msgstr "&Lihat"
 
-#: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "Per&besar\tCtrl+1"
+#: Menus.cpp:542
+msgid "Zoom &In"
+msgstr "Per&besar"
 
-#: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normal\tCtrl+2"
+#: Menus.cpp:545
+msgid "Zoom &Normal"
+msgstr "&Normal"
 
-#: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Per&kecil\tCtrl+3"
+#: Menus.cpp:546
+msgid "Zoom &Out"
+msgstr "Per&kecil"
 
-#: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Samakan Dengan Jendela\tCtrl+F"
+#: Menus.cpp:549
+msgid "&Fit in Window"
+msgstr "&Samakan Dengan Jendela"
 
-#: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Samakan Secara &Vertikal\tCtrl+Shift+F"
+#: Menus.cpp:550
+msgid "Fit &Vertically"
+msgstr "Samakan Secara &Vertikal"
 
-#: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Perbesar Ter&pilih\tCtrl+E"
+#: Menus.cpp:551
+msgid "&Zoom to Selection"
+msgstr "Perbesar Ter&pilih"
 
-#: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Sederhanakan Semua Trek\tCtrl+Shift+C"
+#: Menus.cpp:554
+msgid "&Collapse All Tracks"
+msgstr "&Sederhanakan Semua Trek"
 
-#: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Seba&rkan Semua Trek\tCtrl+Shift+X"
+#: Menus.cpp:555
+msgid "E&xpand All Tracks"
+msgstr "Seba&rkan Semua Trek"
 
-#: Menus.cpp:551
+#: Menus.cpp:558
 msgid "&Show Clipping"
 msgstr "&Lihat Clipping"
 
-#: Menus.cpp:560
+#: Menus.cpp:567
 msgid "&History..."
 msgstr "&History..."
 
-#: Menus.cpp:566
+#: Menus.cpp:573
 msgid "&Toolbars"
 msgstr "&Toolbar"
 
-#: Menus.cpp:567
+#: Menus.cpp:574
 msgid "&Control Toolbar"
 msgstr "Toolbar &Kontrol"
 
-#: Menus.cpp:568
+#: Menus.cpp:575
 msgid "&Device Toolbar"
 msgstr "Toolbar &Perangkat"
 
-#: Menus.cpp:569
+#: Menus.cpp:576
 msgid "&Edit Toolbar"
 msgstr "Toolbar &Edit"
 
-#: Menus.cpp:570
+#: Menus.cpp:577
 msgid "&Meter Toolbar"
 msgstr "Toolbar &Meter"
 
-#: Menus.cpp:571
+#: Menus.cpp:578
 msgid "Mi&xer Toolbar"
 msgstr "Toolbar Mi&xer"
 
-#: Menus.cpp:572
+#: Menus.cpp:579
 msgid "&Selection Toolbar"
 msgstr "Toolbar &Terpilih"
 
-#: Menus.cpp:573
+#: Menus.cpp:580
 msgid "T&ools Toolbar"
 msgstr "Toolbar Per&alatan"
 
-#: Menus.cpp:574
+#: Menus.cpp:581
 msgid "Transcri&ption Toolbar"
 msgstr "Toolbar Transkri&psi"
 
-#: Menus.cpp:576
+#: Menus.cpp:583
 msgid "&Reset Toolbars"
 msgstr "&Kembalikan Toolbar"
 
-#: Menus.cpp:578
+#: Menus.cpp:586
 msgid "!Simplified View"
 msgstr "!Lihat Sederhana"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:595
 msgid "T&ransport"
 msgstr "T&ransportasi"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: Menus.cpp:597
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "Play"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+#: Menus.cpp:599
+msgid "&Loop Play"
+msgstr "Maikan Be&rkali-kali"
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "&Pause\tP"
+#: Menus.cpp:601
+msgid "&Pause"
+msgstr "&Pause"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+#: Menus.cpp:602
+msgid "&Stop"
+msgstr "&Berhenti"
 
-#: Menus.cpp:595
-#: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "Langsung ke Awal\tHome"
+#: Menus.cpp:603
+#: toolbars/ControlToolBar.cpp:186
+msgid "Skip to Start"
+msgstr "Langsung ke Awal"
 
-#: Menus.cpp:597
-#: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "Langsung ke akhir\tEnd"
+#: Menus.cpp:605
+#: toolbars/ControlToolBar.cpp:189
+msgid "Skip to End"
+msgstr "Langsung ke akhir"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "&Rekam\tR"
+#: Menus.cpp:608
+msgid "&Record"
+msgstr "&Rekam"
 
-#: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr "Pen&catat waktu rekaman...\tShift+T"
+#: Menus.cpp:610
+msgid "&Timer Record..."
+msgstr "Pen&catat waktu rekaman..."
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr "Tambah Rekaman\tShift+R"
+#: Menus.cpp:612
+msgid "Append Record"
+msgstr "Tambah Rekaman"
 
-#: Menus.cpp:607
+#: Menus.cpp:615
 msgid "Overdub (on/off)"
 msgstr "Overdub (nyala/mati)"
 
-#: Menus.cpp:609
+#: Menus.cpp:617
 msgid "Software Playthrough (on/off)"
 msgstr "Selama bermainpada software (nyala/mati)"
 
-#: Menus.cpp:612
+#: Menus.cpp:620
 msgid "Sound Activated Recording (on/off)"
 msgstr "Merekam dengan Suara Diaktifkan (nyala/mati)"
 
-#: Menus.cpp:614
+#: Menus.cpp:622
 msgid "Sound Activation Level..."
 msgstr "Level Pengaktifan Suara..."
 
-#: Menus.cpp:622
+#: Menus.cpp:630
 msgid "&Tracks"
 msgstr "&Trek"
 
-#: Menus.cpp:629
+#: Menus.cpp:637
 msgid "Add &New"
 msgstr "Add &New"
 
-#: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Trek &Audio\tCtrl+Shift+N"
+#: Menus.cpp:638
+msgid "&Audio Track"
+msgstr "Trek &Audio"
 
-#: Menus.cpp:631
+#: Menus.cpp:639
 msgid "&Stereo Track"
 msgstr "Trek &Stereo"
 
-#: Menus.cpp:633
+#: Menus.cpp:641
 #: TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Trek &Waktu"
 
-#: Menus.cpp:643
+#: Menus.cpp:651
 msgid "Mi&x and Render"
 msgstr "Mi&x dan Render"
 
-#: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mix dan Render ke Trek Baru\tCtrl+Shift+M"
+#: Menus.cpp:655
+msgid "Mix and Render to New Track"
+msgstr "Mix dan Render ke Trek Baru"
 
-#: Menus.cpp:651
+#: Menus.cpp:659
 msgid "&Resample..."
 msgstr "&Sampel Ulang..."
 
-#: Menus.cpp:661
+#: Menus.cpp:669
 msgid "Remo&ve Tracks"
 msgstr "&Buang Trek"
 
-#: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Diamkan Semua Trek\tCtrl+U"
+#: Menus.cpp:675
+msgid "&Mute All Tracks"
+msgstr "&Diamkan Semua Trek"
 
-#: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Matikan Diam ke Semua Trek\tCtrl+Shift+U"
+#: Menus.cpp:676
+msgid "&UnMute All Tracks"
+msgstr "&Matikan Diam ke Semua Trek"
 
-#: Menus.cpp:672
+#: Menus.cpp:680
 msgid "Align with &Zero"
 msgstr "Ratakan dengan &Nol"
 
-#: Menus.cpp:673
+#: Menus.cpp:681
 msgid "Align with &Cursor"
 msgstr "Ratakan dengan &Kursor"
 
-#: Menus.cpp:674
+#: Menus.cpp:682
 msgid "Align with Selection &Start"
 msgstr "Ratakan dengan &Awalan yang Terpilih"
 
-#: Menus.cpp:675
+#: Menus.cpp:683
 msgid "Align with Selection &End"
 msgstr "Ratakan dengan A&khiran yang Terpilih"
 
-#: Menus.cpp:676
+#: Menus.cpp:684
 msgid "Align End with Cu&rsor"
 msgstr "Ratakan Akhir dengan Ku&rsor"
 
-#: Menus.cpp:677
+#: Menus.cpp:685
 msgid "Align End with Selection Star&t"
 msgstr "Ra&takan Akhir dengan Awal di Pilihan"
 
-#: Menus.cpp:678
+#: Menus.cpp:686
 msgid "Align End with Selection En&d"
 msgstr "Ratakan Akhir &dengan Akhir di Pilihan"
 
-#: Menus.cpp:679
+#: Menus.cpp:687
 msgid "Align Tracks To&gether"
 msgstr "Ratakan Trek Bersa&ma-sama"
 
-#: Menus.cpp:681
+#: Menus.cpp:689
 msgid "&Align Tracks"
 msgstr "&Ratakan Trek"
 
-#: Menus.cpp:690
+#: Menus.cpp:698
 msgid "Ali&gn and Move Cursor"
 msgstr "Ratakan dan P&indahan Kursor"
 
-#: Menus.cpp:697
+#: Menus.cpp:705
 msgid "Synchronize MIDI with Audio"
 msgstr "Sinkronkan MIDI dengan Audio"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr "Link Audio dan Label"
+#: Menus.cpp:713
+msgid "&Link Audio and Label Tracks"
+msgstr "&Link Audio dan Trek Label"
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Tambahkan &Label Pada Pilihan\tCtrl+B"
+#: Menus.cpp:716
+msgid "Add Label At &Selection"
+msgstr "Tambahkan Label Pada &Pilihan"
 
-#: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Tambahkan Label Pada &Posisi Kursor\tCtrl+M"
+#: Menus.cpp:717
+msgid "Add Label At &Playback Position"
+msgstr "Tambahkan Label Pada &Posisi Kursor"
 
-#: Menus.cpp:716
+#: Menus.cpp:723
 msgid "S&ort tracks"
 msgstr "U&rutkan trek"
 
-#: Menus.cpp:717
+#: Menus.cpp:724
 msgid "by &Start time"
 msgstr "dari &Waktu awal"
 
-#: Menus.cpp:719
+#: Menus.cpp:726
 msgid "by &Name"
 msgstr "dari &Nama"
 
-#: Menus.cpp:730
+#: Menus.cpp:737
 msgid "&Generate"
 msgstr "&Buat"
 
-#: Menus.cpp:776
-#: Menus.cpp:860
-#: Menus.cpp:922
+#: Menus.cpp:783
+#: Menus.cpp:867
+#: Menus.cpp:933
 msgid "Unsorted"
 msgstr "Tidak berurut"
 
-#: Menus.cpp:795
+#: Menus.cpp:802
 msgid "Effe&ct"
 msgstr "E&fek"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Ulangi Efek Terakhir\tCtrl+R"
-
-#: Menus.cpp:877
+#: Menus.cpp:884
 msgid "&Analyze"
 msgstr "&Analisa"
 
-#: Menus.cpp:879
+#: Menus.cpp:885
+msgid "Contrast..."
+msgstr "Kontras..."
+
+#: Menus.cpp:890
 msgid "Plot Spectrum..."
 msgstr "Spektrum Plot..."
 
-#: Menus.cpp:947
-#: Menus.cpp:950
+#: Menus.cpp:952
+#: Menus.cpp:955
 msgid "&Help"
 msgstr "&Bantuan"
 
-#: Menus.cpp:953
+#: Menus.cpp:958
 msgid "&About Audacity CleanSpeech..."
 msgstr "&Tentang Audacity CleamSpeech..."
 
-#: Menus.cpp:957
+#: Menus.cpp:962
 msgid "&Show Welcome Message..."
 msgstr "&Tampilkan Pesan Awal..."
 
-#: Menus.cpp:958
+#: Menus.cpp:963
 msgid "&Index..."
 msgstr "&Indeks..."
 
-#: Menus.cpp:959
+#: Menus.cpp:964
 msgid "Show &Log..."
 msgstr "Tunjukkan &Log..."
 
-#: Menus.cpp:967
+#: Menus.cpp:969
 msgid "&Screenshot Tools..."
 msgstr "&Alat Screenshot..."
 
-#: Menus.cpp:970
+#: Menus.cpp:972
 msgid "&Run Benchmark..."
 msgstr "&Jalankan Benchmark..."
 
-#: Menus.cpp:972
+#: Menus.cpp:975
 msgid "&Audio Device Info..."
 msgstr "&Info Perangkat Audio..."
 
 #: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
+msgid "Move backward from toolbars to tracks"
+msgstr "Maju ke belakang dari toolbar ke Trek"
 
 #: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
-
-#: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "Alat Pemilihan\tF1"
-
-#: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "Alat Envelop\tF2"
+msgid "Move forward from toolbars to tracks"
+msgstr "Maju ke depan dari toolbar ke Trek"
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "Alat Menggambar\tF3"
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:182
+msgid "Selection Tool"
+msgstr "Alat Pemilihan"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "Alat Memperbesar\tF4"
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:183
+msgid "Envelope Tool"
+msgstr "Alat Envelop"
 
 #: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "Alat Menyingkat Waktu\tF5"
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:184
+msgid "Draw Tool"
+msgstr "Alat Menggambar"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "Alat Multifungsi\tF6"
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:185
+msgid "Zoom Tool"
+msgstr "Alat Memperbesar"
 
-#: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "Alat Selanjutnya\tD"
+#: Menus.cpp:991
+#: toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Alat Menyingkat Waktu"
 
-#: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "Alat Sebelumnya\tA"
+#: Menus.cpp:992
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Multi Tool"
+msgstr "Alat Multifungsi"
 
-#: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
+#: Menus.cpp:994
+msgid "Next Tool"
+msgstr "Alat Selanjutnya"
 
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "Berhenti\tS"
+#: Menus.cpp:995
+msgid "Previous Tool"
+msgstr "Alat Sebelumnya"
 
 #: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "Pause\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "Rekam\tR"
+msgid "Play/Stop"
+msgstr "Mulai/Berhenti"
 
 #: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr "Penambahan Rekaman\tShift+R"
+msgid "Play/Stop and Set Cursor"
+msgstr "Main/Berhenti dan Atur Kursor"
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Main/Berhenti dan Atur Kursor\tShift+A"
+msgid "Play One Second"
+msgstr "Mainkan Satu Detik"
+
+#: Menus.cpp:1002
+msgid "Play To Selection"
+msgstr "Mainkan ke yang dipilih"
 
-#: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "Mainkan Satu Detik\t1"
+#: Menus.cpp:1003
+msgid "Play Cut Preview"
+msgstr "Mainkan Preview POtongan"
 
 #: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "Mainkan ke yang dipilih\tB"
+msgid "Selection to Start"
+msgstr "Pilih ke Awal"
 
 #: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "Maikan berulang\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Selection to End"
+msgstr "Pilih ke Akhir"
 
 #: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "Mainkan Preview POtongan\tC"
+msgid "DeleteKey"
+msgstr "KunciHapus"
 
 #: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "Pilih ke Awal\tShift+Home"
+msgid "DeleteKey2"
+msgstr "KunciHapus2"
 
-#: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "Pilih ke Akhir\tShift+End"
+#: Menus.cpp:1019
+msgid "Short seek left during playback"
+msgstr "Coba periode pendek di kiri selama bermain"
 
-#: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "KunciHapus\tBackspace"
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
+msgstr "Coba periode pendek di kanan selama bermain"
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "KunciHapus2\tDelete"
+msgid "Long seek left during playback"
+msgstr "Coba periode panjang di kiri selama bermain"
+
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
+msgstr "Coba periode panjang di kanan selama bermain"
+
+#: Menus.cpp:1026
+msgid "Move Focus to Previous Track"
+msgstr "Pindahkan Fokus ke Trek Sebelumnya"
 
 #: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
-msgstr "Coba periode pendek di kiri selama bermain\tLeft"
+msgid "Move Focus to Previous and Select"
+msgstr "Pindahkan Fokus ke Trek Sebelumnya dan Pilih"
 
 #: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
-msgstr "Coba periode pendek di kanan selama bermain\tRight"
+msgid "Move Focus to Next Track"
+msgstr "Pindahkan Fokus ke Trek Selanjutnya"
 
 #: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Coba periode panjang di kiri selama bermain\tShift+Left"
+msgid "Move Focus to Next and Select"
+msgstr "Pindahkan Fokus ke Trek Selanjutnya dan Pilih"
 
 #: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Coba periode panjang di kanan selama bermain\tShift+Right"
+#: Menus.cpp:1031
+msgid "Toggle Focused Track"
+msgstr "Fokuskan ke Trek Terpilih"
+
+#: Menus.cpp:1033
+msgid "Cursor Left"
+msgstr "Kursor Kiri"
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Pindahkan Fokus ke Trek Sebelumnya\tUp"
+msgid "Cursor Right"
+msgstr "Kursor Kanan"
 
 #: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Pindahkan Fokus ke Trek Sebelumnya dan ubah pilihannya\tShift+Up"
+msgid "Cursor Short Jump Left"
+msgstr "Kursor Kiri Lompatan Rendah"
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "Pindahkan Fokus ke Trek Selanjutnya\tDown"
+msgid "Cursor Short Jump Right"
+msgstr "Kursor Kiri Lompatan Rendah"
 
 #: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Pindahkan Fokus ke Trek Selanjutnya dan ubah pilihannya\tShift+Down"
+msgid "Cursor Long Jump Left"
+msgstr "Kursor Kiri Lompatan Tinggi"
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "Fokuskan ke Trek Terpilih\tReturn"
-
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Fokuskan ke Trek Terpilih\tNUMPAD_ENTER"
+msgid "Cursor Long Jump Right"
+msgstr "Kursor Kanan Lompatan Tinggi"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+#: Menus.cpp:1040
+msgid "Selection Extend Left"
+msgstr "Pilih yang tidak dipilih di Kiri"
 
-#: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "Kursor Kiri\tLeft"
+#: Menus.cpp:1041
+msgid "Selection Extend Right"
+msgstr "Pilih yang tidak dipilih di Kanan"
 
 #: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "Kursor Kanan\tRight"
+msgid "Set (or Extend) Left Selection"
+msgstr "Atur (atau Mengecualikan) Yang Terpilih di Kiri"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
-msgstr "Kursor Kiri Lompatan Rendah\t,"
-
-#: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
-msgstr "Kursor Kiri Lompatan Rendah\t."
+msgid "Set (or Extend) Right Selection"
+msgstr "Atur (atau Mengecualikan) Yang Terpilih di Kanan"
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Kursor Kiri Lompatan Tinggi\tShift+,"
+msgid "Selection Contract Left"
+msgstr "Pilih yang di Kiri"
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Kursor Kanan Lompatan Tinggi\tShift+."
+msgid "Selection Contract Right"
+msgstr "Pilih yang di Kanan"
 
 #: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Pilih yang tidak dipilih di Kiri\tShift+Left"
+msgid "Change pan on focused track"
+msgstr "Ubah pan pada trek terfokus"
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Pilih yang tidak dipilih di Kanan\tShift+Right"
+msgid "Pan left on focused track"
+msgstr "Pan-kan di kiri trek terfokus"
+
+#: Menus.cpp:1051
+msgid "Pan right on focused track"
+msgstr "Pan-kan di kanan trek terfokus"
 
 #: Menus.cpp:1052
-msgid "Set (or Extend) Left Selection"
-msgstr "Atur (atau Mengecualikan) Yang Terpilih di Kiri"
+msgid "Change gain on focused track"
+msgstr "Ubah kekuatan pada trek yang terfokus"
 
 #: Menus.cpp:1053
-msgid "Set (or Extend) Right Selection"
-msgstr "Atur (atau Mengecualikan) Yang Terpilih di Kanan"
+msgid "Increase gain on focused track"
+msgstr "Tingkatkan kekuatan pada trek yang difokuskan"
+
+#: Menus.cpp:1054
+msgid "Decrease gain on focused track"
+msgstr "Turunkan kekuatan pada trek yang difokuskan"
 
 #: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Pilih yang di Kiri\tCtrl+Shift+Right"
+msgid "Open menu on focused track"
+msgstr "Buka menu pada trek yang terfokus"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Pilih yang di Kanan\tCtrl+Shift+Left"
+msgid "Mute/Unmute focused track"
+msgstr "Diam/Hidupkan suara trek yang terfokus"
 
-#: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
-msgstr "Ubah pan pada trek terfokus\tShift+P"
+#: Menus.cpp:1057
+msgid "Solo/Unsolo focused track"
+msgstr "Solo/Jangan solo trek yang terfokus"
 
-#: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Pan-kan di kiri trek terfokus\tAlt+Shift+Left"
+#: Menus.cpp:1058
+msgid "Close focused track"
+msgstr "Tutup trek yang terfokus"
 
 #: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Pan-kan di kanan trek terfokus\tAlt+Shift+Left"
+msgid "Snap To On"
+msgstr "Hidupkan Patokan"
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
-msgstr "Ubah kekuatan pada trek yang terfokus\tShift+G"
+msgid "Snap To Off"
+msgstr "Matikankan Patokan"
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Tingkatkan kekuatan pada trek yang difokuskan\tAlt+Shift+Up"
-
-#: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Turunkan kekuatan pada trek yang difokuskan\tAlt+Shift+Down"
-
-#: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "Buka menu pada trek yang terfokus\tShift+M"
-
-#: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Diam/Hidupkan suara trek yang terfokus\tShift+U"
+msgid "Full screen on/off"
+msgstr "Layar penuh hidup/mati"
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Solo/Jangan solo trek yang terfokus\tShift+5"
+msgid "Adjust output gain"
+msgstr "Ubah kekuatan output"
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "Tutup trek yang terfokus\tShift+C"
+msgid "Increase output gain"
+msgstr "Naikkan kekuatan output"
+
+#: Menus.cpp:1068
+msgid "Decrease output gain"
+msgstr "Turunkan kekuatan output"
 
 #: Menus.cpp:1069
-msgid "Snap To On"
-msgstr "Hidupkan Patokan"
+msgid "Adjust input gain"
+msgstr "Ubah kekuatan imput"
 
 #: Menus.cpp:1070
-msgid "Snap To Off"
-msgstr "Matikankan Patokan"
+msgid "Increase input gain"
+msgstr "Naikkan kekuatan input"
+
+#: Menus.cpp:1071
+msgid "Decrease input gain"
+msgstr "Turunkan kekuatan input"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
-msgstr ""
+msgid "Adjust input source"
+msgstr "Ubah Sumber Input"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:1157
+#: Menus.cpp:1159
 msgid "Open Recent"
 msgstr "Buka yang Sebelumnya"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1160
+#: Menus.cpp:1162
 msgid "Recent &Files"
 msgstr "&File Sebelumnya"
 
-#: Menus.cpp:1209
+#: Menus.cpp:1180
 #, c-format
 msgid "&Undo %s"
 msgstr "&Batalkan %s"
 
-#: Menus.cpp:1235
+#: Menus.cpp:1206
 msgid "Can't Undo"
 msgstr "Tidak Dapat Membatalkan"
 
-#: Menus.cpp:1244
+#: Menus.cpp:1215
 #, c-format
 msgid "&Redo %s"
 msgstr "&Ulang %s"
 
-#: Menus.cpp:1250
+#: Menus.cpp:1221
 msgid "Can't Redo"
 msgstr "Tidak Dapat Mengulang"
 
-#: Menus.cpp:1856
+#: Menus.cpp:1855
 msgid "Sort By Time"
 msgstr "Urutkan dari waktu"
 
-#: Menus.cpp:1856
+#: Menus.cpp:1855
 msgid "Tracks sorted by time"
 msgstr "Trek diurut bedasarkan waktu"
 
-#: Menus.cpp:1882
+#: Menus.cpp:1881
 msgid "Sort By Name"
 msgstr "Urutkan dari Nama"
 
-#: Menus.cpp:1882
+#: Menus.cpp:1881
 msgid "Tracks sorted by name"
 msgstr "Trek diurut bedasarkan nama"
 
-#: Menus.cpp:2033
+#: Menus.cpp:2032
 msgid "Set Left Selection Bound"
 msgstr "Atur Batas Terpilih Kiri"
 
@@ -2482,447 +2570,441 @@ msgstr "Atur Batas Terpilih Kiri"
 msgid "Set Right Selection Bound"
 msgstr "Atur Batas Terpilih Kanan"
 
-#: Menus.cpp:2337
+#: Menus.cpp:2393
 msgid "You must select a track first."
 msgstr "Anda harus pilih trek terlebih dahulu"
 
-#: Menus.cpp:2369
+#: Menus.cpp:2428
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Ulangi %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Ulangi %s"
 
-#: Menus.cpp:2512
+#: Menus.cpp:2569
 msgid "There are no label tracks to export."
 msgstr "Tidak ada label yang diekspor"
 
-#: Menus.cpp:2607
+#: Menus.cpp:2664
 msgid "Export MIDI As:"
 msgstr "Ekspor MIDI Sebagai:"
 
-#: Menus.cpp:2611
+#: Menus.cpp:2668
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "File MIDI (*.mid)|*.mid|File Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2643
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2700
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
-msgstr "Anda memilih nama file yang ekstensinya tidak bisa dibaca.\n"
+msgstr ""
+"Anda memilih nama file yang ekstensinya tidak bisa dibaca.\n"
 " Anda ingin meneruskan?"
 
-#: Menus.cpp:2644
+#: Menus.cpp:2701
 msgid "Export MIDI"
 msgstr "Ekspor MIDI"
 
-#: Menus.cpp:2702
+#: Menus.cpp:2781
 msgid "Nothing to undo"
 msgstr "Tidak mungkin membatalkan"
 
-#: Menus.cpp:2722
+#: Menus.cpp:2802
 msgid "Nothing to redo"
 msgstr "Tidak mungkin melakukan kembali"
 
-#: Menus.cpp:2809
-#: TrackPanel.cpp:596
+#: Menus.cpp:2909
+#: TrackPanel.cpp:661
 #: toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Potong"
 
-#: Menus.cpp:2809
+#: Menus.cpp:2909
 msgid "Cut to the clipboard"
 msgstr "Potong ke Clipboard"
 
-#: Menus.cpp:2849
+#: Menus.cpp:2948
 msgid "Split Cut"
 msgstr "Potong Sekaligus"
 
-#: Menus.cpp:2849
+#: Menus.cpp:2948
 msgid "Split-cut to the clipboard"
 msgstr "Potong sekaligus ke clipboard"
 
-#: Menus.cpp:2914
-#: Menus.cpp:2986
-#: Menus.cpp:3178
-#: TrackPanel.cpp:598
+#: Menus.cpp:3013
+#: Menus.cpp:3086
+#: Menus.cpp:3285
+#: TrackPanel.cpp:663
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Tempel"
 
-#: Menus.cpp:2914
+#: Menus.cpp:3013
 msgid "Pasted text from the clipboard"
 msgstr "Teks ditempel dari clipboard"
 
-#: Menus.cpp:2986
-#: Menus.cpp:3178
+#: Menus.cpp:3086
+#: Menus.cpp:3285
 msgid "Pasted from the clipboard"
 msgstr "Ditempel dari clipboard"
 
-#: Menus.cpp:3052
+#: Menus.cpp:3154
 msgid "Pasting one type of track into another is not allowed."
 msgstr "Menempelkan satu tipe audio ke tipe lainnya tidak diperbolehkan."
 
-#: Menus.cpp:3064
+#: Menus.cpp:3166
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Menyalin auido stereo ke trek mono tidak diperbolehkan."
 
-#: Menus.cpp:3214
+#: Menus.cpp:3321
 #: toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Gabung"
 
-#: Menus.cpp:3214
+#: Menus.cpp:3321
 msgid "Trim file to selection"
 msgstr "Trim file ke bagian terpilih"
 
-#: Menus.cpp:3243
+#: Menus.cpp:3350
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Dihapus sekaligus %.2f detik pada t=%.2f"
 
-#: Menus.cpp:3246
+#: Menus.cpp:3353
 msgid "Split Delete"
 msgstr "Hapus Sekaligus"
 
-#: Menus.cpp:3267
+#: Menus.cpp:3374
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Berpisah %.2f detik pada t=%.2f"
 
-#: Menus.cpp:3270
+#: Menus.cpp:3377
 msgid "Disjoin"
 msgstr "Pisah"
 
-#: Menus.cpp:3291
+#: Menus.cpp:3398
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Bergabung %.2f detik pada t=%.2f"
 
-#: Menus.cpp:3294
+#: Menus.cpp:3401
 msgid "Join"
 msgstr "Pasangkan"
 
-#: Menus.cpp:3313
+#: Menus.cpp:3420
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Telah didiamkan trek terpilih pada %.2f seconds at %.2f"
 
-#: Menus.cpp:3315
+#: Menus.cpp:3422
 #: toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Diam"
 
-#: Menus.cpp:3349
+#: Menus.cpp:3452
 msgid "Duplicate"
 msgstr "Duplikatkan"
 
-#: Menus.cpp:3349
+#: Menus.cpp:3452
 msgid "Duplicated"
 msgstr "Terduplikat"
 
-#: Menus.cpp:3368
+#: Menus.cpp:3471
 msgid "Cut Labels"
 msgstr "Potong Label"
 
-#: Menus.cpp:3368
+#: Menus.cpp:3471
 msgid "Cut labeled regions to the clipboard"
 msgstr "Potong wilayah berlabel ke clipboard"
 
-#: Menus.cpp:3382
+#: Menus.cpp:3485
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Potong Sekaligus wilayah berlabel ke clipboard"
 
-#: Menus.cpp:3383
+#: Menus.cpp:3486
 msgid "Split Cut Labels"
 msgstr "Potong Sekaligus Label"
 
-#: Menus.cpp:3397
+#: Menus.cpp:3500
 msgid "Copied labeled regions to the clipboard"
 msgstr "Salin wilayah berlabel ke clipboard"
 
-#: Menus.cpp:3397
+#: Menus.cpp:3500
 msgid "Copy Labels"
 msgstr "Salin Label"
 
-#: Menus.cpp:3409
+#: Menus.cpp:3512
 msgid "Delete Labels"
 msgstr "Hapus Label"
 
-#: Menus.cpp:3409
+#: Menus.cpp:3512
 msgid "Deleted labeled regions"
 msgstr "Wilayah berlabel dihapus"
 
-#: Menus.cpp:3421
+#: Menus.cpp:3524
 msgid "Split Delete Labels"
 msgstr "Hapus Sekaligus Label"
 
-#: Menus.cpp:3421
+#: Menus.cpp:3524
 msgid "Split Deleted labeled regions"
 msgstr "Hapus Sekaligus wilayah berlabel"
 
-#: Menus.cpp:3433
+#: Menus.cpp:3536
 msgid "Silence Labels"
 msgstr "Label Diam"
 
-#: Menus.cpp:3433
+#: Menus.cpp:3536
 msgid "Silenced labeled regions"
 msgstr "Wilayah berlabel didiamkan"
 
-#: Menus.cpp:3445
+#: Menus.cpp:3548
 msgid "Split Labels"
 msgstr "Labelkan Sekaligus"
 
-#: Menus.cpp:3445
+#: Menus.cpp:3548
 msgid "Split labeled regions"
 msgstr "Sekaliguskan wilayah berlabel"
 
-#: Menus.cpp:3457
+#: Menus.cpp:3560
 msgid "Join Labels"
 msgstr "Gabungkan Label"
 
-#: Menus.cpp:3457
+#: Menus.cpp:3560
 msgid "Joined labeled regions"
 msgstr "Wilayah berlabel digabung"
 
-#: Menus.cpp:3469
+#: Menus.cpp:3572
 msgid "Disjoin Labels"
 msgstr "Pisahkan Label"
 
-#: Menus.cpp:3469
+#: Menus.cpp:3572
 msgid "Disjoined labeled regions"
 msgstr "Wilayah berlabel dipisahkan"
 
-#: Menus.cpp:3491
-#: TrackPanel.cpp:6134
+#: Menus.cpp:3594
+#: TrackPanel.cpp:6245
 msgid "Split"
 msgstr "Sekaligus"
 
-#: Menus.cpp:3585
+#: Menus.cpp:3683
 msgid "Split New"
 msgstr "Perbaharui sekaligus"
 
-#: Menus.cpp:3585
+#: Menus.cpp:3683
 msgid "Split to new track"
 msgstr "Sekaliguskan ke trek baru"
 
-#: Menus.cpp:3668
+#: Menus.cpp:3765
 msgid "Split at labels"
 msgstr "Sekaliguskan pada label"
 
-#: Menus.cpp:3969
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Untuk memplot spektrum, semua trek yang dipilih harus mempunyai rate sampel yang sama."
-
-#: Menus.cpp:3995
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Terlalu banyak yang dipilih. Hanya awal %.1f detik audio yang akan dianalisis."
-
-#: Menus.cpp:4130
+#: Menus.cpp:4173
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Diimpor label dari '%s'"
 
-#: Menus.cpp:4131
+#: Menus.cpp:4174
 msgid "Import Labels"
 msgstr "Impor label"
 
-#: Menus.cpp:4142
+#: Menus.cpp:4185
 msgid "Select a MIDI file..."
 msgstr "Pilih file MIDI..."
 
-#: Menus.cpp:4146
+#: Menus.cpp:4189
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
 msgstr "File MIDI dan Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|File MIDI (*.mid;*.midi)|*.mid;*.midi|File Allegro (*.gro)|*.gro|Semua file (*.*)|*.*"
 
-#: Menus.cpp:4162
+#: Menus.cpp:4205
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "MIDI diimpor dari '%s'"
 
-#: Menus.cpp:4163
+#: Menus.cpp:4206
 msgid "Import MIDI"
 msgstr "Impor MIDI"
 
-#: Menus.cpp:4177
+#: Menus.cpp:4220
 msgid "Select any uncompressed audio file..."
 msgstr "Pilih file audio tanpa kompresi apa saja..."
 
-#: Menus.cpp:4181
+#: Menus.cpp:4224
 msgid "All files (*)|*"
 msgstr "Semua File (*)|*"
 
-#: Menus.cpp:4205
+#: Menus.cpp:4248
 msgid "Edit the metadata tags"
 msgstr "Edit tag metadata"
 
-#: Menus.cpp:4206
-#: export/Export.cpp:353
+#: Menus.cpp:4249
+#: export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Edit Metadata"
 
-#: Menus.cpp:4206
+#: Menus.cpp:4249
 msgid "Edit Metadata tags"
 msgstr "Edit Tag Metadata"
 
-#: Menus.cpp:4262
+#: Menus.cpp:4304
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Semua audio di trek '%s' telah di-render"
 
-#: Menus.cpp:4263
+#: Menus.cpp:4305
 msgid "Render"
 msgstr "Render"
 
-#: Menus.cpp:4268
+#: Menus.cpp:4310
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "Di-mix dan di-render %d trek ke dalam satu trek stereo"
 
-#: Menus.cpp:4271
+#: Menus.cpp:4313
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Di-mix dan di-render %d trek ke dalam satu trek mono"
 
-#: Menus.cpp:4273
-#: Mix.cpp:121
+#: Menus.cpp:4315
+#: Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Mix dan Render"
 
-#: Menus.cpp:4403
+#: Menus.cpp:4447
 msgid "Aligned with zero"
 msgstr "Sejajarkan dengan nol"
 
-#: Menus.cpp:4407
+#: Menus.cpp:4451
 msgid "Aligned cursor"
 msgstr "Kursor yang diratakan"
 
-#: Menus.cpp:4411
+#: Menus.cpp:4455
 msgid "Aligned with selection start"
 msgstr "Diratakan dengan awal pilihan"
 
-#: Menus.cpp:4415
+#: Menus.cpp:4459
 msgid "Aligned with selection end"
 msgstr "Diratakan dengan akhir pilihan"
 
-#: Menus.cpp:4419
+#: Menus.cpp:4463
 msgid "Aligned end with cursor"
 msgstr "Diratakan akhir dengan kursor"
 
-#: Menus.cpp:4423
+#: Menus.cpp:4467
 msgid "Aligned end with selection start"
 msgstr "Diratakan akhir dengan awal pilihan"
 
-#: Menus.cpp:4427
+#: Menus.cpp:4471
 msgid "Aligned end with selection end"
 msgstr "Diratakan akhir dengan akhir pilihan"
 
-#: Menus.cpp:4431
+#: Menus.cpp:4475
 msgid "Aligned"
 msgstr "Diratakan"
 
-#: Menus.cpp:4464
+#: Menus.cpp:4508
 msgid "Align"
 msgstr "Perataan"
 
-#: Menus.cpp:4549
+#: Menus.cpp:4594
 msgid "Sync MIDI with Audio"
 msgstr "Sinkronisasi MIDI dengan Audio"
 
-#: Menus.cpp:4553
+#: Menus.cpp:4598
 msgid "Alignment completed."
 msgstr "Perataan selesai."
 
-#: Menus.cpp:4564
+#: Menus.cpp:4609
 msgid "Created new audio track"
 msgstr "Trek audio baru telah dibuat"
 
-#: Menus.cpp:4564
-#: Menus.cpp:4587
-#: Menus.cpp:4602
-#: Menus.cpp:4622
+#: Menus.cpp:4609
+#: Menus.cpp:4631
+#: Menus.cpp:4646
+#: Menus.cpp:4666
 msgid "New Track"
 msgstr "Trek Baru"
 
-#: Menus.cpp:4587
+#: Menus.cpp:4631
 msgid "Created new stereo audio track"
 msgstr "Trek stereo baru telah dibuat"
 
-#: Menus.cpp:4602
+#: Menus.cpp:4646
 msgid "Created new label track"
 msgstr "Trek label baru telah dibuat"
 
-#: Menus.cpp:4611
+#: Menus.cpp:4655
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Varsi Audacity anda tidak mendukung multi-trek "
 
-#: Menus.cpp:4622
+#: Menus.cpp:4666
 msgid "Created new time track"
 msgstr "Dibuat trek waktu yang baru"
 
-#: Menus.cpp:4677
+#: Menus.cpp:4726
 msgid "Added label"
 msgstr "Label telah dibuat"
 
-#: Menus.cpp:4712
+#: Menus.cpp:4761
 msgid "Edited labels"
 msgstr "Label yang diedit"
 
-#: Menus.cpp:4739
+#: Menus.cpp:4788
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Simpan File Aturan Lanjut CleanSpeech Sebagai:"
 
-#: Menus.cpp:4743
+#: Menus.cpp:4792
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "CleanSpeech Presets (*.csp)|*.csp"
 
-#: Menus.cpp:4750
-#: export/Export.cpp:605
+#: Menus.cpp:4799
+#: export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Maaf, nama path yang lebih dari 256 karakter tidak mendukung."
 
-#: Menus.cpp:4796
+#: Menus.cpp:4845
 msgid "Problem encountered exporting presets."
 msgstr "Problem encountered exporting presets."
 
-#: Menus.cpp:4797
-#: export/Export.cpp:468
+#: Menus.cpp:4846
+#: export/Export.cpp:472
 msgid "Unable to export"
 msgstr "Tidak bisa mengekspor"
 
-#: Menus.cpp:4981
+#: Menus.cpp:5029
 msgid "Remove Track"
 msgstr "Buang Trek"
 
-#: Menus.cpp:4981
+#: Menus.cpp:5029
 msgid "Removed audio track(s)"
 msgstr "Trek audio dibuang"
 
-#: Menus.cpp:5138
-#: Menus.cpp:5193
-#: export/ExportFFmpeg.cpp:710
-#: export/ExportMP3.cpp:1928
+#: Menus.cpp:5186
+#: Menus.cpp:5241
+#: export/ExportFFmpeg.cpp:755
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Sampel Ulang"
 
-#: Menus.cpp:5158
-#: TrackPanel.cpp:6361
+#: Menus.cpp:5206
+#: TrackPanel.cpp:6469
+#: toolbars/MixerToolBar.cpp:313
 msgid "New sample rate (Hz):"
 msgstr "New sample rate (Hz):"
 
-#: Menus.cpp:5182
-#: TrackPanel.cpp:6385
+#: Menus.cpp:5230
+#: TrackPanel.cpp:6493
 msgid "The entered value is invalid"
 msgstr "Nilai yang Anda masukkan tidak valid"
 
-#: Menus.cpp:5191
+#: Menus.cpp:5239
 #, c-format
 msgid "Resampling track %d"
 msgstr "Menyampel ulang trek %d"
 
-#: Menus.cpp:5200
+#: Menus.cpp:5248
 msgid "Resample Track"
 msgstr "Menyempel Ulang Trek"
 
-#: Menus.cpp:5200
+#: Menus.cpp:5248
 msgid "Resampled audio track(s)"
 msgstr "Trek audio telah disampel ulang"
 
@@ -2931,7 +3013,7 @@ msgstr "Trek audio telah disampel ulang"
 msgid "Mix"
 msgstr "Mix"
 
-#: Mix.cpp:122
+#: Mix.cpp:121
 msgid "Mixing and rendering tracks"
 msgstr "Trek Mix dan Render"
 
@@ -2947,75 +3029,83 @@ msgstr "Ada masalah dalam mencetak"
 msgid "Print"
 msgstr "Cetak"
 
-#: Project.cpp:673
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr "Ulangi Efek Terakhir"
+
+#: Project.cpp:774
 msgid "Main Mix"
 msgstr "Mix Utama"
 
-#: Project.cpp:797
+#: Project.cpp:892
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Selamat datang di Audacity versi %s"
 
-#: Project.cpp:957
+#: Project.cpp:1071
 msgid "(Recovered)"
 msgstr "(Terkembalikan)"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
+#: Project.cpp:1713
+#: TrackPanel.cpp:848
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record"
 msgstr "Rekam"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
+#: Project.cpp:1713
+#: TrackPanel.cpp:848
 msgid "Recorded Audio"
 msgstr "Rekaman Audio"
 
-#: Project.cpp:1564
+#: Project.cpp:1731
 msgid "Save changes before closing?"
 msgstr "Simpan perubahan sebelum ditutup?"
 
-#: Project.cpp:1567
-msgid "\n"
+#: Project.cpp:1734
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr "\n"
+msgstr ""
+"\n"
 "Jika disimpan, proyek tidak akan punya trek.\n"
 "\n"
 "Untuk menyimpan trek yang dibuka sebelumnya:\n"
 "Batal, Edit > Batalkan sampai semua trek\n"
 "terbuka, kemudian Berkas > Simpan Proyek."
 
-#: Project.cpp:1570
+#: Project.cpp:1737
 msgid "Save changes?"
 msgstr "Simpan perubahan?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "Semua file|*.*|Semua file yang terdukung|"
+#: Project.cpp:1949
+msgid "All files|*|All supported files|"
+msgstr "Semua file|*|Semua file yang terdukung|"
 
-#: Project.cpp:1802
+#: Project.cpp:1979
 msgid "Select one or more audio files..."
 msgstr "Pilih satu atau lebih file audio..."
 
-#: Project.cpp:1829
+#: Project.cpp:2006
 msgid "Audacity projects|*.aup|"
 msgstr "Proyek Audacity|*.aup|"
 
-#: Project.cpp:1882
-#: Project.cpp:2304
+#: Project.cpp:2066
+#: Project.cpp:2501
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr "File ini disimpan dengan Audacity %s, versi\n"
+msgstr ""
+"File ini disimpan dengan Audacity %s, versi\n"
 "yang sudah lama.  Formatnya telah berbeda.\n"
 "\n"
 "Audacity bisa menghancurkan file dalam membukanya,\n"
@@ -3023,87 +3113,115 @@ msgstr "File ini disimpan dengan Audacity %s, versi\n"
 "\n"
 "Buka filenya sekarang?"
 
-#: Project.cpp:1883
+#: Project.cpp:2067
 msgid "1.0 or earlier"
 msgstr "1.0 atau lebih lama"
 
-#: Project.cpp:1889
-#: Project.cpp:2316
+#: Project.cpp:2073
+#: Project.cpp:2513
 msgid "Opening old project file"
 msgstr "Membuka file proyek yang lama"
 
-#: Project.cpp:1915
-#: Project.cpp:1923
+#: Project.cpp:2097
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"Anda mencoba membuka file backup yang dibuat otomatis.\n"
+"Melakukannya memungkinkan beberapa data hilang.\n"
+"\n"
+"Silahkan buka file proyek Audacity yang sesungguhnya."
+
+#: Project.cpp:2098
+msgid "Backup file detected"
+msgstr "File backup terdeteksi"
+
+#: Project.cpp:2112
+#: Project.cpp:2120
+#: xml/XMLWriter.cpp:262
 msgid "Error opening file"
 msgstr "Error dalam mebuka file"
 
-#: Project.cpp:1929
+#: Project.cpp:2126
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "File mungkin tidak ada atau terhapus: \n"
+msgstr ""
+"File mungkin tidak ada atau terhapus: \n"
 "%s"
 
-#: Project.cpp:1930
+#: Project.cpp:2127
 msgid "Error opening file or project"
 msgstr "Error dalam membuka file atau proyek"
 
-#: Project.cpp:1950
+#: Project.cpp:2147
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 
-#: Project.cpp:2053
+#: Project.cpp:2254
 msgid "Could not remove old auto save file"
 msgstr "Tidak bisa membuang file simpan otomatis yang lama"
 
-#: Project.cpp:2055
+#: Project.cpp:2256
 msgid "Project was recovered"
 msgstr "Proyek telah dikembalikan"
 
-#: Project.cpp:2055
+#: Project.cpp:2256
 msgid "Recover"
 msgstr "Kembalikan"
 
-#: Project.cpp:2084
+#: Project.cpp:2285
 msgid "Project checker repaired file"
 msgstr "Pengecekan telah memperbaiki file"
 
-#: Project.cpp:2084
+#: Project.cpp:2285
 #: effects/Repair.h:29
 msgid "Repair"
 msgstr "Perbaiki"
 
-#: Project.cpp:2230
+#: Project.cpp:2426
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Tidak bisa menemukan folder data proyek: \"%s\""
 
-#: Project.cpp:2273
+#: Project.cpp:2470
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "File ini disimpan dengan Audacity %s.\n"
+msgstr ""
+"File ini disimpan dengan Audacity %s.\n"
 "Anda menggunakan Audacity %s - anda diharuskan untuk\n"
 "meng-upgrade versi terbaru untuk membuka file ini."
 
-#: Project.cpp:2277
+#: Project.cpp:2474
 msgid "Can't open project file"
 msgstr "Tidak bisa membuka file proyek"
 
-#: Project.cpp:2311
+#: Project.cpp:2508
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "File ini disimpan dengan Audacity %s.\n"
-"Anda bisa membuka file ini dengan Audacity Anda ini, tapi jika anda menyimpannya, Anda tidak akan bisa untuk membukanya pada versi yang lama.\n"
+msgstr ""
+"File ini disimpan dengan Audacity %s.\n"
+"\n"
+"Anda bisa membuka dan menyimpan file ini, tapi meyimpannya di versi ini\n"
+"akan menghalangi versi 1.2 atau yang lebih lama untu membukanya\n"
 "\n"
 "Buka filenya sekarang?"
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2706
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3112,61 +3230,78 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"Proyek Anda sekarang kosong.\n"
+"Jika disimpan, proyek tidak akan punya trek.\n"
+"\n"
+"Untuk menyimpan trek yang terbuka sebelumnya:\n"
+"Klik 'Tidak', Edit > Batalkan sampai semua trek\n"
+"terbuka, kemudian File > Simpan Proyek.\n"
+"\n"
+"Simpan saja?"
 
-#: Project.cpp:2538
+#: Project.cpp:2707
 msgid "Warning empty project"
-msgstr ""
+msgstr "Peringatan proyek kosong"
 
-#: Project.cpp:2588
+#: Project.cpp:2816
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
-msgstr "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
+msgstr ""
+"Tidak bisa menyimpan proyek. Mungkin %s \n"
+"tidak bisa ditulis atau disk penuh."
 
-#: Project.cpp:2590
-#: Project.cpp:2605
+#: Project.cpp:2818
+#: Project.cpp:2844
 msgid "Error saving project"
 msgstr "Error dalam meyimpan proyek"
 
-#: Project.cpp:2680
+#: Project.cpp:2842
+#: Project.cpp:3943
+#: Tags.cpp:1198
+#: effects/Equalization.cpp:1096
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "Tidak bisa menulis ke file \"%s\": %s"
+
+#: Project.cpp:2922
 #, c-format
 msgid "Saved %s"
 msgstr "Tersimpan %s"
 
-#: Project.cpp:2806
+#: Project.cpp:3075
 #, c-format
 msgid "Imported '%s'"
 msgstr "Terimpor '%s'"
 
-#: Project.cpp:2807
-#: import/ImportPCM.cpp:483
-#: import/ImportPCM.cpp:527
+#: Project.cpp:3076
 msgid "Import"
 msgstr "Impor"
 
-#: Project.cpp:2840
-#: Project.cpp:2848
+#: Project.cpp:3111
 msgid "Error importing"
 msgstr "Error menginpor"
 
-#: Project.cpp:2882
+#: Project.cpp:3158
 msgid "Save Speech As:"
 msgstr "Simpan Speech Sebagai:"
 
-#: Project.cpp:2884
+#: Project.cpp:3160
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "File Windows PCM Audio(*.wav)|*.wav"
 
-#: Project.cpp:2891
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:3167
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
 "Most other programs can't open Audacity project files.\n"
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
-msgstr "File proyek Audacity (.aup) menyimpan pekerjaan Anda lebih kecil, karena format terkompres (.ogg) \n"
+msgstr ""
+"File proyek Audacity (.aup) menyimpan pekerjaan Anda lebih kecil, karena format terkompres (.ogg) \n"
 "Proyek yang terkompres baik untuk menyebarkan proyek Anda secara online karena saking kecilnya.\n"
 "Untuk membuka proyek terkompres butuh waktu lebih lama, karena harus mengimpor setiap trek yang terkompres.\n"
 "\n"
@@ -3174,154 +3309,337 @@ msgstr "File proyek Audacity (.aup) menyimpan pekerjaan Anda lebih kecil, karena
 "Ketika anda ingin menyimpan file yang bisa dibuka oleh program lain, Pilih salah satu\n"
 "perintah Ekspor."
 
-#: Project.cpp:2894
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3170
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr "Anda sedang menyimpan file proyek Audacity (.aup).\n"
+msgstr ""
+"Anda sedang menyimpan file proyek Audacity (.aup).\n"
 "\n"
 "emnyimpan proyek akan membuat file dimana hanya Audacity yang bisa membukanya.\n"
 "\n"
 "Untuk emnyimpan file untuk program lainnya, gunakan salah satu perintah \"Berkas > Ekspor\".\n"
 
-#: Project.cpp:2898
+#: Project.cpp:3174
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Proyek Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2952
+#: Project.cpp:3223
 msgid "Created new project"
 msgstr "Membuat proyek baru"
 
-#: Project.cpp:3111
+#: Project.cpp:3365
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Terhapus %.2f detik pada t=%.2f"
 
-#: Project.cpp:3114
-#: effects/Equalization.cpp:1276
-#: effects/Equalization.cpp:2607
+#: Project.cpp:3368
+#: effects/Equalization.cpp:1296
+#: effects/Equalization.cpp:2636
 msgid "Delete"
 msgstr "Hapus"
 
-#: Project.cpp:3308
+#: Project.cpp:3562
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Ruang disk tinggal %d jam dan %d menit waktu rekaman."
 
-#: Project.cpp:3311
+#: Project.cpp:3565
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Ruang disk tinggal 1 jam dan %d menit waktu rekaman."
 
-#: Project.cpp:3314
+#: Project.cpp:3568
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Ruang disk tinggal %d menit waktu rekaman."
 
-#: Project.cpp:3317
+#: Project.cpp:3571
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Ruang disk tinggal %d detik waktu rekaman."
 
-#: Project.cpp:3320
+#: Project.cpp:3574
 msgid "Out of disk space"
 msgstr "Ruang disk tidak cukup"
 
-#: Project.cpp:3333
+#: Project.cpp:3587
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
 msgstr "Mengimpor selesai. Menjalankan %d perhitungan waveform di tempat. %2.0f%% selesai dari semuanya."
 
-#: Project.cpp:3336
+#: Project.cpp:3590
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
 msgstr "Mengimpor selesai. Menjalankan perhitungan waveform di tempat. %2.0f%% selesai."
 
-#: Project.cpp:3614
+#: Project.cpp:3874
 msgid "Could not remove old autosave file: "
 msgstr "Tidak bisa membuang file autosimpan yang lama:"
 
-#: Project.cpp:3655
+#: Project.cpp:3915
 msgid "New Project"
 msgstr "Proyek Baru"
 
-#: Project.cpp:3668
+#: Project.cpp:3945
 msgid "Error writing autosave file"
 msgstr "Error menulis file simpan otomatis"
 
-#: Project.cpp:3693
+#: Project.cpp:3960
 msgid "Could not create autosave file: "
 msgstr "Tidak bisa membuat file autosimpan:"
 
-#: Project.cpp:3719
+#: Project.cpp:3986
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Rate Asli: %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample dari Dominic Mazzoni and Julius Smith"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Interpolasi Sinc Berkualitas Tinggi"
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Interpolasi Sinc yang Cepat"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate dari Erik de Castro Lopo"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate error: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Sampel ulang dimatikan."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-bit float"
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Biingkai Pengambilan Layar"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Pilih lokasi untuk menyimpan file"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Simpan Gambar ke:"
+
+#: Screenshot.cpp:328
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Pilih..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Ambil antara jendela atau layar"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Ubah ukuran lebih kecil"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Ubah ukuran lebih besar"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Ltr Blkg Biru"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Ltr Blkg Putih"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Ambil Jendela Saja"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Ambil Jendela Penuh"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Ambil Tambahan Jendela"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Ambil Full Screen"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Tunggu 5 detik dan ambil jendela/dialog terdepan"
+
+#: Screenshot.cpp:369
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr "salah"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Ambil bagian dari jendela proyek"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Semua Toolbar"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "BarSeleksi"
+
+#: Screenshot.cpp:381
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Alat"
+
+#: Screenshot.cpp:382
+#: effects/Contrast.cpp:399
+#: toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr "Kontrol"
+
+#: Screenshot.cpp:388
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:59
+msgid "Mixer"
+msgstr "Mixer"
+
+#: Screenshot.cpp:389
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Meter"
+
+#: Screenshot.cpp:390
+msgid "Edit"
+msgstr "Edit"
+
+#: Screenshot.cpp:391
+#: prefs/AudioIOPrefs.cpp:137
+#: prefs/AudioIOPrefs.cpp:150
+#: prefs/MidiIOPrefs.cpp:118
+#: prefs/MidiIOPrefs.cpp:132
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Perangkat"
+
+#: Screenshot.cpp:392
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transkrispi"
+
+#: Screenshot.cpp:398
+#: TrackPanel.cpp:454
+#: TrackPanel.cpp:455
+msgid "Track Panel"
+msgstr "Panel Trek"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Penggaris"
+
+#: Screenshot.cpp:400
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
+#: prefs/GUIPrefs.cpp:92
+msgid "Tracks"
+msgstr "Trek"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Trek Pertama"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Trek Kedua"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Skala"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Satu Dtk"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "10 Dtk"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Satu Mnt"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "Lima Mnt"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Satu Jam"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Trek Kecil"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Trek Sedang"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Trek Panjang"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Tersimpan"
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "error dalam menyimpan file:"
 
-#: Sequence.cpp:804
-#: Sequence.cpp:814
-#: Sequence.cpp:821
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Pilih lokasi untuk menyimpan gambar hasil screenshot"
+
+#: Sequence.cpp:799
+#: Sequence.cpp:809
+#: Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "Pemisah terdeteksi pada file proyek\n"
 
-#: ShuttleGui.cpp:1972
-#: effects/Effect.cpp:417
+#: ShuttleGui.cpp:2034
+#: effects/Effect.cpp:429
 #: effects/audiounits/AudioUnitEffect.cpp:877
 msgid "Pre&view"
 msgstr "Pre&view"
 
-#: ShuttleGui.cpp:1979
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Benah"
 
@@ -3341,716 +3659,710 @@ msgstr "&selamat datang di Audacity!"
 msgid "Don't show this again at start up"
 msgstr "Jangan tampilkan lagi waktu start up"
 
-#: Tags.cpp:640
+#: Tags.cpp:628
 msgid "Artist Name"
 msgstr "Nama Artis"
 
-#: Tags.cpp:641
+#: Tags.cpp:629
 msgid "Track Title"
 msgstr "Judul Trek"
 
-#: Tags.cpp:642
+#: Tags.cpp:630
 msgid "Album Title"
 msgstr "Judul album"
 
-#: Tags.cpp:643
+#: Tags.cpp:631
 msgid "Track Number"
 msgstr "Nomor Trek"
 
-#: Tags.cpp:644
-#: Tags.cpp:2147
+#: Tags.cpp:632
 msgid "Year"
 msgstr "Tahun"
 
-#: Tags.cpp:645
+#: Tags.cpp:633
 msgid "Genre"
 msgstr "Genre"
 
-#: Tags.cpp:646
-#: Tags.cpp:2157
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:634
+#: prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Kommentar"
 
-#: Tags.cpp:777
+#: Tags.cpp:783
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Gunakan tombol arah (atau tombol RETURN setelah mengedit) untuk navigasi."
 
-#: Tags.cpp:813
+#: Tags.cpp:807
 msgid "Tag Name"
 msgstr "Nama Tag"
 
-#: Tags.cpp:814
+#: Tags.cpp:808
 msgid "Tag Value"
 msgstr "Nilai Tag"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:823
+#: prefs/KeyConfigPrefs.cpp:141
+#: widgets/FileHistory.cpp:174
 msgid "&Clear"
 msgstr "&Hapus"
 
-#: Tags.cpp:835
+#: Tags.cpp:829
 msgid "Genres"
 msgstr "Genre"
 
-#: Tags.cpp:826
+#: Tags.cpp:833
 msgid "E&dit..."
-msgstr ""
+msgstr "E&dit..."
 
-#: Tags.cpp:827
+#: Tags.cpp:834
 msgid "Rese&t..."
-msgstr ""
+msgstr "A&tur ulang..."
 
-#: Tags.cpp:845
-#: Tags.cpp:1470
-#: Tags.cpp:1997
+#: Tags.cpp:839
 msgid "Template"
 msgstr "Sketsa"
 
-#: Tags.cpp:849
-#: Tags.cpp:1474
-#: Tags.cpp:2001
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:843
+#: prefs/KeyConfigPrefs.cpp:151
 msgid "&Load..."
 msgstr "&Ambil..."
 
-#: Tags.cpp:850
-#: Tags.cpp:1475
-#: Tags.cpp:2002
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:844
+#: prefs/KeyConfigPrefs.cpp:152
 msgid "&Save..."
 msgstr "Sim&pan..."
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
+#: Tags.cpp:846
 msgid "S&et Default"
 msgstr "A&tur Normal"
 
-#: Tags.cpp:1002
-#: Tags.cpp:1640
-#: Tags.cpp:2368
+#: Tags.cpp:996
 msgid "Edit Genres"
 msgstr "Edit Genre"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1047
-#: Tags.cpp:1062
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1690
-#: Tags.cpp:1705
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2423
-#: Tags.cpp:2438
-#: Tags.cpp:2451
+#: Tags.cpp:1029
+#: Tags.cpp:1041
+#: Tags.cpp:1056
+#: Tags.cpp:1069
 msgid "Reset Genres"
 msgstr "Atur Ulang Genre"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2451
+#: Tags.cpp:1029
+#: Tags.cpp:1069
 msgid "Unable to save genre file."
 msgstr "Tidak bisa menyimpan file genre."
 
-#: Tags.cpp:1046
-#: Tags.cpp:1689
-#: Tags.cpp:2422
+#: Tags.cpp:1040
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Anda yakin ingin mengatur ulang daftar genre Anda?"
 
-#: Tags.cpp:1062
-#: Tags.cpp:1705
-#: Tags.cpp:2438
+#: Tags.cpp:1056
 msgid "Unable to open genre file."
 msgstr "Tidak bisa membuka file genre."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1091
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Ambil Metadata Sebagai:"
 
-#: Tags.cpp:1122
-#: Tags.cpp:1772
-#: Tags.cpp:2494
+#: Tags.cpp:1116
 msgid "Error loading metadata"
 msgstr "Error mengambil metadata"
 
-#: Tags.cpp:1097
-#: Tags.cpp:1151
-#: Tags.cpp:1751
-#: Tags.cpp:1787
-#: Tags.cpp:2473
-#: Tags.cpp:2509
+#: Tags.cpp:1145
 msgid "Save Metadata As:"
 msgstr "Simpan Metadata Sebagai:"
 
+#: Tags.cpp:1200
+msgid "Error saving tags file"
+msgstr "Error menyimpan file tags"
+
 #: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
-msgstr "Audacity tidak bisa menulis file:\n"
+msgstr ""
+"Audacity tidak bisa menulis file:\n"
 "  %s."
 
 #: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr "Audacity tidak bisa membuka file:\n"
+msgstr ""
+"Audacity tidak bisa membuka file:\n"
 "  %s\n"
 "untuk ditulis."
 
 #: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
-msgstr "Audacity tidak bisa menulis gambar ke file:\n"
+msgstr ""
+"Audacity tidak bisa menulis gambar ke file:\n"
 "  %s."
 
 #: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr "Audacity tidak bisa menemukan file:\n"
+msgstr ""
+"Audacity tidak bisa menemukan file:\n"
 "  %s.\n"
 "Tema tidak diambil."
 
 #: Theme.cpp:807
 #: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr "Audacity tidak bisa mengambil file:\n"
+msgstr ""
+"Audacity tidak bisa mengambil file:\n"
 "  %s.\n"
 "Format png yang buruk mungkin?"
 
 #: Theme.cpp:823
-msgid "Audacity could not read its default theme.\n"
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr "Audacity tidak bisa membaca tema normalnya.\n"
+msgstr ""
+"Audacity tidak bisa membaca tema normalnya.\n"
 "Tolong segera laporkan masalah ini."
 
 #: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr "Tidak ditemukan file komponen\n"
+msgstr ""
+"Tidak ditemukan file komponen\n"
 " tema di:\n"
 "  %s."
 
 #: Theme.cpp:942
 #: effects/NoiseRemoval.cpp:173
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
-msgstr "Tidak bisa membuat direktori:\n"
+msgstr ""
+"Tidak bisa membuat direktori:\n"
 "  %s"
 
 #: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
-msgstr "Audacity tidak bisa menyimpan file:\n"
+msgstr ""
+"Audacity tidak bisa menyimpan file:\n"
 "  %s"
 
 #: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr "Semua file yang dibutuhjkan di:\n"
+msgstr ""
+"Semua file yang dibutuhjkan di:\n"
 "  %s\n"
 "sudah ada."
 
 #: TimeDialog.cpp:53
-#: TimerRecordDialog.cpp:227
-#: TimerRecordDialog.cpp:305
-#: TimerRecordDialog.cpp:309
-#: effects/Noise.cpp:243
-#: effects/ToneGen.cpp:323
-#: effects/ToneGen.cpp:366
+#: TimeDialog.cpp:64
+#: TimerRecordDialog.cpp:236
+#: TimerRecordDialog.cpp:367
+#: TimerRecordDialog.cpp:371
+#: effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191
+#: effects/Noise.cpp:207
+#: effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:290
+#: effects/ToneGen.cpp:322
+#: effects/ToneGen.cpp:334
 msgid "Duration"
 msgstr "Durasi"
 
-#: TimerRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Pencatat Waktu Rekaman Audacity"
 
-#: TimerRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "Durasinya nol. Tidak ada yang akan direkam."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Error dalam Durasi"
+
+#: TimerRecordDialog.cpp:233
 msgid "Recording start"
 msgstr "Mulai merekam"
 
-#: TimerRecordDialog.cpp:225
+#: TimerRecordDialog.cpp:234
 msgid "Recording end"
 msgstr "Selesai merekam"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:239
 msgid "Audacity Timer Record Progress"
 msgstr "Peningkatan Pencatat Waktu Rekaman Audacity"
 
-#: TimerRecordDialog.cpp:267
+#: TimerRecordDialog.cpp:329
 msgid "Start Date and Time"
 msgstr "Tanggal dan Waktu mulai"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:336
 msgid "Start Date"
 msgstr "Tanggal Mulai"
 
-#: TimerRecordDialog.cpp:286
+#: TimerRecordDialog.cpp:348
 msgid "End Date and Time"
 msgstr "Tanggal dan Waktu selesai"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:356
 msgid "End Date"
 msgstr "Tanggal Selesai"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: TimerRecordDialog.cpp:381
+#: TimerRecordDialog.cpp:443
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Menunggu untuk memulai rekaman pada %s.\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:444
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Pencatat Waktu Rekaman Audacity - Menunggu untuk mulai"
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "Panel Trek"
-
-#: TrackPanel.cpp:541
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:605
+#: prefs/QualityPrefs.cpp:101
 msgid "Other..."
 msgstr "Lainnya..."
 
-#: TrackPanel.cpp:549
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:588
-#: TrackPanel.cpp:5793
+#: TrackPanel.cpp:613
+#: TrackPanel.cpp:636
+#: TrackPanel.cpp:645
+#: TrackPanel.cpp:653
 msgid "Name..."
 msgstr "Nama..."
 
-#: TrackPanel.cpp:551
-#: TrackPanel.cpp:573
-#: TrackPanel.cpp:584
-#: TrackPanel.cpp:590
-#: TrackPanel.cpp:5797
+#: TrackPanel.cpp:615
+#: TrackPanel.cpp:638
+#: TrackPanel.cpp:649
+#: TrackPanel.cpp:655
 msgid "Move Track Up"
 msgstr "Pindahkan Trek ke Atas"
 
-#: TrackPanel.cpp:552
-#: TrackPanel.cpp:574
-#: TrackPanel.cpp:585
-#: TrackPanel.cpp:591
-#: TrackPanel.cpp:5798
+#: TrackPanel.cpp:616
+#: TrackPanel.cpp:639
+#: TrackPanel.cpp:650
+#: TrackPanel.cpp:656
 msgid "Move Track Down"
 msgstr "Pindahkan Trek ke Bawah"
 
-#: TrackPanel.cpp:554
-#: effects/ToneGen.cpp:319
-#: prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:618
+#: effects/ToneGen.cpp:274
+#: prefs/GUIPrefs.cpp:117
 msgid "Waveform"
 msgstr "Waveform"
 
-#: TrackPanel.cpp:555
-#: prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:619
+#: prefs/GUIPrefs.cpp:118
 msgid "Waveform (dB)"
 msgstr "Waveform (db)"
 
-#: TrackPanel.cpp:557
-#: prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:621
+#: prefs/GUIPrefs.cpp:120
 msgid "Spectrum log(f)"
 msgstr "Spektrum log(f)"
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:558
-#: prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:622
+#: prefs/GUIPrefs.cpp:121
 msgid "Pitch (EAC)"
 msgstr "Pitch (EAC)"
 
-#: TrackPanel.cpp:560
-#: TrackPanel.cpp:6096
+#: TrackPanel.cpp:624
+#: TrackPanel.cpp:6188
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:561
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:625
+#: TrackPanel.cpp:6187
 msgid "Left Channel"
 msgstr "Bagian Kiri"
 
-#: TrackPanel.cpp:562
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:626
+#: TrackPanel.cpp:6187
 msgid "Right Channel"
 msgstr "Bagian Kanan"
 
-#: TrackPanel.cpp:563
+#: TrackPanel.cpp:627
 msgid "Make Stereo Track"
 msgstr "Buat Trek Stero"
 
-#: TrackPanel.cpp:564
+#: TrackPanel.cpp:628
 msgid "Split Stereo Track"
 msgstr "Gabung Trek Stereo"
 
-#: TrackPanel.cpp:566
+#: TrackPanel.cpp:629
+msgid "Split Stereo to Mono"
+msgstr "Pisah Stereo ke Mono"
+
+#: TrackPanel.cpp:631
 msgid "Set Sample Format"
 msgstr "Atur Format Sampel"
 
-#: TrackPanel.cpp:568
-#: TrackPanel.cpp:6341
+#: TrackPanel.cpp:633
+#: TrackPanel.cpp:6449
 msgid "Set Rate"
 msgstr "Atur Rate"
 
-#: TrackPanel.cpp:576
+#: TrackPanel.cpp:641
 msgid "Up Octave"
 msgstr "Oktaf Atas"
 
-#: TrackPanel.cpp:577
+#: TrackPanel.cpp:642
 msgid "Down Octave"
 msgstr "Oktaf Bawah"
 
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:5795
+#: TrackPanel.cpp:647
 msgid "Font..."
 msgstr "Huruf..."
 
-#: TrackPanel.cpp:593
+#: TrackPanel.cpp:658
 msgid "Set Range..."
 msgstr "Atur Jarak..."
 
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:662
 #: toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Salin"
 
-#: TrackPanel.cpp:1258
+#: TrackPanel.cpp:1310
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "Klik untuk perbesar secara vertikal, klik dengan Shift untuk perkecil, Dorong untuk membuat wilayah zoom kecil."
 
-#: TrackPanel.cpp:1263
+#: TrackPanel.cpp:1315
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "Dorong label secara vertikal untuk mengubah urutan trek."
 
-#: TrackPanel.cpp:1283
+#: TrackPanel.cpp:1335
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Klik dan dorong untuk mengubah ukuran relatif trek stereo."
 
-#: TrackPanel.cpp:1286
+#: TrackPanel.cpp:1338
 msgid "Click and drag to resize the track."
 msgstr "Klik dan dorong untuk mengubah ukuran trek"
 
-#: TrackPanel.cpp:1317
+#: TrackPanel.cpp:1369
 msgid "Drag one or more label boundaries"
 msgstr "Dorong satu atau lebih batasan label"
 
-#: TrackPanel.cpp:1318
+#: TrackPanel.cpp:1370
 msgid "Drag label boundary"
 msgstr "Borong batasan label"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1334
+#: TrackPanel.cpp:1386
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Mode Tool Serbaguna: Cmd-. untuk Preferensi Mouse dan Keyboard"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1337
+#: TrackPanel.cpp:1389
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Mode Tool Serbaguna: Ctrl-P untuk Preferensi Mouse dan Keyboard"
 
-#: TrackPanel.cpp:1383
+#: TrackPanel.cpp:1435
 msgid "Click and drag to move left selection boundary."
 msgstr "Klik dan dorong untuk memindahkan batasan kiri."
 
-#: TrackPanel.cpp:1388
+#: TrackPanel.cpp:1440
 msgid "Click and drag to move right selection boundary."
 msgstr "Klik dan dorong untuk memindahkan batasan kanan."
 
-#: TrackPanel.cpp:1730
-#: TrackPanel.cpp:3959
-#: TrackPanel.cpp:3991
-#: TrackPanel.cpp:4255
-#: TrackPanel.cpp:6490
-#: TrackPanel.cpp:6510
+#: TrackPanel.cpp:1778
+#: TrackPanel.cpp:4046
+#: TrackPanel.cpp:4078
+#: TrackPanel.cpp:4340
+#: TrackPanel.cpp:6598
+#: TrackPanel.cpp:6618
 msgid "Modified Label"
 msgstr "Label yang Telah Diubah"
 
-#: TrackPanel.cpp:1731
-#: TrackPanel.cpp:3960
-#: TrackPanel.cpp:3992
-#: TrackPanel.cpp:4256
-#: TrackPanel.cpp:6491
-#: TrackPanel.cpp:6511
+#: TrackPanel.cpp:1779
+#: TrackPanel.cpp:4047
+#: TrackPanel.cpp:4079
+#: TrackPanel.cpp:4341
+#: TrackPanel.cpp:6599
+#: TrackPanel.cpp:6619
 msgid "Label Edit"
 msgstr "Label Edit"
 
-#: TrackPanel.cpp:1971
+#: TrackPanel.cpp:2015
 msgid "Adjusted envelope."
 msgstr "Amplop diubah."
 
-#: TrackPanel.cpp:1972
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:2016
+#: prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Amplop"
 
-#: TrackPanel.cpp:2123
+#: TrackPanel.cpp:2166
 msgid "Moved clip to another track"
 msgstr "Telah dipindah ke trek yang lain"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2170
 msgid "left"
 msgstr "kiri"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2170
 msgid "right"
 msgstr "kanan"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2129
+#: TrackPanel.cpp:2172
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Waktu trek/klip %s dipersingkat %.02f seconds"
 
-#: TrackPanel.cpp:2133
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
-#: prefs/MousePrefs.cpp:113
+#: TrackPanel.cpp:2176
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Time-Shift"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2969
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
 msgstr "Untuk menggunakan Gambar, pilih 'Waveform' pada Menu Trek."
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2986
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr "Untuk emnggunakan Gambar, perbesar sampai Anda melihat sampel berdiri sendiri."
 
-#: TrackPanel.cpp:3205
+#: TrackPanel.cpp:3260
 msgid "Moved Sample"
 msgstr "Dipindahkan Sampel"
 
-#: TrackPanel.cpp:3206
+#: TrackPanel.cpp:3261
 msgid "Sample Edit"
 msgstr "Sampel Edit"
 
-#: TrackPanel.cpp:3305
+#: TrackPanel.cpp:3354
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Dibuang trek '%s.'"
 
-#: TrackPanel.cpp:3307
+#: TrackPanel.cpp:3356
 msgid "Track Remove"
 msgstr "Pembuangan Trek"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3502
 msgid "Moved gain slider"
 msgstr "Pindahkan slider kekuatan"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3502
 msgid "Moved pan slider"
 msgstr "Pindahkan slider pan"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5703
-#: TrackPanel.cpp:7244
+#: TrackPanel.cpp:3503
+#: TrackPanel.cpp:5792
+#: TrackPanel.cpp:7239
 msgid "Gain"
 msgstr "Kekuatan"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5641
-#: TrackPanel.cpp:7251
+#: TrackPanel.cpp:3503
+#: TrackPanel.cpp:5740
+#: TrackPanel.cpp:7247
 msgid "Pan"
 msgstr "Pan"
 
-#: TrackPanel.cpp:3576
-#: TrackPanel.cpp:6441
+#: TrackPanel.cpp:3656
+#: TrackPanel.cpp:6549
 msgid "up"
 msgstr "atas"
 
-#: TrackPanel.cpp:3580
-#: TrackPanel.cpp:6442
+#: TrackPanel.cpp:3660
+#: TrackPanel.cpp:6550
 msgid "down"
 msgstr "bawah"
 
-#: TrackPanel.cpp:3587
-#: TrackPanel.cpp:6437
+#: TrackPanel.cpp:3667
+#: TrackPanel.cpp:6545
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Dipindahkan '%s' %s"
 
-#: TrackPanel.cpp:3590
-#: TrackPanel.cpp:6443
+#: TrackPanel.cpp:3670
+#: TrackPanel.cpp:6551
 msgid "Move Track"
 msgstr "Pindahkan Trek"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4241
 msgid "Expand"
 msgstr "Sebar"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4241
 msgid "Expanded Cut Line"
 msgstr "Garis Potong yng Tersebar"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4250
 msgid "Merge"
 msgstr "Gabung"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4250
 msgid "Merged Clips"
 msgstr "Klip Tergabung"
 
-#: TrackPanel.cpp:4176
+#: TrackPanel.cpp:4261
 msgid "Removed Cut Line"
 msgstr "Garis Pemisah yang Dibuang"
 
-#: TrackPanel.cpp:5641
+#: TrackPanel.cpp:5740
 msgid "Adjusted Pan"
 msgstr "Pengubahan Pan"
 
-#: TrackPanel.cpp:5703
+#: TrackPanel.cpp:5792
 msgid "Adjusted gain"
 msgstr "Kekuatan yang Diubah"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr "Grupkan dengan Trek Wave"
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr "Hapus grup apapun"
-
-#: TrackPanel.cpp:5923
+#: TrackPanel.cpp:6018
 msgid "Can't delete track with active audio"
 msgstr "Tidak bisa menghapus trek yang sedang aktif"
 
-#: TrackPanel.cpp:6076
+#: TrackPanel.cpp:6168
 msgid "Stereo, "
 msgstr "Stereo,"
 
-#: TrackPanel.cpp:6079
+#: TrackPanel.cpp:6171
 msgid "Mono, "
 msgstr "Mono,"
 
-#: TrackPanel.cpp:6081
+#: TrackPanel.cpp:6173
 msgid "Left, "
 msgstr "Kiri,"
 
-#: TrackPanel.cpp:6083
+#: TrackPanel.cpp:6175
 msgid "Right, "
 msgstr "Kanan,"
 
-#: TrackPanel.cpp:6105
-#: TrackPanel.cpp:6251
+#: TrackPanel.cpp:6197
+#: TrackPanel.cpp:6359
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Diubah '%s' ke %s"
 
-#: TrackPanel.cpp:6110
+#: TrackPanel.cpp:6200
 msgid "Channel"
 msgstr "Saluran"
 
-#: TrackPanel.cpp:6131
+#: TrackPanel.cpp:6241
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Menggabung Trek Stereo '%s'"
 
-#: TrackPanel.cpp:6169
+#: TrackPanel.cpp:6243
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "Pisah Stereo ke Mono '%s'"
+
+#: TrackPanel.cpp:6275
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Dibuat '%s' trek stereo"
 
-#: TrackPanel.cpp:6172
+#: TrackPanel.cpp:6278
 msgid "Make Stereo"
 msgstr "Buat Stereo"
 
-#: TrackPanel.cpp:6215
+#: TrackPanel.cpp:6323
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "Diubah '%s' ke %d Hz"
 
-#: TrackPanel.cpp:6217
+#: TrackPanel.cpp:6325
 msgid "Rate Change"
 msgstr "Perubahan Rate"
 
-#: TrackPanel.cpp:6255
+#: TrackPanel.cpp:6363
 msgid "Format Change"
 msgstr "Perubahan Format"
 
-#: TrackPanel.cpp:6405
+#: TrackPanel.cpp:6513
 msgid "Change lower speed limit (%) to:"
 msgstr "Ubah batas kecepatan rendah (%) ke:"
 
-#: TrackPanel.cpp:6406
-#: TrackPanel.cpp:6407
+#: TrackPanel.cpp:6514
+#: TrackPanel.cpp:6515
 msgid "Lower speed limit"
 msgstr "Batas kecepatan rendah"
 
-#: TrackPanel.cpp:6412
+#: TrackPanel.cpp:6520
 msgid "Change upper speed limit (%) to:"
 msgstr "Ubah batas kecepatan tinggi (%) ke:"
 
-#: TrackPanel.cpp:6413
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6521
+#: TrackPanel.cpp:6522
 msgid "Upper speed limit"
 msgstr "Batas kecepatan tinggi"
 
-#: TrackPanel.cpp:6422
+#: TrackPanel.cpp:6530
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Atur jarak ke '%d' - '%d'"
 
-#: TrackPanel.cpp:6425
+#: TrackPanel.cpp:6533
 msgid "Set Range"
 msgstr "Atur Jarak"
 
-#: TrackPanel.cpp:6472
+#: TrackPanel.cpp:6580
 msgid "Change track name to:"
 msgstr "Ubah nama trek ke:"
 
-#: TrackPanel.cpp:6473
+#: TrackPanel.cpp:6581
 msgid "Track Name"
 msgstr "Nama Trek"
 
-#: TrackPanel.cpp:6476
+#: TrackPanel.cpp:6584
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "Diubah nama '%s' ke '%s'"
 
-#: TrackPanel.cpp:6479
+#: TrackPanel.cpp:6587
 msgid "Name Change"
 msgstr "Pengubahan Nama"
 
-#: TrackPanel.cpp:6580
+#: TrackPanel.cpp:6653
 msgid "Label Track Font"
 msgstr "Font Label Trek"
 
-#: TrackPanel.cpp:6592
-#: TrackPanel.cpp:6598
+#: TrackPanel.cpp:6665
+#: TrackPanel.cpp:6671
 msgid "Face name"
 msgstr "Nama depan"
 
-#: TrackPanel.cpp:6602
-#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6675
+#: TrackPanel.cpp:6682
 msgid "Face size"
 msgstr "Ukuran depan"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:7166
 msgid "Mute"
 msgstr "Diam"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:7166
 msgid "Solo"
 msgstr "Solo"
 
@@ -4105,68 +4417,75 @@ msgstr "Pengubahan Tanda        -- mean: %1.4f  sd: (%1.4f)\n"
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr "Pengubahan Arah        -- mean: %1.4f  sd: (%1.4f)\n"
 
-#: WaveTrack.cpp:88
+#: WaveTrack.cpp:84
 msgid "Audio Track"
 msgstr "Trek Audio"
 
-#: WaveTrack.cpp:597
-#: WaveTrack.cpp:616
-#: WaveTrack.cpp:1057
-#: WaveTrack.cpp:1076
+#: WaveTrack.cpp:978
+#: WaveTrack.cpp:997
 msgid "There is not enough room available to paste the selection"
 msgstr "Tidak ada ruang cukup untuk menempel itu"
 
-#: WaveTrack.cpp:2086
+#: WaveTrack.cpp:2023
 msgid "There is not enough room available to expand the cut line"
 msgstr "Tidak ada ruang yang tersedia untuk menyebarkan garis potong"
 
-#: commands/CommandManager.cpp:555
+#: commands/CommandManager.cpp:522
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Plugin 1 ke %i"
 
-#: commands/CommandManager.cpp:569
+#: commands/CommandManager.cpp:536
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Plugin %i ke %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Tidak diperbolehkan karena beberapa alasan.  Coba memilih audio dahulu?"
+#: commands/CommandManager.cpp:881
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Ada masalah dengan perintah terakhirAnda. Jika Anda\n"
+"pikir itu adalah bug, silahkan beritahu kami apa yang terjadi."
 
-#: commands/CommandManager.cpp:892
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:885
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr "Anda hanya bisa melakukannya ketika berhenti memainkan atau\n"
+msgstr ""
+"Anda hanya bisa melakukannya ketika berhenti memainkan atau\n"
 " merekam.  [Pause juga tidak berpengaruh.]"
 
-#: commands/CommandManager.cpp:894
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:887
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr "Anda harus pilih beberapa trek stereo dahulu\n"
+msgstr ""
+"Anda harus pilih beberapa trek stereo dahulu\n"
 " untuk menggunakannya. [Anda tidak bisa menggunakannya pada Mono.]"
 
-#: commands/CommandManager.cpp:896
+#: commands/CommandManager.cpp:889
 msgid "You must first select some audio for this to use."
 msgstr "Anda harus pilih beberapa audio terlebih dahulu."
 
-#: commands/CommandManager.cpp:898
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:891
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr "Anda harus pilih beberapa audio dahulu\n"
+msgstr ""
+"Anda harus pilih beberapa audio dahulu\n"
 " untuk menggunakannya. [Memilih jenis trek yang lain tidak akan bekerja.]"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:896
 msgid "Disallowed"
 msgstr "Tidak Diperbolehkan"
 
-#: commands/CommandManager.cpp:1083
+#: commands/CommandManager.cpp:1078
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Diambil %d jalan pintas keyboard\n"
 
-#: commands/CommandManager.cpp:1085
+#: commands/CommandManager.cpp:1080
 msgid "Loading keyboard shortcuts"
 msgstr "Mengambil jalan pintas keyboard"
 
@@ -4191,7 +4510,7 @@ msgstr "Amplifikasi (dB):"
 
 #: effects/Amplify.cpp:183
 msgid "Amplification dB"
-msgstr ""
+msgstr "dB Amplifikasi"
 
 #: effects/Amplify.cpp:190
 msgid "New Peak Amplitude (dB):"
@@ -4221,8 +4540,8 @@ msgstr "Anda memilih trek yang tidak ada suaranya. AutoDuck hanya bisa memproses
 
 #: effects/AutoDuck.cpp:126
 #: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:452
+#: effects/AutoDuck.cpp:569
 msgid "Auto Duck"
 msgstr "Auto Duck"
 
@@ -4230,66 +4549,64 @@ msgstr "Auto Duck"
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr "Auto Duck membutuhkan trek pengendali yang harus ditempatkan dibawah trek yang dipilih."
 
-#: effects/AutoDuck.cpp:465
+#: effects/AutoDuck.cpp:464
 msgid "Auto Duck by Markus Meyer"
 msgstr "Auto Duck dari Markus Meyer"
 
-#: effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:486
 msgid "Duck amount:"
 msgstr "Banyak Duck:"
 
-#: effects/AutoDuck.cpp:492
+#: effects/AutoDuck.cpp:491
 msgid "Maximum pause:"
 msgstr "Tunda maksimum:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: effects/Contrast.cpp:263
-#: effects/Contrast.cpp:286
-#: prefs/AudioIOPrefs.cpp:172
-#: prefs/AudioIOPrefs.cpp:180
-#: prefs/AudioIOPrefs.cpp:182
-#: prefs/AudioIOPrefs.cpp:207
-#: prefs/AudioIOPrefs.cpp:209
-#: prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163
-#: prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:197
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:493
+#: effects/AutoDuck.cpp:498
+#: effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:508
+#: effects/AutoDuck.cpp:513
+#: prefs/AudioIOPrefs.cpp:323
+#: prefs/AudioIOPrefs.cpp:337
+#: prefs/AudioIOPrefs.cpp:343
+#: prefs/AudioIOPrefs.cpp:357
+#: prefs/AudioIOPrefs.cpp:363
+#: prefs/MidiIOPrefs.cpp:157
+#: prefs/MidiIOPrefs.cpp:159
+#: prefs/MidiIOPrefs.cpp:181
+#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:191
+#: widgets/TimeTextCtrl.cpp:264
 msgid "seconds"
 msgstr "detik"
 
-#: effects/AutoDuck.cpp:497
+#: effects/AutoDuck.cpp:496
 msgid "Outer fade down length:"
 msgstr "Panjang fade down luar: "
 
-#: effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:501
 msgid "Outer fade up length:"
 msgstr "Panjang fade up luar: "
 
-#: effects/AutoDuck.cpp:507
+#: effects/AutoDuck.cpp:506
 msgid "Inner fade down length:"
 msgstr "Panjang fade down dalam: "
 
-#: effects/AutoDuck.cpp:512
+#: effects/AutoDuck.cpp:511
 msgid "Inner fade up length:"
 msgstr "Panjang fade up dalam: "
 
-#: effects/AutoDuck.cpp:521
+#: effects/AutoDuck.cpp:520
 #: effects/Compressor.cpp:494
 msgid "Threshold:"
 msgstr "Ambang Batas:"
 
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:569
 msgid "Please enter valid values."
 msgstr "Tolong masukkan nilai yang valid."
 
-#: effects/AutoDuck.cpp:705
+#: effects/AutoDuck.cpp:704
 msgid "Preview not available"
 msgstr "Preview tidak tersedia"
 
@@ -4304,8 +4621,8 @@ msgstr "Memproses Auto Duck..."
 #: effects/AvcCompressor.cpp:738
 #: effects/VST/VSTEffect.cpp:455
 #: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/nyquist/Nyquist.cpp:1053
-#: widgets/ErrorDialog.cpp:101
+#: effects/nyquist/Nyquist.cpp:1237
+#: widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "OK"
 
@@ -4331,15 +4648,15 @@ msgstr "Frekuensi (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Hertz Frekuensi"
 
-#: effects/BassBoost.cpp:208
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Boost (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "dB Boost"
 
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
@@ -4371,13 +4688,13 @@ msgid "Change Pitch without Changing Tempo"
 msgstr "Mengubah Pitch Tanpa Mengubah Tempo"
 
 #: effects/ChangePitch.cpp:258
-#: effects/ChangeSpeed.cpp:336
-#: effects/ChangeTempo.cpp:173
+#: effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "dari Vaughan Johnson && Dominic Mazzoni"
 
 #: effects/ChangePitch.cpp:260
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "menggunakan SoundTouch, dari Olli Parviainen"
 
@@ -4418,9 +4735,9 @@ msgid "Semitones in half-steps"
 msgstr "Seminada dalam separuh langkah"
 
 #: effects/ChangePitch.cpp:326
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:206
-#: effects/ChangeTempo.cpp:219
+#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
 msgstr "dari"
 
@@ -4429,9 +4746,9 @@ msgid "From frequency in hertz"
 msgstr "Dari Frekuensi dalam Hertz"
 
 #: effects/ChangePitch.cpp:331
-#: effects/ChangeSpeed.cpp:374
-#: effects/ChangeTempo.cpp:211
-#: effects/ChangeTempo.cpp:224
+#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "ke"
 
@@ -4440,15 +4757,15 @@ msgid "To frequency in seconds"
 msgstr "Ke Frekuensi dalam Detik"
 
 #: effects/ChangePitch.cpp:338
-#: effects/ChangeSpeed.cpp:347
-#: effects/ChangeTempo.cpp:184
+#: effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Presentase Perubahan:"
 
 #: effects/ChangePitch.cpp:343
 #: effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358
-#: effects/ChangeTempo.cpp:195
+#: effects/ChangeSpeed.cpp:359
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
 msgstr "Presentase Perubahan"
 
@@ -4466,33 +4783,33 @@ msgstr "Mengubah Pitch"
 msgid "Applied effect: %s %.1f%%"
 msgstr "Efek teraplikasi: %s %.1f%%"
 
-#: effects/ChangeSpeed.cpp:298
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Mengubah Kecepatan"
 
 #. i18n-hint: n/a is an English abbreviation meaning "not applicable"
 #. (in other words, unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:329
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "tidak ada"
 
-#: effects/ChangeSpeed.cpp:334
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Mengubah Kecepatan, mengubah Tempo dan juga Pitch"
 
-#: effects/ChangeSpeed.cpp:338
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "menggunakan SampleRate, dari Erik de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
 msgstr "Vinyl RPM Standar:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
 msgstr "Dari RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
 msgstr "Ke RPM"
 
@@ -4504,35 +4821,35 @@ msgstr "Udah Kecepatan..."
 msgid "Changing Speed"
 msgstr "Mengubah Kecepatan"
 
-#: effects/ChangeTempo.cpp:138
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Mengubah Tempo"
 
-#: effects/ChangeTempo.cpp:171
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Mengubah Tempo Tanpa Mengubah Pitch"
 
-#: effects/ChangeTempo.cpp:203
+#: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
 msgstr "Bit per Menit:"
 
-#: effects/ChangeTempo.cpp:207
+#: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
 msgstr "Dari bit per menit"
 
-#: effects/ChangeTempo.cpp:212
+#: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
 msgstr "Kei bit per menit"
 
-#: effects/ChangeTempo.cpp:216
+#: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
 msgstr "Panjang (detik):"
 
-#: effects/ChangeTempo.cpp:220
+#: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
 msgstr "Dari panjang dalam detik"
 
-#: effects/ChangeTempo.cpp:225
+#: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
 msgstr "Ke panjang dalam detik"
 
@@ -4558,15 +4875,15 @@ msgstr "Pilih ambang batas (lebih rendah, lebih sensitif):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Pilih Ambang Batas"
 
-#: effects/ClickRemoval.cpp:353
+#: effects/ClickRemoval.cpp:354
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Besar Spike maksimal (lebih tinggi, lebih sensitif):"
 
 #: effects/ClickRemoval.cpp:363
 msgid "Max spike width"
-msgstr ""
+msgstr "Ketebalan Maksimal"
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
@@ -4609,8 +4926,8 @@ msgid "Decay Time"
 msgstr "Waktu Kekurangan"
 
 #: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalkan ke 0dB setelah mengompres"
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Naikkan ke 0dB setelah mengompres"
 
 #: effects/Compressor.cpp:563
 #, c-format
@@ -4666,56 +4983,52 @@ msgstr "Kompresor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Mengaplikasikan Pengompresan Dinamis"
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Analisa Kontras"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "latar Depan Alat ontras"
 
-#: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+#: effects/Contrast.cpp:88
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"Waktu latar depan dipilih.\n"
+"Sekarang pilih latar belakang dan gunakan Ctrl+Shift+t atau menu kembali."
 
-#: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+#: effects/Contrast.cpp:136
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
-msgstr ""
+msgstr "Waktu mulai jauh setelah waktu selesai!]nSilahkan masukkan watu yang logis."
 
-#: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+#: effects/Contrast.cpp:146
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"Waktunya tidak beralasan!\n"
+"Silakan masukkan waktu yang beralasan."
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr "Halo. \n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193
-#: effects/Contrast.cpp:204
-#: effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr "Terukur"
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:265
 msgid "Contrast Analyzer"
 msgstr "Penganalisa Kontras"
 
-#: effects/Contrast.cpp:235
+#: effects/Contrast.cpp:268
 msgid "Parameters"
 msgstr "Parameter"
 
-#: effects/Contrast.cpp:242
-#: effects/ToneGen.cpp:355
+#: effects/Contrast.cpp:275
+#: effects/ToneGen.cpp:311
 #: toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "Awal"
 
-#: effects/Contrast.cpp:243
-#: effects/ToneGen.cpp:356
+#: effects/Contrast.cpp:276
+#: effects/ToneGen.cpp:312
 #: toolbars/ControlToolBar.cpp:189
 #: toolbars/SelectionBar.cpp:156
 #: toolbars/SelectionBar.cpp:159
@@ -4723,245 +5036,236 @@ msgstr "Awal"
 msgid "End"
 msgstr "Akhir"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:279
 msgid "Volume    "
-msgstr ""
+msgstr "Volume Suara"
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:282
 msgid "Foreground:"
 msgstr "Latar Depan:"
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:294
 msgid "Foreground start time"
-msgstr ""
+msgstr "Waktu mulai latar depan"
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:312
 msgid "Foreground end time"
-msgstr ""
+msgstr "Waktu selesai latar depan"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:318
+#: effects/Contrast.cpp:362
+#: effects/Contrast.cpp:426
+#: effects/Contrast.cpp:437
+msgid "Measured"
+msgstr "Terukur"
+
+#: effects/Contrast.cpp:320
+#: effects/Contrast.cpp:364
 msgid "Use selection"
-msgstr ""
+msgstr "Pilih Seleksi"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:325
 msgid "Background:"
 msgstr "Latar Belakang:"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:338
 msgid "Background start time"
-msgstr ""
+msgstr "Waktu mulai latar belakang"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:356
 msgid "Background end time"
-msgstr ""
+msgstr "Waktu akhir latar belakang"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:373
 msgid "Result"
 msgstr "Hasil"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:377
 msgid "Contrast Result:"
 msgstr "Hasil Kontras:"
 
-#: Tags.cpp:840
-#: Tags.cpp:1990
+#: effects/Contrast.cpp:380
 msgid "Reset"
 msgstr "Ulang"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:381
 msgid "Difference:"
 msgstr "Perbedaan:"
 
-#: effects/Contrast.cpp:313
+#: effects/Contrast.cpp:392
 msgid "Information"
 msgstr "Informasi"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:394
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Untuk mengukur perbedaan volume rms diantara dua audio yang dipilih."
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:395
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "Bantuan untuk Penganalisa Kontras Audio WCAG2"
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "Kontrol"
+#: effects/Contrast.cpp:401
+msgid "Close (keeping times)"
+msgstr "Tutup (waktu tetap)"
 
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
-
-#: effects/Contrast.cpp:328
-#: effects/Contrast.cpp:336
-#: effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:463
+#: effects/Contrast.cpp:469
+#: effects/Contrast.cpp:475
+#: effects/Contrast.cpp:481
 msgid "Measure"
 msgstr "Ukuran"
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:520
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Tidak ada latar depan yang dihitung"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:525
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Tingkat latar depan yang terhitung"
 
-#: effects/Contrast.cpp:191
-#: effects/Contrast.cpp:202
+#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:536
 #, c-format
 msgid "%.1f dB"
 msgstr "%.1f dB"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:530
 msgid "No background to measure"
-msgstr ""
+msgstr "Tidak ada latar belakang yang dihitung"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:535
 msgid "Measured background level"
-msgstr ""
+msgstr "Tingkat latar belakang yang terhitung"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:541
 msgid "WCAG2 Pass"
 msgstr "WCAG2 Lolos"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:543
 msgid "WCAG2 Fail"
 msgstr "WCAG2 Gagal"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:544
 msgid "Current difference"
-msgstr ""
+msgstr "Perbedaan yang ada"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:545
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "Rata-Rata %.1f dB rms"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:550
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Mohon masukkan waktu yang valid."
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:560
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Mengekspor Hasil Kontras Sebagai:"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:581
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "Hasil Kontras Kriteria Sukses WCAG 2.0 1.4.7"
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:583
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Nama File = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:585
 msgid "Foreground"
-msgstr ""
+msgstr "Latar Depan"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:590
+#: effects/Contrast.cpp:607
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Waktu dimulai = %2d jam, %2d menit, %.2f detik."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:595
+#: effects/Contrast.cpp:612
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Waktu selesai = %2d jam, %2d menit, %.2f detik."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:597
+#: effects/Contrast.cpp:614
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Rms rata-rata = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:599
+#: effects/Contrast.cpp:616
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Rms rata-rata = dB."
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:602
 msgid "Background"
-msgstr ""
+msgstr "Latar Belakang"
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:618
 msgid "Results"
-msgstr ""
+msgstr "Hasil"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:620
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Perbedaan = %.1f dB rata-rata rms."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:622
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Kesuksesan Kriteria 1.4.7 dari WCAG 2.0: Berhasil"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:624
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Kesuksesan Kriteria 1.4.7 dari WCAG 2.0: Gagal"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:627
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr "Mengukur latar belakang"
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr "Mengukur latar depan"
+msgstr "Data Terkumpul"
 
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "Pembuat Nada DTMF "
 
-#: effects/DtmfGen.cpp:456
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "dari Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:460
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "Urutan DTMF:"
 
-#: effects/DtmfGen.cpp:463
-#: effects/Noise.cpp:242
-#: effects/ToneGen.cpp:322
-#: effects/ToneGen.cpp:359
+#: effects/DtmfGen.cpp:428
+#: effects/Noise.cpp:190
+#: effects/ToneGen.cpp:277
+#: effects/ToneGen.cpp:315
 msgid "Amplitude (0-1)"
 msgstr "Amplitudo (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Durasi"
 
-#: effects/DtmfGen.cpp:486
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
 msgstr "Rasio nada dengan diam:"
 
-#: effects/DtmfGen.cpp:496
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr "Pengulangan:"
 
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Durasi nada:"
 
-#: effects/DtmfGen.cpp:499
-#: effects/DtmfGen.cpp:501
-#: effects/DtmfGen.cpp:577
-#: effects/DtmfGen.cpp:578
+#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:467
+#: effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:500
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Durasi diam:"
 
@@ -4983,22 +5287,22 @@ msgstr "Membuat nada DTMF"
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Efek teraplikasi: jarak %s = %f detik, faktor kekurangan = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Echo"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195
-#: effects/Repeat.cpp:200
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:197
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "dari Dominic Mazzoni && Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Waktu tenggang (detk):"
 
-#: effects/Echo.cpp:212
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Faktor kekurangan:"
 
@@ -5010,102 +5314,107 @@ msgstr "Echo..."
 msgid "Performing Echo"
 msgstr "Menjalankan Echo..."
 
-#: effects/Effect.cpp:467
+#: effects/Effect.cpp:491
 msgid "Preparing preview"
 msgstr "Meyiapkan preview"
 
-#: effects/Effect.cpp:497
+#: effects/Effect.cpp:521
 msgid "Previewing"
 msgstr "Melihat preview"
 
-#: effects/Effect.cpp:512
+#: effects/Effect.cpp:536
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Error ketika membuka perangkat suara. Tolong cek pengaturan perangkat output dan rate sampel proyek."
 
-#: effects/Effect.h:100
+#: effects/Effect.h:97
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Efek teraplikasi: %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:335
 msgid "B-spline"
 msgstr "Papan Bergelombang"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:336
 msgid "Cosine"
 msgstr "Kosinus"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:337
 msgid "Cubic"
 msgstr "Kubik"
 
-#: effects/Equalization.cpp:367
-#: effects/Equalization.cpp:416
+#: effects/Equalization.cpp:370
+#: effects/Equalization.cpp:421
 msgid "Equalization"
 msgstr "Ekualisasi"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1010
 msgid "Error loading EQ curve"
 msgstr "Error mengambil kurva EQ"
 
-#: effects/Equalization.cpp:1033
+#: effects/Equalization.cpp:1049
 msgid "custom"
 msgstr "pilihan sendiri"
 
+#: effects/Equalization.cpp:1098
+msgid "Error saving equalization curves"
+msgstr "Error dalam menyimpan equalizer"
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
-#: effects/Equalization.cpp:1101
+#: effects/Equalization.cpp:1121
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Ekualisasi, dari Martyn Shaw && Mitch Golden"
 
-#: effects/Equalization.cpp:1122
+#: effects/Equalization.cpp:1142
 msgid "Max dB"
 msgstr "dB Maks"
 
-#: effects/Equalization.cpp:1124
+#: effects/Equalization.cpp:1144
 msgid "Min dB"
 msgstr "dB Min"
 
-#: effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1217
 msgid "kHz"
 msgstr "kHz"
 
-#: effects/Equalization.cpp:1214
+#: effects/Equalization.cpp:1234
 msgid "Draw curves"
 msgstr "Gambar kurva"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1239
 msgid "Graphic EQ"
 msgstr "Grafik EQ"
 
-#: effects/Equalization.cpp:1233
+#: effects/Equalization.cpp:1253
 msgid "Linear frequency scale"
 msgstr "Skala frekuensi linier"
 
-#: effects/Equalization.cpp:1242
+#: effects/Equalization.cpp:1262
 msgid "Length of filter:"
 msgstr "Panjang filter:"
 
-#: effects/Equalization.cpp:1263
+#: effects/Equalization.cpp:1283
 msgid "Select curve:"
 msgstr "Pilih kurva:"
 
-#: effects/Equalization.cpp:1273
-#: effects/Equalization.cpp:2512
-#: export/ExportMultiple.cpp:882
+#: effects/Equalization.cpp:1293
+#: effects/Equalization.cpp:2541
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Simpan Sebagai..."
 
-#: effects/Equalization.cpp:1279
+#: effects/Equalization.cpp:1299
 msgid "Flat"
 msgstr "Datar"
 
-#: effects/Equalization.cpp:2511
+#: effects/Equalization.cpp:2540
 msgid "Enter the desired name of the curve"
 msgstr "Masukkan nama untuk kurva"
 
-#: effects/Equalization.cpp:2611
-#: export/ExportFFmpegDialogs.cpp:1220
+#: effects/Equalization.cpp:2640
+#: export/ExportFFmpegDialogs.cpp:1213
 msgid "Confirm Deletion"
 msgstr "Konfirmasi Penghapusan"
 
@@ -5137,27 +5446,27 @@ msgstr "Membuat Fade Keluar"
 msgid "Detect clipping"
 msgstr "Deteksi clipping"
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:92
 msgid "Clipping"
 msgstr "Clipping"
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:212
 msgid "Find Clipping"
 msgstr "Mencari Clipping"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:223
 msgid "by Leland Lucius"
 msgstr "dari Leland Lucius"
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:235
 msgid "Start threshold (samples):"
 msgstr "Ambang batas awal (sampel):"
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:239
 msgid "Stop threshold (samples):"
 msgstr "Ambang batas akhir (sampel):"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:251
 msgid "Start and stop must be greater than 0."
 msgstr "Awal dan akhir harus lebih dari 0."
 
@@ -5181,48 +5490,47 @@ msgstr "Menukar"
 msgid "Leveller"
 msgstr "Leveller"
 
-#: effects/Leveller.cpp:203
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Tidak Ada yang Dilewatkan"
 
-#: effects/Leveller.cpp:204
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "Cahaya"
 
-#: effects/Leveller.cpp:205
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "Moderat"
 
-#: effects/Leveller.cpp:206
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "Berat"
 
-#: effects/Leveller.cpp:207
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "Lebig Berat"
 
-#: effects/Leveller.cpp:208
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "Paling Berat"
 
-#: effects/Leveller.cpp:212
-#: effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "dari Lynn Allan"
 
-#: effects/Leveller.cpp:222
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Derajat Leveller"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
 msgstr "Derajat Pelevelan:"
 
-#: effects/Leveller.cpp:234
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Ambang batas bising (Hiss/Hum/Ambang Bising):"
 
-#: effects/Leveller.cpp:238
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
 msgstr "Ambang Batas untuk Bising:"
 
@@ -5258,11 +5566,6 @@ msgstr "Pengubah"
 msgid "Analyser"
 msgstr "Penganalisa"
 
-#: effects/LoadEffects.cpp:114
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mixer"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr "Simulator"
@@ -5369,7 +5672,7 @@ msgid "Gate"
 msgstr "Jembatan"
 
 #: effects/LoadEffects.cpp:199
-#: effects/NoiseRemoval.cpp:725
+#: effects/NoiseRemoval.cpp:728
 msgid "Noise Removal"
 msgstr "Pembuang Bising"
 
@@ -5405,7 +5708,7 @@ msgstr "Coklat"
 msgid "Noise Generator"
 msgstr "Pembuat Bising"
 
-#: effects/Noise.cpp:241
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Tpie Bising"
 
@@ -5424,66 +5727,72 @@ msgstr "Membuat Bising"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
-msgstr "Tidak bisa membuka file:\n"
+msgstr ""
+"Tidak bisa membuka file:\n"
 "  %s"
 
 #: effects/NoiseRemoval.cpp:277
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Tetap menjalankan Pembuang Bising tanpa profil bising.\n"
 
-#: effects/NoiseRemoval.cpp:814
+#: effects/NoiseRemoval.cpp:817
 msgid "Step 1"
 msgstr "Tahap 1"
 
-#: effects/NoiseRemoval.cpp:815
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:818
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr "Pilih beberapa detik bising agar Audacity tahu apa yang harus dibuang,\n"
+msgstr ""
+"Pilih beberapa detik bising agar Audacity tahu apa yang harus dibuang,\n"
 "kemudian klik Ambil Profil Bising:"
 
-#: effects/NoiseRemoval.cpp:816
+#: effects/NoiseRemoval.cpp:819
 msgid "Step 2"
 msgstr "Tahap 2"
 
-#: effects/NoiseRemoval.cpp:817
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:820
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr "Pilih seluruh audio yang anda mau disaring, pilih seberapa banyak bising\n"
+msgstr ""
+"Pilih seluruh audio yang anda mau disaring, pilih seberapa banyak bising\n"
 "yang Anda ingin buang, dan klik 'OK' untuk membuangnya.\n"
 
-#: effects/NoiseRemoval.cpp:822
+#: effects/NoiseRemoval.cpp:825
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Pembuang Bising dari Dominic Mazzoni"
 
-#: effects/NoiseRemoval.cpp:830
+#: effects/NoiseRemoval.cpp:833
 msgid "Get Noise Profile"
 msgstr "Ambil Profil Bising"
 
-#: effects/NoiseRemoval.cpp:841
+#: effects/NoiseRemoval.cpp:844
 msgid "Noise reduction (dB):"
 msgstr "Reduksi bising (dB):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:849
 msgid "Noise reduction"
-msgstr ""
+msgstr "Pengurangan bising"
 
-#: effects/NoiseRemoval.cpp:849
+#: effects/NoiseRemoval.cpp:853
 msgid "Frequency smoothing (Hz):"
 msgstr "Frekuensi pelembut (Hz):"
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:858
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "penghalusan frekuensi"
 
-#: effects/NoiseRemoval.cpp:857
+#: effects/NoiseRemoval.cpp:862
 msgid "Attack/decay time (secs):"
 msgstr "Waktu serang/kurang (dtk):"
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:867
 msgid "Attach/decay time"
-msgstr ""
+msgstr "Waktu baru/usang"
 
 #: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
@@ -5504,11 +5813,6 @@ msgstr "Membuang Bising"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Efek teraplikasi: %s membuang dc offset = %s, amplitudo penormalan = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "salah"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74
@@ -5526,11 +5830,10 @@ msgid "Normalize"
 msgstr "Normalize"
 
 #: effects/Normalize.cpp:351
-#: effects/Normalize.cpp:352
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "Buang semua DC offset (tengah pada 0.0 secara vertikal)"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:354
 msgid "Normalize maximum amplitude to:"
 msgstr "Menormalkan amplitudo maksimum ke:"
 
@@ -5540,7 +5843,7 @@ msgstr "-"
 
 #: effects/Normalize.cpp:367
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "dB Amplitudo maksimum"
 
 #: effects/Normalize.h:33
 msgid "Normalize..."
@@ -5617,20 +5920,24 @@ msgid "Applying Phaser"
 msgstr "Membuat Fase"
 
 #: effects/Repair.cpp:99
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr "Efek perbaikan hanya digunakan pada sesi sangat pendek pada audio yang hancur (lebih dari 128 sampel).\n"
+msgstr ""
+"Efek perbaikan hanya digunakan pada sesi sangat pendek pada audio yang hancur (lebih dari 128 sampel).\n"
 "\n"
 "Perbesar dan pilih fraksi kecil untuk memperbaikinya."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
-msgstr "Perbaikan bekerja dengan menggunakan data audio di luar wilayah yang dipilih.\n"
+msgstr ""
+"Perbaikan bekerja dengan menggunakan data audio di luar wilayah yang dipilih.\n"
 "\n"
 "Silahkan pilih wilayah yang mempinyai sentuhan audio sedikitnya satu sisi ini.\n"
 "\n"
@@ -5650,26 +5957,26 @@ msgid "Tracks are too long to repeat the selection."
 msgstr "Trek yang dipilih terlalu panjang untuk diulang."
 
 #: effects/Repeat.cpp:77
-#: effects/Repeat.cpp:187
+#: effects/Repeat.cpp:184
 msgid "Repeat"
 msgstr "Ulang"
 
-#: effects/Repeat.cpp:212
+#: effects/Repeat.cpp:209
 msgid "Number of times to repeat:"
 msgstr "Number of times to repeat:"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:218
 msgid "New selection length: hh:mm:ss"
 msgstr "Panjang yang baru: jj:mm:dd"
 
-#: effects/Repeat.cpp:253
+#: effects/Repeat.cpp:250
 msgid "New selection length: "
 msgstr "Panjang yang baru:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:262
-#: widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:259
+#: widgets/TimeTextCtrl.cpp:271
 msgid "hh:mm:ss"
 msgstr "jj:mm:dd"
 
@@ -5693,15 +6000,15 @@ msgstr "Menukar Balik"
 msgid "Silence Generator"
 msgstr "Pembuat Diam"
 
-#: effects/Silence.h:34
+#: effects/Silence.h:32
 msgid "Silence..."
 msgstr "Diam..."
 
-#: effects/Silence.h:48
+#: effects/Silence.h:46
 msgid "Generating Silence"
 msgstr "Membuat Diam"
 
-#: effects/Silence.h:53
+#: effects/Silence.h:51
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Efek teraplikasi: Membuat Diam, %.6lf detik"
@@ -5719,9 +6026,11 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr "Pembersih Spike dari Lynn Allan"
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr "Durasi Spike Maksimum (millidetik): \n"
+msgstr ""
+"Durasi Spike Maksimum (millidetik): \n"
 "(99999 atau lebih berarti dimatikan)"
 
 #: effects/SpikeCleaner.cpp:178
@@ -5746,112 +6055,112 @@ msgstr "Membuat Stereo ke Mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Skala Waktu"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Menggeser geseran waktu skala/pitch"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "menggunakan SBSMS, dari Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Perubahan Tempo Inisial (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Perubahan Tempo Final (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Perubahan Tempo Inisial (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Perubahan Tempo Final (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Pitch Shift Inisal (seminada) [-12 to 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Pitch Shift Total (seminada) [-12 to 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Menggeser geseran waktu skala/pitch..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Mengubah Tempo/Pitch"
 
-#: effects/ToneGen.cpp:61
+#: effects/ToneGen.cpp:60
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "Efek teraplikasi: Membuat %s gelombang %s, frekuensi = %.2f Hz, amplitudo = %.2f, %.6lf detik"
 
-#: effects/ToneGen.cpp:69
-#: widgets/Meter.cpp:416
+#: effects/ToneGen.cpp:68
+#: widgets/Meter.cpp:412
 msgid "Linear"
 msgstr "Linier"
 
-#: effects/ToneGen.cpp:70
+#: effects/ToneGen.cpp:69
 msgid "Logarithmic"
 msgstr "Logaritmik"
 
-#: effects/ToneGen.cpp:71
+#: effects/ToneGen.cpp:70
 msgid "Chirp Generator"
 msgstr "Pembuat Chirp"
 
-#: effects/ToneGen.cpp:71
+#: effects/ToneGen.cpp:70
 msgid "Tone Generator"
 msgstr "Pembuat Nada"
 
-#: effects/ToneGen.cpp:72
+#: effects/ToneGen.cpp:71
 msgid "Sine"
 msgstr "Silau"
 
-#: effects/ToneGen.cpp:73
+#: effects/ToneGen.cpp:72
 msgid "Square"
 msgstr "Kotak"
 
-#: effects/ToneGen.cpp:74
+#: effects/ToneGen.cpp:73
 msgid "Sawtooth"
 msgstr "Gerigi"
 
-#: effects/ToneGen.cpp:75
+#: effects/ToneGen.cpp:74
 msgid "Square, no alias"
 msgstr "Persegi, tanpa samaran"
 
-#: effects/ToneGen.cpp:321
-#: effects/ToneGen.cpp:357
+#: effects/ToneGen.cpp:276
+#: effects/ToneGen.cpp:313
 msgid "Frequency (Hz)"
 msgstr "Frekuensi (Hz)"
 
-#: effects/ToneGen.cpp:348
+#: effects/ToneGen.cpp:304
 msgid "Waveform:"
 msgstr "Waveform:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:313
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Awal Hertz Frekuensi"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Akhir Hertz Frekuensi"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:315
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Awal Amplitudo"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:316
 msgid "Amplitude End"
-msgstr ""
+msgstr "Akhir Amplitudo"
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:321
 msgid "Interpolation:"
 msgstr "Interpolasi:"
 
@@ -5871,40 +6180,59 @@ msgstr "Membuat Chirp"
 msgid "Generating Tone"
 msgstr "Membuat Nada"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr "Semua trek harus mempunyai rate sampel yang sama"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:133
+#: effects/TruncSilence.cpp:428
 msgid "Truncate Silence"
 msgstr "Pangkas Diam"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "Durasi diam maksimum:"
+#: effects/TruncSilence.cpp:438
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "oleh Lynn Allan && Philip Van Baren"
 
-#: effects/TruncSilence.cpp:348
-#: prefs/AudioIOPrefs.cpp:196
-#: prefs/AudioIOPrefs.cpp:199
-#: prefs/MidiIOPrefs.cpp:174
-#: prefs/MidiIOPrefs.cpp:177
+#: effects/TruncSilence.cpp:452
+msgid "Min silence duration:"
+msgstr "Durasi diam minimal:"
+
+#: effects/TruncSilence.cpp:455
+#: effects/TruncSilence.cpp:459
+#: prefs/MidiIOPrefs.cpp:169
+#: prefs/MidiIOPrefs.cpp:171
 msgid "milliseconds"
 msgstr "milidetik"
 
-#: effects/TruncSilence.cpp:350
+#: effects/TruncSilence.cpp:456
+msgid "Max silence duration:"
+msgstr "Durasi diam maksimum:"
+
+#: effects/TruncSilence.cpp:460
+msgid "Silence compression:"
+msgstr "Kompresi diam:"
+
+#: effects/TruncSilence.cpp:463
+msgid ":1"
+msgstr ":1"
+
+#: effects/TruncSilence.cpp:465
 msgid "Threshold for silence:"
 msgstr "Ambang Batas untuk Diam:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Durasi harus minimal 1 milidetik"
+#: effects/TruncSilence.cpp:491
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"   Durasi harus minimal 1 milidetik\n"
+"   Rasio kompresi harus minimal 1:1"
 
-#: effects/TruncSilence.h:28
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Pangkas Diam..."
 
-#: effects/TruncSilence.h:42
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr "Memangkas Diam.."
 
@@ -5959,108 +6287,108 @@ msgstr "Mengaplikasikan Wahwah"
 
 #: effects/audiounits/AudioUnitEffect.cpp:138
 #: effects/ladspa/LadspaEffect.cpp:176
-#: effects/lv2/LV2Effect.cpp:191
+#: effects/lv2/LV2Effect.cpp:192
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Menjalankan Efek: %s"
 
 #: effects/ladspa/LadspaEffect.cpp:196
-#: effects/lv2/LV2Effect.cpp:211
+#: effects/lv2/LV2Effect.cpp:212
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Maaf, Efek Pulg-in tidak bisa dipakai pada trek stereo yang masing-masing salurannya tidak cocok."
 
 #: effects/ladspa/LadspaEffect.cpp:580
 #: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
+#: prefs/GUIPrefs.cpp:109
+#: prefs/QualityPrefs.cpp:76
 msgid "None"
 msgstr "Tidak Ada"
 
 #: effects/ladspa/LadspaEffect.cpp:582
-#: effects/lv2/LV2Effect.cpp:798
+#: effects/lv2/LV2Effect.cpp:799
 #: effects/vamp/VampEffect.cpp:395
 msgid "Author: "
 msgstr "Pengarang:"
 
 #: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
+#: effects/lv2/LV2Effect.cpp:824
 msgid "Effect Settings"
 msgstr "Aturan Efek"
 
 #: effects/ladspa/LadspaEffect.cpp:710
 #: effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:834
-#: effects/lv2/LV2Effect.cpp:837
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Length (seconds)"
 msgstr "Panjang (detik)"
 
-#: effects/lv2/LV2Effect.cpp:849
-#: effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:850
+#: effects/lv2/LV2Effect.cpp:853
 msgid "Note length (seconds)"
 msgstr "Panjang catatan(detik)"
 
-#: effects/lv2/LV2Effect.cpp:860
-#: effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:861
+#: effects/lv2/LV2Effect.cpp:864
 msgid "Note velocity"
 msgstr "Kecepatan pencatatan"
 
-#: effects/lv2/LV2Effect.cpp:871
-#: effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:872
+#: effects/lv2/LV2Effect.cpp:875
 msgid "Note key"
 msgstr "Kunci Catatan"
 
-#: effects/nyquist/Nyquist.cpp:257
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Mengaplikasikan Efek Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:264
-#: effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:91
+#: effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Prompt Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:327
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Masukkan Perintah Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:417
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Maaf, efek tidak bisa dipakai padatrek stereo yang trek-terknya tidak cocok."
 
-#: effects/nyquist/Nyquist.cpp:445
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:446
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Output Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:603
-#: effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "Nyquist menghasilkan nilai:"
 
-#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist tidak menghasilkan audio.\n"
 
-#: effects/nyquist/Nyquist.cpp:667
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist terlalu banyak membuat audio.\n"
 
-#: effects/vamp/VampEffect.cpp:86
+#: effects/vamp/VampEffect.cpp:80
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Mengekstrak fitur: %s"
 
-#: effects/vamp/VampEffect.cpp:117
+#: effects/vamp/VampEffect.cpp:111
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr "Maaf, Plug-in Vamp tidak bisa dipakai pada trek stereo yang masing-masing salurannya tidak cocok."
 
-#: effects/vamp/VampEffect.cpp:131
+#: effects/vamp/VampEffect.cpp:125
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Maaf, gagal mengambil Plug-in Vamp."
 
-#: effects/vamp/VampEffect.cpp:239
+#: effects/vamp/VampEffect.cpp:231
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Maaf, Plug-in Vamp gagal diinstall."
 
@@ -6077,75 +6405,77 @@ msgstr "Aturan Plugin"
 msgid "Program"
 msgstr "Program"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Semua audio yang dipilih dimatikan."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Semua audio dimatikan."
 
-#: export/Export.cpp:522
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Mengekpor File"
 
-#: export/Export.cpp:530
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Opsi..."
 
-#: export/Export.cpp:571
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Anda yakin ingin menyimpan file sebagai \""
 
-#: export/Export.cpp:591
+#: export/Export.cpp:596
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr "Anda ingin menyimpan file %s dengan nama \"%s\".\n"
+msgstr ""
+"Anda ingin menyimpan file %s dengan nama \"%s\".\n"
 "\n"
 "Biasanya file berakhiran dengan \".%s\", dan beberapa program tidak dapat membuka file dengan ekstensi nonstandar.\n"
 "\n"
 "Anda yakin ingin menyimpan file dangan nama ini?"
 
-#: export/Export.cpp:612
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "File bernama \"%s\" telah ada. Ganti?"
 
-#: export/Export.cpp:710
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Trek Anda akan di-mix ke stereo pada pengeksporan file."
 
-#: export/Export.cpp:715
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Trek Anda akan di-mix ke mono pada pengeksporan file."
 
-#: export/Export.cpp:726
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Opsi Mixing Lanjut"
 
-#: export/Export.cpp:930
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr "Channel: %2d"
 
-#: export/Export.cpp:1046
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - Kiri"
 
-#: export/Export.cpp:1047
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - Kanan"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
 msgstr "Panel Mixer"
 
-#: export/Export.cpp:1078
-#: export/Export.cpp:1125
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Channel Output: %2d"
@@ -6154,97 +6484,119 @@ msgstr "Channel Output: %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Spesifikasi Encoder Baris Perintah"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr "Pengaturan Ekspor Baris Perintah"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Perintah:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Tunjukkan output"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
 msgstr "Data akan distandarkan. \"%f\" akan diganti dengan nama file yang dipilih tadi."
 
-#: export/ExportCL.cpp:222
+#: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr "(program eksternal)"
 
-#: export/ExportCL.cpp:253
-#: export/ExportPCM.cpp:457
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Tidak dapat mengekspor audio ke %s"
 
-#: export/ExportCL.cpp:327
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Mengekspor audio terpilih dengan encoder baris perintah"
 
-#: export/ExportCL.cpp:328
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Mengekspor proyek tersebut dengan encoder baris perintah"
 
-#: export/ExportCL.cpp:390
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Output Perintah"
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
 "You can configure it in Preferences->Import/Export."
 msgstr ""
+"FFMpeg yang dikonfigurasi diperlukan sebelumnya untuk diproses.\n"
+"Anda bisa mengaturnya di Preferensi->Impor/Ekspor."
+
+#: export/ExportFFmpeg.cpp:231
+msgid "AMR support is unlikely"
+msgstr "Dukungan AMR idak tersedia"
+
+#: export/ExportFFmpeg.cpp:231
+msgid ""
+"Properly configured FFmpeg is required to proceed. You can configure it in Preferences->Import/Export.\n"
+"However AMR support is not available with our FFmpeg installer, but requires you compile FFmpeg yourself."
+msgstr ""
+"FFMpeg yang dikonfigurasi diperlukan sebelumnya untuk diproses.Anda bisa mengaturnya di Preferensi->Impor/Ekspor.\n"
+"Tetapi, dukungan AMR tidak ada dalam installer FFmpeg kami, jadi anda butuh mengcompile FFmpeg sendiri."
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:432
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg tidak bisa mencari codec audio 0x%x.\n"
+"Pendukuk codec ini mungkin belum dibuat."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:654
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Sedang mengekspor %d saluran, tapi saluran maksimal untuk format ini adalah %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:683
 #, c-format
 msgid "Exporting selected audio as %s"
 msgstr "Exporting selected audio as %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting entire file as %s"
 msgstr "Mengekspor file sebagai %s"
 
-#: export/ExportFFmpeg.cpp:702
-#: export/ExportMP3.cpp:1920
+#: export/ExportFFmpeg.cpp:747
+#: export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr "Rate sampel tidak valid"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:760
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
-msgstr "Rate Sampel proyek (%d) tidak mendukung \n"
+msgstr ""
+"Rate Sampel proyek (%d) tidak mendukung \n"
 "file format output yang ada.  "
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:763
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
-msgstr "Kombinasi rate Sampel proyek (%d) dan bit ratenya (%d kbps) tidak\n"
+msgstr ""
+"Kombinasi rate Sampel proyek (%d) dan bit ratenya (%d kbps) tidak\n"
 "mendukung format file output yang ada."
 
-#: export/ExportFFmpeg.cpp:721
-#: export/ExportMP3.cpp:1939
+#: export/ExportFFmpeg.cpp:766
+#: export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "Anda harus menyampel ulang ke salah satu rate di bawah ini."
 
-#: export/ExportFFmpeg.cpp:749
-#: export/ExportMP3.cpp:1962
+#: export/ExportFFmpeg.cpp:794
+#: export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr "Rate Sampel"
 
@@ -6252,477 +6604,514 @@ msgstr "Rate Sampel"
 msgid "Specify AC3 Options"
 msgstr "Opsi Spesifikasi AC3"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
 msgstr "Aturan Ekspor AC3"
 
-#: export/ExportFFmpegDialogs.cpp:121
-#: export/ExportFFmpegDialogs.cpp:245
-#: export/ExportFFmpegDialogs.cpp:314
-#: export/ExportFFmpegDialogs.cpp:385
-#: export/ExportFFmpegDialogs.cpp:937
-#: export/ExportMP2.cpp:133
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:925
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Bit Rate:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
 msgstr "Opsi Spesifikasi AAC"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
 msgstr "Aturan Ekspor AAC"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr "Opsi Spesifikasi AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
 msgstr "Pengaturan Ekspor AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
 msgstr "Opsi Spesifikasi AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
 msgstr "Pengaturan Ekspor AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
 msgstr "Opsi Spesifikasi WMA"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
 msgstr "Pengaturan Ekspor WMA"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:490
 #, c-format
 msgid "Overwrite preset '%s'?"
 msgstr "Tiban aturan lanjut '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:491
 msgid "Confirm Overwrite"
 msgstr "Konfirmasi Penibanan"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:503
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Silahkan pilih format sebelium menyimpan profil"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:511
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Silahkan pilih codec sebelium menyimpan profil"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:581
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "Preset '%s' tidak ada."
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:796
 msgid "Specify Other Options"
 msgstr "Opsi Spesifikasi yang Lainnya"
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:885
 msgid "Preset:"
 msgstr "Aturan Lanjut:"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Load Preset"
 msgstr "Ambil Aturan Lanjut"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Save Preset"
 msgstr "Simpan Aturan Lanjut"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Delete Preset"
 msgstr "Hapus Aturan Lanjut"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Import Presets"
 msgstr "Impor Aturan Lajut"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Export Presets"
 msgstr "Ekspor Aturan Lanjut"
 
-#: export/ExportFFmpegDialogs.cpp:907
+#: export/ExportFFmpegDialogs.cpp:895
 msgid "Format:"
 msgstr "Format:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:897
 msgid "Codec:"
 msgstr "Codec:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:901
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
 msgstr "Tidak semua format dan codec kompetibel. Beberapa kombinasi parameter (seperti bitrate dan sampelrate) tidak kompetibel juga dengan beberapa codec"
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:904
 msgid "Format selector:"
 msgstr "Pemilih format:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Codec selector:"
 msgstr "Pemilih codec:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:907
 msgid "Show All Formats"
 msgstr "Tunjukkan Semua Format"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Codecs"
 msgstr "Tunjukkan Semua Codec"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:915
 msgid "Options"
-msgstr ""
+msgstr "Opsi"
 
-#: export/ExportFFmpegDialogs.cpp:931
-#: prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:919
+#: prefs/GUIPrefs.cpp:289
 msgid "Language:"
 msgstr "Bahasa:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:920
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
-msgstr "Tiga karakter kode bahasa berdasarkan ISO 639\n"
+msgstr ""
+"Tiga karakter kode bahasa berdasarkan ISO 639\n"
 "Opsi\n"
 "kosong - otomatis"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:922
 msgid "Tag:"
 msgstr "Tag:"
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:923
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
-msgstr "Tag codec (FOURCC)\n"
+msgstr ""
+"Tag codec (FOURCC)\n"
 "Opsi\n"
 "kosong - otomatis"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:926
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
-msgstr "Bit Rate (bit/detik) - menunjukkan hasil pada ukuran file dan kualitas\n"
+msgstr ""
+"Bit Rate (bit/detik) - menunjukkan hasil pada ukuran file dan kualitas\n"
 "Beberapa codec mungkin hanya menunjukkan nilai spesifik (128k, 192k, 256k, dll)\n"
 "0 - otomatis\n"
 "Direkomendasikan - 192000"
 
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
+#: export/ExportFFmpegDialogs.cpp:928
+#: export/ExportOGG.cpp:84
 msgid "Quality:"
 msgstr "Kualitas:"
 
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:929
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
-msgstr "Kualitas keseluruhan, digunakan berbeda oleh codec yang berbeda pula\n"
+msgstr ""
+"Kualitas keseluruhan, digunakan berbeda oleh codec yang berbeda pula\n"
 "Diperlukan untuk Vorbis\n"
 "0 - otomatis\n"
-"-1 - mati (jadi, gunakan bitrate)"
+"-1 - mati (gunakan bitrate)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:931
 msgid "Sample Rate:"
 msgstr "Rate Sampel:"
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:932
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
-msgstr "Rate sampel (Hz)\n"
+msgstr ""
+"Rate sampel (Hz)\n"
 "0 - jangan ubah rate sampel"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:934
 msgid "Cutoff Bandwidth:"
 msgstr "Bandwidth yang Dipotong:"
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:935
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
-msgstr "Bandwidth audio yang dipotong (Hz)\n"
+"0 - automatic"
+msgstr ""
+"Bandwidth audio yang dipotong (Hz)\n"
 "Opsi\n"
-"0 - otomatis\n"
+"0 - otomatis"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:937
 msgid "Profile:"
 msgstr "Profil:"
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:939
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
-msgstr "Profil AAC\n"
+msgstr ""
+"Profil AAC\n"
 "Kompleksitas Rendah (LC) -biasa\n"
 "Kebannyakan player tidak mau mainkan apapun selain LC"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:941
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Gunakan Penampung Bit"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:944
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Gunakan Panjang Blok Variabel"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:949
 msgid "FLAC options"
-msgstr ""
+msgstr "Opsi FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:953
 msgid "Compression Level:"
 msgstr "Level pengompres:"
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:954
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
-msgstr "Level pengompresan\n"
+msgstr ""
+"Level pengompresan\n"
 "Diperlukan untuk FLAC\n"
 "-1 - otomatis\n"
 "min - 0 (encoding cepat, file output besar)\n"
 "maks - 10 (encoding lambat, file output kecil)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:956
 msgid "Frame Size:"
 msgstr "Ukuran Bingkai:"
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:957
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
-msgstr "Ukuran bingkai\n"
+msgstr ""
+"Ukuran bingkai\n"
 "Opsi\n"
 "0 - biasa\n"
 "min - 16\n"
 "maks - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:959
 msgid "LPC coefficients precision"
 msgstr "Presisi Koefisien LPC"
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:960
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
-msgstr "Presisi koefisien LPC\n"
+msgstr ""
+"Presisi koefisien LPC\n"
 "Opsi\n"
 "0 - biasa\n"
 "min - 1\n"
 "maks - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:962
 msgid "Minimal prediction order"
 msgstr "Prediksi persebaran minimal"
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:963
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr "Prediksi persebaran minimal\n"
+msgstr ""
+"Prediksi persebaran minimal\n"
 "Opsi\n"
 "-1 - biasa\n"
 "min - 0\n"
 "maks - 32 (dengan LPC) atau 4 (tanpa LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:965
 msgid "Maximal prediction order"
 msgstr "Prediksi persebaran maksimal"
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:966
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr "Prediksi persebaran maksimal\n"
+msgstr ""
+"Prediksi persebaran maksimal\n"
 "Opsi\n"
 "-1 - biasa\n"
 "min - 0\n"
 "maks - 32 (dengan LPC) atau 4 (tanpa LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:968
 msgid "Prediction Order Method:"
 msgstr "Metode prediksi persebaran:"
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:970
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
-msgstr "Metode Prediksi Persebaran\n"
+msgstr ""
+"Metode Prediksi Persebaran\n"
 "Mapan - tercepat, kompresi lebih rendah\n"
 "Pencarian Log - terlambat, kompresi lebih tinggi\n"
 "Pencarian Penuh - biasa"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:972
 msgid "Minimal partition order"
 msgstr "Pembagian persebaran minimal"
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:973
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr "Pembagian persebaran minimal\n"
+msgstr ""
+"Pembagian persebaran minimal\n"
 "Opsi\n"
 "-1 - biasa\n"
 "min - 0\n"
 "maks - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:975
 msgid "Maximal partition order"
 msgstr "Pembagian persebaran maksimal"
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:976
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr "Pembagian persebaran maksimall\n"
+msgstr ""
+"Pembagian persebaran maksimall\n"
 "Opsi\n"
 "-1 - biasa\n"
 "min - 0\n"
 "maks - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:978
 msgid "Use LPC"
-msgstr ""
+msgstr "Gunakan LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:985
 msgid "MPEG container options"
-msgstr ""
+msgstr "Opsi kontainer MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:989
 msgid "Mux Rate:"
 msgstr "Mux Rate:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:990
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
-msgstr "Bit rate maksimum stream rumit\n"
+msgstr ""
+"Bit rate maksimum stream rumit\n"
 "Opsi\n"
 "0 - biasa"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:992
 msgid "Packet Size:"
 msgstr "Ukuran paket:"
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:993
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
-msgstr "Ukuran paket\n"
+msgstr ""
+"Ukuran paket\n"
 "Opsi\n"
 "0 - biasa"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1208
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Anda tidak bisa menghapus preset tanpa nama"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1212
 #, c-format
 msgid "Delete preset '%s'?"
 msgstr "Hapus aturan lanjut '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1231
 msgid "You can't save a preset without name"
 msgstr "And tidak bisa menyimpan aturan lanjut tanpa nama"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1271
 msgid "Select xml file with presets to import"
 msgstr "Pilih file xml dengan aturan lanjut untuk diimpor"
 
-#: prefs/KeyConfigPrefs.cpp:202
+#: export/ExportFFmpegDialogs.cpp:1274
+#: export/ExportFFmpegDialogs.cpp:1294
+#: prefs/KeyConfigPrefs.cpp:224
+#: prefs/KeyConfigPrefs.cpp:255
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "File XML (*.xml)|*.xml|All files (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1292
+#: export/ExportFFmpegDialogs.cpp:1291
 msgid "Select xml file to export presets into"
 msgstr "Pilih file xml untuk mengekspor aturan lanjut ke dalam"
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1362
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Gagal menebak format"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1404
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "Gagal mencari codec"
 
-#: export/ExportFFmpegDialogs.h:53
+#: export/ExportFFmpegDialogs.h:54
 msgid "M4A (AAC) Files (FFmpeg)"
 msgstr "File M4A (AAC) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:54
+#: export/ExportFFmpegDialogs.h:55
 msgid "AC3 Files (FFmpeg)"
 msgstr "File AC3 (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr "File AMR-NB (FFmpeg)"
-
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr "File AMR-WB (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "File AMR (jangakuan sempit) (FFmpeg, tidak terdistribusi)"
 
 #: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "File AMR (jangakuan luas) (FFmpeg, tidak terdistribusi)"
+
+#: export/ExportFFmpegDialogs.h:58
 msgid "WMA (version 2) Files (FFmpeg)"
 msgstr "File WMA (v2) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:58
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
 msgstr "Pengeksporan FFmpeg Pilihan Sendiri"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
 msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
 msgstr "Kompleksitas Rendah"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
 msgstr "Profil utama"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
 msgstr "2 level"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
 msgstr "4 level"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
 msgstr "8 level"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
 msgstr "Mapan"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
 msgstr "Pencarian Penuh"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
 msgstr "Pencarian Log"
 
@@ -6730,71 +7119,85 @@ msgstr "Pencarian Log"
 msgid "Specify FLAC Options"
 msgstr "Opsi Spesifikasi FLAC"
 
-#: export/ExportFLAC.cpp:81
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (tercepat)"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "4"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (terbaik)"
 
-#: export/ExportFLAC.cpp:92
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16 bit"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24 bit"
 
-#: export/ExportFLAC.cpp:97
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "Aturan Ekspor FLAC"
 
-#: export/ExportFLAC.cpp:101
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Tingkat:"
 
-#: export/ExportFLAC.cpp:103
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Kedalaman bit:"
 
-#: export/ExportFLAC.cpp:209
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr "File FLAC"
 
-#: export/ExportFLAC.cpp:312
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "Eksortir FLAC tidak bisa membuka %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"Encoder FLAC gagal menginisialisasi\n"
+"Status: %d"
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr "Mengekspor audio yang dipilih ke FLAC"
 
-#: export/ExportFLAC.cpp:313
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Mengekspor proyek yang ditentukan sebagai FLAC"
 
@@ -6802,72 +7205,72 @@ msgstr "Mengekspor proyek yang ditentukan sebagai FLAC"
 msgid "Specify MP2 Options"
 msgstr "Opsi Spesifikasi MP2"
 
-#: export/ExportMP2.cpp:129
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "Pengaturan Ekspor MP2"
 
-#: export/ExportMP2.cpp:202
+#: export/ExportMP2.cpp:200
 msgid "MP2 Files"
 msgstr "File MP2"
 
-#: export/ExportMP2.cpp:232
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Tidak bisa mengekspor MP2 dengan rate sampel dan bit rate ini"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1771
-#: export/ExportOGG.cpp:186
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1619
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Tidak dapat membuka file target untuk ditulis"
 
-#: export/ExportMP2.cpp:274
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Mengekspor audio terpilih pada %d kbps"
 
-#: export/ExportMP2.cpp:275
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Mengekspor file pada %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr "(Kualitas Terbaik)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr "(File yang lebih kecil)"
 
-#: export/ExportMP3.cpp:243
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Cepat"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
-#: prefs/GUIPrefs.cpp:49
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:107
+#: prefs/GUIPrefs.cpp:223
 msgid "Standard"
 msgstr "Standar"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr "Parah"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr "Ekstrim"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr "Sedang"
 
-#: export/ExportMP3.cpp:303
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr "Opsi Spesifikasi MP3"
 
@@ -6896,8 +7299,7 @@ msgid "Constant"
 msgstr "Konstan"
 
 #: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:40
 msgid "Quality"
 msgstr "Kualitas"
 
@@ -6932,501 +7334,553 @@ msgstr "Untuk mendapatkan salinan Lame gratis, klik di sini ==>"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"Anda menghubungkan lame_enc.dll v%d.%d. Viersi ini tidak cocok dengan Audacity %d.%d.%d.\n"
+"Silahkan download versi akhir referensi LAME MP3."
 
-#: export/ExportMP3.cpp:1094
+#: export/ExportMP3.cpp:1328
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Hanya lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 
-#: export/ExportMP3.cpp:1550
+#: export/ExportMP3.cpp:1346
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Hanya libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|Semua File (*)|*"
 
-#: export/ExportMP3.cpp:1567
+#: export/ExportMP3.cpp:1364
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Hanya libmp3lame.so.0|libmp3lame.so.0|File Primary Shared Object (*.so)|*.so|Extended Libraries (*.so*)|*.so*|Semua File (*)|*"
 
-#: export/ExportMP3.cpp:1652
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "File MP3"
 
-#: export/ExportMP3.cpp:1676
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "Tidak bisa membuka referensi encoding MP3!"
 
-#: export/ExportMP3.cpp:1683
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Referensi encoding MP3 tidak valid atau terdukung"
 
-#: export/ExportMP3.cpp:1760
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "Tidak bisa menginisialisasi strim MP3"
 
-#: export/ExportMP3.cpp:1802
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "Mengekspor audio terpilih dengan %s aturan lanjut"
 
-#: export/ExportMP3.cpp:1803
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Mengekspor file terpilih dengan %s aturan lanjut"
 
-#: export/ExportMP3.cpp:1808
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "Mengekspor audio terpilih dengan kualitas VBR %s"
 
-#: export/ExportMP3.cpp:1809
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Mengekspor file tersebut dengan kualitas VBR %s"
 
-#: export/ExportMP3.cpp:1814
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr "Mengekspor audio terpilih pada %d Kbps"
 
-#: export/ExportMP3.cpp:1815
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Mengekspor file tersebut pada %d Kbps"
 
-#: export/ExportMP3.cpp:1849
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Error %d ditolak dari encoder MP3"
 
-#: export/ExportMP3.cpp:1933
+#: export/ExportMP3.cpp:1790
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
-msgstr "Rate Sampel proyek (%d) tidak mendukung \n"
+msgstr ""
+"Rate Sampel proyek (%d) tidak mendukung \n"
 "file format MP3.  "
 
-#: export/ExportMP3.cpp:1936
+#: export/ExportMP3.cpp:1793
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr "Kombinasi rate Sampel proyek (%d) dan bit ratenya (%d kbps) tidak\n"
+msgstr ""
+"Kombinasi rate Sampel proyek (%d) dan bit ratenya (%d kbps) tidak\n"
 "mendukung format file MP3."
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Referensi Ekspor MP3 tidak ditemukan"
 
-#: export/ExportMultiple.cpp:96
-#: export/ExportMultiple.cpp:426
-#: export/ExportMultiple.cpp:667
-#: export/ExportMultiple.cpp:834
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Ekspor Banyak"
 
-#: export/ExportMultiple.cpp:166
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Jika Anda mempunyai lebih dari satu Trek Audio, Anda bisa mengekspor setiap trek dalam file-file terpisah,\n"
+msgstr ""
+"Jika Anda mempunyai lebih dari satu Trek Audio, Anda bisa mengekspor setiap trek dalam file-file terpisah,\n"
 "atau jika Anda mempunyai label pada trek, Anda bisa mengekspornya berdasarkan labelnya.\n"
 "\n"
 "Proyek ini tidak mempunyai trek atau label yang banyak, jadi Anda tidak bisa mengekspor file seperti yang Anda perintahkan."
 
-#: export/ExportMultiple.cpp:167
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Tidak bisa mengekspor file-file"
 
-#: export/ExportMultiple.cpp:232
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Format Ekspor:"
 
-#: export/ExportMultiple.cpp:237
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Opsi..."
 
-#: export/ExportMultiple.cpp:241
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Lokasi ekspor:"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Pilih..."
-
-#: export/ExportMultiple.cpp:246
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Buat"
 
-#: export/ExportMultiple.cpp:253
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Penggabungan file berdasarkan:"
 
-#: export/ExportMultiple.cpp:262
-#: export/ExportMultiple.cpp:264
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Label"
 
-#: export/ExportMultiple.cpp:269
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Termasuk audio sebelum label pertama"
 
-#: export/ExportMultiple.cpp:275
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Nama file pertama:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
 msgstr "Nama file pertama"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Trek"
-
-#: export/ExportMultiple.cpp:297
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Nama file:"
 
-#: export/ExportMultiple.cpp:306
-#: export/ExportMultiple.cpp:308
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Menggunakan Nama Label/Trek"
 
-#: export/ExportMultiple.cpp:314
-#: export/ExportMultiple.cpp:316
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Penomoran secara otomatis"
 
-#: export/ExportMultiple.cpp:322
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Awalan naman file:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
 msgstr "Awalan naman file"
 
-#: export/ExportMultiple.cpp:341
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Meniban file yang sudah ada"
 
-#: export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "\"%s\" telah dibuat."
 
-#: export/ExportMultiple.cpp:433
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Pilih lokasi untuk menyimpan hasil ekspor"
 
-#: export/ExportMultiple.cpp:539
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid "Successfully exported the following %ld file(s)."
+msgstr "Telah terekspor %ld file."
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr "Ada sesuatu yang salah setelah mengekspor %ld file."
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "Ekspor dibatalkan setelah mengekspor %ld file."
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "Ekspor dihentikan setelah mengekspor %ld file."
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "Ada sesuatu yang fatal setelah mengekspor %ld file."
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "EksporMultipel"
+
+#: export/ExportMultiple.cpp:570
+#, c-format
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
-msgstr "\"%s\" tidak ada.\n"
+msgstr ""
+"\"%s\" tidak ada.\n"
 "\n"
 "Apakah Anda mingin membuatnya?"
 
-#: export/ExportMultiple.cpp:637
-#: export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Edit Metadata"
 
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Telah terekspor %d file."
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Sesuatu gagal setelah mengekspor %d file."
-
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:923
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr "Label %s bukan nama file yang legal. Anda tidak bisa menggunakan:   %s\n"
+msgstr ""
+"Label %s bukan nama file yang legal. Anda tidak bisa menggunakan:   %s\n"
 "Gunakan..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
 msgstr "Opsi Spesifikasi Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Pengaturan Ekspor Ogg Vorbis"
 
-#: export/ExportOGG.cpp:157
+#: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
 msgstr "File Ogg Vorbis"
 
-#: export/ExportOGG.cpp:257
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Mengekspor audio terpilih sebagai Ogg Vorbis"
 
-#: export/ExportOGG.cpp:258
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Mengekspor proyek sebagai Ogg Vorbis"
 
-#: export/ExportPCM.cpp:116
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
 msgstr "Opsi Spesifikasi Tak Terkompres"
 
-#: export/ExportPCM.cpp:185
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Pengaturan Ekspor Tanpa Pengompresan"
 
-#: export/ExportPCM.cpp:191
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr "Catatan Kepala:"
 
-#: export/ExportPCM.cpp:195
-#: import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Encoding:"
 
-#: export/ExportPCM.cpp:200
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(Tidak semua kombinasi catatan kepala dan encoding bisa dipakai.)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
 msgstr "File tanpa terkompres lainnya"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
 msgstr "AIFF (Apple) tertanda 16 bit PCM"
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
 msgstr "WAV (Microsoft) tertanda 16 bit PCM"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
 msgstr "GSM 6.10 WAV (telepon genggam)"
 
-#: export/ExportPCM.cpp:449
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Tidak bisa mengekspor audio pada format ini."
 
-#: export/ExportPCM.cpp:491
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "Mengekspor audio terpilih sebagai %s"
 
-#: export/ExportPCM.cpp:493
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Mengekspor proyek yang tersedia sebagai %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:531
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Error (file tidak mungkin ditulis): %s"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Tidak ada opsi untuk format ini.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Jika Anda butuh kendali lebih dalam format ekspor, silahkan gunakan format \"file tanpa terkompres lainnya\"."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "File Anda akan diekspor sebagai file AIFF 16-bit (Apple/SGI).\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "File Anda akan diekspor sebagai file WAV 16-bit (Microsoft).\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "File Anda akan diekspor sebagai file WAV GSM 6.10.\n"
 
-#: import/Import.cpp:156
+#: import/Import.cpp:162
 #: import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "File MP3"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
 msgstr "Pilih stream untuk diimpor"
 
-#: import/Import.cpp:227
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Versi Audacity ini tidak di-compile dengan dukungan %s."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
-msgstr "\"%s\" \n"
+msgstr ""
+"\"%s\" \n"
 "adalah file MIDI, buka file audio. \n"
 "Audacity tidak bisa membuka tipe file ini untuk dimainkan, tapi Anda bisa \n"
 "mengeditnya dengan mengklik Berkas > Impor > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:250
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr "\"%s\" adalah trek CD audio. \n"
+msgstr ""
+"\"%s\" adalah trek CD audio. \n"
 "Audacity tidak bisa membuka CD audio secara langsung. \n"
 "Ekstrak (rip) trek CD ke format Audio itu \n"
 "Audacity bisa mengimpor salah satunya WAV atau AIFF."
 
-#: import/Import.cpp:256
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr "\"%s\" adalah file playlist. \n"
+msgstr ""
+"\"%s\" adalah file playlist. \n"
 "Audacity tidak bisa membuka file karena ini hanya mempunyai link ke file lain. \n"
 "Anda bisa membuka file ini pada editor teks dan download file audio yang asli."
 
-#: import/Import.cpp:261
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file Windows Media Audio. \n"
+msgstr ""
+"\"%s\" adalah file Windows Media Audio. \n"
 "Audacity tidak bisa membuka tipe file ini karena pelarangan paten. \n"
 "Anda perlu mengubahnya ke format audio yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:266
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file Advanced Audio Coding. \n"
+msgstr ""
+"\"%s\" adalah file Advanced Audio Coding. \n"
 "Audacity tidak bisa membuka file ini. \n"
 "Anda perlu mengubahnya ke format audio yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr "\"%s\" adalah file audio terenkripsi. \n"
+msgstr ""
+"\"%s\" adalah file audio terenkripsi. \n"
 "Ini biasanya didapat dari toko musik online. \n"
 "Audacity tidak bisa membuka tipe file ini karena enkripsi. \n"
 "Coba rekam file ke dalam Audacity, atau bakar ke CD audio kemudian \n"
 "ekstrak trek CD ke format audio yang mendukung seperti WAV atau AIFF."
 
-#: import/Import.cpp:276
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" is a file media RealPlayer. \n"
+msgstr ""
+"\"%s\" is a file media RealPlayer. \n"
 "Audacity tidak bisa membuka format berbayar ini. \n"
 "Anda perlu mengubah ke format audio yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:282
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
-msgstr "\"%s\" adalah file berbasis teks, bukan file audio. \n"
+msgstr ""
+"\"%s\" adalah file berbasis teks, bukan file audio. \n"
 "Audacity tidak bisa membuka tipe file ini. \n"
 "Coba ubah ke format audio seperti WAV atau AIFF dan \n"
 "kemudian imporkan, atau rekam ke dalam Audacity."
 
-#: import/Import.cpp:288
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file audio Musepack. \n"
+msgstr ""
+"\"%s\" adalah file audio Musepack. \n"
 "Audacity tidak bisa membuka tipe file ini. \n"
 "Jika anda berpikir ini adalah file mp3, ganti nama ekstensi file Anda ke \".mp3\" \n"
 "dan coba mengimpor lagi. Atau anda perlu mengubah ke format audio yang mendukung, \n"
 "seperti WAV atau AIFF."
 
-#: import/Import.cpp:294
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file audio Wavpack. \n"
+msgstr ""
+"\"%s\" adalah file audio Wavpack. \n"
 "Audacity tidak bisa membuka tipe file ini. \n"
 "Anda perlu mengubah ke format audio yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:300
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file audio Dolby Digital. \n"
+msgstr ""
+"\"%s\" adalah file audio Dolby Digital. \n"
 "Audacity tidak bisa membuka tipe file ini. \n"
 "Anda perlu mengubah ke format audio yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:306
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file audio Ogg Speex. \n"
+msgstr ""
+"\"%s\" adalah file audio Ogg Speex. \n"
 "Audacity tidak bisa membuka tipe file ini. \n"
 "Anda perlu mengubah ke format audio yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
-msgstr "\"%s\" adalah file video. \n"
+msgstr ""
+"\"%s\" adalah file video. \n"
 "Audacity belum bisa membuka tipe file ini. \n"
 "Anda perlu mengekstrak audio ke format yang mendukung, seperti WAV atau AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
-msgstr "Audacity tidak dapat membaca tipe file '%s'.\n"
+msgstr ""
+"Audacity tidak dapat membaca tipe file '%s'.\n"
 "Jika ini tidak dikompres, coba mengimpornya dengan menggunakan \"Import Raw\""
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
-msgstr "Audacity dapat membaca tipe file '%s'.\n"
+msgstr ""
+"Audacity dapat membaca tipe file '%s'.\n"
 "Tapi tidak bisa diimpor."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
 msgstr "File yang berkompetibel dengan FFmpeg"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Indeks[%02x] Codec[%S], Bahasa[%S], Bitrate[%S], Saluran[%d], Durasi[%d]"
 
 #: import/ImportFLAC.cpp:43
 msgid "FLAC files"
 msgstr "File FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "File GSteramer yang kompetibel"
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Daftar file dalam format teks dasar"
@@ -7497,82 +7951,82 @@ msgstr "Vorbis bitstream header tidak valid"
 msgid "Internal logic fault"
 msgstr "Kesalahan logika internal"
 
-#: import/ImportPCM.cpp:54
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, dan tipe tanpa terkompres lainnya"
 
-#: import/ImportPlugin.h:142
-#: import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
 msgstr "Mengimpor %s"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "File QuickTime"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
 msgstr "Impor Raw"
 
-#: import/ImportRaw.cpp:282
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Impor Data Raw"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:327
+#: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr "Tidak ada pengakhiran"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:330
+#: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr "Pengakhiran Kecil"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "PEngakhiran Besar"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:336
+#: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr "Pengakhiran Biasa"
 
-#: import/ImportRaw.cpp:355
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 Saluran (Mono)"
 
-#: import/ImportRaw.cpp:356
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 Saluran (Stereo)"
 
-#: import/ImportRaw.cpp:358
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d Saluran"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
 msgstr "Persebaran byte:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
 msgstr "Saluran:"
 
-#: import/ImportRaw.cpp:382
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Awal penyeimbangan:"
 
-#: import/ImportRaw.cpp:388
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Besar yang diimpor:"
 
-#: import/ImportRaw.cpp:394
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Rate sampel:"
 
@@ -7589,1061 +8043,1154 @@ msgstr "Men-decode Waveform"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr "%s %2.0f%% selesai.  Klik untuk mengubah titik tugas."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Audio I/O"
-
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/AudioIOPrefs.cpp:58
+msgid "Devices"
+msgstr "Perangkat"
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/AudioIOPrefs.cpp:112
+#: prefs/GUIPrefs.cpp:205
+msgid "Interface"
+msgstr "Tampilan"
 
 #: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Memainkan"
-
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Perangkat"
+msgid "Host"
+msgstr "Host"
 
 #: prefs/AudioIOPrefs.cpp:124
 #: prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Menggunakan:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:132
+#: prefs/AudioIOPrefs.cpp:291
+#: prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "Memainkan"
 
-#: prefs/AudioIOPrefs.cpp:135
-#: prefs/MidiIOPrefs.cpp:132
+#: prefs/AudioIOPrefs.cpp:145
+#: prefs/AudioIOPrefs.cpp:379
+#: prefs/MidiIOPrefs.cpp:128
 msgid "Recording"
 msgstr "Merekam"
 
-#: prefs/AudioIOPrefs.cpp:141
-#: prefs/MidiIOPrefs.cpp:138
+#: prefs/AudioIOPrefs.cpp:155
+#: prefs/MidiIOPrefs.cpp:134
 msgid "Channels"
 msgstr "Saluran"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "Selama Bermain"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "OverDub: &Mainkan trek lain ketika merekam"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Selama Bermain pada &Hardware: Mainkan trek baru ketika merekamnya"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Selama Bermain pada &Software: Mainkan trek baru ketika merekamnya"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "Selama Bermain pada &Software: Mainkan trek baru ketika merekam atau memantau"
+#: prefs/AudioIOPrefs.cpp:245
+#: prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(hilangkan cek ketika merekam \"stereo mix\")"
+#: prefs/AudioIOPrefs.cpp:248
+#: prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
+#: prefs/AudioIOPrefs.cpp:315
+#: prefs/MidiIOPrefs.cpp:187
 msgid "Effects Preview"
 msgstr "Efek preview"
 
-#: prefs/AudioIOPrefs.cpp:171
+#: prefs/AudioIOPrefs.cpp:319
 msgid "Length of preview:"
 msgstr "Panjang preview:"
 
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
+#: prefs/AudioIOPrefs.cpp:329
+#: prefs/MidiIOPrefs.cpp:153
 msgid "Cut Preview"
 msgstr "Preview Potongan"
 
-#: prefs/AudioIOPrefs.cpp:179
+#: prefs/AudioIOPrefs.cpp:333
 msgid "Preview before cut region:"
 msgstr "Preview sebelum wilayah dipotong:"
 
-#: prefs/AudioIOPrefs.cpp:181
+#: prefs/AudioIOPrefs.cpp:339
 msgid "Preview after cut region:"
 msgstr "Preview sesudah wilayah dipotong:"
 
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Laten"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Audio yang akan di-buffer:\n"
-"(lebih tinggi = lebih laten)"
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Koreksi laten:\n"
-"(negatif=percepat ke awal)"
-
-#: prefs/AudioIOPrefs.cpp:203
+#: prefs/AudioIOPrefs.cpp:349
 msgid "Seek Time when playing"
 msgstr "Coba waktu ketika bermain"
 
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
+#: prefs/AudioIOPrefs.cpp:353
+#: prefs/MidiIOPrefs.cpp:180
 msgid "Short period:"
 msgstr "Periode pendek:"
 
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
+#: prefs/AudioIOPrefs.cpp:359
+#: prefs/MidiIOPrefs.cpp:182
 msgid "Long period:"
 msgstr "Periode panjang:"
 
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
+#: prefs/AudioIOPrefs.cpp:403
+#: prefs/MidiIOPrefs.cpp:140
+msgid "Playthrough"
+msgstr "Selama Bermain"
+
+#: prefs/AudioIOPrefs.cpp:405
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "OverDub: &Mainkan trek lain ketika merekam"
+
+#: prefs/AudioIOPrefs.cpp:409
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Selama Bermain pada &Hardware: Mainkan trek baru ketika merekamnya"
+
+#: prefs/AudioIOPrefs.cpp:413
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "Selama Bermain pada &Software: Mainkan trek baru ketika merekam atau memantau"
+
+#: prefs/AudioIOPrefs.cpp:417
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(hilangkan cek ketika merekam \"stereo mix\")"
+
+#: prefs/AudioIOPrefs.cpp:422
+#: prefs/MidiIOPrefs.cpp:163
+msgid "Latency"
+msgstr "Laten"
+
+#: prefs/AudioIOPrefs.cpp:428
+#: prefs/MidiIOPrefs.cpp:168
+msgid "Audio to buffer:"
+msgstr "Audio yang dibuffer:"
+
+#: prefs/AudioIOPrefs.cpp:432
+msgid "milliseconds (higher = more latency)"
+msgstr "milidetik (lebih tinggi = lebih laten)"
+
+#: prefs/AudioIOPrefs.cpp:434
+#: prefs/MidiIOPrefs.cpp:170
+msgid "Latency correction:"
+msgstr "Koreksi laten:"
+
+#: prefs/AudioIOPrefs.cpp:438
+msgid "milliseconds (negative = backwards)"
+msgstr "milidetik (negatif=percepat ke awal)"
+
+#: prefs/AudioIOPrefs.cpp:444
+#: prefs/AudioIOPrefs.cpp:446
+#: prefs/SmartRecordPrefs.cpp:61
+#: prefs/SmartRecordPrefs.cpp:63
+msgid "Sound Activated Recording"
+msgstr "Meream dengan Suara Diaktifkan"
+
+#: prefs/AudioIOPrefs.cpp:455
+#: prefs/SmartRecordPrefs.cpp:71
+msgid "Sound Activation Level (dB):"
+msgstr "Level Pengaktifan Suara (dB):"
+
+#: prefs/BatchPrefs.cpp:53
 msgid "Batch"
 msgstr "Batch"
 
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
+#: prefs/BatchPrefs.cpp:75
+#: prefs/GUIPrefs.cpp:160
+#: prefs/GUIPrefs.cpp:307
 msgid "Behaviors"
 msgstr "Kelakuan"
 
-#: prefs/BatchPrefs.cpp:80
+#: prefs/BatchPrefs.cpp:78
 msgid "&Don't apply effects in batch mode"
 msgstr "&Jangan aplikasikan efek pada mode batch"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
+#: prefs/BatchPrefs.cpp:81
+#: prefs/GUIPrefs.cpp:325
 msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr "Mode Cl&eanSpeech (Dengan model GUI)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
-#: prefs/PrefsDialog.cpp:267
+#: prefs/DirectoriesPrefs.cpp:52
+#: prefs/PrefsDialog.cpp:181
 msgid "Directories"
 msgstr "Direktori"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Direktori file sementara"
 
-#: prefs/DirectoriesPrefs.cpp:91
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Lokasi:"
 
-#: prefs/DirectoriesPrefs.cpp:93
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Ruang Disk yang Bebas:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Simpan otomatis"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Simpan otomatis salinan proyek pada folder terpisah"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Jarak waktu penyimpanan otomatis:"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr "Cache Audio"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "menit"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "Mainkan dan/atau rekam menggunakan RAM (berguna untuk driver tingkat rendah)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Cache Audio"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Meomri Bebas Minimum (MB):"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr "Mainkan dan/atau rekam menggunakan RAM (berguna untuk performa driver rendah, tapi bisa menyebabkan crash akibat panjang file atau panjang merekam)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
+"Jika memori sistem yang ada di bawah biasanya, audio tidak akan\n"
+"disimpan di memori dan akan ditulis ke disk."
 
-#: prefs/DirectoriesPrefs.cpp:121
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Pilih lokasi untuk meletakkan direktori temporer"
 
-#: prefs/DirectoriesPrefs.cpp:166
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "tidak dibolehkan - lokasi di atas tidak ada"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "Direktori %s belum ada. Buat dulu?"
 
-#: prefs/DirectoriesPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Direktori Temporer Baru"
 
-#: prefs/DirectoriesPrefs.cpp:187
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "Direktori %s tidak bisa ditulis"
 
-#: prefs/DirectoriesPrefs.cpp:199
+#: prefs/DirectoriesPrefs.cpp:207
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Pengubahan direktori temporer tidak berefek sampai Audacity dihidupkan ulang"
 
 #: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "Impor / Ekspor"
+msgid "Libraries"
+msgstr "Referensi"
 
-#: prefs/FileFormatPrefs.cpp:84
+#: prefs/FileFormatPrefs.cpp:86
 msgid "MP3 Export Library"
 msgstr "Referensi Pengeksporan  MP3"
 
-#: prefs/FileFormatPrefs.cpp:87
+#: prefs/FileFormatPrefs.cpp:90
 msgid "MP3 Library Version:"
 msgstr "Versi Referensi MP3:"
 
-#: prefs/FileFormatPrefs.cpp:93
+#: prefs/FileFormatPrefs.cpp:96
 msgid "MP3 Library:"
 msgstr "Referensi MP3:"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+#: prefs/FileFormatPrefs.cpp:99
+#: prefs/FileFormatPrefs.cpp:131
 msgid "&Locate..."
-msgstr ""
+msgstr "&Tempatkan..."
 
-#: prefs/FileFormatPrefs.cpp:98
+#: prefs/FileFormatPrefs.cpp:101
 msgid "LAME MP3 Library:"
 msgstr "Referensi LAME MP3"
 
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
+#: prefs/FileFormatPrefs.cpp:104
+#: prefs/FileFormatPrefs.cpp:137
 msgid "&Download"
 msgstr "&Download"
 
-#: prefs/FileFormatPrefs.cpp:106
+#: prefs/FileFormatPrefs.cpp:111
 msgid "FFmpeg Import/Export Library"
 msgstr "Referensi Impor/Ekspor FFmpeg"
 
-#: prefs/FileFormatPrefs.cpp:109
+#: prefs/FileFormatPrefs.cpp:115
 msgid "FFmpeg Library Version:"
 msgstr "Versi Referensi FFmpeg:"
 
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
+#: prefs/FileFormatPrefs.cpp:119
+msgid "No compatible FFmpeg library was found"
+msgstr "Referensi FFmpeg yang tidak kompetibel ditemukan"
+
+#: prefs/FileFormatPrefs.cpp:127
+#: prefs/FileFormatPrefs.cpp:133
 msgid "FFmpeg Library:"
 msgstr "Referensi FFmpeg:"
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Catatan: Opsi kualitas ekspor bisa dipilih dengan mengklik tombol Opsi pada dialog Ekspor.\n"
+#: prefs/FileFormatPrefs.cpp:231
+msgid "Import / Export"
+msgstr "Impor / Ekspor"
 
-#: prefs/FileFormatPrefs.cpp:137
+#: prefs/FileFormatPrefs.cpp:256
 msgid "When importing audio files"
 msgstr "Ketika mengimpor file audio"
 
-#: prefs/FileFormatPrefs.cpp:140
+#: prefs/FileFormatPrefs.cpp:260
 msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr "&Buat salinan file audio tak terkompres sebelum diedit (lebih aman)"
 
-#: prefs/FileFormatPrefs.cpp:141
+#: prefs/FileFormatPrefs.cpp:262
 msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr "&Langsung baca file audo tak terkompres dari aslinya (lebih cepat)"
 
-#: prefs/FileFormatPrefs.cpp:143
+#: prefs/FileFormatPrefs.cpp:267
 msgid "&Normalize all tracks in project"
 msgstr "&Normalkan semua trek pada proyek"
 
-#: prefs/FileFormatPrefs.cpp:148
+#: prefs/FileFormatPrefs.cpp:273
+msgid "When exporting tracks to an audio file"
+msgstr "Ketike mengekspor ke file audio"
+
+#: prefs/FileFormatPrefs.cpp:277
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Se&lalu mix semua trek ke Stereo atau Mono."
+
+#: prefs/FileFormatPrefs.cpp:279
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Gunakan mix pilihan sendiri (contohnya untuk emngekspor file saluran 5.1)"
+
+#: prefs/FileFormatPrefs.cpp:284
+msgid "S&how Metadata Editor prior to export step"
+msgstr "&Tunjukkan Editor Metadata dahulu dalam langkah mengekspor"
+
+#: prefs/FileFormatPrefs.cpp:287
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Catatan: Opsi kualitas ekspor bisa dipilih dengan mengklik tombol\n"
+"Opsi pada dialog Ekspor."
+
+#: prefs/FileFormatPrefs.cpp:303
+msgid "Projects"
+msgstr "Proyek"
+
+#: prefs/FileFormatPrefs.cpp:328
 msgid "When saving a project that depends on other audio files"
 msgstr "Ketika menyimpan proyek yang bergantung pada file audio yang lain"
 
-#: prefs/FileFormatPrefs.cpp:151
+#: prefs/FileFormatPrefs.cpp:332
 msgid "Always &copy all audio into project (safest)"
 msgstr "Salalu &salin semua audio pada proyek (teraman)"
 
-#: prefs/FileFormatPrefs.cpp:152
+#: prefs/FileFormatPrefs.cpp:334
 msgid "&Do not copy any audio"
 msgstr "&Jangan salin audio apapiun"
 
-#: prefs/FileFormatPrefs.cpp:153
+#: prefs/FileFormatPrefs.cpp:336
 msgid "&Ask user"
 msgstr "&Tanya pengguna"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "Ketike mengekspor ke file audio"
+#: prefs/FileFormatPrefs.cpp:343
+msgid "Auto save"
+msgstr "Simpan otomatis"
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Se&lalu mix semua trek ke Stereo atau Mono."
+#: prefs/FileFormatPrefs.cpp:345
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Simpan otomatis salinan proyek pada folder terpisah"
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Gunakan mix pilihan sendiri (contohnya untuk emngekspor file saluran 5.1)"
+#: prefs/FileFormatPrefs.cpp:351
+msgid "Auto save interval:"
+msgstr "Jarak waktu penyimpanan otomatis:"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "&Tunjukkan Editor Metadata dahulu dalam langkah mengekspor"
+#: prefs/FileFormatPrefs.cpp:355
+msgid "minutes"
+msgstr "menit"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Tampilan"
+#: prefs/GUIPrefs.cpp:36
+msgid "Warnings"
+msgstr "Peringatan"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "Pada Browser"
+#: prefs/GUIPrefs.cpp:60
+msgid "Show Warnings/Prompts"
+msgstr "Tunjukkan Peringatan"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Dari Internet"
+#: prefs/GUIPrefs.cpp:62
+msgid "When saving &projects"
+msgstr "Ketika menyimpan &proyek"
+
+#: prefs/GUIPrefs.cpp:65
+msgid "When saving &empty project"
+msgstr "Ketika menyimpan proy&ek kosong"
 
-#: prefs/GUIPrefs.cpp:50
+#: prefs/GUIPrefs.cpp:68
+msgid "When &disk space is getting low"
+msgstr "Ketika ruang &disk menurun"
+
+#: prefs/GUIPrefs.cpp:71
+msgid "When mixing down to &stereo during export"
+msgstr "Ketika menge-mix ke &stereo waktu mengekspor"
+
+#: prefs/GUIPrefs.cpp:74
+msgid "When mixing down to &mono during export"
+msgstr "Ketika menge-mix ke &mono waktu mengekspor"
+
+#: prefs/GUIPrefs.cpp:108
 msgid "Simple"
 msgstr "Sederhana"
 
-#: prefs/GUIPrefs.cpp:94
+#: prefs/GUIPrefs.cpp:136
+#: prefs/GUIPrefs.cpp:269
+#: prefs/SpectrumPrefs.cpp:129
+msgid "Display"
+msgstr "Tampilan"
+
+#: prefs/GUIPrefs.cpp:138
 msgid "&Update display while playing"
 msgstr "&Perbaharui tampilan ketika memainkan"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "Menutup jendela terak&hir akan mematikan Audacity"
+#: prefs/GUIPrefs.cpp:141
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "&Fit-kan trek secera vertikal dengan otomatis"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Perbolehkan &menahan batas kiri dan kanan yang dipilih"
+#: prefs/GUIPrefs.cpp:149
+msgid "Default View Mode:"
+msgstr "Mode View Normal:"
 
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr "Peletakan tombol I/O auido yang er&gonomis"
+#: prefs/GUIPrefs.cpp:162
+msgid "&Select all audio in project, if none selected"
+msgstr "&Pilih semua audio pada proyek, jika tidak ada yang dipilih"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "&Fit-kan trek secera vertikal dengan otomatis"
+#: prefs/GUIPrefs.cpp:165
+msgid "Enable cut &lines"
+msgstr "Bo&lehkan memotong batas"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Perbolehkan &menahan batas kiri dan kanan yang dipilih"
 
-#: prefs/GUIPrefs.cpp:104
+#: prefs/GUIPrefs.cpp:171
 msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr "\"Move track focus\" memutar terus-menerus pada trek"
 
-#: prefs/GUIPrefs.cpp:106
+#: prefs/GUIPrefs.cpp:174
 msgid "Editing a &clip can move other clips"
 msgstr "Mengedit &klik bisa membuang klip lainnya"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Pilih semua audio pada proyek, jika tidak ada yang dipilih"
-
-#: prefs/GUIPrefs.cpp:110
-msgid "&Beep on completion of longer activities"
-msgstr "&Beep pada penyelesaian aktivitas lama"
+#: prefs/GUIPrefs.cpp:182
+msgid "Solo Button:"
+msgstr "Tombol Solo:"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Lihat / Sembunyi"
+#: prefs/GUIPrefs.cpp:224
+msgid "In Browser"
+msgstr "Pada Browser"
 
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Bo&lehkan memotong batas"
+#: prefs/GUIPrefs.cpp:225
+msgid "From Internet"
+msgstr "Dari Internet"
 
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Tunjukkan peringatan mengenai file &temporer"
+#: prefs/GUIPrefs.cpp:227
+msgid "36"
+msgstr "36"
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "Tunjukkan prompt untuk menyimpan, bahkan jika proyek masih kosong"
+#: prefs/GUIPrefs.cpp:228
+msgid "48"
+msgstr "48"
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "Tunjukkan Pesan A&wal pada permulaan program"
+#: prefs/GUIPrefs.cpp:229
+msgid "60"
+msgstr "60"
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
-msgstr "Mode"
+#: prefs/GUIPrefs.cpp:230
+msgid "96"
+msgstr "96"
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
-msgstr "Don't a&pply effects in batch mode"
+#: prefs/GUIPrefs.cpp:231
+msgid "120"
+msgstr "120"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Tampilkan range minimum: meter dan 'waveform (dB)'"
+#: prefs/GUIPrefs.cpp:232
+msgid "145"
+msgstr "145"
 
-#: prefs/GUIPrefs.cpp:141
+#: prefs/GUIPrefs.cpp:234
 msgid "-36 dB (shallow range for high-amplitude editing)"
 msgstr "-36 dB (range yang dangkal untuk mengedit amplitudo tinggi)"
 
-#: prefs/GUIPrefs.cpp:142
+#: prefs/GUIPrefs.cpp:235
 msgid "-48 dB (PCM range of 8 bit samples)"
 msgstr "-48 dB (range PCM dari sampel 8 bit)"
 
-#: prefs/GUIPrefs.cpp:143
+#: prefs/GUIPrefs.cpp:236
 msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr "-60 dB (range PCM dari sampel 10 bit)"
 
-#: prefs/GUIPrefs.cpp:144
+#: prefs/GUIPrefs.cpp:237
 msgid "-96 dB (PCM range of 16 bit samples)"
 msgstr "-96 dB (range PCM dari sampel 16 bit)"
 
-#: prefs/GUIPrefs.cpp:145
+#: prefs/GUIPrefs.cpp:238
 msgid "-120 dB (approximate limit of human hearing)"
 msgstr "-120 dB (batas terbaik untuk pendengaran manusia)"
 
-#: prefs/GUIPrefs.cpp:146
+#: prefs/GUIPrefs.cpp:239
 msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr "-145 dB (range PCM dari sampel 24 bit)"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Mode View Normal"
+#: prefs/GUIPrefs.cpp:271
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr "Peletakan tombol I/O auido yang er&gonomis"
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "Pilihan interface lainnya"
+#: prefs/GUIPrefs.cpp:274
+msgid "Show &welcome message at program start up"
+msgstr "Tampilkan Pesan A&wal pada permulaan program"
 
-#: prefs/GUIPrefs.cpp:167
+#: prefs/GUIPrefs.cpp:282
+msgid "Meter/Waveform dB range:"
+msgstr "jangkauan dB meter/Waveform:"
+
+#: prefs/GUIPrefs.cpp:296
 msgid "Help:"
 msgstr "Bantuan:"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "Tombol Solo:"
+#: prefs/GUIPrefs.cpp:309
+msgid "Cl&osing last window quits Audacity"
+msgstr "Menutup jendela terak&hir akan mematikan Audacity"
+
+#: prefs/GUIPrefs.cpp:312
+msgid "&Beep on completion of longer activities"
+msgstr "&Beep pada penyelesaian aktivitas lama"
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/GUIPrefs.cpp:318
+msgid "Modes"
+msgstr "Mode"
+
+#: prefs/GUIPrefs.cpp:321
+msgid "Don't a&pply effects in batch mode"
+msgstr "Don't a&pply effects in batch mode"
+
+#: prefs/KeyConfigPrefs.cpp:71
 msgid "Keyboard"
 msgstr "Keyboard"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:95
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Preferensi Keyboard sudah tidak ada."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Buka Proyek Baru untuk mengubah jalan pintas keyboard"
 
-#: prefs/KeyConfigPrefs.cpp:95
+#: prefs/KeyConfigPrefs.cpp:121
 msgid "Key Bindings"
 msgstr "Kunci-kunci Keyboard"
 
-#: prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:140
 msgid "S&et"
 msgstr "&Atur"
 
-#: prefs/KeyConfigPrefs.cpp:120
+#: prefs/KeyConfigPrefs.cpp:146
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Catatan: Menekan Cmd+Q akan keluar. Kunci lainnya valid."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:153
+#: prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "&Normal"
 
-#: prefs/KeyConfigPrefs.cpp:143
+#: prefs/KeyConfigPrefs.cpp:167
+msgid "Command"
+msgstr "Perintah"
+
+#: prefs/KeyConfigPrefs.cpp:168
 msgid "Key Combination"
 msgstr "Kombinasi Tombol Keyboard"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Ekspor Jalan Pintas Keyboard Sebagai:"
+#: prefs/KeyConfigPrefs.cpp:192
+#: toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Batalkan"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Error dalam menyimpan jalan pintas keyboard"
+#: prefs/KeyConfigPrefs.cpp:195
+msgid "Redo"
+msgstr "Lakukan Kembali"
 
-#: prefs/KeyConfigPrefs.cpp:198
+#: prefs/KeyConfigPrefs.cpp:220
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Pilih file XML yang mengandung jalan pintas keyboard Audacity..."
 
-#: prefs/KeyConfigPrefs.cpp:215
+#: prefs/KeyConfigPrefs.cpp:238
 msgid "Error loading keyboard shortcuts"
 msgstr "Error mengambil jalan pintas keyboard"
 
-#: prefs/KeyConfigPrefs.cpp:243
+#: prefs/KeyConfigPrefs.cpp:251
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Ekspor Jalan Pintas Keyboard Sebagai:"
+
+#: prefs/KeyConfigPrefs.cpp:277
+msgid "Error saving keyboard shortcuts"
+msgstr "Error dalam menyimpan jalan pintas keyboard"
+
+#: prefs/KeyConfigPrefs.cpp:327
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr "Jalan pintas keyboard '%s' telah ditandai untuk:\n"
+msgstr ""
+"Jalan pintas keyboard '%s' telah ditandai untuk:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Batalkan"
+#: prefs/MidiIOPrefs.cpp:44
+#: prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "Audio I/O"
 
-#: prefs/MidiIOPrefs.cpp:146
+#: prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/MidiIOPrefs.cpp:142
 msgid "&Play other tracks while recording new one"
 msgstr "&Mainkan trek lain ketika merekam"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:145
 msgid "&Hardware Playthrough (Play new track while recording it)"
 msgstr "Selama Bermain pada &Hardware (Mainkan trek baru ketika merekamnya)"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:148
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "Selama Bermain pada &Software (Mainkan trek baru ketika merekamnya)"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:156
 msgid "Play before cut region:"
 msgstr "Mainkan sebelum wilayah dipotong:"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:158
 msgid "Play after cut region:"
 msgstr "Mainkan sesudah wilayah dipotong:"
 
-#: prefs/MidiIOPrefs.cpp:173
-msgid "Audio to buffer:"
-msgstr "Audio yang dibuffer:"
-
-#: prefs/MidiIOPrefs.cpp:176
-msgid "Latency correction:"
-msgstr "Koreksi laten:"
-
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:177
 msgid "Seek Time"
 msgstr "Waktu Percobaan"
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:190
 msgid "Play when previewing:"
 msgstr "Meinkan ketika melakukan preview:"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Mouse"
 
-#: prefs/MousePrefs.cpp:78
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Kunci-kunci Mouse (tidak bisa diubah)"
 
-#: prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Alat"
 
-#: prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Aksi perintah"
 
-#: prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Tombol"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Klik-Kiri"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
 #: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Pilih"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Pilih Titik Pilihan"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
 #: prefs/MousePrefs.cpp:115
 #: prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Klik Kiri dan Dorong"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Atur Range yang Dipilih"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Pilih Range yang Tidak Dipilih"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Klik Kiri dengan Shift"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Klik Ganda Kiri"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr "Pilih Klip atau Trek"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Klik Kiri dengan Ctrl"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr "Pilih Titik Terpilih dan Mainkan"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
 #: prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Zoom"
 
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Perbesar pada Titik"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Perbesar pada Wilayah"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "seperti klik kanan dan dorong"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Klik Kanan"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Perkecil satu kali"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Klik Kanan dan Dorong"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "seperti klik kiri dan dorong"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Dorong dengan Shift"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Perkecil dengan jarak yang pas"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Klik Tengah"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Normalkan"
 
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "Ubah waktu klip atau pindahkan ke atas/bawah diantara trek"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Klik Kiri Dorong dengan Shift"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "Ubah waktu semua klip pada trek"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Klik kiri dorong dengan Ctrl"
 
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Pindahkan klik ke atas/bawah diantara trek"
 
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Ubah Amplifikasi dengan Amplop"
 
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Ubah Sample"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "Pensil"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Klik Kiri dengan Alt"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Pelembutan pada Sampel"
 
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Ubah Beberapa Sampel"
 
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Ubah SATU Sampel saja"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Banyak"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
 msgid "same as select tool"
 msgstr "seperti alat memilih"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "seperti alat zoom"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:131
+#: prefs/MousePrefs.cpp:132
+#: prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Apapun"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Ke atas atau bawah"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Rotasi Roda Mouse"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Ke kiri atau kanan"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Putar Roda Mouse dengan Shift"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Putar Roda Mouse dengan Ctrl"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "Perbesar atau Perkecil"
 
-#: prefs/PrefsDialog.cpp:94
+#: prefs/PrefsDialog.cpp:67
 msgid "Audacity Preferences"
 msgstr "Preferensi Audacity"
 
-#: prefs/QualityPrefs.cpp:73
+#: prefs/QualityPrefs.cpp:77
 msgid "Rectangle"
 msgstr "Persegi"
 
-#: prefs/QualityPrefs.cpp:74
+#: prefs/QualityPrefs.cpp:78
 msgid "Triangle"
 msgstr "Segitiga"
 
-#: prefs/QualityPrefs.cpp:75
+#: prefs/QualityPrefs.cpp:79
 msgid "Shaped"
 msgstr "Terbentuk"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:127
 msgid "Sampling"
 msgstr "Menyampel"
 
-#: prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:131
 msgid "Default Sample Rate:"
 msgstr "Rate Sampel Normal:"
 
-#: prefs/QualityPrefs.cpp:127
+#: prefs/QualityPrefs.cpp:156
 msgid "Default Sample Format:"
 msgstr "Format Sampel Normal:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Pengkonversi rate sampel yang cepat:"
+#: prefs/QualityPrefs.cpp:167
+msgid "Real-time Conversion"
+msgstr "Konversi Real-time"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Pengkonversi rate sampel berkualitas tinggi:"
+#: prefs/QualityPrefs.cpp:173
+#: prefs/QualityPrefs.cpp:195
+msgid "Sample Rate Converter:"
+msgstr "Pengkonversi Rate Sampel:"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Dither tepat waktu:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Dither berkualitas tinggi:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Konversi"
-
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Pengkonversi Rate Sampel"
-
-#: prefs/QualityPrefs.cpp:164
+#: prefs/QualityPrefs.cpp:180
+#: prefs/QualityPrefs.cpp:202
 msgid "Dither"
 msgstr "Dither"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Tepat Waktu:"
-
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Kualitas Tinggi:"
+#: prefs/QualityPrefs.cpp:191
+msgid "High-quality Conversion"
+msgstr "Konversi Berkualitas Tinggi"
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
+#: prefs/SmartRecordPrefs.cpp:33
 msgid "Smart Recording"
 msgstr "Rekaman Pintar"
 
-#: prefs/SmartRecordPrefs.cpp:64
-#: prefs/SmartRecordPrefs.cpp:66
-msgid "Sound Activated Recording"
-msgstr "Meream dengan Suara Diaktifkan"
-
-#: prefs/SmartRecordPrefs.cpp:71
-msgid "Sound Activation Level (dB):"
-msgstr "Level Pengaktifan Suara (dB):"
-
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Spektrogram"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Ukuran FFT"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 - jangkauan terbesar"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - normal"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr "32768 - jangkauan terkecil"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - jangkauan terkecil"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Tipe jendela:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "Jendela FFT"
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Ukuran jendela"
 
-#: prefs/SpectrumPrefs.cpp:125
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Tipe jendela"
+
+#: prefs/SpectrumPrefs.cpp:113
 msgid "FFT Skip Points"
 msgstr "Titik Pelompatan FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Tampilan"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Hitam Putih"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "Lewati Titik-titik"
 
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr "Frekuensi Minimum (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "Frekuensi Maksimum (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Ordinat"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Lihat spektrum dengan warna &hitam-putih"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Cari Catatan"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Lihat batas sepanjang sumbu &Y"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "Catatan &Kuantisasi"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "Pencarian Catatan FFT"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr "Amplitudo Minimum (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr "Jumlah Catatan Maksimum (1..128):"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "&Cari Catatan"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "Catatan &Kuantisasi"
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "Frekuensi maksimum harus berupa angka"
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "Frekuensi maksimum harus diantara 100 Hz - 100.000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr "Frekuensi minmum harus berupa angka"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Frekuensi minimum harus lebih atau sama dengan 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "Frekuensi minimum harus lebih kecil dari frekuensi maksimum"
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Amplitudo minimal (dB) harus berupa integer"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "Jumlah Catatan Maksimum harus berupa angka"
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Jumlah Catatan Maksimum harus berupa angka dan diantara 1 - 128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr "Jumlah Catatan Maksimum harus berupa angka dan diantara 1..128"
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"Tema adalah fitur percobaan.\n"
+"\n"
+"Untuk mencobanya, klik \"Simpan Cache Tema\" kemudian cari dan ubah gambar dan\n"
+"warna pada ImageCacheVxx.png dengan editor gambar seperti Gimp.\n"
+"\n"
+"Klik \"Ambil Cache Tema\" Untuk mengambil gambar dan warna yang telah diubah ke Audacity.\n"
+"\n"
+"[Hanya toolbar kontrol dan warna wavetrack \n"
+"yang berubah, walaupun file gambar mempunyai icon juga.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"Anda telah mengkompilasikan Audacity dengan tombol tambahan, 'Sumber Output'.\n"
+"Ini akan menyimpan gambar versi C yang bisa dikompilasi sebagaimana mestinya."
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+"Jika 'Ambil Cache Tema Pada Permulaan' ditandai, Cache Tema akan diambil ketika\n"
+"program dimulai."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"Menyimpan atau mengambil file tema sendiri menggunakan file terpisah untuk setiap\n"
+"gambar, tapi tetap berhubungan."
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr "Cache Tema - Gambar && Warna"
 
-#: prefs/ThemePrefs.cpp:95
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr "Simpan Cache Tema"
 
-#: prefs/ThemePrefs.cpp:96
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr "Ambil Cache Tema"
 
-#: prefs/ThemePrefs.cpp:106
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr "Ambil Cache Tema Pada Permulaan"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "File Tema Individual"
 
-#: prefs/ThemePrefs.cpp:120
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Simpan File"
 
-#: prefs/ThemePrefs.cpp:121
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Ambil File"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
-
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Tema adalah fitur percobaan.\n"
-"\n"
-"Untuk mencobanya, klik \"Simpan Cache Tema\" kemudian\n"
-"cari dan ubah gambar dan warna pada \n"
-"ImageCacheVxx.png dengan editor gambar seperti Gimp.\n"
-"\n"
-"Klik \"Ambil Cache Tema\" Untuk mengambil gambar dan warna\n"
-"yang telah diubah ke Audacity.\n"
-"\n"
-"[Hanya toolbar kontrol dan warna wavetrack \n"
-"yang berubah, walaupun file gambar mempunyai icon lainnya juga.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Anda telah mengkompilasikan Audacity dengan tombol tambahan, \n"
-"'Sumber Output'.  Ini akan mengimpan gambar dengan \n"
-"versi C yang bisa dikompilasi sebagaimana mestinya.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Jika 'Ambil Cache Tema Pada Permulaan' ditandai, \n"
-"Cache Tema akan diambil ketika program \n"
-"dimulai.\n"
-"\n"
-
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Menyimpan atau mengambil file tema sendiri menggunakan \n"
-"file terpisah untuk setiap gambar, tapi tetap berhubungan \n"
-"\n"
-
 #: toolbars/ControlToolBar.cpp:175
 msgid "Pause"
 msgstr "Pause"
 
 #: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Play"
-
-#: toolbars/ControlToolBar.cpp:178
 msgid "Play (Shift for Loop Play)"
 msgstr "Play (Shift for Loop Play)"
 
 #: toolbars/ControlToolBar.cpp:183
+#: widgets/ProgressDialog.cpp:1101
 msgid "Stop"
 msgstr "Berhenti"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Langsung ke awal"
-
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Langsung ke Akhir"
-
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr "Rekam (Shift untuk Tambahan Rekam)"
@@ -8652,26 +9199,26 @@ msgstr "Rekam (Shift untuk Tambahan Rekam)"
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:540
-#: toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:549
+#: toolbars/ControlToolBar.cpp:881
 msgid "Error while opening sound device. "
 msgstr "Error ketika membuka perangkat suara."
 
-#: toolbars/ControlToolBar.cpp:706
+#: toolbars/ControlToolBar.cpp:719
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
 msgstr "Merekam pada Mode CleanSpeech tidak mungkin ketika trek, atau lebih dari satu proyek telah dibuka."
 
-#: toolbars/ControlToolBar.cpp:707
+#: toolbars/ControlToolBar.cpp:720
 msgid "Recording not permitted"
 msgstr "Rekaman tidak diizinkan"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109
+#: toolbars/DeviceToolBar.cpp:111
 msgid "Output Device"
 msgstr "PErangkat Output"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:130
+#: toolbars/DeviceToolBar.cpp:132
 msgid "Input Device"
 msgstr "Perangkat Input"
 
@@ -8715,10 +9262,6 @@ msgstr "Fit-kan Proyek"
 msgid "Fit project in window"
 msgstr "Fit-kan proyek dengan jendela"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Meter"
-
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
 msgstr "Pengukur Permainan"
@@ -8752,7 +9295,7 @@ msgid "Slider Output"
 msgstr "Slider pada Output"
 
 #: toolbars/MixerToolBar.cpp:101
-#: widgets/Meter.cpp:874
+#: widgets/Meter.cpp:870
 msgid "Input Volume"
 msgstr "Volume Input"
 
@@ -8760,10 +9303,18 @@ msgstr "Volume Input"
 msgid "Slider Input"
 msgstr "Slider pada Input"
 
-#: toolbars/MixerToolBar.cpp:134
+#: toolbars/MixerToolBar.cpp:139
 msgid "Input Source"
 msgstr "Sumber Input"
 
+#: toolbars/MixerToolBar.cpp:298
+msgid "Input source information is not available."
+msgstr "Informasi sumber input tidak ada"
+
+#: toolbars/MixerToolBar.cpp:305
+msgid "Select Input Source"
+msgstr "Pilih Sumber Input"
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr "Pilihan"
@@ -8815,8 +9366,8 @@ msgstr "Akhir Pilihan"
 msgid "Audacity %s ToolBar"
 msgstr "Toolbar Audacity %s"
 
-#: toolbars/ToolDock.cpp:74
 #: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "Alat Dock"
 
@@ -8848,34 +9399,6 @@ msgstr "Kiri=Perbesar, Kanan=Perkecil, Tengah=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Klik dan dorong ubtuk memindahkan trek ke waktu tertentu"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Alat"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Tool Pemilihan"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Tool Amplop"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Tool Time-Shift"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Tool Zoom"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Tool Gambar"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Mode Tool Serbaguna"
@@ -8884,190 +9407,182 @@ msgstr "Mode Tool Serbaguna"
 msgid "Slide Tool"
 msgstr "Tool Slide"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Tool Serbaguna"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transkrispi"
-
-#: toolbars/TranscriptionToolBar.cpp:171
+#: toolbars/TranscriptionToolBar.cpp:175
 msgid "Play at selected speed"
 msgstr "Mainkan padakecepatan terpilih"
 
-#: toolbars/TranscriptionToolBar.cpp:172
+#: toolbars/TranscriptionToolBar.cpp:176
 msgid "Play-at-speed"
 msgstr "Memainkan berkecepatan"
 
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:182
+#: toolbars/TranscriptionToolBar.cpp:187
 msgid "Playback Speed"
 msgstr "Memainkan Berdasarkan Kecepatan"
 
-#: toolbars/TranscriptionToolBar.cpp:196
+#: toolbars/TranscriptionToolBar.cpp:200
 msgid "Adjust left selection to next onset"
 msgstr "Ubah pemilihan sebelah kiri ke perintah selanjutnya"
 
-#: toolbars/TranscriptionToolBar.cpp:197
+#: toolbars/TranscriptionToolBar.cpp:201
 msgid "Left-to-On"
 msgstr "Hidupkan Fitur Kiri"
 
-#: toolbars/TranscriptionToolBar.cpp:199
+#: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr "Ubah pemilihan sebelah kanan ke pertahanan sebelumnya"
 
-#: toolbars/TranscriptionToolBar.cpp:200
+#: toolbars/TranscriptionToolBar.cpp:204
 msgid "Right-to-Off"
 msgstr "Matikan Fitur Kanan"
 
-#: toolbars/TranscriptionToolBar.cpp:202
+#: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr "Ubah pemilihan sebelah kiri ke perintah selanjutnya"
 
-#: toolbars/TranscriptionToolBar.cpp:203
+#: toolbars/TranscriptionToolBar.cpp:207
 msgid "Left-to-Off"
 msgstr "Matikankan Fitur Kiri"
 
-#: toolbars/TranscriptionToolBar.cpp:205
+#: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr "Ubah pemilihan sebelah kanan ke perintah sebelumnya"
 
-#: toolbars/TranscriptionToolBar.cpp:206
+#: toolbars/TranscriptionToolBar.cpp:210
 msgid "Right-to-On"
 msgstr "Hidupkan Fitur Kanan"
 
-#: toolbars/TranscriptionToolBar.cpp:208
+#: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr "Pilih area suara di sekitar kursor"
 
-#: toolbars/TranscriptionToolBar.cpp:209
+#: toolbars/TranscriptionToolBar.cpp:213
 msgid "Select-Sound"
 msgstr "Pilih Suara"
 
-#: toolbars/TranscriptionToolBar.cpp:211
+#: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr "Pilih area diam di sekitar kursor"
 
-#: toolbars/TranscriptionToolBar.cpp:212
+#: toolbars/TranscriptionToolBar.cpp:216
 msgid "Select-Silence"
 msgstr "Pilih Diam"
 
-#: toolbars/TranscriptionToolBar.cpp:214
+#: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr "Membuat label dari kata-kata secara otomatis"
 
-#: toolbars/TranscriptionToolBar.cpp:215
+#: toolbars/TranscriptionToolBar.cpp:219
 msgid "Make Labels"
 msgstr "Buat Label"
 
-#: toolbars/TranscriptionToolBar.cpp:217
+#: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr "Tambahkan label pada yang dipilih"
 
-#: toolbars/TranscriptionToolBar.cpp:218
+#: toolbars/TranscriptionToolBar.cpp:222
 msgid "Add Label"
 msgstr "Tambahkan Label"
 
-#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr "Kalibrasi kunci suara"
 
-#: toolbars/TranscriptionToolBar.cpp:221
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Calibrate"
 msgstr "Kalibrasi"
 
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr "Ubah Sensitivitas"
 
-#: toolbars/TranscriptionToolBar.cpp:230
+#: toolbars/TranscriptionToolBar.cpp:234
 msgid "Sensitivity"
 msgstr "Senstivitas"
 
-#: toolbars/TranscriptionToolBar.cpp:235
+#: toolbars/TranscriptionToolBar.cpp:239
 msgid "Energy"
 msgstr "Energi"
 
-#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:240
 msgid "Sign Changes (Low Threshold)"
 msgstr "Pengubahan Tanda (Ambang Batas Rendah)"
 
-#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:241
 msgid "Sign Changes (High Threshold)"
 msgstr "Pengubahan Tanda (Ambang Batas Tinggi)"
 
-#: toolbars/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:242
 msgid "Direction Changes (Low Threshold)"
 msgstr "Pengubahan Arah (Ambang Batas Rendah)"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:243
 msgid "Direction Changes (High Threshold)"
 msgstr "Pengubahan Arah (Ambang Batas Tinggi)"
 
-#: toolbars/TranscriptionToolBar.cpp:247
+#: toolbars/TranscriptionToolBar.cpp:251
 msgid "Key type"
 msgstr "Kunci Ketikan"
 
-#: widgets/AButton.cpp:303
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (dilarang)"
 
-#: widgets/AButton.cpp:461
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Tekan"
 
-#: widgets/AButton.cpp:540
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Tombol"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612
+#: widgets/ASlider.cpp:624
 #: widgets/Meter.cpp:248
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615
+#: widgets/ASlider.cpp:627
 #: widgets/Meter.cpp:250
 msgid "R"
 msgstr "R"
 
-#: widgets/ASlider.cpp:678
+#: widgets/ASlider.cpp:690
 msgid "Center"
 msgstr "Tengah"
 
-#: widgets/ASlider.cpp:682
+#: widgets/ASlider.cpp:694
 msgid "Left"
 msgstr "Kiri"
 
-#: widgets/ASlider.cpp:685
+#: widgets/ASlider.cpp:697
 msgid "Right"
 msgstr "Kanan"
 
-#: widgets/ErrorDialog.cpp:98
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr "Bantuan"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:135
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:136
 msgid ">"
 msgstr ">"
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:140
 msgid "Forwards"
 msgstr "Percepat ke Akhir"
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:141
 msgid "Backwards"
 msgstr "Percepat ke Awal"
 
-#: widgets/ErrorDialog.cpp:255
+#: widgets/ErrorDialog.cpp:242
 msgid "Help on the Internet"
 msgstr "Bantuan di Internet"
 
@@ -9075,68 +9590,70 @@ msgstr "Bantuan di Internet"
 msgid "Grabber"
 msgstr "Pendorong"
 
-#: widgets/Grid.cpp:643
+#: widgets/Grid.cpp:703
 #, c-format
 msgid "%d rows, %d columns"
 msgstr "%d baris, %d kolom"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:709
+#: widgets/Grid.cpp:836
 #, c-format
 msgid "Row %d"
 msgstr "Baris %d"
 
-#: widgets/Grid.cpp:791
+#: widgets/Grid.cpp:851
 msgid "Empty"
 msgstr "Kosong"
 
-#: widgets/Meter.cpp:396
+#: widgets/Meter.cpp:392
 msgid "Enable Meter"
 msgstr "Bolehkan Meter"
 
-#: widgets/Meter.cpp:398
+#: widgets/Meter.cpp:394
 msgid "Disable Meter"
 msgstr "Larangkan Meter"
 
-#: widgets/Meter.cpp:401
+#: widgets/Meter.cpp:397
 msgid "Stop Monitoring"
 msgstr "Hentikan Pemantauan"
 
-#: widgets/Meter.cpp:403
+#: widgets/Meter.cpp:399
 msgid "Start Monitoring"
 msgstr "Mulai Pemantauan"
 
-#: widgets/Meter.cpp:407
+#: widgets/Meter.cpp:403
 msgid "Horizontal Stereo"
 msgstr "Stereo Horizontal"
 
-#: widgets/Meter.cpp:408
+#: widgets/Meter.cpp:404
 msgid "Vertical Stereo"
 msgstr "Stereo Vertikal"
 
-#: widgets/Meter.cpp:425
+#: widgets/Meter.cpp:421
 msgid "Preferences..."
 msgstr "Preferensi..."
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:872
 msgid "Mix Volume"
 msgstr "Volume Mix"
 
-#: widgets/Meter.cpp:1145
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1141
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr "Ini menunjukkan sesering apa meteran disegarkan.\n"
+msgstr ""
+"Ini menunjukkan sesering apa meteran disegarkan.\n"
 "Jika performa PC Anda tidak tinggi, Anda pilih rate\n"
 "penyegaran lebih rendah (30 per detik atau lebih rendah), supaya\n"
 "kualitas audio tidak berdampak kepada penunjuk ini."
 
-#: widgets/Meter.cpp:1146
+#: widgets/Meter.cpp:1142
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Rate penyegaran meter per detik [1-100]:"
 
-#: widgets/Meter.cpp:1147
+#: widgets/Meter.cpp:1143
 msgid "Meter Preferences"
 msgstr "Preferensi Meter"
 
@@ -9148,27 +9665,27 @@ msgstr " Mohon pilih aksinya"
 msgid "Please select an action"
 msgstr "Silahkan pilih aksinya"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1060
 msgid "Elapsed Time:"
 msgstr "Waktu Berjalan:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1080
 msgid "Remaining Time:"
 msgstr "Waktu Tersisa:"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1108
 msgid "Cancel"
 msgstr "Batal"
 
-#: widgets/Ruler.cpp:1445
-#: widgets/Ruler.cpp:1446
+#: widgets/Ruler.cpp:1584
+#: widgets/Ruler.cpp:1585
 msgid "Vertical Ruler"
 msgstr "Penunjuk Vertikal"
 
 #. i18n-hint: Format string for displaying time in seconds. Change the comma
 #. * in the middle to the 1000s separator for your locale, and the 'seconds'
 #. * on the end to the word for seconds. Don't change the numbers.
-#: widgets/TimeTextCtrl.cpp:267
+#: widgets/TimeTextCtrl.cpp:268
 msgid "01000,01000 seconds"
 msgstr "01000,01000 detik"
 
@@ -9177,13 +9694,13 @@ msgstr "01000,01000 detik"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
 #. * change the numbers unless there aren't 60 seconds in a minute in your
 #. * locale
-#: widgets/TimeTextCtrl.cpp:276
+#: widgets/TimeTextCtrl.cpp:277
 msgid "0100 h 060 m 060 s"
 msgstr "0100 jam 060 mnt 060 dtk"
 
 #. i18n-hint: Name of time display format that shows time in days, hours,
 #. * minutes and seconds
-#: widgets/TimeTextCtrl.cpp:279
+#: widgets/TimeTextCtrl.cpp:280
 msgid "dd:hh:mm:ss"
 msgstr "hh:jj:mm:dd"
 
@@ -9192,28 +9709,28 @@ msgstr "hh:jj:mm:dd"
 #. * for hours, 'm' to the abbreviation for minutes and 's' to the
 #. * abbreviation for seconds. Don't change the numbers unless there aren't
 #. * 24 hours in a day in your locale
-#: widgets/TimeTextCtrl.cpp:285
+#: widgets/TimeTextCtrl.cpp:286
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 hari 024 jam 060 mnt 060 dtk"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:289
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "jj:mm:dd + seperseratus"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:295
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 j 060 m 060.0100 d"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
-#: widgets/TimeTextCtrl.cpp:288
+#: widgets/TimeTextCtrl.cpp:298
 msgid "hh:mm:ss + milliseconds"
 msgstr "jj:mm:dd: + milidetik"
 
@@ -9222,13 +9739,13 @@ msgstr "jj:mm:dd: + milidetik"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * milliseconds are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:304
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 jam 060 mnt 060.01000 dtk"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and samples (at the current project sample rate)
-#: widgets/TimeTextCtrl.cpp:297
+#: widgets/TimeTextCtrl.cpp:307
 msgid "hh:mm:ss + samples"
 msgstr "jj:mm:dd: + sampel"
 
@@ -9237,13 +9754,13 @@ msgstr "jj:mm:dd: + sampel"
 #. * abbreviation for minutes, 's' to the abbreviation for seconds and
 #. * translate samples . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:303
+#: widgets/TimeTextCtrl.cpp:313
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 jam 060 mnt 060 dtk+.# sampel"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
 #. * current project sample rate)
-#: widgets/TimeTextCtrl.cpp:306
+#: widgets/TimeTextCtrl.cpp:316
 msgid "samples"
 msgstr "sampel"
 
@@ -9251,13 +9768,13 @@ msgstr "sampel"
 #. * Change the ',' to the 1000s separator for your locale, and translate
 #. * samples. If 1000s aren't a base multiple for your number system, then you
 #. * can change the numbers to an appropriate one, and put a 0 on the front
-#: widgets/TimeTextCtrl.cpp:311
+#: widgets/TimeTextCtrl.cpp:321
 msgid "01000,01000,01000 samples|#"
 msgstr "01000,01000,01000 sampel|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:314
+#: widgets/TimeTextCtrl.cpp:324
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "jj:mm:dd: + Bingkai film (24 bpd)"
 
@@ -9266,26 +9783,26 @@ msgstr "jj:mm:dd: + Bingkai film (24 bpd)"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames' . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:320
+#: widgets/TimeTextCtrl.cpp:330
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 jam 060 mnt 060 dtk+.24 bingkai"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
 #. * frames) at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:323
+#: widgets/TimeTextCtrl.cpp:333
 msgid "film frames (24 fps)"
 msgstr "Bingkai PAL (25 bpd)"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
 #. * second. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:326
+#: widgets/TimeTextCtrl.cpp:336
 msgid "01000,01000 frames|24"
 msgstr "01000,01000 bingkai|24"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV drop-frame rate (used for American /
-#. * Japananese TV, and very odd)
-#: widgets/TimeTextCtrl.cpp:330
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:340
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "jj:mm:dd: + Bingkai NTSC dengan drop"
 
@@ -9293,14 +9810,14 @@ msgstr "jj:mm:dd: + Bingkai NTSC dengan drop"
 #. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the |N alone, it's important!
-#: widgets/TimeTextCtrl.cpp:335
+#: widgets/TimeTextCtrl.cpp:345
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 jam 060 mnt 060 dtk+.30 bingkai|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-#. * Japananese TV, and doesn't quite match wall time
-#: widgets/TimeTextCtrl.cpp:339
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:349
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "jj:mm:dd: + Bingkai NTSC non-drop"
 
@@ -9309,26 +9826,26 @@ msgstr "jj:mm:dd: + Bingkai NTSC non-drop"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the | .999000999 alone,
 #. * the whole things really is slightly off-speed!
-#: widgets/TimeTextCtrl.cpp:345
+#: widgets/TimeTextCtrl.cpp:355
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 jam 060 mnt 060 dtk+.030 bingkai| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#. * TV frame rate (used for American / Japananese TV
-#: widgets/TimeTextCtrl.cpp:348
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:358
 msgid "NTSC frames"
 msgstr "Bingkai NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
 #. * rate!
-#: widgets/TimeTextCtrl.cpp:352
+#: widgets/TimeTextCtrl.cpp:362
 msgid "01000,01000 frames|29.97002997"
 msgstr "01000,01000 bingkai|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at PAL TV frame rate (used for European TV)
-#: widgets/TimeTextCtrl.cpp:355
+#: widgets/TimeTextCtrl.cpp:365
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "jj:mm:dd: + Bingkai PAL (25 bpd)"
 
@@ -9336,25 +9853,25 @@ msgstr "jj:mm:dd: + Bingkai PAL (25 bpd)"
 #. * and frames with PAL TV frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Nice simple time code!
-#: widgets/TimeTextCtrl.cpp:360
+#: widgets/TimeTextCtrl.cpp:370
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 jam 060 mnt 060 dtk+.25 bingkai"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
 #. * TV frame rate (used for European TV
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:373
 msgid "PAL frames (25 fps)"
 msgstr "Bingkai PAL (25 bpd)"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone.
-#: widgets/TimeTextCtrl.cpp:366
+#: widgets/TimeTextCtrl.cpp:376
 msgid "01000,01000 frames|25"
 msgstr "01000,01000 bingkai|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at CD Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:369
+#: widgets/TimeTextCtrl.cpp:379
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "jj:mm:dd: + Bingkai CDDA (75 bpd)"
 
@@ -9362,31 +9879,31 @@ msgstr "jj:mm:dd: + Bingkai CDDA (75 bpd)"
 #. * and frames with CD Audio frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'.
-#: widgets/TimeTextCtrl.cpp:374
+#: widgets/TimeTextCtrl.cpp:384
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 jam 060 mnt 060 dtk+.75 bingkai"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
 #. * Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:377
+#: widgets/TimeTextCtrl.cpp:387
 msgid "CDDA frames (75 fps)"
 msgstr "Bingkai CCDA (75 bpd)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:380
+#: widgets/TimeTextCtrl.cpp:390
 msgid "01000,01000 frames|75"
 msgstr "01000,01000 bingkai|75"
 
-#: widgets/TimeTextCtrl.cpp:451
+#: widgets/TimeTextCtrl.cpp:469
 msgid "Use right mouse button or context key to change format"
 msgstr "Gunakan tombol kanan mouse atau kunci konteks untuk mengubah format"
 
-#: widgets/TimeTextCtrl.cpp:1485
+#: widgets/TimeTextCtrl.cpp:1503
 msgid "Time Control"
 msgstr "Kontrol Waktu"
 
-#: widgets/Warning.cpp:64
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "Jangan perlihatkan peringatan lagi"
 
@@ -9405,3 +9922,68 @@ msgstr "Error: %hs pada garis %lu"
 msgid "Could not load file: \"%s\""
 msgstr "Tidak bisa mengambil file: \"%s\""
 
+#: xml/XMLWriter.cpp:281
+msgid "Error flushing file"
+msgstr "Error dalam menyebarkan file"
+
+#: xml/XMLWriter.cpp:286
+msgid "Error closing file"
+msgstr "Error dalam menutup file"
+
+#: xml/XMLWriter.cpp:296
+msgid "Error writing to file"
+msgstr "Error menulis ke file"
+
+#~ msgid "No"
+#~ msgstr "Tidak"
+#~ msgid "Record Append"
+#~ msgstr "Penambahan Rekaman"
+#~ msgid "Play Looped"
+#~ msgstr "Maikan berulang"
+#~ msgid "Group with Wave Track"
+#~ msgstr "Grupkan dengan Trek Wave"
+#~ msgid "Clear any grouping"
+#~ msgstr "Hapus grup apapun"
+#~ msgid "Disallowed for some reason.  Try selecting some audio first?"
+#~ msgstr ""
+#~ "Tidak diperbolehkan karena beberapa alasan.  Coba memilih beberapa audio "
+#~ "dahulu?"
+#~ msgid "Hello.\n"
+#~ msgstr "Halo. \n"
+#~ msgid "WCAG2 Audio Contrast Analyzer"
+#~ msgstr "Penganalisa Kontras Audio WCAG2"
+#~ msgid "Note: The 'OK' button resets time values."
+#~ msgstr "Catatan: Tombol 'OK' mengubah ulang nilai waktu."
+#~ msgid "Measuring background"
+#~ msgstr "Mengukur latar belakang"
+#~ msgid "Measuring foreground"
+#~ msgstr "Mengukur latar depan"
+#~ msgid "&Software Playthrough: Play new track while recording it"
+#~ msgstr "Selama Bermain pada &Software: Mainkan trek baru ketika merekamnya"
+#~ msgid "Show / Hide"
+#~ msgstr "Lihat / Sembunyi"
+#~ msgid "Show prompt to sa&ve, even if project is empty"
+#~ msgstr "Tunjukkan prompt untuk menyimpan, bahkan jika proyek masih kosong"
+#~ msgid "Display range minimum: meters and 'Waveform (dB)'"
+#~ msgstr "Tampilkan range minimum: meter dan 'waveform (dB)'"
+#~ msgid "Other interface choices"
+#~ msgstr "Pilihan interface lainnya"
+#~ msgid "Real-time sample rate converter:"
+#~ msgstr "Pengkonversi rate sampel yang cepat:"
+#~ msgid "High-quality sample rate converter:"
+#~ msgstr "Pengkonversi rate sampel berkualitas tinggi:"
+#~ msgid "Real-time dither:"
+#~ msgstr "Dither tepat waktu:"
+#~ msgid "High-quality dither:"
+#~ msgstr "Dither berkualitas tinggi:"
+#~ msgid "Conversion"
+#~ msgstr "Konversi"
+#~ msgid "Real-time:"
+#~ msgstr "Tepat Waktu:"
+#~ msgid "High-quality:"
+#~ msgstr "Kualitas Tinggi:"
+#~ msgid "FFT Size"
+#~ msgstr "Ukuran FFT"
+#~ msgid "&Grayscale"
+#~ msgstr "&Hitam Putih"
+
diff --git a/locale/it.po b/locale/it.po
index f182c08..7d65ba6 100644
--- a/locale/it.po
+++ b/locale/it.po
@@ -31,11 +31,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -87,7 +87,7 @@ msgid "Special thanks:"
 msgstr "Ringraziamenti particolari:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -229,10 +229,20 @@ msgstr "Livello Input"
 msgid "Output Meter"
 msgstr "Controllo Output"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Nuovo"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "Apri..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
 #: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
@@ -354,14 +364,14 @@ msgstr "Errore: "
 msgid "Error Initializing Audio"
 msgstr "Errore inizializzando l'audio"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -587,8 +597,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -908,11 +919,11 @@ msgstr "Rettangolare"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -970,11 +981,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1058,11 +1070,24 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
 #: ../src/effects/NoiseRemoval.cpp:463 ../src/effects/ClickRemoval.cpp:371
 msgid "Close"
 msgstr "Chiudi"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr "dB"
@@ -1073,6 +1098,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Per disegnare lo spettro, tutte le tracce selezionate devono avere la stessa frequenza di campionamento."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "E' stato selezionato troppo audio: saranno analizzati solo i primi %.1f secondi."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "I dati selezionati non sono sufficienti."
@@ -1112,6 +1146,21 @@ msgstr "Frequenza (Hz)\tLivello (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Lag (secondi)\tfrequenza (Hz)\t livello"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1189,7 +1238,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1213,7 +1262,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1282,6 +1331,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1395,21 +1452,13 @@ msgstr "Sto aprendo un progetto di Audacity"
 msgid "&File"
 msgstr "&File"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Nuovo\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "Apri...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Chiudi\tCtrl+W"
+msgid "&Close"
+msgstr "&Chiudi"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Salva il Progetto\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Salva il Progetto"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1432,7 +1481,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1463,8 +1512,8 @@ msgstr "Esportazione &Multipla..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1479,10 +1528,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1497,7 +1542,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1505,63 +1550,63 @@ msgid "&Edit"
 msgstr "Modifica"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "Ann&ulla\tCtrl+Z"
+msgid "&Undo"
+msgstr "Ann&ulla"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Ripristina"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "&Taglia\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Taglia"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Copia\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copia"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "Incolla\tCtrl+V"
+msgid "&Paste"
+msgstr "Incolla"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "Elimina\tCtrl+K"
+msgid "&Delete"
+msgstr "Elimina"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1574,47 +1619,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1622,33 +1652,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "Tutto\tCtrl+&A"
+msgid "&All"
+msgstr "Tutto"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Trova Incroci con Zero\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Trova Incroci con Zero"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1665,11 +1695,11 @@ msgid "to Selection En&d"
 msgstr "alla fine della selezione"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1692,29 +1722,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Attiva Griglia"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Disattiva Griglia"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Attiva l'Allineamento alla Griglia"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Disattiva l'Allineamento alla Griglia"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1722,35 +1731,35 @@ msgid "&View"
 msgstr "&Visualizza"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoom Avant&i\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Zoom Avant&i"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &Normale\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &Normale"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zoom Indietr&o\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Zoom Indietr&o"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "Adatta alla &Finestra\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "Adatta alla &Finestra"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Adatta &Verticalmente\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Adatta &Verticalmente"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Ingrandisci la Sele&zione\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "Ingrandisci la Sele&zione"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1812,39 +1821,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Vai all'Inizio\tHome"
+msgid "Skip to Start"
+msgstr "Vai all'Inizio"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Vai alla Fine\tFine"
+msgid "Skip to End"
+msgstr "Vai alla Fine"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1872,7 +1881,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1889,7 +1898,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1901,11 +1910,11 @@ msgid "Remo&ve Tracks"
 msgstr "Rimuo&vi Tracce"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1956,19 +1965,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Aggiungi un'Etichetta alla Selezione\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Aggiungi un'Etichetta al punto di riproduzione\tCtrl+B"
+msgid "Add Label At &Playback Position"
+msgstr "Aggiungi un'Etichetta al punto di riproduzione"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -1994,14 +2002,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Effetti"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Ripeti l'Ultimo Effetto\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Analizza"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
@@ -2019,8 +2027,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2039,181 +2047,149 @@ msgstr "Avvia P&rove di Sistema..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Strumento Selezione\tF1"
+msgid "Selection Tool"
+msgstr "Strumento Selezione"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Strumento Inviluppo\tF2"
+msgid "Envelope Tool"
+msgstr "Strumento Inviluppo"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Strumento Disegno\tF3"
+msgid "Draw Tool"
+msgstr "Strumento Disegno"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Strumento Zoom\tF4"
+msgid "Zoom Tool"
+msgstr "Strumento Zoom"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Strumento di Spostamento Temporale\tF5"
+msgid "Time Shift Tool"
+msgstr "Strumento di Spostamento Temporale"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Modalità Multi-Strumento\tF6"
+msgid "Multi Tool"
+msgstr "Modalità Multi-Strumento"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Strumento successivo\tD"
+msgid "Next Tool"
+msgstr "Strumento successivo"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Strumento Precedente\tA"
+msgid "Previous Tool"
+msgstr "Strumento Precedente"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Pausa\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Registra\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Esegui Un Secondo\t1"
+msgid "Play One Second"
+msgstr "Esegui Un Secondo"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Play To Selection\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Esegui in loop\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Play To Selection"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleziona dall'Inizio\tShift+Home"
+msgid "Selection to Start"
+msgstr "Seleziona dall'Inizio"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Seleziona fino alla fine\tShift+End"
+msgid "Selection to End"
+msgstr "Seleziona fino alla fine"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "TastoElimina\tBackSpace"
+msgid "DeleteKey"
+msgstr "TastoElimina"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "TastoElimina2\tDelete"
+msgid "DeleteKey2"
+msgstr "TastoElimina2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Cursore Sinistro\tSinistro"
+msgid "Cursor Left"
+msgstr "Cursore Sinistro"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Cursore Destro\tDestro"
+msgid "Cursor Right"
+msgstr "Cursore Destro"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Estendi la Selezione a Sinistra\tShift+Freccia Sinistra"
+msgid "Selection Extend Left"
+msgstr "Estendi la Selezione a Sinistra"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Estendi la Selezione a Destra\tShift+Freccia Destra"
+msgid "Selection Extend Right"
+msgstr "Estendi la Selezione a Destra"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2224,51 +2200,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contrai la Selezione a Sinistra\tCtrl+Shift+Freccia Destra"
+msgid "Selection Contract Left"
+msgstr "Contrai la Selezione a Sinistra"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contrai la Selezione a Destra\tCtrl+Shift+Freccia Sinistra"
+msgid "Selection Contract Right"
+msgstr "Contrai la Selezione a Destra"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2280,7 +2256,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2341,8 +2345,8 @@ msgstr "Devi prima selezionare una traccia."
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Ripeti %s\t Ctrl+R"
+msgid "Repeat %s"
+msgstr "Ripeti %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2549,15 +2553,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Dividi come etichette"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Per disegnare lo spettro, tutte le tracce selezionate devono avere la stessa frequenza di campionamento."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "E' stato selezionato troppo audio: saranno analizzati solo i primi %.1f secondi."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2777,6 +2772,10 @@ msgstr "Si 
 msgid "Print"
 msgstr "Stampa"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2790,8 +2789,7 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Registra"
 
@@ -2816,8 +2814,8 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Salvare i cambiamenti?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
 #: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
@@ -2847,6 +2845,17 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Errore aprendo il file"
@@ -2903,10 +2912,12 @@ msgstr "Questo file 
 msgid "Can't open project file"
 msgstr "Impossibile aprire il file del progetto"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2926,16 +2937,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Errore salvando il progetto"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -3094,6 +3111,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Scegli..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Tracce"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3102,6 +3276,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3240,6 +3418,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3312,6 +3494,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3351,10 +3541,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
 #: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
 #: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
@@ -3411,6 +3597,10 @@ msgstr "Crea una traccia stereo"
 msgid "Split Stereo Track"
 msgstr "Dividi traccia stereo"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Imposta la Risoluzione"
@@ -3605,14 +3795,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3647,6 +3829,11 @@ msgstr "Canale"
 msgid "Split stereo track '%s'"
 msgstr "Dividi la traccia stereo '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3723,6 +3910,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Muto"
@@ -3801,8 +3992,9 @@ msgstr "Plugins da 1 a %i"
 msgid "Plugins %i to %i"
 msgstr "Plugins da %i a %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4257,12 +4449,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Soglia: %d dB"
@@ -4293,7 +4484,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Tempo d'attacco: %.1f secondi"
@@ -4316,6 +4506,10 @@ msgstr "Compressore..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Sto applicando il Compressore della Gamma Dinamica..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4335,19 +4529,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4381,6 +4562,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4425,16 +4611,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4545,18 +4723,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4681,6 +4847,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4881,10 +5051,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5120,10 +5286,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5472,20 +5634,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5496,17 +5675,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Spiacente, gli effetti non si può applicare sulle tracce stereo quando i canali individuali non corrispondono."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Impostazioni Effetti"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Nessuno"
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Impossibile sostituire"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "parametri del VST Plug-in:"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5554,20 +5772,10 @@ msgstr "Sto applicando l'Effetto: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Nessuno"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Autore: "
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Impostazioni Effetti"
-
 #: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Durata (secondi)"
@@ -5759,9 +5967,21 @@ msgstr "Esporta l'intero progetto usando un encoder da linea di comando"
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5829,6 +6049,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -5962,12 +6186,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -5986,10 +6206,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6178,12 +6398,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6294,6 +6514,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6548,10 +6779,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Percorso del file da esportare:"
 
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Scegli..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6576,10 +6803,6 @@ msgstr "Nome del primo file:"
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Tracce"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "Nomi dei file:"
@@ -6613,25 +6836,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Scegli dove salvare i file esportati"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:528
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Something went really wrong after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6715,7 +6957,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Errore (il file potrebbe non essere stato salvato): %s"
@@ -6881,6 +7122,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Lista dei File in formato testo base"
@@ -7039,128 +7284,57 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Audio I/O"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Riproduzione"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Registrazione"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Interfaccia"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Riproduzione"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Registrazione"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
 #: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
@@ -7178,34 +7352,31 @@ msgstr "Percorso:"
 msgid "Free Space:"
 msgstr "Spazio libero:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Seleziona un percorso per la cartella temporanea"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7224,220 +7395,141 @@ msgstr "Impossibile scrivere nella cartella %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "I cambiamenti alla cartella temporanea non saranno effettuati fino a che Audacity non sarà riavviato"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Versione libreria MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
-
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Interfaccia"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (profondità ampiezza minima)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM range of 8 bit samples)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM range of 16 bit samples)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (approssimativamente il limite dell'udito umano)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM range of 24 bit samples)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (profondità ampiezza minima)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM range of 8 bit samples)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM range of 16 bit samples)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (approssimativamente il limite dell'udito umano)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM range of 24 bit samples)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7468,17 +7560,22 @@ msgstr "Nota: Premere Cmd+Q provocher
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Combinazione tasti"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Esporta scorciatoie da tastiera come:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Annulla"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Errore salvando le scorciatoie da tastiera"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7488,6 +7585,14 @@ msgstr "Seleziona un file XML contenente le scorciatoie da tastiera di Audacity.
 msgid "Error loading keyboard shortcuts"
 msgstr "Errore caricando le scorciatoie da tastiera"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Esporta scorciatoie da tastiera come:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Errore salvando le scorciatoie da tastiera"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7495,9 +7600,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Annulla"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Versione libreria MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Audio I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7512,6 +7669,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7520,6 +7681,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7532,6 +7697,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7745,10 +7922,62 @@ msgstr "Ctrl-Rotella-ruota"
 msgid "Zoom in or out"
 msgstr "Zoom avanti o indietro"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Preferenze Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Rectangle"
@@ -7773,44 +8002,44 @@ msgstr "Frequenza di campionamento predefinita:"
 msgid "Default Sample Format:"
 msgstr "Formato predefinito:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Convertitore in tempo reale della frequenza di campionamento:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Convertitore di alta qualità della frequenza di campionamento:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Real-time dither:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "High-quality dither:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7825,18 +8054,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Spettrogramma"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Dimensione FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - default"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7845,20 +8110,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - most narrowband"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7869,16 +8138,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Frequenza massima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7889,6 +8158,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "La frequenza massima deve essere un numero intero"
@@ -7905,18 +8182,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -7945,78 +8261,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pausa"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Stop"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Vai all'Inizio"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Vai alla Fine"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Pausa"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Stop"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8057,28 +8389,20 @@ msgstr "Zoom Avanti"
 msgid "Zoom Out"
 msgstr "Zoom Indietro"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Pulsante Zoom"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Adatta la selezione alla finestra"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Adatta l'intero progetto alla finestra"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8125,6 +8449,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8203,30 +8535,6 @@ msgstr "Sinistro=Zoom avanti; Destro=Zoom indietro; Centrale=Normale"
 msgid "Click and drag to move a track in time"
 msgstr "Clicca e trascina per muovere una traccia nel tempo"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Strumento Selezione"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Strumento Inviluppo"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Strumento di Spostamento Temporale"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Strumento Zoom"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Strumento Disegno"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Modalità Multi-Strumento"
@@ -8235,22 +8543,10 @@ msgstr "Modalit
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8259,74 +8555,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8359,6 +8619,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (disabilitato)"
@@ -8662,3 +8962,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ja.po b/locale/ja.po
index f81ae51..613928c 100644
--- a/locale/ja.po
+++ b/locale/ja.po
@@ -4,8 +4,7 @@
 # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
 #
 msgid ""
-msgstr ""
-"Project-Id-Version: \n"
+msgstr "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
 "POT-Creation-Date: 2008-11-09 20:10+0000\n"
 "PO-Revision-Date: 2009-01-25 17:00+0900\n"
@@ -17,9 +16,7 @@ msgstr ""
 "X-Poedit-Language: Japanese\n"
 "X-Poedit-Country: JAPAN\n"
 
-#: AboutDialog.cpp:143
-#: AudacityApp.cpp:807
-#: Menus.cpp:955
+#: AboutDialog.cpp:143 AudacityApp.cpp:807 Menus.cpp:955
 msgid "&About Audacity..."
 msgstr "Audacity について (&A)"
 
@@ -35,12 +32,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Audacity は世界中のボランティアの<a href=\"http://audacity.sourceforge.net/community/developers\">開発者</a>のチームによって製作されたフリーなプログラムです. 我々はプロジェクトのホスティングを行ってくれる <a href=\"http://sourceforge.net\">ourceForge.net</a>に感謝しています.Audacity はWindows98 以降, Mac OS X, Linux および他の Unix ライクなオペレーティングシステム上で動作します. Audacity のより古いバージョンはマック OS9 上での利用が可能です."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "このプログラムはベータバージョンで, バグや未完成の機能などがあるでしょう. もし何かお気付きの点などがありましたら, ぜひ私達の WebSite を訪れてください. バグの報告や欲しい機能のリクエストなど. みなさんからのフィードバックを<b>feedback at audacityteam.org</b>にお待ちしております. Audacity を使用するうえでの助けが必要なら、<a href=\"http://audacityteam.org/forum/\">フォーラム</a>にアクセスしてみてください."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "これは Audacity の安定したリリースバージョンです. ですが, もしバグを見付けたり欲しい機能などがありましたら, ぜひ私達<b>feedback at audacityteam.org</b>宛にお知らせください. Audacity を使用するうえでの助けが必要なら、<a href=\"http://audacityteam.org/forum/\">フォーラム</a>にアクセスしてみてください."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
 #  in the credits in the About Audacity window.  Use this to add
@@ -60,8 +57,7 @@ msgstr "これは Audacity の安定したリリースバージョンです. で
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Japanese translation by Akira Nishimura (akira at rsch.tuis.ac.jp)"
 
@@ -104,7 +100,8 @@ msgid "Special thanks:"
 msgstr "スペシャルサンクス:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+#, fuzzy
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr "<b>Audacity&reg;</b>ソフトウェアの著作権は Audacity Team にあります.&copy; 1999-2008.<br><b>Audacity&reg;</b>の名称は Dominic Mazzoni の登録商標です."
 
 #: AboutDialog.cpp:258
@@ -112,14 +109,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:304
-#: AboutDialog.cpp:317
-#: AboutDialog.cpp:473
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
 msgid "Build Information"
 msgstr "コンパイル情報"
 
-#: AboutDialog.cpp:310
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:310 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "有効になっています"
 
@@ -132,33 +126,27 @@ msgid "File Format Support"
 msgstr "サポートするファイル形式"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:331
-#: AboutDialog.cpp:333
+#: AboutDialog.cpp:331 AboutDialog.cpp:333
 msgid "MP3 Importing"
 msgstr "MP3ファイルを読み込む"
 
-#: AboutDialog.cpp:340
-#: AboutDialog.cpp:343
+#: AboutDialog.cpp:340 AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ogg Vorbis 読み込みと書き出し"
 
-#: AboutDialog.cpp:347
-#: AboutDialog.cpp:350
+#: AboutDialog.cpp:347 AboutDialog.cpp:350
 msgid "ID3 tag support"
 msgstr "ID3タグのサポート"
 
-#: AboutDialog.cpp:357
-#: AboutDialog.cpp:360
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr "FLAC 読み込みと書き出し"
 
-#: AboutDialog.cpp:365
-#: AboutDialog.cpp:368
+#: AboutDialog.cpp:365 AboutDialog.cpp:368
 msgid "MP2 export"
 msgstr "MP2 書き出し"
 
-#: AboutDialog.cpp:373
-#: AboutDialog.cpp:376
+#: AboutDialog.cpp:373 AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr "QuickTime を通じて読み込み"
 
@@ -167,15 +155,12 @@ msgstr "QuickTime を通じて読み込み"
 msgid "Core Libraries"
 msgstr "コアライブラリ"
 
-#: AboutDialog.cpp:389
-#: AboutDialog.cpp:392
-#: AboutDialog.cpp:395
+#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr "サンプルレートコンバーター"
 
-#: AboutDialog.cpp:402
-#: AboutDialog.cpp:405
+#: AboutDialog.cpp:402 AboutDialog.cpp:405
 msgid "Audio playback and recording"
 msgstr "オーディオ再生と録音"
 
@@ -183,24 +168,17 @@ msgstr "オーディオ再生と録音"
 msgid "Features"
 msgstr "特徴"
 
-#: AboutDialog.cpp:422
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:430
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:438
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:446
-#: AboutDialog.cpp:449
+#: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
+#: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
+#: AboutDialog.cpp:446 AboutDialog.cpp:449
 msgid "Plug-in support"
 msgstr "プラグインのサポート"
 
-#: AboutDialog.cpp:454
-#: AboutDialog.cpp:457
+#: AboutDialog.cpp:454 AboutDialog.cpp:457
 msgid "Sound card mixer support"
 msgstr "サウンドカードミキサーのサポート"
 
-#: AboutDialog.cpp:462
-#: AboutDialog.cpp:465
+#: AboutDialog.cpp:462 AboutDialog.cpp:465
 msgid "Pitch and Tempo Change support"
 msgstr "ピッチとテンポの変化のサポート"
 
@@ -208,8 +186,7 @@ msgstr "ピッチとテンポの変化のサポート"
 msgid "Program build date: "
 msgstr "プログラムビルドの日付:"
 
-#: AboutDialog.cpp:480
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:480 AboutDialog.cpp:482
 msgid "Build type:"
 msgstr "ビルドの種類:"
 
@@ -234,28 +211,22 @@ msgstr "設定フォルダ: "
 msgid "GPL License"
 msgstr "GPLライセンス"
 
-#: AudacityApp.cpp:507
-#: Project.cpp:1844
+#: AudacityApp.cpp:507 Project.cpp:1844
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s は他のウィンドウで既に開かれています."
 
-#: AudacityApp.cpp:509
-#: Project.cpp:1846
-#: Project.cpp:1951
-#: Project.cpp:2095
+#: AudacityApp.cpp:509 Project.cpp:1846 Project.cpp:1951 Project.cpp:2095
 #: Project.cpp:2232
 msgid "Error opening project"
 msgstr "Audacity プロジェクトファイルの読み込み時にエラーが発生しました"
 
 #: AudacityApp.cpp:541
 #, c-format
-msgid ""
-"%s does not exist and could not be opened.\n"
+msgid "%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr ""
-"%s は存在しないため開かれませんでした。\n"
+msgstr "%s は存在しないため開かれませんでした。\n"
 "\n"
 "履歴より削除されています。"
 
@@ -271,31 +242,36 @@ msgstr "インプットメーター"
 msgid "Output Meter"
 msgstr "出力メーター"
 
-#  i18n-hint: Mac OS X shortcut should be Ctrl+,
-#  i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
+#: Menus.cpp:196
+msgid "&New"
+msgstr "新規(&N)"
+
+#: Menus.cpp:198
+msgid "&Open..."
+msgstr "開く...(&O)"
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "設定... (&P)\tCtrl+,"
+msgid "&Preferences..."
+msgstr "設定... (&P)"
 
-#: AudacityApp.cpp:901
-#: AudacityApp.cpp:978
+#: AudacityApp.cpp:901 AudacityApp.cpp:978
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "ブロックサイズを %ld にします\n"
 
-#: AudacityApp.cpp:923
-#: AudacityApp.cpp:993
+#: AudacityApp.cpp:923 AudacityApp.cpp:993
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "不明なコマンドラインオプションです: %s\n"
 
 #: AudacityApp.cpp:1127
-msgid ""
-"Audacity could not find a place to store temporary files.\n"
+msgid "Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr ""
-"Audacity はテンポラリファイルを製作する場所を見つけられませんでした.\n"
+msgstr "Audacity はテンポラリファイルを製作する場所を見つけられませんでした.\n"
 "設定メニューでテンポラリファイルを製作するディレクトリー名を入力してください."
 
 #: AudacityApp.cpp:1133
@@ -303,21 +279,17 @@ msgid "Audacity is now going to exit. Please launch Audacity again to use the ne
 msgstr "Audacity を終了させます. 新しいテンポラリディレクトリを使うために, Audacity を再起動して下さい."
 
 #: AudacityApp.cpp:1165
-msgid ""
-"Running two copies of Audacity simultaneously may cause\n"
+msgid "Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr ""
-"Audacity を二つ同時に動作させることは、データを喪失したり、\n"
+msgstr "Audacity を二つ同時に動作させることは、データを喪失したり、\n"
 "システムを停止させたりすることがあります。\n"
 "\n"
 
 #: AudacityApp.cpp:1172
-msgid ""
-"Audacity was not able to lock the temporary files directory.\n"
+msgid "Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr ""
-"Audacity はテンポラリファイルのあるフォルダをロックできません.\n"
+msgstr "Audacity はテンポラリファイルのあるフォルダをロックできません.\n"
 "このフォルダは別に起動されたAudacityが使用しているようです.\n"
 
 #: AudacityApp.cpp:1174
@@ -333,11 +305,9 @@ msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "システムは別の Audacity が動作していることを検知しました。\n"
 
 #: AudacityApp.cpp:1216
-msgid ""
-"Use the New or Open commands in the currently running Audacity\n"
+msgid "Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr ""
-"複数のプロジェクトを同時に開いて作業するためには、新規 あるいは開くコマンドを、\n"
+msgstr "複数のプロジェクトを同時に開いて作業するためには、新規 あるいは開くコマンドを、\n"
 "今動作している Audacity において使ってください。\n"
 
 #: AudacityApp.cpp:1217
@@ -382,13 +352,11 @@ msgid "In addition, specify the name of an audio file or Audacity project to ope
 msgstr "加えて、オーディオファイルの名前あるいは Audacity プロジェクトが開く名前を指定してください。"
 
 #: AudacityApp.cpp:1529
-msgid ""
-"Audacity project (.AUP) files are not currently \n"
+msgid "Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr ""
-"Audacity プロジェクト (.AUP) ファイルは現在 Audacity に\n"
+msgstr "Audacity プロジェクト (.AUP) ファイルは現在 Audacity に\n"
 "関連付けられていません.\n"
 "\n"
 "ダブルクリックで開くために関連付けを行いますか?"
@@ -402,11 +370,9 @@ msgid "Could not find any audio devices.\n"
 msgstr "オーディオデバイスが見つかりません。\n"
 
 #: AudioIO.cpp:255
-msgid ""
-"You will not be able to play or record audio.\n"
+msgid "You will not be able to play or record audio.\n"
 "\n"
-msgstr ""
-"再生もしくは録音することができないでしょう.\n"
+msgstr "再生もしくは録音することができないでしょう.\n"
 "\n"
 
 #: AudioIO.cpp:258
@@ -417,38 +383,31 @@ msgstr "エラー: "
 msgid "Error Initializing Audio"
 msgstr "オーディオの初期化時にエラーが発生しました"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "レイテンシー(潜時)の問題"
-
-#: AudioIO.cpp:1375
-msgid ""
-"Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
-"レイテンシーの設定は、録音された音をゼロ時刻より前に隠れている状態にします。\n"
-"Audacity はそれをゼロ時刻から開始するように巻き戻します。\n"
-"トラックを正しい時刻にドラッグするために、タイムシフトツール(<---> あるいは F5)を使うべきでしょう"
+
+#: AudioIO.cpp:1375
+msgid "Latency problem"
+msgstr "レイテンシー(潜時)の問題"
 
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "自動的なクラッシュからの回復"
 
 #: AutoRecovery.cpp:73
-msgid ""
-"Some projects were not saved properly the last time Audacity was run.\n"
+msgid "Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr ""
-"いくつかのプロジェクトは Audacity が最後に動作状態にあったときに正常に保存されていません。\n"
+msgstr "いくつかのプロジェクトは Audacity が最後に動作状態にあったときに正常に保存されていません。\n"
 "うまくいけば、以下のプロジェクトは自動的に回復することができるでしょう。"
 
 #: AutoRecovery.cpp:75
 msgid "Recoverable projects"
 msgstr "回復可能なプロジェクト"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2041
+#: AutoRecovery.cpp:78 Tags.cpp:2041
 msgid "Name"
 msgstr "名前"
 
@@ -469,53 +428,35 @@ msgid "Recover Projects"
 msgstr "プロジェクトを回復"
 
 #: AutoRecovery.cpp:127
-msgid ""
-"Are you sure you don't want to recover any projects?\n"
+msgid "Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr ""
-"どのプロジェクトも回復することを望まない、でよろしいですか?\n"
+msgstr "どのプロジェクトも回復することを望まない、でよろしいですか?\n"
 "それらは後で回復させることはできません。"
 
 #: AutoRecovery.cpp:128
 msgid "Confirm?"
 msgstr "確認?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "自動保存ディレクトリにファイル番号を振ることができません。"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:3053
-#: Menus.cpp:3065
-#: Menus.cpp:5182
-#: Project.cpp:2054
-#: Project.cpp:3615
-#: Project.cpp:3694
-#: TrackPanel.cpp:6385
-#: WaveTrack.cpp:598
-#: WaveTrack.cpp:617
-#: WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077
-#: WaveTrack.cpp:2087
-#: effects/Effect.cpp:513
-#: export/ExportMP2.cpp:233
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:247
-#: toolbars/ControlToolBar.cpp:542
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3053 Menus.cpp:3065
+#: Menus.cpp:5182 Project.cpp:2054 Project.cpp:3615 Project.cpp:3694
+#: TrackPanel.cpp:6385 WaveTrack.cpp:598 WaveTrack.cpp:617 WaveTrack.cpp:1058
+#: WaveTrack.cpp:1077 WaveTrack.cpp:2087 effects/Effect.cpp:513
+#: export/ExportMP2.cpp:233 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:247 toolbars/ControlToolBar.cpp:542
 #: toolbars/ControlToolBar.cpp:871
 msgid "Error"
 msgstr "エラー"
 
-#: BatchCommandDialog.cpp:57
-#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:57 BatchCommandDialog.cpp:62
 #: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "コマンドを選択"
 
-#: BatchCommandDialog.cpp:82
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "コマンド (&C)"
@@ -524,8 +465,7 @@ msgstr "コマンド (&C)"
 msgid "&Edit Parameters"
 msgstr "編集パラメータ (&E)"
 
-#: BatchCommandDialog.cpp:91
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:91 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "パラメータ (&P)"
 
@@ -552,11 +492,9 @@ msgstr "コマンド %s はまだ実装されていません"
 
 #: BatchCommands.cpp:508
 #, c-format
-msgid ""
-"Could not set parameters of effect %s\n"
+msgid "Could not set parameters of effect %s\n"
 " to %s."
-msgstr ""
-"エフェクト %s のパラメータが \n"
+msgstr "エフェクト %s のパラメータが \n"
 "%s に設定できません"
 
 #: BatchCommands.cpp:561
@@ -566,17 +504,14 @@ msgstr "自動実行コマンド %s は認識されません。"
 
 #: BatchCommands.cpp:652
 #, c-format
-msgid ""
-"Apply %s with parameter(s)\n"
+msgid "Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr ""
-"%s はパラメータを付けて適用してください。\n"
+msgstr "%s はパラメータを付けて適用してください。\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:653
-#: BatchCommands.cpp:658
+#: BatchCommands.cpp:653 BatchCommands.cpp:658
 msgid "Test Mode"
 msgstr "テストモード"
 
@@ -585,8 +520,7 @@ msgstr "テストモード"
 msgid "Apply %s"
 msgstr "%s を適用"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "チェインを適用..."
@@ -613,23 +547,15 @@ msgstr "現在のプロジェクトに適用 (&P)"
 msgid "Apply to &Files..."
 msgstr "ファイルへ適用... (&F)"
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2080
-#: Tags.cpp:2084
-#: Tags.cpp:2384
-#: Tags.cpp:2388
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:453
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2080
+#: Tags.cpp:2084 Tags.cpp:2384 Tags.cpp:2388 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:453
 #: effects/audiounits/AudioUnitEffect.cpp:887
 msgid "&Cancel"
 msgstr "キャンセル (&C)"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "チェインが選択されていません."
 
@@ -666,8 +592,7 @@ msgstr "適用中..."
 msgid "File"
 msgstr "ファイル"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "チェインを編集"
@@ -676,19 +601,12 @@ msgstr "チェインを編集"
 msgid "&Chains"
 msgstr "チェイン (&C)"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:826
-#: Tags.cpp:1465
-#: Tags.cpp:2064
+#: BatchProcessDialog.cpp:435 Tags.cpp:826 Tags.cpp:1465 Tags.cpp:2064
 msgid "&Add"
 msgstr "加算 (&A)"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:128
-#: Tags.cpp:827
-#: Tags.cpp:1466
-#: Tags.cpp:2065
-#: TrackPanel.cpp:4176
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:827 Tags.cpp:1466
+#: Tags.cpp:2065 TrackPanel.cpp:4176
 msgid "&Remove"
 msgstr "削除(&R)"
 
@@ -700,11 +618,10 @@ msgstr "リネーム (&n)"
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "チェイン (編集するにはダブルクリックかSPACEを押す) (&h)"
 
-#  i18n-hint: This is the number of the command in the list
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "No"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -766,12 +683,10 @@ msgid "Copying audio data into project..."
 msgstr "オーディオデータをプロジェクトにコピーしています..."
 
 #: Dependencies.cpp:223
-msgid ""
-"Your project currently depends on the presence of other files.\n"
+msgid "Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr ""
-"プロジェクトは現在、別のファイルに依存しています。\n"
+msgstr "プロジェクトは現在、別のファイルに依存しています。\n"
 "自分自身でファイルを保持するために、以下のファイルからプロジェクトにオーディオをコピーしませんか?\n"
 "この作業はより多くのディスク領域を必要としますが、より安全であるといえます。"
 
@@ -795,8 +710,7 @@ msgstr "ディスクスペース"
 msgid "Copy Selected Audio Into Project"
 msgstr "選択されたオーディオをプロジェクトへコピー"
 
-#: Dependencies.cpp:308
-#: Dependencies.cpp:414
+#: Dependencies.cpp:308 Dependencies.cpp:414
 msgid "Cancel Save"
 msgstr "保存をキャンセル"
 
@@ -808,8 +722,7 @@ msgstr "いかなるオーディオもコピーしません"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "全てのオーディオをプロジェクトにコピーします(より安全)"
 
-#: Dependencies.cpp:321
-#: Dependencies.cpp:326
+#: Dependencies.cpp:321 Dependencies.cpp:326
 msgid "Ask me"
 msgstr "質問してください"
 
@@ -838,16 +751,12 @@ msgid "Dependency check"
 msgstr "依存性のチェック"
 
 #: DirManager.cpp:137
-msgid ""
-"Warning: there is very little free disk space left on this volume.\n"
+msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr ""
-"警告: ディスクの空き容量がわずかしか残っていません. \n"
+msgstr "警告: ディスクの空き容量がわずかしか残っていません. \n"
 "他のテンポラリディレクトリを設定で選択してください."
 
-#: DirManager.cpp:223
-#: DirManager.cpp:254
-#: DirManager.cpp:337
+#: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
 msgid "Progress"
 msgstr "進行"
 
@@ -865,11 +774,9 @@ msgstr "キャッシュディレクトリをクリア中"
 
 #: DirManager.cpp:505
 #, c-format
-msgid ""
-"Audacity found an orphaned blockfile %s! \n"
+msgid "Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr ""
-"Audacity は管理されていないブロックファイル %s を見つけました! \n"
+msgstr "Audacity は管理されていないブロックファイル %s を見つけました! \n"
 "完全なプロジェクトのチェックを実行するために、プロジェクトを保存して再読み込みすることを検討してください。\n"
 
 #  i18n-hint: This is the pattern for filenames that are created
@@ -910,8 +817,7 @@ msgstr "%s' から '%s' へリネームできません"
 msgid "Changed block %s to new alias name\n"
 msgstr "ブロック %s は新しいエリアス名に変更されました\n"
 
-#: DirManager.cpp:1224
-#: DirManager.cpp:1515
+#: DirManager.cpp:1224 DirManager.cpp:1515
 msgid "Inspecting project file data..."
 msgstr "プロジェクトファイルを精査しています..."
 
@@ -936,21 +842,17 @@ msgid "Missing data file: (%s.au)"
 msgstr "欠損したデータファイル: (%s.au)"
 
 #: DirManager.cpp:1319
-msgid ""
-"Project check found inconsistencies inspecting the loaded project data;\n"
+msgid "Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr ""
-"プロジェクトチェックは読み込まれたプロジェクトデータを精査して不整合性を見つけました。\n"
+msgstr "プロジェクトチェックは読み込まれたプロジェクトデータを精査して不整合性を見つけました。\n"
 "完全なエラーのリストを得るために、`詳細'をクリックするか、より多くのオプションに進むため`OK'をクリックしてください。"
 
 #: DirManager.cpp:1331
 #, c-format
-msgid ""
-"Project check found %d orphaned blockfile[s]. These files are\n"
+msgid "Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr ""
-"プロジェクトチェックは %d 個の管理されていないブロックファイルを見つけました。これらのファイルは\n"
+msgstr "プロジェクトチェックは %d 個の管理されていないブロックファイルを見つけました。これらのファイルは\n"
 "使われておらず、多分なんらかのバグかプログラムの停止によって残されたものでしょう。\n"
 "それらは、ディスク競合を防ぐために消すべきでしょう。"
 
@@ -966,28 +868,21 @@ msgstr "削除せずに続行; こっそり余分なファイルに向きをか
 msgid "Close project immediately with no changes"
 msgstr "何も変更せずにすぐにプロジェクトを閉じる"
 
-#: DirManager.cpp:1340
-#: DirManager.cpp:1375
-#: DirManager.cpp:1421
-#: DirManager.cpp:1463
-#: export/Export.cpp:576
-#: export/Export.cpp:597
-#: export/Export.cpp:616
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1340 DirManager.cpp:1375 DirManager.cpp:1421
+#: DirManager.cpp:1463 export/Export.cpp:576 export/Export.cpp:597
+#: export/Export.cpp:616 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "警告"
 
 #: DirManager.cpp:1366
 #, c-format
-msgid ""
-"Project check detected %d input file[s] being used in place\n"
+msgid "Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr ""
-"プロジェクトチェックは (`エリアスファイル')が今は存在しない場所で使われている \n"
+msgstr "プロジェクトチェックは (`エリアスファイル')が今は存在しない場所で使われている \n"
 "%d 個の入力ファイルを見つけました。Audacity はそれらのファイルを自動的に回復する\n"
 "すべをもちません; 恒久的に欠損ファイルを無音で満たすか、一時的にこのセッションのみ無音で\n"
 "満たすか、プロジェクトをすぐに閉じて欠損したファイルを手動で回復するかを選ぶとよいでしょう。"
@@ -996,25 +891,20 @@ msgstr ""
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "欠損したデータファイルを無音で置換する [保存するにあたって恒久的に]"
 
-#: DirManager.cpp:1372
-#: DirManager.cpp:1460
+#: DirManager.cpp:1372 DirManager.cpp:1460
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "一時的に欠損したデータを無音で置換する [このセッションのみ]"
 
-#: DirManager.cpp:1373
-#: DirManager.cpp:1419
-#: DirManager.cpp:1461
+#: DirManager.cpp:1373 DirManager.cpp:1419 DirManager.cpp:1461
 msgid "Close project immediately with no further changes"
 msgstr "これ以上の変更をしないでプロジェクトをすぐに閉じる"
 
 #: DirManager.cpp:1412
 #, c-format
-msgid ""
-"Project check detected %d missing summary file[s] (.auf).\n"
+msgid "Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr ""
-"プロジェクトチェックは %d 個の欠損した要約ファイル(.auf)を見つけました。\n"
+msgstr "プロジェクトチェックは %d 個の欠損した要約ファイル(.auf)を見つけました。\n"
 "Audacity は、それらの要約ファイルをプロジェクトにある元のオーディオデータから\n"
 "完全に再生成することができます。"
 
@@ -1028,16 +918,14 @@ msgstr "表示データの欠損を無音で埋める [このセッションの
 
 #: DirManager.cpp:1454
 #, c-format
-msgid ""
-"Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr ""
-"プロジェクトチェックは 多分バグかシステム停止あるいは偶発的な削除によって\n"
+msgstr "プロジェクトチェックは 多分バグかシステム停止あるいは偶発的な削除によって\n"
 "%d 個の欠損したオーディオデータのブロックファイル(.au)を見つけました。\n"
 "Audacity はそれらの失われたデータを自動的に回復することはできません; \n"
 "欠損データを恒久的に無音で埋めるか、一時的にこのセッションのみ無音で埋めるか、\n"
@@ -1075,17 +963,12 @@ msgstr "矩形"
 msgid "FFmpeg support not compiled in"
 msgstr "FFmpeg 対応はコンパイルされていません"
 
-#: FFmpeg.cpp:101
-msgid ""
-"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
-"FFmpegは設定されており以前は正常に読み込まれていましたが                       \n"
-"今回Audacity起動時に読み込み失敗しました。                       \n"
-"\n"
-"設定 > 読み込み/書き出しで再設定してください。"
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
@@ -1104,20 +987,17 @@ msgstr "FFmpegを位置づける"
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
 msgstr "ファイル %s が FFmpeg を通じて入出力を行うために必要です。"
 
-#: FFmpeg.cpp:196
-#: export/ExportMP3.cpp:562
+#: FFmpeg.cpp:196 export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "位置 %s :"
 
-#: FFmpeg.cpp:205
-#: export/ExportMP3.cpp:571
+#: FFmpeg.cpp:205 export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "%s を見つけるには、ここをクリック -->"
 
-#: FFmpeg.cpp:211
-#: export/ExportMP3.cpp:577
+#: FFmpeg.cpp:211 export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "ブラウズ..."
 
@@ -1125,8 +1005,7 @@ msgstr "ブラウズ..."
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "FFmpeg の無料コピーを入手するには、ここをクリック -->"
 
-#: FFmpeg.cpp:215
-#: export/ExportMP3.cpp:579
+#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
 msgid "Download"
 msgstr "ダウンロード"
 
@@ -1136,8 +1015,7 @@ msgstr "ダウンロード"
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:235
-#: export/ExportMP3.cpp:601
+#: FFmpeg.cpp:235 export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "%s はどこにありますか?"
@@ -1150,17 +1028,13 @@ msgstr "コンパチブルなFFmpegライブラリが存在しません。"
 msgid "FFmpeg not found"
 msgstr "FFmpeg が見つかりません"
 
-#: FFmpeg.h:101
-msgid ""
-"Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
-"Audacityはオーディオファイルを読み込むためにFFmpegライブラリを使おうとしましたが、\n"
-"ライヴラリが存在しませんでした。\n"
-"FFmpeg読み込み機能を使う場合は、設定 > 読み込み/書き出しで\n"
-"ライブラリの場所を指定してください。"
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
@@ -1182,9 +1056,7 @@ msgstr "libavformat.so|libavformat.so*|ダイナミックリンクライブラ
 msgid "Frequency Analysis"
 msgstr "周波数解析"
 
-#: FreqWindow.cpp:139
-#: TrackPanel.cpp:556
-#: prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:139 TrackPanel.cpp:556 prefs/GUIPrefs.cpp:156
 msgid "Spectrum"
 msgstr "スペクトログラム表示"
 
@@ -1213,14 +1085,11 @@ msgstr "強調された自己相関 (Enhanced Autocorrelation)"
 msgid "Cepstrum"
 msgstr "ケプストラム"
 
-#: FreqWindow.cpp:150
-#: FreqWindow.cpp:154
+#: FreqWindow.cpp:150 FreqWindow.cpp:154
 msgid "Algorithm"
 msgstr "アルゴリズム"
 
-#: FreqWindow.cpp:169
-#: FreqWindow.cpp:173
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:169 FreqWindow.cpp:173 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "サイズ"
 
@@ -1234,8 +1103,7 @@ msgstr "サイズ"
 msgid " window"
 msgstr "ウィンドウ"
 
-#: FreqWindow.cpp:187
-#: FreqWindow.cpp:191
+#: FreqWindow.cpp:187 FreqWindow.cpp:191
 msgid "Function"
 msgstr "窓関数"
 
@@ -1247,45 +1115,42 @@ msgstr "リニア周波数軸"
 msgid "Log frequency"
 msgstr "対数周波数軸"
 
-#: FreqWindow.cpp:201
-#: FreqWindow.cpp:205
+#: FreqWindow.cpp:201 FreqWindow.cpp:205
 msgid "Axis"
 msgstr "軸"
 
-#: FreqWindow.cpp:212
-#: LabelDialog.cpp:130
-#: Menus.cpp:241
-#: Menus.cpp:276
+#: FreqWindow.cpp:212 LabelDialog.cpp:130 Menus.cpp:241 Menus.cpp:276
 msgid "&Export..."
 msgstr "書き出し...(&E)"
 
-#: FreqWindow.cpp:213
-#: export/ExportCL.cpp:325
-#: export/ExportMultiple.cpp:347
+#: FreqWindow.cpp:213 export/ExportCL.cpp:325 export/ExportMultiple.cpp:347
 msgid "Export"
 msgstr "書き出し"
 
-#: FreqWindow.cpp:216
-#: FreqWindow.cpp:217
-#: widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "閉じる"
 
-#: FreqWindow.cpp:280
-#: FreqWindow.cpp:410
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:792
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123
-#: effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133
-#: effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408
-#: effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:367
-#: widgets/Meter.cpp:417
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1123 effects/Equalization.cpp:1125
+#: effects/Equalization.cpp:1133 effects/Equalization.cpp:1199
+#: effects/Equalization.cpp:1408 effects/Equalization.cpp:1419
+#: effects/Normalize.cpp:367 widgets/Meter.cpp:417
 msgid "dB"
 msgstr "dB"
 
@@ -1295,20 +1160,25 @@ msgstr "dB"
 #  cycles per second.
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295
-#: FreqWindow.cpp:450
-#: effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195
-#: import/ImportRaw.cpp:399
+#: FreqWindow.cpp:295 FreqWindow.cpp:450 effects/Equalization.cpp:1164
+#: effects/Equalization.cpp:1195 import/ImportRaw.cpp:399
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3969
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "スペクトルをプロットするためには, 選択されたトラックはすべてが同一のサンプリレートでなければなりません."
+
+#: Menus.cpp:3995
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "大量のオーディオが選択されました. 最初の %.1f 秒だけが分析されるでしょう."
+
 #: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "必要なデータが選択されていません."
 
-#: FreqWindow.cpp:458
-#: effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:458 effects/AutoDuck.cpp:794
 msgid "s"
 msgstr "s"
 
@@ -1330,12 +1200,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "スペクトルデータの書き出し:"
 
-#: FreqWindow.cpp:1087
-#: LabelDialog.cpp:603
-#: Menus.cpp:2555
-#: Project.cpp:2604
-#: Project.cpp:3667
-#: prefs/KeyConfigPrefs.cpp:182
+#: FreqWindow.cpp:1087 LabelDialog.cpp:603 Menus.cpp:2555 Project.cpp:2604
+#: Project.cpp:3667 prefs/KeyConfigPrefs.cpp:182
 msgid "Couldn't write to file: "
 msgstr "ファイルが書き込めません:"
 
@@ -1347,6 +1213,21 @@ msgstr "周波数 (Hz)\tレベル (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "遅延 (秒)\t周波数 (Hz)\tレベル"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "[[welcome|ようこそ]]画面に戻る"
@@ -1424,7 +1305,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>録音するには: </b>録音デバイスと入力ソースをセットして、入力レベルを合わせ、赤い録音ボタンを押してください。</b></p><p>1)<i>設定のオーディオI/Oタブ</i>あるいは<i>デバイスツールバー</i>のなかにある[[inputdevice|録音デバイスの設定]]。オーディオI/O設定では、ステレオ録音が必要ならばそれを選んでもらいます。2)[[inputsorce|入力ソースの設定]] を、<i>ミキサーツールバー</i>あるいは (いくつかのシステムでは) <i>設定のオーディオIOタブ</i>あるいは<i>デバイスツールバー</i>の中に録音デバイスのドロップダウンリストの中にあるそのデバイスに対して行います(例えばマイクロホンやライン入力など).<br>3) [[inputlevel|入力レベルの調整]]] を<i>ミキサーツルーバー</i>の左側にあるスライダーを使って行います. ノイズや歪を抑えるには、録音の前に録音レベルの調整を行うことは基本です.</p><p>さらなるヘルプは、<a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">マニュアルの中にある、\"録音\"の<a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>と、我々のチュートリアル<a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\">初めての録音</a>と、Wiki [[wiki:Recording_Tips|録音のコツ]] と [[wiki:Troubleshooting_Recordings|録音のトラブルシューティング]]ページを御覧ください.</p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>入力デバイスとは、あなたが実際録音しようとしている物理的なサウンドデバイスのことです。これは<i>設定のなかのオーディオ I/O タブ</i>\"にある、\"録音デバイス\"にて選びます。Windows と Linux では、<i>編集</i>メニューの中程に設定があります。Mac の場合、<i>Audacity</i>メニューのなかにあります。<i>ビュー &gt; ツールバー...</i>にて有効にできる <i>デバイスツールバー</i>の中から録音デバイスを便利に選ぶこともできます。</p><p>そのままでは、Audacity はシステムによって現在使用されているデバイス(一般に内蔵のサウンドデバイス)を使用しますので、入力デバイスを変更する必要は頻繁にはないでしょう。Windowsでは、この現在システムが使用中のデバイスは、\"Microsoft サウンドマッパー\"にて選ぶことができます。もし、USBレコードプレーヤなどの外部のUSBや Firewire デバイスから録音する場合は、それを接続後に録音のデバイスで名前を指定して選んでください。</p><p> [[record|音の録音]] へ戻る<br></p>"
 
 #: HelpText.cpp:244
@@ -1448,7 +1330,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "完成した作品を他のメディアプログラムで再生するには、オーディオファイルをWAVやMP3形式に書き出してください。(いくつかの形式 [[wma-proprietary|は未サポートです]]). [[save|プロジェクトファイルの保存]] はプロジェクトファイル(および _data フォルダ)が生成しすべての編集されたトラックが保存されます。したがって後で編集作業に戻ることができます。しかしながら他のプログラムはAudacityプロジェクトファイルを読み込むことができません。</p><p> ファイルを書き出すには、<i>File &gt; 書き出し</i> をクリックし、\"ファイルの種類\" にてファイル形式を選択してください。 普通のCDプレーヤーで聴くために [[burncd|CDに書き込む]]にはWAVまたはAIFF形式を選択してください。 MP3形式に書き出すには[[wiki:Lameのインストール|Lameエンコーダー]]をインストールすることが必要です。 </p><p> <i>File &gt; 選択範囲を書き出し</i> はオーディオファイルの中の一部分だけを書き出すことができます。 <i>Use File &gt; 複数ファイルの書き出し</i> は個別のトラックごとあるいは1つのトラックの中の複数部分を複数のファイルに書き出すことができます。<i>Tracks &gt; ラベルの書き出し</i> は1つのアルバムから [[wiki:録音ファイルを複数トラックに分割するには|トラックを分割]]し複数のファイルに分割して書き出すために使います。</p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>Audacity ではライセンスや特許の制限により <b>WMA, RealAudio, Shorten (SHN)</b> や他の独自形式のファイルの[[play|再生]] or [[export|書き出し]]<b>はできません</b> Mac版では非保護の<b>AAC</b> 形式たとえば <b>M4A</b>を読み込むことができます。 <b>Ogg Speex</b> や<b>Musepack</b>などの他の形式は未対応です。ディジタル著作権管理(DRM)により保護されたファイル、たとえばもっとも一般的なiTunesやNapsterからオンライン購入されたファイルは読み込むことは<b>できません。</b>  </p><p> もしDRMで保護されていないファイルなのにAudacityで読み込めない場合、iTunes または<a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> を使ってWAVあるいはAIFF形式に変換してから読み込んでください。 もしDRM保護されたファイルである場合は、正しいライセンスに対応したプログラムにて音楽CDを作成し、その後、ITunes、(Windowsの場合) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> またはWindows Media Player 11を使って、作成した音楽CDからWAVまたはAIFFファイルとして読み出してください。またCDよりコンピュータに <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">録音</a>することもできます。<i>未対応の形式に書き出すには、まずWAVあるいはAIFF形式に書き出し、その後iTunesまたは<a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>にて希望の形式に変換してください。 </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1483,13 +1366,8 @@ msgstr "破棄するラベル"
 msgid "&Discard"
 msgstr "破棄 (&D)"
 
-#: HistoryWindow.cpp:112
-#: Tags.cpp:2081
-#: Tags.cpp:2083
-#: Tags.cpp:2385
-#: Tags.cpp:2387
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
+#: HistoryWindow.cpp:112 Tags.cpp:2081 Tags.cpp:2083 Tags.cpp:2385
+#: Tags.cpp:2387 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
 #: export/ExportCL.cpp:399
 msgid "&OK"
 msgstr "OK (&O)"
@@ -1498,8 +1376,7 @@ msgstr "OK (&O)"
 msgid "Unable to determine"
 msgstr "測定できません"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:385
+#: Internat.cpp:195 import/ImportRaw.cpp:385
 msgid "bytes"
 msgstr "バイト"
 
@@ -1515,28 +1392,31 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "トラック"
 
-#: LabelDialog.cpp:55
-#: Menus.cpp:4677
-#: Menus.cpp:4712
+#: LabelDialog.cpp:55 Menus.cpp:4677 Menus.cpp:4712
 msgid "Label"
 msgstr "ラベル"
 
-#: LabelDialog.cpp:56
-#: TimerRecordDialog.cpp:279
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:279
 msgid "Start Time"
 msgstr "開始時刻"
 
-#: LabelDialog.cpp:57
-#: TimerRecordDialog.cpp:298
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:298
 msgid "End Time"
 msgstr "終了時刻"
 
-#: LabelDialog.cpp:100
-#: Menus.cpp:713
+#: LabelDialog.cpp:100 Menus.cpp:713
 msgid "&Edit Labels"
 msgstr "ラベルの編集 (&E)"
 
@@ -1561,13 +1441,11 @@ msgid "New..."
 msgstr "新規..."
 
 #: LabelDialog.cpp:354
-msgid ""
-"You have left blank label names.  These will be\n"
+msgid "You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
-msgstr ""
-"ラベル名が空白のままです。これはラベルトラックを\n"
+msgstr "ラベル名が空白のままです。これはラベルトラックを\n"
 "集合させるときにスキップさせることになります。\n"
 "戻って名前を付けてやりますか?"
 
@@ -1575,20 +1453,15 @@ msgstr ""
 msgid "Confirm"
 msgstr "確認"
 
-#: LabelDialog.cpp:516
-#: Menus.cpp:4101
+#: LabelDialog.cpp:516 Menus.cpp:4101
 msgid "Select a text file containing labels..."
 msgstr "ラベルを含むテキストファイルを選択して下さい..."
 
-#: LabelDialog.cpp:520
-#: Menus.cpp:4105
+#: LabelDialog.cpp:520 Menus.cpp:4105
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "テキスト files (*.txt)|*.txt|All files (*.*)|*.*"
 
-#: LabelDialog.cpp:534
-#: Menus.cpp:4117
-#: Project.cpp:1914
-#: Project.cpp:1922
+#: LabelDialog.cpp:534 Menus.cpp:4117 Project.cpp:1914 Project.cpp:1922
 msgid "Could not open file: "
 msgstr "ファイルが開けません:"
 
@@ -1596,13 +1469,11 @@ msgstr "ファイルが開けません:"
 msgid "No labels to export."
 msgstr "書き出すトラックラベルはありません."
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2518
+#: LabelDialog.cpp:566 Menus.cpp:2518
 msgid "Export Labels As:"
 msgstr "ラベルの書き出し:"
 
-#: LabelDialog.cpp:568
-#: Menus.cpp:2516
+#: LabelDialog.cpp:568 Menus.cpp:2516
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1614,10 +1485,7 @@ msgstr "新規ラベルトラック "
 msgid "Enter track name"
 msgstr "トラック名の入力:"
 
-#: LabelDialog.cpp:705
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:632
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:632
 msgid "&Label Track"
 msgstr "ラベルトラック (&L)"
 
@@ -1631,11 +1499,9 @@ msgstr "Audacity で使用する言語の選択:"
 
 #: Legacy.cpp:356
 #, c-format
-msgid ""
-"Converted a 1.0 project file to the new format.\n"
+msgid "Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr ""
-"バージョン 1.0 のプロジェクトファイルを新しいフォーマットへ変換します.\n"
+msgstr "バージョン 1.0 のプロジェクトファイルを新しいフォーマットへ変換します.\n"
 "古いファイルは '%s' という名前で保存されました."
 
 #: Legacy.cpp:357
@@ -1646,24 +1512,15 @@ msgstr "Audacity プロジェクトファイルを開く"
 msgid "&File"
 msgstr "ファイル (&F)"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "新規(&N)\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "開く...(&O)\tCtrl+O"
-
 #: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "閉じる (&C)\tCtrl+W"
+msgid "&Close"
+msgstr "閉じる (&C)"
 
 #: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "プロジェクトファイルを保存 (&S)\tCtrl+S"
+msgid "&Save Project"
+msgstr "プロジェクトファイルを保存 (&S)"
 
-#: Menus.cpp:210
-#: Project.cpp:2896
+#: Menus.cpp:210 Project.cpp:2896
 msgid "Save Project &As..."
 msgstr "プロジェクトファイルを別名で保存... (&A)"
 
@@ -1679,14 +1536,13 @@ msgstr "依存性のチェック (&k)"
 msgid "Open Me&tadata Editor..."
 msgstr "メタデータエディタを開く (&t)"
 
-#: Menus.cpp:229
-#: import/ImportRaw.cpp:411
+#: Menus.cpp:229 import/ImportRaw.cpp:411
 msgid "&Import"
 msgstr "取り込み (&I)"
 
 #: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "オーディオの取り込み... (&A)\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "オーディオの取り込み... (&A)"
 
 #: Menus.cpp:232
 msgid "&Labels..."
@@ -1700,8 +1556,7 @@ msgstr "MIDI の取り込み... (&M)"
 msgid "&Raw Data..."
 msgstr "ロー (Raw) データの取り込み... (&R)"
 
-#: Menus.cpp:247
-#: Menus.cpp:282
+#: Menus.cpp:247 Menus.cpp:282
 msgid "Expo&rt Selection..."
 msgstr "選択範囲を書き出し... (&r)"
 
@@ -1717,12 +1572,11 @@ msgstr "複数ファイルの書き出し... (&M)"
 msgid "Export MIDI..."
 msgstr "MIDIを書き出し..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr "クリーンスピーチ チェイン (&h)"
+#: Menus.cpp:303
+msgid "Appl&y Chain..."
+msgstr "チェインを適用 (&y)"
 
-#: Menus.cpp:291
-#: Menus.cpp:305
+#: Menus.cpp:291 Menus.cpp:305
 msgid "Edit C&hains..."
 msgstr "チェインを編集 (&h)"
 
@@ -1734,10 +1588,6 @@ msgstr "クリーンスピーチ設定の書き出し (&P)"
 msgid "I&mport CleanSpeech Presets..."
 msgstr "クリーンスピーチ設定の読み込み (&m)"
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr "チェインを適用 (&y)"
-
 #: Menus.cpp:310
 msgid "&Upload File..."
 msgstr "ファイルのアップロード (&U)"
@@ -1751,78 +1601,74 @@ msgid "&Print..."
 msgstr "印刷... (&P)"
 
 #: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "終了(&x)\tCtrl+Q"
+msgid "E&xit"
+msgstr "終了(&x)"
 
-#: Menus.cpp:338
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:338 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "編集 (&E)"
 
 #: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "アンドゥ (&U)\tCtrl+Z"
+msgid "&Undo"
+msgstr "アンドゥ (&U)"
 
-#: Menus.cpp:350
-#: prefs/KeyConfigPrefs.cpp:371
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:350 prefs/KeyConfigPrefs.cpp:371 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "リドゥ (&R)"
 
 #: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "カット (&t)\tCtrl+X"
+msgid "Cu&t"
+msgstr "カット (&t)"
 
 #: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "分割 (&i)\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "分割 (&i)"
 
 #: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "コピー (&C)\tCtrl+C"
+msgid "&Copy"
+msgstr "コピー (&C)"
 
 #: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "ペースト (&P)\tCtrl+V"
+msgid "&Paste"
+msgstr "ペースト (&P)"
 
 #: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "トリム (&m)\tCtrl+T"
+msgid "Tri&m"
+msgstr "トリム (&m)"
 
 #: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "削除 (&D)\tCtrl+K"
+msgid "&Delete"
+msgstr "削除 (&D)"
 
 #: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "分割と削除 (&e)\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "分割と削除 (&e)"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "無音 (&o)\tCtrl+L"
+msgid "Silence Audi&o"
+msgstr "無音 (&o)"
 
 #: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "分割(&l)\tCtrl+I"
+msgid "Sp&lit"
+msgstr "分割(&l)"
 
 #: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "新規分離 (&w) \tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "新規分離 (&w) "
 
 #: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "連結(&J)\tCtrl+J"
+msgid "&Join"
+msgstr "連結(&J)"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "無音の切り離し (&h)\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
+msgstr "無音の切り離し (&h)"
 
 #: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "複製 (&a)\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "複製 (&a)"
 
-#: Menus.cpp:400
-#: Menus.cpp:639
+#: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
 msgstr "ステレオからモノラルへ (&k)"
 
@@ -1833,88 +1679,70 @@ msgstr "ラベルづけされた領域... (&b)"
 #  i18n-hint: Labeled Regions submenu
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "カット (&C)\tAlt+X"
+msgid "&Cut"
+msgstr "カット (&C)"
 
 #  i18n-hint: Labeled Regions submenu
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "分割と切り取り (&S)\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "分割と切り取り (&S)"
 
 #  i18n-hint: Labeled Regions submenu
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "コピー (&p)\tShift+Altl+C"
-
-#  i18n-hint: Labeled Regions submenu
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "削除 (&D)\tAlt+K"
+msgid "Co&py"
+msgstr "コピー (&p)"
 
 #  i18n-hint: Labeled Regions submenu
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "分割と削除 (&l)\tCtrl+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "分割と削除 (&l)"
 
 #  i18n-hint: Labeled Regions submenu
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "無音 (&n)\tAlt+L"
+msgid "Sile&nce"
+msgstr "無音 (&n)"
 
 #  i18n-hint: Labeled Regions submenu
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "分割 (&t)\tAlt+I"
-
-#  i18n-hint: Labeled Regions submenu
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "結合 (&J) \tAlt+J"
-
-#  i18n-hint: Labeled Regions submenu
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "無音で分離 (&h)\tShift+Alt+J"
+msgid "Spli&t"
+msgstr "分割 (&t)"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr "選択 (&S)"
 
 #: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "全て (&A)\tCtrl+A"
+msgid "&All"
+msgstr "全て (&A)"
 
 #: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "無し(&N)\tCtrl+Shift+A"
+msgid "&None"
+msgstr "無し(&N)"
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
-msgstr "再生開始位置を左に (&L) \t["
+msgid "&Left at Playback Position"
+msgstr "再生開始位置を左に (&L) "
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
-msgstr "再生開始位置を右に (&R) \t]"
+msgid "&Right at Playback Position"
+msgstr "再生開始位置を右に (&R) "
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "先頭からカーソルまで (&S) \tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "先頭からカーソルまで (&S) "
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr "カーソルから最後まで (&E) \tShift+K"
+msgid "Cursor to Track &End"
+msgstr "カーソルから最後まで (&E) "
 
 #: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "ゼロとの交差部分を見つける (&Z) \tZ"
+msgid "Find &Zero Crossings"
+msgstr "ゼロとの交差部分を見つける (&Z) "
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1929,12 +1757,12 @@ msgid "to Selection En&d"
 msgstr "選択の最後 (&d)"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "トラックの最初 (&S)\tJ"
+msgid "to Track &Start"
+msgstr "トラックの最初 (&S)"
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "トラックの最後 (&E)\tK"
+msgid "to Track &End"
+msgstr "トラックの最後 (&E)"
 
 #: Menus.cpp:491
 msgid "Re&gion Save"
@@ -1956,68 +1784,45 @@ msgstr "ロック (&L)"
 msgid "&Unlock"
 msgstr "アンロック (&U)"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "スナップをオン"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "スナップをオフ"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "グリッドスナップをオン"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "グリッドスナップをオフ"
-
-#  i18n-hint: Mac OS X shortcut should be Ctrl+,
-#  i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "設定... (&f)\tCtrl+,"
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "設定... (&f)\tCtrl+P"
+msgid "Pre&ferences..."
+msgstr "設定... (&f)"
 
 #: Menus.cpp:533
 msgid "&View"
 msgstr "ビュー (&V)"
 
 #: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "拡大 (&I)\tCtrl+1"
+msgid "Zoom &In"
+msgstr "拡大 (&I)"
 
 #: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "元の縮尺に戻す (&N)\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "元の縮尺に戻す (&N)"
 
 #: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "縮小 (&O)\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "縮小 (&O)"
 
 #: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "ウィンドウに合わせる (&F)\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "ウィンドウに合わせる (&F)"
 
 #: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "垂直方向に合わせる (&V)\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "垂直方向に合わせる (&V)"
 
 #: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "選択範囲を拡大 (&Z)\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "選択範囲を拡大 (&Z)"
 
 #: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "全てのトラックの縮小 (&C) \tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "全てのトラックの縮小 (&C) "
 
 #: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "全てのトラックの拡張 (&x)\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "全てのトラックの拡張 (&x)"
 
 #: Menus.cpp:551
 msgid "&Show Clipping"
@@ -2078,42 +1883,40 @@ msgid "T&ransport"
 msgstr "録音と再生 (&r)"
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr "再生\tSpace"
+msgid "Play"
+msgstr "再生"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr "ループ再生(&L)\tShift+Space"
+msgid "&Loop Play"
+msgstr "ループ再生(&L)"
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "一時停止 (&P) \tP"
+msgid "&Pause"
+msgstr "一時停止 (&P) "
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr "停止(&S)\tSpace"
+msgid "&Stop"
+msgstr "停止(&S)"
 
-#: Menus.cpp:595
-#: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "初めまで進める\tHome"
+#: Menus.cpp:595 Menus.cpp:1010
+msgid "Skip to Start"
+msgstr "初めまで進める"
 
-#: Menus.cpp:597
-#: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "終わりまで進める\tEnd"
+#: Menus.cpp:597 Menus.cpp:1011
+msgid "Skip to End"
+msgstr "終わりまで進める"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "録音 (&R) \tR"
+msgid "&Record"
+msgstr "録音 (&R) "
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr "タイマーを使った録音...(&T) \tShift+T"
+msgid "&Timer Record..."
+msgstr "タイマーを使った録音...(&T) "
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr "追加して録音\tShift+R"
+msgid "Append Record"
+msgstr "追加して録音"
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
@@ -2140,15 +1943,14 @@ msgid "Add &New"
 msgstr "新しく追加 (&N)"
 
 #: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "オーディオトラック (&A) \tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "オーディオトラック (&A) "
 
 #: Menus.cpp:631
 msgid "&Stereo Track"
 msgstr "ステレオトラック (&S)"
 
-#: Menus.cpp:633
-#: TimeTrack.cpp:44
+#: Menus.cpp:633 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "タイムトラック (&T)"
 
@@ -2157,8 +1959,8 @@ msgid "Mi&x and Render"
 msgstr "ミックスして作成 (&x)"
 
 #: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "新しいトラックにミックスして作成\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "新しいトラックにミックスして作成"
 
 #: Menus.cpp:651
 msgid "&Resample..."
@@ -2169,12 +1971,12 @@ msgid "Remo&ve Tracks"
 msgstr "トラック削除 (&v)"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "全てのトラックのミュート (&M) \tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "全てのトラックのミュート (&M) "
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "全てのトラックのミュート解除 (&U)\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "全てのトラックのミュート解除 (&U)"
 
 #: Menus.cpp:672
 msgid "Align with &Zero"
@@ -2220,17 +2022,18 @@ msgstr "カーソルを移動して揃える (&g)"
 msgid "Synchronize MIDI with Audio"
 msgstr "MIDIをオーディオと同期"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+#, fuzzy
+msgid "&Link Audio and Label Tracks"
 msgstr "オーディオとラベルトラックをリンク"
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "選択範囲にラベルを付ける (&L) \tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "再生開始位置にラベルを付ける (&P) \tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "再生開始位置にラベルを付ける (&P) "
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2248,9 +2051,7 @@ msgstr "名前 (&N)"
 msgid "&Generate"
 msgstr "製作 (&G)"
 
-#: Menus.cpp:776
-#: Menus.cpp:860
-#: Menus.cpp:922
+#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
 msgid "Unsorted"
 msgstr "未分類"
 
@@ -2258,21 +2059,20 @@ msgstr "未分類"
 msgid "Effe&ct"
 msgstr "効果 (&c)"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "前回の効果を適用\tCtrl+R"
-
 #: Menus.cpp:877
 msgid "&Analyze"
 msgstr "解析 (&A)"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:879
 msgid "Plot Spectrum..."
 msgstr "スペクトル表示..."
 
 #  i18n-hint: The name of the Help menu
-#: Menus.cpp:947
-#: Menus.cpp:950
+#: Menus.cpp:947 Menus.cpp:950
 msgid "&Help"
 msgstr "ヘルプ (&H)"
 
@@ -2285,8 +2085,8 @@ msgid "&Show Welcome Message..."
 msgstr "ようこそを表示 (&S)"
 
 #: Menus.cpp:958
-msgid "&Index..."
-msgstr "インデックス... (&I)"
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2304,181 +2104,149 @@ msgstr "ベンチマーク... (&R)"
 msgid "&Audio Device Info..."
 msgstr "オーディオデイバイス情報 (&A)"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr "ツールバーとトラックビューを逆向きに回ります。\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
+msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr "ツールバーとトラックビューを順向きに回ります。\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
+msgstr ""
 
 #: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "選択ツール\tF1"
+msgid "Selection Tool"
+msgstr "選択ツール"
 
 #: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "エンベロープツール\tF2"
+msgid "Envelope Tool"
+msgstr "エンベロープツール"
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "描画ツール\tF3"
+msgid "Draw Tool"
+msgstr "描画ツール"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "拡大ツール \tF4"
+msgid "Zoom Tool"
+msgstr "拡大ツール "
 
 #: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "タイムシフトツール\tF5"
+msgid "Time Shift Tool"
+msgstr "タイムシフトツール"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "マルチツール\tF6"
+msgid "Multi Tool"
+msgstr "マルチツール"
 
 #: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "次のツール\tD"
+msgid "Next Tool"
+msgstr "次のツール"
 
 #: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "前回のツール\tA"
+msgid "Previous Tool"
+msgstr "前回のツール"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr " 再生/停止\tSpace"
-
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "停止\tS"
-
-#: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "停止\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "録音\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr "追加して録音\tShift+R"
+msgid "Play/Stop"
+msgstr " 再生/停止"
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "再生/停止 と選択\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "再生/停止 と選択"
 
 #: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "1秒間再生\t1"
+msgid "Play One Second"
+msgstr "1秒間再生"
 
 #: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "選択範囲を再生\tB"
-
-#: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "ループ再生\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr "ループ再生\tShift+Space"
+msgid "Play To Selection"
+msgstr "選択範囲を再生"
 
 #: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "カットプレビューを再生\tC"
+msgid "Play Cut Preview"
+msgstr "カットプレビューを再生"
 
 #: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "最初まで選択\tShift+Home"
+msgid "Selection to Start"
+msgstr "最初まで選択"
 
 #: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "最後まで選択\tShift+End"
+msgid "Selection to End"
+msgstr "最後まで選択"
 
 #: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "デリートキー\tBackspace"
+msgid "DeleteKey"
+msgstr "デリートキー"
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "デリートキー2\tDelete"
+msgid "DeleteKey2"
+msgstr "デリートキー2"
 
-#: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
-msgstr "再生中に左側の短い区間を探す \tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
-msgstr "再生中に右側の短い区間を探す \tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "再生中に左側の長い区間を探す \tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "再生中に右側の長い区間を探す \tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "フォーカスを前のトラックに移動 \tUp"
+msgid "Move Focus to Previous Track"
+msgstr "フォーカスを前のトラックに移動 "
 
-#: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "フォーカスを前のトラックに移動して選択を変更 \tShift+tUp"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "フォーカスを次のトラックへ移動 \tDown"
+msgid "Move Focus to Next Track"
+msgstr "フォーカスを次のトラックへ移動 "
 
-#: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "フォーカスを次のトラックに移動して選択を変更 \tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "フォーカスするトラックを切り替え \tReturn"
-
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "フォーカスするトラックを切り替え\tNUMPAD_ENTER"
+msgid "Toggle Focused Track"
+msgstr "フォーカスするトラックを切り替え"
 
 #: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr "トラックの切り替え\tShift+Space"
-
-#: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "カーソルを左へ\tLeft"
+msgid "Cursor Left"
+msgstr "カーソルを左へ"
 
 #: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "カーソルを右へ\tRight"
+msgid "Cursor Right"
+msgstr "カーソルを右へ"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
-msgstr "カーソルを少しだけ左へ\t,"
+msgid "Cursor Short Jump Left"
+msgstr "カーソルを少しだけ左へ"
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
-msgstr "カーソルを少しだけ右へ\t."
+msgid "Cursor Short Jump Right"
+msgstr "カーソルを少しだけ右へ"
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "カーソルを大きく左へ\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "カーソルを大きく左へ"
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "カーソルを大きく右へ\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "カーソルを大きく右へ"
 
 #: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "選択範囲の左端を拡げる\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "選択範囲の左端を拡げる"
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "選択範囲の右端を拡げる\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "選択範囲の右端を拡げる"
 
 #: Menus.cpp:1052
 msgid "Set (or Extend) Left Selection"
@@ -2489,52 +2257,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "選択範囲の右端を設定(あるいは延長)"
 
 #: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "選択範囲の左端を縮める\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "選択範囲の左端を縮める"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "選択範囲の右端を縮める\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "選択範囲の右端を縮める"
 
 #: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
-msgstr "フォーカスするトラックを切り替え\tShift+P"
+msgid "Change pan on focused track"
+msgstr "フォーカスするトラックを切り替え"
 
 #: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "フォーカスしたトラックを左へパン\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "フォーカスしたトラックを左へパン"
 
 #: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "フォーカスしたトラックを右へパン\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "フォーカスしたトラックを右へパン"
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
-msgstr "フォーカスしたトラックのゲインを変更\tShift+G"
+msgid "Change gain on focused track"
+msgstr "フォーカスしたトラックのゲインを変更"
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "フォーカスしたトラックのゲインを上げる \tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "フォーカスしたトラックのゲインを上げる "
 
 #: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "フォーカスしたトラックのゲインをさげる \tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "フォーカスしたトラックのゲインをさげる "
 
 #: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "フォーカスしたトラックでメニューを開く \tShift+M"
+msgid "Open menu on focused track"
+msgstr "フォーカスしたトラックでメニューを開く "
 
 #: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "フォーカスしたトラックをミュート入り/切りする \tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "フォーカスしたトラックをミュート入り/切りする "
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "フォーカスしたトラックをソロ入り/切りする \tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "フォーカスしたトラックをソロ入り/切りする "
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "フォーカスされたトラックを閉じる \tShift+C"
+msgid "Close focused track"
+msgstr "フォーカスされたトラックを閉じる "
 
 #  i18n-hint: Set snap-to mode on or off
 #  i18n-hint: Set snap-to mode on or off
@@ -2549,8 +2317,36 @@ msgid "Snap To Off"
 msgstr "スナップモードを無効"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
-msgstr "フルスクリーン表示on/off\tF11"
+msgid "Full screen on/off"
+msgstr "フルスクリーン表示on/off"
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
+msgstr ""
 
 #  i18n-hint: This is the name of the menu item on Mac OS X only
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2611,8 +2407,8 @@ msgstr "トラックを最初に選択してください."
 
 #: Menus.cpp:2369
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "繰り返す %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "繰り返す %s"
 
 #: Menus.cpp:2512
 msgid "There are no label tracks to export."
@@ -2627,8 +2423,7 @@ msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "MIDI ファイル (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 
 #: Menus.cpp:2643
-msgid ""
-"You have selected a filename with an unrecognized file extension.\n"
+msgid "You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr "識別できない拡張子のファイル名を選びました.つづけますか?"
 
@@ -2644,9 +2439,7 @@ msgstr "アンドゥはありません"
 msgid "Nothing to redo"
 msgstr "リドゥはありません"
 
-#: Menus.cpp:2809
-#: TrackPanel.cpp:596
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2809 TrackPanel.cpp:596 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "カット"
 
@@ -2662,10 +2455,7 @@ msgstr "分離カット"
 msgid "Split-cut to the clipboard"
 msgstr "カットした内容をクリップボードに退避"
 
-#: Menus.cpp:2914
-#: Menus.cpp:2986
-#: Menus.cpp:3178
-#: TrackPanel.cpp:598
+#: Menus.cpp:2914 Menus.cpp:2986 Menus.cpp:3178 TrackPanel.cpp:598
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "ペースト"
@@ -2674,8 +2464,7 @@ msgstr "ペースト"
 msgid "Pasted text from the clipboard"
 msgstr "クリップボードからペーストされたテキスト"
 
-#: Menus.cpp:2986
-#: Menus.cpp:3178
+#: Menus.cpp:2986 Menus.cpp:3178
 msgid "Pasted from the clipboard"
 msgstr "クリップボードからペーストする"
 
@@ -2687,8 +2476,7 @@ msgstr "あの種類のオーディオデータを別の種類のトラックに
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "ステレオのオーディオデータをモノラルトラックにコピーすることは許可されていません。"
 
-#: Menus.cpp:3214
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3214 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "トリム"
 
@@ -2728,8 +2516,7 @@ msgstr "結合"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "%.2f 秒から %.2f 秒までの無音トラックを選択"
 
-#: Menus.cpp:3315
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3315 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "無音"
 
@@ -2813,8 +2600,7 @@ msgstr "ラベルを分割"
 msgid "Disjoined labeled regions"
 msgstr "分離したラベル付けされた領域"
 
-#: Menus.cpp:3491
-#: TrackPanel.cpp:6134
+#: Menus.cpp:3491 TrackPanel.cpp:6134
 msgid "Split"
 msgstr "分離"
 
@@ -2830,15 +2616,6 @@ msgstr "新しいトラックに分離"
 msgid "Split at labels"
 msgstr "ラベルを分離"
 
-#: Menus.cpp:3969
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "スペクトルをプロットするためには, 選択されたトラックはすべてが同一のサンプリレートでなければなりません."
-
-#: Menus.cpp:3995
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "大量のオーディオが選択されました. 最初の %.1f 秒だけが分析されるでしょう."
-
 #: Menus.cpp:4130
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2878,8 +2655,7 @@ msgstr "全てのファイル (*)|*"
 msgid "Edit the metadata tags"
 msgstr "メタデータタグを編集"
 
-#: Menus.cpp:4206
-#: export/Export.cpp:353
+#: Menus.cpp:4206 export/Export.cpp:353
 msgid "Edit Metadata"
 msgstr "メタデータを編集"
 
@@ -2906,8 +2682,7 @@ msgstr "%d 個のトラックを一つの新しいステレオトラックに
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "%d 個のトラックを一つの新しいモノラルトラックにミックスして作成"
 
-#: Menus.cpp:4273
-#: Mix.cpp:121
+#: Menus.cpp:4273 Mix.cpp:121
 msgid "&Mix and Render"
 msgstr "ミックスして置き換え (&M)"
 
@@ -2959,10 +2734,7 @@ msgstr "整列が完了しました."
 msgid "Created new audio track"
 msgstr "新しいオーディオトラックが製作されました"
 
-#: Menus.cpp:4564
-#: Menus.cpp:4587
-#: Menus.cpp:4602
-#: Menus.cpp:4622
+#: Menus.cpp:4564 Menus.cpp:4587 Menus.cpp:4602 Menus.cpp:4622
 msgid "New Track"
 msgstr "新しいトラック"
 
@@ -2998,8 +2770,7 @@ msgstr "クリーンな音声プリセットファイルを保存:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "きれいな音声信号のプリセット (*.csp) |*.csp"
 
-#: Menus.cpp:4750
-#: export/Export.cpp:605
+#: Menus.cpp:4750 export/Export.cpp:605
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "256 文字以上のパス名はサポートしていません."
 
@@ -3007,8 +2778,7 @@ msgstr "256 文字以上のパス名はサポートしていません."
 msgid "Problem encountered exporting presets."
 msgstr "プリセットを導入する際に問題が生じました。"
 
-#: Menus.cpp:4797
-#: export/Export.cpp:468
+#: Menus.cpp:4797 export/Export.cpp:468
 msgid "Unable to export"
 msgstr "書き出しできません"
 
@@ -3020,20 +2790,16 @@ msgstr "トラックの削除"
 msgid "Removed audio track(s)"
 msgstr "削除されたオーディオトラック"
 
-#: Menus.cpp:5138
-#: Menus.cpp:5193
-#: export/ExportFFmpeg.cpp:710
+#: Menus.cpp:5138 Menus.cpp:5193 export/ExportFFmpeg.cpp:710
 #: export/ExportMP3.cpp:1928
 msgid "Resample"
 msgstr "リサンプル"
 
-#: Menus.cpp:5158
-#: TrackPanel.cpp:6361
+#: Menus.cpp:5158 TrackPanel.cpp:6361
 msgid "New sample rate (Hz):"
 msgstr "新しいサンプルレート(Hz):"
 
-#: Menus.cpp:5182
-#: TrackPanel.cpp:6385
+#: Menus.cpp:5182 TrackPanel.cpp:6385
 msgid "The entered value is invalid"
 msgstr "入力された値は不適切です。"
 
@@ -3050,8 +2816,7 @@ msgstr "トラックのリサンプル"
 msgid "Resampled audio track(s)"
 msgstr "リサンプルされたオーディオトラック"
 
-#: Mix.cpp:95
-#: Mix.cpp:102
+#: Mix.cpp:95 Mix.cpp:102
 msgid "Mix"
 msgstr "Mix"
 
@@ -3071,6 +2836,10 @@ msgstr "印刷に問題があります."
 msgid "Print"
 msgstr "印刷"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:673
 msgid "Main Mix"
 msgstr "主ミックス"
@@ -3084,14 +2853,11 @@ msgstr "Audacity version %s へようこそ"
 msgid "(Recovered)"
 msgstr "回復済み"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
-#: toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:998
 msgid "Record"
 msgstr "録音"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
+#: Project.cpp:1546 TrackPanel.cpp:796
 msgid "Recorded Audio"
 msgstr "録音されたオーディオ"
 
@@ -3100,15 +2866,13 @@ msgid "Save changes before closing?"
 msgstr "閉じる前に変更を保存しますか?"
 
 #: Project.cpp:1567
-msgid ""
-"\n"
+msgid "\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr ""
-"\n"
+msgstr "\n"
 "\n"
 "もし保存されると、プロジェクトのトラックは、なくなります\n"
 "\n"
@@ -3120,9 +2884,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "変更を保存しますか?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "すべてのファイル|*.*|全てのサポートされるファイル|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1802
 msgid "Select one or more audio files..."
@@ -3132,19 +2896,16 @@ msgstr "1つもしくは複数のオーディオファイルを選択して下
 msgid "Audacity projects|*.aup|"
 msgstr "Audacity プロジェクト|*.aup|"
 
-#: Project.cpp:1882
-#: Project.cpp:2304
+#: Project.cpp:1882 Project.cpp:2304
 #, c-format
-msgid ""
-"This file was saved by Audacity %s, a much\n"
+msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr ""
-"このファイルは、とても古いバージョンの Audacity %s \n"
+msgstr "このファイルは、とても古いバージョンの Audacity %s \n"
 "によって保存されました。ファイルフォーマットは\n"
 "当時から変更されました。\n"
 "Audacity はそのファイルを開こうとして破壊してしまうでしょう。\n"
@@ -3156,23 +2917,30 @@ msgstr ""
 msgid "1.0 or earlier"
 msgstr "1.0 より以前"
 
-#: Project.cpp:1889
-#: Project.cpp:2316
+#: Project.cpp:1889 Project.cpp:2316
 msgid "Opening old project file"
 msgstr "古いプロジェクトファイルを開いています"
 
-#: Project.cpp:1915
-#: Project.cpp:1923
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1915 Project.cpp:1923
 msgid "Error opening file"
 msgstr "ファイルの読み込み時にエラーが発生しました"
 
 #: Project.cpp:1929
 #, c-format
-msgid ""
-"File may be invalid or corrupted: \n"
+msgid "File may be invalid or corrupted: \n"
 "%s"
-msgstr ""
-"ファイルは不正か壊れているでしょう。\n"
+msgstr "ファイルは不正か壊れているでしょう。\n"
 "%s"
 
 #: Project.cpp:1930
@@ -3199,8 +2967,7 @@ msgstr "回復"
 msgid "Project checker repaired file"
 msgstr "プロジェクトチェッカーがファイルを修復しました。"
 
-#: Project.cpp:2084
-#: effects/Repair.h:29
+#: Project.cpp:2084 effects/Repair.h:29
 msgid "Repair"
 msgstr "修復"
 
@@ -3211,12 +2978,10 @@ msgstr "プロジェクトデータフォルダーが見つかりません: \"%s
 
 #: Project.cpp:2273
 #, c-format
-msgid ""
-"This file was saved using Audacity %s.\n"
+msgid "This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr ""
-"このファイルは Audacity %s を用いて保存されました。\n"
+msgstr "このファイルは Audacity %s を用いて保存されました。\n"
 "あなたは Audacity %s を使用しています - このファイルを\n"
 "開くには、新しいバージョンにアップグレードする必要があります。"
 
@@ -3224,23 +2989,18 @@ msgstr ""
 msgid "Can't open project file"
 msgstr "プロジェクトファイルを開けません"
 
-#: Project.cpp:2311
+#: Project.cpp:2484
 #, c-format
-msgid ""
-"This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid "This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
-"このファイルは Audacity %s で保存されています。\n"
-"このバージョンの Audacity を使って開くことはできますが、保存すると\n"
-"古いバージョンではもはや開けなくなります。\n"
-"\n"
-"このファイルを今開きますか?"
 
 #: Project.cpp:2537
-msgid ""
-"Your project is now empty.\n"
+msgid "Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3248,8 +3008,7 @@ msgid ""
 "are open, then File > Save Project.\n"
 "\n"
 "Save anyway?"
-msgstr ""
-"プロジェクトは空です。\n"
+msgstr "プロジェクトは空です。\n"
 "もし保存済みであれば、そのプロジェクトにはトラックがありません。\n"
 "\n"
 "以前開いていたトラックを保存するには:\n"
@@ -3262,20 +3021,24 @@ msgstr ""
 msgid "Warning empty project"
 msgstr "警告:プロジェクトは空です。"
 
-#: Project.cpp:2588
+#: Project.cpp:2792
 #, c-format
-msgid ""
-"Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
-msgstr ""
-"プロジェクトファイルが保存できません. %s は書き込みできないか,\n"
+#, fuzzy
+msgid "Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
+msgstr "プロジェクトファイルが保存できません. %s は書き込みできないか,\n"
 "ディスクが一杯です."
 
-#: Project.cpp:2590
-#: Project.cpp:2605
+#: Project.cpp:2590 Project.cpp:2605
 msgid "Error saving project"
 msgstr "Audacity プロジェクトファイルの保存時にエラーが発生しました"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2680
 #, c-format
 msgid "Saved %s"
@@ -3286,14 +3049,11 @@ msgstr "%s を保存しました"
 msgid "Imported '%s'"
 msgstr "'%s' を取り込む"
 
-#: Project.cpp:2807
-#: import/ImportPCM.cpp:483
-#: import/ImportPCM.cpp:527
+#: Project.cpp:2807 import/ImportPCM.cpp:483 import/ImportPCM.cpp:527
 msgid "Import"
 msgstr "取り込み"
 
-#: Project.cpp:2840
-#: Project.cpp:2848
+#: Project.cpp:2840 Project.cpp:2848
 msgid "Error importing"
 msgstr "ファイルの取り込み時にエラーが発生しました"
 
@@ -3306,30 +3066,26 @@ msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Windows PCM オーディオファイル (*.wav)|*.wav"
 
 #: Project.cpp:2891
-msgid ""
-"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
 "Most other programs can't open Audacity project files.\n"
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
-msgstr ""
-"Audacity の圧縮されたプロジェクトファイル (.aup) は作業結果をよりサイズの小さな圧縮された (.ogg)フォーマットで保存します.\n"
+msgstr "Audacity の圧縮されたプロジェクトファイル (.aup) は作業結果をよりサイズの小さな圧縮された (.ogg)フォーマットで保存します.\n"
 "圧縮されたプロジェクトファイルは、オンラインでプロジェクトをやりとりするにはよい方法です. なぜならサイズが小さくなるからです.圧縮されたプロジェクトファイルを拓くには、それぞれの圧縮されたトラックを読み込むため、通常よりより時間がかかります.\n"
 "\n"
 "他のほとんどのプログラムは Audacity プロジェクトファイルを開くことができません\n"
 "他のプログラムから開くことのできるファイルを保存したいならば、書き出しコマンドのうちのどれかを使って下さい."
 
 #: Project.cpp:2894
-msgid ""
-"You are saving an Audacity project file (.aup).\n"
+msgid "You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr ""
-"Audacity のプロジェクトファイル (.aup)を保存しようとしています.\n"
+msgstr "Audacity のプロジェクトファイル (.aup)を保存しようとしています.\n"
 "\n"
 "プロジェクトを保存することは、Audacity のみが開くことのできるファイルを作成します.\n"
 "\n"
@@ -3348,8 +3104,7 @@ msgstr "新しいプロジェクトが製作されました"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "%.2f 秒削除しました (位置 %.2f)"
 
-#: Project.cpp:3114
-#: effects/Equalization.cpp:1276
+#: Project.cpp:3114 effects/Equalization.cpp:1276
 #: effects/Equalization.cpp:2607
 msgid "Delete"
 msgstr "削除"
@@ -3430,8 +3185,7 @@ msgstr "Erik de Castro Lopo による Libresample"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate エラー: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "再サンプリングは無効になっています."
 
@@ -3453,6 +3207,164 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:245 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "選択..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "偽"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "ツール"
+
+#: toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr "コントロール"
+
+#: effects/LoadEffects.cpp:114 toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "ミキサー"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "メーター"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:121 prefs/AudioIOPrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "デバイス:"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "編曲"
+
+#: TrackPanel.cpp:457 TrackPanel.cpp:458
+msgid "Track Panel"
+msgstr "トラックパネル"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:288 export/ExportMultiple.cpp:290
+msgid "Tracks"
+msgstr "トラック"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "保存しました"
@@ -3461,14 +3373,15 @@ msgstr "保存しました"
 msgid "Error trying to save file: "
 msgstr "ファイル保存時のエラー: "
 
-#: Sequence.cpp:804
-#: Sequence.cpp:814
-#: Sequence.cpp:821
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:804 Sequence.cpp:814 Sequence.cpp:821
 msgid "Gap detected in project file\n"
 msgstr "プロジェクトファイルに空白が検知されました。\n"
 
-#: ShuttleGui.cpp:1972
-#: effects/Effect.cpp:417
+#: ShuttleGui.cpp:1972 effects/Effect.cpp:417
 #: effects/audiounits/AudioUnitEffect.cpp:877
 msgid "Pre&view"
 msgstr "プレビュー (&v)"
@@ -3509,8 +3422,7 @@ msgstr "アルバム名"
 msgid "Track Number"
 msgstr "トラックナンバー:"
 
-#: Tags.cpp:644
-#: Tags.cpp:2147
+#: Tags.cpp:644 Tags.cpp:2147
 msgid "Year"
 msgstr "å¹´"
 
@@ -3518,9 +3430,7 @@ msgstr "å¹´"
 msgid "Genre"
 msgstr "ジャンル:"
 
-#: Tags.cpp:646
-#: Tags.cpp:2157
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:646 Tags.cpp:2157 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "コメント"
 
@@ -3536,9 +3446,7 @@ msgstr "タグ名"
 msgid "Tag Value"
 msgstr "タグ値"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:829 Tags.cpp:1486 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "クリア (&C)"
 
@@ -3554,71 +3462,42 @@ msgstr " 編集(&d)"
 msgid "Rese&t..."
 msgstr "リセット(&t)"
 
-#: Tags.cpp:845
-#: Tags.cpp:1470
-#: Tags.cpp:1997
+#: Tags.cpp:845 Tags.cpp:1470 Tags.cpp:1997
 msgid "Template"
 msgstr "雛形"
 
-#: Tags.cpp:849
-#: Tags.cpp:1474
-#: Tags.cpp:2001
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:849 Tags.cpp:1474 Tags.cpp:2001 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "読み込み...(&L)"
 
-#: Tags.cpp:850
-#: Tags.cpp:1475
-#: Tags.cpp:2002
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:850 Tags.cpp:1475 Tags.cpp:2002 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "保存...(&S)"
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
+#: Tags.cpp:852 Tags.cpp:1477 Tags.cpp:2004
 msgid "S&et Default"
 msgstr "デフォルトに戻す (&e)"
 
-#: Tags.cpp:1002
-#: Tags.cpp:1640
-#: Tags.cpp:2368
+#: Tags.cpp:1002 Tags.cpp:1640 Tags.cpp:2368
 msgid "Edit Genres"
 msgstr "ジャンルを編集"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1047
-#: Tags.cpp:1062
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1690
-#: Tags.cpp:1705
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2423
-#: Tags.cpp:2438
-#: Tags.cpp:2451
+#: Tags.cpp:1035 Tags.cpp:1047 Tags.cpp:1062 Tags.cpp:1075 Tags.cpp:1678
+#: Tags.cpp:1690 Tags.cpp:1705 Tags.cpp:1718 Tags.cpp:2411 Tags.cpp:2423
+#: Tags.cpp:2438 Tags.cpp:2451
 msgid "Reset Genres"
 msgstr "ジャンルをリセット"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1718
-#: Tags.cpp:2411
+#: Tags.cpp:1035 Tags.cpp:1075 Tags.cpp:1678 Tags.cpp:1718 Tags.cpp:2411
 #: Tags.cpp:2451
 msgid "Unable to save genre file."
 msgstr "ジャンルファイルに保存できません。"
 
-#: Tags.cpp:1046
-#: Tags.cpp:1689
-#: Tags.cpp:2422
+#: Tags.cpp:1046 Tags.cpp:1689 Tags.cpp:2422
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "ジャンルリストを既定値にリセットしてよろしいですか?"
 
-#: Tags.cpp:1062
-#: Tags.cpp:1705
-#: Tags.cpp:2438
+#: Tags.cpp:1062 Tags.cpp:1705 Tags.cpp:2438
 msgid "Unable to open genre file."
 msgstr "ジャンルファイルを開けません"
 
@@ -3626,118 +3505,94 @@ msgstr "ジャンルファイルを開けません"
 msgid "Load Metadata As:"
 msgstr "メタデータをロード:"
 
-#: Tags.cpp:1122
-#: Tags.cpp:1772
-#: Tags.cpp:2494
+#: Tags.cpp:1122 Tags.cpp:1772 Tags.cpp:2494
 msgid "Error loading metadata"
 msgstr "メタデータの読み込みエラー"
 
-#: Tags.cpp:1097
-#: Tags.cpp:1151
-#: Tags.cpp:1751
-#: Tags.cpp:1787
-#: Tags.cpp:2473
+#: Tags.cpp:1097 Tags.cpp:1151 Tags.cpp:1751 Tags.cpp:1787 Tags.cpp:2473
 #: Tags.cpp:2509
 msgid "Save Metadata As:"
 msgstr "メタデータを保存:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
-msgid ""
-"Audacity could not write file:\n"
+msgid "Audacity could not write file:\n"
 "  %s."
 msgstr "ファイル %s が書き込めません"
 
 #: Theme.cpp:656
 #, c-format
-msgid ""
-"Audacity could not open file:\n"
+msgid "Audacity could not open file:\n"
 "  %s\n"
 "for writing."
 msgstr "書き込むためのファイル %s を開けません"
 
 #: Theme.cpp:664
 #, c-format
-msgid ""
-"Audacity could not write images to file:\n"
+msgid "Audacity could not write images to file:\n"
 "  %s."
 msgstr "イメージをファイル %s に書き込めません:"
 
 #: Theme.cpp:799
 #, c-format
-msgid ""
-"Audacity could not find file:\n"
+msgid "Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr ""
-"ファイル %s \n"
+msgstr "ファイル %s \n"
 "が見つかりません。\n"
 "テーマはロードされません。"
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
-msgid ""
-"Audacity could not load file:\n"
+msgid "Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr ""
-"ファイル %s \n"
+msgstr "ファイル %s \n"
 "がロードできません。\n"
 "多分 png フォーマットが変じゃないですか?"
 
 #: Theme.cpp:823
-msgid ""
-"Audacity could not read its default theme.\n"
+msgid "Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr ""
-"規定のテーマを読み取ることができません。\n"
+msgstr "規定のテーマを読み取ることができません。\n"
 "問題を報告してください。"
 
 #: Theme.cpp:918
 #, c-format
-msgid ""
-"None of the expected theme component files\n"
+msgid "None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
 msgstr "テーマを構成するであろうファイルが %s で見つかりません。"
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
-msgid ""
-"Could not create directory:\n"
+msgid "Could not create directory:\n"
 "  %s"
-msgstr ""
-"ディレクトを作れません: \n"
+msgstr "ディレクトを作れません: \n"
 " %s"
 
 #: Theme.cpp:963
 #, c-format
-msgid ""
-"Audacity could not save file:\n"
+msgid "Audacity could not save file:\n"
 "  %s"
-msgstr ""
-"ファイルに保存できません:\n"
+msgstr "ファイルに保存できません:\n"
 "%s"
 
 #: Theme.cpp:975
 #, c-format
-msgid ""
-"All required files in:\n"
+msgid "All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr ""
-"%s\n"
+msgstr "%s\n"
 "にある全ての要求されたファイルは\n"
 "既に存在しています。"
 
-#: TimeDialog.cpp:53
-#: TimerRecordDialog.cpp:227
-#: TimerRecordDialog.cpp:305
-#: TimerRecordDialog.cpp:309
-#: effects/Noise.cpp:243
-#: effects/ToneGen.cpp:323
+#: TimeDialog.cpp:53 TimerRecordDialog.cpp:227 TimerRecordDialog.cpp:305
+#: TimerRecordDialog.cpp:309 effects/Noise.cpp:243 effects/ToneGen.cpp:323
 #: effects/ToneGen.cpp:366
 msgid "Duration"
 msgstr "持続時間"
@@ -3746,6 +3601,14 @@ msgstr "持続時間"
 msgid "Audacity Timer Record"
 msgstr "Audacity タイマー録音"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr "録音の開始"
@@ -3785,74 +3648,51 @@ msgstr "録音開始を待っています %s \n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Audacity タイマー録音 - 開始待機中"
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "トラックパネル"
-
-#: TrackPanel.cpp:541
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:541 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "その他..."
 
-#: TrackPanel.cpp:549
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:588
+#: TrackPanel.cpp:549 TrackPanel.cpp:571 TrackPanel.cpp:580 TrackPanel.cpp:588
 #: TrackPanel.cpp:5793
 msgid "Name..."
 msgstr "名前..."
 
-#: TrackPanel.cpp:551
-#: TrackPanel.cpp:573
-#: TrackPanel.cpp:584
-#: TrackPanel.cpp:590
+#: TrackPanel.cpp:551 TrackPanel.cpp:573 TrackPanel.cpp:584 TrackPanel.cpp:590
 #: TrackPanel.cpp:5797
 msgid "Move Track Up"
 msgstr "トラックを上へ移動"
 
-#: TrackPanel.cpp:552
-#: TrackPanel.cpp:574
-#: TrackPanel.cpp:585
-#: TrackPanel.cpp:591
+#: TrackPanel.cpp:552 TrackPanel.cpp:574 TrackPanel.cpp:585 TrackPanel.cpp:591
 #: TrackPanel.cpp:5798
 msgid "Move Track Down"
 msgstr "トラックを下へ移動"
 
-#: TrackPanel.cpp:554
-#: effects/ToneGen.cpp:319
-#: prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:554 effects/ToneGen.cpp:319 prefs/GUIPrefs.cpp:154
 msgid "Waveform"
 msgstr "波形"
 
-#: TrackPanel.cpp:555
-#: prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:555 prefs/GUIPrefs.cpp:155
 msgid "Waveform (dB)"
 msgstr "波形 (dB)"
 
-#: TrackPanel.cpp:557
-#: prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
 msgid "Spectrum log(f)"
 msgstr "対数周波数でのスペクトログラム表示 "
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:558
-#: prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:558 prefs/GUIPrefs.cpp:158
 msgid "Pitch (EAC)"
 msgstr "ピッチ (EAC)"
 
-#: TrackPanel.cpp:560
-#: TrackPanel.cpp:6096
+#: TrackPanel.cpp:560 TrackPanel.cpp:6096
 msgid "Mono"
 msgstr "モノラル"
 
-#: TrackPanel.cpp:561
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:561 TrackPanel.cpp:6095
 msgid "Left Channel"
 msgstr "左チャンネル"
 
-#: TrackPanel.cpp:562
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:562 TrackPanel.cpp:6095
 msgid "Right Channel"
 msgstr "右チャンネル"
 
@@ -3864,12 +3704,15 @@ msgstr "ステレオトラックの作製"
 msgid "Split Stereo Track"
 msgstr "ステレオトラックを分離"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:566
 msgid "Set Sample Format"
 msgstr "サンプルフォーマットを設定"
 
-#: TrackPanel.cpp:568
-#: TrackPanel.cpp:6341
+#: TrackPanel.cpp:568 TrackPanel.cpp:6341
 msgid "Set Rate"
 msgstr "レートをセット"
 
@@ -3881,8 +3724,7 @@ msgstr "オクターブを上げる"
 msgid "Down Octave"
 msgstr "オクターブを下げる"
 
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:5795
+#: TrackPanel.cpp:582 TrackPanel.cpp:5795
 msgid "Font..."
 msgstr "フォント..."
 
@@ -3890,8 +3732,7 @@ msgstr "フォント..."
 msgid "Set Range..."
 msgstr "範囲をセット..."
 
-#: TrackPanel.cpp:597
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:597 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "コピー"
 
@@ -3937,21 +3778,13 @@ msgstr "左の選択範囲を移動させるためにはクリックした後に
 msgid "Click and drag to move right selection boundary."
 msgstr "右の選択範囲を移動させるためにはクリックした後にドラッグして下さい."
 
-#: TrackPanel.cpp:1730
-#: TrackPanel.cpp:3959
-#: TrackPanel.cpp:3991
-#: TrackPanel.cpp:4255
-#: TrackPanel.cpp:6490
-#: TrackPanel.cpp:6510
+#: TrackPanel.cpp:1730 TrackPanel.cpp:3959 TrackPanel.cpp:3991
+#: TrackPanel.cpp:4255 TrackPanel.cpp:6490 TrackPanel.cpp:6510
 msgid "Modified Label"
 msgstr "変更されたラベル"
 
-#: TrackPanel.cpp:1731
-#: TrackPanel.cpp:3960
-#: TrackPanel.cpp:3992
-#: TrackPanel.cpp:4256
-#: TrackPanel.cpp:6491
-#: TrackPanel.cpp:6511
+#: TrackPanel.cpp:1731 TrackPanel.cpp:3960 TrackPanel.cpp:3992
+#: TrackPanel.cpp:4256 TrackPanel.cpp:6491 TrackPanel.cpp:6511
 msgid "Label Edit"
 msgstr "ラベルの編集"
 
@@ -3959,8 +3792,7 @@ msgstr "ラベルの編集"
 msgid "Adjusted envelope."
 msgstr "エンベロープの調整."
 
-#: TrackPanel.cpp:1972
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1972 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "エンベロープ"
 
@@ -3983,9 +3815,7 @@ msgstr "右"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "タイムシフトされたトラック/クリップ %s %.02f 秒"
 
-#: TrackPanel.cpp:2133
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2133 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "タイムシフト"
@@ -4026,39 +3856,31 @@ msgstr "移動されたパンスライダー"
 #  i18n-hint: Title of the Gain slider, used to adjust the volume
 #  i18n-hint: Title of the Gain slider, used to adjust the volume
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5703
-#: TrackPanel.cpp:7244
+#: TrackPanel.cpp:3449 TrackPanel.cpp:5703 TrackPanel.cpp:7244
 msgid "Gain"
 msgstr "ゲイン調整"
 
 #  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
 #  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5641
-#: TrackPanel.cpp:7251
+#: TrackPanel.cpp:3449 TrackPanel.cpp:5641 TrackPanel.cpp:7251
 msgid "Pan"
 msgstr "パンスライダー"
 
-#: TrackPanel.cpp:3576
-#: TrackPanel.cpp:6441
+#: TrackPanel.cpp:3576 TrackPanel.cpp:6441
 msgid "up"
 msgstr "アップ"
 
-#: TrackPanel.cpp:3580
-#: TrackPanel.cpp:6442
+#: TrackPanel.cpp:3580 TrackPanel.cpp:6442
 msgid "down"
 msgstr "ダウン"
 
-#: TrackPanel.cpp:3587
-#: TrackPanel.cpp:6437
+#: TrackPanel.cpp:3587 TrackPanel.cpp:6437
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "移動 '%s' %s"
 
-#: TrackPanel.cpp:3590
-#: TrackPanel.cpp:6443
+#: TrackPanel.cpp:3590 TrackPanel.cpp:6443
 msgid "Move Track"
 msgstr "トラックの移動"
 
@@ -4090,14 +3912,6 @@ msgstr "パンの調整."
 msgid "Adjusted gain"
 msgstr "ゲインの調整:"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr "波形トラックをグループ化"
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr "全てのグルーピングを解除"
-
 #: TrackPanel.cpp:5923
 msgid "Can't delete track with active audio"
 msgstr "アクティブなオーディオと一緒にトラックの削除はできません。"
@@ -4118,8 +3932,7 @@ msgstr "å·¦,"
 msgid "Right, "
 msgstr "右,"
 
-#: TrackPanel.cpp:6105
-#: TrackPanel.cpp:6251
+#: TrackPanel.cpp:6105 TrackPanel.cpp:6251
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' から %s に変更されました"
@@ -4133,6 +3946,11 @@ msgstr "チャンネル"
 msgid "Split stereo track '%s'"
 msgstr "ステレオトラック '%s' を分離"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6169
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -4159,8 +3977,7 @@ msgstr "フォーマットの変更"
 msgid "Change lower speed limit (%) to:"
 msgstr "最低速度制限を変更 (%):"
 
-#: TrackPanel.cpp:6406
-#: TrackPanel.cpp:6407
+#: TrackPanel.cpp:6406 TrackPanel.cpp:6407
 msgid "Lower speed limit"
 msgstr "最低スピードの制限"
 
@@ -4168,8 +3985,7 @@ msgstr "最低スピードの制限"
 msgid "Change upper speed limit (%) to:"
 msgstr "最高速度制限を変更 (%):"
 
-#: TrackPanel.cpp:6413
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6413 TrackPanel.cpp:6414
 msgid "Upper speed limit"
 msgstr "上位速度の制限"
 
@@ -4203,16 +4019,18 @@ msgstr "名前の変更"
 msgid "Label Track Font"
 msgstr "トラックラベルのフォント"
 
-#: TrackPanel.cpp:6592
-#: TrackPanel.cpp:6598
+#: TrackPanel.cpp:6592 TrackPanel.cpp:6598
 msgid "Face name"
 msgstr "フォント名"
 
-#: TrackPanel.cpp:6602
-#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6602 TrackPanel.cpp:6609
 msgid "Face size"
 msgstr "フォントサイズ"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7171
 msgid "Mute"
 msgstr "Mute"
@@ -4246,10 +4064,7 @@ msgstr "ソロ入り"
 msgid " Select On"
 msgstr "選択"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "ボイスキーを使うには選択範囲は小さすぎです。"
 
@@ -4276,10 +4091,7 @@ msgstr "方向の変化  -- 平均: %1.4f  標準偏差: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Audio Track"
 
-#: WaveTrack.cpp:597
-#: WaveTrack.cpp:616
-#: WaveTrack.cpp:1057
-#: WaveTrack.cpp:1076
+#: WaveTrack.cpp:597 WaveTrack.cpp:616 WaveTrack.cpp:1057 WaveTrack.cpp:1076
 msgid "There is not enough room available to paste the selection"
 msgstr "選択範囲をペーストするには余裕がありません。"
 
@@ -4297,25 +4109,21 @@ msgstr "プラグイン 1 から %i"
 msgid "Plugins %i to %i"
 msgstr "プラグイン %i から %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "何らかの理由で許可されません。どれかのオーディオを先に選んでみてください。"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:892
-msgid ""
-"You can only do this when playing and recording are\n"
+msgid "You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr ""
-"録音と再生が停止しているときのみ、この作業は可能です。\n"
+msgstr "録音と再生が停止しているときのみ、この作業は可能です。\n"
 "[一時停止状態でもだめです。]"
 
 #: commands/CommandManager.cpp:894
-msgid ""
-"You must first select some stereo audio for this\n"
+msgid "You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr ""
-"この利用のためには、ステレオのオーディオを何か最初に選ぶべきです。\n"
+msgstr "この利用のためには、ステレオのオーディオを何か最初に選ぶべきです。\n"
 "[モノラルのオーディオには利用できません。]"
 
 #: commands/CommandManager.cpp:896
@@ -4323,11 +4131,9 @@ msgid "You must first select some audio for this to use."
 msgstr "トラックを最初に選択してください."
 
 #: commands/CommandManager.cpp:898
-msgid ""
-"You must first select some audio for this\n"
+msgid "You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr ""
-"この利用のためには、オーディオを何か最初に選ぶべきです。\n"
+msgstr "この利用のためには、オーディオを何か最初に選ぶべきです。\n"
 "[オーディオ以外のトラックには利用できません。]"
 
 #: commands/CommandManager.cpp:903
@@ -4352,8 +4158,7 @@ msgstr "エフェクトの適用: %s %.1f dB"
 msgid "Amplify"
 msgstr "増幅"
 
-#: effects/Amplify.cpp:155
-#: effects/Compressor.cpp:476
+#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
 #: effects/Normalize.cpp:337
 msgid "by Dominic Mazzoni"
 msgstr "Dominic Mazzoni による"
@@ -4374,9 +4179,7 @@ msgstr "新しい最大振幅"
 msgid "Allow clipping"
 msgstr "クリッピングを許可"
 
-#: effects/Amplify.cpp:222
-#: effects/Amplify.cpp:279
-#: effects/Amplify.cpp:323
+#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
 msgid "-Infinity"
 msgstr "-無限"
 
@@ -4392,9 +4195,7 @@ msgstr "増幅"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "オーディオを含まないトラックが選ばれました。オートドックはオーディオトラックのみを処理できます。"
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "オートドック"
@@ -4416,24 +4217,14 @@ msgid "Maximum pause:"
 msgstr "最大休止:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: effects/Contrast.cpp:263
-#: effects/Contrast.cpp:286
-#: prefs/AudioIOPrefs.cpp:172
-#: prefs/AudioIOPrefs.cpp:180
-#: prefs/AudioIOPrefs.cpp:182
-#: prefs/AudioIOPrefs.cpp:207
-#: prefs/AudioIOPrefs.cpp:209
-#: prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163
-#: prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:197
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514 effects/Contrast.cpp:263
+#: effects/Contrast.cpp:286 prefs/AudioIOPrefs.cpp:172
+#: prefs/AudioIOPrefs.cpp:180 prefs/AudioIOPrefs.cpp:182
+#: prefs/AudioIOPrefs.cpp:207 prefs/AudioIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:161 prefs/MidiIOPrefs.cpp:163
+#: prefs/MidiIOPrefs.cpp:187 prefs/MidiIOPrefs.cpp:189
+#: prefs/MidiIOPrefs.cpp:197 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "秒"
 
@@ -4453,8 +4244,7 @@ msgstr "内側のフェードダウンする長さ:"
 msgid "Inner fade up length:"
 msgstr "内側のフェードアップする長さ:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:494
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:494
 msgid "Threshold:"
 msgstr "閾値:"
 
@@ -4474,10 +4264,8 @@ msgstr "オートドック..."
 msgid "Processing Auto Duck..."
 msgstr "オーディオドックでの処理..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:455
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/nyquist/Nyquist.cpp:1053
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:455
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/nyquist/Nyquist.cpp:1053
 #: widgets/ErrorDialog.cpp:101
 msgid "OK"
 msgstr "OK"
@@ -4491,14 +4279,11 @@ msgstr "エフェクトの適用: %s 周波数 = %.0f Hz, 増幅 = %.0f dB"
 msgid "Bass Boost"
 msgstr "低域の強調"
 
-#: effects/BassBoost.cpp:182
-#: effects/Phaser.cpp:219
-#: effects/Wahwah.cpp:214
+#: effects/BassBoost.cpp:182 effects/Phaser.cpp:219 effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr "Nasca Octavian Paul による"
 
-#: effects/BassBoost.cpp:196
-#: effects/ChangePitch.cpp:322
+#: effects/BassBoost.cpp:196 effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "周波数 (Hz):"
 
@@ -4543,14 +4328,12 @@ msgstr "ピッチの変更"
 msgid "Change Pitch without Changing Tempo"
 msgstr "テンポを変えずにピッチの変更"
 
-#: effects/ChangePitch.cpp:258
-#: effects/ChangeSpeed.cpp:336
+#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:336
 #: effects/ChangeTempo.cpp:173
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "Vaughan Johnson と Dominic Mazzoni による"
 
-#: effects/ChangePitch.cpp:260
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangePitch.cpp:260 effects/ChangeTempo.cpp:175
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "Olli Parviainen による SoundTouch の使用"
 
@@ -4590,10 +4373,8 @@ msgstr "半音 (半階):"
 msgid "Semitones in half-steps"
 msgstr "半音 (半階):"
 
-#: effects/ChangePitch.cpp:326
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:206
-#: effects/ChangeTempo.cpp:219
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
+#: effects/ChangeTempo.cpp:206 effects/ChangeTempo.cpp:219
 msgid "from"
 msgstr "から"
 
@@ -4601,10 +4382,8 @@ msgstr "から"
 msgid "From frequency in hertz"
 msgstr "周波数 Hz から"
 
-#: effects/ChangePitch.cpp:331
-#: effects/ChangeSpeed.cpp:374
-#: effects/ChangeTempo.cpp:211
-#: effects/ChangeTempo.cpp:224
+#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:374
+#: effects/ChangeTempo.cpp:211 effects/ChangeTempo.cpp:224
 msgid "to"
 msgstr "to"
 
@@ -4612,16 +4391,13 @@ msgstr "to"
 msgid "To frequency in seconds"
 msgstr "秒であらわされる周波数へ"
 
-#: effects/ChangePitch.cpp:338
-#: effects/ChangeSpeed.cpp:347
+#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:347
 #: effects/ChangeTempo.cpp:184
 msgid "Percent Change:"
 msgstr "テンポ変更率(%):"
 
-#: effects/ChangePitch.cpp:343
-#: effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358
-#: effects/ChangeTempo.cpp:195
+#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:195
 msgid "Percent Change"
 msgstr "変更率(%)"
 
@@ -4633,8 +4409,7 @@ msgstr "ピッチの変更..."
 msgid "Changing Pitch"
 msgstr "ピッチの変更"
 
-#: effects/ChangeSpeed.cpp:54
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:54 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "エフェクトの適用: %s %.1f%%"
@@ -4789,9 +4564,9 @@ msgstr "減衰時間: "
 msgid "Decay Time"
 msgstr "減衰時間"
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "圧縮後に音量を0dBに基準化"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
 #, c-format
@@ -4828,8 +4603,7 @@ msgstr "%.1f:1"
 msgid "Attack Time %.1f secs"
 msgstr "アタックタイム %.1f 秒"
 
-#: effects/Compressor.cpp:576
-#: effects/Compressor.cpp:579
+#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
 #, c-format
 msgid "%.1f secs"
 msgstr "%.1f 秒"
@@ -4847,49 +4621,32 @@ msgstr "圧縮..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "ダイナミックレンジを圧縮..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr "コントラストツール 前景"
 
 #: effects/Contrast.cpp:79
-msgid ""
-"Foreground times selected.\n"
+msgid "Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
-msgstr ""
-"前景時間が選択されました。\n"
+msgstr "前景時間が選択されました。\n"
 "次に背景を選択し Ctrl+Shift+Tまたはメニューに戻ってください。"
 
 #: effects/Contrast.cpp:127
-msgid ""
-"Start time after after end time!\n"
+msgid "Start time after after end time!\n"
 "Please enter reasonable times."
-msgstr ""
-"開始時間が終了時間より後になっています!\n"
+msgstr "開始時間が終了時間より後になっています!\n"
 "正しい時間を入力してください。"
 
 #: effects/Contrast.cpp:137
-msgid ""
-"Times are not reasonable!\n"
+msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
-msgstr ""
-"時間が正しくありません!\n"
+msgstr "時間が正しくありません!\n"
 "正しい時間を入力してください。"
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr "Hello.\n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr "WCAG2オーディオコントラストアナライザ"
-
-#: effects/Contrast.cpp:193
-#: effects/Contrast.cpp:204
-#: effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr "拍子づけされた"
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr "コントラスト分析器"
@@ -4898,18 +4655,14 @@ msgstr "コントラスト分析器"
 msgid "Parameters"
 msgstr "パラメータ"
 
-#: effects/Contrast.cpp:242
-#: effects/ToneGen.cpp:355
+#: effects/Contrast.cpp:242 effects/ToneGen.cpp:355
 #: toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "開始"
 
-#: effects/Contrast.cpp:243
-#: effects/ToneGen.cpp:356
-#: toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:156
-#: toolbars/SelectionBar.cpp:159
-#: toolbars/SelectionBar.cpp:262
+#: effects/Contrast.cpp:243 effects/ToneGen.cpp:356
+#: toolbars/ControlToolBar.cpp:189 toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "終了"
 
@@ -4929,8 +4682,12 @@ msgstr "前景開始時間"
 msgid "Foreground end time"
 msgstr "前景終了時間"
 
-#: effects/Contrast.cpp:373
-#: effects/Contrast.cpp:417
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr "拍子づけされた"
+
+#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr "選択してください"
 
@@ -4954,8 +4711,7 @@ msgstr "結果"
 msgid "Contrast Result:"
 msgstr "対比結果:"
 
-#: Tags.cpp:840
-#: Tags.cpp:1990
+#: Tags.cpp:840 Tags.cpp:1990
 msgid "Reset"
 msgstr "リセット"
 
@@ -4975,21 +4731,11 @@ msgstr "2つのオーディオ区間同士のrmsボリュームの差を計測
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr "WCAG2 オーディオコントラストアナライザのヘルプ"
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "コントロール"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr "注: 'OK'ボタンにより時間はリセットされます。"
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr "時間を維持したまま閉じる"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr ""
 
-#: effects/Contrast.cpp:328
-#: effects/Contrast.cpp:336
-#: effects/Contrast.cpp:344
+#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
 #: effects/Contrast.cpp:352
 msgid "Measure"
 msgstr "小節"
@@ -5002,8 +4748,7 @@ msgstr "計測すべき前景がありません。"
 msgid "Measured foreground level"
 msgstr "計測された前景レベル"
 
-#: effects/Contrast.cpp:191
-#: effects/Contrast.cpp:202
+#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
 #, c-format
 msgid "%.1f dB"
 msgstr "%.1f dB"
@@ -5054,26 +4799,22 @@ msgstr "ファイル名 = %s."
 msgid "Foreground"
 msgstr "前景"
 
-#: effects/Contrast.cpp:581
-#: effects/Contrast.cpp:598
+#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr "開始時間 = %2d 時間, %2d 分, %.2f 秒"
 
-#: effects/Contrast.cpp:586
-#: effects/Contrast.cpp:603
+#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr "終了時間 = %2d 時間, %2d 分, %.2f 秒"
 
-#: effects/Contrast.cpp:588
-#: effects/Contrast.cpp:605
+#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
 msgstr "平均 rms = %.1f dB."
 
-#: effects/Contrast.cpp:590
-#: effects/Contrast.cpp:607
+#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
 msgid "Average rms =  dB."
 msgstr "平均 rms =  dB."
 
@@ -5102,18 +4843,6 @@ msgstr "WCAG2.0のSuccess Criteria 1.4.7: 不合格"
 msgid "Data gathered"
 msgstr "データ収集済み"
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr "コントラスト...\tCtrl+Shift+T"
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr "背面で測定"
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr "前面で測定"
-
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "DTMF トーンジェネレータ"
@@ -5126,9 +4855,7 @@ msgstr "Salvo Ventura (2006) による"
 msgid "DTMF sequence:"
 msgstr "DTMFシーケンス:"
 
-#: effects/DtmfGen.cpp:463
-#: effects/Noise.cpp:242
-#: effects/ToneGen.cpp:322
+#: effects/DtmfGen.cpp:463 effects/Noise.cpp:242 effects/ToneGen.cpp:322
 #: effects/ToneGen.cpp:359
 msgid "Amplitude (0-1)"
 msgstr "振幅 (0-1)"
@@ -5149,9 +4876,7 @@ msgstr "デューティー比:"
 msgid "Tone duration:"
 msgstr "トーン持続時間:"
 
-#: effects/DtmfGen.cpp:499
-#: effects/DtmfGen.cpp:501
-#: effects/DtmfGen.cpp:577
+#: effects/DtmfGen.cpp:499 effects/DtmfGen.cpp:501 effects/DtmfGen.cpp:577
 #: effects/DtmfGen.cpp:578
 msgid "ms"
 msgstr "ミリ秒"
@@ -5184,8 +4909,7 @@ msgstr "エコー"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195
-#: effects/Repeat.cpp:200
+#: effects/Echo.cpp:195 effects/Repeat.cpp:200
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "Dominic Mazzoni と Vaughan Johnson による"
 
@@ -5234,8 +4958,7 @@ msgstr "コサイン"
 msgid "Cubic"
 msgstr "キュービック"
 
-#: effects/Equalization.cpp:367
-#: effects/Equalization.cpp:416
+#: effects/Equalization.cpp:367 effects/Equalization.cpp:416
 msgid "Equalization"
 msgstr "イコライゼーション"
 
@@ -5247,6 +4970,10 @@ msgstr "イコライザ曲線の読み込みエラー"
 msgid "custom"
 msgstr "カスタム"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1101
@@ -5289,8 +5016,7 @@ msgstr "フィルタ長"
 msgid "Select curve:"
 msgstr "曲線を選択"
 
-#: effects/Equalization.cpp:1273
-#: effects/Equalization.cpp:2512
+#: effects/Equalization.cpp:1273 effects/Equalization.cpp:2512
 #: export/ExportMultiple.cpp:882
 msgid "Save As..."
 msgstr "保存"
@@ -5303,8 +5029,7 @@ msgstr "平坦"
 msgid "Enter the desired name of the curve"
 msgstr "カーブに付ける名前を入力"
 
-#: effects/Equalization.cpp:2611
-#: export/ExportFFmpegDialogs.cpp:1220
+#: effects/Equalization.cpp:2611 export/ExportFFmpegDialogs.cpp:1220
 msgid "Confirm Deletion"
 msgstr "削除の確認"
 
@@ -5404,8 +5129,7 @@ msgstr "より強く"
 msgid "Heaviest"
 msgstr "最も強く"
 
-#: effects/Leveller.cpp:212
-#: effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:212 effects/TruncSilence.cpp:331
 msgid "by Lynn Allan"
 msgstr "Lynn Allan による"
 
@@ -5457,11 +5181,6 @@ msgstr "変換器"
 msgid "Analyser"
 msgstr "解析器"
 
-#: effects/LoadEffects.cpp:114
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "ミキサー"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr "シミュレータ"
@@ -5478,8 +5197,7 @@ msgstr "変調器"
 msgid "Reverb"
 msgstr "残響"
 
-#: effects/LoadEffects.cpp:124
-#: effects/Phaser.cpp:208
+#: effects/LoadEffects.cpp:124 effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "フェーザー"
 
@@ -5567,8 +5285,7 @@ msgstr "リミッタ"
 msgid "Gate"
 msgstr "ゲート"
 
-#: effects/LoadEffects.cpp:199
-#: effects/NoiseRemoval.cpp:725
+#: effects/LoadEffects.cpp:199 effects/NoiseRemoval.cpp:725
 msgid "Noise Removal"
 msgstr "ノイズの除去"
 
@@ -5623,11 +5340,9 @@ msgstr "ノイズの作成"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
-msgid ""
-"Could not open file:\n"
+msgid "Could not open file:\n"
 "  %s"
-msgstr ""
-"ファイルが開けません:\n"
+msgstr "ファイルが開けません:\n"
 "  %s"
 
 #: effects/NoiseRemoval.cpp:277
@@ -5639,11 +5354,9 @@ msgid "Step 1"
 msgstr "ステップ 1"
 
 #: effects/NoiseRemoval.cpp:815
-msgid ""
-"Select a few seconds of just noise so Audacity knows what to filter out,\n"
+msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr ""
-"Audacity が何をフィルタで除去するべきかを判断するために, まずノイズを何秒か選択します\n"
+msgstr "Audacity が何をフィルタで除去するべきかを判断するために, まずノイズを何秒か選択します\n"
 "次にクリックすることでノイズのプロファイルを得ます:"
 
 #: effects/NoiseRemoval.cpp:816
@@ -5651,11 +5364,9 @@ msgid "Step 2"
 msgstr "ステップ 2"
 
 #: effects/NoiseRemoval.cpp:817
-msgid ""
-"Select all of the audio you want filtered, choose how much noise you want\n"
+msgid "Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr ""
-"フィルタリングしたいオーディオを全て選択し,どの程度フィルタで除去をしたいかを選択,\n"
+msgstr "フィルタリングしたいオーディオを全て選択し,どの程度フィルタで除去をしたいかを選択,\n"
 "次に`OK'クリックすることでノイズを除去します.\n"
 
 #: effects/NoiseRemoval.cpp:822
@@ -5709,15 +5420,9 @@ msgstr "ノイズの除去"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "与えた効果: %s DCオフセットの除去 = %s, 基準化された振幅 = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "偽"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "真"
 
@@ -5730,8 +5435,7 @@ msgstr ", 最大振幅 = %.1f dB"
 msgid "Normalize"
 msgstr "正規化"
 
-#: effects/Normalize.cpp:351
-#: effects/Normalize.cpp:352
+#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "どんな DC オフセットも削除します (センターを 0 にします)"
 
@@ -5776,23 +5480,19 @@ msgstr "ドライ/ウェット"
 msgid "Dry Wet"
 msgstr "ドライ ウェット"
 
-#: effects/Phaser.cpp:236
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:236 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO 周波数 (Hz):"
 
-#: effects/Phaser.cpp:239
-#: effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
 msgid "LFO frequency in hertz"
 msgstr "LFO 周波数 (Hz)"
 
-#: effects/Phaser.cpp:241
-#: effects/Wahwah.cpp:226
+#: effects/Phaser.cpp:241 effects/Wahwah.cpp:226
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO 初期位相 (角度):"
 
-#: effects/Phaser.cpp:244
-#: effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
 msgid "LFO start phase in degrees"
 msgstr "LFO 初期位相 (角度):"
 
@@ -5800,8 +5500,7 @@ msgstr "LFO 初期位相 (角度):"
 msgid "Depth:"
 msgstr "深度:"
 
-#: effects/Phaser.cpp:249
-#: effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
 msgid "Depth in percent"
 msgstr "パーセント表記による深さ"
 
@@ -5822,25 +5521,21 @@ msgid "Applying Phaser"
 msgstr "フェーザーエフェクトを適用..."
 
 #: effects/Repair.cpp:99
-msgid ""
-"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr ""
-"修復効果は、損傷したオーディオデータのとても短い領域(128サンプルまで)\n"
+msgstr "修復効果は、損傷したオーディオデータのとても短い領域(128サンプルまで)\n"
 "に対して使用することが意図されています。\n"
 "\n"
 "ズームして、1秒よりずっと短い修復したい部分を選んでください。"
 
 #: effects/Repair.cpp:105
-msgid ""
-"Repair works by using audio data outside the selection region.\n"
+msgid "Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
-msgstr ""
-"選択範囲外のオーディオデータを使って修復します.\n"
+msgstr "選択範囲外のオーディオデータを使って修復します.\n"
 "\n"
 "オーディオデータが接続する最低片方側のデータ領域を選択してください\n"
 "\n"
@@ -5859,8 +5554,7 @@ msgstr "%d 回リピートされました"
 msgid "Tracks are too long to repeat the selection."
 msgstr "トラックが長すぎるため選択範囲をリピートすることができません."
 
-#: effects/Repeat.cpp:77
-#: effects/Repeat.cpp:187
+#: effects/Repeat.cpp:77 effects/Repeat.cpp:187
 msgid "Repeat"
 msgstr "リピート"
 
@@ -5878,8 +5572,7 @@ msgstr "新しい選択範囲:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:262
-#: widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:262 widgets/TimeTextCtrl.cpp:270
 msgid "hh:mm:ss"
 msgstr "時:分:秒"
 
@@ -5929,11 +5622,9 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr "Lynn Allan の突発音除去"
 
 #: effects/SpikeCleaner.cpp:165
-msgid ""
-"Max Spike Duration (milliseconds): \n"
+msgid "Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr ""
-"突発音の最大の持続時間(ミリ秒): \n"
+msgstr "突発音の最大の持続時間(ミリ秒): \n"
 "(99999 かそれ以上はオフ)"
 
 #: effects/SpikeCleaner.cpp:178
@@ -6005,8 +5696,7 @@ msgstr "テンポ/ピッチの変更"
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "エフェクトの適用:  %s %s wave,生成  周波数 = %.2f Hz, 振幅 = %.2f, %6lf 秒"
 
-#: effects/ToneGen.cpp:69
-#: widgets/Meter.cpp:416
+#: effects/ToneGen.cpp:69 widgets/Meter.cpp:416
 msgid "Linear"
 msgstr "リニア"
 
@@ -6038,8 +5728,7 @@ msgstr "のこぎり波"
 msgid "Square, no alias"
 msgstr "矩形波、エリアス成分なし"
 
-#: effects/ToneGen.cpp:321
-#: effects/ToneGen.cpp:357
+#: effects/ToneGen.cpp:321 effects/ToneGen.cpp:357
 msgid "Frequency (Hz)"
 msgstr "周波数 (Hz):"
 
@@ -6087,30 +5776,44 @@ msgstr "トーンの作成"
 msgid "All tracks must have the same sample rate"
 msgstr "選択されたトラックはすべてが同一のサンプルレートでなければなりません."
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:321
 msgid "Truncate Silence"
 msgstr "無音の短縮"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "最大の無音持続時間:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
-#: effects/TruncSilence.cpp:348
-#: prefs/AudioIOPrefs.cpp:196
-#: prefs/AudioIOPrefs.cpp:199
-#: prefs/MidiIOPrefs.cpp:174
+#: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:196
+#: prefs/AudioIOPrefs.cpp:199 prefs/MidiIOPrefs.cpp:174
 #: prefs/MidiIOPrefs.cpp:177
 msgid "milliseconds"
 msgstr "ミリ秒"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "最大の無音持続時間:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
 msgstr "無音のための閾値:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "持続時間は最低でも1ミリ秒は必要です。"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -6120,17 +5823,55 @@ msgstr "無音を短縮"
 msgid "Truncating Silence..."
 msgstr "無音の短縮"
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "VST の効果は個々のチャンネルが一致しないステレオトラック上では実行できません."
+#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:823
+msgid "Effect Settings"
+msgstr "エフェクトセッティング"
+
+#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "無し"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "リプレースできません"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST プラグインのパラメータ:"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -6170,54 +5911,34 @@ msgid "Applying Wahwah"
 msgstr "ワウワウ を適用"
 
 #: effects/audiounits/AudioUnitEffect.cpp:138
-#: effects/ladspa/LadspaEffect.cpp:176
-#: effects/lv2/LV2Effect.cpp:191
+#: effects/ladspa/LadspaEffect.cpp:176 effects/lv2/LV2Effect.cpp:191
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "効果の適用: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:196
-#: effects/lv2/LV2Effect.cpp:211
+#: effects/ladspa/LadspaEffect.cpp:196 effects/lv2/LV2Effect.cpp:211
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "プラグインの効果は個々のチャンネルが一致しないステレオトラック上では実行できません."
 
-#: effects/ladspa/LadspaEffect.cpp:580
-#: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "無し"
-
-#: effects/ladspa/LadspaEffect.cpp:582
-#: effects/lv2/LV2Effect.cpp:798
+#: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:798
 #: effects/vamp/VampEffect.cpp:395
 msgid "Author: "
 msgstr "製作者:"
 
-#: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "エフェクトセッティング"
-
-#: effects/ladspa/LadspaEffect.cpp:710
-#: effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:834
-#: effects/lv2/LV2Effect.cpp:837
+#: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
+#: effects/lv2/LV2Effect.cpp:834 effects/lv2/LV2Effect.cpp:837
 msgid "Length (seconds)"
 msgstr "長さ (秒)"
 
-#: effects/lv2/LV2Effect.cpp:849
-#: effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
 msgid "Note length (seconds)"
 msgstr "音の長さ (秒)"
 
-#: effects/lv2/LV2Effect.cpp:860
-#: effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
 msgid "Note velocity"
 msgstr "音の強さ"
 
-#: effects/lv2/LV2Effect.cpp:871
-#: effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
 msgid "Note key"
 msgstr "音の調性"
 
@@ -6225,8 +5946,7 @@ msgstr "音の調性"
 msgid "Applying Nyquist Effect..."
 msgstr "ナイキストエフェクトを適用..."
 
-#: effects/nyquist/Nyquist.cpp:264
-#: effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:264 effects/nyquist/Nyquist.cpp:326
 msgid "Nyquist Prompt..."
 msgstr "Nyquist プロンプト..."
 
@@ -6246,8 +5966,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Nyquist 出力"
 
-#: effects/nyquist/Nyquist.cpp:603
-#: effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:603 effects/nyquist/Nyquist.cpp:614
 msgid "Nyquist returned the value:"
 msgstr "Nyquist が返した値: "
 
@@ -6284,8 +6003,7 @@ msgstr "- Vamp オーディオ分析プラグイン"
 msgid "Plugin Settings"
 msgstr "プラグインの設定"
 
-#: effects/vamp/VampEffect.cpp:442
-#: effects/vamp/VampEffect.cpp:448
+#: effects/vamp/VampEffect.cpp:442 effects/vamp/VampEffect.cpp:448
 msgid "Program"
 msgstr "プログラム"
 
@@ -6311,14 +6029,12 @@ msgstr "本当に保存しますか \""
 
 #: export/Export.cpp:591
 #, c-format
-msgid ""
-"You are about to save a %s file with the name \"%s\".\n"
+msgid "You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr ""
-"%s ファイルを拡張子 %s で保存しようとしています.\n"
+msgstr "%s ファイルを拡張子 %s で保存しようとしています.\n"
 "この拡張子 %s は標準的な拡張子ではないため, 他のプログラムでは開けないでしょう.\n"
 "本当にこの拡張子でファイルを保存しますか?"
 
@@ -6356,8 +6072,7 @@ msgstr "右"
 msgid "Mixer Panel"
 msgstr "ミキサパネル"
 
-#: export/Export.cpp:1078
-#: export/Export.cpp:1125
+#: export/Export.cpp:1078 export/Export.cpp:1125
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "出力チャンネル: %2d"
@@ -6387,8 +6102,7 @@ msgstr "データは標準入力にパイプされるでしょう。\"%f\" は
 msgid "(external program)"
 msgstr "(外部プログラム)"
 
-#: export/ExportCL.cpp:253
-#: export/ExportPCM.cpp:457
+#: export/ExportCL.cpp:253 export/ExportPCM.cpp:457
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "%s というファイル名でオーディオを書き出すことができません"
@@ -6405,21 +6119,28 @@ msgstr "プロジェクト全体をコマンドラインエンコーダを使っ
 msgid "Command Output"
 msgstr "コマンド出力"
 
-#: export/ExportFFmpeg.cpp:59
-msgid ""
-"Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
-"続けるには正しく設定されたFFmpegが必要です。\n"
-"設定->読み込み/書き出しにて設定できます。"
 
 #: export/ExportFFmpeg.cpp:394
 #, c-format
-msgid ""
-"FFmpeg cannot find audio codec 0x%x.\n"
+msgid "FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
-msgstr ""
-"FFmpegはオーディオコーデック 0x%x を発見できませんでした。\n"
+msgstr "FFmpegはオーディオコーデック 0x%x を発見できませんでした。\n"
 "このコーデックの対応はおそらくコンパイルされていません。"
 
 #: export/ExportFFmpeg.cpp:614
@@ -6437,36 +6158,29 @@ msgstr "選択したオーディオを %s というファイル名で書き出
 msgid "Exporting entire file as %s"
 msgstr "ファイル全体を %s で書き出し"
 
-#: export/ExportFFmpeg.cpp:702
-#: export/ExportMP3.cpp:1920
+#: export/ExportFFmpeg.cpp:702 export/ExportMP3.cpp:1920
 msgid "Invalid sample rate"
 msgstr "無効なレートです"
 
 #: export/ExportFFmpeg.cpp:715
 #, c-format
-msgid ""
-"The project sample rate (%d) is not supported by the current output\n"
+msgid "The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
-msgstr ""
-"プロジェクトのサンプリング周波数 (%d) は現在の出力ファイル形式では\n"
+msgstr "プロジェクトのサンプリング周波数 (%d) は現在の出力ファイル形式では\n"
 "サポートされていません."
 
 #: export/ExportFFmpeg.cpp:718
 #, c-format
-msgid ""
-"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
-msgstr ""
-"プロジェクトのサンプリング周波数 (%d) とビットレート (%d kbps) の組み合わせは\n"
+msgstr "プロジェクトのサンプリング周波数 (%d) とビットレート (%d kbps) の組み合わせは\n"
 "現在のファイル形式ではサポートされていません。"
 
-#: export/ExportFFmpeg.cpp:721
-#: export/ExportMP3.cpp:1939
+#: export/ExportFFmpeg.cpp:721 export/ExportMP3.cpp:1939
 msgid "You may resample to one of the rates below."
 msgstr "以下のサンプリング周波数のうちの一つへリサンプルしましょう。"
 
-#: export/ExportFFmpeg.cpp:749
-#: export/ExportMP3.cpp:1962
+#: export/ExportFFmpeg.cpp:749 export/ExportMP3.cpp:1962
 msgid "Sample Rates"
 msgstr "サンプルレート"
 
@@ -6478,12 +6192,9 @@ msgstr "AC3オプションの特定"
 msgid "AC3 Export Setup"
 msgstr "AC3書き出し設定"
 
-#: export/ExportFFmpegDialogs.cpp:121
-#: export/ExportFFmpegDialogs.cpp:245
-#: export/ExportFFmpegDialogs.cpp:314
-#: export/ExportFFmpegDialogs.cpp:385
-#: export/ExportFFmpegDialogs.cpp:937
-#: export/ExportMP2.cpp:133
+#: export/ExportFFmpegDialogs.cpp:121 export/ExportFFmpegDialogs.cpp:245
+#: export/ExportFFmpegDialogs.cpp:314 export/ExportFFmpegDialogs.cpp:385
+#: export/ExportFFmpegDialogs.cpp:937 export/ExportMP2.cpp:133
 msgid "Bit Rate:"
 msgstr "ビットレート:"
 
@@ -6495,6 +6206,10 @@ msgstr "AACオプションの特定"
 msgid "AAC Export Setup"
 msgstr "AAC書き出し設定"
 
+#: export/ExportFFmpegDialogs.cpp:940 export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "品質:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr "AMR-NB オプションを指定"
@@ -6601,18 +6316,15 @@ msgstr "すべてのコーデックを表示"
 msgid "Options"
 msgstr "オプション"
 
-#: export/ExportFFmpegDialogs.cpp:931
-#: prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:931 prefs/GUIPrefs.cpp:166
 msgid "Language:"
 msgstr "言語:"
 
 #: export/ExportFFmpegDialogs.cpp:932
-msgid ""
-"ISO 639 3-letter language code\n"
+msgid "ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
-msgstr ""
-"ISO 639 3文字言語コード\n"
+msgstr "ISO 639 3文字言語コード\n"
 "オプション\n"
 "空 - 自動"
 
@@ -6621,40 +6333,30 @@ msgid "Tag:"
 msgstr "ã‚¿ã‚°:"
 
 #: export/ExportFFmpegDialogs.cpp:935
-msgid ""
-"Codec tag (FOURCC)\n"
+msgid "Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
-msgstr ""
-"コーデックタグ (FOURCC)\n"
+msgstr "コーデックタグ (FOURCC)\n"
 "オプション\n"
 "空 - 自動"
 
 #: export/ExportFFmpegDialogs.cpp:938
-msgid ""
-"Bit Rate (bits/second) - influences the resulting file size and quality\n"
+msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
-msgstr ""
-"ビットレート (bits/秒) - 生成されるファイルのファイルサイズと品質に影響\n"
+msgstr "ビットレート (bits/秒) - 生成されるファイルのファイルサイズと品質に影響\n"
 "いくつかのコーデックは特定の値(128k, 192k, 256k など)のみ可能\n"
 "0 - 自動\n"
 "推奨 - 192000"
 
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "品質:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid ""
-"Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+#, fuzzy
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
-msgstr ""
-"全体の品質、異なるコーデックによって異なる\n"
+msgstr "全体の品質、異なるコーデックによって異なる\n"
 "vorbis に要求される\n"
 "0 - 自動\n"
 "-1 - オフ (ビットレートが代わりに使用される)"
@@ -6664,38 +6366,33 @@ msgid "Sample Rate:"
 msgstr "サンプルレート:"
 
 #: export/ExportFFmpegDialogs.cpp:944
-msgid ""
-"Sample rate (Hz)\n"
+msgid "Sample rate (Hz)\n"
 "0 - don't change sample rate"
-msgstr ""
-"サンプルレート (Hz)\n"
+msgstr "サンプルレート (Hz)\n"
 "0 - サンプルレートを変更しないでください."
 
 #: export/ExportFFmpegDialogs.cpp:946
 msgid "Cutoff Bandwidth:"
 msgstr "カットオフ帯域幅:"
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid ""
-"Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:936
+#, fuzzy
+msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
-msgstr ""
-"カットオフ帯域幅 (Hz)\n"
+"0 - automatic"
+msgstr "カットオフ帯域幅 (Hz)\n"
 "オプション\n"
-"0 - 自動\n"
+"0 - 自動"
 
 #: export/ExportFFmpegDialogs.cpp:949
 msgid "Profile:"
 msgstr "プロファイル:"
 
 #: export/ExportFFmpegDialogs.cpp:951
-msgid ""
-"AAC Profile\n"
+msgid "AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
-msgstr ""
-"AAC プロファイル\n"
+msgstr "AAC プロファイル\n"
 "Low Complexity (LC)低複雑度 既定値\n"
 "ほとんどのプレーヤは、LC以外のものを再生できません"
 
@@ -6716,14 +6413,12 @@ msgid "Compression Level:"
 msgstr "圧縮レベル:"
 
 #: export/ExportFFmpegDialogs.cpp:966
-msgid ""
-"Compression level\n"
+msgid "Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
-msgstr ""
-"圧縮レベル\n"
+msgstr "圧縮レベル\n"
 "FLACを必要とします\n"
 "-1 -自動\n"
 "最小 - 0 (高速なエンコード、大きい出力ファイル)\n"
@@ -6734,14 +6429,12 @@ msgid "Frame Size:"
 msgstr "フレームサイズ:"
 
 #: export/ExportFFmpegDialogs.cpp:969
-msgid ""
-"Frame size\n"
+msgid "Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
-msgstr ""
-"フレームサイズ\n"
+msgstr "フレームサイズ\n"
 "オプション\n"
 "0 - 既定値\n"
 "最小 - 16\n"
@@ -6752,14 +6445,12 @@ msgid "LPC coefficients precision"
 msgstr "LPC係数の精度"
 
 #: export/ExportFFmpegDialogs.cpp:972
-msgid ""
-"LPC coefficients precision\n"
+msgid "LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
-msgstr ""
-"LPC係数の精度\n"
+msgstr "LPC係数の精度\n"
 "オプション\n"
 "0 - 既定値\n"
 "最小 - 1\n"
@@ -6770,14 +6461,12 @@ msgid "Minimal prediction order"
 msgstr "最大予測次数"
 
 #: export/ExportFFmpegDialogs.cpp:975
-msgid ""
-"Minimal prediction order\n"
+msgid "Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr ""
-"最小予測次数\n"
+msgstr "最小予測次数\n"
 "オプション\n"
 "-1 - 既定値\n"
 "最小 - 0\n"
@@ -6788,14 +6477,12 @@ msgid "Maximal prediction order"
 msgstr "最大予測次数"
 
 #: export/ExportFFmpegDialogs.cpp:978
-msgid ""
-"Maximal prediction order\n"
+msgid "Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr ""
-"最大予測次数オプション\n"
+msgstr "最大予測次数オプション\n"
 "1 - 既定値\n"
 "最小 - 0\n"
 "最大 - 32 (LPCあり) あるいは 4 (LPCなし)"
@@ -6805,13 +6492,11 @@ msgid "Prediction Order Method:"
 msgstr "予測次数の方法:"
 
 #: export/ExportFFmpegDialogs.cpp:982
-msgid ""
-"Prediction Order Method\n"
+msgid "Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
-msgstr ""
-"予測次数の方法\n"
+msgstr "予測次数の方法\n"
 "評価 - 高速で低い圧縮\n"
 "長い探索 - 低速で高度な圧縮\n"
 "全探索 - 既定値"
@@ -6821,14 +6506,12 @@ msgid "Minimal partition order"
 msgstr "最小予測次数"
 
 #: export/ExportFFmpegDialogs.cpp:985
-msgid ""
-"Minimal partition order\n"
+msgid "Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr ""
-"最小分割次数\n"
+msgstr "最小分割次数\n"
 "オプション\n"
 "-1 - 既定値\n"
 "最小 - 0\n"
@@ -6839,14 +6522,12 @@ msgid "Maximal partition order"
 msgstr "最大分割次数"
 
 #: export/ExportFFmpegDialogs.cpp:988
-msgid ""
-"Maximal partition order\n"
+msgid "Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr ""
-"最大分割次数\n"
+msgstr "最大分割次数\n"
 "オプション\n"
 "-1 - 既定値\n"
 "最小 - 0\n"
@@ -6865,12 +6546,10 @@ msgid "Mux Rate:"
 msgstr "最大レート:"
 
 #: export/ExportFFmpegDialogs.cpp:1002
-msgid ""
-"Maximum bit rate of the multiplexed stream\n"
+msgid "Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
-msgstr ""
-"複数ストリームの最大ビットレート\n"
+msgstr "複数ストリームの最大ビットレート\n"
 "オプション\n"
 "0 - 既定値"
 
@@ -6879,12 +6558,10 @@ msgid "Packet Size:"
 msgstr "パケットサイズ:"
 
 #: export/ExportFFmpegDialogs.cpp:1005
-msgid ""
-"Packet size\n"
+msgid "Packet size\n"
 "Optional\n"
 "0 - default"
-msgstr ""
-"パケット サイズ\n"
+msgstr "パケット サイズ\n"
 "オプション\n"
 "0 - 既定値"
 
@@ -6929,13 +6606,13 @@ msgstr "M4A (AAC) ファイル (FFmpeg)"
 msgid "AC3 Files (FFmpeg)"
 msgstr "AC3 ファイル (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr "AMR (狭帯域) ファイル (FFmpeg)"
-
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr "AMR (広帯域) ファイル (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
 msgid "WMA (version 2) Files (FFmpeg)"
@@ -7045,6 +6722,17 @@ msgstr "量子化ビット数:"
 msgid "FLAC Files"
 msgstr "FLACファイル"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:312
 msgid "Exporting the selected audio as FLAC"
 msgstr "選択したオーディオを FLACファイルに書き出し"
@@ -7069,9 +6757,7 @@ msgstr "MP2ファイル"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "このサンプリング周波数とビットレートではMP2ファイルは書き出しできません。"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1771
-#: export/ExportOGG.cpp:186
+#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1771 export/ExportOGG.cpp:186
 msgid "Unable to open target file for writing"
 msgstr "書き込むためのファイルを開けません"
 
@@ -7086,9 +6772,7 @@ msgid "Exporting entire file at %d kbps"
 msgstr "ファイル全体を %d kbps で書き出し"
 
 #  i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "kbps"
 
@@ -7104,9 +6788,7 @@ msgstr "(最小のファイルサイズ)"
 msgid "Fast"
 msgstr "高速"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "標準"
@@ -7151,8 +6833,7 @@ msgstr "平均"
 msgid "Constant"
 msgstr "一定"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "品質"
@@ -7188,11 +6869,9 @@ msgstr "Lame の無料コピーを入手するには、ここをクリック -->
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid ""
-"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
-msgstr ""
-"lame_enc.dll v%d.%d とリンクしようとしています。 このバージョンはAudacity %d.%d.%dとはコンパチブルではありません。\n"
+msgstr "lame_enc.dll v%d.%d とリンクしようとしています。 このバージョンはAudacity %d.%d.%dとはコンパチブルではありません。\n"
 "LAME MP3ライブラリの最新版をダウンロードしてください。"
 
 #: export/ExportMP3.cpp:1094
@@ -7260,39 +6939,32 @@ msgstr "MP3エンコーダにおいて、エラー %d が返されました。"
 
 #: export/ExportMP3.cpp:1933
 #, c-format
-msgid ""
-"The project sample rate (%d) is not supported by the MP3\n"
+msgid "The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr "プロジェクトのサンプリング周波数 (%d) はMP3ではサポートされていません。"
 
 #: export/ExportMP3.cpp:1936
 #, c-format
-msgid ""
-"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr ""
-"プロジェクトのサンプリング周波数 (%d) とビットレート (%d kbps) の組み合わせは\n"
+msgstr "プロジェクトのサンプリング周波数 (%d) とビットレート (%d kbps) の組み合わせは\n"
 "MP3ファイル形式ではサポートされていません。"
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
 msgstr "MP3書き出しライブラリが見つかりませんでした。"
 
-#: export/ExportMultiple.cpp:96
-#: export/ExportMultiple.cpp:426
-#: export/ExportMultiple.cpp:667
-#: export/ExportMultiple.cpp:834
+#: export/ExportMultiple.cpp:96 export/ExportMultiple.cpp:426
+#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:834
 msgid "Export Multiple"
 msgstr "複数ファイルの書き出し"
 
 #: export/ExportMultiple.cpp:166
-msgid ""
-"If you have more than one Audio Track, you can export each track as a separate file,\n"
+msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr ""
-"もし複数のオーディオトラックがある場合、それぞれのトラックを別々のファイルに書き出し可能です.\n"
+msgstr "もし複数のオーディオトラックがある場合、それぞれのトラックを別々のファイルに書き出し可能です.\n"
 "あるいは、もしラベルつきトラックがある場合、それぞれのラベルを新しいファイルとして書き出し可能です.\n"
 "\n"
 "このプロジェクトには複数のトラックやラベルつきトラックが無いので、複数のファイルに書き出しはできません."
@@ -7313,11 +6985,6 @@ msgstr "オプション..."
 msgid "Export location:"
 msgstr "書き出し場所"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "選択..."
-
 #: export/ExportMultiple.cpp:246
 msgid "Create"
 msgstr "作成"
@@ -7326,8 +6993,7 @@ msgstr "作成"
 msgid "Split files based on:"
 msgstr "ファイル分離基準: "
 
-#: export/ExportMultiple.cpp:262
-#: export/ExportMultiple.cpp:264
+#: export/ExportMultiple.cpp:262 export/ExportMultiple.cpp:264
 msgid "Labels"
 msgstr "ラベル"
 
@@ -7343,22 +7009,15 @@ msgstr "最初のファイル名"
 msgid "First file name"
 msgstr "最初のファイル名"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "トラック"
-
 #: export/ExportMultiple.cpp:297
 msgid "Name files:"
 msgstr "ファイルの命名"
 
-#: export/ExportMultiple.cpp:306
-#: export/ExportMultiple.cpp:308
+#: export/ExportMultiple.cpp:306 export/ExportMultiple.cpp:308
 msgid "Using Label/Track Name"
 msgstr "ラベル/トラック名の使用"
 
-#: export/ExportMultiple.cpp:314
-#: export/ExportMultiple.cpp:316
+#: export/ExportMultiple.cpp:314 export/ExportMultiple.cpp:316
 msgid "Numbering consecutively"
 msgstr "連続した番号づけ"
 
@@ -7383,41 +7042,53 @@ msgstr "\"%s\" は正常に生成されました。"
 msgid "Choose a location to save the exported files"
 msgstr "書き出して保存するファイルの場所を選んでください"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:539
 #, c-format
-msgid ""
-"\"%s\" doesn't exist.\n"
+msgid "\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
-msgstr ""
-"\"%s\" は存在しません。.\n"
+msgstr "\"%s\" は存在しません。.\n"
 "\n"
 "作成しますか?"
 
-#: export/ExportMultiple.cpp:637
-#: export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
 msgid "Edit metadata"
 msgstr "メタデータを編集"
 
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d 個のファイルの書き出しに成功"
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "%d 個のファイルを出力した後に、何かがうまくいかなくなりました。"
-
 #: export/ExportMultiple.cpp:881
 #, c-format
-msgid ""
-"Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr ""
-"ラベル %s は正当なファイル名ではありません. %s のいずれも使えません.\n"
+msgstr "ラベル %s は正当なファイル名ではありません. %s のいずれも使えません.\n"
 "以下を使うように..."
 
 #: export/ExportOGG.cpp:64
@@ -7452,8 +7123,7 @@ msgstr "非圧縮書き出し設定"
 msgid "Header:"
 msgstr "ヘッダ:"
 
-#: export/ExportPCM.cpp:195
-#: import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:195 import/ImportRaw.cpp:366
 msgid "Encoding:"
 msgstr "エンコーディング:"
 
@@ -7521,8 +7191,7 @@ msgstr "ファイルは16-bit WAV (Microsoft) 形式で書き出されます。\
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
 msgstr "ファイルは GSM 6.10 WAV 形式で書き出されます。\n"
 
-#: import/Import.cpp:156
-#: import/ImportMP3.cpp:47
+#: import/Import.cpp:156 import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "MP3 ファイル"
 
@@ -7537,73 +7206,61 @@ msgstr "この Audacity のバージョンは %s サポート機能と一緒に
 
 #: import/Import.cpp:240
 #, c-format
-msgid ""
-"\"%s\" \n"
+msgid "\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
-msgstr ""
-"\"%s\" は MIDI ファイルであり、オーディオファイルではありません。\n"
+msgstr "\"%s\" は MIDI ファイルであり、オーディオファイルではありません。\n"
 "Audacity はこの種のファイルを、再生のため開くことはできませんが、\n"
 "ファイル > 読み込み > MIDI をクリックすることにより、編集はできます。"
 
 #. i18n-hint: %s will be the filename
 #: import/Import.cpp:250
 #, c-format
-msgid ""
-"\"%s\" is an audio CD track. \n"
+msgid "\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr ""
-"\"%s\" はオーディオCDトラックです.\n"
+msgstr "\"%s\" はオーディオCDトラックです.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "CDトラックをリップ(抽出)して、Audacity での読み込みが可能な形式\n"
 "WAV や AIFF にしてみてください."
 
 #: import/Import.cpp:256
 #, c-format
-msgid ""
-"\"%s\" is a playlist file. \n"
+msgid "\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr ""
-"\"%s\" はプレイリストファイルです。\n"
+msgstr "\"%s\" はプレイリストファイルです。\n"
 "他のファイルへのリンクを含んでいるため、Audacity はこのファイルを開くことができません。\n"
 "テキストエディタで開くか、本来のオーディオファイルをダウンロードして開くことは可能でしょう。"
 
 #: import/Import.cpp:261
 #, c-format
-msgid ""
-"\"%s\" is a Windows Media Audio file. \n"
+msgid "\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
-"\"%s\" は Windows Media オーディオファイルです。\n"
+msgstr "\"%s\" は Windows Media オーディオファイルです。\n"
 "特許上の制限により、Audacity はこの種のファイルを開くことはできません。\n"
 "サポートしているオーディオファイル形式、WAV や AIFF などに変換する必要があります。"
 
 #: import/Import.cpp:266
 #, c-format
-msgid ""
-"\"%s\" is an Advanced Audio Coding file. \n"
+msgid "\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
-"\"%s\"  は先進的なオーディオコーデックのファイルです.\n"
+msgstr "\"%s\"  は先進的なオーディオコーデックのファイルです.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "サポートしているオーディオファイル形式、WAV や AIFF などに変換する必要があります。"
 
 #: import/Import.cpp:271
 #, c-format
-msgid ""
-"\"%s\" is an encrypted audio file. \n"
+msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr ""
-"\"%s\" は、暗号化されたオーディオファイルです.\n"
+msgstr "\"%s\" は、暗号化されたオーディオファイルです.\n"
 "これらは典型的にはオンライン音楽ショップからのものです.\n"
 "暗号化のため Audacity はこの種のファイルを開くことができません.\n"
 "Audacity で録音を試みるか、オーディオCDとして作成した後、\n"
@@ -7611,37 +7268,31 @@ msgstr ""
 
 #: import/Import.cpp:276
 #, c-format
-msgid ""
-"\"%s\" is a RealPlayer media file. \n"
+msgid "\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
-"\"%s\" は RealPlayer 用のメディアファイルです。\n"
+msgstr "\"%s\" は RealPlayer 用のメディアファイルです。\n"
 "この商業フォーマットを Audacity は開くことができません。\n"
 "サポートされている WAV や AIFF などのオーディオファイル形式に変換する必要があります。"
 
 #: import/Import.cpp:282
 #, c-format
-msgid ""
-"\"%s\" is a notes-based file, not an audio file. \n"
+msgid "\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
-msgstr ""
-"\"%s\"  は音符に基づくファイルであり、オーディオファイルでありません.\n"
+msgstr "\"%s\"  は音符に基づくファイルであり、オーディオファイルでありません.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "サポートしているオーディオファイル形式、WAV や AIFF などに変換する必要があります。"
 
 #: import/Import.cpp:288
 #, c-format
-msgid ""
-"\"%s\" is a Musepack audio file. \n"
+msgid "\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
-msgstr ""
-"\"%s\" は Musepack オーディオファイルです。\n"
+msgstr "\"%s\" は Musepack オーディオファイルです。\n"
 "Audacity はこの種のファイルを開くことはできません。\n"
 "もし、これが mp3 かもしれないと思うなら,最後が\".mp3\" で終わるよう\n"
 "ファイル名を書き換えてから再度読み込みを試してください。\n"
@@ -7649,64 +7300,52 @@ msgstr ""
 
 #: import/Import.cpp:294
 #, c-format
-msgid ""
-"\"%s\" is a Wavpack audio file. \n"
+msgid "\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
-"\"%s\"  は Wavpackオーディオファイルです.\n"
+msgstr "\"%s\"  は Wavpackオーディオファイルです.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "サポートしているオーディオファイル形式、WAV や AIFF などに変換する必要があります。"
 
 #: import/Import.cpp:300
 #, c-format
-msgid ""
-"\"%s\" is a Dolby Digital audio file. \n"
+msgid "\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
-"\"%s\"  は Dolby Digital オーディオファイルです.\n"
+msgstr "\"%s\"  は Dolby Digital オーディオファイルです.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "サポートしているオーディオファイル形式、WAV や AIFF などに変換する必要があります。"
 
 #: import/Import.cpp:306
 #, c-format
-msgid ""
-"\"%s\" is an Ogg Speex audio file. \n"
+msgid "\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr ""
-"\"%s\"  は Ogg Speex オーディオファイルです.\n"
+msgstr "\"%s\"  は Ogg Speex オーディオファイルです.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "サポートしているオーディオファイル形式、WAV や AIFF などに変換する必要があります。"
 
 #: import/Import.cpp:312
 #, c-format
-msgid ""
-"\"%s\" is a video file. \n"
+msgid "\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
-msgstr ""
-"\"%s\"  は映像ファイルです.\n"
+msgstr "\"%s\"  は映像ファイルです.\n"
 "Audacity はこの形式のファイルをオープンできません.\n"
 "サポートしているオーディオファイル形式、たとえば WAV や AIFF などを抽出する必要があります."
 
 #: import/Import.cpp:317
 #, c-format
-msgid ""
-"Audacity did not recognize the type of the file '%s'.\n"
+msgid "Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
-msgstr ""
-"Audacity はこのファイル'%s'の種類を認識できませんでした.\n"
+msgstr "Audacity はこのファイル'%s'の種類を認識できませんでした.\n"
 "このファイルが非圧縮ファイルの場合、\"Raw ファイルの読み込み\" を試してみて下さい."
 
 #: import/Import.cpp:322
 #, c-format
-msgid ""
-"Audacity recognized the type of the file '%s',\n"
+msgid "Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
-msgstr ""
-"Audacity はこのファイル'%s'の種類を認識しましたが\n"
+msgstr "Audacity はこのファイル'%s'の種類を認識しましたが\n"
 "読み込むことができませんでした."
 
 #: import/ImportFFmpeg.cpp:34
@@ -7722,6 +7361,10 @@ msgstr "インデックス[%02x] コーデック[%S], 言語[%S], ビットレ
 msgid "FLAC files"
 msgstr "FLACファイル"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "基本的なテキストフォーマットによるファイルリスト"
@@ -7736,9 +7379,7 @@ msgstr "LOF ファイル中のウィンドウオフセットは無効です."
 #  i18n-hint: You do not need to translate "LOF"
 #  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:316
-#: import/ImportLOF.cpp:337
-#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:316 import/ImportLOF.cpp:337 import/ImportLOF.cpp:418
 #: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "LOF エラー"
@@ -7765,9 +7406,7 @@ msgstr "LOF ファイル中のトラックオフセットは無効です."
 msgid ": Filename too short."
 msgstr ": ファイル名が短すぎます."
 
-#: import/ImportMIDI.cpp:31
-#: import/ImportMIDI.cpp:39
-#: import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
 msgstr "ファイルが開けません"
@@ -7804,8 +7443,7 @@ msgstr "内部処理エラー"
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF と他の非圧縮形式"
 
-#: import/ImportPlugin.h:142
-#: import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
 #, c-format
 msgid "Importing %s"
 msgstr "'%s' ファイルを取り込む"
@@ -7904,159 +7542,59 @@ msgstr "波形を復号化"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr "%s %2.0f%% 完了. 処理ポイントを変更するにはクリック."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "オーディオ I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "自動実行"
 
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (モノラル)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "ふるまい"
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (ステレオ)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "自動実行モードでは、エフェクトを適用しない (&D)"
 
-#: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "プレイバック"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "クリーンスピーチモード (カスタマイズされたGUI) (&e)"
 
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "デバイス:"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "インタフェイス"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:124
-#: prefs/MidiIOPrefs.cpp:121
+#: prefs/AudioIOPrefs.cpp:124 prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "利用中:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "ポートオーディオ v"
+#: prefs/AudioIOPrefs.cpp:117 prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "プレイバック"
 
-#: prefs/AudioIOPrefs.cpp:135
-#: prefs/MidiIOPrefs.cpp:132
+#: prefs/AudioIOPrefs.cpp:135 prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
 msgstr "レコーディング"
 
-#: prefs/AudioIOPrefs.cpp:141
-#: prefs/MidiIOPrefs.cpp:138
+#: prefs/AudioIOPrefs.cpp:141 prefs/MidiIOPrefs.cpp:138
 msgid "Channels"
 msgstr "チャンネル:"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "スルー再生"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "オーバーダブ: 新しいレコーディングしながら他のトラックを再生 (&P)"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "ハードウェアによるスルー再生 (録音中にその新しいトラックを再生) (&H)"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "ソフトウェアによるスルー再生 (録音中にその新しいトラックを再生) (&S)"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "ソフトウェアによるスルー再生 (録音中にその新しいトラックを再生) (&S)"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(\"stereo mix\"を録音する場合はチェックをはずしてください。)"
-
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "エフェクトプレビュー"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "プレビューの長さ:"
-
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "カットプレビュー"
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr "カット領域の前にプレビュー"
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr "カット領域の後にプレビュー:"
-
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "レイテンシー"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid ""
-"Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-"オーディオをバッファへ送る時間: \n"
-"(大きいとより遅れます)"
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid ""
-"Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-"レイテンシー補正:\n"
-"(負の値は過去を意味する)"
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr "再生時に時間を見る:"
-
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "短い期間:"
-
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "長い期間:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "自動実行"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "ふるまい"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "自動実行モードでは、エフェクトを適用しない (&D)"
+#: prefs/AudioIOPrefs.cpp:102 prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (モノラル)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "クリーンスピーチモード (カスタマイズされたGUI) (&e)"
+#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (ステレオ)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:267
 msgid "Directories"
 msgstr "ディレクトリ"
@@ -8073,34 +7611,31 @@ msgstr "位置:"
 msgid "Free Space:"
 msgstr "空き容量:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "自動保存"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "分割したフォルダにプロジェクトのコピーを自動保存"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "自動保存頻度:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "分"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "オーディオキャッシュ"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr "RAM (通常は遅いデバイス、しかし長いファイルや録音で破滅することがある)を用いた再生あるいは録音"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "テンポラリディレクトリの指定"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -8119,107 +7654,6 @@ msgstr "ディレクトリ %s は書き込みできません"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "変更されたテンポラリディレクトリは Audacity を再起動するまで有効になりません"
 
-#: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "読み込みと書き出し"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "MP3 書き出しライブラリ"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "MP3 ライブラリバージョン:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "MP3 ライブラリ:"
-
-#: prefs/FileFormatPrefs.cpp:96
-#: prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr "位置づける(&L)"
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3 ライブラリ:"
-
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "ダウンロード (&D)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "FFmpeg 読み込み/書き出しライブラリ"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "FFmpeg ライブラリバージョン:"
-
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "FFmpeg ライブラリ:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "注意: 書き出し品質オプションは書き出し画面でオプションボタンをクリックして選ぶことができます。\n"
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "非圧縮オーディオファイルを取り込む場合"
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "編集の前に非圧縮のオーディオファイルをコピーする (より安全です) (&M)"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "非圧縮のオーディオファイルから直接読み込みます (高速) (&R)"
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr "全てのトラックを基準化する (&N)"
-
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "他のオーディオファイルに依存するプロジェクトを保存するとき"
-
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "常に全てのオーディオをプロジェクトにコピーする(最も安全) (&c)"
-
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "いかなるオーディオもコピーしません (&D)"
-
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "ユーザに確認する (&A)"
-
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "トラックの書き出し時"
-
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "常に全てのトラックをステレオあるいはモノラルチャンネルにミックスダウンする (&l)"
-
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "カスタムミックスを使用 (例えば5.1マルチチャンネルファイルへの出力) (&U)"
-
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "メタデータエディタを書き出しの前に表示 (&h)"
-
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "インタフェイス"
-
 #: prefs/GUIPrefs.cpp:42
 msgid "In Browser"
 msgstr "ブラウズザ上"
@@ -8228,77 +7662,29 @@ msgstr "ブラウズザ上"
 msgid "From Internet"
 msgstr "インターネットより"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "単純"
-
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "再生しながら表示を更新 (&U)"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "最後のウィンドウを閉じると Audacity を完全に終了します (&o)"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "選択領域の左右両端のドラッグを可能 (&d)"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr "オーディオ I/O ボタンを人間工学的順序とする (&g)"
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "トラックを縦にズームして自動的に合わせる (&f)"
-
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"トラックのフォーカスを移動\" トラックを環状に繰り返して移動 (&y)"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "あるクリップを編集することで、他のクリップを移動することが可能 (&c)"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "もし全く選択されていないなら、全てのオーディオを選択 (&S)"
-
-#: prefs/GUIPrefs.cpp:110
-msgid "&Beep on completion of longer activities"
-msgstr "長い処理が完了したときにビープを鳴らす (&B)"
-
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "表示/隠す"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "線を切れるようにする(&l)"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "テンポラリファイルに関する警告を表示 (&t)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "もしプロジェクトが空であっても、保存の際にプロンプトを表示 (&v)"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "プログラム開始時にようこそ画面を表示 (&W)"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
-msgstr "モード"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
-msgstr "自動実行モードでは、エフェクトを適用しない (&p)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "波形(dB)表示における表示範囲の最小"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
 #: prefs/GUIPrefs.cpp:141
 msgid "-36 dB (shallow range for high-amplitude editing)"
@@ -8324,29 +7710,89 @@ msgstr "-120dB (可聴範囲の限界付近)"
 msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr "-145 dB (PCM 24bit サンプリングの範囲)"
 
-#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#  know the correct technical word.
-#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#  know the correct technical word.
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "既定の表示モード"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "表示"
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "その他のインタフェースの選択"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr "オーディオ I/O ボタンを人間工学的順序とする (&g)"
+
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
 #  i18n-hint: The name of the Help menu
 #: prefs/GUIPrefs.cpp:167
 msgid "Help:"
 msgstr "ヘルプ:"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "ソロボタン:"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
+msgstr "最後のウィンドウを閉じると Audacity を完全に終了します (&o)"
+
+#: prefs/GUIPrefs.cpp:110
+msgid "&Beep on completion of longer activities"
+msgstr "長い処理が完了したときにビープを鳴らす (&B)"
+
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
+msgstr "モード"
+
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
+msgstr "自動実行モードでは、エフェクトを適用しない (&p)"
+
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
+msgstr "読み込みと書き出し"
+
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "非圧縮オーディオファイルを取り込む場合"
+
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "編集の前に非圧縮のオーディオファイルをコピーする (より安全です) (&M)"
+
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "非圧縮のオーディオファイルから直接読み込みます (高速) (&R)"
+
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr "全てのトラックを基準化する (&N)"
+
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr "トラックの書き出し時"
+
+#: prefs/FileFormatPrefs.cpp:160
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "常に全てのトラックをステレオあるいはモノラルチャンネルにミックスダウンする (&l)"
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "カスタムミックスを使用 (例えば5.1マルチチャンネルファイルへの出力) (&U)"
+
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
+msgstr "メタデータエディタを書き出しの前に表示 (&h)"
+
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "キーボード"
 
@@ -8370,22 +7816,26 @@ msgstr "セット (&e)"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "メモ: Cmd+Q で終了. 他のキー全ては有効です."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "既定値 (&D)"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "キーの組み合わせ"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "キーボードショートカットの書き出し:"
+#: prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "アンドゥ"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "キーボードショートカットの保存時にエラーが発生しました"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:198
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -8395,21 +7845,79 @@ msgstr "Audacty のキーボードショートカットが定義されている
 msgid "Error loading keyboard shortcuts"
 msgstr "キーボードショートカットの読み込み時にエラーが発生しました"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "キーボードショートカットの書き出し:"
+
+#: prefs/KeyConfigPrefs.cpp:183
+msgid "Error saving keyboard shortcuts"
+msgstr "キーボードショートカットの保存時にエラーが発生しました"
+
 #: prefs/KeyConfigPrefs.cpp:243
 #, c-format
-msgid ""
-"The keyboard shortcut '%s' is already assigned to:\n"
+msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr ""
-"キーボードショートカット `%s' は既に \n"
+msgstr "キーボードショートカット `%s' は既に \n"
 "\n"
 "`%s' に割り当てられています。"
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "アンドゥ"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "MP3 書き出しライブラリ"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "MP3 ライブラリバージョン:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "MP3 ライブラリ:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr "位置づける(&L)"
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3 ライブラリ:"
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "ダウンロード (&D)"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg 読み込み/書き出しライブラリ"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg ライブラリバージョン:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "FFmpeg ライブラリ:"
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "オーディオ I/O"
+
+#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "ポートオーディオ v"
+
+#: prefs/AudioIOPrefs.cpp:147 prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr "スルー再生"
 
 #: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
@@ -8423,6 +7931,10 @@ msgstr "ハードウェアによるスルー再生 (録音中にその新しい
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "ソフトウェアによるスルー再生 (録音中にその新しいトラックを再生) (&S)"
 
+#: prefs/AudioIOPrefs.cpp:176 prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr "カットプレビュー"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr "カット領域の前にプリビュー:"
@@ -8431,6 +7943,10 @@ msgstr "カット領域の前にプリビュー:"
 msgid "Play after cut region:"
 msgstr "カット領域の後にプリビュー:"
 
+#: prefs/AudioIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
+msgstr "レイテンシー"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr "オーディオからバッファへ:"
@@ -8443,12 +7959,23 @@ msgstr "レイテンシー補正:"
 msgid "Seek Time"
 msgstr "時刻の探索"
 
+#: prefs/AudioIOPrefs.cpp:206 prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr "短い期間:"
+
+#: prefs/AudioIOPrefs.cpp:208 prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr "長い期間:"
+
+#: prefs/AudioIOPrefs.cpp:168 prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr "エフェクトプレビュー"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr "プレビュー時に再生:"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "マウス"
 
@@ -8468,37 +7995,26 @@ msgstr "コマンドアクション"
 msgid "Buttons"
 msgstr "ボタン"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "左-クリック"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "選択"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "選択位置を設定"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "左-ドラッグ"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "選択範囲を設定"
 
@@ -8526,12 +8042,8 @@ msgstr "Ctrl-Left-Click"
 msgid "Set Selection Point and Play"
 msgstr "選択位置を設定して再生"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "拡大"
 
@@ -8539,9 +8051,7 @@ msgstr "拡大"
 msgid "Zoom in on Point"
 msgstr "このポイントを拡大"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "この範囲を拡大"
 
@@ -8549,18 +8059,15 @@ msgstr "この範囲を拡大"
 msgid "same as right-drag"
 msgstr "左ドラッグと同じです"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "右クリック"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "1段階縮小"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "右ドラッグ"
 
@@ -8596,8 +8103,7 @@ msgstr "シフト-左ボタン-ドラッグ"
 msgid "Time shift all clips in track"
 msgstr "トラック内での全てのクリップの時間をシフト"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "コントロール-左ボタン-ドラッグ"
 
@@ -8613,9 +8119,7 @@ msgstr "増幅域を変更"
 msgid "Change Sample"
 msgstr "サンプルの変更"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "ペンシル"
@@ -8636,26 +8140,20 @@ msgstr "いくつかのサンプルを変更"
 msgid "Change ONE Sample only"
 msgstr "単一サンプルのみ変更"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "マルチ"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "セレクトツールと同じです"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "拡大ツールと同じです"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "いずれでも"
 
@@ -8683,10 +8181,62 @@ msgstr "コントロール-ホイール-回転"
 msgid "Zoom in or out"
 msgstr "拡大もしくは縮小"
 
+#: prefs/AudioIOPrefs.cpp:171
+msgid "Length of preview:"
+msgstr "プレビューの長さ:"
+
+#: prefs/AudioIOPrefs.cpp:179
+msgid "Preview before cut region:"
+msgstr "カット領域の前にプレビュー"
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview after cut region:"
+msgstr "カット領域の後にプレビュー:"
+
+#: prefs/AudioIOPrefs.cpp:203
+msgid "Seek Time when playing"
+msgstr "再生時に時間を見る:"
+
 #: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Audacity の設定"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr "他のオーディオファイルに依存するプロジェクトを保存するとき"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr "常に全てのオーディオをプロジェクトにコピーする(最も安全) (&c)"
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "いかなるオーディオもコピーしません (&D)"
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr "ユーザに確認する (&A)"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "自動保存"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "分割したフォルダにプロジェクトのコピーを自動保存"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "自動保存頻度:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "分"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "矩形"
@@ -8711,49 +8261,48 @@ msgstr "既定サンプルレート:"
 msgid "Default Sample Format:"
 msgstr "既定サンプルフォーマット:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "リアルタイムサンプルレートコンバーター:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "高性能サンプリングレートコンバーター:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "リアルタイムディザ:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "高性能ディザ"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "変換"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "サンプルレートコンバーター:"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "ディザ"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "リアルタイム:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "オーバーダブ: 新しいレコーディングしながら他のトラックを再生 (&P)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "高性能:"
+#: prefs/AudioIOPrefs.cpp:152
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "ハードウェアによるスルー再生 (録音中にその新しいトラックを再生) (&H)"
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "賢い録音"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "ソフトウェアによるスルー再生 (録音中にその新しいトラックを再生) (&S)"
 
-#: prefs/SmartRecordPrefs.cpp:64
-#: prefs/SmartRecordPrefs.cpp:66
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(\"stereo mix\"を録音する場合はチェックをはずしてください。)"
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
+
+#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
 msgstr "音があるときに録音"
 
@@ -8761,23 +8310,58 @@ msgstr "音があるときに録音"
 msgid "Sound Activation Level (dB):"
 msgstr "音があるときのレベル (dB):"
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "スペクトログラム"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT サイズ"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - 最も広いバンド幅"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - デフォルト"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - 最も狭いバンド幅"
@@ -8786,21 +8370,26 @@ msgstr "32768 - 最も狭いバンド幅"
 msgid "4096 - most narrowband"
 msgstr "4096 - 狭いバンド幅"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "窓関数の種類:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "FFTの読み飛ばし点数"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "表示"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "グレイスケール (&G)"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8810,17 +8399,17 @@ msgstr "最低周波数 (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "最高周波数 (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "Yグリッド (&Y)"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "音符を見付ける (&F)"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "音符を量子化(クオンタイズ) (&Q)"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8830,6 +8419,14 @@ msgstr "最小振幅 (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "最大ノート番号(1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "音符を見付ける (&F)"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "音符を量子化(クオンタイズ) (&Q)"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "最高周波数は整数にしなくてはなりません"
@@ -8846,20 +8443,66 @@ msgstr "最低周波数は整数にしなくてはなりません"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "最低周波数少なくとも 0Hzでなければなりません。"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "最低振幅(dB)は整数でなければなりません"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "最大ノート番号は 1から 128までの整数でなければなりません"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "テーマ"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "情報"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "テーマは実験的な機能です。\n"
+"\n"
+"使ってみるなら、\"テーマキャッシュを保存\" をクリックして\n"
+"から、Gimpのような画像エディタで画像と色を修正した後、\n"
+"ImageCacheVxx.png という名前で\n"
+"保存してください。\n"
+"\n"
+"\"テーマキャッシュのロード\"をクリックすると、色や画像が修正されたものを\n"
+"Audacity の背景として読み込みます。"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8890,104 +8533,96 @@ msgstr "ファイル保存"
 msgid "Load Files"
 msgstr "ファイルの読み込み"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "情報"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "単純"
 
-#: prefs/ThemePrefs.cpp:129
-msgid ""
-"Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "再生しながら表示を更新 (&U)"
+
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "トラックを縦にズームして自動的に合わせる (&f)"
+
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "既定の表示モード"
+
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "もし全く選択されていないなら、全てのオーディオを選択 (&S)"
+
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "線を切れるようにする(&l)"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "選択領域の左右両端のドラッグを可能 (&d)"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"トラックのフォーカスを移動\" トラックを環状に繰り返して移動 (&y)"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "あるクリップを編集することで、他のクリップを移動することが可能 (&c)"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr "ソロボタン:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
-"テーマは実験的な機能です。\n"
-"\n"
-"使ってみるなら、\"テーマキャッシュを保存\" をクリックして\n"
-"から、Gimpのような画像エディタで画像と色を修正した後、\n"
-"ImageCacheVxx.png という名前で\n"
-"保存してください。\n"
-"\n"
-"\"テーマキャッシュのロード\"をクリックすると、色や画像が修正されたものを\n"
-"Audacity の背景として読み込みます。\n"
 
-#: prefs/ThemePrefs.cpp:134
-msgid ""
-"You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
 msgstr ""
-"Audacity を'Sourcery出力'外部ボタンつきでコンパイルしています。\n"
-"これは最初から含まれているCバージョンのイメージキャッシュを\n"
-"保存することになります。\n"
 
-#: prefs/ThemePrefs.cpp:139
-msgid ""
-"If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
 msgstr ""
-"もし `起動時にテーマキャッシュを読み込む' がチェックされていた場合、\n"
-"テーマキャッシュはプログラムが開始されるときに\n"
-"読み込まれます。\n"
-"\n"
 
-#: prefs/ThemePrefs.cpp:142
-msgid ""
-"Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
 msgstr ""
-"個々のテーマファイルを保存したり読み込むことは、\n"
-"画像にそれぞれの別個のファイルを必要とします。\n"
-"しかし、それ以外では同じ考え方です。\n"
-"\n"
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "ポーズ"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "再生"
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr "再生 (シフトを押すとループ再生)"
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
+#: Menus.cpp:997
+msgid "Pause"
+msgstr "停止"
+
+#: Menus.cpp:996
 msgid "Stop"
 msgstr "停止"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "初めまで進める"
+#: toolbars/ControlToolBar.cpp:195
+msgid "Clean Speech"
+msgstr "クリーンスピーチ"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "終わりまで進める"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "再生 (シフトを押すとループ再生)"
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr "録音 (追加録音のためにシフト)"
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr "クリーンスピーチ"
-
-#: toolbars/ControlToolBar.cpp:540
-#: toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
 msgstr "音ファイルの読み込み時にエラーが発生しました"
 
@@ -8999,13 +8634,11 @@ msgstr "既にひとつのトラック、あるいはひとつ以上のプロジ
 msgid "Recording not permitted"
 msgstr "録音は許可されていません"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "再生デバイス"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "入力デバイス"
 
@@ -9029,29 +8662,21 @@ msgstr "拡大"
 msgid "Zoom Out"
 msgstr "縮小"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "拡大切り替え"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "選択部分を合わせる"
-
 #: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "選択範囲をウィンドウに合わせる"
 
 #: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "プロジェクトを合わせる"
-
-#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "プロジェクトをウィンドに合わせる"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "メーター"
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr "選択部分を合わせる"
+
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
+msgstr "プロジェクトを合わせる"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -9085,8 +8710,7 @@ msgstr "出力ボリューム"
 msgid "Slider Output"
 msgstr "出力スライダー"
 
-#: toolbars/MixerToolBar.cpp:101
-#: widgets/Meter.cpp:874
+#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:874
 msgid "Input Volume"
 msgstr "インプットボリューム"
 
@@ -9098,22 +8722,27 @@ msgstr "入力スライダー"
 msgid "Input Source"
 msgstr "入力ソース"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr "選択"
 
-#: toolbars/SelectionBar.cpp:135
-#: toolbars/SelectionBar.cpp:194
+#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr "プロジェクトのサンプリング周波数 (Hz):"
 
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:255
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
 msgstr "選択開始:"
 
-#: toolbars/SelectionBar.cpp:163
-#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:163 toolbars/SelectionBar.cpp:164
 #: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr "長さ"
@@ -9122,15 +8751,13 @@ msgstr "長さ"
 msgid "hidden"
 msgstr "隠された"
 
-#: toolbars/SelectionBar.cpp:184
-#: toolbars/SelectionBar.cpp:272
+#: toolbars/SelectionBar.cpp:184 toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr "再生位置"
 
 #  i18n-hint: Set snap-to mode on or off
 #  i18n-hint: Set snap-to mode on or off
-#: toolbars/SelectionBar.cpp:236
-#: toolbars/SelectionBar.cpp:241
+#: toolbars/SelectionBar.cpp:236 toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr "スナップモードを有効"
 
@@ -9151,8 +8778,7 @@ msgstr "選択の最後"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity %s ツールバー"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "ツールドック"
 
@@ -9184,34 +8810,6 @@ msgstr "左=拡大, 右=縮小, 中央=通常"
 msgid "Click and drag to move a track in time"
 msgstr "トラックの時間を移動するためにはクリックした後にドラッグして下さい"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "ツール"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "選択ツール"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "エンベロープツール"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "タイムシフトツール"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "拡大ツール"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "ドローツール"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "マルチツールモード"
@@ -9220,24 +8818,11 @@ msgstr "マルチツールモード"
 msgid "Slide Tool"
 msgstr "スライドツール"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "マルチツール"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "編曲"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "選択したスピードで再生"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "スピードを変えて再生"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "再生速度"
 
@@ -9245,74 +8830,38 @@ msgstr "再生速度"
 msgid "Adjust left selection to next onset"
 msgstr "左側の選択部分を次の始まり部分に合わせる"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "左でオン"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "前のオフセットに左の選択部分を合わせる"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "右でオン"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "前のオフセットに右の選択部分を合わせる"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "左でオフ"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "右側の選択部分を次の始まり部分に合わせる"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "右でオン"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "カーソル付近の音の領域を選択"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "サウンドを選択"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "カーソル付近の無音の領域を選択"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "無音を選択"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "単語から自動的にラベルを作成"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "ラベルを付ける"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "選択範囲にラベルを付ける"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "ラベルを付ける"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "ボイスキーの校正"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "æ ¡æ­£"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "感度調整"
@@ -9345,6 +8894,46 @@ msgstr "方向の変化(高い閾値)"
 msgid "Key type"
 msgstr "キータイプ"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "スピードを変えて再生"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "左でオン"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "右でオン"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "左でオフ"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "右でオン"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "サウンドを選択"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "無音を選択"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "ラベルを付ける"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "ラベルを付ける"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "æ ¡æ­£"
+
 #: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr "(無効)"
@@ -9362,8 +8951,7 @@ msgstr "ボタン"
 #  i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612
-#: widgets/Meter.cpp:248
+#: widgets/ASlider.cpp:612 widgets/Meter.cpp:248
 msgid "L"
 msgstr "L"
 
@@ -9372,8 +8960,7 @@ msgstr "L"
 #  i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615
-#: widgets/Meter.cpp:250
+#: widgets/ASlider.cpp:615 widgets/Meter.cpp:250
 msgid "R"
 msgstr "R"
 
@@ -9423,8 +9010,7 @@ msgstr "グラバー"
 msgid "%d rows, %d columns"
 msgstr "%d 行, %d 列"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "%d 行"
@@ -9466,13 +9052,11 @@ msgid "Mix Volume"
 msgstr "ミキシングボリューム"
 
 #: widgets/Meter.cpp:1145
-msgid ""
-"This determines how often the meter is refreshed.\n"
+msgid "This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr ""
-"これは、どれだけ頻繁にメーターが再描画されるかを決定します。\n"
+msgstr "これは、どれだけ頻繁にメーターが再描画されるかを決定します。\n"
 "もし、遅いPCを使っている場合は、低いリフレッシュレート(1秒あたり\n"
 "30回かそれ以下)を使って、オーディオの品質にメータ表示が影響を\n"
 "与えないようにするとよいでしょう。"
@@ -9505,8 +9089,7 @@ msgstr "残り時間:"
 msgid "Cancel"
 msgstr "キャンセル"
 
-#: widgets/Ruler.cpp:1445
-#: widgets/Ruler.cpp:1446
+#: widgets/Ruler.cpp:1445 widgets/Ruler.cpp:1446
 msgid "Vertical Ruler"
 msgstr "垂直方向"
 
@@ -9765,3 +9348,15 @@ msgstr "エラー: %hs (%lu 行目)"
 msgid "Could not load file: \"%s\""
 msgstr "ファイルが開けません: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ka.po b/locale/ka.po
index 5522e9f..4545366 100644
--- a/locale/ka.po
+++ b/locale/ka.po
@@ -17,9 +17,7 @@ msgstr "Project-Id-Version: AUDACITY.PO\n"
 "X-Poedit-Bookmarks: -1,1872,-1,-1,-1,-1,-1,-1,-1,-1\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: AboutDialog.cpp:143
-#: AudacityApp.cpp:807
-#: Menus.cpp:955
+#: AboutDialog.cpp:143 AudacityApp.cpp:807 Menus.cpp:955
 msgid "&About Audacity..."
 msgstr "Audacity-ის &შესახებ..."
 
@@ -32,12 +30,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Audacity მოხალისეთა ჯგუფის მიერ დაწერილი უფასო პროგრამაა <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a>, რომელიც მსოფლიოს მასშტაბითაა გავრცელებული <a href=\"http://sourceforge.net\">SourceForge.net</a>. Audacity მუშაობს 98 და მომდევნოზე, Mac OS X, Linux და სხვა Unix ოპერაციულ სისტემებზე. უფრო ძველი  Audacity ხელმისაწვდომია Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "ეს Beta პროგრამის ბეტა ვერსიაა. შეიძლება შეიცავდეს ხარვეზებსა და დაუმთავრებელ ფუნქციებს. ჩვენ თქვენს გამოხმაურებას ველით ხარვეზებისა და ფუნქციონალობის მოთხოვნით: <b>feedback at audacityteam.org</b>. დახმარებისათვის  მოინახულეთ <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "ეს პროგრამის სტაბილური, დასრულებული ვერსიაა, თუმცა, თუ რაიმე ხარვეზს იპოვით, გთხოვთ მოგვწეროთ:<b>feedback at audacityteam.org</b>. Audacity-ის გამოყენების ინსტრუქციისთვის,მოინახულეთ   <a href=\"http://audacityteam.org/forum/\">ფორუმი</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -45,8 +43,7 @@ msgstr "ეს პროგრამის სტაბილური, და
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "მთარგმნელის_შესახებ"
 
@@ -89,7 +86,8 @@ msgid "Special thanks:"
 msgstr "განსაკუთრებული მადლობა:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+#, fuzzy
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr "<b>Audacity&reg;</b> პროგრამა copyright &copy; 1999-2008 Audacity ჯგუფი. <br>The name <b>Audacity&reg;</b>  Dominic Mazzoni-ის რეგისტრირებული სავაჭრო ნიშანი."
 
 #: AboutDialog.cpp:258
@@ -97,14 +95,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:304
-#: AboutDialog.cpp:317
-#: AboutDialog.cpp:473
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
 msgid "Build Information"
 msgstr "აგების ინფორმაცია"
 
-#: AboutDialog.cpp:310
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:310 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "გააქტიურებულია"
 
@@ -117,33 +112,27 @@ msgid "File Format Support"
 msgstr "ფაილსი ფორმატის მხარდაჭერა"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:331
-#: AboutDialog.cpp:333
+#: AboutDialog.cpp:331 AboutDialog.cpp:333
 msgid "MP3 Importing"
 msgstr "MP3 იმპორტირება"
 
-#: AboutDialog.cpp:340
-#: AboutDialog.cpp:343
+#: AboutDialog.cpp:340 AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ogg Vorbis იმპორტი და ექსპორტი"
 
-#: AboutDialog.cpp:347
-#: AboutDialog.cpp:350
+#: AboutDialog.cpp:347 AboutDialog.cpp:350
 msgid "ID3 tag support"
 msgstr "ID3 ჭდეების მხარდაჭერა"
 
-#: AboutDialog.cpp:357
-#: AboutDialog.cpp:360
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr "FLAC  იმპორტი და ექსპორტი"
 
-#: AboutDialog.cpp:365
-#: AboutDialog.cpp:368
+#: AboutDialog.cpp:365 AboutDialog.cpp:368
 msgid "MP2 export"
 msgstr "MP2  ექსპორტი"
 
-#: AboutDialog.cpp:373
-#: AboutDialog.cpp:376
+#: AboutDialog.cpp:373 AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr "იმპორტი QuickTime-ით"
 
@@ -152,15 +141,12 @@ msgstr "იმპორტი QuickTime-ით"
 msgid "Core Libraries"
 msgstr "ძირითადი ბიბლიოთეკები"
 
-#: AboutDialog.cpp:389
-#: AboutDialog.cpp:392
-#: AboutDialog.cpp:395
+#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr "სანიმუშე კოეფიციენტის კონვერსია"
 
-#: AboutDialog.cpp:402
-#: AboutDialog.cpp:405
+#: AboutDialog.cpp:402 AboutDialog.cpp:405
 msgid "Audio playback and recording"
 msgstr "აუდიოს დაკვრა და ჩაწერა"
 
@@ -168,24 +154,17 @@ msgstr "აუდიოს დაკვრა და ჩაწერა"
 msgid "Features"
 msgstr "ფუნქციები"
 
-#: AboutDialog.cpp:422
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:430
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:438
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:446
-#: AboutDialog.cpp:449
+#: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
+#: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
+#: AboutDialog.cpp:446 AboutDialog.cpp:449
 msgid "Plug-in support"
 msgstr "მოდულის მხარდაჭერა"
 
-#: AboutDialog.cpp:454
-#: AboutDialog.cpp:457
+#: AboutDialog.cpp:454 AboutDialog.cpp:457
 msgid "Sound card mixer support"
 msgstr "ხმის ბარათის მიქსერის მხარდაჭერა"
 
-#: AboutDialog.cpp:462
-#: AboutDialog.cpp:465
+#: AboutDialog.cpp:462 AboutDialog.cpp:465
 msgid "Pitch and Tempo Change support"
 msgstr "Pitch და Tempo შეცვლის მხარდაჭერა"
 
@@ -193,8 +172,7 @@ msgstr "Pitch და Tempo შეცვლის მხარდაჭერა"
 msgid "Program build date: "
 msgstr "პროგრამის აგების თარიღი:"
 
-#: AboutDialog.cpp:480
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:480 AboutDialog.cpp:482
 msgid "Build type:"
 msgstr "აგების ტიპი:"
 
@@ -219,16 +197,12 @@ msgstr "პარამეტრების საქაღალდე:"
 msgid "GPL License"
 msgstr "GPL ლიცენზია:"
 
-#: AudacityApp.cpp:507
-#: Project.cpp:1844
+#: AudacityApp.cpp:507 Project.cpp:1844
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s უკვე გახსნილია სხვა ფანჯარაში."
 
-#: AudacityApp.cpp:509
-#: Project.cpp:1846
-#: Project.cpp:1951
-#: Project.cpp:2095
+#: AudacityApp.cpp:509 Project.cpp:1846 Project.cpp:1951 Project.cpp:2095
 #: Project.cpp:2232
 msgid "Error opening project"
 msgstr "პროექტის გახსნის შეცდომა"
@@ -254,19 +228,28 @@ msgstr "შენატანის მთვლელი"
 msgid "Output Meter"
 msgstr "გამონატანის მთვლელი"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
+#: Menus.cpp:196
+msgid "&New"
+msgstr "&ახალი"
+
+#: Menus.cpp:198
+msgid "&Open..."
+msgstr "&გახსნა..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&პარამეტრები...\tCtrl+,"
+msgid "&Preferences..."
+msgstr "&პარამეტრები..."
 
-#: AudacityApp.cpp:901
-#: AudacityApp.cpp:978
+#: AudacityApp.cpp:901 AudacityApp.cpp:978
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "%ld-ის ბლოკის ზომის გამოყენება\n"
 
-#: AudacityApp.cpp:923
-#: AudacityApp.cpp:993
+#: AudacityApp.cpp:923 AudacityApp.cpp:993
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "ბრძანების სტრიქონის უცნობი პარამეტრი: %s\n"
@@ -383,18 +366,16 @@ msgstr "შეცდომა: "
 msgid "Error Initializing Audio"
 msgstr "აუდიოს დაწყების შეცდომა"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1375
 msgid "Latency problem"
 msgstr "ლატენტურობის პრობლემა"
 
-#: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "ავტომატური აღდგენა მარცხის მერე"
@@ -409,8 +390,7 @@ msgstr "ზოგიერთი პროექტი არ შეინახ
 msgid "Recoverable projects"
 msgstr "აღდგენადი პროექტები"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2041
+#: AutoRecovery.cpp:78 Tags.cpp:2041
 msgid "Name"
 msgstr "სახელი"
 
@@ -440,42 +420,26 @@ msgstr "დარწმუნებული ხართ, რომ არ გ
 msgid "Confirm?"
 msgstr "დავადასტურო?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "შეუძლებელია ფაილების დათვლა ავტო შენახვის დირექტორიაში"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:3053
-#: Menus.cpp:3065
-#: Menus.cpp:5182
-#: Project.cpp:2054
-#: Project.cpp:3615
-#: Project.cpp:3694
-#: TrackPanel.cpp:6385
-#: WaveTrack.cpp:598
-#: WaveTrack.cpp:617
-#: WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077
-#: WaveTrack.cpp:2087
-#: effects/Effect.cpp:513
-#: export/ExportMP2.cpp:233
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:247
-#: toolbars/ControlToolBar.cpp:542
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3053 Menus.cpp:3065
+#: Menus.cpp:5182 Project.cpp:2054 Project.cpp:3615 Project.cpp:3694
+#: TrackPanel.cpp:6385 WaveTrack.cpp:598 WaveTrack.cpp:617 WaveTrack.cpp:1058
+#: WaveTrack.cpp:1077 WaveTrack.cpp:2087 effects/Effect.cpp:513
+#: export/ExportMP2.cpp:233 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:247 toolbars/ControlToolBar.cpp:542
 #: toolbars/ControlToolBar.cpp:871
 msgid "Error"
 msgstr "შეცდომა"
 
-#: BatchCommandDialog.cpp:57
-#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:57 BatchCommandDialog.cpp:62
 #: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "ბრძანების არჩევა"
 
-#: BatchCommandDialog.cpp:82
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&ბრძანება"
@@ -484,8 +448,7 @@ msgstr "&ბრძანება"
 msgid "&Edit Parameters"
 msgstr "&პარამეტრების რედაქტირება"
 
-#: BatchCommandDialog.cpp:91
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:91 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&პარამეტრები"
 
@@ -531,8 +494,7 @@ msgstr "%s-ის გააქტიურება შემდეგი პა
 "\n"
 "%s"
 
-#: BatchCommands.cpp:653
-#: BatchCommands.cpp:658
+#: BatchCommands.cpp:653 BatchCommands.cpp:658
 msgid "Test Mode"
 msgstr "ტესტირების რეჟიმი"
 
@@ -541,8 +503,7 @@ msgstr "ტესტირების რეჟიმი"
 msgid "Apply %s"
 msgstr "%s-ის გააქტიურება"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "ჯაჭვის გააქტიურება"
@@ -567,23 +528,15 @@ msgstr "მიმდინარე &პროექტის გააქტი
 msgid "Apply to &Files..."
 msgstr "&ფაილებზე გააქტიურება"
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2080
-#: Tags.cpp:2084
-#: Tags.cpp:2384
-#: Tags.cpp:2388
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:453
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2080
+#: Tags.cpp:2084 Tags.cpp:2384 Tags.cpp:2388 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:453
 #: effects/audiounits/AudioUnitEffect.cpp:887
 msgid "&Cancel"
 msgstr "&გაუქმება"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "ჯაჭვი არაა მონიშნული"
 
@@ -620,8 +573,7 @@ msgstr "გააქტიურება..."
 msgid "File"
 msgstr "ფაილი"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "ჯაჭვების რედაქტირება"
@@ -630,19 +582,12 @@ msgstr "ჯაჭვების რედაქტირება"
 msgid "&Chains"
 msgstr "&ჯაჭვები"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:826
-#: Tags.cpp:1465
-#: Tags.cpp:2064
+#: BatchProcessDialog.cpp:435 Tags.cpp:826 Tags.cpp:1465 Tags.cpp:2064
 msgid "&Add"
 msgstr "&დამატება"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:128
-#: Tags.cpp:827
-#: Tags.cpp:1466
-#: Tags.cpp:2065
-#: TrackPanel.cpp:4176
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:827 Tags.cpp:1466
+#: Tags.cpp:2065 TrackPanel.cpp:4176
 msgid "&Remove"
 msgstr "&წაშლა"
 
@@ -656,8 +601,8 @@ msgstr "ჯაჭვი (ორჯერ დაუწკაპუნეთ ა
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "არა"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -746,8 +691,7 @@ msgstr "დისკის ზომა"
 msgid "Copy Selected Audio Into Project"
 msgstr "მონიშნული აუდიოდან  კოპირება პროექტში"
 
-#: Dependencies.cpp:308
-#: Dependencies.cpp:414
+#: Dependencies.cpp:308 Dependencies.cpp:414
 msgid "Cancel Save"
 msgstr "შენახვის გაუქმება"
 
@@ -759,8 +703,7 @@ msgstr "არ დააკოპიროთ არცერთი აუდი
 msgid "Copy All Audio into Project (Safer)"
 msgstr "ყველა აუდიო ფაილის პროექტში კოპირება (Safer)"
 
-#: Dependencies.cpp:321
-#: Dependencies.cpp:326
+#: Dependencies.cpp:321 Dependencies.cpp:326
 msgid "Ask me"
 msgstr "მკითხე"
 
@@ -794,9 +737,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "გაფრთხილება: ძალიან მცირე სივრცეა დარჩენილი ამ ნაწილზე.\n"
 "გთხოვთ მონიშნოთ სხვა დროებითი დირექტორია თქვენს პარამეტრებში."
 
-#: DirManager.cpp:223
-#: DirManager.cpp:254
-#: DirManager.cpp:337
+#: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
 msgid "Progress"
 msgstr "მიმდინარეობა"
 
@@ -851,8 +792,7 @@ msgstr "შეუძლებელია '%s'-ის სახელის გ
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1224
-#: DirManager.cpp:1515
+#: DirManager.cpp:1224 DirManager.cpp:1515
 msgid "Inspecting project file data..."
 msgstr "ფაილების მონაცემების გამოკვლევა.."
 
@@ -903,14 +843,9 @@ msgstr "წაშლის გარეშე გაგრძელება; 
 msgid "Close project immediately with no changes"
 msgstr "პროექტის მყისიერი დახურვა ცვლილებების გარეშე"
 
-#: DirManager.cpp:1340
-#: DirManager.cpp:1375
-#: DirManager.cpp:1421
-#: DirManager.cpp:1463
-#: export/Export.cpp:576
-#: export/Export.cpp:597
-#: export/Export.cpp:616
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1340 DirManager.cpp:1375 DirManager.cpp:1421
+#: DirManager.cpp:1463 export/Export.cpp:576 export/Export.cpp:597
+#: export/Export.cpp:616 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "გაფრთხილება"
 
@@ -933,14 +868,11 @@ msgstr "პროექტის შემოწმებისას აღმ
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "ნაკლული მონაცემების სიჩუმით ჩანაცვლება [შენახვისას მუდმივია]"
 
-#: DirManager.cpp:1372
-#: DirManager.cpp:1460
+#: DirManager.cpp:1372 DirManager.cpp:1460
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "ნაკლული მონაცემების სიჩუმით დროებითი ჩანაცვლება [მხოლოდ ეს სესია]"
 
-#: DirManager.cpp:1373
-#: DirManager.cpp:1419
-#: DirManager.cpp:1461
+#: DirManager.cpp:1373 DirManager.cpp:1419 DirManager.cpp:1461
 msgid "Close project immediately with no further changes"
 msgstr "პროექტის მყისიერი დახურვა შემდგომი ცვლილებების გარეშე"
 
@@ -1010,11 +942,11 @@ msgstr "მართკუთხედი"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1034,20 +966,17 @@ msgstr "FFmpeg მდებარეობის დადგენა"
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
 msgstr "Audacity-ის სჭირდება ფაილი %s აუდიოს იმპორტისა და ექსპორტისთვის FFmpeg-ის საშუალებით."
 
-#: FFmpeg.cpp:196
-#: export/ExportMP3.cpp:562
+#: FFmpeg.cpp:196 export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "%s'-ის მდებარეობა:"
 
-#: FFmpeg.cpp:205
-#: export/ExportMP3.cpp:571
+#: FFmpeg.cpp:205 export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "%s'-ის მოსაძებნად აქ დაუწკაპუნეთ -->"
 
-#: FFmpeg.cpp:211
-#: export/ExportMP3.cpp:577
+#: FFmpeg.cpp:211 export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "ამორჩევა..."
 
@@ -1062,8 +991,7 @@ msgstr ""
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:235
-#: export/ExportMP3.cpp:601
+#: FFmpeg.cpp:235 export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "სად არის %s'?"
@@ -1076,11 +1004,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr "FFmpeg ვერ მოიძებნა"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1103,9 +1032,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "სიხშირის ანალიზი"
 
-#: FreqWindow.cpp:139
-#: TrackPanel.cpp:556
-#: prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:139 TrackPanel.cpp:556 prefs/GUIPrefs.cpp:156
 msgid "Spectrum"
 msgstr "სპექტრი"
 
@@ -1128,14 +1055,11 @@ msgstr "გაუმჯობესებული ავტოკორექ
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150
-#: FreqWindow.cpp:154
+#: FreqWindow.cpp:150 FreqWindow.cpp:154
 msgid "Algorithm"
 msgstr "ალგორითმი"
 
-#: FreqWindow.cpp:169
-#: FreqWindow.cpp:173
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:169 FreqWindow.cpp:173 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "ზომა"
 
@@ -1145,8 +1069,7 @@ msgstr "ზომა"
 msgid " window"
 msgstr "ფანჯარა"
 
-#: FreqWindow.cpp:187
-#: FreqWindow.cpp:191
+#: FreqWindow.cpp:187 FreqWindow.cpp:191
 msgid "Function"
 msgstr "ფუნქცია"
 
@@ -1158,64 +1081,66 @@ msgstr "ლინეარული სიხშირე"
 msgid "Log frequency"
 msgstr "ჩანაწერის სიხშირე"
 
-#: FreqWindow.cpp:201
-#: FreqWindow.cpp:205
+#: FreqWindow.cpp:201 FreqWindow.cpp:205
 msgid "Axis"
 msgstr "ღერძი"
 
-#: FreqWindow.cpp:212
-#: LabelDialog.cpp:130
-#: Menus.cpp:241
-#: Menus.cpp:276
+#: FreqWindow.cpp:212 LabelDialog.cpp:130 Menus.cpp:241 Menus.cpp:276
 msgid "&Export..."
 msgstr "&ექსპორტი..."
 
-#: FreqWindow.cpp:213
-#: export/ExportCL.cpp:325
-#: export/ExportMultiple.cpp:347
+#: FreqWindow.cpp:213 export/ExportCL.cpp:325 export/ExportMultiple.cpp:347
 msgid "Export"
 msgstr "ექსპორტი"
 
-#: FreqWindow.cpp:216
-#: FreqWindow.cpp:217
-#: widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "დახურვა"
 
-#: FreqWindow.cpp:280
-#: FreqWindow.cpp:410
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:792
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123
-#: effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133
-#: effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408
-#: effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:367
-#: widgets/Meter.cpp:417
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1123 effects/Equalization.cpp:1125
+#: effects/Equalization.cpp:1133 effects/Equalization.cpp:1199
+#: effects/Equalization.cpp:1408 effects/Equalization.cpp:1419
+#: effects/Normalize.cpp:367 widgets/Meter.cpp:417
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295
-#: FreqWindow.cpp:450
-#: effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195
-#: import/ImportRaw.cpp:399
+#: FreqWindow.cpp:295 FreqWindow.cpp:450 effects/Equalization.cpp:1164
+#: effects/Equalization.cpp:1195 import/ImportRaw.cpp:399
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3969
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "სპექტრის აგებისთვის ყველა მონიშნული ტრეკს უნდა ჰქონდეს სემპლის თანაბარი კოეფიციენტი."
+
+#: Menus.cpp:3995
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "ზედმეტი აუდიო იყო მონიშნული. მხოლოდ პირველი %.1f წამის ანალიზი მოხდება."
+
 #: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "არ არის საკმარისი მონაცემები მონიშნული."
 
-#: FreqWindow.cpp:458
-#: effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:458 effects/AutoDuck.cpp:794
 msgid "s"
 msgstr "s"
 
@@ -1237,12 +1162,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "სპექტრული მონაცემების ექსპორტი როგორც:"
 
-#: FreqWindow.cpp:1087
-#: LabelDialog.cpp:603
-#: Menus.cpp:2555
-#: Project.cpp:2604
-#: Project.cpp:3667
-#: prefs/KeyConfigPrefs.cpp:182
+#: FreqWindow.cpp:1087 LabelDialog.cpp:603 Menus.cpp:2555 Project.cpp:2604
+#: Project.cpp:3667 prefs/KeyConfigPrefs.cpp:182
 msgid "Couldn't write to file: "
 msgstr "შეუძლებელია ფაილზე ჩაწერა:"
 
@@ -1254,6 +1175,21 @@ msgstr "სიხშირის  (Hz)\tდონე(dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Lag (seconds)\tFrequency (Hz)\tLevel"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "To [[welcome|Welcome screen]]"
@@ -1331,7 +1267,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 
 #: HelpText.cpp:244
@@ -1355,7 +1292,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1390,13 +1328,8 @@ msgstr "გასაუქმებელი დონეები"
 msgid "&Discard"
 msgstr "&გაუქმება"
 
-#: HistoryWindow.cpp:112
-#: Tags.cpp:2081
-#: Tags.cpp:2083
-#: Tags.cpp:2385
-#: Tags.cpp:2387
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
+#: HistoryWindow.cpp:112 Tags.cpp:2081 Tags.cpp:2083 Tags.cpp:2385
+#: Tags.cpp:2387 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
 #: export/ExportCL.cpp:399
 msgid "&OK"
 msgstr "&დიახ"
@@ -1405,8 +1338,7 @@ msgstr "&დიახ"
 msgid "Unable to determine"
 msgstr "შეუძლებელია დადგენა"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:385
+#: Internat.cpp:195 import/ImportRaw.cpp:385
 msgid "bytes"
 msgstr " ბაიტები"
 
@@ -1422,28 +1354,31 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "ტრეკი"
 
-#: LabelDialog.cpp:55
-#: Menus.cpp:4677
-#: Menus.cpp:4712
+#: LabelDialog.cpp:55 Menus.cpp:4677 Menus.cpp:4712
 msgid "Label"
 msgstr "იარლიყი"
 
-#: LabelDialog.cpp:56
-#: TimerRecordDialog.cpp:279
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:279
 msgid "Start Time"
 msgstr "საწყისი დრო"
 
-#: LabelDialog.cpp:57
-#: TimerRecordDialog.cpp:298
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:298
 msgid "End Time"
 msgstr "დასრულების დრო"
 
-#: LabelDialog.cpp:100
-#: Menus.cpp:713
+#: LabelDialog.cpp:100 Menus.cpp:713
 msgid "&Edit Labels"
 msgstr "&იარლიყების რედაქტირება"
 
@@ -1481,20 +1416,15 @@ msgstr "იარლიყის სახელები ცარიელი
 msgid "Confirm"
 msgstr "დადასტურება"
 
-#: LabelDialog.cpp:516
-#: Menus.cpp:4101
+#: LabelDialog.cpp:516 Menus.cpp:4101
 msgid "Select a text file containing labels..."
 msgstr "მონიშნეთ იარლიყების შემცველი ტექსტური ფაილი..."
 
-#: LabelDialog.cpp:520
-#: Menus.cpp:4105
+#: LabelDialog.cpp:520 Menus.cpp:4105
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "ტექსტური (*.txt)|*.txt|ყველა ფაილი(*.*)|*.*"
 
-#: LabelDialog.cpp:534
-#: Menus.cpp:4117
-#: Project.cpp:1914
-#: Project.cpp:1922
+#: LabelDialog.cpp:534 Menus.cpp:4117 Project.cpp:1914 Project.cpp:1922
 msgid "Could not open file: "
 msgstr "შეუძლებელია ფაილის გახსნა:"
 
@@ -1502,13 +1432,11 @@ msgstr "შეუძლებელია ფაილის გახსნა:
 msgid "No labels to export."
 msgstr "საექსპორტო იარლიყები არ მოიძებნა."
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2518
+#: LabelDialog.cpp:566 Menus.cpp:2518
 msgid "Export Labels As:"
 msgstr "იარლიყის ექსპორტი, როგორც:"
 
-#: LabelDialog.cpp:568
-#: Menus.cpp:2516
+#: LabelDialog.cpp:568 Menus.cpp:2516
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1520,10 +1448,7 @@ msgstr "ახალი იარლიყის ტრეკი"
 msgid "Enter track name"
 msgstr "ტრეკის სახელის შეყვანა"
 
-#: LabelDialog.cpp:705
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:632
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:632
 msgid "&Label Track"
 msgstr "&იარლიყის ტრეკი"
 
@@ -1550,24 +1475,15 @@ msgstr "Audacity პროექტის გახსნა"
 msgid "&File"
 msgstr "&ფაილი"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&ახალი\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "&გახსნა...\tCtrl+O"
-
 #: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&დახურვა\tCtrl+W"
+msgid "&Close"
+msgstr "&დახურვა"
 
 #: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&პროექტის შენახვა\tCtrl+S"
+msgid "&Save Project"
+msgstr "&პროექტის შენახვა"
 
-#: Menus.cpp:210
-#: Project.cpp:2896
+#: Menus.cpp:210 Project.cpp:2896
 msgid "Save Project &As..."
 msgstr "პროექტის შენახვა, &როგორც..."
 
@@ -1583,14 +1499,13 @@ msgstr "დამოკიდებულებების &შემოწმ
 msgid "Open Me&tadata Editor..."
 msgstr "მეტა%მონაცემების რედაქტორის გახსნა..."
 
-#: Menus.cpp:229
-#: import/ImportRaw.cpp:411
+#: Menus.cpp:229 import/ImportRaw.cpp:411
 msgid "&Import"
 msgstr "&იმპორტი"
 
 #: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&აუდიო...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&აუდიო..."
 
 #: Menus.cpp:232
 msgid "&Labels..."
@@ -1604,8 +1519,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "&დაუმუშავებელი მონაცემები..."
 
-#: Menus.cpp:247
-#: Menus.cpp:282
+#: Menus.cpp:247 Menus.cpp:282
 msgid "Expo&rt Selection..."
 msgstr "ექსპორტის ამორჩევა..."
 
@@ -1621,12 +1535,11 @@ msgstr "მრავალჯერადი ექსპორტი..."
 msgid "Export MIDI..."
 msgstr "MIDI ექსპორტი..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr "CleanSpeech ჯა&ჭვი..."
+#: Menus.cpp:303
+msgid "Appl&y Chain..."
+msgstr "ჯაჭვის გააქტიურება..."
 
-#: Menus.cpp:291
-#: Menus.cpp:305
+#: Menus.cpp:291 Menus.cpp:305
 msgid "Edit C&hains..."
 msgstr "ჯაჭ&ვების რედაქტირება..."
 
@@ -1638,10 +1551,6 @@ msgstr "CleanSpeech &პარამეტრების ექსპორტ
 msgid "I&mport CleanSpeech Presets..."
 msgstr "CleanSpeech პარამეტრების &იმპორტი..."
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr "ჯაჭვის გააქტიურება..."
-
 #: Menus.cpp:310
 msgid "&Upload File..."
 msgstr "ფაილის &ატვირთვა.."
@@ -1655,78 +1564,74 @@ msgid "&Print..."
 msgstr "&ამობეჭდვა..."
 
 #: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "&გამოსვლა\tCtrl+Q"
+msgid "E&xit"
+msgstr "&გამოსვლა"
 
-#: Menus.cpp:338
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:338 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&რედაქტირება"
 
 #: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "&უკუსვლა\tCtrl+Z"
+msgid "&Undo"
+msgstr "&უკუსვლა"
 
-#: Menus.cpp:350
-#: prefs/KeyConfigPrefs.cpp:371
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:350 prefs/KeyConfigPrefs.cpp:371 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&გამეორება"
 
 #: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "ამ&ოჭრა\tCtrl+X"
+msgid "Cu&t"
+msgstr "ამ&ოჭრა"
 
 #: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "დაყ&ოფის ამოჭრა\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "დაყ&ოფის ამოჭრა"
 
 #: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "&კპირება\tCtrl+C"
+msgid "&Copy"
+msgstr "&კპირება"
 
 #: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "&ჩასმა\tCtrl+V"
+msgid "&Paste"
+msgstr "&ჩასმა"
 
 #: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "დაჭრ&რა\tCtrl+T"
+msgid "Tri&m"
+msgstr "დაჭრ&რა"
 
 #: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&წაშლა\tCtrl+K"
+msgid "&Delete"
+msgstr "&წაშლა"
 
 #: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "დაყოფის  წაშლა\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "დაყოფის  წაშლა"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "აუდ&იოს დაჩუმება\tCtrl+L"
+msgid "Silence Audi&o"
+msgstr "აუდ&იოს დაჩუმება"
 
 #: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "დაყოფა\tCtrl+I"
+msgid "Sp&lit"
+msgstr "დაყოფა"
 
 #: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "ა&ხლის დაყოფა\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "ა&ხლის დაყოფა"
 
 #: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "&შეერთება\tCtrl+J"
+msgid "&Join"
+msgstr "&შეერთება"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "სიჩუმეებთან მი&ერთება\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
+msgstr "სიჩუმეებთან მი&ერთება"
 
 #: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "დუბ&ლირება\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "დუბ&ლირება"
 
-#: Menus.cpp:400
-#: Menus.cpp:639
+#: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
 msgstr "სტერეო ტრე&კი მონოზე"
 
@@ -1736,80 +1641,65 @@ msgstr "და&ხარისხებული არეები"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "&ამოჭრა\tAlt+X"
+msgid "&Cut"
+msgstr "&ამოჭრა"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&დაყოფის ამოჭრა\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&დაყოფის ამოჭრა"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "კო&პირება\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&წაშლა\tAlt+K"
+msgid "Co&py"
+msgstr "კო&პირება"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "და&ყოფის წაშლა\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "და&ყოფის წაშლა"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "სიჩუ&მე\tAlt+L"
+msgid "Sile&nce"
+msgstr "სიჩუ&მე"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "დაყოფა\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "&შეერთება\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "სიჩუმეებზე შეერთ&ება\tShift+Alt+J"
+msgid "Spli&t"
+msgstr "დაყოფა"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr "&Sამორჩევა"
 
 #: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "&All\tCtrl+A"
+msgid "&All"
+msgstr "&All"
 
 #: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "&არცერთი\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&არცერთი"
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
-msgstr "დაკვრის პოზიციისას &მარცხენა Position\t["
+msgid "&Left at Playback Position"
+msgstr "დაკვრის პოზიციისას &მარცხენა Position"
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
-msgstr "დაკვრის პოზიციისას &მარჯვენა\t]"
+msgid "&Right at Playback Position"
+msgstr "დაკვრის პოზიციისას &მარჯვენა"
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "ტრეკის &საწყისი კურსორთან\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "ტრეკის &საწყისი კურსორთან"
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr "კურსორი ტრეკის &დასასრულთან\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "კურსორი ტრეკის &დასასრულთან"
 
 #: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "ნულოვანი ჯვარედინების მოძებნა\tZ"
+msgid "Find &Zero Crossings"
+msgstr "ნულოვანი ჯვარედინების მოძებნა"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1824,12 +1714,12 @@ msgid "to Selection En&d"
 msgstr "მონიშვნის დასასრულამდე"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "ტრეკის დასაწყისამდე\tJ"
+msgid "to Track &Start"
+msgstr "ტრეკის დასაწყისამდე"
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "ტრეკის დასასრულამდე\tK"
+msgid "to Track &End"
+msgstr "ტრეკის დასასრულამდე"
 
 #: Menus.cpp:491
 msgid "Re&gion Save"
@@ -1851,66 +1741,45 @@ msgstr "&ჩაკეტვა"
 msgid "&Unlock"
 msgstr "&მოხსნა"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "გადაღების ჩართვა"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "გადაღების გამორთვა"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "უჯრედის გადაღების ჩართვა"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "უჯრედის გადაღების გამორთვა"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "პარა&მეტრები...\tCtrl+,"
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "პარა&მეტრები...\tCtrl+P"
+msgid "Pre&ferences..."
+msgstr "პარა&მეტრები..."
 
 #: Menus.cpp:533
 msgid "&View"
 msgstr "&ნახვა"
 
 #: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "შემცირება\tCtrl+1"
+msgid "Zoom &In"
+msgstr "შემცირება"
 
 #: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&ნორმალურ ზომაზეl\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&ნორმალურ ზომაზეl"
 
 #: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "გადიდება\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "გადიდება"
 
 #: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "ფანჯარაზე მორგება\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "ფანჯარაზე მორგება"
 
 #: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "&ვერტიკალური მორგებაtCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "&ვერტიკალური მორგება"
 
 #: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "მონიშვნამდე &გადიდება\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "მონიშვნამდე &გადიდება"
 
 #: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "ყველა ტრეკის &მოშლა\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "ყველა ტრეკის &მოშლა"
 
 #: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "ყველა ტრეკის გ&აშლა\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "ყველა ტრეკის გ&აშლა"
 
 #: Menus.cpp:551
 msgid "&Show Clipping"
@@ -1970,43 +1839,41 @@ msgstr "!გამარტივებული ხედი"
 msgid "T&ransport"
 msgstr "&გადატანა"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "დაკვრა"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "&შეყოვნება\tP"
+msgid "&Pause"
+msgstr "&შეყოვნება"
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
-#: Menus.cpp:595
-#: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "საწყისზე გადასვლა\tHome"
+#: Menus.cpp:595 Menus.cpp:1010
+msgid "Skip to Start"
+msgstr "საწყისზე გადასვლა"
 
-#: Menus.cpp:597
-#: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "ბოლოში გადასვლა\tEnd"
+#: Menus.cpp:597 Menus.cpp:1011
+msgid "Skip to End"
+msgstr "ბოლოში გადასვლა"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "&ჩაწერა\tR"
+msgid "&Record"
+msgstr "&ჩაწერა"
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr "&ტაიმერის ჩაწერა...\tShift+T"
+msgid "&Timer Record..."
+msgstr "&ტაიმერის ჩაწერა..."
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr "ჩაწერის დამატება\tShift+R"
+msgid "Append Record"
+msgstr "ჩაწერის დამატება"
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
@@ -2033,15 +1900,14 @@ msgid "Add &New"
 msgstr "&ახლის დამატება"
 
 #: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&აუდიო ტრეკი\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&აუდიო ტრეკი"
 
 #: Menus.cpp:631
 msgid "&Stereo Track"
 msgstr "&სტერეო ტრეკი"
 
-#: Menus.cpp:633
-#: TimeTrack.cpp:44
+#: Menus.cpp:633 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "&დროის ტრეკი"
 
@@ -2050,8 +1916,8 @@ msgid "Mi&x and Render"
 msgstr "&შერევა და რენდერინგი"
 
 #: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "ახალ ტრეკზე შერევა და რენდერინგი\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "ახალ ტრეკზე შერევა და რენდერინგი"
 
 #: Menus.cpp:651
 msgid "&Resample..."
@@ -2062,12 +1928,12 @@ msgid "Remo&ve Tracks"
 msgstr "ტრეკების წაშლ&ა"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "ყველა ტრეკის &ჩაჩუმება\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "ყველა ტრეკის &ჩაჩუმება"
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "ყველა ტრეკის &ხმის აწევა\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "ყველა ტრეკის &ხმის აწევა"
 
 #: Menus.cpp:672
 msgid "Align with &Zero"
@@ -2113,17 +1979,18 @@ msgstr "გა&სწორება და კურსორის გად
 msgid "Synchronize MIDI with Audio"
 msgstr "MIDI-ის სინქრონიზაცია აუდიოსთან"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+#, fuzzy
+msgid "&Link Audio and Label Tracks"
 msgstr "აუდიო და იარლიყების ტრეკების დაკავშირება"
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "მონიშვნისას &იარლიყის დამატება\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "იარლიყის დამატება &დაკვრის პოზიციისას\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "იარლიყის დამატება &დაკვრის პოზიციისას"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2141,9 +2008,7 @@ msgstr "&სახელით"
 msgid "&Generate"
 msgstr "&გენერაცია"
 
-#: Menus.cpp:776
-#: Menus.cpp:860
-#: Menus.cpp:922
+#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
 msgid "Unsorted"
 msgstr "დაუხარისხებელი"
 
@@ -2151,20 +2016,19 @@ msgstr "დაუხარისხებელი"
 msgid "Effe&ct"
 msgstr "ეფ&ექტი"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "ბოლო ეფექტის გამეორება\tCtrl+R"
-
 #: Menus.cpp:877
 msgid "&Analyze"
 msgstr "&ანალიზი"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:879
 msgid "Plot Spectrum..."
 msgstr "აგების სპექტრი..."
 
-#: Menus.cpp:947
-#: Menus.cpp:950
+#: Menus.cpp:947 Menus.cpp:950
 msgid "&Help"
 msgstr "&დახმარება"
 
@@ -2177,8 +2041,8 @@ msgid "&Show Welcome Message..."
 msgstr "&მისალმების შეტყობინების &ჩვენება..."
 
 #: Menus.cpp:958
-msgid "&Index..."
-msgstr "&ინდექსი..."
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2196,181 +2060,149 @@ msgstr "Benchmark-ის &გაშვება..."
 msgid "&Audio Device Info..."
 msgstr "&აუდიო მოწყობილობის ინფორმაცია..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "მონიშვნის ხელსაწყო\tF1"
+msgid "Selection Tool"
+msgstr "მონიშვნის ხელსაწყო"
 
 #: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "კონვერტის ხელსაწყო\tF2"
+msgid "Envelope Tool"
+msgstr "კონვერტის ხელსაწყო"
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "დახატვის ხელსაწყო\tF3"
+msgid "Draw Tool"
+msgstr "დახატვის ხელსაწყო"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "გადიდების ხელსაწყო\tF4"
+msgid "Zoom Tool"
+msgstr "გადიდების ხელსაწყო"
 
 #: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "დროის ცვლის ხელსაწყო\tF5"
+msgid "Time Shift Tool"
+msgstr "დროის ცვლის ხელსაწყო"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "მრავალჯერადი ხელსაწყო\tF6"
+msgid "Multi Tool"
+msgstr "მრავალჯერადი ხელსაწყო"
 
 #: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "შემდეგი ხელსაწყო\tD"
+msgid "Next Tool"
+msgstr "შემდეგი ხელსაწყო"
 
 #: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "წინა ხელსაწყო\tA"
+msgid "Previous Tool"
+msgstr "წინა ხელსაწყო"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "გაჩერება\tS"
-
-#: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "შეჩერება\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "ჩაწერა\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr "ჩაწერის დამატება\tShift+R"
-
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "დაკვრა/გაჩერებისა და მომართვის კურსორი\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "დაკვრა/გაჩერებისა და მომართვის კურსორი"
 
 #: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "ერთი წამი დაკვრა\t1"
+msgid "Play One Second"
+msgstr "ერთი წამი დაკვრა"
 
 #: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "მონიშვნაზე დაკვრა\tB"
-
-#: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "ციკლის დაკვრა\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "მონიშვნაზე დაკვრა"
 
 #: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "ამოჭრილი ესკიზის დაკვრა\tC"
+msgid "Play Cut Preview"
+msgstr "ამოჭრილი ესკიზის დაკვრა"
 
 #: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "დასაწყისზე მონიშვნა\tShift+Home"
+msgid "Selection to Start"
+msgstr "დასაწყისზე მონიშვნა"
 
 #: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "დასარულზე მონიშვნა\tShift+End"
+msgid "Selection to End"
+msgstr "დასარულზე მონიშვნა"
 
 #: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "გასაღების წაშლა\tBackspace"
+msgid "DeleteKey"
+msgstr "გასაღების წაშლა"
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "გასაღების წაშლა2\tDelete"
+msgid "DeleteKey2"
+msgstr "გასაღების წაშლა2"
 
-#: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
-msgstr "დაკვრისას მარცხენა მოკლე პერიოდის ძიება\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
-msgstr "დაკვრისას მარჯვენა მოკლე პერიოდის ძიება\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "დაკვრისას მარცხენა გრძელი პერიოდის ძიება\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "დაკვრისასმარჯვენა გრძელი პერიოდის ძიება\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "ფოკუსის წინა ტრეკზე გადატანა\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "ფოკუსის წინა ტრეკზე გადატანა"
 
-#: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "ფოკუსის წინა ტრეკზე გადატანა და მონიშვნის შეცვლა\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "ფოკუსის შემდეგ ტრეკზე გადატანა\tDown"
+msgid "Move Focus to Next Track"
+msgstr "ფოკუსის შემდეგ ტრეკზე გადატანა"
 
-#: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "ფოკუსის შემდეგ ტრეკზე გადატანა და მონიშვნის შეცვლა\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "ფოკუსირებული ტრეკის ჩართვა\tReturn"
-
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "ფოკუსირებული ტრეკის ჩართვა\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "ფოკუსირებული ტრეკის ჩართვა"
 
 #: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "კურსორი მარცხნივ\tLeft"
+msgid "Cursor Left"
+msgstr "კურსორი მარცხნივ"
 
 #: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "კურსორი მარჯვნივ\tRight"
+msgid "Cursor Right"
+msgstr "კურსორი მარჯვნივ"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
-msgstr "კურსორის მოკლე გადასვლა მარცხნივ\t,"
+msgid "Cursor Short Jump Left"
+msgstr "კურსორის მოკლე გადასვლა მარცხნივ"
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
-msgstr "კურსორის მოკლე გადასვლა მარჯვნივ\t."
+msgid "Cursor Short Jump Right"
+msgstr "კურსორის მოკლე გადასვლა მარჯვნივ"
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "კურსორის გრძელი გადასვლა მარცხნივ\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "კურსორის გრძელი გადასვლა მარცხნივ"
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "კურსორის გრძელი გადასვლა მარჯვნივ\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "კურსორის გრძელი გადასვლა მარჯვნივ"
 
 #: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "მონიშვნის გაფართოება მარცხნივ\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "მონიშვნის გაფართოება მარცხნივ"
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "მონიშვნის გაფართოება მარჯვნივ\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "მონიშვნის გაფართოება მარჯვნივ"
 
 #: Menus.cpp:1052
 msgid "Set (or Extend) Left Selection"
@@ -2381,52 +2213,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "მარჯვენამონიშვნის მომართვა (ან გაფართოება)  "
 
 #: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "კონტრასტის მარცხნივ მონიშნვა\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "კონტრასტის მარცხნივ მონიშნვა"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "კონტრასტის მარჯვნივ მონიშნვა\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "კონტრასტის მარჯვნივ მონიშნვა"
 
 #: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
-msgstr "არეს შეცვლა ფოკუსირებულ ტრეკზე\tShift+P"
+msgid "Change pan on focused track"
+msgstr "არეს შეცვლა ფოკუსირებულ ტრეკზე"
 
 #: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "ფოკუსირებულ ტრეკზე მარცხნივ მოტრიალება\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "ფოკუსირებულ ტრეკზე მარცხნივ მოტრიალება"
 
 #: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "ფოკუსირებულ ტრეკზე მარჯვნივ მოტრიალება\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "ფოკუსირებულ ტრეკზე მარჯვნივ მოტრიალება"
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
-msgstr "gain -ის შეცვლა ფოკუსირებულ ტრეკზე\tShift+G"
+msgid "Change gain on focused track"
+msgstr "gain -ის შეცვლა ფოკუსირებულ ტრეკზე"
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "gain-ის აწევა ფოკუსირებულ ტრეკზე\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "gain-ის აწევა ფოკუსირებულ ტრეკზე"
 
 #: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "gain-ის დაწევა ფოკუსირებულ ტრეკზე\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "gain-ის დაწევა ფოკუსირებულ ტრეკზე"
 
 #: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "მენიუს გახსნა ფოკუსირებულ ტრეკზე\tShift+M"
+msgid "Open menu on focused track"
+msgstr "მენიუს გახსნა ფოკუსირებულ ტრეკზე"
 
 #: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "ფოკუსირებული ტრეკის დადუმება/ხმის აწევა\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "ფოკუსირებული ტრეკის დადუმება/ხმის აწევა"
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "სოლო/არასოლო ფოკუსირებული ტრეკი\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "სოლო/არასოლო ფოკუსირებული ტრეკი"
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "ფოკუსირებული ტრეკის დახურვა\tShift+C"
+msgid "Close focused track"
+msgstr "ფოკუსირებული ტრეკის დახურვა"
 
 #: Menus.cpp:1069
 msgid "Snap To On"
@@ -2437,7 +2269,35 @@ msgid "Snap To Off"
 msgstr "გადაღების გამორთვა"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2498,8 +2358,8 @@ msgstr "ჯერ უნდა ამოირჩიოთ ტრეკი"
 
 #: Menus.cpp:2369
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "გამეორება %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "გამეორება %s"
 
 #: Menus.cpp:2512
 msgid "There are no label tracks to export."
@@ -2531,9 +2391,7 @@ msgstr "დასაბრუნებელი მოქმედება ა
 msgid "Nothing to redo"
 msgstr "გასამეორებელი მოქმედება არ არსებობს"
 
-#: Menus.cpp:2809
-#: TrackPanel.cpp:596
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2809 TrackPanel.cpp:596 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "ამოჭრა"
 
@@ -2549,10 +2407,7 @@ msgstr "დაყოფის ამოჭრა"
 msgid "Split-cut to the clipboard"
 msgstr "დაყოფა-ამოჭრა და გაცვლის ბუფერში შენახვა"
 
-#: Menus.cpp:2914
-#: Menus.cpp:2986
-#: Menus.cpp:3178
-#: TrackPanel.cpp:598
+#: Menus.cpp:2914 Menus.cpp:2986 Menus.cpp:3178 TrackPanel.cpp:598
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "ჩასმა"
@@ -2561,8 +2416,7 @@ msgstr "ჩასმა"
 msgid "Pasted text from the clipboard"
 msgstr "გაცვლის ბუფერიდან ჩასმული ტექსტი"
 
-#: Menus.cpp:2986
-#: Menus.cpp:3178
+#: Menus.cpp:2986 Menus.cpp:3178
 msgid "Pasted from the clipboard"
 msgstr "გაცვლის ბუფერიდან ჩასმული"
 
@@ -2574,8 +2428,7 @@ msgstr "ერთი ტიპის ტრეკის მეორეში 
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "სტერეო აუდიოდან მონო ტრეკზე კოპირება დაუშვებელია."
 
-#: Menus.cpp:3214
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3214 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Trim"
 
@@ -2615,8 +2468,7 @@ msgstr "შეერთება"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "დაჩუმებული მონუშნული ტრეკები %.2f-ისთვის.2f წამი %.2f"
 
-#: Menus.cpp:3315
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3315 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "დაჩუმება"
 
@@ -2700,8 +2552,7 @@ msgstr "იარლიყების შეერთება"
 msgid "Disjoined labeled regions"
 msgstr "განცალკევებული იარლიყდადებული არეები"
 
-#: Menus.cpp:3491
-#: TrackPanel.cpp:6134
+#: Menus.cpp:3491 TrackPanel.cpp:6134
 msgid "Split"
 msgstr "დაყოფა"
 
@@ -2717,15 +2568,6 @@ msgstr "ახალ ტრეკზე დაყოფა"
 msgid "Split at labels"
 msgstr "იარლიყებზე დაყოფა"
 
-#: Menus.cpp:3969
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "სპექტრის აგებისთვის ყველა მონიშნული ტრეკს უნდა ჰქონდეს სემპლის თანაბარი კოეფიციენტი."
-
-#: Menus.cpp:3995
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "ზედმეტი აუდიო იყო მონიშნული. მხოლოდ პირველი %.1f წამის ანალიზი მოხდება."
-
 #: Menus.cpp:4130
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2764,8 +2606,7 @@ msgstr "ყველა ფაილი(*)|*"
 msgid "Edit the metadata tags"
 msgstr "მეტამონაცემების ჭდეების რედაქტირება"
 
-#: Menus.cpp:4206
-#: export/Export.cpp:353
+#: Menus.cpp:4206 export/Export.cpp:353
 msgid "Edit Metadata"
 msgstr "მეტამონაცემების რედაქტირება"
 
@@ -2792,8 +2633,7 @@ msgstr "%d ტრეკების ერთ ახალ სტერეო 
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "%d ტრეკების ერთ ახალ მონო ტრეკში არევა და რენდერი "
 
-#: Menus.cpp:4273
-#: Mix.cpp:121
+#: Menus.cpp:4273 Mix.cpp:121
 msgid "&Mix and Render"
 msgstr "&არევა და რენდერი"
 
@@ -2845,10 +2685,7 @@ msgstr "გასწორება დასრულებულია."
 msgid "Created new audio track"
 msgstr "შექმნილია ახალი აუდიო ტრეკი"
 
-#: Menus.cpp:4564
-#: Menus.cpp:4587
-#: Menus.cpp:4602
-#: Menus.cpp:4622
+#: Menus.cpp:4564 Menus.cpp:4587 Menus.cpp:4602 Menus.cpp:4622
 msgid "New Track"
 msgstr "ახალი ტრეკი"
 
@@ -2884,8 +2721,7 @@ msgstr "CleanSpeech პარამეტრის ფაილის შენ
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "CleanSpeech პარამეტრები(*.csp)|*.csp"
 
-#: Menus.cpp:4750
-#: export/Export.cpp:605
+#: Menus.cpp:4750 export/Export.cpp:605
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "ვწუხვართ, 256 სიმბოლოზე გრძელი გეზის სახელები არ არის მხარდაჭერილი."
 
@@ -2893,8 +2729,7 @@ msgstr "ვწუხვართ, 256 სიმბოლოზე გრძე
 msgid "Problem encountered exporting presets."
 msgstr "პარამეტრების ექსპორტისას წარმოიქმნა პრობლემა."
 
-#: Menus.cpp:4797
-#: export/Export.cpp:468
+#: Menus.cpp:4797 export/Export.cpp:468
 msgid "Unable to export"
 msgstr "შეუძლებელია ესპორტირება"
 
@@ -2906,20 +2741,16 @@ msgstr "ტრეკის წაშლა"
 msgid "Removed audio track(s)"
 msgstr "წაშლილი აუდიო ტრეკ(ბ)ი"
 
-#: Menus.cpp:5138
-#: Menus.cpp:5193
-#: export/ExportFFmpeg.cpp:710
+#: Menus.cpp:5138 Menus.cpp:5193 export/ExportFFmpeg.cpp:710
 #: export/ExportMP3.cpp:1928
 msgid "Resample"
 msgstr "რესემპლირება"
 
-#: Menus.cpp:5158
-#: TrackPanel.cpp:6361
+#: Menus.cpp:5158 TrackPanel.cpp:6361
 msgid "New sample rate (Hz):"
 msgstr "სემპლის ახალი კოეფიციენტი (Hz):"
 
-#: Menus.cpp:5182
-#: TrackPanel.cpp:6385
+#: Menus.cpp:5182 TrackPanel.cpp:6385
 msgid "The entered value is invalid"
 msgstr "შეყვანილი მნიშვნელობა არასწორია"
 
@@ -2936,8 +2767,7 @@ msgstr "ტრეკის რესემპლირება"
 msgid "Resampled audio track(s)"
 msgstr "რესემპლირებული აუდიო ტრეკ(ებ)ი"
 
-#: Mix.cpp:95
-#: Mix.cpp:102
+#: Mix.cpp:95 Mix.cpp:102
 msgid "Mix"
 msgstr "არევა"
 
@@ -2957,6 +2787,10 @@ msgstr "ამობეჭდვის შეცდომა."
 msgid "Print"
 msgstr "ამობეჭდვა"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:673
 msgid "Main Mix"
 msgstr "ძირითადი არევა"
@@ -2970,14 +2804,11 @@ msgstr "მოგესალმებათ Audacity-ის ვერსია
 msgid "(Recovered)"
 msgstr "(აღდგენილია)"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
-#: toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:998
 msgid "Record"
 msgstr "ჩაწერა"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
+#: Project.cpp:1546 TrackPanel.cpp:796
 msgid "Recorded Audio"
 msgstr "ჩაწერილი აუდიო"
 
@@ -3003,9 +2834,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "შევინახო ცვლილებები?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "ყველა ფაილი|*.*|ყველა მხარდაჭერილი ფაილი|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1802
 msgid "Select one or more audio files..."
@@ -3015,8 +2846,7 @@ msgstr "ერთი ან მეტი აუდიო ფაილის მ
 msgid "Audacity projects|*.aup|"
 msgstr "Audacity პროექტები|*.aup|"
 
-#: Project.cpp:1882
-#: Project.cpp:2304
+#: Project.cpp:1882 Project.cpp:2304
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3037,13 +2867,22 @@ msgstr "ეს ფაილი შენახულია Audacity %s'-ის,
 msgid "1.0 or earlier"
 msgstr "1.0 ან უფრო ადრეული"
 
-#: Project.cpp:1889
-#: Project.cpp:2316
+#: Project.cpp:1889 Project.cpp:2316
 msgid "Opening old project file"
 msgstr "ძველი პროექტის ფაილის გახსნა"
 
-#: Project.cpp:1915
-#: Project.cpp:1923
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1915 Project.cpp:1923
 msgid "Error opening file"
 msgstr "ფაილის გახსნის შეცდომა"
 
@@ -3078,8 +2917,7 @@ msgstr "აღდგენა"
 msgid "Project checker repaired file"
 msgstr "პროექტის შემმოწმებელმა აღადგინა ფაილი"
 
-#: Project.cpp:2084
-#: effects/Repair.h:29
+#: Project.cpp:2084 effects/Repair.h:29
 msgid "Repair"
 msgstr "აღდგნა"
 
@@ -3101,16 +2939,15 @@ msgstr "ეს ფაილი შეინახული იყო Audacity %s
 msgid "Can't open project file"
 msgstr "შეუძლებელია პროექტის ფაილის გახსნა"
 
-#: Project.cpp:2311
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
-"Open this file now?"
-msgstr "ეს ფაილი შენახული იყო Audacity %s.ის მიერ\n"
-"ამ ფაილის Audacity ამ ვერსიით  გახსნა შესაძლებელია, მაგრამ თუ მას ამ ვერსიით შეინახავთ, ძველი ვერსიით მისი გახსნა შეუძლებელი გახდება.\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"გავხსნა ფაილი?"
+"Open this file now?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -3127,18 +2964,24 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2588
+#: Project.cpp:2792
 #, c-format
+#, fuzzy
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr "შეუძლებელია პროექტის გახსნა. შესაძლოა%s \n"
 "არ არის ჩაწერადი ან დისკია გადავსებული."
 
-#: Project.cpp:2590
-#: Project.cpp:2605
+#: Project.cpp:2590 Project.cpp:2605
 msgid "Error saving project"
 msgstr "პროექტის შენახვის შეცდომა"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2680
 #, c-format
 msgid "Saved %s"
@@ -3149,14 +2992,11 @@ msgstr "შენახულია %s"
 msgid "Imported '%s'"
 msgstr "იმპორტირებულია '%s'"
 
-#: Project.cpp:2807
-#: import/ImportPCM.cpp:483
-#: import/ImportPCM.cpp:527
+#: Project.cpp:2807 import/ImportPCM.cpp:483 import/ImportPCM.cpp:527
 msgid "Import"
 msgstr "იმპორტი"
 
-#: Project.cpp:2840
-#: Project.cpp:2848
+#: Project.cpp:2840 Project.cpp:2848
 msgid "Error importing"
 msgstr "იმპორტის შეცდომა"
 
@@ -3209,8 +3049,7 @@ msgstr "ახალი შექმნილი პროექტი"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "წაშლილია %.2f წამი t=%.2f"
 
-#: Project.cpp:3114
-#: effects/Equalization.cpp:1276
+#: Project.cpp:3114 effects/Equalization.cpp:1276
 #: effects/Equalization.cpp:2607
 msgid "Delete"
 msgstr "წაშლა"
@@ -3291,8 +3130,7 @@ msgstr "Libsamplerate Erik de Castro Lopo მიერ"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate შეცდომა: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "რესემპლინგი გაუქმებულია."
 
@@ -3311,6 +3149,164 @@ msgstr "24-ბიტიანი PCM"
 msgid "32-bit float"
 msgstr "32-ბიტიანი მცოცავი"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:245 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "არჩევა..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "ყალბი"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "ხელსაწყოები"
+
+#: toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr "კონტროლი"
+
+#: effects/LoadEffects.cpp:114 toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "მიქსერი"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "მთვლელი"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:121 prefs/AudioIOPrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "მოწყობილობა"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "ტრანსკრიპცია"
+
+#: TrackPanel.cpp:457 TrackPanel.cpp:458
+msgid "Track Panel"
+msgstr "ტრეკის ზოლი"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:288 export/ExportMultiple.cpp:290
+msgid "Tracks"
+msgstr "ტრეკები"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "შენახულია"
@@ -3319,14 +3315,15 @@ msgstr "შენახულია"
 msgid "Error trying to save file: "
 msgstr "ფაილის შენახვის შეცდომა:"
 
-#: Sequence.cpp:804
-#: Sequence.cpp:814
-#: Sequence.cpp:821
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:804 Sequence.cpp:814 Sequence.cpp:821
 msgid "Gap detected in project file\n"
 msgstr "პროექტის ფაილში შეიმჩნევა რღვევა\n"
 
-#: ShuttleGui.cpp:1972
-#: effects/Effect.cpp:417
+#: ShuttleGui.cpp:1972 effects/Effect.cpp:417
 #: effects/audiounits/AudioUnitEffect.cpp:877
 msgid "Pre&view"
 msgstr "ეს&კიზი"
@@ -3367,8 +3364,7 @@ msgstr "ალბომის სახელი"
 msgid "Track Number"
 msgstr "ტრეკის ნომერი"
 
-#: Tags.cpp:644
-#: Tags.cpp:2147
+#: Tags.cpp:644 Tags.cpp:2147
 msgid "Year"
 msgstr "წელი"
 
@@ -3376,9 +3372,7 @@ msgstr "წელი"
 msgid "Genre"
 msgstr "ჟანრი"
 
-#: Tags.cpp:646
-#: Tags.cpp:2157
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:646 Tags.cpp:2157 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "კომენტარები"
 
@@ -3394,9 +3388,7 @@ msgstr "ჭდის სახელი"
 msgid "Tag Value"
 msgstr "ჭდის მნიშვნელობა"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:829 Tags.cpp:1486 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&გაწმენდა"
 
@@ -3412,71 +3404,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:845
-#: Tags.cpp:1470
-#: Tags.cpp:1997
+#: Tags.cpp:845 Tags.cpp:1470 Tags.cpp:1997
 msgid "Template"
 msgstr "შაბლონი"
 
-#: Tags.cpp:849
-#: Tags.cpp:1474
-#: Tags.cpp:2001
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:849 Tags.cpp:1474 Tags.cpp:2001 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&ჩატვირთვა..."
 
-#: Tags.cpp:850
-#: Tags.cpp:1475
-#: Tags.cpp:2002
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:850 Tags.cpp:1475 Tags.cpp:2002 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&შენახვა..."
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
+#: Tags.cpp:852 Tags.cpp:1477 Tags.cpp:2004
 msgid "S&et Default"
 msgstr "ნაგულისხმევი პარამეტრების დაყენება"
 
-#: Tags.cpp:1002
-#: Tags.cpp:1640
-#: Tags.cpp:2368
+#: Tags.cpp:1002 Tags.cpp:1640 Tags.cpp:2368
 msgid "Edit Genres"
 msgstr "ჟანრების რედაქტირება"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1047
-#: Tags.cpp:1062
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1690
-#: Tags.cpp:1705
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2423
-#: Tags.cpp:2438
-#: Tags.cpp:2451
+#: Tags.cpp:1035 Tags.cpp:1047 Tags.cpp:1062 Tags.cpp:1075 Tags.cpp:1678
+#: Tags.cpp:1690 Tags.cpp:1705 Tags.cpp:1718 Tags.cpp:2411 Tags.cpp:2423
+#: Tags.cpp:2438 Tags.cpp:2451
 msgid "Reset Genres"
 msgstr "ჟანრების ნაგულისხმევ პარამეტრებამდე დაყვანა"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1718
-#: Tags.cpp:2411
+#: Tags.cpp:1035 Tags.cpp:1075 Tags.cpp:1678 Tags.cpp:1718 Tags.cpp:2411
 #: Tags.cpp:2451
 msgid "Unable to save genre file."
 msgstr "შეუძლებელია ჟანრის ფაილის შენახვა."
 
-#: Tags.cpp:1046
-#: Tags.cpp:1689
-#: Tags.cpp:2422
+#: Tags.cpp:1046 Tags.cpp:1689 Tags.cpp:2422
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "მართლა გსურთ ჟანრების ნუსხის ნაგულისხმევ პარამეტრებამდე დაყვანა?"
 
-#: Tags.cpp:1062
-#: Tags.cpp:1705
-#: Tags.cpp:2438
+#: Tags.cpp:1062 Tags.cpp:1705 Tags.cpp:2438
 msgid "Unable to open genre file."
 msgstr "შეუძლებელია ჟანრის ფაილის შენახვა."
 
@@ -3484,21 +3447,19 @@ msgstr "შეუძლებელია ჟანრის ფაილის
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1122
-#: Tags.cpp:1772
-#: Tags.cpp:2494
+#: Tags.cpp:1122 Tags.cpp:1772 Tags.cpp:2494
 msgid "Error loading metadata"
 msgstr "მეტამონაცემების ჩატვირთვის შეცდომა"
 
-#: Tags.cpp:1097
-#: Tags.cpp:1151
-#: Tags.cpp:1751
-#: Tags.cpp:1787
-#: Tags.cpp:2473
+#: Tags.cpp:1097 Tags.cpp:1151 Tags.cpp:1751 Tags.cpp:1787 Tags.cpp:2473
 #: Tags.cpp:2509
 msgid "Save Metadata As:"
 msgstr "მეტამონაცემების შენახვა როგორც:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3531,8 +3492,7 @@ msgstr "Audacity-იმ ვერ გახსნა ფაილი:\n"
 "  %s.\n"
 "თემა არ ჩატვირთულა."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3556,8 +3516,7 @@ msgstr "თემის კომპონენტების ფაილე
 " ვერ მოიძებნა:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3580,12 +3539,8 @@ msgstr "ყველა მოთხოვნილი ფაილები:\n"
 "  %s\n"
 "უკვე არსებობს."
 
-#: TimeDialog.cpp:53
-#: TimerRecordDialog.cpp:227
-#: TimerRecordDialog.cpp:305
-#: TimerRecordDialog.cpp:309
-#: effects/Noise.cpp:243
-#: effects/ToneGen.cpp:323
+#: TimeDialog.cpp:53 TimerRecordDialog.cpp:227 TimerRecordDialog.cpp:305
+#: TimerRecordDialog.cpp:309 effects/Noise.cpp:243 effects/ToneGen.cpp:323
 #: effects/ToneGen.cpp:366
 msgid "Duration"
 msgstr "ხანგრძლოვობა"
@@ -3594,6 +3549,14 @@ msgstr "ხანგრძლოვობა"
 msgid "Audacity Timer Record"
 msgstr "Audacity ტაიმერის ჩაწერა"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr "ჩაწერის დაწყება"
@@ -3633,74 +3596,51 @@ msgstr "კოდირების დაწყების მოლოდი
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Audacity ტაიმერის ჩაწერა - დაწყების მოლოდინი"
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "ტრეკის ზოლი"
-
-#: TrackPanel.cpp:541
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:541 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "სხვა..."
 
-#: TrackPanel.cpp:549
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:588
+#: TrackPanel.cpp:549 TrackPanel.cpp:571 TrackPanel.cpp:580 TrackPanel.cpp:588
 #: TrackPanel.cpp:5793
 msgid "Name..."
 msgstr "სახელი..."
 
-#: TrackPanel.cpp:551
-#: TrackPanel.cpp:573
-#: TrackPanel.cpp:584
-#: TrackPanel.cpp:590
+#: TrackPanel.cpp:551 TrackPanel.cpp:573 TrackPanel.cpp:584 TrackPanel.cpp:590
 #: TrackPanel.cpp:5797
 msgid "Move Track Up"
 msgstr "ტრეკის ატანა"
 
-#: TrackPanel.cpp:552
-#: TrackPanel.cpp:574
-#: TrackPanel.cpp:585
-#: TrackPanel.cpp:591
+#: TrackPanel.cpp:552 TrackPanel.cpp:574 TrackPanel.cpp:585 TrackPanel.cpp:591
 #: TrackPanel.cpp:5798
 msgid "Move Track Down"
 msgstr "ტრეკის ჩამოტანა"
 
-#: TrackPanel.cpp:554
-#: effects/ToneGen.cpp:319
-#: prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:554 effects/ToneGen.cpp:319 prefs/GUIPrefs.cpp:154
 msgid "Waveform"
 msgstr "ტალღოვანი"
 
-#: TrackPanel.cpp:555
-#: prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:555 prefs/GUIPrefs.cpp:155
 msgid "Waveform (dB)"
 msgstr "ტალღოვანი (dB)"
 
-#: TrackPanel.cpp:557
-#: prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
 msgid "Spectrum log(f)"
 msgstr "სპექტრის ჩანაწერი(f)"
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:558
-#: prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:558 prefs/GUIPrefs.cpp:158
 msgid "Pitch (EAC)"
 msgstr "Pitch (EAC)"
 
-#: TrackPanel.cpp:560
-#: TrackPanel.cpp:6096
+#: TrackPanel.cpp:560 TrackPanel.cpp:6096
 msgid "Mono"
 msgstr "მონო"
 
-#: TrackPanel.cpp:561
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:561 TrackPanel.cpp:6095
 msgid "Left Channel"
 msgstr "მარცხენა არხი"
 
-#: TrackPanel.cpp:562
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:562 TrackPanel.cpp:6095
 msgid "Right Channel"
 msgstr "მარჯვენა არხი"
 
@@ -3712,12 +3652,15 @@ msgstr "სტერეო ტრეკის შექმნა"
 msgid "Split Stereo Track"
 msgstr "სტერეო ტრეკის დაყოფა"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:566
 msgid "Set Sample Format"
 msgstr "სემპლის ფორმატის მომართვა"
 
-#: TrackPanel.cpp:568
-#: TrackPanel.cpp:6341
+#: TrackPanel.cpp:568 TrackPanel.cpp:6341
 msgid "Set Rate"
 msgstr "კოეფიციენტის მომართვა"
 
@@ -3729,8 +3672,7 @@ msgstr "ოქტავით მაღლა"
 msgid "Down Octave"
 msgstr "ოქტავით დაბლა"
 
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:5795
+#: TrackPanel.cpp:582 TrackPanel.cpp:5795
 msgid "Font..."
 msgstr "შრიფტი..."
 
@@ -3738,8 +3680,7 @@ msgstr "შრიფტი..."
 msgid "Set Range..."
 msgstr "დიაპაზონის მომართვა..."
 
-#: TrackPanel.cpp:597
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:597 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "კოპირება"
 
@@ -3785,21 +3726,13 @@ msgstr "დაუწკაპუნეთ და გადაათრიეთ
 msgid "Click and drag to move right selection boundary."
 msgstr "დაუწკაპუნეთ და გადაათრიეთ მონიშვნის საზღვრის მარჯვნივ გადატანისთვის."
 
-#: TrackPanel.cpp:1730
-#: TrackPanel.cpp:3959
-#: TrackPanel.cpp:3991
-#: TrackPanel.cpp:4255
-#: TrackPanel.cpp:6490
-#: TrackPanel.cpp:6510
+#: TrackPanel.cpp:1730 TrackPanel.cpp:3959 TrackPanel.cpp:3991
+#: TrackPanel.cpp:4255 TrackPanel.cpp:6490 TrackPanel.cpp:6510
 msgid "Modified Label"
 msgstr "შეცვლილი იარლიყი"
 
-#: TrackPanel.cpp:1731
-#: TrackPanel.cpp:3960
-#: TrackPanel.cpp:3992
-#: TrackPanel.cpp:4256
-#: TrackPanel.cpp:6491
-#: TrackPanel.cpp:6511
+#: TrackPanel.cpp:1731 TrackPanel.cpp:3960 TrackPanel.cpp:3992
+#: TrackPanel.cpp:4256 TrackPanel.cpp:6491 TrackPanel.cpp:6511
 msgid "Label Edit"
 msgstr "იარლიყის რედაქტირება"
 
@@ -3807,8 +3740,7 @@ msgstr "იარლიყის რედაქტირება"
 msgid "Adjusted envelope."
 msgstr "მორგებული კონვერტი."
 
-#: TrackPanel.cpp:1972
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1972 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "კონვერტი"
 
@@ -3830,9 +3762,7 @@ msgstr "მარჯვენა"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "დრო შენაცვლებული ტრეკები/კლიპები  %s %.02f  წამი"
 
-#: TrackPanel.cpp:2133
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2133 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "დრო-ცვლა"
@@ -3871,37 +3801,29 @@ msgid "Moved pan slider"
 msgstr "გადაადგილებული pan ცოცია"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5703
-#: TrackPanel.cpp:7244
+#: TrackPanel.cpp:3449 TrackPanel.cpp:5703 TrackPanel.cpp:7244
 msgid "Gain"
 msgstr "Gain"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5641
-#: TrackPanel.cpp:7251
+#: TrackPanel.cpp:3449 TrackPanel.cpp:5641 TrackPanel.cpp:7251
 msgid "Pan"
 msgstr "Pan"
 
-#: TrackPanel.cpp:3576
-#: TrackPanel.cpp:6441
+#: TrackPanel.cpp:3576 TrackPanel.cpp:6441
 msgid "up"
 msgstr "ზემოთ"
 
-#: TrackPanel.cpp:3580
-#: TrackPanel.cpp:6442
+#: TrackPanel.cpp:3580 TrackPanel.cpp:6442
 msgid "down"
 msgstr "ქვემოთ"
 
-#: TrackPanel.cpp:3587
-#: TrackPanel.cpp:6437
+#: TrackPanel.cpp:3587 TrackPanel.cpp:6437
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "გადაადგილებული '%s' %s"
 
-#: TrackPanel.cpp:3590
-#: TrackPanel.cpp:6443
+#: TrackPanel.cpp:3590 TrackPanel.cpp:6443
 msgid "Move Track"
 msgstr "ტრეკის გადაადგილება"
 
@@ -3933,14 +3855,6 @@ msgstr "მორგებული Pan"
 msgid "Adjusted gain"
 msgstr " მორგებული gain"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr "Wave ტრეკის მიხედვით დაჯგუდება"
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr "დაჯგუფებების გაწმენდა"
-
 #: TrackPanel.cpp:5923
 msgid "Can't delete track with active audio"
 msgstr "აქტიური აუდიოს მქონე ტრეკის წაშლა შეუძლებელია"
@@ -3961,8 +3875,7 @@ msgstr "მარცხენა,"
 msgid "Right, "
 msgstr "მარჯვენა,"
 
-#: TrackPanel.cpp:6105
-#: TrackPanel.cpp:6251
+#: TrackPanel.cpp:6105 TrackPanel.cpp:6251
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "შეცვლილი '%s'-დან %s-ზე"
@@ -3976,6 +3889,11 @@ msgstr "არხი"
 msgid "Split stereo track '%s'"
 msgstr "სტერო ტრეკის დაყოფა '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6169
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -4002,8 +3920,7 @@ msgstr "ფორმატის შეცვლა"
 msgid "Change lower speed limit (%) to:"
 msgstr "დაბალი სიჩქარის ლიმიტის შეცვლა (%):"
 
-#: TrackPanel.cpp:6406
-#: TrackPanel.cpp:6407
+#: TrackPanel.cpp:6406 TrackPanel.cpp:6407
 msgid "Lower speed limit"
 msgstr "დაბალი სიჩქარის ლიმიტი"
 
@@ -4011,8 +3928,7 @@ msgstr "დაბალი სიჩქარის ლიმიტი"
 msgid "Change upper speed limit (%) to:"
 msgstr "მაღალი სიჩქარის ლიმიტის შეცვლა (%):"
 
-#: TrackPanel.cpp:6413
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6413 TrackPanel.cpp:6414
 msgid "Upper speed limit"
 msgstr "მაღალი სიჩქარის ლიმიტი"
 
@@ -4046,16 +3962,18 @@ msgstr "სახელის შეცვლა"
 msgid "Label Track Font"
 msgstr "ტრეკის შრიფტის იარლიყი"
 
-#: TrackPanel.cpp:6592
-#: TrackPanel.cpp:6598
+#: TrackPanel.cpp:6592 TrackPanel.cpp:6598
 msgid "Face name"
 msgstr "სახის სახელი"
 
-#: TrackPanel.cpp:6602
-#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6602 TrackPanel.cpp:6609
 msgid "Face size"
 msgstr "სახის ზომა"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7171
 msgid "Mute"
 msgstr "დადუმება"
@@ -4089,10 +4007,7 @@ msgstr "სოლო ჩართულია"
 msgid " Select On"
 msgstr "მონიშვნა ჩართულია"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "ხმის გასაღების გამოსაყენებლად მონიშვნა ძალიან მცირეა."
 
@@ -4119,10 +4034,7 @@ msgstr "მიმართულების ცვლილებები  --
 msgid "Audio Track"
 msgstr "აუდიო ტრეკი"
 
-#: WaveTrack.cpp:597
-#: WaveTrack.cpp:616
-#: WaveTrack.cpp:1057
-#: WaveTrack.cpp:1076
+#: WaveTrack.cpp:597 WaveTrack.cpp:616 WaveTrack.cpp:1057 WaveTrack.cpp:1076
 msgid "There is not enough room available to paste the selection"
 msgstr "მონიშვნის ჩასასმელად არ არის საკმარისი სივრცე"
 
@@ -4140,10 +4052,10 @@ msgstr "მოდულები 1-დან %i-მდე"
 msgid "Plugins %i to %i"
 msgstr "მოდულები %i-დან  %i-მდე"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "გაუქმებულია რაღაც მიზეზით. იქნებ რაიმე აუდიოს ამორჩევა სცადოთ ჯერ?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:892
 msgid "You can only do this when playing and recording are\n"
@@ -4189,8 +4101,7 @@ msgstr "გააქტიურებული ეფექტი: %s %.1f dB"
 msgid "Amplify"
 msgstr "გაძლიერება"
 
-#: effects/Amplify.cpp:155
-#: effects/Compressor.cpp:476
+#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
 #: effects/Normalize.cpp:337
 msgid "by Dominic Mazzoni"
 msgstr "Dominic Mazzoni-ის მიერ"
@@ -4211,9 +4122,7 @@ msgstr "ამპლიტუდის ახალი პიკი (dB):"
 msgid "Allow clipping"
 msgstr "სანიშნების დაშვება"
 
-#: effects/Amplify.cpp:222
-#: effects/Amplify.cpp:279
-#: effects/Amplify.cpp:323
+#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
 msgid "-Infinity"
 msgstr "-უსასრულობა"
 
@@ -4229,9 +4138,7 @@ msgstr "გაძლიერება"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "მონიშნული გაქვთ ტრეკი, რომელიც არ შეიცავს აუდიოს. AutoDuck-ს მხოლოდ აუდიო ტრეკების დამუშავება შეუძლია."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Auto Duck"
@@ -4253,24 +4160,14 @@ msgid "Maximum pause:"
 msgstr "მაქსიმალური პაუზა:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: effects/Contrast.cpp:263
-#: effects/Contrast.cpp:286
-#: prefs/AudioIOPrefs.cpp:172
-#: prefs/AudioIOPrefs.cpp:180
-#: prefs/AudioIOPrefs.cpp:182
-#: prefs/AudioIOPrefs.cpp:207
-#: prefs/AudioIOPrefs.cpp:209
-#: prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163
-#: prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:197
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514 effects/Contrast.cpp:263
+#: effects/Contrast.cpp:286 prefs/AudioIOPrefs.cpp:172
+#: prefs/AudioIOPrefs.cpp:180 prefs/AudioIOPrefs.cpp:182
+#: prefs/AudioIOPrefs.cpp:207 prefs/AudioIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:161 prefs/MidiIOPrefs.cpp:163
+#: prefs/MidiIOPrefs.cpp:187 prefs/MidiIOPrefs.cpp:189
+#: prefs/MidiIOPrefs.cpp:197 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "წამები"
 
@@ -4290,8 +4187,7 @@ msgstr "შიდა მინავლების სიგრძე:"
 msgid "Inner fade up length:"
 msgstr "შიდა ხმის აწევის სიგრძე:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:494
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:494
 msgid "Threshold:"
 msgstr "ზღვარი:"
 
@@ -4311,10 +4207,8 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "Auto Duck დამუშავება..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:455
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/nyquist/Nyquist.cpp:1053
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:455
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/nyquist/Nyquist.cpp:1053
 #: widgets/ErrorDialog.cpp:101
 msgid "OK"
 msgstr "დიახ"
@@ -4328,14 +4222,11 @@ msgstr "გააქტიურებული ეფექტი: %s სიხ
 msgid "Bass Boost"
 msgstr "Bass Boost"
 
-#: effects/BassBoost.cpp:182
-#: effects/Phaser.cpp:219
-#: effects/Wahwah.cpp:214
+#: effects/BassBoost.cpp:182 effects/Phaser.cpp:219 effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr "Nasca Octavian Paul-ის მიერ"
 
-#: effects/BassBoost.cpp:196
-#: effects/ChangePitch.cpp:322
+#: effects/BassBoost.cpp:196 effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "სიხშირე (Hz):"
 
@@ -4380,14 +4271,12 @@ msgstr "Pitch შეცვლა"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Pitch  შეცვლა Tempo-ს შეცვლის გარეშე"
 
-#: effects/ChangePitch.cpp:258
-#: effects/ChangeSpeed.cpp:336
+#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:336
 #: effects/ChangeTempo.cpp:173
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "Vaughan Johnson && Dominic Mazzoni მიერ"
 
-#: effects/ChangePitch.cpp:260
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangePitch.cpp:260 effects/ChangeTempo.cpp:175
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "SoundTouch-ის გამოყენებით, Olli Parviainen-ის მიერ"
 
@@ -4427,10 +4316,8 @@ msgstr "ნახევარტონები (ნახევარ-ნაბ
 msgid "Semitones in half-steps"
 msgstr "ნახევარტონები ნახევარნაბიჯებში"
 
-#: effects/ChangePitch.cpp:326
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:206
-#: effects/ChangeTempo.cpp:219
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
+#: effects/ChangeTempo.cpp:206 effects/ChangeTempo.cpp:219
 msgid "from"
 msgstr "დან"
 
@@ -4438,10 +4325,8 @@ msgstr "დან"
 msgid "From frequency in hertz"
 msgstr "სიხშირე hertz-ებში"
 
-#: effects/ChangePitch.cpp:331
-#: effects/ChangeSpeed.cpp:374
-#: effects/ChangeTempo.cpp:211
-#: effects/ChangeTempo.cpp:224
+#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:374
+#: effects/ChangeTempo.cpp:211 effects/ChangeTempo.cpp:224
 msgid "to"
 msgstr "კენ"
 
@@ -4449,16 +4334,13 @@ msgstr "კენ"
 msgid "To frequency in seconds"
 msgstr "სიხშირეზე წამებში"
 
-#: effects/ChangePitch.cpp:338
-#: effects/ChangeSpeed.cpp:347
+#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:347
 #: effects/ChangeTempo.cpp:184
 msgid "Percent Change:"
 msgstr "პროცენტის შეცვლა:"
 
-#: effects/ChangePitch.cpp:343
-#: effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358
-#: effects/ChangeTempo.cpp:195
+#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:195
 msgid "Percent Change"
 msgstr "პროცენტის შეცვლა"
 
@@ -4470,8 +4352,7 @@ msgstr "Pitch-ის შეცვლა..."
 msgid "Changing Pitch"
 msgstr "Pitch-ის შეცვლა..."
 
-#: effects/ChangeSpeed.cpp:54
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:54 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "გამოყენებული ეფექტი: %s %.1f%%"
@@ -4618,9 +4499,9 @@ msgstr "დაწევის დრო:"
 msgid "Decay Time"
 msgstr "დაწევის დრო"
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "0dB-მდე ნორმალიზაცია კომპრესირების შემდეგ"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
 #, c-format
@@ -4657,8 +4538,7 @@ msgstr "%.1f:1"
 msgid "Attack Time %.1f secs"
 msgstr "შეტევის დრო %.1f წამი"
 
-#: effects/Compressor.cpp:576
-#: effects/Compressor.cpp:579
+#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
 #, c-format
 msgid "%.1f secs"
 msgstr "%.1f წამი"
@@ -4676,6 +4556,10 @@ msgstr "კომპრესორი"
 msgid "Applying Dynamic Range Compression..."
 msgstr "დინამიური დიაპაზონის კომპრესიის გააქტიურება..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4695,21 +4579,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr "გამარჯობა.\n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193
-#: effects/Contrast.cpp:204
-#: effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr "გაზომილი"
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr "კონტრასტის ანალიზატორი"
@@ -4718,18 +4587,14 @@ msgstr "კონტრასტის ანალიზატორი"
 msgid "Parameters"
 msgstr "პარამეტრები"
 
-#: effects/Contrast.cpp:242
-#: effects/ToneGen.cpp:355
+#: effects/Contrast.cpp:242 effects/ToneGen.cpp:355
 #: toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "დაწყება"
 
-#: effects/Contrast.cpp:243
-#: effects/ToneGen.cpp:356
-#: toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:156
-#: toolbars/SelectionBar.cpp:159
-#: toolbars/SelectionBar.cpp:262
+#: effects/Contrast.cpp:243 effects/ToneGen.cpp:356
+#: toolbars/ControlToolBar.cpp:189 toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "დასასრული"
 
@@ -4749,6 +4614,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr "გაზომილი"
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4773,8 +4643,7 @@ msgstr "შედეგი"
 msgid "Contrast Result:"
 msgstr "კონტრასტის შედეგი:"
 
-#: Tags.cpp:840
-#: Tags.cpp:1990
+#: Tags.cpp:840 Tags.cpp:1990
 msgid "Reset"
 msgstr "პარამეტრების გარდაქმნა"
 
@@ -4794,21 +4663,11 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "კონტროლი"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
-
-#: effects/Contrast.cpp:328
-#: effects/Contrast.cpp:336
-#: effects/Contrast.cpp:344
+#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
 #: effects/Contrast.cpp:352
 msgid "Measure"
 msgstr "გაზომვა"
@@ -4821,8 +4680,7 @@ msgstr ""
 msgid "Measured foreground level"
 msgstr ""
 
-#: effects/Contrast.cpp:191
-#: effects/Contrast.cpp:202
+#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
 #, c-format
 msgid "%.1f dB"
 msgstr "%.1f dB"
@@ -4917,18 +4775,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr "ფონის გაზომვა"
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr "წინა პლანის გაზომვა"
-
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "DTMF ტონის გენერატორი"
@@ -4941,9 +4787,7 @@ msgstr "Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "DTMF მიმსევრობა:"
 
-#: effects/DtmfGen.cpp:463
-#: effects/Noise.cpp:242
-#: effects/ToneGen.cpp:322
+#: effects/DtmfGen.cpp:463 effects/Noise.cpp:242 effects/ToneGen.cpp:322
 #: effects/ToneGen.cpp:359
 msgid "Amplitude (0-1)"
 msgstr "ამპლიტუდა (0-1)"
@@ -4964,9 +4808,7 @@ msgstr "მუშაობის ციკლი:"
 msgid "Tone duration:"
 msgstr "ტონის ხანგრძლივობა:"
 
-#: effects/DtmfGen.cpp:499
-#: effects/DtmfGen.cpp:501
-#: effects/DtmfGen.cpp:577
+#: effects/DtmfGen.cpp:499 effects/DtmfGen.cpp:501 effects/DtmfGen.cpp:577
 #: effects/DtmfGen.cpp:578
 msgid "ms"
 msgstr "ms"
@@ -4999,8 +4841,7 @@ msgstr "ექო"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195
-#: effects/Repeat.cpp:200
+#: effects/Echo.cpp:195 effects/Repeat.cpp:200
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "Dominic Mazzoni && Vaughan Johnson"
 
@@ -5049,8 +4890,7 @@ msgstr "Cosine"
 msgid "Cubic"
 msgstr "კუბური"
 
-#: effects/Equalization.cpp:367
-#: effects/Equalization.cpp:416
+#: effects/Equalization.cpp:367 effects/Equalization.cpp:416
 msgid "Equalization"
 msgstr "ეკვალიზაცია"
 
@@ -5062,6 +4902,10 @@ msgstr "EQ ხვეულას ჩატვირთვის შეცდო
 msgid "custom"
 msgstr "ინდივიდუალური"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1101
@@ -5100,8 +4944,7 @@ msgstr "ფილტრის სიგრძე:"
 msgid "Select curve:"
 msgstr "ხვეულას ამორჩევა:"
 
-#: effects/Equalization.cpp:1273
-#: effects/Equalization.cpp:2512
+#: effects/Equalization.cpp:1273 effects/Equalization.cpp:2512
 #: export/ExportMultiple.cpp:882
 msgid "Save As..."
 msgstr "შენახვა, როგორც..."
@@ -5114,8 +4957,7 @@ msgstr "ბრტყელი"
 msgid "Enter the desired name of the curve"
 msgstr "შეიყვანეთ ხვეულას სასურველი სახელი"
 
-#: effects/Equalization.cpp:2611
-#: export/ExportFFmpegDialogs.cpp:1220
+#: effects/Equalization.cpp:2611 export/ExportFFmpegDialogs.cpp:1220
 msgid "Confirm Deletion"
 msgstr "წაშლის დადასტურება"
 
@@ -5215,8 +5057,7 @@ msgstr "უფრო მძიმე"
 msgid "Heaviest"
 msgstr "უმძიმესი"
 
-#: effects/Leveller.cpp:212
-#: effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:212 effects/TruncSilence.cpp:331
 msgid "by Lynn Allan"
 msgstr "Lynn Allan-ის მიერ"
 
@@ -5268,11 +5109,6 @@ msgstr "კონვერტორი"
 msgid "Analyser"
 msgstr "ანალიზატორი"
 
-#: effects/LoadEffects.cpp:114
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "მიქსერი"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr "სიმულატორი"
@@ -5289,8 +5125,7 @@ msgstr "მოდულატორი"
 msgid "Reverb"
 msgstr "ექო"
 
-#: effects/LoadEffects.cpp:124
-#: effects/Phaser.cpp:208
+#: effects/LoadEffects.cpp:124 effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "ფეიზერი"
 
@@ -5378,8 +5213,7 @@ msgstr "ლიმიტერი"
 msgid "Gate"
 msgstr "გეითი"
 
-#: effects/LoadEffects.cpp:199
-#: effects/NoiseRemoval.cpp:725
+#: effects/LoadEffects.cpp:199 effects/NoiseRemoval.cpp:725
 msgid "Noise Removal"
 msgstr "ხარვეზების გაწმენდა"
 
@@ -5514,15 +5348,9 @@ msgstr "ხარვეზის წაშლა"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "გააქტიურებული ეფექტი: %s dc ოფსეტის წაშლა = %s, ამპლიტუდის ნორმალიზაცია = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "ყალბი"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "სწორი"
 
@@ -5535,8 +5363,7 @@ msgstr ", მაქსიმალური ამპლიტუდა = %.1f d
 msgid "Normalize"
 msgstr "ნორმალიზაცია"
 
-#: effects/Normalize.cpp:351
-#: effects/Normalize.cpp:352
+#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "ნებისმიერი DC ოფსეტის წაშლა (ცენტრირება 0.0 ვერტიკალურად)"
 
@@ -5581,23 +5408,19 @@ msgstr "მშრალი/ნოტიო"
 msgid "Dry Wet"
 msgstr "მშრალი ნოტიო"
 
-#: effects/Phaser.cpp:236
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:236 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO სიხშირე (Hz):"
 
-#: effects/Phaser.cpp:239
-#: effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
 msgid "LFO frequency in hertz"
 msgstr "LFO სიხშირე ჰერცებში"
 
-#: effects/Phaser.cpp:241
-#: effects/Wahwah.cpp:226
+#: effects/Phaser.cpp:241 effects/Wahwah.cpp:226
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO ფაზის დაწყება (deg.):"
 
-#: effects/Phaser.cpp:244
-#: effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
 msgid "LFO start phase in degrees"
 msgstr "LFO საწყისი ფაზა გრადუსებში"
 
@@ -5605,8 +5428,7 @@ msgstr "LFO საწყისი ფაზა გრადუსებში"
 msgid "Depth:"
 msgstr "სიღრმე"
 
-#: effects/Phaser.cpp:249
-#: effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
 msgid "Depth in percent"
 msgstr "სიღრმე პროცენტულად"
 
@@ -5659,8 +5481,7 @@ msgstr "გამეორდა %d-ჯერ"
 msgid "Tracks are too long to repeat the selection."
 msgstr "ტრეკები ძალიან გრძელია მონიშვნის გასამეორებლად."
 
-#: effects/Repeat.cpp:77
-#: effects/Repeat.cpp:187
+#: effects/Repeat.cpp:77 effects/Repeat.cpp:187
 msgid "Repeat"
 msgstr "გამეორება"
 
@@ -5678,8 +5499,7 @@ msgstr "ახალი მონიშვნის სიგრძე:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:262
-#: widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:262 widgets/TimeTextCtrl.cpp:270
 msgid "hh:mm:ss"
 msgstr "სს:წწ:წწ"
 
@@ -5803,8 +5623,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "დამატებული ეფექტი: გენერაცია %s ტალღა %s, სიხშირე = %.2f Hz,ამპლიტუდა = %.2f, %.6lf წამები"
 
-#: effects/ToneGen.cpp:69
-#: widgets/Meter.cpp:416
+#: effects/ToneGen.cpp:69 widgets/Meter.cpp:416
 msgid "Linear"
 msgstr "ლინეარული"
 
@@ -5836,8 +5655,7 @@ msgstr "კბილოვანი ტალღა"
 msgid "Square, no alias"
 msgstr "კვადრატი, გასწორების გარეშე"
 
-#: effects/ToneGen.cpp:321
-#: effects/ToneGen.cpp:357
+#: effects/ToneGen.cpp:321 effects/ToneGen.cpp:357
 msgid "Frequency (Hz)"
 msgstr "სიხშირე (Hz)"
 
@@ -5885,30 +5703,44 @@ msgstr "ტონის გენერაცია"
 msgid "All tracks must have the same sample rate"
 msgstr "ყველა ტრეკს სემპლის თანაბარი კოეფიციენტი უნდა გააჩნდეს"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:321
 msgid "Truncate Silence"
 msgstr "სიჩუმის ამოჭრა"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "სიჩუმის მაქს ხანგრძლივობა:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
-#: effects/TruncSilence.cpp:348
-#: prefs/AudioIOPrefs.cpp:196
-#: prefs/AudioIOPrefs.cpp:199
-#: prefs/MidiIOPrefs.cpp:174
+#: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:196
+#: prefs/AudioIOPrefs.cpp:199 prefs/MidiIOPrefs.cpp:174
 #: prefs/MidiIOPrefs.cpp:177
 msgid "milliseconds"
 msgstr "მილიწამები"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "სიჩუმის მაქს ხანგრძლივობა:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
 msgstr "სიჩუმის ზღვარი:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "ხანგრძლივობა უნდა იყოს 1 მილიწამი მაინც"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5918,17 +5750,55 @@ msgstr "სიჩუმის ამოჭრა..."
 msgid "Truncating Silence..."
 msgstr "სიჩუმის ამოჭრა..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "ვწუხვართ, VST  ეფექტის შესრულება შეუძლებელია სტერეო ტრეკებზე, როდესაც ინდივიდუალური არხები ან ტრეკები ვერ ეთხვევა."
+#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:823
+msgid "Effect Settings"
+msgstr "ეფექტის პარამეტრები"
+
+#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "არცერთიი"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "შეუძლებელია ჩანაცვლების დამუშავება"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST მოდულის პარამეტრები:"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5968,54 +5838,34 @@ msgid "Applying Wahwah"
 msgstr "Wahwah-ის გააქტიურება"
 
 #: effects/audiounits/AudioUnitEffect.cpp:138
-#: effects/ladspa/LadspaEffect.cpp:176
-#: effects/lv2/LV2Effect.cpp:191
+#: effects/ladspa/LadspaEffect.cpp:176 effects/lv2/LV2Effect.cpp:191
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "ეფესტის შესრულება: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:196
-#: effects/lv2/LV2Effect.cpp:211
+#: effects/ladspa/LadspaEffect.cpp:196 effects/lv2/LV2Effect.cpp:211
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "ვწუხვართ, მოდულის ეფექტის შესულება შეუძლებელია სტერეო ტრეკებზე, სადაც ტრეკის ინდივიდუალური არხები არ ემთხვევა."
 
-#: effects/ladspa/LadspaEffect.cpp:580
-#: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "არცერთიი"
-
-#: effects/ladspa/LadspaEffect.cpp:582
-#: effects/lv2/LV2Effect.cpp:798
+#: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:798
 #: effects/vamp/VampEffect.cpp:395
 msgid "Author: "
 msgstr "ავტორი:"
 
-#: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "ეფექტის პარამეტრები"
-
-#: effects/ladspa/LadspaEffect.cpp:710
-#: effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:834
-#: effects/lv2/LV2Effect.cpp:837
+#: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
+#: effects/lv2/LV2Effect.cpp:834 effects/lv2/LV2Effect.cpp:837
 msgid "Length (seconds)"
 msgstr "სიგრძე (წამებო)"
 
-#: effects/lv2/LV2Effect.cpp:849
-#: effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
 msgid "Note length (seconds)"
 msgstr "შენიშვნის სიგრძე (წამები)"
 
-#: effects/lv2/LV2Effect.cpp:860
-#: effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
 msgid "Note velocity"
 msgstr "შენიშვნის სიჩქარე"
 
-#: effects/lv2/LV2Effect.cpp:871
-#: effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
 msgid "Note key"
 msgstr "შენიშვნის გასაღები"
 
@@ -6023,8 +5873,7 @@ msgstr "შენიშვნის გასაღები"
 msgid "Applying Nyquist Effect..."
 msgstr "Nyquist ეფექტის გააქტიურება..."
 
-#: effects/nyquist/Nyquist.cpp:264
-#: effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:264 effects/nyquist/Nyquist.cpp:326
 msgid "Nyquist Prompt..."
 msgstr "Nyquist Prompt..."
 
@@ -6044,8 +5893,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Nyquist გამონატანი: "
 
-#: effects/nyquist/Nyquist.cpp:603
-#: effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:603 effects/nyquist/Nyquist.cpp:614
 msgid "Nyquist returned the value:"
 msgstr "Nyquist-მა დააბრუნა მნიშვნელობა:"
 
@@ -6082,8 +5930,7 @@ msgstr " - Vamp აუდიო ანალიზის მოდული"
 msgid "Plugin Settings"
 msgstr "მოდულის პარამეტრები"
 
-#: effects/vamp/VampEffect.cpp:442
-#: effects/vamp/VampEffect.cpp:448
+#: effects/vamp/VampEffect.cpp:442 effects/vamp/VampEffect.cpp:448
 msgid "Program"
 msgstr "პროგრამა"
 
@@ -6154,8 +6001,7 @@ msgstr "- მარჯვენა"
 msgid "Mixer Panel"
 msgstr "მიქსერის ზოლი"
 
-#: export/Export.cpp:1078
-#: export/Export.cpp:1125
+#: export/Export.cpp:1078 export/Export.cpp:1125
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "გამონატანი არხები: %2d"
@@ -6185,8 +6031,7 @@ msgstr "მონაცემები დაუკავშირდება 
 msgid "(external program)"
 msgstr "(გარე პროგრამა)"
 
-#: export/ExportCL.cpp:253
-#: export/ExportPCM.cpp:457
+#: export/ExportCL.cpp:253 export/ExportPCM.cpp:457
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "შეუძლებელია აუდიოს ექსპორტი %s-ზე"
@@ -6203,9 +6048,21 @@ msgstr "მთლიანი პროექტის ბრძანები
 msgid "Command Output"
 msgstr "ბრძანების გამონატანი"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6229,8 +6086,7 @@ msgstr "მონიშნული აუდიოს ექსპორტი
 msgid "Exporting entire file as %s"
 msgstr "მთლიანი ფაილის ექსპორტი როფორც  %s"
 
-#: export/ExportFFmpeg.cpp:702
-#: export/ExportMP3.cpp:1920
+#: export/ExportFFmpeg.cpp:702 export/ExportMP3.cpp:1920
 msgid "Invalid sample rate"
 msgstr "სემპლის არასწორი კოეფიციენტი"
 
@@ -6248,13 +6104,11 @@ msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 msgstr "პროექტის სემპლისა (%d) და ბიტური კოეფიციენტის (%d kbps) კომბინაცია მხარდაჭერილი არ არის\n"
 "მიმდინარე გამონატანის ფაილის ფორმატით."
 
-#: export/ExportFFmpeg.cpp:721
-#: export/ExportMP3.cpp:1939
+#: export/ExportFFmpeg.cpp:721 export/ExportMP3.cpp:1939
 msgid "You may resample to one of the rates below."
 msgstr "შეგიძლიათ მოახედინოთ ერთ-ერთი კოეფიციენტის რესემპლირება."
 
-#: export/ExportFFmpeg.cpp:749
-#: export/ExportMP3.cpp:1962
+#: export/ExportFFmpeg.cpp:749 export/ExportMP3.cpp:1962
 msgid "Sample Rates"
 msgstr "სემპლის კ0ოეფიციენტები"
 
@@ -6266,12 +6120,9 @@ msgstr "AC3 პარამეტრების განსაზვრა"
 msgid "AC3 Export Setup"
 msgstr "AC3 ექსპორტის მომართვა"
 
-#: export/ExportFFmpegDialogs.cpp:121
-#: export/ExportFFmpegDialogs.cpp:245
-#: export/ExportFFmpegDialogs.cpp:314
-#: export/ExportFFmpegDialogs.cpp:385
-#: export/ExportFFmpegDialogs.cpp:937
-#: export/ExportMP2.cpp:133
+#: export/ExportFFmpegDialogs.cpp:121 export/ExportFFmpegDialogs.cpp:245
+#: export/ExportFFmpegDialogs.cpp:314 export/ExportFFmpegDialogs.cpp:385
+#: export/ExportFFmpegDialogs.cpp:937 export/ExportMP2.cpp:133
 msgid "Bit Rate:"
 msgstr "ბიტური კოეფიციენტი:"
 
@@ -6283,6 +6134,10 @@ msgstr "AAC პარამეტრების განსაზღვრა"
 msgid "AAC Export Setup"
 msgstr "AAC ექსპორტის მომართვა"
 
+#: export/ExportFFmpegDialogs.cpp:940 export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "ხარისხი"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr "AMR-NB პარამეტრების განსაზღვრა"
@@ -6389,8 +6244,7 @@ msgstr "ყველა კოდეკის ჩვენება"
 msgid "Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:931
-#: prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:931 prefs/GUIPrefs.cpp:166
 msgid "Language:"
 msgstr "ენა:"
 
@@ -6424,13 +6278,9 @@ msgstr "ბიტური კოეფიციენტი (ბიტები
 "0 -ავტომატური\n"
 "რეკომენდებული - 19200"
 
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "ხარისხი"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+#, fuzzy
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6453,13 +6303,14 @@ msgstr "სემპლის კოეფიციენტი (Hz)\n"
 msgid "Cutoff Bandwidth:"
 msgstr "Cutoff Bandwidth:"
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
+#, fuzzy
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr "აუდიოს მოჭრის სიხშირის გაშვების სიბრტყე (Hz)\n"
 "ნებაყოფლობითიl\n"
-"0 - ავტომატური\n"
+"0 - ავტომატური"
 
 #: export/ExportFFmpegDialogs.cpp:949
 msgid "Profile:"
@@ -6681,13 +6532,13 @@ msgstr "M4A (AAC) ფაილები (FFmpeg)"
 msgid "AC3 Files (FFmpeg)"
 msgstr "AC3 Fფაილები (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr "AMR (narrow band) ფაილები (FFmpeg)"
-
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr "AMR (wide band) ფაილები (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
 msgid "WMA (version 2) Files (FFmpeg)"
@@ -6797,6 +6648,17 @@ msgstr "ბიტური სიღრმე:"
 msgid "FLAC Files"
 msgstr "FLAC ფაილები"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:312
 msgid "Exporting the selected audio as FLAC"
 msgstr "მონიშნული აუდიოს ექსპორტი FLAC ფორმატში"
@@ -6821,9 +6683,7 @@ msgstr "MP2 ფაილები"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "შეუძლებელია MP2 ექსპორტი თანაბარი სემპლისა და ბიტის კოეფიციენტით"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1771
-#: export/ExportOGG.cpp:186
+#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1771 export/ExportOGG.cpp:186
 msgid "Unable to open target file for writing"
 msgstr "შეუძლებელია სამიზნე ფაილის გახსნა ჩასაწერად"
 
@@ -6837,9 +6697,7 @@ msgstr "მონიშნული აუდიოს ექსპორტი
 msgid "Exporting entire file at %d kbps"
 msgstr "მთლიანი ფაილის ექსპორტი %d კბწით"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "კბწ"
 
@@ -6855,9 +6713,7 @@ msgstr "(პატარა ფაილები)"
 msgid "Fast"
 msgstr "სწრაფი"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "სტანდარტული"
@@ -6902,8 +6758,7 @@ msgstr "საშუალო"
 msgid "Constant"
 msgstr "კონსტანტა"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "ხარისხი"
@@ -7024,10 +6879,8 @@ msgstr "პროექტის სემპლის (%d) და ბიტი
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:96
-#: export/ExportMultiple.cpp:426
-#: export/ExportMultiple.cpp:667
-#: export/ExportMultiple.cpp:834
+#: export/ExportMultiple.cpp:96 export/ExportMultiple.cpp:426
+#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:834
 msgid "Export Multiple"
 msgstr "მრავალჯერადი ექსპორტი"
 
@@ -7057,11 +6910,6 @@ msgstr "პარამეტრები..."
 msgid "Export location:"
 msgstr "მდებარეობის ექსპორტირება:"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "არჩევა..."
-
 #: export/ExportMultiple.cpp:246
 msgid "Create"
 msgstr "შექმნა"
@@ -7070,8 +6918,7 @@ msgstr "შექმნა"
 msgid "Split files based on:"
 msgstr "ფაილების დაყოფა:"
 
-#: export/ExportMultiple.cpp:262
-#: export/ExportMultiple.cpp:264
+#: export/ExportMultiple.cpp:262 export/ExportMultiple.cpp:264
 msgid "Labels"
 msgstr "იარლიყების მიხედვით"
 
@@ -7087,22 +6934,15 @@ msgstr "პირველი ფაილის სახელი:"
 msgid "First file name"
 msgstr "პირველი ფაილის სახელი:"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "ტრეკები"
-
 #: export/ExportMultiple.cpp:297
 msgid "Name files:"
 msgstr "ფაილების სახელების დარქმევა:"
 
-#: export/ExportMultiple.cpp:306
-#: export/ExportMultiple.cpp:308
+#: export/ExportMultiple.cpp:306 export/ExportMultiple.cpp:308
 msgid "Using Label/Track Name"
 msgstr "იარლიყის/ტრეკის სახელის გამოყენება"
 
-#: export/ExportMultiple.cpp:314
-#: export/ExportMultiple.cpp:316
+#: export/ExportMultiple.cpp:314 export/ExportMultiple.cpp:316
 msgid "Numbering consecutively"
 msgstr "მიმდევრობით დანომრვა"
 
@@ -7127,6 +6967,35 @@ msgstr "\"%s\" წარმატებით შეიქმნა."
 msgid "Choose a location to save the exported files"
 msgstr "ექსპორტირებული ფაილების შესანახი მდებარეობის არჩევა"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:539
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -7136,23 +7005,10 @@ msgstr "\"%s\" არ არსებობს\n"
 "\n"
 "გსურთ შექმნა?"
 
-#: export/ExportMultiple.cpp:637
-#: export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
 msgid "Edit metadata"
 msgstr "მეტამონაცემების რედაქტირება"
 
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d ფაილების წარმატებული ექსპორტი."
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "%d ფაილ(ებ)ის ექსპორტისას რაღაც დაზიანდა."
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7192,8 +7048,7 @@ msgstr "არაკომპრესირებული ექსპორ
 msgid "Header:"
 msgstr "ჰედერი:"
 
-#: export/ExportPCM.cpp:195
-#: import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:195 import/ImportRaw.cpp:366
 msgid "Encoding:"
 msgstr "კოდირება:"
 
@@ -7261,8 +7116,7 @@ msgstr ""
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
 msgstr ""
 
-#: import/Import.cpp:156
-#: import/ImportMP3.cpp:47
+#: import/Import.cpp:156 import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "MP3 ფაილები"
 
@@ -7434,6 +7288,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC ფაილები"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "ძირითადი ტექსტური ფორმატის ფაილთა სია"
@@ -7444,9 +7302,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "LOF ფაილში არასწორი ფანჯრის ოფსეტია."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:316
-#: import/ImportLOF.cpp:337
-#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:316 import/ImportLOF.cpp:337 import/ImportLOF.cpp:418
 #: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "LOF შეცდომა"
@@ -7469,9 +7325,7 @@ msgstr "LOF ფაილში არასწორი ტრეკის ო
 msgid ": Filename too short."
 msgstr ": ფაილის სახელი ძალიან მოკლეა."
 
-#: import/ImportMIDI.cpp:31
-#: import/ImportMIDI.cpp:39
-#: import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
 msgstr "შეუძლებელია ფაილის გახსნა"
@@ -7508,8 +7362,7 @@ msgstr "შიდა ლოგიკური შეცდომა"
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, და სხვა არაკომპრესირებული ტიპები"
 
-#: import/ImportPlugin.h:142
-#: import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
 #, c-format
 msgid "Importing %s"
 msgstr "%s იმპორტირება"
@@ -7596,155 +7449,59 @@ msgstr "Waveform დეკოდირება"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr "%s %2.0f%% დასრულებულია. დაუწკაპუნეთ დავალების ფოკუსის წერტილის შესაცვლელად."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "აუდიო I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "ჯგუფური"
 
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (მონო)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "ქცევა"
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (სტერეო)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "არ გააქტიურო ეფექტები ჯგუფურ რეჟიმში"
 
-#: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "დაკვრა"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Cl&eanSpeech რეჟიმი (მორგებული GUI)"
 
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "მოწყობილობა"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "ინტერფეისი"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:124
-#: prefs/MidiIOPrefs.cpp:121
+#: prefs/AudioIOPrefs.cpp:124 prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "გამოყენებით:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:117 prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "დაკვრა"
 
-#: prefs/AudioIOPrefs.cpp:135
-#: prefs/MidiIOPrefs.cpp:132
+#: prefs/AudioIOPrefs.cpp:135 prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
 msgstr "ჩაწერა"
 
-#: prefs/AudioIOPrefs.cpp:141
-#: prefs/MidiIOPrefs.cpp:138
+#: prefs/AudioIOPrefs.cpp:141 prefs/MidiIOPrefs.cpp:138
 msgid "Channels"
 msgstr "არხები"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "დაკვრა"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "ოვერდუბლიკაცია: სხვა ტრეკების &დაკვრა ახლის ჩაწერის პარალელურად"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&მოწყობილობის დაკვრა: ახალი ტრეკის დაკვრა და ჩაწერა"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&მოწყობილობის დაკვრა: ახალი ტრეკის დაკვრა და ჩაწერა"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "&მოწყობილობის დაკვრა: ახალი ტრეკის დაკვრა და ჩაწერა ან მონიტორინგი"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(ამორთვა ჩაწერისას  \"სტერეო შერევა\")"
-
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "ეფექტის დათვალიერება"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "დათვალიერების რეჟიმის სიგრძე:"
-
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "ესკიზის ამოჭრა"
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr "არეს ამოჭრამდე დათვალიერება:"
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr "ამოჭრის მერე დათვალიერება:"
-
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "ლატენცია"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "გასაცვლელი აუდიო:\n"
-"(რაც მაღალია = მეტია ლატენცია)"
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "ლატენციის გასწორება\n"
-"(ნეგატიური = უკან)"
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr "დროის ძიება დაკვრისას"
-
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "მოკლე პერიოდი:"
-
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "გრძელი პერიოდი:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "ჯგუფური"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "ქცევა"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "არ გააქტიურო ეფექტები ჯგუფურ რეჟიმში"
+#: prefs/AudioIOPrefs.cpp:102 prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (მონო)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Cl&eanSpeech რეჟიმი (მორგებული GUI)"
+#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (სტერეო)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:267
 msgid "Directories"
 msgstr "დირექტორიები"
@@ -7761,34 +7518,31 @@ msgstr "მდებარეობა:"
 msgid "Free Space:"
 msgstr "თავისუფალი სივრცე:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "ავტოშენახვა"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "პროექტის ასლის ცალკე საქაღალდეში ავტოშენახვა"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "ავტოშენახვის ინტერვალი:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "წუთები"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "აუდიო ქეში"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "დროებითი დირექტორიის მოსათავსებელი მდებარეობის შერჩევა"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7807,228 +7561,144 @@ msgstr "%s დირექტორია არაჩაწერადია"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "დროებით დირექტორიაში შეტანილიც ცვლილებები არ გააქტიურდება Audacity-ის გადატვირთვამდე"
 
-#: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "იმპორტი / ექსპორტი"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "MP3 ექსპორტის ბიბლიოთეკა"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "MP3 ბიბლიოთეკის ვერსია:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "ბრაუზერში"
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "MP3 ბიბლიოთეკა:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "ინტერნეტიდან"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3 ბიბლიოთეკა:"
-
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&ჩამოტვირთვა"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "FFmpeg იმპორტი/ექსპორტის ბიბლიოთეკა"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "FFmpeg  ბიბლიოთეკის ვერსია:"
-
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "FFmpeg ბიბლიოთეკა:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "შენიშვნა: ხარისხის პარამეტრების ექსპორტის ამორჩევა შეიძლება პარამეტრების ღილაკზე დაწკაპუნებით ექსპორტის დიალოგურ სარკმელში.\n"
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "აუდიოს ფაილების იმპორტისას "
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&შექმენით არაკომპრესირებული აუდიო ფაილების ასლი რედაქტირებამდე (უსაფრთხოა)"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "არაკომპრესირებული ფაილების &წაკითხვა პირდაპირ ორიგინალიდან (უფრო სწრაფია)"
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr "ყველა ტრეკის &ნორმალიზაცია პროექტში"
-
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "პროექტის შენახვისას, რომელიც დამოკიდებულია სხვა აუდიო ფაილებზე"
-
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "ყოველთვის &დააკოპირე ყველა აუდიო პროექტში (უსაფრთხო)"
-
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&არ დააკოპირო არცერთი აუდიო"
-
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "მომხმარებლისთვის კითხვა"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "ტრეკების ექსპორტისას აუდიო ფაილში"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&ყოველთვის დაიყვანე ყველა ტრეკი სტერეო ან მონო არხამდე."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&ინდივიდუალური მიქსინგის გამოყენება (მაგ.  5.1 მულტიარხოვანი ფაილის ექსპორტირებისთვის)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "მეტამონაცემების რედაქტორის ჩვენება ექსპორტამდე"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "ინტერფეისი"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (მეჩხერი დიაპაზონი მაღალი ამპლიტუდის რედაქტირებისთვის)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "ბრაუზერში"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM დიაპაზონი 8 ბიტიანი სემპლებისთვის)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "ინტერნეტიდან"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM დიაპაზონი 10 ბიტიანი სემპლებისთვის)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "მარტივი"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM დიაპაზონი 16  ბიტიანი სემპლებისთვის)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&ეკრანის განახლება დაკვრისას"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (დაახლოებითი ლიმიტი ადამიანის სმენადობისთვის)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "უკანასკნელი ფანჯრის დახურვა იწვევს  Audacity-ის დახურვას"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM დიაპაზონი 24 ბიტიანი სემპლებისთვის)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "მარცხენა და მარჯვენა მონიშვნის კიდეების გადათრევის გააქტიურება"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "ეკრანი"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr "აუდიო  I/O ღილაკების ერ&გონომიული განლაგება"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "ვერტიკალურად გადიდებული ტრეკების ავტომატური მორგება"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"ტრეკის ფოკუსის ციკლების გადაადგილება\" განმეორებითად ტრეკებზე"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "კლიპის რედაქტირება გამოიწვევს სხვა კლიპების გადაადგილებას"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
+msgstr "დახმარება:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "ყველა აუდიოს მონიშვნა პროექტში, თუ არცერთი არაა მონიშნული"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
+msgstr "უკანასკნელი ფანჯრის დახურვა იწვევს  Audacity-ის დახურვას"
 
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "დიდი ხანგრძლივობის მოქმედებების დასრულებისას სიგნალი"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "ჩვენება / დამალვა"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "ხაზების მოჭრის გააქტიურება"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "დროებითი ფაილების გაფრთხილებების ჩვენება"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "შენახვის შეკითხვის ჩვენება, მაშინაც თუ პროექტი ცარიელია"
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "მისალმების &შეტყობინების ჩვენება პროგრამის დასაწყისში"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "რეჟიმები"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr "არ გააქტიურო ეფექტები ჯგუფური დამუშავების რეჟიმში"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "დიაპაზონის მინიმუმის ჩვენება: მთვლელი და  'Waveform (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (მეჩხერი დიაპაზონი მაღალი ამპლიტუდის რედაქტირებისთვის)"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
+msgstr "იმპორტი / ექსპორტი"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM დიაპაზონი 8 ბიტიანი სემპლებისთვის)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "აუდიოს ფაილების იმპორტისას "
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (PCM დიაპაზონი 10 ბიტიანი სემპლებისთვის)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&შექმენით არაკომპრესირებული აუდიო ფაილების ასლი რედაქტირებამდე (უსაფრთხოა)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM დიაპაზონი 16  ბიტიანი სემპლებისთვის)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "არაკომპრესირებული ფაილების &წაკითხვა პირდაპირ ორიგინალიდან (უფრო სწრაფია)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (დაახლოებითი ლიმიტი ადამიანის სმენადობისთვის)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr "ყველა ტრეკის &ნორმალიზაცია პროექტში"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM დიაპაზონი 24 ბიტიანი სემპლებისთვის)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr "ტრეკების ექსპორტისას აუდიო ფაილში"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "ნაგულისხმები დათვალიერების რეჟიმი"
+#: prefs/FileFormatPrefs.cpp:160
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&ყოველთვის დაიყვანე ყველა ტრეკი სტერეო ან მონო არხამდე."
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "ინტერფეისის სხვა არჩევანი"
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&ინდივიდუალური მიქსინგის გამოყენება (მაგ.  5.1 მულტიარხოვანი ფაილის ექსპორტირებისთვის)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr "დახმარება:"
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
+msgstr "მეტამონაცემების რედაქტორის ჩვენება ექსპორტამდე"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "სოლო ღილაკი:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "კლავიატურა"
 
@@ -8052,22 +7722,26 @@ msgstr "მ&ორგება"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "შენიშნვა: Cmd+Q-ზე დაჭერა გამოწვევს დახურვას. ყველა სხვა კლავიში დასაშვებია."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&ნაგულისხმევი პარამეტრები"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "კლავიშთა კომბინაცია"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "კლავიშების მალსახმობების ექსპორტი როგორც:"
+#: prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "დაბრუნება"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "კლავიშების მალსახმობები შენახვის შეცდომა"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:198
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -8077,6 +7751,14 @@ msgstr "მონიშნეთ XML ფაილი, რომელიც შ
 msgid "Error loading keyboard shortcuts"
 msgstr "კლავიშების მალსახმობები ჩატვირთვის შეცდომა"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "კლავიშების მალსახმობების ექსპორტი როგორც:"
+
+#: prefs/KeyConfigPrefs.cpp:183
+msgid "Error saving keyboard shortcuts"
+msgstr "კლავიშების მალსახმობები შენახვის შეცდომა"
+
 #: prefs/KeyConfigPrefs.cpp:243
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -8086,10 +7768,62 @@ msgstr "კლავიშის '%s' მალსახმობს უკვ
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "დაბრუნება"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "MP3 ექსპორტის ბიბლიოთეკა"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "MP3 ბიბლიოთეკის ვერსია:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "MP3 ბიბლიოთეკა:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3 ბიბლიოთეკა:"
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "&ჩამოტვირთვა"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg იმპორტი/ექსპორტის ბიბლიოთეკა"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg  ბიბლიოთეკის ვერსია:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "FFmpeg ბიბლიოთეკა:"
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "აუდიო I/O"
+
+#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:147 prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr "დაკვრა"
 
 #: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
@@ -8103,6 +7837,10 @@ msgstr "&მოწყობილობის მიერ დაკვრა (
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "&პროგრამული დაკვრა (ახალი ტრეკის დაკვრა  ჩაწერისას)"
 
+#: prefs/AudioIOPrefs.cpp:176 prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr "ესკიზის ამოჭრა"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr "არეს ამოჭრამდე დაკვრა:"
@@ -8111,6 +7849,10 @@ msgstr "არეს ამოჭრამდე დაკვრა:"
 msgid "Play after cut region:"
 msgstr "არეს ამოჭრის შემდეგ დაკვრა:"
 
+#: prefs/AudioIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
+msgstr "ლატენცია"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr "გასაცვლელი აუდიო:"
@@ -8123,12 +7865,23 @@ msgstr "ლატენციის კორექცია:"
 msgid "Seek Time"
 msgstr "ძიების დრო"
 
+#: prefs/AudioIOPrefs.cpp:206 prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr "მოკლე პერიოდი:"
+
+#: prefs/AudioIOPrefs.cpp:208 prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr "გრძელი პერიოდი:"
+
+#: prefs/AudioIOPrefs.cpp:168 prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr "ეფექტის დათვალიერება"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr "დაკვრა დათვალიერებისას:"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "მაუსი"
 
@@ -8148,37 +7901,26 @@ msgstr "ბრძანების ქმედება"
 msgid "Buttons"
 msgstr "ღილაკები"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "მარცხენა-წკაპი"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "მონიშვნა"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "მონიშვნის წერტილის დაყენება"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "მარცხენა გადათრევა"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "მონიშვნის დიაპაზონის მომართვა"
 
@@ -8206,12 +7948,8 @@ msgstr "Ctrl-მარცხენა წკაპი"
 msgid "Set Selection Point and Play"
 msgstr "მონიშვნის წერილისა და დაკვრის მომართა"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "გადიდება"
 
@@ -8219,9 +7957,7 @@ msgstr "გადიდება"
 msgid "Zoom in on Point"
 msgstr "წერტილზე მასშტაბირება"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "დიაპაზონზე მასშტაბირება"
 
@@ -8229,18 +7965,15 @@ msgstr "დიაპაზონზე მასშტაბირება"
 msgid "same as right-drag"
 msgstr "იგივე, რაც მარჯვენა გადათრევა"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "მარჯვენა წკაპი"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "ერთი ნაბიჯის შემცირება"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "მარჯვენა გადათრევა"
 
@@ -8276,8 +8009,7 @@ msgstr "Shift-მარცხენა-გადათრევა"
 msgid "Time shift all clips in track"
 msgstr "ყველა სანიშნის დროის ცვლა ტრეკში"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-მარცხენა-გადათრევა"
 
@@ -8293,9 +8025,7 @@ msgstr "გაძლიერების კონვერტის შეც
 msgid "Change Sample"
 msgstr "სემპლის შეცვლა"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "ფანქარი"
@@ -8316,26 +8046,20 @@ msgstr "რამდენიმე სემპლის შეცვლა"
 msgid "Change ONE Sample only"
 msgstr "მხოლოდ ერთი სემპლის შეცვლა"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "მრავალი"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "იგივე რაც მონიშვნის ხელსაწყო"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "იგივე რაც მასშტაბირების ხელსაწყო"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "ნებისმიერი"
 
@@ -8363,10 +8087,62 @@ msgstr "Ctrl-ბორბალი-ტრიალი"
 msgid "Zoom in or out"
 msgstr "გადიდება ან შემცირება"
 
+#: prefs/AudioIOPrefs.cpp:171
+msgid "Length of preview:"
+msgstr "დათვალიერების რეჟიმის სიგრძე:"
+
+#: prefs/AudioIOPrefs.cpp:179
+msgid "Preview before cut region:"
+msgstr "არეს ამოჭრამდე დათვალიერება:"
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview after cut region:"
+msgstr "ამოჭრის მერე დათვალიერება:"
+
+#: prefs/AudioIOPrefs.cpp:203
+msgid "Seek Time when playing"
+msgstr "დროის ძიება დაკვრისას"
+
 #: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Audacity  პარამეტრები"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr "პროექტის შენახვისას, რომელიც დამოკიდებულია სხვა აუდიო ფაილებზე"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr "ყოველთვის &დააკოპირე ყველა აუდიო პროექტში (უსაფრთხო)"
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "&არ დააკოპირო არცერთი აუდიო"
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr "მომხმარებლისთვის კითხვა"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "ავტოშენახვა"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "პროექტის ასლის ცალკე საქაღალდეში ავტოშენახვა"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "ავტოშენახვის ინტერვალი:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "წუთები"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "მართკუთხედი"
@@ -8391,49 +8167,48 @@ msgstr "ნაგულისხმევი სემპლის კოეფ
 msgid "Default Sample Format:"
 msgstr "სემპლის ნაგულისხმევი ფორმატი:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "რეალურ დროში სემპლის კოეფიციენტის კონვერტორი:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "მაღალი-ხარისხის სემპლის კოეფიციენტის კონვერტორი:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "რეალური დროის დითერი:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "მაღალი ხარისხის დითერი:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "კონვერსია"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "სემპლის კოეფიციენტის კონვერტორი"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "დითერი"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "რეალური-დრო:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "ოვერდუბლიკაცია: სხვა ტრეკების &დაკვრა ახლის ჩაწერის პარალელურად"
+
+#: prefs/AudioIOPrefs.cpp:152
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&მოწყობილობის დაკვრა: ახალი ტრეკის დაკვრა და ჩაწერა"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&მოწყობილობის დაკვრა: ახალი ტრეკის დაკვრა და ჩაწერა ან მონიტორინგი"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "მაღალი-ხარისხი:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(ამორთვა ჩაწერისას  \"სტერეო შერევა\")"
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "სხარტი ჩაწერა"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:64
-#: prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
+
+#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
 msgstr "ხმის გააქტიურებული ჩაწერა"
 
@@ -8441,23 +8216,58 @@ msgstr "ხმის გააქტიურებული ჩაწერა"
 msgid "Sound Activation Level (dB):"
 msgstr "ხმის გააქტიურების დონე(dB):"
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "სპექტოგრამები"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT ზომა"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - most wideband"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - ნაგულისხმევი"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - ყველაზე ვიწრო"
@@ -8466,21 +8276,26 @@ msgstr "32768 - ყველაზე ვიწრო"
 msgid "4096 - most narrowband"
 msgstr "4096 - ყველაზე ვიწრო"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "ფანჯრის ტიპი"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "FFT  წერტილების გამოტოვება"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "ეკრანი"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&ნაცრისფერტონები"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8490,17 +8305,17 @@ msgstr "მინიმალური სიხშირე (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "მაქსიმალური სიხშირე (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Y-უჯრედი"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&შენიშვნების ძება"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&კვანტიაზაციის შენიშნები"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8510,6 +8325,14 @@ msgstr "მინიმალური ამპლიტუდა (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "შენიშვნების მაქსიმალური რაოდენობა (1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&შენიშვნების ძება"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&კვანტიაზაციის შენიშნები"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "მაქსიმალური სიხშირე ინტეგრალი უნდა იყოს"
@@ -8526,20 +8349,70 @@ msgstr "მინიმალური სიხშირე ინტეგრ
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "მინიმალური სიხშირე 0 Hz მაინც უნდა იყოს"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "მინიმალური ამპლიტუდა  (dB) უნდა იყოს ინტეგრალი"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "შენიშვნების მაქსიმალური რაოდენობა უნდა იყოს დიაპაზონის ინტეგრალი  1..128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "თემა"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "ინფო"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then\n"
+"find and modify the images and colors in \n"
+"ImageCacheVxx.png using an image editor such \n"
+"as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images\n"
+"and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the \n"
+"wavetrack are currently affected, even though the\n"
+"image file shows other icons too.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8570,100 +8443,96 @@ msgstr "ფაილების შენახვა"
 msgid "Load Files"
 msgstr "ფაილების ჩატვირთვა"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "ინფო"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "მარტივი"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&ეკრანის განახლება დაკვრისას"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "ვერტიკალურად გადიდებული ტრეკების ავტომატური მორგება"
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "პაუზა"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "ნაგულისხმები დათვალიერების რეჟიმი"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "დაკვრა"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "ყველა აუდიოს მონიშვნა პროექტში, თუ არცერთი არაა მონიშნული"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr "დაკვრა (ციკლური დაკვრისთვის დააჭირეთ Shift)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "ხაზების მოჭრის გააქტიურება"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "მარცხენა და მარჯვენა მონიშვნის კიდეების გადათრევის გააქტიურება"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"ტრეკის ფოკუსის ციკლების გადაადგილება\" განმეორებითად ტრეკებზე"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "კლიპის რედაქტირება გამოიწვევს სხვა კლიპების გადაადგილებას"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr "სოლო ღილაკი:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:997
+msgid "Pause"
+msgstr "შეჩერება"
+
+#: Menus.cpp:996
 msgid "Stop"
 msgstr "გაჩერება"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "დასაწყისზე გადასვლა"
+#: toolbars/ControlToolBar.cpp:195
+msgid "Clean Speech"
+msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "დასასრულზე გადასვლა"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "დაკვრა (ციკლური დაკვრისთვის დააჭირეთ Shift)"
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr "ჩაწერა (ჩაწერის დამატებაზე გადასვლა)"
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr "Clean Speech"
-
-#: toolbars/ControlToolBar.cpp:540
-#: toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
 msgstr "ხმის მოწყობილობის გახსნის შეცდომა"
 
@@ -8675,13 +8544,11 @@ msgstr "CleanSpeech ის რეჟიმში ჩაწერა შეუძ
 msgid "Recording not permitted"
 msgstr "ჩაწერა არ არის ნებადართული"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "გამონატანის მოწყობილობა"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "შენატანი მოწყობილობა"
 
@@ -8705,29 +8572,21 @@ msgstr "შემცირება"
 msgid "Zoom Out"
 msgstr "გადიდება"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "გადაბმის გადიდება"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "მონიშვნის მორგება"
-
 #: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "მონიშვნის ფანჯარაში მორგება"
 
 #: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "პროექტის მორგება"
-
-#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "პროექტის ფანჯარაში მორგება"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "მთვლელი"
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr "მონიშვნის მორგება"
+
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
+msgstr "პროექტის მორგება"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8761,8 +8620,7 @@ msgstr "გამონატანის ხმა"
 msgid "Slider Output"
 msgstr "ცოციას გამონატანი"
 
-#: toolbars/MixerToolBar.cpp:101
-#: widgets/Meter.cpp:874
+#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:874
 msgid "Input Volume"
 msgstr "შენატანის ხმა"
 
@@ -8774,22 +8632,27 @@ msgstr "ცოციას შენატანი"
 msgid "Input Source"
 msgstr "შენატანი წყარო"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr "მონიშვნა"
 
-#: toolbars/SelectionBar.cpp:135
-#: toolbars/SelectionBar.cpp:194
+#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr "პროექტის კოეფიციენტი (Hz):"
 
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:255
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
 msgstr "მონიშვნის დაწყება"
 
-#: toolbars/SelectionBar.cpp:163
-#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:163 toolbars/SelectionBar.cpp:164
 #: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr "სიგრძე"
@@ -8798,13 +8661,11 @@ msgstr "სიგრძე"
 msgid "hidden"
 msgstr "დაფარული"
 
-#: toolbars/SelectionBar.cpp:184
-#: toolbars/SelectionBar.cpp:272
+#: toolbars/SelectionBar.cpp:184 toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr "აუდიოს პოზიცია"
 
-#: toolbars/SelectionBar.cpp:236
-#: toolbars/SelectionBar.cpp:241
+#: toolbars/SelectionBar.cpp:236 toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr "გადაღება"
 
@@ -8825,8 +8686,7 @@ msgstr "მონიშვნის დასასრული"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity %s ხელსაწყოთა ზოლი"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "ხელსაწყოთა დამაგრება"
 
@@ -8858,34 +8718,6 @@ msgstr "მარცხენა=გადიდება, მარჯვენ
 msgid "Click and drag to move a track in time"
 msgstr "დაუწკაპუნეთ და გადაათრიეთ ტრეკის დროში გადასაადგილებლად"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "ხელსაწყოები"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "მონიშვნის ხელსაწყო"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "კონვერტის ხელსაწყო"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "დროის ცვლის ხელსაწყო"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "გადიდების ხელსაწყო"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "ხელსაწყოს აგება"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "მრავალი-ხელსაწყოს რეჟიმი"
@@ -8894,24 +8726,11 @@ msgstr "მრავალი-ხელსაწყოს რეჟიმი"
 msgid "Slide Tool"
 msgstr "ცოციას ხელსაწყო"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "მრავალიხელსაწყო"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "ტრანსკრიპცია"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "მონიშნული სიჩქარით დაკვრა"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "დაკვრა სიჩქარით"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "დაკვრის სიჩქარე"
 
@@ -8919,74 +8738,38 @@ msgstr "დაკვრის სიჩქარე"
 msgid "Adjust left selection to next onset"
 msgstr "მარჯვენა მონიშვნის შემდეგ ონსეტზე მორგება"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "მარცხნივ"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "მარჯვენა მონიშვნის წინა ოფსეტზე მორგება"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "მარჯვნივ"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "მარჯვენა მონიშვნის წინა ოფსეტზე მორგება"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "მარცხნივ"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "მარჯვენა მონიშვნის წინა ონსეტზე მორგება"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "მარჯვნივ"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "ხმის არეს მონიშვნა კურსორის გარშემო"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "მონიშვნა - ხმა"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "სიჩუმის არეს მონიშვნა კურსორის გარშემო"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "მონიშვნა - სიჩუმე"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "იარლიყების ავტომატური შექმნა სიტყვებუდან"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "იარლიყების შექმნა"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "იარლიყის დამატება მონიშვნისას"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "იარლიყის დამატება"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "ხმის გასაღების კალიბრაცია"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "კალიბრაცია"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "მგრძნობელობის მორგება"
@@ -9019,6 +8802,46 @@ msgstr "მიმართულების ცვლილებები (მ
 msgid "Key type"
 msgstr "გასაღების ტიპი"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "დაკვრა სიჩქარით"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "მარცხნივ"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "მარჯვნივ"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "მარცხნივ"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "მარჯვნივ"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "მონიშვნა - ხმა"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "მონიშვნა - სიჩუმე"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "იარლიყების შექმნა"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "იარლიყის დამატება"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "კალიბრაცია"
+
 #: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr "(გაუქმებულია)"
@@ -9033,15 +8856,13 @@ msgstr "ღილაკს"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612
-#: widgets/Meter.cpp:248
+#: widgets/ASlider.cpp:612 widgets/Meter.cpp:248
 msgid "L"
 msgstr "მარცხ"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615
-#: widgets/Meter.cpp:250
+#: widgets/ASlider.cpp:615 widgets/Meter.cpp:250
 msgid "R"
 msgstr "მარჯ"
 
@@ -9090,8 +8911,7 @@ msgstr "Grabber"
 msgid "%d rows, %d columns"
 msgstr "%d რიგი, %d სვეტი"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "რიგი %d"
@@ -9170,8 +8990,7 @@ msgstr "დარჩენილი დრო"
 msgid "Cancel"
 msgstr "გაუქმება"
 
-#: widgets/Ruler.cpp:1445
-#: widgets/Ruler.cpp:1446
+#: widgets/Ruler.cpp:1445 widgets/Ruler.cpp:1446
 msgid "Vertical Ruler"
 msgstr "ვერტიკალური სახაზავი"
 
@@ -9415,3 +9234,15 @@ msgstr "შეცდომა: %hs at line %lu"
 msgid "Could not load file: \"%s\""
 msgstr "შეუძლებელია ფაილის ჩატვირთვა: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/km.po b/locale/km.po
index 2d17c18..3c053f9 100644
--- a/locale/km.po
+++ b/locale/km.po
@@ -28,11 +28,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -84,7 +84,7 @@ msgid "Special thanks:"
 msgstr "អរគុណ​ជា​ពិសេស​ ៖"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -225,11 +225,21 @@ msgstr "ចូល"
 msgid "Output Meter"
 msgstr "ចេញ"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: Menus.cpp:164
+msgid "&New"
+msgstr "ថ្មី"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "បើក..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:728 Menus.cpp:470
-msgid "&Preferences...\tCtrl+,"
-msgstr "ចំណូល​ចិត្ត...\tCtrl+,"
+msgid "&Preferences..."
+msgstr "ចំណូល​ចិត្ត..."
 
 #: AudacityApp.cpp:810 AudacityApp.cpp:887
 #, c-format
@@ -353,18 +363,16 @@ msgstr "កំហុស ៖ "
 msgid "Error Initializing Audio"
 msgstr "កំហុស​ក្នុង​កា​រចាប់ផ្ដើម​អូឌីយ៉ូ"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1236
 msgid "Latency problem"
 msgstr "បញ្ហា​​ជាក់ស្ដែង"
 
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "ការ​កំណត់ជាក់ស្ដែង​បានបណ្ដាល​ឲ្យ​អូឌីយ៉ូ​ដែល​បានថត​លាក់​មុន​សូន្យ ។\n"
-"Audacity បាន​នាំវា​ត្រឡប់ដើម្បី​ចាប់ផ្ដើម​នៅ​សូន្យ ។\n"
-"អ្នក​អាច​ត្រូវ​ប្រើឧបករណ៍​ប្ដូរ​ពេលវេលា (Time Shift Tool) (<---> ឬ F5) ដើម្បី​អូស​បទ​ទៅ​កន្លែង​ដែល​ត្រឹមត្រូវ ។"
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "សង្គ្រោះ​ការគាំង​ដោយ​ស្វ័យ​ប្រវត្តិ"
@@ -590,8 +598,8 @@ msgstr "ច្រវាក់ (ចុចទ្វេ​ដង ឬ​ចុច​
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "លេខ​រៀង"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -930,11 +938,11 @@ msgstr "ចតុកោណកែង"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -992,11 +1000,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1081,11 +1090,24 @@ msgstr "នាំចេញ..."
 msgid "Export"
 msgstr "នាំចេញ"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: AboutDialog.cpp:688 Dependencies.cpp:308 FreqWindow.cpp:209
 #: widgets/ErrorDialog.cpp:135
 msgid "Close"
 msgstr "បិទ"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:487
 #: effects/AutoDuck.cpp:521 effects/AutoDuck.cpp:789
 #: effects/Compressor.cpp:349 effects/Compressor.cpp:357
@@ -1103,6 +1125,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3394
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "ដើម្បី​​គ្រោង​​វិសាលគម បទ​​ដែល​​ជ្រើស​​ទាំងអស់​ត្រូវ​តែ​មាន​អត្រា​​គំរូ​​ដូច​គ្នា ។"
+
+#: Menus.cpp:3420
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "មាន​​អូឌីយ៉ូ​​ច្រើន​​ពេក​​ត្រូវ​​បាន​​ជ្រើស ។ មាន​​​តែ %.1f វិនាទី ដំបូង​​នឹង​​ត្រូវ​បាន​​វិភាគ ។"
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "មិន​បាន​​ជ្រើស​​ទិន្នន័យ​​គ្រប់គ្រាន់ ។"
@@ -1142,6 +1173,21 @@ msgstr "ប្រេកង់ (Hz)\tកម្រិត (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "រយៈពេល​​ខុស​គ្នា (វិនាទី)\tប្រេកង់ (Hz)\tកម្រិត"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1220,7 +1266,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1244,7 +1290,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1305,6 +1351,14 @@ msgstr "មេកាបៃ"
 msgid "GB"
 msgstr "ជីកាបៃ"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "បទ"
@@ -1419,21 +1473,13 @@ msgstr "បើក​​គម្រោង Audacity"
 msgid "&File"
 msgstr "ឯកសារ"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "ថ្មី\tបញ្ជា(Ctrl)+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "បើក...\tបញ្ជា(Ctrl)+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "បិទ\tបញ្ជា(Ctrl)+W"
+msgid "&Close"
+msgstr "បិទ"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "រក្សាទុក​គម្រោង\tបញ្ជា(Ctrl)+S"
+msgid "&Save Project"
+msgstr "រក្សាទុក​គម្រោង"
 
 #: Menus.cpp:178 Project.cpp:2628
 msgid "Save Project &As..."
@@ -1456,8 +1502,8 @@ msgid "&Import"
 msgstr "នាំចូល"
 
 #: Menus.cpp:194
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "អូឌីយ៉ូ...\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+I"
+msgid "&Audio..."
+msgstr "អូឌីយ៉ូ..."
 
 #: Menus.cpp:195
 msgid "&Labels..."
@@ -1487,9 +1533,9 @@ msgstr "នាំចេញ​ច្រើន..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:291
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:258
+msgid "Appl&y Chain..."
+msgstr "អនុវត្ត​ច្រវាក់..."
 
 #: Menus.cpp:246 Menus.cpp:260
 msgid "Edit C&hains..."
@@ -1503,10 +1549,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:258
-msgid "Appl&y Chain..."
-msgstr "អនុវត្ត​ច្រវាក់..."
-
 #: Menus.cpp:265
 msgid "&Upload File..."
 msgstr "ផ្ទុក​ឯកសារ​ឡើង..."
@@ -1520,72 +1562,72 @@ msgid "&Print..."
 msgstr "បោះពុម្ព..."
 
 #: Menus.cpp:285
-msgid "E&xit\tCtrl+Q"
-msgstr "ចេញ\tបញ្ជា(Ctrl)+Q"
+msgid "E&xit"
+msgstr "ចេញ"
 
 #: Menus.cpp:293 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "កែសម្រួល"
 
 #: Menus.cpp:297
-msgid "&Undo\tCtrl+Z"
-msgstr "មិន​ធ្វើ​វិញ\tបញ្ជា(Ctrl)+Z"
+msgid "&Undo"
+msgstr "មិន​ធ្វើ​វិញ"
 
 #: Menus.cpp:305 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "ធ្វើ​វិញ"
 
 #: Menus.cpp:318
-msgid "Cu&t\tCtrl+X"
-msgstr "កាត់\tបញ្ជា(Ctrl)+X"
+msgid "Cu&t"
+msgstr "កាត់"
 
 #: Menus.cpp:322
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "បំបែក​ការកាត់\tបញ្ជា(Ctrl)+ជំនួស(Alt)+X"
+msgid "Spl&it Cut"
+msgstr "បំបែក​ការកាត់"
 
 #: Menus.cpp:323
-msgid "&Copy\tCtrl+C"
-msgstr "ចម្លង\tបញ្ជា(Ctrl)+C"
+msgid "&Copy"
+msgstr "ចម្លង"
 
 #: Menus.cpp:327
-msgid "&Paste\tCtrl+V"
-msgstr "បិទភ្ជាប់\tបញ្ជា(Ctrl)+V"
+msgid "&Paste"
+msgstr "បិទភ្ជាប់"
 
 #: Menus.cpp:331
-msgid "Tri&m\tCtrl+T"
-msgstr "កាត់​តម្រឹម\tបញ្ជា(Ctrl)+T"
+msgid "Tri&m"
+msgstr "កាត់​តម្រឹម"
 
 #: Menus.cpp:333
-msgid "&Delete\tCtrl+K"
-msgstr "លុប\tបញ្ជា(Ctrl)+K"
+msgid "&Delete"
+msgstr "លុប"
 
 #: Menus.cpp:334
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "បំបែក​ការ​លុប\tបញ្ជា(Ctrl)+ជំនួស(Alt)+K"
+msgid "Split D&elete"
+msgstr "បំបែក​ការ​លុប"
 
 #: Menus.cpp:381
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:337
-msgid "Sp&lit\tCtrl+I"
-msgstr "បំបែក\tបញ្ជា(Ctrl)+I"
+msgid "Sp&lit"
+msgstr "បំបែក"
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "បំបែក​ថ្មី\tបញ្ជា(Ctrl)+ជំនួស(Alt)+I"
+msgid "Split Ne&w"
+msgstr "បំបែក​ថ្មី"
 
 #: Menus.cpp:347
-msgid "&Join\tCtrl+J"
-msgstr "ភ្ជាប់\tបញ្ជា(Ctrl)+J"
+msgid "&Join"
+msgstr "ភ្ជាប់"
 
 #: Menus.cpp:394
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:350
-msgid "Duplic&ate\tCtrl+D"
-msgstr "ស្ទួន\tបញ្ជា(Ctrl)+D"
+msgid "Duplic&ate"
+msgstr "ស្ទួន"
 
 #: Menus.cpp:401 Menus.cpp:641
 msgid "Stereo Trac&k to Mono"
@@ -1597,82 +1639,67 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:365
-msgid "&Cut\tAlt+X"
-msgstr "កាត់\tជំនួស(Alt)+X"
+msgid "&Cut"
+msgstr "កាត់"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:370
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "បំបែក​ការ​កាត់\tប្ដូរ(Shift)+ជំនួស(Alt)+X"
+msgid "&Split Cut"
+msgstr "បំបែក​ការ​កាត់"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:375
-msgid "Co&py\tShift+Alt+C"
-msgstr "ចម្លង\tប្ដូរ(Shift)+ជំនួស(Alt)+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:381
-msgid "&Delete\tAlt+K"
-msgstr "លុប\tជំនួស(Alt)+K"
+msgid "Co&py"
+msgstr "ចម្លង"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:386
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "បំបែក​កា​រលុប\tប្ដូរ(Shift)+ជំនួស(Alt)+K"
+msgid "Sp&lit Delete"
+msgstr "បំបែក​កា​រលុប"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:391
-msgid "Sile&nce\tAlt+L"
-msgstr "ស្ងាត់\tជំនួស(Alt)+L"
+msgid "Sile&nce"
+msgstr "ស្ងាត់"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:397
-msgid "Spli&t\tAlt+I"
-msgstr "បំបែក\tជំនួស(Alt)+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:402
-msgid "&Join\tAlt+J"
-msgstr "ភ្ជាប់\tជំនួស(Alt)+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "បំបែក"
 
 #: Menus.cpp:457
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:414
-msgid "&All\tCtrl+A"
-msgstr "ទាំងអស់\tបញ្ជា(Ctrl)+A"
+msgid "&All"
+msgstr "ទាំងអស់"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr "គ្មាន\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+A"
+msgid "&None"
+msgstr "គ្មាន"
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "ទុក​នៅ​ទីតាំង​ចាក់​ឡើង​វិញ\t["
+msgid "&Left at Playback Position"
+msgstr "ទុក​នៅ​ទីតាំង​ចាក់​ឡើង​វិញ"
 
 #: Menus.cpp:464
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "ខាង​ស្ដាំ​​ទីតាំង​ចាក់​ឡើង​វិញ\t]"
+msgid "&Right at Playback Position"
+msgstr "ខាង​ស្ដាំ​​ទីតាំង​ចាក់​ឡើង​វិញ"
 
 #: Menus.cpp:468
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:469
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:431
-msgid "Find &Zero Crossings\tZ"
-msgstr "រក​កា​រ​ខ្វែង​​សូន្យ\tZ"
+msgid "Find &Zero Crossings"
+msgstr "រក​កា​រ​ខ្វែង​​សូន្យ"
 
 #: Menus.cpp:478
 msgid "Mo&ve Cursor"
@@ -1689,11 +1716,11 @@ msgid "to Selection En&d"
 msgstr "ទៅ​ចុង​​ជម្រើស"
 
 #: Menus.cpp:485
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:486
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:493
@@ -1716,29 +1743,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:462
-msgid "Turn Snap-To On"
-msgstr "បើក​ការ​​ខ្ទាស់"
-
-#: Menus.cpp:463
-msgid "Turn Snap-To Off"
-msgstr "បិទ​កា​រ​ខ្ទាស់"
-
-#: Menus.cpp:464
-msgid "Turn Grid Snap On"
-msgstr "បើក​កា​រ​​ខ្ទាស់​​​​ក្រឡាចត្រង្គ"
-
-#: Menus.cpp:465
-msgid "Turn Grid Snap Off"
-msgstr "បិទ​ការ​ខ្ទាស់​​ក្រឡាចត្រង្គ"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:521
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:525
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:484
@@ -1746,36 +1752,36 @@ msgid "&View"
 msgstr "មើល"
 
 #: Menus.cpp:486
-msgid "Zoom &In\tCtrl+1"
-msgstr "ពង្រីក\tបញ្ជា(Ctrl)+1"
+msgid "Zoom &In"
+msgstr "ពង្រីក"
 
 #: Menus.cpp:489
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "ពង្រីក​ធម្មតា\tបញ្ជា(Ctrl)+2"
+msgid "Zoom &Normal"
+msgstr "ពង្រីក​ធម្មតា"
 
 #: Menus.cpp:490
-msgid "Zoom &Out\tCtrl+3"
-msgstr "បង្រួម​\tបញ្ជា(Ctrl)+3"
+msgid "Zoom &Out"
+msgstr "បង្រួម​"
 
 #: Menus.cpp:493
-msgid "&Fit in Window\tCtrl+F"
-msgstr "សម​នឹង​បង្អួច\tបញ្ជា(Ctrl)+F"
+msgid "&Fit in Window"
+msgstr "សម​នឹង​បង្អួច"
 
 #: Menus.cpp:494
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "សម​នឹង​បញ្ឈរ\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+F"
+msgid "Fit &Vertically"
+msgstr "សម​នឹង​បញ្ឈរ"
 
 #: Menus.cpp:495
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "ពង្រីក​សម​នឹង​ជម្រើស\tបញ្ជា(Ctrl)+E"
+msgid "&Zoom to Selection"
+msgstr "ពង្រីក​សម​នឹង​ជម្រើស"
 
 #: Menus.cpp:498
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "វេញ​​បទ​ទាំងអស់\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+C"
+msgid "&Collapse All Tracks"
+msgstr "វេញ​​បទ​ទាំងអស់"
 
 #: Menus.cpp:499
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "ពង្រីក​​បទ​​ទាំង​អស់\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+X"
+msgid "E&xpand All Tracks"
+msgstr "ពង្រីក​​បទ​​ទាំង​អស់"
 
 #: Menus.cpp:553
 #, fuzzy
@@ -1845,40 +1851,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "ចាក់"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:595
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:786
-msgid "Skip to Start\tHome"
+msgid "Skip to Start"
 msgstr "រំលង​ដើម្បី​ចាប់ផ្ដើម ដើម"
 
 #: Menus.cpp:787
-msgid "Skip to End\tEnd"
+msgid "Skip to End"
 msgstr "រំលង​​ដើម្បី​បញ្ចប់ ចុង"
 
 #: Menus.cpp:602
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:606
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:609
@@ -1906,8 +1912,8 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:545
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "បទ​អូឌីយ៉ូ\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+N"
+msgid "&Audio Track"
+msgstr "បទ​អូឌីយ៉ូ"
 
 #: Menus.cpp:546
 msgid "&Stereo Track"
@@ -1922,8 +1928,8 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "លាយ និង​​បង្ហាញ​​ទៅ​​បទ​ថ្មី\tបញ្ជា(Ctrl)+ប្ដូរ(Shift)+M"
+msgid "Mix and Render to New Track"
+msgstr "លាយ និង​​បង្ហាញ​​ទៅ​​បទ​ថ្មី"
 
 #: Menus.cpp:568
 msgid "&Resample..."
@@ -1934,11 +1940,11 @@ msgid "Remo&ve Tracks"
 msgstr "យក​បទ​​ចេញ"
 
 #: Menus.cpp:669
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:670
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:585
@@ -1989,17 +1995,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:708
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:611
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "បន្ថែម​​ស្លាក​​នៅ​​ជម្រើស\tបញ្ជា (Ctrl) + B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:612
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "បន្ថែម​​ស្លាក​​​នៅ​ទីតាំង​ចាក់​​ឡើង​វិញ\tបញ្ជា(Ctrl)+M"
+msgid "Add Label At &Playback Position"
+msgstr "បន្ថែម​​ស្លាក​​​នៅ​ទីតាំង​ចាក់​​ឡើង​វិញ"
 
 #: Menus.cpp:718
 msgid "S&ort tracks"
@@ -2025,14 +2031,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "បែបផែន"
 
-#: Menus.cpp:658
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "ធ្វើ​​បែបផែន​​ចុង​ក្រោយ​​ម្ដង​​ទៀត\tបញ្ជា(Ctrl)+R"
-
 #: Menus.cpp:690
 msgid "&Analyze"
 msgstr "ធ្វើ​​វិភាគ"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr "វិសាលគម​​គ្រោង..."
@@ -2049,9 +2055,9 @@ msgstr "អំពី Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "បង្ហាញ​​សារ​ស្វាគមន៍..."
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr "លិបិក្រម..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:961
 msgid "Show &Log..."
@@ -2069,180 +2075,148 @@ msgstr "រត់ Benchmark..."
 msgid "&Audio Device Info..."
 msgstr "ព័ត៌មាន​​ឧបករណ៍​​អូឌីយ៉ូ..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:762
-msgid "Selection Tool\tF1"
+msgid "Selection Tool"
 msgstr "ឧបករណ៍​​ជ្រើស F1"
 
 #: Menus.cpp:763
-msgid "Envelope Tool\tF2"
+msgid "Envelope Tool"
 msgstr "ឧបករណ៍​​ស្រោម​​សំបុត្រ F2"
 
 #: Menus.cpp:764
-msgid "Draw Tool\tF3"
+msgid "Draw Tool"
 msgstr "ឧបករណ៍​គូរ F3"
 
 #: Menus.cpp:765
-msgid "Zoom Tool\tF4"
+msgid "Zoom Tool"
 msgstr "ឧបករណ៍​ពង្រីក F4"
 
 #: Menus.cpp:766
-msgid "Time Shift Tool\tF5"
+msgid "Time Shift Tool"
 msgstr "ឧបករណ៍​ប្ដូរ​ពេល​វេលា F5"
 
 #: Menus.cpp:767
-msgid "Multi Tool\tF6"
-msgstr "ឧបករណ៍​​ច្រើន\t F6"
+msgid "Multi Tool"
+msgstr "ឧបករណ៍​​ច្រើន"
 
 #: Menus.cpp:769
-msgid "Next Tool\tD"
+msgid "Next Tool"
 msgstr "ឧបករណ៍​​​បន្ទាប់ D"
 
 #: Menus.cpp:770
-msgid "Previous Tool\tA"
+msgid "Previous Tool"
 msgstr "ឧបករណ៍​​មុន A"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:773
-msgid "Stop\tS"
-msgstr "បញ្ឈប់ S"
-
-#: Menus.cpp:774
-msgid "Pause\tP"
-msgstr "ផ្អាក P"
-
-#: Menus.cpp:775
-msgid "Record\tR"
-msgstr "ថត R"
-
-#: Menus.cpp:1001
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1003
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:780
-msgid "Play One Second\t1"
-msgstr "ចាក់​​មួយ​​វិនាទី\t១"
+msgid "Play One Second"
+msgstr "ចាក់​​មួយ​​វិនាទី"
 
 #: Menus.cpp:781
-msgid "Play To Selection\tB"
+msgid "Play To Selection"
 msgstr "ចាក់​ដល់​​កន្លែង​​ជ្រើស B"
 
-#: Menus.cpp:782
-msgid "Play Looped\tL"
-msgstr "ចាក់​រង្វិល​ជុំ L"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
-
 #: Menus.cpp:784
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr "លេង កាត់ មើល​ជាមុន C"
 
 #: Menus.cpp:789
-msgid "Selection to Start\tShift+Home"
+msgid "Selection to Start"
 msgstr "ជជ្រើស​ដើម្បី​ចាប់ផ្ដើម ប្ដូរ(Shift)+ដើម(Home)"
 
 #: Menus.cpp:790
-msgid "Selection to End\tShift+End"
+msgid "Selection to End"
 msgstr "ជម្រើស​ទៅ​ចុង ប្ដូរ(Shift)+ចុង(End)"
 
 #: Menus.cpp:792
-msgid "DeleteKey\tBackspace"
-msgstr "គ្រាប់​ចុច​លុប (Delete)\tលុប​ថយ​ក្រោយ (Backspace)"
+msgid "DeleteKey"
+msgstr "គ្រាប់​ចុច​លុប (Delete)"
 
 #: Menus.cpp:797
-msgid "DeleteKey2\tDelete"
+msgid "DeleteKey2"
 msgstr "គ្រាប់​ចុច​លុប ២ លុប (Delete)"
 
-#: Menus.cpp:803
-msgid "Seek left short period during playback\tLeft"
-msgstr "ស្វែងរក​រយៈ​ពេល​ខ្លី​​ទៅ​ឆ្វេង​កំឡុង​ពេល​ចាក់​ឡើង​វិញ ឆ្វេង"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:804
-msgid "Seek right short period during playback\tRight"
-msgstr "ស្វែងរក​រយៈ​ពេល​ខ្លី​ទៅ​​ស្ដាំ​កំឡុង​ពេល​ចាក់​ឡើង​វិញ ស្ដាំ"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:805
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "ស្វែងរក​​រយៈ​ពេល​​វែង​ទៅ​​ឆ្វេង​កំឡុង​ពេល​ចាក់​ឡើង​វិញ ប្ដូរ(Shift)+ឆ្វេង"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:806
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "ស្វែងរក​រយៈ​ពេល​វែង​ទៅ​​ស្ដាំ​កំឡុង​ពេល​ចាក់​ឡើង​វិញ ប្ដូរ(Shift)+ស្ដាំ"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:810
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr "ផ្លាស់ទី​​ការ​​ផ្ដោត​​ទៅ​បទ​​មុន ឡើង​​លើ"
 
-#: Menus.cpp:811
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "ផ្លាស់ទី​ការ​ផ្ដោត​ទៅ​បទ​មុខ ហើយ​ផ្លាស់ប្ដូរ​ជម្រើស ប្ដូរ(Shift)+ឡើង​លើ"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:812
-msgid "Move Focus to Next Track\tDown"
-msgstr "ផ្លាស់ទី​​ការ​​ផ្ដោត​​ទៅ​​បទ​​បន្ទាប់\tចុះ​​ក្រោម"
+msgid "Move Focus to Next Track"
+msgstr "ផ្លាស់ទី​​ការ​​ផ្ដោត​​ទៅ​​បទ​​បន្ទាប់"
 
-#: Menus.cpp:813
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "ផ្លាស់ទី​​ការ​​ផ្ដោត​​ទៅ​​បទ​បន្ទាប់ និង​ផ្លាស់ប្ដូរ​ជម្រើស​ ប្ដូរ(Shift)+ចុះ​ក្រោម"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:814
-msgid "Toggle Focused Track\tReturn"
-msgstr "បិទ​​បើក​បទ​​ដែល​​ផ្ដោត\tត្រឡប់"
-
-#: Menus.cpp:815
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "បិទ​បើក​​បទ​​ដែល​ផ្ដោត\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "បិទ​​បើក​បទ​​ដែល​​ផ្ដោត"
 
 #: Menus.cpp:818
-msgid "Cursor Left\tLeft"
+msgid "Cursor Left"
 msgstr "ទស្សន៍​​ទ្រនិច​ឆ្វេង ឆ្វេង"
 
 #: Menus.cpp:819
-msgid "Cursor Right\tRight"
+msgid "Cursor Right"
 msgstr "ទស្សន៍​ទ្រនិច​​ស្ដាំ ស្ដាំ"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
-msgstr "ទស្សន៍​ទ្រនិច​​ខ្លី​​លោត​​ទៅ​ឆ្វេង\t,"
+msgid "Cursor Short Jump Left"
+msgstr "ទស្សន៍​ទ្រនិច​​ខ្លី​​លោត​​ទៅ​ឆ្វេង"
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
-msgstr "ទស្សន៍​ទ្រនិច​ខ្លីលោត​ទៅ​ស្ដាំ\t."
+msgid "Cursor Short Jump Right"
+msgstr "ទស្សន៍​ទ្រនិច​ខ្លីលោត​ទៅ​ស្ដាំ"
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr "ទស្សន៍​ទ្រនិច​វែង​​លោត​​ទៅ​ឆ្វេង ប្ដូរ​(Shift)+"
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "ទស្សន៍​ទ្រនិច​​វែង​​លោត​​ទៅ​ស្ដាំ\tប្ដូរ(Shift)+ ។"
+msgid "Cursor Long Jump Right"
+msgstr "ទស្សន៍​ទ្រនិច​​វែង​​លោត​​ទៅ​ស្ដាំ"
 
 #: Menus.cpp:825
-msgid "Selection Extend Left\tShift+Left"
+msgid "Selection Extend Left"
 msgstr "ពង្រីក​ជម្រើស​​ទៅ​ឆ្វេង ប្ដូរ(Shift)+ឆ្វេង"
 
 #: Menus.cpp:826
-msgid "Selection Extend Right\tShift+Right"
+msgid "Selection Extend Right"
 msgstr "ពង្រីក​​ជម្រើស​​ទៅ​ស្ដាំ ប្ដូរ(Shift)+ស្ដាំ"
 
 #: Menus.cpp:828
@@ -2254,51 +2228,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr "កំណត់ (ឬ​ពង្រីក) ជម្រើស​​​ស្ដាំ"
 
 #: Menus.cpp:831
-msgid "Selection Contract Left\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
 msgstr "បង្រួញ​​ជម្រើស​ទៅ​ឆ្វេង បញ្ជា(Ctrl)+ប្ដូរ(Shift)+ស្ដាំ"
 
 #: Menus.cpp:832
-msgid "Selection Contract Right\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
 msgstr "បង្រួញ​ជម្រើស​ទៅ​ស្ដាំ បញ្ជា(Ctrl)+ប្ដូរ(Shift)+ឆ្វេង"
 
 #: Menus.cpp:834
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr "ផ្លាស់ប្ដូរ​​បន្ទះ​​លើ​​បទ​​ដែល​​ផ្ដោត ប្ដូរ(Shift)+P"
 
 #: Menus.cpp:835
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr "បន្ទះ​​ឆ្វេង​​លើ​​បទ​​ដែល​​ផ្ដោត ជំនួស(Alt)+ប្ដូរ(Shift)+ឆ្វេង"
 
 #: Menus.cpp:836
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr "បន្ទះ​​ស្ដាំ​​លើ​បទ​​ដែល​​ផ្ដោត ជំនួស(Alt)+ប្ដូរ(Shift)+ស្ដាំ"
 
 #: Menus.cpp:837
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr "ផ្លាស់ប្តូរ​​កំណើន​​បទ​​ដែល​​ផ្តោត​​លើ ប្តូរ(Shift)+G"
 
 #: Menus.cpp:838
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr "បង្កើន​​ការ​​ទទួល​​លើ​បទ​ដែល​​ផ្ដោត ជំនួស(Alt)+ប្ដូរ(Shift)+លើ"
 
 #: Menus.cpp:839
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr "បន្ថយ​​ការ​​ទទួល​​លើ​​បទ​​ដែល​​ផ្ដោត ជំនួស​(Alt)+ប្ដូរ(Shift)+ចុះ"
 
 #: Menus.cpp:840
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr "បើក​​ម៉ឺនុយ​​លើ​​បទ​​ដែល​​ផ្ដោត ប្ដូរ(Shift)+M"
 
 #: Menus.cpp:841
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr "ស្ងាត់/លឺ​បទ​ដែល​​ផ្ដោត ប្ដូរ(Shift)+U"
 
 #: Menus.cpp:842
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr "សូឡូ/ដោះ​សូឡូ បទ​ដែល​ផ្ដោត ប្ដូរ(Shift)+S"
 
 #: Menus.cpp:843
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr "បិទ​បទ​​ដែលបាន​​ផ្ដោត ប្ដូរ(Shift)+C"
 
 #: Menus.cpp:845
@@ -2310,7 +2284,35 @@ msgid "Snap To Off"
 msgstr "បិទ​កា​រខ្ទាស់"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2371,7 +2373,7 @@ msgstr "អ្នក​ត្រូវ​​តែ​ជ្រើស​​បទ
 
 #: Menus.cpp:2005
 #, c-format
-msgid "Repeat %s\tCtrl+R"
+msgid "Repeat %s"
 msgstr "ធ្វើ %s ម្ដង​ទៀត បញ្ជា(Ctrl)+R"
 
 #: Menus.cpp:2136
@@ -2580,15 +2582,6 @@ msgstr "ពុះ​​ទៅ​​បទ​​ថ្មី"
 msgid "Split at labels"
 msgstr "ពុះ​​នៅ​ស្លាក"
 
-#: Menus.cpp:3394
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "ដើម្បី​​គ្រោង​​វិសាលគម បទ​​ដែល​​ជ្រើស​​ទាំងអស់​ត្រូវ​តែ​មាន​អត្រា​​គំរូ​​ដូច​គ្នា ។"
-
-#: Menus.cpp:3420
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "មាន​​អូឌីយ៉ូ​​ច្រើន​​ពេក​​ត្រូវ​​បាន​​ជ្រើស ។ មាន​​​តែ %.1f វិនាទី ដំបូង​​នឹង​​ត្រូវ​បាន​​វិភាគ ។"
-
 #: Menus.cpp:3546
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2807,6 +2800,10 @@ msgstr "មាន​បញ្ហា​ក្នុង​ការ​បោះព
 msgid "Print"
 msgstr "បោះពុម្ព"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:635
 msgid "Main Mix"
 msgstr "លាយ​មេ"
@@ -2820,9 +2817,9 @@ msgstr "សូម​ស្វាគមន៍​មក​កាន់ Audacity 
 msgid "(Recovered)"
 msgstr "(ការ​សង្គ្រោះ​ឯកសារ)"
 
-#: Project.cpp:1472 TrackPanel.cpp:772 toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:775
 msgid "Record"
-msgstr "ថត"
+msgstr "ថត R"
 
 #: Project.cpp:1472 TrackPanel.cpp:772
 msgid "Recorded Audio"
@@ -2845,9 +2842,9 @@ msgstr ""
 msgid "Save changes?"
 msgstr "រក្សា​ទុក​ការ​ផ្លាស់ប្ដូរ ?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
-msgstr "ឯកសារ​ទាំងអស់​|*.*|​ឯកសារ​ដែល​គាំទ្រ​ទាំងអស់|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1709
 msgid "Select one or more audio files..."
@@ -2876,6 +2873,17 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "បើក​ឯកសារ​គម្រោង​ចាស់"
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: Project.cpp:1801 Project.cpp:1809
 msgid "Error opening file"
 msgstr "កំហុស​ក្នុង​ការ​បើក​ឯកសារ"
@@ -2933,10 +2941,12 @@ msgstr "ឯកសារ​នេះ​ត្រូវ​បាន​រក្ស
 msgid "Can't open project file"
 msgstr "មិន​អាច​បើក​ឯកសារ​គម្រោង"
 
-#: Project.cpp:2357
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2956,16 +2966,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2647
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: Project.cpp:2366 Project.cpp:2380
 msgid "Error saving project"
 msgstr "កំហុស​ក្នុង​ការ​រក្សា​ទុក​គម្រោង"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2442
 #, c-format
 msgid "Saved %s"
@@ -3124,6 +3140,163 @@ msgstr "២៤ ប៊ីត PCM"
 msgid "32-bit float"
 msgstr "៣២ ប៊ីត float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "ជ្រើស..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr "មិនពិត"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "ឧបករណ៍"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "ត្រួតពិនិត្យ"
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "ឧបករណ៍​លាយ"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "ម៉ែត្រ"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "ឧបករណ៍"
+
+#: toolbars/TranscriptionToolBar.cpp:82
+msgid "Transcription"
+msgstr "ការ​ចម្លង"
+
+#: TrackPanel.cpp:448 TrackPanel.cpp:449
+msgid "Track Panel"
+msgstr "បន្ទះ​បទ"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "បទ"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "បាន​រក្សាទុក "
@@ -3132,6 +3305,10 @@ msgstr "បាន​រក្សាទុក "
 msgid "Error trying to save file: "
 msgstr "កំហុស​ក្នុង​ការ​ព្យាយាម​រក្សា​ទុក​ឯកសារ ៖ "
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "ចន្លោះ​រក​ឃើញ​ក្នុង​ឈ្មោះ​គម្រោង\n"
@@ -3270,6 +3447,10 @@ msgstr "កំហុស​ក្នុង​ការ​ផ្ទុក​ទិ
 msgid "Save Metadata As:"
 msgstr "រក្សាទុក​ទិន្នន័យ​មេតា​ជា ៖"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3357,6 +3538,14 @@ msgstr "ថិរវេលា"
 msgid "Audacity Timer Record"
 msgstr "ឧបករណ៍​កំណត់​ពេល​ថត​របស់ Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:225
 msgid "Recording start"
 msgstr ""
@@ -3396,10 +3585,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:448 TrackPanel.cpp:449
-msgid "Track Panel"
-msgstr "បន្ទះ​បទ"
-
 #: TrackPanel.cpp:492 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "ផ្សេងៗទៀត..."
@@ -3452,6 +3637,10 @@ msgstr "បង្កើត​បទ​ស្តេរ៉េអូ"
 msgid "Split Stereo Track"
 msgstr "ពុះ​បទ​ស្តេរ៉េអូ"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:516
 msgid "Set Sample Format"
 msgstr "កំណត់​ទ្រង់ទ្រាយ​គំរូ"
@@ -3651,14 +3840,6 @@ msgstr "បន្ទះ​ដែល​បាន​លៃតម្រូវ"
 msgid "Adjusted gain"
 msgstr "កំណើន​ដែល​បាន​លៃតម្រូវ"
 
-#: TrackPanel.cpp:5796
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5797
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5658
 msgid "Can't delete track with active audio"
 msgstr "មិន​អាច​លុប​បទ​ដែល​មាន​អូឌីយ៉ូ​សកម្ម"
@@ -3693,6 +3874,11 @@ msgstr "ឆានែល"
 msgid "Split stereo track '%s'"
 msgstr "ពុះ​បទ​ស្តេរ៉េអូ '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5879
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3769,6 +3955,10 @@ msgstr "ឈ្មោះ​មុខ"
 msgid "Face size"
 msgstr "ទំហំ​មុខ"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6756
 msgid "Mute"
 msgstr "ស្ងាត់"
@@ -3847,10 +4037,10 @@ msgstr "កម្មវិធី​ជំនួយ​ពី 1 ដល់ %i"
 msgid "Plugins %i to %i"
 msgstr "កម្មវិធី​ជំនួយពី %i ដល់ %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "មិន​អនុញ្ញាត​ចំពោះ​ហេតុផល​មួយ​ចំនួន ។  ព្យាយាម​ជ្រើស​អូឌីយ៉ូ​ខ្លះ​ជាមុន ?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:724
 msgid "You can only do this when playing and recording are\n"
@@ -4296,12 +4486,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
-msgstr "ធ្វើឲ្យ​ទៅ​ជា 0dB ធម្មតាម​បន្ទាប់​ពី​ក​បង្ហាប់​"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "កម្រិត​ពន្លឺ ៖ %d dB"
@@ -4332,7 +4521,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "ពេល​វេលា​វាយ ៖ %.1f វិនាទី"
@@ -4355,6 +4543,10 @@ msgstr "ឧបករណ៍​បង្ហាប់..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "កំពុង​​អនុវត្ត​​ការ​​បង្ហាប់​​ជួរ​​ថាមវន្ត..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4374,19 +4566,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:190
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
-#: effects/Contrast.cpp:415
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4420,6 +4599,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4464,16 +4648,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "ត្រួតពិនិត្យ"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
@@ -4584,18 +4760,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr "កម្មវិធី​​បង្កើត​​​សំឡេង DTMF"
@@ -4720,6 +4884,10 @@ msgstr "កំហុស​​ក្នុង​ការ​ផ្ទុក​​
 msgid "custom"
 msgstr "ផ្ទាល់​ខ្លួន"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:1064
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "អេហ្គុយ​ដោយ Martyn Shaw និង Mitch Golden"
@@ -4921,10 +5089,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "ឧបករណ៍​លាយ"
-
 #: effects/LoadEffects.cpp:117
 msgid "Simulator"
 msgstr ""
@@ -5161,10 +5325,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "បែបផែន​ដែល​បាន​អនុវត្ត ៖ %s យក​អុហ្វសិត dc = %s​ ចេញ ធ្វើ​ឲ្យ​អាំភ្លី​ធម្មតា = %s"
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr "មិនពិត"
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr "ពិត"
 
@@ -5519,22 +5679,39 @@ msgstr "បទ​ទាំងអស់​ត្រូវ​តែ​មាន​
 msgid "Truncate Silence"
 msgstr "កាត់​ស្ងាត់​ឲ្យ​ខ្លី"
 
-#: effects/TruncSilence.cpp:342
-msgid "Max silence duration:"
-msgstr "ថិរវេលា​ស្ងាត់​អតិ. ៖"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
 #: effects/TruncSilence.cpp:345 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "មីល្លីវិនាទី"
 
+#: effects/TruncSilence.cpp:342
+msgid "Max silence duration:"
+msgstr "ថិរវេលា​ស្ងាត់​អតិ. ៖"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:347
 msgid "Threshold for silence:"
 msgstr "កម្រិត​​ពន្លឺ​សម្រាប់​ស្ងាត់ ៖"
 
-#: effects/TruncSilence.cpp:371
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   ថិរវេលា​ត្រូវ​តែ​តិច​បំផុត ១​ មីល្លីវិនាទី"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5544,17 +5721,55 @@ msgstr "កាត់​ស្ងាត់​ឲ្យ​ខ្លី..."
 msgid "Truncating Silence..."
 msgstr "កំពុង​កាត់​ស្ងាត់​ឲ្យ​ខ្លី..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "សូម​អភយទោស បែបផែន VST មិនអាច​ត្រូវ​បាន​អនុវត្ត​នៅ​លើ​បទ​ស្តេរ៉េអូ​បានទេ ដែល​ឆានែល​នីមួយៗ​របស់​បទ​មិនផ្គូផ្គង​គ្នា​ទេ ។"
+#: effects/ladspa/LadspaEffect.cpp:607
+msgid "Effect Settings"
+msgstr "ការ​កំណត់​បែបផែន"
+
+#: effects/ladspa/LadspaEffect.cpp:572 effects/ladspa/LadspaEffect.cpp:580
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "គ្មាន"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "មិនអាច​ដំណើរការ​ជំនួស​បានទេ"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:394
-msgid "VST Plug-in parameters:"
-msgstr "ប៉ារ៉ាម៉ែត្រ​កម្មវិធី​ជំនួយ VST  ៖"
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5603,19 +5818,10 @@ msgstr "អនុវត្ត​បែបផែន ៖ %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "សូម​អភ័យ​ទោស បែបផែន​កម្មវិធី​ជំនួយ​​មិនអាច​ត្រូវ​បាន​អនុវត្ត​នៅ​លើ​បទ​ស្តេរ៉េអូ​បានទេ ដែល​ឆានែល​នីមួយៗ​របស់​បទ​មិនផ្គូផ្គង​គ្នា ។"
 
-#: effects/ladspa/LadspaEffect.cpp:572 effects/ladspa/LadspaEffect.cpp:580
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "គ្មាន"
-
 #: effects/ladspa/LadspaEffect.cpp:574 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "អ្នកនិពន្ធ ៖"
 
-#: effects/ladspa/LadspaEffect.cpp:607
-msgid "Effect Settings"
-msgstr "ការ​កំណត់​បែបផែន"
-
 #: effects/ladspa/LadspaEffect.cpp:698
 msgid "Length (seconds)"
 msgstr "ប្រវែង (វិនាទី)"
@@ -5811,9 +6017,21 @@ msgstr "កំពុង​នាំចេញ​គម្រោង​ទាំង
 msgid "Command Output"
 msgstr "លទ្ធផល​ពាក្យបញ្ជា"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5881,6 +6099,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "គុណភាព ៖"
+
 #: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6014,12 +6236,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "គុណភាព ៖"
-
-#: export/ExportFFmpegDialogs.cpp:928
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6038,10 +6256,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:936
@@ -6230,12 +6448,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6346,6 +6564,17 @@ msgstr "ជម្រៅ​ប៊ីត ៖"
 msgid "FLAC Files"
 msgstr "ឯកសារ FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "កំពុង​នាំ​អូឌីយ៉ូ​ដែល​បាន​ជ្រើស​ចេញ​ជា FLAC"
@@ -6600,10 +6829,6 @@ msgstr "ជម្រើស..."
 msgid "Export location:"
 msgstr "ទីតាំង​នាំចេញ ៖"
 
-#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "ជ្រើស..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr "បង្កើត"
@@ -6628,10 +6853,6 @@ msgstr "ឈ្មោះ​ឯកសារ​ដំបូង ៖"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "បទ"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr "ឈ្មោះ​ឯកសារ ៖"
@@ -6665,6 +6886,35 @@ msgstr "\"%s\" បាន​បង្កើត​​ដោយ​ជោគជ័
 msgid "Choose a location to save the exported files"
 msgstr "ជ្រើស​ទីតាំង​ដើម្បី​រក្សា​ទុក​ឯកសារ​ដែល​​ដែលបាននាំចេញ"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:480
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6678,16 +6928,6 @@ msgstr "\"%s\" មិន​ទាន់​មាន\n"
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:606 export/ExportMultiple.cpp:714
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "នាំ​ចេញ​ឯកសារ​ %d ដោយ​ជោគជ័យ ។"
-
-#: export/ExportMultiple.cpp:607 export/ExportMultiple.cpp:715
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "បញ្ហា​ខ្លះ​បាន​កើត​ឡើង​បន្ទាប់​ពី​នាំ​ចេញ​ឯកសារ %d ។"
-
 #: export/ExportMultiple.cpp:898
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -6766,7 +7006,6 @@ msgstr "កំពុង​នាំចេញ​គម្រោង​ទាំង
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:556
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "កំហុស (ឯកសារ​អាច​មិន​ទាន់​ត្រូវ​បាន​សរសេរ) ៖ %hs"
@@ -6932,6 +7171,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "ឯកសារ FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "បញ្ជី​ឯកសារ​នៅ​ក្នុង​ទ្រង់ទ្រាយ​អត្ថបទ​មូលដ្ឋាន"
@@ -7089,34 +7332,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "អូឌីយ៉ូ I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "បាច់"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "១​ (ម៉ូណូ)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr "ឥរិយាបថ"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "២ (ស្តេរ៉េអូ)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "កុំ​អនុវត្ត​បែបផែន​ក្នុង​របៀប​បាច់"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "ចាក់ឡើងវិញ"
+#: prefs/BatchPrefs.cpp:85
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "របៀប​ CleanSpeech (GUI ដែល​បាន​ប្តូរតាម​បំណង)"
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "ឧបករណ៍"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "ចំណុច​ប្រទាក់"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "ការ​ប្រើ ៖"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "ច្រក​អូឌីយ៉ូ v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "ចាក់ឡើងវិញ"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7126,91 +7376,13 @@ msgstr "ថត"
 msgid "Channels"
 msgstr "ឆានែល"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "ចាក់តាម"
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "ចាក់តាម​ផ្នែក​រឹង​ ៖ ចាក់បទ​ថ្មី​ខណៈពេល​កំពុង​ថត​វា"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "ចាក់តាម​ផ្នែក​ទន់​ ៖ ចាក់បទ​ថ្មី​​ខណៈពេល​​កំពុង​ថត​វា"
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:161
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "មើល​បែបផែន​ជាមុន"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "ប្រវែង​នៃ​ការ​​មើល​ជាមុន"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "កាត់​មើលជាមុន"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "មើល​ជា​មុន​ មុននឹង​​កាត់​តំបន់ ៖"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "មើល​ជា​មុន​ បន្ទាប់​ពី​កាត់​តំបន់ ៖"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "គម្លាត​ពេល"
-
-#: prefs/AudioIOPrefs.cpp:196
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:199
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "ស្វែងរក​ពេលវេលា​ពេល​កំពុង​ចាក់"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "កំឡុង​ពេល​ខ្លី ៖"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "កំឡុង​ពេល​វែង ៖"
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "បាច់"
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "ឥរិយាបថ"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "កុំ​អនុវត្ត​បែបផែន​ក្នុង​របៀប​បាច់"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "១​ (ម៉ូណូ)"
 
-#: prefs/BatchPrefs.cpp:85
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "របៀប​ CleanSpeech (GUI ដែល​បាន​ប្តូរតាម​បំណង)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "២ (ស្តេរ៉េអូ)"
 
 #: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
@@ -7229,34 +7401,31 @@ msgstr "ទីតាំង ៖"
 msgid "Free Space:"
 msgstr "ទំហំទំនេរ ៖"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "រក្សាទុក​ដោយ​ស្វ័យប្រវត្តិ"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "រក្សាទុក​ដោយ​​ស្វ័យប្រវត្តិ​ច្បាប់ចម្លង​នៃ​គម្រោង​ក្នុង​ថត​ដាច់​ដោយ​ឡែក"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "នាទី"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "ឃ្លាំង​សម្ងាត់​អូឌីយ៉ូ"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "ជ្រើស​ទីតាំង​ត្រូវ​ដាក់​ថត​បណ្ដោះអាសន្ន"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7275,220 +7444,141 @@ msgstr "ថត %s មិនអាច​សរសេរ​បាន"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "ផ្លាស់ប្ដូរ​ទៅ​ថត​បណ្ដោះអាសន្ន នឹង​គ្មាន​ប្រសិទ្ធភាព​ទេ រហូត​ដល់ Audacity ត្រូវ​បាន​ចាប់ផ្ដើម​ឡើង​វិញ"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "MP3 Library Version:"
-msgstr "កំណែ​បណ្ណាល័យ MP3 ៖"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
-msgstr "នៅ​ពេល​រក្សាទុក​គម្រោង ដែល​អាស្រ័យ​លើ​ឯកសារ​អូឌីយ៉ូ​ផ្សេងៗ​ទៀត"
+#: prefs/GUIPrefs.cpp:115
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-៣៦ dB (ជួរ​រាក់​សម្រាប់​ការ​កែសម្រួល​អាំភ្លី​ខ្ពស់)"
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:116
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-៤៨ dB (ជួរ PCM នៃគំរូ ៨ ប៊ីត)"
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "&Ask user"
-msgstr "សួរ​អ្នក​ប្រើ"
+#: prefs/GUIPrefs.cpp:117
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-៩៦ dB (ជួរ PCM នៃ គំរូ ១៦ ប៊ីត)"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr ""
+#: prefs/GUIPrefs.cpp:118
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-១២០ dB (ព្រំដែន​ប្រហែល​នៃ​ការស្តាប់​របស់​មនុស្ស)"
 
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "តែងតែ​លាយ​​បទ​ទាំងអស់​​ទៅជាឆានែល​​ស្តេរ៉េអូ ឬ​ម៉ូណូ ។"
+#: prefs/GUIPrefs.cpp:119
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (ជួរ PCM នៃ គំរូ ២៤ ប៊ីត)"
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "ប្រើការ​​លាយ​​ផ្លាល់ខ្លួ​ន (ឧទាហរណ៍ នាំចេញ​ឯកសារ​ពហុ​ឆានែល ៥.១)"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "បង្ហាញ"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "ចំណុច​ប្រទាក់"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr "ធ្វើ​ឲ្យ​ការ​បង្ហាញ​ទាន់សម័យ​ ខណៈពេល​ចាក់"
-
 #: prefs/GUIPrefs.cpp:96
 msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:86
-msgid "Editing a &clip can move other clips"
-msgstr "ការ​កែសម្រួល​ឈុត​អាចផ្លាស់ទី​ឈុត​ដទៃ​ទៀត"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr "បន្លឺ​សំឡេង​ប៊ីត​នៅ​ពេល​​បញ្ចប់​សកម្មភាព​វែងៗ"
 
-#: prefs/BatchPrefs.cpp:89 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr "បង្ហាញ/លាក់"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "អនុញ្ញាត​ឲ្យ​កាត់​បន្ទាត់"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "បង្ហាញ​ការព្រមាន​អំពី​ឯកសារ​បណ្តោះ​អាសន្ន"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:115
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-៣៦ dB (ជួរ​រាក់​សម្រាប់​ការ​កែសម្រួល​អាំភ្លី​ខ្ពស់)"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-៤៨ dB (ជួរ PCM នៃគំរូ ៨ ប៊ីត)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:117
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-៩៦ dB (ជួរ PCM នៃ គំរូ ១៦ ប៊ីត)"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-១២០ dB (ព្រំដែន​ប្រហែល​នៃ​ការស្តាប់​របស់​មនុស្ស)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:119
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (ជួរ PCM នៃ គំរូ ២៤ ប៊ីត)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "តែងតែ​លាយ​​បទ​ទាំងអស់​​ទៅជាឆានែល​​ស្តេរ៉េអូ ឬ​ម៉ូណូ ។"
+
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "ប្រើការ​​លាយ​​ផ្លាល់ខ្លួ​ន (ឧទាហរណ៍ នាំចេញ​ឯកសារ​ពហុ​ឆានែល ៥.១)"
+
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
@@ -7519,17 +7609,22 @@ msgstr "ចំណាំ ៖ ចុច Cmd+Q នឹងចេញ ។ គ្រ
 msgid "&Defaults"
 msgstr "លំនាំដើម"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "បន្សំ​គ្រាប់ចុច"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "នាំចេញ​ផ្លូវកាត់​ក្តារចុច​ជា ៖"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "មិន​ធ្វើ​វិញ"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "កំហុស​ក្នុងការ​រក្សាទុក​ផ្លូវកាត់​ក្តារចុច"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7539,6 +7634,14 @@ msgstr "ជ្រើស​ឯកសារ XML ដែល​មាន​ផ្ល
 msgid "Error loading keyboard shortcuts"
 msgstr "កំហុស​ក្នុង​ការផ្ទុក​ផ្លូវកាត់​ក្តារចុច"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "នាំចេញ​ផ្លូវកាត់​ក្តារចុច​ជា ៖"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "កំហុស​ក្នុងការ​រក្សាទុក​ផ្លូវកាត់​ក្តារចុច"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7548,9 +7651,61 @@ msgstr "ផ្លូវកាត់​ក្ដារចុច '%s' ត្រូ
 "\n"
 "'%s' រួច​ហើយ"
 
-#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "មិន​ធ្វើ​វិញ"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:104
+msgid "MP3 Library Version:"
+msgstr "កំណែ​បណ្ណាល័យ MP3 ៖"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "អូឌីយ៉ូ I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "ច្រក​អូឌីយ៉ូ v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "ចាក់តាម"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7564,6 +7719,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "កាត់​មើលជាមុន"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7572,6 +7731,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "គម្លាត​ពេល"
+
 #: prefs/AudioIOPrefs.cpp:189
 msgid "Audio to buffer:"
 msgstr "អូឌីយ៉ូ​ទៅ​សតិ​​បណ្ដោះ​អាសន្ន"
@@ -7584,6 +7747,18 @@ msgstr "កែតម្រូវ​គម្លាត​ពេល ៖"
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "កំឡុង​ពេល​ខ្លី ៖"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "កំឡុង​ពេល​វែង ៖"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "មើល​បែបផែន​ជាមុន"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7794,10 +7969,62 @@ msgstr "បញ្ជា(Ctrl) កង់​បង្វិល"
 msgid "Zoom in or out"
 msgstr "ពង្រីក ឬ​បង្រួម"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "ប្រវែង​នៃ​ការ​​មើល​ជាមុន"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "មើល​ជា​មុន​ មុននឹង​​កាត់​តំបន់ ៖"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "មើល​ជា​មុន​ បន្ទាប់​ពី​កាត់​តំបន់ ៖"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "ស្វែងរក​ពេលវេលា​ពេល​កំពុង​ចាក់"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "ចំណូល​ចិត្ត Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr "នៅ​ពេល​រក្សាទុក​គម្រោង ដែល​អាស្រ័យ​លើ​ឯកសារ​អូឌីយ៉ូ​ផ្សេងៗ​ទៀត"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "&Ask user"
+msgstr "សួរ​អ្នក​ប្រើ"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "រក្សាទុក​ដោយ​ស្វ័យប្រវត្តិ"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "រក្សាទុក​ដោយ​​ស្វ័យប្រវត្តិ​ច្បាប់ចម្លង​នៃ​គម្រោង​ក្នុង​ថត​ដាច់​ដោយ​ឡែក"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "នាទី"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "ចតុកោណកែង"
@@ -7822,45 +8049,46 @@ msgstr "អត្រា​គំរូ​លំនាំដើម ៖"
 msgid "Default Sample Format:"
 msgstr "ទ្រង់ទ្រាយ​គំរូ​លំនាំដើម ៖"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "កម្មវិធី​បម្លែង​អត្រា​គំរូ​ពេលវេលាពិត ៖"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "កម្មវិធី​បម្លែង​អត្រាគំរូ​គុណភាព​ខ្ពស់ ៖"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "បំរែបំរួល​ពេលវេលា​ពិត ៖"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "បំរែបំរួល​គុណភាពខ្ពស់ ៖"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "ការ​បម្លែង"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "កម្មវិធី​បម្លែង​អត្រា​គំរូ"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "ប្រែប្រួល"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "ពេលវេលាពិត ៖"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "គុណភាព​ខ្ពស់ ៖"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "ការ​ថត​ដ៏​ឆ្លាត"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "ចាក់តាម​ផ្នែក​រឹង​ ៖ ចាក់បទ​ថ្មី​ខណៈពេល​កំពុង​ថត​វា"
+
+#: prefs/AudioIOPrefs.cpp:158
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:161
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -7874,18 +8102,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "ក្រាហ្វិក​វិសាលគម"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "ទំហំ FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "៨ - ក្រុម​ទូលាយ​បំផុត"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "២៥៦ - លំនាំដើម"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7894,21 +8158,26 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "៤០៩៦ - ក្រុម​ចង្អៀត​​បំផុត"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "ប្រភេទ​បង្អួច ៖"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "បង្ហាញ"
-
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "មាត្រដ្ឋាន​ប្រផេះ"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -7918,16 +8187,16 @@ msgstr "ប្រេកង់​អប្បបរមា (Hz) ៖"
 msgid "Maximum Frequency (Hz):"
 msgstr "ប្រេកង់​អតិបរមា (Hz) ៖"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7938,6 +8207,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "ប្រេកង់​អតិបរមា​ត្រូវតែ​ជា​លេខ​គត់"
@@ -7954,18 +8231,70 @@ msgstr "ប្រេកង់​អប្បបរមា​ត្រូវតែ
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "ប្រេកង់​អប្បបរមា​ត្រូវតែ​មាន​តម្លៃ​តូចបំផុត ០ Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "ស្បែក"
 
+#: prefs/ThemePrefs.cpp:124
+msgid "Info"
+msgstr "ព័ត៌មាន"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Themability គឺ​ជា​លក្ខណៈពិសេស​ពិសោធន៍ ។\n"
+"\n"
+"ដើម្បី​សាកល្បង​វា ចុច \"រក្សា​ទុក​​ឃ្លាំង​សម្ងាត់​ស្បែក\" បន្ទាប់​មក\n"
+"រក​ និង​កែប្រែ​រូបភាព​ និង​ពណ៌​នៅ​ក្នុង \n"
+"ImageCacheVxx.png ដោយ​ប្រើ​កម្មវិធី​កែសម្រួល​រូបភាព​ដូចជា \n"
+"Gimp.\n"
+"\n"
+"ចុច \"ផ្ទុក​ឃ្លាំង​សម្ងាត់​ស្បែក\" ដើម្បី​ផ្ទុក​រូបភាព​ដែល​បាន​ផ្លាស់ប្ដូរ\n"
+"និង​ពណ៌​ត្រឡប់​ទៅ​ក្នុង Audacity ។\n"
+"\n"
+"[មាន​តែ​របារ​ឧបករណ៍​​ត្រួតពិនិត្យ និង​ពណ៌​នៅ​លើ \n"
+"ដាន​រលក​ត្រូវ​បាន​ប៉ះពាល់​បច្ចុប្បន្ន​នេះ ទោះ​បីជា\n"
+"ឯកសារ​រូបភាព​បង្ហាញ​រូបតំណាង​ផ្សេង​ក៏​ដោយ ។]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:91
 msgid "Theme Cache - Images && Color"
 msgstr "ឃ្លាំងសម្ងាត់ស្បែក - រូបភាព និង​ពណ៌"
@@ -7994,98 +8323,94 @@ msgstr "រក្សាទុក​ឯកសារ"
 msgid "Load Files"
 msgstr "ផ្ទុក​ឯកសារ"
 
-#: prefs/ThemePrefs.cpp:124
-msgid "Info"
-msgstr "ព័ត៌មាន"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:127
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Themability គឺ​ជា​លក្ខណៈពិសេស​ពិសោធន៍ ។\n"
-"\n"
-"ដើម្បី​សាកល្បង​វា ចុច \"រក្សា​ទុក​​ឃ្លាំង​សម្ងាត់​ស្បែក\" បន្ទាប់​មក\n"
-"រក​ និង​កែប្រែ​រូបភាព​ និង​ពណ៌​នៅ​ក្នុង \n"
-"ImageCacheVxx.png ដោយ​ប្រើ​កម្មវិធី​កែសម្រួល​រូបភាព​ដូចជា \n"
-"Gimp.\n"
-"\n"
-"ចុច \"ផ្ទុក​ឃ្លាំង​សម្ងាត់​ស្បែក\" ដើម្បី​ផ្ទុក​រូបភាព​ដែល​បាន​ផ្លាស់ប្ដូរ\n"
-"និង​ពណ៌​ត្រឡប់​ទៅ​ក្នុង Audacity ។\n"
-"\n"
-"[មាន​តែ​របារ​ឧបករណ៍​​ត្រួតពិនិត្យ និង​ពណ៌​នៅ​លើ \n"
-"ដាន​រលក​ត្រូវ​បាន​ប៉ះពាល់​បច្ចុប្បន្ន​នេះ ទោះ​បីជា\n"
-"ឯកសារ​រូបភាព​បង្ហាញ​រូបតំណាង​ផ្សេង​ក៏​ដោយ ។]\n"
-
-#: prefs/ThemePrefs.cpp:132
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "អ្នក​បាន​ចង​ក្រង​ Audacity ជាមួយប៊ូតុង​បន្ថែម​ \n"
-"'ប្រភព​លទ្ធផល' ។  នេះនឹងរក្សា​ទុក​កំណែ​ C របស់ \n"
-"ឃ្លាំងសម្ងាត់​​រូបភាព​​ដែល​​អាច​​ត្រូវ​បាន​ចងក្រង​ជា​លំនាំដើម ។\n"
-
-#: prefs/ThemePrefs.cpp:137
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "ប្រសិន​បើ​​បាន​​គូសធីក 'ផ្ទុក​ឃ្លាំងសម្ងាត់​ស្បែក​នៅពេល​ចាប់ផ្ដើម' បន្ទាប់​មក \n"
-"ឃ្លាំង​សម្ងាត់​ស្បែក​នឹង​ត្រូវ​បាន​ផ្ទុក​​ នៅ​ពេល​កម្មវិធី \n"
-"ចាប់ផ្ដើម ។\n"
-"\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
+msgstr "ធ្វើ​ឲ្យ​ការ​បង្ហាញ​ទាន់សម័យ​ ខណៈពេល​ចាក់"
 
-#: prefs/ThemePrefs.cpp:140
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "រក្សាទុក​ និង​ផ្ទុក​ឯកសារ​ស្បែក​នីមួយៗ​ ដោយ​ប្រើ \n"
-"ឯកសារ​ផ្សេង​សម្រាប់​រូបភាព​នីមួយៗ ប៉ុន្តែ​ម្យ៉ាងវិញ​ទៀត \n"
-"មាន​គំនិត​ដូចគ្នា ។\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "ផ្អាក"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "ចាក់"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr "អនុញ្ញាត​ឲ្យ​កាត់​បន្ទាត់"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "បញ្ឈប់"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "រំលង​ទៅ​ដើម"
+#: prefs/GUIPrefs.cpp:86
+msgid "Editing a &clip can move other clips"
+msgstr "ការ​កែសម្រួល​ឈុត​អាចផ្លាស់ទី​ឈុត​ដទៃ​ទៀត"
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "រំលង​ទៅ​ចុង"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:774
+msgid "Pause"
+msgstr "ផ្អាក P"
+
+#: Menus.cpp:773
+msgid "Stop"
+msgstr "បញ្ឈប់ S"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:838
 msgid "Error while opening sound device. "
 msgstr "កំហុស​ខណៈពេល​​បើក​ឧបករណ៍​សំឡេង ។ "
@@ -8126,29 +8451,21 @@ msgstr "ពង្រីក"
 msgid "Zoom Out"
 msgstr "បង្រួម"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "បិទ/បើកការ​ពង្រីក"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "ធ្វើ​ឲ្យ​សម​នឹង​ជម្រើស"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "ធ្វើ​ឲ្យ​ជម្រើស​សម​នឹង​បង្អួច"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "ធ្វើ​ឲ្យ​សម​នឹង​​​​គម្រោង"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "ធ្វើ​ឲ្យ​គម្រោង​សម​​នៅ​ក្នុង​បង្អួច"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "ម៉ែត្រ"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "ធ្វើ​ឲ្យ​សម​នឹង​ជម្រើស"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "ធ្វើ​ឲ្យ​សម​នឹង​​​​គម្រោង"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8196,6 +8513,14 @@ msgstr "គ្រាប់​រំកិល​បញ្ចូល"
 msgid "Input Source"
 msgstr "ប្រភព​ចូល"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "ជម្រើស"
@@ -8274,30 +8599,6 @@ msgstr "ឆ្វេង=ពង្រីក ស្តាំ=បង្រួម 
 msgid "Click and drag to move a track in time"
 msgstr "ចុច និង​អូស​ដើម្បី​ផ្លាស់ទី​បទ​នៅ​ក្នុង​ពេលវេលា"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "ឧបករណ៍"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "ឧបករណ៍​ជម្រើស"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "ឧបករណ៍​ស្រោមសំបុត្រ"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "ឧបករណ៍​ប្តូរ​ពេលវេលា"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "ឧបករណ៍​ពង្រីក"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "ឧបករណ៍​គូរ"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "របៀប​ពហុ​ឧបករណ៍"
@@ -8306,22 +8607,10 @@ msgstr "របៀប​ពហុ​ឧបករណ៍"
 msgid "Slide Tool"
 msgstr "ឧបករណ៍​រំកិល"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "ពហុ​ឧបករណ៍"
-
-#: toolbars/TranscriptionToolBar.cpp:82
-msgid "Transcription"
-msgstr "ការ​ចម្លង"
-
 #: toolbars/TranscriptionToolBar.cpp:163
 msgid "Play at selected speed"
 msgstr "ចាក់​នៅ​ល្បឿន​ដែល​បាន​ជ្រើស"
 
-#: toolbars/TranscriptionToolBar.cpp:164
-msgid "Play-at-speed"
-msgstr "ចាក់​នៅ​ល្បឿន"
-
 #: toolbars/TranscriptionToolBar.cpp:170 toolbars/TranscriptionToolBar.cpp:175
 msgid "Playback Speed"
 msgstr "ល្បឿន​ចាក់​ឡើងវិញ"
@@ -8330,74 +8619,38 @@ msgstr "ល្បឿន​ចាក់​ឡើងវិញ"
 msgid "Adjust left selection to next onset"
 msgstr "​លៃតម្រូវ​ជម្រើស​ឆ្វេង​ទៅនឹង​អនសិត​​បន្ទាប់"
 
-#: toolbars/TranscriptionToolBar.cpp:181
-msgid "Left-to-On"
-msgstr "ឆ្វេង​ដើម្បី​បើក"
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Adjust right selection to previous offset"
 msgstr "លៃតម្រូវ​ជម្រើស​ស្តាំ​ទៅនឹង​អុហ្វសិត​មុន"
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Right-to-Off"
-msgstr "ស្តាំ​ដើម្បី​បិទ"
-
 #: toolbars/TranscriptionToolBar.cpp:186
 msgid "Adjust left selection to next offset"
 msgstr "លៃតម្រូវ​ជម្រើស​ឆ្វេង​ទៅនឹង​អុហ្វសិត​បន្ទាប់"
 
-#: toolbars/TranscriptionToolBar.cpp:187
-msgid "Left-to-Off"
-msgstr "ឆ្វេង​ដើម្បី​បិទ"
-
 #: toolbars/TranscriptionToolBar.cpp:189
 msgid "Adjust right selection to previous onset"
 msgstr "លៃតម្រូវ​ជម្រើស​ស្តាំ​ទៅនឹង​អនសិត​មុន"
 
-#: toolbars/TranscriptionToolBar.cpp:190
-msgid "Right-to-On"
-msgstr "ស្ដាំ​ដើម្បី​បើក"
-
 #: toolbars/TranscriptionToolBar.cpp:192
 msgid "Select region of sound around cursor"
 msgstr "ជ្រើស​តំបន់​សំឡេង​នៅ​ជុំវិញ​ទស្សន៍ទ្រនិច"
 
-#: toolbars/TranscriptionToolBar.cpp:193
-msgid "Select-Sound"
-msgstr "ជ្រើស​សំឡេង"
-
 #: toolbars/TranscriptionToolBar.cpp:195
 msgid "Select region of silence around cursor"
 msgstr "ជ្រើស​តំបន់​ស្ងាត់​នៅ​ជុំវិញ​ទស្សន៍​ទ្រនិច"
 
-#: toolbars/TranscriptionToolBar.cpp:196
-msgid "Select-Silence"
-msgstr "ជ្រើស​ស្ងាត់"
-
 #: toolbars/TranscriptionToolBar.cpp:198
 msgid "Automatically make labels from words"
 msgstr "បង្កើត​​ស្លាក​ដោយ​ស្វ័យ​ប្រវត្តិ​ពី​ពាក្យ"
 
-#: toolbars/TranscriptionToolBar.cpp:199
-msgid "Make Labels"
-msgstr "បង្កើត​ស្លាក"
-
 #: toolbars/TranscriptionToolBar.cpp:201
 msgid "Add label at selection"
 msgstr "បន្ថែម​ស្លាក​នៅ​ជម្រើស"
 
-#: toolbars/TranscriptionToolBar.cpp:202
-msgid "Add Label"
-msgstr "បន្ថែម​ស្លាក"
-
 #: toolbars/TranscriptionToolBar.cpp:204
 msgid "Calibrate voicekey"
 msgstr "ក្រិត​​កូនសោរ​សំឡេង​តាម​ខ្នាត​"
 
-#: toolbars/TranscriptionToolBar.cpp:205
-msgid "Calibrate"
-msgstr "ក្រិត​តាម​ខ្នាត"
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust Sensitivity"
 msgstr "លៃតម្រូវ​ភាព​យល់ដឹង"
@@ -8430,6 +8683,46 @@ msgstr "ទិសផ្លាស់ប្តូរ (កម្រិត​ពន
 msgid "Key type"
 msgstr "ប្រភេទ​គ្រាប់ចុច"
 
+#: toolbars/TranscriptionToolBar.cpp:164
+msgid "Play-at-speed"
+msgstr "ចាក់​នៅ​ល្បឿន"
+
+#: toolbars/TranscriptionToolBar.cpp:181
+msgid "Left-to-On"
+msgstr "ឆ្វេង​ដើម្បី​បើក"
+
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Right-to-Off"
+msgstr "ស្តាំ​ដើម្បី​បិទ"
+
+#: toolbars/TranscriptionToolBar.cpp:187
+msgid "Left-to-Off"
+msgstr "ឆ្វេង​ដើម្បី​បិទ"
+
+#: toolbars/TranscriptionToolBar.cpp:190
+msgid "Right-to-On"
+msgstr "ស្ដាំ​ដើម្បី​បើក"
+
+#: toolbars/TranscriptionToolBar.cpp:193
+msgid "Select-Sound"
+msgstr "ជ្រើស​សំឡេង"
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Select-Silence"
+msgstr "ជ្រើស​ស្ងាត់"
+
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Make Labels"
+msgstr "បង្កើត​ស្លាក"
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Add Label"
+msgstr "បន្ថែម​ស្លាក"
+
+#: toolbars/TranscriptionToolBar.cpp:205
+msgid "Calibrate"
+msgstr "ក្រិត​តាម​ខ្នាត"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (បិទ)"
@@ -8739,3 +9032,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "មិនអាច​ផ្ទុក​ឯកសារ ៖ \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ko.po b/locale/ko.po
index e70df8d..78db488 100644
--- a/locale/ko.po
+++ b/locale/ko.po
@@ -16,9 +16,7 @@ msgstr "Project-Id-Version: Audacity 1.3.3\n"
 "X-Poedit-Language: Korean\n"
 "X-Poedit-Country: KOREA, REPUBLIC OF\n"
 
-#: AboutDialog.cpp:139
-#: AudacityApp.cpp:674
-#: Menus.cpp:783
+#: AboutDialog.cpp:139 AudacityApp.cpp:674 Menus.cpp:783
 msgid "&About Audacity..."
 msgstr "Audacity ì •ë³´(&A)..."
 
@@ -34,11 +32,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -47,8 +45,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:232
-#: AboutDialog.cpp:234
+#: AboutDialog.cpp:232 AboutDialog.cpp:234
 msgid "translator_credits"
 msgstr "번역"
 
@@ -91,7 +88,7 @@ msgid "Special thanks:"
 msgstr "특별히 감사할 분:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -103,8 +100,7 @@ msgstr ""
 msgid "Build Information"
 msgstr ""
 
-#: AboutDialog.cpp:148
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:148 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "사용"
 
@@ -202,16 +198,12 @@ msgstr "폴더 설정: "
 msgid "GPL License"
 msgstr ""
 
-#: AudacityApp.cpp:418
-#: Project.cpp:1654
+#: AudacityApp.cpp:418 Project.cpp:1654
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s 은(는) 이미 다른 창에서 사용 중입니다."
 
-#: AudacityApp.cpp:420
-#: Project.cpp:1656
-#: Project.cpp:1737
-#: Project.cpp:1881
+#: AudacityApp.cpp:420 Project.cpp:1656 Project.cpp:1737 Project.cpp:1881
 #: Project.cpp:1983
 msgid "Error opening project"
 msgstr "프로젝트를 여는 중 오류"
@@ -237,21 +229,28 @@ msgstr "입력 미터"
 msgid "Output Meter"
 msgstr "출력 미터"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:676
-#: Menus.cpp:531
-msgid "&Preferences...\tCtrl+,"
-msgstr "설정(&P)...\tCtrl+,"
+#: Menus.cpp:201
+msgid "&New"
+msgstr "새로 만들기(&N)"
+
+#: Menus.cpp:203
+msgid "&Open..."
+msgstr "열기(&O)..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
 
-#: AudacityApp.cpp:759
-#: AudacityApp.cpp:844
+#: AudacityApp.cpp:676 Menus.cpp:531
+msgid "&Preferences..."
+msgstr "설정(&P)..."
+
+#: AudacityApp.cpp:759 AudacityApp.cpp:844
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "사용 중인 블록 크기: %ld\n"
 
-#: AudacityApp.cpp:781
-#: AudacityApp.cpp:859
+#: AudacityApp.cpp:781 AudacityApp.cpp:859
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "알 수 없는 명령 라인 설정: %s\n"
@@ -368,14 +367,14 @@ msgstr "오류: "
 msgid "Error Initializing Audio"
 msgstr "오디오 초기화 중 오류"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -422,38 +421,25 @@ msgstr ""
 msgid "Confirm?"
 msgstr ""
 
-#: AutoRecovery.cpp:132
-#: AutoRecovery.cpp:169
+#: AutoRecovery.cpp:132 AutoRecovery.cpp:169
 msgid "Could not enumerate files in auto save directory"
 msgstr "자동 저장 폴더에서 파일을 계산할 수 없음"
 
-#: AutoRecovery.cpp:133
-#: AutoRecovery.cpp:170
-#: Menus.cpp:2551
-#: Menus.cpp:4386
-#: Project.cpp:1840
-#: Project.cpp:3162
-#: Project.cpp:3237
-#: WaveTrack.cpp:519
-#: WaveTrack.cpp:538
-#: WaveTrack.cpp:1600
-#: effects/Effect.cpp:346
-#: export/ExportMP2.cpp:83
-#: prefs/DirectoriesPrefs.cpp:188
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:530
+#: AutoRecovery.cpp:133 AutoRecovery.cpp:170 Menus.cpp:2551 Menus.cpp:4386
+#: Project.cpp:1840 Project.cpp:3162 Project.cpp:3237 WaveTrack.cpp:519
+#: WaveTrack.cpp:538 WaveTrack.cpp:1600 effects/Effect.cpp:346
+#: export/ExportMP2.cpp:83 prefs/DirectoriesPrefs.cpp:188
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:530
 #: toolbars/ControlToolBar.cpp:817
 msgid "Error"
 msgstr "오류"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "명령 선택"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "명령(&C)"
@@ -462,8 +448,7 @@ msgstr "명령(&C)"
 msgid "&Edit Parameters"
 msgstr "인수 편집(&E)"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "인수(&P)"
 
@@ -510,8 +495,7 @@ msgstr "%s 적용, 인수\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:667
-#: BatchCommands.cpp:672
+#: BatchCommands.cpp:667 BatchCommands.cpp:672
 msgid "Test Mode"
 msgstr "시험 모드"
 
@@ -520,8 +504,7 @@ msgstr "시험 모드"
 msgid "Apply %s"
 msgstr "%s 적용"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "체인 적용"
@@ -546,61 +529,31 @@ msgstr "현재 프로젝트에 적용(&P)"
 msgid "Apply to &Files..."
 msgstr "파일에 적용(&F)..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: LabelDialog.cpp:136
-#: LabelDialog.cpp:140
-#: UploadDialog.cpp:180
-#: effects/Amplify.cpp:209
-#: effects/AutoDuck.cpp:528
-#: effects/AutoDuck.cpp:532
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:184
-#: effects/ChangePitch.cpp:393
-#: effects/ChangeSpeed.cpp:393
-#: effects/ChangeTempo.cpp:295
-#: effects/ClickRemoval.cpp:429
-#: effects/Compressor.cpp:516
-#: effects/Effect.cpp:399
-#: effects/Effect.cpp:405
-#: effects/Equalization.cpp:1218
-#: effects/Leveller.cpp:249
-#: effects/Normalize.cpp:353
-#: effects/Phaser.cpp:600
-#: effects/Repeat.cpp:271
-#: effects/SpikeCleaner.cpp:188
-#: effects/TruncSilence.cpp:278
-#: effects/VST/VSTEffect.cpp:95
-#: effects/VST/VSTEffect.cpp:451
-#: effects/Wahwah.cpp:587
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/ladspa/LadspaEffect.cpp:609
-#: effects/nyquist/Nyquist.cpp:823
-#: effects/nyquist/Nyquist.cpp:987
-#: export/Export.cpp:952
-#: export/ExportCL.cpp:328
-#: export/ExportCL.cpp:332
-#: export/ExportFLAC.cpp:226
-#: export/ExportFLAC.cpp:230
-#: export/ExportMP2.cpp:236
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:984
-#: export/ExportMP3.cpp:988
-#: export/ExportMP3.cpp:1524
-#: export/ExportMP3.cpp:1528
-#: export/ExportMultiple.cpp:302
-#: export/ExportMultiple.cpp:306
-#: export/ExportOGG.cpp:237
-#: export/ExportOGG.cpp:241
-#: export/ExportPCM.cpp:267
-#: export/ExportPCM.cpp:271
-#: import/ImportRaw.cpp:443
-#: prefs/PrefsDialog.cpp:169
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 LabelDialog.cpp:136
+#: LabelDialog.cpp:140 UploadDialog.cpp:180 effects/Amplify.cpp:209
+#: effects/AutoDuck.cpp:528 effects/AutoDuck.cpp:532
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:184
+#: effects/ChangePitch.cpp:393 effects/ChangeSpeed.cpp:393
+#: effects/ChangeTempo.cpp:295 effects/ClickRemoval.cpp:429
+#: effects/Compressor.cpp:516 effects/Effect.cpp:399 effects/Effect.cpp:405
+#: effects/Equalization.cpp:1218 effects/Leveller.cpp:249
+#: effects/Normalize.cpp:353 effects/Phaser.cpp:600 effects/Repeat.cpp:271
+#: effects/SpikeCleaner.cpp:188 effects/TruncSilence.cpp:278
+#: effects/VST/VSTEffect.cpp:95 effects/VST/VSTEffect.cpp:451
+#: effects/Wahwah.cpp:587 effects/audiounits/AudioUnitEffect.cpp:882
+#: effects/ladspa/LadspaEffect.cpp:609 effects/nyquist/Nyquist.cpp:823
+#: effects/nyquist/Nyquist.cpp:987 export/Export.cpp:952
+#: export/ExportCL.cpp:328 export/ExportCL.cpp:332 export/ExportFLAC.cpp:226
+#: export/ExportFLAC.cpp:230 export/ExportMP2.cpp:236 export/ExportMP2.cpp:240
+#: export/ExportMP3.cpp:984 export/ExportMP3.cpp:988 export/ExportMP3.cpp:1524
+#: export/ExportMP3.cpp:1528 export/ExportMultiple.cpp:302
+#: export/ExportMultiple.cpp:306 export/ExportOGG.cpp:237
+#: export/ExportOGG.cpp:241 export/ExportPCM.cpp:267 export/ExportPCM.cpp:271
+#: import/ImportRaw.cpp:443 prefs/PrefsDialog.cpp:169
 msgid "&Cancel"
 msgstr "취소(&C)"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "체인이 선택되지 않음"
 
@@ -637,8 +590,7 @@ msgstr "적용 중..."
 msgid "File"
 msgstr "파일"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "체인 편집"
@@ -651,9 +603,7 @@ msgstr "체인(&C)"
 msgid "&Add"
 msgstr "추가(&A)"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:128
-#: TrackPanel.cpp:3937
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 TrackPanel.cpp:3937
 msgid "&Remove"
 msgstr "제거(&R)"
 
@@ -667,8 +617,8 @@ msgstr "체인(&h) (편집하려면 더블클릭 또는 SPACE를 누르십시오
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "번호"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -757,8 +707,7 @@ msgstr "디스크 공간"
 msgid "Copy Selected Audio Into Project"
 msgstr "선택된 오디오를 프로젝트로 복사"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:413
+#: Dependencies.cpp:304 Dependencies.cpp:413
 msgid "Cancel Save"
 msgstr "저장 취소"
 
@@ -770,8 +719,7 @@ msgstr ""
 msgid "Copy All Audio into Project (Safer)"
 msgstr ""
 
-#: Dependencies.cpp:320
-#: Dependencies.cpp:325
+#: Dependencies.cpp:320 Dependencies.cpp:325
 msgid "Ask me"
 msgstr "물어보기"
 
@@ -805,9 +753,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "경고: 디스크 공간이 얼마 남지 않았습니다.\n"
 "설정에서 다른 임시 폴더를 지정해 주십시오."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "진행률"
 
@@ -862,8 +808,7 @@ msgstr "'%s' 에서 '%s'(으)로 이름을 변경할 수 없습니다"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "프로젝트 데이터 파일 검사 중..."
 
@@ -914,14 +859,9 @@ msgstr "삭제하지 않고 계속; 무시하고 보조 파일 작업 수행"
 msgid "Close project immediately with no changes"
 msgstr "변경없이 바로 프로젝트 닫기"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:458
-#: export/Export.cpp:475
-#: export/Export.cpp:494
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:458 export/Export.cpp:475
+#: export/Export.cpp:494 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "경고"
 
@@ -944,14 +884,11 @@ msgstr "프로젝트가 ('별칭 파일') 에서 사용되는 입력 파일 %d 
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "무음으로 손실 데이터 대체 [영구적 저장]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "임시적으로 무음으로 손실 데이터 대체 [이 세션만]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "더 이상 변경없이 바로 프로젝트 닫기"
 
@@ -1021,11 +958,11 @@ msgstr "직사각형"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1083,11 +1020,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1110,8 +1048,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "주파수 분석"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:511
+#: FreqWindow.cpp:140 TrackPanel.cpp:511
 msgid "Spectrum"
 msgstr "스펙트럼"
 
@@ -1139,8 +1076,7 @@ msgstr "캡스트럼"
 msgid "Algorithm"
 msgstr "알고리즘:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "크기"
 
@@ -1166,58 +1102,62 @@ msgstr "로그 주파수"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:130
-#: Menus.cpp:245
-#: Menus.cpp:274
+#: FreqWindow.cpp:206 LabelDialog.cpp:130 Menus.cpp:245 Menus.cpp:274
 msgid "&Export..."
 msgstr "내보내기(&E)..."
 
-#: export/ExportCL.cpp:188
-#: export/ExportOGG.cpp:121
-#: export/ExportPCM.cpp:114
+#: export/ExportCL.cpp:188 export/ExportOGG.cpp:121 export/ExportPCM.cpp:114
 msgid "Export"
 msgstr "내보내기"
 
-#: Dependencies.cpp:308
-#: FreqWindow.cpp:209
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: Dependencies.cpp:308 FreqWindow.cpp:209
 msgid "Close"
 msgstr "닫기"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:395
-#: effects/AutoDuck.cpp:487
-#: effects/AutoDuck.cpp:521
-#: effects/AutoDuck.cpp:799
-#: effects/Compressor.cpp:348
-#: effects/Compressor.cpp:356
-#: effects/Equalization.cpp:1045
-#: effects/Equalization.cpp:1047
-#: effects/Equalization.cpp:1055
-#: effects/Equalization.cpp:1147
-#: effects/Equalization.cpp:1333
-#: effects/Equalization.cpp:1344
-#: effects/Normalize.cpp:340
-#: widgets/Meter.cpp:357
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:395 effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:521 effects/AutoDuck.cpp:799
+#: effects/Compressor.cpp:348 effects/Compressor.cpp:356
+#: effects/Equalization.cpp:1045 effects/Equalization.cpp:1047
+#: effects/Equalization.cpp:1055 effects/Equalization.cpp:1147
+#: effects/Equalization.cpp:1333 effects/Equalization.cpp:1344
+#: effects/Normalize.cpp:340 widgets/Meter.cpp:357
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:435
-#: effects/Equalization.cpp:1086
-#: effects/Equalization.cpp:1143
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:435 effects/Equalization.cpp:1086
+#: effects/Equalization.cpp:1143 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3390
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "스펙트럼을 플로트하려면, 선택된 모든 트랙의 샘플링 비율이 동일해야 합니다."
+
+#: Menus.cpp:3416
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "오디오가 너무 많이 선택되었습니다. 처음 오디오의 %.1f 초 만이 분석됩니다."
+
 #: FreqWindow.cpp:379
 msgid "Not enough data selected."
 msgstr "데이터가 충분히 선택되지 않았습니다."
 
-#: FreqWindow.cpp:443
-#: effects/AutoDuck.cpp:801
+#: FreqWindow.cpp:443 effects/AutoDuck.cpp:801
 msgid "s"
 msgstr "s"
 
@@ -1239,12 +1179,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "다음으로 스펙트럼 데이터 내보내기:"
 
-#: FreqWindow.cpp:1069
-#: LabelDialog.cpp:590
-#: Menus.cpp:2160
-#: Project.cpp:2273
-#: Project.cpp:3214
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1069 LabelDialog.cpp:590 Menus.cpp:2160 Project.cpp:2273
+#: Project.cpp:3214 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "파일을 쓸 수 없음: "
 
@@ -1256,6 +1192,21 @@ msgstr "주파수 (Hz)\t레벨 (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "래그 (초)\t주파수 (Hz)\t레벨"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1333,7 +1284,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1357,7 +1308,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1392,46 +1343,22 @@ msgstr "무시할 단계"
 msgid "&Discard"
 msgstr "무시(&D)"
 
-#: HistoryWindow.cpp:111
-#: LabelDialog.cpp:137
-#: LabelDialog.cpp:139
-#: effects/Amplify.cpp:214
-#: effects/AutoDuck.cpp:529
-#: effects/AutoDuck.cpp:531
-#: effects/ChangeLength.cpp:187
-#: effects/ChangePitch.cpp:397
-#: effects/ChangeSpeed.cpp:397
-#: effects/ChangeTempo.cpp:299
-#: effects/Compressor.cpp:519
-#: effects/Effect.cpp:401
-#: effects/Effect.cpp:403
-#: effects/Equalization.cpp:1221
-#: effects/Leveller.cpp:252
-#: effects/Normalize.cpp:356
-#: effects/Phaser.cpp:605
-#: effects/Repeat.cpp:274
-#: effects/SpikeCleaner.cpp:191
-#: effects/VST/VSTEffect.cpp:98
-#: effects/Wahwah.cpp:592
-#: effects/ladspa/LadspaEffect.cpp:612
-#: effects/nyquist/Nyquist.cpp:829
-#: export/Export.cpp:955
-#: export/ExportCL.cpp:264
-#: export/ExportCL.cpp:329
-#: export/ExportCL.cpp:331
-#: export/ExportFLAC.cpp:227
-#: export/ExportFLAC.cpp:229
-#: export/ExportMP2.cpp:237
-#: export/ExportMP2.cpp:239
-#: export/ExportMP3.cpp:985
-#: export/ExportMP3.cpp:987
-#: export/ExportMP3.cpp:1525
-#: export/ExportMP3.cpp:1527
-#: export/ExportOGG.cpp:238
-#: export/ExportOGG.cpp:240
-#: export/ExportPCM.cpp:268
-#: export/ExportPCM.cpp:270
-#: prefs/PrefsDialog.cpp:164
+#: HistoryWindow.cpp:111 LabelDialog.cpp:137 LabelDialog.cpp:139
+#: effects/Amplify.cpp:214 effects/AutoDuck.cpp:529 effects/AutoDuck.cpp:531
+#: effects/ChangeLength.cpp:187 effects/ChangePitch.cpp:397
+#: effects/ChangeSpeed.cpp:397 effects/ChangeTempo.cpp:299
+#: effects/Compressor.cpp:519 effects/Effect.cpp:401 effects/Effect.cpp:403
+#: effects/Equalization.cpp:1221 effects/Leveller.cpp:252
+#: effects/Normalize.cpp:356 effects/Phaser.cpp:605 effects/Repeat.cpp:274
+#: effects/SpikeCleaner.cpp:191 effects/VST/VSTEffect.cpp:98
+#: effects/Wahwah.cpp:592 effects/ladspa/LadspaEffect.cpp:612
+#: effects/nyquist/Nyquist.cpp:829 export/Export.cpp:955
+#: export/ExportCL.cpp:264 export/ExportCL.cpp:329 export/ExportCL.cpp:331
+#: export/ExportFLAC.cpp:227 export/ExportFLAC.cpp:229
+#: export/ExportMP2.cpp:237 export/ExportMP2.cpp:239 export/ExportMP3.cpp:985
+#: export/ExportMP3.cpp:987 export/ExportMP3.cpp:1525
+#: export/ExportMP3.cpp:1527 export/ExportOGG.cpp:238 export/ExportOGG.cpp:240
+#: export/ExportPCM.cpp:268 export/ExportPCM.cpp:270 prefs/PrefsDialog.cpp:164
 msgid "&OK"
 msgstr "확인(&O)"
 
@@ -1439,8 +1366,7 @@ msgstr "확인(&O)"
 msgid "Unable to determine"
 msgstr "인식할 수 없음"
 
-#: Internat.cpp:180
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:180 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "바이트"
 
@@ -1456,13 +1382,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "트랙"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4006
-#: Menus.cpp:4034
+#: LabelDialog.cpp:53 Menus.cpp:4006 Menus.cpp:4034
 msgid "Label"
 msgstr "라벨"
 
@@ -1475,8 +1407,7 @@ msgstr "시작 시간(&S)"
 msgid "End Time"
 msgstr "종료 시간"
 
-#: LabelDialog.cpp:100
-#: Menus.cpp:665
+#: LabelDialog.cpp:100 Menus.cpp:665
 msgid "&Edit Labels"
 msgstr "라벨 편집(&E)"
 
@@ -1492,8 +1423,7 @@ msgstr "다음 뒤에 삽입(&A)"
 msgid "Insert &Before"
 msgstr "다음 앞에 삽입(&B)"
 
-#: LabelDialog.cpp:129
-#: Menus.cpp:235
+#: LabelDialog.cpp:129 Menus.cpp:235
 msgid "&Import..."
 msgstr "가져오기(&I)..."
 
@@ -1515,20 +1445,15 @@ msgstr "라벨 이름이 비어 있습니다.\n"
 msgid "Confirm"
 msgstr "확인"
 
-#: LabelDialog.cpp:505
-#: Menus.cpp:3522
+#: LabelDialog.cpp:505 Menus.cpp:3522
 msgid "Select a text file containing labels..."
 msgstr "라벨을 포함하고 있는 텍스트 파일 선택..."
 
-#: LabelDialog.cpp:509
-#: Menus.cpp:3526
+#: LabelDialog.cpp:509 Menus.cpp:3526
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "텍스트 파일 (*.txt)|*.txt|모든 파일 (*.*)|*.*"
 
-#: LabelDialog.cpp:523
-#: Menus.cpp:3538
-#: Project.cpp:1703
-#: Project.cpp:1711
+#: LabelDialog.cpp:523 Menus.cpp:3538 Project.cpp:1703 Project.cpp:1711
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "파일을 열 수 없음: "
@@ -1537,13 +1462,11 @@ msgstr "파일을 열 수 없음: "
 msgid "No labels to export."
 msgstr "내보낼 라벨이 없습니다."
 
-#: LabelDialog.cpp:555
-#: Menus.cpp:2125
+#: LabelDialog.cpp:555 Menus.cpp:2125
 msgid "Export Labels As:"
 msgstr "라벨을 다음으로 내보내기:"
 
-#: LabelDialog.cpp:557
-#: Menus.cpp:2123
+#: LabelDialog.cpp:557 Menus.cpp:2123
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1555,10 +1478,7 @@ msgstr "새 라벨 트랙"
 msgid "Enter track name"
 msgstr "트랙명 입력"
 
-#: LabelDialog.cpp:692
-#: LabelDialog.h:50
-#: LabelTrack.cpp:88
-#: Menus.cpp:601
+#: LabelDialog.cpp:692 LabelDialog.h:50 LabelTrack.cpp:88 Menus.cpp:601
 msgid "&Label Track"
 msgstr "라벨 트랙(&L)"
 
@@ -1585,24 +1505,15 @@ msgstr "Audacity 프로젝트 여는 중"
 msgid "&File"
 msgstr "파일(&F)"
 
-#: Menus.cpp:201
-msgid "&New\tCtrl+N"
-msgstr "새로 만들기(&N)\tCtrl+N"
-
-#: Menus.cpp:203
-msgid "&Open...\tCtrl+O"
-msgstr "열기(&O)...\tCtrl+O"
-
 #: Menus.cpp:214
-msgid "&Close\tCtrl+W"
-msgstr "닫기(&C)\tCtrl+W"
+msgid "&Close"
+msgstr "닫기(&C)"
 
 #: Menus.cpp:217
-msgid "&Save Project\tCtrl+S"
-msgstr "프로젝트 저장(&S)\tCtrl+S"
+msgid "&Save Project"
+msgstr "프로젝트 저장(&S)"
 
-#: Menus.cpp:221
-#: Project.cpp:2508
+#: Menus.cpp:221 Project.cpp:2508
 msgid "Save Project &As..."
 msgstr "다른 이름으로 프로젝트 저장(&A)..."
 
@@ -1623,8 +1534,8 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:237
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "오디오(&A)...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "오디오(&A)..."
 
 #: Menus.cpp:238
 msgid "&Labels..."
@@ -1638,8 +1549,7 @@ msgstr "미디(&M)..."
 msgid "&Raw Data..."
 msgstr "로우 데이터(&R)..."
 
-#: Menus.cpp:251
-#: Menus.cpp:280
+#: Menus.cpp:251 Menus.cpp:280
 msgid "Expo&rt Selection..."
 msgstr "선택 부분 내보내기(&r)..."
 
@@ -1655,12 +1565,11 @@ msgstr "다중으로 내보내기(&M)..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:301
+msgid "Appl&y Chain..."
+msgstr "체인 적용(&y)..."
 
-#: Menus.cpp:289
-#: Menus.cpp:303
+#: Menus.cpp:289 Menus.cpp:303
 msgid "Edit C&hains..."
 msgstr "체인 편집(&h)..."
 
@@ -1672,10 +1581,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:301
-msgid "Appl&y Chain..."
-msgstr "체인 적용(&y)..."
-
 #: Menus.cpp:307
 msgid "&Upload File..."
 msgstr "파일 업로드(&U)..."
@@ -1688,77 +1593,73 @@ msgstr "페이지 설정(&g)..."
 msgid "&Print..."
 msgstr "인쇄(&P)..."
 
-#: Menus.cpp:331
-#: Menus.cpp:334
-msgid "E&xit\tCtrl+Q"
-msgstr "종료(&x)\tCtrl+Q"
+#: Menus.cpp:331 Menus.cpp:334
+msgid "E&xit"
+msgstr "종료(&x)"
 
-#: Menus.cpp:343
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:343 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "편집(&E)"
 
 #: Menus.cpp:347
-msgid "&Undo\tCtrl+Z"
-msgstr "되돌리기(&U)\tCtrl+Z"
+msgid "&Undo"
+msgstr "되돌리기(&U)"
 
-#: Menus.cpp:355
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:355 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "다시 실행(&R)"
 
 #: Menus.cpp:368
-msgid "Cu&t\tCtrl+X"
-msgstr "잘라내기(&t)\tCtrl+X"
+msgid "Cu&t"
+msgstr "잘라내기(&t)"
 
 #: Menus.cpp:372
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "분할 잘라내기(&i)\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "분할 잘라내기(&i)"
 
 #: Menus.cpp:373
-msgid "&Copy\tCtrl+C"
-msgstr "복사(&C)\tCtrl+C"
+msgid "&Copy"
+msgstr "복사(&C)"
 
 #: Menus.cpp:377
-msgid "&Paste\tCtrl+V"
-msgstr "붙여넣기(&P)\tCtrl+V"
+msgid "&Paste"
+msgstr "붙여넣기(&P)"
 
 #: Menus.cpp:381
-msgid "Tri&m\tCtrl+T"
-msgstr "트림(&m)\tCtrl+T"
+msgid "Tri&m"
+msgstr "트림(&m)"
 
 #: Menus.cpp:383
-msgid "&Delete\tCtrl+K"
-msgstr "삭제(&D)\tCtrl+K"
+msgid "&Delete"
+msgstr "삭제(&D)"
 
 #: Menus.cpp:384
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "분할 삭제(&e)\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "분할 삭제(&e)"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:387
-msgid "Sp&lit\tCtrl+I"
-msgstr "분할(&l)\tCtrl+I"
+msgid "Sp&lit"
+msgstr "분할(&l)"
 
 #: Menus.cpp:392
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "새 분할(&w)\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "새 분할(&w)"
 
 #: Menus.cpp:397
-msgid "&Join\tCtrl+J"
-msgstr "합치기(&J)\tCtrl+J"
+msgid "&Join"
+msgstr "합치기(&J)"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:400
-msgid "Duplic&ate\tCtrl+D"
-msgstr "사본 생성(&a)\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "사본 생성(&a)"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1770,82 +1671,67 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:415
-msgid "&Cut\tAlt+X"
-msgstr "잘라내기(&C)\tAlt+X"
+msgid "&Cut"
+msgstr "잘라내기(&C)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:420
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "분할 잘라내기(&S)\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "분할 잘라내기(&S)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:425
-msgid "Co&py\tShift+Alt+C"
-msgstr "복사(&p)\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:431
-msgid "&Delete\tAlt+K"
-msgstr "삭제(&D)\tAlt+K"
+msgid "Co&py"
+msgstr "복사(&p)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:436
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "분할 삭제(&l)\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "분할 삭제(&l)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Sile&nce\tAlt+L"
-msgstr "무음(&n)\tAlt+L"
+msgid "Sile&nce"
+msgstr "무음(&n)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:447
-msgid "Spli&t\tAlt+I"
-msgstr "분할(&t)\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "&Join\tAlt+J"
-msgstr "ê²°í•©(&J)\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "분할(&t)"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:464
-msgid "&All\tCtrl+A"
-msgstr "모두 선택(&A)\tCtrl+A"
+msgid "&All"
+msgstr "모두 선택(&A)"
 
 #: Menus.cpp:465
-msgid "&None\tCtrl+Shift+A"
-msgstr "선택 없음(&N)\tCtrl+Shift+A"
+msgid "&None"
+msgstr "선택 없음(&N)"
 
 #: Menus.cpp:462
 #, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "현재 커서 위치에서 왼쪽 경계 지정\t["
+msgid "&Left at Playback Position"
+msgstr "현재 커서 위치에서 왼쪽 경계 지정"
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "현재 커서 위치에서 오른쪽 경계 지정\t]"
+msgid "&Right at Playback Position"
+msgstr "현재 커서 위치에서 오른쪽 경계 지정"
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:481
-msgid "Find &Zero Crossings\tZ"
-msgstr "0 교차 찾기(&Z)\tZ"
+msgid "Find &Zero Crossings"
+msgstr "0 교차 찾기(&Z)"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1862,11 +1748,11 @@ msgid "to Selection En&d"
 msgstr "선택 부분의 종료 위치"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1889,29 +1775,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:523
-msgid "Turn Snap-To On"
-msgstr "스냅 켜기"
-
-#: Menus.cpp:524
-msgid "Turn Snap-To Off"
-msgstr "스냅 끄기"
-
-#: Menus.cpp:525
-msgid "Turn Grid Snap On"
-msgstr "그리드 스냅 켜기"
-
-#: Menus.cpp:526
-msgid "Turn Grid Snap Off"
-msgstr "그리드 스냅 끄기"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:545
@@ -1919,36 +1784,36 @@ msgid "&View"
 msgstr "보기(&V)"
 
 #: Menus.cpp:547
-msgid "Zoom &In\tCtrl+1"
-msgstr "화면 확대(&I)\tCtrl+1"
+msgid "Zoom &In"
+msgstr "화면 확대(&I)"
 
 #: Menus.cpp:550
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "표준 크기(&N)\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "표준 크기(&N)"
 
 #: Menus.cpp:551
-msgid "Zoom &Out\tCtrl+3"
-msgstr "화면 축소(&O)\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "화면 축소(&O)"
 
 #: Menus.cpp:554
-msgid "&Fit in Window\tCtrl+F"
-msgstr "창 크기에 맞추기(&F)\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "창 크기에 맞추기(&F)"
 
 #: Menus.cpp:555
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "수직으로 맞추기(&V)\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "수직으로 맞추기(&V)"
 
 #: Menus.cpp:556
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "선택 부분 확대(&Z)\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "선택 부분 확대(&Z)"
 
 #: Menus.cpp:559
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "모든 트랙 감추기(&C)\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "모든 트랙 감추기(&C)"
 
 #: Menus.cpp:560
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "모든 트랙 보이기(&x)\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "모든 트랙 보이기(&x)"
 
 #: Menus.cpp:551
 msgid "&Show Clipping"
@@ -2016,40 +1881,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "재생"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:827
-msgid "Skip to Start\tHome"
-msgstr "시작까지 건너뛰기\tHome"
+msgid "Skip to Start"
+msgstr "시작까지 건너뛰기"
 
 #: Menus.cpp:828
-msgid "Skip to End\tEnd"
-msgstr "종료까지 건너뛰기\tEnd"
+msgid "Skip to End"
+msgstr "종료까지 건너뛰기"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2077,15 +1942,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:599
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "오디오 트랙(&A)\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "오디오 트랙(&A)"
 
 #: Menus.cpp:600
 msgid "&Stereo Track"
 msgstr "스테레오 트랙(&S)"
 
-#: Menus.cpp:602
-#: TimeTrack.cpp:44
+#: Menus.cpp:602 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "시간 트랙(&T)"
 
@@ -2094,7 +1958,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:618
@@ -2106,11 +1970,11 @@ msgid "Remo&ve Tracks"
 msgstr "트랙 제거(&v)"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:635
@@ -2161,17 +2025,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:661
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "선택 부분에 라벨 추가(&L)\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:662
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "재생 위치에 라벨 추가(&P)\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "재생 위치에 라벨 추가(&P)"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2197,21 +2061,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "효과(&c)"
 
-#: Menus.cpp:708
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "마지막 효과 반복\tCtrl+R"
-
 #: Menus.cpp:740
 msgid "&Analyze"
 msgstr "분석(&A)"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 #, fuzzy
 msgid "Plot Spectrum..."
 msgstr "스펙트럼 플로트(&P)..."
 
-#: Menus.cpp:775
-#: Menus.cpp:778
+#: Menus.cpp:775 Menus.cpp:778
 msgid "&Help"
 msgstr "도움말(&H)"
 
@@ -2223,8 +2086,8 @@ msgstr "Audacity CleanSpeech ì •ë³´(&A)..."
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2243,181 +2106,149 @@ msgstr "벤치마크 실행(&R)..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:804
-msgid "Selection Tool\tF1"
-msgstr "선택 도구\tF1"
+msgid "Selection Tool"
+msgstr "선택 도구"
 
 #: Menus.cpp:805
-msgid "Envelope Tool\tF2"
-msgstr "감싸기 도구\tF2"
+msgid "Envelope Tool"
+msgstr "감싸기 도구"
 
 #: Menus.cpp:806
-msgid "Draw Tool\tF3"
-msgstr "그리기 도구\tF3"
+msgid "Draw Tool"
+msgstr "그리기 도구"
 
 #: Menus.cpp:807
-msgid "Zoom Tool\tF4"
-msgstr "확대 도구\tF4"
+msgid "Zoom Tool"
+msgstr "확대 도구"
 
 #: Menus.cpp:808
-msgid "Time Shift Tool\tF5"
-msgstr "시간 이동 도구\tF5"
+msgid "Time Shift Tool"
+msgstr "시간 이동 도구"
 
 #: Menus.cpp:809
-msgid "Multi Tool\tF6"
-msgstr "다중 도구\tF6"
+msgid "Multi Tool"
+msgstr "다중 도구"
 
 #: Menus.cpp:811
-msgid "Next Tool\tD"
-msgstr "다음 도구\tD"
+msgid "Next Tool"
+msgstr "다음 도구"
 
 #: Menus.cpp:812
-msgid "Previous Tool\tA"
-msgstr "이전 도구\tA"
+msgid "Previous Tool"
+msgstr "이전 도구"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:815
-msgid "Stop\tS"
-msgstr "중지\tS"
-
-#: Menus.cpp:816
-msgid "Pause\tP"
-msgstr "일시 멈춤\tP"
-
-#: Menus.cpp:817
-msgid "Record\tR"
-msgstr "녹음\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Play One Second\t1"
-msgstr "1초 재생\t1"
+msgid "Play One Second"
+msgstr "1초 재생"
 
 #: Menus.cpp:822
-msgid "Play To Selection\tB"
-msgstr "선택 부분까지 재생\tB"
-
-#: Menus.cpp:823
-msgid "Play Looped\tL"
-msgstr "구간 재생\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "선택 부분까지 재생"
 
 #: Menus.cpp:825
-msgid "Play Cut Preview\tC"
-msgstr "잘라내기 미리 듣기 재생\tC"
+msgid "Play Cut Preview"
+msgstr "잘라내기 미리 듣기 재생"
 
 #: Menus.cpp:830
-msgid "Selection to Start\tShift+Home"
-msgstr "시작 선택 부분\tShift+Home"
+msgid "Selection to Start"
+msgstr "시작 선택 부분"
 
 #: Menus.cpp:831
-msgid "Selection to End\tShift+End"
-msgstr "종료 선택 부분\tShift+End"
+msgid "Selection to End"
+msgstr "종료 선택 부분"
 
 #: Menus.cpp:833
-msgid "DeleteKey\tBackspace"
-msgstr "삭제키\tBackspace"
+msgid "DeleteKey"
+msgstr "삭제키"
 
 #: Menus.cpp:838
-msgid "DeleteKey2\tDelete"
-msgstr "삭제키2\tDelete"
+msgid "DeleteKey2"
+msgstr "삭제키2"
 
-#: Menus.cpp:844
-msgid "Seek left short period during playback\tLeft"
-msgstr "재생하는 동안 왼쪽 짧은 구간 탐색\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:845
-msgid "Seek right short period during playback\tRight"
-msgstr "재생하는 동안 오른쪽 짧은 구간 탐색\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:846
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "재생하는 동안 왼쪽 긴 구간 탐색\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:847
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "재생하는 동안 오른쪽 긴 구간 탐색\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:851
-msgid "Move Focus to Previous Track\tUp"
-msgstr "이전 트랙으로 초점 이동\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "이전 트랙으로 초점 이동"
 
-#: Menus.cpp:852
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "이전 트랙으로 초점 이동 후 선택 부분 변경\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:853
-msgid "Move Focus to Next Track\tDown"
-msgstr "다음 트랙으로 초점 이동\tDown"
+msgid "Move Focus to Next Track"
+msgstr "다음 트랙으로 초점 이동"
 
-#: Menus.cpp:854
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "다음 트랙으로 초점 이동 후 선택 부분 변경\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:855
-msgid "Toggle Focused Track\tReturn"
-msgstr "선택 트랙 토글\tReturn"
-
-#: Menus.cpp:856
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "선택 트랙 토글\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "선택 트랙 토글"
 
 #: Menus.cpp:859
-msgid "Cursor Left\tLeft"
-msgstr "커서 왼쪽\tLeft"
+msgid "Cursor Left"
+msgstr "커서 왼쪽"
 
 #: Menus.cpp:860
-msgid "Cursor Right\tRight"
-msgstr "커서 오른쪽\tRight"
+msgid "Cursor Right"
+msgstr "커서 오른쪽"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: Menus.cpp:861
-msgid "Selection Extend Left\tShift+Left"
-msgstr "선택 부분 왼쪽으로 확장\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "선택 부분 왼쪽으로 확장"
 
 #: Menus.cpp:862
-msgid "Selection Extend Right\tShift+Right"
-msgstr "선택 부분 오른쪽으로 확장\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "선택 부분 오른쪽으로 확장"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2428,52 +2259,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: Menus.cpp:864
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "선택 부분 왼쪽으로 축소\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "선택 부분 왼쪽으로 축소"
 
 #: Menus.cpp:865
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "선택 부분 오른쪽으로 축소\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "선택 부분 오른쪽으로 축소"
 
 #: Menus.cpp:867
-msgid "Change pan on focused track\tShift+P"
-msgstr "선택 트랙 팬 변경\tShift+P"
+msgid "Change pan on focused track"
+msgstr "선택 트랙 팬 변경"
 
 #: Menus.cpp:868
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "선택 트랙 왼쪽으로 팬\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "선택 트랙 왼쪽으로 팬"
 
 #: Menus.cpp:869
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "선택 트랙 오른쪽으로 팬\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "선택 트랙 오른쪽으로 팬"
 
 #: Menus.cpp:870
-msgid "Change gain on focused track\tShift+G"
-msgstr "선택 트랙 게인 변경\tShift+G"
+msgid "Change gain on focused track"
+msgstr "선택 트랙 게인 변경"
 
 #: Menus.cpp:871
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "선택 트랙 게인 증가\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "선택 트랙 게인 증가"
 
 #: Menus.cpp:872
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "선택 트랙 게인 감소\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "선택 트랙 게인 감소"
 
 #: Menus.cpp:873
-msgid "Open menu on focused track\tShift+M"
-msgstr "선택 트랙 메뉴 열기\tShift+M"
+msgid "Open menu on focused track"
+msgstr "선택 트랙 메뉴 열기"
 
 #: Menus.cpp:874
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "선택 트랙 음소거 켜기/끄기\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "선택 트랙 음소거 켜기/끄기"
 
 #: Menus.cpp:875
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "선택 트랙 솔로 켜기/끄기\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "선택 트랙 솔로 켜기/끄기"
 
 #: Menus.cpp:876
-msgid "Close focused track\tShift+C"
-msgstr "선택 트랙 닫기\tShift+C"
+msgid "Close focused track"
+msgstr "선택 트랙 닫기"
 
 #: Menus.cpp:845
 msgid "Snap To On"
@@ -2484,7 +2315,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2545,8 +2404,8 @@ msgstr "먼저 트랙을 선택해야 합니다."
 
 #: Menus.cpp:1988
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "%s 반복\tCtrl+R"
+msgid "Repeat %s"
+msgstr "%s 반복"
 
 #: Menus.cpp:2119
 msgid "There are no label tracks to export."
@@ -2577,9 +2436,7 @@ msgstr "되돌리기 대상 없음"
 msgid "Nothing to redo"
 msgstr "다시 실행 대상 없음"
 
-#: Menus.cpp:2344
-#: TrackPanel.cpp:550
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2344 TrackPanel.cpp:550 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "잘라내기"
 
@@ -2595,10 +2452,7 @@ msgstr "분할 잘라내기"
 msgid "Split-cut to the clipboard"
 msgstr "클립보드로 분할 잘라내기"
 
-#: Menus.cpp:2445
-#: Menus.cpp:2520
-#: Menus.cpp:2607
-#: TrackPanel.cpp:552
+#: Menus.cpp:2445 Menus.cpp:2520 Menus.cpp:2607 TrackPanel.cpp:552
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "붙여넣기"
@@ -2607,8 +2461,7 @@ msgstr "붙여넣기"
 msgid "Pasted text from the clipboard"
 msgstr "클립보드로부터 텍스트 붙여넣기"
 
-#: Menus.cpp:2520
-#: Menus.cpp:2607
+#: Menus.cpp:2520 Menus.cpp:2607
 msgid "Pasted from the clipboard"
 msgstr "클립보드로부터 붙여넣기"
 
@@ -2620,8 +2473,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "스테레오 오디오는 모노 트랙으로 복사할 수 없습니다."
 
-#: Menus.cpp:2640
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2640 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "트림"
 
@@ -2661,8 +2513,7 @@ msgstr "ê²°í•©"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "선택된 트랙 중 %.2f 초 무음됨 위치 %.2f"
 
-#: Menus.cpp:2741
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2741 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "무음"
 
@@ -2746,8 +2597,7 @@ msgstr "라벨 분리"
 msgid "Disjoined labeled regions"
 msgstr "라벨 영역 분리됨"
 
-#: Menus.cpp:2917
-#: TrackPanel.cpp:5636
+#: Menus.cpp:2917 TrackPanel.cpp:5636
 msgid "Split"
 msgstr "분할"
 
@@ -2763,15 +2613,6 @@ msgstr "새 트랙으로 분할"
 msgid "Split at labels"
 msgstr "라벨에서 분할"
 
-#: Menus.cpp:3390
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "스펙트럼을 플로트하려면, 선택된 모든 트랙의 샘플링 비율이 동일해야 합니다."
-
-#: Menus.cpp:3416
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "오디오가 너무 많이 선택되었습니다. 처음 오디오의 %.1f 초 만이 분석됩니다."
-
 #: Menus.cpp:3551
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2837,9 +2678,7 @@ msgstr "하나의 새 스테레오 트랙으로 %d 트랙이 믹스 및 랜더
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "하나의 새 모노 트랙으로 %d 트랙이 믹스 및 랜더링 됨"
 
-#: Menus.cpp:614
-#: Menus.cpp:3698
-#: Mix.cpp:119
+#: Menus.cpp:614 Menus.cpp:3698 Mix.cpp:119
 msgid "&Mix and Render"
 msgstr "믹스 및 렌더(&M)"
 
@@ -2891,10 +2730,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "새 오디오 트랙 생성됨"
 
-#: Menus.cpp:3899
-#: Menus.cpp:3922
-#: Menus.cpp:3937
-#: Menus.cpp:3957
+#: Menus.cpp:3899 Menus.cpp:3922 Menus.cpp:3937 Menus.cpp:3957
 msgid "New Track"
 msgstr "새 트랙"
 
@@ -2930,8 +2766,7 @@ msgstr "다른 이름으로 CleanSpeech 프리셋 파일 저장:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "CleanSpeech 프리셋 (*.csp)|*.csp"
 
-#: Menus.cpp:4072
-#: export/Export.cpp:483
+#: Menus.cpp:4072 export/Export.cpp:483
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "경로명은 최대 256자까지만 지원합니다."
 
@@ -2939,8 +2774,7 @@ msgstr "경로명은 최대 256자까지만 지원합니다."
 msgid "Problem encountered exporting presets."
 msgstr "프리셋을 내보내는 중 문제가 발생했습니다."
 
-#: Menus.cpp:4119
-#: export/Export.cpp:371
+#: Menus.cpp:4119 export/Export.cpp:371
 msgid "Unable to export"
 msgstr "내보낼 수 없음"
 
@@ -2952,8 +2786,7 @@ msgstr "트랙 제거"
 msgid "Removed audio track(s)"
 msgstr "개의 오디오 트랙 제거됨"
 
-#: Menus.cpp:4380
-#: Menus.cpp:4399
+#: Menus.cpp:4380 Menus.cpp:4399
 msgid "Resample"
 msgstr "리샘플링"
 
@@ -2978,8 +2811,7 @@ msgstr "트랙 리샘플링"
 msgid "Resampled audio track(s)"
 msgstr "개의 오디오 트랙이 리샘플링됨"
 
-#: Mix.cpp:93
-#: Mix.cpp:100
+#: Mix.cpp:93 Mix.cpp:100
 msgid "Mix"
 msgstr "믹스"
 
@@ -2999,6 +2831,10 @@ msgstr "인쇄에 문제가 있습니다."
 msgid "Print"
 msgstr "인쇄"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:656
 msgid "Main Mix"
 msgstr "주 믹스"
@@ -3012,14 +2848,11 @@ msgstr "환영합니다. Audacity 버전 %s 입니다"
 msgid "(Recovered)"
 msgstr "(복구됨)"
 
-#: Project.cpp:1439
-#: TrackPanel.cpp:776
-#: toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:817
 msgid "Record"
 msgstr "녹음"
 
-#: Project.cpp:1439
-#: TrackPanel.cpp:776
+#: Project.cpp:1439 TrackPanel.cpp:776
 msgid "Recorded Audio"
 msgstr "녹음된 오디오"
 
@@ -3040,12 +2873,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "변경 내용 저장?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: Menus.cpp:3489
-#: Project.cpp:1626
+#: Menus.cpp:3489 Project.cpp:1626
 msgid "Select one or more audio files..."
 msgstr "하나 또는 여러 오디오 파일 선택..."
 
@@ -3072,8 +2904,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "구 프로젝트 파일을 여는 중"
 
-#: Project.cpp:1704
-#: Project.cpp:1712
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1704 Project.cpp:1712
 msgid "Error opening file"
 msgstr "파일 여는 중 오류"
 
@@ -3108,8 +2950,7 @@ msgstr "복구"
 msgid "Project checker repaired file"
 msgstr "프로젝트가 파일을 복구함"
 
-#: Project.cpp:1870
-#: effects/Repair.h:29
+#: Project.cpp:1870 effects/Repair.h:29
 msgid "Repair"
 msgstr "복구"
 
@@ -3131,10 +2972,12 @@ msgstr "이 파일은 Audacity %s (으)로 저장되었습니다.\n"
 msgid "Can't open project file"
 msgstr "프로젝트 파일을 열 수 없음"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3154,17 +2997,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2260
-#: Project.cpp:2274
+#: Project.cpp:2260 Project.cpp:2274
 msgid "Error saving project"
 msgstr "프로젝트 저장 중 오류"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2336
 #, c-format
 msgid "Saved %s"
@@ -3175,12 +3023,8 @@ msgstr "%s 저장됨"
 msgid "Imported '%s'"
 msgstr "'%s' 가져옴"
 
-#: Menus.cpp:3616
-#: Project.cpp:2419
-#: Project.cpp:2444
-#: import/ImportPCM.cpp:405
-#: import/ImportPCM.cpp:449
-#: import/ImportRaw.cpp:446
+#: Menus.cpp:3616 Project.cpp:2419 Project.cpp:2444 import/ImportPCM.cpp:405
+#: import/ImportPCM.cpp:449 import/ImportRaw.cpp:446
 msgid "Import"
 msgstr "가져오기"
 
@@ -3227,8 +3071,7 @@ msgstr "새 프로젝트 생성됨"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "%.2f 초 삭제됨 위치 t=%.2f"
 
-#: Project.cpp:2679
-#: effects/Equalization.cpp:1113
+#: Project.cpp:2679 effects/Equalization.cpp:1113
 #: effects/Equalization.cpp:2417
 msgid "Delete"
 msgstr "삭제"
@@ -3284,7 +3127,6 @@ msgid "Could not create autosave file: "
 msgstr "자동 저장 파일을 생성할 수 없음: "
 
 #: Project.cpp:3385
-#, c-format
 #, fuzzy
 msgid "Actual Rate: %d"
 msgstr "실제 비율 %d"
@@ -3310,8 +3152,7 @@ msgstr "Libsamplerate 제작: Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate 오류: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "리셈플링 사용할 수 없음."
 
@@ -3330,6 +3171,163 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit 부동 소수점"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:203 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "선택..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "도구"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "제어"
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "믹서"
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr "미터"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "장치"
+
+#: toolbars/TranscriptionToolBar.cpp:82
+msgid "Transcription"
+msgstr "편곡"
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr "트랙 판넬"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "트랙"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3338,22 +3336,20 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "프로젝트 파일에서 공백이 감지되었습니다.\n"
 
-#: effects/Effect.cpp:255
-#: effects/Effect.cpp:382
-#: effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582
-#: effects/audiounits/AudioUnitEffect.cpp:872
+#: effects/Effect.cpp:255 effects/Effect.cpp:382 effects/Phaser.cpp:595
+#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "미리 듣기(&v)"
 
-#: effects/nyquist/Nyquist.cpp:826
-#: effects/nyquist/Nyquist.cpp:990
+#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
 msgid "&Debug"
 msgstr "디버그(&D)"
 
@@ -3389,8 +3385,7 @@ msgstr ""
 msgid "Track Number"
 msgstr "트랙 번호"
 
-#: Tags.cpp:737
-#: Tags.cpp:963
+#: Tags.cpp:737 Tags.cpp:963
 msgid "Year"
 msgstr "연도"
 
@@ -3398,9 +3393,7 @@ msgstr "연도"
 msgid "Genre"
 msgstr "장르"
 
-#: Tags.cpp:747
-#: Tags.cpp:996
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:747 Tags.cpp:996 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "주석"
 
@@ -3436,13 +3429,11 @@ msgstr ""
 msgid "Template"
 msgstr "탬플릿"
 
-#: Tags.cpp:1073
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:1073 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "불러오기(&L)..."
 
-#: Tags.cpp:1078
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:1078 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "저장(&S)..."
 
@@ -3487,6 +3478,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:628
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3519,8 +3514,7 @@ msgstr "파일을 찾을 수 없습니다:\n"
 "  %s.\n"
 "테마를 불러오지 못했습니다."
 
-#: Theme.cpp:797
-#: Theme.cpp:885
+#: Theme.cpp:797 Theme.cpp:885
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3575,6 +3569,14 @@ msgstr "길이"
 msgid "Audacity Timer Record"
 msgstr "Audacity 타이머 기록"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3614,40 +3616,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452
-#: TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr "트랙 판넬"
-
-#: TrackPanel.cpp:496
-#: export/ExportPCM.cpp:201
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:496 export/ExportPCM.cpp:201 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "기타..."
 
-#: TrackPanel.cpp:504
-#: TrackPanel.cpp:525
-#: TrackPanel.cpp:534
-#: TrackPanel.cpp:542
+#: TrackPanel.cpp:504 TrackPanel.cpp:525 TrackPanel.cpp:534 TrackPanel.cpp:542
 msgid "Name..."
 msgstr "이름..."
 
-#: TrackPanel.cpp:506
-#: TrackPanel.cpp:527
-#: TrackPanel.cpp:538
-#: TrackPanel.cpp:544
+#: TrackPanel.cpp:506 TrackPanel.cpp:527 TrackPanel.cpp:538 TrackPanel.cpp:544
 msgid "Move Track Up"
 msgstr "트랙 위로 이동"
 
-#: TrackPanel.cpp:507
-#: TrackPanel.cpp:528
-#: TrackPanel.cpp:539
-#: TrackPanel.cpp:545
+#: TrackPanel.cpp:507 TrackPanel.cpp:528 TrackPanel.cpp:539 TrackPanel.cpp:545
 msgid "Move Track Down"
 msgstr "트랙 아래로 이동"
 
-#: TrackPanel.cpp:509
-#: effects/ToneGen.cpp:292
+#: TrackPanel.cpp:509 effects/ToneGen.cpp:292
 msgid "Waveform"
 msgstr "파형"
 
@@ -3663,18 +3648,15 @@ msgstr ""
 msgid "Pitch (EAC)"
 msgstr "피치 (EAC)"
 
-#: TrackPanel.cpp:514
-#: TrackPanel.cpp:5606
+#: TrackPanel.cpp:514 TrackPanel.cpp:5606
 msgid "Mono"
 msgstr "모노"
 
-#: TrackPanel.cpp:515
-#: TrackPanel.cpp:5605
+#: TrackPanel.cpp:515 TrackPanel.cpp:5605
 msgid "Left Channel"
 msgstr "왼쪽 채널"
 
-#: TrackPanel.cpp:516
-#: TrackPanel.cpp:5605
+#: TrackPanel.cpp:516 TrackPanel.cpp:5605
 msgid "Right Channel"
 msgstr "오른쪽 채널"
 
@@ -3686,12 +3668,15 @@ msgstr "스테레오 트랙 만들기"
 msgid "Split Stereo Track"
 msgstr "스테레오 트랙 분할"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:520
 msgid "Set Sample Format"
 msgstr "샘플링 형식 설정"
 
-#: TrackPanel.cpp:522
-#: TrackPanel.cpp:5823
+#: TrackPanel.cpp:522 TrackPanel.cpp:5823
 msgid "Set Rate"
 msgstr "샘플링 속도 설정"
 
@@ -3711,8 +3696,7 @@ msgstr "글꼴..."
 msgid "Set Range..."
 msgstr "범위 설정..."
 
-#: TrackPanel.cpp:551
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:551 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "복사"
 
@@ -3758,21 +3742,13 @@ msgstr "이동하려면 왼쪽 선택 경계를 클릭한 후 드래그 하십
 msgid "Click and drag to move right selection boundary."
 msgstr "이동하려면 오른쪽 선택 경계를 클릭한 후 드래그 하십시오."
 
-#: TrackPanel.cpp:1669
-#: TrackPanel.cpp:3736
-#: TrackPanel.cpp:3768
-#: TrackPanel.cpp:4013
-#: TrackPanel.cpp:5935
-#: TrackPanel.cpp:5955
+#: TrackPanel.cpp:1669 TrackPanel.cpp:3736 TrackPanel.cpp:3768
+#: TrackPanel.cpp:4013 TrackPanel.cpp:5935 TrackPanel.cpp:5955
 msgid "Modified Label"
 msgstr "수정된 라벨"
 
-#: TrackPanel.cpp:1670
-#: TrackPanel.cpp:3737
-#: TrackPanel.cpp:3769
-#: TrackPanel.cpp:4014
-#: TrackPanel.cpp:5936
-#: TrackPanel.cpp:5956
+#: TrackPanel.cpp:1670 TrackPanel.cpp:3737 TrackPanel.cpp:3769
+#: TrackPanel.cpp:4014 TrackPanel.cpp:5936 TrackPanel.cpp:5956
 msgid "Label Edit"
 msgstr "라벨 편집"
 
@@ -3780,8 +3756,7 @@ msgstr "라벨 편집"
 msgid "Adjusted envelope."
 msgstr "조정된 감싸기."
 
-#: TrackPanel.cpp:1898
-#: prefs/MousePrefs.cpp:111
+#: TrackPanel.cpp:1898 prefs/MousePrefs.cpp:111
 msgid "Envelope"
 msgstr "감싸기"
 
@@ -3803,9 +3778,7 @@ msgstr "오른쪽"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "시간이 %s %.02f 초의 트랙/클립으로 이동됨"
 
-#: TrackPanel.cpp:2044
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
+#: TrackPanel.cpp:2044 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
 msgid "Time-Shift"
 msgstr "시간-이동"
@@ -3844,39 +3817,29 @@ msgid "Moved pan slider"
 msgstr "이동된 팬 슬라이더"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3232
-#: TrackPanel.cpp:5276
-#: TrackPanel.cpp:6492
+#: TrackPanel.cpp:3232 TrackPanel.cpp:5276 TrackPanel.cpp:6492
 msgid "Gain"
 msgstr "게인"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3232
-#: TrackPanel.cpp:5214
-#: TrackPanel.cpp:6499
+#: TrackPanel.cpp:3232 TrackPanel.cpp:5214 TrackPanel.cpp:6499
 msgid "Pan"
 msgstr "팬"
 
-#: TrackPanel.cpp:3357
-#: TrackPanel.cpp:5888
-#: effects/ChangePitch.cpp:281
+#: TrackPanel.cpp:3357 TrackPanel.cpp:5888 effects/ChangePitch.cpp:281
 msgid "up"
 msgstr "위로"
 
-#: TrackPanel.cpp:3361
-#: TrackPanel.cpp:5889
-#: effects/ChangePitch.cpp:281
+#: TrackPanel.cpp:3361 TrackPanel.cpp:5889 effects/ChangePitch.cpp:281
 msgid "down"
 msgstr "아래로"
 
-#: TrackPanel.cpp:3366
-#: TrackPanel.cpp:5884
+#: TrackPanel.cpp:3366 TrackPanel.cpp:5884
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "이동됨 '%s' %s"
 
-#: TrackPanel.cpp:3369
-#: TrackPanel.cpp:5890
+#: TrackPanel.cpp:3369 TrackPanel.cpp:5890
 msgid "Move Track"
 msgstr "트랙 이동"
 
@@ -3908,14 +3871,6 @@ msgstr "조정된 팬"
 msgid "Adjusted gain"
 msgstr "조정된 게인"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5432
 msgid "Can't delete track with active audio"
 msgstr "활성 오디오 트랙은 삭제할 수 없음"
@@ -3936,8 +3891,7 @@ msgstr "왼쪽, "
 msgid "Right, "
 msgstr "오른쪽, "
 
-#: TrackPanel.cpp:5615
-#: TrackPanel.cpp:5728
+#: TrackPanel.cpp:5615 TrackPanel.cpp:5728
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' 에서 %s (으)로 변경됨"
@@ -3951,6 +3905,11 @@ msgstr "채널"
 msgid "Split stereo track '%s'"
 msgstr "'%s' 스테레오 트랙 분할"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5654
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3977,8 +3936,7 @@ msgstr "형식 변경"
 msgid "Change lower speed limit (%) to:"
 msgstr "다음으로 하위 속도 제한 (%) 변경:"
 
-#: TrackPanel.cpp:5853
-#: TrackPanel.cpp:5854
+#: TrackPanel.cpp:5853 TrackPanel.cpp:5854
 msgid "Lower speed limit"
 msgstr "하위 속도 제한"
 
@@ -3986,8 +3944,7 @@ msgstr "하위 속도 제한"
 msgid "Change upper speed limit (%) to:"
 msgstr "다음으로 상위 속도 제한 (%) 변경:"
 
-#: TrackPanel.cpp:5860
-#: TrackPanel.cpp:5861
+#: TrackPanel.cpp:5860 TrackPanel.cpp:5861
 msgid "Upper speed limit"
 msgstr "상위 속도 제한"
 
@@ -4029,6 +3986,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6427
 msgid "Mute"
 msgstr "음소거"
@@ -4062,10 +4023,7 @@ msgstr " 솔로 켜기"
 msgid " Select On"
 msgstr " 선택 켜기"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "선택 부분이 보이스 키로 사용하기에 너무 작습니다."
 
@@ -4092,8 +4050,7 @@ msgstr "방향 변경               -- 의미: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "오디오 트랙"
 
-#: WaveTrack.cpp:518
-#: WaveTrack.cpp:537
+#: WaveTrack.cpp:518 WaveTrack.cpp:537
 msgid "There is not enough room available to paste the selection"
 msgstr "선택 부분을 붙여넣기에 공간이 충분하지 않습니다"
 
@@ -4111,8 +4068,9 @@ msgstr "플러그인 1 to %i"
 msgid "Plugins %i to %i"
 msgstr "플러그인 %i to %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4193,9 +4151,7 @@ msgstr "증폭 중"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "선택된 트랙에 오디오가 없습니다. AutoDuck이 단지 오디오 트랙을 처리할 수 있습니다."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:451
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
 #: effects/AutoDuck.cpp:578
 msgid "Auto Duck"
 msgstr "Auto Duck"
@@ -4216,17 +4172,11 @@ msgstr "Duck 총계:"
 msgid "Maximum pause:"
 msgstr "최대 일시 멈춤:"
 
-#: effects/AutoDuck.cpp:492
-#: effects/AutoDuck.cpp:497
-#: effects/AutoDuck.cpp:502
-#: effects/AutoDuck.cpp:507
-#: effects/AutoDuck.cpp:512
-#: prefs/AudioIOPrefs.cpp:162
-#: prefs/AudioIOPrefs.cpp:164
-#: prefs/AudioIOPrefs.cpp:188
-#: prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:198
-#: widgets/TimeTextCtrl.cpp:197
+#: effects/AutoDuck.cpp:492 effects/AutoDuck.cpp:497 effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:507 effects/AutoDuck.cpp:512
+#: prefs/AudioIOPrefs.cpp:162 prefs/AudioIOPrefs.cpp:164
+#: prefs/AudioIOPrefs.cpp:188 prefs/AudioIOPrefs.cpp:190
+#: prefs/AudioIOPrefs.cpp:198 widgets/TimeTextCtrl.cpp:197
 msgid "seconds"
 msgstr "ì´ˆ"
 
@@ -4246,8 +4196,7 @@ msgstr "내부 페이드 다운 길이:"
 msgid "Inner fade up length:"
 msgstr "내부 페이드 업 길이:"
 
-#: effects/AutoDuck.cpp:519
-#: effects/Compressor.cpp:479
+#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
 msgid "Threshold:"
 msgstr "스레쉬홀드:"
 
@@ -4267,14 +4216,10 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "Auto Duck 작업 중..."
 
-#: LangChoice.cpp:103
-#: effects/AvcCompressor.cpp:738
-#: effects/TruncSilence.cpp:281
-#: effects/VST/VSTEffect.cpp:453
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:993
-#: effects/nyquist/Nyquist.cpp:1059
-#: widgets/Warning.cpp:67
+#: LangChoice.cpp:103 effects/AvcCompressor.cpp:738
+#: effects/TruncSilence.cpp:281 effects/VST/VSTEffect.cpp:453
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:993
+#: effects/nyquist/Nyquist.cpp:1059 widgets/Warning.cpp:67
 msgid "OK"
 msgstr "확인"
 
@@ -4336,14 +4281,12 @@ msgstr "피치 변경"
 msgid "Change Pitch without Changing Tempo"
 msgstr "템포 변경없이 피치를 변경합니다."
 
-#: effects/ChangePitch.cpp:251
-#: effects/ChangeSpeed.cpp:305
+#: effects/ChangePitch.cpp:251 effects/ChangeSpeed.cpp:305
 #: effects/ChangeTempo.cpp:179
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "제작: Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:256
-#: effects/ChangeTempo.cpp:184
+#: effects/ChangePitch.cpp:256 effects/ChangeTempo.cpp:184
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "도구: SoundTouch, by Olli Parviainen"
 
@@ -4392,10 +4335,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:288
-#: effects/ChangePitch.cpp:334
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:238
+#: effects/ChangePitch.cpp:288 effects/ChangePitch.cpp:334
+#: effects/ChangeSpeed.cpp:369 effects/ChangeTempo.cpp:238
 #: effects/ChangeTempo.cpp:269
 msgid "to"
 msgstr "종료값"
@@ -4404,8 +4345,7 @@ msgstr "종료값"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:357
-#: effects/ChangeSpeed.cpp:323
+#: effects/ChangePitch.cpp:357 effects/ChangeSpeed.cpp:323
 #: effects/ChangeTempo.cpp:197
 msgid "Percent Change:"
 msgstr "퍼센트 변경:"
@@ -4423,8 +4363,7 @@ msgstr "피치 변경..."
 msgid "Changing Pitch"
 msgstr "피치 변경 중"
 
-#: effects/ChangeSpeed.cpp:52
-#: effects/ChangeTempo.cpp:53
+#: effects/ChangeSpeed.cpp:52 effects/ChangeTempo.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "적용된 효과: %s %.1f%%"
@@ -4574,12 +4513,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
-msgstr "압축 후 0dB로 평균화"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "스레쉬홀드: %d dB"
@@ -4610,7 +4548,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "어택 시간: %.1f 초"
@@ -4633,6 +4570,10 @@ msgstr "압축기..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "동적 범위 압축 적용 중..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4652,19 +4593,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4673,15 +4601,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:324
-#: toolbars/ControlToolBar.cpp:186
+#: effects/ToneGen.cpp:324 toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "시작 위치"
 
-#: effects/ToneGen.cpp:325
-#: toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:130
-#: toolbars/SelectionBar.cpp:228
+#: effects/ToneGen.cpp:325 toolbars/ControlToolBar.cpp:189
+#: toolbars/SelectionBar.cpp:130 toolbars/SelectionBar.cpp:228
 msgid "End"
 msgstr "종료 위치"
 
@@ -4701,6 +4626,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4745,16 +4675,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "제어"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4865,18 +4787,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr "DTMF 톤 생성기"
@@ -4889,8 +4799,7 @@ msgstr "제작: Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "DTMF 순서:"
 
-#: effects/ToneGen.cpp:295
-#: effects/ToneGen.cpp:328
+#: effects/ToneGen.cpp:295 effects/ToneGen.cpp:328
 msgid "Amplitude (0-1)"
 msgstr "진폭 (0-1)"
 
@@ -4910,9 +4819,7 @@ msgstr "듀티 싸이클:"
 msgid "Tone duration:"
 msgstr "톤 길이:"
 
-#: effects/DtmfGen.cpp:425
-#: effects/DtmfGen.cpp:427
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:425 effects/DtmfGen.cpp:427 effects/DtmfGen.cpp:498
 #: effects/DtmfGen.cpp:499
 msgid "ms"
 msgstr "밀리초"
@@ -4993,8 +4900,7 @@ msgstr "코사인"
 msgid "Cubic"
 msgstr "큐빅"
 
-#: effects/Equalization.cpp:332
-#: effects/Equalization.cpp:367
+#: effects/Equalization.cpp:332 effects/Equalization.cpp:367
 msgid "Equalization"
 msgstr "평균화"
 
@@ -5007,6 +4913,10 @@ msgstr "EQ 커브를 불러오는 중 오류"
 msgid "custom"
 msgstr "사용자 설정"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:1023
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "제작: Martyn Shaw && Mitch Golden"
@@ -5043,8 +4953,7 @@ msgstr "필터 길이:"
 msgid "Select curve:"
 msgstr "커브 선택:"
 
-#: effects/Equalization.cpp:1110
-#: effects/Equalization.cpp:2322
+#: effects/Equalization.cpp:1110 effects/Equalization.cpp:2322
 msgid "Save As..."
 msgstr "다른 이름으로 저장..."
 
@@ -5160,8 +5069,7 @@ msgstr "가장 무겁게"
 msgid "by Lynn Allan"
 msgstr ""
 
-#: effects/Leveller.cpp:219
-#: effects/Leveller.cpp:224
+#: effects/Leveller.cpp:219 effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "레벨링 각도"
 
@@ -5210,10 +5118,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "믹서"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5454,10 +5358,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5515,8 +5415,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:526
-#: effects/Wahwah.cpp:497
+#: effects/Phaser.cpp:526 effects/Wahwah.cpp:497
 msgid "LFO Frequency (Hz):"
 msgstr "LFO 주파수 (Hz):"
 
@@ -5524,8 +5423,7 @@ msgstr "LFO 주파수 (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:542
-#: effects/Wahwah.cpp:513
+#: effects/Phaser.cpp:542 effects/Wahwah.cpp:513
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO 시작 위상 (도):"
 
@@ -5586,8 +5484,7 @@ msgstr "%d 번 복구됨"
 msgid "Tracks are too long to repeat the selection."
 msgstr "선택 부분을 반복하기에 트랙이 너무 깁니다."
 
-#: effects/Repeat.cpp:75
-#: effects/Repeat.cpp:79
+#: effects/Repeat.cpp:75 effects/Repeat.cpp:79
 msgid "Repeat"
 msgstr "반복"
 
@@ -5600,8 +5497,7 @@ msgstr "반복 횟수: "
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:264
-#: effects/Repeat.cpp:302
+#: effects/Repeat.cpp:264 effects/Repeat.cpp:302
 msgid "New selection length: "
 msgstr "새 선택 부분 길이: "
 
@@ -5662,8 +5558,7 @@ msgid "Max Spike Duration (milliseconds): \n"
 msgstr "최대 스파이크 길이 (밀리초): \n"
 "(99999 이상은 오프)"
 
-#: effects/SpikeCleaner.cpp:178
-#: effects/TruncSilence.cpp:269
+#: effects/SpikeCleaner.cpp:178 effects/TruncSilence.cpp:269
 msgid "Theshold for silence: "
 msgstr "무음 스레쉬홀드: "
 
@@ -5818,25 +5713,40 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-#: prefs/AudioIOPrefs.cpp:178
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr "밀리초"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
-#: effects/TruncSilence.cpp:84
-#: effects/TruncSilence.h:29
+#: effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "무음 정리..."
 
@@ -5844,17 +5754,55 @@ msgstr "무음 정리..."
 msgid "Truncating Silence..."
 msgstr "무음 정리 중..."
 
-#: effects/VST/VSTEffect.cpp:179
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "VST 효과는 일치하지 않는 트랙의 개별 트랙의 스테레오 트랙 상에서는 수행될 수 없습니다."
+#: effects/ladspa/LadspaEffect.cpp:621
+msgid "Effect Settings"
+msgstr "효과 설정"
 
-#: effects/VST/VSTEffect.cpp:194
-msgid "Can't process replacing"
-msgstr "교체할 수 없음"
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "없음"
 
-#: effects/VST/VSTEffect.cpp:408
-msgid "VST Plug-in parameters:"
-msgstr "VST 플러그인 인수:"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:60
 #, c-format
@@ -5903,20 +5851,10 @@ msgstr "수행 중인 효과: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "플러그인 효과는 일치하지 않는 트랙의 개별 트랙의 스테레오 트랙 상에서는 수행될 수 없습니다."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "없음"
-
 #: effects/ladspa/LadspaEffect.cpp:575
 msgid "Author: "
 msgstr "저자: "
 
-#: effects/ladspa/LadspaEffect.cpp:621
-msgid "Effect Settings"
-msgstr "효과 설정"
-
 #: effects/ladspa/LadspaEffect.cpp:712
 msgid "Length (seconds)"
 msgstr "길이 (초)"
@@ -5937,8 +5875,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Nyquist Effect 적용 중..."
 
-#: effects/nyquist/Nyquist.cpp:260
-#: effects/nyquist/Nyquist.cpp:322
+#: effects/nyquist/Nyquist.cpp:260 effects/nyquist/Nyquist.cpp:322
 msgid "Nyquist Prompt..."
 msgstr "Nyquist Prompt..."
 
@@ -5958,8 +5895,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Nyquist 출력: "
 
-#: effects/nyquist/Nyquist.cpp:594
-#: effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
 msgid "Nyquist returned the value:"
 msgstr "Nyquist 리턴값:"
 
@@ -6067,8 +6003,7 @@ msgstr " - 오른쪽"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:939
-#: export/Export.cpp:993
+#: export/Export.cpp:939 export/Export.cpp:993
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "출력 채널: %2d"
@@ -6098,8 +6033,7 @@ msgstr ""
 msgid "(external program)"
 msgstr "(외부 응용 프로그램)"
 
-#: export/ExportCL.cpp:116
-#: export/ExportPCM.cpp:90
+#: export/ExportCL.cpp:116 export/ExportPCM.cpp:90
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "%s (으)로 오디오를 내보낼 수 없음"
@@ -6116,9 +6050,21 @@ msgstr "명령라인 인코더를 이용하여 전체 프로젝트 내보내기
 msgid "Command Output"
 msgstr "명령 출력"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6186,6 +6132,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:227
+msgid "Quality:"
+msgstr "품질:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6319,12 +6269,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:227
-msgid "Quality:"
-msgstr "품질:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6343,10 +6289,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6535,12 +6481,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6651,6 +6597,17 @@ msgstr "비트 깊이:"
 msgid "FLAC Files"
 msgstr "FLAC 파일"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:134
 msgid "Exporting the selected audio as FLAC"
 msgstr "선택된 오디오를 FLAC으로 내보내는 중"
@@ -6675,20 +6632,16 @@ msgstr "MP2 파일"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "현재 샘플링 속도와 비트율로는 MP2로 내보낼 수 없음"
 
-#: export/ExportMP2.cpp:102
-#: export/ExportMP3.cpp:1249
-#: export/ExportOGG.cpp:53
+#: export/ExportMP2.cpp:102 export/ExportMP3.cpp:1249 export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "쓰기 위한 목적 파일을 열 수 없음"
 
-#: export/ExportMP2.cpp:132
-#: export/ExportMP3.cpp:1337
+#: export/ExportMP2.cpp:132 export/ExportMP3.cpp:1337
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "선택된 오디오를 %d kbps로 내보내는 중"
 
-#: export/ExportMP2.cpp:133
-#: export/ExportMP3.cpp:1338
+#: export/ExportMP2.cpp:133 export/ExportMP3.cpp:1338
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "전체 파일을 %d kbps로 내보내는 중"
@@ -6735,8 +6688,7 @@ msgstr ""
 msgid "Specify MP3 Options"
 msgstr "MP3 옵션 지정"
 
-#: export/ExportMP3.cpp:1431
-#: prefs/FileFormatPrefs.cpp:101
+#: export/ExportMP3.cpp:1431 prefs/FileFormatPrefs.cpp:101
 msgid "MP3 Export Setup"
 msgstr "MP3 내보내기 설정"
 
@@ -6760,8 +6712,7 @@ msgstr "평균"
 msgid "Constant"
 msgstr "상수"
 
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "품질"
 
@@ -6880,10 +6831,8 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:88
-#: export/ExportMultiple.cpp:371
-#: export/ExportMultiple.cpp:620
-#: export/ExportMultiple.cpp:728
+#: export/ExportMultiple.cpp:88 export/ExportMultiple.cpp:371
+#: export/ExportMultiple.cpp:620 export/ExportMultiple.cpp:728
 msgid "Export Multiple"
 msgstr "다중으로 내보내기"
 
@@ -6913,11 +6862,6 @@ msgstr "설정..."
 msgid "Export location:"
 msgstr "내보내기 위치:"
 
-#: export/ExportMultiple.cpp:203
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "선택..."
-
 #: export/ExportMultiple.cpp:204
 msgid "Create"
 msgstr "만들기"
@@ -6942,10 +6886,6 @@ msgstr "첫번째 파일명:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "트랙"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr "이름 파일:"
@@ -6979,6 +6919,35 @@ msgstr "\"%s\" 이(가) 성공적으로 생성되었습니다."
 msgid "Choose a location to save the exported files"
 msgstr "내보낸 파일이 저장될 위치 선택"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:491
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6992,18 +6961,6 @@ msgstr "\"%s\" 이(가) 존재하지 않습니다.\n"
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:617
-#: export/ExportMultiple.cpp:725
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "성공적으로 %d 개 파일을 내보냈습니다."
-
-#: export/ExportMultiple.cpp:618
-#: export/ExportMultiple.cpp:726
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "%d 개 파일을 내보내는 중 알 수 없는 오류가 발생했습니다."
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7082,7 +7039,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "오류 (파일은 기록되지 않음): %hs"
@@ -7142,7 +7098,6 @@ msgid "\"%s\" is an audio CD track. \n"
 msgstr ""
 
 #: import/Import.cpp:173
-#, c-format
 #, fuzzy
 msgid "\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
@@ -7251,8 +7206,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: import/ImportLOF.cpp:172
-#: import/ImportLOF.cpp:222
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: import/ImportLOF.cpp:172 import/ImportLOF.cpp:222
 msgid "List of Files in basic text format"
 msgstr "기본 텍스트 형식의 목록 파일"
 
@@ -7262,9 +7220,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "LOF 파일 내의 윈도우즈 옵셋이 유효하지 않습니다."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:321
-#: import/ImportLOF.cpp:342
-#: import/ImportLOF.cpp:414
+#: import/ImportLOF.cpp:321 import/ImportLOF.cpp:342 import/ImportLOF.cpp:414
 #: import/ImportLOF.cpp:434
 msgid "LOF Error"
 msgstr "LOF 오류"
@@ -7411,36 +7367,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "오디오 I/O"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
+msgstr "일괄 작업"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (모노)"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr "동작"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (스테레오)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "재생"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Cl&eanSpeech 모드 (사용자 GUI)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "장치"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "인터페이스"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "도구:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "재생"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7450,96 +7411,15 @@ msgstr "녹음"
 msgid "Channels"
 msgstr "채널"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "우선 재생"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr "효과 미리 듣기"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr "잘라내기 미리 듣기"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr "지연"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr "짧은 시간:"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr "긴 시간:"
-
-#: prefs/BatchPrefs.cpp:53
-#: prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr "일괄 작업"
-
-#: prefs/BatchPrefs.cpp:75
-#: prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "동작"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (모노)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Cl&eanSpeech 모드 (사용자 GUI)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (스테레오)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:276
 msgid "Directories"
 msgstr "폴더"
@@ -7556,34 +7436,31 @@ msgstr "저장 위치:"
 msgid "Free Space:"
 msgstr "남은 공간:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "자동 저장"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "별도의 폴더에 프로젝트 사본을 자동으로 저장"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "분 마다 자동 저장"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "오디오 캐시"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "임시 폴더 위치 선택"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:165
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7602,226 +7479,144 @@ msgstr "%s 폴더는 쓰기 불가 상태"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Audacity가 재시작한 후 변경된 임시 폴더 적용"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "MP3 Library Version:"
-msgstr "MP3 라이브러리 버전:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
-msgstr "다른 오디오 파일에 의존하는 프로젝트를 저장할 때"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
-msgstr ""
+#: prefs/GUIPrefs.cpp:111
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (고진폭 편집에 매우 작은 범위)"
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "&Ask user"
-msgstr "물어보기(&A)"
+#: prefs/GUIPrefs.cpp:112
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (8비트 샘플 PCM 범위)"
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "항상 스테레오 또는 모노 채널로 모든 트랙 믹스 다운(&l)"
+#: prefs/GUIPrefs.cpp:113
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (16비트 샘플 PCM 범위)"
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:114
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (인간 가청 한계)"
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
+#: prefs/GUIPrefs.cpp:115
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (24비트 샘플 PCM 범위)"
 
-#: prefs/GUIPrefs.cpp:33
-#: prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "인터페이스"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "표시"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:96
 msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
-msgstr "클립 편집은 다른 클립 이동 가능(&c)"
-
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87
-#: prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr "보이기 / 숨기기"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "커트라인 사용(&l)"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "임시 파일에 대해 경고 보이기(&t)"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:111
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (고진폭 편집에 매우 작은 범위)"
-
-#: prefs/GUIPrefs.cpp:112
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (8비트 샘플 PCM 범위)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:113
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (16비트 샘플 PCM 범위)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:114
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (인간 가청 한계)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:115
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (24비트 샘플 PCM 범위)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "항상 스테레오 또는 모노 채널로 모든 트랙 믹스 다운(&l)"
+
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "키보드"
 
@@ -7845,22 +7640,26 @@ msgstr "설정(&e)"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "노트: Cmd+Q 를 누르면 종료됩니다. 다른 키들도 유효합니다."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:102
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:102
 msgid "&Defaults"
 msgstr "기본값(&D)"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "키 조합"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "다음으로 키보드 바로 가기 내보내기:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "되돌리기"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "키보드 바로 가기 저장 중 오류"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7870,6 +7669,14 @@ msgstr "Audacity 키보드 바로 가기가 포함된 XML 파일 선택..."
 msgid "Error loading keyboard shortcuts"
 msgstr "키보드 바로 가기를 불러오는 중 오류"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "다음으로 키보드 바로 가기 내보내기:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "키보드 바로 가기 저장 중 오류"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7879,10 +7686,61 @@ msgstr "키보드 바로 가기 '%s' 은(는) 이미 다음에 할당되어 있
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "되돌리기"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:104
+msgid "MP3 Library Version:"
+msgstr "MP3 라이브러리 버전:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "오디오 I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "우선 재생"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7896,6 +7754,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr "잘라내기 미리 듣기"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7904,6 +7766,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr "지연"
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr "버퍼 지연:"
@@ -7916,12 +7782,23 @@ msgstr "지연 정정:"
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr "짧은 시간:"
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr "긴 시간:"
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr "효과 미리 듣기"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "마우스"
 
@@ -7941,35 +7818,25 @@ msgstr "명령 동작"
 msgid "Buttons"
 msgstr "버튼"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:102
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:113
 #: prefs/MousePrefs.cpp:118
 msgid "Left-Click"
 msgstr "왼쪽-클릭"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
 msgid "Select"
 msgstr "선택"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:118
 msgid "Set Selection Point"
 msgstr "선택 포인트 설정"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:103
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119
 msgid "Left-Drag"
 msgstr "왼쪽-드래그"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:119
 msgid "Set Selection Range"
 msgstr "선택 범위 설정"
 
@@ -7997,9 +7864,7 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:102
-#: prefs/MousePrefs.cpp:103
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:104
 #: prefs/MousePrefs.cpp:105
 msgid "Zoom"
 msgstr "확대"
@@ -8008,9 +7873,7 @@ msgstr "확대"
 msgid "Zoom in on Point"
 msgstr "포인트 확대"
 
-#: prefs/MousePrefs.cpp:103
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:121
 msgid "Zoom in on a Range"
 msgstr "범위 확대"
 
@@ -8018,18 +7881,15 @@ msgstr "범위 확대"
 msgid "same as right-drag"
 msgstr "오른쪽-드래그와 동일"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:120
 msgid "Right-Click"
 msgstr "오른쪽-클릭"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:120
 msgid "Zoom out one step"
 msgstr "한 단계 축소"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:121
 msgid "Right-Drag"
 msgstr "오른쪽-드래그"
 
@@ -8065,8 +7925,7 @@ msgstr "Shift-왼쪽-드래그"
 msgid "Time shift all clips in track"
 msgstr "시간을 트랙으로 모든 클립 이동"
 
-#: prefs/MousePrefs.cpp:109
-#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:116
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-왼쪽-드래그"
 
@@ -8082,9 +7941,7 @@ msgstr "증폭 감싸기 변경"
 msgid "Change Sample"
 msgstr "샘플 변경"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:114
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:114 prefs/MousePrefs.cpp:115
 #: prefs/MousePrefs.cpp:116
 msgid "Pencil"
 msgstr "ì—°í•„"
@@ -8105,25 +7962,20 @@ msgstr "여러 샘플 변경"
 msgid "Change ONE Sample only"
 msgstr "한 샘플만 변경"
 
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:120
 #: prefs/MousePrefs.cpp:121
 msgid "Multi"
 msgstr "다중"
 
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 msgid "same as select tool"
 msgstr "선택 도구와 동일"
 
-#: prefs/MousePrefs.cpp:120
-#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:120 prefs/MousePrefs.cpp:121
 msgid "same as zoom tool"
 msgstr "확대 도구와 동일"
 
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 msgid "Any"
 msgstr "모두"
 
@@ -8151,10 +8003,62 @@ msgstr "Ctrl-휠-회전"
 msgid "Zoom in or out"
 msgstr "확대 또는 축소"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:97
 msgid "Audacity Preferences"
 msgstr "Audacity 설정"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr "다른 오디오 파일에 의존하는 프로젝트를 저장할 때"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "&Ask user"
+msgstr "물어보기(&A)"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "자동 저장"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "별도의 폴더에 프로젝트 사본을 자동으로 저장"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "분 마다 자동 저장"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "직사각형"
@@ -8179,44 +8083,45 @@ msgstr "기본 샘플링 속도:"
 msgid "Default Sample Format:"
 msgstr "기본 샘플링 형식:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "실시간 샘플링 속도 변환기:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "고품질 샘플링 속도 변환기:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "실시간 디더링:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "고품질 디더링:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "변환"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "샘플 속도 변환기"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "디더링"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "실시간:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "고품질:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -8227,23 +8132,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:36
-#: prefs/SpectrumPrefs.cpp:37
+#: prefs/SpectrumPrefs.cpp:36 prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "스펙트로그램"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "FFT 크기"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "8 - 가장 넓은 밴드"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "256 - 기본값"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -8252,21 +8192,26 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - 가장 좁은 밴드"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "창 형식:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "표시"
-
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "그레이 스케일(&G)"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -8276,16 +8221,16 @@ msgstr "최소 주파수 (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "최대 주파수 (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8296,6 +8241,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "최대 주파수값은 정수이어야 함"
@@ -8312,19 +8265,69 @@ msgstr "최소 주파수값은 정수이어야 함"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "최소 주파수값은 적어도 0 Hz 이어야 함"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:61
-#: prefs/ThemePrefs.cpp:62
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr "테마"
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr "ì •ë³´"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "테마는 아직 실험적 기능입니다.\n"
+"\n"
+"시험해 보시려면 \"테마 캐시 저장\"을 누른 후\n"
+"Gimp와 같은 이미지 편집기로 ImageCacheVxx.png의\n"
+"이미지와 색상을 수정하십시오.\n"
+"\n"
+"Audacity로 변경된 이미지와 색상을 불러오려면\n"
+"\"테마 캐시 불러오기\" 를 누르십시오.\n"
+"\n"
+"[이미지 파일이 다른 아이콘으로 보이더라도\n"
+"현재는 제어 도구 모음과 파형 트랙 색상 만이\n"
+"영향을 받습니다.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr "테마 캐시 - 이미지 및 색상"
@@ -8353,95 +8356,95 @@ msgstr "파일 저장"
 msgid "Load Files"
 msgstr "파일 불러오기"
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
-msgstr "ì •ë³´"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "테마는 아직 실험적 기능입니다.\n"
-"\n"
-"시험해 보시려면 \"테마 캐시 저장\"을 누른 후\n"
-"Gimp와 같은 이미지 편집기로 ImageCacheVxx.png의\n"
-"이미지와 색상을 수정하십시오.\n"
-"\n"
-"Audacity로 변경된 이미지와 색상을 불러오려면\n"
-"\"테마 캐시 불러오기\" 를 누르십시오.\n"
-"\n"
-"[이미지 파일이 다른 아이콘으로 보이더라도\n"
-"현재는 제어 도구 모음과 파형 트랙 색상 만이\n"
-"영향을 받습니다.]\n"
-
-#: prefs/ThemePrefs.cpp:131
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "'Output Sourcery' 보조 버튼이 포함된 Audacity 입니다.\n"
-"이것은 기본값으로 컴파일될 수 있는 이미지 캐시의\n"
-"C 버전을 저장합니다.\n"
-
-#: prefs/ThemePrefs.cpp:136
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "만약 '시작할 때 테마 캐시 불러오기' 항목을 선택하면\n"
-"프로그램이 시작될 때 테마 캐시를 불러옵니다.\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "개별 테마 파일을 저장하고 불러올 때에는\n"
-"각각의 이미지마다 별도의 파일을 사용합니다.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "일시 멈춤"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "재생"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr "커트라인 사용(&l)"
+
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
-msgid "Stop"
-msgstr "중지"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "시작 부분으로 가기"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr "클립 편집은 다른 클립 이동 가능(&c)"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "종료 부분으로 가기"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:816
+msgid "Pause"
+msgstr "일시 멈춤"
+
+#: Menus.cpp:815
+msgid "Stop"
+msgstr "중지"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:528
-#: toolbars/ControlToolBar.cpp:815
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:528 toolbars/ControlToolBar.cpp:815
 msgid "Error while opening sound device. "
 msgstr "음성 장치 여는 중 오류"
 
@@ -8453,13 +8456,11 @@ msgstr ""
 msgid "Recording not permitted"
 msgstr "녹음이 허가되지 않음"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "출력 장치"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "입력 장치"
 
@@ -8483,29 +8484,21 @@ msgstr "확대"
 msgid "Zoom Out"
 msgstr "축소"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "확대 토글"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "선택 부분 확대"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "창 크기에 선택 부분을 맞춥니다."
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "프로젝트에 맞추기"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "창 크기에 프로젝트를 맞춥니다."
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
-msgstr "미터"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "선택 부분 확대"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "프로젝트에 맞추기"
 
 #: toolbars/MeterToolBar.cpp:79
 msgid "Play Meter"
@@ -8553,24 +8546,28 @@ msgstr "슬라이더-입력"
 msgid "Input Source"
 msgstr "입력 소스"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:76
 msgid "Selection"
 msgstr "선택"
 
-#: toolbars/SelectionBar.cpp:116
-#: toolbars/SelectionBar.cpp:169
+#: toolbars/SelectionBar.cpp:116 toolbars/SelectionBar.cpp:169
 msgid "Project Rate (Hz):"
 msgstr "프로젝트 주파수 (Hz):"
 
-#: toolbars/SelectionBar.cpp:121
-#: toolbars/SelectionBar.cpp:213
+#: toolbars/SelectionBar.cpp:121 toolbars/SelectionBar.cpp:213
 msgid "Selection Start:"
 msgstr "선택 시작 위치:"
 
-#: effects/ToneGen.cpp:296
-#: effects/ToneGen.cpp:334
-#: toolbars/SelectionBar.cpp:136
-#: toolbars/SelectionBar.cpp:227
+#: effects/ToneGen.cpp:296 effects/ToneGen.cpp:334
+#: toolbars/SelectionBar.cpp:136 toolbars/SelectionBar.cpp:227
 msgid "Length"
 msgstr "길이"
 
@@ -8578,8 +8575,7 @@ msgstr "길이"
 msgid "hidden"
 msgstr "숨김"
 
-#: toolbars/SelectionBar.cpp:156
-#: toolbars/SelectionBar.cpp:241
+#: toolbars/SelectionBar.cpp:156 toolbars/SelectionBar.cpp:241
 msgid "Audio Position:"
 msgstr "오디오 위치:"
 
@@ -8604,8 +8600,7 @@ msgstr "선택 종료 위치"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity %s 도구 모음"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "ToolDock"
 
@@ -8637,34 +8632,6 @@ msgstr "왼쪽=확대, 오른쪽-축소, 가운데=표준 크기"
 msgid "Click and drag to move a track in time"
 msgstr "시간으로 트랙을 옮기려면 클릭 후 드래그 하십시오."
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "도구"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "선택 도구"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "감싸기 도구"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "시간 이동 도구"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "확대 도구"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "그리기 도구"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "다중-도구 모드"
@@ -8673,24 +8640,11 @@ msgstr "다중-도구 모드"
 msgid "Slide Tool"
 msgstr "슬라이드 도구"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "다중 도구"
-
-#: toolbars/TranscriptionToolBar.cpp:82
-msgid "Transcription"
-msgstr "편곡"
-
 #: toolbars/TranscriptionToolBar.cpp:163
 msgid "Play at selected speed"
 msgstr "선택된 속도로 트랙을 재생합니다."
 
-#: toolbars/TranscriptionToolBar.cpp:164
-msgid "Play-at-speed"
-msgstr "선택된 속도로 재생"
-
-#: toolbars/TranscriptionToolBar.cpp:170
-#: toolbars/TranscriptionToolBar.cpp:175
+#: toolbars/TranscriptionToolBar.cpp:170 toolbars/TranscriptionToolBar.cpp:175
 msgid "Playback Speed"
 msgstr "재생 속도"
 
@@ -8698,74 +8652,38 @@ msgstr "재생 속도"
 msgid "Adjust left selection to next onset"
 msgstr "다음 켜기 설정으로 왼쪽 선택 부분을 조정하십시오."
 
-#: toolbars/TranscriptionToolBar.cpp:181
-msgid "Left-to-On"
-msgstr "왼쪽-켜기"
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Adjust right selection to previous offset"
 msgstr "다음 끄기 설정으로 오른쪽 선택 부분을 조정하십시오."
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Right-to-Off"
-msgstr "오른쪽-끄기"
-
 #: toolbars/TranscriptionToolBar.cpp:186
 msgid "Adjust left selection to next offset"
 msgstr "다음 끄기 설정으로 왼쪽 선택 부분을 조정하십시오."
 
-#: toolbars/TranscriptionToolBar.cpp:187
-msgid "Left-to-Off"
-msgstr "왼쪽-끄기"
-
 #: toolbars/TranscriptionToolBar.cpp:189
 msgid "Adjust right selection to previous onset"
 msgstr "다음 켜기 설정으로 오른쪽 선택 부분을 조정하십시오."
 
-#: toolbars/TranscriptionToolBar.cpp:190
-msgid "Right-to-On"
-msgstr "오른쪽-켜기"
-
 #: toolbars/TranscriptionToolBar.cpp:192
 msgid "Select region of sound around cursor"
 msgstr "커서 근처의 음성 영역을 선택하십시오."
 
-#: toolbars/TranscriptionToolBar.cpp:193
-msgid "Select-Sound"
-msgstr "음성-선택"
-
 #: toolbars/TranscriptionToolBar.cpp:195
 msgid "Select region of silence around cursor"
 msgstr "커서 근처의 무음 영역을 선택하십시오."
 
-#: toolbars/TranscriptionToolBar.cpp:196
-msgid "Select-Silence"
-msgstr "무음-선택"
-
 #: toolbars/TranscriptionToolBar.cpp:198
 msgid "Automatically make labels from words"
 msgstr "단어로부터 자동으로 라벨을 생성합니다."
 
-#: toolbars/TranscriptionToolBar.cpp:199
-msgid "Make Labels"
-msgstr "라벨 만들기"
-
 #: toolbars/TranscriptionToolBar.cpp:201
 msgid "Add label at selection"
 msgstr "선택 부분에 라벨 추가"
 
-#: toolbars/TranscriptionToolBar.cpp:202
-msgid "Add Label"
-msgstr "라벨 추가"
-
 #: toolbars/TranscriptionToolBar.cpp:204
 msgid "Calibrate voicekey"
 msgstr "음성키 계산"
 
-#: toolbars/TranscriptionToolBar.cpp:205
-msgid "Calibrate"
-msgstr "계산"
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust Sensitivity"
 msgstr "감도 조정"
@@ -8798,6 +8716,46 @@ msgstr "방향 변경 (높은 스레쉬홀드)"
 msgid "Key type"
 msgstr "키 형식"
 
+#: toolbars/TranscriptionToolBar.cpp:164
+msgid "Play-at-speed"
+msgstr "선택된 속도로 재생"
+
+#: toolbars/TranscriptionToolBar.cpp:181
+msgid "Left-to-On"
+msgstr "왼쪽-켜기"
+
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Right-to-Off"
+msgstr "오른쪽-끄기"
+
+#: toolbars/TranscriptionToolBar.cpp:187
+msgid "Left-to-Off"
+msgstr "왼쪽-끄기"
+
+#: toolbars/TranscriptionToolBar.cpp:190
+msgid "Right-to-On"
+msgstr "오른쪽-켜기"
+
+#: toolbars/TranscriptionToolBar.cpp:193
+msgid "Select-Sound"
+msgstr "음성-선택"
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Select-Silence"
+msgstr "무음-선택"
+
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Make Labels"
+msgstr "라벨 만들기"
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Add Label"
+msgstr "라벨 추가"
+
+#: toolbars/TranscriptionToolBar.cpp:205
+msgid "Calibrate"
+msgstr "계산"
+
 #: widgets/AButton.cpp:298
 msgid " (disabled)"
 msgstr " (불가됨)"
@@ -8812,15 +8770,13 @@ msgstr "버튼"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:540
-#: widgets/Meter.cpp:205
+#: widgets/ASlider.cpp:540 widgets/Meter.cpp:205
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:543
-#: widgets/Meter.cpp:207
+#: widgets/ASlider.cpp:543 widgets/Meter.cpp:207
 msgid "R"
 msgstr "R"
 
@@ -8869,8 +8825,7 @@ msgstr "그래버"
 msgid "%d rows, %d columns"
 msgstr "%d í–‰, %d ì—´"
 
-#: widgets/Grid.cpp:622
-#: widgets/Grid.cpp:749
+#: widgets/Grid.cpp:622 widgets/Grid.cpp:749
 #, c-format
 msgid "Row %d"
 msgstr "%d í–‰"
@@ -8949,8 +8904,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1110
-#: widgets/Ruler.cpp:1111
+#: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
 msgid "Vertical Ruler"
 msgstr "수직 눈금"
 
@@ -9108,3 +9062,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/lt.po b/locale/lt.po
index 257e620..fb968ba 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -29,11 +29,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
@@ -41,8 +41,7 @@ msgstr ""
 #  your own name(s) to the credits.
 #  For example:  "English translation by Dominic Mazzoni."
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
 msgid "translator_credits"
 msgstr "Lithuanian translation by Šarūnas Gliebus"
 
@@ -85,7 +84,7 @@ msgid "Special thanks:"
 msgstr "Ypač ačiū"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -196,18 +195,13 @@ msgstr ""
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s jau atidarytas kitame lange."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
 msgid "Error opening project"
 msgstr "Klaida atidarant projektÄ…"
 
@@ -232,20 +226,28 @@ msgstr "Įvesties Matuoklis"
 msgid "Output Meter"
 msgstr "Sujungti Išvestį"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Naujas"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Atidaryti..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:626
-#: ../src/AudacityApp.cpp:696
+#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Naudojatis bloko dydžiu %ld\n"
 
-#: ../src/AudacityApp.cpp:641
-#: ../src/AudacityApp.cpp:711
+#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Nežinomas komandinės eilutės jungtukas %s\n"
@@ -358,14 +360,14 @@ msgstr "Klaida:"
 msgid "Error Initializing Audio"
 msgstr "Klaida Kraunant Audio"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -414,10 +416,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "Klaida"
 
@@ -593,8 +593,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -915,11 +916,11 @@ msgstr "Stačiakampis"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -978,11 +979,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1005,8 +1007,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Dažnio Analizė"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
 msgid "Spectrum"
 msgstr "Spektras"
 
@@ -1069,15 +1070,25 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "Uždaryti"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr "dB"
@@ -1089,6 +1100,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Kad galėčiau nupiešti grafiką, visi pasirinkti takeliai turi būti to pačio dažnio."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Per daug audio pasirinkta. Tik %.1f sekundės bus išanalizuotos."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Pasirinkta per mažai duomenų"
@@ -1115,9 +1135,7 @@ msgstr "spektras.txt"
 msgid "Export Spectral Data As:"
 msgstr "Eksportuoti Spektro Duomenis Kaip:"
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr "Negaliu rašyti į failą:"
@@ -1130,6 +1148,21 @@ msgstr "Dažnis  (Hz)\tLygis (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Atsilikimas (sek)\tDažnis (Hz)\tLygis"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1207,7 +1240,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1231,7 +1264,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1300,6 +1333,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1359,9 +1400,7 @@ msgstr "Pasirinkite tekstinį failą kuriame yra pavadinimai..."
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Tekstiniai failai (*.txt)|*.txt|Visi failai (*.*)|*.*"
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
+#: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Negaliu atidaryti failo:"
@@ -1415,21 +1454,13 @@ msgstr "Atidaromas Audacity Projektas"
 msgid "&File"
 msgstr "&Failas"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Naujas\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Atidaryti...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Uždaryti\tCtrl+W"
+msgid "&Close"
+msgstr "&Uždaryti"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&IÅ¡saugoti projektÄ…\tCtrl+S"
+msgid "&Save Project"
+msgstr "&IÅ¡saugoti projektÄ…"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1452,7 +1483,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1483,8 +1514,8 @@ msgstr "Daugialypis eksportavi&mas..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1499,10 +1530,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1517,7 +1544,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1525,63 +1552,63 @@ msgid "&Edit"
 msgstr "R&edaguoti"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Atšaukti\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Atšaukti"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "Sug&rąžinti"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "IÅ¡kirp&t\tCtrl+X"
+msgid "Cu&t"
+msgstr "IÅ¡kirp&t"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopijuoti\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopijuoti"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Įdėti\tCtrl+V"
+msgid "&Paste"
+msgstr "&Įdėti"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Trinti\tCtrl+K"
+msgid "&Delete"
+msgstr "&Trinti"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1594,47 +1621,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1642,33 +1654,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&ViskÄ…\tCtrl+A"
+msgid "&All"
+msgstr "&ViskÄ…"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Rasti Susikirtimus ties Nuliu \tZ"
+msgid "Find &Zero Crossings"
+msgstr "Rasti Susikirtimus ties Nuliu "
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1685,11 +1697,11 @@ msgid "to Selection En&d"
 msgstr "į Apibraukimo Pabaigą"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1712,29 +1724,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Įjungti Prikibimą"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "IÅ¡jungti PrikibimÄ…"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Įjungti Grotelų Prikibimą"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Išjungti Grotelų Prikibimą"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1742,35 +1733,35 @@ msgid "&View"
 msgstr "&Vaizdas"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Pr&iartinti\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Pr&iartinti"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normaliai priartinti\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "&Normaliai priartinti"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Sumažinti\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Sumažinti"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Pritaikyti lange\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Pritaikyti lange"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Pritaikyti  &Vertikaliai\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Pritaikyti  &Vertikaliai"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Priartinti apibraukimÄ…\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Priartinti apibraukimÄ…"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1832,39 +1823,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Perkelti į Pradžią\tHome"
+msgid "Skip to Start"
+msgstr "Perkelti į Pradžią"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Perkelti į Pabaiga\tEnd"
+msgid "Skip to End"
+msgstr "Perkelti į Pabaiga"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1892,7 +1883,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1909,7 +1900,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1921,11 +1912,11 @@ msgid "Remo&ve Tracks"
 msgstr "P&ašalinti Takelius"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1976,19 +1967,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "PridÄ—ti PavadinimÄ… Apibraukime\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "PridÄ—ti PavadinimÄ… Grojimo Vietoje\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "PridÄ—ti PavadinimÄ… Grojimo Vietoje"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2014,22 +2004,21 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&ktai"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Kartoti Buvusį Efektą\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Analizuoti"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #  i18n-hint: The name of the Help menu
 #  i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
 msgid "&Help"
 msgstr "&Pagalba"
 
@@ -2041,8 +2030,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2061,181 +2050,149 @@ msgstr "&Paleisti BandymÄ…..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Apibraukimo Įrankis\tF1"
+msgid "Selection Tool"
+msgstr "Apibraukimo Įrankis"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "AmplitudÄ—s Korektorius\tF2"
+msgid "Envelope Tool"
+msgstr "AmplitudÄ—s Korektorius"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Piešimo įrankis\tF3"
+msgid "Draw Tool"
+msgstr "Piešimo įrankis"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Priartinimo įrankis\tF4"
+msgid "Zoom Tool"
+msgstr "Priartinimo įrankis"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
-msgstr "Laiko perkėlimo įrankis\tF5"
+msgid "Time Shift Tool"
+msgstr "Laiko perkėlimo įrankis"
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Multi Įrankis\tF6"
+msgid "Multi Tool"
+msgstr "Multi Įrankis"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Kitas įrankis\tD"
+msgid "Next Tool"
+msgstr "Kitas įrankis"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Buvęs Įrankis\tA"
+msgid "Previous Tool"
+msgstr "Buvęs Įrankis"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "PauzÄ—\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Įrašyti\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Pagroti vienÄ… sekundÄ™\t1"
+msgid "Play One Second"
+msgstr "Pagroti vienÄ… sekundÄ™"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Pagroti iki Apibraukimo\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Kartojamas Grojimas\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Pagroti iki Apibraukimo"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Apibraukti iki Pradžios\tShift+Home"
+msgid "Selection to Start"
+msgstr "Apibraukti iki Pradžios"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Apibraukti iki Pabaigos\tShift+End"
+msgid "Selection to End"
+msgstr "Apibraukti iki Pabaigos"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "Trynimo mygtukas\tBackspace"
+msgid "DeleteKey"
+msgstr "Trynimo mygtukas"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "Trynimo mygtukas2\tDelete"
+msgid "DeleteKey2"
+msgstr "Trynimo mygtukas2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Pelę į kairę \tLeft"
+msgid "Cursor Left"
+msgstr "Pelę į kairę "
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Pelę į dešinę\tRight"
+msgid "Cursor Right"
+msgstr "Pelę į dešinę"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Apibraukimą pratęsti į kairę\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Apibraukimą pratęsti į kairę"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Apibraukimą pratęsti į dešinę\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Apibraukimą pratęsti į dešinę"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2246,51 +2203,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Sumažinti apibraukimą į dešinę\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Sumažinti apibraukimą į dešinę"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Sumažinti apibraukimą į kairę\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Sumažinti apibraukimą į kairę"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2302,7 +2259,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2363,8 +2348,8 @@ msgstr "Pirma turite pasirinkti takelį."
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Kartoti %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Kartoti %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2395,8 +2380,7 @@ msgstr "Nėra ko atšaukti"
 msgid "Nothing to redo"
 msgstr "Nėra ko sugrąžinti"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
 msgid "Cut"
 msgstr "IÅ¡kirpti"
 
@@ -2412,9 +2396,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Paste"
 msgstr "Įkelti"
 
@@ -2422,8 +2404,7 @@ msgstr "Įkelti"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Pasted from the clipboard"
 msgstr "Įterpta iš iškirptinės"
 
@@ -2475,8 +2456,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Nutildyti pasirinkti takeliai %.2f sekundėm %.2f ruože"
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
 msgid "Silence"
 msgstr "Tyla"
 
@@ -2560,8 +2540,7 @@ msgstr ""
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:2009
-#: ../src/TrackPanel.cpp:4134
+#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
 msgid "Split"
 msgstr "Suskaldyti"
 
@@ -2577,15 +2556,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "IÅ¡skirti pavadinimuose"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Kad galėčiau nupiešti grafiką, visi pasirinkti takeliai turi būti to pačio dažnio."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Per daug audio pasirinkta. Tik %.1f sekundės bus išanalizuotos."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2703,9 +2673,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Sukurtas naujas audio takelis"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
 #: ../src/Menus.cpp:3052
 msgid "New Track"
 msgstr "Naujas Takelis"
@@ -2787,8 +2755,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "Sujungti"
 
@@ -2808,6 +2775,10 @@ msgstr "Spauzdinant iškilo problemų."
 msgid "Print"
 msgstr "Spauzdinti"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2821,14 +2792,11 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Įrašyti"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr "Įrašytas Audio"
 
@@ -2849,12 +2817,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "IÅ¡saugoti pakeitimus?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
 msgid "Select one or more audio files..."
 msgstr "Pasirinkite vieną ar daugiau audio failų..."
 
@@ -2881,8 +2848,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Klaida atidarant failÄ…"
 
@@ -2938,10 +2915,12 @@ msgstr "Šis failas buvo išsaugotas naudojantis Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Negaliu atidaryti projekto failo."
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2961,17 +2940,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Klaida išsaugant projektą"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -2982,10 +2966,8 @@ msgstr "IÅ¡saugotas %s"
 msgid "Imported '%s'"
 msgstr "Importuota '%s'"
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
 #: ../src/import/ImportRaw.cpp:408
 msgid "Import"
 msgstr "Importuoti"
@@ -3113,8 +3095,7 @@ msgstr "Libsamplerate by Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate klaida: %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr "Perdarymas išjungtas"
 
@@ -3133,6 +3114,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Nurodyti..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Takelius"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3141,6 +3279,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3279,6 +3421,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3351,6 +3497,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3390,35 +3544,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
 msgstr "Kitas..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "Pavadinimas..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr "Pakelti takelį"
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr "Nuleisti takelį"
 
@@ -3458,13 +3600,15 @@ msgstr "Paversti Stereo Takeliu"
 msgid "Split Stereo Track"
 msgstr "Suskaldyti Stereo Takelį"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Nustatyti Pavyzdžio Formatą"
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr "Nustatyti tempÄ…"
 
@@ -3540,8 +3684,7 @@ msgstr "Pavadinimo Redagavimas"
 msgid "Adjusted envelope."
 msgstr "Nustatyta amplitudÄ—."
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
 msgid "Envelope"
 msgstr "AmplitudÄ—"
 
@@ -3602,25 +3745,21 @@ msgstr "Pajudinta balanso slinktis"
 
 #  i18n-hint: Title of the Gain slider, used to adjust the volume
 #  i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "Garsumas"
 
 #  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
 #  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr "Balansas"
 
-#: ../src/TrackPanel.cpp:4387
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
 msgid "up"
 msgstr "viršun"
 
-#: ../src/TrackPanel.cpp:4388
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
 msgid "down"
 msgstr "apačion"
 
@@ -3661,14 +3800,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3689,8 +3820,7 @@ msgstr "Kairysis,"
 msgid "Right, "
 msgstr "Kairysis,"
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Pakeista '%s' į %s"
@@ -3704,6 +3834,11 @@ msgstr "Kanalas"
 msgid "Split stereo track '%s'"
 msgstr "Išskirti stereo takelį '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3730,8 +3865,7 @@ msgstr "Formato Pakeitimas"
 msgid "Change lower speed limit (%) to:"
 msgstr "Pakeisti mažesnio greičio limitą (%) į:"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr "Žemesnis greičio limitas"
 
@@ -3739,8 +3873,7 @@ msgstr "Žemesnis greičio limitas"
 msgid "Change upper speed limit (%) to:"
 msgstr "Pakeisti didesnio greičio limitą (%) į:"
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
 msgid "Upper speed limit"
 msgstr "Didesnio greičio limitas"
 
@@ -3782,6 +3915,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Begarso"
@@ -3860,8 +3997,9 @@ msgstr "Priedas 1 iš %i"
 msgid "Plugins %i to %i"
 msgstr "Priedai %i iš %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4008,31 +4146,19 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721 ../src/effects/Amplify.cpp:187
+#: ../src/effects/AvcCompressor.cpp:716 ../src/effects/BassBoost.cpp:332
+#: ../src/effects/ChangePitch.cpp:393 ../src/effects/ChangeSpeed.cpp:379
+#: ../src/effects/ChangeTempo.cpp:284 ../src/effects/Compressor.cpp:484
+#: ../src/effects/Echo.cpp:242 ../src/effects/Equalization.cpp:731
+#: ../src/effects/Filter.cpp:482 ../src/effects/Normalize.cpp:258
+#: ../src/effects/Phaser.cpp:576 ../src/effects/Repeat.cpp:251
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Wahwah.cpp:563 ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "OK"
 
@@ -4095,14 +4221,12 @@ msgstr "Keisti SkardumÄ…"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Pakeisti Skardumą Nekeičiant Tempo"
 
-#: ../src/effects/ChangePitch.cpp:247
-#: ../src/effects/ChangeSpeed.cpp:287
+#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
 #: ../src/effects/ChangeTempo.cpp:164
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "by Vaughan Johnson && Dominic Mazzoni"
 
-#: ../src/effects/ChangePitch.cpp:252
-#: ../src/effects/ChangeTempo.cpp:169
+#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "naudojant SoundTouch, by Olli Parviainen"
 
@@ -4151,10 +4275,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:284
-#: ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351
-#: ../src/effects/ChangeTempo.cpp:223
+#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
+#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
 #: ../src/effects/ChangeTempo.cpp:254
 msgid "to"
 msgstr "į"
@@ -4163,8 +4285,7 @@ msgstr "į"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
+#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Procentinis Pakeitimas:"
@@ -4182,8 +4303,7 @@ msgstr "Keisti SkardumÄ…..."
 msgid "Changing Pitch"
 msgstr "Keičiamas Skardumas"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Priimtas efektas: %s %.1f%%"
@@ -4334,12 +4454,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalizuoti iki 0dB po suspaudimao"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Riba:  %d dB"
@@ -4370,7 +4489,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Iki Pilno Garso: %.1f sek"
@@ -4393,6 +4511,10 @@ msgstr "Kompresorius..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Pritaikomas Dinaminis Dažnio Kompresorius..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4412,19 +4534,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4458,6 +4567,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4502,16 +4616,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4622,18 +4728,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4693,8 +4787,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Priimtas efektas: %s uždelsimas = %f sekundės, nykimo faktorius = %f"
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "Aidas"
 
@@ -4726,8 +4819,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Klaida atidarinėjant garso tvarkykles. Prašau pasitikrinkite išvesties įrenginio nuostatas ir projekto modelio dažnį."
 
@@ -4760,6 +4852,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4960,10 +5056,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5199,10 +5291,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5260,8 +5348,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr "LFO Dažnis (Hz):"
 
@@ -5269,8 +5356,7 @@ msgstr "LFO Dažnis (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO Pradžios Fazė (laipsn.):"
 
@@ -5329,8 +5415,7 @@ msgstr "Pakartota %d kartus"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Takeliai per ilgi, kad būtų galima pakartoti apibraukimą."
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "Kartoti"
 
@@ -5343,8 +5428,7 @@ msgstr "Kiek kartų kartoti:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr "Naujas apibraukimo ilgis:"
 
@@ -5555,20 +5639,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5579,17 +5680,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Atsiprašome, bet VST Efektai negali būti vygdomi stereo takeluose, kur individualūs kanalai nesutampa."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Efektų nustatymai"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Nieko"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Negaliu pradÄ—ti pakeitimo"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST Priedų parametrai:"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5637,22 +5777,11 @@ msgstr "Vykdomas Efektas: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Nieko"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Autorius:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Efektų nustatymai"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Ilgis (sekundÄ—mis)"
 
@@ -5843,9 +5972,21 @@ msgstr "Visas projektas eksportuojamas naudojantis komandinÄ—s eilutÄ—s dekoder
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5913,6 +6054,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6046,12 +6191,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6070,10 +6211,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6262,12 +6403,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6378,6 +6519,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6402,8 +6554,7 @@ msgstr ""
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "Negaliu atidaryti failo įrašymui"
 
@@ -6602,8 +6753,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
 #: ../src/export/ExportMultiple.cpp:562
 msgid "Export Multiple"
 msgstr "Daugialypis Eksportavimas"
@@ -6634,11 +6784,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Eksportavimo vieta:"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Nurodyti..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6663,10 +6808,6 @@ msgstr "Pirmo failo vardas:"
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Takelius"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "Pervadinti failai:"
@@ -6700,25 +6841,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Pasirinkite vietą eksportuotiems failams išsaugoti"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:528
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6802,7 +6962,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Klaida (failas gali būti neįrašytas): %s"
@@ -6968,8 +7127,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Failų sąrašas teksto formatu"
 
@@ -6981,10 +7143,8 @@ msgstr "Blogas lango ofsetas LOF faile."
 
 #  i18n-hint: You do not need to translate "LOF"
 #  i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr "LOF Klaida"
 
@@ -7137,131 +7297,59 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Audio I/O"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Atkūrimas"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Įrašymas"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Interfeisas"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Atkūrimas"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Įrašymas"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "Vietos"
 
@@ -7277,34 +7365,31 @@ msgstr "Vieta:"
 msgid "Free Space:"
 msgstr "Laisva Vieta:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Pasirinkite kur dÄ—ti laikinus failus"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7323,220 +7408,141 @@ msgstr "Vieta yra %s neįrašoma"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Laikinos vietos keitimas bus priimtas tik perkrovus Audacity"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "MP3 Bibliotekos Versija:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Interfeisas"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (negilus ruožas aukštos amplitudės redagavimui)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM diapazonas 8 bitų modeliams)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM diapazonas 16 bitų medeliams)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (apytikris žmogaus klausos limitas)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM diapazonas 24 bitų modeliams)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (negilus ruožas aukštos amplitudės redagavimui)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM diapazonas 8 bitų modeliams)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM diapazonas 16 bitų medeliams)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (apytikris žmogaus klausos limitas)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM diapazonas 24 bitų modeliams)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7567,17 +7573,22 @@ msgstr "Pranešimas: Paspaudus Cmd+Q išeisite. Visi kiti mygtukai galioja."
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Klavišų Kombinacija"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Eksportuoti Sparčiuosius Klavišus Kaip:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Atšaukti"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Klaida išsaugant sparčuosius klavišus"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7587,6 +7598,14 @@ msgstr "Pasirinkite XML failą kuriame laikote Audacity klavetūros sparčuosius
 msgid "Error loading keyboard shortcuts"
 msgstr "Klaida kraunant sparčuosius klavišus"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Eksportuoti Sparčiuosius Klavišus Kaip:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Klaida išsaugant sparčuosius klavišus"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7594,9 +7613,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Atšaukti"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "MP3 Bibliotekos Versija:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Audio I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7611,6 +7682,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7619,6 +7694,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7631,6 +7710,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7655,14 +7746,12 @@ msgstr "Komandos Veiksmas"
 msgid "Buttons"
 msgstr "Mygtukai"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr "Kairysis-Paspaudimas"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "Pasirinkti"
@@ -7671,10 +7760,8 @@ msgstr "Pasirinkti"
 msgid "Set Selection Point"
 msgstr "Nustatyti Pasirinkimo Tašką"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr "Kairysis-Tempimas"
@@ -7707,10 +7794,8 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr "Keist Mastelį"
 
@@ -7786,10 +7871,8 @@ msgstr "Keisti Stiprinimo AmplitudÄ™"
 msgid "Change Sample"
 msgstr "Keisti pavyzdį"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "Parkelis"
 
@@ -7809,10 +7892,8 @@ msgstr "Keisti kelis pavyzdžius"
 msgid "Change ONE Sample only"
 msgstr "Pakeisti tik VIENĄ Modelį"
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 msgid "Multi"
 msgstr "Multi"
 
@@ -7826,8 +7907,7 @@ msgstr "Tas pat kaip ir apibraukimo įrankis"
 msgid "same as zoom tool"
 msgstr "Tas pat kaip ir Priartinimo įrankis"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "Bet kuris"
 
@@ -7855,10 +7935,62 @@ msgstr "Ctrl-Ratukas-Pasukimas"
 msgid "Zoom in or out"
 msgstr "Priartinti arba Tolinti"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Audacity Nuostatos"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Stačiakampis"
@@ -7883,44 +8015,44 @@ msgstr "Įprastas Modelio Dažnis:"
 msgid "Default Sample Format:"
 msgstr "Įprastas Modelio Formatas:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Esamo laiko pavyzdžio dažnio konverteris:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Aukštos kokybės pavyzdžio dažnio konverteris:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Esamo laiko virpesiai:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Aukštos kokybės virpesiai:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7935,18 +8067,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Spektograma"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "FFT Dydis"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - įprastas"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7955,20 +8123,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - pats siauriausias ruožas"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7979,16 +8151,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Didžiausias Dažnis (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7999,6 +8171,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Didžiausias dažnis turi būti sveikasis skaičius"
@@ -8015,18 +8195,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8055,78 +8274,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "PauzÄ—"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Stop"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Perkelti į Pradžią"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Perkelti į Pabaigą"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "PauzÄ—"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Stop"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8167,28 +8402,20 @@ msgstr "Artinti"
 msgid "Zoom Out"
 msgstr "Tolinti"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Mastelio Keitimas"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "IÅ¡plÄ—sti apibraukimÄ… lange"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Pritaikyti projektÄ… lange"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8235,6 +8462,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8313,30 +8548,6 @@ msgstr "Kairys=Priartinti, Dešinysis=Tolinti, Vidurinis=Normaus"
 msgid "Click and drag to move a track in time"
 msgstr "Temti ir mesti takelių laiko perkėlimui"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Apibraukimo Įrankis"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "AmplitudÄ—s Korektorius"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Laiko perkėlimo įrankis"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Priartinimo įrankis"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Piešimo įrankis"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Multi Įrankio režimas"
@@ -8345,22 +8556,10 @@ msgstr "Multi Įrankio režimas"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8369,74 +8568,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8469,6 +8632,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (išjungtas)"
@@ -8484,16 +8687,14 @@ msgstr ""
 #  i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #  i18n-hint: One-letter abbreviation for Left, in VU Meter
 #  i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "K"
 
 #  i18n-hint: One-letter abbreviation for Right, in the Pan slider
 #  i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "D"
 
@@ -8776,3 +8977,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/mk.po b/locale/mk.po
index 9cfcb13..30e1f0e 100644
--- a/locale/mk.po
+++ b/locale/mk.po
@@ -32,11 +32,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -88,7 +88,7 @@ msgid "Special thanks:"
 msgstr "Посебна благодарност:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -228,10 +228,20 @@ msgstr ""
 msgid "Output Meter"
 msgstr ""
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Нов"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Отвори..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
 #: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
@@ -354,14 +364,14 @@ msgstr "Грешка"
 msgid "Error Initializing Audio"
 msgstr ""
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -587,8 +597,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -908,11 +919,11 @@ msgstr "Правоаголно"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -970,11 +981,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1058,11 +1070,24 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
 #: ../src/effects/NoiseRemoval.cpp:463 ../src/effects/ClickRemoval.cpp:371
 msgid "Close"
 msgstr "Затвори"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr ""
@@ -1073,6 +1098,15 @@ msgstr ""
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "За цртање на спектар сите селектирани нумери треба да се со иста рата."
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Премногу аудио се селектирани.  Само првите %.1f секунди од аудиото ќе бидат анализирани."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Недоволно селектирани податоци."
@@ -1112,6 +1146,21 @@ msgstr "Фрекфенција (Hz)\tНиво (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Lag (секунди)\tФрекфенција (Hz)\tНиво"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1189,7 +1238,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1213,7 +1262,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1282,6 +1331,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1396,21 +1453,13 @@ msgstr "Отворам Audacity проект"
 msgid "&File"
 msgstr "&Датотека"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Нов\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Отвори...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Затвори\tCtrl+W"
+msgid "&Close"
+msgstr "&Затвори"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Сними проект\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Сними проект"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1433,7 +1482,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1465,8 +1514,8 @@ msgstr "Експорт на нас&лови..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1481,10 +1530,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1499,7 +1544,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1507,8 +1552,8 @@ msgid "&Edit"
 msgstr "&Уреди"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Врати\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Врати"
 
 #: ../src/Menus.cpp:239
 #, fuzzy
@@ -1516,55 +1561,55 @@ msgid "&Redo"
 msgstr "Врати"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "С&ечи\tCtrl+X"
+msgid "Cu&t"
+msgstr "С&ечи"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Копирај\tCtrl+C"
+msgid "&Copy"
+msgstr "&Копирај"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Залепи\tCtrl+V"
+msgid "&Paste"
+msgstr "&Залепи"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Бриши\tCtrl+K"
+msgid "&Delete"
+msgstr "&Бриши"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1577,47 +1622,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1626,31 +1656,31 @@ msgstr ""
 
 #: ../src/Menus.cpp:269
 #, fuzzy
-msgid "&All\tCtrl+A"
-msgstr "Означи &се\tCtrl+A"
+msgid "&All"
+msgstr "Означи &се"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
-msgid "Find &Zero Crossings\tZ"
+msgid "Find &Zero Crossings"
 msgstr ""
 
 #: Menus.cpp:476
@@ -1668,11 +1698,11 @@ msgid "to Selection En&d"
 msgstr "Покажувач на крај од селекцијата"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1695,29 +1725,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr ""
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr ""
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr ""
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr ""
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1725,35 +1734,35 @@ msgid "&View"
 msgstr "&Поглед"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Зум &во\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Зум &во"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Зум &нормален\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Зум &нормален"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Зум &од\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Зум &од"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Во прозорец\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Во прозорец"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
+msgid "Fit &Vertically"
 msgstr ""
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Зум во &селекција\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "Зум во &селекција"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1815,39 +1824,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Скокни до почеток\tHome"
+msgid "Skip to Start"
+msgstr "Скокни до почеток"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Скокни до крај\tEnd"
+msgid "Skip to End"
+msgstr "Скокни до крај"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1875,7 +1884,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1892,7 +1901,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1904,11 +1913,11 @@ msgid "Remo&ve Tracks"
 msgstr "&Тргни нумери"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1959,19 +1968,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Дај наслов на селекција\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Дај наслов на селекција\tCtrl+B"
+msgid "Add Label At &Playback Position"
+msgstr "Дај наслов на селекција"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -1998,14 +2006,14 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Ефект"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr ""
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Анализа"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
@@ -2023,8 +2031,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2043,190 +2051,153 @@ msgstr "Почни &брзинар..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
-#: ../src/Menus.cpp:549
-#, fuzzy
-msgid "Selection Tool\tF1"
+#: ../src/ControlToolBar.cpp:355
+msgid "Selection Tool"
 msgstr "Изборни алатки"
 
-#: ../src/Menus.cpp:550
-#, fuzzy
-msgid "Envelope Tool\tF2"
+#: ../src/ControlToolBar.cpp:356
+msgid "Envelope Tool"
 msgstr "Крива алатки"
 
-#: ../src/Menus.cpp:551
-#, fuzzy
-msgid "Draw Tool\tF3"
+#: ../src/ControlToolBar.cpp:359
+msgid "Draw Tool"
 msgstr "Цртачки алатки"
 
-#: ../src/Menus.cpp:552
-#, fuzzy
-msgid "Zoom Tool\tF4"
+#: ../src/ControlToolBar.cpp:358
+msgid "Zoom Tool"
 msgstr "Зум алатка"
 
-#: ../src/Menus.cpp:553
-#, fuzzy
-msgid "Time Shift Tool\tF5"
+#: ../src/ControlToolBar.cpp:357
+msgid "Time Shift Tool"
 msgstr "Временска алатка"
 
 #: ../src/Menus.cpp:554
 #, fuzzy
-msgid "Multi Tool\tF6"
+msgid "Multi Tool"
 msgstr "Мулти алатки"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
+msgid "Next Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
+msgid "Previous Tool"
 msgstr ""
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Стоп\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Пауза\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Снимај\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Свири една секунда\t1"
+msgid "Play One Second"
+msgstr "Свири една секунда"
 
 #: ../src/Menus.cpp:565
 #, fuzzy
-msgid "Play To Selection\tB"
-msgstr "Свири една секунда\t1"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr ""
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Свири една секунда"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Селекција на почеток\tShift+Home"
+msgid "Selection to Start"
+msgstr "Селекција на почеток"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Селекција на крај\tShift+End"
+msgid "Selection to End"
+msgstr "Селекција на крај"
 
 #: ../src/Menus.cpp:575
 #, fuzzy
-msgid "DeleteKey\tBackspace"
-msgstr "Delete копче\tБриши"
+msgid "DeleteKey"
+msgstr "Delete копче"
 
 #: ../src/Menus.cpp:580
 #, fuzzy
-msgid "DeleteKey2\tDelete"
-msgstr "Delete копче\tБриши"
+msgid "DeleteKey2"
+msgstr "Delete копче"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Покажувач лево\tЛево"
+msgid "Cursor Left"
+msgstr "Покажувач лево"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Покажувач десно\tДесно"
+msgid "Cursor Right"
+msgstr "Покажувач десно"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Селекција извлечи лево\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Селекција извлечи лево"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Селекција извлечи десно\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Селекција извлечи десно"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2237,51 +2208,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Селекција збиј лево\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Селекција збиј лево"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Селекција збиј десно\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Селекција збиј десно"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2293,7 +2264,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2354,8 +2353,8 @@ msgstr "Морате прво да означите нумера."
 
 #: ../src/Menus.cpp:1248
 #, fuzzy, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "&Врати\tCtrl+R"
+msgid "Repeat %s"
+msgstr "&Врати"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2563,15 +2562,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr "Подели на наслови"
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "За цртање на спектар сите селектирани нумери треба да се со иста рата."
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Премногу аудио се селектирани.  Само првите %.1f секунди од аудиото ќе бидат анализирани."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2798,6 +2788,10 @@ msgstr ""
 msgid "Print"
 msgstr "десно"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2811,8 +2805,7 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Снимај"
 
@@ -2838,8 +2831,8 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Да снимам промени?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
 #: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
@@ -2870,6 +2863,17 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Грешка при вчитување датотека."
@@ -2925,10 +2929,12 @@ msgstr ""
 msgid "Can't open project file"
 msgstr "Неможно да се отвори проектот."
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2948,16 +2954,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
 #: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Грешка при снимање проект"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -3121,6 +3133,164 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Одбери..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+#, fuzzy
+msgid "Tracks"
+msgstr "Обележи нумера"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3129,6 +3299,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3269,6 +3443,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3341,6 +3519,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3380,10 +3566,6 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
 #: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
 #: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
@@ -3440,6 +3622,10 @@ msgstr "Направи стерео нумера"
 msgid "Split Stereo Track"
 msgstr "Подели стерео нумера"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Постави формат на семпл"
@@ -3642,14 +3828,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3685,6 +3863,11 @@ msgstr "Канали:"
 msgid "Split stereo track '%s'"
 msgstr "Подели ја стерео нумерата '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3767,6 +3950,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Онеми"
@@ -3845,8 +4032,9 @@ msgstr "Додавка 1 за %i"
 msgid "Plugins %i to %i"
 msgstr "Додавки %i за %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -4304,12 +4492,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Богатство: %d dB"
@@ -4340,7 +4527,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Ударно време: %.1f сек"
@@ -4363,6 +4549,10 @@ msgstr "Збивач..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Применета динамичка компресија"
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4382,19 +4572,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4428,6 +4605,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4472,16 +4654,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4592,18 +4766,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4730,6 +4892,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4930,10 +5096,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5169,10 +5331,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5526,20 +5684,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5550,17 +5725,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
 #, fuzzy
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Прости, Ladspa ефектите не може да биде применет на стерео нумери каде каналите од нумерите не соодветствуваат."
+msgid "Effect Settings"
+msgstr "Ladspa ефект поставки"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Ништо"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
 msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
@@ -5609,21 +5823,10 @@ msgstr "Подготвувам Ladspa ефект: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Ништо"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Автор:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-#, fuzzy
-msgid "Effect Settings"
-msgstr "Ladspa ефект поставки"
-
 #: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 #, fuzzy
 msgid "Length (seconds)"
@@ -5821,9 +6024,21 @@ msgstr "Експорт на проектот како mp3"
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5891,6 +6106,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6024,12 +6243,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6048,10 +6263,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6240,12 +6455,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6356,6 +6571,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6611,10 +6837,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Локација:"
 
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Одбери..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6640,11 +6862,6 @@ msgstr ""
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-#, fuzzy
-msgid "Tracks"
-msgstr "Обележи нумера"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr ""
@@ -6680,25 +6897,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Одбери локација за сместување на привремениот именик"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:480
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6782,7 +7018,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Грешка (датотеката можеби не е снимена): %s"
@@ -6948,6 +7183,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Листа на датотеки во основен текст формат"
@@ -7108,128 +7347,57 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Аудио В/И"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Моно)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Стерео)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Плејбек"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Снимање"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Интерфејс"
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Плејбек"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Снимање"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Моно)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Стерео)"
 
 #: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
@@ -7247,34 +7415,31 @@ msgstr "Локација:"
 msgid "Free Space:"
 msgstr "Слободен простор:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Одбери локација за сместување на привремениот именик"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7293,220 +7458,141 @@ msgstr "Именикот %s не е снимлив"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Промените во привремениот именик нема да имаат ефект се додека Audacity не се превклучи."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Верзија на MP3 библиотека:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Интерфејс"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7537,17 +7623,22 @@ msgstr ""
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Комбинација на типки"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Експорт кратенки како:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Врати"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Грешка при снимање кратенка"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7557,6 +7648,14 @@ msgstr "Селектирајте XML датотека која содржи Auda
 msgid "Error loading keyboard shortcuts"
 msgstr "Грешка при внес на кратенка"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Експорт кратенки како:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Грешка при снимање кратенка"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7564,9 +7663,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Врати"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Верзија на MP3 библиотека:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Аудио В/И"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7581,6 +7732,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7589,6 +7744,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7601,6 +7760,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7814,10 +7985,62 @@ msgstr "Ctrl-Вртливо увце"
 msgid "Zoom in or out"
 msgstr "Зум во или од"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Аudacity поставки"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Правоаголник"
@@ -7842,44 +8065,44 @@ msgstr "Стандардна рата на семпл:"
 msgid "Default Sample Format:"
 msgstr "Стандарден формат на семпл:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Конвертор на рата во реално време:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Висококвалитетен конвертор на рати:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Делач во реално време:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Висококвалитетен делач:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7894,18 +8117,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Спектрограм"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "FFT големина"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7914,20 +8173,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7938,16 +8201,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Максимална фрекфенција (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7958,6 +8221,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Максималната фрекфенција мора да биде делива"
@@ -7974,18 +8245,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8014,78 +8324,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Пауза"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Стоп"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Скокни до почеток"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Скокни до крај"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Пауза"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Стоп"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8127,30 +8453,21 @@ msgstr "Зум во"
 msgid "Zoom Out"
 msgstr "Зум од"
 
-#: ../src/EditToolBar.cpp:170
-#, fuzzy
-msgid "Zoom Toggle"
-msgstr "Зум алатка"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Собери селекција во прозорец"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 #, fuzzy
 msgid "Fit project in window"
 msgstr "Собери цел проект во прозорец"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8197,6 +8514,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8275,30 +8600,6 @@ msgstr "Left=Зум во, Right=Зум од, Middle=Нормално"
 msgid "Click and drag to move a track in time"
 msgstr "Кликни и пушти за движење на нумерата временски"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Изборни алатки"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Крива алатки"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Временска алатка"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Зум алатка"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Цртачки алатки"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Мулти алатки"
@@ -8307,22 +8608,10 @@ msgstr "Мулти алатки"
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8331,74 +8620,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8431,6 +8684,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (откажана)"
@@ -8735,3 +9028,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/nb.po b/locale/nb.po
index 59c42f0..34e707e 100644
--- a/locale/nb.po
+++ b/locale/nb.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr "Project-Id-Version: Audacity 1.3.3\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
 "POT-Creation-Date: 2008-04-28 22:24+0100\n"
-"PO-Revision-Date: 2008-05-10 15:35+0200\n"
+"PO-Revision-Date: 2009-01-27 22:11+0100\n"
 "Last-Translator: Kevin Brubeck Unhammer <unhammer at gmail.com>\n"
 "Language-Team: Translators-Norway <unhammer at gmail.com>\n"
 "MIME-Version: 1.0\n"
@@ -25,14 +25,14 @@ msgstr "OK... Audacious!"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "Audacity er et gratis program skrevet av en gruppe med frivillige <a href=\"http://audacity.sourceforge.net/community/developers\">utviklere</a> fra hele verden. Samarbeidet er mulig takket være <a href=\"http://sourceforge.net\">SourceForge.net</a>. Audacity finnes for Windows 98 og nyere, Mac OS X, Linux og andre Unix-lignende operativsystemer. Eldre versjoner av Audacity er tilgjengelige for Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
@@ -51,7 +51,7 @@ msgstr "Norwegian (bokm
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "Et gratis digitalt lydredigeringsprogram<br>"
 
 #: AboutDialog.cpp:211
 msgid "Credits"
@@ -88,8 +88,9 @@ msgid "Special thanks:"
 msgstr "Særlig takk til:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+#, fuzzy
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "Opphavsretten til <b>Audacity&reg;</b>-programvaren er tilhører &copy; 1999-2008 Audacity Team. <br>Navnet <b>Audacity&reg;</b> er et registrert varemerke tilhørende Dominic Mazzoni."
 
 #: AboutDialog.cpp:254
 msgid "Audacity"
@@ -229,11 +230,21 @@ msgstr "Indatam
 msgid "Output Meter"
 msgstr "Utdatamåler"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Ny"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Åpne..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:751 Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
+msgstr "&Preferences..."
 
 #: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
@@ -357,18 +368,16 @@ msgstr "Feil:"
 msgid "Error Initializing Audio"
 msgstr "Feil ved initialisering av lyd"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "Latensproblem"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "En latensinnstilling skjulte lydopptaket foran nullpunktet.\n"
-"Audacity flyttet det tilbake så det starter på null.\n"
-"Du må kanskje bruke tidsforskyvningsverktøyet (<---> eller F5) for å dra sporet til korrekt sted."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatisk krasjgjenoppretting"
@@ -502,7 +511,7 @@ msgstr "Anvend kjede"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "CleanSpeech satsvis prosessering"
 
 #: BatchProcessDialog.cpp:94
 msgid "&Select chain"
@@ -543,7 +552,7 @@ msgstr "Vennligst lagre og lukk dette prosjektet f
 
 #: BatchProcessDialog.cpp:206
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Velg vokalfil(er) for satsvis CleanSpeech-kjede..."
 
 #: BatchProcessDialog.cpp:207
 msgid "Select file(s) for batch processing..."
@@ -551,7 +560,7 @@ msgstr "Velg fil(er) for satsvis prosessering..."
 
 #: BatchProcessDialog.cpp:209
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "Vokalfiler (*.wav;*.mp3)|*.wav;*.mp3|WAV-filer (*.wav)|*.wav|MP3-filer (*.mp3)|*.mp3"
 
 #: BatchProcessDialog.cpp:210
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
@@ -593,9 +602,8 @@ msgstr "K&jeder (dobbeltklikk eller trykk MELLOMROM for 
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-#, fuzzy
-msgid "No"
-msgstr "Nr/Nei"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -732,7 +740,7 @@ msgstr "Advarsel: det er veldig lite ledig diskplass p
 
 #: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
-msgstr "Fremskritt"
+msgstr "Framgang"
 
 #: DirManager.cpp:285
 msgid "Cleaning up temporary files"
@@ -789,7 +797,7 @@ msgstr "Klarte ikke omd
 #: DirManager.cpp:1183
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Endret blokk %s til nytt aliasnavn\n"
 
 #: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
@@ -940,31 +948,31 @@ msgstr "Rektangul
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "FFmpeg-støtte ikke kompilert"
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Feil ved start av FFmpeg"
 
 #: FFmpeg.cpp:115
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "Fant ikke FFmpeg-biblioteket"
 
 #: FFmpeg.cpp:170
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "Finn FFmpeg"
 
 #: FFmpeg.cpp:190
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity trenger fila %s for å importere og eksportere via FFmpeg."
 
 #: export/ExportMP3.cpp:562
 #, c-format
@@ -982,11 +990,11 @@ msgstr "Bla gjennom..."
 
 #: FFmpeg.cpp:212
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "For å få en gratis kopi av FFmpeg, klikk her -->"
 
 #: FFmpeg.cpp:215 export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Last ned"
 
 #  i18n-hint: It's asking for the location of a file, for
 #  example, "Where is lame_enc.dll?" - you could translate
@@ -1001,34 +1009,35 @@ msgstr "Hvor finnes filen %s?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Fant ingen kompatible FFmpeg-bibliotek"
 
 #: FFmpeg.h:95
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "Fant ikke FFmpeg"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Ikke vis denne advarselen igjen"
 
 #: FFmpeg.h:251
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "Bare avformat.dll|*avformat*.dll|Dynamisk lenkede bibliotek (*.dll)|*.dll|Alle filer (*.*)|*"
 
 #: FFmpeg.h:268
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dynamiske bibliotek (*.dylib)|*.dylib|Alle filer (*)|*"
 
 #: FFmpeg.h:266
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Bare libavformat.so|libavformat.so*|Dynamisk lenkede bibliotek (*.so*)|*.so*|Alle filer (*)|*"
 
 #: FreqWindow.cpp:104
 msgid "Frequency Analysis"
@@ -1081,7 +1090,7 @@ msgstr " vindu"
 
 #: FreqWindow.cpp:187 FreqWindow.cpp:191
 msgid "Function"
-msgstr ""
+msgstr "Funksjon"
 
 #: FreqWindow.cpp:192
 msgid "Linear frequency"
@@ -1093,7 +1102,7 @@ msgstr "Logaritmisk frekvens"
 
 #: FreqWindow.cpp:201 FreqWindow.cpp:205
 msgid "Axis"
-msgstr ""
+msgstr "Akse"
 
 #: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
@@ -1104,10 +1113,23 @@ msgstr "&Eksporter..."
 msgid "Export"
 msgstr "Eksport"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
 #: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Lukk"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
 #: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
 #: effects/Compressor.cpp:352 effects/Compressor.cpp:360
@@ -1127,6 +1149,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "For å tegne spektrumet må alle markerte spor være samme datarate."
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "For mye lyd ble markert. Bare de første %.1f sekundene med lyd vil bli analysert."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Ikke nok data valgt."
@@ -1167,6 +1198,21 @@ msgstr "Frekvens (Hz)\tNiv
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Forsinkelse (sekunder)\tFrekvens (Hz)\tNivå"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Til [[welcome|velkomstsiden]]"
@@ -1253,7 +1299,8 @@ msgstr "<p><b>For 
 "på wikien. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>Inndataenheten er den fysiske lydenheten som du spiller inn fra. Dette velger du under \"Opptaksenhet\" i <i>Lyd I/O-fanen i Innstillinger</i>. På Windows og Linux er innstillingene nederst i <i>Rediger</i>-menyen. På Mac er de i <i>Audacity</i>-menyen. Du kan også enkelt velge opptaksenhet under <i>Enhetsverktøylinjen</i>, som du skrur på i <i>Vis &gt; Verktøylinjer...</i>. </p><p> Standardvalget er at Audacity bruker den enheten som systemet benytter nå (vanligvis den innebygde lydenheten), så det er ofte unødvendig å endre enhet. På Windows er den nåværende systemenheten angitt som \"Microsoft lydtilordning\". Hvis du spiller inn fra en ekstern USB- eller Firewire-enhet, f.eks. en USB-platespiller, kan du velge denne som opptaksenhet ved navn etter at du har koplet den til.</p><p>\n"
 "Tilbake til [[record|Spille inn lyd]] <br></p>"
 
@@ -1278,7 +1325,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Hvis du vil høre arbeidet ditt i andre mediaprogram kan du eksportere det til en lydfil, f.eks. WAV eller MP3 (visse format er [[wma-proprietary|ikke støttet]]). Ved å [[save|lagre et Audacity-prosjekt]] lager du en prosjekt-fil (lenket til en _data-mappe) som inneholder alle dine redigerte spor, slik at du kan gå tilbake til arbeidet på et senere tidspunkt. Men, andre program kan ikke lese Audacity-prosjekt. </p><p> For å eksportere klikker du <i>Fil &gt; Eksporter</i> og velger filformatet du ønsker å eksportere til i nedtrekksmenyen «Format». Vil du [[burncd|brenne CD]] som skal spilles av i vanlige CD-spillere, velger du WAV eller AIFF. For å eksportere til MP3 må du ha installert [[wiki:Lame_Installation|Lame-omkoderen]]. </p><p> <i>Fil &gt; Eksporter markering</i> eksporterer bare et markert lydområde. <i>Bruk Fil &gt; Eksporter flere filer</i> for å eksportere multiple filer samtidig, enten en for hvert lydspor eller en for hvert kommenterte område i et enkeltspor.<i>Spor &gt; Legg til kommentar ved markering</i> lar deg [[wiki:Splitting_recordings_into_separate_tracks|dele opp sporene]] fra et album for å eksportere flere spor som ulike filer. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>Audacity <b>kan ikke</b> [[play|spille av]] eller [[export|eksportere til]] formatene <b>WMA, RealAudio, Shorten (SHN)</b> eller de fleste andre proprietære format, pga. lisens- og patentbegrensninger. På en Mac kan du importere ubeskyttede <b>AAC</b>-format, f.eks. <b>M4A</b>. Visse åpne format er ennå ikke støttet, dette inkluderer <b>Ogg Speex</b> og <b>Musepack</b>. Filer som er beskyttet av en form for digital rettighetsadministrasjon (DRA/DRM), inkludert de fleste filer kjøpt på nettet fra iTunes, Napster ol., <b>kan ikke</b> importeres.</p><p> Hvis du ikke kan importere filen din til Audacity, og den ikke er beskyttet med DRM, kan du likevel bruke iTunes eller <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> for å konvertere den til WAV eller AIFF. Hvis den er beskyttet kan du brenne til lyd-CD med programmet som er lisensiert til å spille den av, og så trekke ut CD-sporet til WAV eller AIFF med iTunes eller (på Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> eller Windows Media Player 11. Du kan også <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">spille inn</a> CD-en til datamaskinen din. <i>Vil du eksportere til et ustøttet format kan du først eksportere til WAV eller AIFF og så konvertere til det ønskede formatet i iTunes eller <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1287,7 +1335,7 @@ msgstr "<p>For 
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>Hjelp for Audacity Beta er ennå uferdig. Foreløpig finnes et utkast til en manual <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">på nettet</a>. Du kan også klikke <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">her</a> for å laste ned hele manualen i en enkeltfil som kan leses i dette vinduet."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1339,6 +1387,14 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Spor"
@@ -1455,21 +1511,13 @@ msgstr "
 msgid "&File"
 msgstr "&Fil"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Ny\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Åpne...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Lukk\tCtrl+W"
+msgid "&Close"
+msgstr "&Lukk"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "Lagre &prosjekt\tCtrl+S"
+msgid "&Save Project"
+msgstr "Lagre &prosjekt"
 
 #: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
@@ -1477,7 +1525,7 @@ msgstr "Lagre prosjekt &som..."
 
 #: Menus.cpp:212
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Lagre komprimert kopi av prosjekt..."
 
 #: Menus.cpp:181
 msgid "Chec&k Dependencies..."
@@ -1492,8 +1540,8 @@ msgid "&Import"
 msgstr "&Importer"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Lyd...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Lyd..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1521,11 +1569,11 @@ msgstr "Eksporter &flere filer..."
 
 #: Menus.cpp:257
 msgid "Export MIDI..."
-msgstr ""
+msgstr "Eksporter MIDI..."
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "&CleanSpeech-kjede..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "&Anvend kjede... "
 
 #: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
@@ -1539,10 +1587,6 @@ msgstr "&Eksporter CleanSpeech-innstillinger..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "I&mporter CleanSpeech-innstillinger..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "&Anvend kjede... "
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "Last &opp fil..."
@@ -1556,161 +1600,146 @@ msgid "&Print..."
 msgstr "Skriv &ut..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "A&vslutt\tCtrl+Q"
+msgid "E&xit"
+msgstr "A&vslutt"
 
 #: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Rediger"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Angre\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Angre"
 
 #: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Gjør om"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "Klipp &ut\tCtrl+X"
+msgid "Cu&t"
+msgstr "Klipp &ut"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Kløyv og klipp u&t\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Kløyv og klipp u&t"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopier\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopier"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "&Lim inn\tCtrl+V"
+msgid "&Paste"
+msgstr "&Lim inn"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Beskj&ær\tCtrl+T"
+msgid "Tri&m"
+msgstr "Beskj&ær"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Slett\tCtrl+K"
+msgid "&Delete"
+msgstr "&Slett"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Kløy&v og slett\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Kløy&v og slett"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+msgid "Silence Audi&o"
+msgstr "Demp l&yd"
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "Kl&øyv\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Kl&øyv"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Kløyv n&y\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Kløyv n&y"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "Sammen&føy\tCtrl+J"
+msgid "&Join"
+msgstr "Sammen&føy"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+msgid "Detac&h at Silences"
+msgstr "Adsk&ill ved stillhet"
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Du&pliser\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Du&pliser"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "&Stereospor til mono"
 
 #: Menus.cpp:407
 msgid "La&beled Regions"
-msgstr ""
+msgstr "Kommenterte re&gioner"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Klipp ut\tAlt+X"
+msgid "&Cut"
+msgstr "&Klipp ut"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Kløyv og klipp u&t\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "Kløyv og klipp u&t"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ko&pier\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "S&lett\tAlt+K"
+msgid "Co&py"
+msgstr "Ko&pier"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Kløy&v og slett\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Kløy&v og slett"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Still&het\tAlt+L"
+msgid "Sile&nce"
+msgstr "Still&het"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Kl&øyv\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "Sammen&føy\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Kl&øyv"
 
 #: Menus.cpp:456
 msgid "&Select"
-msgstr ""
+msgstr "&Velg"
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "&Alt\tCtrl+A"
+msgid "&All"
+msgstr "&Alt"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Ingenting\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Ingenting"
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "&Venstregrense til gitt avspillingsposisjon\t["
+msgid "&Left at Playback Position"
+msgstr "&Venstregrense til gitt avspillingsposisjon"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "&Høyregrense til gitt avspillingsposisjon\t]"
+msgid "&Right at Playback Position"
+msgstr "&Høyregrense til gitt avspillingsposisjon"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr "Fra &start til markør"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr "Fra &markør til slutt"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Finn &nullpunkt\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Finn &nullpunkt"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
-msgstr ""
+msgstr "Fl&ytt markør"
 
 #: Menus.cpp:437
 msgid "to Selection Star&t"
@@ -1721,11 +1750,11 @@ msgid "to Selection En&d"
 msgstr "til s&lutt av markering"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr "til sta&rt av spor"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr "til sl&utt av spor"
 
 #: Menus.cpp:450
@@ -1738,7 +1767,7 @@ msgstr "Gjen&opprett markering"
 
 #: Menus.cpp:503
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Avspill &region"
 
 #: Menus.cpp:463
 msgid "&Lock"
@@ -1748,66 +1777,45 @@ msgstr "&L
 msgid "&Unlock"
 msgstr "Lås &opp"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Slå Smett-på-plass på"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Slå Smett-på-plass av"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Slå Smett-til-Gitter på"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Slå Smett-til-Gitter av"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
+msgid "Pre&ferences..."
+msgstr "&Innstillinger..."
 
 #: Menus.cpp:492
 msgid "&View"
 msgstr "&Vis"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoom &inn\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Zoom &inn"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normalt\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normalt"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zoom &ut\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Zoom &ut"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Tilpass vindu\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Tilpass vindu"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Tilpass &loddrett\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Tilpass &loddrett"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom til markering\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zoom til markering"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Skjul alle spor\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Skjul alle spor"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Vis alle spor\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "&Vis alle spor"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1819,7 +1827,7 @@ msgstr "&Historie..."
 
 #: Menus.cpp:566
 msgid "&Toolbars"
-msgstr ""
+msgstr "Verkt&øylinjer"
 
 #: Menus.cpp:526
 msgid "&Control Toolbar"
@@ -1868,56 +1876,58 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+msgid "Play"
+msgstr "Spill av"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgid "&Loop Play"
+msgstr "&Spill av i løkke"
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr ""
+msgid "&Pause"
+msgstr "&Pause"
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+msgid "&Stop"
+msgstr "&Stopp"
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Gå til begynnelse\tHome"
+msgid "Skip to Start"
+msgstr "Gå til begynnelse"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Gå til slutt\tEnd"
+msgid "Skip to End"
+msgstr "Gå til slutt"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
-msgstr ""
+msgid "&Record"
+msgstr "&Ta opp"
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr ""
+msgid "&Timer Record..."
+msgstr "Ned&tellingsopptak..."
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr ""
+msgid "Append Record"
+msgstr "Spill inn etter"
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Overdub (av/på)"
 
 #: Menus.cpp:609
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Spill gjennom med programvare (av/på)"
 
 #: Menus.cpp:612
+#, fuzzy
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Lydaktivert opptak (av/på)"
 
 #: Menus.cpp:614
+#, fuzzy
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Lydaktiveringsnivå..."
 
 #: Menus.cpp:545
 msgid "&Tracks"
@@ -1925,11 +1935,11 @@ msgstr "&Spor"
 
 #: Menus.cpp:629
 msgid "Add &New"
-msgstr ""
+msgstr "Legg til &nytt"
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Lydspor\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Lydspor"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
@@ -1944,8 +1954,8 @@ msgid "Mi&x and Render"
 msgstr "&Miks og rendre"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Miks og rendre til nytt spor\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Miks og rendre til nytt spor"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -1956,12 +1966,12 @@ msgid "Remo&ve Tracks"
 msgstr "&Fjern spor"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Demp alle spor\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "&Demp alle spor"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Udemp alle spor\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "&Udemp alle spor"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -1997,39 +2007,40 @@ msgstr "Koordiner s&por sammen"
 
 #: Menus.cpp:681
 msgid "&Align Tracks"
-msgstr ""
+msgstr "K&oordiner spor"
 
 #: Menus.cpp:690
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "&Koordiner og flytt markør"
 
 #: Menus.cpp:697
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "Synkroniser MIDI med lyd"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr ""
+#: Menus.cpp:686
+#, fuzzy
+msgid "&Link Audio and Label Tracks"
+msgstr "Sammenkople lyd- og kommentarspor"
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "&Legg til kommentar ved markering\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Legg til kommentar ved a&vspillingsmarkering\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Legg til kommentar ved a&vspillingsmarkering"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
-msgstr ""
+msgstr "&Sorter spor"
 
 #: Menus.cpp:717
 msgid "by &Start time"
-msgstr ""
+msgstr "etter &starttidspunkt"
 
 #: Menus.cpp:719
 msgid "by &Name"
-msgstr ""
+msgstr "etter &navn"
 
 #: Menus.cpp:643
 msgid "&Generate"
@@ -2037,20 +2048,20 @@ msgstr "&Lag"
 
 #: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
 msgid "Unsorted"
-msgstr ""
+msgstr "Usortert"
 
 #: Menus.cpp:666
 msgid "Effe&ct"
 msgstr "&Effekt"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repeter siste effekt\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "&Analyser"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "Plott spektrum..."
@@ -2067,17 +2078,17 @@ msgstr "&Om Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "Vi&s velkomstmelding..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "Ho&vedmeny..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
-msgstr ""
+msgstr "Vis &logg..."
 
 #: Menus.cpp:756
 msgid "&Screenshot Tools..."
-msgstr "&Skjermbildeverktøy..."
+msgstr "Skjerm&bildeverktøy..."
 
 #: Menus.cpp:759
 msgid "&Run Benchmark..."
@@ -2085,185 +2096,153 @@ msgstr "&Kj
 
 #: Menus.cpp:761
 msgid "&Audio Device Info..."
-msgstr "&Lydenhetsinformasjon..."
+msgstr "L&ydenhetsinformasjon..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Markeringsverktøy\tF1"
+msgid "Selection Tool"
+msgstr "Markeringsverktøy"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Omhyllingskurveverktøy\tF2"
+msgid "Envelope Tool"
+msgstr "Omhyllingskurveverktøy"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Tegneverktøy\tF3"
+msgid "Draw Tool"
+msgstr "Tegneverktøy"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Zoomverktøy\tF4"
+msgid "Zoom Tool"
+msgstr "Zoomverktøy"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Tidsforskyvningsverktøy\tF5"
+msgid "Time Shift Tool"
+msgstr "Tidsforskyvningsverktøy"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Multiverktøy\tF6"
+msgid "Multi Tool"
+msgstr "Multiverktøy"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Neste verktøy\tD"
+msgid "Next Tool"
+msgstr "Neste verktøy"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Forrige verktøy\tA"
+msgid "Previous Tool"
+msgstr "Forrige verktøy"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Stopp\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Pause\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Spill inn\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "Spill inn etter\tShift+R"
+msgid "Play/Stop"
+msgstr "Spill/Stopp"
 
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Spill/stopp og plasser markør\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Spill/stopp og plasser markør"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Spill ett sekund\t1"
+msgid "Play One Second"
+msgstr "Spill ett sekund"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Spill til markering\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Spill i løkke\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Spill til markering"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Forhåndsvis utklipping\tC"
+msgid "Play Cut Preview"
+msgstr "Forhåndsvis utklipping"
 
 # "Home" something else on Norwegian keyboards?
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Markering til start\tShift+Home"
+msgid "Selection to Start"
+msgstr "Markering til start"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Markering til slutt\tShift+End"
+msgid "Selection to End"
+msgstr "Markering til slutt"
 
 # "Tilbakepil", norm?
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Slettetast\tBackspace"
+msgid "DeleteKey"
+msgstr "Slettetast"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Slettetast2\tDelete"
+msgid "DeleteKey2"
+msgstr "Slettetast2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Søk mot venstre en kort periode under avspilling\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Søk mot høyre en kort periode under avspilling\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Søk mot venstre en lang periode under avspilling\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Søk mot høyre en lang periode under avspilling\tShift+Left"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Flytt fokus til forrige spor\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Flytt fokus til forrige spor"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Flytt fokus til forrige spor og endre markering\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Flytt fokus til neste spor\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Flytt fokus til neste spor"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Flytt fokus til neste spor og endre markering\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Fokusert spor av/på\tLinjeskift"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Fokusert spor av/på\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Fokusert spor av/på"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Markør venstre\tLeft"
+msgid "Cursor Left"
+msgstr "Markør venstre"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Markør høyre\tRight"
+msgid "Cursor Right"
+msgstr "Markør høyre"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Markør kort hopp venstre\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Markør kort hopp venstre"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Markør kort hopp høyre\t."
+msgid "Cursor Short Jump Right"
+msgstr "Markør kort hopp høyre"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Markør langt hopp venstre\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Markør langt hopp venstre"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Markør langt hopp høyre\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Markør langt hopp høyre"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Utvid markering mot venstre\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Utvid markering mot venstre"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Utvid markering mot høyre\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Utvid markering mot høyre"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2274,52 +2253,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Velg (eller utvid) høyre markering"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Forminsk markering fra venstre\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Forminsk markering fra venstre"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Forminsk markering fra høyre\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Forminsk markering fra høyre"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Endre panorering på fokusert spor\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Endre panorering på fokusert spor"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Panorer til venstre på fokusert spor\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Panorer til venstre på fokusert spor"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Panorer til høyre på fokusert spor\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Panorer til høyre på fokusert spor"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Endre volum på fokusert spor\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Endre volum på fokusert spor"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Øk volum på fokusert spor\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Øk volum på fokusert spor"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Senk volum på fokusert spor\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Senk volum på fokusert spor"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Åpne meny for fokusert spor\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Åpne meny for fokusert spor"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Demp/ikke demp fokusert spor\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Demp/ikke demp fokusert spor"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Solo/ikke-solo for fokusert spor\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Solo/ikke-solo for fokusert spor"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Lukk fokusert spor\tShift+C"
+msgid "Close focused track"
+msgstr "Lukk fokusert spor"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2330,7 +2309,35 @@ msgid "Snap To Off"
 msgstr "Smett-på-plass av"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr "Fullskjerm av/på"
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2391,8 +2398,8 @@ msgstr "Du m
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repeter %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repeter %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2400,20 +2407,21 @@ msgstr "Det er ingen kommentarspor 
 
 #: Menus.cpp:2608
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "Eksporter MIDI som:"
 
 #: Menus.cpp:2612
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "MIDI-fil (*.mid)|*.mid|Allegro-fil (*.gro)|*.gro"
 
 #: Menus.cpp:2644
 msgid "You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
-msgstr ""
+msgstr "Du har valgt et filnavn med en filendelse som ikke ble gjenkjent.\n"
+"Vil du fortsette?"
 
 #: Menus.cpp:2645
 msgid "Export MIDI"
-msgstr ""
+msgstr "Eksporter MIDI"
 
 #: Menus.cpp:2271
 msgid "Nothing to undo"
@@ -2454,7 +2462,7 @@ msgstr "Limt inn fra utklippstavlen"
 
 #: Menus.cpp:3053
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "Det går ikke an å lime inn mellom ulike typer spor."
 
 #: Menus.cpp:2574
 msgid "Copying stereo audio into a mono track is not allowed."
@@ -2600,15 +2608,6 @@ msgstr "Kl
 msgid "Split at labels"
 msgstr "Del opp ved kommentarer"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "For å tegne spektrumet må alle markerte spor være samme datarate."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "For mye lyd ble markert. Bare de første %.1f sekundene med lyd vil bli analysert."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2624,7 +2623,7 @@ msgstr "Velg en MIDI fil..."
 
 #: Menus.cpp:4147
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "MIDI- og Allegro-filer (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI-filer (*.mid;*.midi)|*.mid;*.midi|Allegro-filer (*.gro)|*.gro|Alle filer (*.*)|*.*"
 
 #: Menus.cpp:3615
 #, c-format
@@ -2716,11 +2715,11 @@ msgstr "Koordiner"
 
 #: Menus.cpp:4550
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "Synkroniser MIDI med lyd"
 
 #: Menus.cpp:4554
 msgid "Alignment completed."
-msgstr ""
+msgstr "Koordinering fullført."
 
 #: Menus.cpp:3950
 msgid "Created new audio track"
@@ -2827,6 +2826,10 @@ msgstr "Det skjedde en feil ved utskrift."
 msgid "Print"
 msgstr "Skriv ut"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "Hovedmiks"
@@ -2840,8 +2843,7 @@ msgstr "Velkommen til Audacity versjon %s"
 msgid "(Recovered)"
 msgstr "(Gjenopprettet)"
 
-# "ta opp"?
-#: Project.cpp:1482 TrackPanel.cpp:804 toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "Spill inn"
 
@@ -2871,9 +2873,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Lagre endringer?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Alle filer|*.*|Alle støttede filer|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2908,6 +2910,17 @@ msgstr "1.0 eller tidligere"
 msgid "Opening old project file"
 msgstr "Åpner gammel prosjektfil"
 
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
 #: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "Feil ved åpning av fil"
@@ -2965,16 +2978,15 @@ msgstr "Denne filen ble lagret vha. Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Kan ikke åpne prosjektfile"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
-"Open this file now?"
-msgstr "Denne filen ble lagret av Audacity %s.\n"
-"Du kan åpne filen med denne versjonen av Audacity, men hvis du lagrer i denne versjonen kan du ikke lenger åpne filen i eldre versjoner.\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"Åpne denne filen nå?"
+"Open this file now?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -2985,22 +2997,37 @@ msgid "Your project is now empty.\n"
 "are open, then File > Save Project.\n"
 "\n"
 "Save anyway?"
-msgstr ""
+msgstr "Prosjektet ditt er nå tomt.\n"
+"Ved lagring vil ikke prosjektet ha noen spor.\n"
+"\n"
+"For å lagre tidligere åpnede spor:\n"
+"Klikk 'Nei', Rediger > Angre helt til alle \n"
+"spor er åpne, så Fil > Lagre prosjekt.\n"
+"\n"
+"Lagre uansett?"
 
 #: Project.cpp:2538
 msgid "Warning empty project"
-msgstr ""
+msgstr "Advarsel: tomt prosjekt"
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
+#, fuzzy
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
-msgstr ""
+"is not writable or the disk is full."
+msgstr "Klarte ikke å lagre prosjektet. Kanskje %s\n"
+"ikke kan skrives til, eller disken er full."
 
 #: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "Feil ved lagring av prosjekt"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3036,7 +3063,13 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "Most other programs can't open Audacity project files.\n"
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
-msgstr ""
+msgstr "Audacitys komprimerte prosjektfiler (.aup) lagrer arbeidet ditt i et mindre, komprimert  format (.ogg).\n"
+"Komprimerte prosjektfiler gjør det lett å sende prosjektet over nettet, siden de tar mye mindre plass.\n"
+"Å åpne et komprimert prosjekt tar mer tid enn vanlig, siden hvert komprimerte spor må importeres.\n"
+"\n"
+"De fleste andre programmer kan ikke åpne Audacity prosjektfiler.\n"
+"Når du vil lagre en fil som kan åpnes med andre programmer, velg en av\n"
+"Eksport-kommandoene."
 
 #: Project.cpp:2897
 msgid "You are saving an Audacity project file (.aup).\n"
@@ -3044,7 +3077,11 @@ msgid "You are saving an Audacity project file (.aup).\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr ""
+msgstr "Du lagrer en Audacity prosjektfil (.aup).\n"
+"\n"
+"Når du lagrer et prosjekt får du en fil som bare Audacity kan åpne.\n"
+"\n"
+"Hvis vil lagre en fil som kan åpnes med andre programmer, velg en av \"Fil > Eksport\"-kommandoene.\n"
 
 #: Project.cpp:2692
 msgid "Audacity projects (*.aup)|*.aup"
@@ -3091,12 +3128,12 @@ msgstr "Tom for diskplass"
 #: Project.cpp:3336
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Importering fullført. Kjører %d bølgeformutregninger etter behov. Totalt %2.0f%% fullført."
 
 #: Project.cpp:3339
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Importering fullført. Kjører en bølgeformutregning etter behov. %2.0f%% fullført."
 
 #: Project.cpp:3342
 msgid "Could not remove old autosave file: "
@@ -3159,6 +3196,163 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit flyttall"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Velg..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "usann"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Verktøy"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Kontroll"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Mikser"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Lydnivå"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Enhet"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transkribering"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "Sporpanel"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "Spor"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Lagret "
@@ -3167,6 +3361,10 @@ msgstr "Lagret "
 msgid "Error trying to save file: "
 msgstr "Feil ved lagring til fil: "
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "Gap funnet i prosjektfilen\n"
@@ -3182,11 +3380,11 @@ msgstr "&Feils
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Lydaktivert opptak"
 
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "Aktiveringsnivå (dB):"
 
 #: SplashDialog.cpp:60
 msgid "&Welcome to Audacity!"
@@ -3226,7 +3424,7 @@ msgstr "Kommentarer"
 
 #: Tags.cpp:777
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Bruk piltastene (eller linjeskift etter redigering) for å navigere gjennom felt."
 
 #: Tags.cpp:802
 msgid "Tag Name"
@@ -3246,11 +3444,11 @@ msgstr "Sjangere"
 
 #: Tags.cpp:826
 msgid "E&dit..."
-msgstr ""
+msgstr "Re&diger..."
 
 #: Tags.cpp:827
 msgid "Rese&t..."
-msgstr ""
+msgstr "Nulls&till..."
 
 #: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
@@ -3293,7 +3491,7 @@ msgstr "Klarte ikke 
 
 #: Tags.cpp:1084
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Last inn metadata som:"
 
 #: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
@@ -3304,6 +3502,10 @@ msgstr "Feil ved innlasting av metadata"
 msgid "Save Metadata As:"
 msgstr "Lagre metadata som:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3392,6 +3594,14 @@ msgstr "Varighet"
 msgid "Audacity Timer Record"
 msgstr "Audacity nedtellingsopptak"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Opptaksstart"
@@ -3402,7 +3612,7 @@ msgstr "Opptaksslutt"
 
 #: TimerRecordDialog.cpp:230
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Framgang for Audacity nedtellingsopptak"
 
 #: SmartRecordDialog.cpp:273
 msgid "Start Date and Time"
@@ -3410,7 +3620,7 @@ msgstr "Startdato og tidspunkt"
 
 #: TimerRecordDialog.cpp:274
 msgid "Start Date"
-msgstr ""
+msgstr "Startdato"
 
 #: SmartRecordDialog.cpp:290
 msgid "End Date and Time"
@@ -3418,7 +3628,7 @@ msgstr "Sluttdato og tidspunkt"
 
 #: TimerRecordDialog.cpp:294
 msgid "End Date"
-msgstr ""
+msgstr "Sluttdato"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
@@ -3428,12 +3638,9 @@ msgid "Waiting to start recording at %s.\n"
 msgstr "Venter på å begynnelse innspilling %s.\n"
 
 #: TimerRecordDialog.cpp:382
+#, fuzzy
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
-
-#: TrackPanel.cpp:464 TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Sporpanel"
+msgstr "Audacity nedtellingsopptak - Venter på å starte"
 
 #: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
@@ -3487,6 +3694,10 @@ msgstr "Lag stereospor"
 msgid "Split Stereo Track"
 msgstr "Del opp stereospor"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "Sett innspillingsformat"
@@ -3689,14 +3900,6 @@ msgstr "Justerte panorering"
 msgid "Adjusted gain"
 msgstr "Justerte sporvolum"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "Kan ikke slette spor med aktiv lyd"
@@ -3731,6 +3934,11 @@ msgstr "Kanal"
 msgid "Split stereo track '%s'"
 msgstr "Del opp stereosporet '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3807,6 +4015,10 @@ msgstr "Skriftnavn"
 msgid "Face size"
 msgstr "Skriftstørrelse"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "Demp"
@@ -3885,10 +4097,10 @@ msgstr "Programtillegg 1 til %i"
 msgid "Plugins %i to %i"
 msgstr "Programtillegg %i til %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Dette gikk ikke. Hva med å markere noe lyd først?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -3913,8 +4125,9 @@ msgstr "Du m
 " [Det går ikke å velge andre typer spor.]"
 
 #: commands/CommandManager.cpp:903
+#, fuzzy
 msgid "Disallowed"
-msgstr ""
+msgstr "Ulovlig"
 
 #: commands/CommandManager.cpp:972
 #, c-format
@@ -4276,7 +4489,6 @@ msgid "Changing Tempo"
 msgstr "Endrer tempo"
 
 #: effects/ClickRemoval.cpp:314
-#, fuzzy
 msgid "Click Removal"
 msgstr "Klikkfjerning"
 
@@ -4290,7 +4502,7 @@ msgstr "Velg terskel (lavere er mer 
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Velg terskel"
 
 #: effects/ClickRemoval.cpp:362
 msgid "Max spike width (higher is more sensitive):"
@@ -4298,7 +4510,7 @@ msgstr "Breieste spike (h
 
 #: effects/ClickRemoval.cpp:363
 msgid "Max spike width"
-msgstr ""
+msgstr "Breieste spike"
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
@@ -4314,83 +4526,78 @@ msgstr "Dynamisk omr
 
 #: effects/Compressor.cpp:498
 msgid "Threshold"
-msgstr ""
+msgstr "Terskel"
 
 #: effects/Compressor.cpp:502
 msgid "Ratio:"
-msgstr ""
+msgstr "Forhold:"
 
 #: effects/Compressor.cpp:506
 msgid "Ratio"
-msgstr ""
+msgstr "Forhold"
 
 #: effects/Compressor.cpp:510
-#, fuzzy
 msgid "Attack Time:"
 msgstr "Reaksjonstid: "
 
 #: effects/Compressor.cpp:514
 msgid "Attack Time"
-msgstr ""
+msgstr "Reaksjonstid"
 
 #: effects/Compressor.cpp:518
-#, fuzzy
 msgid "Decay Time:"
 msgstr "Falltid: "
 
 #: effects/Compressor.cpp:522
 msgid "Decay Time"
-msgstr ""
+msgstr "Falltid"
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Normaliser til 0dB etter komprimering"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
 msgstr "Terskel: %d dB"
 
 #: effects/Compressor.cpp:564
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
 #: effects/Compressor.cpp:567
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "Forhold: %.0f til 1"
 
 #: effects/Compressor.cpp:568
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
 #: effects/Compressor.cpp:571
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "Forhold: %.1f til 1"
 
 #: effects/Compressor.cpp:572
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
 #: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Reaksjonstid: %.1f sek"
 
 #: effects/Compressor.cpp:576 effects/Compressor.cpp:579
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f sek"
 
 #: effects/Compressor.cpp:578
 #, c-format
-#, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Falltid: %.1f sek"
 
@@ -4402,6 +4609,10 @@ msgstr "Komprimering..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Anvender Dynamisk områdekomprimering"
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4421,19 +4632,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4467,6 +4665,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4511,16 +4714,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Kontroll"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4631,18 +4826,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "DTMF-tonegenerator"
@@ -4771,6 +4954,10 @@ msgstr "Feil ved lasting av EQ-kurve"
 msgid "custom"
 msgstr "egendefinert"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -4939,7 +5126,6 @@ msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Støyterskel (Visling/Summing/Bakgrunnsstøy)"
 
 #: effects/Leveller.cpp:238
-#, fuzzy
 msgid "Threshold for Noise:"
 msgstr "Støyterskel:"
 
@@ -4975,10 +5161,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mikser"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5097,7 +5279,7 @@ msgstr ""
 
 #: effects/LoadEffects.cpp:205
 msgid "Time"
-msgstr ""
+msgstr "Tid"
 
 #: effects/LoadEffects.cpp:207
 msgid "Onsets"
@@ -5181,7 +5363,7 @@ msgstr "St
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "Støyreduksjon"
 
 #: effects/NoiseRemoval.cpp:848
 msgid "Frequency smoothing (Hz):"
@@ -5197,7 +5379,7 @@ msgstr "Reaksjonstid / falltid (sekunder):"
 
 #: effects/NoiseRemoval.cpp:868
 msgid "Attach/decay time"
-msgstr ""
+msgstr "Reaksjonstid / falltid"
 
 #: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
@@ -5218,10 +5400,6 @@ msgstr "Fjerner st
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Anvendt effekt: %s fjern dc startposisjon = %s, normaliser amplitude = %s"
 
-#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
-msgid "false"
-msgstr "usann"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74 effects/Normalize.cpp:75
@@ -5357,13 +5535,12 @@ msgid "Repeat"
 msgstr "Repeter"
 
 #: effects/Repeat.cpp:212
-#, fuzzy
 msgid "Number of times to repeat:"
 msgstr "Antall ganger å repetere:"
 
 #: effects/Repeat.cpp:221
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Ny lengde på markering: tt:mm:ss"
 
 #: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
@@ -5448,47 +5625,47 @@ msgstr "Anvender Stereo til mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Tidsskalering"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Glidende tidsskalering/toneskifte"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "vha. SBSMS, av Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Innledende endring i tempo (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Endelig endring i tempo (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Innledende endring i tempo (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Endelig endring i tempo (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Innledende endring i tonehøyde (halvtoner) [-12 til 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Endelig endring i tonehøyde (halvtoner) [-12 til 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Glidende tidsskalering/toneskifte"
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Endrer tempo/tonehøyde"
 
 #: effects/ToneGen.cpp:66
 #, c-format
@@ -5536,20 +5713,24 @@ msgid "Waveform:"
 msgstr "Bølgeform:"
 
 #: effects/ToneGen.cpp:358
+#, fuzzy
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Frekvens hertz start"
 
 #: effects/ToneGen.cpp:359
+#, fuzzy
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Frekvens hertz slutt"
 
 #: effects/ToneGen.cpp:360
+#, fuzzy
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Amplitude start"
 
 #: effects/ToneGen.cpp:361
+#, fuzzy
 msgid "Amplitude End"
-msgstr ""
+msgstr "Amplitude slutt"
 
 #: effects/ToneGen.cpp:372
 msgid "Interpolation:"
@@ -5579,22 +5760,39 @@ msgstr "Alle spor m
 msgid "Truncate Silence"
 msgstr "Fjern stillhet"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Maksimal lengde på stillhet:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
 
 #: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "millisekunder"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Maksimal lengde på stillhet:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Stillhetsterskel:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Varighet må være minst 1 millisekund"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5604,17 +5802,55 @@ msgstr "Fjern stillhet..."
 msgid "Truncating Silence..."
 msgstr "Fjerner stillhet..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Beklager, VST-effekter kan ikke utføres på stereospor hvor de enkelte kanalene ikke passer sammen."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Effektinnstillinger"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Ingen"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Kan ikke utføre erstatning"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "VST-programtillegg, parametere:"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5663,19 +5899,10 @@ msgstr "Utf
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Beklager, tilleggseffekter kan ikke benyttes på stereospor hvor de enkelte sporkanalene ikke passer sammen."
 
-#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Ingen"
-
 #: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Forfatter:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Effektinnstillinger"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Lengde (sekund)"
@@ -5871,9 +6098,21 @@ msgstr "Eksporterer hele prosjektet med kommandolinjeomkoder"
 msgid "Command Output"
 msgstr "Utdata fra kommando"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5941,6 +6180,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Kvalitet:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6074,12 +6317,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Kvalitet:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6098,10 +6337,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6290,12 +6529,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6406,6 +6645,17 @@ msgstr "Bit-dybde:"
 msgid "FLAC Files"
 msgstr "FLAC-filer"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Eksporter den markerte lyden som FLAC"
@@ -6657,10 +6907,6 @@ msgstr "Valg..."
 msgid "Export location:"
 msgstr "Eksporter til:"
 
-#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Velg..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "Opprett"
@@ -6685,10 +6931,6 @@ msgstr "F
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Spor"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "Gi navn til filer:"
@@ -6722,6 +6964,35 @@ msgstr "\"%s\" opprettet."
 msgid "Choose a location to save the exported files"
 msgstr "Velg en plassering for å lagre eksporterte filer"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6735,16 +7006,6 @@ msgstr "\"%s\" eksisterer ikke.\n"
 msgid "Edit metadata"
 msgstr "Rediger metadata"
 
-#: export/ExportMultiple.cpp:595 export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Eksporterte %d fil(er)."
-
-#: export/ExportMultiple.cpp:596 export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Noe gikk galt ved eksportering av %d fil(er)."
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -6914,16 +7175,16 @@ msgstr "\"%s\" er en Advanced Audio Coding-fil. \n"
 
 #: import/Import.cpp:271
 #, c-format
-#, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr "\"%s\" er en kryptert lydfil. Disse er ofte fra musikkbutikker på nettet. \n"
+msgstr "\"%s\" er en kryptert lydfil. \n"
+"Disse kommer ofte fra musikkbutikker på nettet. \n"
 "Audacity kan ikke åpne denne filtypen grunnet krypteringen. \n"
 "Prøv å spille inn filen til Audacity, eller brenn den til en lyd-CD, \n"
-"for så å trekke ut CD-sporet til et støttet filformat, f.eks. WAV eller AIFF."
+"for så å trekke ut (rippe) CD-sporet til et støttet filformat, f.eks. WAV eller AIFF."
 
 #: import/Import.cpp:194
 #, c-format
@@ -6987,33 +7248,41 @@ msgstr "\"%s\" er en Ogg Speex-lydfil.\n"
 msgid "\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
-msgstr ""
+msgstr "\"%s\" er en videofil.\n"
+"Audacity kan foreløpig ikke åpne denne filtypen.\n"
+"Du må trekke ut lyden til et støttet format, som WAV eller AIFF."
 
 #: import/Import.cpp:317
 #, c-format
 msgid "Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
-msgstr ""
+msgstr "Audacity gjenkjente ikke filtypen til filen '%s'.\n"
+"Hvis den er ukomprimert kan du prøve å importere vha. «Importer rå»."
 
 #: import/Import.cpp:322
 #, c-format
 msgid "Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
-msgstr ""
+msgstr "Audacity gjenkjente filtypen til filen '%s',\n"
+"men klarte ikke å importere den."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "FFmpeg-kompatible filer"
 
 #: import/ImportFFmpeg.cpp:431
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Indeks[%02x] Kodek[%S], Språk[%S], Bitrate[%S], Kanaler[%d], Varighet[%d]"
 
 #: import/ImportFLAC.cpp:35
 msgid "FLAC files"
 msgstr "FLAC-filer"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Liste av Filer i rent tekstformat"
@@ -7049,16 +7318,16 @@ msgstr "Sporet har feil startposisjon i LOF-filen"
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": For kort filnavn."
 
 #: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "Klarte ikke å åpne fil "
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Feil filtype."
 
 #: import/ImportOGG.cpp:36
 msgid "Ogg Vorbis files"
@@ -7091,7 +7360,7 @@ msgstr "WAV, AIFF og andre ukomprimerte filtyper"
 #: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "Importerer %s"
 
 #: import/ImportQT.cpp:21
 msgid "QuickTime files"
@@ -7099,7 +7368,7 @@ msgstr "QuickTime-filer"
 
 #: import/ImportRaw.cpp:205
 msgid "Import Raw"
-msgstr ""
+msgstr "Importer rå"
 
 #: import/ImportRaw.cpp:278
 msgid "Import Raw Data"
@@ -7154,11 +7423,11 @@ msgstr "%d kanaler"
 
 #: import/ImportRaw.cpp:369
 msgid "Byte order:"
-msgstr ""
+msgstr "Byte-rekkefølge:"
 
 #: import/ImportRaw.cpp:372
 msgid "Channels:"
-msgstr ""
+msgstr "Kanaler:"
 
 #: import/ImportRaw.cpp:386
 msgid "Start offset:"
@@ -7174,46 +7443,52 @@ msgstr "Datapunktrate:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Importering fullført. Beregner bølgeform"
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "Avkoder bølgeform"
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% fullført. Klikk for å endre oppgavefokus."
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Lyd-I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Satsvis"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Oppførsler"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "&Ikke anvend effekter i satsvis modus"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Avspilling"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "&CleanSpeech-modus (tilpasset brukergrensesnitt)"
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Enhet"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Grensesnitt"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Bruker:"
 
-#: prefs/AudioIOPrefs.cpp:123
-#, fuzzy
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Avspilling"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7223,93 +7498,13 @@ msgstr "Opptak"
 msgid "Channels"
 msgstr "Kanaler"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Spill gjennom"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Spill gjennom med &maskinvare: Spill av nytt spor under innspilling"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Spill gjennom med &programvare: Spill av nytt spor under innspilling"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Effektforhåndsvisning"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Lengde på forhåndsvisning:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Forhåndsvisning av utklipping"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Forhåndsvis før utklippsregion:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Forhåndsvis etter utklippsregion:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latens"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Lyd til buffer:\n"
-"(høyere = mer latens)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Latenskorreksjon:\n"
-"(negativ = baklengs)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Søketid under avspilling"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Kort periode:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Lang periode:"
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Satsvis"
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Oppførsler"
-
-#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "&Ikke anvend effekter i satsvis modus"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "&CleanSpeech-modus (tilpasset brukergrensesnitt)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
 #: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
@@ -7328,34 +7523,31 @@ msgstr "Plassering:"
 msgid "Free Space:"
 msgstr "Ledig plass:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Autolagre"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Autolagre en kopi av prosjektet i en egen mappe"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Intervall for autolagring:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minutter"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Lydmellomlager"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Velg en plassering for den midlertidige mappen"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7374,50 +7566,106 @@ msgstr "Mappen %s er ikke skrivbar"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Endringer til den midlertidige mappen trer først i kraft når Audacity startes på nytt"
 
-#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Importer / Eksporter"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "I nettleser"
 
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Bibliotek for MP3-eksport"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Fra nettet"
 
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "MP3-bibliotek versjon:"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "MP3-bibliotek:"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3-bibliotek:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "Last ne&d"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (smalt område for redigering av høy amplitude)"
+
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM-område for 8 bit datapunkter)"
+
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM-område for 10 bit datapunkter)"
+
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM-område for 16 bit datapunkter)"
+
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (omtrentlig grense for menneskets hørsel)"
+
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM-område for 24 bits datapunkter)"
+
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Visning"
+
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr "Er&gonomisk rekkefølge på lyd I/O-knapper"
+
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "Hjelp:"
+
+#: prefs/GUIPrefs.cpp:96
 #, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Merk: Du kan endre innstillingene for eksportkvalitet ved å klikke Valg-knappen i eksport-dialogen.\n"
+msgid "Cl&osing last window quits Audacity"
+msgstr "Avslutt Audacity ved lukking av siste vindu"
+
+#: prefs/GUIPrefs.cpp:110
+msgid "&Beep on completion of longer activities"
+msgstr "&Lydsignal ved fullføring av større oppgaver"
+
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
+msgstr "Modi"
+
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
+msgstr "I&kke anvend effekter i satsvis modus"
+
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "Importer / Eksporter"
 
 #: prefs/FileFormatPrefs.cpp:100
 msgid "When importing audio files"
@@ -7435,22 +7683,6 @@ msgstr "&Les ukomprimerte lydfiler direkte fra originalen (raskere)"
 msgid "&Normalize all tracks in project"
 msgstr "&Normaliser alle spor i prosjektet"
 
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "Ved lagring av prosjekter som avhenger av andre lydfiler"
-
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "Alltid &kopier all lyd inn i prosjektet (tryggest)"
-
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&Ikke kopier noe lyd"
-
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "&Spør bruker"
-
 #: prefs/FileFormatPrefs.cpp:120
 msgid "When exporting tracks to an audio file"
 msgstr "Ved eksportering av spor til en lydfil"
@@ -7467,146 +7699,22 @@ msgstr "&Bruk en egendefinert miks (f.eks. for 
 msgid "S&how Metadata Editor prior to export step"
 msgstr "&Vis metadata-redigering før eksport-trinnet"
 
-#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Grensesnitt"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "I nettleser"
-
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Fra nettet"
-
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Enkel"
-
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Oppdater grensesnitt under avspilling"
-
-#: prefs/GUIPrefs.cpp:96
-#, fuzzy
-msgid "Cl&osing last window quits Audacity"
-msgstr "Avslutt Audacity ved lukking av siste vindu"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "&Venstre og høyre markeringskanter kan dras"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-# bedre formulering?
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Vertikalt zoom og tilpass spor automatisk"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "«Flytt sporfokus» &veksler gjennom spor gjentatte ganger"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Redigering av &klipp kan flytte andre klipp"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Marker all lyd i prosjektet, hvis ingenting er markert"
-
-#: prefs/GUIPrefs.cpp:110
-msgid "&Beep on completion of longer activities"
-msgstr "&Lydsignal ved fullføring av større oppgaver"
-
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Vis / Gjem"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Vis utklippslinjer"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Vis advarsler om midler&tidige filer"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Vis velkomstmelding når programmet starter"
-
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
-msgstr "Modi"
-
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Minste rekkevidde for visningene Lydnivåmåler og 'Bølgeform (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (smalt område for redigering av høy amplitude)"
-
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM-område for 8 bit datapunkter)"
-
-#: prefs/GUIPrefs.cpp:143
-#, fuzzy
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "4096"
-
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "4096"
-
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (omtrentlig grense for menneskets hørsel)"
-
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM-område for 24 bits datapunkter)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Standard visningsmodus"
-
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Andre grensesnittvalg"
-
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Hjelp:"
-
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Solo-knapp:"
-
 #: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Tastatur"
 
 #: prefs/KeyConfigPrefs.cpp:86
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Tastaturinstillinger er for tiden utilgjengelige."
 
 #: prefs/KeyConfigPrefs.cpp:87
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Åpne et nytt prosjekt for å endre tastatursnarveiene."
 
 #: prefs/KeyConfigPrefs.cpp:95
 msgid "Key Bindings"
@@ -7624,25 +7732,38 @@ msgstr "Merk: Trykk Cmd+Q for 
 msgid "&Defaults"
 msgstr "Stan&darder"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Tastekombinasjon"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Eksporter tastatur-snarveier som:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Angre"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Feil ved lagring av tastatur-snarveier"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
-msgstr "Velg en XML-fil som inneholder Audacity tastatur-snarveier..."
+msgstr "Velg en XML-fil som inneholder Audacity tastatursnarveier..."
 
 #: prefs/KeyConfigPrefs.cpp:213
 msgid "Error loading keyboard shortcuts"
-msgstr "Feil ved lasting av tastatur-snarveier"
+msgstr "Feil ved lasting av tastatursnarveier"
+
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Eksporter tastatursnarveier som:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Feil ved lagring av tastatursnarveier"
 
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
@@ -7653,9 +7774,62 @@ msgstr "Tastatursnarveien '%s' er allerede tilegnet:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Angre"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "Bibliotek for MP3-eksport"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "MP3-bibliotek versjon:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "MP3-bibliotek:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr "&Finn..."
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3-bibliotek:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "Last ne&d"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg import/eksportbibliotek"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg-bibliotekversjon:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "FFmpeg-bibliotek:"
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Lyd-I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+#, fuzzy
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Spill gjennom"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7663,35 +7837,55 @@ msgstr "S&pill andre spor samtidig med innspilling av nytt"
 
 #: prefs/MidiIOPrefs.cpp:149
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "Spill gjennom med &maskinvare (Spill av nytt spor under innspilling)"
 
 #: prefs/MidiIOPrefs.cpp:152
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "Spill gjennom med &programvare (Spill av nytt spor under innspilling)"
+
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Forhåndsvisning av utklipping"
 
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
-msgstr ""
+msgstr "Spill før utklippsregionen:"
 
 #: prefs/MidiIOPrefs.cpp:162
 msgid "Play after cut region:"
-msgstr ""
+msgstr "Spill etter utklippsregionen:"
+
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Latens"
 
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "Lyd til buffer:"
 
 #: prefs/MidiIOPrefs.cpp:176
 msgid "Latency correction:"
-msgstr ""
+msgstr "Latenskorreksjon:"
 
 #: prefs/MidiIOPrefs.cpp:183
 msgid "Seek Time"
-msgstr ""
+msgstr "Søketid"
+
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Kort periode:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "Lang periode:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Effektforhåndsvisning"
 
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
-msgstr ""
+msgstr "Spill av ved forhåndsvisning:"
 
 #: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
@@ -7903,10 +8097,62 @@ msgstr "Ctrl-hjul-roter"
 msgid "Zoom in or out"
 msgstr "Zoom inn eller ut"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Lengde på forhåndsvisning:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Forhåndsvis før utklippsregion:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Forhåndsvis etter utklippsregion:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Søketid under avspilling"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Audacity innstillinger"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "Ved lagring av prosjekter som avhenger av andre lydfiler"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "Alltid &kopier all lyd inn i prosjektet (tryggest)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "&Ikke kopier noe lyd"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "&Spør bruker"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Autolagre"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Autolagre en kopi av prosjektet i en egen mappe"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Intervall for autolagring:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minutter"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Rektangel"
@@ -7931,70 +8177,107 @@ msgstr "Standard datarate:"
 msgid "Default Sample Format:"
 msgstr "Standard datapunktformat:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Sanntidskonverterer for datapunktrate:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Høykvalitets dataratekonvertering:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Sanntidsdither:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Høykvalitetsdither:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Konvertering"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Dataratekonverterer"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Dither"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Sanntid:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Høykvalitet:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Overdub: S&pill andre spor samtidig med opptak av et nytt ett"
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Spill gjennom med &maskinvare: Spill av nytt spor under innspilling"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "Spill gjennom med &programvare: Spill av nytt spor under innspilling eller overvåking"
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(ikke huk av ved opptak av «stereomiks»)"
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Smartopptak"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Lydaktivert opptak"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Lydaktiveringsnivå (dB):"
 
 #: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Spektrogram"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT-størrelse"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - mest båndbredde"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - standard"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - minst båndbredde"
@@ -8003,8 +8286,17 @@ msgstr "32768 - minst b
 msgid "4096 - most narrowband"
 msgstr "4096 - minst båndbredde"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Vindustype"
 
 #: prefs/SpectrumPrefs.cpp:125
@@ -8012,13 +8304,9 @@ msgstr "Vindustype"
 msgid "FFT Skip Points"
 msgstr "FFT Skip-punkt"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Visning"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Gråskala"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8028,17 +8316,17 @@ msgstr "Minimumsfrekvens (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Maksimal frekvens (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Y-gitter"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Finn noter"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Kvantiser noter"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8048,6 +8336,14 @@ msgstr "Minimumsamplitude (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "Maksimalt antall noter (1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Finn noter"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Kvantiser noter"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "Maksimalfrekvensen må være et heltall"
@@ -8064,18 +8360,70 @@ msgstr "Minimumsfrekvensen m
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Minimumsfrekvensen må være minst 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Minimumsamplituden (dB) må være et heltall"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Maksimumsantallet noter må være et heltall mellom 1 og 128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
 #: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Tema er en eksperimentell funksjon.\n"
+"\n"
+"For å prøve det, klikk \"Lagre tema-\n"
+"mellomlager\", finn så fram og modifiser\n"
+"bildene og fargene i ImageCacheVxx.png\n"
+"vha. et bilderedigeringsprogram, som Gimp.\n"
+"\n"
+"Klikk \"Åpne tema-mellomlager\" for å laste\n"
+"inn de endrede bildene og fargene i Audacity.\n"
+"\n"
+"[Bare kontrollverktøylinjen og fargene på\n"
+"lydbølgesporet blir påvirket foreløpig, selv om\n"
+"bildefilen viser andre ikon også.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8106,96 +8454,96 @@ msgstr "Lagre filer"
 msgid "Load Files"
 msgstr "Åpne filer"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Enkel"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Tema er en eksperimentell funksjon.\n"
-"\n"
-"For å prøve det, klikk \"Lagre tema-\n"
-"mellomlager\", finn så fram og modifiser\n"
-"bildene og fargene i ImageCacheVxx.png\n"
-"vha. et bilderedigeringsprogram, som Gimp.\n"
-"\n"
-"Klikk \"Åpne tema-mellomlager\" for å laste\n"
-"inn de endrede bildene og fargene i Audacity.\n"
-"\n"
-"[Bare kontrollverktøylinjen og fargene på\n"
-"lydbølgesporet blir påvirket foreløpig, selv om\n"
-"bildefilen viser andre ikon også.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Du har kompilert Audacity med en ekstra knapp, \n"
-"'Output Sourcery'. Dette vil lagre en C-versjon av\n"
-"bildemellomlageret som kan kompileres inn som standard.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Hvis 'Åpne tema-mellomlager ved oppstart' er huket av, så \n"
-"vil tema-mellomlageret lastes inn når programmet starter\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Oppdater grensesnitt under avspilling"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Lagring og åpning av individuelle temafiler bruker\n"
-"en adskilt fil for hvert bilde, men er ellers likt.\n"
-"\n"
+# bedre formulering?
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Vertikalt &zoom og tilpass spor automatisk"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pause"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Standard visningsmodus"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Spill av"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "&Marker all lyd i prosjektet, hvis ingenting er markert"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "Vis utklippslinjer"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "&Venstre og høyre markeringskanter kan dras"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "«&Flytt sporfokus» veksler gjennom spor gjentatte ganger"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "Redigering av &klipp kan flytte andre klipp"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "Solo-knapp:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Stopp"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Gå til begynnelse"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Gå til slutt"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "Pause"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "Stopp"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "Spill av (skift for å spille i løkke)"
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr "Ta opp (skift for å føye til opptaket på slutten)"
+
 #: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "Feil ved åpning av lydenhet."
@@ -8226,7 +8574,7 @@ msgstr "Stillhetsmarkering"
 
 #: toolbars/EditToolBar.cpp:150
 msgid "Link Tracks"
-msgstr ""
+msgstr "Forbind spor"
 
 #: toolbars/EditToolBar.cpp:150
 msgid "Zoom In"
@@ -8236,29 +8584,21 @@ msgstr "Zoom Inn"
 msgid "Zoom Out"
 msgstr "Zoom ut"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Zoom av/på"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Tilpass markering"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Tilpass markering til vindu"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Tilpass prosjekt"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Tilpass prosjekt til vindu"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Lydnivå"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Tilpass markering"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Tilpass prosjekt"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8306,6 +8646,14 @@ msgstr "Glidebryter-input"
 msgid "Input Source"
 msgstr "Input-kilde"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Markering"
@@ -8383,30 +8731,6 @@ msgstr "Venstre=Zoom inn, H
 msgid "Click and drag to move a track in time"
 msgstr "Klikk og dra for å flytte et spor i tid"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Verktøy"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Markeringsverktøy"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Omhyllingskurveverktøy"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Tidsforskyvningsverktøy"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Zoomverktøy"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Tegneverktøy"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Multiverktøysmodus"
@@ -8415,22 +8739,10 @@ msgstr "Multiverkt
 msgid "Slide Tool"
 msgstr "Glidebryter"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multiverktøy"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transkribering"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Spill av med valgt hastighet"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Spill med gitt hastighet"
-
 #: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Avspillingshastighet"
@@ -8439,74 +8751,38 @@ msgstr "Avspillingshastighet"
 msgid "Adjust left selection to next onset"
 msgstr "Juster venstremarkering til neste start"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Venstre-til-start"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Juster høyremarkering til forrige slutt"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Høyre-til-slutt"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "Juster venstremarkering til neste slutt"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Venstre-til-slutt"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "Juster høyremarkering til forrige start"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Høyre-til-start"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Velg en region med lyd rundt markøren"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Velg lyd"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Velg en region med stillhet rundt markøren"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Velg stillhet"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Lag kommentarer automatisk fra ord"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Lag kommentarer"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Legg til kommentar ved markering"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Legg til kommentar"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Kalibrer stemmenøkkel"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Kalibrer"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Juster ømfintlighet"
@@ -8539,6 +8815,46 @@ msgstr "Retningsendringer (h
 msgid "Key type"
 msgstr "Nøkkeltype"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Spill med gitt hastighet"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Venstre-til-start"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Høyre-til-slutt"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Venstre-til-slutt"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Høyre-til-start"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Velg lyd"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Velg stillhet"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Lag kommentarer"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Legg til kommentar"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Kalibrer"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (deaktivert)"
@@ -8651,7 +8967,7 @@ msgstr "Innstillinger..."
 
 #: widgets/Meter.cpp:876
 msgid "Mix Volume"
-msgstr ""
+msgstr "Miksvolum"
 
 #: widgets/Meter.cpp:1078
 msgid "This determines how often the meter is refreshed.\n"
@@ -8677,7 +8993,7 @@ msgstr " Vennligst velg en handling "
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Vennligst velg en handling"
 
 #: widgets/ProgressDialog.cpp:97
 msgid "Elapsed Time:"
@@ -8689,7 +9005,7 @@ msgstr ""
 
 #: widgets/ProgressDialog.cpp:134
 msgid "Cancel"
-msgstr ""
+msgstr "Avbryt"
 
 #: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
@@ -8935,3 +9251,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "Klarte ikke å laste fil: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/nl.po b/locale/nl.po
index 73b164c..8a920bc 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -17,38 +17,37 @@
 # TODO:
 # specify xx options - xx opties kiezen/specificeren
 msgid ""
-msgstr "Project-Id-Version: Audacity 1.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-10-31 15:03+0100\n"
-"PO-Revision-Date: 2008-05-04 08:28+0200\n"
-"Last-Translator: Tino Meinen <a.t.meinen at chello.nl>\n"
+msgstr ""
+"Project-Id-Version: Audacity 1.3\n"
+"Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-06-30 22:14+0100\n"
+"PO-Revision-Date: 2009-07-01 12:28+0100\n"
+"Last-Translator: Thomas De Rocker <thomasderocker at yahoo.com>\n"
 "Language-Team: Dutch <vertaling at vrijschrift.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Dutch\n"
 
-#: ../src/Menus.cpp:526
-msgid "&About Audacity..."
-msgstr "&Over Audacity…"
+#: AboutDialog.cpp:143
+msgid "About Audacity..."
+msgstr "Over Audacity…"
 
-#. i18n-hint: Rather than a literal translation, consider adding the
-#. appropriate suffix or prefix to create a word meaning 'something which
-#. has Audacity'
-#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:111
+#: AboutDialog.cpp:157
 msgid "OK... Audacious!"
 msgstr "OK… Audacieus!"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "Audacity is een vrij programma, geschreven door een team van vrijwillige <a href=\"http://audacity.sourceforge.net/community/developers\">ontwikkelaars</a> van over heel de wereld. We zijn <a href=\"http://sourceforge.net\">SourceForge.net</a> dankbaar voor het hosten van ons project. Audacity is beschikbaar voor Windows 98 en hoger, MacOS X, Linux, en andere Unix-achtige systemen. Voor Mac OS 9 zijn oudere versies van Audacity beschikbaar."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Dit is een beta-versie van het programma. Het kan fouten en onafgewerkte functies bevatten. We zijn afhankelijk van uw feedback: zend a.u.b. bugrapporten en functie-aanvragen naar ons <a href=\"mailto:feedback at audacityteam.org\">feedback</a>-adres. Voor hulp bij het gebruik van Audacity kan u ons <a href=\"http://audacityteam.org/forum/\">Forum</a> bezoeken."
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Dit is een stabiele en voltooide versie van Audacity.  Mocht u onverhoops toch een fout ontdekken, of u heeft een suggestie, dan kan u mailen naar ons <a href=\"mailto:feedback at audacityteam.org\">feedback</a>-adres. Voor hulp bij het gebruik van Audacity kan u ons <a href=\"http://audacityteam.org/forum/\">Forum</a> bezoeken."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -56,115 +55,127 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
+#: AboutDialog.cpp:192
+#: AboutDialog.cpp:194
 msgid "translator_credits"
-msgstr "Nederlandse vertaling door Tino Meinen <a.t.meinen at chello.nl>"
+msgstr "Nederlandse vertaling door Tino Meinen <a.t.meinen at chello.nl>, Thomas De Rocker <thomasderocker at yahoo.com>, Leo Clijsen <Clijsen.Leo at orange.fr>"
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "Een vrije editor voor digitale audio"
 
-#: ../src/AboutDialog.cpp:154
+#: AboutDialog.cpp:211
 msgid "Credits"
 msgstr "Met dank aan"
 
 # team van ontwikkelaars/ontwikkelaarsteam/ontwikkelaars
-#: AboutDialog.cpp:256
+#: AboutDialog.cpp:215
 #, c-format
 msgid "Audacity %s Development Team"
 msgstr "Audacity %s Ontwikkelaars"
 
-#: AboutDialog.cpp:261
+#: AboutDialog.cpp:220
 #, c-format
 msgid "Audacity %s Support Team"
 msgstr "Audacity %s Ondersteuningsteam"
 
-#: AboutDialog.cpp:266
+#: AboutDialog.cpp:225
 msgid "Emeritus Developers"
 msgstr "Ontwikkelaars in ruste"
 
-#: AboutDialog.cpp:271
+#: AboutDialog.cpp:230
 msgid "Other Emeritus Team Members"
 msgstr "Overige teamleden in ruste"
 
-#: AboutDialog.cpp:276
+#: AboutDialog.cpp:235
 msgid "Other Contributors"
 msgstr "Overige bijdragen"
 
-#: AboutDialog.cpp:281
+#: AboutDialog.cpp:240
 msgid "Audacity is based on code from the following projects:"
 msgstr "Audacity maakt gebruik van computercode van de volgende projecten:"
 
 # met name dank aan/speciale dank/bijzondere dank
-#: ../src/AboutDialog.cpp:237
+#: AboutDialog.cpp:245
 msgid "Special thanks:"
 msgstr "Bijzondere dank aan:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>De naam <b>Audacity&reg;</b> is een geregistreerd handelsmerk van Dominic Mazzoni."
 
-#: AboutDialog.cpp:314
+#: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr "Audacity"
 
 # dit is een tabbladtitel
 # het is geen info of het bouwen, maar over het programma
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
+#: AboutDialog.cpp:304
+#: AboutDialog.cpp:317
+#: AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Programma-informatie"
 
 # geactiveerd/ingeschakeld/aan
-#: ../src/effects/AvcCompressor.cpp:652
+#: AboutDialog.cpp:310
+#: effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Ingeschakeld"
 
 # gedeactiveerd/uitgeschakeld/uit
-#: AboutDialog.cpp:148
+#: AboutDialog.cpp:311
 msgid "Disabled"
 msgstr "Uitgeschakeld"
 
-#: AboutDialog.cpp:316
+#: AboutDialog.cpp:321
 msgid "File Format Support"
 msgstr "Bestandsindelingen"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326 AboutDialog.cpp:328
+#: AboutDialog.cpp:331
+#: AboutDialog.cpp:333
 msgid "MP3 Importing"
-msgstr "Mp3-import"
+msgstr "MP3-import"
 
-#: AboutDialog.cpp:335 AboutDialog.cpp:338
+#: AboutDialog.cpp:340
+#: AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ogg Vorbis-import en export"
 
-#: AboutDialog.cpp:342 AboutDialog.cpp:345
+#: AboutDialog.cpp:347
+#: AboutDialog.cpp:350
 msgid "ID3 tag support"
 msgstr "Id3-tag ondersteuning"
 
-#: AboutDialog.cpp:352 AboutDialog.cpp:355
+#: AboutDialog.cpp:357
+#: AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr "FLAC-import en export"
 
-#: AboutDialog.cpp:360 AboutDialog.cpp:363
+#: AboutDialog.cpp:365
+#: AboutDialog.cpp:368
 msgid "MP2 export"
 msgstr "MP2-export"
 
-#: AboutDialog.cpp:368 AboutDialog.cpp:371
+#: AboutDialog.cpp:373
+#: AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr "Import via QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
-#: AboutDialog.cpp:378
+#: AboutDialog.cpp:383
 msgid "Core Libraries"
 msgstr "Basis-bibliotheken"
 
-#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
+#: AboutDialog.cpp:389
 #: AboutDialog.cpp:392
+#: AboutDialog.cpp:395
+#: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr "Samplefequentie omzetten"
 
-#: AboutDialog.cpp:397 AboutDialog.cpp:400
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Geluidsweergave en opname"
 
@@ -172,25 +183,33 @@ msgstr "Geluidsweergave en opname"
 msgid "Features"
 msgstr "Functies"
 
-#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
-#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
-#: AboutDialog.cpp:441 AboutDialog.cpp:444
+#: AboutDialog.cpp:417
+#: AboutDialog.cpp:420
+#: AboutDialog.cpp:425
+#: AboutDialog.cpp:428
+#: AboutDialog.cpp:433
+#: AboutDialog.cpp:436
+#: AboutDialog.cpp:441
+#: AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Plugins"
 
-#: AboutDialog.cpp:449 AboutDialog.cpp:452
+#: AboutDialog.cpp:449
+#: AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Geluidskaart mixer"
 
-#: AboutDialog.cpp:457 AboutDialog.cpp:460
+#: AboutDialog.cpp:457
+#: AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Toonhoogte- en tempowijzigingen"
 
-#: AboutDialog.cpp:204
+#: AboutDialog.cpp:472
 msgid "Program build date: "
 msgstr "Bouwdatum van het programma: "
 
-#: AboutDialog.cpp:475 AboutDialog.cpp:477
+#: AboutDialog.cpp:475
+#: AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Bouwtype:"
 
@@ -205,129 +224,162 @@ msgstr "Aangekondigde versie"
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:482
 msgid "Installation Prefix: "
-msgstr ""
+msgstr "Alvorens te installeren:"
 
-#: AboutDialog.cpp:209
+#: AboutDialog.cpp:486
 msgid "Settings folder: "
 msgstr "Instellingenmap: "
 
-#: AboutDialog.cpp:376
+#: AboutDialog.cpp:501
 msgid "GPL License"
 msgstr "GPL-licentie"
 
-#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
+#: AudacityApp.cpp:677
+#: Project.cpp:2031
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s is reeds geopend in een ander venster."
 
-#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
+#: AudacityApp.cpp:679
+#: Project.cpp:2033
+#: Project.cpp:2153
+#: Project.cpp:2301
+#: Project.cpp:2433
 msgid "Error opening project"
 msgstr "Fout bij openen project"
 
-#: ../src/AudacityApp.cpp:338
+#: AudacityApp.cpp:705
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s bestaat niet en kon niet worden geopend.\n"
+msgstr ""
+"%s bestaat niet en kon niet worden geopend.\n"
 "\n"
 "Het is van de geschiedenislijst verwijderd."
 
-#: ../src/AudacityApp.cpp:367
+#: AudacityApp.cpp:812
 msgid "Master Gain Control"
 msgstr "Hoofdvolumebediening"
 
-#: ../src/AudacityApp.cpp:368
+#: AudacityApp.cpp:813
 msgid "Input Meter"
 msgstr "Ingangsmeter"
 
-#: ../src/AudacityApp.cpp:369
+#: AudacityApp.cpp:814
 msgid "Output Meter"
 msgstr "Uitgangsmeter"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Voorkeuren…\tCtrl+,"
+#: AudacityApp.cpp:973
+#: Menus.cpp:199
+msgid "&New"
+msgstr "&Nieuw"
+
+#: AudacityApp.cpp:974
+#: Menus.cpp:203
+msgid "&Open..."
+msgstr "&Open…"
 
-#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
+#: AudacityApp.cpp:975
+msgid "Open &Recent..."
+msgstr "Open &recent..."
+
+#: AudacityApp.cpp:976
+#: Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&Over Audacity…"
+
+#: AudacityApp.cpp:977
+msgid "&Preferences..."
+msgstr "&Voorkeuren…"
+
+#: AudacityApp.cpp:1068
+#: AudacityApp.cpp:1145
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Gebruik blokgrootte van %ld\n"
 
-#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
+#: AudacityApp.cpp:1090
+#: AudacityApp.cpp:1160
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Onbekende opdrachtregel-optie: %s\n"
 
-#: ../src/AudacityApp.cpp:773
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1314
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity kon geen plek vinden om tijdelijke bestanden op te slaan.\n"
+msgstr ""
+"Audacity kon geen plek vinden om tijdelijke bestanden op te slaan.\n"
 "Selecteer hiervoor een geschikte map in het voorkeuren-dialoogvenster."
 
-#: AudacityApp.cpp:845
+#: AudacityApp.cpp:1320
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
 msgstr "Audacity zal nu worden afgesloten. Start Audacity opnieuw om de nieuwe tijdelijke map te gebruiken."
 
-#: AudacityApp.cpp:877
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1352
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr "Het gelijktijdig in werking hebben van twee versie van Audacity\n"
+msgstr ""
+"Het gelijktijdig in werking hebben van twee versie van Audacity\n"
 "kan leiden tot gegevensverlies of het doen crashen van uw computer.\n"
 "\n"
 
-#: AudacityApp.cpp:884
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1359
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr "Audacity kon de map met tijdelijke bestanden niet in bezit nemen.\n"
+msgstr ""
+"Audacity kon de map met tijdelijke bestanden niet in bezit nemen.\n"
 "Deze map is mogelijk in gebruik bij een andere kopie van Audacity.\n"
 
-#: AudacityApp.cpp:886
+#: AudacityApp.cpp:1361
 msgid "Do you still want to start Audacity?"
 msgstr "Wilt u Audacity toch opstarten?"
 
-#: ../src/AudacityApp.cpp:829
+#: AudacityApp.cpp:1363
 msgid "Error locking temporary folder"
 msgstr "Fout bij vergrendelen van tijdelijke map"
 
-#: AudacityApp.cpp:900
+#: AudacityApp.cpp:1401
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "Er is ontdekt dat er al een kopie van Audacity is opgestart.\n"
 
-#: AudacityApp.cpp:902
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1403
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Om aan meerdere projecten gelijktijdig te werken gebruikt u de\n"
+msgstr ""
+"Om aan meerdere projecten gelijktijdig te werken gebruikt u de\n"
 "menuopdrachten ‘Nieuw’ of ‘Openen’ in het Audacity-programma\n"
 "dat momenteel loopt.\n"
 
-#: ../src/AudacityApp.cpp:846
+#: AudacityApp.cpp:1404
 msgid "Audacity is already running"
 msgstr "Audacity is al opgestart"
 
-#: AudacityApp.cpp:1128
+#: AudacityApp.cpp:1421
 msgid "Command-line options supported:"
 msgstr "Mogelijke opties voor de opdrachtregel:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1131
+#: AudacityApp.cpp:1424
 msgid "\t-help (this message)"
 msgstr "\t-help (deze hulptekst)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1133
+#: AudacityApp.cpp:1426
 msgid "\t-version (display Audacity version)"
 msgstr "\t-version (Toon de versie van Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1137
+#: AudacityApp.cpp:1430
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (diagnosetesten uitvoeren)"
 
@@ -335,83 +387,108 @@ msgstr "\t-test (diagnosetesten uitvoeren)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1142
+#: AudacityApp.cpp:1435
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn  (max blokgrootte in bytes instellen)"
 
-#: AudacityApp.cpp:1143
+#: AudacityApp.cpp:1436
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
 msgstr "Geef daarnaast de naam van een audiobestand of Audacity-project om te openen."
 
-#: ../src/AudacityApp.cpp:1099
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1747
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Audacity projectbestanden (.AUP) zijn momenteel\n"
+msgstr ""
+"Audacity projectbestanden (.AUP) zijn momenteel\n"
 "niet geassocieerd met Audacity. \n"
 "\n"
 "Wilt u ze associëren zodat ze worden geopend bij dubbelklikken?"
 
-#: ../src/AudacityApp.cpp:1100
+#: AudacityApp.cpp:1748
 msgid "Audacity Project Files"
 msgstr "Audacity projectbestanden"
 
-#: AudioIO.cpp:214
+#: AudioIO.cpp:261
 msgid "Could not find any audio devices.\n"
 msgstr "Kon geen enkel audioapparaat ontdekken.\n"
 
-#: ../src/AudioIO.cpp:167
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:262
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "U zult geen audio kunnen opnemen of afspelen.\n"
+msgstr ""
+"U zult geen audio kunnen opnemen of afspelen.\n"
 "\n"
 
-#: ../src/AudioIO.cpp:170
+#: AudioIO.cpp:265
+#: AudioIO.cpp:285
 msgid "Error: "
 msgstr "Fout: "
 
-#: ../src/AudioIO.cpp:173
+#: AudioIO.cpp:268
 msgid "Error Initializing Audio"
 msgstr "Fout bij het initialiseren van Audio"
 
-# tijdsvertraging/geluidsvertraging
-#: AudioIO.cpp:1236
-msgid "Latency problem"
-msgstr "Probleem met tijdsvertraging"
+#: AudioIO.cpp:281
+msgid "There was an error initializing the midi i/o layer.\n"
+msgstr "Er trad een fout op bij het initialiseren van de midi invoer/uitvoer-layer.\n"
+
+#: AudioIO.cpp:282
+msgid ""
+"You will not be able to play midi.\n"
+"\n"
+msgstr ""
+"U zult geen midi kunnen afspelen.\n"
+"\n"
 
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:288
+msgid "Error Initializing Midi"
+msgstr "Fout bij initialiseren van midi"
+
+#: AudioIO.cpp:1300
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "De instelling voor tijdsvertraging veroorzaakt dat de opgenomen audio verborgen is voor het tijdpunt nul.\n"
+msgstr ""
+"De instelling voor tijdsvertraging veroorzaakt dat de opgenomen audio verborgen is voor het tijdpunt nul.\n"
 "Audacity heeft het teruggehaald zodat het bij nul begint.\n"
 "Mogelijk moet u de Tijdverschuiving (<---> of F5) gebruiken om het spoor naar de juiste plaats te slepen."
 
-#: AutoRecovery.cpp:40
+# tijdsvertraging/geluidsvertraging
+#: AudioIO.cpp:1301
+msgid "Latency problem"
+msgstr "Probleem met tijdsvertraging"
+
+#: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatisch herstel na crash"
 
-#: AutoRecovery.cpp:59
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+#: AutoRecovery.cpp:73
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr "Een aantal projecten zijn niet correct opgeslagen tijdens de laatste Audacity-sessie.\n"
+msgstr ""
+"Een aantal projecten zijn niet correct opgeslagen tijdens de laatste Audacity-sessie.\n"
 "Gelukkig kunnen de volgende projecten automatisch worden hersteld:"
 
-#: AutoRecovery.cpp:61
+#: AutoRecovery.cpp:75
 msgid "Recoverable projects"
 msgstr "Herstelbare projecten"
 
-#: AutoRecovery.cpp:64
+#: AutoRecovery.cpp:78
 msgid "Name"
 msgstr "Naam"
 
 # vrij vertaald
-#: AutoRecovery.cpp:70
+#: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
 msgstr "Bij het herstellen van een project zullen de bestanden op de harde schijf pas worden gewijzigd wanneer u het project opslaat."
 
-#: AutoRecovery.cpp:74
+#: AutoRecovery.cpp:88
 msgid "Quit Audacity"
 msgstr "Audacity afsluiten"
 
@@ -424,146 +501,166 @@ msgid "Recover Projects"
 msgstr "Projecten herstellen"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr "Weet u zeker dat u geen projecten wilt herstellen?\n"
+msgstr ""
+"Weet u zeker dat u geen projecten wilt herstellen?\n"
 "Ze kunnen niet later nog hersteld worden."
 
 #: AutoRecovery.cpp:128
 msgid "Confirm?"
 msgstr "Bevestigen?"
 
-#: AutoRecovery.cpp:132 AutoRecovery.cpp:169
+#: AutoRecovery.cpp:146
+#: AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Kon de bestanden in de autosave-map niet nummeren"
 
-#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
+#: AutoRecovery.cpp:147
+#: AutoRecovery.cpp:184
+#: Menus.cpp:3278
+#: Menus.cpp:3290
+#: Menus.cpp:5359
+#: Project.cpp:2260
+#: Project.cpp:3882
+#: Project.cpp:3968
+#: TrackPanel.cpp:6505
+#: WaveTrack.cpp:977
+#: WaveTrack.cpp:996
+#: WaveTrack.cpp:2022
+#: effects/Contrast.cpp:144
+#: effects/Contrast.cpp:154
+#: effects/Effect.cpp:546
+#: export/ExportFFmpeg.cpp:655
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195
+#: prefs/KeyConfigPrefs.cpp:372
+#: toolbars/ControlToolBar.cpp:581
+#: toolbars/ControlToolBar.cpp:916
 msgid "Error"
 msgstr "Fout"
 
 # venstertitel bij het bewerken van een opdracht uit Edit Chains.
-#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
-#: BatchCommandDialog.cpp:61
+#: BatchCommandDialog.cpp:57
+#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "Opdracht selecteren"
 
-#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:451
-#: prefs/KeyConfigPrefs.cpp:140
+#: BatchCommandDialog.cpp:82
 msgid "&Command"
 msgstr "&Opdracht"
 
-#: BatchCommandDialog.cpp:82
+#: BatchCommandDialog.cpp:84
 msgid "&Edit Parameters"
 msgstr "Parameters be&werken"
 
-#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:452
+#: BatchCommandDialog.cpp:91
 msgid "&Parameters"
 msgstr "&Parameters"
 
-#: BatchCommandDialog.cpp:93
+#: BatchCommandDialog.cpp:96
 msgid "C&hoose command"
 msgstr "Opdracht &selecteren"
 
-#: BatchCommands.cpp:477
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr "Het effect ‘stereo naar mono’ is niet gevonden"
 
-#: BatchCommands.cpp:490
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "Er is in deze versie van Audacity geen ondersteuning voor Ogg Vorbis"
 
-#: BatchCommands.cpp:501
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr "Er is in deze versie van Audacity geen ondersteuning voor Flac"
 
-#: BatchCommands.cpp:505
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "Opdracht %s is nog niet geïmplementeerd"
 
-#: BatchCommands.cpp:521
+#: BatchCommands.cpp:507
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
-msgstr "Kon de parameters van effect %s niet instellen\n"
+msgstr ""
+"Kon de parameters van effect %s niet instellen\n"
 "op %s."
 
 # fuzzy: vertaling kan beter
-#: BatchCommands.cpp:575
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "Uw opdrachtenreeks %s werd niet herkend."
 
-#: BatchCommands.cpp:666
+#: BatchCommands.cpp:651
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr "%s toepassen met parameter(s)\n"
+msgstr ""
+"%s toepassen met parameter(s)\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:667 BatchCommands.cpp:672
+#: BatchCommands.cpp:652
+#: BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Testmodus"
 
-#: BatchCommands.cpp:671
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "%s toepassen"
 
 # keten/ketting/opdrachtenreeks/batch/
-#: BatchProcessDialog.cpp:58 BatchProcessDialog.cpp:68
-#: BatchProcessDialog.cpp:69
+#: BatchProcessDialog.cpp:60
+#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Opdrachtenreeks toepassen"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "Instructies voor het gebruik van het batchprogramma"
 
-#: BatchProcessDialog.cpp:92
+#: BatchProcessDialog.cpp:94
 msgid "&Select chain"
 msgstr "Opdrachtenreeks &selecteren"
 
-#: BatchProcessDialog.cpp:97
+#: BatchProcessDialog.cpp:99
 msgid "Chain"
 msgstr "Opdrachtenreeks"
 
-#: BatchProcessDialog.cpp:104
+#: BatchProcessDialog.cpp:106
 msgid "Apply to Current &Project"
 msgstr "Opdrachtenreeks op huidige &project toepassen"
 
-#: BatchProcessDialog.cpp:105
+#: BatchProcessDialog.cpp:107
 msgid "Apply to &Files..."
 msgstr "Toepassen op &bestanden…"
 
-#: BatchProcessDialog.cpp:106 BatchProcessDialog.cpp:245 LabelDialog.cpp:134
-#: LabelDialog.cpp:138 UploadDialog.cpp:178 effects/Amplify.cpp:209
-#: effects/AutoDuck.cpp:528 effects/AutoDuck.cpp:532
-#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:184
-#: effects/ChangePitch.cpp:395 effects/ChangeSpeed.cpp:393
-#: effects/ChangeTempo.cpp:297 effects/ClickRemoval.cpp:429
-#: effects/Compressor.cpp:516 effects/Effect.cpp:387 effects/Effect.cpp:393
-#: effects/Equalization.cpp:1166 effects/Leveller.cpp:266
-#: effects/Normalize.cpp:353 effects/Phaser.cpp:600 effects/Repeat.cpp:271
-#: effects/SpikeCleaner.cpp:188 effects/TruncSilence.cpp:278
-#: effects/VST/VSTEffect.cpp:95 effects/VST/VSTEffect.cpp:452
-#: effects/Wahwah.cpp:587 effects/audiounits/AudioUnitEffect.cpp:862
-#: effects/ladspa/LadspaEffect.cpp:589 effects/nyquist/Nyquist.cpp:823
-#: effects/nyquist/Nyquist.cpp:987 export/Export.cpp:788
-#: export/ExportMultiple.cpp:844 import/ImportRaw.cpp:443
-#: prefs/FileFormatPrefs.cpp:407 prefs/PrefsDialog.cpp:169
+#: BatchProcessDialog.cpp:108
+#: BatchProcessDialog.cpp:245
+#: UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732
+#: effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188
+#: effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
 msgstr "&Annuleren"
 
-#: BatchProcessDialog.cpp:144 BatchProcessDialog.cpp:189
+#: BatchProcessDialog.cpp:146
+#: BatchProcessDialog.cpp:189
 msgid "No chain selected"
 msgstr "Geen opdrachtenreeks geselecteerd"
 
 # statusmelding
-#: BatchProcessDialog.cpp:157
+#: BatchProcessDialog.cpp:159
 #, c-format
 msgid "Applying '%s' to current project"
 msgstr "‘%s’ wordt toegepast op het huidige project"
@@ -572,22 +669,23 @@ msgstr "‘%s’ wordt toegepast op het huidige project"
 msgid "Please save and close the current project first."
 msgstr "Sla eerst het huidige project op en sluit het af."
 
-#: BatchProcessDialog.cpp:206
+# in meervoud gehouden
+#: BatchProcessDialog.cpp:204
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Selecteer stembestand(en) voor batch CleanSpeech Chain…"
 
 # in meervoud gehouden
 #: BatchProcessDialog.cpp:205
 msgid "Select file(s) for batch processing..."
 msgstr "Selecteer de bestand die verwerkt moeten worden…"
 
-#: BatchProcessDialog.cpp:209
+#: BatchProcessDialog.cpp:207
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "geluidsbestanden (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
 
 #: BatchProcessDialog.cpp:208
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
-msgstr "Alle bestanden (*.*)|*.*|Wav-bestanden (*.wav)|*.wav|Aiff-bestanden (*.aif)|*.aif|Au-bestanden (*.au)|*.au|Mp3-bestanden (*.mp3)|*.mp3|Ogg Vorbis-bestanden (*.ogg)|*.ogg|Flac-bestanden (*.flac)|*.flac"
+msgstr "Alle bestanden (*.*)|*.*|Wav-bestanden (*.wav)|*.wav|Aiff-bestanden (*.aif)|*.aif|Au-bestanden (*.au)|*.au|MP3-bestanden (*.mp3)|*.mp3|Ogg Vorbis-bestanden (*.ogg)|*.ogg|Flac-bestanden (*.flac)|*.flac"
 
 #: BatchProcessDialog.cpp:229
 msgid "Applying..."
@@ -597,86 +695,101 @@ msgstr "Toepassen…"
 msgid "File"
 msgstr "Bestand"
 
-#: BatchProcessDialog.cpp:354 BatchProcessDialog.cpp:358
-#: BatchProcessDialog.cpp:359
+#: BatchProcessDialog.cpp:352
+#: BatchProcessDialog.cpp:356
+#: BatchProcessDialog.cpp:357
 msgid "Edit Chains"
 msgstr "Opdrachtenreeksen bewerken"
 
-#: BatchProcessDialog.cpp:414
+#: BatchProcessDialog.cpp:412
 msgid "&Chains"
 msgstr "&Opdrachtenreeksen"
 
-#: BatchProcessDialog.cpp:433
+#: BatchProcessDialog.cpp:431
+#: Tags.cpp:825
 msgid "&Add"
 msgstr "&Toevoegen"
 
-#: BatchProcessDialog.cpp:434 LabelDialog.cpp:126 TrackPanel.cpp:3925
+#: BatchProcessDialog.cpp:432
+#: LabelDialog.cpp:128
+#: Tags.cpp:826
 msgid "&Remove"
 msgstr "&Verwijderen"
 
-#: BatchProcessDialog.cpp:435
+#: BatchProcessDialog.cpp:433
 msgid "Re&name"
 msgstr "&Hernoemen"
 
-#: BatchProcessDialog.cpp:441
+#: BatchProcessDialog.cpp:439
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "O&pdrachtenreeks (dubbelklikken of SPATIE om te bewerken)"
 
-# afkorting voor number: Nr of Numero
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:449
+msgid "Num"
+msgstr "Num"
+
 #: BatchProcessDialog.cpp:450
-msgid "No"
-msgstr "Nr"
+#: commands/CommandManager.cpp:108
+#: prefs/KeyConfigPrefs.cpp:180
+msgid "Command"
+msgstr "Opdracht"
 
-#: BatchProcessDialog.cpp:456
+#: BatchProcessDialog.cpp:451
+#: effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr "Parameters"
+
+#: BatchProcessDialog.cpp:455
 msgid "&Insert"
 msgstr "I&nvoegen"
 
-#: BatchProcessDialog.cpp:457
+#: BatchProcessDialog.cpp:456
 msgid "De&lete"
 msgstr "&Verwijderen"
 
-#: BatchProcessDialog.cpp:458
+#: BatchProcessDialog.cpp:457
 msgid "Move &Up"
 msgstr "Naar &boven"
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:458
 msgid "Move &Down"
 msgstr "Naar B&eneden"
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:459
 msgid "De&faults"
 msgstr "&Standaarden"
 
 # mag dit vertaald worden?
-#: BatchProcessDialog.cpp:504
+#: BatchProcessDialog.cpp:503
 msgid "- END -"
 msgstr "- EINDE -"
 
-#: BatchProcessDialog.cpp:531
+#: BatchProcessDialog.cpp:536
 #, c-format
 msgid "%s changed"
 msgstr "%s is gewijzigd"
 
-#: BatchProcessDialog.cpp:532
+#: BatchProcessDialog.cpp:537
 msgid "Do you want to save the changes?"
 msgstr "Wilt u de wijzigingen opslaan?"
 
-#: BatchProcessDialog.cpp:614
+#: BatchProcessDialog.cpp:619
 msgid "Enter name of new chain"
 msgstr "Geef een naar voor de nieuwe opdrachtenreeks"
 
 # u moet een naam opgeven/u heeft geen naam opgegeven.
 # (het verschijnt als een foutmelding
-#: BatchProcessDialog.cpp:625
+#: BatchProcessDialog.cpp:630
 msgid "Name must not be blank"
 msgstr "U heeft geen naam opgegeven"
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:639
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
 msgstr "Een naam mag geen teken ‘%c’ of ‘%c’ bevatten"
 
-#: BatchProcessDialog.cpp:664
+#: BatchProcessDialog.cpp:669
 #, c-format
 msgid "Are you sure you want to delete %s?"
 msgstr "Weet u zeker dat u %s wilt verwijderen?"
@@ -690,255 +803,286 @@ msgid "Copying audio data into project..."
 msgstr "Audiogegevens worden naar het project gekopieerd…"
 
 # onafhankelijk/zelfomvattend/zelfstandig
-#: Dependencies.cpp:219
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr "Uw project hangt momenteel af van het aanwezig zijn van andere bestanden.\n"
+msgstr ""
+"Uw project hangt momenteel af van het aanwezig zijn van andere bestanden.\n"
 "Wilt u de audio van de volgende bestanden naar uw project kopiëren om het zelfstandig te maken?\n"
 "Dit vereist meer schijfruimte maar is wel veiliger."
 
-#: Dependencies.cpp:266
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "Het project hangt af van andere audiobestanden"
 
-#: Dependencies.cpp:287
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Projectafhankelijkheden"
 
-#: Dependencies.cpp:290
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "Audiobestand"
 
-#: Dependencies.cpp:292
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Schijfruimte"
 
-#: Dependencies.cpp:297
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Geselecteerde audio naar het project kopiëren"
 
-#: Dependencies.cpp:304 Dependencies.cpp:413
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Opslaan annuleren"
 
-#: Dependencies.cpp:306
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "Geen audio kopiëren"
 
-#: Dependencies.cpp:308
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Alle audio naar het project kopiëren (veiliger)"
 
-#: Dependencies.cpp:320 Dependencies.cpp:325
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Vragen"
 
-#: Dependencies.cpp:321
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Altijd alle audio kopiëren (veiligst)"
 
-#: Dependencies.cpp:322
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Nooit audio kopiëren"
 
 # afhankelijk is/afhangt
-#: Dependencies.cpp:324
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Wanneer een project van andere bestanden afhangt:"
 
 # worden opgeslagen/opgeslagen worden
-#: Dependencies.cpp:412
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr "Wanneer u doorgaat zal uw project niet op de schijf worden opgeslagen. Is dat wat u wilt?"
 
 # onafhankelijk/zelfstandig/zelfomschrijvend/zelfbeschrijvend/zelfomvattend
 # er zijn geen externe audiobestanden benodigd-nodig
-#: Dependencies.cpp:452
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "Uw project is zelfstandig; het hangt niet af van externe audiobestanden."
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Afhankelijkheidscontrole"
 
 #: DirManager.cpp:136
-msgid "Warning: there is very little free disk space left on this volume.\n"
-"Please select another temporary directory in your preferences."
-msgstr "Waarschuwing: Er is erg weinig vrije ruimte over op deze partitie. Kies liever een andere tijdelijke map bij ‘Voorkeuren’."
+msgid ""
+"There is very little free disk space left on this volume.\n"
+"Please select another temporary directory in Preferences."
+msgstr ""
+"Er is erg weinig vrije ruimte over op deze partitie.\n"
+"Gelieve een andere tijdelijke map bij ‘Voorkeuren’ te kiezen."
 
-#: ../src/DirManager.cpp:157
+#: DirManager.cpp:221
+#: DirManager.cpp:252
+#: DirManager.cpp:335
 msgid "Progress"
 msgstr "Voortgang"
 
-#: DirManager.cpp:285
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Opruimen van tijdelijek bestanden"
 
-#: DirManager.cpp:333
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Opslaan van projectdatabestanden"
 
 # tijdelije opslagmappen/cache
-#: DirManager.cpp:406
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Opruimen van cachemappen"
 
 # verdwaald/los/vrij/vondeling/zwevend/ongebonden/losgelaten/weesbestand
-#: DirManager.cpp:493
+#: DirManager.cpp:503
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "Audacity heeft een verdwaald blokbestand gevonden %s! \n"
+msgstr ""
+"Audacity heeft een verdwaald blokbestand gevonden %s! \n"
 "U kunt overwegen om het project op te slaan en opnieuw te laden zodat het project volledig wordt nagekeken.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: ../src/DirManager.cpp:627
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-oud%d"
 
-#: DirManager.cpp:993
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr "Kon geen testbestand openen of aanmaken"
 
-#: DirManager.cpp:1002
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "Kon ‘%s’ niet verwijderen"
 
-#: ../src/DirManager.cpp:643
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Bestand hernoemd: %s\n"
 
-#: DirManager.cpp:1051
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "Kon ‘%s’ niet naar ‘%s’ hernoemen"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Gewijzigd blok %s naar nieuw pseudoniem\n"
 
 # vrij vertaald
-#: DirManager.cpp:1115 DirManager.cpp:1403
+#: DirManager.cpp:1247
+#: DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Projectbestanden worden geïnspecteerd…"
 
-#: DirManager.cpp:1128
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Verdwaald blokbestand: (%s)"
 
-#: DirManager.cpp:1153
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "Ontbrekend alias-bestand: (%s)"
 
-#: DirManager.cpp:1173
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "Ontbrekend overzichtbestand: (%s.auf)"
 
-#: DirManager.cpp:1193
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "Ontbrekend databestand: (%s.au)"
 
 # de newlines zijn niet nodig in dit dialoog, regels wordt uitmatisch afgebroken
-#: DirManager.cpp:1207
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1342
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
 msgstr "De projectcontrole heeft inconsistenties aangetroffen tijdens de inspectie van de ingeladen projectdata. Klik op ‘Details’ voor een volledige lijst met de fouten, of op ‘OK’ om door te gaan naar meer opties."
 
 # disk contention niet vertaald (schijfstrijd?)
-#: DirManager.cpp:1219
+#: DirManager.cpp:1354
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr "De projectcontrole heeft %d verdwaalde blokbestanden aangetroffen. Deze bestanden\n"
+msgstr ""
+"De projectcontrole heeft %d verdwaalde blokbestanden aangetroffen. Deze bestanden\n"
 "zijn ongebruikt en zijn waarschijnlijk achtergebleven na een crash of een andere\n"
 "fout. Ze kunnen het beste verwijderd worden."
 
-#: DirManager.cpp:1224
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Verdwaalde bestanden verwijderen [veilig en wordt aangeraden]"
 
 # geruisloos om de extra bestanden heen werken/langs de bestanden gaan
 # eromheen gaan
-#: DirManager.cpp:1225
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Doorgaan zonder te verwijderen; geruisloos eromheen gaan"
 
-#: DirManager.cpp:1226
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Sluit het project onmiddelijk zonder wijzigingen"
 
 #  =venstertitel
-#: ../src/widgets/Warning.cpp:45
+#: DirManager.cpp:1363
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
+#: export/Export.cpp:581
+#: export/Export.cpp:602
+#: export/Export.cpp:621
+#: widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Let op"
 
-#: DirManager.cpp:1254
+#: DirManager.cpp:1389
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "De projectcontrole heeft %d ontbrekende invoerbestanden ontdekt.\n"
+msgstr ""
+"De projectcontrole heeft %d ontbrekende invoerbestanden ontdekt.\n"
 "Audacity heeft geen mogelijkheid deze bestanden automatisch te\n"
 "redden. U kunt kiezen om voor deze bestanden stilte te gebruiken,\n"
 "of tijdelijk stilte te gebruiken alleen voor deze sessie, of het\n"
 "project nu te sluiten en de ontbrekende bestanden handmatig te\n"
 "herstellen."
 
-#: DirManager.cpp:1259
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Ontbrekende data vervangen door stilte [wordt definitief bij opslaan]"
 
-#: DirManager.cpp:1260 DirManager.cpp:1348
+#: DirManager.cpp:1395
+#: DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Tijdelijk ontbrekende data vervangen door stilte [alleen deze sessie]"
 
-#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
+#: DirManager.cpp:1396
+#: DirManager.cpp:1442
+#: DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Project onmiddellijk sluiten zonder verdere wijzigingen"
 
-#: DirManager.cpp:1300
+#: DirManager.cpp:1435
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr "Tijdens de controle zijn er %d ontbrekende overzichtbestand(en) ontdekt (.auf).\n"
+msgstr ""
+"Tijdens de controle zijn er %d ontbrekende overzichtbestand(en) ontdekt (.auf).\n"
 "Audacity kan deze overzichtbestanden volledig regenereren vanuit de\n"
 "oorspronkelijke audiodata van het project."
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Overzichtbestanden opnieuw genereren [veilig en wordt aangeraden]"
 
 # een aanrader/aangeraden
-#: DirManager.cpp:1306
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Ontbrekende data met stilte opvullen [alleen deze sessie]"
 
-#: DirManager.cpp:1342
+#: DirManager.cpp:1477
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr "De projectcontrole heeft %d ontbrekende audio-blokbestanden\n"
+msgstr ""
+"De projectcontrole heeft %d ontbrekende audio-blokbestanden\n"
 "ontdekt (.au). Dit komt waarschijnlijk door een bug, een systeemcrash\n"
 "of omdat de bestanden per ongeluk verwijderd zijn.\n"
 "Audacity heeft geen mogelijkheid deze verloren data automatisch te\n"
@@ -946,157 +1090,180 @@ msgstr "De projectcontrole heeft %d ontbrekende audio-blokbestanden\n"
 "of tijdelijk stilte te gebruiken alleen voor deze sessie, of het\n"
 "project nu te sluiten en de ontbrekende data handmatig te herstellen."
 
-#: DirManager.cpp:1347
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "Ontbrekende data upvullen met stilte [definitief onmiddellijk]"
 
-#: DirManager.cpp:1375
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr "Ongebruikte mappen in project-data worden opgeruimd…"
 
-#: DirManager.cpp:1448
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Audio bufferen"
 
-#: DirManager.cpp:1449
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Audio bufferen naar het geheugen…"
 
 # vrij vertaald
-#: DirManager.cpp:1486
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Opname wordt opgeslagen"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr "Opname wordt op de harde schijf opgeslagen…"
 
-#: ../src/FFT.cpp:364
+#: FFT.cpp:389
 msgid "Rectangular"
 msgstr "Rechthoekig"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "FFmpeg-ondersteuning niet gecompileerd in"
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
+"FFmpeg werd geconfigureerd in Voorkeuren en eerder met succes geladen,                       \n"
+"maar deze keer lukte het Audacity niet om het te laden bij het opstarten.                       \n"
+"\n"
+"U kunt teruggaan naar de Voorkeuren > Bibliotheken en het opnieuw configureren."
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "FFmpeg kon niet opstarten"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "FFmpeg database niet gevonden"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "FFmpeg opzoeken"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity heeft het bestand %s nodig om audio te importeren en exporteren via FFmpeg."
 
-#: export/ExportMP3.cpp:639
+#: FFmpeg.cpp:434
+#: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Locatie van %s:"
 
-#: export/ExportMP3.cpp:648
+#: FFmpeg.cpp:443
+#: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Om %s op te zoeken, klik hier -->"
 
-#: export/ExportMP3.cpp:654
+#: FFmpeg.cpp:449
+#: export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Bladeren…"
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "Voor een gratis kopie van FFmpeg, klik hier -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Downloaden"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: ../src/export/ExportMP3.cpp:113
+#: FFmpeg.cpp:473
+#: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Waar is %s?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Kon geen compatibele FFmpeg-bibliotheken vinden"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "FFmpeg niet gevonden"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
+"Audacity probeerde FFmpeg te gebruiken om een geluidsbestand te importeren,\n"
+"maar de bibliotheken konden niet worden gevonden.\n"
+"\n"
+"Als U de FFmpeg-importeerfunctie wilt gebruiken, ga dan naar Voorkeuren > Bibliotheken\n"
+"om de FFmpeg-bibliotheken te downloaden of lokaliseren."
 
-#: FFmpeg.h:109
+# melding ipv waarschuwing.
+# dit is een vinkje
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Deze melding niet meer tonen"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:264
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "Enkel avformat.dll|*avformat*.dll|Dynamically linked libraries (*.dll)|*.dll|Alle bestanden (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dynamic libraries (*.dylib)|*.dylib|Alle bestanden (*)|*"
 
-#: FFmpeg.h:266
+#: FFmpeg.h:324
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Enkel libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|Alle bestanden (*)|*"
 
-#: ../src/FreqWindow.cpp:68
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Frequentieanalyse"
 
-#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
+#: FreqWindow.cpp:163
+#: TrackPanel.cpp:611
+#: prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Spectrum"
 
-#: ../src/FreqWindow.cpp:130
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Standaard autocorrelatie"
 
-#: ../src/FreqWindow.cpp:131
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Derdemachtswortel autocorrelatie"
 
-#: ../src/FreqWindow.cpp:132
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Verhoogde autocorrelatie"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: ../src/FreqWindow.cpp:136
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
-#, fuzzy
+#: FreqWindow.cpp:174
+#: FreqWindow.cpp:178
 msgid "Algorithm"
-msgstr "Algoritme:"
+msgstr "Algoritme"
 
-#: ../src/HistoryWindow.cpp:58
+#: FreqWindow.cpp:193
+#: FreqWindow.cpp:197
+#: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Grootte"
 
@@ -1105,119 +1272,196 @@ msgstr "Grootte"
 # Dus 'window' moet slechts vertaald worden als een spatie.
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: ../src/FreqWindow.cpp:167
+#: FreqWindow.cpp:207
 msgid " window"
 msgstr " "
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+# het is hier een wiskundige functie, geen gebruikersfunctie
+# venstertype ipv functie is beter
+#: FreqWindow.cpp:211
+#: FreqWindow.cpp:215
 msgid "Function"
-msgstr ""
+msgstr "Venstertype"
 
 # Frequentieas [Linear]/[Logaritmisch]
-#: ../src/FreqWindow.cpp:177
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "Lineair"
 
 # Frequentieas [Linear]/[Logaritmisch]
-#: ../src/FreqWindow.cpp:178
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Logaritmisch"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+# frequentie-as
+#: FreqWindow.cpp:225
+#: FreqWindow.cpp:229
 msgid "Axis"
-msgstr ""
+msgstr "Frequentie-as"
 
-#: FreqWindow.cpp:204 LabelDialog.cpp:128
+#: FreqWindow.cpp:236
+#: LabelDialog.cpp:130
+#: Menus.cpp:256
 msgid "&Export..."
 msgstr "&Exporteren…"
 
-#: export/ExportCL.cpp:188 export/ExportOGG.cpp:121 export/ExportPCM.cpp:114
+#: FreqWindow.cpp:237
+#: effects/Contrast.cpp:395
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Exporteren"
 
-#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "Opnieuw gene&reren"
+
+# Resetten/herstellen
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Opnieuw genereren"
+
+#: FreqWindow.cpp:244
+#: FreqWindow.cpp:245
+#: widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Sluiten"
 
-#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
-#: ../src/widgets/Meter.cpp:293
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1300
+#: effects/Equalization.cpp:1303
+msgid "Grids"
+msgstr "Raster"
+
+#: FreqWindow.cpp:314
+#: FreqWindow.cpp:516
+#: effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537
+#: effects/AutoDuck.cpp:806
+#: effects/Compressor.cpp:360
+#: effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1142
+#: effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1152
+#: effects/Equalization.cpp:1218
+#: effects/Equalization.cpp:1434
+#: effects/Equalization.cpp:1445
+#: effects/Normalize.cpp:372
+#: widgets/Meter.cpp:406
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: ../src/import/ImportRaw.cpp:378
+#: FreqWindow.cpp:330
+#: FreqWindow.cpp:556
+#: effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1214
+#: import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: ../src/FreqWindow.cpp:463
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Om het spectrum te tekenen moeten alle sporen dezelfde samplefrequentie hebben."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Er was teveel audio geselecteerd.  Alleen de eerste %.1f seconden audio worden geanaliseerd."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Niet genoeg data geselecteerd."
 
 # seconden?
-#: FreqWindow.cpp:441 effects/AutoDuck.cpp:801
+#: FreqWindow.cpp:564
+#: effects/AutoDuck.cpp:808
 msgid "s"
 msgstr "s"
 
-#: FreqWindow.cpp:769
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Cursor: %d Hz (%s) = %d dB    Piek: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:778
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "Cursor: %.4f sec (%d Hz) (%s) = %f,    Piek: %.4f sec (%d Hz) (%s) = %.3f"
 
-#: ../src/FreqWindow.cpp:996
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spectrum.txt"
 
-#: ../src/FreqWindow.cpp:998
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Spectrale gegevens exporteren als:"
 
-#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1390 ../src/Project.cpp:2159
-#: ../src/prefs/KeyConfigPrefs.cpp:173
+#: FreqWindow.cpp:1216
+#: LabelDialog.cpp:603
+#: Menus.cpp:2663
+#: effects/Contrast.cpp:587
+#: prefs/KeyConfigPrefs.cpp:319
 msgid "Couldn't write to file: "
 msgstr "Kon niet naar bestand schrijven:"
 
-#: ../src/FreqWindow.cpp:1019
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Frequentie (Hz)\tGeluidsniveau (dB)"
 
-#: ../src/FreqWindow.cpp:1025
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
-msgstr "Vertraging (seconden)\tFrequentie (Hz) Niveau"
+msgstr "Vertraging (seconden)\tFrequentie (Hz)\tNiveau"
+
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+"GStreamer werd geconfigureerd in Voorkeuren en eerder met succes geladen,\n"
+"maar deze keer lukte het Audacity niet om het te laden bij het opstarten.\n"
+"\n"
+"U kunt teruggaan naar Voorkeuren > Bibliotheken en het opnieuw configureren."
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "GStreamer kon niet opstarten"
 
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
-msgstr ""
+msgstr "Terug naar [[welcome|het welkomstscherm]]"
 
-#: HelpText.cpp:60
+#: HelpText.cpp:92
 msgid "Welcome!"
 msgstr "Welkom!"
 
-#: HelpText.cpp:65
+#: HelpText.cpp:97
 msgid "Playing Audio"
 msgstr "Audio afspelen"
 
-#: HelpText.cpp:69
+#: HelpText.cpp:101
 msgid "Recording Audio"
 msgstr "Audio opnemen"
 
 #: HelpText.cpp:105
 msgid "Recording - Choosing the Input Device"
-msgstr ""
+msgstr "Opname - Kies het opname-apparaat"
 
 #: HelpText.cpp:109
 msgid "Recording - Choosing the Input Source"
-msgstr ""
+msgstr "Opname - Kies de opnamebron"
 
 #: HelpText.cpp:113
 msgid "Recording - Setting the Input Level"
-msgstr ""
+msgstr "Opname - Opnameniveau instellen"
 
 # Bewerken en onbruikbare grijze menu's
 #: HelpText.cpp:117
@@ -1235,78 +1479,78 @@ msgstr "Opslaan van een audacity-project"
 # formats/formaten/bestandsindelingen
 #: HelpText.cpp:129
 msgid "Unsupported Formats"
-msgstr "Niet ondersteunde bestandsindelingen"
+msgstr "Niet-ondersteunde bestandsindelingen"
 
-#: HelpText.cpp:85
+#: HelpText.cpp:133
 msgid "Burn to CD"
 msgstr "Naar cd branden"
 
-#: HelpText.cpp:85
+#: HelpText.cpp:137
 msgid "No Local Help"
 msgstr "Geen lokale hulp"
 
 #: HelpText.cpp:148
 msgid "</p><center><h3>Getting Started</h3></center><br>"
-msgstr ""
+msgstr "</p><center><h3>Om te beginnen</h3></center><br>"
 
 #: HelpText.cpp:150
 msgid "Welcome to Audacity "
-msgstr "Welkom bij Audacity"
+msgstr "Welkom bij Audacity "
 
 #: HelpText.cpp:151
 msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr ""
+msgstr "Leer hoe u: <ul><li> een bestaand audiobestand [[play|afspeelt]]<li> uw stem, een LP of tape [[record|opneemt]] <li> geluid [[edit|bewerkt]]<li>een [[save|Audacity-project opent of opslaat]] <li>naar een MP3- of ander audiobestand [[export|exporteert]] of [[burncd|brandt naar een cd]]  </ul></p><p>"
 
 #: HelpText.cpp:159
 msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr ""
+msgstr "Dit scherm kan op elk moment worden bekeken door op het <i>Help</i>-menu te klikken, en vervolgens op <i>Welkomstbericht tonen</i>. Voor een gedetailleerde uitleg over alle Audacity-menu's en -mogelijkheden, klik op het <i>Help</i>-menu, en daarna op <i>Index</i>, of download onze <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">complete handleiding</a> in pdf-formaat.</p>"
 
 #: HelpText.cpp:172
 msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
-msgstr ""
+msgstr "<p><b>Audio-bestanden openen:</b> Sleep de bestanden in het huidige projectvenster, of klik <i>Bestand &gt; Importeren &gt; Audio</i>. Bestanden kunnen in een nieuw projectvenster worden geopend door <i>Bestand &gt; Openen...</i>. De belangrijkste geluidsbestanden die Audacity afspeelt zijn <b>AIFF, AU, FLAC, M4A</b> (alleen op een Mac), <b>MP2/MP3, OGG Vorbis</b> en <b>WAV</b>. Klik [[wma-proprietary|hier]] als je een ander soort geluidsbestand hebt. <b>Om een cd te importeren:</b> zet hem om in WAV of AIFF met behulp van iTunes, Windows Media Player 11 of iets soortgelijks. Zie onze online handleiding: [[wiki:How_to_import_CDs|Cd's importeren]].</p><p> <p><b>Audio afspelen:</b> Druk op de groene Afspelen-knop om afspelen te starten. Druk één keer op de blauwe Pauzeren-knop om afspelen te onderbreken, en nog een keer om verder te gaan. Druk op de gele Stoppen-knop om te stoppen. De spatiebalk kan worden gebruikt om af te spelen of the stoppen. Na een stop gaat Afspelen door vanaf het laatste beginpunt. Klik in het spoor op het gewenste beginpunt om het laatste beginpunt te veranderen. De <b>|&lt;&lt;</b>- en <b>&gt;&gt;|</b>-knoppen kunnen gebruikt worden om direct naar het begin- of eindpunt van het spoor te gaan. </p><br><br>"
 
 #: HelpText.cpp:194
 msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
-msgstr ""
+msgstr "<p><b>Om op te nemen:</b> stel het opname-apparaat en de invoerbron in, pas het ingangsvolume aan en druk daarna op de rode Opnemen-knop.</b></p><p> 1) [[inputdevice|Stel het opname-apparaat in]] bij de <i>Audio I/O tab in Voorkeuren</i> of in de <i>In/uitvoerapparaten-werkbalk</i>. In Audio I/O Voorkeuren kan u indien nodig kiezen voor stereo-opname.<br> 2) [[inputsource|Stel de invoerbron in]] voor het betreffende apparaat (bijvoorbeeld microfoon of line-in) in het uitklapmenu van de <i>Mixer-werkbalk</i>, of (op sommige systemen) bij Opname-apparaat in de <i>Audio I/O-tab in Voorkeuren</i> of in de <i>In/uitvoerapparaten-werkbalk</i>.<br> 3) [[inputlevel|Aanpassen van het ingangsvolume]] kan met behulp van de rechter schuifknop in de <i>Mixer-werkbalk</i>. Om ruis en vervorming te voorkomen is het essentieel om het niveau voor een opname te corrigeren. </p><p> Meer hulp vindt u in: \"Opnemen\"-<a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, onze gids <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> uw eerste opname</a> in de <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">handleiding</a>, en onze Wiki [[wiki:Recording_Tips|opname-tips]] en [[wiki:Troubleshooting_Recordings|opnameproblemen oplossen]]-pagina's. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>Het invoer-apparaat is het feitelijke opname-apparaat vanwaar u opneemt. Dit wordt gekozen in \"Opname-apparaat\" in <i>Audio I/O-tab > Voorkeuren</i>. In Windows en Linux, staan Voorkeuren onderaan in het <i>Bewerken</i>-menu. Op een Mac staan ze in het <i>Audacity</i>-menu. U kan het Opname-apparaat ook gemakkelijk kiezen in de <i>Apparaten-werkbalk</i>, die u kan activeren met <i>Beeld &gt; Werkbalken...</i>. </p><p> Standaard gebruikt Audacity het apparaat dat op dit moment door het systeem wordt gebruikt (normaal het ingebouwde apparaat), dus is het vaak nodig om het invoer-apparaat te veranderen. In Windows kan het standaard-apparaat worden gekozen door \"Microsoft Geluidsvoorziening\". Als u opneemt via een extern USB- of Firewire-apparaat, zoals een USB-draaitafel, kies dan het specifieke opname-apparaat nadat u het heeft aangesloten. </p><p> Terug naar [[record|Audio opnemen]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Kies de Input bron (zoals een microfoon of line-in) voor uw [[inputdevice|Opname apparaat]]:<br> - <b>in Windows (behalve Vista)</b> en <b>Linux</b>, in het uitval menu aan de rechterkant van de <i>Mixer werktuigbalk</i>.<br> - <b>In Windows Vista</b> en <b>Mac</b>, onder Opname apparaat in de <i>Audio I/O tab Voorkeuren</i>, of in de <i>Apparaten werktuigbalk</i>. De bron wordt getoond als deel van kernapparaat (bijvoorbeeld),<i>High Def Audio Card: Microfoon</i>). Indien nodig kunnen mac gebruikers de Onput bron kiezen bij Apple Audio MIDI instellingen. <br><i><b>Noot:</b> bij veel USB en Firewire opname apparatuur kan de input niet worden gekozen en is deze stap dus niet nodig. In geval van twijfel, controleer de documentatie, die bij Uw apparatuur hoort. </i></p><p> <b>Tip:</b> om <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">geluid op te nemen dat op de computer speelt</a>, kunnen Windows en Linux gebruikers kiezen voor de \"Stereo Mix\", \"Golf Uit\", \"Som\" of een vergelijkbare Input bron. </p><p> Terug naar [[record|Audio opnemen]] <br></p>"
 
 #: HelpText.cpp:267
 msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Het ingangsniveau moet juist zijn ingesteld. Als het niveau te laag is, hoor je achtergrondgeluid. Als het niveau te hoog is worden de harde gedeeltes vervormd. </p><p>Om het niveau in te stellen, lees de [[wiki:Recording_levels|geïllustreerde online handleiding]] of doe het volgende: <ol><li>Zet <b>meten</b>aan. Dubbelklik op de rechtse van de twee <i>VU Meters</i> (of klik erop met de rechtermuisknop) en klik \"Meten starten\". Als de meters niet te zien zijn, klikt u op <i>View &gt; Werkbalken</i> en vink \"Werkbalk VU-meters\" aan. </li><li>Pas het ingangsvolume in de <i>Mixerwerkbalk</i> (naast het microfoon-symbool) zo aan, dat de rode balken in de meter uitslaan maar de rechterkant van de schaal <b>niet raken.</b> Als u het gemeten geluid niet hoort, ga dan naar <i>Audio I/O-tab > Voorkeuren</i> en vink \"Softwarematig afspelen\" aan. </li></ol></p><p> Terug naar [[record|Audio opnemen]] <br></p>"
 
 #: HelpText.cpp:292
 msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
-msgstr ""
+msgstr "<p>De belangrijkste commando's om audio te bewerken zijn te vinden in het menu <i>Bewerken</i> (zoals knippen, kopiëren en plakken) en het <i>Effect</i> menu (daarmee kun je dingen doen als: versterken van de bass, veranderen van de toonhoogte of het tempo of ruis verwijderen). </p><p> Audacity past de bewerkingen toe op de geselecteerde delen van het audiospoor. Om een bepaald deel te kiezen, klik in het spoor en sleep het donkere gebied met de muis. Als er geen audio is geselecteerd kiest Audacity alle audio in het project scherm.</p><p> Tijdens afspelen of opnemen zijn de menu's Bewerken en Effecten grijs gemaakt omdat een bewegend spoor niet kan worden bewerkt. Soms kunnen commando's ook om andere redenen niet beschikbaar zijn. U kan bijvoorbeeld pas effecten toepassen als er audio zichtbaar is op het scherm, en u kan geen audio plakken voordat u het geknipt en gekopieerd hebt naar het klembord van Audacity. </p><br><br>"
 
 #: HelpText.cpp:311
 msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr ""
+msgstr "<p>Sla een Audacity project op om er, als het nog niet af is,  later verder aan te kunnen werken én alle sporen en bewerkingen te behouden. Om uw huidige werk te kunnen afspelen met behulp van andere programma's of het naar anderen te sturen, [[export|exporteer]] dan een audiobestand als WAV of MP3. </p><p> Door <i>Bestand &gt; Project opslaan</i>wordt een <b>.aup</b> projectbestand en een <b>_data</b> map met actueel geluid opgeslagen. Om een opgeslagen project te openen, klik op <i>Bestand &gt; Openen</i> en open het .aup bestand. Als u een bestand vaker opslaat en afsluit wordt een .aup.bak backupbestand aangemaakt, maar u opent best het .aup-bestand indien het aanwezig is. Als het uiteindelijk geëxporteerde bestand precies is als gewenst, verwijder dan de projectbestanden en _data-map om schijfruimte te besparen. </p><p><i>Bestand &gt; Opslaan als...</i> wordt gebruikt om een leeg project op te slaan. Hiermee kan ook een al eerder opgeslagen project een <b>nieuwe</b> naam worden gegeven. Dit is de enige veilige manier om een project te herbenoemen. Het .aup-bestand en de _data-map mogen niet handmatig verplaatst of herbenoemd worden. </p><p>"
 
 #: HelpText.cpp:335
 msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr ""
+msgstr "Exporteer je werk naar een geluidsbestand zoals WAV of MP3, om je werk met andere programma's te kunnen beluisteren (sommige formats worden [[wma-proprietary|niuet ondersteund]]). [[save|Een Audacity project opslaan]] creëert een project bestand (en daaraan gekoppelde  _data map) met daarin alle bewerkte sporen, zodat je je werk makkelijk kan terugvinden. Echter, andere programma's kunnen geen Audacity projecten openen. </p><p> Om te exporteren, klik <i>Bestand &gt; Exporteer</i> en kies het bestandsformaat waarnaar U wil exporteren in het \"Opslaan als type\" uitrol menu. Om een [[burncd|CD te branden]] voor op zichzelfstaande CD spelers, kies WAV of AIFF. Om naar MP3 te exporteren, moet de [[wiki:Lame_Installation|Lame Encoder]] zijn geïnstalleerd. </p><p> <i>Bestand &gt; Exporteer Selectie</i> exporteert slechts een deel van het geluidsbestand. <i>Gebruik Bestand &gt; Meervoudig exporteren</i> om meerdere bestanden tegelijkertijd te exporteren, of één voor elk geluidspoor, of één van elk gelabeld deel in een enkel spoor. Door <i>Sporen &gt; Voeg label toe aan Selectie</i> kunt U [[wiki:Splitting_recordings_into_separate_tracks|sporen splitsen]] van een album voor een meervoudig export als afzonderlijke bestanden. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr ""
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p>Audacity <b>kan geen</b> WMA, RealAudio, Shorten (SHN)</b> of de meeste andere beschermde bestanden,  [[play|afspelen]] of [[export|exporteren]] <b>als gevolg van beschermde licensies en patenten. Op een Mac computer kunnen onbeschermde  <b>AAC</b> formats zoals <b>M4A</b> worden geïmporteerd. Sommige open formats worden nog niet ondersteund, inclusief <b>Ogg Speex</b> en <b>Musepack</b>. Bestanden, die op grond van Digitale Rechten Management (DRM) worden beschermd, inclusief de meeste die via het internet worden aangeschaft zoals via iTunes of Napster, <b>kunnen niet</b> worden geïmporteerd.</p><p> Als U een bestand niet in Audacity kunt importeren, en het is niet DRM-beschermd, gebruik dan iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> om het om te zetten in een WAV of AIFF bestand. Als het wel beschermd is, brand het op een geluids-CD in het programma met de licentie om het af te spelen, splits en knip het CD-spoor vervolgens met behulp van iTunes of (in Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> of Windows Media Player 11, naar WAV of AIFF. U kunt ook de CD op Uw computer <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">opnemen</a>. <i>Om een bestand naar een niet ondersteund format te exporteren, exporteer het eerst naar WAV of AIFF en zet het om in het gewenste format met behulp van  iTunes of <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr ""
+msgstr "<p>Om je werk naar een geluids-cd te branden, te grbuiken met een op zichzelf staande cd-speler, [[export|exporteert]] U het eerst als een WAV of AIFF bestand. Het geëxporteerde bestand moet dan voldoen aan: stereo, 44100 Hz (instellen in de \"Projectfrequentie\" knop linksonder) en 16-bit (instellen in de \"Opties\"-knop in het venster van bestand exporteren). Dit zijn de standaardinstellingen van Audacity, dus normaal zal u deze niet moeten aanpassen voordat u exporteert. <p>Brand het geëxporteerde bestand naar een \"audio-cd\" - geen  \"data-cd\" of \"MP3-cd\" - met een cd-brandprogramma zoals iTunes of Windows Media Player. Voor meer hulp, zie [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>De Help functie voor Audacity Beta is nog niet klaar. Voorlopig is een klad-handleiding <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a> beschikbaar. Als alternatief, klikt u <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">hier</a> om een één-pagina-grote versie te downloaden die u in dit venster kunt lezen."
 
 # Actiegeschiedenis hier duidelijker dan Herstelgeschiedenis
-#: ../src/HistoryWindow.cpp:44
+#: HistoryWindow.cpp:53
 msgid "Undo History"
 msgstr "Bewerkingsgeschiedenis"
 
@@ -1315,7 +1559,7 @@ msgid "Manage History"
 msgstr "Bewerkingsgeschiedenis beheren"
 
 # kolomkop van bewerkingsgeschiedenis
-#: ../src/HistoryWindow.cpp:57
+#: HistoryWindow.cpp:78
 msgid "Action"
 msgstr "Bewerking"
 
@@ -1331,428 +1575,422 @@ msgid "Levels To Discard"
 msgstr "De eerste"
 
 # verwerpen/wegwerpen
-#: HistoryWindow.cpp:102
+#: HistoryWindow.cpp:103
 msgid "&Discard"
 msgstr "bewerkingen &verwerpen"
 
-#: HistoryWindow.cpp:111 LabelDialog.cpp:135 LabelDialog.cpp:137
-#: effects/Amplify.cpp:214 effects/AutoDuck.cpp:529 effects/AutoDuck.cpp:531
-#: effects/ChangeLength.cpp:187 effects/ChangePitch.cpp:399
-#: effects/ChangeSpeed.cpp:397 effects/ChangeTempo.cpp:301
-#: effects/Compressor.cpp:519 effects/Effect.cpp:389 effects/Effect.cpp:391
-#: effects/Equalization.cpp:1169 effects/Leveller.cpp:269
-#: effects/Normalize.cpp:356 effects/Phaser.cpp:605 effects/Repeat.cpp:274
-#: effects/SpikeCleaner.cpp:191 effects/VST/VSTEffect.cpp:98
-#: effects/Wahwah.cpp:592 effects/ladspa/LadspaEffect.cpp:592
-#: effects/nyquist/Nyquist.cpp:829 export/Export.cpp:791
-#: prefs/FileFormatPrefs.cpp:408 prefs/PrefsDialog.cpp:164
+#: HistoryWindow.cpp:112
+#: effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191
+#: export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&OK"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:114
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Niet te bepalen"
 
 # bytes vertalen met byte is wel erg cru dus gewoon bytes (sander)
 # In nl zeggen we 5 byte 5 Megabyte en niet 5 bytes of 5 Megabytes (tino)
-#: ../src/import/ImportRaw.cpp:354
+#: Internat.cpp:147
+#: import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "byte"
 
-#: Internat.cpp:182
+#: Internat.cpp:149
 msgid "KB"
 msgstr "KB"
 
-#: Internat.cpp:185
+#: Internat.cpp:152
 msgid "MB"
 msgstr "MB"
 
-#: Internat.cpp:188
+#: Internat.cpp:155
 msgid "GB"
 msgstr "GB"
 
-#: LabelDialog.cpp:50
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "De ingevoerde bestandsnaam kon niet geconverteerd worden doordat Unicode-tekens gebruikt zijn."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Voer nieuwe bestandsnaam in:"
+
+#: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Spoor"
 
-#: ../src/Menus.cpp:3085
+#: LabelDialog.cpp:55
+#: Menus.cpp:4855
+#: Menus.cpp:4890
 msgid "Label"
 msgstr "Label"
 
 # begintijd/starttijd
-#: LabelDialog.cpp:54
+#: LabelDialog.cpp:56
+#: TimerRecordDialog.cpp:328
 msgid "Start Time"
 msgstr "Begintijd"
 
-#: LabelDialog.cpp:53
+#: LabelDialog.cpp:57
+#: TimerRecordDialog.cpp:347
 msgid "End Time"
 msgstr "Eindtijd"
 
-#: LabelDialog.cpp:98 Menus.cpp:709
-msgid "&Edit Labels"
-msgstr "Labels be&werken"
+#: LabelDialog.cpp:100
+msgid "Edit Labels"
+msgstr "Labels bewerken"
 
 # F2/op F2
-#: LabelDialog.cpp:113
+#: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
 msgstr "Toets F2 of dubbelklik om de inhoud van de cel te bewerken."
 
-#: LabelDialog.cpp:124
+#: LabelDialog.cpp:126
 msgid "Insert &After"
 msgstr "&Achteraan invoegen"
 
-#: LabelDialog.cpp:125
+#: LabelDialog.cpp:127
 msgid "Insert &Before"
 msgstr "&Vooraan invoegen"
 
 # niet ideaal om de _i te gebruiken, maar het is even niet anders.
-#: LabelDialog.cpp:127 Menus.cpp:234
+#: LabelDialog.cpp:129
 msgid "&Import..."
 msgstr "&Importeren…"
 
-#: LabelDialog.cpp:163
+#: LabelDialog.cpp:157
 msgid "New..."
 msgstr "Nieuw…"
 
-#: LabelDialog.cpp:347
-msgid "You have left blank label names.  These will be\n"
+#: LabelDialog.cpp:354
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
-msgstr "Er zijn nog blanco labelnamen. Deze zullen worden\n"
+msgstr ""
+"Er zijn nog blanco labelnamen. Deze zullen worden\n"
 "overgeslagen bij het opnieuw vullen van de labelsporen.\n"
 "\n"
 "Wilt u teruggaan en labelnamen invullen?"
 
-#: LabelDialog.cpp:350
+#: LabelDialog.cpp:355
+#: LangChoice.cpp:130
 msgid "Confirm"
 msgstr "Bevestigen"
 
-#: ../src/Menus.cpp:2628
+#: LabelDialog.cpp:516
+#: Menus.cpp:4273
 msgid "Select a text file containing labels..."
 msgstr "Selecteer een tekstbestand met labels…"
 
-#: ../src/Menus.cpp:2632
+#: LabelDialog.cpp:520
+#: Menus.cpp:4277
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Tekstbestanden (*.txt)|*.txt|Alle bestanden (*.*)|*.*"
 
-#: ../src/Menus.cpp:2644 ../src/Project.cpp:1820 ../src/Project.cpp:1828
-#: ../src/import/ImportMIDI.cpp:31
+#: LabelDialog.cpp:534
+#: Menus.cpp:4289
+#: Project.cpp:2116
+#: Project.cpp:2124
 msgid "Could not open file: "
 msgstr "Kon bestand niet openen:"
 
-#: LabelDialog.cpp:549
+#: LabelDialog.cpp:560
 msgid "No labels to export."
 msgstr "Geen labels om te exporteren."
 
 # Venstertitel
-#: ../src/Menus.cpp:1355
+#: LabelDialog.cpp:566
+#: Menus.cpp:2626
 msgid "Export Labels As:"
 msgstr "Labels exporteren als:"
 
-#: ../src/Menus.cpp:1353
+#: LabelDialog.cpp:568
+#: Menus.cpp:2624
 msgid "labels.txt"
 msgstr "labels.txt"
 
-#: LabelDialog.cpp:690
+#: LabelDialog.cpp:703
 msgid "New Label Track"
 msgstr "Nieuw labelspoor"
 
 # voer de naam van het spoor in
-#: LabelDialog.cpp:691
+#: LabelDialog.cpp:704
 msgid "Enter track name"
 msgstr "Naam van het spoor invoeren"
 
-#: LabelDialog.cpp:692 LabelDialog.h:50 LabelTrack.cpp:87 Menus.cpp:645
-msgid "&Label Track"
-msgstr "&Labelspoor"
+#: LabelDialog.cpp:705
+#: LabelDialog.h:52
+#: LabelTrack.cpp:92
+msgid "Label Track"
+msgstr "Labelspoor"
 
-#: ../src/LangChoice.cpp:47
+#: LangChoice.cpp:58
 msgid "Audacity First Run"
 msgstr "Audacity eerste keer opgestart"
 
-#: ../src/LangChoice.cpp:74
+#: LangChoice.cpp:90
 msgid "Choose Language for Audacity to use:"
 msgstr "Kies de taal die Audacity moet gebruiken:"
 
-#: ../src/Legacy.cpp:337
+#: LangChoice.cpp:125
+#, c-format
+msgid "The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."
+msgstr "De taal die u gekozen heeft, %s (%s), is niet dezelfde als de taal van het systeem, %s (%s)."
+
+#: Legacy.cpp:372
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Een versie 1.0 projectbestand is omgezet naar het nieuwe format.\n"
+msgstr ""
+"Een versie 1.0 projectbestand is omgezet naar het nieuwe format.\n"
 "Het oude bestand is opgeslagen als ‘%s’"
 
-#: ../src/Legacy.cpp:338
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Audacity-project wordt geopend"
 
-#: ../src/Menus.cpp:139
+#: Menus.cpp:196
 msgid "&File"
 msgstr "&Bestand"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Nieuw\tCtrl+N"
+#: Menus.cpp:215
+msgid "&Close"
+msgstr "&Sluiten"
 
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Openen…\tCtrl+O"
-
-# de 's' werd al gebruikt voor op_slaan
-#: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "Sl&uiten\tCtrl+W"
+#: Menus.cpp:218
+msgid "&Save Project"
+msgstr "Project op&slaan"
 
-#: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "Project op&slaan\tCtrl+S"
-
-#: ../src/Menus.cpp:150
+#: Menus.cpp:221
 msgid "Save Project &As..."
 msgstr "Project opslaan &als…"
 
-#: Menus.cpp:212
+#: Menus.cpp:223
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Gecomprimeerde kopie van project opslaan"
 
-#: Menus.cpp:223
+#: Menus.cpp:227
 msgid "Chec&k Dependencies..."
 msgstr "Afhankelijkheids&controle…"
 
-#: Menus.cpp:183
+#: Menus.cpp:231
 msgid "Open Me&tadata Editor..."
 msgstr "Me&tadata-editor openen…"
 
-#: import/ImportRaw.cpp:447
+#: Menus.cpp:239
+#: import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "I&mporteren"
 
-#: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio…\tCtrl+Shift+I"
+#: Menus.cpp:241
+msgid "&Audio..."
+msgstr "&Audio..."
 
-#: Menus.cpp:237
+#: Menus.cpp:242
 msgid "&Labels..."
 msgstr "&Labels…"
 
-#: Menus.cpp:238
+#: Menus.cpp:244
 msgid "&MIDI..."
 msgstr "&MIDI…"
 
-#: Menus.cpp:239
+#: Menus.cpp:246
 msgid "&Raw Data..."
 msgstr "&Raw data…"
 
-#: Menus.cpp:251 Menus.cpp:280
+#: Menus.cpp:261
 msgid "Expo&rt Selection..."
 msgstr "Selectie expo&rteren…"
 
-#: ../src/Menus.cpp:173
+#: Menus.cpp:269
 msgid "Export &Labels..."
 msgstr "&Labels exporteren…"
 
 # meerdere sporen tegelijk exporteren naar verschillende bestanden.
-#: ../src/Menus.cpp:174
+#: Menus.cpp:272
 msgid "Export &Multiple..."
 msgstr "&Meervoudig exporteren…"
 
-#: Menus.cpp:257
+#: Menus.cpp:276
 msgid "Export MIDI..."
-msgstr ""
+msgstr "MIDI &Exporteren..."
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:282
+msgid "Appl&y Chain..."
+msgstr "Opdrachtenreeks toe&passen…"
 
-#: Menus.cpp:340 Menus.cpp:354
+#: Menus.cpp:285
 msgid "Edit C&hains..."
 msgstr "Opdrachtenreeksen be&werken…"
 
-#: Menus.cpp:249
+#: Menus.cpp:288
 msgid "Export CleanSpeech &Presets..."
-msgstr ""
+msgstr "CleanSpeech &presets exporteren..."
 
-#: Menus.cpp:250
+#: Menus.cpp:289
 msgid "I&mport CleanSpeech Presets..."
-msgstr ""
-
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr "Opdrachtenreeks toe&passen…"
+msgstr "CleanSpeech presets i&mporteren..."
 
-#: Menus.cpp:358
+#: Menus.cpp:296
 msgid "&Upload File..."
 msgstr "&Bestand uploaden…"
 
-#: Menus.cpp:363
+#: Menus.cpp:301
 msgid "Pa&ge Setup..."
 msgstr "Pa&ginainstelling…"
 
-#: Menus.cpp:364
+#: Menus.cpp:304
 msgid "&Print..."
 msgstr "Af&drukken…"
 
-#: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
-msgstr "A&fsluiten\tCtrl+Q"
+#: Menus.cpp:313
+msgid "E&xit"
+msgstr "&Sluiten"
 
-#: ../src/Menus.cpp:227
+#: Menus.cpp:323
 msgid "&Edit"
 msgstr "Be&werken"
 
-#: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Herstellen\tCtrl+Z"
+# ongedaan maken/herstellen
+#: Menus.cpp:328
+msgid "&Undo"
+msgstr "&Herstellen"
 
-#: ../src/Menus.cpp:239
+#: Menus.cpp:340
 msgid "&Redo"
 msgstr "&Opnieuw"
 
-#: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "K&nippen\tCtrl+X"
+#: Menus.cpp:346
+msgid "Cu&t"
+msgstr "&Knippen"
 
-#: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Spl&itsen+knippen\tCtrl+Alt+X"
+#: Menus.cpp:349
+msgid "Spl&it Cut"
+msgstr "Spl&itsen+knippen"
 
-#: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopiëren\tCtrl+C"
+#: Menus.cpp:350
+msgid "&Copy"
+msgstr "&Kopiëren"
 
-#: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Plakken\tCtrl+V"
+#: Menus.cpp:353
+msgid "&Paste"
+msgstr "&Plakken"
 
-# uitknippen, alles wat niet geselecteerd is, wordt afgeknipt
-#: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
-msgstr "&Uitknippen\tCtrl+T"
+# dit bericht verschijnt oa bij Undo/Redo en de geschiedenis.
+#: Menus.cpp:356
+msgid "Tri&m"
+msgstr "Tri&m"
 
-#: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Verwijderen\tCtrl+K"
+#: Menus.cpp:360
+#: Menus.cpp:399
+msgid "&Delete"
+msgstr "&Verwijderen"
 
-#: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Splitsen+v&erwijderen\tCtrl+Alt+K"
+#: Menus.cpp:361
+msgid "Split D&elete"
+msgstr "Splitsen+v&erwijderen"
 
-#: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+# staat in het menu Bewerken
+#: Menus.cpp:362
+msgid "Silence Audi&o"
+msgstr "Audi&o stil maken"
 
-#: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
-msgstr "Sp&litsen\tCtrl+I"
+#: Menus.cpp:366
+msgid "Sp&lit"
+msgstr "Sp&litsen"
 
-#: Menus.cpp:443
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "A&fsplitsen\tCtrl+Alt+I"
+#: Menus.cpp:370
+msgid "Split Ne&w"
+msgstr "Nieu&w splitsen"
 
-# samenvoegen/voegen
-#: Menus.cpp:442
-msgid "&Join\tCtrl+J"
-msgstr "S&amenvoegen\tCtrl+J"
+#: Menus.cpp:374
+#: Menus.cpp:406
+msgid "&Join"
+msgstr "&Samenvoegen"
 
-#: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+# staat in het menu Bewerken
+#: Menus.cpp:375
+#: Menus.cpp:407
+msgid "Detac&h at Silences"
+msgstr "&Losmaken bij stiltes"
 
-#: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&Dupliceren\tCtrl+D"
+#: Menus.cpp:376
+msgid "Duplic&ate"
+msgstr "Duplic&eren"
 
-#: Menus.cpp:400 Menus.cpp:639
+#: Menus.cpp:381
+#: Menus.cpp:617
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "&Van stereo naar mono"
 
-#: Menus.cpp:407
+#: Menus.cpp:390
 msgid "La&beled Regions"
-msgstr ""
+msgstr "&Gelabelde gebieden"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:460
-msgid "&Cut\tAlt+X"
-msgstr "K&nippen\tAlt+X"
+#: Menus.cpp:393
+msgid "&Cut"
+msgstr "&Knippen"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Splitsen+knippen\tShift+Alt+X"
+#: Menus.cpp:394
+msgid "&Split Cut"
+msgstr "&Splitsen+knippen"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Kopiëren\tShift+Alt+C"
+#: Menus.cpp:395
+msgid "Co&py"
+msgstr "Ko&piëren"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
-msgstr "&Verwijderen\tAlt+K"
+#: Menus.cpp:400
+msgid "Sp&lit Delete"
+msgstr "Sp&litsen+verwijderen"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Sp&litsen+verwijderen\tShift+Alt+K"
+#: Menus.cpp:401
+msgid "Sile&nce"
+msgstr "Sti&lte"
 
-# Stilmaken voor gelabelde gebieden
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
-msgstr "S&tilmaken\tAlt+L"
+#: Menus.cpp:405
+msgid "Spli&t"
+msgstr "Spli&tsen"
 
-# vergelijk Sp&litsen in het editmenu
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr "Spli&tsen\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr "S&amenvoegen\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
-
-#: Menus.cpp:456
+#: Menus.cpp:413
 msgid "&Select"
-msgstr ""
+msgstr "&Selecteren"
 
-#: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Alles\tCtrl+A"
+#: Menus.cpp:416
+msgid "&All"
+msgstr "&Alles"
 
-# geen/niets
-#: Menus.cpp:465
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Niets\tCtrl+Shift+A"
+#: Menus.cpp:417
+msgid "&None"
+msgstr "Gee&n"
 
-#: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "Van afspeelpositie naar &links\t["
+#: Menus.cpp:419
+msgid "&Left at Playback Position"
+msgstr "Van afspeelpositie naar &links"
 
-#: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "Van afspeelpositie naar &rechts\t]"
+#: Menus.cpp:420
+msgid "&Right at Playback Position"
+msgstr "Van afspeelpositie naar &rechts"
 
-#: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Van het begin tot de cursorpositie\tShift+J"
+#: Menus.cpp:424
+msgid "Track &Start to Cursor"
+msgstr "Van het begin tot de cur&sorpositie"
 
-#: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Van de cursorpositie tot het einde\tShift+K"
+#: Menus.cpp:425
+msgid "Cursor to Track &End"
+msgstr "Van de cursorpositie tot het &einde"
 
-#: Menus.cpp:525
-msgid "Find &Zero Crossings\tZ"
-msgstr "Nulpunten &zoeken\tZ"
+#: Menus.cpp:431
+msgid "Find &Zero Crossings"
+msgstr "Nulpunten &zoeken"
 
-#: Menus.cpp:476
+#: Menus.cpp:435
 msgid "Mo&ve Cursor"
-msgstr ""
+msgstr "&Cursor verplaatsen"
 
 #: Menus.cpp:437
 msgid "to Selection Star&t"
@@ -1763,1222 +2001,1285 @@ msgid "to Selection En&d"
 msgstr "naar ei&nde selectie"
 
 # naar het begin van het spoor/naar begin spoor/naar het begin
-#: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "naar het &begin\tJ"
+#: Menus.cpp:440
+msgid "to Track &Start"
+msgstr "naar het &begin"
 
-#: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "naar het &einde\tK"
+#: Menus.cpp:441
+msgid "to Track &End"
+msgstr "naar het &einde"
 
 # region=selectie?
 # gebied opslaan/bewaren/onthouden. (is ws. meer het laatste)
-#: Menus.cpp:450
+#: Menus.cpp:449
 msgid "Re&gion Save"
 msgstr "&Gebied opslaan"
 
-#: Menus.cpp:451
+#: Menus.cpp:452
 msgid "Regio&n Restore"
 msgstr "Gebied &herstellen"
 
-#: Menus.cpp:503
+# play region > [lock][unlock]
+#: Menus.cpp:460
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Gebied afspelen"
 
-#: Menus.cpp:463
+#: Menus.cpp:462
 msgid "&Lock"
 msgstr "&Vastzetten"
 
-#: Menus.cpp:464
+#: Menus.cpp:465
 msgid "&Unlock"
 msgstr "&Losmaken"
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr "Raster (Snap-To) aanzetten"
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr "Raster (Snap-To) uitzetten"
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr "Raster aanzetten"
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr "Raster uitzetten"
+#: Menus.cpp:485
+msgid "Pre&ferences..."
+msgstr "&Voorkeuren…"
 
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
-
-#: ../src/Menus.cpp:345
+#: Menus.cpp:495
 msgid "&View"
 msgstr "Beel&d"
 
-#: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "In&zoomen\tCtrl+1"
+#: Menus.cpp:498
+msgid "Zoom &In"
+msgstr "&Inzoomen"
 
-#: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normale weergave\tCtrl+2"
+#: Menus.cpp:501
+msgid "Zoom &Normal"
+msgstr "&Normale weergave"
 
-#: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "&Uitzoomen\tCtrl+3"
+#: Menus.cpp:502
+msgid "Zoom &Out"
+msgstr "Uitz&oomen"
 
 # in overeenstemming met het Fit Vertically
-#: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Horizontaal inpassen\tCtrl+F"
+#: Menus.cpp:506
+msgid "&Fit in Window"
+msgstr "&Horizontaal inpassen"
 
-#: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "&Verticaal inpassen\tCtrl+Shift+F"
+#: Menus.cpp:507
+msgid "Fit &Vertically"
+msgstr "&Verticaal inpassen"
 
-#: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Inzoomen op de selectie\tCtrl+E"
+#: Menus.cpp:508
+msgid "&Zoom to Selection"
+msgstr "&Inzoomen op de selectie"
 
-#: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Alle sporen opvouwen\tCtrl+Shift+C"
+#: Menus.cpp:512
+msgid "&Collapse All Tracks"
+msgstr "&Alle sporen opvouwen"
 
-#: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Alle &sporen uitvouwen\tCtrl+Shift+X"
+#: Menus.cpp:513
+msgid "E&xpand All Tracks"
+msgstr "Alle &sporen uitvouwen"
 
-#: Menus.cpp:510
+#: Menus.cpp:517
 msgid "&Show Clipping"
 msgstr "&Oversturing opsporen"
 
 # Bewerkingen/bewerkingsgeschiedenis/geschiedenis
-#: ../src/Menus.cpp:364
+#: Menus.cpp:522
 msgid "&History..."
 msgstr "&Geschiedenis…"
 
-#: Menus.cpp:566
+#: Menus.cpp:530
 msgid "&Toolbars"
-msgstr ""
+msgstr "&Werkbalken"
 
-#: Menus.cpp:526
+#: Menus.cpp:532
 msgid "&Control Toolbar"
 msgstr "&Bedieningsknoppen"
 
-#: Menus.cpp:527
+#: Menus.cpp:533
 msgid "&Device Toolbar"
 msgstr "In/&uitvoerapparaten"
 
-#: Menus.cpp:528
+#: Menus.cpp:534
 msgid "&Edit Toolbar"
 msgstr "Be&werkingsknoppen"
 
-#: Menus.cpp:529
+#: Menus.cpp:535
 msgid "&Meter Toolbar"
 msgstr "&Vu-meters"
 
-#: Menus.cpp:530
+#: Menus.cpp:536
 msgid "Mi&xer Toolbar"
 msgstr "Mi&xer"
 
-#: Menus.cpp:531
+#: Menus.cpp:537
 msgid "&Selection Toolbar"
 msgstr "&Selectiebalk"
 
-#: Menus.cpp:532
+#: Menus.cpp:538
 msgid "T&ools Toolbar"
 msgstr "&Tools-werkbalk"
 
-#: Menus.cpp:533
+#: Menus.cpp:539
 msgid "Transcri&ption Toolbar"
 msgstr "S&nelheidsinstellingen"
 
 # terugzetten/herstellen
-#: Menus.cpp:535
+#: Menus.cpp:543
 msgid "&Reset Toolbars"
 msgstr "We&rkbalken herstellen"
 
-#: Menus.cpp:537
+#: Menus.cpp:551
 msgid "!Simplified View"
-msgstr ""
+msgstr "!Vereenvoudigd beeld"
 
+# het hoger of lager afspelen
+# Snelheidsschuif/afspeelsnelheid/transcriptie
+# dit wordt: Audacity %s-werkbalk.
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:562
 msgid "T&ransport"
-msgstr ""
+msgstr "Afspeelsnelheid"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+# afspelen/spelen/play
+#: Menus.cpp:565
+#: toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr "Afspelen"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+#: Menus.cpp:566
+msgid "&Loop Play"
+msgstr "Herhaa&ldelijk afspelen"
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr ""
+#: Menus.cpp:567
+msgid "&Pause"
+msgstr "&Pauzeren"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+#: Menus.cpp:570
+msgid "&Stop"
+msgstr "&Stoppen"
 
-#: ../src/Menus.cpp:566
-msgid "Skip to Start\tHome"
-msgstr "Naar begin springen\tHome"
+#: Menus.cpp:573
+#: toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Naar begin springen"
 
-#: ../src/Menus.cpp:567
-msgid "Skip to End\tEnd"
-msgstr "Naar einde springen\tEnd"
+#: Menus.cpp:574
+#: toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Naar einde springen"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
-msgstr ""
+#: Menus.cpp:578
+msgid "&Record"
+msgstr "&Opnemen"
 
-#: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr ""
+# Opname tijdsklok/inplannen/plannen/timer/inplannen
+#: Menus.cpp:579
+msgid "&Timer Record..."
+msgstr "&Opname inplannen…"
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr ""
+# append = aansluiten
+# Opname wordt begonnen vanaf het einde van de vorige opname (einde van vorige track)
+#: Menus.cpp:580
+msgid "Append Record"
+msgstr "Aansluitend opnemen"
 
-#: Menus.cpp:607
+#: Menus.cpp:584
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Overdub (aan/uit)"
 
-#: Menus.cpp:609
+#: Menus.cpp:585
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Softwarematig Playthrough (aan/uit)"
 
-#: Menus.cpp:612
+#: Menus.cpp:588
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Geluidsgeactiveerd opnemen (aan/uit)"
 
-#: Menus.cpp:614
+#: Menus.cpp:589
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Geluidsactivatie-volume..."
 
-#: Menus.cpp:635
+#: Menus.cpp:597
 msgid "&Tracks"
 msgstr "&Sporen"
 
-#: Menus.cpp:629
+# menu: Tracks->Add new... ->Audio track/Label track/Stereo track
+# Sporen->Toevoegen... -> audiospoor/labelspoor/stereospoor
+#: Menus.cpp:602
 msgid "Add &New"
-msgstr ""
+msgstr "&Toevoegen…"
 
-#: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Audiospoor\tCtrl+Shift+N"
+#: Menus.cpp:604
+msgid "&Audio Track"
+msgstr "&Audiospoor"
 
-#: Menus.cpp:644
+#: Menus.cpp:605
 msgid "&Stereo Track"
 msgstr "&Stereospoor"
 
-#: Menus.cpp:646 TimeTrack.cpp:44
+#: Menus.cpp:606
+msgid "&Label Track"
+msgstr "&Labelspoor"
+
+#: Menus.cpp:607
 msgid "&Time Track"
 msgstr "&Tijdspoor"
 
-#: Menus.cpp:568
+#: Menus.cpp:620
 msgid "Mi&x and Render"
 msgstr "Mi&xen en doorrekenen"
 
-#: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mixen en doorrekenen naar nieuw spoor\tCtrl+Shift+M"
+#: Menus.cpp:623
+msgid "Mix and Render to New Track"
+msgstr "Mixen en doorrekenen naar nieuw spoor"
 
 # resampelen
-#: Menus.cpp:662
+#: Menus.cpp:626
 msgid "&Resample..."
 msgstr "&Resampelen…"
 
-#: ../src/Menus.cpp:398
+#: Menus.cpp:632
 msgid "Remo&ve Tracks"
 msgstr "Sporen &verwijderen"
 
-#: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Alle sporen dempen\tCtrl+U"
+#: Menus.cpp:638
+msgid "&Mute All Tracks"
+msgstr "&Alle sporen dempen"
 
-#: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "All&e sporen afspelen\tCtrl+Shift+U"
+# niets dempen
+# dempen ongedaan maken van alle sporen (veel te lang!)
+#: Menus.cpp:639
+msgid "&UnMute All Tracks"
+msgstr "&Niets dempen"
 
-#: ../src/Menus.cpp:405
+#: Menus.cpp:644
 msgid "Align with &Zero"
 msgstr "Op &Nulpunt uitlijnen"
 
-#: ../src/Menus.cpp:406
+#: Menus.cpp:645
 msgid "Align with &Cursor"
 msgstr "Uitlijnen op &Cursor"
 
-#: ../src/Menus.cpp:407
+#: Menus.cpp:646
 msgid "Align with Selection &Start"
 msgstr "Uitlijnen op &Begin Selectie"
 
-#: ../src/Menus.cpp:408
+#: Menus.cpp:647
 msgid "Align with Selection &End"
 msgstr "Uitlijnen op &Einde Selectie"
 
-#: Menus.cpp:601
+#: Menus.cpp:648
 msgid "Align End with Cu&rsor"
 msgstr "Einde uitlijnen op &Cursor"
 
-#: Menus.cpp:602
+#: Menus.cpp:649
 msgid "Align End with Selection Star&t"
 msgstr "Einde uitlijnen op &Begin Selectie"
 
-#: Menus.cpp:603
+#: Menus.cpp:650
 msgid "Align End with Selection En&d"
 msgstr "Einde uitlijnen op &Einde Selectie"
 
-#: Menus.cpp:604
+#: Menus.cpp:651
 msgid "Align Tracks To&gether"
 msgstr "&Sporen op elkaar uitlijnen"
 
-#: Menus.cpp:681
+#: Menus.cpp:653
 msgid "&Align Tracks"
-msgstr ""
+msgstr "Sporen &uitlijnen"
 
-#: Menus.cpp:690
+#: Menus.cpp:668
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "Uitlijnen en &cursor verplaatsen"
 
-#: Menus.cpp:697
+#: Menus.cpp:680
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "Synchroniseer MIDI met audio"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr ""
+#: Menus.cpp:687
+msgid "&Link Audio and Label Tracks"
+msgstr "Audio- en labeltracks koppe&len"
 
-#: Menus.cpp:705
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "&Label toevoegen bij selectie\tCtrl+B"
+#: Menus.cpp:691
+msgid "Add Label At &Selection"
+msgstr "Label toevoegen bij &selectie"
+
+#: Menus.cpp:694
+msgid "Add Label At &Playback Position"
+msgstr "Label toevoegen bij afs&peelpositie"
 
-#: Menus.cpp:706
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Label toevoegen bij afs&peelpositie\tCtrl+M"
+#: Menus.cpp:697
+msgid "&Edit Labels"
+msgstr "Labels be&werken"
 
-#: Menus.cpp:716
+#: Menus.cpp:703
 msgid "S&ort tracks"
-msgstr ""
+msgstr "Sp&oren sorteren op"
 
-#: Menus.cpp:717
+#: Menus.cpp:705
 msgid "by &Start time"
-msgstr ""
+msgstr "op &begintijd"
 
-#: Menus.cpp:719
+#: Menus.cpp:708
 msgid "by &Name"
-msgstr ""
+msgstr "op &naam"
 
-#: ../src/Menus.cpp:441
+#: Menus.cpp:722
 msgid "&Generate"
 msgstr "&Genereren"
 
-#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
+#: Menus.cpp:767
+#: Menus.cpp:852
+#: Menus.cpp:922
 msgid "Unsorted"
-msgstr ""
+msgstr "Ongesorteerd"
 
 # meervoud is mooier/beter
-#: ../src/Menus.cpp:464
+#: Menus.cpp:789
 msgid "Effe&ct"
 msgstr "&Effecten"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Laatste effect herhalen\tCtrl+R"
-
-#: ../src/Menus.cpp:494
+#: Menus.cpp:873
 msgid "&Analyze"
 msgstr "&Analyseren"
 
+#: Menus.cpp:875
+msgid "Contrast..."
+msgstr "Contrast..."
+
 # berekenen/tonen
-#: Menus.cpp:686
+#: Menus.cpp:878
 msgid "Plot Spectrum..."
 msgstr "Spectrum tonen…"
 
-#. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:521 ../src/Menus.cpp:537
+#: Menus.cpp:945
+#: Menus.cpp:948
 msgid "&Help"
-msgstr "&Hulp"
+msgstr "&Help"
 
-#: Menus.cpp:829
+#: Menus.cpp:952
 msgid "&About Audacity CleanSpeech..."
 msgstr "&Informatie over Audacity CleanSpeech…"
 
-#: Menus.cpp:735
+#: Menus.cpp:958
 msgid "&Show Welcome Message..."
 msgstr "&Welkomstbericht tonen…"
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr "&Index…"
-
 #: Menus.cpp:959
+msgid "&Help..."
+msgstr "&Help..."
+
+#: Menus.cpp:960
 msgid "Show &Log..."
-msgstr ""
+msgstr "Toon &log..."
 
-#: Menus.cpp:790
+#: Menus.cpp:966
 msgid "&Screenshot Tools..."
 msgstr "&Schermafdrukken…"
 
 # prestatietest/benchmark uitvoeren
-#: ../src/Menus.cpp:530
+#: Menus.cpp:971
 msgid "&Run Benchmark..."
 msgstr "&Prestaties testen…"
 
-#: Menus.cpp:737
+#: Menus.cpp:976
 msgid "&Audio Device Info..."
 msgstr "&Audio-apparaat info…"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
+#: Menus.cpp:987
+msgid "Move backward from toolbars to tracks"
+msgstr "Achterwaarts doorlopen van werkbalken naar sporen"
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
+#: Menus.cpp:988
+msgid "Move forward from toolbars to tracks"
+msgstr "Voorwaarts doorlopen van werkbalken naar sporen"
 
 # overal Tool (functie) weglaten en werkwoord gebruiken
-#: ../src/Menus.cpp:546
-msgid "Selection Tool\tF1"
-msgstr "Selecteren\tF1"
+#: Menus.cpp:990
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Selecteren"
 
 # Tool (functie) weglaten en werkwoord gebruiken
-#: ../src/Menus.cpp:547
-msgid "Envelope Tool\tF2"
-msgstr "Verloop\tF2"
+#: Menus.cpp:991
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Verloop"
 
 # Overal tool weglaten en werkwoord gebruiken
-#: ../src/Menus.cpp:548
-msgid "Draw Tool\tF3"
-msgstr "Tekenen\tF3"
+#: Menus.cpp:992
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Tekenen"
 
 # het woord Tool niet vertalen hier
-#: ../src/Menus.cpp:549
-msgid "Zoom Tool\tF4"
-msgstr "Zoomen\tF4"
+#: Menus.cpp:993
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Zoomen"
 
 # Dit is de tooltip en de tekst van de statusbalk.
 # Bij alle andere tools wordt ook het hele werkwoord
 # gebruikt, vandaar dus geen: Tijdverschuiving.
 # Ook het woord Tool is hier met reden niet meevertaald.
-#: ../src/Menus.cpp:550
-msgid "Time Shift Tool\tF5"
-msgstr "Tijd verschuiven\tF5"
-
-# combinatie modus/stand
-#: ../src/Menus.cpp:551
-msgid "Multi Tool\tF6"
-msgstr "Combinatiestand\tF6"
-
-#: ../src/Menus.cpp:553
-msgid "Next Tool\tD"
-msgstr "Volgende tool\tD"
+#: Menus.cpp:994
+#: toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Tijd verschuiven"
 
-#: ../src/Menus.cpp:554
-msgid "Previous Tool\tA"
-msgstr "Vorige tool\tA"
+#: Menus.cpp:995
+#: toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Combinatietool"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
+msgid "Next Tool"
+msgstr "Volgende tool"
 
-#: ../src/Menus.cpp:557
-msgid "Stop\tS"
-msgstr "Stoppen\tS"
+#: Menus.cpp:998
+msgid "Previous Tool"
+msgstr "Vorige tool"
 
-#: ../src/Menus.cpp:558
-msgid "Pause\tP"
-msgstr "Pauzeren\tP"
+#: Menus.cpp:1000
+msgid "Play/Stop"
+msgstr "Afspelen/Stoppen"
 
-#: ../src/Menus.cpp:559
-msgid "Record\tR"
-msgstr "Opnemen\tR"
+#: Menus.cpp:1001
+msgid "Play/Stop and Set Cursor"
+msgstr "Afspelen/stoppen en op cursor zetten"
 
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr ""
-
-#: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr ""
-
-#: ../src/Menus.cpp:561
-msgid "Play One Second\t1"
-msgstr "Een seconde afspelen\t1"
+#: Menus.cpp:1002
+msgid "Play One Second"
+msgstr "Een seconde afspelen"
 
 # wat doet dit precies? (tino)
-#: ../src/Menus.cpp:562
-msgid "Play To Selection\tB"
-msgstr "Afspelen op selectie\tB"
+#: Menus.cpp:1003
+msgid "Play To Selection"
+msgstr "Afspelen op selectie"
 
-#: ../src/Menus.cpp:563
-msgid "Play Looped\tL"
-msgstr "Herhaaldelijk afspelen\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
-
-#: Menus.cpp:873
-msgid "Play Cut Preview\tC"
-msgstr "Luistervoorbeeld snijpunt\tC"
+#: Menus.cpp:1004
+msgid "Play Cut Preview"
+msgstr "Luistervoorbeeld snijpunt"
 
-#: ../src/Menus.cpp:569
-msgid "Selection to Start\tShift+Home"
-msgstr "Selecteren vanaf Begin\tShift+Home"
+#: Menus.cpp:1006
+msgid "Selection to Start"
+msgstr "Selectie naar begin"
 
-#: ../src/Menus.cpp:570
-msgid "Selection to End\tShift+End"
-msgstr "Selecteren tot Einde\tCtrl+End"
+#: Menus.cpp:1007
+msgid "Selection to End"
+msgstr "Selectie naar einde"
 
-#: ../src/Menus.cpp:572
-msgid "DeleteKey\tBackspace"
-msgstr "DeleteKey\tBackspace"
+#: Menus.cpp:1009
+msgid "DeleteKey"
+msgstr "Verwijderen"
 
-#: ../src/Menus.cpp:577
-msgid "DeleteKey2\tDelete"
-msgstr "DeleteKey2\tDelete"
+#: Menus.cpp:1013
+msgid "DeleteKey2"
+msgstr "Verwijderen2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
-msgstr "Tijdens afspelen klein stapje terug spoelen\tLeft"
+#: Menus.cpp:1019
+msgid "Short seek left during playback"
+msgstr "Tijdens afspelen klein stapje terugspoelen"
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
-msgstr "Tijdens afspelen klein stapje vooruit spoelen\tRight"
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
+msgstr "Tijdens afspelen klein stapje vooruitspoelen"
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Tijdens afspelen grote stap terug spoelen\tShift+Left"
+#: Menus.cpp:1021
+msgid "Long seek left during playback"
+msgstr "Tijdens afspelen grote stap terugspoelen"
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Tijdens afspelen grote stap vooruit spoelen\tShift+Right"
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
+msgstr "Tijdens afspelen grote stap vooruitspoelen"
 
 # bovenliggend/onderliggend vorige/volgende
-#: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Focus naar vorige spoor\tUp"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous Track"
+msgstr "Focus naar vorige spoor"
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Focus naar vorige spoor en wijzig selectie\tShift+Up"
+#: Menus.cpp:1028
+msgid "Move Focus to Previous and Select"
+msgstr "Focus naar vorige spoor en selecteren"
 
-#: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
-msgstr "Focus naar volgende spoor\tDown"
+#: Menus.cpp:1029
+msgid "Move Focus to Next Track"
+msgstr "Focus naar volgende spoor"
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Focus naar volgende spoor en wijzig selectie\tShift+Down"
+#: Menus.cpp:1030
+msgid "Move Focus to Next and Select"
+msgstr "Focus naar volgende spoor en selecteren"
 
 # return = enter
-#: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr "Focus op spoor aan/uit\tReturn"
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Focus op spoor aan/uit\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+#: Menus.cpp:1031
+#: Menus.cpp:1032
+msgid "Toggle Focused Track"
+msgstr "Focus op spoor aan/uit"
 
-#: ../src/Menus.cpp:582
-msgid "Cursor Left\tLeft"
-msgstr "Cursor links\tLeft"
+#: Menus.cpp:1034
+msgid "Cursor Left"
+msgstr "Cursor links"
 
-#: ../src/Menus.cpp:583
-msgid "Cursor Right\tRight"
-msgstr "Cursor rechts\tRight"
+#: Menus.cpp:1035
+msgid "Cursor Right"
+msgstr "Cursor rechts"
 
-#: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
-msgstr "Cursor korte sprong links\t,"
+#: Menus.cpp:1036
+msgid "Cursor Short Jump Left"
+msgstr "Cursor korte sprong links"
 
-#: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
-msgstr "Cursor korte sprong rechts\t."
+#: Menus.cpp:1037
+msgid "Cursor Short Jump Right"
+msgstr "Cursor korte sprong rechts"
 
-#: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Cursor grote sprong links\tShift+,"
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Left"
+msgstr "Cursor grote sprong links"
 
-#: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Cursor grote sprong rechts\tShift+."
+#: Menus.cpp:1039
+msgid "Cursor Long Jump Right"
+msgstr "Cursor grote sprong rechts"
 
-# uitbreiden/vergroten
-#: ../src/Menus.cpp:584
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Selectie naar links vergroten\tShift+Left"
+#: Menus.cpp:1041
+msgid "Selection Extend Left"
+msgstr "Selectie uitbreiden naar links"
 
-# uitbreiden/vergroten
-#: ../src/Menus.cpp:585
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Selectie naar rechts vergroten\tShift+Right"
+#: Menus.cpp:1042
+msgid "Selection Extend Right"
+msgstr "Selectie uitbreiden naar rechts"
 
-# (or extend) weggelaten om dat je de rand niet kunt uitbreiden, 
+# (or extend) weggelaten om dat je de rand niet kunt uitbreiden,
 # de selectie zelf wel.
-#: Menus.cpp:828
+#: Menus.cpp:1044
 msgid "Set (or Extend) Left Selection"
 msgstr "Linker selectierand instellen"
 
-#: Menus.cpp:829
+#: Menus.cpp:1045
 msgid "Set (or Extend) Right Selection"
 msgstr "Rechter selectierand instellen"
 
-#: ../src/Menus.cpp:586
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Selectie naar links verkleinen\tCtrl+Shift+Right"
+#: Menus.cpp:1047
+msgid "Selection Contract Left"
+msgstr "Selectie naar links verkleinen"
 
-#: ../src/Menus.cpp:587
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Selectie naar rechts verkleinen\tCtrl+Shift+Left"
+#: Menus.cpp:1048
+msgid "Selection Contract Right"
+msgstr "Selectie naar links verkleinen"
 
-#: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
-msgstr "Balans wijzigen op spoor met focus\tShift+P"
+#: Menus.cpp:1050
+msgid "Change pan on focused track"
+msgstr "Balans wijzigen op spoor met focus"
 
-#: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Balans naar links op spoor met focus\tAlt+Shift+Left"
+#: Menus.cpp:1051
+msgid "Pan left on focused track"
+msgstr "Balans naar links op spoor met focus"
 
-#: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Balans naar rechts op spoor met focus\tAlt+Shift+Right"
+#: Menus.cpp:1052
+msgid "Pan right on focused track"
+msgstr "Balans naar rechts op spoor met focus"
 
-#: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
-msgstr "Versterking wijzigen op spoor met focus\tShift+G"
+#: Menus.cpp:1053
+msgid "Change gain on focused track"
+msgstr "Versterking wijzigen op spoor met focus"
 
-#: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Meer versterking op spoor met focus\tAlt+Shift+Up"
+#: Menus.cpp:1054
+msgid "Increase gain on focused track"
+msgstr "Meer versterking op spoor met focus"
 
-#: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Minder versterking op spoor met focus\tAlt+Shift+Down"
+#: Menus.cpp:1055
+msgid "Decrease gain on focused track"
+msgstr "Minder versterking op spoor met focus"
 
-#: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
-msgstr "Open het menu op het spoor met focus\tShift+M"
+#: Menus.cpp:1056
+msgid "Open menu on focused track"
+msgstr "Open het menu op het spoor met focus"
 
 # maak het spoor met focus stil of niet
-#: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Zet ‘stil’ uit/aan op het spoor met focus\tShift+U"
+#: Menus.cpp:1057
+msgid "Mute/Unmute focused track"
+msgstr "Zet ‘stil’ aan/uit op het spoor met focus"
 
-#: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Zet ‘solo’ aan/uit op het spoor met focus\tShift+S"
+#: Menus.cpp:1058
+msgid "Solo/Unsolo focused track"
+msgstr "Zet ‘solo’ aan/uit op het spoor met focus"
 
-#: Menus.cpp:925
-msgid "Close focused track\tShift+C"
-msgstr "Sluit het spoor met focus\tShift+C"
+#: Menus.cpp:1059
+msgid "Close focused track"
+msgstr "Sluit het spoor met focus"
 
-#: Menus.cpp:824
+#: Menus.cpp:1061
 msgid "Snap To On"
 msgstr "Raster (Snap-To) aanzetten"
 
-#: Menus.cpp:825
+#: Menus.cpp:1062
 msgid "Snap To Off"
 msgstr "Raster (Snap-To) uitzetten"
 
+#: Menus.cpp:1066
+msgid "Full screen on/off"
+msgstr "Volledig scherm aan/uit"
+
+#: Menus.cpp:1068
+msgid "Adjust output gain"
+msgstr "Uitvoerversterking aanpassen"
+
+#: Menus.cpp:1069
+msgid "Increase output gain"
+msgstr "Uitvoerversterking verhogen"
+
+#: Menus.cpp:1070
+msgid "Decrease output gain"
+msgstr "Uitvoerversterking verlagen"
+
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
-msgstr ""
+msgid "Adjust input gain"
+msgstr "Invoerversterking aanpassen"
+
+#: Menus.cpp:1072
+msgid "Increase input gain"
+msgstr "Invoerversterking verhogen"
+
+#: Menus.cpp:1073
+msgid "Decrease input gain"
+msgstr "Invoerversterking verlagen"
+
+#: Menus.cpp:1075
+msgid "Adjust input source"
+msgstr "Invoerbron wijzigen"
+
+# op tempo afspelen
+#: Menus.cpp:1079
+msgid "Play at speed"
+msgstr "Afspelen met snelheid"
+
+#: Menus.cpp:1080
+msgid "Adjust playback speed"
+msgstr "Afspeelsnelheid wijzigen"
+
+#: Menus.cpp:1081
+msgid "Increase playback speed"
+msgstr "Afspeelsnelheid verhogen"
+
+#: Menus.cpp:1082
+msgid "Decrease playback speed"
+msgstr "Afspeelsnelheid verlagen"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:939
+#: Menus.cpp:1167
 msgid "Open Recent"
 msgstr "Recent project openen"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1161
+#: Menus.cpp:1170
 msgid "Recent &Files"
-msgstr ""
+msgstr "&Recente bestanden"
 
-#: ../src/Menus.cpp:617
+#: Menus.cpp:1188
 #, c-format
 msgid "&Undo %s"
 msgstr "%s &ongedaan maken"
 
 # Kan de bewerking niet ongedaan maken
 # (voorstel van Sander J. Alkemade)
-#: ../src/Menus.cpp:623
+#: Menus.cpp:1214
 msgid "Can't Undo"
 msgstr "Kan het niet herstellen"
 
-#: ../src/Menus.cpp:630
+#: Menus.cpp:1223
 #, c-format
 msgid "&Redo %s"
 msgstr "%s &opnieuw doen"
 
-#: ../src/Menus.cpp:636
+#: Menus.cpp:1229
 msgid "Can't Redo"
 msgstr "Kan het niet opnieuw doen"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1874
 msgid "Sort By Time"
 msgstr "Sorteren op tijd"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1874
 msgid "Tracks sorted by time"
 msgstr "Sporen gesorteerd op tijd"
 
-#: Menus.cpp:1583
+#: Menus.cpp:1900
 msgid "Sort By Name"
 msgstr "Sorteren op naam"
 
-#: Menus.cpp:1583
+#: Menus.cpp:1900
 msgid "Tracks sorted by name"
 msgstr "Sporen gesorteerd op naam"
 
-#: Menus.cpp:1710
-msgid "Set Left Selection Bound"
-msgstr "Stel de linker selectiegrens in"
+#: Menus.cpp:2051
+#: Menus.cpp:2087
+msgid "Position"
+msgstr "Positie"
+
+#: Menus.cpp:2051
+msgid "Set Left Selection Boundary"
+msgstr "Linker selectiegrens instellen"
 
-#: Menus.cpp:1744
-msgid "Set Right Selection Bound"
-msgstr "Stel de rechter selectiegrens in"
+#: Menus.cpp:2087
+msgid "Set Right Selection Boundary"
+msgstr "Rechter selectiegrens instellen"
 
-#: ../src/Menus.cpp:1222
+#: Menus.cpp:2444
 msgid "You must select a track first."
 msgstr "U moet eerst een spoor selecteren"
 
-# laatste effect herhalen
-#: ../src/Menus.cpp:1245
+#: Menus.cpp:2479
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "%s herhalen\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Herhalen %s"
 
-#: ../src/Menus.cpp:1349
+#: Menus.cpp:2620
 msgid "There are no label tracks to export."
 msgstr "Er zijn geen labelsporen om te exporteren."
 
-#: Menus.cpp:2608
+#: Menus.cpp:2715
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "MIDI exporteren als:"
 
-#: Menus.cpp:2612
+#: Menus.cpp:2719
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "MIDI-bestanden (*.mid)|*.mid|Allegro-bestanden (*.gro)|*.gro"
 
-#: Menus.cpp:2644
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2751
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
+"U hebt een bestandsnaam gekozen met een niet-herkende extensie.\n"
+"Wilt u doorgaan?"
 
-#: Menus.cpp:2645
+#: Menus.cpp:2752
 msgid "Export MIDI"
-msgstr ""
+msgstr "MIDI exporteren"
 
-#: ../src/Menus.cpp:1633
+#: Menus.cpp:2830
 msgid "Nothing to undo"
 msgstr "Niets te herstellen"
 
-#: ../src/Menus.cpp:1652
+#: Menus.cpp:2851
 msgid "Nothing to redo"
 msgstr "Niets te herhalen"
 
-#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1710
+#: Menus.cpp:2958
+#: TrackPanel.cpp:652
+#: toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Knippen"
 
-#: ../src/Menus.cpp:1710
+#: Menus.cpp:2958
 msgid "Cut to the clipboard"
 msgstr "Knippen naar het klembord"
 
-#: Menus.cpp:2468
+#: Menus.cpp:2997
 msgid "Split Cut"
 msgstr "Splitsen+knippen"
 
-#: Menus.cpp:2468
+#: Menus.cpp:2997
 msgid "Split-cut to the clipboard"
 msgstr "Splitsen+knippen naar het klembord"
 
-#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1815 ../src/Menus.cpp:1859
+#: Menus.cpp:3063
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
+#: TrackPanel.cpp:654
+#: toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Plakken"
 
 # tekst uit/van het klembord geplakt
 # tekst geplakt van het klembord
-#: Menus.cpp:2530
+#: Menus.cpp:3063
 msgid "Pasted text from the clipboard"
 msgstr "Tekst van het klembord geplakt"
 
-#: ../src/Menus.cpp:1815 ../src/Menus.cpp:1859
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
 msgid "Pasted from the clipboard"
 msgstr "Geplakt van het klembord"
 
-#: Menus.cpp:3053
+#: Menus.cpp:3277
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "Kopiëren van het ene type spoor naar het ander is niet toegestaan."
 
-#: Menus.cpp:2628
+#: Menus.cpp:3289
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Stereogeluid kopiëren naar een monospoor is niet toegestaan."
 
 # dit bericht verschijnt oa bij Undo/Redo en de geschiedenis.
-#: ../src/Menus.cpp:1899
+#: Menus.cpp:3444
+#: toolbars/EditToolBar.cpp:193
 msgid "Trim"
 msgstr "Uitknippen"
 
-#: ../src/Menus.cpp:1899
+#: Menus.cpp:3444
 msgid "Trim file to selection"
 msgstr "Selectie uitknippen"
 
-#: Menus.cpp:2747
+#: Menus.cpp:3473
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Gesplitst+verwijderd: %.2f seconden bij t=%.2f"
 
-#: Menus.cpp:2750
+#: Menus.cpp:3476
 msgid "Split Delete"
 msgstr "Splitsen+verwijderen"
 
-#: Menus.cpp:2771
+#: Menus.cpp:3497
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Losgemaakt: %.2f seconden bij t=%.2f"
 
-#: Menus.cpp:2774
+#: Menus.cpp:3500
 msgid "Disjoin"
 msgstr "Losmaken"
 
-#: Menus.cpp:2795
+#: Menus.cpp:3521
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Samengevoegd: %.2f seconden bij t=%.2f seconden"
 
-#: Menus.cpp:2798
+#: Menus.cpp:3524
 msgid "Join"
 msgstr "Samenvoegen"
 
 # BUG Engels is inconsistent, formulering is zonder "t="
 # stil gemaakt/geluidloos gemaakt
 # beginnend bij t=/beginnend op
-#: ../src/Menus.cpp:1923
+#: Menus.cpp:3543
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Geselecteerde sporen stil gemaakt gedurende %.2f seconden bij t=%.2f"
 
-#: ../src/Menus.cpp:1925
+#: Menus.cpp:3545
+#: toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Stilte"
 
-#: ../src/Menus.cpp:1959
+#: Menus.cpp:3575
 msgid "Duplicate"
 msgstr "Dupliceren"
 
-#: ../src/Menus.cpp:1959
+#: Menus.cpp:3575
 msgid "Duplicated"
 msgstr "Gedupliceerd"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3594
 msgid "Cut Labels"
 msgstr "Labels knippen"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3594
 msgid "Cut labeled regions to the clipboard"
 msgstr "Gelabelde gebieden geknipt naar het klembord"
 
-#: Menus.cpp:2886
+#: Menus.cpp:3608
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Gelabelde gebieden gesplitst+geknipt naar het klembord"
 
-#: Menus.cpp:2887
+#: Menus.cpp:3609
 msgid "Split Cut Labels"
 msgstr "Labels splitsen+knippen"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3623
 msgid "Copied labeled regions to the clipboard"
 msgstr "Gelabelde gebieden gekopieerd naar het klembord"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3623
 msgid "Copy Labels"
 msgstr "Labels kopiëren"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3635
 msgid "Delete Labels"
 msgstr "Labels verwijderen"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3635
 msgid "Deleted labeled regions"
 msgstr "Gelabelde gebieden verwijderd"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3647
 msgid "Split Delete Labels"
 msgstr "Labels splitsen+verwijderen"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3647
 msgid "Split Deleted labeled regions"
 msgstr "Gelabelde gebieden gesplitst+verwijderd"
 
 # labels stil/stil maken/stiltelabels/
-#: Menus.cpp:2937
+#: Menus.cpp:3659
 msgid "Silence Labels"
 msgstr "Labels stil maken"
 
-#: Menus.cpp:2937
+#: Menus.cpp:3659
 msgid "Silenced labeled regions"
 msgstr "Gelabelde gebieden stil gemaakt"
 
 # wordt gebruikt bij: 'Labels splitsen' ongedaan maken
-#: Menus.cpp:2949
+#: Menus.cpp:3671
 msgid "Split Labels"
 msgstr "Labels splitsen"
 
-#: Menus.cpp:2949
+#: Menus.cpp:3671
 msgid "Split labeled regions"
 msgstr "Gelabelde gebieden gesplitst"
 
-#: Menus.cpp:2961
+#: Menus.cpp:3683
 msgid "Join Labels"
 msgstr "Labels samenvoegen"
 
-#: Menus.cpp:2961
+#: Menus.cpp:3683
 msgid "Joined labeled regions"
 msgstr "Gelabelde gebieden samengevoegd"
 
-#: Menus.cpp:2973
+#: Menus.cpp:3695
 msgid "Disjoin Labels"
 msgstr "Labels losmaken"
 
-#: Menus.cpp:2973
+#: Menus.cpp:3695
 msgid "Disjoined labeled regions"
 msgstr "Gelabelde gebieden losgemaakt"
 
-#: ../src/Menus.cpp:2006 ../src/TrackPanel.cpp:4134
+#: Menus.cpp:3717
+#: TrackPanel.cpp:6257
 msgid "Split"
 msgstr "Splitsen"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3806
 msgid "Split New"
 msgstr "Afsplitsen"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3806
 msgid "Split to new track"
 msgstr "Afsplitsen naar nieuw spoor"
 
-#: ../src/Menus.cpp:2089
+#: Menus.cpp:3888
 msgid "Split at labels"
 msgstr "Splitsen bij labels"
 
-#: ../src/Menus.cpp:2366
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Om het spectrum te tekenen moeten alle sporen dezelfde samplefrequentie hebben."
-
-#: ../src/Menus.cpp:2392
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Er was teveel audio geselecteerd.  Alleen de eerste %.1f seconden audio worden geanaliseerd."
-
-#: ../src/Menus.cpp:2657
+#: Menus.cpp:4302
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Labels van ‘%s’ is geïmporteerd"
 
-#: ../src/Menus.cpp:2658
+#: Menus.cpp:4303
 msgid "Import Labels"
 msgstr "Labels importeren"
 
-#: ../src/Menus.cpp:2669
+#: Menus.cpp:4314
 msgid "Select a MIDI file..."
 msgstr "Selecteer een MIDI-bestand…"
 
-#: Menus.cpp:4147
+#: Menus.cpp:4318
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "MIDI- en Allegro-bestanden (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI-bestanden (*.mid;*.midi)|*.mid;*.midi|Allegro-bestanden (*.gro)|*.gro|Alle bestanden (*.*)|*.*"
 
-#: ../src/Menus.cpp:2691
+#: Menus.cpp:4334
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "MIDI van ‘%s’ is geïmporteerd"
 
-#: ../src/Menus.cpp:2693
+#: Menus.cpp:4335
 msgid "Import MIDI"
 msgstr "MIDI importeren"
 
-#: ../src/Menus.cpp:2706
+#: Menus.cpp:4349
 msgid "Select any uncompressed audio file..."
 msgstr "Selecteer een audiobestand zonder compressie…"
 
-#: ../src/Menus.cpp:2710
+#: Menus.cpp:4353
 msgid "All files (*)|*"
 msgstr "Alle bestanden (*)|*"
 
-#: Menus.cpp:3547
+#: Menus.cpp:4377
 msgid "Edit the metadata tags"
 msgstr "De metadata-tags bewerken"
 
-#: Menus.cpp:3548
+#: Menus.cpp:4378
+#: export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Metadata bewerken"
 
-#: Menus.cpp:3548
+#: Menus.cpp:4378
 msgid "Edit Metadata tags"
 msgstr "Metadata-tags bewerken"
 
 # doorgerekend/berekend
-#: Menus.cpp:3749
+#: Menus.cpp:4433
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Alle audio in spoor ‘%s’ is doorgerekend"
 
 # Tekenen/berekenen/opmaken/maken/aanmaken/afmaken
-#: Menus.cpp:3750
+#: Menus.cpp:4434
 msgid "Render"
 msgstr "Doorrekenen"
 
-#: Menus.cpp:3755
+#: Menus.cpp:4439
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "%d sporen gemixed en doorgerekend naar één nieuw stereospoor"
 
-#: Menus.cpp:3758
+#: Menus.cpp:4442
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "%d sporen gemixed en doorgerekend naar één nieuw monospoor"
 
-# Mixen/mix uitvoeren/mixen en berekenen/mixen en opmaken
-# mixen en wegschrijven/mixen en doorrekenen
-#: Menus.cpp:658 Menus.cpp:3760 Mix.cpp:119
-msgid "&Mix and Render"
-msgstr "&Mixen en doorrekenen"
+#: Menus.cpp:4444
+#: Mix.cpp:120
+msgid "Mix and Render"
+msgstr "Mixen en doorrekenen"
 
-#: ../src/Menus.cpp:2889
+#: Menus.cpp:4576
 msgid "Aligned with zero"
 msgstr "Op nulpunt uitgelijnd"
 
 # Dit is niet een strikte vertaling, maar wel wat er gebeurd
 # De tekst verschijnt in de Bewerkingsgeschiedenis
-#: ../src/Menus.cpp:2893
+#: Menus.cpp:4580
 msgid "Aligned cursor"
 msgstr "Op cursor uitgelijnd"
 
-#: ../src/Menus.cpp:2897
+#: Menus.cpp:4584
 msgid "Aligned with selection start"
 msgstr "Uitgelijnd op begin selectie"
 
-#: ../src/Menus.cpp:2901
+#: Menus.cpp:4588
 msgid "Aligned with selection end"
 msgstr "Uitgelijnd op einde selectie"
 
-#: ../src/Menus.cpp:2905
+#: Menus.cpp:4592
 msgid "Aligned end with cursor"
 msgstr "Einde uitgelijnd op cursor"
 
-#: ../src/Menus.cpp:2909
+#: Menus.cpp:4596
 msgid "Aligned end with selection start"
 msgstr "Einde uitgelijnd op begin selectie"
 
-#: ../src/Menus.cpp:2913
+#: Menus.cpp:4600
 msgid "Aligned end with selection end"
 msgstr "Einde uitgelijnd op einde selectie"
 
-#: ../src/Menus.cpp:2917
+#: Menus.cpp:4604
 msgid "Aligned"
 msgstr "Uitgelijnd"
 
-#: ../src/Menus.cpp:2950
+#: Menus.cpp:4637
 msgid "Align"
 msgstr "Uitlijnen"
 
-#: Menus.cpp:4550
+#: Menus.cpp:4723
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "MIDI met Audio Synchroniseren"
 
-#: Menus.cpp:4554
+#: Menus.cpp:4727
 msgid "Alignment completed."
-msgstr ""
+msgstr "Uitlijning voltooid."
 
-#: ../src/Menus.cpp:2974
+#: Menus.cpp:4738
 msgid "Created new audio track"
 msgstr "Nieuw audiospoor aangemaakt"
 
-#: ../src/Menus.cpp:2974 ../src/Menus.cpp:2998 ../src/Menus.cpp:3013
-#: ../src/Menus.cpp:3049
+#: Menus.cpp:4738
+#: Menus.cpp:4760
+#: Menus.cpp:4775
+#: Menus.cpp:4795
 msgid "New Track"
 msgstr "Nieuw spoor"
 
-#: ../src/Menus.cpp:2998
+#: Menus.cpp:4760
 msgid "Created new stereo audio track"
 msgstr "Nieuw stereo audiospoor aangemaakt"
 
-#: ../src/Menus.cpp:3013
+#: Menus.cpp:4775
 msgid "Created new label track"
 msgstr "Een nieuw labelspoor aangemaakt"
 
-#: ../src/Menus.cpp:3038
+#: Menus.cpp:4784
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Deze versie van Audacity heeft geen ondersteuning voor meerdere tijdsporen."
 
-#: ../src/Menus.cpp:3049
+#: Menus.cpp:4795
 msgid "Created new time track"
 msgstr "Nieuw tijdspoor aangemaakt"
 
-#: ../src/Menus.cpp:3085
+#: Menus.cpp:4855
 msgid "Added label"
 msgstr "Label toegevoegd"
 
-#: Menus.cpp:4119
+#: Menus.cpp:4890
 msgid "Edited labels"
 msgstr "Bewerkte labels"
 
-#: Menus.cpp:4146
+#: Menus.cpp:4917
 msgid "Save CleanSpeech Preset File As:"
 msgstr "CleanSpeech voorinstellingenbestand opslaan als:"
 
-#: Menus.cpp:4150
+#: Menus.cpp:4921
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "CleanSpeech voorinstellingen (*.csp)|*.csp"
 
-#: ../src/export/Export.cpp:185
+#: Menus.cpp:4928
+#: export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Sorry, padnamen die langer zijn dan 256 tekens worden niet ondersteund."
 
-#: Menus.cpp:4203
+#: Menus.cpp:4974
 msgid "Problem encountered exporting presets."
 msgstr "Probleem bij het exporteren van voorinstellingen."
 
 # exporteren was niet mogelijk
-#: Menus.cpp:4204 export/Export.cpp:136
+#: Menus.cpp:4975
+#: export/Export.cpp:472
 msgid "Unable to export"
 msgstr "Kon niet exporteren"
 
-#: ../src/Menus.cpp:3119
+#: Menus.cpp:5158
 msgid "Remove Track"
 msgstr "Spoor verwijderen"
 
-#: ../src/Menus.cpp:3119
+#: Menus.cpp:5158
 msgid "Removed audio track(s)"
 msgstr "Audiosporen verwijderd"
 
-#: Menus.cpp:4480 Menus.cpp:4499
+#: Menus.cpp:5314
+#: Menus.cpp:5370
+#: export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Resampelen"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5335
+#: TrackPanel.cpp:6481
 msgid "New sample rate (Hz):"
 msgstr "Nieuwe samplefrequentie (Hz):"
 
 # ongeldige waarde!
-#: Menus.cpp:4486
+#: Menus.cpp:5359
+#: TrackPanel.cpp:6505
 msgid "The entered value is invalid"
 msgstr "De ingevoerde waarde is ongeldig"
 
-#: Menus.cpp:4497
+#: Menus.cpp:5368
 #, c-format
 msgid "Resampling track %d"
 msgstr "Spoor %d resampelen"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5377
 msgid "Resample Track"
 msgstr "Spoor resampelen"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5377
 msgid "Resampled audio track(s)"
 msgstr "Geluidsporen geresampeled"
 
-#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
+#: Mix.cpp:95
+#: Mix.cpp:102
 msgid "Mix"
 msgstr "Mixen"
 
-#: Mix.cpp:120
+#: Mix.cpp:121
 msgid "Mixing and rendering tracks"
 msgstr "Sporen mixen en doorrekenen"
 
 # notenbalk (sander)
-#: ../src/NoteTrack.cpp:30
+#: NoteTrack.cpp:43
 msgid "Note Track"
 msgstr "Notenbalk"
 
-#: ../src/Menus.cpp:1614
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Er was een probleem bij het afdrukken."
 
-#: ../src/Menus.cpp:1615
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Afdrukken"
 
-#: Project.cpp:573
+#: Project.cpp:671
+msgid "Repeat Last Effect"
+msgstr "Laatste effect herhalen"
+
+#: Project.cpp:776
 msgid "Main Mix"
 msgstr "Hoofdmix"
 
-#: Project.cpp:693
+#: Project.cpp:894
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Welkom bij Audacity versie %s"
 
-#: Project.cpp:831
+#: Project.cpp:1049
 msgid "(Recovered)"
 msgstr "(Hersteld)"
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
+#: toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Opnemen"
 
 # Dit komt in het geschiedenis-venster en moet dus een actie zijn:
 # Wat is er gedaan? Geluid opgenomen
-#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
 msgid "Recorded Audio"
 msgstr "Geluid opgenomen"
 
-#: ../src/Project.cpp:1716
+#: Project.cpp:1736
 msgid "Save changes before closing?"
 msgstr "Wijzigingen opslaan voor afsluiten?"
 
-#: Project.cpp:1503
-msgid "\n"
+#: Project.cpp:1739
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
 msgstr ""
+"\n"
+"Indien opgeslagen, zal het project geen sporen hebben.\n"
+"\n"
+"Om eerdere open sporen op te slaan:\n"
+"Annuleren, Bewerken > Herstellen tot alle sporen\n"
+"geopend zijn, dan Bestand > Project opslaan."
 
-#: ../src/Project.cpp:1717
+#: Project.cpp:1742
 msgid "Save changes?"
 msgstr "Wijzigingen opslaan?"
 
 # alle ondersteunde bestanden/bestandsformaten
-#: Project.cpp:1648
-msgid "All files|*.*|All supported files|"
-msgstr "Alle bestanden|*.*|Alle ondersteunde bestanden|"
+#: Project.cpp:1954
+msgid "All files|*|All supported files|"
+msgstr "Alle bestanden|*|Alle ondersteunde bestanden|"
 
-#: ../src/Menus.cpp:2592 ../src/Project.cpp:1738
+#: Project.cpp:1984
 msgid "Select one or more audio files..."
 msgstr "Selecteer een of meerdere audiobestanden…"
 
-#: Project.cpp:1700
+#: Project.cpp:2011
 msgid "Audacity projects|*.aup|"
 msgstr "Audacity-projecten|*.aup|"
 
-#: Project.cpp:1799 Project.cpp:2186
+#: Project.cpp:2071
+#: Project.cpp:2506
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr "Dit bestand is opgeslagen met Audacity %s, een veel\n"
+msgstr ""
+"Dit bestand is opgeslagen met Audacity %s, een veel\n"
 "oudere versie. De bestandsindeling is inmiddels \n"
 "gewijzigd.\n"
 "\n"
@@ -2988,82 +3289,116 @@ msgstr "Dit bestand is opgeslagen met Audacity %s, een veel\n"
 "Dit bestand nu openen?"
 
 # eerder/ouder
-#: Project.cpp:1800
+#: Project.cpp:2072
 msgid "1.0 or earlier"
 msgstr "1.0 of ouder"
 
-#: Project.cpp:1902
+#: Project.cpp:2078
+#: Project.cpp:2518
 msgid "Opening old project file"
 msgstr "Oud projectbestand wordt geopend"
 
-#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
+#: Project.cpp:2102
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"U probeert een automatisch gegenereerd backupbestand te openen.\n"
+"Dit kan resulteren in zwaar verlies van gegevens.\n"
+"\n"
+"Gelieve in plaats daarvan het eingenlijke Audacity-projectbestand te openen."
+
+#: Project.cpp:2103
+msgid "Backup file detected"
+msgstr "Backupbestand gedetecteerd"
+
+#: Project.cpp:2117
+#: Project.cpp:2125
+#: xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Fout bij openen bestand"
 
-#: Project.cpp:1585
+#: Project.cpp:2131
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "Bestand is mogelijk ongeldig of beschadigd: \n"
+msgstr ""
+"Bestand is mogelijk ongeldig of beschadigd: \n"
 "%s"
 
-#: Project.cpp:1586
+#: Project.cpp:2132
 msgid "Error opening file or project"
 msgstr "Fout bij openen van bestand of project"
 
-#: ../src/Project.cpp:1842
+#: Project.cpp:2152
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity was niet in staat een Audacity 1.0 project om te zetten naar het nieuwe projectformat."
 
-#: Project.cpp:1706
+#: Project.cpp:2259
 msgid "Could not remove old auto save file"
 msgstr "Kon het oude autosavebestand niet verwijderen"
 
-#: Project.cpp:1708
+#: Project.cpp:2261
 msgid "Project was recovered"
 msgstr "Project is hersteld"
 
-#: Project.cpp:1708
+#: Project.cpp:2261
 msgid "Recover"
 msgstr "Herstellen"
 
-#: Project.cpp:1737
+#: Project.cpp:2290
 msgid "Project checker repaired file"
 msgstr "Projectcontrole heeft bestand gerepareerd"
 
-#: Project.cpp:1737 effects/Repair.h:29
+#: Project.cpp:2290
+#: effects/Repair.h:29
 msgid "Repair"
 msgstr "Repareren"
 
-#: ../src/Project.cpp:1941
+#: Project.cpp:2431
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Kon de map met projectdata niet vinden: ‘%s’"
 
-#: ../src/Project.cpp:1985
+#: Project.cpp:2475
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "Dit bestand is opgeslagen met Audacity %s.\n"
+msgstr ""
+"Dit bestand is opgeslagen met Audacity %s.\n"
 "U maakt echter gebruik van Audacity versie %s.\n"
 "U moet upgraden naar een nieuwere versie om dit\n"
 "bestand te kunnen openen."
 
-#: ../src/Project.cpp:1991
+#: Project.cpp:2479
 msgid "Can't open project file"
 msgstr "Kan projectbestand niet openen"
 
-#: Project.cpp:2193
+#: Project.cpp:2513
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
+"Dit bestand werd opgeslagen door Audacity %s.\n"
+"\n"
+"Audacity kan dit bestand openen en opslaan, maar als u het met deze versie opslaat\n"
+"kunt u het niet meer openen met versie 1.2 of ouder.\n"
+"\n"
+"Dit bestand nu openen?"
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2711
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3072,51 +3407,73 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"Uw project is nu leeg.\n"
+"Indien opgeslagen, zal het project geen sporen hebben.\n"
+"\n"
+"Om eerder geopende sporen op te slaan:\n"
+"Klik 'Nee', Bewerken > Herstellen tot alle sporen\n"
+"geopend zijn, dan Bestand > Project opslaan.\n"
+"\n"
+"Toch opslaan?"
 
-#: Project.cpp:2538
+#: Project.cpp:2712
 msgid "Warning empty project"
-msgstr ""
+msgstr "Waarschuwing leeg project"
 
-#: Project.cpp:2591
+#: Project.cpp:2821
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
+"Het project kon niet opslagen worden. Misschien \n"
+"is %s niet beschrijfbaar of is de schijf vol."
 
-#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
+#: Project.cpp:2823
+#: Project.cpp:2849
 msgid "Error saving project"
 msgstr "Fout bij opslaan project"
 
-#: ../src/Project.cpp:2200
+#: Project.cpp:2847
+#: Project.cpp:3950
+#: Tags.cpp:1203
+#: effects/Equalization.cpp:1095
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "Kon niet schrijven naar bestand \"%s\": %s"
+
+#: Project.cpp:2927
 #, c-format
 msgid "Saved %s"
 msgstr "%s Opgeslagen"
 
-#: ../src/Project.cpp:2282
+#: Project.cpp:3080
 #, c-format
 msgid "Imported '%s'"
 msgstr "‘%s’ is geïmporteerd"
 
-#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
-#: ../src/import/ImportRaw.cpp:408
+#: Project.cpp:3081
 msgid "Import"
 msgstr "Importeren"
 
-#: ../src/Project.cpp:2340
+#: Project.cpp:3116
 msgid "Error importing"
 msgstr "Fout bij importeren"
 
-#: Project.cpp:2365
+#: Project.cpp:3163
 msgid "Save Speech As:"
 msgstr "Spraak opslaan als:"
 
-#: Project.cpp:2399
+#: Project.cpp:3165
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Windows PCM-audiobestand *.wav)|*.wav"
 
-#: Project.cpp:2894
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+# Een beetje vrij vertaald, maar de boodschap is zo wel duidelijk
+# LET OP! dit bericht mag maximaal 5 regels bevatten, alle overige regels
+# worden niet in het dialoog getoond.
+#: Project.cpp:3172
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
@@ -3124,570 +3481,881 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
 msgstr ""
+"In Audacity-projectbestanden (.aup) wordt alle informatie opgeslagen, precies zoals die op het scherm\n"
+"te zien is. Andere programma's kunnen echter de projectbestanden van Audacity vaak niet openen.\n"
+"\n"
+"Als u het bestand ook in andere programma's wilt kunnen openen moet u ‘Exporteren als…’ gebruiken."
 
-#: Project.cpp:2897
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3175
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
+"U wilt een Audacity project opslaan (.aup).\n"
+"\n"
+"Als u een project opslaat wordt een bestand aangemaakt dat alleen Audacity kan openen.\n"
+"\n"
+"Om een geluidsbestand voor een ander programma op te slaan, gebruik dan een van de \"Bestand > Exporteren\"- commando's.\n"
 
-#: ../src/Project.cpp:2378
+#: Project.cpp:3177
+msgid "Save Project As..."
+msgstr "Project opslaan als…"
+
+#: Project.cpp:3179
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Audacity-projecten (*.aup)|*.aup"
 
-#: ../src/Project.cpp:2414
+#: Project.cpp:3228
 msgid "Created new project"
 msgstr "Nieuw project aangemaakt"
 
-#: ../src/Project.cpp:2527
+#: Project.cpp:3372
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "%.2f seconden verwijderd bij t=%.2f"
 
-#: ../src/Project.cpp:2530
+#: Project.cpp:3375
+#: effects/Equalization.cpp:1295
+#: effects/Equalization.cpp:2647
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: Project.cpp:2738
+#: Project.cpp:3569
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Vrije schijfruimte voor opname van %d uur en %d minuten."
 
-#: Project.cpp:2741
+#: Project.cpp:3572
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Vrije schijfruimte voor opname van 1 uur en %d minuten."
 
-#: Project.cpp:2744
+#: Project.cpp:3575
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Vrije schijfruimte voor opname van %d minuten."
 
-#: Project.cpp:2747
+#: Project.cpp:3578
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Vrije schijfruimte voor opname van %d seconden."
 
-#: ../src/Project.cpp:2706
+#: Project.cpp:3581
 msgid "Out of disk space"
 msgstr "Geen vrije schijfruimte over"
 
-#: Project.cpp:3336
+#: Project.cpp:3594
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Import(s) compleet. Bezig met %d golfvorm-berekeningen op aanvraag. %2.0f%% voltooid van totaal."
 
-#: Project.cpp:3339
+#: Project.cpp:3597
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Importeren compleet. Bezig met golfvorm-berekening op aanvraag. %2.0f%% voltooid."
 
-#: Project.cpp:3027
+#: Project.cpp:3881
 msgid "Could not remove old autosave file: "
 msgstr "Kon oud autosavebestand niet verwijderen: "
 
-#: Project.cpp:3068
+#: Project.cpp:3922
 msgid "New Project"
 msgstr "Nieuw project"
 
-#: Project.cpp:3081
+#: Project.cpp:3952
 msgid "Error writing autosave file"
 msgstr "Fout bij het schrijven van het autosave-bestand"
 
-#: Project.cpp:3102
+#: Project.cpp:3967
 msgid "Could not create autosave file: "
 msgstr "Kon het autosave-bestand niet aanmaken: "
 
 #  =statusbalkmelding
 # feitelijke/werkelijke/daadwerkelijke snelheid/frequentie
 # het gaat hier om de samplefrequentie
-#: Project.cpp:3320
+#: Project.cpp:3993
 #, c-format
 msgid "Actual Rate: %d"
-msgstr "Werkelijke frequentie: %d"
+msgstr "Werkelijke rate: %d"
 
-#: ../src/Resample.cpp:35
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample door Dominic Mazzoni en Julius Smith"
 
-#: ../src/Resample.cpp:46
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Hoge kwaliteit sinc-interpolatie"
 
 # sync/sinc
-#: ../src/Resample.cpp:48
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Snelle sinc-interpolatie"
 
-#: ../src/Resample.cpp:118
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate door Erik de Castro Lopo"
 
-#: ../src/Resample.cpp:211
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate fout: %d\n"
 
-#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Resampling is uitgeschakeld."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-bit float"
 
-#: Screenshot.cpp:186
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Schermopname-venster"
+
+# letterlijk:
+# voor het opslaan van de geexporteerde bestanden
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Kies een locatie voor het opslaan van bestanden"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Afbeeldingen opslaan in:"
+
+#: Screenshot.cpp:328
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Kiezen…"
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Volledig venster of scherm opnemen"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Herschaal klein"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Herschaal groot"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Blauwe Achtergond"
+
+# witte (ruis)
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Witte Achtergrond"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Alleen venster opnemen"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Volledig scherm opnemen"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Opnemen van venster plus"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Volledig scherm opnemen"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "5 seconden wachten en voorste venster/dialoog opnemen"
+
+# mag dit vertaald worden?
+#: Screenshot.cpp:369
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr "false"
+
+# of: ... in het venster (laten) passen
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Een gedeelte van het projectvenster capturen"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Alle werkbalken"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "Selectiebalk"
+
+#: Screenshot.cpp:381
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "tools"
+
+# dit wordt: Audacity bedienings-werkbalk/bedieningsknoppen-werkbalk
+# Audacity %s-werkbalk
+#: Screenshot.cpp:382
+#: effects/Contrast.cpp:410
+#: toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr "bedieningsknoppen"
+
+#: Screenshot.cpp:388
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:245
+msgid "Mixer"
+msgstr "Mixer"
+
+# volumemeter+opnamemeter/vu-meter
+#: Screenshot.cpp:389
+#: toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr "Vu-meter"
+
+#: Screenshot.cpp:390
+#: toolbars/EditToolBar.cpp:76
+#: toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "Bewerken"
+
+# dit wordt: Audacity %s-werkbalk. maar is ook te zien
+# bij de voorkeuren
+#: Screenshot.cpp:391
+#: prefs/DevicePrefs.cpp:131
+#: prefs/DevicePrefs.cpp:144
+#: prefs/MidiIOPrefs.cpp:137
+#: prefs/MidiIOPrefs.cpp:150
+#: toolbars/DeviceToolBar.cpp:57
+#: toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr "apparaten"
+
+# het hoger of lager afspelen
+# Snelheidsschuif/afspeelsnelheid/transcriptie
+# dit wordt: Audacity %s-werkbalk.
+#: Screenshot.cpp:392
+#: toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:253
+msgid "Transcription"
+msgstr "afspeelsnelheid"
+
+# sporenpaneel
+#: Screenshot.cpp:398
+#: TrackPanel.cpp:442
+#: TrackPanel.cpp:443
+msgid "Track Panel"
+msgstr "Sporenpaneel"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Liniaal"
+
+#: Screenshot.cpp:400
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
+#: prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Sporen"
+
+# notenbalk (sander)
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Eerste spoor"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Tweede spoor"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Schaal"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Een sec"
+
+# tooltip bij de CleenSpeech knop
+# erop klikken brengt het 'apply chain' dialoog naar voren
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "Tien seconden"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Een min"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "Vijf min"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Een uur"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Korte sporen"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Medium sporen"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Lange sporen"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Opgeslagen"
 
-#: Screenshot.cpp:189
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "Fout bij het opslaan van het bestand: "
 
-#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
+# letterlijk:
+# voor het opslaan van de geexporteerde bestanden
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Kies een locatie om screenshot-afbeeldingen op te slaan"
+
+#: Sequence.cpp:799
+#: Sequence.cpp:809
+#: Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "Gat ontdekt in projectbestand\n"
 
-#: effects/Effect.cpp:254 effects/Effect.cpp:370 effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:852
+#: ShuttleGui.cpp:2034
+#: effects/Effect.cpp:436
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr "&Voorbeeld"
 
-#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Debuggen"
 
+#  =venstertitel
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Geluidsgeactiveerde opname"
 
+# labels stil/stil maken/stiltelabels/
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "Activatieniveau (dB):"
 
-#: SplashDialog.cpp:57
-msgid "&Welcome to Audacity!"
-msgstr "&Welkom bij Audacity!"
+#: SplashDialog.cpp:60
+msgid "Welcome to Audacity!"
+msgstr "Welkom bij Audacity!"
 
 # dit niet meer tonen/verberg dit
-#: SplashDialog.cpp:94
+#: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
 msgstr "Dit niet meer tonen bij het opstarten"
 
-#: Tags.cpp:621
+#: Tags.cpp:629
 msgid "Artist Name"
 msgstr "Naam artiest"
 
-#: Tags.cpp:622
+#: Tags.cpp:630
 msgid "Track Title"
 msgstr "Songtitel"
 
-#: Tags.cpp:623
+#: Tags.cpp:631
 msgid "Album Title"
 msgstr "Album"
 
-#: Tags.cpp:953
+#: Tags.cpp:632
 msgid "Track Number"
 msgstr "Spoornummer"
 
-#: ../src/Tags.cpp:465
+#: Tags.cpp:633
 msgid "Year"
 msgstr "Jaar"
 
-#: Tags.cpp:979
+#: Tags.cpp:634
 msgid "Genre"
 msgstr "Genre"
 
-#: ../src/Tags.cpp:475
+#: Tags.cpp:635
+#: prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Opmerkingen"
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Gebruik de pijltjestoetsen (of de ENTER-toets na het bewerken) om te navigeren door velden."
 
-#: Tags.cpp:769
-msgid "Tag Name"
-msgstr "Tagnaam"
+#: Tags.cpp:812
+msgid "Tag"
+msgstr "Label"
 
-#: Tags.cpp:770
-msgid "Tag Value"
-msgstr "Tagwaarde"
+# bitrate is variabel of contstant
+#: Tags.cpp:813
+msgid "Value"
+msgstr "Waarde"
 
-#: prefs/KeyConfigPrefs.cpp:114
-msgid "&Clear"
-msgstr "&Wissen"
+#: Tags.cpp:828
+msgid "Cl&ear"
+msgstr "Wiss&en"
 
-#: Tags.cpp:791
+#: Tags.cpp:834
 msgid "Genres"
 msgstr "Genres"
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
-msgstr ""
+msgstr "Wijzigen…"
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
-msgstr ""
+msgstr "Hers&tellen…"
 
-#: Tags.cpp:1070
+#: Tags.cpp:844
 msgid "Template"
 msgstr "Sjabloon"
 
-#: Tags.cpp:1073 prefs/KeyConfigPrefs.cpp:124
+#: Tags.cpp:848
+#: prefs/KeyConfigPrefs.cpp:167
 msgid "&Load..."
 msgstr "&Laden…"
 
-#: Tags.cpp:1078 prefs/KeyConfigPrefs.cpp:123
+#: Tags.cpp:849
+#: prefs/KeyConfigPrefs.cpp:168
 msgid "&Save..."
 msgstr "Op&slaan…"
 
-#: Tags.cpp:808 Tags.cpp:1434 Tags.cpp:1962
-msgid "S&et Default"
+#: Tags.cpp:851
+msgid "Set De&fault"
 msgstr "&Standaard instellen"
 
-#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr "Genres bewerken"
 
-#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
-#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
-#: Tags.cpp:2397 Tags.cpp:2410
+#: Tags.cpp:1034
+#: Tags.cpp:1046
+#: Tags.cpp:1061
+#: Tags.cpp:1074
 msgid "Reset Genres"
 msgstr "Genres herstellen"
 
-#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
-#: Tags.cpp:2410
+#: Tags.cpp:1034
+#: Tags.cpp:1074
 msgid "Unable to save genre file."
 msgstr "Niet in staat het genrebestand op te slaan."
 
-#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Weet u zeker dat u de genrelijst naar de standaardlijst wilt herstellen?"
 
-#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr "Niet in staat het genrebestand te openen."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Metadata laden als:"
 
-#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr "Fout bij het laden van de metadata"
 
-#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
-#: Tags.cpp:2468
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr "Metadata opslaan als:"
 
-#: Theme.cpp:629
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "Fout bij opslaan van tag-bestand"
+
+#: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
-msgstr "Audacity kon het bestand:\n"
+msgstr ""
+"Audacity kon het bestand:\n"
 "  %s\n"
 "niet schrijven."
 
-#: Theme.cpp:647
+#: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr "Audacity kon het bestand:\n"
+msgstr ""
+"Audacity kon het bestand:\n"
 "  %s\n"
 "niet openen voor schrijven."
 
-#: Theme.cpp:655
+#: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
-msgstr "Audacity kon de afbeeldingen niet naar het bestand:\n"
+msgstr ""
+"Audacity kon de afbeeldingen niet naar het bestand:\n"
 "  %s\n"
 "schrijven."
 
-#: Theme.cpp:790
+#: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr "Audacity kon het bestand:\n"
+msgstr ""
+"Audacity kon het bestand:\n"
 "  %s\n"
 "niet vinden. Thema is niet geladen."
 
-#: Theme.cpp:798 Theme.cpp:886
+#: Theme.cpp:807
+#: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr "Audacity kon het bestand:\n"
+msgstr ""
+"Audacity kon het bestand:\n"
 "  %s\n"
 "niet inladen. Wellicht een foutief png-format?"
 
-#: Theme.cpp:814
-msgid "Audacity could not read its default theme.\n"
+#: Theme.cpp:823
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr "Audacity kon het standaardthema niet lezen.\n"
+msgstr ""
+"Audacity kon het standaardthema niet lezen.\n"
 "Gelieve dit probleem te rapporteren."
 
-#: Theme.cpp:908
+#: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr "Geen van de verwachte thema componentbestanden\n"
+msgstr ""
+"Geen van de verwachte thema componentbestanden\n"
 " zijn aangetroffen in:\n"
 "  %s."
 
-#: Theme.cpp:932
+#: Theme.cpp:942
+#: effects/NoiseRemoval.cpp:172
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
-msgstr "Kon map niet aanmaken:\n"
+msgstr ""
+"Kon map niet aanmaken:\n"
 "  %s"
 
-#: Theme.cpp:953
+#: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
-msgstr "Audacity kon het bestand:\n"
+msgstr ""
+"Audacity kon het bestand:\n"
 "  %s\n"
 "niet opslaan"
 
-#: Theme.cpp:965
+#: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr "Alle vereiste bestanden in:\n"
+msgstr ""
+"Alle vereiste bestanden in:\n"
 "  %s\n"
 "waren al aanwezig."
 
 # tijdsduur
-#: SmartRecordDialog.cpp:285
+#: TimeDialog.h:29
+#: TimerRecordDialog.cpp:233
+#: TimerRecordDialog.cpp:354
+#: TimerRecordDialog.cpp:358
+#: effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191
+#: effects/Noise.cpp:207
+#: effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291
+#: effects/ToneGen.cpp:323
+#: effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr "Tijdsduur"
 
+#: TimeTrack.cpp:44
+msgid "Time Track"
+msgstr "Tijdspoor"
+
 #  =venstertitel
-#: SmartRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Audacity opname inplannen"
 
-#: SmartRecordDialog.cpp:223
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "Tijdsduur is nul. Er zal niets opgenomen worden."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Fout in tijdsduur"
+
+#: TimerRecordDialog.cpp:230
 msgid "Recording start"
-msgstr ""
+msgstr "Opname-begin"
 
-#: SmartRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:231
 msgid "Recording end"
-msgstr ""
+msgstr "Opname-einde"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:237
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Voortgang van Audacity ingeplande opname"
 
-#: SmartRecordDialog.cpp:251
+#: TimerRecordDialog.cpp:316
 msgid "Start Date and Time"
 msgstr "Begindatum en tijd"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:323
 msgid "Start Date"
-msgstr ""
+msgstr "Startdatum"
 
-#: SmartRecordDialog.cpp:268
+#: TimerRecordDialog.cpp:335
 msgid "End Date and Time"
 msgstr "Einddatum en tijd"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:343
 msgid "End Date"
-msgstr ""
+msgstr "Einddatum"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: SmartRecordDialog.cpp:380
+#: TimerRecordDialog.cpp:430
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Wachten voor opname op %s.\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:436
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
-
-# sporenpaneel
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr "Sporenpaneel"
+msgstr "Audacity ingeplande opname - Wachten op begin opname"
 
 # Anders/overige/andere
 # bijvoorbeed: Audiospoor->frequentie instellen->[8000][11025][44100][Anders}
-#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
+#: TrackPanel.cpp:596
+#: prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "Andere…"
 
 # Benoemen/Titel/Naam/Benaming/Nieuwe naam
 # het brengt een dialoog op waarin je een spoor een naam/titel kunt geven
-#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
+#: TrackPanel.cpp:604
+#: TrackPanel.cpp:627
+#: TrackPanel.cpp:636
+#: TrackPanel.cpp:644
 msgid "Name..."
 msgstr "Nieuwe naam…"
 
-#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
+#: TrackPanel.cpp:606
+#: TrackPanel.cpp:629
+#: TrackPanel.cpp:640
+#: TrackPanel.cpp:646
 msgid "Move Track Up"
 msgstr "Spoor naar boven verplaatsen"
 
-#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
+#: TrackPanel.cpp:607
+#: TrackPanel.cpp:630
+#: TrackPanel.cpp:641
+#: TrackPanel.cpp:647
 msgid "Move Track Down"
 msgstr "Spoor naar beneden verplaatsen"
 
-#: ../src/TrackPanel.cpp:835
+#: TrackPanel.cpp:609
+#: effects/ToneGen.cpp:275
+#: prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Golfvorm"
 
-#: ../src/TrackPanel.cpp:836
+#: TrackPanel.cpp:610
+#: prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Golfvorm (dB)"
 
-#: TrackPanel.cpp:565
+#: TrackPanel.cpp:612
+#: prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
 msgstr "Spectrum log(f)"
 
-#: ../src/TrackPanel.cpp:838
+#. i18n-hint: short form of 'logarithm'
+#: TrackPanel.cpp:613
+#: prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Toonhoogte (EAC)"
 
-#: ../src/TrackPanel.cpp:840
+#: TrackPanel.cpp:615
+#: TrackPanel.cpp:6200
 msgid "Mono"
 msgstr "Mono"
 
-#: ../src/TrackPanel.cpp:841
+#: TrackPanel.cpp:616
+#: TrackPanel.cpp:6199
 msgid "Left Channel"
 msgstr "Linker kanaal"
 
-#: ../src/TrackPanel.cpp:842
+#: TrackPanel.cpp:617
+#: TrackPanel.cpp:6199
 msgid "Right Channel"
 msgstr "Rechter kanaal"
 
-#: ../src/TrackPanel.cpp:843
+#: TrackPanel.cpp:618
 msgid "Make Stereo Track"
 msgstr "Stereospoor maken"
 
-#: ../src/TrackPanel.cpp:844
+#: TrackPanel.cpp:619
 msgid "Split Stereo Track"
 msgstr "Stereospoor splitsen"
 
-#: ../src/TrackPanel.cpp:846
+#: TrackPanel.cpp:620
+msgid "Split Stereo to Mono"
+msgstr "Van stereo naar mono splitsen"
+
+#: TrackPanel.cpp:622
 msgid "Set Sample Format"
-msgstr "Sampleformat instellen"
+msgstr "Sampleformaat instellen"
 
-#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
+#: TrackPanel.cpp:624
+#: TrackPanel.cpp:6461
 msgid "Set Rate"
 msgstr "Frequentie instellen"
 
-#: ../src/TrackPanel.cpp:856
+#: TrackPanel.cpp:632
 msgid "Up Octave"
 msgstr "Octaaf naar boven"
 
-#: ../src/TrackPanel.cpp:857
+#: TrackPanel.cpp:633
 msgid "Down Octave"
 msgstr "Octaaf naar beneden"
 
-#: ../src/TrackPanel.cpp:862
+#: TrackPanel.cpp:638
 msgid "Font..."
 msgstr "Lettertype…"
 
-#: ../src/TrackPanel.cpp:873
+#: TrackPanel.cpp:649
 msgid "Set Range..."
 msgstr "Bereik instellen…"
 
-#: ../src/EditToolBar.cpp:150
+#: TrackPanel.cpp:653
+#: toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Kopiëren"
 
-#: ../src/TrackPanel.cpp:1513
+#: TrackPanel.cpp:1302
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "Klikken om verticaal in te zoomen. Shift-klikken om uit te zoomen. Slepen om op een bepaald gebied te zoomen."
 
-#: ../src/TrackPanel.cpp:1519
+#: TrackPanel.cpp:1307
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "Sleep het label verticaal om de volgorde van de sporen aan te passen."
 
-#: ../src/TrackPanel.cpp:1616
+#: TrackPanel.cpp:1327
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Klik en sleep om de relatieve afmeting van de stereo-sporen aan te passen."
 
-#: ../src/TrackPanel.cpp:1621
+#: TrackPanel.cpp:1330
 msgid "Click and drag to resize the track."
 msgstr "Klik en sleep om de grootte van het spoor aan te passen."
 
-#: TrackPanel.cpp:1298
+#: TrackPanel.cpp:1361
 msgid "Drag one or more label boundaries"
 msgstr "Versleep een of meer grenzen van het label"
 
 # statusbalkmelding
-#: TrackPanel.cpp:1299
+#: TrackPanel.cpp:1362
 msgid "Drag label boundary"
 msgstr "Versleep de grens van het label"
 
-#: ../src/TrackPanel.cpp:1541
+#. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
+#: TrackPanel.cpp:1378
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Combinatiestand: Cmd- voor muis en toetsenbord voorkeuren"
 
-#: ../src/TrackPanel.cpp:1543
+#. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
+#: TrackPanel.cpp:1381
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Combinatiestand: Ctrl-P voor muis en toetsenbord voorkeuren"
 
-#: ../src/TrackPanel.cpp:1574
+#: TrackPanel.cpp:1427
 msgid "Click and drag to move left selection boundary."
 msgstr "Klik en sleep om de linker selectiegrens te verplaatsen."
 
-#: ../src/TrackPanel.cpp:1579
+#: TrackPanel.cpp:1432
 msgid "Click and drag to move right selection boundary."
 msgstr "Klik en sleep om de rechter selectiegrens te verplaatsen."
 
-#: ../src/TrackPanel.cpp:3314
+#: TrackPanel.cpp:1770
+#: TrackPanel.cpp:4054
+#: TrackPanel.cpp:4086
+#: TrackPanel.cpp:4348
+#: TrackPanel.cpp:6610
+#: TrackPanel.cpp:6630
 msgid "Modified Label"
 msgstr "Label aangepast"
 
-#: ../src/TrackPanel.cpp:3315
+#: TrackPanel.cpp:1771
+#: TrackPanel.cpp:4055
+#: TrackPanel.cpp:4087
+#: TrackPanel.cpp:4349
+#: TrackPanel.cpp:6611
+#: TrackPanel.cpp:6631
 msgid "Label Edit"
 msgstr "Label bewerken"
 
 # begrensing aangepast
-#: ../src/TrackPanel.cpp:1904
+#: TrackPanel.cpp:2009
 msgid "Adjusted envelope."
 msgstr "Verloop aangepast."
 
 # the envelope tool in muis-voorkeuren
-#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
+#: TrackPanel.cpp:2010
+#: prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Verloop"
 
-#: TrackPanel.cpp:2033
+#: TrackPanel.cpp:2160
 msgid "Moved clip to another track"
 msgstr "Clip is naar ander spoor verplaatst"
 
 # naar links/links
-#: ../src/TrackPanel.cpp:2012
+#: TrackPanel.cpp:2164
 msgid "left"
 msgstr "links"
 
-#: ../src/TrackPanel.cpp:2012
+#: TrackPanel.cpp:2164
 msgid "right"
 msgstr "rechts"
 
@@ -3696,277 +4364,301 @@ msgstr "rechts"
 # Sporen/clips %2$.02f seconden naar %1$s verschoven<
 # Sporen/clips %.02f seconden naar %s verschoven
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2039
+#: TrackPanel.cpp:2166
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Sporen/clips %s verschoven over %.02f seconden"
 
-#: ../src/prefs/MousePrefs.cpp:97
+#: TrackPanel.cpp:2170
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Tijd verschuiven"
 
-#: TrackPanel.cpp:2953
+#: TrackPanel.cpp:2964
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr ""
+msgstr "Om te Tekenen, kies 'Golfvorm' in het Sporen-dropdownmenu."
 
-#: TrackPanel.cpp:2970
+#: TrackPanel.cpp:2981
 msgid "To use Draw, zoom in further until you can see the individual samples."
-msgstr ""
+msgstr "Om te Tekenen, zoom zover in dat U de afzonderlijke samples kunt zien."
 
-#: ../src/TrackPanel.cpp:2637
+#: TrackPanel.cpp:3255
 msgid "Moved Sample"
 msgstr "Sample verplaatst"
 
-#: ../src/TrackPanel.cpp:2638
+#: TrackPanel.cpp:3256
 msgid "Sample Edit"
 msgstr "Sample bewerken"
 
-#: ../src/TrackPanel.cpp:2703
+#: TrackPanel.cpp:3349
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Spoor ‘%s’ verwijderd."
 
-#: ../src/TrackPanel.cpp:2705
+#: TrackPanel.cpp:3351
 msgid "Track Remove"
 msgstr "Spoor verwijderen"
 
-#: ../src/TrackPanel.cpp:2806
+#: TrackPanel.cpp:3497
 msgid "Moved gain slider"
 msgstr "Hoofdvolumeschuif verplaatst"
 
-#: ../src/TrackPanel.cpp:2806
+#: TrackPanel.cpp:3497
 msgid "Moved pan slider"
 msgstr "Balansschuif verplaatst"
 
 # onvertaald laten?
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5801
+#: TrackPanel.cpp:7254
 msgid "Gain"
 msgstr "Versterking"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5749
+#: TrackPanel.cpp:7262
 msgid "Pan"
 msgstr "Balans"
 
 # boven/naar boven
 # vergelijk links/naar links etc.
-#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
+#: TrackPanel.cpp:3664
+#: TrackPanel.cpp:6561
 msgid "up"
 msgstr "naar boven"
 
-#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
+#: TrackPanel.cpp:3668
+#: TrackPanel.cpp:6562
 msgid "down"
 msgstr "naar beneden"
 
 # tweede %s is links/rechts/beneden/boven
-#: ../src/TrackPanel.cpp:4383
+#: TrackPanel.cpp:3675
+#: TrackPanel.cpp:6557
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "‘%s’ naar %s verplaatst"
 
-#: ../src/TrackPanel.cpp:4389
+#: TrackPanel.cpp:3678
+#: TrackPanel.cpp:6563
 msgid "Move Track"
 msgstr "Spoor verplaatsen"
 
-#: TrackPanel.cpp:3905
+#: TrackPanel.cpp:4249
 msgid "Expand"
 msgstr "Uitvouwen"
 
-#: TrackPanel.cpp:3905
+#: TrackPanel.cpp:4249
 msgid "Expanded Cut Line"
 msgstr "Snijlijn uitgebreid"
 
 # vastplakken/samenvoegen
-#: TrackPanel.cpp:3975
+#: TrackPanel.cpp:4258
 msgid "Merge"
 msgstr "Samenvoegen"
 
-#: TrackPanel.cpp:3975
+#: TrackPanel.cpp:4258
 msgid "Merged Clips"
 msgstr "Samengevoegde clips"
 
-#: TrackPanel.cpp:3925
+#: TrackPanel.cpp:4269
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: TrackPanel.cpp:4269
 msgid "Removed Cut Line"
 msgstr "Snijlijn verwijderd"
 
-#: TrackPanel.cpp:5210
+#: TrackPanel.cpp:5749
 msgid "Adjusted Pan"
 msgstr "Balans aangepast"
 
-#: TrackPanel.cpp:5272
+#: TrackPanel.cpp:5801
 msgid "Adjusted gain"
 msgstr "Versterking aangepast"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 # actieve audio/terwijl audio nog bewerkt wordt?
-#: TrackPanel.cpp:5428
+#: TrackPanel.cpp:6030
 msgid "Can't delete track with active audio"
 msgstr "Kan spoor niet verwijderen met actieve audio"
 
-#: ../src/TrackPanel.cpp:4087
+#: TrackPanel.cpp:6180
 msgid "Stereo, "
 msgstr "Stereo, "
 
-#: ../src/TrackPanel.cpp:4090
+#: TrackPanel.cpp:6183
 msgid "Mono, "
 msgstr "Mono, "
 
-#: ../src/TrackPanel.cpp:4092
+#: TrackPanel.cpp:6185
 msgid "Left, "
 msgstr "Links, "
 
-#: ../src/TrackPanel.cpp:4094
+#: TrackPanel.cpp:6187
 msgid "Right, "
 msgstr "Rechts, "
 
 # veranderd/gewijzigd
-#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
+#: TrackPanel.cpp:6209
+#: TrackPanel.cpp:6371
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "‘%s’ gewijzigd in %s"
 
-#: ../src/TrackPanel.cpp:4121
+#: TrackPanel.cpp:6212
 msgid "Channel"
 msgstr "Kanaal"
 
-#: ../src/TrackPanel.cpp:4131
+#: TrackPanel.cpp:6253
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Stereospoor ‘%s’ gedeeld"
 
-#: ../src/TrackPanel.cpp:4153
+#: TrackPanel.cpp:6255
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "Van stereo naar mono splitsen '%s'"
+
+#: TrackPanel.cpp:6287
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "‘%s’ omgezet in een stereospoor"
 
 # naar stereo omzetten
-#: ../src/TrackPanel.cpp:4156
+#: TrackPanel.cpp:6290
 msgid "Make Stereo"
 msgstr "Stereo maken"
 
-#: ../src/TrackPanel.cpp:4189
+#: TrackPanel.cpp:6335
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "‘%s’ omgezet naar %d Hz"
 
 # wijziging/verandering
-#: ../src/TrackPanel.cpp:4191
+#: TrackPanel.cpp:6337
 msgid "Rate Change"
 msgstr "Snelheidsverandering"
 
 # format/formaat wijziging/verandering
-#: ../src/TrackPanel.cpp:4229
+#: TrackPanel.cpp:6375
 msgid "Format Change"
 msgstr "Formatwijziging"
 
-#: ../src/TrackPanel.cpp:4351
+#: TrackPanel.cpp:6525
 msgid "Change lower speed limit (%) to:"
 msgstr "Onderlimiet snelheidspercentage wijzigen naar:"
 
-#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
+#: TrackPanel.cpp:6526
+#: TrackPanel.cpp:6527
 msgid "Lower speed limit"
 msgstr "Onderlimiet snelheid"
 
-#: ../src/TrackPanel.cpp:4358
+#: TrackPanel.cpp:6532
 msgid "Change upper speed limit (%) to:"
 msgstr "Bovenlimiet snelheidspercentage wijzigen naar:"
 
-#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
+#: TrackPanel.cpp:6533
+#: TrackPanel.cpp:6534
 msgid "Upper speed limit"
 msgstr "Bovenlimiet snelheid"
 
 # geen strikte vertaling, maar het is zo duidelijker.
 # Tekst verschijnt in Bewerkingsgeschiedenis
 # (rapporteren aan developers)
-#: ../src/TrackPanel.cpp:4368
+#: TrackPanel.cpp:6542
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Snelheidsbereik ingesteld op ‘%d’ - ‘%d’"
 
-#: ../src/TrackPanel.cpp:4371
+#: TrackPanel.cpp:6545
 msgid "Set Range"
 msgstr "Bereik instellen"
 
 # geef het spoor een nieuwe naam/titel
 # wijzig/verander
-#: ../src/TrackPanel.cpp:4416
+#: TrackPanel.cpp:6592
 msgid "Change track name to:"
 msgstr "Verander de naam van het spoor naar:"
 
 # Dit is de titel van het dialoogvenster als je een spoor gaat hernoemen
-#: ../src/TrackPanel.cpp:4417
+#: TrackPanel.cpp:6593
 msgid "Track Name"
 msgstr "Spoornaam"
 
-#: ../src/TrackPanel.cpp:4420
+#: TrackPanel.cpp:6596
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "‘%s’ is hernoemd naar ‘%s’"
 
 # naamsverandering/naamwijziging
-#: ../src/TrackPanel.cpp:4423
+#: TrackPanel.cpp:6599
 msgid "Name Change"
 msgstr "Naamwijziging"
 
 # Labelspoor lettertype
-#: ../src/TrackPanel.cpp:4454
+#: TrackPanel.cpp:6665
 msgid "Label Track Font"
 msgstr "Lettertype labelspoor"
 
 # typeface?
-#: TrackPanel.cpp:6038
+#: TrackPanel.cpp:6677
+#: TrackPanel.cpp:6683
 msgid "Face name"
 msgstr "Lettertype"
 
-#: TrackPanel.cpp:6047
+#: TrackPanel.cpp:6687
+#: TrackPanel.cpp:6694
 msgid "Face size"
 msgstr "Grootte"
 
+#: TrackPanel.cpp:6943
+msgid "Stereo, 999999Hz"
+msgstr "Stereo, 999999Hz"
+
 # Dimmen is net iets te lang voor het label
-#: ../src/TrackPanel.cpp:4701
+#: TrackPanel.cpp:7203
 msgid "Mute"
 msgstr "Stil"
 
-#: ../src/TrackPanel.cpp:4701
+#: TrackPanel.cpp:7203
 msgid "Solo"
 msgstr "Solo"
 
 # moet ws niet vertaald worden omdat het een commandname is in
 # CamelStyle.
-#: TrackPanelAx.cpp:266
+#: TrackPanelAx.cpp:285
 msgid "TrackView"
 msgstr "TrackView"
 
-#: TrackPanelAx.cpp:274
+#: TrackPanelAx.cpp:293
 msgid "Track Accessible out of sync"
 msgstr "Track Accessible niet gesynchroniseerd"
 
-#: TrackPanelAx.cpp:282
+#: TrackPanelAx.cpp:301
 #, c-format
 msgid "Track %d"
 msgstr "Spoor %d"
 
-#: TrackPanelAx.cpp:288
+#: TrackPanelAx.cpp:307
 msgid " Mute On"
 msgstr " Stil aan"
 
-#: TrackPanelAx.cpp:293
+#: TrackPanelAx.cpp:312
 msgid " Solo On"
 msgstr " Solo aan"
 
-#: TrackPanelAx.cpp:297
+#: TrackPanelAx.cpp:316
 msgid " Select On"
 msgstr " Selectie aan"
 
-#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
+#: VoiceKey.cpp:88
+#: VoiceKey.cpp:238
+#: VoiceKey.cpp:376
+#: VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Selectie is te klein om de 'voice key' te gebruiken"
 
@@ -3989,205 +4681,229 @@ msgstr "Tekenwisselingen        -- gemiddeld: %1.4f  sd: (%1.4f)\n"
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr "Richtingwisselingen  -- gemiddeld: %1.4f  sd: (%1.4f)\n"
 
-#: ../src/WaveTrack.cpp:128
+#: WaveTrack.cpp:87
 msgid "Audio Track"
 msgstr "Audiospoor"
 
 # ruimte beschikbaar/ruimte
-#: WaveTrack.cpp:515 WaveTrack.cpp:534
+#: WaveTrack.cpp:976
+#: WaveTrack.cpp:995
 msgid "There is not enough room available to paste the selection"
 msgstr "Er is te weinig ruimte om de selectie te plakken"
 
-#: WaveTrack.cpp:1583
+#: WaveTrack.cpp:2021
 msgid "There is not enough room available to expand the cut line"
 msgstr "Er is te weinig ruimte om de snijlijn uit te breiden"
 
-#: ../src/commands/CommandManager.cpp:323
+#: commands/CommandManager.cpp:549
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Plugins 1 tot %i"
 
-#: ../src/commands/CommandManager.cpp:337
+#: commands/CommandManager.cpp:563
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Plugins %i tot %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Niet toegestaan door een of andere oorzaak. Probeer eerst wat audio te selecteren."
+#: commands/CommandManager.cpp:928
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Er was een probleem bij uw laatste handeling. Als u denkt\n"
+"dat dit een bug is, vertel ons exact waar hij zich voordeed."
 
-#: commands/CommandManager.cpp:724
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:932
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr "Dit kunt u alleen doen wanneer afspelen en opname\n"
+msgstr ""
+"Dit kunt u alleen doen wanneer afspelen en opname\n"
 "gestopt zijn.  [Pauzeren is niet voldoende]"
 
-#: commands/CommandManager.cpp:726
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:934
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr "U moet hiervoor eerst wat stereo-geluid selecteren.\n"
+msgstr ""
+"U moet hiervoor eerst wat stereo-geluid selecteren.\n"
 "[U kunt dit niet gebruiken met mono-geluid]"
 
-#: commands/CommandManager.cpp:728
+#: commands/CommandManager.cpp:936
 msgid "You must first select some audio for this to use."
 msgstr "U moet hiervoor eerst wat audio selecteren"
 
-#: commands/CommandManager.cpp:730
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:938
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr "U moet hiervoor eerst wat audio selecteren.\n"
+msgstr ""
+"U moet hiervoor eerst wat audio selecteren.\n"
 "[U kunt dit niet bij andere soorten tracks gebruiken.]"
 
-#: commands/CommandManager.cpp:903
+# gedeactiveerd/uitgeschakeld/uit
+#: commands/CommandManager.cpp:943
 msgid "Disallowed"
-msgstr ""
+msgstr "Uitgeschakeld"
 
-#: ../src/commands/CommandManager.cpp:640
+#: commands/CommandManager.cpp:1167
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "%d sneltoetsen geladen\n"
 
-#: ../src/commands/CommandManager.cpp:643
+#: commands/CommandManager.cpp:1169
 msgid "Loading keyboard shortcuts"
 msgstr "Sneltoetsen worden geladen"
 
-#: ../src/effects/Amplify.cpp:34
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Effect toegepast: %s %.1f dB"
 
-#: ../src/effects/Amplify.cpp:63
+#: effects/Amplify.cpp:136
 msgid "Amplify"
 msgstr "Versterken"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:152
+#: effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
-msgstr ""
+msgstr "door Dominic Mazzoni"
 
-#: ../src/effects/Amplify.cpp:132
+#: effects/Amplify.cpp:165
 msgid "Amplification (dB):"
 msgstr "Versterking (dB):"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:180
 msgid "Amplification dB"
-msgstr ""
+msgstr "Versterking (dB)"
 
-#: ../src/effects/Amplify.cpp:152
+#: effects/Amplify.cpp:187
 msgid "New Peak Amplitude (dB):"
 msgstr "Nieuwe piekamplitude (dB):"
 
 # Sta geen oversturing toe (S. Alkemade)
-#: ../src/effects/Amplify.cpp:164
+#: effects/Amplify.cpp:197
 msgid "Allow clipping"
 msgstr "Oversturing toestaan"
 
-#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
+#: effects/Amplify.cpp:219
+#: effects/Amplify.cpp:276
+#: effects/Amplify.cpp:320
 msgid "-Infinity"
 msgstr "-Oneindig"
 
-#: ../src/effects/Amplify.h:47
+#: effects/Amplify.h:37
 msgid "Amplify..."
 msgstr "Versterken…"
 
 # bezig met
-#: ../src/effects/Amplify.h:51
+#: effects/Amplify.h:51
 msgid "Amplifying"
 msgstr "Bezig met versterken"
 
-#: effects/AutoDuck.cpp:125
+#: effects/AutoDuck.cpp:140
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "U heeft een spoor geselecteerd dat geen audio bevat. ‘Automatisch dempen’ kan alleen van audiosporen gebruik maken."
 
 # duiken/onderduiken/terugnemen (in volume)/zachter/dempen
-#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:141
+#: effects/AutoDuck.cpp:153
+#: effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr "Automatisch dempen"
 
 # het tweede audiospoor 'bepaalt' wanneer het eerste spoor zachter wordt gemaakt.
 # een bedieningsspoor dus.
-#: effects/AutoDuck.cpp:137
+#: effects/AutoDuck.cpp:152
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr "‘Automatisch dempen’ heeft een tweede audiospoor nodig dat onder het geselecteerde spoor of sporen geplaatst moet worden."
 
-#: effects/AutoDuck.cpp:463
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr "Automatisch dempen door Markus Meyer"
 
-#: effects/AutoDuck.cpp:485
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr "Hoeveelheid demping:"
 
-#: effects/AutoDuck.cpp:490
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr "Maximum pauze:"
 
-#: effects/AutoDuck.cpp:492 effects/AutoDuck.cpp:497 effects/AutoDuck.cpp:502
-#: effects/AutoDuck.cpp:507 effects/AutoDuck.cpp:512
-#: prefs/AudioIOPrefs.cpp:162 prefs/AudioIOPrefs.cpp:164
-#: prefs/AudioIOPrefs.cpp:188 prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:198 widgets/TimeTextCtrl.cpp:197
+#. i18n-hint: Name of time display format that shows time in seconds
+#: effects/AutoDuck.cpp:508
+#: effects/AutoDuck.cpp:513
+#: effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523
+#: effects/AutoDuck.cpp:528
+#: prefs/MidiIOPrefs.cpp:185
+#: prefs/MidiIOPrefs.cpp:187
+#: prefs/MidiIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:211
+#: prefs/MidiIOPrefs.cpp:219
+#: prefs/PlaybackPrefs.cpp:65
+#: prefs/PlaybackPrefs.cpp:66
+#: prefs/PlaybackPrefs.cpp:80
+#: prefs/PlaybackPrefs.cpp:81
+#: prefs/PlaybackPrefs.cpp:87
+#: prefs/PlaybackPrefs.cpp:88
+#: prefs/PlaybackPrefs.cpp:102
+#: prefs/PlaybackPrefs.cpp:103
+#: prefs/PlaybackPrefs.cpp:109
+#: prefs/PlaybackPrefs.cpp:110
+#: widgets/TimeTextCtrl.cpp:265
 msgid "seconds"
 msgstr "seconden"
 
 # voortijdig/natijdig (inner/outer)
 # binnen/buiten is minder duidelijk
-#: effects/AutoDuck.cpp:495
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr "Voortijdige fade-down:"
 
-#: effects/AutoDuck.cpp:500
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr "Natijdige fade-up:"
 
-#: effects/AutoDuck.cpp:505
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr "Natijdige fade-down:"
 
-#: effects/AutoDuck.cpp:510
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr "Voortijdige fade-up:"
 
-#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
+#: effects/AutoDuck.cpp:535
+#: effects/Compressor.cpp:506
 msgid "Threshold:"
 msgstr "Drempelwaarde:"
 
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr "Voer geldige waardes in."
 
-#: effects/AutoDuck.cpp:712
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr "Luistervoorbeeld niet beschikbaar"
 
-#: effects/AutoDuck.h:97
+#: effects/AutoDuck.h:98
 msgid "Auto Duck..."
 msgstr "Automatsch dempen…"
 
-#: effects/AutoDuck.h:102
+#: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
 msgstr "Automatisch dempen verwerken…"
 
-#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721
-#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Amplify.cpp:187 ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332 ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379 ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484 ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731 ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258 ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251 ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
-#: ../src/effects/nyquist/Nyquist.cpp:736
-#: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
+#: effects/AvcCompressor.cpp:738
+#: effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237
+#: widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "OK"
 
-#: ../src/effects/BassBoost.cpp:36
+#: effects/BassBoost.cpp:52
 #, c-format
 msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
 msgstr "Effect toegepast: %s frequentie = %.0f Hz, boost = %.0f dB"
@@ -4198,25 +4914,29 @@ msgid "Bass Boost"
 msgstr "Bassen versterken"
 
 #: effects/BassBoost.cpp:182
+#: effects/Phaser.cpp:219
+#: effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr "door Nasca Octavian Paul"
 
-#: ../src/effects/BassBoost.cpp:286
+#: effects/BassBoost.cpp:196
+#: effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "Frequentie (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Frequentie (Hz)"
 
 # versterking/boost
-#: ../src/effects/BassBoost.cpp:302
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Boost (dB):"
 
+# versterking/boost
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Boost (dB)"
 
 # bassen versterken
 #: effects/BassBoost.h:35
@@ -4224,7 +4944,7 @@ msgid "BassBoost..."
 msgstr "Bassen versterken…"
 
 # bezig met
-#: ../src/effects/BassBoost.h:48
+#: effects/BassBoost.h:49
 msgid "Boosting Bass Frequencies"
 msgstr "Basfrequenties worden opgepept"
 
@@ -4234,117 +4954,127 @@ msgid "Change Length..."
 msgstr "Lengte wijzigen…"
 
 # bezig met
-#: effects/ChangeLength.h:30
+#: effects/ChangeLength.h:34
 msgid "Changing Length..."
 msgstr "Lengte wordt gewijzigd…"
 
 # moet eigenlijk omgekeerd:
 # %.2f halve tonen %s (%s = naar boven/naar beneden)
-#: ../src/effects/ChangePitch.cpp:56
+#: effects/ChangePitch.cpp:55
 #, c-format
 msgid "Applied effect: %s %.2f semitones"
 msgstr "Effect toegepast: %s %.2f halve tonen"
 
-#: ../src/effects/ChangePitch.cpp:119
+#: effects/ChangePitch.cpp:198
 msgid "Change Pitch"
 msgstr "Toonhoogte wijzigen"
 
-#: ../src/effects/ChangePitch.cpp:242
+#: effects/ChangePitch.cpp:256
 msgid "Change Pitch without Changing Tempo"
 msgstr "Toonhoogte wijzigen, tempo blijft gelijk"
 
-#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
-#: ../src/effects/ChangeTempo.cpp:164
+#: effects/ChangePitch.cpp:258
+#: effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "van Vaughan Johnson && Dominic Mazzoni"
 
-#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
+#: effects/ChangePitch.cpp:260
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "gebruik makend van SoundTouch, van Olli Parviainen"
 
 #: effects/ChangePitch.cpp:269
 msgid "Pitch:"
-msgstr ""
+msgstr "Toonhoogte:"
 
 #: effects/ChangePitch.cpp:274
 msgid "From:"
-msgstr ""
+msgstr "Van:"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "Van toonhoogte"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "Omhoog"
 
 #: effects/ChangePitch.cpp:289
 msgid "Down"
-msgstr ""
+msgstr "Naar beneden"
 
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "Naar:"
 
 #: effects/ChangePitch.cpp:300
 msgid "To Pitch"
-msgstr ""
+msgstr "Naar-toonhoogte"
 
-#: ../src/effects/ChangePitch.cpp:299
+#: effects/ChangePitch.cpp:311
 msgid "Semitones (half-steps):"
 msgstr "Halve tonen:"
 
 #: effects/ChangePitch.cpp:316
 msgid "Semitones in half-steps"
-msgstr ""
+msgstr "Halve tonen in half-stappen"
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+#: effects/ChangePitch.cpp:326
+#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "van"
 
 #: effects/ChangePitch.cpp:327
 msgid "From frequency in hertz"
-msgstr ""
+msgstr "Van frequentie in hertz"
 
 # van A naar B
-#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
-#: ../src/effects/ChangeTempo.cpp:254
+#: effects/ChangePitch.cpp:331
+#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "naar"
 
 #: effects/ChangePitch.cpp:332
 msgid "To frequency in seconds"
-msgstr ""
+msgstr "Naar frequentie in seconden"
 
 # verandering/wijziging/aanpassing
-#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
-#: ../src/effects/ChangeTempo.cpp:182
+#: effects/ChangePitch.cpp:338
+#: effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Percentage verandering:"
 
-#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
+# verandering/wijziging/aanpassing
+#: effects/ChangePitch.cpp:343
+#: effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:359
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
-msgstr ""
+msgstr "Percentage verandering"
 
 # aanpassen/wijzigen (aanpassen hier mooier)
-#: ../src/effects/ChangePitch.h:31
+#: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "Toonhoogte aanpassen…"
 
 # bezig met/toonhoogte aanpassen/wijzigen/wordt gewijzigd
-#: ../src/effects/ChangePitch.h:35
+#: effects/ChangePitch.h:46
 msgid "Changing Pitch"
 msgstr "Toonhoogte wordt aangepast"
 
-#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
+#: effects/ChangeSpeed.cpp:54
+#: effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Effect toegepast: %s %.1f%%"
 
-#: ../src/effects/ChangeSpeed.cpp:47
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Snelheid wijzigen"
 
@@ -4353,488 +5083,493 @@ msgstr "Snelheid wijzigen"
 # n/b is een bekende term die ook in bijv. excel wordt gebruikt.
 # Not available wordt met 'niet beschikbaar' vertaald
 # n/a met n/b
-#. i18n-hint: n/a is an English
-#. abbreviation meaning "not
-#. applicable" (in other words,
-#. unimportant, not relevant).
-#: ../src/effects/ChangeSpeed.cpp:338
+#. i18n-hint: n/a is an English abbreviation meaning "not applicable"
+#. (in other words, unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "n/b"
 
-#: ../src/effects/ChangeSpeed.cpp:282
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Snelheid wijzigen, zowel tempo als toonhoogte worden beïnvloed"
 
-#: ../src/effects/ChangeSpeed.cpp:292
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "gebruik makend van SampleRate, van Erik de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+# consequentie , als je kiest voor BPM in NL dan ook RPM in NL (sander)
+# BPM Beats per minuut, TPM toeren per minuut. (Revolutions per minute)
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
-msgstr ""
+msgstr "Standaard vinyl RPM:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
-msgstr ""
+msgstr "Van RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
-msgstr ""
+msgstr "Naar RPM"
 
-#: ../src/effects/ChangeSpeed.h:37
+#: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
 msgstr "Snelheid wijzigen…"
 
 # bezig met
-#: ../src/effects/ChangeSpeed.h:40
+#: effects/ChangeSpeed.h:46
 msgid "Changing Speed"
 msgstr "Snelheid wordt aangepast"
 
-#: ../src/effects/ChangeTempo.cpp:62
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Tempo wijzigen"
 
-#: ../src/effects/ChangeTempo.cpp:159
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Tempo wijzigen, toonhoogte blijft gelijk"
 
 #: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
-msgstr ""
+msgstr "Beats per Minuut (BPM):"
 
 #: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "Van beats per minuut"
 
 #: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "Naar beats per minuut"
 
 #: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
-msgstr ""
+msgstr "Lengte (seconden):"
 
 #: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
-msgstr ""
+msgstr "Van lengte in seconden"
 
 #: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
-msgstr ""
+msgstr "Naar lengte in seconden"
 
-#: ../src/effects/ChangeTempo.h:40
+#: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
 msgstr "Tempo wijzigen…"
 
 # bezig met
-#: ../src/effects/ChangeTempo.h:44
+#: effects/ChangeTempo.h:49
 msgid "Changing Tempo"
 msgstr "Tempo wordt aangepast"
 
 #: effects/ClickRemoval.cpp:314
-#, fuzzy
 msgid "Click Removal"
-msgstr "ClickRemoval"
+msgstr "Klik-verwijdering"
 
-#: ../src/effects/ClickRemoval.cpp:317
+#: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
 msgstr "Click en pop verwijderen door Craig DeForest"
 
-#: effects/ClickRemoval.cpp:343
+#: effects/ClickRemoval.cpp:341
 msgid "Select threshold (lower is more sensitive):"
 msgstr "Drempelwaarde selecteren (lager is gevoeliger):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Selecteer drempelwaarde"
 
-#: effects/ClickRemoval.cpp:355
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Maximum piekbreedte (hoger is gevoeliger):"
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
-msgstr ""
+msgstr "Maximum piekbreedte"
 
 # betere vertaling?
 # tikken, geknetter, butsen, statische electriciteit
 # knarsen, kliks, klikken, clicks ...
-#: ../src/effects/ClickRemoval.h:42
+#: effects/ClickRemoval.h:42
 msgid "Click Removal..."
 msgstr "Click verwijderen…"
 
-#: ../src/effects/ClickRemoval.h:46
+#: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
 msgstr "Clicks en pops worden verwijderd…"
 
 # Was eerst: Dynamische bereik-compressor
-# Ik zou deze niet vertalen, het betekent namelijk zoiets als 
-# 'super multiband compresor", waar een gewone compressor enkele 
+# Ik zou deze niet vertalen, het betekent namelijk zoiets als
+# 'super multiband compresor", waar een gewone compressor enkele
 # frequenties comprimeert (sander)
-#: ../src/effects/Compressor.cpp:43
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Dynamisch bereik compressor"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
-msgstr ""
+msgstr "Drempelwaarde"
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
-msgstr ""
+msgstr "Verhouding: "
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
-msgstr ""
+msgstr "Verhouding"
 
-#: effects/Compressor.cpp:510
-#, fuzzy
+# attack/invaltijd/invalstijd
+#: effects/Compressor.cpp:522
 msgid "Attack Time:"
 msgstr "Invalstijd: "
 
-#: effects/Compressor.cpp:514
+# attack/invaltijd/invalstijd
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
-msgstr ""
+msgstr "Invalstijd"
 
-#: effects/Compressor.cpp:518
-#, fuzzy
+# decay/uitvalstijd
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
-msgstr "Uitvalstijd: "
+msgstr "Uitvalstijd:"
 
-#: effects/Compressor.cpp:522
+# decay/uitvalstijd
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
-msgstr ""
+msgstr "Uitvalstijd"
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr "Normaliseren op 0dB na compressie"
 
-#: effects/Compressor.cpp:563
+#: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
-msgstr "Drempelwaarde: %d dB"
+msgstr "Drempelwaarde %d dB"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "Verhouding: %.0f op 1"
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "Verhouding %.1f op 1"
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
-#: effects/Compressor.cpp:575
+# Wanneer de compressie in werking treedt?
+#: effects/Compressor.cpp:587
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
-msgstr "Invalstijd: %.1f sec"
+msgstr "Invalstijd %.1f sec"
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588
+#: effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f seconden"
 
-#: effects/Compressor.cpp:578
+# hoelang het duurt voordat (besloten wordt dat) er niet meer
+# gecomprimeerd wordt
+#: effects/Compressor.cpp:590
 #, c-format
-#, fuzzy
 msgid "Decay Time %.1f secs"
-msgstr "Uitvalstijd: %.1f sec"
+msgstr "Uitvalstijd %.1f sec"
 
-#: ../src/effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Compressor…"
 
 # bezig met
-#: ../src/effects/Compressor.h:40
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Dynamische bereik-compressie wordt toegepast…"
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Contrast-analyse"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Contrast-gereedschap voorgrondsd"
 
-#: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+#: effects/Contrast.cpp:88
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"Voorgrondtijden geselecteerd.\n"
+"Selecteer nu de achtergrond en gebruik Ctrl+Shift+T of normaals het menu."
 
-#: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+#: effects/Contrast.cpp:144
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
+"Begintijd na eindtijd!\n"
+"Geef a.u.b. redelijke tijden op."
 
-#: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+#: effects/Contrast.cpp:154
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"Opgegeven tijden zijn niet redelijk!\n"
+"Geef a.u.b. redelijke tijden op."
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:235
-msgid "Parameters"
-msgstr ""
+msgstr "Contrast Analyzer"
 
 # begin en eind/start en einde
-#: effects/ToneGen.cpp:328 toolbars/ControlToolBar.cpp:186
+#: effects/Contrast.cpp:286
+#: effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
 msgstr "Begin"
 
 # eind/einde
-#: effects/ToneGen.cpp:329 toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:129 toolbars/SelectionBar.cpp:226
+#: effects/Contrast.cpp:287
+#: effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184
+#: toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159
+#: toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Einde"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
-msgstr ""
+msgstr "Volume    "
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
-msgstr ""
+msgstr "Voorgrond:"
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
-msgstr ""
+msgstr "Voorgrond starttijd"
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
-msgstr ""
+msgstr "Voorgrond eindtijd"
+
+#: effects/Contrast.cpp:329
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr "Gemeten"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:331
+#: effects/Contrast.cpp:375
 msgid "Use selection"
-msgstr ""
+msgstr "Selectie gebruiken"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:336
 msgid "Background:"
-msgstr ""
+msgstr "Achtergrond"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
-msgstr ""
+msgstr "Achtergrond starttijd"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
-msgstr ""
+msgstr "Achtergrond eindtijd"
 
-#: effects/Contrast.cpp:298
+# Resetten/herstellen
+#: effects/Contrast.cpp:384
 msgid "Result"
-msgstr ""
+msgstr "Resultaat"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
-msgstr ""
+msgstr "Contrast-resultaat:"
 
 # Resetten/herstellen
-#: Tags.cpp:796 Tags.cpp:1948
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr "Herstellen"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:392
 msgid "Difference:"
-msgstr ""
+msgstr "Verschil:"
 
-#: effects/Contrast.cpp:313
+# dit is een tabbladtitel
+# het is geen info of het bouwen, maar over het programma
+#: effects/Contrast.cpp:403
 msgid "Information"
-msgstr ""
+msgstr "Programma-informatie"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Om rms-volumeverschillen tussen twee geluidsselecties te meten."
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-# dit wordt: Audacity bedienings-werkbalk/bedieningsknoppen-werkbalk
-# Audacity %s-werkbalk
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "bedieningsknoppen"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
+msgstr "Hulp voor de WCAG2 audio contrast analyzer"
 
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "Sluiten (tijden behouden)"
 
-#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:474
+#: effects/Contrast.cpp:480
+#: effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
-msgstr ""
+msgstr "Meten"
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Geen voorgrond om te meten"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Gemeten voorgrondniveau"
 
-#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
+#: effects/Contrast.cpp:537
+#: effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
-msgstr ""
+msgstr "Geen achtergrond om te meten"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
-msgstr ""
+msgstr "Gemeten achtergrondniveau"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "WCAG2 Oké"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "WCAG2 mislukt"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
-msgstr ""
+msgstr "Huidig verschil"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "%.1f dB Gemiddelde rms"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Voer geldige tijdwaarden in."
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Contrast-resultaat exporteren als:"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "WCAG 2.0 Success Criteria 1.4.7 Contrast-resultaten"
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Bestandsnaam = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
-msgstr ""
+msgstr "Voorgrond"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601
+#: effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Starttijd = %2d uur, %2d minute(n), %.2f seconden."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606
+#: effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Eindtijd = %2d uur, %2d minute(n), %.2f seconden."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608
+#: effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Gemiddelde rms = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610
+#: effects/Contrast.cpp:627
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Gemiddelde rms =  dB."
 
-#: effects/Contrast.cpp:593
+# Achteruit/achterwaarts/naar achteren/terug
+#: effects/Contrast.cpp:613
 msgid "Background"
-msgstr ""
+msgstr "Achtergrond"
 
-#: effects/Contrast.cpp:609
+# Resetten/herstellen
+#: effects/Contrast.cpp:629
 msgid "Results"
-msgstr ""
+msgstr "Resultaten"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Verschil = %.1f Gemiddelde rms dB."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Succes-criteria 1.4.7 voor WCAG 2.0: Oké"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Succes-criteria 1.4.7 voor WCAG 2.0: Mislukt"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
+msgstr "Data verzameld"
 
-#: effects/DtmfGen.cpp:47
+#: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "DTMF-geluidstonen genereren"
 
-#: effects/DtmfGen.cpp:382
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "door Salvo Ventura (2006)"
 
 # Telefoontonen (Dual Tone Multi Frequency)
 # ook wel Toonkiezen genoemd
-#: effects/DtmfGen.cpp:386
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "DTMF reeks:"
 
-#: ../src/effects/ToneGen.cpp:293
+#: effects/DtmfGen.cpp:428
+#: effects/Noise.cpp:190
+#: effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Amplitude (0-1)"
 
-#: effects/DtmfGen.cpp:448
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Tijdsduur:"
 
-#: effects/DtmfGen.cpp:407
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
 msgstr "Geluid/stilte verhouding:"
 
@@ -4843,219 +5578,235 @@ msgstr "Geluid/stilte verhouding:"
 # dus 100 % wil zeggen geen stilte tussen de pulsen
 # 0% wil zeggen extreem korte pulsen lange stiltes
 # Verhouding in percentage/Bedrijfscyclus
-#: effects/DtmfGen.cpp:418
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr "Bedrijfscyclus:"
 
-#: effects/DtmfGen.cpp:420
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Tijdsduur geluidstonen:"
 
-#: effects/DtmfGen.cpp:421 effects/DtmfGen.cpp:423 effects/DtmfGen.cpp:494
-#: effects/DtmfGen.cpp:495
+#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:467
+#: effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:422
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Tijdsduur stilte:"
 
-#: effects/DtmfGen.h:41
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
 msgstr "DTMF geluidstonen…"
 
-#: effects/DtmfGen.h:45
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr "Effect toegepast: DTMF-tonen genereren, %.6lf seconden"
 
-#: effects/DtmfGen.h:49
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
 msgstr "DTMF-tonen genereren"
 
 #  Decay Factor kan je vertalen als 'verloop' (sander)
-#: ../src/effects/Echo.cpp:33
+#: effects/Echo.cpp:48
 #, c-format
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Effect toegepast: %s vertraging = %f seconden, dempingsfactor = %f"
 
-#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Echo"
 
-#: ../src/effects/Echo.cpp:182
+#. i18n-hint: && in here is an escape character to get a single & on
+#. * screen, so keep it as is
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "door Dominic Mazzoni && Vaughan Johnson"
 
-#: ../src/effects/Echo.cpp:192
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Vertraging (seconden):"
 
-#: ../src/effects/Echo.cpp:211
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Dempingsfactor:"
 
-#: ../src/effects/Echo.h:36
+#: effects/Echo.h:34
 msgid "Echo..."
 msgstr "Echo…"
 
 # bezig met echo
-#: ../src/effects/Echo.h:40
+#: effects/Echo.h:48
 msgid "Performing Echo"
 msgstr "Echo wordt uitgevoerd"
 
-#: effects/Effect.cpp:303
+#: effects/Effect.cpp:498
 msgid "Preparing preview"
 msgstr "Voorbeeld voorbereiden"
 
 # voorbeeld tonen/voorbeeld/voorbeeld afspelen
-#: effects/Effect.cpp:329
+#: effects/Effect.cpp:530
 msgid "Previewing"
 msgstr "Voorbeeld"
 
-#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
+#: effects/Effect.cpp:545
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Fout bij het openen van het geluidsapparaat. Controleer de uitgangs-instellingen van het apparaat en de samplefrequentie van het project."
 
-#: ../src/effects/Effect.h:84
+#: effects/Effect.h:96
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Effect toegepast: %s"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:338
 msgid "B-spline"
 msgstr "B-spline"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:339
 msgid "Cosine"
 msgstr "Cosinus"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:340
 msgid "Cubic"
 msgstr "Kubisch"
 
-#: ../src/effects/Equalization.cpp:156
+#: effects/Equalization.cpp:379
+#: effects/Equalization.cpp:430
 msgid "Equalization"
 msgstr "Toonregeling"
 
-#: effects/Equalization.cpp:865
+#: effects/Equalization.cpp:1009
 msgid "Error loading EQ curve"
 msgstr "Fout bij het laden van de toonregelingscurve"
 
 # zelfgemaakt/aangepast
-#: effects/Equalization.cpp:998
+#: effects/Equalization.cpp:1048
 msgid "custom"
 msgstr "zelfgemaakt"
 
+#: effects/Equalization.cpp:1097
+msgid "Error saving equalization curves"
+msgstr "Fout bij opslaan van equalisatiecurves"
+
 # equaliseren
-#: effects/Equalization.cpp:971
+#. i18n-hint: && in here is an escape character to get a single &
+#. * on screen, so keep it as is
+#: effects/Equalization.cpp:1120
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Toonregeling, door Martyn Shaw && Mitch Golden"
 
-#: effects/Equalization.cpp:992
+#: effects/Equalization.cpp:1141
 msgid "Max dB"
 msgstr "Max dB"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1143
 msgid "Min dB"
 msgstr "Min dB"
 
-#: effects/Equalization.cpp:1093
+#: effects/Equalization.cpp:1216
 msgid "kHz"
 msgstr "kHz"
 
 # lijnen tekenen
-#: effects/Equalization.cpp:1110
+#: effects/Equalization.cpp:1233
 msgid "Draw curves"
 msgstr "Lijnen tonen"
 
 # toont schuiven en een grafiek
-#: effects/Equalization.cpp:1115
+#: effects/Equalization.cpp:1238
 msgid "Graphic EQ"
 msgstr "Schuifjes"
 
-#: effects/Equalization.cpp:1131
+#: effects/Equalization.cpp:1252
 msgid "Linear frequency scale"
 msgstr "Lineaire frequentieschaal"
 
 # breedte/lengte
-#: effects/Equalization.cpp:1140
+#: effects/Equalization.cpp:1261
 msgid "Length of filter:"
 msgstr "Breedte van het filter:"
 
-#: effects/Equalization.cpp:1048
+#: effects/Equalization.cpp:1282
 msgid "Select curve:"
 msgstr "Curve selecteren:"
 
-#: effects/Equalization.cpp:1058 effects/Equalization.cpp:2244
+#: effects/Equalization.cpp:1292
+#: effects/Equalization.cpp:2552
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Opslaan als…"
 
-#: effects/Equalization.cpp:1064
+#: effects/Equalization.cpp:1298
 msgid "Flat"
 msgstr "Vlak"
 
-#: effects/Equalization.cpp:2243
+#: effects/Equalization.cpp:2551
 msgid "Enter the desired name of the curve"
 msgstr "Geef een naam aan de curve"
 
-#: effects/Equalization.cpp:2343
+#: effects/Equalization.cpp:2651
+#: export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr "Verwijderen bevestigen"
 
 # toon bijregeling (sander)
-#: ../src/effects/Equalization.h:38
+#: effects/Equalization.h:82
 msgid "Equalization..."
 msgstr "Toonregeling…"
 
-#: ../src/effects/Equalization.h:42
+#: effects/Equalization.h:96
 msgid "Performing Equalization"
 msgstr "Bezig met toonregeling"
 
-#: ../src/effects/Fade.h:23
+#: effects/Fade.h:24
 msgid "Fade In"
 msgstr "Fade-in"
 
 # Fade-in wordt uitgevoerd
-#: ../src/effects/Fade.h:27
+#: effects/Fade.h:38
 msgid "Fading In"
 msgstr "Bezig met Fade-in"
 
-#: ../src/effects/Fade.h:43
+#: effects/Fade.h:54
 msgid "Fade Out"
 msgstr "Fade-out"
 
 # Fade-out wordt uitgevoerd
-#: ../src/effects/Fade.h:47
+#: effects/Fade.h:68
 msgid "Fading Out"
 msgstr "Bezig met Fade-out"
 
 # opsporen/detecteren
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr "Oversturing detecteren"
 
-#: effects/FindClipping.cpp:86
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr "Oversturing"
 
-#: effects/FindClipping.cpp:199
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
 msgstr "Oversturing opsporen"
 
-#: effects/FindClipping.cpp:210
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr "door Leland Lucius"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
 msgstr "Start drempelwaarde (samples):"
 
-#: effects/FindClipping.cpp:226
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
 msgstr "Stop drempelwaarde (samples):"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
 msgstr "Start en stop moeten groter zijn dan 0."
 
@@ -5063,231 +5814,238 @@ msgstr "Start en stop moeten groter zijn dan 0."
 msgid "Find Clipping..."
 msgstr "Oversturing opsporen…"
 
-#: effects/FindClipping.h:47
+#: effects/FindClipping.h:54
 msgid "Detecting clipping"
 msgstr "Oversturing detecteren"
 
 # dit is spiegelen in de x-as in tegenstelling tot spiegelen in de de y-as
 # wat vertaald wordt met omkeren (vertaling voor reverse)
-#: ../src/effects/Invert.h:27
+#: effects/Invert.h:27
 msgid "Invert"
 msgstr "Spiegelen"
 
-#: ../src/effects/Invert.h:31
+#: effects/Invert.h:41
 msgid "Inverting"
 msgstr "Bezig met spiegelen"
 
 # de extremen eruit halen/nivelleren
-#: BatchCommands.cpp:237 effects/Leveller.cpp:129
+#: effects/Leveller.cpp:192
 msgid "Leveller"
 msgstr "Nivelleren"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Niet-overslaand"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "Licht"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "Gematigd"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "Zwaar"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "Zwaarder"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "Zwaarst"
 
 # egaliseren/nivelleren
-#: effects/TruncSilence.cpp:320
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "door Lynn Allan"
 
-#: effects/Leveller.cpp:220 effects/Leveller.cpp:233
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Mate van nivellering"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
-msgstr ""
+msgstr "Mate van nivellering:"
 
-#: effects/Leveller.cpp:244
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Ruisdrempelwaarde"
 
-#: effects/Leveller.cpp:238
-#, fuzzy
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
-msgstr "Drempelwaarde voor ruis: "
+msgstr "Drempelwaarde voor ruis:"
 
 #: effects/Leveller.h:28
 msgid "Leveller..."
 msgstr "Nivelleren…"
 
 # toepassen kan hier weggelaten worden
-#: effects/Leveller.h:32
+#: effects/Leveller.h:42
 msgid "Applying Leveller..."
 msgstr "Nivelleren…"
 
 #: effects/LoadEffects.cpp:102
 msgid "Generator"
-msgstr ""
+msgstr "Generator"
 
 #: effects/LoadEffects.cpp:104
 msgid "Instrument"
-msgstr ""
+msgstr "Instrument"
 
 #: effects/LoadEffects.cpp:106
 msgid "Oscillator"
-msgstr ""
+msgstr "Oscillator"
 
 #: effects/LoadEffects.cpp:108
 msgid "Utility"
-msgstr ""
+msgstr "Gereedschap"
 
+# dit is spiegelen in de x-as in tegenstelling tot spiegelen in de y-as
+# wat vertaald wordt met omkeren (vertaling voor reverse)
 #: effects/LoadEffects.cpp:110
 msgid "Converter"
-msgstr ""
+msgstr "Converter"
 
+# letterlijk vertalen?
 #: effects/LoadEffects.cpp:112
 msgid "Analyser"
-msgstr ""
-
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "Mixer"
+msgstr "Analyser"
 
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
-msgstr ""
+msgstr "Simulator"
 
 #: effects/LoadEffects.cpp:118
 msgid "Delay"
-msgstr ""
+msgstr "Delay"
 
 #: effects/LoadEffects.cpp:120
 msgid "Modulator"
-msgstr ""
+msgstr "Modulator"
 
 #: effects/LoadEffects.cpp:122
 msgid "Reverb"
-msgstr ""
+msgstr "Galm"
 
-#: ../src/effects/Phaser.cpp:59
+#: effects/LoadEffects.cpp:124
+#: effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Phaser"
 
 #: effects/LoadEffects.cpp:126
 msgid "Flanger"
-msgstr ""
+msgstr "Flanger"
 
 #: effects/LoadEffects.cpp:128
 msgid "Chorus"
-msgstr ""
+msgstr "Chorus"
 
 #: effects/LoadEffects.cpp:130
 msgid "Filter"
-msgstr ""
+msgstr "Filter"
 
 #: effects/LoadEffects.cpp:132
 msgid "Lowpass"
-msgstr ""
+msgstr "Lowpass"
 
 #: effects/LoadEffects.cpp:134
 msgid "Bandpass"
-msgstr ""
+msgstr "Bandpass"
 
 #: effects/LoadEffects.cpp:136
 msgid "Highpass"
-msgstr ""
+msgstr "Highpass"
 
 #: effects/LoadEffects.cpp:138
 msgid "Comb"
-msgstr ""
+msgstr "Kamfilter"
 
 #: effects/LoadEffects.cpp:140
 msgid "Allpass"
-msgstr ""
+msgstr "Allpass"
 
 #: effects/LoadEffects.cpp:142
 msgid "Equaliser"
-msgstr ""
+msgstr "Equalizer"
 
 #: effects/LoadEffects.cpp:144
 msgid "Parametric"
-msgstr ""
+msgstr "Parametrisch"
 
 #: effects/LoadEffects.cpp:146
 msgid "Multiband"
-msgstr ""
+msgstr "Multiband"
 
 #: effects/LoadEffects.cpp:148
 msgid "Spectral Processor"
-msgstr ""
+msgstr "Spectrale processor"
 
 #: effects/LoadEffects.cpp:150
 msgid "Pitch Shifter"
-msgstr ""
+msgstr "Toonhoogte wijzigen"
 
 #: effects/LoadEffects.cpp:152
 msgid "Amplifier"
-msgstr ""
+msgstr "Versterken"
 
 #: effects/LoadEffects.cpp:154
 msgid "Distortion"
-msgstr ""
+msgstr "Vervorming"
 
 #: effects/LoadEffects.cpp:156
 msgid "Waveshaper"
-msgstr ""
+msgstr "Golf-vormgeving"
 
+# Was eerst: Dynamische bereik-compressor
+# Ik zou deze niet vertalen, het betekent namelijk zoiets als
+# 'super multiband compresor", waar een gewone compressor enkele
+# frequenties comprimeert (sander)
 #: effects/LoadEffects.cpp:158
 msgid "Dynamics Processor"
-msgstr ""
+msgstr "Dynamics Processor"
 
 #: effects/LoadEffects.cpp:160
 msgid "Compressor"
-msgstr ""
+msgstr "Compressor"
 
 #: effects/LoadEffects.cpp:162
 msgid "Expander"
-msgstr ""
+msgstr "Expander"
 
+# Interpolatie: [lineair]
 #: effects/LoadEffects.cpp:164
 msgid "Limiter"
-msgstr ""
+msgstr "Limiter"
 
 #: effects/LoadEffects.cpp:166
 msgid "Gate"
-msgstr ""
+msgstr "Gate"
 
-#: ../src/effects/NoiseRemoval.cpp:69
+#: effects/LoadEffects.cpp:199
+#: effects/NoiseRemoval.cpp:738
 msgid "Noise Removal"
 msgstr "Ruis verwijderen"
 
 #: effects/LoadEffects.cpp:201
 msgid "Pitch and Tempo"
-msgstr ""
+msgstr "Toonhoogte en tempo"
 
+# naamsverandering/naamwijziging
 #: effects/LoadEffects.cpp:203
 msgid "Timeline Changer"
-msgstr ""
+msgstr "Tijdslijn aanpassen"
 
 #: effects/LoadEffects.cpp:205
 msgid "Time"
-msgstr ""
+msgstr "Tijd"
 
+# Onsets betekent in de medische wereld "insertie"...
 #: effects/LoadEffects.cpp:207
 msgid "Onsets"
-msgstr ""
+msgstr "Inserties"
 
 # witte (ruis)
 #: effects/Noise.cpp:37
@@ -5308,280 +6066,305 @@ msgstr "Bruin"
 msgid "Noise Generator"
 msgstr "Ruis genereren"
 
-#: effects/Noise.cpp:246
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Type ruis"
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr "Ruis…"
 
-#: effects/Noise.h:45
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Effect toegepast: Ruis genereren, %.6lf seconden"
 
-#: effects/Noise.h:49
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr "Ruis genereren"
 
-#: effects/NoiseRemoval.cpp:192
+#: effects/NoiseRemoval.cpp:191
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
 msgstr "Kon bestand: ‘%s’ niet openen"
 
 # ruisonderdrukking/ruis verwijderen
-#: effects/NoiseRemoval.cpp:275
+#: effects/NoiseRemoval.cpp:276
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Probeer ruis te verwijderen zonder een ruisprofiel.\n"
 
-#: ../src/effects/NoiseRemoval.cpp:410
+#: effects/NoiseRemoval.cpp:827
 msgid "Step 1"
 msgstr "Stap 1"
 
-#: effects/NoiseRemoval.cpp:765
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:828
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr "Selecteer een aantal seconden met alleen ruis zodat Audacity weet wat gefilterd moet worden.\n"
+msgstr ""
+"Selecteer een aantal seconden met alleen ruis zodat Audacity weet wat gefilterd moet worden.\n"
 "Klik daarna op ‘Ruisprofiel verkrijgen’:"
 
-#: ../src/effects/NoiseRemoval.cpp:427
+#: effects/NoiseRemoval.cpp:829
 msgid "Step 2"
 msgstr "Stap 2"
 
-#: effects/NoiseRemoval.cpp:767
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:830
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr "Selecteer de audio die u gefilterd wilt hebben, kies hoeveel ruis u wilt\n"
+msgstr ""
+"Selecteer de audio die u gefilterd wilt hebben, kies hoeveel ruis u wilt\n"
 "wegfilteren, en klik dan op ‘OK’ om de ruis te verwijderen.\n"
 
 # ruis onderdrukken
-#: ../src/effects/NoiseRemoval.cpp:403
+#: effects/NoiseRemoval.cpp:835
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Ruis verwijderen door: Dominic Mazzoni"
 
-#: ../src/effects/NoiseRemoval.cpp:419
+#: effects/NoiseRemoval.cpp:843
 msgid "Get Noise Profile"
 msgstr "Ruisprofiel verkrijgen"
 
-#: effects/NoiseRemoval.cpp:791
+#: effects/NoiseRemoval.cpp:854
 msgid "Noise reduction (dB):"
 msgstr "Ruisonderdrukking (dB):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:859
 msgid "Noise reduction"
-msgstr ""
+msgstr "Ruisonderdrukking"
 
 # verloop/gladheid/gladstrijken/gladmaken/uitsmeren/uitvlakken
-#: effects/NoiseRemoval.cpp:799
+#: effects/NoiseRemoval.cpp:863
 msgid "Frequency smoothing (Hz):"
 msgstr "Frequenties uitsmeren (Hz):"
 
-#: effects/NoiseRemoval.cpp:859
+# verloop/gladheid/gladstrijken/gladmaken/uitsmeren/uitvlakken
+#: effects/NoiseRemoval.cpp:868
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Frequenties uitsmeren"
 
 # Attack/decay wordt niet vertaald?
 # inval/uitval?
-#: effects/NoiseRemoval.cpp:807
+#: effects/NoiseRemoval.cpp:872
 msgid "Attack/decay time (secs):"
 msgstr "Attack/decay tijd (seconden):"
 
-#: effects/NoiseRemoval.cpp:868
+# Attack/decay wordt niet vertaald?
+# inval/uitval?
+#: effects/NoiseRemoval.cpp:877
 msgid "Attach/decay time"
-msgstr ""
+msgstr "In-/uitvalstijd"
 
 # ruis onderdrukken
 # noise suppression/reduction
-#: ../src/effects/NoiseRemoval.h:38
+#: effects/NoiseRemoval.h:37
 msgid "Noise Removal..."
 msgstr "Ruis verwijderen…"
 
-#: ../src/effects/NoiseRemoval.h:43
+#: effects/NoiseRemoval.h:52
 msgid "Creating Noise Profile"
 msgstr "Bezig met het maken van een ruisprofiel"
 
-#: ../src/effects/NoiseRemoval.h:45
+#: effects/NoiseRemoval.h:54
 msgid "Removing Noise"
 msgstr "Ruis wordt verwijderd"
 
-#: effects/Normalize.cpp:68
+#. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
+#: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Effect toegepast: %s dc offset verwijderen = %s, genormaliseerde amplitude = %s"
 
-# mag dit vertaald worden?
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+#. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
 msgid "true"
-msgstr ""
+msgstr "true"
 
-#: effects/Normalize.cpp:73
+#: effects/Normalize.cpp:77
 #, c-format
 msgid ", maximum amplitude = %.1f dB"
 msgstr ", maximum amplitude = %.1f dB"
 
 # Volume maximaliseren zonder clippen (sander)
 # is helaas te lang voor de vertaling van een menuonderdeel
-#: ../src/effects/Normalize.cpp:29
+#: effects/Normalize.cpp:327
 msgid "Normalize"
 msgstr "Normaliseren"
 
-#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
-msgstr ""
+msgstr "DC-offset verwijderen (verticaal op 0.0 centreren)"
 
-#: effects/Normalize.cpp:357
+# normaliseren op
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
-msgstr ""
+msgstr "Maximum amplitude normaliseren naar:"
 
-#: effects/Normalize.cpp:336
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr "-"
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Minimum amplitude dB"
 
-#: ../src/effects/Normalize.h:34
+#: effects/Normalize.h:33
 msgid "Normalize..."
 msgstr "Normaliseren…"
 
-#: ../src/effects/Normalize.h:38
+#: effects/Normalize.h:49
 msgid "Normalizing..."
 msgstr "Normaliseren…"
 
-#: ../src/effects/Phaser.cpp:47
+#: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
 msgstr "Effect toegepast: %s %d stappen, %.0f%% wet, frequentie = %.1f Hz, beginfase = %.0f deg, bereik = %d, feedback = %.0f%%"
 
-#: ../src/effects/Phaser.cpp:455
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "Stappen:"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
-msgstr ""
+msgstr "Stappen"
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "Dry/Wet:"
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
-msgstr ""
+msgstr "Dry Wet"
 
-#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
+#: effects/Phaser.cpp:244
+#: effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
 msgstr "LFO-frequentie (Hz):"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247
+#: effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
-msgstr ""
+msgstr "LFO-frequentie in hertz"
 
-#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
+#: effects/Phaser.cpp:252
+#: effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO beginfase (graden):"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255
+#: effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
-msgstr ""
+msgstr "LFO beginfase in graden"
 
 # diepte/bereik
-#: ../src/effects/Phaser.cpp:529
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Bereik:"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263
+#: effects/Wahwah.cpp:241
 msgid "Depth in percent"
-msgstr ""
+msgstr "Diepte in procent"
 
-#: ../src/effects/Phaser.cpp:545
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Feedback (%):"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
-msgstr ""
+msgstr "Feedback in procent"
 
-#: ../src/effects/Phaser.h:41
+#: effects/Phaser.h:45
 msgid "Phaser..."
 msgstr "Phaser…"
 
 # Phaser wordt nu toegepast
-#: ../src/effects/Phaser.h:45
+#: effects/Phaser.h:59
 msgid "Applying Phaser"
 msgstr "Phaser wordt toegepast"
 
-#: effects/Repair.cpp:94
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+#: effects/Repair.cpp:99
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr "‘Repareren’ is bedoeld voor zeer korte stukjes beschadigde audio (maximaal 128 samples).\n"
+msgstr ""
+"‘Repareren’ is bedoeld voor zeer korte stukjes beschadigde audio (maximaal 128 samples).\n"
 "\n"
 "Zoom in en selecteer een fractie van een seconde om te repareren."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
 msgstr ""
+"Hestellen werkt door geluidsdata te gebruiken van buiten het selectiegebied.\n"
+"\n"
+"Kies a.u.b. een gebied waaraan audio minstens aan één kant grenst.\n"
+"\n"
+"Hoe meer omringend geluid, hoe beter het werkt."
 
-#: effects/Repair.h:33
+#: effects/Repair.h:43
 msgid "Repairing damaged audio"
 msgstr "Beschadigde audio wordt gerepareerd"
 
-#: ../src/effects/Repeat.cpp:31
+#: effects/Repeat.cpp:50
 #, c-format
 msgid "Repeated %d times"
 msgstr "%d keer herhaald"
 
-#: ../src/effects/Repeat.cpp:57
+#: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
 msgstr "Sporen zijn te lang om de selectie te herhalen."
 
-#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
+#: effects/Repeat.cpp:77
+#: effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Herhalen"
 
-#: effects/Repeat.cpp:212
-#, fuzzy
+#: effects/Repeat.cpp:211
 msgid "Number of times to repeat:"
-msgstr "Aantal herhalingen: "
+msgstr "Aantal herhalingen:"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Nieuwe selectielengte: hh:mm:ss"
 
-#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Nieuwe selectielengte: "
 
-#: widgets/TimeTextCtrl.cpp:199
+#. i18n-hint: Name of time display format that shows time in hours, minutes
+#. * and seconds
+#: effects/Repeat.cpp:261
+#: widgets/TimeTextCtrl.cpp:272
 msgid "hh:mm:ss"
 msgstr "uu:mm:ss"
 
-#: ../src/effects/Repeat.h:34
+#: effects/Repeat.h:33
 msgid "Repeat..."
 msgstr "Herhalen…"
 
 # bezig met herhalen
-#: ../src/effects/Repeat.h:38
+#: effects/Repeat.h:47
 msgid "Performing Repeat"
 msgstr "Herhalen wordt uitgevoerd"
 
-#: ../src/effects/Reverse.h:30
+#: effects/Reverse.h:30
 msgid "Reverse"
 msgstr "Omkeren"
 
-#: ../src/effects/Reverse.h:34
+#: effects/Reverse.h:44
 msgid "Reversing"
 msgstr "Bezig met omkeren"
 
@@ -5594,16 +6377,16 @@ msgstr "Stilte genereren"
 msgid "Silence..."
 msgstr "Stilte…"
 
-#: ../src/effects/Silence.h:37
+#: effects/Silence.h:48
 msgid "Generating Silence"
 msgstr "Stilte wordt gegenereerd"
 
-#: ../src/effects/Silence.h:42
+#: effects/Silence.h:53
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Effect toegepast: Stilte genereren, %.6lf seconden"
 
-#: effects/SimplePairedTwoTrack.h:120
+#: effects/SimplePairedTwoTrack.h:115
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Sorry, dit effect kan niet toegepast worden op stereosporen waarvan de afzonderlijke kanalen van het spoor niet overeenkomen."
 
@@ -5618,12 +6401,14 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr "Pieken verwijderen door Lynn Allan"
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr "Maximale tijdsduur van piek (milliseconden): \n"
+msgstr ""
+"Maximale tijdsduur van piek (milliseconden): \n"
 "(99999 of groter betekent: uit)"
 
-#: effects/SpikeCleaner.cpp:178 effects/TruncSilence.cpp:269
+#: effects/SpikeCleaner.cpp:178
 msgid "Theshold for silence: "
 msgstr "Drempelwaarde voor stilte: "
 
@@ -5631,407 +6416,483 @@ msgstr "Drempelwaarde voor stilte: "
 msgid "Spike Cleaner..."
 msgstr "Pieken verwijderen…"
 
-#: effects/SpikeCleaner.h:31
+#: effects/SpikeCleaner.h:35
 msgid "Applying Spike Cleaner..."
 msgstr "‘Pieken verwijderen’ toepassen…"
 
-#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
-msgid "&Stereo to Mono"
-msgstr "&Van stereo naar mono"
+#: effects/StereoToMono.h:23
+msgid "Stereo to Mono"
+msgstr "Stereo naar mono"
 
-#: effects/StereoToMono.h:32
+#: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
 msgstr "Van stereo naar mono toepassen"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Tijdsnotatie"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Glijdende tijdschaal/toonhoogte"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "SBSMS gebruiken, door Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Initiële tempowijziging (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Uiteindelijke tempowijziging (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Initiële tempowijziging (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Uiteindelijke tempowijziging (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Begin-toonhoogte (semitonen) [-12 tot 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Eind-toonhoogte (semitonen) [-12 tot 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Glijdende Tijdschaal/Toonhoogte..."
 
+# bezig met/toonhoogte aanpassen/wijzigen/wordt gewijzigd
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Tempo/toonhoogte wordt aangepast"
 
-#: effects/ToneGen.cpp:59
+#: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "Effect toegepast: Toon genereren %s wave %s, frequentie = %.2f Hz, amplitude = %.2f, %.6lf seconden"
 
 # Interpolatie: [lineair]
-#: ../src/widgets/Meter.cpp:292
+#: effects/ToneGen.cpp:69
+#: widgets/Meter.cpp:405
 msgid "Linear"
 msgstr "Lineair"
 
 # Logaritmische schaal/logaritmisch
-#: effects/ToneGen.cpp:76
+#: effects/ToneGen.cpp:70
 msgid "Logarithmic"
 msgstr "Logaritmisch"
 
-#: effects/ToneGen.cpp:66
+#: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
-msgstr "Tjirp genereren"
+msgstr "Chirp genereren"
 
-#: ../src/effects/ToneGen.cpp:43
+#: effects/ToneGen.cpp:71
 msgid "Tone Generator"
 msgstr "Toongenerator"
 
-#: ../src/effects/ToneGen.cpp:48
+#: effects/ToneGen.cpp:72
 msgid "Sine"
 msgstr "Sinus"
 
-#: ../src/effects/ToneGen.cpp:49
+#: effects/ToneGen.cpp:73
 msgid "Square"
 msgstr "Vierkant"
 
-#: ../src/effects/ToneGen.cpp:50
+#: effects/ToneGen.cpp:74
 msgid "Sawtooth"
 msgstr "Zaagtand"
 
-#: effects/ToneGen.cpp:70
+#: effects/ToneGen.cpp:75
 msgid "Square, no alias"
 msgstr "Vierkant, geen alias"
 
-#: effects/ToneGen.cpp:298
+#: effects/ToneGen.cpp:277
+#: effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr "Frequentie (Hz)"
 
-#: ../src/effects/ToneGen.cpp:263
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Golfvorm:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Frequentie (Hz) van begin"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Frequentie (Hz) van einde"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Amplitude begin"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
-msgstr ""
+msgstr "Amplitude einde"
 
-#: effects/ToneGen.cpp:372
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr "Interpolatie:"
 
 # Chirp/Tjirp
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Chirp..."
 msgstr "Chirptoon…"
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Tone..."
 msgstr "Geluidstoon…"
 
-#: effects/ToneGen.h:43
+#: effects/ToneGen.h:54
 msgid "Generating Chirp"
 msgstr "Chirptoon genereren"
 
-#: ../src/effects/ToneGen.h:44
+#: effects/ToneGen.h:54
 msgid "Generating Tone"
 msgstr "Geluidstoon wordt gegenereerd"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr "Alle sporen moeten dezelfde samplefrequentie hebben"
 
-#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:310
+#: effects/TruncSilence.cpp:133
+#: effects/TruncSilence.cpp:444
 msgid "Truncate Silence"
 msgstr "Stilte afkappen"
 
+#: effects/TruncSilence.cpp:454
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "door Lynn Allan && Philip Van Baren"
+
+# maximale tijdsduur/lengte stilte
+#: effects/TruncSilence.cpp:468
+msgid "Min silence duration:"
+msgstr "Min. tijdsduur stilte:"
+
+#: effects/TruncSilence.cpp:471
+#: effects/TruncSilence.cpp:475
+#: prefs/MidiIOPrefs.cpp:197
+#: prefs/MidiIOPrefs.cpp:199
+msgid "milliseconds"
+msgstr "milliseconden"
+
 # maximale tijdsduur/lengte stilte
-#: effects/TruncSilence.cpp:342
+#: effects/TruncSilence.cpp:472
 msgid "Max silence duration:"
 msgstr "Max. tijdsduur stilte:"
 
-#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
-msgid "milliseconds"
-msgstr "milliseconden"
+#: effects/TruncSilence.cpp:476
+msgid "Silence compression:"
+msgstr "Stiltecompressie:"
+
+#: effects/TruncSilence.cpp:479
+msgid ":1"
+msgstr ":1"
 
-#: effects/TruncSilence.cpp:338
+#: effects/TruncSilence.cpp:481
 msgid "Threshold for silence:"
 msgstr "Drempelwaarde voor stilte:"
 
-#: effects/TruncSilence.cpp:371
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Tijdsduur moet minstens 1 milliseconde zijn"
+#: effects/TruncSilence.cpp:507
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"   Tijdsduur moet minstens 1 milliseconde zijn\n"
+"   Compressieverhouding moet tenminste 1:1 zijn"
 
-#: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Stilte afkappen…"
 
-#: effects/TruncSilence.h:33
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr "Stilte afkappen…"
 
-# waarvan/waarin
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Sorry, VST-effecten kunnen niet worden toegepast op stereosporen waarvan de individuele kanalen van het spoor niet overeenkomen."
+#: effects/VST/VSTEffect.cpp:256
+#: effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Effect-instellingen"
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Kan vervanging niet verwerken"
+#: effects/VST/VSTEffect.cpp:336
+#: effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563
+#: prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Geen"
 
-#  ipv parameters gewoon instellingen (sander)
-# er staat parameters in het engels, geen settings, maar ik vind
-# instellingen ook beter (tino) Misschien een BUGrapport schrijven?
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST-plugin instellingen:"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "Presets:"
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "Laden"
 
-#: ../src/effects/Wahwah.cpp:41
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "Opslaan"
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr "VST-programma laden:"
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "Fout bij laden van het programma"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr "VST-programma opslaan als:"
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr "Het parameterbestand werd opgeslagen vanuit %s.  Doorgaan?"
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "Bezig met effect: "
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr "Beide kanalen van een stereospoor moeten dezelfde samplefrequentie hebben."
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr "Beide kanalen van een stereospoor moeten dezelfde lengte hebben."
+
+#: effects/Wahwah.cpp:61
 #, c-format
 msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
 msgstr "Effect toegepast: %s frequentie = %.1f Hz, beginfase = %.0f deg, bereik = %.0f%%, resonantie = %.1f, frequentieverschuiving = %.0f%%"
 
-#: ../src/effects/Wahwah.cpp:52
+#: effects/Wahwah.cpp:203
 msgid "Wahwah"
 msgstr "Wahwah"
 
-#: ../src/effects/Wahwah.cpp:500
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Bereik (%):"
 
-#: ../src/effects/Wahwah.cpp:516
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Resonantie:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
-msgstr ""
+msgstr "Resonantie"
 
-#: ../src/effects/Wahwah.cpp:532
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
 msgstr "Wahwah Frequentieverschuiving (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
-msgstr ""
+msgstr "Wahwah-frequentieverschuiving in procent"
 
-#: ../src/effects/Wahwah.h:39
+#: effects/Wahwah.h:41
 msgid "Wahwah..."
 msgstr "Wahwah…"
 
-#: ../src/effects/Wahwah.h:43
+#: effects/Wahwah.h:55
 msgid "Applying Wahwah"
 msgstr "Bezig met toepassen Wahwah"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:137
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178
+#: effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Bezig met effect: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:173
+#: effects/ladspa/LadspaEffect.cpp:198
+#: effects/lv2/LV2Effect.cpp:213
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Sorry, Plugin-effecten kunnen niet worden toegepast op stereosporen waarvan de individuele kanalen van het spoor niet overeenkomen."
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Geen"
-
-#: ../src/effects/ladspa/LadspaEffect.cpp:437
+#: effects/ladspa/LadspaEffect.cpp:557
+#: effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Auteur: "
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Effect-instellingen"
-
-#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
+#: effects/ladspa/LadspaEffect.cpp:685
+#: effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809
+#: effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Lengte (seconden)"
 
-#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:824
+#: effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
-msgstr ""
+msgstr "Noot-lengte (seconden)"
 
-#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
-msgstr ""
+msgstr "Let op snelheid"
 
-#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
+# notenbalk (sander)
+#: effects/lv2/LV2Effect.cpp:846
+#: effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
-msgstr ""
+msgstr "Notenbalk"
 
-#: ../src/effects/nyquist/Nyquist.cpp:217
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Nyquist-effect toepassen…."
 
-#: ../src/effects/nyquist/Nyquist.cpp:224
+#: effects/nyquist/Nyquist.cpp:91
+#: effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Nyquist prompt…"
 
-#: ../src/effects/nyquist/Nyquist.cpp:282
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Nyquist opdracht invoeren:"
 
-#: ../src/effects/nyquist/Nyquist.cpp:370
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Sorry, effect kan niet worden toegepast op stereosporen waarbij de sporen niet overeenkomen."
 
-#: ../src/effects/nyquist/Nyquist.cpp:397
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: ../src/effects/nyquist/Nyquist.cpp:398
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Nyquist uitvoer: "
 
 # waarde/waarde terug
-#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "Nyquist gaf de volgende waarde:"
 
-#: ../src/effects/nyquist/Nyquist.cpp:594
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist gaf geen audio terug.\n"
 
-#: ../src/effects/nyquist/Nyquist.cpp:604
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist gaf te veel audiokanalen terug.\n"
 
-#: effects/vamp/VampEffect.cpp:75
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Uitpakken van functies: %s"
 
-#: effects/vamp/VampEffect.cpp:106
+#: effects/vamp/VampEffect.cpp:107
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr "Sorry, Vamp plugins kunnen niet toegepast worden op stereosporen waarbij de individuele kanalen van het spoor niet overeenkomen."
 
-#: effects/vamp/VampEffect.cpp:120
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Sorry, kon Vamp plugin niet laden."
 
-#: effects/vamp/VampEffect.cpp:228
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Sorry, Vamp Plugin is niet geïnitialiseerd."
 
-#: effects/vamp/VampEffect.cpp:376
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
 msgstr " - Vamp audio-analyseplugin"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr "Plugin-instellingen"
 
 # programmeren/programma
-#: effects/vamp/VampEffect.cpp:446
+#: effects/vamp/VampEffect.cpp:418
+#: effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr "Programma"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Alle geselecteerde audio is stilgemaakt."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Al het geluid is stilgemaakt"
 
-#: export/Export.cpp:333
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Bestand exporteren"
 
-#: export/Export.cpp:427
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Opties…"
 
-#: ../src/export/Export.cpp:202
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Weet u zeker dat u het bestand wilt opslaan als \""
 
-#: export/Export.cpp:394
+#: export/Export.cpp:596
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr "U wilt een %s-bestand opslaan onder de naam ‘%s’.\n"
+msgstr ""
+"U wilt een %s-bestand opslaan onder de naam ‘%s’.\n"
 "\n"
 "Gewoonlijk eindigen deze bestanden in ‘.%s’, en sommige programma's zullen geen bestanden openen waarvan de extensie niet standaard is.\n"
 "\n"
 "Weet u zeker dat u het bestand onder deze naam wilt opslaan?"
 
-#: export/Export.cpp:495
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "Het bestand ‘%s’ bestaat al. Wilt u het vervangen?"
 
-#: ../src/export/Export.cpp:142
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Uw sporen zullen naar twee stereokanalen worden gemixed in het geexporteerde bestand."
 
-#: ../src/export/Export.cpp:147
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Uw sporen zullen naar een enkel monokanaal worden gemixed in het geexporteerde bestand."
 
-#: export/Export.cpp:171
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Geavanceerde mix-opties"
 
-#: export/Export.cpp:632
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr "Kanaal: %2d"
 
-#: export/Export.cpp:755
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - Links"
 
-#: export/Export.cpp:756
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - Rechts"
 
-#: export/Export.cpp:1072
+# sporenpaneel
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Sporenpaneel"
 
 # uitgangskanalen/uitgang/uitvoerkanalen
-#: export/Export.cpp:775 export/Export.cpp:829
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Uitgangskanalen: %2d"
@@ -6040,946 +6901,1127 @@ msgstr "Uitgangskanalen: %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Coderingsprogramma specificeren"
 
-#: export/ExportCL.cpp:303
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr "Exportinstellingen voor de opdrachtregel"
 
-#: export/ExportCL.cpp:308
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Opdracht:"
 
-#: export/ExportCL.cpp:313
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Uitvoer tonen"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
 msgstr "Data zal naar de standaard invoer worden gevoerd. ‘%f’ zal vervangen worden door de naam van het uitvoerbestand."
 
-#: export/Export.cpp:264
+#: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr "(extern programma)"
 
-#: ../src/export/ExportPCM.cpp:79
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Kan audio niet exporteren naar %s"
 
-#: ../src/export/ExportCL.cpp:144
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "De geselecteerde audio wordt met codeerprogramma op de opdrachtregel geëxporteerd"
 
-#: ../src/export/ExportCL.cpp:146
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Het gehele project wordt met codeerprogramma op de opdrachtregel geëxporteerd"
 
 # de uitvoer van de opdrachtregel (= titel van het venster)
-#: export/ExportCL.cpp:255
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Opdrachtregel uitvoer"
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
 msgstr ""
+"FFmpeg moet juist geconfigureerd zijn om te kunnen doorgaan.\n"
+"U kan het configureren in Voorkeuren > Bibliotheken."
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr "AMR-ondersteuning is niet verdeelbaar"
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+"FFmpeg moet juist geconfigureerd zijn om te kunnen doorgaan.\n"
+"U kan het configureren in Voorkeuren > Bibliotheken.\n"
+"\n"
+"AMR-ondersteuning is echter niet beschikbaar bij onze FFmpeg-installer,\n"
+"maar het vereist dat u FFmpeg zelf compileert."
+
+#: export/ExportFFmpeg.cpp:433
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg kan geluidscodec 0x%x niet vinden.\n"
+"Waarschijnlijk is er geen ondersteuning voor deze codec ingecompileerd."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Poging tot exporteren van %d sporen, maar het max. aantal sporen voor geselecteerd uitvoerformaat is %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "Geselecteerde audio exporteren als %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "Volledig bestand exporteren als %s"
 
-#: export/ExportMP3.cpp:1860
+#: export/ExportFFmpeg.cpp:748
+#: export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr "Ongeldige samplefrequentie"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:761
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr ""
+"De project-samplefrequentie (%d) is niet mogelijk in het huidige\n"
+"uitvoer-bestandsformaat."
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:764
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
+"De combinatie van samplefrequentie (%d) en bitrate (%d kbps) binnen \n"
+"het project is niet mogelijk in het huidige uitvoerbestandsformaat."
 
-#: export/ExportMP3.cpp:1879
+#: export/ExportFFmpeg.cpp:767
+#: export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "U kunt een van de onderstaande samplefrequenties kiezen."
 
-#: export/ExportMP3.cpp:1902
+#: export/ExportFFmpeg.cpp:795
+#: export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr "Samplefrequenties"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "AC3-opties specificeren"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:197
+msgstr "AC3-export instellingen"
+
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Bitrate:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "AAC-opties specificeren"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "AAC-export instellingen"
+
+#: export/ExportFFmpegDialogs.cpp:172
+#: export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Kwaliteit:"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "AMR-NB-opties specificeren"
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "AMR-NB-export instellingen"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "AMR-WB-opties specificeren"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "AMR-WB-export instellingen"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "WMA-opties specificeren"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "WMA-export instellingen"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "Preset '%s' overschrijven?"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "Overschrijven bevestigen"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Selecteer een formaat voordat u een profiel opslaat"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Kies een codec voordat u een profiel opslaat"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "Preset '%s' bestaat niet."
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
-msgstr ""
+msgstr "Andere opties specificeren"
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
-msgstr ""
+msgstr "Preset:"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
-msgstr ""
+msgstr "Preset laden"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
-msgstr ""
+msgstr "Preset opslaan"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
-msgstr ""
+msgstr "Preset wissen"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
-msgstr ""
+msgstr "Presets importeren"
 
-#: export/ExportFFmpegDialogs.cpp:902
+# Venstertitel
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
-msgstr ""
+msgstr "Presets exporteren"
 
-#: export/ExportPCM.cpp:246
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
 msgstr "Format:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
-msgstr ""
+msgstr "Codec:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:902
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "Niet alle formaten en codecs zijn compatibel. Sommige parametercombinaties (zoals bit- en samplefrequentie) zijn ook niet compatibel met sommige codecs."
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
-msgstr ""
+msgstr "Formaat-selector:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
-msgstr ""
+msgstr "Codec-selector:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
-msgstr ""
+msgstr "Alle formaten weergeven"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
-msgstr ""
+msgstr "Alle codecs weergeven"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
-msgstr ""
+msgstr "Opties"
 
-#: ../src/prefs/GUIPrefs.cpp:134
+#: export/ExportFFmpegDialogs.cpp:920
+#: prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Taal:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:921
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"ISO 639 3-letter taalcode\n"
+"Optioneel\n"
+"leeg - automatisch"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
-msgstr ""
+msgstr "Label:"
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:924
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"Codec label (FOURCC)\n"
+"Optioneel\n"
+"leeg - automatisch"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
+"Bitrate (bits/seconde) - beinvloedt de resulterende bestandsgrootte en -kwaliteit\n"
+"Sommige codecs kunnen alleen bepaalde waardes accepteren (128k, 192k, 256k enz.)\n"
+"0 - automatisch\n"
+"Aanbevolen - 192000"
 
-#: prefs/FileFormatPrefs.cpp:219
-msgid "Quality:"
-msgstr "Kwaliteit:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
+"Globale kwaliteit, wordt verschillend gebruikt door verschillende codecs\n"
+"Vereist voor vorbis\n"
+" 0 - automatisch\n"
+"-1 - uit (gebruik in plaats de bitrate)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Samplefrequentie:"
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:933
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
+"Samplerate (Hz)\n"
+"0 - samplerate niet aanpassen"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "Begrenzingsbandbreedte:"
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:936
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
+"Audiobegrenzingsbandbreedte (Hz)\n"
+"Optioneel\n"
+"0 - automatisch"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
-msgstr ""
+msgstr "Profiel:"
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:940
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
+"AAC-profiel\n"
+"Lage complexiteit -standaard\n"
+"De meeste spelers zullen niets anders dan LC spelen"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Gebruik bit-reservoir"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Gebruik variabele bloklengte"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
-msgstr ""
+msgstr "FLAC-opties"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
-msgstr ""
+msgstr "Compressieniveau:"
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:955
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
 msgstr ""
+"Compressieniveau\n"
+"Vereist voor FLAC\n"
+"-1 - automatisch\n"
+"min - 0 (snelle codering, groot uitvoerbestand)\n"
+"max - 10 (trage codering, klein uitvoerbestand)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
-msgstr ""
+msgstr "Venstergrootte:"
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:958
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
 msgstr ""
+"Beeldgrootte\n"
+"Optioneel\n"
+"0 - standaard\n"
+"min - 16\n"
+"max - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
-msgstr ""
+msgstr "Precisie LPC-coëfficiënten"
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:961
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
 msgstr ""
+"Precisie LPC-coëfficiënten\n"
+"Optioneel\n"
+"0 - standaard\n"
+"min - 1\n"
+"max - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
-msgstr ""
+msgstr "Minimale voorspellingsvolgorde"
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:964
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"Minimale voorspellingsvolgorde\n"
+"Optioneel\n"
+"-1 - standaard\n"
+"min - 0\n"
+"max - 32 (met LPC) of 4 (zonder LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
-msgstr ""
+msgstr "Maximale voorspellingsvolgorde"
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:967
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"Maximale voorspellingsvolgorde\n"
+"Optioneel\n"
+"-1 - standaard\n"
+"min - 0\n"
+"max - 32 (met LPC) of 4 (zonder LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
-msgstr ""
+msgstr "Methode voorspellingsvolgorde:"
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:971
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
 msgstr ""
+"Methode voorspellingsvolgorde\n"
+"Schatting - snelste, lage compressie\n"
+"Log doorzoeken - langzaamste, optimale compressie\n"
+"Volledig doorzoeken - standaard"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
-msgstr ""
+msgstr "Minimale verdelingsvolgorde"
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:974
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"Minimale verdelingsvolgorde\n"
+"Optioneel\n"
+"-1 - standaard\n"
+"min - 0\n"
+"max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
-msgstr ""
+msgstr "Maximale verdelingsvolgorde"
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:977
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"Maximale verdelingsvolgorde\n"
+"Optioneel\n"
+"-1 - standaard\n"
+"min - 0\n"
+"max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
-msgstr ""
+msgstr "Gebruik LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
-msgstr ""
+msgstr "MPEG container opties"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
-msgstr ""
+msgstr "Mux-verhouding:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:991
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Maximale bitrate van de gemultiplexte stream\n"
+"Optioneel\n"
+"0 - standaard"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
-msgstr ""
+msgstr "Packet-grootte:"
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:994
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Grootte pakket\n"
+"Optioneel\n"
+"0 - standaard"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "U kunt een preset zonder naam niet verwijderen"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "Preset '%s' wissen?"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "U kunt een preset zonder naam niet opslaan"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "Selecteer xml-bestand met voorinstellingen om te importeren"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:192
+#: export/ExportFFmpegDialogs.cpp:1275
+#: export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:267
+#: prefs/KeyConfigPrefs.cpp:298
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "Xml-bestanden (*.xml)|*.xml|Alle bestanden (*.*)|*.*"
 
+# in meervoud gehouden
 #: export/ExportFFmpegDialogs.cpp:1292
 msgid "Select xml file to export presets into"
-msgstr ""
+msgstr "Selecteer het xml-bestand om presets te exporteren"
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Formaat kon niet worden vastgesteld"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.h:53
-msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "Codec kon niet worden gevonden"
 
 #: export/ExportFFmpegDialogs.h:54
-msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgid "M4A (AAC) Files (FFmpeg)"
+msgstr "M4A (AAC)-bestanden (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr ""
+msgid "AC3 Files (FFmpeg)"
+msgstr "AC3-bestanden (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "AMR (smalband)-bestanden (FFmpeg, onverdeelbaar)"
 
 #: export/ExportFFmpegDialogs.h:57
-msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "AMR (breedband)-bestanden (FFmpeg, onverdeelbaar)"
 
 #: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr "WMA (versie 2)-bestanden (FFmpeg)"
+
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "Gebruik FFmpeg exporteren"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
-msgstr ""
+msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
-msgstr ""
+msgstr "Weinig complex"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
-msgstr ""
+msgstr "Hoofdprofiel"
 
-#: export/ExportFFmpegDialogs.h:676
+# niveau/level/waarde
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
-msgstr ""
+msgstr "2-level"
 
-#: export/ExportFFmpegDialogs.h:676
+# niveau/level/waarde
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
-msgstr ""
+msgstr "4-level"
 
-#: export/ExportFFmpegDialogs.h:676
+# niveau/level/waarde
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
-msgstr ""
+msgstr "8-level"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
-msgstr ""
+msgstr "Schatting"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
-msgstr ""
+msgstr "Volledig doorzoeken"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
-msgstr ""
+msgstr "Log doorzoeken"
 
-#: export/ExportFLAC.cpp:139
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
 msgstr "FLAC-opties specificeren"
 
-#: export/ExportFLAC.cpp:193
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (snelste)"
 
-#: export/ExportFLAC.cpp:194
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:195
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:196
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:197
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "4"
 
-#: export/ExportFLAC.cpp:198
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:199
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:200
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:201
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (beste)"
 
-#: prefs/FileFormatPrefs.cpp:193
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16-bit"
 
-#: prefs/FileFormatPrefs.cpp:194
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24-bit"
 
-#: prefs/FileFormatPrefs.cpp:190
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "FLAC-export instellingen"
 
 # niveau/level/waarde
-#: export/ExportFLAC.cpp:213
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Level:"
 
 # bitdiepte
-#: prefs/FileFormatPrefs.cpp:197
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Aantal bits:"
 
-#: export/Export.cpp:254
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr "Flac-bestanden"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "FLAC exporteren kon %s niet openen"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"Initialiseren van FLAC-encoder mislukt\n"
+"Status: %d"
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr "De geselecteerde audio wordt geëxporteerd als FLAC"
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Het gehele project wordt geëxporteerd als FLAC"
 
-#: export/ExportMP2.cpp:228 export/ExportOGG.cpp:207
+#: export/ExportMP2.cpp:108
 msgid "Specify MP2 Options"
 msgstr "MP2-opties specificeren"
 
-#: prefs/FileFormatPrefs.cpp:204
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "MP2-export instellingen"
 
-#: export/Export.cpp:259
+#: export/ExportMP2.cpp:200
 msgid "MP2 Files"
 msgstr "Mp2-bestanden"
 
-#: export/ExportMP2.cpp:94
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Kan niet naar MP2 exporteren met deze samplefrequentie en bitrate"
 
-#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1619
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Niet in staat het doelbestand te openen voor schrijven"
 
-#: export/ExportMP2.cpp:144 export/ExportMP3.cpp:1680
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Geselecteerde audio exporteren in %d kbps"
 
-#: export/ExportMP2.cpp:145 export/ExportMP3.cpp:1681
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Hele bestand exporteren in %d kbps"
 
-#. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr "(Beste kwaliteit)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr "(Kleinere bestanden)"
 
-#: export/ExportMP3.cpp:175
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Snel"
 
-#: export/ExportMP3.cpp:176
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr "Standaard"
 
 # belachelijk hoog/Waanzinnig/Gestoord
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr "Waanzinnig"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr "Extreem"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr "Gemiddeld"
 
-#: export/ExportMP3.cpp:1135
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr "MP3-opties specificeren"
 
-#: ../src/prefs/FileFormatPrefs.cpp:172
+#: export/ExportMP3.cpp:319
 msgid "MP3 Export Setup"
 msgstr "MP3-export instellingen"
 
-#: export/ExportMP3.cpp:1438
+#: export/ExportMP3.cpp:326
 msgid "Bit Rate Mode:"
 msgstr "Bitrate-modus:"
 
-#: export/ExportMP3.cpp:1443
+#: export/ExportMP3.cpp:331
 msgid "Preset"
 msgstr "Voorinstelling"
 
 # bitrate is variabel of contstant
-#: prefs/FileFormatPrefs.cpp:195
+#: export/ExportMP3.cpp:332
 msgid "Variable"
 msgstr "Variabel"
 
-#: export/ExportMP3.cpp:1445
+#: export/ExportMP3.cpp:333
 msgid "Average"
 msgstr "Gemiddeld"
 
-#: prefs/FileFormatPrefs.cpp:196
+#: export/ExportMP3.cpp:334
 msgid "Constant"
 msgstr "Constant"
 
-#: ../src/prefs/PrefsDialog.cpp:85
+#: export/ExportMP3.cpp:373
+#: prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Kwaliteit"
 
-#: export/ExportMP3.cpp:1491
+#: export/ExportMP3.cpp:379
 msgid "Variable Speed:"
 msgstr "Variabele snelheid:"
 
-#: export/ExportMP3.cpp:1498
+#: export/ExportMP3.cpp:386
 msgid "Channel Mode:"
 msgstr "Kanaalmodus:"
 
 # mp3 export setup
 # modus: []joint stereo  []stereo
-#: prefs/FileFormatPrefs.cpp:224
+#: export/ExportMP3.cpp:391
 msgid "Joint Stereo"
 msgstr "Stereo samengevoegd"
 
-#: prefs/FileFormatPrefs.cpp:225
+#: export/ExportMP3.cpp:392
 msgid "Stereo"
 msgstr "Stereo"
 
-#: export/ExportMP3.cpp:613
+#: export/ExportMP3.cpp:536
 msgid "Locate Lame"
 msgstr "Lame opzoeken"
 
-#: export/ExportMP3.cpp:633
+#: export/ExportMP3.cpp:556
 #, c-format
 msgid "Audacity needs the file %s to create MP3s."
 msgstr "Audacity heeft het bestand %s nodig om MP3S aan te kunnen maken."
 
-#: export/ExportMP3.cpp:655
+#: export/ExportMP3.cpp:578
 msgid "To get a free copy of Lame, click here -->"
 msgstr "Voor een gratis kopie van Lame, klik hier -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"U linkt naar lame_enc.dll v%d.%d. Deze versie is niet compatibel met Audacity %d.%d.%d.\n"
+"Download a.u.b. de laatste versie van de LAME MP3-bibliotheek."
 
-#: ../src/export/ExportMP3.cpp:1116
+#: export/ExportMP3.cpp:1328
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Enkel lame_enc.dll|lame_enc.dll|Dynamically linked libraries (*.dll)|*.dll|Alle bestanden (*.*)|*"
 
-#: export/ExportMP3.cpp:600
+#: export/ExportMP3.cpp:1346
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Enkel libmp3lame.dylib|libmp3lame.dylib|Dynamische bibliotheken (*.dylib)|*.dylib|Alle bestanden (*)|*"
 
-#: export/ExportMP3.cpp:1567
+#: export/ExportMP3.cpp:1364
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Enkel libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object bestanden (*.so)|*.so|Uitgebreide bibliotheken (*.so*)|*.so*|Alle bestanden (*)|*"
 
-#: export/Export.cpp:245
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "Mp3-bestanden"
 
-#: ../src/export/ExportMP3.cpp:1328
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "Kon de MP3-coderingsbibliotheek niet openen!"
 
-#: ../src/export/ExportMP3.cpp:1335
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Geen geldige of ondersteunde MP3-coderingsbibliotheek!"
 
-#: export/ExportMP3.cpp:1696
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "Niet is staat de MP3-stroom te initialiseren"
 
-#: export/ExportMP3.cpp:1684
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "De geselecteerde audio exporteren met %s voorinstelling"
 
-#: export/ExportMP3.cpp:1685
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Het gehele bestand exporteren met %s voorinstelling"
 
-#: export/ExportMP3.cpp:1690
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "De geselecteerde audio exporteren met vbr-kwaliteit %s"
 
-#: export/ExportMP3.cpp:1691
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Het gehele bestand exporteren met vbr-kwaliteit %s"
 
-#: export/ExportMP3.cpp:1696
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr "De geselecteerde audio exporteren met %d Kbps"
 
-#: export/ExportMP3.cpp:1697
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Het gehele bestand exporteren met %d Kbps"
 
-#: export/ExportMP3.cpp:1787
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Foutmelding %d teruggekregen van mp3-codeerprogramma"
 
-#: export/ExportMP3.cpp:1873
+#: export/ExportMP3.cpp:1790
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
-msgstr "De project-samplefrequentie (%d) is niet mogelijk in het mp3\n"
+msgstr ""
+"De project-samplefrequentie (%d) is niet mogelijk in het mp3\n"
 "bestandsformaat"
 
-#: export/ExportMP3.cpp:1876
+#: export/ExportMP3.cpp:1793
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr "De combinatie van samplefrequentie (%d) en bit-rate (%d kbps) binnen \n"
+msgstr ""
+"De combinatie van samplefrequentie (%d) en bit-rate (%d kbps) binnen \n"
 "het project is niet mogelijk in het mp3-bestandsformaat."
 
-#: export/ExportMP3.cpp:1965
+# exportplugin/export plugin
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "MP3-export-bibliotheek niet gevonden"
 
 # meerdere exorteren
-#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
-#: ../src/export/ExportMultiple.cpp:562
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Meervoudig exporteren"
 
 # Indien u meerdere geluidssporen heeft...
 # Als je vertaalt: Indien er meer dan één geluidsspoor is, enz.
 # dan wordt deze zin niet weergegeven als de LANG op C staat.
-# (vanwege de e met accent die wx nog niet goed kan verwerken) 
-#: ../src/export/ExportMultiple.cpp:487
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+# (vanwege de e met accent die wx nog niet goed kan verwerken)
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Indien er meerdere geluidssporen zijn, kunt u elk spoor afzonderlijk in een bestand opslaan. \n"
+msgstr ""
+"Indien er meerdere geluidssporen zijn, kunt u elk spoor afzonderlijk in een bestand opslaan. \n"
 "Indien er een labelspoor is, kunt u ook voor elk label een afzonderlijk bestand exporteren.\n"
 "Dit project bevat geen meerdere geluidssporen of een labelspoor, dus u kunt het niet\n"
 "naar meerdere bestanden exporteren."
 
-#: ../src/export/ExportMultiple.cpp:493
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Kan niet meerdere bestanden exporteren"
 
-#: ../src/export/ExportMultiple.cpp:576
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Exportformat:"
 
-#: export/Export.cpp:341 export/ExportMultiple.cpp:725
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Opties…"
 
-#: ../src/export/ExportMultiple.cpp:594
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Exportlocatie:"
 
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Kiezen…"
-
-#: export/ExportMultiple.cpp:204
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Aanmaken"
 
-#: ../src/export/ExportMultiple.cpp:612
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Bestanden splitsen gebaseerd op:"
 
-#: ../src/export/ExportMultiple.cpp:615
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Labels"
 
 # geluid dat zich voor het eerste label bevind bijvoegen
-#: ../src/export/ExportMultiple.cpp:623
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Audio die voor het eerste label zit ook meenemen"
 
-#: ../src/export/ExportMultiple.cpp:629
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Eerste bestandsnaam:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
-msgstr ""
+msgstr "Eerste bestandsnaam"
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Sporen"
-
-#: ../src/export/ExportMultiple.cpp:646
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Bestanden benoemen:"
 
 # zal de naam van Label/Spoor gebruiken
 # gebruik makend van label/spoor naam
 # naam van Label/spoor wordt gebruikt
-#: ../src/export/ExportMultiple.cpp:649
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Gebruik de naam van het label of het spoor"
 
 # opvolgend/opeenvolgend/oplopend nummeren/nummering
-#: ../src/export/ExportMultiple.cpp:655
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Oplopend nummeren"
 
-#: ../src/export/ExportMultiple.cpp:660
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Bestandsnaam voorzetsel:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
-msgstr ""
+msgstr "Bestandsnaam-voorzetsel"
 
-#: ../src/export/ExportMultiple.cpp:677
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Bestaande bestanden overschrijven"
 
-#: export/ExportMultiple.cpp:369
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "‘%s’ is succesvol aangemaakt."
 
 # letterlijk:
 # voor het opslaan van de geexporteerde bestanden
-#: ../src/export/ExportMultiple.cpp:766
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Kies een locatie voor de geëxporteerde bestanden"
 
-#: export/ExportMultiple.cpp:491
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr "%ld bestand(en) met succes geëxporteerd."
+
+# Dit is misschien best altijd meervoud, omdat de haakjes niet zo goed staan in het programma.
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the following %ld file(s)."
+msgstr "Er ging iets mis na het exporteren van volgende %ld-bestanden."
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "Exporteren geannuleerd na het exporteren van de volgende %ld bestanden."
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "Exporteren stopte na het exporteren van de volgende %ld bestanden."
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "Er ging iets serieus mis na het exporteren van de volgende %ld bestanden."
+
+# meerdere exorteren
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "Meervoudig exporteren"
+
+#: export/ExportMultiple.cpp:570
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
-msgstr "‘%s’ bestaat niet.\n"
+msgstr ""
+"‘%s’ bestaat niet.\n"
 "\n"
 "Wilt u het aanmaken?"
 
-#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Metadata bewerken"
 
-#: export/ExportMultiple.cpp:590
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d bestanden zijn met succes geëxporteerd."
-
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:923
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Er ging iets mis nadat %d bestanden geëxporteerd waren."
-
-#: export/ExportMultiple.cpp:825
-#, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr "Label %s is geen geldige bestandsnaam. U kunt het volgende gebruiken:  %s\n"
+msgstr ""
+"Label %s is geen geldige bestandsnaam. U kunt het volgende gebruiken:  %s\n"
 "Gebruik…"
 
 # aangeven/specificeren
@@ -6987,1992 +8029,2217 @@ msgstr "Label %s is geen geldige bestandsnaam. U kunt het volgende gebruiken:  %
 msgid "Specify Ogg Vorbis Options"
 msgstr "Ogg Vorbis-opties specificeren"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Ogg Vorbis exportinstellingen"
 
-#: export/ExportOGG.cpp:154
+#: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
 msgstr "Ogg Vorbis-bestanden"
 
-#: ../src/export/ExportOGG.cpp:191
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "De geselecteerde audio wordt als Ogg Vorbis geëxporteerd"
 
-#: ../src/export/ExportOGG.cpp:192
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Het gehele project wordt als Ogg Vorbis geëxporteerd"
 
-#: export/ExportPCM.cpp:115
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
-msgstr ""
+msgstr "Opties voor ongecomprimeerde bestanden specificeren"
 
-#: export/ExportPCM.cpp:240
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Exportinstellingen voor bestanden zonder compressie"
 
-#: export/ExportPCM.cpp:250
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr "Header:"
 
-#: export/ExportPCM.cpp:254
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Codering:"
 
-#: export/ExportPCM.cpp:259
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
-msgstr "(Niet alle combinaties van headers en coderingen zijn mogelijk.)"
+msgstr "(Niet alle combinaties van headers en coderingen zijn mogelijk)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "Andere bestanden zonder compressie"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) signed 16 bit PCM"
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) signed 16 bit PCM"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobile)"
 
-#: ../src/export/ExportPCM.cpp:73
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Kan audio niet in dit format exporteren."
 
-#: export/ExportPCM.cpp:400
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "De geselecteerde audio exporteren als %s"
 
-#: export/ExportPCM.cpp:402
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Het gehele project exporteren als %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:436
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Fout (bestand is mogelijk nog niet geschreven): %s"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Er zijn geen opties voor dit formaat.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Als U meer controle wilt over het exporteerformaat, gebruik dan a.u.b. het 'Andere niet gecomprimeerde bestanden'-formaat."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Uw bestand zal geëxporteerd worden als een 16-bit AIFF (Apple/SGI) bestand.\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Uw bestand zal geëxporteerd worden als een 16-bit WAV (Microsoft) bestand.\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Uw bestand zal geëxporteerd worden als een GSM 6.10 WAV bestand.\n"
 
-#: import/ImportMP3.cpp:78
+#: import/Import.cpp:162
+#: import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "MP3-bestanden"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "Selecteer te importeren stream(s)"
 
 # is er geen ondersteuning voor %s
-#: ../src/import/Import.cpp:159
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "In deze versie van Audacity is ondersteuning voor %s niet meegecompileerd."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
+"‘%s’ \n"
+"is een MIDI-bestand, geen audiobestand. \n"
+"Audacity kan dit type bestand niet afspelen of bewerken, maar u kunt het wel \n"
+"bewerken via Bestand > Importeren > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:167
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr "‘%s’ is een audio-cd bestand.\n"
+msgstr ""
+"‘%s’ is een audio-cd bestand.\n"
 "Audacity kan audio-cd's niet rechtstreeks openen.\n"
 "U moet nummers op de cd rippen naar een audioformaat\n"
 "dat Audacity kan importeren zoals wav or aiff."
 
-#: import/Import.cpp:173
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr "‘%s’ is een afspeellijst-bestand.\n"
+msgstr ""
+"‘%s’ is een afspeellijst-bestand.\n"
 "Audacity kan dit soort bestanden niet openen omdat het enkel verwijzigen naar\n"
 "andere bestanden bevat. Misschien kunt u het openen in een teksteditor en \n"
 "zelf de eigenlijke audiobestanden downloaden."
 
-#: import/Import.cpp:178
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "‘%s’ is een Windows Media audio-bestand.\n"
+msgstr ""
+"‘%s’ is een Windows Media audio-bestand.\n"
 "Audacity kan dit type bestand niet openen vanwege octrooirechten.\n"
 "U moet het omzetten naar een ondersteund audioformaat zoals wav or aiff."
 
-#: import/Import.cpp:183
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "‘%s’ is een Advanced Audio Coding bestand. \n"
+msgstr ""
+"‘%s’ is een Advanced Audio Coding bestand. \n"
 "Audacity kan dit soort bestanden niet openen. \n"
 "U moet het omzetten naar een ondersteund audioformaat zoals wav of aiff."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
-#, fuzzy
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr "‘%s’ is een versleuteld audio-bestand.\n"
-"Deze gewoonlijk afkomstig van een on-line muziekwinkel. \n"
+msgstr ""
+"\"%s\" is een versleuteld audio-bestand.\n"
+"Deze zijn gewoonlijk afkomstig van een online muziekwinkel. \n"
 "Audacity kan dit type bestanden niet openen vanwege de versleuteling.\n"
 "U kunt proberen een opname van het bestand te maken met Audacity, of \n"
 "het naar een cd te branden en de cd vervolgens te rippen naar een\n"
-"ondersteund bestandsformaat zoals wav of aiff."
+"ondersteund bestandsformaat zoals WAV of AIFF."
 
-#: import/Import.cpp:193
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "‘%s’ is een RealPlayer media-bestand.\n"
+msgstr ""
+"‘%s’ is een RealPlayer media-bestand.\n"
 "Audacity kan dit bedrijfseigen formaat niet openen.\n"
 "U moet het omzetten naar een ondersteund audioformaat zoals wav or aiff."
 
-#: import/Import.cpp:206
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
 msgstr ""
+"\"%s\" is een op noten gebaseerd bestand, geen geluidsbestand. \n"
+"Audacity kan dit type bestand niet openen. \n"
+"probeer het om te zetten in een geluidsbestand zoals WAV of AIFF en \n"
+"importeer het dan, of neem het op in Audacity."
 
-#: import/Import.cpp:212
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" is een Musepack geluidsbestand. \n"
+"Audacity kan dit type bestand niet openen. \n"
+"Als u denkt dat het een MP3-bestand is, herbenoem het met de uitgang \".mp3\" \n"
+"en probeer het opnieuw te importeren. Anders moet u het omzetten in een ondersteund audioformaat\n"
+"zoals WAV of AIFF."
 
-#: import/Import.cpp:218
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" is een Wavpack geluidsbestand. \n"
+"Audacity kan dit type bestand niet openen. \n"
+"U dient het om te zetten in een ondersteund audioformaat zoals WAV of AIFF."
 
-#: import/Import.cpp:224
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" is een Dolby Digital geluidsbestand. \n"
+"Audacity kan dit type bestand momenteel niet openen. \n"
+"U dient het om te zetten in een ondersteund audioformaat zoals WAV of AIFF."
 
-#: import/Import.cpp:230
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" is een Ogg Speex geluidsbestand. \n"
+"Audacity kan dit type bestand momenteel niet openen. \n"
+"U dient het om te zetten in een ondersteund audioformaat zoals WAV of AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" is een videobestand. \n"
+"Audacity kan dit soort bestanden op dit moment niet openen. \n"
+"U moet de audio extracten naar een ondersteund formaat zoals WAV of AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
+"Audacity herkende het type bestand van '%s' niet.\n"
+"Als het geen compressie-bestand is, probeer het dan te importeren met \"Raw importeren\"."
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
 msgstr ""
+"Audacity herkende het bestandstype van bestand '%s'\n"
+"maar kon het niet importeren."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "FFmpeg-compatibele bestanden"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Index[%02x] Codec[%S], Taal[%S], Bitfrequentie[%S], Kanalen[%d], Duur[%d]"
 
-#: import/ImportFLAC.cpp:35
+#: import/ImportFLAC.cpp:45
 msgid "FLAC files"
 msgstr "Flac-bestanden"
 
-#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "GStreamer-compatibele bestanden"
+
+#: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Bestandenlijst in gewone tekst"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:268
+#: import/ImportLOF.cpp:314
 msgid "Invalid window offset in LOF file."
 msgstr "Ongeldige verschuiving van venster in LOF-bestand."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
+#: import/ImportLOF.cpp:316
+#: import/ImportLOF.cpp:337
+#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "LOF-fout"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:289
+#: import/ImportLOF.cpp:335
 msgid "Invalid duration in LOF file."
 msgstr "Ongeldige lengte in LOF-bestand."
 
-#: import/ImportLOF.cpp:407
+#: import/ImportLOF.cpp:417
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
 msgstr "MIDI-sporen kunnen niet afzonderlijk worden verschoven. Dat kan alleen bij audiosporen."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:383
+#: import/ImportLOF.cpp:438
 msgid "Invalid track offset in LOF file."
 msgstr "Ongeldige verschuiving van spoor in LOF-bestand."
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": Bestandsnaam te kort."
 
-#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31
+#: import/ImportMIDI.cpp:39
+#: import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "Kon bestand niet openen"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Onjuist bestandstype."
 
-#: import/ImportOGG.cpp:35
+#: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
 msgstr "Ogg Vorbis-bestanden"
 
-#: ../src/import/ImportOGG.cpp:124
+#: import/ImportOGG.cpp:184
 msgid "Media read error"
 msgstr "Media leesfout"
 
-#: ../src/import/ImportOGG.cpp:127
+#: import/ImportOGG.cpp:187
 msgid "Not an Ogg Vorbis file"
 msgstr "Geen Ogg Vorbis-bestand"
 
-#: ../src/import/ImportOGG.cpp:130
+#: import/ImportOGG.cpp:190
 msgid "Vorbis version mismatch"
 msgstr "Vorbis versie-ongelijkheid"
 
-#: ../src/import/ImportOGG.cpp:133
+#: import/ImportOGG.cpp:193
 msgid "Invalid Vorbis bitstream header"
 msgstr "Ongeldige Vorbis bitstream header"
 
-#: ../src/import/ImportOGG.cpp:136
+#: import/ImportOGG.cpp:196
 msgid "Internal logic fault"
 msgstr "Interne logische fout"
 
-#: export/Export.cpp:242
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "Wav, Aiff, en andere types zonder compressie"
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "Importeren van %s"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "QuickTime-bestanden"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
-msgstr ""
+msgstr "Raw data importeren"
 
-#: ../src/import/ImportRaw.cpp:256
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Raw data importeren"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:299
+#: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr "Geen endianness"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:302
+#: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr "Normale byte-volgorde"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:305
+#: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "Byte-volgorde andersom"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:308
+#: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr "Standaard byte-volgorde"
 
-#: ../src/import/ImportRaw.cpp:332
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 kanaal (Mono)"
 
-#: ../src/import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 kanalen (Stereo)"
 
-#: ../src/import/ImportRaw.cpp:335
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d kanalen"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
-msgstr ""
+msgstr "Byte-volgorde:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
-msgstr ""
+msgstr "Kanalen:"
 
-#: ../src/import/ImportRaw.cpp:348
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Beginverschuiving:"
 
-#: ../src/import/ImportRaw.cpp:359
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Hoeveelheid te importeren:"
 
-#: ../src/import/ImportRaw.cpp:370
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Samplefrequentie:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Importeren voltooid. Golfvorm berekenen"
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "Golfvorm decoderen"
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% voltooid.  Klik om de focus van de taak te veranderen."
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Audio in/uit"
+# opdrachtenreeks/serie/opdrachtenreeksen/series
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr "Opdrachtenreeksen"
 
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+# Engels BUG: Moet enkelvoud zijn
+#: prefs/BatchPrefs.cpp:75
+#: prefs/GUIPrefs.cpp:134
+#: prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr "Gedrag"
 
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr "&Effecten niet toepassen in batch-modus"
 
-# Dit is de titel van een label in het voorkeursvenster
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Afspelen"
+#: prefs/BatchPrefs.cpp:81
+#: prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Cl&eanSpeech modus (aangepaste bediening)"
 
-# dit wordt: Audacity %s-werkbalk. maar is ook te zien 
+# dit wordt: Audacity %s-werkbalk. maar is ook te zien
 # bij de voorkeuren
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "apparaten"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Apparaten"
+
+#: prefs/DevicePrefs.cpp:107
+#: prefs/GUIPrefs.cpp:32
+#: prefs/MidiIOPrefs.cpp:113
+msgid "Interface"
+msgstr "Interface"
+
+# letterlijk vertalen: "host" in plaats van "gastheer"
+#: prefs/DevicePrefs.cpp:112
+#: prefs/MidiIOPrefs.cpp:118
+msgid "Host"
+msgstr "Host"
 
 # gebruik makend van:/gebruikend:/gebruik:
 # met gebruik van: portaudio v19
-#: prefs/AudioIOPrefs.cpp:122
+#: prefs/DevicePrefs.cpp:119
+#: prefs/MidiIOPrefs.cpp:125
 msgid "Using:"
 msgstr "met:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+# Dit is de titel van een label in het voorkeursvenster
+#: prefs/DevicePrefs.cpp:126
+#: prefs/MidiIOPrefs.cpp:132
+#: prefs/PlaybackPrefs.cpp:31
+msgid "Playback"
+msgstr "Afspelen"
 
 # Dit is de titel van een label in het voorkeursvenster
-#: ../src/prefs/AudioIOPrefs.cpp:148
+#: prefs/DevicePrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:145
+#: prefs/RecordingPrefs.cpp:34
 msgid "Recording"
 msgstr "Opnemen"
 
-#: prefs/AudioIOPrefs.cpp:139
+#: prefs/DevicePrefs.cpp:149
 msgid "Channels"
 msgstr "kanalen"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Playthrough"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Hardwarematig playthrough: Nieuw spoor afspelen tijdens opname"
+#: prefs/DevicePrefs.cpp:165
+msgid "No audio interfaces"
+msgstr "Geen audio-interfaces"
 
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Softwarematig playthrough: Nieuw spoor afspelen tijdens opname"
+#: prefs/DevicePrefs.cpp:201
+#: prefs/DevicePrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:295
+#: prefs/MidiIOPrefs.cpp:300
+msgid "No devices found"
+msgstr "Geen apparaten gevonden"
 
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-# luistervoorbeeld/luisterproeve
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr "Luistervoorbeeld bij effecten"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Tijdsduur van luistervoorbeeld"
-
-# Dit is de titel van het kader.
-# snede/snijpunt/snijlijn luistervoorbeeld/luisterproeve/hoorproeve
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr "Luistervoorbeeld bij knippen"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Tijdsduur voor snijpunt:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Tijdsduur na snijpunt:"
-
-# vertraging/latentie/geluidsvertraging/tijdsvertraging.
-# (de waardes worden in milliseconden gegeven)
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr "Tijdsvertraging (Latency)"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Audio bufferen:\n"
-"(hoger = meer vertraging)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Vertragingscorrectie:\n"
-"(negatief = achterwaarts)"
-
-# dit is de titel van het kader
-# letterlijk zoektijd, maar het gaat om het springen door het audiobestand
-# in grote of kleine stappen.
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Zoektijdssprong bij afspelen"
-
-# kopje='snel vooruit/achteruit spoelen' -> 
-# Short period: 1 sec, long period 15 sec.
-# tijd/tijdsduur/duur/stapjes
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr "Kleine stappen:"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr "Grote stappen:"
-
-# opdrachtenreeks/serie/opdrachtenreeksen/series
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr "Opdrachtenreeksen"
-
-# Engels BUG: Moet enkelvoud zijn
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "Gedrag"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "&Effecten niet toepassen in batch-modus"
+#: prefs/DevicePrefs.cpp:264
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Cl&eanSpeech modus (aangepaste bediening)"
+#: prefs/DevicePrefs.cpp:267
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
+#: prefs/DirectoriesPrefs.cpp:52
+#: prefs/PrefsDialog.cpp:210
 msgid "Directories"
 msgstr "Mappen"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Map voor tijdelijke bestanden"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:57
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Locatie:"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:78
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Vrije ruimte:"
 
-# titel van het kader
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Automatische opslag"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Automatisch een kopie van het project opslaan in een afzonderlijke map"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minuten"
-
 # geluidsbuffer/audio-buffer/audio bufferen
 # dit is een kopje bij de voorkeuren
-#: prefs/DirectoriesPrefs.cpp:110
+#: prefs/DirectoriesPrefs.cpp:103
 msgid "Audio cache"
 msgstr "Audio-buffer"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "RAM gebruiken bij afspelen en/of opnemen (geschikt voor langzame spelers)"
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Minimaal vrij geheugen (MB):"
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
+"Indien het beschikbare systeemgeheugen onder deze waarde komt, zal audio niet langer\n"
+"in het geheugen bewaard worden maar naar de schijf geschreven worden."
 
-#: ../src/prefs/DirectoriesPrefs.cpp:135
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Kies een map voor tijdelijke bestanden"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:181
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "niet beschikbaar - bovenstaande locatie bestaat niet"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "De map %s bestaat niet. Aanmaken?"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:183
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Nieuwe tijdelijke map"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:202
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "De map %s is niet beschrijfbaar"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:214
+#: prefs/DirectoriesPrefs.cpp:207
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Wijziging van de tijdelijke map zal pas van kracht zijn nadat Audacity herstart is."
 
-#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Importeren / Exporteren"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Mp3 export-bibliotheek"
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Mp3-bibliotheekversie:"
-
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "Mp3-bibliotheek:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "LAME mp3-bibliotheek:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Downloaden"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "Bij importeren van audiobestanden"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "Alle sporen in het project &normaliseren"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr "In browser"
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
-msgstr "Bij het opslaan van een project dat van andere audiobestanden afhangt"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr "Van het internet"
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
-msgstr "Altijd alle audio &kopiëren naar het project (veiligst)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
-msgstr "Gee&n audio kopiëren"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
-msgstr "&Gebruiker vragen"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
-msgstr "Bij het exporteren tot een audiobestand"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Altijd alle sporen &downmixen naar stereo of monokanalen."
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Aangepaste mix (voor bijv. export naar 5.1 kanaals geluid)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
+# ondiep/klein/oppervlakkig
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (een oppervlakkig bereik voor hoog-amplitude bewerkingen)"
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Bediening"
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (het PCM-bereik bij 8-bit samples)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "In browser"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (het PCM-bereik bij 10-bit samples)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Van het interent"
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (het PCM-bereik bij 16-bit samples)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Eenvoudig"
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (de grens van het menselijk hoorvermogen)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr "&Meeschuiven tijdens afspelen"
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (het PCM-bereik bij 24-bit samples)"
 
+# scherm/weergeven/tonen/monitor/weergave
+# het is hier de weergavevoorkeuren van het spectrum
 #: prefs/GUIPrefs.cpp:96
-#, fuzzy
-msgid "Cl&osing last window quits Audacity"
-msgstr "Sluiten van het laatste venster sluit Audacity af"
-
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
-msgstr "&Selectieranden mogen worden versleept"
+#: prefs/SpectrumPrefs.cpp:129
+#: prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr "Weergave"
 
-#: prefs/GUIPrefs.cpp:100
+# het gaat niet specifiek om de i/o knoppen, maar ook de bedieningsknoppen
+# zoals 'naar het begin/einde'
+#: prefs/GUIPrefs.cpp:98
 msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
+msgstr "Er&gonomische volgorde van de bedieningsknoppen"
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Automatisch &zoomen tot sporen verticaal in venster passen"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "&Welkomstbericht tonen bij opstarten van programma"
 
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "Focus verplaatst zich &circulair door de sporen"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Meter/golfvorm dB-gebied:"
 
-# verplaatsen/verschuiven/doen verschuiven
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
-msgstr "Het bewerken van een &clip kan andere clips verschuiven"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr "Help:"
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
-msgstr "Bij geen &selectie, alle audio in een project selecteren"
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr "Sluiten van het laatste venster zal Audacity afsluiten"
 
-#: prefs/GUIPrefs.cpp:90
+#: prefs/GUIPrefs.cpp:139
 msgid "&Beep on completion of longer activities"
-msgstr "\"&Piepje geven bij voltooien van opdrachten die lang duren"
-
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr "Tonen / Verbergen"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "S&nijlijnen inschakelen"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "&Waarschuwen voor tijdelijke bestanden"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Welkomstbericht tonen bij opstarten"
+msgstr "&Piepje geven bij voltooien van opdrachten die lang duren"
 
 # er is maar 1 optie hier: cleanspeech modus
-#: prefs/GUIPrefs.cpp:126
+#: prefs/GUIPrefs.cpp:145
 msgid "Modes"
 msgstr "Weergavemodus"
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
-msgstr ""
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr "VST-effecten weergeven in GUI-modus"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Ondergrens weergave bij Vu-meters en ‘Golfvorm (dB)’"
+#: prefs/GUIPrefs.cpp:156
+msgid "Don't a&pply effects in batch mode"
+msgstr "&Effecten niet toepassen in batch-modus"
 
-# ondiep/klein/oppervlakkig
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (een oppervlakkig bereik voor hoog-amplitude bewerkingen)"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr "Importeren / Exporteren"
 
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (het PCM-bereik bij 8-bit samples)"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr "Bij importeren van audiobestanden"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (het PCM-bereik bij 10-bit samples)"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&Maak een kopie van ongecomprimeerde geluidsbestanden alvorens ze te bewerken (veiliger)"
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (het PCM-bereik bij 16-bit samples)"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Lees ongecomprimeerde geluidsbestanden direct van het origineel (sneller)"
 
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (de grens van het menselijk hoorvermogen)"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr "Alle sporen in het project &normaliseren"
 
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (het PCM-bereik bij 24-bit samples)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr "Bij het exporteren tot een audiobestand"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Standaard weergavemodus"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Altijd alle sporen &downmixen naar stereo of monokanalen."
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Andere interface opties"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Aangepaste mix (voor bijv. export naar 5.1 kanaals geluid)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Hulp:"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr "&Toon bij exporteren eerst de Metadata-editor"
 
-# solo-knop weergeven of niet.
-# Solo Button: [Standaard][Eenvoudig][geen]
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Solo-knop:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Opmerking: kwaliteitsopties voor exporteren kunnen gekozen worden door\n"
+"de Opties-knop aan te klikken in het Exporteren-venster."
 
-#: ../src/prefs/PrefsDialog.cpp:90
+#: prefs/KeyConfigPrefs.cpp:72
 msgid "Keyboard"
 msgstr "Toetsenbord"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Toetsenbordvoorkeuren op dit moment niet beschikbaar."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:97
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Open een nieuw project om sneltoetsen te wijzigen."
+
+#: prefs/KeyConfigPrefs.cpp:108
+#: prefs/KeyConfigPrefs.cpp:224
+msgid "All"
+msgstr "Alles"
 
-#: prefs/KeyConfigPrefs.cpp:93
+#: prefs/KeyConfigPrefs.cpp:124
 msgid "Key Bindings"
 msgstr "Toetsbindingen"
 
-#: prefs/KeyConfigPrefs.cpp:113
+#: prefs/KeyConfigPrefs.cpp:129
+msgid "Category:"
+msgstr "Categorie:"
+
+#: prefs/KeyConfigPrefs.cpp:156
 msgid "S&et"
 msgstr "I&nstellen"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:157
+#: widgets/FileHistory.cpp:174
+msgid "&Clear"
+msgstr "&Wissen"
+
+#: prefs/KeyConfigPrefs.cpp:162
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Let op: Met Cmd+Q sluit u af. Alle andere toetsen zijn wel geldig."
 
-#: prefs/KeyConfigPrefs.cpp:122 prefs/ThemePrefs.cpp:102
+#: prefs/KeyConfigPrefs.cpp:169
+#: prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "&Standaarden"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:79
+#: prefs/KeyConfigPrefs.cpp:181
 msgid "Key Combination"
 msgstr "Toetscombinatie"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Sneltoetsen exporteren als:"
+# ongedaan maken/herstellen
+#: prefs/KeyConfigPrefs.cpp:234
+#: toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Herstellen"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Fout bij opslaan sneltoetsen"
+#: prefs/KeyConfigPrefs.cpp:237
+#: toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "Opnieuw"
 
 # dit is de titel van het dialoogvenster
-#: ../src/prefs/KeyConfigPrefs.cpp:188
+#: prefs/KeyConfigPrefs.cpp:263
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Een XML-bestand selecteren dat de sneltoets-configuratie voor Audacity bevat."
 
-#: ../src/prefs/KeyConfigPrefs.cpp:206
+#: prefs/KeyConfigPrefs.cpp:281
 msgid "Error loading keyboard shortcuts"
 msgstr "Fout bij laden van sneltoetsen"
 
-#: prefs/KeyConfigPrefs.cpp:239
+#: prefs/KeyConfigPrefs.cpp:294
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Sneltoetsen exporteren als:"
+
+#: prefs/KeyConfigPrefs.cpp:320
+msgid "Error saving keyboard shortcuts"
+msgstr "Fout bij opslaan sneltoetsen"
+
+#: prefs/KeyConfigPrefs.cpp:368
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr "De sneltoets ‘%s’ is al toegekend aan:\n"
+msgstr ""
+"De sneltoets ‘%s’ is al toegekend aan:\n"
 "\n"
 "‘%s’"
 
-# ongedaan maken/herstellen
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Herstellen"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Bibliotheken"
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr "Mp3 export-bibliotheek"
+
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "Mp3-bibliotheekversie:"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr "Mp3-bibliotheek:"
+
+#: prefs/LibraryPrefs.cpp:92
+#: prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr "&Laden…"
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3-bibliotheek:"
+
+#: prefs/LibraryPrefs.cpp:97
+#: prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr "&Downloaden"
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg import/export-bibliotheek"
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg-bibliotheekversie:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "Geen compatibele FFmpeg-bibliotheek gevonden"
+
+#: prefs/LibraryPrefs.cpp:120
+#: prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr "FFmpeg-bibliotheek:"
+
+#: prefs/MidiIOPrefs.cpp:58
+msgid "MIDI Devices"
+msgstr "MIDI-apparaten"
+
+#: prefs/MidiIOPrefs.cpp:168
+#: prefs/RecordingPrefs.cpp:60
+msgid "Playthrough"
+msgstr "Playthrough"
 
 # gelijktijdig/tegelijkertijd
-#: prefs/AudioIOPrefs.cpp:147
+#: prefs/MidiIOPrefs.cpp:170
 msgid "&Play other tracks while recording new one"
 msgstr "&Bij het opnemen van een spoor, gelijktijdig de andere sporen afspelen"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:173
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "&Hardwarematig playthrough (nieuw spoor afspelen tijdens opname)"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:176
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "&Softwarematig playthrough (nieuw spoor afspelen tijdens opname)"
+
+# Dit is de titel van het kader.
+# snede/snijpunt/snijlijn luistervoorbeeld/luisterproeve/hoorproeve
+#: prefs/MidiIOPrefs.cpp:181
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Cut Preview"
+msgstr "Luistervoorbeeld bij knippen"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:184
 msgid "Play before cut region:"
-msgstr ""
+msgstr "Tijdsduur voor snijpunt:"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:186
 msgid "Play after cut region:"
-msgstr ""
+msgstr "Tijdsduur na snijpunt:"
 
-#: prefs/MidiIOPrefs.cpp:173
+# vertraging/latentie/geluidsvertraging/tijdsvertraging.
+# (de waardes worden in milliseconden gegeven)
+#: prefs/MidiIOPrefs.cpp:191
+#: prefs/RecordingPrefs.cpp:79
+msgid "Latency"
+msgstr "Tijdsvertraging (Latency)"
+
+#: prefs/MidiIOPrefs.cpp:196
+#: prefs/RecordingPrefs.cpp:85
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "Te bufferen audio:"
 
-#: prefs/MidiIOPrefs.cpp:176
+# Vertragingscorrectie:\n
+# (negatief = achterwaarts
+# (oude vertaling!)
+#: prefs/MidiIOPrefs.cpp:198
+#: prefs/RecordingPrefs.cpp:92
 msgid "Latency correction:"
-msgstr ""
+msgstr "Vertragingscorrectie:"
 
-#: prefs/MidiIOPrefs.cpp:183
+# begintijd/starttijd
+#: prefs/MidiIOPrefs.cpp:205
 msgid "Seek Time"
-msgstr ""
+msgstr "Zoektijd"
 
-#: prefs/MidiIOPrefs.cpp:196
+# kopje='snel vooruit/achteruit spoelen' ->
+# Short period: 1 sec, long period 15 sec.
+# tijd/tijdsduur/duur/stapjes
+#: prefs/MidiIOPrefs.cpp:208
+#: prefs/PlaybackPrefs.cpp:98
+msgid "Short period:"
+msgstr "Kleine stappen:"
+
+#: prefs/MidiIOPrefs.cpp:210
+#: prefs/PlaybackPrefs.cpp:105
+msgid "Long period:"
+msgstr "Grote stappen:"
+
+# luistervoorbeeld/luisterproeve
+#: prefs/MidiIOPrefs.cpp:215
+#: prefs/PlaybackPrefs.cpp:57
+msgid "Effects Preview"
+msgstr "Luistervoorbeeld bij effecten"
+
+# voorbeeld tonen/voorbeeld/voorbeeld afspelen
+#: prefs/MidiIOPrefs.cpp:218
 msgid "Play when previewing:"
-msgstr ""
+msgstr "Afspelen bij preview:"
 
-#: ../src/prefs/PrefsDialog.cpp:91
+#: prefs/MidiIOPrefs.cpp:256
+msgid "No MIDI interfaces"
+msgstr "Geen MIDI-interfaces"
+
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Muis"
 
-#: ../src/prefs/MousePrefs.cpp:71
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Muis-bindingen (standaard waarden, niet configureerbaar)"
 
 # dit is het label bij de muisvoorkeuren
-#: ../src/prefs/MousePrefs.cpp:84
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Functieknop"
 
 # Wat er gebeurd als je iets met de muis doet
-#: ../src/prefs/MousePrefs.cpp:85
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Resultaat"
 
-#: ../src/prefs/MousePrefs.cpp:86
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Muisgebruik"
 
-#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Links-klikken"
 
-#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Selecteren"
 
-#: ../src/prefs/MousePrefs.cpp:88
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Selectiepunt plaatsen"
 
-#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Links-slepen"
 
-#: ../src/prefs/MousePrefs.cpp:89
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Selectie maken"
 
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Selectie vergroten"
 
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Shift-links-klikken"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Links-dubbelklikken"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr "Een clip of een geheel spoor selecteren"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Ctrl-links-dubbelklikken"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr "Selectiepunt plaatsen en afspelen"
 
-#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Zoomen"
 
-#: ../src/prefs/MousePrefs.cpp:92
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Inzoomen op punt"
 
 # bereik, selectie
-#: ../src/prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Inzoomen op gebied"
 
-#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "hetzelfde als rechts-slepen"
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Rechts-klikken"
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Een stap uitzoomen"
 
-#: ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Rechts-slepen"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "hetzelfde als links-slepen"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Shift-slepen"
 
 # bereik, selectie
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Uitzoomen op gebied"
 
 # midden/middel
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Middel-klikken"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Standaard zoom"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "Clip in tijd, of naar ander spoor verplaatsen"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Shift-links-slepen"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "Alle clips van het spoor in tijd verplaatsen"
 
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-links-slepen"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Clip naar ander spoor verplaatsen"
 
-#: ../src/prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Versterkingsverloop wijzigen"
 
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Sample-waarde wijzigen"
 
 # de naam van de knop is tekenen
-#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "Tekenen"
 
-#: ../src/prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt-Links-klikken"
 
 # het gaat om de tekenfunctie
-#: ../src/prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Gladmaken"
 
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Meerdere samples wijzigen"
 
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Slechts één sample wijzigen"
 
 # de naam van de functieknop is combinatiestand
-#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Combinatiestand"
 
-#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
 msgid "same as select tool"
 msgstr "hetzelfde als bij selecteren"
 
-#: prefs/MousePrefs.cpp:120 prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "hetzelfde als bij zoomen"
 
-#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:131
+#: prefs/MousePrefs.cpp:132
+#: prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Elke"
 
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Naar boven of onderen schuiven"
 
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Wiel-draaien"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Naar links of rechts schuiven"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Shift-wiel-draaien"
 
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl-wiel-draaien"
 
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "In of uitzoomen"
 
-#: ../src/prefs/PrefsDialog.cpp:52
+#: prefs/PlaybackPrefs.cpp:61
+msgid "Length of preview:"
+msgstr "Tijdsduur van luistervoorbeeld"
+
+#: prefs/PlaybackPrefs.cpp:76
+msgid "Preview before cut region:"
+msgstr "Tijdsduur voor snijpunt:"
+
+#: prefs/PlaybackPrefs.cpp:83
+msgid "Preview after cut region:"
+msgstr "Tijdsduur na snijpunt:"
+
+# dit is de titel van het kader
+# letterlijk zoektijd, maar het gaat om het springen door het audiobestand
+# in grote of kleine stappen.
+#: prefs/PlaybackPrefs.cpp:94
+msgid "Seek Time when playing"
+msgstr "Zoektijdssprong bij afspelen"
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Audacity voorkeuren"
 
-#: ../src/prefs/QualityPrefs.cpp:161
+#: prefs/ProjectsPrefs.cpp:32
+msgid "Projects"
+msgstr "Projecten"
+
+#: prefs/ProjectsPrefs.cpp:59
+msgid "When saving a project that depends on other audio files"
+msgstr "Bij het opslaan van een project dat van andere audiobestanden afhangt"
+
+#: prefs/ProjectsPrefs.cpp:63
+msgid "Always &copy all audio into project (safest)"
+msgstr "Altijd alle audio &kopiëren naar het project (veiligst)"
+
+#: prefs/ProjectsPrefs.cpp:65
+msgid "&Do not copy any audio"
+msgstr "Gee&n audio kopiëren"
+
+#: prefs/ProjectsPrefs.cpp:67
+msgid "&Ask user"
+msgstr "&Gebruiker vragen"
+
+# titel van het kader
+#: prefs/ProjectsPrefs.cpp:74
+msgid "Auto save"
+msgstr "Automatische opslag"
+
+#: prefs/ProjectsPrefs.cpp:76
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Automatisch een kopie van het project opslaan in een afzonderlijke map"
+
+#: prefs/ProjectsPrefs.cpp:82
+msgid "Auto save interval:"
+msgstr "Auto-opslaan interval:"
+
+#: prefs/ProjectsPrefs.cpp:86
+#: prefs/ProjectsPrefs.cpp:87
+msgid "minutes"
+msgstr "minuten"
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Rechthoek"
 
-#: ../src/prefs/QualityPrefs.cpp:162
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Driehoek"
 
 # het gaat om de dither: geen, rechthoek, driehoek, shaped
-#: ../src/prefs/QualityPrefs.cpp:163
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "Flexibel"
 
 # samples nemen/samples
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr "Samples"
 
-#: ../src/prefs/QualityPrefs.cpp:80
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Standaard samplefrequentie:"
 
-#: ../src/prefs/QualityPrefs.cpp:114
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
-msgstr "Standaard sampleformat:"
+msgstr "Standaard sampleformaat:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Real-time conversie van samplefrequentie:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Realtime omzetten"
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Hoge kwaliteit conversie van samplefrequentie:"
+#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Samplerate omzetter:"
 
-# dither vertaling?
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Real-time dither:"
+# interpolatie
+#: prefs/QualityPrefs.cpp:178
+#: prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr "Interpolatie"
 
-# vertaling van dither?
-# afronding (sander)
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Hoge kwaliteit afronding:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Hoge kwaliteit conversie"
+
+# gelijktijdig/tegelijkertijd
+#: prefs/RecordingPrefs.cpp:62
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Overdub: &bij het opnemen van een spoor gelijktijdig de andere sporen afspelen"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Conversie"
+#: prefs/RecordingPrefs.cpp:66
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Hardwarematig playthrough: Nieuw spoor afspelen tijdens opname"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Samplerate omzetten"
+#: prefs/RecordingPrefs.cpp:70
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&Softwarematig playthrough: nieuw spoor afspelen tijdens opname of monitoring"
 
-# interpolatie
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Interpolatie"
+#: prefs/RecordingPrefs.cpp:74
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(uitvinken als u opneemt\"stereo mix\")"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Real-time:"
+#: prefs/RecordingPrefs.cpp:89
+#: prefs/RecordingPrefs.cpp:90
+msgid "milliseconds (higher = more latency)"
+msgstr "milliseconden (hoger = meer vertraging)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Hoge-kwaliteit:"
+#: prefs/RecordingPrefs.cpp:96
+#: prefs/RecordingPrefs.cpp:97
+msgid "milliseconds (negative = backwards)"
+msgstr "milliseconden (negatief = achterwaarts)"
 
 # slimme opname/slim opnemen/exclusief opnemen/intelligent opnemen
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Slim opnemen"
-
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:103
+#: prefs/RecordingPrefs.cpp:105
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Geluidsgeactiveerd opnemen"
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:114
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Geluid-activeringsniveau (dB):"
 
-#: ../src/prefs/PrefsDialog.cpp:87
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Spectrogrammen"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "FFT-grootte"
-
 # verste/breedste/uiterste breedband
-#: prefs/SpectrumPrefs.cpp:75
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 - breedband"
 
-#: ../src/prefs/SpectrumPrefs.cpp:40
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - standaard"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr "32768 - smalband"
 
 # meeste smalband is niet echt mooi.
-#: ../src/prefs/SpectrumPrefs.cpp:44
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - smalband"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
-msgstr "Venstertype:"
+# Function: [hamming]/[square] window
+# Venster-functie: [hamming]/[rechthoekig]
+# Dus 'window' moet slechts vertaald worden als een spatie.
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "FFT-venster"
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Venstergrootte"
 
-# scherm/weergeven/tonen/monitor/weergave
-# het is hier de weergavevoorkeuren van het spectrum
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "Weergave"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Venstertype"
+
+#: prefs/SpectrumPrefs.cpp:113
+msgid "FFT Skip Points"
+msgstr "FFT Skip-points"
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "&Grijswaarden"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "Skip-points"
 
-#: prefs/SpectrumPrefs.cpp:103
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr "Minimumfrequentie (Hz):"
 
-#: ../src/prefs/SpectrumPrefs.cpp:104
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "Maximumfrequentie (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Maak gebruik van &grijswaarden voor het spectrum"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Toon raster langs de Y-as"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "FFT Vind Noten"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr "Minimum amplitude (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
-msgstr ""
+msgstr "Max. aantal noten (1..128):"
+
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "&Vind noten"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "Noten &quantiseren"
 
-#: ../src/prefs/SpectrumPrefs.cpp:148
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "De maximumfrequentie moet een geheel getal zijn"
 
-#: ../src/prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "Maximumfrequentie moet liggen in het bereik 100 Hz - 100.000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:146
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr "De mininumfrequentie moet een geheel getal zijn"
 
-#: prefs/SpectrumPrefs.cpp:150
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "De minimumfrequentie moet groter zijn dan 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "De minimumfrequentie moet kleiner zijn dan de maximumfrequentie"
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "De minimum amplitude (dB) moet een geheel getal zijn"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "Het maximaal aantal noten moet een geheel getal zijn"
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr "Het maximaal aantal noten moet zich tussen 1 en 128 bevinden"
 
 # meervoud is beter
-#: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Thema's"
 
-#: prefs/ThemePrefs.cpp:90
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Informatie"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"Het gebruik van thema's is experimenteel.\n"
+"\n"
+"Om het uit te proberen klikt u op \"Thema-cache opslaan\" waarna u met een beeldbewerkingsprogramma zoals ‘The Gimp’ de\n"
+"afbeeldingen en kleuren in ImageCacheVxx.png kunt bewerken.\n"
+"\n"
+"Klik op \"Thema-cache laden\" om de gewijzigde afbeeldingen weer in Audacity te laden.\n"
+"\n"
+"[Momenteel worden alleen de bedieningsknoppen en de kleuren van de golfvorm beïnvloed, ondanks\n"
+"het feit dat het afbeeldingenbestand ook andere pictogrammen toont.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"U heeft Audacity gecompileerd met een extra knop: 'Output Sourcery’. Dat zal een C-versie van de\n"
+"afbeeldingsbuffer opslaan die vervolgens standaard meegecompileerd kan worden."
+
+# duh!
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+"Indien ‘Thema-cache laden bij opstarten’ aangevinkt is, zal de thema-cache geladen worden\n"
+"wanneer het programma opstart."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"Bij het opslaan en laden van afzonderlijke themabestanden wordt voor elke afbeelding een apart bestand gebruikt.\n"
+"Voor het overige is het hetzelfde idee."
+
+#. i18n-hint: && in here is an escape character to get a single & on screen,
+#. * so keep it as is
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr "Thema-cache - Afbeeldingen && kleuren"
 
-#: prefs/ThemePrefs.cpp:92
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr "Thema-cache opslaan"
 
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr "Thema-cache laden"
 
-#: prefs/ThemePrefs.cpp:103
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr "Thema-cache laden bij opstarten"
 
-#: prefs/ThemePrefs.cpp:115
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "Individuele themabestanden"
 
-#: prefs/ThemePrefs.cpp:117
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Bestanden opslaan"
 
 # laden/inladen
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Bestanden inladen"
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
-msgstr "Informatie"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr "Eenvoudig"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Het gebruik van thema's is experimenteel.\n"
-"\n"
-"Om het uit te proberen klikt u op ‘Thema-cache opslaan’\n"
-"waarna u met een bewerkingsprogramma zoals ‘The Gimp’ de\n"
-"afbeeldingen en kleuren in ImageCacheVxx.png kunt bewerken.\n"
-"\n"
-"Klik op ‘Thema-cache laden’ om de gewijzigde afbeeldingen\n"
-"weer in Audacity te laden.\n"
-"\n"
-"[Momenteel worden alleen de bedieningsknoppen en de kleuren\n"
-"van de golfvorm beïnvloed, ondanks dat het afbeeldingenbestand\n"
-"ook andere pictogrammen toont.]\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr "&Meeschuiven tijdens afspelen"
 
-#: prefs/ThemePrefs.cpp:131
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "U heeft Audacity gecompileerd met een extra knop: \n"
-"'Output Sourcery’. Dat zal een C-versie van de afbeeldings-\n"
-"buffer opslaan die vervolgens standaard meegecompileerd\n"
-"kan worden.\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Automatisch &zoomen tot sporen verticaal in venster passen"
 
-# duh!
-#: prefs/ThemePrefs.cpp:136
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Indien ‘Thema-cache laden bij opstarten’ aangevinkt is,\n"
-"zal de thema-cache geladen worden wanneer het programma\n"
-"opstart.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Bij het opslaan en laden van afzonderlijke themabestanden wordt\n"
-"voor elke afbeelding een apart bestand gebruikt. Voor het overige\n"
-"is het hetzelfde idee.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Standaard weergavemodus:"
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pauzeren"
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr "Bij geen &selectie, alle audio in een project selecteren"
 
-# afspelen/spelen/play
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Afspelen"
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr "S&nijlijnen inschakelen"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr ""
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr "&Selectieranden mogen worden versleept"
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Stoppen"
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Track-focus verplaatsen\" &circuleert herhaaldelijk door sporen"
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Naar begin springen"
+# verplaatsen/verschuiven/doen verschuiven
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr "Het bewerken van een &clip kan andere clips verschuiven"
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Naar einde springen"
+# solo-knop weergeven of niet.
+# Solo Button: [Standaard][Eenvoudig][geen]
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr "Solo-knop:"
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
-msgstr ""
+#  =venstertitel
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Waarschuwingen"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Toon waarschuwingsvensters"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "Bij opslaan van een project"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "Bij opslaan van een leeg project"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Wanneer schijfruimte afneemt"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "Bij downmixen naar &stereo tijdens het exporteren"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "Bij downmixen naar &mono tijdens het exporteren"
+
+#: toolbars/ControlToolBar.cpp:170
+#: toolbars/ControlToolBar.cpp:205
+msgid "Pause"
+msgstr "Pauzeren"
+
+#: toolbars/ControlToolBar.cpp:178
+#: toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1108
+msgid "Stop"
+msgstr "Stoppen"
 
 # tooltip bij de CleenSpeech knop
 # erop klikken brengt het 'apply chain' dialoog naar voren
-#: toolbars/ControlToolBar.cpp:195
+#: toolbars/ControlToolBar.cpp:190
+#: toolbars/ControlToolBar.cpp:211
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
+# doorlopend afspelen (tino)
+# herhalend afspelen (sander)
+# afspelen in lus? (Thomas)
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr "Afspelen (Shift voor herhaaldelijk afspelen)"
+
+# append = aansluiten
+# Opname wordt begonnen vanaf het einde van de vorige opname (einde van vorige track)
+#: toolbars/ControlToolBar.cpp:210
+msgid "Record (Shift for Append Record)"
+msgstr "Opnemen (Shift voor aansluitend opnemen)"
+
+#: toolbars/ControlToolBar.cpp:579
+#: toolbars/ControlToolBar.cpp:914
 msgid "Error while opening sound device. "
 msgstr "Fout bij het openen van het geluidsapparaat."
 
-#: toolbars/ControlToolBar.cpp:696
+#: toolbars/ControlToolBar.cpp:749
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
 msgstr "Opname in CleanSpeech modus is niet mogelijk wanneer een spoor, of meer dan één project, al geopend is."
 
 # niet mogelijk/toegestaan
 # opnemen/opname
-#: toolbars/ControlToolBar.cpp:685
+#: toolbars/ControlToolBar.cpp:750
 msgid "Recording not permitted"
 msgstr "Opname niet toegestaan"
 
 # uitgang/uitgangskanaal
-#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109
+#: toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr "Uitgangskanaal"
 
 # ingangskanaal/invoerapparaat/ingang
-#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127
+#: toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr "Ingangskanaal"
 
-#: ../src/EditToolBar.cpp:154
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
 msgstr "Alles buiten de selectie wegknippen"
 
-#: ../src/EditToolBar.cpp:156
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "De selectie geluidloos maken"
 
 #: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
-msgstr ""
+msgstr "Sporen koppelen"
 
-#: ../src/EditToolBar.cpp:164
+#: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Inzoomen"
 
-#: ../src/EditToolBar.cpp:166
+#: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "Uitzoomen"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Zoomschakelaar"
-
 #: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Selectie inpassen"
-
-#: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Alleen de selectie weergeven"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Project inpassen"
-
 # of: ... in het venster (laten) passen
-#: ../src/EditToolBar.cpp:176
+#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Het gehele project weergeven"
 
-# volumemeter+opnamemeter/vu-meter
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
-msgstr "Vu-meter"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr "Selectie inpassen"
+
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr "Project inpassen"
 
 # weergavevolume/afspeelvolume
-#: toolbars/MeterToolBar.cpp:79
+#: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
 msgstr "Afspeelvolume"
 
-#: toolbars/MeterToolBar.cpp:80
+#: toolbars/MeterToolBar.cpp:81
 msgid "Meter-Play"
 msgstr "Vu-meter voor afspelen"
 
 # opnamevolume/opnamevolumemeter
-#: toolbars/MeterToolBar.cpp:88
+#: toolbars/MeterToolBar.cpp:89
 msgid "Record Meter"
 msgstr "Opnamevolume"
 
-#: toolbars/MeterToolBar.cpp:89
+#: toolbars/MeterToolBar.cpp:90
 msgid "Meter-Record"
 msgstr "Vu-meter voor opname"
 
 # afspeelvolume/weergavevolume
-#: ../src/MeterToolBar.cpp:66
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
 msgstr "Weergavevolume"
 
 # NB Dit is een bericht in de statusbalk + tooltip
 # klikken om de ingang te monitoren
 # opnamevolume/ingangsmeter
-#: ../src/MeterToolBar.cpp:67
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
 msgstr "Opnamevolume - klik op de meter om het ingangssignaal te meten"
 
 # Uitgansvolume/weergavevolume/afspeelvolume
-#: ../src/MixerToolBar.cpp:135
+#: toolbars/MixerToolBar.cpp:90
 msgid "Output Volume"
 msgstr "Weergavevolume"
 
 #: toolbars/MixerToolBar.cpp:92
-#, fuzzy
 msgid "Slider Output"
 msgstr "Uitgang-schuif"
 
 # opnamevolume
-#: ../src/MixerToolBar.cpp:138
+#: toolbars/MixerToolBar.cpp:101
+#: widgets/Meter.cpp:862
 msgid "Input Volume"
 msgstr "Ingangsvolume"
 
 #: toolbars/MixerToolBar.cpp:103
-#, fuzzy
 msgid "Slider Input"
 msgstr "Ingang-schuif"
 
-#: toolbars/MixerToolBar.cpp:119
+#: toolbars/MixerToolBar.cpp:139
 msgid "Input Source"
 msgstr "Ingangsbron"
 
-#: toolbars/SelectionBar.cpp:75
+#: toolbars/MixerToolBar.cpp:304
+msgid "Input source information is not available."
+msgstr "Er is geen informatie beschikbaar over de invoerbron."
+
+#: toolbars/MixerToolBar.cpp:311
+msgid "Select Input Source"
+msgstr "Invoerbron selecteren"
+
+#: toolbars/MixerToolBar.cpp:319
+msgid "Input Source:"
+msgstr "Invoerbron:"
+
+#: toolbars/SelectionBar.cpp:86
+#: toolbars/SelectionBar.cpp:292
 msgid "Selection"
 msgstr "Selectie"
 
-#: toolbars/SelectionBar.cpp:115 toolbars/SelectionBar.cpp:168
+#: toolbars/SelectionBar.cpp:135
+#: toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr "Projectfrequentie (Hz):"
 
-#: toolbars/SelectionBar.cpp:120 toolbars/SelectionBar.cpp:211
+#: toolbars/SelectionBar.cpp:149
+#: toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
 msgstr "Selectie begin:"
 
 # tijdsduur/lengte
-#: effects/ToneGen.cpp:300 effects/ToneGen.cpp:338
-#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:225
+#: toolbars/SelectionBar.cpp:163
+#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr "Tijdsduur"
 
-#: toolbars/SelectionBar.cpp:145
+#: toolbars/SelectionBar.cpp:174
 msgid "hidden"
 msgstr "verborgen"
 
-#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:239
+#: toolbars/SelectionBar.cpp:184
+#: toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr "Audiopositie:"
 
-#: toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:236
+#: toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr "Raster"
 
 # dit wordt: Audacity %s-werkbalk.
-#: toolbars/SelectionBar.cpp:224
+#: toolbars/SelectionBar.cpp:260
 msgid "Selection "
 msgstr "selectie"
 
-#: toolbars/SelectionBar.cpp:289
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
 msgstr "Tijdsduur selectie"
 
-#: toolbars/SelectionBar.cpp:297
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
 msgstr "Selectie einde"
 
 # tooltip bij de verschillende werkbalken
-#: toolbars/ToolBar.cpp:96
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr "Audacity %s-werkbalk"
 
-#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "ToolDock"
 
-#: ../src/ControlToolBar.cpp:76
+#: toolbars/ToolsToolBar.cpp:63
 msgid "Click and drag to select audio"
 msgstr "Klik en sleep om audio te selecteren"
 
 # Versterkingsverloop (S Alkemade)
 # Amplitude envelope is anders dan Amplification envelope? (tino)
-#: ../src/ControlToolBar.cpp:77
+#: toolbars/ToolsToolBar.cpp:64
 msgid "Click and drag to edit the amplitude envelope"
 msgstr "Klik en sleep om de amplitudeverloop te bewerken."
 
-#: ../src/ControlToolBar.cpp:78
+#: toolbars/ToolsToolBar.cpp:65
 msgid "Click and drag to edit the samples"
 msgstr "Klik en sleep om de samples te bewerken"
 
-#: ../src/ControlToolBar.cpp:80
+#: toolbars/ToolsToolBar.cpp:67
 msgid "Click to Zoom In, Shift-Click to Zoom Out"
 msgstr "Klik voor Inzoomen, Shift-Klik voor Uitzoomen."
 
-#: ../src/ControlToolBar.cpp:82
+#: toolbars/ToolsToolBar.cpp:69
 msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
 msgstr "Slepen om in te zoomen, Rechts-klikken om uit te zoomen"
 
 # midden/middel
-#: ../src/ControlToolBar.cpp:84
+#: toolbars/ToolsToolBar.cpp:71
 msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
 msgstr "Links=Inzoomen, Rechts=Uitzoomen, Middel=Normaal"
 
-#: ../src/ControlToolBar.cpp:86
+#: toolbars/ToolsToolBar.cpp:73
 msgid "Click and drag to move a track in time"
 msgstr "Klik en sleep om een spoor in tijd te verplaatsen"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "tools"
-
-# overal Tool (functie) weglaten en werkwoord gebruiken
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Selecteren"
-
-# Tool (functie) weglaten en werkwoord gebruiken
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Verloop"
-
-# Dit is de tooltip en de tekst van de statusbalk.
-# Bij alle andere tools wordt ook het hele werkwoord
-# gebruikt, vandaar dus geen: Tijdverschuiving.
-# Ook het woord Tool is hier met reden niet meevertaald.
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Tijd verschuiven"
-
-# het woord Tool niet vertalen hier
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Zoomen"
-
-# Overal tool weglaten en werkwoord gebruiken
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Tekenen"
-
 # combinatie modus/stand/tool
-#: ../src/ControlToolBar.cpp:360
+#: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Combinatietool"
 
 # schuiven/verschuiven
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 msgid "Slide Tool"
 msgstr "Verschuiven"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Combinatietool"
-
-# het hoger of lager afspelen
-# Snelheidsschuif/afspeelsnelheid/transcriptie
-# dit wordt: Audacity %s-werkbalk.
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr "afspeelsnelheid"
-
 # afspelen in het aangegeven tempo
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:170
 msgid "Play at selected speed"
 msgstr "Afspelen in het aangegeven tempo"
 
-# op tempo afspelen
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr "Afspelen-met-snelheid"
-
-#: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
+#: toolbars/TranscriptionToolBar.cpp:176
+#: toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:263
 msgid "Playback Speed"
 msgstr "Afspeelsnelheid"
 
 # onset=aangezet worden/geluid aan?
 # linkerkant selectie naar plaats van aanzetten
-#: toolbars/TranscriptionToolBar.cpp:200
+#: toolbars/TranscriptionToolBar.cpp:195
 msgid "Adjust left selection to next onset"
 msgstr "Linkerkant selectie naar volgende plaats van aanzetten"
 
-# links/linkerkant
-# selectie naar links uitbreiden totdat de 'aan' bereikt is.
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr "Van-links-naar-aan"
-
 # offset=uitgezet worden/geluid uit?
-#: toolbars/TranscriptionToolBar.cpp:203
+#: toolbars/TranscriptionToolBar.cpp:197
 msgid "Adjust right selection to previous offset"
 msgstr "Rechterkant selectie naar vorige plaats van uitzetten"
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr "Van-rechts-naar-uit"
-
-#: toolbars/TranscriptionToolBar.cpp:206
+#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust left selection to next offset"
 msgstr "Linkerkant selectie naar volgende plaats van uitzetten"
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr "Van-links-naar-uit"
-
-#: toolbars/TranscriptionToolBar.cpp:209
+#: toolbars/TranscriptionToolBar.cpp:201
 msgid "Adjust right selection to previous onset"
 msgstr "Rechterkant selectie naar vorige plaats van aanzetten"
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr "Van-rechts-naar-aan"
-
-#: toolbars/TranscriptionToolBar.cpp:212
+#: toolbars/TranscriptionToolBar.cpp:203
 msgid "Select region of sound around cursor"
 msgstr "Selecteer gebied met geluid rond de cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr "Selecteer-geluid"
-
-#: toolbars/TranscriptionToolBar.cpp:215
+#: toolbars/TranscriptionToolBar.cpp:205
 msgid "Select region of silence around cursor"
 msgstr "Selecteer gebied met stilte rond de cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr "Selecteer-stilte"
-
-#: toolbars/TranscriptionToolBar.cpp:218
+#: toolbars/TranscriptionToolBar.cpp:207
 msgid "Automatically make labels from words"
 msgstr "Automatisch labels maken van woorden"
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr "Labels maken"
-
-#: toolbars/TranscriptionToolBar.cpp:221
+#: toolbars/TranscriptionToolBar.cpp:209
 msgid "Add label at selection"
 msgstr "Label bij selectie toevoegen"
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr "Label toevoegen"
-
-#: toolbars/TranscriptionToolBar.cpp:224
+#: toolbars/TranscriptionToolBar.cpp:211
 msgid "Calibrate voicekey"
 msgstr "Voicekey kalibreren"
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr "Kalibreren"
-
-#: toolbars/TranscriptionToolBar.cpp:229
+#: toolbars/TranscriptionToolBar.cpp:215
 msgid "Adjust Sensitivity"
 msgstr "Gevoeligheid aanpassen"
 
-#: toolbars/TranscriptionToolBar.cpp:234
+#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:276
 msgid "Sensitivity"
 msgstr "Gevoeligheid"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Energy"
 msgstr "Energie"
 
 # drempel/drempelwaarde
-#: toolbars/TranscriptionToolBar.cpp:240
+#: toolbars/TranscriptionToolBar.cpp:226
 msgid "Sign Changes (Low Threshold)"
 msgstr "Tekenwisselingen (lage drempel)"
 
-#: toolbars/TranscriptionToolBar.cpp:241
+#: toolbars/TranscriptionToolBar.cpp:227
 msgid "Sign Changes (High Threshold)"
 msgstr "Tekenwisselingen (hoge drempel)"
 
-#: toolbars/TranscriptionToolBar.cpp:242
+#: toolbars/TranscriptionToolBar.cpp:228
 msgid "Direction Changes (Low Threshold)"
 msgstr "Richtingwisselingen (lage drempel)"
 
-#: toolbars/TranscriptionToolBar.cpp:243
+#: toolbars/TranscriptionToolBar.cpp:229
 msgid "Direction Changes (High Threshold)"
 msgstr "Richtingwisselingen (hoge drempel)"
 
 # soort/type
 # muzieksleutel?
-#: toolbars/TranscriptionToolBar.cpp:251
+#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:277
 msgid "Key type"
 msgstr "Sleuteltype"
 
-#: ../src/widgets/AButton.cpp:181
+# op tempo afspelen
+#: toolbars/TranscriptionToolBar.cpp:262
+msgid "Play-at-speed"
+msgstr "Afspelen-met-snelheid"
+
+# links/linkerkant
+# selectie naar links uitbreiden totdat de 'aan' bereikt is.
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Left-to-On"
+msgstr "Van-links-naar-aan"
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Right-to-Off"
+msgstr "Van-rechts-naar-uit"
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Left-to-Off"
+msgstr "Van-links-naar-uit"
+
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Right-to-On"
+msgstr "Van-rechts-naar-aan"
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Sound"
+msgstr "Selecteer-geluid"
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Select-Silence"
+msgstr "Selecteer-stilte"
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Make Labels"
+msgstr "Labels maken"
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Add Label"
+msgstr "Label toevoegen"
+
+#: toolbars/TranscriptionToolBar.cpp:274
+msgid "Calibrate"
+msgstr "Kalibreren"
+
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (kan nu niet gebruikt worden)"
 
-#: widgets/AButton.cpp:443
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Klikken"
 
-#: widgets/AButton.cpp:522
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Knop"
 
-#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
+#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
+#: widgets/ASlider.cpp:642
+#: widgets/Meter.cpp:241
 msgid "L"
 msgstr "L"
 
-#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
+#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
+#: widgets/ASlider.cpp:645
+#: widgets/Meter.cpp:243
 msgid "R"
 msgstr "R"
 
 # Het centrum tussen het linker en rechter kanaal (Balans)
-#: ../src/widgets/ASlider.cpp:484
+#: widgets/ASlider.cpp:708
 msgid "Center"
 msgstr "Centrum"
 
-#: ../src/widgets/ASlider.cpp:488
+#: widgets/ASlider.cpp:712
 msgid "Left"
 msgstr "Links"
 
-#: ../src/widgets/ASlider.cpp:491
+#: widgets/ASlider.cpp:715
 msgid "Right"
 msgstr "Rechts"
 
-#: widgets/ErrorDialog.cpp:69 widgets/ErrorDialog.cpp:93
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
-msgstr "Hulp"
+msgstr "Help"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ">"
 
 # Vooruit/voorwaarts/naar voren
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr "Voorwaarts"
 
 # Achteruit/achterwaarts/naar achteren/terug
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
 msgstr "Achterwaarts"
 
-#: widgets/ErrorDialog.cpp:190
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr "Hulp op het internet"
 
 # aangrijpen/greep
-#: widgets/Grabber.cpp:61
+#: widgets/Grabber.cpp:62
 msgid "Grabber"
 msgstr "Greep"
 
-#: widgets/Grid.cpp:616
-#, c-format
-msgid "%d rows, %d columns"
-msgstr "%d rijen, %d kolommen"
-
-#: widgets/Grid.cpp:622 widgets/Grid.cpp:749
-#, c-format
-msgid "Row %d"
-msgstr "Rij %d"
-
-#: widgets/Grid.cpp:764
+#: widgets/Grid.cpp:723
 msgid "Empty"
 msgstr "Leeg"
 
 # meter aan/aanzetten/inschakelen/meten
-#: widgets/Meter.cpp:336
+#: widgets/Meter.cpp:385
 msgid "Enable Meter"
 msgstr "Vu-meter aanzetten"
 
-#: widgets/Meter.cpp:338
+#: widgets/Meter.cpp:387
 msgid "Disable Meter"
 msgstr "Vu-meter uitzetten"
 
 # uitmeten/opmeten/meten
-#: widgets/Meter.cpp:341
+#: widgets/Meter.cpp:390
 msgid "Stop Monitoring"
 msgstr "Meten stoppen"
 
-#: widgets/Meter.cpp:343
+#: widgets/Meter.cpp:392
 msgid "Start Monitoring"
 msgstr "Meten starten"
 
-#: ../src/widgets/Meter.cpp:285
+#: widgets/Meter.cpp:396
 msgid "Horizontal Stereo"
 msgstr "Stereo horizontaal"
 
-#: ../src/widgets/Meter.cpp:286
+#: widgets/Meter.cpp:397
 msgid "Vertical Stereo"
 msgstr "Stereo verticaal"
 
-#: widgets/Meter.cpp:365
+#: widgets/Meter.cpp:414
 msgid "Preferences..."
 msgstr "Voorkeuren…"
 
-#: widgets/Meter.cpp:876
+# opnamevolume
+#: widgets/Meter.cpp:864
 msgid "Mix Volume"
-msgstr ""
+msgstr "Mix-volume"
 
 # engels BUG: qualtiy moet quality zijn
-#: widgets/Meter.cpp:1037
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1133
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr "Dit bepaalt hoe vaak de vu-meters een meting doen.\n"
+msgstr ""
+"Dit bepaalt hoe vaak de vu-meters een meting doen.\n"
 "Wanneer uw computer wat oud en langzaam is, is verstandig\n"
 "om de meetfrequentie niet te hoog te maken (30 keer per\n"
 "seconde of minder). Op die manier wordt de geluidskwaliteit\n"
 "niet beïnvloed door het weergeven van de vu-meters."
 
 # vu-meters/volumemeters
-#: widgets/Meter.cpp:1038
+#: widgets/Meter.cpp:1134
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Verversingsfrequentie voor de vu-meters [1-100 Hz]: "
 
-#: widgets/Meter.cpp:1039
+#: widgets/Meter.cpp:1135
 msgid "Meter Preferences"
 msgstr "Vu-meter voorkeuren"
 
@@ -8982,170 +10249,251 @@ msgstr " Selecteer een actie "
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Selecteer een actie"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1067
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "Verstreken tijd:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1087
 msgid "Remaining Time:"
-msgstr ""
+msgstr "Resterende tijd:"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1115
 msgid "Cancel"
-msgstr ""
+msgstr "Annuleren"
 
 # lineaal/meetlat/meetlint
-#: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
+#: widgets/Ruler.cpp:1588
+#: widgets/Ruler.cpp:1589
 msgid "Vertical Ruler"
 msgstr "Verticale lineaal"
 
-#: widgets/TimeTextCtrl.cpp:198
+#. i18n-hint: Format string for displaying time in seconds. Change the comma
+#. * in the middle to the 1000s separator for your locale, and the 'seconds'
+#. * on the end to the word for seconds. Don't change the numbers.
+#: widgets/TimeTextCtrl.cpp:269
 msgid "01000,01000 seconds"
 msgstr "01000,01000 seconden"
 
-#: widgets/TimeTextCtrl.cpp:200
+#. i18n-hint: Format string for displaying time in hours, minutes and
+#. * seconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
+#. * change the numbers unless there aren't 60 seconds in a minute in your
+#. * locale
+#: widgets/TimeTextCtrl.cpp:278
 msgid "0100 h 060 m 060 s"
 msgstr "0100 u 060 m 060 s"
 
-#: widgets/TimeTextCtrl.cpp:201
+#. i18n-hint: Name of time display format that shows time in days, hours,
+#. * minutes and seconds
+#: widgets/TimeTextCtrl.cpp:281
 msgid "dd:hh:mm:ss"
 msgstr "dd:uu:mm:ss"
 
-#: widgets/TimeTextCtrl.cpp:202
+#. i18n-hint: Format string for displaying time in days, hours, minutes and
+#. * seconds. Change the 'days' to the word for days, 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes and 's' to the
+#. * abbreviation for seconds. Don't change the numbers unless there aren't
+#. * 24 hours in a day in your locale
+#: widgets/TimeTextCtrl.cpp:287
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 dagen 024 u 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:290
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "uu:mm:ss + honderdsten"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:296
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 u 060 m 060.0100 s"
 
-#: widgets/TimeTextCtrl.cpp:203
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and milliseconds (1/1000 second)
+#: widgets/TimeTextCtrl.cpp:299
 msgid "hh:mm:ss + milliseconds"
 msgstr "uu:mm:ss + milliseconden"
 
-#: widgets/TimeTextCtrl.cpp:204
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * milliseconds are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:305
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 u 060 m 060.01000 s"
 
-#: widgets/TimeTextCtrl.cpp:205
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and samples (at the current project sample rate)
+#: widgets/TimeTextCtrl.cpp:308
 msgid "hh:mm:ss + samples"
 msgstr "uu:mm:ss + samples"
 
-#: widgets/TimeTextCtrl.cpp:206
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and samples. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes, 's' to the abbreviation for seconds and
+#. * translate samples . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:314
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 u 060 m 060 s+.# samples"
 
-#: widgets/TimeTextCtrl.cpp:207
+#. i18n-hint: Name of time display format that shows time in samples (at the
+#. * current project sample rate)
+#: widgets/TimeTextCtrl.cpp:317
 msgid "samples"
 msgstr "samples"
 
-#: widgets/TimeTextCtrl.cpp:208
+#. i18n-hint: Format string for displaying time in samples (lots of samples).
+#. * Change the ',' to the 1000s separator for your locale, and translate
+#. * samples. If 1000s aren't a base multiple for your number system, then you
+#. * can change the numbers to an appropriate one, and put a 0 on the front
+#: widgets/TimeTextCtrl.cpp:322
 msgid "01000,01000,01000 samples|#"
 msgstr "01000,01000,01000 samples|#"
 
-#: widgets/TimeTextCtrl.cpp:209
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:325
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "uu:mm:ss + film-frames (24 fps)"
 
-#: widgets/TimeTextCtrl.cpp:210
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames at 24 frames per second. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames' . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:331
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 u 060 m 060 s+.24 frames"
 
-#: widgets/TimeTextCtrl.cpp:211
+#. i18n-hint: Name of time display format that shows time in frames (lots of
+#. * frames) at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:334
 msgid "film frames (24 fps)"
 msgstr "film-frames (24 fps)"
 
-#: widgets/TimeTextCtrl.cpp:212
+#. i18n-hint: Format string for displaying time in frames at 24 frames per
+#. * second. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:337
 msgid "01000,01000 frames|24"
 msgstr "01000,01000 frames|24"
 
-#: widgets/TimeTextCtrl.cpp:213
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV drop-frame rate (used for American /
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:341
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "uu:mm:ss + NTSC drop-frames"
 
-#: widgets/TimeTextCtrl.cpp:214
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the |N alone, it's important!
+#: widgets/TimeTextCtrl.cpp:346
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 u 060 m 060 s+.30 frames|N"
 
-#: widgets/TimeTextCtrl.cpp:215
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:350
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "uu:mm:ss + NTSC non-drop frames"
 
-#: widgets/TimeTextCtrl.cpp:216
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the | .999000999 alone,
+#. * the whole things really is slightly off-speed!
+#: widgets/TimeTextCtrl.cpp:356
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 u 060 m 060 s+.030 frames| .999000999"
 
-#: widgets/TimeTextCtrl.cpp:217
+#. i18n-hint: Name of time display format that shows time in frames at NTSC
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:359
 msgid "NTSC frames"
 msgstr "NTSC-frames"
 
-#: widgets/TimeTextCtrl.cpp:218
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone. That really is the frame
+#. * rate!
+#: widgets/TimeTextCtrl.cpp:363
 msgid "01000,01000 frames|29.97002997"
 msgstr "01000,01000 frames|29.97002997"
 
-#: widgets/TimeTextCtrl.cpp:219
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at PAL TV frame rate (used for European TV)
+#: widgets/TimeTextCtrl.cpp:366
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "uu:mm:ss + PAL-frames (25 fps)"
 
-#: widgets/TimeTextCtrl.cpp:220
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with PAL TV frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Nice simple time code!
+#: widgets/TimeTextCtrl.cpp:371
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 u 060 m 060 s+.25 frames"
 
-#: widgets/TimeTextCtrl.cpp:221
+#. i18n-hint: Name of time display format that shows time in frames at PAL
+#. * TV frame rate (used for European TV
+#: widgets/TimeTextCtrl.cpp:374
 msgid "PAL frames (25 fps)"
 msgstr "PAL-frames (25 fps)"
 
-#: widgets/TimeTextCtrl.cpp:222
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone.
+#: widgets/TimeTextCtrl.cpp:377
 msgid "01000,01000 frames|25"
 msgstr "01000,01000 frames|25"
 
-#: widgets/TimeTextCtrl.cpp:223
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at CD Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:380
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "uu:mm:ss + CDDA-frames (75 fps)"
 
-#: widgets/TimeTextCtrl.cpp:224
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with CD Audio frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'.
+#: widgets/TimeTextCtrl.cpp:385
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 u 060 m 060 s+.75 frames"
 
-#: widgets/TimeTextCtrl.cpp:225
+#. i18n-hint: Name of time display format that shows time in frames at CD
+#. * Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:388
 msgid "CDDA frames (75 fps)"
 msgstr "CDDA-frames (75 fps)"
 
-#: widgets/TimeTextCtrl.cpp:226
+#. i18n-hint: Format string for displaying time in frames with CD Audio
+#. * frames. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:391
 msgid "01000,01000 frames|75"
 msgstr "01000,01000 frames|75"
 
 # contextkey is het kleine zwarte driehoekje rechts naast het format
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:470
 msgid "Use right mouse button or context key to change format"
 msgstr "Gebruik de rechter muisknop of klik op het pijltje om het format te wijzigen"
 
-# waar wordt dit getoond?
-# tijdbediening/tijdcontrolepaneel/tijdinspectie
-#: widgets/TimeTextCtrl.cpp:1376
-msgid "Time Control"
-msgstr "Tijdsbediening"
-
 # melding ipv waarschuwing.
 # dit is een vinkje
-#: ../src/widgets/Warning.cpp:53
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "Deze melding niet meer tonen"
 
-#: ../src/xml/XMLFileReader.cpp:45
+#: xml/XMLFileReader.cpp:49
 #, c-format
 msgid "Could not open file: \"%s\""
 msgstr "Kon bestand ‘%s’ niet openen"
@@ -9153,10 +10501,349 @@ msgstr "Kon bestand ‘%s’ niet openen"
 #: xml/XMLFileReader.cpp:63
 #, c-format
 msgid "Error: %hs at line %lu"
-msgstr ""
+msgstr "Fout: %hs op regel %lu"
 
 #: xml/XMLFileReader.cpp:79
 #, c-format
 msgid "Could not load file: \"%s\""
 msgstr "Kon het bestand: ‘%s’ niet laden"
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr "Fout bij flushen van bestand"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Fout bij sluiten bestand"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Fout bij schrijven naar bestand"
+
+# Mixen/mix uitvoeren/mixen en berekenen/mixen en opmaken
+# mixen en wegschrijven/mixen en doorrekenen
+#~ msgid "&Mix and Render"
+#~ msgstr "&Mixen en doorrekenen"
+#~ msgid "Tag Name"
+#~ msgstr "Tagnaam"
+#~ msgid "Tag Value"
+#~ msgstr "Tagwaarde"
+#~ msgid "Audio I/O"
+#~ msgstr "Audio in/uit"
+#~ msgid "Portaudio v"
+#~ msgstr "Portaudio v"
+#~ msgid "%d rows, %d columns"
+#~ msgstr "%d rijen, %d kolommen"
+#~ msgid "Row %d"
+#~ msgstr "Rij %d"
+# waar wordt dit getoond?
+# tijdbediening/tijdcontrolepaneel/tijdinspectie
+#~ msgid "Time Control"
+#~ msgstr "Tijdsbediening"
+#~ msgid "&Preferences...\tCtrl+,"
+#~ msgstr "&Voorkeuren…\tCtrl+,"
+#~ msgid "&New\tCtrl+N"
+#~ msgstr "&Nieuw\tCtrl+N"
+#~ msgid "&Open...\tCtrl+O"
+#~ msgstr "&Openen…\tCtrl+O"
+# de 's' werd al gebruikt voor op_slaan
+#~ msgid "&Close\tCtrl+W"
+#~ msgstr "Sl&uiten\tCtrl+W"
+#~ msgid "&Audio...\tCtrl+Shift+I"
+#~ msgstr "&Audio…\tCtrl+Shift+I"
+#~ msgid "CleanSpeech C&hain..."
+#~ msgstr "CleanSpeech C&hain..."
+#~ msgid "E&xit\tCtrl+Q"
+#~ msgstr "A&fsluiten\tCtrl+Q"
+#~ msgid "&Undo\tCtrl+Z"
+#~ msgstr "&Herstellen\tCtrl+Z"
+#~ msgid "Cu&t\tCtrl+X"
+#~ msgstr "K&nippen\tCtrl+X"
+#~ msgid "Spl&it Cut\tCtrl+Alt+X"
+#~ msgstr "Spl&itsen + knippen\tCtrl+Alt+X"
+#~ msgid "&Copy\tCtrl+C"
+#~ msgstr "&Kopiëren\tCtrl+C"
+#~ msgid "&Paste\tCtrl+V"
+#~ msgstr "&Plakken\tCtrl+V"
+# uitknippen, alles wat niet geselecteerd is, wordt afgeknipt
+#~ msgid "Tri&m\tCtrl+T"
+#~ msgstr "&Uitknippen\tCtrl+T"
+#~ msgid "&Delete\tCtrl+K"
+#~ msgstr "&Verwijderen\tCtrl+K"
+#~ msgid "Split D&elete\tCtrl+Alt+K"
+#~ msgstr "Splitsen+v&erwijderen\tCtrl+Alt+K"
+#~ msgid "Sp&lit\tCtrl+I"
+#~ msgstr "Sp&litsen\tCtrl+I"
+#~ msgid "Split Ne&w\tCtrl+Alt+I"
+#~ msgstr "A&fsplitsen\tCtrl+Alt+I"
+# samenvoegen/voegen
+#~ msgid "&Join\tCtrl+J"
+#~ msgstr "S&amenvoegen\tCtrl+J"
+#~ msgid "Duplic&ate\tCtrl+D"
+#~ msgstr "&Dupliceren\tCtrl+D"
+#~ msgid "&Cut\tAlt+X"
+#~ msgstr "K&nippen\tAlt+X"
+#~ msgid "&Split Cut\tShift+Alt+X"
+#~ msgstr "&Splitsen+knippen\tShift+Alt+X"
+#~ msgid "Co&py\tShift+Alt+C"
+#~ msgstr "&Kopiëren\tShift+Alt+C"
+#~ msgid "&Delete\tAlt+K"
+#~ msgstr "&Verwijderen\tAlt+K"
+#~ msgid "Sp&lit Delete\tShift+Alt+K"
+#~ msgstr "Sp&litsen+verwijderen\tShift+Alt+K"
+# Stilmaken voor gelabelde gebieden
+#~ msgid "Sile&nce\tAlt+L"
+#~ msgstr "S&tilmaken\tAlt+L"
+# vergelijk Sp&litsen in het editmenu
+#~ msgid "Spli&t\tAlt+I"
+#~ msgstr "Spli&tsen\tAlt+I"
+#~ msgid "&Join\tAlt+J"
+#~ msgstr "S&amenvoegen\tAlt+J"
+#~ msgid "Detac&h at Silences\tShift+Alt+J"
+#~ msgstr "&Losmaken bij stiltes\tShift+Alt+J"
+#~ msgid "&All\tCtrl+A"
+#~ msgstr "&Alles\tCtrl+A"
+# geen/niets
+#~ msgid "&None\tCtrl+Shift+A"
+#~ msgstr "&Niets\tCtrl+Shift+A"
+#~ msgid "Turn Snap-To On"
+#~ msgstr "Raster (Snap-To) aanzetten"
+#~ msgid "Turn Snap-To Off"
+#~ msgstr "Raster (Snap-To) uitzetten"
+#~ msgid "Turn Grid Snap On"
+#~ msgstr "Raster aanzetten"
+#~ msgid "Turn Grid Snap Off"
+#~ msgstr "Raster uitzetten"
+#~ msgid "Pre&ferences...\tCtrl+,"
+#~ msgstr "&Voorkeuren…\tCtrl+,"
+#~ msgid "Pre&ferences...\tCtrl+P"
+#~ msgstr "&Voorkeuren…\tCtrl+P"
+#~ msgid "Zoom &In\tCtrl+1"
+#~ msgstr "In&zoomen\tCtrl+1"
+#~ msgid "Zoom &Out\tCtrl+3"
+#~ msgstr "&Uitzoomen\tCtrl+3"
+#~ msgid "&Pause\tP"
+#~ msgstr "&Pauzeren\tP"
+#~ msgid "Skip to Start\tHome"
+#~ msgstr "Naar begin springen\tHome"
+#~ msgid "Skip to End\tEnd"
+#~ msgstr "Naar einde springen\tEnd"
+#~ msgid "&Record\tR"
+#~ msgstr "Opnemen\tR"
+#~ msgid "&Audio Track\tCtrl+Shift+N"
+#~ msgstr "&Audiospoor\tCtrl+Shift+N"
+#~ msgid "&UnMute All Tracks\tCtrl+Shift+U"
+#~ msgstr "All&e sporen afspelen\tCtrl+Shift+U"
+#~ msgid "Contrast...\tCtrl+Shift+T"
+#~ msgstr "Contrast...\tCtrl+Shift+T"
+#~ msgid "&Index..."
+#~ msgstr "&Index…"
+# overal Tool (functie) weglaten en werkwoord gebruiken
+#~ msgid "Selection Tool\tF1"
+#~ msgstr "Selecteren\tF1"
+# Tool (functie) weglaten en werkwoord gebruiken
+#~ msgid "Envelope Tool\tF2"
+#~ msgstr "Verloop\tF2"
+# Overal tool weglaten en werkwoord gebruiken
+#~ msgid "Draw Tool\tF3"
+#~ msgstr "Tekenen\tF3"
+# het woord Tool niet vertalen hier
+#~ msgid "Zoom Tool\tF4"
+#~ msgstr "Zoomen\tF4"
+# Dit is de tooltip en de tekst van de statusbalk.
+# Bij alle andere tools wordt ook het hele werkwoord
+# gebruikt, vandaar dus geen: Tijdverschuiving.
+# Ook het woord Tool is hier met reden niet meevertaald.
+#~ msgid "Time Shift Tool\tF5"
+#~ msgstr "Tijd verschuiven\tF5"
+# combinatie modus/stand
+#~ msgid "Multi Tool\tF6"
+#~ msgstr "Combinatiestand\tF6"
+#~ msgid "Selection to Start\tShift+Home"
+#~ msgstr "Selecteren vanaf Begin\tShift+Home"
+#~ msgid "Selection to End\tShift+End"
+#~ msgstr "Selecteren tot Einde\tCtrl+End"
+#~ msgid "DeleteKey\tBackspace"
+#~ msgstr "DeleteKey\tBackspace"
+#~ msgid "DeleteKey2\tDelete"
+#~ msgstr "DeleteKey2\tDelete"
+#~ msgid "Toggle Focused Track\tNUMPAD_ENTER"
+#~ msgstr "Focus op spoor aan/uit\tNUMPAD_ENTER"
+#~ msgid "Cursor Left\tLeft\tallowdup"
+#~ msgstr "Cursor links\tLeft\tallowdup"
+#~ msgid "Cursor Right\tRight\tallowdup"
+#~ msgstr "Cursor rechts\tRight\tallowdup"
+# uitbreiden/vergroten
+#~ msgid "Selection Extend Left\tShift+Left\tallowdup"
+#~ msgstr "Selectie naar links vergroten\tShift+Left\tallowdup"
+# uitbreiden/vergroten
+#~ msgid "Selection Extend Right\tShift+Right\tallowdup"
+#~ msgstr "Selectie naar rechts vergroten\tShift+Right\tallowdup"
+#~ msgid "Selection Contract Right\tCtrl+Shift+Left"
+#~ msgstr "Selectie naar rechts verkleinen\tCtrl+Shift+Left"
+# laatste effect herhalen
+#~ msgid "Repeat %s\tCtrl+R"
+#~ msgstr "%s herhalen\tCtrl+R"
+# waarvan/waarin
+#~ msgid ""
+#~ "Sorry, VST Effects cannot be performed on stereo tracks where the "
+#~ "individual channels of the track do not match."
+#~ msgstr ""
+#~ "Sorry, VST-effecten kunnen niet worden toegepast op stereosporen waarvan "
+#~ "de individuele kanalen van het spoor niet overeenkomen."
+#~ msgid "Can't process replacing"
+#~ msgstr "Kan vervanging niet verwerken"
+#  ipv parameters gewoon instellingen (sander)
+# er staat parameters in het engels, geen settings, maar ik vind
+# instellingen ook beter (tino) Misschien een BUGrapport schrijven?
+#~ msgid "VST Plug-in parameters:"
+#~ msgstr "VST-plugin instellingen:"
+# slimme opname/slim opnemen/exclusief opnemen/intelligent opnemen
+#~ msgid "Smart Recording"
+#~ msgstr "Slim opnemen"
+#~ msgid "Zoom Toggle"
+#~ msgstr "Zoomschakelaar"
+#~ msgid "Play\tSpace"
+#~ msgstr "Afspelen\tSpatie"
+#~ msgid "&Stop\tSpace"
+#~ msgstr "&Stoppen\tSpatie"
+#~ msgid "Stop\tS"
+#~ msgstr "Stoppen\tS"
+#~ msgid "Pause\tP"
+#~ msgstr "Pauzeren\tP"
+#~ msgid "Record\tR"
+#~ msgstr "Opnemen\tR"
+# append = aansluiten
+# Opname wordt begonnen vanaf het einde van de vorige opname (einde van vorige track)
+#~ msgid "Record Append\tShift+R"
+#~ msgstr "Aansluitend opnemen\tShift+R"
+#~ msgid "Play Looped\tL"
+#~ msgstr "Herhaaldelijk afspelen\tL"
+#~ msgid "Play Looped\tShift+Space"
+#~ msgstr "Herhaaldelijk afspelen\tShift+Spatie"
+#~ msgid "Toggle Focused Track\tCtrl+Space"
+#~ msgstr "Focus op spoor aan/uit\tCtrl+Spatie"
+#~ msgid "Soloed track"
+#~ msgstr "Enkele track"
+# notenbalk (sander)
+#~ msgid "Muted track"
+#~ msgstr "Gedempte track"
+#~ msgid "Disallowed for some reason.  Try selecting some audio first?"
+#~ msgstr ""
+#~ "Uitgeschakeld om een of andere reden. Probeer eerst wat audio te "
+#~ "selecteren."
+#~ msgid "Hello.\n"
+#~ msgstr "Hallo.\n"
+#~ msgid "WCAG2 Audio Contrast Analyzer"
+#~ msgstr "WCAG2 audio-contrast-analyzer"
+#~ msgid "Note: The 'OK' button resets time values."
+#~ msgstr "Opmerking: de 'OK'-knop zet de tijdswaarden terug op nul."
+#~ msgid "Measuring background"
+#~ msgstr "Achtergrond meten"
+#~ msgid "Measuring foreground"
+#~ msgstr "Voorgrond meten"
+#~ msgid "&Software Playthrough: Play new track while recording it"
+#~ msgstr "&Softwarematig playthrough: Nieuw spoor afspelen tijdens opname"
+#~ msgid ""
+#~ "Playback and Recording device must use the same type, i.e., MME, "
+#~ "DirectSound, etc."
+#~ msgstr ""
+#~ "Afspeel- en opname-apparaat moet van hetzelfde type zijn, zoals MME, "
+#~ "DirectSound, enz."
+#~ msgid "Show / Hide"
+#~ msgstr "Tonen / Verbergen"
+#~ msgid "Show prompt to sa&ve, even if project is empty"
+#~ msgstr "Zelfs bij le&ge projecten prompt tonen om op te slaan"
+#~ msgid "Display range minimum: meters and 'Waveform (dB)'"
+#~ msgstr "Ondergrens weergave bij Vu-meters en ‘Golfvorm (dB)’"
+#~ msgid "Other interface choices"
+#~ msgstr "Andere interface opties"
+#~ msgid "Conversion"
+#~ msgstr "Conversie"
+#~ msgid "Real-time:"
+#~ msgstr "Real-time:"
+#~ msgid "High-quality:"
+#~ msgstr "Hoge-kwaliteit:"
+#~ msgid "FFT Size"
+#~ msgstr "FFT-grootte"
+#~ msgid "&Grayscale"
+#~ msgstr "&Grijswaarden"
+# afkorting voor number: Nr of Numero
+#~ msgid "No"
+#~ msgstr "Nr"
+#~ msgid "Group with Wave Track"
+#~ msgstr "Groepeer met geluidstrack"
+#~ msgid "Clear any grouping"
+#~ msgstr "Herstel alles wat gegroepeerd is"
+#~ msgid "Real-time sample rate converter:"
+#~ msgstr "Real-time conversie van samplefrequentie:"
+#~ msgid "High-quality sample rate converter:"
+#~ msgstr "Hoge kwaliteit conversie van samplefrequentie:"
+# dither vertaling?
+#~ msgid "Real-time dither:"
+#~ msgstr "Real-time dither:"
+# vertaling van dither?
+# afronding (sander)
+#~ msgid "High-quality dither:"
+#~ msgstr "Hoge kwaliteit afronding:"
+#~ msgid "Changing block %s\n"
+#~ msgstr "Aanpassen van blok %s\n"
+#~ msgid "Download..."
+#~ msgstr "Downloaden…"
+# F2/op F2
+# om de inhoud van de cel te bewerken/om te bewerken
+#~ msgid "Press F2 or double click to edit."
+#~ msgstr "Toets F2 of dubbelklik om te bewerken."
+#~ msgid "Title:"
+#~ msgstr "Titel:"
+#~ msgid "Artist:"
+#~ msgstr "Artiest:"
+#~ msgid "Album:"
+#~ msgstr "Album:"
+#~ msgid "Composer:"
+#~ msgstr "Componist:"
+#~ msgid "Lyricist:"
+#~ msgstr "Tekstschrijver:"
+#~ msgid "Comments:"
+#~ msgstr "Opmerkingen:"
+#~ msgid "Encoded By:"
+#~ msgstr "Gecodeerd met:"
+#~ msgid "Copyright:"
+#~ msgstr "Copyright:"
+#~ msgid "Track Number:"
+#~ msgstr "Spoornummer:"
+#~ msgid "Year:"
+#~ msgstr "Jaar:"
+#~ msgid "Genre:"
+#~ msgstr "Genre:"
+#~ msgid "No Genres"
+#~ msgstr "Geen genres"
+#~ msgid "Reset to Defaults"
+#~ msgstr "H&erstellen naar standaardlijst"
+# eenvoudig/simpel
+#~ msgid "Basic"
+#~ msgstr "Eenvoudig"
+# extra/geavanceerd
+#~ msgid "Advanced"
+#~ msgstr "Geavanceerd"
+#~ msgid "Clea&r"
+#~ msgstr "&Wissen"
+#~ msgid ""
+#~ "Maximum length of attribute '%s' is %d characters. Data was truncated."
+#~ msgstr "Maximumlengte van attribuut ‘%s’ is %d tekens. Data afgekapt."
+#~ msgid "Title"
+#~ msgstr "Titel"
+#~ msgid "Artist"
+#~ msgstr "Artiest"
+#~ msgid "Album"
+#~ msgstr "Album"
+#, fuzzy
+#~ msgid "Fail"
+#~ msgstr "Bestand"
+
+# dit is een tabbladtitel
+# het is geen info of het bouwen, maar over het programma
+#, fuzzy
+#~ msgid "WCAG Information on web"
+#~ msgstr "Programma-informatie"
+
diff --git a/locale/oc.po b/locale/oc.po
index 32d8087..5f09c2e 100644
--- a/locale/oc.po
+++ b/locale/oc.po
@@ -25,11 +25,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -81,7 +81,7 @@ msgid "Special thanks:"
 msgstr "Mercejaments particulièrs :"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -192,18 +192,13 @@ msgstr ""
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s est déjà ouvert dans une autre fenêtre."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
 msgid "Error opening project"
 msgstr "Error de dubèrtura de projècte"
 
@@ -228,10 +223,20 @@ msgstr "Vistm
 msgid "Output Meter"
 msgstr "Vistmètre de sortida"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Novèl"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Dubrir..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
 #: AudacityApp.cpp:617 AudacityApp.cpp:702
@@ -352,14 +357,14 @@ msgstr "Error :"
 msgid "Error Initializing Audio"
 msgstr "Error d'initialisacion audio"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -408,10 +413,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "Error"
 
@@ -587,8 +590,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -909,11 +913,11 @@ msgstr "Rectangular"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -971,11 +975,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1059,13 +1064,24 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "Barrar"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 #: FreqWindow.cpp:270 FreqWindow.cpp:393 effects/AutoDuck.cpp:487
 #: effects/AutoDuck.cpp:521 effects/AutoDuck.cpp:799
 #: effects/Compressor.cpp:348 effects/Compressor.cpp:356
@@ -1081,6 +1097,15 @@ msgstr ""
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3452
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ""
+
+#: Menus.cpp:3478
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr ""
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Pas pro de donadas seleccionadas"
@@ -1107,9 +1132,7 @@ msgstr ""
 msgid "Export Spectral Data As:"
 msgstr "Exportar las donadas espectralas jos :"
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr "Impossible d'enregistrar lo fichièr : "
@@ -1122,6 +1145,21 @@ msgstr "Frequ
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Desencalatge (segondas)\tFrequéncia (Hz)\tNivèl"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1199,7 +1237,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1223,7 +1261,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1292,6 +1330,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1351,9 +1397,7 @@ msgstr "Causir un fichi
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr ""
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
+#: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Impossible de dubrir lo fichièr : "
@@ -1407,21 +1451,13 @@ msgstr "Dubertura d'un proj
 msgid "&File"
 msgstr "&Fichièr"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Novèl\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Dubrir...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Barrar\tCtrl+W"
+msgid "&Close"
+msgstr "&Barrar"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Enregistrar lo projècte\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Enregistrar lo projècte"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1444,7 +1480,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1475,8 +1511,8 @@ msgstr "Exp
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1491,10 +1527,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1509,7 +1541,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1517,63 +1549,63 @@ msgid "&Edit"
 msgstr "&Edicion"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Anullar\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Anullar"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Tornar far"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "Co&par\tCtrl+X"
+msgid "Cu&t"
+msgstr "Co&par"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Copiar\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copiar"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&Empegar\tCtrl+V"
+msgid "&Paste"
+msgstr "&Empegar"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Escafar\tCtrl+K"
+msgid "&Delete"
+msgstr "&Escafar"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1586,47 +1618,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1634,33 +1651,33 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Tot selectionar\tCtrl+A"
+msgid "&All"
+msgstr "&Tot selectionar"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Cercar las crosadas amb lo zerò\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Cercar las crosadas amb lo zerò"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1675,11 +1692,11 @@ msgid "to Selection En&d"
 msgstr ""
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1702,29 +1719,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:567
-msgid "Turn Snap-To On"
-msgstr ""
-
-#: Menus.cpp:568
-msgid "Turn Snap-To Off"
-msgstr ""
-
-#: Menus.cpp:569
-msgid "Turn Grid Snap On"
-msgstr ""
-
-#: Menus.cpp:570
-msgid "Turn Grid Snap Off"
-msgstr ""
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1732,35 +1728,35 @@ msgid "&View"
 msgstr "&Afichatge"
 
 #: Menus.cpp:591
-msgid "Zoom &In\tCtrl+1"
+msgid "Zoom &In"
 msgstr ""
 
 #: Menus.cpp:594
-msgid "Zoom &Normal\tCtrl+2"
+msgid "Zoom &Normal"
 msgstr ""
 
 #: Menus.cpp:595
-msgid "Zoom &Out\tCtrl+3"
+msgid "Zoom &Out"
 msgstr ""
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Ajustar a la fenèstra\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Ajustar a la fenèstra"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Afichar totas las pistas\tCtrl+Maj+F"
+msgid "Fit &Vertically"
+msgstr "Afichar totas las pistas"
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom de la seleccion\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zoom de la seleccion"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1822,39 +1818,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Enrèire a la començança\tComençança"
+msgid "Skip to Start"
+msgstr "Enrèire a la començança"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Anar a la fin\tFin"
+msgid "Skip to End"
+msgstr "Anar a la fin"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1882,7 +1878,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1898,7 +1894,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1910,11 +1906,11 @@ msgid "Remo&ve Tracks"
 msgstr "Suprimir la (las) pista(s)"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1965,19 +1961,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Apondre una marca a la seleccion\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Apondre una marca al punt de lectura\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Apondre una marca al punt de lectura"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2003,21 +1998,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efiè&ch"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetir lo darrièr efièch\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Analisi"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
 msgid "&Help"
 msgstr "&Ajuda"
 
@@ -2029,8 +2023,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2049,181 +2043,149 @@ msgstr "&Lan
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Aisina·de·seleccion\tF1"
+msgid "Selection Tool"
+msgstr "Aisina·de·seleccion"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
-msgstr "Aisina·de·nivèl·(envolopa)\tF2"
+msgid "Envelope Tool"
+msgstr "Aisina·de·nivèl·(envolopa)"
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Aisina·de·dessenh·d'ondas\tF3"
+msgid "Draw Tool"
+msgstr "Aisina·de·dessenh·d'ondas"
 
 #: Menus.cpp:855
-msgid "Zoom Tool\tF4"
+msgid "Zoom Tool"
 msgstr ""
 
 #: Menus.cpp:856
-msgid "Time Shift Tool\tF5"
+msgid "Time Shift Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
-msgstr "Mòde·multi-aisinas\tF6"
+msgid "Multi Tool"
+msgstr "Mòde·multi-aisinas"
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Aisina seguenta\tD"
+msgid "Next Tool"
+msgstr "Aisina seguenta"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
-msgstr "Aisina precedenta\tA"
+msgid "Previous Tool"
+msgstr "Aisina precedenta"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:863
-msgid "Stop\tS"
-msgstr ""
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Pausa\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Enregistrar\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
-msgstr "Legir una segonda\t1"
+msgid "Play One Second"
+msgstr "Legir una segonda"
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr "Legir fins a la seleccion\tB"
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Lectura en bocla\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Legir fins a la seleccion"
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleccionar dempuèi la començança\tMaj.t+Començança"
+msgid "Selection to Start"
+msgstr "Seleccionar dempuèi la començança"
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
-msgstr "Seleccionar fins a la fin\tMaj.+Fin"
+msgid "Selection to End"
+msgstr "Seleccionar fins a la fin"
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "Clau d'escafament\tTornar en arrièr"
+msgid "DeleteKey"
+msgstr "Clau d'escafament"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "Clau d'escafament2\tSupprimir"
+msgid "DeleteKey2"
+msgstr "Clau d'escafament2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
-msgstr "Cursor Esquèrra\tEsquèrra"
+msgid "Cursor Left"
+msgstr "Cursor Esquèrra"
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
-msgstr "Cursor Drecha\tDrecha"
+msgid "Cursor Right"
+msgstr "Cursor Drecha"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Ampliar la seleccion a esquèrra\tMaj+esquèrra"
+msgid "Selection Extend Left"
+msgstr "Ampliar la seleccion a esquèrra"
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Ampliar la seleccion a drecha\tMaj+Drecha"
+msgid "Selection Extend Right"
+msgstr "Ampliar la seleccion a drecha"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2234,51 +2196,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Reduire la seleccion a esquèrra\tCtrl+Maj+Drecha"
+msgid "Selection Contract Left"
+msgstr "Reduire la seleccion a esquèrra"
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Reduire la seleccion a drecha\tCtrl+Maj+Esquèrra"
+msgid "Selection Contract Right"
+msgstr "Reduire la seleccion a drecha"
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2290,7 +2252,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2351,8 +2341,8 @@ msgstr ""
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Répéter %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Répéter %s"
 
 #: Menus.cpp:2171
 msgid "There are no label tracks to export."
@@ -2383,8 +2373,7 @@ msgstr "Ren d'anullar"
 msgid "Nothing to redo"
 msgstr "Ren de tornar far"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
 msgid "Cut"
 msgstr "Copar"
 
@@ -2400,9 +2389,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Paste"
 msgstr "Empegar"
 
@@ -2410,8 +2397,7 @@ msgstr "Empegar"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Pasted from the clipboard"
 msgstr "Empegar dins del pòrtapapièr"
 
@@ -2463,8 +2449,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Pistas seleccionadas tornadas mudas de %.2f segondas a %.2f"
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
 msgid "Silence"
 msgstr "Silenci"
 
@@ -2564,15 +2549,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr ""
 
-#: Menus.cpp:3452
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr ""
-
-#: Menus.cpp:3478
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr ""
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2690,9 +2666,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Novèla·pista audiò creada"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
 #: ../src/Menus.cpp:3052
 msgid "New Track"
 msgstr "Novèla pista"
@@ -2774,8 +2748,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "Mescla"
 
@@ -2795,6 +2768,10 @@ msgstr ""
 msgid "Print"
 msgstr "Estampar"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2808,14 +2785,11 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
-msgstr "Enregistrament"
+msgstr "Enregistrar"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr "Audio gravat"
 
@@ -2836,12 +2810,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Enregistrar las modificacions ?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
 msgid "Select one or more audio files..."
 msgstr "Causir un o mantun fichièrs audio..."
 
@@ -2868,8 +2841,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Error de dubèrtura de fichièr"
 
@@ -2923,10 +2906,12 @@ msgstr ""
 msgid "Can't open project file"
 msgstr "Impossible de dubrir lo fichièr projècte"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2946,17 +2931,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Error d'enregistrament del projècte"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -2967,10 +2957,8 @@ msgstr " %s enregistr
 msgid "Imported '%s'"
 msgstr " '%s' importat"
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
 #: ../src/import/ImportRaw.cpp:408
 msgid "Import"
 msgstr "Importar"
@@ -3098,8 +3086,7 @@ msgstr "LibsampleRate, d'Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Error LibSampleRate : %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr "Reescandalhatge desactivat."
 
@@ -3118,6 +3105,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Causir..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:784
+msgid "Tracks"
+msgstr ""
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3126,6 +3270,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3263,6 +3411,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3335,6 +3487,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3374,35 +3534,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
 msgstr "Autre..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "Nom..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr "Bolegar la pista cap en naut"
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr "Bolegar la pista cap en bas"
 
@@ -3442,13 +3590,15 @@ msgstr "Transformar en pista estereofonica"
 msgid "Split Stereo Track"
 msgstr ""
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr "Causir un format d'escandilh"
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr "Reglar lo taus"
 
@@ -3524,8 +3674,7 @@ msgstr "Edicion de marcador"
 msgid "Adjusted envelope."
 msgstr "Envolopa ajustada."
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
 msgid "Envelope"
 msgstr "Aisina de nivèl (envolopa)"
 
@@ -3586,14 +3735,12 @@ msgid "Moved pan slider"
 msgstr "Cursor de panoramic desplaçat"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "Ganh"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr "Panoramic"
 
@@ -3642,14 +3789,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3670,8 +3809,7 @@ msgstr "Esqu
 msgid "Right, "
 msgstr "Drecha,"
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr " '%s' cambiat en %s"
@@ -3685,6 +3823,11 @@ msgstr "Canal"
 msgid "Split stereo track '%s'"
 msgstr ""
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3711,8 +3854,7 @@ msgstr "Format :"
 msgid "Change lower speed limit (%) to:"
 msgstr "Passar la velocitat minimala de (%) a :"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr "Velocitat limita bassa"
 
@@ -3762,6 +3904,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Mut"
@@ -3840,8 +3986,9 @@ msgstr "Moduls de 1 a %i"
 msgid "Plugins %i to %i"
 msgstr "Moduls de %i a %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -3987,31 +4134,19 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721 ../src/effects/Amplify.cpp:187
+#: ../src/effects/AvcCompressor.cpp:716 ../src/effects/BassBoost.cpp:332
+#: ../src/effects/ChangePitch.cpp:393 ../src/effects/ChangeSpeed.cpp:379
+#: ../src/effects/ChangeTempo.cpp:284 ../src/effects/Compressor.cpp:484
+#: ../src/effects/Echo.cpp:242 ../src/effects/Equalization.cpp:731
+#: ../src/effects/Filter.cpp:482 ../src/effects/Normalize.cpp:258
+#: ../src/effects/Phaser.cpp:576 ../src/effects/Repeat.cpp:251
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Wahwah.cpp:563 ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "OK"
 
@@ -4138,8 +4273,7 @@ msgstr ""
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
+#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Percentatge de modificacion :"
@@ -4157,8 +4291,7 @@ msgstr "Cambiament la nautor..."
 msgid "Changing Pitch"
 msgstr "Cambiament de nautor"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Efièch·aplicat·: %s %.1f%%"
@@ -4308,9 +4441,9 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalizar a 0dB aprèp la compression."
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
 #, c-format
@@ -4343,7 +4476,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Atac : %.1i/s"
@@ -4366,6 +4498,10 @@ msgstr "Compressor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Aplicacion de compression dinamica..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4385,19 +4521,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4431,6 +4554,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4475,16 +4603,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4595,18 +4715,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4666,8 +4774,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Efièch·aplicat·: %s sosta = %f segondas, factor de decreissença = %f"
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "Ecò"
 
@@ -4699,8 +4806,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Error a la dubèrtura del periferic son. Verificatz los reglatges del periferic e l'escandalhatge del projècte"
 
@@ -4733,6 +4839,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4933,10 +5043,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5172,10 +5278,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5233,8 +5335,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr "Frequéncia LFO (Hz) :"
 
@@ -5242,8 +5343,7 @@ msgstr "Frequ
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr "Fasa de començança LFO (deg.) :"
 
@@ -5302,8 +5402,7 @@ msgstr "Repetir %d c
 msgid "Tracks are too long to repeat the selection."
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "Repetir"
 
@@ -5316,8 +5415,7 @@ msgstr "Nombre de repeticions :"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr "Longor de la seleccion novèla :"
 
@@ -5528,20 +5626,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5552,16 +5667,55 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Desolat, los efèctes VST pòdon·pas·èsser·realizats·que·las·pistas·estereofonicas·an·de·canals·individuals·que·correspondon·pas."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Reglatges de l'efièch"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Pas cap"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Impossible de remplaçar"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:409
-msgid "VST Plug-in parameters:"
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
 msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
@@ -5610,22 +5764,11 @@ msgstr "Efi
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Pas cap"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Autor :"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Reglatges de l'efièch"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Durada (segondas)"
 
@@ -5816,9 +5959,21 @@ msgstr "Exportacion del proj
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5886,6 +6041,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6019,12 +6178,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6043,10 +6198,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6235,12 +6390,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6351,6 +6506,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6574,8 +6740,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
 #: ../src/export/ExportMultiple.cpp:562
 msgid "Export Multiple"
 msgstr "Expòrt Multiple"
@@ -6606,11 +6771,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Emplaçament de l'expòrt :"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Causir..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6635,10 +6795,6 @@ msgstr "Primi
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:784
-msgid "Tracks"
-msgstr ""
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr "TornarRenommar lo fichièr :"
@@ -6672,25 +6828,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Causir un luòc per salvagardar los fichièrs exportats"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:526
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:480
+#, c-format
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6775,7 +6950,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Error (lo fichièr pòt èsser pas estat escrich) : %s"
@@ -6941,8 +7115,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr "Lista dels fichièrs en format tèxt"
 
@@ -6953,10 +7130,8 @@ msgstr ""
 
 #  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr "Error de LOF"
 
@@ -7102,131 +7277,59 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "E/S audio "
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Estereofonic)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Lectura"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Enregistrament"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Interfàcia"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Lectura"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Enregistrament"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Estereofonic)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "Repertòris"
 
@@ -7242,34 +7345,31 @@ msgstr "Empla
 msgid "Free Space:"
 msgstr "Espaci liure :"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Causir un luòc per plaçar lo repertòri temporari"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7288,220 +7388,141 @@ msgstr "Lo repert
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Los cambiaments de dorsièr temporari prendràn efièch sonque aprèp aveire demarat Audacity tornamai "
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Version de la libraria MP3 :"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Interfàcia"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (per edicion d'amplitud bèla)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (amplitud PCM en escandalhatge 8 bits)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (amplitud PCM en escandalhatge 16 bits)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (limit aproximativa de l'audicion umana)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (amplitud PCM en escandalhatge 24 bits)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
+#: prefs/GUIPrefs.cpp:126
+msgid "Modes"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/GUIPrefs.cpp:129
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (per edicion d'amplitud bèla)"
-
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (amplitud PCM en escandalhatge 8 bits)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (amplitud PCM en escandalhatge 16 bits)"
-
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (limit aproximativa de l'audicion umana)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (amplitud PCM en escandalhatge 24 bits)"
-
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7532,17 +7553,22 @@ msgstr "Bremba-te : Picar Cmd+Q per sortir. Totas las autras claus son validas."
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Combinason de clau"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportar las acorchas clavièr jos :"
+#: prefs/KeyConfigPrefs.cpp:339 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Error d'enregistrament de las acorchas clavièr"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7552,6 +7578,14 @@ msgstr "Causir un fichi
 msgid "Error loading keyboard shortcuts"
 msgstr "Error de cargament de las acorchas clavièr"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportar las acorchas clavièr jos :"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Error d'enregistrament de las acorchas clavièr"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7559,8 +7593,60 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:339 toolbars/EditToolBar.cpp:144
-msgid "Undo"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Version de la libraria MP3 :"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "E/S audio "
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
@@ -7576,6 +7662,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7584,6 +7674,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7596,6 +7690,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7621,14 +7727,12 @@ msgstr "Commande"
 msgid "Buttons"
 msgstr "Botons"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr "Clic d'esquèrra"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "Seleccion"
@@ -7637,10 +7741,8 @@ msgstr "Seleccion"
 msgid "Set Selection Point"
 msgstr "Definir un punt de seleccion"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr "Limpar a esquèrra"
@@ -7750,10 +7852,8 @@ msgstr "Cambiar l'amplificacion"
 msgid "Change Sample"
 msgstr "Modificar l'escandilh"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "Gredon"
 
@@ -7773,10 +7873,8 @@ msgstr "Cambiar mantuns escandilhs"
 msgid "Change ONE Sample only"
 msgstr "Cambiar un sol escandilh :"
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 msgid "Multi"
 msgstr "Multi"
 
@@ -7790,8 +7888,7 @@ msgstr "Coma l'aisina de seleccion"
 msgid "same as zoom tool"
 msgstr "Coma l'aisina zoom"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "Totes"
 
@@ -7819,10 +7916,62 @@ msgstr "Ctrl-Rodeta de la mirga"
 msgid "Zoom in or out"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Preferéncias d'Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr "Rectangular"
@@ -7847,44 +7996,44 @@ msgstr "Frequ
 msgid "Default Sample Format:"
 msgstr "Format d'escandalhatge per defaut :"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Convertidor·d'escandilh· en temps real :"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Convertidor d'escandilh de qualitat nauta :"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Alisatge en temps real :"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Alisatge de qualitat nauta."
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7899,18 +8048,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Espectrograms"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Talha FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - per defaut"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7919,20 +8104,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - benda mai estrecha"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7943,16 +8132,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr "Frequéncia maximum (Hz) :"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7963,6 +8152,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr ""
@@ -7979,18 +8176,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8019,78 +8255,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pausa"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
-msgid "Stop"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Enrèire a la començança"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Anar a la fin"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Pausa"
+
+#: Menus.cpp:863
+msgid "Stop"
 msgstr ""
 
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8131,28 +8383,20 @@ msgstr ""
 msgid "Zoom Out"
 msgstr ""
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr ""
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Ajustar la seleccion a la fenèstra"
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Afichar lo projècte tot dins la fenèstra"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8199,6 +8443,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8277,30 +8529,6 @@ msgstr "Esqu
 msgid "Click and drag to move a track in time"
 msgstr "Clicar-rossegar per calar temporalament una pista"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Aisina de seleccion"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Aisina·de·nivèl·(envolopa)"
-
-#: toolbars/ToolsToolBar.cpp:149 toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr ""
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Aisina de dessenh d'ondas"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr "Mòde multi aisinas"
@@ -8309,22 +8537,10 @@ msgstr "M
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8333,74 +8549,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8433,6 +8613,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr " (desactivat)"
@@ -8446,14 +8666,12 @@ msgid "Button"
 msgstr ""
 
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "G"
 
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "D"
 
@@ -8736,3 +8954,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/pl.po b/locale/pl.po
index 3d3937c..8140b09 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -7,18 +7,16 @@
 msgid ""
 msgstr "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-11-09 20:10+0000\n"
-"PO-Revision-Date: 2008-11-14 21:38+0100\n"
-"Last-Translator: Richard Ash <richard at audacityteam.org>\n"
+"POT-Creation-Date: 2009-02-15 17:27+0000\n"
+"PO-Revision-Date: 2009-04-23 23:13-0000\n"
+"Last-Translator: Marek Mularczyk <info at marekmularczyk.com>\n"
 "Language-Team:  <en at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.2\n"
 
-#: AboutDialog.cpp:143
-#: AudacityApp.cpp:807
-#: Menus.cpp:955
+#: AboutDialog.cpp:143 AudacityApp.cpp:789 Menus.cpp:953
 msgid "&About Audacity..."
 msgstr "&O Audacity..."
 
@@ -32,14 +30,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Audacity jest programem darmowym pisanym przez grupę wolontariuszy na całym świecie. Dziękujemy SourceForge.net , serwisowi on-line za udostępnienie darmowych narzędzi open source. Audacity jest dostępne dla systemów Windows 98 i nowszych, Mac OS X, Linuks oraz pozostałych Unixowych systemów operacyjnych. Starsze wersje Audacity są dostępne dla systemu Mac OS 9."
 
 #: AboutDialog.cpp:179
-#, fuzzy
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "To jest wersja beta programu Audacity. Może zawierać błędy i niedokończone funkcje. Modyfikacje zależą również od sygnałów użytkowników. Proszę odwiedzić naszą stronę i przekazać nam informację o znalezionych błędach i spostrzeżeniach."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #: AboutDialog.cpp:182
-#, fuzzy
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Jest to stabilna i pełna wersja programu Audacity.Mimo to, jeżeli znajdziesz błąd lub będziesz mieć sugestie, proszę skontaktuj się z nami. Rozwój i poprawa działania programu Audacity zależy od współdziałania z użytkownikami. Aby uzyskać więcej informacji, odwiedź naszą stronę internetową."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr ""
 
 #  i18n-hint: The translation of "translator_credits" will appear
 #  in the credits in the About Audacity window.  Use this to add
@@ -55,8 +51,7 @@ msgstr "Jest to stabilna i pełna wersja programu Audacity.Mimo to, jeżeli znaj
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Polskie tłumaczenie: Sebastian Pacholski,Tomasz Bańdura.Marek Mularczyk"
 
@@ -100,23 +95,20 @@ msgid "Special thanks:"
 msgstr "Specjalne podziękowania dla:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "<b>Audacity&reg;</b> jest chronione prawem autorskim &copy; 1999-2009 Zespół Audacity. <br>Nazwa <b>Audacity&reg;</b> jest zarejestrowana przez Dominic'a Mazzoni."
 
 #: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:304
-#: AboutDialog.cpp:317
-#: AboutDialog.cpp:473
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
 #, fuzzy
 msgid "Build Information"
 msgstr "Wprowadzenie"
 
-#: AboutDialog.cpp:310
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:310 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Odblokowany"
 
@@ -126,108 +118,91 @@ msgstr "Zablokowany"
 
 #: AboutDialog.cpp:321
 msgid "File Format Support"
-msgstr ""
+msgstr "Wsparcie dla formatów plików"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:331
-#: AboutDialog.cpp:333
+#: AboutDialog.cpp:331 AboutDialog.cpp:333
 #, fuzzy
 msgid "MP3 Importing"
 msgstr "Importowanie %s..."
 
-#: AboutDialog.cpp:340
-#: AboutDialog.cpp:343
+#: AboutDialog.cpp:340 AboutDialog.cpp:343
 #, fuzzy
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ustawienia Eksportu Ogg Vorbis"
 
-#: AboutDialog.cpp:347
-#: AboutDialog.cpp:350
+#: AboutDialog.cpp:347 AboutDialog.cpp:350
 msgid "ID3 tag support"
-msgstr ""
+msgstr "Wsparcie dla tagów ID3"
 
-#: AboutDialog.cpp:357
-#: AboutDialog.cpp:360
+#: AboutDialog.cpp:357 AboutDialog.cpp:360
 #, fuzzy
 msgid "FLAC import and export"
 msgstr "Ustawienia eksportu FLAC"
 
-#: AboutDialog.cpp:365
-#: AboutDialog.cpp:368
+#: AboutDialog.cpp:365 AboutDialog.cpp:368
 #, fuzzy
 msgid "MP2 export"
 msgstr "Ustawienia eksportu MP2"
 
-#: AboutDialog.cpp:373
-#: AboutDialog.cpp:376
+#: AboutDialog.cpp:373 AboutDialog.cpp:376
 msgid "Import via QuickTime"
-msgstr ""
+msgstr "Import poprzez QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
 #: AboutDialog.cpp:383
 msgid "Core Libraries"
-msgstr ""
+msgstr "Główne Biblioteki"
 
-#: AboutDialog.cpp:389
-#: AboutDialog.cpp:392
-#: AboutDialog.cpp:395
+#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 #, fuzzy
 msgid "Sample rate conversion"
 msgstr "Konwerter próbkowania"
 
-#: AboutDialog.cpp:402
-#: AboutDialog.cpp:405
+#: AboutDialog.cpp:402 AboutDialog.cpp:405
 msgid "Audio playback and recording"
-msgstr ""
+msgstr "Odtwarzanie i nagrywanie dźwięku"
 
 #: AboutDialog.cpp:418
 msgid "Features"
-msgstr ""
+msgstr "Funkcje"
 
-#: AboutDialog.cpp:422
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:430
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:438
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:446
-#: AboutDialog.cpp:449
+#: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
+#: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
+#: AboutDialog.cpp:446 AboutDialog.cpp:449
 msgid "Plug-in support"
-msgstr ""
+msgstr "Wsparcie dla wtyczek"
 
-#: AboutDialog.cpp:454
-#: AboutDialog.cpp:457
+#: AboutDialog.cpp:454 AboutDialog.cpp:457
 msgid "Sound card mixer support"
-msgstr ""
+msgstr "Wsparcie dla mikserów kart dźwiękowych"
 
-#: AboutDialog.cpp:462
-#: AboutDialog.cpp:465
+#: AboutDialog.cpp:462 AboutDialog.cpp:465
 msgid "Pitch and Tempo Change support"
-msgstr ""
+msgstr "Wsparcie dla Zmiany Tempa"
 
 #: AboutDialog.cpp:477
 msgid "Program build date: "
 msgstr "Data  budowy programu:"
 
-#: AboutDialog.cpp:480
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:480 AboutDialog.cpp:482
 #, fuzzy
 msgid "Build type:"
 msgstr "Rodzaj okna:"
 
 #: AboutDialog.cpp:480
 msgid "Debug build"
-msgstr ""
+msgstr "Wbudowane wyszukiwanie usterek"
 
 #: AboutDialog.cpp:482
 msgid "Release build"
-msgstr ""
+msgstr "Wydanie"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:487
 msgid "Installation Prefix: "
-msgstr ""
+msgstr "Prefiks instalacyjny:"
 
 #: AboutDialog.cpp:491
 msgid "Settings folder: "
@@ -237,21 +212,17 @@ msgstr "Folder ustawień:"
 msgid "GPL License"
 msgstr "Licencja GPL"
 
-#: AudacityApp.cpp:507
-#: Project.cpp:1844
+#: AudacityApp.cpp:498 Project.cpp:1948
 #, c-format
 msgid "%s is already open in another window."
 msgstr "Projekt %s jest już otwarty w innym oknie."
 
-#: AudacityApp.cpp:509
-#: Project.cpp:1846
-#: Project.cpp:1951
-#: Project.cpp:2095
-#: Project.cpp:2232
+#: AudacityApp.cpp:500 Project.cpp:1950 Project.cpp:2055 Project.cpp:2199
+#: Project.cpp:2336
 msgid "Error opening project"
 msgstr "BÅ‚Ä…d otwarcia projektu"
 
-#: AudacityApp.cpp:541
+#: AudacityApp.cpp:532
 #, c-format
 msgid "%s does not exist and could not be opened.\n"
 "\n"
@@ -260,47 +231,56 @@ msgstr "%s nie istnieje i nie mógł zostać otwarty.\n"
 "\n"
 "został usunięty z listy historii."
 
-#: AudacityApp.cpp:643
+#: AudacityApp.cpp:634
 msgid "Master Gain Control"
 msgstr "Główna kontrola wzmocnienia"
 
-#: AudacityApp.cpp:644
+#: AudacityApp.cpp:635
 msgid "Input Meter"
 msgstr "Miernik wejściowy"
 
-#: AudacityApp.cpp:645
+#: AudacityApp.cpp:636
 msgid "Output Meter"
 msgstr "Miernik wyjściowy"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Ustawienia...\tCtrl+,"
+#: Menus.cpp:197
+msgid "&New"
+msgstr "&Nowy"
+
+#: Menus.cpp:199
+msgid "&Open..."
+msgstr "&Otwórz..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:791
+msgid "&Preferences..."
+msgstr "&Ustawienia..."
 
-#: AudacityApp.cpp:901
-#: AudacityApp.cpp:978
+#: AudacityApp.cpp:878 AudacityApp.cpp:955
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Użycie bloku o rozmiarze %ld\n"
 
-#: AudacityApp.cpp:923
-#: AudacityApp.cpp:993
+#: AudacityApp.cpp:900 AudacityApp.cpp:970
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Nieznana opcja linii komend: %s\n"
 
-#: AudacityApp.cpp:1127
+#: AudacityApp.cpp:1104
 msgid "Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
 msgstr "Audacity nie może znaleźć miejsca na przechowywanie\n"
 "plików tymczasowych. Proszę podać odpowiedni katalog w oknie dialogowym Ustawienia."
 
-#: AudacityApp.cpp:1133
+#: AudacityApp.cpp:1110
 #, fuzzy
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
 msgstr "Audacity zakończy swoją pracę. Proszę uruchomić Audacity ponownie, aby używać nowego katalogu tymczasowego."
 
-#: AudacityApp.cpp:1165
+#: AudacityApp.cpp:1142
 msgid "Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
@@ -308,53 +288,53 @@ msgstr "Uruchamianie dwóch kopii Audacity równocześnie może powodować \n"
 "utratÄ™ danych albo zawieszenie siÄ™ systemu.\n"
 "\n"
 
-#: AudacityApp.cpp:1172
+#: AudacityApp.cpp:1149
 msgid "Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
 msgstr "Audacity nie było w stanie zablokować katalogu z plikami tymczasowymi.\n"
 "Ten katalog może być używany przez inną kopię Audacity.\n"
 
-#: AudacityApp.cpp:1174
+#: AudacityApp.cpp:1151
 msgid "Do you still want to start Audacity?"
 msgstr "Czy nadal chcesz uruchomić Audacity?"
 
-#: AudacityApp.cpp:1176
+#: AudacityApp.cpp:1153
 msgid "Error locking temporary folder"
 msgstr "BÅ‚Ä…d podczas blokowania tymczasowego katalogu "
 
-#: AudacityApp.cpp:1214
+#: AudacityApp.cpp:1191
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "System wykrył, że uruchomiona jest jeszcze jedna kopia Audacity.\n"
 
-#: AudacityApp.cpp:1216
+#: AudacityApp.cpp:1193
 msgid "Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
 msgstr "Użyj poleceń Nowy lub Otwórz w aktualnie uruchomionym procesie Audacity,\n"
 "aby otworzyć wiele projektów naraz.\n"
 
-#: AudacityApp.cpp:1217
+#: AudacityApp.cpp:1194
 msgid "Audacity is already running"
 msgstr "Audacity jest już uruchomione"
 
-#: AudacityApp.cpp:1234
+#: AudacityApp.cpp:1211
 msgid "Command-line options supported:"
 msgstr "Wspierane opcje linii poleceń"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1237
+#: AudacityApp.cpp:1214
 msgid "\t-help (this message)"
 msgstr "\t-help (ta wiadomość)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1239
+#: AudacityApp.cpp:1216
 msgid "\t-version (display Audacity version)"
 msgstr "\t-version (wyświetl wersję Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1243
+#: AudacityApp.cpp:1220
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (uruchom diagnostykÄ™)"
 
@@ -362,15 +342,15 @@ msgstr "\t-test (uruchom diagnostykÄ™)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1248
+#: AudacityApp.cpp:1225
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn (ustaw maksymalną wielkość bloku dysku w bajtach)"
 
-#: AudacityApp.cpp:1249
+#: AudacityApp.cpp:1226
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
 msgstr "Dodatkowo, ustal nazwę pliku dżwiękowego lub projektu Audacity, aby go otworzyć."
 
-#: AudacityApp.cpp:1529
+#: AudacityApp.cpp:1503
 msgid "Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
@@ -380,40 +360,41 @@ msgstr "Pliki projektu Audacity (.AUP) nie sÄ… \n"
 "\n"
 "Czy przypisać je aby móc otworzyć program poprzez podwójne kliknięcie myszy?"
 
-#: AudacityApp.cpp:1530
+#: AudacityApp.cpp:1504
 msgid "Audacity Project Files"
 msgstr "Pliki projektu Audacity"
 
-#: AudioIO.cpp:254
+#: AudioIO.cpp:268
 msgid "Could not find any audio devices.\n"
 msgstr "Nie znaleziono żadnych urządzeń dźwiękowych.\n"
 
-#: AudioIO.cpp:255
+#: AudioIO.cpp:269
 msgid "You will not be able to play or record audio.\n"
 "\n"
 msgstr "Nie będzie można odtwarzać/nagrywać dźwieku.\n"
 "\n"
 
-#: AudioIO.cpp:258
+#: AudioIO.cpp:272
 msgid "Error: "
 msgstr "BÅ‚Ä…d."
 
-#: AudioIO.cpp:261
+#: AudioIO.cpp:275
 msgid "Error Initializing Audio"
 msgstr "BÅ‚Ä…d podczas uruchamiania audio"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "Problem z czasem oczekiwania"
-
-#: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1389
+#, fuzzy
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr "Ustawienie czasu oczekiwania spowodowało, że nagrywany dźwięk został ukryty.\n"
 "Audacity zwróciło go z powrotem do pozycji startowej.\n"
 "Być może trzeba będzie użyć Narzędzia do Przemieszczania Czasu (<---> lub F5) aby przesunąć dźwięk w odpowiednie miejsce."
 
+#: AudioIO.cpp:1389
+msgid "Latency problem"
+msgstr "Problem z czasem oczekiwania"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatyczne odzysk po zawieszeniu siÄ™"
@@ -429,7 +410,6 @@ msgid "Recoverable projects"
 msgstr "Odzyskiwalne projekty"
 
 #: AutoRecovery.cpp:78
-#: Tags.cpp:2041
 msgid "Name"
 msgstr "Nazwa"
 
@@ -452,50 +432,35 @@ msgstr "Odzyskaj Projekty"
 #: AutoRecovery.cpp:127
 msgid "Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr ""
+msgstr "Czy napewno nie chcesz odzyskać projektów?\n"
+"Nie będziesz mógł ich odzyskać później."
 
 #: AutoRecovery.cpp:128
 #, fuzzy
 msgid "Confirm?"
 msgstr "Potwierdź"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Pliki w katalogu zapisywalnym nie zostały ponumerowane"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:3053
-#: Menus.cpp:3065
-#: Menus.cpp:5182
-#: Project.cpp:2054
-#: Project.cpp:3615
-#: Project.cpp:3694
-#: TrackPanel.cpp:6385
-#: WaveTrack.cpp:598
-#: WaveTrack.cpp:617
-#: WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077
-#: WaveTrack.cpp:2087
-#: effects/Effect.cpp:513
-#: export/ExportMP2.cpp:233
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:247
-#: toolbars/ControlToolBar.cpp:542
-#: toolbars/ControlToolBar.cpp:871
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3096 Menus.cpp:3108
+#: Menus.cpp:5238 Project.cpp:2158 Project.cpp:3790 Project.cpp:3869
+#: TrackPanel.cpp:6392 WaveTrack.cpp:827 WaveTrack.cpp:846 WaveTrack.cpp:1864
+#: effects/Contrast.cpp:127 effects/Contrast.cpp:137 effects/Effect.cpp:515
+#: export/ExportFFmpeg.cpp:641 export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:189 prefs/KeyConfigPrefs.cpp:260
+#: toolbars/ControlToolBar.cpp:542 toolbars/ControlToolBar.cpp:871
 msgid "Error"
 msgstr "BÅ‚Ä…d"
 
-#: BatchCommandDialog.cpp:57
-#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:57 BatchCommandDialog.cpp:62
 #: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "Wybierz Polecenie"
 
-#: BatchCommandDialog.cpp:82
-#: BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:142
+#: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
+#: prefs/KeyConfigPrefs.cpp:158
 msgid "&Command"
 msgstr "&Polecenie"
 
@@ -503,8 +468,7 @@ msgstr "&Polecenie"
 msgid "&Edit Parameters"
 msgstr "&Edytuj parametry"
 
-#: BatchCommandDialog.cpp:91
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:91 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Parametry"
 
@@ -551,8 +515,7 @@ msgstr "Zastosuj %s z parametrem\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:653
-#: BatchCommands.cpp:658
+#: BatchCommands.cpp:653 BatchCommands.cpp:658
 msgid "Test Mode"
 msgstr "Tryb testowy"
 
@@ -561,15 +524,14 @@ msgstr "Tryb testowy"
 msgid "Apply %s"
 msgstr "Zastosuj %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Zastosuj Tor"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "Przetwarzanie wsadowe CzystejMowy"
 
 #: BatchProcessDialog.cpp:94
 msgid "&Select chain"
@@ -587,23 +549,14 @@ msgstr "Zastosuj do aktualnego &Projektu"
 msgid "Apply to &Files..."
 msgstr "Zastosuj do &Plików..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2080
-#: Tags.cpp:2084
-#: Tags.cpp:2384
-#: Tags.cpp:2388
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:453
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:453
 #: effects/audiounits/AudioUnitEffect.cpp:887
 msgid "&Cancel"
 msgstr "&Cofnij"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Nie zaznaczono toru"
 
@@ -627,7 +580,7 @@ msgstr "Zaznacz plik(i) do przetwarzania wsadowego..."
 
 #: BatchProcessDialog.cpp:209
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "Pliki wokalowe (*.wav;*.mp3)|*.wav;*.mp3|WAV pliki (*.wav)|*.wav|MP3 pliki (*.mp3)|*.mp3"
 
 #: BatchProcessDialog.cpp:210
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
@@ -641,8 +594,7 @@ msgstr "Przetwarzanie..."
 msgid "File"
 msgstr "Plik"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Edytuj Tory"
@@ -651,19 +603,12 @@ msgstr "Edytuj Tory"
 msgid "&Chains"
 msgstr "&Tory"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:826
-#: Tags.cpp:1465
-#: Tags.cpp:2064
+#: BatchProcessDialog.cpp:435 Tags.cpp:813
 msgid "&Add"
 msgstr "&Dodaj"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:128
-#: Tags.cpp:827
-#: Tags.cpp:1466
-#: Tags.cpp:2065
-#: TrackPanel.cpp:4176
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:814
+#: TrackPanel.cpp:4186
 msgid "&Remove"
 msgstr "&Usuń"
 
@@ -677,8 +622,8 @@ msgstr "T&or (Kliknij dwukrotnie lub naciśnij spację, aby edytować)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Nie"
+msgid "Num"
+msgstr "Numer"
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -739,7 +684,7 @@ msgstr "Usuwanie zależności"
 msgid "Copying audio data into project..."
 msgstr "Kopiowanie danych dźwiękowych do projektu..."
 
-#: Dependencies.cpp:223
+#: Dependencies.cpp:226
 msgid "Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
@@ -747,65 +692,63 @@ msgstr "Twój projekt zależy od obecności innych plików. \n"
 "Kopiować dźwięk z tych plików do projektu, aby zawierały się w projekcie?\n"
 "Wymagana jest do tego większa przestrzeń dyskowa, lecz jest to bezpieczniejsze."
 
-#: Dependencies.cpp:270
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "Projekt zależy od innych plików dźwiękowych"
 
-#: Dependencies.cpp:291
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Zależności peojektowe"
 
-#: Dependencies.cpp:294
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "Plik dźwiękowy"
 
-#: Dependencies.cpp:296
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Przestrzeń dyskowa"
 
-#: Dependencies.cpp:301
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Skopiuj zaznaczone dźwięki do projektu"
 
-#: Dependencies.cpp:308
-#: Dependencies.cpp:414
+#: Dependencies.cpp:311 Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Cofnij Zapisz"
 
-#: Dependencies.cpp:310
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "Nie kopiuj dźwięku"
 
-#: Dependencies.cpp:312
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Skopiuj cały dźwięk do projektu (Bezpieczniejsze)"
 
-#: Dependencies.cpp:321
-#: Dependencies.cpp:326
+#: Dependencies.cpp:324 Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Zapytaj mnie"
 
-#: Dependencies.cpp:322
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Zawsze kopiuj cały dźwięk (Najbezpieczniejsze)"
 
-#: Dependencies.cpp:323
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Nigdy nie kopiuj żadnego dźwięku"
 
-#: Dependencies.cpp:325
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Gdy projekt jest zależny od innych plików:"
 
-#: Dependencies.cpp:413
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr "Jeśli będziesz kontynuował, twój projekt nie zostanie zapisany na dysku. Czy tego chcesz?"
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "Twój projekt jest niezależny od żadnych zawnętrznych plików dźwiękowych."
 
-#: Dependencies.cpp:454
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Sprawdzanie zależności"
 
@@ -815,9 +758,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Ostrzeżenie: Pozostało bardzo mało miejsca w tym katalogu.\n"
 "Proszę wybrać jeszcze jeden tymczasowy katalog w ustawieniach programu."
 
-#: DirManager.cpp:223
-#: DirManager.cpp:254
-#: DirManager.cpp:337
+#: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
 msgid "Progress"
 msgstr "Postęp"
 
@@ -868,7 +809,7 @@ msgstr "Nie można usunąć %s'"
 msgid "Renamed file: %s\n"
 msgstr "Zmieniono nazwÄ™ plku: %s\n"
 
-#: DirManager.cpp:1160
+#: DirManager.cpp:1166
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "Nie można zmienić nazwy %s na %s'"
@@ -876,40 +817,39 @@ msgstr "Nie można zmienić nazwy %s na %s'"
 #: DirManager.cpp:1183
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Zmień blok %s na nową nazwę \n"
 
-#: DirManager.cpp:1224
-#: DirManager.cpp:1515
+#: DirManager.cpp:1249 DirManager.cpp:1540
 msgid "Inspecting project file data..."
 msgstr "Sprawdzanie plików projektu..."
 
-#: DirManager.cpp:1240
+#: DirManager.cpp:1265
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Odosobniony plik blokowy: (%s)"
 
-#: DirManager.cpp:1265
+#: DirManager.cpp:1290
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "BrakujÄ…cy plik aliasowy: (%s)"
 
-#: DirManager.cpp:1285
+#: DirManager.cpp:1310
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "BrakujÄ…cy plik podsumowujÄ…cy: (%s.auf)"
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1330
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "BrakujÄ…cy plik danych: (%s.au)"
 
-#: DirManager.cpp:1319
+#: DirManager.cpp:1344
 msgid "Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
 msgstr "Test projektu znalazł niespójności w danych projektu;\n"
 "kliknij na 'Szczegóły', aby uzyskać pełną listę błędów, lub kliknij'OK', aby kontynuować i uzyskać więcej opcji."
 
-#: DirManager.cpp:1331
+#: DirManager.cpp:1356
 #, c-format
 msgid "Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
@@ -918,30 +858,25 @@ msgstr "Test projektu znalazł %d odosbniony plik[i]. Pliki te\n"
 "są nieużywane i są prawdopodobnie pozostałościami po zawieszeniu się lub innym błędzie.\n"
 "Powinny zostać usunięte, aby uniknąć ryzyka konfliktu."
 
-#: DirManager.cpp:1336
+#: DirManager.cpp:1361
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Usuń odosobnione pliki [bezpieczne i zalecane]"
 
-#: DirManager.cpp:1337
+#: DirManager.cpp:1362
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Kontynuuj bez usuwania,  pracuj z dodatkowymi plikami"
 
-#: DirManager.cpp:1338
+#: DirManager.cpp:1363
 msgid "Close project immediately with no changes"
 msgstr "Natychmiast zamknij projekt bez bez zmian"
 
-#: DirManager.cpp:1340
-#: DirManager.cpp:1375
-#: DirManager.cpp:1421
-#: DirManager.cpp:1463
-#: export/Export.cpp:576
-#: export/Export.cpp:597
-#: export/Export.cpp:616
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1365 DirManager.cpp:1400 DirManager.cpp:1446
+#: DirManager.cpp:1488 export/Export.cpp:582 export/Export.cpp:603
+#: export/Export.cpp:622 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Ostrzeżenie"
 
-#: DirManager.cpp:1366
+#: DirManager.cpp:1391
 #, c-format
 msgid "Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
@@ -954,22 +889,19 @@ msgstr "Test projektu wykrył %d, że brakuje plików wsadowych używanych\n"
 "automatycznie, możesz wstawić ciszę w miejsce brakujących\n"
 "plików lub zamknąć projekt i próbować odzyskać brakujące pliki ręcznie."
 
-#: DirManager.cpp:1371
+#: DirManager.cpp:1396
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Uzupełnij brakujące dane ciszą [nie do cofnięcia po zapisaniu]"
 
-#: DirManager.cpp:1372
-#: DirManager.cpp:1460
+#: DirManager.cpp:1397 DirManager.cpp:1485
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Tymczasowo uzupełnij brakujące dane ciszą [tylko w tej sesji]"
 
-#: DirManager.cpp:1373
-#: DirManager.cpp:1419
-#: DirManager.cpp:1461
+#: DirManager.cpp:1398 DirManager.cpp:1444 DirManager.cpp:1486
 msgid "Close project immediately with no further changes"
 msgstr "Natychmiast zamknij projekt bez dalszych zmian"
 
-#: DirManager.cpp:1412
+#: DirManager.cpp:1437
 #, c-format
 msgid "Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
@@ -978,15 +910,15 @@ msgstr "Test projektu wykrył %d brakujące pliki (.auf).\n"
 "Audacity może je w pełni odzyskać z oryginalnych\n"
 "danych z projektu."
 
-#: DirManager.cpp:1417
+#: DirManager.cpp:1442
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Odzyskaj pliki [bezpieczne i zalecane]"
 
-#: DirManager.cpp:1418
+#: DirManager.cpp:1443
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Wypełnij ciszą brakujące dane [tylko w tej sesji]"
 
-#: DirManager.cpp:1454
+#: DirManager.cpp:1479
 #, c-format
 msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
@@ -1001,27 +933,27 @@ msgstr "Test projektu wykrył %d brakujące bloki dźwięku (.au), \n"
 "możesz wstawić ciszę w miejsce brakujących danych na zawsze lub\n"
 "tylko chwilowo, lub zamknąć projekt i spróbować odzyskać dane ręcznie."
 
-#: DirManager.cpp:1459
+#: DirManager.cpp:1484
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "ZastÄ…p brakujÄ…ce dane ciszÄ… [na zawsze]"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1512
 msgid "Cleaning up unused directories in project data..."
 msgstr "Czyszczenie nieużywanych katalogów w danych projektu..."
 
-#: DirManager.cpp:1558
+#: DirManager.cpp:1583
 msgid "Caching audio"
 msgstr "Przechowywanie dźwięku w pamięci cache"
 
-#: DirManager.cpp:1559
+#: DirManager.cpp:1584
 msgid "Caching audio into memory..."
 msgstr "Przechowywanie dźwięku w pamięci..."
 
-#: DirManager.cpp:1592
+#: DirManager.cpp:1617
 msgid "Saving recorded audio"
 msgstr "Zapisywanie nagranego dźwięku"
 
-#: DirManager.cpp:1593
+#: DirManager.cpp:1618
 msgid "Saving recorded audio to disk..."
 msgstr "Zapisywanie nagranego dźwięku na dysk..."
 
@@ -1031,58 +963,55 @@ msgstr "ProstokÄ…t"
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "Wsparcie dla FFmpeg nieskompilowane"
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Załadowanie FFmpeg nie powiodło się"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:112
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "Nie znaleziono biblioteki FFmpeg"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:172
 #, fuzzy
 msgid "Locate FFmpeg"
 msgstr "Zlokalizuj Lame"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:192
 #, fuzzy, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
 msgstr "Audacity potrzebuje pliku %s do stworzenia pliku MP3."
 
-#: FFmpeg.cpp:196
-#: export/ExportMP3.cpp:562
+#: FFmpeg.cpp:198 export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Lokalizacja %s:"
 
-#: FFmpeg.cpp:205
-#: export/ExportMP3.cpp:571
+#: FFmpeg.cpp:207 export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Aby znaleźć %s, kliknij tutaj -->"
 
-#: FFmpeg.cpp:211
-#: export/ExportMP3.cpp:577
+#: FFmpeg.cpp:213 export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Wybierz..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:214
 #, fuzzy
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Aby otrzymać darmową kopię Lame, kliknij tutaj -->"
 
 #: FFmpeg.cpp:215 export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Pobierz"
 
 #  i18n-hint: It's asking for the location of a file, for
 #  example, "Where is lame_enc.dll?" - you could translate
@@ -1090,51 +1019,49 @@ msgstr ""
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:235
-#: export/ExportMP3.cpp:601
+#: FFmpeg.cpp:237 export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Gdzie jest %s?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Nie znaleziono kompatybilnych bibliotek FFmpeg"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:87
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "Nie znaleziono FFmpeg"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Nie pokazuj więcej tego ostrzeżenia"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:242
 #, fuzzy
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Tylko lame_enc.dll|lame_enc.dll|Biblioteki dynamiczne (*.dll)|*.dll|All Files (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:275
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Biblioteki Dynamiczne (*.dylib)|*.dylib|All Files (*)|*"
 
-#: FFmpeg.h:266
+#: FFmpeg.h:302
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Tylko libavformat.so|libavformat.so*|Dynamicznie Łączone Biblioteki (*.so*)|*.so*|Wszystkie Pliki (*)|*"
 
 #: FreqWindow.cpp:103
 msgid "Frequency Analysis"
 msgstr "Analiza widma"
 
-#: FreqWindow.cpp:139
-#: TrackPanel.cpp:556
-#: prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:139 TrackPanel.cpp:553 prefs/GUIPrefs.cpp:156
 msgid "Spectrum"
 msgstr "Spektrum"
 
@@ -1157,15 +1084,12 @@ msgstr "Ulepszona autokorelacja"
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150
-#: FreqWindow.cpp:154
+#: FreqWindow.cpp:150 FreqWindow.cpp:154
 #, fuzzy
 msgid "Algorithm"
 msgstr "Algorytm:"
 
-#: FreqWindow.cpp:169
-#: FreqWindow.cpp:173
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:169 FreqWindow.cpp:173 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Rozmiar"
 
@@ -1179,8 +1103,7 @@ msgstr "Rozmiar"
 msgid " window"
 msgstr " (okno)"
 
-#: FreqWindow.cpp:187
-#: FreqWindow.cpp:191
+#: FreqWindow.cpp:187 FreqWindow.cpp:191
 #, fuzzy
 msgid "Function"
 msgstr "Funkcja:"
@@ -1193,65 +1116,68 @@ msgstr "Skala liniowa"
 msgid "Log frequency"
 msgstr "Skala logarytmiczna"
 
-#: FreqWindow.cpp:201
-#: FreqWindow.cpp:205
+#: FreqWindow.cpp:201 FreqWindow.cpp:205
 #, fuzzy
 msgid "Axis"
 msgstr "OÅ›:"
 
-#: FreqWindow.cpp:212
-#: LabelDialog.cpp:130
-#: Menus.cpp:241
-#: Menus.cpp:276
+#: FreqWindow.cpp:212 LabelDialog.cpp:130 Menus.cpp:242 Menus.cpp:277
 msgid "&Export..."
 msgstr "&Eksportuj..."
 
-#: FreqWindow.cpp:213
-#: export/ExportCL.cpp:325
-#: export/ExportMultiple.cpp:347
+#: FreqWindow.cpp:213 effects/Contrast.cpp:437 export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Eksportuj"
 
-#: FreqWindow.cpp:216
-#: FreqWindow.cpp:217
-#: widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "Zamknij"
 
-#: FreqWindow.cpp:280
-#: FreqWindow.cpp:410
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:792
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123
-#: effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133
-#: effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408
-#: effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:367
-#: widgets/Meter.cpp:417
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1121 effects/Equalization.cpp:1123
+#: effects/Equalization.cpp:1131 effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1406 effects/Equalization.cpp:1417
+#: effects/Normalize.cpp:368 widgets/Meter.cpp:413
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295
-#: FreqWindow.cpp:450
-#: effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195
-#: import/ImportRaw.cpp:399
+#: FreqWindow.cpp:295 FreqWindow.cpp:450 effects/Equalization.cpp:1162
+#: effects/Equalization.cpp:1193 import/ImportRaw.cpp:402
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:4012
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Aby wykreślić widmo, wszystkie ścieżki muszą mieć tę samą częstotliwość próbkowania."
+
+#: Menus.cpp:4038
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Zaznaczono zbyt dużą próbkę audio. Tylko pierwsze %.1f sekund zostanie przeanalizowane."
+
 #: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "Za mało zaznaczonych danych."
 
-#: FreqWindow.cpp:458
-#: effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:458 effects/AutoDuck.cpp:794
 msgid "s"
 msgstr "s"
 
@@ -1273,12 +1199,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Eksportuj dane widma jako:"
 
-#: FreqWindow.cpp:1087
-#: LabelDialog.cpp:603
-#: Menus.cpp:2555
-#: Project.cpp:2604
-#: Project.cpp:3667
-#: prefs/KeyConfigPrefs.cpp:182
+#: FreqWindow.cpp:1087 LabelDialog.cpp:603 Menus.cpp:2563 Project.cpp:2737
+#: Project.cpp:3842 effects/Contrast.cpp:567 prefs/KeyConfigPrefs.cpp:195
 msgid "Couldn't write to file: "
 msgstr "Nie można zapisać do pliku: "
 
@@ -1290,6 +1212,21 @@ msgstr "Częstotliwość (Hz)\tPoziom (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Lag (sekundy)\tCzęstotliwość (Hz)\tPoziom"
 
+#: GStreamerLoader.cpp:220
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:240
+msgid "GStreamer startup failed"
+msgstr "Załadowanie GStreamera nie powiodło się"
+
 #: HelpText.cpp:85
 #, fuzzy
 msgid "To [[welcome|Welcome screen]]"
@@ -1309,15 +1246,15 @@ msgstr "Nagrywanie dźwięku"
 
 #: HelpText.cpp:105
 msgid "Recording - Choosing the Input Device"
-msgstr ""
+msgstr "Nagrywanie - Wybór Urządzenia"
 
 #: HelpText.cpp:109
 msgid "Recording - Choosing the Input Source"
-msgstr ""
+msgstr "Nagrywanie - Wybór Źródła"
 
 #: HelpText.cpp:113
 msgid "Recording - Setting the Input Level"
-msgstr ""
+msgstr "Nagrywanie - Ustawianie Poziomu Wysterowania"
 
 #: HelpText.cpp:117
 #, fuzzy
@@ -1349,7 +1286,7 @@ msgstr "Brak lokalnej pomocy"
 
 #: HelpText.cpp:148
 msgid "</p><center><h3>Getting Started</h3></center><br>"
-msgstr ""
+msgstr "</p><center><h3>Dla poczÄ…tkujÄ…cych</h3></center><br>"
 
 #: HelpText.cpp:150
 #, fuzzy
@@ -1358,11 +1295,11 @@ msgstr "<p>Witaj w Audacity"
 
 #: HelpText.cpp:151
 msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr ""
+msgstr "Naucz się jak: <ul><li>[[odtwarzać|odtwarzać]] istniejący plik dźwiękowy <li>[[nagrywać|nagrywać]] swój głos,  <li>[[edytować|edytować]] dźwięki <li>[[zapisywać|zapisywać lub otwierać projekt Audacity]] <li>[[eksport|eksport]] do formatu MP3 lub innego pliku dźwiękowego, lub [[wypalać|wypalać CD]]  </ul></p><p>"
 
 #: HelpText.cpp:159
 msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr ""
+msgstr "Możesz wywołać to okno w każdej chwili klikając na menu <i>Pomoc</i>, a następnie <i>Pokaż wiadomość powitalną</i>. Aby uzyskać informacje na temat wszystkich menu Audacity, kliknij na  <i>Help</i> menu i następnie na <i>Index</i>, lub pobierz nasz <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">Podręcznik</a> w formacie PDF.</p>"
 
 #: HelpText.cpp:172
 #, fuzzy
@@ -1371,19 +1308,19 @@ msgstr "Możesz przenieść istniejące pliki do Audacity, lub użyj polecenia <
 
 #: HelpText.cpp:194
 msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
-msgstr ""
+msgstr "<p><b>Aby nagrywać:</b> Ustaw urządzenie nagrywające i źródło dźwięku, sprawdź poziom wysterowania, a następnie naciśnij czerwony przycisk Nagrywaj.</b></p><p> 1) [[inputdevice|Ustaw urządzenie nagrywające]] albo w <i>zakładce We/Wy Dźwięku w Ustawieniach</i> albo w <i>Kolumnie Urządzenia</i>. Ustawienia We/Wy Dźwięku pozwalają ci na wybranie nagrywania w stereo jeśli chcesz.<br> 2) [[inputsource|Ustaw źródło]] dla urządzenia (na przykład, mikrofon lub wejście liniowe) w menu w >Kolumnie Miksera</i>, lub (w niektórych systemach) w Urządzeniu Nagrywającym w <i>We/Wy Dźwięku w Ustawieniach</i> lub w <i>Kolumnie Urządzenia</i>.<br> 3) [[inputlevel|Wyreguluj poziom wysterowania]] używając prawego suwaka na <i>Kolumnie Miksera</i>. Prawidłowe ustawienie poziomu przed rozpoczęciem nagrywania jest bardzo ważne, aby uniknąć zakłóceń lub zniekształceń. </p><p> Więcej informacji na: \"Nagrywanie\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, nasz Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Twoje Pierwsze Nagranie</a> w <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Podręczniku</a>, oraz nasze Wiki [[wiki:Recording_Tips|Porady w nagrywaniu]] i [[wiki:Troubleshooting_Recordings|Problemy z Nagrywaniem]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>Urządzenie wejściowe jest fizycznym urządzeniem, którego używasz do nagrywania. Możesz je wybrać w \"Urządzenie Nagrywające\" w <i>zakładce We/Wy Dźwięku w Ustawieniach</i>, Na Windows i Linux, Ustawienia są na dole menu <i>Edycja</i>. Na Mac, w menu <i>Audacity(/i>. Możesz również wybrać Urządzenie Nagrywające w <i>Kolumnie Urządzenia</i>, która jest w <i>Pokaż &gt; Kolumny...</i>. </p><p> Audacity używa automatycznie urządzenia, którego używa system, (zazwyczaj wbudowanego urządzenia dźwiękowego), więc w większości przypadków nie trzeba nic zmieniać. W Windows, urządzenie to może zostać wybrane jako \"Microsoft Sound Mapper\". Jeśli nagrywasz z zewnętrznego urządzenia USB lub Firewire jak np. adapteru USB, wybierz jego nazwę jako urządzenia nagrywającego po podłączeniu go.</p><p> Powrót do [[record|Nagrywanie dźwięku]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Wybierz źródło (na przykład mikrofon lub wejście liniowe) dla twojego [[inputdevice|urządzenia nagrywającego]]:<br> - <b>W Windows (poza Vistą)</b> i <b>Linux</b>, w menu po prawej stronie <i>Kolumny Miksera</i>.<br> - <b>W Windows Vista</b> i <b>Mac</b>, w Urządzeniu Nagrywającym w <i>zakładce We/Wy Dźwięku w Ustawieniach</i>, lub w <i>Kolumnie Urządzenia</i>. Źródło pokaże się jako część urządzenia nadrzędnego (na przykład, <i>Karta Dźwiękowa Wysokiej Jakości: Mikrofon</i>). Jeśli trzeba, użytkownicy Mac-a mogą wybrać źródło w Ustawieniach Apple Audio MIDI. <br><i><b>Notatka:</b> wiele urządzeń nagrywających USB lub Firewire nie ma możliwości wyboru wejść, więc krok ten nie jest potrzebny. W razie wątpliwości, zajrzyj do dokumentacji swojego urządzenia. </i></p><p> <b>Porada:</b> <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">Nagrywanie dźwięku grającego w komputerze</a>, użytkownicy Windows-a i Linux-a mogą wybrać \"Stereo Mix\", \"Wave Out\", \"Sum\" lub inne źródła. </p><p> Powrót do [[record|Nagrywanie Dźwięku]] <br></p>"
 
 #: HelpText.cpp:267
 msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Poziom wysterowania powinien być odpowiednio ustawiony. Jeśli jest zbyt niski, pojawi się hałas w tle. Jeśli jest zbyt wysoki, pojawią się zniekształcenia w wysokich partiach. </p><p>Aby ustawić poziom, zajrzyj na [[wiki:Recording_levels|ilustrowany przewodnik online]] lub postępuj według podanych kroków: <ol><li>Włącz <b>monitorowanie</b>. Kliknij dwukrotnie na prawej stronie dwóch <i>Mierników VU</i> (lub kliknij prawych przyciskiem) i kliknij \"Zacznij Monitorować\". Jeśli nie widzisz mierników, kliknij <i>Widok &gt; Okno Narzędzi</i> i sprawdź \"Okno Narzędzi Miernika\". </li><li>Ustaw poziom wysterowania w <i>Oknie Narzędzi Miksera</i> (obok symbolu mikrofonu), aby czerowone paski w mierniku pojawiły się blisko <b>ale nie dotykały</b> prawej krawędzi skali. Jeśli nie słyszysz monitorowanego dźwięku, zajrzyj do <i>zakładki We/Wy Dźwięku w Ustawieniach</i> i zaznacz \"Odtwarzanie podczas Nagrywania\". </li></ol></p><p> Powrót do [[record|Nagrywanie Dźwięku]] <br></p>"
 
 #: HelpText.cpp:292
 #, fuzzy
@@ -1392,23 +1329,23 @@ msgstr "Edytowanie: Audacity jest potężnym edytorem, więc zapewne chciałbyś
 
 #: HelpText.cpp:311
 msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr ""
+msgstr "<p>Aby powrócić później do nieskończonego projektu w Audacity z wszystkimi ścieżkami i edycją, jakich dokonałeś, zapisz projekt Audacity. Aby odtworzyć aktualny projekt w innym programie lub aby go wysłać do innych, [[export|wyeksportuj]] plik dźwiękowy taki jak WAV lub MP3. </p><p> <i>Plik &gt; Zapisz Projekt</i> zapisuje plik projektu <b>.aup</b> oraz folder<b>_data</b> zawierający dźwięk. Aby otworzyć ponownie zapisany projekt, kliknij <i>Plik &gt; Otwórz</i> i otwórz plik .aup. Jeśli zapiszesz i zamkniesz wielokrotnie, plik zabezpieczający .aup.bak jest tworzony, lecz plik .aup powinien zawsze być otwarty, jeśli to możliwe. Jeśli twój plik finalny jest taki jaki powinien być, usuń pliki projektu oraz folder _data aby zwiększyć ilość miejsca na dysku. </p><p><i>Plik &gt; Zapisz Projekt jako...</i> służy do zapisywania pustego projektu. Pozwala ci również na zapisanie istniejącego projektu z <b> nową</b> nazwą. Jest to jedyny bezpieczny sposób na zmianę nazwy projektu. Plik .aup oraz folder _data nie powinny być przemieszczane ręcznie. </p><p>"
 
 #: HelpText.cpp:335
 msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr ""
+msgstr "Aby usłyszeć twój projekt w innym programie, wyeksportuj go do pliku WAV lub MP3 (niektóre formaty są [[wma-zabezpieczone|niewspierane]]). [[zapisz|Zapisywanie projektu Audacity]] tworzy plik projektu (i folder _data) zawierający wszystkie twoje ścieżki, abyś mógł powrócić do swojego projektu później. Jednakże, inne programy nie odczytują projektów Audacity. </p><p> Aby wyeksportować, kliknij <i>Plik &gt; Eksport</i> i wybierz format pliku w jakim chcesz wyeksportować w liście \"Zapisz jako rodzaj\". Aby [[wypalcd|wypalić na płycie CD]] dla odtwarzaczy płyt CD, wybierz WAV lub AIFF. Aby wyeksportować jako MP3,  [[wiki:Instalowanie Lame|Enkoder Lame]] musi być zainstalowany. </p><p> <i>Plik &gt; Eksport Zaznaczenia</i> eksportuje tylko zaznaczoną część dźwięku. <i>Użyj Plik &gt; Eksportuj Wiele</i> aby wyeksportować wiele plików w tym samym czasie, albo jeden dla każdej ścieżki, albo jeden dla każdego obszaru ścieżki. <i>Ścieżki &gt; Dodaj Etykietę do Zaznaczenia</i> pozwala na [[wiki:Dzielenie_nagrań_w_osobne_ścieżki|rozdzielanie ścieżek]] z albumu do wielu osobnych plików. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr ""
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p>Audacity <b>nie</b> [[odtwarza|odtwarza]] ani [[eksportuje|eksportuje]] plików w formatach <b>WMA, RealAudio, Shorten (SHN)</b> z powodów licencji i patentów. Na komputerach Mac, niechronione formaty <b>AAC</b> takie jak na przykład <b>M4A</b> mogą być importowane. Niektóre otwarte formaty nie są jeszcze wspierane, wliczając w to <b>Ogg Speex</b> i <b>Musepack</b>. Pliki chronione przez jakiekolwiek Prawa Autorskie (DRM), wliczając w to te zakupione poprzez internet na iTunes lub Napster, <b>nie mogą</b> być importowane.</p><p> Jeśli nie możesz zimportować twojego pliku do Audacity, wtedy jeśli nie jest chroniony przez DRM, użyj iTunes lub <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> do przekonwertowania go do WAV lub AIFF. Jeśli jest chroniony, wypal go na płytę CD w programie licencjonowanym do odtwarzania go, a następnie wypakuj ścieżkę CD do WAV lub AIFF używając iTunes lub (na Windows'ie) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> lub Windows Media Player 11. Możesz również <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">zgrać</a> CD na komputer. <i>Aby wyeksportować do niewspieranego formatu, wyeksportuj do WAV lub AIFF i przekonwertuj do pożądanego formatu w iTunes lub <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr ""
+msgstr "<p>Aby wypalić twój projekt na płytę audio do odtwarzania na odtwarzaczach płyt, najpierw [[wyeksportuj|wyeksportuj]] go jako WAV lub AIFF. Wyeksportowany plik powinien być w stereo, 44100 Hz (ustawione w \"Project Rate\"przycisk u dołu po lewej) i 16 bit'ów (ustawione w \"Opcje\" przycisk w oknie eksportu pliku). To są oryginalne ustawienia Audacity, więc zazwyczaj nie będziesz musiał nic zmieniać przed eksportowaniem. <p>Wypal wyeksportowany plik jako  \"płytę audio\" - nie  \"płytę z danymi\" lub \"MP3 CD\" - w programie takim jak iTunes lub Windows Media Player. Aby uzyskać więcej informacji, zajrzyj na [[wiki:Jak_wypalać_płyty_CD|Jak wypalać płyty CD]]. </p><p>"
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>Pomoc dla Audacity Beta jest jeszcze nieukończona. W tej chwili, można pobierać wstępną wersję podręcznika <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">na internecie</a>. Ewentualnie, kliknij <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">tutaj</a> aby pobrać jednostronną wersję podręczika, która może być wyświetlona w tym oknie."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1434,14 +1371,8 @@ msgstr "Poziomy do zredukowania"
 msgid "&Discard"
 msgstr "&Zredukuj"
 
-#: HistoryWindow.cpp:112
-#: Tags.cpp:2081
-#: Tags.cpp:2083
-#: Tags.cpp:2385
-#: Tags.cpp:2387
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: export/ExportCL.cpp:399
+#: HistoryWindow.cpp:112 effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191 export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&OK"
 
@@ -1449,8 +1380,7 @@ msgstr "&OK"
 msgid "Unable to determine"
 msgstr "Niezdolny do określenia"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:385
+#: Internat.cpp:195 import/ImportRaw.cpp:388
 msgid "bytes"
 msgstr "bajtów"
 
@@ -1466,28 +1396,31 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Ścieżka"
 
-#: LabelDialog.cpp:55
-#: Menus.cpp:4677
-#: Menus.cpp:4712
+#: LabelDialog.cpp:55 Menus.cpp:4733 Menus.cpp:4768
 msgid "Label"
 msgstr "Etykieta"
 
-#: LabelDialog.cpp:56
-#: TimerRecordDialog.cpp:279
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:340
 msgid "Start Time"
 msgstr "Czas startu"
 
-#: LabelDialog.cpp:57
-#: TimerRecordDialog.cpp:298
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:359
 msgid "End Time"
 msgstr "Czas zakończenia"
 
-#: LabelDialog.cpp:100
-#: Menus.cpp:713
+#: LabelDialog.cpp:100 Menus.cpp:711
 msgid "&Edit Labels"
 msgstr "&Edytuj etykiety"
 
@@ -1525,20 +1458,15 @@ msgstr "Zostawiłeś puste etykiety. Zostaną one\n"
 msgid "Confirm"
 msgstr "Potwierdź"
 
-#: LabelDialog.cpp:516
-#: Menus.cpp:4101
+#: LabelDialog.cpp:516 Menus.cpp:4152
 msgid "Select a text file containing labels..."
 msgstr "Zaznacz plik tekstowy zawierajÄ…cy etykiety..."
 
-#: LabelDialog.cpp:520
-#: Menus.cpp:4105
+#: LabelDialog.cpp:520 Menus.cpp:4156
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Pliki tekstowe (*.txt)|*.txt|Wszystkie pliki (*.*)|*.*"
 
-#: LabelDialog.cpp:534
-#: Menus.cpp:4117
-#: Project.cpp:1914
-#: Project.cpp:1922
+#: LabelDialog.cpp:534 Menus.cpp:4168 Project.cpp:2018 Project.cpp:2026
 msgid "Could not open file: "
 msgstr "Nie można otworzyć pliku:"
 
@@ -1546,13 +1474,11 @@ msgstr "Nie można otworzyć pliku:"
 msgid "No labels to export."
 msgstr "Brak etykiet do eksportu."
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2518
+#: LabelDialog.cpp:566 Menus.cpp:2526
 msgid "Export Labels As:"
 msgstr "Eksportuj etykiety jako:"
 
-#: LabelDialog.cpp:568
-#: Menus.cpp:2516
+#: LabelDialog.cpp:568 Menus.cpp:2524
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1564,10 +1490,7 @@ msgstr "Nowa Etykieta Ścieżki"
 msgid "Enter track name"
 msgstr "Wprowadź nazwę ścieżki"
 
-#: LabelDialog.cpp:705
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:632
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:634
 msgid "&Label Track"
 msgstr "&Etykieta ścieżki"
 
@@ -1590,1460 +1513,1362 @@ msgstr "Przekonwertowano projekt w formacie 1.0 do nowego formatu.\n"
 msgid "Opening Audacity Project"
 msgstr "Otwieranie projektu Audacity"
 
-#: Menus.cpp:194
+#: Menus.cpp:195
 msgid "&File"
 msgstr "&Plik"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&Nowy\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "&Otwórz...\tCtrl+O"
-
-#: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&Zamknij\tCtrl+W"
+#: Menus.cpp:204
+msgid "&Close"
+msgstr "&Zamknij"
 
-#: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&Zapisz projekt\tCtrl+S"
+#: Menus.cpp:207
+msgid "&Save Project"
+msgstr "&Zapisz projekt"
 
-#: Menus.cpp:210
-#: Project.cpp:2896
+#: Menus.cpp:211 Project.cpp:3071
 msgid "Save Project &As..."
 msgstr "Zapisz projekt &jako..."
 
-#: Menus.cpp:212
+#: Menus.cpp:213
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Zapisz SkompresowanÄ… KopiÄ™ Projektu..."
 
-#: Menus.cpp:216
+#: Menus.cpp:217
 msgid "Chec&k Dependencies..."
 msgstr "Sprawd&ź Zależności..."
 
-#: Menus.cpp:222
+#: Menus.cpp:223
 msgid "Open Me&tadata Editor..."
 msgstr "Otwórz Edytor Me&tadanych..."
 
-#: Menus.cpp:229
-#: import/ImportRaw.cpp:411
+#: Menus.cpp:230 import/ImportRaw.cpp:414
 msgid "&Import"
 msgstr "&Importuj"
 
-#: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Audio...\tCtrl+Shift+I"
-
 #: Menus.cpp:232
+msgid "&Audio..."
+msgstr "&Audio..."
+
+#: Menus.cpp:233
 msgid "&Labels..."
 msgstr "&Etykiety..."
 
-#: Menus.cpp:234
+#: Menus.cpp:235
 msgid "&MIDI..."
 msgstr "&MIDI..."
 
-#: Menus.cpp:236
+#: Menus.cpp:237
 msgid "&Raw Data..."
 msgstr "&Surowe dane..."
 
-#: Menus.cpp:247
-#: Menus.cpp:282
+#: Menus.cpp:248 Menus.cpp:283
 msgid "Expo&rt Selection..."
 msgstr "Ekspo&rtuj zaznaczenie..."
 
-#: Menus.cpp:254
+#: Menus.cpp:255
 msgid "Export &Labels..."
 msgstr "Eksportuj &Etykiety..."
 
-#: Menus.cpp:255
+#: Menus.cpp:256
 msgid "Export &Multiple..."
 msgstr "Eksportuj &Wiele plików..."
 
-#: Menus.cpp:257
+#: Menus.cpp:258
 #, fuzzy
 msgid "Export MIDI..."
 msgstr "&Eksportuj..."
 
-#: Menus.cpp:290
-#, fuzzy
-msgid "CleanSpeech C&hain..."
-msgstr "Czysta mowa"
+#: Menus.cpp:304
+msgid "Appl&y Chain..."
+msgstr "Zasto&suj Tor..."
 
-#: Menus.cpp:291
-#: Menus.cpp:305
+#: Menus.cpp:292 Menus.cpp:306
 msgid "Edit C&hains..."
 msgstr "Edytuj T&ory..."
 
-#: Menus.cpp:292
+#: Menus.cpp:293
 #, fuzzy
 msgid "Export CleanSpeech &Presets..."
 msgstr "Ustawienia CzystejMowy (*.csp)|*.csp"
 
-#: Menus.cpp:293
+#: Menus.cpp:294
 #, fuzzy
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Ustawienia CzystejMowy (*.csp)|*.csp"
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr "Zasto&suj Tor..."
-
-#: Menus.cpp:310
+#: Menus.cpp:311
 msgid "&Upload File..."
 msgstr "&Załaduj plik..."
 
-#: Menus.cpp:316
+#: Menus.cpp:317
 msgid "Pa&ge Setup..."
 msgstr "Us&tawienia strony..."
 
-#: Menus.cpp:317
+#: Menus.cpp:318
 msgid "&Print..."
 msgstr "&Drukuj..."
 
-#: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "W&yjście\tCtrl+Q"
+#: Menus.cpp:331
+msgid "E&xit"
+msgstr "W&yjście"
 
-#: Menus.cpp:338
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:339 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Edytuj"
 
-#: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "&Cofnij\tCtrl+Z"
+#: Menus.cpp:343
+msgid "&Undo"
+msgstr "&Cofnij"
 
-#: Menus.cpp:350
-#: prefs/KeyConfigPrefs.cpp:371
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:351 prefs/KeyConfigPrefs.cpp:384 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Przywróć"
 
-#: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "Wy&tnij\tCtrl+X"
-
-#: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Rozdz&iel Wytnij\tCtrl+Alt+X"
+#: Menus.cpp:364
+msgid "Cu&t"
+msgstr "Wy&tnij"
 
 #: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopiuj\tCtrl+C"
+msgid "Spl&it Cut"
+msgstr "Rozdz&iel Wytnij"
 
-#: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "&Wstaw\tCtrl+V"
+#: Menus.cpp:369
+msgid "&Copy"
+msgstr "&Kopiuj"
 
-#: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "Przy&tnij\tCtrl+T"
+#: Menus.cpp:373
+msgid "&Paste"
+msgstr "&Wstaw"
 
-#: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&Kasuj\tCtrl+K"
+#: Menus.cpp:377
+msgid "Tri&m"
+msgstr "Przy&tnij"
 
 #: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Rozdziel U&suń\tCtrl+Alt+K"
+msgid "&Delete"
+msgstr "&Kasuj"
 
 #: Menus.cpp:380
-#, fuzzy
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "&Cisza\tCtrl+L"
+msgid "Split D&elete"
+msgstr "Rozdziel U&suń"
 
-#: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "Rozdz&iel\tCtrl+I"
+#: Menus.cpp:381
+#, fuzzy
+msgid "Silence Audi&o"
+msgstr "&Cisza"
 
-#: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Rozdziel No&wy\tCtrl+Alt+I"
+#: Menus.cpp:383
+msgid "Sp&lit"
+msgstr "Rozdz&iel"
 
-#: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "&Połącz\tCtrl+J"
+#: Menus.cpp:388
+msgid "Split Ne&w"
+msgstr "Rozdziel No&wy"
 
 #: Menus.cpp:393
-#, fuzzy
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "&Cisza\tCtrl+L"
+msgid "&Join"
+msgstr "&Połącz"
 
 #: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Dupli&kuj\tCtrl+D"
+#, fuzzy
+msgid "Detac&h at Silences"
+msgstr "&Cisza"
+
+#: Menus.cpp:395
+msgid "Duplic&ate"
+msgstr "Dupli&kuj"
 
-#: Menus.cpp:400
-#: Menus.cpp:639
+#: Menus.cpp:401 Menus.cpp:641
 #, fuzzy
 msgid "Stereo Trac&k to Mono"
 msgstr "& Stereo do Mono"
 
-#: Menus.cpp:407
+#: Menus.cpp:408
 #, fuzzy
 msgid "La&beled Regions"
 msgstr "Zaznaczone Re&giony..."
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "&Wytnij\tAlt+X"
+#: Menus.cpp:410
+msgid "&Cut"
+msgstr "&Wytnij"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Rozdziel Wytnij\tShift+Alt+X"
+#: Menus.cpp:415
+msgid "&Split Cut"
+msgstr "&Rozdziel Wytnij"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "Kop&iuj\tShift+Alt+C"
+#: Menus.cpp:420
+msgid "Co&py"
+msgstr "Kop&iuj"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&Usuń\tAlt+K"
+#: Menus.cpp:431
+msgid "Sp&lit Delete"
+msgstr "Rozdz&iel Usuń"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Rozdz&iel Usuń\tShift+Alt+K"
+#: Menus.cpp:436
+msgid "Sile&nce"
+msgstr "Cisz&a"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "Cisz&a\tAlt+L"
+#: Menus.cpp:442
+msgid "Spli&t"
+msgstr "Rozdz&iel"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "Rozdz&iel\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "&Połącz\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-#, fuzzy
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Roz&dziel\tShift+Alt+J"
-
-#: Menus.cpp:456
+#: Menus.cpp:457
 #, fuzzy
 msgid "&Select"
 msgstr "Zaznacz "
 
-#: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "&Wszystko\tCtrl+A"
-
 #: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Żaden\tCtrl+Shift+A"
+msgid "&All"
+msgstr "&Wszystko"
 
-#: Menus.cpp:462
-#, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "Na lewo od miejsca odtwarzania\t["
+#: Menus.cpp:459
+msgid "&None"
+msgstr "&Żaden"
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "Na prawo od miejsca odtwarzania\t["
+msgid "&Left at Playback Position"
+msgstr "Na lewo od miejsca odtwarzania"
 
-#: Menus.cpp:467
+#: Menus.cpp:464
 #, fuzzy
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Od poczÄ…tku do kursora"
+msgid "&Right at Playback Position"
+msgstr "Na prawo od miejsca odtwarzania"
 
 #: Menus.cpp:468
 #, fuzzy
-msgid "Cursor to Track &End\tShift+K"
+msgid "Track &Start to Cursor"
+msgstr "Od poczÄ…tku do kursora"
+
+#: Menus.cpp:469
+#, fuzzy
+msgid "Cursor to Track &End"
 msgstr "Kursor do końca"
 
-#: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "Znajdź &Przejście przez zero\tZ"
+#: Menus.cpp:475
+msgid "Find &Zero Crossings"
+msgstr "Znajdź &Przejście przez zero"
 
-#: Menus.cpp:476
+#: Menus.cpp:478
 #, fuzzy
 msgid "Mo&ve Cursor"
 msgstr "Prze&suń kursor..."
 
-#: Menus.cpp:478
+#: Menus.cpp:480
 #, fuzzy
 msgid "to Selection Star&t"
 msgstr "do poczÄ…tku zaznaczenia"
 
-#: Menus.cpp:479
+#: Menus.cpp:481
 #, fuzzy
 msgid "to Selection En&d"
 msgstr "do końca zaznaczenia"
 
-#: Menus.cpp:483
+#: Menus.cpp:485
 #, fuzzy
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr "do początku ścieżki"
 
-#: Menus.cpp:484
+#: Menus.cpp:486
 #, fuzzy
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr "do końca ścieżki"
 
-#: Menus.cpp:491
+#: Menus.cpp:493
 #, fuzzy
 msgid "Re&gion Save"
 msgstr "Zapisz zaznaczenie"
 
-#: Menus.cpp:492
+#: Menus.cpp:494
 #, fuzzy
 msgid "Regio&n Restore"
 msgstr "Odzyskaj zaznaczenie"
 
-#: Menus.cpp:503
+#: Menus.cpp:505
 #, fuzzy
 msgid "Pla&y Region"
 msgstr "Odtwarzaj &Region..."
 
-#: Menus.cpp:504
+#: Menus.cpp:506
 #, fuzzy
 msgid "&Lock"
 msgstr "Zablokuj"
 
-#: Menus.cpp:505
+#: Menus.cpp:507
 #, fuzzy
 msgid "&Unlock"
 msgstr "Odblokuj"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "Aktywuj przyciÄ…ganie"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "Zablokuj przyciÄ…ganie"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "WÅ‚Ä…cz przyciÄ…ganie do siatki"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "Wyłącz przyciąganie do siatki"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-#, fuzzy
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "&Ustawienia...\tCtrl+,"
-
-#: Menus.cpp:523
+#: Menus.cpp:521
 #, fuzzy
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "&Ustawienia...\tCtrl+P"
+msgid "Pre&ferences..."
+msgstr "&Ustawienia..."
 
-#: Menus.cpp:533
+#: Menus.cpp:535
 msgid "&View"
 msgstr "&Widok"
 
-#: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "Po&większ\tCtrl+!"
+#: Menus.cpp:537
+msgid "Zoom &In"
+msgstr "Po&większ"
 
-#: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normalny rozmiar\tCtrl+2"
+#: Menus.cpp:540
+msgid "Zoom &Normal"
+msgstr "&Normalny rozmiar"
 
-#: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "P&omniejsz\tCtrl+3"
+#: Menus.cpp:541
+msgid "Zoom &Out"
+msgstr "P&omniejsz"
 
-#: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Dopasuj do okna\tCtrl+F"
+#: Menus.cpp:544
+msgid "&Fit in Window"
+msgstr "&Dopasuj do okna"
 
-#: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Dopasuj w &pionie\tCtrl+Shift+F"
+#: Menus.cpp:545
+msgid "Fit &Vertically"
+msgstr "Dopasuj w &pionie"
 
-#: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Powiększ zaznaczenie\tCtrl+E"
+#: Menus.cpp:546
+msgid "&Zoom to Selection"
+msgstr "&Powiększ zaznaczenie"
 
-#: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Zwiń wszystkie ścieżki\tCtrl+Shift+C"
+#: Menus.cpp:549
+msgid "&Collapse All Tracks"
+msgstr "&Zwiń wszystkie ścieżki"
 
-#: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "R&ozwiń wszystkie ścieżki\tCtrl+Shift+X"
+#: Menus.cpp:550
+msgid "E&xpand All Tracks"
+msgstr "R&ozwiń wszystkie ścieżki"
 
-#: Menus.cpp:551
+#: Menus.cpp:553
 #, fuzzy
 msgid "&Show Clipping"
 msgstr "Pokaż obcięcie"
 
-#: Menus.cpp:560
+#: Menus.cpp:562
 msgid "&History..."
 msgstr "&Historia"
 
-#: Menus.cpp:566
+#: Menus.cpp:568
 #, fuzzy
 msgid "&Toolbars"
 msgstr "&Paski narzędzi..."
 
-#: Menus.cpp:567
+#: Menus.cpp:569
 #, fuzzy
 msgid "&Control Toolbar"
 msgstr "Pasek narzędzi kontrolnych"
 
-#: Menus.cpp:568
+#: Menus.cpp:570
 #, fuzzy
 msgid "&Device Toolbar"
 msgstr "Pasek narzędzi urządzeń"
 
-#: Menus.cpp:569
+#: Menus.cpp:571
 #, fuzzy
 msgid "&Edit Toolbar"
 msgstr "Pasek narzędzi edycji"
 
-#: Menus.cpp:570
+#: Menus.cpp:572
 #, fuzzy
 msgid "&Meter Toolbar"
 msgstr "Pasek narzędzi pomiaru"
 
-#: Menus.cpp:571
+#: Menus.cpp:573
 #, fuzzy
 msgid "Mi&xer Toolbar"
 msgstr "Pasek narzędzi miksera"
 
-#: Menus.cpp:572
+#: Menus.cpp:574
 #, fuzzy
 msgid "&Selection Toolbar"
 msgstr "Pasek narzędzi selekcji"
 
-#: Menus.cpp:573
+#: Menus.cpp:575
 #, fuzzy
 msgid "T&ools Toolbar"
 msgstr "Pasek narzędzi"
 
-#: Menus.cpp:574
+#: Menus.cpp:576
 #, fuzzy
 msgid "Transcri&ption Toolbar"
 msgstr "Pasek narzędzi transkrypcji"
 
-#: Menus.cpp:576
+#: Menus.cpp:578
 #, fuzzy
 msgid "&Reset Toolbars"
 msgstr "Zresetuj Paski Narzędzi"
 
-#: Menus.cpp:578
+#: Menus.cpp:580
 msgid "!Simplified View"
-msgstr ""
+msgstr "!Uproszczony Widok"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:589
 #, fuzzy
 msgid "T&ransport"
 msgstr "Transkrypcja"
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+msgid "Play"
+msgstr "Odtwarzaj"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgid "&Loop Play"
+msgstr "&Pętla Odtwarzaj"
 
-#: Menus.cpp:593
+#: Menus.cpp:595
 #, fuzzy
-msgid "&Pause\tP"
-msgstr "Pauza\tP"
+msgid "&Pause"
+msgstr "Pauza"
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+msgid "&Stop"
+msgstr "&Zatrzymaj"
 
-#: Menus.cpp:595
-#: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "Skocz do poczÄ…tku\tHome"
+#: Menus.cpp:597 Menus.cpp:1008
+msgid "Skip to Start"
+msgstr "Skocz do poczÄ…tku"
 
-#: Menus.cpp:597
-#: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "Skocz do końca\tEnd"
+#: Menus.cpp:599 Menus.cpp:1009
+msgid "Skip to End"
+msgstr "Skocz do końca"
 
-#: Menus.cpp:600
+#: Menus.cpp:602
 #, fuzzy
-msgid "&Record\tR"
-msgstr "Nagrywanie\tR"
+msgid "&Record"
+msgstr "Nagrywanie"
 
-#: Menus.cpp:602
+#: Menus.cpp:604
 #, fuzzy
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr "&Nagrywanie czasowe..."
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr ""
+#: Menus.cpp:606
+msgid "Append Record"
+msgstr "Dodaj Nagranie"
 
-#: Menus.cpp:607
+#: Menus.cpp:609
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Ponad Poziomem (wł/wył)"
 
-#: Menus.cpp:609
+#: Menus.cpp:611
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Odtwarzanie podczas Nagrywania(wł/wył)"
 
-#: Menus.cpp:612
+#: Menus.cpp:614
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Nagrywanie Dźwięku Aktywne (wł/wył)"
 
-#: Menus.cpp:614
+#: Menus.cpp:616
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Poziom Dźwięku Aktywnego..."
 
-#: Menus.cpp:622
+#: Menus.cpp:624
 msgid "&Tracks"
 msgstr "&Ścieżki"
 
-#: Menus.cpp:629
+#: Menus.cpp:631
 #, fuzzy
 msgid "Add &New"
 msgstr "Dodaj &NowÄ…..."
 
-#: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Ścieżka dźwiękowa\tCtrl+Shift+N"
+#: Menus.cpp:632
+msgid "&Audio Track"
+msgstr "&Ścieżka dźwiękowa"
 
-#: Menus.cpp:631
+#: Menus.cpp:633
 msgid "&Stereo Track"
 msgstr "&Ścieżka stereo"
 
-#: Menus.cpp:633
-#: TimeTrack.cpp:44
+#: Menus.cpp:635 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "&Ścieżka czasowa"
 
-#: Menus.cpp:643
+#: Menus.cpp:645
 #, fuzzy
 msgid "Mi&x and Render"
 msgstr "&Miksuj i renderuj"
 
-#: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Miksuj i przetwarzaj do Nowej Ścieżki\tCtrl+Shift+M"
+#: Menus.cpp:649
+msgid "Mix and Render to New Track"
+msgstr "Miksuj i przetwarzaj do Nowej Ścieżki"
 
-#: Menus.cpp:651
+#: Menus.cpp:653
 msgid "&Resample..."
 msgstr "&Resampluj"
 
-#: Menus.cpp:661
+#: Menus.cpp:663
 msgid "Remo&ve Tracks"
 msgstr "&Usuń Ścieżki"
 
-#: Menus.cpp:667
+#: Menus.cpp:669
 #, fuzzy
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Zwiń wszystkie ścieżki\tCtrl+Shift+C"
+msgid "&Mute All Tracks"
+msgstr "&Zwiń wszystkie ścieżki"
 
-#: Menus.cpp:668
+#: Menus.cpp:670
 #, fuzzy
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "R&ozwiń wszystkie ścieżki\tCtrl+Shift+X"
+msgid "&UnMute All Tracks"
+msgstr "R&ozwiń wszystkie ścieżki"
 
-#: Menus.cpp:672
+#: Menus.cpp:674
 msgid "Align with &Zero"
 msgstr "Wyrównaj do &zera"
 
-#: Menus.cpp:673
+#: Menus.cpp:675
 msgid "Align with &Cursor"
 msgstr "Wyrównaj do &Kursora"
 
-#: Menus.cpp:674
+#: Menus.cpp:676
 msgid "Align with Selection &Start"
 msgstr "Wyrównaj z początkiem &zaznaczenia"
 
-#: Menus.cpp:675
+#: Menus.cpp:677
 msgid "Align with Selection &End"
 msgstr "Wyrównaj z końcem zaznacz&enia"
 
-#: Menus.cpp:676
+#: Menus.cpp:678
 #, fuzzy
 msgid "Align End with Cu&rsor"
 msgstr "Wyrównaj koniec do kursora"
 
-#: Menus.cpp:677
+#: Menus.cpp:679
 #, fuzzy
 msgid "Align End with Selection Star&t"
 msgstr "Wyrównaj koniec z początkiem zaznaczenia"
 
-#: Menus.cpp:678
+#: Menus.cpp:680
 #, fuzzy
 msgid "Align End with Selection En&d"
 msgstr "Wyrównaj koniec do końca zaznaczenia"
 
-#: Menus.cpp:679
+#: Menus.cpp:681
 #, fuzzy
 msgid "Align Tracks To&gether"
 msgstr "Wyrównaj ścieżki "
 
-#: Menus.cpp:681
+#: Menus.cpp:683
 #, fuzzy
 msgid "&Align Tracks"
 msgstr "&Wyrównaj ścieżki..."
 
-#: Menus.cpp:690
+#: Menus.cpp:692
 #, fuzzy
 msgid "Ali&gn and Move Cursor"
 msgstr "Wyró&wnaj i rusz kursor"
 
-#: Menus.cpp:697
+#: Menus.cpp:699
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "Zsynchronizuj MIDI z Dźwiękiem"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Dodaj &EtykietÄ™ do zaznaczenia\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
-#: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Dodaj etykietÄ™ w pozycji &Odtwarzania\tCtrl+M"
+#: Menus.cpp:708
+msgid "Add Label At &Playback Position"
+msgstr "Dodaj etykietÄ™ w pozycji &Odtwarzania"
 
-#: Menus.cpp:716
+#: Menus.cpp:714
 #, fuzzy
 msgid "S&ort tracks"
 msgstr "Sort&uj ścieżki..."
 
-#: Menus.cpp:717
+#: Menus.cpp:715
 #, fuzzy
 msgid "by &Start time"
 msgstr "&Czas startu"
 
-#: Menus.cpp:719
+#: Menus.cpp:717
 #, fuzzy
 msgid "by &Name"
 msgstr "&Nazwa"
 
-#: Menus.cpp:730
+#: Menus.cpp:728
 msgid "&Generate"
 msgstr "&Generowanie Tonu"
 
-#: Menus.cpp:776
-#: Menus.cpp:860
-#: Menus.cpp:922
+#: Menus.cpp:774 Menus.cpp:858 Menus.cpp:920
 msgid "Unsorted"
-msgstr ""
+msgstr "Nieposortowane"
 
-#: Menus.cpp:795
+#: Menus.cpp:793
 msgid "Effe&ct"
 msgstr "Efe&kty"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Powtórz ostatni efekt\tCtrl+R"
-
-#: Menus.cpp:877
+#: Menus.cpp:875
 msgid "&Analyze"
 msgstr "&Analiza"
 
-#: Menus.cpp:879
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
+#: Menus.cpp:877
 msgid "Plot Spectrum..."
 msgstr "Wykres spektrum..."
 
-#: Menus.cpp:947
-#: Menus.cpp:950
+#: Menus.cpp:945 Menus.cpp:948
 msgid "&Help"
 msgstr "&Pomoc"
 
-#: Menus.cpp:953
+#: Menus.cpp:951
 msgid "&About Audacity CleanSpeech..."
 msgstr "&O czystości wymowy Audacity..."
 
-#: Menus.cpp:957
+#: Menus.cpp:955
 msgid "&Show Welcome Message..."
 msgstr "&Pokaż wiadomość powitalną..."
 
 #: Menus.cpp:958
-msgid "&Index..."
-msgstr "&Index..."
+msgid "&Help..."
+msgstr ""
 
-#: Menus.cpp:959
+#: Menus.cpp:957
 #, fuzzy
 msgid "Show &Log..."
 msgstr "&Ładuj..."
 
-#: Menus.cpp:967
+#: Menus.cpp:965
 msgid "&Screenshot Tools..."
 msgstr "&Narzędzia do zrzutu ekranu..."
 
-#: Menus.cpp:970
+#: Menus.cpp:968
 msgid "&Run Benchmark..."
 msgstr "U&ruchom Benchmark"
 
-#: Menus.cpp:972
+#: Menus.cpp:970
 msgid "&Audio Device Info..."
 msgstr "&Informacja o Urządzeniu Dźwiękowym..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
+#: Menus.cpp:983
+msgid "Selection Tool"
+msgstr "Zaznaczanie"
+
+#: Menus.cpp:984
+msgid "Envelope Tool"
+msgstr "Narzędzie obwiedni"
+
 #: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "Zaznaczanie\tF1"
+msgid "Draw Tool"
+msgstr "Narzędzie rysowania"
 
 #: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "Narzędzie obwiedni\tF2"
+msgid "Zoom Tool"
+msgstr "Lupa"
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "Narzędzie rysowania\tF3"
+msgid "Time Shift Tool"
+msgstr "Narzędzie do przesuwania w czasie"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "Lupa\tF4"
-
-#: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "Narzędzie do przesuwania w czasie\tF5"
+msgid "Multi Tool"
+msgstr "Multi narzędzie"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "Multi narzędzie\tF6"
+msgid "Next Tool"
+msgstr "Następne narzędzie"
 
-#: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "Następne narzędzie\tD"
+#: Menus.cpp:991
+msgid "Previous Tool"
+msgstr "Poprzednie narzędzie"
 
 #: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "Poprzednie narzędzie\tA"
-
-#: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "Pauza\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "Nagrywanie\tR"
+msgid "Play/Stop"
+msgstr "Odtwarzaj/Zatrzymaj"
 
 #: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr ""
-
-#: Menus.cpp:1001
 #, fuzzy
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Odtwarzaj/Zatrzymaj i Zaznacz\tShift+Return"
+msgid "Play/Stop and Set Cursor"
+msgstr "Odtwarzaj/Zatrzymaj i Zaznacz"
 
-#: Menus.cpp:1004
-msgid "Play One Second\t1"
+#: Menus.cpp:1002
+msgid "Play One Second"
 msgstr "Odtwarzaj 1 sekundÄ™"
 
-#: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "Odtwarzaj do zaznaczenia\tB"
+#: Menus.cpp:1003
+msgid "Play To Selection"
+msgstr "Odtwarzaj do zaznaczenia"
 
 #: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "Odtwarzaj zapętlone\tL"
+msgid "Play Cut Preview"
+msgstr "Odtwarzaj Wytnij PodglÄ…d"
 
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
-
-#: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "Odtwarzaj Wytnij PodglÄ…d\tC"
+#: Menus.cpp:1011
+msgid "Selection to Start"
+msgstr "Zaznaczenie do PoczÄ…tku"
 
-#: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "Zaznaczenie do PoczÄ…tku\tShift+Home"
+#: Menus.cpp:1012
+msgid "Selection to End"
+msgstr "Zaznaczenie do końca"
 
 #: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "Zaznaczenie do końca\tShift+End"
+msgid "DeleteKey"
+msgstr "Klawisz kasowania­"
 
-#: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "Klawisz kasowania­\tBackspace"
+#: Menus.cpp:1019
+msgid "DeleteKey2"
+msgstr "Klawisz kasowania 2"
 
-#: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "Klawisz kasowania 2\tDelete"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
-msgstr "Krótkie przeszukiwanie w lewo podczas odtwarzania\tLewa strzałka"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
-msgstr "Krótkie przeszukiwanie w prawo podczas odtwarzania\tPrawa strzałka"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Długie przeszukiwanie w lewo podczas odtwarzania\tShift+Lewa strzałka"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
+
+#: Menus.cpp:1032
+msgid "Move Focus to Previous Track"
+msgstr "Przesuń do poprzedniej ścieżki"
 
-#: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Długie przeszukiwanie w prawo podczas odtwarzania\tShift+Prawa strzałka"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Przesuń do poprzedniej ścieżki\tStrzałka w górę"
+msgid "Move Focus to Next Track"
+msgstr "Przesuń do następnej ścieżki"
 
-#: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Przesuń do poprzedniej i zmień zaznaczenie\tShift+Strzałka do góry"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "Przesuń do następnej ścieżki\tStrzałka w dół"
-
-#: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Przesuń do następnej i zmień zaznaczenie\tShift+Strzałka w dół"
+msgid "Toggle Focused Track"
+msgstr "Przemieszczaj się pomiędzy ścieżkami"
 
-#: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "Przemieszczaj się pomiędzy ścieżkami\tReturn"
+#: Menus.cpp:1040
+msgid "Cursor Left"
+msgstr "Kursor Lewy"
 
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Przemieszczaj się pomiędzy ścieżkami\tNUMPAD_ENTER"
+#: Menus.cpp:1041
+msgid "Cursor Right"
+msgstr "Kursor Prawy"
 
 #: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "Kursor Lewy\tLewy"
+msgid "Cursor Short Jump Left"
+msgstr "Kursor lekko w lewo"
 
 #: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "Kursor Prawy\tPrawy"
+msgid "Cursor Short Jump Right"
+msgstr "Kursor lekko w prawo"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
-msgstr "Kursor lekko w lewo\t,"
+msgid "Cursor Long Jump Left"
+msgstr "Kursor mocno w lewo"
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
-msgstr "Kursor lekko w prawo\t."
-
-#: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Kursor mocno w lewo\tShift+,"
+msgid "Cursor Long Jump Right"
+msgstr "Kursor mocno w prawo"
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Kursor mocno w prawo\tShift+."
+msgid "Selection Extend Left"
+msgstr "Powiększ zaznaczenie w Lewo"
 
-#: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Powiększ zaznaczenie w Lewo\tShift+Lewo"
+#: Menus.cpp:1048
+msgid "Selection Extend Right"
+msgstr "Powiększ zaznaczenie w prawo"
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Powiększ zaznaczenie w prawo\tShift+Prawo"
-
-#: Menus.cpp:1052
 msgid "Set (or Extend) Left Selection"
 msgstr "Ustaw (lub Rozszerz) Lewe Zaznaczenie"
 
-#: Menus.cpp:1053
+#: Menus.cpp:1051
 msgid "Set (or Extend) Right Selection"
 msgstr "Ustaw (lub Rozszerz) Prawe Zaznaczenie"
 
-#: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Zmniejszenie zaznaczenia od lewej\tCtrl+Shift+Prawa strzałka"
+#: Menus.cpp:1053
+msgid "Selection Contract Left"
+msgstr "Zmniejszenie zaznaczenia od lewej"
+
+#: Menus.cpp:1054
+msgid "Selection Contract Right"
+msgstr "Zmniejszenie zaznaczenia z prawej strony"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Zmniejszenie zaznaczenia z prawej strony\tCtrl+Shift+Lewa strzałka"
+msgid "Change pan on focused track"
+msgstr "Zmień przesunięcie na zaznaczonej ścieżce"
+
+#: Menus.cpp:1057
+msgid "Pan left on focused track"
+msgstr "Przesuń w lewo na zaznaczonej ścieżce"
 
 #: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
-msgstr "Zmień przesunięcie na zaznaczonej ścieżce\tShift+P"
+msgid "Pan right on focused track"
+msgstr "Przesuń w prawo na zaznaczonej ścieżce"
 
 #: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Przesuń w lewo na zaznaczonej ścieżce\tAlt+Shift+Lewa strzałka"
+msgid "Change gain on focused track"
+msgstr "Zmień moc sygnału na zaznaczonej ścieżce"
 
 #: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Przesuń w prawo na zaznaczonej ścieżce\tAlt+Shift+Prawa strzałka"
+msgid "Increase gain on focused track"
+msgstr "Podnieś moc sygnału na zaznaczonej ścieżce"
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
-msgstr "Zmień moc sygnału na zaznaczonej ścieżce\tShift+G"
+msgid "Decrease gain on focused track"
+msgstr "Obniżyć moc sygnału na zaznaczonej ścieżce"
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Podnieś moc sygnału na zaznaczonej ścieżce\tAlt+Shift+Strzałka w górę"
+msgid "Open menu on focused track"
+msgstr "Otwórz menu na zaznaczonej ścieżce"
 
 #: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Obniżyć moc sygnału na zaznaczonej ścieżce\tAlt+Shift+Strzałka w dół"
+msgid "Mute/Unmute focused track"
+msgstr "Wycisz/Zgłośnij zaznaczoną ścieżkę"
 
 #: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "Otwórz menu na zaznaczonej ścieżce\tShift+M"
+msgid "Solo/Unsolo focused track"
+msgstr "Oddziel/Rozdziel zaznaczoną ścieżkę"
 
 #: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Wycisz/Zgłośnij zaznaczoną ścieżkę\tShift+U"
-
-#: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Oddziel/Rozdziel zaznaczoną ścieżkę\tShift+S"
+msgid "Close focused track"
+msgstr "Zamknij zaznaczoną ścieżkę"
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "Zamknij zaznaczoną ścieżkę\tShift+C"
-
-#: Menus.cpp:1069
 msgid "Snap To On"
 msgstr "WÅ‚Ä…cz"
 
-#: Menus.cpp:1070
+#: Menus.cpp:1068
 msgid "Snap To Off"
 msgstr "Wyłącz"
 
+#: Menus.cpp:1069
+msgid "Full screen on/off"
+msgstr "Pełny ekran wł/wył"
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:1157
+#: Menus.cpp:1151
 msgid "Open Recent"
 msgstr "Otwórz niedawne"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1160
+#: Menus.cpp:1154
 #, fuzzy
 msgid "Recent &Files"
 msgstr "Niedawne &Pliki..."
 
-#: Menus.cpp:1209
+#: Menus.cpp:1203
 #, c-format
 msgid "&Undo %s"
 msgstr "&Cofnij %s"
 
-#: Menus.cpp:1235
+#: Menus.cpp:1229
 msgid "Can't Undo"
 msgstr "Nie można cofnąć"
 
-#: Menus.cpp:1244
+#: Menus.cpp:1238
 #, c-format
 msgid "&Redo %s"
 msgstr "&Przywróć %s"
 
-#: Menus.cpp:1250
+#: Menus.cpp:1244
 msgid "Can't Redo"
 msgstr "Nie można przywrócić"
 
-#: Menus.cpp:1856
+#: Menus.cpp:1859
 msgid "Sort By Time"
 msgstr "Sortuj według czasu"
 
-#: Menus.cpp:1856
+#: Menus.cpp:1859
 msgid "Tracks sorted by time"
 msgstr "Ścieżki posortowane według czasu"
 
-#: Menus.cpp:1882
+#: Menus.cpp:1885
 msgid "Sort By Name"
 msgstr "Sortuj według nazw"
 
-#: Menus.cpp:1882
+#: Menus.cpp:1885
 msgid "Tracks sorted by name"
 msgstr "Ścieżki posortowane według nazwy"
 
-#: Menus.cpp:2033
+#: Menus.cpp:2036
 msgid "Set Left Selection Bound"
 msgstr "Wyznacz lewÄ… granicÄ™ zaznaczenia"
 
-#: Menus.cpp:2068
+#: Menus.cpp:2072
 msgid "Set Right Selection Bound"
 msgstr "Wyznacz prawÄ… granicÄ™ zaznaczenia"
 
-#: Menus.cpp:2337
+#: Menus.cpp:2342
 msgid "You must select a track first."
 msgstr "Proszę najpierw zaznaczyć ścieżkę."
 
-#: Menus.cpp:2369
+#: Menus.cpp:2377
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Powtórz %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Powtórz %s"
 
-#: Menus.cpp:2512
+#: Menus.cpp:2520
 msgid "There are no label tracks to export."
 msgstr "Nie ma ścieżek z etykietą do eksportu."
 
-#: Menus.cpp:2607
+#: Menus.cpp:2615
 #, fuzzy
 msgid "Export MIDI As:"
 msgstr "Importuj MIDI..."
 
-#: Menus.cpp:2611
+#: Menus.cpp:2619
 #, fuzzy
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "Wszystkie pliki (*.*)|*.*|Pliki MIDI (*.mid)|*.mid|Pliki Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2643
+#: Menus.cpp:2651
 msgid "You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
-msgstr ""
+msgstr "Zaznaczyłeś nazwę pliku z nierozpoznawalnym rozszerzeniem.\n"
+"Czy chcesz kontynuować?"
 
-#: Menus.cpp:2644
+#: Menus.cpp:2652
 #, fuzzy
 msgid "Export MIDI"
 msgstr "Importuj MIDI..."
 
-#: Menus.cpp:2702
+#: Menus.cpp:2722
 msgid "Nothing to undo"
 msgstr "Nic do cofnięcia"
 
-#: Menus.cpp:2722
+#: Menus.cpp:2742
 msgid "Nothing to redo"
 msgstr "Nic do przywrócenia"
 
-#: Menus.cpp:2809
-#: TrackPanel.cpp:596
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2847 TrackPanel.cpp:593 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Wytnij"
 
-#: Menus.cpp:2809
+#: Menus.cpp:2847
 msgid "Cut to the clipboard"
 msgstr "Wytnij do schowka"
 
-#: Menus.cpp:2849
+#: Menus.cpp:2887
 msgid "Split Cut"
 msgstr "Rozdziel cięcie"
 
-#: Menus.cpp:2849
+#: Menus.cpp:2887
 msgid "Split-cut to the clipboard"
 msgstr "Rozdziel cięcie do schowka"
 
-#: Menus.cpp:2914
-#: Menus.cpp:2986
-#: Menus.cpp:3178
-#: TrackPanel.cpp:598
+#: Menus.cpp:2953 Menus.cpp:3027 Menus.cpp:3221 TrackPanel.cpp:595
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Wklej"
 
-#: Menus.cpp:2914
+#: Menus.cpp:2953
 msgid "Pasted text from the clipboard"
 msgstr "Wklejony tekst ze schowka"
 
-#: Menus.cpp:2986
-#: Menus.cpp:3178
+#: Menus.cpp:3027 Menus.cpp:3221
 msgid "Pasted from the clipboard"
 msgstr "Wklejone ze schowka"
 
-#: Menus.cpp:3052
+#: Menus.cpp:3095
 #, fuzzy
 msgid "Pasting one type of track into another is not allowed."
 msgstr "Nie wolno kopiować dźwięku stereo do ścieżki mono."
 
-#: Menus.cpp:3064
+#: Menus.cpp:3107
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Nie wolno kopiować dźwięku stereo do ścieżki mono."
 
-#: Menus.cpp:3214
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3257 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Przytnij"
 
-#: Menus.cpp:3214
+#: Menus.cpp:3257
 msgid "Trim file to selection"
 msgstr "Przytnij plik do zaznaczenia"
 
-#: Menus.cpp:3243
+#: Menus.cpp:3286
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Rozdziel-usunięte %.2f seconds at t=%.2f"
 
-#: Menus.cpp:3246
+#: Menus.cpp:3289
 msgid "Split Delete"
 msgstr "Rozdziel Usuń"
 
-#: Menus.cpp:3267
+#: Menus.cpp:3310
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Rozdzielone %.2f sekundy w t=%.2f"
 
-#: Menus.cpp:3270
+#: Menus.cpp:3313
 msgid "Disjoin"
 msgstr "Rozdziel"
 
-#: Menus.cpp:3291
+#: Menus.cpp:3334
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Połączone %.2f sekundy w t=%.2f"
 
-#: Menus.cpp:3294
+#: Menus.cpp:3337
 msgid "Join"
 msgstr "Połącz"
 
-#: Menus.cpp:3313
+#: Menus.cpp:3356
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Wyciszono zaznaczone ścieżki o długości %.2f sekund od pozycji %.2f"
 
-#: Menus.cpp:3315
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3358 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Cisza"
 
-#: Menus.cpp:3349
+#: Menus.cpp:3392
 msgid "Duplicate"
 msgstr "Duplikuj"
 
-#: Menus.cpp:3349
+#: Menus.cpp:3392
 msgid "Duplicated"
 msgstr "Zduplikowane"
 
-#: Menus.cpp:3368
+#: Menus.cpp:3411
 msgid "Cut Labels"
 msgstr "Wytnij Etykiety"
 
-#: Menus.cpp:3368
+#: Menus.cpp:3411
 msgid "Cut labeled regions to the clipboard"
 msgstr "Wytnij zaznaczone obszary do schowka"
 
-#: Menus.cpp:3382
+#: Menus.cpp:3425
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Rozdziel Wycięte zaznaczone obszary do schowka"
 
-#: Menus.cpp:3383
+#: Menus.cpp:3426
 msgid "Split Cut Labels"
 msgstr "Rozdziel Wycięte Etykiety"
 
-#: Menus.cpp:3397
+#: Menus.cpp:3440
 msgid "Copied labeled regions to the clipboard"
 msgstr "Skopiowane zaznaczone obszary do schowka"
 
-#: Menus.cpp:3397
+#: Menus.cpp:3440
 msgid "Copy Labels"
 msgstr "Kopiuj etykiety"
 
-#: Menus.cpp:3409
+#: Menus.cpp:3452
 msgid "Delete Labels"
 msgstr "Usuń etykiety"
 
-#: Menus.cpp:3409
+#: Menus.cpp:3452
 msgid "Deleted labeled regions"
 msgstr "Usunięte zaznaczone obszary "
 
-#: Menus.cpp:3421
+#: Menus.cpp:3464
 msgid "Split Delete Labels"
 msgstr "Rozdziel Usuń Etykiety"
 
-#: Menus.cpp:3421
+#: Menus.cpp:3464
 msgid "Split Deleted labeled regions"
 msgstr "Rozdziel Usunięte obszary etykiet"
 
-#: Menus.cpp:3433
+#: Menus.cpp:3476
 msgid "Silence Labels"
 msgstr "Cisza Etykiety"
 
-#: Menus.cpp:3433
+#: Menus.cpp:3476
 msgid "Silenced labeled regions"
 msgstr "Wyciszone zaznaczone obszary"
 
-#: Menus.cpp:3445
+#: Menus.cpp:3488
 msgid "Split Labels"
 msgstr "Rozdziel Etykiety"
 
-#: Menus.cpp:3445
+#: Menus.cpp:3488
 msgid "Split labeled regions"
 msgstr "Rozdziel zaznaczone obszary"
 
-#: Menus.cpp:3457
+#: Menus.cpp:3500
 msgid "Join Labels"
 msgstr "Połącz Etykiety"
 
-#: Menus.cpp:3457
+#: Menus.cpp:3500
 msgid "Joined labeled regions"
 msgstr "Połączone zaznaczone obszary"
 
-#: Menus.cpp:3469
+#: Menus.cpp:3512
 msgid "Disjoin Labels"
 msgstr "Rozdziel etykiety"
 
-#: Menus.cpp:3469
+#: Menus.cpp:3512
 msgid "Disjoined labeled regions"
 msgstr "Rozdzielone zaznaczone obszary"
 
-#: Menus.cpp:3491
-#: TrackPanel.cpp:6134
+#: Menus.cpp:3534 TrackPanel.cpp:6141
 msgid "Split"
 msgstr "Rozdziel"
 
-#: Menus.cpp:3585
+#: Menus.cpp:3628
 msgid "Split New"
 msgstr "Rozdziel Nowy"
 
-#: Menus.cpp:3585
+#: Menus.cpp:3628
 msgid "Split to new track"
 msgstr "Rozdziel do nowej ścieżki"
 
-#: Menus.cpp:3668
+#: Menus.cpp:3711
 msgid "Split at labels"
 msgstr "Rozdziel przy etykietach"
 
-#: Menus.cpp:3969
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Aby wykreślić widmo, wszystkie ścieżki muszą mieć tę samą częstotliwość próbkowania."
-
-#: Menus.cpp:3995
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Zaznaczono zbyt dużą próbkę audio. Tylko pierwsze %.1f sekund zostanie przeanalizowane."
-
-#: Menus.cpp:4130
+#: Menus.cpp:4181
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Zaimportowano etykiety z '%s'"
 
-#: Menus.cpp:4131
+#: Menus.cpp:4182
 msgid "Import Labels"
 msgstr "Importuj Etykiety"
 
-#: Menus.cpp:4142
+#: Menus.cpp:4193
 msgid "Select a MIDI file..."
 msgstr "Zaznacz plik MIDI..."
 
-#: Menus.cpp:4146
+#: Menus.cpp:4197
 #, fuzzy
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
 msgstr "Wszystkie pliki (*.*)|*.*|Pliki MIDI (*.mid)|*.mid|Pliki Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:4162
+#: Menus.cpp:4213
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "Zaimportowano MIDI z '%s'"
 
-#: Menus.cpp:4163
+#: Menus.cpp:4214
 msgid "Import MIDI"
 msgstr "Importuj MIDI..."
 
-#: Menus.cpp:4177
+#: Menus.cpp:4228
 msgid "Select any uncompressed audio file..."
 msgstr "Zaznacz jakiÅ› niezkompresowany plik audio..."
 
-#: Menus.cpp:4181
+#: Menus.cpp:4232
 msgid "All files (*)|*"
 msgstr "Wszystkie pliki (*.*)|*.*"
 
-#: Menus.cpp:4205
+#: Menus.cpp:4256
 msgid "Edit the metadata tags"
 msgstr "Edytuj tagi metadanych"
 
-#: Menus.cpp:4206
-#: export/Export.cpp:353
+#: Menus.cpp:4257 export/Export.cpp:349
 msgid "Edit Metadata"
 msgstr "Edytuj Metadane"
 
-#: Menus.cpp:4206
+#: Menus.cpp:4257
 msgid "Edit Metadata tags"
 msgstr "Edytuj tagi Metadanych"
 
-#: Menus.cpp:4262
+#: Menus.cpp:4313
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Wszystkie dźwięki renderowane w ścieżce'%s'"
 
-#: Menus.cpp:4263
+#: Menus.cpp:4314
 msgid "Render"
 msgstr "Renderuj"
 
-#: Menus.cpp:4268
+#: Menus.cpp:4319
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "Wymieszane i renderowane %d ścieżki w jedną nową ścieżkę stereo"
 
-#: Menus.cpp:4271
+#: Menus.cpp:4322
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Wymieszane i renderowane %d ścieżki w jedną nową ścieżkę mono"
 
-#: Menus.cpp:4273
-#: Mix.cpp:121
+#: Menus.cpp:4324 Mix.cpp:121
 msgid "&Mix and Render"
 msgstr "&Miksuj i renderuj"
 
-#: Menus.cpp:4403
+#: Menus.cpp:4454
 msgid "Aligned with zero"
 msgstr "Wyrównane do zera"
 
-#: Menus.cpp:4407
+#: Menus.cpp:4458
 msgid "Aligned cursor"
 msgstr "Wyrównane do kursora"
 
-#: Menus.cpp:4411
+#: Menus.cpp:4462
 msgid "Aligned with selection start"
 msgstr "Wyrównano z początkiem zaznaczenia"
 
-#: Menus.cpp:4415
+#: Menus.cpp:4466
 msgid "Aligned with selection end"
 msgstr "Wyrównano z końcem zaznaczenia"
 
-#: Menus.cpp:4419
+#: Menus.cpp:4470
 msgid "Aligned end with cursor"
 msgstr "Wyrównano koniec z kursorem"
 
-#: Menus.cpp:4423
+#: Menus.cpp:4474
 msgid "Aligned end with selection start"
 msgstr "Wyrównano koniec z początkiem zaznaczenia"
 
-#: Menus.cpp:4427
+#: Menus.cpp:4478
 msgid "Aligned end with selection end"
 msgstr "Wyrównano koniec z końcem zaznaczenia"
 
-#: Menus.cpp:4431
+#: Menus.cpp:4482
 msgid "Aligned"
 msgstr "Wyrównane"
 
-#: Menus.cpp:4464
+#: Menus.cpp:4515
 msgid "Align"
 msgstr "Wyrównaj"
 
-#: Menus.cpp:4549
+#: Menus.cpp:4600
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "Zsynchronizuj MIDI z Audio"
 
-#: Menus.cpp:4553
+#: Menus.cpp:4604
 msgid "Alignment completed."
-msgstr ""
+msgstr "Wyrównanie zakończone."
 
-#: Menus.cpp:4564
+#: Menus.cpp:4615
 msgid "Created new audio track"
 msgstr "Utworzono nową ścieżkę audio"
 
-#: Menus.cpp:4564
-#: Menus.cpp:4587
-#: Menus.cpp:4602
-#: Menus.cpp:4622
+#: Menus.cpp:4615 Menus.cpp:4638 Menus.cpp:4653 Menus.cpp:4673
 msgid "New Track"
 msgstr "Nowa Ścieżka"
 
-#: Menus.cpp:4587
+#: Menus.cpp:4638
 msgid "Created new stereo audio track"
 msgstr "Utworzono nową stereofoniczną ścieżkę audio"
 
-#: Menus.cpp:4602
+#: Menus.cpp:4653
 msgid "Created new label track"
 msgstr "Utworzono nową etykietę ścieżki"
 
-#: Menus.cpp:4611
+#: Menus.cpp:4662
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Wersja Audacity, której używasz, nie wspiera wielu utworów naraz"
 
-#: Menus.cpp:4622
+#: Menus.cpp:4673
 msgid "Created new time track"
 msgstr "Utworzono nową ścieżkę"
 
-#: Menus.cpp:4677
+#: Menus.cpp:4733
 msgid "Added label"
 msgstr "Dodaj etykietÄ™"
 
-#: Menus.cpp:4712
+#: Menus.cpp:4768
 msgid "Edited labels"
 msgstr "Edytowane etykiety"
 
-#: Menus.cpp:4739
+#: Menus.cpp:4795
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Zapisz Ustawienie CzystejMowy jako:"
 
-#: Menus.cpp:4743
+#: Menus.cpp:4799
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Ustawienia CzystejMowy (*.csp)|*.csp"
 
-#: Menus.cpp:4750
-#: export/Export.cpp:605
+#: Menus.cpp:4806 export/Export.cpp:611
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Przykro mi ale ścieżki do plików dłuższe niż 256 znaków nie są obsługiwane."
 
-#: Menus.cpp:4796
+#: Menus.cpp:4852
 msgid "Problem encountered exporting presets."
 msgstr "Problem podczas eksportowania ustawień."
 
-#: Menus.cpp:4797
-#: export/Export.cpp:468
+#: Menus.cpp:4853 export/Export.cpp:473
 msgid "Unable to export"
 msgstr "Nie można wyeskportować"
 
-#: Menus.cpp:4981
+#: Menus.cpp:5037
 msgid "Remove Track"
 msgstr "Usuń Ścieżkę "
 
-#: Menus.cpp:4981
+#: Menus.cpp:5037
 msgid "Removed audio track(s)"
 msgstr "Usunięta(e) ścieżki(a) audio"
 
-#: Menus.cpp:5138
-#: Menus.cpp:5193
-#: export/ExportFFmpeg.cpp:710
-#: export/ExportMP3.cpp:1928
+#: Menus.cpp:5194 Menus.cpp:5249 export/ExportFFmpeg.cpp:741
+#: export/ExportMP3.cpp:1780
 msgid "Resample"
 msgstr "Resampluj"
 
-#: Menus.cpp:5158
-#: TrackPanel.cpp:6361
+#: Menus.cpp:5214 TrackPanel.cpp:6368
 #, fuzzy
 msgid "New sample rate (Hz):"
 msgstr "Wprowadź nową częstotliwość próbkowania:"
 
-#: Menus.cpp:5182
-#: TrackPanel.cpp:6385
+#: Menus.cpp:5238 TrackPanel.cpp:6392
 msgid "The entered value is invalid"
 msgstr "Wprowadzona wartość jest nieprawidłowa"
 
-#: Menus.cpp:5191
+#: Menus.cpp:5247
 #, c-format
 msgid "Resampling track %d"
 msgstr "Resamplowanie ścieżki %d"
 
-#: Menus.cpp:5200
+#: Menus.cpp:5256
 msgid "Resample Track"
 msgstr "Resampluj ścieżkę"
 
-#: Menus.cpp:5200
+#: Menus.cpp:5256
 msgid "Resampled audio track(s)"
 msgstr "Resamplowane ścieżki dźwiękowe"
 
-#: Mix.cpp:95
-#: Mix.cpp:102
+#: Mix.cpp:95 Mix.cpp:102
 msgid "Mix"
 msgstr "Mikser"
 
@@ -3063,35 +2888,36 @@ msgstr "Wystąpił problem przy próbie wydruku"
 msgid "Print"
 msgstr "Drukuj"
 
-#: Project.cpp:673
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
+#: Project.cpp:741
 msgid "Main Mix"
 msgstr "GÅ‚owny mikser"
 
-#: Project.cpp:797
+#: Project.cpp:865
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Witamy w wersji %s Audacity"
 
-#: Project.cpp:957
+#: Project.cpp:1045
 msgid "(Recovered)"
 msgstr "(Odzyskane)"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
-#: toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:996
 msgid "Record"
 msgstr "Nagrywanie"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
+#: Project.cpp:1639 TrackPanel.cpp:793
 msgid "Recorded Audio"
 msgstr "Nagrano audio"
 
-#: Project.cpp:1564
+#: Project.cpp:1657
 msgid "Save changes before closing?"
 msgstr "Zapisać zmiany przed zamknięciem?"
 
-#: Project.cpp:1567
+#: Project.cpp:1660
 #, fuzzy
 msgid "\n"
 "If saved, the project will have no tracks.\n"
@@ -3107,24 +2933,23 @@ msgstr "\n"
 "otwarte, kliknij Anuluj, Edytuj > Cofnij aż wszystkie \n"
 "ścieżki będą otwarte i wybierz Plik > Zapisz Projekt."
 
-#: Project.cpp:1570
+#: Project.cpp:1663
 msgid "Save changes?"
 msgstr "Zapisać zmiany?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "Wszystkie pliki|*.*|Wszystkie wspierane pliki|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
-#: Project.cpp:1802
+#: Project.cpp:1900
 msgid "Select one or more audio files..."
 msgstr "Zaznacz jeden lub więcej plików audio..."
 
-#: Project.cpp:1829
+#: Project.cpp:1927
 msgid "Audacity projects|*.aup|"
 msgstr "Projekty Audacity|*.aup|"
 
-#: Project.cpp:1882
-#: Project.cpp:2304
+#: Project.cpp:1986 Project.cpp:2408
 #, fuzzy, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3142,62 +2967,70 @@ msgstr "Plik został zapisany przez Audacity %s, o wiele\n"
 "Czy chciałbyś spróbować otworzyć plik\n"
 "mimo wszystko?"
 
-#: Project.cpp:1883
+#: Project.cpp:1987
 msgid "1.0 or earlier"
-msgstr ""
+msgstr "1.0 lub wcześniejsze"
 
-#: Project.cpp:1889
-#: Project.cpp:2316
+#: Project.cpp:1993 Project.cpp:2420
 msgid "Opening old project file"
 msgstr "Otwieranie starego pliku projektu"
 
-#: Project.cpp:1915
-#: Project.cpp:1923
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:2019 Project.cpp:2027
 msgid "Error opening file"
 msgstr "BÅ‚Ä…d otwarcia pliku"
 
-#: Project.cpp:1929
+#: Project.cpp:2033
 #, c-format
 msgid "File may be invalid or corrupted: \n"
 "%s"
 msgstr "Plik może być skorumpowany  \n"
 "%s"
 
-#: Project.cpp:1930
+#: Project.cpp:2034
 msgid "Error opening file or project"
 msgstr "BÅ‚Ä…d podczas otwierania pliku lub projektu"
 
-#: Project.cpp:1950
+#: Project.cpp:2054
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity nie mogło przekonwertować plików projektu  Audacity 1.0 do nowego formatu."
 
-#: Project.cpp:2053
+#: Project.cpp:2157
 msgid "Could not remove old auto save file"
 msgstr "Nie można usunąć starego, zachowanego pliku"
 
-#: Project.cpp:2055
+#: Project.cpp:2159
 msgid "Project was recovered"
 msgstr "Projekt został odzyskany"
 
-#: Project.cpp:2055
+#: Project.cpp:2159
 msgid "Recover"
 msgstr "Odzyskaj"
 
-#: Project.cpp:2084
+#: Project.cpp:2188
 msgid "Project checker repaired file"
 msgstr "Tester projektu odzyskał plik"
 
-#: Project.cpp:2084
-#: effects/Repair.h:29
+#: Project.cpp:2188 effects/Repair.h:29
 msgid "Repair"
 msgstr "Napraw"
 
-#: Project.cpp:2230
+#: Project.cpp:2334
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Nie można odnaleźć katalogu projektu: \"%s\""
 
-#: Project.cpp:2273
+#: Project.cpp:2377
 #, c-format
 msgid "This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
@@ -3206,27 +3039,21 @@ msgstr "Plik został zapisany używając Audacity %s. \n"
 "Używasz Audacity %s - powinieneś uaktualnić do  \n"
 "nowszej wersji, aby otworzyć ten plik."
 
-#: Project.cpp:2277
+#: Project.cpp:2381
 msgid "Can't open project file"
 msgstr "Nie można otworzyć pliku projektu"
 
-#: Project.cpp:2311
-#, fuzzy, c-format
+#: Project.cpp:2484
+#, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
-"Open this file now?"
-msgstr "Plik został zapisany przez Audacity %s i format się\n"
-"zmienił.  Ta wersja Audacity może spróbować\n"
-"go otworzyć, ale mogą pojawić się problemy. Powinieneś\n"
-"stworzyć kopię.\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"Po zapisaniu pliku w tej wersji  Audacity,\n"
-"nie będziesz mógł już go otworzyć w starszej\n"
-"wersji. Czy chciałbyś otworzyć plik\n"
-"mimo wszystko?"
+"Open this file now?"
+msgstr ""
 
-#: Project.cpp:2537
+#: Project.cpp:2611
 msgid "Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
@@ -3235,54 +3062,63 @@ msgid "Your project is now empty.\n"
 "are open, then File > Save Project.\n"
 "\n"
 "Save anyway?"
-msgstr ""
+msgstr "Twój projekt jest pusty.\n"
+"Jeśli go zapiszesz, nie będzie miał żadnych ścieżek.\n"
+"\n"
+"Aby zapisać poprzednio otwarte ścieżki:\n"
+"Kliknij 'Nie', Edytuj > Cofnij aż wszystkie ścieżki\n"
+"będą otwarte, następnie Plik > Zapisz Projekt. \n"
+"\n"
+"Czy zapisać mimo wszystko?"
 
-#: Project.cpp:2538
+#: Project.cpp:2612
 msgid "Warning empty project"
-msgstr ""
+msgstr "Uwaga pusty projekt"
 
-#: Project.cpp:2588
+#: Project.cpp:2721
 #, fuzzy, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr "Nie można zapisać projektu. Może %s nie jest zapisywalny,\n"
 " lub dysk jest zapełniony."
 
-#: Project.cpp:2590
-#: Project.cpp:2605
+#: Project.cpp:2723 Project.cpp:2738
 msgid "Error saving project"
 msgstr "BÅ‚Ä…d zapisu projektu"
 
-#: Project.cpp:2680
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
+#: Project.cpp:2808
 #, c-format
 msgid "Saved %s"
 msgstr "Zapisany %s7"
 
-#: Project.cpp:2806
+#: Project.cpp:2974
 #, c-format
 msgid "Imported '%s'"
 msgstr "Zaimportowano '%s'"
 
-#: Project.cpp:2807
-#: import/ImportPCM.cpp:483
-#: import/ImportPCM.cpp:527
+#: Project.cpp:2975
 msgid "Import"
 msgstr "Importuj"
 
-#: Project.cpp:2840
-#: Project.cpp:2848
+#: Project.cpp:3009 Project.cpp:3017
 msgid "Error importing"
 msgstr "BÅ‚Ä…d podczas importu"
 
-#: Project.cpp:2882
+#: Project.cpp:3057
 msgid "Save Speech As:"
 msgstr "Zapisz mowÄ™ jako:"
 
-#: Project.cpp:2884
+#: Project.cpp:3059
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Plik dżwiękowy Windows PCM (*.wav)|*.wav"
 
-#: Project.cpp:2891
+#: Project.cpp:3066
 #, fuzzy
 msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
@@ -3296,129 +3132,289 @@ msgstr "Plik projektu programu Audacity (.aup) zapamiętuje całą Twoją pracę
 "\n"
 "Jeżeli chcesz zapisać plik tak żeby można go było otworzyć przy pomocy innych progamów, wybierz jedną z dostępnych opcji Eksportu."
 
-#: Project.cpp:2894
+#: Project.cpp:3069
 msgid "You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr ""
+msgstr "Zapisujesz plik projektu Audacity (.aup).\n"
+"\n"
+"Zapisanie projektu stworzy plik, który może być otwarty tylko w Audacity. \n"
+"\n"
+"Aby zapisać plik dźwiękowy dla innych programów, użyj \"Plik > Eksportuj\".\n"
 
-#: Project.cpp:2898
+#: Project.cpp:3073
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Projekty Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2952
+#: Project.cpp:3127
 msgid "Created new project"
 msgstr "Utworzono nowy projekt"
 
-#: Project.cpp:3111
+#: Project.cpp:3286
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Skasowane %.2f sekund przy t=%.2f"
 
-#: Project.cpp:3114
-#: effects/Equalization.cpp:1276
-#: effects/Equalization.cpp:2607
+#: Project.cpp:3289 effects/Equalization.cpp:1274
+#: effects/Equalization.cpp:2605
 msgid "Delete"
 msgstr "Kasuj"
 
-#: Project.cpp:3308
+#: Project.cpp:3483
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Pozostała ilość przestrzeni dyskowej %d godzin i %d minut."
 
-#: Project.cpp:3311
+#: Project.cpp:3486
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Pozostała przestrzeń dyskowa 1 godzina i %d minut."
 
-#: Project.cpp:3314
+#: Project.cpp:3489
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Pozostała przestrzeć dyskowa %d minut."
 
-#: Project.cpp:3317
+#: Project.cpp:3492
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Pozostała przestrzeć dyskowa %d sekund."
 
-#: Project.cpp:3320
+#: Project.cpp:3495
 msgid "Out of disk space"
 msgstr "Za mało miejsca na dysku"
 
-#: Project.cpp:3333
+#: Project.cpp:3508
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Import(y) niepełny. Pracuje %d kalkulacji. Skompletowane %2.0f%%."
 
-#: Project.cpp:3336
+#: Project.cpp:3511
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Zakończono importowanie. Uruchomiono kalkulacje. Zakończono %2.0f%%."
 
-#: Project.cpp:3614
+#: Project.cpp:3789
 msgid "Could not remove old autosave file: "
 msgstr "Nie można usunąć starych plików"
 
-#: Project.cpp:3655
+#: Project.cpp:3830
 msgid "New Project"
 msgstr "Nowy projekt"
 
-#: Project.cpp:3668
+#: Project.cpp:3843
 msgid "Error writing autosave file"
 msgstr "BÅ‚Ä…d podczas automatycznego zapisu pliku"
 
-#: Project.cpp:3693
+#: Project.cpp:3868
 msgid "Could not create autosave file: "
 msgstr "Nie można stworzyć pliku automatycznego zapisu"
 
-#: Project.cpp:3719
+#: Project.cpp:3894
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Aktualna częstotliwość %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample ( autorzy: Dominic Mazzoni & Julius Smith)"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Wysokiej jakości Sinc Interpolation "
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Fast Sinc Interpolation"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate (autor: Erik de Castro Lopo)"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "BÅ‚Ä…d Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:252 Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Zmiana częstotliwości próbkowania zablokowana."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16-bitowe PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24-bitowe PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-bitowe zmienne"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:242 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Wybierz..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "fałsz"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Narzędzia"
+
+#: effects/Contrast.cpp:452 toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr "Kontrola"
+
+#: effects/LoadEffects.cpp:115 toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Mikser"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Miernik"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:123 prefs/AudioIOPrefs.cpp:141
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "UrzÄ…dzenie"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transkrypcja"
+
+#: TrackPanel.cpp:454 TrackPanel.cpp:455
+msgid "Track Panel"
+msgstr "Panel śledzący"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:285 export/ExportMultiple.cpp:287
+msgid "Tracks"
+msgstr "Ścieżki"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Zapisane"
@@ -3427,14 +3423,15 @@ msgstr "Zapisane"
 msgid "Error trying to save file: "
 msgstr "BÅ‚Ä…d zapisu pliku:"
 
-#: Sequence.cpp:804
-#: Sequence.cpp:814
-#: Sequence.cpp:821
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:804 Sequence.cpp:814 Sequence.cpp:821
 msgid "Gap detected in project file\n"
 msgstr "W projekcie wykryto przerwÄ™\n"
 
-#: ShuttleGui.cpp:1972
-#: effects/Effect.cpp:417
+#: ShuttleGui.cpp:1972 effects/Effect.cpp:419
 #: effects/audiounits/AudioUnitEffect.cpp:877
 msgid "Pre&view"
 msgstr "Pod&glÄ…d"
@@ -3461,154 +3458,114 @@ msgstr "&Witamy w Audacity!"
 msgid "Don't show this again at start up"
 msgstr "Nie pokazuj tego więcej na starcie"
 
-#: Tags.cpp:640
+#: Tags.cpp:628
 msgid "Artist Name"
 msgstr "Nazwisko Artysty"
 
-#: Tags.cpp:641
+#: Tags.cpp:629
 msgid "Track Title"
 msgstr "Tytuł utworu"
 
-#: Tags.cpp:642
+#: Tags.cpp:630
 msgid "Album Title"
 msgstr "Tytuł albumu"
 
-#: Tags.cpp:643
+#: Tags.cpp:631
 msgid "Track Number"
 msgstr "Numer ścieżki"
 
-#: Tags.cpp:644
-#: Tags.cpp:2147
+#: Tags.cpp:632
 msgid "Year"
 msgstr "Rok"
 
-#: Tags.cpp:645
+#: Tags.cpp:633
 msgid "Genre"
 msgstr "Gatunek"
 
-#: Tags.cpp:646
-#: Tags.cpp:2157
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:634 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Komentarze"
 
 #: Tags.cpp:777
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Użyj klawiszy ze strzałkami (lub klawisza RETURN po edycji) aby poruszać się po polach."
 
-#: Tags.cpp:813
+#: Tags.cpp:800
 msgid "Tag Name"
 msgstr "Nazwa Tagu"
 
-#: Tags.cpp:814
+#: Tags.cpp:801
 msgid "Tag Value"
 msgstr "Wartość Tagu"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:816 prefs/KeyConfigPrefs.cpp:130
 msgid "&Clear"
 msgstr "&Wyczyść"
 
-#: Tags.cpp:835
+#: Tags.cpp:822
 msgid "Genres"
 msgstr "Rodzaje"
 
 #: Tags.cpp:826
 msgid "E&dit..."
-msgstr ""
+msgstr "E&dytuj..."
 
 #: Tags.cpp:827
 msgid "Rese&t..."
-msgstr ""
+msgstr "Zrese&tuj..."
 
-#: Tags.cpp:845
-#: Tags.cpp:1470
-#: Tags.cpp:1997
+#: Tags.cpp:832
 msgid "Template"
 msgstr "Wzór"
 
-#: Tags.cpp:849
-#: Tags.cpp:1474
-#: Tags.cpp:2001
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:836 prefs/KeyConfigPrefs.cpp:142
 msgid "&Load..."
 msgstr "&Ładuj..."
 
-#: Tags.cpp:850
-#: Tags.cpp:1475
-#: Tags.cpp:2002
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:837 prefs/KeyConfigPrefs.cpp:141
 msgid "&Save..."
 msgstr "&Zapisz"
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
+#: Tags.cpp:839
 msgid "S&et Default"
 msgstr "U&staw domyślne"
 
-#: Tags.cpp:1002
-#: Tags.cpp:1640
-#: Tags.cpp:2368
+#: Tags.cpp:989
 msgid "Edit Genres"
 msgstr "Edytuj Rodzaje"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1047
-#: Tags.cpp:1062
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1690
-#: Tags.cpp:1705
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2423
-#: Tags.cpp:2438
-#: Tags.cpp:2451
+#: Tags.cpp:1022 Tags.cpp:1034 Tags.cpp:1049 Tags.cpp:1062
 msgid "Reset Genres"
 msgstr "Resetuj Rodzaje"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2451
+#: Tags.cpp:1022 Tags.cpp:1062
 msgid "Unable to save genre file."
 msgstr "Nie można zapisać pliku rodzaju."
 
-#: Tags.cpp:1046
-#: Tags.cpp:1689
-#: Tags.cpp:2422
+#: Tags.cpp:1033
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Czy jesteś pewny, że chcesz zresetować listę rodzajów?"
 
-#: Tags.cpp:1062
-#: Tags.cpp:1705
-#: Tags.cpp:2438
+#: Tags.cpp:1049
 msgid "Unable to open genre file."
 msgstr "Nie można otworzyć pliku z rodzajami."
 
 #: Tags.cpp:1084
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Załaduj Metadane jako:"
 
-#: Tags.cpp:1122
-#: Tags.cpp:1772
-#: Tags.cpp:2494
+#: Tags.cpp:1109
 msgid "Error loading metadata"
 msgstr "BÅ‚Ä…d podczas Å‚adowania metadanych"
 
-#: Tags.cpp:1097
-#: Tags.cpp:1151
-#: Tags.cpp:1751
-#: Tags.cpp:1787
-#: Tags.cpp:2473
-#: Tags.cpp:2509
+#: Tags.cpp:1138
 msgid "Save Metadata As:"
 msgstr "Zapisz Metadane jako:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3641,8 +3598,7 @@ msgstr "Audacity nie mogła znaleźc pliku:\n"
 "  %s.\n"
 "Temat nie załadowany."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3666,8 +3622,7 @@ msgstr "Nie znaleziono żadnego z \n"
 " elementów tematu w:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3690,494 +3645,451 @@ msgstr "Wszystkie wymagane pliki w:\n"
 "  %s\n"
 "były juz obecne."
 
-#: TimeDialog.cpp:53
-#: TimerRecordDialog.cpp:227
-#: TimerRecordDialog.cpp:305
-#: TimerRecordDialog.cpp:309
-#: effects/Noise.cpp:243
-#: effects/ToneGen.cpp:323
-#: effects/ToneGen.cpp:366
+#: TimeDialog.cpp:53 TimeDialog.cpp:64 TimerRecordDialog.cpp:235
+#: TimerRecordDialog.cpp:366 TimerRecordDialog.cpp:370 effects/DtmfGen.cpp:479
+#: effects/Noise.cpp:241 effects/Noise.cpp:257 effects/ToneGen.cpp:321
+#: effects/ToneGen.cpp:333 effects/ToneGen.cpp:365 effects/ToneGen.cpp:377
 msgid "Duration"
 msgstr "Czas trwania"
 
-#: TimerRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Nagrywanie czasowe Audacity"
 
-#: TimerRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
+#: TimerRecordDialog.cpp:232
 msgid "Recording start"
 msgstr "PoczÄ…tek nagrywania"
 
-#: TimerRecordDialog.cpp:225
+#: TimerRecordDialog.cpp:233
 msgid "Recording end"
 msgstr "Koniec nagrywania"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:238
 #, fuzzy
 msgid "Audacity Timer Record Progress"
 msgstr "Postęp nagrywania Audacity"
 
-#: TimerRecordDialog.cpp:267
+#: TimerRecordDialog.cpp:328
 msgid "Start Date and Time"
 msgstr "Data i czas poczÄ…tku"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:335
 #, fuzzy
 msgid "Start Date"
 msgstr "&Czas startu"
 
-#: TimerRecordDialog.cpp:286
+#: TimerRecordDialog.cpp:347
 msgid "End Date and Time"
 msgstr "Data i czas końca"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:355
 #, fuzzy
 msgid "End Date"
 msgstr "Data i czas końca"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: TimerRecordDialog.cpp:381
+#: TimerRecordDialog.cpp:442
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Oczekiwanie na rozpoczęcie nagrywania o %s.\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:443
 #, fuzzy
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Nagrywanie Audacity - Oczekiwanie na rozpoczęcie"
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "Panel śledzący"
-
-#: TrackPanel.cpp:541
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:538 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Inne..."
 
-#: TrackPanel.cpp:549
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:588
-#: TrackPanel.cpp:5793
+#: TrackPanel.cpp:546 TrackPanel.cpp:568 TrackPanel.cpp:577 TrackPanel.cpp:585
 msgid "Name..."
 msgstr "Nazwa..."
 
-#: TrackPanel.cpp:551
-#: TrackPanel.cpp:573
-#: TrackPanel.cpp:584
-#: TrackPanel.cpp:590
-#: TrackPanel.cpp:5797
+#: TrackPanel.cpp:548 TrackPanel.cpp:570 TrackPanel.cpp:581 TrackPanel.cpp:587
 msgid "Move Track Up"
 msgstr "Przesuń ścieżkę w górę"
 
-#: TrackPanel.cpp:552
-#: TrackPanel.cpp:574
-#: TrackPanel.cpp:585
-#: TrackPanel.cpp:591
-#: TrackPanel.cpp:5798
+#: TrackPanel.cpp:549 TrackPanel.cpp:571 TrackPanel.cpp:582 TrackPanel.cpp:588
 msgid "Move Track Down"
 msgstr "Przesuń ścieżkę w dół"
 
-#: TrackPanel.cpp:554
-#: effects/ToneGen.cpp:319
-#: prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:551 effects/ToneGen.cpp:317 prefs/GUIPrefs.cpp:154
 msgid "Waveform"
 msgstr "Przebieg czasowy"
 
-#: TrackPanel.cpp:555
-#: prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:552 prefs/GUIPrefs.cpp:155
 msgid "Waveform (dB)"
 msgstr "Przebieg czasowy (dB)"
 
-#: TrackPanel.cpp:557
-#: prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:554 prefs/GUIPrefs.cpp:157
 #, fuzzy
 msgid "Spectrum log(f)"
 msgstr "Spektrum"
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:558
-#: prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:555 prefs/GUIPrefs.cpp:158
 msgid "Pitch (EAC)"
 msgstr "Wysokości (EAC)"
 
-#: TrackPanel.cpp:560
-#: TrackPanel.cpp:6096
+#: TrackPanel.cpp:557 TrackPanel.cpp:6103
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:561
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:558 TrackPanel.cpp:6102
 msgid "Left Channel"
 msgstr "Lewy kanał"
 
-#: TrackPanel.cpp:562
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:559 TrackPanel.cpp:6102
 msgid "Right Channel"
 msgstr "Prawy kanał"
 
-#: TrackPanel.cpp:563
+#: TrackPanel.cpp:560
 msgid "Make Stereo Track"
 msgstr "Utwórz ścieżkę stereo"
 
-#: TrackPanel.cpp:564
+#: TrackPanel.cpp:561
 msgid "Split Stereo Track"
 msgstr "Podziel ścieżkę stereo"
 
-#: TrackPanel.cpp:566
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
+#: TrackPanel.cpp:563
 msgid "Set Sample Format"
 msgstr "Ustaw rozdzielczość"
 
-#: TrackPanel.cpp:568
-#: TrackPanel.cpp:6341
+#: TrackPanel.cpp:565 TrackPanel.cpp:6348
 msgid "Set Rate"
 msgstr "Ustaw częstotliwość"
 
-#: TrackPanel.cpp:576
+#: TrackPanel.cpp:573
 msgid "Up Octave"
 msgstr "Oktawa w Górę"
 
-#: TrackPanel.cpp:577
+#: TrackPanel.cpp:574
 msgid "Down Octave"
 msgstr "Oktawę w dół"
 
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:5795
+#: TrackPanel.cpp:579
 msgid "Font..."
 msgstr "Font..."
 
-#: TrackPanel.cpp:593
+#: TrackPanel.cpp:590
 msgid "Set Range..."
 msgstr "Ustaw zakres..."
 
-#: TrackPanel.cpp:597
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:594 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Kopiuj"
 
-#: TrackPanel.cpp:1258
+#: TrackPanel.cpp:1263
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "Kliknij aby powiększyć w pionie.Kliknij z shift'em aby pomniejszyć. Przeciągnij aby powiększyć konkretny obszar."
 
-#: TrackPanel.cpp:1263
+#: TrackPanel.cpp:1268
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "Przesuń etykietę pionowo aby zmienić kolejność ścieżek."
 
-#: TrackPanel.cpp:1283
+#: TrackPanel.cpp:1288
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Kliknij i przeciągnij aby określić relatywny rozmiar ścieżek stereo."
 
-#: TrackPanel.cpp:1286
+#: TrackPanel.cpp:1291
 msgid "Click and drag to resize the track."
 msgstr "Kliknij i przeciągnij aby zmienić rozmiar ścieżki."
 
-#: TrackPanel.cpp:1317
+#: TrackPanel.cpp:1322
 msgid "Drag one or more label boundaries"
 msgstr "Pociągnij za jedną lub więcej granic etykiety"
 
-#: TrackPanel.cpp:1318
+#: TrackPanel.cpp:1323
 msgid "Drag label boundary"
 msgstr "PociÄ…gnij za granicÄ™ etykiety"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1334
+#: TrackPanel.cpp:1339
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Tryb multi narzędzia: naciśnij :Cmd-, aby toworzyć preferencje myszy i klawiatury"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1337
+#: TrackPanel.cpp:1342
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Tryb multi narzędzia: naciśnij Ctrl+P aby toworzyć preferencje myszy i klawiatury"
 
-#: TrackPanel.cpp:1383
+#: TrackPanel.cpp:1388
 msgid "Click and drag to move left selection boundary."
 msgstr "Kliknij i przeciągnij aby przesunąć lewą granicę zaznaczenia."
 
-#: TrackPanel.cpp:1388
+#: TrackPanel.cpp:1393
 msgid "Click and drag to move right selection boundary."
 msgstr "Kliknij i przeciągnij aby przesunąć prawą granicę zaznaczenia."
 
-#: TrackPanel.cpp:1730
-#: TrackPanel.cpp:3959
-#: TrackPanel.cpp:3991
-#: TrackPanel.cpp:4255
-#: TrackPanel.cpp:6490
-#: TrackPanel.cpp:6510
+#: TrackPanel.cpp:1735 TrackPanel.cpp:3969 TrackPanel.cpp:4001
+#: TrackPanel.cpp:4265 TrackPanel.cpp:6497 TrackPanel.cpp:6517
 msgid "Modified Label"
 msgstr "Zmodyfikowana etykieta"
 
-#: TrackPanel.cpp:1731
-#: TrackPanel.cpp:3960
-#: TrackPanel.cpp:3992
-#: TrackPanel.cpp:4256
-#: TrackPanel.cpp:6491
-#: TrackPanel.cpp:6511
+#: TrackPanel.cpp:1736 TrackPanel.cpp:3970 TrackPanel.cpp:4002
+#: TrackPanel.cpp:4266 TrackPanel.cpp:6498 TrackPanel.cpp:6518
 msgid "Label Edit"
 msgstr "Etykieta edycji"
 
-#: TrackPanel.cpp:1971
+#: TrackPanel.cpp:1976
 msgid "Adjusted envelope."
 msgstr "Wyrównana obwiednia."
 
-#: TrackPanel.cpp:1972
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1977 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Obwiednia"
 
-#: TrackPanel.cpp:2123
+#: TrackPanel.cpp:2128
 msgid "Moved clip to another track"
 msgstr "Klip przeniesiony do innej ścieżki"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2132
 msgid "left"
 msgstr "lewy"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2132
 msgid "right"
 msgstr "prawy"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2129
+#: TrackPanel.cpp:2134
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Ścieżki/klipy z przesunięciem czasu %s %.02f sekund"
 
-#: TrackPanel.cpp:2133
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2138 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Przesunięcie fazowe"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2921
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr ""
+msgstr "Aby użyć Rysuj, wybierz 'FormaFali' w menu Ścieżka."
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2938
 #, fuzzy
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr "Brak wystarczającego powiększenia.Powiększ aż zobaczysz pojedyncze próbki."
 
-#: TrackPanel.cpp:3205
+#: TrackPanel.cpp:3210
 msgid "Moved Sample"
 msgstr "Przesunięto próbkę"
 
-#: TrackPanel.cpp:3206
+#: TrackPanel.cpp:3211
 msgid "Sample Edit"
 msgstr "Edycja próbki"
 
-#: TrackPanel.cpp:3305
+#: TrackPanel.cpp:3310
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Usunięta ścieżka '%s'"
 
-#: TrackPanel.cpp:3307
+#: TrackPanel.cpp:3312
 msgid "Track Remove"
 msgstr "Usunięcie ścieżki"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3458
 msgid "Moved gain slider"
 msgstr "Przesunięto suwak czułości"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3458
 msgid "Moved pan slider"
 msgstr "Przesunięto suwak panoramiczny"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5703
-#: TrackPanel.cpp:7244
+#: TrackPanel.cpp:3459 TrackPanel.cpp:5705 TrackPanel.cpp:7221
 msgid "Gain"
 msgstr "Czułość"
 
 #  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5641
-#: TrackPanel.cpp:7251
+#: TrackPanel.cpp:3459 TrackPanel.cpp:5643 TrackPanel.cpp:7228
 msgid "Pan"
 msgstr "Pan"
 
-#: TrackPanel.cpp:3576
-#: TrackPanel.cpp:6441
+#: TrackPanel.cpp:3586 TrackPanel.cpp:6448
 msgid "up"
 msgstr "góra"
 
-#: TrackPanel.cpp:3580
-#: TrackPanel.cpp:6442
+#: TrackPanel.cpp:3590 TrackPanel.cpp:6449
 msgid "down"
 msgstr "dół"
 
-#: TrackPanel.cpp:3587
-#: TrackPanel.cpp:6437
+#: TrackPanel.cpp:3597 TrackPanel.cpp:6444
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Przesunięty '%s' %s"
 
-#: TrackPanel.cpp:3590
-#: TrackPanel.cpp:6443
+#: TrackPanel.cpp:3600 TrackPanel.cpp:6450
 msgid "Move Track"
 msgstr "Przesuń ścieżkę"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4165
 msgid "Expand"
 msgstr "Rozszerz"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4165
 msgid "Expanded Cut Line"
 msgstr "Rozszerzona linia cięcia"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4174
 msgid "Merge"
 msgstr "Połącz"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4174
 msgid "Merged Clips"
 msgstr "Połączone klipy"
 
-#: TrackPanel.cpp:4176
+#: TrackPanel.cpp:4186
 msgid "Removed Cut Line"
 msgstr "Usunięta linia cięcia"
 
-#: TrackPanel.cpp:5641
+#: TrackPanel.cpp:5643
 msgid "Adjusted Pan"
 msgstr "Dostrojone przesunięcie"
 
-#: TrackPanel.cpp:5703
+#: TrackPanel.cpp:5705
 msgid "Adjusted gain"
 msgstr "Dostrojone wzmocnienie"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
-#: TrackPanel.cpp:5923
+#: TrackPanel.cpp:5930
 msgid "Can't delete track with active audio"
 msgstr "Nie można usunąć ścieżki z aktywnym dźwiękiem"
 
-#: TrackPanel.cpp:6076
+#: TrackPanel.cpp:6083
 msgid "Stereo, "
 msgstr "Stereo, "
 
-#: TrackPanel.cpp:6079
+#: TrackPanel.cpp:6086
 msgid "Mono, "
 msgstr "Mono, "
 
-#: TrackPanel.cpp:6081
+#: TrackPanel.cpp:6088
 msgid "Left, "
 msgstr "Lewy, "
 
-#: TrackPanel.cpp:6083
+#: TrackPanel.cpp:6090
 msgid "Right, "
 msgstr "Prawy, "
 
-#: TrackPanel.cpp:6105
-#: TrackPanel.cpp:6251
+#: TrackPanel.cpp:6112 TrackPanel.cpp:6258
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Zmieniono '%s' na %s"
 
-#: TrackPanel.cpp:6110
+#: TrackPanel.cpp:6117
 msgid "Channel"
 msgstr "Kanał"
 
-#: TrackPanel.cpp:6131
+#: TrackPanel.cpp:6138
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Podziel ścieżkę stereo '%s'"
 
-#: TrackPanel.cpp:6169
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
+#: TrackPanel.cpp:6176
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Utwórz '%s' ścieżkę stereo"
 
-#: TrackPanel.cpp:6172
+#: TrackPanel.cpp:6179
 msgid "Make Stereo"
 msgstr "Utwórz stereo "
 
-#: TrackPanel.cpp:6215
+#: TrackPanel.cpp:6222
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "Zmieniono '%s' na %d Hz"
 
-#: TrackPanel.cpp:6217
+#: TrackPanel.cpp:6224
 msgid "Rate Change"
 msgstr "Zmiana stosunku"
 
-#: TrackPanel.cpp:6255
+#: TrackPanel.cpp:6262
 msgid "Format Change"
 msgstr "Zmień format"
 
-#: TrackPanel.cpp:6405
+#: TrackPanel.cpp:6412
 msgid "Change lower speed limit (%) to:"
 msgstr "Zmień minimalną prędkość (%) do:"
 
-#: TrackPanel.cpp:6406
-#: TrackPanel.cpp:6407
+#: TrackPanel.cpp:6413 TrackPanel.cpp:6414
 msgid "Lower speed limit"
 msgstr "Minimalna prędkość "
 
-#: TrackPanel.cpp:6412
+#: TrackPanel.cpp:6419
 msgid "Change upper speed limit (%) to:"
 msgstr "Zmień maksymalną prędkość (%) do:"
 
-#: TrackPanel.cpp:6413
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6420 TrackPanel.cpp:6421
 msgid "Upper speed limit"
 msgstr "Szybkość maksymalna"
 
-#: TrackPanel.cpp:6422
+#: TrackPanel.cpp:6429
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Ustaw zakres: '%d' - '%d'"
 
-#: TrackPanel.cpp:6425
+#: TrackPanel.cpp:6432
 msgid "Set Range"
 msgstr "Ustaw zakres"
 
-#: TrackPanel.cpp:6472
+#: TrackPanel.cpp:6479
 msgid "Change track name to:"
 msgstr "Zmień nazwę ścieżki na:"
 
-#: TrackPanel.cpp:6473
+#: TrackPanel.cpp:6480
 msgid "Track Name"
 msgstr "Nazwa ścieżki"
 
-#: TrackPanel.cpp:6476
+#: TrackPanel.cpp:6483
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "Zmiana nazwy z '%s' na '%s'"
 
-#: TrackPanel.cpp:6479
+#: TrackPanel.cpp:6486
 msgid "Name Change"
 msgstr "Zmiana nazwy"
 
-#: TrackPanel.cpp:6580
+#: TrackPanel.cpp:6587
 msgid "Label Track Font"
 msgstr "Fonty ścieżki etykiet"
 
-#: TrackPanel.cpp:6592
-#: TrackPanel.cpp:6598
+#: TrackPanel.cpp:6599 TrackPanel.cpp:6605
 msgid "Face name"
 msgstr "Nazwa płaszczyzny"
 
-#: TrackPanel.cpp:6602
-#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6609 TrackPanel.cpp:6616
 msgid "Face size"
 msgstr "Rozmiar płaszczyzny"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
+#: TrackPanel.cpp:3382 TrackPanel.cpp:7148
 msgid "Mute"
 msgstr "Cisza"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:3377 TrackPanel.cpp:7148
 msgid "Solo"
 msgstr "Solo"
 
@@ -4206,10 +4118,7 @@ msgstr "WÅ‚Ä…czone solo"
 msgid " Select On"
 msgstr "WÅ‚Ä…czone zaznaczenie"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Zaznaczenie jest zbyt małe, aby użyć klucza głosowego."
 
@@ -4236,65 +4145,62 @@ msgstr "Zmiany kierunku  -- znaczy: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Ścieżka audio"
 
-#: WaveTrack.cpp:597
-#: WaveTrack.cpp:616
-#: WaveTrack.cpp:1057
-#: WaveTrack.cpp:1076
+#: WaveTrack.cpp:826 WaveTrack.cpp:845
 msgid "There is not enough room available to paste the selection"
 msgstr "Nie ma wystarczająco miejsca, aby wkleić zaznaczenie"
 
-#: WaveTrack.cpp:2086
+#: WaveTrack.cpp:1863
 msgid "There is not enough room available to expand the cut line"
 msgstr "Nie ma wystarczająco miejsca, aby rozszerzyć linię cięcia"
 
-#: commands/CommandManager.cpp:555
+#: commands/CommandManager.cpp:518
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Wtyczki 1do %i"
 
-#: commands/CommandManager.cpp:569
+#: commands/CommandManager.cpp:532
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Wtyczki %i do %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Zakazane  z pewnego powodu. Czy chcesz najpierw spróbować zaznaczyć dźwięk?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
-#: commands/CommandManager.cpp:892
+#: commands/CommandManager.cpp:861
 msgid "You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
 msgstr "Możesz to zrobić tylko, gdy nagrywanie lub odtwarzanie są\n"
 "zatrzymane. [Pauza nie jest wystarczajÄ…ca.]"
 
-#: commands/CommandManager.cpp:894
+#: commands/CommandManager.cpp:863
 msgid "You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
 msgstr "Najpierw trzeba zaznaczyć dźwięk stereo.\n"
 "[Nie można użć tego z mono.]"
 
-#: commands/CommandManager.cpp:896
+#: commands/CommandManager.cpp:865
 msgid "You must first select some audio for this to use."
 msgstr "Najpierw trzeba zaznaczyć dźwięk."
 
-#: commands/CommandManager.cpp:898
+#: commands/CommandManager.cpp:867
 msgid "You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
 msgstr "Najpierw trzeba zaznaczyć dźwięk. \n"
 "[Zaznaczanie innych rodzajów ścieżki nie zadziała.]"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:872
 #, fuzzy
 msgid "Disallowed"
 msgstr "Zablokowany"
 
-#: commands/CommandManager.cpp:1083
+#: commands/CommandManager.cpp:1054
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Załadowano %d skróty klawiaturowe\n"
 
-#: commands/CommandManager.cpp:1085
+#: commands/CommandManager.cpp:1056
 msgid "Loading keyboard shortcuts"
 msgstr "Ładowanie skrótów klawiaturowych"
 
@@ -4307,8 +4213,7 @@ msgstr "Dodano efekt: %s %.1f dB"
 msgid "Amplify"
 msgstr "Wzmacniaj"
 
-#: effects/Amplify.cpp:155
-#: effects/Compressor.cpp:476
+#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
 #: effects/Normalize.cpp:337
 #, fuzzy
 msgid "by Dominic Mazzoni"
@@ -4320,7 +4225,7 @@ msgstr "Wzmocnienie (dB):"
 
 #: effects/Amplify.cpp:183
 msgid "Amplification dB"
-msgstr ""
+msgstr "Wzmocnienie dB"
 
 #: effects/Amplify.cpp:190
 msgid "New Peak Amplitude (dB):"
@@ -4330,11 +4235,9 @@ msgstr "Nowy Szczyt Amplitudy (dB):"
 msgid "Allow clipping"
 msgstr "Pozwól na obcinanie"
 
-#: effects/Amplify.cpp:222
-#: effects/Amplify.cpp:279
-#: effects/Amplify.cpp:323
+#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
 msgid "-Infinity"
-msgstr ""
+msgstr "-Nieskończoność"
 
 #: effects/Amplify.h:37
 msgid "Amplify..."
@@ -4348,9 +4251,7 @@ msgstr "Wzmocnienie"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Zaznaczyłeś ścieżkę, która nie zawiera dźwięku. AutoDuck może tylko przetwarzać ścieżki dźwiękowe."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Auto Duck"
@@ -4372,23 +4273,13 @@ msgid "Maximum pause:"
 msgstr "Maksymalna pauza:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: effects/Contrast.cpp:263
-#: effects/Contrast.cpp:286
-#: prefs/AudioIOPrefs.cpp:172
-#: prefs/AudioIOPrefs.cpp:180
-#: prefs/AudioIOPrefs.cpp:182
-#: prefs/AudioIOPrefs.cpp:207
-#: prefs/AudioIOPrefs.cpp:209
-#: prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163
-#: prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:197
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:174 prefs/AudioIOPrefs.cpp:182
+#: prefs/AudioIOPrefs.cpp:184 prefs/AudioIOPrefs.cpp:211
+#: prefs/AudioIOPrefs.cpp:213 prefs/MidiIOPrefs.cpp:161
+#: prefs/MidiIOPrefs.cpp:163 prefs/MidiIOPrefs.cpp:187
+#: prefs/MidiIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:197
 #: widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "sekund"
@@ -4409,8 +4300,7 @@ msgstr "Długość wewnętrznego ściszenia:"
 msgid "Inner fade up length:"
 msgstr "Długość wewnętrznego zgłośnienia:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:494
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:494
 msgid "Threshold:"
 msgstr "Próg:"
 
@@ -4430,10 +4320,8 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "Przetwarzanie Auto Duck..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:455
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/nyquist/Nyquist.cpp:1053
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:455
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/nyquist/Nyquist.cpp:1214
 #: widgets/ErrorDialog.cpp:101
 msgid "OK"
 msgstr "OK"
@@ -4447,28 +4335,25 @@ msgstr "Dodano efekt: %s częstotliwość = %.0f Hz, podbicie = %.0f dB"
 msgid "Bass Boost"
 msgstr "Podbicie basów"
 
-#: effects/BassBoost.cpp:182
-#: effects/Phaser.cpp:219
-#: effects/Wahwah.cpp:214
+#: effects/BassBoost.cpp:182 effects/Phaser.cpp:219 effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr "autorstwa Nasca Octavian Paul"
 
-#: effects/BassBoost.cpp:196
-#: effects/ChangePitch.cpp:322
+#: effects/BassBoost.cpp:196 effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "Częstotliwość (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Częstotliwość w Hertzach"
 
-#: effects/BassBoost.cpp:208
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Wzmocnienie (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Podbicie w dB"
 
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
@@ -4499,14 +4384,12 @@ msgstr "Zmień wysokość"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Zmień wysokość bez zmiany tempa"
 
-#: effects/ChangePitch.cpp:258
-#: effects/ChangeSpeed.cpp:336
-#: effects/ChangeTempo.cpp:173
+#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:334
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "autorzy: Vaughan Johnson i Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:260
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangePitch.cpp:260 effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "używa­ SoundTouch ( autor : Olli Parviainen)"
 
@@ -4522,11 +4405,11 @@ msgstr "Format:"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "Z Poziomu"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "Do"
 
 #: effects/ChangePitch.cpp:289
 #, fuzzy
@@ -4535,7 +4418,7 @@ msgstr "dół"
 
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "Do:"
 
 #: effects/ChangePitch.cpp:300
 #, fuzzy
@@ -4551,22 +4434,18 @@ msgstr "Półtony"
 msgid "Semitones in half-steps"
 msgstr "Półtony"
 
-#: effects/ChangePitch.cpp:326
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:206
-#: effects/ChangeTempo.cpp:219
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:367
+#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "od"
 
 #: effects/ChangePitch.cpp:327
 #, fuzzy
 msgid "From frequency in hertz"
 msgstr "Skala logarytmiczna"
 
-#: effects/ChangePitch.cpp:331
-#: effects/ChangeSpeed.cpp:374
-#: effects/ChangeTempo.cpp:211
-#: effects/ChangeTempo.cpp:224
+#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:372
+#: effects/ChangeTempo.cpp:214 effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "do"
 
@@ -4575,16 +4454,13 @@ msgstr "do"
 msgid "To frequency in seconds"
 msgstr "Skala logarytmiczna"
 
-#: effects/ChangePitch.cpp:338
-#: effects/ChangeSpeed.cpp:347
-#: effects/ChangeTempo.cpp:184
+#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:345
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Procentowa zmiana:"
 
-#: effects/ChangePitch.cpp:343
-#: effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358
-#: effects/ChangeTempo.cpp:195
+#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:356 effects/ChangeTempo.cpp:198
 #, fuzzy
 msgid "Percent Change"
 msgstr "Procentowa zmiana:"
@@ -4597,13 +4473,12 @@ msgstr "Zmień wysokość..."
 msgid "Changing Pitch"
 msgstr "Zmiana wysokości"
 
-#: effects/ChangeSpeed.cpp:54
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:54 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Dodano efekt %s %.1f%%"
 
-#: effects/ChangeSpeed.cpp:298
+#: effects/ChangeSpeed.cpp:296
 msgid "Change Speed"
 msgstr "Zmień prędkość"
 
@@ -4613,30 +4488,30 @@ msgstr "Zmień prędkość"
 #  unimportant, not relevant).
 #. i18n-hint: n/a is an English abbreviation meaning "not applicable"
 #. (in other words, unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:329
+#: effects/ChangeSpeed.cpp:327
 msgid "n/a"
 msgstr "niedostępne"
 
-#: effects/ChangeSpeed.cpp:334
+#: effects/ChangeSpeed.cpp:332
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Zmiana prędkości ze zmianą tempa i wysokości"
 
-#: effects/ChangeSpeed.cpp:338
+#: effects/ChangeSpeed.cpp:336
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "używa SampleRate (autor: Erik de Castro Lopo)"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:364
 #, fuzzy
 msgid "Standard Vinyl RPM:"
 msgstr "\"Czarna\" płyta -obrotów na  minutę:   z"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:368
 msgid "From RPM"
-msgstr ""
+msgstr "Od RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:373
 msgid "To RPM"
-msgstr ""
+msgstr "Do RPM"
 
 #: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
@@ -4646,38 +4521,38 @@ msgstr "Zmień prędkość..."
 msgid "Changing Speed"
 msgstr "Zmiana prędkości"
 
-#: effects/ChangeTempo.cpp:138
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Zmień tempo"
 
-#: effects/ChangeTempo.cpp:171
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Zmień tempo bez zmiany częstotliwości"
 
-#: effects/ChangeTempo.cpp:203
+#: effects/ChangeTempo.cpp:206
 #, fuzzy
 msgid "Beats per minute:"
 msgstr "Uderzeń na minutę (BPM):   od"
 
-#: effects/ChangeTempo.cpp:207
+#: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "Od bitów na minutę"
 
-#: effects/ChangeTempo.cpp:212
+#: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "Do bitów na minutę"
 
-#: effects/ChangeTempo.cpp:216
+#: effects/ChangeTempo.cpp:219
 #, fuzzy
 msgid "Length (seconds):"
 msgstr "Długość (sekund)"
 
-#: effects/ChangeTempo.cpp:220
+#: effects/ChangeTempo.cpp:223
 #, fuzzy
 msgid "From length in seconds"
 msgstr "Długość (sekund)"
 
-#: effects/ChangeTempo.cpp:225
+#: effects/ChangeTempo.cpp:228
 #, fuzzy
 msgid "To length in seconds"
 msgstr "Długość (sekund)"
@@ -4705,15 +4580,15 @@ msgstr "Zaznacz próg (niższy jest bardziej wrażliwy):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Zaznacz próg"
 
-#: effects/ClickRemoval.cpp:353
+#: effects/ClickRemoval.cpp:354
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Maksymalna wartość szczytowa (wyższa jest bardziej wrażliwa):"
 
 #: effects/ClickRemoval.cpp:363
 msgid "Max spike width"
-msgstr ""
+msgstr "Maksymalna szerokość wartości szczytowej"
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
@@ -4763,7 +4638,8 @@ msgid "Decay Time"
 msgstr "Czas zanikania progu:"
 
 #: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
+#, fuzzy
+msgid "Make-up gain for 0dB after compressing"
 msgstr "Normalizuj do 0dB po kompresji"
 
 #: effects/Compressor.cpp:563
@@ -4774,7 +4650,7 @@ msgstr "Próg: %d dB"
 #: effects/Compressor.cpp:564
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
 #: effects/Compressor.cpp:567
 #, fuzzy, c-format
@@ -4801,8 +4677,7 @@ msgstr "Stosunek: %.1f:1"
 msgid "Attack Time %.1f secs"
 msgstr "Czas narastania: %.1f sek."
 
-#: effects/Compressor.cpp:576
-#: effects/Compressor.cpp:579
+#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
 #, fuzzy, c-format
 msgid "%.1f secs"
 msgstr "%d sekund"
@@ -4820,308 +4695,273 @@ msgstr "Kompresor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Dodano kompresjÄ™ dynamiki"
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Narzędzi Kontrastu Pierwszego Planu"
 
 #: effects/Contrast.cpp:79
 msgid "Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
-msgstr ""
+msgstr "Czasy pierwszego planu zaznaczone.\n"
+"Zaznacz teraz tło i użyj Ctrl+Shift+T lub menu."
 
 #: effects/Contrast.cpp:127
 msgid "Start time after after end time!\n"
 "Please enter reasonable times."
-msgstr ""
+msgstr "Początek czasu za końcem czasu!\n"
+"Proszę wpisać właściwe czasy."
 
 #: effects/Contrast.cpp:137
 msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
-msgstr ""
+msgstr "Czasy niewłaściwe!\n"
+"Proszę wpisać właściwe czasy."
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193
-#: effects/Contrast.cpp:204
-#: effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-#, fuzzy
-msgid "Measured"
-msgstr "Połącz"
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
-msgstr ""
+msgstr "Analizator Kontrastu"
 
-#: effects/Contrast.cpp:235
+#: effects/Contrast.cpp:321
 #, fuzzy
 msgid "Parameters"
 msgstr "&Parametry"
 
-#: effects/Contrast.cpp:242
-#: effects/ToneGen.cpp:355
+#: effects/Contrast.cpp:328 effects/ToneGen.cpp:354
 #: toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "PoczÄ…tek"
 
-#: effects/Contrast.cpp:243
-#: effects/ToneGen.cpp:356
-#: toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:156
-#: toolbars/SelectionBar.cpp:159
-#: toolbars/SelectionBar.cpp:262
+#: effects/Contrast.cpp:329 effects/ToneGen.cpp:355
+#: toolbars/ControlToolBar.cpp:189 toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Koniec"
 
 #: effects/Contrast.cpp:332
 msgid "Volume    "
-msgstr ""
+msgstr "Głośność"
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:335
 msgid "Foreground:"
-msgstr ""
+msgstr "Pierwszy Plan:"
 
 #: effects/Contrast.cpp:347
 msgid "Foreground start time"
-msgstr ""
+msgstr "Czas rozpoczęcia pierwszego planu."
 
 #: effects/Contrast.cpp:365
 msgid "Foreground end time"
-msgstr ""
+msgstr "Czas zakończenia pierwszego planu."
+
+#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
+#, fuzzy
+msgid "Measured"
+msgstr "Połącz"
 
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
-msgstr ""
+msgstr "Użyj zaznaczenia"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:378
 msgid "Background:"
-msgstr ""
+msgstr "TÅ‚o:"
 
 #: effects/Contrast.cpp:391
 msgid "Background start time"
-msgstr ""
+msgstr "Czas rozpoczęcia tła"
 
 #: effects/Contrast.cpp:409
 msgid "Background end time"
-msgstr ""
+msgstr "Czas zakończenia tła"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:426
 #, fuzzy
 msgid "Result"
 msgstr "Resetuj"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:430
 #, fuzzy
 msgid "Contrast Result:"
 msgstr "Wyniki kalibracji"
 
-#: Tags.cpp:840
-#: Tags.cpp:1990
+#: effects/Contrast.cpp:433
 msgid "Reset"
 msgstr "Resetuj"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:434
 msgid "Difference:"
-msgstr ""
+msgstr "Różnice:"
 
-#: effects/Contrast.cpp:313
+#: effects/Contrast.cpp:445
 msgid "Information"
 msgstr "Wprowadzenie"
 
 #: effects/Contrast.cpp:447
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Do mierzenia różnic głośności pomiędzy dwoma zaznaczeniami dźwięku."
 
 #: effects/Contrast.cpp:448
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "Kontrola"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
+msgstr "Pomoc dla Analizatora Kontrastu WCAG2"
 
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
-#: effects/Contrast.cpp:328
-#: effects/Contrast.cpp:336
-#: effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
+#: effects/Contrast.cpp:484
 #, fuzzy
 msgid "Measure"
 msgstr "Połącz"
 
 #: effects/Contrast.cpp:511
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Brak pierwszego planu do zmierzenia"
 
 #: effects/Contrast.cpp:516
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Pierwszy plan zmierzony"
 
-#: effects/Contrast.cpp:191
-#: effects/Contrast.cpp:202
+#: effects/Contrast.cpp:517 effects/Contrast.cpp:527
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
 #: effects/Contrast.cpp:521
 msgid "No background to measure"
-msgstr ""
+msgstr "Brak tła do zmierzenia"
 
 #: effects/Contrast.cpp:526
 msgid "Measured background level"
-msgstr ""
+msgstr "TÅ‚o zmierzone"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:532
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "WCAG2 zdane"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:534
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "WCAG2 niezdane"
 
 #: effects/Contrast.cpp:535
 msgid "Current difference"
-msgstr ""
+msgstr "Aktualna różnica"
 
 #: effects/Contrast.cpp:536
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "Åšrednia %.1f dB"
 
 #: effects/Contrast.cpp:541
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Proszę wpisać ważne czasy."
 
 #: effects/Contrast.cpp:551
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Wyeksportuj rezultaty Kontrastu jako:"
 
 #: effects/Contrast.cpp:572
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "Kryteria Sukcesu WCAG 2.0 Rezultaty Kontrastu 1.4.7"
 
 #: effects/Contrast.cpp:574
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Nazwa Pliku = %s."
 
 #: effects/Contrast.cpp:576
 msgid "Foreground"
-msgstr ""
+msgstr "Pierwszy Plan"
 
 #: effects/Contrast.cpp:581 effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Czas poczÄ…tku = %2d godzina(y), %2d minuta(y), %.2f sekund."
 
 #: effects/Contrast.cpp:586 effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Czas zakończenia = %2d godzina(y), %2d minuta(y), %.2f sekundy."
 
 #: effects/Contrast.cpp:588 effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Åšrednia rms = %.1f dB."
 
 #: effects/Contrast.cpp:590 effects/Contrast.cpp:607
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Åšrednia rms =  dB."
 
 #: effects/Contrast.cpp:593
 msgid "Background"
-msgstr ""
+msgstr "TÅ‚o"
 
 #: effects/Contrast.cpp:609
 msgid "Results"
-msgstr ""
+msgstr "Wyniki"
 
 #: effects/Contrast.cpp:611
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Różnica = %.1f Średnia rms dB."
 
 #: effects/Contrast.cpp:613
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Kryteria Sukcesu 1.4.7  WCAG 2.0: Zdane"
 
 #: effects/Contrast.cpp:615
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Kryteria Sukcesu 1.4.7  WCAG 2.0: Niezdane"
 
 #: effects/Contrast.cpp:618
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
+msgstr "Dane zebrane"
 
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "Generator dźwięku DTMF"
 
-#: effects/DtmfGen.cpp:456
+#: effects/DtmfGen.cpp:454
 msgid "by Salvo Ventura (2006)"
 msgstr "autorstwa Salvo Ventury (2006)"
 
-#: effects/DtmfGen.cpp:460
+#: effects/DtmfGen.cpp:458
 msgid "DTMF sequence:"
 msgstr "sekwencja DTMF:"
 
-#: effects/DtmfGen.cpp:463
-#: effects/Noise.cpp:242
-#: effects/ToneGen.cpp:322
-#: effects/ToneGen.cpp:359
+#: effects/DtmfGen.cpp:461 effects/Noise.cpp:240 effects/ToneGen.cpp:320
+#: effects/ToneGen.cpp:358
 msgid "Amplitude (0-1)"
 msgstr "Amplituda (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:463
 #, fuzzy
 msgid "Duration:"
 msgstr "Czas trwania"
 
-#: effects/DtmfGen.cpp:486
+#: effects/DtmfGen.cpp:485
 msgid "Tone/silence ratio:"
 msgstr "Współczynnik dźwięk/cisza"
 
-#: effects/DtmfGen.cpp:496
+#: effects/DtmfGen.cpp:495
 msgid "Duty cycle:"
 msgstr "Cykl:"
 
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:497
 msgid "Tone duration:"
 msgstr "Czas trwania dźwięku:"
 
-#: effects/DtmfGen.cpp:499
-#: effects/DtmfGen.cpp:501
+#: effects/DtmfGen.cpp:498 effects/DtmfGen.cpp:500 effects/DtmfGen.cpp:576
 #: effects/DtmfGen.cpp:577
-#: effects/DtmfGen.cpp:578
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:500
+#: effects/DtmfGen.cpp:499
 msgid "Silence duration:"
 msgstr "Czas trwania ciszy:"
 
@@ -5143,22 +4983,21 @@ msgstr "Generowanie dźwięków DTMF"
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Dodano efekt: %s opóźnienie = %f sekund, wsp. zaniku = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Echo"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195
-#: effects/Repeat.cpp:200
+#: effects/Echo.cpp:199 effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "autorzy: Dominia Mazzoni && Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Czas opóźnienia (sekund):"
 
-#: effects/Echo.cpp:212
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Współczynnik zaniku (decay):"
 
@@ -5170,102 +5009,103 @@ msgstr "Echo..."
 msgid "Performing Echo"
 msgstr "Tworzenie echa"
 
-#: effects/Effect.cpp:467
+#: effects/Effect.cpp:469
 msgid "Preparing preview"
 msgstr "Przygotowywanie podglÄ…du"
 
-#: effects/Effect.cpp:497
+#: effects/Effect.cpp:499
 msgid "Previewing"
 msgstr "PodglÄ…d"
 
-#: effects/Effect.cpp:512
+#: effects/Effect.cpp:514
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Błąd podczas otwarcia urządzenia audio. Proszę sprawdzić ustawienia urządzenia wyjściowego audio i częstotliwość próbkowania projektu."
 
-#: effects/Effect.h:100
+#: effects/Effect.h:97 effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Dodano efekt %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:334
 msgid "B-spline"
 msgstr "Klin-B"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:335
 msgid "Cosine"
 msgstr "Cosinus"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:336
 msgid "Cubic"
 msgstr "Sześcienny"
 
-#: effects/Equalization.cpp:367
-#: effects/Equalization.cpp:416
+#: effects/Equalization.cpp:369 effects/Equalization.cpp:417
 msgid "Equalization"
 msgstr "Korekcja graficzna"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:992
 msgid "Error loading EQ curve"
 msgstr "BÅ‚Ä…d podczas Å‚adowania krzywej EQ"
 
-#: effects/Equalization.cpp:1033
+#: effects/Equalization.cpp:1031
 msgid "custom"
 msgstr "na zamówienie"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
-#: effects/Equalization.cpp:1101
+#: effects/Equalization.cpp:1099
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Korekcja autorstwa Martyn Shaw && Mitcha Golden"
 
-#: effects/Equalization.cpp:1122
+#: effects/Equalization.cpp:1120
 msgid "Max dB"
 msgstr "Maks dB"
 
-#: effects/Equalization.cpp:1124
+#: effects/Equalization.cpp:1122
 msgid "Min dB"
 msgstr "MIn dB"
 
-#: effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1195
 msgid "kHz"
 msgstr "kHz"
 
-#: effects/Equalization.cpp:1214
+#: effects/Equalization.cpp:1212
 msgid "Draw curves"
 msgstr "Twórz krzywe"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1217
 msgid "Graphic EQ"
 msgstr "Korektor graficzny"
 
-#: effects/Equalization.cpp:1233
+#: effects/Equalization.cpp:1231
 msgid "Linear frequency scale"
 msgstr "Linearna skala częstotliwości"
 
-#: effects/Equalization.cpp:1242
+#: effects/Equalization.cpp:1240
 msgid "Length of filter:"
 msgstr "Długość filtra:"
 
-#: effects/Equalization.cpp:1263
+#: effects/Equalization.cpp:1261
 msgid "Select curve:"
 msgstr "Zaznacz krzywÄ…:"
 
-#: effects/Equalization.cpp:1273
-#: effects/Equalization.cpp:2512
-#: export/ExportMultiple.cpp:882
+#: effects/Equalization.cpp:1271 effects/Equalization.cpp:2510
+#: export/ExportMultiple.cpp:900
 msgid "Save As..."
 msgstr "Zapisz jako..."
 
-#: effects/Equalization.cpp:1279
+#: effects/Equalization.cpp:1277
 msgid "Flat"
 msgstr "PÅ‚askie"
 
-#: effects/Equalization.cpp:2511
+#: effects/Equalization.cpp:2509
 msgid "Enter the desired name of the curve"
 msgstr "Wprowadź nazwę dla "
 
-#: effects/Equalization.cpp:2611
-#: export/ExportFFmpegDialogs.cpp:1220
+#: effects/Equalization.cpp:2609 export/ExportFFmpegDialogs.cpp:1211
 msgid "Confirm Deletion"
 msgstr "Potwierdź Usunięcie"
 
@@ -5341,49 +5181,48 @@ msgstr "Odwracanie"
 msgid "Leveller"
 msgstr "Wyrównywacz"
 
-#: effects/Leveller.cpp:203
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Bez-przeskoku"
 
-#: effects/Leveller.cpp:204
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "Lekki"
 
-#: effects/Leveller.cpp:205
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "Åšredni"
 
-#: effects/Leveller.cpp:206
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "Ciężki"
 
-#: effects/Leveller.cpp:207
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "Cięższy"
 
-#: effects/Leveller.cpp:208
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "Najcięższy"
 
-#: effects/Leveller.cpp:212
-#: effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:214 effects/TruncSilence.cpp:331
 msgid "by Lynn Allan"
 msgstr "Lynn Allan"
 
-#: effects/Leveller.cpp:222
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Poziom wysterowania"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 #, fuzzy
 msgid "Degree of Leveling:"
 msgstr "Poziom wysterowania"
 
-#: effects/Leveller.cpp:234
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Próg hałasu"
 
-#: effects/Leveller.cpp:238
+#: effects/Leveller.cpp:240
 #, fuzzy
 msgid "Threshold for Noise:"
 msgstr "Próg dla hałasu: "
@@ -5396,177 +5235,170 @@ msgstr "Wyrównywacz..."
 msgid "Applying Leveller..."
 msgstr "Stosowanie Wyrównywacza..."
 
-#: effects/LoadEffects.cpp:102
+#: effects/LoadEffects.cpp:103
 #, fuzzy
 msgid "Generator"
 msgstr "Generator tonu"
 
-#: effects/LoadEffects.cpp:104
+#: effects/LoadEffects.cpp:105
 msgid "Instrument"
-msgstr ""
+msgstr "Instrument"
 
-#: effects/LoadEffects.cpp:106
+#: effects/LoadEffects.cpp:107
 msgid "Oscillator"
-msgstr ""
+msgstr "Oscylator"
 
-#: effects/LoadEffects.cpp:108
+#: effects/LoadEffects.cpp:109
 msgid "Utility"
-msgstr ""
+msgstr "Użyteczność"
 
-#: effects/LoadEffects.cpp:110
+#: effects/LoadEffects.cpp:111
 #, fuzzy
 msgid "Converter"
 msgstr "Odwróć w pionie"
 
-#: effects/LoadEffects.cpp:112
+#: effects/LoadEffects.cpp:113
 #, fuzzy
 msgid "Analyser"
 msgstr "&Analiza"
 
-#: effects/LoadEffects.cpp:114
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mikser"
-
-#: effects/LoadEffects.cpp:116
+#: effects/LoadEffects.cpp:117
 msgid "Simulator"
-msgstr ""
+msgstr "Symulator"
 
-#: effects/LoadEffects.cpp:118
+#: effects/LoadEffects.cpp:119
 #, fuzzy
 msgid "Delay"
 msgstr "Wyświetlacz"
 
-#: effects/LoadEffects.cpp:120
+#: effects/LoadEffects.cpp:121
 msgid "Modulator"
-msgstr ""
+msgstr "Modulator"
 
-#: effects/LoadEffects.cpp:122
+#: effects/LoadEffects.cpp:123
 #, fuzzy
 msgid "Reverb"
 msgstr "Odzyskaj"
 
-#: effects/LoadEffects.cpp:124
-#: effects/Phaser.cpp:208
+#: effects/LoadEffects.cpp:125 effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Fazer"
 
-#: effects/LoadEffects.cpp:126
+#: effects/LoadEffects.cpp:127
 msgid "Flanger"
-msgstr ""
+msgstr "Flanger"
 
-#: effects/LoadEffects.cpp:128
+#: effects/LoadEffects.cpp:129
 msgid "Chorus"
-msgstr ""
+msgstr "Chór"
 
-#: effects/LoadEffects.cpp:130
+#: effects/LoadEffects.cpp:131
 #, fuzzy
 msgid "Filter"
 msgstr "Plik"
 
-#: effects/LoadEffects.cpp:132
+#: effects/LoadEffects.cpp:133
 msgid "Lowpass"
-msgstr ""
+msgstr "Filtr dolnoprzepustowy"
 
-#: effects/LoadEffects.cpp:134
+#: effects/LoadEffects.cpp:135
 msgid "Bandpass"
-msgstr ""
+msgstr "Filtr Åšrodkowoprzepustowy"
 
-#: effects/LoadEffects.cpp:136
+#: effects/LoadEffects.cpp:137
 msgid "Highpass"
-msgstr ""
+msgstr "Filtr Górnoprzepustowy"
 
-#: effects/LoadEffects.cpp:138
+#: effects/LoadEffects.cpp:139
 msgid "Comb"
-msgstr ""
+msgstr "Grzebień"
 
-#: effects/LoadEffects.cpp:140
+#: effects/LoadEffects.cpp:141
 msgid "Allpass"
-msgstr ""
+msgstr "Filtr Przepustowy"
 
-#: effects/LoadEffects.cpp:142
+#: effects/LoadEffects.cpp:143
 msgid "Equaliser"
-msgstr ""
+msgstr "Korektor"
 
-#: effects/LoadEffects.cpp:144
+#: effects/LoadEffects.cpp:145
 #, fuzzy
 msgid "Parametric"
 msgstr "&Parametry"
 
-#: effects/LoadEffects.cpp:146
+#: effects/LoadEffects.cpp:147
 #, fuzzy
 msgid "Multiband"
 msgstr "Multi"
 
-#: effects/LoadEffects.cpp:148
+#: effects/LoadEffects.cpp:149
 msgid "Spectral Processor"
-msgstr ""
+msgstr "Procesor Spektrum"
 
-#: effects/LoadEffects.cpp:150
+#: effects/LoadEffects.cpp:151
 #, fuzzy
 msgid "Pitch Shifter"
 msgstr "Wysokość   z"
 
-#: effects/LoadEffects.cpp:152
+#: effects/LoadEffects.cpp:153
 #, fuzzy
 msgid "Amplifier"
 msgstr "Wzmacniaj"
 
-#: effects/LoadEffects.cpp:154
+#: effects/LoadEffects.cpp:155
 #, fuzzy
 msgid "Distortion"
 msgstr "Rozdziel"
 
-#: effects/LoadEffects.cpp:156
+#: effects/LoadEffects.cpp:157
 msgid "Waveshaper"
-msgstr ""
+msgstr "Tworzenie Fali"
 
-#: effects/LoadEffects.cpp:158
+#: effects/LoadEffects.cpp:159
 #, fuzzy
 msgid "Dynamics Processor"
 msgstr "Kompresor dynamiki"
 
-#: effects/LoadEffects.cpp:160
+#: effects/LoadEffects.cpp:161
 #, fuzzy
 msgid "Compressor"
 msgstr "Kompresor..."
 
-#: effects/LoadEffects.cpp:162
+#: effects/LoadEffects.cpp:163
 #, fuzzy
 msgid "Expander"
 msgstr "Rozszerz"
 
-#: effects/LoadEffects.cpp:164
+#: effects/LoadEffects.cpp:165
 #, fuzzy
 msgid "Limiter"
 msgstr "Wahania"
 
-#: effects/LoadEffects.cpp:166
+#: effects/LoadEffects.cpp:167
 #, fuzzy
 msgid "Gate"
 msgstr "Wklej"
 
-#: effects/LoadEffects.cpp:199
-#: effects/NoiseRemoval.cpp:725
+#: effects/LoadEffects.cpp:200 effects/NoiseRemoval.cpp:729
 msgid "Noise Removal"
 msgstr "Odszumiacz"
 
-#: effects/LoadEffects.cpp:201
+#: effects/LoadEffects.cpp:202
 #, fuzzy
 msgid "Pitch and Tempo"
 msgstr "Zmień tempo"
 
-#: effects/LoadEffects.cpp:203
+#: effects/LoadEffects.cpp:204
 #, fuzzy
 msgid "Timeline Changer"
 msgstr "Zmiana nazwy"
 
-#: effects/LoadEffects.cpp:205
+#: effects/LoadEffects.cpp:206
 #, fuzzy
 msgid "Time"
 msgstr "Przytnij"
 
-#: effects/LoadEffects.cpp:207
+#: effects/LoadEffects.cpp:208
 #, fuzzy
 msgid "Onsets"
 msgstr "&Wstaw"
@@ -5587,7 +5419,7 @@ msgstr "BrÄ…zowy"
 msgid "Noise Generator"
 msgstr "Generator hałasu"
 
-#: effects/Noise.cpp:241
+#: effects/Noise.cpp:239
 msgid "Noise type"
 msgstr "Rodzaj hałasu"
 
@@ -5615,57 +5447,57 @@ msgstr "Nie można otworzyć pliku:\n"
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Próba zastosowania Usuwania Hałasu bez profilu hałasu.\n"
 
-#: effects/NoiseRemoval.cpp:814
+#: effects/NoiseRemoval.cpp:818
 msgid "Step 1"
 msgstr "Krok 1"
 
-#: effects/NoiseRemoval.cpp:815
+#: effects/NoiseRemoval.cpp:819
 msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
 msgstr "Zaznacz kilka sekund szumu, aby Audacity wiedziało co odfiltrować,\n"
 "następnie kliknij na Pobierz profil hałasu:"
 
-#: effects/NoiseRemoval.cpp:816
+#: effects/NoiseRemoval.cpp:820
 msgid "Step 2"
 msgstr "Krok 2"
 
-#: effects/NoiseRemoval.cpp:817
+#: effects/NoiseRemoval.cpp:821
 msgid "Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr "Zaznacz cały dźwięk, który chcesz przefiltrować, wybierz ilość szumów do\n"
 "przefiltrowania i kliknij na OK, aby usunąć szumy.\n"
 
-#: effects/NoiseRemoval.cpp:822
+#: effects/NoiseRemoval.cpp:826
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Usuwanie szumu (Dominic Mazzoni)"
 
-#: effects/NoiseRemoval.cpp:830
+#: effects/NoiseRemoval.cpp:834
 msgid "Get Noise Profile"
 msgstr "Pobierz próbkę szumu"
 
-#: effects/NoiseRemoval.cpp:841
+#: effects/NoiseRemoval.cpp:845
 msgid "Noise reduction (dB):"
 msgstr "Redukcja szumów (dB):"
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "Redukcja hałasu"
 
-#: effects/NoiseRemoval.cpp:849
+#: effects/NoiseRemoval.cpp:854
 msgid "Frequency smoothing (Hz):"
 msgstr "Wygładzanie częstotliwości (Hz):"
 
 #: effects/NoiseRemoval.cpp:859
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Wygładzanie częstotliwości"
 
-#: effects/NoiseRemoval.cpp:857
+#: effects/NoiseRemoval.cpp:863
 msgid "Attack/decay time (secs):"
 msgstr "Czas reakcji (sekund):"
 
 #: effects/NoiseRemoval.cpp:868
 msgid "Attach/decay time"
-msgstr ""
+msgstr "Czas przyłączenia/odłączenia"
 
 #: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
@@ -5686,15 +5518,9 @@ msgstr "Usuwanie szumu"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Zastosowany efekt: %s usuń offset = %s, normalizuj amplitudę = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "fałsz"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "prawda"
 
@@ -5708,12 +5534,11 @@ msgid "Normalize"
 msgstr "Normalizacja "
 
 #: effects/Normalize.cpp:351
-#: effects/Normalize.cpp:352
 #, fuzzy
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "Usuwanie składowej stałej"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:354
 #, fuzzy
 msgid "Normalize maximum amplitude to:"
 msgstr "Znormalizuj maksymalnÄ… amplitudÄ™ do"
@@ -5724,7 +5549,7 @@ msgstr "-"
 
 #: effects/Normalize.cpp:367
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Maksimum dB"
 
 #: effects/Normalize.h:33
 msgid "Normalize..."
@@ -5750,30 +5575,26 @@ msgstr "Plany:"
 
 #: effects/Phaser.cpp:231
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "Suchy/Mokry:"
 
 #: effects/Phaser.cpp:234
 msgid "Dry Wet"
-msgstr ""
+msgstr "Suchy Mokry"
 
-#: effects/Phaser.cpp:236
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:236 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Częstotliwość LFO (Hz)"
 
-#: effects/Phaser.cpp:239
-#: effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
 #, fuzzy
 msgid "LFO frequency in hertz"
 msgstr "Częstotliwość LFO (Hz)"
 
-#: effects/Phaser.cpp:241
-#: effects/Wahwah.cpp:226
+#: effects/Phaser.cpp:241 effects/Wahwah.cpp:226
 msgid "LFO Start Phase (deg.):"
 msgstr "Początkowe Przesunięcie LFO (deg.):"
 
-#: effects/Phaser.cpp:244
-#: effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
 #, fuzzy
 msgid "LFO start phase in degrees"
 msgstr "Początkowe Przesunięcie LFO (deg.):"
@@ -5782,10 +5603,9 @@ msgstr "Początkowe Przesunięcie LFO (deg.):"
 msgid "Depth:"
 msgstr "Głębokość:"
 
-#: effects/Phaser.cpp:249
-#: effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
 msgid "Depth in percent"
-msgstr ""
+msgstr "Głębokość w procentach"
 
 #: effects/Phaser.cpp:251
 msgid "Feedback (%):"
@@ -5793,7 +5613,7 @@ msgstr "Sprzężenie (%):"
 
 #: effects/Phaser.cpp:254
 msgid "Feedback in percent"
-msgstr ""
+msgstr "Sprzężenie zwrotne w procentach"
 
 #: effects/Phaser.h:45
 msgid "Phaser..."
@@ -5817,7 +5637,11 @@ msgid "Repair works by using audio data outside the selection region.\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
-msgstr ""
+msgstr "Napraw dźwięk używając danych dźwiękowych spoza zaznaczonego regionu.\n"
+"\n"
+"Zaznacz region dotykający dźwięku przynajmniej z jednej strony.\n"
+"\n"
+"Im więcej otaczającego dźwięku, tym lepiej."
 
 #: effects/Repair.h:43
 msgid "Repairing damaged audio"
@@ -5832,29 +5656,27 @@ msgstr "Powtórzono %d-razy"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Ścieżki są zbyt długie aby powtórnie wstawić zaznaczenie."
 
-#: effects/Repeat.cpp:77
-#: effects/Repeat.cpp:187
+#: effects/Repeat.cpp:77 effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Powtórz"
 
-#: effects/Repeat.cpp:212
+#: effects/Repeat.cpp:211
 #, fuzzy
 msgid "Number of times to repeat:"
 msgstr "Ilość powtórzeń :"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 #, fuzzy
 msgid "New selection length: hh:mm:ss"
 msgstr "Nowa długość zaznaczenia:"
 
-#: effects/Repeat.cpp:253
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Nowa długość zaznaczenia:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:262
-#: widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:261 widgets/TimeTextCtrl.cpp:270
 msgid "hh:mm:ss"
 msgstr "gg:mm:ss"
 
@@ -5933,61 +5755,60 @@ msgstr "Stosowanie stereo do mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Skala czasu"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Czas obniżania/Przesunięcie Wysokości Dźwięku"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "używając SBSMS, Claytona Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Wstępna Zmiana Tempa (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Końcowa Zmiana Tempa (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Wstępna Zmiana Tempa (%):"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Końcowa Zmiana Tempa (%):"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Wstępna Zmiana Wysokości (tony średnie) [-12 do 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Końcowa Zmiana Wysokości (tony średnie) [-12 do 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Czas obniżania/Przesunięcie Wysokości Dźwięku..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Zmiana Tempa/Wysokości"
 
 #: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "Zastosowany efekt: Generuj %s falę %s, częstotliwość = %.2f Hz, amplituda = %.2f, %.6lf sekund"
 
-#: effects/ToneGen.cpp:69
-#: widgets/Meter.cpp:416
+#: effects/ToneGen.cpp:69 widgets/Meter.cpp:412
 msgid "Linear"
 msgstr "Liniowy"
 
 #: effects/ToneGen.cpp:70
 msgid "Logarithmic"
-msgstr ""
+msgstr "Logarytmiczny"
 
 #: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
@@ -6013,32 +5834,31 @@ msgstr "Piłokształtny"
 msgid "Square, no alias"
 msgstr "Kwadratowy, bez aliasów"
 
-#: effects/ToneGen.cpp:321
-#: effects/ToneGen.cpp:357
+#: effects/ToneGen.cpp:319 effects/ToneGen.cpp:356
 msgid "Frequency (Hz)"
 msgstr "Częstotliwość (Hz)"
 
-#: effects/ToneGen.cpp:348
+#: effects/ToneGen.cpp:347
 msgid "Waveform:"
 msgstr "Przebieg czasowy:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:356
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Początek Częstotliwości Hertz"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:357
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Koniec Częstotliwości Hertz"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:358
 msgid "Amplitude Start"
-msgstr ""
+msgstr "PoczÄ…tek Amplitudy"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:359
 msgid "Amplitude End"
-msgstr ""
+msgstr "Koniec Amplitudy"
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:364
 #, fuzzy
 msgid "Interpolation:"
 msgstr "Fast Sinc Interpolation"
@@ -6063,30 +5883,44 @@ msgstr "Generowanie Tonu"
 msgid "All tracks must have the same sample rate"
 msgstr "Wszystkie ścieżki powinny mieć tą samą częstotliwość próbkowania"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:321
 msgid "Truncate Silence"
 msgstr "Wyciszenie"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "Maksymalna długość wyciszenia:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:348
-#: prefs/AudioIOPrefs.cpp:196
-#: prefs/AudioIOPrefs.cpp:199
-#: prefs/MidiIOPrefs.cpp:174
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:199
+#: prefs/AudioIOPrefs.cpp:203 prefs/MidiIOPrefs.cpp:174
 #: prefs/MidiIOPrefs.cpp:177
 msgid "milliseconds"
 msgstr "milisekundy"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "Maksymalna długość wyciszenia:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
 msgstr "Próg dla wyciszenia:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "Długość minimum 1 milisekunda"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -6096,17 +5930,55 @@ msgstr "Wytnij CiszÄ™"
 msgid "Truncating Silence..."
 msgstr "Skracanie ciszy..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Przykro nam,  efekty VST nie mogą zostać użyte do ścieżek stereo jeżeli ścieżki składowe do siebie nie pasują."
+#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:824
+msgid "Effect Settings"
+msgstr "Ustawienia efektu"
+
+#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Żaden"
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "Nie można dokonać zamiany"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Parametry wtyczek VST"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -6148,148 +6020,125 @@ msgid "Applying Wahwah"
 msgstr "Dodawanie Wahwah"
 
 #: effects/audiounits/AudioUnitEffect.cpp:138
-#: effects/ladspa/LadspaEffect.cpp:176
-#: effects/lv2/LV2Effect.cpp:191
+#: effects/ladspa/LadspaEffect.cpp:176 effects/lv2/LV2Effect.cpp:192
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Tworzenie efektu: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:196
-#: effects/lv2/LV2Effect.cpp:211
+#: effects/ladspa/LadspaEffect.cpp:196 effects/lv2/LV2Effect.cpp:212
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Niestety, Efekty wtyczek nie działają na ścieżkach stereo, gdzie poszczególne kanały nie pasują."
 
-#: effects/ladspa/LadspaEffect.cpp:580
-#: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Żaden"
-
-#: effects/ladspa/LadspaEffect.cpp:582
-#: effects/lv2/LV2Effect.cpp:798
-#: effects/vamp/VampEffect.cpp:395
+#: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:799
+#: effects/vamp/VampEffect.cpp:397
 msgid "Author: "
 msgstr "Autor: "
 
-#: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "Ustawienia efektu"
-
-#: effects/ladspa/LadspaEffect.cpp:710
-#: effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:834
-#: effects/lv2/LV2Effect.cpp:837
+#: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
+#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
 msgid "Length (seconds)"
 msgstr "Długość (sekund)"
 
-#: effects/lv2/LV2Effect.cpp:849
-#: effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:850 effects/lv2/LV2Effect.cpp:853
 #, fuzzy
 msgid "Note length (seconds)"
 msgstr "Długość (sekund)"
 
-#: effects/lv2/LV2Effect.cpp:860
-#: effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:861 effects/lv2/LV2Effect.cpp:864
 msgid "Note velocity"
-msgstr ""
+msgstr "Zaznacz szybkość"
 
-#: effects/lv2/LV2Effect.cpp:871
-#: effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:872 effects/lv2/LV2Effect.cpp:875
 #, fuzzy
 msgid "Note key"
 msgstr "Note Track"
 
-#: effects/nyquist/Nyquist.cpp:257
+#: effects/nyquist/Nyquist.cpp:302
 msgid "Applying Nyquist Effect..."
 msgstr "Dodano efekt Nyquist'a"
 
-#: effects/nyquist/Nyquist.cpp:264
-#: effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:320 effects/nyquist/Nyquist.cpp:403
 msgid "Nyquist Prompt..."
 msgstr "Nyquist Prompt..."
 
-#: effects/nyquist/Nyquist.cpp:327
+#: effects/nyquist/Nyquist.cpp:404
 msgid "Enter Nyquist Command: "
 msgstr "Wprowadź instrukcję Nyquist'a:"
 
-#: effects/nyquist/Nyquist.cpp:417
+#: effects/nyquist/Nyquist.cpp:504
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Przykro mi ale nie można używać efektu na ścieżkach stereo jeżeli ścieżki do siebie nie pasują."
 
-#: effects/nyquist/Nyquist.cpp:445
+#: effects/nyquist/Nyquist.cpp:535
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:446
+#: effects/nyquist/Nyquist.cpp:536
 msgid "Nyquist Output: "
 msgstr "Wyjście Nyquist: "
 
-#: effects/nyquist/Nyquist.cpp:603
-#: effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:747 effects/nyquist/Nyquist.cpp:758
 msgid "Nyquist returned the value:"
 msgstr "Nyquist zwrócił wartość:"
 
-#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:800
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist nie zwrócił audio.\n"
 
-#: effects/nyquist/Nyquist.cpp:667
+#: effects/nyquist/Nyquist.cpp:811
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist zwrócił zbyt dużo kanałów audio.\n"
 
-#: effects/vamp/VampEffect.cpp:86
+#: effects/vamp/VampEffect.cpp:80
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Cechy ekstrakcji: %s"
 
-#: effects/vamp/VampEffect.cpp:117
+#: effects/vamp/VampEffect.cpp:111
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr "Niestety, Wtyczka Vamp nie działa na ścieżkach stereo, gdzie poszczególne kanały nie pasują."
 
-#: effects/vamp/VampEffect.cpp:131
+#: effects/vamp/VampEffect.cpp:125
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Niestety, błąd przy ładowaniu Wtyczki Vamp."
 
-#: effects/vamp/VampEffect.cpp:239
+#: effects/vamp/VampEffect.cpp:233
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Niestety, błąd przy uruchamianiu Wtyczki Vamp."
 
-#: effects/vamp/VampEffect.cpp:387
+#: effects/vamp/VampEffect.cpp:389
 msgid " - Vamp audio analysis plugin"
 msgstr " - wtyczka analizowania dźwięku Vamp"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:425
 msgid "Plugin Settings"
 msgstr "Ustawienia Wtyczki"
 
-#: effects/vamp/VampEffect.cpp:442
-#: effects/vamp/VampEffect.cpp:448
+#: effects/vamp/VampEffect.cpp:444 effects/vamp/VampEffect.cpp:450
 msgid "Program"
 msgstr "Program"
 
 #: export/Export.cpp:469
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Cały zaznaczony dźwięk jest wyciszony."
 
 #: export/Export.cpp:471
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Cały dźwięk jest wyciszony."
 
-#: export/Export.cpp:522
+#: export/Export.cpp:527
 msgid "Export File"
 msgstr "Eksportuj Plik"
 
-#: export/Export.cpp:530
+#: export/Export.cpp:536
 msgid "&Options..."
 msgstr "&Opcje..."
 
-#: export/Export.cpp:571
+#: export/Export.cpp:577
 msgid "Are you sure you want to save the file as \""
 msgstr "Czy jesteś pewien że chcesz zapisać plik jako \""
 
-#: export/Export.cpp:591
+#: export/Export.cpp:597
 #, c-format
 msgid "You are about to save a %s file with the name \"%s\".\n"
 "\n"
@@ -6302,43 +6151,42 @@ msgstr "Plik %s zostanie zapisany z nazwÄ… \"%s\".\n"
 "\n"
 "Czy jesteś pewny, że chcesz zapisać ten plik z tą nazwą?"
 
-#: export/Export.cpp:612
+#: export/Export.cpp:618
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "Plik o nazwie \"%s\" już istnieje.  Zastąpić?"
 
-#: export/Export.cpp:710
+#: export/Export.cpp:720
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Twoje ścieżki będą zmiksowane do dwóch kanałów stereo w wyeksportowanym pliku."
 
-#: export/Export.cpp:715
+#: export/Export.cpp:725
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Twoje ścieżki będą zmiksowane do pojedynczego kanału mono w wyeksportowanym pliku."
 
-#: export/Export.cpp:726
+#: export/Export.cpp:736
 msgid "Advanced Mixing Options"
 msgstr "Zaawansowane opcje miksowania"
 
-#: export/Export.cpp:930
+#: export/Export.cpp:940
 #, c-format
 msgid "Channel: %2d"
 msgstr "Kanał: %2d"
 
-#: export/Export.cpp:1046
+#: export/Export.cpp:1056
 msgid " - Left"
 msgstr " - Lewy"
 
-#: export/Export.cpp:1047
+#: export/Export.cpp:1057
 msgid " - Right"
 msgstr " - Prawy"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 #, fuzzy
 msgid "Mixer Panel"
 msgstr "Panel śledzący"
 
-#: export/Export.cpp:1078
-#: export/Export.cpp:1125
+#: export/Export.cpp:1088 export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Kanały wyjściowe: %2d"
@@ -6347,97 +6195,106 @@ msgstr "Kanały wyjściowe: %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Sprecyzuj Enkoder Linii Poleceń"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr "Ustawienia eksportu Linii Poleceń"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Polecenie:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Pokaż efekt wyjściowy"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
 msgstr "Dane zostanÄ… podane standardowo.\"%f\" zostanie zastÄ…pione plikiem zaznaczonym."
 
-#: export/ExportCL.cpp:222
+#: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr "(program zewnętrzny)"
 
-#: export/ExportCL.cpp:253
-#: export/ExportPCM.cpp:457
+#: export/ExportCL.cpp:286 export/ExportPCM.cpp:484
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Nie można eksportować audio do %s"
 
-#: export/ExportCL.cpp:327
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Eksportuj zaznaczenie przy użyciu komendy z wiersza poleceń"
 
-#: export/ExportCL.cpp:328
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Eksportowanie całego projektu przy użyciu enkodera z lini poleceń"
 
-#: export/ExportCL.cpp:390
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Polecenie Wyjściowe"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:410
 #, c-format
 msgid "FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
-msgstr ""
+msgstr "FFmpeg nie znalazł kodeka dźwięku 0x%x.\n"
+"Prawdopodobnie brak wsparcia dla tego kodeka."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:641
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Usiłowano wyeksportować %d kanałów, lecz maksymalna ilość kanałów dal zaznaczonego formatu jest %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:669
 #, fuzzy, c-format
 msgid "Exporting selected audio as %s"
 msgstr "Eksportowanie zaznaczonego dźwięku jako %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:670
 #, fuzzy, c-format
 msgid "Exporting entire file as %s"
 msgstr "Eksportowanie całego pliku %d kbps"
 
-#: export/ExportFFmpeg.cpp:702
-#: export/ExportMP3.cpp:1920
+#: export/ExportFFmpeg.cpp:733 export/ExportMP3.cpp:1772
 msgid "Invalid sample rate"
 msgstr "Niewłaściwa częstotliwość próbkowania"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:746
 #, fuzzy, c-format
 msgid "The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr "Częstotliwość próbkowania (%d) nie jest wspierana przez format\n"
 "plików MP3."
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:749
 #, fuzzy, c-format
 msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr "Częstotliwość próbkowania (%d) nie jest wspierana przez format\n"
 "plików MP3."
 
-#: export/ExportFFmpeg.cpp:721
-#: export/ExportMP3.cpp:1939
+#: export/ExportFFmpeg.cpp:752 export/ExportMP3.cpp:1791
 msgid "You may resample to one of the rates below."
 msgstr "Możesz resamplować do jednej z częstotliwości poniżej."
 
-#: export/ExportFFmpeg.cpp:749
-#: export/ExportMP3.cpp:1962
+#: export/ExportFFmpeg.cpp:780 export/ExportMP3.cpp:1814
 msgid "Sample Rates"
 msgstr "Częstotliwości Próbkowania"
 
@@ -6446,529 +6303,587 @@ msgstr "Częstotliwości Próbkowania"
 msgid "Specify AC3 Options"
 msgstr "Sprecyzuj Opcje FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 #, fuzzy
 msgid "AC3 Export Setup"
 msgstr "Ustawienia eksportu FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:121
-#: export/ExportFFmpegDialogs.cpp:245
-#: export/ExportFFmpegDialogs.cpp:314
-#: export/ExportFFmpegDialogs.cpp:385
-#: export/ExportFFmpegDialogs.cpp:937
-#: export/ExportMP2.cpp:133
+#: export/ExportFFmpegDialogs.cpp:116 export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298 export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:923 export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Częstotliwość próbkowania:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 #, fuzzy
 msgid "Specify AAC Options"
 msgstr "Sprecyzuj Opcje FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 #, fuzzy
 msgid "AAC Export Setup"
 msgstr "Ustawienia eksportu FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:926 export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Jakość:"
+
+#: export/ExportFFmpegDialogs.cpp:211
 #, fuzzy
 msgid "Specify AMR-NB Options"
 msgstr "Sprecyzuj Opcje MP2"
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 #, fuzzy
 msgid "AMR-NB Export Setup"
 msgstr "Ustawienia eksportu MP2"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 #, fuzzy
 msgid "Specify AMR-WB Options"
 msgstr "Sprecyzuj Opcje MP2"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 #, fuzzy
 msgid "AMR-WB Export Setup"
 msgstr "Ustawienia eksportu MP2"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 #, fuzzy
 msgid "Specify WMA Options"
 msgstr "Sprecyzuj Opcje MP2"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 #, fuzzy
 msgid "WMA Export Setup"
 msgstr "Ustawienia eksportu MP2"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:488
 #, fuzzy, c-format
 msgid "Overwrite preset '%s'?"
 msgstr "Nadpisz istniejÄ…ce pliki"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:489
 #, fuzzy
 msgid "Confirm Overwrite"
 msgstr "Potwierdź Usunięcie"
 
 #: export/ExportFFmpegDialogs.cpp:501
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Wybierz format zanim zapiszesz profil"
 
 #: export/ExportFFmpegDialogs.cpp:509
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Wybierz kodek zanim zapiszesz profil"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:579
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "Ustawienie '%s'  nie istnieje."
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:794
 #, fuzzy
 msgid "Specify Other Options"
 msgstr "Sprecyzuj Opcje MP2"
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:883
 #, fuzzy
 msgid "Preset:"
 msgstr "Ustawienie"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:884
 #, fuzzy
 msgid "Load Preset"
 msgstr "Ustawienie"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:885
 #, fuzzy
 msgid "Save Preset"
 msgstr "Ustawienie"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:886
 #, fuzzy
 msgid "Delete Preset"
 msgstr "Usuń etykiety"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:887
 #, fuzzy
 msgid "Import Presets"
 msgstr "Importuj Etykiety"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:888
 #, fuzzy
 msgid "Export Presets"
 msgstr "Eksportuj etykiety jako:"
 
-#: export/ExportFFmpegDialogs.cpp:907
+#: export/ExportFFmpegDialogs.cpp:893
 msgid "Format:"
 msgstr "Format:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:895
 msgid "Codec:"
-msgstr ""
+msgstr "Kodek:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:899
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "Nie wszystkie formaty i kodeki są kompatybilne. Niektóre parametry (jak np częstotliwość próbkowania) nie są kompatybilne z niektórymi kodekami."
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:902
 #, fuzzy
 msgid "Format selector:"
 msgstr "Dopasuj zaznaczenie"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:903
 #, fuzzy
 msgid "Codec selector:"
 msgstr "Wycisz zaznaczenie"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:905
 #, fuzzy
 msgid "Show All Formats"
 msgstr "Wspierane formaty"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:906
 #, fuzzy
 msgid "Show All Codecs"
 msgstr "Pokaż/Ukryj"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:913
 msgid "Options"
-msgstr ""
+msgstr "Opcje"
 
-#: export/ExportFFmpegDialogs.cpp:931
-#: prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:917 prefs/GUIPrefs.cpp:166
 msgid "Language:"
 msgstr "Język:"
 
-#: export/ExportFFmpegDialogs.cpp:932
+#: export/ExportFFmpegDialogs.cpp:918
 msgid "ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
-msgstr ""
+msgstr "ISO 639 3-literowy kod języka\n"
+"Opcjonalny\n"
+"pustyempty - automatic"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:920
 msgid "Tag:"
-msgstr ""
+msgstr "Tag:"
 
-#: export/ExportFFmpegDialogs.cpp:935
+#: export/ExportFFmpegDialogs.cpp:921
 msgid "Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
-msgstr ""
+msgstr "Tag kodeka (FOURCC)\n"
+"Opcjonalnyl\n"
+"pusty - automatyczny"
 
-#: export/ExportFFmpegDialogs.cpp:938
+#: export/ExportFFmpegDialogs.cpp:924
 msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Jakość:"
+msgstr "Częstotliwość próbkowania (bity/na sekundę) - wpływa na rozmiar pliku i jakość\n"
+"Niektóre kodeki akceptują tylko niektóre wartości (128k, 192k, 256k itp)\n"
+"0 - automatycznie\n"
+"Zalecane - 192000"
 
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
-msgstr ""
+msgstr "Ogólna jakość, używana różnie przez różne kodeki\n"
+"Wymagane dla vorbis\n"
+"0 - automatycznie\n"
+"-1 - wyłączone(użyj częstotliwości)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:929
 #, fuzzy
 msgid "Sample Rate:"
 msgstr "Częstotliwości Próbkowania"
 
-#: export/ExportFFmpegDialogs.cpp:944
+#: export/ExportFFmpegDialogs.cpp:930
 msgid "Sample rate (Hz)\n"
 "0 - don't change sample rate"
-msgstr ""
+msgstr "Częstotliwość próbkowania (Hz)\n"
+"0 - nie zmieniaj częstotliwości próbkowania"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "Szerokość pasma:"
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
+#, fuzzy
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
-msgstr ""
+"0 - automatic"
+msgstr "Szerokość pasma dźwięku (Hz)\n"
+"Opcjonalna\n"
+"0 - automatyczna"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Profile:"
-msgstr ""
+msgstr "Profil:"
 
-#: export/ExportFFmpegDialogs.cpp:951
+#: export/ExportFFmpegDialogs.cpp:937
 msgid "AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
-msgstr ""
+msgstr "Profil AAC\n"
+"Niska złożoność - domyślna\n"
+"Większość odtwarzaczy nie odtwarza nic poza LC"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:939
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Użyj Kawałka Rezerwuaru"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Użyj Zróżnicowanej Długości Bloku"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:947
 msgid "FLAC options"
-msgstr ""
+msgstr "Opcje FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:951
 msgid "Compression Level:"
-msgstr ""
+msgstr "Poziom Kompresji:"
 
-#: export/ExportFFmpegDialogs.cpp:966
+#: export/ExportFFmpegDialogs.cpp:952
 msgid "Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
-msgstr ""
+msgstr "Poziom Kompresji\n"
+"Wymagany dla FLAC\n"
+"-1 - automatyczny\n"
+"min - 0 (szybkie odkodowanie, duży plik)\n"
+"max - 10 (wolne odkodowanie, mały plik)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:954
 #, fuzzy
 msgid "Frame Size:"
 msgstr "Rozmiar płaszczyzny"
 
-#: export/ExportFFmpegDialogs.cpp:969
+#: export/ExportFFmpegDialogs.cpp:955
 msgid "Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
-msgstr ""
+msgstr "Rozmiar klatki\n"
+"Opcjonalny\n"
+"0 - domyślny\n"
+"min - 16\n"
+"max - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "LPC coefficients precision"
-msgstr ""
+msgstr "Precyzja LPC"
 
-#: export/ExportFFmpegDialogs.cpp:972
+#: export/ExportFFmpegDialogs.cpp:958
 msgid "LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
-msgstr ""
+msgstr "Precyzja LPC\n"
+"Opcjonalna\n"
+"0 - domyślne\n"
+"min - 1\n"
+"max - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "Minimal prediction order"
-msgstr ""
+msgstr "Minimalne zlecenie"
 
-#: export/ExportFFmpegDialogs.cpp:975
+#: export/ExportFFmpegDialogs.cpp:961
 msgid "Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr ""
+msgstr "Minimalne zlecenie\n"
+"Opcjonalne\n"
+"-1 - domyślne\n"
+"min - 0\n"
+"max - 32 (z LPC) lub 4 (bez LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Maximal prediction order"
-msgstr ""
+msgstr "Maksymalne zlecenie"
 
-#: export/ExportFFmpegDialogs.cpp:978
+#: export/ExportFFmpegDialogs.cpp:964
 msgid "Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr ""
+msgstr "Maksymalne zlecenie\n"
+"Opcjonalne\n"
+"-1 - domyślne\n"
+"min - 0\n"
+"max - 32 (z LPC) lub 4 (bez LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Prediction Order Method:"
-msgstr ""
+msgstr "Metoda Zlecenia:"
 
-#: export/ExportFFmpegDialogs.cpp:982
+#: export/ExportFFmpegDialogs.cpp:968
 msgid "Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
-msgstr ""
+msgstr "Metoda Zlecenia\n"
+"Oszacowana - najszybsza, niska kompresja\n"
+"Szukany rejestr - najwolniejsza, najlepsza kompresja\n"
+"Pełny rejestr - domyślna"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:970
 msgid "Minimal partition order"
-msgstr ""
+msgstr "Minimalne zlecenie partycji"
 
-#: export/ExportFFmpegDialogs.cpp:985
+#: export/ExportFFmpegDialogs.cpp:971
 msgid "Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr ""
+msgstr "Minimalne zlecenie partycji\n"
+"Opcjonalne\n"
+"-1 - domyślne\n"
+"min - 0\n"
+"max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Maximal partition order"
-msgstr ""
+msgstr "Maksymalne zlecenie partycji"
 
-#: export/ExportFFmpegDialogs.cpp:988
+#: export/ExportFFmpegDialogs.cpp:974
 msgid "Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr ""
+msgstr "Maksymalne zlecenie partycji\n"
+"Opcjonalne\n"
+"-1 - domyślne\n"
+"min - 0\n"
+"max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Use LPC"
-msgstr ""
+msgstr "Użyj LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:983
 msgid "MPEG container options"
-msgstr ""
+msgstr "Opcje kontenera MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:987
 #, fuzzy
 msgid "Mux Rate:"
 msgstr "Częstotliwość próbkowania:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
+#: export/ExportFFmpegDialogs.cpp:988
 msgid "Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
-msgstr ""
+msgstr "Maksymalna częstotliwość próbkowania\n"
+"Opcjonalna\n"
+"0 - domyślna"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:990
 #, fuzzy
 msgid "Packet Size:"
 msgstr "Rozmiar płaszczyzny"
 
-#: export/ExportFFmpegDialogs.cpp:1005
+#: export/ExportFFmpegDialogs.cpp:991
 msgid "Packet size\n"
 "Optional\n"
 "0 - default"
-msgstr ""
+msgstr "Rozmiar paczki \n"
+"Opcjonalny\n"
+"0 - domyślny"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1206
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Nie możesz usunąć ustawienia bez nazwy"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1210
 #, fuzzy, c-format
 msgid "Delete preset '%s'?"
 msgstr "Nie można usunąć %s'"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1229
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "Nie możesz zapisać ustawienia bez nazwy"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1269
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "Zaznacz plik xml z ustawieniem do importu"
 
-#: prefs/KeyConfigPrefs.cpp:202
+#: export/ExportFFmpegDialogs.cpp:1272 export/ExportFFmpegDialogs.cpp:1292
+#: prefs/KeyConfigPrefs.cpp:215
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "Pliki xml (*.xml)|*.xml|Wszystkie pliki (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1292
+#: export/ExportFFmpegDialogs.cpp:1289
 #, fuzzy
 msgid "Select xml file to export presets into"
 msgstr "Zaznacz plik(i) do przetwarzania wsadowego..."
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1360
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Nie odgadnięto formatu"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1402
 msgid "Failed to find the codec"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.h:53
-msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "Nie znaleziono kodeku"
 
 #: export/ExportFFmpegDialogs.h:54
-msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgid "M4A (AAC) Files (FFmpeg)"
+msgstr "Pliki M4A (AAC) (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr ""
+msgid "AC3 Files (FFmpeg)"
+msgstr "Pliki AC3 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
-msgid "WMA (version 2) Files (FFmpeg)"
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr "Pliki WMA (wersja 2) (FFmpeg)"
+
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "Eksport FFmpeg"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
-msgstr ""
+msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
-msgstr ""
+msgstr "Niska złożoność"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 #, fuzzy
 msgid "Main profile"
 msgstr "GÅ‚owny mikser"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 #, fuzzy
 msgid "2-level"
 msgstr "Poziom:"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 #, fuzzy
 msgid "4-level"
 msgstr "Poziom:"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 #, fuzzy
 msgid "8-level"
 msgstr "Poziom:"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
-msgstr ""
+msgstr "Oszacuj"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
-msgstr ""
+msgstr "Pełne szukanie"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
-msgstr ""
+msgstr "Szukanie rejestru"
 
 #: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
 msgstr "Sprecyzuj Opcje FLAC"
 
-#: export/ExportFLAC.cpp:81
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (Najszybsze)"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (Najlepsze)"
 
-#: export/ExportFLAC.cpp:92
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16 bitów"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24 bity"
 
-#: export/ExportFLAC.cpp:97
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "Ustawienia eksportu FLAC"
 
-#: export/ExportFLAC.cpp:101
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Poziom:"
 
-#: export/ExportFLAC.cpp:103
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Ilość bitów:"
 
-#: export/ExportFLAC.cpp:209
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr "Pliki FLAC"
 
-#: export/ExportFLAC.cpp:312
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
+#: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Eksportowanie zaznaczonych dźwięków jako FLAC"
 
-#: export/ExportFLAC.cpp:313
+#: export/ExportFLAC.cpp:311
 msgid "Exporting the entire project as FLAC"
 msgstr "Eksportowanie całego projektu jako FLAC"
 
@@ -6976,75 +6891,69 @@ msgstr "Eksportowanie całego projektu jako FLAC"
 msgid "Specify MP2 Options"
 msgstr "Sprecyzuj Opcje MP2"
 
-#: export/ExportMP2.cpp:129
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "Ustawienia eksportu MP2"
 
-#: export/ExportMP2.cpp:202
+#: export/ExportMP2.cpp:200
 msgid "MP2 Files"
 msgstr "Pliki MP2"
 
-#: export/ExportMP2.cpp:232
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Nie można eksportować MP2 z tą częstotliwością próbkowania"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1771
-#: export/ExportOGG.cpp:186
+#: export/ExportMP2.cpp:241 export/ExportMP3.cpp:1618 export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Nie można otworzyć pliku do zapisu"
 
-#: export/ExportMP2.cpp:274
+#: export/ExportMP2.cpp:272
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Eksportowanie zaznaczonego dźwięku %d kbps"
 
-#: export/ExportMP2.cpp:275
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Eksportowanie całego pliku %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:223 export/ExportMP3.cpp:241 export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 #, fuzzy
 msgid "(Best Quality)"
 msgstr "Jakość"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 #, fuzzy
 msgid "(Smaller files)"
 msgstr "9, 45-85 kbps (Mniejsze pliki)"
 
-#: export/ExportMP3.cpp:243
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Szybkie"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "Standard"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 #, fuzzy
 msgid "Insane"
 msgstr "&Wstaw"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
-msgstr ""
+msgstr "Ekstremalny"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
-msgstr ""
+msgstr "Åšredni"
 
-#: export/ExportMP3.cpp:303
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr "Sprecyzuj Opcje MP3"
 
@@ -7072,8 +6981,7 @@ msgstr "Åšrednia"
 msgid "Constant"
 msgstr "Stała"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Jakość"
@@ -7111,80 +7019,81 @@ msgstr "Aby otrzymać darmową kopię Lame, kliknij tutaj -->"
 #, c-format
 msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
-msgstr ""
+msgstr "Łączysz do lame_enc.dll v%d.%d. Ta wersja nie współpracuje z Audacity %d.%d.%d.\n"
+"Pobierz najnowszÄ… wersjÄ™ biblioteki LAME MP3."
 
-#: export/ExportMP3.cpp:1094
+#: export/ExportMP3.cpp:1327
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Tylko lame_enc.dll|lame_enc.dll|Biblioteki dynamiczne (*.dll)|*.dll|All Files (*.*)|*"
 
-#: export/ExportMP3.cpp:1550
+#: export/ExportMP3.cpp:1345
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Tylko libmp3lame.dylib|libmp3lame.dylib|Biblioteki dynamiczne (*.dylib)|*.dylib|Wszystkie pliki (*)|*"
 
-#: export/ExportMP3.cpp:1567
+#: export/ExportMP3.cpp:1363
 #, fuzzy
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Tylko libmp3lame.so|libmp3lame.so|Podstawowe biblioteki współdzielone (*.so)|*.so|Biblioteki rozszerzające (*.so*)|*.so*|All Files (*)|*"
 
-#: export/ExportMP3.cpp:1652
+#: export/ExportMP3.cpp:1499
 msgid "MP3 Files"
 msgstr "Pliki MP3"
 
-#: export/ExportMP3.cpp:1676
+#: export/ExportMP3.cpp:1523
 msgid "Could not open MP3 encoding library!"
 msgstr "Nie można otworzyć biblioteki kodeka MP3!"
 
-#: export/ExportMP3.cpp:1683
+#: export/ExportMP3.cpp:1530
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Nieaktualna lub niewspierana biblioteka MP3!"
 
-#: export/ExportMP3.cpp:1760
+#: export/ExportMP3.cpp:1607
 msgid "Unable to initialize MP3 stream"
 msgstr "Nie można zainicjować strumienia MP3"
 
-#: export/ExportMP3.cpp:1802
+#: export/ExportMP3.cpp:1650
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "Eksportowanie zaznaczonego dźwięku z ustawieniem %s"
 
-#: export/ExportMP3.cpp:1803
+#: export/ExportMP3.cpp:1651
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Eksportowanie całego pliku z ustawieniem %s"
 
-#: export/ExportMP3.cpp:1808
+#: export/ExportMP3.cpp:1656
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "Eksportowanie zaznaczonego dźwięku z jakością VBR %s"
 
-#: export/ExportMP3.cpp:1809
+#: export/ExportMP3.cpp:1657
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Eksportowanie całego pliku z jakością VBR %s"
 
-#: export/ExportMP3.cpp:1814
+#: export/ExportMP3.cpp:1662
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr "Eksportowanie zaznaczonego dźwięku %d Kbps"
 
-#: export/ExportMP3.cpp:1815
+#: export/ExportMP3.cpp:1663
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Eksportowanie całego pliku %d Kbps"
 
-#: export/ExportMP3.cpp:1849
+#: export/ExportMP3.cpp:1697
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Błąd %d zwrócony z enkodera MP3"
 
-#: export/ExportMP3.cpp:1933
+#: export/ExportMP3.cpp:1785
 #, c-format
 msgid "The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr "Częstotliwość próbkowania (%d) nie jest wspierana przez format\n"
 "plików MP3."
 
-#: export/ExportMP3.cpp:1936
+#: export/ExportMP3.cpp:1788
 #, c-format
 msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
@@ -7193,16 +7102,14 @@ msgstr "Częstotliwość próbkowania (%d) nie jest wspierana przez format\n"
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Nie znaleziono biblioteki eksportu MP3"
 
-#: export/ExportMultiple.cpp:96
-#: export/ExportMultiple.cpp:426
-#: export/ExportMultiple.cpp:667
-#: export/ExportMultiple.cpp:834
+#: export/ExportMultiple.cpp:93 export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:670 export/ExportMultiple.cpp:847
 msgid "Export Multiple"
 msgstr "Wielokrotny eksport"
 
-#: export/ExportMultiple.cpp:166
+#: export/ExportMultiple.cpp:163
 msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
@@ -7212,95 +7119,111 @@ msgstr "Jeżeli masz więcej niż jedną ścieżkę audio, możesz eksportować
 "\n"
 "Ten projekt nie ma więcej niż jedna ścieżka lub nie posiada ścieżki etykiet, stąd nie można "
 
-#: export/ExportMultiple.cpp:167
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Nie można eksportować wielu plików"
 
-#: export/ExportMultiple.cpp:232
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Format eksportu:"
 
-#: export/ExportMultiple.cpp:237
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Opcje..."
 
-#: export/ExportMultiple.cpp:241
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Lokalizacja eksportu:"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Wybierz..."
-
-#: export/ExportMultiple.cpp:246
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Twórz"
 
-#: export/ExportMultiple.cpp:253
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Podziel pliki na podstawie:"
 
-#: export/ExportMultiple.cpp:262
-#: export/ExportMultiple.cpp:264
+#: export/ExportMultiple.cpp:259 export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Etykiety"
 
-#: export/ExportMultiple.cpp:269
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Dołącz audio przed pierwszą etykietą"
 
-#: export/ExportMultiple.cpp:275
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Nazwa pierwszego pliku:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 #, fuzzy
 msgid "First file name"
 msgstr "Nazwa pierwszego pliku:"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Ścieżki"
-
-#: export/ExportMultiple.cpp:297
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Nazwij pliki:"
 
-#: export/ExportMultiple.cpp:306
-#: export/ExportMultiple.cpp:308
+#: export/ExportMultiple.cpp:303 export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Użyj Etykiety/Nazwy ścieżki"
 
-#: export/ExportMultiple.cpp:314
-#: export/ExportMultiple.cpp:316
+#: export/ExportMultiple.cpp:311 export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Numeracja narastajÄ…ca"
 
-#: export/ExportMultiple.cpp:322
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Rozszerzenie pliku:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 #, fuzzy
 msgid "File name prefix"
 msgstr "Rozszerzenie pliku:"
 
-#: export/ExportMultiple.cpp:341
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Nadpisz istniejÄ…ce pliki"
 
-#: export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "\"%s\" utworzone."
 
-#: export/ExportMultiple.cpp:433
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Określ lokalizację dla eksportowanych plików"
 
-#: export/ExportMultiple.cpp:539
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
+#: export/ExportMultiple.cpp:538
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
 "\n"
@@ -7309,113 +7232,100 @@ msgstr "\"%s\" nie istnieje.\n"
 "\n"
 "Czy chcesz go stworzyć?"
 
-#: export/ExportMultiple.cpp:637
-#: export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:640 export/ExportMultiple.cpp:785
 #, fuzzy
 msgid "Edit metadata"
 msgstr "Edytuj Metadane"
 
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Eksport zakończył się %d sukcesem."
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Po eksporcie %d pliku(ów) nastąpił nieoczekiwany błąd."
-
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:899
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr ""
+msgstr "Etykieta %s jest niewłaściwą nazwą pliku. Nie możesz użyć żadnych z:  %s\n"
+"Uzyj..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
 msgstr "Sprecyzuj Opcje Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Ustawienia Eksportu Ogg Vorbis"
 
-#: export/ExportOGG.cpp:157
+#: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
 msgstr "Pliki Ogg Vorbis"
 
-#: export/ExportOGG.cpp:257
+#: export/ExportOGG.cpp:255
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Eksportuj zaznaczenie jako Ogg Vorbis"
 
-#: export/ExportOGG.cpp:258
+#: export/ExportOGG.cpp:256
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Eksportuj cały projekt jako Ogg Vorbis"
 
-#: export/ExportPCM.cpp:116
+#: export/ExportPCM.cpp:119
 #, fuzzy
 msgid "Specify Uncompressed Options"
 msgstr "Sprecyzuj Opcje Ogg Vorbis"
 
-#: export/ExportPCM.cpp:185
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Ustawienia eksportu nieskompresowanego"
 
-#: export/ExportPCM.cpp:191
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr "Nagłówek:"
 
-#: export/ExportPCM.cpp:195
-#: import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:369
 #, fuzzy
 msgid "Encoding:"
 msgstr "Kodowanie: "
 
-#: export/ExportPCM.cpp:200
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(Nie wszystkie kombinacje nagłówkówi kodowań są możliwe.)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 #, fuzzy
 msgid "Other uncompressed files"
 msgstr "Podczas importowania nieskompresowanych plików audio"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "16 bitowe PCM AIFF (Apple)"
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "16 bitowe PCM WAV (Microsoft)"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobilne)"
 
-#: export/ExportPCM.cpp:449
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Nie można eksportować danych w tym formacie."
 
-#: export/ExportPCM.cpp:491
+#: export/ExportPCM.cpp:518
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "Eksportowanie zaznaczonego dźwięku jako %s"
 
-#: export/ExportPCM.cpp:493
+#: export/ExportPCM.cpp:520
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Eksportowanie całego projektu jako %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:531
+#: export/ExportPCM.cpp:556
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Błąd (możliwe że plik nie został zapisany): %hs"
 
 #: export/ExportPCM.cpp:723
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Nie ma żadnych opcji dla tego formatu.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
@@ -7423,35 +7333,34 @@ msgstr ""
 #. * when it comes up on it's own.
 #: export/ExportPCM.cpp:728
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Jeśli potrzebujesz więcej kontroli nad formatem eksportu użyj 'Innego nieskompresowanego' formatu plików."
 
 #: export/ExportPCM.cpp:733
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Twój plik zostanie wyeksportowany jako 16-bitowy plik AIFF (Apple/SGI).\n"
 
 #: export/ExportPCM.cpp:738
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Twój plik zostanie wyeksportowany jako 16-bitowy plik WAV (Microsoft).\n"
 
 #: export/ExportPCM.cpp:743
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Twój plik zostanie wyeksportowany jako plik GSM 6.10 WAV).\n"
 
-#: import/Import.cpp:156
-#: import/ImportMP3.cpp:47
+#: import/Import.cpp:162 import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "Pliki MP3"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "Zaznacz żródło(a) do importu"
 
-#: import/Import.cpp:227
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Ta wersja Audacity nie była kompilowane ze wsparciem %s."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, fuzzy, c-format
 msgid "\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
@@ -7462,7 +7371,7 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:250
+#: import/Import.cpp:257
 #, c-format
 msgid "\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
@@ -7473,7 +7382,7 @@ msgstr "\"%s\" jest ścieżką audio. \n"
 "Wypakuj ścieżki do formatu, który \n"
 "Audacity może importować, jak na przykład WAV lub AIFF."
 
-#: import/Import.cpp:256
+#: import/Import.cpp:263
 #, c-format
 msgid "\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
@@ -7482,7 +7391,7 @@ msgstr "jest plikiem listy.\n"
 "Audacity nie może otworzyć tego pliku, ponieważ zawiera on tylko linki do innych plików.\n"
 "Możesz go otworzyć w edytorze tekstowym i pobrać właściwe pliki dźwiękowe."
 
-#: import/Import.cpp:261
+#: import/Import.cpp:268
 #, c-format
 msgid "\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
@@ -7491,7 +7400,7 @@ msgstr "\"%s\" jest plikiem Windows Media Audio. \n"
 "Audacity nie otwiera tych plików z powodów patentowych. \n"
 "Powinieneś przekonwertować ten plik do formatu takiego jak WAV lub AIFF."
 
-#: import/Import.cpp:266
+#: import/Import.cpp:273
 #, c-format
 msgid "\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
@@ -7500,7 +7409,7 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Audacity nie otwiera tych plików. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, fuzzy, c-format
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7512,7 +7421,7 @@ msgstr "\"%s\" jest zakodowanym plikiem. Pliki te pochodzÄ… zazwyczaj z internet
 "Spróbuj zgrać plik w Audacity lub wypal go na płytę, a następnie \n"
 "wypakuj ścieżkę do formatu wspieranego takiego jak WAV lub AIFF."
 
-#: import/Import.cpp:276
+#: import/Import.cpp:283
 #, c-format
 msgid "\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
@@ -7521,7 +7430,7 @@ msgstr "\"%s\" jest plikiem RealPlayer. \n"
 "Audacity nie może otworzyć tego pliku. \n"
 "Powinieneś go przekonwertować do wspieranego formatu, takiego jak WAV lub AIFF."
 
-#: import/Import.cpp:282
+#: import/Import.cpp:289
 #, fuzzy, c-format
 msgid "\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
@@ -7531,7 +7440,7 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Audacity nie otwiera tych plików. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
-#: import/Import.cpp:288
+#: import/Import.cpp:295
 #, fuzzy, c-format
 msgid "\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
@@ -7542,7 +7451,7 @@ msgstr "\"%s\" jest plikiem Windows Media Audio. \n"
 "Audacity nie otwiera tych plików z powodów patentowych. \n"
 "Powinieneś przekonwertować ten plik do formatu takiego jak WAV lub AIFF."
 
-#: import/Import.cpp:294
+#: import/Import.cpp:301
 #, fuzzy, c-format
 msgid "\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
@@ -7551,7 +7460,7 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Audacity nie otwiera tych plików. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
-#: import/Import.cpp:300
+#: import/Import.cpp:307
 #, fuzzy, c-format
 msgid "\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
@@ -7560,7 +7469,7 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Audacity nie otwiera tych plików. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
-#: import/Import.cpp:306
+#: import/Import.cpp:313
 #, fuzzy, c-format
 msgid "\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
@@ -7569,7 +7478,7 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Audacity nie otwiera tych plików. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, fuzzy, c-format
 msgid "\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
@@ -7578,14 +7487,14 @@ msgstr "\"%s\" jesy plikiem Advanced Audio Coding. \n"
 "Audacity nie otwiera tych plików. \n"
 "Powinieneś je przekonwertować do wspieranych formatów takich jak WAV lub AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, fuzzy, c-format
 msgid "Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr "Audacity nie rozpoznało formatu tego pliku.\n"
 "Jeżeli jest nieskopresowany, to spróbuj opcji \"Importuj RAW\""
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, fuzzy, c-format
 msgid "Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
@@ -7594,17 +7503,21 @@ msgstr "Audacity nie rozpoznało formatu tego pliku.\n"
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "Pliki kompatybilne z FFmpeg"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Indeks[%02x] Kodek[%S], Język[%S], Częstotliwość próbkowania[%S], Kanały[%d], Długość[%d]"
 
 #: import/ImportFLAC.cpp:43
 msgid "FLAC files"
 msgstr "Pliki FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "Pliki kompatybilne z GStreamer"
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Lista plików w podstawowym formacie tekstowym"
@@ -7616,9 +7529,7 @@ msgstr "Nieprawidłowe przesunięcie okna w pliku LOF."
 
 #  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:316
-#: import/ImportLOF.cpp:337
-#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:316 import/ImportLOF.cpp:337 import/ImportLOF.cpp:418
 #: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "BÅ‚Ä…d LOF"
@@ -7642,11 +7553,9 @@ msgstr "Nieprawidłowe przesunięcie ścieżki w pliku LOF."
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": Nazwa pliku zbyt krótka"
 
-#: import/ImportMIDI.cpp:31
-#: import/ImportMIDI.cpp:39
-#: import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 #, fuzzy
 msgid "Could not open file "
@@ -7654,7 +7563,7 @@ msgstr "Nie można otworzyć pliku:"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Niepoprawny rodzaj pliku."
 
 #: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
@@ -7680,17 +7589,16 @@ msgstr "Zły nagłówek strumienia Vorbis"
 msgid "Internal logic fault"
 msgstr "Wewnętrzny błąd logiczny"
 
-#: import/ImportPCM.cpp:54
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF i inne nieskompresowane rodzaje"
 
-#: import/ImportPlugin.h:142
-#: import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135 import/ImportRaw.cpp:203
 #, fuzzy, c-format
 msgid "Importing %s"
 msgstr "Importowanie %s..."
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "Pliki QuickTime"
 
@@ -7699,7 +7607,7 @@ msgstr "Pliki QuickTime"
 msgid "Import Raw"
 msgstr "Importuj Surowe Dane"
 
-#: import/ImportRaw.cpp:282
+#: import/ImportRaw.cpp:285
 msgid "Import Raw Data"
 msgstr "Importuj Surowe Dane"
 
@@ -7707,66 +7615,66 @@ msgstr "Importuj Surowe Dane"
 #  know the correct technical word.
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:327
+#: import/ImportRaw.cpp:330
 msgid "No endianness"
 msgstr "Bez endianness"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:330
+#: import/ImportRaw.cpp:333
 msgid "Little-endian"
 msgstr "Little-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:336
 msgid "Big-endian"
 msgstr "Big-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:336
+#: import/ImportRaw.cpp:339
 msgid "Default endianness"
 msgstr "Standardowy endianess"
 
-#: import/ImportRaw.cpp:355
+#: import/ImportRaw.cpp:358
 msgid "1 Channel (Mono)"
 msgstr "1 kanał (Mono)"
 
-#: import/ImportRaw.cpp:356
+#: import/ImportRaw.cpp:359
 msgid "2 Channels (Stereo)"
 msgstr "2 kanały (Stereo)"
 
-#: import/ImportRaw.cpp:358
+#: import/ImportRaw.cpp:361
 #, c-format
 msgid "%d Channels"
 msgstr "%d kanałów"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:372
 #, fuzzy
 msgid "Byte order:"
 msgstr "Tryb Częstotliwości Próbkowania"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:375
 #, fuzzy
 msgid "Channels:"
 msgstr "Kanały"
 
-#: import/ImportRaw.cpp:382
+#: import/ImportRaw.cpp:385
 msgid "Start offset:"
 msgstr "Początek przesunięcia:"
 
-#: import/ImportRaw.cpp:388
+#: import/ImportRaw.cpp:391
 msgid "Amount to import:"
 msgstr "Wielkość do importu:"
 
-#: import/ImportRaw.cpp:394
+#: import/ImportRaw.cpp:397
 msgid "Sample rate:"
 msgstr "Częstotliwość próbkowania:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Import niekompletny."
 
 #: ondemand/ODDecodeTask.h:61
 #, fuzzy
@@ -7776,158 +7684,61 @@ msgstr "Przebieg czasowy"
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% kompletne.  Kliknij aby zmienić punkt centralny."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Audio I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Wsad"
 
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Zachowania"
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "&Nie stosuje efektów w trybie wsadowym"
 
-#: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Odtwarzanie"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Tryb czystej mowy"
 
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "UrzÄ…dzenie"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "WyglÄ…d"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:124
-#: prefs/MidiIOPrefs.cpp:121
+#: prefs/AudioIOPrefs.cpp:126 prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Używając:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Port dźwiękowy v"
+#: prefs/AudioIOPrefs.cpp:119 prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "Odtwarzanie"
 
-#: prefs/AudioIOPrefs.cpp:135
-#: prefs/MidiIOPrefs.cpp:132
+#: prefs/AudioIOPrefs.cpp:137 prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
 msgstr "Nagrywanie"
 
-#: prefs/AudioIOPrefs.cpp:141
-#: prefs/MidiIOPrefs.cpp:138
+#: prefs/AudioIOPrefs.cpp:143 prefs/MidiIOPrefs.cpp:138
 msgid "Channels"
 msgstr "Kanały"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "Odtwarzanie"
-
-#: prefs/AudioIOPrefs.cpp:149
-#, fuzzy
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "&Odtwarzaj inne ścieżki podczas nagrywania nowej"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Odtwarzanie sprzętowe: Odtwarzaj ścieżkę podczas nagrywania jej"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Odtwarzanie programowe: Odtwarzaj ścieżkę podczas nagrywania jej"
-
-#: prefs/AudioIOPrefs.cpp:157
-#, fuzzy
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "&Odtwarzanie programowe: Odtwarzaj ścieżkę podczas nagrywania jej"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "Podgląd efektów"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "Długość podglądu:"
-
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "Wytnij PodglÄ…d"
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr "Podgląd przed obszarem obcięcia:"
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr "Podgląd po obszarze obcięcia:"
-
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Bezczynność"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-#, fuzzy
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Korekcja bezczynności"
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr "Przeszukuj podczas odtwarzania"
-
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "Krótka przerwa:"
-
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "DÅ‚uga przerwa:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Wsad"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Zachowania"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "&Nie stosuje efektów w trybie wsadowym"
+#: prefs/AudioIOPrefs.cpp:104 prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Tryb czystej mowy"
+#: prefs/AudioIOPrefs.cpp:105 prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:267
 msgid "Directories"
 msgstr "Katalogi"
@@ -7944,34 +7755,31 @@ msgstr "Położenie:"
 msgid "Free Space:"
 msgstr "Wolna przestrzeń:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Zapisz automatycznie"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Zapisz automatycznie kopiÄ™ projektu w osobnym folderze"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Przerwa w zapisie:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minut"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Pamięć cache dźwięku"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Określ lokalizację dla katalogu tymczasowego"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7990,60 +7798,114 @@ msgstr "Nie da się zapisać do katalogu %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Zmiana katalogu tymczasowego będzie nieaktywna aż do zrestartowania programu Audacity."
 
-#: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
+#: prefs/GUIPrefs.cpp:42
 #, fuzzy
-msgid "Import / Export"
-msgstr "Importuj Surowe Dane"
+msgid "In Browser"
+msgstr "Wybierz..."
 
-#: prefs/FileFormatPrefs.cpp:84
+#: prefs/GUIPrefs.cpp:43
 #, fuzzy
-msgid "MP3 Export Library"
-msgstr "Lokalizacja biblioteki MP3"
+msgid "From Internet"
+msgstr "Pomoc w Internecie"
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "Wersja biblioteki MP3:"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-#, fuzzy
-msgid "MP3 Library:"
-msgstr "Wersja biblioteki MP3:"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:98
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (\"płytki\" zakres do edycji przy dużych amplitudach)"
+
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM zakres 8 bitowych próbek)"
+
+#: prefs/GUIPrefs.cpp:143
 #, fuzzy
-msgid "LAME MP3 Library:"
-msgstr "Wersja biblioteki MP3:"
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-96 dB (PCM zakres 16 bitowych próbek)"
+
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM zakres 16 bitowych próbek)"
 
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (przybliżony zakres słyszenia człowieka)"
+
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM zakres 24 bitowych próbek)"
+
+#: prefs/SpectrumPrefs.cpp:141
+msgid "Display"
+msgstr "Wyświetlacz"
+
+#: prefs/GUIPrefs.cpp:100
 #, fuzzy
-msgid "&Download"
-msgstr "Pobierz..."
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr "&Ergonomiczny układ guzików We/Wy"
 
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:167
 #, fuzzy
-msgid "FFmpeg Library Version:"
-msgstr "Wersja biblioteki MP3:"
+msgid "Help:"
+msgstr "Pomoc"
+
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
+msgstr "Za&mknięcie ostatniego okna zamyka Audacity"
+
+#: prefs/GUIPrefs.cpp:110
+msgid "&Beep on completion of longer activities"
+msgstr "&Daj sygnał dźwiękowy po zakończeniu czynności"
 
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
+#: prefs/GUIPrefs.cpp:126
 #, fuzzy
-msgid "FFmpeg Library:"
-msgstr "&Znajdź Bibliotekę"
+msgid "Modes"
+msgstr "Åšredni"
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:129
+#, fuzzy
+msgid "Don't a&pply effects in batch mode"
+msgstr "&Nie stosuje efektów w trybie wsadowym"
+
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+#, fuzzy
+msgid "Import / Export"
+msgstr "Importuj Surowe Dane"
+
 #: prefs/FileFormatPrefs.cpp:137
 #, fuzzy
 msgid "When importing audio files"
@@ -8064,22 +7926,6 @@ msgstr "&Czytaj bezpośredno z oryginalnego pliku (szybsze)"
 msgid "&Normalize all tracks in project"
 msgstr "&Podczas importowania dźwięku, normalizuj wszystkie ścieżki w projekcie"
 
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "Podczas zapisywania projektu, który jest zależny od innych plików dźwiękowych"
-
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "Zawsze &kopiuj cały dźwięk do projektu (najbezpieczniejsze)"
-
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&Nie kopiuj dźwięku"
-
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "&Zapytaj użytkownika"
-
 #: prefs/FileFormatPrefs.cpp:157
 msgid "When exporting tracks to an audio file"
 msgstr "Podczas eksportowania ścieżek do pliku audio"
@@ -8096,195 +7942,73 @@ msgstr "&Użyj miksowania (na przykład eksportuj do pliku wielokanałowego 5.1)
 msgid "S&how Metadata Editor prior to export step"
 msgstr "P&okaż Edytor Metadanych przed ustawieniami eksportu"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "WyglÄ…d"
-
-#: prefs/GUIPrefs.cpp:42
-#, fuzzy
-msgid "In Browser"
-msgstr "Wybierz..."
-
-#: prefs/GUIPrefs.cpp:43
-#, fuzzy
-msgid "From Internet"
-msgstr "Pomoc w Internecie"
-
-#: prefs/GUIPrefs.cpp:50
-#, fuzzy
-msgid "Simple"
-msgstr "Cisza"
-
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Uaktualnia wyświetlacz poczas odtwarzania"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Uaktywnia &przeciąganie krawędzi zaznaczenia w lewo lub w prawo"
-
-#: prefs/GUIPrefs.cpp:100
-#, fuzzy
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr "&Ergonomiczny układ guzików We/Wy"
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Automatycznie &wpasowuje ścieżki"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Przesuń po ścieżce\" &przesuwa się po ścieżce"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Edytowanie &klipu może przesunąć inne klipy"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Zaznacz cały dźwięk w projekcie, jeśli nic nie jest zaznaczone"
-
-#: prefs/GUIPrefs.cpp:110
-msgid "&Beep on completion of longer activities"
-msgstr "&Daj sygnał dźwiękowy po zakończeniu czynności"
-
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Pokaż/Ukryj"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Umożliw cięcie & liń"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Pokaż ostrzeżenia o &plikach tymczasowych"
-
-#: prefs/GUIPrefs.cpp:120
-#, fuzzy
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "&Pokaż okno zapisu, nawet jeśli projekt jest pusty"
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Pokaż Wiadomość Powitalną przy starcie programu"
-
-#: prefs/GUIPrefs.cpp:126
-#, fuzzy
-msgid "Modes"
-msgstr "Åšredni"
-
-#: prefs/GUIPrefs.cpp:129
-#, fuzzy
-msgid "Don't a&pply effects in batch mode"
-msgstr "&Nie stosuje efektów w trybie wsadowym"
-
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (\"płytki\" zakres do edycji przy dużych amplitudach)"
-
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM zakres 8 bitowych próbek)"
-
-#: prefs/GUIPrefs.cpp:143
-#, fuzzy
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-96 dB (PCM zakres 16 bitowych próbek)"
-
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM zakres 16 bitowych próbek)"
-
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (przybliżony zakres słyszenia człowieka)"
-
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM zakres 24 bitowych próbek)"
-
-#: prefs/GUIPrefs.cpp:151
-#, fuzzy
-msgid "Default View Mode"
-msgstr "Standardowy endianess"
-
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:167
-#, fuzzy
-msgid "Help:"
-msgstr "Pomoc"
-
-#: prefs/GUIPrefs.cpp:168
-#, fuzzy
-msgid "Solo Button:"
-msgstr "przycisk"
-
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Klawiatura"
 
 #: prefs/KeyConfigPrefs.cpp:86
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Ustawienia klawiatury chwilowo nieosiÄ…galne"
 
 #: prefs/KeyConfigPrefs.cpp:87
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Otwórz nowy projekt aby zmodyfikować skróty klawiaturowe."
 
-#: prefs/KeyConfigPrefs.cpp:95
+#: prefs/KeyConfigPrefs.cpp:109
 msgid "Key Bindings"
 msgstr "PowiÄ…zania klawiaturowe"
 
-#: prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:129
 msgid "S&et"
 msgstr "U&staw"
 
-#: prefs/KeyConfigPrefs.cpp:120
+#: prefs/KeyConfigPrefs.cpp:135
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Uwaga: Naciśnięcie Cmd+Q spowoduje wyjście. Pozostałe klawisze są prawidłowe."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:140 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&Domyślne"
 
-#: prefs/KeyConfigPrefs.cpp:143
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:159
 msgid "Key Combination"
 msgstr "Kombinacja klawiszy"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Eksportuj skróty klawiszowe jako:"
+#: prefs/KeyConfigPrefs.cpp:382 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Cofnij"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Błąd zapisu skrótów klawiszowych"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:198
+#: prefs/KeyConfigPrefs.cpp:211
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Zaznacz plik XML zawierający skróty klawiszowe programu Audacity..."
 
-#: prefs/KeyConfigPrefs.cpp:215
+#: prefs/KeyConfigPrefs.cpp:228
 msgid "Error loading keyboard shortcuts"
 msgstr "Błąd podczas wczytywania skrótów klawiszowych"
 
-#: prefs/KeyConfigPrefs.cpp:243
+#: prefs/KeyConfigPrefs.cpp:176
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Eksportuj skróty klawiszowe jako:"
+
+#: prefs/KeyConfigPrefs.cpp:196
+msgid "Error saving keyboard shortcuts"
+msgstr "Błąd zapisu skrótów klawiszowych"
+
+#: prefs/KeyConfigPrefs.cpp:256
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
@@ -8293,10 +8017,68 @@ msgstr "Skrót klawiaturowy %s jest już przypisany do:\n"
 "\n"
 " %s'"
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Cofnij"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+#, fuzzy
+msgid "MP3 Export Library"
+msgstr "Lokalizacja biblioteki MP3"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "Wersja biblioteki MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+#, fuzzy
+msgid "MP3 Library:"
+msgstr "Wersja biblioteki MP3:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr "&Lokalizuj..."
+
+#: prefs/FileFormatPrefs.cpp:98
+#, fuzzy
+msgid "LAME MP3 Library:"
+msgstr "Wersja biblioteki MP3:"
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+#, fuzzy
+msgid "&Download"
+msgstr "Pobierz..."
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "Biblioteka Importu/Eksportu FFmpeg"
+
+#: prefs/FileFormatPrefs.cpp:109
+#, fuzzy
+msgid "FFmpeg Library Version:"
+msgstr "Wersja biblioteki MP3:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+#, fuzzy
+msgid "FFmpeg Library:"
+msgstr "&Znajdź Bibliotekę"
+
+#: prefs/AudioIOPrefs.cpp:42 prefs/AudioIOPrefs.cpp:43
+#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "Audio I/O"
+
+#: prefs/AudioIOPrefs.cpp:127 prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Port dźwiękowy v"
+
+#: prefs/AudioIOPrefs.cpp:149 prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr "Odtwarzanie"
 
 #: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
@@ -8312,6 +8094,10 @@ msgstr "&Odtwarzanie sprzętowe: Odtwarzaj ścieżkę podczas nagrywania jej"
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "&Odtwarzanie programowe: Odtwarzaj ścieżkę podczas nagrywania jej"
 
+#: prefs/AudioIOPrefs.cpp:178 prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr "Wytnij PodglÄ…d"
+
 #: prefs/MidiIOPrefs.cpp:160
 #, fuzzy
 msgid "Play before cut region:"
@@ -8322,6 +8108,10 @@ msgstr "Podgląd przed obszarem obcięcia:"
 msgid "Play after cut region:"
 msgstr "Podgląd po obszarze obcięcia:"
 
+#: prefs/AudioIOPrefs.cpp:191 prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
+msgstr "Bezczynność"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr "Dźwięk do bufora:"
@@ -8335,13 +8125,24 @@ msgstr "Korekcja bezczynności"
 msgid "Seek Time"
 msgstr "Określ czas"
 
+#: prefs/AudioIOPrefs.cpp:210 prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr "Krótka przerwa:"
+
+#: prefs/AudioIOPrefs.cpp:212 prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr "DÅ‚uga przerwa:"
+
+#: prefs/AudioIOPrefs.cpp:170 prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr "Podgląd efektów"
+
 #: prefs/MidiIOPrefs.cpp:196
 #, fuzzy
 msgid "Play when previewing:"
 msgstr "PodglÄ…d"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Mysz"
 
@@ -8361,37 +8162,26 @@ msgstr "Komenda"
 msgid "Buttons"
 msgstr "Klawisze"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Lewy klawisz myszy"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Zaznacz "
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Ustaw punkt zaznaczenia"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Lewy klawisz - przeciÄ…gnij"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Ustaw zakres zaznaczenia"
 
@@ -8419,12 +8209,8 @@ msgstr "Ctrl-Lewe-Kliknięcie"
 msgid "Set Selection Point and Play"
 msgstr "Ustaw punkt zaznaczenia i Odtwarzaj"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Powiększ"
 
@@ -8432,9 +8218,7 @@ msgstr "Powiększ"
 msgid "Zoom in on Point"
 msgstr "Powiększ w punkcie"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Powiększ zakres"
 
@@ -8442,18 +8226,15 @@ msgstr "Powiększ zakres"
 msgid "same as right-drag"
 msgstr "tak jak przesunięcie w prawo"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Prawy klawisz myszy"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Pomniejsz "
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "PrzeciÄ…gnij prawym klawiszem myszy"
 
@@ -8489,8 +8270,7 @@ msgstr "Shift-Przesuń w lewo"
 msgid "Time shift all clips in track"
 msgstr "Przesuń w czasie wszystkie klipy w ścieżce"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl- Lewy-przeciÄ…gnij"
 
@@ -8506,9 +8286,7 @@ msgstr "Zmień obwiednię wzmocnienia"
 msgid "Change Sample"
 msgstr "Zmień próbkę"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Pióro"
@@ -8529,26 +8307,20 @@ msgstr "Zmiana kilku próbek"
 msgid "Change ONE Sample only"
 msgstr "Zmiana tylko JEDNEJ próbki"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "to samo co narzędzie do zaznaczania"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "tak samo jak narzędzie do powiększania"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Dowolny"
 
@@ -8576,10 +8348,62 @@ msgstr "Ctrl-kółko myszy"
 msgid "Zoom in or out"
 msgstr "Powiększ lub pomniejsz"
 
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Length of preview:"
+msgstr "Długość podglądu:"
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview before cut region:"
+msgstr "Podgląd przed obszarem obcięcia:"
+
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Preview after cut region:"
+msgstr "Podgląd po obszarze obcięcia:"
+
+#: prefs/AudioIOPrefs.cpp:207
+msgid "Seek Time when playing"
+msgstr "Przeszukuj podczas odtwarzania"
+
 #: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Właściwości Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr "Podczas zapisywania projektu, który jest zależny od innych plików dźwiękowych"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr "Zawsze &kopiuj cały dźwięk do projektu (najbezpieczniejsze)"
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "&Nie kopiuj dźwięku"
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr "&Zapytaj użytkownika"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Zapisz automatycznie"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Zapisz automatycznie kopiÄ™ projektu w osobnym folderze"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Przerwa w zapisie:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minut"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "ProstokÄ…tny"
@@ -8604,160 +8428,258 @@ msgstr "Standardowa częstotliwość:"
 msgid "Default Sample Format:"
 msgstr "Standardowa rozdzielczość:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Konwerter częstotl. próbkowania ( w czasie rzeczywistym)"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Wysokiej jakości konwerter częstotliwości próbkowania:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
+msgstr "Konwerter próbkowania"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Dithering w czasie rzeczywistym"
+#: prefs/QualityPrefs.cpp:141
+msgid "Dither"
+msgstr "Wahania"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Wysokiej jakości dither:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Konwersja"
+#: prefs/AudioIOPrefs.cpp:151
+#, fuzzy
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "&Odtwarzaj inne ścieżki podczas nagrywania nowej"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Konwerter próbkowania"
+#: prefs/AudioIOPrefs.cpp:154
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Odtwarzanie sprzętowe: Odtwarzaj ścieżkę podczas nagrywania jej"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Wahania"
+#: prefs/AudioIOPrefs.cpp:159
+#, fuzzy
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&Odtwarzanie programowe: Odtwarzaj ścieżkę podczas nagrywania jej"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Czas rzeczywisty:"
+#: prefs/AudioIOPrefs.cpp:162
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(odznacz podczas nagrywania\"stereo mix\")"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Wysoka jakość:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "MÄ…dre Nagrywanie"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:64
-#: prefs/SmartRecordPrefs.cpp:66
+#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 #, fuzzy
 msgid "Sound Activated Recording"
 msgstr "MÄ…dre Nagrywanie"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Poziom Aktywacji Dźwięku (dB):"
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:42 prefs/SpectrumPrefs.cpp:43
 msgid "Spectrograms"
 msgstr "Spektrogramy"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Rozmiar FFT"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:95
 msgid "8 - most wideband"
 msgstr "8 - najszersze"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:100
 msgid "256 - default"
 msgstr "256 - domyślnie"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:108
 #, fuzzy
 msgid "32768 - most narrowband"
 msgstr "4096 - największa rozdzielczość"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:110
 msgid "4096 - most narrowband"
 msgstr "4096 - największa rozdzielczość"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Rodzaj okna:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Wyświetlacz"
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
+msgstr "Rodzaj okna:"
 
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Skala szarości"
+#: prefs/SpectrumPrefs.cpp:126
+msgid "FFT Skip Points"
+msgstr "Punkty Opuszczenia FFT"
 
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:148
 msgid "Minimum Frequency (Hz):"
 msgstr "Minimalna częstotliwość (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:153
 msgid "Maximum Frequency (Hz):"
 msgstr "Maksymalna częstotliwość (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:165
+#: prefs/SpectrumPrefs.cpp:166
 #, fuzzy
 msgid "Minimum Amplitude (dB):"
 msgstr "Nowy Szczyt Amplitudy (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
-msgstr ""
+msgstr "Mak. ilość Notatek (1..128):"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Find Notes"
+msgstr "&Znajdź Notatki"
+
+#: prefs/SpectrumPrefs.cpp:163
+msgid "&Quantize Notes"
+msgstr "&Kwantyzacja Notatek"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:198
 msgid "The maximum frequency must be an integer"
 msgstr "Maksymalna częstotliwość musi być liczbą całkowitą"
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:202
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "Maksymalna częstotliwość musi byś w przedziale 100 Hz - 100,000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:210
 msgid "The minimum frequency must be an integer"
 msgstr "Minimalna częstotliwość musi być liczbą całkowitą"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:214
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "MInimalna częstotliwość musi być przynajmniej 0 Hz"
 
-#: prefs/SpectrumPrefs.cpp:220
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:221
 #, fuzzy
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Minimalna częstotliwość musi być liczbą całkowitą"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-#, fuzzy
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Maksymalna częstotliwość musi być liczbą całkowitą"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Temat"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Tematyczność jest w fazie eksperymentów.\n"
+"\n"
+"Aby wypróbować, kliknij nak \"Zapisz Temat\" następnie\n"
+"znajdź i zmodyfikuj obrazy i kolory \n"
+"PamięćObrazuVxx.png używając edytora takiego jak \n"
+"Gimp.\n"
+"\n"
+"Kliknij \"ZaładujTemat\" aby załadować zmienione obrazy\n"
+"i kolory z powrotem do Audacity.\n"
+"\n"
+"[Można zmienić tylko pasek narzędzi i kolory na \n"
+"ścieżce, nawet mimo tego, że\n"
+"plik obrazu pokazuje również inne ikony.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8788,101 +8710,100 @@ msgstr "Zapisz pliki"
 msgid "Load Files"
 msgstr "Załaduj pliki"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
+#: prefs/GUIPrefs.cpp:50
+#, fuzzy
+msgid "Simple"
+msgstr "Cisza"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Tematyczność jest w fazie eksperymentów.\n"
-"\n"
-"Aby wypróbować, kliknij nak \"Zapisz Temat\" następnie\n"
-"znajdź i zmodyfikuj obrazy i kolory \n"
-"PamięćObrazuVxx.png używając edytora takiego jak \n"
-"Gimp.\n"
-"\n"
-"Kliknij \"ZaładujTemat\" aby załadować zmienione obrazy\n"
-"i kolory z powrotem do Audacity.\n"
-"\n"
-"[Można zmienić tylko pasek narzędzi i kolory na \n"
-"ścieżce, nawet mimo tego, że\n"
-"plik obrazu pokazuje również inne ikony.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Skompilowałeś Audacity z dodatkowym przyciskiem, \n"
-"'Żródło Wyjściowe'.  To zapisze wersję C \n"
-"pamięci obrazu, która może zostać skompilowana.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Jeśli zaznaczysz  'Załaduj Pamięć Tematu przy starcie', \n"
-"Pamięć Tematu zostanie załadowana przy uruchamianiu \n"
-"programu.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Uaktualnia wyświetlacz poczas odtwarzania"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Zapisywanie i ładowanie plików tematu używa  \n"
-"osobnych plików do każdego obrazu, ale poza tym jest to ten sam  \n"
-"pomysł.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Automatycznie &wpasowuje ścieżki"
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Pauza"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Standardowy endianess"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Odtwarzaj"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "&Zaznacz cały dźwięk w projekcie, jeśli nic nie jest zaznaczone"
 
-#: toolbars/ControlToolBar.cpp:178
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "Umożliw cięcie & liń"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Uaktywnia &przeciąganie krawędzi zaznaczenia w lewo lub w prawo"
+
+#: prefs/GUIPrefs.cpp:104
 #, fuzzy
-msgid "Play (Shift for Loop Play)"
-msgstr "Odtwórz (odtwarzanie w pętli: z klawiszem Shift)"
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Przesuń po ścieżce\" &przesuwa się po ścieżce"
 
-#: toolbars/ControlToolBar.cpp:183
-msgid "Stop"
-msgstr "Stop"
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "Edytowanie &klipu może przesunąć inne klipy"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Skocz do poczÄ…tku"
+#: prefs/GUIPrefs.cpp:168
+#, fuzzy
+msgid "Solo Button:"
+msgstr "przycisk"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Skocz do końca"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:995
+msgid "Pause"
+msgstr "Pauza"
+
+#: Menus.cpp:994
+msgid "Stop"
+msgstr "Stop"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr "Czysta mowa"
 
-#: toolbars/ControlToolBar.cpp:540
-#: toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:178
+#, fuzzy
+msgid "Play (Shift for Loop Play)"
+msgstr "Odtwórz (odtwarzanie w pętli: z klawiszem Shift)"
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr "Nagrywaj (Shift do dołączania nagrywania)"
+
+#: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
 msgstr "Błąd podczas otwierania urządzenia dźwiękowego. "
 
@@ -8894,13 +8815,11 @@ msgstr "Nagrywanie w trybie CzystaMowa nie jest możliwe, gdy jedna ścieżka lu
 msgid "Recording not permitted"
 msgstr "Nagrywanie zabronione"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Urządzenie wyjścia"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Urządzenie wejścia"
 
@@ -8925,29 +8844,21 @@ msgstr "Powiększ"
 msgid "Zoom Out"
 msgstr "Pomniejsz"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Narzędzie powiększania"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "Dopasuj zaznaczenie"
-
 #: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "Dopasuj zaznaczenie do okna"
 
 #: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "Dopasuj projekt"
-
-#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "Pokaż cały projekt w oknie"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Miernik"
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr "Dopasuj zaznaczenie"
+
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
+msgstr "Dopasuj projekt"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8982,8 +8893,7 @@ msgstr "Wzmocnienie wyjściowe"
 msgid "Slider Output"
 msgstr "Suwak do wyjścia"
 
-#: toolbars/MixerToolBar.cpp:101
-#: widgets/Meter.cpp:874
+#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:870
 msgid "Input Volume"
 msgstr "Wzmocnienie wejściowe"
 
@@ -8996,22 +8906,27 @@ msgstr "Suwak do wejścia"
 msgid "Input Source"
 msgstr "Żródło wejścia"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr "Zaznaczenie"
 
-#: toolbars/SelectionBar.cpp:135
-#: toolbars/SelectionBar.cpp:194
+#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr "Częstotliwość projektu (Hz)"
 
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:255
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
 msgstr "PoczÄ…tek zaznaczenia:"
 
-#: toolbars/SelectionBar.cpp:163
-#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:163 toolbars/SelectionBar.cpp:164
 #: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr "Długość"
@@ -9020,13 +8935,11 @@ msgstr "Długość"
 msgid "hidden"
 msgstr "ukryty"
 
-#: toolbars/SelectionBar.cpp:184
-#: toolbars/SelectionBar.cpp:272
+#: toolbars/SelectionBar.cpp:184 toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr "Pozycja dźwięku"
 
-#: toolbars/SelectionBar.cpp:236
-#: toolbars/SelectionBar.cpp:241
+#: toolbars/SelectionBar.cpp:236 toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr "Przyczep do"
 
@@ -9047,8 +8960,7 @@ msgstr "Koniec zaznaczenia"
 msgid "Audacity %s ToolBar"
 msgstr "Pasek %s Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Dok z narzędziami"
 
@@ -9080,34 +8992,6 @@ msgstr "Lewy=Powiększ, Prawy=Pomniejsz, Środek=Normalny"
 msgid "Click and drag to move a track in time"
 msgstr "Kliknij i przeciągnij aby przesunąć ścieżkę w odniesieniu do czasu"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Narzędzia"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Zaznaczanie"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Narzędzie obwiedni"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Narzędzie do przesuwania w czasie"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Lupa"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Narzędzie rysowania­"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Tryb multi narzędzia"
@@ -9116,24 +9000,11 @@ msgstr "Tryb multi narzędzia"
 msgid "Slide Tool"
 msgstr "Narzędzie Przesuwania"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Wielofunkcyjne Narzędzie"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transkrypcja"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Odtwarzaj z podaną prędkością"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Odtwarzaj z prędkością"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Prędkość odtwarzania"
 
@@ -9142,74 +9013,38 @@ msgstr "Prędkość odtwarzania"
 msgid "Adjust left selection to next onset"
 msgstr "Koryguj lewe zaznaczenie do następnego początku"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Lewe włączone"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Koryguj prawe zaznaczenie do poprzedniego offsetu"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Prawe wyłączone"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "Koryguj lewe zaznaczenie do następnego offsetu"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Lewe wyłączone"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "Koryguj prawe zaznaczenie do poprzedniego poczÄ…tku"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Prawe włączone"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Zaznacz obszar dźwięku naokoło kursora"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Zaznacz dźwięk"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Zaznacz obszar ciszy naokoło kursora"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Zaznacz ciszÄ™"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Stwórz automatycznie etykiety z wyrazów"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Stwórz etykiety"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Dodaj etykietÄ™ do zaznaczenia"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Dodaj etykietÄ™"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Skalibruj czujnik natężenia dźwięku"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Kalibruj"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Skoryguj czułość"
@@ -9242,6 +9077,46 @@ msgstr "Zmiany kierunku (Wysoki próg)"
 msgid "Key type"
 msgstr "Rodzaj klawisza"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Odtwarzaj z prędkością"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Lewe włączone"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Prawe wyłączone"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Lewe wyłączone"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Prawe włączone"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Zaznacz dźwięk"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Zaznacz ciszÄ™"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Stwórz etykiety"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Dodaj etykietÄ™"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Kalibruj"
+
 #: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr " (nieaktywny)"
@@ -9256,8 +9131,7 @@ msgstr "przycisk"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612
-#: widgets/Meter.cpp:248
+#: widgets/ASlider.cpp:612 widgets/Meter.cpp:248
 msgid "L"
 msgstr "L"
 
@@ -9265,8 +9139,7 @@ msgstr "L"
 #  i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615
-#: widgets/Meter.cpp:250
+#: widgets/ASlider.cpp:615 widgets/Meter.cpp:250
 msgid "R"
 msgstr "P"
 
@@ -9288,19 +9161,19 @@ msgstr "Pomoc"
 
 #: widgets/ErrorDialog.cpp:137
 msgid "<"
-msgstr ""
+msgstr "<"
 
 #: widgets/ErrorDialog.cpp:138
 msgid ">"
-msgstr ""
+msgstr ">"
 
 #: widgets/ErrorDialog.cpp:142
 msgid "Forwards"
-msgstr ""
+msgstr "Do przodu"
 
 #: widgets/ErrorDialog.cpp:143
 msgid "Backwards"
-msgstr ""
+msgstr "Do tyłu"
 
 #: widgets/ErrorDialog.cpp:255
 msgid "Help on the Internet"
@@ -9310,55 +9183,54 @@ msgstr "Pomoc w Internecie"
 msgid "Grabber"
 msgstr "Uchwyt"
 
-#: widgets/Grid.cpp:643
+#: widgets/Grid.cpp:703
 #, c-format
 msgid "%d rows, %d columns"
 msgstr "%d rzędów, %d kolumn"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:709 widgets/Grid.cpp:836
 #, c-format
 msgid "Row %d"
 msgstr "RzÄ…d %d"
 
-#: widgets/Grid.cpp:791
+#: widgets/Grid.cpp:851
 msgid "Empty"
 msgstr "Pusty"
 
-#: widgets/Meter.cpp:396
+#: widgets/Meter.cpp:392
 msgid "Enable Meter"
 msgstr "Uruchom miernik"
 
-#: widgets/Meter.cpp:398
+#: widgets/Meter.cpp:394
 msgid "Disable Meter"
 msgstr "Wyłącz miernik"
 
-#: widgets/Meter.cpp:401
+#: widgets/Meter.cpp:397
 msgid "Stop Monitoring"
 msgstr "Przestań monitorować"
 
-#: widgets/Meter.cpp:403
+#: widgets/Meter.cpp:399
 msgid "Start Monitoring"
 msgstr "Rozpocznij monitorować"
 
-#: widgets/Meter.cpp:407
+#: widgets/Meter.cpp:403
 msgid "Horizontal Stereo"
 msgstr "Stereo poziomo"
 
-#: widgets/Meter.cpp:408
+#: widgets/Meter.cpp:404
 msgid "Vertical Stereo"
 msgstr "Stereo pionowo"
 
-#: widgets/Meter.cpp:425
+#: widgets/Meter.cpp:421
 msgid "Preferences..."
 msgstr "Preferencje..."
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:872
 #, fuzzy
 msgid "Mix Volume"
 msgstr "Wzmocnienie wejściowe"
 
-#: widgets/Meter.cpp:1145
+#: widgets/Meter.cpp:1141
 msgid "This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
@@ -9368,11 +9240,11 @@ msgstr "Określa to, jak często odbywa się odświeżanie miernika.\n"
 "wolniejsze odświeżanie (30 razy na sekundę lub wolniej), aby\n"
 "wyświetlacz miernika nie wpływał na jakość dźwięku."
 
-#: widgets/Meter.cpp:1146
+#: widgets/Meter.cpp:1142
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Częstotliwość odświeżania miernika na sekundę [1-100]:"
 
-#: widgets/Meter.cpp:1147
+#: widgets/Meter.cpp:1143
 msgid "Meter Preferences"
 msgstr "Ustawienia Miernika"
 
@@ -9385,23 +9257,22 @@ msgstr "Wybierz akcjÄ™ "
 msgid "Please select an action"
 msgstr "Wybierz akcjÄ™ "
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1052
 #, fuzzy
 msgid "Elapsed Time:"
 msgstr "Czas zakończenia"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1072
 #, fuzzy
 msgid "Remaining Time:"
 msgstr "Usuwanie szumu"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1100
 #, fuzzy
 msgid "Cancel"
 msgstr "&Cofnij"
 
-#: widgets/Ruler.cpp:1445
-#: widgets/Ruler.cpp:1446
+#: widgets/Ruler.cpp:1316 widgets/Ruler.cpp:1317
 msgid "Vertical Ruler"
 msgstr "Pionowa linijka"
 
@@ -9437,10 +9308,10 @@ msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 dni 024 g 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
+#. * minutes, seconds and hundredths of a second (1/100 second)
 #: widgets/TimeTextCtrl.cpp:288
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "hh:mm:ss + setne"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -9449,11 +9320,11 @@ msgstr ""
 #. * unless there aren't 60 minutes in an hour in your locale
 #: widgets/TimeTextCtrl.cpp:294
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 h 060 m 060.0100 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
-#: widgets/TimeTextCtrl.cpp:288
+#: widgets/TimeTextCtrl.cpp:297
 msgid "hh:mm:ss + milliseconds"
 msgstr "gg:mm:ss + milisekund"
 
@@ -9462,13 +9333,13 @@ msgstr "gg:mm:ss + milisekund"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * milliseconds are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:303
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 g 060 m 060.01000 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and samples (at the current project sample rate)
-#: widgets/TimeTextCtrl.cpp:297
+#: widgets/TimeTextCtrl.cpp:306
 msgid "hh:mm:ss + samples"
 msgstr "gg:mm:ss + próbki"
 
@@ -9477,13 +9348,13 @@ msgstr "gg:mm:ss + próbki"
 #. * abbreviation for minutes, 's' to the abbreviation for seconds and
 #. * translate samples . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:303
+#: widgets/TimeTextCtrl.cpp:312
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 g 060 m 060 s+.# próbki"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
 #. * current project sample rate)
-#: widgets/TimeTextCtrl.cpp:306
+#: widgets/TimeTextCtrl.cpp:315
 msgid "samples"
 msgstr "próbki"
 
@@ -9491,13 +9362,13 @@ msgstr "próbki"
 #. * Change the ',' to the 1000s separator for your locale, and translate
 #. * samples. If 1000s aren't a base multiple for your number system, then you
 #. * can change the numbers to an appropriate one, and put a 0 on the front
-#: widgets/TimeTextCtrl.cpp:311
+#: widgets/TimeTextCtrl.cpp:320
 msgid "01000,01000,01000 samples|#"
 msgstr "01000,01000,01000 próbki|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:314
+#: widgets/TimeTextCtrl.cpp:323
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "gg:mm:ss + klatek filmu (24 fps)"
 
@@ -9506,26 +9377,26 @@ msgstr "gg:mm:ss + klatek filmu (24 fps)"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames' . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:320
+#: widgets/TimeTextCtrl.cpp:329
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 g 060 m 060 s+.24 klatek"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
 #. * frames) at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:323
+#: widgets/TimeTextCtrl.cpp:332
 msgid "film frames (24 fps)"
 msgstr "klatek filmu (24 fps)"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
 #. * second. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:326
+#: widgets/TimeTextCtrl.cpp:335
 msgid "01000,01000 frames|24"
 msgstr "0100 g 060 m 060 s+.24 klatek"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV drop-frame rate (used for American /
-#. * Japananese TV, and very odd)
-#: widgets/TimeTextCtrl.cpp:330
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:339
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "gg:mm:ss + odpadniętych klatek NTSC "
 
@@ -9533,14 +9404,14 @@ msgstr "gg:mm:ss + odpadniętych klatek NTSC "
 #. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the |N alone, it's important!
-#: widgets/TimeTextCtrl.cpp:335
+#: widgets/TimeTextCtrl.cpp:344
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 g 060 m 060 s+.30 klatek|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-#. * Japananese TV, and doesn't quite match wall time
-#: widgets/TimeTextCtrl.cpp:339
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:348
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "ggf:mm:ss + nie-odpadniętych klatek NTSC"
 
@@ -9549,26 +9420,26 @@ msgstr "ggf:mm:ss + nie-odpadniętych klatek NTSC"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the | .999000999 alone,
 #. * the whole things really is slightly off-speed!
-#: widgets/TimeTextCtrl.cpp:345
+#: widgets/TimeTextCtrl.cpp:354
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 g 060 m 060 s+.030 klatek| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#. * TV frame rate (used for American / Japananese TV
-#: widgets/TimeTextCtrl.cpp:348
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:357
 msgid "NTSC frames"
 msgstr "klatek NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
 #. * rate!
-#: widgets/TimeTextCtrl.cpp:352
+#: widgets/TimeTextCtrl.cpp:361
 msgid "01000,01000 frames|29.97002997"
 msgstr "01000,01000 klatek|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at PAL TV frame rate (used for European TV)
-#: widgets/TimeTextCtrl.cpp:355
+#: widgets/TimeTextCtrl.cpp:364
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "gg:mm:ss + klatek PAL (25 fps)"
 
@@ -9576,25 +9447,25 @@ msgstr "gg:mm:ss + klatek PAL (25 fps)"
 #. * and frames with PAL TV frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Nice simple time code!
-#: widgets/TimeTextCtrl.cpp:360
+#: widgets/TimeTextCtrl.cpp:369
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 g 060 m 060 s+.25 klatek"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
 #. * TV frame rate (used for European TV
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:372
 msgid "PAL frames (25 fps)"
 msgstr "klatek PAL (25 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone.
-#: widgets/TimeTextCtrl.cpp:366
+#: widgets/TimeTextCtrl.cpp:375
 msgid "01000,01000 frames|25"
 msgstr "01000,01000 klatek|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at CD Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:369
+#: widgets/TimeTextCtrl.cpp:378
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "gg:mm:ss + klatek CDDA (75 fps)"
 
@@ -9602,27 +9473,27 @@ msgstr "gg:mm:ss + klatek CDDA (75 fps)"
 #. * and frames with CD Audio frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'.
-#: widgets/TimeTextCtrl.cpp:374
+#: widgets/TimeTextCtrl.cpp:383
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 g 060 m 060 s+.75 klatek"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
 #. * Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:377
+#: widgets/TimeTextCtrl.cpp:386
 msgid "CDDA frames (75 fps)"
 msgstr "klatek CDDA (75 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:380
+#: widgets/TimeTextCtrl.cpp:389
 msgid "01000,01000 frames|75"
 msgstr "01000,01000 klatek|75"
 
-#: widgets/TimeTextCtrl.cpp:451
+#: widgets/TimeTextCtrl.cpp:461
 msgid "Use right mouse button or context key to change format"
 msgstr "Użyj prawego klawisza myszy lub klawisza kontekstowego, aby zmienić format"
 
-#: widgets/TimeTextCtrl.cpp:1485
+#: widgets/TimeTextCtrl.cpp:1495
 msgid "Time Control"
 msgstr "Kontrola czasu"
 
@@ -9645,3 +9516,15 @@ msgstr "BÅ‚Ä…d: %hs w lini %d"
 msgid "Could not load file: \"%s\""
 msgstr "Nie można załadować pliku: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/pt.po b/locale/pt.po
index f03fd4d..d64d6ec 100644
--- a/locale/pt.po
+++ b/locale/pt.po
@@ -17,14 +17,11 @@ msgstr ""
 "X-Poedit-Country: BRAZIL\n"
 "X-Poedit-SourceCharset: iso-8859-1\n"
 
-#: AboutDialog.cpp:141
-#: AudacityApp.cpp:732
-#: Menus.cpp:733
+#: AboutDialog.cpp:141 AudacityApp.cpp:732 Menus.cpp:733
 msgid "&About Audacity..."
 msgstr "&Sobre..."
 
-#: AboutDialog.cpp:165
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:165 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Ligado"
 
@@ -41,16 +38,40 @@ msgid "Settings folder: "
 msgstr "Pasta de configurações"
 
 #: AboutDialog.cpp:239
-msgid "Audacity is a free program written by a team of volunteer developers around the world. Coordination happens thanks to SourceForge.net, an online service that provides free tools to open-source software projects. Audacity is available for Windows 98 and newer, Mac OS X, Linux, and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr "O Audacity é um programa gratuito escrito por um time de desenvolvedores utilizando recursos do Sourceforge, um serviço online para projetos de código-fonte aberto. Está baseado no wxWindows e está disponível para MS-Windows, MacOS X e Linux."
+msgid ""
+"Audacity is a free program written by a team of volunteer developers around "
+"the world. Coordination happens thanks to SourceForge.net, an online service "
+"that provides free tools to open-source software projects. Audacity is "
+"available for Windows 98 and newer, Mac OS X, Linux, and other Unix-like "
+"operating systems. Older versions of Audacity are available for Mac OS 9."
+msgstr ""
+"O Audacity é um programa gratuito escrito por um time de desenvolvedores "
+"utilizando recursos do Sourceforge, um serviço online para projetos de "
+"código-fonte aberto. Está baseado no wxWindows e está disponível para MS-"
+"Windows, MacOS X e Linux."
 
 #: AboutDialog.cpp:243
-msgid "This is a beta version of the program.  It may contain bugs and unfinished features.  We depend on your feedback, so please visit our website and give us your bug reports and feature requests."
-msgstr "Esta é uma versão beta do programa, para testes. Podem haver problemas ou recursos não implementados. Dependemos de sua ajuda para tornar este programa cada vez melhor. Visite nosso site e reporte qualquer problema que possa ter."
+msgid ""
+"This is a beta version of the program.  It may contain bugs and unfinished "
+"features.  We depend on your feedback, so please visit our website and give "
+"us your bug reports and feature requests."
+msgstr ""
+"Esta é uma versão beta do programa, para testes. Podem haver problemas ou "
+"recursos não implementados. Dependemos de sua ajuda para tornar este "
+"programa cada vez melhor. Visite nosso site e reporte qualquer problema que "
+"possa ter."
 
 #: AboutDialog.cpp:246
-msgid "This is a stable, completed release of Audacity. However, if you find a bug or have a suggestion, please contact us. We depend on feedback from users in order to continue to improve Audacity. For more information, visit our website."
-msgstr "Esta é uma versão estável e completa do Audacity. No entanto, se você encontrar alguma falha ou se tiver uma sugestão, por favor entre em contato. Este projeto depende do retorno dos usuários para melhorar cada vez mais. Visite nosso site."
+msgid ""
+"This is a stable, completed release of Audacity. However, if you find a bug "
+"or have a suggestion, please contact us. We depend on feedback from users in "
+"order to continue to improve Audacity. For more information, visit our "
+"website."
+msgstr ""
+"Esta é uma versão estável e completa do Audacity. No entanto, se você "
+"encontrar alguma falha ou se tiver uma sugestão, por favor entre em contato. "
+"Este projeto depende do retorno dos usuários para melhorar cada vez mais. "
+"Visite nosso site."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -58,8 +79,7 @@ msgstr "Esta 
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:256
-#: AboutDialog.cpp:258
+#: AboutDialog.cpp:256 AboutDialog.cpp:258
 msgid "translator_credits"
 msgstr "Tradução ao português brasileiro (pt_BR) por Cleber Tavano"
 
@@ -112,9 +132,7 @@ msgstr "Audacity"
 #. i18n-hint: Rather than a literal translation, consider adding the
 #. appropriate suffix or prefix to create a word meaning 'something which
 #. has Audacity'
-#: AboutDialog.cpp:340
-#: AboutDialog.cpp:371
-#: SplashDialog.cpp:113
+#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:113
 msgid "OK... Audacious!"
 msgstr "OK... Audacioso!!"
 
@@ -122,22 +140,16 @@ msgstr "OK... Audacioso!!"
 msgid "GPL License"
 msgstr "Licença GPL"
 
-#: AboutDialog.cpp:688
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:135
+#: AboutDialog.cpp:688 FreqWindow.cpp:209 widgets/ErrorDialog.cpp:135
 msgid "Close"
 msgstr "Fechar"
 
-#: AudacityApp.cpp:458
-#: Project.cpp:1751
+#: AudacityApp.cpp:458 Project.cpp:1751
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s já está aberto em outra janela."
 
-#: AudacityApp.cpp:460
-#: Project.cpp:1753
-#: Project.cpp:1834
-#: Project.cpp:1978
+#: AudacityApp.cpp:460 Project.cpp:1753 Project.cpp:1834 Project.cpp:1978
 #: Project.cpp:2080
 msgid "Error opening project"
 msgstr "Erro abrindo projeto"
@@ -165,21 +177,16 @@ msgstr "Medidor de entrada"
 msgid "Output Meter"
 msgstr "Medidor de saída"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:734
-#: Menus.cpp:470
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferências...\tCtrl+,"
+#: AudacityApp.cpp:734 Menus.cpp:470
+msgid "&Preferences..."
+msgstr "&Preferências..."
 
-#: AudacityApp.cpp:816
-#: AudacityApp.cpp:893
+#: AudacityApp.cpp:816 AudacityApp.cpp:893
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Usando blocos de %ld de tamanho\n"
 
-#: AudacityApp.cpp:838
-#: AudacityApp.cpp:908
+#: AudacityApp.cpp:838 AudacityApp.cpp:908
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Comando não-reconhecido: %s\n"
@@ -189,12 +196,18 @@ msgid ""
 "Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
 msgstr ""
-"Audacity não conseguiu encontrar uma pasta para guardar os arquivos temporários. \n"
-"Por favor, digite um nome de pasta apropriado na caixa de diálogos \"Preferências\"."
+"Audacity não conseguiu encontrar uma pasta para guardar os arquivos "
+"temporários. \n"
+"Por favor, digite um nome de pasta apropriado na caixa de diálogos "
+"\"Preferências\"."
 
 #: AudacityApp.cpp:1033
-msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
-msgstr "Audacity irá se encerrar agora. Abra o programa novamente para utilizar a nova pasta temporária."
+msgid ""
+"Audacity is now going to exit. Please launch Audacity again to use the new "
+"temporary directory."
+msgstr ""
+"Audacity irá se encerrar agora. Abra o programa novamente para utilizar a "
+"nova pasta temporária."
 
 #: AudacityApp.cpp:1065
 msgid ""
@@ -268,11 +281,16 @@ msgstr "\t-test (executa os testes de diagn
 #. * disk
 #: AudacityApp.cpp:1148
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
-msgstr "\t-blocksize nnn (ajusta o tamanho máximo das unidades de alocação do disco rígido)"
+msgstr ""
+"\t-blocksize nnn (ajusta o tamanho máximo das unidades de alocação do disco "
+"rígido)"
 
 #: AudacityApp.cpp:1149
-msgid "In addition, specify the name of an audio file or Audacity project to open it."
-msgstr "Especifique o nome do arquivo ou projeto que deverá ser aberto pelo Audacity"
+msgid ""
+"In addition, specify the name of an audio file or Audacity project to open "
+"it."
+msgstr ""
+"Especifique o nome do arquivo ou projeto que deverá ser aberto pelo Audacity"
 
 #: AudacityApp.cpp:1421
 msgid ""
@@ -319,11 +337,14 @@ msgstr "Problemas de lat
 msgid ""
 "Latency setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to "
+"the right place."
 msgstr ""
-"A latência atual fez com que o áudio fosse colocado antes da posição zero inicial.\n"
+"A latência atual fez com que o áudio fosse colocado antes da posição zero "
+"inicial.\n"
 "O Audacity ajustou o áudio de volta à posição zero inicial.\n"
-"Pode ser necessário usar a ferramenta Deslizar para arrastar a faixa de áudio para o local adequado."
+"Pode ser necessário usar a ferramenta Deslizar para arrastar a faixa de "
+"áudio para o local adequado."
 
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
@@ -334,21 +355,24 @@ msgid ""
 "Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
 msgstr ""
-"Alguns arquivos de projeto não foram salvos corretamente desde a última execução do Audacity.\n"
+"Alguns arquivos de projeto não foram salvos corretamente desde a última "
+"execução do Audacity.\n"
 "Os seguintes arquivos puderam ser recuperados automaticamente:"
 
 #: AutoRecovery.cpp:75
 msgid "Recoverable projects"
 msgstr "Projetos recuperáveis"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:1999
+#: AutoRecovery.cpp:78 Tags.cpp:1999
 msgid "Name"
 msgstr "Nome"
 
 #: AutoRecovery.cpp:84
-msgid "Recovering a project will not change any files on disk before you save it."
-msgstr "Recuperar um arquivo de projeto não o altera até que seja salvo em disco novamente."
+msgid ""
+"Recovering a project will not change any files on disk before you save it."
+msgstr ""
+"Recuperar um arquivo de projeto não o altera até que seja salvo em disco "
+"novamente."
 
 #: AutoRecovery.cpp:88
 msgid "Quit Audacity"
@@ -363,45 +387,38 @@ msgid "Recover Projects"
 msgstr "Recuperar Projetos"
 
 #: AutoRecovery.cpp:127
-msgid "You have chosen not to recover any projects. You will not be able to recover those projects later if you change your mind. Do you really want to continue without recovering?"
-msgstr "Você escolheu por não recuperar os arquivos de projeto. Não será possível recuperá-los em outra oportunidade. Você tem certeza de que deseja continuar sem recuperar os arquivos?"
+msgid ""
+"You have chosen not to recover any projects. You will not be able to recover "
+"those projects later if you change your mind. Do you really want to continue "
+"without recovering?"
+msgstr ""
+"Você escolheu por não recuperar os arquivos de projeto. Não será possível "
+"recuperá-los em outra oportunidade. Você tem certeza de que deseja continuar "
+"sem recuperar os arquivos?"
 
 #: AutoRecovery.cpp:128
 msgid "Really not recover projects?"
 msgstr "Deseja não recuperar o projeto?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Não foi possível enumerar os arquivos na pasta de auto-recuperação"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2545
-#: Menus.cpp:4445
-#: Project.cpp:1937
-#: Project.cpp:3296
-#: Project.cpp:3375
-#: WaveTrack.cpp:548
-#: WaveTrack.cpp:567
-#: WaveTrack.cpp:1656
-#: effects/Effect.cpp:433
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2545 Menus.cpp:4445
+#: Project.cpp:1937 Project.cpp:3296 Project.cpp:3375 WaveTrack.cpp:548
+#: WaveTrack.cpp:567 WaveTrack.cpp:1656 effects/Effect.cpp:433
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:841
 msgid "Error"
 msgstr "Erro"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Selecione Comando"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Comando"
@@ -410,8 +427,7 @@ msgstr "&Comando"
 msgid "&Edit Parameters"
 msgstr "&Editar Parâmetros"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Parâmetros"
 
@@ -461,8 +477,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Modo de teste"
 
@@ -471,8 +486,7 @@ msgstr "Modo de teste"
 msgid "Apply %s"
 msgstr "Aplicar %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Aplicar arquivo de lote"
@@ -493,24 +507,15 @@ msgstr "Aplicar ao &projeto atual"
 msgid "Apply to &Files..."
 msgstr "Aplicar aos ar&quivos..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2038
-#: Tags.cpp:2042
-#: Tags.cpp:2342
-#: Tags.cpp:2346
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2038
+#: Tags.cpp:2042 Tags.cpp:2342 Tags.cpp:2346 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&Cancelar"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Nenhum arquivo de lote selecionado"
 
@@ -528,8 +533,14 @@ msgid "Select file(s) for batch processing..."
 msgstr "Selecione os arquivos para processamento em lote..."
 
 #: BatchProcessDialog.cpp:210
-msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
-msgstr "Todos os arquivos (*.*)|*.*|Arquivos WAV (*.wav)|*.wav|Arquivos AIFF (*.aif)|*.aif|Arquivos AU (*.au)|*.au|Arquivos MP3 (*.mp3)|*.mp3|Arquivos Ogg Vorbis (*.ogg)|*.ogg|Arquivos FLAC (*.flac)|*.flac"
+msgid ""
+"All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU "
+"files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|"
+"FLAC files (*.flac)|*.flac"
+msgstr ""
+"Todos os arquivos (*.*)|*.*|Arquivos WAV (*.wav)|*.wav|Arquivos AIFF (*.aif)|"
+"*.aif|Arquivos AU (*.au)|*.au|Arquivos MP3 (*.mp3)|*.mp3|Arquivos Ogg Vorbis "
+"(*.ogg)|*.ogg|Arquivos FLAC (*.flac)|*.flac"
 
 #: BatchProcessDialog.cpp:231
 msgid "Applying..."
@@ -539,8 +550,7 @@ msgstr "Aplicando..."
 msgid "File"
 msgstr "Arquivo"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Editar arquivos de lote"
@@ -549,19 +559,12 @@ msgstr "Editar arquivos de lote"
 msgid "&Chains"
 msgstr "Arquivos de &lote"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:782
-#: Tags.cpp:1422
-#: Tags.cpp:2022
+#: BatchProcessDialog.cpp:435 Tags.cpp:782 Tags.cpp:1422 Tags.cpp:2022
 msgid "&Add"
 msgstr "&Adicionar"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:783
-#: Tags.cpp:1423
-#: Tags.cpp:2023
-#: TrackPanel.cpp:3985
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:783 Tags.cpp:1423
+#: Tags.cpp:2023 TrackPanel.cpp:3985
 msgid "&Remove"
 msgstr "&Remover"
 
@@ -642,11 +645,13 @@ msgstr "Copiando dados de 
 #: Dependencies.cpp:219
 msgid ""
 "Your project currently depends on the presence of other files.\n"
-"Copy audio from the following files into your project to make it self-contained?\n"
+"Copy audio from the following files into your project to make it self-"
+"contained?\n"
 "This will need more disc space but is safer."
 msgstr ""
 "Seu projeto depende de áudio de arquivos externos.\n"
-"Deseja copiar o áudio dos seguintes arquivos para esta pasta de projeto para torná-lo auto suficiente?\n"
+"Deseja copiar o áudio dos seguintes arquivos para esta pasta de projeto para "
+"torná-lo auto suficiente?\n"
 "Esta ação requer mais espaço em disco, mas garante a integridade do projeto."
 
 #: Dependencies.cpp:266
@@ -669,8 +674,7 @@ msgstr "Espa
 msgid "Copy Selected Audio Into Project"
 msgstr "Copiar áudio selecionado para o projeto"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Cancelar operação"
 
@@ -682,8 +686,7 @@ msgstr "N
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Copiar todo o áudio para o projeto (Seguro)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Perguntar"
 
@@ -700,12 +703,19 @@ msgid "Whenever a project depends on other files:"
 msgstr "Quando um projeto depender de outros arquivos:"
 
 #: Dependencies.cpp:409
-msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
-msgstr "Ao prosseguir, seu projeto não será salvo em disco. Tem certeza de que deseja continuar?"
+msgid ""
+"If you proceed, your project will not be saved to disk. Is this what you "
+"want?"
+msgstr ""
+"Ao prosseguir, seu projeto não será salvo em disco. Tem certeza de que "
+"deseja continuar?"
 
 #: Dependencies.cpp:449
-msgid "Your project is self-contained; it does not depend on any external audio files."
-msgstr "Seu projeto é auto-suficiente, não dependendo de áudio de arquivos externos."
+msgid ""
+"Your project is self-contained; it does not depend on any external audio "
+"files."
+msgstr ""
+"Seu projeto é auto-suficiente, não dependendo de áudio de arquivos externos."
 
 # ou é Checar dependencias?
 #: Dependencies.cpp:450
@@ -720,9 +730,7 @@ msgstr ""
 "Aviso: Há pouco espaço disponível nesta unidade. \n"
 "Selecione outra pasta em outra unidade para os arquivos temporários."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Progresso"
 
@@ -742,10 +750,12 @@ msgstr "Removendo diret
 #, c-format
 msgid ""
 "Audacity found an orphaned blockfile %s! \n"
-"Please consider saving and reloading the project to perform a complete project check.\n"
+"Please consider saving and reloading the project to perform a complete "
+"project check.\n"
 msgstr ""
 "O Audacity encontrou um arquivo sem procedência  %s! \n"
-"Por favor, encerre e abra novamente o projeto para uma verificação completa dos arquivos.\n"
+"Por favor, encerre e abra novamente o projeto para uma verificação completa "
+"dos arquivos.\n"
 
 #  i18n-hint: This is the pattern for filenames that are created
 #  when a file needs to be backed up to a different name.  For
@@ -782,8 +792,7 @@ msgstr "Alterando bloco %s\n"
 msgid "Unable to rename '%s' to '%s'"
 msgstr "Não foi possível renomear '%s' para '%s'"
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Inspecionando os dados do projeto..."
 
@@ -811,10 +820,13 @@ msgstr "Arquivo n
 #: DirManager.cpp:1207
 msgid ""
 "Project check found inconsistencies inspecting the loaded project data;\n"
-"click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
+"click 'Details' for a complete list of errors, or 'OK' to proceed to more "
+"options."
 msgstr ""
-"A Verificação Automática de Projeto encontrou problemas ao inspecionar os dados salvos;\n"
-"clique em 'Detalhes' para a lista completa dos erros ou 'OK' para mais opções."
+"A Verificação Automática de Projeto encontrou problemas ao inspecionar os "
+"dados salvos;\n"
+"clique em 'Detalhes' para a lista completa dos erros ou 'OK' para mais "
+"opções."
 
 #: DirManager.cpp:1219
 #, c-format
@@ -840,14 +852,9 @@ msgstr "Continuar sem apagar, lidando com os arquivos sem aviso"
 msgid "Close project immediately with no changes"
 msgstr "Fechar projeto sem alterações"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:484
-#: export/Export.cpp:501
-#: export/Export.cpp:520
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:484 export/Export.cpp:501
+#: export/Export.cpp:520 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Aviso"
 
@@ -863,23 +870,25 @@ msgid ""
 msgstr ""
 "A Verificação Automática de Projetos detectou que\n"
 "%d arquivos não estão mais acessíveis. É impossível \n"
-"recuperá-los automaticamente. Você pode inserir silêncios nas posições ocupadas por \n"
+"recuperá-los automaticamente. Você pode inserir silêncios nas posições "
+"ocupadas por \n"
 "estes arquivos permanentemente ou apenas para \n"
 "esta sessão, ou ainda fechar o projeto e tentar \n"
 "localizar manualmente os arquivos faltantes."
 
 #: DirManager.cpp:1259
 msgid "Replace missing data with silence [permanent upon save]"
-msgstr "Substituir os arquivos não encontrados por silêncio (permanente após salvar o projeto)"
+msgstr ""
+"Substituir os arquivos não encontrados por silêncio (permanente após salvar "
+"o projeto)"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
-msgstr "Temporariamente substituir os arquivos não encontrados por silêncio (apeans para esta sessão)"
+msgstr ""
+"Temporariamente substituir os arquivos não encontrados por silêncio (apeans "
+"para esta sessão)"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Fechar projeto sem alterações"
 
@@ -954,8 +963,7 @@ msgstr "Retangular"
 msgid "Frequency Analysis"
 msgstr "Análise de freqüência"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:507
+#: FreqWindow.cpp:140 TrackPanel.cpp:507
 msgid "Spectrum"
 msgstr "Espectro"
 
@@ -982,8 +990,7 @@ msgstr "Cepstro"
 msgid "Algorithm:"
 msgstr "Algoritmo:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Tamanho"
 
@@ -1009,38 +1016,24 @@ msgstr "Freq
 msgid "Axis:"
 msgstr "Eixo:"
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:202
-#: Menus.cpp:231
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:202 Menus.cpp:231
 msgid "&Export..."
 msgstr "&Exportar..."
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1103
-#: effects/Equalization.cpp:1105
-#: effects/Equalization.cpp:1113
-#: effects/Equalization.cpp:1179
-#: effects/Equalization.cpp:1388
-#: effects/Equalization.cpp:1399
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:363
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1103 effects/Equalization.cpp:1105
+#: effects/Equalization.cpp:1113 effects/Equalization.cpp:1179
+#: effects/Equalization.cpp:1388 effects/Equalization.cpp:1399
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:363
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1144
-#: effects/Equalization.cpp:1175
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1175 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
@@ -1048,8 +1041,7 @@ msgstr "Hz"
 msgid "Not enough data selected."
 msgstr "Não há dados suficientes na seleção."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1060,8 +1052,10 @@ msgstr "Cursor: %d Hz (%s) = %d dB    Pico: %d Hz (%s) = %.1f dB"
 
 #: FreqWindow.cpp:788
 #, c-format
-msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
-msgstr "Cursor: %.4f seg (%d Hz) (%s) = %f,    Pico: %.4f seg (%d Hz) (%s) = %.3f"
+msgid ""
+"Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
+msgstr ""
+"Cursor: %.4f seg (%d Hz) (%s) = %f,    Pico: %.4f seg (%d Hz) (%s) = %.3f"
 
 #: FreqWindow.cpp:1059
 msgid "spectrum.txt"
@@ -1071,12 +1065,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Exportar dados espectrais como:"
 
-#: FreqWindow.cpp:1077
-#: LabelDialog.cpp:599
-#: Menus.cpp:2177
-#: Project.cpp:2394
-#: Project.cpp:3348
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1077 LabelDialog.cpp:599 Menus.cpp:2177 Project.cpp:2394
+#: Project.cpp:3348 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Não foi possível gravar no arquivo:"
 
@@ -1129,36 +1119,282 @@ msgid "<p>Welcome to Audacity "
 msgstr "<p>Bem-vindo ao Audacity"
 
 #: HelpText.cpp:134
-msgid "Let's get started!</p><p>You can click on the links below to learn how to:<ul><li>[[play|play back]] an existing sound file.<li>How to [[record|record]] a new sound file.<li>How to [[edit|edit]] sound and [[export|export]] to a sound file like MP3.</ul><br><br>Those links will help if you find a problem such as a [[grey|menu option greyed out]] or that Audacity [[norecord|isn't recording properly]] or that you can't [[burncd|burn to a CD]]. You can always get back to these instructions by clicking the 'Help' menu, then 'Show Welcome Message.' For more detailed reading, please read our full Help by clicking the 'Help' menu, then 'Index', or <a href=\"http://audacity.sourceforge.net/help/documentation\">download our Manual</a> in PDF format.<br><br>Welcome again to Audacity."
-msgstr "Vamos começar:</p><br><br>Você pode clicar nos links abaixo para aprender mais sobre:<ul><li>[[play|Reproduzir]] um arquivo de áudio.<li>Como [[record|gravar]] um novo arquivo de áudio.<li>Como [[edit|editar]] áudio e [[export|exportar]] para um arquivo MP3.</ul><br><br>Estes links ajudarão a entender porque alguns [[grey|itens do menu estão desabilitados]], porque o Audacity parece [[norecord|não gravar corretamente]] ou porque não é possível [[burncd|gravar CDs de áudio]]. Você pode retornar a esta janela novamente, selecionando 'Exibir mensagem inicial' no menu 'Ajuda' do programa. <br><br>Para mais informações, leia a Ajuda acessível pelo menu 'Índice da Ajuda' ou <a href=\"http://audacity.sourceforge.net/help/documentation\">copie o manual </a> em formato PDF."
+msgid ""
+"Let's get started!</p><p>You can click on the links below to learn how to:"
+"<ul><li>[[play|play back]] an existing sound file.<li>How to [[record|"
+"record]] a new sound file.<li>How to [[edit|edit]] sound and [[export|"
+"export]] to a sound file like MP3.</ul><br><br>Those links will help if you "
+"find a problem such as a [[grey|menu option greyed out]] or that Audacity "
+"[[norecord|isn't recording properly]] or that you can't [[burncd|burn to a "
+"CD]]. You can always get back to these instructions by clicking the 'Help' "
+"menu, then 'Show Welcome Message.' For more detailed reading, please read "
+"our full Help by clicking the 'Help' menu, then 'Index', or <a href=\"http://"
+"audacity.sourceforge.net/help/documentation\">download our Manual</a> in PDF "
+"format.<br><br>Welcome again to Audacity."
+msgstr ""
+"Vamos começar:</p><br><br>Você pode clicar nos links abaixo para aprender "
+"mais sobre:<ul><li>[[play|Reproduzir]] um arquivo de áudio.<li>Como [[record|"
+"gravar]] um novo arquivo de áudio.<li>Como [[edit|editar]] áudio e [[export|"
+"exportar]] para um arquivo MP3.</ul><br><br>Estes links ajudarão a entender "
+"porque alguns [[grey|itens do menu estão desabilitados]], porque o Audacity "
+"parece [[norecord|não gravar corretamente]] ou porque não é possível "
+"[[burncd|gravar CDs de áudio]]. Você pode retornar a esta janela novamente, "
+"selecionando 'Exibir mensagem inicial' no menu 'Ajuda' do programa. "
+"<br><br>Para mais informações, leia a Ajuda acessível pelo menu 'Índice da "
+"Ajuda' ou <a href=\"http://audacity.sourceforge.net/help/documentation"
+"\">copie o manual </a> em formato PDF."
 
 #: HelpText.cpp:158
-msgid "You can either drag existing files into Audacity, or use the <b>File > Import > Audio</b> command. <b>File > Open</b> does the same, but opens a new Audacity window for any file after the first.<br/><br/>These are the main formats Audacity will play: <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis, WAV</b>.  If your file is in some other format see (format help). If you want to import an audio CD, see [[wiki:How to import CDs|How to import CDs]]<br><br>To start playing your audio, press the green Play button. To stop, press the yellow Stop button. You can also use spacebar to either play or stop. When you start playing again after stopping, playback resumes from its previous starting point. To change the starting point, use the <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons to skip to the start or end respectively, or click anywhere in the track to restart from that point.<br><br>"
-msgstr "Você pode simplesmente arrastar seus arquivos de áudio para a janela do Audacity, ou usar o comando <b>Arquivo > Importar > Áudio</b>.<br><br>Estes são os formatos principais que o Audacity pode ler: <b>AIFF, AU, FLAC, M4A</b> (na versão para Mac), <b>MP2/MP3, OGG Vorbis e WAV</b>. <br><br>Para importar uma faixa de um CD de áudio, veja a página em inglês [[wiki:How to import CDs|How to import CDs]]<br><br> Para iniciar a reprodução, pressione o botão verde Reproduzir. Para parar, pressione o botão amarelo. A barra de espaço também pode ser usada. Ao parar,  a reprodução reinicia no mesmo ponto de parada. Para alterar o ponto de início da reprodução, use os botões <b>|&lt;&lt;</b> e <b>&gt;&gt;|</b> para adiantar para o ponto inicial e final da música ou clique em algum ponto da faixa de áudio para iniciar a reprodução deste ponto.<br><br>"
+msgid ""
+"You can either drag existing files into Audacity, or use the <b>File > "
+"Import > Audio</b> command. <b>File > Open</b> does the same, but opens a "
+"new Audacity window for any file after the first.<br/><br/>These are the "
+"main formats Audacity will play: <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), "
+"<b>MP2/MP3, OGG Vorbis, WAV</b>.  If your file is in some other format see "
+"(format help). If you want to import an audio CD, see [[wiki:How to import "
+"CDs|How to import CDs]]<br><br>To start playing your audio, press the green "
+"Play button. To stop, press the yellow Stop button. You can also use "
+"spacebar to either play or stop. When you start playing again after "
+"stopping, playback resumes from its previous starting point. To change the "
+"starting point, use the <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons to "
+"skip to the start or end respectively, or click anywhere in the track to "
+"restart from that point.<br><br>"
+msgstr ""
+"Você pode simplesmente arrastar seus arquivos de áudio para a janela do "
+"Audacity, ou usar o comando <b>Arquivo > Importar > Áudio</b>.<br><br>Estes "
+"são os formatos principais que o Audacity pode ler: <b>AIFF, AU, FLAC, M4A</"
+"b> (na versão para Mac), <b>MP2/MP3, OGG Vorbis e WAV</b>. <br><br>Para "
+"importar uma faixa de um CD de áudio, veja a página em inglês [[wiki:How to "
+"import CDs|How to import CDs]]<br><br> Para iniciar a reprodução, pressione "
+"o botão verde Reproduzir. Para parar, pressione o botão amarelo. A barra de "
+"espaço também pode ser usada. Ao parar,  a reprodução reinicia no mesmo "
+"ponto de parada. Para alterar o ponto de início da reprodução, use os botões "
+"<b>|&lt;&lt;</b> e <b>&gt;&gt;|</b> para adiantar para o ponto inicial e "
+"final da música ou clique em algum ponto da faixa de áudio para iniciar a "
+"reprodução deste ponto.<br><br>"
 
 #: HelpText.cpp:181
-msgid "<b>To start recording, press the red Record button</b>. Before doing so however, there are three crucial settings you must check:<br><br>(1) The <b>Recording Device</b>, set in the Audio I/O tab of Preferences. By default Audacity will use the current system device, which is usually your inbuilt sound device, so you may not need to set this. But if you're using an external USB or Firewire device such as a USB turntable, make sure this device is selected as your recording device. <br><br>(2) The <b>input source</b> for your device, such as microphone or line-in. <ul><li><b>On Windows</b>, you normally choose your input in the dropdown selector on the right of the <b>Mixer Toolbar<b> <i>note: on Vista, you must do so at Recording Device on the Audio I/O Preferences tab.</i></li><li><b>On a Mac</b>, you normally choose input sources outside Audacity, in Apple Audio-MIDI Setup.</li></ul><i>Note: many USB or Firewire devices don't have a choice of inputs, so you can ignore this step - see the documentation for your device. <br><br>(3) <b>Input volume</b>. Before recording for real, make a test recording to set the input level, so that it's neither too soft or too loud.To do this, see this [[wiki:Recording levels|illustrated guide]] or follow these two steps: <ol><li>Turn on <b>monitoring</b>, by either double-clicking over the right-hand of the two VU Meters, or right-clicking over it and choosing \"Start Monitoring\". If you do not see the meters, click View > Toolbars and check \"Meter Toolbar\". <li>Press Record, and adjust the input volume slider on the Mixer Toolbar (by the microphone symbol), so that the red bars in the meter come close to (but do not touch) the right edge of the scale. If you can't hear the sound, go to the Audio I/O tab of Preferences and check \"Software Playthrough\". </ol><br><br>There is more help if you're stuck: our Recording FAQs, our Tutorial  <b>Your First Recording </b> in the Manual, and our Wiki [[wiki:Recording Tips|Recording Tips]], especially the [[wiki:Troubleshooting Recordings|Troubleshooting Recordings]] section. <br><br>"
-msgstr "<b>Para iniciar a gravação, pressione o botão vermelho Gravar</b>. Antes de iniciar no entanto, há três ajustes que devem ser feitos:<br><br>(1) O <b>Dispositivo de Gravação</b>, configurado nas Preferências, na aba Dispositivos. Por padrão, o Audacity usa o dispositivo padrão de áudio, o que na maioria dos casos não necessita de ajuste. No entanto, caso você tenha mais de uma placa de som ou um dispositivo de áudio externo USB, certifique-se de que este dispositivo está selecionado em \"Gravação\". <br><br>(2) A <b>fonte de entrada</b> para o seu dispositivo, como o microfone ou entrada de linha. <ul><li><b>No  Windows</b>, seleciona-se a fonte de entrada no menu de seleção à direita da <b>Barra de Dispositivos</b>. <i>nota: no Vista, você deve selecionar os dispositivos pelas Preferências do programa, na aba Dispositivos.</i></li><li><b>No Mac</b>, selecionam-se os dispositivos pelo Apple Audio-MIDI Setup.</li></ul><i>Nota: muitos dispositivos USB ou Firewire não oferecem opção de entrada, e este passo pode ser ignorado.<br><br>(3) <b>Volume de Entrada</b>. Antes de prosseguir a gravação, teste o nível do volume de entrada, para garantir que ele não está alto ou baixo demais. Para ajustar, veja o wiki em inglês [[wiki:Recording levels|Recording Levels]] ou siga estes dois passos: <ol><li>Ligue o <b>monitoramento</b>, clicando com o botão direito sobre a Barra de Medição e selecionando \"Iniciar monitoramento\". Caso a barra não esteja disponível, selecione o menu Exibir > Barras de Ferramentas > Barra de medição . <li>Pressione Gravar e ajuste o controle de volume na Barra de medição até que as barras vermelhas cheguem próximas ao lado direito do medidor, sem no entanto tocá-las. Caso não consiga ouvir nenhum som, configure as Preferências do programa, na aba Dispositivos e ligue a opção \"Reprodução simultânea via software\".</ol><br><br>Há outras fontes de ajuda: as Perguntas Freqüentes no site do Audacity, o Tutorial <b>Sua primeira gravação</b> disponível no Manual e o nosso wiki em inglês [[wiki:Recording Tips|Recording Tips]], especialmente a sessão [[wiki:Troubleshooting Recordings|Troubleshooting Recordings]].<br><br>"
+msgid ""
+"<b>To start recording, press the red Record button</b>. Before doing so "
+"however, there are three crucial settings you must check:<br><br>(1) The "
+"<b>Recording Device</b>, set in the Audio I/O tab of Preferences. By default "
+"Audacity will use the current system device, which is usually your inbuilt "
+"sound device, so you may not need to set this. But if you're using an "
+"external USB or Firewire device such as a USB turntable, make sure this "
+"device is selected as your recording device. <br><br>(2) The <b>input "
+"source</b> for your device, such as microphone or line-in. <ul><li><b>On "
+"Windows</b>, you normally choose your input in the dropdown selector on the "
+"right of the <b>Mixer Toolbar<b> <i>note: on Vista, you must do so at "
+"Recording Device on the Audio I/O Preferences tab.</i></li><li><b>On a Mac</"
+"b>, you normally choose input sources outside Audacity, in Apple Audio-MIDI "
+"Setup.</li></ul><i>Note: many USB or Firewire devices don't have a choice of "
+"inputs, so you can ignore this step - see the documentation for your device. "
+"<br><br>(3) <b>Input volume</b>. Before recording for real, make a test "
+"recording to set the input level, so that it's neither too soft or too loud."
+"To do this, see this [[wiki:Recording levels|illustrated guide]] or follow "
+"these two steps: <ol><li>Turn on <b>monitoring</b>, by either double-"
+"clicking over the right-hand of the two VU Meters, or right-clicking over it "
+"and choosing \"Start Monitoring\". If you do not see the meters, click View "
+"> Toolbars and check \"Meter Toolbar\". <li>Press Record, and adjust the "
+"input volume slider on the Mixer Toolbar (by the microphone symbol), so that "
+"the red bars in the meter come close to (but do not touch) the right edge of "
+"the scale. If you can't hear the sound, go to the Audio I/O tab of "
+"Preferences and check \"Software Playthrough\". </ol><br><br>There is more "
+"help if you're stuck: our Recording FAQs, our Tutorial  <b>Your First "
+"Recording </b> in the Manual, and our Wiki [[wiki:Recording Tips|Recording "
+"Tips]], especially the [[wiki:Troubleshooting Recordings|Troubleshooting "
+"Recordings]] section. <br><br>"
+msgstr ""
+"<b>Para iniciar a gravação, pressione o botão vermelho Gravar</b>. Antes de "
+"iniciar no entanto, há três ajustes que devem ser feitos:<br><br>(1) O "
+"<b>Dispositivo de Gravação</b>, configurado nas Preferências, na aba "
+"Dispositivos. Por padrão, o Audacity usa o dispositivo padrão de áudio, o "
+"que na maioria dos casos não necessita de ajuste. No entanto, caso você "
+"tenha mais de uma placa de som ou um dispositivo de áudio externo USB, "
+"certifique-se de que este dispositivo está selecionado em \"Gravação\". "
+"<br><br>(2) A <b>fonte de entrada</b> para o seu dispositivo, como o "
+"microfone ou entrada de linha. <ul><li><b>No  Windows</b>, seleciona-se a "
+"fonte de entrada no menu de seleção à direita da <b>Barra de Dispositivos</"
+"b>. <i>nota: no Vista, você deve selecionar os dispositivos pelas "
+"Preferências do programa, na aba Dispositivos.</i></li><li><b>No Mac</b>, "
+"selecionam-se os dispositivos pelo Apple Audio-MIDI Setup.</li></ul><i>Nota: "
+"muitos dispositivos USB ou Firewire não oferecem opção de entrada, e este "
+"passo pode ser ignorado.<br><br>(3) <b>Volume de Entrada</b>. Antes de "
+"prosseguir a gravação, teste o nível do volume de entrada, para garantir que "
+"ele não está alto ou baixo demais. Para ajustar, veja o wiki em inglês "
+"[[wiki:Recording levels|Recording Levels]] ou siga estes dois passos: "
+"<ol><li>Ligue o <b>monitoramento</b>, clicando com o botão direito sobre a "
+"Barra de Medição e selecionando \"Iniciar monitoramento\". Caso a barra não "
+"esteja disponível, selecione o menu Exibir > Barras de Ferramentas > Barra "
+"de medição . <li>Pressione Gravar e ajuste o controle de volume na Barra de "
+"medição até que as barras vermelhas cheguem próximas ao lado direito do "
+"medidor, sem no entanto tocá-las. Caso não consiga ouvir nenhum som, "
+"configure as Preferências do programa, na aba Dispositivos e ligue a opção "
+"\"Reprodução simultânea via software\".</ol><br><br>Há outras fontes de "
+"ajuda: as Perguntas Freqüentes no site do Audacity, o Tutorial <b>Sua "
+"primeira gravação</b> disponível no Manual e o nosso wiki em inglês [[wiki:"
+"Recording Tips|Recording Tips]], especialmente a sessão [[wiki:"
+"Troubleshooting Recordings|Troubleshooting Recordings]].<br><br>"
 
 #: HelpText.cpp:223
-msgid "Editing: Audacity is a powerful editor, so you'll want to see what it can do with your imported file or recording.  The main commands you will use are under the <b>Edit</b> menu (such as cut, copy and paste) and under the <b>Effect</b> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). <br><br>Audacity applies edits to areas of the audio track. You can select a particular area of audio by clicking in the track and dragging the shaded area with your mouse. If you don't select any audio, Audacity will select all that you have on the screen.<br><br>Two important points when editing:<br><br>(1) If you're still playing or recording, use the yellow Stop button, because you can't edit or export a moving track! <br><br>(2) On occasion, some of the menus or buttons are greyed out or say \"Disabled\" -  this is normal. For example, because you can't edit audio while playing or recording, we grey out or disable commands until you press Stop. Commands can sometimes be unavailable for other reasons - for example you can't run effects until you have audio on the screen, and you obviously can't paste audio until you've cut or copied it to Audacity's clipboard. <br><br>"
-msgstr "Editando: O Audacity é um editor de áudio poderoso, é sempre bom conhecer seus recursos. Os comandos principais serão os do menu <b>Editar</b> (como Copiar e Colar), e no menu <b>Efeitos</b> (onde você pode, por exemplo, reforçar os graves, alterar o tempo ou remover ruídos). <br><br>O Audacity aplica os efeitos às areas selecionadas das faixas. Você pode selecionar o trecho desejado clicando na faixa e arrastando a área sombreada. Se você não fizer uma seleção, o efeito é aplicado à todo o áudio que estiver na tela.<br><br>Dois pontos importantes ao editar: <BR><BR>(1) Se você estiver reproduzindo ou gravando, clique no botão Parar, ou não será possível salvar ou exportar o projeto. <BR><BR>(2) Alguns menus podem estar desabilitados ou não acessíveis. Isto é normal, já que alguns comandos não podem ser utilizados em determinadas operações. Por exemplo, o menu Efeitos só está disponível quando há áudio disponível para ser aplicado e só é possível Colar após Recortar ou Copiar áudio. <br><br>"
+msgid ""
+"Editing: Audacity is a powerful editor, so you'll want to see what it can do "
+"with your imported file or recording.  The main commands you will use are "
+"under the <b>Edit</b> menu (such as cut, copy and paste) and under the "
+"<b>Effect</b> menu (you can do things like boost the bass, change pitch or "
+"tempo, or remove noise). <br><br>Audacity applies edits to areas of the "
+"audio track. You can select a particular area of audio by clicking in the "
+"track and dragging the shaded area with your mouse. If you don't select any "
+"audio, Audacity will select all that you have on the screen.<br><br>Two "
+"important points when editing:<br><br>(1) If you're still playing or "
+"recording, use the yellow Stop button, because you can't edit or export a "
+"moving track! <br><br>(2) On occasion, some of the menus or buttons are "
+"greyed out or say \"Disabled\" -  this is normal. For example, because you "
+"can't edit audio while playing or recording, we grey out or disable commands "
+"until you press Stop. Commands can sometimes be unavailable for other "
+"reasons - for example you can't run effects until you have audio on the "
+"screen, and you obviously can't paste audio until you've cut or copied it to "
+"Audacity's clipboard. <br><br>"
+msgstr ""
+"Editando: O Audacity é um editor de áudio poderoso, é sempre bom conhecer "
+"seus recursos. Os comandos principais serão os do menu <b>Editar</b> (como "
+"Copiar e Colar), e no menu <b>Efeitos</b> (onde você pode, por exemplo, "
+"reforçar os graves, alterar o tempo ou remover ruídos). <br><br>O Audacity "
+"aplica os efeitos às areas selecionadas das faixas. Você pode selecionar o "
+"trecho desejado clicando na faixa e arrastando a área sombreada. Se você não "
+"fizer uma seleção, o efeito é aplicado à todo o áudio que estiver na tela."
+"<br><br>Dois pontos importantes ao editar: <BR><BR>(1) Se você estiver "
+"reproduzindo ou gravando, clique no botão Parar, ou não será possível salvar "
+"ou exportar o projeto. <BR><BR>(2) Alguns menus podem estar desabilitados ou "
+"não acessíveis. Isto é normal, já que alguns comandos não podem ser "
+"utilizados em determinadas operações. Por exemplo, o menu Efeitos só está "
+"disponível quando há áudio disponível para ser aplicado e só é possível "
+"Colar após Recortar ou Copiar áudio. <br><br>"
 
 #: HelpText.cpp:254
-msgid "Exporting and Saving have different purposes.You \"save\" an Audacity project file when you want to return to your work in Audacity later.This means you don't then have to re-import or re-record audio, or redo editing you have done so far.When you want to listen to your work in other computer programs you \"export\" it as an audio file such as a WAV, AIFF or MP3. When burning to CD, you export as WAV or AIFF.<br><br>To save an Audacity project, use <b>File > Save Project</b>. This will save an <b>.aup</b> Project file, plus a <b>_data</b> folder containing the actual audio. Make sure you don't rename or move either of these, because Audacity needs to refer to both.Only use File > Save Project As... when you either need to save an empty Project, or if you want to save an existing Project to a <i> new</i> name. When you want to re-open a saved Project, simply click File > Open and open the .aup file. <br><br>When you want to export your work to an audio file, use <b>File > Export</b> and choose your desired format in the \"Save as type\" dropdown.Click the Options button for advanced choices, such as the bit rate to use for MP3 export.There are two other Export commands under the File menu.\"Export Selection\" exports only a selected area of audio.\"Export Multiple\" exports multiple files, for example where you have more than one track on screen and want to export each as a separate file. If exporting tracks from a recorded LP or tape to multiple files, use [[wiki:Splitting recordings into separate tracks|labels with Export Multiple]]. <br><br>Before you can export as <b>MP3</b>, you may need to add the LAME MP3 encoder to your computer.For help with LAME, see [[wiki:Lame_Installation|Lame Installation]]. There is also some help on how to [[burncd|burn to a CD]].<br><br>"
-msgstr "Exportar e Salvar tem propósitos diferentes. Você \"salva\" um projeto do Audacity quando pretende retomá-lo depois. Ou seja, não é necessário importar todo o áudio novamente e refazer a edição já feita. Quando você quer ouvir o trabalho em outro programa de áudio, deve \"Exportar\" para um arquivo WAV ou AIFF. <br> <br> Para salvar como um projeto do Audacity, use <b>Arquivo > Salvar Projeto</b>. Assim, o projeto será salvo como um arquivo <b>.AUP</b> e mais uma pasta com o nome <b>_data</b> contendo todo o áudio do projeto. Assegure-se de não apagar ou renomear nenhum dos dois, ou o Audacity não irá encontrar os arquivos necessários para editar seu projeto novamente. Use <b>Arquivo > Salvar projeto como</b> para alterar o nome de um projeto já salvo ou para salvar um projeto vazio. Para abrir novamente um projeto já salvo, clique em <b>Arquivo > Abrir</b> e selecione o arquivo .AUP. <br><br> Para exportar seu projeto em um arquivo de áudio, use <b>Arquivo > Exportar...</b> e selecione o formato desejado na janela \"Exportar como\". Clique no botão Opções para selecionar as opções avançadas, como a taxa do arquivo MP3. Há outros dois comandos de Exportar: \"Exportar seleção como\", que exporta apenas a área selecionada, e \"Exportar múltiplos\" que exporta em diferentes arquivos, para por exemplo quando você tem mais de uma faixa num mesmo projeto e deseja exportar cada faixa separadamente. Ao exportar partes de uma gravação longa, como as faixas de um cassete ou LP, veja as instruções em inglês na wiki [[wiki:Splitting recordings into separate tracks|labels with Export Multiple]]. <br><br>Antes de exportar arquivos como <b>MP3</b>, você precisará instalar a biblioteca LAME MP3 em seu computador. Para ajuda em como proceder a instalação, veja a nossa página em inglês no wiki [[wiki:Lame_Installation|Lame Installation]]. Há também algumas dicas sobre [[burncd|como gravar em um CD]].<br><br>"
+msgid ""
+"Exporting and Saving have different purposes.You \"save\" an Audacity "
+"project file when you want to return to your work in Audacity later.This "
+"means you don't then have to re-import or re-record audio, or redo editing "
+"you have done so far.When you want to listen to your work in other computer "
+"programs you \"export\" it as an audio file such as a WAV, AIFF or MP3. When "
+"burning to CD, you export as WAV or AIFF.<br><br>To save an Audacity "
+"project, use <b>File > Save Project</b>. This will save an <b>.aup</b> "
+"Project file, plus a <b>_data</b> folder containing the actual audio. Make "
+"sure you don't rename or move either of these, because Audacity needs to "
+"refer to both.Only use File > Save Project As... when you either need to "
+"save an empty Project, or if you want to save an existing Project to a <i> "
+"new</i> name. When you want to re-open a saved Project, simply click File > "
+"Open and open the .aup file. <br><br>When you want to export your work to an "
+"audio file, use <b>File > Export</b> and choose your desired format in the "
+"\"Save as type\" dropdown.Click the Options button for advanced choices, "
+"such as the bit rate to use for MP3 export.There are two other Export "
+"commands under the File menu.\"Export Selection\" exports only a selected "
+"area of audio.\"Export Multiple\" exports multiple files, for example where "
+"you have more than one track on screen and want to export each as a separate "
+"file. If exporting tracks from a recorded LP or tape to multiple files, use "
+"[[wiki:Splitting recordings into separate tracks|labels with Export "
+"Multiple]]. <br><br>Before you can export as <b>MP3</b>, you may need to add "
+"the LAME MP3 encoder to your computer.For help with LAME, see [[wiki:"
+"Lame_Installation|Lame Installation]]. There is also some help on how to "
+"[[burncd|burn to a CD]].<br><br>"
+msgstr ""
+"Exportar e Salvar tem propósitos diferentes. Você \"salva\" um projeto do "
+"Audacity quando pretende retomá-lo depois. Ou seja, não é necessário "
+"importar todo o áudio novamente e refazer a edição já feita. Quando você "
+"quer ouvir o trabalho em outro programa de áudio, deve \"Exportar\" para um "
+"arquivo WAV ou AIFF. <br> <br> Para salvar como um projeto do Audacity, use "
+"<b>Arquivo > Salvar Projeto</b>. Assim, o projeto será salvo como um arquivo "
+"<b>.AUP</b> e mais uma pasta com o nome <b>_data</b> contendo todo o áudio "
+"do projeto. Assegure-se de não apagar ou renomear nenhum dos dois, ou o "
+"Audacity não irá encontrar os arquivos necessários para editar seu projeto "
+"novamente. Use <b>Arquivo > Salvar projeto como</b> para alterar o nome de "
+"um projeto já salvo ou para salvar um projeto vazio. Para abrir novamente um "
+"projeto já salvo, clique em <b>Arquivo > Abrir</b> e selecione o arquivo ."
+"AUP. <br><br> Para exportar seu projeto em um arquivo de áudio, use "
+"<b>Arquivo > Exportar...</b> e selecione o formato desejado na janela "
+"\"Exportar como\". Clique no botão Opções para selecionar as opções "
+"avançadas, como a taxa do arquivo MP3. Há outros dois comandos de Exportar: "
+"\"Exportar seleção como\", que exporta apenas a área selecionada, e "
+"\"Exportar múltiplos\" que exporta em diferentes arquivos, para por exemplo "
+"quando você tem mais de uma faixa num mesmo projeto e deseja exportar cada "
+"faixa separadamente. Ao exportar partes de uma gravação longa, como as "
+"faixas de um cassete ou LP, veja as instruções em inglês na wiki [[wiki:"
+"Splitting recordings into separate tracks|labels with Export Multiple]]. "
+"<br><br>Antes de exportar arquivos como <b>MP3</b>, você precisará instalar "
+"a biblioteca LAME MP3 em seu computador. Para ajuda em como proceder a "
+"instalação, veja a nossa página em inglês no wiki [[wiki:Lame_Installation|"
+"Lame Installation]]. Há também algumas dicas sobre [[burncd|como gravar em "
+"um CD]].<br><br>"
 
 #: HelpText.cpp:289
-msgid "<h2>Can Audacity import file formats like WMA, AAC, RealAudio  etc.?</h2> <p>Audacity cannot import or export files in <b>WMA, RealAudio, Shorten (SHN)</b>, ormost other proprietary formats, because of licensing and patent restrictions. Audacity also cannot import any kind of Digital Rights Management (DRM) protected file, including most purchased online such as from iTunes or Napster.If you are on a Mac, you can import <b>AAC</b>  encoded files (such as <b>M4A</b>) as long as they are not DRM protected, but you cannot export to these formats.</p> <p>Some open formats are not yet supported by Audacity, including <b>Ogg Speex</b> and <b>Musepack</b>.We hope to support these formats in future versions of Audacity.</p> <p>If you cannot import your file into Audacity, you can as a workround convert it to WAV or AIFF.As long as it's not a DRM-protected file, you could do this with iTunes or with <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> player.If it's a DRM-protected file, you can burn it to an audio CD in the application that is licensed to play it, then extract (rip) the CD track to WAV or AIFF.You can use iTunes to extract to WAV or AIFF, plus Windows Media Player 11 or <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> on Windows.Or you can play the file on your computer and record it - see <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">."
-msgstr "<h2>O Audacity pode importar formato como WMA, AAC, RealAudio  etc.?</h2> <p>O Audacity não pode importar ou exportar arquivos em formatos <b>WMA, RealAudio, Shorten (SHN)</b>, ou outros formatos proprietários devido à restrições de patentes. O Audacity também não pode importar arquivos protegidos por DRM (Direitos de Cópia), o que inclui a maioria das músicas compradas em lojas on-line de música. Na versão para Macintosh, é possível importar áudio em formato <b>AAC</b> não protegido (como os com extensão <b>M4A</B>).</p><p>Alguns formatos não-proprietários ainda não estão disponível no Audacity, como <b>Ogg Speex</b> e <b>Musepack</b>. Estes formatos serão disponibilizados em versões futuras do programa.</p><p>Se não for possível importar arquivos de áudio para o Audacity, você pode contornar esta restrição convertendo o arquivo em um formato não compactado como WAV ou AIFF. Para arquivos não protegidos, o iTunes ou o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> player podem ajudar na conversão. No caso de arquivos protegidos por DRM, você pode tentar gravá-lo num CD de áudio e extraí-lo novamente do CD em formato WAV ou AIFF, utilizando o iTunes no Macintosh e Windows Media Player ou <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> no Windows.</P><p>Como alternativa, você pode reproduzir o arquivo em seu computador e gravar o fluxo de áudio. Veja a <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">página em inglês</a>."
+msgid ""
+"<h2>Can Audacity import file formats like WMA, AAC, RealAudio  etc.?</h2> "
+"<p>Audacity cannot import or export files in <b>WMA, RealAudio, Shorten (SHN)"
+"</b>, ormost other proprietary formats, because of licensing and patent "
+"restrictions. Audacity also cannot import any kind of Digital Rights "
+"Management (DRM) protected file, including most purchased online such as "
+"from iTunes or Napster.If you are on a Mac, you can import <b>AAC</b>  "
+"encoded files (such as <b>M4A</b>) as long as they are not DRM protected, "
+"but you cannot export to these formats.</p> <p>Some open formats are not yet "
+"supported by Audacity, including <b>Ogg Speex</b> and <b>Musepack</b>.We "
+"hope to support these formats in future versions of Audacity.</p> <p>If you "
+"cannot import your file into Audacity, you can as a workround convert it to "
+"WAV or AIFF.As long as it's not a DRM-protected file, you could do this with "
+"iTunes or with <a href=\"http://www.erightsoft.com/SUPER.html#Dnload"
+"\">SUPER</a> player.If it's a DRM-protected file, you can burn it to an "
+"audio CD in the application that is licensed to play it, then extract (rip) "
+"the CD track to WAV or AIFF.You can use iTunes to extract to WAV or AIFF, "
+"plus Windows Media Player 11 or <a href=\"http://cdexos.sourceforge.net/?"
+"q=download\">CDex</a> on Windows.Or you can play the file on your computer "
+"and record it - see <a href=\"http://audacity.sourceforge.net/help/faq?"
+"s=recording&amp;i=streaming\">."
+msgstr ""
+"<h2>O Audacity pode importar formato como WMA, AAC, RealAudio  etc.?</h2> "
+"<p>O Audacity não pode importar ou exportar arquivos em formatos <b>WMA, "
+"RealAudio, Shorten (SHN)</b>, ou outros formatos proprietários devido à "
+"restrições de patentes. O Audacity também não pode importar arquivos "
+"protegidos por DRM (Direitos de Cópia), o que inclui a maioria das músicas "
+"compradas em lojas on-line de música. Na versão para Macintosh, é possível "
+"importar áudio em formato <b>AAC</b> não protegido (como os com extensão "
+"<b>M4A</B>).</p><p>Alguns formatos não-proprietários ainda não estão "
+"disponível no Audacity, como <b>Ogg Speex</b> e <b>Musepack</b>. Estes "
+"formatos serão disponibilizados em versões futuras do programa.</p><p>Se não "
+"for possível importar arquivos de áudio para o Audacity, você pode contornar "
+"esta restrição convertendo o arquivo em um formato não compactado como WAV "
+"ou AIFF. Para arquivos não protegidos, o iTunes ou o <a href=\"http://www."
+"erightsoft.com/SUPER.html#Dnload\">SUPER</a> player podem ajudar na "
+"conversão. No caso de arquivos protegidos por DRM, você pode tentar gravá-lo "
+"num CD de áudio e extraí-lo novamente do CD em formato WAV ou AIFF, "
+"utilizando o iTunes no Macintosh e Windows Media Player ou <a href=\"http://"
+"cdexos.sourceforge.net/?q=download\">CDex</a> no Windows.</P><p>Como "
+"alternativa, você pode reproduzir o arquivo em seu computador e gravar o "
+"fluxo de áudio. Veja a <a href=\"http://audacity.sourceforge.net/help/faq?"
+"s=recording&amp;i=streaming\">página em inglês</a>."
 
 #: HelpText.cpp:316
-msgid "If you want to burn your work to an audio CD, you must first [[export|export as WAV or AIFF]] and then burn that file to CD with a CD burning program like iTunes - for more help, see [[wiki:How to burn CDs|How to burn CDs]].<br><br>"
-msgstr "Se você deseja gravar seu projeto em um CD de áudio, você deve primeiro [[export|exportá-lo como WAV ou AIFF]] e então gravar o CD com um programa apropriado. Para maiores informações, veja o wiki em inglês [[wiki:How to burn CDs|How to burn CDs]].<br><br>"
+msgid ""
+"If you want to burn your work to an audio CD, you must first [[export|export "
+"as WAV or AIFF]] and then burn that file to CD with a CD burning program "
+"like iTunes - for more help, see [[wiki:How to burn CDs|How to burn CDs]]."
+"<br><br>"
+msgstr ""
+"Se você deseja gravar seu projeto em um CD de áudio, você deve primeiro "
+"[[export|exportá-lo como WAV ou AIFF]] e então gravar o CD com um programa "
+"apropriado. Para maiores informações, veja o wiki em inglês [[wiki:How to "
+"burn CDs|How to burn CDs]].<br><br>"
 
 #: HelpText.cpp:331
-msgid "<p>You don't appear to have Audacity help files on your machine. You can <a href=\"http://audacity.sourceforge.net/help/documentation\">download</a> the help files and then access them from Audacity as you have just attempted, or you can click <a href=\"*URL*\">here</a> to read the help online."
-msgstr "<p>Os arquivos de ajuda do Audacity não estão instalados. Você pode <a href=\"http://audacity.sourceforge.net/help/documentation\">copiá-los da Internet </a> e eles estarão disponíveis pelo menu Índice da Ajuda ou <a href=\"*URL*\">clique aqui</a> para ler a ajuda online."
+msgid ""
+"<p>You don't appear to have Audacity help files on your machine. You can <a "
+"href=\"http://audacity.sourceforge.net/help/documentation\">download</a> the "
+"help files and then access them from Audacity as you have just attempted, or "
+"you can click <a href=\"*URL*\">here</a> to read the help online."
+msgstr ""
+"<p>Os arquivos de ajuda do Audacity não estão instalados. Você pode <a href="
+"\"http://audacity.sourceforge.net/help/documentation\">copiá-los da Internet "
+"</a> e eles estarão disponíveis pelo menu Índice da Ajuda ou <a href=\"*URL*"
+"\">clique aqui</a> para ler a ajuda online."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1184,15 +1420,9 @@ msgstr "N
 msgid "&Discard"
 msgstr "&Apagar"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2039
-#: Tags.cpp:2041
-#: Tags.cpp:2343
-#: Tags.cpp:2345
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:396
+#: HistoryWindow.cpp:111 Tags.cpp:2039 Tags.cpp:2041 Tags.cpp:2343
+#: Tags.cpp:2345 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:396
 msgid "&OK"
 msgstr "&OK"
 
@@ -1200,8 +1430,7 @@ msgstr "&OK"
 msgid "Unable to determine"
 msgstr "Não foi possível determinar"
 
-#: Internat.cpp:180
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:180 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "bytes"
 
@@ -1221,9 +1450,7 @@ msgstr "GB"
 msgid "Track"
 msgstr "Faixa"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4019
-#: Menus.cpp:4047
+#: LabelDialog.cpp:53 Menus.cpp:4019 Menus.cpp:4047
 msgid "Label"
 msgstr "Título"
 
@@ -1235,8 +1462,7 @@ msgstr "Te&mpo inicial"
 msgid "End Time"
 msgstr "Tempo final"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:615
+#: LabelDialog.cpp:98 Menus.cpp:615
 msgid "&Edit Labels"
 msgstr "&Editar títulos"
 
@@ -1252,8 +1478,7 @@ msgstr "Inserir &Ap
 msgid "Insert &Before"
 msgstr "Inserir An&tes"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:192
+#: LabelDialog.cpp:127 Menus.cpp:192
 msgid "&Import..."
 msgstr "&Importar"
 
@@ -1277,20 +1502,15 @@ msgstr ""
 msgid "Confirm"
 msgstr "Confirmar"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3517
+#: LabelDialog.cpp:514 Menus.cpp:3517
 msgid "Select a text file containing labels..."
 msgstr "Selecione o arquivo de texto contendo os títulos...."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3521
+#: LabelDialog.cpp:518 Menus.cpp:3521
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Arquivos de texto (*.txt)|*.txt|Todos os arquivos (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3533
-#: Project.cpp:1800
-#: Project.cpp:1808
+#: LabelDialog.cpp:532 Menus.cpp:3533 Project.cpp:1800 Project.cpp:1808
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Não foi possível abrir o arquivo:"
@@ -1299,13 +1519,11 @@ msgstr "N
 msgid "No labels to export."
 msgstr "Não há títulos para exportar."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2142
+#: LabelDialog.cpp:564 Menus.cpp:2142
 msgid "Export Labels As:"
 msgstr "Exportar títulos como:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2140
+#: LabelDialog.cpp:566 Menus.cpp:2140
 msgid "labels.txt"
 msgstr "títulos.txt"
 
@@ -1317,10 +1535,7 @@ msgstr "Nova faixa de &t
 msgid "Enter track name"
 msgstr "Digite o nome da faixa"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:88
-#: Menus.cpp:547
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:88 Menus.cpp:547
 msgid "&Label Track"
 msgstr "Faixa de Títu&lo"
 
@@ -1350,23 +1565,22 @@ msgid "&File"
 msgstr "&Arquivo"
 
 #: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Novo\tCtrl+N"
+msgid "&New"
+msgstr "&Novo"
 
 #: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Abrir...\tCtrl+O"
+msgid "&Open..."
+msgstr "&Abrir..."
 
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Fechar\tCtrl+W"
+msgid "&Close"
+msgstr "&Fechar"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Salvar projeto\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Salvar projeto"
 
-#: Menus.cpp:178
-#: Project.cpp:2643
+#: Menus.cpp:178 Project.cpp:2643
 msgid "Save Project &As..."
 msgstr "Salvar &projeto como..."
 
@@ -1379,8 +1593,8 @@ msgid "Open Me&tadata Editor..."
 msgstr "Abrir editor de Me&tadados..."
 
 #: Menus.cpp:194
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "Áu&dio...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "Áu&dio..."
 
 #: Menus.cpp:195
 msgid "&Labels..."
@@ -1394,8 +1608,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "Dados sem &formatação..."
 
-#: Menus.cpp:208
-#: Menus.cpp:237
+#: Menus.cpp:208 Menus.cpp:237
 msgid "Expo&rt Selection..."
 msgstr "E&xportar seleção como"
 
@@ -1407,8 +1620,7 @@ msgstr "Exportar t
 msgid "Export &Multiple..."
 msgstr "Exportar &múltiplos..."
 
-#: Menus.cpp:246
-#: Menus.cpp:260
+#: Menus.cpp:246 Menus.cpp:260
 msgid "Edit C&hains..."
 msgstr "Editar arquivos de &lote..."
 
@@ -1429,79 +1641,74 @@ msgid "&Print..."
 msgstr "&Imprimir..."
 
 #: Menus.cpp:285
-msgid "E&xit\tCtrl+Q"
-msgstr "Sai&r\tCtrl+Q"
+msgid "E&xit"
+msgstr "Sai&r"
 
-#: Menus.cpp:293
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:293 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Editar"
 
 #: Menus.cpp:297
-msgid "&Undo\tCtrl+Z"
-msgstr "Des&fazer\tCtrl+Z"
+msgid "&Undo"
+msgstr "Des&fazer"
 
-#: Menus.cpp:305
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:305 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Refazer"
 
 #: Menus.cpp:318
-msgid "Cu&t\tCtrl+X"
-msgstr "Rec&ortar\tCtrl+X"
+msgid "Cu&t"
+msgstr "Rec&ortar"
 
 #: Menus.cpp:322
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "&Separar e Recortar\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "&Separar e Recortar"
 
 #: Menus.cpp:323
-msgid "&Copy\tCtrl+C"
-msgstr "&Copiar\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copiar"
 
 #: Menus.cpp:327
-msgid "&Paste\tCtrl+V"
-msgstr "Co&lar\tCtrl+V"
+msgid "&Paste"
+msgstr "Co&lar"
 
 #: Menus.cpp:331
-msgid "Tri&m\tCtrl+T"
-msgstr "S&ilenciar fora da Seleção\tCtrl+T"
+msgid "Tri&m"
+msgstr "S&ilenciar fora da Seleção"
 
 #: Menus.cpp:333
-msgid "&Delete\tCtrl+K"
-msgstr "&Apagar\tCtrl+K"
+msgid "&Delete"
+msgstr "&Apagar"
 
 #: Menus.cpp:334
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "S&eparar e Deletar\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "S&eparar e Deletar"
 
 #: Menus.cpp:335
-msgid "&Silence\tCtrl+L"
-msgstr "S&ilenciar\tCtrl+L"
+msgid "&Silence"
+msgstr "S&ilenciar"
 
 #: Menus.cpp:337
-msgid "Sp&lit\tCtrl+I"
-msgstr "Se&parar\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Se&parar"
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Separar e criar no&vo\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Separar e criar no&vo"
 
 #: Menus.cpp:347
-msgid "&Join\tCtrl+J"
-msgstr "&Unir\tCtrl+J"
+msgid "&Join"
+msgstr "&Unir"
 
 #: Menus.cpp:348
-msgid "Disj&oin\tCtrl+Alt+J"
-msgstr "Desu&nir\tCtrl+Alt+J"
+msgid "Disj&oin"
+msgstr "Desu&nir"
 
 #: Menus.cpp:350
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&Duplicar\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "&Duplicar"
 
-#: Menus.cpp:356
-#: Menus.cpp:556
-#: effects/StereoToMono.h:23
+#: Menus.cpp:356 Menus.cpp:556 effects/StereoToMono.h:23
 msgid "&Stereo To Mono"
 msgstr "E&stéreo para Mono"
 
@@ -1511,68 +1718,53 @@ msgstr "
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:365
-msgid "&Cut\tAlt+X"
-msgstr "Re&cortar\tAlt+X"
+msgid "&Cut"
+msgstr "Re&cortar"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:370
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Separar e Rec&ortar\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "Separar e Rec&ortar"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:375
-msgid "Co&py\tShift+Alt+C"
-msgstr "Co&piar\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:381
-msgid "&Delete\tAlt+K"
-msgstr "&Apagar\tAlt+K"
+msgid "Co&py"
+msgstr "Co&piar"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:386
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Separar e Apa&gar\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Separar e Apa&gar"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:391
-msgid "Sile&nce\tAlt+L"
-msgstr "Sile&nciar\tAlt+L"
+msgid "Sile&nce"
+msgstr "Sile&nciar"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:397
-msgid "Spli&t\tAlt+I"
-msgstr "Se&parar\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:402
-msgid "&Join\tAlt+J"
-msgstr "&Unir\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:407
-msgid "Disj&oin\tShift+Alt+J"
-msgstr "Desu&nir\tShift+Alt+J"
+msgid "Spli&t"
+msgstr "Se&parar"
 
 #: Menus.cpp:413
 msgid "&Select..."
 msgstr "&Selecionar"
 
 #: Menus.cpp:414
-msgid "&All\tCtrl+A"
-msgstr "Selecionar &Tudo\tCtrl+A"
+msgid "&All"
+msgstr "Selecionar &Tudo"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Nenhum\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Nenhum"
 
 #: Menus.cpp:419
-msgid "Left at Playback Position\t["
-msgstr "À esquerda do cursor\t["
+msgid "Left at Playback Position"
+msgstr "À esquerda do cursor"
 
 #: Menus.cpp:420
-msgid "Right at Playback Position\t]"
-msgstr "À direita do cursor\t]"
+msgid "Right at Playback Position"
+msgstr "À direita do cursor"
 
 #: Menus.cpp:424
 msgid "Start to Cursor"
@@ -1583,8 +1775,8 @@ msgid "Cursor to End"
 msgstr "Selecionar do cursor até o final"
 
 #: Menus.cpp:431
-msgid "Find &Zero Crossings\tZ"
-msgstr "Encontrar cruzamentos em &zero\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Encontrar cruzamentos em &zero"
 
 #: Menus.cpp:433
 msgid "Mo&ve Cursor..."
@@ -1642,45 +1834,41 @@ msgstr "Ligar rede da antecipa
 msgid "Turn Grid Snap Off"
 msgstr "Desligar rede da antecipação"
 
-#: Menus.cpp:474
-msgid "&Preferences...\tCtrl+P"
-msgstr "&Preferências...\tCtrl+P"
-
 #: Menus.cpp:484
 msgid "&View"
 msgstr "E&xibir"
 
 #: Menus.cpp:486
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Mais zoom\tCtrl+1"
+msgid "Zoom &In"
+msgstr "&Mais zoom"
 
 #: Menus.cpp:489
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normal\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normal"
 
 #: Menus.cpp:490
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Men&os zoom\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Men&os zoom"
 
 #: Menus.cpp:493
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Ajustar à janela\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Ajustar à janela"
 
 #: Menus.cpp:494
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Ajustar &verticalmente\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Ajustar &verticalmente"
 
 #: Menus.cpp:495
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom na seleção\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zoom na seleção"
 
 #: Menus.cpp:498
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Recolher todas as faixas\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Recolher todas as faixas"
 
 #: Menus.cpp:499
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Expandir todas as faixas\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "&Expandir todas as faixas"
 
 #: Menus.cpp:502
 msgid "Show Clipping"
@@ -1739,15 +1927,14 @@ msgid "Add &New..."
 msgstr "&Nova faixa"
 
 #: Menus.cpp:545
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Faix&a de Áudio\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "Faix&a de Áudio"
 
 #: Menus.cpp:546
 msgid "&Stereo Track"
 msgstr "Faixa E&stéreo"
 
-#: Menus.cpp:548
-#: TimeTrack.cpp:44
+#: Menus.cpp:548 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Faixa de &Tempo"
 
@@ -1756,15 +1943,13 @@ msgstr "Faixa de &Tempo"
 msgid "&Timer Record..."
 msgstr "&Gravação programada..."
 
-#: Menus.cpp:560
-#: Menus.cpp:3698
-#: Mix.cpp:120
+#: Menus.cpp:560 Menus.cpp:3698 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Mixar"
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mixar e gerar áudio para nova faixa\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Mixar e gerar áudio para nova faixa"
 
 #: Menus.cpp:568
 msgid "&Resample..."
@@ -1815,12 +2000,12 @@ msgid "Ali&gn And Move Cursor..."
 msgstr "A&linhar e mover o cursor"
 
 #: Menus.cpp:611
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Adicionar &título à seleção\tCtrl+B"
+msgid "Add &Label At Selection"
+msgstr "Adicionar &título à seleção"
 
 #: Menus.cpp:612
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Adicionar título à &posição atual\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Adicionar título à &posição atual"
 
 #: Menus.cpp:618
 msgid "S&ort tracks by..."
@@ -1843,8 +2028,8 @@ msgid "Effe&ct"
 msgstr "Efeito&s"
 
 #: Menus.cpp:658
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetir último efeito\tCtrl+R"
+msgid "Repeat Last Effect"
+msgstr "Repetir último efeito"
 
 #: Menus.cpp:690
 msgid "&Analyze"
@@ -1854,8 +2039,7 @@ msgstr "A&nalisar"
 msgid "Plot Spectrum..."
 msgstr "&Espectro de freqüência..."
 
-#: Menus.cpp:725
-#: Menus.cpp:728
+#: Menus.cpp:725 Menus.cpp:728
 msgid "&Help"
 msgstr "Aj&uda"
 
@@ -1884,188 +2068,176 @@ msgid "&Audio Device Info..."
 msgstr "&Dispositivos de áudio..."
 
 #: Menus.cpp:758
-msgid "Cycle backward through Dock, Track View, and Selection Bar\tCtrl+Shift+F6"
-msgstr "Alternar entre o Dock, Visualização de Faixas e Barra de Seleção\tCtrl+Shift+F6"
+msgid "Cycle backward through Dock, Track View, and Selection Bar"
+msgstr "Alternar entre o Dock, Visualização de Faixas e Barra de Seleção"
 
 #: Menus.cpp:759
-msgid "Cycle forward through Dock, Track View, and Selection Bar\tCtrl+F6"
-msgstr "Alternar entre Barra de Seleção, Visualização de Faixas e Dock\tCtrl+F6"
+msgid "Cycle forward through Dock, Track View, and Selection Bar"
+msgstr "Alternar entre Barra de Seleção, Visualização de Faixas e Dock"
 
 #: Menus.cpp:762
-msgid "Selection Tool\tF1"
-msgstr "Ferramenta de seleção\tF1"
+msgid "Selection Tool"
+msgstr "Ferramenta de seleção"
 
 #: Menus.cpp:763
-msgid "Envelope Tool\tF2"
-msgstr "Ferramenta Envelope\tF2"
+msgid "Envelope Tool"
+msgstr "Ferramenta Envelope"
 
 #: Menus.cpp:764
-msgid "Draw Tool\tF3"
-msgstr "Ferramenta de desenho\tF3"
+msgid "Draw Tool"
+msgstr "Ferramenta de desenho"
 
 #: Menus.cpp:765
-msgid "Zoom Tool\tF4"
-msgstr "Ferramenta de Zoom\tF4"
+msgid "Zoom Tool"
+msgstr "Ferramenta de Zoom"
 
 #: Menus.cpp:766
-msgid "Time Shift Tool\tF5"
-msgstr "Ferramenta Deslizar\tF5"
+msgid "Time Shift Tool"
+msgstr "Ferramenta Deslizar"
 
 #: Menus.cpp:767
-msgid "Multi Tool\tF6"
-msgstr "Multi-ferramenta\tF6"
+msgid "Multi Tool"
+msgstr "Multi-ferramenta"
 
 #: Menus.cpp:769
-msgid "Next Tool\tD"
-msgstr "Próxima ferramenta\tD"
+msgid "Next Tool"
+msgstr "Próxima ferramenta"
 
 #: Menus.cpp:770
-msgid "Previous Tool\tA"
-msgstr "Ferramenta anterior\tA"
+msgid "Previous Tool"
+msgstr "Ferramenta anterior"
 
 #: Menus.cpp:772
-msgid "Play/Stop\tSpacebar"
-msgstr "Reproduzir/Parar\tBarra de Espaço"
+msgid "Play/Stop"
+msgstr "Reproduzir/Parar"
 
 #: Menus.cpp:773
-msgid "Stop\tS"
-msgstr "Parar\tS"
+msgid "Stop"
+msgstr "Parar"
 
 #: Menus.cpp:774
-msgid "Pause\tP"
-msgstr "Pausar\tP"
+msgid "Pause"
+msgstr "Pausar"
 
 #: Menus.cpp:775
-msgid "Record\tR"
-msgstr "Gravar\tR"
+msgid "Record"
+msgstr "Gravar"
 
 #: Menus.cpp:777
-msgid "Play/Stop and Select\tShift+Return"
-msgstr "Reproduzir/Parar e Selecionar\tShift+Enter"
+msgid "Play/Stop and Select"
+msgstr "Reproduzir/Parar e Selecionar"
 
 #: Menus.cpp:778
-msgid "Stop and Select\tShift+A"
-msgstr "Parar e Selecionar\tShift+A"
+msgid "Stop and Select"
+msgstr "Parar e Selecionar"
 
 #: Menus.cpp:780
-msgid "Play One Second\t1"
-msgstr "Reproduzir um segundo\t1"
+msgid "Play One Second"
+msgstr "Reproduzir um segundo"
 
 #: Menus.cpp:781
-msgid "Play To Selection\tB"
-msgstr "Reproduzir seleção\tB"
+msgid "Play To Selection"
+msgstr "Reproduzir seleção"
 
 #: Menus.cpp:782
-msgid "Play Looped\tL"
-msgstr "Reproduzir continuamente\tL"
-
-#: Menus.cpp:783
-msgid "Play Looped\tShift+Spacebar"
-msgstr "Reprodução contínua\tShift+Barra de Espaço"
+msgid "Play Looped"
+msgstr "Reproduzir continuamente"
 
 #: Menus.cpp:784
-msgid "Play Cut Preview\tC"
-msgstr "Reproduzir recorte da previsão\tC"
+msgid "Play Cut Preview"
+msgstr "Reproduzir recorte da previsão"
 
 #: Menus.cpp:786
-msgid "Skip to Start\tHome"
-msgstr "Ir para o início\tHome"
+msgid "Skip to Start"
+msgstr "Ir para o início"
 
 #: Menus.cpp:787
-msgid "Skip to End\tEnd"
-msgstr "Ir para o final\tEnd"
+msgid "Skip to End"
+msgstr "Ir para o final"
 
 #: Menus.cpp:789
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleção desde o início\tShift+Home"
+msgid "Selection to Start"
+msgstr "Seleção desde o início"
 
 #: Menus.cpp:790
-msgid "Selection to End\tShift+End"
-msgstr "Selecionar do cursor para o fim\tShift+End"
+msgid "Selection to End"
+msgstr "Selecionar do cursor para o fim"
 
 #: Menus.cpp:792
-msgid "DeleteKey\tBackspace"
-msgstr "Apagar\tBackspace"
+msgid "DeleteKey"
+msgstr "Apagar"
 
 #: Menus.cpp:797
-msgid "DeleteKey2\tDelete"
-msgstr "Apagar\tDelete"
+msgid "DeleteKey2"
+msgstr "Apagar"
 
 #: Menus.cpp:803
-msgid "Seek left short period during playback\tLeft"
-msgstr "Alterar posição do cursor pouco à esquerda\tSeta para Esquerda"
+msgid "Seek left short period during playback"
+msgstr "Alterar posição do cursor pouco à esquerda"
 
 #: Menus.cpp:804
-msgid "Seek right short period during playback\tRight"
-msgstr "Alterar posição do cursor pouco à direita\tSeta para Direita"
+msgid "Seek right short period during playback"
+msgstr "Alterar posição do cursor pouco à direita"
 
 #: Menus.cpp:805
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Alterar posição do cursor mais à esquerda\tShift+Seta para Esquerda"
+msgid "Seek left long period during playback"
+msgstr "Alterar posição do cursor mais à esquerda"
 
 #: Menus.cpp:806
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Alterar posição do cursor mais à direita\tShift+Seta para Direita"
+msgid "Seek right long period during playback"
+msgstr "Alterar posição do cursor mais à direita"
 
 #: Menus.cpp:810
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Mover foco para a faixa anterior\tSeta para Cima"
+msgid "Move Focus to Previous Track"
+msgstr "Mover foco para a faixa anterior"
 
 #: Menus.cpp:811
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Mover foco para a faixa anterior e alterar seleção\tShift+Seta para Cima"
+msgid "Move Focus to Previous and Change Selection"
+msgstr "Mover foco para a faixa anterior e alterar seleção"
 
 #: Menus.cpp:812
-msgid "Move Focus to Next Track\tDown"
-msgstr "Mover foco para a faixa posterior\tSeta para Baixo"
+msgid "Move Focus to Next Track"
+msgstr "Mover foco para a faixa posterior"
 
 #: Menus.cpp:813
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Mover foco para a faixa posterior e alterar seleção\tShift+Seta para Baixo"
+msgid "Move Focus to Next and Change Selection"
+msgstr "Mover foco para a faixa posterior e alterar seleção"
 
 #: Menus.cpp:814
-msgid "Toggle Focused Track\tReturn"
-msgstr "Alterar foco sobre a faixa\tEnter"
-
-#: Menus.cpp:815
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Alterar foco sobre a faixa\tEnter do teclado numérico"
-
-#: Menus.cpp:816
-msgid "Toggle Focused Track\tCtrl+Spacebar"
-msgstr "Alterar foco sobre a faixa\tCtrl+Barra de espaços"
+msgid "Toggle Focused Track"
+msgstr "Alterar foco sobre a faixa"
 
 #: Menus.cpp:818
-msgid "Cursor Left\tLeft"
-msgstr "Cursor à Esquerda\tSeta Esquerda"
+msgid "Cursor Left"
+msgstr "Cursor à Esquerda"
 
 #: Menus.cpp:819
-msgid "Cursor Right\tRight"
-msgstr "Cursor à Direita\tSeta Direita"
+msgid "Cursor Right"
+msgstr "Cursor à Direita"
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
-msgstr "Movimento curto do Cursor à esquerda\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Movimento curto do Cursor à esquerda"
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
-msgstr "Movimento curto do Cursor à direita\t."
+msgid "Cursor Short Jump Right"
+msgstr "Movimento curto do Cursor à direita"
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Movimento longo do Cursor à esquerda\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Movimento longo do Cursor à esquerda"
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Movimento longo do Cursor à direita\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Movimento longo do Cursor à direita"
 
 #: Menus.cpp:825
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Extender seleção à esquerda\tShift+Seta Esq."
+msgid "Selection Extend Left"
+msgstr "Extender seleção à esquerda"
 
 #: Menus.cpp:826
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Extender seleção à direita\tShift+Seta Dir."
+msgid "Selection Extend Right"
+msgstr "Extender seleção à direita"
 
 #: Menus.cpp:828
 msgid "Set (or Extend) Left Selection"
@@ -2076,52 +2248,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Ajustar (ou extender) seleção à direita"
 
 #: Menus.cpp:831
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contarir seleção à esquerda\tCtrl+Shift+Seta Dir."
+msgid "Selection Contract Left"
+msgstr "Contarir seleção à esquerda"
 
 #: Menus.cpp:832
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contarir seleção à direita\tCtrl+Shift+Seta Esq."
+msgid "Selection Contract Right"
+msgstr "Contarir seleção à direita"
 
 #: Menus.cpp:834
-msgid "Change pan on focused track\tShift+P"
-msgstr "Alterar balanço da faixa selecionada\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Alterar balanço da faixa selecionada"
 
 #: Menus.cpp:835
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Balanço à esquerda nas faixas selecionadas\tAlt+Shift+Seta Esq"
+msgid "Pan left on focused track"
+msgstr "Balanço à esquerda nas faixas selecionadas"
 
 #: Menus.cpp:836
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Balanço à direita na faixa selecionada\tAlt+Shift+Seta Dir"
+msgid "Pan right on focused track"
+msgstr "Balanço à direita na faixa selecionada"
 
 #: Menus.cpp:837
-msgid "Change gain on focused track\tShift+G"
-msgstr "Alterar ganho na faixa selecionada\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Alterar ganho na faixa selecionada"
 
 #: Menus.cpp:838
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Aumentar ganho na faixa selecionada\tAlt+Shift+Seta acima"
+msgid "Increase gain on focused track"
+msgstr "Aumentar ganho na faixa selecionada"
 
 #: Menus.cpp:839
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Diminuir ganho na faixa selecionada\tAlt+Shift+Seta abaixo"
+msgid "Decrease gain on focused track"
+msgstr "Diminuir ganho na faixa selecionada"
 
 #: Menus.cpp:840
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr "Abrir menu da faixa selecionada"
 
 #: Menus.cpp:841
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Mudo/não-Mudo na faixa selecionada\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Mudo/não-Mudo na faixa selecionada"
 
 #: Menus.cpp:842
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Solo/não-Solo na faixa selecionada\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Solo/não-Solo na faixa selecionada"
 
 #: Menus.cpp:843
-msgid "Close focused track\tShift+C"
-msgstr "Fechar faixa selecionada\tShift+C"
+msgid "Close focused track"
+msgstr "Fechar faixa selecionada"
 
 #: Menus.cpp:845
 msgid "Snap To On"
@@ -2190,8 +2362,8 @@ msgstr "Voc
 
 #: Menus.cpp:2005
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetir %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repetir %s"
 
 #: Menus.cpp:2136
 msgid "There are no label tracks to export."
@@ -2205,9 +2377,7 @@ msgstr "N
 msgid "Nothing to redo"
 msgstr "Não há mais o que refazer"
 
-#: Menus.cpp:2336
-#: TrackPanel.cpp:546
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2336 TrackPanel.cpp:546 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Cortar"
 
@@ -2223,10 +2393,7 @@ msgstr "Separar e Recortar"
 msgid "Split-cut to the clipboard"
 msgstr "Separar e Recortar para a Área de Transferência"
 
-#: Menus.cpp:2439
-#: Menus.cpp:2510
-#: Menus.cpp:2604
-#: TrackPanel.cpp:548
+#: Menus.cpp:2439 Menus.cpp:2510 Menus.cpp:2604 TrackPanel.cpp:548
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Colar"
@@ -2235,8 +2402,7 @@ msgstr "Colar"
 msgid "Pasted text from the clipboard"
 msgstr "Texto copiado para a Área de Transferência"
 
-#: Menus.cpp:2510
-#: Menus.cpp:2604
+#: Menus.cpp:2510 Menus.cpp:2604
 msgid "Pasted from the clipboard"
 msgstr "Colado da área de transferência"
 
@@ -2244,8 +2410,7 @@ msgstr "Colado da 
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Não é possível copiar áudio estéreo em faixas mono"
 
-#: Menus.cpp:2640
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2640 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Silenciar fora da seleção"
 
@@ -2285,8 +2450,7 @@ msgstr "Unir"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Faixas silenciadas por %.2f segundo em %.2f"
 
-#: Menus.cpp:2741
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2741 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Silenciar"
 
@@ -2370,8 +2534,7 @@ msgstr "Separar t
 msgid "Disjoined labeled regions"
 msgstr "Regiões com títulos desunidas"
 
-#: Menus.cpp:2917
-#: TrackPanel.cpp:5861
+#: Menus.cpp:2917 TrackPanel.cpp:5861
 msgid "Split"
 msgstr "Dividir seleção"
 
@@ -2389,12 +2552,17 @@ msgstr "Dividir nos t
 
 #: Menus.cpp:3394
 msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Para desenhar o espectro, todas as faixas devem ter a mesma taxa de amostragem."
+msgstr ""
+"Para desenhar o espectro, todas as faixas devem ter a mesma taxa de "
+"amostragem."
 
 #: Menus.cpp:3420
 #, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Foi selecionado áudio demais. Só os primeiros %1f segundos serão analizados."
+msgid ""
+"Too much audio was selected.  Only the first %.1f seconds of audio will be "
+"analyzed."
+msgstr ""
+"Foi selecionado áudio demais. Só os primeiros %1f segundos serão analizados."
 
 #: Menus.cpp:3546
 #, c-format
@@ -2410,8 +2578,11 @@ msgid "Select a MIDI file..."
 msgstr "Selecione um arquivo MIDI..."
 
 #: Menus.cpp:3561
-msgid "All files (*.*)|*.*|MIDI files (*.mid)|*.mid|Allegro files (*.gro)|*.gro"
-msgstr "Todos os arquivos (*.*)|*.*|Arquivos MIDI (*.mid)|*.mid|Arquivos Allegro (*.gro)|*.gro"
+msgid ""
+"All files (*.*)|*.*|MIDI files (*.mid)|*.mid|Allegro files (*.gro)|*.gro"
+msgstr ""
+"Todos os arquivos (*.*)|*.*|Arquivos MIDI (*.mid)|*.mid|Arquivos Allegro (*."
+"gro)|*.gro"
 
 #: Menus.cpp:3577
 #, c-format
@@ -2430,10 +2601,7 @@ msgstr "Selecione um arquivo de 
 msgid "All files (*)|*"
 msgstr "Todos os arquivos (*)|*"
 
-#: Menus.cpp:3611
-#: Project.cpp:2540
-#: Project.cpp:2565
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3611 Project.cpp:2540 Project.cpp:2565 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Importar"
@@ -2509,10 +2677,7 @@ msgstr "Alinhar"
 msgid "Created new audio track"
 msgstr "Criada nova faixa de áudio"
 
-#: Menus.cpp:3912
-#: Menus.cpp:3935
-#: Menus.cpp:3950
-#: Menus.cpp:3970
+#: Menus.cpp:3912 Menus.cpp:3935 Menus.cpp:3950 Menus.cpp:3970
 msgid "New Track"
 msgstr "Nova faixa"
 
@@ -2525,8 +2690,10 @@ msgid "Created new label track"
 msgstr "Criado novo título"
 
 #: Menus.cpp:3959
-msgid "The version of Audacity you are using does not support multiple time tracks."
-msgstr "The version of Audacity you are using does not support multiple time tracks."
+msgid ""
+"The version of Audacity you are using does not support multiple time tracks."
+msgstr ""
+"The version of Audacity you are using does not support multiple time tracks."
 
 #: Menus.cpp:3970
 msgid "Created new time track"
@@ -2548,8 +2715,7 @@ msgstr "Salvar configura
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Ajustes do CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4085
-#: export/Export.cpp:509
+#: Menus.cpp:4085 export/Export.cpp:509
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Desculpe, nomes com mais de 256 caracteres não são aceitos."
 
@@ -2557,8 +2723,7 @@ msgstr "Desculpe, nomes com mais de 256 caracteres n
 msgid "Problem encountered exporting presets."
 msgstr "Houve um problema ao exportar as configurações;"
 
-#: Menus.cpp:4132
-#: export/Export.cpp:402
+#: Menus.cpp:4132 export/Export.cpp:402
 msgid "Unable to export"
 msgstr "Não foi possível exportar"
 
@@ -2574,9 +2739,7 @@ msgstr "Remover faixas de 
 msgid "Enter new samplerate:"
 msgstr "Digite a nova taxa de amostragem:"
 
-#: Menus.cpp:4439
-#: Menus.cpp:4458
-#: export/ExportMP3.cpp:1871
+#: Menus.cpp:4439 Menus.cpp:4458 export/ExportMP3.cpp:1871
 msgid "Resample"
 msgstr "Reamostrar"
 
@@ -2597,8 +2760,7 @@ msgstr "Reamostrar faixa"
 msgid "Resampled audio track(s)"
 msgstr "Reamostrar faixa de áudio"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Mix"
 
@@ -2631,14 +2793,7 @@ msgstr "Bem-vindo ao Audacity vers
 msgid "(Recovered)"
 msgstr "(Recuperado)"
 
-#: Project.cpp:1472
-#: TrackPanel.cpp:772
-#: toolbars/ControlToolBar.cpp:191
-msgid "Record"
-msgstr "Gravar"
-
-#: Project.cpp:1472
-#: TrackPanel.cpp:772
+#: Project.cpp:1472 TrackPanel.cpp:772
 msgid "Recorded Audio"
 msgstr "Áudio gravado"
 
@@ -2681,8 +2836,7 @@ msgstr "Selecionar arquivo de 
 msgid "Audacity projects|*.aup|"
 msgstr "Projetos do Audacity|*.aup|"
 
-#: Project.cpp:1801
-#: Project.cpp:1809
+#: Project.cpp:1801 Project.cpp:1809
 msgid "Error opening file"
 msgstr "Erro abrindo arquivo"
 
@@ -2700,7 +2854,9 @@ msgid "Error opening file or project"
 msgstr "Erro ao abrir arquivo ou projeto"
 
 #: Project.cpp:1833
-msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
+msgid ""
+"Audacity was unable to convert an Audacity 1.0 project to the new project "
+"format."
 msgstr "O Audacity não pôde converter o arquivo da versão 1.0."
 
 #: Project.cpp:1936
@@ -2719,8 +2875,7 @@ msgstr "Recuperar"
 msgid "Project checker repaired file"
 msgstr "A Verificação Automática de Projeto reparou o arquivo"
 
-#: Project.cpp:1967
-#: effects/Repair.h:29
+#: Project.cpp:1967 effects/Repair.h:29
 msgid "Repair"
 msgstr "Reparar"
 
@@ -2806,8 +2961,7 @@ msgstr ""
 "O disco %s pode estar cheio ou protegido\n"
 "contra gravação."
 
-#: Project.cpp:2381
-#: Project.cpp:2395
+#: Project.cpp:2381 Project.cpp:2395
 msgid "Error saving project"
 msgstr "Erro salvando projeto"
 
@@ -2832,8 +2986,7 @@ msgstr "Importando %s..."
 msgid "Imported '%s'"
 msgstr "Importado: '%s'"
 
-#: Project.cpp:2592
-#: Project.cpp:2600
+#: Project.cpp:2592 Project.cpp:2600
 msgid "Error importing"
 msgstr "Erro importando "
 
@@ -2847,16 +3000,22 @@ msgstr "Arquivo de 
 
 #: Project.cpp:2642
 msgid ""
-"Audacity project files (.aup) let you save everything you're working on exactly as it\n"
-"appears on the screen, but most other programs can't open Audacity project files.\n"
+"Audacity project files (.aup) let you save everything you're working on "
+"exactly as it\n"
+"appears on the screen, but most other programs can't open Audacity project "
+"files.\n"
 "\n"
-"When you want to save a file that can be opened by other programs, select one of the\n"
+"When you want to save a file that can be opened by other programs, select "
+"one of the\n"
 "Export commands."
 msgstr ""
-"Arquivos de projeto do Audacity (.AUP) permitem que se salve todo o projeto exatamente\n"
-"como aparecem na tela. No entanto, a maioria dos programas de edição de áudio não\n"
+"Arquivos de projeto do Audacity (.AUP) permitem que se salve todo o projeto "
+"exatamente\n"
+"como aparecem na tela. No entanto, a maioria dos programas de edição de "
+"áudio não\n"
 "é capaz de abrir estes arquivos. \n"
-"Para salvar em um formato executável por outros programas de edição, selecione Exportar."
+"Para salvar em um formato executável por outros programas de edição, "
+"selecione Exportar."
 
 #: Project.cpp:2645
 msgid "Audacity projects (*.aup)|*.aup"
@@ -2871,8 +3030,7 @@ msgstr "Criado novo projeto"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Apagados %.2f segundos em t=%.2f"
 
-#: Project.cpp:2812
-#: effects/Equalization.cpp:1256
+#: Project.cpp:2812 effects/Equalization.cpp:1256
 #: effects/Equalization.cpp:2511
 msgid "Delete"
 msgstr "Apagar"
@@ -2943,8 +3101,7 @@ msgstr "Libsamplerate por Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Erro em LibSampleRate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Reamostragem desabilitada."
 
@@ -2971,14 +3128,11 @@ msgstr "Salvo"
 msgid "Error trying to save file: "
 msgstr "Erro ao abrir o arquivo: "
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "Interrupção detectada no arquivo de projeto\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:339
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:339
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "&Testar"
@@ -2999,8 +3153,7 @@ msgstr "In
 msgid "Recording end"
 msgstr "Final da gravação"
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:304
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:304
 msgid "Duration"
 msgstr "Duração"
 
@@ -3051,8 +3204,7 @@ msgstr "Nome do 
 msgid "Track Number"
 msgstr "Número da faixa"
 
-#: Tags.cpp:625
-#: Tags.cpp:2105
+#: Tags.cpp:625 Tags.cpp:2105
 msgid "Year"
 msgstr "Ano"
 
@@ -3060,14 +3212,11 @@ msgstr "Ano"
 msgid "Genre"
 msgstr "Gênero"
 
-#: Tags.cpp:627
-#: Tags.cpp:2115
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:627 Tags.cpp:2115 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Comentários"
 
-#: Tags.cpp:745
-#: Tags.cpp:1985
+#: Tags.cpp:745 Tags.cpp:1985
 msgid "Press F2 or double click to edit."
 msgstr "Pressione F2 ou clique duplo para editar."
 
@@ -3079,9 +3228,7 @@ msgstr "Nome da Tag"
 msgid "Tag Value"
 msgstr "Valor da Tag"
 
-#: Tags.cpp:785
-#: Tags.cpp:1443
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:785 Tags.cpp:1443 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Limpar"
 
@@ -3089,112 +3236,71 @@ msgstr "&Limpar"
 msgid "Genres"
 msgstr "Gêneros"
 
-#: Tags.cpp:795
-#: Tags.cpp:1406
-#: Tags.cpp:1947
+#: Tags.cpp:795 Tags.cpp:1406 Tags.cpp:1947
 msgid "Edit"
 msgstr "Editar"
 
-#: Tags.cpp:796
-#: Tags.cpp:1948
+#: Tags.cpp:796 Tags.cpp:1948
 msgid "Reset"
 msgstr "Reiniciar"
 
-#: Tags.cpp:801
-#: Tags.cpp:1427
-#: Tags.cpp:1955
+#: Tags.cpp:801 Tags.cpp:1427 Tags.cpp:1955
 msgid "Template"
 msgstr "Modelo"
 
-#: Tags.cpp:805
-#: Tags.cpp:1431
-#: Tags.cpp:1959
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:805 Tags.cpp:1431 Tags.cpp:1959 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Carregar..."
 
-#: Tags.cpp:806
-#: Tags.cpp:1432
-#: Tags.cpp:1960
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:806 Tags.cpp:1432 Tags.cpp:1960 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Salvar"
 
-#: Tags.cpp:808
-#: Tags.cpp:1434
-#: Tags.cpp:1962
+#: Tags.cpp:808 Tags.cpp:1434 Tags.cpp:1962
 msgid "S&et Default"
 msgstr "A&juste padrão"
 
-#: Tags.cpp:958
-#: Tags.cpp:1597
-#: Tags.cpp:2326
+#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
 msgid "Edit Genres"
 msgstr "Editar Gêneros"
 
-#: Tags.cpp:991
-#: Tags.cpp:1003
-#: Tags.cpp:1019
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1647
-#: Tags.cpp:1663
-#: Tags.cpp:1676
-#: Tags.cpp:2369
-#: Tags.cpp:2381
-#: Tags.cpp:2397
-#: Tags.cpp:2410
+#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
+#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
+#: Tags.cpp:2397 Tags.cpp:2410
 msgid "Reset Genres"
 msgstr "Reiniciar Gêneros"
 
-#: Tags.cpp:991
-#: Tags.cpp:1032
-#: Tags.cpp:1635
-#: Tags.cpp:1676
-#: Tags.cpp:2369
+#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
 #: Tags.cpp:2410
 msgid "Unable to save genre file."
 msgstr "Não foi possível salvar o arquivo de Gêneros."
 
-#: Tags.cpp:1002
-#: Tags.cpp:1646
-#: Tags.cpp:2380
+#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Tem certeza que deseja reiniciar a lista de Gêneros para padrão?"
 
-#: Tags.cpp:1019
-#: Tags.cpp:1663
-#: Tags.cpp:2397
+#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
 msgid "Unable to open genre file."
 msgstr "Não foi possível abrir o arquivo de Gêneros."
 
-#: Tags.cpp:1054
-#: Tags.cpp:1108
-#: Tags.cpp:1709
-#: Tags.cpp:1745
-#: Tags.cpp:2432
+#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
 #: Tags.cpp:2468
 msgid "Save Metadata As:"
 msgstr "Salvar metadados como:"
 
-#: Tags.cpp:1079
-#: Tags.cpp:1730
-#: Tags.cpp:2453
+#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
 msgid "Error loading metadata"
 msgstr "Erro ao carregar metadados"
 
-#: Tags.cpp:1376
-#: Tags.cpp:1935
+#: Tags.cpp:1376 Tags.cpp:1935
 msgid "Title:"
 msgstr "Título:"
 
-#: Tags.cpp:1377
-#: Tags.cpp:1936
+#: Tags.cpp:1377 Tags.cpp:1936
 msgid "Artist:"
 msgstr "Artista:"
 
-#: Tags.cpp:1378
-#: Tags.cpp:1937
+#: Tags.cpp:1378 Tags.cpp:1937
 msgid "Album:"
 msgstr "Álbum:"
 
@@ -3206,8 +3312,7 @@ msgstr "Compositor:"
 msgid "Lyricist:"
 msgstr "Letras:"
 
-#: Tags.cpp:1381
-#: Tags.cpp:1940
+#: Tags.cpp:1381 Tags.cpp:1940
 msgid "Comments:"
 msgstr "Comentários:"
 
@@ -3219,23 +3324,19 @@ msgstr "Codificado por:"
 msgid "Copyright:"
 msgstr "Diretos de cópia:"
 
-#: Tags.cpp:1391
-#: Tags.cpp:1938
+#: Tags.cpp:1391 Tags.cpp:1938
 msgid "Track Number:"
 msgstr "Número da faixa:"
 
-#: Tags.cpp:1395
-#: Tags.cpp:1939
+#: Tags.cpp:1395 Tags.cpp:1939
 msgid "Year:"
 msgstr "Ano:"
 
-#: Tags.cpp:1399
-#: Tags.cpp:1941
+#: Tags.cpp:1399 Tags.cpp:1941
 msgid "Genre:"
 msgstr "Gênero:"
 
-#: Tags.cpp:1457
-#: Tags.cpp:2056
+#: Tags.cpp:1457 Tags.cpp:2056
 msgid "No Genres"
 msgstr "Sem gêneros"
 
@@ -3262,7 +3363,8 @@ msgstr "Limpa&r"
 #: Tags.cpp:2069
 #, c-format
 msgid "Maximum length of attribute '%s' is %d characters. Data was truncated."
-msgstr "Tamanho máximo do atributo '%s' é %d caracteres. Os dados foram excluídos."
+msgstr ""
+"Tamanho máximo do atributo '%s' é %d caracteres. Os dados foram excluídos."
 
 #: Tags.cpp:2075
 msgid "Title"
@@ -3316,8 +3418,7 @@ msgstr ""
 "  %s.\n"
 "Tema não carregado."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid ""
 "Audacity could not load file:\n"
@@ -3347,8 +3448,7 @@ msgstr ""
 " foi encontrado em:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid ""
 "Could not create directory:\n"
@@ -3381,40 +3481,27 @@ msgstr ""
 msgid "Specify Time"
 msgstr "Especificar tempo"
 
-#: TrackPanel.cpp:448
-#: TrackPanel.cpp:449
+#: TrackPanel.cpp:448 TrackPanel.cpp:449
 msgid "Track Panel"
 msgstr "Painel de Faixas"
 
-#: TrackPanel.cpp:492
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:492 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Outra..."
 
-#: TrackPanel.cpp:500
-#: TrackPanel.cpp:521
-#: TrackPanel.cpp:530
-#: TrackPanel.cpp:538
+#: TrackPanel.cpp:500 TrackPanel.cpp:521 TrackPanel.cpp:530 TrackPanel.cpp:538
 msgid "Name..."
 msgstr "Nome..."
 
-#: TrackPanel.cpp:502
-#: TrackPanel.cpp:523
-#: TrackPanel.cpp:534
-#: TrackPanel.cpp:540
+#: TrackPanel.cpp:502 TrackPanel.cpp:523 TrackPanel.cpp:534 TrackPanel.cpp:540
 msgid "Move Track Up"
 msgstr "Mover faixa acima"
 
-#: TrackPanel.cpp:503
-#: TrackPanel.cpp:524
-#: TrackPanel.cpp:535
-#: TrackPanel.cpp:541
+#: TrackPanel.cpp:503 TrackPanel.cpp:524 TrackPanel.cpp:535 TrackPanel.cpp:541
 msgid "Move Track Down"
 msgstr "Mover faixa abaixo"
 
-#: TrackPanel.cpp:505
-#: effects/ToneGen.cpp:303
+#: TrackPanel.cpp:505 effects/ToneGen.cpp:303
 msgid "Waveform"
 msgstr "Forma de onda"
 
@@ -3426,18 +3513,15 @@ msgstr "Forma de onda (dB)"
 msgid "Pitch (EAC)"
 msgstr "Altura (EAC)"
 
-#: TrackPanel.cpp:510
-#: TrackPanel.cpp:5831
+#: TrackPanel.cpp:510 TrackPanel.cpp:5831
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:511
-#: TrackPanel.cpp:5830
+#: TrackPanel.cpp:511 TrackPanel.cpp:5830
 msgid "Left Channel"
 msgstr "Canal esquerdo"
 
-#: TrackPanel.cpp:512
-#: TrackPanel.cpp:5830
+#: TrackPanel.cpp:512 TrackPanel.cpp:5830
 msgid "Right Channel"
 msgstr "Canal direito"
 
@@ -3453,8 +3537,7 @@ msgstr "Separar faixas de est
 msgid "Set Sample Format"
 msgstr "Taxa de bits da amostragem"
 
-#: TrackPanel.cpp:518
-#: TrackPanel.cpp:6048
+#: TrackPanel.cpp:518 TrackPanel.cpp:6048
 msgid "Set Rate"
 msgstr "Taxa de amostragem"
 
@@ -3474,14 +3557,17 @@ msgstr "Fonte..."
 msgid "Set Range..."
 msgstr "Ajuste da taxa..."
 
-#: TrackPanel.cpp:547
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:547 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Copiar"
 
 #: TrackPanel.cpp:1239
-msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
-msgstr "Clique para aumentar o zoom verticalmente, Shift+clique para diminuir o zoom e Arrastar para aumentar o zoom na área selecionada."
+msgid ""
+"Click to vertically zoom in, Shift-click to zoom out, Drag to create a "
+"particular zoom region."
+msgstr ""
+"Clique para aumentar o zoom verticalmente, Shift+clique para diminuir o zoom "
+"e Arrastar para aumentar o zoom na área selecionada."
 
 #: TrackPanel.cpp:1244
 msgid "Drag the label vertically to change the order of the tracks."
@@ -3506,12 +3592,15 @@ msgstr "Arrasta as bordas do t
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
 #: TrackPanel.cpp:1315
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
-msgstr "Modo multi-ferramenta: Cmd- para acessar as preferências de teclado e mouse."
+msgstr ""
+"Modo multi-ferramenta: Cmd- para acessar as preferências de teclado e mouse."
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
 #: TrackPanel.cpp:1318
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
-msgstr "Modo multi-ferramenta: Ctrl-P para acessar as preferências do mouse e teclado."
+msgstr ""
+"Modo multi-ferramenta: Ctrl-P para acessar as preferências do mouse e "
+"teclado."
 
 #: TrackPanel.cpp:1338
 msgid "Click and drag to move left selection boundary."
@@ -3521,21 +3610,13 @@ msgstr "Clique e arraste para mover a sele
 msgid "Click and drag to move right selection boundary."
 msgstr "Clique e arraste para mover a seleção à direita"
 
-#: TrackPanel.cpp:1669
-#: TrackPanel.cpp:3777
-#: TrackPanel.cpp:3809
-#: TrackPanel.cpp:4064
-#: TrackPanel.cpp:6160
-#: TrackPanel.cpp:6180
+#: TrackPanel.cpp:1669 TrackPanel.cpp:3777 TrackPanel.cpp:3809
+#: TrackPanel.cpp:4064 TrackPanel.cpp:6160 TrackPanel.cpp:6180
 msgid "Modified Label"
 msgstr "Título modificado."
 
-#: TrackPanel.cpp:1670
-#: TrackPanel.cpp:3778
-#: TrackPanel.cpp:3810
-#: TrackPanel.cpp:4065
-#: TrackPanel.cpp:6161
-#: TrackPanel.cpp:6181
+#: TrackPanel.cpp:1670 TrackPanel.cpp:3778 TrackPanel.cpp:3810
+#: TrackPanel.cpp:4065 TrackPanel.cpp:6161 TrackPanel.cpp:6181
 msgid "Label Edit"
 msgstr "Editar faixa de título"
 
@@ -3543,8 +3624,7 @@ msgstr "Editar faixa de t
 msgid "Adjusted envelope."
 msgstr "Envelope ajustado."
 
-#: TrackPanel.cpp:1898
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1898 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Envelope"
 
@@ -3566,9 +3646,7 @@ msgstr "direita"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Faixas deslizadas à %s em %.02f segundos"
 
-#: TrackPanel.cpp:2044
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2044 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Deslizar"
@@ -3578,8 +3656,12 @@ msgid "Draw currently only works with linear-view waveforms."
 msgstr "Desenhar só funciona em formas de onda lineares."
 
 #: TrackPanel.cpp:2754
-msgid "You are not zoomed in enough. Zoom in until you can see the individual samples."
-msgstr "O nível de zoom não é suficiente. Aumente o zoom até visualizar as amostras individualmente."
+msgid ""
+"You are not zoomed in enough. Zoom in until you can see the individual "
+"samples."
+msgstr ""
+"O nível de zoom não é suficiente. Aumente o zoom até visualizar as amostras "
+"individualmente."
 
 #: TrackPanel.cpp:3025
 msgid "Moved Sample"
@@ -3610,39 +3692,29 @@ msgid "Moved pan slider"
 msgstr "Ajuste de balanço alterado"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3269
-#: TrackPanel.cpp:5478
-#: TrackPanel.cpp:6829
+#: TrackPanel.cpp:3269 TrackPanel.cpp:5478 TrackPanel.cpp:6829
 msgid "Gain"
 msgstr "Ganho"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3269
-#: TrackPanel.cpp:5416
-#: TrackPanel.cpp:6836
+#: TrackPanel.cpp:3269 TrackPanel.cpp:5416 TrackPanel.cpp:6836
 msgid "Pan"
 msgstr "Bal"
 
-#: TrackPanel.cpp:3394
-#: TrackPanel.cpp:6113
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3394 TrackPanel.cpp:6113 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "acima"
 
-#: TrackPanel.cpp:3398
-#: TrackPanel.cpp:6114
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3398 TrackPanel.cpp:6114 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "abaixo"
 
-#: TrackPanel.cpp:3405
-#: TrackPanel.cpp:6109
+#: TrackPanel.cpp:3405 TrackPanel.cpp:6109
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Movido '%s' %s"
 
-#: TrackPanel.cpp:3408
-#: TrackPanel.cpp:6115
+#: TrackPanel.cpp:3408 TrackPanel.cpp:6115
 msgid "Move Track"
 msgstr "Mover faixa "
 
@@ -3694,8 +3766,7 @@ msgstr "Esquerdo,"
 msgid "Right, "
 msgstr "Direito"
 
-#: TrackPanel.cpp:5840
-#: TrackPanel.cpp:5953
+#: TrackPanel.cpp:5840 TrackPanel.cpp:5953
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Alterado '%s' para %s"
@@ -3743,8 +3814,7 @@ msgstr "Taxa inv
 msgid "Change lower speed limit (%) to:"
 msgstr "Alterar limite mínimo de velocidade (%) para:"
 
-#: TrackPanel.cpp:6078
-#: TrackPanel.cpp:6079
+#: TrackPanel.cpp:6078 TrackPanel.cpp:6079
 msgid "Lower speed limit"
 msgstr "Limite inferior de velocidade"
 
@@ -3752,8 +3822,7 @@ msgstr "Limite inferior de velocidade"
 msgid "Change upper speed limit (%) to:"
 msgstr "Alterar limite máximo de velocidade (%) para:"
 
-#: TrackPanel.cpp:6085
-#: TrackPanel.cpp:6086
+#: TrackPanel.cpp:6085 TrackPanel.cpp:6086
 msgid "Upper speed limit"
 msgstr "Limite máximo de velocidade"
 
@@ -3829,10 +3898,7 @@ msgid " Select On"
 msgstr " Selecionar Lig."
 
 # voice key? usei timbre.. vai saber o q  é
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "A seleção é muito curta para determinar o timbre da voz."
 
@@ -3859,8 +3925,7 @@ msgstr "Alter. de Dire
 msgid "Audio Track"
 msgstr "Áudio"
 
-#: WaveTrack.cpp:547
-#: WaveTrack.cpp:566
+#: WaveTrack.cpp:547 WaveTrack.cpp:566
 msgid "There is not enough room available to paste the selection"
 msgstr "Não há espaço suficiente para colar a seleção"
 
@@ -3880,7 +3945,9 @@ msgstr "Plugins %i a %i"
 
 #: commands/CommandManager.cpp:720
 msgid "Disallowed for some reason.  Try selecting some Audio first?"
-msgstr "Desabilitado. Experimente selecionar um trecho de áudio antes de executar o comando."
+msgstr ""
+"Desabilitado. Experimente selecionar um trecho de áudio antes de executar o "
+"comando."
 
 #: commands/CommandManager.cpp:724
 msgid ""
@@ -3957,19 +4024,25 @@ msgid "Amplifying"
 msgstr "Amplificando"
 
 #: effects/AutoDuck.cpp:125
-msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
-msgstr "Foi selecionada uma faixa sem áudio. O AutoDuck só pode processar faixas contendo áudio."
+msgid ""
+"You selected a track which does not contain audio. AutoDuck can only process "
+"audio tracks."
+msgstr ""
+"Foi selecionada uma faixa sem áudio. O AutoDuck só pode processar faixas "
+"contendo áudio."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Auto Duck"
 
 #: effects/AutoDuck.cpp:137
-msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
-msgstr "O AutoDuck requer uma faixa de controle logo abaixo da(s) faixa(s) selecionada(s)."
+msgid ""
+"Auto Duck needs a control track which must be placed below the selected track"
+"(s)."
+msgstr ""
+"O AutoDuck requer uma faixa de controle logo abaixo da(s) faixa(s) "
+"selecionada(s)."
 
 #: effects/AutoDuck.cpp:465
 msgid "Auto Duck by Markus Meyer"
@@ -3983,17 +4056,11 @@ msgstr "Quantidade de Duck:"
 msgid "Maximum pause:"
 msgstr "Pausa máxima:"
 
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:197
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:197
 msgid "seconds"
 msgstr "segundos"
 
@@ -4017,8 +4084,7 @@ msgstr "Tamanho da queda do fade inicial:"
 msgid "Inner fade up length:"
 msgstr "Tamanho da subida do fade inicial:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Limiar: "
 
@@ -4038,12 +4104,9 @@ msgstr "Auto Duck..."
 msgid "Processing Auto Duck..."
 msgstr "Processando Auto Duck..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1040
-#: widgets/ErrorDialog.cpp:74
-#: widgets/ErrorDialog.cpp:100
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1040
+#: widgets/ErrorDialog.cpp:74 widgets/ErrorDialog.cpp:100
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "OK"
@@ -4100,14 +4163,12 @@ msgstr "Alterar altura sem altera
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "por Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "usando SoundTouch, por Olli Parviainen"
 
@@ -4115,10 +4176,8 @@ msgstr "usando SoundTouch, por Olli Parviainen"
 msgid "Pitch:   from"
 msgstr "Altura:   de"
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "a "
@@ -4131,8 +4190,7 @@ msgstr "Semitons (meio-passos):"
 msgid "Frequency (Hz):   from"
 msgstr "Freqüência (Hz):   de"
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Percentagem de alteração:"
@@ -4145,8 +4203,7 @@ msgstr "Alterar altura..."
 msgid "Changing Pitch"
 msgstr "Alterando altura "
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Efeito aplicado: %s %.1f%%"
@@ -4301,9 +4358,7 @@ msgstr "por Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "Sequência DTMF:"
 
-#: effects/DtmfGen.cpp:444
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:306
+#: effects/DtmfGen.cpp:444 effects/Noise.cpp:255 effects/ToneGen.cpp:306
 #: effects/ToneGen.cpp:342
 msgid "Amplitude (0-1)"
 msgstr "Amplitude (0-1)"
@@ -4324,9 +4379,7 @@ msgstr "Intervalo entre tons:"
 msgid "Tone duration:"
 msgstr "Duração do tom:"
 
-#: effects/DtmfGen.cpp:478
-#: effects/DtmfGen.cpp:480
-#: effects/DtmfGen.cpp:556
+#: effects/DtmfGen.cpp:478 effects/DtmfGen.cpp:480 effects/DtmfGen.cpp:556
 #: effects/DtmfGen.cpp:557
 msgid "ms"
 msgstr "ms"
@@ -4390,8 +4443,12 @@ msgid "Previewing"
 msgstr "Testando"
 
 #: effects/Effect.cpp:432
-msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
-msgstr "Erro ao acessar o dispositivo de som. Por favor, cheque as configurações do dispositivo e a taxa de amostragem do projeto."
+msgid ""
+"Error while opening sound device. Please check the output device settings "
+"and the project sample rate."
+msgstr ""
+"Erro ao acessar o dispositivo de som. Por favor, cheque as configurações do "
+"dispositivo e a taxa de amostragem do projeto."
 
 #: effects/Effect.h:107
 #, c-format
@@ -4410,8 +4467,7 @@ msgstr "Co-seno"
 msgid "Cubic"
 msgstr "Cúbico"
 
-#: effects/Equalization.cpp:353
-#: effects/Equalization.cpp:404
+#: effects/Equalization.cpp:353 effects/Equalization.cpp:404
 msgid "Equalization"
 msgstr "Equalização"
 
@@ -4461,8 +4517,7 @@ msgstr "Tamanho do filtro:"
 msgid "Select curve:"
 msgstr "Selecionar curva:"
 
-#: effects/Equalization.cpp:1253
-#: effects/Equalization.cpp:2416
+#: effects/Equalization.cpp:1253 effects/Equalization.cpp:2416
 msgid "Save As..."
 msgstr "Salvar como..."
 
@@ -4582,8 +4637,7 @@ msgstr "Nivelador por Lynn Allan"
 msgid "Equalize soft and loud sections"
 msgstr "Equalizar sessões altas e baixas"
 
-#: effects/Leveller.cpp:219
-#: effects/Leveller.cpp:224
+#: effects/Leveller.cpp:219 effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Grau de nivelação"
 
@@ -4652,7 +4706,8 @@ msgstr ""
 
 #: effects/NoiseRemoval.cpp:277
 msgid "Attempt to run Noise Removal without a noise profile.\n"
-msgstr "Tentou-se executar a Remoção de Ruído sem um perfil de ruído definido.\n"
+msgstr ""
+"Tentou-se executar a Remoção de Ruído sem um perfil de ruído definido.\n"
 
 #: effects/NoiseRemoval.cpp:723
 msgid "Noise Removal"
@@ -4667,7 +4722,8 @@ msgid ""
 "Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
 msgstr ""
-"Selecione alguns segundos de áudio contendo apenas os ruídos que devem ser filtrados.\n"
+"Selecione alguns segundos de áudio contendo apenas os ruídos que devem ser "
+"filtrados.\n"
 "Quando estiver pronto, clique em \"Perceber perfil de ruído\":"
 
 #: effects/NoiseRemoval.cpp:814
@@ -4719,17 +4775,17 @@ msgstr "Removendo ru
 #: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
-msgstr "Efeito aplicado: %s, %s remoção de compensação DC, %s normalização de amplitude "
+msgstr ""
+"Efeito aplicado: %s, %s remoção de compensação DC, %s normalização de "
+"amplitude "
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "false"
 msgstr "sem"
 
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "com"
 
@@ -4768,8 +4824,12 @@ msgstr "Normalizando"
 
 #: effects/Phaser.cpp:65
 #, c-format
-msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
-msgstr "Efeito aplicado: %s %d estágios, %.0f%% wet, freqüência = %.1f Hz, fase inicial = %.0f graus, prof. = %d, retorno = %.0f%%"
+msgid ""
+"Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = "
+"%.0f deg, depth = %d, feedback = %.0f%%"
+msgstr ""
+"Efeito aplicado: %s %d estágios, %.0f%% wet, freqüência = %.1f Hz, fase "
+"inicial = %.0f graus, prof. = %d, retorno = %.0f%%"
 
 #: effects/Phaser.cpp:77
 msgid "Phaser"
@@ -4791,13 +4851,11 @@ msgstr "DRY"
 msgid "WET"
 msgstr "WET"
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Freqüência LFO (Hz):"
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "Fase inicial LFO (Graus):"
 
@@ -4819,14 +4877,17 @@ msgstr "Aplicando Phaser"
 
 #: effects/Repair.cpp:99
 msgid ""
-"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+"The Repair effect is intended to be used on very short sections of damaged "
+"audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
 msgstr ""
-"O efeito Reparar foi desenvolvido para ser usado apenas em partes pequenas de áudio danificado \n"
+"O efeito Reparar foi desenvolvido para ser usado apenas em partes pequenas "
+"de áudio danificado \n"
 "(até 128 amostras).\n"
 "\n"
-"Aumente o nível de Zoom e selecione apenas uma pequena fração de segundo para reparar."
+"Aumente o nível de Zoom e selecione apenas uma pequena fração de segundo "
+"para reparar."
 
 #: effects/Repair.h:37
 msgid "Repairing damaged audio"
@@ -4841,8 +4902,7 @@ msgstr "Repetido %d vezes"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Faixas longas demais para repetir a seleção."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Repetir"
 
@@ -4856,8 +4916,7 @@ msgstr "Repeat por Dominic Mazzoni && Vaughan Johnson"
 msgid "Number of times to repeat: "
 msgstr "Número de vezes a repetir:"
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Novo tamanho da seleção:"
 
@@ -4905,8 +4964,12 @@ msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Efeito aplicado: Inserir silêncio, %.6lf segundos"
 
 #: effects/SimplePairedTwoTrack.h:120
-msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Desculpe, este efeito não pode ser executado em faixas estéreo onde os canais tem conteúdos diferentes entre si."
+msgid ""
+"Sorry, this effect cannot be performed on stereo tracks where the individual "
+"channels of the track do not match."
+msgstr ""
+"Desculpe, este efeito não pode ser executado em faixas estéreo onde os "
+"canais tem conteúdos diferentes entre si."
 
 #: effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
@@ -4942,8 +5005,12 @@ msgstr "Aplicando Est
 
 #: effects/ToneGen.cpp:59
 #, c-format
-msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
-msgstr "Efeito aplicado: Gerada %s onda %s, freqüência = %.2f Hz, amplitude = %.2f, %.6lf segundos"
+msgid ""
+"Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, "
+"%.6lf seconds"
+msgstr ""
+"Efeito aplicado: Gerada %s onda %s, freqüência = %.2f Hz, amplitude = %.2f, "
+"%.6lf segundos"
 
 # chirp=trilo. no audacity ficou 'tons programaveis'
 #: effects/ToneGen.cpp:66
@@ -4970,15 +5037,12 @@ msgstr "Dente-de-serra"
 msgid "Square, no alias"
 msgstr "Quadrado, sem graduação"
 
-#: effects/ToneGen.cpp:305
-#: effects/ToneGen.cpp:340
+#: effects/ToneGen.cpp:305 effects/ToneGen.cpp:340
 msgid "Frequency (Hz)"
 msgstr "Frequência (Hz)"
 
-#: effects/ToneGen.cpp:307
-#: effects/ToneGen.cpp:348
-#: toolbars/SelectionBar.cpp:147
-#: toolbars/SelectionBar.cpp:241
+#: effects/ToneGen.cpp:307 effects/ToneGen.cpp:348
+#: toolbars/SelectionBar.cpp:147 toolbars/SelectionBar.cpp:241
 msgid "Length"
 msgstr "Tamanho"
 
@@ -4986,15 +5050,12 @@ msgstr "Tamanho"
 msgid "Waveform:"
 msgstr "Formato:"
 
-#: effects/ToneGen.cpp:338
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:338 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Inícial"
 
-#: effects/ToneGen.cpp:339
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:141
-#: toolbars/SelectionBar.cpp:242
+#: effects/ToneGen.cpp:339 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:141 toolbars/SelectionBar.cpp:242
 msgid "End"
 msgstr "Final"
 
@@ -5020,8 +5081,7 @@ msgstr "Gerando tom"
 msgid "All tracks must have the same sample rate"
 msgstr "Todas as faixas devem ter a mesma taxa de amostragem"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Excluir silêncio"
 
@@ -5033,8 +5093,7 @@ msgstr "por Lynn Allan"
 msgid "Max silence duration:"
 msgstr "Duração máxima do silêncio:"
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "millisegundos"
@@ -5056,8 +5115,12 @@ msgid "Truncating Silence..."
 msgstr "Diminuindo silêncio"
 
 #: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde cada canal tem um conteúdo diferente do outro."
+msgid ""
+"Sorry, VST Effects cannot be performed on stereo tracks where the individual "
+"channels of the track do not match."
+msgstr ""
+"Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde "
+"cada canal tem um conteúdo diferente do outro."
 
 #: effects/VST/VSTEffect.cpp:180
 msgid "Can't process replacing"
@@ -5069,8 +5132,12 @@ msgstr "Par
 
 #: effects/Wahwah.cpp:61
 #, c-format
-msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
-msgstr "Efeito aplicado: %s freqüência = %.1f Hz, fase inicial = %.0f graus, prof. = %.0f%%, ressonância = %.1f, freqüência de compensação = %.0f%%"
+msgid ""
+"Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%"
+"%, resonance = %.1f, frequency offset = %.0f%%"
+msgstr ""
+"Efeito aplicado: %s freqüência = %.1f Hz, fase inicial = %.0f graus, prof. = "
+"%.0f%%, ressonância = %.1f, freqüência de compensação = %.0f%%"
 
 #: effects/Wahwah.cpp:72
 msgid "Wahwah"
@@ -5107,17 +5174,19 @@ msgid "Performing Effect: %s"
 msgstr "Executando efeito: %s"
 
 #: effects/ladspa/LadspaEffect.cpp:189
-msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde cada canal tem um conteúdo diferente do outro."
+msgid ""
+"Sorry, Plug-in Effects cannot be performed on stereo tracks where the "
+"individual channels of the track do not match."
+msgstr ""
+"Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde "
+"cada canal tem um conteúdo diferente do outro."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
 #: prefs/QualityPrefs.cpp:72
 msgid "None"
 msgstr "Nenhum"
 
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Autor: "
 
@@ -5133,8 +5202,7 @@ msgstr "Tamanho (segundos)"
 msgid "Applying Nyquist Effect..."
 msgstr "Aplicando efeito Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Digitar comando Nyquist..."
 
@@ -5143,8 +5211,11 @@ msgid "Enter Nyquist Command: "
 msgstr "Digite comando Nyquist: "
 
 #: effects/nyquist/Nyquist.cpp:412
-msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
-msgstr "Desculpe, os efeitos não podem ser executados em faixas estéreo com conteúdos diferentes em cada canal."
+msgid ""
+"Sorry, cannot apply effect on stereo tracks where the tracks don't match."
+msgstr ""
+"Desculpe, os efeitos não podem ser executados em faixas estéreo com "
+"conteúdos diferentes em cada canal."
 
 #: effects/nyquist/Nyquist.cpp:440
 msgid "Nyquist"
@@ -5154,8 +5225,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Saída do Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:596
-#: effects/nyquist/Nyquist.cpp:607
+#: effects/nyquist/Nyquist.cpp:596 effects/nyquist/Nyquist.cpp:607
 msgid "Nyquist returned the value:"
 msgstr "O Nyquist retornou o seguinte valor:"
 
@@ -5173,8 +5243,12 @@ msgid "Extracting features: %s"
 msgstr "Extraindo pontos: %s"
 
 #: effects/vamp/VampEffect.cpp:106
-msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
-msgstr "O plug-in Vamp não pode ser executado em faixas estéreo com áudio diferente entre os canais."
+msgid ""
+"Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual "
+"channels of the track do not match."
+msgstr ""
+"O plug-in Vamp não pode ser executado em faixas estéreo com áudio diferente "
+"entre os canais."
 
 #: effects/vamp/VampEffect.cpp:120
 msgid "Sorry, failed to load Vamp Plug-in."
@@ -5221,12 +5295,14 @@ msgstr "Deseja salvar arquivo como \""
 msgid ""
 "You are about to save a %s file with the name \"%s\".\n"
 "\n"
-"Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
+"Normally these files end in \".%s\", and some programs will not open files "
+"with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
 msgstr ""
 "O Audacity salvará o arquivo do tipo %s com o nome %s.\n"
-"Normalmente estes arquivos terminam com a extensão %s e alguns programas podem não reconhecer\n"
+"Normalmente estes arquivos terminam com a extensão %s e alguns programas "
+"podem não reconhecer\n"
 "este arquivo como válido.\n"
 "Deseja salvar o arquivo com este nome?"
 
@@ -5236,12 +5312,18 @@ msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "O arquivo de nome \"%s\" já existe. Deseja substituí-lo?"
 
 #: export/Export.cpp:598
-msgid "Your tracks will be mixed down to two stereo channels in the exported file."
-msgstr "Todas as faixas serão convertidas em duas faixas estéreo no arquivo exportado."
+msgid ""
+"Your tracks will be mixed down to two stereo channels in the exported file."
+msgstr ""
+"Todas as faixas serão convertidas em duas faixas estéreo no arquivo "
+"exportado."
 
 #: export/Export.cpp:603
-msgid "Your tracks will be mixed down to a single mono channel in the exported file."
-msgstr "Todas as faixas serão convertidas em um único canal mono no arquivo exportado."
+msgid ""
+"Your tracks will be mixed down to a single mono channel in the exported file."
+msgstr ""
+"Todas as faixas serão convertidas em um único canal mono no arquivo "
+"exportado."
 
 #: export/Export.cpp:613
 msgid "Advanced Mixing Options"
@@ -5260,8 +5342,7 @@ msgstr " - Esquerdo"
 msgid " - Right"
 msgstr " - Direito"
 
-#: export/Export.cpp:961
-#: export/Export.cpp:1006
+#: export/Export.cpp:961 export/Export.cpp:1006
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Canais de saída: %2d"
@@ -5284,15 +5365,18 @@ msgstr "Exibir sa
 
 #: export/ExportCL.cpp:87
 #, c-format
-msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
-msgstr "Dados serão direcionados para a entrada padrão. \"%f\" será substituído pelo nome de arquivo selecionado."
+msgid ""
+"Data will be piped to standard in. \"%f\" will be replaced with output "
+"filename selected."
+msgstr ""
+"Dados serão direcionados para a entrada padrão. \"%f\" será substituído pelo "
+"nome de arquivo selecionado."
 
 #: export/ExportCL.cpp:219
 msgid "(external program)"
 msgstr "(programa externo)"
 
-#: export/ExportCL.cpp:248
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:248 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Não é possível exportar áudio como %s."
@@ -5303,7 +5387,8 @@ msgstr "Exportar"
 
 #: export/ExportCL.cpp:322
 msgid "Exporting the selected audio using command-line encoder"
-msgstr "Exportando o trecho selecionado usando o intepretador de linha de comando"
+msgstr ""
+"Exportando o trecho selecionado usando o intepretador de linha de comando"
 
 #: export/ExportCL.cpp:323
 msgid "Exporting the entire project using command-line encoder"
@@ -5407,15 +5492,14 @@ msgstr "Arquivos MP2"
 
 #: export/ExportMP2.cpp:229
 msgid "Cannot export MP2 with this sample rate and bit rate"
-msgstr "Não é possível exportar o arquivo MP2 com esta taxa de bits e de amostragem"
+msgstr ""
+"Não é possível exportar o arquivo MP2 com esta taxa de bits e de amostragem"
 
 #: export/ExportMP2.cpp:237
 msgid "Edit the ID3 tags for the MP2 file"
 msgstr "Editar metadados para o arquivo MP2"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1713
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:243 export/ExportMP3.cpp:1713 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "Não foi possível abrir o arquivo de destino para gravação."
 
@@ -5430,24 +5514,12 @@ msgid "Exporting entire file at %d kbps"
 msgstr "Exportando todo o arquivo a %d kbps."
 
 #. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142
-#: export/ExportMP3.cpp:143
-#: export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145
-#: export/ExportMP3.cpp:146
-#: export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148
-#: export/ExportMP3.cpp:149
-#: export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151
-#: export/ExportMP3.cpp:152
-#: export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154
-#: export/ExportMP3.cpp:155
-#: export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157
-#: export/ExportMP3.cpp:158
-#: export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
+#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
+#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
+#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
+#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
+#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
 msgid "kbps"
 msgstr "kbps"
 
@@ -5599,16 +5671,28 @@ msgid "Where is %s?"
 msgstr "Onde se localiza o arquivo %s ?"
 
 #: export/ExportMP3.cpp:1038
-msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr "Apenas lame_enc.dll|lame_enc.dll|DLLs do sistema (*.dll)|*.dll|Todos os arquivos (*.*)|*"
+msgid ""
+"Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
+"All Files (*.*)|*"
+msgstr ""
+"Apenas lame_enc.dll|lame_enc.dll|DLLs do sistema (*.dll)|*.dll|Todos os "
+"arquivos (*.*)|*"
 
 #: export/ExportMP3.cpp:1493
-msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr "Apenas libmp3lame.dylib|libmp3lame.dylib|Bibliotecas dinâmicas (*.dylib)|*.dylib|Todos os arquivos (*)|*"
+msgid ""
+"Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|"
+"All Files (*)|*"
+msgstr ""
+"Apenas libmp3lame.dylib|libmp3lame.dylib|Bibliotecas dinâmicas (*.dylib)|*."
+"dylib|Todos os arquivos (*)|*"
 
 #: export/ExportMP3.cpp:1510
-msgid "Only libmp3lame.so|libmp3lame.so|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr "Apenas libmp3lame.so|libmp3lame.so|Arquivos Primary Shared Object (*.so)|*.so|Arquivos Extended Libraries (*.so*)|*.so*|Todos os arquivos (*)|*"
+msgid ""
+"Only libmp3lame.so|libmp3lame.so|Primary Shared Object files (*.so)|*.so|"
+"Extended Libraries (*.so*)|*.so*|All Files (*)|*"
+msgstr ""
+"Apenas libmp3lame.so|libmp3lame.so|Arquivos Primary Shared Object (*.so)|*."
+"so|Arquivos Extended Libraries (*.so*)|*.so*|Todos os arquivos (*)|*"
 
 #: export/ExportMP3.cpp:1592
 msgid "MP3 Files"
@@ -5681,7 +5765,9 @@ msgstr "A taxa de amostragem (%d) n
 msgid ""
 "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr "A taxa de amostragem (%d) e o bit rate (%d kbps) não são suportados pelo formato MP3.  "
+msgstr ""
+"A taxa de amostragem (%d) e o bit rate (%d kbps) não são suportados pelo "
+"formato MP3.  "
 
 #: export/ExportMP3.cpp:1882
 msgid "You may resample to one of the rates below."
@@ -5695,24 +5781,27 @@ msgstr "Taxas de amostragem "
 msgid "MP3 exporting plugin not found"
 msgstr "Biblioteca de exportação em MP3 não encontrada!"
 
-#: export/ExportMultiple.cpp:88
-#: export/ExportMultiple.cpp:362
-#: export/ExportMultiple.cpp:609
-#: export/ExportMultiple.cpp:717
+#: export/ExportMultiple.cpp:88 export/ExportMultiple.cpp:362
+#: export/ExportMultiple.cpp:609 export/ExportMultiple.cpp:717
 msgid "Export Multiple"
 msgstr "Exportar múltiplos"
 
 #: export/ExportMultiple.cpp:152
 msgid ""
-"If you have more than one Audio Track, you can export each track as a separate file,\n"
+"If you have more than one Audio Track, you can export each track as a "
+"separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
-"This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
+"This project does not have multiple tracks or a Label Track, so you cannot "
+"export multiple files."
 msgstr ""
-"Se você tiver várias faixas de áudio, é possível exportá-las em arquivos separados,\n"
-"ou se houverem faixas de título, é possível exportar um novo arquivo para cada título.\n"
+"Se você tiver várias faixas de áudio, é possível exportá-las em arquivos "
+"separados,\n"
+"ou se houverem faixas de título, é possível exportar um novo arquivo para "
+"cada título.\n"
 "\n"
-"Este projeto não pode ser exportado em múltiplos arquivos por conter apenas uma faixa de áudio e nenhuma faixa de título."
+"Este projeto não pode ser exportado em múltiplos arquivos por conter apenas "
+"uma faixa de áudio e nenhuma faixa de título."
 
 #: export/ExportMultiple.cpp:153
 msgid "Can't export multiple files"
@@ -5730,8 +5819,7 @@ msgstr "Op
 msgid "Export location:"
 msgstr "Exportar em:"
 
-#: export/ExportMultiple.cpp:204
-#: prefs/DirectoriesPrefs.cpp:92
+#: export/ExportMultiple.cpp:204 prefs/DirectoriesPrefs.cpp:92
 msgid "Choose..."
 msgstr "Selecionar..."
 
@@ -5807,14 +5895,12 @@ msgstr ""
 "\n"
 "Deseja criá-lo?"
 
-#: export/ExportMultiple.cpp:606
-#: export/ExportMultiple.cpp:714
+#: export/ExportMultiple.cpp:606 export/ExportMultiple.cpp:714
 #, c-format
 msgid "Successfully exported %d file(s)."
 msgstr "%d arquivo(s) exportado(s) com êxito."
 
-#: export/ExportMultiple.cpp:607
-#: export/ExportMultiple.cpp:715
+#: export/ExportMultiple.cpp:607 export/ExportMultiple.cpp:715
 #, c-format
 msgid "Something went wrong after exporting %d file(s)."
 msgstr "Erro ao exportar %d arquivo(s),"
@@ -5869,10 +5955,10 @@ msgstr "Encodifica
 
 #: export/ExportPCM.cpp:190
 msgid "(Not all combinations of headers and encodings are possible.)"
-msgstr "(Nem todas as possibilidades entre tipos e formatos estão disponíveis.)"
+msgstr ""
+"(Nem todas as possibilidades entre tipos e formatos estão disponíveis.)"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, e outros arquivos não-compactados"
 
@@ -5923,12 +6009,16 @@ msgstr ""
 #, c-format
 msgid ""
 "\"%s\" is a playlist file. \n"
-"Audacity cannot open this file because it only contains links to other files. \n"
-"You may be able to open it in a text editor and download the actual audio files."
+"Audacity cannot open this file because it only contains links to other "
+"files. \n"
+"You may be able to open it in a text editor and download the actual audio "
+"files."
 msgstr ""
 "\"%s\" é um arquivo de lista de músicas.\n"
-"O Audacity não pode abrir este arquivo porque existem apenas links para outros arquivos.\n"
-"Você pode editar este arquivo em um editor de textos e localizar manualmente os arquivos de áudio reais."
+"O Audacity não pode abrir este arquivo porque existem apenas links para "
+"outros arquivos.\n"
+"Você pode editar este arquivo em um editor de textos e localizar manualmente "
+"os arquivos de áudio reais."
 
 #: import/Import.cpp:178
 #, c-format
@@ -5958,7 +6048,8 @@ msgstr ""
 #: import/Import.cpp:188
 #, c-format
 msgid ""
-"\"%s\" is an encrypted audio file. These typically are from an online music store. \n"
+"\"%s\" is an encrypted audio file. These typically are from an online music "
+"store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
@@ -6021,9 +6112,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Janela com compensação inválida no arquivo LOF."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "Erro LOF"
@@ -6035,7 +6124,9 @@ msgstr "Dura
 
 #: import/ImportLOF.cpp:414
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
-msgstr "Faixas MIDI não podem ser compensadas individualmente, disponível apenas em arquivos de áudio."
+msgstr ""
+"Faixas MIDI não podem ser compensadas individualmente, disponível apenas em "
+"arquivos de áudio."
 
 #. i18n-hint: You do not need to translate "LOF"
 #: import/ImportLOF.cpp:434
@@ -6146,8 +6237,7 @@ msgstr "Taxa de amostragem:"
 msgid "&Import"
 msgstr "&Importar"
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
 msgid "Audio I/O"
 msgstr "Dispositivos"
 
@@ -6163,8 +6253,7 @@ msgstr "2 (Est
 msgid "Playback"
 msgstr "Reprodução"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
 #: toolbars/DeviceToolBar.cpp:57
 msgid "Device"
 msgstr "Dispositivo"
@@ -6202,7 +6291,9 @@ msgid "&Software Playthrough: Play new track while recording it"
 msgstr "Reprodução simultânea via &software"
 
 #: prefs/AudioIOPrefs.cpp:155
-msgid "&Software Playthrough: Play new track while recording it (uncheck when recording \"stereo mix\")"
+msgid ""
+"&Software Playthrough: Play new track while recording it (uncheck when "
+"recording \"stereo mix\")"
 msgstr "Reprodução simultânea via s&oftware (desabilite ao gravar em estéreo)"
 
 #: prefs/AudioIOPrefs.cpp:162
@@ -6249,13 +6340,11 @@ msgstr "Per
 msgid "Long period:"
 msgstr "Período longo:"
 
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
 msgid "Batch"
 msgstr "Lote"
 
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:70
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:70
 msgid "Behaviors"
 msgstr "Opções"
 
@@ -6271,8 +6360,7 @@ msgstr "&Ao importar, normalizar 
 msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr "Modo Cl&eanSpeech (interface personalizada)"
 
-#: prefs/BatchPrefs.cpp:89
-#: prefs/GUIPrefs.cpp:94
+#: prefs/BatchPrefs.cpp:89 prefs/GUIPrefs.cpp:94
 msgid "Show / Hide"
 msgstr "Exibir / Ocultar"
 
@@ -6280,8 +6368,7 @@ msgstr "Exibir / Ocultar"
 msgid "S&how Metadata Editor prior to export step"
 msgstr "&Exibir Editor de metadados antes de exportar arquivos"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Pastas"
@@ -6341,11 +6428,14 @@ msgid "Directory %s is not writable"
 msgstr "Pasta %s não pode ser gravada"
 
 #: prefs/DirectoriesPrefs.cpp:199
-msgid "Changes to temporary directory will not take effect until Audacity is restarted"
-msgstr "Alterações na pasta temporária só terão efeito na próxima vez que o Audacity for executado."
+msgid ""
+"Changes to temporary directory will not take effect until Audacity is "
+"restarted"
+msgstr ""
+"Alterações na pasta temporária só terão efeito na próxima vez que o Audacity "
+"for executado."
 
-#: prefs/FileFormatPrefs.cpp:47
-#: prefs/FileFormatPrefs.cpp:48
+#: prefs/FileFormatPrefs.cpp:47 prefs/FileFormatPrefs.cpp:48
 msgid "Audio Files"
 msgstr "Arquivos de áudio"
 
@@ -6405,8 +6495,7 @@ msgstr "Localizar &Biblioteca"
 msgid "&Download Free Copy of LAME"
 msgstr "Copiar &LAME gratuitamente"
 
-#: prefs/GUIPrefs.cpp:33
-#: prefs/GUIPrefs.cpp:34
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
 msgid "Interface"
 msgstr "Interface"
 
@@ -6499,8 +6588,7 @@ msgstr "-120 dB (limite m
 msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr "-145 dB (extensão PCM para amostras de 24 bit)"
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Teclado"
 
@@ -6514,10 +6602,11 @@ msgstr "A&justar"
 
 #: prefs/KeyConfigPrefs.cpp:120
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
-msgstr "Nota: Pressionar Cmd+Q fecha a janela. Todas as outras combinações são válidas."
+msgstr ""
+"Nota: Pressionar Cmd+Q fecha a janela. Todas as outras combinações são "
+"válidas."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&Padrões"
 
@@ -6556,13 +6645,11 @@ msgstr ""
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
 msgid "Undo"
 msgstr "Desfazer"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Mouse"
 
@@ -6583,37 +6670,26 @@ msgstr "A
 msgid "Buttons"
 msgstr "Botões"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Clicar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Selecionar"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Ajuste do início da seleção"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Arrastar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Ajuste da extensão da seleção"
 
@@ -6641,12 +6717,8 @@ msgstr "Ctrl + Clicar com bot
 msgid "Set Selection Point and Play"
 msgstr "Ajustar ponto de seleção ou reprodução"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Zoom"
 
@@ -6654,9 +6726,7 @@ msgstr "Zoom"
 msgid "Zoom in on Point"
 msgstr "Aumentar zoom no ponto"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Aumentar zoom na extensão"
 
@@ -6664,18 +6734,15 @@ msgstr "Aumentar zoom na extens
 msgid "same as right-drag"
 msgstr "O mesmo que arrastar com o botão direito"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Clicar com o botão direito"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Diminuir zoom um ponto"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Arrastar com o botão direito"
 
@@ -6711,8 +6778,7 @@ msgstr "Shift + Arrastar com bot
 msgid "Time shift all clips in track"
 msgstr "Deslizar todos os clipes da faixa"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl + Arrastar com o botão esquerdo"
 
@@ -6728,9 +6794,7 @@ msgstr "Alterar envelope da amplifica
 msgid "Change Sample"
 msgstr "Alterar amostra"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Lápis"
@@ -6751,26 +6815,20 @@ msgstr "Alterar m
 msgid "Change ONE Sample only"
 msgstr "Alterar UMA amostra apenas"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "Similar à ferramenta de seleção"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "Similar à ferramenta de zoom"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Qualquer"
 
@@ -6802,8 +6860,7 @@ msgstr "Mais ou menos zoom"
 msgid "Audacity Preferences"
 msgstr "Preferências do Audacity"
 
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Qualidade"
 
@@ -6869,13 +6926,11 @@ msgid "High-quality:"
 msgstr "De alta-qualidade:"
 
 # smart rec = grav programada! (igual aos VCR)
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
+#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
 msgid "Smart Recording"
 msgstr "Gravação programada"
 
-#: prefs/SmartRecordPrefs.cpp:81
-#: prefs/SmartRecordPrefs.cpp:83
+#: prefs/SmartRecordPrefs.cpp:81 prefs/SmartRecordPrefs.cpp:83
 msgid "Pause Recording on Silence"
 msgstr "Pausar gravação ao detectar silêncio"
 
@@ -6883,8 +6938,7 @@ msgstr "Pausar grava
 msgid "Silence level (dB):"
 msgstr "Nível de silêncio (dB):"
 
-#: prefs/SpectrumPrefs.cpp:36
-#: prefs/SpectrumPrefs.cpp:37
+#: prefs/SpectrumPrefs.cpp:36 prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "Espectrograma"
 
@@ -6940,8 +6994,7 @@ msgstr "A freq
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "A freqüência mínima deve ser no mínimo 0 Hz"
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
@@ -7047,10 +7100,6 @@ msgstr ""
 msgid "Control"
 msgstr "Controle"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Pausar"
-
 #: toolbars/ControlToolBar.cpp:177
 msgid "Play"
 msgstr "Reproduzir"
@@ -7059,42 +7108,31 @@ msgstr "Reproduzir"
 msgid "Play (Shift for loop-play)"
 msgstr "Executar (Shift para reprodução contínua)"
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Parar"
-
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Ir para o início"
-
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Ir para o final"
-
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:839
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:839
 msgid "Error while opening sound device. "
 msgstr "Erro ao abrir o dispositivo de áudio."
 
 #: toolbars/ControlToolBar.cpp:696
-msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
-msgstr "Não é possível gravar no modo CleanSpeech com mais de uma faixa ou projeto abertos."
+msgid ""
+"Recording in CleanSpeech mode is not possible when a track, or more than one "
+"project, is already open."
+msgstr ""
+"Não é possível gravar no modo CleanSpeech com mais de uma faixa ou projeto "
+"abertos."
 
 #: toolbars/ControlToolBar.cpp:697
 msgid "Recording not permitted"
 msgstr "Gravação não permitida"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Dispositivo de Saída"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Dispositivo de Entrada"
 
@@ -7192,13 +7230,11 @@ msgstr "Fonte de entrada"
 msgid "Selection"
 msgstr "Seleção"
 
-#: toolbars/SelectionBar.cpp:120
-#: toolbars/SelectionBar.cpp:177
+#: toolbars/SelectionBar.cpp:120 toolbars/SelectionBar.cpp:177
 msgid "Project Rate (Hz):"
 msgstr "Taxa do Projeto (Hz):"
 
-#: toolbars/SelectionBar.cpp:134
-#: toolbars/SelectionBar.cpp:235
+#: toolbars/SelectionBar.cpp:134 toolbars/SelectionBar.cpp:235
 msgid "Selection Start:"
 msgstr "Inicio da Seleção:"
 
@@ -7206,13 +7242,11 @@ msgstr "Inicio da Sele
 msgid "hidden"
 msgstr "oculto"
 
-#: toolbars/SelectionBar.cpp:167
-#: toolbars/SelectionBar.cpp:252
+#: toolbars/SelectionBar.cpp:167 toolbars/SelectionBar.cpp:252
 msgid "Audio Position:"
 msgstr "Posição do áudio:"
 
-#: toolbars/SelectionBar.cpp:217
-#: toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:217 toolbars/SelectionBar.cpp:222
 msgid "Snap To"
 msgstr "Adiantar para"
 
@@ -7234,8 +7268,7 @@ msgstr "Final da sele
 msgid "Audacity %s ToolBar"
 msgstr "Barra de %s do Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Barra de ferramentas"
 
@@ -7271,30 +7304,6 @@ msgstr "Clique e arraste para mover uma faixa no tempo"
 msgid "Tools"
 msgstr "Ferramentas"
 
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Ferramenta de seleção"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Ferramenta Envelope"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Ferramenta Deslizar"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Ferramenta de Zoom"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Ferramenta de desenho"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Modo multi-ferramenta"
@@ -7303,10 +7312,6 @@ msgstr "Modo multi-ferramenta"
 msgid "Slide Tool"
 msgstr "Ferramenta deslizar"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multi ferrramenta"
-
 #: toolbars/TranscriptionToolBar.cpp:84
 msgid "Transcription"
 msgstr "Transcrição"
@@ -7319,8 +7324,7 @@ msgstr "Executar na "
 msgid "Play-at-speed"
 msgstr "Executar-em-velocidade"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-#: toolbars/TranscriptionToolBar.cpp:177
+#: toolbars/TranscriptionToolBar.cpp:172 toolbars/TranscriptionToolBar.cpp:177
 msgid "Playback Speed"
 msgstr "Velocidade de reprodução"
 
@@ -7446,15 +7450,13 @@ msgstr "Bot
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:211
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:211
 msgid "L"
 msgstr "E"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:213
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:213
 msgid "R"
 msgstr "D"
 
@@ -7470,8 +7472,7 @@ msgstr "Esquerdo"
 msgid "Right"
 msgstr "Direito"
 
-#: widgets/ErrorDialog.cpp:73
-#: widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
 msgid "Help"
 msgstr "Ajuda"
 
@@ -7488,8 +7489,7 @@ msgstr "Grabber"
 msgid "%d rows, %d columns"
 msgstr "%d linhas, %d colunas"
 
-#: widgets/Grid.cpp:641
-#: widgets/Grid.cpp:768
+#: widgets/Grid.cpp:641 widgets/Grid.cpp:768
 #, c-format
 msgid "Row %d"
 msgstr "Linha %d"
@@ -7554,8 +7554,7 @@ msgstr "Prefer
 msgid " Please select an action "
 msgstr "Por favor, selecione uma ação"
 
-#: widgets/Ruler.cpp:1138
-#: widgets/Ruler.cpp:1139
+#: widgets/Ruler.cpp:1138 widgets/Ruler.cpp:1139
 msgid "Vertical Ruler"
 msgstr "Régua Vertical"
 
@@ -7680,7 +7679,8 @@ msgstr "01000,01000 quadros|75"
 
 #: widgets/TimeTextCtrl.cpp:366
 msgid "Use right mouse button or context key to change format"
-msgstr "Use o botão direito do mouse ou a tecla de contexto para alterar o formato"
+msgstr ""
+"Use o botão direito do mouse ou a tecla de contexto para alterar o formato"
 
 #: widgets/TimeTextCtrl.cpp:1380
 msgid "Time Control"
@@ -7704,4 +7704,3 @@ msgstr "Erro %s na linha %d"
 #, c-format
 msgid "Could not load file: \"%s\""
 msgstr "Não foi possível carregar o arquivo: \"%s\""
-
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index c90babf..46b14a2 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -3,10 +3,11 @@
 # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
 #
 msgid ""
-msgstr "Project-Id-Version: Audacity 1.3\n"
+msgstr ""
+"Project-Id-Version: Audacity 1.3\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-04-28 22:24+0100\n"
-"PO-Revision-Date: 2008-05-03 01:48-0300\n"
+"POT-Creation-Date: 2009-06-30 22:14+0100\n"
+"PO-Revision-Date: 2009-07-08 22:11-0300\n"
 "Last-Translator: Cleber Tavano <clebertavano at gmail.com>\n"
 "Language-Team: Cleber Tavano <clebertavano at gmail.com>\n"
 "MIME-Version: 1.0\n"
@@ -16,27 +17,25 @@ msgstr "Project-Id-Version: Audacity 1.3\n"
 "X-Poedit-Country: BRAZIL\n"
 "X-Poedit-SourceCharset: iso-8859-1\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
-msgid "&About Audacity..."
-msgstr "&Sobre..."
+#: AboutDialog.cpp:143
+msgid "About Audacity..."
+msgstr "Sobre o Audacity..."
 
-#: AboutDialog.cpp:156
+#: AboutDialog.cpp:157
 msgid "OK... Audacious!"
-msgstr "OK... Audacioso!!"
+msgstr "OK... Audacioso!"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "O Audacity é um programa livre escrito por um time de <a href=\"http://audacity.sourceforge.net/community/developers\">desenvolvedores</a> voluntários de todo o mundo. Nós somos gratos a <a href=\"http://sourceforge.net\">SourceForge.net</a> pela hospedagem do nosso projeto. O Audacity está disponível para Windows 98 e posteriores, Mac OS X, Linux e outros sistemas operacionais baseados em Unix. Versões anteriores do Audacity estão disponíveis para Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Esta é uma versão beta do programa, para testes. Podem haver problemas ou recursos não implementados. Dependemos de sua ajuda para tornar este programa cada vez melhor: envie os erros encontrados e quais recursos gostaria de ver nas próximas versões para <b>feedback at audacityteam.org</b>. Visite nosso site e reporte qualquer problema que possa ter em nosso <a href=\"http://audacityteam.org/forum/\">Fórum</a>."
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Esta é uma versão estável e completa do Audacity. No entanto, se você encontrar alguma falha ou se tiver uma sugestão, por favor entre em contato pelo <b>feedback at audacityteam.org</b>. Este projeto depende do retorno dos usuários para melhorar cada vez mais. Visite nosso site e nosso <a href=\"http://audacityteam.org/forum/\">Fórum</a>."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -47,11 +46,11 @@ msgstr ""
 #: AboutDialog.cpp:192
 #: AboutDialog.cpp:194
 msgid "translator_credits"
-msgstr "Tradução ao português brasileiro (pt_BR) por Cleber Tavano"
+msgstr "Tradução ao português brasileiro (pt_BR) por Cleber Tavano, com contribuições e revisões de Victor Westmann"
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "O Editor de Áudio Digital Livre<br>"
 
 #: AboutDialog.cpp:211
 msgid "Credits"
@@ -69,11 +68,11 @@ msgstr "Time de suporte do Audacity %s"
 
 #: AboutDialog.cpp:225
 msgid "Emeritus Developers"
-msgstr "Desenvolvedores eméritos"
+msgstr "Desenvolvedores Eméritos"
 
 #: AboutDialog.cpp:230
 msgid "Other Emeritus Team Members"
-msgstr "Outros membros eméritos"
+msgstr "Outros Membros Eméritos"
 
 #: AboutDialog.cpp:235
 msgid "Other Contributors"
@@ -88,78 +87,77 @@ msgid "Special thanks:"
 msgstr "Agradecimentos + q Especiais:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "O programa <b>Audacity&reg;</b> tem direitos reservados para &copy; 1999-2009 Audacity Team. <br>O nome <b>Audacity&reg;</b> é marca registrada por Dominic Mazzoni."
 
-#: AboutDialog.cpp:254
+#: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
+#: AboutDialog.cpp:304
+#: AboutDialog.cpp:317
 #: AboutDialog.cpp:468
 msgid "Build Information"
-msgstr "Informação do build"
+msgstr "Informação da compilação"
 
-#: AboutDialog.cpp:305
+#: AboutDialog.cpp:310
 #: effects/AvcCompressor.cpp:674
 msgid "Enabled"
-msgstr "Ligado"
+msgstr "Habilitado"
 
-#: AboutDialog.cpp:306
+#: AboutDialog.cpp:311
 msgid "Disabled"
 msgstr "Desabilitado"
 
-#: AboutDialog.cpp:316
+#: AboutDialog.cpp:321
 msgid "File Format Support"
 msgstr "Suporte a arquivos nos formatos"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:331
+#: AboutDialog.cpp:333
 msgid "MP3 Importing"
 msgstr "Importação de MP3"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:340
+#: AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
 msgstr "Importação e exportação em Ogg Vorbis"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:347
+#: AboutDialog.cpp:350
 msgid "ID3 tag support"
 msgstr "Suporte a tags ID3"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:357
+#: AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr "Importação e exportação em FLAC"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:365
+#: AboutDialog.cpp:368
 msgid "MP2 export"
-msgstr "Importação e exportação em MP2"
+msgstr "Exportação em MP2"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:373
+#: AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr "Importar via QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
-#: AboutDialog.cpp:378
+#: AboutDialog.cpp:383
 msgid "Core Libraries"
 msgstr "Bibliotecas de núcleo"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:389
 #: AboutDialog.cpp:392
+#: AboutDialog.cpp:395
+#: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr "Conversão de taxa de amostragem"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Execução de áudio e gravação"
 
@@ -195,15 +193,15 @@ msgstr "Data de compilação:"
 #: AboutDialog.cpp:475
 #: AboutDialog.cpp:477
 msgid "Build type:"
-msgstr "Tipo de build:"
+msgstr "Tipo de compilação:"
 
 #: AboutDialog.cpp:475
 msgid "Debug build"
-msgstr "Build para debug"
+msgstr "Compilação para debug"
 
 #: AboutDialog.cpp:477
 msgid "Release build"
-msgstr "Build da versão"
+msgstr "Compilação da versão"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:482
@@ -218,127 +216,153 @@ msgstr "Pasta de configurações"
 msgid "GPL License"
 msgstr "Licença GPL"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:677
+#: Project.cpp:2031
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s já está aberto em outra janela."
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
-#: Project.cpp:2114
+#: AudacityApp.cpp:679
+#: Project.cpp:2033
+#: Project.cpp:2153
+#: Project.cpp:2301
+#: Project.cpp:2433
 msgid "Error opening project"
 msgstr "Erro abrindo projeto"
 
-#: AudacityApp.cpp:502
+#: AudacityApp.cpp:705
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s não existe e não pôde ser aberto. \n"
+msgstr ""
+"%s não existe e não pôde ser aberto.\n"
 "\n"
 "Esta entrada foi removida do histórico."
 
-#: AudacityApp.cpp:581
+#: AudacityApp.cpp:812
 msgid "Master Gain Control"
 msgstr "Controle de volume principal"
 
-#: AudacityApp.cpp:582
+#: AudacityApp.cpp:813
 msgid "Input Meter"
 msgstr "Medidor de entrada"
 
-#: AudacityApp.cpp:583
+#: AudacityApp.cpp:814
 msgid "Output Meter"
 msgstr "Medidor de saída"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Preferências...\tCtrl+,"
+#: AudacityApp.cpp:973
+#: Menus.cpp:199
+msgid "&New"
+msgstr "&Novo"
+
+#: AudacityApp.cpp:974
+#: Menus.cpp:203
+msgid "&Open..."
+msgstr "&Abrir..."
+
+#: AudacityApp.cpp:975
+msgid "Open &Recent..."
+msgstr "Abrir &recente..."
+
+#: AudacityApp.cpp:976
+#: Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&Sobre Audacity..."
+
+#: AudacityApp.cpp:977
+msgid "&Preferences..."
+msgstr "&Preferências..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:1068
+#: AudacityApp.cpp:1145
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Usando blocos de %ld de tamanho\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:1090
+#: AudacityApp.cpp:1160
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Comando não-reconhecido: %s\n"
 
-#: AudacityApp.cpp:1044
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1314
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity não conseguiu encontrar uma pasta para guardar os arquivos temporários. \n"
+msgstr ""
+"Audacity não conseguiu encontrar uma pasta para guardar os arquivos temporários. \n"
 "Por favor, digite um nome de pasta apropriado na caixa de diálogos \"Preferências\"."
 
-#: AudacityApp.cpp:1050
+#: AudacityApp.cpp:1320
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
 msgstr "Audacity irá se encerrar agora. Abra o programa novamente para utilizar a nova pasta temporária."
 
-#: AudacityApp.cpp:1082
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1352
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr "Executar duas cópias do Audacity simultaneamente \n"
+msgstr ""
+"Executar duas cópias do Audacity simultaneamente \n"
 "pode causar perda de dados e tornar o sistema instável.\n"
 "\n"
 
-#: AudacityApp.cpp:1089
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1359
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr "Não foi possível estabelecer o vínculo exclusivo \n"
+msgstr ""
+"Não foi possível estabelecer o vínculo exclusivo \n"
 "com os arquivos temporários.\n"
 "A pasta pode estar em uso por outra cópia \n"
 "do Audacity em execução.\n"
 
-#: AudacityApp.cpp:1091
+#: AudacityApp.cpp:1361
 msgid "Do you still want to start Audacity?"
 msgstr "Tem certeza de que deseja iniciar o Audacity?"
 
-#: AudacityApp.cpp:1093
+#: AudacityApp.cpp:1363
 msgid "Error locking temporary folder"
 msgstr "Erro ajustando pasta de arquivos temporários como acesso exclusivo"
 
-#: AudacityApp.cpp:1131
+#: AudacityApp.cpp:1401
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "O sistema detectou que outra cópia do Audacity está sendo executada.\n"
 
-#: AudacityApp.cpp:1133
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1403
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Use o comando Novo ou Abrir na janela existente do Audacity\n"
+msgstr ""
+"Use o comando Novo ou Abrir na janela existente do Audacity\n"
 "para abrir outros arquivos de projeto simultaneamente.\n"
 
-#: AudacityApp.cpp:1134
+#: AudacityApp.cpp:1404
 msgid "Audacity is already running"
 msgstr "O Audacity já está aberto"
 
-#: AudacityApp.cpp:1151
+#: AudacityApp.cpp:1421
 msgid "Command-line options supported:"
 msgstr "Opções de linha de comando disponíveis:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1154
+#: AudacityApp.cpp:1424
 msgid "\t-help (this message)"
 msgstr "\t-help (exibe esta mensagem)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1156
+#: AudacityApp.cpp:1426
 msgid "\t-version (display Audacity version)"
 msgstr "\t-version (exibe a versão instalada do Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1160
+#: AudacityApp.cpp:1430
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (executa os testes de diagnóstico)"
 
@@ -346,67 +370,92 @@ msgstr "\t-test (executa os testes de diagnóstico)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1165
+#: AudacityApp.cpp:1435
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn (ajusta o tamanho máximo das unidades de alocação do disco rígido)"
 
-#: AudacityApp.cpp:1166
+#: AudacityApp.cpp:1436
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
 msgstr "Especifique o nome do arquivo ou projeto que deverá ser aberto pelo Audacity"
 
-#: AudacityApp.cpp:1443
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1747
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Os arquivos de projeto do Audacity (.AUP) \n"
+msgstr ""
+"Os arquivos de projeto do Audacity (.AUP) \n"
 "não estão associados ao programa. \n"
 "\n"
 "Deseja associá-los ao Audacity, permitindo que\n"
 "sejam abertos com um clique-duplo?"
 
-#: AudacityApp.cpp:1444
+#: AudacityApp.cpp:1748
 msgid "Audacity Project Files"
 msgstr "Arquivos de Projeto do Audacity"
 
-#: AudioIO.cpp:241
+#: AudioIO.cpp:261
 msgid "Could not find any audio devices.\n"
 msgstr "Não foi possível localizar um dispositivo de áudio.\n"
 
-#: AudioIO.cpp:242
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:262
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Não será possível ler ou gravar áudio\n"
+msgstr ""
+"Não será possível ler ou gravar áudio\n"
 "\n"
 
-#: AudioIO.cpp:245
+#: AudioIO.cpp:265
+#: AudioIO.cpp:285
 msgid "Error: "
 msgstr "Erro:"
 
-#: AudioIO.cpp:248
+#: AudioIO.cpp:268
 msgid "Error Initializing Audio"
 msgstr "Erro inicializando áudio"
 
-#: AudioIO.cpp:1208
-msgid "Latency problem"
-msgstr "Problemas de latência"
+#: AudioIO.cpp:281
+msgid "There was an error initializing the midi i/o layer.\n"
+msgstr "Houve um erro ao inicializar a E/S de Midi.\n"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:282
+msgid ""
+"You will not be able to play midi.\n"
+"\n"
+msgstr ""
+"Não será possível reproduzir Midi\n"
+"\n"
+
+#: AudioIO.cpp:288
+msgid "Error Initializing Midi"
+msgstr "Erro inicializando Midi"
+
+#: AudioIO.cpp:1300
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "A latência atual fez com que o áudio fosse colocado antes da posição zero inicial.\n"
+msgstr ""
+"A latência atual fez com que o áudio fosse colocado antes da posição zero inicial.\n"
 "O Audacity ajustou o áudio de volta à posição zero inicial.\n"
 "Pode ser necessário usar a ferramenta Deslizar para arrastar a faixa de áudio para o local adequado."
 
+#: AudioIO.cpp:1301
+msgid "Latency problem"
+msgstr "Problemas de latência"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Recuperação automática de falhas"
 
 #: AutoRecovery.cpp:73
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr "Alguns arquivos de projeto não foram salvos corretamente desde a última execução do Audacity.\n"
+msgstr ""
+"Alguns arquivos de projeto não foram salvos corretamente desde a última execução do Audacity.\n"
 "Os seguintes arquivos puderam ser recuperados automaticamente:"
 
 #: AutoRecovery.cpp:75
@@ -414,7 +463,6 @@ msgid "Recoverable projects"
 msgstr "Projetos recuperáveis"
 
 #: AutoRecovery.cpp:78
-#: Tags.cpp:2032
 msgid "Name"
 msgstr "Nome"
 
@@ -435,9 +483,11 @@ msgid "Recover Projects"
 msgstr "Recuperar Projetos"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr "Tem certeza que não deseja recuperar nenhum dos projetos?\n"
+msgstr ""
+"Tem certeza que não deseja recuperar nenhum dos projetos?\n"
 "Não será possível recuperá-los mais tarde."
 
 #: AutoRecovery.cpp:128
@@ -451,92 +501,98 @@ msgstr "Não foi possível enumerar os arquivos na pasta de auto-recuperação"
 
 #: AutoRecovery.cpp:147
 #: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
-#: toolbars/ControlToolBar.cpp:846
+#: Menus.cpp:3278
+#: Menus.cpp:3290
+#: Menus.cpp:5359
+#: Project.cpp:2260
+#: Project.cpp:3882
+#: Project.cpp:3968
+#: TrackPanel.cpp:6505
+#: WaveTrack.cpp:977
+#: WaveTrack.cpp:996
+#: WaveTrack.cpp:2022
+#: effects/Contrast.cpp:144
+#: effects/Contrast.cpp:154
+#: effects/Effect.cpp:546
+#: export/ExportFFmpeg.cpp:655
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195
+#: prefs/KeyConfigPrefs.cpp:372
+#: toolbars/ControlToolBar.cpp:581
+#: toolbars/ControlToolBar.cpp:916
 msgid "Error"
 msgstr "Erro"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
-#: BatchCommandDialog.cpp:61
+#: BatchCommandDialog.cpp:57
+#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "Selecione Comando"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:142
+#: BatchCommandDialog.cpp:82
 msgid "&Command"
 msgstr "&Comando"
 
-#: BatchCommandDialog.cpp:82
+#: BatchCommandDialog.cpp:84
 msgid "&Edit Parameters"
 msgstr "&Editar Parâmetros"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:91
 msgid "&Parameters"
 msgstr "&Parâmetros"
 
-#: BatchCommandDialog.cpp:94
+#: BatchCommandDialog.cpp:96
 msgid "C&hoose command"
 msgstr "Escol&ha comando"
 
-#: BatchCommands.cpp:477
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr "Efeito Estéreo para Mono não encontrado"
 
-#: BatchCommands.cpp:497
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "Suporte a Ogg Vorbis não é parte desta versão do Audacity"
 
-#: BatchCommands.cpp:509
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr "Suporte a FLAC não é parte desta versão do Audacity"
 
-#: BatchCommands.cpp:513
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "Comando %s ainda não implementado"
 
-#: BatchCommands.cpp:529
+#: BatchCommands.cpp:507
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
-msgstr "Não foi possível ajustar os parâmetros do efeito %s\n"
+msgstr ""
+"Não foi possível ajustar os parâmetros do efeito %s\n"
 " para %s."
 
-#: BatchCommands.cpp:583
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "Seu arquivo de lote de %s não foi reconhecido."
 
-#: BatchCommands.cpp:674
+#: BatchCommands.cpp:651
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr "Aplicar %s com os parâmetro(s)\n"
+msgstr ""
+"Aplicar %s com os parâmetro(s)\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:652
+#: BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Modo de teste"
 
-#: BatchCommands.cpp:679
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "Aplicar %s"
@@ -549,7 +605,7 @@ msgstr "Aplicar arquivo de lote"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "Processamento em lote do ClearSpeec&h..."
 
 #: BatchProcessDialog.cpp:94
 msgid "&Select chain"
@@ -568,23 +624,17 @@ msgid "Apply to &Files..."
 msgstr "Aplicar aos ar&quivos..."
 
 #: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
+#: BatchProcessDialog.cpp:245
 #: UploadDialog.cpp:180
 #: effects/AvcCompressor.cpp:732
 #: effects/ChangeLength.cpp:183
 #: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
 msgstr "&Cancelar"
 
 #: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:189
 msgid "No chain selected"
 msgstr "Nenhum arquivo de lote selecionado"
 
@@ -593,122 +643,127 @@ msgstr "Nenhum arquivo de lote selecionado"
 msgid "Applying '%s' to current project"
 msgstr "Aplicando '%s' no projeto atual"
 
-#: BatchProcessDialog.cpp:200
+#: BatchProcessDialog.cpp:198
 msgid "Please save and close the current project first."
 msgstr "Por favor, salve e encerre o projeto atual primeiro."
 
-#: BatchProcessDialog.cpp:206
+#: BatchProcessDialog.cpp:204
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Selecione os arquivos para processamento em lote do ClearSpeech..."
 
-#: BatchProcessDialog.cpp:207
+#: BatchProcessDialog.cpp:205
 msgid "Select file(s) for batch processing..."
 msgstr "Selecione os arquivos para processamento em lote..."
 
-#: BatchProcessDialog.cpp:209
+#: BatchProcessDialog.cpp:207
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "Arquivos de Vocais (*.wav;*.mp3)|*.wav;*.mp3|Arquivs WAV (*.wav)|*.wav|Arquivos MP3 (*.mp3)|*.mp3"
 
-#: BatchProcessDialog.cpp:210
+#: BatchProcessDialog.cpp:208
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
 msgstr "Todos os arquivos (*.*)|*.*|Arquivos WAV (*.wav)|*.wav|Arquivos AIFF (*.aif)|*.aif|Arquivos AU (*.au)|*.au|Arquivos MP3 (*.mp3)|*.mp3|Arquivos Ogg Vorbis (*.ogg)|*.ogg|Arquivos FLAC (*.flac)|*.flac"
 
-#: BatchProcessDialog.cpp:231
+#: BatchProcessDialog.cpp:229
 msgid "Applying..."
 msgstr "Aplicando..."
 
-#: BatchProcessDialog.cpp:241
+#: BatchProcessDialog.cpp:239
 msgid "File"
 msgstr "Arquivo"
 
+#: BatchProcessDialog.cpp:352
 #: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
-#: BatchProcessDialog.cpp:361
+#: BatchProcessDialog.cpp:357
 msgid "Edit Chains"
 msgstr "Editar arquivos de lote"
 
-#: BatchProcessDialog.cpp:416
+#: BatchProcessDialog.cpp:412
 msgid "&Chains"
 msgstr "Arquivos de &lote"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:431
+#: Tags.cpp:825
 msgid "&Add"
 msgstr "&Adicionar"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:432
+#: LabelDialog.cpp:128
+#: Tags.cpp:826
 msgid "&Remove"
 msgstr "&Remover"
 
-#: BatchProcessDialog.cpp:437
+#: BatchProcessDialog.cpp:433
 msgid "Re&name"
 msgstr "Re&nomear"
 
 # chain - arquivos de lote
-#: BatchProcessDialog.cpp:443
+#: BatchProcessDialog.cpp:439
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "Arquivos de &lote (Clique duplo ou pressione Espaço para editar)"
 
-# abreviação de numero!!
 #. i18n-hint: This is the number of the command in the list
-#: BatchProcessDialog.cpp:453
-msgid "No"
+#: BatchProcessDialog.cpp:449
+msgid "Num"
 msgstr "Num"
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:450
+#: commands/CommandManager.cpp:108
+#: prefs/KeyConfigPrefs.cpp:180
+msgid "Command"
+msgstr "Comando"
+
+#: BatchProcessDialog.cpp:451
+#: effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr "Parâmetros"
+
+#: BatchProcessDialog.cpp:455
 msgid "&Insert"
 msgstr "&Inserir"
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:456
 msgid "De&lete"
 msgstr "Apa&gar"
 
-#: BatchProcessDialog.cpp:461
+#: BatchProcessDialog.cpp:457
 msgid "Move &Up"
 msgstr "Mover &acima"
 
-#: BatchProcessDialog.cpp:462
+#: BatchProcessDialog.cpp:458
 msgid "Move &Down"
 msgstr "Mover abai&xo"
 
-#: BatchProcessDialog.cpp:463
+#: BatchProcessDialog.cpp:459
 msgid "De&faults"
 msgstr "Pa&drões"
 
-#: BatchProcessDialog.cpp:507
+#: BatchProcessDialog.cpp:503
 msgid "- END -"
 msgstr "- FIM - "
 
-#: BatchProcessDialog.cpp:540
+#: BatchProcessDialog.cpp:536
 #, c-format
 msgid "%s changed"
 msgstr "%s alterado"
 
-#: BatchProcessDialog.cpp:541
+#: BatchProcessDialog.cpp:537
 msgid "Do you want to save the changes?"
 msgstr "Deseja salvar alterações?"
 
-#: BatchProcessDialog.cpp:623
+#: BatchProcessDialog.cpp:619
 msgid "Enter name of new chain"
 msgstr "Digite o nome do novo arquivo de lote"
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:630
 msgid "Name must not be blank"
 msgstr "O nome não pode ficar em branco"
 
-#: BatchProcessDialog.cpp:643
+#: BatchProcessDialog.cpp:639
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
 msgstr "Os nomes não podem conter '%c' e '%c'"
 
-#: BatchProcessDialog.cpp:673
+#: BatchProcessDialog.cpp:669
 #, c-format
 msgid "Are you sure you want to delete %s?"
 msgstr "Tem certeza de que deseja excluir %s?"
@@ -721,106 +776,112 @@ msgstr "Removendo dependências"
 msgid "Copying audio data into project..."
 msgstr "Copiando dados de áudio para o arquivo de projeto..."
 
-#: Dependencies.cpp:219
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr "Seu projeto depende de áudio de arquivos externos.\n"
+msgstr ""
+"Seu projeto depende de áudio de arquivos externos.\n"
 "Deseja copiar o áudio dos seguintes arquivos para esta pasta de projeto para torná-lo auto suficiente?\n"
 "Esta ação requer mais espaço em disco, mas garante a integridade do projeto."
 
-#: Dependencies.cpp:266
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "Dependência de arquivos externos"
 
-#: Dependencies.cpp:287
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Dependências de projeto"
 
-#: Dependencies.cpp:290
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "Arquivo de áudio"
 
-#: Dependencies.cpp:292
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Espaço em disco"
 
-#: Dependencies.cpp:297
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Copiar áudio selecionado para o projeto"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Cancelar operação"
 
-#: Dependencies.cpp:306
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "Não copiar áudio"
 
-#: Dependencies.cpp:308
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Copiar todo o áudio para o projeto (Seguro)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Perguntar"
 
-#: Dependencies.cpp:318
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Sempre copiar todo o áudio disponível (Mais seguro)"
 
-#: Dependencies.cpp:319
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Nunca copiar áudio disponível"
 
-#: Dependencies.cpp:321
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Quando um projeto depender de outros arquivos:"
 
-#: Dependencies.cpp:409
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr "Ao prosseguir, seu projeto não será salvo em disco. Tem certeza de que deseja continuar?"
 
-#: Dependencies.cpp:449
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "Seu projeto é auto-suficiente, não dependendo de áudio de arquivos externos."
 
 # ou é Checar dependencias?
-#: Dependencies.cpp:450
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Verificar dependências"
 
 #: DirManager.cpp:136
-msgid "Warning: there is very little free disk space left on this volume.\n"
-"Please select another temporary directory in your preferences."
-msgstr "Aviso: Há pouco espaço disponível nesta unidade. \n"
+msgid ""
+"There is very little free disk space left on this volume.\n"
+"Please select another temporary directory in Preferences."
+msgstr ""
+"Aviso: Há pouco espaço disponível nesta unidade. \n"
 "Selecione outra pasta em outra unidade para os arquivos temporários."
 
 #: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:252
+#: DirManager.cpp:335
 msgid "Progress"
 msgstr "Progresso"
 
-#: DirManager.cpp:285
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Removendo arquivos temporários"
 
-#: DirManager.cpp:333
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Salvando dados de projeto"
 
-#: DirManager.cpp:406
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Removendo diretórios temporários"
 
-#: DirManager.cpp:493
+#: DirManager.cpp:503
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "O Audacity encontrou um arquivo sem procedência  %s! \n"
+msgstr ""
+"O Audacity encontrou um arquivo sem procedência  %s! \n"
 "Por favor, encerre e abra novamente o projeto para uma verificação completa dos arquivos.\n"
 
 #  i18n-hint: This is the pattern for filenames that are created
@@ -829,157 +890,168 @@ msgstr "O Audacity encontrou um arquivo sem procedência  %s! \n"
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: DirManager.cpp:985
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-copia%d"
 
-#: DirManager.cpp:993
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr "Não foi possível criar ou abrir o arquivo de teste"
 
-#: DirManager.cpp:1002
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "Não foi possível remover '%s'"
 
-#: DirManager.cpp:1007
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Arquivo renomeado: %s\n"
 
-#: DirManager.cpp:1051
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "Não foi possível renomear '%s' para '%s'"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Alterado o bloco %s para o novo nome\n"
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1247
+#: DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Inspecionando os dados do projeto..."
 
 # orphaned sem procedencia
-#: DirManager.cpp:1128
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Arquivo sem procedência:  (%s)"
 
-#: DirManager.cpp:1153
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "Atalho não encontrado:  (%s)"
 
-#: DirManager.cpp:1173
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "Arquivo de sumário não encontrado:  (%s.auf)"
 
-#: DirManager.cpp:1193
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "Arquivo não encontrado:  (%s.au)"
 
-#: DirManager.cpp:1207
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1342
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr "A Verificação Automática de Projeto encontrou problemas ao inspecionar os dados salvos;\n"
+msgstr ""
+"A Verificação Automática de Projeto encontrou problemas ao inspecionar os dados salvos;\n"
 "clique em 'Detalhes' para a lista completa dos erros ou 'OK' para mais opções."
 
-#: DirManager.cpp:1219
+#: DirManager.cpp:1354
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr "A Verificação Automática de Projeto encontrou %d arquivos sem procedência.\n"
+msgstr ""
+"A Verificação Automática de Projeto encontrou %d arquivos sem procedência.\n"
 "Estes arquivos não tem uso e provavelmente restaram de uma falha anterior\n"
 "no sistema.\n"
 "Estes arquivos devem ser apagados para liberar espaço em disco."
 
-#: DirManager.cpp:1224
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Apagar arquivos sem procedência (Seguro e recomendável)"
 
-#: DirManager.cpp:1225
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Continuar sem apagar, lidando com os arquivos sem aviso"
 
-#: DirManager.cpp:1226
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Fechar projeto sem alterações"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1363
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
+#: export/Export.cpp:581
+#: export/Export.cpp:602
+#: export/Export.cpp:621
+#: widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Aviso"
 
-#: DirManager.cpp:1254
+#: DirManager.cpp:1389
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "A Verificação Automática de Projetos detectou que\n"
+msgstr ""
+"A Verificação Automática de Projetos detectou que\n"
 "%d arquivos não estão mais acessíveis. É impossível \n"
-"recuperá-los automaticamente. Você pode inserir silêncios nas posições ocupadas por \n"
+"recuperá-los automaticamente. \n"
+"Você pode inserir silêncios nas posições ocupadas por \n"
 "estes arquivos permanentemente ou apenas para \n"
 "esta sessão, ou ainda fechar o projeto e tentar \n"
 "localizar manualmente os arquivos faltantes."
 
-#: DirManager.cpp:1259
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Substituir os arquivos não encontrados por silêncio (permanente após salvar o projeto)"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1395
+#: DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Temporariamente substituir os arquivos não encontrados por silêncio (apeans para esta sessão)"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1396
+#: DirManager.cpp:1442
+#: DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Fechar projeto sem alterações"
 
-#: DirManager.cpp:1300
+#: DirManager.cpp:1435
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr "Foi detectada a falta de %d arquivo(s) de sumário (.auf).\n"
+msgstr ""
+"Foi detectada a falta de %d arquivo(s) de sumário (.auf).\n"
 "O Audacity pode recuperá-los automaticamente a partir\n"
 "dos arquivos de áudio originais."
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Recuperar arquivos de sumário (seguro e recomendado)"
 
-#: DirManager.cpp:1306
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Preencher dados não encontrados com silêncio (apenas para esta sessão)"
 
-#: DirManager.cpp:1342
+#: DirManager.cpp:1477
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr "A Verificação Automática de Projetos detectou que %d arquivos\n"
+msgstr ""
+"A Verificação Automática de Projetos detectou que %d arquivos\n"
 "de áudio não estão mais acessíveis. \n"
 "É impossível recuperar estes arquivos automaticamente. \n"
 "Você pode inserir silêncios nas posições ocupadas por estes \n"
@@ -987,28 +1059,28 @@ msgstr "A Verificação Automática de Projetos detectou que %d arquivos\n"
 "ou ainda fechar o projeto e tentar localizar manualmente\n"
 "os arquivos faltantes."
 
-#: DirManager.cpp:1347
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "Substituir os arquivos não encontrados por silêncio (permanentemente)"
 
-#: DirManager.cpp:1375
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr "Limpando pastas não utilizadas nos arquivos de projeto..."
 
 # caching - armazenar na memoria cache?
-#: DirManager.cpp:1448
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Armazenando audio"
 
-#: DirManager.cpp:1449
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Armazenando áudio na memória temporária..."
 
-#: DirManager.cpp:1486
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Salvando áudio gravado"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr "Salvando áudio gravado em disco ..."
 
@@ -1016,242 +1088,311 @@ msgstr "Salvando áudio gravado em disco ..."
 msgid "Rectangular"
 msgstr "Retangular"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "Suporte a FFmpeg não compilado "
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
+"O FFmpeg foi configurado corretamente da última vez,\n"
+"mas o Audacity não conseguiu carregá-lo ao iniciar agora.\n"
+"\n"
+"Você deve retornar ao menu Preferências > Importar/Exportar\n"
+"para reconfigurá-lo. "
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Falha ao iniciar FFmpeg"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "Biblioteca FFmpeg não encontrada"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "Localizar FFmpeg"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "O Audacity precisa do arquivo %s para importar e exportar áudio via FFmpeg."
 
+#: FFmpeg.cpp:434
 #: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Localização de %s:"
 
+#: FFmpeg.cpp:443
 #: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Para localizar %s, clique aqui -->"
 
+#: FFmpeg.cpp:449
 #: export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Localizar..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "Para salvar uma cópia gratuita do FFmpeg, clique aqui -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Baixar"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
+#: FFmpeg.cpp:473
 #: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Onde se localiza o arquivo %s ?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Impossível achar bibliotecas FFmpeg compatíveis"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "FFmpeg não encontrado"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
+"Audacity tentou utilizar o FFmpeg para importar um arquivo de áudio,\n"
+"mas as bibliotecas necessárias não foram encontradas.\n"
+"Para utilizar a importação via FFmpeg, vá até o menu \n"
+"Preferências->Importar/Exportar e selecione a pasta\n"
+"contendo os arquivos necessários."
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Não exibir este aviso novamente"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:264
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "Apenas avformat.dll|*avformat*.dll|DLLs do sistema (*.dll)|*.dll|Todos os arquivos (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Bibliotecas dinâmicas (*.dylib)|*.dylib|Todos os arquivos (*)|*"
 
-#: FFmpeg.h:266
+#: FFmpeg.h:324
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Apenas libavformat.so|libavformat.so*|DLLs do sistema (*.dll)|*.dll|Todos os arquivos (*.*)|*"
 
-#: FreqWindow.cpp:104
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
-msgstr "Análise de freqüência"
+msgstr "Análise de frequência"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:163
+#: TrackPanel.cpp:611
+#: prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Espectro"
 
-#: FreqWindow.cpp:141
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Autocorrelação padrão"
 
-#: FreqWindow.cpp:142
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Autocorrelação de raíz cúbica"
 
-#: FreqWindow.cpp:143
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Autocorrelação melhorada"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: FreqWindow.cpp:147
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Cepstro"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
-#, fuzzy
+#: FreqWindow.cpp:174
+#: FreqWindow.cpp:178
 msgid "Algorithm"
-msgstr "Algoritmo:"
+msgstr "Algoritmo"
 
-#: FreqWindow.cpp:168
+#: FreqWindow.cpp:193
+#: FreqWindow.cpp:197
 #: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Tamanho"
 
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: FreqWindow.cpp:181
+#: FreqWindow.cpp:207
 msgid " window"
-msgstr " "
+msgstr " janela"
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+#: FreqWindow.cpp:211
+#: FreqWindow.cpp:215
 msgid "Function"
-msgstr ""
+msgstr "Função"
 
-#: FreqWindow.cpp:192
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
-msgstr "Freqüência linear"
+msgstr "Frequência linear"
 
-#: FreqWindow.cpp:193
+#: FreqWindow.cpp:221
 msgid "Log frequency"
-msgstr "Freqüência logarítmica"
+msgstr "Frequência logarítmica"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+#: FreqWindow.cpp:225
+#: FreqWindow.cpp:229
 msgid "Axis"
-msgstr ""
+msgstr "Eixo"
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:236
+#: LabelDialog.cpp:130
+#: Menus.cpp:256
 msgid "&Export..."
 msgstr "&Exportar..."
 
-#: export/ExportCL.cpp:322
+#: FreqWindow.cpp:237
+#: effects/Contrast.cpp:395
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Exportar"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "&Recriar"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Recriar"
+
+#: FreqWindow.cpp:244
+#: FreqWindow.cpp:245
+#: widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Fechar"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1300
+#: effects/Equalization.cpp:1303
+msgid "Grids"
+msgstr "Grids"
+
+#: FreqWindow.cpp:314
+#: FreqWindow.cpp:516
+#: effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537
+#: effects/AutoDuck.cpp:806
 #: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1142
+#: effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1152
+#: effects/Equalization.cpp:1218
+#: effects/Equalization.cpp:1434
+#: effects/Equalization.cpp:1445
+#: effects/Normalize.cpp:372
+#: widgets/Meter.cpp:406
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:330
+#: FreqWindow.cpp:556
+#: effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1214
+#: import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: FreqWindow.cpp:386
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Para desenhar o espectro, todas as faixas devem ter a mesma taxa de amostragem."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Foi selecionado áudio demais. Só os primeiros %1f segundos serão analizados."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Não há dados suficientes na seleção."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:564
+#: effects/AutoDuck.cpp:808
 msgid "s"
 msgstr "s"
 
-#: FreqWindow.cpp:779
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Cursor: %d Hz (%s) = %d dB    Pico: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:788
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "Cursor: %.4f seg (%d Hz) (%s) = %f,    Pico: %.4f seg (%d Hz) (%s) = %.3f"
 
-#: FreqWindow.cpp:1061
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spectrum.txt"
 
-#: FreqWindow.cpp:1063
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Exportar dados espectrais como:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1216
+#: LabelDialog.cpp:603
+#: Menus.cpp:2663
+#: effects/Contrast.cpp:587
+#: prefs/KeyConfigPrefs.cpp:319
 msgid "Couldn't write to file: "
 msgstr "Não foi possível gravar no arquivo:"
 
-#: FreqWindow.cpp:1084
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
-msgstr "Freqüência (Hz)\tNível (dB)"
+msgstr "Frequência (Hz)\tNível (dB)"
 
-#: FreqWindow.cpp:1090
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
-msgstr "Atraso (seg.)\tFreqüência (Hz)\tNível"
+msgstr "Atraso (seg.)\tFrequência (Hz)\tNível"
+
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+"O GStreamer foi configurado corretamente da última vez,\n"
+"mas o Audacity não conseguiu carregá-lo ao iniciar agora.\n"
+"\n"
+"Você deve retornar ao menu Preferências > Bibliotecas\n"
+"para reconfigurá-lo. "
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Falha ao iniciar GStreamer"
 
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
@@ -1331,8 +1472,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Para gravar:</b> Ajuste o dispositivo de gravação, a fonte de entrada, os níveis de áudio e pressione o botão vermelho <i>Gravar</i> </b>:</p><p> 1) [[inputdevice|Ajustar dispositivo de gravação]]</b> na aba <i>Dispositivos</i> no menu <i>Preferências</i> ou na <i>Barra de dispositivos</i>. As preferências de áudio permitem escolher a gravação em estéreo se necessário. <br> 2) [[inputsource|Ajustar a fonte de entrada]] para o dispositivo (por exemplo o microfone ou a entrada de linha) no menu da <i>Barra de Mixagem</i> ou na opção<i> Gravação</i> da aba <i>Dispositivos</i> no menu <i>Preferências</i>.<br> 3) [[inputlevel|Ajustar o nível de entrada]] usando o controle à direita na <i>Barra de Mixagem</i>. O ajuste correto é necessário para evitar distorções ou ruídos na gravação.</p><p> Mais ajuda está disponível online em português:  <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a> de Gravação, ou em inglês no nosso Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\">Your First Recording</a>, no <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a> e na nossa Wiki em [[wiki:Recording_Tips|Dicas de gravação]] e em [[wiki:Troubleshooting_Recordings|Resolvendo problemas de gravação]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr "<p>O dispositivo de entrada é o dispositivo de som conectado ao seu computador. É escolhido a partir da lista na área \"Gravação\" na aba <i>Dispositivos do menu Preferências</i>, No Windows e Linux, o menu Preferências está na parte de baixo do menu <i>Editar</i>. No MAcintosh, no menu <i>Audacity</i>. Você também pode selecionar o dispositivo de gravação na <i>Barra de Dispositivos</i>, que pode ser habilitada no menu <i>Visualizar &gt; Barras de Ferramentas...</i>. </p><p> Por padrão, o Audacity usa o dispositivo atual do sistema (normalmente a placa de som instalada), sendo que normalmente não é necessário configurar. No Windows, o dispositivo padrão costuma ser \"Microsoft Sound Mapper\". Ao gravar áudio de um dispositivo USB ou Firewire externo como um toca discos digital, selecione seu nome como dispositivo de gravação. </p><p> Voltar para [[record|Gravação de Áudio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>O dispositivo de entrada é o dispositivo de som conectado ao seu computador. É escolhido a partir da lista na área \"Gravação\" na aba <i>Dispositivos do menu Preferências</i>, No Windows e Linux, o menu Preferências está na parte de baixo do menu <i>Editar</i>. No Macintosh, no menu <i>Audacity</i>. Você também pode selecionar o dispositivo de gravação na <i>Barra de Dispositivos</i>, que pode ser habilitada no menu <i>Visualizar &gt; Barras de Ferramentas...</i>. </p><p> Por padrão, o Audacity usa o dispositivo atual do sistema (normalmente a placa de som instalada), sendo que normalmente não é necessário configurar. No Windows, o dispositivo padrão costuma ser \"Microsoft Sound Mapper\". Ao gravar áudio de um dispositivo USB ou Firewire externo como um toca discos digital, selecione seu nome como dispositivo de gravação. </p><p> Voltar para [[record|Gravação de Áudio]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
@@ -1344,7 +1485,7 @@ msgstr "<p>O nível de entrada deve ser ajustado corretamente. Um nível muito b
 
 #: HelpText.cpp:292
 msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
-msgstr "<p> O Audacity é um editor de áudio poderoso, e é sempre bom conhecer seus recursos. Os comandos principais serão os do menu <i>Editar</i> (como Copiar e Colar), e do menu <i>Efeitos</i> (onde você pode, por exemplo, reforçar os graves, alterar o tempo ou remover ruídos). </p><p>O Audacity aplica os efeitos às areas selecionadas das faixas. Você pode selecionar o trecho desejado clicando na faixa e arrastando a área sombreada. Se você não fizer uma seleção, o efeito é aplicado à todo o áudio que estiver na tela.<br><br>Dois pontos importantes ao editar:</p><p>(1) Se você estiver reproduzindo ou gravando, clique no botão Parar, ou não será possível salvar ou exportar o projeto. </p><p>(2) Alguns menus podem estar desabilitados ou não acessíveis. Isto é normal, já que alguns comandos não podem ser utilizados em determinadas operações. Por exemplo, o menu Efeitos só está disponível quando há áudio disponível para ser aplicado e só é possível Colar após Recortar ou Copiar áudio.</p> <br><br>"
+msgstr "<p> O Audacity é um editor de áudio poderoso, e é sempre bom conhecer seus recursos. Os comandos principais serão os do menu <i>Editar</i> (como Copiar e Colar), e do menu <i>Efeitos</i> (onde você pode, por exemplo, reforçar os graves, alterar o tempo ou remover ruídos). </p><p>O Audacity aplica os efeitos às áreas selecionadas das faixas. Você pode selecionar o trecho desejado clicando na faixa e arrastando a área sombreada. Se você não fizer uma seleção, o efeito é aplicado à todo o áudio que estiver na tela.<br><br>Dois pontos importantes ao editar:</p><p>(1) Se você estiver reproduzindo ou gravando, clique no botão Parar, ou não será possível salvar ou exportar o projeto. </p><p>(2) Alguns menus podem estar desabilitados ou não acessíveis. Isto é normal, já que alguns comandos não podem ser utilizados em determinadas operações. Por exemplo, o menu Efeitos só está disponível quando há áudio disponível para ser aplicado e só é possível Colar após Recortar ou Copiar áudio.</p> <br><br>"
 
 #: HelpText.cpp:311
 msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
@@ -1355,8 +1496,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Quando você quer ouvir o trabalho em outro programa de áudio, deve \"Exportar\" para um arquivo WAV ou MP3 (não há suporte a [[wma-proprietary|determinados formatos]]). Para salvar como um projeto do Audacity, use <b>Arquivo > Salvar Projeto</b>. Assim, o projeto será salvo como um arquivo <b>.AUP</b> e mais uma pasta com o nome <b>_data</b> contendo todo o áudio do projeto. Assegure-se de não apagar ou renomear nenhum dos dois, ou o Audacity não irá encontrar os arquivos necessários para editar seu projeto novamente. </p><p> Use <b>Arquivo > Salvar projeto como</b> para alterar o nome de um projeto já salvo ou para salvar um projeto vazio. Para abrir novamente um projeto já salvo, clique em <b>Arquivo > Abrir</b> e selecione o arquivo .AUP. </p><p> Para exportar seu projeto em um arquivo de áudio, use <b>Arquivo > Exportar...</b> e selecione o formato desejado na janela \"Exportar como\". Clique no botão Opções para selecionar as opções avançadas, como a taxa do arquivo MP3. Há outros dois comandos de Exportar: \"Exportar seleção como\", que exporta apenas a área selecionada, e \"Exportar múltiplos\" que exporta em diferentes arquivos, para por exemplo quando você tem mais de uma faixa num mesmo projeto e deseja exportar cada faixa separadamente. Ao exportar partes de uma gravação longa, como as faixas de um cassete ou LP, veja as instruções em inglês na wiki [[wiki:Splitting recordings into separate tracks|Exportar múltiplos arquivos através dos rótulos]]. </p><p>Antes de exportar arquivos como <b>MP3</b>, você precisará instalar a biblioteca LAME MP3 em seu computador. Para ajuda em como proceder a instalação, veja a nossa página em inglês na wiki [[wiki:Lame_Installation|Instalação do Lame]]. Veja também as dicas sobre [[burncd|como gravar em um CD]] aqui nesta ajuda.</p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr "<p>O Audacity não pode [[play|reproduzir]] ou [[export|exportar]] em formatos <b>WMA, RealAudio, Shorten (SHN)</b>, ou outros formatos proprietários devido à restrições de patentes, assim como também não pode importar arquivos protegidos por DRM (Direitos de Cópia), o que inclui a maioria das músicas compradas em lojas on-line de música. </p><p>Na versão para Macintosh, é possível importar áudio em formato <b>AAC</b> não protegido (como os com extensão <b>M4A</B>).</p><p>Alguns formatos não-proprietários ainda não estão disponíveis no Audacity, como <b>Ogg Speex</b> e <b>Musepack</b>. Estes formatos serão disponibilizados em versões futuras do programa.</p><p>Se não for possível importar arquivos de áudio, você pode tentar contornar esta restrição convertendo o arquivo em um formato não compactado como WAV ou AIFF. Para arquivos não protegidos, o iTunes ou o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> player podem ajudar na conversão. No caso de arquivos protegidos por DRM, você pode tentar gravá-lo num CD de áudio e extraí-lo novamente do CD em formato WAV ou AIFF, utilizando o iTunes no Macintosh e Windows Media Player ou <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> no Windows.</P><p>Como alternativa, você pode reproduzir o arquivo em seu computador e <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">gravar o fluxo de áudio</a>. <i>Para exportar para um formato não suportado pelo Audacity, exporte o projeto como WAV ou AIFF e converta-o para o formato desejado utilizando o iTunes ou o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> player.</i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p>O Audacity não pode [[play|reproduzir]] ou [[export|exportar]] em formatos <b>WMA, RealAudio, Shorten (SHN)</b>, ou outros formatos proprietários devido a restrições de patentes, assim como também não pode importar arquivos protegidos por DRM (Direitos de Cópia), o que inclui a maioria das músicas compradas em lojas on-line de música. </p><p>Na versão para Macintosh, é possível importar áudio em formato <b>AAC</b> não protegido (como os com extensão <b>M4A</B>).</p><p>Alguns formatos não-proprietários ainda não estão disponíveis no Audacity, como <b>Ogg Speex</b> e <b>Musepack</b>. Estes formatos serão disponibilizados em versões futuras do programa.</p><p>Se não for possível importar arquivos de áudio, você pode tentar contornar esta restrição convertendo o arquivo em um formato não compactado como WAV ou AIFF. Para arquivos não protegidos, o iTunes ou o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> player podem ajudar na conversão. No caso de arquivos protegidos por DRM, você pode tentar gravá-lo num CD de áudio e extraí-lo novamente do CD em formato WAV ou AIFF, utilizando o iTunes no Macintosh e Windows Media Player ou <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> no Windows.</P><p>Como alternativa, você pode reproduzir o arquivo em seu computador e <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">gravar o fluxo de áudio</a>. <i>Para exportar para um formato não suportado pelo Audacity, exporte o projeto como WAV ou AIFF e converta-o para o formato desejado utilizando o iTunes ou o <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> player.</i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
@@ -1364,7 +1505,7 @@ msgstr "<p>Se você deseja gravar seu projeto em um CD de áudio, você deve pri
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>A ajuda para o Audacity Beta está incompleta. Por enquanto, um rascunho pode ser acessado <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Como alternativa, clique <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">aqui</a> para baixar a versão do manual de página-única, que pode ser vista nesta janela."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1386,433 +1527,410 @@ msgstr "Níveis de des&fazer disponíveis"
 msgid "Levels To Discard"
 msgstr "Níveis para apagar"
 
-#: HistoryWindow.cpp:102
+#: HistoryWindow.cpp:103
 msgid "&Discard"
 msgstr "&Apagar"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
+#: HistoryWindow.cpp:112
 #: effects/ChangeLength.cpp:186
 #: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&OK"
 
-#: Internat.cpp:191
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Não foi possível determinar"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:147
+#: import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "bytes"
 
-#: Internat.cpp:197
+#: Internat.cpp:149
 msgid "KB"
 msgstr "KB"
 
-#: Internat.cpp:200
+#: Internat.cpp:152
 msgid "MB"
 msgstr "MB"
 
-#: Internat.cpp:203
+#: Internat.cpp:155
 msgid "GB"
 msgstr "GB"
 
-#: LabelDialog.cpp:52
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "O nome de arquivo especificado não pôde ser convertido devido ao esquema de Unicode."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Especifique o nome do arquivo:"
+
+#: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Faixa"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:55
+#: Menus.cpp:4855
+#: Menus.cpp:4890
 msgid "Label"
 msgstr "Título"
 
-#: LabelDialog.cpp:54
+#: LabelDialog.cpp:56
+#: TimerRecordDialog.cpp:328
 msgid "Start Time"
 msgstr "Te&mpo inicial"
 
-#: LabelDialog.cpp:55
+#: LabelDialog.cpp:57
+#: TimerRecordDialog.cpp:347
 msgid "End Time"
 msgstr "Tempo final"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
-msgid "&Edit Labels"
-msgstr "&Editar títulos"
+#: LabelDialog.cpp:100
+msgid "Edit Labels"
+msgstr "Editar títulos"
 
-#: LabelDialog.cpp:113
+#: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
 msgstr "Clique duplo ou pressione F2 para editar o conteúdo das células."
 
-#: LabelDialog.cpp:124
+#: LabelDialog.cpp:126
 msgid "Insert &After"
 msgstr "Inserir &Após"
 
-#: LabelDialog.cpp:125
+#: LabelDialog.cpp:127
 msgid "Insert &Before"
 msgstr "Inserir An&tes"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:129
 msgid "&Import..."
 msgstr "&Importar"
 
-#: LabelDialog.cpp:155
+#: LabelDialog.cpp:157
 msgid "New..."
 msgstr "Novo..."
 
-#: LabelDialog.cpp:352
-msgid "You have left blank label names.  These will be\n"
+#: LabelDialog.cpp:354
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
-msgstr "Alguns títulos foram deixados em branco.\n"
+msgstr ""
+"Alguns títulos foram deixados em branco.\n"
 "Estes títulos serão ignorados ao continuar.\n"
 "\n"
 "Deseja retornar e preencher os campos em branco?"
 
-#: LabelDialog.cpp:353
+#: LabelDialog.cpp:355
+#: LangChoice.cpp:130
 msgid "Confirm"
 msgstr "Confirmar"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:516
+#: Menus.cpp:4273
 msgid "Select a text file containing labels..."
 msgstr "Selecione o arquivo de texto contendo os títulos...."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:520
+#: Menus.cpp:4277
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Arquivos de texto (*.txt)|*.txt|Todos os arquivos (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
-#: import/ImportMIDI.cpp:31
+#: LabelDialog.cpp:534
+#: Menus.cpp:4289
+#: Project.cpp:2116
+#: Project.cpp:2124
 msgid "Could not open file: "
 msgstr "Não foi possível abrir o arquivo:"
 
-#: LabelDialog.cpp:558
+#: LabelDialog.cpp:560
 msgid "No labels to export."
 msgstr "Não há títulos para exportar."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:566
+#: Menus.cpp:2626
 msgid "Export Labels As:"
 msgstr "Exportar títulos como:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:568
+#: Menus.cpp:2624
 msgid "labels.txt"
 msgstr "títulos.txt"
 
-#: LabelDialog.cpp:699
+#: LabelDialog.cpp:703
 msgid "New Label Track"
 msgstr "Nova faixa de &título"
 
-#: LabelDialog.cpp:700
+#: LabelDialog.cpp:704
 msgid "Enter track name"
 msgstr "Digite o nome da faixa"
 
-#: LabelDialog.cpp:701
+#: LabelDialog.cpp:705
 #: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
-msgid "&Label Track"
-msgstr "Faixa de Títu&lo"
+#: LabelTrack.cpp:92
+msgid "Label Track"
+msgstr "Faixa de Título"
 
-#: LangChoice.cpp:57
+#: LangChoice.cpp:58
 msgid "Audacity First Run"
 msgstr "Primeira execução do Audacity"
 
-#: LangChoice.cpp:84
+#: LangChoice.cpp:90
 msgid "Choose Language for Audacity to use:"
 msgstr "Escolha o idioma dos menus do Audacity:"
 
-#: Legacy.cpp:356
+#: LangChoice.cpp:125
+#, c-format
+msgid "The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."
+msgstr "O idioma escolhido, %s (%s), não é o mesmo do idioma do sistema, %s (%s)."
+
+#: Legacy.cpp:372
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Foi convertido o arquivo de projeto da versão 1.0 para o novo formato.\n"
+msgstr ""
+"Foi convertido o arquivo de projeto da versão 1.0 para o novo formato.\n"
 "Uma cópia foi salva como  '%s'"
 
-#: Legacy.cpp:357
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Lendo Projeto do Audacity"
 
-#: Menus.cpp:162
+#: Menus.cpp:196
 msgid "&File"
 msgstr "&Arquivo"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Novo\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Abrir...\tCtrl+O"
+#: Menus.cpp:215
+msgid "&Close"
+msgstr "&Fechar"
 
-#: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Fechar\tCtrl+W"
-
-#: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Salvar projeto\tCtrl+S"
+#: Menus.cpp:218
+msgid "&Save Project"
+msgstr "&Salvar projeto"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:221
 msgid "Save Project &As..."
 msgstr "Salvar &projeto como..."
 
-#: Menus.cpp:212
+#: Menus.cpp:223
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Salvar cópia do Projeto Comprimido"
 
-#: Menus.cpp:181
+#: Menus.cpp:227
 msgid "Chec&k Dependencies..."
 msgstr "Verificar De&pendências..."
 
-#: Menus.cpp:187
+#: Menus.cpp:231
 msgid "Open Me&tadata Editor..."
 msgstr "Abrir editor de Me&tadados..."
 
-#: import/ImportRaw.cpp:447
+#: Menus.cpp:239
+#: import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "&Importar"
 
-#: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "Áu&dio...\tCtrl+Shift+I"
+#: Menus.cpp:241
+msgid "&Audio..."
+msgstr "Áu&dio..."
 
-#: Menus.cpp:197
+#: Menus.cpp:242
 msgid "&Labels..."
 msgstr "&Títulos..."
 
-#: Menus.cpp:198
+#: Menus.cpp:244
 msgid "&MIDI..."
 msgstr "&MIDI..."
 
-#: Menus.cpp:199
+#: Menus.cpp:246
 msgid "&Raw Data..."
 msgstr "Dados sem &formatação..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:261
 msgid "Expo&rt Selection..."
 msgstr "E&xportar seleção como"
 
-#: Menus.cpp:217
+#: Menus.cpp:269
 msgid "Export &Labels..."
 msgstr "Exportar títulos"
 
-#: Menus.cpp:218
+#: Menus.cpp:272
 msgid "Export &Multiple..."
 msgstr "Exportar &múltiplos..."
 
-#: Menus.cpp:257
+#: Menus.cpp:276
 msgid "Export MIDI..."
-msgstr ""
+msgstr "Exportar MIDI..."
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "Cadeias do Clean Speec&h..."
+#: Menus.cpp:282
+msgid "Appl&y Chain..."
+msgstr "Apli&car arquivo de lote..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:285
 msgid "Edit C&hains..."
 msgstr "Editar arquivos de &lote..."
 
-#: Menus.cpp:249
+#: Menus.cpp:288
 msgid "Export CleanSpeech &Presets..."
 msgstr "E&xportar ajustes do CleanSpeech..."
 
-#: Menus.cpp:250
+#: Menus.cpp:289
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Im&portar ajustes do CleanSpeech..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "Apli&car arquivo de lote..."
-
-#: Menus.cpp:267
+#: Menus.cpp:296
 msgid "&Upload File..."
 msgstr "Enviar arqui&vo..."
 
-#: Menus.cpp:273
+#: Menus.cpp:301
 msgid "Pa&ge Setup..."
 msgstr "Confi&gurar página..."
 
-#: Menus.cpp:274
+#: Menus.cpp:304
 msgid "&Print..."
 msgstr "&Imprimir..."
 
-#: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "Sai&r\tCtrl+Q"
+#: Menus.cpp:313
+msgid "E&xit"
+msgstr "Sai&r"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:323
 msgid "&Edit"
 msgstr "&Editar"
 
-#: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "Des&fazer\tCtrl+Z"
+#: Menus.cpp:328
+msgid "&Undo"
+msgstr "Des&fazer"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:340
 msgid "&Redo"
 msgstr "&Refazer"
 
-#: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "Rec&ortar\tCtrl+X"
+#: Menus.cpp:346
+msgid "Cu&t"
+msgstr "Rec&ortar"
 
-#: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "&Separar e Recortar\tCtrl+Alt+X"
+#: Menus.cpp:349
+msgid "Spl&it Cut"
+msgstr "&Separar e Recortar"
 
-#: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Copiar\tCtrl+C"
+#: Menus.cpp:350
+msgid "&Copy"
+msgstr "&Copiar"
 
-#: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "Co&lar\tCtrl+V"
+#: Menus.cpp:353
+msgid "&Paste"
+msgstr "Co&lar"
 
-#: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "S&ilenciar fora da Seleção\tCtrl+T"
+#: Menus.cpp:356
+msgid "Tri&m"
+msgstr "S&ilenciar fora da Seleção"
 
-#: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Apagar\tCtrl+K"
+#: Menus.cpp:360
+#: Menus.cpp:399
+msgid "&Delete"
+msgstr "&Apagar"
 
-#: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "S&eparar e Deletar\tCtrl+Alt+K"
+#: Menus.cpp:361
+msgid "Split D&elete"
+msgstr "S&eparar e Apagar"
 
-#: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+#: Menus.cpp:362
+msgid "Silence Audi&o"
+msgstr "S&ilenciar áudio"
 
-#: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "Se&parar\tCtrl+I"
+#: Menus.cpp:366
+msgid "Sp&lit"
+msgstr "Se&parar"
 
-#: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Separar e criar no&vo\tCtrl+Alt+I"
+#: Menus.cpp:370
+msgid "Split Ne&w"
+msgstr "Separar e criar no&vo"
 
-#: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "&Unir\tCtrl+J"
+#: Menus.cpp:374
+#: Menus.cpp:406
+msgid "&Join"
+msgstr "&Unir"
 
-#: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+#: Menus.cpp:375
+#: Menus.cpp:407
+msgid "Detac&h at Silences"
+msgstr "Desu&nir nos silêncios"
 
-#: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "&Duplicar\tCtrl+D"
+#: Menus.cpp:376
+msgid "Duplic&ate"
+msgstr "&Duplicar"
 
-#: Menus.cpp:400 Menus.cpp:639
+#: Menus.cpp:381
+#: Menus.cpp:617
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "Faixa E&stéreo para Mono"
 
-#: Menus.cpp:407
+#: Menus.cpp:390
 msgid "La&beled Regions"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "Re&cortar\tAlt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Separar e Rec&ortar\tShift+Alt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Co&piar\tShift+Alt+C"
+msgstr "Áreas com &títulos"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "&Apagar\tAlt+K"
+#: Menus.cpp:393
+msgid "&Cut"
+msgstr "Re&cortar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Separar e Apa&gar\tShift+Alt+K"
+#: Menus.cpp:394
+msgid "&Split Cut"
+msgstr "Separar e Rec&ortar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Sile&nciar\tAlt+L"
+#: Menus.cpp:395
+msgid "Co&py"
+msgstr "Co&piar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Se&parar\tAlt+I"
+#: Menus.cpp:400
+msgid "Sp&lit Delete"
+msgstr "Separar e Apa&gar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "&Unir\tAlt+J"
+#: Menus.cpp:401
+msgid "Sile&nce"
+msgstr "Sile&nciar"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+#: Menus.cpp:405
+msgid "Spli&t"
+msgstr "Se&parar"
 
-#: Menus.cpp:456
+#: Menus.cpp:413
 msgid "&Select"
-msgstr ""
+msgstr "&Selecionar"
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "Selecionar &Tudo\tCtrl+A"
+msgid "&All"
+msgstr "Selecionar &Tudo"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Nenhum\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Nenhum"
 
-#: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "À &esquerda do cursor\t["
+#: Menus.cpp:419
+msgid "&Left at Playback Position"
+msgstr "À &esquerda do cursor"
 
-#: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "À &direita do cursor\t]"
+#: Menus.cpp:420
+msgid "&Right at Playback Position"
+msgstr "À &direita do cursor"
 
-#: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Selecionar do &início até o cursor\tShift+J"
+#: Menus.cpp:424
+msgid "Track &Start to Cursor"
+msgstr "Selecionar do &início até o cursor"
 
-#: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Selecionar do cursor até o &final\tShift+K"
+#: Menus.cpp:425
+msgid "Cursor to Track &End"
+msgstr "Selecionar do cursor até o &final"
 
-#: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Encontrar cruzamentos em &zero\tZ"
+#: Menus.cpp:431
+msgid "Find &Zero Crossings"
+msgstr "Encontrar cruzamentos em &zero"
 
-#: Menus.cpp:476
+#: Menus.cpp:435
 msgid "Mo&ve Cursor"
-msgstr ""
+msgstr "Mo&ver Cursor"
 
 #: Menus.cpp:437
 msgid "to Selection Star&t"
@@ -1822,1113 +1940,1137 @@ msgstr "Cursor no início da &seleção"
 msgid "to Selection En&d"
 msgstr "Cursor no final da s&eleção"
 
-#: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "Cursor no início da f&aixa\tJ"
+#: Menus.cpp:440
+msgid "to Track &Start"
+msgstr "Cursor no início da f&aixa"
 
-#: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "Cursor no final da fai&xa\tK"
+#: Menus.cpp:441
+msgid "to Track &End"
+msgstr "Cursor no final da fai&xa"
 
-#: Menus.cpp:450
+#: Menus.cpp:449
 msgid "Re&gion Save"
 msgstr "Salva&r seleção"
 
-#: Menus.cpp:451
+#: Menus.cpp:452
 msgid "Regio&n Restore"
 msgstr "Res&taurar seleção"
 
-#: Menus.cpp:503
+#: Menus.cpp:460
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Área de reprodu&ção"
 
-#: Menus.cpp:463
+#: Menus.cpp:462
 msgid "&Lock"
 msgstr "&Travar"
 
-#: Menus.cpp:464
+#: Menus.cpp:465
 msgid "&Unlock"
 msgstr "&Destravar"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Ligar antecipação"
+#: Menus.cpp:485
+msgid "Pre&ferences..."
+msgstr "&Preferências..."
 
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Desligar antecipação"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Ligar rede da antecipação"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Desligar rede da antecipação"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
-
-#: Menus.cpp:492
+#: Menus.cpp:495
 msgid "&View"
 msgstr "E&xibir"
 
-#: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "&Mais zoom\tCtrl+1"
-
-#: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normal\tCtrl+2"
-
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Men&os zoom\tCtrl+3"
+msgid "Zoom &In"
+msgstr "&Mais zoom"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Ajustar à janela\tCtrl+F"
+msgid "Zoom &Normal"
+msgstr "Zoom &normal"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Ajustar &verticalmente\tCtrl+Shift+F"
-
-#: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom na seleção\tCtrl+E"
+msgid "Zoom &Out"
+msgstr "Men&os zoom"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Recolher todas as faixas\tCtrl+Shift+C"
+msgid "&Fit in Window"
+msgstr "&Ajustar à janela"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Expandir todas as faixas\tCtrl+Shift+X"
+msgid "Fit &Vertically"
+msgstr "Ajustar &verticalmente"
+
+#: Menus.cpp:508
+msgid "&Zoom to Selection"
+msgstr "&Zoom na seleção"
+
+#: Menus.cpp:512
+msgid "&Collapse All Tracks"
+msgstr "&Recolher todas as faixas"
 
-#: Menus.cpp:510
+#: Menus.cpp:513
+msgid "E&xpand All Tracks"
+msgstr "&Expandir todas as faixas"
+
+#: Menus.cpp:517
 msgid "&Show Clipping"
 msgstr "E&xibir Clipping"
 
-#: Menus.cpp:519
+#: Menus.cpp:522
 msgid "&History..."
 msgstr "&Histórico..."
 
-#: Menus.cpp:566
+#: Menus.cpp:530
 msgid "&Toolbars"
-msgstr ""
+msgstr "&Barras de Ferramentas"
 
-#: Menus.cpp:526
+#: Menus.cpp:532
 msgid "&Control Toolbar"
 msgstr "Barra de &Controle"
 
-#: Menus.cpp:527
+#: Menus.cpp:533
 msgid "&Device Toolbar"
 msgstr "Barra de &Dispositivos"
 
-#: Menus.cpp:528
+#: Menus.cpp:534
 msgid "&Edit Toolbar"
 msgstr "Barra de &Edição"
 
-#: Menus.cpp:529
+#: Menus.cpp:535
 msgid "&Meter Toolbar"
 msgstr "Barra de &Medição"
 
-#: Menus.cpp:530
+#: Menus.cpp:536
 msgid "Mi&xer Toolbar"
 msgstr "Barra de Mi&xagem"
 
-#: Menus.cpp:531
+#: Menus.cpp:537
 msgid "&Selection Toolbar"
 msgstr "Barra de &Seleção"
 
-#: Menus.cpp:532
+#: Menus.cpp:538
 msgid "T&ools Toolbar"
 msgstr "Barra de &Ferramentas"
 
-#: Menus.cpp:533
+#: Menus.cpp:539
 msgid "Transcri&ption Toolbar"
 msgstr "Barra de Tra&nscrição"
 
-#: Menus.cpp:535
+#: Menus.cpp:543
 msgid "&Reset Toolbars"
 msgstr "&Reiniciar barras de ferramentas"
 
-#: Menus.cpp:537
+#: Menus.cpp:551
 msgid "!Simplified View"
 msgstr "!Visualização simples"
 
+# nao tenho certeza desta tradução.  CT
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:562
 msgid "T&ransport"
-msgstr ""
+msgstr "&Controle"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: Menus.cpp:565
+#: toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr "Reproduzir"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+#: Menus.cpp:566
+msgid "&Loop Play"
+msgstr "Reprodução &contínua"
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr ""
+#: Menus.cpp:567
+msgid "&Pause"
+msgstr "&Pausar"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+#: Menus.cpp:570
+msgid "&Stop"
+msgstr "P&arar"
 
-#: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Ir para o início\tHome"
+#: Menus.cpp:573
+#: toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Ir para o início"
 
-#: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Ir para o final\tEnd"
+#: Menus.cpp:574
+#: toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Ir para o final"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
-msgstr ""
+#: Menus.cpp:578
+msgid "&Record"
+msgstr "Grava&r"
 
-#: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr ""
+# Gravação programada
+#: Menus.cpp:579
+msgid "&Timer Record..."
+msgstr "&Gravação programada..."
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr ""
+#: Menus.cpp:580
+msgid "Append Record"
+msgstr "Gravar ao final"
 
-#: Menus.cpp:607
+#: Menus.cpp:584
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Overdub (lig/desl)"
 
-#: Menus.cpp:609
+#: Menus.cpp:585
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Reprodução simultânea via software (lig/desl)"
 
-#: Menus.cpp:612
+#: Menus.cpp:588
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Gravação ativada por som (lig/desl)"
 
-#: Menus.cpp:614
+#: Menus.cpp:589
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Nível de ativação do som..."
 
-#: Menus.cpp:545
+#: Menus.cpp:597
 msgid "&Tracks"
 msgstr "&Faixas"
 
-#: Menus.cpp:629
+#: Menus.cpp:602
 msgid "Add &New"
-msgstr ""
+msgstr "&Nova faixa"
 
-#: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "Faix&a de Áudio\tCtrl+Shift+N"
+#: Menus.cpp:604
+msgid "&Audio Track"
+msgstr "Faix&a de Áudio"
 
-#: Menus.cpp:554
+#: Menus.cpp:605
 msgid "&Stereo Track"
 msgstr "Faixa E&stéreo"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:606
+msgid "&Label Track"
+msgstr "Faixa de Títu&lo"
+
+#: Menus.cpp:607
 msgid "&Time Track"
 msgstr "Faixa de &Tempo"
 
-#: Menus.cpp:568
+#: Menus.cpp:620
 msgid "Mi&x and Render"
 msgstr "&Mixar e renderizar"
 
-#: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mixar e gerar áudio para nova faixa\tCtrl+Shift+M"
+#: Menus.cpp:623
+msgid "Mix and Render to New Track"
+msgstr "Mixar e gerar áudio para nova faixa"
 
-#: Menus.cpp:576
+#: Menus.cpp:626
 msgid "&Resample..."
 msgstr "&Reamostrar..."
 
-#: Menus.cpp:586
+#: Menus.cpp:632
 msgid "Remo&ve Tracks"
 msgstr "Remo&ver faixa(s)"
 
-#: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Emudecer todas as faixas\tCtrl+U"
+#: Menus.cpp:638
+msgid "&Mute All Tracks"
+msgstr "&Emudecer todas as faixas"
 
-#: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Desemudecer todas as faixas\tCtrl+Shift+U"
+#: Menus.cpp:639
+msgid "&UnMute All Tracks"
+msgstr "&Desemudecer todas as faixas"
 
-#: Menus.cpp:597
+#: Menus.cpp:644
 msgid "Align with &Zero"
 msgstr "Com o tempo &Zero"
 
-#: Menus.cpp:598
+#: Menus.cpp:645
 msgid "Align with &Cursor"
 msgstr "Com o &cursor"
 
-#: Menus.cpp:599
+#: Menus.cpp:646
 msgid "Align with Selection &Start"
 msgstr "Com o início da &seleção"
 
-#: Menus.cpp:600
+#: Menus.cpp:647
 msgid "Align with Selection &End"
 msgstr "Com o final da s&eleção"
 
-#: Menus.cpp:601
+#: Menus.cpp:648
 msgid "Align End with Cu&rsor"
 msgstr "Alinhar término com o cu&rsor"
 
-#: Menus.cpp:602
+#: Menus.cpp:649
 msgid "Align End with Selection Star&t"
 msgstr "Alinhar &término com o início da seleção"
 
-#: Menus.cpp:603
+#: Menus.cpp:650
 msgid "Align End with Selection En&d"
 msgstr "Alinhar término com o final &da seleção"
 
-#: Menus.cpp:604
+#: Menus.cpp:651
 msgid "Align Tracks To&gether"
 msgstr "Alinhar faixas &juntas"
 
-#: Menus.cpp:681
+#: Menus.cpp:653
 msgid "&Align Tracks"
-msgstr ""
+msgstr "&Alinhar faixas"
 
-#: Menus.cpp:690
+#: Menus.cpp:668
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "A&linhar e mover o cursor"
 
-#: Menus.cpp:697
+#: Menus.cpp:680
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "Sincronizar MIDI com áudio"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr ""
+#: Menus.cpp:687
+msgid "&Link Audio and Label Tracks"
+msgstr "&Vincular faixas de Áudio e Título"
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Adicionar &título à seleção\tCtrl+B"
+#: Menus.cpp:691
+msgid "Add Label At &Selection"
+msgstr "Adicionar título à &seleção"
 
-#: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Adicionar título à &posição atual\tCtrl+M"
+#: Menus.cpp:694
+msgid "Add Label At &Playback Position"
+msgstr "Adicionar título à &posição atual"
 
-#: Menus.cpp:716
+#: Menus.cpp:697
+msgid "&Edit Labels"
+msgstr "&Editar títulos"
+
+#: Menus.cpp:703
 msgid "S&ort tracks"
-msgstr ""
+msgstr "&Organizar faixas por"
 
-#: Menus.cpp:717
+# &Organizar faixas por
+#: Menus.cpp:705
 msgid "by &Start time"
-msgstr ""
+msgstr "&Tempo inicial"
 
-#: Menus.cpp:719
+#: Menus.cpp:708
 msgid "by &Name"
-msgstr ""
+msgstr "&Nome"
 
-#: Menus.cpp:643
+#: Menus.cpp:722
 msgid "&Generate"
 msgstr "&Inserir"
 
-#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
+#: Menus.cpp:767
+#: Menus.cpp:852
+#: Menus.cpp:922
 msgid "Unsorted"
-msgstr ""
+msgstr "Não-organizado"
 
-#: Menus.cpp:666
+#: Menus.cpp:789
 msgid "Effe&ct"
 msgstr "Efeito&s"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetir último efeito\tCtrl+R"
-
-#: Menus.cpp:702
+#: Menus.cpp:873
 msgid "&Analyze"
 msgstr "A&nalisar"
 
-#: Menus.cpp:704
+#: Menus.cpp:875
+msgid "Contrast..."
+msgstr "Contraste..."
+
+#: Menus.cpp:878
 msgid "Plot Spectrum..."
-msgstr "&Espectro de freqüência..."
+msgstr "&Espectro de frequência..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:945
+#: Menus.cpp:948
 msgid "&Help"
 msgstr "Aj&uda"
 
-#: Menus.cpp:743
+#: Menus.cpp:952
 msgid "&About Audacity CleanSpeech..."
 msgstr "&Sobre o Audacity CleanSpeech..."
 
-#: Menus.cpp:747
+#: Menus.cpp:958
 msgid "&Show Welcome Message..."
 msgstr "&Exibir tela de boas-vindas..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "Índ&ice da Ajuda..."
-
 #: Menus.cpp:959
+msgid "&Help..."
+msgstr "Aj&uda..."
+
+#: Menus.cpp:960
 msgid "Show &Log..."
-msgstr ""
+msgstr "Exibir &Log..."
 
-#: Menus.cpp:756
+#: Menus.cpp:966
 msgid "&Screenshot Tools..."
 msgstr "&Fotos de tela..."
 
-#: Menus.cpp:759
+#: Menus.cpp:971
 msgid "&Run Benchmark..."
 msgstr "E&xecutar diagnóstico..."
 
-#: Menus.cpp:761
+#: Menus.cpp:976
 msgid "&Audio Device Info..."
 msgstr "&Dispositivos de áudio..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
-
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
+#: Menus.cpp:987
+msgid "Move backward from toolbars to tracks"
+msgstr "Mover de volta das barras de ferramentas para as faixas"
 
-#: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Ferramenta de seleção\tF1"
+#: Menus.cpp:988
+msgid "Move forward from toolbars to tracks"
+msgstr "Alternar entre Barra de Seleção, Visualização de Faixas e Dock\tCtrl+F6"
 
-#: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Ferramenta Envelope\tF2"
-
-#: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Ferramenta de desenho\tF3"
+#: Menus.cpp:990
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Ferramenta de seleção"
 
-#: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Ferramenta de Zoom\tF4"
+#: Menus.cpp:991
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Ferramenta Envelope"
 
-#: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Ferramenta Deslizar\tF5"
+#: Menus.cpp:992
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Ferramenta Desenhar"
 
-#: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Multi-ferramenta\tF6"
+#: Menus.cpp:993
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Ferramenta de Zoom"
 
-#: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Próxima ferramenta\tD"
+#: Menus.cpp:994
+#: toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Ferramenta Deslizar"
 
-#: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Ferramenta anterior\tA"
+#: Menus.cpp:995
+#: toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Multi-ferramenta"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
+msgid "Next Tool"
+msgstr "Próxima ferramenta"
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Parar\tS"
+#: Menus.cpp:998
+msgid "Previous Tool"
+msgstr "Ferramenta anterior"
 
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Pausar\tP"
+#: Menus.cpp:1000
+msgid "Play/Stop"
+msgstr "Reproduzir/Parar"
 
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Gravar\tR"
+#: Menus.cpp:1001
+msgid "Play/Stop and Set Cursor"
+msgstr "Reproduzir/Parar e Selecionar"
 
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "Gravar ao final\tShift+R"
+#: Menus.cpp:1002
+msgid "Play One Second"
+msgstr "Reproduzir um segundo"
 
-#: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Reproduzir/Parar e Selecionar\tShift+A"
+#: Menus.cpp:1003
+msgid "Play To Selection"
+msgstr "Reproduzir seleção"
 
-#: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Reproduzir um segundo\t1"
+#: Menus.cpp:1004
+msgid "Play Cut Preview"
+msgstr "Reproduzir recorte da previsão"
 
-#: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Reproduzir seleção\tB"
+#: Menus.cpp:1006
+msgid "Selection to Start"
+msgstr "Selecionar desde o início"
 
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Reproduzir continuamente\tL"
+#: Menus.cpp:1007
+msgid "Selection to End"
+msgstr "Selecionar do cursor para o fim"
 
 #: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
-
-#: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Reproduzir recorte da previsão\tC"
-
-#: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Seleção desde o início\tShift+Home"
-
-#: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Selecionar do cursor para o fim\tShift+End"
-
-#: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Apagar\tBackspace"
-
-#: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Apagar\tDelete"
-
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Alterar posição do cursor pouco à esquerda\tLeft"
+msgid "DeleteKey"
+msgstr "Apagar"
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Alterar posição do cursor pouco à direita\tRight"
+#: Menus.cpp:1013
+msgid "DeleteKey2"
+msgstr "Apagar2"
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Alterar posição do cursor mais à esquerda\tShift+Left"
+#: Menus.cpp:1019
+msgid "Short seek left during playback"
+msgstr "Alterar posição do cursor pouco à esquerda"
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Alterar posição do cursor mais à direita\tShift+Right"
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
+msgstr "Alterar posição do cursor pouco à direita"
 
-#: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Mover foco para a faixa anterior\tUp"
+#: Menus.cpp:1021
+msgid "Long seek left during playbk"
+msgstr "Alterar posição do cursor à esquerda"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Mover foco para a faixa anterior e alterar seleção\tShift+Up"
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
+msgstr "Alterar posição do cursor à direita"
 
-#: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Mover foco para a faixa posterior\tDown"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous Track"
+msgstr "Mover foco para a faixa anterior"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Mover foco para a faixa posterior e alterar seleção\tShift+Down"
+#: Menus.cpp:1028
+msgid "Move Focus to Previous and Select"
+msgstr "Mover foco para a faixa anterior e e alterar seleção"
 
-#: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Alterar foco sobre a faixa\tReturn"
+#: Menus.cpp:1029
+msgid "Move Focus to Next Track"
+msgstr "Mover foco para a faixa posterior"
 
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Alterar foco sobre a faixa\tNUMPAD_ENTER"
+#: Menus.cpp:1030
+msgid "Move Focus to Next and Select"
+msgstr "Mover foco para a faixa posterior e alterar seleção"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+#: Menus.cpp:1031
+#: Menus.cpp:1032
+msgid "Toggle Focused Track"
+msgstr "Alterar foco sobre a faixa"
 
-#: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Cursor à Esquerda\tLeft"
+#: Menus.cpp:1034
+msgid "Cursor Left"
+msgstr "Cursor à Esquerda"
 
-#: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Cursor à Direita\tRight"
+#: Menus.cpp:1035
+msgid "Cursor Right"
+msgstr "Cursor à Direita"
 
-#: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Movimento curto do Cursor à esquerda\t,"
+#: Menus.cpp:1036
+msgid "Cursor Short Jump Left"
+msgstr "Movimento curto do Cursor à esquerda"
 
-#: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Movimento curto do Cursor à direita\t."
+#: Menus.cpp:1037
+msgid "Cursor Short Jump Right"
+msgstr "Movimento curto do Cursor à direita"
 
-#: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Movimento longo do Cursor à esquerda\tShift+,"
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Left"
+msgstr "Movimento longo do Cursor à esquerda"
 
-#: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Movimento longo do Cursor à direita\tShift+."
+#: Menus.cpp:1039
+msgid "Cursor Long Jump Right"
+msgstr "Movimento longo do Cursor à direita"
 
-#: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Extender seleção à esquerda\tShift+Left"
+#: Menus.cpp:1041
+msgid "Selection Extend Left"
+msgstr "Extender seleção à esquerda"
 
-#: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Extender seleção à direita\tShift+Right"
+#: Menus.cpp:1042
+msgid "Selection Extend Right"
+msgstr "Extender seleção à direita"
 
-#: Menus.cpp:841
+#: Menus.cpp:1044
 msgid "Set (or Extend) Left Selection"
 msgstr "Ajustar (ou extender) seleção à esquerda"
 
-#: Menus.cpp:842
+#: Menus.cpp:1045
 msgid "Set (or Extend) Right Selection"
 msgstr "Ajustar (ou extender) seleção à direita"
 
-#: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Contarir seleção à esquerda\tCtrl+Shift+Right"
+#: Menus.cpp:1047
+msgid "Selection Contract Left"
+msgstr "Contarir seleção à esquerda"
 
-#: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Contarir seleção à direita\tCtrl+Shift+Left"
+#: Menus.cpp:1048
+msgid "Selection Contract Right"
+msgstr "Contarir seleção à esquerda"
 
-#: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Alterar balanço da faixa selecionada\tShift+P"
+#: Menus.cpp:1050
+msgid "Change pan on focused track"
+msgstr "Alterar balanço da faixa selecionada"
 
-#: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Balanço à esquerda nas faixas selecionadas\tAlt+Shift+Left"
+#: Menus.cpp:1051
+msgid "Pan left on focused track"
+msgstr "Balanço à esquerda nas faixas selecionadas"
 
-#: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Balanço à direita na faixa selecionada\tAlt+Shift+Right"
+#: Menus.cpp:1052
+msgid "Pan right on focused track"
+msgstr "Balanço à direita na faixa selecionada"
 
-#: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Alterar ganho na faixa selecionada\tShift+G"
+#: Menus.cpp:1053
+msgid "Change gain on focused track"
+msgstr "Alterar ganho na faixa selecionada"
 
-#: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Aumentar ganho na faixa selecionada\tAlt+Shift+Up"
+#: Menus.cpp:1054
+msgid "Increase gain on focused track"
+msgstr "Aumentar ganho na faixa selecionada"
 
-#: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Diminuir ganho na faixa selecionada\tAlt+Shift+Down"
+#: Menus.cpp:1055
+msgid "Decrease gain on focused track"
+msgstr "Diminuir ganho na faixa selecionada"
 
-#: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
+#: Menus.cpp:1056
+msgid "Open menu on focused track"
 msgstr "Abrir menu da faixa selecionada"
 
-#: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Mudo/não-Mudo na faixa selecionada\tShift+U"
+#: Menus.cpp:1057
+msgid "Mute/Unmute focused track"
+msgstr "Mudo/não-Mudo na faixa selecionada"
 
-#: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Solo/não-Solo na faixa selecionada\tShift+S"
+#: Menus.cpp:1058
+msgid "Solo/Unsolo focused track"
+msgstr "Solo/não-Solo na faixa selecionada"
 
-#: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Fechar faixa selecionada\tShift+C"
+#: Menus.cpp:1059
+msgid "Close focused track"
+msgstr "Fechar faixa selecionada"
 
-#: Menus.cpp:858
+#: Menus.cpp:1061
 msgid "Snap To On"
 msgstr "Antecipação ligada"
 
-#: Menus.cpp:859
+#: Menus.cpp:1062
 msgid "Snap To Off"
 msgstr "Antecipação desligada"
 
+#: Menus.cpp:1066
+msgid "Full screen on/off"
+msgstr "Tela cheia li/desl"
+
+#: Menus.cpp:1068
+msgid "Adjust output gain"
+msgstr "Controle de volume principal"
+
+#: Menus.cpp:1069
+msgid "Increase output gain"
+msgstr "Aumentar ganho de volume"
+
+#: Menus.cpp:1070
+msgid "Decrease output gain"
+msgstr "Diminuir ganho de volume"
+
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
-msgstr ""
+msgid "Adjust input gain"
+msgstr "Controle de volume de entrada"
+
+#: Menus.cpp:1072
+msgid "Increase input gain"
+msgstr "Aumentar ganho de entrada"
+
+#: Menus.cpp:1073
+msgid "Decrease input gain"
+msgstr "Diminuir ganho de entrada"
+
+#: Menus.cpp:1075
+msgid "Adjust input source"
+msgstr "Ajustar fonte de entrada"
+
+#: Menus.cpp:1079
+msgid "Play at speed"
+msgstr "Executar-em-velocidade"
+
+#: Menus.cpp:1080
+msgid "Adjust playback speed"
+msgstr "Ajustar velocidade de reprodução"
+
+#: Menus.cpp:1081
+msgid "Increase playback speed"
+msgstr "Aumentar velocidade de reprodução"
+
+#: Menus.cpp:1082
+msgid "Decrease playback speed"
+msgstr "Diminuir velocidade de reprodução"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:873
+#: Menus.cpp:1167
 msgid "Open Recent"
 msgstr "Abrir recente"
 
+# ver a questao do atalho d teclado
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1161
+#: Menus.cpp:1170
 msgid "Recent &Files"
-msgstr ""
+msgstr "Ar&quivos recentes"
 
-#: Menus.cpp:925
+#: Menus.cpp:1188
 #, c-format
 msgid "&Undo %s"
 msgstr "Des&fazer %s"
 
-#: Menus.cpp:951
+#: Menus.cpp:1214
 msgid "Can't Undo"
 msgstr "Impossível desfazer"
 
-#: Menus.cpp:960
+#: Menus.cpp:1223
 #, c-format
 msgid "&Redo %s"
 msgstr "&Refazer %s"
 
-#: Menus.cpp:966
+#: Menus.cpp:1229
 msgid "Can't Redo"
 msgstr "Impossível refazer"
 
-#: Menus.cpp:1528
+#: Menus.cpp:1874
 msgid "Sort By Time"
 msgstr "Organizar por tempo"
 
-#: Menus.cpp:1528
+#: Menus.cpp:1874
 msgid "Tracks sorted by time"
 msgstr "Faixas organizadas por tempo"
 
-#: Menus.cpp:1554
+#: Menus.cpp:1900
 msgid "Sort By Name"
 msgstr "Organizar por Nome"
 
-#: Menus.cpp:1554
+#: Menus.cpp:1900
 msgid "Tracks sorted by name"
 msgstr "Faixas organizadas por nome"
 
-#: Menus.cpp:1705
-msgid "Set Left Selection Bound"
+#: Menus.cpp:2051
+#: Menus.cpp:2087
+msgid "Position"
+msgstr "Posição"
+
+#: Menus.cpp:2051
+msgid "Set Left Selection Boundary"
 msgstr "Ajustar limite esquerdo da seleção"
 
-#: Menus.cpp:1739
-msgid "Set Right Selection Bound"
+#: Menus.cpp:2087
+msgid "Set Right Selection Boundary"
 msgstr "Ajustar limite direito da seleção"
 
-#: Menus.cpp:2006
+#: Menus.cpp:2444
 msgid "You must select a track first."
 msgstr "Você deve selecionar uma faixa antes."
 
-#: Menus.cpp:2035
+#: Menus.cpp:2479
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetir %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repetir %s"
 
-#: Menus.cpp:2166
+#: Menus.cpp:2620
 msgid "There are no label tracks to export."
 msgstr "Não há títulos para exportar."
 
-#: Menus.cpp:2608
+#: Menus.cpp:2715
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "Exportar MIDI como:"
 
-#: Menus.cpp:2612
+#: Menus.cpp:2719
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "Arquivos MIDI (*.mid)|*.mid|Arquivos Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2644
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2751
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
+"Você selecionou um arquivo com uma extensão descnhecida.\n"
+"Deseja continuar?"
 
-#: Menus.cpp:2645
+#: Menus.cpp:2752
 msgid "Export MIDI"
-msgstr ""
+msgstr "Exportar MIDI"
 
-#: Menus.cpp:2271
+#: Menus.cpp:2830
 msgid "Nothing to undo"
 msgstr "Não há mais o que desfazer"
 
-#: Menus.cpp:2291
+#: Menus.cpp:2851
 msgid "Nothing to redo"
 msgstr "Não há mais o que refazer"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2958
+#: TrackPanel.cpp:652
+#: toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Cortar"
 
-#: Menus.cpp:2366
+#: Menus.cpp:2958
 msgid "Cut to the clipboard"
 msgstr "Cortar para a Área de Transferência"
 
-#: Menus.cpp:2404
+#: Menus.cpp:2997
 msgid "Split Cut"
 msgstr "Separar e Recortar"
 
-#: Menus.cpp:2404
+#: Menus.cpp:2997
 msgid "Split-cut to the clipboard"
 msgstr "Separar e Recortar para a Área de Transferência"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
-#: toolbars/EditToolBar.cpp:137
+#: Menus.cpp:3063
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
+#: TrackPanel.cpp:654
+#: toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Colar"
 
-#: Menus.cpp:2469
+#: Menus.cpp:3063
 msgid "Pasted text from the clipboard"
 msgstr "Texto copiado para a Área de Transferência"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
 msgid "Pasted from the clipboard"
 msgstr "Colado da área de transferência"
 
-#: Menus.cpp:3053
+#: Menus.cpp:3277
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "Não é possível misturar diferentes tipos de em uma mesma faixas."
 
-#: Menus.cpp:2574
+#: Menus.cpp:3289
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Não é possível copiar áudio estéreo em faixas mono"
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3444
+#: toolbars/EditToolBar.cpp:193
 msgid "Trim"
 msgstr "Silenciar fora da seleção"
 
-#: Menus.cpp:2670
+#: Menus.cpp:3444
 msgid "Trim file to selection"
 msgstr "Cortar arquivo para seleção"
 
-#: Menus.cpp:2699
+#: Menus.cpp:3473
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Separados e copiados %.2f segundos a t=%.2f"
 
-#: Menus.cpp:2702
+#: Menus.cpp:3476
 msgid "Split Delete"
 msgstr "Separar e Apagar"
 
-#: Menus.cpp:2723
+#: Menus.cpp:3497
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Desunidos %.2f segundos a t=%.2f"
 
-#: Menus.cpp:2726
+#: Menus.cpp:3500
 msgid "Disjoin"
 msgstr "Separar"
 
-#: Menus.cpp:2747
+#: Menus.cpp:3521
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Unidos %.2f segundos a t=%.2f"
 
-#: Menus.cpp:2750
+#: Menus.cpp:3524
 msgid "Join"
 msgstr "Unir"
 
-#: Menus.cpp:2769
+#: Menus.cpp:3543
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
-msgstr "Faixas silenciadas por %.2f segundo em %.2f"
+msgstr "Faixas silenciadas por %.2f segundos em %.2f"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3545
+#: toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Silenciar"
 
-#: Menus.cpp:2805
+#: Menus.cpp:3575
 msgid "Duplicate"
 msgstr "Duplicar"
 
-#: Menus.cpp:2805
+#: Menus.cpp:3575
 msgid "Duplicated"
 msgstr "Duplicado"
 
-#: Menus.cpp:2824
+#: Menus.cpp:3594
 msgid "Cut Labels"
 msgstr "Recortar títulos"
 
-#: Menus.cpp:2824
+#: Menus.cpp:3594
 msgid "Cut labeled regions to the clipboard"
 msgstr "Recortar áreas com títulos para a Área de Transferência"
 
-#: Menus.cpp:2838
+#: Menus.cpp:3608
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Separar e Recortar as áreas com título para a Área de Transferência"
 
-#: Menus.cpp:2839
+#: Menus.cpp:3609
 msgid "Split Cut Labels"
 msgstr "Separar e Recortar títulos"
 
-#: Menus.cpp:2853
+#: Menus.cpp:3623
 msgid "Copied labeled regions to the clipboard"
 msgstr "Áreas com títulos copiadas para a Área de Transferência"
 
-#: Menus.cpp:2853
+#: Menus.cpp:3623
 msgid "Copy Labels"
 msgstr "Copiar títulos"
 
-#: Menus.cpp:2865
+#: Menus.cpp:3635
 msgid "Delete Labels"
 msgstr "Apagar títulos"
 
-#: Menus.cpp:2865
+#: Menus.cpp:3635
 msgid "Deleted labeled regions"
 msgstr "Áreas com títulos apagadas"
 
-#: Menus.cpp:2877
+#: Menus.cpp:3647
 msgid "Split Delete Labels"
 msgstr "Separar e Apagar títulos"
 
-#: Menus.cpp:2877
+#: Menus.cpp:3647
 msgid "Split Deleted labeled regions"
 msgstr "Separar e Apagar áreas com títulos"
 
-#: Menus.cpp:2889
+#: Menus.cpp:3659
 msgid "Silence Labels"
 msgstr "Silenciar títulos"
 
-#: Menus.cpp:2889
+#: Menus.cpp:3659
 msgid "Silenced labeled regions"
 msgstr "Áreas com títulos silenciadas"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3671
 msgid "Split Labels"
 msgstr "Separar títulos"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3671
 msgid "Split labeled regions"
 msgstr "Separar áreas com títulos"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3683
 msgid "Join Labels"
 msgstr "Unir títulos"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3683
 msgid "Joined labeled regions"
 msgstr "Áreas com títulos unidas"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3695
 msgid "Disjoin Labels"
 msgstr "Separar títulos"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3695
 msgid "Disjoined labeled regions"
 msgstr "Regiões com títulos desunidas"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:3717
+#: TrackPanel.cpp:6257
 msgid "Split"
 msgstr "Dividir seleção"
 
-#: Menus.cpp:3041
+#: Menus.cpp:3806
 msgid "Split New"
 msgstr "Separar para nova"
 
-#: Menus.cpp:3041
+#: Menus.cpp:3806
 msgid "Split to new track"
 msgstr "Separar para nova faixa"
 
-#: Menus.cpp:3124
+#: Menus.cpp:3888
 msgid "Split at labels"
 msgstr "Dividir nos títulos"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Para desenhar o espectro, todas as faixas devem ter a mesma taxa de amostragem."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Foi selecionado áudio demais. Só os primeiros %1f segundos serão analizados."
-
-#: Menus.cpp:3584
+#: Menus.cpp:4302
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Títulos importados de '%s'"
 
-#: Menus.cpp:3585
+#: Menus.cpp:4303
 msgid "Import Labels"
 msgstr "Importar títulos"
 
-#: Menus.cpp:3595
+#: Menus.cpp:4314
 msgid "Select a MIDI file..."
 msgstr "Selecione um arquivo MIDI..."
 
-#: Menus.cpp:4147
+#: Menus.cpp:4318
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "Arquivos MIDI e Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|Arquivos MIDI (*.mid;*.midi)|*.mid;*.midi|Arquivos Allegro (*.gro)|*.gro|Todos os arquivos (*.*)|*.*"
 
-#: Menus.cpp:3615
+#: Menus.cpp:4334
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "MIDI importado de '%s'"
 
-#: Menus.cpp:3617
+#: Menus.cpp:4335
 msgid "Import MIDI"
 msgstr "Importar MIDI"
 
-#: Menus.cpp:3630
+#: Menus.cpp:4349
 msgid "Select any uncompressed audio file..."
 msgstr "Selecione um arquivo de áudio não-comprimido..."
 
-#: Menus.cpp:3634
+#: Menus.cpp:4353
 msgid "All files (*)|*"
 msgstr "Todos os arquivos (*)|*"
 
-#: Menus.cpp:3668
+#: Menus.cpp:4377
 msgid "Edit the metadata tags"
 msgstr "Editar tags de metadados"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:4378
+#: export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Editar metadados"
 
-#: Menus.cpp:3669
+#: Menus.cpp:4378
 msgid "Edit Metadata tags"
 msgstr "Editar tags de metadados"
 
-#: Menus.cpp:3725
+#: Menus.cpp:4433
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Gerado todo o áudio da faixa '%s'"
 
-#: Menus.cpp:3726
+#: Menus.cpp:4434
 msgid "Render"
 msgstr "Gerar"
 
-#: Menus.cpp:3731
+#: Menus.cpp:4439
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "Geradas e mixadas %d faixas em uma faixa estéreo"
 
-#: Menus.cpp:3734
+#: Menus.cpp:4442
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Geradas e mixadas %d faixas em uma faixa mono"
 
-#: Menus.cpp:3736
+#: Menus.cpp:4444
 #: Mix.cpp:120
-msgid "&Mix and Render"
-msgstr "&Mixar"
+msgid "Mix and Render"
+msgstr "Mixar"
 
-#: Menus.cpp:3866
+#: Menus.cpp:4576
 msgid "Aligned with zero"
 msgstr "Alinhar com o zero"
 
-#: Menus.cpp:3870
+#: Menus.cpp:4580
 msgid "Aligned cursor"
 msgstr "Cursor alinhado"
 
-#: Menus.cpp:3874
+#: Menus.cpp:4584
 msgid "Aligned with selection start"
 msgstr "Com o início da seleção"
 
-#: Menus.cpp:3878
+#: Menus.cpp:4588
 msgid "Aligned with selection end"
 msgstr "Com o final da seleção"
 
-#: Menus.cpp:3882
+#: Menus.cpp:4592
 msgid "Aligned end with cursor"
 msgstr "Término com o cursor"
 
-#: Menus.cpp:3886
+#: Menus.cpp:4596
 msgid "Aligned end with selection start"
 msgstr "Término com o início da seleção"
 
-#: Menus.cpp:3890
+#: Menus.cpp:4600
 msgid "Aligned end with selection end"
 msgstr "Término com o final da seleção"
 
-#: Menus.cpp:3894
+#: Menus.cpp:4604
 msgid "Aligned"
 msgstr "Alinhado"
 
-#: Menus.cpp:3927
+#: Menus.cpp:4637
 msgid "Align"
 msgstr "Alinhar"
 
-#: Menus.cpp:4550
+#: Menus.cpp:4723
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "Sincronizar MIDI vom Áudio"
 
-#: Menus.cpp:4554
+#: Menus.cpp:4727
 msgid "Alignment completed."
-msgstr ""
+msgstr "Alinhamento completado."
 
-#: Menus.cpp:3950
+#: Menus.cpp:4738
 msgid "Created new audio track"
 msgstr "Criada nova faixa de áudio"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:4738
+#: Menus.cpp:4760
+#: Menus.cpp:4775
+#: Menus.cpp:4795
 msgid "New Track"
 msgstr "Nova faixa"
 
-#: Menus.cpp:3973
+#: Menus.cpp:4760
 msgid "Created new stereo audio track"
 msgstr "Criada nova faixa de áudio estéreo"
 
-#: Menus.cpp:3988
+#: Menus.cpp:4775
 msgid "Created new label track"
 msgstr "Criado novo título"
 
-#: Menus.cpp:3997
+#: Menus.cpp:4784
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "The version of Audacity you are using does not support multiple time tracks."
 
-#: Menus.cpp:4008
+#: Menus.cpp:4795
 msgid "Created new time track"
 msgstr "Criada nova faixa de tempo"
 
-#: Menus.cpp:4057
+#: Menus.cpp:4855
 msgid "Added label"
 msgstr "Título adicionado"
 
-#: Menus.cpp:4085
+#: Menus.cpp:4890
 msgid "Edited labels"
 msgstr "Títulos editados"
 
-#: Menus.cpp:4112
+#: Menus.cpp:4917
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Salvar configurações do CleanSpeech como:"
 
-#: Menus.cpp:4116
+#: Menus.cpp:4921
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Ajustes do CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4928
+#: export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Desculpe, nomes com mais de 256 caracteres não são aceitos."
 
-#: Menus.cpp:4169
+#: Menus.cpp:4974
 msgid "Problem encountered exporting presets."
-msgstr "Houve um problema ao exportar as configurações;"
+msgstr "Houve um problema ao exportar os ajustes."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4975
+#: export/Export.cpp:472
 msgid "Unable to export"
 msgstr "Não foi possível exportar"
 
-#: Menus.cpp:4354
+#: Menus.cpp:5158
 msgid "Remove Track"
 msgstr "Remover faixa"
 
-#: Menus.cpp:4354
+#: Menus.cpp:5158
 msgid "Removed audio track(s)"
 msgstr "Remover faixas de áudio"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:5314
+#: Menus.cpp:5370
+#: export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Reamostrar"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5335
+#: TrackPanel.cpp:6481
 msgid "New sample rate (Hz):"
 msgstr "Nova taxa de amostragem (Hz):"
 
-#: Menus.cpp:4514
+#: Menus.cpp:5359
+#: TrackPanel.cpp:6505
 msgid "The entered value is invalid"
 msgstr "O valor digitado não é válido"
 
-#: Menus.cpp:4525
+#: Menus.cpp:5368
 #, c-format
 msgid "Resampling track %d"
 msgstr "Reamostrando faixa %d"
 
-#: Menus.cpp:4536
+#: Menus.cpp:5377
 msgid "Resample Track"
 msgstr "Reamostrar faixa"
 
-#: Menus.cpp:4536
+#: Menus.cpp:5377
 msgid "Resampled audio track(s)"
 msgstr "Reamostrar faixa de áudio"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:95
+#: Mix.cpp:102
 msgid "Mix"
 msgstr "Mix"
 
@@ -2936,54 +3078,59 @@ msgstr "Mix"
 msgid "Mixing and rendering tracks"
 msgstr "Mixando e gerando faixas"
 
-#: NoteTrack.cpp:36
+#: NoteTrack.cpp:43
 msgid "Note Track"
 msgstr "Nota de faixa"
 
-#: Printing.cpp:198
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Houve um problema ao imprimir."
 
-#: Printing.cpp:199
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Imprimir"
 
-#: Project.cpp:636
+#: Project.cpp:671
+msgid "Repeat Last Effect"
+msgstr "Repetir último efeito"
+
+#: Project.cpp:776
 msgid "Main Mix"
 msgstr "Mix principal"
 
-#: Project.cpp:761
+#: Project.cpp:894
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Bem-vindo ao Audacity versão %s"
 
-#: Project.cpp:922
+#: Project.cpp:1049
 msgid "(Recovered)"
 msgstr "(Recuperado)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
+#: toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Gravar"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
 msgid "Recorded Audio"
 msgstr "Áudio gravado"
 
-#: Project.cpp:1500
+#: Project.cpp:1736
 msgid "Save changes before closing?"
 msgstr "Deseja salvar as alterações no arquivo?"
 
-#: Project.cpp:1503
-msgid "\n"
+#: Project.cpp:1739
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr "\n"
+msgstr ""
 "\n"
 "O projeto será salvo vazio!!\n"
 "\n"
@@ -2992,33 +3139,35 @@ msgstr "\n"
 "todas as faixas estejam novamente abertas,\n"
 "só então selecione Arquivo > Salvar projeto."
 
-#: Project.cpp:1506
+#: Project.cpp:1742
 msgid "Save changes?"
 msgstr "Salvar alterações"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Todos os arquivos|*.*|Todos os arquivos suportados|"
+#: Project.cpp:1954
+msgid "All files|*|All supported files|"
+msgstr "Todos os arquivos|*|Todos os arquivos suportados|"
 
-#: Project.cpp:1719
+#: Project.cpp:1984
 msgid "Select one or more audio files..."
 msgstr "Selecionar arquivo de áudio..."
 
-#: Project.cpp:1746
+#: Project.cpp:2011
 msgid "Audacity projects|*.aup|"
 msgstr "Projetos do Audacity|*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:2071
+#: Project.cpp:2506
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr "Este arquivo foi salvo pelo Audacity %s, uma\n"
+msgstr ""
+"Este arquivo foi salvo pelo Audacity %s, uma\n"
 "versão muito antiga do programa. O formato\n"
 "de arquivo mudou desde então. \n"
 "Tentar abrir este arquivo provavelmente o\n"
@@ -3028,81 +3177,108 @@ msgstr "Este arquivo foi salvo pelo Audacity %s, uma\n"
 "\n"
 "Tem certeza que deseja abrir este arquivo?"
 
-#: Project.cpp:1800
+#: Project.cpp:2072
 msgid "1.0 or earlier"
 msgstr "1.0 ou anterior"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:2078
+#: Project.cpp:2518
 msgid "Opening old project file"
 msgstr "Abrindo arquivo de Projeto em formato antigo"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2102
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"Você está tentando abrir um arquivo de backup\n"
+"gerado automaticamente. Continuar nesta operação\n"
+"pode resultar em perda de dados.\n"
+"\n"
+"Por favor, abra o Projeto do Audacity referente\n"
+"a este projeto."
+
+#: Project.cpp:2103
+msgid "Backup file detected"
+msgstr "Arquivo de backup detectado"
+
+#: Project.cpp:2117
+#: Project.cpp:2125
+#: xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Erro abrindo arquivo"
 
-#: Project.cpp:1846
+#: Project.cpp:2131
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "O arquivo pode estar corrompido ou inválido: \n"
+msgstr ""
+"O arquivo pode estar corrompido ou inválido: \n"
 "%s"
 
-#: Project.cpp:1847
+#: Project.cpp:2132
 msgid "Error opening file or project"
 msgstr "Erro ao abrir arquivo ou projeto"
 
-#: Project.cpp:1867
+#: Project.cpp:2152
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "O Audacity não pôde converter o arquivo da versão 1.0."
 
-#: Project.cpp:1970
+#: Project.cpp:2259
 msgid "Could not remove old auto save file"
 msgstr "Não foi possível recuperar os arquivos na pasta de auto-recuperação"
 
-#: Project.cpp:1972
+#: Project.cpp:2261
 msgid "Project was recovered"
 msgstr "O projeto foi recuperado"
 
-#: Project.cpp:1972
+#: Project.cpp:2261
 msgid "Recover"
 msgstr "Recuperar"
 
-#: Project.cpp:2001
+#: Project.cpp:2290
 msgid "Project checker repaired file"
 msgstr "A Verificação Automática de Projeto reparou o arquivo"
 
-#: Project.cpp:2001
+#: Project.cpp:2290
 #: effects/Repair.h:29
 msgid "Repair"
 msgstr "Reparar"
 
-#: Project.cpp:2112
+#: Project.cpp:2431
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Não foi encontrado o arquivo de projeto na pasta: \"%s\""
 
-#: Project.cpp:2155
+#: Project.cpp:2475
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "Este arquivo foi feito no Audacity versão %s.\n"
+msgstr ""
+"Este arquivo foi feito no Audacity versão %s.\n"
 "Você está utilizando a versão %s do programa.\n"
 "Visite http://audacity.sf.net e atualize o Audacity para abrir este arquivo."
 
-#: Project.cpp:2159
+#: Project.cpp:2479
 msgid "Can't open project file"
 msgstr "Não foi possível abrir o arquivo de projeto"
 
-#: Project.cpp:2193
+#: Project.cpp:2513
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "Este arquivo foi salvo pelo Audacity %s, e\n"
+msgstr ""
+"Este arquivo foi salvo pelo Audacity %s, e\n"
 "o formato de arquivo mudou desde então. \n"
 "O Audacity pode tentar abrir este arquivo\n"
 "mas provavelmente haverão problemas.\n"
@@ -3115,8 +3291,9 @@ msgstr "Este arquivo foi salvo pelo Audacity %s, e\n"
 "\n"
 "Tem certeza que deseja abrir este arquivo?"
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2711
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3125,55 +3302,70 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"O projeto será salvo vazio!!\n"
+"\n"
+"Para salvar as faixas abertas anteriormente,\n"
+"clique Cancelar, Editar > Desfazer até que\n"
+"todas as faixas estejam novamente abertas,\n"
+"só então selecione Arquivo > Salvar projeto.\n"
+"\n"
+"Deseja salvar assim mesmo?"
 
-#: Project.cpp:2538
+#: Project.cpp:2712
 msgid "Warning empty project"
-msgstr ""
+msgstr "Aviso projeto em branco"
 
-#: Project.cpp:2591
+#: Project.cpp:2821
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
+"Não foi possível salvar o projeto.\n"
+"O disco %s pode estar cheio ou protegido\n"
+"contra gravação."
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2823
+#: Project.cpp:2849
 msgid "Error saving project"
 msgstr "Erro salvando projeto"
 
-#: Project.cpp:2504
+#: Project.cpp:2847
+#: Project.cpp:3950
+#: Tags.cpp:1203
+#: effects/Equalization.cpp:1095
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "Não foi possível gravar no arquivo \"%s\": %s"
+
+#: Project.cpp:2927
 #, c-format
 msgid "Saved %s"
 msgstr "Salvo como %s"
 
-#: Project.cpp:2586
+#: Project.cpp:3080
 #, c-format
 msgid "Imported '%s'"
-msgstr "Importado: '%s'"
+msgstr "Importado '%s'"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
-#: import/ImportPCM.cpp:484
+#: Project.cpp:3081
 msgid "Import"
 msgstr "Importar"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:3116
 msgid "Error importing"
 msgstr "Erro importando "
 
-#: Project.cpp:2681
+#: Project.cpp:3163
 msgid "Save Speech As:"
 msgstr "Salvar Fala como:"
 
-#: Project.cpp:2683
+#: Project.cpp:3165
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Arquivo de áudio Windows PCM (*.wav)|*.wav"
 
-#: Project.cpp:2894
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:3172
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
@@ -3181,165 +3373,370 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
 msgstr ""
+"Arquivos de projeto comprimidos do Audacity (.AUP) permitem que se salve todo o projeto\n"
+"em formato compactado (.OGG) e envie pela Internet, devido ao seu tamanho reduzido. \n"
+"A abertura de arquivos comprimidos demora mais tempo que o normal.\n"
+"No entanto, a maioria dos programas de edição de áudio não\n"
+"é capaz de abrir estes arquivos. \n"
+"Para salvar em um formato executável por outros programas de edição, selecione Exportar."
 
-#: Project.cpp:2897
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3175
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
+"Você está salvando um Arquivo de Projeto do Audacity (.aup)\n"
+"\n"
+"Salvar um projeto cria um arquivo que apenas o Audacity consegue abrir.\n"
+"\n"
+"Para salvar um arquivo de áudio que possa ser editado em outros programas,\n"
+"utilize um dos comandos disponíveis em \"Arquivo > Exportar\".\n"
 
-#: Project.cpp:2692
+#: Project.cpp:3177
+msgid "Save Project As..."
+msgstr "Salvar projeto como..."
+
+#: Project.cpp:3179
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Projeto do Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2736
+#: Project.cpp:3228
 msgid "Created new project"
 msgstr "Criado novo projeto"
 
-#: Project.cpp:2856
+#: Project.cpp:3372
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Apagados %.2f segundos em t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
-#: effects/Equalization.cpp:2593
+#: Project.cpp:3375
+#: effects/Equalization.cpp:1295
+#: effects/Equalization.cpp:2647
 msgid "Delete"
 msgstr "Apagar"
 
-#: Project.cpp:3052
+#: Project.cpp:3569
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Espaço em disco suficiente para %d horas e %d minutos."
 
-#: Project.cpp:3055
+#: Project.cpp:3572
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Espaço em disco suficiente para 1 hora e %d minutos."
 
-#: Project.cpp:3058
+#: Project.cpp:3575
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Espaço em disco suficiente para %d minutos."
 
-#: Project.cpp:3061
+#: Project.cpp:3578
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Espaço em disco suficiente para %d segundos."
 
-#: Project.cpp:3064
+#: Project.cpp:3581
 msgid "Out of disk space"
 msgstr "Disco cheio"
 
-#: Project.cpp:3336
+#: Project.cpp:3594
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Importação completa. Executando %d cálculos de formato de onde sob-demanda. Total de %2.0f%% completo."
 
-#: Project.cpp:3339
+#: Project.cpp:3597
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Importação completa. Executando cálculo de forma de onda sob demanda. %2.0f%% completo."
 
-#: Project.cpp:3342
+#: Project.cpp:3881
 msgid "Could not remove old autosave file: "
 msgstr "Não foi possível apagar o arquivo para salvar automaticamente:"
 
-#: Project.cpp:3383
+#: Project.cpp:3922
 msgid "New Project"
 msgstr "Novo projeto"
 
-#: Project.cpp:3396
+#: Project.cpp:3952
 msgid "Error writing autosave file"
 msgstr "Não foi possível gravar no arquivo para salvar automaticamente"
 
-#: Project.cpp:3421
+#: Project.cpp:3967
 msgid "Could not create autosave file: "
 msgstr "Não foi possível criar o arquivo para salvar automaticamente:"
 
-#: Project.cpp:3447
+#: Project.cpp:3993
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Taxa atual %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample por Dominic Mazzoni e Julius Smith"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Interpol. sincron. de alta qualidade"
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Interpolação sincronizada rápida"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate por Erik de Castro Lopo"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Erro em LibSampleRate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Reamostragem desabilitada."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16 bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24 bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-bit flut"
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Quadro de captura da janela"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Escolha uma pasta para os arquivos exportados"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Salvar imagens em:"
+
+#: Screenshot.cpp:328
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Selecionar..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Capturar tela ou janela completas"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Redimensionar a menor"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Redimensionar a maior"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Fundo azul"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Fundo Branco"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Capturar apenas janela "
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Capturar janela completa"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Capturar janela extendida"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Capturar tela cheia"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Aguarde 5 segundos e capture a janela acima das outras"
+
+#: Screenshot.cpp:369
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr "sem"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Capturar parte da janela do projeto"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Todas as barras de ferramentas"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "Barra de Seleção"
+
+#: Screenshot.cpp:381
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Ferramentas"
+
+#: Screenshot.cpp:382
+#: effects/Contrast.cpp:410
+#: toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr "Controle"
+
+#: Screenshot.cpp:388
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:245
+msgid "Mixer"
+msgstr "Mixagem"
+
+#: Screenshot.cpp:389
+#: toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr "Medição"
+
+#: Screenshot.cpp:390
+#: toolbars/EditToolBar.cpp:76
+#: toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "Editar"
+
+#: Screenshot.cpp:391
+#: prefs/DevicePrefs.cpp:131
+#: prefs/DevicePrefs.cpp:144
+#: prefs/MidiIOPrefs.cpp:137
+#: prefs/MidiIOPrefs.cpp:150
+#: toolbars/DeviceToolBar.cpp:57
+#: toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr "Dispositivo"
+
+#: Screenshot.cpp:392
+#: toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:253
+msgid "Transcription"
+msgstr "Transcrição"
+
+#: Screenshot.cpp:398
+#: TrackPanel.cpp:442
+#: TrackPanel.cpp:443
+msgid "Track Panel"
+msgstr "Painel de Faixas"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Régua"
+
+#: Screenshot.cpp:400
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
+#: prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Faixas"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Primeira faixa"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Segunda faixa"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Escala"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Um segundo"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "Dez seg"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Um min"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "Cinco min"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Uma hora"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Faixas menores"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Faixas médias"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Faixas altas"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Salvo"
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "Erro ao abrir o arquivo: "
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Escolha uma pasta para salvar as imagens de tela"
+
+#: Sequence.cpp:799
+#: Sequence.cpp:809
+#: Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "Interrupção detectada no arquivo de projeto\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
-#: effects/audiounits/AudioUnitEffect.cpp:872
+#: ShuttleGui.cpp:2034
+#: effects/Effect.cpp:436
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr "&Testar"
 
-#: ShuttleGui.cpp:1859
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Debug"
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Gravação ativada por som"
 
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "Nível de ativação (dB):"
 
 #: SplashDialog.cpp:60
-msgid "&Welcome to Audacity!"
-msgstr "&Bem-vindo ao Audacity!"
+msgid "Welcome to Audacity!"
+msgstr "Bem-vindo ao Audacity!"
 
 #: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
@@ -3362,7 +3759,6 @@ msgid "Track Number"
 msgstr "Número da faixa"
 
 #: Tags.cpp:633
-#: Tags.cpp:2138
 msgid "Year"
 msgstr "Ano"
 
@@ -3371,709 +3767,722 @@ msgid "Genre"
 msgstr "Gênero"
 
 #: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Comentários"
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Use as setas do teclado (ou Enter após editar) para navegar entre os campos."
 
-#: Tags.cpp:802
-msgid "Tag Name"
-msgstr "Nome da Tag"
+#: Tags.cpp:812
+msgid "Tag"
+msgstr "Tag:"
 
-#: Tags.cpp:803
-msgid "Tag Value"
+#: Tags.cpp:813
+msgid "Value"
 msgstr "Valor da Tag"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
-msgid "&Clear"
+#: Tags.cpp:828
+msgid "Cl&ear"
 msgstr "&Limpar"
 
-#: Tags.cpp:824
+#: Tags.cpp:834
 msgid "Genres"
 msgstr "Gêneros"
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
-msgstr ""
+msgstr "E&ditar..."
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
-msgstr ""
+msgstr "Rese&t..."
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:844
 msgid "Template"
 msgstr "Modelo"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:848
+#: prefs/KeyConfigPrefs.cpp:167
 msgid "&Load..."
 msgstr "&Carregar..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:849
+#: prefs/KeyConfigPrefs.cpp:168
 msgid "&Save..."
 msgstr "&Salvar"
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
-msgid "S&et Default"
-msgstr "A&juste padrão"
+#: Tags.cpp:851
+msgid "Set De&fault"
+msgstr "Ajustar &padrão"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr "Editar Gêneros"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1034
+#: Tags.cpp:1046
+#: Tags.cpp:1061
+#: Tags.cpp:1074
 msgid "Reset Genres"
 msgstr "Reiniciar Gêneros"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2443
+#: Tags.cpp:1034
+#: Tags.cpp:1074
 msgid "Unable to save genre file."
 msgstr "Não foi possível salvar o arquivo de Gêneros."
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Tem certeza que deseja reiniciar a lista de Gêneros para padrão?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr "Não foi possível abrir o arquivo de Gêneros."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Abrir metadados como:"
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr "Erro ao carregar metadados"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
-#: Tags.cpp:2501
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr "Salvar metadados como:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "Erro ao salvar arquivo de tags"
+
 #: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
-msgstr "O Audacity não pode gravar o arquivo:\n"
+msgstr ""
+"O Audacity não pode gravar o arquivo:\n"
 "  %s."
 
 #: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr "O Audacity não pode abrir o arquivo:\n"
+msgstr ""
+"O Audacity não pode abrir o arquivo:\n"
 "  %s\n"
 "para gravação."
 
 #: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
-msgstr "O Audacity não pode gravar as imagens para o arquivo:\n"
+msgstr ""
+"O Audacity não pode gravar as imagens para o arquivo:\n"
 "  %s."
 
 #: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr "O Audacity não localizou o arquivo:\n"
+msgstr ""
+"O Audacity não localizou o arquivo:\n"
 "  %s.\n"
 "Tema não carregado."
 
 #: Theme.cpp:807
 #: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr "O Audacity não pôde carregar o arquivo:\n"
+msgstr ""
+"O Audacity não pôde carregar o arquivo:\n"
 "  %s.\n"
 "Provável problema no arquivo PNG. "
 
 #: Theme.cpp:823
-msgid "Audacity could not read its default theme.\n"
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr "O Audacity não pode ler o tema padrão.\n"
+msgstr ""
+"O Audacity não pode ler o tema padrão.\n"
 "Por favor, relate este problema em nosso site."
 
 #: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr "Nenhum dos componentes de tema\n"
+msgstr ""
+"Nenhum dos componentes de tema\n"
 " foi encontrado em:\n"
 "  %s."
 
 #: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: effects/NoiseRemoval.cpp:172
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
-msgstr "Não foi possível criar a pasta:\n"
+msgstr ""
+"Não foi possível criar a pasta:\n"
 "  %s"
 
 #: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
-msgstr "O Audacity não pôde salvar o arquivo:\n"
+msgstr ""
+"O Audacity não pôde salvar o arquivo:\n"
 "  %s"
 
 #: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr "Todos os arquivos necessários em:\n"
+msgstr ""
+"Todos os arquivos necessários em:\n"
 "  %s\n"
 "estão presentes."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: TimeDialog.h:29
+#: TimerRecordDialog.cpp:233
+#: TimerRecordDialog.cpp:354
+#: TimerRecordDialog.cpp:358
+#: effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191
+#: effects/Noise.cpp:207
+#: effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291
+#: effects/ToneGen.cpp:323
+#: effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr "Duração"
 
-#: SmartRecordDialog.cpp:68
+#: TimeTrack.cpp:44
+msgid "Time Track"
+msgstr "Faixa de Tempo"
+
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Gravação programada"
 
-#: SmartRecordDialog.cpp:223
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "Duração é zero. Nada será gravado."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Erro de duração"
+
+#: TimerRecordDialog.cpp:230
 msgid "Recording start"
 msgstr "Início da gravação"
 
-#: SmartRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:231
 msgid "Recording end"
 msgstr "Final da gravação"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:237
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Gravação programada do Audacity em progresso"
 
-#: SmartRecordDialog.cpp:273
+#: TimerRecordDialog.cpp:316
 msgid "Start Date and Time"
 msgstr "Data e hora de início"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:323
 msgid "Start Date"
-msgstr ""
+msgstr "Data inicial"
 
-#: SmartRecordDialog.cpp:290
+#: TimerRecordDialog.cpp:335
 msgid "End Date and Time"
 msgstr "Data e hora de término"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:343
 msgid "End Date"
-msgstr ""
+msgstr "Data de término"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: SmartRecordDialog.cpp:383
+#: TimerRecordDialog.cpp:430
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Iniciando a gravação em %s .\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:436
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
+msgstr "Gravação progaramada do Audacity - Aguardando para iniciar"
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Painel de Faixas"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:596
+#: prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "Outra..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:604
+#: TrackPanel.cpp:627
+#: TrackPanel.cpp:636
+#: TrackPanel.cpp:644
 msgid "Name..."
 msgstr "Nome..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:606
+#: TrackPanel.cpp:629
+#: TrackPanel.cpp:640
+#: TrackPanel.cpp:646
 msgid "Move Track Up"
 msgstr "Mover faixa acima"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:607
+#: TrackPanel.cpp:630
+#: TrackPanel.cpp:641
+#: TrackPanel.cpp:647
 msgid "Move Track Down"
 msgstr "Mover faixa abaixo"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:609
+#: effects/ToneGen.cpp:275
+#: prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Forma de onda"
 
-#: TrackPanel.cpp:562
+#: TrackPanel.cpp:610
+#: prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Forma de onda (dB)"
 
-#: TrackPanel.cpp:565
+#: TrackPanel.cpp:612
+#: prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
 msgstr "Log(f) do espectro"
 
-#: TrackPanel.cpp:567
+#. i18n-hint: short form of 'logarithm'
+#: TrackPanel.cpp:613
+#: prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Altura (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:615
+#: TrackPanel.cpp:6200
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:616
+#: TrackPanel.cpp:6199
 msgid "Left Channel"
 msgstr "Canal esquerdo"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:617
+#: TrackPanel.cpp:6199
 msgid "Right Channel"
 msgstr "Canal direito"
 
-#: TrackPanel.cpp:572
+#: TrackPanel.cpp:618
 msgid "Make Stereo Track"
 msgstr "Criar faixa estéreo"
 
-#: TrackPanel.cpp:573
+#: TrackPanel.cpp:619
 msgid "Split Stereo Track"
 msgstr "Separar faixas de estéreo"
 
-#: TrackPanel.cpp:575
+#: TrackPanel.cpp:620
+msgid "Split Stereo to Mono"
+msgstr "Faixa Estéreo para Mono"
+
+#: TrackPanel.cpp:622
 msgid "Set Sample Format"
 msgstr "Taxa de bits da amostragem"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:624
+#: TrackPanel.cpp:6461
 msgid "Set Rate"
 msgstr "Taxa de amostragem"
 
-#: TrackPanel.cpp:585
+#: TrackPanel.cpp:632
 msgid "Up Octave"
 msgstr "Subir oitava"
 
-#: TrackPanel.cpp:586
+#: TrackPanel.cpp:633
 msgid "Down Octave"
 msgstr "Descer oitava"
 
-#: TrackPanel.cpp:591
+#: TrackPanel.cpp:638
 msgid "Font..."
 msgstr "Fonte..."
 
-#: TrackPanel.cpp:602
+#: TrackPanel.cpp:649
 msgid "Set Range..."
 msgstr "Ajuste da taxa..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:653
+#: toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Copiar"
 
-#: TrackPanel.cpp:1272
+#: TrackPanel.cpp:1302
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "Clique para aumentar o zoom verticalmente, Shift+clique para diminuir o zoom e Arrastar para aumentar o zoom na área selecionada."
 
-#: TrackPanel.cpp:1277
+#: TrackPanel.cpp:1307
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "Arraste o título verticalmente para alterar a ordem das faixas."
 
-#: TrackPanel.cpp:1297
+#: TrackPanel.cpp:1327
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Clique e arraste para ajustar o tamanho de cada faixa em estéreo"
 
-#: TrackPanel.cpp:1300
+#: TrackPanel.cpp:1330
 msgid "Click and drag to resize the track."
 msgstr "Clique e arraste para ajustar o tamanho da faixa"
 
-#: TrackPanel.cpp:1331
+#: TrackPanel.cpp:1361
 msgid "Drag one or more label boundaries"
 msgstr "Arrasta as bordas de um ou mais títulos"
 
-#: TrackPanel.cpp:1332
+#: TrackPanel.cpp:1362
 msgid "Drag label boundary"
 msgstr "Arrasta as bordas do título"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1348
+#: TrackPanel.cpp:1378
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Modo multi-ferramenta: Cmd- para acessar as preferências de teclado e mouse."
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1351
+#: TrackPanel.cpp:1381
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Modo multi-ferramenta: Ctrl-P para acessar as preferências do mouse e teclado."
 
-#: TrackPanel.cpp:1371
+#: TrackPanel.cpp:1427
 msgid "Click and drag to move left selection boundary."
 msgstr "Clique e arraste para mover a seleção à esquerda"
 
-#: TrackPanel.cpp:1376
+#: TrackPanel.cpp:1432
 msgid "Click and drag to move right selection boundary."
 msgstr "Clique e arraste para mover a seleção à direita"
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1770
+#: TrackPanel.cpp:4054
+#: TrackPanel.cpp:4086
+#: TrackPanel.cpp:4348
+#: TrackPanel.cpp:6610
+#: TrackPanel.cpp:6630
 msgid "Modified Label"
 msgstr "Título modificado."
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1771
+#: TrackPanel.cpp:4055
+#: TrackPanel.cpp:4087
+#: TrackPanel.cpp:4349
+#: TrackPanel.cpp:6611
+#: TrackPanel.cpp:6631
 msgid "Label Edit"
 msgstr "Editar faixa de título"
 
-#: TrackPanel.cpp:1930
+#: TrackPanel.cpp:2009
 msgid "Adjusted envelope."
 msgstr "Envelope ajustado."
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:2010
+#: prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Envelope"
 
-#: TrackPanel.cpp:2082
+#: TrackPanel.cpp:2160
 msgid "Moved clip to another track"
 msgstr "Clipe movido para outra faixa"
 
-#: TrackPanel.cpp:2086
+#: TrackPanel.cpp:2164
 msgid "left"
 msgstr "esquerda"
 
-#: TrackPanel.cpp:2086
+#: TrackPanel.cpp:2164
 msgid "right"
 msgstr "direita"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2088
+#: TrackPanel.cpp:2166
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Faixas deslizadas à %s em %.02f segundos"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
-#: prefs/MousePrefs.cpp:113
+#: TrackPanel.cpp:2170
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Deslizar"
 
-#: TrackPanel.cpp:2953
+#: TrackPanel.cpp:2964
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
 msgstr "Para usar a ferramenta de Desenho, selecione 'Formato de Onda' no menu da faixa selecionada."
 
-#: TrackPanel.cpp:2970
+#: TrackPanel.cpp:2981
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr "Para usar a ferramenta de desenho, aumente o zoom até visualizar as amostras individualmente."
 
-#: TrackPanel.cpp:3241
+#: TrackPanel.cpp:3255
 msgid "Moved Sample"
 msgstr "Amostragem movida"
 
-#: TrackPanel.cpp:3242
+#: TrackPanel.cpp:3256
 msgid "Sample Edit"
 msgstr "Editar amostra"
 
-#: TrackPanel.cpp:3341
+#: TrackPanel.cpp:3349
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Removida faixa '%s.'"
 
-#: TrackPanel.cpp:3343
+#: TrackPanel.cpp:3351
 msgid "Track Remove"
 msgstr "Remover faixa"
 
 # historico
-#: TrackPanel.cpp:3484
+#: TrackPanel.cpp:3497
 msgid "Moved gain slider"
 msgstr "Ajuste de ganho alterado"
 
 # verifica se "moved" aparece qdo o usuario altera o valor no slider de balanço
 # - aparece no historico!
-#: TrackPanel.cpp:3484
+#: TrackPanel.cpp:3497
 msgid "Moved pan slider"
 msgstr "Ajuste de balanço alterado"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5801
+#: TrackPanel.cpp:7254
 msgid "Gain"
 msgstr "Ganho"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5749
+#: TrackPanel.cpp:7262
 msgid "Pan"
 msgstr "Bal"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3664
+#: TrackPanel.cpp:6561
 msgid "up"
 msgstr "acima"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3668
+#: TrackPanel.cpp:6562
 msgid "down"
 msgstr "abaixo"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3675
+#: TrackPanel.cpp:6557
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Movido '%s' %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3678
+#: TrackPanel.cpp:6563
 msgid "Move Track"
 msgstr "Mover faixa "
 
-#: TrackPanel.cpp:4180
+#: TrackPanel.cpp:4249
 msgid "Expand"
 msgstr "Expandir"
 
-#: TrackPanel.cpp:4180
+#: TrackPanel.cpp:4249
 msgid "Expanded Cut Line"
 msgstr "Linha de corte expandida"
 
-#: TrackPanel.cpp:4189
+#: TrackPanel.cpp:4258
 msgid "Merge"
 msgstr "Mesclar"
 
-#: TrackPanel.cpp:4189
+#: TrackPanel.cpp:4258
 msgid "Merged Clips"
 msgstr "Clipes mesclados"
 
-#: TrackPanel.cpp:4201
+#: TrackPanel.cpp:4269
+msgid "Remove"
+msgstr "Remover"
+
+#: TrackPanel.cpp:4269
 msgid "Removed Cut Line"
 msgstr "Removida linha de corte"
 
-#: TrackPanel.cpp:5664
+#: TrackPanel.cpp:5749
 msgid "Adjusted Pan"
 msgstr "Balanço ajustado"
 
-#: TrackPanel.cpp:5726
+#: TrackPanel.cpp:5801
 msgid "Adjusted gain"
 msgstr "Ganho ajustado"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
-#: TrackPanel.cpp:5918
+#: TrackPanel.cpp:6030
 msgid "Can't delete track with active audio"
 msgstr "Não é possível deletar a faixa com o áudio ativo"
 
-#: TrackPanel.cpp:6071
+#: TrackPanel.cpp:6180
 msgid "Stereo, "
 msgstr "Estéreo, "
 
-#: TrackPanel.cpp:6074
+#: TrackPanel.cpp:6183
 msgid "Mono, "
 msgstr "Mono, "
 
-#: TrackPanel.cpp:6076
+#: TrackPanel.cpp:6185
 msgid "Left, "
 msgstr "Esquerdo,"
 
-#: TrackPanel.cpp:6078
+#: TrackPanel.cpp:6187
 msgid "Right, "
 msgstr "Direito"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6209
+#: TrackPanel.cpp:6371
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Alterado '%s' para %s"
 
-#: TrackPanel.cpp:6105
+#: TrackPanel.cpp:6212
 msgid "Channel"
 msgstr "Canal"
 
-#: TrackPanel.cpp:6118
+#: TrackPanel.cpp:6253
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Separar faixas de estéreo '%s'"
 
-#: TrackPanel.cpp:6139
+#: TrackPanel.cpp:6255
+msgid "Split Stereo to Mono '%s'"
+msgstr "Faixa Estéreo para Mono '%s'"
+
+#: TrackPanel.cpp:6287
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Feito de '%s' uma faixa em estéreo"
 
-#: TrackPanel.cpp:6142
+#: TrackPanel.cpp:6290
 msgid "Make Stereo"
 msgstr "Criar faixa estéreo"
 
-#: TrackPanel.cpp:6189
+#: TrackPanel.cpp:6335
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "Alterado '%s' para %d Hz"
 
-#: TrackPanel.cpp:6191
+#: TrackPanel.cpp:6337
 msgid "Rate Change"
 msgstr "Alterar taxa"
 
-#: TrackPanel.cpp:6229
+#: TrackPanel.cpp:6375
 msgid "Format Change"
 msgstr "Alterar formato"
 
-#: TrackPanel.cpp:6349
+#: TrackPanel.cpp:6525
 msgid "Change lower speed limit (%) to:"
 msgstr "Alterar limite mínimo de velocidade (%) para:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6526
+#: TrackPanel.cpp:6527
 msgid "Lower speed limit"
 msgstr "Limite inferior de velocidade"
 
-#: TrackPanel.cpp:6356
+#: TrackPanel.cpp:6532
 msgid "Change upper speed limit (%) to:"
 msgstr "Alterar limite máximo de velocidade (%) para:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6533
+#: TrackPanel.cpp:6534
 msgid "Upper speed limit"
 msgstr "Limite máximo de velocidade"
 
-#: TrackPanel.cpp:6366
+#: TrackPanel.cpp:6542
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Ajustar extensão para  '%d' - '%d'"
 
-#: TrackPanel.cpp:6369
+#: TrackPanel.cpp:6545
 msgid "Set Range"
 msgstr "Ajuste da extensão"
 
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6592
 msgid "Change track name to:"
 msgstr "Alterar título da faixa para:"
 
-#: TrackPanel.cpp:6415
+#: TrackPanel.cpp:6593
 msgid "Track Name"
 msgstr "Nome da faixa:"
 
-#: TrackPanel.cpp:6418
+#: TrackPanel.cpp:6596
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "Renaomeado o aqrquivo '%s' para '%s'"
 
-#: TrackPanel.cpp:6421
+#: TrackPanel.cpp:6599
 msgid "Name Change"
 msgstr "Alterar nome"
 
-#: TrackPanel.cpp:6487
+#: TrackPanel.cpp:6665
 msgid "Label Track Font"
 msgstr "Fonte da faixa de Título"
 
-#: TrackPanel.cpp:6499
+#: TrackPanel.cpp:6677
+#: TrackPanel.cpp:6683
 msgid "Face name"
 msgstr "Nome da fonte"
 
-#: TrackPanel.cpp:6508
+#: TrackPanel.cpp:6687
+#: TrackPanel.cpp:6694
 msgid "Face size"
 msgstr "Tamanho da fonte"
 
-#: TrackPanel.cpp:7076
+#: TrackPanel.cpp:6943
+msgid "Stereo, 999999Hz"
+msgstr "Estéreo, 999999Hz"
+
+#: TrackPanel.cpp:7203
 msgid "Mute"
 msgstr "Mudo"
 
-#: TrackPanel.cpp:7076
+#: TrackPanel.cpp:7203
 msgid "Solo"
 msgstr "Solo"
 
-#: TrackPanelAx.cpp:265
+#: TrackPanelAx.cpp:285
 msgid "TrackView"
 msgstr "VerFaixa"
 
-#: TrackPanelAx.cpp:273
+#: TrackPanelAx.cpp:293
 msgid "Track Accessible out of sync"
 msgstr "Faixa acessível fora de sincronia"
 
-#: TrackPanelAx.cpp:281
+#: TrackPanelAx.cpp:301
 #, c-format
 msgid "Track %d"
 msgstr "Faixa %d"
 
-#: TrackPanelAx.cpp:287
+#: TrackPanelAx.cpp:307
 msgid " Mute On"
 msgstr " Mudo Lig."
 
-#: TrackPanelAx.cpp:292
+#: TrackPanelAx.cpp:312
 msgid " Solo On"
 msgstr " Solo Lig."
 
-#: TrackPanelAx.cpp:296
+#: TrackPanelAx.cpp:316
 msgid " Select On"
 msgstr " Selecionar Lig."
 
@@ -4104,238 +4513,259 @@ msgstr "Alter. de sinal        -- i.e.: %1.4f  sd: (%1.4f)\n"
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr "Alter. de Direção    -- i.e.: %1.4f  sd: (%1.4f)\n"
 
-#: WaveTrack.cpp:85
+#: WaveTrack.cpp:87
 msgid "Audio Track"
 msgstr "Áudio"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:976
+#: WaveTrack.cpp:995
 msgid "There is not enough room available to paste the selection"
 msgstr "Não há espaço suficiente para colar a seleção"
 
-#: WaveTrack.cpp:1688
+#: WaveTrack.cpp:2021
 msgid "There is not enough room available to expand the cut line"
 msgstr "Não há espaço suficiente para expandir a linha de corte"
 
-#: commands/CommandManager.cpp:448
+#: commands/CommandManager.cpp:549
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Plugins 1a %i"
 
-#: commands/CommandManager.cpp:462
+#: commands/CommandManager.cpp:563
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Plugins %i a %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Desabilitado. Experimente selecionar um trecho de áudio antes de executar o comando."
+#: commands/CommandManager.cpp:928
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Houve um problema com a última operação executada.\n"
+"Caso ache que esta é uma falha, por favor, diga-nos\n"
+"exatamente o que ocorreu."
 
-#: commands/CommandManager.cpp:781
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:932
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr "Só é possível executar este comando com a reprodução parada,\n"
+msgstr ""
+"Só é possível executar este comando com a reprodução parada,\n"
 "não apenas em Pause."
 
-#: commands/CommandManager.cpp:783
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:934
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr "É necessário selecionar áudio estéreo para este comando.\n"
+msgstr ""
+"É necessário selecionar áudio estéreo para este comando.\n"
 "[Impossível utilizar áudio mono]"
 
-#: commands/CommandManager.cpp:785
+#: commands/CommandManager.cpp:936
 msgid "You must first select some audio for this to use."
 msgstr "Você deve selecionar o áudio antes de executar este comando."
 
-#: commands/CommandManager.cpp:787
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:938
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr "Você deve selecionar a faixa de áudio antes de executar este comando.\n"
+msgstr ""
+"Você deve selecionar a faixa de áudio antes de executar este comando.\n"
 "[Outros tipos de faixas não podem ser utilizadas.]"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:943
 msgid "Disallowed"
-msgstr ""
+msgstr "Desabilitado"
 
-#: commands/CommandManager.cpp:972
+#: commands/CommandManager.cpp:1167
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Carregados %d atalhos de teclado\n"
 
-#: commands/CommandManager.cpp:974
+#: commands/CommandManager.cpp:1169
 msgid "Loading keyboard shortcuts"
 msgstr "Carregando atalhos de teclado"
 
-#: effects/Amplify.cpp:52
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Efeito aplicado: %s %.1f dB"
 
-#: effects/Amplify.cpp:87
+#: effects/Amplify.cpp:136
 msgid "Amplify"
 msgstr "Amplificar"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:152
+#: effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
-msgstr ""
+msgstr "por Dominic Mazzoni"
 
-#: effects/Amplify.cpp:159
+#: effects/Amplify.cpp:165
 msgid "Amplification (dB):"
 msgstr "Amplificação (dB):"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:180
 msgid "Amplification dB"
-msgstr ""
+msgstr "Amplificação (dB)"
 
-#: effects/Amplify.cpp:179
+#: effects/Amplify.cpp:187
 msgid "New Peak Amplitude (dB):"
 msgstr "Novo pico de amplitude (dB):"
 
-#: effects/Amplify.cpp:191
+#: effects/Amplify.cpp:197
 msgid "Allow clipping"
 msgstr "Permitir clipping"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:219
+#: effects/Amplify.cpp:276
+#: effects/Amplify.cpp:320
 msgid "-Infinity"
 msgstr "-Infinito"
 
-#: effects/Amplify.h:46
+#: effects/Amplify.h:37
 msgid "Amplify..."
 msgstr "Amplificar..."
 
-#: effects/Amplify.h:54
+#: effects/Amplify.h:51
 msgid "Amplifying"
 msgstr "Amplificando"
 
-#: effects/AutoDuck.cpp:125
+#: effects/AutoDuck.cpp:140
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Foi selecionada uma faixa sem áudio. O AutoDuck só pode processar faixas contendo áudio."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:141
+#: effects/AutoDuck.cpp:153
+#: effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr "Auto Duck"
 
-#: effects/AutoDuck.cpp:137
+#: effects/AutoDuck.cpp:152
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr "O AutoDuck requer uma faixa de controle logo abaixo da(s) faixa(s) selecionada(s)."
 
-#: effects/AutoDuck.cpp:465
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr "Auto Duck por Markus Meyer"
 
-#: effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr "Quantidade de Duck:"
 
-#: effects/AutoDuck.cpp:492
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr "Pausa máxima:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:508
+#: effects/AutoDuck.cpp:513
+#: effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523
+#: effects/AutoDuck.cpp:528
+#: prefs/MidiIOPrefs.cpp:185
+#: prefs/MidiIOPrefs.cpp:187
+#: prefs/MidiIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:211
+#: prefs/MidiIOPrefs.cpp:219
+#: prefs/PlaybackPrefs.cpp:65
+#: prefs/PlaybackPrefs.cpp:66
+#: prefs/PlaybackPrefs.cpp:80
+#: prefs/PlaybackPrefs.cpp:81
+#: prefs/PlaybackPrefs.cpp:87
+#: prefs/PlaybackPrefs.cpp:88
+#: prefs/PlaybackPrefs.cpp:102
+#: prefs/PlaybackPrefs.cpp:103
+#: prefs/PlaybackPrefs.cpp:109
+#: prefs/PlaybackPrefs.cpp:110
+#: widgets/TimeTextCtrl.cpp:265
 msgid "seconds"
 msgstr "segundos"
 
-#: effects/AutoDuck.cpp:497
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr "Tamanho da queda do fade terminal:"
 
-#: effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr "Tamanho da subida do fade terminal:"
 
-#: effects/AutoDuck.cpp:507
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr "Tamanho da queda do fade inicial:"
 
-#: effects/AutoDuck.cpp:512
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr "Tamanho da subida do fade inicial:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:535
+#: effects/Compressor.cpp:506
 msgid "Threshold:"
 msgstr "Limiar: "
 
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr "Por favor, digite valores válidos."
 
-#: effects/AutoDuck.cpp:704
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr "Previsão não disponível"
 
-#: effects/AutoDuck.h:97
+#: effects/AutoDuck.h:98
 msgid "Auto Duck..."
 msgstr "Auto Duck..."
 
-#: effects/AutoDuck.h:107
+#: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
 msgstr "Processando Auto Duck..."
 
 #: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
-#: widgets/Warning.cpp:67
+#: effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237
+#: widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "OK"
 
 #: effects/BassBoost.cpp:52
 #, c-format
 msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
-msgstr "Efeito aplicado: %s freqüência = %.0f Hz, ganho = %.0f dB"
+msgstr "Efeito aplicado: %s frequência = %.0f Hz, ganho = %.0f dB"
 
 #: effects/BassBoost.cpp:169
 msgid "Bass Boost"
 msgstr "Reforço de graves"
 
 #: effects/BassBoost.cpp:182
+#: effects/Phaser.cpp:219
+#: effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr "por Nasca Octavian Paul"
 
 #: effects/BassBoost.cpp:196
+#: effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
-msgstr "Freqüência (Hz):"
+msgstr "Frequência (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Frequência em Hz"
 
-#: effects/BassBoost.cpp:208
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Ganho (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Ganho em dB"
 
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
 msgstr "Aumento de graves..."
 
-#: effects/BassBoost.h:43
+#: effects/BassBoost.h:49
 msgid "Boosting Bass Frequencies"
-msgstr "Freqüência de ganho dos Graves"
+msgstr "Aumentando frequência dos graves"
 
 #: effects/ChangeLength.h:26
 msgid "Change Length..."
@@ -4350,757 +4780,756 @@ msgstr "Alterando tamanho..."
 msgid "Applied effect: %s %.2f semitones"
 msgstr "Efeito aplicado: %s %.2f semitons"
 
-#: effects/ChangePitch.cpp:118
+#: effects/ChangePitch.cpp:198
 msgid "Change Pitch"
 msgstr "Alterar altura"
 
-#: effects/ChangePitch.cpp:247
+#: effects/ChangePitch.cpp:256
 msgid "Change Pitch without Changing Tempo"
 msgstr "Alterar altura sem alteração no tempo"
 
-#. i18n-hint: && in here is an escape character to get a single & on
-#. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
-#: effects/ChangeTempo.cpp:180
+#: effects/ChangePitch.cpp:258
+#: effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "por Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:260
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "usando SoundTouch, por Olli Parviainen"
 
 #: effects/ChangePitch.cpp:269
 msgid "Pitch:"
-msgstr ""
+msgstr "Altura:"
 
 #: effects/ChangePitch.cpp:274
 msgid "From:"
-msgstr ""
+msgstr "De:"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "Da altura"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "acima"
 
 #: effects/ChangePitch.cpp:289
 msgid "Down"
-msgstr ""
+msgstr "abaixo"
 
+# altura de X (Acima|abaixo) ATÉ Y
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "até:"
 
 #: effects/ChangePitch.cpp:300
 msgid "To Pitch"
-msgstr ""
+msgstr "Para a altura"
 
-#: effects/ChangePitch.cpp:306
+#: effects/ChangePitch.cpp:311
 msgid "Semitones (half-steps):"
 msgstr "Semitons (meio-passos):"
 
 #: effects/ChangePitch.cpp:316
 msgid "Semitones in half-steps"
-msgstr ""
+msgstr "Semitons em meio-passos"
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+#: effects/ChangePitch.cpp:326
+#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "de"
 
 #: effects/ChangePitch.cpp:327
 msgid "From frequency in hertz"
-msgstr ""
+msgstr "Da frequência em Hertz"
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
-#: effects/ChangeTempo.cpp:270
+#: effects/ChangePitch.cpp:331
+#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "a "
 
 #: effects/ChangePitch.cpp:332
 msgid "To frequency in seconds"
-msgstr ""
+msgstr "Para a frequência em segundos"
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
-#: effects/ChangeTempo.cpp:198
+#: effects/ChangePitch.cpp:338
+#: effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Percentagem de alteração:"
 
-#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
+#: effects/ChangePitch.cpp:343
+#: effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:359
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
-msgstr ""
+msgstr "Percentagem de alteração"
 
 #: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "Alterar altura..."
 
-#: effects/ChangePitch.h:39
+#: effects/ChangePitch.h:46
 msgid "Changing Pitch"
 msgstr "Alterando altura "
 
-#: effects/ChangeSpeed.cpp:53
+#: effects/ChangeSpeed.cpp:54
 #: effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Efeito aplicado: %s %.1f%%"
 
-#: effects/ChangeSpeed.cpp:60
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Alterar velocidade"
 
-#. i18n-hint: n/a is an English
-#. abbreviation meaning "not
-#. applicable" (in other words,
-#. unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:364
+#. i18n-hint: n/a is an English abbreviation meaning "not applicable"
+#. (in other words, unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "n/d"
 
-#: effects/ChangeSpeed.cpp:308
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Alterar velocidade, afetando tempo e altura"
 
-#: effects/ChangeSpeed.cpp:318
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "usando SampleRate, por Erik de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
-msgstr ""
+msgstr "RPM padrão do vinil:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
-msgstr ""
+msgstr "De RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
-msgstr ""
+msgstr "Para RPM"
 
 #: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
 msgstr "Alterar velocidade..."
 
-#: effects/ChangeSpeed.h:40
+#: effects/ChangeSpeed.h:46
 msgid "Changing Speed"
 msgstr "Alterando velocidade"
 
-#: effects/ChangeTempo.cpp:74
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Alterar tempo"
 
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Alterar tempo sem alteração na altura"
 
 #: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
-msgstr ""
+msgstr "Batidas por Minuto (BPM):"
 
 #: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "De batidas por minuto"
 
 #: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "Para batidas por minuto"
 
 #: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
-msgstr ""
+msgstr "Tamanho (segundos):"
 
 #: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
-msgstr ""
+msgstr "Do tamanho em segundos"
 
 #: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
-msgstr ""
+msgstr "Para o tamanho em segundos"
 
 #: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
 msgstr "Alterar tempo..."
 
-#: effects/ChangeTempo.h:43
+#: effects/ChangeTempo.h:49
 msgid "Changing Tempo"
 msgstr "Alterando tempo"
 
 #: effects/ClickRemoval.cpp:314
-#, fuzzy
 msgid "Click Removal"
 msgstr "Remoção de cliques"
 
-#: effects/ClickRemoval.cpp:336
+#: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
-msgstr "Remover Sons de Cliques por Craig deForest"
+msgstr "Remoção de Sons de Cliques por Craig deForest"
 
-#: effects/ClickRemoval.cpp:350
+#: effects/ClickRemoval.cpp:341
 msgid "Select threshold (lower is more sensitive):"
 msgstr "Selecione limiar (mais baixo, mais sensível):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Selecionar limiar"
 
-#: effects/ClickRemoval.cpp:362
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Tam. max. de pico (quanto maior, mais sensível):"
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
-msgstr ""
+msgstr "Tamanho máximo do pico"
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
 msgstr "Remover cliques..."
 
-#: effects/ClickRemoval.h:50
+#: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
 msgstr "Removendo sons de cliques..."
 
-#: effects/Compressor.cpp:74
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Compressor de extensão dinâmica"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
-msgstr ""
+msgstr "Limiar"
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
-msgstr ""
+msgstr "Proporção (Ratio):"
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
-msgstr ""
+msgstr "Proporção (Ratio)"
 
-#: effects/Compressor.cpp:510
-#, fuzzy
+#: effects/Compressor.cpp:522
 msgid "Attack Time:"
 msgstr "Tempo de Ataque:"
 
-#: effects/Compressor.cpp:514
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
-msgstr ""
+msgstr "Tempo de Ataque"
 
-#: effects/Compressor.cpp:518
-#, fuzzy
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
-msgstr "Tempo de caída:"
+msgstr "Tempo de decaimento:"
 
-#: effects/Compressor.cpp:522
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
-msgstr ""
+msgstr "Tempo de decaimento"
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr "Normalizar para 0dB após a compressão"
 
-#: effects/Compressor.cpp:563
+#: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
-msgstr "Threshold: %d dB"
+msgstr "Limiar %d dB"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "Proporção %.0f para 1"
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "Proporção: %.1f para 1"
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
-#: effects/Compressor.cpp:575
+#: effects/Compressor.cpp:587
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
-msgstr "Tempo decorrido: %.1f segs"
+msgstr "Tempo de ataque: %.1f segs"
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588
+#: effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f segs"
 
-#: effects/Compressor.cpp:578
+#: effects/Compressor.cpp:590
 #, c-format
-#, fuzzy
 msgid "Decay Time %.1f secs"
-msgstr "Tempo de caída: %.1f segs"
+msgstr "Tempo de decaimento: %.1f segs"
 
-#: effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Compressor..."
 
 # range = extensão
-#: effects/Compressor.h:44
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Aplicando compressão de extensão dinâmica..."
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Analizador de Contraste"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Primeiro plano da Ferramenta de Contraste"
 
-#: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+#: effects/Contrast.cpp:88
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"Tempos do primeiro plano selecionados.\n"
+"Selecione o plano de fundo e use Ctrl+Shift+T ou menu novamente."
 
-#: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+# a palavra 'after' está escrita 2x... é normal ou é um erro isso?
+#: effects/Contrast.cpp:144
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
+"Tempo inicial após tempo final!\n"
+"Por favor use valores adequados."
 
-#: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+#: effects/Contrast.cpp:154
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"Tempos não são plausíveis!\n"
+"Por favor use valores adequados."
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
-msgstr ""
+msgstr "Analisador de Contraste"
 
-#: effects/Contrast.cpp:235
-msgid "Parameters"
-msgstr ""
-
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/Contrast.cpp:286
+#: effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
-msgstr "Inícial"
-
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+msgstr "Início"
+
+#: effects/Contrast.cpp:287
+#: effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184
+#: toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159
+#: toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Final"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
-msgstr ""
+msgstr "Volume    "
 
-#: effects/Contrast.cpp:248
+# foreground = primeiro plano?? backgorund=fundo????
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
-msgstr ""
+msgstr "Primeiro plano:"
 
-#: effects/Contrast.cpp:347
+# foreground = primeiro plano?? backgorund=fundo????
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
-msgstr ""
+msgstr "Tempo de início do primeiro plano"
 
-#: effects/Contrast.cpp:365
+# foreground = primeiro plano?? background=fundo????
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
-msgstr ""
+msgstr "Tempo de término do primeiro plano"
+
+#: effects/Contrast.cpp:329
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr "Medido"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:331
+#: effects/Contrast.cpp:375
 msgid "Use selection"
-msgstr ""
+msgstr "Usar seleção"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:336
 msgid "Background:"
-msgstr ""
+msgstr "Plano de fundo:"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
-msgstr ""
+msgstr "Tempo de início do plano de fundo"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
-msgstr ""
+msgstr "Tempo de término do plano de fundo"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:384
 msgid "Result"
-msgstr ""
+msgstr "Resultado"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
-msgstr ""
+msgstr "Resultado do contraste:"
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr "Reiniciar"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:392
 msgid "Difference:"
-msgstr ""
+msgstr "Diferença:"
 
-#: effects/Contrast.cpp:313
+#: effects/Contrast.cpp:403
 msgid "Information"
-msgstr ""
+msgstr "Informação"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Para medir as diferenças de volume RMS entre dois trechos de áudio selecionados"
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Controle"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
+msgstr "Ajuda para Analisador de Contraste de Áudio WCAG2 "
 
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "Fechar (vezes para manter)"
 
-#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:474
+#: effects/Contrast.cpp:480
+#: effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
-msgstr ""
+msgstr "Medir"
 
-#: effects/Contrast.cpp:511
+# foreground = primeiro plano?? backgorund=fundo????
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Sem primeiro plano para medir"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Nível medido do primeiro plano"
 
-#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
+#: effects/Contrast.cpp:537
+#: effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
-msgstr ""
+msgstr "Não há plano de fundo a ser medido"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
-msgstr ""
+msgstr "Nível medido do plano de fundo"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "WCAG2 Passou"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "WCAG2 Falhou"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
-msgstr ""
+msgstr "Diferença atual"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "%.1f dB em média rms"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Por favor, digite valores válidos."
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Exportar resultados do contraste como:"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "Resultados do Contraste WCAG 2.0 Success Criteria 1.4.7"
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Nome do arquivo = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
-msgstr ""
+msgstr "Primeiro plano"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601
+#: effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Tempo inicial = %2d hora(s), %2d minuto(s), %.2f segundos."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606
+#: effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Tempo final = %2d hora(s), %2d minuto(s), %.2f segundos."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608
+#: effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Média rms = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610
+#: effects/Contrast.cpp:627
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Média rms =  dB."
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:613
 msgid "Background"
-msgstr ""
+msgstr "Plano de fundo"
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:629
 msgid "Results"
-msgstr ""
+msgstr "Resultados"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Diferença = %.1f Média rms dB."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Success Criteria 1.4.7 do WCAG 2.0: Bem-sucedido"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Success Criteria 1.4.7 do WCAG 2.0: Falha"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
-msgstr ""
+msgstr "Dados recolhidos"
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
-#: effects/DtmfGen.cpp:48
+#: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "Gerador de Tom DTMF"
 
-#: effects/DtmfGen.cpp:439
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "por Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:443
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "Sequência DTMF:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
-#: effects/ToneGen.cpp:365
+#: effects/DtmfGen.cpp:428
+#: effects/Noise.cpp:190
+#: effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Amplitude (0-1)"
 
-#: effects/DtmfGen.cpp:448
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Duração:"
 
-#: effects/DtmfGen.cpp:469
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
-msgstr "Proporção silêncio/tom:"
+msgstr "Proporção tom/silêncio:"
 
-#: effects/DtmfGen.cpp:479
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr "Intervalo entre tons:"
 
-#: effects/DtmfGen.cpp:481
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Duração do tom:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
-#: effects/DtmfGen.cpp:561
+#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:467
+#: effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:483
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Duração do silêncio:"
 
-#: effects/DtmfGen.h:41
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
 msgstr "Tons &DTMF..."
 
-#: effects/DtmfGen.h:49
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr "Efeito aplicado: Gerar tom DTMF, %.6lf segundos"
 
-#: effects/DtmfGen.h:53
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
-msgstr "Gerando tom DTMF"
+msgstr "Gerando tons DTMF"
 
 #: effects/Echo.cpp:48
 #, c-format
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
-msgstr "Efeito aplicado: %s atraso = %f segundos, fator de caída = %f"
+msgstr "Efeito aplicado: %s atraso = %f segundos, fator de decaimento = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Eco"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "por Dominic Mazzoni && Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Atraso (segundos):"
 
-# decay, procurar!!!
-# decay=caída !
-#: effects/Echo.cpp:212
+# decay=decaimento
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
-msgstr "Fator de caída:"
+msgstr "Fator de decaimento:"
 
 #: effects/Echo.h:34
 msgid "Echo..."
 msgstr "Eco..."
 
-#: effects/Echo.h:42
+#: effects/Echo.h:48
 msgid "Performing Echo"
 msgstr "Executando Eco"
 
-#: effects/Effect.cpp:390
+#: effects/Effect.cpp:498
 msgid "Preparing preview"
 msgstr "Preparando prévia"
 
-#: effects/Effect.cpp:419
+#: effects/Effect.cpp:530
 msgid "Previewing"
 msgstr "Testando"
 
-#: effects/Effect.cpp:435
+#: effects/Effect.cpp:545
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Erro ao acessar o dispositivo de som. Por favor, cheque as configurações do dispositivo e a taxa de amostragem do projeto."
 
-#: effects/Effect.h:107
+#: effects/Effect.h:96
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Efeito aplicado: %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:338
 msgid "B-spline"
 msgstr "Spline-b"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:339
 msgid "Cosine"
-msgstr "Co-seno"
+msgstr "Cosseno"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:340
 msgid "Cubic"
 msgstr "Cúbico"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:379
+#: effects/Equalization.cpp:430
 msgid "Equalization"
 msgstr "Equalização"
 
-#: effects/Equalization.cpp:980
+#: effects/Equalization.cpp:1009
 msgid "Error loading EQ curve"
 msgstr "Erro abrindo curva de EQ"
 
-#: effects/Equalization.cpp:1019
+#: effects/Equalization.cpp:1048
 msgid "custom"
 msgstr "personalizado"
 
+#: effects/Equalization.cpp:1097
+msgid "Error saving equalization curves"
+msgstr "Erro salvando curvas de equalização"
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
-#: effects/Equalization.cpp:1087
+#: effects/Equalization.cpp:1120
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Equalização por Martyn Shaw && Mitch Golden"
 
-#: effects/Equalization.cpp:1108
+#: effects/Equalization.cpp:1141
 msgid "Max dB"
-msgstr "Max dB"
+msgstr "Máx dB"
 
-#: effects/Equalization.cpp:1110
+#: effects/Equalization.cpp:1143
 msgid "Min dB"
 msgstr "Mín dB"
 
-#: effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1216
 msgid "kHz"
 msgstr "kHz"
 
-#: effects/Equalization.cpp:1200
+#: effects/Equalization.cpp:1233
 msgid "Draw curves"
 msgstr "Desenhar curvas"
 
-#: effects/Equalization.cpp:1205
+#: effects/Equalization.cpp:1238
 msgid "Graphic EQ"
 msgstr "EQ Gráfico"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1252
 msgid "Linear frequency scale"
-msgstr "Escala de freqüencia linear"
+msgstr "Escala de frequência linear"
 
-#: effects/Equalization.cpp:1228
+#: effects/Equalization.cpp:1261
 msgid "Length of filter:"
 msgstr "Tamanho do filtro:"
 
-#: effects/Equalization.cpp:1249
+#: effects/Equalization.cpp:1282
 msgid "Select curve:"
 msgstr "Selecionar curva:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
-#: export/ExportMultiple.cpp:826
+#: effects/Equalization.cpp:1292
+#: effects/Equalization.cpp:2552
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Salvar como..."
 
-#: effects/Equalization.cpp:1265
+#: effects/Equalization.cpp:1298
 msgid "Flat"
 msgstr "Plano"
 
-#: effects/Equalization.cpp:2497
+#: effects/Equalization.cpp:2551
 msgid "Enter the desired name of the curve"
 msgstr "Digite o nome para a curva"
 
-#: effects/Equalization.cpp:2597
+#: effects/Equalization.cpp:2651
+#: export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr "Confirmar exclusão"
 
-#: effects/Equalization.h:87
+#: effects/Equalization.h:82
 msgid "Equalization..."
 msgstr "Equalização..."
 
-#: effects/Equalization.h:95
+#: effects/Equalization.h:96
 msgid "Performing Equalization"
 msgstr "Executando equalização"
 
@@ -5108,51 +5537,51 @@ msgstr "Executando equalização"
 msgid "Fade In"
 msgstr "Fade In"
 
-#: effects/Fade.h:32
+#: effects/Fade.h:38
 msgid "Fading In"
 msgstr "Fading In"
 
-#: effects/Fade.h:48
+#: effects/Fade.h:54
 msgid "Fade Out"
 msgstr "Fade Out"
 
-#: effects/Fade.h:56
+#: effects/Fade.h:68
 msgid "Fading Out"
 msgstr "Fading Out"
 
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr "Detectar clipping"
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr "Clipping"
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
 msgstr "Encontrar clipping"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr "por Leland Lucius"
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
 msgstr "Limiar inicial (amostras):"
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
 msgstr "Limiar final (amostras):"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
-msgstr "Inicio e final devem ser maiores que zero."
+msgstr "Início e final devem ser maiores que zero."
 
 #: effects/FindClipping.h:37
 msgid "Find Clipping..."
 msgstr "Encontrar clipping..."
 
-#: effects/FindClipping.h:47
+#: effects/FindClipping.h:54
 msgid "Detecting clipping"
 msgstr "Detectando clipping"
 
@@ -5160,58 +5589,56 @@ msgstr "Detectando clipping"
 msgid "Invert"
 msgstr "Inverter verticalmente"
 
-#: effects/Invert.h:35
+#: effects/Invert.h:41
 msgid "Inverting"
 msgstr "Invertendo"
 
-#: effects/Leveller.cpp:136
+#: effects/Leveller.cpp:192
 msgid "Leveller"
 msgstr "Nivelador"
 
-#: effects/Leveller.cpp:52
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Nenhum - omitir"
 
-#: effects/Leveller.cpp:53
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "Leve"
 
-#: effects/Leveller.cpp:54
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "Moderado"
 
-#: effects/Leveller.cpp:55
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "Pesado"
 
-#: effects/Leveller.cpp:56
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "Mais pesado"
 
-#: effects/Leveller.cpp:57
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "Muito mais pesado"
 
-#: effects/TruncSilence.cpp:332
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "por Lynn Allan"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
-msgstr "Grau de nivelação"
+msgstr "Grau de nivelamento"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
-msgstr ""
+msgstr "Grau de nivelamento:"
 
 # Limiar de ruído (Chiado/Zunido/Ruído ambiente) nao ta cabendo na janela!
-#: effects/Leveller.cpp:242
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
-msgstr "Limiar de ruído (Chiado/Zunido/Ruído ambiente)"
+msgstr "Limiar de ruído (Chiado/Zunido/Ambiente)"
 
-#: effects/Leveller.cpp:238
-#, fuzzy
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
 msgstr "Limiar de ruído:"
 
@@ -5219,161 +5646,159 @@ msgstr "Limiar de ruído:"
 msgid "Leveller..."
 msgstr "Nivelador..."
 
-#: effects/Leveller.h:36
+#: effects/Leveller.h:42
 msgid "Applying Leveller..."
 msgstr "Aplicando nivelador..."
 
 #: effects/LoadEffects.cpp:102
 msgid "Generator"
-msgstr ""
+msgstr "Gerador"
 
 #: effects/LoadEffects.cpp:104
 msgid "Instrument"
-msgstr ""
+msgstr "Instrumento"
 
 #: effects/LoadEffects.cpp:106
 msgid "Oscillator"
-msgstr ""
+msgstr "Oscilador"
 
 #: effects/LoadEffects.cpp:108
 msgid "Utility"
-msgstr ""
+msgstr "Utilitário"
 
 #: effects/LoadEffects.cpp:110
 msgid "Converter"
-msgstr ""
+msgstr "Conversor"
 
 #: effects/LoadEffects.cpp:112
 msgid "Analyser"
-msgstr ""
-
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mixer"
+msgstr "Analisador"
 
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
-msgstr ""
+msgstr "Simulador"
 
 #: effects/LoadEffects.cpp:118
 msgid "Delay"
-msgstr ""
+msgstr "Delay"
 
 #: effects/LoadEffects.cpp:120
 msgid "Modulator"
-msgstr ""
+msgstr "Modulador"
 
 #: effects/LoadEffects.cpp:122
 msgid "Reverb"
-msgstr ""
+msgstr "Reverberador"
 
-#: effects/Phaser.cpp:77
+#: effects/LoadEffects.cpp:124
+#: effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Phaser"
 
 #: effects/LoadEffects.cpp:126
 msgid "Flanger"
-msgstr ""
+msgstr "Flanger"
 
 #: effects/LoadEffects.cpp:128
 msgid "Chorus"
-msgstr ""
+msgstr "Refrão"
 
 #: effects/LoadEffects.cpp:130
 msgid "Filter"
-msgstr ""
+msgstr "Filtro"
 
 #: effects/LoadEffects.cpp:132
 msgid "Lowpass"
-msgstr ""
+msgstr "Passa-baixa"
 
 #: effects/LoadEffects.cpp:134
 msgid "Bandpass"
-msgstr ""
+msgstr "Passa-faixa"
 
 #: effects/LoadEffects.cpp:136
 msgid "Highpass"
-msgstr ""
+msgstr "Passa-alta"
 
 #: effects/LoadEffects.cpp:138
 msgid "Comb"
-msgstr ""
+msgstr "Comb"
 
 #: effects/LoadEffects.cpp:140
 msgid "Allpass"
-msgstr ""
+msgstr "Passa-tudo"
 
 #: effects/LoadEffects.cpp:142
 msgid "Equaliser"
-msgstr ""
+msgstr "Equalizador"
 
 #: effects/LoadEffects.cpp:144
 msgid "Parametric"
-msgstr ""
+msgstr "Paramétrico"
 
 #: effects/LoadEffects.cpp:146
 msgid "Multiband"
-msgstr ""
+msgstr "Multifaixas"
 
 #: effects/LoadEffects.cpp:148
 msgid "Spectral Processor"
-msgstr ""
+msgstr "Processador espectral "
 
 #: effects/LoadEffects.cpp:150
 msgid "Pitch Shifter"
-msgstr ""
+msgstr "Alterador de altura"
 
 #: effects/LoadEffects.cpp:152
 msgid "Amplifier"
-msgstr ""
+msgstr "Amplificador"
 
 #: effects/LoadEffects.cpp:154
 msgid "Distortion"
-msgstr ""
+msgstr "Distorção"
 
 #: effects/LoadEffects.cpp:156
 msgid "Waveshaper"
-msgstr ""
+msgstr "Alterador de onda"
 
 #: effects/LoadEffects.cpp:158
 msgid "Dynamics Processor"
-msgstr ""
+msgstr "Processador dinâmico"
 
 #: effects/LoadEffects.cpp:160
 msgid "Compressor"
-msgstr ""
+msgstr "Compressor"
 
 #: effects/LoadEffects.cpp:162
 msgid "Expander"
-msgstr ""
+msgstr "Expansor"
 
 #: effects/LoadEffects.cpp:164
 msgid "Limiter"
-msgstr ""
+msgstr "Limitador"
 
 #: effects/LoadEffects.cpp:166
 msgid "Gate"
-msgstr ""
+msgstr "Gate"
 
-#: effects/NoiseRemoval.cpp:723
+#: effects/LoadEffects.cpp:199
+#: effects/NoiseRemoval.cpp:738
 msgid "Noise Removal"
 msgstr "Remoção de ruídos"
 
 #: effects/LoadEffects.cpp:201
 msgid "Pitch and Tempo"
-msgstr ""
+msgstr "Tempo e Altura"
 
 #: effects/LoadEffects.cpp:203
 msgid "Timeline Changer"
-msgstr ""
+msgstr "Alterar linha do tempo"
 
 #: effects/LoadEffects.cpp:205
 msgid "Time"
-msgstr ""
+msgstr "Tempo"
 
 #: effects/LoadEffects.cpp:207
 msgid "Onsets"
-msgstr ""
+msgstr "Ataques silábicos"
 
 #: effects/Noise.cpp:37
 msgid "White"
@@ -5391,95 +5816,101 @@ msgstr "Marrom"
 msgid "Noise Generator"
 msgstr "Gerador de ruído"
 
-#: effects/Noise.cpp:256
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Tipo de ruído"
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr "Ruído..."
 
-#: effects/Noise.h:49
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Efeito aplicado: Gerar Ruído, %.6lf segundos"
 
-#: effects/Noise.h:53
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr "Gerando ruído"
 
-#: effects/NoiseRemoval.cpp:192
+#: effects/NoiseRemoval.cpp:191
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
-msgstr "Não foi possível abrir o arquivo:\n"
+msgstr ""
+"Não foi possível abrir o arquivo:\n"
 "  %s"
 
-#: effects/NoiseRemoval.cpp:277
+#: effects/NoiseRemoval.cpp:276
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Tentou-se executar a Remoção de Ruído sem um perfil de ruído definido.\n"
 
-#: effects/NoiseRemoval.cpp:813
+#: effects/NoiseRemoval.cpp:827
 msgid "Step 1"
 msgstr "Passo 1"
 
-#: effects/NoiseRemoval.cpp:814
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:828
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr "Selecione alguns segundos de áudio contendo apenas os ruídos que devem ser filtrados.\n"
+msgstr ""
+"Selecione alguns segundos de áudio contendo apenas os ruídos que devem ser filtrados.\n"
 "Quando estiver pronto, clique em \"Perceber perfil de ruído\":"
 
-#: effects/NoiseRemoval.cpp:815
+#: effects/NoiseRemoval.cpp:829
 msgid "Step 2"
 msgstr "Passo 2"
 
-#: effects/NoiseRemoval.cpp:816
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:830
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr "Selecione todo o áudio que deverá ser filtrado, escolha a quantidade de\n"
+msgstr ""
+"Selecione todo o áudio que deverá ser filtrado, escolha a quantidade de\n"
 "ruído a ser filtrado e clique OK para remover o ruído.\n"
 
-#: effects/NoiseRemoval.cpp:821
+#: effects/NoiseRemoval.cpp:835
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Remoção de ruídos de Dominic Mazzoni"
 
-#: effects/NoiseRemoval.cpp:829
+#: effects/NoiseRemoval.cpp:843
 msgid "Get Noise Profile"
 msgstr "Perceber perfil de ruído"
 
-#: effects/NoiseRemoval.cpp:840
+#: effects/NoiseRemoval.cpp:854
 msgid "Noise reduction (dB):"
 msgstr "Redução de ruído (dB):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:859
 msgid "Noise reduction"
-msgstr ""
+msgstr "Redução de ruído"
 
-#: effects/NoiseRemoval.cpp:848
+#: effects/NoiseRemoval.cpp:863
 msgid "Frequency smoothing (Hz):"
-msgstr "Suavização de freqüência (Hz):"
+msgstr "Suavização de frequência (Hz):"
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:868
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Suavização de frequência"
 
-#: effects/NoiseRemoval.cpp:856
+#: effects/NoiseRemoval.cpp:872
 msgid "Attack/decay time (secs):"
-msgstr "Tempo de ataque/caída (segs):"
+msgstr "Tempo de ataque/decaimento (segs):"
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:877
 msgid "Attach/decay time"
-msgstr ""
+msgstr "Tempo de ataque/decaimento "
 
-#: effects/NoiseRemoval.h:35
+#: effects/NoiseRemoval.h:37
 msgid "Noise Removal..."
 msgstr "Remover ruído..."
 
-#: effects/NoiseRemoval.h:44
+#: effects/NoiseRemoval.h:52
 msgid "Creating Noise Profile"
-msgstr "Criando perfil de ruídos"
+msgstr "Criando perfil de ruído"
 
-#: effects/NoiseRemoval.h:46
+#: effects/NoiseRemoval.h:54
 msgid "Removing Noise"
 msgstr "Removendo ruídos"
 
@@ -5490,11 +5921,6 @@ msgstr "Removendo ruídos"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Efeito aplicado: %s, %s remoção de compensação DC, %s normalização de amplitude "
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "sem"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74
@@ -5507,157 +5933,167 @@ msgstr "com"
 msgid ", maximum amplitude = %.1f dB"
 msgstr ", amplitude máxima = %.1f dB"
 
-#: effects/Normalize.cpp:113
+#: effects/Normalize.cpp:327
 msgid "Normalize"
 msgstr "Normalizar"
 
-#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
-msgstr ""
+msgstr "Remover compensação DC (centralizar verticalmente em 0.0)"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
-msgstr ""
+msgstr "Normalizar a amplitude máxima para:"
 
-#: effects/Normalize.cpp:361
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr "-"
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Amplitude máxima dB"
 
-#: effects/Normalize.h:32
+#: effects/Normalize.h:33
 msgid "Normalize..."
 msgstr "Normalizar..."
 
-#: effects/Normalize.h:41
+#: effects/Normalize.h:49
 msgid "Normalizing..."
-msgstr "Normalizando"
+msgstr "Normalizando..."
 
 #: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
-msgstr "Efeito aplicado: %s %d estágios, %.0f%% wet, freqüência = %.1f Hz, fase inicial = %.0f graus, prof. = %d, retorno = %.0f%%"
+msgstr "Efeito aplicado: %s %d estágios, %.0f%% wet, frequência = %.1f Hz, fase inicial = %.0f graus, prof. = %d, retorno = %.0f%%"
 
-#: effects/Phaser.cpp:222
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "Estágios:"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
-msgstr ""
+msgstr "Estágios"
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "Dry/Wet:"
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
-msgstr ""
+msgstr "Dry Wet"
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:244
+#: effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
-msgstr "Freqüência LFO (Hz):"
+msgstr "Frequência LFO (Hz):"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247
+#: effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
-msgstr ""
+msgstr "Frequência LFO (Hz)"
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:252
+#: effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "Fase inicial LFO (Graus):"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255
+#: effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
-msgstr ""
+msgstr "Fase inicial LFO (Graus)"
 
-#: effects/Phaser.cpp:296
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Profundidade:"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263
+#: effects/Wahwah.cpp:241
 msgid "Depth in percent"
-msgstr ""
+msgstr "Profundidade (%)"
 
-#: effects/Phaser.cpp:312
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Feedback (%):"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
-msgstr ""
+msgstr "Retorno (%)"
 
-#: effects/Phaser.h:38
+#: effects/Phaser.h:45
 msgid "Phaser..."
 msgstr "Phaser..."
 
-#: effects/Phaser.h:46
+#: effects/Phaser.h:59
 msgid "Applying Phaser"
 msgstr "Aplicando Phaser"
 
 #: effects/Repair.cpp:99
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr "O efeito Reparar foi desenvolvido para ser usado apenas em partes pequenas de áudio danificado \n"
+msgstr ""
+"O efeito Reparar foi desenvolvido para ser usado apenas em partes pequenas de áudio danificado.\n"
 "(até 128 amostras).\n"
 "\n"
 "Aumente o nível de Zoom e selecione apenas uma pequena fração de segundo para reparar."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
 msgstr ""
+"Reparar funciona utilizando áudio de fora da área selecionada.\n"
+"\n"
+"Por favor, selecione uma área subjacente à desejada para reparar.\n"
+"\n"
+"Quanto mais áudio ao redor for selecionado, melhor o resultado."
 
-#: effects/Repair.h:37
+#: effects/Repair.h:43
 msgid "Repairing damaged audio"
 msgstr "Reparando áudio danificado"
 
-#: effects/Repeat.cpp:49
+#: effects/Repeat.cpp:50
 #, c-format
 msgid "Repeated %d times"
 msgstr "Repetido %d vezes"
 
-#: effects/Repeat.cpp:75
+#: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
 msgstr "Faixas longas demais para repetir a seleção."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:77
+#: effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Repetir"
 
-#: effects/Repeat.cpp:212
-#, fuzzy
+#: effects/Repeat.cpp:211
 msgid "Number of times to repeat:"
 msgstr "Número de vezes a repetir:"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Novo tamanho da seleção: hh:mm:ss"
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Novo tamanho da seleção:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:261
+#: widgets/TimeTextCtrl.cpp:272
 msgid "hh:mm:ss"
 msgstr "hh:mm:ss"
 
-#: effects/Repeat.h:32
+#: effects/Repeat.h:33
 msgid "Repeat..."
 msgstr "Repetir..."
 
-#: effects/Repeat.h:40
+#: effects/Repeat.h:47
 msgid "Performing Repeat"
 msgstr "Executando 'repetir'"
 
@@ -5665,7 +6101,7 @@ msgstr "Executando 'repetir'"
 msgid "Reverse"
 msgstr "Inverter início e fim"
 
-#: effects/Reverse.h:38
+#: effects/Reverse.h:44
 msgid "Reversing"
 msgstr "Revertendo"
 
@@ -5677,31 +6113,33 @@ msgstr "Gerador de Silêncio"
 msgid "Silence..."
 msgstr "Silêncio..."
 
-#: effects/Silence.h:42
+#: effects/Silence.h:48
 msgid "Generating Silence"
 msgstr "Gerando silêncio"
 
-#: effects/Silence.h:47
+#: effects/Silence.h:53
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Efeito aplicado: Inserir silêncio, %.6lf segundos"
 
-#: effects/SimplePairedTwoTrack.h:120
+#: effects/SimplePairedTwoTrack.h:115
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Desculpe, este efeito não pode ser executado em faixas estéreo onde os canais tem conteúdos diferentes entre si."
+msgstr "Desculpe, este efeito não pode ser executado em faixas estéreo onde os canais têm conteúdos diferentes entre si."
 
 #: effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
-msgstr "Limpador de arestas"
+msgstr "Limpador de surtos"
 
 #: effects/SpikeCleaner.cpp:160
 msgid "SpikeCleaner by Lynn Allan"
-msgstr "Limpador de arestas por Lynn Allan"
+msgstr "Limpador de surtos por Lynn Allan"
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr "Duração máxima do surto transiente (miliseg.):\n"
+msgstr ""
+"Duração máxima do surto transiente (milisseg.):\n"
 "(99999 ou mais = desligado)"
 
 #: effects/SpikeCleaner.cpp:178
@@ -5710,131 +6148,129 @@ msgstr "Limiar de silêncio:"
 
 #: effects/SpikeCleaner.h:27
 msgid "Spike Cleaner..."
-msgstr "Limpar arestas..."
+msgstr "Limpador de Surtos..."
 
 #: effects/SpikeCleaner.h:35
 msgid "Applying Spike Cleaner..."
-msgstr "Aplicando Limpar Arestas..."
+msgstr "Aplicando Limpador de Surtos..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
 #: effects/StereoToMono.h:23
-msgid "&Stereo to Mono"
-msgstr "E&stéreo para Mono"
+msgid "Stereo to Mono"
+msgstr "Estéreo para Mono"
 
-#: effects/StereoToMono.h:32
+#: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
 msgstr "Aplicando Estéreo para Mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Escala de tempo"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Escala de tempo/Aumento de altura"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "utilizando o SBSMS, por Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Alteração inicial no Tempo (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Alteração final no Tempo (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Alteração inicial no Tempo (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Alteração final no Tempo (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Aumento de altura inicial (semitons)  [-12 to 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Aumento de altura final (semitons)  [-12 to 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Escala de tempo/Aumento de altura..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Alterando Tempo/Altura "
 
-#: effects/ToneGen.cpp:66
+#: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
-msgstr "Efeito aplicado: Gerada %s onda %s, freqüência = %.2f Hz, amplitude = %.2f, %.6lf segundos"
+msgstr "Efeito aplicado: Gerada %s onda %s, frequência = %.2f Hz, amplitude = %.2f, %.6lf segundos"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:69
+#: widgets/Meter.cpp:405
 msgid "Linear"
 msgstr "Linear"
 
-#: effects/ToneGen.cpp:76
+#: effects/ToneGen.cpp:70
 msgid "Logarithmic"
 msgstr "Logarítmico"
 
 # chirp=trilo. no audacity ficou 'tons programaveis'
-#: effects/ToneGen.cpp:78
+#: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
 msgstr "Gerador de tons programáveis"
 
-#: effects/ToneGen.cpp:78
+#: effects/ToneGen.cpp:71
 msgid "Tone Generator"
 msgstr "Gerador de tom"
 
-#: effects/ToneGen.cpp:79
+#: effects/ToneGen.cpp:72
 msgid "Sine"
 msgstr "Senoidal"
 
-#: effects/ToneGen.cpp:80
+#: effects/ToneGen.cpp:73
 msgid "Square"
 msgstr "Quadrado"
 
-#: effects/ToneGen.cpp:81
+#: effects/ToneGen.cpp:74
 msgid "Sawtooth"
 msgstr "Dente-de-serra"
 
-#: effects/ToneGen.cpp:82
+#: effects/ToneGen.cpp:75
 msgid "Square, no alias"
 msgstr "Quadrado, sem graduação"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:277
+#: effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr "Frequência (Hz)"
 
-#: effects/ToneGen.cpp:354
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Formato:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Frequência inicial (Hz)"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Frequência final (Hz)"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Amplitude inicial"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
-msgstr ""
+msgstr "Amplitude final"
 
-#: effects/ToneGen.cpp:372
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr "Interpolação:"
 
@@ -5848,275 +6284,341 @@ msgstr "Tom..."
 
 # chirp=trilo
 # no audacity tom programavel
-#: effects/ToneGen.h:48
+#: effects/ToneGen.h:54
 msgid "Generating Chirp"
 msgstr "Gerando tom programável"
 
-#: effects/ToneGen.h:48
+#: effects/ToneGen.h:54
 msgid "Generating Tone"
 msgstr "Gerando tom"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr "Todas as faixas devem ter a mesma taxa de amostragem"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:133
+#: effects/TruncSilence.cpp:444
 msgid "Truncate Silence"
 msgstr "Excluir silêncio"
 
-#: effects/TruncSilence.cpp:346
+#: effects/TruncSilence.cpp:454
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "by Lynn Allan && Philip Van Baren"
+
+#: effects/TruncSilence.cpp:468
+msgid "Min silence duration:"
+msgstr "Duração mínima do silêncio:"
+
+#: effects/TruncSilence.cpp:471
+#: effects/TruncSilence.cpp:475
+#: prefs/MidiIOPrefs.cpp:197
+#: prefs/MidiIOPrefs.cpp:199
+msgid "milliseconds"
+msgstr "milissegundos"
+
+#: effects/TruncSilence.cpp:472
 msgid "Max silence duration:"
 msgstr "Duração máxima do silêncio:"
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:193
-msgid "milliseconds"
-msgstr "millisegundos"
+#: effects/TruncSilence.cpp:476
+msgid "Silence compression:"
+msgstr "Compressão do silêncio:"
 
-#: effects/TruncSilence.cpp:351
+#: effects/TruncSilence.cpp:479
+msgid ":1"
+msgstr ":1"
+
+#: effects/TruncSilence.cpp:481
 msgid "Threshold for silence:"
 msgstr "Limiar de silêncio:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   A duração deve ser de no mínimo 1 milisegundo"
+#: effects/TruncSilence.cpp:507
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"   A duração deve ser de no mínimo 1 milissegundo\n"
+"   Taxa de compressão deve ser de pelo menos 1:1"
 
-#: effects/TruncSilence.h:28
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Excluir silêncio..."
 
-#: effects/TruncSilence.h:36
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
-msgstr "Diminuindo silêncio"
+msgstr "Excluindo silêncio"
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde cada canal tem um conteúdo diferente do outro."
+#: effects/VST/VSTEffect.cpp:256
+#: effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Ajustes de Efeitos"
+
+#: effects/VST/VSTEffect.cpp:336
+#: effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563
+#: prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Nenhum"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "Ajustes:"
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Impossível processar"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "Carregar"
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Parâmetros do plug-in VST:"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "Salvar"
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr "Carregar programação VST:"
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "Erro ao carregar programação"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr "Salvar programação VST como:"
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr "Este parâmetro será salvo como %s. Continuar?"
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "Executando efeito: "
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr "Todos os canais das faixas estéreo devem ter a mesma taxa de amostragem."
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr "Todos os canais das faixas estéreo devem ter o mesma tamanho."
 
 #: effects/Wahwah.cpp:61
 #, c-format
 msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
-msgstr "Efeito aplicado: %s freqüência = %.1f Hz, fase inicial = %.0f graus, prof. = %.0f%%, ressonância = %.1f, freqüência de compensação = %.0f%%"
+msgstr "Efeito aplicado: %s frequência = %.1f Hz, fase inicial = %.0f graus, prof. = %.0f%%, ressonância = %.1f, frequência de compensação = %.0f%%"
 
-#: effects/Wahwah.cpp:72
+#: effects/Wahwah.cpp:203
 msgid "Wahwah"
 msgstr "Wahwah"
 
-#: effects/Wahwah.cpp:253
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Profundidade (%):"
 
-#: effects/Wahwah.cpp:269
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Ressonância:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
-msgstr ""
+msgstr "Ressonância"
 
-#: effects/Wahwah.cpp:285
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
-msgstr "Freqüência de Compensação Offset (%):"
+msgstr "Frequência de Compensação Wah (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
-msgstr ""
+msgstr "Frequência de Compensação Wah em percentagem"
 
-#: effects/Wahwah.h:34
+#: effects/Wahwah.h:41
 msgid "Wahwah..."
 msgstr "Wahwah..."
 
-#: effects/Wahwah.h:42
+#: effects/Wahwah.h:55
 msgid "Applying Wahwah"
 msgstr "Aplicando Wahwah"
 
-#: effects/audiounits/AudioUnitEffect.cpp:133
-#: effects/ladspa/LadspaEffect.cpp:169
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178
+#: effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Executando efeito: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:189
+#: effects/ladspa/LadspaEffect.cpp:198
+#: effects/lv2/LV2Effect.cpp:213
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde cada canal tem um conteúdo diferente do outro."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Nenhum"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:557
+#: effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Autor: "
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Ajustes de Efeitos"
-
-#: effects/ladspa/LadspaEffect.cpp:699
+#: effects/ladspa/LadspaEffect.cpp:685
+#: effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809
+#: effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Tamanho (segundos)"
 
-#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:824
+#: effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
-msgstr ""
+msgstr "Tamanho da nota (segundos)"
 
-#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
+# este 'note'  eu não entendi se quer dizer 'anotação' ou 'perceber'. :(
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
-msgstr ""
+msgstr "Velocidade da nota"
 
-#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:846
+#: effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
-msgstr ""
+msgstr "Chave da nota"
 
-#: effects/nyquist/Nyquist.cpp:252
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Aplicando efeito Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:91
+#: effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Digitar comando Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:322
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Digite comando Nyquist: "
 
-#: effects/nyquist/Nyquist.cpp:412
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Desculpe, os efeitos não podem ser executados em faixas estéreo com conteúdos diferentes em cada canal."
 
-#: effects/nyquist/Nyquist.cpp:440
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:441
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Saída do Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "O Nyquist retornou o seguinte valor:"
 
-#: effects/nyquist/Nyquist.cpp:651
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist não gerou áudio algum! \n"
 
-#: effects/nyquist/Nyquist.cpp:662
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist gerou faixas de áudio demais para mixar! \n"
 
-#: effects/vamp/VampEffect.cpp:75
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Extraindo pontos: %s"
 
-#: effects/vamp/VampEffect.cpp:106
+#: effects/vamp/VampEffect.cpp:107
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr "O plug-in Vamp não pode ser executado em faixas estéreo com áudio diferente entre os canais."
 
-#: effects/vamp/VampEffect.cpp:120
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Desculpe, não foi possível carregar o plug-in Vamp."
 
-#: effects/vamp/VampEffect.cpp:228
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Desculpe, não foi possível inicializar o plug-in Vamp."
 
-#: effects/vamp/VampEffect.cpp:376
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
 msgstr " - plug-in de análise de áudio Vamp"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr "Ajustes do plug-in"
 
-#: effects/vamp/VampEffect.cpp:446
+#: effects/vamp/VampEffect.cpp:418
+#: effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr "Programa"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Todo áudio selecionado está mudo."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Todo áudio está mudo."
 
-#: export/Export.cpp:451
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Exportar arquivo"
 
-#: export/Export.cpp:459
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Opções..."
 
-#: export/Export.cpp:485
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Deseja salvar arquivo como \""
 
-#: export/Export.cpp:501
+#: export/Export.cpp:596
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr "O Audacity salvará o arquivo do tipo %s com o nome %s.\n"
+msgstr ""
+"O Audacity salvará o arquivo do tipo %s com o nome %s.\n"
 "Normalmente estes arquivos terminam com a extensão %s e alguns programas podem não reconhecer\n"
 "este arquivo como válido.\n"
 "Deseja salvar o arquivo com este nome?"
 
-#: export/Export.cpp:522
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "O arquivo de nome \"%s\" já existe. Deseja substituí-lo?"
 
-#: export/Export.cpp:604
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Todas as faixas serão convertidas em duas faixas estéreo no arquivo exportado."
 
-#: export/Export.cpp:609
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Todas as faixas serão convertidas em um único canal mono no arquivo exportado."
 
-#: export/Export.cpp:619
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Opções avançadas de mixagem"
 
-#: export/Export.cpp:821
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr "Canal: %2d"
 
-#: export/Export.cpp:945
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - Esquerdo"
 
-#: export/Export.cpp:946
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - Direito"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Painel de Mixagem"
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Canais de saída: %2d"
@@ -6125,19 +6627,19 @@ msgstr "Canais de saída: %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Especifique o codificador para linha de comando"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
-msgstr "Configurações da exportação por linha-de-comando"
+msgstr "Configurações da exportação por linha de comando"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Comando:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Exibir saída"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
 msgstr "Dados serão direcionados para a entrada padrão. \"%f\" será substituído pelo nome de arquivo selecionado."
@@ -6146,564 +6648,705 @@ msgstr "Dados serão direcionados para a entrada padrão. \"%f\" será substitu
 msgid "(external program)"
 msgstr "(programa externo)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Não é possível exportar áudio como %s."
 
-#: export/ExportCL.cpp:324
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Exportando o trecho selecionado usando o intepretador de linha de comando"
 
-#: export/ExportCL.cpp:325
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Exportando todo o projeto usando o intepretador de linha de comando"
 
-#: export/ExportCL.cpp:389
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Saída do Comando"
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+"É necessário configurar o FFmpeg para prosseguir.\n"
+"Você pode configurá-lo em Preferências -> Bibliotecas."
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr "Suporte a AMR não distribuível"
+
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
+"É necessário configurar o FFmpeg para prosseguir.\n"
+"Você pode configurá-lo em Preferências -> Bibliotecas.\n"
+"Note que o suporte a AMR não está disponível para a\n"
+"instalação do FFMPEG. É necessário compilar o FFMPEG\n"
+"por conta própria."
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:433
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg não pode encontrar o codec de áudio 0x%x.\n"
+"O suporte a este codec provavelmente não foi compilado."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Tentou-se exportar %d canais, mas o número máximo de canais para este formato é %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "Exportando áudio selecionado como %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "Exportando todo o arquivo como %s"
 
-#: export/ExportMP3.cpp:1918
+#: export/ExportFFmpeg.cpp:748
+#: export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr "Taxa de amostragem inválida"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:761
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr ""
+"A taxa de amostragem (%d) não é suportada pelo formato\n"
+"de arquivo atual."
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:764
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
+"A combinação de taxa de amostragem (%d) e bit rate (%d kbps)\n"
+"não são suportados pelo formato atual."
 
-#: export/ExportMP3.cpp:1937
+#: export/ExportFFmpeg.cpp:767
+#: export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "Você deve reamostrar para uma das taxas abaixo."
 
-#: export/ExportMP3.cpp:1960
+#: export/ExportFFmpeg.cpp:795
+#: export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr "Taxas de amostragem "
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "Especificar as opções de AC3"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
-msgstr ""
-
-#: export/ExportMP2.cpp:133
+msgstr "Configurações de exportação AC3"
+
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Taxa de Bits:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "Especificar as opções de AAC"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "Configurações de exportação AAC"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:172
+#: export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Qualidade:"
+
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "Especificar as opções de AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "Configurações de exportação AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "Especificar as opções de AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "Configurações de exportação AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "Especificar as opções de WMA"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "Configurações de exportação WMA"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "Sobregravar ajuste existente '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "Confirmar sobregravação"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Por favor, selecione um formato antes de salvar o perfil"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Por favor, selecione um codec antes de salvar o perfil"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "O ajuste '%s' não existe."
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
-msgstr ""
+msgstr "Especificar outras opções "
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
-msgstr ""
+msgstr "Ajuste:"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
-msgstr ""
+msgstr "Carregar ajuste"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
-msgstr ""
+msgstr "Salvar ajuste"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
-msgstr ""
+msgstr "Apagar ajuste"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
-msgstr ""
+msgstr "Importar ajustes"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
-msgstr ""
+msgstr "Exportar ajustes"
 
-#: export/ExportPCM.cpp:177
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
-msgstr "Formato"
+msgstr "Formato:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
-msgstr ""
+msgstr "Codec:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:902
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "Nem todas as possibilidades entre codecs e formatos são compatíveis. Alguns parâmetros (como taxa de bits e de amostragem) também não são compatíveis com alguns codecs."
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
-msgstr ""
+msgstr "Seletor de formato:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
-msgstr ""
+msgstr "Seletor de codec:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
-msgstr ""
+msgstr "Exibir todos os formatos"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
-msgstr ""
+msgstr "Exibir todos os codecs"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
-msgstr ""
+msgstr "Opções"
 
-#: prefs/GUIPrefs.cpp:168
+#: export/ExportFFmpegDialogs.cpp:920
+#: prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Idioma da interface:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:921
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"Código de linguagem de 3 letras ISO 639\n"
+"Opcional\n"
+"em branco - automático"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
-msgstr ""
+msgstr "Tag:"
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:924
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"Tag do Codec (FOURCC)\n"
+"Opcional\n"
+"em branco - automático"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
+"Taxa de Bits  (bits/segundo) - influencia o tamanho e qualidade do arquivo final\n"
+"Alguns codecs podem aceitar apenas valores específicos (128k, 192k, 256k etc)\n"
+"0 - automático\n"
+"Recomendado - 192000"
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Qualidade:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
+"Qualidade geral, usado de diferentes maneiras de acordo com o codec selecionado\n"
+"Necessário para o vorbis\n"
+"0 - automático\n"
+"-1 - desligado (utiliza a taxa de bits)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Taxa de amostragem:"
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:933
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
+"Taxa de amostragem (Hz)\n"
+"0 - não altera taxa de amostragem"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "Tamanho máximo de banda:"
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:936
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
+"Tamanho máximo de banda do áudio (Hz)\n"
+"Opcional\n"
+"0 - automático"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
-msgstr ""
+msgstr "Perfil:"
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:940
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
+"Perfil AAC\n"
+"Baixa complexidade (LC) - padrão\n"
+"A maioria dos tocadores só reproduzem áudio em formato LC"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Usar reserva de bit"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Usar tamanho variável de bloco"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
-msgstr ""
+msgstr "Opções de FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
-msgstr ""
+msgstr "Nível de compressão:"
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:955
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
 msgstr ""
+"Nível de compressão\n"
+"Necessário para o FLAC\n"
+"-1 - automático\n"
+"mín - 0 (compressão rápida, arquivos maiores)\n"
+"máx - 10 (compressão lenta, arquivos menores)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
-msgstr ""
+msgstr "Tamanho do quadro:"
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:958
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
 msgstr ""
+"Tamanho do quadro\n"
+"Opcional\n"
+"0 - padrão\n"
+"min - 16\n"
+"máx - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
-msgstr ""
+msgstr "Precisão dos Coeficientes LPC"
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:961
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
 msgstr ""
+"Precisão dos Coeficientes LPC\n"
+"Opcional\n"
+"0 - padrão\n"
+"mín - 1\n"
+"máx - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
-msgstr ""
+msgstr "Ordem de predição mínima "
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:964
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"Ordem de predição mínima\n"
+"Opcional\n"
+"-1 - padrão\n"
+"mín - 0\n"
+"máx - 32 (com LPC) ou 4 (sem LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
-msgstr ""
+msgstr "Ordem de predição máxima "
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:967
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"Ordem máxima de predição\n"
+"Opcional\n"
+"-1 - padrão\n"
+"mín - 0\n"
+"máx - 32 (com LPC) ou 4 (sem LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
-msgstr ""
+msgstr "Método da ordem de predição:"
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:971
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
 msgstr ""
+"Método da ordem de predição\n"
+"Estimada - mais rápido, menor compressão\n"
+"Busca logaritmica - mais lento, melhor compressão\n"
+"Busca completa - padrão"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
-msgstr ""
+msgstr "Ordem de partição  mínima "
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:974
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"Ordem mínima de partição\n"
+"Opcional\n"
+"-1 - padrão\n"
+"mín - 0\n"
+"máx - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
-msgstr ""
+msgstr "Ordem de partição máxima"
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:977
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"Ordem máxima de partição\n"
+"Opcional\n"
+"-1 - padrão\n"
+"mín - 0\n"
+"máx - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
-msgstr ""
+msgstr "Usar LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
-msgstr ""
+msgstr "Opções do arquivo MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
-msgstr ""
+msgstr "Taxa de Mux:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:991
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Taxa de bits máximo para o fluxo multiplexado\n"
+"Opcional\n"
+"0 - padrão"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
-msgstr ""
+msgstr "Tamanho do pacote:"
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:994
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Tamanho do pacote\n"
+"Opcional\n"
+"0 - padrão"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Não é possível apagar um ajuste sem nome"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "Remover ajuste '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "Não é possível salvar um ajuste sem nome"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "Selecione o arquivo XML para importar os ajustes"
 
-#: prefs/KeyConfigPrefs.cpp:200
+#: export/ExportFFmpegDialogs.cpp:1275
+#: export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:267
+#: prefs/KeyConfigPrefs.cpp:298
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
-msgstr "XML Arquivos (*.xml)|*.xml|Todos os arquivos (*.*)|*.*"
+msgstr "Arquivos XML (*.xml)|*.xml|Todos os arquivos (*.*)|*.*"
 
 #: export/ExportFFmpegDialogs.cpp:1292
 msgid "Select xml file to export presets into"
-msgstr ""
+msgstr "Selecione o arquivo XML para exportar os ajustes"
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Não foi possível compreender o formato"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.h:53
-msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "Não foi possível encontrar o codec"
 
 #: export/ExportFFmpegDialogs.h:54
-msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgid "M4A (AAC) Files (FFmpeg)"
+msgstr "Arquivos M4A (AAC) (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr ""
+msgid "AC3 Files (FFmpeg)"
+msgstr "Arquivos AC3 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "Arquivos AMR (banda estreita) (FFmpeg, não distribuíveis)"
 
 #: export/ExportFFmpegDialogs.h:57
-msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "Arquivos AMR (banda larga) (FFmpeg, não distribuíveis)"
 
 #: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr "Arquivos WMA (ver. 2) (FFmpeg)"
+
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "Exportar personalizado FFmpeg"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
-msgstr ""
+msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
-msgstr ""
+msgstr "Baixa complexidade"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
-msgstr ""
+msgstr "Perfil principal"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
-msgstr ""
+msgstr "2-Níveis"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
-msgstr ""
+msgstr "4-Níveis"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
-msgstr ""
+msgstr "8-Níveis"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
-msgstr ""
+msgstr "Estimado"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
-msgstr ""
+msgstr "Busca completa"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
-msgstr ""
+msgstr "Busca log"
 
-#: export/ExportFLAC.cpp:68
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
 msgstr "Especificar as opções de FLAC"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (mais rápido)"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "4"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:90
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (melhor)"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16 bit"
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24 bit"
 
-#: export/ExportFLAC.cpp:98
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "Configurações de exportação FLAC"
 
-#: export/ExportFLAC.cpp:102
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Nível:"
 
-#: export/ExportFLAC.cpp:104
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Taxa de bits:"
 
-#: export/ExportFLAC.cpp:208
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr "Arquivos FLAC"
 
-#: export/ExportFLAC.cpp:310
+#: export/ExportFLAC.cpp:288
+msgid "FLAC export couldn't open %s"
+msgstr "Exportação em FLAC não pôde abrir %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"Codificador FLAC falhou ao inicializar\n"
+"Status: %d"
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr "Exportando o áudio selecionado como FLAC"
 
-#: export/ExportFLAC.cpp:311
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Exportando todo o projeto como FLAC"
 
@@ -6711,7 +7354,7 @@ msgstr "Exportando todo o projeto como FLAC"
 msgid "Specify MP2 Options"
 msgstr "Especificar as opções de MP2"
 
-#: export/ExportMP2.cpp:129
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "Configurações de exportação MP2"
 
@@ -6719,64 +7362,64 @@ msgstr "Configurações de exportação MP2"
 msgid "MP2 Files"
 msgstr "Arquivos MP2"
 
-#: export/ExportMP2.cpp:229
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Não é possível exportar o arquivo MP2 com esta taxa de bits e de amostragem"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1619
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Não foi possível abrir o arquivo de destino para gravação."
 
-#: export/ExportMP2.cpp:271
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Exportando áudio selecionado a %d kbps"
 
-#: export/ExportMP2.cpp:272
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Exportando todo o arquivo a %d kbps."
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr "(Melhor qualidade)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr "(Menor tamanho)"
 
-#: export/ExportMP3.cpp:243
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Rápido"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
-#: prefs/GUIPrefs.cpp:49
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr "Padrão"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr "Insano"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr "Extremo"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr "Médio"
 
-#: export/ExportMP3.cpp:303
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr "Especificar as opções de MP3"
 
@@ -6805,8 +7448,7 @@ msgid "Constant"
 msgstr "Constante"
 
 #: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Qualidade"
 
@@ -6841,226 +7483,241 @@ msgstr "Para salvar uma cópia gratuita do Lame, clique aqui -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"Você está vinculando o lame_enc.dll v%d.%d. Esta versão não é compatível com o Audacity %d.%d.%d.\n"
+"Por favor, baixe a última versão da biblioteca LAME MP3."
 
-#: export/ExportMP3.cpp:1094
+#: export/ExportMP3.cpp:1328
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Apenas lame_enc.dll|lame_enc.dll|DLLs do sistema (*.dll)|*.dll|Todos os arquivos (*.*)|*"
 
-#: export/ExportMP3.cpp:1550
+#: export/ExportMP3.cpp:1346
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Apenas libmp3lame.dylib|libmp3lame.dylib|Bibliotecas dinâmicas (*.dylib)|*.dylib|Todos os arquivos (*)|*"
 
-#: export/ExportMP3.cpp:1567
+#: export/ExportMP3.cpp:1364
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr "Only libmp3lame.so.0|libmp3lame.so.0|Arquivos Primary Shared Object (*.so)|*.so|Arquivos Extended Libraries (*.so*)|*.so*|Todos os arquivos (*)|*"
+msgstr "Apenas libmp3lame.so.0|libmp3lame.so.0|Arquivos Primary Shared Object (*.so)|*.so|Extended Libraries (*.so*)|*.so*|Todos os arquivos (*)|*"
 
-#: export/ExportMP3.cpp:1650
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "Arquivos MP3"
 
-#: export/ExportMP3.cpp:1673
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "Não foi possível abrir a biblioteca de exportação em MP3!"
 
-#: export/ExportMP3.cpp:1680
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Não é uma biblioteca válida para exportação de MP3"
 
-#: export/ExportMP3.cpp:1757
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "Não foi possível inicializar o fluxo MP3"
 
-#: export/ExportMP3.cpp:1799
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "Exportando áudio selecionado com o ajuste %s"
 
-#: export/ExportMP3.cpp:1800
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Exportando arquivo completo com o ajuste %s"
 
-#: export/ExportMP3.cpp:1805
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "Exportando áudio selecionado com taxa VBR e qualidade %s"
 
-#: export/ExportMP3.cpp:1806
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
-msgstr "Exportando arquivo completo com taxa VBR e ajuste %s"
+msgstr "Exportando arquivo completo com taxa VBR e qualidade %s"
 
-#: export/ExportMP3.cpp:1811
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
-msgstr "Exportando áudio selecionado à %d Kbps"
+msgstr "Exportando áudio selecionado a %d Kbps"
 
-#: export/ExportMP3.cpp:1812
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
-msgstr "Exportando arquivo completo à %d Kbps"
+msgstr "Exportando arquivo completo a %d Kbps"
 
-#: export/ExportMP3.cpp:1845
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Erro retornado pelo codificador de MP3: %d "
 
-#: export/ExportMP3.cpp:1931
+#: export/ExportMP3.cpp:1790
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr "A taxa de amostragem (%d) não é suportada pelo formato MP3.  "
 
-#: export/ExportMP3.cpp:1934
+#: export/ExportMP3.cpp:1793
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
 msgstr "A taxa de amostragem (%d) e o bit rate (%d kbps) não são suportados pelo formato MP3.  "
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Biblioteca de exportação em MP3 não encontrada!"
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Exportar múltiplos"
 
-#: export/ExportMultiple.cpp:164
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Se você tiver várias faixas de áudio, é possível exportá-las em arquivos separados,\n"
+msgstr ""
+"Se você tiver várias faixas de áudio, é possível exportá-las em arquivos separados,\n"
 "ou se houverem faixas de título, é possível exportar um novo arquivo para cada título.\n"
 "\n"
 "Este projeto não pode ser exportado em múltiplos arquivos por conter apenas uma faixa de áudio e nenhuma faixa de título."
 
-#: export/ExportMultiple.cpp:165
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Não é possível exportar em múltiplos arquivos"
 
-#: export/ExportMultiple.cpp:200
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Formato de exportação:"
 
-#: export/ExportMultiple.cpp:207
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Opções..."
 
-#: export/ExportMultiple.cpp:210
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Exportar em:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Selecionar..."
-
-#: export/ExportMultiple.cpp:217
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Criar"
 
-#: export/ExportMultiple.cpp:224
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Separar arquivos baseado em:"
 
-#: export/ExportMultiple.cpp:234
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Títulos"
 
-#: export/ExportMultiple.cpp:239
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Incluir áudio antes da primeira faixa"
 
-#: export/ExportMultiple.cpp:245
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Primeiro nome:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
-msgstr ""
-
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Faixas"
+msgstr "Primeiro nome de arquivo"
 
-#: export/ExportMultiple.cpp:265
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Nomes de arquivo:"
 
-#: export/ExportMultiple.cpp:275
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Utilizando Título/Nome da faixa"
 
-#: export/ExportMultiple.cpp:282
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Numerando consecutivamente"
 
-#: export/ExportMultiple.cpp:288
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Prefixo do nome de arquivo:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
-msgstr ""
+msgstr "Prefixo do nome de arquivo"
 
-#: export/ExportMultiple.cpp:306
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Sobregravar arquivos existentes"
 
-#: export/ExportMultiple.cpp:372
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "\"%s\" criado com sucesso."
 
-#: export/ExportMultiple.cpp:381
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Escolha uma pasta para os arquivos exportados"
 
-#: export/ExportMultiple.cpp:470
+#: export/ExportMultiple.cpp:524
+msgid "Successfully exported the following %ld file(s)."
+msgstr "%ld arquivo(s) exportado(s) com êxito."
+
+#: export/ExportMultiple.cpp:525
+msgid "Something went wrong after exporting the following %ld file(s)."
+msgstr "Erro ao exportar os seguintes %ld arquivo(s),"
+
+#: export/ExportMultiple.cpp:526
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "Exportação cancelada após exportar os seguintes %ld arquivo(s)."
+
+#: export/ExportMultiple.cpp:527
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "Exportação parou após exportar os seguintes %ld arquivo(s)."
+
+#: export/ExportMultiple.cpp:528
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "Erro fatal ao exportar os seguintes %ld arquivo(s),"
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "Exportar múltiplos"
+
+#: export/ExportMultiple.cpp:570
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
-msgstr "\"%s\" não existe.\n"
+msgstr ""
+"\"%s\" não existe.\n"
 "\n"
 "Deseja criá-lo?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Editar metadados"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d arquivo(s) exportado(s) com êxito."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Erro ao exportar %d arquivo(s),"
-
-#: export/ExportMultiple.cpp:825
+#: export/ExportMultiple.cpp:923
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr "O título %s não é um nome de arquivo válido. Não é possível utilizar:   %s\n"
+msgstr ""
+"O título %s não é um nome de arquivo válido. Não é possível utilizar:   %s\n"
 "Use..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
 msgstr "Especificar opções Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Configurações de exportação em Ogg Vorbis"
 
@@ -7068,166 +7725,182 @@ msgstr "Configurações de exportação em Ogg Vorbis"
 msgid "Ogg Vorbis Files"
 msgstr "Arquivos Ogg Vorbis"
 
-#: export/ExportOGG.cpp:254
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Exportando o trecho selecionado como Ogg Vorbis"
 
-#: export/ExportOGG.cpp:255
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Exportando todo o projeto como Ogg Vorbis"
 
-#: export/ExportPCM.cpp:115
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
 msgstr "Especificar opções para não-compactado"
 
-#: export/ExportPCM.cpp:171
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Configuração de exportação de arquivos sem compressão"
 
-#: export/ExportPCM.cpp:181
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr "Cabeçalho:"
 
-#: export/ExportPCM.cpp:185
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Encodificação:"
 
-#: export/ExportPCM.cpp:190
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(Nem todas as possibilidades entre tipos e formatos estão disponíveis.)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "Outros arquivos não-comprimidos"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) 16 bit PCM assinado "
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) 16 bit PCM assinado"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (celular)"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Não é possível exportar áudio neste formato."
 
-#: export/ExportPCM.cpp:401
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "Exportando áudio selecionado como %s"
 
-#: export/ExportPCM.cpp:403
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
-msgstr "Exportando arquivo completo como %s"
+msgstr "Exportando projeto inteiro como %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:437
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Erro %s. O arquivo pode não ter sido salvo corretamente."
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Não há opções disponíveis para este formato.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Caso necessite de mais opções de exportação, utilize a opção 'Outros arquivos não-comprimidos'."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "O arquivo será exportado como 16-bit AIFF (Apple/SGI).\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "O arquivo será exportado como 16-bit WAV (Microsoft).\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "O arquivo será exportado como GSM 6.10 WAV.\n"
 
-#: import/ImportMP3.cpp:39
+#: import/Import.cpp:162
+#: import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "Arquivos MP3"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "Selecione fluxo(s) para importar"
 
-#: import/Import.cpp:155
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Esta versão do Audacity não foi criada com suporte para %s."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
+"O arquivo \"%s\" está em formato MIDI. \n"
+"O Audacity não executa ou edita estes arquivos\n"
+"diretamente, mas é possível exibí-los pelo comando\n"
+"Arquivo > Importar > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:168
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" é uma faixa de áudio de CD. \n"
+msgstr ""
+"O arquivo \"%s\" é uma faixa de áudio de CD. \n"
 "O Audacity não abre arquivos diretamente de CDs. \n"
 "Extraia o áudio das faixas do CD em um formato que\n"
 "o Audacity possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:174
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr "\"%s\" é um arquivo de lista de músicas.\n"
+msgstr ""
+"\"%s\" é um arquivo de lista de músicas.\n"
 "O Audacity não pode abrir este arquivo porque existem apenas links para outros arquivos.\n"
 "Você pode editar este arquivo em um editor de textos e localizar manualmente os arquivos de áudio reais."
 
-#: import/Import.cpp:179
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato Windows Media Audio. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Windows Media Audio. \n"
 "O Audacity não abre estes arquivos diretamente por\n"
 "restrições de patentes. \n"
 "Converta o arquivo em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:184
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato  Advanced Audio Coding. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Advanced Audio Coding. \n"
 "O Audacity não abre estes arquivos diretamente.\n"
 "Converta o arquivo em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
-#, fuzzy
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em encriptado e provavelmente\n"
+msgstr ""
+"O arquivo \"%s\" está em encriptado e provavelmente\n"
 "tem sua origem em uma loja de músicas online. \n"
 "O Audacity não abre estes arquivos diretamente pois\n"
 "sua encriptação não permite. \n"
@@ -7235,189 +7908,218 @@ msgstr "O arquivo \"%s\" está em encriptado e provavelmente\n"
 "converter a faixa em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:194
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato Real Player. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Real Player. \n"
 "O Audacity não abre diretamente arquivos em\n"
 "formatos proprietários. \n"
 "Converta o arquivo em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:206
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
-msgstr "\"%s\" é um arquivo de notas e não de áudio. \n"
+msgstr ""
+"\"%s\" é um arquivo de notas e não de áudio. \n"
 "O Audacity não abre estes arquivos diretamente.\n"
 "Converta o arquivo em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:212
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato Musepack. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Musepack. \n"
 "O Audacity não abre estes arquivos diretamente.\n"
 "Caso se trate de um arquivo MP3, renomeie a sua\n"
 "extensão para .MP3 ou converta-o em um formato\n"
 "que o Audacity possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:218
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato Wavpack. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Wavpack. \n"
 "O Audacity não abre estes arquivos diretamente.\n"
 "Converta o arquivo em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:224
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato Dolby Digital. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Dolby Digital. \n"
 "O Audacity não abre estes arquivos diretamente.\n"
 "Converta o arquivo em um formato que o Audacity \n"
 "possa importar, como WAV ou AIFF."
 
-#: import/Import.cpp:230
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "O arquivo \"%s\" está em formato Ogg Speex. \n"
+msgstr ""
+"O arquivo \"%s\" está em formato Ogg Speex. \n"
 "O Audacity não abre estes arquivos diretamente.\n"
 "Converta o arquivo em um formato importável, como WAV ou AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
+"O arquivo \"%s\" é um vídeo. \n"
+"O Audacity não abre este arquivo diretamente.\n"
+"Converta o arquivo em um formato importável, como WAV ou AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
+"Audacity não reconhece o tipo do arquivo '%s'\n"
+"como válido. Se este som não estiver comprimido, tente importar\n"
+"como \"Arquivo RAW\"."
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
 msgstr ""
+"Audacity reconhece o tipo do arquivo '%s'\n"
+"como válido, no entanto não pôde importá-lo."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "Arquivos compatíveis com FFmpeg"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Index[%02x] Codec[%S], Idioma[%S], Taxa de Bits[%S], Canais[%d], Duração[%d]"
 
-#: import/ImportFLAC.cpp:35
+#: import/ImportFLAC.cpp:45
 msgid "FLAC files"
 msgstr "Arquivos FLAC"
 
-#: import/ImportLOF.cpp:92
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "Arquivos compatíveis com GStreamer"
+
+#: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Lista de arquivos em formato de texto"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:318
+#: import/ImportLOF.cpp:314
 msgid "Invalid window offset in LOF file."
-msgstr "Janela com compensação inválida no arquivo LOF."
+msgstr "Compensação inválida de janela no arquivo LOF."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
-#: import/ImportLOF.cpp:435
+#: import/ImportLOF.cpp:316
+#: import/ImportLOF.cpp:337
+#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "Erro LOF"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:339
+#: import/ImportLOF.cpp:335
 msgid "Invalid duration in LOF file."
 msgstr "Duração inválida no arquivo LOF."
 
-#: import/ImportLOF.cpp:414
+#: import/ImportLOF.cpp:417
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
 msgstr "Faixas MIDI não podem ser compensadas individualmente, disponível apenas em arquivos de áudio."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:434
+#: import/ImportLOF.cpp:438
 msgid "Invalid track offset in LOF file."
 msgstr "Faixa com compensação inválida no arquivo LOF."
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": Nome de arquivo muito curto."
 
-#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31
+#: import/ImportMIDI.cpp:39
+#: import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "Não foi possível abrir o arquivo"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Tipo de arquivo incorreto."
 
-#: import/ImportOGG.cpp:36
+#: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
 msgstr "Arquivos Ogg Vorbis"
 
-#: import/ImportOGG.cpp:142
+#: import/ImportOGG.cpp:184
 msgid "Media read error"
 msgstr "Erro de leitura na mídia"
 
-#: import/ImportOGG.cpp:145
+#: import/ImportOGG.cpp:187
 msgid "Not an Ogg Vorbis file"
 msgstr "Não é um arquivo Ogg Vorbis"
 
-#: import/ImportOGG.cpp:148
+#: import/ImportOGG.cpp:190
 msgid "Vorbis version mismatch"
 msgstr "Versão do Vorbis não está correta."
 
-#: import/ImportOGG.cpp:151
+#: import/ImportOGG.cpp:193
 msgid "Invalid Vorbis bitstream header"
 msgstr "Cabeçalho bitstream inválido para o Vorbis"
 
-#: import/ImportOGG.cpp:154
+#: import/ImportOGG.cpp:196
 msgid "Internal logic fault"
 msgstr "Falha lógica interna!"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, e outros arquivos não-compactados"
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "Importando %s"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "Arquivos Quicktime"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
-msgstr ""
+msgstr "Importar dados Raw"
 
-#: import/ImportRaw.cpp:278
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Importar dados Raw"
 
@@ -7447,1174 +8149,1306 @@ msgstr "big-endian"
 msgid "Default endianness"
 msgstr "Endianness padrão"
 
-#: import/ImportRaw.cpp:370
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 Canal (Mono)"
 
-#: import/ImportRaw.cpp:371
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 Canais (Estéreo)"
 
-#: import/ImportRaw.cpp:373
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d Canais"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
-msgstr ""
+msgstr "Ordem de bits:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
-msgstr ""
+msgstr "Canais:"
 
-#: import/ImportRaw.cpp:386
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Iniciar compensação:"
 
-#: import/ImportRaw.cpp:397
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Quantidade a importar:"
 
-#: import/ImportRaw.cpp:408
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Taxa de amostragem:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Importação completa. Calculando forma de onda."
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "Decoficando forma de onda"
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% completo.  Clique para mudar o ponto de foco da tarefa."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Dispositivos"
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr "Lote"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:75
+#: prefs/GUIPrefs.cpp:134
+#: prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr "Opções"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Estéreo)"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr "Não aplicar efeitos no mo&do de processamento em lote"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Reprodução"
+#: prefs/BatchPrefs.cpp:81
+#: prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Modo Cl&eanSpeech (interface personalizada)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Dispositivo"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Dispositivos"
 
-#: prefs/AudioIOPrefs.cpp:122
+#: prefs/DevicePrefs.cpp:107
+#: prefs/GUIPrefs.cpp:32
+#: prefs/MidiIOPrefs.cpp:113
+msgid "Interface"
+msgstr "Interface"
+
+#: prefs/DevicePrefs.cpp:112
+#: prefs/MidiIOPrefs.cpp:118
+msgid "Host"
+msgstr "Host"
+
+#: prefs/DevicePrefs.cpp:119
+#: prefs/MidiIOPrefs.cpp:125
 msgid "Using:"
 msgstr "Utilizando:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/DevicePrefs.cpp:126
+#: prefs/MidiIOPrefs.cpp:132
+#: prefs/PlaybackPrefs.cpp:31
+msgid "Playback"
+msgstr "Reprodução"
 
-#: prefs/AudioIOPrefs.cpp:133
+#: prefs/DevicePrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:145
+#: prefs/RecordingPrefs.cpp:34
 msgid "Recording"
 msgstr "Gravação"
 
-#: prefs/AudioIOPrefs.cpp:139
+#: prefs/DevicePrefs.cpp:149
 msgid "Channels"
 msgstr "Canais"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Gravação e reprodução simultâneas"
+#: prefs/DevicePrefs.cpp:165
+msgid "No audio interfaces"
+msgstr "Sem interfaces de áudio"
 
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "Reprodução simultânea via &hardware"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Reprodução simultânea via &software"
+#: prefs/DevicePrefs.cpp:201
+#: prefs/DevicePrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:295
+#: prefs/MidiIOPrefs.cpp:300
+msgid "No devices found"
+msgstr "Dispositivo não encontrado"
 
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Previsão de efeitos"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Tamanho da previsão:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Previsão de recorte"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Prever antes da área recortada:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Prever após a área recortada:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latência"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Cópiar áudio na memória:\n"
-"(maior = mais latência)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Correção de latência:\n"
-"(negativo = retroativo)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Intervalo de busca ao reproduzir"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Período curto:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Período longo:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Lote"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Opções"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "Não aplicar efeitos no mo&do de processamento em lote"
+#: prefs/DevicePrefs.cpp:264
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Modo Cl&eanSpeech (interface personalizada)"
+#: prefs/DevicePrefs.cpp:267
+msgid "2 (Stereo)"
+msgstr "2 (Estéreo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
-#: prefs/PrefsDialog.cpp:279
+#: prefs/DirectoriesPrefs.cpp:52
+#: prefs/PrefsDialog.cpp:210
 msgid "Directories"
 msgstr "Pastas"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Pasta de arquivos temporários"
 
-#: prefs/DirectoriesPrefs.cpp:91
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Localização:"
 
-#: prefs/DirectoriesPrefs.cpp:93
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Espaço livre:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Auto-recuperação"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Salvar informações de auto-recuperação em uma pasta separada"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Salvar automaticamente a cada "
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr "Cache de áudio"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minutos"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "Reproduzir e/ou gravar utilizando a memória RAM (útil em drives lentos)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Cache de áudio"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Mínimo de memória livre (MB):"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
+"Se a memória do sistema estiver abaixo do valor especificado, não será\n"
+"possível guardar mais áudio na memória e os dados serão gravados em disco."
 
-#: prefs/DirectoriesPrefs.cpp:121
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Escolha uma pasta para o arquivos temporários"
 
-#: prefs/DirectoriesPrefs.cpp:166
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "não disponível - o endereço acima não existe"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "A pasta %s não existe. Deseja criar uma nova pasta?"
 
-#: prefs/DirectoriesPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Nova pasta temporária"
 
-#: prefs/DirectoriesPrefs.cpp:187
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "Pasta %s não pode ser gravada"
 
-#: prefs/DirectoriesPrefs.cpp:199
+#: prefs/DirectoriesPrefs.cpp:207
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Alterações na pasta temporária só terão efeito na próxima vez que o Audacity for executado."
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Importar / Exportar"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Biblioteca de exportação em MP3"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "Versão da biblioteca:"
-
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "Biblioteca MP3:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "Biblioteca MP3 LAME:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Copiar"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Aviso: As opções de qualidade da exportação podem ser configuradas pelo botão Opções na janela do comando Exportar.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "Ao importar arquivos de áudio"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "Copiar arquivo antes de começar a editar (co&m cópia de segurança)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "Le&r diretamente do arquivo original (mais rápido)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Normalizar áudio de todas as faixas"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr "No navegador"
 
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "Ao salvar projetos que dependem de áudio de outros arquivos"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr "Na Internet"
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "Sempre &copiar todo o áudio para o projeto (mais seguro)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&Não copiar nenhum áudio"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "&Sempre perguntar"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "Ao exportar faixas para um arquivo de áudio"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Sempre &mixar todas as faixas em canais estéreo ou mono"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Usar mixagem personalizada (p. ex. ao exportar áudio em 5.1 canais)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "&Exibir Editor de metadados antes de exportar arquivos"
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (pequena extensão)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Interface"
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (extensão PCM para amostras de 8 bit)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "No navegador"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (extensão PCM para amostras de 10 bit)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Na Internet"
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (extensão PCM para amostras de 16 bit)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Simples"
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (limite médio da audição humana)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Atualizar tela durante a reprodução"
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (extensão PCM para amostras de 24 bit)"
 
 #: prefs/GUIPrefs.cpp:96
-#, fuzzy
-msgid "Cl&osing last window quits Audacity"
-msgstr "Fechar a última janela aberta descarrega o Audacity da memória"
+#: prefs/SpectrumPrefs.cpp:129
+#: prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr "Exibição"
 
 #: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "&Habilitar o arraste das bordas da seleção"
-
-#: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
+msgstr "Ordem &ergonômica dos botões de E/S de áudio"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Ajustar &zoom vertical das faixas automaticamente"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "Exibir tela de &boas-vindas ao iniciar"
 
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "Alterar foco entre as faixas de maneira circular"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Medidor/extensão da onda em dB:"
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Ao editar um &clipe, mover os outros clipes relacionados"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr "Ajuda:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Se nenhum áudio estiver selecionado, selecionar tudo"
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr "F&echar a última janela aberta descarrega o Audacity da memória"
 
-#: prefs/GUIPrefs.cpp:110
+#: prefs/GUIPrefs.cpp:139
 msgid "&Beep on completion of longer activities"
 msgstr "Emitir &bip ao completar tarefas demoradas"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Exibir / Ocultar"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Habilitar &linhas de corte"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Exibir avisos sobre os arquivos &temporários"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Exibir tela de boas-vindas ao iniciar"
-
-#: prefs/GUIPrefs.cpp:126
+#: prefs/GUIPrefs.cpp:145
 msgid "Modes"
 msgstr "Modos"
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
-msgstr ""
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr "Exibir efeitos VST no modo GUI"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Extensão mínima para a visualização dos medidores e 'Formato de onda' (dB)"
+#: prefs/GUIPrefs.cpp:156
+msgid "Don't a&pply effects in batch mode"
+msgstr "Não aplicar efeitos no mo&do de processamento em lote"
 
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (pequena extensão)"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr "Importar / Exportar"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (extensão PCM para amostras de 8 bit)"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr "Ao importar arquivos de áudio"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (extensão PCM para amostras de 10 bit)"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "Copiar arquivo antes de começar a editar (co&m cópia de segurança)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (extensão PCM para amostras de 16 bit)"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "Le&r diretamente do arquivo original (mais rápido)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (limite médio da audição humana)"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr "&Normalizar áudio de todas as faixas"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (extensão PCM para amostras de 24 bit)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr "Ao exportar faixas para um arquivo de áudio"
 
-#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#  know the correct technical word.
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Modo de visualização padrão"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Sempre &mixar todas as faixas em canais estéreo ou mono"
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Outras opções da interface"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Usar mixagem personalizada (p. ex. ao exportar áudio em 5.1 canais)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Ajuda:"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr "&Exibir Editor de metadados antes de exportar arquivos"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Botão solo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Aviso: As opções de qualidade da exportação podem ser \n"
+"configuradas pelo botão Opções na janela do comando Exportar."
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:72
 msgid "Keyboard"
 msgstr "Teclado"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Preferência do teclado não disponíveis no momento."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:97
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Abrir um novo projeto ao modificar os atalhos de teclado."
 
-#: prefs/KeyConfigPrefs.cpp:95
+#: prefs/KeyConfigPrefs.cpp:108
+#: prefs/KeyConfigPrefs.cpp:224
+msgid "All"
+msgstr "Passa-tudo"
+
+#: prefs/KeyConfigPrefs.cpp:124
 msgid "Key Bindings"
 msgstr "Atalhos de teclado"
 
-#: prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:129
+msgid "Category:"
+msgstr "Categoria:"
+
+#: prefs/KeyConfigPrefs.cpp:156
 msgid "S&et"
 msgstr "A&justar"
 
-#: prefs/KeyConfigPrefs.cpp:120
+#: prefs/KeyConfigPrefs.cpp:157
+#: widgets/FileHistory.cpp:174
+msgid "&Clear"
+msgstr "&Limpar"
+
+#: prefs/KeyConfigPrefs.cpp:162
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Nota: Pressionar Cmd+Q fecha a janela. Todas as outras combinações são válidas."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:169
+#: prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "&Padrões"
 
-#: prefs/KeyConfigPrefs.cpp:143
+#: prefs/KeyConfigPrefs.cpp:181
 msgid "Key Combination"
 msgstr "Combinação de teclas"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportar atalhos de teclado como:"
+#: prefs/KeyConfigPrefs.cpp:234
+#: toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Desfazer"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Erro salvando atalhos de teclado"
+#: prefs/KeyConfigPrefs.cpp:237
+#: toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "Refazer"
 
-#: prefs/KeyConfigPrefs.cpp:196
+#: prefs/KeyConfigPrefs.cpp:263
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Selecionar arquivo XML contendo os atalhos de teclado do Audacity..."
 
-#: prefs/KeyConfigPrefs.cpp:213
+#: prefs/KeyConfigPrefs.cpp:281
 msgid "Error loading keyboard shortcuts"
 msgstr "Erro carregando atalhos de teclado"
 
-#: prefs/KeyConfigPrefs.cpp:241
+#: prefs/KeyConfigPrefs.cpp:294
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportar atalhos de teclado como:"
+
+#: prefs/KeyConfigPrefs.cpp:320
+msgid "Error saving keyboard shortcuts"
+msgstr "Erro salvando atalhos de teclado"
+
+#: prefs/KeyConfigPrefs.cpp:368
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr "O atalho de teclado '%s\" já está associado a:\n"
+msgstr ""
+"O atalho de teclado '%s\" já está associado a:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Desfazer"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Bibliotecas"
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr "Biblioteca de exportação em MP3"
 
-#: prefs/AudioIOPrefs.cpp:147
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "Versão da biblioteca:"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr "Biblioteca MP3:"
+
+#: prefs/LibraryPrefs.cpp:92
+#: prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr "&Localizar..."
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr "Biblioteca MP3 LAME:"
+
+#: prefs/LibraryPrefs.cpp:97
+#: prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr "&Copiar"
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr "Biblioteca de importação/exportação FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr "Versão da biblioteca FFmpeg:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "Biblioteca FFmpeg compatível não encontrada"
+
+#: prefs/LibraryPrefs.cpp:120
+#: prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr "Biblioteca FFmpeg:"
+
+#: prefs/MidiIOPrefs.cpp:58
+msgid "MIDI Devices"
+msgstr "Dispositivos MIDI"
+
+#: prefs/MidiIOPrefs.cpp:168
+#: prefs/RecordingPrefs.cpp:60
+msgid "Playthrough"
+msgstr "Gravação e reprodução simultâneas"
+
+#: prefs/MidiIOPrefs.cpp:170
 msgid "&Play other tracks while recording new one"
 msgstr "&Ao gravar, reproduzir outras faixas simultaneamente "
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:173
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "Reprodução simultânea via &hardware"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:176
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "Reprodução simultânea via &software"
+
+#: prefs/MidiIOPrefs.cpp:181
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Cut Preview"
+msgstr "Previsão de recorte"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:184
 msgid "Play before cut region:"
-msgstr ""
+msgstr "Reproduzir antes da área recortada:"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:186
 msgid "Play after cut region:"
-msgstr ""
+msgstr "Reproduzir após a área recortada:"
 
-#: prefs/MidiIOPrefs.cpp:173
+#: prefs/MidiIOPrefs.cpp:191
+#: prefs/RecordingPrefs.cpp:79
+msgid "Latency"
+msgstr "Latência"
+
+#: prefs/MidiIOPrefs.cpp:196
+#: prefs/RecordingPrefs.cpp:85
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "Cópiar áudio na memória:"
 
-#: prefs/MidiIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:198
+#: prefs/RecordingPrefs.cpp:92
 msgid "Latency correction:"
-msgstr ""
+msgstr "Correção de latência:"
 
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:205
 msgid "Seek Time"
-msgstr ""
+msgstr "Tempo da busca"
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:208
+#: prefs/PlaybackPrefs.cpp:98
+msgid "Short period:"
+msgstr "Período curto:"
+
+#: prefs/MidiIOPrefs.cpp:210
+#: prefs/PlaybackPrefs.cpp:105
+msgid "Long period:"
+msgstr "Período longo:"
+
+#: prefs/MidiIOPrefs.cpp:215
+#: prefs/PlaybackPrefs.cpp:57
+msgid "Effects Preview"
+msgstr "Previsão de efeitos"
+
+#: prefs/MidiIOPrefs.cpp:218
 msgid "Play when previewing:"
-msgstr ""
+msgstr "Reproduzir ao prever:"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MidiIOPrefs.cpp:256
+msgid "No MIDI interfaces"
+msgstr "Sem interfaces MIDI"
+
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Mouse"
 
 # bindingS???
-#: prefs/MousePrefs.cpp:78
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Ações do mouse (valores padrão, não configuráveis)"
 
-#: prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Ferramenta"
 
-#: prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Ação do Comando"
 
-#: prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Botões"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Clicar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
 #: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Selecionar"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Ajuste do início da seleção"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
 #: prefs/MousePrefs.cpp:115
 #: prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Arrastar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Ajuste da extensão da seleção"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Extender área de seleção"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Shift + Clicar com botão esquerdo"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Clicar duplo com botão esquerdo"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr "Selecionar clipe ou faixa inteira"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Ctrl + Clicar com botão esquerdo"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr "Ajustar ponto de seleção ou reprodução"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
 #: prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Zoom"
 
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Aumentar zoom no ponto"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Aumentar zoom na extensão"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "O mesmo que arrastar com o botão direito"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Clicar com o botão direito"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Diminuir zoom um ponto"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Arrastar com o botão direito"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "O mesmo que arrastar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Shift + Arrastar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Diminuir zoom"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Clique com o botão do meio"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Zoom padrão"
 
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "Deslizar clipes ou mover entre outras faixas"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Shift + Arrastar com botão esquerdo"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "Deslizar todos os clipes da faixa"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl + Arrastar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Mover clipes entre faixas"
 
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Alterar envelope da amplificação"
 
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Alterar amostra"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "Lápis"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt + Clicar com o botão esquerdo"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Suavizar amostra"
 
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Alterar múltiplas amostras"
 
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Alterar UMA amostra apenas"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
 msgid "same as select tool"
 msgstr "Similar à ferramenta de seleção"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "Similar à ferramenta de zoom"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:131
+#: prefs/MousePrefs.cpp:132
+#: prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Qualquer"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Rolar para cima ou para baixo"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Girar a rodinha do mouse"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Rolar para esquerda ou para direita"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Shift + Girar rodinha do mouse"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl + Girar a rodinha do mouse"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "Mais ou menos zoom"
 
-#: prefs/PrefsDialog.cpp:89
+#: prefs/PlaybackPrefs.cpp:61
+msgid "Length of preview:"
+msgstr "Tamanho da previsão:"
+
+#: prefs/PlaybackPrefs.cpp:76
+msgid "Preview before cut region:"
+msgstr "Prever antes da área recortada:"
+
+#: prefs/PlaybackPrefs.cpp:83
+msgid "Preview after cut region:"
+msgstr "Prever após a área recortada:"
+
+#: prefs/PlaybackPrefs.cpp:94
+msgid "Seek Time when playing"
+msgstr "Intervalo de busca ao reproduzir"
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Preferências do Audacity"
 
-#: prefs/QualityPrefs.cpp:73
+#: prefs/ProjectsPrefs.cpp:32
+msgid "Projects"
+msgstr "Projetos"
+
+#: prefs/ProjectsPrefs.cpp:59
+msgid "When saving a project that depends on other audio files"
+msgstr "Ao salvar projetos que dependem de áudio de outros arquivos"
+
+#: prefs/ProjectsPrefs.cpp:63
+msgid "Always &copy all audio into project (safest)"
+msgstr "Sempre &copiar todo o áudio para o projeto (mais seguro)"
+
+#: prefs/ProjectsPrefs.cpp:65
+msgid "&Do not copy any audio"
+msgstr "&Não copiar nenhum áudio"
+
+#: prefs/ProjectsPrefs.cpp:67
+msgid "&Ask user"
+msgstr "&Sempre perguntar"
+
+#: prefs/ProjectsPrefs.cpp:74
+msgid "Auto save"
+msgstr "Auto-recuperação"
+
+#: prefs/ProjectsPrefs.cpp:76
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Salvar informações de auto-recuperação em uma pasta separada"
+
+#: prefs/ProjectsPrefs.cpp:82
+msgid "Auto save interval:"
+msgstr "Salvar automaticamente a cada "
+
+#: prefs/ProjectsPrefs.cpp:86
+#: prefs/ProjectsPrefs.cpp:87
+msgid "minutes"
+msgstr "minutos"
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Retangular"
 
-#: prefs/QualityPrefs.cpp:74
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Triangular"
 
-#: prefs/QualityPrefs.cpp:75
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "Formatado"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr "Amostragem"
 
-#: prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Taxa padrão:"
 
-#: prefs/QualityPrefs.cpp:127
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
 msgstr "Formato padrão:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Conversor de taxa de amostragem em tempo real:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Conversão em tempo-real"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Conversor de taxa de amostragem de alta qualidade:"
+#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Conversão de taxa de amostragem:"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Suavização de ondas sonoras em tempo-real:"
+# Dithering is a mathematical process where a random noise is added to the least significant bit of a digital word. With very low level signals, the quantization error becomes correlated to the signal level. This creates a measurable amount of distortion. By adding dither, the correlation between the signal level and the quantization error is canceled, allowing the digital system to encode amplitudes smaller than the least significant bit.
+#: prefs/QualityPrefs.cpp:178
+#: prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr "Pontilhamento"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Suavização de ondas sonoras em alta-qualidade:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Conversão de alta qualidade"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Conversão"
+#: prefs/RecordingPrefs.cpp:62
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Overdub: &Ao gravar, reproduzir outras faixas simultaneamente "
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Conversor de taxa de amostragem"
+#: prefs/RecordingPrefs.cpp:66
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "Reprodução simultânea via &hardware"
 
-# Dithering is a mathematical process where a random noise is added to the least significant bit of a digital word. With very low level signals, the quantization error becomes correlated to the signal level. This creates a measurable amount of distortion. By adding dither, the correlation between the signal level and the quantization error is canceled, allowing the digital system to encode amplitudes smaller than the least significant bit.
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Pontilhamento"
+#: prefs/RecordingPrefs.cpp:70
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "Reprodução simultânea via &software: Reproduz a nova faixa ao gravar ou monitorar"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Em tempo-real:"
+#: prefs/RecordingPrefs.cpp:74
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(desmarque ao gravar faixas mixadas em estéreo)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "De alta-qualidade:"
+#: prefs/RecordingPrefs.cpp:89
+#: prefs/RecordingPrefs.cpp:90
+msgid "milliseconds (higher = more latency)"
+msgstr "milissegundos (maior = mais latência)"
 
-# smart rec = grav programada! (igual aos VCR)
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Gravação programada"
+#: prefs/RecordingPrefs.cpp:96
+#: prefs/RecordingPrefs.cpp:97
+msgid "milliseconds (negative = backwards)"
+msgstr "milissegundos (negativo = retroativo)"
 
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+# smart rec = grav programada! (igual aos VCR)
+#: prefs/RecordingPrefs.cpp:103
+#: prefs/RecordingPrefs.cpp:105
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Gravação ativada por som"
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:114
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Nível de ativação do som (dB):"
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
-msgstr "Espectrograma"
+msgstr "Espectrogramas"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Tamanho FFT"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 - mais amplo"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - padrão"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr "32768 - mais estreito"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - mais estreito"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Tipo de janela:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "Janela FFT"
 
-#: prefs/SpectrumPrefs.cpp:125
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Tamanho da janela"
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Tipo de janela"
+
+#: prefs/SpectrumPrefs.cpp:113
 msgid "FFT Skip Points"
 msgstr "Omitir pontos FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Exibição"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Escala de cinzas"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "Omitir pontos"
 
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
-msgstr "Freqüência Mínima (Hz):"
+msgstr "Frequência Mínima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
-msgstr "Freqüência Máxima (Hz):"
+msgstr "Frequência Máxima (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "Grid &Y"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Exibir espectro com tons de cin&za"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Encontrar notas"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Exibir uma grade ao longo do eixo &Y"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Quantificar notas"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "Encontrar notas FFT"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr "Amplitude mínima (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr "Número máx. de notas (1-128):"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "&Encontrar notas"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "&Quantificar notas"
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
-msgstr "A freqüência máxima deve ser um valor inteiro."
+msgstr "A frequência máxima deve ser um valor inteiro."
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
-msgstr "Freqüência máxima deve estar entre 100 Hz e 100.000 Hz"
+msgstr "Frequência máxima deve estar entre 100 Hz e 100.000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
-msgstr "A freqüência mínima deve ser um número inteiro"
+msgstr "A frequência mínima deve ser um número inteiro"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
-msgstr "A freqüência mínima deve ser no mínimo 0 Hz"
+msgstr "A frequência mínima deve ser no mínimo 0 Hz"
+
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "A frequência mínima deve ser menor que a frequência máxima"
 
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "A amplitude mínima (dB) deve ser um número inteiro"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "A frequência máxima deve ser um valor inteiro."
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr "O número máximo de notas deve estar entre 1 e 128."
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"O uso de temas é um recurso experimental\n"
+"\n"
+"Para utilizá-lo, clique em \"Salvar arquivo de temas\" \n"
+"e edite o arquivo de nome ImageCacheVxx.png\n"
+"em um editor de imagens.\n"
+"\n"
+"Clique em \"Abrir arquivo de temas\" para carregar\n"
+"as imagens alteradas para a interface do \n"
+"Audacity.\n"
+"\n"
+"(No momento, apenas a barra de controle e as\n"
+"cores das ondas sonoras serão alteradas, ainda \n"
+"que o arquivo apresente outros ícones.)"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"O Audacity foi compilado com um botão extra, \n"
+"'Output Sourcery'.  Ele irá salvar uma versão \n"
+"em C da imagem em cache que pode ser \n"
+"compilada como padrão."
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+"Se 'Abrir pasta de temas na inicialização' estiver selecionado, \n"
+"o arquivo de temas será aberto ao iniciar o Audacity."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"Salvar e abrir arquivos individuais usa o mesmo\n"
+"esquema de edição de arquivos, mas utilizando\n"
+"um arquivo diferente para cada imagem."
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr "Arquivo de Temas - Imagens e Cores"
 
-#: prefs/ThemePrefs.cpp:95
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr "Salvar arquivo de temas"
 
-#: prefs/ThemePrefs.cpp:96
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr "Abrir arquivo de temas"
 
-#: prefs/ThemePrefs.cpp:106
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr "Abrir arquivo de temas na inicialização"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "Arquivos individuais de tema"
 
-#: prefs/ThemePrefs.cpp:120
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Salvar arquivos"
 
-#: prefs/ThemePrefs.cpp:121
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Abrir arquivos"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr "Simples"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "O uso de temas é um recurso experimental\n"
-"\n"
-"Para utilizá-lo, clique em \"Salvar arquivo de temas\" \n"
-"e edite o arquivo de nome ImageCacheVxx.png\n"
-"em um editor de imagens.\n"
-"\n"
-"Clique em \"Abrir arquivo de temas\" para carregar\n"
-"as imagens alteradas para a interface do \n"
-"Audacity.\n"
-"\n"
-"(No momento, apenas a barra de controle e as\n"
-"cores das ondas sonoras serão alteradas, ainda \n"
-"que o arquivo apresente outros icones.)\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr "&Atualizar tela durante a reprodução"
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "O Audacity foi compilado com um botão extra, \n"
-"'Output Sourcery'.  Ele irá salvar uma versão \n"
-"em C da imagem em cache que pode ser \n"
-"compilada como padrão.\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Ajustar &zoom vertical das faixas automaticamente"
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Se 'Abrir pasta de temas na inicialização' estiver selecionado, \n"
-"o arquivo de temas será aberto ao iniciar o Audacity.\n"
-"\n"
+#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
+#  know the correct technical word.
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Modo de visualização padrão:"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Salvar e abrir arquivos individuais usa o mesmo\n"
-"esquema de edição de arquivos, mas utilizando\n"
-"um arquivo diferente para cada imagem.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr "&Se nenhum áudio estiver selecionado, selecionar tudo"
 
-#: toolbars/ControlToolBar.cpp:174
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr "Habilitar &linhas de corte"
+
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr "&Habilitar o arraste das bordas da seleção"
+
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "Alterar foco entre as faixas de maneira circular"
+
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr "Ao editar um &clipe, mover os outros clipes relacionados"
+
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr "Botão solo:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Avisar"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Exibir avisos e prompts"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "Ao salvar &projetos"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "Ao salvar projetos em &branco"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Quando houver pouco espaço em &disco"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "Quando mixar faixas como &estéreo ao exportar"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "Quando mixar faixas como &mono ao exportar"
+
+#: toolbars/ControlToolBar.cpp:170
+#: toolbars/ControlToolBar.cpp:205
 msgid "Pause"
 msgstr "Pausar"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Reproduzir"
-
 #: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr ""
-
-#: toolbars/ControlToolBar.cpp:182
+#: toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1108
 msgid "Stop"
 msgstr "Parar"
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Ir para o início"
+#: toolbars/ControlToolBar.cpp:190
+#: toolbars/ControlToolBar.cpp:211
+msgid "Clean Speech"
+msgstr "Discurso Limpo"
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Ir para o final"
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr "Executar (Shift para reprodução contínua)"
 
-#: toolbars/ControlToolBar.cpp:192
+#: toolbars/ControlToolBar.cpp:210
 msgid "Record (Shift for Append Record)"
-msgstr ""
+msgstr "Gravar (Shift para iniciar gravação ao final da faixa)"
 
-#: toolbars/ControlToolBar.cpp:194
-msgid "Clean Speech"
-msgstr "Clean Speech"
-
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:579
+#: toolbars/ControlToolBar.cpp:914
 msgid "Error while opening sound device. "
 msgstr "Erro ao abrir o dispositivo de áudio."
 
-#: toolbars/ControlToolBar.cpp:696
+#: toolbars/ControlToolBar.cpp:749
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
-msgstr "Não é possível gravar no modo CleanSpeech com mais de uma faixa ou projeto abertos."
+msgstr "Não é possível gravar no modo DiscursoLimpo com mais de uma faixa ou projeto abertos."
 
-#: toolbars/ControlToolBar.cpp:697
+#: toolbars/ControlToolBar.cpp:750
 msgid "Recording not permitted"
 msgstr "Gravação não permitida"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109
+#: toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr "Dispositivo de Saída"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127
+#: toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr "Dispositivo de Entrada"
 
-#: toolbars/EditToolBar.cpp:139
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
 msgstr "Silenciar fora da seleção"
 
-#: toolbars/EditToolBar.cpp:141
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "Silenciar seleção"
 
 #: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
-msgstr ""
+msgstr "Vincular faixas"
 
-#: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Mais Zoom"
 
-#: toolbars/EditToolBar.cpp:152
+#: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "Menos Zoom"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Alterar Zoom"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Ajustar zoom à seleção"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Ajustar seleção à janela"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Ajustar zoom ao projeto"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Ajustar todo projeto à janela"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Medição"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr "Ajustar zoom à seleção"
+
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr "Ajustar zoom ao projeto"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8632,11 +9466,11 @@ msgstr "Medidor de gravação"
 msgid "Meter-Record"
 msgstr "Mede-Gravação"
 
-#: toolbars/MeterToolBar.cpp:94
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
 msgstr "Medidor de nível de saída"
 
-#: toolbars/MeterToolBar.cpp:95
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
 msgstr "Medidor de nível de entrada - clique para monitorar"
 
@@ -8645,76 +9479,89 @@ msgid "Output Volume"
 msgstr "Volume de saída"
 
 #: toolbars/MixerToolBar.cpp:92
-#, fuzzy
 msgid "Slider Output"
 msgstr "Sinal-Saída"
 
 #: toolbars/MixerToolBar.cpp:101
+#: widgets/Meter.cpp:862
 msgid "Input Volume"
 msgstr "Volume de entrada"
 
 #: toolbars/MixerToolBar.cpp:103
-#, fuzzy
 msgid "Slider Input"
 msgstr "Sinal-Entrada"
 
-#: toolbars/MixerToolBar.cpp:134
+#: toolbars/MixerToolBar.cpp:139
 msgid "Input Source"
 msgstr "Fonte de entrada"
 
-#: toolbars/SelectionBar.cpp:80
+#: toolbars/MixerToolBar.cpp:304
+msgid "Input source information is not available."
+msgstr "Informações sobre a fonte de entrada não disponíveis"
+
+#: toolbars/MixerToolBar.cpp:311
+msgid "Select Input Source"
+msgstr "Escolher fonte de entrada"
+
+#: toolbars/MixerToolBar.cpp:319
+msgid "Input Source:"
+msgstr "Fonte de entrada:"
+
+#: toolbars/SelectionBar.cpp:86
+#: toolbars/SelectionBar.cpp:292
 msgid "Selection"
 msgstr "Seleção"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:135
+#: toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr "Taxa do Projeto (Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:149
+#: toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
-msgstr "Inicio da Seleção:"
+msgstr "Início da seleção:"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:163
+#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr "Tamanho"
 
-#: toolbars/SelectionBar.cpp:165
+#: toolbars/SelectionBar.cpp:174
 msgid "hidden"
 msgstr "oculto"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:184
+#: toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr "Posição do áudio:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:236
+#: toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr "Antecipação"
 
-#: toolbars/SelectionBar.cpp:252
+#: toolbars/SelectionBar.cpp:260
 msgid "Selection "
 msgstr "Seleção"
 
-#: toolbars/SelectionBar.cpp:317
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
 msgstr "Tamanho da seleção"
 
-#: toolbars/SelectionBar.cpp:325
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
 msgstr "Final da seleção"
 
 # Diz assim 'barra de dispositivo do audacity' 'barra de transcrição do audacity'
-#: toolbars/ToolBar.cpp:97
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr "Barra de %s do Audacity"
 
-#: toolbars/ToolDock.cpp:74
 #: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "Barra de ferramentas"
 
@@ -8746,328 +9593,285 @@ msgstr "Esquerdo= Mais Zoom, Direito=Menos Zoom, Meio=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Clique e arraste para mover uma faixa no tempo"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Ferramentas"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Ferramenta de seleção"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Ferramenta Envelope"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Ferramenta Deslizar"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Ferramenta de Zoom"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Ferramenta de desenho"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
-msgstr "Modo multi-ferramenta"
+msgstr "Modo Multi-Ferramenta"
 
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 msgid "Slide Tool"
-msgstr "Ferramenta deslizar"
-
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multi ferrramenta"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transcrição"
+msgstr "Ferramenta Deslizar"
 
-#: toolbars/TranscriptionToolBar.cpp:171
+#: toolbars/TranscriptionToolBar.cpp:170
 msgid "Play at selected speed"
-msgstr "Executar na "
+msgstr "Tocar na velocidade selecionada"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Executar-em-velocidade"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:176
+#: toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:263
 msgid "Playback Speed"
 msgstr "Velocidade de reprodução"
 
-#: toolbars/TranscriptionToolBar.cpp:196
+#: toolbars/TranscriptionToolBar.cpp:195
 msgid "Adjust left selection to next onset"
-msgstr "Ajustar seleção esquerda ao proximo ataque silábico"
+msgstr "Ajustar seleção esquerda ao próximo ataque silábico"
 
 #: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Esquerda-para-entrada"
-
-#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Ajustar seleção direita à coda silábica anterior"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Direita-para-saída"
-
-#: toolbars/TranscriptionToolBar.cpp:202
+#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust left selection to next offset"
-msgstr "Ajustar seleção esquerda à proxima coda"
-
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Esquerda-para-saída"
+msgstr "Ajustar seleção esquerda à próxima coda"
 
-#: toolbars/TranscriptionToolBar.cpp:205
+#: toolbars/TranscriptionToolBar.cpp:201
 msgid "Adjust right selection to previous onset"
 msgstr "Ajustar seleção direita ao ataque anterior"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Direita-para-entrada"
-
-#: toolbars/TranscriptionToolBar.cpp:208
+#: toolbars/TranscriptionToolBar.cpp:203
 msgid "Select region of sound around cursor"
 msgstr "Selecionar área em torno do cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Selecionar som"
-
-#: toolbars/TranscriptionToolBar.cpp:211
+#: toolbars/TranscriptionToolBar.cpp:205
 msgid "Select region of silence around cursor"
 msgstr "Selecionar área de silêncio em torno do cursor"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Selecionar silêncio"
-
-#: toolbars/TranscriptionToolBar.cpp:214
+#: toolbars/TranscriptionToolBar.cpp:207
 msgid "Automatically make labels from words"
 msgstr "Automaticamente criar títulos das palavras"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Criar títulos"
-
-#: toolbars/TranscriptionToolBar.cpp:217
+#: toolbars/TranscriptionToolBar.cpp:209
 msgid "Add label at selection"
 msgstr "Adicionar título à seleção"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Adiiconar título"
-
-#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:211
 msgid "Calibrate voicekey"
 msgstr "Calibrar voicekey"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Calibrar"
-
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:215
 msgid "Adjust Sensitivity"
-msgstr "Ajustar sensibilidade"
+msgstr "Ajustar Sensibilidade"
 
-#: toolbars/TranscriptionToolBar.cpp:230
+#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:276
 msgid "Sensitivity"
 msgstr "Sensibilidade"
 
-#: toolbars/TranscriptionToolBar.cpp:235
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Energy"
 msgstr "Energia"
 
-#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:226
 msgid "Sign Changes (Low Threshold)"
 msgstr "Alterações de sinal (limiar baixo)"
 
-#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:227
 msgid "Sign Changes (High Threshold)"
 msgstr "Alterações de sinal (limiar elevado)"
 
-#: toolbars/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:228
 msgid "Direction Changes (Low Threshold)"
 msgstr "Alterações de direção (limiar baixo)"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:229
 msgid "Direction Changes (High Threshold)"
 msgstr "Alterações de direção (limiar elevado)"
 
-#: toolbars/TranscriptionToolBar.cpp:247
+#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:277
 msgid "Key type"
 msgstr "Tipo de tecla"
 
-#: widgets/AButton.cpp:302
+#: toolbars/TranscriptionToolBar.cpp:262
+msgid "Play-at-speed"
+msgstr "Executar-em-velocidade"
+
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Left-to-On"
+msgstr "Esquerda-para-entrada"
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Right-to-Off"
+msgstr "Direita-para-Saída"
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Left-to-Off"
+msgstr "Esquerda-para-Saída"
+
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Right-to-On"
+msgstr "Direita-para-Entrada"
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Sound"
+msgstr "Selecionar-Som"
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Select-Silence"
+msgstr "Selecionar-Silêncio"
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Make Labels"
+msgstr "Criar etiquetas"
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Add Label"
+msgstr "Adicionar Etiqueta"
+
+#: toolbars/TranscriptionToolBar.cpp:274
+msgid "Calibrate"
+msgstr "Calibrar"
+
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (desabilitado)"
 
-#: widgets/AButton.cpp:452
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Pressione"
 
-#: widgets/AButton.cpp:531
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Botão"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:642
+#: widgets/Meter.cpp:241
 msgid "L"
 msgstr "E"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:645
+#: widgets/Meter.cpp:243
 msgid "R"
 msgstr "D"
 
-#: widgets/ASlider.cpp:670
+#: widgets/ASlider.cpp:708
 msgid "Center"
 msgstr "Centro"
 
-#: widgets/ASlider.cpp:674
+#: widgets/ASlider.cpp:712
 msgid "Left"
 msgstr "Esquerdo"
 
-#: widgets/ASlider.cpp:677
+#: widgets/ASlider.cpp:715
 msgid "Right"
 msgstr "Direito"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr "Ajuda"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ">"
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr "Avançar"
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
 msgstr "Voltar"
 
-#: widgets/ErrorDialog.cpp:249
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr "Ajuda na Internet"
 
 #: widgets/Grabber.cpp:62
 msgid "Grabber"
-msgstr "Grabber"
+msgstr "Pegador"
 
-#: widgets/Grid.cpp:643
-#, c-format
-msgid "%d rows, %d columns"
-msgstr "%d linhas, %d colunas"
-
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
-#, c-format
-msgid "Row %d"
-msgstr "Linha %d"
-
-#: widgets/Grid.cpp:791
+#: widgets/Grid.cpp:723
 msgid "Empty"
 msgstr "Vazio"
 
-#: widgets/Meter.cpp:359
+#: widgets/Meter.cpp:385
 msgid "Enable Meter"
 msgstr "Habilitar medidor"
 
-#: widgets/Meter.cpp:361
+#: widgets/Meter.cpp:387
 msgid "Disable Meter"
 msgstr "Desabilitar medidor"
 
-#: widgets/Meter.cpp:364
+#: widgets/Meter.cpp:390
 msgid "Stop Monitoring"
 msgstr "Parar monitoramento"
 
-#: widgets/Meter.cpp:366
+#: widgets/Meter.cpp:392
 msgid "Start Monitoring"
 msgstr "Iniciar monitoramento"
 
-#: widgets/Meter.cpp:370
+#: widgets/Meter.cpp:396
 msgid "Horizontal Stereo"
-msgstr "Estéreo - horizontal"
+msgstr "Estéreo horizontal"
 
-#: widgets/Meter.cpp:371
+#: widgets/Meter.cpp:397
 msgid "Vertical Stereo"
-msgstr "Estéreo - vertical"
+msgstr "Estéreo vertical"
 
-#: widgets/Meter.cpp:388
+#: widgets/Meter.cpp:414
 msgid "Preferences..."
 msgstr "Preferências..."
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:864
 msgid "Mix Volume"
-msgstr ""
+msgstr "Volume da mixagem"
 
-#: widgets/Meter.cpp:1078
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1133
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr "Determina a freqüência com que o medidor de som é alterado.\n"
+msgstr ""
+"Determina a frequência com que o medidor de som é alterado.\n"
 "Se você estiver em um PC mais lento, pode ser necessário \n"
-"diminuir esta freqüência (30 vezes por segundo ou menos),\n"
+"diminuir esta frequência (30 vezes por segundo ou menos),\n"
 "para que o áudio não seja afetado pela exibição do medidor."
 
-#: widgets/Meter.cpp:1079
+#: widgets/Meter.cpp:1134
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Renovação do medidor, em vezes por segundo [1-100]:"
 
-#: widgets/Meter.cpp:1080
+#: widgets/Meter.cpp:1135
 msgid "Meter Preferences"
 msgstr "Preferências do Medidor"
 
 #: widgets/MultiDialog.cpp:82
 msgid " Please select an action "
-msgstr "Por favor, selecione uma ação"
+msgstr " Por favor, selecione uma ação"
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Por favor, selecione uma ação"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1067
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "Tempo decorrido:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1087
 msgid "Remaining Time:"
-msgstr ""
+msgstr "Tempo restante:"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1115
 msgid "Cancel"
-msgstr ""
+msgstr "Cancelar"
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1588
+#: widgets/Ruler.cpp:1589
 msgid "Vertical Ruler"
 msgstr "Régua Vertical"
 
 #. i18n-hint: Format string for displaying time in seconds. Change the comma
 #. * in the middle to the 1000s separator for your locale, and the 'seconds'
 #. * on the end to the word for seconds. Don't change the numbers.
-#: widgets/TimeTextCtrl.cpp:267
+#: widgets/TimeTextCtrl.cpp:269
 msgid "01000,01000 seconds"
 msgstr "01000,01000 segundos"
 
@@ -9076,13 +9880,13 @@ msgstr "01000,01000 segundos"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
 #. * change the numbers unless there aren't 60 seconds in a minute in your
 #. * locale
-#: widgets/TimeTextCtrl.cpp:276
+#: widgets/TimeTextCtrl.cpp:278
 msgid "0100 h 060 m 060 s"
 msgstr "0100 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in days, hours,
 #. * minutes and seconds
-#: widgets/TimeTextCtrl.cpp:279
+#: widgets/TimeTextCtrl.cpp:281
 msgid "dd:hh:mm:ss"
 msgstr "dd:hh:mm:ss"
 
@@ -9091,43 +9895,43 @@ msgstr "dd:hh:mm:ss"
 #. * for hours, 'm' to the abbreviation for minutes and 's' to the
 #. * abbreviation for seconds. Don't change the numbers unless there aren't
 #. * 24 hours in a day in your locale
-#: widgets/TimeTextCtrl.cpp:285
+#: widgets/TimeTextCtrl.cpp:287
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 dias 024 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:290
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "hh:mm:ss + centésimos"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:296
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 h 060 m 060.0100 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
-#: widgets/TimeTextCtrl.cpp:288
+#: widgets/TimeTextCtrl.cpp:299
 msgid "hh:mm:ss + milliseconds"
-msgstr "hh:mm:ss + millisegundos"
+msgstr "hh:mm:ss + milissegundos"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
 #. * abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * milliseconds are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:305
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 h 060 m 060.01000 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and samples (at the current project sample rate)
-#: widgets/TimeTextCtrl.cpp:297
+#: widgets/TimeTextCtrl.cpp:308
 msgid "hh:mm:ss + samples"
 msgstr "hh:mm:ss + amostras"
 
@@ -9136,13 +9940,13 @@ msgstr "hh:mm:ss + amostras"
 #. * abbreviation for minutes, 's' to the abbreviation for seconds and
 #. * translate samples . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:303
+#: widgets/TimeTextCtrl.cpp:314
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 h 060 m 060 s+.# amostras"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
 #. * current project sample rate)
-#: widgets/TimeTextCtrl.cpp:306
+#: widgets/TimeTextCtrl.cpp:317
 msgid "samples"
 msgstr "amostras"
 
@@ -9150,13 +9954,13 @@ msgstr "amostras"
 #. * Change the ',' to the 1000s separator for your locale, and translate
 #. * samples. If 1000s aren't a base multiple for your number system, then you
 #. * can change the numbers to an appropriate one, and put a 0 on the front
-#: widgets/TimeTextCtrl.cpp:311
+#: widgets/TimeTextCtrl.cpp:322
 msgid "01000,01000,01000 samples|#"
 msgstr "01000,01000,01000 amostras|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:314
+#: widgets/TimeTextCtrl.cpp:325
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "hh:mm:ss + quadros de filme (24 fps)"
 
@@ -9165,26 +9969,26 @@ msgstr "hh:mm:ss + quadros de filme (24 fps)"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames' . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:320
+#: widgets/TimeTextCtrl.cpp:331
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 h 060 m 060 s+.24 quadros"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
 #. * frames) at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:323
+#: widgets/TimeTextCtrl.cpp:334
 msgid "film frames (24 fps)"
 msgstr "quadros de filme (24 fps)"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
 #. * second. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:326
+#: widgets/TimeTextCtrl.cpp:337
 msgid "01000,01000 frames|24"
 msgstr "01000,01000 quadros|24"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV drop-frame rate (used for American /
-#. * Japananese TV, and very odd)
-#: widgets/TimeTextCtrl.cpp:330
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:341
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "hh:mm:ss + quadros NTSC drop"
 
@@ -9192,14 +9996,14 @@ msgstr "hh:mm:ss + quadros NTSC drop"
 #. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the |N alone, it's important!
-#: widgets/TimeTextCtrl.cpp:335
+#: widgets/TimeTextCtrl.cpp:346
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 h 060 m 060 s+.30 quadros|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-#. * Japananese TV, and doesn't quite match wall time
-#: widgets/TimeTextCtrl.cpp:339
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:350
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "hh:mm:ss + quadros NTSC non-drop"
 
@@ -9208,26 +10012,26 @@ msgstr "hh:mm:ss + quadros NTSC non-drop"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the | .999000999 alone,
 #. * the whole things really is slightly off-speed!
-#: widgets/TimeTextCtrl.cpp:345
+#: widgets/TimeTextCtrl.cpp:356
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 h 060 m 060 s+.030 quadros| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#. * TV frame rate (used for American / Japananese TV
-#: widgets/TimeTextCtrl.cpp:348
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:359
 msgid "NTSC frames"
 msgstr "quadros NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
 #. * rate!
-#: widgets/TimeTextCtrl.cpp:352
+#: widgets/TimeTextCtrl.cpp:363
 msgid "01000,01000 frames|29.97002997"
 msgstr "01000,01000 quadros|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at PAL TV frame rate (used for European TV)
-#: widgets/TimeTextCtrl.cpp:355
+#: widgets/TimeTextCtrl.cpp:366
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "hh:mm:ss + quadros PAL (25 fps)"
 
@@ -9235,57 +10039,53 @@ msgstr "hh:mm:ss + quadros PAL (25 fps)"
 #. * and frames with PAL TV frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Nice simple time code!
-#: widgets/TimeTextCtrl.cpp:360
+#: widgets/TimeTextCtrl.cpp:371
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 h 060 m 060 s+.25 quadros"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
 #. * TV frame rate (used for European TV
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:374
 msgid "PAL frames (25 fps)"
 msgstr "quadros PAL (25 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone.
-#: widgets/TimeTextCtrl.cpp:366
+#: widgets/TimeTextCtrl.cpp:377
 msgid "01000,01000 frames|25"
 msgstr "01000,01000 quadros|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at CD Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:369
+#: widgets/TimeTextCtrl.cpp:380
 msgid "hh:mm:ss + CDDA frames (75 fps)"
-msgstr "hh:mm:ss + quadrso CDDA (75 fps)"
+msgstr "hh:mm:ss + quadros CDDA (75 fps)"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and frames with CD Audio frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'.
-#: widgets/TimeTextCtrl.cpp:374
+#: widgets/TimeTextCtrl.cpp:385
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 h 060 m 060 s+.75 quadros"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
 #. * Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:377
+#: widgets/TimeTextCtrl.cpp:388
 msgid "CDDA frames (75 fps)"
 msgstr "quadros CDDA (75 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:380
+#: widgets/TimeTextCtrl.cpp:391
 msgid "01000,01000 frames|75"
 msgstr "01000,01000 quadros|75"
 
-#: widgets/TimeTextCtrl.cpp:451
+#: widgets/TimeTextCtrl.cpp:470
 msgid "Use right mouse button or context key to change format"
 msgstr "Use o botão direito do mouse ou a tecla de contexto para alterar o formato"
 
-#: widgets/TimeTextCtrl.cpp:1485
-msgid "Time Control"
-msgstr "Controle de tempo"
-
-#: widgets/Warning.cpp:64
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "Não exibir este aviso novamente"
 
@@ -9297,10 +10097,221 @@ msgstr "Não foi possível abrir o arquivo: \"%s\""
 #: xml/XMLFileReader.cpp:63
 #, c-format
 msgid "Error: %hs at line %lu"
-msgstr ""
+msgstr "Erro %hs na linha %lu"
 
 #: xml/XMLFileReader.cpp:79
 #, c-format
 msgid "Could not load file: \"%s\""
 msgstr "Não foi possível carregar o arquivo: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr "Erro ao apagar arquivo"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Erro ao fechar arquivo"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Erro na gravação do arquivo"
+
+#~ msgid "&Preferences...\tCtrl+,"
+#~ msgstr "&Preferências...\tCtrl+,"
+#~ msgid "&New\tCtrl+N"
+#~ msgstr "&Novo\tCtrl+N"
+#~ msgid "&Open...\tCtrl+O"
+#~ msgstr "&Abrir...\tCtrl+O"
+#~ msgid "&Close\tCtrl+W"
+#~ msgstr "&Fechar\tCtrl+W"
+#~ msgid "&Audio...\tCtrl+Shift+I"
+#~ msgstr "Áu&dio...\tCtrl+Shift+I"
+#~ msgid "CleanSpeech C&hain..."
+#~ msgstr "Cadeias do Clean Speec&h..."
+#~ msgid "E&xit\tCtrl+Q"
+#~ msgstr "Sai&r\tCtrl+Q"
+#~ msgid "&Undo\tCtrl+Z"
+#~ msgstr "Des&fazer\tCtrl+Z"
+#~ msgid "Cu&t\tCtrl+X"
+#~ msgstr "Rec&ortar\tCtrl+X"
+#~ msgid "Spl&it Cut\tCtrl+Alt+X"
+#~ msgstr "&Separar e Recortar\tCtrl+Alt+X"
+#~ msgid "&Copy\tCtrl+C"
+#~ msgstr "&Copiar\tCtrl+C"
+#~ msgid "&Paste\tCtrl+V"
+#~ msgstr "Co&lar\tCtrl+V"
+#~ msgid "Tri&m\tCtrl+T"
+#~ msgstr "S&ilenciar fora da Seleção\tCtrl+T"
+#~ msgid "&Delete\tCtrl+K"
+#~ msgstr "&Apagar\tCtrl+K"
+#~ msgid "Split D&elete\tCtrl+Alt+K"
+#~ msgstr "S&eparar e Deletar\tCtrl+Alt+K"
+#~ msgid "Sp&lit\tCtrl+I"
+#~ msgstr "Se&parar\tCtrl+I"
+#~ msgid "Split Ne&w\tCtrl+Alt+I"
+#~ msgstr "Separar e criar no&vo\tCtrl+Alt+I"
+#~ msgid "&Join\tCtrl+J"
+#~ msgstr "&Unir\tCtrl+J"
+#~ msgid "Duplic&ate\tCtrl+D"
+#~ msgstr "&Duplicar\tCtrl+D"
+#~ msgid "&Cut\tAlt+X"
+#~ msgstr "Re&cortar\tAlt+X"
+#~ msgid "&Split Cut\tShift+Alt+X"
+#~ msgstr "Separar e Rec&ortar\tShift+Alt+X"
+#~ msgid "Co&py\tShift+Alt+C"
+#~ msgstr "Co&piar\tShift+Alt+C"
+#~ msgid "&Delete\tAlt+K"
+#~ msgstr "&Apagar\tAlt+K"
+#~ msgid "Sp&lit Delete\tShift+Alt+K"
+#~ msgstr "Separar e Apa&gar\tShift+Alt+K"
+#~ msgid "Sile&nce\tAlt+L"
+#~ msgstr "Sile&nciar\tAlt+L"
+#~ msgid "Spli&t\tAlt+I"
+#~ msgstr "Se&parar\tAlt+I"
+#~ msgid "&Join\tAlt+J"
+#~ msgstr "&Unir\tAlt+J"
+#~ msgid "Detac&h at Silences\tShift+Alt+J"
+#~ msgstr "Desu&nir nos silêncios\tShift+Alt+J"
+#~ msgid "&All\tCtrl+A"
+#~ msgstr "Selecionar &Tudo\tCtrl+A"
+#~ msgid "&None\tCtrl+Shift+A"
+#~ msgstr "&Nenhum\tCtrl+Shift+A"
+#~ msgid "Turn Snap-To On"
+#~ msgstr "Ligar antecipação"
+#~ msgid "Turn Snap-To Off"
+#~ msgstr "Desligar antecipação"
+#~ msgid "Turn Grid Snap On"
+#~ msgstr "Ligar rede da antecipação"
+#~ msgid "Turn Grid Snap Off"
+#~ msgstr "Desligar rede da antecipação"
+#~ msgid "Pre&ferences...\tCtrl+,"
+#~ msgstr "&Preferências...\tCtrl+,"
+#~ msgid "Pre&ferences...\tCtrl+P"
+#~ msgstr "&Preferências...\tCtrl+P"
+#~ msgid "Zoom &In\tCtrl+1"
+#~ msgstr "&Mais zoom\tCtrl+1"
+#~ msgid "Zoom &Out\tCtrl+3"
+#~ msgstr "Men&os zoom\tCtrl+3"
+#~ msgid "Play\tSpace"
+#~ msgstr "Reproduzir\tBarra de Espaço"
+#~ msgid "&Pause\tP"
+#~ msgstr "&Pausar\tP"
+#~ msgid "&Stop\tSpace"
+#~ msgstr "P&arar\tBarra de Espaço"
+#~ msgid "Skip to Start\tHome"
+#~ msgstr "Ir para o início\tHome"
+#~ msgid "Skip to End\tEnd"
+#~ msgstr "Ir para o final\tEnd"
+#~ msgid "&Record\tR"
+#~ msgstr "Grava&r\tR"
+#~ msgid "&Audio Track\tCtrl+Shift+N"
+#~ msgstr "Faix&a de Áudio\tCtrl+Shift+N"
+#~ msgid "&UnMute All Tracks\tCtrl+Shift+U"
+#~ msgstr "&Desemudecer todas as faixas\tCtrl+Shift+U"
+#~ msgid "Add &Label At Selection\tCtrl+B"
+#~ msgstr "Adicionar &título à seleção\tCtrl+B"
+#~ msgid "&Index..."
+#~ msgstr "Índ&ice da Ajuda..."
+#~ msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#~ msgstr ""
+#~ "Alternar entre o Dock, Visualização de Faixas e Barra de Seleção\tCtrl"
+#~ "+Shift+F6"
+#~ msgid "Selection Tool\tF1"
+#~ msgstr "Ferramenta de seleção\tF1"
+#~ msgid "Envelope Tool\tF2"
+#~ msgstr "Ferramenta Envelope\tF2"
+#~ msgid "Draw Tool\tF3"
+#~ msgstr "Ferramenta de desenho\tF3"
+#~ msgid "Zoom Tool\tF4"
+#~ msgstr "Ferramenta de Zoom\tF4"
+#~ msgid "Time Shift Tool\tF5"
+#~ msgstr "Ferramenta Deslizar\tF5"
+#~ msgid "Multi Tool\tF6"
+#~ msgstr "Multi-ferramenta\tF6"
+#~ msgid "Stop\tS"
+#~ msgstr "Parar\tS"
+#~ msgid "Pause\tP"
+#~ msgstr "Pausar\tP"
+#~ msgid "Record\tR"
+#~ msgstr "Gravar\tR"
+#~ msgid "Record Append\tShift+R"
+#~ msgstr "Gravar ao final\tShift+R"
+#~ msgid "Play Looped\tL"
+#~ msgstr "Reproduzir continuamente\tL"
+#~ msgid "Play Looped\tShift+Space"
+#~ msgstr "Reprodução contínua\tShift+Barra de Espaço"
+#~ msgid "Selection to Start\tShift+Home"
+#~ msgstr "Seleção desde o início\tShift+Home"
+#~ msgid "Selection to End\tShift+End"
+#~ msgstr "Selecionar do cursor para o fim\tShift+End"
+#~ msgid "DeleteKey\tBackspace"
+#~ msgstr "Apagar\tBackspace"
+#~ msgid "DeleteKey2\tDelete"
+#~ msgstr "Apagar\tDelete"
+#~ msgid "Seek left long period during playback\tShift+Left"
+#~ msgstr "Alterar posição do cursor mais à esquerda\tShift+Seta para Esquerda"
+#~ msgid "Seek right long period during playback\tShift+Right"
+#~ msgstr "Alterar posição do cursor mais à direita\tShift+Seta para Direita"
+#~ msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#~ msgstr ""
+#~ "Mover foco para a faixa anterior e alterar seleção\tShift+Seta para Cima"
+#~ msgid "Toggle Focused Track\tNUMPAD_ENTER"
+#~ msgstr "Alterar foco sobre a faixa\tEnter do teclado numérico"
+#~ msgid "Toggle Focused Track\tCtrl+Space"
+#~ msgstr "Alterar foco sobre a faixa\tCtrl+Barra de espaços"
+#~ msgid "Selection Contract Right\tCtrl+Shift+Left"
+#~ msgstr "Contarir seleção à direita\tCtrl+Shift+Seta Esq."
+#~ msgid "Repeat %s\tCtrl+R"
+#~ msgstr "Repetir %s\tCtrl+R"
+#~ msgid "&Mix and Render"
+#~ msgstr "&Mixar"
+#~ msgid "Tag Name"
+#~ msgstr "Nome da Tag"
+#~ msgid "Soloed track"
+#~ msgstr "&Organizar faixas por"
+#~ msgid "Muted track"
+#~ msgstr "Nota de faixa"
+#~ msgid "Disallowed for some reason.  Try selecting some audio first?"
+#~ msgstr ""
+#~ "Desabilitado. Experimente selecionar um trecho de áudio antes de executar "
+#~ "o comando."
+#~ msgid "Hello.\n"
+#~ msgstr "Ola.\n"
+#~ msgid "WCAG2 Audio Contrast Analyzer"
+#~ msgstr "Analizador de Contraste de Áudio WCAG2 "
+#~ msgid "Note: The 'OK' button resets time values."
+#~ msgstr "Nota: O botão 'OK' reajusta os valores de tempo."
+#~ msgid "Contrast...\tCtrl+Shift+T"
+#~ msgstr "Contraste...\tCtrl+Shift+T"
+#~ msgid ""
+#~ "Sorry, VST Effects cannot be performed on stereo tracks where the "
+#~ "individual channels of the track do not match."
+#~ msgstr ""
+#~ "Desculpe, os efeitos VST não podem ser executados em faixas estéreo onde "
+#~ "cada canal tem um conteúdo diferente do outro."
+#~ msgid "Can't process replacing"
+#~ msgstr "Impossível processar"
+#~ msgid "VST Plug-in parameters:"
+#~ msgstr "Parâmetros do plug-in VST:"
+#~ msgid "Audio I/O"
+#~ msgstr "Dispositivos"
+#~ msgid "Portaudio v"
+#~ msgstr "Portaudio v"
+#~ msgid "&Software Playthrough: Play new track while recording it"
+#~ msgstr "Reprodução simultânea via &software"
+#~ msgid "Show / Hide"
+#~ msgstr "Exibir / Ocultar"
+#~ msgid "Show prompt to sa&ve, even if project is empty"
+#~ msgstr "&Pedir para salvar mesmo em projetos em branco"
+#~ msgid "Display range minimum: meters and 'Waveform (dB)'"
+#~ msgstr ""
+#~ "Extensão mínima para a visualização dos medidores e 'Formato de onda' (dB)"
+#~ msgid "Other interface choices"
+#~ msgstr "Outras opções da interface"
+#~ msgid "Conversion"
+#~ msgstr "Conversão"
+#~ msgid "Real-time:"
+#~ msgstr "Em tempo-real:"
+#~ msgid "High-quality:"
+#~ msgstr "De alta-qualidade:"
+
diff --git a/locale/ro.po b/locale/ro.po
index eeb74c3..aff4804 100644
--- a/locale/ro.po
+++ b/locale/ro.po
@@ -26,16 +26,15 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
 msgid "translator_credits"
 msgstr "creditele translatorilor"
 
@@ -78,7 +77,7 @@ msgid "Special thanks:"
 msgstr "Mulţumiri speciale:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:320
@@ -189,18 +188,13 @@ msgstr ""
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s este deschis în altă fereastră."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
+#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
 msgid "Error opening project"
 msgstr "Eroare la deschiderea proiectului"
 
@@ -225,20 +219,28 @@ msgstr ""
 msgid "Output Meter"
 msgstr ""
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
+#: ../src/Menus.cpp:141
+msgid "&New"
+msgstr "&Nou"
+
+#: ../src/Menus.cpp:143
+msgid "&Open..."
+msgstr "&Deschide..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
 #: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:626
-#: ../src/AudacityApp.cpp:696
+#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:641
-#: ../src/AudacityApp.cpp:711
+#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Opţiune pe linie de comandă necunoscută: %s\n"
@@ -352,14 +354,14 @@ msgstr "Eroare:"
 msgid "Error Initializing Audio"
 msgstr "Eroare la iniţializarea Audacity"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -408,10 +410,8 @@ msgstr ""
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
+#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
 msgid "Error"
 msgstr "Eroare"
 
@@ -587,8 +587,9 @@ msgstr ""
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
 msgstr ""
 
 #: BatchProcessDialog.cpp:456
@@ -906,11 +907,11 @@ msgstr ""
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -966,11 +967,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -993,8 +995,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Analiza frecvenţei"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
 msgid "Spectrum"
 msgstr ""
 
@@ -1052,15 +1053,25 @@ msgstr ""
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: ../src/Benchmark.cpp:223 ../src/FreqWindow.cpp:123
+#: ../src/effects/ClickRemoval.cpp:371 ../src/effects/NoiseRemoval.cpp:463
 msgid "Close"
 msgstr "ÃŽnchide"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
 #: ../src/widgets/Meter.cpp:293
 msgid "dB"
 msgstr "dB"
@@ -1070,6 +1081,15 @@ msgstr "dB"
 msgid "Hz"
 msgstr "Hz"
 
+#: ../src/Menus.cpp:2369
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ""
+
+#: ../src/Menus.cpp:2395
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Prea mult selectat. Numai primele %.1f secunde vor fi analizate."
+
 #: ../src/FreqWindow.cpp:463
 msgid "Not enough data selected."
 msgstr "Insuficiente date selectate."
@@ -1096,9 +1116,7 @@ msgstr ""
 msgid "Export Spectral Data As:"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
+#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1393 ../src/Project.cpp:2159
 #: ../src/prefs/KeyConfigPrefs.cpp:173
 msgid "Couldn't write to file: "
 msgstr "Nu a putut fi scris fiÅŸierul:"
@@ -1111,6 +1129,21 @@ msgstr "Frecvenţa (Hz)\tNivel (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr ""
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1188,7 +1221,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1212,7 +1245,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1281,6 +1314,14 @@ msgstr ""
 msgid "GB"
 msgstr ""
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:50
 msgid "Track"
 msgstr ""
@@ -1340,9 +1381,7 @@ msgstr ""
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "FiÅŸiere text (*.txt)|*.txt|Toate fiÅŸierele(*.*)|*.*"
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
+#: ../src/Menus.cpp:2647 ../src/Project.cpp:1820 ../src/Project.cpp:1828
 #: ../src/import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Nu s-a putut deschide fiÅŸierul:"
@@ -1395,21 +1434,13 @@ msgstr "Se deschide proiectul Audacity"
 msgid "&File"
 msgstr "&FiÅŸier"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "&Nou\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Deschide...\tCtrl+O"
-
 #: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&IeÅŸire\tCtrl+W"
+msgid "&Close"
+msgstr "&IeÅŸire"
 
 #: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "&Salvează Proiect\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Salvează Proiect"
 
 #: ../src/Menus.cpp:150
 msgid "Save Project &As..."
@@ -1432,7 +1463,7 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+msgid "&Audio..."
 msgstr ""
 
 #: Menus.cpp:237
@@ -1463,8 +1494,8 @@ msgstr ""
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:352
+msgid "Appl&y Chain..."
 msgstr ""
 
 #: Menus.cpp:340 Menus.cpp:354
@@ -1479,10 +1510,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
 #: Menus.cpp:358
 msgid "&Upload File..."
 msgstr ""
@@ -1497,7 +1524,7 @@ msgid "&Print..."
 msgstr ""
 
 #: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+msgid "E&xit"
 msgstr ""
 
 #: ../src/Menus.cpp:227
@@ -1505,63 +1532,63 @@ msgid "&Edit"
 msgstr "&Editare"
 
 #: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Desfă\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Desfă"
 
 #: ../src/Menus.cpp:239
 msgid "&Redo"
 msgstr "&Refă"
 
 #: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "&Tăiere\tCtrl+X"
+msgid "Cu&t"
+msgstr "&Tăiere"
 
 #: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
 msgstr ""
 
 #: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Copiere\tCtrl+C"
+msgid "&Copy"
+msgstr "&Copiere"
 
 #: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "&LipeÅŸte\tCtrl+V"
+msgid "&Paste"
+msgstr "&LipeÅŸte"
 
 #: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+msgid "Tri&m"
 msgstr ""
 
 #: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Åžtergere\tCtrl+K"
+msgid "&Delete"
+msgstr "&Åžtergere"
 
 #: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+msgid "Split D&elete"
 msgstr ""
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+msgid "Sp&lit"
 msgstr ""
 
 #: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+msgid "Split Ne&w"
 msgstr ""
 
 #: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+msgid "&Join"
 msgstr ""
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+msgid "Duplic&ate"
 msgstr ""
 
 #: Menus.cpp:400 Menus.cpp:639
@@ -1574,47 +1601,32 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:460
-msgid "&Cut\tAlt+X"
+msgid "&Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
+msgid "&Split Cut"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+msgid "Co&py"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+msgid "Sp&lit Delete"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+msgid "Sile&nce"
 msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+msgid "Spli&t"
 msgstr ""
 
 #: Menus.cpp:456
@@ -1622,31 +1634,31 @@ msgid "&Select"
 msgstr ""
 
 #: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Toate\tCtrl+A"
+msgid "&All"
+msgstr "&Toate"
 
 #: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+msgid "&None"
 msgstr ""
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+msgid "&Left at Playback Position"
 msgstr ""
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+msgid "&Right at Playback Position"
 msgstr ""
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:525
-msgid "Find &Zero Crossings\tZ"
+msgid "Find &Zero Crossings"
 msgstr ""
 
 #: Menus.cpp:476
@@ -1664,11 +1676,11 @@ msgid "to Selection En&d"
 msgstr "spre sfârşitull Selecţiei"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1691,29 +1703,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr ""
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr ""
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr ""
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
-msgstr ""
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: ../src/Menus.cpp:345
@@ -1721,35 +1712,35 @@ msgid "&View"
 msgstr "&Vizualizare"
 
 #: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Măreşt&e\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Măreşt&e"
 
 #: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Mărime &normală\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Mărime &normală"
 
 #: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Micş&orează\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Micş&orează"
 
 #: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Potriveşte în Fereastră\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Potriveşte în Fereastră"
 
 #: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
+msgid "Fit &Vertically"
 msgstr ""
 
 #: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Măreşte selecţia\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Măreşte selecţia"
 
 #: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
 msgstr ""
 
 #: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
 msgstr ""
 
 #: Menus.cpp:551
@@ -1811,39 +1802,39 @@ msgid "T&ransport"
 msgstr ""
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
+msgid "Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: ../src/Menus.cpp:569
-msgid "Skip to Start\tHome"
-msgstr "Sari la ÃŽnceput\tHome"
+msgid "Skip to Start"
+msgstr "Sari la ÃŽnceput"
 
 #: ../src/Menus.cpp:570
-msgid "Skip to End\tEnd"
-msgstr "Sari la Sfârşit\tEnd"
+msgid "Skip to End"
+msgstr "Sari la Sfârşit"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1871,7 +1862,7 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+msgid "&Audio Track"
 msgstr ""
 
 #: Menus.cpp:644
@@ -1887,7 +1878,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:662
@@ -1899,11 +1890,11 @@ msgid "Remo&ve Tracks"
 msgstr "Elimină Pie&sele"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:405
@@ -1950,19 +1941,18 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Adaugă etichetă la selecţie\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:706
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Adaugă etichetă la pozitia de redare\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Adaugă etichetă la pozitia de redare"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -1988,21 +1978,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Efe&ct"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Repetă ultimul efect\tCtrl+R"
-
 #: ../src/Menus.cpp:494
 msgid "&Analyze"
 msgstr "&Analizează"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:692
 msgid "Plot Spectrum..."
 msgstr ""
 
 #. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: ../src/Menus.cpp:524 ../src/Menus.cpp:540
 msgid "&Help"
 msgstr "&Ajutor"
 
@@ -2014,8 +2003,8 @@ msgstr ""
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2034,180 +2023,148 @@ msgstr "&Execută Test"
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: ../src/Menus.cpp:549
-msgid "Selection Tool\tF1"
-msgstr "Unealta de selecţie\tF1"
+msgid "Selection Tool"
+msgstr "Unealta de selecţie"
 
 #: ../src/Menus.cpp:550
-msgid "Envelope Tool\tF2"
+msgid "Envelope Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:551
-msgid "Draw Tool\tF3"
-msgstr "Unealta de desenare\tF3"
+msgid "Draw Tool"
+msgstr "Unealta de desenare"
 
 #: ../src/Menus.cpp:552
-msgid "Zoom Tool\tF4"
-msgstr "Unealta de mărire\tF4"
+msgid "Zoom Tool"
+msgstr "Unealta de mărire"
 
 #: ../src/Menus.cpp:553
-msgid "Time Shift Tool\tF5"
+msgid "Time Shift Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:554
-msgid "Multi Tool\tF6"
+msgid "Multi Tool"
 msgstr ""
 
 #: ../src/Menus.cpp:556
-msgid "Next Tool\tD"
-msgstr "Urmâtoare unealtă\tD"
+msgid "Next Tool"
+msgstr "Urmâtoare unealtă"
 
 #: ../src/Menus.cpp:557
-msgid "Previous Tool\tA"
+msgid "Previous Tool"
 msgstr "Unelata precedentă"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:560
-msgid "Stop\tS"
-msgstr "Stop\tS"
-
-#: ../src/Menus.cpp:561
-msgid "Pause\tP"
-msgstr "Pauză\tP"
-
-#: ../src/Menus.cpp:562
-msgid "Record\tR"
-msgstr "Înregistrează\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: ../src/Menus.cpp:564
-msgid "Play One Second\t1"
+msgid "Play One Second"
 msgstr ""
 
 #: ../src/Menus.cpp:565
-msgid "Play To Selection\tB"
-msgstr ""
-
-#: ../src/Menus.cpp:566
-msgid "Play Looped\tL"
-msgstr "Redă repetând"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
+msgid "Play To Selection"
 msgstr ""
 
 #: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+msgid "Play Cut Preview"
 msgstr ""
 
 #: ../src/Menus.cpp:572
-msgid "Selection to Start\tShift+Home"
+msgid "Selection to Start"
 msgstr ""
 
 #: ../src/Menus.cpp:573
-msgid "Selection to End\tShift+End"
+msgid "Selection to End"
 msgstr ""
 
 #: ../src/Menus.cpp:575
-msgid "DeleteKey\tBackspace"
-msgstr "Tasta de ÅŸtergere\tBackspace"
+msgid "DeleteKey"
+msgstr "Tasta de ÅŸtergere"
 
 #: ../src/Menus.cpp:580
-msgid "DeleteKey2\tDelete"
-msgstr "Tasta de ÅŸtergere2\tDelete"
+msgid "DeleteKey2"
+msgstr "Tasta de ÅŸtergere2"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+msgid "Move Focus to Previous Track"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
 #: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
 msgstr ""
 
 #: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
-
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+msgid "Toggle Focused Track"
 msgstr ""
 
 #: ../src/Menus.cpp:585
-msgid "Cursor Left\tLeft"
+msgid "Cursor Left"
 msgstr ""
 
 #: ../src/Menus.cpp:586
-msgid "Cursor Right\tRight"
+msgid "Cursor Right"
 msgstr ""
 
 #: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: ../src/Menus.cpp:587
-msgid "Selection Extend Left\tShift+Left"
+msgid "Selection Extend Left"
 msgstr ""
 
 #: ../src/Menus.cpp:588
-msgid "Selection Extend Right\tShift+Right"
+msgid "Selection Extend Right"
 msgstr ""
 
 #: Menus.cpp:828
@@ -2219,51 +2176,51 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: ../src/Menus.cpp:589
-msgid "Selection Contract Left\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
 msgstr ""
 
 #: ../src/Menus.cpp:590
-msgid "Selection Contract Right\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
 msgstr ""
 
 #: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+msgid "Change pan on focused track"
 msgstr ""
 
 #: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+msgid "Pan left on focused track"
 msgstr ""
 
 #: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+msgid "Pan right on focused track"
 msgstr ""
 
 #: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+msgid "Change gain on focused track"
 msgstr ""
 
 #: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
 msgstr ""
 
 #: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
 msgstr ""
 
 #: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+msgid "Open menu on focused track"
 msgstr ""
 
 #: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+msgid "Mute/Unmute focused track"
 msgstr ""
 
 #: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
 #: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+msgid "Close focused track"
 msgstr ""
 
 #: Menus.cpp:845
@@ -2275,7 +2232,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2336,8 +2321,8 @@ msgstr "Trebuie să selectaţi o piesă mai întâi."
 
 #: ../src/Menus.cpp:1248
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetă %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repetă %s"
 
 #: ../src/Menus.cpp:1352
 msgid "There are no label tracks to export."
@@ -2368,8 +2353,7 @@ msgstr "Nu există nimic de desfăcut"
 msgid "Nothing to redo"
 msgstr "Nu există nimic de refăcut"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1713
 msgid "Cut"
 msgstr "Taie"
 
@@ -2385,9 +2369,7 @@ msgstr ""
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Paste"
 msgstr "LipeÅŸte"
 
@@ -2395,8 +2377,7 @@ msgstr "LipeÅŸte"
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: ../src/Menus.cpp:1818 ../src/Menus.cpp:1862
 msgid "Pasted from the clipboard"
 msgstr "LipreÅŸte din Memoria Clipboard"
 
@@ -2448,8 +2429,7 @@ msgstr ""
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr ""
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: ../src/Menus.cpp:1928 ../src/effects/Silence.h:33
 msgid "Silence"
 msgstr "LiniÅŸte"
 
@@ -2533,8 +2513,7 @@ msgstr ""
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:2009
-#: ../src/TrackPanel.cpp:4134
+#: ../src/Menus.cpp:2009 ../src/TrackPanel.cpp:4134
 msgid "Split"
 msgstr "ÃŽmparte"
 
@@ -2550,15 +2529,6 @@ msgstr ""
 msgid "Split at labels"
 msgstr ""
 
-#: ../src/Menus.cpp:2369
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr ""
-
-#: ../src/Menus.cpp:2395
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Prea mult selectat. Numai primele %.1f secunde vor fi analizate."
-
 #: ../src/Menus.cpp:2660
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2676,9 +2646,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "A fost creată o nouă piesă audio"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
+#: ../src/Menus.cpp:2977 ../src/Menus.cpp:3001 ../src/Menus.cpp:3016
 #: ../src/Menus.cpp:3052
 msgid "New Track"
 msgstr "Piesă nouă"
@@ -2760,8 +2728,7 @@ msgstr ""
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
 msgid "Mix"
 msgstr "Mixează"
 
@@ -2781,6 +2748,10 @@ msgstr "A apărut o problemă la printare."
 msgid "Print"
 msgstr "Imprimă"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:573
 msgid "Main Mix"
 msgstr ""
@@ -2794,14 +2765,11 @@ msgstr ""
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Menus.cpp:562
 msgid "Record"
 msgstr "Înregistrează"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
 msgid "Recorded Audio"
 msgstr "Sunete înregistrate"
 
@@ -2822,12 +2790,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Salvează modificările?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: ../src/Menus.cpp:2595 ../src/Project.cpp:1738
 msgid "Select one or more audio files..."
 msgstr ""
 
@@ -2854,8 +2821,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
 msgid "Error opening file"
 msgstr "Eroare la deschiderea fiÅŸierului"
 
@@ -2911,10 +2888,12 @@ msgstr "FiÅŸierul a fost dalvat folosind Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Nu se poate deschide Proiectul"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -2934,17 +2913,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
 msgid "Error saving project"
 msgstr "Eroare la salvarea proiectului"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: ../src/Project.cpp:2200
 #, c-format
 msgid "Saved %s"
@@ -2955,10 +2939,8 @@ msgstr "Salvat %s"
 msgid "Imported '%s'"
 msgstr "Importat '%s'"
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
+#: ../src/Project.cpp:2236 ../src/Project.cpp:2283
+#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
 #: ../src/import/ImportRaw.cpp:408
 msgid "Import"
 msgstr "Importează"
@@ -3086,8 +3068,7 @@ msgstr ""
 msgid "Libsamplerate error: %d\n"
 msgstr ""
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
 msgid "Resampling disabled."
 msgstr ""
 
@@ -3106,6 +3087,163 @@ msgstr ""
 msgid "32-bit float"
 msgstr ""
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
+msgid "Choose..."
+msgstr "Alegeţi..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:81
+msgid "Transcription"
+msgstr ""
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: ../src/export/ExportMultiple.cpp:636
+msgid "Tracks"
+msgstr "Piese"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3114,6 +3252,10 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
 #: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr ""
@@ -3252,6 +3394,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:629
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3324,6 +3470,14 @@ msgstr ""
 msgid "Audacity Timer Record"
 msgstr ""
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr ""
@@ -3363,35 +3517,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: ../src/AStatus.cpp:81 ../src/TrackPanel.cpp:822
+#: ../src/prefs/FileFormatPrefs.cpp:105 ../src/prefs/QualityPrefs.cpp:91
 msgid "Other..."
 msgstr "Alt.."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
+#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
 msgid "Name..."
 msgstr "Nume..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
+#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
 msgid "Move Track Up"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
+#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
 msgid "Move Track Down"
 msgstr ""
 
@@ -3431,13 +3573,15 @@ msgstr "Creează o piesă stereo"
 msgid "Split Stereo Track"
 msgstr "ÃŽmparte piesa stereo"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:846
 msgid "Set Sample Format"
 msgstr ""
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
 msgid "Set Rate"
 msgstr "Setează Rata"
 
@@ -3513,8 +3657,7 @@ msgstr "Editează eticheta"
 msgid "Adjusted envelope."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/TrackPanel.cpp:1905 ../src/prefs/MousePrefs.cpp:98
 msgid "Envelope"
 msgstr ""
 
@@ -3574,24 +3717,20 @@ msgid "Moved pan slider"
 msgstr ""
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
 msgid "Gain"
 msgstr "Câştig"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
 msgid "Pan"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4387
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4387 ../src/effects/ChangePitch.cpp:277
 msgid "up"
 msgstr "sus"
 
-#: ../src/TrackPanel.cpp:4388
-#: ../src/effects/ChangePitch.cpp:277
+#: ../src/TrackPanel.cpp:4388 ../src/effects/ChangePitch.cpp:277
 msgid "down"
 msgstr "jos"
 
@@ -3632,14 +3771,6 @@ msgstr ""
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5428
 msgid "Can't delete track with active audio"
 msgstr ""
@@ -3660,8 +3791,7 @@ msgstr "Stânga, "
 msgid "Right, "
 msgstr "Dreapta, "
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "A fost schimbat din '%s' în %s "
@@ -3675,6 +3805,11 @@ msgstr "Canal"
 msgid "Split stereo track '%s'"
 msgstr ""
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4153
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3701,8 +3836,7 @@ msgstr "Schimbare formatului"
 msgid "Change lower speed limit (%) to:"
 msgstr "Schimbă valoarea vitezei minime (%) la:"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
 msgid "Lower speed limit"
 msgstr ""
 
@@ -3710,8 +3844,7 @@ msgstr ""
 msgid "Change upper speed limit (%) to:"
 msgstr "Schimbă valoarea vitezei maxime (%) la:"
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
 msgid "Upper speed limit"
 msgstr "Limita superioară de viteză"
 
@@ -3753,6 +3886,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: ../src/TrackPanel.cpp:4701
 msgid "Mute"
 msgstr "Mut"
@@ -3831,8 +3968,9 @@ msgstr "Plug-in-urile de la 1 la %i"
 msgid "Plugins %i to %i"
 msgstr "Plug-in-urile de la %i la %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:724
@@ -3978,31 +4116,19 @@ msgstr ""
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
+#: ../src/LangChoice.cpp:94 ../src/Tags.cpp:721 ../src/effects/Amplify.cpp:187
+#: ../src/effects/AvcCompressor.cpp:716 ../src/effects/BassBoost.cpp:332
+#: ../src/effects/ChangePitch.cpp:393 ../src/effects/ChangeSpeed.cpp:379
+#: ../src/effects/ChangeTempo.cpp:284 ../src/effects/Compressor.cpp:484
+#: ../src/effects/Echo.cpp:242 ../src/effects/Equalization.cpp:731
+#: ../src/effects/Filter.cpp:482 ../src/effects/Normalize.cpp:258
+#: ../src/effects/Phaser.cpp:576 ../src/effects/Repeat.cpp:251
+#: ../src/effects/VST/VSTEffect.cpp:98 ../src/effects/VST/VSTEffect.cpp:455
+#: ../src/effects/Wahwah.cpp:563 ../src/effects/ladspa/LadspaEffect.cpp:498
 #: ../src/effects/nyquist/Nyquist.cpp:736
 #: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/prefs/FileFormatPrefs.cpp:471
+#: ../src/prefs/PrefsDialog.cpp:100 ../src/widgets/Warning.cpp:56
 msgid "OK"
 msgstr "OK"
 
@@ -4065,14 +4191,12 @@ msgstr "Ajusteaza Inaltele"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Ajusteaza Inaltele fara a schimba Tempoul"
 
-#: ../src/effects/ChangePitch.cpp:247
-#: ../src/effects/ChangeSpeed.cpp:287
+#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
 #: ../src/effects/ChangeTempo.cpp:164
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "de Vaughan Johnson && Dominic Mazzoni"
 
-#: ../src/effects/ChangePitch.cpp:252
-#: ../src/effects/ChangeTempo.cpp:169
+#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "FoloseÅŸte SoundTouch de Olli Parviainen"
 
@@ -4121,10 +4245,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:284
-#: ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351
-#: ../src/effects/ChangeTempo.cpp:223
+#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
+#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
 #: ../src/effects/ChangeTempo.cpp:254
 msgid "to"
 msgstr "spre"
@@ -4133,8 +4255,7 @@ msgstr "spre"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
+#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
 #: ../src/effects/ChangeTempo.cpp:182
 msgid "Percent Change:"
 msgstr "Procent schimbat:"
@@ -4152,8 +4273,7 @@ msgstr "Ajusteaza Inaltele..."
 msgid "Changing Pitch"
 msgstr "Schimbarea Inaltelor"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Se aplică efectul: %s %.1f%%"
@@ -4299,8 +4419,8 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
 msgstr ""
 
 #: effects/Compressor.cpp:563
@@ -4356,6 +4476,10 @@ msgstr "Compresor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr ""
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4375,19 +4499,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4421,6 +4532,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4465,16 +4581,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4585,18 +4693,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr ""
@@ -4656,8 +4752,7 @@ msgstr ""
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr ""
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
 msgid "Echo"
 msgstr "Ecou"
 
@@ -4689,8 +4784,7 @@ msgstr ""
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr ""
 
@@ -4723,6 +4817,10 @@ msgstr ""
 msgid "custom"
 msgstr ""
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:971
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
@@ -4923,10 +5021,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5162,10 +5256,6 @@ msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
 #: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
 msgid "true"
 msgstr ""
 
@@ -5223,8 +5313,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
 msgid "LFO Frequency (Hz):"
 msgstr ""
 
@@ -5232,8 +5321,7 @@ msgstr ""
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
 msgid "LFO Start Phase (deg.):"
 msgstr ""
 
@@ -5292,8 +5380,7 @@ msgstr "Repetat de %d ori"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Piesele sunt prea lungi pentru a repeta selecţia"
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
 msgid "Repeat"
 msgstr "Repetă"
 
@@ -5306,8 +5393,7 @@ msgstr "Numărul de repetiţii:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
 msgid "New selection length: "
 msgstr ""
 
@@ -5518,20 +5604,37 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
 msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr ""
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
@@ -5542,17 +5645,56 @@ msgstr ""
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Îmi pare rău, efectele VST nu pot fi aplicate pe piesele unde canalele individuale nu sunt la fel."
+#: ../src/effects/ladspa/LadspaEffect.cpp:452
+msgid "Effect Settings"
+msgstr "Setările efectului"
+
+#: ../src/effects/ladspa/LadspaEffect.cpp:435
+#: ../src/effects/ladspa/LadspaEffect.cpp:443
+#: ../src/prefs/QualityPrefs.cpp:160
+msgid "None"
+msgstr "Nimic"
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "Nu se poate procesa înlocuirea"
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Parametri Plug-in-ului VST:"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: ../src/effects/Wahwah.cpp:41
 #, c-format
@@ -5600,22 +5742,11 @@ msgstr "se adaugă efectul: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Nimic"
-
 #: ../src/effects/ladspa/LadspaEffect.cpp:437
 msgid "Author: "
 msgstr "Autor:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Setările efectului"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
 msgid "Length (seconds)"
 msgstr "Lungime (secunde)"
 
@@ -5806,9 +5937,21 @@ msgstr "Se exportă întregul fişier folosind un encoder linie de comandă"
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -5876,6 +6019,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr ""
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6009,12 +6156,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6033,10 +6176,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6225,12 +6368,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6341,6 +6484,17 @@ msgstr ""
 msgid "FLAC Files"
 msgstr ""
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:93
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
@@ -6365,8 +6519,7 @@ msgstr ""
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "Fişierul ţintă nu a putut fi deschis pentru scriere"
 
@@ -6565,8 +6718,7 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
+#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
 #: ../src/export/ExportMultiple.cpp:562
 msgid "Export Multiple"
 msgstr ""
@@ -6594,11 +6746,6 @@ msgstr ""
 msgid "Export location:"
 msgstr "Locaţia exportului:"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Alegeţi..."
-
 #: export/ExportMultiple.cpp:205
 msgid "Create"
 msgstr ""
@@ -6623,10 +6770,6 @@ msgstr ""
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Piese"
-
 #: ../src/export/ExportMultiple.cpp:646
 msgid "Name files:"
 msgstr ""
@@ -6660,25 +6803,44 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Alege o locaţie unde vor fi salvate fişierele exportate."
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:480
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+msgid "Edit metadata"
 msgstr ""
 
 #: export/ExportMultiple.cpp:881
@@ -6762,7 +6924,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:436
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Eroare (este posibil ca fişierul să nu fi fost scris): %s"
@@ -6928,8 +7089,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
 msgid "List of Files in basic text format"
 msgstr ""
 
@@ -6939,10 +7103,8 @@ msgid "Invalid window offset in LOF file."
 msgstr ""
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
+#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
 msgid "LOF Error"
 msgstr "Eroare LOF"
 
@@ -7084,131 +7246,59 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Audio I/O"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Redare"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Se înregistrează"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
+#: ../src/prefs/PrefsDialog.cpp:89
+msgid "Interface"
+msgstr "Interfaţă"
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
+#: prefs/AudioIOPrefs.cpp:122
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:80
+msgid "Playback"
+msgstr "Redare"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:148
+msgid "Recording"
+msgstr "Se înregistrează"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/AudioIOPrefs.cpp:139
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:212
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: ../src/prefs/AudioIOPrefs.cpp:213
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
 msgid "Directories"
 msgstr "Directoare"
 
@@ -7224,34 +7314,31 @@ msgstr "Locaţia:"
 msgid "Free Space:"
 msgstr "Spaţiu liber:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: ../src/prefs/DirectoriesPrefs.cpp:135
 msgid "Choose a location to place the temporary directory"
 msgstr "Alege o locaţie unde vrei sa plasezi directorul fişierelor temporare."
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: ../src/prefs/DirectoriesPrefs.cpp:181
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7270,220 +7357,141 @@ msgstr "ÃŽn directorul %s nu se poate scrie"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Schimbarile directorului temporar nu vor avea efect pana Audacity nu este restartat"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "Versiunea librăriilor MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
-
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: ../src/prefs/GUIPrefs.cpp:150
+msgid "-36 dB (shallow range for high-amplitude editing)"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Interfaţă"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: ../src/prefs/GUIPrefs.cpp:157
+msgid "-48 dB (PCM range of 8 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: ../src/prefs/GUIPrefs.cpp:164
+msgid "-96 dB (PCM range of 16 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: ../src/prefs/GUIPrefs.cpp:171
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (apozimativ limita auzului uman)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
+#: ../src/prefs/GUIPrefs.cpp:178
+msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:90
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (apozimativ limita auzului uman)"
-
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
+#: prefs/FileFormatPrefs.cpp:93
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:144
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:97
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/BatchPrefs.cpp:91
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
 #: ../src/prefs/PrefsDialog.cpp:90
@@ -7514,17 +7522,22 @@ msgstr ""
 msgid "&Defaults"
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: ../src/prefs/KeyConfigPrefs.cpp:79
 msgid "Key Combination"
 msgstr "Combinaţia de taste"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportează scurtăturile din tastatură ca şi:"
+#: ../src/EditToolBar.cpp:159
+msgid "Undo"
+msgstr "Desfă"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Eroare la salvarea scurtăturilor tastaturii"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: ../src/prefs/KeyConfigPrefs.cpp:188
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7534,6 +7547,14 @@ msgstr "Selectează un fişier XML care conţine scurtăturile din tastatură al
 msgid "Error loading keyboard shortcuts"
 msgstr "eroare la încărcarea scurtăturilor din tastatură"
 
+#: ../src/prefs/KeyConfigPrefs.cpp:159
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportează scurtăturile din tastatură ca şi:"
+
+#: ../src/prefs/KeyConfigPrefs.cpp:174
+msgid "Error saving keyboard shortcuts"
+msgstr "Eroare la salvarea scurtăturilor tastaturii"
+
 #: prefs/KeyConfigPrefs.cpp:239
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7541,9 +7562,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 "'%s'"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Desfă"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: ../src/prefs/FileFormatPrefs.cpp:180
+msgid "MP3 Library Version:"
+msgstr "Versiunea librăriilor MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: ../src/prefs/PrefsDialog.cpp:84
+msgid "Audio I/O"
+msgstr "Audio I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:147
 #, fuzzy
@@ -7558,6 +7631,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7566,6 +7643,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr ""
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr ""
@@ -7578,6 +7659,18 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr ""
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
@@ -7602,14 +7695,12 @@ msgstr ""
 msgid "Buttons"
 msgstr "Butoane"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
 #: ../src/prefs/MousePrefs.cpp:100
 msgid "Left-Click"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
+#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
 #: ../src/prefs/MousePrefs.cpp:90
 msgid "Select"
 msgstr "Selectează"
@@ -7618,10 +7709,8 @@ msgstr "Selectează"
 msgid "Set Selection Point"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
+#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
 #: ../src/prefs/MousePrefs.cpp:102
 msgid "Left-Drag"
 msgstr ""
@@ -7655,10 +7744,8 @@ msgid "Set Selection Point and Play"
 msgstr ""
 
 # Mărire
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
+#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
 msgid "Zoom"
 msgstr "Zoom"
 
@@ -7734,10 +7821,8 @@ msgstr ""
 msgid "Change Sample"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
+#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
 msgid "Pencil"
 msgstr "Creion"
 
@@ -7757,10 +7842,8 @@ msgstr ""
 msgid "Change ONE Sample only"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
+#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
 msgid "Multi"
 msgstr ""
 
@@ -7774,8 +7857,7 @@ msgstr "la fel cu unealta de selectare"
 msgid "same as zoom tool"
 msgstr "La fel cu unealta de mărire"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
 msgid "Any"
 msgstr "Orice"
 
@@ -7803,10 +7885,62 @@ msgstr ""
 msgid "Zoom in or out"
 msgstr "Măreşte sau Micşorează"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr ""
+
 #: ../src/prefs/PrefsDialog.cpp:52
 msgid "Audacity Preferences"
 msgstr "Setări Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:132
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:88
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:135
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr ""
+
 #: ../src/prefs/QualityPrefs.cpp:161
 msgid "Rectangle"
 msgstr ""
@@ -7831,44 +7965,44 @@ msgstr ""
 msgid "Default Sample Format:"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -7883,18 +8017,54 @@ msgstr ""
 msgid "Spectrograms"
 msgstr "Spectrograme"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "Mărimea FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:40
 msgid "256 - default"
 msgstr "256 - implicit"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -7903,20 +8073,24 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - laţimea de bandă cea mai îngustă"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:125
+msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
@@ -7927,16 +8101,16 @@ msgstr ""
 msgid "Maximum Frequency (Hz):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -7947,6 +8121,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: ../src/prefs/SpectrumPrefs.cpp:148
 msgid "The maximum frequency must be an integer"
 msgstr "Frecvenţa maximă trebuie să fie un număr mai mare ca 0."
@@ -7963,18 +8145,57 @@ msgstr ""
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr ""
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr ""
@@ -8003,78 +8224,94 @@ msgstr ""
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/GUIPrefs.cpp:72
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/GUIPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:88
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Pauză"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/GUIPrefs.cpp:76
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Stop"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Sari la ÃŽnceput"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Sari la Sfârşit"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: ../src/Menus.cpp:561
+msgid "Pause"
+msgstr "Pauză"
+
+#: ../src/Menus.cpp:560
+msgid "Stop"
+msgstr "Stop"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr ""
 
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
 #: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
 msgid "Error while opening sound device. "
 msgstr ""
@@ -8115,28 +8352,20 @@ msgstr "Zoom In"
 msgid "Zoom Out"
 msgstr "Zoom afară"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr ""
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr ""
 
-#: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
 #: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr ""
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr ""
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:79
@@ -8183,6 +8412,14 @@ msgstr ""
 msgid "Input Source"
 msgstr ""
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:75
 msgid "Selection"
 msgstr ""
@@ -8261,30 +8498,6 @@ msgstr ""
 msgid "Click and drag to move a track in time"
 msgstr "Click and Drag pentru a muta o piesă în timp"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Unealta de selecţie"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "unealta Zoom"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Unealta de desenare"
-
 #: ../src/ControlToolBar.cpp:360
 msgid "Multi-Tool Mode"
 msgstr ""
@@ -8293,22 +8506,10 @@ msgstr ""
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
 msgid "Playback Speed"
 msgstr ""
@@ -8317,74 +8518,38 @@ msgstr ""
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:203
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:206
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:215
 msgid "Select region of silence around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:218
 msgid "Automatically make labels from words"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:221
 msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:224
 msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:229
 msgid "Adjust Sensitivity"
 msgstr ""
@@ -8417,6 +8582,46 @@ msgstr ""
 msgid "Key type"
 msgstr ""
 
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:201
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:204
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:207
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:210
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:213
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:216
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:219
+msgid "Make Labels"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:222
+msgid "Add Label"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Calibrate"
+msgstr ""
+
 #: ../src/widgets/AButton.cpp:181
 msgid " (disabled)"
 msgstr "(dezactivat)"
@@ -8430,14 +8635,12 @@ msgid "Button"
 msgstr ""
 
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
 msgid "L"
 msgstr "S"
 
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
 msgid "R"
 msgstr "D"
 
@@ -8720,3 +8923,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/ru.po b/locale/ru.po
index 6828ce0..feb444b 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -1,16 +1,17 @@
-# Russian translation of Audacity 1.3.6
+# Russian translation of Audacity 1.3.8
 # Copyright (C) 2002,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# Alexandre Prokoudine <avp at altlinux.ru>, 2002.#: ../src/ToolBar.cpp:419.
+# Alexandre Prokoudine <avp at altlinux.ru>, 2002.
 # Alexandre Prokoudine <avp at altlinux.ru>, 2003, 2004.
 # Alexandre Prokoudine <techwriter at land.ru>, 2004.
 # Alexandre Prokoudine <alexandre.prokoudine at gmail.com>, 2005, 2006.
 msgid ""
-msgstr "Project-Id-Version: ru\n"
+msgstr ""
+"Project-Id-Version: ru\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
 "POT-Creation-Date: 2008-12-06 21:32+0300\n"
-"PO-Revision-Date: 2008-12-24 12:47+0300\n"
+"PO-Revision-Date: 2009-07-14 14:18+0300\n"
 "Last-Translator: Alexandre Prokoudine <alexandre.prokoudine at gmail.com>\n"
-"Language-Team: Russian <gnome-cyr at gnome.org>\n"
+"Language-Team: Russian <gnome-cyr at lists.gnome.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -20,29 +21,24 @@ msgstr "Project-Id-Version: ru\n"
 "X-Poedit-Country: RUSSIAN FEDERATION\n"
 
 #: AboutDialog.cpp:143
-#: AudacityApp.cpp:812
-#: Menus.cpp:955
-msgid "&About Audacity..."
-msgstr "&О программе..."
+msgid "About Audacity..."
+msgstr "О программе"
 
 #: AboutDialog.cpp:157
 msgid "OK... Audacious!"
-msgstr "OK... Audacious!"
+msgstr "Вот и отлично!"
 
 #: AboutDialog.cpp:175
-#, fuzzy
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr "Audacity — это свободная программа, созданная группой программистов на базе SourceForge — онлайнового сервиса для проектов с открытым исходным кодом. Программа написана на основе кроссплатформенной технологии wxWindows и доступна для операционных систем Windows 98 и новее, MacOS X, Linux и прочих Unix-подобных систем.  Существует более старая версия для Mac OS 9."
+msgstr "Audacity — свободный звуковой редактор, созданный <a href=\"http://audacity.sourceforge.net/community/developers\">группой программистов</a> из разных стран мира. Мы благодарим <a href=\"http://sourceforge.net\">SourceForge.net</a> за хостинг нашего проекта. Программа доступна для операционных систем Windows 98 и новее, Mac OS X, Linux и прочих Unix-подобных систем.  Существует более старая версия для Mac OS 9."
 
 #: AboutDialog.cpp:179
-#, fuzzy
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Это бета-версия программы. В ней могут быть как ошибки, так и невоплощенные функции. Продуктивность нашей работы зависит от ваших откликов, поэтому мы признательны за оставленные на нашем сайте сообщения об ошибках и функциональные запросы."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Это бета-версия программы, которая может содержать ошибки и недоработанные функции. Эффективность нашей работы зависит от ваших откликов: присылайте нам сообщения об ошибках и пожелания по адресу для <a href=\"mailto:feedback at audacityteam.org\">откликов</a>. За справкой по использованию Audacity обратитесь на наш <a href=\"http://audacityteam.org/forum/\">форум</a>."
 
 #: AboutDialog.cpp:182
-#, fuzzy
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "Это стабильная и завершённая версия Audacity.  Так или иначе, если вы обнаружите ошибку или захотите предложить что-либо, свяжитесь с нами. Постоянный контакт с пользователями позволяет нам улучшать Audacity.  Для получения подробной информации посетите наш веб-сайт."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "Это стабильная, готовая к повседневному использованию версия программы. Тем не менее, мы с радостью примем от вас сообщения об ошибках и пожелания по адресу для <a href=\"mailto:feedback at audacityteam.org\">откликов</a>. За справкой по использованию Audacity обратитесь на наш <a href=\"http://audacityteam.org/forum/\">форум</a>."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -53,12 +49,11 @@ msgstr "Это стабильная и завершённая версия Audac
 #: AboutDialog.cpp:192
 #: AboutDialog.cpp:194
 msgid "translator_credits"
-msgstr "Русская локализация — Alexandre Prokoudine"
+msgstr "Русская локализация — Александр Прокудин"
 
 #: AboutDialog.cpp:207
-#, fuzzy
 msgid "A Free Digital Audio Editor<br>"
-msgstr "Свободный цифровой редактор звуковых файлов"
+msgstr "Свободный редактор звуковых файлов<br>"
 
 #: AboutDialog.cpp:211
 msgid "Credits"
@@ -95,8 +90,8 @@ msgid "Special thanks:"
 msgstr "Особые благодарности:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "Авторские права на <b>Audacity&reg;</b> (&copy; 1999-2009) принадлежат команде разработчиков Audacity. <br>Название <b>Audacity&reg;</b> является зарегистрированной торговой маркой Доминика Маццони."
 
 #: AboutDialog.cpp:258
 msgid "Audacity"
@@ -241,10 +236,12 @@ msgstr "Ошибка при открытии проекта"
 
 #: AudacityApp.cpp:546
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s не существует и не может быть открыт.\n"
+msgstr ""
+"%s не существует и не может быть открыт.\n"
 "\n"
 "Файл удалён из списка открывавшихся ранее."
 
@@ -260,10 +257,27 @@ msgstr "Индикатор уровня на входе"
 msgid "Output Meter"
 msgstr "Индикатор уровня на выходе"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
+#: Menus.cpp:196
+msgid "&New"
+msgstr "&Создать проект"
+
+#: Menus.cpp:198
+msgid "&Open..."
+msgstr "&Открыть..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AboutDialog.cpp:143
+#: AudacityApp.cpp:812
+#: Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&О программе..."
+
 #: AudacityApp.cpp:814
-msgid "&Preferences...\tCtrl+,"
-msgstr "Параметр&ы...\tCtrl+,"
+msgid "&Preferences..."
+msgstr "Параметр&ы..."
 
 #: AudacityApp.cpp:908
 #: AudacityApp.cpp:985
@@ -278,9 +292,11 @@ msgid "Unknown command line option: %s\n"
 msgstr "Неизвестная опция командной строки: %s\n"
 
 #: AudacityApp.cpp:1134
-msgid "Audacity could not find a place to store temporary files.\n"
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Программа не может найти каталог для хранения временных файлов.\n"
+msgstr ""
+"Программа не может найти каталог для хранения временных файлов.\n"
 "Укажите подходящий каталог в диалоге параметров программы."
 
 #: AudacityApp.cpp:1140
@@ -288,17 +304,21 @@ msgid "Audacity is now going to exit. Please launch Audacity again to use the ne
 msgstr "Audacity готовится к выходу.  Повторно загрузите программу для использования нового каталога для временных файлов."
 
 #: AudacityApp.cpp:1172
-msgid "Running two copies of Audacity simultaneously may cause\n"
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr "Попытка запустить две копии Audacity одновременно\n"
+msgstr ""
+"Попытка запустить две копии Audacity одновременно\n"
 "может привести к потере данных или сбою системы.\n"
 "\n"
 
 #: AudacityApp.cpp:1179
-msgid "Audacity was not able to lock the temporary files directory.\n"
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr "Audacity не удалось заблокировать каталог с временными файлами.\n"
+msgstr ""
+"Audacity не удалось заблокировать каталог с временными файлами.\n"
 "Возможно, этот каталог используется другой копией Audacity.\n"
 
 #: AudacityApp.cpp:1181
@@ -314,9 +334,11 @@ msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "Система обнаружила другую запущенную копию Audacity.\n"
 
 #: AudacityApp.cpp:1223
-msgid "Use the New or Open commands in the currently running Audacity\n"
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Используйте команды «Создать» или «Открыть» в\n"
+msgstr ""
+"Используйте команды «Создать» или «Открыть» в\n"
 "текущей копии Audacity для одновременной работы\n"
 "с несколькими проектами.\n"
 
@@ -359,11 +381,13 @@ msgid "In addition, specify the name of an audio file or Audacity project to ope
 msgstr "Кроме того, укажите имя звукового файла или проекта Audacity, который нужно открыть."
 
 #: AudacityApp.cpp:1536
-msgid "Audacity project (.AUP) files are not currently \n"
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Файлы проектов Audacity (.AUP) сейчас не  \n"
+msgstr ""
+"Файлы проектов Audacity (.AUP) сейчас не  \n"
 "ассоциированы с Audacity. \n"
 "\n"
 "Ассоциировать их, чтобы они открывались\n"
@@ -378,9 +402,11 @@ msgid "Could not find any audio devices.\n"
 msgstr "Не удалось найти звуковые устройства.\n"
 
 #: AudioIO.cpp:255
-msgid "You will not be able to play or record audio.\n"
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Вы не сможете воспроизводить или записывать звук.\n"
+msgstr ""
+"Вы не сможете воспроизводить или записывать звук.\n"
 "\n"
 
 #: AudioIO.cpp:258
@@ -391,24 +417,41 @@ msgstr "Ошибка: "
 msgid "Error Initializing Audio"
 msgstr "Ошибки при инициализации звука"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "Неполадки с задержкой исгнала"
+#: AudioIO.cpp:281
+msgid "There was an error initializing the midi i/o layer.\n"
+msgstr ""
 
-#: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:282
+msgid ""
+"You will not be able to play midi.\n"
+"\n"
+msgstr ""
+
+#: AudioIO.cpp:288
+msgid "Error Initializing Midi"
+msgstr ""
+
+#: AudioIO.cpp:1223
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
+#: AudioIO.cpp:1375
+msgid "Latency problem"
+msgstr "Неполадки с задержкой исгнала"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Автоматическое восстановление после аварии"
 
 #: AutoRecovery.cpp:73
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr "Некоторые проекты не были корректно сохранены когда вы в предыдущий раз \n"
+msgstr ""
+"Некоторые проекты не были корректно сохранены когда вы в предыдущий раз \n"
 "работали с Audacity. К счастью, некоторые из них можно восстановить:"
 
 #: AutoRecovery.cpp:75
@@ -422,7 +465,8 @@ msgstr "Имя"
 
 #: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
-msgstr "При восстановлении проекта ни один файл на диске не изменится, \n"
+msgstr ""
+"При восстановлении проекта ни один файл на диске не изменится, \n"
 "пока вы не сохраните проект."
 
 #: AutoRecovery.cpp:88
@@ -438,9 +482,11 @@ msgid "Recover Projects"
 msgstr "Восстановить проекты"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr "Вы действительно не хотите восстанавливать данные проектов?\n"
+msgstr ""
+"Вы действительно не хотите восстанавливать данные проектов?\n"
 "Сделать это позднее не получится."
 
 #: AutoRecovery.cpp:128
@@ -521,9 +567,11 @@ msgstr "Команда %s пока не реализована"
 
 #: BatchCommands.cpp:508
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
-msgstr "Не удалось загрузить параметры эффекта %s\n"
+msgstr ""
+"Не удалось загрузить параметры эффекта %s\n"
 "в %s."
 
 #: BatchCommands.cpp:561
@@ -533,10 +581,12 @@ msgstr "Команда пакетной обработки %s не была ра
 
 #: BatchCommands.cpp:652
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr "Применить %s с параметром (-ами)\n"
+msgstr ""
+"Применить %s с параметром (-ами)\n"
 "\n"
 "%s"
 
@@ -665,8 +715,16 @@ msgstr "&Цепочка действий (изменить двойным щел
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Нет"
+msgid "Num"
+msgstr ""
+
+#: prefs/KeyConfigPrefs.cpp:167
+msgid "Command"
+msgstr "Команда"
+
+#: effects/Contrast.cpp:323
+msgid "Parameters"
+msgstr "Параметры"
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -728,10 +786,12 @@ msgid "Copying audio data into project..."
 msgstr "Звуковые файлы копируются в проект..."
 
 #: Dependencies.cpp:223
-msgid "Your project currently depends on the presence of other files.\n"
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr "Ваш проект зависит от присутствия в системе внешних файлов.\n"
+msgstr ""
+"Ваш проект зависит от присутствия в системе внешних файлов.\n"
 "Вы хотите, чтобы эти данные были включены в проект, чтобы сделать его самодостаточным?\n"
 "Это приведёт к расходу места на диске, но обезопасит проект от потери данных."
 
@@ -797,11 +857,11 @@ msgstr "Ваш проект самодостаточен и не включае
 msgid "Dependency check"
 msgstr "Проверка зависимостей"
 
-#: DirManager.cpp:137
-msgid "Warning: there is very little free disk space left on this volume.\n"
-"Please select another temporary directory in your preferences."
-msgstr "Предупреждение: на данном разделе осталось очень мало свободного места.\n"
-"Выберите другой каталог для временных файлов в диалоге настроек программы."
+#: DirManager.cpp:136
+msgid ""
+"There is very little free disk space left on this volume.\n"
+"Please select another temporary directory in Preferences."
+msgstr ""
 
 #: DirManager.cpp:223
 #: DirManager.cpp:254
@@ -823,9 +883,11 @@ msgstr "Выполняется очистка каталогов с кэшем"
 
 #: DirManager.cpp:505
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "Программа нашла осиротевший блочный файл %s! \n"
+msgstr ""
+"Программа нашла осиротевший блочный файл %s! \n"
 "Вам стоит сохранить и перезагрузить проект, чтобы пройти полную проверку проекта.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
@@ -886,15 +948,18 @@ msgid "Missing data file: (%s.au)"
 msgstr "Отсутствует файл данных: (%s.au)"
 
 #: DirManager.cpp:1319
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr "Проверка проекта выявила несоответствия при загрузке данных проекта; \n"
+msgstr ""
+"Проверка проекта выявила несоответствия при загрузке данных проекта; \n"
 "щёлкните кнопку «Подробности» для получения полного списка ошибок, \n"
 "либо «ОК», чтобы выбрать способ решения это незадачи."
 
 #: DirManager.cpp:1331
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
 msgstr ""
@@ -923,16 +988,21 @@ msgid "Warning"
 msgstr "Предупреждение"
 
 #: DirManager.cpp:1366
-#, fuzzy, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+#, c-format
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "Проверка проекта выявила %d входящий файл, используемый\n"
-"вместо \"alias\" файлов, которые теперь отсутствуют. files'  несоответствия при загрузке данных проекта; щёлкните кнопку «Подробности» для получения полного списка ошибок, \n"
-"либо «ОК», чтобы выбрать способ решения это незадачи."
+msgstr ""
+"Проверка проекта выявила %d входящий файл, используемый\n"
+"вместо \"alias\" файлов, которые теперь отсутствуют.\n"
+"Audacity не может автоматически восстановить эти файлы;\n"
+"вы можете выбрать временно или постоянно заполнить место\n"
+"отсутствующих файлов тишиной, либо закрыть проект и попытаться\n"
+"восстановить отсутствующие файлы вручную."
 
 #: DirManager.cpp:1371
 msgid "Replace missing data with silence [permanent upon save]"
@@ -951,7 +1021,8 @@ msgstr "Немедленно закрыть проект, не внося дал
 
 #: DirManager.cpp:1412
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
 msgstr ""
@@ -966,7 +1037,8 @@ msgstr ""
 
 #: DirManager.cpp:1454
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
@@ -1005,21 +1077,21 @@ msgstr "Rectangular"
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "Программа собрана без поддержки FFmpeg"
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Не удалось запустить FFmpeg"
 
 #: FFmpeg.cpp:112
-#, fuzzy
 msgid "FFmpeg library not found"
 msgstr "Библиотека FFmpeg не найдена"
 
@@ -1030,7 +1102,7 @@ msgstr "Указать FFmpeg"
 #: FFmpeg.cpp:187
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity необходим файл %s для импорта и экспорта при помощи FFmpeg."
 
 #: FFmpeg.cpp:193
 #: export/ExportMP3.cpp:562
@@ -1053,9 +1125,10 @@ msgstr "Обзор..."
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Чтобы получить копию FFmpeg, щелкните тут →"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:215
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Скачать"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
@@ -1068,22 +1141,24 @@ msgstr "Где находится %s?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Не удалось найти совместимые библиотеки FFmpeg"
 
 #: FFmpeg.h:102
 msgid "FFmpeg not found"
 msgstr "Библиотека FFmpeg не найдена"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Больше не показывать это предупреждение"
 
 #: FFmpeg.h:257
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
@@ -1091,12 +1166,11 @@ msgstr "Только avformat.dll|*avformat*.dll|Динамически слин
 
 #: FFmpeg.h:268
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Динамические библиотеки (*.dylib)|*.dylib|Все файлы (*)|*"
 
 #: FFmpeg.h:311
-#, fuzzy
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr "Только avformat.sol|*avformat*.so|Динамически слинкованные библиотеки (*.so)|*.dll|Все файлы (*.*)|*"
+msgstr "Только libavformat.so|libavformat.so*|Динамически слинкованные библиотеки (*.so)|*.so*|Все файлы (*)|*"
 
 #: FreqWindow.cpp:103
 msgid "Frequency Analysis"
@@ -1176,12 +1250,27 @@ msgstr "&Экспортировать..."
 msgid "Export"
 msgstr "Экспорт"
 
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "&Заново"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Построить график заново"
+
 #: FreqWindow.cpp:216
 #: FreqWindow.cpp:217
 #: widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "Закрыть"
 
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr "Сетка"
+
 #: FreqWindow.cpp:280
 #: FreqWindow.cpp:410
 #: effects/AutoDuck.cpp:489
@@ -1210,6 +1299,19 @@ msgstr "Дб"
 msgid "Hz"
 msgstr "Гц"
 
+#: Menus.cpp:3965
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ""
+"Для построения спектрограммы все выбранные дорожки\n"
+"должны иметь одинаковую частоту"
+
+#: Menus.cpp:3991
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr ""
+"Выделен слишком большой звуковой фрагмент.\n"
+"Будут проанализированы только первые %.1f секунд."
+
 #: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "Выбрано недостаточно данных"
@@ -1255,9 +1357,21 @@ msgstr "Частота (Гц)\tУровень (Дб)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Отставание (с)\tЧастота (Гц)\tУровень"
 
-#: HelpText.cpp:85
-msgid "To [[welcome|Welcome screen]]"
-msgstr "К [[welcome|начальной странице]]"
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Не удалось запустить GStreamer"
 
 #: HelpText.cpp:92
 msgid "Welcome!"
@@ -1307,65 +1421,37 @@ msgstr "Запись CD"
 msgid "No Local Help"
 msgstr "Локальная справка отсутствует"
 
-#: HelpText.cpp:148
-msgid "</p><center><h3>Getting Started</h3></center><br>"
-msgstr "</p><center><h3>Вводный курс</h3></center><br>"
+#: HelpText.cpp:176
+msgid "<center><h3>Getting Started</h3></center><br>"
+msgstr ""
 
 #: HelpText.cpp:150
 msgid "Welcome to Audacity "
 msgstr "Добро пожаловать в Audacity"
 
-#: HelpText.cpp:151
-msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr "Изучите как: <ul><li>[[play|воспроизводить]] существующие звуковые файлы <li>[[record|записывать]] голос, грампластинку или кассету <li>[[edit|редактировать]] звуки <li>[[save|сохранять и открывать проекты Audacity]] <li>[[export|экспортировать]] в MP3 или иной звуковой файл или [[burncd|записывать CD]]  </ul></p><p>"
-
-#: HelpText.cpp:159
-msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr "Эту компактную справочную систему всегда можно вызвать через меню <i>«Справка → Вводный курс»</i>. Подробное руководство доступно через меню <i>«Справка → Содержание»</i>. Вы также можете <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">скачать руководство</a> в виде файла PDF.</p>"
-
-#: HelpText.cpp:172
-msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
-msgstr ""
-
-#: HelpText.cpp:194
-msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
+#: HelpText.cpp:178
+msgid "These are our support methods:"
 msgstr ""
 
-#: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#: HelpText.cpp:179
+msgid "   A [[file:quick_help.html|quick guide]] (should be installed locally, <a href=\"http://audacityteam.org/manual/index.php?title=Quick_Help\">internet version if it isn't</a>)"
 msgstr ""
 
-#: HelpText.cpp:244
-msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#: HelpText.cpp:180
+msgid "   Our [[file:index.html|Manual]] (should be installed locally, <a href=\"http://audacityteam.org/manual/index.php\">internet version if it isn't</a>)"
 msgstr ""
 
-#: HelpText.cpp:267
-msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
+#: HelpText.cpp:181
+msgid "   Our [[http://audacityteam.org/wiki/index.php|Wiki]] (on the internet)"
 msgstr ""
 
-#: HelpText.cpp:292
-msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
+#: HelpText.cpp:182
+msgid "   Our <a href=\"http://audacityteam.org/forum/\">Forum</a> (on the internet)"
 msgstr ""
 
-#: HelpText.cpp:311
-msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr ""
-
-#: HelpText.cpp:335
-msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr ""
-
-#: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr ""
-
-#: HelpText.cpp:383
-msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr ""
-
-#: HelpText.cpp:403
-msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr "<p>Справка к бета-версии Audacity пока что не завершена. Сейчас <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">доступен</a> лишь черновик. При желании вы можете пройти по <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">этой ссылке</a>, чтобы скачать версию руководства, сверстанную в одну страницу, чтобы затем просматривать ее в этом окне."
+#: HelpText.cpp:192
+msgid "<p>You do not appear to have 'help' installed on your computer.<br> Please try  <a href=\"*URL*\">to view it online</a>."
+msgstr "<p>Похоже, что справка в вашей системе не установлена.<br> Попробуйте <a href=\"*URL*\">прочитать её в Интернете</a>."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1423,6 +1509,14 @@ msgstr "Мбайт"
 msgid "GB"
 msgstr "Гбайт"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Укажите новое имя файла:"
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Дорожка"
@@ -1444,9 +1538,8 @@ msgid "End Time"
 msgstr "Время завершения"
 
 #: LabelDialog.cpp:100
-#: Menus.cpp:713
-msgid "&Edit Labels"
-msgstr "&Изменить пометки"
+msgid "Edit Labels"
+msgstr ""
 
 #: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
@@ -1469,7 +1562,8 @@ msgid "New..."
 msgstr "Новая..."
 
 #: LabelDialog.cpp:354
-msgid "You have left blank label names.  These will be\n"
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
@@ -1520,10 +1614,9 @@ msgstr "Введите название дорожки"
 
 #: LabelDialog.cpp:705
 #: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:632
-msgid "&Label Track"
-msgstr "Дорожка по&меток"
+#: LabelTrack.cpp:92
+msgid "Label Track"
+msgstr ""
 
 #: LangChoice.cpp:57
 msgid "Audacity First Run"
@@ -1533,41 +1626,53 @@ msgstr "Первый запуск Audacity"
 msgid "Choose Language for Audacity to use:"
 msgstr "Выберите язык интерфейса для Audacity:"
 
+#: LangChoice.cpp:125
+#, c-format
+msgid "The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."
+msgstr ""
+
 #: Legacy.cpp:356
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Проект формата 1.0 преобразован в проект нового формата.\n"
+msgstr ""
+"Проект формата 1.0 преобразован в проект нового формата.\n"
 "Старый файл сохранён под именем '%s'"
 
 #: Legacy.cpp:357
 msgid "Opening Audacity Project"
 msgstr "Открывается проект Audacity"
 
+#: LyricsWindow.cpp:45
+#, c-format
+msgid "Audacity Lyrics%s"
+msgstr "Либретто в Audacity %s"
+
+#: LyricsWindow.cpp:77
+msgid "Bouncing Ball"
+msgstr "Отскакивающий мяч"
+
+#: LyricsWindow.cpp:88
+msgid "Highlight"
+msgstr "Подсветка"
+
 #: Menus.cpp:194
 msgid "&File"
 msgstr "&Файл"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&Создать проект\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "&Открыть...\tCtrl+O"
-
 #: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&Закрыть\tCtrl+W"
+msgid "&Close"
+msgstr "&Закрыть"
 
 #: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&Сохранить проект\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Сохранить проект"
 
 #: Menus.cpp:210
 #: Project.cpp:2899
 msgid "Save Project &As..."
-msgstr "Сохранить проект &как...\tCtrl+Shift+S"
+msgstr "Сохранить проект &как..."
 
 #: Menus.cpp:212
 msgid "Save Compressed Copy of Project..."
@@ -1587,8 +1692,8 @@ msgid "&Import"
 msgstr "&Импортировать "
 
 #: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Звуковой файл...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Звуковой файл..."
 
 #: Menus.cpp:232
 msgid "&Labels..."
@@ -1619,9 +1724,9 @@ msgstr "Экспортировать в &несколько файлов..."
 msgid "Export MIDI..."
 msgstr "Экспортировать MIDI..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr "&Цепочка CleanSpeech..."
+#: Menus.cpp:303
+msgid "Appl&y Chain..."
+msgstr "Применить &цепочку..."
 
 #: Menus.cpp:291
 #: Menus.cpp:305
@@ -1636,10 +1741,6 @@ msgstr "&Экспортировать предустановки CleenSpeach..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Им&портировать предустановки CleanSpeech..."
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr "Применить &цепочку..."
-
 #: Menus.cpp:310
 msgid "&Upload File..."
 msgstr "З&агрузить файл на FTP-сервер..."
@@ -1653,8 +1754,8 @@ msgid "&Print..."
 msgstr "П&ечать..."
 
 #: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "В&ыйти\tCtrl+Q"
+msgid "E&xit"
+msgstr "В&ыход"
 
 #: Menus.cpp:338
 #: toolbars/EditToolBar.cpp:76
@@ -1662,8 +1763,8 @@ msgid "&Edit"
 msgstr "&Правка"
 
 #: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "О&тменить\tCtrl+Z"
+msgid "&Undo"
+msgstr "О&тменить"
 
 #: Menus.cpp:350
 #: prefs/KeyConfigPrefs.cpp:371
@@ -1672,56 +1773,56 @@ msgid "&Redo"
 msgstr "&Повторить"
 
 #: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "Выре&зать\tCtrl+X"
+msgid "Cu&t"
+msgstr "Выре&зать"
 
 #: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Разделить в&ырезанием\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Разделить в&ырезанием"
 
 #: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "С&копировать\tCtrl+C"
+msgid "&Copy"
+msgstr "С&копировать"
 
 #: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "&Вставить\tCtrl+V"
+msgid "&Paste"
+msgstr "&Вставить"
 
 #: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "Об&резать по краям\tCtrl+T"
+msgid "Tri&m"
+msgstr "Об&резать по краям"
 
 #: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&Удалить\tCtrl+K"
+msgid "&Delete"
+msgstr "&Удалить"
 
 #: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Разделить &удалением\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Разделить &удалением"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "Заполнить ти&шиной\tCtrl+L"
+msgid "Silence Audi&o"
+msgstr "Заполнить ти&шиной"
 
 #: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "Раз&делить\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Раз&делить"
 
 #: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Разделить в &новую дорожку\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Разделить в &новую дорожку"
 
 #: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "О&бъединить\tCtrl+J"
+msgid "&Join"
+msgstr "О&бъединить"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "Раз&делить по тишине\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
+msgstr "Раз&делить по тишине"
 
 #: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Про&дублировать\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Про&дублировать"
 
 #: Menus.cpp:400
 #: Menus.cpp:639
@@ -1734,80 +1835,65 @@ msgstr "Поме&ченные области"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "Выре&зать\tAlt+X"
+msgid "&Cut"
+msgstr "Выре&зать"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Разделить в&ырезанием\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "Разделить в&ырезанием"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "С&копировать\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&Удалить\tAlt+K"
+msgid "Co&py"
+msgstr "С&копировать"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Разделить &удалением\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Разделить &удалением"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "&Заполнить тишиной\tAlt+L"
+msgid "Sile&nce"
+msgstr "&Заполнить тишиной"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "&Разделить\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "О&бъединить\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Ра&зделить по тишине\tShift+Alt+J"
+msgid "Spli&t"
+msgstr "&Разделить"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr "&Выделить"
 
 #: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "&Всё\tCtrl+A"
+msgid "&All"
+msgstr "&Всё"
 
 #: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "С&нять выделение\tCtrl+Shift+A"
+msgid "&None"
+msgstr "С&нять выделение"
 
 #: Menus.cpp:462
-msgid "&Left at Playback Position\t["
-msgstr "&Слева от позиции воспроизведения\t["
+msgid "&Left at Playback Position"
+msgstr "&Слева от позиции воспроизведения"
 
 #: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
-msgstr "С&права от точки воспроизведения\t]"
+msgid "&Right at Playback Position"
+msgstr "С&права от точки воспроизведения"
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "&От начала дорожки до курсора\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "&От начала дорожки до курсора"
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr "От &курсора до конца дорожки\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "От &курсора до конца дорожки"
 
 #: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "Найти бли&жайшие нулевые точки\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Найти бли&жайшие нулевые точки"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1822,12 +1908,12 @@ msgid "to Selection En&d"
 msgstr "к &концу выделения"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "к началу &дорожки\tJ"
+msgid "to Track &Start"
+msgstr "к началу &дорожки"
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "к &концу дорожки\tK"
+msgid "to Track &End"
+msgstr "к &концу дорожки"
 
 #: Menus.cpp:491
 msgid "Re&gion Save"
@@ -1849,66 +1935,45 @@ msgstr "&Запереть"
 msgid "&Unlock"
 msgstr "&Отпереть"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "Включить привязку"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "Выключить привязку"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "Включить привязку по сетке"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "Выключить привязку по сетке"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "&Параметры\tCtrl+,"
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "&Параметры\tCtrl+P"
+msgid "Pre&ferences..."
+msgstr "&Параметры"
 
 #: Menus.cpp:533
 msgid "&View"
 msgstr "&Вид"
 
 #: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "При&близить\tCtrl+1"
+msgid "Zoom &In"
+msgstr "При&близить"
 
 #: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Обы&чный масштаб\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Обы&чный масштаб"
 
 #: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "От&далить\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "От&далить"
 
 #: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Уместить в окне\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Уместить в окне"
 
 #: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Уместить по &вертикали\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Уместить по &вертикали"
 
 #: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Масштабировать в &выделение\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "Масштабировать в &выделение"
 
 #: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Свернуть все дорожки\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Свернуть все дорожки"
 
 #: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Развернуть все дорожки\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "&Развернуть все дорожки"
 
 #: Menus.cpp:551
 msgid "&Show Clipping"
@@ -1918,6 +1983,10 @@ msgstr "&Показывать перегрузку"
 msgid "&History..."
 msgstr "&История изменений в проекте..."
 
+#: Menus.cpp:530
+msgid "&Lyrics..."
+msgstr "&Либретто..."
+
 #: Menus.cpp:566
 msgid "&Toolbars"
 msgstr "&Панели"
@@ -1968,43 +2037,43 @@ msgstr "Упрощенный интерфейс"
 msgid "T&ransport"
 msgstr "&Управление"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "Воспроизвести"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgid "&Loop Play"
+msgstr "Воспроизвести в &цикле"
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "&Приостановить\tP"
+msgid "&Pause"
+msgstr "&Пауза"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+#: Menus.cpp:602
+msgid "&Stop"
+msgstr "&Стоп"
 
 #: Menus.cpp:595
 #: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "Перейти к началу дорожки\tHome"
+msgid "Skip to Start"
+msgstr "Перейти к началу дорожки"
 
 #: Menus.cpp:597
 #: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "Перейти к концу дорожки\tEnd"
+msgid "Skip to End"
+msgstr "Перейти к концу дорожки"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "&Записать\tR"
+msgid "&Record"
+msgstr "&Записать"
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr "&Таймер записи...\tShift+T"
+msgid "&Timer Record..."
+msgstr "&Таймер записи..."
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr "Записать в конец\tShift+R"
+msgid "Append Record"
+msgstr "Записать в конец"
 
 #: Menus.cpp:607
 msgid "Overdub (on/off)"
@@ -2031,13 +2100,20 @@ msgid "Add &New"
 msgstr "&Создать"
 
 #: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Монофоническая дорожка\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Монофоническая дорожка"
 
 #: Menus.cpp:631
 msgid "&Stereo Track"
 msgstr "&Стереофоническая дорожка"
 
+#: LabelDialog.cpp:705
+#: LabelDialog.h:52
+#: LabelTrack.cpp:89
+#: Menus.cpp:632
+msgid "&Label Track"
+msgstr "Дорожка по&меток"
+
 #: Menus.cpp:633
 #: TimeTrack.cpp:44
 msgid "&Time Track"
@@ -2045,11 +2121,11 @@ msgstr "Дорожка &времени"
 
 #: Menus.cpp:643
 msgid "Mi&x and Render"
-msgstr "&Свести в одну дорожку"
+msgstr "&Свести в последнюю дорожку"
 
 #: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Свести в новую дорожку\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Свести в новую дорожку"
 
 #: Menus.cpp:651
 msgid "&Resample..."
@@ -2060,12 +2136,12 @@ msgid "Remo&ve Tracks"
 msgstr "&Удалить дорожки"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Приглушить все дорожки\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "&Приглушить все дорожки"
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Вернуть громкость всем дорожкам\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "&Вернуть громкость всем дорожкам"
 
 #: Menus.cpp:672
 msgid "Align with &Zero"
@@ -2111,17 +2187,22 @@ msgstr "Выровнять и переместить &курсор"
 msgid "Synchronize MIDI with Audio"
 msgstr "Синхронизировать MIDI со звуком"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr "Связывать звуковые и пометочные дорожки"
+#: Menus.cpp:713
+msgid "&Link Audio and Label Tracks"
+msgstr "Связывать &звуковые и пометочные дорожки"
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "До&бавить пометку к выделению\tCtrl+B"
+#: Menus.cpp:716
+msgid "Add Label At &Selection"
+msgstr "До&бавить пометку к выделению"
 
 #: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Доб&авить пометку в точку воспроизведения\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Доб&авить пометку в точку воспроизведения"
+
+#: LabelDialog.cpp:100
+#: Menus.cpp:713
+msgid "&Edit Labels"
+msgstr "&Изменить пометки"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2149,14 +2230,14 @@ msgstr "Без сортировки"
 msgid "Effe&ct"
 msgstr "Эффек&ты"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Повторить последний эффект\tCtrl+R"
-
 #: Menus.cpp:877
 msgid "&Analyze"
 msgstr "&Анализ"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr "Контраст..."
+
 #: Menus.cpp:879
 msgid "Plot Spectrum..."
 msgstr "Построить график спектра..."
@@ -2170,13 +2251,13 @@ msgstr "&Справка"
 msgid "&About Audacity CleanSpeech..."
 msgstr "&Об Audacity CleanSpeech..."
 
-#: Menus.cpp:957
-msgid "&Show Welcome Message..."
-msgstr "&Вводный курс..."
+#: Menus.cpp:965
+msgid "&Quick Help (in web browser)"
+msgstr "&Вводный курс (в браузере)"
 
-#: Menus.cpp:958
-msgid "&Index..."
-msgstr "&Содержание..."
+#: Menus.cpp:966
+msgid "&Manual (in web browser)"
+msgstr "&Руководство пользователя (в браузере)"
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2195,180 +2276,148 @@ msgid "&Audio Device Info..."
 msgstr "&Информация о звуковом устройстве..."
 
 #: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "Выделение\tF1"
+msgid "Selection Tool"
+msgstr "Выделение"
 
 #: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "Изменение огибающей\tF2"
+msgid "Envelope Tool"
+msgstr "Изменение огибающей"
 
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "Изменение огибающей\tF3"
+msgid "Draw Tool"
+msgstr "Изменение огибающей"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "Масштабирование\tF4"
+msgid "Zoom Tool"
+msgstr "Масштабирование"
 
 #: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "Перемещение\tF5"
+msgid "Time Shift Tool"
+msgstr "Перемещение"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "Универсальный инструмент\tF6"
+msgid "Multi Tool"
+msgstr "Универсальный инструмент"
 
 #: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "Следующий инструмент\tD"
+msgid "Next Tool"
+msgstr "Следующий инструмент"
 
 #: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "Предыдущий инструмент\tA"
+msgid "Previous Tool"
+msgstr "Предыдущий инструмент"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "Остановить\tS"
-
-#: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "Приостановить\tP"
-
-#: Menus.cpp:998
-msgid "Record\tR"
-msgstr "Записать\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr "Записать в конец дорожки\tShift+R"
-
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Воспроисти/Остановить и установить курсор\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Воспроисти/Остановить и установить курсор"
 
 #: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "Воспроизвести 1 с\t1"
+msgid "Play One Second"
+msgstr "Воспроизвести 1 с"
 
 #: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "Воспроизвести выделение\tB"
-
-#: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "Воспроизводить в цикле\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Воспроизвести выделение"
 
 #: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "Проиграть результат вырезания\tC"
+msgid "Play Cut Preview"
+msgstr "Проиграть результат вырезания"
 
 #: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "Выделить до начала дорожки\tShift+Home"
+msgid "Selection to Start"
+msgstr "Выделить до начала дорожки"
 
 #: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "Выделить от курсора до конца\tShift+End"
+msgid "Selection to End"
+msgstr "Выделить от курсора до конца"
 
 #: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "Клавиша удаления\tBackspace"
+msgid "DeleteKey"
+msgstr "Клавиша удаления"
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "Вторая клавиша удаления\tDelete"
+msgid "DeleteKey2"
+msgstr "Вторая клавиша удаления"
 
-#: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1019
+msgid "Short seek left during playback"
 msgstr ""
 
-#: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
 msgstr ""
 
-#: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1021
+msgid "Long seek left during playback"
 msgstr ""
 
-#: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
 msgstr ""
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Перейти на дорожку вверх\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Перейти на дорожку вверх"
 
-#: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Перейти на дорожку вверх и сменить выделение\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "Перейти на дорожку вниз\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Перейти на дорожку вниз"
 
-#: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Перейти на дорожку вниз и сменить выделение\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "Переключить фокус дорожки\tReturn"
-
-#: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Переключить фокус дорожки\tNUMPAD_ENTER"
+msgid "Toggle Focused Track"
+msgstr "Переключить фокус дорожки"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+#: Menus.cpp:1033
+msgid "Cursor Left"
 msgstr ""
 
-#: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "Курсор влево\tLeft"
-
-#: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "Курсор вправо\tRight"
+#: Menus.cpp:1034
+msgid "Cursor Right"
+msgstr ""
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
-#: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Растянуть выделение слева\tShift+Left"
+#: Menus.cpp:1040
+msgid "Selection Extend Left"
+msgstr ""
 
-#: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Растянуть выделение справа\tShift+Right"
+#: Menus.cpp:1041
+msgid "Selection Extend Right"
+msgstr ""
 
 #: Menus.cpp:1052
 msgid "Set (or Extend) Left Selection"
@@ -2379,52 +2428,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Стянуть выделение слева\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Стянуть выделение слева"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Стянуть выделение справа\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Стянуть выделение справа"
 
 #: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
-msgstr "Изменить панораму активной дорожки\tShift+G"
+msgid "Change pan on focused track"
+msgstr "Изменить панораму активной дорожки"
 
 #: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Панорамирование влево для активной дорожки\tCtrl+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Панорамирование влево для активной дорожки"
 
 #: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Панорамирование влево для активной дорожки\tCtrl+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Панорамирование влево для активной дорожки"
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
-msgstr "Изменить усиление активной дорожки\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Изменить усиление активной дорожки"
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Увеличить усиление активной дорожки\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Увеличить усиление активной дорожки"
 
 #: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Уменьшить усиление активной дорожки\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Уменьшить усиление активной дорожки"
 
 #: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "Открыть меню активной дорожки\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Открыть меню активной дорожки"
 
 #: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Приглушить/вернуть звук дорожке в фокусе\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Приглушить/вернуть звук дорожке в фокусе"
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Включить или отключить соло для активной дорожки\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Включить или отключить соло для активной дорожки"
 
 #: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "Закрыть активную дорожку\tShift+C"
+msgid "Close focused track"
+msgstr "Закрыть активную дорожку"
 
 #: Menus.cpp:1069
 msgid "Snap To On"
@@ -2435,7 +2484,51 @@ msgid "Snap To Off"
 msgstr "Отключить прилипание"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr "Полноэкранный режим"
+
+#: Menus.cpp:1066
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1073
+msgid "Adjust input source"
+msgstr ""
+
+#: Menus.cpp:1086
+msgid "Play at speed"
+msgstr ""
+
+#: Menus.cpp:1087
+msgid "Adjust playback speed"
+msgstr ""
+
+#: Menus.cpp:1088
+msgid "Increase playback speed"
+msgstr ""
+
+#: Menus.cpp:1089
+msgid "Decrease playback speed"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2482,13 +2575,18 @@ msgstr "По названию"
 msgid "Tracks sorted by name"
 msgstr "Дорожки выстроены по имени"
 
-#: Menus.cpp:2029
-msgid "Set Left Selection Bound"
-msgstr "Указать левый край выделения"
+#: Menus.cpp:2058
+#: Menus.cpp:2094
+msgid "Position"
+msgstr "Положение"
 
-#: Menus.cpp:2064
-msgid "Set Right Selection Bound"
-msgstr "Указать правый край выделения"
+#: Menus.cpp:2058
+msgid "Set Left Selection Boundary"
+msgstr ""
+
+#: Menus.cpp:2094
+msgid "Set Right Selection Boundary"
+msgstr ""
 
 #: Menus.cpp:2333
 msgid "You must select a track first."
@@ -2496,8 +2594,8 @@ msgstr "Предварительно выделите дорожку."
 
 #: Menus.cpp:2365
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Повторить %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Повторить %s"
 
 #: Menus.cpp:2508
 msgid "There are no label tracks to export."
@@ -2512,7 +2610,8 @@ msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "Файлы MIDI (*.mid)|*.mid|Файлы Allegro (*.gro)|*.gro"
 
 #: Menus.cpp:2639
-msgid "You have selected a filename with an unrecognized file extension.\n"
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
 
@@ -2714,17 +2813,6 @@ msgstr "Разделить в новую дорожку"
 msgid "Split at labels"
 msgstr "Разделить по пометкам"
 
-#: Menus.cpp:3965
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Для построения спектрограммы все выбранные дорожки\n"
-"должны иметь одинаковую частоту"
-
-#: Menus.cpp:3991
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Выделен слишком большой звуковой фрагмент.\n"
-"Будут проанализированы только первые %.1f секунд."
-
 #: Menus.cpp:4126
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2775,7 +2863,7 @@ msgstr "Правка метаданных"
 #: Menus.cpp:4258
 #, c-format
 msgid "Rendered all audio in track '%s'"
-msgstr ""
+msgstr "Все дорожки сведены в '%s'"
 
 #: Menus.cpp:4259
 msgid "Render"
@@ -2791,10 +2879,10 @@ msgstr ""
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr ""
 
-#: Menus.cpp:4269
-#: Mix.cpp:121
-msgid "&Mix and Render"
-msgstr "С&вести"
+#: Menus.cpp:4457
+#: Mix.cpp:120
+msgid "Mix and Render"
+msgstr "Сведение"
 
 #: Menus.cpp:4399
 msgid "Aligned with zero"
@@ -2861,7 +2949,8 @@ msgstr "Создан новая дорожка для пометок"
 
 #: Menus.cpp:4607
 msgid "The version of Audacity you are using does not support multiple time tracks."
-msgstr "Загруженная версия Audacity не может использовать\n"
+msgstr ""
+"Загруженная версия Audacity не может использовать\n"
 "несколько дорожек времени в одном проекте."
 
 #: Menus.cpp:4618
@@ -2957,6 +3046,10 @@ msgstr "При печати возникла проблема."
 msgid "Print"
 msgstr "Напечатать"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr "Повторить последний эффект"
+
 #: Project.cpp:676
 msgid "Main Mix"
 msgstr ""
@@ -2986,13 +3079,15 @@ msgid "Save changes before closing?"
 msgstr "Сохранить изменения перед закрытием?"
 
 #: Project.cpp:1570
-msgid "\n"
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr "\n"
+msgstr ""
+"\n"
 "Если сохранить, в проекте не будет\n"
 "ни одной дорожки.\n"
 "\n"
@@ -3006,9 +3101,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Сохранить изменения?"
 
-#: Project.cpp:1775
-msgid "All files|*.*|All supported files|"
-msgstr "Все файлы|*.*|Все поддерживаемые файлы|"
+#: Project.cpp:1949
+msgid "All files|*|All supported files|"
+msgstr "Все файлы|*|Все поддерживаемые файлы|"
 
 #: Project.cpp:1805
 msgid "Select one or more audio files..."
@@ -3021,14 +3116,16 @@ msgstr "Проекты Audacity|*.aup|"
 #: Project.cpp:1885
 #: Project.cpp:2307
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr "Этот файл был сохранен в Audacity %s — достаточно\n"
+msgstr ""
+"Этот файл был сохранен в Audacity %s — достаточно\n"
 "старой версии программы. С тех пор формат файлов изменился.\n"
 "\n"
 "Audacity может нечаянно испортить данные при открытии,\n"
@@ -3045,6 +3142,18 @@ msgstr "1.0 или ранее"
 msgid "Opening old project file"
 msgstr "Открывается файл старого формата проектов"
 
+#: Project.cpp:2097
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2098
+msgid "Backup file detected"
+msgstr "Найден файл резервной копии"
+
 #: Project.cpp:1918
 #: Project.cpp:1926
 msgid "Error opening file"
@@ -3052,9 +3161,11 @@ msgstr "Ошибка при чтении файла"
 
 #: Project.cpp:1932
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "Файл может быть неподдерживаемого формата или испорчен: \n"
+msgstr ""
+"Файл может быть неподдерживаемого формата или испорчен: \n"
 "%s"
 
 #: Project.cpp:1933
@@ -3093,10 +3204,12 @@ msgstr "Не удалось найти папку с данными проект
 
 #: Project.cpp:2276
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "Этот файл был сохранён в Audacity %s.\n"
+msgstr ""
+"Этот файл был сохранён в Audacity %s.\n"
 "Сейчас вы используете Audacity %s — вам нужно \n"
 "установить более новую версию, чтобы открыть этот файл."
 
@@ -3104,16 +3217,20 @@ msgstr "Этот файл был сохранён в Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Невозможно открыть файл проекта"
 
-#: Project.cpp:2314
+#: Project.cpp:2508
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2505
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3123,15 +3240,17 @@ msgid "Your project is now empty.\n"
 "Save anyway?"
 msgstr ""
 
-#: Project.cpp:2538
+#: Project.cpp:2506
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2816
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
-msgstr "Не удалось сохранить проект. Возможно, у вас нет прав\n"
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
+msgstr ""
+"Не удалось сохранить проект. Возможно, у вас нет прав\n"
 "на запись в %s, либо диск переполнен."
 
 #: Project.cpp:2593
@@ -3139,6 +3258,14 @@ msgstr "Не удалось сохранить проект. Возможно, 
 msgid "Error saving project"
 msgstr "Ошибка при сохранении проекта"
 
+#: Project.cpp:2842
+#: Project.cpp:3943
+#: Tags.cpp:1198
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2683
 #, c-format
 msgid "Saved %s"
@@ -3169,14 +3296,16 @@ msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Файлы Windows PCM Audio (*.wav)|*.wav"
 
 #: Project.cpp:2894
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
 "Most other programs can't open Audacity project files.\n"
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
-msgstr "Сжатые проектные файлы Audacity (.aup) сохраняют вашу работу в небольших\n"
+msgstr ""
+"Сжатые проектные файлы Audacity (.aup) сохраняют вашу работу в небольших\n"
 "файлах формата Ogg Vorbis (.ogg) с некоторой потерей в качестве звучания.\n"
 "Такой вариант хорошо подходит для передачи ваших проектов по сети.\n"
 "Открытие сжатого проекта занимает больше времени чем обычно, поскольку\n"
@@ -3187,18 +3316,24 @@ msgstr "Сжатые проектные файлы Audacity (.aup) сохран
 "подходящий формат, воспользовавшись командой »Файл → Экспортировать»."
 
 #: Project.cpp:2897
-msgid "You are saving an Audacity project file (.aup).\n"
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr "Вы сохраняете файл проекта Audacity (.aup).\n"
+msgstr ""
+"Вы сохраняете файл проекта Audacity (.aup).\n"
 "\n"
 "Полученный файл сможет открыть только Audacity\n"
 "\n"
 "Чтобы сохранить файл в формате, читаемом извне, \n"
 "используйте диалог экспорта («Файл → Экспортировать»).\n"
 
+#: Project.cpp:3191
+msgid "Save Project As..."
+msgstr "Сохранить проект как..."
+
 #: Project.cpp:2901
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Проекты Audacity (*.aup)|*.aup"
@@ -3245,12 +3380,12 @@ msgstr "Свободное пространство на диске законч
 #: Project.cpp:3336
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Импорт завершен. Выполняется расчет волновой формы (в количестве %d) на лету. Общая готовность: %2.0f%%."
 
 #: Project.cpp:3339
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Импорт завершен. Выполняется расчет волновой формы на лету. Готовность: %2.0f%%."
 
 #: Project.cpp:3617
 msgid "Could not remove old autosave file: "
@@ -3314,13 +3449,174 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
-#: Screenshot.cpp:384
-msgid "Saved "
-msgstr ""
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Захват снимков экрана"
 
-#: Screenshot.cpp:387
-msgid "Error trying to save file: "
-msgstr "Ошибка при попытке сохранить файл: "
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Выберите папку для хранения снимков"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Сохранять снимки в:"
+
+#: export/ExportMultiple.cpp:245
+#: prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Выбрать..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Захват окна или экрана целиком"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Уменьшить окно"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Увеличить окно"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Синий фон"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Белый фон"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Снять окно без декораций"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Снять окно полностью"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Снять окно и вокруг"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Снять весь экран"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Подождать 5 секунд и снять верхнее окно или диалог"
+
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr "да"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Снять часть окна с проектом"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Все панели инструментов"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "Панель выделения"
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Инструменты"
+
+#: toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr "Управление"
+
+#: effects/LoadEffects.cpp:117
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Микшеры"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Индикатор"
+
+#: Screenshot.cpp:390
+msgid "Edit"
+msgstr "Редактирование"
+
+#: prefs/AudioIOPrefs.cpp:121
+#: prefs/AudioIOPrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:118
+#: prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Устройство"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Транскрипция"
+
+#: TrackPanel.cpp:457
+#: TrackPanel.cpp:458
+msgid "Track Panel"
+msgstr "Панель дорожки"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Линейка"
+
+#: export/ExportMultiple.cpp:288
+#: export/ExportMultiple.cpp:290
+msgid "Tracks"
+msgstr "Дорожки"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Первая дорожка"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Вторая дорожка"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Видимая в окне длительность"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "1 с"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "10 с"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "1 мин"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "5 мин"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "1 ч"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Низкие дорожки"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Средние дорожки"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Высокие дорожки"
+
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Выберите папку для хранения снимков экрана"
 
 #: Sequence.cpp:804
 #: Sequence.cpp:814
@@ -3347,8 +3643,8 @@ msgid "Activation level (dB):"
 msgstr "Уровень громкости для активации (Дб):"
 
 #: SplashDialog.cpp:60
-msgid "&Welcome to Audacity!"
-msgstr "&Добро пожаловать в Audacity!"
+msgid "Welcome to Audacity!"
+msgstr "Добро пожаловать в Audacity!"
 
 #: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
@@ -3387,20 +3683,18 @@ msgstr "Комментарии"
 
 #: Tags.cpp:777
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Используйте для перемещения по полям клавиши-стрелки и ввод для завершения правки"
 
-#: Tags.cpp:813
-msgid "Tag Name"
+#: Tags.cpp:812
+msgid "Tag"
 msgstr "Поле"
 
-#: Tags.cpp:814
-msgid "Tag Value"
+#: Tags.cpp:813
+msgid "Value"
 msgstr "Значение"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
-msgid "&Clear"
+#: Tags.cpp:828
+msgid "Cl&ear"
 msgstr "О&чистить"
 
 #: Tags.cpp:835
@@ -3409,11 +3703,11 @@ msgstr "Жанры"
 
 #: Tags.cpp:826
 msgid "E&dit..."
-msgstr ""
+msgstr "&Изменить"
 
 #: Tags.cpp:827
 msgid "Rese&t..."
-msgstr ""
+msgstr "&Сбросить"
 
 #: Tags.cpp:845
 #: Tags.cpp:1470
@@ -3435,11 +3729,9 @@ msgstr "З&агрузить..."
 msgid "&Save..."
 msgstr "&Сохранить..."
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
-msgid "S&et Default"
-msgstr "&Использовать всюду"
+#: Tags.cpp:851
+msgid "Set De&fault"
+msgstr "Использовать &везде"
 
 #: Tags.cpp:1002
 #: Tags.cpp:1640
@@ -3485,7 +3777,7 @@ msgstr "Невозможно открыть файл с жанрами."
 
 #: Tags.cpp:1084
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Загрузить метаданные как:"
 
 #: Tags.cpp:1122
 #: Tags.cpp:1772
@@ -3502,84 +3794,108 @@ msgstr "Ошибка при загрузке метаданных"
 msgid "Save Metadata As:"
 msgstr "Сохранить метаданные как:"
 
+#: Tags.cpp:1200
+msgid "Error saving tags file"
+msgstr "Ошибка при сохранении файла с метаданными"
+
 #: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
-msgstr "Audacity не удалось записать файл:\n"
+msgstr ""
+"Audacity не удалось записать файл:\n"
 "  %s."
 
 #: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr "Audacity не удалось открыть файл:\n"
+msgstr ""
+"Audacity не удалось открыть файл:\n"
 "  %s\n"
 "на запись."
 
 #: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
-msgstr "Audacity не удалось записать изображения в файл:\n"
+msgstr ""
+"Audacity не удалось записать изображения в файл:\n"
 "  %s."
 
 #: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr "Audacity не удалось найти файл:\n"
+msgstr ""
+"Audacity не удалось найти файл:\n"
 "  %s.\n"
 "Тема не загружена."
 
 #: Theme.cpp:807
 #: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr "Audacity не удалось найти файл:\n"
+msgstr ""
+"Audacity не удалось найти файл:\n"
 "  %s.\n"
 "Может быть, неправильный формат PNG?"
 
 #: Theme.cpp:823
-msgid "Audacity could not read its default theme.\n"
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr "Audacity не смог прочитать свою исходную тему.\n"
+msgstr ""
+"Audacity не смог прочитать свою исходную тему.\n"
 "Сообщите разработчикам  о возникшей проблеме."
 
 #: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr "Ни один из ожидаемых компонентов темы\n"
+msgstr ""
+"Ни один из ожидаемых компонентов темы\n"
 "не был найден в:\n"
 "  %s."
 
 #: Theme.cpp:942
 #: effects/NoiseRemoval.cpp:173
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
-msgstr "Не удалось создать каталог:\n"
+msgstr ""
+"Не удалось создать каталог:\n"
 "  %s"
 
 #: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
-msgstr "Audacity не удалось сохранить файл:\n"
+msgstr ""
+"Audacity не удалось сохранить файл:\n"
 "  %s"
 
 #: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr "Все требуемые файлы:\n"
+msgstr ""
+"Все требуемые файлы:\n"
 "  %s\n"
 "уже присутствуют."
 
@@ -3593,10 +3909,22 @@ msgstr "Все требуемые файлы:\n"
 msgid "Duration"
 msgstr "Длительность"
 
+#: TimeTrack.cpp:44
+msgid "Time Track"
+msgstr ""
+
 #: TimerRecordDialog.cpp:68
 msgid "Audacity Timer Record"
 msgstr "Таймер записи Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "Длительность равна нулю. Ничего не будет записано."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Ошибка длительности"
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr "Начало записи"
@@ -3636,11 +3964,6 @@ msgstr "Ожидание начала записи %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "Панель дорожки"
-
 #: TrackPanel.cpp:541
 #: prefs/QualityPrefs.cpp:97
 msgid "Other..."
@@ -3715,6 +4038,10 @@ msgstr "Сделать стереофонической"
 msgid "Split Stereo Track"
 msgstr "Разделить стереодорожку"
 
+#: TrackPanel.cpp:617
+msgid "Split Stereo to Mono"
+msgstr "Разделить стерео на моно"
+
 #: TrackPanel.cpp:566
 msgid "Set Sample Format"
 msgstr "Разрядность"
@@ -3924,6 +4251,10 @@ msgstr "Объединить"
 msgid "Merged Clips"
 msgstr ""
 
+#: TrackPanel.cpp:4286
+msgid "Remove"
+msgstr ""
+
 #: TrackPanel.cpp:4176
 msgid "Removed Cut Line"
 msgstr "Удалена линия вырезания"
@@ -3936,14 +4267,6 @@ msgstr "Панорамирование скорректировано"
 msgid "Adjusted gain"
 msgstr "Усиление скорректированно"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5923
 msgid "Can't delete track with active audio"
 msgstr "Невозможно удалить дорожку с активным звуком"
@@ -3979,6 +4302,11 @@ msgstr "Канал"
 msgid "Split stereo track '%s'"
 msgstr "Разделить стереодорожку '%s'"
 
+#: TrackPanel.cpp:6241
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6169
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -4059,6 +4387,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6931
+msgid "Stereo, 999999Hz"
+msgstr "Стерео, 999999 Гц"
+
 #: TrackPanel.cpp:7171
 msgid "Mute"
 msgstr "Тихо"
@@ -4097,7 +4429,8 @@ msgstr ""
 #: VoiceKey.cpp:376
 #: VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
-msgstr "Выделение слишком мало для \n"
+msgstr ""
+"Выделение слишком мало для \n"
 "использования голосового ключа."
 
 #: VoiceKey.cpp:843
@@ -4144,20 +4477,26 @@ msgstr "Расширения 1 до %i"
 msgid "Plugins %i to %i"
 msgstr "Расширения от %i до %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:881
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:892
-msgid "You can only do this when playing and recording are\n"
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr "Вы можете сделать это только при отключенном\n"
+msgstr ""
+"Вы можете сделать это только при отключенном\n"
 "воспроизведении/записи. Пауза не поможет."
 
 #: commands/CommandManager.cpp:894
-msgid "You must first select some stereo audio for this\n"
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr "Сначала нужно выбрать стереодорожку\n"
+msgstr ""
+"Сначала нужно выбрать стереодорожку\n"
 "(с монофонической это не сработает)"
 
 #: commands/CommandManager.cpp:896
@@ -4165,9 +4504,11 @@ msgid "You must first select some audio for this to use."
 msgstr "Сначала придётся выделить область звука."
 
 #: commands/CommandManager.cpp:898
-msgid "You must first select some audio for this\n"
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr "Сначала придётся выделить область звука.\n"
+msgstr ""
+"Сначала придётся выделить область звука.\n"
 "Выделение дорожки иного типа не годится."
 
 #: commands/CommandManager.cpp:903
@@ -4183,6 +4524,14 @@ msgstr "Загружено %d горячих клавиш\n"
 msgid "Loading keyboard shortcuts"
 msgstr "Загружаются горячие клавиши..."
 
+#: Screenshot.cpp:384
+msgid "Saved "
+msgstr "Сохранён файл "
+
+#: Screenshot.cpp:387
+msgid "Error trying to save file: "
+msgstr "Ошибка при попытке сохранить файл: "
+
 #: effects/Amplify.cpp:52
 #, c-format
 msgid "Applied effect: %s %.1f dB"
@@ -4204,7 +4553,7 @@ msgstr "Усиление (Дб):"
 
 #: effects/Amplify.cpp:183
 msgid "Amplification dB"
-msgstr ""
+msgstr "Усиление, Дб"
 
 #: effects/Amplify.cpp:190
 msgid "New Peak Amplitude (dB):"
@@ -4212,7 +4561,7 @@ msgstr "Новая пиковая амплитуда (Дб):"
 
 #: effects/Amplify.cpp:200
 msgid "Allow clipping"
-msgstr "Разрешить срезание сигнала"
+msgstr "Разрешить перегрузку сигнала"
 
 #: effects/Amplify.cpp:222
 #: effects/Amplify.cpp:279
@@ -4226,7 +4575,7 @@ msgstr "Усиление сигнала..."
 
 #: effects/Amplify.h:51
 msgid "Amplifying"
-msgstr "Производится усиление сигнала"
+msgstr "Выполняется усиление сигнала"
 
 #: effects/AutoDuck.cpp:125
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
@@ -4342,7 +4691,7 @@ msgstr "Частота (Гц):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Частота в герцах"
 
 #: effects/BassBoost.cpp:208
 msgid "Boost (dB):"
@@ -4350,7 +4699,7 @@ msgstr "Повышение (Дб):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Усиление в децибелах"
 
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
@@ -4589,7 +4938,7 @@ msgstr "Удаление щелчков и треска..."
 
 #: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
-msgstr "Производится удаление щелчков и треска..."
+msgstr "Выполняется удаление щелчков и треска..."
 
 #: effects/Compressor.cpp:461
 msgid "Dynamic Range Compressor"
@@ -4623,9 +4972,9 @@ msgstr "Время первичного затухания:"
 msgid "Decay Time"
 msgstr "Время первичного затухания"
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Нормализовать амплитуду до 0 Дб после компрессии"
+#: effects/Compressor.cpp:533
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Подогнать усиление под 0 Дб после компрессии"
 
 #: effects/Compressor.cpp:563
 #, c-format
@@ -4681,49 +5030,38 @@ msgstr "Компрессор..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Применяется компрессия динамического диапазона..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Анализ контраста"
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Оценка переднего плана для измерителя контраста"
 
 #: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"Участок записи с передним планом (голосом) выделен.\n"
+"Теперь выделите задний план (музыку) и снова нажмите\n"
+"Ctrl+Shift+T."
 
 #: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
 
 #: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:187
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:275
-#: effects/Contrast.cpp:296
-#: effects/Contrast.cpp:374
-#: effects/Contrast.cpp:417
-#, fuzzy
-msgid "Measured"
-msgstr "Возможности"
-
 #: effects/Contrast.cpp:319
 msgid "Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:323
-#, fuzzy
-msgid "Parameters"
-msgstr "&Параметры"
+msgstr "Анализатор контраста:"
 
 #: effects/Contrast.cpp:330
 #: effects/ToneGen.cpp:355
@@ -4741,50 +5079,52 @@ msgid "End"
 msgstr "Конец"
 
 #: effects/Contrast.cpp:334
-#, fuzzy
 msgid "Volume    "
-msgstr "Микс"
+msgstr "Громкость"
 
 #: effects/Contrast.cpp:337
 msgid "Foreground:"
-msgstr ""
+msgstr "Передний план:"
 
 #: effects/Contrast.cpp:350
 msgid "Foreground start time"
-msgstr ""
+msgstr "Время начала фрагмента заднего плана"
 
 #: effects/Contrast.cpp:368
 msgid "Foreground end time"
-msgstr ""
+msgstr "Время завершения фрагмента заднего плана"
+
+#: effects/Contrast.cpp:275
+#: effects/Contrast.cpp:296
+#: effects/Contrast.cpp:374
+#: effects/Contrast.cpp:417
+msgid "Measured"
+msgstr "Измерено"
 
 #: effects/Contrast.cpp:376
 #: effects/Contrast.cpp:419
-#, fuzzy
 msgid "Use selection"
-msgstr "Заполнить тишиной"
+msgstr "Использовать выделение"
 
 #: effects/Contrast.cpp:380
-#, fuzzy
 msgid "Background:"
-msgstr "Назад"
+msgstr "Задний план:"
 
 #: effects/Contrast.cpp:393
 msgid "Background start time"
-msgstr ""
+msgstr "Время начала фрагмента переднего плана"
 
 #: effects/Contrast.cpp:411
 msgid "Background end time"
-msgstr ""
+msgstr "Время завершения фрагмента переднего плана"
 
 #: effects/Contrast.cpp:435
-#, fuzzy
 msgid "Result"
-msgstr "Сбросить"
+msgstr "Результат"
 
 #: effects/Contrast.cpp:439
-#, fuzzy
 msgid "Contrast Result:"
-msgstr "Результаты калибровки"
+msgstr "Результат:"
 
 #: Tags.cpp:840
 #: Tags.cpp:1990
@@ -4794,32 +5134,23 @@ msgstr "Сбросить"
 
 #: effects/Contrast.cpp:442
 msgid "Difference:"
-msgstr ""
+msgstr "Разница:"
 
 #: effects/Contrast.cpp:451
-#, fuzzy
 msgid "Information"
-msgstr "Информация о сборке"
+msgstr "Информация"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:446
 msgid "For measuring rms volume differences between two selections of audio."
 msgstr ""
 
 #: effects/Contrast.cpp:448
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "Справка по анализатору контраста звука WCAG2"
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
+#: effects/Contrast.cpp:401
+msgid "Close (keeping times)"
+msgstr "Закрыть (сохранив тайминг)"
 
 #: effects/Contrast.cpp:463
 #: effects/Contrast.cpp:469
@@ -4831,94 +5162,96 @@ msgstr "Возможности"
 
 #: effects/Contrast.cpp:266
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Нет измеряемого переднего плана"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:506
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Измеренный уровень переднего плана"
 
 #: effects/Contrast.cpp:272
 #: effects/Contrast.cpp:293
-#, fuzzy, c-format
+#, c-format
 msgid "%.1f dB"
-msgstr "%.1f с"
+msgstr "%.1f Дб"
 
 #: effects/Contrast.cpp:287
 msgid "No background to measure"
-msgstr ""
+msgstr "Нет измеряемого заднего плана"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:516
 msgid "Measured background level"
-msgstr ""
+msgstr "Измеренный уровень заднего плана"
 
 #: effects/Contrast.cpp:510
 #: effects/Contrast.cpp:511
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "Тест WCAG2 пройден"
 
 #: effects/Contrast.cpp:515
 #: effects/Contrast.cpp:516
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "Тест WCAG2 не пройден"
 
 #: effects/Contrast.cpp:518
 msgid "Current difference"
-msgstr ""
+msgstr "Актуальные различия"
 
 #: effects/Contrast.cpp:536
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "Среднее отклонение %.1f  Дб"
 
-#: effects/Contrast.cpp:523
-#, fuzzy
+#: effects/Contrast.cpp:541
 msgid "Please enter valid times."
-msgstr "Введите корректные значения."
+msgstr "Введите корректные данные о времени"
 
 #: effects/Contrast.cpp:536
-#, fuzzy
 msgid "Export Contrast Result As:"
-msgstr "Экспортировать пометки как:"
+msgstr "Экспортировать результат измерения контраста как:"
 
 #: effects/Contrast.cpp:572
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "Результаты измерений по критериям успешности 1.4.7 согласно WCAG 2.0"
 
 #: effects/Contrast.cpp:574
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Имя файла = %s."
 
 #: effects/Contrast.cpp:576
 msgid "Foreground"
-msgstr ""
+msgstr "Передний план"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:581
+#: effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Время начала = %2d часов, %2d минут, %.2f секунд."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:586
+#: effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Время завершения = %2d часов, %2d минут, %.2f секунд."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:588
+#: effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
 msgstr ""
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:590
+#: effects/Contrast.cpp:607
 msgid "Average rms =  dB."
 msgstr ""
 
 #: effects/Contrast.cpp:593
 msgid "Background"
-msgstr ""
+msgstr "Задний план"
 
 #: effects/Contrast.cpp:609
 msgid "Results"
-msgstr ""
+msgstr "Результаты"
 
 #: effects/Contrast.cpp:611
 #, c-format
@@ -4927,28 +5260,15 @@ msgstr ""
 
 #: effects/Contrast.cpp:578
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Критерии успешности 1.4.7 по WCAG 2.0: успешно"
 
 #: effects/Contrast.cpp:580
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Критерии успешности 1.4.7 по WCAG 2.0: неуспешно"
 
 #: effects/Contrast.cpp:618
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-#, fuzzy
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr "&Звуковой файл...\tCtrl+Shift+I"
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr ""
+msgstr "Данные собраны"
 
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
@@ -5051,7 +5371,8 @@ msgstr "Предпрослушивание"
 
 #: effects/Effect.cpp:512
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
-msgstr "Ошибка при открытии звукового устройства.\n"
+msgstr ""
+"Ошибка при открытии звукового устройства.\n"
 "Проверьте параметры устройства и частоту сэмплирования."
 
 #: effects/Effect.h:100
@@ -5086,6 +5407,10 @@ msgstr "Ошибка при загрузке кривой эквалайзера
 msgid "custom"
 msgstr "Другая"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr "Ошибка при сохранении кривой эквалайзера"
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1101
@@ -5157,7 +5482,7 @@ msgstr "Плавное нарастание"
 
 #: effects/Fade.h:38
 msgid "Fading In"
-msgstr "Применяется эффект \"Плавное нарастание\""
+msgstr "Выполняется плавное нарастание сигнала"
 
 #: effects/Fade.h:54
 msgid "Fade Out"
@@ -5165,7 +5490,7 @@ msgstr "Плавное затухание"
 
 #: effects/Fade.h:68
 msgid "Fading Out"
-msgstr "Применяется эффект \"Плавное затухание\""
+msgstr "Выполняется плавное затухание сигнала"
 
 #: effects/FindClipping.cpp:49
 msgid "Detect clipping"
@@ -5209,7 +5534,7 @@ msgstr "Инвертирование"
 
 #: effects/Invert.h:41
 msgid "Inverting"
-msgstr "Производится инвертирование"
+msgstr "Выполняется инвертирование"
 
 #: effects/Leveller.cpp:192
 msgid "Leveller"
@@ -5286,17 +5611,12 @@ msgstr "Вспомогательные"
 
 #: effects/LoadEffects.cpp:113
 msgid "Converter"
-msgstr ""
+msgstr "Конвертер"
 
 #: effects/LoadEffects.cpp:115
 msgid "Analyser"
 msgstr "Анализ"
 
-#: effects/LoadEffects.cpp:117
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Микшеры"
-
 #: effects/LoadEffects.cpp:119
 msgid "Simulator"
 msgstr "Имитация"
@@ -5458,9 +5778,11 @@ msgstr "Создаётся шум"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
-msgstr "Не удалось открыть файл:\n"
+msgstr ""
+"Не удалось открыть файл:\n"
 "  %s"
 
 #: effects/NoiseRemoval.cpp:277
@@ -5472,9 +5794,11 @@ msgid "Step 1"
 msgstr "Этап 1"
 
 #: effects/NoiseRemoval.cpp:815
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr "Выделите несколько секунд только шума, так чтобы программа знала, что\n"
+msgstr ""
+"Выделите несколько секунд только шума, так чтобы программа знала, что\n"
 "отфильтровать, а затем щёлкните мышкой по кнопке «Создать модель шума»:"
 
 #: effects/NoiseRemoval.cpp:816
@@ -5482,9 +5806,11 @@ msgid "Step 2"
 msgstr "Этап 2"
 
 #: effects/NoiseRemoval.cpp:817
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr "Выделите ту часть дорожки, к которой хотите применить фильтр, укажите,\n"
+msgstr ""
+"Выделите ту часть дорожки, к которой хотите применить фильтр, укажите,\n"
 "сколько шума отфильтровать, а затем щёлкните мышкой по кнопке «ОК»\n"
 
 #: effects/NoiseRemoval.cpp:822
@@ -5501,7 +5827,7 @@ msgstr "Удаление шума (Дб):"
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "Подавление шума"
 
 #: effects/NoiseRemoval.cpp:849
 #, fuzzy
@@ -5537,12 +5863,7 @@ msgstr "Удаление шума"
 #: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
-msgstr ""
-
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "да"
+msgstr "Применен эффект: %s. Убрать смещения с оси = %s, нормализовать амплитуду = %s"
 
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
@@ -5575,20 +5896,20 @@ msgstr "-"
 
 #: effects/Normalize.cpp:367
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Максимальная амплитуда, Дб"
 
 #: effects/Normalize.h:33
 msgid "Normalize..."
-msgstr "Нормализовать..."
+msgstr "Нормализация..."
 
 #: effects/Normalize.h:49
 msgid "Normalizing..."
-msgstr "Нормализация..."
+msgstr "Выполняется нормализация..."
 
 #: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
-msgstr "Применён эффект: %s %d этапов, %.0f%% обработано, частота = %.1f Гц, начальная фаза = %.0f deg, глубина = %d, отдача = %.0f%%"
+msgstr "Применён эффект: %s. %d этапов, %.0f%% обработано, частота = %.1f Гц, начальная фаза = %.0f deg, глубина = %d, отдача = %.0f%%"
 
 #: effects/Phaser.cpp:226
 msgid "Stages:"
@@ -5652,15 +5973,18 @@ msgid "Applying Phaser"
 msgstr "Применяется эффект «Фейзер»"
 
 #: effects/Repair.cpp:99
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr "Эффект восстановления предназначен для восстановления коротких участков испорченного звука (до 128 сэмплов).\n"
+msgstr ""
+"Эффект восстановления предназначен для восстановления коротких участков испорченного звука (до 128 сэмплов).\n"
 "\n"
 "Приблизьте отображения до максимума и выберите очень короткий отрезок звуковых данных."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
@@ -5691,7 +6015,7 @@ msgstr "Количество повторов: "
 
 #: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Новая длина выделения: чч:мм:сс"
 
 #: effects/Repeat.cpp:252
 msgid "New selection length: "
@@ -5750,7 +6074,8 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr ""
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
 msgstr ""
 
@@ -5767,8 +6092,8 @@ msgid "Applying Spike Cleaner..."
 msgstr ""
 
 #: effects/StereoToMono.h:23
-msgid "&Stereo to Mono"
-msgstr "С&терео в моно"
+msgid "Stereo to Mono"
+msgstr "Стерео в моно"
 
 #: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
@@ -5776,52 +6101,47 @@ msgstr ""
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Плавная смена темпа и высоты тона"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Плавная смена темпа и высоты тона"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "при помощи SBSMS, автор — Clayton Otey"
 
 #: effects/TimeScale.cpp:187
-#, fuzzy
 msgid "Initial Tempo Change (%):"
-msgstr "Поддержка смены темпа и высоты тона"
+msgstr "Изменение темпа в начале (%):"
 
 #: effects/TimeScale.cpp:191
-#, fuzzy
 msgid "Final Tempo Change (%):"
-msgstr "Поддержка смены темпа и высоты тона"
+msgstr "Изменение темпа в конце (%):"
 
 #: effects/TimeScale.cpp:202
-#, fuzzy
 msgid "Initial Tempo Change (%)"
-msgstr "Поддержка смены темпа и высоты тона"
+msgstr "Изменение темпа в начале (%)"
 
 #: effects/TimeScale.cpp:211
-#, fuzzy
 msgid "Final Tempo Change (%)"
-msgstr "Поддержка смены темпа и высоты тона"
+msgstr "Изменение темпа в конце (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Изменение высоты тона в начале (в полутонах) [-12 to 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Изменение высоты тона в конце (в полутонах) [-12 to 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Плавная смена темпа и высоты тона..."
 
 #: effects/TimeScale.h:47
-#, fuzzy
 msgid "Changing Tempo/Pitch"
-msgstr "Изменяется высота тона"
+msgstr "Изменяется темп/высота тона"
 
 #: effects/ToneGen.cpp:61
 #, c-format
@@ -5915,9 +6235,13 @@ msgstr "У всех дорожек должна быть одинаковая ч
 msgid "Truncate Silence"
 msgstr "Вырезание тишины"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "Макс. длительность тишины:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
+
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr "Мин. длительность тишины:"
 
 #: effects/TruncSilence.cpp:348
 #: prefs/AudioIOPrefs.cpp:196
@@ -5927,12 +6251,26 @@ msgstr "Макс. длительность тишины:"
 msgid "milliseconds"
 msgstr "мс"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "Макс. длительность тишины:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr "Сжатие тишины:"
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ":1"
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
 msgstr "Порог тишины:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
 #: effects/TruncSilence.h:28
@@ -5943,17 +6281,58 @@ msgstr "Вырезать тишину..."
 msgid "Truncating Silence..."
 msgstr "Вырезается тишина..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Извините, но VST-эффекты не могут применяться к стереодорожкам с несовпадающими индивидуальными дорожками."
+#: effects/ladspa/LadspaEffect.cpp:615
+#: effects/lv2/LV2Effect.cpp:823
+msgid "Effect Settings"
+msgstr "Параметры эффекта"
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "Не удаётся произвести замену"
+#: effects/ladspa/LadspaEffect.cpp:580
+#: effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Нет"
+
+#: effects/VST/VSTEffect.cpp:291
+msgid "Presets:"
+msgstr "Профили:"
+
+#: effects/VST/VSTEffect.cpp:303
+msgid "Load"
+msgstr "Загрузить"
+
+#: effects/VST/VSTEffect.cpp:306
+msgid "Save"
+msgstr "Сохранить"
+
+#: effects/VST/VSTEffect.cpp:368
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:386
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:401
+msgid "Save VST Program As:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Параметры расширения VST:"
+#: effects/VST/VSTEffect.cpp:516
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:719
+msgid "Performing Effect: "
+msgstr "Применяется эффект:"
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:745
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5974,7 +6353,7 @@ msgstr "Резонанс:"
 
 #: effects/Wahwah.cpp:239
 msgid "Resonance"
-msgstr ""
+msgstr "Резонанс"
 
 #: effects/Wahwah.cpp:241
 msgid "Wah Frequency Offset (%):"
@@ -6004,24 +6383,12 @@ msgstr "Применяется эффект: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: effects/ladspa/LadspaEffect.cpp:580
-#: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Нет"
-
 #: effects/ladspa/LadspaEffect.cpp:582
 #: effects/lv2/LV2Effect.cpp:798
 #: effects/vamp/VampEffect.cpp:395
 msgid "Author: "
 msgstr "Автор: "
 
-#: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "Параметры эффекта"
-
 #: effects/ladspa/LadspaEffect.cpp:710
 #: effects/ladspa/LadspaEffect.cpp:713
 #: effects/lv2/LV2Effect.cpp:834
@@ -6059,7 +6426,8 @@ msgstr "Введите Nyquist-команду:"
 
 #: effects/nyquist/Nyquist.cpp:417
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
-msgstr "Извините, но эффект невозможно применить к стереодорожкам\n"
+msgstr ""
+"Извините, но эффект невозможно применить к стереодорожкам\n"
 "с несовпадающими индивидуальными дорожками"
 
 #: effects/nyquist/Nyquist.cpp:445
@@ -6135,7 +6503,8 @@ msgstr "Вы уверены, что хотите сохранить файл к
 
 #: export/Export.cpp:591
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
@@ -6174,7 +6543,7 @@ msgstr " — Справа"
 
 #: export/Export.cpp:1072
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Панель микшера"
 
 #: export/Export.cpp:1078
 #: export/Export.cpp:1125
@@ -6225,14 +6594,29 @@ msgstr "Весь проект экспортируется через консо
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
 
@@ -6258,13 +6642,15 @@ msgstr "Некорректная частота сэмплирования"
 
 #: export/ExportFFmpeg.cpp:715
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:718
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
 
@@ -6280,11 +6666,11 @@ msgstr "Частоты сэмплирования"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "Укажите параметры AC3"
 
 #: export/ExportFFmpegDialogs.cpp:117
 msgid "AC3 Export Setup"
-msgstr ""
+msgstr "Параметры экспорта в AC3"
 
 #: export/ExportFFmpegDialogs.cpp:121
 #: export/ExportFFmpegDialogs.cpp:245
@@ -6297,23 +6683,28 @@ msgstr "Скорость потока:"
 
 #: export/ExportFFmpegDialogs.cpp:162
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "Укажите параметры AAC"
 
 #: export/ExportFFmpegDialogs.cpp:178
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "Параметры экспорта в AAC"
+
+#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Качество:"
 
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "Укажите параметры AMR-NB"
 
 #: export/ExportFFmpegDialogs.cpp:241
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "Параметры экспорта в AMR-NB"
 
 #: export/ExportFFmpegDialogs.cpp:286
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "Укажите параметры AMR-WB"
 
 #: export/ExportFFmpegDialogs.cpp:310
 msgid "AMR-WB Export Setup"
@@ -6321,20 +6712,20 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:357
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "Укажите параметры WMA"
 
 #: export/ExportFFmpegDialogs.cpp:381
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "Параметры экспорта в WMA"
 
 #: export/ExportFFmpegDialogs.cpp:509
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "Перезаписать профиль '%s'?"
 
 #: export/ExportFFmpegDialogs.cpp:510
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "Подтверждение перезаписи"
 
 #: export/ExportFFmpegDialogs.cpp:501
 msgid "Please select format before saving a profile"
@@ -6355,15 +6746,15 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:897
 msgid "Preset:"
-msgstr ""
+msgstr "Предустановка:"
 
 #: export/ExportFFmpegDialogs.cpp:898
 msgid "Load Preset"
-msgstr ""
+msgstr "Загрузить предустановку"
 
 #: export/ExportFFmpegDialogs.cpp:899
 msgid "Save Preset"
-msgstr ""
+msgstr "Сохранить предустановку"
 
 #: export/ExportFFmpegDialogs.cpp:900
 msgid "Delete Preset"
@@ -6371,11 +6762,11 @@ msgstr "Удалить предустановку"
 
 #: export/ExportFFmpegDialogs.cpp:901
 msgid "Import Presets"
-msgstr ""
+msgstr "Импортировать предустановки"
 
 #: export/ExportFFmpegDialogs.cpp:902
 msgid "Export Presets"
-msgstr ""
+msgstr "Экспортировать предустановки"
 
 #: export/ExportFFmpegDialogs.cpp:907
 msgid "Format:"
@@ -6383,7 +6774,7 @@ msgstr "Формат:"
 
 #: export/ExportFFmpegDialogs.cpp:909
 msgid "Codec:"
-msgstr ""
+msgstr "Кодек:"
 
 #: export/ExportFFmpegDialogs.cpp:913
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
@@ -6407,7 +6798,7 @@ msgstr "Показать все кодеки"
 
 #: export/ExportFFmpegDialogs.cpp:914
 msgid "Options"
-msgstr ""
+msgstr "Параметры"
 
 #: export/ExportFFmpegDialogs.cpp:931
 #: prefs/GUIPrefs.cpp:166
@@ -6415,35 +6806,34 @@ msgid "Language:"
 msgstr "Язык:"
 
 #: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:934
 msgid "Tag:"
-msgstr ""
+msgstr "Тэг:"
 
 #: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Качество:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:929
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6451,10 +6841,11 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:943
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Частота сэмплирования:"
 
 #: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
 
@@ -6462,18 +6853,20 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:935
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
 msgid "Profile:"
-msgstr ""
+msgstr "Профиль:"
 
 #: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
@@ -6488,14 +6881,15 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:948
 msgid "FLAC options"
-msgstr ""
+msgstr "Параметры FLAC"
 
 #: export/ExportFFmpegDialogs.cpp:965
 msgid "Compression Level:"
-msgstr ""
+msgstr "Уровень сжатия:"
 
 #: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
@@ -6507,7 +6901,8 @@ msgid "Frame Size:"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
@@ -6519,7 +6914,8 @@ msgid "LPC coefficients precision"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
@@ -6531,7 +6927,8 @@ msgid "Minimal prediction order"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
@@ -6543,7 +6940,8 @@ msgid "Maximal prediction order"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
@@ -6555,7 +6953,8 @@ msgid "Prediction Order Method:"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
@@ -6566,7 +6965,8 @@ msgid "Minimal partition order"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
@@ -6578,7 +6978,8 @@ msgid "Maximal partition order"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
@@ -6598,7 +6999,8 @@ msgid "Mux Rate:"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
@@ -6608,7 +7010,8 @@ msgid "Packet Size:"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
@@ -6620,11 +7023,11 @@ msgstr ""
 #: export/ExportFFmpegDialogs.cpp:1219
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "Удалить предустановку '%s'?"
 
 #: export/ExportFFmpegDialogs.cpp:1238
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "Вы не можете сохранить безымянную предустановку"
 
 #: export/ExportFFmpegDialogs.cpp:1277
 msgid "Select xml file with presets to import"
@@ -6644,27 +7047,27 @@ msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:1403
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "Не удалось найти кодек"
 
 #: export/ExportFFmpegDialogs.h:53
 msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "Файлы M4A (AAC) (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:54
 msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgstr "Файлы AC3 (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
 msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgstr "Файлы WMA версии 2 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:58
 msgid "Custom FFmpeg Export"
@@ -6770,6 +7173,20 @@ msgstr "Разрядность:"
 msgid "FLAC Files"
 msgstr "Файлы FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"Не удалось инициализировать кодировщик FLAC\n"
+"Статус: %d"
+
 #: export/ExportFLAC.cpp:312
 msgid "Exporting the selected audio as FLAC"
 msgstr "Выделенное экспортируется в файл FLAC"
@@ -6912,7 +7329,8 @@ msgstr "Чтобы скачать LAME, щелкните тут -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
 
@@ -6981,19 +7399,21 @@ msgstr ""
 
 #: export/ExportMP3.cpp:1933
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr ""
 
 #: export/ExportMP3.cpp:1936
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
 msgstr ""
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Библиотека для экспорта в MP3 не найдена"
 
 #: export/ExportMultiple.cpp:96
 #: export/ExportMultiple.cpp:426
@@ -7003,11 +7423,13 @@ msgid "Export Multiple"
 msgstr "Экспорт в несколько файлов"
 
 #: export/ExportMultiple.cpp:166
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Если в вашем проекте больше одной звуковой дорожки,\n"
+msgstr ""
+"Если в вашем проекте больше одной звуковой дорожки,\n"
 "вы можете экспортировать каждую их них в отдельный\n"
 "файл, а при наличии дорожки для пометок —\n"
 "экспортировать по новому файлу для каждой пометки.\n"
@@ -7032,11 +7454,6 @@ msgstr "Параметры..."
 msgid "Export location:"
 msgstr "Каталог для экспорта:"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Выберите..."
-
 #: export/ExportMultiple.cpp:246
 msgid "Create"
 msgstr "Создать"
@@ -7062,11 +7479,6 @@ msgstr "Имя первого файла:"
 msgid "First file name"
 msgstr "Имя первого файла"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Дорожки"
-
 #: export/ExportMultiple.cpp:297
 msgid "Name files:"
 msgstr "Именование файлов:"
@@ -7102,9 +7514,39 @@ msgstr ""
 msgid "Choose a location to save the exported files"
 msgstr "Выберите каталог для экспортируемых файлов"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:539
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
 msgstr ""
@@ -7112,23 +7554,12 @@ msgstr ""
 #: export/ExportMultiple.cpp:637
 #: export/ExportMultiple.cpp:772
 msgid "Edit metadata"
-msgstr ""
-
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Успешно экспортировано файлов: %d."
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "После экспорта %d файла(-ов) что-то пошло не так."
+msgstr "Изменить метаданные"
 
 #: export/ExportMultiple.cpp:881
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
 msgstr ""
 
@@ -7179,15 +7610,15 @@ msgstr "Прочие несжатые файлы"
 
 #: export/ExportPCM.cpp:361
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) signed 16 bit PCM"
 
 #: export/ExportPCM.cpp:351
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) signed 16 bit PCM"
 
 #: export/ExportPCM.cpp:387
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobile)"
 
 #: export/ExportPCM.cpp:449
 msgid "Cannot export audio in this format."
@@ -7209,7 +7640,7 @@ msgstr ""
 msgid "Error (file may not have been written): %s"
 msgstr "Ошибка (возможно, файл не записан): %hs"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:599
 msgid "There are no options for this format.\n"
 msgstr ""
 
@@ -7217,21 +7648,21 @@ msgstr ""
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:604
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
 msgstr ""
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:609
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Ваш файл будет экспортирован в файл формата 16-bit AIFF (Apple/SGI).\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:614
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Ваш файл будет экспортирован в файл формата 16-bit WAV (Microsoft).\n"
 
 #: export/ExportPCM.cpp:743
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Ваш файл будет экспортирован в файл формата GSM 6.10 WAV.\n"
 
 #: import/Import.cpp:156
 #: import/ImportMP3.cpp:47
@@ -7249,45 +7680,68 @@ msgstr "Эта версия Audacity была скомпилирована бе
 
 #: import/Import.cpp:240
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
+"\"%s\" \n"
+"является файлом MIDI, а не звуковым. \n"
+"Audacity не может воспроизводить такие файлы, \n"
+"но вы можете изменить их, добавив через\n"
+" «Файл → Импортировать → MIDI»."
 
 #. i18n-hint: %s will be the filename
 #: import/Import.cpp:250
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является дорожкой звукового CD. \n"
+"Audacity не может открыть её напрямую. \n"
+"Скопируйте необходимые дорожки при помощи\n"
+"другой программы в понятный Audacity формат\n"
+"наподобие WAV или AIFF."
 
 #: import/Import.cpp:256
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
 msgstr ""
 
 #: import/Import.cpp:261
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Windows Media Audio. \n"
+"Audacity не может открыть файл этого формата из-за ограничений,\n"
+"налагаемых патентным законодательством. Вам придется сначала\n"
+"преобразовать его в понятный Audacity формат вроде WAV or AIFF."
 
 #: import/Import.cpp:266
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Advanced Audio Coding. \n"
+"Audacity не может открыть файл этого формата. Вам придется сначала\n"
+"преобразовать его в понятный Audacity формат вроде WAV or AIFF."
 
 #: import/Import.cpp:271
 #, c-format
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
@@ -7296,14 +7750,21 @@ msgstr ""
 
 #: import/Import.cpp:276
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Advanced Audio Coding. \n"
+"Audacity не может открыть файл в этом\n"
+"собственническом формате. Вам придется сначала\n"
+"преобразовать его в понятный Audacity формат\n"
+"вроде WAV or AIFF."
 
 #: import/Import.cpp:282
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
@@ -7311,55 +7772,79 @@ msgstr ""
 
 #: import/Import.cpp:288
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Musepack. \n"
+"Audacity не может открыть файл этого формата.Если вы считаете, что это может быть файл MP3,\n"
+"попробуйте поменять его расширение на .mp3 и\n"
+"попробовать снова. В противном случае вам\n"
+"придется сначала преобразовать его в понятный\n"
+"Audacity формат вроде WAV or AIFF."
 
 #: import/Import.cpp:294
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Wavpack. \n"
+"Audacity не может открыть файл этого формата. Вам придется сначала\n"
+"преобразовать его в понятный Audacity формат вроде WAV or AIFF."
 
 #: import/Import.cpp:300
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Dolby Digutal. \n"
+"Audacity не может открыть файл этого формата. Вам придется сначала\n"
+"преобразовать его в понятный Audacity формат вроде WAV or AIFF."
 
 #: import/Import.cpp:306
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" является файлом Ogg Speex.\n"
+"Audacity не может открыть файл этого формата. Вам придется сначала\n"
+"преобразовать его в понятный Audacity формат вроде WAV or AIFF."
 
 #: import/Import.cpp:312
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
 
 #: import/Import.cpp:317
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
-msgstr "Программа не распознала формат файла\n"
+msgstr ""
+"Программа не распознала формат файла\n"
 "'%s'.\n"
 "Если он несжатый, попробуйте импортировать\n"
 "как беззаголовочный."
 
 #: import/Import.cpp:322
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
-msgstr "Программа распознала формат файла,\n"
+msgstr ""
+"Программа распознала формат файла,\n"
 "'%s',\n"
 "но не поддерживает его."
 
@@ -7376,6 +7861,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Файлы FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "Совместимые с GStreamer файлы"
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Список файлов в обычном текстовом формате"
@@ -7409,7 +7898,7 @@ msgstr "Найдено некорректное разделение дорож
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": слишком короткое имя файла."
 
 #: import/ImportMIDI.cpp:31
 #: import/ImportMIDI.cpp:39
@@ -7420,7 +7909,7 @@ msgstr "Не удалось открыть файл:"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": некорректный тип файла."
 
 #: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
@@ -7536,154 +8025,80 @@ msgstr "Выполняется декодирование волновой фо
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% завершено. Щелкните мышкой, чтобы указать иную область обработки."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Audio I/O"
+#: prefs/BatchPrefs.cpp:55
+#: prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Пакетная обработка"
 
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (Моно)"
+#: prefs/BatchPrefs.cpp:77
+#: prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Поведение"
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (стерео)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "&Не применять эффекты в пакетном режиме"
 
-#: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Воспроизведение"
+#: prefs/BatchPrefs.cpp:83
+#: prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Ре&жим CleanSpeech (специализированный интерфейс)"
 
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
-#: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Устройство"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Устройства"
+
+#: prefs/GUIPrefs.cpp:34
+#: prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Интерфейс"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr "Драйвер"
 
 #: prefs/AudioIOPrefs.cpp:124
 #: prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Используется:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:117
+#: prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "Воспроизведение"
 
 #: prefs/AudioIOPrefs.cpp:135
 #: prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
-msgstr " Запись "
+msgstr "Запись"
 
 #: prefs/AudioIOPrefs.cpp:141
 #: prefs/MidiIOPrefs.cpp:138
 msgid "Channels"
 msgstr "Каналов"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "Мониторинг записи"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "&Наложение: воспроизводить другие дорожки при записи новой"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Аппаратный: воспроизводить новые дорожки при их записи"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Программный: воспроизводить новые дорожки при их записи"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "&Программный мониторинг записи: воспроизводить записываемую/отслеживаемую дорожку"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(не использовать при записи стереомикса)"
-
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "Предпрослушивание эффектов"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "Длительность прослушивания:"
-
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "Прослушивание результата вырезания"
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr "Перед вырезаемой областью:"
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr "После вырезаемой области:"
+#: prefs/DevicePrefs.cpp:165
+msgid "No audio interfaces"
+msgstr "Нет звуковых устройств"
 
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Задержка"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Звук в буфере:\n"
-"(выше значение — больше задержка)"
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Коррекция задержки:\n"
-"(отрицательная = в обратную сторону)"
+#: prefs/DevicePrefs.cpp:201
+#: prefs/DevicePrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:295
+#: prefs/MidiIOPrefs.cpp:300
+msgid "No devices found"
+msgstr "Устройства не обнаружены"
 
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr "Прокрутка при воспроизведении"
-
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "Короткая прокрутка:"
-
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "Долгая прокрутка"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Пакетная обработка"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Поведение"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "&Не применять эффекты в пакетном режиме"
+#: prefs/AudioIOPrefs.cpp:102
+#: prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (Моно)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Ре&жим CleanSpeech (специализированный интерфейс)"
+#: prefs/AudioIOPrefs.cpp:103
+#: prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (стерео)"
 
 #: prefs/DirectoriesPrefs.cpp:55
 #: prefs/DirectoriesPrefs.cpp:56
@@ -7703,35 +8118,34 @@ msgstr "Местоположение:"
 msgid "Free Space:"
 msgstr "Свободного места:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Автосохранение"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Автоматически сохранять копию проекта в другую папку"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Интервал автосохранения:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "минут"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Кэширование данных"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr "Использовать ОЗУ для воспроизведения и записи\n"
-"(лучше для старых компьютеров, но опасно при работе с длительными записями)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "Воспроизводить и писать через RAM (при медленных жестких дисках)"
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Минимум свободной памяти (Мбайт):"
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
+"Если доступное количество свободной виртуальной памяти ниже этого значения,\n"
+"звук больше не будет кэшироваться в памяти и будет писать на жесткий диск."
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Выберите расположение каталога для хранения временных файлов"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7748,228 +8162,150 @@ msgstr "У вас нет прав на запись в каталог %s"
 
 #: prefs/DirectoriesPrefs.cpp:199
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
-msgstr "Изменения касательно каталога для хранения временных файлов \n"
-"не возымеют эффекта, пока программа Audacity не будет перезагружена."
-
-#: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "Импорт/Экспорт"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "Библиотека для экспорта в MP3"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "Версия библиотеки для поддержки MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "Библиотека для поддержки MP3:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
 msgstr ""
+"Изменения касательно каталога для хранения временных файлов \n"
+"не возымеют эффекта, пока программа Audacity не будет перезагружена."
 
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "Библиотека LAME (сохранение MP3):"
-
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&Скачать"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "Библиотека для импорта/экспорта с FFmpeg"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "Версия библиотеки FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "Библиотека FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Примечание: качественные параметры можно указать, щелкнув кнопку «Параметры...» в диалоге экспорта.\n"
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "При импорте звуковых файлов"
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "Создавать &копию несжатых звуковых данных перед редактирование (безопаснее)"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&Читать несжатые звуковые данные напрямую (быстрее)"
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr "&Нормализовывать все дорожки в проекте"
-
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "При сохранении проекта,содержащего внешние файлы"
+#: prefs/GUIPrefs.cpp:49
+msgid "Local"
+msgstr "Локально"
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "Всегда &копировать все файлы в проект (безопаснее всего)"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "В Интернете"
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&Ничего не копировать"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "Спра&шивать пользователя"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "При экспорте дорожек в звуковой файл"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&Всегда сводить все дорожки в стерео- или моноканал(ы)."
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Запрашивать способ сведения (например, для экспорта многоканального 5.1 файла)"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Открывать редактор &метаданных перед экспортом"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Интерфейс"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 Дб (не для правки сигнала с большой амплитудой)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "В браузере"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 Дб (диапазон PCM при 8 разрядах)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "В Интернете"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 Дб (диапазон PCM при 10-разрядных выборках)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Простая"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 Дб (диапазон PCM при 16 разрядах)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "Обновл&ять вид при воспроизведении"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 Дб (предел слышимости человеческого уха)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "При &закрытии последнего окна закрыть Audacity"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 Дб (диапазон PCM при 24 разрядах)"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "&Разрешить перетаскивание краев выделений"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Отображение"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr "&Эргономичный порядок контрольных кнопок"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "&Автоматически умещать дорожки по вертикали"
+#: prefs/GUIPrefs.cpp:99
+msgid "Show &support message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "&Фокус перемещается по дорожкам циклически"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Диапазон счетчика/волновой формы (Дб):"
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "При правке области можно &двигать другие области"
+#: prefs/GUIPrefs.cpp:121
+msgid "Location of Manual:"
+msgstr "Расположение руководства:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "При отсутствии &выделения выделять всё"
+#: prefs/GUIPrefs.cpp:96
+msgid "Cl&osing last window quits Audacity"
+msgstr "При &закрытии последнего окна закрыть Audacity"
 
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "Извещать звуком о завершении &длительных операций"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Отображение панелей"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Показ линий выре&зания"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Показывать пр&едупреждения о временных файлах"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "Пред&лагать сохранение даже пустого проекта"
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "По&казывать вводный курс при старте"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "Режимы"
 
+#: prefs/GUIPrefs.cpp:147
+msgid "Display VST effects in GUI mode"
+msgstr "Загружать собственный интерфейс эффектов VST"
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr "&Не применять эффекты в пакетном режиме"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Минимальный отображаемый диапазон"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 Дб (не для правки сигнала с большой амплитудой)"
+#: prefs/FileFormatPrefs.cpp:53
+#: prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
+msgstr "Импорт/Экспорт"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 Дб (диапазон PCM при 8 разрядах)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "При импорте звуковых файлов"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 Дб (диапазон PCM при 10-разрядных выборках)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "Создавать &копию несжатых звуковых данных перед редактирование (безопаснее)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 Дб (диапазон PCM при 16 разрядах)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Читать несжатые звуковые данные напрямую (быстрее)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 Дб (предел слышимости человеческого уха)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr "&Нормализовывать все дорожки в проекте"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 Дб (диапазон PCM при 24 разрядах)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr "При экспорте дорожек в звуковой файл"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Режим отображения по умолчанию"
+#: prefs/FileFormatPrefs.cpp:160
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&Всегда сводить все дорожки в стерео- или моноканал(ы)."
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "Прочие параметры"
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Запрашивать способ сведения (например, для экспорта многоканального 5.1 файла)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr "Справка:"
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Открывать редактор &метаданных перед экспортом"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "Кнопка «Соло»:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Примечание: параметры качества экспорта могут быть выбраны\n"
+"щелчком по кнопке «Параметры» в диалоге экспорта"
 
 #: prefs/KeyConfigPrefs.cpp:64
 #: prefs/KeyConfigPrefs.cpp:65
@@ -7984,14 +8320,29 @@ msgstr ""
 msgid "Open a new project to modify keyboard shortcuts."
 msgstr ""
 
+#: prefs/KeyConfigPrefs.cpp:108
+#: prefs/KeyConfigPrefs.cpp:224
+msgid "All"
+msgstr "Все"
+
 #: prefs/KeyConfigPrefs.cpp:95
 msgid "Key Bindings"
-msgstr "Горячие клавиши"
+msgstr "Клавиатурные комбинации"
+
+#: prefs/KeyConfigPrefs.cpp:129
+msgid "Category:"
+msgstr "Категория:"
 
 #: prefs/KeyConfigPrefs.cpp:115
 msgid "S&et"
 msgstr "У&становить"
 
+#: Tags.cpp:829
+#: Tags.cpp:1486
+#: prefs/KeyConfigPrefs.cpp:116
+msgid "&Clear"
+msgstr "О&чистить"
+
 #: prefs/KeyConfigPrefs.cpp:120
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Примечание: нажатие комбинации клавиш Cmd+Q приведёт к завершению работы программы. Все остальные комбинации действительны.."
@@ -8005,13 +8356,14 @@ msgstr "&Исходные параметры"
 msgid "Key Combination"
 msgstr "Комбинация клавиш"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Экспортировать клавиатурные комбинации как:"
+#: prefs/KeyConfigPrefs.cpp:369
+#: toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Отменить"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Ошибка при сохранении клавиатурных комбинаций"
+#: prefs/KeyConfigPrefs.cpp:195
+msgid "Redo"
+msgstr "Вернуть"
 
 #: prefs/KeyConfigPrefs.cpp:198
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -8021,19 +8373,80 @@ msgstr "Выберите XML-файл, содержащий горячие кл
 msgid "Error loading keyboard shortcuts"
 msgstr "Ошибка при загрузке клавиатурных комбинаций"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Экспортировать клавиатурные комбинации как:"
+
+#: prefs/KeyConfigPrefs.cpp:183
+msgid "Error saving keyboard shortcuts"
+msgstr "Ошибка при сохранении клавиатурных комбинаций"
+
 #: prefs/KeyConfigPrefs.cpp:243
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr "Клавиатурная комбинация '%s' уже назначена для:\n"
+msgstr ""
+"Клавиатурная комбинация '%s' уже назначена для:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Отменить"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Библиотеки"
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "Библиотека для экспорта в MP3"
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "Версия библиотеки для поддержки MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "Библиотека для поддержки MP3:"
+
+#: prefs/FileFormatPrefs.cpp:96
+#: prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr "&Указать"
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "Библиотека LAME (сохранение MP3):"
+
+#: prefs/FileFormatPrefs.cpp:101
+#: prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "&Скачать"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "Библиотека для импорта/экспорта с FFmpeg"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "Версия библиотеки FFmpeg:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "Совместимая библиотека FFmpeg не найдена"
+
+#: prefs/FileFormatPrefs.cpp:118
+#: prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "Библиотека FFmpeg:"
+
+#: prefs/MidiIOPrefs.cpp:58
+msgid "MIDI Devices"
+msgstr "Устройства MIDI"
+
+#: prefs/AudioIOPrefs.cpp:147
+#: prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr "Мониторинг записи"
 
 #: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
@@ -8047,6 +8460,11 @@ msgstr "&Аппаратное сквозное воспроизведение: 
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "&Программное сквозное воспроизведение: воспроизводить записываемую дорожку"
 
+#: prefs/AudioIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr "Прослушивание результата вырезания"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -8055,22 +8473,46 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:189
+#: prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
+msgstr "Задержка"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "Буферизируемый звук:"
 
 #: prefs/MidiIOPrefs.cpp:176
 msgid "Latency correction:"
-msgstr ""
+msgstr "Коррекция задержки:"
 
 #: prefs/MidiIOPrefs.cpp:183
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr "Короткая прокрутка:"
+
+#: prefs/AudioIOPrefs.cpp:208
+#: prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr "Долгая прокрутка"
+
+#: prefs/AudioIOPrefs.cpp:168
+#: prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr "Предпрослушивание эффектов"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
+#: prefs/MidiIOPrefs.cpp:256
+msgid "No MIDI interfaces"
+msgstr "Нет устройств MIDI"
+
 #: prefs/MousePrefs.cpp:55
 #: prefs/MousePrefs.cpp:56
 msgid "Mouse"
@@ -8307,10 +8749,62 @@ msgstr "Ctrl-Поворот-Колёсиком"
 msgid "Zoom in or out"
 msgstr "Масштабировать вид"
 
+#: prefs/AudioIOPrefs.cpp:171
+msgid "Length of preview:"
+msgstr "Длительность прослушивания:"
+
+#: prefs/AudioIOPrefs.cpp:179
+msgid "Preview before cut region:"
+msgstr "Перед вырезаемой областью:"
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview after cut region:"
+msgstr "После вырезаемой области:"
+
+#: prefs/AudioIOPrefs.cpp:203
+msgid "Seek Time when playing"
+msgstr "Прокрутка при воспроизведении"
+
 #: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Параметры Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr "Проекты"
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr "При сохранении проекта,содержащего внешние файлы"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr "Всегда &копировать все файлы в проект (безопаснее всего)"
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "&Ничего не копировать"
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr "Спра&шивать пользователя"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Автосохранение"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Автоматически сохранять копию проекта в другую папку"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Интервал автосохранения:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "минут"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Прямоугольное"
@@ -8335,48 +8829,46 @@ msgstr "Частота сэмплирования по умолчанию:"
 msgid "Default Sample Format:"
 msgstr "Разрядность по умолчанию:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Преобразование частоты сэмплирования \n"
-"в режиме реального времени:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Преобразование в режиме реального времени"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Высококачественное преобразование \n"
-"частоты сэмплирования:"
+#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Преобразование частоты сэмплирования:"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Сглаживание в режиме реального времени:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr "Подмешивание шума"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Высококачественный дитеринг:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Высококачественное преобразование"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Преобразование"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "&Наложение: воспроизводить другие дорожки при записи новой"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Преобразование частоты сэмплирования"
+#: prefs/AudioIOPrefs.cpp:152
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Аппаратный: воспроизводить новые дорожки при их записи"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Подмешивание шума"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&Программный мониторинг записи: воспроизводить записываемую/отслеживаемую дорожку"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "В реальном времени:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(не использовать при записи стереомикса)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Высокое качество:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr "миллисекунд (чем выше значение, тем больше задержка отклика)"
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "Активация записи"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr "миллисекунд (отрицательное значение — коррекция в минус)"
 
 #: prefs/SmartRecordPrefs.cpp:64
 #: prefs/SmartRecordPrefs.cpp:66
@@ -8392,18 +8884,54 @@ msgstr "Уровень громкости (Дб):"
 msgid "Spectrograms"
 msgstr "Спектрограммы"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Размер FFT"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 — наиболее широкополосный"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 — по умолчанию"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 — наиболее узкополосный"
@@ -8412,21 +8940,25 @@ msgstr "32768 — наиболее узкополосный"
 msgid "4096 - most narrowband"
 msgstr "4096 — наиболее узкополосный"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Тип оконной функции:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "Быстрые преобразования Фурье"
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Размер оконной функции"
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Тип оконной функции"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Отображение"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "В &градациях серого"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8436,17 +8968,29 @@ msgstr "Минимальная частота (Гц):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Максимальная частота (Гц):"
 
+#: prefs/SpectrumPrefs.cpp:146
+msgid "Gain (dB):"
+msgstr "Усиление (Дб):"
+
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Range (dB):"
+msgstr "Диапазон (Дб):"
+
 #: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+msgid "Frequency gain: (dB/dec)"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Найти ноты"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Показывать спектр в &градациях серого"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Квантовать ноты"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "&Показывать сетку вдоль оси Y"
+
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8454,7 +8998,15 @@ msgstr "Минимальная амплитуда (Дб)"
 
 #: prefs/SpectrumPrefs.cpp:170
 msgid "Max. Number of Notes (1..128):"
-msgstr ""
+msgstr "Макс. число нот (1-128):"
+
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Найти ноты"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Квантовать ноты"
 
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
@@ -8472,13 +9024,44 @@ msgstr "Минимально возможная частота должна бы
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Минимальная частота должна находиться в пределах от 100 Гц до 100 000 Гц"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:237
+msgid "The gain must be an integer"
+msgstr "Усиление должно быть целой переменной"
+
+#: prefs/SpectrumPrefs.cpp:242
+msgid "The range must be a positive integer"
+msgstr "Диапазон должен быть положительной переменной"
+
+#: prefs/SpectrumPrefs.cpp:246
+msgid "The range must be at least 1 dB"
+msgstr "Диапазон должен быть равен хотя бы 1 Дб"
+
+#: prefs/SpectrumPrefs.cpp:252
+msgid "The frequency gain must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:256
+msgid "The frequency gain cannot be negative"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:260
+msgid "The frequency gain must be no more than 60 dB/dec"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
-msgstr ""
+msgstr "Минимальная амплитуда (дб) должна быть целой переменной"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
 #: prefs/ThemePrefs.cpp:62
@@ -8486,6 +9069,41 @@ msgstr ""
 msgid "Theme"
 msgstr "Стиль оформления"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Информация"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8516,78 +9134,94 @@ msgstr "Сохранить файлы"
 msgid "Load Files"
 msgstr "Загрузить файлы"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Информация"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Простая"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "Обновл&ять вид при воспроизведении"
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "&Автоматически умещать дорожки по вертикали"
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr ""
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Режим отображения по умолчанию:"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "При отсутствии &выделения выделять всё"
+
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "Показ линий выре&зания"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "&Разрешить перетаскивание краев выделений"
+
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "&Фокус перемещается по дорожкам циклически"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "При правке области можно &двигать другие области"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr "Кнопка «Соло»:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Предупреждения"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Показывать предупреждения"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "&При сохранении проектов"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "При &сохранении пустых проектов"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Когда &на диске остается мало свободного пространства"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "При сведении &в стерео в ходе экспорта"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "При сведении в &моно в ходе экспорта"
 
 #: toolbars/ControlToolBar.cpp:175
 msgid "Pause"
 msgstr "Приостановить"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Воспроизвести"
-
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr ""
-
 #: toolbars/ControlToolBar.cpp:183
 msgid "Stop"
 msgstr "Остановить"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Перейти к началу дорожки"
+#: toolbars/ControlToolBar.cpp:195
+msgid "Clean Speech"
+msgstr "Почистить запись голоса"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Перейти к концу дорожки"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr "Почистить запись голоса"
-
 #: toolbars/ControlToolBar.cpp:540
 #: toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
@@ -8631,29 +9265,21 @@ msgstr "Приблизить"
 msgid "Zoom Out"
 msgstr "Отдалить"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Переключение типа масштабирования"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "Уместить выделенное"
-
 #: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "Уместить выделенное в окне"
 
 #: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "Уместить проект"
-
-#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "Уместить проект в окне"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Индикатор"
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr "Уместить выделенное"
+
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
+msgstr "Уместить проект"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8700,6 +9326,18 @@ msgstr ""
 msgid "Input Source"
 msgstr "Источник входа"
 
+#: toolbars/MixerToolBar.cpp:293
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:300
+msgid "Select Input Source"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:314
+msgid "Input Source:"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:86
 msgid "Selection"
 msgstr "Выделение"
@@ -8784,34 +9422,6 @@ msgstr "Левая=Приблизить, Правая=Отдалить, Сред
 msgid "Click and drag to move a track in time"
 msgstr "Щёлкните и перетащите для перемещения дорожки во времени"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Инструменты"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Выделение"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Изменение огибающей"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Перемещение"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Масштабирование"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Изменение сэмплов"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Универсальный инструмент"
@@ -8820,22 +9430,10 @@ msgstr "Универсальный инструмент"
 msgid "Slide Tool"
 msgstr "Перемещение"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Универсальный инструмент"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Транскрипция"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:178
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
@@ -8845,74 +9443,38 @@ msgstr "Скорость воспроизведения"
 msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Выберите область со звуком вокруг курсора"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Выберите область тишины вокруг курсора"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr ""
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Автоматически делать пометки из слов"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Создать пометки"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Добавить пометку к выделению"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Добавить пометку"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Откалибровать голосовой ключ"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Калибровка"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Скорректировать чувствительность"
@@ -8945,6 +9507,46 @@ msgstr "Смена направления (высокий порог)"
 msgid "Key type"
 msgstr "Тип клавиши"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr ""
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Создать пометки"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Добавить пометку"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Калибровка"
+
 #: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr " (отключено)"
@@ -9011,17 +9613,6 @@ msgstr "Справка в Интернете"
 msgid "Grabber"
 msgstr ""
 
-#: widgets/Grid.cpp:643
-#, c-format
-msgid "%d rows, %d columns"
-msgstr "%d строк, %d столбцов"
-
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
-#, c-format
-msgid "Row %d"
-msgstr "Ряд %d"
-
 #: widgets/Grid.cpp:791
 msgid "Empty"
 msgstr "Пусто"
@@ -9058,15 +9649,12 @@ msgstr "Параметры..."
 msgid "Mix Volume"
 msgstr "Микс"
 
-#: widgets/Meter.cpp:1145
-msgid "This determines how often the meter is refreshed.\n"
-"If you have a slower PC you may want to select a\n"
-"lower refresh rate (30 per second or lower), so that\n"
-"audio qualtiy is not affected by the meter display."
-msgstr "Здесь указывается, как часто должен обновляться\n"
-"индикатор. Если у вас достаточно медленный\n"
-"компьютер, укажите частоту поменьше (30 в секунду\n"
-"или меньше), чтобы качество звука не страдало."
+#: widgets/Meter.cpp:1133
+msgid ""
+"Higher refresh rates make the meter show more frequent\n"
+"changes. A rate of 30 per second or less should prevent\n"
+"the meter affecting audio quality on slower machines."
+msgstr ""
 
 #: widgets/Meter.cpp:1146
 msgid "Meter refresh rate per second [1-100]: "
@@ -9136,7 +9724,7 @@ msgstr "0100 дней 024 ч 060 м 060 с"
 #. * minutes, seconds and hundreths of a second (1/100 second)
 #: widgets/TimeTextCtrl.cpp:288
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "чч:мм:сс + сотни"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -9145,7 +9733,7 @@ msgstr ""
 #. * unless there aren't 60 minutes in an hour in your locale
 #: widgets/TimeTextCtrl.cpp:294
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 ч 060 м 060.0100 с"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
@@ -9253,7 +9841,7 @@ msgstr "0100 ч 060 м 060 с+.030 кадров| .999000999"
 #. * TV frame rate (used for American / Japananese TV
 #: widgets/TimeTextCtrl.cpp:348
 msgid "NTSC frames"
-msgstr "Кадры NTSC"
+msgstr "кадры NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
@@ -9306,7 +9894,7 @@ msgstr "0100 ч 060 м 060 с+.75 кадров"
 #. * Audio frame rate (75 frames per second)
 #: widgets/TimeTextCtrl.cpp:377
 msgid "CDDA frames (75 fps)"
-msgstr "Выборок CDDA (75 fps)"
+msgstr "выборки CDDA (75 fps)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
@@ -9318,8 +9906,8 @@ msgstr "01000,01000 кадров|75"
 msgid "Use right mouse button or context key to change format"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:1485
-msgid "Time Control"
+#: widgets/TimeTextCtrl.cpp:1525
+msgid "centiseconds"
 msgstr ""
 
 #: widgets/Warning.cpp:64
@@ -9341,3 +9929,15 @@ msgstr "Ошибка: %hs в строке %lu"
 msgid "Could not load file: \"%s\""
 msgstr "Не удалось загрузить файл: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Ошибка при закрытии файла"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Ошибка записи в файл"
+
diff --git a/locale/sk.po b/locale/sk.po
index 911ba52..eb09d7b 100644
--- a/locale/sk.po
+++ b/locale/sk.po
@@ -1,885 +1,999 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# Copyright (C) YEAR Audacity Development Team
+# This file is distributed under the same license as Audacity.
+# Audacity Team <audacity-translation at lists.sourceforge.net>, YEAR.
 #
 msgid ""
-msgstr "Project-Id-Version: Audacity\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-10-14 09:03+0200\n"
-"PO-Revision-Date: 2006-02-02 16:58+0100\n"
-"Last-Translator: \n"
-"Language-Team: \n"
+msgstr ""
+"Project-Id-Version: Audacity 1.3.8\n"
+"Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-02-15 17:27+0000\n"
+"PO-Revision-Date: 2009-03-22 20:15+0100\n"
+"Last-Translator: matrin veselovský <martinveselovský@post.sk>\n"
+"Language-Team: SK <martinveselovsky at centrum.sk>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Slovak\n"
 "X-Poedit-Country: SLOVAKIA\n"
-"X-Poedit-Bookmarks: 763,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
+"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
 
-#: ../src/Menus.cpp:529
+#: AboutDialog.cpp:143
+#: AudacityApp.cpp:789
+#: Menus.cpp:953
 msgid "&About Audacity..."
 msgstr "O programe &Audacity..."
 
-#. i18n-hint: Rather than a literal translation, consider adding the
-#. appropriate suffix or prefix to create a word meaning 'something which
-#. has Audacity'
-#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:111
+#: AboutDialog.cpp:157
 msgid "OK... Audacious!"
-msgstr ""
+msgstr "OK...Pekne!"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "Audacity je slobodný program, ktorý napísal tím dobrovoľníkov <a href=\"http://audacity.sourceforge.net/community/developers\"> vývojárov </a> z celého sveta. Sme vďační <a href=\"http://sourceforge.net\"> SourceForge.net </a> za hosting nášho projektu. Audacity možno používať s Windows 98 a novšími, Mac OS X, Linuxom a ostatnými Unix operačnými systémami. Staršie verzie Audacity možno používať na Mac OS 9."
 
 #: AboutDialog.cpp:179
 msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgstr "Toto je beta verzia programu. Môže obsahovať chyby a nedokončené vlastnosti. Sme závislí na vašej spätnej väzbe: pošlite hlásenie chýb a žiadosti o funkciu na <b> feedback at audacityteam.org </b>. Pre pomoc s používaním Audacity, navštívte naše <a href=\"http://audacityteam.org/forum/\"> fórum </a>."
 
 #: AboutDialog.cpp:182
 msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr ""
+msgstr "Toto je stabilné, dokončené vydanie programu. Pokiaľ však nájdete chybu, alebo máte pripomienku  pre nás, prosím napište na <b>feedback at audacityteam.org</b>. Pre pomoc s používaním Audacity, navštívte naše <a href=\"http://audacityteam.org/forum/\"> fórum </a>."
 
-#  i18n-hint: The translation of "translator_credits" will appear
-#  in the credits in the About Audacity window.  Use this to add
-#  your own name(s) to the credits.
-#  For example:  "English translation by Dominic Mazzoni."
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:127
-#: ../src/AboutDialog.cpp:129
+#. in the credits in the About Audacity window.  Use this to add
+#. your own name(s) to the credits.
+#.
+#. For example:  "English translation by Dominic Mazzoni."
+#.
+#: AboutDialog.cpp:192
+#: AboutDialog.cpp:194
 msgid "translator_credits"
-msgstr "Slovenský preklad: Jozef Kundlák ml."
+msgstr "Slovenský preklad: Martin Veselovský. Ak nájdete chyby v preklade oznámte to na<b> audacity_sk.centrum.sk</b>"
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "Voľný digitálny audio editor<br>"
 
-#: ../src/AboutDialog.cpp:154
+#: AboutDialog.cpp:211
 msgid "Credits"
 msgstr "Credits - zúčastnení ľudia"
 
-#: AboutDialog.cpp:256
+#: AboutDialog.cpp:215
 #, c-format
 msgid "Audacity %s Development Team"
-msgstr ""
+msgstr "Vývojový tím Audacity %s"
 
-#: AboutDialog.cpp:261
+#: AboutDialog.cpp:220
 #, c-format
 msgid "Audacity %s Support Team"
-msgstr ""
+msgstr "Tím podpory Audacity %s"
 
-#: AboutDialog.cpp:266
+#: AboutDialog.cpp:225
 msgid "Emeritus Developers"
-msgstr ""
+msgstr "Bývalí vývojari"
 
-#: AboutDialog.cpp:271
+#: AboutDialog.cpp:230
 msgid "Other Emeritus Team Members"
-msgstr ""
+msgstr "Ďalší bývalí členovia tímu"
 
-#: AboutDialog.cpp:276
+#: AboutDialog.cpp:235
 msgid "Other Contributors"
-msgstr ""
+msgstr "Ďalší prispievatelia"
 
-#: AboutDialog.cpp:281
+#: AboutDialog.cpp:240
 msgid "Audacity is based on code from the following projects:"
-msgstr ""
+msgstr "Audacity je založená na programovom kóde týchto projektov:"
 
-#: ../src/AboutDialog.cpp:237
+#: AboutDialog.cpp:245
 msgid "Special thanks:"
 msgstr "Zvláštne poďakovanie:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "<b> Audacity&reg; </b> softvér je copyright &copy; 1999-2009 Audacity Tímu. <br> Meno <b> Audacity&reg;</b> je registrovaná ochranná známka spoločnosti Dominica Mazzoniho."
 
-#: AboutDialog.cpp:320
+#: AboutDialog.cpp:258
 msgid "Audacity"
-msgstr ""
+msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
+#: AboutDialog.cpp:304
+#: AboutDialog.cpp:317
+#: AboutDialog.cpp:473
 msgid "Build Information"
-msgstr ""
+msgstr "Informácie o vytvorení"
 
-#: ../src/effects/AvcCompressor.cpp:652
+#: AboutDialog.cpp:310
+#: effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Povolené"
 
-#: AboutDialog.cpp:148
+#: AboutDialog.cpp:311
 msgid "Disabled"
-msgstr ""
+msgstr "Zakázané"
 
 #: AboutDialog.cpp:321
 msgid "File Format Support"
-msgstr ""
+msgstr "Podporované formáty súborov"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:331 AboutDialog.cpp:333
+#: AboutDialog.cpp:331
+#: AboutDialog.cpp:333
 msgid "MP3 Importing"
-msgstr ""
+msgstr "Importovať MP3"
 
-#: AboutDialog.cpp:340 AboutDialog.cpp:343
+#: AboutDialog.cpp:340
+#: AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
-msgstr ""
+msgstr "Importovať a exportovať Ogg Vorbis"
 
-#: AboutDialog.cpp:347 AboutDialog.cpp:350
+#: AboutDialog.cpp:347
+#: AboutDialog.cpp:350
 msgid "ID3 tag support"
-msgstr ""
+msgstr "Podpora pre ID3 tágy"
 
-#: AboutDialog.cpp:357 AboutDialog.cpp:360
+#: AboutDialog.cpp:357
+#: AboutDialog.cpp:360
 msgid "FLAC import and export"
-msgstr ""
+msgstr "Importovať a exportovať FLAC"
 
-#: AboutDialog.cpp:365 AboutDialog.cpp:368
+#: AboutDialog.cpp:365
+#: AboutDialog.cpp:368
 msgid "MP2 export"
-msgstr ""
+msgstr "Exportovať  MP2"
 
-#: AboutDialog.cpp:373 AboutDialog.cpp:376
+#: AboutDialog.cpp:373
+#: AboutDialog.cpp:376
 msgid "Import via QuickTime"
-msgstr ""
+msgstr "Importovať cez QuickTime"
 
 #. i18n-hint: Libraries that are essential to audacity
 #: AboutDialog.cpp:383
 msgid "Core Libraries"
-msgstr ""
+msgstr "Základné knižnice"
 
-#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
+#: AboutDialog.cpp:389
+#: AboutDialog.cpp:392
+#: AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 msgid "Sample rate conversion"
-msgstr ""
+msgstr "Prevodník vzorkovacej frekvencie"
 
-#: AboutDialog.cpp:402 AboutDialog.cpp:405
+#: AboutDialog.cpp:402
+#: AboutDialog.cpp:405
 msgid "Audio playback and recording"
-msgstr ""
+msgstr "Prehrávanie a záznam zvuku"
 
 #: AboutDialog.cpp:418
 msgid "Features"
-msgstr ""
-
-#: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
-#: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
-#: AboutDialog.cpp:446 AboutDialog.cpp:449
+msgstr "Funkcie"
+
+#: AboutDialog.cpp:422
+#: AboutDialog.cpp:425
+#: AboutDialog.cpp:430
+#: AboutDialog.cpp:433
+#: AboutDialog.cpp:438
+#: AboutDialog.cpp:441
+#: AboutDialog.cpp:446
+#: AboutDialog.cpp:449
 msgid "Plug-in support"
-msgstr ""
+msgstr "Podpora zásuvných modulov"
 
-#: AboutDialog.cpp:454 AboutDialog.cpp:457
+#: AboutDialog.cpp:454
+#: AboutDialog.cpp:457
 msgid "Sound card mixer support"
-msgstr ""
+msgstr "Podpora mixéra zvukovej karty"
 
-#: AboutDialog.cpp:462 AboutDialog.cpp:465
+#: AboutDialog.cpp:462
+#: AboutDialog.cpp:465
 msgid "Pitch and Tempo Change support"
-msgstr ""
+msgstr "Podpora pre zmenu ladenia a tempa"
 
-#: AboutDialog.cpp:204
-#, fuzzy
+#: AboutDialog.cpp:477
 msgid "Program build date: "
-msgstr "Dátum zostavenia programu (build):"
+msgstr "Dátum vytvorenia programu:"
 
-#: AboutDialog.cpp:480 AboutDialog.cpp:482
+#: AboutDialog.cpp:480
+#: AboutDialog.cpp:482
 msgid "Build type:"
-msgstr ""
+msgstr "Druh vytvorenia:"
 
 #: AboutDialog.cpp:480
 msgid "Debug build"
-msgstr ""
+msgstr "Upravené vydanie"
 
 #: AboutDialog.cpp:482
 msgid "Release build"
-msgstr ""
+msgstr "Uvoľnené vydanie"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:487
 msgid "Installation Prefix: "
-msgstr ""
+msgstr "Inštalačný prefix:"
 
-#: AboutDialog.cpp:209
+#: AboutDialog.cpp:491
 msgid "Settings folder: "
-msgstr ""
+msgstr "Nastavenie adresára:"
 
-#: AboutDialog.cpp:388
+#: AboutDialog.cpp:506
 msgid "GPL License"
-msgstr ""
+msgstr "GPL Licencia"
 
-#: ../src/AudacityApp.cpp:304
-#: ../src/Project.cpp:1770
+#: AudacityApp.cpp:498
+#: Project.cpp:1948
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s je už otvorený v inom okne."
 
-#: ../src/AudacityApp.cpp:306
-#: ../src/Project.cpp:1772
-#: ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894
-#: ../src/Project.cpp:1905
-#: ../src/Project.cpp:1943
+#: AudacityApp.cpp:500
+#: Project.cpp:1950
+#: Project.cpp:2055
+#: Project.cpp:2199
+#: Project.cpp:2336
 msgid "Error opening project"
 msgstr "Chyba pri otváraní projektu"
 
-#: ../src/AudacityApp.cpp:338
+#: AudacityApp.cpp:532
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s neexistuje, preto nemôže byť otvorený.\n"
+msgstr ""
+"%s neexistuje, preto nemôže byť otvorený.\n"
 "\n"
 "Záznam bol odstránený zo zoznamu histórie."
 
-#: ../src/AudacityApp.cpp:367
+#: AudacityApp.cpp:634
 msgid "Master Gain Control"
 msgstr "Hlavné ovládanie zisku"
 
-#: ../src/AudacityApp.cpp:368
+#: AudacityApp.cpp:635
 msgid "Input Meter"
 msgstr "Merač vstupu"
 
-#: ../src/AudacityApp.cpp:369
+#: AudacityApp.cpp:636
 msgid "Output Meter"
 msgstr "Merač výstupu"
 
 #. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:534 Menus.cpp:575
+#: AudacityApp.cpp:791
 msgid "&Preferences...\tCtrl+,"
-msgstr ""
+msgstr "&Predvoľby...\tCtrl+,"
 
-#: ../src/AudacityApp.cpp:626
-#: ../src/AudacityApp.cpp:696
+#: AudacityApp.cpp:878
+#: AudacityApp.cpp:955
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Používam veľkosť bloku %ld\n"
 
-#: ../src/AudacityApp.cpp:641
-#: ../src/AudacityApp.cpp:711
+#: AudacityApp.cpp:900
+#: AudacityApp.cpp:970
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Neznáma voľba riadkového príkazu: %s\n"
 
-#: ../src/AudacityApp.cpp:773
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1104
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity nemôže nájsť umiestnenie pre dočasné súbory \n"
+msgstr ""
+"Audacity nemôže nájsť umiestnenie pre dočasné súbory.\n"
 "Prosím zadajte správny adresár v dialógu pre nastavenia."
 
-#: AudacityApp.cpp:845
-#, fuzzy
+#: AudacityApp.cpp:1110
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
-msgstr "Audacity sa teraz ukončí. Aby sa použil nový dočasný adresár, prosím spustite Audacity znovu."
+msgstr "Audacity sa  vypína. Aby sa použil nový dočasný adresár, prosím spuste Audacity znovu."
 
-#: AudacityApp.cpp:877
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1142
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
 msgstr ""
+"Súčasné spustené dve kópie Audacity môžu zapríčiniť\n"
+"stratu dát alebo pád vašeho systému.\n"
+"\n"
 
-#: AudacityApp.cpp:884
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1149
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
 msgstr ""
+"Audacity nemôže nájsť adresár pre pracovné súbory.\n"
+"Je možné, že tento adresár práve používa iná kópia Audacity.\n"
 
-#: AudacityApp.cpp:886
+#: AudacityApp.cpp:1151
 msgid "Do you still want to start Audacity?"
-msgstr ""
+msgstr "Skutočne chcete spustiť Audacity?"
 
-#: ../src/AudacityApp.cpp:829
+#: AudacityApp.cpp:1153
 msgid "Error locking temporary folder"
 msgstr "Chyba pri zamykaní dočasného adresára"
 
-#: AudacityApp.cpp:900
+#: AudacityApp.cpp:1191
 msgid "The system has detected that another copy of Audacity is running.\n"
-msgstr ""
+msgstr "Systém rozpoznal ďalšiu spustenú kópiu Audacity.\n"
 
-#: AudacityApp.cpp:902
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1193
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
 msgstr ""
+"Viac projektov naraz je možné otvoriť pomocou príkazu Súbor-Nový\n"
+"alebo Otvoriť v práve spustenom Audacity.\n"
 
-#: ../src/AudacityApp.cpp:846
+#: AudacityApp.cpp:1194
 msgid "Audacity is already running"
 msgstr "Audacity je už spustené"
 
-#: AudacityApp.cpp:1134
+#: AudacityApp.cpp:1211
 msgid "Command-line options supported:"
-msgstr ""
+msgstr "Podporované riadkové príkazy:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1137
+#: AudacityApp.cpp:1214
 msgid "\t-help (this message)"
-msgstr ""
+msgstr "\t-napovedá (táto správa)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1139
+#: AudacityApp.cpp:1216
 msgid "\t-version (display Audacity version)"
-msgstr ""
+msgstr "\t-verzia (zobraziť verziu Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1143
+#: AudacityApp.cpp:1220
 msgid "\t-test (run self diagnostics)"
-msgstr ""
+msgstr "\t-test (spustiť vlastnú diagnostiku)"
 
 #. i18n-hint '-blocksize' is the option and needs to stay in
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1148
+#: AudacityApp.cpp:1225
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
-msgstr ""
+msgstr "\t-veľkosť bloku nnn (nastaviť maximálnu veľkosť diskového bloku v bytoch)"
 
-#: AudacityApp.cpp:1149
+#: AudacityApp.cpp:1226
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
-msgstr ""
+msgstr "Uveďte tiež meno zvukového súboru alebo projektu Audacity, ktorý sa ma otvoriť."
 
-#: ../src/AudacityApp.cpp:1099
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1503
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Projektové súbory (.AUP) nie sú \n"
+msgstr ""
+"Projektové súbory (.AUP) nie sú \n"
 "asociované s Audacity. \n"
 "\n"
 "Vykonať asociáciu, aby ich bolo možné otvárať dvojklikom?"
 
-#: ../src/AudacityApp.cpp:1100
+#: AudacityApp.cpp:1504
 msgid "Audacity Project Files"
 msgstr "Projektové súbory Audacity"
 
-#: AudioIO.cpp:214
+#: AudioIO.cpp:268
 msgid "Could not find any audio devices.\n"
-msgstr ""
+msgstr "Nedá sa nájsť žiadne zvukové zariadenie.\n"
 
-#: ../src/AudioIO.cpp:167
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:269
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Nebudete môcť prehrávať alebo nahrávať zvuk.\n"
+msgstr ""
+"Nebudete môcť prehrávať alebo nahrávať zvuk.\n"
 "\n"
 
-#: ../src/AudioIO.cpp:170
+#: AudioIO.cpp:272
 msgid "Error: "
 msgstr "Chyba:"
 
-#: ../src/AudioIO.cpp:173
+#: AudioIO.cpp:275
 msgid "Error Initializing Audio"
-msgstr "Chyba pri inicializácii zvuku"
+msgstr "Chyba pri inicializácii Audio"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
-msgstr ""
-
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1389
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
+"Nastavenie opravy latencie spôsobilo, že nahrávané audio je skryté pred začiatočným bodom.\n"
+"Audacity ho preniesol späť na štart na začiatočný bod.\n"
+"Možno budete musieť použiť Nástroj na posun času (<---> alebo F5) na presunutie stopy na správne miesto."
 
-#: AutoRecovery.cpp:40
+#: AudioIO.cpp:1389
+msgid "Latency problem"
+msgstr "Problém latencie"
+
+#: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
-msgstr ""
+msgstr "Automatická oprava pádu"
 
-#: AutoRecovery.cpp:59
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+#: AutoRecovery.cpp:73
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
 msgstr ""
+"Pri poslednom spustení Audacity niektoré projekty neboli správne uložené.\n"
+"Nasledujúce projekty je možné automaticky obnoviť:"
 
-#: AutoRecovery.cpp:61
+#: AutoRecovery.cpp:75
 msgid "Recoverable projects"
-msgstr ""
+msgstr "Obnoviteľné projekty"
 
-#: AutoRecovery.cpp:64
+#: AutoRecovery.cpp:78
 msgid "Name"
-msgstr ""
+msgstr "Názov"
 
-#: AutoRecovery.cpp:70
+#: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
-msgstr ""
+msgstr "Obnovením projektu nedôjde k žiadnym zmenám súborov na disku, pokiaľ ich neuložíte.\t \t"
 
-#: AutoRecovery.cpp:74
+#: AutoRecovery.cpp:88
 msgid "Quit Audacity"
-msgstr ""
+msgstr "Ukončiť Audacity"
 
 #: AutoRecovery.cpp:89
 msgid "Do Not Recover"
-msgstr ""
+msgstr "Neobnovovať"
 
 #: AutoRecovery.cpp:90
 msgid "Recover Projects"
-msgstr ""
+msgstr "Obnoviť projekty"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
 msgstr ""
+"Skutočne nechcete opraviť žiadne projekty?\n"
+"Neskoršie už oprava nebude možná."
 
 #: AutoRecovery.cpp:128
 msgid "Confirm?"
-msgstr ""
+msgstr "Potvrdiť?"
 
-#: AutoRecovery.cpp:132 AutoRecovery.cpp:169
+#: AutoRecovery.cpp:146
+#: AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:723
-#: ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+msgstr "Nebolo možné zistiť počet súborov v záložnom adresári"
+
+#: AutoRecovery.cpp:147
+#: AutoRecovery.cpp:184
+#: Menus.cpp:3096
+#: Menus.cpp:3108
+#: Menus.cpp:5238
+#: Project.cpp:2158
+#: Project.cpp:3790
+#: Project.cpp:3869
+#: TrackPanel.cpp:6392
+#: WaveTrack.cpp:827
+#: WaveTrack.cpp:846
+#: WaveTrack.cpp:1864
+#: effects/Contrast.cpp:127
+#: effects/Contrast.cpp:137
+#: effects/Effect.cpp:515
+#: export/ExportFFmpeg.cpp:641
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:260
+#: toolbars/ControlToolBar.cpp:542
+#: toolbars/ControlToolBar.cpp:871
 msgid "Error"
 msgstr "Chyba"
 
-#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
-#: BatchCommandDialog.cpp:61
+#: BatchCommandDialog.cpp:57
+#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
 msgid "Select Command"
-msgstr ""
+msgstr "Zvoľte príkaz"
 
-#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:451
-#: prefs/KeyConfigPrefs.cpp:140
+#: BatchCommandDialog.cpp:82
+#: BatchProcessDialog.cpp:454
+#: prefs/KeyConfigPrefs.cpp:158
 msgid "&Command"
-msgstr ""
+msgstr "&Príkaz"
 
-#: BatchCommandDialog.cpp:82
+#: BatchCommandDialog.cpp:84
 msgid "&Edit Parameters"
-msgstr ""
+msgstr "&Upraviť parametre"
 
-#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:452
+#: BatchCommandDialog.cpp:91
+#: BatchProcessDialog.cpp:455
 msgid "&Parameters"
-msgstr ""
+msgstr "&Parametre"
 
-#: BatchCommandDialog.cpp:93
+#: BatchCommandDialog.cpp:96
 msgid "C&hoose command"
-msgstr ""
+msgstr "Z&voliť príkaz"
 
 #: BatchCommands.cpp:456
 msgid "Stereo to Mono Effect not found"
-msgstr ""
+msgstr "Efekt Stereo na mono nebol nájdený"
 
-#: ../src/export/Export.cpp:366
+#: BatchCommands.cpp:476
 msgid "Ogg Vorbis support is not included in this build of Audacity"
-msgstr "V tejto verzii Audacity nie je podpora pre Ogg Vorbis."
+msgstr "V tomto zostavení Audacity nie je podpora pre Ogg Vorbis."
 
-#: BatchCommands.cpp:509
+#: BatchCommands.cpp:488
 msgid "FLAC support is not included in this build of Audacity"
-msgstr ""
+msgstr "V tomto zostavení Audacity nie je podpora pre FLAC"
 
-#: BatchCommands.cpp:513
+#: BatchCommands.cpp:492
 #, c-format
 msgid "Command %s not implemented yet"
-msgstr ""
+msgstr "Príkaz %s zatiaľ nie je implementovaný"
 
-#: BatchCommands.cpp:529
+#: BatchCommands.cpp:508
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
 msgstr ""
+"Nedajú sa nastaviť parametre efektu %s\n"
+" na %s."
 
-#: BatchCommands.cpp:583
+#: BatchCommands.cpp:561
 #, c-format
 msgid "Your batch command of %s was not recognised."
-msgstr ""
+msgstr "Váš dávkový príkaz %s nebol uznaný. "
 
-#: BatchCommands.cpp:674
+#: BatchCommands.cpp:652
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
 msgstr ""
+"Použiť %s s parametrami\n"
+"\n"
+"%s"
 
-#: BatchCommands.cpp:675 BatchCommands.cpp:680
+#: BatchCommands.cpp:653
+#: BatchCommands.cpp:658
 msgid "Test Mode"
-msgstr ""
+msgstr "Testovací režim"
 
-#: BatchCommands.cpp:679
+#: BatchCommands.cpp:657
 #, c-format
 msgid "Apply %s"
-msgstr ""
+msgstr "Použiť %s"
 
-#: BatchProcessDialog.cpp:58 BatchProcessDialog.cpp:68
-#: BatchProcessDialog.cpp:69
+#: BatchProcessDialog.cpp:60
+#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
-msgstr ""
+msgstr "Použiť sadu príkazov"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "CleanSpeech dávkové spracovanie"
 
-#: BatchProcessDialog.cpp:92
+#: BatchProcessDialog.cpp:94
 msgid "&Select chain"
-msgstr ""
+msgstr "&Vybrať sadu príkazov"
 
-#: BatchProcessDialog.cpp:97
+#: BatchProcessDialog.cpp:99
 msgid "Chain"
-msgstr ""
+msgstr "Sada príkazov"
 
-#: BatchProcessDialog.cpp:104
+#: BatchProcessDialog.cpp:106
 msgid "Apply to Current &Project"
-msgstr ""
+msgstr "Použiť na súčasný &Projekt"
 
-#: BatchProcessDialog.cpp:105
+#: BatchProcessDialog.cpp:107
 msgid "Apply to &Files..."
-msgstr ""
-
-#: BatchProcessDialog.cpp:106 BatchProcessDialog.cpp:245 LabelDialog.cpp:134
-#: LabelDialog.cpp:138 UploadDialog.cpp:178 effects/Amplify.cpp:209
-#: effects/AutoDuck.cpp:528 effects/AutoDuck.cpp:532
-#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:184
-#: effects/ChangePitch.cpp:395 effects/ChangeSpeed.cpp:393
-#: effects/ChangeTempo.cpp:297 effects/ClickRemoval.cpp:429
-#: effects/Compressor.cpp:516 effects/Effect.cpp:387 effects/Effect.cpp:393
-#: effects/Equalization.cpp:1166 effects/Leveller.cpp:266
-#: effects/Normalize.cpp:353 effects/Phaser.cpp:600 effects/Repeat.cpp:271
-#: effects/SpikeCleaner.cpp:188 effects/TruncSilence.cpp:278
-#: effects/VST/VSTEffect.cpp:95 effects/VST/VSTEffect.cpp:452
-#: effects/Wahwah.cpp:587 effects/audiounits/AudioUnitEffect.cpp:862
-#: effects/ladspa/LadspaEffect.cpp:589 effects/nyquist/Nyquist.cpp:823
-#: effects/nyquist/Nyquist.cpp:987 export/Export.cpp:788
-#: export/ExportMultiple.cpp:844 import/ImportRaw.cpp:443
-#: prefs/FileFormatPrefs.cpp:407 prefs/PrefsDialog.cpp:169
+msgstr "Použiť na &Súbory..."
+
+#: BatchProcessDialog.cpp:108
+#: BatchProcessDialog.cpp:247
+#: UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732
+#: effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188
+#: effects/VST/VSTEffect.cpp:453
+#: effects/audiounits/AudioUnitEffect.cpp:887
 msgid "&Cancel"
-msgstr ""
+msgstr "&Zrušiť"
 
-#: BatchProcessDialog.cpp:144 BatchProcessDialog.cpp:189
+#: BatchProcessDialog.cpp:146
+#: BatchProcessDialog.cpp:191
 msgid "No chain selected"
-msgstr ""
+msgstr "Nie je vybraná sada"
 
-#: BatchProcessDialog.cpp:157
+#: BatchProcessDialog.cpp:159
 #, c-format
 msgid "Applying '%s' to current project"
-msgstr ""
+msgstr "Použité  '%s' na súčasný projekt"
 
-#: BatchProcessDialog.cpp:198
+#: BatchProcessDialog.cpp:200
 msgid "Please save and close the current project first."
-msgstr ""
+msgstr "Najprv prosím uložte a uzavrite súčasný projekt."
 
 #: BatchProcessDialog.cpp:206
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "Vybrať vokálny súbor(y) pre dávky CleanSpeech reťazca..."
 
-#: BatchProcessDialog.cpp:205
+#: BatchProcessDialog.cpp:207
 msgid "Select file(s) for batch processing..."
-msgstr ""
+msgstr "Výber súbory pre dávkové spracovanie..."
 
 #: BatchProcessDialog.cpp:209
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "Vokálne súbory (*.wav;*.mp3)|*.wav;*.mp3|WAV súbory (*.wav)|*.wav|MP3 súbory (*.mp3)|*.mp3"
 
-#: BatchProcessDialog.cpp:208
+#: BatchProcessDialog.cpp:210
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
-msgstr ""
+msgstr "Všetky súbory (*.*)|*.*|WAV súbory (*.wav)|*.wav|AIFF súbory (*.aif)|*.aif|AU súbory (*.au)|*.au|MP3 súbory (*.mp3)|*.mp3|Ogg Vorbis súbory (*.ogg)|*.ogg|FLAC súbory (*.flac)|*.flac"
 
-#: BatchProcessDialog.cpp:229
+#: BatchProcessDialog.cpp:231
 msgid "Applying..."
-msgstr ""
+msgstr "Aplikuje sa..."
 
-#: BatchProcessDialog.cpp:239
+#: BatchProcessDialog.cpp:241
 msgid "File"
-msgstr ""
+msgstr "Súbor"
 
-#: BatchProcessDialog.cpp:354 BatchProcessDialog.cpp:358
-#: BatchProcessDialog.cpp:359
+#: BatchProcessDialog.cpp:356
+#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
-msgstr ""
+msgstr "Editovať sady príkazov"
 
-#: BatchProcessDialog.cpp:414
+#: BatchProcessDialog.cpp:416
 msgid "&Chains"
-msgstr ""
+msgstr "&Sady príkazov"
 
-#: BatchProcessDialog.cpp:433
+#: BatchProcessDialog.cpp:435
+#: Tags.cpp:813
 msgid "&Add"
-msgstr ""
+msgstr "&Pridať"
 
-#: BatchProcessDialog.cpp:434 LabelDialog.cpp:126 TrackPanel.cpp:3925
+#: BatchProcessDialog.cpp:436
+#: LabelDialog.cpp:128
+#: Tags.cpp:814
+#: TrackPanel.cpp:4186
 msgid "&Remove"
-msgstr ""
+msgstr "&Odstrániť"
 
-#: BatchProcessDialog.cpp:435
+#: BatchProcessDialog.cpp:437
 msgid "Re&name"
-msgstr ""
+msgstr "Pre&menovať"
 
-#: BatchProcessDialog.cpp:441
+#: BatchProcessDialog.cpp:443
 msgid "C&hain (Double-Click or press SPACE to edit)"
-msgstr ""
+msgstr "R&eťazec (Editujte dvojkliknutí, alebo stlačte medzerník)"
 
-#: BatchProcessDialog.cpp:450
-msgid "No"
-msgstr ""
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
+msgstr "Num"
 
-#: BatchProcessDialog.cpp:456
+#: BatchProcessDialog.cpp:459
 msgid "&Insert"
-msgstr ""
+msgstr "&Vložiť"
 
-#: BatchProcessDialog.cpp:457
+#: BatchProcessDialog.cpp:460
 msgid "De&lete"
-msgstr ""
+msgstr "Zma&zať"
 
-#: BatchProcessDialog.cpp:458
+#: BatchProcessDialog.cpp:461
 msgid "Move &Up"
-msgstr ""
+msgstr "Posunúť na&hor"
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:462
 msgid "Move &Down"
-msgstr ""
+msgstr "Posunúť na&dol"
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:463
 msgid "De&faults"
-msgstr ""
+msgstr "Pre&dvolené"
 
-#: BatchProcessDialog.cpp:504
+#: BatchProcessDialog.cpp:507
 msgid "- END -"
-msgstr ""
+msgstr "- KONIEC -"
 
-#: BatchProcessDialog.cpp:531
+#: BatchProcessDialog.cpp:540
 #, c-format
 msgid "%s changed"
-msgstr ""
+msgstr "%s zmenené"
 
-#: BatchProcessDialog.cpp:532
+#: BatchProcessDialog.cpp:541
 msgid "Do you want to save the changes?"
-msgstr ""
+msgstr "Chcete uložiť zmeny?"
 
-#: BatchProcessDialog.cpp:614
+#: BatchProcessDialog.cpp:623
 msgid "Enter name of new chain"
-msgstr ""
+msgstr "Vložte názov novej sady"
 
-#: BatchProcessDialog.cpp:625
+#: BatchProcessDialog.cpp:634
 msgid "Name must not be blank"
-msgstr ""
+msgstr "Názov nesmie byť prázdny"
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:643
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
-msgstr ""
+msgstr "Názvy nesmú obsahovať '%c' a '%c'"
 
-#: BatchProcessDialog.cpp:664
+#: BatchProcessDialog.cpp:673
 #, c-format
 msgid "Are you sure you want to delete %s?"
-msgstr ""
+msgstr "Skutočne chcete zmazať %s?"
 
 #: Dependencies.cpp:139
 msgid "Removing Dependencies"
-msgstr ""
+msgstr "Odstraňovanie závislostí"
 
 #: Dependencies.cpp:140
 msgid "Copying audio data into project..."
-msgstr ""
+msgstr "Do projektu sa kopírujú zvukové dáta..."
 
-#: Dependencies.cpp:219
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
 msgstr ""
+"Váš projekt je teraz závislý na prítomnosti ďalších súborov.\n"
+"Chcete prekopírovať zvukové dáta z následujúcich súborov do vášho projektu,\n"
+"aby bol nezávislý? Zaberie to viac miesta na disku, ale je to bezpečnejšie."
 
-#: Dependencies.cpp:266
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
-msgstr ""
+msgstr "Projekt závisí na ďalších zvukových súboroch"
 
-#: Dependencies.cpp:287
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
-msgstr ""
+msgstr "Závislosti projektu"
 
-#: Dependencies.cpp:290
+#: Dependencies.cpp:297
 msgid "Audio file"
-msgstr ""
+msgstr "Audio súbor"
 
-#: Dependencies.cpp:292
+#: Dependencies.cpp:299
 msgid "Disk space"
-msgstr ""
+msgstr "Miesto na disku"
 
-#: Dependencies.cpp:297
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
-msgstr ""
+msgstr "Prekopírovať vybrané zvukové dáta do projektu"
 
-#: Dependencies.cpp:304 Dependencies.cpp:413
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
-msgstr ""
+msgstr "Zrušiť ukladanie"
 
-#: Dependencies.cpp:306
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
-msgstr ""
+msgstr "Nekopírovať žiadne zvukové dáta"
 
-#: Dependencies.cpp:308
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
-msgstr ""
+msgstr "Kopírovať všetky zvukové dáta do projektu (bezpečnejšie)"
 
-#: Dependencies.cpp:320 Dependencies.cpp:325
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
-msgstr ""
+msgstr "Spýtaj sa ma"
 
-#: Dependencies.cpp:318
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
-msgstr ""
+msgstr "Vždy kopírovať všetky audio dáta (najbezpečnejšie)"
 
-#: Dependencies.cpp:319
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
-msgstr ""
+msgstr "Nikdy nekopírovať audio"
 
-#: Dependencies.cpp:324
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
-msgstr ""
+msgstr "Keď projekt závisí na iných súboroch:"
 
-#: Dependencies.cpp:412
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
-msgstr ""
+msgstr "Ak budete pokračovať, váš projekt nebude uložený na disk. To je to, čo chcete?"
 
-#: Dependencies.cpp:452
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
-msgstr ""
+msgstr "Váš projekt nie je závislý na žiadnych externých zvukových súboroch."
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:457
 msgid "Dependency check"
-msgstr ""
+msgstr "Kontrola závislostí"
 
-#: DirManager.cpp:136
-#, fuzzy
-msgid "Warning: there is very little free disk space left on this volume.\n"
+#: DirManager.cpp:137
+msgid ""
+"Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr "Varovanie: na tomto zväzku je veľmi málo diskového priestoru. Prosím zvoľte v nastaveniach iný dočasný adresár."
+msgstr ""
+"Varovanie: na tomto disku je veľmi málo voľného miesta.\n"
+"Prosím zvoľte v nastaveniach iný dočasný adresár."
 
-#: ../src/DirManager.cpp:157
+#: DirManager.cpp:223
+#: DirManager.cpp:254
+#: DirManager.cpp:337
 msgid "Progress"
 msgstr "Postup"
 
-#: DirManager.cpp:285
+#: DirManager.cpp:288
 msgid "Cleaning up temporary files"
-msgstr ""
+msgstr "Odstraňujú sa pracovné súbory"
 
-#: DirManager.cpp:333
+#: DirManager.cpp:338
 msgid "Saving project data files"
-msgstr ""
+msgstr "Ukladajú sa dátové súbory"
 
-#: DirManager.cpp:406
+#: DirManager.cpp:410
 msgid "Cleaning up cache directories"
-msgstr ""
+msgstr "Odstraňujú sa adresáre z vyrovnávacej pamäte"
 
-#: DirManager.cpp:493
+#: DirManager.cpp:505
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
 msgstr ""
+"Audacity našiel opustený blokový súbor %s! \n"
+"Prosím zvážte uloženie a nové otvorenie projektu. Tím dôjde k celkovej kontrole projektu.\n"
 
-#  i18n-hint: This is the pattern for filenames that are created
-#  when a file needs to be backed up to a different name.  For
-#  example, mysong would become mysong-old1, mysong-old2, etc.
 #. i18n-hint: This is the pattern for filenames that are created
-#: ../src/DirManager.cpp:627
+#. when a file needs to be backed up to a different name.  For
+#. example, mysong would become mysong-old1, mysong-old2, etc.
+#: DirManager.cpp:1094
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-pov%d"
 
-#: DirManager.cpp:993
+#: DirManager.cpp:1102
 msgid "Unable to open/create test file"
-msgstr ""
+msgstr "Nedá sa otvoriť/vytvoriť testovací súbor"
 
-#: DirManager.cpp:1002
+#: DirManager.cpp:1111
 #, c-format
 msgid "Unable to remove '%s'"
-msgstr ""
+msgstr "Nedá sa odstrániť '%s'"
 
-#: ../src/DirManager.cpp:643
+#: DirManager.cpp:1116
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Premenovaný súbor: %s\n"
 
-#: DirManager.cpp:1051
+#: DirManager.cpp:1166
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
-msgstr ""
+msgstr "Nedá sa premenovať z '%s' na '%s'"
 
 #: DirManager.cpp:1183
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Zmenil blok %s na nový podobný názov \n"
 
-#: DirManager.cpp:1115 DirManager.cpp:1403
+#: DirManager.cpp:1249
+#: DirManager.cpp:1540
 msgid "Inspecting project file data..."
-msgstr ""
+msgstr "Kontrolujú sa dáta projektu..."
 
-#: DirManager.cpp:1128
+#: DirManager.cpp:1265
 #, c-format
 msgid "Orphaned blockfile: (%s)"
-msgstr ""
+msgstr "Opustený blokový súbor: (%s)"
 
-#: DirManager.cpp:1153
+#: DirManager.cpp:1290
 #, c-format
 msgid "Missing alias file: (%s)"
-msgstr ""
+msgstr "Chýbajúci podobný súbor: (%s)"
 
-#: DirManager.cpp:1173
+#: DirManager.cpp:1310
 #, c-format
 msgid "Missing summary file: (%s.auf)"
-msgstr ""
+msgstr "Chýbajúci sumárny súbor: (%s.auf)"
 
-#: DirManager.cpp:1193
+#: DirManager.cpp:1330
 #, c-format
 msgid "Missing data file: (%s.au)"
-msgstr ""
+msgstr "Chýbajúci dátový súbor: (%s.au)"
 
-#: DirManager.cpp:1207
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1344
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
 msgstr ""
+"V dátach projektu boli zistené nezrovnalosti. Nájdené chyby sa zobrazia,\n"
+"ak kliknete na 'Podrobnosti'. Kliknutím na 'OK' sa dostanete k ďalším možnostiam."
 
-#: DirManager.cpp:1219
+#: DirManager.cpp:1356
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
 msgstr ""
+"Pri kontrole projektu boli nájdené %d nevyužité blokové súbory ,\n"
+"ktoré vznikli pravdepodobne pri páde programu alebo nejakou chybou.\n"
+"Tieto súbory by mali byť odstránené, aby sa predišlo konfliktom."
 
-#: DirManager.cpp:1224
+#: DirManager.cpp:1361
 msgid "Delete orphaned files [safe and recommended]"
-msgstr ""
+msgstr "Zmazať nevyužité súbory [bezpečné a doporučené]"
 
-#: DirManager.cpp:1225
+#: DirManager.cpp:1362
 msgid "Continue without deleting; silently work around the extra files"
-msgstr ""
+msgstr "Pokračovať bez zmazania a opatrne pracovať okolo extra súborov"
 
-#: DirManager.cpp:1226
+#: DirManager.cpp:1363
 msgid "Close project immediately with no changes"
-msgstr ""
-
-#: ../src/widgets/Warning.cpp:45
+msgstr "Zavrieť projekt okamžite bez zmeny"
+
+#: DirManager.cpp:1365
+#: DirManager.cpp:1400
+#: DirManager.cpp:1446
+#: DirManager.cpp:1488
+#: export/Export.cpp:582
+#: export/Export.cpp:603
+#: export/Export.cpp:622
+#: widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Varovanie"
 
-#: DirManager.cpp:1254
+#: DirManager.cpp:1391
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
 msgstr ""
+"Kontrola projektu zistila, že chýba %d vstupný súbor,\n"
+"na ktorý odkazujú podobné súbory. Audacity nemá možnosť\n"
+"ich automaticky opraviť. Môžete zvoliť, či sa majú nahradiť\n"
+"tichom natrvalo, alebo iba dočasne, alebo zavrieť projekt\n"
+"a pokúsiť sa chýbajúci súbor obnoviť ručne."
 
-#: DirManager.cpp:1259
+#: DirManager.cpp:1396
 msgid "Replace missing data with silence [permanent upon save]"
-msgstr ""
+msgstr "Nahradiť chýbajúce dáta tichom [po uložení natrvalo]"
 
-#: DirManager.cpp:1260 DirManager.cpp:1348
+#: DirManager.cpp:1397
+#: DirManager.cpp:1485
 msgid "Temporarily replace missing data with silence [this session only]"
-msgstr ""
+msgstr "Dočasne nahradiť chýbajúce údaje tichom [iba pre toto otvorenie]"
 
-#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
 msgid "Close project immediately with no further changes"
-msgstr ""
+msgstr "Zavrieť projekt okamžite bez ďalších zmien"
 
-#: DirManager.cpp:1300
+#: DirManager.cpp:1437
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
 msgstr ""
+"Kontrola projektu zistila %d chýbajúce súčtové\n"
+"súbory (.auf). Audacity môže tieto súbory úplne\n"
+"obnoviť podľa pôvodných zvukových dát v projekte."
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1442
 msgid "Regenerate summary files [safe and recommended]"
-msgstr ""
+msgstr "Obnoviť súčtové súbory [bezpečné a doporučené]"
 
-#: DirManager.cpp:1306
+#: DirManager.cpp:1443
 msgid "Fill in silence for missing display data [this session only]"
-msgstr ""
+msgstr "Nahradiť stratené dáta tichom [iba pre toto otvorenie]"
 
-#: DirManager.cpp:1342
+#: DirManager.cpp:1479
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
@@ -887,1982 +1001,2087 @@ msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
 msgstr ""
+"Kontrola projektu zistila %d že chýbajú blokové súbory (.au)\n"
+"so zvukovými dátami. Ku strate došlo pravdepodobne v dôsledku chyby\n"
+"programu, pádu systému alebo nechceným vymazaním. Nie je spôsob,\n"
+"ako by Audacity mohol tieto súbory obnoviť automaticky. Stratené dáta\n"
+" môžete natrvalo alebo dočasne nahradiť tichom alebo teraz zavrieť projekt\n"
+"a skúsiť  obnovu ručne."
 
-#: DirManager.cpp:1347
+#: DirManager.cpp:1484
 msgid "Replace missing data with silence [permanent immediately]"
-msgstr ""
+msgstr "Nahradiť chýbajúce dáta tichom [natrvalo]"
 
-#: DirManager.cpp:1375
+#: DirManager.cpp:1512
 msgid "Cleaning up unused directories in project data..."
-msgstr ""
+msgstr "Odstraňujú sa nevyužité adresáre v projekte..."
 
-#: DirManager.cpp:1448
+#: DirManager.cpp:1583
 msgid "Caching audio"
-msgstr ""
+msgstr "Ukladanie do vyrovnávacej pamäte"
 
-#: DirManager.cpp:1449
+#: DirManager.cpp:1584
 msgid "Caching audio into memory..."
-msgstr ""
+msgstr "Zvuk sa nahráva do vyrovnávacej pamäte..."
 
-#: DirManager.cpp:1486
+#: DirManager.cpp:1617
 msgid "Saving recorded audio"
-msgstr ""
+msgstr "Nahraný zvuk sa ukladá"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1618
 msgid "Saving recorded audio to disk..."
-msgstr ""
+msgstr "Nahraný zvuk sa ukladá na disk..."
 
-#: ../src/FFT.cpp:364
+#: FFT.cpp:389
 msgid "Rectangular"
 msgstr "Obdĺžnikový"
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "FFmpeg podpora nebola nastavená"
 
 #: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
 "You may want to go back to Preferences > Import/Export and re-configure it."
 msgstr ""
+"FFmpeg bol nastavený v Predvoľbách a úspešne sa načítal pred,                                      \n"
+"ale tentoraz sa ho Audacity nepodarilo načítať pri štarte. \n"
+"\n"
+"Mali by ste sa vrátiť do Predvoľieb-> Import / Export a re-konfigurovať ho."
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "FFmpeg  pri Å¡tarte zlyhalo"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:112
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "FFmpeg knižnica nenájdená"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:172
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "Nájsť FFmpeg"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:192
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity potrebuje súbor %s pre import a export audio cez FFmpeg."
 
-#: export/ExportMP3.cpp:507
+#: FFmpeg.cpp:198
+#: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
-msgstr ""
+msgstr "Umiestnenie %s:"
 
-#: export/ExportMP3.cpp:516
+#: FFmpeg.cpp:207
+#: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
-msgstr ""
+msgstr "Ak chcete nájsť %s, kliknite tu -->"
 
-#: export/ExportMP3.cpp:522
+#: FFmpeg.cpp:213
+#: export/ExportMP3.cpp:577
 msgid "Browse..."
-msgstr ""
+msgstr "Prehliadať..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:214
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "Voľne dostupnú kópiu FFmpeg získate kliknutím sem  -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:215
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Stiahnuť"
 
 #. i18n-hint: It's asking for the location of a file, for
-#: ../src/export/ExportMP3.cpp:113
+#. example, "Where is lame_enc.dll?" - you could translate
+#. "Where would I find the file %s" instead if you want.
+#: FFmpeg.cpp:237
+#: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Kde je %s?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Nepodarilo sa nájsť kompatibilné FFmpeg knižnice"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:87
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "FFmpeg nenájdená"
 
 #: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
+msgid ""
+"Audacity attempted to use FFmpeg libraries to import an audio file,\n"
 "but libraries were not found.\n"
 "If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
 "and tell Audacity where to look for the libraries."
 msgstr ""
+"Audacity sa pokúsil použiť FFmpeg knižnice pre import zvukového súboru,\n"
+"ale knižnice neboli nájdené. \n"
+"Ak chcete použiť FFmpeg funkciu importu, prejdite na Nastavenia-> Import / Export \n"
+"a povedzte Audacity, kde má hľadať knižnice."
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Nezobrazovať znovu toto varovanie"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:242
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "Len avformat.dll|*avformat*.dll|Dynamicky Prepojené Knižnice (*.dll)|*.dll|Všetky súbory (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:275
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dynamické Knižnice (*.dylib)|*.dylib|Všetky súbory(*)|*"
 
-#: FFmpeg.h:266
+#: FFmpeg.h:302
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Len libavformat.so|libavformat.so*|Dynamicky Prepojené Knižnice (*.so*)|*.so*|Všetky súbory (*)|*"
 
-#: ../src/FreqWindow.cpp:68
+#: FreqWindow.cpp:103
 msgid "Frequency Analysis"
 msgstr "Frekvenčná analýza"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:837
+#: FreqWindow.cpp:139
+#: TrackPanel.cpp:553
+#: prefs/GUIPrefs.cpp:156
 msgid "Spectrum"
 msgstr "Spektrum"
 
-#: ../src/FreqWindow.cpp:130
+#: FreqWindow.cpp:140
 msgid "Standard Autocorrelation"
 msgstr "Štandardná autokorelácia"
 
-#: ../src/FreqWindow.cpp:131
+#: FreqWindow.cpp:141
 msgid "Cuberoot Autocorrelation"
-msgstr "Cuberoot autokorelácia"
+msgstr "Autokorelácia hlavného adresára"
 
-#: ../src/FreqWindow.cpp:132
+#: FreqWindow.cpp:142
 msgid "Enhanced Autocorrelation"
 msgstr "Vylepšená autokorelácia"
 
 #. i18n-hint: This is a technical term, derived from the word
-#: ../src/FreqWindow.cpp:136
+#. "spectrum".  Do not translate it unless you are sure you
+#. know the correct technical word in your language.
+#: FreqWindow.cpp:146
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
+#: FreqWindow.cpp:150
+#: FreqWindow.cpp:154
 msgid "Algorithm"
-msgstr ""
+msgstr "Algoritmus"
 
-#: ../src/HistoryWindow.cpp:58
+#: FreqWindow.cpp:169
+#: FreqWindow.cpp:173
+#: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Veľkosť"
 
-#  i18n-hint: This refers to a "window function", used in the
-#  Frequency analyze dialog box.
 #. i18n-hint: This refers to a "window function", used in the
-#: ../src/FreqWindow.cpp:167
+#. Frequency analyze dialog box.
+#: FreqWindow.cpp:183
 msgid " window"
 msgstr " okno"
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+#: FreqWindow.cpp:187
+#: FreqWindow.cpp:191
 msgid "Function"
-msgstr ""
+msgstr "Funkcia"
 
-#: ../src/FreqWindow.cpp:177
+#: FreqWindow.cpp:196
 msgid "Linear frequency"
-msgstr "Lineárna frekvence"
+msgstr "Lineárna frekvencia"
 
-#: ../src/FreqWindow.cpp:178
+#: FreqWindow.cpp:197
 msgid "Log frequency"
 msgstr "Log frekvencie"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+#: FreqWindow.cpp:201
+#: FreqWindow.cpp:205
 msgid "Axis"
-msgstr ""
+msgstr "Os"
 
-#: FreqWindow.cpp:204 LabelDialog.cpp:128
+#: FreqWindow.cpp:212
+#: LabelDialog.cpp:130
+#: Menus.cpp:242
+#: Menus.cpp:277
 msgid "&Export..."
-msgstr ""
+msgstr "&Exportovať..."
 
-#: HelpText.cpp:77 export/ExportCL.cpp:320
+#: FreqWindow.cpp:213
+#: effects/Contrast.cpp:437
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
-msgstr ""
+msgstr "Export"
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
-#: ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463
+#: FreqWindow.cpp:216
+#: FreqWindow.cpp:217
+#: widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "Zavrieť"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
-#: ../src/widgets/Meter.cpp:293
+#: FreqWindow.cpp:280
+#: FreqWindow.cpp:410
+#: effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523
+#: effects/AutoDuck.cpp:792
+#: effects/Compressor.cpp:352
+#: effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1121
+#: effects/Equalization.cpp:1123
+#: effects/Equalization.cpp:1131
+#: effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1406
+#: effects/Equalization.cpp:1417
+#: effects/Normalize.cpp:368
+#: widgets/Meter.cpp:413
 msgid "dB"
 msgstr "dB"
 
-#  i18n-hint: This is the abbreviation for "Hertz", or
-#  cycles per second.
 #. i18n-hint: This is the abbreviation for "Hertz", or
-#: ../src/import/ImportRaw.cpp:378
+#. cycles per second.
+#: FreqWindow.cpp:295
+#: FreqWindow.cpp:450
+#: effects/Equalization.cpp:1162
+#: effects/Equalization.cpp:1193
+#: import/ImportRaw.cpp:402
 msgid "Hz"
 msgstr "Hz"
 
-#: ../src/FreqWindow.cpp:463
+#: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "Nie je zvolené dostatočné množstvo dát."
 
-#: FreqWindow.cpp:441 effects/AutoDuck.cpp:801
+#: FreqWindow.cpp:458
+#: effects/AutoDuck.cpp:794
 msgid "s"
-msgstr ""
+msgstr "s"
 
-#: FreqWindow.cpp:769
+#: FreqWindow.cpp:787
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
-msgstr ""
+msgstr "Kurzor: %d Hz (%s) = %d dB    Špička: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:778
+#: FreqWindow.cpp:796
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
-msgstr ""
+msgstr "Kurzor: %.4f sec (%d Hz) (%s) = %f,    Špička: %.4f sec (%d Hz) (%s) = %.3f"
 
-#: ../src/FreqWindow.cpp:996
+#: FreqWindow.cpp:1069
 msgid "spectrum.txt"
 msgstr "spectrum.txt"
 
-#: ../src/FreqWindow.cpp:998
+#: FreqWindow.cpp:1071
 msgid "Export Spectral Data As:"
 msgstr "Exportovať spektrálne dáta ako:"
 
-#: ../src/FreqWindow.cpp:1014
-#: ../src/Menus.cpp:1393
-#: ../src/Project.cpp:2159
-#: ../src/prefs/KeyConfigPrefs.cpp:173
+#: FreqWindow.cpp:1087
+#: LabelDialog.cpp:603
+#: Menus.cpp:2563
+#: Project.cpp:2737
+#: Project.cpp:3842
+#: effects/Contrast.cpp:567
+#: prefs/KeyConfigPrefs.cpp:195
 msgid "Couldn't write to file: "
 msgstr "Nie je možné zapisovať do súboru:"
 
-#: ../src/FreqWindow.cpp:1019
+#: FreqWindow.cpp:1092
 msgid "Frequency (Hz)\tLevel (dB)"
-msgstr "Frekvencia (Hz)Ú\troveň (dB)"
+msgstr "Frekvencia (Hz)\tÚroveň (dB)"
 
-#: ../src/FreqWindow.cpp:1025
+#: FreqWindow.cpp:1098
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Oneskorenie (sekundy)\tFrekvencia (Hz)\tÚroveň"
 
+#: GStreamerLoader.cpp:220
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:237
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences->Import/Export and re-configure it."
+msgstr ""
+"Gstreamer sa nastavuje v predvoľbach a úspešne načítava pred \n"
+"                      ale tentoraz sa ho Audacity nepodarilo načítať pri štarte. \n"
+"                       Mali by ste sa vrátiť do Predvoľieb-> Import / Export a re-konfigurovať ho."
+
+#: GStreamerLoader.cpp:240
+msgid "GStreamer startup failed"
+msgstr "Gstreamer pri Å¡tarte zlyhalo"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
-msgstr ""
+msgstr "Na [[welcome|Uvítacia obrazovka]]"
 
-#: HelpText.cpp:60
+#: HelpText.cpp:92
 msgid "Welcome!"
-msgstr ""
+msgstr "Vitajte!"
 
-#: HelpText.cpp:65
+#: HelpText.cpp:97
 msgid "Playing Audio"
-msgstr ""
+msgstr "Prehráva sa zvuk"
 
-#: HelpText.cpp:69
+#: HelpText.cpp:101
 msgid "Recording Audio"
-msgstr ""
+msgstr "Nahráva sa zvuk"
 
 #: HelpText.cpp:105
 msgid "Recording - Choosing the Input Device"
-msgstr ""
+msgstr "Nahrávanie - nastavenie vstupného zariadenia"
 
 #: HelpText.cpp:109
 msgid "Recording - Choosing the Input Source"
-msgstr ""
+msgstr "Nahrávanie - nastavenie zdroja vstupu"
 
 #: HelpText.cpp:113
 msgid "Recording - Setting the Input Level"
-msgstr ""
+msgstr "Nahrávanie - nastavenie vstupnej úrovne"
 
 #: HelpText.cpp:117
 msgid "Editing and greyed out Menus"
-msgstr ""
+msgstr "Úprava a sivé Menu"
 
 #: HelpText.cpp:121
 msgid "Exporting an Audio File"
-msgstr ""
+msgstr "Exportovať audio súbor"
 
 #: HelpText.cpp:125
 msgid "Saving an Audacity Project"
-msgstr ""
+msgstr "Ukladá sa Audacity projekt"
 
 #: HelpText.cpp:129
 msgid "Unsupported Formats"
-msgstr ""
+msgstr "Nepodporované formáty"
 
-#: HelpText.cpp:85
+#: HelpText.cpp:133
 msgid "Burn to CD"
-msgstr ""
+msgstr "Vypáliť na CD"
 
-#: HelpText.cpp:89
+#: HelpText.cpp:137
 msgid "No Local Help"
-msgstr ""
+msgstr "Miestna nápoveda neexistuje"
 
 #: HelpText.cpp:148
 msgid "</p><center><h3>Getting Started</h3></center><br>"
-msgstr ""
+msgstr "</p><center><h3>Ako začať</h3></center><br>"
 
 #: HelpText.cpp:150
 msgid "Welcome to Audacity "
-msgstr ""
+msgstr "Vítajte v Audacity"
 
 #: HelpText.cpp:151
 msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr ""
+msgstr "Naučte sa: <ul> <li> [[play| prehrať]] existujúci zvukový súbor <li> [[record| záznam]] svojho hlasu, LP alebo pásky <li> [[edit| upraviť]] zvuk <li> [[save| uložiť alebo otvoriť projekt Audacity]] <li> [[export| exportovať]] na MP3 alebo iné audio súbory, alebo [[burncd | vypáliť na CD]] </ul> </p> <p>"
 
 #: HelpText.cpp:159
 msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr ""
+msgstr "Túto obrazovku si môžete pozrieť kedykoľvek kliknutím na <i> Pomoc </i> menu, potom <i> Zobraziť uvítaciu správu </i>. Pre podrobný návod na všetky Audacity menu a ovládacie prvky, kliknite na tlačidlo <i> Pomoc</i> menu potom <i> Index </i>, alebo si stiahnute  <a href=\"http://audacity.sourceforge.net /help/documentation/manual_1.4.pdf\"> plný manuál </a> vo formáte PDF. </p> "
 
 #: HelpText.cpp:172
 msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
-msgstr ""
+msgstr "<p><b> Otváranie audio súborov:</b> Buď pretiahnite súbory do aktuálneho okna projektu, alebo kliknite na tlačidlo <i> Súbor &gt; Importovať&gt; Audio </i>. Súbory je možné otvoriť do nového okna projektu, pomocou <i> Súbor &gt; Otvoriť </i>. Hlavnými formátmi, ktoré Audacity prehráva sú <b> AIFF, AU, FLAC, M4A </b> (len pre Mac), <b> MP2/MP3, OGG Vorbis </b> a <b> WAV </b>. Kliknite na tlačidlo [[wma-proprietárnu | tu]], ak súbor je v inom formáte. <b> Pre importovanie CD: </b> zmente formát na WAV alebo AIFF pomocou iTunes, Windows Media Player 11 a podobných. Pozrite si nášho online sprievodcu: [[wiki: How_to_import_CDs | pre  importovanie CD ]].</p> <p> <p> <b> Prehrávanie audio: </b> Stlačte zelené tlačidlo Play na spustenie prehrávania. Stlačte raz modré tlačidlo Pozastaviť pre pozastavenie prehrávania, a opäť obnovte. Ak chcete zastaviť, stlačte žlté tlačidlo Stop. Medzerník možno využiť buď na prehrávanie alebo zastavenia. Po zastavení, začne prehrávanie od jeho posledného bodu. Ak chcete zmeniť východiskový bod, kliknite na požadovanú skladbu na východiskové miesto. Tlačidlá <b>|&lt;&lt;</b> a <b>&gt;&gt;|</b> je možné použiť na preskočenie na začiatok alebo na koniec stopy </p><br><br>"
 
 #: HelpText.cpp:194
 msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
-msgstr ""
+msgstr "<p> <b> Pre nahrávanie: </b> Nastavte nahrávacie zariadenie a vstupný zdroj, nastavte vstupnú úroveň, potom stlačte červené tlačidlo Nahrávať. </b> </p> <p> 1) [[InputDevice | Nastavenie Záznamového zariadenia]] namiesto v <i> Predvoľby Audio I/O karty  </i>, alebo v <i> Nastavenie panela nástrojov</i>.Nastavenie Audio I / O umožňuje zvoliť stereo nahrávanie v prípade potreby. <br> 2) [[inputsource | Nastavenia vstupného zdroja]] pre toto zariadenie (napríklad mikrofón alebo line-in) v rozbaľovacom voliči z <i>  Mixážny panel nástrojov </i>, alebo (na niektorých systémoch) v Záznamovom zariadení v <i> Predvoľby Audio I/O karty </i>, alebo v <i> Nastavenia panela nástrojov </i>. <br> 3) [[ inputlevel | Upravte vstupnú úroveň]] pomocou pravého jazdca na <i> Mixážny panel nástrojov</i>. Správne nastavenie úrovne pred nahrávaním je dôležité, aby nedochádzalo k rušeniu alebo skresleniu. </p> <p> Ďalšie informácie na : \"Nahrávanie \"<a href=\"http://audacity.sourceforge.net/help/faq\"> Často kladené otázky </a>, našich  príručkách   <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Vaše prvé nahrávky </a>,<a href=\"http://www.audacityteam.org/manual/index.php?title= Main_Page\"> manuál </a>, a na našej Wiki [[wiki: Recording_Tips |Tipy na nahrávanie]] a [[wiki: Troubleshooting_Recordings | Problémy s  nahrávkami]] stránkach. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>Vstupné zariadenie je aktuálne fyzický zvukové zariadenie, z ktorého sa  nahráva. To sa volí v \"Nahrávacie zariadenie \" v <i> Predvoľbách Audio I/O karte  </i>, Windows a Linux, predvoľby sú v dolnej časti <i> Upraviť </i> menu. On a Mac, sú v <i> Audacity </i> menu. Tiež môžete pohodlne vybrať záznamové zariadenie v <i> Zariadenia nástrojového panela </i>, ktoré môžu byť aktivované na <i> Zobraziť &gt; Nástrojový panel ...</i>. </p><p> Štandardne Audacity používa zariadenie v súčasnosti používajúce systémom (zvyčajne vaše  vstavané zvukové zariadenie), takže často nie je potrebné meniť vstupné zariadenie. Vo Windows súčasný systém zariadenia môže byť vybraný ako \"Microsoft  mapy zvuku \". Ak chcete nahrávať z externého USB alebo Firewire zariadení, ako je napríklad USB gramofón, vyberte ju explicitne podľa názvu ako záznamové zariadenie po spojení . </p> <p> Späť na [[záznamu | Záznam Audio]] <br> </p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p> Vyberte vstupný zdroj (ako je mikrofón alebo line-in) pre vaše [[Vstupné zariadenie | záznamové zariadenia]]: <br> - <b> Na Windows (okrem Vista) </b> a <b> Linux </b>, vo voliči v rozbalovacej lište na pravej strane v<i> Mixážny panel nástrojov</i>. <br> - <b> Na Windows Vista </b> a <b> Mac </b>, v záznamových zariadeniach v <i> Predvoľby Audio I/O karty </i>, alebo v <i> nástrojovom paneli Zariadenia </i>. Tento zdroj sa bude zobrazovať ako súčasť materského zariadenia (napríklad <i> Vysoká Def Audio karta: Mikrofon </i>). Ak je to potrebné, Mac užívatelia si môžu vybrať vstupný zdroj na Apple Audio MIDI Setup. <br> <i> <b> Poznámka: </b> mnoho USB alebo Firewire nahrávacích zariadení nemá výber vstupov, takže tento krok nie je potrebný. Ak máte pochybnosti, pozrite sa na dokumentáciu pre vaše zariadenie. </i> </p> <p> <b> Tip: </b>Pre <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\"> nahrávanie audia, ktorý sa prehráva na počítači </a>,si Windows a Linux užívatelia môžu zvoliť  \"Stereo Mix \",  \"Wave Out \", \"Sum \" alebo porovnateľný vstupný zdroj. </p> <p> Späť na [[record | nahrávanie Audio]] <br> </p>"
 
 #: HelpText.cpp:267
 msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>Vstupná úroveň musí byť nastavená správne. Ak je úroveň je príliš nízka, bude tam hluk pozadia.Ak je úroveň príliš vysoká, dôjde k narušeniu v hlasných častiach. </p><p>Ak chcete nastaviť úroveň, najskôr pozrite toto [[wiki:Recording_levels|ilustrovaný  online sprievodca]] alebo postupujte nasledovne: <ol> <li> Zapnite <b> monitorovanie </b>. Dvojité kliknutie na pravú stranu <i> VU Metre </i> (alebo vpravo kliknite na neho) a kliknite na tlačidlo  \"Štart monitorovania \". Ak meradlá nie je vidieť, kliknite na <i> Zobraziť &gt; v Panely s nástrojmi </i> a skontrolujte   \"Nastavenie meračov\". </li> <li> Nastavenie vstupného jazdca na <i> Mixážnom  panely </i> ( symbolom mikrofónu), tak, že červené tyče v metra sa priblížia <b> ale nedotknú sa </b > pravého okraja stupnice. Ak nemôžete počuť monitorovaný zvuk, prejdite na <i> Predvoľby Audio I/O karty  </i> a skontrolujte  \"Prehrávací Software \". </li> </ol> </p> <p> Späť na [[záznam | Záznam Audio]] <br> </p> "
 
 #: HelpText.cpp:292
 msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
-msgstr ""
+msgstr "<p> Hlavné príkazy pre editáciu zvuku sú pod menu<i> Upraviť </i> (ako strih, kopírovanie a vloženie) a menu<i> Efekt </i> (môžete robiť veci, ako je posilnenie basov,  zmení rozstup alebo tempo, alebo odstránenie hluku). </p> <p> Audacity umožňuje úpravu vybraných oblastí  audio stopy. Ak chcete vybrať konkrétne oblasti, kliknite v projektovom okne a pretiahnite šrafované oblasti s myšou. Ak nie je vybraný žiadný zvuk, Audacity vyberá všetkým audio v okne projektu. </p> <p> Pri prehrávaní alebo nahrávaní menu Úpravy a Efektu  budú zobrazené šedou farbou, pretože sa pohybujúce stopy nedajú upravovať. Príkazy nemôžu byť niekedy k dispozícii z iných dôvodov . Napríklad si nemožno spustiť efekty kým  je zvuk na obrazovke, a nie je možné vložiť  audio kým  ho striháte alebo kopírujete do schránky Audacity. </p> <br> <br> "
 
 #: HelpText.cpp:311
 msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr ""
+msgstr "<p> Ak sa chcete  neskôr vrátiť do svojej nedokončenej práce v Audacity so všetkými skladbami a úpravami, ako ste to  nechali, uložte Audacity projekt. Pre prehratie vašej súčasnej práce v iných media programoch alebo exportovanie do iných, [[export | exportovať]] audio súborov ako WAV alebo MP3. </p> <p> <i> Súbor &gt; Uložiť projekt </i> uložíť <b>. aup </b> súbor projektu a <b> _dáta </b> obsahujú aktuálny zvuk. Ak chcete znova otvoriť uložený projekt, kliknite na tlačidlo <i> Súbor &gt; Otvoriť </i> a otvorte. aup súbor. Ak budete ukladať a ukončovať viac ako raz, čo je. aup.bak zálohovaný súbor je vytvorený, ale aup súbor by mal byť vždy zahájený ak je prítomný. Pri vašom konečnom exportovaní je súbor  presne taký, ako chcete. Zmazať súbory  projektu  a dátový  priečinok na ušetrenie diskového priestoru. </p> <p> <i> Súbor &gt; Uložiť projekt ako ...</i> je pre ukladanie prázdneho projektu. Tiež vám umožní uložiť existujúci projekt na <b> nový </b> názov. To je jediný bezpečný spôsob, ako premenovať projekt. K. aup súboru a _data prvky by nemali byť presunuté alebo premenované ručne. </p> <p> "
 
 #: HelpText.cpp:335
 msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr ""
+msgstr "Ak chcete počuvať vašu prácu v iných medialnych programoch, exportujte ich do zvukového súboru, ako WAV alebo MP3 (niektoré formáty sú [[wma-proprietary|nepodporované]]). [[Save|Uložiť Audacity projekt]] vytvorí súbor projektu (a súvisiacu data zložku), ktoré obsahujú všetky vaše upravený stopy, takže sa môžete vrátiť k vašej práci neskôr. Avšak, ostatné programy nevedia čítať Audacity projekty. </p> <p> Pre exportovanie, kliknite <i> Súbor &gt; Export </i> a potom vyberte formát súboru, ktorý chcete exportovať do rozbaľovača  \"Uložiť ako typ \" . Ak chcete [[burncd | napáliť CD]] pre nezávislý CD prehrávač, vyberte WAV alebo AIFF. Ak chcete exportovať ako MP3, musí byť nainštalovaný [[wiki: Lame_Installation | Lame Encoder]], . </p> <p> <i> Súbor &gt;Výber Exportu</i> exportuje iba vybrané oblasti audia. <i> Pomocou Súbor &gt; Hromadný export</i> exportujete viac súborov súčasne, jeden pre každú zvukovú stopu, alebo jeden pre každú oblasť označenú v jednej stope. <i> Skladby &gt; Pridať popis na výber </i> vám [[wiki: Splitting_recordings_into_separate_tracks | rozdelí skladby]] z albumu pre mnohonásobné exportované súbory ako samostatné súbory. </p><br><br> "
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
-msgstr ""
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgstr "<p> Audacity <b> nemôže </b> [[play|prehrať]] alebo [[export|exportovať]] <b> súbory WMA, RealAudio, Shorten (SHN) </b> alebo väčšinu iných vlastníckych formátov vďaka patentu a licenčným obmedzeniam. Na počítači Mac, nechránené formáty  <b>AAC </b>  ako <b> M4A </b> môžu byť importované. Niektoré otvorené formáty ešte nie sú podporované, vrátane <b> Ogg Speex </b> a <b> Musepack </b>. Súbory chránené akýmkoľvek druhom Digital Rights Management (DRM), vrátane väčšiny on-line zakúpených programov, napríklad z iTunes alebo Napster, <b> nemôžu </b> byť importované. </p> <p> Ak nemôžete importovať súbor do Audacity, potom v prípade, ak nie DRM chránená, použitia iTunes alebo <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\"> SUPER </a> presunúť ju do WAV alebo AIFF. Ak je chránené, vypáľte ho na zvukové CD v programe s licenciou na prehrávanie, potom extrahovať CD stopy do WAV alebo AIFF alebo pomocou iTunes (pre Windows) <a href=\"http://cdexos.sourceforge.net /?q=download\"> CDex </a> alebo Windows Media Player 11. Môžete tiež <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\"> zaznamenať </a> CD do počítača. <i> pre exportovanie  nepodporovaného formátu ho exportujte do WAV alebo AIFF a premeňte ho na požadovaný formát v iTunes alebo <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\"> SUPER </a>. </i> </p> <p>  "
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr ""
+msgstr "<p>Vypáliť vašu audio CD prácu  pre samostatné CD prehrávače, najskôr ju [[export | exportujte]] ako WAV alebo AIFF. Tento súbor by mal byť vyvážené stereo, 44100 Hz (súbor v  \"Projekt vzoriek \" tlačidlo vľavo dole) a 16 bit (súbor v  \"Nastavenia \" tlačidlo v súbore export dialóg). Tieto nastavenia sú v Audacity  predvolené , takže ich obvykle nemusíte meniť pred exportom. <p> Napálenie exportovaného súboru na \"audio CD \" - nie  \"dátové CD \" alebo \"MP3 CD \" - napaľovanie CD s programom ako sú iTunes alebo Windows Media Player. Pre bližšie informácie pozrite [[wiki: How_to_burn_CDs | Ako napáliť CD]] online. </p> <p>"
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>Pomoc k Audacity Beta je v súčasnej dobe nedokončená. Terajší  návrh manuálu je k dispozícii<a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\"> online</a>. Prípadne kliknite<a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\"> sem</a> pre stiahnutie jedno-stranovej verzie manuálu, ktorú je možné zobraziť v tomto okne."
 
-#: ../src/HistoryWindow.cpp:44
+#: HistoryWindow.cpp:53
 msgid "Undo History"
-msgstr "História zmien (undo)"
+msgstr "História zmien"
 
 #: HistoryWindow.cpp:72
 msgid "Manage History"
-msgstr ""
+msgstr "Prehľad histórie"
 
-#: ../src/HistoryWindow.cpp:57
+#: HistoryWindow.cpp:78
 msgid "Action"
 msgstr "Akcia"
 
 #: HistoryWindow.cpp:86
 msgid "&Undo Levels Available"
-msgstr ""
+msgstr "Úrovne návrat&u k dispozícii"
 
 #: HistoryWindow.cpp:92
 msgid "Levels To Discard"
-msgstr ""
+msgstr "Úrovne na odstránenie"
 
-#: HistoryWindow.cpp:102
+#: HistoryWindow.cpp:103
 msgid "&Discard"
-msgstr ""
+msgstr "&Odstrániť"
 
-#: HistoryWindow.cpp:111 LabelDialog.cpp:135 LabelDialog.cpp:137
-#: effects/Amplify.cpp:214 effects/AutoDuck.cpp:529 effects/AutoDuck.cpp:531
-#: effects/ChangeLength.cpp:187 effects/ChangePitch.cpp:399
-#: effects/ChangeSpeed.cpp:397 effects/ChangeTempo.cpp:301
-#: effects/Compressor.cpp:519 effects/Effect.cpp:389 effects/Effect.cpp:391
-#: effects/Equalization.cpp:1169 effects/Leveller.cpp:269
-#: effects/Normalize.cpp:356 effects/Phaser.cpp:605 effects/Repeat.cpp:274
-#: effects/SpikeCleaner.cpp:191 effects/VST/VSTEffect.cpp:98
-#: effects/Wahwah.cpp:592 effects/ladspa/LadspaEffect.cpp:592
-#: effects/nyquist/Nyquist.cpp:829 export/Export.cpp:791
-#: prefs/FileFormatPrefs.cpp:408 prefs/PrefsDialog.cpp:164
+#: HistoryWindow.cpp:112
+#: effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191
+#: export/ExportCL.cpp:432
 msgid "&OK"
-msgstr ""
+msgstr "&OK"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:114
+#: Internat.cpp:191
 msgid "Unable to determine"
 msgstr "Nie je možné určiť"
 
-#: ../src/import/ImportRaw.cpp:354
+#: Internat.cpp:195
+#: import/ImportRaw.cpp:388
 msgid "bytes"
 msgstr "bytov"
 
-#: Internat.cpp:182
+#: Internat.cpp:197
 msgid "KB"
-msgstr ""
+msgstr "KB"
 
-#: Internat.cpp:185
+#: Internat.cpp:200
 msgid "MB"
-msgstr ""
+msgstr "MB"
 
-#: Internat.cpp:188
+#: Internat.cpp:203
 msgid "GB"
-msgstr ""
+msgstr "GB"
 
-#: LabelDialog.cpp:50
+#: LabelDialog.cpp:54
 msgid "Track"
-msgstr ""
+msgstr "Stopa"
 
-#: ../src/Menus.cpp:3088
+#: LabelDialog.cpp:55
+#: Menus.cpp:4733
+#: Menus.cpp:4768
 msgid "Label"
 msgstr "Popis"
 
-#: LabelDialog.cpp:54
+#: LabelDialog.cpp:56
+#: TimerRecordDialog.cpp:340
 msgid "Start Time"
-msgstr ""
+msgstr "Začiatočný čas"
 
-#: LabelDialog.cpp:53
+#: LabelDialog.cpp:57
+#: TimerRecordDialog.cpp:359
 msgid "End Time"
-msgstr ""
+msgstr "Koncový čas"
 
-#: LabelDialog.cpp:98 Menus.cpp:709
+#: LabelDialog.cpp:100
+#: Menus.cpp:711
 msgid "&Edit Labels"
-msgstr ""
+msgstr "&Upraviť popisy"
 
-#: LabelDialog.cpp:113
+#: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
-msgstr ""
+msgstr "Stlačte klávesu F2 alebo dvojito kliknite pre editáciu obsahu bunky."
 
-#: LabelDialog.cpp:124
+#: LabelDialog.cpp:126
 msgid "Insert &After"
-msgstr ""
+msgstr "Vložiť z&a"
 
-#: LabelDialog.cpp:125
+#: LabelDialog.cpp:127
 msgid "Insert &Before"
-msgstr ""
+msgstr "Vložiť &pred"
 
-#: LabelDialog.cpp:127 Menus.cpp:234
+#: LabelDialog.cpp:129
 msgid "&Import..."
-msgstr ""
+msgstr "&Vstup..."
 
-#: LabelDialog.cpp:163
+#: LabelDialog.cpp:157
 msgid "New..."
-msgstr ""
+msgstr "Nové..."
 
-#: LabelDialog.cpp:352
-msgid "You have left blank label names.  These will be\n"
+#: LabelDialog.cpp:354
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
 msgstr ""
+"Musí zostať prázdna etiketa mien. Tie budú\n"
+" preskočené pri presúvaní popisov stôp.\n"
+" \n"
+"Chceli by ste sa vrátiť späť a poskytnúť mená?"
 
-#: LabelDialog.cpp:350
+#: LabelDialog.cpp:355
 msgid "Confirm"
-msgstr ""
+msgstr "Potvrdiť"
 
-#: ../src/Menus.cpp:2631
+#: LabelDialog.cpp:516
+#: Menus.cpp:4152
 msgid "Select a text file containing labels..."
-msgstr "Zvoľte textový súbor s popismi (labels)..."
+msgstr "Zvoľte textový súbor s popismi ..."
 
-#: ../src/Menus.cpp:2635
+#: LabelDialog.cpp:520
+#: Menus.cpp:4156
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Textové súbory (*.txt)|*.txt|Všetky súbory (*.*)|*.*"
 
-#: ../src/Menus.cpp:2647
-#: ../src/Project.cpp:1820
-#: ../src/Project.cpp:1828
-#: ../src/import/ImportMIDI.cpp:31
+#: LabelDialog.cpp:534
+#: Menus.cpp:4168
+#: Project.cpp:2018
+#: Project.cpp:2026
 msgid "Could not open file: "
 msgstr "Nie je možné otvoriť súbor:"
 
-#: LabelDialog.cpp:549
+#: LabelDialog.cpp:560
 msgid "No labels to export."
-msgstr ""
+msgstr "Žiadne popisy na export."
 
-#: ../src/Menus.cpp:1358
+#: LabelDialog.cpp:566
+#: Menus.cpp:2526
 msgid "Export Labels As:"
-msgstr "Exportovať popisy (Labels) ako:"
+msgstr "Exportovať popisy ako:"
 
-#: ../src/Menus.cpp:1356
+#: LabelDialog.cpp:568
+#: Menus.cpp:2524
 msgid "labels.txt"
 msgstr "labels.txt"
 
-#: LabelDialog.cpp:690
-#, fuzzy
+#: LabelDialog.cpp:703
 msgid "New Label Track"
-msgstr "Nová &popisná (Label) stopa"
+msgstr "Nový popis stopy"
 
-#: LabelDialog.cpp:691
+#: LabelDialog.cpp:704
 msgid "Enter track name"
-msgstr ""
+msgstr "Vložte názov stopy"
 
-#: LabelDialog.cpp:692 LabelDialog.h:50 LabelTrack.cpp:87 Menus.cpp:645
-#, fuzzy
+#: LabelDialog.cpp:705
+#: LabelDialog.h:52
+#: LabelTrack.cpp:89
+#: Menus.cpp:634
 msgid "&Label Track"
-msgstr "Popisná (Label) stopa"
+msgstr "&Popis stopy"
 
-#: ../src/LangChoice.cpp:47
+#: LangChoice.cpp:57
 msgid "Audacity First Run"
 msgstr "Prvé spustenie Audacity"
 
-#: ../src/LangChoice.cpp:74
+#: LangChoice.cpp:89
 msgid "Choose Language for Audacity to use:"
 msgstr "Zvoľte jazyk pre Audacity:"
 
-#: ../src/Legacy.cpp:337
+#: Legacy.cpp:356
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Skonvertovaný súbor projektu z Audacity 1.0 do nového formátu.\n"
-"Starý súbor bol uložený ako '%s'."
+msgstr ""
+"Skonvertovaný súbor projektu z Audacity 1.0 do nového formátu.\n"
+"Starý súbor bol uložený ako '%s'"
 
-#: ../src/Legacy.cpp:338
+#: Legacy.cpp:357
 msgid "Opening Audacity Project"
 msgstr "Otváram Audacity projekt"
 
-#: ../src/Menus.cpp:139
+#: Menus.cpp:195
 msgid "&File"
 msgstr "&Súbor"
 
-#: ../src/Menus.cpp:141
+#: Menus.cpp:197
 msgid "&New\tCtrl+N"
 msgstr "&Nový\tCtrl+N"
 
-#: ../src/Menus.cpp:143
+#: Menus.cpp:199
 msgid "&Open...\tCtrl+O"
 msgstr "&Otvoriť...\tCtrl+O"
 
-#: ../src/Menus.cpp:145
+#: Menus.cpp:204
 msgid "&Close\tCtrl+W"
 msgstr "&Zavrieť\tCtrl+W"
 
-#: ../src/Menus.cpp:146
+#: Menus.cpp:207
 msgid "&Save Project\tCtrl+S"
 msgstr "&Uložiť projekt\tCtrl+S"
 
-#: ../src/Menus.cpp:150
+#: Menus.cpp:211
+#: Project.cpp:3071
 msgid "Save Project &As..."
 msgstr "Uložiť projekt &ako..."
 
-#: Menus.cpp:212
+#: Menus.cpp:213
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "Uložiť komprimovanú kópiu projektu..."
 
-#: Menus.cpp:223
+#: Menus.cpp:217
 msgid "Chec&k Dependencies..."
-msgstr ""
+msgstr "S&kontrolovať závislosti..."
 
-#: Menus.cpp:185
+#: Menus.cpp:223
 msgid "Open Me&tadata Editor..."
-msgstr ""
+msgstr "Otvoriť editor me&tadát..."
 
-#: import/ImportRaw.cpp:447
+#: Menus.cpp:230
+#: import/ImportRaw.cpp:414
 msgid "&Import"
-msgstr ""
+msgstr "&Vstup"
 
-#: Menus.cpp:236
+#: Menus.cpp:232
 msgid "&Audio...\tCtrl+Shift+I"
-msgstr ""
+msgstr "&Audio...\tCtrl+Shift+I"
 
-#: Menus.cpp:237
+#: Menus.cpp:233
 msgid "&Labels..."
-msgstr ""
+msgstr "&Popisy..."
 
-#: Menus.cpp:238
+#: Menus.cpp:235
 msgid "&MIDI..."
-msgstr ""
+msgstr "&MIDI..."
 
-#: Menus.cpp:239
+#: Menus.cpp:237
 msgid "&Raw Data..."
-msgstr ""
+msgstr "&Nespracované dáta (Raw Data) ..."
 
-#: Menus.cpp:208 Menus.cpp:237
+#: Menus.cpp:248
+#: Menus.cpp:283
 msgid "Expo&rt Selection..."
-msgstr ""
+msgstr "Expo&rtovať výber..."
 
-#: ../src/Menus.cpp:173
+#: Menus.cpp:255
 msgid "Export &Labels..."
-msgstr "Exportovať &popisy (Labels)..."
+msgstr "Exportovať &popisy..."
 
-#: ../src/Menus.cpp:174
+#: Menus.cpp:256
 msgid "Export &Multiple..."
 msgstr "Exportovať &viac súborov..."
 
-#: Menus.cpp:257
+#: Menus.cpp:258
 msgid "Export MIDI..."
-msgstr ""
+msgstr "Exportovať MIDI..."
 
-#: Menus.cpp:290
+#: Menus.cpp:291
 msgid "CleanSpeech C&hain..."
-msgstr ""
+msgstr "Sada &príkazov CleanSpeech..."
 
-#: Menus.cpp:340 Menus.cpp:354
+#: Menus.cpp:292
+#: Menus.cpp:306
 msgid "Edit C&hains..."
-msgstr ""
+msgstr "Upra&viť sady príkazov..."
 
-#: Menus.cpp:292
+#: Menus.cpp:293
 msgid "Export CleanSpeech &Presets..."
-msgstr ""
+msgstr "Exportovať &predvoľby CleanSpeech..."
 
-#: Menus.cpp:293
+#: Menus.cpp:294
 msgid "I&mport CleanSpeech Presets..."
-msgstr ""
+msgstr "I&mportovať predvoľby CleanSpeech..."
 
-#: Menus.cpp:352
+#: Menus.cpp:304
 msgid "Appl&y Chain..."
-msgstr ""
+msgstr "&Použiť sadu príkazov..."
 
-#: Menus.cpp:358
+#: Menus.cpp:311
 msgid "&Upload File..."
-msgstr ""
+msgstr "&Navráť súbor..."
 
-#: Menus.cpp:363
-#, fuzzy
+#: Menus.cpp:317
 msgid "Pa&ge Setup..."
-msgstr "Formát stránky..."
+msgstr "For&mát stránky..."
 
-#: Menus.cpp:364
+#: Menus.cpp:318
 msgid "&Print..."
-msgstr ""
+msgstr "&Tlač..."
 
-#: Menus.cpp:382 Menus.cpp:385
+#: Menus.cpp:331
 msgid "E&xit\tCtrl+Q"
-msgstr ""
+msgstr "&Ukončiť program\tCtrl+Q"
 
-#: ../src/Menus.cpp:227
+#: Menus.cpp:339
+#: toolbars/EditToolBar.cpp:76
 msgid "&Edit"
-msgstr "Úpr&avy"
+msgstr "&Úpravy"
 
-#: ../src/Menus.cpp:231
+#: Menus.cpp:343
 msgid "&Undo\tCtrl+Z"
 msgstr "&Späť\tCtrl+Z"
 
-#: ../src/Menus.cpp:239
+#: Menus.cpp:351
+#: prefs/KeyConfigPrefs.cpp:384
+#: toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Znovu"
 
-#: ../src/Menus.cpp:252
+#: Menus.cpp:364
 msgid "Cu&t\tCtrl+X"
-msgstr "Vyňať\tCtrl+X"
+msgstr "&Vystrihnúť\tCtrl+X"
 
-#: Menus.cpp:420
+#: Menus.cpp:368
 msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr ""
+msgstr "Rozdel&iť a vystrihnúť\tCtrl+Alt+X"
 
-#: ../src/Menus.cpp:253
+#: Menus.cpp:369
 msgid "&Copy\tCtrl+C"
 msgstr "&Kopírovať\tCtrl+C"
 
-#: ../src/Menus.cpp:254
+#: Menus.cpp:373
 msgid "&Paste\tCtrl+V"
 msgstr "&Vložiť\tCtrl+V"
 
-#: Menus.cpp:426
+#: Menus.cpp:377
 msgid "Tri&m\tCtrl+T"
-msgstr ""
+msgstr "Ore&zať\tCtrl+T"
 
-#: ../src/Menus.cpp:260
+#: Menus.cpp:379
 msgid "&Delete\tCtrl+K"
 msgstr "&Zmazať\tCtrl+K"
 
-#: Menus.cpp:429
+#: Menus.cpp:380
 msgid "Split D&elete\tCtrl+Alt+K"
-msgstr ""
+msgstr "R&ozdeliť a vymazať\tCtrl+Alt+K"
 
-#: Menus.cpp:380
+#: Menus.cpp:381
 msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+msgstr "Umlčať Audi&o\tCtrl+L"
 
-#: Menus.cpp:432
+#: Menus.cpp:383
 msgid "Sp&lit\tCtrl+I"
-msgstr ""
+msgstr "Rozdeliť\tCtrl+I"
 
-#: Menus.cpp:342
+#: Menus.cpp:388
 msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr ""
+msgstr "Rozdeliť a &nový\tCtrl+Alt+I"
 
-#: Menus.cpp:442
+#: Menus.cpp:393
 msgid "&Join\tCtrl+J"
-msgstr ""
+msgstr "Spo&jiť\tCtrl+J"
 
-#: Menus.cpp:393
+#: Menus.cpp:394
 msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+msgstr "Uvoľniť na umlčanie\tCtrl+Alt+J"
 
-#: Menus.cpp:445
+#: Menus.cpp:395
 msgid "Duplic&ate\tCtrl+D"
-msgstr ""
+msgstr "Duplikov&ať\tCtrl+D"
 
-#: Menus.cpp:400 Menus.cpp:639
+#: Menus.cpp:401
+#: Menus.cpp:641
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "Stereo &Stopa na Mono"
 
-#: Menus.cpp:407
+#: Menus.cpp:408
 msgid "La&beled Regions"
-msgstr ""
+msgstr "Popisané  o&blasti"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:460
+#: Menus.cpp:410
 msgid "&Cut\tAlt+X"
-msgstr ""
+msgstr "&Vystrihnúť\tAlt+X"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:465
+#: Menus.cpp:415
 msgid "&Split Cut\tShift+Alt+X"
-msgstr ""
+msgstr "&Rozdeliť a vystrihnúť\tShift+Alt+X"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:470
+#: Menus.cpp:420
 msgid "Co&py\tShift+Alt+C"
-msgstr ""
+msgstr "Ko&pírovať\tShift+Alt+C"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
+#: Menus.cpp:426
 msgid "&Delete\tAlt+K"
-msgstr ""
+msgstr "&Vymazať\tAlt+K"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:481
+#: Menus.cpp:431
 msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr ""
+msgstr "Rozdeliť a vymazať\tShift+Alt+K"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:486
+#: Menus.cpp:436
 msgid "Sile&nce\tAlt+L"
-msgstr ""
+msgstr "Tich&o\tAlt+L"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:492
+#: Menus.cpp:442
 msgid "Spli&t\tAlt+I"
-msgstr ""
+msgstr "Rozdeli&Å¥\tAlt+I"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
+#: Menus.cpp:447
 msgid "&Join\tAlt+J"
-msgstr ""
+msgstr "Spo&jiť\tAlt+J"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
+#: Menus.cpp:452
 msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgstr "Uvoľniť na umlčanie\tShift+Alt+J"
 
-#: Menus.cpp:456
+#: Menus.cpp:457
 msgid "&Select"
-msgstr ""
+msgstr "&Vybrať"
 
-#: ../src/Menus.cpp:269
+#: Menus.cpp:458
 msgid "&All\tCtrl+A"
-msgstr "VÅ¡&etko\tCtrl+A"
+msgstr "&VÅ¡etko\tCtrl+A"
 
-#: Menus.cpp:415
+#: Menus.cpp:459
 msgid "&None\tCtrl+Shift+A"
-msgstr ""
+msgstr "&Nič\tCtrl+Shift+A"
 
-#: Menus.cpp:462
+#: Menus.cpp:463
 msgid "&Left at Playback Position\t["
-msgstr ""
+msgstr "&Ľavá na pozíciu prehrávania\t["
 
-#: Menus.cpp:463
+#: Menus.cpp:464
 msgid "&Right at Playback Position\t]"
-msgstr ""
+msgstr "&Pravá na pozíciu prehrávania\t]"
 
-#: Menus.cpp:467
+#: Menus.cpp:468
 msgid "Track &Start to Cursor\tShift+J"
-msgstr ""
+msgstr "Kurzor na začiatok &stopy \tShift+J"
 
-#: Menus.cpp:468
+#: Menus.cpp:469
 msgid "Cursor to Track &End\tShift+K"
-msgstr ""
+msgstr "Kurzor na &koniec stopy\tShift+K"
 
-#: Menus.cpp:525
-#, fuzzy
+#: Menus.cpp:475
 msgid "Find &Zero Crossings\tZ"
-msgstr "Nájsť priesečníky s nulou\tZ"
+msgstr "Nájsť priesečníky s &nulou\tZ"
 
-#: Menus.cpp:476
+#: Menus.cpp:478
 msgid "Mo&ve Cursor"
-msgstr ""
+msgstr "Pre&sunúť kurzor"
 
-#: Menus.cpp:478
-#, fuzzy
+#: Menus.cpp:480
 msgid "to Selection Star&t"
-msgstr "na začiatok výberu"
+msgstr "na &začiatok výberu"
 
-#: Menus.cpp:479
-#, fuzzy
+#: Menus.cpp:481
 msgid "to Selection En&d"
-msgstr "na koniec výberu"
+msgstr "na &koniec výberu"
 
-#: Menus.cpp:483
+#: Menus.cpp:485
 msgid "to Track &Start\tJ"
-msgstr ""
+msgstr "na &začiatok stopy\tJ"
 
-#: Menus.cpp:484
+#: Menus.cpp:486
 msgid "to Track &End\tK"
-msgstr ""
+msgstr "na &koniec stopy\tK"
 
-#: Menus.cpp:491
+#: Menus.cpp:493
 msgid "Re&gion Save"
-msgstr ""
+msgstr "&Uložiť výber"
 
-#: Menus.cpp:492
+#: Menus.cpp:494
 msgid "Regio&n Restore"
-msgstr ""
+msgstr "Obnoviť výbe&r"
 
-#: Menus.cpp:503
+#: Menus.cpp:505
 msgid "Pla&y Region"
-msgstr ""
+msgstr "Pre&hrať oblasť"
 
-#: Menus.cpp:504
+#: Menus.cpp:506
 msgid "&Lock"
-msgstr ""
+msgstr "&Zamknúť "
 
-#: Menus.cpp:505
+#: Menus.cpp:507
 msgid "&Unlock"
-msgstr ""
+msgstr "&Odomknúť"
 
-#: ../src/Menus.cpp:311
+#: Menus.cpp:513
 msgid "Turn Snap-To On"
 msgstr "Polohovať"
 
-#: ../src/Menus.cpp:312
+#: Menus.cpp:514
 msgid "Turn Snap-To Off"
 msgstr "Nepolohovať"
 
-#: ../src/Menus.cpp:313
+#: Menus.cpp:515
 msgid "Turn Grid Snap On"
-msgstr "Zapnúť polohovanie k mriežke"
+msgstr "Zapnúť polohovanie mriežky"
 
-#: ../src/Menus.cpp:314
+#: Menus.cpp:516
 msgid "Turn Grid Snap Off"
-msgstr "Vypnúť polohovanie k mriežke"
+msgstr "Vypnúť polohovanie mriežky"
 
 #. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
+#: Menus.cpp:521
 msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
+msgstr "&Predvoľby...\tCtrl+,"
 
-#: Menus.cpp:523
+#: Menus.cpp:525
 msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
+msgstr "&Predvoľby...\tCtrl+P"
 
-#: ../src/Menus.cpp:345
+#: Menus.cpp:535
 msgid "&View"
 msgstr "&Zobraziť"
 
-#: ../src/Menus.cpp:347
+#: Menus.cpp:537
 msgid "Zoom &In\tCtrl+1"
-msgstr "Z&väčšiť\tCtrl+1"
+msgstr "&Zväčšiť\tCtrl+1"
 
-#: ../src/Menus.cpp:350
+#: Menus.cpp:540
 msgid "Zoom &Normal\tCtrl+2"
 msgstr "&Normálna veľkosť\tCtrl+2"
 
-#: ../src/Menus.cpp:351
+#: Menus.cpp:541
 msgid "Zoom &Out\tCtrl+3"
-msgstr "Z&menšiť\tCtrl+3"
+msgstr "&Zmenšiť\tCtrl+3"
 
-#: ../src/Menus.cpp:354
+#: Menus.cpp:544
 msgid "&Fit in Window\tCtrl+F"
 msgstr "&Prispôsobiť oknu\tCtrl+F"
 
-#: ../src/Menus.cpp:355
+#: Menus.cpp:545
 msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Prispôsobiť šír&ke okna\tCtrl+Shift+F"
+msgstr "Prispôsobiť &šírke okna\tCtrl+Shift+F"
 
-#: ../src/Menus.cpp:356
+#: Menus.cpp:546
 msgid "&Zoom to Selection\tCtrl+E"
 msgstr "&Zväčšiť podľa výberu\tCtrl+E"
 
-#: Menus.cpp:603
+#: Menus.cpp:549
 msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr ""
+msgstr "Zbaliť všetky &stopy\tCtrl+Shift+C"
 
-#: Menus.cpp:604
+#: Menus.cpp:550
 msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr ""
+msgstr "&Rozbaliť všetky stopy\tCtrl+Shift+X"
 
-#: Menus.cpp:551
+#: Menus.cpp:553
 msgid "&Show Clipping"
-msgstr ""
+msgstr "&Ukázať výstrižok"
 
-#: ../src/Menus.cpp:364
+#: Menus.cpp:562
 msgid "&History..."
-msgstr "&História"
+msgstr "&História..."
 
-#: Menus.cpp:566
+#: Menus.cpp:568
 msgid "&Toolbars"
-msgstr ""
+msgstr "Panel nás&trojov"
 
-#: Menus.cpp:567
+#: Menus.cpp:569
 msgid "&Control Toolbar"
-msgstr ""
+msgstr "&Ovládací panel"
 
-#: Menus.cpp:568
+#: Menus.cpp:570
 msgid "&Device Toolbar"
-msgstr ""
+msgstr "&Panel zariadení"
 
-#: Menus.cpp:569
+#: Menus.cpp:571
 msgid "&Edit Toolbar"
-msgstr ""
+msgstr "&Panel úprav"
 
-#: Menus.cpp:570
+#: Menus.cpp:572
 msgid "&Meter Toolbar"
-msgstr ""
+msgstr "&Merací panel"
 
-#: Menus.cpp:571
+#: Menus.cpp:573
 msgid "Mi&xer Toolbar"
-msgstr ""
+msgstr "Mi&xážny panel"
 
-#: Menus.cpp:572
+#: Menus.cpp:574
 msgid "&Selection Toolbar"
-msgstr ""
+msgstr "&Výberový panel"
 
-#: Menus.cpp:573
+#: Menus.cpp:575
 msgid "T&ools Toolbar"
-msgstr ""
+msgstr "P&anel nástrojov"
 
-#: Menus.cpp:574
+#: Menus.cpp:576
 msgid "Transcri&ption Toolbar"
-msgstr ""
+msgstr "Pre&pisovací panel"
 
-#: Menus.cpp:576
+#: Menus.cpp:578
 msgid "&Reset Toolbars"
-msgstr ""
+msgstr "&Obnoviť panely"
 
-#: Menus.cpp:578
+#: Menus.cpp:580
 msgid "!Simplified View"
-msgstr ""
+msgstr "!Zjednodušený pohľad"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:589
 msgid "T&ransport"
-msgstr ""
+msgstr "T&ransportovať"
 
 #: Menus.cpp:591
 msgid "Play\tSpace"
-msgstr ""
+msgstr "Prehrať\tMedzerník"
 
 #: Menus.cpp:593
 msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgstr "Prehrať v s&lučke\tShift+Medzerník"
 
-#: Menus.cpp:593
+#: Menus.cpp:595
 msgid "&Pause\tP"
-msgstr ""
+msgstr "Pozastaviť\tP"
 
 #: Menus.cpp:596
 msgid "&Stop\tSpace"
-msgstr ""
+msgstr "&Stop\tMedzerník"
 
-#: ../src/Menus.cpp:569
+#: Menus.cpp:597
+#: Menus.cpp:1008
 msgid "Skip to Start\tHome"
 msgstr "Preskočiť na začiatok\tHome"
 
-#: ../src/Menus.cpp:570
+#: Menus.cpp:599
+#: Menus.cpp:1009
 msgid "Skip to End\tEnd"
 msgstr "Preskočiť na koniec\tEnd"
 
-#: Menus.cpp:600
+#: Menus.cpp:602
 msgid "&Record\tR"
-msgstr ""
+msgstr "Nahrávať\tR"
 
-#: Menus.cpp:602
+#: Menus.cpp:604
 msgid "&Timer Record...\tShift+T"
-msgstr ""
+msgstr "&Časové nahrávanie...\tShift+T"
 
-#: Menus.cpp:604
+#: Menus.cpp:606
 msgid "Append Record\tShift+R"
-msgstr ""
+msgstr "Pridať nahrávku\tShift+R"
 
-#: Menus.cpp:607
+#: Menus.cpp:609
 msgid "Overdub (on/off)"
-msgstr ""
+msgstr "Overdub (on/off)"
 
-#: Menus.cpp:609
+#: Menus.cpp:611
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "Software Prehrávania (on/off)"
 
-#: Menus.cpp:612
+#: Menus.cpp:614
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "Zvukom Aktivované Nahrávanie (on/off)"
 
-#: Menus.cpp:614
+#: Menus.cpp:616
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "Aktivačná úroveň zvuku..."
 
-#: Menus.cpp:635
+#: Menus.cpp:624
 msgid "&Tracks"
-msgstr ""
+msgstr "S&topy"
 
-#: Menus.cpp:629
+#: Menus.cpp:631
 msgid "Add &New"
-msgstr ""
+msgstr "Pridať &Novú"
 
-#: Menus.cpp:643
+#: Menus.cpp:632
 msgid "&Audio Track\tCtrl+Shift+N"
-msgstr ""
+msgstr "&Zvuková stopa\tCtrl+Shift+N"
 
-#: Menus.cpp:644
+#: Menus.cpp:633
 msgid "&Stereo Track"
-msgstr ""
+msgstr "&Stereo stopa"
 
-#: Menus.cpp:646 TimeTrack.cpp:44
-#, fuzzy
+#: Menus.cpp:635
+#: TimeTrack.cpp:44
 msgid "&Time Track"
-msgstr "Časová stopa"
+msgstr "&Časová stopa"
 
-#: Menus.cpp:643
+#: Menus.cpp:645
 msgid "Mi&x and Render"
-msgstr ""
+msgstr "Mi&xovať a vykresliť"
 
-#: Menus.cpp:564
+#: Menus.cpp:649
 msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr ""
+msgstr "Zmixovať a vykresliť do novej stopy\tCtrl+Shift+M"
 
-#: Menus.cpp:662
+#: Menus.cpp:653
 msgid "&Resample..."
-msgstr ""
+msgstr "&Prevzorkovať..."
 
-#: ../src/Menus.cpp:398
+#: Menus.cpp:663
 msgid "Remo&ve Tracks"
-msgstr "&Odstrániť stopu(y)"
+msgstr "&Odstrániť stopy"
 
-#: Menus.cpp:667
+#: Menus.cpp:669
 msgid "&Mute All Tracks\tCtrl+U"
-msgstr ""
+msgstr "&Stlmiť všetky stopy\tCtrl+U"
 
-#: Menus.cpp:668
+#: Menus.cpp:670
 msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr ""
+msgstr "&Zosilniť všetky stopy\tCtrl+Shift+U"
 
-#: ../src/Menus.cpp:405
+#: Menus.cpp:674
 msgid "Align with &Zero"
-msgstr "Zarovnať na n&ulu"
+msgstr "Zarovnať na &nulu"
 
-#: ../src/Menus.cpp:406
+#: Menus.cpp:675
 msgid "Align with &Cursor"
 msgstr "Zarovnať na &kurzor"
 
-#: ../src/Menus.cpp:407
+#: Menus.cpp:676
 msgid "Align with Selection &Start"
 msgstr "Zarovnať na &začiatok výberu"
 
-#: ../src/Menus.cpp:408
+#: Menus.cpp:677
 msgid "Align with Selection &End"
 msgstr "Zarovnať na koniec &výberu"
 
-#: Menus.cpp:676
-#, fuzzy
+#: Menus.cpp:678
 msgid "Align End with Cu&rsor"
-msgstr "Zarovnať koniec na kurzor"
+msgstr "Zarovnať koniec s &kurzorom"
 
-#: Menus.cpp:677
-#, fuzzy
+#: Menus.cpp:679
 msgid "Align End with Selection Star&t"
-msgstr "Zarovnať koniec na začiatok výberu"
+msgstr "Zarovnať koniec so &začiatkom výberu"
 
-#: Menus.cpp:678
-#, fuzzy
+#: Menus.cpp:680
 msgid "Align End with Selection En&d"
-msgstr "Zarovnať koniec na koniec výberu"
+msgstr "Zarovnať koniec s &koncom výberu"
 
-#: Menus.cpp:679
-#, fuzzy
+#: Menus.cpp:681
 msgid "Align Tracks To&gether"
-msgstr "Zarovnať stopy navzájom "
+msgstr "Zarovnať stopy &navzájom"
 
-#: Menus.cpp:681
+#: Menus.cpp:683
 msgid "&Align Tracks"
-msgstr ""
+msgstr "Z&arovnať stopy"
 
-#: Menus.cpp:690
+#: Menus.cpp:692
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "Za&rovnať a presunúť kurzor"
 
-#: Menus.cpp:697
+#: Menus.cpp:699
 msgid "Synchronize MIDI with Audio"
-msgstr ""
-
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr ""
+msgstr "Synchronizovať MIDI s Audiom"
 
-#: Menus.cpp:705
-#, fuzzy
+#: Menus.cpp:707
 msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Vložiť popisku k výberu\tCtrl+B"
+msgstr "Vložiť p&opis k výberu\tCtrl+B"
 
-#: Menus.cpp:706
-#, fuzzy
+#: Menus.cpp:708
 msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Vložiť popis na pozíciu prehrávania\tCtrl+B"
+msgstr "Vložiť popis na pozíciu &prehrávania\tCtrl+M"
 
-#: Menus.cpp:716
+#: Menus.cpp:714
 msgid "S&ort tracks"
-msgstr ""
+msgstr "Z&oradiť stopy"
 
-#: Menus.cpp:717
+#: Menus.cpp:715
 msgid "by &Start time"
-msgstr ""
+msgstr "podľa &Začiatočného času"
 
-#: Menus.cpp:719
+#: Menus.cpp:717
 msgid "by &Name"
-msgstr ""
+msgstr "podľa &Názvu"
 
-#: ../src/Menus.cpp:441
+#: Menus.cpp:728
 msgid "&Generate"
 msgstr "&Generovať"
 
-#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
+#: Menus.cpp:774
+#: Menus.cpp:858
+#: Menus.cpp:920
 msgid "Unsorted"
-msgstr ""
+msgstr "Netriedené"
 
-#: ../src/Menus.cpp:464
+#: Menus.cpp:793
 msgid "Effe&ct"
 msgstr "Efe&kty"
 
-#: ../src/Menus.cpp:468
+#: Menus.cpp:797
 msgid "Repeat Last Effect\tCtrl+R"
 msgstr "Opakovať predchádzajúci efekt\tCtrl+R"
 
-#: ../src/Menus.cpp:494
+#: Menus.cpp:875
 msgid "&Analyze"
 msgstr "&Analyzovať"
 
-#: Menus.cpp:692
+#: Menus.cpp:877
 msgid "Plot Spectrum..."
-msgstr ""
+msgstr "Vykresliť spektrum..."
 
-#. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:524
-#: ../src/Menus.cpp:540
+#: Menus.cpp:945
+#: Menus.cpp:948
 msgid "&Help"
 msgstr "&Nápoveda"
 
-#: Menus.cpp:829
+#: Menus.cpp:951
 msgid "&About Audacity CleanSpeech..."
-msgstr ""
+msgstr "&O čistení hovoreného slova Audacity CleanSpeech..."
 
-#: Menus.cpp:735
+#: Menus.cpp:955
 msgid "&Show Welcome Message..."
-msgstr ""
+msgstr "&Zobraziť uvítaciu správu..."
 
-#: Menus.cpp:736
+#: Menus.cpp:956
 msgid "&Index..."
-msgstr ""
+msgstr "&Index..."
 
-#: Menus.cpp:959
+#: Menus.cpp:957
 msgid "Show &Log..."
-msgstr ""
+msgstr "Zobraziť prih&lásenie..."
 
-#: Menus.cpp:744
+#: Menus.cpp:965
 msgid "&Screenshot Tools..."
-msgstr ""
+msgstr "&Nástroje pre snímkovacie obrázky..."
 
-#: ../src/Menus.cpp:533
+#: Menus.cpp:968
 msgid "&Run Benchmark..."
-msgstr "Spustiť benchma&rk..."
+msgstr "Spustiť Benchma&rk..."
 
-#: Menus.cpp:749
+#: Menus.cpp:970
 msgid "&Audio Device Info..."
-msgstr ""
+msgstr "&Informácie o zvukovom zariadení..."
 
-#: Menus.cpp:983
+#: Menus.cpp:979
 msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
+msgstr "Cyklus späť cez panel nástrojov a pohľad na stopu\tCtrl+Shift+F6"
 
-#: Menus.cpp:984
+#: Menus.cpp:980
 msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
+msgstr "Cyklus späť cez panel nástrojov a pohľad na stopu\tCtrl+F6"
 
-#: ../src/Menus.cpp:549
+#: Menus.cpp:983
 msgid "Selection Tool\tF1"
 msgstr "Výber\tF1"
 
-#: ../src/Menus.cpp:550
+#: Menus.cpp:984
 msgid "Envelope Tool\tF2"
 msgstr "Obálka\tF2"
 
-#: ../src/Menus.cpp:551
+#: Menus.cpp:985
 msgid "Draw Tool\tF3"
 msgstr "Kreslenie\tF3"
 
-#: ../src/Menus.cpp:552
+#: Menus.cpp:986
 msgid "Zoom Tool\tF4"
 msgstr "Lupa\tF4"
 
-#: ../src/Menus.cpp:553
+#: Menus.cpp:987
 msgid "Time Shift Tool\tF5"
 msgstr "Časový posun\tF5"
 
-#: ../src/Menus.cpp:554
+#: Menus.cpp:988
 msgid "Multi Tool\tF6"
 msgstr "Viacnásobný režim\tF6"
 
-#: ../src/Menus.cpp:556
+#: Menus.cpp:990
 msgid "Next Tool\tD"
 msgstr "Ďalší nástroj\tD"
 
-#: ../src/Menus.cpp:557
+#: Menus.cpp:991
 msgid "Previous Tool\tA"
 msgstr "Predchádzajúci nástroj\tA"
 
-#: Menus.cpp:997
+#: Menus.cpp:993
 msgid "Play/Stop\tSpace"
-msgstr ""
+msgstr "Prehrať/Zastaviť\tSpace"
 
-#: ../src/Menus.cpp:560
+#: Menus.cpp:994
 msgid "Stop\tS"
 msgstr "Stop\tS"
 
-#: ../src/Menus.cpp:561
+#: Menus.cpp:995
 msgid "Pause\tP"
-msgstr "Zastaviť (Pause)\tP"
+msgstr "Pozastaviť\tP"
 
-#: ../src/Menus.cpp:562
+#: Menus.cpp:996
 msgid "Record\tR"
-msgstr "Nahrávat\tR"
+msgstr "Nahrávať\tR"
 
-#: Menus.cpp:999
+#: Menus.cpp:997
 msgid "Record Append\tShift+R"
-msgstr ""
+msgstr "Pridať nahrávku\tShift+R"
 
-#: Menus.cpp:1001
+#: Menus.cpp:999
 msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr ""
+msgstr "Prehrať/Zastaviť a nastaviť kurzor\tShift+A"
 
-#: ../src/Menus.cpp:564
+#: Menus.cpp:1002
 msgid "Play One Second\t1"
 msgstr "Prehrať jednu sekundu\t1"
 
-#: ../src/Menus.cpp:565
+#: Menus.cpp:1003
 msgid "Play To Selection\tB"
 msgstr "Prehrať do výberu\tB"
 
-#: ../src/Menus.cpp:566
+#: Menus.cpp:1004
 msgid "Play Looped\tL"
 msgstr "Prehrať v slučke\tL"
 
-#: Menus.cpp:1009
+#: Menus.cpp:1005
 msgid "Play Looped\tShift+Space"
-msgstr ""
+msgstr "Prehrať v slučke\tShift+Space"
 
-#: Menus.cpp:873
+#: Menus.cpp:1006
 msgid "Play Cut Preview\tC"
-msgstr ""
+msgstr "Prehrať Vystrihnúť Náhľad\tC"
 
-#: ../src/Menus.cpp:572
+#: Menus.cpp:1011
 msgid "Selection to Start\tShift+Home"
 msgstr "Rozšírenie výberu na začiatok\tShift+Home"
 
-#: ../src/Menus.cpp:573
+#: Menus.cpp:1012
 msgid "Selection to End\tShift+End"
 msgstr "Označiť do konca\tShift+End"
 
-#: ../src/Menus.cpp:575
+#: Menus.cpp:1014
 msgid "DeleteKey\tBackspace"
-msgstr "KlávesaMazania\tBackspace"
+msgstr "KlávesaDelete\tBackspace"
 
-#: ../src/Menus.cpp:580
+#: Menus.cpp:1019
 msgid "DeleteKey2\tDelete"
-msgstr "KlávesaMazania\tDelete"
+msgstr "KlávesaDelete2\tDelete"
 
-#: Menus.cpp:892
+#: Menus.cpp:1025
 msgid "Seek left short period during playback\tLeft"
-msgstr ""
+msgstr "Hľadajte vľavo krátke obdobie počas prehrávania\tLeft"
 
-#: Menus.cpp:893
+#: Menus.cpp:1026
 msgid "Seek right short period during playback\tRight"
-msgstr ""
+msgstr "Hľadajte vprávo krátke obdobie počas prehrávania\tRight"
 
-#: Menus.cpp:894
+#: Menus.cpp:1027
 msgid "Seek left long period during playback\tShift+Left"
-msgstr ""
+msgstr "Hľadajte vľavo dlhé obdobie, počas prehrávania\tShift+Left"
 
-#: Menus.cpp:895
+#: Menus.cpp:1028
 msgid "Seek right long period during playback\tShift+Right"
-msgstr ""
+msgstr "Hľadajte vprávo dlhé obdobie, počas prehrávania\tShift+Right"
 
-#: Menus.cpp:899
+#: Menus.cpp:1032
 msgid "Move Focus to Previous Track\tUp"
-msgstr ""
+msgstr "Predchádzajúca stopa ako aktívna\tUp"
 
-#: Menus.cpp:900
+#: Menus.cpp:1033
 msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr ""
+msgstr "Predchádzajúca stopa ako aktívna a zmeniť výber\tShift+Up"
 
-#: Menus.cpp:901
+#: Menus.cpp:1034
 msgid "Move Focus to Next Track\tDown"
-msgstr ""
+msgstr "Následujúca stopa ako aktívna\tDown"
 
-#: Menus.cpp:902
+#: Menus.cpp:1035
 msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr ""
+msgstr "Následujúca stopa ako aktívna a zmeniť výber\tShift+Down"
 
-#: Menus.cpp:903
+#: Menus.cpp:1036
 msgid "Toggle Focused Track\tReturn"
-msgstr ""
+msgstr "Prepnúť vybranú stopu\tReturn"
 
-#: Menus.cpp:904
+#: Menus.cpp:1037
 msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
+msgstr "Prepnúť vybranú stopu\tNUMPAD_ENTER"
 
-#: Menus.cpp:1042
+#: Menus.cpp:1038
 msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgstr "Prepnúť vybranú stopu\tCtrl+Space"
 
-#: ../src/Menus.cpp:585
+#: Menus.cpp:1040
 msgid "Cursor Left\tLeft"
 msgstr "Kurzor doľava\tLeft"
 
-#: ../src/Menus.cpp:586
+#: Menus.cpp:1041
 msgid "Cursor Right\tRight"
-msgstr "Kurzor doľava\tšípka vľavo"
+msgstr "Kurzor doprava\tRight"
 
-#: Menus.cpp:820
+#: Menus.cpp:1042
 msgid "Cursor Short Jump Left\t,"
-msgstr ""
+msgstr "Kurzor vľavo skok krátky\t,"
 
-#: Menus.cpp:821
+#: Menus.cpp:1043
 msgid "Cursor Short Jump Right\t."
-msgstr ""
+msgstr "Kurzor vpravo skok krátky\t."
 
-#: Menus.cpp:822
+#: Menus.cpp:1044
 msgid "Cursor Long Jump Left\tShift+,"
-msgstr ""
+msgstr "Kurzor vľavo skok ďaleký\tShift+,"
 
-#: Menus.cpp:823
+#: Menus.cpp:1045
 msgid "Cursor Long Jump Right\tShift+."
-msgstr ""
+msgstr "Kurzor vpravo skok ďaleký\tShift+."
 
-#: ../src/Menus.cpp:587
+#: Menus.cpp:1047
 msgid "Selection Extend Left\tShift+Left"
-msgstr "Rozšírenie výberu doľava\tShitf+Šípka vľavo"
+msgstr "Rozšírenie výberu doľava\tShitf+Left"
 
-#: ../src/Menus.cpp:588
+#: Menus.cpp:1048
 msgid "Selection Extend Right\tShift+Right"
-msgstr "Rozšírenie výberu doprava\tShift+Šípka vpravo"
+msgstr "Rozšírenie výberu doprava\tShift+Right"
 
-#: Menus.cpp:828
+#: Menus.cpp:1050
 msgid "Set (or Extend) Left Selection"
-msgstr ""
+msgstr "Nastaviť (alebo posunúť) ľavú hranicu výberu"
 
-#: Menus.cpp:829
+#: Menus.cpp:1051
 msgid "Set (or Extend) Right Selection"
-msgstr ""
+msgstr "Nastaviť (alebo posunúť) pravú hranicu výberu"
 
-#: ../src/Menus.cpp:589
+#: Menus.cpp:1053
 msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Zmenšenie výberu zľeva\tCtrl+Shift+Šípka vpravo"
+msgstr "Zmenšenie výberu zľava\tCtrl+Shift+Right"
 
-#: ../src/Menus.cpp:590
+#: Menus.cpp:1054
 msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Zmenšení výberu sprava\tCtrl+Shift+Šípka vľavo"
+msgstr "Zmenšenie výberu sprava\tCtrl+Shift+Left"
 
-#: Menus.cpp:916
+#: Menus.cpp:1056
 msgid "Change pan on focused track\tShift+P"
-msgstr ""
+msgstr "Zmeniť panorámu v aktívnej stope\tShift+P"
 
-#: Menus.cpp:917
+#: Menus.cpp:1057
 msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr ""
+msgstr "Posunúť panorámu v aktívnej stope doľava\tAlt+Shift+Left"
 
-#: Menus.cpp:918
+#: Menus.cpp:1058
 msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr ""
+msgstr "Posunúť panorámu v aktívnej stope doprava\tAlt+Shift+Right"
 
-#: Menus.cpp:919
+#: Menus.cpp:1059
 msgid "Change gain on focused track\tShift+G"
-msgstr ""
+msgstr "Zmeniť citlivosť v aktívnej stope\tShift+G"
 
-#: Menus.cpp:920
+#: Menus.cpp:1060
 msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr ""
+msgstr "Zväčšiť citlivosť v aktívnej stope\tAlt+Shift+Up"
 
-#: Menus.cpp:921
+#: Menus.cpp:1061
 msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr ""
+msgstr "Zmenšiť citlivosť v aktívnej stope\tAlt+Shift+Down"
 
-#: Menus.cpp:922
+#: Menus.cpp:1062
 msgid "Open menu on focused track\tShift+M"
-msgstr ""
+msgstr "Otvoriť menu aktívnej stopy\tShift+M"
 
-#: Menus.cpp:923
+#: Menus.cpp:1063
 msgid "Mute/Unmute focused track\tShift+U"
-msgstr ""
+msgstr "Stlmiť alebo zosilniť mlčanie pre vybranú stopu\tShift+U"
 
-#: Menus.cpp:924
+#: Menus.cpp:1064
 msgid "Solo/Unsolo focused track\tShift+S"
-msgstr ""
+msgstr "Zapnúť alebo vypnúť solo pre vybranú stopu\tShift+S"
 
-#: Menus.cpp:925
+#: Menus.cpp:1065
 msgid "Close focused track\tShift+C"
-msgstr ""
+msgstr "Zavrieť vybranú stopu\tShift+C"
 
-#: Menus.cpp:845
+#: Menus.cpp:1067
 msgid "Snap To On"
-msgstr ""
+msgstr "Zapnúť prelínanie"
 
-#: Menus.cpp:846
+#: Menus.cpp:1068
 msgid "Snap To Off"
-msgstr ""
+msgstr "Vypnúť prelínanie"
 
-#: Menus.cpp:1071
+#: Menus.cpp:1069
 msgid "Full screen on/off\tF11"
-msgstr ""
+msgstr "Celá obrazovka on/off\tF11"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:939
+#: Menus.cpp:1151
 msgid "Open Recent"
-msgstr ""
+msgstr "Otvoriť posledné"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1161
+#: Menus.cpp:1154
 msgid "Recent &Files"
-msgstr ""
+msgstr "Nedávne &súbory"
 
-#: ../src/Menus.cpp:620
+#: Menus.cpp:1203
 #, c-format
 msgid "&Undo %s"
 msgstr "&Späť %s"
 
-#: ../src/Menus.cpp:626
+#: Menus.cpp:1229
 msgid "Can't Undo"
 msgstr "Nie je možné vrátiť"
 
-#: ../src/Menus.cpp:633
+#: Menus.cpp:1238
 #, c-format
 msgid "&Redo %s"
 msgstr "&Znovu %s"
 
-#: ../src/Menus.cpp:639
+#: Menus.cpp:1244
 msgid "Can't Redo"
 msgstr "Nie je možné opakovať"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1859
 msgid "Sort By Time"
-msgstr ""
+msgstr "Zoradiť podľa času"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1859
 msgid "Tracks sorted by time"
-msgstr ""
+msgstr "Stopy sú zoradené podľa času"
 
-#: Menus.cpp:1583
+#: Menus.cpp:1885
 msgid "Sort By Name"
-msgstr ""
+msgstr "Zoradiť podľa názvu"
 
-#: Menus.cpp:1583
+#: Menus.cpp:1885
 msgid "Tracks sorted by name"
-msgstr ""
+msgstr "Stopy sú zoradené podľa názvu"
 
-#: Menus.cpp:1710
+#: Menus.cpp:2036
 msgid "Set Left Selection Bound"
-msgstr ""
+msgstr "Nastaviť ľavú  hranicu výberu"
 
-#: Menus.cpp:1744
+#: Menus.cpp:2072
 msgid "Set Right Selection Bound"
-msgstr ""
+msgstr "Nastaviť pravú hranicu výberu"
 
-#: ../src/Menus.cpp:1225
+#: Menus.cpp:2342
 msgid "You must select a track first."
 msgstr "Najskôr musíte zvoliť stopu."
 
-#: ../src/Menus.cpp:1248
+#: Menus.cpp:2377
 #, c-format
 msgid "Repeat %s\tCtrl+R"
 msgstr "Opakovať %s\tCtrl+R"
 
-#: ../src/Menus.cpp:1352
+#: Menus.cpp:2520
 msgid "There are no label tracks to export."
 msgstr "Žiadne popisové stopy na export."
 
-#: Menus.cpp:2608
+#: Menus.cpp:2615
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "Exportovať MIDI ako:"
 
-#: Menus.cpp:2612
+#: Menus.cpp:2619
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "MIDI súbor (*.mid)|*.mid|Allegro súbor (*.gro)|*.gro"
 
-#: Menus.cpp:2644
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2651
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
+"Vybrali ste názov súboru s nerozpoznanou koncovkou súboru. \n"
+"Chcete pokračovať?"
 
-#: Menus.cpp:2645
+#: Menus.cpp:2652
 msgid "Export MIDI"
-msgstr ""
+msgstr "Exportovať MIDI"
 
-#: ../src/Menus.cpp:1636
+#: Menus.cpp:2722
 msgid "Nothing to undo"
 msgstr "Žiadna obnoviteľná akcia"
 
-#: ../src/Menus.cpp:1655
+#: Menus.cpp:2742
 msgid "Nothing to redo"
 msgstr "Žiadna opakovateľná akcia"
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/Menus.cpp:1713
+#: Menus.cpp:2847
+#: TrackPanel.cpp:593
+#: toolbars/EditToolBar.cpp:133
 msgid "Cut"
-msgstr "Vyňať"
+msgstr "Vystrihnúť"
 
-#: ../src/Menus.cpp:1713
+#: Menus.cpp:2847
 msgid "Cut to the clipboard"
-msgstr "Vyňať a vložiť do schránky"
+msgstr "Vystrihnúť do schránky"
 
-#: Menus.cpp:2468
+#: Menus.cpp:2887
 msgid "Split Cut"
-msgstr ""
+msgstr "Rozdeliť  Vystrihnúť "
 
-#: Menus.cpp:2468
+#: Menus.cpp:2887
 msgid "Split-cut to the clipboard"
-msgstr ""
+msgstr "Rozdeliť- vystrihnúť do schránky"
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: Menus.cpp:2953
+#: Menus.cpp:3027
+#: Menus.cpp:3221
+#: TrackPanel.cpp:595
+#: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Vložiť"
 
-#: Menus.cpp:2530
+#: Menus.cpp:2953
 msgid "Pasted text from the clipboard"
-msgstr ""
+msgstr "Vložený text zo schránky"
 
-#: ../src/Menus.cpp:1818
-#: ../src/Menus.cpp:1862
+#: Menus.cpp:3027
+#: Menus.cpp:3221
 msgid "Pasted from the clipboard"
 msgstr "Vložené zo schránky"
 
-#: Menus.cpp:3053
+#: Menus.cpp:3095
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "Nie je možné vložiť jeden druh stopy do iného."
 
-#: Menus.cpp:2628
+#: Menus.cpp:3107
 msgid "Copying stereo audio into a mono track is not allowed."
-msgstr ""
+msgstr "Ne je možné kopírovať stereo zvuk do mono stopy."
 
-#: ../src/Menus.cpp:1902
+#: Menus.cpp:3257
+#: toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "&Skrátiť (Trim)"
 
-#: ../src/Menus.cpp:1902
+#: Menus.cpp:3257
 msgid "Trim file to selection"
 msgstr "Skrátiť súbor na výber"
 
-#: Menus.cpp:2747
+#: Menus.cpp:3286
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
-msgstr ""
+msgstr "Rozdelené a vymazané %.2f sekúnd na t=%.2f"
 
-#: Menus.cpp:2750
+#: Menus.cpp:3289
 msgid "Split Delete"
-msgstr ""
+msgstr "Rozdeliť a vymazať"
 
-#: Menus.cpp:2771
+#: Menus.cpp:3310
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
-msgstr ""
+msgstr "Rozpojiť %.2f sekúnd na t=%.2f"
 
-#: Menus.cpp:2774
+#: Menus.cpp:3313
 msgid "Disjoin"
-msgstr ""
+msgstr "Rozpojiť"
 
-#: Menus.cpp:2795
+#: Menus.cpp:3334
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
-msgstr ""
+msgstr "Spojené %.2f sekúnd na t=%.2f"
 
-#: Menus.cpp:2798
+#: Menus.cpp:3337
 msgid "Join"
-msgstr ""
+msgstr "Spojiť"
 
-#: ../src/Menus.cpp:1926
+#: Menus.cpp:3356
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
-msgstr "Zvolené stopy stlmené na %.2f sekúnd od %.2f"
+msgstr "Stlmenie zvolenej stopy na %.2f sekúnd od %.2f"
 
-#: ../src/Menus.cpp:1928
-#: ../src/effects/Silence.h:33
+#: Menus.cpp:3358
+#: toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Ticho"
 
-#: ../src/Menus.cpp:1962
+#: Menus.cpp:3392
 msgid "Duplicate"
 msgstr "Duplikovať"
 
-#: ../src/Menus.cpp:1962
+#: Menus.cpp:3392
 msgid "Duplicated"
 msgstr "Duplikované"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3411
 msgid "Cut Labels"
-msgstr ""
+msgstr "Vystrihnúť popisy"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3411
 msgid "Cut labeled regions to the clipboard"
-msgstr ""
+msgstr "Vystrihnúť označené oblasti a vložiť do schránky"
 
-#: Menus.cpp:2886
+#: Menus.cpp:3425
 msgid "SplitCut labeled regions to the clipboard"
-msgstr ""
+msgstr "Rozdeliť a vystrihnúť oblasti s popismi do schránky"
 
-#: Menus.cpp:2887
+#: Menus.cpp:3426
 msgid "Split Cut Labels"
-msgstr ""
+msgstr "Rozdeliť a vystrihnúť popisy"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3440
 msgid "Copied labeled regions to the clipboard"
-msgstr ""
+msgstr "Oblasti s popismi prekopírované do schránky"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3440
 msgid "Copy Labels"
-msgstr ""
+msgstr "Kopírovať popisy"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3452
 msgid "Delete Labels"
-msgstr ""
+msgstr "Zmazať popisy"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3452
 msgid "Deleted labeled regions"
-msgstr ""
+msgstr "Zmazané oblasti s popismi"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3464
 msgid "Split Delete Labels"
-msgstr ""
+msgstr "Rozdeliť a vymazať popisy"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3464
 msgid "Split Deleted labeled regions"
-msgstr ""
+msgstr "Rozdeliť zmazané oblasti s popismi"
 
-#: Menus.cpp:2937
+#: Menus.cpp:3476
 msgid "Silence Labels"
-msgstr ""
+msgstr "Popisy s tichom"
 
-#: Menus.cpp:2937
+#: Menus.cpp:3476
 msgid "Silenced labeled regions"
-msgstr ""
+msgstr "Umlčať pomenované úseky"
 
-#: Menus.cpp:2949
+#: Menus.cpp:3488
 msgid "Split Labels"
-msgstr ""
+msgstr "Rozdeliť popisy"
 
-#: Menus.cpp:2949
+#: Menus.cpp:3488
 msgid "Split labeled regions"
-msgstr ""
+msgstr "Rozdeliť oblasti s popismi"
 
-#: Menus.cpp:2961
+#: Menus.cpp:3500
 msgid "Join Labels"
-msgstr ""
+msgstr "Spojiť popisy"
 
-#: Menus.cpp:2961
+#: Menus.cpp:3500
 msgid "Joined labeled regions"
-msgstr ""
+msgstr "Spojené oblasti s popismi"
 
-#: Menus.cpp:2973
+#: Menus.cpp:3512
 msgid "Disjoin Labels"
-msgstr ""
+msgstr "Rozpojiť popisy"
 
-#: Menus.cpp:2973
+#: Menus.cpp:3512
 msgid "Disjoined labeled regions"
-msgstr ""
+msgstr "Rozpojené oblasti s popismi"
 
-#: ../src/Menus.cpp:2009
-#: ../src/TrackPanel.cpp:4134
+#: Menus.cpp:3534
+#: TrackPanel.cpp:6141
 msgid "Split"
 msgstr "Rozdeliť"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3628
 msgid "Split New"
-msgstr ""
+msgstr "Rozdeliť Nový"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3628
 msgid "Split to new track"
-msgstr ""
+msgstr "Rozdeliť do novej stopy"
 
-#: ../src/Menus.cpp:2092
+#: Menus.cpp:3711
 msgid "Split at labels"
-msgstr "Rozdeliť na popisoch (labels)"
+msgstr "Rozdeliť na popisoch"
 
-#: ../src/Menus.cpp:2369
+#: Menus.cpp:4012
 msgid "To plot the spectrum, all selected tracks must be the same sample rate."
 msgstr "Aby mohlo byť vykreslené spektrum, musia mať všetky stopy rovnakú vzorkovaciu frekvenciu."
 
-#: ../src/Menus.cpp:2395
+#: Menus.cpp:4038
 #, c-format
 msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Je vybraného príliš mnoho zvuku. Môže byť analyzovaných len počiatočných %.1f sekúnd."
+msgstr "Je vybraného príliš mnoho zvuku. Môže byť analyzovaných len po čiatočných %.1f sekúnd."
 
-#: ../src/Menus.cpp:2660
+#: Menus.cpp:4181
 #, c-format
 msgid "Imported labels from '%s'"
-msgstr "Importované popisy (labels) z '%s'"
+msgstr "Importované popisy z '%s'"
 
-#: ../src/Menus.cpp:2661
+#: Menus.cpp:4182
 msgid "Import Labels"
-msgstr "Importovať popisy (Labels)..."
+msgstr "Importovať popisy ..."
 
-#: ../src/Menus.cpp:2672
+#: Menus.cpp:4193
 msgid "Select a MIDI file..."
 msgstr "Zvoliť MIDI súbor..."
 
-#: Menus.cpp:4147
+#: Menus.cpp:4197
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "MIDI a Allegro súbory (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI súbory (*.mid;*.midi)|*.mid;*.midi|Allegro súbory (*.gro)|*.gro|Všetky súbory (*.*)|*"
 
-#: ../src/Menus.cpp:2694
+#: Menus.cpp:4213
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "Importované MIDI z '%s'"
 
-#: ../src/Menus.cpp:2696
+#: Menus.cpp:4214
 msgid "Import MIDI"
-msgstr "Importovať &MIDI..."
+msgstr "Importovať MIDI"
 
-#: ../src/Menus.cpp:2709
+#: Menus.cpp:4228
 msgid "Select any uncompressed audio file..."
 msgstr "Zvoľte nejaký nekomprimovaný audio súbor..."
 
-#: ../src/Menus.cpp:2713
+#: Menus.cpp:4232
 msgid "All files (*)|*"
 msgstr "Všetky súbory (*)|*"
 
-#: Menus.cpp:3630
+#: Menus.cpp:4256
 msgid "Edit the metadata tags"
-msgstr ""
+msgstr "Upraviť metadáta tágu"
 
-#: Menus.cpp:3631
+#: Menus.cpp:4257
+#: export/Export.cpp:349
 msgid "Edit Metadata"
-msgstr ""
+msgstr "Upraviť metadáta"
 
-#: Menus.cpp:3631
+#: Menus.cpp:4257
 msgid "Edit Metadata tags"
-msgstr ""
+msgstr "Upraviť metadáta tágu"
 
-#: Menus.cpp:3749
+#: Menus.cpp:4313
 #, c-format
 msgid "Rendered all audio in track '%s'"
-msgstr ""
+msgstr "Všetky zvukové stopy v '%s' vykreslené"
 
-#: Menus.cpp:3750
+#: Menus.cpp:4314
 msgid "Render"
-msgstr ""
+msgstr "Vykresliť"
 
-#: Menus.cpp:3755
+#: Menus.cpp:4319
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
-msgstr ""
+msgstr "Do jednej novej stereo stopy bolo zmiešaných a vykreslených %d stôp"
 
-#: Menus.cpp:3758
+#: Menus.cpp:4322
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
-msgstr ""
+msgstr "Do jednej novej mono stopy boli zmiešané a vykreslené %d stopy"
 
-#: Menus.cpp:658 Menus.cpp:3760 Mix.cpp:119
+#: Menus.cpp:4324
+#: Mix.cpp:121
 msgid "&Mix and Render"
-msgstr ""
+msgstr "&Mixovať a vykresliť"
 
-#: ../src/Menus.cpp:2892
+#: Menus.cpp:4454
 msgid "Aligned with zero"
-msgstr "Zarovnané na nulu"
+msgstr "Zarovnané s nulou"
 
-#: ../src/Menus.cpp:2896
+#: Menus.cpp:4458
 msgid "Aligned cursor"
 msgstr "Zarovnaný kurzor"
 
-#: ../src/Menus.cpp:2900
+#: Menus.cpp:4462
 msgid "Aligned with selection start"
-msgstr "Zarovnané na začiatok výberu"
+msgstr "Zarovnané so začiatkom výberu"
 
-#: ../src/Menus.cpp:2904
+#: Menus.cpp:4466
 msgid "Aligned with selection end"
-msgstr "Zarovnané na koniec výberu"
+msgstr "Zarovnané s koncom výberu"
 
-#: ../src/Menus.cpp:2908
+#: Menus.cpp:4470
 msgid "Aligned end with cursor"
-msgstr "Zarovnaný koniec na kurzor"
+msgstr "Zarovnaný koniec s kurzorom"
 
-#: ../src/Menus.cpp:2912
+#: Menus.cpp:4474
 msgid "Aligned end with selection start"
-msgstr "Zarovnaný koniec na začiatok výberu"
+msgstr "Zarovnaný koniec so začiatkom výberu"
 
-#: ../src/Menus.cpp:2916
+#: Menus.cpp:4478
 msgid "Aligned end with selection end"
-msgstr "Zarovnaný koniec na koniec výberu"
+msgstr "Zarovnaný koniec s koncom výberu"
 
-#: ../src/Menus.cpp:2920
+#: Menus.cpp:4482
 msgid "Aligned"
 msgstr "Zarovnané"
 
-#: ../src/Menus.cpp:2953
+#: Menus.cpp:4515
 msgid "Align"
 msgstr "Zarovnať"
 
-#: Menus.cpp:4550
+#: Menus.cpp:4600
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "Synchronizácia MIDI s Audio"
 
-#: Menus.cpp:4554
+#: Menus.cpp:4604
 msgid "Alignment completed."
-msgstr ""
+msgstr "Zarovnávanie dokončené."
 
-#: ../src/Menus.cpp:2977
+#: Menus.cpp:4615
 msgid "Created new audio track"
 msgstr "Nová audio stopa vytvorená"
 
-#: ../src/Menus.cpp:2977
-#: ../src/Menus.cpp:3001
-#: ../src/Menus.cpp:3016
-#: ../src/Menus.cpp:3052
+#: Menus.cpp:4615
+#: Menus.cpp:4638
+#: Menus.cpp:4653
+#: Menus.cpp:4673
 msgid "New Track"
 msgstr "Nová stopa"
 
-#: ../src/Menus.cpp:3001
+#: Menus.cpp:4638
 msgid "Created new stereo audio track"
 msgstr "Nová stereo audio stopa vytvorená"
 
-#: ../src/Menus.cpp:3016
+#: Menus.cpp:4653
 msgid "Created new label track"
-msgstr "Vytvoriť novú popisovú (Label) stopu"
+msgstr "Vytvoriť novú popisovú  stopu"
 
-#: ../src/Menus.cpp:3041
+#: Menus.cpp:4662
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Verzia Audacity, ktorú používate, nepodporuje viac časových stôp."
 
-#: ../src/Menus.cpp:3052
+#: Menus.cpp:4673
 msgid "Created new time track"
 msgstr "Nová časová stopa vytvorená"
 
-#: ../src/Menus.cpp:3088
+#: Menus.cpp:4733
 msgid "Added label"
 msgstr "Vložený popis"
 
-#: Menus.cpp:4119
+#: Menus.cpp:4768
 msgid "Edited labels"
-msgstr ""
+msgstr "Upravené popisy"
 
-#: Menus.cpp:4146
+#: Menus.cpp:4795
 msgid "Save CleanSpeech Preset File As:"
-msgstr ""
+msgstr "Uložiť súbor s predvoľbami CleanSpeech ako:"
 
-#: Menus.cpp:4150
+#: Menus.cpp:4799
 msgid "CleanSpeech Presets (*.csp)|*.csp"
-msgstr ""
+msgstr "Predvoľby CleanSpeech (*.csp)|*.csp"
 
-#: ../src/export/Export.cpp:185
+#: Menus.cpp:4806
+#: export/Export.cpp:611
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Ospravedlňujem sa, ale názvy ciest dlhšie než 256 znakov nie sú podporované."
 
-#: Menus.cpp:4203
+#: Menus.cpp:4852
 msgid "Problem encountered exporting presets."
-msgstr ""
+msgstr "Problém pri exporte predvolieb."
 
-#: Menus.cpp:4204 export/Export.cpp:136
+#: Menus.cpp:4853
+#: export/Export.cpp:473
 msgid "Unable to export"
-msgstr ""
+msgstr "Export nie je možný"
 
-#: ../src/Menus.cpp:3122
+#: Menus.cpp:5037
 msgid "Remove Track"
-msgstr "&Odstrániť stopu(y)"
+msgstr "Odstrániť stopu"
 
-#: ../src/Menus.cpp:3122
+#: Menus.cpp:5037
 msgid "Removed audio track(s)"
 msgstr "Odstránené audio stopy"
 
-#: Menus.cpp:4480 Menus.cpp:4499
+#: Menus.cpp:5194
+#: Menus.cpp:5249
+#: export/ExportFFmpeg.cpp:741
+#: export/ExportMP3.cpp:1780
 msgid "Resample"
-msgstr ""
+msgstr "Prevzorkovať"
 
-#: Menus.cpp:5159 TrackPanel.cpp:6361
+#: Menus.cpp:5214
+#: TrackPanel.cpp:6368
 msgid "New sample rate (Hz):"
-msgstr ""
+msgstr "Nová vzorkovacia frekvencia (Hz):"
 
-#: Menus.cpp:4486
+#: Menus.cpp:5238
+#: TrackPanel.cpp:6392
 msgid "The entered value is invalid"
-msgstr ""
+msgstr "Zadaná hodnota nie je správna"
 
-#: Menus.cpp:4497
+#: Menus.cpp:5247
 #, c-format
 msgid "Resampling track %d"
-msgstr ""
+msgstr "Prevzorkovanie stopy %d"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5256
 msgid "Resample Track"
-msgstr ""
+msgstr "Prevzorkovať stopu"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5256
 msgid "Resampled audio track(s)"
-msgstr ""
+msgstr "Prevzorkované zvukové stopy"
 
-#: ../src/Mix.cpp:74
-#: ../src/Mix.cpp:82
+#: Mix.cpp:95
+#: Mix.cpp:102
 msgid "Mix"
-msgstr "Mixovací panel"
+msgstr "Mixážny panel"
 
-#: Mix.cpp:120
+#: Mix.cpp:122
 msgid "Mixing and rendering tracks"
-msgstr ""
+msgstr "Miešanie a vykreslenie stôp"
 
-#: ../src/NoteTrack.cpp:30
+#: NoteTrack.cpp:43
 msgid "Note Track"
-msgstr "Notová stopa"
+msgstr "Poznámka stopy"
 
-#: ../src/Menus.cpp:1617
+#: Printing.cpp:192
 msgid "There was a problem printing."
 msgstr "Vyskytli sa problémy s tlačou."
 
-#: ../src/Menus.cpp:1618
+#: Printing.cpp:193
 msgid "Print"
 msgstr "Tlač"
 
-#: Project.cpp:573
+#: Project.cpp:741
 msgid "Main Mix"
-msgstr ""
+msgstr "Hlavný Mixér"
 
-#: Project.cpp:693
+#: Project.cpp:865
 #, c-format
 msgid "Welcome to Audacity version %s"
-msgstr ""
+msgstr "Vitajte v Audacity verzie %s"
 
-#: Project.cpp:831
+#: Project.cpp:1045
 msgid "(Recovered)"
-msgstr ""
+msgstr "(Obnovené)"
 
-#: ../src/ControlToolBar.cpp:469
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: Project.cpp:1639
+#: TrackPanel.cpp:793
+#: toolbars/ControlToolBar.cpp:192
 msgid "Record"
 msgstr "Nahrávať"
 
-#: ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: Project.cpp:1639
+#: TrackPanel.cpp:793
 msgid "Recorded Audio"
 msgstr "Nahratý zvuk"
 
-#: ../src/Project.cpp:1716
+#: Project.cpp:1657
 msgid "Save changes before closing?"
 msgstr "Uložiť zmeny pred uzavretím?"
 
-#: Project.cpp:1570
-msgid "\n"
+#: Project.cpp:1660
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
 msgstr ""
+"\n"
+"Ak ukladáte, projekt nebude mať žiadne stopy.\n"
+"\n"
+"Ak chcete uložiť všetky predtým otvorené skladby:\n"
+"Storno, Upraviť> Späť, kým všetky stopy \n"
+"sú otvorené, potom Súbor> Uložiť projekt."
 
-#: ../src/Project.cpp:1717
+#: Project.cpp:1663
 msgid "Save changes?"
 msgstr "Uložiť zmeny?"
 
-#: Project.cpp:1684
+#: Project.cpp:1870
 msgid "All files|*.*|All supported files|"
-msgstr ""
+msgstr "Všetky súbory|*.*|Všetky podporované súbory|"
 
-#: ../src/Menus.cpp:2595
-#: ../src/Project.cpp:1738
+#: Project.cpp:1900
 msgid "Select one or more audio files..."
 msgstr "Zvoľte jeden alebo viac zvukových súborov..."
 
-#: Project.cpp:1736
+#: Project.cpp:1927
 msgid "Audacity projects|*.aup|"
-msgstr ""
+msgstr "Audacity projekty|*.aup|"
 
-#: Project.cpp:1885 Project.cpp:2307
+#: Project.cpp:1986
+#: Project.cpp:2408
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
@@ -2870,82 +3089,102 @@ msgid "This file was saved by Audacity %s, a much\n"
 "\n"
 "Open this file now?"
 msgstr ""
+"Tento súbor bol uložený do Audacity% s, čo je oveľa\n"
+"staršia verzia. Tento formát sa zmenil.\n"
+"\n"
+"Audacity mohol poškodiť súbor pri otvorení,\n"
+"takže je potrebné ísť od začiatku.\n"
+"\n"
+"Otvoriť tento súbor teraz?"
 
-#: Project.cpp:1886
+#: Project.cpp:1987
 msgid "1.0 or earlier"
-msgstr ""
+msgstr "1.0 alebo predošlé"
 
-#: Project.cpp:1902
+#: Project.cpp:1993
+#: Project.cpp:2420
 msgid "Opening old project file"
-msgstr ""
+msgstr "Otvára sa starý projektový súbor"
 
-#: ../src/Project.cpp:1821
-#: ../src/Project.cpp:1829
+#: Project.cpp:2019
+#: Project.cpp:2027
 msgid "Error opening file"
 msgstr "Chyba pri načítaní súboru."
 
-#: Project.cpp:1585
+#: Project.cpp:2033
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
 msgstr ""
+"Súbor môže byť nesprávny alebo poškodený: \n"
+"%s"
 
-#: Project.cpp:1586
+#: Project.cpp:2034
 msgid "Error opening file or project"
-msgstr ""
+msgstr "Chyba pri otváraní súboru alebo projektu"
 
-#: ../src/Project.cpp:1842
+#: Project.cpp:2054
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity nedokázalo previesť projekt z Audacity 1.0 do nového formátu projektu."
 
-#: Project.cpp:1706
+#: Project.cpp:2157
 msgid "Could not remove old auto save file"
-msgstr ""
+msgstr "Starý záložný súbor nie je možné odstrániť"
 
-#: Project.cpp:1708
+#: Project.cpp:2159
 msgid "Project was recovered"
-msgstr ""
+msgstr "Projekt bol obnovený"
 
-#: Project.cpp:1708
+#: Project.cpp:2159
 msgid "Recover"
-msgstr ""
+msgstr "Obnoviť"
 
-#: Project.cpp:1737
+#: Project.cpp:2188
 msgid "Project checker repaired file"
-msgstr ""
+msgstr "Projektová kontrola opravila súbor"
 
-#: Project.cpp:1737 effects/Repair.h:29
+#: Project.cpp:2188
+#: effects/Repair.h:29
 msgid "Repair"
-msgstr ""
+msgstr "Opraviť"
 
-#: ../src/Project.cpp:1941
+#: Project.cpp:2334
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Nemôžem nájsť zložku s dátami projektu: \"%s\""
 
-#: ../src/Project.cpp:1985
+#: Project.cpp:2377
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "Súbor bol uložený Audacity %s.\n"
+msgstr ""
+"Súbor bol uložený Audacity %s.\n"
 "Vy používate %s - pokiaľ tento súbor chcete\n"
 "otvoriť, musíte prejsť na novšiu verziu programu."
 
-#: ../src/Project.cpp:1991
+#: Project.cpp:2381
 msgid "Can't open project file"
 msgstr "Nie je možné otvoriť súbor projektu"
 
-#: Project.cpp:2314
+#: Project.cpp:2415
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
 "You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
 "\n"
 "Open this file now?"
 msgstr ""
+"Tento súbor bol uložený do Audacity %s.\n"
+"Môžete otvoriť súbor s touto verziou Audacity, ale ak ju uložíte s touto verziou už ho nebudete môcť otvoriť v starších verziách.\n"
+"\n"
+"Otvoriť tento súbor teraz?"
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2611
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -2954,54 +3193,63 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"Váš projekt je teraz prázdny. \n"
+"Ak ste ho uložili, projekt nebude mať žiadne stopy.\n"
+"\n"
+"Ak chcete uložiť všetky predtým otvorené stopy.\n"
+"Kliknute na 'Nie', Upraviť> Späť, kým všetky stopy\n"
+"sú otvorené, potom Súbor> Uložiť projekt.\n"
+"\n"
+"Uložiť akokoľvek?"
 
-#: Project.cpp:2538
+#: Project.cpp:2612
 msgid "Warning empty project"
-msgstr ""
+msgstr "Upozornenie prázdny projekt"
 
-#: Project.cpp:2591
+#: Project.cpp:2721
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
+"Nie je možné uložiť projekt. Možno %s \n"
+"nie je apisovateľný alebo je plný disk."
 
-#: ../src/Project.cpp:2148
-#: ../src/Project.cpp:2160
+#: Project.cpp:2723
+#: Project.cpp:2738
 msgid "Error saving project"
 msgstr "Chyba pri ukladaní projektu"
 
-#: ../src/Project.cpp:2200
+#: Project.cpp:2808
 #, c-format
 msgid "Saved %s"
 msgstr "Uložené %s"
 
-#: ../src/Project.cpp:2282
+#: Project.cpp:2974
 #, c-format
 msgid "Imported '%s'"
-msgstr "Importované '%s'"
+msgstr "Importovať'%s'"
 
-#: ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
-#: ../src/import/ImportPCM.cpp:403
-#: ../src/import/ImportPCM.cpp:488
-#: ../src/import/ImportRaw.cpp:408
+#: Project.cpp:2975
 msgid "Import"
-msgstr "Import"
+msgstr "Importovať"
 
-#: ../src/Project.cpp:2340
+#: Project.cpp:3009
+#: Project.cpp:3017
 msgid "Error importing"
 msgstr "Chyba importu"
 
-#: Project.cpp:2365
+#: Project.cpp:3057
 msgid "Save Speech As:"
-msgstr ""
+msgstr "Uložiť hovorené slovo ako:"
 
-#: Project.cpp:2621
+#: Project.cpp:3059
 msgid "Windows PCM Audio file (*.wav)|*.wav"
-msgstr ""
+msgstr "Súbor Windows PCM Audio (*.wav)|*.wav"
 
-#: Project.cpp:2894
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:3066
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
@@ -3009,3802 +3257,4149 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
 msgstr ""
+"Audacity komprimované projektové súbory (.aup) uložte si prácu v menších, komprimovaných formátoch (.ogg). \n"
+"Komprimované projektové súbory sú dobrým spôsobom, ako odovzdať svoj projekt na internet, pretože sú oveľa menšie.\n"
+"Ak chcete otvoriť komprimovaný projekt trvá dlhšie ako zvyčajne, pretože importuje každú komprimovanú stopu. \n"
+"\n"
+"Väčšina ostatných programov nemôže otvoriť súbory projektu Audacity. \n"
+"Ak chcete uložiť súbor, ktorý je možné otvoriť pomocou iných programov, vyberte jeden z \n"
+" príkazov Export."
 
-#: Project.cpp:2897
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3069
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
+"Ukladáte súbor projektu Audacity (.aup).\n"
+"\n"
+"Uložením projektu sa vytvorí súbor, ktorý može otvoriť iba Audacity. \n"
+"\n"
+"Ak chcete uložiť audio súbor pre iné programy, použite jeden z príkazov\"Súbor> Export\".\n"
 
-#: ../src/Project.cpp:2378
+#: Project.cpp:3073
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Audacity projekty (*.aup)|*.aup"
 
-#: ../src/Project.cpp:2414
+#: Project.cpp:3127
 msgid "Created new project"
 msgstr "Nový projekt vytvorený"
 
-#: ../src/Project.cpp:2527
+#: Project.cpp:3286
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Vymazané %.2f sekúnt na t=%.2f"
 
-#: ../src/Project.cpp:2530
+#: Project.cpp:3289
+#: effects/Equalization.cpp:1274
+#: effects/Equalization.cpp:2605
 msgid "Delete"
 msgstr "Zmazať"
 
-#: Project.cpp:2738
+#: Project.cpp:3483
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
-msgstr ""
+msgstr "Na disku zostáva miesto pre %d hodín a %d minút  nahrávania."
 
-#: Project.cpp:2741
+#: Project.cpp:3486
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
-msgstr ""
+msgstr "Na disku zostáva miesto pre 1hodinu a %d minút  nahrávania."
 
-#: Project.cpp:2744
+#: Project.cpp:3489
 #, c-format
 msgid "Disk space remains for recording %d minutes."
-msgstr ""
+msgstr "Na disku zostáva miesto pre %d minút  nahrávania."
 
-#: Project.cpp:2747
+#: Project.cpp:3492
 #, c-format
 msgid "Disk space remains for recording %d seconds."
-msgstr ""
+msgstr "Na disku zostáva miesto pre %d sekúnd  nahrávania."
 
-#: ../src/Project.cpp:2706
+#: Project.cpp:3495
 msgid "Out of disk space"
 msgstr "Nedostatok miesta na disku"
 
-#: Project.cpp:3336
+#: Project.cpp:3508
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "Importovanie dokončené. Spustenie výpočtu krivky %d na požiadanie. Celkový %2.0f%% hotovo."
 
-#: Project.cpp:3339
+#: Project.cpp:3511
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "Importovanie dokončené. Spustenie výpočtu krivky na požiadanie. %2.0f%% hotovo."
 
-#: Project.cpp:3027
+#: Project.cpp:3789
 msgid "Could not remove old autosave file: "
-msgstr ""
+msgstr "Nie je možné odstrániť záložný súbor: "
 
-#: Project.cpp:3068
+#: Project.cpp:3830
 msgid "New Project"
-msgstr ""
+msgstr "Nový projekt"
 
-#: Project.cpp:3081
+#: Project.cpp:3843
 msgid "Error writing autosave file"
-msgstr ""
+msgstr "Chyba pri ukladaní záložného súboru"
 
-#: Project.cpp:3102
+#: Project.cpp:3868
 msgid "Could not create autosave file: "
-msgstr ""
+msgstr "Nie je možné vytvoriť záložný súbor:"
 
-#: Project.cpp:3385
+#: Project.cpp:3894
 #, c-format
 msgid "Actual Rate: %d"
-msgstr ""
+msgstr "Súčasné vzorkovanie: %d"
 
-#: ../src/Resample.cpp:35
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample od Dominica Mazzoniho a Julia Smitha"
 
-#: ../src/Resample.cpp:46
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Vysoko kvalitný konvertor vzorkovacej rýchlosti"
 
-#: ../src/Resample.cpp:48
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
-msgstr "Fast Sinc Interpolácia"
+msgstr "Rýchla Synchronizácia Interpolácie"
 
-#: ../src/Resample.cpp:118
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate od Erika de Castra Lopa"
 
-#: ../src/Resample.cpp:211
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Chyba Libsamplerate: %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Prevzorkovanie zakázané."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
-msgstr ""
+msgstr "16-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
-msgstr ""
+msgstr "24-bit PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
-msgstr ""
+msgstr "32-bit float"
 
 #: Screenshot.cpp:384
 msgid "Saved "
-msgstr ""
+msgstr "Uložené"
 
 #: Screenshot.cpp:387
 msgid "Error trying to save file: "
-msgstr ""
+msgstr "Chyba pri pokuse uložiť súbor:"
 
-#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
+#: Sequence.cpp:804
+#: Sequence.cpp:814
+#: Sequence.cpp:821
 msgid "Gap detected in project file\n"
-msgstr ""
+msgstr "Medzera zistená v súbore projektu\n"
 
-#: effects/Effect.cpp:254 effects/Effect.cpp:370 effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:852
+#: ShuttleGui.cpp:1972
+#: effects/Effect.cpp:419
+#: effects/audiounits/AudioUnitEffect.cpp:877
 msgid "Pre&view"
-msgstr ""
+msgstr "Ná&hľad"
 
-#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
+#: ShuttleGui.cpp:1979
 msgid "&Debug"
-msgstr ""
+msgstr "&Ladiť"
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "Zvukovo aktivované nahravanie"
 
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "Aktivácia úrovne (dB):"
 
-#: SplashDialog.cpp:58
+#: SplashDialog.cpp:60
 msgid "&Welcome to Audacity!"
-msgstr ""
+msgstr "&Vítajte v Audacity!"
 
-#: SplashDialog.cpp:110
+#: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
-msgstr ""
+msgstr "Toto už pri štarte nezobrazovať"
 
-#: Tags.cpp:621
+#: Tags.cpp:628
 msgid "Artist Name"
-msgstr ""
+msgstr "Interpret"
 
-#: Tags.cpp:622
+#: Tags.cpp:629
 msgid "Track Title"
-msgstr ""
+msgstr "Názov stopy"
 
-#: Tags.cpp:623
+#: Tags.cpp:630
 msgid "Album Title"
-msgstr ""
+msgstr "Názov albumu"
 
-#: Tags.cpp:953
-#, fuzzy
+#: Tags.cpp:631
 msgid "Track Number"
-msgstr "Číslo stopy:"
+msgstr "Číslo stopy"
 
-#: ../src/Tags.cpp:465
+#: Tags.cpp:632
 msgid "Year"
-msgstr "Rok:"
+msgstr "Rok"
 
-#: Tags.cpp:979
+#: Tags.cpp:633
 msgid "Genre"
-msgstr ""
+msgstr "Žáner"
 
-#: ../src/Tags.cpp:475
+#: Tags.cpp:634
+#: prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Komentáre"
 
 #: Tags.cpp:777
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Použite šípky (alebo klávesu RETURN po úpravách) pre navigáciu poľa."
 
-#: Tags.cpp:769
+#: Tags.cpp:800
 msgid "Tag Name"
-msgstr ""
+msgstr "Názov tágu"
 
-#: Tags.cpp:770
+#: Tags.cpp:801
 msgid "Tag Value"
-msgstr ""
+msgstr "Hodnota tagu"
 
-#: prefs/KeyConfigPrefs.cpp:114
+#: Tags.cpp:816
+#: prefs/KeyConfigPrefs.cpp:130
 msgid "&Clear"
-msgstr ""
+msgstr "&Vymazať"
 
-#: Tags.cpp:791
+#: Tags.cpp:822
 msgid "Genres"
-msgstr ""
+msgstr "Žánre"
 
 #: Tags.cpp:826
 msgid "E&dit..."
-msgstr ""
+msgstr "U&praviť..."
 
 #: Tags.cpp:827
 msgid "Rese&t..."
-msgstr ""
+msgstr "Rese&t..."
 
-#: Tags.cpp:1070
+#: Tags.cpp:832
 msgid "Template"
-msgstr ""
+msgstr "Šablóna"
 
-#: Tags.cpp:1073 prefs/KeyConfigPrefs.cpp:124
+#: Tags.cpp:836
+#: prefs/KeyConfigPrefs.cpp:142
 msgid "&Load..."
-msgstr ""
+msgstr "&Načítať..."
 
-#: Tags.cpp:1078 prefs/KeyConfigPrefs.cpp:123
+#: Tags.cpp:837
+#: prefs/KeyConfigPrefs.cpp:141
 msgid "&Save..."
-msgstr ""
+msgstr "&Uložiť..."
 
-#: Tags.cpp:808 Tags.cpp:1434 Tags.cpp:1962
+#: Tags.cpp:839
 msgid "S&et Default"
-msgstr ""
+msgstr "Nastaviť ako predvolené"
 
-#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
+#: Tags.cpp:989
 msgid "Edit Genres"
-msgstr ""
+msgstr "Upraviť žánre"
 
-#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
-#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
-#: Tags.cpp:2397 Tags.cpp:2410
+#: Tags.cpp:1022
+#: Tags.cpp:1034
+#: Tags.cpp:1049
+#: Tags.cpp:1062
 msgid "Reset Genres"
-msgstr ""
+msgstr "Resetnuť žánre"
 
-#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
-#: Tags.cpp:2410
+#: Tags.cpp:1022
+#: Tags.cpp:1062
 msgid "Unable to save genre file."
-msgstr ""
+msgstr "Nie je možné uložiť žánrový súbor."
 
-#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
+#: Tags.cpp:1033
 msgid "Are you sure you want to reset the genre list to defaults?"
-msgstr ""
+msgstr "Naozaj chcete vrátiť zoznam žánrov do predvoleného stavu?"
 
-#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
+#: Tags.cpp:1049
 msgid "Unable to open genre file."
-msgstr ""
+msgstr "Nie je možné otvoriť žánrový súbor."
 
 #: Tags.cpp:1084
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Načítať metadáta ako:"
 
-#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
+#: Tags.cpp:1109
 msgid "Error loading metadata"
-msgstr ""
+msgstr "Chyba pri načítaní metadát"
 
-#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
-#: Tags.cpp:2468
+#: Tags.cpp:1138
 msgid "Save Metadata As:"
-msgstr ""
+msgstr "Uložiť metadáta ako:"
 
-#: Theme.cpp:629
+#: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
 msgstr ""
+"Audacity nemôže zapísať súbor:\n"
+"  %s."
 
-#: Theme.cpp:647
+#: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
 msgstr ""
+"Audacity nemôže otvoriť súbor:\n"
+"  %s\n"
+"pre písanie."
 
-#: Theme.cpp:655
+#: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
 msgstr ""
+"Audacity nemôže zapísať obrázky do súboru:\n"
+"  %s."
 
-#: Theme.cpp:790
+#: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
 msgstr ""
+"Audacity nemôže nájsť súbor:\n"
+"  %s.\n"
+"Téma sa nenačítala."
 
-#: Theme.cpp:798 Theme.cpp:886
+#: Theme.cpp:807
+#: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
 msgstr ""
+"Audacity nemôže načítať súbor:\n"
+"  %s.\n"
+"Pravdepodobne zlý png formát?"
 
-#: Theme.cpp:814
-msgid "Audacity could not read its default theme.\n"
+#: Theme.cpp:823
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
 msgstr ""
+"Audacity nemôže prečítať vlastnú predvolenú tému.\n"
+"Nahláste prosím tento problém."
 
-#: Theme.cpp:908
+#: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
 msgstr ""
+"Žiadny z očakávaných komponentov témy\n"
+"nebol nájdený:\n"
+"  %s."
 
-#: Theme.cpp:932
+#: Theme.cpp:942
+#: effects/NoiseRemoval.cpp:173
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
 msgstr ""
+"Nie je možné vytvoriť adresár:\n"
+"  %s"
 
-#: Theme.cpp:953
+#: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
 msgstr ""
+"Audacity nemôže uložiť súbor:\n"
+"  %s"
 
-#: Theme.cpp:965
+#: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
 msgstr ""
-
-#: SmartRecordDialog.cpp:285
+"Všetky potrebné súbory v:\n"
+"  %s\n"
+"už existujú."
+
+#: TimeDialog.cpp:53
+#: TimeDialog.cpp:64
+#: TimerRecordDialog.cpp:235
+#: TimerRecordDialog.cpp:366
+#: TimerRecordDialog.cpp:370
+#: effects/DtmfGen.cpp:479
+#: effects/Noise.cpp:241
+#: effects/Noise.cpp:257
+#: effects/ToneGen.cpp:321
+#: effects/ToneGen.cpp:333
+#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:377
 msgid "Duration"
-msgstr ""
+msgstr "Dĺžka"
 
-#: SmartRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
-msgstr ""
+msgstr "Časované nahrávanie Audacity"
 
-#: SmartRecordDialog.cpp:223
+#: TimerRecordDialog.cpp:232
 msgid "Recording start"
-msgstr ""
+msgstr "Štart nahrávania"
 
-#: SmartRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:233
 msgid "Recording end"
-msgstr ""
+msgstr "Koniec nahrávania"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:238
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Pokrok v Audacity časovači nahrávania"
 
-#: SmartRecordDialog.cpp:251
+#: TimerRecordDialog.cpp:328
 msgid "Start Date and Time"
-msgstr ""
+msgstr "Dátum a čas začiatku"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:335
 msgid "Start Date"
-msgstr ""
+msgstr "Dátum začiatku"
 
-#: SmartRecordDialog.cpp:268
+#: TimerRecordDialog.cpp:347
 msgid "End Date and Time"
-msgstr ""
+msgstr "Dátum a čas konca"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:355
 msgid "End Date"
-msgstr ""
+msgstr "Dátum konca"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: SmartRecordDialog.cpp:380
+#: TimerRecordDialog.cpp:442
 #, c-format
 msgid "Waiting to start recording at %s.\n"
-msgstr ""
+msgstr "Čaká sa na začiatok nahrávania %s.\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:443
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
+msgstr "Audacity časovač nahrávanie - čaká sa na začiatok"
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
+#: TrackPanel.cpp:454
+#: TrackPanel.cpp:455
 msgid "Track Panel"
-msgstr ""
+msgstr "Panel stopy"
 
-#: ../src/AStatus.cpp:81
-#: ../src/TrackPanel.cpp:822
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91
+#: TrackPanel.cpp:538
+#: prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Ďalší..."
 
-#: ../src/TrackPanel.cpp:830
-#: ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860
-#: ../src/TrackPanel.cpp:868
+#: TrackPanel.cpp:546
+#: TrackPanel.cpp:568
+#: TrackPanel.cpp:577
+#: TrackPanel.cpp:585
 msgid "Name..."
-msgstr "Meno..."
+msgstr "Názov..."
 
-#: ../src/TrackPanel.cpp:832
-#: ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864
-#: ../src/TrackPanel.cpp:870
+#: TrackPanel.cpp:548
+#: TrackPanel.cpp:570
+#: TrackPanel.cpp:581
+#: TrackPanel.cpp:587
 msgid "Move Track Up"
 msgstr "Presunúť stopu nahor"
 
-#: ../src/TrackPanel.cpp:833
-#: ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865
-#: ../src/TrackPanel.cpp:871
+#: TrackPanel.cpp:549
+#: TrackPanel.cpp:571
+#: TrackPanel.cpp:582
+#: TrackPanel.cpp:588
 msgid "Move Track Down"
 msgstr "Presunúť stopu nadol"
 
-#: ../src/TrackPanel.cpp:835
+#: TrackPanel.cpp:551
+#: effects/ToneGen.cpp:317
+#: prefs/GUIPrefs.cpp:154
 msgid "Waveform"
 msgstr "Krivka"
 
-#: ../src/TrackPanel.cpp:836
+#: TrackPanel.cpp:552
+#: prefs/GUIPrefs.cpp:155
 msgid "Waveform (dB)"
 msgstr "Krivka (dB)"
 
-#: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:554
+#: prefs/GUIPrefs.cpp:157
 msgid "Spectrum log(f)"
-msgstr ""
+msgstr "Záznam spektra (f)"
 
-#: ../src/TrackPanel.cpp:838
+#. i18n-hint: short form of 'logarithm'
+#: TrackPanel.cpp:555
+#: prefs/GUIPrefs.cpp:158
 msgid "Pitch (EAC)"
 msgstr "Výška tónu (EAC)"
 
-#: ../src/TrackPanel.cpp:840
+#: TrackPanel.cpp:557
+#: TrackPanel.cpp:6103
 msgid "Mono"
 msgstr "Mono"
 
-#: ../src/TrackPanel.cpp:841
+#: TrackPanel.cpp:558
+#: TrackPanel.cpp:6102
 msgid "Left Channel"
 msgstr "Ľavý kanál"
 
-#: ../src/TrackPanel.cpp:842
+#: TrackPanel.cpp:559
+#: TrackPanel.cpp:6102
 msgid "Right Channel"
 msgstr "Pravý kanál"
 
-#: ../src/TrackPanel.cpp:843
+#: TrackPanel.cpp:560
 msgid "Make Stereo Track"
 msgstr "Vytvoriť stereo stopu"
 
-#: ../src/TrackPanel.cpp:844
+#: TrackPanel.cpp:561
 msgid "Split Stereo Track"
 msgstr "Rozdeliť stereo stopu"
 
-#: ../src/TrackPanel.cpp:846
+#: TrackPanel.cpp:563
 msgid "Set Sample Format"
 msgstr "Nastaviť formát vzorkovania"
 
-#: ../src/AStatus.cpp:352
-#: ../src/TrackPanel.cpp:848
-#: ../src/TrackPanel.cpp:4322
+#: TrackPanel.cpp:565
+#: TrackPanel.cpp:6348
 msgid "Set Rate"
 msgstr "Nastaviť frekvenciu"
 
-#: ../src/TrackPanel.cpp:856
+#: TrackPanel.cpp:573
 msgid "Up Octave"
 msgstr "O oktávu vyššie"
 
-#: ../src/TrackPanel.cpp:857
+#: TrackPanel.cpp:574
 msgid "Down Octave"
 msgstr "O oktávu nižšie"
 
-#: ../src/TrackPanel.cpp:862
+#: TrackPanel.cpp:579
 msgid "Font..."
 msgstr "Písmo..."
 
-#: ../src/TrackPanel.cpp:873
+#: TrackPanel.cpp:590
 msgid "Set Range..."
 msgstr "Nastaviť rozsah..."
 
-#: ../src/EditToolBar.cpp:150
+#: TrackPanel.cpp:594
+#: toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Kopírovať"
 
-#: ../src/TrackPanel.cpp:1513
+#: TrackPanel.cpp:1263
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
-msgstr "Kliknutím zväčšíte vertikálne, kliknutím so shiftom zmenšíte, ťahaním priblížite konkrétny výsek..."
+msgstr "Kliknutím zväčšíte vertikálne, kliknutím so shiftom zmenšíte, ťahaním priblížite konkrétny výsek."
 
-#: ../src/TrackPanel.cpp:1519
+#: TrackPanel.cpp:1268
 msgid "Drag the label vertically to change the order of the tracks."
-msgstr "Poradie stôp zmeníte zvislým ťahaním popisky (label) myšou."
+msgstr "Poradie stôp zmeníte zvislým ťahaním popisky myšou."
 
-#: ../src/TrackPanel.cpp:1616
+#: TrackPanel.cpp:1288
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Kliknutím a ťahaním myši nastavíte relatívnu veľkosť stereo stôp."
 
-#: ../src/TrackPanel.cpp:1621
+#: TrackPanel.cpp:1291
 msgid "Click and drag to resize the track."
 msgstr "Kliknutím a ťahaním myši zmeňte veľkosť stopy."
 
-#: TrackPanel.cpp:1298
+#: TrackPanel.cpp:1322
 msgid "Drag one or more label boundaries"
-msgstr ""
+msgstr "Ťahaním jedného alebo viacerých štítkov hraníc"
 
-#: TrackPanel.cpp:1299
+#: TrackPanel.cpp:1323
 msgid "Drag label boundary"
-msgstr ""
+msgstr "Pretiahnite štítok hranice"
 
-#: ../src/TrackPanel.cpp:1541
+#. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
+#: TrackPanel.cpp:1339
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Viacnástrojový režim: Cmd-, pre nastavenia myši a klávesnice"
 
-#: ../src/TrackPanel.cpp:1543
+#. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
+#: TrackPanel.cpp:1342
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Viacnástrojový režim: Ctrl-P vyvolá nastavenia myši a klávesnice"
 
-#: ../src/TrackPanel.cpp:1574
+#: TrackPanel.cpp:1388
 msgid "Click and drag to move left selection boundary."
-msgstr "Kliknutím a ťahaním myši nastavte hranicy výberu"
+msgstr "Kliknutím a ťahaním myši nastavte ľavú hranicy výberu."
 
-#: ../src/TrackPanel.cpp:1579
+#: TrackPanel.cpp:1393
 msgid "Click and drag to move right selection boundary."
 msgstr "Kliknutím a ťahaním myši zmeňte pravú hranicy výberu."
 
-#: ../src/TrackPanel.cpp:3314
+#: TrackPanel.cpp:1735
+#: TrackPanel.cpp:3969
+#: TrackPanel.cpp:4001
+#: TrackPanel.cpp:4265
+#: TrackPanel.cpp:6497
+#: TrackPanel.cpp:6517
 msgid "Modified Label"
 msgstr "Upravený popis"
 
-#: ../src/TrackPanel.cpp:3315
+#: TrackPanel.cpp:1736
+#: TrackPanel.cpp:3970
+#: TrackPanel.cpp:4002
+#: TrackPanel.cpp:4266
+#: TrackPanel.cpp:6498
+#: TrackPanel.cpp:6518
 msgid "Label Edit"
 msgstr "Úprava popisu"
 
-#: ../src/TrackPanel.cpp:1904
+#: TrackPanel.cpp:1976
 msgid "Adjusted envelope."
 msgstr "Upravená obálka."
 
-#: ../src/TrackPanel.cpp:1905
-#: ../src/prefs/MousePrefs.cpp:98
+#: TrackPanel.cpp:1977
+#: prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Obálka"
 
-#: TrackPanel.cpp:2033
+#: TrackPanel.cpp:2128
 msgid "Moved clip to another track"
-msgstr ""
+msgstr "Klip bol presunutý do inej stopy"
 
-#: ../src/TrackPanel.cpp:2012
+#: TrackPanel.cpp:2132
 msgid "left"
 msgstr "doľava"
 
-#: ../src/TrackPanel.cpp:2012
+#: TrackPanel.cpp:2132
 msgid "right"
 msgstr "doprava"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2039
+#: TrackPanel.cpp:2134
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
-msgstr ""
+msgstr "Časové posunutie stôp/klipov %s %.02f sekúnd"
 
-#: ../src/prefs/MousePrefs.cpp:97
+#: TrackPanel.cpp:2138
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Časový posun"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2921
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr ""
+msgstr "Ak chcete použiť Kreslenie, zvoľte 'Krivka' z rozbaľovacieho menu stopy."
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2938
 msgid "To use Draw, zoom in further until you can see the individual samples."
-msgstr ""
+msgstr "Kreslenie je možné použiť, keď budete zväčšovať pohľad, kým neuvidíte jednotlivé vzorky."
 
-#: ../src/TrackPanel.cpp:2637
+#: TrackPanel.cpp:3210
 msgid "Moved Sample"
 msgstr "Presunutá vzorka"
 
-#: ../src/TrackPanel.cpp:2638
+#: TrackPanel.cpp:3211
 msgid "Sample Edit"
 msgstr "Editácia vzorky"
 
-#: ../src/TrackPanel.cpp:2703
+#: TrackPanel.cpp:3310
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Odstránené stopy '%s.'"
 
-#: ../src/TrackPanel.cpp:2705
+#: TrackPanel.cpp:3312
 msgid "Track Remove"
 msgstr "Odstrániť stopu"
 
-#: ../src/TrackPanel.cpp:2806
+#: TrackPanel.cpp:3377
+#: TrackPanel.cpp:7148
+msgid "Solo"
+msgstr "Solo"
+
+#: TrackPanel.cpp:3377
+msgid "Soloed track"
+msgstr "Osamostatnená stopa"
+
+#: TrackPanel.cpp:3382
+#: TrackPanel.cpp:7148
+msgid "Mute"
+msgstr "Stlmiť"
+
+#: TrackPanel.cpp:3382
+msgid "Muted track"
+msgstr "Stíšená stopa"
+
+#: TrackPanel.cpp:3458
 msgid "Moved gain slider"
 msgstr "Zmena nastavenia zisku (gain)"
 
-#: ../src/TrackPanel.cpp:2806
+#: TrackPanel.cpp:3458
 msgid "Moved pan slider"
 msgstr "Zmena nastavenia vyváženia (pan)"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4726
+#: TrackPanel.cpp:3459
+#: TrackPanel.cpp:5705
+#: TrackPanel.cpp:7221
 msgid "Gain"
 msgstr "Zisk"
 
-#  i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807
-#: ../src/TrackPanel.cpp:4733
+#: TrackPanel.cpp:3459
+#: TrackPanel.cpp:5643
+#: TrackPanel.cpp:7228
 msgid "Pan"
 msgstr "Vyváženie"
 
-#: ../src/TrackPanel.cpp:4387
-#: ../src/effects/ChangePitch.cpp:277
+#: TrackPanel.cpp:3586
+#: TrackPanel.cpp:6448
 msgid "up"
 msgstr "nahor"
 
-#: ../src/TrackPanel.cpp:4388
-#: ../src/effects/ChangePitch.cpp:277
+#: TrackPanel.cpp:3590
+#: TrackPanel.cpp:6449
 msgid "down"
-msgstr "dole"
+msgstr "nadol"
 
-#: ../src/TrackPanel.cpp:4383
+#: TrackPanel.cpp:3597
+#: TrackPanel.cpp:6444
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Presunuté '%s' %s"
 
-#: ../src/TrackPanel.cpp:4389
+#: TrackPanel.cpp:3600
+#: TrackPanel.cpp:6450
 msgid "Move Track"
 msgstr "Presunúť stopu"
 
-#: TrackPanel.cpp:3905
+#: TrackPanel.cpp:4165
 msgid "Expand"
-msgstr ""
+msgstr "Rozšíriť"
 
-#: TrackPanel.cpp:3905
+#: TrackPanel.cpp:4165
 msgid "Expanded Cut Line"
-msgstr ""
+msgstr "Rozšírená rezaná línia"
 
-#: TrackPanel.cpp:3973
+#: TrackPanel.cpp:4174
 msgid "Merge"
-msgstr ""
+msgstr "Zlúčiť"
 
-#: TrackPanel.cpp:3973
+#: TrackPanel.cpp:4174
 msgid "Merged Clips"
-msgstr ""
+msgstr "Zlúčiť klipy"
 
-#: TrackPanel.cpp:3925
+#: TrackPanel.cpp:4186
 msgid "Removed Cut Line"
-msgstr ""
+msgstr "Odobraté rezané línie"
 
-#: TrackPanel.cpp:5210
+#: TrackPanel.cpp:5643
 msgid "Adjusted Pan"
-msgstr ""
+msgstr "Upravená panoráma"
 
-#: TrackPanel.cpp:5272
+#: TrackPanel.cpp:5705
 msgid "Adjusted gain"
-msgstr ""
-
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
+msgstr "Upravená citlivosť"
 
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
-#: TrackPanel.cpp:5428
+#: TrackPanel.cpp:5930
 msgid "Can't delete track with active audio"
-msgstr ""
+msgstr "Stopu s aktívnym zvukom sa nedá zmazať"
 
-#: ../src/TrackPanel.cpp:4087
+#: TrackPanel.cpp:6083
 msgid "Stereo, "
 msgstr "Stereo, "
 
-#: ../src/TrackPanel.cpp:4090
+#: TrackPanel.cpp:6086
 msgid "Mono, "
 msgstr "Mono, "
 
-#: ../src/TrackPanel.cpp:4092
+#: TrackPanel.cpp:6088
 msgid "Left, "
 msgstr "Ľavý,"
 
-#: ../src/TrackPanel.cpp:4094
+#: TrackPanel.cpp:6090
 msgid "Right, "
 msgstr "Pravý,"
 
-#: ../src/TrackPanel.cpp:4116
-#: ../src/TrackPanel.cpp:4225
+#: TrackPanel.cpp:6112
+#: TrackPanel.cpp:6258
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Zmenené '%s' na %s"
 
-#: ../src/TrackPanel.cpp:4121
+#: TrackPanel.cpp:6117
 msgid "Channel"
 msgstr "Kanál"
 
-#: ../src/TrackPanel.cpp:4131
+#: TrackPanel.cpp:6138
 #, c-format
 msgid "Split stereo track '%s'"
-msgstr "Rozdeliť stereostopu  '%s'"
+msgstr "Rozdeliť stereo stopu  '%s'"
 
-#: ../src/TrackPanel.cpp:4153
+#: TrackPanel.cpp:6176
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Vytvoriť '%s' stereo stopu"
 
-#: ../src/TrackPanel.cpp:4156
+#: TrackPanel.cpp:6179
 msgid "Make Stereo"
 msgstr "Vytvoriť stereo"
 
-#: ../src/TrackPanel.cpp:4189
+#: TrackPanel.cpp:6222
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "Zmenené '%s' na %d Hz"
 
-#: ../src/TrackPanel.cpp:4191
+#: TrackPanel.cpp:6224
 msgid "Rate Change"
 msgstr "Zmena rýchlosti"
 
-#: ../src/TrackPanel.cpp:4229
+#: TrackPanel.cpp:6262
 msgid "Format Change"
 msgstr "Zmena formátu"
 
-#: ../src/TrackPanel.cpp:4351
+#: TrackPanel.cpp:6412
 msgid "Change lower speed limit (%) to:"
 msgstr "Zmeniť dolný limit rýchlosti  (%) na:"
 
-#: ../src/TrackPanel.cpp:4352
-#: ../src/TrackPanel.cpp:4353
+#: TrackPanel.cpp:6413
+#: TrackPanel.cpp:6414
 msgid "Lower speed limit"
 msgstr "Dolný limit rýchlosti"
 
-#: ../src/TrackPanel.cpp:4358
+#: TrackPanel.cpp:6419
 msgid "Change upper speed limit (%) to:"
 msgstr "Zmeniť horný limit rýchlosti  (%) na:"
 
-#: ../src/TrackPanel.cpp:4359
-#: ../src/TrackPanel.cpp:4360
+#: TrackPanel.cpp:6420
+#: TrackPanel.cpp:6421
 msgid "Upper speed limit"
 msgstr "Horný limit rýchlosti"
 
-#: ../src/TrackPanel.cpp:4368
+#: TrackPanel.cpp:6429
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Nastavte rozsah na '%d' - '%d'"
 
-#: ../src/TrackPanel.cpp:4371
+#: TrackPanel.cpp:6432
 msgid "Set Range"
 msgstr "Nastaviť rozsah"
 
-#: ../src/TrackPanel.cpp:4416
+#: TrackPanel.cpp:6479
 msgid "Change track name to:"
 msgstr "Premenovať stopu na:"
 
-#: ../src/TrackPanel.cpp:4417
+#: TrackPanel.cpp:6480
 msgid "Track Name"
 msgstr "Meno stopy"
 
-#: ../src/TrackPanel.cpp:4420
+#: TrackPanel.cpp:6483
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "Premenované '%s' na '%s'"
 
-#: ../src/TrackPanel.cpp:4423
+#: TrackPanel.cpp:6486
 msgid "Name Change"
 msgstr "Pomenovať zmenu"
 
-#: ../src/TrackPanel.cpp:4454
+#: TrackPanel.cpp:6587
 msgid "Label Track Font"
-msgstr "Font pre popisy"
+msgstr "Font pre popis stopy"
 
-#: TrackPanel.cpp:6227
+#: TrackPanel.cpp:6599
+#: TrackPanel.cpp:6605
 msgid "Face name"
-msgstr ""
+msgstr "Názov plochy"
 
-#: TrackPanel.cpp:6236
+#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6616
 msgid "Face size"
-msgstr ""
-
-#: ../src/TrackPanel.cpp:4701
-msgid "Mute"
-msgstr "Stlmiť"
-
-#: ../src/TrackPanel.cpp:4701
-msgid "Solo"
-msgstr "Sólo"
+msgstr "Veľkosť plochy"
 
-#: TrackPanelAx.cpp:266
+#: TrackPanelAx.cpp:273
 msgid "TrackView"
-msgstr ""
+msgstr "Pohľad na Stopu"
 
-#: TrackPanelAx.cpp:274
+#: TrackPanelAx.cpp:281
 msgid "Track Accessible out of sync"
-msgstr ""
+msgstr "Stopa dostupná zo synchronizácie"
 
-#: TrackPanelAx.cpp:282
+#: TrackPanelAx.cpp:289
 #, c-format
 msgid "Track %d"
-msgstr ""
+msgstr "Stopa %d"
 
-#: TrackPanelAx.cpp:288
+#: TrackPanelAx.cpp:295
 msgid " Mute On"
-msgstr ""
+msgstr "Stíšenie zapnuté"
 
-#: TrackPanelAx.cpp:293
+#: TrackPanelAx.cpp:300
 msgid " Solo On"
-msgstr ""
+msgstr "Solo zapnuté"
 
-#: TrackPanelAx.cpp:297
+#: TrackPanelAx.cpp:304
 msgid " Select On"
-msgstr ""
+msgstr "Výber zapnutý"
 
-#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
+#: VoiceKey.cpp:88
+#: VoiceKey.cpp:238
+#: VoiceKey.cpp:376
+#: VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
-msgstr ""
+msgstr "Výber je príliš malý na to, aby bol využitý hlasový kľúč."
 
 #: VoiceKey.cpp:843
 msgid "Calibration Results\n"
-msgstr ""
+msgstr "Výsledky kalibrácie\n"
 
 #: VoiceKey.cpp:844
 #, c-format
 msgid "Energy                  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr ""
+msgstr "Energia                  -- priemer: %1.4f  sd: (%1.4f)\n"
 
 #: VoiceKey.cpp:845
 #, c-format
 msgid "Sign Changes        -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr ""
+msgstr "Zmeny označenia    -- priemer: %1.4f sd: (% 1.4f) \n"
 
 #: VoiceKey.cpp:846
 #, c-format
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr ""
+msgstr "Zmeny smeru  -- priemer: %1.4f sd: (% 1.4f) \n"
 
-#: ../src/WaveTrack.cpp:128
+#: WaveTrack.cpp:88
 msgid "Audio Track"
 msgstr "Audio stopa"
 
-#: WaveTrack.cpp:515 WaveTrack.cpp:534
+#: WaveTrack.cpp:826
+#: WaveTrack.cpp:845
 msgid "There is not enough room available to paste the selection"
-msgstr ""
+msgstr "K vloženiu výberu nie je dosť miesta"
 
-#: WaveTrack.cpp:1583
+#: WaveTrack.cpp:1863
 msgid "There is not enough room available to expand the cut line"
-msgstr ""
+msgstr "Nie je k dispozícii dostatok priestoru na rozšírenie rezania línie"
 
-#: ../src/commands/CommandManager.cpp:323
+#: commands/CommandManager.cpp:518
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Moduly 1 - %i"
 
-#: ../src/commands/CommandManager.cpp:337
+#: commands/CommandManager.cpp:532
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Moduly %i - %i"
 
 #: commands/CommandManager.cpp:857
 msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr ""
+msgstr "Zakázané z nejakého dôvodu. Skúste skôr vybrať niektoré Audio ?"
 
-#: commands/CommandManager.cpp:724
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:861
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
 msgstr ""
+"Môžete to urobiť ale pri prehrávaní a nahrávaní sa\n"
+"zastaví. [Pozastavenie nie je dostatočné.]"
 
-#: commands/CommandManager.cpp:726
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:863
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
 msgstr ""
+"Najprv musíte vybrať nejaké stereo audio pre toto\n"
+" použitie.[Nie je možné použiť toto mono.]"
 
-#: commands/CommandManager.cpp:728
+#: commands/CommandManager.cpp:865
 msgid "You must first select some audio for this to use."
-msgstr ""
+msgstr "Najprv musíte vybrať nejaké audio pre toto použitie."
 
-#: commands/CommandManager.cpp:730
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:867
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
 msgstr ""
+"Najprv musíte vybrať nejaké audio pre toto\n"
+"použitie.[Výber iných druhov stopy nebude fungovať.]"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:872
 msgid "Disallowed"
-msgstr ""
+msgstr "Zakázané"
 
-#: ../src/commands/CommandManager.cpp:640
+#: commands/CommandManager.cpp:1054
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Načítaných %d klávesových skratiek\n"
 
-#: ../src/commands/CommandManager.cpp:643
+#: commands/CommandManager.cpp:1056
 msgid "Loading keyboard shortcuts"
 msgstr "Načítávam klávesové skratky"
 
-#: ../src/effects/Amplify.cpp:34
+#: effects/Amplify.cpp:52
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Použitý efekt: %s %.1f dB"
 
-#: ../src/effects/Amplify.cpp:63
+#: effects/Amplify.cpp:139
 msgid "Amplify"
 msgstr "Zosilniť"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
+#: effects/Amplify.cpp:155
+#: effects/Compressor.cpp:476
 #: effects/Normalize.cpp:337
 msgid "by Dominic Mazzoni"
-msgstr ""
+msgstr "od Dominica Mazzoniho"
 
-#: ../src/effects/Amplify.cpp:132
+#: effects/Amplify.cpp:168
 msgid "Amplification (dB):"
 msgstr "Zosilnenie (dB):"
 
 #: effects/Amplify.cpp:183
 msgid "Amplification dB"
-msgstr ""
+msgstr "Zosilnenie dB"
 
-#: ../src/effects/Amplify.cpp:152
+#: effects/Amplify.cpp:190
 msgid "New Peak Amplitude (dB):"
 msgstr "Nová špičková amplitúda (dB):"
 
-#: ../src/effects/Amplify.cpp:164
+#: effects/Amplify.cpp:200
 msgid "Allow clipping"
 msgstr "Povoliť clipping"
 
-#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
+#: effects/Amplify.cpp:222
+#: effects/Amplify.cpp:279
+#: effects/Amplify.cpp:323
 msgid "-Infinity"
-msgstr ""
+msgstr "-Nekonečno"
 
-#: ../src/effects/Amplify.h:47
+#: effects/Amplify.h:37
 msgid "Amplify..."
 msgstr "Zosilniť..."
 
-#: ../src/effects/Amplify.h:51
+#: effects/Amplify.h:51
 msgid "Amplifying"
 msgstr "Zosilňujem"
 
 #: effects/AutoDuck.cpp:125
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
-msgstr ""
+msgstr "Je vybraná stopa, ktorá neobsahuje audio dáta. Automatické zoslabenie môže spracovávať iba audio stopy."
 
-#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:126
+#: effects/AutoDuck.cpp:138
+#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
-msgstr ""
+msgstr "Automatické zoslabenie (Auto Duck)"
 
 #: effects/AutoDuck.cpp:137
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
-msgstr ""
+msgstr "Automatické zoslabenie vyžaduje riadiacu stopu, ktorá musí byť umiestená pod vybranou stopou."
 
-#: effects/AutoDuck.cpp:463
+#: effects/AutoDuck.cpp:465
 msgid "Auto Duck by Markus Meyer"
-msgstr ""
+msgstr "Automatické zoslabenie(Auto Duck) od Markuse Meyera"
 
-#: effects/AutoDuck.cpp:485
+#: effects/AutoDuck.cpp:487
 msgid "Duck amount:"
-msgstr ""
+msgstr "Miera zoslabenia:"
 
-#: effects/AutoDuck.cpp:490
+#: effects/AutoDuck.cpp:492
 msgid "Maximum pause:"
-msgstr ""
-
-#: effects/AutoDuck.cpp:492 effects/AutoDuck.cpp:497 effects/AutoDuck.cpp:502
-#: effects/AutoDuck.cpp:507 effects/AutoDuck.cpp:512
-#: prefs/AudioIOPrefs.cpp:162 prefs/AudioIOPrefs.cpp:164
-#: prefs/AudioIOPrefs.cpp:188 prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:198 widgets/TimeTextCtrl.cpp:197
+msgstr "Maximálna pauza:"
+
+#. i18n-hint: Name of time display format that shows time in seconds
+#: effects/AutoDuck.cpp:494
+#: effects/AutoDuck.cpp:499
+#: effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509
+#: effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:182
+#: prefs/AudioIOPrefs.cpp:184
+#: prefs/AudioIOPrefs.cpp:211
+#: prefs/AudioIOPrefs.cpp:213
+#: prefs/MidiIOPrefs.cpp:161
+#: prefs/MidiIOPrefs.cpp:163
+#: prefs/MidiIOPrefs.cpp:187
+#: prefs/MidiIOPrefs.cpp:189
+#: prefs/MidiIOPrefs.cpp:197
+#: widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
-msgstr ""
+msgstr "sekúnd"
 
-#: effects/AutoDuck.cpp:495
+#: effects/AutoDuck.cpp:497
 msgid "Outer fade down length:"
-msgstr ""
+msgstr "Vonkajšia zostupná hrana:"
 
-#: effects/AutoDuck.cpp:500
+#: effects/AutoDuck.cpp:502
 msgid "Outer fade up length:"
-msgstr ""
+msgstr "Vonkajšia nabežná hrana:"
 
-#: effects/AutoDuck.cpp:505
+#: effects/AutoDuck.cpp:507
 msgid "Inner fade down length:"
-msgstr ""
+msgstr "Vnútorná zostupná hrana:"
 
-#: effects/AutoDuck.cpp:510
+#: effects/AutoDuck.cpp:512
 msgid "Inner fade up length:"
-msgstr ""
+msgstr "Vnútorná nabežná hrana:"
 
-#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
-#, fuzzy
+#: effects/AutoDuck.cpp:521
+#: effects/Compressor.cpp:494
 msgid "Threshold:"
 msgstr "Prah:"
 
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:570
 msgid "Please enter valid values."
-msgstr ""
+msgstr "Zadajte prosím reálne hodnoty."
 
-#: effects/AutoDuck.cpp:712
+#: effects/AutoDuck.cpp:705
 msgid "Preview not available"
-msgstr ""
+msgstr "Vyskúšanie nie je k dispozícii"
 
-#: effects/AutoDuck.h:97
+#: effects/AutoDuck.h:98
 msgid "Auto Duck..."
-msgstr ""
+msgstr "Automatické zoslabenie..."
 
-#: effects/AutoDuck.h:102
+#: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
-msgstr ""
+msgstr "Aplikuje sa Automatické zoslabenie..."
 
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:721
-#: ../src/effects/Amplify.cpp:187
-#: ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332
-#: ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379
-#: ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731
-#: ../src/effects/Filter.cpp:482
-#: ../src/effects/Normalize.cpp:258
-#: ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:563
-#: ../src/effects/ladspa/LadspaEffect.cpp:498
-#: ../src/effects/nyquist/Nyquist.cpp:736
-#: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949
-#: ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: effects/AvcCompressor.cpp:738
+#: effects/VST/VSTEffect.cpp:455
+#: effects/audiounits/AudioUnitEffect.cpp:882
+#: effects/nyquist/Nyquist.cpp:1214
+#: widgets/ErrorDialog.cpp:101
 msgid "OK"
 msgstr "OK"
 
-#: ../src/effects/BassBoost.cpp:36
+#: effects/BassBoost.cpp:52
 #, c-format
 msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
 msgstr "Použitý efekt: %s frekvencia = %.0f Hz, zosilnenie = %.0f dB"
 
 #: effects/BassBoost.cpp:169
 msgid "Bass Boost"
-msgstr ""
+msgstr "Zdôrazňujem basy"
 
 #: effects/BassBoost.cpp:182
+#: effects/Phaser.cpp:219
+#: effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
-msgstr ""
+msgstr "od  Nasca Octavian Paul"
 
-#: ../src/effects/BassBoost.cpp:286
+#: effects/BassBoost.cpp:196
+#: effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "Frekvencia (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Frekvencia v Hertzoch"
 
-#: ../src/effects/BassBoost.cpp:302
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Zdôraznenie (boost) (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Zdôraznenie dB"
 
 #: effects/BassBoost.h:35
-#, fuzzy
 msgid "BassBoost..."
-msgstr "Zdôraznenie basov..."
+msgstr "Zdôrazňujem basy..."
 
-#: ../src/effects/BassBoost.h:48
+#: effects/BassBoost.h:49
 msgid "Boosting Bass Frequencies"
 msgstr "Zdôrazňujem basové frekvencie"
 
 #: effects/ChangeLength.h:26
 msgid "Change Length..."
-msgstr ""
+msgstr "Zmeniť dĺžku..."
 
-#: effects/ChangeLength.h:30
+#: effects/ChangeLength.h:34
 msgid "Changing Length..."
-msgstr ""
+msgstr "Zmena dĺžky..."
 
-#: ../src/effects/ChangePitch.cpp:56
+#: effects/ChangePitch.cpp:55
 #, c-format
 msgid "Applied effect: %s %.2f semitones"
 msgstr "Použitý efekt: %s %.2f poltónov"
 
-#: ../src/effects/ChangePitch.cpp:119
+#: effects/ChangePitch.cpp:198
 msgid "Change Pitch"
 msgstr "Zmeniť výšku"
 
-#: ../src/effects/ChangePitch.cpp:242
+#: effects/ChangePitch.cpp:256
 msgid "Change Pitch without Changing Tempo"
 msgstr "Zmeniť výšku ladenia bez zmeny tempa"
 
-#: ../src/effects/ChangePitch.cpp:247
-#: ../src/effects/ChangeSpeed.cpp:287
-#: ../src/effects/ChangeTempo.cpp:164
+#: effects/ChangePitch.cpp:258
+#: effects/ChangeSpeed.cpp:334
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "od Vaughana Johnsona && Dominica Mazzoniho"
 
-#: ../src/effects/ChangePitch.cpp:252
-#: ../src/effects/ChangeTempo.cpp:169
+#: effects/ChangePitch.cpp:260
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "pomocou SoundTouch od Olli Parviainen"
 
 #: effects/ChangePitch.cpp:269
 msgid "Pitch:"
-msgstr ""
+msgstr "Rozostup:"
 
 #: effects/ChangePitch.cpp:274
 msgid "From:"
-msgstr ""
+msgstr "Od:"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "Od rozostupu"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "Hore"
 
 #: effects/ChangePitch.cpp:289
 msgid "Down"
-msgstr ""
+msgstr "Dolu"
 
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "Do:"
 
 #: effects/ChangePitch.cpp:300
 msgid "To Pitch"
-msgstr ""
+msgstr "Do rozostupu"
 
-#: ../src/effects/ChangePitch.cpp:299
+#: effects/ChangePitch.cpp:311
 msgid "Semitones (half-steps):"
 msgstr "Poltóny:"
 
 #: effects/ChangePitch.cpp:316
 msgid "Semitones in half-steps"
-msgstr ""
+msgstr "Poltóny v polkrokoch"
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+#: effects/ChangePitch.cpp:326
+#: effects/ChangeSpeed.cpp:367
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "od"
 
 #: effects/ChangePitch.cpp:327
 msgid "From frequency in hertz"
-msgstr ""
+msgstr "Od frekvencie v hertzoch"
 
-#: ../src/effects/ChangePitch.cpp:284
-#: ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351
-#: ../src/effects/ChangeTempo.cpp:223
-#: ../src/effects/ChangeTempo.cpp:254
+#: effects/ChangePitch.cpp:331
+#: effects/ChangeSpeed.cpp:372
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "na"
 
 #: effects/ChangePitch.cpp:332
 msgid "To frequency in seconds"
-msgstr ""
+msgstr "Do frekvenciu v sekundách"
 
-#: ../src/effects/ChangePitch.cpp:353
-#: ../src/effects/ChangeSpeed.cpp:305
-#: ../src/effects/ChangeTempo.cpp:182
+#: effects/ChangePitch.cpp:338
+#: effects/ChangeSpeed.cpp:345
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Percento zmeny:"
 
-#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
+#: effects/ChangePitch.cpp:343
+#: effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:356
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
-msgstr ""
+msgstr "Percento zmeny"
 
-#: ../src/effects/ChangePitch.h:31
+#: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "Zmeniť výšku..."
 
-#: ../src/effects/ChangePitch.h:35
+#: effects/ChangePitch.h:46
 msgid "Changing Pitch"
 msgstr "Mením výšku"
 
-#: ../src/effects/ChangeSpeed.cpp:40
-#: ../src/effects/ChangeTempo.cpp:43
+#: effects/ChangeSpeed.cpp:54
+#: effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Použitý efekt: %s %.1f%%"
 
-#: ../src/effects/ChangeSpeed.cpp:47
+#: effects/ChangeSpeed.cpp:296
 msgid "Change Speed"
 msgstr "Zmeniť rýchlosť"
 
-#. i18n-hint: n/a is an English
-#: ../src/effects/ChangeSpeed.cpp:338
+#. i18n-hint: n/a is an English abbreviation meaning "not applicable"
+#. (in other words, unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:327
 msgid "n/a"
-msgstr "nemá význam"
+msgstr "n/a"
 
-#: ../src/effects/ChangeSpeed.cpp:282
+#: effects/ChangeSpeed.cpp:332
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Zmena rýchlosti, ovplyvňujúca tempo a výšku"
 
-#: ../src/effects/ChangeSpeed.cpp:292
+#: effects/ChangeSpeed.cpp:336
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "pomocou SampleRate od Erika de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:364
 msgid "Standard Vinyl RPM:"
-msgstr ""
+msgstr "Štandardný vinyl RPM:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:368
 msgid "From RPM"
-msgstr ""
+msgstr "Od RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:373
 msgid "To RPM"
-msgstr ""
+msgstr "Do RPM"
 
-#: ../src/effects/ChangeSpeed.h:37
+#: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
-msgstr "Zmeniť rýchlost..."
+msgstr "Zmeniť rýchlosť..."
 
-#: ../src/effects/ChangeSpeed.h:40
+#: effects/ChangeSpeed.h:46
 msgid "Changing Speed"
 msgstr "Mením rýchlosť"
 
-#: ../src/effects/ChangeTempo.cpp:62
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Zmeniť tempo"
 
-#: ../src/effects/ChangeTempo.cpp:159
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Zmeniť tempo bez zmeny ladenia"
 
 #: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
-msgstr ""
+msgstr "Úderov za minútu:"
 
 #: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "Od úderov za minútu"
 
 #: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "Do úderov za minútu"
 
 #: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
-msgstr ""
+msgstr "Dĺžka (sekúnd):"
 
 #: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
-msgstr ""
+msgstr "Od dĺžky v sekundách"
 
 #: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
-msgstr ""
+msgstr "Do dĺžky v sekundách"
 
-#: ../src/effects/ChangeTempo.h:40
+#: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
 msgstr "Zmeniť tempo..."
 
-#: ../src/effects/ChangeTempo.h:44
+#: effects/ChangeTempo.h:49
 msgid "Changing Tempo"
 msgstr "Mením tempo"
 
 #: effects/ClickRemoval.cpp:314
 msgid "Click Removal"
-msgstr ""
+msgstr "Klikni pre odstránenie"
 
-#: ../src/effects/ClickRemoval.cpp:317
+#: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
 msgstr "Odstránenie šumu a praskania od Craiga DeForesta"
 
-#: effects/ClickRemoval.cpp:350
+#: effects/ClickRemoval.cpp:341
 msgid "Select threshold (lower is more sensitive):"
-msgstr ""
+msgstr "Výber prahu (nižší je citlivejší):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Vybrať prahovú hodnotu"
 
-#: effects/ClickRemoval.cpp:362
+#: effects/ClickRemoval.cpp:354
 msgid "Max spike width (higher is more sensitive):"
-msgstr ""
+msgstr "Maximálna šírka inpulzu (vyššia je citlivejšia):"
 
 #: effects/ClickRemoval.cpp:363
 msgid "Max spike width"
-msgstr ""
+msgstr "Maximálna šírka špičky"
 
-#: ../src/effects/ClickRemoval.h:42
+#: effects/ClickRemoval.h:42
 msgid "Click Removal..."
-msgstr "Odstránenie praskania..."
+msgstr "Kliknite pre odstránenie ..."
 
-#: ../src/effects/ClickRemoval.h:46
+#: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
 msgstr "Odstraňujem praskot a šum..."
 
-#: ../src/effects/Compressor.cpp:43
+#: effects/Compressor.cpp:461
 msgid "Dynamic Range Compressor"
 msgstr "Kompresor dynamického rozsahu"
 
 #: effects/Compressor.cpp:498
 msgid "Threshold"
-msgstr ""
+msgstr "Prahová hodnota"
 
 #: effects/Compressor.cpp:502
 msgid "Ratio:"
-msgstr ""
+msgstr "Pomer:"
 
 #: effects/Compressor.cpp:506
 msgid "Ratio"
-msgstr ""
+msgstr "Pomer"
 
 #: effects/Compressor.cpp:510
-#, fuzzy
 msgid "Attack Time:"
 msgstr "Dĺžka nábehu:"
 
 #: effects/Compressor.cpp:514
 msgid "Attack Time"
-msgstr ""
+msgstr "Dĺžka nábehu"
 
 #: effects/Compressor.cpp:518
 msgid "Decay Time:"
-msgstr ""
+msgstr "ÄŒas dobehu: "
 
 #: effects/Compressor.cpp:522
 msgid "Decay Time"
-msgstr ""
+msgstr "ÄŒas dobehu"
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Po kompresii normalizovať na 0 dB"
+#: effects/Compressor.cpp:530
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Zostaviť prírastok pre 0dB po kompresii"
 
 #: effects/Compressor.cpp:563
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
-msgstr "Prah: %d dB"
+msgstr "Prahová hodnota %d dB"
 
 #: effects/Compressor.cpp:564
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
 #: effects/Compressor.cpp:567
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "Pomer %.0f to 1"
 
 #: effects/Compressor.cpp:568
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
 #: effects/Compressor.cpp:571
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "Pomer %.1f k 1"
 
 #: effects/Compressor.cpp:572
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
 #: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
-msgstr "Čas nábehu: %.1f sekúnd"
+msgstr "Čas nábehu %.1f sekúnd"
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:576
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f sekúnd"
 
 #: effects/Compressor.cpp:578
 #, c-format
 msgid "Decay Time %.1f secs"
-msgstr ""
+msgstr "ÄŒas dobehu %.1f sek."
 
-#: ../src/effects/Compressor.h:36
+#: effects/Compressor.h:36
 msgid "Compressor..."
 msgstr "Kompresor..."
 
-#: ../src/effects/Compressor.h:40
+#: effects/Compressor.h:50
 msgid "Applying Dynamic Range Compression..."
 msgstr "Aplikujem kompresiu dynamického rozsahu..."
 
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Nástroj kontrastu popredia"
 
 #: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"Čas popredia vybraný. \n"
+"Teraz vyberte pozadie a použitie Ctrl+Shift+T alebo znova menu."
 
 #: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
+"Začiatočný čas nasleduje po koncovom čase! \n"
+"Prosím, zadajte primerané časy."
 
 #: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"Časy nie sú primerané! \n"
+"Prosím, zadajte primerané časy."
 
-#: effects/Contrast.cpp:120
+#: effects/Contrast.cpp:190
 msgid "Hello.\n"
-msgstr ""
+msgstr "Ahoj.\n"
 
 #: effects/Contrast.cpp:245
 msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "WCAG2 Audio Analyzátor Kontrastu"
 
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
+#: effects/Contrast.cpp:277
+#: effects/Contrast.cpp:288
+#: effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
 msgid "Measured"
-msgstr ""
+msgstr "Merané"
 
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
-msgstr ""
+msgstr "Analyzátor Kontrastu"
 
-#: effects/Contrast.cpp:235
+#: effects/Contrast.cpp:321
 msgid "Parameters"
-msgstr ""
+msgstr "Parametre"
 
-#: effects/ToneGen.cpp:328 toolbars/ControlToolBar.cpp:186
+#: effects/Contrast.cpp:328
+#: effects/ToneGen.cpp:354
+#: toolbars/ControlToolBar.cpp:186
 msgid "Start"
-msgstr ""
-
-#: effects/ToneGen.cpp:329 toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:129 toolbars/SelectionBar.cpp:226
+msgstr "Start"
+
+#: effects/Contrast.cpp:329
+#: effects/ToneGen.cpp:355
+#: toolbars/ControlToolBar.cpp:189
+#: toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159
+#: toolbars/SelectionBar.cpp:262
 msgid "End"
-msgstr ""
+msgstr "Koniec"
 
 #: effects/Contrast.cpp:332
 msgid "Volume    "
-msgstr ""
+msgstr "Hlasitosť"
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:335
 msgid "Foreground:"
-msgstr ""
+msgstr "Popredie:"
 
 #: effects/Contrast.cpp:347
 msgid "Foreground start time"
-msgstr ""
+msgstr "Začiatočný čas popredia"
 
 #: effects/Contrast.cpp:365
 msgid "Foreground end time"
-msgstr ""
+msgstr "Koncový čas popredia"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:417
 msgid "Use selection"
-msgstr ""
+msgstr "Použitie výberu"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:378
 msgid "Background:"
-msgstr ""
+msgstr "Pozadie:"
 
 #: effects/Contrast.cpp:391
 msgid "Background start time"
-msgstr ""
+msgstr "Začiatočný čas pozadia"
 
 #: effects/Contrast.cpp:409
 msgid "Background end time"
-msgstr ""
+msgstr "Koncový čas pozadia"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:426
 msgid "Result"
-msgstr ""
+msgstr "Výsledok"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:430
 msgid "Contrast Result:"
-msgstr ""
+msgstr "Výsledok kontrastu:"
 
-#: Tags.cpp:796 Tags.cpp:1948
+#: effects/Contrast.cpp:433
 msgid "Reset"
-msgstr ""
+msgstr "Reset"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:434
 msgid "Difference:"
-msgstr ""
+msgstr "Rozdiel:"
 
-#: ../src/AboutDialog.cpp:150
+#: effects/Contrast.cpp:445
 msgid "Information"
 msgstr "Informácia"
 
 #: effects/Contrast.cpp:447
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Pre meranie rms rozdielu hlasitosti medzi dvoma výbermi  z audia."
 
 #: effects/Contrast.cpp:448
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "Pomoc pre WCAG2 Audio Analyzátor Kontrastu"
 
-#: toolbars/ControlToolBar.cpp:82
+#: effects/Contrast.cpp:452
+#: toolbars/ControlToolBar.cpp:83
 msgid "Control"
-msgstr ""
+msgstr "Ovládanie"
 
 #: effects/Contrast.cpp:454
 msgid "Note: The 'OK' button resets time values."
-msgstr ""
+msgstr "Poznámka: 'OK' tlačidlo resetuje čas hodnôt."
 
 #: effects/Contrast.cpp:455
 msgid "Close but keep times"
-msgstr ""
+msgstr "Zatvoriť ale zachovať čas"
 
-#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:466
+#: effects/Contrast.cpp:472
+#: effects/Contrast.cpp:478
+#: effects/Contrast.cpp:484
 msgid "Measure"
-msgstr ""
+msgstr "Meranie"
 
 #: effects/Contrast.cpp:511
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Žiadne popredie na meranie"
 
 #: effects/Contrast.cpp:516
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Meranie úrovne popredia"
 
-#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
+#: effects/Contrast.cpp:517
+#: effects/Contrast.cpp:527
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
 #: effects/Contrast.cpp:521
 msgid "No background to measure"
-msgstr ""
+msgstr "Žiadne pozadie na meranie"
 
 #: effects/Contrast.cpp:526
 msgid "Measured background level"
-msgstr ""
+msgstr "Meranie úrovne pozadia"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:532
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "WCAG2 Správne"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:534
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "WCAG2 Chybné"
 
 #: effects/Contrast.cpp:535
 msgid "Current difference"
-msgstr ""
+msgstr "Aktuálny rozdiel:"
 
 #: effects/Contrast.cpp:536
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "%.1f dB priener  rms"
 
 #: effects/Contrast.cpp:541
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Zadajte prosím reálny čas."
 
 #: effects/Contrast.cpp:551
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Exportovať výsledok kontrastu ako:"
 
 #: effects/Contrast.cpp:572
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "WCAG 2.0 Úspech Kritérií 1.4.7 Rozdielné výsledky"
 
 #: effects/Contrast.cpp:574
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Meno súboru = %s."
 
 #: effects/Contrast.cpp:576
 msgid "Foreground"
-msgstr ""
+msgstr "Popredie"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:581
+#: effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Začiatočný čas = %2d hodina(y), %2d minút(y), %.2f sekúnd."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:586
+#: effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Koncový čas = %2d hodina(y), %2d minút(y), %.2f sekúnd."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:588
+#: effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Priemer  rms = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:590
+#: effects/Contrast.cpp:607
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Priemer rms = dB."
 
 #: effects/Contrast.cpp:593
 msgid "Background"
-msgstr ""
+msgstr "Pozadie"
 
 #: effects/Contrast.cpp:609
 msgid "Results"
-msgstr ""
+msgstr "Výsledky "
 
 #: effects/Contrast.cpp:611
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Rozdiel = %.1f Priemer rms dB."
 
 #: effects/Contrast.cpp:613
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Úspech kritérií 1.4.7 pre WCAG 2.0: Správne"
 
 #: effects/Contrast.cpp:615
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Úspech kritérií 1.4.7 pre WCAG 2.0: Chybné"
 
 #: effects/Contrast.cpp:618
 msgid "Data gathered"
-msgstr ""
+msgstr "Získané údaje"
 
 #: effects/Contrast.h:33
 msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
+msgstr "Kontrast...\tCtrl+Shift+T"
 
-#: effects/Contrast.h:51
+#: effects/Contrast.h:52
 msgid "Measuring background"
-msgstr ""
+msgstr "Meranie pozadia"
 
-#: effects/Contrast.h:53
+#: effects/Contrast.h:54
 msgid "Measuring foreground"
-msgstr ""
+msgstr "Meranie popredia"
 
-#: effects/DtmfGen.cpp:47
+#: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
-msgstr ""
+msgstr "DTMF Tonový Generátor"
 
-#: effects/DtmfGen.cpp:382
+#: effects/DtmfGen.cpp:454
 msgid "by Salvo Ventura (2006)"
-msgstr ""
+msgstr "od Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:386
+#: effects/DtmfGen.cpp:458
 msgid "DTMF sequence:"
-msgstr ""
+msgstr "DTMF sequencia:"
 
-#: ../src/effects/ToneGen.cpp:293
+#: effects/DtmfGen.cpp:461
+#: effects/Noise.cpp:240
+#: effects/ToneGen.cpp:320
+#: effects/ToneGen.cpp:358
 msgid "Amplitude (0-1)"
 msgstr "Amplitúda (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:463
 msgid "Duration:"
-msgstr ""
+msgstr "Dĺžka:"
 
-#: effects/DtmfGen.cpp:407
+#: effects/DtmfGen.cpp:485
 msgid "Tone/silence ratio:"
-msgstr ""
+msgstr "Pomer tónu a ticha:"
 
-#: effects/DtmfGen.cpp:418
+#: effects/DtmfGen.cpp:495
 msgid "Duty cycle:"
-msgstr ""
+msgstr "Pracovný cyklus:"
 
-#: effects/DtmfGen.cpp:420
+#: effects/DtmfGen.cpp:497
 msgid "Tone duration:"
-msgstr ""
+msgstr "Dĺžka tónu:"
 
-#: effects/DtmfGen.cpp:421 effects/DtmfGen.cpp:423 effects/DtmfGen.cpp:494
-#: effects/DtmfGen.cpp:495
+#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:500
+#: effects/DtmfGen.cpp:576
+#: effects/DtmfGen.cpp:577
 msgid "ms"
-msgstr ""
+msgstr "ms"
 
-#: effects/DtmfGen.cpp:422
+#: effects/DtmfGen.cpp:499
 msgid "Silence duration:"
-msgstr ""
+msgstr "Dĺžka ticha:"
 
-#: effects/DtmfGen.h:41
+#: effects/DtmfGen.h:39
 msgid "DTMF Tones..."
-msgstr ""
+msgstr "DTMF tóny..."
 
-#: effects/DtmfGen.h:45
+#: effects/DtmfGen.h:53
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
-msgstr ""
+msgstr "Použitý efekt: Generovať DTMF tóny, %.6lf sekúnd"
 
-#: effects/DtmfGen.h:49
+#: effects/DtmfGen.h:57
 msgid "Generating DTMF tones"
-msgstr ""
+msgstr "Generujem  DTMF tóny"
 
-#: ../src/effects/Echo.cpp:33
+#: effects/Echo.cpp:48
 #, c-format
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Použitý efekt: %s oneskorenie = %f sekúnd,  faktor dozvuku = %f"
 
-#: ../src/effects/Echo.cpp:39
-#: ../src/effects/Echo.cpp:177
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Echo"
 
-#: ../src/effects/Echo.cpp:182
+#. i18n-hint: && in here is an escape character to get a single & on
+#. * screen, so keep it as is
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "od Dominica Mazzoniho && Vaughana Johnsona"
 
-#: ../src/effects/Echo.cpp:192
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "ÄŒas oneskorenia (sekundy):"
 
-#: ../src/effects/Echo.cpp:211
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Faktor dozvuku (decay):"
 
-#: ../src/effects/Echo.h:36
+#: effects/Echo.h:34
 msgid "Echo..."
 msgstr "Echo..."
 
-#: ../src/effects/Echo.h:40
+#: effects/Echo.h:48
 msgid "Performing Echo"
 msgstr "Aplikujem echo"
 
-#: effects/Effect.cpp:378
+#: effects/Effect.cpp:469
 msgid "Preparing preview"
-msgstr ""
+msgstr "Pripravuje sa ukážka"
 
-#: effects/Effect.cpp:404
+#: effects/Effect.cpp:499
 msgid "Previewing"
-msgstr ""
+msgstr "Vyskúšanie"
 
-#: ../src/ControlToolBar.cpp:721
-#: ../src/effects/Effect.cpp:329
+#: effects/Effect.cpp:514
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Chyba pri otváraní zvukového zariadenia. Prosím skontrolujte nastavenie výstupného zariadenia a vzorkovaciu frekvenciu projektu."
 
-#: ../src/effects/Effect.h:84
+#: effects/Effect.h:97
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Použitý efekt: %s"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:334
 msgid "B-spline"
-msgstr ""
+msgstr "B-drážkovanie"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:335
 msgid "Cosine"
-msgstr ""
+msgstr "Kosínusová"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:336
 msgid "Cubic"
-msgstr ""
+msgstr "Kubická"
 
-#: ../src/effects/Equalization.cpp:156
+#: effects/Equalization.cpp:369
+#: effects/Equalization.cpp:417
 msgid "Equalization"
 msgstr "Ekvalizácia"
 
-#: effects/Equalization.cpp:865
+#: effects/Equalization.cpp:992
 msgid "Error loading EQ curve"
-msgstr ""
+msgstr "Chyba pri načítaní EQ krivky"
 
-#: effects/Equalization.cpp:1013
+#: effects/Equalization.cpp:1031
 msgid "custom"
-msgstr ""
+msgstr "užívateľský"
 
-#: effects/Equalization.cpp:971
+#. i18n-hint: && in here is an escape character to get a single &
+#. * on screen, so keep it as is
+#: effects/Equalization.cpp:1099
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
-msgstr ""
+msgstr "Ekvalizácia,od Martyn Shaw && Mitch Golden"
 
-#: effects/Equalization.cpp:992
+#: effects/Equalization.cpp:1120
 msgid "Max dB"
-msgstr ""
+msgstr "Max dB"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1122
 msgid "Min dB"
-msgstr ""
+msgstr "Min dB"
 
-#: effects/Equalization.cpp:1093
+#: effects/Equalization.cpp:1195
 msgid "kHz"
-msgstr ""
+msgstr "kHz"
 
-#: effects/Equalization.cpp:1110
+#: effects/Equalization.cpp:1212
 msgid "Draw curves"
-msgstr ""
+msgstr "Krivky"
 
-#: effects/Equalization.cpp:1115
+#: effects/Equalization.cpp:1217
 msgid "Graphic EQ"
-msgstr ""
+msgstr "Grafický EQ"
 
-#: effects/Equalization.cpp:1131
+#: effects/Equalization.cpp:1231
 msgid "Linear frequency scale"
-msgstr ""
+msgstr "Lineárne frekvenčné meradlo"
 
-#: effects/Equalization.cpp:1140
+#: effects/Equalization.cpp:1240
 msgid "Length of filter:"
-msgstr ""
+msgstr "Dĺžka filtra:"
 
-#: effects/Equalization.cpp:1048
+#: effects/Equalization.cpp:1261
 msgid "Select curve:"
-msgstr ""
+msgstr "Vyberte krivku:"
 
-#: effects/Equalization.cpp:1058 effects/Equalization.cpp:2244
+#: effects/Equalization.cpp:1271
+#: effects/Equalization.cpp:2510
+#: export/ExportMultiple.cpp:900
 msgid "Save As..."
-msgstr ""
+msgstr "Uložiť ako..."
 
-#: effects/Equalization.cpp:1064
+#: effects/Equalization.cpp:1277
 msgid "Flat"
-msgstr ""
+msgstr "Plochý"
 
-#: effects/Equalization.cpp:2243
+#: effects/Equalization.cpp:2509
 msgid "Enter the desired name of the curve"
-msgstr ""
+msgstr "Zadajte  názov krivky"
 
-#: effects/Equalization.cpp:2343
+#: effects/Equalization.cpp:2609
+#: export/ExportFFmpegDialogs.cpp:1211
 msgid "Confirm Deletion"
-msgstr ""
+msgstr "Potvrdiť zmazanie"
 
-#: ../src/effects/Equalization.h:38
+#: effects/Equalization.h:84
 msgid "Equalization..."
 msgstr "Ekvalizácia..."
 
-#: ../src/effects/Equalization.h:42
+#: effects/Equalization.h:98
 msgid "Performing Equalization"
 msgstr "Aplikujem ekvalizáciu"
 
-#: ../src/effects/Fade.h:23
+#: effects/Fade.h:24
 msgid "Fade In"
 msgstr "Postupný nábeh (Fade In)"
 
-#: ../src/effects/Fade.h:27
+#: effects/Fade.h:38
 msgid "Fading In"
 msgstr "Vytváram postupný nábeh (fading in)"
 
-#: ../src/effects/Fade.h:43
+#: effects/Fade.h:54
 msgid "Fade Out"
 msgstr "Do stratena (Fade Out)"
 
-#: ../src/effects/Fade.h:47
+#: effects/Fade.h:68
 msgid "Fading Out"
 msgstr "Vytváram efekt do stratena (fading out)"
 
 #: effects/FindClipping.cpp:49
 msgid "Detect clipping"
-msgstr ""
+msgstr "Rozpoznať výstrižok"
 
 #: effects/FindClipping.cpp:91
 msgid "Clipping"
-msgstr ""
+msgstr "Výstrižok"
 
 #: effects/FindClipping.cpp:211
 msgid "Find Clipping"
-msgstr ""
+msgstr "Nájsť výstrižok"
 
 #: effects/FindClipping.cpp:222
 msgid "by Leland Lucius"
-msgstr ""
+msgstr "od Leland Lucius"
 
 #: effects/FindClipping.cpp:234
 msgid "Start threshold (samples):"
-msgstr ""
+msgstr "Začiatočný prah (vzorky):"
 
 #: effects/FindClipping.cpp:238
 msgid "Stop threshold (samples):"
-msgstr ""
+msgstr "Koncový prah (vzorky)"
 
 #: effects/FindClipping.cpp:250
 msgid "Start and stop must be greater than 0."
-msgstr ""
+msgstr "Začiatok a koniec musí byť väčší než 0."
 
 #: effects/FindClipping.h:37
 msgid "Find Clipping..."
-msgstr ""
+msgstr "Hľadanie výstrižku..."
 
-#: effects/FindClipping.h:47
+#: effects/FindClipping.h:54
 msgid "Detecting clipping"
-msgstr ""
+msgstr "Detekcia výstrižku "
 
-#: ../src/effects/Invert.h:27
+#: effects/Invert.h:27
 msgid "Invert"
 msgstr "Invertovať"
 
-#: ../src/effects/Invert.h:31
+#: effects/Invert.h:41
 msgid "Inverting"
 msgstr "Invertujem"
 
-#: BatchCommands.cpp:237 effects/Leveller.cpp:129
+#: effects/Leveller.cpp:192
 msgid "Leveller"
-msgstr ""
+msgstr "Úrovne (Leveller)"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
-msgstr ""
+msgstr "Nič - preskočiť"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:206
 msgid "Light"
-msgstr ""
+msgstr "Ľahká"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:207
 msgid "Moderate"
-msgstr ""
+msgstr "Stredná"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:208
 msgid "Heavy"
-msgstr ""
+msgstr "Ťažká"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:209
 msgid "Heavier"
-msgstr ""
+msgstr "Ťažšia"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
-msgstr ""
+msgstr "Najťažšie"
 
-#: effects/TruncSilence.cpp:332
+#: effects/Leveller.cpp:214
+#: effects/TruncSilence.cpp:331
 msgid "by Lynn Allan"
-msgstr ""
+msgstr "od Lynna Allana"
 
-#: effects/Leveller.cpp:220 effects/Leveller.cpp:233
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
-msgstr ""
+msgstr "Stupeň vyrovnania"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
-msgstr ""
+msgstr "Stupeň vyrovnania:"
 
-#: effects/Leveller.cpp:244
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
-msgstr ""
+msgstr "Prah šumu (sýkot/hukot/šum prostredie)"
 
-#: effects/Leveller.cpp:238
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
-msgstr ""
+msgstr "Prahová hodnota pre šum:"
 
 #: effects/Leveller.h:28
 msgid "Leveller..."
-msgstr ""
+msgstr "Úrovne..."
 
-#: effects/Leveller.h:32
+#: effects/Leveller.h:42
 msgid "Applying Leveller..."
-msgstr ""
+msgstr "Upravujú sa úrovne (Leveller)..."
 
-#: effects/LoadEffects.cpp:102
+#: effects/LoadEffects.cpp:103
 msgid "Generator"
-msgstr ""
+msgstr "Generátor"
 
-#: effects/LoadEffects.cpp:104
+#: effects/LoadEffects.cpp:105
 msgid "Instrument"
-msgstr ""
+msgstr "Nástroj"
 
-#: effects/LoadEffects.cpp:106
+#: effects/LoadEffects.cpp:107
 msgid "Oscillator"
-msgstr ""
+msgstr "Oscilátor"
 
-#: effects/LoadEffects.cpp:108
+#: effects/LoadEffects.cpp:109
 msgid "Utility"
-msgstr ""
+msgstr "Utility"
 
-#: effects/LoadEffects.cpp:110
+#: effects/LoadEffects.cpp:111
 msgid "Converter"
-msgstr ""
+msgstr "Menič"
 
-#: effects/LoadEffects.cpp:112
+#: effects/LoadEffects.cpp:113
 msgid "Analyser"
-msgstr ""
+msgstr "Analyzér"
 
-#: toolbars/MixerToolBar.cpp:58
+#: effects/LoadEffects.cpp:115
+#: toolbars/MixerToolBar.cpp:60
 msgid "Mixer"
-msgstr ""
+msgstr "Mixer"
 
-#: effects/LoadEffects.cpp:116
+#: effects/LoadEffects.cpp:117
 msgid "Simulator"
-msgstr ""
+msgstr "Simulátor"
 
-#: effects/LoadEffects.cpp:118
+#: effects/LoadEffects.cpp:119
 msgid "Delay"
-msgstr ""
+msgstr "Oneskorenie"
 
-#: effects/LoadEffects.cpp:120
+#: effects/LoadEffects.cpp:121
 msgid "Modulator"
-msgstr ""
+msgstr "Modulátor"
 
-#: effects/LoadEffects.cpp:122
+#: effects/LoadEffects.cpp:123
 msgid "Reverb"
-msgstr ""
+msgstr "Rezonancia"
 
-#: ../src/effects/Phaser.cpp:59
+#: effects/LoadEffects.cpp:125
+#: effects/Phaser.cpp:208
 msgid "Phaser"
-msgstr "Fázer (Phaser)"
+msgstr "Fázer "
 
-#: effects/LoadEffects.cpp:126
+#: effects/LoadEffects.cpp:127
 msgid "Flanger"
-msgstr ""
+msgstr "Lém"
 
-#: effects/LoadEffects.cpp:128
+#: effects/LoadEffects.cpp:129
 msgid "Chorus"
-msgstr ""
+msgstr "Refrén"
 
-#: effects/LoadEffects.cpp:130
+#: effects/LoadEffects.cpp:131
 msgid "Filter"
-msgstr ""
+msgstr "Filter "
 
-#: effects/LoadEffects.cpp:132
+#: effects/LoadEffects.cpp:133
 msgid "Lowpass"
-msgstr ""
+msgstr "Nízka permanencia"
 
-#: effects/LoadEffects.cpp:134
+#: effects/LoadEffects.cpp:135
 msgid "Bandpass"
-msgstr ""
+msgstr "Stredná permanencia"
 
-#: effects/LoadEffects.cpp:136
+#: effects/LoadEffects.cpp:137
 msgid "Highpass"
-msgstr ""
+msgstr "Vysoká permanencia"
 
-#: effects/LoadEffects.cpp:138
+#: effects/LoadEffects.cpp:139
 msgid "Comb"
-msgstr ""
+msgstr "Hrebeň"
 
-#: effects/LoadEffects.cpp:140
+#: effects/LoadEffects.cpp:141
 msgid "Allpass"
-msgstr ""
+msgstr "Permanentne"
 
-#: effects/LoadEffects.cpp:142
+#: effects/LoadEffects.cpp:143
 msgid "Equaliser"
-msgstr ""
+msgstr "Equalizér"
 
-#: effects/LoadEffects.cpp:144
+#: effects/LoadEffects.cpp:145
 msgid "Parametric"
-msgstr ""
+msgstr "Parametrický"
 
-#: effects/LoadEffects.cpp:146
+#: effects/LoadEffects.cpp:147
 msgid "Multiband"
-msgstr ""
+msgstr "Multiskupinové"
 
-#: effects/LoadEffects.cpp:148
+#: effects/LoadEffects.cpp:149
 msgid "Spectral Processor"
-msgstr ""
+msgstr "Spektrálny procesor"
 
-#: effects/LoadEffects.cpp:150
+#: effects/LoadEffects.cpp:151
 msgid "Pitch Shifter"
-msgstr ""
+msgstr "Rozostup meniča"
 
-#: effects/LoadEffects.cpp:152
+#: effects/LoadEffects.cpp:153
 msgid "Amplifier"
-msgstr ""
+msgstr "Zosilňovač"
 
-#: effects/LoadEffects.cpp:154
+#: effects/LoadEffects.cpp:155
 msgid "Distortion"
-msgstr ""
+msgstr "Skreslenie"
 
-#: effects/LoadEffects.cpp:156
+#: effects/LoadEffects.cpp:157
 msgid "Waveshaper"
-msgstr ""
+msgstr "Tvarovač vĺn"
 
-#: effects/LoadEffects.cpp:158
+#: effects/LoadEffects.cpp:159
 msgid "Dynamics Processor"
-msgstr ""
+msgstr "Dynamický procesor"
 
-#: effects/LoadEffects.cpp:160
+#: effects/LoadEffects.cpp:161
 msgid "Compressor"
-msgstr ""
+msgstr "Kompresor"
 
-#: effects/LoadEffects.cpp:162
+#: effects/LoadEffects.cpp:163
 msgid "Expander"
-msgstr ""
+msgstr "Rozširovač"
 
-#: effects/LoadEffects.cpp:164
+#: effects/LoadEffects.cpp:165
 msgid "Limiter"
-msgstr ""
+msgstr "Obmedzovač"
 
-#: effects/LoadEffects.cpp:166
+#: effects/LoadEffects.cpp:167
 msgid "Gate"
-msgstr ""
+msgstr "Hradlo"
 
-#: ../src/effects/NoiseRemoval.cpp:69
+#: effects/LoadEffects.cpp:200
+#: effects/NoiseRemoval.cpp:729
 msgid "Noise Removal"
 msgstr "Odstránenie šumu"
 
-#: effects/LoadEffects.cpp:201
+#: effects/LoadEffects.cpp:202
 msgid "Pitch and Tempo"
-msgstr ""
+msgstr "Rozostup a Tempo"
 
-#: effects/LoadEffects.cpp:203
+#: effects/LoadEffects.cpp:204
 msgid "Timeline Changer"
-msgstr ""
+msgstr "Menič časovej línie"
 
-#: effects/LoadEffects.cpp:205
+#: effects/LoadEffects.cpp:206
 msgid "Time"
-msgstr ""
+msgstr "ÄŒas"
 
-#: effects/LoadEffects.cpp:207
+#: effects/LoadEffects.cpp:208
 msgid "Onsets"
-msgstr ""
+msgstr "Nábeh"
 
 #: effects/Noise.cpp:37
 msgid "White"
-msgstr ""
+msgstr "Biely"
 
 #: effects/Noise.cpp:38
 msgid "Pink"
-msgstr ""
+msgstr "Ružový"
 
 #: effects/Noise.cpp:39
 msgid "Brown"
-msgstr ""
+msgstr "Hnedý"
 
 #: effects/Noise.cpp:41
 msgid "Noise Generator"
-msgstr ""
+msgstr "Generátor šumu"
 
-#: effects/Noise.cpp:256
+#: effects/Noise.cpp:239
 msgid "Noise type"
-msgstr ""
+msgstr "Druh Å¡umu"
 
 #: effects/Noise.h:41
 msgid "Noise..."
-msgstr ""
+msgstr "Å um..."
 
-#: effects/Noise.h:45
+#: effects/Noise.h:55
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
-msgstr ""
+msgstr "Použitý efekt: Generovať šum, %.6lf sekúnd"
 
-#: effects/Noise.h:49
+#: effects/Noise.h:59
 msgid "Generating Noise"
-msgstr ""
+msgstr "Generuje sa Å¡um"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
 msgstr ""
+"Nedá sa otvoriť súbor: \n"
+"  %s"
 
 #: effects/NoiseRemoval.cpp:277
 msgid "Attempt to run Noise Removal without a noise profile.\n"
-msgstr ""
+msgstr "Pokus o odstránenie šumu bez profilu šumu.\n"
 
-#: ../src/effects/NoiseRemoval.cpp:410
+#: effects/NoiseRemoval.cpp:818
 msgid "Step 1"
 msgstr "Krok 1"
 
-#: effects/NoiseRemoval.cpp:765
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:819
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
 msgstr ""
+"Vyberte niekoľko sekúnd samotného šumu, aby Audacity vedel\n"
+"čo sa má filtrovať. Potom kliknite na Získať profil šumu."
 
-#: ../src/effects/NoiseRemoval.cpp:427
+#: effects/NoiseRemoval.cpp:820
 msgid "Step 2"
 msgstr "Krok 2"
 
-#: effects/NoiseRemoval.cpp:767
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:821
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr ""
+"Označte všetko čo chcete filtrovať,\n"
+"zvoľte mieru filtrovania šumu a kliknite na 'OK'.\n"
 
-#: ../src/effects/NoiseRemoval.cpp:403
+#: effects/NoiseRemoval.cpp:826
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Odstránenie šumu od Dominica Mazzoniho"
 
-#: ../src/effects/NoiseRemoval.cpp:419
+#: effects/NoiseRemoval.cpp:834
 msgid "Get Noise Profile"
 msgstr "Získať profil šumu"
 
-#: effects/NoiseRemoval.cpp:791
+#: effects/NoiseRemoval.cpp:845
 msgid "Noise reduction (dB):"
-msgstr ""
+msgstr "Redukcia Å¡umu (dB):"
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "Redukcia Å¡umu"
 
-#: effects/NoiseRemoval.cpp:799
+#: effects/NoiseRemoval.cpp:854
 msgid "Frequency smoothing (Hz):"
-msgstr ""
+msgstr "Vyhladenie frekvencie (Hz):"
 
 #: effects/NoiseRemoval.cpp:859
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Vyhladenie frekvencie"
 
-#: effects/NoiseRemoval.cpp:807
+#: effects/NoiseRemoval.cpp:863
 msgid "Attack/decay time (secs):"
-msgstr ""
+msgstr "Čas nábehu/Čas dobehu (sek.):"
 
 #: effects/NoiseRemoval.cpp:868
 msgid "Attach/decay time"
-msgstr ""
+msgstr "ÄŒas pripojenia/odpojenia"
 
-#: ../src/effects/NoiseRemoval.h:38
+#: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
 msgstr "Odstránenie šumu..."
 
-#: ../src/effects/NoiseRemoval.h:43
+#: effects/NoiseRemoval.h:50
 msgid "Creating Noise Profile"
 msgstr "Vytváram profil šumu"
 
-#: ../src/effects/NoiseRemoval.h:45
+#: effects/NoiseRemoval.h:52
 msgid "Removing Noise"
 msgstr "Odstraňujem šum"
 
-#: effects/Normalize.cpp:68
+#. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
+#: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
-msgstr ""
+msgstr "Aplikovať efekt: %s odobrať dc posun = %s, normalizovať amplitúdu = %s"
 
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
 msgid "false"
-msgstr ""
+msgstr "nesprávne"
 
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+#. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
 msgid "true"
-msgstr ""
+msgstr "správne"
 
-#: effects/Normalize.cpp:73
+#: effects/Normalize.cpp:77
 #, c-format
 msgid ", maximum amplitude = %.1f dB"
-msgstr ""
+msgstr ", maximálna amplitúda = %.1f dB"
 
-#: ../src/effects/Normalize.cpp:29
+#: effects/Normalize.cpp:327
 msgid "Normalize"
 msgstr "Normalizovať"
 
-#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
+#: effects/Normalize.cpp:351
 msgid "Remove any DC offset (center on 0.0 vertically)"
-msgstr ""
+msgstr "Odstrániť akýkoľvek  DC posun (vycentrovať na 0.0 vertikálne)"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:354
 msgid "Normalize maximum amplitude to:"
-msgstr ""
+msgstr "Normalizuj maximálnu amplitúdu na:"
 
-#: effects/Normalize.cpp:336
+#: effects/Normalize.cpp:362
 msgid "-"
-msgstr ""
+msgstr "-"
 
 #: effects/Normalize.cpp:367
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Maximálna amplitúda dB"
 
-#: ../src/effects/Normalize.h:34
+#: effects/Normalize.h:33
 msgid "Normalize..."
 msgstr "Normalizovať..."
 
-#: ../src/effects/Normalize.h:38
+#: effects/Normalize.h:49
 msgid "Normalizing..."
 msgstr "Normalizujem..."
 
-#: ../src/effects/Phaser.cpp:47
+#: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
 msgstr "Použitý efekt: %s %d krokov, %.0f%% wet, frekvencia = %.1f Hz, štartovacia fáza = %.0f deg, hĺbka = %d, sp. väzba = %.0f%%"
 
-#: ../src/effects/Phaser.cpp:455
+#: effects/Phaser.cpp:226
 msgid "Stages:"
 msgstr "Krokov:"
 
 #: effects/Phaser.cpp:229
 msgid "Stages"
-msgstr ""
+msgstr "Stupňov"
 
 #: effects/Phaser.cpp:231
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "Suchý/Mokrý:"
 
 #: effects/Phaser.cpp:234
 msgid "Dry Wet"
-msgstr ""
+msgstr "Suchý Mokrý"
 
-#: ../src/effects/Phaser.cpp:497
-#: ../src/effects/Wahwah.cpp:468
+#: effects/Phaser.cpp:236
+#: effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO frekvencia (Hz):"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:239
+#: effects/Wahwah.cpp:224
 msgid "LFO frequency in hertz"
-msgstr ""
+msgstr "LFO frekvencia  v hertzoch"
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:484
+#: effects/Phaser.cpp:241
+#: effects/Wahwah.cpp:226
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO Štartovacia fáza (deg.):"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:244
+#: effects/Wahwah.cpp:229
 msgid "LFO start phase in degrees"
-msgstr ""
+msgstr "LFO štartovacia fáza v stupňoch"
 
-#: ../src/effects/Phaser.cpp:529
+#: effects/Phaser.cpp:246
 msgid "Depth:"
 msgstr "Hĺbka:"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:249
+#: effects/Wahwah.cpp:234
 msgid "Depth in percent"
-msgstr ""
+msgstr "Hĺbka v percentách"
 
-#: ../src/effects/Phaser.cpp:545
+#: effects/Phaser.cpp:251
 msgid "Feedback (%):"
 msgstr "Spätná väzba (feedback) (%):"
 
 #: effects/Phaser.cpp:254
 msgid "Feedback in percent"
-msgstr ""
+msgstr "Spätná odozva v percentách"
 
-#: ../src/effects/Phaser.h:41
+#: effects/Phaser.h:45
 msgid "Phaser..."
-msgstr "Fázer (Phaser)..."
+msgstr "Fázer..."
 
-#: ../src/effects/Phaser.h:45
+#: effects/Phaser.h:59
 msgid "Applying Phaser"
-msgstr "Aplikujem Fázer (Phaser)"
+msgstr "Aplikujem Fázer"
 
-#: effects/Repair.cpp:94
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+#: effects/Repair.cpp:99
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
 msgstr ""
+"Tento opravný efekt je určený na použitie na veľmi krátkych úsekoch poškodeného záznamu (do 128 vzoriek).\n"
+"\n"
+"Nastavte si veľké zväčšenie a zvoľťe malú časť na opravu."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
 msgstr ""
+"Oprava pomocou audio dát mimo výbranú oblasť. \n"
+"\n"
+"Prosím vyberte oblasť, ktorá sa dotýka audia aspoň na jednej strane.\n"
+"\n"
+"Čím viac okolitého zvuku, tým lepšie ju vykoná."
 
-#: effects/Repair.h:33
+#: effects/Repair.h:43
 msgid "Repairing damaged audio"
-msgstr ""
+msgstr "Opravujú sa poškodené zvukové dáta"
 
-#: ../src/effects/Repeat.cpp:31
+#: effects/Repeat.cpp:50
 #, c-format
 msgid "Repeated %d times"
 msgstr "Opakovať %d-krát"
 
-#: ../src/effects/Repeat.cpp:57
+#: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
 msgstr "Stopy sú príliš dlhé pre opakovanie výberu."
 
-#: ../src/effects/Repeat.cpp:58
-#: ../src/effects/Repeat.cpp:62
+#: effects/Repeat.cpp:77
+#: effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Opakovať"
 
-#: effects/Repeat.cpp:212
-#, fuzzy
+#: effects/Repeat.cpp:211
 msgid "Number of times to repeat:"
-msgstr "Počet opakovaní:"
+msgstr "Počet opakovaní: "
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "Nový výber dĺžky: hh:mm:ss"
 
-#: ../src/effects/Repeat.cpp:241
-#: ../src/effects/Repeat.cpp:280
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Nová dĺžka výberu:"
 
-#: widgets/TimeTextCtrl.cpp:199
+#. i18n-hint: Name of time display format that shows time in hours, minutes
+#. * and seconds
+#: effects/Repeat.cpp:261
+#: widgets/TimeTextCtrl.cpp:270
 msgid "hh:mm:ss"
-msgstr ""
+msgstr "hh:mm:ss"
 
-#: ../src/effects/Repeat.h:34
+#: effects/Repeat.h:33
 msgid "Repeat..."
 msgstr "Opakovať..."
 
-#: ../src/effects/Repeat.h:38
+#: effects/Repeat.h:47
 msgid "Performing Repeat"
 msgstr "Vykonávam opakovanie"
 
-#: ../src/effects/Reverse.h:30
+#: effects/Reverse.h:30
 msgid "Reverse"
 msgstr "Obrátiť (Reverse)"
 
-#: ../src/effects/Reverse.h:34
+#: effects/Reverse.h:44
 msgid "Reversing"
-msgstr "Prevraciam"
+msgstr "Vraciam späť"
 
 #: effects/Silence.cpp:32
 msgid "Silence Generator"
-msgstr ""
+msgstr "Vytvoriť ticho"
 
 #: effects/Silence.h:34
 msgid "Silence..."
-msgstr ""
+msgstr "Ticho..."
 
-#: ../src/effects/Silence.h:37
+#: effects/Silence.h:48
 msgid "Generating Silence"
 msgstr "Vytváram ticho"
 
-#: ../src/effects/Silence.h:42
+#: effects/Silence.h:53
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Použitý efekt: Generovať ticho, %.6lf sekúnd"
 
 #: effects/SimplePairedTwoTrack.h:120
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "Ospravedlňujeme sa, tento efekt nemôže byť aplikovaný na stereo stopy, u ktorých  nesúhlasia individuálne kanály."
 
 #: effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
-msgstr ""
+msgstr "Odstránenie špičiek"
 
 #: effects/SpikeCleaner.cpp:160
 msgid "SpikeCleaner by Lynn Allan"
-msgstr ""
+msgstr "Odstránenie špičiek od Lynna Allana"
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
 msgstr ""
+"Maximálna dĺžka Impulzu  (milisekúnd): \n"
+"(99999 alebo väčšia je vypnutá)"
 
-#: effects/SpikeCleaner.cpp:178 effects/TruncSilence.cpp:269
+#: effects/SpikeCleaner.cpp:178
 msgid "Theshold for silence: "
-msgstr ""
+msgstr "Prah Å¡umu: "
 
 #: effects/SpikeCleaner.h:27
 msgid "Spike Cleaner..."
-msgstr ""
+msgstr "Odstránenie špičiek..."
 
-#: effects/SpikeCleaner.h:31
+#: effects/SpikeCleaner.h:35
 msgid "Applying Spike Cleaner..."
-msgstr ""
+msgstr "Aplikuje sa odstránenie špičiek..."
 
 #: effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
-msgstr ""
+msgstr "&Stereo na mono"
 
 #: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
-msgstr ""
+msgstr "Aplikuje sa Stereo na Mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "Mierka času"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Posúvanie časového rozsahu/výšky Shift "
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "pomocou SBSMS, od Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Začiatočná zmena tempa (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Konečná zmena tempa (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Začiatočná zmena tempa (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Konečná zmena tempa (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Začiatočná výška Shift (medzitón) [-12 do 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Finálna výška Shift (medzitón) [-12 do 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Posúvanie časového rozsahu/výšky Shift ..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Zmena Tempo/Rozostup"
 
-#: effects/ToneGen.cpp:59
+#: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
-msgstr ""
+msgstr "Aplikovať efekt: Generovať %s vlnu %s, frekvencia= %.2f Hz, amplitúda = %.2f, %.6lf sekúnd"
 
-#: ../src/widgets/Meter.cpp:292
+#: effects/ToneGen.cpp:69
+#: widgets/Meter.cpp:412
 msgid "Linear"
-msgstr "Lineárny"
+msgstr "Lineárne"
 
 #: effects/ToneGen.cpp:70
 msgid "Logarithmic"
-msgstr ""
+msgstr "Logaritmické"
 
-#: effects/ToneGen.cpp:66
+#: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
-msgstr ""
+msgstr "Generátor štebotania"
 
-#: ../src/effects/ToneGen.cpp:43
+#: effects/ToneGen.cpp:71
 msgid "Tone Generator"
 msgstr "Tónový generátor"
 
-#: ../src/effects/ToneGen.cpp:48
+#: effects/ToneGen.cpp:72
 msgid "Sine"
 msgstr "Sínus"
 
-#: ../src/effects/ToneGen.cpp:49
+#: effects/ToneGen.cpp:73
 msgid "Square"
 msgstr "Å tvorec"
 
-# možno nepresný preklad
-#: ../src/effects/ToneGen.cpp:50
+#: effects/ToneGen.cpp:74
 msgid "Sawtooth"
 msgstr "Píla"
 
-#: effects/ToneGen.cpp:70
+#: effects/ToneGen.cpp:75
 msgid "Square, no alias"
-msgstr ""
+msgstr "Presne, nie približne"
 
-#: effects/ToneGen.cpp:298
+#: effects/ToneGen.cpp:319
+#: effects/ToneGen.cpp:356
 msgid "Frequency (Hz)"
-msgstr ""
+msgstr "Frequencia (Hz)"
 
-#: ../src/effects/ToneGen.cpp:263
+#: effects/ToneGen.cpp:347
 msgid "Waveform:"
 msgstr "Krivka:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:356
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Začiatok frekvencie v Hertzoch"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:357
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Koniec frekvencie v Hertzoch"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:358
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Začiatok Amplitúdy"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:359
 msgid "Amplitude End"
-msgstr ""
+msgstr "Koniec Amplitúdy"
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:364
 msgid "Interpolation:"
-msgstr ""
+msgstr "Interpolácia:"
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Chirp..."
-msgstr ""
+msgstr "Å tebot..."
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Tone..."
-msgstr ""
+msgstr "Tón..."
 
-#: effects/ToneGen.h:43
+#: effects/ToneGen.h:54
 msgid "Generating Chirp"
-msgstr ""
+msgstr "Generujem Å¡tebot"
 
-#: ../src/effects/ToneGen.h:44
+#: effects/ToneGen.h:54
 msgid "Generating Tone"
 msgstr "Vytváram tón"
 
 #: effects/TruncSilence.cpp:113
 msgid "All tracks must have the same sample rate"
-msgstr ""
+msgstr "Všetky stopy musia mať rovnakú vzorkovaciu frekvenciu"
 
-#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:321
 msgid "Truncate Silence"
-msgstr ""
+msgstr "Orezať ticho"
 
-#: effects/TruncSilence.cpp:346
+#: effects/TruncSilence.cpp:345
 msgid "Max silence duration:"
-msgstr ""
+msgstr "Maximálna dĺžka ticha:"
 
-#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
+#: effects/TruncSilence.cpp:348
+#: prefs/AudioIOPrefs.cpp:199
+#: prefs/AudioIOPrefs.cpp:203
+#: prefs/MidiIOPrefs.cpp:174
+#: prefs/MidiIOPrefs.cpp:177
 msgid "milliseconds"
-msgstr ""
+msgstr "milisekundy"
 
-#: effects/TruncSilence.cpp:351
+#: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
-msgstr ""
+msgstr "Prah ticha: "
 
-#: effects/TruncSilence.cpp:375
+#: effects/TruncSilence.cpp:374
 msgid "   Duration must be at least 1 millisecond"
-msgstr ""
+msgstr "   Dĺžka musí byť aspoň 1 millisekunda"
 
-#: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
+#: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
-msgstr ""
+msgstr "Orezať ticho..."
 
-#: effects/TruncSilence.h:33
+#: effects/TruncSilence.h:42
 msgid "Truncating Silence..."
-msgstr ""
+msgstr "Orezáva sa ticho..."
 
-#: ../src/effects/VST/VSTEffect.cpp:180
+#: effects/VST/VSTEffect.cpp:172
 msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Ospravedlňujem sa, ale VST efekt nemôže byť aplikovaný na stereo stopy, pri ktorých  nesúhlasia individuálne kanály."
 
-#: ../src/effects/VST/VSTEffect.cpp:196
+#: effects/VST/VSTEffect.cpp:187
 msgid "Can't process replacing"
 msgstr "Nie je možné uskutočniť zámenu"
 
-#: ../src/effects/VST/VSTEffect.cpp:410
+#: effects/VST/VSTEffect.cpp:410
 msgid "VST Plug-in parameters:"
-msgstr "Parametre pre zásuvný modul VST"
+msgstr "Parametre pre zásuvný modul VST:"
 
-#: ../src/effects/Wahwah.cpp:41
+#: effects/Wahwah.cpp:61
 #, c-format
 msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
-msgstr "Použitý efekt: %s frekvencia = %.1f Hz, štartovacia fáza = %.0f deg, hĺbka = %.0f%%, rezonancia = %.1f, frekvenčné odsadenie = %.0f%%"
+msgstr "Použitý efekt: %s frekvencia = %.1f Hz, štartovacia fáza = %.0f deg, hĺbka = %.0f%%, rezonancia = %.1f, frekvenčné posun = %.0f%%"
 
-#: ../src/effects/Wahwah.cpp:52
+#: effects/Wahwah.cpp:203
 msgid "Wahwah"
 msgstr "Kvákadlo (Wahwah)"
 
-#: ../src/effects/Wahwah.cpp:500
+#: effects/Wahwah.cpp:231
 msgid "Depth (%):"
 msgstr "Hĺbka (%):"
 
-#: ../src/effects/Wahwah.cpp:516
+#: effects/Wahwah.cpp:236
 msgid "Resonance:"
 msgstr "Rezonancia:"
 
 #: effects/Wahwah.cpp:239
 msgid "Resonance"
-msgstr ""
+msgstr "Rezonancia"
 
-#: ../src/effects/Wahwah.cpp:532
+#: effects/Wahwah.cpp:241
 msgid "Wah Frequency Offset (%):"
-msgstr "Offset kvákacej (wah) frekvencie (%):"
+msgstr "Posun kvákacej (wah) frekvencie (%):"
 
 #: effects/Wahwah.cpp:244
 msgid "Wah frequency offset in percent"
-msgstr ""
+msgstr "Frakvenčná odchýlka kvákadla v percentách"
 
-#: ../src/effects/Wahwah.h:39
+#: effects/Wahwah.h:41
 msgid "Wahwah..."
 msgstr "Kvákadlo (Wahwah)..."
 
-#: ../src/effects/Wahwah.h:43
+#: effects/Wahwah.h:55
 msgid "Applying Wahwah"
-msgstr "Aplikujem kvákadlo (Wahwah)"
+msgstr "Aplikovanie kvákadla (Wahwah)"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:137
+#: effects/audiounits/AudioUnitEffect.cpp:138
+#: effects/ladspa/LadspaEffect.cpp:176
+#: effects/lv2/LV2Effect.cpp:192
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Aplikujem efekt: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:189
+#: effects/ladspa/LadspaEffect.cpp:196
+#: effects/lv2/LV2Effect.cpp:212
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "Ospravedlňujeme sa, Plug-in Effects nemôžu byť aplikované na stereo stopy, u ktorých  nesúhlasia individuálne kanály."
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
+#: effects/ladspa/LadspaEffect.cpp:580
+#: effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51
+#: prefs/QualityPrefs.cpp:72
 msgid "None"
 msgstr "Nič"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:437
+#: effects/ladspa/LadspaEffect.cpp:582
+#: effects/lv2/LV2Effect.cpp:799
+#: effects/vamp/VampEffect.cpp:397
 msgid "Author: "
 msgstr "Autor:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
+#: effects/ladspa/LadspaEffect.cpp:615
+#: effects/lv2/LV2Effect.cpp:824
 msgid "Effect Settings"
 msgstr "Nastavenie efektu"
 
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:306
+#: effects/ladspa/LadspaEffect.cpp:710
+#: effects/ladspa/LadspaEffect.cpp:713
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Length (seconds)"
 msgstr "Dĺžka (sekundy)"
 
-#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:850
+#: effects/lv2/LV2Effect.cpp:853
 msgid "Note length (seconds)"
-msgstr ""
+msgstr "Poznámka dĺžka (sekundy)"
 
-#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:861
+#: effects/lv2/LV2Effect.cpp:864
 msgid "Note velocity"
-msgstr ""
+msgstr "Poznámka rýchlosti"
 
-#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:872
+#: effects/lv2/LV2Effect.cpp:875
 msgid "Note key"
-msgstr ""
+msgstr "Poznámka kľúča"
 
-#: ../src/effects/nyquist/Nyquist.cpp:217
+#: effects/nyquist/Nyquist.cpp:302
 msgid "Applying Nyquist Effect..."
 msgstr "Aplikujem Nyquist efekt..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:224
+#: effects/nyquist/Nyquist.cpp:320
+#: effects/nyquist/Nyquist.cpp:403
 msgid "Nyquist Prompt..."
 msgstr "Príkazový riadok Nyquistu..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:282
+#: effects/nyquist/Nyquist.cpp:404
 msgid "Enter Nyquist Command: "
 msgstr "Vložiť Nyquist príkaz: "
 
-#: ../src/effects/nyquist/Nyquist.cpp:370
+#: effects/nyquist/Nyquist.cpp:504
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Ospravedlňujem sa, ale efekt nemôže byť aplikovaný na stereo stopy, pri ktorých  nesúhlasia individuálne kanály."
 
-#: ../src/effects/nyquist/Nyquist.cpp:397
+#: effects/nyquist/Nyquist.cpp:535
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: ../src/effects/nyquist/Nyquist.cpp:398
+#: effects/nyquist/Nyquist.cpp:536
 msgid "Nyquist Output: "
 msgstr "Výstup Nyquistu:"
 
-#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:747
+#: effects/nyquist/Nyquist.cpp:758
 msgid "Nyquist returned the value:"
-msgstr ""
+msgstr "Nyquist vrátil hodnotu:"
 
-#: ../src/effects/nyquist/Nyquist.cpp:594
+#: effects/nyquist/Nyquist.cpp:800
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist nevrátil žiadne audio.\n"
 
-#: ../src/effects/nyquist/Nyquist.cpp:604
+#: effects/nyquist/Nyquist.cpp:811
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist vrátil príliš mnoho audio kanálov.\n"
 
-#: effects/vamp/VampEffect.cpp:75
+#: effects/vamp/VampEffect.cpp:80
 #, c-format
 msgid "Extracting features: %s"
-msgstr ""
+msgstr "Extrahujte rysi: %s"
 
-#: effects/vamp/VampEffect.cpp:106
+#: effects/vamp/VampEffect.cpp:111
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "Ospravedlňujeme sa, Vamp pluginy nemôžu byť aplikované na stereo stopy, u ktorých  nesúhlasia individuálne kanály."
 
-#: effects/vamp/VampEffect.cpp:120
+#: effects/vamp/VampEffect.cpp:125
 msgid "Sorry, failed to load Vamp Plug-in."
-msgstr ""
+msgstr "Ospravedlňujeme sa, ale Vamp plugin nie je možné načítať."
 
-#: effects/vamp/VampEffect.cpp:228
+#: effects/vamp/VampEffect.cpp:233
 msgid "Sorry, Vamp Plug-in failed to initialize."
-msgstr ""
+msgstr "Ospravedlňujeme sa, ale Vamp plugin nie je možné inicializovať."
 
-#: effects/vamp/VampEffect.cpp:376
+#: effects/vamp/VampEffect.cpp:389
 msgid " - Vamp audio analysis plugin"
-msgstr ""
+msgstr " - Plugin pre analýzu zvuku Vamp"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:425
 msgid "Plugin Settings"
-msgstr ""
+msgstr "Nastavenie Pluginov"
 
-#: effects/vamp/VampEffect.cpp:446
+#: effects/vamp/VampEffect.cpp:444
+#: effects/vamp/VampEffect.cpp:450
 msgid "Program"
-msgstr ""
+msgstr "Program"
 
 #: export/Export.cpp:469
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Celý vybraný zvuk je stlmený."
 
 #: export/Export.cpp:471
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Celý zvuk je stlmený."
 
-#: export/Export.cpp:445
+#: export/Export.cpp:527
 msgid "Export File"
-msgstr ""
+msgstr "Exportovať Súbor"
 
-#: export/Export.cpp:453
+#: export/Export.cpp:536
 msgid "&Options..."
-msgstr ""
+msgstr "&Nastavenia..."
 
-#: ../src/export/Export.cpp:202
+#: export/Export.cpp:577
 msgid "Are you sure you want to save the file as \""
 msgstr "Naozaj chcete súbor uložiť ako \""
 
-#: export/Export.cpp:495
+#: export/Export.cpp:597
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
 msgstr ""
+"Chystáte sa uložiť súbor %s pod menom \"%s\".\n"
+"\n"
+"Obvykle názvy týchto súborov končia na \".%s\" a niektoré programy nevedia otvoriť súbory s neštandardnými príponami.\n"
+"Naozaj chcete uložiť tento súbor pod týmto menom?"
 
-#: export/Export.cpp:516
+#: export/Export.cpp:618
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
-msgstr ""
+msgstr "Súbor s názvom \"%s\" už existuje.  Nahradiť?"
 
-#: ../src/export/Export.cpp:142
+#: export/Export.cpp:720
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Stopy budú v exportovanom súbore premixované do dvoch stereo kanálov."
 
-#: ../src/export/Export.cpp:147
+#: export/Export.cpp:725
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Stopy budú v exportovanom súbore premixované na jeden mono kanál."
 
-#: export/Export.cpp:171
+#: export/Export.cpp:736
 msgid "Advanced Mixing Options"
-msgstr ""
+msgstr "Pokročilé voľby miešania"
 
-#: export/Export.cpp:632
+#: export/Export.cpp:940
 #, c-format
 msgid "Channel: %2d"
-msgstr ""
+msgstr "Kanál: %2d"
 
-#: export/Export.cpp:755
+#: export/Export.cpp:1056
 msgid " - Left"
-msgstr ""
+msgstr " - Ľavý"
 
-#: export/Export.cpp:756
+#: export/Export.cpp:1057
 msgid " - Right"
-msgstr ""
+msgstr " - Pravý"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
-msgstr ""
+msgstr "Mixážny Panel"
 
-#: export/Export.cpp:775 export/Export.cpp:829
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
-msgstr ""
+msgstr "Výstupné kanály: %2d"
 
 #: export/ExportCL.cpp:55
 msgid "Specify Command Line Encoder"
-msgstr ""
+msgstr "Uveďte enkóder príkazového riadku"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
-msgstr ""
+msgstr "Nastavenia exportu príkazového riadku"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
-msgstr ""
+msgstr "Príkaz:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
-msgstr ""
+msgstr "Zobraziť výstup"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
-msgstr ""
+msgstr "Dáta budú prevedené do štandardu   \"%f\" bude nahradené vybraným výstupným súborom."
 
-#: export/ExportCL.cpp:219
+#: export/ExportCL.cpp:220
 msgid "(external program)"
-msgstr ""
+msgstr "(externý program)"
 
-#: ../src/export/ExportPCM.cpp:79
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:484
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Nie je možné exportovať audio do %s"
 
-#: ../src/export/ExportCL.cpp:144
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Exportujem zvolené audio pomocou enkóderu s príkazovým riadkom"
 
-#: ../src/export/ExportCL.cpp:146
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Exportujem celý projekt pomocou enkóderu s príkazovým riadkom"
 
-#: export/ExportCL.cpp:387
+#: export/ExportCL.cpp:423
 msgid "Command Output"
-msgstr ""
+msgstr "Výstup príkazu"
 
 #: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
 "You can configure it in Preferences->Import/Export."
 msgstr ""
+"Správne nakonfigurovaný FFmpeg je povinný pokračovať.\n"
+"Môžete nastaviť v Nastavenie-> Import / Export."
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:410
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg nemôže nájsť audio kodek 0x% x.\n"
+"Podpora tohto kodeku je pravdepodobne nevkompilovaná."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:641
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Pokus o export %d kanálov, ale maximálny počet kanálov pre vybraný výstupný formát je %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:669
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "Vybrané audio sa exportuje ako  %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:670
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "Celý súbor sa exportuje ako %s"
 
-#: export/ExportMP3.cpp:1863
+#: export/ExportFFmpeg.cpp:733
+#: export/ExportMP3.cpp:1772
 msgid "Invalid sample rate"
-msgstr ""
+msgstr "Nesprávna vzorkovacia rýchlosť"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:746
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr ""
+"Projekt vzorkovej rýchlosti (%d) nie je podporovaný súčasným výstupným\n"
+"súborovým formátom. "
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:749
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
+"Projekt kombinácie vzorkovej rýchlosti (%d) a bitovej rýchlosti (%d kbps)  nie je\n"
+"podporovaný súčasným výstupným súborovým formátom."
 
-#: export/ExportMP3.cpp:1882
+#: export/ExportFFmpeg.cpp:752
+#: export/ExportMP3.cpp:1791
 msgid "You may resample to one of the rates below."
-msgstr ""
+msgstr "Môžete prevzorkovať o jednu sadu nižšie."
 
-#: export/ExportMP3.cpp:1905
+#: export/ExportFFmpeg.cpp:780
+#: export/ExportMP3.cpp:1814
 msgid "Sample Rates"
-msgstr ""
+msgstr "Rýchlosti vzorkovania"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "Upresniť nastavenie AC3"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:197
+msgstr "Nastavenie AC3 exportu"
+
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:923
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Dátový tok (Bit Rate):"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "Upresniť nastavenie AAC"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "Nastavenie AAC exportu"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "Upresniť nastavenie AMR-NB "
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "Nastavenie AMR-NB exportu"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "Upresniť nastavenie AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "Nastavenie AMR-WB exportu"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "Upresniť nastavenie WMA"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "Nastavenie WMA exportu"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:488
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "Prepísať predvoľbu  '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:489
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "Potvrdiť Prepísanie"
 
 #: export/ExportFFmpegDialogs.cpp:501
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Prosím, vyberte formát  pred uložením profilu"
 
 #: export/ExportFFmpegDialogs.cpp:509
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Prosím, vyberte kodek pred uložením profilu"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:579
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "Predvoľba '%s' neexistuje."
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:794
 msgid "Specify Other Options"
-msgstr ""
+msgstr "Upresniť iné nastavenie "
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:883
 msgid "Preset:"
-msgstr ""
+msgstr "Predvoľba:"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:884
 msgid "Load Preset"
-msgstr ""
+msgstr "Predvoľba Načítania"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:885
 msgid "Save Preset"
-msgstr ""
+msgstr "Predvoľba Uloženia"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Delete Preset"
-msgstr ""
+msgstr "Predvoľba Zmazania"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Import Presets"
-msgstr ""
+msgstr "Predvoľby Importu"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Export Presets"
-msgstr ""
+msgstr "Predvoľby Exportu"
 
-#: export/ExportPCM.cpp:177
+#: export/ExportFFmpegDialogs.cpp:893
 msgid "Format:"
-msgstr ""
+msgstr "Formát:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:895
 msgid "Codec:"
-msgstr ""
+msgstr "Kodek:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:899
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "Nie všetky formáty a kodeky sú kompatibilné. Niektoré parametre (napr. bitová a vzorkovacia rýchlosť) a ich kombinácie tiež nie sú kompatibilné s niektorými kodekmi."
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:902
 msgid "Format selector:"
-msgstr ""
+msgstr "Volič formátu:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:903
 msgid "Codec selector:"
-msgstr ""
+msgstr "Volič kodekov:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Show All Formats"
-msgstr ""
+msgstr "Zobraziť všetky formáty"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Show All Codecs"
-msgstr ""
+msgstr "Zobraziť všetky kodeky"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:913
 msgid "Options"
-msgstr ""
+msgstr "Možnosti"
 
-#: ../src/prefs/GUIPrefs.cpp:134
+#: export/ExportFFmpegDialogs.cpp:917
+#: prefs/GUIPrefs.cpp:166
 msgid "Language:"
 msgstr "Jazyk:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:918
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"ISO 639 3-zápis kódu jazyka \n"
+"Voliteľné \n"
+"prázdny - automatické"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:920
 msgid "Tag:"
-msgstr ""
+msgstr "Tág:"
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:921
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"Značka kodeku (FOURCC)\n"
+"Voliteľné \n"
+"prázdny - automatické"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:924
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
+"Bitová rýchlosť (bitov/sekundu) - ovplyvňuje výslednú veľkosť súboru a kvalitu \n"
+"Niektoré kodeky môžu iba prijať konkrétne hodnoty (128k, 192k, 256k, atď) \n"
+"0 - automatické \n"
+"Odporúčané - 192000"
 
-#: export/ExportOGG.cpp:86
+#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportOGG.cpp:84
 msgid "Quality:"
-msgstr ""
+msgstr "Kvalita:"
 
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
+"Celková kvalita, používaná odlišne rôznymi kodekmi  \n"
+"Potrebné pre vorbis \n"
+"0 - automatické \n"
+"-1 - Vypnuté (použitie miesto dátového toku)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:929
 msgid "Sample Rate:"
-msgstr ""
+msgstr "Rýchlosť vzorkovania: "
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
+"Vzorkovací kmitočet (Hz) \n"
+"0 - nemení vzorkovací kmitočet"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "Prerušené pásmo:"
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:933
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
 "0 - automatic\n"
 msgstr ""
+"Prerušené audio pásmo (Hz) \n"
+"Voliteľné \n"
+"0 - automatické \n"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Profile:"
-msgstr ""
+msgstr "Profil:"
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:937
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
+"AAC Profil \n"
+"Vysoká-Zložitosť-predvolená \n"
+"Väčšina hráčov nebude hrať nič iného ako LC"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:939
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Použitie zásobníkových Bitov"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Variabilné použitie blokovej dĺžky"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:947
 msgid "FLAC options"
-msgstr ""
+msgstr "Nastavenie FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:951
 msgid "Compression Level:"
-msgstr ""
+msgstr "Úroveň Kompresie"
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:952
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
 msgstr ""
+"Úroveň kompresie\n"
+"Potrebné pre FLAC\n"
+"-1 - automatické\n"
+"min - 0 (rýchle kódovanie, veľký výstupný súbor)\n"
+"max - 10 (pomalé kódovanie, malý výstupný súbor)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Frame Size:"
-msgstr ""
+msgstr "Veľkosť snímku:"
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:955
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
 msgstr ""
+"Veľkosť rámca\n"
+"Voliteľná \n"
+"0 - predvolená\n"
+"min - 16 \n"
+"max - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "LPC coefficients precision"
-msgstr ""
+msgstr "LPC koeficienty presnosti"
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:958
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
 msgstr ""
+"LPC koeficienty presnosti \n"
+"Voliteľné \n"
+"0 - predvolené \n"
+"min - 1 \n"
+"max - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "Minimal prediction order"
-msgstr ""
+msgstr "Minimálna predikcia poradia"
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:961
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"Minimálna predpoveď príkazu\n"
+"Voliteľná\n"
+"-1 - prevolená\n"
+"min - 0\n"
+"max - 32 (s LPC) or 4 (bez LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Maximal prediction order"
-msgstr ""
+msgstr "Maximálna predikcia poradia"
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:964
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"Maximálna predpoveď príkazu\n"
+"Voliteľná\n"
+"-1 - prevolená\n"
+"min - 0\n"
+"max - 32 (s LPC) or 4 (bez LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Prediction Order Method:"
-msgstr ""
+msgstr "Predikcia metódy poradia"
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:968
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
 msgstr ""
+"Predpoveď metódy príkazu\n"
+"Odhad - najrýchlejší, nižšia kompresia\n"
+"Prihlásené hľadanie - najpomalšie, najlepšia kompresia\n"
+" Úplné hľadanie - predvolené"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:970
 msgid "Minimal partition order"
-msgstr ""
+msgstr "Minimálnal partícia poradia"
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:971
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"Minimálny príkaz partície\n"
+"Voliteľnýl\n"
+"-1 - predvolený\n"
+"min - 0\n"
+"max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Maximal partition order"
-msgstr ""
+msgstr "Maximálna partícia poradia"
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:974
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"Maximálny príkaz partície\n"
+"Voliteľnýl\n"
+"-1 - predvolený\n"
+"min - 0\n"
+"max - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Use LPC"
-msgstr ""
+msgstr "Používanie LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:983
 msgid "MPEG container options"
-msgstr ""
+msgstr "Voľby MPEG zásobníka"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:987
 msgid "Mux Rate:"
-msgstr ""
+msgstr "Mux rýchlosť:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:988
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Maximálna prenosová rýchlosť multiplexovaného toku \n"
+"Voliteľná\n"
+"0 - predvolená"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Packet Size:"
-msgstr ""
+msgstr "Veľkosť paketu:"
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:991
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"Veľkosť paketu\n"
+"Voliteľný\n"
+"0 - predvolený"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1206
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Nemôžete vymazať predvoľbu bez názvu"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1210
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "Zmazať predvoľbu '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1229
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "Nemôžete uložiť predvoľbu bez názvu"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1269
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "Vyberte xml súbor s predvolieb na import"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:192
+#: export/ExportFFmpegDialogs.cpp:1272
+#: export/ExportFFmpegDialogs.cpp:1292
+#: prefs/KeyConfigPrefs.cpp:215
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "XML súbory (*.xml)|*.xml|Všetky súbory (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1292
+#: export/ExportFFmpegDialogs.cpp:1289
 msgid "Select xml file to export presets into"
-msgstr ""
+msgstr "Vybrať xml súboru pre export do predvolieb"
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1360
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Nepodarilo sa odhadnúť formát"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1402
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "Nepodarilo sa nájsť kodek"
 
-#: export/ExportFFmpegDialogs.h:53
+#: export/ExportFFmpegDialogs.h:54
 msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "M4A (AAC) Súbory (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:54
+#: export/ExportFFmpegDialogs.h:55
 msgid "AC3 Files (FFmpeg)"
-msgstr ""
+msgstr "AC3 Súbory (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
+#: export/ExportFFmpegDialogs.h:56
 msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr ""
+msgstr "AMR (úzke pásmo) Súbory (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:56
+#: export/ExportFFmpegDialogs.h:57
 msgid "AMR (wide band) Files (FFmpeg)"
-msgstr ""
+msgstr "AMR (široké pásmo) Súbory (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:57
+#: export/ExportFFmpegDialogs.h:58
 msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgstr "WMA (verzia 2) Súbory (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:58
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "Vlastný FFmpeg export"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
-msgstr ""
+msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
-msgstr ""
+msgstr "Nízka zložitosť"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
-msgstr ""
+msgstr "Hlavný profil"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
-msgstr ""
+msgstr "2-úroveň"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
-msgstr ""
+msgstr "4-úroveň"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
-msgstr ""
+msgstr "8-úroveň"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
-msgstr ""
+msgstr "Odhad"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
-msgstr ""
+msgstr "Úplné vyhľadávanie"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
-msgstr ""
+msgstr "Prihlásiť vyhľadávanie"
 
-#: export/ExportFLAC.cpp:68
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
-msgstr ""
+msgstr "Upresniť nastavenie FLAC"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
-msgstr ""
+msgstr "0 (rýchly test)"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:80
 msgid "1"
-msgstr ""
+msgstr "1"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:81
 msgid "2"
-msgstr ""
+msgstr "2"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:82
 msgid "3"
-msgstr ""
+msgstr "3"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:83
 msgid "4"
-msgstr ""
+msgstr "4"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:84
 msgid "5"
-msgstr ""
+msgstr "5"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:85
 msgid "6"
-msgstr ""
+msgstr "6"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:86
 msgid "7"
-msgstr ""
+msgstr "7"
 
-#: export/ExportFLAC.cpp:90
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
-msgstr ""
+msgstr "8 (najlepšie )"
 
-#: prefs/FileFormatPrefs.cpp:193
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
-msgstr ""
+msgstr "16 bit"
 
-#: prefs/FileFormatPrefs.cpp:194
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
-msgstr ""
+msgstr "24 bit"
 
-#: prefs/FileFormatPrefs.cpp:190
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
-msgstr ""
+msgstr "Nastavenie FLAC exportu"
 
-#: export/ExportFLAC.cpp:102
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
-msgstr ""
+msgstr "Úroveň:"
 
-#: prefs/FileFormatPrefs.cpp:197
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
-msgstr ""
+msgstr "Bitová hĺbka:"
 
-#: export/ExportFLAC.cpp:208
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
-msgstr ""
+msgstr "Súbory FLAC"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
-msgstr ""
+msgstr "Vybrané zvukové dáta sa exportujú ako FLAC"
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:311
 msgid "Exporting the entire project as FLAC"
-msgstr ""
+msgstr "Celý projekt sa exportuje ako FLAC"
 
 #: export/ExportMP2.cpp:108
 msgid "Specify MP2 Options"
-msgstr ""
+msgstr "Upresniť nastavenie MP2"
 
-#: prefs/FileFormatPrefs.cpp:204
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
-msgstr ""
+msgstr "Nastavenie exportu do MP2"
 
 #: export/ExportMP2.cpp:200
 msgid "MP2 Files"
-msgstr ""
+msgstr "MP2 Súbor"
 
-#: export/ExportMP2.cpp:94
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
-msgstr ""
+msgstr "S touto vzorkovacou a bitovou frekvenciou sa nedá exportovaľ  MP2"
 
-#: ../src/export/ExportMP3.cpp:1345
-#: ../src/export/ExportOGG.cpp:53
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1618
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Cieľový súbor nie je možné otvoriť pre čítanie"
 
-#: export/ExportMP2.cpp:144 export/ExportMP3.cpp:1680
+#: export/ExportMP2.cpp:272
 #, c-format
 msgid "Exporting selected audio at %d kbps"
-msgstr ""
+msgstr "Exportujú sa vybrané zvukové dáta do %d kbps"
 
-#: export/ExportMP2.cpp:145 export/ExportMP3.cpp:1681
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting entire file at %d kbps"
-msgstr ""
+msgstr "Exportuje sa celý súbor vo vzorkovaní %d kbps"
 
-#. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
-msgstr ""
+msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
-msgstr ""
+msgstr "(Najlepšia kvalita)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
-msgstr ""
+msgstr "(Menšie súbory)"
 
-#: export/ExportMP3.cpp:178
+#: export/ExportMP3.cpp:245
 msgid "Fast"
-msgstr ""
+msgstr "Rýchly"
 
-#: export/ExportMP3.cpp:179
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:41
+#: prefs/GUIPrefs.cpp:49
 msgid "Standard"
-msgstr ""
+msgstr "Å tandard"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
-msgstr ""
+msgstr "Nezmysel"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
-msgstr ""
+msgstr "Extrémny"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
-msgstr ""
+msgstr "Stredný"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
-msgstr ""
+msgstr "Upresniť nastavenia MP3"
 
-#: ../src/prefs/FileFormatPrefs.cpp:172
+#: export/ExportMP3.cpp:319
 msgid "MP3 Export Setup"
 msgstr "Nastavenie exportu do MP3"
 
-#: export/ExportMP3.cpp:271
+#: export/ExportMP3.cpp:326
 msgid "Bit Rate Mode:"
-msgstr ""
+msgstr "Režim vzorkovania:"
 
-#: export/ExportMP3.cpp:276
+#: export/ExportMP3.cpp:331
 msgid "Preset"
-msgstr ""
+msgstr "Predvoľba"
 
-#: export/ExportMP3.cpp:277
+#: export/ExportMP3.cpp:332
 msgid "Variable"
-msgstr ""
+msgstr "Premenná"
 
-#: export/ExportMP3.cpp:278
+#: export/ExportMP3.cpp:333
 msgid "Average"
-msgstr ""
+msgstr "Priemer"
 
-#: export/ExportMP3.cpp:279
+#: export/ExportMP3.cpp:334
 msgid "Constant"
-msgstr ""
+msgstr "Konštantná"
 
-#: ../src/prefs/PrefsDialog.cpp:85
+#: export/ExportMP3.cpp:373
+#: prefs/QualityPrefs.cpp:42
+#: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Kvalita"
 
-#: export/ExportMP3.cpp:324
+#: export/ExportMP3.cpp:379
 msgid "Variable Speed:"
-msgstr ""
+msgstr "Premenlivá rýchlosť:"
 
-#: export/ExportMP3.cpp:331
+#: export/ExportMP3.cpp:386
 msgid "Channel Mode:"
-msgstr ""
+msgstr "Režim kanálu:"
 
-#: export/ExportMP3.cpp:336
+#: export/ExportMP3.cpp:391
 msgid "Joint Stereo"
-msgstr ""
+msgstr "Spoločné Stereo"
 
-#: export/ExportMP3.cpp:337
+#: export/ExportMP3.cpp:392
 msgid "Stereo"
-msgstr ""
+msgstr "Stereo"
 
-#: export/ExportMP3.cpp:481
+#: export/ExportMP3.cpp:536
 msgid "Locate Lame"
-msgstr ""
+msgstr "Nájsť Lame"
 
-#: export/ExportMP3.cpp:501
+#: export/ExportMP3.cpp:556
 #, c-format
 msgid "Audacity needs the file %s to create MP3s."
-msgstr ""
+msgstr "K ukladaniu vo  formáte MP3 Audacity potrebuje súbor %s ."
 
-#: export/ExportMP3.cpp:523
+#: export/ExportMP3.cpp:578
 msgid "To get a free copy of Lame, click here -->"
-msgstr ""
+msgstr "Voľne dostupnú kópiu Lame získate kliknutím sem  -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"Tie sú prepojené s lame_enc.dll v%d.%d. Táto verzia nie je kompatibilná s Audacity %d.%d.%d.\n"
+"Prosím, stiahnite si poslednú verziu  LAME MP3 knižnice."
 
-#: ../src/export/ExportMP3.cpp:1116
+#: export/ExportMP3.cpp:1327
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Len lame_enc.dll|lame_enc.dll|Dynamicky linkované knižnice (*.dll)|*.dll|Všetky soubory (*.*)|*"
 
-#: export/ExportMP3.cpp:536
+#: export/ExportMP3.cpp:1345
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Iba libmp3lame.dylib|libmp3lame.dylib|Dynamické knižnice (*.dylib)|*.dylib|All Files (*)|*"
 
-#: export/ExportMP3.cpp:1567
-#, fuzzy
+#: export/ExportMP3.cpp:1363
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Len libmp3lame.so|libmp3lame.so|Súbory primárne zdieľaných objektov (*.so)|*.so|Rozšírené knižnice (*.so*)|*.so*|Všetky súbory (*)|*"
 
-#: export/ExportMP3.cpp:1592
+#: export/ExportMP3.cpp:1499
 msgid "MP3 Files"
-msgstr ""
+msgstr "MP3 Súbor"
 
-#: ../src/export/ExportMP3.cpp:1328
+#: export/ExportMP3.cpp:1523
 msgid "Could not open MP3 encoding library!"
 msgstr "Nie je možné otvoriť knižnicu pre prevod do MP3!"
 
-#: ../src/export/ExportMP3.cpp:1335
+#: export/ExportMP3.cpp:1530
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Toto nie je správna alebo podporovaná knižnica pre kódovanie do MP3."
 
-#: export/ExportMP3.cpp:1699
+#: export/ExportMP3.cpp:1607
 msgid "Unable to initialize MP3 stream"
-msgstr ""
+msgstr "Nedá sa inicializovať MP3 tok"
 
-#: export/ExportMP3.cpp:1744
+#: export/ExportMP3.cpp:1650
 #, c-format
 msgid "Exporting selected audio with %s preset"
-msgstr ""
+msgstr "Exportujú sa vybrané zvukové dáta s predvoľbou %s"
 
-#: export/ExportMP3.cpp:1745
+#: export/ExportMP3.cpp:1651
 #, c-format
 msgid "Exporting entire file with %s preset"
-msgstr ""
+msgstr "Exportuje sa celý súbor s predvoľbou %s "
 
-#: export/ExportMP3.cpp:1750
+#: export/ExportMP3.cpp:1656
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
-msgstr ""
+msgstr "Exportujú sa vybrané zvukové dáta v premenlivou kvalitou (VBR) %s"
 
-#: export/ExportMP3.cpp:1751
+#: export/ExportMP3.cpp:1657
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
-msgstr ""
+msgstr "Exportuje sa celý súbor v premenlivom vzorkovaní (VBR) %s"
 
-#: export/ExportMP3.cpp:1756
+#: export/ExportMP3.cpp:1662
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
-msgstr ""
+msgstr "Exportujú sa vybrané zvukové dáta pri %d Kbps"
 
-#: export/ExportMP3.cpp:1757
+#: export/ExportMP3.cpp:1663
 #, c-format
 msgid "Exporting entire file at %d Kbps"
-msgstr ""
+msgstr "Exportuje sa celý súbor vo vzorkovaní %d Kbps"
 
-#: export/ExportMP3.cpp:1790
+#: export/ExportMP3.cpp:1697
 #, c-format
 msgid "Error %d returned from MP3 encoder"
-msgstr ""
+msgstr "Chyba %d vrátená z MP3 enkódera"
 
-#: export/ExportMP3.cpp:1876
+#: export/ExportMP3.cpp:1785
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr ""
+"Projekt vzorkovej sady (%d) nie je podporovaným MP3 \n"
+"  súborovým formátom. "
 
-#: export/ExportMP3.cpp:1879
+#: export/ExportMP3.cpp:1788
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
 msgstr ""
+"Projekt vzorkovej sady (%d) a prenosová rýchlosť (%d kbps) ich kombinácia nie je \n"
+"  podporovaných  MP3 súborovým formátom."
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Knižnica exportu MP3 nenájdená"
 
-#: ../src/export/ExportMultiple.cpp:367
-#: ../src/export/ExportMultiple.cpp:474
-#: ../src/export/ExportMultiple.cpp:562
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:670
+#: export/ExportMultiple.cpp:847
 msgid "Export Multiple"
 msgstr "Viacnásobný export"
 
-#: ../src/export/ExportMultiple.cpp:487
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Pokiaľ máte viac ako jednu zvukovú stopu, môžete exportovať každú do zvláštneho súboru.\n"
-"Pokiaľ máte popisovú stoup, môžete exportovať nový súbor pre každý popis.\n"
+msgstr ""
+"Pokiaľ máte viac ako jednu zvukovú stopu, môžete exportovať každú do samostatného súboru.\n"
+"alebo ak máte popisovú stopu, môžete exportovať nový súbor pre každý popis.\n"
 "\n"
 "Tento projekt neobsahuje viac stôp, ani popisovú stopu, takže viacnásobný export nie je možné použiť."
 
-#: ../src/export/ExportMultiple.cpp:493
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Viacnásobný export nie je možný "
 
-#: ../src/export/ExportMultiple.cpp:576
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Formát exportu:"
 
-#: export/ExportMultiple.cpp:195
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
-msgstr ""
+msgstr "Možnosti..."
 
-#: ../src/export/ExportMultiple.cpp:594
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Umiestnenie exportu:"
 
-#: ../src/export/ExportMultiple.cpp:600
-#: ../src/prefs/DirectoriesPrefs.cpp:82
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:92
 msgid "Choose..."
 msgstr "Zvoliť..."
 
-#: export/ExportMultiple.cpp:205
+#: export/ExportMultiple.cpp:243
 msgid "Create"
-msgstr ""
+msgstr "Vytvoriť"
 
-#: ../src/export/ExportMultiple.cpp:612
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Rozdeliť súbory na základe:"
 
-#: ../src/export/ExportMultiple.cpp:615
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Popisy"
 
-#: ../src/export/ExportMultiple.cpp:623
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Pred prvý popis vložiť zvukový záznam"
 
-#: ../src/export/ExportMultiple.cpp:629
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Prvé meno súboru:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
-msgstr ""
+msgstr "Prvé meno súboru"
 
-#: ../src/export/ExportMultiple.cpp:636
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
 msgid "Tracks"
 msgstr "Stopy"
 
-#: ../src/export/ExportMultiple.cpp:646
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Pomenovať súbory:"
 
-#: ../src/export/ExportMultiple.cpp:649
-#, fuzzy
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
-msgstr "Použiť popis/meno stopy"
+msgstr "Použi popis/Názov stopy"
 
-#: ../src/export/ExportMultiple.cpp:655
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Postupné číslovanie"
 
-#: ../src/export/ExportMultiple.cpp:660
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Predpona mena súboru:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
-msgstr ""
+msgstr "Predpona mena súboru"
 
-#: ../src/export/ExportMultiple.cpp:677
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Prepísať existujúce súbory"
 
-#: export/ExportMultiple.cpp:360
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
-msgstr ""
+msgstr "\"%s\" úspešne vytvorené."
 
-#: ../src/export/ExportMultiple.cpp:766
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Zvoľte umiestnenie pre exportované súbory"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:538
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
 msgstr ""
+"\"%s\" neexistuje.\n"
+"\n"
+"Chcete ho vytvoriť?"
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:640
+#: export/ExportMultiple.cpp:785
 msgid "Edit metadata"
-msgstr ""
+msgstr "Upraviť metadata"
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:844
 #, c-format
 msgid "Successfully exported %d file(s)."
-msgstr ""
+msgstr "%d súbor bol úspešne vyexportovaný."
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:668
+#: export/ExportMultiple.cpp:845
 #, c-format
 msgid "Something went wrong after exporting %d file(s)."
-msgstr ""
+msgstr "Po exporte %d súboru došlo k chybám."
 
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:899
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
 msgstr ""
+"Popis %s nie je právnym názov súboru. Nie je možné použiť niektorý z: %s \n"
+"Použitie ..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
-msgstr ""
+msgstr "Upresniť nastavenie Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
-msgstr ""
+msgstr "Nastavenie exportu do Ogg Vorbis"
 
 #: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
-msgstr ""
+msgstr "Ogg Vorbis Súbor"
 
-#: ../src/export/ExportOGG.cpp:191
+#: export/ExportOGG.cpp:255
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Exportujem zvolené audio ako Ogg Vorbis"
 
-#: ../src/export/ExportOGG.cpp:192
+#: export/ExportOGG.cpp:256
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Exportujem celý projekt ako Ogg Vorbis"
 
-#: export/ExportPCM.cpp:116
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
-msgstr ""
+msgstr "Upresniť nastavenie nekomprimovaného formátu"
 
-#: export/ExportPCM.cpp:171
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
-msgstr ""
+msgstr "Nastavenie nekomprimovaného exportu"
 
-#: export/ExportPCM.cpp:181
+#: export/ExportPCM.cpp:195
 msgid "Header:"
-msgstr ""
+msgstr "Hlavička:"
 
-#: export/ExportPCM.cpp:185
-#, fuzzy
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:369
 msgid "Encoding:"
-msgstr "Enkódujem:"
+msgstr "Kódovanie:"
 
-#: export/ExportPCM.cpp:190
-#, fuzzy
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
-msgstr "(Nie všetky kombinácie hlavičiek\n"
-"a kódovania sú možné.)"
+msgstr "(Nie všetky kombinácie hlavičiek a kódovaní sú možné.)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "Ďaľšie nekomprimované súbory"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) označený 16 bit PCM"
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) označený 16 bit PCM"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobile)"
 
-#: ../src/export/ExportPCM.cpp:73
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Audio nie je možné exportovať v tomto formáte."
 
-#: export/ExportPCM.cpp:400
+#: export/ExportPCM.cpp:518
 #, c-format
 msgid "Exporting the selected audio as %s"
-msgstr ""
+msgstr "Vybrané zvukové dáta sa exportujú ako  %s"
 
-#: export/ExportPCM.cpp:402
+#: export/ExportPCM.cpp:520
 #, c-format
 msgid "Exporting the entire project as %s"
-msgstr ""
+msgstr "Celý projekt sa exportuje ako %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:436
+#: export/ExportPCM.cpp:556
 #, c-format
-#, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Chyba (súbor možno nebol zapísaný): %s"
 
 #: export/ExportPCM.cpp:723
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Nie sú žiadne možnosti pre tento formát.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
@@ -6812,1248 +7407,1365 @@ msgstr ""
 #. * when it comes up on it's own.
 #: export/ExportPCM.cpp:728
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Ak potrebujete väčšiu kontrolu nad exportom formátu použite prosím 'Ostatné nekomprimované súbory' formátu."
 
 #: export/ExportPCM.cpp:733
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Váš súbor bude exportovaný ako 16-bit AIFF (Apple/SGI) súbor.\n"
 
 #: export/ExportPCM.cpp:738
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Váš súbor bude exportovaný ako 16-bit WAV (Microsoft) súbor.\n"
 
 #: export/ExportPCM.cpp:743
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Váš súbor bude exportovaný ako GSM 6.10 WAV súbor.\n"
 
-#: import/ImportMP3.cpp:78
+#: import/Import.cpp:162
+#: import/ImportMP3.cpp:47
 msgid "MP3 files"
-msgstr ""
+msgstr "MP3 Súbor"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "Vybrať tok(y) na importovanie"
 
-#: ../src/import/Import.cpp:159
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Táto verzia Audacity nebola kompilovaná s podporou %s."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
+"\"%s\" \n"
+"je MIDI súbor, nie audio súbor. \n"
+"Audacity nedokáže otvoriť tento typ súboru pre prehrávanie, ale môžete \n"
+"ho upraviť ale môžete ho aspoň zobraziť, keď kliknete na  File > Import > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:167
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zvuková stopa CD. \n"
+"Audacity tieto stopy nedokáže  priamo otvoriť. \n"
+"Preveďte (rippnite) CD stopy do niektorého z formátov,  \n"
+"ktoré Audacity dokáže  importovať. napr: WAV alebo AIFF."
 
-#: import/Import.cpp:173
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
 msgstr ""
+"\"%s\"  je zoznam súborov k prehrávaniu (playlist).\n"
+"Audacity tento súbor nemôže otvoriť pretože obsahuje iba odkazy na iné súbory.\n"
+"Dá sa ale otvoriť v textovom editore a jednotlivé súbory stiahnuť."
 
-#: import/Import.cpp:178
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zvukový súbor Windows Media.\n"
+"Audacity tento  typ súboru  nevie otvoriť, pre obmedzenie patentom.\n"
+"Treba urobiť konverziu na podporovaný zvukový formát, napr. WAV alebo AIFF."
 
-#: import/Import.cpp:183
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je súbor Advanced Audio Coding.\n"
+"Audacity tento  typ súboru  nevie otvoriť.\n"
+"Treba urobiť konverziu na podporovaný zvukový formát, napr. WAV alebo AIFF."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zakódovaný zvukový súbor. \n"
+"Toto je typické z on-line obchodu s hudbou. \n"
+"Kvôli zakódovaniu Audacity nedokáže tento súbor otvoriť. \n"
+"Skúste ho nahrať do Audacity alebo vypáliť na CD a potom  \n"
+"extrahovať do niektorého podporovaného audio formátu, ako je WAV alebo AIFF."
 
-#: import/Import.cpp:193
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je súbor pre RealPlayer .\n"
+"Audacity tento proprietárny typ súboru  nevie otvoriť.\n"
+"Treba urobiť konverziu na podporovaný zvukový formát, napr. WAV alebo AIFF."
 
-#: import/Import.cpp:282
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
 msgstr ""
+"\"%s\" je súbor obsahujúci noty, nie audio súbor. \n"
+"Audacity tento typ súboru nevie otvoriť. \n"
+"Skúste ho previesť do zvukového formátu napr.  WAV alebo AIFF \n"
+"a potom importovať alebo nahrať do Audacity."
 
-#: import/Import.cpp:288
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zvukový súbor Musepack. \n"
+"Audacity tento typ súboru  nevie otvoriť.\n"
+"Ak si myslite, že  ide  o mp3 súbor, zmente jeho príponu na \".mp3\" \n"
+"a pokúste sa ho importovať znovu. V prípade neúspechu musíte urobiť prevod \n"
+"na podporovaný formát, napr. WAV nebo AIFF."
 
-#: import/Import.cpp:294
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zvukový súbor Wavpack.\n"
+"Audacity tento typ súboru  nevie otvoriť.\n"
+"Treba urobiť konverziu na podporovaný zvukový formát, napr. WAV alebo AIFF."
 
-#: import/Import.cpp:300
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zvukový súbor Dolby Digital.\n"
+"Audacity tento typ súboru v súčasnej dobe nevie otvoriť.\n"
+"Treba urobiť konverziu na podporovaný zvukový formát, napr. WAV alebo AIFF."
 
-#: import/Import.cpp:306
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je zvukový súbor Ogg Speex. \n"
+"Audacity tento typ súboru v súčasnej dobe nevie otvoriť.\n"
+"Treba urobiť konverziu na podporovaný zvukový formát, napr. WAV alebo AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" je video súbor. \n"
+"Audacity tento typ súboru v súčasnej dobe nevie otvoriť. \n"
+"Musíte extrahovať audio do podporovaného formátu, ako WAV alebo AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
+"Audacity nerozpoznal typ súboru '%s'.\n"
+"Ak je nekomprimovaný, skúste ho imporovať použitím \"Import Raw\"."
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
 msgstr ""
+"Audacity rozpoznal typ súboru '%s',\n"
+"ale nie je schopný importovať ho."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "FFmpeg-kompatibilné súbory"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Index[%02x] Kodek[%S], Jazyk[%S], Bitová rýchlosť[%S], Kanále[%d], Dĺžka[%d]"
 
-#: import/ImportFLAC.cpp:35
+#: import/ImportFLAC.cpp:43
 msgid "FLAC files"
-msgstr ""
+msgstr "FLAC súbor"
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "GStreamer-kompatibilné súbory"
+
+#: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Zoznam súborov jednoduchého textu"
 
-#  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:268
+#: import/ImportLOF.cpp:314
 msgid "Invalid window offset in LOF file."
 msgstr "Chybná pozícia okna v LOF súbore."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364
-#: ../src/import/ImportLOF.cpp:384
+#: import/ImportLOF.cpp:316
+#: import/ImportLOF.cpp:337
+#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "LOF chyba"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:289
+#: import/ImportLOF.cpp:335
 msgid "Invalid duration in LOF file."
 msgstr "Chybná dĺžka LOF súboru."
 
-#: import/ImportLOF.cpp:407
-#, fuzzy
+#: import/ImportLOF.cpp:417
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
-msgstr "MIDI stopy nemôžu byť posunuté zvlášť, len zvukové súbory."
+msgstr "MIDI stopy nemôžu byť posunuté individuálne, môžeme to urobiť iba u zvukových súborov."
 
-#  i18n-hint: You do not need to translate "LOF"
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:383
+#: import/ImportLOF.cpp:438
 msgid "Invalid track offset in LOF file."
-msgstr "Chybná pozícia stopy v LOF súbore."
+msgstr "Chybná posunutie stopy v LOF súbore."
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ": Meno súboru príliš krátke."
 
-#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31
+#: import/ImportMIDI.cpp:39
+#: import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "Nie je možné otvoriť súbor"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ": Nesprávny formát súboru."
 
-#: import/ImportOGG.cpp:35
+#: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
-msgstr ""
+msgstr "Ogg Vorbis súbor"
 
-#: ../src/import/ImportOGG.cpp:124
+#: import/ImportOGG.cpp:184
 msgid "Media read error"
 msgstr "Chyba pri čítaní média"
 
-#: ../src/import/ImportOGG.cpp:127
+#: import/ImportOGG.cpp:187
 msgid "Not an Ogg Vorbis file"
 msgstr "Toto nie je súbor Ogg Vorgis"
 
-#: ../src/import/ImportOGG.cpp:130
+#: import/ImportOGG.cpp:190
 msgid "Vorbis version mismatch"
 msgstr "Zmätok vo verzii Vorbisu"
 
-#: ../src/import/ImportOGG.cpp:133
+#: import/ImportOGG.cpp:193
 msgid "Invalid Vorbis bitstream header"
 msgstr "Chybná hlavička dátového toku Vorbis"
 
-#: ../src/import/ImportOGG.cpp:136
+#: import/ImportOGG.cpp:196
 msgid "Internal logic fault"
 msgstr "Vnútorná logická chyba"
 
-#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
-msgstr ""
+msgstr "WAV, AIFF, a ďaľšie nekomprimované typy"
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:203
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "Importovanie %s"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
-msgstr ""
+msgstr "QuickTime súbor"
 
 #: import/ImportRaw.cpp:205
 msgid "Import Raw"
-msgstr ""
+msgstr "Importovať Raw "
 
-#: ../src/import/ImportRaw.cpp:256
+#: import/ImportRaw.cpp:285
 msgid "Import Raw Data"
 msgstr "Importovať Raw data"
 
-#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#  know the correct technical word.
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#: ../src/import/ImportRaw.cpp:299
+#. know the correct technical word.
+#: import/ImportRaw.cpp:330
 msgid "No endianness"
-msgstr "Bez endianness"
+msgstr "No endianness"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#: ../src/import/ImportRaw.cpp:302
+#. know the correct technical word.
+#: import/ImportRaw.cpp:333
 msgid "Little-endian"
 msgstr "Little-endian"
 
-#  i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#  know the correct technical word.
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#: ../src/import/ImportRaw.cpp:305
+#. know the correct technical word.
+#: import/ImportRaw.cpp:336
 msgid "Big-endian"
 msgstr "Big-endian"
 
-#  i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#  know the correct technical word.
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#: ../src/import/ImportRaw.cpp:308
+#. know the correct technical word.
+#: import/ImportRaw.cpp:339
 msgid "Default endianness"
-msgstr "Štandardná endianness"
+msgstr "Default endianness"
 
-#: ../src/import/ImportRaw.cpp:332
+#: import/ImportRaw.cpp:358
 msgid "1 Channel (Mono)"
 msgstr "1 kanál (Mono)"
 
-#: ../src/import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:359
 msgid "2 Channels (Stereo)"
 msgstr "2 kanály (Stereo)"
 
-#: ../src/import/ImportRaw.cpp:335
+#: import/ImportRaw.cpp:361
 #, c-format
 msgid "%d Channels"
 msgstr "%d kanálov"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:372
 msgid "Byte order:"
-msgstr ""
+msgstr "Poradie bytov:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:375
 msgid "Channels:"
-msgstr ""
+msgstr "Kanály:"
 
-#: ../src/import/ImportRaw.cpp:348
+#: import/ImportRaw.cpp:385
 msgid "Start offset:"
 msgstr "Počiatočný posun:"
 
-#: ../src/import/ImportRaw.cpp:359
+#: import/ImportRaw.cpp:391
 msgid "Amount to import:"
 msgstr "Rozsah k načítaniu:"
 
-#: ../src/import/ImportRaw.cpp:370
+#: import/ImportRaw.cpp:397
 msgid "Sample rate:"
 msgstr "Rýchlosť vzorkovania:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "Import dokončený. Prepočítava sa krivka"
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "Dekódovanie krivky "
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%% kompletné. Kliknite pre zmenu úlohy záchytného bodu."
 
-#: ../src/prefs/PrefsDialog.cpp:84
+#: prefs/AudioIOPrefs.cpp:42
+#: prefs/AudioIOPrefs.cpp:43
+#: prefs/MidiIOPrefs.cpp:44
+#: prefs/MidiIOPrefs.cpp:45
 msgid "Audio I/O"
 msgstr "Audio vstup/výstup (I/O)"
 
-#: ../src/prefs/AudioIOPrefs.cpp:212
+#: prefs/AudioIOPrefs.cpp:104
+#: prefs/MidiIOPrefs.cpp:99
 msgid "1 (Mono)"
 msgstr "1 (Mono)"
 
-#: ../src/prefs/AudioIOPrefs.cpp:213
+#: prefs/AudioIOPrefs.cpp:105
+#: prefs/MidiIOPrefs.cpp:100
 msgid "2 (Stereo)"
 msgstr "2 (Stereo)"
 
-#: ../src/prefs/AudioIOPrefs.cpp:80
+#: prefs/AudioIOPrefs.cpp:119
+#: prefs/MidiIOPrefs.cpp:114
 msgid "Playback"
 msgstr "Prehrávanie"
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
+#: prefs/AudioIOPrefs.cpp:123
+#: prefs/AudioIOPrefs.cpp:141
+#: prefs/MidiIOPrefs.cpp:118
+#: prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
 msgid "Device"
-msgstr ""
+msgstr "Zariadenie"
 
-#: prefs/AudioIOPrefs.cpp:122
+#: prefs/AudioIOPrefs.cpp:126
+#: prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
-msgstr ""
+msgstr "Používa:"
 
-#: prefs/AudioIOPrefs.cpp:123
+#: prefs/AudioIOPrefs.cpp:127
+#: prefs/MidiIOPrefs.cpp:122
 msgid "Portaudio v"
-msgstr ""
+msgstr "Audio port v"
 
-#: ../src/prefs/AudioIOPrefs.cpp:148
+#: prefs/AudioIOPrefs.cpp:137
+#: prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
 msgstr "Nahrávanie"
 
-#: prefs/AudioIOPrefs.cpp:139
+#: prefs/AudioIOPrefs.cpp:143
+#: prefs/MidiIOPrefs.cpp:138
 msgid "Channels"
-msgstr ""
+msgstr "Kanál"
 
-#: prefs/AudioIOPrefs.cpp:145
+#: prefs/AudioIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:144
 msgid "Playthrough"
-msgstr ""
+msgstr "Prehrávanie cez"
 
-#: prefs/AudioIOPrefs.cpp:149
+#: prefs/AudioIOPrefs.cpp:151
 msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
+msgstr "Overdub: Popri  nahrávaní novej stopy &prehrávať ostatné"
 
-#: prefs/AudioIOPrefs.cpp:150
+#: prefs/AudioIOPrefs.cpp:154
 msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
+msgstr "&Hardware Playthrough:Popri nahrávaní novej stopy ju zároveň prehrávať"
 
-#: prefs/AudioIOPrefs.cpp:152
+#: prefs/AudioIOPrefs.cpp:156
 msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
+msgstr "&Software Playthrough:Popri nahrávaní novej stopy ju zároveň prehrávať"
 
-#: prefs/AudioIOPrefs.cpp:157
+#: prefs/AudioIOPrefs.cpp:159
 msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
+msgstr "&Software Playthrough: Prehrávať novú stopu pokiaľ nahrávame alebo monitorujeme"
 
-#: prefs/AudioIOPrefs.cpp:160
+#: prefs/AudioIOPrefs.cpp:162
 msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
+msgstr "(nepotvrdzovať pri nahrávaní  \"stereo mixu \")"
 
-#: prefs/AudioIOPrefs.cpp:194
+#: prefs/AudioIOPrefs.cpp:170
+#: prefs/MidiIOPrefs.cpp:193
 msgid "Effects Preview"
-msgstr ""
+msgstr "Skúšky efektov"
 
-#: prefs/AudioIOPrefs.cpp:165
+#: prefs/AudioIOPrefs.cpp:173
 msgid "Length of preview:"
-msgstr ""
+msgstr "Dĺžka skúšky:"
 
-#: prefs/AudioIOPrefs.cpp:158
+#: prefs/AudioIOPrefs.cpp:178
+#: prefs/MidiIOPrefs.cpp:157
 msgid "Cut Preview"
-msgstr ""
+msgstr "Oddeliť skúšku"
 
-#: prefs/AudioIOPrefs.cpp:173
+#: prefs/AudioIOPrefs.cpp:181
 msgid "Preview before cut region:"
-msgstr ""
+msgstr "Zobraziť pred oddelením okruhu:"
 
-#: prefs/AudioIOPrefs.cpp:175
+#: prefs/AudioIOPrefs.cpp:183
 msgid "Preview after cut region:"
-msgstr ""
+msgstr "Zobraziť po oddelení okruhu:"
 
-#: prefs/AudioIOPrefs.cpp:168
+#: prefs/AudioIOPrefs.cpp:191
+#: prefs/MidiIOPrefs.cpp:167
 msgid "Latency"
-msgstr ""
+msgstr "Latencia"
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
+#: prefs/AudioIOPrefs.cpp:197
+msgid ""
+"Audio to buffer:\n"
 "(higher = more latency)"
 msgstr ""
+"Vyrovnávacia pamäť:\n"
+"(vyššia = väčšia latencia)"
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
+#: prefs/AudioIOPrefs.cpp:201
+msgid ""
+"Latency correction:\n"
 "(negative = backwards)"
 msgstr ""
+"Úprava latencie:\n"
+"(záporna = naspäť)"
 
-#: prefs/AudioIOPrefs.cpp:197
+#: prefs/AudioIOPrefs.cpp:207
 msgid "Seek Time when playing"
-msgstr ""
+msgstr "Hľadať čas na prehrávanie"
 
-#: prefs/AudioIOPrefs.cpp:187
+#: prefs/AudioIOPrefs.cpp:210
+#: prefs/MidiIOPrefs.cpp:186
 msgid "Short period:"
-msgstr ""
+msgstr "Krátka perioda:"
 
-#: prefs/AudioIOPrefs.cpp:189
+#: prefs/AudioIOPrefs.cpp:212
+#: prefs/MidiIOPrefs.cpp:188
 msgid "Long period:"
-msgstr ""
+msgstr "Dlhá perioda:"
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+#: prefs/AudioIOPrefs.cpp:253
+msgid "Playback and Recording device must use the same type, i.e., MME, DirectSound, etc."
+msgstr "Prehrávacie a nahrávacie zariadenie musí používať rovnaký typ, tj., MME, DirectSound, atď."
+
+#: prefs/BatchPrefs.cpp:55
+#: prefs/BatchPrefs.cpp:56
 msgid "Batch"
-msgstr ""
+msgstr "Dávka"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+#: prefs/BatchPrefs.cpp:77
+#: prefs/GUIPrefs.cpp:92
 msgid "Behaviors"
-msgstr ""
+msgstr "Správanie"
 
 #: prefs/BatchPrefs.cpp:80
 msgid "&Don't apply effects in batch mode"
-msgstr ""
+msgstr "&Neaplikovať efekty v dávkovom režime"
 
 #: prefs/BatchPrefs.cpp:83
+#: prefs/GUIPrefs.cpp:132
 msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+msgstr "Režim Cl&eanSpeech (Uživateľské rozhranie)"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-#: ../src/prefs/PrefsDialog.cpp:216
+#: prefs/DirectoriesPrefs.cpp:55
+#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/PrefsDialog.cpp:267
 msgid "Directories"
 msgstr "Adresáre"
 
 #: prefs/DirectoriesPrefs.cpp:87
 msgid "Temporary files directory"
-msgstr ""
+msgstr "Adresár dočasných súborov"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:57
+#: prefs/DirectoriesPrefs.cpp:91
 msgid "Location:"
 msgstr "Umiestnenie:"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:78
+#: prefs/DirectoriesPrefs.cpp:93
 msgid "Free Space:"
 msgstr "Voľné miesto:"
 
 #: prefs/DirectoriesPrefs.cpp:99
 msgid "Auto save"
-msgstr ""
+msgstr "Automatické ukladanie"
 
 #: prefs/DirectoriesPrefs.cpp:101
 msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
+msgstr "Automatické ukladanie kópie projektu v samostatnej zložke"
 
 #: prefs/DirectoriesPrefs.cpp:104
 msgid "Auto save interval:"
-msgstr ""
+msgstr "Interval automatického ukladania:"
 
 #: prefs/DirectoriesPrefs.cpp:105
 msgid "minutes"
-msgstr ""
+msgstr "minúty"
 
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
-msgstr ""
+msgstr "Zvuková vyrovnávacia pamäť"
 
 #: prefs/DirectoriesPrefs.cpp:112
 msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr ""
+msgstr "Prehrať a/alebo nahrávať pomocou RAM (užitočné pre pomalé disky, ale mohlo by padnúť s dlhými súbormi alebo záznamamy na nosičoch)"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:135
+#: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Zvoľte umiestnenie pre dočasný adresár"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:181
+#: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "Adresár %s neexistuje. Vytvoriť?"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:183
+#: prefs/DirectoriesPrefs.cpp:168
 msgid "New Temporary Directory"
 msgstr "Nový dočasný adresár"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:202
+#: prefs/DirectoriesPrefs.cpp:187
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "Do adresára %s nie je možné zapisovať"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:214
+#: prefs/DirectoriesPrefs.cpp:199
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Zmena dočasného adresára sa prejaví až po reštarte Audacity."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+#: prefs/FileFormatPrefs.cpp:53
+#: prefs/FileFormatPrefs.cpp:54
 msgid "Import / Export"
-msgstr ""
+msgstr "Import / Export"
 
 #: prefs/FileFormatPrefs.cpp:84
 msgid "MP3 Export Library"
-msgstr ""
+msgstr "MP3 výstupné knižnice"
 
-#: ../src/prefs/FileFormatPrefs.cpp:180
+#: prefs/FileFormatPrefs.cpp:87
 msgid "MP3 Library Version:"
 msgstr "Verzia MP3 knižnice:"
 
 #: prefs/FileFormatPrefs.cpp:93
 msgid "MP3 Library:"
-msgstr ""
+msgstr "MP3 knižnice:"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+#: prefs/FileFormatPrefs.cpp:96
+#: prefs/FileFormatPrefs.cpp:120
 msgid "&Locate..."
-msgstr ""
+msgstr "&Hľadať..."
 
 #: prefs/FileFormatPrefs.cpp:98
 msgid "LAME MP3 Library:"
-msgstr ""
+msgstr "Knižnica LAME MP3:"
 
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+#: prefs/FileFormatPrefs.cpp:101
+#: prefs/FileFormatPrefs.cpp:125
 msgid "&Download"
-msgstr ""
+msgstr "&Stiahnuť"
 
 #: prefs/FileFormatPrefs.cpp:106
 msgid "FFmpeg Import/Export Library"
-msgstr ""
+msgstr "Import/Export FFmpeg  knižnice"
 
 #: prefs/FileFormatPrefs.cpp:109
 msgid "FFmpeg Library Version:"
-msgstr ""
+msgstr "Verzia FFmpeg knižnice:"
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+#: prefs/FileFormatPrefs.cpp:118
+#: prefs/FileFormatPrefs.cpp:122
 msgid "FFmpeg Library:"
-msgstr ""
+msgstr "FFmpeg knižnica:"
 
 #: prefs/FileFormatPrefs.cpp:136
 msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
+msgstr "Poznámka: Nastavenia kvality exportu si  možeme vybrať kliknutím na tlačidlo Možnosti v dialógovom okne Export.\n"
 
 #: prefs/FileFormatPrefs.cpp:137
 msgid "When importing audio files"
-msgstr ""
+msgstr "Pri importovaní audio súboru"
 
 #: prefs/FileFormatPrefs.cpp:140
 msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
+msgstr "Pred editáciou v&ytvoriť kópiu nekomprimovaného súboru (bezpečnejšie)"
 
 #: prefs/FileFormatPrefs.cpp:141
 msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
+msgstr "&Čítať nekomprimovaný audio súbor priamo z pôvodného súboru (rýchlejšie)"
 
 #: prefs/FileFormatPrefs.cpp:143
 msgid "&Normalize all tracks in project"
-msgstr ""
+msgstr "&Normalizovať všetky stopy v projekte"
 
-#: prefs/FileFormatPrefs.cpp:132
+#: prefs/FileFormatPrefs.cpp:148
 msgid "When saving a project that depends on other audio files"
-msgstr ""
+msgstr "Pri ukladaní projektu, ktorý závisí na ďaľších zvukových súboroch"
 
-#: prefs/FileFormatPrefs.cpp:87
+#: prefs/FileFormatPrefs.cpp:151
 msgid "Always &copy all audio into project (safest)"
-msgstr ""
+msgstr "Vždy &kopírovať všetky zvukové dáta do projektu (nejbezpečnejšie)"
 
-#: prefs/FileFormatPrefs.cpp:88
+#: prefs/FileFormatPrefs.cpp:152
 msgid "&Do not copy any audio"
-msgstr ""
+msgstr "&Nekopírovať žiadne zvukové dáta"
 
-#: prefs/FileFormatPrefs.cpp:135
+#: prefs/FileFormatPrefs.cpp:153
 msgid "&Ask user"
-msgstr ""
+msgstr "Opýtať sa užívateľa"
 
-#: prefs/FileFormatPrefs.cpp:93
+#: prefs/FileFormatPrefs.cpp:157
 msgid "When exporting tracks to an audio file"
-msgstr ""
+msgstr "Pri exportovaní stôp do audio súboru"
 
-#: prefs/FileFormatPrefs.cpp:144
+#: prefs/FileFormatPrefs.cpp:160
 msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr ""
+msgstr "&Vždy miešať stopy do stereo alebo mono kanálu(ov)."
 
-#: prefs/FileFormatPrefs.cpp:97
+#: prefs/FileFormatPrefs.cpp:161
 msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
+msgstr "Po&užiť uživateľský mix (napríklad export do multikanálového súboru 5.1)"
 
-#: prefs/BatchPrefs.cpp:91
+#: prefs/FileFormatPrefs.cpp:163
 msgid "S&how Metadata Editor prior to export step"
-msgstr ""
+msgstr "Pred prevedením exportu zob&raziť editor metadat "
 
-#: ../src/prefs/PrefsDialog.cpp:89
+#: prefs/GUIPrefs.cpp:34
+#: prefs/GUIPrefs.cpp:35
 msgid "Interface"
 msgstr "Rozhranie (Interface)"
 
 #: prefs/GUIPrefs.cpp:42
 msgid "In Browser"
-msgstr ""
+msgstr "V prehliadači"
 
 #: prefs/GUIPrefs.cpp:43
 msgid "From Internet"
-msgstr ""
+msgstr "Z internetu"
 
 #: prefs/GUIPrefs.cpp:50
 msgid "Simple"
-msgstr ""
+msgstr "Jednoduchý"
 
-#: prefs/GUIPrefs.cpp:72
+#: prefs/GUIPrefs.cpp:94
 msgid "&Update display while playing"
-msgstr ""
+msgstr "&Pri prehrávaní obnovovať zobrazenie"
 
 #: prefs/GUIPrefs.cpp:96
 msgid "Cl&osing last window quits Audacity"
-msgstr ""
+msgstr "Zatv&orením posledného okna ukončiť Audacity"
 
-#: prefs/GUIPrefs.cpp:76
+#: prefs/GUIPrefs.cpp:98
 msgid "Enable &dragging of left and right selection edges"
-msgstr ""
+msgstr "&Povoliť preťahovanie ľavej a pravej hranice výberu"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
+msgstr "Er&gonomické usporiadanie tlačidiel zvukového vstupu a výstupu"
 
-#: prefs/GUIPrefs.cpp:80
+#: prefs/GUIPrefs.cpp:102
 msgid "Automatically &fit tracks vertically zoomed"
-msgstr ""
+msgstr "Automaticky pri&spôsobovať stopy zvislému zväčšeniu"
 
 #: prefs/GUIPrefs.cpp:104
 msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
+msgstr "\"Presunúť zameranie skladby\" v c&ykloch opakovať cez stopy"
 
-#: prefs/GUIPrefs.cpp:90
+#: prefs/GUIPrefs.cpp:106
 msgid "Editing a &clip can move other clips"
-msgstr ""
+msgstr "Úprava &klipu môže spôsobiť posunutie iného klipu"
 
-#: prefs/GUIPrefs.cpp:88
+#: prefs/GUIPrefs.cpp:108
 msgid "&Select all audio in project, if none selected"
-msgstr ""
+msgstr "Ak nie je vybraný žiadny projekt, &vybrať všetky"
 
-#: prefs/GUIPrefs.cpp:90
+#: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
-msgstr ""
+msgstr "Skončenie dlhotrvajúcej operácie oznámiť &pipnutím"
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
+#: prefs/GUIPrefs.cpp:114
 msgid "Show / Hide"
-msgstr ""
+msgstr "Zobraziť / Skryť"
 
-#: prefs/GUIPrefs.cpp:96
+#: prefs/GUIPrefs.cpp:116
 msgid "Enable cut &lines"
-msgstr ""
+msgstr "Povoľte rezané &línie"
 
-#: prefs/GUIPrefs.cpp:98
+#: prefs/GUIPrefs.cpp:118
 msgid "Show warnings about &temp files"
-msgstr ""
+msgstr "Zobrazovať varovanie týkajúce sa dočasných súborov"
 
 #: prefs/GUIPrefs.cpp:120
 msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
+msgstr "Zobraziť výz&vu na uloženie aj keď je projekt prázdny"
 
 #: prefs/GUIPrefs.cpp:122
 msgid "Show &Welcome Message at program start up"
-msgstr ""
+msgstr "Zobraziť u&vítaciu správu pri štarte programu"
 
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
-msgstr ""
+msgstr "Režimy"
 
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
-msgstr ""
+msgstr "Nea&plikovať efekty v dávkovom režime"
 
 #: prefs/GUIPrefs.cpp:138
 msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr ""
+msgstr "Zobraz v rozsahu minimálne: metrov a 'Krivka(dB)'"
 
-#: ../src/prefs/GUIPrefs.cpp:150
+#: prefs/GUIPrefs.cpp:141
 msgid "-36 dB (shallow range for high-amplitude editing)"
 msgstr "-36 dB (plytký rozsah pre editáciu vysokých frekvencií)"
 
-#: ../src/prefs/GUIPrefs.cpp:157
+#: prefs/GUIPrefs.cpp:142
 msgid "-48 dB (PCM range of 8 bit samples)"
 msgstr "-48 dB (PCM rozsah 8 bitových vzoriek)"
 
 #: prefs/GUIPrefs.cpp:143
 msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr ""
+msgstr "-60 dB (PCM rozsah 10 bitových vzoriek)"
 
-#: ../src/prefs/GUIPrefs.cpp:164
+#: prefs/GUIPrefs.cpp:144
 msgid "-96 dB (PCM range of 16 bit samples)"
 msgstr "-96 dB (PCM rozsah 16 bitových vzoriek)"
 
-#: ../src/prefs/GUIPrefs.cpp:171
+#: prefs/GUIPrefs.cpp:145
 msgid "-120 dB (approximate limit of human hearing)"
 msgstr "-120 dB (približná hranica ľudského sluchu)"
 
-#: ../src/prefs/GUIPrefs.cpp:178
+#: prefs/GUIPrefs.cpp:146
 msgid "-145 dB (PCM range of 24 bit samples)"
 msgstr "-145 dB (PCM rozsah 24 bitových vzoriek)"
 
 #: prefs/GUIPrefs.cpp:151
 msgid "Default View Mode"
-msgstr ""
+msgstr "Predvolené zobrazenie"
 
 #: prefs/GUIPrefs.cpp:164
 msgid "Other interface choices"
-msgstr ""
+msgstr "Ďalšie voľby rozhrania"
 
 #: prefs/GUIPrefs.cpp:167
 msgid "Help:"
-msgstr ""
+msgstr "Nápoveda:"
 
 #: prefs/GUIPrefs.cpp:168
 msgid "Solo Button:"
-msgstr ""
+msgstr "Tlačítko Solo:"
 
-#: ../src/prefs/PrefsDialog.cpp:90
+#: prefs/KeyConfigPrefs.cpp:64
+#: prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Klávesnica"
 
 #: prefs/KeyConfigPrefs.cpp:86
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Klávesnicové predvoľby momentálne nie sú k dispozícii."
 
 #: prefs/KeyConfigPrefs.cpp:87
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Otvoriť nový projekt pre zmenu klávesových skratiek."
 
-#: prefs/KeyConfigPrefs.cpp:93
+#: prefs/KeyConfigPrefs.cpp:109
 msgid "Key Bindings"
-msgstr ""
+msgstr "Mapovanie kláves"
 
-#: prefs/KeyConfigPrefs.cpp:113
+#: prefs/KeyConfigPrefs.cpp:129
 msgid "S&et"
-msgstr ""
+msgstr "Na&staviť"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:135
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Poznámka: Stlačením Cmd+Q skončíte. Všetky ostatné klávesy sú platné."
 
-#: prefs/KeyConfigPrefs.cpp:122 prefs/ThemePrefs.cpp:102
+#: prefs/KeyConfigPrefs.cpp:140
+#: prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
-msgstr ""
+msgstr "&Predvolené hodnoty"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:79
+#: prefs/KeyConfigPrefs.cpp:159
 msgid "Key Combination"
 msgstr "Kombinácia kláves"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:159
+#: prefs/KeyConfigPrefs.cpp:176
 msgid "Export Keyboard Shortcuts As:"
 msgstr "Exportovať klávesové skratky ako:"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:174
+#: prefs/KeyConfigPrefs.cpp:196
 msgid "Error saving keyboard shortcuts"
 msgstr "Chyba pri ukladaní klávesových skratiek"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:188
+#: prefs/KeyConfigPrefs.cpp:211
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Zvoľte XML súbor obsahujúcí klávesové skratky pre Audacity..."
 
-#: ../src/prefs/KeyConfigPrefs.cpp:206
+#: prefs/KeyConfigPrefs.cpp:228
 msgid "Error loading keyboard shortcuts"
 msgstr "Chyba pri načítaní klávesových skratiek"
 
-#: prefs/KeyConfigPrefs.cpp:239
+#: prefs/KeyConfigPrefs.cpp:256
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
 msgstr ""
+"Klávesová skratka '%s' už je použitá pre:\n"
+"\n"
+"'%s'"
 
-#: ../src/EditToolBar.cpp:159
+#: prefs/KeyConfigPrefs.cpp:382
+#: toolbars/EditToolBar.cpp:144
 msgid "Undo"
 msgstr "Späť"
 
-#: prefs/AudioIOPrefs.cpp:147
-#, fuzzy
+#: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
-msgstr "Počas nahrávania novej stopy prehrávať ostatné stopy."
+msgstr "Popri  nahrávaní novej stopy preh&rávať ostatné"
 
 #: prefs/MidiIOPrefs.cpp:149
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "&Hardware Playthrough(Popri nahrávaní novej stopy ju zároveň prehrávať)"
 
 #: prefs/MidiIOPrefs.cpp:152
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "&Software Playthrough (Popri nahrávaní novej stopy ju zároveň prehrávať)"
 
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
-msgstr ""
+msgstr "Prehrať pred oddelením oblasti:"
 
 #: prefs/MidiIOPrefs.cpp:162
 msgid "Play after cut region:"
-msgstr ""
+msgstr "Prehrať  po oddelení oblasti:"
 
-#: prefs/AudioIOPrefs.cpp:174
+#: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "Audio do vyrovnávacej pamäte:"
 
-#: prefs/AudioIOPrefs.cpp:177
+#: prefs/MidiIOPrefs.cpp:176
 msgid "Latency correction:"
-msgstr ""
+msgstr "Úprava latencie:"
 
 #: prefs/MidiIOPrefs.cpp:183
 msgid "Seek Time"
-msgstr ""
+msgstr "Hľadať čas"
 
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
-msgstr ""
+msgstr "Prehrať keď to zobrazuješ:"
 
-#: ../src/prefs/PrefsDialog.cpp:91
+#: prefs/MousePrefs.cpp:55
+#: prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Myš"
 
-#: ../src/prefs/MousePrefs.cpp:71
+#: prefs/MousePrefs.cpp:78
 msgid "Mouse Bindings (default values, not configurable)"
-msgstr "Priradenia myši (štandardne hodnoty, nie je možné ich upravovať)"
+msgstr "Priradenia myši (štandardné hodnoty, nie je možné ich upravovať)"
 
-#: ../src/prefs/MousePrefs.cpp:84
+#: prefs/MousePrefs.cpp:93
 msgid "Tool"
 msgstr "Nástroj"
 
-#: ../src/prefs/MousePrefs.cpp:85
+#: prefs/MousePrefs.cpp:94
 msgid "Command Action"
 msgstr "Činnosť príkazu"
 
-#: ../src/prefs/MousePrefs.cpp:86
+#: prefs/MousePrefs.cpp:95
 msgid "Buttons"
-msgstr "Tlačítka"
+msgstr "Tlačidlá"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Ľavé tlačítko myši"
 
-#: ../src/prefs/MousePrefs.cpp:88
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:99
+#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Označiť"
 
-#: ../src/prefs/MousePrefs.cpp:88
+#: prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Nastaviť bod výberu"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:99
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
-msgstr "Ťahanie ľavým tlačítkom myši"
+msgstr "Ťahanie ľavým tlačidlom myši"
 
-#: ../src/prefs/MousePrefs.cpp:89
+#: prefs/MousePrefs.cpp:99
+#: prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Nastaviť rozsah výberu"
 
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:100
 msgid "Extend Selection Range"
 msgstr "Rozšíriť výber"
 
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:100
 msgid "Shift-Left-Click"
-msgstr "Shift-Ľavé tlačítko myši"
+msgstr "Shift-Ľavé tlačidlo myši"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Left-Double-Click"
-msgstr ""
+msgstr "Dvojité stlačenie Ľavého tlačidla myši"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Select Clip or Entire Track"
-msgstr ""
+msgstr "Vyberte ústrižok alebo celú stopu"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Ctrl-Left-Click"
-msgstr ""
+msgstr "Ctrl-Ľavé tlačidlo myši"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Set Selection Point and Play"
-msgstr ""
+msgstr "Nastaviť bod rozsahu a spustiť"
 
-#: ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Zväčšiť"
 
-#: ../src/prefs/MousePrefs.cpp:92
+#: prefs/MousePrefs.cpp:104
 msgid "Zoom in on Point"
 msgstr "Zväčšiť na bod"
 
-#: ../src/prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Zväčšiť na rozsah"
 
-#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:105
 msgid "same as right-drag"
-msgstr ""
+msgstr "rovnako ako ťahanie vpravo"
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:124
 msgid "Right-Click"
-msgstr "Pravé tlačítko myši"
+msgstr "Pravé tlačidlo myši"
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Zmenšiť o krok"
 
-#: ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
-msgstr "Ťahanie pravým tlačítkom myši"
+msgstr "Ťahanie pravým tlačidlom myši"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:107
 msgid "same as left-drag"
-msgstr ""
+msgstr "rovnako ako ťahanie vľavo"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Shift-Drag"
-msgstr ""
+msgstr "Shift-Ťahanie  myši"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Zoom out on a Range"
-msgstr ""
+msgstr "Zmenšiť o rozsah"
 
 #: prefs/MousePrefs.cpp:109
 msgid "Middle-Click"
-msgstr ""
+msgstr "Stredné-kliknutie"
 
 #: prefs/MousePrefs.cpp:109
 msgid "Zoom default"
-msgstr ""
+msgstr "Predvolené  zväčšenie"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "Time shift clip or move up/down between tracks"
-msgstr ""
+msgstr "Časový posun klipu alebo presun medzi stopami nahor alebo nadol"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Left-Drag"
-msgstr ""
+msgstr "Shift-Ťahanie ľavým tlačidlom myši"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Time shift all clips in track"
-msgstr ""
+msgstr "Časový posun všetkých klipov v stope"
 
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
-msgstr "Ctrl-ťahanie ľavým tlačítkom myši"
+msgstr "Ctrl-ťahanie ľavým tlačidlom myši"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Move clip up/down between tracks"
-msgstr ""
+msgstr "Presunúť klip nahor alebo nadol medzi stopami"
 
-#: ../src/prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:115
 msgid "Change Amplification Envelope"
 msgstr "Zmeniť krivku hlasitosti"
 
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:117
 msgid "Change Sample"
 msgstr "Zmeniť vzorku"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Ceruzka"
 
-#: ../src/prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:118
 msgid "Alt-Left-Click"
-msgstr "Alt-Ľavé tlačítko"
+msgstr "Alt-Ľavé tlačidlo myši"
 
-#: ../src/prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:118
 msgid "Smooth at Sample"
 msgstr "Vyhladiť na vzorke"
 
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:119
 msgid "Change Several Samples"
 msgstr "Zmeniť viacej vzoriek"
 
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:120
 msgid "Change ONE Sample only"
 msgstr "Zmeniť len JEDNU vzorku"
 
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
-#: ../src/prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
-#, fuzzy
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
 msgid "same as select tool"
-msgstr "To isté ako nástroj výberu"
+msgstr "rovnako ako nástroj výberu"
 
-#: prefs/MousePrefs.cpp:120 prefs/MousePrefs.cpp:121
-#, fuzzy
+#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
-msgstr "Rovnaké ako lupa"
+msgstr "rovnako ako nástroj zväčšenia"
 
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Akýkoľvek"
 
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:127
 msgid "Scroll up or down"
 msgstr "Rolovať nahor alebo nadol"
 
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:127
 msgid "Wheel-Rotate"
-msgstr "Otáčanie kolečkom"
+msgstr "Otáčanie kolieskom"
 
 #: prefs/MousePrefs.cpp:128
 msgid "Scroll left or right"
-msgstr ""
+msgstr "Rolovať vľavo alebo vpravo"
 
 #: prefs/MousePrefs.cpp:128
 msgid "Shift-Wheel-Rotate"
-msgstr ""
+msgstr "Shift-Rotácia kolieskom"
 
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Ctrl-Wheel-Rotate"
-msgstr "Ctrl-Rotácia koliečka"
+msgstr "Ctrl-Rotácia kolieskom"
 
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in or out"
 msgstr "Zväčšiť alebo zmenšiť"
 
-#: ../src/prefs/PrefsDialog.cpp:52
+#: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
 msgstr "Nastavenia Audacity"
 
-#: ../src/prefs/QualityPrefs.cpp:161
+#: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Obdĺžnikový"
 
-#: ../src/prefs/QualityPrefs.cpp:162
+#: prefs/QualityPrefs.cpp:74
 msgid "Triangle"
 msgstr "Trojuholník"
 
-# ???
-#: ../src/prefs/QualityPrefs.cpp:163
-#, fuzzy
+#: prefs/QualityPrefs.cpp:75
 msgid "Shaped"
-msgstr "Ohraničené"
+msgstr "Ohraničenie"
 
 #: prefs/QualityPrefs.cpp:122
 msgid "Sampling"
-msgstr ""
+msgstr "Vzorkovanie"
 
-#: ../src/prefs/QualityPrefs.cpp:80
+#: prefs/QualityPrefs.cpp:125
 msgid "Default Sample Rate:"
-msgstr "Východzia rýchlosť vzorkovania:"
+msgstr "Počiatočná rýchlosť vzorkovania:"
 
-#: ../src/prefs/QualityPrefs.cpp:114
+#: prefs/QualityPrefs.cpp:127
 msgid "Default Sample Format:"
-msgstr "Východzí formát vzorkovania:"
-
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Konvertor vzorkovacej frekvencie v reálnom čase:"
+msgstr "Počiatočný formát vzorkovania:"
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Vysoko kvalitný konvertor vzorkovacej rýchlosti:"
-
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Miešanie v reálnom čase"
-
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Vysoko kvalitný konvertor vzorkovacej rýchlosti:"
-
-#: prefs/QualityPrefs.cpp:157
+#: prefs/QualityPrefs.cpp:134
 msgid "Conversion"
-msgstr ""
+msgstr "Prevod"
 
-#: prefs/QualityPrefs.cpp:163
+#: prefs/QualityPrefs.cpp:140
 msgid "Sample Rate Converter"
-msgstr ""
+msgstr "Prevodník vzorkovacej frekvencie"
 
-#: prefs/QualityPrefs.cpp:164
+#: prefs/QualityPrefs.cpp:141
 msgid "Dither"
-msgstr ""
+msgstr "Miešanie"
 
-#: prefs/QualityPrefs.cpp:165
+#: prefs/QualityPrefs.cpp:142
 msgid "Real-time:"
-msgstr ""
+msgstr "Reálny čas:"
 
-#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:149
 msgid "High-quality:"
-msgstr ""
+msgstr "Vysoká kvalita:"
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
+#: prefs/SmartRecordPrefs.cpp:37
+#: prefs/SmartRecordPrefs.cpp:38
 msgid "Smart Recording"
-msgstr ""
+msgstr "Inteligentné nahrávanie"
 
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+#: prefs/SmartRecordPrefs.cpp:64
+#: prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "Zvukom aktivované nahrávanie"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "Aktivačná úroveň zvuku (dB):"
 
-#: ../src/prefs/PrefsDialog.cpp:87
+#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:43
 msgid "Spectrograms"
 msgstr "Spektrogramy"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
+#: prefs/SpectrumPrefs.cpp:92
 msgid "FFT Size"
 msgstr "FFT veľkosť"
 
-#: prefs/SpectrumPrefs.cpp:75
+#: prefs/SpectrumPrefs.cpp:95
 msgid "8 - most wideband"
-msgstr ""
+msgstr "8 - väčšina širokopásmových"
 
-#: ../src/prefs/SpectrumPrefs.cpp:40
+#: prefs/SpectrumPrefs.cpp:100
 msgid "256 - default"
-msgstr "256 - východzie"
+msgstr "256 - počiatok"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:108
 msgid "32768 - most narrowband"
-msgstr ""
+msgstr "32768 - najužšie pásmo"
 
-#: ../src/prefs/SpectrumPrefs.cpp:44
+#: prefs/SpectrumPrefs.cpp:110
 msgid "4096 - most narrowband"
 msgstr "4096 - najužšie pásmo"
 
-#: prefs/SpectrumPrefs.cpp:90
+#: prefs/SpectrumPrefs.cpp:117
 msgid "Window type:"
-msgstr ""
+msgstr "Druh okna:"
 
-#: prefs/SpectrumPrefs.cpp:125
+#: prefs/SpectrumPrefs.cpp:126
 msgid "FFT Skip Points"
-msgstr ""
+msgstr "FFT preskočiť body"
 
-#: prefs/SpectrumPrefs.cpp:96
+#: prefs/SpectrumPrefs.cpp:141
 msgid "Display"
-msgstr ""
+msgstr "Zobrazenie"
 
-#: prefs/SpectrumPrefs.cpp:100
+#: prefs/SpectrumPrefs.cpp:145
 msgid "&Grayscale"
-msgstr ""
+msgstr "&Odtiene Å¡edej"
 
-#: prefs/SpectrumPrefs.cpp:103
+#: prefs/SpectrumPrefs.cpp:148
 msgid "Minimum Frequency (Hz):"
-msgstr ""
+msgstr "Minimálna frekvencia (Hz):"
 
-#: ../src/prefs/SpectrumPrefs.cpp:104
+#: prefs/SpectrumPrefs.cpp:153
 msgid "Maximum Frequency (Hz):"
 msgstr "Maximálna frekvencia (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
+#: prefs/SpectrumPrefs.cpp:159
 msgid "&Y-Grid"
-msgstr ""
+msgstr "&Y-Mriežka"
 
-#: prefs/SpectrumPrefs.cpp:161
+#: prefs/SpectrumPrefs.cpp:162
 msgid "&Find Notes"
-msgstr ""
+msgstr "&Nájsť Poznámky"
 
-#: prefs/SpectrumPrefs.cpp:162
+#: prefs/SpectrumPrefs.cpp:163
 msgid "&Quantize Notes"
-msgstr ""
+msgstr "&Kvantovať Poznámky"
 
-#: prefs/SpectrumPrefs.cpp:165
+#: prefs/SpectrumPrefs.cpp:166
 msgid "Minimum Amplitude (dB):"
-msgstr ""
+msgstr "Minimálna amplitúda (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
-msgstr ""
+msgstr "Maximálny počet poznámok(1..128):"
 
-#: ../src/prefs/SpectrumPrefs.cpp:148
+#: prefs/SpectrumPrefs.cpp:198
 msgid "The maximum frequency must be an integer"
 msgstr "Maximálna frekvencia musí byť celé číslo"
 
-#: ../src/prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:202
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "Maximálna frekvencia musí byť v rozsahu 100 Hz - 100,000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:146
+#: prefs/SpectrumPrefs.cpp:210
 msgid "The minimum frequency must be an integer"
-msgstr ""
+msgstr "Minimálna frekvencia musí byť celé číslo"
 
-#: prefs/SpectrumPrefs.cpp:150
+#: prefs/SpectrumPrefs.cpp:214
 msgid "Minimum frequency must be at least 0 Hz"
-msgstr ""
+msgstr "Minimálna frekvencia musí byť najmenej 0 Hz"
 
-#: prefs/SpectrumPrefs.cpp:220
+#: prefs/SpectrumPrefs.cpp:221
 msgid "The minimum amplitude (dB) must be an integer"
-msgstr ""
+msgstr "Minimálna amplitúda (dB) musí byť celé číslo"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
+#: prefs/SpectrumPrefs.cpp:227
+#: prefs/SpectrumPrefs.cpp:231
 msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr ""
+msgstr "Maximálny počet nôt musí byť celé číslo v rozmedzí 1..128"
 
-#: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
+#: prefs/ThemePrefs.cpp:62
+#: prefs/ThemePrefs.cpp:63
 msgid "Theme"
-msgstr ""
+msgstr "Téma"
 
-#: prefs/ThemePrefs.cpp:90
+#. i18n-hint: && in here is an escape character to get a single & on screen,
+#. * so keep it as is
+#: prefs/ThemePrefs.cpp:93
 msgid "Theme Cache - Images && Color"
-msgstr ""
+msgstr "Vyrovnávacia pamäť Témy - obrázky && farba"
 
-#: prefs/ThemePrefs.cpp:92
+#: prefs/ThemePrefs.cpp:95
 msgid "Save Theme Cache"
-msgstr ""
+msgstr "Uložiť vyrovnávaciu pamäť Témy"
 
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:96
 msgid "Load Theme Cache"
-msgstr ""
+msgstr "Načítať vyrovnávaciu pamäť Témy"
 
-#: prefs/ThemePrefs.cpp:103
+#: prefs/ThemePrefs.cpp:106
 msgid "Load Theme Cache At Startup"
-msgstr ""
+msgstr "Načítať vyrovnávaciu pamäť Témy pri štarte"
 
-#: prefs/ThemePrefs.cpp:115
+#: prefs/ThemePrefs.cpp:118
 msgid "Individual Theme Files"
-msgstr ""
+msgstr "Jednotlivé súbory Témy"
 
-#: prefs/ThemePrefs.cpp:117
+#: prefs/ThemePrefs.cpp:120
 msgid "Save Files"
-msgstr ""
+msgstr "Uložiť súbory"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:121
 msgid "Load Files"
-msgstr ""
+msgstr "Otvoriť súbory"
 
-#: prefs/ThemePrefs.cpp:123
+#: prefs/ThemePrefs.cpp:126
 msgid "Info"
-msgstr ""
+msgstr "Informácie"
 
 #: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
+msgid ""
+"Themability is an experimental feature.\n"
 "\n"
 "To try it out, click \"Save Theme Cache\" then\n"
 "find and modify the images and colors in \n"
@@ -8067,573 +8779,638 @@ msgid "Themability is an experimental feature.\n"
 "wavetrack are currently affected, even though the\n"
 "image file shows other icons too.]\n"
 msgstr ""
+"Themability je experimentálne funkcia.\n"
+" \n"
+" Ak ju chcete vyskúšať, kliknite na \"Uložiť tému do Cache \", potom \n"
+" nájsť a upraviť obrázky a farby do \n"
+" ImageCacheVxx.png pomocou obrázkového editora \n"
+" ako je  Gimp. \n"
+" \n"
+"Kliknite na \"Nahrať tému do Cache \" nahrať meniť obrázky \n"
+" a farby späť do Audacity. \n"
+" \n"
+"[Iba kontrolný panel nástrojov a farieb na \n"
+" zvukovej stope sú v súčasnosti postihnuté, a to i napriek tomu, že\n"
+"obrázok súbor ukazuje iné ikony.]\n"
 
 #: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
+msgid ""
+"You have compiled Audacity with an extra button, \n"
 "'Output Sourcery'.  This will save a C version of \n"
 "the image cache that can be compiled in as a default.\n"
 msgstr ""
+"Zostavili ste Audacity s extra tlačidlom \n"
+"'Výstupný zdroj'. To ušetrí  C verziu \n"
+" pamäti obrazu, a je ho možné nastaviť ako predvolený. \n"
 
 #: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then \n"
 "the Theme Cache will be loaded when the program \n"
 "starts up.\n"
 "\n"
 msgstr ""
+"Ak 'Načítať Tému do vyrovnávacej pamäte pri štarte' je začiarknuté, potom \n"
+" Téma do vyrovnávacej pamäte bude načítaná pri štarte programu \n"
+" Začína sa. \n"
+"\n"
 
 #: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
+msgid ""
+"Saving and loading individual theme files uses a \n"
 "separate file for each image, but is otherwise the \n"
 "same idea.\n"
 "\n"
 msgstr ""
+"Ukladanie a načítanie jednotlivých súborov témy používa \n"
+" samostatný súbor pre každý obrázok, ale inak je v \n"
+" rovnakom motíve. \n"
+" \n"
 
-#: ../src/ControlToolBar.cpp:470
+#: toolbars/ControlToolBar.cpp:175
 msgid "Pause"
 msgstr "Pozastaviť (Pause)"
 
 #: toolbars/ControlToolBar.cpp:178
 msgid "Play"
-msgstr ""
+msgstr "Prehrať "
 
 #: toolbars/ControlToolBar.cpp:178
 msgid "Play (Shift for Loop Play)"
-msgstr ""
+msgstr "Prehrať (Shift pre prehranie v slučke)"
 
-#: ../src/ControlToolBar.cpp:471
+#: toolbars/ControlToolBar.cpp:183
+#: widgets/ProgressDialog.cpp:1093
 msgid "Stop"
 msgstr "Stop"
 
-#: ../src/ControlToolBar.cpp:467
+#: toolbars/ControlToolBar.cpp:186
 msgid "Skip to Start"
 msgstr "Preskočiť na začiatok"
 
-#: ../src/ControlToolBar.cpp:472
+#: toolbars/ControlToolBar.cpp:189
 msgid "Skip to End"
 msgstr "Preskočiť na koniec"
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
-msgstr ""
+msgstr "Nahrať (Shift pre pridanie nahrávania)"
 
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
-msgstr ""
+msgstr "Čistenie hovoreného slova - Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
+#: toolbars/ControlToolBar.cpp:540
+#: toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
-msgstr ""
+msgstr "Chyba pri otváraní zvukového zariadenia."
 
-#: toolbars/ControlToolBar.cpp:696
+#: toolbars/ControlToolBar.cpp:706
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
-msgstr ""
+msgstr "Nahrávanie v režime CleanSpeech nie je možné, keď skladba, alebo viac ako jeden projekt, je už otvorený."
 
-#: toolbars/ControlToolBar.cpp:685
+#: toolbars/ControlToolBar.cpp:707
 msgid "Recording not permitted"
-msgstr ""
+msgstr "Nahrávanie nie je povolené"
 
-#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113
+#: toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
-msgstr ""
+msgstr "Výstupné zariadenie"
 
-#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134
+#: toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
-msgstr ""
+msgstr "Vstupné zariadenie"
 
-#: ../src/EditToolBar.cpp:154
+#: toolbars/EditToolBar.cpp:139
 msgid "Trim outside selection"
 msgstr "Odstrániť všetko mimo výberu"
 
-#: ../src/EditToolBar.cpp:156
+#: toolbars/EditToolBar.cpp:141
 msgid "Silence selection"
 msgstr "Nahradiť výber tichom"
 
 #: toolbars/EditToolBar.cpp:150
 msgid "Link Tracks"
-msgstr ""
+msgstr "Spojiť stopy"
 
-#: ../src/EditToolBar.cpp:164
+#: toolbars/EditToolBar.cpp:155
 msgid "Zoom In"
 msgstr "Zväčšiť"
 
-#: ../src/EditToolBar.cpp:166
+#: toolbars/EditToolBar.cpp:157
 msgid "Zoom Out"
 msgstr "Zmenšiť"
 
-#: ../src/EditToolBar.cpp:170
+#: toolbars/EditToolBar.cpp:161
 msgid "Zoom Toggle"
-msgstr "Prehodenie zväčšenia"
+msgstr "Prepnutie zväčšenia"
 
-#: toolbars/EditToolBar.cpp:160
+#: toolbars/EditToolBar.cpp:165
 msgid "Fit Selection"
-msgstr ""
+msgstr "Prispôsobiť výber "
 
-#: ../src/EditToolBar.cpp:174
+#: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "Prispôsobiť výber veľkosti okna"
 
-#: toolbars/EditToolBar.cpp:162
+#: toolbars/EditToolBar.cpp:167
 msgid "Fit Project"
-msgstr ""
+msgstr "Prispôsobiť projekt "
 
-#: ../src/EditToolBar.cpp:176
+#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "Prispôsobiť projekt veľkosti okna"
 
-#: toolbars/MeterToolBar.cpp:49
+#: toolbars/MeterToolBar.cpp:50
 msgid "Meter"
-msgstr ""
+msgstr "Ukazovateľ "
 
-#: toolbars/MeterToolBar.cpp:79
+#: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
-msgstr ""
+msgstr "Prehrať ukazovateľ "
 
-#: toolbars/MeterToolBar.cpp:80
+#: toolbars/MeterToolBar.cpp:81
 msgid "Meter-Play"
-msgstr ""
+msgstr "Ukazovateľ prehrávania"
 
-#: toolbars/MeterToolBar.cpp:88
+#: toolbars/MeterToolBar.cpp:89
 msgid "Record Meter"
-msgstr ""
+msgstr "Nahrávací ukazovateľ"
 
-#: toolbars/MeterToolBar.cpp:89
+#: toolbars/MeterToolBar.cpp:90
 msgid "Meter-Record"
-msgstr ""
+msgstr "Ukazovateľ nahrávania"
 
-#: ../src/MeterToolBar.cpp:66
+#: toolbars/MeterToolBar.cpp:94
 msgid "Output level meter"
 msgstr "Ukazovateľ úrovne výstupu"
 
-#: ../src/MeterToolBar.cpp:67
+#: toolbars/MeterToolBar.cpp:95
 msgid "Input level meter - click to monitor input"
 msgstr "Ukazovateľ úrovne vstupu - kliknite, pokiaľ chcete monitorovať vstup."
 
-#: ../src/MixerToolBar.cpp:135
+#: toolbars/MixerToolBar.cpp:90
 msgid "Output Volume"
 msgstr "Výstupná hlasitosť"
 
 #: toolbars/MixerToolBar.cpp:92
 msgid "Slider Output"
-msgstr ""
+msgstr "Posuvník výstupu"
 
-#: ../src/MixerToolBar.cpp:138
+#: toolbars/MixerToolBar.cpp:101
+#: widgets/Meter.cpp:870
 msgid "Input Volume"
 msgstr "Vstupná hlasitosť"
 
 #: toolbars/MixerToolBar.cpp:103
 msgid "Slider Input"
-msgstr ""
+msgstr "Posuvník vstupu"
 
-#: toolbars/MixerToolBar.cpp:119
+#: toolbars/MixerToolBar.cpp:134
 msgid "Input Source"
-msgstr ""
+msgstr "Vstupný zdroj"
 
-#: toolbars/SelectionBar.cpp:75
+#: toolbars/SelectionBar.cpp:86
 msgid "Selection"
-msgstr ""
+msgstr "Výber"
 
-#: toolbars/SelectionBar.cpp:115 toolbars/SelectionBar.cpp:168
+#: toolbars/SelectionBar.cpp:135
+#: toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
-msgstr ""
+msgstr "Vzorkovanie (Hz):"
 
-#: toolbars/SelectionBar.cpp:120 toolbars/SelectionBar.cpp:211
+#: toolbars/SelectionBar.cpp:149
+#: toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
-msgstr ""
+msgstr "Začiatok výberu:"
 
-#: effects/ToneGen.cpp:300 effects/ToneGen.cpp:338
-#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:225
+#: toolbars/SelectionBar.cpp:163
+#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
 msgid "Length"
-msgstr ""
+msgstr "Dĺžka"
 
-#: toolbars/SelectionBar.cpp:145
+#: toolbars/SelectionBar.cpp:174
 msgid "hidden"
-msgstr ""
+msgstr "skrytý"
 
-#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:239
+#: toolbars/SelectionBar.cpp:184
+#: toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
-msgstr ""
+msgstr "Audio Pozícia:"
 
-#: toolbars/SelectionBar.cpp:217 toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:236
+#: toolbars/SelectionBar.cpp:241
 msgid "Snap To"
-msgstr ""
+msgstr "Prelínanie"
 
-#: toolbars/SelectionBar.cpp:224
+#: toolbars/SelectionBar.cpp:260
 msgid "Selection "
-msgstr ""
+msgstr "Výber"
 
-#: toolbars/SelectionBar.cpp:289
+#: toolbars/SelectionBar.cpp:325
 msgid "Selection Length"
-msgstr ""
+msgstr "Dĺžka výberu"
 
-#: toolbars/SelectionBar.cpp:297
+#: toolbars/SelectionBar.cpp:333
 msgid "Selection End"
-msgstr ""
+msgstr "Koniec výberu"
 
-#: toolbars/ToolBar.cpp:96
+#: toolbars/ToolBar.cpp:98
 #, c-format
 msgid "Audacity %s ToolBar"
-msgstr ""
+msgstr "Audacity %s nástrojový panel"
 
-#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74
+#: toolbars/ToolDock.cpp:75
 msgid "ToolDock"
-msgstr ""
+msgstr "Panel Dokovania"
 
-#: ../src/ControlToolBar.cpp:76
+#: toolbars/ToolsToolBar.cpp:63
 msgid "Click and drag to select audio"
 msgstr "Kliknutím a ťahaním myši označíte audio"
 
-#: ../src/ControlToolBar.cpp:77
+#: toolbars/ToolsToolBar.cpp:64
 msgid "Click and drag to edit the amplitude envelope"
 msgstr "Kliknutím a ťahaním myši editujete amplitúdovú obálku"
 
-#: ../src/ControlToolBar.cpp:78
+#: toolbars/ToolsToolBar.cpp:65
 msgid "Click and drag to edit the samples"
 msgstr "Kliknutím a ťahaním myši editujete vzorky"
 
-#: ../src/ControlToolBar.cpp:80
+#: toolbars/ToolsToolBar.cpp:67
 msgid "Click to Zoom In, Shift-Click to Zoom Out"
 msgstr "Kliknite pre zväčšenie, Shift+kliknite pre zmenšenie"
 
-#: ../src/ControlToolBar.cpp:82
+#: toolbars/ToolsToolBar.cpp:69
 msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
 msgstr "Ťahať ľavým tlačíckom myši pre zväčšenie oblasti, stlačením pravého pre zmenšenie"
 
-#: ../src/ControlToolBar.cpp:84
+#: toolbars/ToolsToolBar.cpp:71
 msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
 msgstr "Ľavé=zväčšiť, Pravé=zmenšiť,Stredné=normálna veľkosť"
 
-#: ../src/ControlToolBar.cpp:86
+#: toolbars/ToolsToolBar.cpp:73
 msgid "Click and drag to move a track in time"
-msgstr "Kliknutím a ťahaním myši umiestnite stopy na čas"
+msgstr "Kliknutím a ťahaním myši umiestnite stopy v čase"
 
 #: toolbars/ToolsToolBar.cpp:90
 msgid "Tools"
-msgstr ""
+msgstr "Nástroj"
 
-#: ../src/ControlToolBar.cpp:355
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:182
 msgid "Selection Tool"
 msgstr "Výber"
 
-#: ../src/ControlToolBar.cpp:356
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:183
 msgid "Envelope Tool"
 msgstr "Obálka"
 
-#: ../src/ControlToolBar.cpp:357
+#: toolbars/ToolsToolBar.cpp:149
 msgid "Time Shift Tool"
 msgstr "Časový posun"
 
-#: ../src/ControlToolBar.cpp:358
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:185
 msgid "Zoom Tool"
 msgstr "Lupa"
 
-#: ../src/ControlToolBar.cpp:359
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:184
 msgid "Draw Tool"
 msgstr "Kreslenie"
 
-#: ../src/ControlToolBar.cpp:360
+#: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Viacnástrojový režim"
 
 #: toolbars/ToolsToolBar.cpp:186
 msgid "Slide Tool"
-msgstr ""
+msgstr "Panel obrazu"
 
 #: toolbars/ToolsToolBar.cpp:187
 msgid "Multi Tool"
-msgstr ""
+msgstr "Viacúčelový nástroj"
 
-#: toolbars/TranscriptionToolBar.cpp:81
+#: toolbars/TranscriptionToolBar.cpp:84
 msgid "Transcription"
-msgstr ""
+msgstr "Transkripcia"
 
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
-msgstr ""
+msgstr "Prehrať nastavenou rýchlosťou"
 
-#: toolbars/TranscriptionToolBar.cpp:184
+#: toolbars/TranscriptionToolBar.cpp:172
 msgid "Play-at-speed"
-msgstr ""
+msgstr "Prehrať v rýchlosti"
 
-#: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
+#: toolbars/TranscriptionToolBar.cpp:178
+#: toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
-msgstr ""
+msgstr "Rýchlosť prehrávania"
 
-#: toolbars/TranscriptionToolBar.cpp:200
+#: toolbars/TranscriptionToolBar.cpp:196
 msgid "Adjust left selection to next onset"
-msgstr ""
+msgstr "Presunte výber vľavo  na začiatok budúceho"
 
-#: toolbars/TranscriptionToolBar.cpp:201
+#: toolbars/TranscriptionToolBar.cpp:197
 msgid "Left-to-On"
-msgstr ""
+msgstr "Vľavo-pre-zapnutie"
 
-#: toolbars/TranscriptionToolBar.cpp:203
+#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
-msgstr ""
+msgstr "Presunte výber právo na predchádzajúci"
 
-#: toolbars/TranscriptionToolBar.cpp:204
+#: toolbars/TranscriptionToolBar.cpp:200
 msgid "Right-to-Off"
-msgstr ""
+msgstr "Vpravo-pre-vypnutie"
 
-#: toolbars/TranscriptionToolBar.cpp:206
+#: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
-msgstr ""
+msgstr "Presunte výber vľavo na budúci"
 
-#: toolbars/TranscriptionToolBar.cpp:207
+#: toolbars/TranscriptionToolBar.cpp:203
 msgid "Left-to-Off"
-msgstr ""
+msgstr "Vľavo-pre-vypnutie"
 
-#: toolbars/TranscriptionToolBar.cpp:209
+#: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
-msgstr ""
+msgstr "Presunte výber vpravo na predchádzajúcu nástup"
 
-#: toolbars/TranscriptionToolBar.cpp:210
+#: toolbars/TranscriptionToolBar.cpp:206
 msgid "Right-to-On"
-msgstr ""
+msgstr "Vpravo-pre-zapnutie"
 
-#: toolbars/TranscriptionToolBar.cpp:212
+#: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
-msgstr ""
+msgstr "Vybrať okruh zvuku okolo kurzora"
 
-#: toolbars/TranscriptionToolBar.cpp:213
+#: toolbars/TranscriptionToolBar.cpp:209
 msgid "Select-Sound"
-msgstr ""
+msgstr "Vybrať-Zvuk"
 
-#: toolbars/TranscriptionToolBar.cpp:215
+#: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
-msgstr ""
+msgstr "Vybrať okruh ticha okolo kurzora"
 
-#: toolbars/TranscriptionToolBar.cpp:216
+#: toolbars/TranscriptionToolBar.cpp:212
 msgid "Select-Silence"
-msgstr ""
+msgstr "Vybrať-Ticho"
 
-#: toolbars/TranscriptionToolBar.cpp:218
+#: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
-msgstr ""
+msgstr "Automaticky vytvárať popis zo slov"
 
-#: toolbars/TranscriptionToolBar.cpp:219
+#: toolbars/TranscriptionToolBar.cpp:215
 msgid "Make Labels"
-msgstr ""
+msgstr "Vytvoriť popis"
 
-#: toolbars/TranscriptionToolBar.cpp:221
+#: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
-msgstr ""
+msgstr "Pridať popis k výberu"
 
-#: toolbars/TranscriptionToolBar.cpp:222
+#: toolbars/TranscriptionToolBar.cpp:218
 msgid "Add Label"
-msgstr ""
+msgstr "Pridať popis"
 
-#: toolbars/TranscriptionToolBar.cpp:224
+#: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
-msgstr ""
+msgstr "Kalibrovať zvukový kľúč"
 
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:221
 msgid "Calibrate"
-msgstr ""
+msgstr "Kalibrovať"
 
-#: toolbars/TranscriptionToolBar.cpp:229
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
-msgstr ""
+msgstr "Nastaviť citlivosť"
 
-#: toolbars/TranscriptionToolBar.cpp:234
+#: toolbars/TranscriptionToolBar.cpp:230
 msgid "Sensitivity"
-msgstr ""
+msgstr "Citlivosť"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:235
 msgid "Energy"
-msgstr ""
+msgstr "Energia"
 
-#: toolbars/TranscriptionToolBar.cpp:240
+#: toolbars/TranscriptionToolBar.cpp:236
 msgid "Sign Changes (Low Threshold)"
-msgstr ""
+msgstr "Prihlásiť zmeny (Nízkoprahové)"
 
-#: toolbars/TranscriptionToolBar.cpp:241
+#: toolbars/TranscriptionToolBar.cpp:237
 msgid "Sign Changes (High Threshold)"
-msgstr ""
+msgstr "Prihlásiť zmeny (Vysokoprahové)"
 
-#: toolbars/TranscriptionToolBar.cpp:242
+#: toolbars/TranscriptionToolBar.cpp:238
 msgid "Direction Changes (Low Threshold)"
-msgstr ""
+msgstr "Zmeny smeru  (Nízkoprahové)"
 
-#: toolbars/TranscriptionToolBar.cpp:243
+#: toolbars/TranscriptionToolBar.cpp:239
 msgid "Direction Changes (High Threshold)"
-msgstr ""
+msgstr "Zmeny smeru  (Vysokoprahové)"
 
-#: toolbars/TranscriptionToolBar.cpp:251
+#: toolbars/TranscriptionToolBar.cpp:247
 msgid "Key type"
-msgstr ""
+msgstr "Typ kľúča"
 
-#: ../src/widgets/AButton.cpp:181
+#: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr " (zakázané)"
 
-#: widgets/AButton.cpp:443
+#: widgets/AButton.cpp:461
 msgid "Press"
-msgstr ""
+msgstr "Stlačiť"
 
-#: widgets/AButton.cpp:522
+#: widgets/AButton.cpp:540
 msgid "Button"
-msgstr ""
+msgstr "Tlačidlo"
 
-#  i18n-hint: One-letter abbreviation for Left, in the Pan slider
+#. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:329
-#: ../src/widgets/Meter.cpp:165
+#: widgets/ASlider.cpp:612
+#: widgets/Meter.cpp:248
 msgid "L"
 msgstr "L"
 
-# better is R, for convenience
+#. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:332
-#: ../src/widgets/Meter.cpp:167
+#: widgets/ASlider.cpp:615
+#: widgets/Meter.cpp:250
 msgid "R"
 msgstr "R"
 
-#: ../src/widgets/ASlider.cpp:484
+#: widgets/ASlider.cpp:678
 msgid "Center"
 msgstr "Stred"
 
-#: ../src/widgets/ASlider.cpp:488
+#: widgets/ASlider.cpp:682
 msgid "Left"
 msgstr "Ľavý"
 
-#: ../src/widgets/ASlider.cpp:491
+#: widgets/ASlider.cpp:685
 msgid "Right"
 msgstr "Pravý"
 
-#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:98
 msgid "Help"
-msgstr ""
+msgstr "Nápoveda"
 
 #: widgets/ErrorDialog.cpp:137
 msgid "<"
-msgstr ""
+msgstr "<"
 
 #: widgets/ErrorDialog.cpp:138
 msgid ">"
-msgstr ""
+msgstr ">"
 
 #: widgets/ErrorDialog.cpp:142
 msgid "Forwards"
-msgstr ""
+msgstr "Vpred"
 
 #: widgets/ErrorDialog.cpp:143
 msgid "Backwards"
-msgstr ""
+msgstr "Naspäť"
 
-#: widgets/ErrorDialog.cpp:190
+#: widgets/ErrorDialog.cpp:255
 msgid "Help on the Internet"
-msgstr ""
+msgstr "Nápoveda na internete"
 
-#: widgets/Grabber.cpp:61
+#: widgets/Grabber.cpp:62
 msgid "Grabber"
-msgstr ""
+msgstr "Grabber"
 
-#: widgets/Grid.cpp:616
+#: widgets/Grid.cpp:703
 #, c-format
 msgid "%d rows, %d columns"
-msgstr ""
+msgstr "%d riadkov, %d stĺpcov"
 
-#: widgets/Grid.cpp:622 widgets/Grid.cpp:749
+#: widgets/Grid.cpp:709
+#: widgets/Grid.cpp:836
 #, c-format
 msgid "Row %d"
-msgstr ""
+msgstr "Riadok %d"
 
-#: widgets/Grid.cpp:764
+#: widgets/Grid.cpp:851
 msgid "Empty"
-msgstr ""
+msgstr "Prázdny"
 
-#: widgets/Meter.cpp:336
+#: widgets/Meter.cpp:392
 msgid "Enable Meter"
-msgstr ""
+msgstr "Zapnúť ukazovateľ"
 
-#: widgets/Meter.cpp:338
+#: widgets/Meter.cpp:394
 msgid "Disable Meter"
-msgstr ""
+msgstr "Vypnúť ukazovateľ"
 
-#: widgets/Meter.cpp:341
+#: widgets/Meter.cpp:397
 msgid "Stop Monitoring"
-msgstr ""
+msgstr "Konec monitorovania"
 
-#: widgets/Meter.cpp:343
+#: widgets/Meter.cpp:399
 msgid "Start Monitoring"
-msgstr ""
+msgstr "Å tart  monitorovania"
 
-#: ../src/widgets/Meter.cpp:285
+#: widgets/Meter.cpp:403
 msgid "Horizontal Stereo"
 msgstr "Horizontálne stereo"
 
-#: ../src/widgets/Meter.cpp:286
+#: widgets/Meter.cpp:404
 msgid "Vertical Stereo"
 msgstr "Vertikálne Stereo"
 
-#: widgets/Meter.cpp:365
+#: widgets/Meter.cpp:421
 msgid "Preferences..."
-msgstr ""
+msgstr "Predvoľby..."
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:872
 msgid "Mix Volume"
-msgstr ""
+msgstr "Zmiešaná hlasitosť"
 
-#: widgets/Meter.cpp:1037
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1141
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
 msgstr ""
+"Tu  sa nastavuje ako často sa ukazateľ obnovuje.\n"
+"Ak máte pomaljší počítač, možno bude lepšie zvoliť nižšiu\n"
+" obnovovaciu frekvenciu (30 za sekundu alebo menej), aby\n"
+"kvalita zvuku nebola ovplyvňovaná zobrazovaním ukazateľa."
 
-#: widgets/Meter.cpp:1038
+#: widgets/Meter.cpp:1142
 msgid "Meter refresh rate per second [1-100]: "
-msgstr ""
+msgstr "Obnovovacia frekvencia ukazateľa za sekundu [1-100]: "
 
-#: widgets/Meter.cpp:1063
+#: widgets/Meter.cpp:1143
 msgid "Meter Preferences"
-msgstr ""
+msgstr "Predvoľby grafického ukazateľa"
 
 #: widgets/MultiDialog.cpp:82
 msgid " Please select an action "
-msgstr ""
+msgstr "Zvoľte prosím akciu"
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "Zvoľte prosím akciu"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1052
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "Uplynulý čas:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1072
 msgid "Remaining Time:"
-msgstr ""
+msgstr "Zostávajúci čas: "
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1100
 msgid "Cancel"
-msgstr ""
+msgstr "Zrušiť"
 
-#: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
+#: widgets/Ruler.cpp:1316
+#: widgets/Ruler.cpp:1317
 msgid "Vertical Ruler"
-msgstr ""
+msgstr "Zvislé meradlo"
 
-#: widgets/TimeTextCtrl.cpp:198
+#. i18n-hint: Format string for displaying time in seconds. Change the comma
+#. * in the middle to the 1000s separator for your locale, and the 'seconds'
+#. * on the end to the word for seconds. Don't change the numbers.
+#: widgets/TimeTextCtrl.cpp:267
 msgid "01000,01000 seconds"
-msgstr ""
-
-#: widgets/TimeTextCtrl.cpp:200
+msgstr "01000,01000 sekúnd"
+
+#. i18n-hint: Format string for displaying time in hours, minutes and
+#. * seconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
+#. * change the numbers unless there aren't 60 seconds in a minute in your
+#. * locale
+#: widgets/TimeTextCtrl.cpp:276
 msgid "0100 h 060 m 060 s"
-msgstr ""
+msgstr "0100 h 060 m 060 s"
 
-#: widgets/TimeTextCtrl.cpp:201
+#. i18n-hint: Name of time display format that shows time in days, hours,
+#. * minutes and seconds
+#: widgets/TimeTextCtrl.cpp:279
 msgid "dd:hh:mm:ss"
-msgstr ""
-
-#: widgets/TimeTextCtrl.cpp:202
+msgstr "dd:hh:mm:ss"
+
+#. i18n-hint: Format string for displaying time in days, hours, minutes and
+#. * seconds. Change the 'days' to the word for days, 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes and 's' to the
+#. * abbreviation for seconds. Don't change the numbers unless there aren't
+#. * 24 hours in a day in your locale
+#: widgets/TimeTextCtrl.cpp:285
 msgid "0100 days 024 h 060 m 060 s"
-msgstr ""
+msgstr "0100 dni 024 h 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
+#. * minutes, seconds and hundredths of a second (1/100 second)
 #: widgets/TimeTextCtrl.cpp:288
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "hh:mm:ss + stotín"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -8642,117 +9419,188 @@ msgstr ""
 #. * unless there aren't 60 minutes in an hour in your locale
 #: widgets/TimeTextCtrl.cpp:294
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 h 060 m 060.0100 s"
 
-#: widgets/TimeTextCtrl.cpp:203
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and milliseconds (1/1000 second)
+#: widgets/TimeTextCtrl.cpp:297
 msgid "hh:mm:ss + milliseconds"
-msgstr ""
+msgstr "hh:mm:ss + milisekúnd "
 
-#: widgets/TimeTextCtrl.cpp:204
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * milliseconds are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:303
 msgid "0100 h 060 m 060.01000 s"
-msgstr ""
+msgstr "0100 h 060 m 060.01000 s"
 
-#: widgets/TimeTextCtrl.cpp:205
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and samples (at the current project sample rate)
+#: widgets/TimeTextCtrl.cpp:306
 msgid "hh:mm:ss + samples"
-msgstr ""
+msgstr "hh:mm:ss + vzorky"
 
-#: widgets/TimeTextCtrl.cpp:206
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and samples. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes, 's' to the abbreviation for seconds and
+#. * translate samples . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:312
 msgid "0100 h 060 m 060 s+.# samples"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.# vzorky"
 
-#: widgets/TimeTextCtrl.cpp:207
+#. i18n-hint: Name of time display format that shows time in samples (at the
+#. * current project sample rate)
+#: widgets/TimeTextCtrl.cpp:315
 msgid "samples"
-msgstr ""
+msgstr "vzorky"
 
-#: widgets/TimeTextCtrl.cpp:208
+#. i18n-hint: Format string for displaying time in samples (lots of samples).
+#. * Change the ',' to the 1000s separator for your locale, and translate
+#. * samples. If 1000s aren't a base multiple for your number system, then you
+#. * can change the numbers to an appropriate one, and put a 0 on the front
+#: widgets/TimeTextCtrl.cpp:320
 msgid "01000,01000,01000 samples|#"
-msgstr ""
+msgstr "01000,01000,01000 vzorky|#"
 
-#: widgets/TimeTextCtrl.cpp:209
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:323
 msgid "hh:mm:ss + film frames (24 fps)"
-msgstr ""
+msgstr "hh:mm:ss + filmových snímkov (24 fps)"
 
-#: widgets/TimeTextCtrl.cpp:210
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames at 24 frames per second. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames' . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:329
 msgid "0100 h 060 m 060 s+.24 frames"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.24 snímkov"
 
-#: widgets/TimeTextCtrl.cpp:211
+#. i18n-hint: Name of time display format that shows time in frames (lots of
+#. * frames) at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:332
 msgid "film frames (24 fps)"
-msgstr ""
+msgstr "filmové snímky (24 fps)"
 
-#: widgets/TimeTextCtrl.cpp:212
+#. i18n-hint: Format string for displaying time in frames at 24 frames per
+#. * second. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:335
 msgid "01000,01000 frames|24"
-msgstr ""
+msgstr "01000,01000 snímkov|24"
 
-#: widgets/TimeTextCtrl.cpp:213
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV drop-frame rate (used for American /
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:339
 msgid "hh:mm:ss + NTSC drop frames"
-msgstr ""
+msgstr "hh:mm:ss + NTSC odstránených snímkov"
 
-#: widgets/TimeTextCtrl.cpp:214
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the |N alone, it's important!
+#: widgets/TimeTextCtrl.cpp:344
 msgid "0100 h 060 m 060 s+.30 frames|N"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.30 snímkov|N"
 
-#: widgets/TimeTextCtrl.cpp:215
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:348
 msgid "hh:mm:ss + NTSC non-drop frames"
-msgstr ""
+msgstr "hh:mm:ss + NTSC neodstránených snímkov"
 
-#: widgets/TimeTextCtrl.cpp:216
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the | .999000999 alone,
+#. * the whole things really is slightly off-speed!
+#: widgets/TimeTextCtrl.cpp:354
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.030 snímkov| .999000999"
 
-#: widgets/TimeTextCtrl.cpp:217
+#. i18n-hint: Name of time display format that shows time in frames at NTSC
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:357
 msgid "NTSC frames"
-msgstr ""
+msgstr "NTSC snímky"
 
-#: widgets/TimeTextCtrl.cpp:218
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone. That really is the frame
+#. * rate!
+#: widgets/TimeTextCtrl.cpp:361
 msgid "01000,01000 frames|29.97002997"
-msgstr ""
+msgstr "01000,01000 snímkov|29.97002997"
 
-#: widgets/TimeTextCtrl.cpp:219
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at PAL TV frame rate (used for European TV)
+#: widgets/TimeTextCtrl.cpp:364
 msgid "hh:mm:ss + PAL frames (25 fps)"
-msgstr ""
+msgstr "hh:mm:ss + PAL snímky (25 fps)"
 
-#: widgets/TimeTextCtrl.cpp:220
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with PAL TV frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Nice simple time code!
+#: widgets/TimeTextCtrl.cpp:369
 msgid "0100 h 060 m 060 s+.25 frames"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.25 snímkov"
 
-#: widgets/TimeTextCtrl.cpp:221
+#. i18n-hint: Name of time display format that shows time in frames at PAL
+#. * TV frame rate (used for European TV
+#: widgets/TimeTextCtrl.cpp:372
 msgid "PAL frames (25 fps)"
-msgstr ""
+msgstr "PAL snímkov (25 fps)"
 
-#: widgets/TimeTextCtrl.cpp:222
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone.
+#: widgets/TimeTextCtrl.cpp:375
 msgid "01000,01000 frames|25"
-msgstr ""
+msgstr "01000,01000 snímkov|25"
 
-#: widgets/TimeTextCtrl.cpp:223
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at CD Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:378
 msgid "hh:mm:ss + CDDA frames (75 fps)"
-msgstr ""
+msgstr "hh:mm:ss + CDDA snímkov (75 fps)"
 
-#: widgets/TimeTextCtrl.cpp:224
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with CD Audio frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'.
+#: widgets/TimeTextCtrl.cpp:383
 msgid "0100 h 060 m 060 s+.75 frames"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.75 snímkov"
 
-#: widgets/TimeTextCtrl.cpp:225
+#. i18n-hint: Name of time display format that shows time in frames at CD
+#. * Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:386
 msgid "CDDA frames (75 fps)"
-msgstr ""
+msgstr "CDDA snímkov (75 fps)"
 
-#: widgets/TimeTextCtrl.cpp:226
+#. i18n-hint: Format string for displaying time in frames with CD Audio
+#. * frames. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:389
 msgid "01000,01000 frames|75"
-msgstr ""
+msgstr "01000,01000 snímkov|75"
 
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:461
 msgid "Use right mouse button or context key to change format"
-msgstr ""
+msgstr "Formát zmenite pomocou pravého tlačítka na myši alebo kontextovej klávesy"
 
-#: widgets/TimeTextCtrl.cpp:1376
+#: widgets/TimeTextCtrl.cpp:1495
 msgid "Time Control"
-msgstr ""
+msgstr "Časové ovládanie"
 
-#: ../src/widgets/Warning.cpp:53
+#: widgets/Warning.cpp:64
 msgid "Don't show this warning again"
 msgstr "Nezobrazovať znovu toto varovanie"
 
-#: ../src/xml/XMLFileReader.cpp:45
+#: xml/XMLFileReader.cpp:49
 #, c-format
 msgid "Could not open file: \"%s\""
 msgstr "Nie je možné otvoriť súbor: \"%s\""
@@ -8760,10 +9608,170 @@ msgstr "Nie je možné otvoriť súbor: \"%s\""
 #: xml/XMLFileReader.cpp:63
 #, c-format
 msgid "Error: %hs at line %lu"
-msgstr ""
+msgstr "Chyba: %hs na riadku %lu"
 
 #: xml/XMLFileReader.cpp:79
 #, c-format
 msgid "Could not load file: \"%s\""
-msgstr ""
+msgstr "Nie je možné nahrať súbor: \"%s\""
+
+#~ msgid "No"
+#~ msgstr "Nie"
+#~ msgid "Changing block %s\n"
+#~ msgstr "Mením blok %s\n"
+#~ msgid ""
+#~ "<p>You don't appear to have Audacity help files on your machine. Either "
+#~ "<a href=\"http://audacity.sourceforge.net/help/documentation\">download</"
+#~ "a> the help files and then access them again from Audacity by clicking "
+#~ "<i>Help</i> then <i>Index</i>, or click <a href=\"http://www.audacityteam."
+#~ "org/manual/index.php?title=Main_Page\">here</a> to read the full Manual "
+#~ "online."
+#~ msgstr ""
+#~ "<p>Zdá sa, že súbory s nápovedou k Audacity nie sú na vašom počítači. "
+#~ "Môžete buď <a href=\"http://audacity.sourceforge.net/help/documentation"
+#~ "\">stiahnuť</a> nápovedu a potom sa ku nej dostať z menu <i>Nápoveda</i>, "
+#~ "<i>Obsah</i>, alebo kliknite <a href=\"http://www.audacityteam.org/manual/"
+#~ "index.php?title=Main_Page\">sem</a> a môžete si prečítať celý manuál on-"
+#~ "line."
+#~ msgid "Disj&oin\tCtrl+Alt+J"
+#~ msgstr "Rozpo&jiť\tCtrl+Alt+J"
+#~ msgid "Select&..."
+#~ msgstr "Vybra&Å¥..."
+#~ msgid "Raw"
+#~ msgstr "Neformátované dáta"
+#~ msgid "Press F2 or double click to edit."
+#~ msgstr "Editujte stlačeným F2 alebo dvojklikom."
+#~ msgid "Edit"
+#~ msgstr "Upraviť"
+#~ msgid "Title:"
+#~ msgstr "Titul:"
+#~ msgid "Artist:"
+#~ msgstr "Interpret:"
+#~ msgid "Album:"
+#~ msgstr "Album:"
+#~ msgid "Composer:"
+#~ msgstr "Skladateľ:"
+#~ msgid "Lyricist:"
+#~ msgstr "Text:"
+#~ msgid "Comments:"
+#~ msgstr "Komentáre:"
+#~ msgid "Encoded By:"
+#~ msgstr "Enkódované:"
+#~ msgid "Copyright:"
+#~ msgstr "Autorské práva:"
+#~ msgid "Track Number:"
+#~ msgstr "Číslo stopy:"
+#~ msgid "Year:"
+#~ msgstr "Rok:"
+#~ msgid "Genre:"
+#~ msgstr "Žáner:"
+#~ msgid "No Genres"
+#~ msgstr "Žiadne žánre"
+#~ msgid "Reset to Defaults"
+#~ msgstr "Vrátiť predvolené nastavenie"
+#~ msgid "Basic"
+#~ msgstr "Základné"
+#~ msgid "Advanced"
+#~ msgstr "Rozšírené"
+#~ msgid "Value"
+#~ msgstr "Hodnota"
+#~ msgid "Clea&r"
+#~ msgstr "&Vymazať"
+#~ msgid ""
+#~ "Maximum length of attribute '%s' is %d characters. Data was truncated."
+#~ msgstr "Maximálna dĺžka atribútu '%s' je %d znakov. Dáta boli skrátené."
+#~ msgid "Title"
+#~ msgstr "Titul"
+#~ msgid "Artist"
+#~ msgstr "Interpret"
+#~ msgid "Album"
+#~ msgstr "Album"
+#~ msgid "Enter a sample rate in Hz (per second) between 1 and 100000:"
+#~ msgstr "Vložte rýchlosť v Hz (vzoriek za sekundu) v rozmedzí 1 a 100000:"
+#~ msgid "Invalid rate."
+#~ msgstr "Chybná rýchlosť."
+#~ msgid "Message"
+#~ msgstr "Správa"
+#~ msgid "Frequency (Hz):   from"
+#~ msgstr "Frekvencia (Hz):   z"
+#~ msgid "Length (seconds):   from"
+#~ msgstr "Dĺžka (sekundy):     od"
+#~ msgid "Dynamic Range Compressor by Dominic Mazzoni"
+#~ msgstr "Kompresor dynamického rozsahu od Dominica Mazzoniho"
+#~ msgid "Leveller by Lynn Allan"
+#~ msgstr "Úrovne (Leveller) od Lynna Allana"
+#~ msgid "Equalize soft and loud sections"
+#~ msgstr "Vyrovnať tiché a hlasité časti"
+#~ msgid "Normalize by Dominic Mazzoni"
+#~ msgstr "Normalizácia  od Dominica Mazzoniho"
+#~ msgid "Phaser by Nasca Octavian Paul"
+#~ msgstr "Fázer od Nasca Octavian Paul"
+#~ msgid "DRY"
+#~ msgstr "DRY"
+#~ msgid "WET"
+#~ msgstr "WET"
+#~ msgid "Repeat by Dominic Mazzoni && Vaughan Johnson"
+#~ msgstr "Opakovanie od Dominica Mazzoniho && Vaughana Johnsona"
+#~ msgid "%d minutes, %d seconds"
+#~ msgstr "%d minút, %d sekúnd"
+#~ msgid "Wahwah by Nasca Octavian Paul"
+#~ msgstr "Kvákadlo (Wahwah) od Nasca Octavian Paul"
+#~ msgid ""
+#~ "No tracks are selected! Use Ctrl-A (Select All)\n"
+#~ "Choose Export... to export all tracks."
+#~ msgstr ""
+#~ "Nie sú vybrané žiadne stopy!Použitím Ctrl-A (vybrať všetko)\n"
+#~ "a ďalej príkazom Exportovať... všetky stopy vyexportujete."
+#~ msgid "Download..."
+#~ msgstr "Stiahnuť..."
+#~ msgid "E&xport"
+#~ msgstr "E&xportovať"
+#~ msgid ""
+#~ "Audacity had to make a guess at the type of file.\n"
+#~ "The Audio may be bogus.\n"
+#~ "\n"
+#~ "If the audio is bogus, try renaming the file\n"
+#~ "so that it has the correct extension before opening it."
+#~ msgstr ""
+#~ "Audacity musel vykonať odhad na typ súboru. \n"
+#~ " Audio môže byť falošné. \n"
+#~ "\n"
+#~ "Ak je zvuk  falošný, skúste premenovať súbor \n"
+#~ " tak, aby bol správny aj keď sa otvorenie predĺži."
+#~ msgid "Error parsing Allegro file."
+#~ msgstr "Chyba pri načítaní  Allegro súboru."
+#~ msgid "Error parsing MIDI file."
+#~ msgstr "Chyba pri načítaní  MIDI súboru."
+#~ msgid "Importing %s File..."
+#~ msgstr "Importujem %s súbor..."
+#~ msgid ""
+#~ "&Software Playthrough: Play new track while recording it (uncheck when "
+#~ "recording \"stereo mix\")"
+#~ msgstr ""
+#~ "&Hardware Playthrough:Popri nahrávaní novej stopy ju zároveň prehrávať"
+#~ "(odškrtnite, ak nahrávate \"stereo mix\")"
+#~ msgid "Hold recorded data in memory until recording is stopped"
+#~ msgstr "Ponechať dáta v pamäti, kým nebude nahrávanie zastavené."
+#~ msgid "&Find Library"
+#~ msgstr "&Nájsť knižnicu"
+#~ msgid "WaveformDisplay"
+#~ msgstr "Zobrazenie krivky"
+#~ msgid "WaveformDBDisplay"
+#~ msgstr "Zobrazenie DB krivky"
+#~ msgid "SpectrumDisplay"
+#~ msgstr "Zobrazenie spektra"
+#~ msgid "SpectrumLogDisplay"
+#~ msgstr "Zobrazenie Log spektra"
+#~ msgid "PitchDisplay"
+#~ msgstr "Sklon Zobrazenia"
+#~ msgid "Real-time sample rate converter:"
+#~ msgstr "Konvertor vzorkovacej frekvencie v reálnom čase:"
+#~ msgid "High-quality sample rate converter:"
+#~ msgstr "Vysoko kvalitný konvertor vzorkovacej rýchlosti:"
+#~ msgid "Real-time dither:"
+#~ msgstr "Miešanie v reálnom čase:"
+#~ msgid "High-quality dither:"
+#~ msgstr "Vysoko kvalitné miešanie :"
+#~ msgid "Pause Recording on Silence"
+#~ msgstr "Prerušiť nahrávanie ak je ticho"
 
diff --git a/locale/sl.po b/locale/sl.po
index 7675c2e..36205d5 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -3,11 +3,12 @@
 # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
 #
 msgid ""
-msgstr "Project-Id-Version: Audacity 1.4\n"
+msgstr ""
+"Project-Id-Version: Audacity 1.4\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-11-09 20:10+0000\n"
-"PO-Revision-Date: 2008-11-18 16:55+0100\n"
-"Last-Translator: Martin Srebotnjak  <milrs at filmsi.net>\n"
+"POT-Creation-Date: 2009-06-30 22:14+0100\n"
+"PO-Revision-Date: 2009-07-11 22:23+0100\n"
+"Last-Translator: Martin Srebotnjak  <miles at filmsi.net>\n"
 "Language-Team: Martin Srebotnjak <miles at filmsi.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,10 +19,8 @@ msgstr "Project-Id-Version: Audacity 1.4\n"
 "X-Poedit-SourceCharset: iso-8859-1\n"
 
 #: AboutDialog.cpp:143
-#: AudacityApp.cpp:807
-#: Menus.cpp:955
-msgid "&About Audacity..."
-msgstr "&O programu Audacity ..."
+msgid "About Audacity..."
+msgstr "O programu Audacity ..."
 
 #: AboutDialog.cpp:157
 msgid "OK... Audacious!"
@@ -32,12 +31,12 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr "Audacity je prosto dostopen in brezplačen program, ki ga je razvila skupina prostovoljnih<a href=\"http://audacity.sourceforge.net/community/developers\">razvijalcev</a> s celega sveta. Hvaležni smo <a href=\"http://sourceforge.net\">SourceForge.net</a>, ki gosti naš projekt. Na voljo je za okolja Windows 98 ali novejša, MacOS X, Linux ter druge Unixu podobne sisteme. Starejše različice Audacity so na voljo tudi za Mac OS 9."
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "To je beta različica programa. Lahko vsebuje napake in nedokončane odlike. Zanašamo se na vaš odziv, obiščite našo spletno stran in nam sporočite morebitne napake in svoje želje za razvoj na naslov <b>feedback at audacityteam.org</b> (v ang.). Če potrebujete pomoč pri delu z Audacity, obiščite naš <a href=\"http://audacityteam.org/forum/\">forum (v ang.)</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "To je beta različica programa. Lahko vsebuje napake in nedokončane zmožnosti. Zanašamo se na vaš odziv, obiščite našo spletno stran in nam sporočite morebitne napake in svoje želje za razvoj <a href=\"mailto:feedback at audacityteam.org\">na naš naslov</a> (v ang.). Če potrebujete pomoč pri delu z Audacity, obiščite naš <a href=\"http://audacityteam.org/forum/\">forum (v ang.)</a>."
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
-msgstr "To je stabilna, zaključena izdaja programa Audacity. Če opazite hrošča ali imate predloge, nam, prosimo, pišite na naslov <b>feedback at audacityteam.org</b>. Za več informacij o rabi Audacity obiščite naš  <a href=\"http://audacityteam.org/forum/\">forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgstr "To je stabilna, zaključena izdaja programa Audacity. Če opazite hrošča ali imate predloge, nam, prosimo, pišite <a href=\"mailto:feedback at audacityteam.org\">na naš naslov</a> (v angl.). Za več informacij o rabi Audacity obiščite naš  <a href=\"http://audacityteam.org/forum/\">forum</a> (v angl.)."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -89,8 +88,8 @@ msgid "Special thanks:"
 msgstr "Posebna zahvala:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr "Program <b>Audacity&reg;</b> je avtorsko delo &copy; 1999-2008 ekipe Audacity. <br>Ime <b>Audacity&reg;</b> je registrirana blagovna znamka Dominica Mazzonija."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "Program <b>Audacity&reg;</b> je avtorsko delo &copy; 1999-2009 ekipe Audacity. <br>Ime <b>Audacity&reg;</b> je registrirana blagovna znamka Dominica Mazzonija."
 
 #: AboutDialog.cpp:258
 msgid "Audacity"
@@ -99,7 +98,7 @@ msgstr "Audacity"
 #. i18n-hint: Information about when audacity was compiled
 #: AboutDialog.cpp:304
 #: AboutDialog.cpp:317
-#: AboutDialog.cpp:473
+#: AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Informacije o gradnji"
 
@@ -159,183 +158,210 @@ msgstr "Temeljne knjižnice"
 msgid "Sample rate conversion"
 msgstr "Pretvorba frekvence vzorčenja"
 
-#: AboutDialog.cpp:402
-#: AboutDialog.cpp:405
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Predvajanje in snemanje zvoka"
 
-#: AboutDialog.cpp:418
+#: AboutDialog.cpp:413
 msgid "Features"
 msgstr "Odlike"
 
-#: AboutDialog.cpp:422
+#: AboutDialog.cpp:417
+#: AboutDialog.cpp:420
 #: AboutDialog.cpp:425
-#: AboutDialog.cpp:430
+#: AboutDialog.cpp:428
 #: AboutDialog.cpp:433
-#: AboutDialog.cpp:438
+#: AboutDialog.cpp:436
 #: AboutDialog.cpp:441
-#: AboutDialog.cpp:446
-#: AboutDialog.cpp:449
+#: AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Podpora za vtičnike"
 
-#: AboutDialog.cpp:454
-#: AboutDialog.cpp:457
+#: AboutDialog.cpp:449
+#: AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Podpora za mešalne zvočne vmesnike"
 
-#: AboutDialog.cpp:462
-#: AboutDialog.cpp:465
+#: AboutDialog.cpp:457
+#: AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Podpora spremembi višine tona in tempa"
 
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:472
 msgid "Program build date: "
 msgstr "Datum izdelave programa: "
 
-#: AboutDialog.cpp:480
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:475
+#: AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Vrsta gradnje:"
 
-#: AboutDialog.cpp:480
+#: AboutDialog.cpp:475
 msgid "Debug build"
 msgstr "Izdaja za razhroščevanje"
 
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:477
 msgid "Release build"
 msgstr "Uradna izdaja"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
-#: AboutDialog.cpp:487
+#: AboutDialog.cpp:482
 msgid "Installation Prefix: "
 msgstr "Namestitvena predpona poti: "
 
-#: AboutDialog.cpp:491
+#: AboutDialog.cpp:486
 msgid "Settings folder: "
 msgstr "Mapa z nastavitvami:"
 
-#: AboutDialog.cpp:506
+#: AboutDialog.cpp:501
 msgid "GPL License"
 msgstr "Licenca GPL"
 
-#: AudacityApp.cpp:507
-#: Project.cpp:1844
+#: AudacityApp.cpp:677
+#: Project.cpp:2031
 #, c-format
 msgid "%s is already open in another window."
 msgstr "Projekt %s je že odprt v drugem oknu."
 
-#: AudacityApp.cpp:509
-#: Project.cpp:1846
-#: Project.cpp:1951
-#: Project.cpp:2095
-#: Project.cpp:2232
+#: AudacityApp.cpp:679
+#: Project.cpp:2033
+#: Project.cpp:2153
+#: Project.cpp:2301
+#: Project.cpp:2433
 msgid "Error opening project"
 msgstr "Napaka pri odpiranju projekta"
 
-#: AudacityApp.cpp:541
+#: AudacityApp.cpp:705
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s ne obstaja in je ni mogoče odpreti.\n"
+msgstr ""
+"%s ne obstaja in je ni mogoče odpreti.\n"
 "\n"
 "Odstranjeno s seznama zgodovine."
 
-#: AudacityApp.cpp:643
+#: AudacityApp.cpp:812
 msgid "Master Gain Control"
 msgstr "Glavni nadzor krepitve"
 
-#: AudacityApp.cpp:644
+#: AudacityApp.cpp:813
 msgid "Input Meter"
 msgstr "Vhodno merilo"
 
-#: AudacityApp.cpp:645
+#: AudacityApp.cpp:814
 msgid "Output Meter"
 msgstr "Merilo izhoda"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:809
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Nastavitve ...\tCtrl+,"
+#: AudacityApp.cpp:973
+#: Menus.cpp:199
+msgid "&New"
+msgstr "&Nov"
+
+#: AudacityApp.cpp:974
+#: Menus.cpp:203
+msgid "&Open..."
+msgstr "&Odpri ..."
+
+#: AudacityApp.cpp:975
+msgid "Open &Recent..."
+msgstr "Odpri ne&davne ..."
+
+#: AudacityApp.cpp:976
+#: Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&O programu Audacity ..."
+
+#: AudacityApp.cpp:977
+msgid "&Preferences..."
+msgstr "&Nastavitve ..."
 
-#: AudacityApp.cpp:901
-#: AudacityApp.cpp:978
+#: AudacityApp.cpp:1068
+#: AudacityApp.cpp:1145
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Uporaba velikosti gruče %ld\n"
 
-#: AudacityApp.cpp:923
-#: AudacityApp.cpp:993
+#: AudacityApp.cpp:1090
+#: AudacityApp.cpp:1160
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Neznan ukaz v opravilni vrstici: %s\n"
 
-#: AudacityApp.cpp:1127
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1314
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity ni našel prostora za začasne datoteke.\n"
+msgstr ""
+"Audacity ni našel prostora za začasne datoteke.\n"
 "Prosimo, da vnesete primerno pot do mape v dialogu nastavitev."
 
-#: AudacityApp.cpp:1133
+#: AudacityApp.cpp:1320
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
 msgstr "Audacity se zapira. Prosimo, znova zaženite Audacity, da boste lahko uporabljali novo začasno mapo."
 
-#: AudacityApp.cpp:1165
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1352
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
-msgstr "Poganjanje dveh kopij Audacity hkrati lahko povzroči\n"
+msgstr ""
+"Poganjanje dveh kopij Audacity hkrati lahko povzroči\n"
 "izgubo podatkov ali sesuje vaš sistem.\n"
 "\n"
 
-#: AudacityApp.cpp:1172
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1359
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
-msgstr "Audacity ne more zakleniti mape začasnih datotek.\n"
+msgstr ""
+"Audacity ne more zakleniti mape začasnih datotek.\n"
 "To mapo morda uporablja drugi Audacity.\n"
 
-#: AudacityApp.cpp:1174
+#: AudacityApp.cpp:1361
 msgid "Do you still want to start Audacity?"
 msgstr "Želite vseeno zagnati Audacity?"
 
-#: AudacityApp.cpp:1176
+#: AudacityApp.cpp:1363
 msgid "Error locking temporary folder"
 msgstr "Napaka pri zaklepanju začasne mape"
 
-#: AudacityApp.cpp:1214
+#: AudacityApp.cpp:1401
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "Sistem je zaznal, da Audacity že teče.\n"
 
-#: AudacityApp.cpp:1216
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1403
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
-msgstr "Uporabite ukaza Nov ali Odpri v trenutno zagnanem procesu Audacity,\n"
+msgstr ""
+"Uporabite ukaza Nov ali Odpri v trenutno zagnanem procesu Audacity,\n"
 "da odprete več projektov hkrati.\n"
 
-#: AudacityApp.cpp:1217
+#: AudacityApp.cpp:1404
 msgid "Audacity is already running"
 msgstr "Audacity je že zagnan."
 
-#: AudacityApp.cpp:1234
+#: AudacityApp.cpp:1421
 msgid "Command-line options supported:"
 msgstr "Podprte možnosti ukazne vrstice:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1237
+#: AudacityApp.cpp:1424
 msgid "\t-help (this message)"
 msgstr "\t-help (to sporočilo)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1239
+#: AudacityApp.cpp:1426
 msgid "\t-version (display Audacity version)"
 msgstr "\t-version (prikaži različico Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1243
+#: AudacityApp.cpp:1430
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (zaženi samodiagnostiko)"
 
@@ -343,66 +369,91 @@ msgstr "\t-test (zaženi samodiagnostiko)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1248
+#: AudacityApp.cpp:1435
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn (nastavite največjo velikost diskovnega bloka v bajtih)"
 
-#: AudacityApp.cpp:1249
+#: AudacityApp.cpp:1436
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
 msgstr "Dodatno navedite ime ime zvočne datoteke ali projekta Audacity, ki ga želite odpreti."
 
-#: AudacityApp.cpp:1529
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1747
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Projektne datoteke Audacity (.AUP) trenutno \n"
+msgstr ""
+"Projektne datoteke Audacity (.AUP) trenutno \n"
 "niso povezane z Audacity.\n"
 "\n"
 "Jih želite povezati, tako da jih boste odpirali z dvojnim klikom?"
 
-#: AudacityApp.cpp:1530
+#: AudacityApp.cpp:1748
 msgid "Audacity Project Files"
 msgstr "Projektne datoteke Audacity"
 
-#: AudioIO.cpp:254
+#: AudioIO.cpp:261
 msgid "Could not find any audio devices.\n"
 msgstr "Nobene zvočne naprave ni mogoče najti.\n"
 
-#: AudioIO.cpp:255
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:262
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Ne boste mogli predvajati ali snemati zvoka.\n"
+msgstr ""
+"Ne boste mogli predvajati ali snemati zvoka.\n"
 "\n"
 
-#: AudioIO.cpp:258
+#: AudioIO.cpp:265
+#: AudioIO.cpp:285
 msgid "Error: "
 msgstr "Napaka:"
 
-#: AudioIO.cpp:261
+#: AudioIO.cpp:268
 msgid "Error Initializing Audio"
 msgstr "Napaka pri inicializaciji zvoka"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "Težava z latenco"
+#: AudioIO.cpp:281
+msgid "There was an error initializing the midi i/o layer.\n"
+msgstr "Pri inicializaciji V/I ravni MIDI je prišlo do napake.\n"
+
+#: AudioIO.cpp:282
+msgid ""
+"You will not be able to play midi.\n"
+"\n"
+msgstr ""
+"Ne boste mogli predvajati MIDI.\n"
+"\n"
+
+#: AudioIO.cpp:288
+msgid "Error Initializing Midi"
+msgstr "Napaka pri inicializaciji za MIDI"
 
-#: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1300
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "Nastavitev latence je povzročila, da je posneti zvok skrit pred vrednostjo nič.\n"
+msgstr ""
+"Nastavitev latence je povzročila, da je posneti zvok skrit pred vrednostjo nič.\n"
 "Audacity je posnetek vrnil nazaj na vrednost nič.\n"
 "Morda boste morali uporabiti orodje Časovni zamik (<---> ali F5), da povlečete sled na pravo mesto."
 
+#: AudioIO.cpp:1301
+msgid "Latency problem"
+msgstr "Težava z latenco"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Samodejna obnovitev po sesutju"
 
 #: AutoRecovery.cpp:73
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
-msgstr "Zadnjič, ko ste uporabljali Audacity, nekateri projekti niso bili pravilno shranjeni.\n"
+msgstr ""
+"Zadnjič, ko ste uporabljali Audacity, nekateri projekti niso bili pravilno shranjeni.\n"
 "Na srečo lahko naslednje projekte obnovite samodejno:"
 
 #: AutoRecovery.cpp:75
@@ -410,7 +461,6 @@ msgid "Recoverable projects"
 msgstr "Obnovljivi projekti"
 
 #: AutoRecovery.cpp:78
-#: Tags.cpp:2041
 msgid "Name"
 msgstr "Ime"
 
@@ -431,9 +481,11 @@ msgid "Recover Projects"
 msgstr "Obnovi projekte"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
-msgstr "Ste prepričani, da ne želite obnoviti nobenega projekta?\n"
+msgstr ""
+"Ste prepričani, da ne želite obnoviti nobenega projekta?\n"
 "Kasneje jih ne boste več mogli obnoviti."
 
 #: AutoRecovery.cpp:128
@@ -447,24 +499,25 @@ msgstr "Datotek v mapi samodejnega shranjevanja ni mogoče oštevilčiti"
 
 #: AutoRecovery.cpp:147
 #: AutoRecovery.cpp:184
-#: Menus.cpp:3053
-#: Menus.cpp:3065
-#: Menus.cpp:5182
-#: Project.cpp:2054
-#: Project.cpp:3615
-#: Project.cpp:3694
-#: TrackPanel.cpp:6385
-#: WaveTrack.cpp:598
-#: WaveTrack.cpp:617
-#: WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077
-#: WaveTrack.cpp:2087
-#: effects/Effect.cpp:513
-#: export/ExportMP2.cpp:233
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:247
-#: toolbars/ControlToolBar.cpp:542
-#: toolbars/ControlToolBar.cpp:871
+#: Menus.cpp:3278
+#: Menus.cpp:3290
+#: Menus.cpp:5359
+#: Project.cpp:2260
+#: Project.cpp:3882
+#: Project.cpp:3968
+#: TrackPanel.cpp:6505
+#: WaveTrack.cpp:977
+#: WaveTrack.cpp:996
+#: WaveTrack.cpp:2022
+#: effects/Contrast.cpp:144
+#: effects/Contrast.cpp:154
+#: effects/Effect.cpp:546
+#: export/ExportFFmpeg.cpp:655
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195
+#: prefs/KeyConfigPrefs.cpp:372
+#: toolbars/ControlToolBar.cpp:581
+#: toolbars/ControlToolBar.cpp:916
 msgid "Error"
 msgstr "Napaka"
 
@@ -475,8 +528,6 @@ msgid "Select Command"
 msgstr "Izberite ukaz"
 
 #: BatchCommandDialog.cpp:82
-#: BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Ukaz"
 
@@ -485,7 +536,6 @@ msgid "&Edit Parameters"
 msgstr "&Uredi parametre"
 
 #: BatchCommandDialog.cpp:91
-#: BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Parametri"
 
@@ -493,50 +543,54 @@ msgstr "&Parametri"
 msgid "C&hoose command"
 msgstr "&Izberi ukaz"
 
-#: BatchCommands.cpp:456
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr "Učinka Stereo v mono ni mogoče najti"
 
-#: BatchCommands.cpp:476
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "V tej različici Audacity podpora Ogg Vorbis še ne deluje."
 
-#: BatchCommands.cpp:488
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr "V to različico Audacity podpora FLAC še ni vključena."
 
-#: BatchCommands.cpp:492
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "Ukaz %s Å¡e ni implementiran"
 
-#: BatchCommands.cpp:508
+#: BatchCommands.cpp:507
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
-msgstr "Parametre učinka %s ni mogoče nastaviti\n"
+msgstr ""
+"Parametre učinka %s ni mogoče nastaviti\n"
 " na %s."
 
-#: BatchCommands.cpp:561
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "Vaš paketni ukaz za %s ni bil prepoznan."
 
-#: BatchCommands.cpp:652
+#: BatchCommands.cpp:651
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
-msgstr "Uporabi %s s parametri\n"
+msgstr ""
+"Uporabi %s s parametri\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:653
-#: BatchCommands.cpp:658
+#: BatchCommands.cpp:652
+#: BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Preizkusni način"
 
-#: BatchCommands.cpp:657
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "Uporabi %s"
@@ -568,22 +622,17 @@ msgid "Apply to &Files..."
 msgstr "Uporabi na &datotekah ..."
 
 #: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2080
-#: Tags.cpp:2084
-#: Tags.cpp:2384
-#: Tags.cpp:2388
+#: BatchProcessDialog.cpp:245
 #: UploadDialog.cpp:180
 #: effects/AvcCompressor.cpp:732
 #: effects/ChangeLength.cpp:183
 #: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:453
-#: effects/audiounits/AudioUnitEffect.cpp:887
+#: effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
 msgstr "Pre&kliči"
 
 #: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:189
 msgid "No chain selected"
 msgstr "Izbrana ni nobena veriga"
 
@@ -592,120 +641,126 @@ msgstr "Izbrana ni nobena veriga"
 msgid "Applying '%s' to current project"
 msgstr "Uporaba '%s' na trenutnem projektu"
 
-#: BatchProcessDialog.cpp:200
+#: BatchProcessDialog.cpp:198
 msgid "Please save and close the current project first."
 msgstr "Prosimo, najprej shranite in zaprite trenutni projekt."
 
-#: BatchProcessDialog.cpp:206
+#: BatchProcessDialog.cpp:204
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
 msgstr "Izberite vokalne datoteke za paketno obdelavo PočistiGovor ..."
 
-#: BatchProcessDialog.cpp:207
+#: BatchProcessDialog.cpp:205
 msgid "Select file(s) for batch processing..."
 msgstr "Izberite datoteke za paketno obdelavo ..."
 
-#: BatchProcessDialog.cpp:209
+#: BatchProcessDialog.cpp:207
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
 msgstr "Vokalne datoteke (*.wav;*.mp3)|*.wav;*.mp3|Datoteke WAV (*.wav)|*.wav|Datoteke MP3 (*.mp3)|*.mp3"
 
-#: BatchProcessDialog.cpp:210
+#: BatchProcessDialog.cpp:208
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
 msgstr "Vse datoteke (*.*)|*.*|Datoteka WAV (*.wav)|*.wav|Datoteke AIFF (*.aif)|*.aif|Datoteke AU (*.au)|*.au|Datoteke MP3 (*.mp3)|*.mp3|Datoteke Ogg Vorbis (*.ogg)|*.ogg|Datoteke FLAC (*.flac)|*.flac"
 
-#: BatchProcessDialog.cpp:231
+#: BatchProcessDialog.cpp:229
 msgid "Applying..."
 msgstr "Izvajanje ..."
 
-#: BatchProcessDialog.cpp:241
+#: BatchProcessDialog.cpp:239
 msgid "File"
 msgstr "Datoteka"
 
+#: BatchProcessDialog.cpp:352
 #: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
-#: BatchProcessDialog.cpp:361
+#: BatchProcessDialog.cpp:357
 msgid "Edit Chains"
 msgstr "Uredi verige"
 
-#: BatchProcessDialog.cpp:416
+#: BatchProcessDialog.cpp:412
 msgid "&Chains"
 msgstr "&Verige"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:826
-#: Tags.cpp:1465
-#: Tags.cpp:2064
+#: BatchProcessDialog.cpp:431
+#: Tags.cpp:825
 msgid "&Add"
 msgstr "&Dodaj"
 
-#: BatchProcessDialog.cpp:436
+#: BatchProcessDialog.cpp:432
 #: LabelDialog.cpp:128
-#: Tags.cpp:827
-#: Tags.cpp:1466
-#: Tags.cpp:2065
-#: TrackPanel.cpp:4176
+#: Tags.cpp:826
 msgid "&Remove"
 msgstr "&Odstrani"
 
-#: BatchProcessDialog.cpp:437
+#: BatchProcessDialog.cpp:433
 msgid "Re&name"
 msgstr "&Preimenuj"
 
-#: BatchProcessDialog.cpp:443
+#: BatchProcessDialog.cpp:439
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr "V&eriga (dvokliknite ali pritisnite preslednico za urejanje)"
 
 #. i18n-hint: This is the number of the command in the list
-#: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Ne"
+#: BatchProcessDialog.cpp:449
+msgid "Num"
+msgstr "Å t"
+
+#: BatchProcessDialog.cpp:450
+#: commands/CommandManager.cpp:108
+#: prefs/KeyConfigPrefs.cpp:180
+msgid "Command"
+msgstr "Ukaz"
+
+#: BatchProcessDialog.cpp:451
+#: effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr "Parametri"
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:455
 msgid "&Insert"
 msgstr "&Vstavi"
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:456
 msgid "De&lete"
 msgstr "&Izbriši"
 
-#: BatchProcessDialog.cpp:461
+#: BatchProcessDialog.cpp:457
 msgid "Move &Up"
 msgstr "Premakni &gor"
 
-#: BatchProcessDialog.cpp:462
+#: BatchProcessDialog.cpp:458
 msgid "Move &Down"
 msgstr "Premakni &dol"
 
-#: BatchProcessDialog.cpp:463
+#: BatchProcessDialog.cpp:459
 msgid "De&faults"
 msgstr "P&rivzeto"
 
-#: BatchProcessDialog.cpp:507
+#: BatchProcessDialog.cpp:503
 msgid "- END -"
 msgstr "- KONEC -"
 
-#: BatchProcessDialog.cpp:540
+#: BatchProcessDialog.cpp:536
 #, c-format
 msgid "%s changed"
 msgstr "%s je spremenjena"
 
-#: BatchProcessDialog.cpp:541
+#: BatchProcessDialog.cpp:537
 msgid "Do you want to save the changes?"
 msgstr "Želite shraniti spremembe?"
 
-#: BatchProcessDialog.cpp:623
+#: BatchProcessDialog.cpp:619
 msgid "Enter name of new chain"
 msgstr "Vnesite ime nove verige"
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:630
 msgid "Name must not be blank"
 msgstr "Ime ne sme biti prazno"
 
-#: BatchProcessDialog.cpp:643
+#: BatchProcessDialog.cpp:639
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
 msgstr "Imena ne smejo vsebovati '%c'in '%c'"
 
-#: BatchProcessDialog.cpp:673
+#: BatchProcessDialog.cpp:669
 #, c-format
 msgid "Are you sure you want to delete %s?"
 msgstr "Ste prepričani, da želite izbrisati %s?"
@@ -718,259 +773,275 @@ msgstr "Odstranjevanje odvisnosti"
 msgid "Copying audio data into project..."
 msgstr "Kopiranje zvočnih podatkov v projekt ..."
 
-#: Dependencies.cpp:223
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
-msgstr "Vaš projekt je trenutno odvisen od prisotnosti drugih datotek.\n"
+msgstr ""
+"Vaš projekt je trenutno odvisen od prisotnosti drugih datotek.\n"
 "Želite kopirati zvok naslednjih datotek v svoj projekt, da ga naredite samozadostnega?\n"
 "Zahteva več prostora na disku, vendar je varneje."
 
-#: Dependencies.cpp:270
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr "Projekt je odvisen od drugih zvočnih datotek"
 
-#: Dependencies.cpp:291
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Odvisnosti projekta"
 
-#: Dependencies.cpp:294
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr "Zvočna datoteka"
 
-#: Dependencies.cpp:296
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Prostor na disku"
 
-#: Dependencies.cpp:301
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr "Kopiraj izbrane zvoke v projekt"
 
-#: Dependencies.cpp:308
-#: Dependencies.cpp:414
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Prekliči shranjevanje"
 
-#: Dependencies.cpp:310
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "Ne kopiraj nobenega zvoka"
 
-#: Dependencies.cpp:312
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Kopiraj ves zvok v projekt (varneje)"
 
-#: Dependencies.cpp:321
-#: Dependencies.cpp:326
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Vprašaj me"
 
-#: Dependencies.cpp:322
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Vedno kopiraj vse zvoke (najbolj varno)"
 
-#: Dependencies.cpp:323
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Nikoli ne kopiraj zvokov"
 
-#: Dependencies.cpp:325
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Vsakokrat, ko je projekt odvisen od drugih datotek:"
 
-#: Dependencies.cpp:413
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr "Če nadaljujete, vaš projekt ne bo shranjen na disk. Res to želite storiti?"
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr "Vaš projekt samozadosten; ni odvisen od nobene zunanje zvočne datoteke."
 
-#: Dependencies.cpp:454
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Preverjanje odvisnosti"
 
-#: DirManager.cpp:137
-msgid "Warning: there is very little free disk space left on this volume.\n"
-"Please select another temporary directory in your preferences."
-msgstr "Opozorilo: zmanjkuje prostora na tem disku.\n"
+#: DirManager.cpp:136
+msgid ""
+"There is very little free disk space left on this volume.\n"
+"Please select another temporary directory in Preferences."
+msgstr ""
+"Na tem pogonu zmanjkuje prostora.\n"
 "Prosimo, da izberete drugo začasno mapo v oknu Nastavitve."
 
-#: DirManager.cpp:223
-#: DirManager.cpp:254
-#: DirManager.cpp:337
+#: DirManager.cpp:221
+#: DirManager.cpp:252
+#: DirManager.cpp:335
 msgid "Progress"
 msgstr "Potek"
 
-#: DirManager.cpp:288
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Čiščenje začasnih datotek"
 
-#: DirManager.cpp:338
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Shranjevanje projektnih datotek"
 
-#: DirManager.cpp:410
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Čiščenje map medpomnilnika"
 
-#: DirManager.cpp:505
+#: DirManager.cpp:503
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "Preveritev projekta je našla osirotelo blokovno datoteko %s! \n"
+msgstr ""
+"Preveritev projekta je našla osirotelo blokovno datoteko %s! \n"
 "Predlagamo shranitev in ponovno odprtje projekta, da izvedete popolno preveritev projekta.\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: DirManager.cpp:1094
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-stari%d"
 
-#: DirManager.cpp:1102
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr "Preizkusne datoteke ni mogoče odpreti/ustvariti"
 
-#: DirManager.cpp:1111
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "'%s' ni mogoče odstraniti"
 
-#: DirManager.cpp:1116
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Preimenovana datoteka: %s\n"
 
-#: DirManager.cpp:1160
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "'%s' ni mogoče preimenovati v '%s'"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "Blok %s spremenjen v nov vzdevek\n"
 
-#: DirManager.cpp:1224
-#: DirManager.cpp:1515
+#: DirManager.cpp:1247
+#: DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Pregledovanje podatkov projektne datoteke ..."
 
-#: DirManager.cpp:1240
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Osirotela bločna datoteka: (%s)"
 
-#: DirManager.cpp:1265
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "Manjkajoča psevdo-datoteka: (%s)"
 
-#: DirManager.cpp:1285
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "Manjkajoča datoteka s povzetkom: (%s.auf)"
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "Manjkajoča podatkovna datoteka: (%s.au)"
 
-#: DirManager.cpp:1319
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1342
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr "Preveritev projekta je pokazala na nekonsistentnost pri naloženih podatkih projekta;\n"
+msgstr ""
+"Preveritev projekta je pokazala na nekonsistentnost pri naloženih podatkih projekta;\n"
 "kliknite 'Podrobnosti' za popoln seznam napak ali 'V redu' za nadaljevanje k več možnostim."
 
-#: DirManager.cpp:1331
+#: DirManager.cpp:1354
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr "Preveritev projekta je našla %d osirotelih blokovnih datotek. Te datoteke\n"
+msgstr ""
+"Preveritev projekta je našla %d osirotelih blokovnih datotek. Te datoteke\n"
 "niso v rabi in so najbrž ostale od sesutja ali kakšnega drugega hrošča.\n"
 "Najbolje bi jih bilo izbrisati, da se izognete težavam v prihodnje."
 
-#: DirManager.cpp:1336
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Izbriši osirotele datoteke [varno in priporočeno]"
 
-#: DirManager.cpp:1337
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Nadaljuj brez brisanja; tiho delaj z dodatnimi datotekami"
 
-#: DirManager.cpp:1338
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Nemudoma zapri projekt brez sprememb"
 
-#: DirManager.cpp:1340
-#: DirManager.cpp:1375
-#: DirManager.cpp:1421
-#: DirManager.cpp:1463
-#: export/Export.cpp:576
-#: export/Export.cpp:597
-#: export/Export.cpp:616
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1363
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
+#: export/Export.cpp:581
+#: export/Export.cpp:602
+#: export/Export.cpp:621
+#: widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Opozorilo"
 
-#: DirManager.cpp:1366
+#: DirManager.cpp:1389
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "Preveritev projekta je zaznala, da %d nadomestnih vhodnih datotek\n"
+msgstr ""
+"Preveritev projekta je zaznala, da %d nadomestnih vhodnih datotek\n"
 "('psevdo-datoteke') manjkajo.  Audacity na noben način ne more\n"
 "teh datotek samodejno obnoviti; izberete lahko, da se manjkajoče\n"
 "datoteke za vedno zapolnijo s tišino, začasno zapolnijo\n"
 "s tišino le za to sejo ali zaprete projekt zdaj in poskusite\n"
 "ročno obnoviti manjkajoče datoteke."
 
-#: DirManager.cpp:1371
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Zamenjaj manjkajoče podatke s tišino [vedno ob shranjevanju]"
 
-#: DirManager.cpp:1372
-#: DirManager.cpp:1460
+#: DirManager.cpp:1395
+#: DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Začasno zamenjaj manjkajoče podatke s tišino [samo za to sejo]"
 
-#: DirManager.cpp:1373
-#: DirManager.cpp:1419
-#: DirManager.cpp:1461
+#: DirManager.cpp:1396
+#: DirManager.cpp:1442
+#: DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Takoj zapri projekt brez nadaljnjih sprememb"
 
-#: DirManager.cpp:1412
+#: DirManager.cpp:1435
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr "Preveritev projekta je zaznala %d manjkajočih datotek povzetkov (.auf).\n"
+msgstr ""
+"Preveritev projekta je zaznala %d manjkajočih datotek povzetkov (.auf).\n"
 "Audacity lahko v celoti regenerira te datoteke povzetkov iz\n"
 "izvornih zvočnih podatkov projekta."
 
-#: DirManager.cpp:1417
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Ponovno ustvari datoteke povzetka [varno in priporočeno]"
 
-#: DirManager.cpp:1418
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Zapolni s tišino manjkajoče podatke za prikaz [samo za to sejo]"
 
-#: DirManager.cpp:1454
+#: DirManager.cpp:1477
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr "Preveritev projekta je zaznala, da manjka %d zvočnih podatkovnih blokov (.au), \n"
+msgstr ""
+"Preveritev projekta je zaznala, da manjka %d zvočnih podatkovnih blokov (.au), \n"
 "najverjetneje zaradi hroščev, sesutja sistema ali izbrisa po nesreči.\n"
 "Audacity na noben način ne more obnoviti izgubljenih podatkov\n"
 "samodejno; izberete lahko trajno zapolnitev manjkajočih podatkov\n"
@@ -978,27 +1049,27 @@ msgstr "Preveritev projekta je zaznala, da manjka %d zvočnih podatkovnih blokov
 "zaprete projekt zdaj in poskusite obnoviti manjkajoče\n"
 "podatke ročno."
 
-#: DirManager.cpp:1459
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "Zamenjaj manjkajoče podatke s tišino [vedno odslej]"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr "Čiščenje neuporabljenih map v podatkih projekta ..."
 
-#: DirManager.cpp:1558
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Medpomnjenje zvoka"
 
-#: DirManager.cpp:1559
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Shranjevanje zvoka v spomin ..."
 
-#: DirManager.cpp:1592
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Shranjevanje posnetega zvoka"
 
-#: DirManager.cpp:1593
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr "Shranjevanje posnetega zvoka na disk ..."
 
@@ -1006,254 +1077,309 @@ msgstr "Shranjevanje posnetega zvoka na disk ..."
 msgid "Rectangular"
 msgstr "Pravokotno"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "Podpora za FFmpeg ni prevedena v"
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
+"FFmpeg je bil nastavljen v Možnostih in že uspešno naložen,                       \n"
+"vendar ga tokrat Audacity ob zagonu ne more naložiti.                       \n"
+"\n"
+"Morda znova preverite Nastavitve > Knjižnice in ga ponovno nastavite."
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "Zagon FFmpeg ni uspel"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
 msgstr "Knjižnice FFmpeg ni mogoče najti"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
 msgstr "Najdi FFmpeg"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
 msgstr "Audacity potrebuje datoteko %s za uvoz in izvoz zvoka prek FFmpeg."
 
-#: FFmpeg.cpp:196
+#: FFmpeg.cpp:434
 #: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Mesto %s:"
 
-#: FFmpeg.cpp:205
+#: FFmpeg.cpp:443
 #: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Če želite poiskati %s, kliknite sem -->"
 
-#: FFmpeg.cpp:211
+#: FFmpeg.cpp:449
 #: export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Prebrskaj ..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Če želite brezplačno kopijo FFmpeg, kliknite sem -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451
+#: export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "Prenesi"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:235
+#: FFmpeg.cpp:473
 #: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Kje je %s?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "Kompatibilnih knjižnic FFmpeg ni mogoče najti"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
 msgstr "FFmpeg ni mogoče najti"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
+"Audacity skuša uporabiti knjižnice FFmpeg za uvoz zvočne datoteke,\n"
+"vendar knjižnic ni mogoče najti.\n"
+"\n"
+"Če želite uporabljati uvoz FFmpeg, odprite Nastavitve->Knjižnice,\n"
+"da prenesete ali poiščete knjižnice FFmpeg."
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "Tega opozorila ne prikaži več"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:264
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Samo avformat.dll|*avformat*.dll|Dinamično povezane knjižnice (*.dll)|*.dll|Vse datoteke (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "Dinamične knjižnice (*.dylib)|*.dylib|Vse datoteke (*)|*"
 
-#: FFmpeg.h:295
+#: FFmpeg.h:324
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "Samo libavformat.so|libavformat.so*|Dinamično povezane knjižnice (*.so)|*.so|Vse datoteke (*)|*"
 
-#: FreqWindow.cpp:103
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Analiza frekvence"
 
-#: FreqWindow.cpp:139
-#: TrackPanel.cpp:556
-#: prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:163
+#: TrackPanel.cpp:611
+#: prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Spekter"
 
-#: FreqWindow.cpp:140
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Standardna samodejna korelacija"
 
-#: FreqWindow.cpp:141
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Samodejna korelacija Cuberoot"
 
-#: FreqWindow.cpp:142
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Razširjena samodejna korelacija"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: FreqWindow.cpp:146
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150
-#: FreqWindow.cpp:154
+#: FreqWindow.cpp:174
+#: FreqWindow.cpp:178
 msgid "Algorithm"
 msgstr "Algoritem"
 
-#: FreqWindow.cpp:169
-#: FreqWindow.cpp:173
+#: FreqWindow.cpp:193
+#: FreqWindow.cpp:197
 #: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Velikost"
 
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: FreqWindow.cpp:183
+#: FreqWindow.cpp:207
 msgid " window"
 msgstr " okno"
 
-#: FreqWindow.cpp:187
-#: FreqWindow.cpp:191
+#: FreqWindow.cpp:211
+#: FreqWindow.cpp:215
 msgid "Function"
 msgstr "Funkcija"
 
-#: FreqWindow.cpp:196
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "Linearna frekvenca"
 
-#: FreqWindow.cpp:197
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Frekvenca zapisovanja"
 
-#: FreqWindow.cpp:201
-#: FreqWindow.cpp:205
+#: FreqWindow.cpp:225
+#: FreqWindow.cpp:229
 msgid "Axis"
 msgstr "Os"
 
-#: FreqWindow.cpp:212
+#: FreqWindow.cpp:236
 #: LabelDialog.cpp:130
-#: Menus.cpp:241
-#: Menus.cpp:276
+#: Menus.cpp:256
 msgid "&Export..."
 msgstr "&Izvozi ..."
 
-#: FreqWindow.cpp:213
-#: export/ExportCL.cpp:325
-#: export/ExportMultiple.cpp:347
+#: FreqWindow.cpp:237
+#: effects/Contrast.cpp:395
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Izvozi"
 
-#: FreqWindow.cpp:216
-#: FreqWindow.cpp:217
-#: widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "&Ponovno izriši"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Ponovno izriši"
+
+#: FreqWindow.cpp:244
+#: FreqWindow.cpp:245
+#: widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Zapri"
 
-#: FreqWindow.cpp:280
-#: FreqWindow.cpp:410
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:792
-#: effects/Compressor.cpp:352
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1300
+#: effects/Equalization.cpp:1303
+msgid "Grids"
+msgstr "Mreže"
+
+#: FreqWindow.cpp:314
+#: FreqWindow.cpp:516
+#: effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537
+#: effects/AutoDuck.cpp:806
 #: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123
-#: effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133
-#: effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408
-#: effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:367
-#: widgets/Meter.cpp:417
+#: effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1142
+#: effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1152
+#: effects/Equalization.cpp:1218
+#: effects/Equalization.cpp:1434
+#: effects/Equalization.cpp:1445
+#: effects/Normalize.cpp:372
+#: widgets/Meter.cpp:406
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295
-#: FreqWindow.cpp:450
-#: effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195
-#: import/ImportRaw.cpp:399
+#: FreqWindow.cpp:330
+#: FreqWindow.cpp:556
+#: effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1214
+#: import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: FreqWindow.cpp:394
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Za risanje spektra morajo imeti vse izbrane sledi enako mero vzorčenja."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Izbranega je preveč zvoka. Analiziranih bo le prvih %.1f sekund zvoka."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Oznaka je premajhna."
 
-#: FreqWindow.cpp:458
-#: effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:564
+#: effects/AutoDuck.cpp:808
 msgid "s"
 msgstr "s"
 
-#: FreqWindow.cpp:787
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Kazalka: %d Hz (%s) = %d dB    Vrh: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:796
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr "Kazalka: %.4f s (%d Hz) (%s) = %f,    Vrh: %.4f s (%d Hz) (%s) = %.3f"
 
-#: FreqWindow.cpp:1069
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spekter.txt"
 
-#: FreqWindow.cpp:1071
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Izvozi grafične podatke kot:"
 
-#: FreqWindow.cpp:1087
+#: FreqWindow.cpp:1216
 #: LabelDialog.cpp:603
-#: Menus.cpp:2555
-#: Project.cpp:2604
-#: Project.cpp:3667
-#: prefs/KeyConfigPrefs.cpp:182
+#: Menus.cpp:2663
+#: effects/Contrast.cpp:587
+#: prefs/KeyConfigPrefs.cpp:319
 msgid "Couldn't write to file: "
 msgstr "Napaka pri zapisovanju v datoteko: "
 
-#: FreqWindow.cpp:1092
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Frekvenca (Hz)\tNivo (dB)"
 
-#: FreqWindow.cpp:1098
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Zaostajanje (sekund)\tFrekvenca (Hz)\tStopnja"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+"GStreamer je bil nastavljen v Možnostih in že uspešno naložen,\n"
+"                      vendar ga tokrat Audacity ob zagonu ne more naložiti.\n"
+"Morda znova preverite Nastavitve > Knjižnice in ga ponovno nastavite."
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Zagon GStreamerja ni uspel"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Na stran [[welcome|dobrodošlice]]."
@@ -1331,7 +1457,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1355,7 +1481,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1391,61 +1517,64 @@ msgid "&Discard"
 msgstr "&Opusti"
 
 #: HistoryWindow.cpp:112
-#: Tags.cpp:2081
-#: Tags.cpp:2083
-#: Tags.cpp:2385
-#: Tags.cpp:2387
 #: effects/ChangeLength.cpp:186
 #: effects/SpikeCleaner.cpp:191
-#: export/ExportCL.cpp:399
+#: export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "V &redu"
 
-#: Internat.cpp:191
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Nemogoče določiti"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:385
+#: Internat.cpp:147
+#: import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "bajtov"
 
-#: Internat.cpp:197
+#: Internat.cpp:149
 msgid "KB"
 msgstr "KB"
 
-#: Internat.cpp:200
+#: Internat.cpp:152
 msgid "MB"
 msgstr "MB"
 
-#: Internat.cpp:203
+#: Internat.cpp:155
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "Navedenega imena datoteke ni mogoče pretvoriti zaradi uporabljenih znakov Unicode."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Določite novo ime datoteke:"
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Sled"
 
 #: LabelDialog.cpp:55
-#: Menus.cpp:4677
-#: Menus.cpp:4712
+#: Menus.cpp:4855
+#: Menus.cpp:4890
 msgid "Label"
 msgstr "Oznaka"
 
 #: LabelDialog.cpp:56
-#: TimerRecordDialog.cpp:279
+#: TimerRecordDialog.cpp:328
 msgid "Start Time"
 msgstr "Začetni čas"
 
 #: LabelDialog.cpp:57
-#: TimerRecordDialog.cpp:298
+#: TimerRecordDialog.cpp:347
 msgid "End Time"
 msgstr "Končni čas"
 
 #: LabelDialog.cpp:100
-#: Menus.cpp:713
-msgid "&Edit Labels"
-msgstr "&Uredi oznake"
+msgid "Edit Labels"
+msgstr "Uredi oznake"
 
 #: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
@@ -1468,33 +1597,36 @@ msgid "New..."
 msgstr "Nov ..."
 
 #: LabelDialog.cpp:354
-msgid "You have left blank label names.  These will be\n"
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
-msgstr "Pustili ste prazna imena oznak.  Te bodo\n"
+msgstr ""
+"Pustili ste prazna imena oznak.  Te bodo\n"
 "preskočene pri ponaselitvi sledi z oznakami.\n"
 "\n"
 "Se želite vrniti in vnesti imena?"
 
 #: LabelDialog.cpp:355
+#: LangChoice.cpp:130
 msgid "Confirm"
 msgstr "Potrdi"
 
 #: LabelDialog.cpp:516
-#: Menus.cpp:4101
+#: Menus.cpp:4273
 msgid "Select a text file containing labels..."
 msgstr "Izberite datoteko z oznakami ..."
 
 #: LabelDialog.cpp:520
-#: Menus.cpp:4105
+#: Menus.cpp:4277
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Datoteke z besedilom (*.txt)|*.txt|Vse datoteke (*.*)|*.*"
 
 #: LabelDialog.cpp:534
-#: Menus.cpp:4117
-#: Project.cpp:1914
-#: Project.cpp:1922
+#: Menus.cpp:4289
+#: Project.cpp:2116
+#: Project.cpp:2124
 msgid "Could not open file: "
 msgstr "Napaka pri odpiranju datoteke: "
 
@@ -1503,12 +1635,12 @@ msgid "No labels to export."
 msgstr "Ni oznak za izvoz."
 
 #: LabelDialog.cpp:566
-#: Menus.cpp:2518
+#: Menus.cpp:2626
 msgid "Export Labels As:"
 msgstr "Izvozi oznake kot:"
 
 #: LabelDialog.cpp:568
-#: Menus.cpp:2516
+#: Menus.cpp:2624
 msgid "labels.txt"
 msgstr "oznake.txt"
 
@@ -1522,1417 +1654,1399 @@ msgstr "Vnesite ime sledi"
 
 #: LabelDialog.cpp:705
 #: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:632
-msgid "&Label Track"
-msgstr "&Sled z oznakami"
+#: LabelTrack.cpp:92
+msgid "Label Track"
+msgstr "Sled z oznakami"
 
-#: LangChoice.cpp:57
+#: LangChoice.cpp:58
 msgid "Audacity First Run"
 msgstr "Prvi zagon Audacity"
 
-#: LangChoice.cpp:89
+#: LangChoice.cpp:90
 msgid "Choose Language for Audacity to use:"
 msgstr "Izberite jezik programa Audacity:"
 
-#: Legacy.cpp:356
+#: LangChoice.cpp:125
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid "The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."
+msgstr "Jezik, ki ste ga izbrali, %s (%s), ni enak sistemskemu jeziku, %s (%s)."
+
+#: Legacy.cpp:372
+#, c-format
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "Datoteka projekta 1.0 je shranjena v novem zapisu.\n"
+msgstr ""
+"Datoteka projekta 1.0 je shranjena v novem zapisu.\n"
 "Stara datoteka je shranjena pod imenom '%s'"
 
-#: Legacy.cpp:357
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Odpiranje projekta Audacity"
 
-#: Menus.cpp:194
+#: Menus.cpp:196
 msgid "&File"
 msgstr "&Datoteka"
 
-#: Menus.cpp:196
-msgid "&New\tCtrl+N"
-msgstr "&Nova\tCtrl+N"
-
-#: Menus.cpp:198
-msgid "&Open...\tCtrl+O"
-msgstr "&Odpri ...\tCtrl+O"
+#: Menus.cpp:215
+msgid "&Close"
+msgstr "&Zapri"
 
-#: Menus.cpp:203
-msgid "&Close\tCtrl+W"
-msgstr "&Zapri\tCtrl+W"
+#: Menus.cpp:218
+msgid "&Save Project"
+msgstr "&Shrani projekt"
 
-#: Menus.cpp:206
-msgid "&Save Project\tCtrl+S"
-msgstr "&Shrani projekt\tCtrl+S"
-
-#: Menus.cpp:210
-#: Project.cpp:2896
+#: Menus.cpp:221
 msgid "Save Project &As..."
 msgstr "Shrani projekt &kot ..."
 
-#: Menus.cpp:212
+#: Menus.cpp:223
 msgid "Save Compressed Copy of Project..."
 msgstr "Shrani stisnjeno kopijo projekta ..."
 
-#: Menus.cpp:216
+#: Menus.cpp:227
 msgid "Chec&k Dependencies..."
 msgstr "Preveri &odvisnosti ..."
 
-#: Menus.cpp:222
+#: Menus.cpp:231
 msgid "Open Me&tadata Editor..."
 msgstr "Odpri urejevalnik me&tapodatkov ..."
 
-#: Menus.cpp:229
-#: import/ImportRaw.cpp:411
+#: Menus.cpp:239
+#: import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "&Uvozi"
 
-#: Menus.cpp:231
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Zvok ...\tCtrl+Shift+I"
+#: Menus.cpp:241
+msgid "&Audio..."
+msgstr "&Zvok ..."
 
-#: Menus.cpp:232
+#: Menus.cpp:242
 msgid "&Labels..."
 msgstr "&Oznake ..."
 
-#: Menus.cpp:234
+#: Menus.cpp:244
 msgid "&MIDI..."
 msgstr "&MIDI ..."
 
-#: Menus.cpp:236
+#: Menus.cpp:246
 msgid "&Raw Data..."
 msgstr "&Surovi podatki ..."
 
-#: Menus.cpp:247
-#: Menus.cpp:282
+#: Menus.cpp:261
 msgid "Expo&rt Selection..."
 msgstr "Izvozi iz&bor ..."
 
-#: Menus.cpp:254
+#: Menus.cpp:269
 msgid "Export &Labels..."
 msgstr "Izvozi &oznake ..."
 
-#: Menus.cpp:255
+#: Menus.cpp:272
 msgid "Export &Multiple..."
 msgstr "Izvozi &več datotek ..."
 
-#: Menus.cpp:257
+#: Menus.cpp:276
 msgid "Export MIDI..."
 msgstr "Izvozi MIDI ..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr "Veri&ga PočistiGovor ..."
+#: Menus.cpp:282
+msgid "Appl&y Chain..."
+msgstr "&Uporabi verigo ..."
 
-#: Menus.cpp:291
-#: Menus.cpp:305
+#: Menus.cpp:285
 msgid "Edit C&hains..."
 msgstr "Uredi &verige ..."
 
-#: Menus.cpp:292
+#: Menus.cpp:288
 msgid "Export CleanSpeech &Presets..."
 msgstr "Izvozi &prednastavitve PočistiGovor ..."
 
-#: Menus.cpp:293
+#: Menus.cpp:289
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Uvozi pred&nastavitve PočistiGovor ..."
 
-#: Menus.cpp:303
-msgid "Appl&y Chain..."
-msgstr "&Uporabi verigo ..."
-
-#: Menus.cpp:310
+#: Menus.cpp:296
 msgid "&Upload File..."
 msgstr "Prenesi datoteko &na strežnik ..."
 
-#: Menus.cpp:316
+#: Menus.cpp:301
 msgid "Pa&ge Setup..."
 msgstr "&Priprava strani ..."
 
-#: Menus.cpp:317
+#: Menus.cpp:304
 msgid "&Print..."
 msgstr "&Natisni ..."
 
-#: Menus.cpp:330
-msgid "E&xit\tCtrl+Q"
-msgstr "&Zapri\tCtrl+Q"
+#: Menus.cpp:313
+msgid "E&xit"
+msgstr "&Izhod"
 
-#: Menus.cpp:338
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:323
 msgid "&Edit"
 msgstr "&Uredi"
 
-#: Menus.cpp:342
-msgid "&Undo\tCtrl+Z"
-msgstr "&Razveljavi\tCtrl+Z"
+#: Menus.cpp:328
+msgid "&Undo"
+msgstr "&Razveljavi"
 
-#: Menus.cpp:350
-#: prefs/KeyConfigPrefs.cpp:371
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:340
 msgid "&Redo"
 msgstr "&Ponovi"
 
-#: Menus.cpp:363
-msgid "Cu&t\tCtrl+X"
-msgstr "I&zreži\tCtrl+X"
+#: Menus.cpp:346
+msgid "Cu&t"
+msgstr "I&zreži"
 
-#: Menus.cpp:367
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "&Razdvoji z rezom\tCtrl+Alt+X"
+#: Menus.cpp:349
+msgid "Spl&it Cut"
+msgstr "&Razdvoji in izreži"
 
-#: Menus.cpp:368
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopiraj\tCtrl+C"
+#: Menus.cpp:350
+msgid "&Copy"
+msgstr "&Kopiraj"
 
-#: Menus.cpp:372
-msgid "&Paste\tCtrl+V"
-msgstr "&Prilepi\tCtrl+V"
+#: Menus.cpp:353
+msgid "&Paste"
+msgstr "&Prilepi"
 
-#: Menus.cpp:376
-msgid "Tri&m\tCtrl+T"
-msgstr "Pore&ži\tCtrl+T"
+#: Menus.cpp:356
+msgid "Tri&m"
+msgstr "Pore&ži"
 
-#: Menus.cpp:378
-msgid "&Delete\tCtrl+K"
-msgstr "&Izbriši\tCtrl+K"
+#: Menus.cpp:360
+#: Menus.cpp:399
+msgid "&Delete"
+msgstr "&Izbriši"
 
-#: Menus.cpp:379
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Razdvoji z &brisanjem\tCtrl+Alt+K"
+#: Menus.cpp:361
+msgid "Split D&elete"
+msgstr "Razdvoji z &brisanjem"
 
-#: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "&Utišaj zvok\tCtrl+L"
+#: Menus.cpp:362
+msgid "Silence Audi&o"
+msgstr "&Utišaj zvok"
 
-#: Menus.cpp:382
-msgid "Sp&lit\tCtrl+I"
-msgstr "Raz&dvoji\tCtrl+I"
+#: Menus.cpp:366
+msgid "Sp&lit"
+msgstr "Razdvo&ji"
 
-#: Menus.cpp:387
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Razdvoji v n&ovo\tCtrl+Alt+I"
+#: Menus.cpp:370
+msgid "Split Ne&w"
+msgstr "Razdv&oji v novo"
 
-#: Menus.cpp:392
-msgid "&Join\tCtrl+J"
-msgstr "&Združi\tCtrl+J"
+#: Menus.cpp:374
+#: Menus.cpp:406
+msgid "&Join"
+msgstr "Zdru&ži"
 
-#: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "Razdr&uži pri tišinah\tCtrl+Alt+J"
+#: Menus.cpp:375
+#: Menus.cpp:407
+msgid "Detac&h at Silences"
+msgstr "Razdr&uži pri tišinah"
 
-#: Menus.cpp:394
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Po&dvoji\tCtrl+D"
+#: Menus.cpp:376
+msgid "Duplic&ate"
+msgstr "&Podvoji"
 
-#: Menus.cpp:400
-#: Menus.cpp:639
+#: Menus.cpp:381
+#: Menus.cpp:617
 msgid "Stereo Trac&k to Mono"
 msgstr "Stere&o sled v mono"
 
-#: Menus.cpp:407
+#: Menus.cpp:390
 msgid "La&beled Regions"
 msgstr "&Označena območja"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:409
-msgid "&Cut\tAlt+X"
-msgstr "I&zreži\tAlt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:414
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Razdvoji in izreži\tShift+Alt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:419
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ko&piraj\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:425
-msgid "&Delete\tAlt+K"
-msgstr "&Izbriši\tAlt+D"
+#: Menus.cpp:393
+msgid "&Cut"
+msgstr "I&zreži"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:430
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Razdvo&ji z brisanjem\tShift+Alt+K"
+#: Menus.cpp:394
+msgid "&Split Cut"
+msgstr "Raz&dvoji in izreži"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:435
-msgid "Sile&nce\tAlt+L"
-msgstr "Ti&Å¡ina\tALT+L"
+#: Menus.cpp:395
+msgid "Co&py"
+msgstr "Ko&piraj"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:441
-msgid "Spli&t\tAlt+I"
-msgstr "&Razdeli\tAlt+T"
+#: Menus.cpp:400
+msgid "Sp&lit Delete"
+msgstr "Razdvoji z &brisanjem"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:446
-msgid "&Join\tAlt+J"
-msgstr "Z&druži\tAlt+J"
+#: Menus.cpp:401
+msgid "Sile&nce"
+msgstr "&Tišina"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Razdr&uži pri tišinah\tShift+Alt+J"
+#: Menus.cpp:405
+msgid "Spli&t"
+msgstr "Raz&dvoji"
 
-#: Menus.cpp:456
+#: Menus.cpp:413
 msgid "&Select"
 msgstr "Iz&beri"
 
-#: Menus.cpp:457
-msgid "&All\tCtrl+A"
-msgstr "&Vse\tCtrl+A"
+#: Menus.cpp:416
+msgid "&All"
+msgstr "&Vse"
 
-#: Menus.cpp:458
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Brez\tCtrl+Shift+A"
+#: Menus.cpp:417
+msgid "&None"
+msgstr "Praz&no"
 
-#: Menus.cpp:462
-msgid "&Left at Playback Position\t["
-msgstr "&Levo od mesta predvajanja\t["
+#: Menus.cpp:419
+msgid "&Left at Playback Position"
+msgstr "&Levo od mesta predvajanja"
 
-#: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
-msgstr "&Desno od mesta predvajanja\t]"
+#: Menus.cpp:420
+msgid "&Right at Playback Position"
+msgstr "&Desno od mesta predvajanja"
 
-#: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Od &začetka sledi do kazalke\tShift+J"
+#: Menus.cpp:424
+msgid "Track &Start to Cursor"
+msgstr "Od &začetka sledi do kazalke"
 
-#: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Od &kazalke do konca sledi\tShift+K"
+#: Menus.cpp:425
+msgid "Cursor to Track &End"
+msgstr "Od &kazalke do konca sledi"
 
-#: Menus.cpp:474
-msgid "Find &Zero Crossings\tZ"
-msgstr "Najdi &ničelne prehode\tZ"
+#: Menus.cpp:431
+msgid "Find &Zero Crossings"
+msgstr "Najdi &ničelne prehode"
 
-#: Menus.cpp:476
+#: Menus.cpp:435
 msgid "Mo&ve Cursor"
 msgstr "Pre&makni kazalko"
 
-#: Menus.cpp:478
+#: Menus.cpp:437
 msgid "to Selection Star&t"
 msgstr "na za&četek izbora"
 
-#: Menus.cpp:479
+#: Menus.cpp:438
 msgid "to Selection En&d"
 msgstr "na kone&c izbora"
 
-#: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr "na &začetek sledi\tJ"
+#: Menus.cpp:440
+msgid "to Track &Start"
+msgstr "na &začetek sledi"
 
-#: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr "na &konec sledi\tK"
+#: Menus.cpp:441
+msgid "to Track &End"
+msgstr "na &konec sledi"
 
-#: Menus.cpp:491
+#: Menus.cpp:449
 msgid "Re&gion Save"
 msgstr "Shra&ni območje"
 
-#: Menus.cpp:492
+#: Menus.cpp:452
 msgid "Regio&n Restore"
 msgstr "O&bnovi območje"
 
-#: Menus.cpp:503
+#: Menus.cpp:460
 msgid "Pla&y Region"
 msgstr "Pre&dvajaj območje"
 
-#: Menus.cpp:504
+#: Menus.cpp:462
 msgid "&Lock"
 msgstr "&Zakleni"
 
-#: Menus.cpp:505
+#: Menus.cpp:465
 msgid "&Unlock"
 msgstr "&Odkleni"
 
-#: Menus.cpp:511
-msgid "Turn Snap-To On"
-msgstr "Vključi skoči-na"
-
-#: Menus.cpp:512
-msgid "Turn Snap-To Off"
-msgstr "Izključi skoči-na"
-
-#: Menus.cpp:513
-msgid "Turn Grid Snap On"
-msgstr "Vključi vpenjanje v mrežo"
-
-#: Menus.cpp:514
-msgid "Turn Grid Snap Off"
-msgstr "Izključi vpenjanje v mrežo"
+#: Menus.cpp:485
+msgid "Pre&ferences..."
+msgstr "Nas&tavitve ..."
 
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "&Nastavitve ...\tCtrl+,"
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "&Nastavitve ...\tCtrl+P"
-
-#: Menus.cpp:533
+#: Menus.cpp:495
 msgid "&View"
 msgstr "&Pogled"
 
-#: Menus.cpp:535
-msgid "Zoom &In\tCtrl+1"
-msgstr "Pove&čaj\tCtrl+1"
+#: Menus.cpp:498
+msgid "Zoom &In"
+msgstr "Pove&čaj"
 
-#: Menus.cpp:538
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Navadna velikost\tCtrl+2"
+#: Menus.cpp:501
+msgid "Zoom &Normal"
+msgstr "&Navadna velikost"
 
-#: Menus.cpp:539
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Pomanj&Å¡aj\tCtrl+3"
+#: Menus.cpp:502
+msgid "Zoom &Out"
+msgstr "Pomanj&Å¡aj"
 
-#: Menus.cpp:542
-msgid "&Fit in Window\tCtrl+F"
-msgstr "Prilag&odi oknu\tCtrl+G"
+#: Menus.cpp:506
+msgid "&Fit in Window"
+msgstr "Prilag&odi oknu"
 
-#: Menus.cpp:543
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Prilagodi &navpično\tCtrl+Shift+F"
+#: Menus.cpp:507
+msgid "Fit &Vertically"
+msgstr "Prilagodi &navpično"
 
-#: Menus.cpp:544
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Povečaj na izbor\tCtrl+E"
+#: Menus.cpp:508
+msgid "&Zoom to Selection"
+msgstr "&Povečaj na izbor"
 
-#: Menus.cpp:547
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Zloži vse sledi\tCtrl+Shift+C"
+#: Menus.cpp:512
+msgid "&Collapse All Tracks"
+msgstr "&Zloži vse sledi"
 
-#: Menus.cpp:548
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Razpostri vse sledi\tCtrl+Shift+X"
+#: Menus.cpp:513
+msgid "E&xpand All Tracks"
+msgstr "&Razpostri vse sledi"
 
-#: Menus.cpp:551
+#: Menus.cpp:517
 msgid "&Show Clipping"
 msgstr "&Pokaži rezanje"
 
-#: Menus.cpp:560
+#: Menus.cpp:522
 msgid "&History..."
 msgstr "&Zgodovina ..."
 
-#: Menus.cpp:566
+#: Menus.cpp:530
 msgid "&Toolbars"
 msgstr "&Orodne vrstice"
 
-#: Menus.cpp:567
+#: Menus.cpp:532
 msgid "&Control Toolbar"
 msgstr "Vrstica &krmiljenja"
 
-#: Menus.cpp:568
+#: Menus.cpp:533
 msgid "&Device Toolbar"
 msgstr "Vrstica &naprave"
 
-#: Menus.cpp:569
+#: Menus.cpp:534
 msgid "&Edit Toolbar"
 msgstr "Vrstica &urejanja"
 
-#: Menus.cpp:570
+#: Menus.cpp:535
 msgid "&Meter Toolbar"
 msgstr "Vrstica &merjenja"
 
-#: Menus.cpp:571
+#: Menus.cpp:536
 msgid "Mi&xer Toolbar"
 msgstr "Vrstica me&Å¡anja"
 
-#: Menus.cpp:572
+#: Menus.cpp:537
 msgid "&Selection Toolbar"
 msgstr "Vrstica &izbire"
 
-#: Menus.cpp:573
+#: Menus.cpp:538
 msgid "T&ools Toolbar"
 msgstr "Vrstica z &orodji"
 
-#: Menus.cpp:574
+#: Menus.cpp:539
 msgid "Transcri&ption Toolbar"
 msgstr "Vrstica &prepisa"
 
-#: Menus.cpp:576
+#: Menus.cpp:543
 msgid "&Reset Toolbars"
 msgstr "&Ponastavi orodne vrstice"
 
-#: Menus.cpp:578
+#: Menus.cpp:551
 msgid "!Simplified View"
 msgstr "!Poenostavljen pogled"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:562
 msgid "T&ransport"
 msgstr "&Upravljanje"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: Menus.cpp:565
+#: toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr "Predvajaj"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+#: Menus.cpp:566
+msgid "&Loop Play"
+msgstr "Predvajaj v &zanki"
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr "Pre&kini\tP"
+#: Menus.cpp:567
+msgid "&Pause"
+msgstr "&Prekini"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
+#: Menus.cpp:570
+msgid "&Stop"
+msgstr "U&stavi"
 
-#: Menus.cpp:595
-#: Menus.cpp:1010
-msgid "Skip to Start\tHome"
-msgstr "Skoči na začetek\tHome"
+#: Menus.cpp:573
+#: toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Skoči na začetek"
 
-#: Menus.cpp:597
-#: Menus.cpp:1011
-msgid "Skip to End\tEnd"
-msgstr "Skoči na konec\tEnd"
+#: Menus.cpp:574
+#: toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Skoči na konec"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
-msgstr "&Snemaj\tR"
+#: Menus.cpp:578
+msgid "&Record"
+msgstr "Po&snemi"
 
-#: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+#: Menus.cpp:579
+msgid "&Timer Record..."
 msgstr "&ÄŒasovno snemanje ... "
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr "Snemaj kot dodatek\tShift+R"
+#: Menus.cpp:580
+msgid "Append Record"
+msgstr "Snemaj kot dodatek"
 
-#: Menus.cpp:607
+#: Menus.cpp:584
 msgid "Overdub (on/off)"
 msgstr "Prekrivaj (vključeno/izključeno)"
 
-#: Menus.cpp:609
+#: Menus.cpp:585
 msgid "Software Playthrough (on/off)"
 msgstr "Programsko predvajanje skozi (vključeno/izključeno)"
 
-#: Menus.cpp:612
+#: Menus.cpp:588
 msgid "Sound Activated Recording (on/off)"
 msgstr "Z zvokom aktivirano snemanje (vključeno/izključeno)"
 
-#: Menus.cpp:614
+#: Menus.cpp:589
 msgid "Sound Activation Level..."
 msgstr "Raven zvoka za aktivacijo ..."
 
-#: Menus.cpp:622
+#: Menus.cpp:597
 msgid "&Tracks"
 msgstr "&Sledi"
 
-#: Menus.cpp:629
+#: Menus.cpp:602
 msgid "Add &New"
 msgstr "Dodaj &novo"
 
-#: Menus.cpp:630
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Zvočna sled\tCtrl+Shift+N"
+#: Menus.cpp:604
+msgid "&Audio Track"
+msgstr "&Zvočna sled"
 
-#: Menus.cpp:631
+#: Menus.cpp:605
 msgid "&Stereo Track"
 msgstr "&Stereo sled"
 
-#: Menus.cpp:633
-#: TimeTrack.cpp:44
+#: Menus.cpp:606
+msgid "&Label Track"
+msgstr "&Sled z oznakami"
+
+#: Menus.cpp:607
 msgid "&Time Track"
 msgstr "&ÄŒasovna sled"
 
-#: Menus.cpp:643
+#: Menus.cpp:620
 msgid "Mi&x and Render"
 msgstr "Z&mešaj in izdelaj"
 
-#: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Zmešaj in izdelaj v novo sled\tCtrl+Shift+M"
+#: Menus.cpp:623
+msgid "Mix and Render to New Track"
+msgstr "Zmešaj in izdelaj v novo sled"
 
-#: Menus.cpp:651
+#: Menus.cpp:626
 msgid "&Resample..."
 msgstr "&Prevzorči ..."
 
-#: Menus.cpp:661
+#: Menus.cpp:632
 msgid "Remo&ve Tracks"
 msgstr "O&dstrani sledi:"
 
-#: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Utišaj vse sledi\tCtrl+U"
+#: Menus.cpp:638
+msgid "&Mute All Tracks"
+msgstr "&Utišaj vse sledi"
 
-#: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Odtišaj vse sledi\tCtrl+Shift+U"
+#: Menus.cpp:639
+msgid "&UnMute All Tracks"
+msgstr "&Odtišaj vse sledi"
 
-#: Menus.cpp:672
+#: Menus.cpp:644
 msgid "Align with &Zero"
 msgstr "&Združi z ničlo"
 
-#: Menus.cpp:673
+#: Menus.cpp:645
 msgid "Align with &Cursor"
 msgstr "Poravnaj s &kazalko"
 
-#: Menus.cpp:674
+#: Menus.cpp:646
 msgid "Align with Selection &Start"
 msgstr "Poravnaj z &začetkom izbora"
 
-#: Menus.cpp:675
+#: Menus.cpp:647
 msgid "Align with Selection &End"
 msgstr "Poravnaj s &koncem izbora"
 
-#: Menus.cpp:676
+#: Menus.cpp:648
 msgid "Align End with Cu&rsor"
 msgstr "Poravnaj konec s kaza&lko"
 
-#: Menus.cpp:677
+#: Menus.cpp:649
 msgid "Align End with Selection Star&t"
 msgstr "Poravnaj konec z zače&tkom izbora"
 
-#: Menus.cpp:678
+#: Menus.cpp:650
 msgid "Align End with Selection En&d"
 msgstr "Poravnaj konec s ko&ncem izbora"
 
-#: Menus.cpp:679
+#: Menus.cpp:651
 msgid "Align Tracks To&gether"
 msgstr "Poravnaj &sledi skupaj"
 
-#: Menus.cpp:681
+#: Menus.cpp:653
 msgid "&Align Tracks"
 msgstr "&Poravnaj sledi"
 
-#: Menus.cpp:690
+#: Menus.cpp:668
 msgid "Ali&gn and Move Cursor"
 msgstr "Poravnaj in premakni &kazalko"
 
-#: Menus.cpp:697
+#: Menus.cpp:680
 msgid "Synchronize MIDI with Audio"
 msgstr "Sinhroniziraj MIDI z zvokom"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr "Poveži zvočne sledi in sledi oznak"
+#: Menus.cpp:687
+msgid "&Link Audio and Label Tracks"
+msgstr "Po&veži zvočne sledi in sledi oznak"
+
+#: Menus.cpp:691
+msgid "Add Label At &Selection"
+msgstr "Dodaj &oznako izboru"
 
-#: Menus.cpp:709
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Dodaj &oznako izboru\tCtrl+B"
+#: Menus.cpp:694
+msgid "Add Label At &Playback Position"
+msgstr "Dodaj oznako na mestu &predvajanja"
 
-#: Menus.cpp:710
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Dodaj oznako na mestu &predvajanja\tCtrl+M"
+#: Menus.cpp:697
+msgid "&Edit Labels"
+msgstr "&Uredi oznake"
 
-#: Menus.cpp:716
+#: Menus.cpp:703
 msgid "S&ort tracks"
 msgstr "&Razvrsti sledi"
 
-#: Menus.cpp:717
+#: Menus.cpp:705
 msgid "by &Start time"
 msgstr "po &začetnem času"
 
-#: Menus.cpp:719
+#: Menus.cpp:708
 msgid "by &Name"
 msgstr "po &imenu"
 
-#: Menus.cpp:730
+#: Menus.cpp:722
 msgid "&Generate"
 msgstr "&Tvori"
 
-#: Menus.cpp:776
-#: Menus.cpp:860
+#: Menus.cpp:767
+#: Menus.cpp:852
 #: Menus.cpp:922
 msgid "Unsorted"
 msgstr "Nerazvrščeno"
 
-#: Menus.cpp:795
+#: Menus.cpp:789
 msgid "Effe&ct"
 msgstr "U&činek"
 
-#: Menus.cpp:799
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Ponovi zadnji učinek\tCtrl+R"
-
-#: Menus.cpp:877
+#: Menus.cpp:873
 msgid "&Analyze"
 msgstr "&Analiziraj"
 
-#: Menus.cpp:879
+#: Menus.cpp:875
+msgid "Contrast..."
+msgstr "Kontrast ..."
+
+#: Menus.cpp:878
 msgid "Plot Spectrum..."
 msgstr "Izriši spekter ..."
 
-#: Menus.cpp:947
-#: Menus.cpp:950
+#: Menus.cpp:945
+#: Menus.cpp:948
 msgid "&Help"
 msgstr "&Pomoč"
 
-#: Menus.cpp:953
+#: Menus.cpp:952
 msgid "&About Audacity CleanSpeech..."
 msgstr "&O Audacity PočistiGovor ..."
 
-#: Menus.cpp:957
+#: Menus.cpp:958
 msgid "&Show Welcome Message..."
 msgstr "&Pokaži sporočilo dobrodošlice ..."
 
-#: Menus.cpp:958
-msgid "&Index..."
-msgstr "&Kazalo ..."
-
 #: Menus.cpp:959
+msgid "&Help..."
+msgstr "Po&moč ..."
+
+#: Menus.cpp:960
 msgid "Show &Log..."
 msgstr "Pokaži &dnevnik ..."
 
-#: Menus.cpp:967
+#: Menus.cpp:966
 msgid "&Screenshot Tools..."
 msgstr "&Zajem slike namizja ..."
 
-#: Menus.cpp:970
+#: Menus.cpp:971
 msgid "&Run Benchmark..."
 msgstr "&Poženi preizkus hitrosti ..."
 
-#: Menus.cpp:972
+#: Menus.cpp:976
 msgid "&Audio Device Info..."
 msgstr "Podatki o zvo&čni napravi ..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
-
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
-
-#: Menus.cpp:985
-msgid "Selection Tool\tF1"
-msgstr "Orodje za izbiranje\tF1"
-
-#: Menus.cpp:986
-msgid "Envelope Tool\tF2"
-msgstr "Orodje za ovojnico\tF2"
-
 #: Menus.cpp:987
-msgid "Draw Tool\tF3"
-msgstr "Orodje za risanje\tF3"
+msgid "Move backward from toolbars to tracks"
+msgstr "Kroži nazaj prek orodnih vrstic in pogleda sledi"
 
 #: Menus.cpp:988
-msgid "Zoom Tool\tF4"
-msgstr "Orodje za povečavo\tF4"
-
-#: Menus.cpp:989
-msgid "Time Shift Tool\tF5"
-msgstr "Orodje za časovni zamik\tF5"
+msgid "Move forward from toolbars to tracks"
+msgstr "Kroži naprej prek orodnih vrstic in pogleda sledi"
 
 #: Menus.cpp:990
-msgid "Multi Tool\tF6"
-msgstr "Večorodni način\tF6"
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Orodje za izbiranje"
+
+#: Menus.cpp:991
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Orodje za ovojnico"
 
 #: Menus.cpp:992
-msgid "Next Tool\tD"
-msgstr "Naslednje orodje\tD"
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Risanje"
 
 #: Menus.cpp:993
-msgid "Previous Tool\tA"
-msgstr "Predhodno orodje\tA"
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Orodje za povečavo"
 
-#: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
+#: Menus.cpp:994
+#: toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Orodje za optimiranje časa"
 
-#: Menus.cpp:996
-msgid "Stop\tS"
-msgstr "Ustavi\tS"
+#: Menus.cpp:995
+#: toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Večstransko orodje"
 
 #: Menus.cpp:997
-msgid "Pause\tP"
-msgstr "Prekinitev\tP"
+msgid "Next Tool"
+msgstr "Naslednje orodje"
 
 #: Menus.cpp:998
-msgid "Record\tR"
-msgstr "Posnemi\tR"
+msgid "Previous Tool"
+msgstr "Predhodno orodje"
 
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr "Posnemi kot dodatek\tShift+R"
+#: Menus.cpp:1000
+msgid "Play/Stop"
+msgstr "Predvajaj/ustavi"
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Predvajaj/ustavi in nastavi kazalko\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Predvajaj/ustavi in nastavi kazalko"
 
-#: Menus.cpp:1004
-msgid "Play One Second\t1"
-msgstr "Predvajaj eno sekundo\t1"
+#: Menus.cpp:1002
+msgid "Play One Second"
+msgstr "Predvajaj eno sekundo"
+
+#: Menus.cpp:1003
+msgid "Play To Selection"
+msgstr "Predvajaj do izbora"
 
-#: Menus.cpp:1005
-msgid "Play To Selection\tB"
-msgstr "Predvajaj do izbora\tB"
+#: Menus.cpp:1004
+msgid "Play Cut Preview"
+msgstr "Predvajaj predposlušanje reza"
 
 #: Menus.cpp:1006
-msgid "Play Looped\tL"
-msgstr "Predvajaj v zanki\tZ"
+msgid "Selection to Start"
+msgstr "Izbor do začetka"
 
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+#: Menus.cpp:1007
+msgid "Selection to End"
+msgstr "Izbor do konca"
 
-#: Menus.cpp:1008
-msgid "Play Cut Preview\tC"
-msgstr "Predvajaj predposlušanje reza\tC"
+#: Menus.cpp:1009
+msgid "DeleteKey"
+msgstr "Tipka brisanja"
 
 #: Menus.cpp:1013
-msgid "Selection to Start\tShift+Home"
-msgstr "Izberi do začetka\tShift+Home"
+msgid "DeleteKey2"
+msgstr "Tipka brisanja 2"
 
-#: Menus.cpp:1014
-msgid "Selection to End\tShift+End"
-msgstr "Izberi do konca\tShift+End"
+#: Menus.cpp:1019
+msgid "Short seek left during playback"
+msgstr "Poišči levo kratko periodo med predvajanjem"
 
-#: Menus.cpp:1016
-msgid "DeleteKey\tBackspace"
-msgstr "Tipka Delete\tBackspace"
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
+msgstr "Poišči desno kratko periodo med predvajanjem"
 
 #: Menus.cpp:1021
-msgid "DeleteKey2\tDelete"
-msgstr "Tipka Delete2\tDelete"
+msgid "Long seek left during playback"
+msgstr "Poišči levo dolgo periodo med predvajanjem"
+
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
+msgstr "Poišči desno dolgo periodo med predvajanjem"
 
 #: Menus.cpp:1027
-msgid "Seek left short period during playback\tLeft"
-msgstr "Poišči levo kratko periodo med predvajanjem\tLevo"
+msgid "Move Focus to Previous Track"
+msgstr "Premakni pozornost na prejšnjo sled"
 
 #: Menus.cpp:1028
-msgid "Seek right short period during playback\tRight"
-msgstr "Poišči desno kratko periodo med predvajanjem\tDesno"
+msgid "Move Focus to Previous and Select"
+msgstr "Premakni pozornost na prejšnjo in izberi"
 
 #: Menus.cpp:1029
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Poišči levo dolgo periodo med predvajanjem\tShift+levo"
+msgid "Move Focus to Next Track"
+msgstr "Premakni pozornost na naslednjo sled"
 
 #: Menus.cpp:1030
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Poišči desno dolgo periodo med predvajanjem\tShift+desno"
+msgid "Move Focus to Next and Select"
+msgstr "Premakni pozornost na naslednjo in izberi"
+
+#: Menus.cpp:1031
+#: Menus.cpp:1032
+msgid "Toggle Focused Track"
+msgstr "Vključi/izključi pozornost sledi"
 
 #: Menus.cpp:1034
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Premakni pozornost na prejšnjo sled\tUp"
+msgid "Cursor Left"
+msgstr "Kazalka levo"
 
 #: Menus.cpp:1035
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Premakni pozornost na prejšnjo in spremeni izbor\tShift+Up"
+msgid "Cursor Right"
+msgstr "Kazalka desno"
 
 #: Menus.cpp:1036
-msgid "Move Focus to Next Track\tDown"
-msgstr "Premakni pozornost na naslednjo sled\tDown"
+msgid "Cursor Short Jump Left"
+msgstr "Kratek skok kazalke levo"
 
 #: Menus.cpp:1037
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Premakni pozornost na naslednjo in spremeni izbor\tShift+Down"
+msgid "Cursor Short Jump Right"
+msgstr "Kratek skok kazalke desno"
 
 #: Menus.cpp:1038
-msgid "Toggle Focused Track\tReturn"
-msgstr "Vključi/izključi pozornost sledi\tReturn"
+msgid "Cursor Long Jump Left"
+msgstr "Dolg skok kazalke levo"
 
 #: Menus.cpp:1039
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Vključi/izključi pozornost sledi\tNUMPAD_ENTER"
+msgid "Cursor Long Jump Right"
+msgstr "Dolg skok kazalke desno"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+#: Menus.cpp:1041
+msgid "Selection Extend Left"
+msgstr "Razširi izbor na levo"
 
 #: Menus.cpp:1042
-msgid "Cursor Left\tLeft"
-msgstr "Leva kazalka\tLevo"
-
-#: Menus.cpp:1043
-msgid "Cursor Right\tRight"
-msgstr "Desna kazalka\tDesno"
+msgid "Selection Extend Right"
+msgstr "Razširi izbor na desno"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
-msgstr "Kratek skok kazalke levo\t,"
+msgid "Set (or Extend) Left Selection"
+msgstr "Nastavi (ali razpostri) levo mejo izbora"
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
-msgstr "Kratek skok kazalke desno\t."
-
-#: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Dolg skok kazalke levo\tShift+,"
+msgid "Set (or Extend) Right Selection"
+msgstr "Nastavi (ali razpostri) desno mejo izbora"
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Dolg skok kazalke desno\tShift+."
+msgid "Selection Contract Left"
+msgstr "Pomanjšaj izbor z leve"
 
-#: Menus.cpp:1049
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Razpostri izbor na levo\tShift+levo"
+#: Menus.cpp:1048
+msgid "Selection Contract Right"
+msgstr "Pomanjšaj izbor z leve"
 
 #: Menus.cpp:1050
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Razpostri izbor na desno\tShift+desno"
+msgid "Change pan on focused track"
+msgstr "Spremeni zasuk na sledi s pozornostjo"
+
+#: Menus.cpp:1051
+msgid "Pan left on focused track"
+msgstr "Zasukaj levo na sledi s pozornostjo"
 
 #: Menus.cpp:1052
-msgid "Set (or Extend) Left Selection"
-msgstr "Nastavi (ali razpostri) levo mejo izbora"
+msgid "Pan right on focused track"
+msgstr "Zasukaj desno na sledi s pozornostjo"
 
 #: Menus.cpp:1053
-msgid "Set (or Extend) Right Selection"
-msgstr "Nastavi (ali razpostri) desno mejo izbora"
+msgid "Change gain on focused track"
+msgstr "Spremeni ojačitev na sledi s pozornostjo"
+
+#: Menus.cpp:1054
+msgid "Increase gain on focused track"
+msgstr "Povečaj ojačitev na sledi s pozornostjo"
 
 #: Menus.cpp:1055
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Pomanjšaj izbor z leve\tCtrl+Shift+desno"
+msgid "Decrease gain on focused track"
+msgstr "Zmanjšaj ojačitev na sledi s pozornostjo"
 
 #: Menus.cpp:1056
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Pomanjšaj izbor z desne\tCtrl+Shift+levo"
+msgid "Open menu on focused track"
+msgstr "Odpri meni na sledi s pozornostjo"
+
+#: Menus.cpp:1057
+msgid "Mute/Unmute focused track"
+msgstr "Utišaj/odtišaj sled s pozornostjo"
 
 #: Menus.cpp:1058
-msgid "Change pan on focused track\tShift+P"
-msgstr "Spremeni zasuk na sledi s pozornostjo\tShift+P"
+msgid "Solo/Unsolo focused track"
+msgstr "Soliraj/odsoliraj sled s pozornostjo"
 
 #: Menus.cpp:1059
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Zasukaj levo na sledi s pozornostjo\tAlt+Shift+levo"
-
-#: Menus.cpp:1060
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Zasukaj desno na sledi s pozornostjo\tAlt+Shift+desno"
+msgid "Close focused track"
+msgstr "Zapri sled s pozornostjo"
 
 #: Menus.cpp:1061
-msgid "Change gain on focused track\tShift+G"
-msgstr "Spremeni ojačitev na sledi s pozornostjo\tShift+G"
+msgid "Snap To On"
+msgstr "Vključi Skoči-na"
 
 #: Menus.cpp:1062
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Povečaj ojačitev na sledi s pozornostjo\tAlt+Shift+Up"
-
-#: Menus.cpp:1063
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Zmanjšaj ojačitev na sledi s pozornostjo\tAlt+Shift+Down"
-
-#: Menus.cpp:1064
-msgid "Open menu on focused track\tShift+M"
-msgstr "Odpri meni na sledi s pozornostjo\tShift+M"
-
-#: Menus.cpp:1065
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Utišaj/Odtišaj sled s pozornostjo\tShift+U"
+msgid "Snap To Off"
+msgstr "Izključi Skoči-na"
 
 #: Menus.cpp:1066
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Soliraj/Odsoliraj sled s pozornostjo\tShift+S"
+msgid "Full screen on/off"
+msgstr "Celozaslonski način vključen/izključen"
 
-#: Menus.cpp:1067
-msgid "Close focused track\tShift+C"
-msgstr "Zapri sled s pozornostjo\tShift+C"
+#: Menus.cpp:1068
+msgid "Adjust output gain"
+msgstr "Prilagodi izhodno ojačitev"
 
 #: Menus.cpp:1069
-msgid "Snap To On"
-msgstr "Vključi Skoči-na"
+msgid "Increase output gain"
+msgstr "Povečaj izhodno ojačitev"
 
 #: Menus.cpp:1070
-msgid "Snap To Off"
-msgstr "Izključi Skoči-na"
+msgid "Decrease output gain"
+msgstr "Pomanjšaj izhodno ojačitev"
+
+#: Menus.cpp:1071
+msgid "Adjust input gain"
+msgstr "Prilagodi vhodno ojačitev"
+
+#: Menus.cpp:1072
+msgid "Increase input gain"
+msgstr "Povečaj vhodno ojačitev"
 
 #: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
-msgstr ""
+msgid "Decrease input gain"
+msgstr "Pomanjšaj vhodno ojačitev"
+
+#: Menus.cpp:1075
+msgid "Adjust input source"
+msgstr "Prilagodi vhodni vir"
+
+#: Menus.cpp:1079
+msgid "Play at speed"
+msgstr "Predvajaj pri hitrosti"
+
+#: Menus.cpp:1080
+msgid "Adjust playback speed"
+msgstr "Prilagodi hitrost predvajanja"
+
+#: Menus.cpp:1081
+msgid "Increase playback speed"
+msgstr "Pohitri predvajanje"
+
+#: Menus.cpp:1082
+msgid "Decrease playback speed"
+msgstr "Upočasni predvajanje"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:1157
+#: Menus.cpp:1167
 msgid "Open Recent"
 msgstr "Odpri nedavne"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1160
+#: Menus.cpp:1170
 msgid "Recent &Files"
 msgstr "Zadnje &datoteke"
 
-#: Menus.cpp:1209
+#: Menus.cpp:1188
 #, c-format
 msgid "&Undo %s"
 msgstr "Razveljavi %s"
 
-#: Menus.cpp:1235
+#: Menus.cpp:1214
 msgid "Can't Undo"
 msgstr "Ni mogoče razveljaviti"
 
-#: Menus.cpp:1244
+#: Menus.cpp:1223
 #, c-format
 msgid "&Redo %s"
 msgstr "P&onovi %s"
 
-#: Menus.cpp:1250
+#: Menus.cpp:1229
 msgid "Can't Redo"
 msgstr "Ni mogoče ponoviti"
 
-#: Menus.cpp:1856
+#: Menus.cpp:1874
 msgid "Sort By Time"
 msgstr "Razvrsti po času"
 
-#: Menus.cpp:1856
+#: Menus.cpp:1874
 msgid "Tracks sorted by time"
 msgstr "Sledi, razvrščene po času"
 
-#: Menus.cpp:1882
+#: Menus.cpp:1900
 msgid "Sort By Name"
 msgstr "Razvrsti po imenu"
 
-#: Menus.cpp:1882
+#: Menus.cpp:1900
 msgid "Tracks sorted by name"
 msgstr "Sledi, razvrščene po imenu"
 
-#: Menus.cpp:2033
-msgid "Set Left Selection Bound"
+#: Menus.cpp:2051
+#: Menus.cpp:2087
+msgid "Position"
+msgstr "Položaj"
+
+#: Menus.cpp:2051
+msgid "Set Left Selection Boundary"
 msgstr "Nastavi levo mejo izbora"
 
-#: Menus.cpp:2068
-msgid "Set Right Selection Bound"
+#: Menus.cpp:2087
+msgid "Set Right Selection Boundary"
 msgstr "Nastavi desno mejo izbora"
 
-#: Menus.cpp:2337
+#: Menus.cpp:2444
 msgid "You must select a track first."
 msgstr "Prosimo, da najprej izberete sled."
 
-#: Menus.cpp:2369
+#: Menus.cpp:2479
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Ponovi %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Ponovi %s"
 
-#: Menus.cpp:2512
+#: Menus.cpp:2620
 msgid "There are no label tracks to export."
 msgstr "Sledi z oznakami za izvoz ne obstajajo."
 
-#: Menus.cpp:2607
+#: Menus.cpp:2715
 msgid "Export MIDI As:"
 msgstr "Izvozi MIDI kot:"
 
-#: Menus.cpp:2611
+#: Menus.cpp:2719
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "Datoteke MIDI (*.mid)|*.mid|Datoteke Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2643
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2751
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
-msgstr "Izbrali ste ime datoteke z nerazpoznano končnico datoteke.\n"
+msgstr ""
+"Izbrali ste ime datoteke z nerazpoznano končnico datoteke.\n"
 "Želite nadaljevati?"
 
-#: Menus.cpp:2644
+#: Menus.cpp:2752
 msgid "Export MIDI"
 msgstr "Izvozi MIDI"
 
-#: Menus.cpp:2702
+#: Menus.cpp:2830
 msgid "Nothing to undo"
 msgstr "Razveljavitev ni izvedljiva"
 
-#: Menus.cpp:2722
+#: Menus.cpp:2851
 msgid "Nothing to redo"
 msgstr "Ponovitev ni izvedljiva"
 
-#: Menus.cpp:2809
-#: TrackPanel.cpp:596
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2958
+#: TrackPanel.cpp:652
+#: toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Izreži"
 
-#: Menus.cpp:2809
+#: Menus.cpp:2958
 msgid "Cut to the clipboard"
 msgstr "Izreži v odložišce"
 
-#: Menus.cpp:2849
+#: Menus.cpp:2997
 msgid "Split Cut"
 msgstr "Razdvoji in izreži"
 
-#: Menus.cpp:2849
+#: Menus.cpp:2997
 msgid "Split-cut to the clipboard"
 msgstr "Razdvoji in izreži v odložišče"
 
-#: Menus.cpp:2914
-#: Menus.cpp:2986
-#: Menus.cpp:3178
-#: TrackPanel.cpp:598
-#: toolbars/EditToolBar.cpp:137
+#: Menus.cpp:3063
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
+#: TrackPanel.cpp:654
+#: toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Prilepi"
 
-#: Menus.cpp:2914
+#: Menus.cpp:3063
 msgid "Pasted text from the clipboard"
 msgstr "Prilepljeno besedilo z odložišča"
 
-#: Menus.cpp:2986
-#: Menus.cpp:3178
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
 msgid "Pasted from the clipboard"
 msgstr "Prilepljeno iz odložišča"
 
-#: Menus.cpp:3052
+#: Menus.cpp:3277
 msgid "Pasting one type of track into another is not allowed."
 msgstr "Kopiranje ene vrste sledi v drugo ni dovoljeno."
 
-#: Menus.cpp:3064
+#: Menus.cpp:3289
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Kopiranje stereo zvoka v mono sled ni dovoljeno."
 
-#: Menus.cpp:3214
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3444
+#: toolbars/EditToolBar.cpp:193
 msgid "Trim"
 msgstr "Poreži"
 
-#: Menus.cpp:3214
+#: Menus.cpp:3444
 msgid "Trim file to selection"
 msgstr "Poreži datoteko na izbor"
 
-#: Menus.cpp:3243
+#: Menus.cpp:3473
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Razdvojeno z brisanjem %.2f sekund pri t=%.2f"
 
-#: Menus.cpp:3246
+#: Menus.cpp:3476
 msgid "Split Delete"
 msgstr "Razdvoji z brisanjem"
 
-#: Menus.cpp:3267
+#: Menus.cpp:3497
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Razdruženih %.2f sekund pri t=%.2f"
 
-#: Menus.cpp:3270
+#: Menus.cpp:3500
 msgid "Disjoin"
 msgstr "Razdruži"
 
-#: Menus.cpp:3291
+#: Menus.cpp:3521
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "Združenih %.2f sekund pri t=%.2f"
 
-#: Menus.cpp:3294
+#: Menus.cpp:3524
 msgid "Join"
 msgstr "Združi"
 
-#: Menus.cpp:3313
+#: Menus.cpp:3543
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Stišani izbrani posnetki za %.2f sekund pri %.2f"
 
-#: Menus.cpp:3315
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3545
+#: toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Tišina"
 
-#: Menus.cpp:3349
+#: Menus.cpp:3575
 msgid "Duplicate"
 msgstr "Podvoji"
 
-#: Menus.cpp:3349
+#: Menus.cpp:3575
 msgid "Duplicated"
 msgstr "Podvojeno"
 
-#: Menus.cpp:3368
+#: Menus.cpp:3594
 msgid "Cut Labels"
 msgstr "Izreži označeno"
 
-#: Menus.cpp:3368
+#: Menus.cpp:3594
 msgid "Cut labeled regions to the clipboard"
 msgstr "Izreži označena območja v odložišče"
 
-#: Menus.cpp:3382
+#: Menus.cpp:3608
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Razvoji z izrezovanjem označena področja na odložišče"
 
-#: Menus.cpp:3383
+#: Menus.cpp:3609
 msgid "Split Cut Labels"
 msgstr "Oznake razdvojenega z izrezom"
 
-#: Menus.cpp:3397
+#: Menus.cpp:3623
 msgid "Copied labeled regions to the clipboard"
 msgstr "Skopirana označena področja v odložišče"
 
-#: Menus.cpp:3397
+#: Menus.cpp:3623
 msgid "Copy Labels"
 msgstr "Kopiraj oznake"
 
-#: Menus.cpp:3409
+#: Menus.cpp:3635
 msgid "Delete Labels"
 msgstr "Izbriši oznake"
 
-#: Menus.cpp:3409
+#: Menus.cpp:3635
 msgid "Deleted labeled regions"
 msgstr "Izbrisana označena področja"
 
-#: Menus.cpp:3421
+#: Menus.cpp:3647
 msgid "Split Delete Labels"
 msgstr "Razdvoji z brisanjem označeno"
 
-#: Menus.cpp:3421
+#: Menus.cpp:3647
 msgid "Split Deleted labeled regions"
 msgstr "Razdvoji z brisanjem označena področja"
 
-#: Menus.cpp:3433
+#: Menus.cpp:3659
 msgid "Silence Labels"
 msgstr "Oznake utišanega"
 
-#: Menus.cpp:3433
+#: Menus.cpp:3659
 msgid "Silenced labeled regions"
 msgstr "Označena področja utišanja"
 
-#: Menus.cpp:3445
+#: Menus.cpp:3671
 msgid "Split Labels"
 msgstr "Oznake razdvojenega"
 
-#: Menus.cpp:3445
+#: Menus.cpp:3671
 msgid "Split labeled regions"
 msgstr "Označena področja razdvojitve"
 
-#: Menus.cpp:3457
+#: Menus.cpp:3683
 msgid "Join Labels"
 msgstr "Oznake združenega"
 
-#: Menus.cpp:3457
+#: Menus.cpp:3683
 msgid "Joined labeled regions"
 msgstr "Označena področja združevanja"
 
-#: Menus.cpp:3469
+#: Menus.cpp:3695
 msgid "Disjoin Labels"
 msgstr "Oznake razdruženega"
 
-#: Menus.cpp:3469
+#: Menus.cpp:3695
 msgid "Disjoined labeled regions"
 msgstr "Označena področja razdruževanja"
 
-#: Menus.cpp:3491
-#: TrackPanel.cpp:6134
+#: Menus.cpp:3717
+#: TrackPanel.cpp:6257
 msgid "Split"
 msgstr "Razdvoji"
 
-#: Menus.cpp:3585
+#: Menus.cpp:3806
 msgid "Split New"
 msgstr "Razdvoji v novo"
 
-#: Menus.cpp:3585
+#: Menus.cpp:3806
 msgid "Split to new track"
 msgstr "Razdvoji v novo sled"
 
-#: Menus.cpp:3668
+#: Menus.cpp:3888
 msgid "Split at labels"
 msgstr "Razdvoji po oznakah"
 
-#: Menus.cpp:3969
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Za risanje spektra morajo imeti vse izbrane sledi enako mero vzorčenja."
-
-#: Menus.cpp:3995
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Izbranega je preveč zvoka. Analiziranih bo le prvih %.1f sekund zvoka."
-
-#: Menus.cpp:4130
+#: Menus.cpp:4302
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Uvožene oznake iz '%s'"
 
-#: Menus.cpp:4131
+#: Menus.cpp:4303
 msgid "Import Labels"
 msgstr "Uvozi oznake"
 
-#: Menus.cpp:4142
+#: Menus.cpp:4314
 msgid "Select a MIDI file..."
 msgstr "Izberite datoteko MIDI ..."
 
-#: Menus.cpp:4146
+#: Menus.cpp:4318
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
 msgstr "Datoteke MIDI in Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|Datoteke MIDI (*.mid)|*.mid|Datoteke Allegro (*.gro)|*.gro|Vse datoteke (*.*)|*.*"
 
-#: Menus.cpp:4162
+#: Menus.cpp:4334
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "Uvožen MIDI iz '%s'"
 
-#: Menus.cpp:4163
+#: Menus.cpp:4335
 msgid "Import MIDI"
 msgstr "Uvozi MIDI"
 
-#: Menus.cpp:4177
+#: Menus.cpp:4349
 msgid "Select any uncompressed audio file..."
 msgstr "Izberite katero koli nestisnjeno zvočno datoteko ..."
 
-#: Menus.cpp:4181
+#: Menus.cpp:4353
 msgid "All files (*)|*"
 msgstr "Vse datoteke (*)|*"
 
-#: Menus.cpp:4205
+#: Menus.cpp:4377
 msgid "Edit the metadata tags"
 msgstr "Uredi metapodatkovne oznake"
 
-#: Menus.cpp:4206
-#: export/Export.cpp:353
+#: Menus.cpp:4378
+#: export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Uredi metapodatke"
 
-#: Menus.cpp:4206
+#: Menus.cpp:4378
 msgid "Edit Metadata tags"
 msgstr "Uredi metazaznamke"
 
-#: Menus.cpp:4262
+#: Menus.cpp:4433
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr "Ves zvok je bil izdelan v sledi '%s'"
 
-#: Menus.cpp:4263
+#: Menus.cpp:4434
 msgid "Render"
 msgstr "Izdelaj"
 
-#: Menus.cpp:4268
+#: Menus.cpp:4439
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "V novo stereo sled je bilo zmešanih in izdelanih %d sledi"
 
-#: Menus.cpp:4271
+#: Menus.cpp:4442
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "V novo mono sled je bilo zmešanih in izdelanih %d sledi"
 
-#: Menus.cpp:4273
-#: Mix.cpp:121
-msgid "&Mix and Render"
-msgstr "&Zmešaj in izdelaj"
+#: Menus.cpp:4444
+#: Mix.cpp:120
+msgid "Mix and Render"
+msgstr "Zmešaj in izdelaj"
 
-#: Menus.cpp:4403
+#: Menus.cpp:4576
 msgid "Aligned with zero"
 msgstr "Združeni z ničlo"
 
-#: Menus.cpp:4407
+#: Menus.cpp:4580
 msgid "Aligned cursor"
 msgstr "Poravnana kazalka"
 
-#: Menus.cpp:4411
+#: Menus.cpp:4584
 msgid "Aligned with selection start"
 msgstr "Poravnano z začetkom izbora"
 
-#: Menus.cpp:4415
+#: Menus.cpp:4588
 msgid "Aligned with selection end"
 msgstr "Poravnano s koncem izbora"
 
-#: Menus.cpp:4419
+#: Menus.cpp:4592
 msgid "Aligned end with cursor"
 msgstr "Konec poravnan s kazalko"
 
-#: Menus.cpp:4423
+#: Menus.cpp:4596
 msgid "Aligned end with selection start"
 msgstr "Konec poravnan z začetkom izbora"
 
-#: Menus.cpp:4427
+#: Menus.cpp:4600
 msgid "Aligned end with selection end"
 msgstr "Konec poravnan s koncem izbora"
 
-#: Menus.cpp:4431
+#: Menus.cpp:4604
 msgid "Aligned"
 msgstr "Poravnano"
 
-#: Menus.cpp:4464
+#: Menus.cpp:4637
 msgid "Align"
 msgstr "Poravnaj"
 
-#: Menus.cpp:4549
+#: Menus.cpp:4723
 msgid "Sync MIDI with Audio"
 msgstr "Sinhroniziraj MIDI z zvokom"
 
-#: Menus.cpp:4553
+#: Menus.cpp:4727
 msgid "Alignment completed."
 msgstr "Poravnava dokončana."
 
-#: Menus.cpp:4564
+#: Menus.cpp:4738
 msgid "Created new audio track"
 msgstr "Ustvarjen nov posnetek"
 
-#: Menus.cpp:4564
-#: Menus.cpp:4587
-#: Menus.cpp:4602
-#: Menus.cpp:4622
+#: Menus.cpp:4738
+#: Menus.cpp:4760
+#: Menus.cpp:4775
+#: Menus.cpp:4795
 msgid "New Track"
 msgstr "Nova sled"
 
-#: Menus.cpp:4587
+#: Menus.cpp:4760
 msgid "Created new stereo audio track"
 msgstr "Ustvarjena nova stereo zvočna sled"
 
-#: Menus.cpp:4602
+#: Menus.cpp:4775
 msgid "Created new label track"
 msgstr "Ustvarjena nova datoteka z oznakami"
 
-#: Menus.cpp:4611
+#: Menus.cpp:4784
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Različica programa Audacity, ki jo uporabljate, ne podpira več časovnih sledi."
 
-#: Menus.cpp:4622
+#: Menus.cpp:4795
 msgid "Created new time track"
 msgstr "Ustvarjena nova časovna sled"
 
-#: Menus.cpp:4677
+#: Menus.cpp:4855
 msgid "Added label"
 msgstr "Oznaka dodana"
 
-#: Menus.cpp:4712
+#: Menus.cpp:4890
 msgid "Edited labels"
 msgstr "Urejene oznake"
 
-#: Menus.cpp:4739
+#: Menus.cpp:4917
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Shrani datoteko prednastavitev PočistiGovor kot:"
 
-#: Menus.cpp:4743
+#: Menus.cpp:4921
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Prednastavitve PočistiGovor (*.csp)|*.csp"
 
-#: Menus.cpp:4750
-#: export/Export.cpp:605
+#: Menus.cpp:4928
+#: export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Oprostite, poti do datotek ne smejo presegati 256 znakov."
 
-#: Menus.cpp:4796
+#: Menus.cpp:4974
 msgid "Problem encountered exporting presets."
 msgstr "Nastopila je težava pri izvozu prednastavitev."
 
-#: Menus.cpp:4797
-#: export/Export.cpp:468
+#: Menus.cpp:4975
+#: export/Export.cpp:472
 msgid "Unable to export"
 msgstr "Ni mogoče izvoziti"
 
-#: Menus.cpp:4981
+#: Menus.cpp:5158
 msgid "Remove Track"
 msgstr "Odstrani sled"
 
-#: Menus.cpp:4981
+#: Menus.cpp:5158
 msgid "Removed audio track(s)"
 msgstr "Odstrani zvočni(e) posnetek(e)"
 
-#: Menus.cpp:5138
-#: Menus.cpp:5193
-#: export/ExportFFmpeg.cpp:710
-#: export/ExportMP3.cpp:1928
+#: Menus.cpp:5314
+#: Menus.cpp:5370
+#: export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Prevzorči"
 
-#: Menus.cpp:5158
-#: TrackPanel.cpp:6361
+#: Menus.cpp:5335
+#: TrackPanel.cpp:6481
 msgid "New sample rate (Hz):"
 msgstr "Nova frekvenco vzorčenja (Hz):"
 
-#: Menus.cpp:5182
-#: TrackPanel.cpp:6385
+#: Menus.cpp:5359
+#: TrackPanel.cpp:6505
 msgid "The entered value is invalid"
 msgstr "Vnesena vrednost ni veljavna"
 
-#: Menus.cpp:5191
+#: Menus.cpp:5368
 #, c-format
 msgid "Resampling track %d"
 msgstr "Prevzorčenje sledi %d"
 
-#: Menus.cpp:5200
+#: Menus.cpp:5377
 msgid "Resample Track"
 msgstr "Prevzorči sled"
 
-#: Menus.cpp:5200
+#: Menus.cpp:5377
 msgid "Resampled audio track(s)"
 msgstr "Prevzorčene zvočne sledi"
 
@@ -2941,7 +3055,7 @@ msgstr "Prevzorčene zvočne sledi"
 msgid "Mix"
 msgstr "Zmešaj"
 
-#: Mix.cpp:122
+#: Mix.cpp:121
 msgid "Mixing and rendering tracks"
 msgstr "Mešanje in izdelava sledi"
 
@@ -2949,83 +3063,91 @@ msgstr "Mešanje in izdelava sledi"
 msgid "Note Track"
 msgstr "Notiraj sled"
 
-#: Printing.cpp:192
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Pri tiskanju je prišlo do težav."
 
-#: Printing.cpp:193
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Natisni"
 
-#: Project.cpp:673
+#: Project.cpp:671
+msgid "Repeat Last Effect"
+msgstr "Ponovi zadnji učinek"
+
+#: Project.cpp:776
 msgid "Main Mix"
 msgstr "Glavni zmešani zvok"
 
-#: Project.cpp:797
+#: Project.cpp:894
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Dobrodošli v Audacity različice %s"
 
-#: Project.cpp:957
+#: Project.cpp:1049
 msgid "(Recovered)"
 msgstr "(obnovljeno)"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
-#: toolbars/ControlToolBar.cpp:192
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
+#: toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Posnemi"
 
-#: Project.cpp:1546
-#: TrackPanel.cpp:796
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
 msgid "Recorded Audio"
 msgstr "Posneti zvok"
 
-#: Project.cpp:1564
+#: Project.cpp:1736
 msgid "Save changes before closing?"
 msgstr "Želite shraniti spremembe pred izhodom?"
 
-#: Project.cpp:1567
-msgid "\n"
+#: Project.cpp:1739
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
-msgstr "\n"
+msgstr ""
+"\n"
 "Shranjen projekt bo brez sledi!!\n"
 "\n"
 "Za shranjevanje predhodno odprtih sledi:\n"
 "kliknite Prekliči, Uredi > Razveljavi, dokler niso\n"
 "odprte vse sledi, nato Datoteka > Shrani projekt."
 
-#: Project.cpp:1570
+#: Project.cpp:1742
 msgid "Save changes?"
 msgstr "Želite shraniti spremembe?"
 
-#: Project.cpp:1772
-msgid "All files|*.*|All supported files|"
-msgstr "Vse datoteke|*.*|Vse podprte datoteke|"
+#: Project.cpp:1954
+msgid "All files|*|All supported files|"
+msgstr "Vse datoteke|*|Vse podprte datoteke|"
 
-#: Project.cpp:1802
+#: Project.cpp:1984
 msgid "Select one or more audio files..."
 msgstr "Izberite eno ali več zvočnih datotek ..."
 
-#: Project.cpp:1829
+#: Project.cpp:2011
 msgid "Audacity projects|*.aup|"
 msgstr "Projekti Audacity|*.aup"
 
-#: Project.cpp:1882
-#: Project.cpp:2304
+#: Project.cpp:2071
+#: Project.cpp:2506
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
 "it, so you must back it up first.\n"
 "\n"
 "Open this file now?"
-msgstr "Datoteko ste shranili z veliko starejšo različico\n"
+msgstr ""
+"Datoteko ste shranili z veliko starejšo različico\n"
 "Audacity %s. Zapis se je medtem spremenil.\n"
 "\n"
 "Audacity jo bo od odprtju najverjetneje poškodoval,\n"
@@ -3033,87 +3155,115 @@ msgstr "Datoteko ste shranili z veliko starejšo različico\n"
 "\n"
 "Želite kljub temu zdaj odpreti to datoteko?"
 
-#: Project.cpp:1883
+#: Project.cpp:2072
 msgid "1.0 or earlier"
 msgstr "1.0 ali starejši"
 
-#: Project.cpp:1889
-#: Project.cpp:2316
+#: Project.cpp:2078
+#: Project.cpp:2518
 msgid "Opening old project file"
 msgstr "Odpiranje datoteko starega projekta"
 
-#: Project.cpp:1915
-#: Project.cpp:1923
+#: Project.cpp:2102
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"Odpreti želite samodejno ustvarjeno datoteko varnostne kopije.\n"
+"To lahko pripelje do resne izgube podatkov.\n"
+"\n"
+"Namesto tega raje odprite aktualni projekt Audacity."
+
+#: Project.cpp:2103
+msgid "Backup file detected"
+msgstr "Zaznana je datoteka varnostne kopije"
+
+#: Project.cpp:2117
+#: Project.cpp:2125
+#: xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Napaka pri odpiranju datoteke."
 
-#: Project.cpp:1929
+#: Project.cpp:2131
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "Datoteka je morda neveljavna ali okvarjena: \n"
+msgstr ""
+"Datoteka je morda neveljavna ali okvarjena: \n"
 "%s"
 
-#: Project.cpp:1930
+#: Project.cpp:2132
 msgid "Error opening file or project"
 msgstr "Napaka pri odpiranju datoteke ali projekta"
 
-#: Project.cpp:1950
+#: Project.cpp:2152
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity ne zmore pretvoriti projekta Audacity 1.0 v nov zapis projekta."
 
-#: Project.cpp:2053
+#: Project.cpp:2259
 msgid "Could not remove old auto save file"
 msgstr "Stare datoteke samodejnega shranjevanja ni mogoče odstraniti"
 
-#: Project.cpp:2055
+#: Project.cpp:2261
 msgid "Project was recovered"
 msgstr "Projekt je bil obnovljen"
 
-#: Project.cpp:2055
+#: Project.cpp:2261
 msgid "Recover"
 msgstr "Obnovi"
 
-#: Project.cpp:2084
+#: Project.cpp:2290
 msgid "Project checker repaired file"
 msgstr "Preverjalnik projekta je datoteko popravil"
 
-#: Project.cpp:2084
+#: Project.cpp:2290
 #: effects/Repair.h:29
 msgid "Repair"
 msgstr "Popravi"
 
-#: Project.cpp:2230
+#: Project.cpp:2431
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Mape s projektnimi podatki ni mogoče najti: \"%s\""
 
-#: Project.cpp:2273
+#: Project.cpp:2475
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "To datoteko ste shranili z Audacity %s.\n"
+msgstr ""
+"To datoteko ste shranili z Audacity %s.\n"
 "Uporabljate Audacity %s - da bi lahko odprli to datoteko,\n"
 "morate nadgraditi program na novejšo različice."
 
-#: Project.cpp:2277
+#: Project.cpp:2479
 msgid "Can't open project file"
 msgstr "Ni mogoče odpreti datoteke projekta"
 
-#: Project.cpp:2311
+#: Project.cpp:2513
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "Datoteko je shranil Audacity %s.\n"
-"Datoteko lahko odprete s to različico Audacity, če pa jo shranite s to različico, je več ne boste mogli odpreti s starejšo različico.\n"
+msgstr ""
+"Datoteko je shranil Audacity %s.\n"
+"\n"
+"Datoteko lahko odprete s to različico Audacity, če pa jo shranite s to\n"
+"različico, je več ne boste mogli odpreti s starejšo različico.\n"
 "\n"
 "Želite kljub temu zdaj odpreti to datoteko?"
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2711
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -3122,61 +3272,78 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"Vaš projekt je zdaj prazen.\n"
+"Shranjen projekt bo brez sledi!!\n"
+"\n"
+"Za shranjevanje predhodno odprtih sledi:\n"
+"kliknite 'Ne', Uredi > Razveljavi, dokler niso\n"
+"odprte vse sledi, nato Datoteka > Shrani projekt.\n"
+"\n"
+"Želite kljub temu shraniti?"
 
-#: Project.cpp:2538
+#: Project.cpp:2712
 msgid "Warning empty project"
-msgstr ""
+msgstr "Opozorilo - prazen projekt"
 
-#: Project.cpp:2588
+#: Project.cpp:2821
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
-msgstr "Napaka pri shranjevanju projekta. Morda v %s\n"
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
+msgstr ""
+"Napaka pri shranjevanju projekta. Morda v %s \n"
 "ni mogoče pisati ali pa je disk poln."
 
-#: Project.cpp:2590
-#: Project.cpp:2605
+#: Project.cpp:2823
+#: Project.cpp:2849
 msgid "Error saving project"
 msgstr "Napaka pri shranjevanju projekta"
 
-#: Project.cpp:2680
+#: Project.cpp:2847
+#: Project.cpp:3950
+#: Tags.cpp:1203
+#: effects/Equalization.cpp:1095
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "Napaka pri zapisovanju v datoteko \"%s\": %s"
+
+#: Project.cpp:2927
 #, c-format
 msgid "Saved %s"
 msgstr "Shranjeno %s"
 
-#: Project.cpp:2806
+#: Project.cpp:3080
 #, c-format
 msgid "Imported '%s'"
 msgstr "Uvoženo '%s'"
 
-#: Project.cpp:2807
-#: import/ImportPCM.cpp:483
-#: import/ImportPCM.cpp:527
+#: Project.cpp:3081
 msgid "Import"
 msgstr "Uvozi"
 
-#: Project.cpp:2840
-#: Project.cpp:2848
+#: Project.cpp:3116
 msgid "Error importing"
 msgstr "Napaka pri uvozu"
 
-#: Project.cpp:2882
+#: Project.cpp:3163
 msgid "Save Speech As:"
 msgstr "Shrani govor kot:"
 
-#: Project.cpp:2884
+#: Project.cpp:3165
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Zvočna datoteka Windows PCM (*.wav)|*.wav"
 
-#: Project.cpp:2891
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:3172
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
 "Most other programs can't open Audacity project files.\n"
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
-msgstr "Stisnjene projektne datoteke Audacity (.aup) shranijo vaše delo v manjše, stisnjene datoteke (.ogg).\n"
+msgstr ""
+"Stisnjene projektne datoteke Audacity (.aup) shranijo vaše delo v manjše, stisnjene datoteke (.ogg).\n"
 "Stisnjene projektne datoteke so dober način pošiljanja projektov prek spleta, ker so veliko manjše.\n"
 "Odpiranje stisnjenega projekta vzame več časa kot običajno, saj uvozi vsako stisnjeno sled.\n"
 "\n"
@@ -3184,154 +3351,350 @@ msgstr "Stisnjene projektne datoteke Audacity (.aup) shranijo vaše delo v manj
 "Če želite shraniti datoteko, ki jo lahko odprejo drugi programi, izberite enega od\n"
 "ukazov za izvoz."
 
-#: Project.cpp:2894
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3175
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
-msgstr "Shranjujete projektno datoteko Audacity (.aup).\n"
+msgstr ""
+"Shranjujete projektno datoteko Audacity (.aup).\n"
 "\n"
 "Shranjevanje projekta ustvari datoteko, ki jo zna odpreti le Audacity.\n"
 "\n"
 "Če želite shraniti zvočno datoteko za kak drug program, uporabite enega od ukazov \"Datoteka > Izvozi\".\n"
 
-#: Project.cpp:2898
+#: Project.cpp:3177
+msgid "Save Project As..."
+msgstr "Shrani projekt kot ..."
+
+#: Project.cpp:3179
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Projekti Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2952
+#: Project.cpp:3228
 msgid "Created new project"
 msgstr "Ustvarjen nov projekt"
 
-#: Project.cpp:3111
+#: Project.cpp:3372
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Izbrisanih %.2f sekund v t=%.2f"
 
-#: Project.cpp:3114
-#: effects/Equalization.cpp:1276
-#: effects/Equalization.cpp:2607
+#: Project.cpp:3375
+#: effects/Equalization.cpp:1295
+#: effects/Equalization.cpp:2647
 msgid "Delete"
 msgstr "Izbriši"
 
-#: Project.cpp:3308
+#: Project.cpp:3569
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Preostali prostor na disku zadostuje za snemanje %d ur in %d minut."
 
-#: Project.cpp:3311
+#: Project.cpp:3572
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Preostali prostor na disku zadostuje za snemanje 1 ure in %d minut."
 
-#: Project.cpp:3314
+#: Project.cpp:3575
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Preostali prostor na disku zadostuje za snemanje %d minut."
 
-#: Project.cpp:3317
+#: Project.cpp:3578
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Preostali prostor na disku zadostuje za snemanje %d sekund."
 
-#: Project.cpp:3320
+#: Project.cpp:3581
 msgid "Out of disk space"
 msgstr "Prostora na disku je premalo"
 
-#: Project.cpp:3333
+#: Project.cpp:3594
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
 msgstr "Uvozi dokončani. Poteka %d izračunov signalnih oblik na zahtevo. V celoti dokončano %2.0f%%."
 
-#: Project.cpp:3336
+#: Project.cpp:3597
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
 msgstr "Uvoz dokončan. Poteka izračun signalne oblike na zahtevo. Dokončano %2.0f%%."
 
-#: Project.cpp:3614
+#: Project.cpp:3881
 msgid "Could not remove old autosave file: "
 msgstr "Stare datoteke samodejnega shranjevanja ni mogoče odstraniti: "
 
-#: Project.cpp:3655
+#: Project.cpp:3922
 msgid "New Project"
 msgstr "Nov projekt"
 
-#: Project.cpp:3668
+#: Project.cpp:3952
 msgid "Error writing autosave file"
 msgstr "Napaka pri zapisovanju samodejno shranjene datoteke"
 
-#: Project.cpp:3693
+#: Project.cpp:3967
 msgid "Could not create autosave file: "
 msgstr "Datoteke samodejnega shranjevanja ni mogoče ustvariti: "
 
-#: Project.cpp:3719
+#: Project.cpp:3993
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Dejanska frekvenca: %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample, Dominic Mazzoni in Julius Smith"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Viskokakovostna sinhrona interpolacija:"
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Hitra sinhrona interpolacija"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libsamplerate, Erik de Castro Lopo"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Napaka Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Ponovno vzorčenje onemogočeno."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16-bitni PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24-bitni PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-bitno plavajoče"
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Zajemi sličico zaslona"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Izberite mesto, kjer bodo shranjene datoteke."
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Shrani slike v:"
+
+#: Screenshot.cpp:328
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Izberi ..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Zajemi celotno okno ali zaslon"
+
+#: Screenshot.cpp:338
+#, fuzzy
+msgid "Resize Small"
+msgstr "Spremeni velikost na majhno"
+
+#: Screenshot.cpp:339
+#, fuzzy
+msgid "Resize Large"
+msgstr "Spremeni velikost na veliko"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Modro ozadje"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Belo ozadje"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Zajemi le okno"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Zajemi celo okno"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Zajemi okno z ostalim"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Zajemi cel zaslon"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Počakaj 5 sekund in zajemi okno, ki je v ospredju"
+
+#: Screenshot.cpp:369
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr "ne velja"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Zajami del projektnega okna"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Vse orodne vrstice"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "VrsticaIzbora"
+
+#: Screenshot.cpp:381
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Orodja"
+
+#: Screenshot.cpp:382
+#: effects/Contrast.cpp:410
+#: toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr "Nadzor"
+
+#: Screenshot.cpp:388
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:245
+msgid "Mixer"
+msgstr "Mešalec"
+
+#: Screenshot.cpp:389
+#: toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr "Merilnik"
+
+#: Screenshot.cpp:390
+#: toolbars/EditToolBar.cpp:76
+#: toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "Uredi"
+
+#: Screenshot.cpp:391
+#: prefs/DevicePrefs.cpp:131
+#: prefs/DevicePrefs.cpp:144
+#: prefs/MidiIOPrefs.cpp:137
+#: prefs/MidiIOPrefs.cpp:150
+#: toolbars/DeviceToolBar.cpp:57
+#: toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr "Naprava"
+
+#: Screenshot.cpp:392
+#: toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:253
+msgid "Transcription"
+msgstr "Prepis"
+
+#: Screenshot.cpp:398
+#: TrackPanel.cpp:442
+#: TrackPanel.cpp:443
+msgid "Track Panel"
+msgstr "Podokno sledi"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Ravnilo"
+
+#: Screenshot.cpp:400
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
+#: prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Sledi"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Prva sled"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Druga sled"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Raztegovanje"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Ena sekunda"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "Deset sekund"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Ena minuta"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "Pet minut"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Ena ura"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Nizke sledi"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Srednje sledi"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Visoke sledi"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Shranjeno "
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "Napaka pri shranjevanju datoteke: "
 
-#: Sequence.cpp:804
-#: Sequence.cpp:814
-#: Sequence.cpp:821
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Izberite mesto, kjer bodo shranjene zaslonske podobe."
+
+#: Sequence.cpp:799
+#: Sequence.cpp:809
+#: Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "V projektni datoteki je opažena luknja/razmik\n"
 
-#: ShuttleGui.cpp:1972
-#: effects/Effect.cpp:417
-#: effects/audiounits/AudioUnitEffect.cpp:877
+#: ShuttleGui.cpp:2034
+#: effects/Effect.cpp:436
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr "Pre&dogled"
 
-#: ShuttleGui.cpp:1979
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Razhrošči"
 
@@ -3344,748 +3707,752 @@ msgid "Activation level (dB):"
 msgstr "Raven aktivacije (dB):"
 
 #: SplashDialog.cpp:60
-msgid "&Welcome to Audacity!"
-msgstr "&Dobrodošli v Audacity!"
+msgid "Welcome to Audacity!"
+msgstr "Dobrodošli v Audacity!"
 
 #: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
 msgstr "Tega ob zagonu ne prikaži več"
 
-#: Tags.cpp:640
+#: Tags.cpp:629
 msgid "Artist Name"
 msgstr "Ime izvajalca"
 
-#: Tags.cpp:641
+#: Tags.cpp:630
 msgid "Track Title"
 msgstr "Naslov sledi"
 
-#: Tags.cpp:642
+#: Tags.cpp:631
 msgid "Album Title"
 msgstr "Naslov albuma"
 
-#: Tags.cpp:643
+#: Tags.cpp:632
 msgid "Track Number"
 msgstr "Å tevilka sledi"
 
-#: Tags.cpp:644
-#: Tags.cpp:2147
+#: Tags.cpp:633
 msgid "Year"
 msgstr "Leto"
 
-#: Tags.cpp:645
+#: Tags.cpp:634
 msgid "Genre"
 msgstr "Zvrst"
 
-#: Tags.cpp:646
-#: Tags.cpp:2157
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635
+#: prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Komentarji"
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "Za krmarjenje po poljih uporabite puščične tipke (ali tipko Enter po končanem urejanju)."
 
-#: Tags.cpp:813
-msgid "Tag Name"
-msgstr "Ime značke"
+#: Tags.cpp:812
+msgid "Tag"
+msgstr "Značka"
 
-#: Tags.cpp:814
-msgid "Tag Value"
-msgstr "Vrednost značke"
+#: Tags.cpp:813
+msgid "Value"
+msgstr "Vrednost"
 
-#: Tags.cpp:829
-#: Tags.cpp:1486
-#: prefs/KeyConfigPrefs.cpp:116
-msgid "&Clear"
+#: Tags.cpp:828
+msgid "Cl&ear"
 msgstr "Po&čisti"
 
-#: Tags.cpp:835
+#: Tags.cpp:834
 msgid "Genres"
 msgstr "Zvrsti"
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
-msgstr ""
+msgstr "&Uredi ..."
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
-msgstr ""
+msgstr "Ponas&tavi ..."
 
-#: Tags.cpp:845
-#: Tags.cpp:1470
-#: Tags.cpp:1997
+#: Tags.cpp:844
 msgid "Template"
 msgstr "Predloga"
 
-#: Tags.cpp:849
-#: Tags.cpp:1474
-#: Tags.cpp:2001
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:848
+#: prefs/KeyConfigPrefs.cpp:167
 msgid "&Load..."
 msgstr "&Naloži ..."
 
-#: Tags.cpp:850
-#: Tags.cpp:1475
-#: Tags.cpp:2002
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:849
+#: prefs/KeyConfigPrefs.cpp:168
 msgid "&Save..."
 msgstr "&Shrani ..."
 
-#: Tags.cpp:852
-#: Tags.cpp:1477
-#: Tags.cpp:2004
-msgid "S&et Default"
-msgstr "N&astavi privzeto"
+#: Tags.cpp:851
+msgid "Set De&fault"
+msgstr "&Nastavi privzeto"
 
-#: Tags.cpp:1002
-#: Tags.cpp:1640
-#: Tags.cpp:2368
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr "Uredi zvrsti"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1047
-#: Tags.cpp:1062
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1690
-#: Tags.cpp:1705
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2423
-#: Tags.cpp:2438
-#: Tags.cpp:2451
+#: Tags.cpp:1034
+#: Tags.cpp:1046
+#: Tags.cpp:1061
+#: Tags.cpp:1074
 msgid "Reset Genres"
 msgstr "Ponastavi zvrsti"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1075
-#: Tags.cpp:1678
-#: Tags.cpp:1718
-#: Tags.cpp:2411
-#: Tags.cpp:2451
+#: Tags.cpp:1034
+#: Tags.cpp:1074
 msgid "Unable to save genre file."
 msgstr "Datoteke zvrsti ni mogoče shraniti."
 
-#: Tags.cpp:1046
-#: Tags.cpp:1689
-#: Tags.cpp:2422
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Ste prepričani, da želite datoteko zvrsti ponastaviti na privzeto?"
 
-#: Tags.cpp:1062
-#: Tags.cpp:1705
-#: Tags.cpp:2438
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr "Datoteke zvrsti ni mogoče odpreti."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "Naloži metapodatke kot:"
 
-#: Tags.cpp:1122
-#: Tags.cpp:1772
-#: Tags.cpp:2494
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr "Napaka pri nalaganju metapodatkov"
 
-#: Tags.cpp:1097
-#: Tags.cpp:1151
-#: Tags.cpp:1751
-#: Tags.cpp:1787
-#: Tags.cpp:2473
-#: Tags.cpp:2509
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr "Shrani metapodatke kot:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "Napaka pri shranjevanju datoteke značk"
+
 #: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
-msgstr "Z Audacity ni mogoče pisati v datoteko:\n"
+msgstr ""
+"Z Audacity ni mogoče pisati v datoteko:\n"
 "  %s."
 
 #: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
-msgstr "Z Audacity ni mogoče odpreti datoteke\n"
+msgstr ""
+"Z Audacity ni mogoče odpreti datoteke\n"
 "  %s\n"
 "za pisanje."
 
 #: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
-msgstr "Z Audacity ni mogoče zapisati slik v datoteko:\n"
+msgstr ""
+"Z Audacity ni mogoče zapisati slik v datoteko:\n"
 "  %s."
 
 #: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
-msgstr "Z Audacity ni mogoče najti datoteke:\n"
+msgstr ""
+"Z Audacity ni mogoče najti datoteke:\n"
 "  %s.\n"
 "Tema ni bila naložena."
 
 #: Theme.cpp:807
 #: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
-msgstr "Z Audacity ni mogoče naložiti datoteke:\n"
+msgstr ""
+"Z Audacity ni mogoče naložiti datoteke:\n"
 "  %s.\n"
 "Morda gre za nepravilen zapis png?"
 
 #: Theme.cpp:823
-msgid "Audacity could not read its default theme.\n"
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
-msgstr "Z Audacity ni bilo mogoče prebrati privzete teme.\n"
+msgstr ""
+"Z Audacity ni bilo mogoče prebrati privzete teme.\n"
 "Prosim, sporočite težavo."
 
 #: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
-msgstr "Nobene od pričakovanih datotek komponent teme\n"
+msgstr ""
+"Nobene od pričakovanih datotek komponent teme\n"
 " ni bilo mogoče najti v:\n"
 "  %s."
 
 #: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: effects/NoiseRemoval.cpp:172
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
-msgstr "Mape ni mogoče ustvariti:\n"
+msgstr ""
+"Mape ni mogoče ustvariti:\n"
 "  %s"
 
 #: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
-msgstr "Ni mogoče shraniti datoteke:\n"
+msgstr ""
+"Ni mogoče shraniti datoteke:\n"
 "  %s"
 
 #: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
-msgstr "Vse potrebne datoteke v:\n"
+msgstr ""
+"Vse potrebne datoteke v:\n"
 "  %s\n"
 "so bile že prisotne."
 
-#: TimeDialog.cpp:53
-#: TimerRecordDialog.cpp:227
-#: TimerRecordDialog.cpp:305
-#: TimerRecordDialog.cpp:309
-#: effects/Noise.cpp:243
+#: TimeDialog.h:29
+#: TimerRecordDialog.cpp:233
+#: TimerRecordDialog.cpp:354
+#: TimerRecordDialog.cpp:358
+#: effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191
+#: effects/Noise.cpp:207
+#: effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291
 #: effects/ToneGen.cpp:323
-#: effects/ToneGen.cpp:366
+#: effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr "Trajanje"
 
-#: TimerRecordDialog.cpp:68
+#: TimeTrack.cpp:44
+msgid "Time Track"
+msgstr "ÄŒasovna sled"
+
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "ÄŒasovno snemanje Audacity"
 
-#: TimerRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "Dolžina je nič. Nič ne bo posneto."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Napaka v trajanju"
+
+#: TimerRecordDialog.cpp:230
 msgid "Recording start"
 msgstr "Začetek snemanja"
 
-#: TimerRecordDialog.cpp:225
+#: TimerRecordDialog.cpp:231
 msgid "Recording end"
 msgstr "Konec snemanja"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:237
 msgid "Audacity Timer Record Progress"
 msgstr "Napredek ÄŒasovnega snemanja Audacity"
 
-#: TimerRecordDialog.cpp:267
+#: TimerRecordDialog.cpp:316
 msgid "Start Date and Time"
 msgstr "Datum in čas pričetka"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:323
 msgid "Start Date"
 msgstr "Začetni datum"
 
-#: TimerRecordDialog.cpp:286
+#: TimerRecordDialog.cpp:335
 msgid "End Date and Time"
 msgstr "Datum in čas zaključka"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:343
 msgid "End Date"
 msgstr "Končni datum"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: TimerRecordDialog.cpp:381
+#: TimerRecordDialog.cpp:430
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Čakajoč na začetek snemanja ob: %s.\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:436
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Časovno snemanje Audacity - Čakanje na začetek"
 
-#: TrackPanel.cpp:457
-#: TrackPanel.cpp:458
-msgid "Track Panel"
-msgstr "Podokno sledi"
-
-#: TrackPanel.cpp:541
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:596
+#: prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "Drugo ..."
 
-#: TrackPanel.cpp:549
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:588
-#: TrackPanel.cpp:5793
+#: TrackPanel.cpp:604
+#: TrackPanel.cpp:627
+#: TrackPanel.cpp:636
+#: TrackPanel.cpp:644
 msgid "Name..."
 msgstr "Ime ..."
 
-#: TrackPanel.cpp:551
-#: TrackPanel.cpp:573
-#: TrackPanel.cpp:584
-#: TrackPanel.cpp:590
-#: TrackPanel.cpp:5797
+#: TrackPanel.cpp:606
+#: TrackPanel.cpp:629
+#: TrackPanel.cpp:640
+#: TrackPanel.cpp:646
 msgid "Move Track Up"
 msgstr "Premakni sled navzgor"
 
-#: TrackPanel.cpp:552
-#: TrackPanel.cpp:574
-#: TrackPanel.cpp:585
-#: TrackPanel.cpp:591
-#: TrackPanel.cpp:5798
+#: TrackPanel.cpp:607
+#: TrackPanel.cpp:630
+#: TrackPanel.cpp:641
+#: TrackPanel.cpp:647
 msgid "Move Track Down"
 msgstr "Premakni sled navzdol"
 
-#: TrackPanel.cpp:554
-#: effects/ToneGen.cpp:319
-#: prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:609
+#: effects/ToneGen.cpp:275
+#: prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Signalna oblika"
 
-#: TrackPanel.cpp:555
-#: prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:610
+#: prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Signalna oblika (dB)"
 
-#: TrackPanel.cpp:557
-#: prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:612
+#: prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
 msgstr "Spektralni logaritem (f)"
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:558
-#: prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:613
+#: prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Višina tona (EAC)"
 
-#: TrackPanel.cpp:560
-#: TrackPanel.cpp:6096
+#: TrackPanel.cpp:615
+#: TrackPanel.cpp:6200
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:561
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:616
+#: TrackPanel.cpp:6199
 msgid "Left Channel"
 msgstr "Levi kanal"
 
-#: TrackPanel.cpp:562
-#: TrackPanel.cpp:6095
+#: TrackPanel.cpp:617
+#: TrackPanel.cpp:6199
 msgid "Right Channel"
 msgstr "Desni kanal"
 
-#: TrackPanel.cpp:563
+#: TrackPanel.cpp:618
 msgid "Make Stereo Track"
 msgstr "Naredi stereo sled"
 
-#: TrackPanel.cpp:564
+#: TrackPanel.cpp:619
 msgid "Split Stereo Track"
 msgstr "Razdvoji stereo sled"
 
-#: TrackPanel.cpp:566
+#: TrackPanel.cpp:620
+msgid "Split Stereo to Mono"
+msgstr "Razdvoji stereo v mono"
+
+#: TrackPanel.cpp:622
 msgid "Set Sample Format"
 msgstr "Nastavi obliko vzorcev"
 
-#: TrackPanel.cpp:568
-#: TrackPanel.cpp:6341
+#: TrackPanel.cpp:624
+#: TrackPanel.cpp:6461
 msgid "Set Rate"
 msgstr "Nastavi frekvenco"
 
-#: TrackPanel.cpp:576
+#: TrackPanel.cpp:632
 msgid "Up Octave"
 msgstr "Zvišaj za oktavo"
 
-#: TrackPanel.cpp:577
+#: TrackPanel.cpp:633
 msgid "Down Octave"
 msgstr "Znižaj za oktavo"
 
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:5795
+#: TrackPanel.cpp:638
 msgid "Font..."
 msgstr "Pisava ..."
 
-#: TrackPanel.cpp:593
+#: TrackPanel.cpp:649
 msgid "Set Range..."
 msgstr "Nastavi področje ..."
 
-#: TrackPanel.cpp:597
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:653
+#: toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Kopiraj"
 
-#: TrackPanel.cpp:1258
+#: TrackPanel.cpp:1302
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr "Kliknite za navpično povečavo, kliknite s Shift-om za pomanjšanje, povlecite za ustvarjanje določenega področja za povečavo."
 
-#: TrackPanel.cpp:1263
+#: TrackPanel.cpp:1307
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "Povlecite oznako navpično, da boste spremenili vrstni red posnetkov."
 
-#: TrackPanel.cpp:1283
+#: TrackPanel.cpp:1327
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "Kliknite in povlecite, da izboljšate relativno velikost stereo posnetkov."
 
-#: TrackPanel.cpp:1286
+#: TrackPanel.cpp:1330
 msgid "Click and drag to resize the track."
 msgstr "Kliknite in povlecite, da bi spremenili velikost posnetka."
 
-#: TrackPanel.cpp:1317
+#: TrackPanel.cpp:1361
 msgid "Drag one or more label boundaries"
 msgstr "Povlecite eno ali več mej oznak"
 
-#: TrackPanel.cpp:1318
+#: TrackPanel.cpp:1362
 msgid "Drag label boundary"
 msgstr "Povlecite mejo oznake"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1334
+#: TrackPanel.cpp:1378
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Večorodni način: Cmd-, za nastavitve miške in tipkovnice"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1337
+#: TrackPanel.cpp:1381
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Večorodni način: Ctrl-P za nastavitve miške in tipkovnice"
 
-#: TrackPanel.cpp:1383
+#: TrackPanel.cpp:1427
 msgid "Click and drag to move left selection boundary."
 msgstr "Kliknite in povlecite, da bi premaknili levi okvir izbora."
 
-#: TrackPanel.cpp:1388
+#: TrackPanel.cpp:1432
 msgid "Click and drag to move right selection boundary."
 msgstr "Kliknite in povlecite, da bi premaknili desni okvir izbora."
 
-#: TrackPanel.cpp:1730
-#: TrackPanel.cpp:3959
-#: TrackPanel.cpp:3991
-#: TrackPanel.cpp:4255
-#: TrackPanel.cpp:6490
-#: TrackPanel.cpp:6510
+#: TrackPanel.cpp:1770
+#: TrackPanel.cpp:4054
+#: TrackPanel.cpp:4086
+#: TrackPanel.cpp:4348
+#: TrackPanel.cpp:6610
+#: TrackPanel.cpp:6630
 msgid "Modified Label"
 msgstr "Spremenjena oznaka"
 
-#: TrackPanel.cpp:1731
-#: TrackPanel.cpp:3960
-#: TrackPanel.cpp:3992
-#: TrackPanel.cpp:4256
-#: TrackPanel.cpp:6491
-#: TrackPanel.cpp:6511
+#: TrackPanel.cpp:1771
+#: TrackPanel.cpp:4055
+#: TrackPanel.cpp:4087
+#: TrackPanel.cpp:4349
+#: TrackPanel.cpp:6611
+#: TrackPanel.cpp:6631
 msgid "Label Edit"
 msgstr "Uredi oznako"
 
-#: TrackPanel.cpp:1971
+#: TrackPanel.cpp:2009
 msgid "Adjusted envelope."
 msgstr "Optimirana kuverta."
 
-#: TrackPanel.cpp:1972
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:2010
+#: prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Ovojnica"
 
-#: TrackPanel.cpp:2123
+#: TrackPanel.cpp:2160
 msgid "Moved clip to another track"
 msgstr "Posnetek premaknjen na drugo sled"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2164
 msgid "left"
 msgstr "levo"
 
-#: TrackPanel.cpp:2127
+#: TrackPanel.cpp:2164
 msgid "right"
 msgstr "desno"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2129
+#: TrackPanel.cpp:2166
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "ÄŒasovno %s zamaknjene sledi/posnetki %.02f sekund"
 
-#: TrackPanel.cpp:2133
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
-#: prefs/MousePrefs.cpp:113
+#: TrackPanel.cpp:2170
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "ÄŒasovni zamik"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2964
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
 msgstr "Če želite uporabiti risanje, izberite 'Signalna oblika' v spustnem meniju sledi."
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2981
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr "Za uporabo risanja povečajte pogled, dokler ne vidite posameznih vzorcev."
 
-#: TrackPanel.cpp:3205
+#: TrackPanel.cpp:3255
 msgid "Moved Sample"
 msgstr "Premaknjeni vzorec"
 
-#: TrackPanel.cpp:3206
+#: TrackPanel.cpp:3256
 msgid "Sample Edit"
 msgstr "Urejanje vzorcev"
 
-#: TrackPanel.cpp:3305
+#: TrackPanel.cpp:3349
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Odstranjen posnetek '%s.'"
 
-#: TrackPanel.cpp:3307
+#: TrackPanel.cpp:3351
 msgid "Track Remove"
 msgstr "Odstrani sled"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3497
 msgid "Moved gain slider"
 msgstr "Premaknjeni drsnik ojačitve"
 
-#: TrackPanel.cpp:3448
+#: TrackPanel.cpp:3497
 msgid "Moved pan slider"
 msgstr "Premaknjeni drsnik zasuka"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5703
-#: TrackPanel.cpp:7244
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5801
+#: TrackPanel.cpp:7254
 msgid "Gain"
 msgstr "Okrepitev"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3449
-#: TrackPanel.cpp:5641
-#: TrackPanel.cpp:7251
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5749
+#: TrackPanel.cpp:7262
 msgid "Pan"
 msgstr "Zasuk"
 
-#: TrackPanel.cpp:3576
-#: TrackPanel.cpp:6441
+#: TrackPanel.cpp:3664
+#: TrackPanel.cpp:6561
 msgid "up"
 msgstr "navzgor"
 
-#: TrackPanel.cpp:3580
-#: TrackPanel.cpp:6442
+#: TrackPanel.cpp:3668
+#: TrackPanel.cpp:6562
 msgid "down"
 msgstr "navzdol"
 
-#: TrackPanel.cpp:3587
-#: TrackPanel.cpp:6437
+#: TrackPanel.cpp:3675
+#: TrackPanel.cpp:6557
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Premaknjeno '%s' %s"
 
-#: TrackPanel.cpp:3590
-#: TrackPanel.cpp:6443
+#: TrackPanel.cpp:3678
+#: TrackPanel.cpp:6563
 msgid "Move Track"
 msgstr "Premakni sled"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4249
 msgid "Expand"
 msgstr "Razpostri"
 
-#: TrackPanel.cpp:4155
+#: TrackPanel.cpp:4249
 msgid "Expanded Cut Line"
 msgstr "Črta reza razširjena"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4258
 msgid "Merge"
 msgstr "Spoji"
 
-#: TrackPanel.cpp:4164
+#: TrackPanel.cpp:4258
 msgid "Merged Clips"
 msgstr "Spojeni posnetki"
 
-#: TrackPanel.cpp:4176
+#: TrackPanel.cpp:4269
+msgid "Remove"
+msgstr "Odstrani"
+
+#: TrackPanel.cpp:4269
 msgid "Removed Cut Line"
 msgstr "ÄŒrta reza odstranjena"
 
-#: TrackPanel.cpp:5641
+#: TrackPanel.cpp:5749
 msgid "Adjusted Pan"
 msgstr "Prilagojeni zasuk"
 
-#: TrackPanel.cpp:5703
+#: TrackPanel.cpp:5801
 msgid "Adjusted gain"
 msgstr "Prilagojena ojačitev"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr "Združi s sledjo signalne oblike"
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr "Počistite vse združitve v skupine"
-
-#: TrackPanel.cpp:5923
+#: TrackPanel.cpp:6030
 msgid "Can't delete track with active audio"
 msgstr "Sledi z aktivnim zvokom ni mogoče izbrisati"
 
-#: TrackPanel.cpp:6076
+#: TrackPanel.cpp:6180
 msgid "Stereo, "
 msgstr "Stereo, "
 
-#: TrackPanel.cpp:6079
+#: TrackPanel.cpp:6183
 msgid "Mono, "
 msgstr "Mono, "
 
-#: TrackPanel.cpp:6081
+#: TrackPanel.cpp:6185
 msgid "Left, "
 msgstr "Levo, "
 
-#: TrackPanel.cpp:6083
+#: TrackPanel.cpp:6187
 msgid "Right, "
 msgstr "Desno, "
 
-#: TrackPanel.cpp:6105
-#: TrackPanel.cpp:6251
+#: TrackPanel.cpp:6209
+#: TrackPanel.cpp:6371
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Spremenjeno: '%s' v %s"
 
-#: TrackPanel.cpp:6110
+#: TrackPanel.cpp:6212
 msgid "Channel"
 msgstr "Kanal"
 
-#: TrackPanel.cpp:6131
+#: TrackPanel.cpp:6253
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Razdvoji stereo sled '%s'"
 
-#: TrackPanel.cpp:6169
+#: TrackPanel.cpp:6255
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "Razdvoji stereo sled v mono '%s'"
+
+#: TrackPanel.cpp:6287
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Stereo posnetek '%s' narejen."
 
-#: TrackPanel.cpp:6172
+#: TrackPanel.cpp:6290
 msgid "Make Stereo"
 msgstr "Naredi stereo"
 
-#: TrackPanel.cpp:6215
+#: TrackPanel.cpp:6335
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "Spremenjeno: '%s' v %d Hz"
 
-#: TrackPanel.cpp:6217
+#: TrackPanel.cpp:6337
 msgid "Rate Change"
 msgstr "Sprememba mere"
 
-#: TrackPanel.cpp:6255
+#: TrackPanel.cpp:6375
 msgid "Format Change"
 msgstr "Sprememba formata:"
 
-#: TrackPanel.cpp:6405
+#: TrackPanel.cpp:6525
 msgid "Change lower speed limit (%) to:"
 msgstr "Spremeni spodnjo mejo hitrosti (%) na:"
 
-#: TrackPanel.cpp:6406
-#: TrackPanel.cpp:6407
+#: TrackPanel.cpp:6526
+#: TrackPanel.cpp:6527
 msgid "Lower speed limit"
 msgstr "Spodnja meja hitrosti"
 
-#: TrackPanel.cpp:6412
+#: TrackPanel.cpp:6532
 msgid "Change upper speed limit (%) to:"
 msgstr "Spremeni zgornjo mejo hitrosti (%) na:"
 
-#: TrackPanel.cpp:6413
-#: TrackPanel.cpp:6414
+#: TrackPanel.cpp:6533
+#: TrackPanel.cpp:6534
 msgid "Upper speed limit"
 msgstr "Zgornja meja hitrosti"
 
-#: TrackPanel.cpp:6422
+#: TrackPanel.cpp:6542
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Nastavi območje na '%d' - '%d'"
 
-#: TrackPanel.cpp:6425
+#: TrackPanel.cpp:6545
 msgid "Set Range"
 msgstr "Nastavi področje"
 
-#: TrackPanel.cpp:6472
+#: TrackPanel.cpp:6592
 msgid "Change track name to:"
 msgstr "Spremeni naslov sledi v:"
 
-#: TrackPanel.cpp:6473
+#: TrackPanel.cpp:6593
 msgid "Track Name"
 msgstr "Ime sledi"
 
-#: TrackPanel.cpp:6476
+#: TrackPanel.cpp:6596
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "Preimenovano '%s' v '%s'"
 
-#: TrackPanel.cpp:6479
+#: TrackPanel.cpp:6599
 msgid "Name Change"
 msgstr "Sprememba imena"
 
-#: TrackPanel.cpp:6580
+#: TrackPanel.cpp:6665
 msgid "Label Track Font"
 msgstr "Pisava oznake sledi"
 
-#: TrackPanel.cpp:6592
-#: TrackPanel.cpp:6598
+#: TrackPanel.cpp:6677
+#: TrackPanel.cpp:6683
 msgid "Face name"
 msgstr "Ime pisave"
 
-#: TrackPanel.cpp:6602
-#: TrackPanel.cpp:6609
+#: TrackPanel.cpp:6687
+#: TrackPanel.cpp:6694
 msgid "Face size"
 msgstr "Velikost pisave"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:6943
+msgid "Stereo, 999999Hz"
+msgstr "Stereo, 999999Hz"
+
+#: TrackPanel.cpp:7203
 msgid "Mute"
 msgstr "Utišaj"
 
-#: TrackPanel.cpp:7171
+#: TrackPanel.cpp:7203
 msgid "Solo"
 msgstr "Solo"
 
-#: TrackPanelAx.cpp:273
+#: TrackPanelAx.cpp:285
 msgid "TrackView"
 msgstr "Pogled sledi"
 
-#: TrackPanelAx.cpp:281
+#: TrackPanelAx.cpp:293
 msgid "Track Accessible out of sync"
 msgstr "Dosegljiva sled je asinhrona"
 
-#: TrackPanelAx.cpp:289
+#: TrackPanelAx.cpp:301
 #, c-format
 msgid "Track %d"
 msgstr "Sled %d"
 
-#: TrackPanelAx.cpp:295
+#: TrackPanelAx.cpp:307
 msgid " Mute On"
 msgstr " Utišanje vključeno"
 
-#: TrackPanelAx.cpp:300
+#: TrackPanelAx.cpp:312
 msgid " Solo On"
 msgstr " Solo vključeno"
 
-#: TrackPanelAx.cpp:304
+#: TrackPanelAx.cpp:316
 msgid " Select On"
 msgstr " Izbrano"
 
@@ -4115,105 +4482,112 @@ msgstr "Spremembe predznaka    -- sr.vred: %1.4f  st.dev.: (%1.4f)\n"
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr "Spremembe smeri    -- sr.vred.: %1.4f  st.dev.: (%1.4f)\n"
 
-#: WaveTrack.cpp:88
+#: WaveTrack.cpp:87
 msgid "Audio Track"
 msgstr "Zvočna sled"
 
-#: WaveTrack.cpp:597
-#: WaveTrack.cpp:616
-#: WaveTrack.cpp:1057
-#: WaveTrack.cpp:1076
+#: WaveTrack.cpp:976
+#: WaveTrack.cpp:995
 msgid "There is not enough room available to paste the selection"
 msgstr "Ni dovolj prostora, da bi prilepili izbor"
 
-#: WaveTrack.cpp:2086
+#: WaveTrack.cpp:2021
 msgid "There is not enough room available to expand the cut line"
 msgstr "Ni dovolj prostora, da bi razpostrli črto reza"
 
-#: commands/CommandManager.cpp:555
+#: commands/CommandManager.cpp:549
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Vtičniki 1 do %i"
 
-#: commands/CommandManager.cpp:569
+#: commands/CommandManager.cpp:563
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Vtičniki %i do %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Iz neznanega razloga to ni dovoljeno.  Ste prej izbrali kak zvok?"
+#: commands/CommandManager.cpp:928
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Z zadnjim vašim dejanjem so težave. Če mislite,\n"
+"da gre za hrošča, nam natanko poročajte, kje in kako se je zgodilo."
 
-#: commands/CommandManager.cpp:892
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:932
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
-msgstr "To lahko izvedete le, ko sta predvajanje in snemanje\n"
+msgstr ""
+"To lahko izvedete le, ko sta predvajanje in snemanje\n"
 " ustavljena.  [Premor oz. prekinitev ne zadostuje.]"
 
-#: commands/CommandManager.cpp:894
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:934
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
-msgstr "Za to morate najprej izbrati kak stereo-zvok.\n"
+msgstr ""
+"Za to morate najprej izbrati kak stereo-zvok.\n"
 " [Tega ne morete uporabiti za mono posnetke.]"
 
-#: commands/CommandManager.cpp:896
+#: commands/CommandManager.cpp:936
 msgid "You must first select some audio for this to use."
 msgstr "Prosimo, da najprej izberete kak zvočni posnetek."
 
-#: commands/CommandManager.cpp:898
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:938
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
-msgstr "Za to morate najprej izbrati kak zvok.\n"
+msgstr ""
+"Za to morate najprej izbrati kak zvok.\n"
 " [Izbiranje drugih vrst sledi ne bo delovalo.]"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:943
 msgid "Disallowed"
 msgstr "Onemogočeno"
 
-#: commands/CommandManager.cpp:1083
+#: commands/CommandManager.cpp:1167
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Naloženih %d bližnjic\n"
 
-#: commands/CommandManager.cpp:1085
+#: commands/CommandManager.cpp:1169
 msgid "Loading keyboard shortcuts"
 msgstr "Nalaganje bližnjic"
 
-#: effects/Amplify.cpp:52
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Dodan učinek: %s %1f dB"
 
-#: effects/Amplify.cpp:139
+#: effects/Amplify.cpp:136
 msgid "Amplify"
 msgstr "Ojačaj"
 
-#: effects/Amplify.cpp:155
-#: effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:152
+#: effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
 msgstr "avtorja Dominica Mazzonija"
 
-#: effects/Amplify.cpp:168
+#: effects/Amplify.cpp:165
 msgid "Amplification (dB):"
 msgstr "Ojačitev (dB):"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:180
 msgid "Amplification dB"
-msgstr ""
+msgstr "Ojačitev (dB)"
 
-#: effects/Amplify.cpp:190
+#: effects/Amplify.cpp:187
 msgid "New Peak Amplitude (dB):"
 msgstr "Nova vrhnja amplituda (dB):"
 
-#: effects/Amplify.cpp:200
+#: effects/Amplify.cpp:197
 msgid "Allow clipping"
 msgstr "Dovoli rezanje"
 
-#: effects/Amplify.cpp:222
-#: effects/Amplify.cpp:279
-#: effects/Amplify.cpp:323
+#: effects/Amplify.cpp:219
+#: effects/Amplify.cpp:276
+#: effects/Amplify.cpp:320
 msgid "-Infinity"
 msgstr "-neskončnost"
 
@@ -4225,81 +4599,84 @@ msgstr "Ojačaj ..."
 msgid "Amplifying"
 msgstr "Ojačanje poteka"
 
-#: effects/AutoDuck.cpp:125
+#: effects/AutoDuck.cpp:140
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Izbrali ste sled, ki ne vsebuje zvoka. Samodejno spusti lahko procesira le zvočne sledi."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:141
+#: effects/AutoDuck.cpp:153
+#: effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr "Samodejno spusti"
 
-#: effects/AutoDuck.cpp:137
+#: effects/AutoDuck.cpp:152
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr "Samodejno spusti potrebuje nadzorno sled, ki se mora nahajati pod izbrano/imi sledjo/mi."
 
-#: effects/AutoDuck.cpp:465
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr "Samodejno spusti avtorja Markusa Meyerja"
 
-#: effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr "Količina spusta:"
 
-#: effects/AutoDuck.cpp:492
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr "Največji premor:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: effects/Contrast.cpp:263
-#: effects/Contrast.cpp:286
-#: prefs/AudioIOPrefs.cpp:172
-#: prefs/AudioIOPrefs.cpp:180
-#: prefs/AudioIOPrefs.cpp:182
-#: prefs/AudioIOPrefs.cpp:207
-#: prefs/AudioIOPrefs.cpp:209
-#: prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163
+#: effects/AutoDuck.cpp:508
+#: effects/AutoDuck.cpp:513
+#: effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523
+#: effects/AutoDuck.cpp:528
+#: prefs/MidiIOPrefs.cpp:185
 #: prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:197
-#: widgets/TimeTextCtrl.cpp:263
+#: prefs/MidiIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:211
+#: prefs/MidiIOPrefs.cpp:219
+#: prefs/PlaybackPrefs.cpp:65
+#: prefs/PlaybackPrefs.cpp:66
+#: prefs/PlaybackPrefs.cpp:80
+#: prefs/PlaybackPrefs.cpp:81
+#: prefs/PlaybackPrefs.cpp:87
+#: prefs/PlaybackPrefs.cpp:88
+#: prefs/PlaybackPrefs.cpp:102
+#: prefs/PlaybackPrefs.cpp:103
+#: prefs/PlaybackPrefs.cpp:109
+#: prefs/PlaybackPrefs.cpp:110
+#: widgets/TimeTextCtrl.cpp:265
 msgid "seconds"
 msgstr "sekund"
 
-#: effects/AutoDuck.cpp:497
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr "Dolžina zunanjega pojemanja:"
 
-#: effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr "Dolžina zunanjega naraščanja:"
 
-#: effects/AutoDuck.cpp:507
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr "Dolžina notranjega pojemanja:"
 
-#: effects/AutoDuck.cpp:512
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr "Dolžina notranjega naraščanja:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:494
+#: effects/AutoDuck.cpp:535
+#: effects/Compressor.cpp:506
 msgid "Threshold:"
 msgstr "Prag:"
 
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr "Prosim, vnesite veljavne vrednosti."
 
-#: effects/AutoDuck.cpp:705
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr "Predposlušanje ni na voljo"
 
@@ -4312,10 +4689,9 @@ msgid "Processing Auto Duck..."
 msgstr "Procesiranje samodejnega spuščanja ..."
 
 #: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:455
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/nyquist/Nyquist.cpp:1053
-#: widgets/ErrorDialog.cpp:101
+#: effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237
+#: widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "V redu"
 
@@ -4341,15 +4717,15 @@ msgstr "Frekvenca (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "Frekvenca (Hz)"
 
-#: effects/BassBoost.cpp:208
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Ojačitev (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "Ojačitev (dB)"
 
 #: effects/BassBoost.h:35
 msgid "BassBoost..."
@@ -4381,13 +4757,13 @@ msgid "Change Pitch without Changing Tempo"
 msgstr "Spremeni višino tona brez spremembe tempa"
 
 #: effects/ChangePitch.cpp:258
-#: effects/ChangeSpeed.cpp:336
-#: effects/ChangeTempo.cpp:173
+#: effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "avtorja Vauhgan Johnson in Dominic Mazzoni"
 
 #: effects/ChangePitch.cpp:260
-#: effects/ChangeTempo.cpp:175
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "uporabljen SoundTouch Ollija Parvianena"
 
@@ -4428,9 +4804,9 @@ msgid "Semitones in half-steps"
 msgstr "Poltoni v polkorakih"
 
 #: effects/ChangePitch.cpp:326
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:206
-#: effects/ChangeTempo.cpp:219
+#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
 msgstr "od"
 
@@ -4439,9 +4815,9 @@ msgid "From frequency in hertz"
 msgstr "Od frekvence (v Hz)"
 
 #: effects/ChangePitch.cpp:331
-#: effects/ChangeSpeed.cpp:374
-#: effects/ChangeTempo.cpp:211
-#: effects/ChangeTempo.cpp:224
+#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "do"
 
@@ -4450,15 +4826,15 @@ msgid "To frequency in seconds"
 msgstr "Do frekvence (v sekundah)"
 
 #: effects/ChangePitch.cpp:338
-#: effects/ChangeSpeed.cpp:347
-#: effects/ChangeTempo.cpp:184
+#: effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Sprememba v odstotkih"
 
 #: effects/ChangePitch.cpp:343
 #: effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358
-#: effects/ChangeTempo.cpp:195
+#: effects/ChangeSpeed.cpp:359
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
 msgstr "Sprememba v odstotkih"
 
@@ -4476,33 +4852,33 @@ msgstr "Spreminjanje višine tona"
 msgid "Applied effect: %s %.1f%%"
 msgstr "Dodan učinek: %s %1f%%"
 
-#: effects/ChangeSpeed.cpp:298
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Spremeni hitrost"
 
 #. i18n-hint: n/a is an English abbreviation meaning "not applicable"
 #. (in other words, unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:329
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "ni na voljo"
 
-#: effects/ChangeSpeed.cpp:334
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Spremeni hitrost z vplivom na tempo in višino tona"
 
-#: effects/ChangeSpeed.cpp:338
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "uporabljen SampleRate Erika de Castro Lopoja"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
 msgstr "Standardni vinilni RPM:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
 msgstr "Iz RPM"
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
 msgstr "V RPM"
 
@@ -4514,35 +4890,35 @@ msgstr "Spremeni hitrost ..."
 msgid "Changing Speed"
 msgstr "Spreminjanje hitrosti"
 
-#: effects/ChangeTempo.cpp:138
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Spremeni tempo"
 
-#: effects/ChangeTempo.cpp:171
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
-msgstr "Spremeni temppo brez spremembe višine tona"
+msgstr "Spremeni tempo brez spremembe višine tona"
 
-#: effects/ChangeTempo.cpp:203
+#: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
 msgstr "Udarcev na minuto (BPM):"
 
-#: effects/ChangeTempo.cpp:207
+#: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
 msgstr "Od udarcev na minuto"
 
-#: effects/ChangeTempo.cpp:212
+#: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
 msgstr "Do udarcev na minuto"
 
-#: effects/ChangeTempo.cpp:216
+#: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
 msgstr "Dolžina (v sekundah):"
 
-#: effects/ChangeTempo.cpp:220
+#: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
 msgstr "Od dolžine (v sekundah)"
 
-#: effects/ChangeTempo.cpp:225
+#: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
 msgstr "Do dolžine (v sekundah)"
 
@@ -4568,15 +4944,15 @@ msgstr "Izberite prag (nižji pomeni večjo občutljivost):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "Izberite prag"
 
-#: effects/ClickRemoval.cpp:353
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Največja širina konice (večja pomeni večjo občutljivost):"
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
-msgstr ""
+msgstr "Največja širina konice"
 
 #: effects/ClickRemoval.h:42
 msgid "Click Removal..."
@@ -4586,405 +4962,390 @@ msgstr "Odstranitev presketa ..."
 msgid "Removing clicks and pops..."
 msgstr "Odstranjevanje presketa ..."
 
-#: effects/Compressor.cpp:461
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Stiskalnik obsega dinamike"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
 msgstr "Prag"
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
 msgstr "Razmerje:"
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
 msgstr "Razmerje"
 
-#: effects/Compressor.cpp:510
+#: effects/Compressor.cpp:522
 msgid "Attack Time:"
 msgstr "Napadalni čas:"
 
-#: effects/Compressor.cpp:514
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
 msgstr "Napadalni čas"
 
-#: effects/Compressor.cpp:518
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
 msgstr "ÄŒas upadanja:"
 
-#: effects/Compressor.cpp:522
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
 msgstr "ÄŒas upadanja"
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Po stiskanju normaliziraj na 0dB"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Po stiskanju popravi ojačitev na 0dB"
 
-#: effects/Compressor.cpp:563
+#: effects/Compressor.cpp:575
 #, c-format
 msgid "Threshold %d dB"
 msgstr "Prag %d dB"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
 msgstr "%3d dB"
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
 msgstr "Razmerje %.0f proti 1"
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
 msgstr "%.0f:1"
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
 msgstr "Razmerje %.1f proti 1"
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
 msgstr "%.1f:1"
 
-#: effects/Compressor.cpp:575
+#: effects/Compressor.cpp:587
 #, c-format
 msgid "Attack Time %.1f secs"
 msgstr "Trajanje napada %.1f s"
 
-#: effects/Compressor.cpp:576
-#: effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588
+#: effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
 msgstr "%.1f s"
 
-#: effects/Compressor.cpp:578
+#: effects/Compressor.cpp:590
 #, c-format
 msgid "Decay Time %.1f secs"
 msgstr "ÄŒas upadanja %.1f s"
 
-#: effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Stiskalnik ..."
 
-#: effects/Compressor.h:50
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Uporaba stiskanja obsega dinamike ..."
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Analiza kontrasta"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "Ospredje orodja za kontrast"
 
-#: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+#: effects/Contrast.cpp:88
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"ÄŒasi ospredja so izbrani.\n"
+"Zdaj izberite ozadje in znova uporabite Ctrl+Shift+T ali meni."
 
-#: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+#: effects/Contrast.cpp:144
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
+"Začetni čas sledi končnemu času!\n"
+"Vnesite raje smiselne čase."
 
-#: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+#: effects/Contrast.cpp:154
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"ÄŒasi niso smiselni!\n"
+"Vnesite smiselne čase."
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr "Živijo.\n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193
-#: effects/Contrast.cpp:204
-#: effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr "Izmerjeno"
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
 msgstr "Analizator kontrasta"
 
-#: effects/Contrast.cpp:235
-msgid "Parameters"
-msgstr "Parametri"
-
-#: effects/Contrast.cpp:242
-#: effects/ToneGen.cpp:355
-#: toolbars/ControlToolBar.cpp:186
+#: effects/Contrast.cpp:286
+#: effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
 msgstr "Začetek"
 
-#: effects/Contrast.cpp:243
-#: effects/ToneGen.cpp:356
-#: toolbars/ControlToolBar.cpp:189
+#: effects/Contrast.cpp:287
+#: effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184
 #: toolbars/SelectionBar.cpp:156
 #: toolbars/SelectionBar.cpp:159
 #: toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Konec"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
-msgstr ""
+msgstr "Glasnost"
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
 msgstr "Ospredje:"
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
-msgstr ""
+msgstr "Začetni čas ospredja"
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
-msgstr ""
+msgstr "Končni čas ospredja"
+
+#: effects/Contrast.cpp:329
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr "Izmerjeno"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:331
+#: effects/Contrast.cpp:375
 msgid "Use selection"
-msgstr ""
+msgstr "Uporabi izbor"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:336
 msgid "Background:"
 msgstr "Ozadje:"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
-msgstr ""
+msgstr "Začetni čas ozadja"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
-msgstr ""
+msgstr "Končni čas ozadja"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:384
 msgid "Result"
 msgstr "Rezultat"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
 msgstr "Rezultat kontrasta:"
 
-#: Tags.cpp:840
-#: Tags.cpp:1990
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr "Ponastavi"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:392
 msgid "Difference:"
 msgstr "Razlika:"
 
-#: effects/Contrast.cpp:313
+#: effects/Contrast.cpp:403
 msgid "Information"
 msgstr "Informacije"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "Za merjenje razlik jakosti korena srednje vrednosti kvadratov (RMS - ang. root mean square) med dvema zvočnima izboroma."
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "Pomoč za Analizator zvočnega kontrasta WCAG2"
 
-#: toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "Nadzor"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "Zapri (ohrani čase)"
 
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
-
-#: effects/Contrast.cpp:328
-#: effects/Contrast.cpp:336
-#: effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:474
+#: effects/Contrast.cpp:480
+#: effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
 msgstr "Izmeri"
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
-msgstr ""
+msgstr "Ni ospredja za merjenje"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
-msgstr ""
+msgstr "Izmerjena glasnost ospredja"
 
-#: effects/Contrast.cpp:191
-#: effects/Contrast.cpp:202
+#: effects/Contrast.cpp:537
+#: effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
 msgstr "%.1f dB"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
-msgstr ""
+msgstr "Ni ozadja za merjenje"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
-msgstr ""
+msgstr "Izmerjena glasnost ozadja"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
 msgstr "WCAG2 je prešel"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
 msgstr "WCAG2 ni uspel"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
-msgstr ""
+msgstr "Trenutna razlika"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "%.1f dB povprečnega RMS"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
-msgstr ""
+msgstr "Prosimo, vnesite veljavne čase."
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "Izvozi rezultat kontrasta kot:"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "Rezultati pogoja uspešnosti 1.4.7 za kontrasta WCAG 2.0"
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "Ime datoteke = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
-msgstr ""
+msgstr "Ospredje"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601
+#: effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Čas začetka = %2d ur, %2d minut, %.2f sekund."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606
+#: effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "Čas zaključka = %2d ur, %2d minut, %.2f sekund."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608
+#: effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "Povprečni RMS = %.1f dB."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610
+#: effects/Contrast.cpp:627
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "Povprečni RMS =  dB."
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:613
 msgid "Background"
-msgstr ""
+msgstr "Ozadje"
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:629
 msgid "Results"
-msgstr ""
+msgstr "Rezultati"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "Razlika = %.1f povprečnih dB RMS."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "Pogoj uspešnosti 1.4.7 za WCAG 2.0: ustreza"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "Pogoj uspešnosti 1.4.7 za WCAG 2.0: ne ustreza"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
-msgstr ""
-
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr "Merjenje ospredja"
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr "Merjenje ozadja"
+msgstr "Zbrani podatki"
 
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "Ustvari ton DTMF"
 
-#: effects/DtmfGen.cpp:456
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "avtor Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:460
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "Zaporedje DTMF:"
 
-#: effects/DtmfGen.cpp:463
-#: effects/Noise.cpp:242
-#: effects/ToneGen.cpp:322
-#: effects/ToneGen.cpp:359
+#: effects/DtmfGen.cpp:428
+#: effects/Noise.cpp:190
+#: effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Amplituda (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Trajanje:"
 
-#: effects/DtmfGen.cpp:486
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
 msgstr "Razmerje ton/tišina:"
 
-#: effects/DtmfGen.cpp:496
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr "Cikel delovanja:"
 
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Trajanje tona:"
 
-#: effects/DtmfGen.cpp:499
-#: effects/DtmfGen.cpp:501
-#: effects/DtmfGen.cpp:577
-#: effects/DtmfGen.cpp:578
+#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:467
+#: effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "ms"
 
-#: effects/DtmfGen.cpp:500
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Trajanje tišine:"
 
-#: effects/DtmfGen.h:39
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
 msgstr "Toni DTMF ..."
 
-#: effects/DtmfGen.h:53
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr "Uporabljen učinek: Ustvari tone DTMF, %.6lf sekund"
 
-#: effects/DtmfGen.h:57
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
 msgstr "Ustvarjanje tonov DTMF"
 
@@ -4993,22 +5354,22 @@ msgstr "Ustvarjanje tonov DTMF"
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Uporabljen učinek: zamuda %s = %f sekund, faktor razkroja = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Odmev"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195
-#: effects/Repeat.cpp:200
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "avtorja Dominic Mazzoni in Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Zakasnitev (sekund):"
 
-#: effects/Echo.cpp:212
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Faktor krnitve: "
 
@@ -5020,110 +5381,115 @@ msgstr "Odmev ..."
 msgid "Performing Echo"
 msgstr "Izvajanje odmeva"
 
-#: effects/Effect.cpp:467
+#: effects/Effect.cpp:498
 msgid "Preparing preview"
 msgstr "Priprava predposlušanja"
 
-#: effects/Effect.cpp:497
+#: effects/Effect.cpp:530
 msgid "Previewing"
 msgstr "Predposlušanje"
 
-#: effects/Effect.cpp:512
+#: effects/Effect.cpp:545
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Napaka pri odpiranju zvočne naprave. Prosimo preverite nastavitve izhodne naprave in mero vzorčenja projekta."
 
-#: effects/Effect.h:100
+#: effects/Effect.h:96
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Dodan učinek: %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:338
 msgid "B-spline"
 msgstr "B-zlepek"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:339
 msgid "Cosine"
 msgstr "kosinusni"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:340
 msgid "Cubic"
 msgstr "kubični"
 
-#: effects/Equalization.cpp:367
-#: effects/Equalization.cpp:416
+#: effects/Equalization.cpp:379
+#: effects/Equalization.cpp:430
 msgid "Equalization"
 msgstr "Izenačevanje"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1009
 msgid "Error loading EQ curve"
 msgstr "Napaka pri nalaganju krivulje izenačevalnika (EQ)"
 
-#: effects/Equalization.cpp:1033
+#: effects/Equalization.cpp:1048
 msgid "custom"
 msgstr "Po meri"
 
+#: effects/Equalization.cpp:1097
+msgid "Error saving equalization curves"
+msgstr "Napaka pri shranjevanju krivulj izenačevanja"
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
-#: effects/Equalization.cpp:1101
+#: effects/Equalization.cpp:1120
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Izenačevanje, avtorja Martyn Shaw in Mitch Golden"
 
-#: effects/Equalization.cpp:1122
+#: effects/Equalization.cpp:1141
 msgid "Max dB"
 msgstr "Največji dB"
 
-#: effects/Equalization.cpp:1124
+#: effects/Equalization.cpp:1143
 msgid "Min dB"
 msgstr "Najmanjši dB"
 
-#: effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1216
 msgid "kHz"
 msgstr "kHz"
 
-#: effects/Equalization.cpp:1214
+#: effects/Equalization.cpp:1233
 msgid "Draw curves"
 msgstr "Nariši krivulje"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1238
 msgid "Graphic EQ"
 msgstr "Grafični izenačevalnik"
 
-#: effects/Equalization.cpp:1233
+#: effects/Equalization.cpp:1252
 msgid "Linear frequency scale"
 msgstr "Linearna lestvica frekvenc"
 
-#: effects/Equalization.cpp:1242
+#: effects/Equalization.cpp:1261
 msgid "Length of filter:"
 msgstr "Dolžina filtra:"
 
-#: effects/Equalization.cpp:1263
+#: effects/Equalization.cpp:1282
 msgid "Select curve:"
 msgstr "Izberite krivuljo:"
 
-#: effects/Equalization.cpp:1273
-#: effects/Equalization.cpp:2512
-#: export/ExportMultiple.cpp:882
+#: effects/Equalization.cpp:1292
+#: effects/Equalization.cpp:2552
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Shrani kot ..."
 
-#: effects/Equalization.cpp:1279
+#: effects/Equalization.cpp:1298
 msgid "Flat"
 msgstr "raven"
 
-#: effects/Equalization.cpp:2511
+#: effects/Equalization.cpp:2551
 msgid "Enter the desired name of the curve"
 msgstr "Vnesite želeno ime krivulje"
 
-#: effects/Equalization.cpp:2611
-#: export/ExportFFmpegDialogs.cpp:1220
+#: effects/Equalization.cpp:2651
+#: export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr "Potrditev brisanja"
 
-#: effects/Equalization.h:84
+#: effects/Equalization.h:82
 msgid "Equalization..."
 msgstr "Izenačevanje ..."
 
-#: effects/Equalization.h:98
+#: effects/Equalization.h:96
 msgid "Performing Equalization"
 msgstr "Izvajanje izenačevanja"
 
@@ -5143,31 +5509,31 @@ msgstr "Znižuj glasnost"
 msgid "Fading Out"
 msgstr "Nižanje glasnosti"
 
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr "Razpoznaj rezanje"
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr "Rezanje"
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
 msgstr "Najdi porezano"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr "avtorja Lelanda Luciusa"
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
 msgstr "Začetni prag (vzorci):"
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
 msgstr "Zaključni prag (vzorci):"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
 msgstr "Začetek in konec morata biti večja od 0."
 
@@ -5191,48 +5557,47 @@ msgstr "Obračanje"
 msgid "Leveller"
 msgstr "Uravnalnik"
 
-#: effects/Leveller.cpp:203
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr "Brez-preskoči"
 
-#: effects/Leveller.cpp:204
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr "lažje"
 
-#: effects/Leveller.cpp:205
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr "zmerno"
 
-#: effects/Leveller.cpp:206
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr "močneje"
 
-#: effects/Leveller.cpp:207
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr "najmočneje"
 
-#: effects/Leveller.cpp:208
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr "močno"
 
-#: effects/Leveller.cpp:212
-#: effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "avtorja Lynna Allana"
 
-#: effects/Leveller.cpp:222
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Stopnja izravnavanja"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
 msgstr "Stopnja izravnavanja:"
 
-#: effects/Leveller.cpp:234
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "Prag Å¡uma (brnenje/Å¡umenje/zvok prostora, okolice)"
 
-#: effects/Leveller.cpp:238
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
 msgstr "Prag za Å¡um:"
 
@@ -5268,11 +5633,6 @@ msgstr "Pretvornik"
 msgid "Analyser"
 msgstr "Analizator"
 
-#: effects/LoadEffects.cpp:114
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mešalec"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr "Simulator"
@@ -5379,7 +5739,7 @@ msgid "Gate"
 msgstr "Vrata"
 
 #: effects/LoadEffects.cpp:199
-#: effects/NoiseRemoval.cpp:725
+#: effects/NoiseRemoval.cpp:738
 msgid "Noise Removal"
 msgstr "Odstranjevanje Å¡uma"
 
@@ -5415,95 +5775,101 @@ msgstr "rjavo"
 msgid "Noise Generator"
 msgstr "Ustvari Å¡um"
 
-#: effects/Noise.cpp:241
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Vrsta Å¡uma"
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr "Å um ..."
 
-#: effects/Noise.h:55
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Uporabljen učinek: Ustvari šum, %.6lf sekund"
 
-#: effects/Noise.h:59
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr "Ustvarjanje Å¡uma"
 
-#: effects/NoiseRemoval.cpp:192
+#: effects/NoiseRemoval.cpp:191
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
-msgstr "Datoteke ni mogoče odpreti:\n"
+msgstr ""
+"Datoteke ni mogoče odpreti:\n"
 " %s"
 
-#: effects/NoiseRemoval.cpp:277
+#: effects/NoiseRemoval.cpp:276
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Poskus odstranjevanja Å¡uma brez profila Å¡uma.\n"
 
-#: effects/NoiseRemoval.cpp:814
+#: effects/NoiseRemoval.cpp:827
 msgid "Step 1"
 msgstr "1. korak"
 
-#: effects/NoiseRemoval.cpp:815
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:828
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
-msgstr "Izberite nekaj sekund zgolj Å¡uma, da Audacity ve, kaj naj odstrani,\n"
+msgstr ""
+"Izberite nekaj sekund zgolj Å¡uma, da Audacity ve, kaj naj odstrani,\n"
 "nato kliknite Dobi profil Å¡uma:"
 
-#: effects/NoiseRemoval.cpp:816
+#: effects/NoiseRemoval.cpp:829
 msgid "Step 2"
 msgstr "2. korak"
 
-#: effects/NoiseRemoval.cpp:817
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:830
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
-msgstr "Izberite ves zvok, ki ga želite prefiltrirati, izberite koliko šuma želite\n"
+msgstr ""
+"Izberite ves zvok, ki ga želite prefiltrirati, izberite koliko šuma želite\n"
 "odstraniti in nato kliknite 'V redu', da odstranite Å¡um.\n"
 
-#: effects/NoiseRemoval.cpp:822
+#: effects/NoiseRemoval.cpp:835
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Odstranjevanje Å¡uma Dominica Mazzonija"
 
-#: effects/NoiseRemoval.cpp:830
+#: effects/NoiseRemoval.cpp:843
 msgid "Get Noise Profile"
 msgstr "Dobi profil Å¡uma"
 
-#: effects/NoiseRemoval.cpp:841
+#: effects/NoiseRemoval.cpp:854
 msgid "Noise reduction (dB):"
 msgstr "Odstranjevanje Å¡uma (dB):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:859
 msgid "Noise reduction"
-msgstr ""
+msgstr "Odstranjevanje Å¡uma"
 
-#: effects/NoiseRemoval.cpp:849
+#: effects/NoiseRemoval.cpp:863
 msgid "Frequency smoothing (Hz):"
 msgstr "Glajenje frekvenc (Hz):"
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:868
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "Glajenje frekvenc"
 
-#: effects/NoiseRemoval.cpp:857
+#: effects/NoiseRemoval.cpp:872
 msgid "Attack/decay time (secs):"
 msgstr "ÄŒas napada/upada (v sekundah):"
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:877
 msgid "Attach/decay time"
-msgstr ""
+msgstr "ÄŒas napada/upada"
 
-#: effects/NoiseRemoval.h:35
+#: effects/NoiseRemoval.h:37
 msgid "Noise Removal..."
 msgstr "Odstranjevanje Å¡uma ..."
 
-#: effects/NoiseRemoval.h:50
+#: effects/NoiseRemoval.h:52
 msgid "Creating Noise Profile"
 msgstr "Ustvarjanje profila Å¡uma"
 
-#: effects/NoiseRemoval.h:52
+#: effects/NoiseRemoval.h:54
 msgid "Removing Noise"
 msgstr "Odstranjevanje Å¡uma"
 
@@ -5514,11 +5880,6 @@ msgstr "Odstranjevanje Å¡uma"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Uporabljen učinek: %s odstrani odmik DC = %s, normaliziraj amplitudo = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "ne velja"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74
@@ -5535,22 +5896,21 @@ msgstr ", največja amplituda = %.1f dB"
 msgid "Normalize"
 msgstr "Normaliziraj"
 
-#: effects/Normalize.cpp:351
-#: effects/Normalize.cpp:352
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "Odstrani vsakršen odmik DC (sredina na 0,0 navpično)"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
 msgstr "Normaliziraj največjo amplitudo na:"
 
-#: effects/Normalize.cpp:362
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr "-"
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "Najmanjša amplituda (dB)"
 
 #: effects/Normalize.h:33
 msgid "Normalize..."
@@ -5565,56 +5925,56 @@ msgstr "Normalizacija poteka ..."
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
 msgstr "Uporabljen učinek: %s %d stopenj, %.0f%% moker, frekvenca = %.1f Hz, začetna faza = %.0f stopinj, globina = %d, odziv = %.0f%%"
 
-#: effects/Phaser.cpp:226
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "Stopnje:"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
 msgstr "Stopnje"
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
 msgstr "Suho/vlažno:"
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
 msgstr "Suho vlažno"
 
-#: effects/Phaser.cpp:236
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:244
+#: effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
 msgstr "Frekvenca LFO (Hz):"
 
-#: effects/Phaser.cpp:239
-#: effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247
+#: effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
 msgstr "Frekvenca LFO v Hz"
 
-#: effects/Phaser.cpp:241
-#: effects/Wahwah.cpp:226
+#: effects/Phaser.cpp:252
+#: effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "Začetna faza LFO (stop.):"
 
-#: effects/Phaser.cpp:244
-#: effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255
+#: effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
 msgstr "Začetna faza LFO v stopinjah"
 
-#: effects/Phaser.cpp:246
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Globina:"
 
-#: effects/Phaser.cpp:249
-#: effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263
+#: effects/Wahwah.cpp:241
 msgid "Depth in percent"
 msgstr "Globina v odstotkih"
 
-#: effects/Phaser.cpp:251
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Odboj (%):"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
 msgstr "Odziv v odstotkih"
 
@@ -5627,20 +5987,24 @@ msgid "Applying Phaser"
 msgstr "Dodajanje Faznika"
 
 #: effects/Repair.cpp:99
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
-msgstr "Učinek Popravi je namenjen za uporabo na zelo kratkih odsekih okvarjenega zvoka (do 128 vzorcev).\n"
+msgstr ""
+"Učinek Popravi je namenjen za uporabo na zelo kratkih odsekih okvarjenega zvoka (do 128 vzorcev).\n"
 "\n"
 "Povečajte izbor in izberite majhen delček sekunde za popravilo."
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
-msgstr "Popravljanje deluje z uporabo zvočnih podatkov zunaj izbranega območja.\n"
+msgstr ""
+"Popravljanje deluje z uporabo zvočnih podatkov zunaj izbranega območja.\n"
 "\n"
 "Prosimo, izberite območje, katerega se vsaj na enem robu dotika zvok.\n"
 "\n"
@@ -5660,26 +6024,26 @@ msgid "Tracks are too long to repeat the selection."
 msgstr "Sledi so predolge za ponovitev izbora."
 
 #: effects/Repeat.cpp:77
-#: effects/Repeat.cpp:187
+#: effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Ponovi"
 
-#: effects/Repeat.cpp:212
+#: effects/Repeat.cpp:211
 msgid "Number of times to repeat:"
 msgstr "Å tevilo ponovitev:"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
 msgstr "Nova dolžina izbora: uu:mm:ss"
 
-#: effects/Repeat.cpp:253
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Nova dolžina izbora:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:262
-#: widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:261
+#: widgets/TimeTextCtrl.cpp:272
 msgid "hh:mm:ss"
 msgstr "uu:mm:ss"
 
@@ -5716,7 +6080,7 @@ msgstr "Ustvarjanje tišine"
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Uporabljen učinek: tvori tišino, %.6lf sekund"
 
-#: effects/SimplePairedTwoTrack.h:120
+#: effects/SimplePairedTwoTrack.h:115
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Oprostite, tega učinka ni mogoče izvesti na stereo posnetkih, kjer se posamezni kanali sledi ne skladajo."
 
@@ -5729,9 +6093,11 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr "ÄŒistilec konic avtorja Lynna Allana"
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr "Največje trajanje konice (v milisekundah): \n"
+msgstr ""
+"Največje trajanje konice (v milisekundah): \n"
 "(99999 ali več pomeni izključeno)"
 
 #: effects/SpikeCleaner.cpp:178
@@ -5747,8 +6113,8 @@ msgid "Applying Spike Cleaner..."
 msgstr "Izvajanje ÄŒistilca konic ..."
 
 #: effects/StereoToMono.h:23
-msgid "&Stereo to Mono"
-msgstr "&Stereo v mono"
+msgid "Stereo to Mono"
+msgstr "Stereo v mono"
 
 #: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
@@ -5756,47 +6122,47 @@ msgstr "Izvajanje pretvorbe sterea v mono"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "ÄŒasovno raztegovanje"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "Drsno časovno raztegovanje/sprememba višine tona"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "uporablja SBSMS, avtor Clayton Otey"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "Začetna sprememba tempa (%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "Končna sprememba tempa (%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "Začetna sprememba tempa (%)"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "Končna sprememba tempa (%)"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Začetna sprememba višine tona (poltoni) [-12 do 12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "Končna sprememba višine tona (poltoni) [-12 do 12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "Drsno časovno raztegovanje/sprememba višine tona ..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "Spreminjanje tempa/višine tona"
 
 #: effects/ToneGen.cpp:61
 #, c-format
@@ -5804,7 +6170,7 @@ msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2
 msgstr "Uporabljen učinek: Ustvari %s valovanja %s, frekvenca = %.2f Hz, amplituda = %.2f, %.6lf sekund"
 
 #: effects/ToneGen.cpp:69
-#: widgets/Meter.cpp:416
+#: widgets/Meter.cpp:405
 msgid "Linear"
 msgstr "Linearno"
 
@@ -5836,32 +6202,32 @@ msgstr "Zobati"
 msgid "Square, no alias"
 msgstr "Kvadratni, brez aliasa"
 
-#: effects/ToneGen.cpp:321
-#: effects/ToneGen.cpp:357
+#: effects/ToneGen.cpp:277
+#: effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr "Frekvenca (Hz)"
 
-#: effects/ToneGen.cpp:348
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Signalna oblika:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "Začetek frekvence (Hz)"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "Konec frekvence (Hz)"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
-msgstr ""
+msgstr "Začetek amplitude"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
-msgstr ""
+msgstr "Konec amplitude"
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr "Interpolacija:"
 
@@ -5881,54 +6247,116 @@ msgstr "Ustvarjanje piska"
 msgid "Generating Tone"
 msgstr "Ustvarjanje tona"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr "Vse sledi morajo imeti enako mero vzorčenja."
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:133
+#: effects/TruncSilence.cpp:444
 msgid "Truncate Silence"
 msgstr "Poreži tišino"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "Največje trajanje tišine:"
+#: effects/TruncSilence.cpp:454
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "avtorja Lynn Allan in Philip Van Baren"
 
-#: effects/TruncSilence.cpp:348
-#: prefs/AudioIOPrefs.cpp:196
-#: prefs/AudioIOPrefs.cpp:199
-#: prefs/MidiIOPrefs.cpp:174
-#: prefs/MidiIOPrefs.cpp:177
+#: effects/TruncSilence.cpp:468
+msgid "Min silence duration:"
+msgstr "Najkrajše trajanje tišine:"
+
+#: effects/TruncSilence.cpp:471
+#: effects/TruncSilence.cpp:475
+#: prefs/MidiIOPrefs.cpp:197
+#: prefs/MidiIOPrefs.cpp:199
 msgid "milliseconds"
 msgstr "milisekund"
 
-#: effects/TruncSilence.cpp:350
+#: effects/TruncSilence.cpp:472
+msgid "Max silence duration:"
+msgstr "Največje trajanje tišine:"
+
+#: effects/TruncSilence.cpp:476
+msgid "Silence compression:"
+msgstr "Stiskanje tišine:"
+
+#: effects/TruncSilence.cpp:479
+msgid ":1"
+msgstr ":1"
+
+#: effects/TruncSilence.cpp:481
 msgid "Threshold for silence:"
 msgstr "Prag tišine:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Trajanje mora obsegati najmanj 1 milisekundo."
+#: effects/TruncSilence.cpp:507
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"   Trajanje mora obsegati najmanj 1 milisekundo.\n"
+"   Razmerje stiskanja mora biti najmanj 1:1."
 
-#: effects/TruncSilence.h:28
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Poreži tišino ..."
 
-#: effects/TruncSilence.h:42
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr "Izrezovanje tišin ..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Oprostite, učinki VST se ne morejo izvesti na stereo posnetkih, kjer se posamezni kanali ne skladajo."
+#: effects/VST/VSTEffect.cpp:256
+#: effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Nastavitve učinka"
+
+#: effects/VST/VSTEffect.cpp:336
+#: effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563
+#: prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Prazno"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "Prednastavitve:"
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "Naloži"
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "Shrani"
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "Zamenjave ni mogoče izvesti"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr "Naloži program VST:"
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Parametri vtičnika VST:"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "Napaka pri nalaganju programa"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr "Shrani program VST kot:"
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr "Ta datoteka parametrov je bila nazadnje shranjena iz %s. Želite nadaljevati?"
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "Izvajanje učinka: "
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr "Oba kanala stereo sledi morata imeti enako mero vzorčenja."
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr "Oba kanala stereo sledi morata imeti enako mero vzorčenja."
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5939,23 +6367,23 @@ msgstr "Uporabljen učinek: frekvenca %s = %.1f Hz, začetna faza = %.0f stopinj
 msgid "Wahwah"
 msgstr "Wah-wah"
 
-#: effects/Wahwah.cpp:231
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Globina (%):"
 
-#: effects/Wahwah.cpp:236
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Resonanca:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
 msgstr "Resonanca"
 
-#: effects/Wahwah.cpp:241
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
 msgstr "Razlika v frekvenci wah (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
 msgstr "Razlika v frekvenci wah v odstotkih"
 
@@ -5967,195 +6395,185 @@ msgstr "Wah-wah ..."
 msgid "Applying Wahwah"
 msgstr "Dodajanje Wah-wah"
 
-#: effects/audiounits/AudioUnitEffect.cpp:138
-#: effects/ladspa/LadspaEffect.cpp:176
-#: effects/lv2/LV2Effect.cpp:191
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178
+#: effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Izvajanje učinka: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:196
-#: effects/lv2/LV2Effect.cpp:211
+#: effects/ladspa/LadspaEffect.cpp:198
+#: effects/lv2/LV2Effect.cpp:213
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Oprostite, učinki vstavkov se ne morejo izvesti na stereo posnetkih, kjer se posamezni kanali ne skladajo."
 
-#: effects/ladspa/LadspaEffect.cpp:580
-#: effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Prazno"
-
-#: effects/ladspa/LadspaEffect.cpp:582
-#: effects/lv2/LV2Effect.cpp:798
-#: effects/vamp/VampEffect.cpp:395
+#: effects/ladspa/LadspaEffect.cpp:557
+#: effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Avtor: "
 
-#: effects/ladspa/LadspaEffect.cpp:615
-#: effects/lv2/LV2Effect.cpp:823
-msgid "Effect Settings"
-msgstr "Nastavitve učinka"
-
-#: effects/ladspa/LadspaEffect.cpp:710
-#: effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:834
-#: effects/lv2/LV2Effect.cpp:837
+#: effects/ladspa/LadspaEffect.cpp:685
+#: effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809
+#: effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Dolžina (v sekundah)"
 
-#: effects/lv2/LV2Effect.cpp:849
-#: effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:824
+#: effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
 msgstr "Dolžina not (v sekundah)"
 
-#: effects/lv2/LV2Effect.cpp:860
-#: effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
 msgstr "Hitrost not"
 
-#: effects/lv2/LV2Effect.cpp:871
-#: effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:846
+#: effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
 msgstr "Ključ"
 
-#: effects/nyquist/Nyquist.cpp:257
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Dodajanje učinka Nyquist ..."
 
-#: effects/nyquist/Nyquist.cpp:264
-#: effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:91
+#: effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Pozornik Nyquist ..."
 
-#: effects/nyquist/Nyquist.cpp:327
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Vnesi ukaz Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:417
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Oprostite, učinka ni mogoče izvesti na stereo sledeh, kjer se posamezne sledi ne skladajo."
 
-#: effects/nyquist/Nyquist.cpp:445
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: effects/nyquist/Nyquist.cpp:446
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Izhod Nyquista:"
 
-#: effects/nyquist/Nyquist.cpp:603
-#: effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "Nyquist je vrnil vrednost:"
 
-#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist ne vrne zvoka.\n"
 
-#: effects/nyquist/Nyquist.cpp:667
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist je vrnil preveč zvočnih kanalov.\n"
 
-#: effects/vamp/VampEffect.cpp:86
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Možnosti izločanja: %s"
 
-#: effects/vamp/VampEffect.cpp:117
+#: effects/vamp/VampEffect.cpp:107
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr "Oprostite, vstavkov Vamp ni mogoče izvesti na stereo posnetkih, kjer se posamezna kanala ne skladata."
 
-#: effects/vamp/VampEffect.cpp:131
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Oprostite, vtičnika Vamp ni bilo mogoče naložiti."
 
-#: effects/vamp/VampEffect.cpp:239
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Oprostite, vtičnik Vamp se ni uspel inicializirati."
 
-#: effects/vamp/VampEffect.cpp:387
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
 msgstr " - vtičnik za zvočno analizo Vamp"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr "Nastavitve vtičnika"
 
-#: effects/vamp/VampEffect.cpp:442
-#: effects/vamp/VampEffect.cpp:448
+#: effects/vamp/VampEffect.cpp:418
+#: effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr "Program"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "Ves izbrani zvok je nastavljen na nemo."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
-msgstr ""
+msgstr "Ves zvok je nem."
 
-#: export/Export.cpp:522
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Izvozi datoteko"
 
-#: export/Export.cpp:530
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Možnosti ..."
 
-#: export/Export.cpp:571
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Ste prepričani, da želite datoteko shraniti kot \""
 
-#: export/Export.cpp:591
+#: export/Export.cpp:596
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
-msgstr "Datoteko %s boste shranili pod imenom \"%s\".\n"
+msgstr ""
+"Datoteko %s boste shranili pod imenom \"%s\".\n"
 "\n"
 "Običajno imajo te datoteke končnico \".%s\" in nekatere aplikacije ne odpirajo datotek z nestandardnimi končnicami.\n"
 "\n"
 "Ste prepričani, da želite shraniti datoteko pod tem imenom?"
 
-#: export/Export.cpp:612
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "Datoteka \"%s\" že obstaja.  Jo želite zamenjati?"
 
-#: export/Export.cpp:710
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "Vaši posnetki bodo zmešani v dva stereo kanala v izvozno datoteko."
 
-#: export/Export.cpp:715
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "Vaši posnetki bodo zmešani v en sam mono kanal v izvozno datoteko."
 
-#: export/Export.cpp:726
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Napredne možnosti mešanja"
 
-#: export/Export.cpp:930
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr "Kanal: %2d"
 
-#: export/Export.cpp:1046
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - levi"
 
-#: export/Export.cpp:1047
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - desni"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
 msgstr "Podokno mešalca"
 
-#: export/Export.cpp:1078
-#: export/Export.cpp:1125
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Izhodna kanala: %2d"
@@ -6164,97 +6582,125 @@ msgstr "Izhodna kanala: %2d"
 msgid "Specify Command Line Encoder"
 msgstr "Določite kodirnik, ki deluje v ukazni vrstici"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr "Nastavitev izvoza iz ukazne vrstice"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr "Ukaz:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr "Pokaži izhod"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
 msgstr "Podatki bodo podani v cevovod na standardni vhod. \"%f\" bo zamenjan z izbranim imenom izhodne datoteke."
 
-#: export/ExportCL.cpp:222
+#: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr "(zunanji program)"
 
-#: export/ExportCL.cpp:253
-#: export/ExportPCM.cpp:457
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
-msgstr "Ne morem izvoziti posnetka v %s"
+msgstr "Posnetka ni mogoče izvoziti v %s"
 
-#: export/ExportCL.cpp:327
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Izvažanje označenega z uporabo kodirnika ukazne vrstice"
 
-#: export/ExportCL.cpp:328
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Izvažanje celotnega projekta z uporabo kodirnika ukazne vrstice"
 
-#: export/ExportCL.cpp:390
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Izhod ukaza"
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
 msgstr ""
+"Za nadaljevanje je obvezen ustrezno nastavljen FFmpeg.\n"
+"Prilagodite ga lahko prek Nastavitve > Knjižnice."
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr "Podpora AMR ni razširljiva"
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+"Za nadaljevanje je obvezen ustrezno nastavljen FFmpeg.\n"
+"Prilagodite ga lahko prek Nastavitve > Knjižnice.\n"
+"\n"
+"Upoštevajte, da podpora za AMR ni na voljo z našim\n"
+"namestitvenim paketom FFmpeg, zato ga morate prevesti sami."
+
+#: export/ExportFFmpeg.cpp:433
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg ne najde zvočnega kodeka 0x%x.\n"
+"Podpora za ta kodek najverjetneje ni prevedena."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "Poskusili ste izvoziti %d kanalov, vendar je največje število kanalov za izbrani izhodni zapis %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
 msgstr "Izvažanje izbranega zvoka kot %s"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
 msgstr "Izvažanje celotne datoteke kot %s"
 
-#: export/ExportFFmpeg.cpp:702
-#: export/ExportMP3.cpp:1920
+#: export/ExportFFmpeg.cpp:748
+#: export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr "Neveljavna mera vzorčenja"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:761
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
-msgstr "Mere vzorčenja projekta (%d) trenutni izhodni zapis\n"
+msgstr ""
+"Mere vzorčenja projekta (%d) trenutni izhodni zapis\n"
 "ne podpira.  "
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:764
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
-msgstr "Kombinacije mer vzorčenja projekta (%d) in bitnega vzorčenja (%d kb/s)\n"
+msgstr ""
+"Kombinacije mer vzorčenja projekta (%d) in bitnega vzorčenja (%d kb/s)\n"
 "trenutni izhodni zapis ne podpira.  "
 
-#: export/ExportFFmpeg.cpp:721
-#: export/ExportMP3.cpp:1939
+#: export/ExportFFmpeg.cpp:767
+#: export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "Prevzorčite lahko na eno od spodnjih vrednosti."
 
-#: export/ExportFFmpeg.cpp:749
-#: export/ExportMP3.cpp:1962
+#: export/ExportFFmpeg.cpp:795
+#: export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr "Mere vzorčenja"
 
@@ -6262,405 +6708,443 @@ msgstr "Mere vzorčenja"
 msgid "Specify AC3 Options"
 msgstr "Določite možnosti AC3"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
 msgstr "Namestitev izvoza AC3"
 
-#: export/ExportFFmpegDialogs.cpp:121
-#: export/ExportFFmpegDialogs.cpp:245
-#: export/ExportFFmpegDialogs.cpp:314
-#: export/ExportFFmpegDialogs.cpp:385
-#: export/ExportFFmpegDialogs.cpp:937
-#: export/ExportMP2.cpp:133
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Bitna hitrost:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
 msgstr "Določite možnosti AAC"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
 msgstr "Namestitev izvoza AAC"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:172
+#: export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Kakovost:"
+
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr "Določite možnosti AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
 msgstr "Namestitev izvoza AMR-NB"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
 msgstr "Določite možnosti AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
 msgstr "Namestitev izvoza AMR-WB"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
 msgstr "Določite možnosti WMA"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
 msgstr "Namestitev izvoza WMA"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
 msgstr "Želite prepisati prednastavitev '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
 msgstr "Potrditev prepisa"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "Pred shranjevanjem profila izberite zapis"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "Pred shranjevanjem profila izberite kodek"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "Prednastavitev '%s' ne obstaja."
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
 msgstr "Določite druge možnosti"
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
 msgstr "Prednastavitev:"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
 msgstr "Naloži prednastavitev"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
 msgstr "Shrani prednastavitev"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
 msgstr "Izbriši prednastavitev"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
 msgstr "Uvozi prednastavitve"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
 msgstr "Izvozi prednastavitve"
 
-#: export/ExportFFmpegDialogs.cpp:907
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
 msgstr "Zapis:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
 msgstr "Kodek:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:902
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
 msgstr "Vsi zapisi in kodeki niso med seboj kompatibilni. Nekatere kombinacije parametrov (kot sta bitno vzorčenje in mera vzorčenja) sploh niso kompatibilne z nekaterimi kodeki."
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
 msgstr "Izbirnik zapisa:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
 msgstr "Izbirnik kodeka:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
 msgstr "Pokaži vse vrste datotek"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
 msgstr "Pokaži vse kodeke"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
-msgstr ""
+msgstr "Možnosti"
 
-#: export/ExportFFmpegDialogs.cpp:931
-#: prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:920
+#: prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Jezik:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:921
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
-msgstr "3-črkovna koda jezika ISO 639\n"
+msgstr ""
+"3-črkovna koda jezika ISO 639\n"
 "neobvezno\n"
 "prazno - samodejno"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
 msgstr "Značka:"
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:924
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
-msgstr "Značka kodeka (FOURCC)\n"
+msgstr ""
+"Značka kodeka (FOURCC)\n"
 "neobvezno\n"
 "prazno - samodejno"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
-msgstr "Bitno vzorčenje (bitov/sekundo) - vpliva na velikost in kakovost končne datoteke\n"
+msgstr ""
+"Bitno vzorčenje (bitov/sekundo) - vpliva na velikost in kakovost končne datoteke\n"
 "Nekateri kodeki uporabljajo le določene vrednosti (128k, 192k, 256k itn.).\n"
 "0 - samodejno\n"
 "Priporočeno - 192000"
 
-#: export/ExportFFmpegDialogs.cpp:940
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Kakovost:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
-msgstr "Splošna kakovost, ki jo različni kodeki uporabljajo različno\n"
-"obvezno za vorbis\n"
+msgstr ""
+"Splošna kakovost, ki jo različni kodeki uporabljajo različno\n"
+"Obvezno za vorbis\n"
 "0 - samodejno\n"
 "-1 - izključeno (namesto tega uporabi bitno hitrost)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
 msgstr "Mera vzorčenja:"
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:933
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
-msgstr "Mera vzorčenja (Hz)\n"
+msgstr ""
+"Mera vzorčenja (Hz)\n"
 "0 - ne spreminjaj mere vzorčenja"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
 msgstr "Pasovna Å¡irina porezave:"
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:936
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
-msgstr "Pasovna širina zvočne porezave (Hz)\n"
-"neobvezno\n"
-"0 - samodejna\n"
+"0 - automatic"
+msgstr ""
+"Pasovna širina zvočne porezave (Hz)\n"
+"Neobvezno\n"
+"0 - samodejna"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
 msgstr "Profil:"
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:940
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
-msgstr "Profil AAC\n"
+msgstr ""
+"Profil AAC\n"
 "Nizka kompleksnost (LC) - privzeto\n"
 "Večina predvajalnikov ne bo predvajala ničesar drugega kot LC."
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "Uporabi bitni hranilnik (Bit Reservoir)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "Uporabi spremenljivo dolžino bloka (VBL)"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
-msgstr ""
+msgstr "Možnosti za FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
 msgstr "Raven stiskanja:"
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:955
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
-msgstr "Raven stiskanja\n"
+msgstr ""
+"Raven stiskanja\n"
 "obvezno za FLAC\n"
 "-1 - samodejno\n"
 "najmanjše - 0 (hitro kodiranje, velika izhodna datoteka)\n"
 "največje - 10 (počasno kodiranje, majhna izhodna datoteka)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
 msgstr "Velikost sličice:"
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:958
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
-msgstr "Velikost sličice\n"
+msgstr ""
+"Velikost sličice\n"
 "neobvezno\n"
 "0 - privzeta\n"
 "najmanjša - 16\n"
 "največja - 65535"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
 msgstr "Natančnost koeficientov LPC"
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:961
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
-msgstr "Natančnost koeficientov LPC\n"
+msgstr ""
+"Natančnost koeficientov LPC\n"
 "neobvezno\n"
 "0 - privzeto\n"
 "najmanj - 1\n"
 "največ - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
 msgstr "Najrajše zaporedje napovedi"
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:964
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr "Najkrajše zaporedje napovedi\n"
+msgstr ""
+"Najkrajše zaporedje napovedi\n"
 "neobvezno\n"
 "-1 - privzeto\n"
 "najkrajše - 0\n"
 "najdaljše - 32 (z LPC) ali 4 (brez LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
 msgstr "Najdaljše zaporedje napovedi"
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:967
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
-msgstr "Najdaljše zaporedje napovedi\n"
+msgstr ""
+"Najdaljše zaporedje napovedi\n"
 "neobvezno\n"
 "-1 - privzeto\n"
 "najkrajše - 0\n"
 "najdaljše - 32 (z LPC) ali 4 (brez LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
 msgstr "Metoda zaporedja napovedi:"
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:971
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
-msgstr "Metoda zaporedja napovedi\n"
+msgstr ""
+"Metoda zaporedja napovedi\n"
 "Ocenjeno - najhitrejše, slabše stiskanje\n"
 "Logaritemsko iskanje - najpočasnejše, najboljše stiskanje\n"
 "Polno iskanje - privzeto"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
 msgstr "Najkrajše zaporedje razdelitve"
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:974
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr "Najkrajše zaporedje razdelitve\n"
+msgstr ""
+"Najkrajše zaporedje razdelitve\n"
 "neobvezno\n"
 "-1 - privzeto\n"
 "najkrajše - 0\n"
 "najdaljše - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
 msgstr "Najdaljše zaporedje razdelitve"
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:977
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
-msgstr "Najdaljše zaporedje razdelitve\n"
+msgstr ""
+"Najdaljše zaporedje razdelitve\n"
 "neobvezno\n"
 "-1 - privzeto\n"
 "najkrajše - 0\n"
 "najdaljše - 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
-msgstr ""
+msgstr "Uporabi LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
-msgstr ""
+msgstr "Možnosti vsebnika MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
 msgstr "Mera multipleksiranja:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:991
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
-msgstr "Največje bitno vzorčenje multipleksiranega toka\n"
+msgstr ""
+"Največje bitno vzorčenje multipleksiranega toka\n"
 "neobvezno\n"
 "0 - privzeto"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
 msgstr "Velikost paketa:"
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:994
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
-msgstr "Velikost paketa\n"
+msgstr ""
+"Velikost paketa\n"
 "neobvezno\n"
 "0 - privzeta"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "Prednastavitve brez imena ne morete izbrisati"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
 msgstr "Želite izbrisati prednastavitev '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
 msgstr "Prednastavitve brez imena ne morete shraniti"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
 msgstr "Izberite datoteko XML s prednastavitvami, ki jo želite uvoziti"
 
-#: prefs/KeyConfigPrefs.cpp:202
+#: export/ExportFFmpegDialogs.cpp:1275
+#: export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:267
+#: prefs/KeyConfigPrefs.cpp:298
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "Datoteke XML (*.xml)|*.xml|Vse datoteke (*.*)|*.*"
 
@@ -6668,71 +7152,71 @@ msgstr "Datoteke XML (*.xml)|*.xml|Vse datoteke (*.*)|*.*"
 msgid "Select xml file to export presets into"
 msgstr "Izberite datoteko XML za izvoz prednastavitev."
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
-msgstr ""
+msgstr "Zapisa ni mogoče uganiti"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "Kodeka ni mogoče najti"
 
-#: export/ExportFFmpegDialogs.h:53
+#: export/ExportFFmpegDialogs.h:54
 msgid "M4A (AAC) Files (FFmpeg)"
 msgstr "Datoteke M4A (AAC) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:54
+#: export/ExportFFmpegDialogs.h:55
 msgid "AC3 Files (FFmpeg)"
 msgstr "Datoteke AC3 (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr "Datoteke AMR (ozkopasovne) (FFmpeg)"
-
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr "Datoteke AMR (Å¡irokopasovne) (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "Datoteke AMR (ozkopasovne) (FFmpeg, nerazširljive)"
 
 #: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "Datoteke AMR (širokopasovne) (FFmpeg, nerazširljive)"
+
+#: export/ExportFFmpegDialogs.h:58
 msgid "WMA (version 2) Files (FFmpeg)"
 msgstr "Datoteke WMA (razl. 2) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:58
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
 msgstr "Izvoz FFmpeg po meri"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
 msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
 msgstr "Nizka kompleksnost"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
 msgstr "Glavni profil"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
 msgstr "2-ravenski"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
 msgstr "4-ravenski"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
 msgstr "8-ravenski"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
 msgstr "Oceni"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
 msgstr "Polno iskanje"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
 msgstr "Iskanje po dnevniku"
 
@@ -6740,71 +7224,85 @@ msgstr "Iskanje po dnevniku"
 msgid "Specify FLAC Options"
 msgstr "Določite možnosti FLAC"
 
-#: export/ExportFLAC.cpp:81
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr "0 (najhitrejše)"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr "1"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr "2"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr "3"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr "4"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr "5"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr "6"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr "7"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr "8 (najboljše)"
 
-#: export/ExportFLAC.cpp:92
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr "16-bitno"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr "24-bitno"
 
-#: export/ExportFLAC.cpp:97
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr "Namestitev izvoza FLAC"
 
-#: export/ExportFLAC.cpp:101
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr "Raven:"
 
-#: export/ExportFLAC.cpp:103
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr "Bitna globina:"
 
-#: export/ExportFLAC.cpp:209
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr "Datoteke FLAC"
 
-#: export/ExportFLAC.cpp:312
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "Izvoz FLAC ne more odpreti %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"Kodirniku FLAC ni uspela inicializacija\n"
+"Stanje: %d"
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr "Izvažanje izbranega zvoka kot FLAC"
 
-#: export/ExportFLAC.cpp:313
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Izvažanje celotnega projekta kot FLAC"
 
@@ -6812,72 +7310,72 @@ msgstr "Izvažanje celotnega projekta kot FLAC"
 msgid "Specify MP2 Options"
 msgstr "Določite možnosti MP2"
 
-#: export/ExportMP2.cpp:129
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr "Namestitev izvoza MP2"
 
-#: export/ExportMP2.cpp:202
+#: export/ExportMP2.cpp:200
 msgid "MP2 Files"
 msgstr "Datoteke MP2"
 
-#: export/ExportMP2.cpp:232
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Izvoz v MP2 ni mogoče pri tej frekvenci vzorčenja in bitni hitrosti"
 
-#: export/ExportMP2.cpp:243
-#: export/ExportMP3.cpp:1771
-#: export/ExportOGG.cpp:186
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1619
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Datoteke za zapisovanje ni mogoče odpreti"
 
-#: export/ExportMP2.cpp:274
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Izvažanje izbranega zvoka pri %d kb/s"
 
-#: export/ExportMP2.cpp:275
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Izvažanje celotne datoteke pri %d kb/s"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr "kb/s"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr "(najvišja kakovost)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr "(manjše datoteke)"
 
-#: export/ExportMP3.cpp:243
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr "Hitro"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
-#: prefs/GUIPrefs.cpp:49
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr "Navadno"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr "Noro"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr "Skrajno"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr "Srednje"
 
-#: export/ExportMP3.cpp:303
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr "Določite možnosti MP3"
 
@@ -6906,8 +7404,7 @@ msgid "Constant"
 msgstr "konstantni"
 
 #: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Kakovost"
 
@@ -6942,500 +7439,551 @@ msgstr "Če želite brezplačno kopijo Lame, kliknite sem -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"Povezava kaže na lame_enc.dll razl%d.%d. Ta različica ni kompatibilna z Audacity %d.%d.%d.\n"
+"Prenesite najnovejšo različico knjižnice LAME MP3."
 
-#: export/ExportMP3.cpp:1094
+#: export/ExportMP3.cpp:1328
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Samo lame_enc.dll|lame_enc.dll|Dinamično povezane knjižnice (*.dll)|*.dll|Vse datoteke (*.*)|*"
 
-#: export/ExportMP3.cpp:1550
+#: export/ExportMP3.cpp:1346
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Le libmp3lame.dylib|libmp3lame.dylib|Dinamične knjižnice (*.dylib)|*.dylib|Vse datoteke (*)|*"
 
-#: export/ExportMP3.cpp:1567
+#: export/ExportMP3.cpp:1364
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Samo libmp3lame.so.0|libmp3lame.so.0|Prvotne skupne razredne datoteke (*.so)|*.so|Razširjene knjižnice (*.so*)|*.so*|Vse datoteke (*)|*"
 
-#: export/ExportMP3.cpp:1652
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "Datoteke MP3"
 
-#: export/ExportMP3.cpp:1676
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "Napaka pri odpiranju knjižnice za MP3 kodiranje!"
 
-#: export/ExportMP3.cpp:1683
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Neveljavna ali nepodprta knjižnica za MP3 kodiranje!"
 
-#: export/ExportMP3.cpp:1760
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "Toka MP3 ni mogoče inicializirati"
 
-#: export/ExportMP3.cpp:1802
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr "Izvažanje izbranega zvoka s prednastavitvijo %s"
 
-#: export/ExportMP3.cpp:1803
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Izvažanje celotne datoteke s prednastavitvijo %s"
 
-#: export/ExportMP3.cpp:1808
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr "Izvažanje izbranega zvoka pri kakovosti VBR %s"
 
-#: export/ExportMP3.cpp:1809
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Izvažanje celotne datoteke pri kakovosti VBR %s"
 
-#: export/ExportMP3.cpp:1814
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr "Izvažanje izbranega zvoka pri %d Kb/s"
 
-#: export/ExportMP3.cpp:1815
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Izvažanje celotne datoteke pri %d Kb/s"
 
-#: export/ExportMP3.cpp:1849
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Kodirnik MP3 je vrnil napako %d"
 
-#: export/ExportMP3.cpp:1933
+#: export/ExportMP3.cpp:1790
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr "Mere vzorčenja projekta (%d) zapis MP3 ne podpira."
 
-#: export/ExportMP3.cpp:1936
+#: export/ExportMP3.cpp:1793
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
-msgstr "Kombinacije mer vzorčenja projekta (%d) in bitnega vzorčenja (%d kb/s)\n"
+msgstr ""
+"Kombinacije mer vzorčenja projekta (%d) in bitnega vzorčenja (%d kb/s)\n"
 "zapis MP3 ne podpira.  "
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "Izvozne knjižnice MP3 ni mogoče najti"
 
-#: export/ExportMultiple.cpp:96
-#: export/ExportMultiple.cpp:426
-#: export/ExportMultiple.cpp:667
-#: export/ExportMultiple.cpp:834
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Izvoz večih"
 
-#: export/ExportMultiple.cpp:166
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Če imate več kot eno zvočno sled, lahko izvozite vsako sled kot ločeno datoteko,\n"
+msgstr ""
+"Če imate več kot eno zvočno sled, lahko izvozite vsako sled kot ločeno datoteko,\n"
 "ali pa če imate sled z oznakami, lahko izvozite novo datoteko za vsako oznako.\n"
 "\n"
 "Ta projekt nima več sledi niti sledi z oznakami, zato ne morete izvoziti več datotek naenkrat."
 
-#: export/ExportMultiple.cpp:167
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Ni mogoče izvoziti več datotek."
 
-#: export/ExportMultiple.cpp:232
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Oblika zapisa za izvoz:"
 
-#: export/ExportMultiple.cpp:237
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr "Možnosti ..."
 
-#: export/ExportMultiple.cpp:241
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Mesto za izvoz:"
 
-#: export/ExportMultiple.cpp:245
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Izberi ..."
-
-#: export/ExportMultiple.cpp:246
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Ustvari"
 
-#: export/ExportMultiple.cpp:253
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr "Razdeli datoteke glede na:"
 
-#: export/ExportMultiple.cpp:262
-#: export/ExportMultiple.cpp:264
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Oznake"
 
-#: export/ExportMultiple.cpp:269
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "Vključi zvok pred prvo oznako"
 
-#: export/ExportMultiple.cpp:275
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "Ime prve datoteke:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
 msgstr "Ime prve datoteke"
 
-#: export/ExportMultiple.cpp:288
-#: export/ExportMultiple.cpp:290
-msgid "Tracks"
-msgstr "Sledi"
-
-#: export/ExportMultiple.cpp:297
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Poimenuj datoteke:"
 
-#: export/ExportMultiple.cpp:306
-#: export/ExportMultiple.cpp:308
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Z uporabo oznake/imena sledi"
 
-#: export/ExportMultiple.cpp:314
-#: export/ExportMultiple.cpp:316
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Zaporedno številčenje"
 
-#: export/ExportMultiple.cpp:322
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Predpona imena datoteke:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
 msgstr "Predpona imena datoteke"
 
-#: export/ExportMultiple.cpp:341
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Prepiši obstoječe datoteke"
 
-#: export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr "\"%s\" je bila uspešno ustvarjena."
 
-#: export/ExportMultiple.cpp:433
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Izberite lokacijo, kjer bodo shranjene izvožene datoteke."
 
-#: export/ExportMultiple.cpp:539
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr "Uspešno izvoženih naslednjih %ld datotek."
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the following %ld file(s)."
+msgstr "Po izvozu naslednjih %ld datotek je Å¡lo nekaj narobe."
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "Po izvozu %ld datotek(e) je bil izvoz preklican."
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "Po izvozu %ld datotek(e) se je izvoz ustavil."
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "Po izvozu %ld datotek(e) je Å¡lo nekaj res narobe."
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "Izvoz večih"
+
+#: export/ExportMultiple.cpp:570
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
 "\n"
 "Would you like to create it?"
-msgstr "\"%s\" ne obstaja.\n"
+msgstr ""
+"\"%s\" ne obstaja.\n"
 "\n"
 "Jo želite ustvariti?"
 
-#: export/ExportMultiple.cpp:637
-#: export/ExportMultiple.cpp:772
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Uredi metapodatke"
 
-#: export/ExportMultiple.cpp:664
-#: export/ExportMultiple.cpp:831
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Uspešno izvoženih %d datotek."
-
-#: export/ExportMultiple.cpp:665
-#: export/ExportMultiple.cpp:832
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Po izvozu %d datotek(e) je Å¡lo nekaj narobe."
-
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:923
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
-msgstr "Oznaka %s ni veljavno ime za datoteko. Ne smete uporabiti:   %s\n"
+msgstr ""
+"Oznaka %s ni veljavno ime za datoteko. Ne smete uporabiti:   %s\n"
 "Uporabite ..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
 msgstr "Določite možnosti Ogg Vorbis"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr "Nastavitve izvoza Ogg Vorbis"
 
-#: export/ExportOGG.cpp:157
+#: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
 msgstr "Datoteke Ogg Vorbis"
 
-#: export/ExportOGG.cpp:257
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Izvažanje izbora v Ogg Vorbis"
 
-#: export/ExportOGG.cpp:258
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Izvažanje celotnega projekta v Ogg Vorbis"
 
-#: export/ExportPCM.cpp:116
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
 msgstr "Določite možnosti za nestisnjene"
 
-#: export/ExportPCM.cpp:185
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr "Nastavitve nestisnjenega izvoza"
 
-#: export/ExportPCM.cpp:191
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr "Glava:"
 
-#: export/ExportPCM.cpp:195
-#: import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Kodiranje: "
 
-#: export/ExportPCM.cpp:200
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
 msgstr "(Vse kombinacije glav in kodiranja niso možne.)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
 msgstr "Druge nestisnjene datoteke"
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
 msgstr "AIFF (Apple), podpisano, 16-bitni PCM"
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
 msgstr "WAV (Microsoft), podpisano, 16-bitni PCM"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
 msgstr "GSM 6.10 WAV (mobilno)"
 
-#: export/ExportPCM.cpp:449
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
-msgstr "Ne morem izvoziti posnetka v tem zapisu."
+msgstr "Posnetka v tem zapisu ni mogoče izvoziti."
 
-#: export/ExportPCM.cpp:491
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr "Izvažanje izbranega zvoka kot %s"
 
-#: export/ExportPCM.cpp:493
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Izvažanje celotnega projekta kot %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:531
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Napaka (datoteka morda ni bila zapisana): %s"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "Za ta zapis ne obstajajo možnosti.\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "Če potrebujete več nadzora nad izvoznim zapisom, uporabite zapis 'Druge nestisnjene datoteke'."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "Vaša datoteka bo izvožena v 16-bitnem zapisu WAV (Apple/SGI).\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "Vaša datoteka bo izvožena v 16-bitnem zapisu WAV (Microsoft).\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "Vaša datoteka bo izvožena v zapisu GSM 6.10 WAV.\n"
 
-#: import/Import.cpp:156
+#: import/Import.cpp:162
 #: import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "Datoteke MP3"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
 msgstr "Izberite toke za uvoz"
 
-#: import/Import.cpp:227
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "V tej različici Audacity podpora za %s ni prevedena."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
-msgstr "\"%s\" \n"
+msgstr ""
+"\"%s\" \n"
 "je datoteka MIDI in ne zvočna datoteka. \n"
 "Audacity te vrste datotek ne more odpreti za predvajanje ali urejanje,\n"
 "lahko pa jo prikaže, če kliknete Datoteka > Uvozi > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:250
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
-msgstr "\"%s\" je datoteka (sled) glasbenega CD.\n"
+msgstr ""
+"\"%s\" je datoteka (sled) glasbenega CD.\n"
 "Te vrste datotek Audacity neposredno ne odpira.\n"
 "Poskusite jo sneti v zvočni zapis, ki ga\n"
 "Audacity lahko odpre, kot sta npr. WAV ali AIFF."
 
-#: import/Import.cpp:256
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
-msgstr "\"%s\" je datoteka seznama predvajanja datotek.\n"
+msgstr ""
+"\"%s\" je datoteka seznama predvajanja datotek.\n"
 "Audacity te datoteke ne more odpreti, ker vsebuje le povezave na druge datoteke.\n"
 "Morda jo lahko odprete v urejevalniku besedila in nato prenesete navedene dejanske zvočne datoteke."
 
-#: import/Import.cpp:261
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" je zvočna datoteka Windows Media Audio. \n"
+msgstr ""
+"\"%s\" je zvočna datoteka Windows Media Audio. \n"
 "Audacity te vrste datotek ne more odpreti zaradi patentnih omejitev.\n"
 "Pretvoriti jo morate v podprti zvočni zapis, kot sta WAV in AIFF."
 
-#: import/Import.cpp:266
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" je datoteka Advanced Audio Coding. \n"
+msgstr ""
+"\"%s\" je datoteka Advanced Audio Coding. \n"
 "Audacity ne more odpreti te vrste datotek.\n"
 "Pretvoriti jo morate v podprto vrsto zvočnih datotek, kot sta WAV in AIFF."
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
-msgstr "\"%s\" je šifrirana zvočna datoteka. \n"
+msgstr ""
+"\"%s\" je šifrirana zvočna datoteka. \n"
 "Te so značilne za spletne trgovine z glasbo. \n"
 "Audacity ne more odpreti te vrste datotek zaradi Å¡ifriranja.\n"
 "Poskusite datoteko posneti v Audacity ali jo zapeči na zvočni CD,\n"
 "sled CD pa nato prenesti v podprto vrsto zvočnih datotek, kot sta WAV in AIFF."
 
-#: import/Import.cpp:276
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" je medijska datoteka RealPlayer. \n"
+msgstr ""
+"\"%s\" je medijska datoteka RealPlayer. \n"
 "Audacity ne more odpreti tega licenčnega zapisa.\n"
 "Najprej ga morate pretvoriti v enega od podprtih zvočnih zapisov, kot sta WAV in AIFF."
 
-#: import/Import.cpp:282
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
-msgstr "\"%s\" je datoteka z opombami in ne zvočna datoteka. \n"
+msgstr ""
+"\"%s\" je datoteka z opombami in ne zvočna datoteka. \n"
 "Audacity ne more odpreti te vrste datotek.\n"
 "Pretvoriti jo morate v podprto vrsto zvočnih datotek, kot sta WAV in AIFF \n"
 "in jo nato uvozite, ali pa jo posnamite z Audacity."
 
-#: import/Import.cpp:288
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
-msgstr "\"%s\" je zvočna datoteka Musepack. \n"
+msgstr ""
+"\"%s\" je zvočna datoteka Musepack. \n"
 "Audacity te vrste datotek ne more odpreti.\n"
 "ÄŒe menite, da je to datoteka mp3, jo preimenujte in dodajte\n"
 "končnico \".mp3\" ter ponovno poskusite uvoziti. Sicer jo morate pretvoriti\n"
 "v podprti zvočni zapis, kot sta WAV in AIFF."
 
-#: import/Import.cpp:294
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" je zvočna datoteka Wavpack. \n"
+msgstr ""
+"\"%s\" je zvočna datoteka Wavpack. \n"
 "Audacity ne more odpreti te vrste datotek.\n"
 "Pretvoriti jo morate v podprto vrsto zvočnih datotek, kot sta WAV in AIFF."
 
-#: import/Import.cpp:300
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" je zvočna datoteka Dolby Digital. \n"
+msgstr ""
+"\"%s\" je zvočna datoteka Dolby Digital. \n"
 "Audacity ne more odpreti te vrste datotek.\n"
 "Pretvoriti jo morate v podprto vrsto zvočnih datotek, kot sta WAV in AIFF."
 
-#: import/Import.cpp:306
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
-msgstr "\"%s\" je zvočna datoteka Ogg Speex. \n"
+msgstr ""
+"\"%s\" je zvočna datoteka Ogg Speex. \n"
 "Audacity ne more odpreti te vrste datotek.\n"
 "Pretvoriti jo morate v podprto vrsto zvočnih datotek, kot sta WAV in AIFF."
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
-msgstr "\"%s\" je video datoteka. \n"
+msgstr ""
+"\"%s\" je video datoteka. \n"
 "Audacity trenutno ne more odpreti te vrste datotek.\n"
 "Zvok morate izvoziti v podprto vrsto zvočnih datotek, kot sta WAV in AIFF."
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
-msgstr "Vrsta datoteke '%s' je Audacity neznana.\n"
+msgstr ""
+"Vrsta datoteke '%s' je Audacity neznana.\n"
 "ÄŒe ni stisnjena, jo poskusite uvoziti z \"Uvozi surove podatke\"."
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
-msgstr "Vrsta datoteke '%s' je Audacity znana,\n"
+msgstr ""
+"Vrsta datoteke '%s' je Audacity znana,\n"
 "vendar je ni bilo mogoče uvoziti."
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
 msgstr "Z FFmpeg kompatibilne datoteke"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "Kazalo[%02x] kodek[%S], jezik[%S], bitnovzorčenje[%S], kanali[%d], trajanje[%d]"
 
-#: import/ImportFLAC.cpp:43
+#: import/ImportFLAC.cpp:45
 msgid "FLAC files"
 msgstr "Datoteke FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "GStreamer - združljive datoteke"
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Seznam datotek v osnovnem zapisu besedila"
@@ -7506,82 +8054,82 @@ msgstr "Nepravilna glava bitnega toka Vorbis"
 msgid "Internal logic fault"
 msgstr "Notranja logična napaka"
 
-#: import/ImportPCM.cpp:54
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF in druge nestisnjene vrste"
 
-#: import/ImportPlugin.h:142
-#: import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
 msgstr "Uvažanje datoteke %s"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr "Datoteke QuickTime"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
 msgstr "Uvozi surove podatke"
 
-#: import/ImportRaw.cpp:282
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Uvozi surove podatke"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:327
+#: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr "Brez endianstva"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:330
+#: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr "little-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "veliki-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:336
+#: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr "Privzeto endianstvo"
 
-#: import/ImportRaw.cpp:355
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 kanal (Mono)"
 
-#: import/ImportRaw.cpp:356
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 kanala (Stereo)"
 
-#: import/ImportRaw.cpp:358
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d kanalov"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
 msgstr "Zaporedje bajtov:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
 msgstr "Kanali:"
 
-#: import/ImportRaw.cpp:382
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Začetni odmik:"
 
-#: import/ImportRaw.cpp:388
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Količina za uvoz:"
 
-#: import/ImportRaw.cpp:394
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Mera vzorčenja:"
 
@@ -7598,1137 +8146,1248 @@ msgstr "Dekodiranje signalne oblike"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr "%s dokončano %2.0f%%.  Kliknite, če želite spremeniti žariščno točko opravila."
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44
-#: prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Zvočni V/I"
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr "Paketni način"
 
-#: prefs/AudioIOPrefs.cpp:102
-#: prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (mono)"
+#: prefs/BatchPrefs.cpp:75
+#: prefs/GUIPrefs.cpp:134
+#: prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr "Vedenja"
 
-#: prefs/AudioIOPrefs.cpp:103
-#: prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (stereo)"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr "&Ne uporabi učinkov v paketnem načinu"
 
-#: prefs/AudioIOPrefs.cpp:117
-#: prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Predvajanje"
+#: prefs/BatchPrefs.cpp:81
+#: prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Način Po&čistiGovor (prilagojen vmesnik)"
 
-#: prefs/AudioIOPrefs.cpp:121
-#: prefs/AudioIOPrefs.cpp:139
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Naprave"
+
+#: prefs/DevicePrefs.cpp:107
+#: prefs/GUIPrefs.cpp:32
+#: prefs/MidiIOPrefs.cpp:113
+msgid "Interface"
+msgstr "Vmesnik"
+
+#: prefs/DevicePrefs.cpp:112
 #: prefs/MidiIOPrefs.cpp:118
-#: prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Naprava"
+msgid "Host"
+msgstr "Gostitelj"
 
-#: prefs/AudioIOPrefs.cpp:124
-#: prefs/MidiIOPrefs.cpp:121
+#: prefs/DevicePrefs.cpp:119
+#: prefs/MidiIOPrefs.cpp:125
 msgid "Using:"
 msgstr "Uporablja:"
 
-#: prefs/AudioIOPrefs.cpp:125
-#: prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio razl"
-
-#: prefs/AudioIOPrefs.cpp:135
+#: prefs/DevicePrefs.cpp:126
 #: prefs/MidiIOPrefs.cpp:132
+#: prefs/PlaybackPrefs.cpp:31
+msgid "Playback"
+msgstr "Predvajanje"
+
+#: prefs/DevicePrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:145
+#: prefs/RecordingPrefs.cpp:34
 msgid "Recording"
 msgstr "Snemanje"
 
-#: prefs/AudioIOPrefs.cpp:141
-#: prefs/MidiIOPrefs.cpp:138
+#: prefs/DevicePrefs.cpp:149
 msgid "Channels"
 msgstr "Kanali"
 
-#: prefs/AudioIOPrefs.cpp:147
-#: prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "Predvajaj skozi"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "Prekrivaj: Predvajaj &druge posnetke med snemanjem novega"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Strojno predvajanje skozi: Predvajaj nov posnetek med njegovim snemanjem"
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Programsko predvajanje skozi: Predvajaj nov posnetek med njegovim snemanjem"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "&Programsko predvajanje skozi: Predvajaj nov posnetek med njegovim snemanjem ali preverjanjem"
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(ne označite, če snemate \"stereo miks\")"
-
-#: prefs/AudioIOPrefs.cpp:168
-#: prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "Predposlušanje učinkov"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr "Dolžina predposlušanja:"
-
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "Predposlušanje izrezanega"
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr "Predposlušaj pred izrezanim območjem:"
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr "Predposlušaj po izrezanem območju:"
-
-#: prefs/AudioIOPrefs.cpp:189
-#: prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Latenca"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Zvok v medpomnilnik\n"
-"(večje = več latence)"
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Popravek latence:\n"
-"(negativno = nazaj)"
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr "Poišči čas med predvajanjem"
-
-#: prefs/AudioIOPrefs.cpp:206
-#: prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "Krajše obdobje:"
-
-#: prefs/AudioIOPrefs.cpp:208
-#: prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "Daljše obdobje:"
+#: prefs/DevicePrefs.cpp:165
+msgid "No audio interfaces"
+msgstr "Ni zvočnih vmesnikov"
 
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Paketni način"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Vedenja"
+#: prefs/DevicePrefs.cpp:201
+#: prefs/DevicePrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:295
+#: prefs/MidiIOPrefs.cpp:300
+msgid "No devices found"
+msgstr "Ni naprav"
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "&Ne uporabi učinkov v paketnem načinu"
+#: prefs/DevicePrefs.cpp:264
+msgid "1 (Mono)"
+msgstr "1 (mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Način Po&čistiGovor (prilagojen vmesnik)"
+#: prefs/DevicePrefs.cpp:267
+msgid "2 (Stereo)"
+msgstr "2 (stereo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
-#: prefs/PrefsDialog.cpp:267
+#: prefs/DirectoriesPrefs.cpp:52
+#: prefs/PrefsDialog.cpp:210
 msgid "Directories"
 msgstr "Mape"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Mapa začasnih datotek"
 
-#: prefs/DirectoriesPrefs.cpp:91
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Kraj:"
 
-#: prefs/DirectoriesPrefs.cpp:93
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Na voljo prostora:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Samodejno shrani"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Samodejno shrani kopijo projekta v ločeno mapo"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Samodejno shrani vsakih:"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr "Zvočni medpomnilnik"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minut"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "Predvajaj in/ali snemaj z rabo pomnilnika RAM (uporabno pri počasnih pogonih)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Zvočni medpomnilnik"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Najmanj prostega pomnilnika (MB):"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
-msgstr "Predvajaj in/ali snemaj z rabo pomnilnika RAM (uporabno pri počasnih pogonih, vendar lahko povzroči sesutje pri dolgih datotekah ali posnetkih)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
+"ÄŒe sistemski pomnilnik, ki je na voljo, pade pod to vrednost, zvok ne bo\n"
+"več medpomnjen v pomnilniku in bo zapisan na disk."
 
-#: prefs/DirectoriesPrefs.cpp:121
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Izberite lokacijo, kjer bo začasna mapa"
 
-#: prefs/DirectoriesPrefs.cpp:166
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "ni na voljo - zgornje mesto ne obstaja"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "Mapa %s ne obstaja. Jo želite ustvariti?"
 
-#: prefs/DirectoriesPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Nova začasna mapa"
 
-#: prefs/DirectoriesPrefs.cpp:187
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "V mapi %s zapisovanje ni dovoljeno"
 
-#: prefs/DirectoriesPrefs.cpp:199
+#: prefs/DirectoriesPrefs.cpp:207
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Spremembe v začasni mapi ne bodo delovale do naslednjega zagona Audacityja."
 
-#: prefs/FileFormatPrefs.cpp:53
-#: prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "Uvozi / Izvozi"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "Knjižnica za izvoz MP3"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "Različica knjižnice MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "Knjižnica MP3:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "Knjižnica LAME MP3:"
-
-#: prefs/FileFormatPrefs.cpp:101
-#: prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&Prenesi"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "Knjižnica za uvoz/izvoz FFmpeg"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "Različica knjižnice FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:118
-#: prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "Knjižnica FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Opomba: Možnosti kakovosti izvoza lahko izberete s klikom gumba Možnosti v pogovornem oknu Izvozi.\n"
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "Pri uvozu zvočnih datotek"
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&Naredi kopijo nestisnjenih zvočnih datotek pred urejanjem (varneje)"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&Beri nestisnjene zvočne datoteke neposredno iz izvirnika (hitreje)"
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr "&Normaliziraj vse sledi projekta"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr "V brskalniku"
 
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "Pri shranjevanju projekta, ki je odvisen od drugih zvočnih datotek"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr "S spleta"
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "Vedno &kopiraj vse zvoke v projekt (najvarneje)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&Ne kopiraj nobenega zvoka"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "Vprašaj &uporabnika"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "Pri izvozu sledi v zvočno datoteko"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Vedno &mešaj vse sledi na stereo ali mono kanal(a)."
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "&Uporabi mešanje po meri (npr. za izvoz večkanalne datoteke 5.1)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "Poka&ži urejevalnik metapodatkov pred korakom izvoza"
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (plitek obseg za visoko-amplitudno urejanje)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Vmesnik"
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (obseg PCM za 8-bitno vzorčenje)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "V brskalniku"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (obseg PCM za 10-bitno vzorčenje)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "S spleta"
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (obseg PCM za 16-bitno vzorčenje)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Enostavno"
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (približna meja človeškega sluha)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Posodobi zaslon med predvajanjem"
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (meja PCM za 24-bitno vzorčenje)"
 
 #: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "Za&prtje zadnjega okna povsem zapre Audacity"
+#: prefs/SpectrumPrefs.cpp:129
+#: prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr "Prikaz"
 
 #: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Omogoči &vleko levega in desnega roba izbora"
-
-#: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr "Er&gonomski razpored gumbov zvočnega V/I"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Samodejno &umeri sledi na navpično povečavo"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "Poka&ži pozdravno sporočilo ob zagonu programa"
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Premakni pozornost po sledeh\" &ciklično kroži po sledeh"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Obseg dB merilnika/signalnih oblik:"
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Urejanje &posnetka lahko premakne druge posnetke"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr "Pomoč:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Če ni nič izbrano, izberi vse zvoke projekta."
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr "Za&prtje zadnjega okna povsem zapre Audacity"
 
-#: prefs/GUIPrefs.cpp:110
+#: prefs/GUIPrefs.cpp:139
 msgid "&Beep on completion of longer activities"
 msgstr "&Zapiskaj ob zaključku daljših operacij"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Pokaži / Skrij"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Omogoči &črte rezov"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Pokaži opozorila o &začasnih datotekah"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "&Vprašaj za shranjevanje, tudi če je projekt prazen"
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "Poka&ži pozdravno sporočilo ob zagonu programa"
-
-#: prefs/GUIPrefs.cpp:126
+#: prefs/GUIPrefs.cpp:145
 msgid "Modes"
 msgstr "Načini"
 
-#: prefs/GUIPrefs.cpp:129
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr "Pokaži učinke VST v načinu up. vmesnika"
+
+#: prefs/GUIPrefs.cpp:156
 msgid "Don't a&pply effects in batch mode"
 msgstr "Ne &uporabi učinkov v paketnem načinu"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Prikaži najmanjši obseg: merilniki in 'Oblika signala (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (plitek obseg za visoko-amplitudno urejanje)"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr "Uvozi / Izvozi"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (obseg PCM za 8-bitno vzorčenje)"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr "Pri uvozu zvočnih datotek"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (obseg PCM za 10-bitno vzorčenje)"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&Naredi kopijo nestisnjenih zvočnih datotek pred urejanjem (varneje)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (obseg PCM za 16-bitno vzorčenje)"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Beri nestisnjene zvočne datoteke neposredno iz izvirnika (hitreje)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (približna meja človeškega sluha)"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr "&Normaliziraj vse sledi projekta"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (meja PCM za 24-bitno vzorčenje)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr "Pri izvozu sledi v zvočno datoteko"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Privzeta vrsta pogleda"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Vedno &mešaj vse sledi na stereo ali mono kanal(a)."
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "Druge izbire vmesnika"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "&Uporabi mešanje po meri (npr. za izvoz večkanalne datoteke 5.1)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr "Pomoč:"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr "Poka&ži urejevalnik metapodatkov pred korakom izvoza"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "Gumb Solo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Opomba: Možnosti kakovosti izvoza lahko izberete s klikom gumba\n"
+"Možnosti v pogovornem oknu Izvozi."
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:72
 msgid "Keyboard"
 msgstr "Tipkovnica"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "Osebne nastavitve tipkovnice trenutno niso na voljo."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:97
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "Če želite spremeniti tipke za bližnjice, odprite nov projekt."
+
+#: prefs/KeyConfigPrefs.cpp:108
+#: prefs/KeyConfigPrefs.cpp:224
+msgid "All"
+msgstr "Vse"
 
-#: prefs/KeyConfigPrefs.cpp:95
+#: prefs/KeyConfigPrefs.cpp:124
 msgid "Key Bindings"
 msgstr "Tipke za bližnjice"
 
-#: prefs/KeyConfigPrefs.cpp:115
+#: prefs/KeyConfigPrefs.cpp:129
+msgid "Category:"
+msgstr "Kategorija:"
+
+#: prefs/KeyConfigPrefs.cpp:156
 msgid "S&et"
 msgstr "N&astavi"
 
-#: prefs/KeyConfigPrefs.cpp:120
+#: prefs/KeyConfigPrefs.cpp:157
+#: widgets/FileHistory.cpp:174
+msgid "&Clear"
+msgstr "Po&čisti"
+
+#: prefs/KeyConfigPrefs.cpp:162
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Opomba: s pritiskom na Cmd+Q končate delo s programom. Vse druge tipke so veljavne."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:169
+#: prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "&Privzeto"
 
-#: prefs/KeyConfigPrefs.cpp:143
+#: prefs/KeyConfigPrefs.cpp:181
 msgid "Key Combination"
 msgstr "Kombinacija tipk"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Izvozi bližnjice kot:"
+#: prefs/KeyConfigPrefs.cpp:234
+#: toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Razveljavi"
 
-#: prefs/KeyConfigPrefs.cpp:183
-msgid "Error saving keyboard shortcuts"
-msgstr "Napaka pri shranjevanju bližnjic"
+#: prefs/KeyConfigPrefs.cpp:237
+#: toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "Ponovi"
 
-#: prefs/KeyConfigPrefs.cpp:198
+#: prefs/KeyConfigPrefs.cpp:263
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Izberite datoteko XML z bližnjicami Audacity ..."
 
-#: prefs/KeyConfigPrefs.cpp:215
+#: prefs/KeyConfigPrefs.cpp:281
 msgid "Error loading keyboard shortcuts"
 msgstr "Napaka pri nalaganju bližnjic"
 
-#: prefs/KeyConfigPrefs.cpp:243
+#: prefs/KeyConfigPrefs.cpp:294
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Izvozi bližnjice kot:"
+
+#: prefs/KeyConfigPrefs.cpp:320
+msgid "Error saving keyboard shortcuts"
+msgstr "Napaka pri shranjevanju bližnjic"
+
+#: prefs/KeyConfigPrefs.cpp:368
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
-msgstr "Tipka za bližnjico '%s' je že dodeljena k:\n"
+msgstr ""
+"Tipka za bližnjico '%s' je že dodeljena k:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Razveljavi"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Knjižnice"
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr "Knjižnica za izvoz MP3"
+
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "Različica knjižnice MP3:"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr "Knjižnica MP3:"
+
+#: prefs/LibraryPrefs.cpp:92
+#: prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr "Po&išči ..."
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr "Knjižnica LAME MP3:"
+
+#: prefs/LibraryPrefs.cpp:97
+#: prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr "&Prenesi"
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr "Knjižnica za uvoz/izvoz FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr "Različica knjižnice FFmpeg:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "Združljive knjižnice FFmpeg ni mogoče najti"
+
+#: prefs/LibraryPrefs.cpp:120
+#: prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr "Knjižnica FFmpeg:"
 
-#: prefs/MidiIOPrefs.cpp:146
+#: prefs/MidiIOPrefs.cpp:58
+msgid "MIDI Devices"
+msgstr "Naprave MIDI"
+
+#: prefs/MidiIOPrefs.cpp:168
+#: prefs/RecordingPrefs.cpp:60
+msgid "Playthrough"
+msgstr "Predvajaj skozi"
+
+#: prefs/MidiIOPrefs.cpp:170
 msgid "&Play other tracks while recording new one"
 msgstr "Predvajaj &druge posnetke med snemanjem novega"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:173
 msgid "&Hardware Playthrough (Play new track while recording it)"
 msgstr "&Strojno predvajanje skozi (predvajaj nov posnetek med njegovim snemanjem)"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:176
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "&Programsko predvajanje skozi (predvajaj nov posnetek med njegovim snemanjem)"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:181
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Cut Preview"
+msgstr "Predposlušanje izrezanega"
+
+#: prefs/MidiIOPrefs.cpp:184
 msgid "Play before cut region:"
 msgstr "Predvajaj pred izrezanim območjem:"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:186
 msgid "Play after cut region:"
 msgstr "Predvajaj po izrezanem območju:"
 
-#: prefs/MidiIOPrefs.cpp:173
+#: prefs/MidiIOPrefs.cpp:191
+#: prefs/RecordingPrefs.cpp:79
+msgid "Latency"
+msgstr "Latenca"
+
+#: prefs/MidiIOPrefs.cpp:196
+#: prefs/RecordingPrefs.cpp:85
 msgid "Audio to buffer:"
 msgstr "Zvok v medpomnilnik:"
 
-#: prefs/MidiIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:198
+#: prefs/RecordingPrefs.cpp:92
 msgid "Latency correction:"
 msgstr "Popravek latence:"
 
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:205
 msgid "Seek Time"
 msgstr "Poišči čas"
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:208
+#: prefs/PlaybackPrefs.cpp:98
+msgid "Short period:"
+msgstr "Krajše obdobje:"
+
+#: prefs/MidiIOPrefs.cpp:210
+#: prefs/PlaybackPrefs.cpp:105
+msgid "Long period:"
+msgstr "Daljše obdobje:"
+
+#: prefs/MidiIOPrefs.cpp:215
+#: prefs/PlaybackPrefs.cpp:57
+msgid "Effects Preview"
+msgstr "Predposlušanje učinkov"
+
+#: prefs/MidiIOPrefs.cpp:218
 msgid "Play when previewing:"
 msgstr "Predvajaj pri predposlušanju:"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MidiIOPrefs.cpp:256
+msgid "No MIDI interfaces"
+msgstr "Ni vmesnikov MIDI"
+
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Miška"
 
-#: prefs/MousePrefs.cpp:78
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Dejanja miške (privzete vrednosti, niso nastavljive)"
 
-#: prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Orodje"
 
-#: prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Akcija ukaza"
 
-#: prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Gumbi"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Levi klik"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
 #: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Izberi"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Nastavi točko izbora"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
 #: prefs/MousePrefs.cpp:115
 #: prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Levi povlek"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Nastavi obseg izbora"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Razpostri razpon izbora"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Shift-levi-klik"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Levi dvoklik"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr "Izberite posnetek ali celotno sled"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Ctrl-levi-klik"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr "Nastavi točko izbora in predvajaj"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
 #: prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Povečava"
 
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Povečaj na točko"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Povečaj na območje"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "enako kot desni-povlek"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Desni klik"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Pomanjšaj za eno stopnjo"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Desni-povlek"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "enako kot levi-povlek"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Shift-povlek"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Pomanjšaj z območja"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Srednji klik"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Privzeti zoom"
 
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "ÄŒasovno zamakni posnetek ali se pomakni gor/dol med sledmi"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Shift-levi-povlek"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "ÄŒasovno zamakni vse posnetke na sledi"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-levi-povlek"
 
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Premakni posnetek gor/dol med sledmi"
 
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Spremeni ojačevalno ovojnico"
 
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Spremeni vzorec"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "Pisalo"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt-levi-klik"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Zgladi pri vzorcu"
 
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Spremeni več vzorcev"
 
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Spremeni samo EN vzorec"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Večkratno"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
 msgid "same as select tool"
 msgstr "enako kot orodje za izbiranje"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "enako kot orodje za povečavo"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:131
+#: prefs/MousePrefs.cpp:132
+#: prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Kar koli"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Drsnik gor ali dol"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Rotacija koleščka"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Drsnik levo ali desno"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Shift-rotacija koleščka"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl-rotacija koleščka"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "Povečaj ali pomanjšaj"
 
-#: prefs/PrefsDialog.cpp:94
+#: prefs/PlaybackPrefs.cpp:61
+msgid "Length of preview:"
+msgstr "Dolžina predposlušanja:"
+
+#: prefs/PlaybackPrefs.cpp:76
+msgid "Preview before cut region:"
+msgstr "Predposlušaj pred izrezanim območjem:"
+
+#: prefs/PlaybackPrefs.cpp:83
+msgid "Preview after cut region:"
+msgstr "Predposlušaj po izrezanem območju:"
+
+#: prefs/PlaybackPrefs.cpp:94
+msgid "Seek Time when playing"
+msgstr "Poišči čas med predvajanjem"
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Nastavitve Audacity"
 
-#: prefs/QualityPrefs.cpp:73
+#: prefs/ProjectsPrefs.cpp:32
+msgid "Projects"
+msgstr "Projekti"
+
+#: prefs/ProjectsPrefs.cpp:59
+msgid "When saving a project that depends on other audio files"
+msgstr "Pri shranjevanju projekta, ki je odvisen od drugih zvočnih datotek"
+
+#: prefs/ProjectsPrefs.cpp:63
+msgid "Always &copy all audio into project (safest)"
+msgstr "Vedno &kopiraj vse zvoke v projekt (najvarneje)"
+
+#: prefs/ProjectsPrefs.cpp:65
+msgid "&Do not copy any audio"
+msgstr "&Ne kopiraj nobenega zvoka"
+
+#: prefs/ProjectsPrefs.cpp:67
+msgid "&Ask user"
+msgstr "Vprašaj &uporabnika"
+
+#: prefs/ProjectsPrefs.cpp:74
+msgid "Auto save"
+msgstr "Samodejno shrani"
+
+#: prefs/ProjectsPrefs.cpp:76
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Samodejno shrani kopijo projekta v ločeno mapo"
+
+#: prefs/ProjectsPrefs.cpp:82
+msgid "Auto save interval:"
+msgstr "Samodejno shrani vsakih:"
+
+#: prefs/ProjectsPrefs.cpp:86
+#: prefs/ProjectsPrefs.cpp:87
+msgid "minutes"
+msgstr "minut"
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Pravokotnik"
 
-#: prefs/QualityPrefs.cpp:74
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Trikotnik"
 
-#: prefs/QualityPrefs.cpp:75
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "Oblikovano"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr "Vzorčenje"
 
-#: prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Privzeta mera vzorčenja:"
 
-#: prefs/QualityPrefs.cpp:127
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
 msgstr "Privzeta oblika vzorca:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Pretvornik mere vzorčenja v realnem času:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Pretvorba v resničnem času"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Visokokakovostni pretvornik mere vzorčenja:"
+#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Pretvornik frekvence vzorčenja:"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Trepet v realnem času:"
+#: prefs/QualityPrefs.cpp:178
+#: prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr "Trepet"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Visokokakovostni trepet:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Viskokakovostna pretvorba"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Pretvorba"
+#: prefs/RecordingPrefs.cpp:62
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Prekrivaj: Predvajaj &druge posnetke med snemanjem novega"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Pretvornik frekvence vzorčenja"
+#: prefs/RecordingPrefs.cpp:66
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Strojno predvajanje skozi: Predvajaj nov posnetek med njegovim snemanjem"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Trepet"
+#: prefs/RecordingPrefs.cpp:70
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&Programsko predvajanje skozi: Predvajaj nov posnetek med njegovim snemanjem ali preverjanjem"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "V realnem času:"
+#: prefs/RecordingPrefs.cpp:74
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(ne označite, če snemate \"stereo miks\")"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Visokokakovostno:"
+#: prefs/RecordingPrefs.cpp:89
+#: prefs/RecordingPrefs.cpp:90
+msgid "milliseconds (higher = more latency)"
+msgstr "milisekund (večje = več latence)"
 
-#: prefs/SmartRecordPrefs.cpp:37
-#: prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "Pametno snemanje"
+#: prefs/RecordingPrefs.cpp:96
+#: prefs/RecordingPrefs.cpp:97
+msgid "milliseconds (negative = backwards)"
+msgstr "milisekund (negativno = nazaj)"
 
-#: prefs/SmartRecordPrefs.cpp:64
-#: prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:103
+#: prefs/RecordingPrefs.cpp:105
 msgid "Sound Activated Recording"
 msgstr "Z zvokom aktivirano snemanje"
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:114
 msgid "Sound Activation Level (dB):"
 msgstr "Raven zvoka za aktivacijo (dB):"
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Spektrogrami"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Velikost FFT"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 - najširše"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - privzeto"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr "32768 - najožje"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - najožje"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Vrsta okna:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "Okno FFT"
 
-#: prefs/SpectrumPrefs.cpp:125
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Velikost okna"
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Vrsta okna"
+
+#: prefs/SpectrumPrefs.cpp:113
 msgid "FFT Skip Points"
 msgstr "Točke preskoka FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Prikaz"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&sivinsko"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "Točke preskoka"
 
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr "Najmanjša frekvenca (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "Najvišja frekvenca (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Y-mreža"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Pokaži spekter s &sivinskimi odtenki"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Najdi note"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Pokaži mrežo vzdolž osi &Y"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Kvantiziraj note"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "Najdi note FFT"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr "Najmanjša amplituda (dB):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr "Najv. Å¡tevilo not (1..128):"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "&Najdi note"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "&Kvantiziraj note"
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "Maksimalna frekvenca mora biti Å¡tevilo"
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "Najvišja frekvenca mora biti med 100 Hz - 100,000 Hz"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr "Najmanjša frekvenca mora biti pozitivno celo število"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Najmanjša frekvenca mora biti vsaj 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "Najmanjša frekvenca mora biti manjša od največje frekvence"
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Najmanjša amplituda (dB) mora biti celo število"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "Največje število not mora biti celo število"
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr "Največje število not mora biti celo število v obsegu 1..128"
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Podatki"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"Teme so v eksperimentalni fazi.\n"
+"\n"
+"Da jih preizkusite, kliknite \"Shrani medpomnilnik tem\", nato poiščite in spremenite slike\n"
+"in barve v ImageCacheVxx.png z uporabo urejevalnika slik, kot je Gimp.\n"
+"\n"
+"Kliknite \"Naloži medpomnilnik tem\", da naložite spremenjene slike in barve nazaj v Audacity.\n"
+"\n"
+"[Samo nadzorna orodna vrstica in barve sledi so trenutno prizadete, čeprav slika\n"
+"prikazuje tudi druge ikone.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"Audacity ste prevedli z dodatnim gumbom, 'Output Sourcery'.  S tem boste shranili C-različico \n"
+"slikovnega medpomnilnika, ki ga ni mogoče privzeto prevesti."
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+"Če je vključen 'Naloži medpomnilnik tem ob zagonu', bo medpomnilnik tem naložen,\n"
+"ko zaženete program."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"Shranjevanje in nalaganje posamezne datoteke teme uporablja ločeno datoteko za vsako sliko,\n"
+"a je sicer zamišljeno na enak način."
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr "Medpomnilnik tem - Slike in barve"
 
-#: prefs/ThemePrefs.cpp:95
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr "Shrani medpomnilnik tem"
 
-#: prefs/ThemePrefs.cpp:96
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr "Naloži medpomnilnik tem"
 
-#: prefs/ThemePrefs.cpp:106
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr "Naloži medpomnilnik tem ob zagonu"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "Posamične datoteke tem"
 
-#: prefs/ThemePrefs.cpp:120
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Shrani datoteke"
 
-#: prefs/ThemePrefs.cpp:121
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Naloži datoteke"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Podatki"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr "Enostavno"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Teme so v eksperimentalni fazi.\n"
-"\n"
-"Da jih preizkusite, kliknite \"Shrani medpomnilnik tem\",\n"
-"nato poiščite in spremenite slike in barve v \n"
-"ImageCacheVxx.png z uporabo urejevalnika slik, kot \n"
-"je Gimp.\n"
-"\n"
-"Kliknite \"Naloži medpomnilnik tem\", da naložite spremenjene\n"
-"slike in barve nazaj v Audacity.\n"
-"\n"
-"[Samo nadzorna orodna vrstica in barve \n"
-"sledi so trenutno prizadete, čeprav slika\n"
-"prikazuje tudi druge ikone.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Audacity je preveden z dodatnim gumbom, \n"
-"'Output Sourcery'.  S tem boste shranili C-različico \n"
-"slikovnega medpomnilnika, ki ga ni mogoče privzeto prevesti.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Če je vključen 'Naloži medpomnilnik tem ob zagonu', bo \n"
-"medpomnilnik tem naložen, ko zaženete program.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr "&Posodobi zaslon med predvajanjem"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Shranjevanje in nalaganje posamezne datoteke teme \n"
-"uporablja ločeno datoteko za vsako sliko, a je sicer \n"
-"zamišljeno na enak način.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Samodejno &umeri sledi na navpično povečavo"
+
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Privzeti način pogleda:"
+
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr "&Če ni nič izbrano, izberi vse zvoke projekta."
+
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr "Omogoči &črte rezov"
+
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Omogoči &vleko levega in desnega roba izbora"
+
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Premakni pozornost po sledeh\" &ciklično kroži po sledeh"
+
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr "Urejanje &posnetka lahko premakne druge posnetke"
+
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr "Gumb Solo:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Opozorila"
 
-#: toolbars/ControlToolBar.cpp:175
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Pokaži opozorila/vprašanja"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "Pri shranjevanju &projektov"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "Pri shranjevanju prazn&ega projekta"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Ko zmanjkuje prostora na &disku"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "Pri mešanju v &stereo ob izvozu"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "Pri mešanju v &mono ob izvozu"
+
+#: toolbars/ControlToolBar.cpp:170
+#: toolbars/ControlToolBar.cpp:205
 msgid "Pause"
 msgstr "Prekinitev"
 
 #: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Predvajaj"
-
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr "Predvajaj (Shift za predvajanje v zanki)"
-
-#: toolbars/ControlToolBar.cpp:183
+#: toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1108
 msgid "Stop"
 msgstr "Ustavi"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Skoči na začetek"
+#: toolbars/ControlToolBar.cpp:190
+#: toolbars/ControlToolBar.cpp:211
+msgid "Clean Speech"
+msgstr "Počisti govor"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Skoči na konec"
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr "Predvajaj (Shift za predvajanje v zanki)"
 
-#: toolbars/ControlToolBar.cpp:192
+#: toolbars/ControlToolBar.cpp:210
 msgid "Record (Shift for Append Record)"
 msgstr "Snemaj (Shift za Snemaj kot dodatek)"
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr "Počisti govor"
-
-#: toolbars/ControlToolBar.cpp:540
-#: toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:579
+#: toolbars/ControlToolBar.cpp:914
 msgid "Error while opening sound device. "
 msgstr "Napaka pri odpiranju zvočne naprave."
 
-#: toolbars/ControlToolBar.cpp:706
+#: toolbars/ControlToolBar.cpp:749
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
 msgstr "Snemanje v načinu PočistiGovor ni možno, če je sled (ali pa več kot en projekt) že odprta."
 
-#: toolbars/ControlToolBar.cpp:707
+#: toolbars/ControlToolBar.cpp:750
 msgid "Recording not permitted"
 msgstr "Snemanje ni dovoljeno"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109
+#: toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr "Izhodna naprava"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127
+#: toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr "Vhodna naprava"
 
-#: toolbars/EditToolBar.cpp:139
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
 msgstr "Poreži na vse zunaj izbora"
 
-#: toolbars/EditToolBar.cpp:141
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "Izbor tišine"
 
 #: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
 msgstr "Poveži sledi"
 
 #: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Povečaj"
 
 #: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "Pomanjšaj"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Preklop povečave"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "Umeri izbor"
-
-#: toolbars/EditToolBar.cpp:165
+#: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Prilagodi označeno oknu"
 
-#: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "Umeri projekt"
-
-#: toolbars/EditToolBar.cpp:167
+#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Prilagodi celoten projekt v okno"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Merilnik"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr "Umeri izbor"
+
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr "Umeri projekt"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8746,11 +9405,11 @@ msgstr "Merilnik posnetega"
 msgid "Meter-Record"
 msgstr "Merilnik-Snemanje"
 
-#: toolbars/MeterToolBar.cpp:94
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
 msgstr "Merilnik nivoja izhoda"
 
-#: toolbars/MeterToolBar.cpp:95
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
 msgstr "Merilnik vhodne ravni - kliknite za nadzor vhoda"
 
@@ -8763,7 +9422,7 @@ msgid "Slider Output"
 msgstr "Drsnik izhoda"
 
 #: toolbars/MixerToolBar.cpp:101
-#: widgets/Meter.cpp:874
+#: widgets/Meter.cpp:862
 msgid "Input Volume"
 msgstr "Vhodna jakost"
 
@@ -8771,11 +9430,24 @@ msgstr "Vhodna jakost"
 msgid "Slider Input"
 msgstr "Drsnik vhoda"
 
-#: toolbars/MixerToolBar.cpp:134
+#: toolbars/MixerToolBar.cpp:139
 msgid "Input Source"
 msgstr "Vhodni vir"
 
+#: toolbars/MixerToolBar.cpp:304
+msgid "Input source information is not available."
+msgstr "Podatki o vhodu niso na voljo."
+
+#: toolbars/MixerToolBar.cpp:311
+msgid "Select Input Source"
+msgstr "Izberite vhodni vir"
+
+#: toolbars/MixerToolBar.cpp:319
+msgid "Input Source:"
+msgstr "Vhodni vir:"
+
 #: toolbars/SelectionBar.cpp:86
+#: toolbars/SelectionBar.cpp:292
 msgid "Selection"
 msgstr "Izbor"
 
@@ -8813,21 +9485,21 @@ msgstr "Skoči na ..."
 msgid "Selection "
 msgstr "Izbor"
 
-#: toolbars/SelectionBar.cpp:325
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
 msgstr "Dolžina izbora"
 
-#: toolbars/SelectionBar.cpp:333
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
 msgstr "Konec izbora"
 
-#: toolbars/ToolBar.cpp:98
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr "Orodna vrstica Audacity - %s"
 
-#: toolbars/ToolDock.cpp:74
 #: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "Sidrišče orodij"
 
@@ -8859,226 +9531,193 @@ msgstr "Levo=Povečava, Desno=Pomanjšanje, Sredina=Normalno"
 msgid "Click and drag to move a track in time"
 msgstr "Kliknite in povlecite, da bi premaknili posnetek vzdolž časovne linije"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Orodja"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Orodje za izbiranje"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Orodje za ovojnico"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Orodje za optimiranje časa"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Orodje za povečavo"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Risanje"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Večorodni način"
 
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 msgid "Slide Tool"
 msgstr "Orodje Pomikaj"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Večstransko orodje"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Prepis"
-
-#: toolbars/TranscriptionToolBar.cpp:171
+#: toolbars/TranscriptionToolBar.cpp:170
 msgid "Play at selected speed"
 msgstr "Predvajaj pri izbrani hitrosti"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Predvajaj-pri-hitrosti"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:176
+#: toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:263
 msgid "Playback Speed"
 msgstr "Hitrost predvajanja"
 
-#: toolbars/TranscriptionToolBar.cpp:196
+#: toolbars/TranscriptionToolBar.cpp:195
 msgid "Adjust left selection to next onset"
 msgstr "Prilagodi levi izbor naslednjemu primiku"
 
 #: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Levo-na-vključeno"
-
-#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Prilagodi desni izbor prejšnjemu odmiku"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Desno-na-izključeno"
-
-#: toolbars/TranscriptionToolBar.cpp:202
+#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust left selection to next offset"
 msgstr "Prilagodi levi izbor naslednjemu odmiku"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Levo-na-izključeno"
-
-#: toolbars/TranscriptionToolBar.cpp:205
+#: toolbars/TranscriptionToolBar.cpp:201
 msgid "Adjust right selection to previous onset"
 msgstr "Prilagodi desni izbor prejšnjemu primiku"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Desno-na-vključeno"
-
-#: toolbars/TranscriptionToolBar.cpp:208
+#: toolbars/TranscriptionToolBar.cpp:203
 msgid "Select region of sound around cursor"
 msgstr "Izberi področje zvoka okoli kazalca"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Izberi-Zvok"
-
-#: toolbars/TranscriptionToolBar.cpp:211
+#: toolbars/TranscriptionToolBar.cpp:205
 msgid "Select region of silence around cursor"
 msgstr "Izberi področje tišine okoli kazalca"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Izberi-Tišina"
-
-#: toolbars/TranscriptionToolBar.cpp:214
+#: toolbars/TranscriptionToolBar.cpp:207
 msgid "Automatically make labels from words"
 msgstr "Samodejno naredi oznake iz besed"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Naredi oznake"
-
-#: toolbars/TranscriptionToolBar.cpp:217
+#: toolbars/TranscriptionToolBar.cpp:209
 msgid "Add label at selection"
 msgstr "Dodaj oznako pri izbiri"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Dodaj oznako"
-
-#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:211
 msgid "Calibrate voicekey"
 msgstr "Umeri ključni glas"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Kalibriraj"
-
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:215
 msgid "Adjust Sensitivity"
 msgstr "Prilagodi občutljivost"
 
-#: toolbars/TranscriptionToolBar.cpp:230
+#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:276
 msgid "Sensitivity"
 msgstr "Občutljivost"
 
-#: toolbars/TranscriptionToolBar.cpp:235
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Energy"
 msgstr "Energija"
 
-#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:226
 msgid "Sign Changes (Low Threshold)"
 msgstr "Spremembe predznaka (nizek prag)"
 
-#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:227
 msgid "Sign Changes (High Threshold)"
 msgstr "Spremembe predznaka (visok prag)"
 
-#: toolbars/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:228
 msgid "Direction Changes (Low Threshold)"
 msgstr "Spremembe smeri (nizki prag)"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:229
 msgid "Direction Changes (High Threshold)"
 msgstr "Spremembe smeri (visoki prag)"
 
-#: toolbars/TranscriptionToolBar.cpp:247
+#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:277
 msgid "Key type"
 msgstr "Vrsta tipke"
 
-#: widgets/AButton.cpp:303
+#: toolbars/TranscriptionToolBar.cpp:262
+msgid "Play-at-speed"
+msgstr "Predvajaj-pri-hitrosti"
+
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Left-to-On"
+msgstr "Levo-na-vključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Right-to-Off"
+msgstr "Desno-na-izključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Left-to-Off"
+msgstr "Levo-na-izključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Right-to-On"
+msgstr "Desno-na-vključeno"
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Sound"
+msgstr "Izberi-Zvok"
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Select-Silence"
+msgstr "Izberi-Tišina"
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Make Labels"
+msgstr "Naredi oznake"
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Add Label"
+msgstr "Dodaj oznako"
+
+#: toolbars/TranscriptionToolBar.cpp:274
+msgid "Calibrate"
+msgstr "Kalibriraj"
+
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (onemogočeno)"
 
-#: widgets/AButton.cpp:461
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Pritisnite"
 
-#: widgets/AButton.cpp:540
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Gumb"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612
-#: widgets/Meter.cpp:248
+#: widgets/ASlider.cpp:642
+#: widgets/Meter.cpp:241
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615
-#: widgets/Meter.cpp:250
+#: widgets/ASlider.cpp:645
+#: widgets/Meter.cpp:243
 msgid "R"
 msgstr "D"
 
-#: widgets/ASlider.cpp:678
+#: widgets/ASlider.cpp:708
 msgid "Center"
 msgstr "Sredinski"
 
-#: widgets/ASlider.cpp:682
+#: widgets/ASlider.cpp:712
 msgid "Left"
 msgstr "Levo"
 
-#: widgets/ASlider.cpp:685
+#: widgets/ASlider.cpp:715
 msgid "Right"
 msgstr "Desno"
 
-#: widgets/ErrorDialog.cpp:98
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr "Pomoč"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ">"
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr "Naprej"
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
 msgstr "Nazaj"
 
-#: widgets/ErrorDialog.cpp:255
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr "Pomoč na spletu"
 
@@ -9086,68 +9725,59 @@ msgstr "Pomoč na spletu"
 msgid "Grabber"
 msgstr "Zajemalnik"
 
-#: widgets/Grid.cpp:643
-#, c-format
-msgid "%d rows, %d columns"
-msgstr "%d vrstic, %d stolpcev"
-
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
-#, c-format
-msgid "Row %d"
-msgstr "Vrstica %d"
-
-#: widgets/Grid.cpp:791
+#: widgets/Grid.cpp:723
 msgid "Empty"
 msgstr "Prazno"
 
-#: widgets/Meter.cpp:396
+#: widgets/Meter.cpp:385
 msgid "Enable Meter"
 msgstr "Vključi merilnik"
 
-#: widgets/Meter.cpp:398
+#: widgets/Meter.cpp:387
 msgid "Disable Meter"
 msgstr "Izključi merilnik"
 
-#: widgets/Meter.cpp:401
+#: widgets/Meter.cpp:390
 msgid "Stop Monitoring"
 msgstr "Ustavi opazovanje"
 
-#: widgets/Meter.cpp:403
+#: widgets/Meter.cpp:392
 msgid "Start Monitoring"
 msgstr "Zaženi opazovanje"
 
-#: widgets/Meter.cpp:407
+#: widgets/Meter.cpp:396
 msgid "Horizontal Stereo"
 msgstr "Vodoravni stereo"
 
-#: widgets/Meter.cpp:408
+#: widgets/Meter.cpp:397
 msgid "Vertical Stereo"
 msgstr "Navpični stereo"
 
-#: widgets/Meter.cpp:425
+#: widgets/Meter.cpp:414
 msgid "Preferences..."
 msgstr "Nastavitve ..."
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:864
 msgid "Mix Volume"
 msgstr "Jakost mešanega"
 
-#: widgets/Meter.cpp:1145
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1133
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr "S tem določite, kako pogosto je osvežen merilnik.\n"
+msgstr ""
+"S tem določite, kako pogosto je osvežen merilnik.\n"
 "Če imate počasnejši računalnik, je bolje izbrati\n"
 "manjšo frekvenco osveževanja (30 na sekundo ali manj),\n"
 "tako da kakovost zvoka ni ogrožena zaradi prikaza merilnika."
 
-#: widgets/Meter.cpp:1146
+#: widgets/Meter.cpp:1134
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Hitrost osveževanja merilnika na sekundo [1-100]: "
 
-#: widgets/Meter.cpp:1147
+#: widgets/Meter.cpp:1135
 msgid "Meter Preferences"
 msgstr "Nastavitve merilnika"
 
@@ -9159,27 +9789,27 @@ msgstr " Prosimo, izberite dejanje"
 msgid "Please select an action"
 msgstr "Prosimo, izberite dejanje"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1067
 msgid "Elapsed Time:"
 msgstr "Pretekli čas:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1087
 msgid "Remaining Time:"
 msgstr "Preostali čas:"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1115
 msgid "Cancel"
 msgstr "Prekliči"
 
-#: widgets/Ruler.cpp:1445
-#: widgets/Ruler.cpp:1446
+#: widgets/Ruler.cpp:1588
+#: widgets/Ruler.cpp:1589
 msgid "Vertical Ruler"
 msgstr "Navpično ravnilo"
 
 #. i18n-hint: Format string for displaying time in seconds. Change the comma
 #. * in the middle to the 1000s separator for your locale, and the 'seconds'
 #. * on the end to the word for seconds. Don't change the numbers.
-#: widgets/TimeTextCtrl.cpp:267
+#: widgets/TimeTextCtrl.cpp:269
 msgid "01000,01000 seconds"
 msgstr "sekunde 01000,01000"
 
@@ -9188,13 +9818,13 @@ msgstr "sekunde 01000,01000"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
 #. * change the numbers unless there aren't 60 seconds in a minute in your
 #. * locale
-#: widgets/TimeTextCtrl.cpp:276
+#: widgets/TimeTextCtrl.cpp:278
 msgid "0100 h 060 m 060 s"
 msgstr "0100 u 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in days, hours,
 #. * minutes and seconds
-#: widgets/TimeTextCtrl.cpp:279
+#: widgets/TimeTextCtrl.cpp:281
 msgid "dd:hh:mm:ss"
 msgstr "dd:uu:mm:ss"
 
@@ -9203,28 +9833,28 @@ msgstr "dd:uu:mm:ss"
 #. * for hours, 'm' to the abbreviation for minutes and 's' to the
 #. * abbreviation for seconds. Don't change the numbers unless there aren't
 #. * 24 hours in a day in your locale
-#: widgets/TimeTextCtrl.cpp:285
+#: widgets/TimeTextCtrl.cpp:287
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 dni 024 u 060 m 060 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:290
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "uu:mm:ss + stotinke"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:296
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 u 060 m 060,01000 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
-#: widgets/TimeTextCtrl.cpp:288
+#: widgets/TimeTextCtrl.cpp:299
 msgid "hh:mm:ss + milliseconds"
 msgstr "uu:mm:ss + milisekunde"
 
@@ -9233,13 +9863,13 @@ msgstr "uu:mm:ss + milisekunde"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * milliseconds are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:305
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 u 060 m 060.01000 s"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and samples (at the current project sample rate)
-#: widgets/TimeTextCtrl.cpp:297
+#: widgets/TimeTextCtrl.cpp:308
 msgid "hh:mm:ss + samples"
 msgstr "uu:mm:ss + vzorci"
 
@@ -9248,13 +9878,13 @@ msgstr "uu:mm:ss + vzorci"
 #. * abbreviation for minutes, 's' to the abbreviation for seconds and
 #. * translate samples . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:303
+#: widgets/TimeTextCtrl.cpp:314
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 u 060 m 060 s+.# vzorci"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
 #. * current project sample rate)
-#: widgets/TimeTextCtrl.cpp:306
+#: widgets/TimeTextCtrl.cpp:317
 msgid "samples"
 msgstr "vzorci"
 
@@ -9262,13 +9892,13 @@ msgstr "vzorci"
 #. * Change the ',' to the 1000s separator for your locale, and translate
 #. * samples. If 1000s aren't a base multiple for your number system, then you
 #. * can change the numbers to an appropriate one, and put a 0 on the front
-#: widgets/TimeTextCtrl.cpp:311
+#: widgets/TimeTextCtrl.cpp:322
 msgid "01000,01000,01000 samples|#"
 msgstr "vzorci 01000,01000,01000|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:314
+#: widgets/TimeTextCtrl.cpp:325
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "uu:mm:ss + filmske sličice (24 sl/s)"
 
@@ -9277,26 +9907,26 @@ msgstr "uu:mm:ss + filmske sličice (24 sl/s)"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames' . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:320
+#: widgets/TimeTextCtrl.cpp:331
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 u 060 m 060 s+.24 sličice"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
 #. * frames) at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:323
+#: widgets/TimeTextCtrl.cpp:334
 msgid "film frames (24 fps)"
 msgstr "filmske sličice (24 sl/s)"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
 #. * second. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:326
+#: widgets/TimeTextCtrl.cpp:337
 msgid "01000,01000 frames|24"
 msgstr "sličice 01000,01000|24"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV drop-frame rate (used for American /
-#. * Japananese TV, and very odd)
-#: widgets/TimeTextCtrl.cpp:330
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:341
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "uu:mm:ss + izpuščene sličice NTSC"
 
@@ -9304,14 +9934,14 @@ msgstr "uu:mm:ss + izpuščene sličice NTSC"
 #. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the |N alone, it's important!
-#: widgets/TimeTextCtrl.cpp:335
+#: widgets/TimeTextCtrl.cpp:346
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 u 060 m 060 s+.30 sličice|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-#. * Japananese TV, and doesn't quite match wall time
-#: widgets/TimeTextCtrl.cpp:339
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:350
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "uu:mm:ss + neizpuščene sličice NTSC"
 
@@ -9320,26 +9950,26 @@ msgstr "uu:mm:ss + neizpuščene sličice NTSC"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the | .999000999 alone,
 #. * the whole things really is slightly off-speed!
-#: widgets/TimeTextCtrl.cpp:345
+#: widgets/TimeTextCtrl.cpp:356
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 u 060 m 060 s+.030 sličice| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#. * TV frame rate (used for American / Japananese TV
-#: widgets/TimeTextCtrl.cpp:348
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:359
 msgid "NTSC frames"
 msgstr "sličice NTSC"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
 #. * rate!
-#: widgets/TimeTextCtrl.cpp:352
+#: widgets/TimeTextCtrl.cpp:363
 msgid "01000,01000 frames|29.97002997"
 msgstr "sličice 01000,01000|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at PAL TV frame rate (used for European TV)
-#: widgets/TimeTextCtrl.cpp:355
+#: widgets/TimeTextCtrl.cpp:366
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "uu:mm:ss + sličice PAL (25 sl/s)"
 
@@ -9347,25 +9977,25 @@ msgstr "uu:mm:ss + sličice PAL (25 sl/s)"
 #. * and frames with PAL TV frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Nice simple time code!
-#: widgets/TimeTextCtrl.cpp:360
+#: widgets/TimeTextCtrl.cpp:371
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 u 060 m 060 s+.25 sličice"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
 #. * TV frame rate (used for European TV
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:374
 msgid "PAL frames (25 fps)"
 msgstr "sličice PAL (25 sl/s)"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone.
-#: widgets/TimeTextCtrl.cpp:366
+#: widgets/TimeTextCtrl.cpp:377
 msgid "01000,01000 frames|25"
 msgstr "sličice 01000,01000|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at CD Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:369
+#: widgets/TimeTextCtrl.cpp:380
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "uu:mm:ss + sličice CDDA (75 sl/s)"
 
@@ -9373,31 +10003,27 @@ msgstr "uu:mm:ss + sličice CDDA (75 sl/s)"
 #. * and frames with CD Audio frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'.
-#: widgets/TimeTextCtrl.cpp:374
+#: widgets/TimeTextCtrl.cpp:385
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 u 060 m 060 s+.75 sličice"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
 #. * Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:377
+#: widgets/TimeTextCtrl.cpp:388
 msgid "CDDA frames (75 fps)"
 msgstr "sličice CDDA (75 sl/s)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:380
+#: widgets/TimeTextCtrl.cpp:391
 msgid "01000,01000 frames|75"
 msgstr "sličice 01000,01000|75"
 
-#: widgets/TimeTextCtrl.cpp:451
+#: widgets/TimeTextCtrl.cpp:470
 msgid "Use right mouse button or context key to change format"
 msgstr "Za spremembo zapisa uporabite desni gumb miške ali tipko pojavnega menija"
 
-#: widgets/TimeTextCtrl.cpp:1485
-msgid "Time Control"
-msgstr "ÄŒasovni nadzor"
-
-#: widgets/Warning.cpp:64
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "Tega opozorila ne prikaži več"
 
@@ -9416,3 +10042,478 @@ msgstr "Napaka: %hs v %lu. vrstici"
 msgid "Could not load file: \"%s\""
 msgstr "Napaka pri odpiranju datoteke: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr "Napaka pri splakovanju datoteke"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Napaka pri zapiranju datoteke"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Napaka pri zapisovanju v datoteko"
+
+#~ msgid "&Mix and Render"
+#~ msgstr "&Zmešaj in izdelaj"
+#~ msgid "Tag Name"
+#~ msgstr "Ime značke"
+#~ msgid "Tag Value"
+#~ msgstr "Vrednost značke"
+#~ msgid "Audio I/O"
+#~ msgstr "Zvočni V/I"
+#~ msgid "Portaudio v"
+#~ msgstr "Portaudio razl"
+#~ msgid "%d rows, %d columns"
+#~ msgstr "%d vrstic, %d stolpcev"
+#~ msgid "Row %d"
+#~ msgstr "Vrstica %d"
+#~ msgid "Time Control"
+#~ msgstr "ÄŒasovni nadzor"
+#~ msgid "&Preferences...\tCtrl+,"
+#~ msgstr "&Nastavitve ...\tCtrl+,"
+#~ msgid "&New\tCtrl+N"
+#~ msgstr "&Nova\tCtrl+N"
+#~ msgid "&Open...\tCtrl+O"
+#~ msgstr "&Odpri ...\tCtrl+O"
+#~ msgid "&Close\tCtrl+W"
+#~ msgstr "&Zapri\tCtrl+W"
+#~ msgid "&Audio...\tCtrl+Shift+I"
+#~ msgstr "&Zvok ...\tCtrl+Shift+I"
+#~ msgid "CleanSpeech C&hain..."
+#~ msgstr "Veri&ga PočistiGovor ..."
+#~ msgid "E&xit\tCtrl+Q"
+#~ msgstr "&Zapri\tCtrl+Q"
+#~ msgid "&Undo\tCtrl+Z"
+#~ msgstr "&Razveljavi\tCtrl+Z"
+#~ msgid "Cu&t\tCtrl+X"
+#~ msgstr "I&zreži\tCtrl+X"
+#~ msgid "Spl&it Cut\tCtrl+Alt+X"
+#~ msgstr "&Razdvoji z rezom\tCtrl+Alt+X"
+#~ msgid "&Copy\tCtrl+C"
+#~ msgstr "&Kopiraj\tCtrl+C"
+#~ msgid "&Paste\tCtrl+V"
+#~ msgstr "&Prilepi\tCtrl+V"
+#~ msgid "Tri&m\tCtrl+T"
+#~ msgstr "Pore&ži\tCtrl+T"
+#~ msgid "&Delete\tCtrl+K"
+#~ msgstr "&Izbriši\tCtrl+K"
+#~ msgid "Split D&elete\tCtrl+Alt+K"
+#~ msgstr "Razdvoji z &brisanjem\tCtrl+Alt+K"
+#~ msgid "Sp&lit\tCtrl+I"
+#~ msgstr "Raz&dvoji\tCtrl+I"
+#~ msgid "Split Ne&w\tCtrl+Alt+I"
+#~ msgstr "Razdvoji v n&ovo\tCtrl+Alt+I"
+#~ msgid "&Join\tCtrl+J"
+#~ msgstr "&Združi\tCtrl+J"
+#~ msgid "Duplic&ate\tCtrl+D"
+#~ msgstr "Po&dvoji\tCtrl+D"
+#~ msgid "&Cut\tAlt+X"
+#~ msgstr "I&zreži\tAlt+X"
+#~ msgid "&Split Cut\tShift+Alt+X"
+#~ msgstr "&Razdvoji in izreži\tShift+Alt+X"
+#~ msgid "Co&py\tShift+Alt+C"
+#~ msgstr "Ko&piraj\tShift+Alt+C"
+#~ msgid "&Delete\tAlt+K"
+#~ msgstr "&Izbriši\tAlt+D"
+#~ msgid "Sp&lit Delete\tShift+Alt+K"
+#~ msgstr "Razdvo&ji z brisanjem\tShift+Alt+K"
+#~ msgid "Sile&nce\tAlt+L"
+#~ msgstr "Ti&Å¡ina\tALT+L"
+#~ msgid "Spli&t\tAlt+I"
+#~ msgstr "&Razdeli\tAlt+T"
+#~ msgid "&Join\tAlt+J"
+#~ msgstr "Z&druži\tAlt+J"
+#~ msgid "Detac&h at Silences\tShift+Alt+J"
+#~ msgstr "Razdr&uži pri tišinah\tShift+Alt+J"
+#~ msgid "&All\tCtrl+A"
+#~ msgstr "&Vse\tCtrl+A"
+#~ msgid "&None\tCtrl+Shift+A"
+#~ msgstr "&Brez\tCtrl+Shift+A"
+#~ msgid "Turn Snap-To On"
+#~ msgstr "Vključi skoči-na"
+#~ msgid "Turn Snap-To Off"
+#~ msgstr "Izključi skoči-na"
+#~ msgid "Turn Grid Snap On"
+#~ msgstr "Vključi vpenjanje v mrežo"
+#~ msgid "Turn Grid Snap Off"
+#~ msgstr "Izključi vpenjanje v mrežo"
+#~ msgid "Pre&ferences...\tCtrl+,"
+#~ msgstr "&Nastavitve ...\tCtrl+,"
+#~ msgid "Pre&ferences...\tCtrl+P"
+#~ msgstr "&Nastavitve ...\tCtrl+P"
+#~ msgid "Zoom &In\tCtrl+1"
+#~ msgstr "Pove&čaj\tCtrl+1"
+#~ msgid "Zoom &Out\tCtrl+3"
+#~ msgstr "Pomanj&Å¡aj\tCtrl+3"
+#~ msgid "&Pause\tP"
+#~ msgstr "Pre&kini\tP"
+#~ msgid "Skip to Start\tHome"
+#~ msgstr "Skoči na začetek\tHome"
+#~ msgid "Skip to End\tEnd"
+#~ msgstr "Skoči na konec\tEnd"
+#~ msgid "&Record\tR"
+#~ msgstr "&Snemaj\tR"
+#~ msgid "&Audio Track\tCtrl+Shift+N"
+#~ msgstr "&Zvočna sled\tCtrl+Shift+N"
+#~ msgid "&UnMute All Tracks\tCtrl+Shift+U"
+#~ msgstr "&Odtišaj vse sledi\tCtrl+Shift+U"
+#~ msgid "Contrast...\tCtrl+Shift+T"
+#~ msgstr "Kontrast ...\tCtrl+Shift+T"
+#~ msgid "&Index..."
+#~ msgstr "&Kazalo ..."
+#~ msgid "Selection Tool\tF1"
+#~ msgstr "Orodje za izbiranje\tF1"
+#~ msgid "Envelope Tool\tF2"
+#~ msgstr "Orodje za ovojnico\tF2"
+#~ msgid "Draw Tool\tF3"
+#~ msgstr "Orodje za risanje\tF3"
+#~ msgid "Zoom Tool\tF4"
+#~ msgstr "Orodje za povečavo\tF4"
+#~ msgid "Time Shift Tool\tF5"
+#~ msgstr "Orodje za časovni zamik\tF5"
+#~ msgid "Multi Tool\tF6"
+#~ msgstr "Večorodni način\tF6"
+#~ msgid "Selection to Start\tShift+Home"
+#~ msgstr "Izberi do začetka\tShift+Home"
+#~ msgid "Selection to End\tShift+End"
+#~ msgstr "Izberi do konca\tShift+End"
+#~ msgid "DeleteKey\tBackspace"
+#~ msgstr "Tipka Delete\tBackspace"
+#~ msgid "DeleteKey2\tDelete"
+#~ msgstr "Tipka Delete2\tDelete"
+#~ msgid "Toggle Focused Track\tNUMPAD_ENTER"
+#~ msgstr "Vključi/izključi pozornost sledi\tNUMPAD_ENTER"
+#~ msgid "Cursor Left\tLeft\tallowdup"
+#~ msgstr "Leva kazalka\tLevo "
+#~ msgid "Cursor Right\tRight\tallowdup"
+#~ msgstr "Desna kazalka\tDesno\tallowdup"
+#~ msgid "Selection Extend Left\tShift+Left\tallowdup"
+#~ msgstr "Razpostri izbor na levo\tShift+levo\tallowdup"
+#~ msgid "Selection Extend Right\tShift+Right\tallowdup"
+#~ msgstr "Razpostri izbor na desno\tShift+desno\tallowdup"
+#~ msgid "Selection Contract Right\tCtrl+Shift+Left"
+#~ msgstr "Pomanjšaj izbor z desne\tCtrl+Shift+levo"
+#~ msgid "Repeat %s\tCtrl+R"
+#~ msgstr "Ponovi %s\tCtrl+R"
+#~ msgid ""
+#~ "Sorry, VST Effects cannot be performed on stereo tracks where the "
+#~ "individual channels of the track do not match."
+#~ msgstr ""
+#~ "Oprostite, učinki VST se ne morejo izvesti na stereo posnetkih, kjer se "
+#~ "posamezni kanali ne skladajo."
+#~ msgid "Can't process replacing"
+#~ msgstr "Zamenjave ni mogoče izvesti"
+#~ msgid "VST Plug-in parameters:"
+#~ msgstr "Parametri vtičnika VST:"
+#~ msgid "Smart Recording"
+#~ msgstr "Pametno snemanje"
+#~ msgid "Zoom Toggle"
+#~ msgstr "Preklop povečave"
+#~ msgid "No"
+#~ msgstr "Ne"
+#~ msgid "Play\tSpace"
+#~ msgstr "Predvajaj\tPreslednica"
+#~ msgid "&Stop\tSpace"
+#~ msgstr "&Ustavi\tPreslednica"
+#~ msgid "Stop\tS"
+#~ msgstr "Ustavi\tS"
+#~ msgid "Pause\tP"
+#~ msgstr "Prekinitev\tP"
+#~ msgid "Record\tR"
+#~ msgstr "Posnemi\tR"
+#~ msgid "Record Append\tShift+R"
+#~ msgstr "Posnemi kot dodatek\tShift+R"
+#~ msgid "Play Looped\tL"
+#~ msgstr "Predvajaj v zanki\tZ"
+#~ msgid "Play Looped\tShift+Space"
+#~ msgstr "Predvajaj v zanki\tShift+preslednica"
+#~ msgid "Toggle Focused Track\tCtrl+Space"
+#~ msgstr "Vključi/izključi pozornost sledi\tCtrl+preslednica"
+#~ msgid "Group with Wave Track"
+#~ msgstr "Združi s sledjo signalne oblike"
+#~ msgid "Clear any grouping"
+#~ msgstr "Počistite vse združitve v skupine"
+#~ msgid "Disallowed for some reason.  Try selecting some audio first?"
+#~ msgstr "Iz neznanega razloga to ni dovoljeno.  Ste prej izbrali kak zvok?"
+#~ msgid "Hello.\n"
+#~ msgstr "Živijo.\n"
+#~ msgid "WCAG2 Audio Contrast Analyzer"
+#~ msgstr "Analizator zvočnega kontrasta WCAG2"
+#~ msgid "Note: The 'OK' button resets time values."
+#~ msgstr "Opozorilo: Gumb 'V redu' ponastavi časovne vrednosti."
+#~ msgid "Measuring background"
+#~ msgstr "Merjenje ospredja"
+#~ msgid "Measuring foreground"
+#~ msgstr "Merjenje ozadja"
+#~ msgid "&Software Playthrough: Play new track while recording it"
+#~ msgstr ""
+#~ "&Programsko predvajanje skozi: Predvajaj nov posnetek med njegovim "
+#~ "snemanjem"
+#~ msgid "Show / Hide"
+#~ msgstr "Pokaži / Skrij"
+#~ msgid "Show prompt to sa&ve, even if project is empty"
+#~ msgstr "&Vprašaj za shranjevanje, tudi če je projekt prazen"
+#~ msgid "Display range minimum: meters and 'Waveform (dB)'"
+#~ msgstr "Prikaži najmanjši obseg: merilniki in 'Oblika signala (dB)'"
+#~ msgid "Other interface choices"
+#~ msgstr "Druge izbire vmesnika"
+#~ msgid "Real-time sample rate converter:"
+#~ msgstr "Pretvornik mere vzorčenja v realnem času:"
+#~ msgid "High-quality sample rate converter:"
+#~ msgstr "Visokokakovostni pretvornik mere vzorčenja:"
+#~ msgid "Real-time dither:"
+#~ msgstr "Trepet v realnem času:"
+#~ msgid "High-quality dither:"
+#~ msgstr "Visokokakovostni trepet:"
+#~ msgid "Conversion"
+#~ msgstr "Pretvorba"
+#~ msgid "Real-time:"
+#~ msgstr "V realnem času:"
+#~ msgid "High-quality:"
+#~ msgstr "Visokokakovostno:"
+#~ msgid "FFT Size"
+#~ msgstr "Velikost FFT"
+#~ msgid "&Grayscale"
+#~ msgstr "&sivinsko"
+#~ msgid "Download..."
+#~ msgstr "Prenesi ..."
+#~ msgid "Title:"
+#~ msgstr "Naslov:"
+#~ msgid "Artist:"
+#~ msgstr "Izvajalec:"
+#~ msgid "Album:"
+#~ msgstr "Album:"
+#~ msgid "Composer:"
+#~ msgstr "Skladatelj:"
+#~ msgid "Lyricist:"
+#~ msgstr "Avtor besedila:"
+#~ msgid "Comments:"
+#~ msgstr "Komentarji:"
+#~ msgid "Encoded By:"
+#~ msgstr "Kodirnik:"
+#~ msgid "Copyright:"
+#~ msgstr "Pravice:"
+#~ msgid "Track Number:"
+#~ msgstr "Å tevilka sledi:"
+#~ msgid "Year:"
+#~ msgstr "Leto:"
+#~ msgid "Genre:"
+#~ msgstr "Zvrst:"
+#~ msgid "No Genres"
+#~ msgstr "Ni zvrsti"
+#~ msgid "Reset to Defaults"
+#~ msgstr "Ponastavi na privzeto"
+#~ msgid "Basic"
+#~ msgstr "Osnovno"
+#~ msgid "Advanced"
+#~ msgstr "Napredno"
+#~ msgid "Clea&r"
+#~ msgstr "Po&čisti"
+#~ msgid ""
+#~ "Maximum length of attribute '%s' is %d characters. Data was truncated."
+#~ msgstr ""
+#~ "Največja dolžina atributa '%s' je %d znakov. Podatki so bili okrajšani."
+#~ msgid "Title"
+#~ msgstr "Naslov"
+#~ msgid "Artist"
+#~ msgstr "Izvajalec"
+#~ msgid "Album"
+#~ msgstr "Album"
+#~ msgid "Normalize maximum amplitude to"
+#~ msgstr "Normaliziraj največjo amplitudo na"
+
+#, fuzzy
+#~ msgid "No active audio selected!"
+#~ msgstr "Izbrana ni nobena veriga"
+#~ msgid "Importing %s File..."
+#~ msgstr "Uvoz datoteke %s ..."
+#~ msgid "&Find Library..."
+#~ msgstr "&Najdi knjižnico ..."
+#~ msgid "Changing block %s\n"
+#~ msgstr "Spreminjanje bloka %s\n"
+#~ msgid "Define Foreground\tCtrl+Alt+F"
+#~ msgstr "Določi ospredje\tCtrl+Alt+F"
+#~ msgid "Define Background\tCtrl+Alt+B"
+#~ msgstr "Določi ozadje\tCtrl+Alt+B"
+#~ msgid "Press F2 or double click to edit."
+#~ msgstr "Pritisnite F2 ali dvokliknite za urejanje."
+#~ msgid "Fail"
+#~ msgstr "Ni uspelo"
+#~ msgid "Before you open this tool,"
+#~ msgstr "Preden odprete to orodje,"
+#~ msgid "   Ctrl+Alt+F sets the 'foreground' times."
+#~ msgstr "   Ctrl+Alt+F določi čase 'ospredja'."
+#~ msgid "   Ctrl+Alt+B sets the 'background' times."
+#~ msgstr "   Ctrl+Alt+B določi čase 'ozadja'."
+#~ msgid "WCAG Information on web"
+#~ msgstr "Informacije o WCAG na spletu"
+#~ msgid ""
+#~ "No tracks are selected! Use Ctrl-A (Select All)\n"
+#~ "Choose Export... to export all tracks."
+#~ msgstr ""
+#~ "Nobena sled ni izbrana! Uporabite Ctrl-A (Izberi vse)\n"
+#~ "Izberite Izvozi ..., da izvozite vse sledi."
+#~ msgid ""
+#~ "<p>You don't appear to have Audacity help files on your machine. Either "
+#~ "<a href=\"http://audacity.sourceforge.net/help/documentation\">download</"
+#~ "a> the help files and then access them again from Audacity by clicking "
+#~ "<i>Help</i> then <i>Index</i>, or click <a href=\"http://www.audacityteam."
+#~ "org/manual/index.php?title=Main_Page\">here</a> to read the full Manual "
+#~ "online."
+#~ msgstr ""
+#~ "<p>Kot kaže, na računalniku nimate datotek pomoči. <a href=\"http://"
+#~ "audacity.sourceforge.net/help/documentation\">Prenesete si</a> lahko "
+#~ "datoteke pomoči in do njih dostopate iz Audacity s klikom <i>Pomoč</i> in "
+#~ "nato <i>Kazalo</i> ali pa kliknite <a href=\"http://www.audacityteam.org/"
+#~ "manual/index.php?title=Main_Page\">sem</a>, da si preberete spletno pomoč."
+#~ msgid "Disj&oin\tCtrl+Alt+J"
+#~ msgstr "&Razdruži\tCtrl+Alt+J"
+#~ msgid "Select&..."
+#~ msgstr "&Izberi ..."
+#~ msgid "Raw"
+#~ msgstr "Surovo"
+#~ msgid "Enter a sample rate in Hz (per second) between 1 and 100000:"
+#~ msgstr "Vnesite frekvenco vzorčenja v Hz (na sekundo) med 1 in 100000:"
+#~ msgid "Invalid rate."
+#~ msgstr "Nepravilna frekvenca."
+#~ msgid "Message"
+#~ msgstr "Sporočilo"
+#~ msgid "Frequency (Hz):   from"
+#~ msgstr "Frekvenca (Hz): od"
+#~ msgid "Length (seconds):   from"
+#~ msgstr "Dožina (v sekundah): od"
+#~ msgid "Dynamic Range Compressor by Dominic Mazzoni"
+#~ msgstr "Kompresor dinamičnega obsega Dominica Mazzonija"
+#~ msgid "Leveller by Lynn Allan"
+#~ msgstr "Izravnalnik avtorja Lynna Allana"
+#~ msgid "Equalize soft and loud sections"
+#~ msgstr "Izenači tihe in glasne odseke"
+#~ msgid "Normalize by Dominic Mazzoni"
+#~ msgstr "Normaliziraj avtorja Dominica Mazzonija"
+#~ msgid "Phaser by Nasca Octavian Paul"
+#~ msgstr "Faznik Nasca Octaviana Paula"
+#~ msgid "DRY"
+#~ msgstr "SUHO"
+#~ msgid "WET"
+#~ msgstr "VLAŽNO"
+#~ msgid "Repeat by Dominic Mazzoni && Vaughan Johnson"
+#~ msgstr "Ponavljalec, Dominic Mazzoni &&  Vaughan Johnson"
+#~ msgid "%d minutes, %d seconds"
+#~ msgstr "%d minut, %d sekund"
+#~ msgid "Wahwah by Nasca Octavian Paul"
+#~ msgstr "Wah-wah Nasca Octaviana Paula"
+#~ msgid "E&xport"
+#~ msgstr "I&zvozi"
+#~ msgid ""
+#~ "Audacity had to make a guess at the type of file.\n"
+#~ "The Audio may be bogus.\n"
+#~ "\n"
+#~ "If the audio is bogus, try renaming the file\n"
+#~ "so that it has the correct extension before opening it."
+#~ msgstr ""
+#~ "Audacity je moral uganiti vrsto datoteke.\n"
+#~ "Zvoki bodo morda napačni.\n"
+#~ "\n"
+#~ "ÄŒe se je to zgodilo, poskusite preimenovati\n"
+#~ "datoteko, da bo imela ustrezno končnico."
+#~ msgid "Error parsing Allegro file."
+#~ msgstr "Napaka pri branju datoteke Allegro."
+#~ msgid "Error parsing MIDI file."
+#~ msgstr "Napaka pri branju datoteke MIDI."
+#~ msgid ""
+#~ "&Software Playthrough: Play new track while recording it (uncheck when "
+#~ "recording \"stereo mix\")"
+#~ msgstr ""
+#~ "&Programsko predvajanje skozi: Predvajaj nov posnetek med njegovim "
+#~ "snemanjem (izključite pri \"stereo mešanju\")"
+#~ msgid "Hold recorded data in memory until recording is stopped"
+#~ msgstr "Obdrži posnete podatke v pomnilniku do zaključka snemanja"
+#~ msgid "WaveformDisplay"
+#~ msgstr "PrikažiOblikoSignala"
+#~ msgid "WaveformDBDisplay"
+#~ msgstr "PrikažiOblikoSignalaDB"
+#~ msgid "SpectrumDisplay"
+#~ msgstr "PrikažiSpekter"
+#~ msgid "SpectrumLogDisplay"
+#~ msgstr "PrikažiLogSpekter"
+#~ msgid "PitchDisplay"
+#~ msgstr "PrikažiVišinoTona"
+#~ msgid "Pause Recording on Silence"
+#~ msgstr "Začasno ustavi snemanje ob tišini"
+#~ msgid ""
+#~ "You have chosen not to recover any projects. You will not be able to "
+#~ "recover those projects later if you change your mind. Do you really want "
+#~ "to continue without recovering?"
+#~ msgstr ""
+#~ "Odločili ste se, da ne boste obnovili nobenega projekta. Teh projektov "
+#~ "kasneje ne boste mogli obnovi, če si premislite. Resnično želite "
+#~ "nadaljevati brez obnovitve?"
+#~ msgid "Really not recover projects?"
+#~ msgstr "Resnično ne želite obnoviti projektov?"
+#~ msgid "Export and Saving"
+#~ msgstr "Izvoz in shranjevanje"
+#~ msgid ""
+#~ "If you want to burn your work to an audio CD for standalone CD players, "
+#~ "you must first [[export|export as WAV or AIFF]] and then burn that file "
+#~ "to CD with a CD burning program like iTunes - for more help, see [[wiki:"
+#~ "How to burn CDs|How to burn CDs]].<br><br>"
+#~ msgstr ""
+#~ "Če želite zapeči svoje delo na zvočni CD za navadne predvajalnike CD, "
+#~ "morate posnetek najprej [[export|izvoziti kot WAV ali AIFF]], nato pa to "
+#~ "datoteko zapecite na CD s programom za peko CD-jev, kot je iTunes - za "
+#~ "več pomoči si oglejte [[wiki:How to burn CDs|Kako pečemo CD-je]].<br><br>"
+#~ msgid "Draw currently only works with linear-view waveforms."
+#~ msgstr ""
+#~ "Risanje trenutno deluje le z linearno prikazanimi signalnimi oblikami."
+#~ msgid "DTMF duration:"
+#~ msgstr "Trajanje DTMF:"
+#~ msgid "Noise duration"
+#~ msgstr "Trajanje Å¡uma"
+#~ msgid "Edit the metadata for the FLAC file"
+#~ msgstr "Uredi metapodatke za datoteko FLAC"
+#~ msgid "Edit the ID3 tags for the MP2 file"
+#~ msgstr "Spremeni oznake ID3 za datoteko MP2"
+#~ msgid "0, 220-260 kbps (Best Quality)"
+#~ msgstr "0, 220-260 k/ps (najboljša kakovost)"
+#~ msgid "1, 200-250 kbps"
+#~ msgstr "1, 200-250 kb/s"
+#~ msgid "2, 170-210 kbps"
+#~ msgstr "2, 170-210 kb/s"
+#~ msgid "3, 155-195 kbps"
+#~ msgstr "3, 155-195 kb/s"
+#~ msgid "4, 145-185 kbps"
+#~ msgstr "4, 145-185 kb/s"
+#~ msgid "5, 110-150 kbps"
+#~ msgstr "5, 110-150 kb/s"
+#~ msgid "6, 95-135 kbps"
+#~ msgstr "6, 95-135 kb/s"
+#~ msgid "7, 80-120 kbps"
+#~ msgstr "7, 80-120 kb/s"
+#~ msgid "8, 65-105 kbps"
+#~ msgstr "8, 65-105 kb/s"
+#~ msgid "Insane, 320 kbps"
+#~ msgstr "noro, 320 kb/s"
+#~ msgid "Extreme, 220-260 kbps"
+#~ msgstr "izjemno, 220-260 kb/s"
+#~ msgid "Standard, 170-210 kbps"
+#~ msgstr "navadno, 170-210 kb/s"
+#~ msgid "Medium, 145-185 kbps"
+#~ msgstr "srednje, 145-185 kb/s"
+#~ msgid "Edit the ID3 tags for the MP3 file"
+#~ msgstr "Spremeni ID3 zapis v tej MP3 datoteki"
+#~ msgid "Edit the metadata"
+#~ msgstr "Uredi metapodatke"
+#~ msgid "Edit the metadata for the OGG file"
+#~ msgstr "Uredi metapodatke za datoteko OGG"
+#~ msgid "Specify PCM Options"
+#~ msgstr "Določite možnosti PCM"
+#~ msgid "Audio Files"
+#~ msgstr "Zvočne datoteke"
+#~ msgid "&Download Free Copy of LAME"
+#~ msgstr "&Prenesi brezplačno kopijo LAME"
+#~ msgid "Language"
+#~ msgstr "Jezik"
+#~ msgid "Minimum of dB mode display range"
+#~ msgstr "Najmanjši dB način prikazanega območja"
+
diff --git a/locale/sv.po b/locale/sv.po
index 972d940..89eb50a 100644
--- a/locale/sv.po
+++ b/locale/sv.po
@@ -11,9 +11,7 @@ msgstr "Project-Id-Version: Audacity 1.3.4\n"
 "X-Poedit-Country: SWEDEN\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:142 AudacityApp.cpp:749 Menus.cpp:745
 msgid "&About Audacity..."
 msgstr "&Om Audacity..."
 
@@ -26,16 +24,15 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Lars \"musselasse\" Carlsson för översättning till svenska"
 
@@ -78,7 +75,7 @@ msgid "Special thanks:"
 msgstr "Speciellt tack till:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -86,14 +83,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
-#: AboutDialog.cpp:468
+#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Build Information"
 
-#: AboutDialog.cpp:305
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:305 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "PÃ¥"
 
@@ -106,33 +100,27 @@ msgid "File Format Support"
 msgstr "Filformat support"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:326 AboutDialog.cpp:328
 msgid "MP3 Importing"
 msgstr "MP3 Importerar"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:335 AboutDialog.cpp:338
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ogg Vorbis importera och exportera"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:342 AboutDialog.cpp:345
 msgid "ID3 tag support"
 msgstr "ID3 tag support"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:352 AboutDialog.cpp:355
 msgid "FLAC import and export"
 msgstr "FLAC importera och exportera"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:360 AboutDialog.cpp:363
 msgid "MP2 export"
 msgstr "MP2 exportera"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:368 AboutDialog.cpp:371
 msgid "Import via QuickTime"
 msgstr "Importera via QuickTime"
 
@@ -141,15 +129,12 @@ msgstr "Importera via QuickTime"
 msgid "Core Libraries"
 msgstr "Core Libraries"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
 #: AboutDialog.cpp:392
 msgid "Sample rate conversion"
 msgstr "Samplingsfrekvens konvertering"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:397 AboutDialog.cpp:400
 msgid "Audio playback and recording"
 msgstr "LJud uppspelning och inspelning"
 
@@ -157,24 +142,17 @@ msgstr "LJud uppspelning och inspelning"
 msgid "Features"
 msgstr "Innehåll"
 
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:420
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:428
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:436
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:444
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Plug-in support"
 
-#: AboutDialog.cpp:449
-#: AboutDialog.cpp:452
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Ljudkort mixer support"
 
-#: AboutDialog.cpp:457
-#: AboutDialog.cpp:460
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Tonhöjd och tempoändring support"
 
@@ -182,8 +160,7 @@ msgstr "Tonhöjd och tempoändring support"
 msgid "Program build date: "
 msgstr "Programmet skapat den:"
 
-#: AboutDialog.cpp:475
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Build type:"
 
@@ -208,16 +185,12 @@ msgstr "Inställningar mapp:"
 msgid "GPL License"
 msgstr "GPL licens"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:468 Project.cpp:1761
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s är redan öppnad i ett annat fönster"
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
+#: AudacityApp.cpp:470 Project.cpp:1763 Project.cpp:1868 Project.cpp:2012
 #: Project.cpp:2114
 msgid "Error opening project"
 msgstr "Fel när projektet öppnades"
@@ -243,20 +216,28 @@ msgstr "Input mätare"
 msgid "Output Meter"
 msgstr "Output mätare"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Inställningar...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Ny"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Öppna..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:751 Menus.cpp:478
+msgid "&Preferences..."
+msgstr "&Inställningar..."
+
+#: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Använder blockstorlek %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:855 AudacityApp.cpp:925
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Okänd command line option: %s\n"
@@ -368,18 +349,16 @@ msgstr "Fel:"
 msgid "Error Initializing Audio"
 msgstr "Fel vid start av ljud"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "Latency problem"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "Inställningarna för latency har orsakat att det inspelade ljudet är gömt\n"
-"innan noll. Audacity har flyttat början på ljudet till noll.\n"
-"Du kanske måste använda Time Shift-verktyget (<---> eller F5) för att dra det till rätt plats. "
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Automatiskt återskapande vid krasch"
@@ -394,8 +373,7 @@ msgstr "Några projekt blev inte sparade rätt förra gången Audacity kördes.\
 msgid "Recoverable projects"
 msgstr "Projekt möjliga att återskapa"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 msgid "Name"
 msgstr "Namn"
 
@@ -425,38 +403,25 @@ msgstr "Är du säker på att du inte vill återkspa några projekt?\n"
 msgid "Confirm?"
 msgstr "Bekräfta?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Kunde inte räkna upp filerna i autosparmappen"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2575 Menus.cpp:4514
+#: Project.cpp:1971 Project.cpp:3343 Project.cpp:3422 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1689 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:846
 msgid "Error"
 msgstr "Fel"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Välj kommando"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Kommando"
@@ -465,8 +430,7 @@ msgstr "&Kommando"
 msgid "&Edit Parameters"
 msgstr "&Ändra parametrar"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Parametrar"
 
@@ -512,8 +476,7 @@ msgstr "Lägg till %s med parameter(s)\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Test läge"
 
@@ -522,8 +485,7 @@ msgstr "Test läge"
 msgid "Apply %s"
 msgstr "Lägg till %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Lägg till kedja"
@@ -548,24 +510,15 @@ msgstr "Lägg till nuvarande &projekt"
 msgid "Apply to &Files..."
 msgstr "Lägg till &filer..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&Avbryt"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Ingen kedja vald"
 
@@ -602,8 +555,7 @@ msgstr "Lägger till..."
 msgid "File"
 msgstr "Arkiv"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Ändra kedjor"
@@ -612,19 +564,12 @@ msgstr "Ändra kedjor"
 msgid "&Chains"
 msgstr "&Kedjor"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "&Addera"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4201
 msgid "&Remove"
 msgstr "&Radera"
 
@@ -638,8 +583,8 @@ msgstr "K&edja (dubbelklicka eller tryck mellanslag för att ändra)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Nej"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -728,8 +673,7 @@ msgstr "Diskutrymme"
 msgid "Copy Selected Audio Into Project"
 msgstr "Kopiera vält ljud till projekt"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Avbryt spara"
 
@@ -741,8 +685,7 @@ msgstr "Kopiera inte ljud"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Kopiera allt ljud till projekt (säkrare)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Fråga mig"
 
@@ -776,9 +719,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Varning: För lite utrymme kvar i denna katalog.\n"
 " Välj annat utrymme för de temporära filerna i Inställningar."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Progress"
 
@@ -831,8 +772,7 @@ msgstr "Kan ej namnändra '%s' till '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Undersöker data i projektfil..."
 
@@ -883,14 +823,9 @@ msgstr "Fortsätt utan att radera, arbeta tyst kring extra filer"
 msgid "Close project immediately with no changes"
 msgstr "Stäng projekt omedelbart utan ändringar"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:490 export/Export.cpp:507
+#: export/Export.cpp:526 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Varning"
 
@@ -913,14 +848,11 @@ msgstr "Project check detected %d input file[s] being used in place\n"
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Ersätt saknad data med tystnad [permanent vid sparande]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Ersätt temporärt saknad data med tystnad [gäller bara denna inspelning]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Stäng omedelbart projekt utan ytterligare ändringar"
 
@@ -990,11 +922,11 @@ msgstr "Fyrkant"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1050,11 +982,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1077,8 +1010,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Frekvens analys"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:140 TrackPanel.cpp:563
 msgid "Spectrum"
 msgstr "Spektrum"
 
@@ -1104,8 +1036,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Algorithm:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Storlek"
 
@@ -1130,10 +1061,7 @@ msgstr "Log frekvens"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
 msgstr "&Exportera..."
 
@@ -1141,44 +1069,53 @@ msgstr "&Exportera..."
 msgid "Export"
 msgstr "Exportera"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Stäng"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1109 effects/Equalization.cpp:1111
+#: effects/Equalization.cpp:1119 effects/Equalization.cpp:1185
+#: effects/Equalization.cpp:1394 effects/Equalization.cpp:1405
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:380
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1150
+#: effects/Equalization.cpp:1181 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "För att rita upp ett spektrum måste alla valda spår ha samma samplingsfrekvens."
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "För mycket ljud är valt. Bara de första %.1f sekunderna av ljud blir analyserade."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Inte tillräckligt mycket data valt."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1200,12 +1137,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Exportera spektraldata som:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1079 LabelDialog.cpp:599 Menus.cpp:2207 Project.cpp:2441
+#: Project.cpp:3395 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Kunde inte skriva till fil:"
 
@@ -1217,6 +1150,21 @@ msgstr "Frekvens (Hz)\tNivå (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Lag (sekunder)\tFrekvens (Hz)\tNivå"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Till [[welcome|Välkomstsidan]]"
@@ -1294,7 +1242,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>För att spela in:</b> Ställ in inspelningsenhet och input källa, justera inspelningsnivån, tryck sedan på Röd knapp.</b></p></p> 1)[[inputdevice|Välj inspelningsenhet]] antingen i <i>Ljud In/Ut fliken i Inställningar</i> eller i <i>Enhetspanel</i>. I Ljud In/Ut-fliken kan du välja stereoinspelning.<br> 2) [[inputsource|Välj inputkälla]] för rätt enhet (ex. mikrofon eller line-in) i rullgardinsmenyn  för <i>Mixerpanel</i>, eller (på vissa system) på Inspelningsenhet i <i>Ljud In/Ut-flik i Inställningar</i> eller i <i>Enhetspanel</i>.<br> 3) [[inputlevel|Justera inputnivån]] med hjälp av reglaget på  <i>Mixerpanelr</i>. Ställ alltid in rätt nivå innan inspelningen för att undvika brus eller distorsion. </p><p> Mer hjälp hittar du på: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, vår lathund <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>Inputenheten är det aktuella fysiska ljudkortet som du spelar in med. Det är valt vid \"Inspelning Enhet\" i <i>Ljud In/Ut-menyn i Inställningar</i>, På Windows och Linux, Inställningar hittar du längst ner på <i>Redigerat</i> -menyn. På en Mac, finns det i <i>Audacity</i> menyn. Du kan alltså bekvämt välja inspelningsenhet i <i>Enhetspanel</i>, som du visar under  <i>Visa &gt; Paneler...</i>. </p><p> Grundinställningen är att Audacity anvder det ljudenhet som systemet använder, (vanligtvis ditt inbyggda ljudkort), så oftast är det inte aktuellt att byta ljudenhet. På Windows, den nuvarande enheten kan väljas som \"Microsoft Sound Mapper\". Om du spelar in från en extern USB eller firewireenhet ex. som en USB-skivspelare, välj då enhetens namn som inspelningsenhet efter att du anslutet det. </p><p> Tillbaka till [[record|Spela in ljud]] <br></p>"
 
 #: HelpText.cpp:244
@@ -1318,7 +1267,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "För att kunna lyssna på ditt arbete i andra mediaprogram, exportera det som en ljudfil som WAV eller MP3 (vissa format är [[wma-proprietary|inte supportade]]). [[save|Spara som Audacityprojekt]] skapar en projektfil (med tillhörande _data-mapp) innehållande alla dina redigerade spår, så du kan återvända och fortsätta arbetet senare. Lägg märke till att andra program inte kan läsa Audacity-projektfiler. </p><p> För att exportera, klicka på <i>Arkiv &gt; Exportera</i> välj sedan det filformat du vill exportera i \"Filformat\" menyn. För att [[burncd|bränn en CD]] för externa CD-spelare, välj WAV eller AIFF. För att exportera som MP3,  [[wiki:Lame_Installation|Lame Encoder]] måste vara installerad. </p><p> <i>Arkiv &gt; Exportera markering</i> exporterar bara en markerad yta av ljudspåret. <i>Välj Arkiv &gt; Exportera till flera ljudfiler</i> för att exportera flera ljudfiler på samma gång, antingen en för varje ljudspår, eller en för varje etikett i ljudspåret. <i>Spår &gt; Lägg till etikett vid markering</i> låter dig [[wiki:Splitting_recordings_into_separate_tracks|dela spåren]] från ett skivalbum för att exporteras som separata ljudfiler. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>Audacity <b>kan inte</b> [[play|spela upp]] eller [[export|exportera]] filer i <b>WMA, RealAudio, Shorten (SHN)</b> eller de flesta licensierade format, på grund av licenser och patent.  På en Mac-dator, ickeskyddade <b>AAC</b> format som <b>M4A</b> kan importeras. Några öppna format supportas inte än inklusive <b>Ogg Speex</b> och <b>Musepack</b>. Ljudfiler skyddade med Digital Rights Management (DRM), inklusive filer köpta online från exempelvis Tunes eller Napster, <b>kan inte</b> importeras.</p><p> Om du inte kan importera din fil i Audacity, och den inte är DRM-skyddad, använd iTunes eller <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> för att konvertera den till WAV eller AIFF. Om den är skyddad, bränn den på en ljud-CD i ett program som är licensierad att spela den, extrahera CD-spåret till WAV eller AIFF med ITunes eller (på Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> eller Windows Media Player 11. Du kan också <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">spela in</a> din CD på datorn. <i>För att exportera till en ickesupportat format, exportera till WAV eller AIFF och konvertera till önskat format med iTunes eller <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1353,15 +1303,9 @@ msgstr "Nivåer att radera"
 msgid "&Discard"
 msgstr "&Kassera"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:398
 msgid "&OK"
 msgstr "&OK"
 
@@ -1369,8 +1313,7 @@ msgstr "&OK"
 msgid "Unable to determine"
 msgstr "Kunde inte fastställa"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:195 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "bitar"
 
@@ -1386,13 +1329,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Spår"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:53 Menus.cpp:4057 Menus.cpp:4085
 msgid "Label"
 msgstr "Etikett"
 
@@ -1404,8 +1353,7 @@ msgstr "Starttid"
 msgid "End Time"
 msgstr "Slut tid"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:98 Menus.cpp:627
 msgid "&Edit Labels"
 msgstr "&Redigera etiketter"
 
@@ -1421,8 +1369,7 @@ msgstr "Infoga &Efter"
 msgid "Insert &Before"
 msgstr "Infoga &före"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:127 Menus.cpp:194
 msgid "&Import..."
 msgstr "&Importera..."
 
@@ -1444,20 +1391,15 @@ msgstr "Du har kvar etiketter utan namn.Dessa kommer inte att\n"
 msgid "Confirm"
 msgstr "Bekräfta"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:514 Menus.cpp:3555
 msgid "Select a text file containing labels..."
 msgstr "Välj en textfil som innehåller etiketter..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:518 Menus.cpp:3559
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Text filer (*.txt)|*.txt|Alla filer (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
+#: LabelDialog.cpp:532 Menus.cpp:3571 Project.cpp:1831 Project.cpp:1839
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Det gick inte att öppna fil:"
@@ -1466,13 +1408,11 @@ msgstr "Det gick inte att öppna fil:"
 msgid "No labels to export."
 msgstr "Inga etiketter att expoertera."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:564 Menus.cpp:2172
 msgid "Export Labels As:"
 msgstr "Exportera etiketter som:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:566 Menus.cpp:2170
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1484,10 +1424,7 @@ msgstr "Nytt etikettspår"
 msgid "Enter track name"
 msgstr "Ändra namn på spår"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:555
 msgid "&Label Track"
 msgstr "&Etikettspår"
 
@@ -1514,24 +1451,15 @@ msgstr "Öppnar Audacity projekt"
 msgid "&File"
 msgstr "&Arkiv"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Ny\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Öppna...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Stäng\tCtrl+W"
+msgid "&Close"
+msgstr "&Stäng"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Spara projekt\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Spara projekt"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
 msgstr "Spara projekt &som..."
 
@@ -1552,8 +1480,8 @@ msgid "&Import"
 msgstr "&Importera"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Ljud...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Ljud..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1567,8 +1495,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "R&Ã¥data..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:210 Menus.cpp:239
 msgid "Expo&rt Selection..."
 msgstr "Expo&rtera markering..."
 
@@ -1584,12 +1511,11 @@ msgstr "Exportera &till flera ljudfiler..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "Clean Speech k&edja..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "Läg&g till kedja..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
 msgstr "&Redigera kedjor..."
 
@@ -1601,10 +1527,6 @@ msgstr "Exportera CleanSpeech & inställningar..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "I&mportera CleanSpeech inställningar..."
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "Läg&g till kedja..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "&Ladda upp fil..."
@@ -1618,75 +1540,72 @@ msgid "&Print..."
 msgstr "&Skriv ut..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "A&vsluta\tCtrl+Q"
+msgid "E&xit"
+msgstr "A&vsluta"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Redigera"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Ã…ngra\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Ã…ngra"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Gör om"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "Kl&ipp ut\tCtrl+X"
+msgid "Cu&t"
+msgstr "Kl&ipp ut"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Del&a Klipp ut\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Del&a Klipp ut"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopiera\tCtrl+C"
+msgid "&Copy"
+msgstr "&Kopiera"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "&Klistra in\tCtrl+V"
+msgid "&Paste"
+msgstr "&Klistra in"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Beskär\tCtrl+T"
+msgid "Tri&m"
+msgstr "Beskär"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Radera\tCtrl+K"
+msgid "&Delete"
+msgstr "&Radera"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Delning r&adera\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Delning r&adera"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "De&la\tCtrl+I"
+msgid "Sp&lit"
+msgstr "De&la"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Dela ny&tt\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Dela ny&tt"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "&Sammanfoga ett spår\tCtrl+J"
+msgid "&Join"
+msgstr "&Sammanfoga ett spår"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Duplic&era\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Duplic&era"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1698,80 +1617,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Klipp ut\tAlt+X"
+msgid "&Cut"
+msgstr "&Klipp ut"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Dela Klipp ut\tCtrl+Alt+X"
+msgid "&Split Cut"
+msgstr "&Dela Klipp ut"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ko&piera\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "&Radera\tAlt+K"
+msgid "Co&py"
+msgstr "Ko&piera"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "De&la radera\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "De&la radera"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Tyst&nad\tAlt+L"
+msgid "Sile&nce"
+msgstr "Tyst&nad"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Del&a\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "&Sammanfoga\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Del&a"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "&Markera allt\tCtrl+A"
+msgid "&All"
+msgstr "&Markera allt"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Avmarkera\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Avmarkera"
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "&Vänster vid uppspelningsposiition\t["
+msgid "&Left at Playback Position"
+msgstr "&Vänster vid uppspelningsposiition"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "&Höger vid uppspelningsposition\t]"
+msgid "&Right at Playback Position"
+msgstr "&Höger vid uppspelningsposition"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Från &början till markör\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "Från &början till markör"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Från markör till &slutet\tShift+K"
+msgid "Cursor to Track &End"
+msgstr "Från markör till &slutet"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Sök &nollgräns\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Sök &nollgräns"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1786,12 +1690,12 @@ msgid "to Selection En&d"
 msgstr "till markeringens slu&t"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "till början av &spår\tJ"
+msgid "to Track &Start"
+msgstr "till början av &spår"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "till slutet av &spår\tK"
+msgid "to Track &End"
+msgstr "till slutet av &spår"
 
 #: Menus.cpp:450
 msgid "Re&gion Save"
@@ -1813,29 +1717,8 @@ msgstr "&LÃ¥s"
 msgid "&Unlock"
 msgstr "&LÃ¥s upp"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Fäst mot - på"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Fäst mot - av"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Fäst mot rutnät på"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Fäst mot rutnät av"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1843,36 +1726,36 @@ msgid "&View"
 msgstr "&Visa"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "Zoom &in\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Zoom &in"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Zoom &normalt\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Zoom &normalt"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Zoom &ut\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Zoom &ut"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Anpassa till fönster\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Anpassa till fönster"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Anpassa &vertikalt\tCtrl-Shift+F"
+msgid "Fit &Vertically"
+msgstr "Anpassa &vertikalt"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Zoom markering\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Zoom markering"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Minimera alla spår\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Minimera alla spår"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "E&xpandera alla spår\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "E&xpandera alla spår"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1932,40 +1815,40 @@ msgstr "!Förenklad visning"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Spela"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Gå till början\tHome"
+msgid "Skip to Start"
+msgstr "Gå till början"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "GÃ¥ till slut\tEnd"
+msgid "Skip to End"
+msgstr "GÃ¥ till slut"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -1993,15 +1876,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Ljudspår\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Ljudspår"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
 msgstr "&Stereospår"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:556 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "&Tidspår"
 
@@ -2010,8 +1892,8 @@ msgid "Mi&x and Render"
 msgstr "Mi&xa och förändra"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Mixa och rendera till nytt spår\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Mixa och rendera till nytt spår"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -2022,12 +1904,12 @@ msgid "Remo&ve Tracks"
 msgstr "Rade&ra spår"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Tysta alla spår\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "&Tysta alla spår"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Ljud på alla spår\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "&Ljud på alla spår"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -2073,17 +1955,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Lägg &till etikett vid markering\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Lägg till etikett vid &markörens position vid uppspelning\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Lägg till etikett vid &markörens position vid uppspelning"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2109,20 +1991,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Effe&kt"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Använd senaste effekt\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "&Analys"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "Plot Spektrum..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:737 Menus.cpp:740
 msgid "&Help"
 msgstr "&Hjälp"
 
@@ -2134,9 +2015,9 @@ msgstr "&Om Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "&Visa välkomstmeddelande"
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "&Index..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2154,181 +2035,149 @@ msgstr "&Kör hastighetstest..."
 msgid "&Audio Device Info..."
 msgstr "&Ljudenhet Info..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Markeringsverktyg\tF1"
+msgid "Selection Tool"
+msgstr "Markeringsverktyg"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Envelopeverktyg\tF2"
+msgid "Envelope Tool"
+msgstr "Envelopeverktyg"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Ritverktyg\tF3"
+msgid "Draw Tool"
+msgstr "Ritverktyg"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Zoomverktyg\tF4"
+msgid "Zoom Tool"
+msgstr "Zoomverktyg"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Time Shift verktyg\tF5"
+msgid "Time Shift Tool"
+msgstr "Time Shift verktyg"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Multiverktyg\tF6"
+msgid "Multi Tool"
+msgstr "Multiverktyg"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Nästa verktyg\tD"
+msgid "Next Tool"
+msgstr "Nästa verktyg"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Föregående verktyg\tA"
+msgid "Previous Tool"
+msgstr "Föregående verktyg"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Stopp\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Paus\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Inspelning\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "Inspelning lägg till\tShift+R"
-
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Spela/Stoppa och placera markör\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Spela/Stoppa och placera markör"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Spela En sekund\t1"
+msgid "Play One Second"
+msgstr "Spela En sekund"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Spela till markering\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Spela loop\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Spela till markering"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Spela Klipp förhandsgranska\tC"
+msgid "Play Cut Preview"
+msgstr "Spela Klipp förhandsgranska"
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Markering till början\tShift+Home"
+msgid "Selection to Start"
+msgstr "Markering till början"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Markering till slut\tShift+End"
+msgid "Selection to End"
+msgstr "Markering till slut"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "RaderaTangent\tBacksteg"
+msgid "DeleteKey"
+msgstr "RaderaTangent"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "RaderaTangent2\tDelete"
+msgid "DeleteKey2"
+msgstr "RaderaTangent2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Sök vänster kortperiod under uppspelning\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Sök höger kortperiod under uppspelning\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Sök vänster långperiod under uppspelning\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Sök höger långperiod under uppspelning\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Flytta fokus till föregående spår\tUpp"
+msgid "Move Focus to Previous Track"
+msgstr "Flytta fokus till föregående spår"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Flytta fokus till föregående och ändra markering\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Flytta fokus till nästa spår\tNer"
+msgid "Move Focus to Next Track"
+msgstr "Flytta fokus till nästa spår"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Flyta fokus till nästa och ändra markering\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Växla aktuellt spår\tReturn"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Växla aktuellt spår\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Växla aktuellt spår"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Markör vänster\tvänster"
+msgid "Cursor Left"
+msgstr "Markör vänster"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "markör höger\thöger"
+msgid "Cursor Right"
+msgstr "markör höger"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Markör kort hopp vänster\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Markör kort hopp vänster"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "markör kort hopp höger\t."
+msgid "Cursor Short Jump Right"
+msgstr "markör kort hopp höger"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Markör långt hopp vänster\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Markör långt hopp vänster"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "markör långt hopp höger\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "markör långt hopp höger"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Markering öka vänster\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Markering öka vänster"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Markering öka höger\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Markering öka höger"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2339,52 +2188,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Ställ (eller utöka) höger markeringsgräns"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Markering minska vänster\tCtrl+Shift+Höger"
+msgid "Selection Contract Left"
+msgstr "Markering minska vänster"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Markering minska höger\tCtrl+Shift+Vänster"
+msgid "Selection Contract Right"
+msgstr "Markering minska höger"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Ändra panorering på fokuserat spår\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Ändra panorering på fokuserat spår"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Panorera vänster vid fokuserat spår\tAlt+Shift+Vänster"
+msgid "Pan left on focused track"
+msgstr "Panorera vänster vid fokuserat spår"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Panorera höger vid fokuserat spår\tAlt+Shift+Höger"
+msgid "Pan right on focused track"
+msgstr "Panorera höger vid fokuserat spår"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Ändra volym på fokuserat spår\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Ändra volym på fokuserat spår"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Öka volym på fokuserat spår\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Öka volym på fokuserat spår"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Minska volymen på fokuserat spår\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Minska volymen på fokuserat spår"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Öppna menyn vid fokuserat spår\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Öppna menyn vid fokuserat spår"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Stäng av/sätt på fokuserat spår\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Stäng av/sätt på fokuserat spår"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Sätt på/stäng av fokuserat spår\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Sätt på/stäng av fokuserat spår"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Stäng fokuserat spår\tShift+C"
+msgid "Close focused track"
+msgstr "Stäng fokuserat spår"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2395,7 +2244,35 @@ msgid "Snap To Off"
 msgstr "Fäst mot Av"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2456,8 +2333,8 @@ msgstr "Var vänlig välj ett spår först."
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Repetera %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Repetera %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2488,9 +2365,7 @@ msgstr "Det finns inget att ångra"
 msgid "Nothing to redo"
 msgstr "Det finns inget att göra om"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2366 TrackPanel.cpp:605 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Klipp ut"
 
@@ -2506,10 +2381,7 @@ msgstr "Delning Klipp ut"
 msgid "Split-cut to the clipboard"
 msgstr "Delning-klipp ut till urklipp"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
+#: Menus.cpp:2469 Menus.cpp:2540 Menus.cpp:2634 TrackPanel.cpp:607
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Klistra in"
@@ -2518,8 +2390,7 @@ msgstr "Klistra in"
 msgid "Pasted text from the clipboard"
 msgstr "Klistrade in text från urklipp"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:2540 Menus.cpp:2634
 msgid "Pasted from the clipboard"
 msgstr "Klistrade in från urklipp"
 
@@ -2531,8 +2402,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Att kopiera stereoljud till monospår är inte tillåtet."
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2670 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Beskär"
 
@@ -2572,8 +2442,7 @@ msgstr "Sammanfoga"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Valda tysta spår till %.2f sekunder vid %.2f"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2771 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Tystnad"
 
@@ -2657,8 +2526,7 @@ msgstr "Ta isär etiketter"
 msgid "Disjoined labeled regions"
 msgstr "Isärtagna regioner med etiketter"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:2947 TrackPanel.cpp:6121
 msgid "Split"
 msgstr "Dela"
 
@@ -2674,15 +2542,6 @@ msgstr "Dela till nytt spår"
 msgid "Split at labels"
 msgstr "Dela vid etiketter"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "För att rita upp ett spektrum måste alla valda spår ha samma samplingsfrekvens."
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "För mycket ljud är valt. Bara de första %.1f sekunderna av ljud blir analyserade."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2721,8 +2580,7 @@ msgstr "Alla filer (*.*)|*.*"
 msgid "Edit the metadata tags"
 msgstr "Redigera metadata taggar"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:3669 export/Export.cpp:298
 msgid "Edit Metadata"
 msgstr "Redigera metadata"
 
@@ -2749,8 +2607,7 @@ msgstr "Mixa och förändra %d spår in i ett nytt stereospår"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Mixa och förändra %d spår in i ett nytt monospår"
 
-#: Menus.cpp:3736
-#: Mix.cpp:120
+#: Menus.cpp:3736 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Mixa och förändra"
 
@@ -2802,10 +2659,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Skapat nytt ljudspår"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:3950 Menus.cpp:3973 Menus.cpp:3988 Menus.cpp:4008
 msgid "New Track"
 msgstr "Nytt spår"
 
@@ -2841,8 +2695,7 @@ msgstr "Spara CleanSpeech defaultfil som:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "CleanSpeech default (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4123 export/Export.cpp:515
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Tyvärr, sökvägens namn får ej innehålla mer än 256 bokstäver. "
 
@@ -2850,8 +2703,7 @@ msgstr "Tyvärr, sökvägens namn får ej innehålla mer än 256 bokstäver. "
 msgid "Problem encountered exporting presets."
 msgstr "Problem funna vid import av inställningar."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4170 export/Export.cpp:408
 msgid "Unable to export"
 msgstr "Kan inte exportera"
 
@@ -2863,9 +2715,7 @@ msgstr "Radera spår"
 msgid "Removed audio track(s)"
 msgstr "Raderade ljudspår"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:4508 Menus.cpp:4527 export/ExportMP3.cpp:1926
 msgid "Resample"
 msgstr "Ã…tersampla"
 
@@ -2890,8 +2740,7 @@ msgstr "Återsamplat spår"
 msgid "Resampled audio track(s)"
 msgstr "Återsamplade ljudspår"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Mix"
 
@@ -2911,6 +2760,10 @@ msgstr "Fel uppstod vid utskrift"
 msgid "Print"
 msgstr "Skriv ut"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "Huvudmix"
@@ -2924,14 +2777,11 @@ msgstr "Välkommen till Audacity version %s"
 msgid "(Recovered)"
 msgstr "(Ã…terskapad)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "Inspelning"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1482 TrackPanel.cpp:804
 msgid "Recorded Audio"
 msgstr "Inspelat ljud"
 
@@ -2958,9 +2808,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Spara ändringar?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Alla filer|*.*|Alla supportade filer|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2970,8 +2820,7 @@ msgstr "Välj en eller flera ljudfiler..."
 msgid "Audacity projects|*.aup|"
 msgstr "Audacity projekt|*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:1799 Project.cpp:2186
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -2993,13 +2842,22 @@ msgstr "Denna fil blev sparad av Audacity %s, en mycket\n"
 msgid "1.0 or earlier"
 msgstr "1.0 eller tidigare"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:1806 Project.cpp:2198
 msgid "Opening old project file"
 msgstr "Öppnar gammal projektfil"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "Fel när filen öppnades"
 
@@ -3034,8 +2892,7 @@ msgstr "Ã…terskapa"
 msgid "Project checker repaired file"
 msgstr "Projektkontroll har reparerat fil"
 
-#: Project.cpp:2001
-#: effects/Repair.h:29
+#: Project.cpp:2001 effects/Repair.h:29
 msgid "Repair"
 msgstr "Reparera"
 
@@ -3057,16 +2914,15 @@ msgstr "Denna fil är sparad i Audacity %s.\n"
 msgid "Can't open project file"
 msgstr "Det går inte att öppna projektfil"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "Denna fil blev sparad av Audacity %s.\n"
-"Du kan öppna denna fil med denna version av Audacity, men om du sparar den med denna version kan du inte längre öppna den i äldre versioner.\n"
-" \n"
-"Vill du öppna filen nu?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -3083,17 +2939,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "Fel när projekt skulle sparas"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3104,16 +2965,12 @@ msgstr "Sparat %s"
 msgid "Imported '%s'"
 msgstr "Importerat '%s'"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3649 Project.cpp:2587 Project.cpp:2612 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Importera"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:2639 Project.cpp:2647
 msgid "Error importing"
 msgstr "Fel vid import"
 
@@ -3156,8 +3013,7 @@ msgstr "Skapat nytt projekt"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Raderat %.2f sekunder vid t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
+#: Project.cpp:2859 effects/Equalization.cpp:1262
 #: effects/Equalization.cpp:2593
 msgid "Delete"
 msgstr "Radera"
@@ -3238,8 +3094,7 @@ msgstr "Libsamplerate av Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate fel: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Resampling av"
 
@@ -3258,6 +3113,163 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Välj..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "falskt"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Verktyg"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Kontroll"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Mixer"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Mätare"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Enhet"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Transkription"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "Spårpanel"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "Spår"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Sparad"
@@ -3266,14 +3278,15 @@ msgstr "Sparad"
 msgid "Error trying to save file: "
 msgstr "Fel när fil skulle sparas:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "HÃ¥l hittat i projektfil\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "För&handsvisa"
@@ -3314,8 +3327,7 @@ msgstr "Album titel"
 msgid "Track Number"
 msgstr "Spår nummer"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "Ã…r"
 
@@ -3323,9 +3335,7 @@ msgstr "Ã…r"
 msgid "Genre"
 msgstr "Genre"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Kommentarer"
 
@@ -3341,9 +3351,7 @@ msgstr "Tag namn"
 msgid "Tag Value"
 msgstr "Tag värde"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Rensa"
 
@@ -3359,71 +3367,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "Mall"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Öppna..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Spara..."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "G&ör grundinställning"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "Redigera genrer"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "Återställ genrer"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr "Det gick inte att spara genrefil."
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Är du säker på att du vill återställa genrelistan till grundinställningen?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr "Det gick inte att öppna genrefil."
 
@@ -3431,21 +3410,19 @@ msgstr "Det gick inte att öppna genrefil."
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "Fel vid laddande av metadata"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "Spara metadata som:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3478,8 +3455,7 @@ msgstr "Audacity kunde inte hitta fil:\n"
 "  %s.\n"
 "Tema gick inte att öppna."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3503,8 +3479,7 @@ msgstr "Ingen av de förväntade temafilerna\n"
 "kunde hittas.\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3527,12 +3502,8 @@ msgstr "Alla nödvändiga filer i:\n"
 "  %s\n"
 "finns redan."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:307 TimeDialog.cpp:53
+#: effects/Noise.cpp:235 effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
 msgid "Duration"
 msgstr "Varaktighet"
 
@@ -3540,6 +3511,14 @@ msgstr "Varaktighet"
 msgid "Audacity Timer Record"
 msgstr "Audacity Timerinspelning"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Inspelning start"
@@ -3578,40 +3557,23 @@ msgstr "Väntar på att börja spela in vid %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Spårpanel"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Andra..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:556 TrackPanel.cpp:580 TrackPanel.cpp:589 TrackPanel.cpp:597
 msgid "Name..."
 msgstr "Namn..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:558 TrackPanel.cpp:582 TrackPanel.cpp:593 TrackPanel.cpp:599
 msgid "Move Track Up"
 msgstr "Flytta spår upp"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:559 TrackPanel.cpp:583 TrackPanel.cpp:594 TrackPanel.cpp:600
 msgid "Move Track Down"
 msgstr "Flytta spår ner"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:561 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "VÃ¥gform"
 
@@ -3627,18 +3589,15 @@ msgstr "Spectrum log(f)"
 msgid "Pitch (EAC)"
 msgstr "Tonhöjd (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:569 TrackPanel.cpp:6091
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:570 TrackPanel.cpp:6090
 msgid "Left Channel"
 msgstr "Vänster kanal"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:571 TrackPanel.cpp:6090
 msgid "Right Channel"
 msgstr "Höger kanal"
 
@@ -3650,12 +3609,15 @@ msgstr "Skapa stereospår"
 msgid "Split Stereo Track"
 msgstr "Dela stereospår"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "Bestäm samplingsformat"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:577 TrackPanel.cpp:6320
 msgid "Set Rate"
 msgstr "Bestäm frekvens"
 
@@ -3675,8 +3637,7 @@ msgstr "Font"
 msgid "Set Range..."
 msgstr "Bestäm yta..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:606 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Kopiera"
 
@@ -3722,21 +3683,13 @@ msgstr "Klicka och drag för att flytta vänster markeringsposition"
 msgid "Click and drag to move right selection boundary."
 msgstr "Klicka och drag för att flytta höger markeringsposition."
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1702 TrackPanel.cpp:3993 TrackPanel.cpp:4025
+#: TrackPanel.cpp:4280 TrackPanel.cpp:6432 TrackPanel.cpp:6452
 msgid "Modified Label"
 msgstr "Ändrad etikett"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1703 TrackPanel.cpp:3994 TrackPanel.cpp:4026
+#: TrackPanel.cpp:4281 TrackPanel.cpp:6433 TrackPanel.cpp:6453
 msgid "Label Edit"
 msgstr "Etikett redigera"
 
@@ -3744,8 +3697,7 @@ msgstr "Etikett redigera"
 msgid "Adjusted envelope."
 msgstr "Inställd envelope"
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1931 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Envelope"
 
@@ -3767,9 +3719,7 @@ msgstr "höger"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Tidsändrat spår/klipp %s %.02f sekunder"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2092 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Time-Shift"
@@ -3808,39 +3758,29 @@ msgid "Moved pan slider"
 msgstr "Flyttat panoreringsreglage"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5726 TrackPanel.cpp:7149
 msgid "Gain"
 msgstr "Volym"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5664 TrackPanel.cpp:7156
 msgid "Pan"
 msgstr "Pan"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3610 TrackPanel.cpp:6385 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "upp"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3614 TrackPanel.cpp:6386 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "ner"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3621 TrackPanel.cpp:6381
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Flyttade '%s' %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3624 TrackPanel.cpp:6387
 msgid "Move Track"
 msgstr "Flytta spår"
 
@@ -3872,14 +3812,6 @@ msgstr "Inställd panorering"
 msgid "Adjusted gain"
 msgstr "Inställd signal"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "Kan inte radera spår med aktivt ljud"
@@ -3900,8 +3832,7 @@ msgstr "Vänster,"
 msgid "Right, "
 msgstr "Höger,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6100 TrackPanel.cpp:6225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Ändrat '%s' till %s"
@@ -3915,6 +3846,11 @@ msgstr "Kanal"
 msgid "Split stereo track '%s'"
 msgstr "Dela stereospår '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3941,8 +3877,7 @@ msgstr "Ändra format"
 msgid "Change lower speed limit (%) to:"
 msgstr "Ändra lägsta nivån på hastighet (%) till:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6350 TrackPanel.cpp:6351
 msgid "Lower speed limit"
 msgstr "Nedre hastighetsgräns"
 
@@ -3950,8 +3885,7 @@ msgstr "Nedre hastighetsgräns"
 msgid "Change upper speed limit (%) to:"
 msgstr "Ändra högsta nivån på hastighet (%) till:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6357 TrackPanel.cpp:6358
 msgid "Upper speed limit"
 msgstr "Övre hastighetsgräns"
 
@@ -3993,6 +3927,10 @@ msgstr "Face namn"
 msgid "Face size"
 msgstr "Stilstorlek"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "Tyst"
@@ -4026,10 +3964,7 @@ msgstr "Solo PÃ¥"
 msgid " Select On"
 msgstr "Välj På"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Markeringen är för liten för att använda voice key."
 
@@ -4056,8 +3991,7 @@ msgstr "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Ljudspår"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr "Det finns inte tillräcklig plats att klistra in markering"
 
@@ -4075,10 +4009,10 @@ msgstr "Plugins 1 till %i"
 msgid "Plugins %i to %i"
 msgstr "Plugins %i till %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Kan inte användas av någon anledning. Pröva att välja något ljud först?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4145,9 +4079,7 @@ msgstr "Ny peak amplitud (dB):"
 msgid "Allow clipping"
 msgstr "Tillåt klippning"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
 msgid "-Infinity"
 msgstr "-oändligt"
 
@@ -4163,9 +4095,7 @@ msgstr "Förstärkning"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Du har valt ett spår som inte innehåller ljud. Duckning kan bara bearbeta ljudspår."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Duckning"
@@ -4187,17 +4117,11 @@ msgid "Maximum pause:"
 msgstr "Max paus:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "sekunder"
 
@@ -4217,8 +4141,7 @@ msgstr "Inre tona ner längd:"
 msgid "Inner fade up length:"
 msgstr "Inre tona upp längd:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Tröskel:"
 
@@ -4238,12 +4161,9 @@ msgstr "Duckning..."
 msgid "Processing Auto Duck..."
 msgstr "Kör Duckning..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1042
+#: widgets/ErrorDialog.cpp:79 widgets/ErrorDialog.cpp:105
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "OK"
@@ -4307,14 +4227,12 @@ msgid "Change Pitch without Changing Tempo"
 msgstr "Ändra tonhöjd utan att ändra tempo"
 
 #. i18n-hint: && in here is an escape character to get a single & on
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "av Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "använder SoundTouch, by Olli Parviainen"
 
@@ -4363,10 +4281,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "till"
@@ -4375,8 +4291,7 @@ msgstr "till"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Procent ändring:"
@@ -4394,8 +4309,7 @@ msgstr "Ändra tonhöjd..."
 msgid "Changing Pitch"
 msgstr "Ändrar tonhöjd"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Använd effekt: %s %.1f%%"
@@ -4544,12 +4458,11 @@ msgstr "Decay Time: "
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Normalisera till 0dB efter komprimering"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Tröskel: %d dB"
@@ -4580,7 +4493,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Attack tid: %.1f secs"
@@ -4591,7 +4503,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Decay Time: %.1f secs"
@@ -4604,6 +4515,10 @@ msgstr "Kompressor..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "lägger till Dynamic Range Compression..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4623,19 +4538,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4644,15 +4546,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Start"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "Slut"
 
@@ -4672,6 +4571,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4696,8 +4600,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr "Återställ"
 
@@ -4717,16 +4620,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Kontroll"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4837,18 +4732,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "DTMF Tongenerator"
@@ -4861,9 +4744,7 @@ msgstr "av Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "DTMF sekvens:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:446 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "Amplitud (0-1)"
@@ -4884,9 +4765,7 @@ msgstr "Effekt serie:"
 msgid "Tone duration:"
 msgstr "Ton varaktighet:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
+#: effects/DtmfGen.cpp:482 effects/DtmfGen.cpp:484 effects/DtmfGen.cpp:560
 #: effects/DtmfGen.cpp:561
 msgid "ms"
 msgstr "ms"
@@ -4967,8 +4846,7 @@ msgstr "Cosinus"
 msgid "Cubic"
 msgstr "Cubic"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:362 effects/Equalization.cpp:412
 msgid "Equalization"
 msgstr "Equalization"
 
@@ -4980,6 +4858,10 @@ msgstr "Fel vid laddande av EQ kurva"
 msgid "custom"
 msgstr "egen inställning"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #: effects/Equalization.cpp:1087
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
@@ -5017,8 +4899,7 @@ msgstr "Filterlängd:"
 msgid "Select curve:"
 msgstr "Välj kurva:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
+#: effects/Equalization.cpp:1259 effects/Equalization.cpp:2498
 #: export/ExportMultiple.cpp:826
 msgid "Save As..."
 msgstr "Spara som..."
@@ -5135,8 +5016,7 @@ msgstr "Kraftigast"
 msgid "by Lynn Allan"
 msgstr "av Lynn Allan"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "Grad av utjämning"
 
@@ -5185,10 +5065,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Mixer"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5427,14 +5303,8 @@ msgstr "Raderar brus"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Tillämpad effekt: %s radera dc offset = %s, normalisera amplituden = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "falskt"
-
 #. i18n-hint: true here means that the option was
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "sant"
 
@@ -5492,8 +5362,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO frekvens (Hz)LFO frekvens (Hz)"
 
@@ -5501,8 +5370,7 @@ msgstr "LFO frekvens (Hz)LFO frekvens (Hz)"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO start läge (grad.):"
 
@@ -5563,8 +5431,7 @@ msgstr "Repeterat %d gånger"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Spår är för långa för att kunna repetera markeringen."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Repetera"
 
@@ -5577,8 +5444,7 @@ msgstr "Antal gånger att upprepas:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Ny markeringslängd:"
 
@@ -5650,9 +5516,7 @@ msgstr "Spike Cleaner..."
 msgid "Applying Spike Cleaner..."
 msgstr "Kör Spike Cleaner..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
-#: effects/StereoToMono.h:23
+#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "&Stereo till mono"
 
@@ -5709,8 +5573,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "Använd effekt: Skapa %s wave %s, frekvens = %.2f Hz, amplitude = %.2f, %.6lf sekunder"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:75 widgets/Meter.cpp:379
 msgid "Linear"
 msgstr "Linjär"
 
@@ -5742,8 +5605,7 @@ msgstr "SÃ¥gtand"
 msgid "Square, no alias"
 msgstr "Fyrkant, inget alias"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "Frekvens (Hz)"
 
@@ -5791,28 +5653,43 @@ msgstr "Skapar ton"
 msgid "All tracks must have the same sample rate"
 msgstr "Alla spår måste ha samma samplingsfrekvens"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Skapa tystnad"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Max tystnad varaktighet:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "millisekunder"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Max tystnad varaktighet:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Tröskel för tystnad:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Varaktighet måste varaq minst 1 millisekund"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5822,17 +5699,55 @@ msgstr "Skapa tystnad..."
 msgid "Truncating Silence..."
 msgstr "Skapar tystnad..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Tyvärr, VST Effects kan inte användas på stereospår när de enskilda kanalerna i spåret inte passar."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Effekt inställningar"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Inget"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Kan inte utföra ersättning"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "VST Plug-in parametrar:"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5881,22 +5796,10 @@ msgstr "Skapar Effect: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Tyvärr, VST Effects kan inte användas på stereospår när de enskilda kanalerna i spåret inte passar."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Inget"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Författare:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Effekt inställningar"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Längd (sekunder)"
@@ -5917,8 +5820,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Lägger till Nyquist effekt"
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Nyquist Prompt..."
 
@@ -5938,8 +5840,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Nyquist Output"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:598 effects/nyquist/Nyquist.cpp:609
 msgid "Nyquist returned the value:"
 msgstr "Nyquist sände tillbaka värdet:"
 
@@ -6047,8 +5948,7 @@ msgstr "- Höger"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:976 export/Export.cpp:1021
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Output kanaler: %2d"
@@ -6078,8 +5978,7 @@ msgstr "Data kommer att matas på för att passa in. \"%f\" blir ersatt med valt
 msgid "(external program)"
 msgstr "(externt program)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:250 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Kan ej exportera ljud till %s"
@@ -6096,9 +5995,21 @@ msgstr "Exporter hela projektet med hjälp av command-line encoder"
 msgid "Command Output"
 msgstr "Kommando output"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6166,6 +6077,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Kvalité:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6299,12 +6214,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Kvalité:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6323,10 +6234,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6515,12 +6426,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6631,6 +6542,17 @@ msgstr "Bit djup:"
 msgid "FLAC Files"
 msgstr "FLAC Filer"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Exporterar valt ljud som FLAC"
@@ -6655,9 +6577,7 @@ msgstr "MP2 filer"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Kan inte exportera MP2 med denna samplingsfrekvens och bit rate"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:240 export/ExportMP3.cpp:1768 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "Det gick inte att öppna önskad fil för att spara"
 
@@ -6671,9 +6591,7 @@ msgstr "Exporterar valt ljud vid %d kbps"
 msgid "Exporting entire file at %d kbps"
 msgstr "Exportera hela filen vid %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "kbps"
 
@@ -6689,9 +6607,7 @@ msgstr "(Mindre filer)"
 msgid "Fast"
 msgstr "Snabb"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "Standard"
@@ -6736,8 +6652,7 @@ msgstr "Medelvärde"
 msgid "Constant"
 msgstr "Konstant"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Kvalité"
@@ -6858,10 +6773,8 @@ msgstr "Kombinationen av projektets samplingsfrekvens (%d) och bit rate (%d kbps
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:95 export/ExportMultiple.cpp:374
+#: export/ExportMultiple.cpp:598 export/ExportMultiple.cpp:765
 msgid "Export Multiple"
 msgstr "Multipel export"
 
@@ -6891,11 +6804,6 @@ msgstr "Välj..."
 msgid "Export location:"
 msgstr "Export plats:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Välj..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "Skapa"
@@ -6920,10 +6828,6 @@ msgstr "Första filnamn:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Spår"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "Namn filer:"
@@ -6957,6 +6861,35 @@ msgstr "\"%s\" successfully created."
 msgid "Choose a location to save the exported files"
 msgstr "Välj en plats att spara exporterade filer"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6966,23 +6899,10 @@ msgstr "\"%s\" finns inte.\n"
 "\n"
 "Vill du skapa det?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
 msgid "Edit metadata"
 msgstr "Redigera metadata"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Export av %d fil(er) lyckades."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "NÃ¥got blev fel efter export av %d fil(er)"
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7151,7 +7071,6 @@ msgstr "\"%s\" är en avancerad ljudkodningsfil. \n"
 "Du behöver konvertera den till ett ljudformat som WAV eller AIFF."
 
 #: import/Import.cpp:271
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7255,6 +7174,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC filer"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Lista på filer i basic textformat"
@@ -7265,9 +7188,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Fönstret har fel startposition i LOF fil."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "LOF fel"
@@ -7323,8 +7244,7 @@ msgstr "Invalid Vorbis bitstream huvud"
 msgid "Internal logic fault"
 msgstr "Intert logiskt fel"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, och andra okomprimerade format"
 
@@ -7411,36 +7331,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Ljud in/ut"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Konvertera"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Uppförande"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "&Använd inte effekter i batchläge"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Playback"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Cl&eanSpeech läge (anpassat GUI)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Enhet"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Gränssnitt"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Använder:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Playback"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7450,100 +7375,15 @@ msgstr "Inspelning"
 msgid "Channels"
 msgstr "Kanaler"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Spela upp"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Hårdvarumässigt spela upp: Spela upp nytt spår samtidigt som man spelar in det"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Mjukvarumässigt spela upp: Spela upp nytt spår samtidigt som man spelar in det"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Effekter förhandsgranska"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Förhandsvisning längd:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Klipp förhandsgranska"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Förhandsgranska innan klipp av yta:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Förhandsgranska efter klipp av yta:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Latency"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Ljud till buffert:\n"
-"/högre= mer latency)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Latency korrigering:\n"
-"(negativt värde = bakåt)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Sök Tid under uppspelning"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Kort period:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "LÃ¥ng period:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Konvertera"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Uppförande"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "&Använd inte effekter i batchläge"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Cl&eanSpeech läge (anpassat GUI)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Kataloger"
@@ -7560,34 +7400,31 @@ msgstr "Plats:"
 msgid "Free Space:"
 msgstr "Ledigt utrymme:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Spara automatiskt"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Spara automatiskt en kopia av projektet i en separat mapp"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Spara automatiskt intervall:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "minuter"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Ljud cache"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Välj ett utrymme på hårddisken där den temporära katalogen kan placeras"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7606,230 +7443,145 @@ msgstr "Katalog %s är inte skrivbar"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Ändringar i den temporära katalogen kommer inte att få effekt förrän Audacity startas om."
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Importera / Exportera"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "MP3 Export bibliotek"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "MP3 bibliotek version:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "I webbläsaren"
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "MP3 bibliotek:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Från Internet"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3 bibliotek:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Ladda ner"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Obs! Val av ljudkvalité vid export kan väljas genom att klicka på knappen för Inställningar i Exportera-dialogrutan.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "När ljudfiler importeras"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&Skapa en kopia av okomprimerade ljudfiler innan redigering (säkrare)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&Läs okomprimerade ljudfiler direkt från originalet (snabbare)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Normalisera alla spår i projektet"
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "Att spara ett projekt tillsammans med andra ljudfiler"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "Kopiera &alltid allt ljud till projektet (säkrast)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "&Kopiera inget ljud"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (shallow range for high-amplitude editing)"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "/fråga användaren"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM range of 8 bit samples)"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "Medan spår exporteras till en ljudfil"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM range of 16 bit samples)"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Al&ltid mixa ner alla spår till stereo eller monokanaler."
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM range of 16 bit samples)"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "%Använd egen mix (exempelvis för att exportera en 5.1 multikanalfil)"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (ungefär gräns för mänsklig hörsel)"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "V&isa Metadata Editor främst för att exportera"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM range of 24 bit samples)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Gränssnitt"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Display"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "I webbläsaren"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Från Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Simple"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Uppdatera display medan ljud spelas upp"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "Hjälp:"
 
 #: prefs/GUIPrefs.cpp:96
 #, fuzzy
 msgid "Cl&osing last window quits Audacity"
 msgstr "Stänger sista fönstret innan Audacity avslutas"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Drar i &markeringens vänstra och högra kant"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Spår anpassade &vertikalt inzoomade"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"Flytta spår fokus\" &växla upprepande genom spåren"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Redigera ett &klipp kan flytta andra kliipp"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Välj allt ljud, om inget är valt"
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "&Ljud när längre aktiviteter avslutas"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Visa/Dölj"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Använd skärl&injer"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Visa varningar om &temporära filer"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Visa välkomstmeddelande vid programstart"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "Modes"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "VIsa minimiområde: meter och 'Vågform (dB)'"
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (shallow range for high-amplitude editing)"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "Importera / Exportera"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM range of 8 bit samples)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "När ljudfiler importeras"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (PCM range of 16 bit samples)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "&Skapa en kopia av okomprimerade ljudfiler innan redigering (säkrare)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM range of 16 bit samples)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Läs okomprimerade ljudfiler direkt från originalet (snabbare)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (ungefär gräns för mänsklig hörsel)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "&Normalisera alla spår i projektet"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM range of 24 bit samples)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "Medan spår exporteras till en ljudfil"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Standard Visaläge"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Al&ltid mixa ner alla spår till stereo eller monokanaler."
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Andra val av gränssnitt"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "%Använd egen mix (exempelvis för att exportera en 5.1 multikanalfil)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Hjälp:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "V&isa Metadata Editor främst för att exportera"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Solo knapp:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Tangentbord"
 
@@ -7853,22 +7605,26 @@ msgstr "B&estäm"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Obs: Tryck Cmd+Q för att sluta. Andra tangenter gäller som vanligt."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "&Grundinställningar"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Tangentkombination"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Exportera kortkommandon som:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Ã…ngra"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Fel när kortkommandon skulle sparas"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7878,6 +7634,14 @@ msgstr "Välj en XML-fil som innehåller Audacity kortkommandon..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Fel när kortkommandon importerades"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Exportera kortkommandon som:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Fel när kortkommandon skulle sparas"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7887,10 +7651,61 @@ msgstr "Kortkommandot '%s' är redan kopplat till:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Ã…ngra"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "MP3 Export bibliotek"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "MP3 bibliotek version:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "MP3 bibliotek:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3 bibliotek:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "&Ladda ner"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Ljud in/ut"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Spela upp"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7904,6 +7719,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Klipp förhandsgranska"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7912,6 +7731,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Latency"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7924,12 +7747,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Kort period:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "LÃ¥ng period:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Effekter förhandsgranska"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Mus"
 
@@ -7949,37 +7783,26 @@ msgstr "Command Action"
 msgid "Buttons"
 msgstr "Knappar"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Vänster klick"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Välj"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Bestäm markeringspunkt"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Vänster dra"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Bestäm markeringsyta"
 
@@ -8007,12 +7830,8 @@ msgstr "Ctrl-vänster-klick"
 msgid "Set Selection Point and Play"
 msgstr "Bestäm markeringspunkt och spela upp"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Zoom"
 
@@ -8020,9 +7839,7 @@ msgstr "Zoom"
 msgid "Zoom in on Point"
 msgstr "Zooma in punkt"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Zooma in yta"
 
@@ -8030,18 +7847,15 @@ msgstr "Zooma in yta"
 msgid "same as right-drag"
 msgstr "Samma som höger-dra"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Höger-klick"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Zooma ut ett steg"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Höger-dra"
 
@@ -8077,8 +7891,7 @@ msgstr "Shift-vänster-dra"
 msgid "Time shift all clips in track"
 msgstr "Time Shift alla klipp i spår"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-vänster-dra"
 
@@ -8094,9 +7907,7 @@ msgstr "Ändra envelope för förstärkning"
 msgid "Change Sample"
 msgstr "Ändra ljud"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Penna"
@@ -8117,26 +7928,20 @@ msgstr "Ändra flera ljud"
 msgid "Change ONE Sample only"
 msgstr "Ändra ETT ljud bara"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Multi"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "Samma som markeringsverktyg"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "Samma som zoomverktyg"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Valfri"
 
@@ -8164,10 +7969,62 @@ msgstr "Ctrl-mushjul-vrida"
 msgid "Zoom in or out"
 msgstr "Zooma in eller ut"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Förhandsvisning längd:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Förhandsgranska innan klipp av yta:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Förhandsgranska efter klipp av yta:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Sök Tid under uppspelning"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Audacity Inställningar"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "Att spara ett projekt tillsammans med andra ljudfiler"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "Kopiera &alltid allt ljud till projektet (säkrast)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "&Kopiera inget ljud"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "/fråga användaren"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Spara automatiskt"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Spara automatiskt en kopia av projektet i en separat mapp"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Spara automatiskt intervall:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "minuter"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Fyrkant"
@@ -8192,46 +8049,46 @@ msgstr "Standard samplingsrekvens:"
 msgid "Default Sample Format:"
 msgstr "Standard samplingsformat:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Real-time sample rate converter:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "High-quality sample rate converter:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Realtid dither:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Hög kvalite dither:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Konvertering"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Samplingsfrekvens konverterare"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Dither"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Realtid:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Hög kvalite:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Smart Inspelning"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Hårdvarumässigt spela upp: Spela upp nytt spår samtidigt som man spelar in det"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8241,23 +8098,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Spektrogram"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT Storlek"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - most wideband"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - default"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - most narrowband"
@@ -8266,21 +8158,26 @@ msgstr "32768 - most narrowband"
 msgid "4096 - most narrowband"
 msgstr "4096 - most narrowband"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Fönster sort:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "FFT Skip Points"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Display"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Gråskala"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8290,17 +8187,17 @@ msgstr "Min frekvens (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Max frekvens (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Hitta noter"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Kvanlisera noter"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8310,6 +8207,14 @@ msgstr "Minimum Amplitude (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "Max antal noter (1..128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Hitta noter"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Kvanlisera noter"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "Värdet på maxfrekvens måste vara ett heltal"
@@ -8326,20 +8231,70 @@ msgstr "Värdet på min-frekvens måste vara ett heltal"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Min frekvens måste vara minst 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Minimiamplituden (dB) måste vara ett heltal"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Maximalt antal noter måste vara ett heltal mellan 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Tema"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Info"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Tema är en experimentell specialité.\n"
+"\n"
+"För att testa, klicka på \"Spara tema cache\" och\n"
+"leta reda på och modifiera bilder och färger i\n"
+"ImageCacheVxx.png med en bildredigerare som\n"
+"exempelvis Gimp.\n"
+"\n"
+"Välj \"Ladda tema cache\" för att ladda de ändrade bilderna\n"
+"och färgerna tillbaka i Audacity.\n"
+"\n"
+"(Det är bara kontrollpanelen och färgerna i\n"
+"ljudspåret som för tillfället påverkas, även om\n"
+"bildfilen visar andra ikoner också.)"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #: prefs/ThemePrefs.cpp:93
 msgid "Theme Cache - Images && Color"
@@ -8369,100 +8324,97 @@ msgstr "Spara filer"
 msgid "Load Files"
 msgstr "Ladda filer"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Info"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Simple"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Tema är en experimentell specialité.\n"
-"\n"
-"För att testa, klicka på \"Spara tema cache\" och\n"
-"leta reda på och modifiera bilder och färger i\n"
-"ImageCacheVxx.png med en bildredigerare som\n"
-"exempelvis Gimp.\n"
-"\n"
-"Välj \"Ladda tema cache\" för att ladda de ändrade bilderna\n"
-"och färgerna tillbaka i Audacity.\n"
-"\n"
-"(Det är bara kontrollpanelen och färgerna i\n"
-"ljudspåret som för tillfället påverkas, även om\n"
-"bildfilen visar andra ikoner också.)\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Du har kompilerat Audacity med en extra knapp. \n"
-"'Output Sourcery'. En C version av image cache\n"
-"sparas som kan bli kompilerad som default.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Om 'Öppna Tema cache vid uppstart' är förbockad, \n"
-"Tema cache kommer att laddas när programmet \n"
-"startas.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "&Uppdatera display medan ljud spelas upp"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Vid spara och ladda indivuella temafiler används \n"
-"en separat fil för varje bild, men bygger ändå på \n"
-"samma idé.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Spår anpassade &vertikalt inzoomade"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Paus"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Standard Visaläge"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Spela"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "&Välj allt ljud, om inget är valt"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "Använd skärl&injer"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Drar i &markeringens vänstra och högra kant"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"Flytta spår fokus\" &växla upprepande genom spåren"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "Redigera ett &klipp kan flytta andra kliipp"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "Solo knapp:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Stopp"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Gå till början"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "GÃ¥ till slut"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "Paus"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "Stopp"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "Fel vid öppnande av ljudenhet."
 
@@ -8474,13 +8426,11 @@ msgstr "Inspelning i CleanSpeech-läge är inte möjlig när ett spår, eller me
 msgid "Recording not permitted"
 msgstr "Inspelning inte tillåten"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Output Enhet"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Input Enhet"
 
@@ -8504,29 +8454,21 @@ msgstr "Zoom in"
 msgid "Zoom Out"
 msgstr "Zoom ut"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Zoom växla"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Anpassa markering"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Anpassa markering till fönster"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Anpassa projekt"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Anpassa projekt till fönster"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Mätare"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Anpassa markering"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Anpassa projekt"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8574,22 +8516,27 @@ msgstr "Dragreglage-Input"
 msgid "Input Source"
 msgstr "Input källa"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Markering"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "Sampl.frekvens:"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "Markeringens början:"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "Längd"
 
@@ -8597,13 +8544,11 @@ msgstr "Längd"
 msgid "hidden"
 msgstr "Dold"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr "Ljud Position:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "Fäst mot"
 
@@ -8624,8 +8569,7 @@ msgstr "Markeringens slut"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity%s verktygspanel"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Verktygsdockning"
 
@@ -8657,34 +8601,6 @@ msgstr "Vänster=Zoom in, Höger=Zoom ut, Mitten=Normal"
 msgid "Click and drag to move a track in time"
 msgstr "Klicka och dra för att flytta ett spår i tid"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Verktyg"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Markeringsverktyg"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Envelopeverktyg"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Time Shift verktyg"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Zoomverktyg"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Ritverktyg"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Multiverktyg"
@@ -8693,24 +8609,11 @@ msgstr "Multiverktyg"
 msgid "Slide Tool"
 msgstr "Dragreglageverktyg"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Multiverktyg"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Transkription"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Spela vid vald hastighet"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Spela-på -hastighet"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Uppspelning hastighet"
 
@@ -8718,74 +8621,38 @@ msgstr "Uppspelning hastighet"
 msgid "Adjust left selection to next onset"
 msgstr "Justera vänster markering till nästa onset"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Vänster-till-På"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Justera höger markering till föregående offset"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Höger-till-Av"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "Justera vänster markering till nästa offset"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Vänster-till-Av"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "Justera högermarkering till föregående onset"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Höger-till-På"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Välj område med ljud kring markör"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Välj-Ljud"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Välj område av tystnad kring markör"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Välj-Tystnad"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Gör etiketter från ord automatiskt"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Skapa etiketter"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Skapa etikett vid markering"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Skapa etikett"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Kalibrera voicekey"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Kalibrera"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Ställ in känslighet"
@@ -8818,6 +8685,46 @@ msgstr "Direction Changes (Högt tröskelvärde)"
 msgid "Key type"
 msgstr "Key typ"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Spela-på -hastighet"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Vänster-till-På"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Höger-till-Av"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Vänster-till-Av"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Höger-till-På"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Välj-Ljud"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Välj-Tystnad"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Skapa etiketter"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Skapa etikett"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Kalibrera"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (avstängd)"
@@ -8831,14 +8738,12 @@ msgid "Button"
 msgstr "Knapp"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:212
 msgid "L"
 msgstr "V"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:214
 msgid "R"
 msgstr "H"
 
@@ -8854,8 +8759,7 @@ msgstr "Vänster"
 msgid "Right"
 msgstr "Höger"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:78 widgets/ErrorDialog.cpp:102
 msgid "Help"
 msgstr "Hjälp"
 
@@ -8888,8 +8792,7 @@ msgstr "Grabber"
 msgid "%d rows, %d columns"
 msgstr "%d rader, %d kolumner"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "Rad %d"
@@ -8968,8 +8871,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
 msgstr "Vertikal linjal"
 
@@ -9155,3 +9057,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "Kunde inte öppna fil: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/tg.po b/locale/tg.po
index b02ac6f..66abda9 100644
--- a/locale/tg.po
+++ b/locale/tg.po
@@ -18,9 +18,7 @@ msgstr "Project-Id-Version: tg\n"
 "X-Poedit-SourceCharset: utf-8\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: AboutDialog.cpp:139
-#: AudacityApp.cpp:674
-#: Menus.cpp:783
+#: AboutDialog.cpp:139 AudacityApp.cpp:674 Menus.cpp:783
 msgid "&About Audacity..."
 msgstr "&Дар бораи Audacity..."
 
@@ -33,11 +31,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -46,8 +44,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:232
-#: AboutDialog.cpp:234
+#: AboutDialog.cpp:232 AboutDialog.cpp:234
 msgid "translator_credits"
 msgstr "Роҷер Ковакс, Виктор Ибрагимов, Акмал Саломов, Акбар Ватаншоев, Зарина Муродова, Сӯҳроб Рашидов, Абдураҳмон Холов. Почтаи электронӣ: youth_opportunities at tajikngo.org"
 
@@ -90,7 +87,7 @@ msgid "Special thanks:"
 msgstr "Ташаккури махсус:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:258
@@ -102,8 +99,7 @@ msgstr ""
 msgid "Build Information"
 msgstr ""
 
-#: AboutDialog.cpp:148
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:148 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Фаъол шуд"
 
@@ -201,16 +197,12 @@ msgstr "Танзимоти пӯша: "
 msgid "GPL License"
 msgstr ""
 
-#: AudacityApp.cpp:418
-#: Project.cpp:1654
+#: AudacityApp.cpp:418 Project.cpp:1654
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s аллакай дар равзанаи дигар кушода шудааст."
 
-#: AudacityApp.cpp:420
-#: Project.cpp:1656
-#: Project.cpp:1737
-#: Project.cpp:1881
+#: AudacityApp.cpp:420 Project.cpp:1656 Project.cpp:1737 Project.cpp:1881
 #: Project.cpp:1983
 msgid "Error opening project"
 msgstr "Лоиҳаро кушода натавонист"
@@ -236,21 +228,28 @@ msgstr "Индикатори даромад"
 msgid "Output Meter"
 msgstr "Индикатори баромад"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:676
-#: Menus.cpp:531
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Параметрҳо...\tCtrl+,"
+#: Menus.cpp:201
+msgid "&New"
+msgstr "&Нав"
+
+#: Menus.cpp:203
+msgid "&Open..."
+msgstr "&Кушодан..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
 
-#: AudacityApp.cpp:759
-#: AudacityApp.cpp:844
+#: AudacityApp.cpp:676 Menus.cpp:531
+msgid "&Preferences..."
+msgstr "&Параметрҳо..."
+
+#: AudacityApp.cpp:759 AudacityApp.cpp:844
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Истифодаи блоки андозааш %ld\n"
 
-#: AudacityApp.cpp:781
-#: AudacityApp.cpp:859
+#: AudacityApp.cpp:781 AudacityApp.cpp:859
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Қисмати номаълуми сатри фармоишӣ: %s\n"
@@ -366,14 +365,14 @@ msgstr "Хато: "
 msgid "Error Initializing Audio"
 msgstr "Хато дар вақти омодасозии овоз "
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
 #: AudioIO.cpp:1375
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgid "Latency problem"
 msgstr ""
 
 #: AutoRecovery.cpp:40
@@ -421,38 +420,25 @@ msgstr ""
 msgid "Confirm?"
 msgstr ""
 
-#: AutoRecovery.cpp:132
-#: AutoRecovery.cpp:169
+#: AutoRecovery.cpp:132 AutoRecovery.cpp:169
 msgid "Could not enumerate files in auto save directory"
 msgstr "Файлҳоро дар пӯшаи худнигоҳдоркунанда рақамгузорӣ карда нашуд"
 
-#: AutoRecovery.cpp:133
-#: AutoRecovery.cpp:170
-#: Menus.cpp:2551
-#: Menus.cpp:4386
-#: Project.cpp:1840
-#: Project.cpp:3162
-#: Project.cpp:3237
-#: WaveTrack.cpp:519
-#: WaveTrack.cpp:538
-#: WaveTrack.cpp:1600
-#: effects/Effect.cpp:346
-#: export/ExportMP2.cpp:83
-#: prefs/DirectoriesPrefs.cpp:188
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:530
+#: AutoRecovery.cpp:133 AutoRecovery.cpp:170 Menus.cpp:2551 Menus.cpp:4386
+#: Project.cpp:1840 Project.cpp:3162 Project.cpp:3237 WaveTrack.cpp:519
+#: WaveTrack.cpp:538 WaveTrack.cpp:1600 effects/Effect.cpp:346
+#: export/ExportMP2.cpp:83 prefs/DirectoriesPrefs.cpp:188
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:530
 #: toolbars/ControlToolBar.cpp:817
 msgid "Error"
 msgstr "Хато"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Интихоби фармон"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Фармон"
@@ -461,8 +447,7 @@ msgstr "&Фармон"
 msgid "&Edit Parameters"
 msgstr "&Таҳрири параметрҳо"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Параметрҳо"
 
@@ -509,8 +494,7 @@ msgstr "Истифодаи %s бо параметр(ҳо)и\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:667
-#: BatchCommands.cpp:672
+#: BatchCommands.cpp:667 BatchCommands.cpp:672
 msgid "Test Mode"
 msgstr "Ҳолати озмоиш"
 
@@ -519,8 +503,7 @@ msgstr "Ҳолати озмоиш"
 msgid "Apply %s"
 msgstr "Истифодаи %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Истифодаи занҷир"
@@ -545,61 +528,31 @@ msgstr "Истифодаи ин &Лоиҳа"
 msgid "Apply to &Files..."
 msgstr "Истифодаи &ба файлҳо..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: LabelDialog.cpp:136
-#: LabelDialog.cpp:140
-#: UploadDialog.cpp:180
-#: effects/Amplify.cpp:209
-#: effects/AutoDuck.cpp:528
-#: effects/AutoDuck.cpp:532
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:184
-#: effects/ChangePitch.cpp:393
-#: effects/ChangeSpeed.cpp:393
-#: effects/ChangeTempo.cpp:295
-#: effects/ClickRemoval.cpp:429
-#: effects/Compressor.cpp:516
-#: effects/Effect.cpp:399
-#: effects/Effect.cpp:405
-#: effects/Equalization.cpp:1218
-#: effects/Leveller.cpp:249
-#: effects/Normalize.cpp:353
-#: effects/Phaser.cpp:600
-#: effects/Repeat.cpp:271
-#: effects/SpikeCleaner.cpp:188
-#: effects/TruncSilence.cpp:278
-#: effects/VST/VSTEffect.cpp:95
-#: effects/VST/VSTEffect.cpp:451
-#: effects/Wahwah.cpp:587
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/ladspa/LadspaEffect.cpp:609
-#: effects/nyquist/Nyquist.cpp:823
-#: effects/nyquist/Nyquist.cpp:987
-#: export/Export.cpp:952
-#: export/ExportCL.cpp:328
-#: export/ExportCL.cpp:332
-#: export/ExportFLAC.cpp:226
-#: export/ExportFLAC.cpp:230
-#: export/ExportMP2.cpp:236
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:984
-#: export/ExportMP3.cpp:988
-#: export/ExportMP3.cpp:1524
-#: export/ExportMP3.cpp:1528
-#: export/ExportMultiple.cpp:302
-#: export/ExportMultiple.cpp:306
-#: export/ExportOGG.cpp:237
-#: export/ExportOGG.cpp:241
-#: export/ExportPCM.cpp:267
-#: export/ExportPCM.cpp:271
-#: import/ImportRaw.cpp:443
-#: prefs/PrefsDialog.cpp:169
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 LabelDialog.cpp:136
+#: LabelDialog.cpp:140 UploadDialog.cpp:180 effects/Amplify.cpp:209
+#: effects/AutoDuck.cpp:528 effects/AutoDuck.cpp:532
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:184
+#: effects/ChangePitch.cpp:393 effects/ChangeSpeed.cpp:393
+#: effects/ChangeTempo.cpp:295 effects/ClickRemoval.cpp:429
+#: effects/Compressor.cpp:516 effects/Effect.cpp:399 effects/Effect.cpp:405
+#: effects/Equalization.cpp:1218 effects/Leveller.cpp:249
+#: effects/Normalize.cpp:353 effects/Phaser.cpp:600 effects/Repeat.cpp:271
+#: effects/SpikeCleaner.cpp:188 effects/TruncSilence.cpp:278
+#: effects/VST/VSTEffect.cpp:95 effects/VST/VSTEffect.cpp:451
+#: effects/Wahwah.cpp:587 effects/audiounits/AudioUnitEffect.cpp:882
+#: effects/ladspa/LadspaEffect.cpp:609 effects/nyquist/Nyquist.cpp:823
+#: effects/nyquist/Nyquist.cpp:987 export/Export.cpp:952
+#: export/ExportCL.cpp:328 export/ExportCL.cpp:332 export/ExportFLAC.cpp:226
+#: export/ExportFLAC.cpp:230 export/ExportMP2.cpp:236 export/ExportMP2.cpp:240
+#: export/ExportMP3.cpp:984 export/ExportMP3.cpp:988 export/ExportMP3.cpp:1524
+#: export/ExportMP3.cpp:1528 export/ExportMultiple.cpp:302
+#: export/ExportMultiple.cpp:306 export/ExportOGG.cpp:237
+#: export/ExportOGG.cpp:241 export/ExportPCM.cpp:267 export/ExportPCM.cpp:271
+#: import/ImportRaw.cpp:443 prefs/PrefsDialog.cpp:169
 msgid "&Cancel"
 msgstr "&Бекор кардан"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Ягон занҷира интихоб нашудааст"
 
@@ -636,8 +589,7 @@ msgstr "Истифодабарӣ..."
 msgid "File"
 msgstr "Файл"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Таҳрири занҷираҳо"
@@ -650,9 +602,7 @@ msgstr "&Занҷираҳо"
 msgid "&Add"
 msgstr "&Илова кардан"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:128
-#: TrackPanel.cpp:3937
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 TrackPanel.cpp:3937
 msgid "&Remove"
 msgstr "&Дигар кардан"
 
@@ -666,8 +616,8 @@ msgstr "З&анҷира (Пахши дукарата ё пахши SPACE бар
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Не"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -756,8 +706,7 @@ msgstr "Фазои диск"
 msgid "Copy Selected Audio Into Project"
 msgstr "Нусхабардории интихоби аудиоӣ дар лоиҳа"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:413
+#: Dependencies.cpp:304 Dependencies.cpp:413
 msgid "Cancel Save"
 msgstr "Бекорсозии сабт"
 
@@ -769,8 +718,7 @@ msgstr ""
 msgid "Copy All Audio into Project (Safer)"
 msgstr ""
 
-#: Dependencies.cpp:320
-#: Dependencies.cpp:325
+#: Dependencies.cpp:320 Dependencies.cpp:325
 msgid "Ask me"
 msgstr "Маро пурсед"
 
@@ -806,9 +754,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Огохӣ: дар диск ҷои холӣ хеле кам аст.\n"
 "Дар муколамаи мувофиқаткунӣ рӯйхати дигарро барои файлҳои муваққатӣ интихоб кунед."
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Раванди иҷроиш"
 
@@ -863,8 +809,7 @@ msgstr "Тағйири номи '%s' ба '%s' номумкин аст"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Тафтиши додаҳои файл дар лоиҳаи..."
 
@@ -915,14 +860,9 @@ msgstr "Бе тозакунӣ идома диҳед; бо файлҳои ило
 msgid "Close project immediately with no changes"
 msgstr "Лоиҳаро бе таъхир бе тағирот пӯшед"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:458
-#: export/Export.cpp:475
-#: export/Export.cpp:494
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:458 export/Export.cpp:475
+#: export/Export.cpp:494 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Огоҳӣ"
 
@@ -944,14 +884,11 @@ msgstr "Тафтиши лоиҳа боз ёфт, ки файл(ҳо)и вуру
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Додаҳои ҷойнадоштаро аз рӯи хомушӣ иваз намоед [сабти доимӣ]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Муваққатан додаҳои ҷойнадоштаро аз рӯи хомушӣ иваз намоед [танҳо ин қисмат]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Лоиҳаро бе иловаи тағиротҳо, фавран пӯшонед"
 
@@ -1020,11 +957,11 @@ msgstr "Устувор"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1082,11 +1019,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1109,8 +1047,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Таҳлили басомадӣ"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:511
+#: FreqWindow.cpp:140 TrackPanel.cpp:511
 msgid "Spectrum"
 msgstr "Спектрум"
 
@@ -1138,8 +1075,7 @@ msgstr "Сепструм(муайянкунии хатогӣ)"
 msgid "Algorithm"
 msgstr "Алгоритм:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Андоза"
 
@@ -1165,58 +1101,62 @@ msgstr "Басомади сабти воқеъӣ"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:130
-#: Menus.cpp:245
-#: Menus.cpp:274
+#: FreqWindow.cpp:206 LabelDialog.cpp:130 Menus.cpp:245 Menus.cpp:274
 msgid "&Export..."
 msgstr "&Содирот..."
 
-#: export/ExportCL.cpp:188
-#: export/ExportOGG.cpp:121
-#: export/ExportPCM.cpp:114
+#: export/ExportCL.cpp:188 export/ExportOGG.cpp:121 export/ExportPCM.cpp:114
 msgid "Export"
 msgstr "Содирот"
 
-#: Dependencies.cpp:308
-#: FreqWindow.cpp:209
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: Dependencies.cpp:308 FreqWindow.cpp:209
 msgid "Close"
 msgstr "Пӯшидан(бастан)"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:395
-#: effects/AutoDuck.cpp:487
-#: effects/AutoDuck.cpp:521
-#: effects/AutoDuck.cpp:799
-#: effects/Compressor.cpp:348
-#: effects/Compressor.cpp:356
-#: effects/Equalization.cpp:1045
-#: effects/Equalization.cpp:1047
-#: effects/Equalization.cpp:1055
-#: effects/Equalization.cpp:1147
-#: effects/Equalization.cpp:1333
-#: effects/Equalization.cpp:1344
-#: effects/Normalize.cpp:340
-#: widgets/Meter.cpp:357
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:395 effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:521 effects/AutoDuck.cpp:799
+#: effects/Compressor.cpp:348 effects/Compressor.cpp:356
+#: effects/Equalization.cpp:1045 effects/Equalization.cpp:1047
+#: effects/Equalization.cpp:1055 effects/Equalization.cpp:1147
+#: effects/Equalization.cpp:1333 effects/Equalization.cpp:1344
+#: effects/Normalize.cpp:340 widgets/Meter.cpp:357
 msgid "dB"
 msgstr "дБ"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:435
-#: effects/Equalization.cpp:1086
-#: effects/Equalization.cpp:1143
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:435 effects/Equalization.cpp:1086
+#: effects/Equalization.cpp:1143 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Ҳертз"
 
+#: Menus.cpp:3390
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Барои сохтани спектрум, ҳамаи роҳчаҳои интихобшуда бояд навъи якхела дошта бошанд."
+
+#: Menus.cpp:3416
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Аудио барзиёд интихоб шуд.  Танҳо %.1f сонияҳои аввали аудио ташхис мешаванд."
+
 #: FreqWindow.cpp:379
 msgid "Not enough data selected."
 msgstr "Додаҳо кам интихоб шуданд."
 
-#: FreqWindow.cpp:443
-#: effects/AutoDuck.cpp:801
+#: FreqWindow.cpp:443 effects/AutoDuck.cpp:801
 msgid "s"
 msgstr "эс"
 
@@ -1238,12 +1178,8 @@ msgstr "спектрум.матн"
 msgid "Export Spectral Data As:"
 msgstr "Содироти додаҳо ба монанди:"
 
-#: FreqWindow.cpp:1069
-#: LabelDialog.cpp:590
-#: Menus.cpp:2160
-#: Project.cpp:2273
-#: Project.cpp:3214
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1069 LabelDialog.cpp:590 Menus.cpp:2160 Project.cpp:2273
+#: Project.cpp:3214 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Дар файл сабт намешавад: "
 
@@ -1255,6 +1191,21 @@ msgstr "Басомади (Ҳертз)\tСатҳ (дБ)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Таъхири (сонияҳо)\tБасомад (Ҳертз)\tСатҳ"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
@@ -1332,7 +1283,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1356,7 +1307,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1391,46 +1342,22 @@ msgstr "Дараҷаҳо барои барҳамдиҳӣ"
 msgid "&Discard"
 msgstr "&Рад кардан"
 
-#: HistoryWindow.cpp:111
-#: LabelDialog.cpp:137
-#: LabelDialog.cpp:139
-#: effects/Amplify.cpp:214
-#: effects/AutoDuck.cpp:529
-#: effects/AutoDuck.cpp:531
-#: effects/ChangeLength.cpp:187
-#: effects/ChangePitch.cpp:397
-#: effects/ChangeSpeed.cpp:397
-#: effects/ChangeTempo.cpp:299
-#: effects/Compressor.cpp:519
-#: effects/Effect.cpp:401
-#: effects/Effect.cpp:403
-#: effects/Equalization.cpp:1221
-#: effects/Leveller.cpp:252
-#: effects/Normalize.cpp:356
-#: effects/Phaser.cpp:605
-#: effects/Repeat.cpp:274
-#: effects/SpikeCleaner.cpp:191
-#: effects/VST/VSTEffect.cpp:98
-#: effects/Wahwah.cpp:592
-#: effects/ladspa/LadspaEffect.cpp:612
-#: effects/nyquist/Nyquist.cpp:829
-#: export/Export.cpp:955
-#: export/ExportCL.cpp:264
-#: export/ExportCL.cpp:329
-#: export/ExportCL.cpp:331
-#: export/ExportFLAC.cpp:227
-#: export/ExportFLAC.cpp:229
-#: export/ExportMP2.cpp:237
-#: export/ExportMP2.cpp:239
-#: export/ExportMP3.cpp:985
-#: export/ExportMP3.cpp:987
-#: export/ExportMP3.cpp:1525
-#: export/ExportMP3.cpp:1527
-#: export/ExportOGG.cpp:238
-#: export/ExportOGG.cpp:240
-#: export/ExportPCM.cpp:268
-#: export/ExportPCM.cpp:270
-#: prefs/PrefsDialog.cpp:164
+#: HistoryWindow.cpp:111 LabelDialog.cpp:137 LabelDialog.cpp:139
+#: effects/Amplify.cpp:214 effects/AutoDuck.cpp:529 effects/AutoDuck.cpp:531
+#: effects/ChangeLength.cpp:187 effects/ChangePitch.cpp:397
+#: effects/ChangeSpeed.cpp:397 effects/ChangeTempo.cpp:299
+#: effects/Compressor.cpp:519 effects/Effect.cpp:401 effects/Effect.cpp:403
+#: effects/Equalization.cpp:1221 effects/Leveller.cpp:252
+#: effects/Normalize.cpp:356 effects/Phaser.cpp:605 effects/Repeat.cpp:274
+#: effects/SpikeCleaner.cpp:191 effects/VST/VSTEffect.cpp:98
+#: effects/Wahwah.cpp:592 effects/ladspa/LadspaEffect.cpp:612
+#: effects/nyquist/Nyquist.cpp:829 export/Export.cpp:955
+#: export/ExportCL.cpp:264 export/ExportCL.cpp:329 export/ExportCL.cpp:331
+#: export/ExportFLAC.cpp:227 export/ExportFLAC.cpp:229
+#: export/ExportMP2.cpp:237 export/ExportMP2.cpp:239 export/ExportMP3.cpp:985
+#: export/ExportMP3.cpp:987 export/ExportMP3.cpp:1525
+#: export/ExportMP3.cpp:1527 export/ExportOGG.cpp:238 export/ExportOGG.cpp:240
+#: export/ExportPCM.cpp:268 export/ExportPCM.cpp:270 prefs/PrefsDialog.cpp:164
 msgid "&OK"
 msgstr "&ОК"
 
@@ -1438,8 +1365,7 @@ msgstr "&ОК"
 msgid "Unable to determine"
 msgstr "Муайяншавӣ номумкин аст"
 
-#: Internat.cpp:180
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:180 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "байтҳо"
 
@@ -1455,13 +1381,19 @@ msgstr "МБ"
 msgid "GB"
 msgstr "ГБ"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Роҳча"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4006
-#: Menus.cpp:4034
+#: LabelDialog.cpp:53 Menus.cpp:4006 Menus.cpp:4034
 msgid "Label"
 msgstr "Нишона"
 
@@ -1474,8 +1406,7 @@ msgstr "&Вақти оғоз"
 msgid "End Time"
 msgstr "Вақти охир"
 
-#: LabelDialog.cpp:100
-#: Menus.cpp:665
+#: LabelDialog.cpp:100 Menus.cpp:665
 msgid "&Edit Labels"
 msgstr "&Тағйири нишона"
 
@@ -1491,8 +1422,7 @@ msgstr "Гузориш &Баъди"
 msgid "Insert &Before"
 msgstr "Гузориш &Пеш аз"
 
-#: LabelDialog.cpp:129
-#: Menus.cpp:235
+#: LabelDialog.cpp:129 Menus.cpp:235
 msgid "&Import..."
 msgstr "&Воридот..."
 
@@ -1514,20 +1444,15 @@ msgstr "Шумо порчаи сатҳи номҳоро партофтед.  Д
 msgid "Confirm"
 msgstr "Тасдиқ шудан"
 
-#: LabelDialog.cpp:505
-#: Menus.cpp:3522
+#: LabelDialog.cpp:505 Menus.cpp:3522
 msgid "Select a text file containing labels..."
 msgstr "Интихобкунии файли матние, ки дорои нишонаҳои..."
 
-#: LabelDialog.cpp:509
-#: Menus.cpp:3526
+#: LabelDialog.cpp:509 Menus.cpp:3526
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Файлҳои матнӣ (*.txt)|*.txt|Ҳамаи файлҳо (*.*)|*.*"
 
-#: LabelDialog.cpp:523
-#: Menus.cpp:3538
-#: Project.cpp:1703
-#: Project.cpp:1711
+#: LabelDialog.cpp:523 Menus.cpp:3538 Project.cpp:1703 Project.cpp:1711
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Файлро кушода натавонист: "
@@ -1536,13 +1461,11 @@ msgstr "Файлро кушода натавонист: "
 msgid "No labels to export."
 msgstr "Нишона барои содирот ҷой надорад."
 
-#: LabelDialog.cpp:555
-#: Menus.cpp:2125
+#: LabelDialog.cpp:555 Menus.cpp:2125
 msgid "Export Labels As:"
 msgstr "Воридоти НишонаҳоҲамчун:"
 
-#: LabelDialog.cpp:557
-#: Menus.cpp:2123
+#: LabelDialog.cpp:557 Menus.cpp:2123
 msgid "labels.txt"
 msgstr "Нишонаҳои.txt"
 
@@ -1554,10 +1477,7 @@ msgstr "Роҳчаи Нави Нишонавӣ"
 msgid "Enter track name"
 msgstr "Номи роҳчаро ворид кунед"
 
-#: LabelDialog.cpp:692
-#: LabelDialog.h:50
-#: LabelTrack.cpp:88
-#: Menus.cpp:601
+#: LabelDialog.cpp:692 LabelDialog.h:50 LabelTrack.cpp:88 Menus.cpp:601
 msgid "&Label Track"
 msgstr "&Нишонаи Роҳча"
 
@@ -1584,24 +1504,15 @@ msgstr "Кушодани Лоиҳаи Audacity"
 msgid "&File"
 msgstr "&Файл"
 
-#: Menus.cpp:201
-msgid "&New\tCtrl+N"
-msgstr "&Нав\tCtrl+N"
-
-#: Menus.cpp:203
-msgid "&Open...\tCtrl+O"
-msgstr "&Кушодан...\tCtrl+O"
-
 #: Menus.cpp:214
-msgid "&Close\tCtrl+W"
-msgstr "&Пӯшидан\tCtrl+W"
+msgid "&Close"
+msgstr "&Пӯшидан"
 
 #: Menus.cpp:217
-msgid "&Save Project\tCtrl+S"
-msgstr "&Сабти Лоиҳа\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Сабти Лоиҳа"
 
-#: Menus.cpp:221
-#: Project.cpp:2508
+#: Menus.cpp:221 Project.cpp:2508
 msgid "Save Project &As..."
 msgstr "Сабти Лоиҳа &Ҳамчун..."
 
@@ -1622,8 +1533,8 @@ msgid "&Import"
 msgstr ""
 
 #: Menus.cpp:237
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Аудио...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "&Аудио..."
 
 #: Menus.cpp:238
 msgid "&Labels..."
@@ -1637,8 +1548,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "&Маълумоти коркардношудаи..."
 
-#: Menus.cpp:251
-#: Menus.cpp:280
+#: Menus.cpp:251 Menus.cpp:280
 msgid "Expo&rt Selection..."
 msgstr "Содиро&ти Интихоби..."
 
@@ -1654,12 +1564,11 @@ msgstr "Содирот &Бисёркарата..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:301
+msgid "Appl&y Chain..."
+msgstr "Татб&иқи Занҷира..."
 
-#: Menus.cpp:289
-#: Menus.cpp:303
+#: Menus.cpp:289 Menus.cpp:303
 msgid "Edit C&hains..."
 msgstr "Таҳрири З&анҷираҳо..."
 
@@ -1671,10 +1580,6 @@ msgstr ""
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:301
-msgid "Appl&y Chain..."
-msgstr "Татб&иқи Занҷира..."
-
 #: Menus.cpp:307
 msgid "&Upload File..."
 msgstr "&Боркунии Файл..."
@@ -1687,77 +1592,73 @@ msgstr "Та&ъини Саҳифа..."
 msgid "&Print..."
 msgstr "&Чоп кардан..."
 
-#: Menus.cpp:331
-#: Menus.cpp:334
-msgid "E&xit\tCtrl+Q"
-msgstr "Б&аромад\tCtrl+Q"
+#: Menus.cpp:331 Menus.cpp:334
+msgid "E&xit"
+msgstr "Б&аромад"
 
-#: Menus.cpp:343
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:343 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "&Таҳрир"
 
 #: Menus.cpp:347
-msgid "&Undo\tCtrl+Z"
-msgstr "&Барҳамдихӣ\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Барҳамдихӣ"
 
-#: Menus.cpp:355
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:355 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Такрор"
 
 #: Menus.cpp:368
-msgid "Cu&t\tCtrl+X"
-msgstr "Бу&ридан\tCtrl+X"
+msgid "Cu&t"
+msgstr "Бу&ридан"
 
 #: Menus.cpp:372
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Пор&акунӣ Буридан\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Пор&акунӣ Буридан"
 
 #: Menus.cpp:373
-msgid "&Copy\tCtrl+C"
-msgstr "&Нусхабардорӣ\tCtrl+C"
+msgid "&Copy"
+msgstr "&Нусхабардорӣ"
 
 #: Menus.cpp:377
-msgid "&Paste\tCtrl+V"
-msgstr "&Гузоштан\tCtrl+V"
+msgid "&Paste"
+msgstr "&Гузоштан"
 
 #: Menus.cpp:381
-msgid "Tri&m\tCtrl+T"
-msgstr "Бур&иши қолабӣ\tCtrl+T"
+msgid "Tri&m"
+msgstr "Бур&иши қолабӣ"
 
 #: Menus.cpp:383
-msgid "&Delete\tCtrl+K"
-msgstr "&Нест кардан\tCtrl+K"
+msgid "&Delete"
+msgstr "&Нест кардан"
 
 #: Menus.cpp:384
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Поракунӣ Т&озакунӣ\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Поракунӣ Т&озакунӣ"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:387
-msgid "Sp&lit\tCtrl+I"
-msgstr "По&ракунӣ\tCtrl+I"
+msgid "Sp&lit"
+msgstr "По&ракунӣ"
 
 #: Menus.cpp:392
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Поракунии На&в\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Поракунии На&в"
 
 #: Menus.cpp:397
-msgid "&Join\tCtrl+J"
-msgstr "&Муттаҳидсозӣ\tCtrl+J"
+msgid "&Join"
+msgstr "&Муттаҳидсозӣ"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:400
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Нусхабард&орӣ\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "Нусхабард&орӣ"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1769,82 +1670,67 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:415
-msgid "&Cut\tAlt+X"
-msgstr "&Буридан\tAlt+X"
+msgid "&Cut"
+msgstr "&Буридан"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:420
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "&Поракунӣ Буриш\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "&Поракунӣ Буриш"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:425
-msgid "Co&py\tShift+Alt+C"
-msgstr "Нусхабар&дорӣ\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:431
-msgid "&Delete\tAlt+K"
-msgstr "&Несткунӣ\tAlt+K"
+msgid "Co&py"
+msgstr "Нусхабар&дорӣ"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:436
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "По&ракунӣ Тозакунӣ\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "По&ракунӣ Тозакунӣ"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:441
-msgid "Sile&nce\tAlt+L"
-msgstr "Аз рӯи хому&шӣ\tAlt+L"
+msgid "Sile&nce"
+msgstr "Аз рӯи хому&шӣ"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:447
-msgid "Spli&t\tAlt+I"
-msgstr "Поракун&ӣ\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "&Join\tAlt+J"
-msgstr "&Муттаҳид\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Поракун&ӣ"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:464
-msgid "&All\tCtrl+A"
-msgstr "&Ҳама\tCtrl+A"
+msgid "&All"
+msgstr "&Ҳама"
 
 #: Menus.cpp:465
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Ягонто\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Ягонто"
 
 #: Menus.cpp:462
 #, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "Аз мавқеъи чапи хониш\t["
+msgid "&Left at Playback Position"
+msgstr "Аз мавқеъи чапи хониш"
 
 #: Menus.cpp:463
 #, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "Аз мавқеъи рости хониш\t["
+msgid "&Right at Playback Position"
+msgstr "Аз мавқеъи рости хониш"
 
 #: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr ""
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr ""
 
 #: Menus.cpp:481
-msgid "Find &Zero Crossings\tZ"
-msgstr "Ёфтани &Нуқтаҳлии наздиктарин\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Ёфтани &Нуқтаҳлии наздиктарин"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1861,11 +1747,11 @@ msgid "to Selection En&d"
 msgstr "Интиҳо ба интихоб"
 
 #: Menus.cpp:483
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr ""
 
 #: Menus.cpp:484
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr ""
 
 #: Menus.cpp:491
@@ -1888,29 +1774,8 @@ msgstr ""
 msgid "&Unlock"
 msgstr ""
 
-#: Menus.cpp:523
-msgid "Turn Snap-To On"
-msgstr "Табодули Тасвир-Ба Фаъол"
-
-#: Menus.cpp:524
-msgid "Turn Snap-To Off"
-msgstr "Табодули Тасвир-То Фаъол"
-
-#: Menus.cpp:525
-msgid "Turn Grid Snap On"
-msgstr "Пайвастани Баста Дар Тур"
-
-#: Menus.cpp:526
-msgid "Turn Grid Snap Off"
-msgstr "Хомӯш кардани Баста Дар Тур"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:545
@@ -1918,36 +1783,36 @@ msgid "&View"
 msgstr "&Намуд"
 
 #: Menus.cpp:547
-msgid "Zoom &In\tCtrl+1"
-msgstr "Тағирдиҳии андозаи тасвир &ба пеш\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Тағирдиҳии андозаи тасвир &ба пеш"
 
 #: Menus.cpp:550
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Тағирдиҳии андозаи тасвир &муққаррарӣ\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Тағирдиҳии андозаи тасвир &муққаррарӣ"
 
 #: Menus.cpp:551
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Тағирдиҳии андозаи тасвир &ба қафо\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Тағирдиҳии андозаи тасвир &ба қафо"
 
 #: Menus.cpp:554
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Равзанаи муносиб\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Равзанаи муносиб"
 
 #: Menus.cpp:555
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Дар шакли &Амудӣ\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Дар шакли &Амудӣ"
 
 #: Menus.cpp:556
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "&Тағири тасвир барои интихоб\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "&Тағири тасвир барои интихоб"
 
 #: Menus.cpp:559
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Печонидани Ҳамаи Роҳчаҳо\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Печонидани Ҳамаи Роҳчаҳо"
 
 #: Menus.cpp:560
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "К&ушодани Ҳамаи Роҳчаҳо\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "К&ушодани Ҳамаи Роҳчаҳо"
 
 #: Menus.cpp:551
 msgid "&Show Clipping"
@@ -2015,40 +1880,40 @@ msgstr ""
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play"
+msgstr "Иҷро"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:827
-msgid "Skip to Start\tHome"
-msgstr "Гузариш ба Ибтидо\tHome"
+msgid "Skip to Start"
+msgstr "Гузариш ба Ибтидо"
 
 #: Menus.cpp:828
-msgid "Skip to End\tEnd"
-msgstr "Гузариш ба Интиҳо\tEnd"
+msgid "Skip to End"
+msgstr "Гузариш ба Интиҳо"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2076,15 +1941,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:599
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Роҳчаи Аудиои\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Роҳчаи Аудиои"
 
 #: Menus.cpp:600
 msgid "&Stereo Track"
 msgstr "&Стерео Роҳча"
 
-#: Menus.cpp:602
-#: TimeTrack.cpp:44
+#: Menus.cpp:602 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "&Роҳчаи Вақт"
 
@@ -2093,7 +1957,7 @@ msgid "Mi&x and Render"
 msgstr ""
 
 #: Menus.cpp:647
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
 msgstr ""
 
 #: Menus.cpp:618
@@ -2105,11 +1969,11 @@ msgid "Remo&ve Tracks"
 msgstr "Ҷойивазку&нии Роҳчаҳо"
 
 #: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+msgid "&Mute All Tracks"
 msgstr ""
 
 #: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
 msgstr ""
 
 #: Menus.cpp:635
@@ -2160,17 +2024,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:661
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Иловаи &Нишона Дар Интихоб\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:662
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Иловаи Нишона Дар &Мавқеъи Хониш\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Иловаи Нишона Дар &Мавқеъи Хониш"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2196,21 +2060,20 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "Нати&ҷа"
 
-#: Menus.cpp:708
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Такрори натиҷаи ниҳои\tCtrl+R"
-
 #: Menus.cpp:740
 msgid "&Analyze"
 msgstr "&Таҳлил"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:879
 #, fuzzy
 msgid "Plot Spectrum..."
 msgstr "&Кашидани тасвири Спектрум..."
 
-#: Menus.cpp:775
-#: Menus.cpp:778
+#: Menus.cpp:775 Menus.cpp:778
 msgid "&Help"
 msgstr "&Мадад"
 
@@ -2223,7 +2086,7 @@ msgid "&Show Welcome Message..."
 msgstr ""
 
 #: Menus.cpp:958
-msgid "&Index..."
+msgid "&Help..."
 msgstr ""
 
 #: Menus.cpp:959
@@ -2242,181 +2105,149 @@ msgstr "&Боркунии Озмоишии..."
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:804
-msgid "Selection Tool\tF1"
-msgstr "Интихоби Афзор\tF1"
+msgid "Selection Tool"
+msgstr "Интихоби Афзор"
 
 #: Menus.cpp:805
-msgid "Envelope Tool\tF2"
-msgstr "Лифофаи Афзор\tF2"
+msgid "Envelope Tool"
+msgstr "Лифофаи Афзор"
 
 #: Menus.cpp:806
-msgid "Draw Tool\tF3"
-msgstr "Тасвири афзор\tF3"
+msgid "Draw Tool"
+msgstr "Тасвири афзор"
 
 #: Menus.cpp:807
-msgid "Zoom Tool\tF4"
-msgstr "Тағирдиҳии андозаи Афзор\tF4"
+msgid "Zoom Tool"
+msgstr "Тағирдиҳии андозаи Афзор"
 
 #: Menus.cpp:808
-msgid "Time Shift Tool\tF5"
-msgstr "Вақти Интихоби Афзор\tF5"
+msgid "Time Shift Tool"
+msgstr "Вақти Интихоби Афзор"
 
 #: Menus.cpp:809
-msgid "Multi Tool\tF6"
-msgstr "Бисёр Афзор\tF6"
+msgid "Multi Tool"
+msgstr "Бисёр Афзор"
 
 #: Menus.cpp:811
-msgid "Next Tool\tD"
-msgstr "Афзори Навбатӣ\tD"
+msgid "Next Tool"
+msgstr "Афзори Навбатӣ"
 
 #: Menus.cpp:812
-msgid "Previous Tool\tA"
-msgstr "Афзори Пешина\tA"
+msgid "Previous Tool"
+msgstr "Афзори Пешина"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
-
-#: Menus.cpp:815
-msgid "Stop\tS"
-msgstr "Боздорӣ\tS"
-
-#: Menus.cpp:816
-msgid "Pause\tP"
-msgstr "Таваққуф\tP"
-
-#: Menus.cpp:817
-msgid "Record\tR"
-msgstr "Сабт\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
 #: Menus.cpp:821
-msgid "Play One Second\t1"
-msgstr "Хониши Якум Дуюм\t1"
+msgid "Play One Second"
+msgstr "Хониши Якум Дуюм"
 
 #: Menus.cpp:822
-msgid "Play To Selection\tB"
-msgstr "Хониш Ба Интихоб\tB"
-
-#: Menus.cpp:823
-msgid "Play Looped\tL"
-msgstr "Хониш давравӣ\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Хониш Ба Интихоб"
 
 #: Menus.cpp:825
-msgid "Play Cut Preview\tC"
-msgstr "Хониши Ташхиси натиҷавии Буриш\tC"
+msgid "Play Cut Preview"
+msgstr "Хониши Ташхиси натиҷавии Буриш"
 
 #: Menus.cpp:830
-msgid "Selection to Start\tShift+Home"
-msgstr "Интихоб ба Ибтидо\tShift+Home"
+msgid "Selection to Start"
+msgstr "Интихоб ба Ибтидо"
 
 #: Menus.cpp:831
-msgid "Selection to End\tShift+End"
-msgstr "Интихоб ба Интиҳо\tShift+End"
+msgid "Selection to End"
+msgstr "Интихоб ба Интиҳо"
 
 #: Menus.cpp:833
-msgid "DeleteKey\tBackspace"
-msgstr "Калиди Поккунанда\tBackspace"
+msgid "DeleteKey"
+msgstr "Калиди Поккунанда"
 
 #: Menus.cpp:838
-msgid "DeleteKey2\tDelete"
-msgstr "Калиди Поккунандаи2\tDelete"
+msgid "DeleteKey2"
+msgstr "Калиди Поккунандаи2"
 
-#: Menus.cpp:844
-msgid "Seek left short period during playback\tLeft"
-msgstr "Ҷустуҷӯи марҳилаи кӯтоҳи чап дар вақти хониш\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:845
-msgid "Seek right short period during playback\tRight"
-msgstr "Ҷустуҷӯи марҳилаи кӯтоҳи рост дар вақти хониш\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:846
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Ҷустуҷӯи марҳилаи дарози чап дар вақти хониш\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:847
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Ҷустуҷӯи марҳилаи дарози рост дар вақти хониш\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:851
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Ҷойгузори Ботартиб ба Роҳчаи Пешина\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Ҷойгузори Ботартиб ба Роҳчаи Пешина"
 
-#: Menus.cpp:852
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Ҷойгузории Ботартиб ба Пешина ва Тағири Интихоб\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:853
-msgid "Move Focus to Next Track\tDown"
-msgstr "Ҷойгузории Ботартиб ба Роҳчаи Навбатӣ\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Ҷойгузории Ботартиб ба Роҳчаи Навбатӣ"
 
-#: Menus.cpp:854
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Ҷойгузории Ботартиб ба Навбатӣ ва Тағири Интихоб\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:855
-msgid "Toggle Focused Track\tReturn"
-msgstr "Банизомдарории Роҳчаи Дупоя\tReturn"
-
-#: Menus.cpp:856
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Банизомдарории Роҳчаи Дупоя\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Банизомдарории Роҳчаи Дупоя"
 
 #: Menus.cpp:859
-msgid "Cursor Left\tLeft"
-msgstr "Курсори Чап\tLeft"
+msgid "Cursor Left"
+msgstr "Курсори Чап"
 
 #: Menus.cpp:860
-msgid "Cursor Right\tRight"
-msgstr "Курсори Рост\tRight"
+msgid "Cursor Right"
+msgstr "Курсори Рост"
 
 #: Menus.cpp:1044
-msgid "Cursor Short Jump Left\t,"
+msgid "Cursor Short Jump Left"
 msgstr ""
 
 #: Menus.cpp:1045
-msgid "Cursor Short Jump Right\t."
+msgid "Cursor Short Jump Right"
 msgstr ""
 
 #: Menus.cpp:1046
-msgid "Cursor Long Jump Left\tShift+,"
+msgid "Cursor Long Jump Left"
 msgstr ""
 
 #: Menus.cpp:1047
-msgid "Cursor Long Jump Right\tShift+."
+msgid "Cursor Long Jump Right"
 msgstr ""
 
 #: Menus.cpp:861
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Интихоби Густурдаи Чап\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Интихоби Густурдаи Чап"
 
 #: Menus.cpp:862
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Интихоби Густурдаи Рост\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Интихоби Густурдаи Рост"
 
 #: Menus.cpp:1052
 msgid "Set (or Extend) Left Selection"
@@ -2427,52 +2258,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr ""
 
 #: Menus.cpp:864
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Интихоби Санади Чап\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Интихоби Санади Чап"
 
 #: Menus.cpp:865
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Интихоби Санади Рост\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Интихоби Санади Рост"
 
 #: Menus.cpp:867
-msgid "Change pan on focused track\tShift+P"
-msgstr "Тағири мувофиқаткунӣ дар роҳчаи фаъол\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Тағири мувофиқаткунӣ дар роҳчаи фаъол"
 
 #: Menus.cpp:868
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Мувофиқаткунӣ дар роҳчаи фаъол\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Мувофиқаткунӣ дар роҳчаи фаъол"
 
 #: Menus.cpp:869
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Мувофиқаткунии рост дар роҳчаи фаъол\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Мувофиқаткунии рост дар роҳчаи фаъол"
 
 #: Menus.cpp:870
-msgid "Change gain on focused track\tShift+G"
-msgstr "Тағири мустаҳкамии роҳчаи фаъол\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Тағири мустаҳкамии роҳчаи фаъол"
 
 #: Menus.cpp:871
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Афзудани мустаҳкамкунӣ дар роҳчаи фаъол\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Афзудани мустаҳкамкунӣ дар роҳчаи фаъол"
 
 #: Menus.cpp:872
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Кам намудани мустаҳкамкунӣ дар роҳчаи фаъол\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Кам намудани мустаҳкамкунӣ дар роҳчаи фаъол"
 
 #: Menus.cpp:873
-msgid "Open menu on focused track\tShift+M"
-msgstr "Кушодани феҳристи роҳчаи фаъол\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Кушодани феҳристи роҳчаи фаъол"
 
 #: Menus.cpp:874
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Хомӯшкунӣ/Баргардонидани роҳчаи садогӣ \tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Хомӯшкунӣ/Баргардонидани роҳчаи садогӣ "
 
 #: Menus.cpp:875
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Пайвастан /Хомӯшкунии соло барои роҳчаи фаъол\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Пайвастан /Хомӯшкунии соло барои роҳчаи фаъол"
 
 #: Menus.cpp:876
-msgid "Close focused track\tShift+C"
-msgstr "Пӯшидани роҳчаи фаъол\tShift+C"
+msgid "Close focused track"
+msgstr "Пӯшидани роҳчаи фаъол"
 
 #: Menus.cpp:1069
 msgid "Snap To On"
@@ -2483,7 +2314,35 @@ msgid "Snap To Off"
 msgstr ""
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2544,8 +2403,8 @@ msgstr "Аввал роҳчаро ҷудо кунед."
 
 #: Menus.cpp:1988
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Такрор %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Такрор %s"
 
 #: Menus.cpp:2119
 msgid "There are no label tracks to export."
@@ -2576,9 +2435,7 @@ msgstr "Барҳамдиҳӣ ҷой надорад"
 msgid "Nothing to redo"
 msgstr "Такроркунӣ ҷой надорад"
 
-#: Menus.cpp:2344
-#: TrackPanel.cpp:550
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2344 TrackPanel.cpp:550 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Буридан"
 
@@ -2594,10 +2451,7 @@ msgstr "Ҷудокунӣ бо Буриш"
 msgid "Split-cut to the clipboard"
 msgstr "Бо буриш дар буфер ҷудо карда шудааст"
 
-#: Menus.cpp:2445
-#: Menus.cpp:2520
-#: Menus.cpp:2607
-#: TrackPanel.cpp:552
+#: Menus.cpp:2445 Menus.cpp:2520 Menus.cpp:2607 TrackPanel.cpp:552
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Гузоштан"
@@ -2606,8 +2460,7 @@ msgstr "Гузоштан"
 msgid "Pasted text from the clipboard"
 msgstr "Гузориши матн аз буфери табадулот"
 
-#: Menus.cpp:2520
-#: Menus.cpp:2607
+#: Menus.cpp:2520 Menus.cpp:2607
 msgid "Pasted from the clipboard"
 msgstr "Гузориш аз буфери табадулот"
 
@@ -2619,8 +2472,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Нусхабардории стерео ба аудио иҷозат дода намешавад."
 
-#: Menus.cpp:2640
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2640 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Буриш бо кунҷ"
 
@@ -2660,8 +2512,7 @@ msgstr "Муттаҳидсозӣ"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Дар роҳчаҳои ҷудокардашуда навишта шудааст %.2f нишонагузорӣ аз сонияи %.2f"
 
-#: Menus.cpp:2741
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2741 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Хомушӣ"
 
@@ -2745,8 +2596,7 @@ msgstr "Нишонаҳоро ҷудо кунед"
 msgid "Disjoined labeled regions"
 msgstr "Маҳалҳои нишонадор ҷудо карда шудаанд"
 
-#: Menus.cpp:2917
-#: TrackPanel.cpp:5636
+#: Menus.cpp:2917 TrackPanel.cpp:5636
 msgid "Split"
 msgstr "Ҷудокунӣ"
 
@@ -2762,15 +2612,6 @@ msgstr "Ҷудокунӣ ба роҳчаи нав"
 msgid "Split at labels"
 msgstr "Ҷудокунӣ дар нишонаҳо"
 
-#: Menus.cpp:3390
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Барои сохтани спектрум, ҳамаи роҳчаҳои интихобшуда бояд навъи якхела дошта бошанд."
-
-#: Menus.cpp:3416
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Аудио барзиёд интихоб шуд.  Танҳо %.1f сонияҳои аввали аудио ташхис мешаванд."
-
 #: Menus.cpp:3551
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2836,9 +2677,7 @@ msgstr "%d роҳчаҳо дар як стерео роҳчаи нав пешн
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "%dроҳчаҳо дар як моно роҳчаи нав пешниҳодшуд ва омехта шуданд"
 
-#: Menus.cpp:614
-#: Menus.cpp:3698
-#: Mix.cpp:119
+#: Menus.cpp:614 Menus.cpp:3698 Mix.cpp:119
 msgid "&Mix and Render"
 msgstr "&Омезиш ва Пешниҳодкунӣ"
 
@@ -2890,10 +2729,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Созиши роҳчаи нави аудиоии нав"
 
-#: Menus.cpp:3899
-#: Menus.cpp:3922
-#: Menus.cpp:3937
-#: Menus.cpp:3957
+#: Menus.cpp:3899 Menus.cpp:3922 Menus.cpp:3937 Menus.cpp:3957
 msgid "New Track"
 msgstr "Роҳчаи Нав"
 
@@ -2929,8 +2765,7 @@ msgstr "Сабти Нутқи Тозаи Файли Додашуда Ҳамчу
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Тозакунии Нутқи Додашуда (*.csp)|*.csp"
 
-#: Menus.cpp:4072
-#: export/Export.cpp:483
+#: Menus.cpp:4072 export/Export.cpp:483
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Бубахшед, номгузорӣ беш аз 256 аломат дошта, дастгирӣ намешавад."
 
@@ -2938,8 +2773,7 @@ msgstr "Бубахшед, номгузорӣ беш аз 256 аломат дош
 msgid "Problem encountered exporting presets."
 msgstr "Хатои дохилии додашудаҳо шумурда нашудаст."
 
-#: Menus.cpp:4119
-#: export/Export.cpp:371
+#: Menus.cpp:4119 export/Export.cpp:371
 msgid "Unable to export"
 msgstr "Содирот номумкин аст"
 
@@ -2951,8 +2785,7 @@ msgstr "Ҷобаҷогузории Роҳча"
 msgid "Removed audio track(s)"
 msgstr "Роҳча(ҳо)и аудиоии ҷобаҷогузошташуда"
 
-#: Menus.cpp:4380
-#: Menus.cpp:4399
+#: Menus.cpp:4380 Menus.cpp:4399
 msgid "Resample"
 msgstr "Бознамунагирӣ"
 
@@ -2977,8 +2810,7 @@ msgstr "Бознамунагирии Роҳча"
 msgid "Resampled audio track(s)"
 msgstr "Бознамунагирии роҳча(ҳо)и аудиоӣ"
 
-#: Mix.cpp:93
-#: Mix.cpp:100
+#: Mix.cpp:93 Mix.cpp:100
 msgid "Mix"
 msgstr "Омехта"
 
@@ -2998,6 +2830,10 @@ msgstr "Ҳангоми чоп хато ба амал омад."
 msgid "Print"
 msgstr "Чоп кардан"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:656
 msgid "Main Mix"
 msgstr "Тасодуфан"
@@ -3011,14 +2847,11 @@ msgstr "Хуш омадед ба тариқаи %s Audacity"
 msgid "(Recovered)"
 msgstr "(Барқароршуда)"
 
-#: Project.cpp:1439
-#: TrackPanel.cpp:776
-#: toolbars/ControlToolBar.cpp:192
+#: Menus.cpp:817
 msgid "Record"
 msgstr "Сабт"
 
-#: Project.cpp:1439
-#: TrackPanel.cpp:776
+#: Project.cpp:1439 TrackPanel.cpp:776
 msgid "Recorded Audio"
 msgstr "Аудиои Сабтшуда"
 
@@ -3039,12 +2872,11 @@ msgstr ""
 msgid "Save changes?"
 msgstr "Тағиротҳо сабт шаванд?"
 
-#: Project.cpp:1775
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: Menus.cpp:3489
-#: Project.cpp:1626
+#: Menus.cpp:3489 Project.cpp:1626
 msgid "Select one or more audio files..."
 msgstr "Интихоби як ё якчанд файлҳои аудиои..."
 
@@ -3071,8 +2903,18 @@ msgstr ""
 msgid "Opening old project file"
 msgstr "Кушодашавии лоиҳаи куҳнаи файл"
 
-#: Project.cpp:1704
-#: Project.cpp:1712
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1704 Project.cpp:1712
 msgid "Error opening file"
 msgstr "Хатои кушодашавии файл"
 
@@ -3107,8 +2949,7 @@ msgstr "Барқарорсозӣ"
 msgid "Project checker repaired file"
 msgstr "Санҷишгари лоиҳа файлро таъмир кард"
 
-#: Project.cpp:1870
-#: effects/Repair.h:29
+#: Project.cpp:1870 effects/Repair.h:29
 msgid "Repair"
 msgstr "Таъмир"
 
@@ -3130,10 +2971,12 @@ msgstr "Ин файл дар вақти истифодаи Audacity сабт ш
 msgid "Can't open project file"
 msgstr "Лоиҳаи файлро кушода наметавонад"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
@@ -3153,17 +2996,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2260
-#: Project.cpp:2274
+#: Project.cpp:2260 Project.cpp:2274
 msgid "Error saving project"
 msgstr "Хатои сабти лоиҳа"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2336
 #, c-format
 msgid "Saved %s"
@@ -3174,12 +3022,8 @@ msgstr "Сабт шуд %s"
 msgid "Imported '%s'"
 msgstr "Вориди '%s'"
 
-#: Menus.cpp:3616
-#: Project.cpp:2419
-#: Project.cpp:2444
-#: import/ImportPCM.cpp:405
-#: import/ImportPCM.cpp:449
-#: import/ImportRaw.cpp:446
+#: Menus.cpp:3616 Project.cpp:2419 Project.cpp:2444 import/ImportPCM.cpp:405
+#: import/ImportPCM.cpp:449 import/ImportRaw.cpp:446
 msgid "Import"
 msgstr "Воридот"
 
@@ -3226,8 +3070,7 @@ msgstr "Лоиҳаи нав эҷод карда шуд"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Тозашавӣ %.2f аз сонияи t=%.2f"
 
-#: Project.cpp:2679
-#: effects/Equalization.cpp:1113
+#: Project.cpp:2679 effects/Equalization.cpp:1113
 #: effects/Equalization.cpp:2417
 msgid "Delete"
 msgstr "Нобудсозӣ"
@@ -3283,7 +3126,6 @@ msgid "Could not create autosave file: "
 msgstr "Созиши файли худсабт номумкин аст: "
 
 #: Project.cpp:3722
-#, c-format
 #, fuzzy
 msgid "Actual Rate: %d"
 msgstr "Зудии Ҷойдошта %d"
@@ -3309,8 +3151,7 @@ msgstr "Намунагирӣ бо ёрии Эрик де Кастро Лопо"
 msgid "Libsamplerate error: %d\n"
 msgstr "Хатои намунагирӣ: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Намунагирӣ бекор шуда."
 
@@ -3329,6 +3170,163 @@ msgstr "24-бит ПСМ"
 msgid "32-bit float"
 msgstr "32-бит float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:203 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Интихоби..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Абзорҳо"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Идоракунӣ"
+
+#: toolbars/MixerToolBar.cpp:58
+msgid "Mixer"
+msgstr "Омезишкунанда"
+
+#: toolbars/MeterToolBar.cpp:49
+msgid "Meter"
+msgstr "масрафсанҷ"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:54
+msgid "Device"
+msgstr "Афзор"
+
+#: toolbars/TranscriptionToolBar.cpp:82
+msgid "Transcription"
+msgstr "Луғат"
+
+#: TrackPanel.cpp:452 TrackPanel.cpp:453
+msgid "Track Panel"
+msgstr "Лавҳаи Роҳча"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:246
+msgid "Tracks"
+msgstr "Роҳчаҳо"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr ""
@@ -3337,22 +3335,20 @@ msgstr ""
 msgid "Error trying to save file: "
 msgstr ""
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "Фосила дар лоиҳаи файл бозёфт шуд\n"
 
-#: effects/Effect.cpp:255
-#: effects/Effect.cpp:382
-#: effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582
-#: effects/audiounits/AudioUnitEffect.cpp:872
+#: effects/Effect.cpp:255 effects/Effect.cpp:382 effects/Phaser.cpp:595
+#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "Пеш&намоиш"
 
-#: effects/nyquist/Nyquist.cpp:826
-#: effects/nyquist/Nyquist.cpp:990
+#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
 msgid "&Debug"
 msgstr "&Ислоҳи хато"
 
@@ -3388,8 +3384,7 @@ msgstr ""
 msgid "Track Number"
 msgstr "Рақами роҳча"
 
-#: Tags.cpp:737
-#: Tags.cpp:963
+#: Tags.cpp:737 Tags.cpp:963
 msgid "Year"
 msgstr "Сол"
 
@@ -3397,9 +3392,7 @@ msgstr "Сол"
 msgid "Genre"
 msgstr "Услуб"
 
-#: Tags.cpp:747
-#: Tags.cpp:996
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:747 Tags.cpp:996 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Шарҳ"
 
@@ -3435,13 +3428,11 @@ msgstr ""
 msgid "Template"
 msgstr "Қолаб"
 
-#: Tags.cpp:1073
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:1073 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Боргирии..."
 
-#: Tags.cpp:1078
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:1078 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&Захира кардан..."
 
@@ -3486,6 +3477,10 @@ msgstr ""
 msgid "Save Metadata As:"
 msgstr ""
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:628
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3518,8 +3513,7 @@ msgstr "Audacity файлро наёфт:\n"
 "  %s.\n"
 "Мавзӯъ бор карда нашуд."
 
-#: Theme.cpp:797
-#: Theme.cpp:885
+#: Theme.cpp:797 Theme.cpp:885
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3574,6 +3568,14 @@ msgstr "Давомнокӣ"
 msgid "Audacity Timer Record"
 msgstr "Сабти Замонсанҷи Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: TimerRecordDialog.cpp:224
 msgid "Recording start"
 msgstr ""
@@ -3613,40 +3615,23 @@ msgstr ""
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452
-#: TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr "Лавҳаи Роҳча"
-
-#: TrackPanel.cpp:496
-#: export/ExportPCM.cpp:201
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:496 export/ExportPCM.cpp:201 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Дигар..."
 
-#: TrackPanel.cpp:504
-#: TrackPanel.cpp:525
-#: TrackPanel.cpp:534
-#: TrackPanel.cpp:542
+#: TrackPanel.cpp:504 TrackPanel.cpp:525 TrackPanel.cpp:534 TrackPanel.cpp:542
 msgid "Name..."
 msgstr "Ном..."
 
-#: TrackPanel.cpp:506
-#: TrackPanel.cpp:527
-#: TrackPanel.cpp:538
-#: TrackPanel.cpp:544
+#: TrackPanel.cpp:506 TrackPanel.cpp:527 TrackPanel.cpp:538 TrackPanel.cpp:544
 msgid "Move Track Up"
 msgstr "Ҷойгузории Роҳча ба Боло"
 
-#: TrackPanel.cpp:507
-#: TrackPanel.cpp:528
-#: TrackPanel.cpp:539
-#: TrackPanel.cpp:545
+#: TrackPanel.cpp:507 TrackPanel.cpp:528 TrackPanel.cpp:539 TrackPanel.cpp:545
 msgid "Move Track Down"
 msgstr "Ҷойгузории Роҳча ба Поён"
 
-#: TrackPanel.cpp:509
-#: effects/ToneGen.cpp:292
+#: TrackPanel.cpp:509 effects/ToneGen.cpp:292
 msgid "Waveform"
 msgstr "Мавҷшакл"
 
@@ -3662,18 +3647,15 @@ msgstr ""
 msgid "Pitch (EAC)"
 msgstr "Баландии садо (EAC)"
 
-#: TrackPanel.cpp:514
-#: TrackPanel.cpp:5606
+#: TrackPanel.cpp:514 TrackPanel.cpp:5606
 msgid "Mono"
 msgstr "Моно"
 
-#: TrackPanel.cpp:515
-#: TrackPanel.cpp:5605
+#: TrackPanel.cpp:515 TrackPanel.cpp:5605
 msgid "Left Channel"
 msgstr "Шабакаи чап"
 
-#: TrackPanel.cpp:516
-#: TrackPanel.cpp:5605
+#: TrackPanel.cpp:516 TrackPanel.cpp:5605
 msgid "Right Channel"
 msgstr "Шабакаи чап рост"
 
@@ -3685,12 +3667,15 @@ msgstr "Созиши Роҳчаи Стерео"
 msgid "Split Stereo Track"
 msgstr "Ҷудокунии Роҳчаи Стерео"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:520
 msgid "Set Sample Format"
 msgstr "Насби Қолаби Намунавӣ"
 
-#: TrackPanel.cpp:522
-#: TrackPanel.cpp:5823
+#: TrackPanel.cpp:522 TrackPanel.cpp:5823
 msgid "Set Rate"
 msgstr "Насби Босуръат"
 
@@ -3710,8 +3695,7 @@ msgstr "Ҳарфҳо..."
 msgid "Set Range..."
 msgstr "Насби маҳдудият..."
 
-#: TrackPanel.cpp:551
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:551 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Нусха"
 
@@ -3757,21 +3741,13 @@ msgstr "Пахш ва кашидан барои ҷойивазкунии инт
 msgid "Click and drag to move right selection boundary."
 msgstr "Пахш ва кашидан барои ҷойивазкунии интихоби сарҳади рост."
 
-#: TrackPanel.cpp:1669
-#: TrackPanel.cpp:3736
-#: TrackPanel.cpp:3768
-#: TrackPanel.cpp:4013
-#: TrackPanel.cpp:5935
-#: TrackPanel.cpp:5955
+#: TrackPanel.cpp:1669 TrackPanel.cpp:3736 TrackPanel.cpp:3768
+#: TrackPanel.cpp:4013 TrackPanel.cpp:5935 TrackPanel.cpp:5955
 msgid "Modified Label"
 msgstr "Тағиротҳои Нишонавӣ"
 
-#: TrackPanel.cpp:1670
-#: TrackPanel.cpp:3737
-#: TrackPanel.cpp:3769
-#: TrackPanel.cpp:4014
-#: TrackPanel.cpp:5936
-#: TrackPanel.cpp:5956
+#: TrackPanel.cpp:1670 TrackPanel.cpp:3737 TrackPanel.cpp:3769
+#: TrackPanel.cpp:4014 TrackPanel.cpp:5936 TrackPanel.cpp:5956
 msgid "Label Edit"
 msgstr "Таҳрири Нишона"
 
@@ -3779,8 +3755,7 @@ msgstr "Таҳрири Нишона"
 msgid "Adjusted envelope."
 msgstr "Ба тартибории лифофавӣ."
 
-#: TrackPanel.cpp:1898
-#: prefs/MousePrefs.cpp:111
+#: TrackPanel.cpp:1898 prefs/MousePrefs.cpp:111
 msgid "Envelope"
 msgstr "Лифофа"
 
@@ -3802,9 +3777,7 @@ msgstr "рост"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Вақти роҳчаҳо/клип %s %.02f сония ҷойгардонӣ шудаст"
 
-#: TrackPanel.cpp:2044
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
+#: TrackPanel.cpp:2044 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108
 #: prefs/MousePrefs.cpp:109
 msgid "Time-Shift"
 msgstr "Вақт-Ҷойгардонӣ"
@@ -3843,39 +3816,29 @@ msgid "Moved pan slider"
 msgstr "Ҷойивазшавии идоракунандаҳои садо"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3232
-#: TrackPanel.cpp:5276
-#: TrackPanel.cpp:6492
+#: TrackPanel.cpp:3232 TrackPanel.cpp:5276 TrackPanel.cpp:6492
 msgid "Gain"
 msgstr "Шиддат"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3232
-#: TrackPanel.cpp:5214
-#: TrackPanel.cpp:6499
+#: TrackPanel.cpp:3232 TrackPanel.cpp:5214 TrackPanel.cpp:6499
 msgid "Pan"
 msgstr "панорама"
 
-#: TrackPanel.cpp:3357
-#: TrackPanel.cpp:5888
-#: effects/ChangePitch.cpp:281
+#: TrackPanel.cpp:3357 TrackPanel.cpp:5888 effects/ChangePitch.cpp:281
 msgid "up"
 msgstr "боло"
 
-#: TrackPanel.cpp:3361
-#: TrackPanel.cpp:5889
-#: effects/ChangePitch.cpp:281
+#: TrackPanel.cpp:3361 TrackPanel.cpp:5889 effects/ChangePitch.cpp:281
 msgid "down"
 msgstr "поён"
 
-#: TrackPanel.cpp:3366
-#: TrackPanel.cpp:5884
+#: TrackPanel.cpp:3366 TrackPanel.cpp:5884
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Ҷойиваз шуд '%s' %s"
 
-#: TrackPanel.cpp:3369
-#: TrackPanel.cpp:5890
+#: TrackPanel.cpp:3369 TrackPanel.cpp:5890
 msgid "Move Track"
 msgstr "Ҷойивазшавии Роҳча"
 
@@ -3907,14 +3870,6 @@ msgstr "Панорамаи муратабшуда"
 msgid "Adjusted gain"
 msgstr "Шиддати муратабшуда"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5432
 msgid "Can't delete track with active audio"
 msgstr "Роҳчаро бо аудиои фаъол тоза карда наметавонад"
@@ -3935,8 +3890,7 @@ msgstr "Чап, "
 msgid "Right, "
 msgstr "Рост, "
 
-#: TrackPanel.cpp:5615
-#: TrackPanel.cpp:5728
+#: TrackPanel.cpp:5615 TrackPanel.cpp:5728
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' ба %s тағйир дода шуд"
@@ -3950,6 +3904,11 @@ msgstr "Маҷро(Канал)"
 msgid "Split stereo track '%s'"
 msgstr "Ҷудокунии Стерео роҳча '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:5654
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3976,8 +3935,7 @@ msgstr "Ивази Шакл"
 msgid "Change lower speed limit (%) to:"
 msgstr "Ивазшавии сарҳади поёнии суръат(%) ба:"
 
-#: TrackPanel.cpp:5853
-#: TrackPanel.cpp:5854
+#: TrackPanel.cpp:5853 TrackPanel.cpp:5854
 msgid "Lower speed limit"
 msgstr "Суръати пасти сарҳад"
 
@@ -3985,8 +3943,7 @@ msgstr "Суръати пасти сарҳад"
 msgid "Change upper speed limit (%) to:"
 msgstr "Ивазкунии суръати болоии сарҳад (%) ба:"
 
-#: TrackPanel.cpp:5860
-#: TrackPanel.cpp:5861
+#: TrackPanel.cpp:5860 TrackPanel.cpp:5861
 msgid "Upper speed limit"
 msgstr "Суръати сарҳади болоӣ"
 
@@ -4028,6 +3985,10 @@ msgstr ""
 msgid "Face size"
 msgstr ""
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:6427
 msgid "Mute"
 msgstr "Бесадо"
@@ -4061,10 +4022,7 @@ msgstr "Соло фаъол аст"
 msgid " Select On"
 msgstr " Интихоб фаъол аст"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Интихоб барои истифодаи калиди овоз хеле хурд аст."
 
@@ -4091,8 +4049,7 @@ msgstr "Ивази Самт  -- маънои: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Роҳчаи Аудиоӣ"
 
-#: WaveTrack.cpp:518
-#: WaveTrack.cpp:537
+#: WaveTrack.cpp:518 WaveTrack.cpp:537
 msgid "There is not enough room available to paste the selection"
 msgstr "Барои гузоштани интихоб пораи ҳофиза кам аст"
 
@@ -4110,8 +4067,9 @@ msgstr "Дастаҳои иттисоли 1 ба %i"
 msgid "Plugins %i to %i"
 msgstr "Дастаҳои иттисоли %i ба %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
 #: commands/CommandManager.cpp:892
@@ -4192,9 +4150,7 @@ msgstr "Тақвиятдиҳанда"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Шумо роҳчаеро интихоб кардед, ки аудио надорад. AutoDuck танҳо роҳчаҳои аудиоро дар бар мегирад."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:451
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
 #: effects/AutoDuck.cpp:578
 msgid "Auto Duck"
 msgstr "Даки худкор"
@@ -4215,17 +4171,11 @@ msgstr "Миқдори Duck:"
 msgid "Maximum pause:"
 msgstr "Таваққуфи ҳади аксар:"
 
-#: effects/AutoDuck.cpp:492
-#: effects/AutoDuck.cpp:497
-#: effects/AutoDuck.cpp:502
-#: effects/AutoDuck.cpp:507
-#: effects/AutoDuck.cpp:512
-#: prefs/AudioIOPrefs.cpp:162
-#: prefs/AudioIOPrefs.cpp:164
-#: prefs/AudioIOPrefs.cpp:188
-#: prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:198
-#: widgets/TimeTextCtrl.cpp:197
+#: effects/AutoDuck.cpp:492 effects/AutoDuck.cpp:497 effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:507 effects/AutoDuck.cpp:512
+#: prefs/AudioIOPrefs.cpp:162 prefs/AudioIOPrefs.cpp:164
+#: prefs/AudioIOPrefs.cpp:188 prefs/AudioIOPrefs.cpp:190
+#: prefs/AudioIOPrefs.cpp:198 widgets/TimeTextCtrl.cpp:197
 msgid "seconds"
 msgstr "сонияҳо"
 
@@ -4245,8 +4195,7 @@ msgstr "Норасоиҳои дохилии дарозии поёнӣ:"
 msgid "Inner fade up length:"
 msgstr "Норасоиҳои дохилии дарозии боло:"
 
-#: effects/AutoDuck.cpp:519
-#: effects/Compressor.cpp:479
+#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
 msgid "Threshold:"
 msgstr "Остона:"
 
@@ -4266,14 +4215,10 @@ msgstr "Даки худкор..."
 msgid "Processing Auto Duck..."
 msgstr "Пардозиши Auto Duck..."
 
-#: LangChoice.cpp:103
-#: effects/AvcCompressor.cpp:738
-#: effects/TruncSilence.cpp:281
-#: effects/VST/VSTEffect.cpp:453
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:993
-#: effects/nyquist/Nyquist.cpp:1059
-#: widgets/Warning.cpp:67
+#: LangChoice.cpp:103 effects/AvcCompressor.cpp:738
+#: effects/TruncSilence.cpp:281 effects/VST/VSTEffect.cpp:453
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:993
+#: effects/nyquist/Nyquist.cpp:1059 widgets/Warning.cpp:67
 msgid "OK"
 msgstr "ОК"
 
@@ -4335,14 +4280,12 @@ msgstr "Ивази сабти овоз"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Ивази сабти овоз бе ивази зарба"
 
-#: effects/ChangePitch.cpp:251
-#: effects/ChangeSpeed.cpp:305
+#: effects/ChangePitch.cpp:251 effects/ChangeSpeed.cpp:305
 #: effects/ChangeTempo.cpp:179
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "бо ёрии Вахан Ҷонсон ва Доминик Мазони"
 
-#: effects/ChangePitch.cpp:256
-#: effects/ChangeTempo.cpp:184
+#: effects/ChangePitch.cpp:256 effects/ChangeTempo.cpp:184
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "истифодаи SoundTouch, бо ёрии Оли Парваинин"
 
@@ -4391,10 +4334,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:288
-#: effects/ChangePitch.cpp:334
-#: effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:238
+#: effects/ChangePitch.cpp:288 effects/ChangePitch.cpp:334
+#: effects/ChangeSpeed.cpp:369 effects/ChangeTempo.cpp:238
 #: effects/ChangeTempo.cpp:269
 msgid "to"
 msgstr "ба"
@@ -4403,8 +4344,7 @@ msgstr "ба"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:357
-#: effects/ChangeSpeed.cpp:323
+#: effects/ChangePitch.cpp:357 effects/ChangeSpeed.cpp:323
 #: effects/ChangeTempo.cpp:197
 msgid "Percent Change:"
 msgstr "Ивази Фоиз:"
@@ -4422,8 +4362,7 @@ msgstr "Ивази баландкунӣ..."
 msgid "Changing Pitch"
 msgstr "Ивазшавии баландкунӣ"
 
-#: effects/ChangeSpeed.cpp:52
-#: effects/ChangeTempo.cpp:53
+#: effects/ChangeSpeed.cpp:52 effects/ChangeTempo.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Натиҷаи корфармудашуда: %s %.1f%%"
@@ -4573,12 +4512,11 @@ msgstr ""
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:504
-msgid "Normalize to 0dB after compressing"
-msgstr "Ханҷорсозӣ(нормалӣ) ба 0dB баъди фишордиҳӣ"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Остона: %d dB"
@@ -4609,7 +4547,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Ҳамлаи вақт: %.1f сон-ҳо"
@@ -4632,6 +4569,10 @@ msgstr "Фишордиҳандаи..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Корфармоии фишордиҳандаи соҳаи пӯёи..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4651,19 +4592,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4672,15 +4600,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:324
-#: toolbars/ControlToolBar.cpp:186
+#: effects/ToneGen.cpp:324 toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "Ибтидо"
 
-#: effects/ToneGen.cpp:325
-#: toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:130
-#: toolbars/SelectionBar.cpp:228
+#: effects/ToneGen.cpp:325 toolbars/ControlToolBar.cpp:189
+#: toolbars/SelectionBar.cpp:130 toolbars/SelectionBar.cpp:228
 msgid "End"
 msgstr "Интиҳо"
 
@@ -4700,6 +4625,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4744,16 +4674,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Идоракунӣ"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4864,18 +4786,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:47
 msgid "DTMF Tone Generator"
 msgstr "Муваллиди оҳанги DTMF"
@@ -4888,8 +4798,7 @@ msgstr "бо ёрии Салво Вентура (2006)"
 msgid "DTMF sequence:"
 msgstr "басомади DTMF:"
 
-#: effects/ToneGen.cpp:295
-#: effects/ToneGen.cpp:328
+#: effects/ToneGen.cpp:295 effects/ToneGen.cpp:328
 msgid "Amplitude (0-1)"
 msgstr "Доманаи (0-1)"
 
@@ -4909,9 +4818,7 @@ msgstr "Даври вазифавӣ:"
 msgid "Tone duration:"
 msgstr "Давомнокии оҳанг:"
 
-#: effects/DtmfGen.cpp:425
-#: effects/DtmfGen.cpp:427
-#: effects/DtmfGen.cpp:498
+#: effects/DtmfGen.cpp:425 effects/DtmfGen.cpp:427 effects/DtmfGen.cpp:498
 #: effects/DtmfGen.cpp:499
 msgid "ms"
 msgstr "мс"
@@ -4992,8 +4899,7 @@ msgstr "Косинус"
 msgid "Cubic"
 msgstr "Куб"
 
-#: effects/Equalization.cpp:332
-#: effects/Equalization.cpp:367
+#: effects/Equalization.cpp:332 effects/Equalization.cpp:367
 msgid "Equalization"
 msgstr "Баробарсозӣ"
 
@@ -5006,6 +4912,10 @@ msgstr "Хато ҳангоми боркунии EQ"
 msgid "custom"
 msgstr "Танзим"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #: effects/Equalization.cpp:1023
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Баробаркунӣ бо ёрии Мартин Шоу ва Митч Голден"
@@ -5042,8 +4952,7 @@ msgstr "Дарозии полуна:"
 msgid "Select curve:"
 msgstr "Интихоби тавсиф (хати каҷ):"
 
-#: effects/Equalization.cpp:1110
-#: effects/Equalization.cpp:2322
+#: effects/Equalization.cpp:1110 effects/Equalization.cpp:2322
 msgid "Save As..."
 msgstr "Сабт ҳамчун..."
 
@@ -5159,8 +5068,7 @@ msgstr "Душвортарин"
 msgid "by Lynn Allan"
 msgstr ""
 
-#: effects/Leveller.cpp:219
-#: effects/Leveller.cpp:224
+#: effects/Leveller.cpp:219 effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr "Дараҷаи баробаркунӣ"
 
@@ -5209,10 +5117,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr "Омезишкунанда"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5454,10 +5358,6 @@ msgstr "Тозашавии хаш"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
-#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
-msgid "false"
-msgstr ""
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
 #: effects/Normalize.cpp:74 effects/Normalize.cpp:75
@@ -5518,8 +5418,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:526
-#: effects/Wahwah.cpp:497
+#: effects/Phaser.cpp:526 effects/Wahwah.cpp:497
 msgid "LFO Frequency (Hz):"
 msgstr "Басомади LFO (Ҳертз):"
 
@@ -5527,8 +5426,7 @@ msgstr "Басомади LFO (Ҳертз):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:542
-#: effects/Wahwah.cpp:513
+#: effects/Phaser.cpp:542 effects/Wahwah.cpp:513
 msgid "LFO Start Phase (deg.):"
 msgstr "Ибтидои марҳилаи LFO (дараҷа):"
 
@@ -5589,8 +5487,7 @@ msgstr "Вақти такроршуда %d"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Барои ҷудокунӣ роҳчаҳо хеле дарозанд."
 
-#: effects/Repeat.cpp:75
-#: effects/Repeat.cpp:79
+#: effects/Repeat.cpp:75 effects/Repeat.cpp:79
 msgid "Repeat"
 msgstr "Такрор"
 
@@ -5603,8 +5500,7 @@ msgstr "Миқдори вақтҳои такроршаванда: "
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:264
-#: effects/Repeat.cpp:302
+#: effects/Repeat.cpp:264 effects/Repeat.cpp:302
 msgid "New selection length: "
 msgstr "Интихоби нави дарозӣ: "
 
@@ -5665,8 +5561,7 @@ msgid "Max Spike Duration (milliseconds): \n"
 msgstr "Давомнокии баробаркунандаи бешина (миллисония): \n"
 "(99999 ё зиёдтар)"
 
-#: effects/SpikeCleaner.cpp:178
-#: effects/TruncSilence.cpp:269
+#: effects/SpikeCleaner.cpp:178 effects/TruncSilence.cpp:269
 msgid "Theshold for silence: "
 msgstr "Остонаи хомӯшӣ: "
 
@@ -5821,25 +5716,40 @@ msgstr ""
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-#: prefs/AudioIOPrefs.cpp:178
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
 msgid "milliseconds"
 msgstr "миллисония"
 
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
-#: effects/TruncSilence.cpp:84
-#: effects/TruncSilence.h:29
+#: effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Бурриши қисматҳои хомӯш..."
 
@@ -5847,17 +5757,55 @@ msgstr "Бурриши қисматҳои хомӯш..."
 msgid "Truncating Silence..."
 msgstr "Буридашавии қисматҳои хомӯшӣ..."
 
-#: effects/VST/VSTEffect.cpp:179
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Бубахшед, аммо натиҷаҳои VST дар стереороҳчаҳое, ки шабакаҳои индивидуалии мутобиқ надоранд истифода намешавад."
+#: effects/ladspa/LadspaEffect.cpp:621
+msgid "Effect Settings"
+msgstr "Танзимоти натиҷаҳо"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Ҳеҷ чиз"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:194
-msgid "Can't process replacing"
-msgstr "Ҷойивазкунӣ қобили иҷро нест"
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:408
-msgid "VST Plug-in parameters:"
-msgstr "Қисматҳои васеъшавии VST:"
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:60
 #, c-format
@@ -5906,20 +5854,10 @@ msgstr "Натиҷаи корбурдашуда: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Бубахшед, аммо натиҷаҳои Plug-in дар стереороҳчаҳое, ки шабакаҳои индивидуалии мутобиқ надоранд истифода намешавад."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Ҳеҷ чиз"
-
 #: effects/ladspa/LadspaEffect.cpp:575
 msgid "Author: "
 msgstr "Муаллиф: "
 
-#: effects/ladspa/LadspaEffect.cpp:621
-msgid "Effect Settings"
-msgstr "Танзимоти натиҷаҳо"
-
 #: effects/ladspa/LadspaEffect.cpp:712
 msgid "Length (seconds)"
 msgstr "Давомнокӣ (сония)"
@@ -5940,8 +5878,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Корбарии натиҷаи Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:260
-#: effects/nyquist/Nyquist.cpp:322
+#: effects/nyquist/Nyquist.cpp:260 effects/nyquist/Nyquist.cpp:322
 msgid "Nyquist Prompt..."
 msgstr "Дархости Nyquist..."
 
@@ -5961,8 +5898,7 @@ msgstr "Оҳанг"
 msgid "Nyquist Output: "
 msgstr "Буруни Nyquistы: "
 
-#: effects/nyquist/Nyquist.cpp:594
-#: effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
 msgid "Nyquist returned the value:"
 msgstr "Nyquist арзишро баргардонид:"
 
@@ -6070,8 +6006,7 @@ msgstr " - Рост"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:939
-#: export/Export.cpp:993
+#: export/Export.cpp:939 export/Export.cpp:993
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Шабакаҳои бурунӣ: %2d"
@@ -6101,8 +6036,7 @@ msgstr ""
 msgid "(external program)"
 msgstr "(барномаи берунӣ)"
 
-#: export/ExportCL.cpp:116
-#: export/ExportPCM.cpp:90
+#: export/ExportCL.cpp:116 export/ExportPCM.cpp:90
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Аудиоро дар %s ворид карда наметавонад"
@@ -6119,9 +6053,21 @@ msgstr "Вориди тамоми лоиҳа бо истифодаи хатҳо
 msgid "Command Output"
 msgstr "Бурунсозии фармонҳо"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6189,6 +6135,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:227
+msgid "Quality:"
+msgstr "Сифат:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6322,12 +6272,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:227
-msgid "Quality:"
-msgstr "Сифат:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6346,10 +6292,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6538,12 +6484,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6654,6 +6600,17 @@ msgstr "Амиқии бит:"
 msgid "FLAC Files"
 msgstr "Файлҳои FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:134
 msgid "Exporting the selected audio as FLAC"
 msgstr "Вуруди аудиоҳои интихобшуда ба монанди FLAC"
@@ -6678,20 +6635,16 @@ msgstr "Файлҳои MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "MP2 бо андозаи ин намуна ва андозаи бит вуруд карда намешавад"
 
-#: export/ExportMP2.cpp:102
-#: export/ExportMP3.cpp:1249
-#: export/ExportOGG.cpp:53
+#: export/ExportMP2.cpp:102 export/ExportMP3.cpp:1249 export/ExportOGG.cpp:53
 msgid "Unable to open target file for writing"
 msgstr "Теғаи файлро барои сабт кушода наметавонад"
 
-#: export/ExportMP2.cpp:132
-#: export/ExportMP3.cpp:1337
+#: export/ExportMP2.cpp:132 export/ExportMP3.cpp:1337
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr "Вуруди аудиоҳои интихобшуда дар %d kbps"
 
-#: export/ExportMP2.cpp:133
-#: export/ExportMP3.cpp:1338
+#: export/ExportMP2.cpp:133 export/ExportMP3.cpp:1338
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Вуруди тамоми файл дар %d kbps"
@@ -6724,8 +6677,7 @@ msgstr ""
 msgid "Extreme"
 msgstr ""
 
-#: effects/ClickRemoval.cpp:379
-#: effects/ClickRemoval.cpp:408
+#: effects/ClickRemoval.cpp:379 effects/ClickRemoval.cpp:408
 msgid "Medium"
 msgstr "Муҳит"
 
@@ -6733,8 +6685,7 @@ msgstr "Муҳит"
 msgid "Specify MP3 Options"
 msgstr "Муайянкунии қисматҳои MP3"
 
-#: export/ExportMP3.cpp:1431
-#: prefs/FileFormatPrefs.cpp:101
+#: export/ExportMP3.cpp:1431 prefs/FileFormatPrefs.cpp:101
 msgid "MP3 Export Setup"
 msgstr "Насби вурудии MP3"
 
@@ -6758,8 +6709,7 @@ msgstr "Миёна"
 msgid "Constant"
 msgstr "Доимӣ"
 
-#: prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: prefs/QualityPrefs.cpp:42 prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Сифат"
 
@@ -6878,10 +6828,8 @@ msgstr ""
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:88
-#: export/ExportMultiple.cpp:371
-#: export/ExportMultiple.cpp:620
-#: export/ExportMultiple.cpp:728
+#: export/ExportMultiple.cpp:88 export/ExportMultiple.cpp:371
+#: export/ExportMultiple.cpp:620 export/ExportMultiple.cpp:728
 msgid "Export Multiple"
 msgstr "Вуруди бисёркарата"
 
@@ -6914,11 +6862,6 @@ msgstr "Қисматҳо..."
 msgid "Export location:"
 msgstr "Мавқеи вуруд:"
 
-#: export/ExportMultiple.cpp:203
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Интихоби..."
-
 #: export/ExportMultiple.cpp:204
 msgid "Create"
 msgstr "Сохтан"
@@ -6943,10 +6886,6 @@ msgstr "Номи файли якум:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:246
-msgid "Tracks"
-msgstr "Роҳчаҳо"
-
 #: export/ExportMultiple.cpp:253
 msgid "Name files:"
 msgstr "Номи файлҳо:"
@@ -6980,6 +6919,35 @@ msgstr "\"%s\" бомуваффақият сохта шуд."
 msgid "Choose a location to save the exported files"
 msgstr "Барои вурудсозии файлҳо мавқеи онҳро интихоб кунед"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:491
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6993,18 +6961,6 @@ msgstr "\"%s\" вуҷуд надорад.\n"
 msgid "Edit metadata"
 msgstr ""
 
-#: export/ExportMultiple.cpp:617
-#: export/ExportMultiple.cpp:725
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d файл(ҳо) .бомуваффақият вуруд шуд."
-
-#: export/ExportMultiple.cpp:618
-#: export/ExportMultiple.cpp:726
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Баъди вуруди %d файл(ҳо) хато содир шуд."
-
 #: export/ExportMultiple.cpp:881
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7083,7 +7039,6 @@ msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
 #: export/ExportPCM.cpp:531
-#, c-format
 #, fuzzy
 msgid "Error (file may not have been written): %s"
 msgstr "Хато (файл сабт намешавад): %hs"
@@ -7249,8 +7204,11 @@ msgstr ""
 msgid "FLAC files"
 msgstr ""
 
-#: import/ImportLOF.cpp:172
-#: import/ImportLOF.cpp:222
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: import/ImportLOF.cpp:172 import/ImportLOF.cpp:222
 msgid "List of Files in basic text format"
 msgstr "Рӯйхати файлҳо дар қолаби матнии муқаррарӣ"
 
@@ -7260,9 +7218,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Ҷудокунии равзана дар файли LOF хароб аст."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:321
-#: import/ImportLOF.cpp:342
-#: import/ImportLOF.cpp:414
+#: import/ImportLOF.cpp:321 import/ImportLOF.cpp:342 import/ImportLOF.cpp:414
 #: import/ImportLOF.cpp:434
 msgid "LOF Error"
 msgstr "Хатои LOF"
@@ -7409,36 +7365,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Аудио I/O"
+#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
+msgid "Batch"
+msgstr "Баста"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Моно)"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
+msgid "Behaviors"
+msgstr "Рафтор"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Стерео)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Бозигар"
+#: prefs/BatchPrefs.cpp:83
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Ҳолати Cl&eanSpeech (махсусгардонидашуда GUI)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr "Афзор"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:33 prefs/GUIPrefs.cpp:34
+msgid "Interface"
+msgstr "Робита"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Истифодаи:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Пойгоҳи аудиоии v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Бозигар"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7448,96 +7409,15 @@ msgstr "Сабтшавӣ"
 msgid "Channels"
 msgstr "Шабакаҳо"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Иҷрогари убурӣ"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:154
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr "Пешнамоиши натиҷаҳо"
-
-#: prefs/AudioIOPrefs.cpp:171
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr "Буриши пешнамоиш"
-
-#: prefs/AudioIOPrefs.cpp:179
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:181
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr "Таваққуф"
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:203
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr "Марҳилаи кӯтоҳ:"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr "Марҳилаи дароз:"
-
-#: prefs/BatchPrefs.cpp:53
-#: prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr "Баста"
-
-#: prefs/BatchPrefs.cpp:75
-#: prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
-msgstr "Рафтор"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Моно)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Ҳолати Cl&eanSpeech (махсусгардонидашуда GUI)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Стерео)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:276
 msgid "Directories"
 msgstr "Рӯйхатҳо"
@@ -7554,34 +7434,31 @@ msgstr "Мавқеъ:"
 msgid "Free Space:"
 msgstr "Фазои холӣ:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Худсабткунӣ"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Худсабткунии нусхаи лоиҳа дар пӯшаи алоҳида"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "дақиқа"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Аудиокэш"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Интихоби ҷой барои ҷойкунии рӯйхати муваққатӣ"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:165
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7600,226 +7477,144 @@ msgstr "Рӯйхати %s навишта намешавад"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Тағиротҳо ба рӯйхати муваққатӣ то аз навборкунии Audacity натиҷагирӣ намешаванд"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "MP3 Library Version:"
-msgstr "Тариқаи феҳристи MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "When saving a project that depends on other audio files"
-msgstr "Сабти лоиҳа вобаста ба дигар файлҳо"
-
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr ""
+#: prefs/GUIPrefs.cpp:111
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (барои таҳрири баланди доманадор мувофиқат намекунад)"
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "&Ask user"
-msgstr "&Пурсиш аз истифодабарандаы"
+#: prefs/GUIPrefs.cpp:112
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (соҳаи PCM аз намунаҳаи 8 бита)"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&Омехтакунии доимии ҳамаи роҳчаҳо ба шабакаҳои Stereo ё Mono."
+#: prefs/GUIPrefs.cpp:113
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (соҳаи PCM аз намунаҳои 16 бита)"
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:114
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (ҳудуди шунавоӣ)"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
+#: prefs/GUIPrefs.cpp:115
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (соҳаи PCM намунаҳои 24 бита)"
 
-#: prefs/GUIPrefs.cpp:33
-#: prefs/GUIPrefs.cpp:34
-msgid "Interface"
-msgstr "Робита"
+#: prefs/SpectrumPrefs.cpp:96
+msgid "Display"
+msgstr "Намуд"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
 msgstr ""
 
 #: prefs/GUIPrefs.cpp:96
 msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
-msgstr "Ҳангоми &таҳрири қисматҳо метавонем дигар қисматҳоро кӯчонем"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87
-#: prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr "Намоиш / Пинҳон"
-
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
-msgstr "Хатҳоро бурида &наметавонад"
-
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
-msgstr "Намоиши огоҳӣ оиди &файлҳои муваққатӣ"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr ""
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:111
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (барои таҳрири баланди доманадор мувофиқат намекунад)"
-
-#: prefs/GUIPrefs.cpp:112
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (соҳаи PCM аз намунаҳаи 8 бита)"
-
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:113
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (соҳаи PCM аз намунаҳои 16 бита)"
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:114
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (ҳудуди шунавоӣ)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:115
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (соҳаи PCM намунаҳои 24 бита)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/FileFormatPrefs.cpp:96
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&Омехтакунии доимии ҳамаи роҳчаҳо ба шабакаҳои Stereo ё Mono."
+
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Саҳвакалид"
 
@@ -7843,22 +7638,26 @@ msgstr "На&сб"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Эзоҳ: Cmd+Q барои хомӯш намудан истифода бурда мешаванд. Дигар калидҳо истифоданашавандаанд."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:102
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:102
 msgid "&Defaults"
 msgstr "&Аз рӯи хомӯшӣ"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Таркиббандии калид"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Вуруди таркиббандии саҳфакалид ҳамчун:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Барҳамдиҳӣ"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Хатои ҳангоми сабти таркиббандии саҳфакалид"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7868,6 +7667,14 @@ msgstr "Интихоби файли XML, ки дорои тугмаҳои фаъ
 msgid "Error loading keyboard shortcuts"
 msgstr "Хато ҳангоми сабти таркиббандии саҳфакалид"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Вуруди таркиббандии саҳфакалид ҳамчун:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Хатои ҳангоми сабти таркиббандии саҳфакалид"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7877,10 +7684,61 @@ msgstr "Таркиббандии саҳфакалид аллакай барои
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Барҳамдиҳӣ"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:104
+msgid "MP3 Library Version:"
+msgstr "Тариқаи феҳристи MP3:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Аудио I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Пойгоҳи аудиоии v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Иҷрогари убурӣ"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7894,6 +7752,10 @@ msgstr "&Иҷрогари убурии сахтафзор (хониши роҳч
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "&Иҷрогари убурии нармафзор (хониши роҳчаи нав ҳангоми сабтшавии он)"
 
+#: prefs/AudioIOPrefs.cpp:158
+msgid "Cut Preview"
+msgstr "Буриши пешнамоиш"
+
 #: prefs/AudioIOPrefs.cpp:161
 msgid "Play before cut region:"
 msgstr "Хониш пеш аз буриши маҳал:"
@@ -7902,6 +7764,10 @@ msgstr "Хониш пеш аз буриши маҳал:"
 msgid "Play after cut region:"
 msgstr "Хониш баъд аз буриши маҳал:"
 
+#: prefs/AudioIOPrefs.cpp:168
+msgid "Latency"
+msgstr "Таваққуф"
+
 #: prefs/AudioIOPrefs.cpp:174
 msgid "Audio to buffer:"
 msgstr "Аудио ба миёнгир:"
@@ -7914,12 +7780,23 @@ msgstr "Тавақкуфи ислоҳкунӣ:"
 msgid "Seek Time"
 msgstr "Ҷустуҷӯи вақт"
 
+#: prefs/AudioIOPrefs.cpp:187
+msgid "Short period:"
+msgstr "Марҳилаи кӯтоҳ:"
+
+#: prefs/AudioIOPrefs.cpp:189
+msgid "Long period:"
+msgstr "Марҳилаи дароз:"
+
+#: prefs/AudioIOPrefs.cpp:194
+msgid "Effects Preview"
+msgstr "Пешнамоиши натиҷаҳо"
+
 #: prefs/AudioIOPrefs.cpp:197
 msgid "Play when previewing:"
 msgstr "Хониш ҳангоми пешнамоиш:"
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Муш"
 
@@ -7939,35 +7816,25 @@ msgstr "Фармони иҷро"
 msgid "Buttons"
 msgstr "Тугмаҳо"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:102
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:113
 #: prefs/MousePrefs.cpp:118
 msgid "Left-Click"
 msgstr "Пахши чап"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
 msgid "Select"
 msgstr "Ҷудокунӣ"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:118
 msgid "Set Selection Point"
 msgstr "Насби нуқтаи ҷудокунӣ"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:103
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119
 msgid "Left-Drag"
 msgstr "Тугмаи чап -кашидашавӣ "
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:119
 msgid "Set Selection Range"
 msgstr "Интихоби насби соҳа"
 
@@ -7995,9 +7862,7 @@ msgstr ""
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:102
-#: prefs/MousePrefs.cpp:103
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:104
 #: prefs/MousePrefs.cpp:105
 msgid "Zoom"
 msgstr "Калонкунӣ"
@@ -8006,9 +7871,7 @@ msgstr "Калонкунӣ"
 msgid "Zoom in on Point"
 msgstr "Наздиккунӣ бо нуқта"
 
-#: prefs/MousePrefs.cpp:103
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:121
 msgid "Zoom in on a Range"
 msgstr "Наздиккунӣ дар соҳа"
 
@@ -8016,18 +7879,15 @@ msgstr "Наздиккунӣ дар соҳа"
 msgid "same as right-drag"
 msgstr "ҳамон як кашиши рост"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:120
 msgid "Right-Click"
 msgstr "Пахши рост"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:120
 msgid "Zoom out one step"
 msgstr "Дуркунӣ бо як қадам"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:121
 msgid "Right-Drag"
 msgstr "Кашиши рост"
 
@@ -8063,8 +7923,7 @@ msgstr "Shift-Left-кашиш"
 msgid "Time shift all clips in track"
 msgstr "Вақти таконхӯрии ҳамаи қисматҳои роҳча"
 
-#: prefs/MousePrefs.cpp:109
-#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:116
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-Left-Кашиш"
 
@@ -8080,9 +7939,7 @@ msgstr "Тағирдиҳии ҳаракати қатъшӣ"
 msgid "Change Sample"
 msgstr "Тағирдиҳии намуна"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:114
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:114 prefs/MousePrefs.cpp:115
 #: prefs/MousePrefs.cpp:116
 msgid "Pencil"
 msgstr "Қалам"
@@ -8103,25 +7960,20 @@ msgstr "Ивазкунии якчанд намуна"
 msgid "Change ONE Sample only"
 msgstr "Ивазкунии танҳо ЯК намуна"
 
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:120
 #: prefs/MousePrefs.cpp:121
 msgid "Multi"
 msgstr "Бисёр"
 
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 msgid "same as select tool"
 msgstr "ҳамон як кашиши чап"
 
-#: prefs/MousePrefs.cpp:120
-#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:120 prefs/MousePrefs.cpp:121
 msgid "same as zoom tool"
 msgstr "ҳамон як кашиши чап"
 
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 msgid "Any"
 msgstr "Ҳама"
 
@@ -8149,10 +8001,62 @@ msgstr "Ctrl-гардиш ба воситаи чарх"
 msgid "Zoom in or out"
 msgstr "Калонкунии намуд"
 
+#: prefs/AudioIOPrefs.cpp:171
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:179
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:181
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:203
+msgid "Seek Time when playing"
+msgstr ""
+
 #: prefs/PrefsDialog.cpp:97
 msgid "Audacity Preferences"
 msgstr "Қисматҳои Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "When saving a project that depends on other audio files"
+msgstr "Сабти лоиҳа вобаста ба дигар файлҳо"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:87
+msgid "&Ask user"
+msgstr "&Пурсиш аз истифодабарандаы"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Худсабткунӣ"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Худсабткунии нусхаи лоиҳа дар пӯшаи алоҳида"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "дақиқа"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Росткунҷа"
@@ -8177,44 +8081,45 @@ msgstr "Басомади намуна аз рӯи пешфарз:"
 msgid "Default Sample Format:"
 msgstr "Қолаби намуна аз рӯи хомушӣ:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Табдилдиҳии басомади намуна:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Табдилдиҳии баландсифати намуна:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Ҳамворкунӣ дар айни замон:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Ҳамворкунӣ бо сифати баланд:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Табдилдиҳӣ"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Табдилдиҳии басомади намуна"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Омезиш"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Дар айни замон:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:152
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Сифати баланд:"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:37 prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
@@ -8225,23 +8130,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:36
-#: prefs/SpectrumPrefs.cpp:37
+#: prefs/SpectrumPrefs.cpp:36 prefs/SpectrumPrefs.cpp:37
 msgid "Spectrograms"
 msgstr "Спектограммаҳо"
 
-#: prefs/SpectrumPrefs.cpp:72
-msgid "FFT Size"
-msgstr "Андозаи FFT"
-
 #: prefs/SpectrumPrefs.cpp:75
 msgid "8 - most wideband"
 msgstr "8 - бештар паҳнохат"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:80
 msgid "256 - default"
 msgstr "256 - аз рӯи хомушӣ"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr ""
@@ -8250,21 +8190,26 @@ msgstr ""
 msgid "4096 - most narrowband"
 msgstr "4096 - бештар камхат"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Намуди равзана:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
-msgstr "Намуд"
-
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr "&Хокистариранг"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:103
 msgid "Minimum Frequency (Hz):"
@@ -8274,16 +8219,16 @@ msgstr "Басомади камтарин (Ҳз):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Басомади бештарин (Ҳз):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
@@ -8294,6 +8239,14 @@ msgstr ""
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:134
 msgid "The maximum frequency must be an integer"
 msgstr "Имконияти бештари басомад бояд бузургии тағирёбанда бошад"
@@ -8310,19 +8263,71 @@ msgstr "Имконияти камтари басомад бояд бузурги
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Имконияти камтари басомад бояд 0 Hz бошад"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:61
-#: prefs/ThemePrefs.cpp:62
+#: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
 msgid "Theme"
 msgstr "Мавзӯъ"
 
+#: prefs/ThemePrefs.cpp:123
+msgid "Info"
+msgstr "Иттилоот"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Масъалагузорӣ хусусияти санҷишӣ дорад.\n"
+"\n"
+"Барои фаъолсозии он \"Сабти мавзӯъи Кэш\"-ро пахш кунед,\n"
+" баъдан \n"
+" тасвирҳо ва рангҳоро ёбед ва тағир диҳед \n"
+"Тасвири кэшии Vxx.png таҳриргари тасвирро ба монанди \n"
+"Gimp истифода мебаранд.\n"
+"\n"
+"Барои боркунӣ ва ивази тасвирҳо \"Боркунии мавзӯъи кэш\" -ро пахш кунед\n"
+" ва рангҳо ба Audacity бармегарданд.\n"
+"\n"
+"[Танҳо рангҳо ва сутуни абзор дар роҳчаи мавҷдор фаъоланд\n"
+"ҳато агар тасвири файл \n"
+" дигар расмҳоро нишон диҳад.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #: prefs/ThemePrefs.cpp:90
 msgid "Theme Cache - Images && Color"
 msgstr "Кэши намуд ва ранг"
@@ -8351,101 +8356,95 @@ msgstr "Сабти файлҳо"
 msgid "Load Files"
 msgstr "Бор кардани файлҳо"
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
-msgstr "Иттилоот"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Масъалагузорӣ хусусияти санҷишӣ дорад.\n"
-"\n"
-"Барои фаъолсозии он \"Сабти мавзӯъи Кэш\"-ро пахш кунед,\n"
-" баъдан \n"
-" тасвирҳо ва рангҳоро ёбед ва тағир диҳед \n"
-"Тасвири кэшии Vxx.png таҳриргари тасвирро ба монанди \n"
-"Gimp истифода мебаранд.\n"
-"\n"
-"Барои боркунӣ ва ивази тасвирҳо \"Боркунии мавзӯъи кэш\" -ро пахш кунед\n"
-" ва рангҳо ба Audacity бармегарданд.\n"
-"\n"
-"[Танҳо рангҳо ва сутуни абзор дар роҳчаи мавҷдор фаъоланд\n"
-"ҳато агар тасвири файл \n"
-" дигар расмҳоро нишон диҳад.]\n"
-
-#: prefs/ThemePrefs.cpp:131
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Шумо Audacity-ро бо тугмаи дохилӣ ҳамгардонӣ намудед, \n"
-"'Output Sourcery'.  Ин тариқаи C-и тасвирро\n"
-"ки аз рӯи хомӯшӣ ҳамгардонӣ мешавад, сабт мекунад.\n"
-
-#: prefs/ThemePrefs.cpp:136
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Агар боркунии мавзӯъи кэш дар насб санҷида шудааст, баъдан\n"
-"мавзӯъи кэш ҳангоми ибтидои кори барнома аз нав\n"
-" бор мешавад\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Сабт ва боркунии мавзӯъҳои интихобшуда \n"
-"файли алоҳидаро барои ҳар як намуд истифода мебаранд, аммо аз дигар тараф\n"
-"ҳадаф ҳамон аст.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Таваққуф"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Иҷро"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:96
+msgid "Enable cut &lines"
+msgstr "Хатҳоро бурида &наметавонад"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:183
-msgid "Stop"
-msgstr "Манъ"
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Гузариш ба ибтидо"
+#: prefs/GUIPrefs.cpp:90
+msgid "Editing a &clip can move other clips"
+msgstr "Ҳангоми &таҳрири қисматҳо метавонем дигар қисматҳоро кӯчонем"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Гузариш ба интиҳо"
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: Menus.cpp:816
+msgid "Pause"
+msgstr "Таваққуф"
+
+#: Menus.cpp:815
+msgid "Stop"
+msgstr "Боздорӣ"
+
 #: toolbars/ControlToolBar.cpp:195
 msgid "Clean Speech"
 msgstr "Тозакунии нутқ"
 
-#: toolbars/ControlToolBar.cpp:528
-#: toolbars/ControlToolBar.cpp:815
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:528 toolbars/ControlToolBar.cpp:815
 msgid "Error while opening sound device. "
 msgstr "Хато ҳангоми кушодани афзори садо. "
 
@@ -8457,13 +8456,11 @@ msgstr ""
 msgid "Recording not permitted"
 msgstr "Сабт иҷозат нашудааст"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Афзори бурунӣ"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Афзори вурудӣ"
 
@@ -8487,29 +8484,21 @@ msgstr "Калонкунӣ"
 msgid "Zoom Out"
 msgstr "Хурдкунӣ"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Васеъкунӣ"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Пурракунии интихоб"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Пурракунии интихоб дар равзана"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Пурракунии лоиҳа"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Пурракунии лоиҳа дар равзана"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
-msgstr "масрафсанҷ"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Пурракунии интихоб"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Пурракунии лоиҳа"
 
 #: toolbars/MeterToolBar.cpp:79
 msgid "Play Meter"
@@ -8557,24 +8546,28 @@ msgstr "Воридкунии намоиш"
 msgid "Input Source"
 msgstr "Манбаъи ворид"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:76
 msgid "Selection"
 msgstr "Интихобкунӣ"
 
-#: toolbars/SelectionBar.cpp:116
-#: toolbars/SelectionBar.cpp:169
+#: toolbars/SelectionBar.cpp:116 toolbars/SelectionBar.cpp:169
 msgid "Project Rate (Hz):"
 msgstr "Суръати лоиҳа (Hz):"
 
-#: toolbars/SelectionBar.cpp:121
-#: toolbars/SelectionBar.cpp:213
+#: toolbars/SelectionBar.cpp:121 toolbars/SelectionBar.cpp:213
 msgid "Selection Start:"
 msgstr "Ибтидои интихоб:"
 
-#: effects/ToneGen.cpp:296
-#: effects/ToneGen.cpp:334
-#: toolbars/SelectionBar.cpp:136
-#: toolbars/SelectionBar.cpp:227
+#: effects/ToneGen.cpp:296 effects/ToneGen.cpp:334
+#: toolbars/SelectionBar.cpp:136 toolbars/SelectionBar.cpp:227
 msgid "Length"
 msgstr "Дарозӣ"
 
@@ -8582,8 +8575,7 @@ msgstr "Дарозӣ"
 msgid "hidden"
 msgstr "пинҳон"
 
-#: toolbars/SelectionBar.cpp:156
-#: toolbars/SelectionBar.cpp:241
+#: toolbars/SelectionBar.cpp:156 toolbars/SelectionBar.cpp:241
 msgid "Audio Position:"
 msgstr "Мавқеи аудио:"
 
@@ -8608,8 +8600,7 @@ msgstr "Интиҳои интихоб"
 msgid "Audacity %s ToolBar"
 msgstr "Таблои %s Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Афзор"
 
@@ -8641,34 +8632,6 @@ msgstr "Left=наздиккунӣ, Right=дуркунӣ, Middle=муққарар
 msgid "Click and drag to move a track in time"
 msgstr "Барои ҷойивазкунии роҳча пахш ва кашишро иҷро кунед"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Абзорҳо"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Интихоби афзор"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Лифофаи абзор"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Асбоби идоракунии вақт"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Калокунии абзор"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Кашидани абзор"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Ҳолати бисёрабзорӣ"
@@ -8677,24 +8640,11 @@ msgstr "Ҳолати бисёрабзорӣ"
 msgid "Slide Tool"
 msgstr "Ҷойгузорӣ"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Бисёрабзор"
-
-#: toolbars/TranscriptionToolBar.cpp:82
-msgid "Transcription"
-msgstr "Луғат"
-
 #: toolbars/TranscriptionToolBar.cpp:163
 msgid "Play at selected speed"
 msgstr "Суръати интихобшударо интихоб кунед"
 
-#: toolbars/TranscriptionToolBar.cpp:164
-msgid "Play-at-speed"
-msgstr "Иҷро дар суръат"
-
-#: toolbars/TranscriptionToolBar.cpp:170
-#: toolbars/TranscriptionToolBar.cpp:175
+#: toolbars/TranscriptionToolBar.cpp:170 toolbars/TranscriptionToolBar.cpp:175
 msgid "Playback Speed"
 msgstr "Суръати иҷро"
 
@@ -8702,74 +8652,38 @@ msgstr "Суръати иҷро"
 msgid "Adjust left selection to next onset"
 msgstr "мураттабсозии интихоби чап барои насби навбатӣ"
 
-#: toolbars/TranscriptionToolBar.cpp:181
-msgid "Left-to-On"
-msgstr "Чапt-ба-Фаъол"
-
 #: toolbars/TranscriptionToolBar.cpp:183
 msgid "Adjust right selection to previous offset"
 msgstr "Муратабсозии интихоби рост барои омезиши қаблӣ"
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Right-to-Off"
-msgstr "Рост-ба-Хомӯш"
-
 #: toolbars/TranscriptionToolBar.cpp:186
 msgid "Adjust left selection to next offset"
 msgstr "Муратабсозии интихоби чап барои омезиши оянда"
 
-#: toolbars/TranscriptionToolBar.cpp:187
-msgid "Left-to-Off"
-msgstr "Чап-ба-Хомӯш"
-
 #: toolbars/TranscriptionToolBar.cpp:189
 msgid "Adjust right selection to previous onset"
 msgstr "Муратабсозии интихоби рост барои насби пешин"
 
-#: toolbars/TranscriptionToolBar.cpp:190
-msgid "Right-to-On"
-msgstr "Рост-ба-Фаъол"
-
 #: toolbars/TranscriptionToolBar.cpp:192
 msgid "Select region of sound around cursor"
 msgstr "Интихоби маҳали овози гирди курсор"
 
-#: toolbars/TranscriptionToolBar.cpp:193
-msgid "Select-Sound"
-msgstr "Интихоби-овоз"
-
 #: toolbars/TranscriptionToolBar.cpp:195
 msgid "Select region of silence around cursor"
 msgstr "Интихоби маҳал аз рӯи хомӯшӣ дар гирди курсор"
 
-#: toolbars/TranscriptionToolBar.cpp:196
-msgid "Select-Silence"
-msgstr "Интихоби хомӯшӣ"
-
 #: toolbars/TranscriptionToolBar.cpp:198
 msgid "Automatically make labels from words"
 msgstr "Нишонагузории фаврӣ аз рӯи калимаҳо"
 
-#: toolbars/TranscriptionToolBar.cpp:199
-msgid "Make Labels"
-msgstr "Сохтани нишонаҳо"
-
 #: toolbars/TranscriptionToolBar.cpp:201
 msgid "Add label at selection"
 msgstr "Иловаи нишонаҳо дар ҷудокунӣ"
 
-#: toolbars/TranscriptionToolBar.cpp:202
-msgid "Add Label"
-msgstr "Иловаи нишона"
-
 #: toolbars/TranscriptionToolBar.cpp:204
 msgid "Calibrate voicekey"
 msgstr "Андозагароии калиди савтӣ"
 
-#: toolbars/TranscriptionToolBar.cpp:205
-msgid "Calibrate"
-msgstr "Андозагароӣ кардан"
-
 #: toolbars/TranscriptionToolBar.cpp:209
 msgid "Adjust Sensitivity"
 msgstr "Қобилияти ҳиси (эҳсос) ҳақиқӣ"
@@ -8802,6 +8716,46 @@ msgstr "Ивазшавии самт (остонаи болоӣ)"
 msgid "Key type"
 msgstr "Намуди тугма"
 
+#: toolbars/TranscriptionToolBar.cpp:164
+msgid "Play-at-speed"
+msgstr "Иҷро дар суръат"
+
+#: toolbars/TranscriptionToolBar.cpp:181
+msgid "Left-to-On"
+msgstr "Чапt-ба-Фаъол"
+
+#: toolbars/TranscriptionToolBar.cpp:184
+msgid "Right-to-Off"
+msgstr "Рост-ба-Хомӯш"
+
+#: toolbars/TranscriptionToolBar.cpp:187
+msgid "Left-to-Off"
+msgstr "Чап-ба-Хомӯш"
+
+#: toolbars/TranscriptionToolBar.cpp:190
+msgid "Right-to-On"
+msgstr "Рост-ба-Фаъол"
+
+#: toolbars/TranscriptionToolBar.cpp:193
+msgid "Select-Sound"
+msgstr "Интихоби-овоз"
+
+#: toolbars/TranscriptionToolBar.cpp:196
+msgid "Select-Silence"
+msgstr "Интихоби хомӯшӣ"
+
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Make Labels"
+msgstr "Сохтани нишонаҳо"
+
+#: toolbars/TranscriptionToolBar.cpp:202
+msgid "Add Label"
+msgstr "Иловаи нишона"
+
+#: toolbars/TranscriptionToolBar.cpp:205
+msgid "Calibrate"
+msgstr "Андозагароӣ кардан"
+
 #: widgets/AButton.cpp:298
 msgid " (disabled)"
 msgstr " (хомӯш)"
@@ -8816,15 +8770,13 @@ msgstr "Тугма"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:540
-#: widgets/Meter.cpp:205
+#: widgets/ASlider.cpp:540 widgets/Meter.cpp:205
 msgid "L"
 msgstr "Ч"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:543
-#: widgets/Meter.cpp:207
+#: widgets/ASlider.cpp:543 widgets/Meter.cpp:207
 msgid "R"
 msgstr "Р"
 
@@ -8873,8 +8825,7 @@ msgstr "Контакткунанда"
 msgid "%d rows, %d columns"
 msgstr "%d қатор, %d сутун"
 
-#: widgets/Grid.cpp:622
-#: widgets/Grid.cpp:749
+#: widgets/Grid.cpp:622 widgets/Grid.cpp:749
 #, c-format
 msgid "Row %d"
 msgstr "Қатор %d"
@@ -8953,8 +8904,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1110
-#: widgets/Ruler.cpp:1111
+#: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
 msgid "Vertical Ruler"
 msgstr "Идоракунандаи амудӣ"
 
@@ -9112,3 +9062,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/tr.po b/locale/tr.po
index a9adc49..5b92bc1 100644
--- a/locale/tr.po
+++ b/locale/tr.po
@@ -4,25 +4,24 @@
 #
 # Aydın Demirel <aydin at kde.org.tr>, 2006.
 msgid ""
-msgstr "Project-Id-Version: audacity\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-02-18 19:37+0200\n"
-"PO-Revision-Date: 2006-03-06 21:59+0200\n"
-"Last-Translator: Aydın Demirel <aydin at kde.org.tr>\n"
+msgstr ""
+"Project-Id-Version: audacity\n"
+"Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-06-30 22:14+0100\n"
+"PO-Revision-Date: 2009-07-06 03:08-0000\n"
+"Last-Translator: g <g at g>\n"
 "Language-Team: KDE Türkçe Yerelleştirme <yerellestirme at kde.org.tr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.1\n"
 
-#: ../src/Menus.cpp:526
-msgid "&About Audacity..."
+#: AboutDialog.cpp:143
+#, fuzzy
+msgid "About Audacity..."
 msgstr "&Audacity Hakkında..."
 
-#. i18n-hint: Rather than a literal translation, consider adding the
-#. appropriate suffix or prefix to create a word meaning 'something which
-#. has Audacity'
-#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:111
+#: AboutDialog.cpp:157
 msgid "OK... Audacious!"
 msgstr ""
 
@@ -31,11 +30,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -44,7 +43,8 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: ../src/AboutDialog.cpp:127 ../src/AboutDialog.cpp:129
+#: AboutDialog.cpp:192
+#: AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "çevirici_emeği geçenler"
 
@@ -52,58 +52,61 @@ msgstr "çevirici_emeği geçenler"
 msgid "A Free Digital Audio Editor<br>"
 msgstr ""
 
-#: ../src/AboutDialog.cpp:154
+#: AboutDialog.cpp:211
 msgid "Credits"
 msgstr "Tanıtma Yazıları"
 
-#: AboutDialog.cpp:256
+#: AboutDialog.cpp:215
 #, c-format
 msgid "Audacity %s Development Team"
 msgstr ""
 
-#: AboutDialog.cpp:261
+#: AboutDialog.cpp:220
 #, c-format
 msgid "Audacity %s Support Team"
 msgstr ""
 
-#: AboutDialog.cpp:266
+#: AboutDialog.cpp:225
 msgid "Emeritus Developers"
 msgstr ""
 
-#: AboutDialog.cpp:271
+#: AboutDialog.cpp:230
 msgid "Other Emeritus Team Members"
 msgstr ""
 
-#: AboutDialog.cpp:276
+#: AboutDialog.cpp:235
 msgid "Other Contributors"
 msgstr ""
 
-#: AboutDialog.cpp:281
+#: AboutDialog.cpp:240
 msgid "Audacity is based on code from the following projects:"
 msgstr ""
 
-#: ../src/AboutDialog.cpp:237
+#: AboutDialog.cpp:245
 msgid "Special thanks:"
 msgstr "Özel teşekkürler:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
-#: AboutDialog.cpp:320
+#: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr ""
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
+#: AboutDialog.cpp:304
+#: AboutDialog.cpp:317
+#: AboutDialog.cpp:468
 msgid "Build Information"
 msgstr ""
 
-#: ../src/effects/AvcCompressor.cpp:652
+#: AboutDialog.cpp:310
+#: effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Etkin"
 
-#: AboutDialog.cpp:148
+#: AboutDialog.cpp:311
 msgid "Disabled"
 msgstr ""
 
@@ -112,27 +115,33 @@ msgid "File Format Support"
 msgstr ""
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:331 AboutDialog.cpp:333
+#: AboutDialog.cpp:331
+#: AboutDialog.cpp:333
 msgid "MP3 Importing"
 msgstr ""
 
-#: AboutDialog.cpp:340 AboutDialog.cpp:343
+#: AboutDialog.cpp:340
+#: AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
 msgstr ""
 
-#: AboutDialog.cpp:347 AboutDialog.cpp:350
+#: AboutDialog.cpp:347
+#: AboutDialog.cpp:350
 msgid "ID3 tag support"
 msgstr ""
 
-#: AboutDialog.cpp:357 AboutDialog.cpp:360
+#: AboutDialog.cpp:357
+#: AboutDialog.cpp:360
 msgid "FLAC import and export"
 msgstr ""
 
-#: AboutDialog.cpp:365 AboutDialog.cpp:368
+#: AboutDialog.cpp:365
+#: AboutDialog.cpp:368
 msgid "MP2 export"
 msgstr ""
 
-#: AboutDialog.cpp:373 AboutDialog.cpp:376
+#: AboutDialog.cpp:373
+#: AboutDialog.cpp:376
 msgid "Import via QuickTime"
 msgstr ""
 
@@ -141,172 +150,212 @@ msgstr ""
 msgid "Core Libraries"
 msgstr ""
 
-#: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
+#: AboutDialog.cpp:389
+#: AboutDialog.cpp:392
+#: AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 msgid "Sample rate conversion"
 msgstr ""
 
-#: AboutDialog.cpp:402 AboutDialog.cpp:405
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr ""
 
-#: AboutDialog.cpp:418
+#: AboutDialog.cpp:413
 msgid "Features"
 msgstr ""
 
-#: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
-#: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
-#: AboutDialog.cpp:446 AboutDialog.cpp:449
+#: AboutDialog.cpp:417
+#: AboutDialog.cpp:420
+#: AboutDialog.cpp:425
+#: AboutDialog.cpp:428
+#: AboutDialog.cpp:433
+#: AboutDialog.cpp:436
+#: AboutDialog.cpp:441
+#: AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr ""
 
-#: AboutDialog.cpp:454 AboutDialog.cpp:457
+#: AboutDialog.cpp:449
+#: AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr ""
 
-#: AboutDialog.cpp:462 AboutDialog.cpp:465
+#: AboutDialog.cpp:457
+#: AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr ""
 
-#: AboutDialog.cpp:204
+#: AboutDialog.cpp:472
 #, fuzzy
 msgid "Program build date: "
 msgstr "Program inÅŸa tarihi:"
 
-#: AboutDialog.cpp:480 AboutDialog.cpp:482
+#: AboutDialog.cpp:475
+#: AboutDialog.cpp:477
 msgid "Build type:"
 msgstr ""
 
-#: AboutDialog.cpp:480
+#: AboutDialog.cpp:475
 msgid "Debug build"
 msgstr ""
 
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:477
 msgid "Release build"
 msgstr ""
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
-#: AboutDialog.cpp:487
+#: AboutDialog.cpp:482
 msgid "Installation Prefix: "
 msgstr ""
 
-#: AboutDialog.cpp:209
+#: AboutDialog.cpp:486
 msgid "Settings folder: "
 msgstr ""
 
-#: AboutDialog.cpp:388
+#: AboutDialog.cpp:501
 msgid "GPL License"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:304 ../src/Project.cpp:1770
+#: AudacityApp.cpp:677
+#: Project.cpp:2031
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s başka pencerede zaten açık."
 
-#: ../src/AudacityApp.cpp:306 ../src/Project.cpp:1772 ../src/Project.cpp:1843
-#: ../src/Project.cpp:1894 ../src/Project.cpp:1905 ../src/Project.cpp:1943
+#: AudacityApp.cpp:679
+#: Project.cpp:2033
+#: Project.cpp:2153
+#: Project.cpp:2301
+#: Project.cpp:2433
 msgid "Error opening project"
 msgstr "Proje açılıyorken hata"
 
-#: ../src/AudacityApp.cpp:338
+#: AudacityApp.cpp:705
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s mevcut değil ve açılamadı.\n"
+msgstr ""
+"%s mevcut değil ve açılamadı.\n"
 "\n"
 "O geçmiş listesinden kaldırılmış."
 
-#: ../src/AudacityApp.cpp:367
+#: AudacityApp.cpp:812
 msgid "Master Gain Control"
 msgstr "Ana Kazanç Kontrolü"
 
-#: ../src/AudacityApp.cpp:368
+#: AudacityApp.cpp:813
 msgid "Input Meter"
 msgstr "Ölçer Ekle"
 
-#: ../src/AudacityApp.cpp:369
+#: AudacityApp.cpp:814
 msgid "Output Meter"
 msgstr "Çıkış Ölçer"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:534 Menus.cpp:575
-msgid "&Preferences...\tCtrl+,"
+#: AudacityApp.cpp:973
+#: Menus.cpp:199
+msgid "&New"
+msgstr "Ye&ni"
+
+#: AudacityApp.cpp:974
+#: Menus.cpp:203
+msgid "&Open..."
+msgstr "&Aç..."
+
+#: AudacityApp.cpp:975
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:976
+#: Menus.cpp:955
+msgid "&About Audacity..."
+msgstr "&Audacity Hakkında..."
+
+#: AudacityApp.cpp:977
+msgid "&Preferences..."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:626 ../src/AudacityApp.cpp:696
+#: AudacityApp.cpp:1068
+#: AudacityApp.cpp:1145
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "%ld nin öbek boyutunu kullanıyor\n"
 
-#: ../src/AudacityApp.cpp:641 ../src/AudacityApp.cpp:711
+#: AudacityApp.cpp:1090
+#: AudacityApp.cpp:1160
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Bilinmeyen komut satır seçeneği:%s\n"
 
-#: ../src/AudacityApp.cpp:773
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1314
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity geçici dosyaları saklamak için bir yer bulamadı.\n"
+msgstr ""
+"Audacity geçici dosyaları saklamak için bir yer bulamadı.\n"
 "Lütfen tercihler diyaloğu içinde uygun bir dizini girin."
 
-#: AudacityApp.cpp:845
+#: AudacityApp.cpp:1320
 #, fuzzy
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
 msgstr "Audacity şimdi çıkacak.  Lütfen yeni geçici dizini kullanmak için Audacity'i yeniden başlatın."
 
-#: AudacityApp.cpp:877
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1352
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
 msgstr ""
 
-#: AudacityApp.cpp:884
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1359
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
 msgstr ""
 
-#: AudacityApp.cpp:886
+#: AudacityApp.cpp:1361
 msgid "Do you still want to start Audacity?"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:829
+#: AudacityApp.cpp:1363
 msgid "Error locking temporary folder"
 msgstr "Geçici dizini kitliyorken hata"
 
-#: AudacityApp.cpp:900
+#: AudacityApp.cpp:1401
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr ""
 
-#: AudacityApp.cpp:902
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1403
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
 msgstr ""
 
-#: ../src/AudacityApp.cpp:846
+#: AudacityApp.cpp:1404
 msgid "Audacity is already running"
 msgstr "Audacity zaten çalışıyor"
 
-#: AudacityApp.cpp:1134
+#: AudacityApp.cpp:1421
 msgid "Command-line options supported:"
 msgstr ""
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1137
+#: AudacityApp.cpp:1424
 msgid "\t-help (this message)"
 msgstr ""
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1139
+#: AudacityApp.cpp:1426
 msgid "\t-version (display Audacity version)"
 msgstr ""
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1143
+#: AudacityApp.cpp:1430
 msgid "\t-test (run self diagnostics)"
 msgstr ""
 
@@ -314,77 +363,102 @@ msgstr ""
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1148
+#: AudacityApp.cpp:1435
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr ""
 
-#: AudacityApp.cpp:1149
+#: AudacityApp.cpp:1436
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
 msgstr ""
 
-#: ../src/AudacityApp.cpp:1099
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1747
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Audacity proje (.AUP) dosyaları halihazırdaki Audacity ile bağdaşmıyor. \n"
+msgstr ""
+"Audacity proje (.AUP) dosyaları halihazırdaki Audacity ile bağdaşmıyor. \n"
 "\n"
 "Onları bağdaştırın, bu yüzden onlar çift-tıklama ile açılsın mı?"
 
-#: ../src/AudacityApp.cpp:1100
+#: AudacityApp.cpp:1748
 msgid "Audacity Project Files"
 msgstr "Audacity Proje Dosyaları"
 
-#: AudioIO.cpp:214
+#: AudioIO.cpp:261
 msgid "Could not find any audio devices.\n"
 msgstr ""
 
-#: ../src/AudioIO.cpp:167
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:262
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "Ses kaydedemeyebilecek ya da oynatamayabileceksiniz.\n"
+msgstr ""
+"Ses kaydedemeyebilecek ya da oynatamayabileceksiniz.\n"
 "\n"
 
-#: ../src/AudioIO.cpp:170
+#: AudioIO.cpp:265
+#: AudioIO.cpp:285
 msgid "Error: "
 msgstr "Hata:"
 
-#: ../src/AudioIO.cpp:173
+#: AudioIO.cpp:268
 msgid "Error Initializing Audio"
 msgstr "Ses Başlatma Hatası"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
+#: AudioIO.cpp:281
+msgid "There was an error initializing the midi i/o layer.\n"
 msgstr ""
 
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:282
+#, fuzzy
+msgid ""
+"You will not be able to play midi.\n"
+"\n"
+msgstr ""
+"Ses kaydedemeyebilecek ya da oynatamayabileceksiniz.\n"
+"\n"
+
+#: AudioIO.cpp:288
+#, fuzzy
+msgid "Error Initializing Midi"
+msgstr "Ses Başlatma Hatası"
+
+#: AudioIO.cpp:1300
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
 
-#: AutoRecovery.cpp:40
+#: AudioIO.cpp:1301
+msgid "Latency problem"
+msgstr ""
+
+#: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr ""
 
-#: AutoRecovery.cpp:59
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+#: AutoRecovery.cpp:73
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
 msgstr ""
 
-#: AutoRecovery.cpp:61
+#: AutoRecovery.cpp:75
 msgid "Recoverable projects"
 msgstr ""
 
-#: AutoRecovery.cpp:64
+#: AutoRecovery.cpp:78
 msgid "Name"
 msgstr ""
 
-#: AutoRecovery.cpp:70
+#: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
 msgstr ""
 
-#: AutoRecovery.cpp:74
+#: AutoRecovery.cpp:88
 msgid "Quit Audacity"
 msgstr ""
 
@@ -397,7 +471,8 @@ msgid "Recover Projects"
 msgstr ""
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
 msgstr ""
 
@@ -405,83 +480,107 @@ msgstr ""
 msgid "Confirm?"
 msgstr ""
 
-#: AutoRecovery.cpp:132 AutoRecovery.cpp:169
+#: AutoRecovery.cpp:146
+#: AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:723 ../src/ControlToolBar.cpp:884
-#: ../src/effects/Effect.cpp:331 ../src/prefs/DirectoriesPrefs.cpp:204
+#: AutoRecovery.cpp:147
+#: AutoRecovery.cpp:184
+#: Menus.cpp:3278
+#: Menus.cpp:3290
+#: Menus.cpp:5359
+#: Project.cpp:2260
+#: Project.cpp:3882
+#: Project.cpp:3968
+#: TrackPanel.cpp:6505
+#: WaveTrack.cpp:977
+#: WaveTrack.cpp:996
+#: WaveTrack.cpp:2022
+#: effects/Contrast.cpp:144
+#: effects/Contrast.cpp:154
+#: effects/Effect.cpp:546
+#: export/ExportFFmpeg.cpp:655
+#: export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195
+#: prefs/KeyConfigPrefs.cpp:372
+#: toolbars/ControlToolBar.cpp:581
+#: toolbars/ControlToolBar.cpp:916
 msgid "Error"
 msgstr "Hata"
 
-#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
-#: BatchCommandDialog.cpp:61
+#: BatchCommandDialog.cpp:57
+#: BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr ""
 
-#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:451
-#: prefs/KeyConfigPrefs.cpp:140
+#: BatchCommandDialog.cpp:82
 msgid "&Command"
 msgstr ""
 
-#: BatchCommandDialog.cpp:82
+#: BatchCommandDialog.cpp:84
 msgid "&Edit Parameters"
 msgstr ""
 
-#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:452
+#: BatchCommandDialog.cpp:91
 msgid "&Parameters"
 msgstr ""
 
-#: BatchCommandDialog.cpp:93
+#: BatchCommandDialog.cpp:96
 msgid "C&hoose command"
 msgstr ""
 
-#: BatchCommands.cpp:456
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr ""
 
-#: ../src/export/Export.cpp:366
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "Ogg Vorbis desteği Audacity'nin bu sürümünde mevcut değil"
 
-#: BatchCommands.cpp:509
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr ""
 
-#: BatchCommands.cpp:513
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr ""
 
-#: BatchCommands.cpp:529
+#: BatchCommands.cpp:507
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
 msgstr ""
 
-#: BatchCommands.cpp:583
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr ""
 
-#: BatchCommands.cpp:674
+#: BatchCommands.cpp:651
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
 msgstr ""
 
-#: BatchCommands.cpp:675 BatchCommands.cpp:680
+#: BatchCommands.cpp:652
+#: BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr ""
 
-#: BatchCommands.cpp:679
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr ""
 
-#: BatchProcessDialog.cpp:58 BatchProcessDialog.cpp:68
-#: BatchProcessDialog.cpp:69
+#: BatchProcessDialog.cpp:60
+#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr ""
 
@@ -489,46 +588,38 @@ msgstr ""
 msgid "CleanSpeech Batch Processing"
 msgstr ""
 
-#: BatchProcessDialog.cpp:92
+#: BatchProcessDialog.cpp:94
 msgid "&Select chain"
 msgstr ""
 
-#: BatchProcessDialog.cpp:97
+#: BatchProcessDialog.cpp:99
 msgid "Chain"
 msgstr ""
 
-#: BatchProcessDialog.cpp:104
+#: BatchProcessDialog.cpp:106
 msgid "Apply to Current &Project"
 msgstr ""
 
-#: BatchProcessDialog.cpp:105
+#: BatchProcessDialog.cpp:107
 msgid "Apply to &Files..."
 msgstr ""
 
-#: BatchProcessDialog.cpp:106 BatchProcessDialog.cpp:245 LabelDialog.cpp:134
-#: LabelDialog.cpp:138 UploadDialog.cpp:178 effects/Amplify.cpp:209
-#: effects/AutoDuck.cpp:528 effects/AutoDuck.cpp:532
-#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:184
-#: effects/ChangePitch.cpp:395 effects/ChangeSpeed.cpp:393
-#: effects/ChangeTempo.cpp:297 effects/ClickRemoval.cpp:429
-#: effects/Compressor.cpp:516 effects/Effect.cpp:387 effects/Effect.cpp:393
-#: effects/Equalization.cpp:1166 effects/Leveller.cpp:266
-#: effects/Normalize.cpp:353 effects/Phaser.cpp:600 effects/Repeat.cpp:271
-#: effects/SpikeCleaner.cpp:188 effects/TruncSilence.cpp:278
-#: effects/VST/VSTEffect.cpp:95 effects/VST/VSTEffect.cpp:452
-#: effects/Wahwah.cpp:587 effects/audiounits/AudioUnitEffect.cpp:862
-#: effects/ladspa/LadspaEffect.cpp:589 effects/nyquist/Nyquist.cpp:823
-#: effects/nyquist/Nyquist.cpp:987 export/Export.cpp:788
-#: export/ExportMultiple.cpp:844 import/ImportRaw.cpp:443
-#: prefs/FileFormatPrefs.cpp:407 prefs/PrefsDialog.cpp:169
+#: BatchProcessDialog.cpp:108
+#: BatchProcessDialog.cpp:245
+#: UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732
+#: effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188
+#: effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
 msgstr ""
 
-#: BatchProcessDialog.cpp:144 BatchProcessDialog.cpp:189
+#: BatchProcessDialog.cpp:146
+#: BatchProcessDialog.cpp:189
 msgid "No chain selected"
 msgstr ""
 
-#: BatchProcessDialog.cpp:157
+#: BatchProcessDialog.cpp:159
 #, c-format
 msgid "Applying '%s' to current project"
 msgstr ""
@@ -537,7 +628,7 @@ msgstr ""
 msgid "Please save and close the current project first."
 msgstr ""
 
-#: BatchProcessDialog.cpp:206
+#: BatchProcessDialog.cpp:204
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
 msgstr ""
 
@@ -545,7 +636,7 @@ msgstr ""
 msgid "Select file(s) for batch processing..."
 msgstr ""
 
-#: BatchProcessDialog.cpp:209
+#: BatchProcessDialog.cpp:207
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
 msgstr ""
 
@@ -561,82 +652,98 @@ msgstr ""
 msgid "File"
 msgstr ""
 
-#: BatchProcessDialog.cpp:354 BatchProcessDialog.cpp:358
-#: BatchProcessDialog.cpp:359
+#: BatchProcessDialog.cpp:352
+#: BatchProcessDialog.cpp:356
+#: BatchProcessDialog.cpp:357
 msgid "Edit Chains"
 msgstr ""
 
-#: BatchProcessDialog.cpp:414
+#: BatchProcessDialog.cpp:412
 msgid "&Chains"
 msgstr ""
 
-#: BatchProcessDialog.cpp:433
+#: BatchProcessDialog.cpp:431
+#: Tags.cpp:825
 msgid "&Add"
 msgstr ""
 
-#: BatchProcessDialog.cpp:434 LabelDialog.cpp:126 TrackPanel.cpp:3925
+#: BatchProcessDialog.cpp:432
+#: LabelDialog.cpp:128
+#: Tags.cpp:826
 msgid "&Remove"
 msgstr ""
 
-#: BatchProcessDialog.cpp:435
+#: BatchProcessDialog.cpp:433
 msgid "Re&name"
 msgstr ""
 
-#: BatchProcessDialog.cpp:441
+#: BatchProcessDialog.cpp:439
 msgid "C&hain (Double-Click or press SPACE to edit)"
 msgstr ""
 
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:449
+msgid "Num"
+msgstr ""
+
 #: BatchProcessDialog.cpp:450
-msgid "No"
+#: commands/CommandManager.cpp:108
+#: prefs/KeyConfigPrefs.cpp:180
+msgid "Command"
 msgstr ""
 
-#: BatchProcessDialog.cpp:456
+#: BatchProcessDialog.cpp:451
+#: effects/Contrast.cpp:279
+msgid "Parameters"
+msgstr ""
+
+#: BatchProcessDialog.cpp:455
 msgid "&Insert"
 msgstr ""
 
-#: BatchProcessDialog.cpp:457
+#: BatchProcessDialog.cpp:456
 msgid "De&lete"
 msgstr ""
 
-#: BatchProcessDialog.cpp:458
+#: BatchProcessDialog.cpp:457
 msgid "Move &Up"
 msgstr ""
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:458
 msgid "Move &Down"
 msgstr ""
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:459
 msgid "De&faults"
 msgstr ""
 
-#: BatchProcessDialog.cpp:504
+#: BatchProcessDialog.cpp:503
 msgid "- END -"
 msgstr ""
 
-#: BatchProcessDialog.cpp:531
+#: BatchProcessDialog.cpp:536
 #, c-format
 msgid "%s changed"
 msgstr ""
 
-#: BatchProcessDialog.cpp:532
+#: BatchProcessDialog.cpp:537
 msgid "Do you want to save the changes?"
 msgstr ""
 
-#: BatchProcessDialog.cpp:614
+#: BatchProcessDialog.cpp:619
 msgid "Enter name of new chain"
 msgstr ""
 
-#: BatchProcessDialog.cpp:625
+#: BatchProcessDialog.cpp:630
 msgid "Name must not be blank"
 msgstr ""
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:639
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
 msgstr ""
 
-#: BatchProcessDialog.cpp:664
+#: BatchProcessDialog.cpp:669
 #, c-format
 msgid "Are you sure you want to delete %s?"
 msgstr ""
@@ -649,187 +756,205 @@ msgstr ""
 msgid "Copying audio data into project..."
 msgstr ""
 
-#: Dependencies.cpp:219
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:226
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
 msgstr ""
 
-#: Dependencies.cpp:266
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
 msgstr ""
 
-#: Dependencies.cpp:287
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr ""
 
-#: Dependencies.cpp:290
+#: Dependencies.cpp:297
 msgid "Audio file"
 msgstr ""
 
-#: Dependencies.cpp:292
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr ""
 
-#: Dependencies.cpp:297
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
 msgstr ""
 
-#: Dependencies.cpp:304 Dependencies.cpp:413
+#: Dependencies.cpp:311
+#: Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr ""
 
-#: Dependencies.cpp:306
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr ""
 
-#: Dependencies.cpp:308
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr ""
 
-#: Dependencies.cpp:320 Dependencies.cpp:325
+#: Dependencies.cpp:324
+#: Dependencies.cpp:329
 msgid "Ask me"
 msgstr ""
 
-#: Dependencies.cpp:318
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr ""
 
-#: Dependencies.cpp:319
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr ""
 
-#: Dependencies.cpp:324
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr ""
 
-#: Dependencies.cpp:412
+#: Dependencies.cpp:416
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
 msgstr ""
 
-#: Dependencies.cpp:452
+#: Dependencies.cpp:456
 msgid "Your project is self-contained; it does not depend on any external audio files."
 msgstr ""
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr ""
 
 #: DirManager.cpp:136
 #, fuzzy
-msgid "Warning: there is very little free disk space left on this volume.\n"
-"Please select another temporary directory in your preferences."
+msgid ""
+"There is very little free disk space left on this volume.\n"
+"Please select another temporary directory in Preferences."
 msgstr "Dikkat: bu bölüm üzerinde çok az yeterli disk bölümü var. Lütfen tercihleriniz içindeki başka geçici dizin seçin."
 
-#: ../src/DirManager.cpp:157
+#: DirManager.cpp:221
+#: DirManager.cpp:252
+#: DirManager.cpp:335
 msgid "Progress"
 msgstr "Ä°ÅŸlem"
 
-#: DirManager.cpp:285
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr ""
 
-#: DirManager.cpp:333
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr ""
 
-#: DirManager.cpp:406
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr ""
 
-#: DirManager.cpp:493
+#: DirManager.cpp:503
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
 msgstr ""
 
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: ../src/DirManager.cpp:627
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-eski%d"
 
-#: DirManager.cpp:993
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr ""
 
-#: DirManager.cpp:1002
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr ""
 
-#: ../src/DirManager.cpp:643
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Dosya yeniden adlandırıldı: %s\n"
 
-#: DirManager.cpp:1051
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr ""
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115 DirManager.cpp:1403
+#: DirManager.cpp:1247
+#: DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr ""
 
-#: DirManager.cpp:1128
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr ""
 
-#: DirManager.cpp:1153
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr ""
 
-#: DirManager.cpp:1173
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr ""
 
-#: DirManager.cpp:1193
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr ""
 
-#: DirManager.cpp:1207
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1342
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
 msgstr ""
 
-#: DirManager.cpp:1219
+#: DirManager.cpp:1354
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
 msgstr ""
 
-#: DirManager.cpp:1224
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr ""
 
-#: DirManager.cpp:1225
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr ""
 
-#: DirManager.cpp:1226
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr ""
 
-#: ../src/widgets/Warning.cpp:45
+#: DirManager.cpp:1363
+#: DirManager.cpp:1398
+#: DirManager.cpp:1444
+#: DirManager.cpp:1486
+#: export/Export.cpp:581
+#: export/Export.cpp:602
+#: export/Export.cpp:621
+#: widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Dikkat"
 
-#: DirManager.cpp:1254
+#: DirManager.cpp:1389
 #, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
@@ -837,36 +962,41 @@ msgid "Project check detected %d input file[s] being used in place\n"
 "and try to restore the missing files by hand."
 msgstr ""
 
-#: DirManager.cpp:1259
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr ""
 
-#: DirManager.cpp:1260 DirManager.cpp:1348
+#: DirManager.cpp:1395
+#: DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr ""
 
-#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
+#: DirManager.cpp:1396
+#: DirManager.cpp:1442
+#: DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr ""
 
-#: DirManager.cpp:1300
+#: DirManager.cpp:1435
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
 msgstr ""
 
-#: DirManager.cpp:1305
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr ""
 
-#: DirManager.cpp:1306
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr ""
 
-#: DirManager.cpp:1342
+#: DirManager.cpp:1477
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
@@ -875,256 +1005,338 @@ msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
 "missing data by hand."
 msgstr ""
 
-#: DirManager.cpp:1347
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr ""
 
-#: DirManager.cpp:1375
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr ""
 
-#: DirManager.cpp:1448
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr ""
 
-#: DirManager.cpp:1449
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr ""
 
-#: DirManager.cpp:1486
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr ""
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr ""
 
-#: ../src/FFT.cpp:364
+#: FFT.cpp:389
 msgid "Rectangular"
 msgstr "Dikdörtgenel"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
 msgstr ""
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
 msgstr ""
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
 msgstr ""
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
 msgstr ""
 
-#: export/ExportMP3.cpp:507
+#: FFmpeg.cpp:434
+#: export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr ""
 
-#: export/ExportMP3.cpp:516
+#: FFmpeg.cpp:443
+#: export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr ""
 
-#: export/ExportMP3.cpp:522
+#: FFmpeg.cpp:449
+#: export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr ""
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr ""
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451
+#: export/ExportMP3.cpp:579
 msgid "Download"
 msgstr ""
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: ../src/export/ExportMP3.cpp:113
+#: FFmpeg.cpp:473
+#: export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "%s nerede?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
 msgstr ""
 
-#: FFmpeg.h:95
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
 msgstr ""
 
-#: FFmpeg.h:251
+#: FFmpeg.h:264
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr ""
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr ""
 
-#: FFmpeg.h:266
+#: FFmpeg.h:324
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:68
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Frekans Analizi"
 
-#: ../src/FreqWindow.cpp:129 ../src/TrackPanel.cpp:837
+#: FreqWindow.cpp:163
+#: TrackPanel.cpp:611
+#: prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Spektrum"
 
-#: ../src/FreqWindow.cpp:130
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Standart Özilinti"
 
-#: ../src/FreqWindow.cpp:131
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:132
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Gelişmiş Özilinti"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: ../src/FreqWindow.cpp:136
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Kepstrum"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
+#: FreqWindow.cpp:174
+#: FreqWindow.cpp:178
 msgid "Algorithm"
 msgstr ""
 
-#: ../src/HistoryWindow.cpp:58
+#: FreqWindow.cpp:193
+#: FreqWindow.cpp:197
+#: HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Boyut"
 
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: ../src/FreqWindow.cpp:167
+#: FreqWindow.cpp:207
 msgid " window"
 msgstr "pencere"
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+#: FreqWindow.cpp:211
+#: FreqWindow.cpp:215
 msgid "Function"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:177
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "DoÄŸrusal frekans"
 
-#: ../src/FreqWindow.cpp:178
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Frekans günlüğü"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+#: FreqWindow.cpp:225
+#: FreqWindow.cpp:229
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:204 LabelDialog.cpp:128
+#: FreqWindow.cpp:236
+#: LabelDialog.cpp:130
+#: Menus.cpp:256
 msgid "&Export..."
 msgstr ""
 
-#: HelpText.cpp:77 export/ExportCL.cpp:320
+#: FreqWindow.cpp:237
+#: effects/Contrast.cpp:395
+#: export/ExportCL.cpp:358
+#: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr ""
 
-#: ../src/Benchmark.cpp:223 ../src/effects/ClickRemoval.cpp:371
-#: ../src/effects/NoiseRemoval.cpp:463 ../src/FreqWindow.cpp:123
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:244
+#: FreqWindow.cpp:245
+#: widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Kapat"
 
-#: ../src/effects/Compressor.cpp:385 ../src/effects/Compressor.cpp:393
-#: ../src/widgets/Meter.cpp:293
+#: FreqWindow.cpp:247
+#: FreqWindow.cpp:250
+#: effects/Equalization.cpp:1300
+#: effects/Equalization.cpp:1303
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:314
+#: FreqWindow.cpp:516
+#: effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537
+#: effects/AutoDuck.cpp:806
+#: effects/Compressor.cpp:360
+#: effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1142
+#: effects/Equalization.cpp:1144
+#: effects/Equalization.cpp:1152
+#: effects/Equalization.cpp:1218
+#: effects/Equalization.cpp:1434
+#: effects/Equalization.cpp:1445
+#: effects/Normalize.cpp:372
+#: widgets/Meter.cpp:406
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: ../src/import/ImportRaw.cpp:378
+#: FreqWindow.cpp:330
+#: FreqWindow.cpp:556
+#: effects/Equalization.cpp:1183
+#: effects/Equalization.cpp:1214
+#: import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Hz"
 
-#: ../src/FreqWindow.cpp:463
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Spektrumu çizdirmek için, tüm seçili izler aynı örnek oranda olmalıdır."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Çok fazla ses seçilmiş.  Sesin sadece ilk %.1f saniyesi çözümlenecek."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Seçilen yeterli veri yok."
 
-#: FreqWindow.cpp:441 effects/AutoDuck.cpp:801
+#: FreqWindow.cpp:564
+#: effects/AutoDuck.cpp:808
 msgid "s"
 msgstr ""
 
-#: FreqWindow.cpp:769
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr ""
 
-#: FreqWindow.cpp:778
+#: FreqWindow.cpp:907
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
 msgstr ""
 
-#: ../src/FreqWindow.cpp:996
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spectrum.txt"
 
-#: ../src/FreqWindow.cpp:998
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Olarak Ä°zgel Veriyi Aktar:"
 
-#: ../src/FreqWindow.cpp:1014 ../src/Menus.cpp:1390
-#: ../src/prefs/KeyConfigPrefs.cpp:173 ../src/Project.cpp:2159
+#: FreqWindow.cpp:1216
+#: LabelDialog.cpp:603
+#: Menus.cpp:2663
+#: effects/Contrast.cpp:587
+#: prefs/KeyConfigPrefs.cpp:319
 msgid "Couldn't write to file: "
 msgstr "Dosyaya yazılamadı: "
 
-#: ../src/FreqWindow.cpp:1019
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Frekans (Hz)\tSeviye (dB)"
 
-#: ../src/FreqWindow.cpp:1025
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Gecikme (saniye)\tFrekans (Hz)\tSeviye"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr ""
 
-#: HelpText.cpp:60
+#: HelpText.cpp:92
 msgid "Welcome!"
 msgstr ""
 
-#: HelpText.cpp:65
+#: HelpText.cpp:97
 msgid "Playing Audio"
 msgstr ""
 
-#: HelpText.cpp:69
+#: HelpText.cpp:101
 msgid "Recording Audio"
 msgstr ""
 
@@ -1156,11 +1368,11 @@ msgstr ""
 msgid "Unsupported Formats"
 msgstr ""
 
-#: HelpText.cpp:85
+#: HelpText.cpp:133
 msgid "Burn to CD"
 msgstr ""
 
-#: HelpText.cpp:89
+#: HelpText.cpp:137
 msgid "No Local Help"
 msgstr ""
 
@@ -1189,7 +1401,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1213,7 +1425,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1224,7 +1436,7 @@ msgstr ""
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
 msgstr ""
 
-#: ../src/HistoryWindow.cpp:44
+#: HistoryWindow.cpp:53
 msgid "Undo History"
 msgstr "Geri Al Geçmişi"
 
@@ -1232,7 +1444,7 @@ msgstr "Geri Al Geçmişi"
 msgid "Manage History"
 msgstr ""
 
-#: ../src/HistoryWindow.cpp:57
+#: HistoryWindow.cpp:78
 msgid "Action"
 msgstr "Eylem"
 
@@ -1244,1567 +1456,1610 @@ msgstr ""
 msgid "Levels To Discard"
 msgstr ""
 
-#: HistoryWindow.cpp:102
+#: HistoryWindow.cpp:103
 msgid "&Discard"
 msgstr ""
 
-#: HistoryWindow.cpp:111 LabelDialog.cpp:135 LabelDialog.cpp:137
-#: effects/Amplify.cpp:214 effects/AutoDuck.cpp:529 effects/AutoDuck.cpp:531
-#: effects/ChangeLength.cpp:187 effects/ChangePitch.cpp:399
-#: effects/ChangeSpeed.cpp:397 effects/ChangeTempo.cpp:301
-#: effects/Compressor.cpp:519 effects/Effect.cpp:389 effects/Effect.cpp:391
-#: effects/Equalization.cpp:1169 effects/Leveller.cpp:269
-#: effects/Normalize.cpp:356 effects/Phaser.cpp:605 effects/Repeat.cpp:274
-#: effects/SpikeCleaner.cpp:191 effects/VST/VSTEffect.cpp:98
-#: effects/Wahwah.cpp:592 effects/ladspa/LadspaEffect.cpp:592
-#: effects/nyquist/Nyquist.cpp:829 export/Export.cpp:791
-#: prefs/FileFormatPrefs.cpp:408 prefs/PrefsDialog.cpp:164
+#: HistoryWindow.cpp:112
+#: effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191
+#: export/ExportCL.cpp:432
 msgid "&OK"
 msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:114
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Tanımlanamadı"
 
-#: ../src/import/ImportRaw.cpp:354
+#: Internat.cpp:147
+#: import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "byte'lar"
 
-#: Internat.cpp:182
+#: Internat.cpp:149
 msgid "KB"
 msgstr ""
 
-#: Internat.cpp:185
+#: Internat.cpp:152
 msgid "MB"
 msgstr ""
 
-#: Internat.cpp:188
+#: Internat.cpp:155
 msgid "GB"
 msgstr ""
 
-#: LabelDialog.cpp:50
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
+#: LabelDialog.cpp:54
 msgid "Track"
 msgstr ""
 
-#: ../src/Menus.cpp:3085
+#: LabelDialog.cpp:55
+#: Menus.cpp:4855
+#: Menus.cpp:4890
 msgid "Label"
 msgstr "Etiket"
 
-#: LabelDialog.cpp:54
+#: LabelDialog.cpp:56
+#: TimerRecordDialog.cpp:328
 msgid "Start Time"
 msgstr ""
 
-#: LabelDialog.cpp:53
+#: LabelDialog.cpp:57
+#: TimerRecordDialog.cpp:347
 msgid "End Time"
 msgstr ""
 
-#: LabelDialog.cpp:98 Menus.cpp:709
-msgid "&Edit Labels"
-msgstr ""
+#: LabelDialog.cpp:100
+#, fuzzy
+msgid "Edit Labels"
+msgstr "Etiketler"
 
-#: LabelDialog.cpp:113
+#: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
 msgstr ""
 
-#: LabelDialog.cpp:124
+#: LabelDialog.cpp:126
 msgid "Insert &After"
 msgstr ""
 
-#: LabelDialog.cpp:125
+#: LabelDialog.cpp:127
 msgid "Insert &Before"
 msgstr ""
 
-#: LabelDialog.cpp:127 Menus.cpp:234
+#: LabelDialog.cpp:129
 msgid "&Import..."
 msgstr ""
 
-#: LabelDialog.cpp:163
+#: LabelDialog.cpp:157
 msgid "New..."
 msgstr ""
 
-#: LabelDialog.cpp:352
-msgid "You have left blank label names.  These will be\n"
+#: LabelDialog.cpp:354
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
 msgstr ""
 
-#: LabelDialog.cpp:350
+#: LabelDialog.cpp:355
+#: LangChoice.cpp:130
 msgid "Confirm"
 msgstr ""
 
-#: ../src/Menus.cpp:2628
+#: LabelDialog.cpp:516
+#: Menus.cpp:4273
 msgid "Select a text file containing labels..."
 msgstr "Bir Metin dosyası içeren etiketler seçin..."
 
-#: ../src/Menus.cpp:2632
+#: LabelDialog.cpp:520
+#: Menus.cpp:4277
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Metin dosyaları (*.txt)|*.txt|Tüm dosyalar (*.*)|*.*"
 
-#: ../src/import/ImportMIDI.cpp:31 ../src/Menus.cpp:2644
-#: ../src/Project.cpp:1820 ../src/Project.cpp:1828
+#: LabelDialog.cpp:534
+#: Menus.cpp:4289
+#: Project.cpp:2116
+#: Project.cpp:2124
 msgid "Could not open file: "
 msgstr "Dosya açılamadı: "
 
-#: LabelDialog.cpp:549
+#: LabelDialog.cpp:560
 msgid "No labels to export."
 msgstr ""
 
-#: ../src/Menus.cpp:1355
+#: LabelDialog.cpp:566
+#: Menus.cpp:2626
 msgid "Export Labels As:"
 msgstr "Olarak Etikete Aktar:"
 
-#: ../src/Menus.cpp:1353
+#: LabelDialog.cpp:568
+#: Menus.cpp:2624
 msgid "labels.txt"
 msgstr "labels.txt"
 
-#: LabelDialog.cpp:690
+#: LabelDialog.cpp:703
 #, fuzzy
 msgid "New Label Track"
 msgstr "Yeni Eti&ket Ä°zi"
 
-#: LabelDialog.cpp:691
+#: LabelDialog.cpp:704
 msgid "Enter track name"
 msgstr ""
 
-#: LabelDialog.cpp:692 LabelDialog.h:50 LabelTrack.cpp:87 Menus.cpp:645
+#: LabelDialog.cpp:705
+#: LabelDialog.h:52
+#: LabelTrack.cpp:92
 #, fuzzy
-msgid "&Label Track"
+msgid "Label Track"
 msgstr "Etiket Ä°zi"
 
-#: ../src/LangChoice.cpp:47
+#: LangChoice.cpp:58
 msgid "Audacity First Run"
 msgstr "Audacity İlk Kez Çalıştırma"
 
-#: ../src/LangChoice.cpp:74
+#: LangChoice.cpp:90
 msgid "Choose Language for Audacity to use:"
 msgstr "Kullanılacak Audacity için Dili Seç"
 
-#: ../src/Legacy.cpp:337
+#: LangChoice.cpp:125
+#, c-format
+msgid "The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."
+msgstr ""
+
+#: Legacy.cpp:372
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "1.0 proje dosyası yeni biçeme dönüştürüldü.\n"
+msgstr ""
+"1.0 proje dosyası yeni biçeme dönüştürüldü.\n"
 "Eski dosya '%s' olarak kaydedildi"
 
-#: ../src/Legacy.cpp:338
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Audacity Projesi Açılıyor"
 
-#: ../src/Menus.cpp:139
+#: Menus.cpp:196
 msgid "&File"
 msgstr "&Dosya"
 
-#: ../src/Menus.cpp:141
-msgid "&New\tCtrl+N"
-msgstr "Ye&ni\tCtrl+N"
-
-#: ../src/Menus.cpp:143
-msgid "&Open...\tCtrl+O"
-msgstr "&Aç...\tCtrl+O"
+#: Menus.cpp:215
+msgid "&Close"
+msgstr "&Kapat"
 
-#: ../src/Menus.cpp:145
-msgid "&Close\tCtrl+W"
-msgstr "&Kapat\tCtrl+W"
+#: Menus.cpp:218
+msgid "&Save Project"
+msgstr "Projeyi &Kaydet"
 
-#: ../src/Menus.cpp:146
-msgid "&Save Project\tCtrl+S"
-msgstr "Projeyi &Kaydet\tCtrl+S"
-
-#: ../src/Menus.cpp:150
+#: Menus.cpp:221
 msgid "Save Project &As..."
 msgstr "Projeyi Farklı K&aydet:"
 
-#: Menus.cpp:212
+#: Menus.cpp:223
 msgid "Save Compressed Copy of Project..."
 msgstr ""
 
-#: Menus.cpp:223
+#: Menus.cpp:227
 msgid "Chec&k Dependencies..."
 msgstr ""
 
-#: Menus.cpp:185
+#: Menus.cpp:231
 msgid "Open Me&tadata Editor..."
 msgstr ""
 
-#: import/ImportRaw.cpp:447
+#: Menus.cpp:239
+#: import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr ""
 
-#: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
+#: Menus.cpp:241
+msgid "&Audio..."
 msgstr ""
 
-#: Menus.cpp:237
+#: Menus.cpp:242
 msgid "&Labels..."
 msgstr ""
 
-#: Menus.cpp:238
+#: Menus.cpp:244
 msgid "&MIDI..."
 msgstr ""
 
-#: Menus.cpp:239
+#: Menus.cpp:246
 msgid "&Raw Data..."
 msgstr ""
 
-#: Menus.cpp:208 Menus.cpp:237
+#: Menus.cpp:261
 msgid "Expo&rt Selection..."
 msgstr ""
 
-#: ../src/Menus.cpp:173
+#: Menus.cpp:269
 msgid "Export &Labels..."
 msgstr "Etiket&leri Aktar..."
 
-#: ../src/Menus.cpp:174
+#: Menus.cpp:272
 msgid "Export &Multiple..."
 msgstr "Çoklu A&ktar..."
 
-#: Menus.cpp:257
+#: Menus.cpp:276
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
+#: Menus.cpp:282
+msgid "Appl&y Chain..."
 msgstr ""
 
-#: Menus.cpp:340 Menus.cpp:354
+#: Menus.cpp:285
 msgid "Edit C&hains..."
 msgstr ""
 
-#: Menus.cpp:292
+#: Menus.cpp:288
 msgid "Export CleanSpeech &Presets..."
 msgstr ""
 
-#: Menus.cpp:293
+#: Menus.cpp:289
 msgid "I&mport CleanSpeech Presets..."
 msgstr ""
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
-#: Menus.cpp:358
+#: Menus.cpp:296
 msgid "&Upload File..."
 msgstr ""
 
-#: Menus.cpp:363
+#: Menus.cpp:301
 #, fuzzy
 msgid "Pa&ge Setup..."
 msgstr "Sayfa Ayarı..."
 
-#: Menus.cpp:364
+#: Menus.cpp:304
 msgid "&Print..."
 msgstr ""
 
-#: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
+#: Menus.cpp:313
+msgid "E&xit"
 msgstr ""
 
-#: ../src/Menus.cpp:227
+#: Menus.cpp:323
 msgid "&Edit"
 msgstr "&Düzenle"
 
-#: ../src/Menus.cpp:231
-msgid "&Undo\tCtrl+Z"
-msgstr "&Geri Al\tCtrl+Z"
+#: Menus.cpp:328
+msgid "&Undo"
+msgstr "&Geri Al"
 
-#: ../src/Menus.cpp:239
+#: Menus.cpp:340
 msgid "&Redo"
 msgstr "Ä°le&ri Al"
 
-#: ../src/Menus.cpp:252
-msgid "Cu&t\tCtrl+X"
-msgstr "Ke&s\tCtrl+X"
+#: Menus.cpp:346
+msgid "Cu&t"
+msgstr "Ke&s"
 
-#: Menus.cpp:420
-msgid "Spl&it Cut\tCtrl+Alt+X"
+#: Menus.cpp:349
+msgid "Spl&it Cut"
 msgstr ""
 
-#: ../src/Menus.cpp:253
-msgid "&Copy\tCtrl+C"
-msgstr "&Kopyala\tCtrl+C"
+#: Menus.cpp:350
+msgid "&Copy"
+msgstr "&Kopyala"
 
-#: ../src/Menus.cpp:254
-msgid "&Paste\tCtrl+V"
-msgstr "Ya&pıştır\tCtrl+V"
+#: Menus.cpp:353
+msgid "&Paste"
+msgstr "Ya&pıştır"
 
-#: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
+#: Menus.cpp:356
+msgid "Tri&m"
 msgstr ""
 
-#: ../src/Menus.cpp:260
-msgid "&Delete\tCtrl+K"
-msgstr "&Sil\tCtrl+K"
+#: Menus.cpp:360
+#: Menus.cpp:399
+msgid "&Delete"
+msgstr "&Sil"
 
-#: Menus.cpp:429
-msgid "Split D&elete\tCtrl+Alt+K"
+#: Menus.cpp:361
+msgid "Split D&elete"
 msgstr ""
 
-#: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+#: Menus.cpp:362
+msgid "Silence Audi&o"
 msgstr ""
 
-#: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
+#: Menus.cpp:366
+msgid "Sp&lit"
 msgstr ""
 
-#: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
+#: Menus.cpp:370
+msgid "Split Ne&w"
 msgstr ""
 
-#: Menus.cpp:442
-msgid "&Join\tCtrl+J"
+#: Menus.cpp:374
+#: Menus.cpp:406
+msgid "&Join"
 msgstr ""
 
-#: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+#: Menus.cpp:375
+#: Menus.cpp:407
+msgid "Detac&h at Silences"
 msgstr ""
 
-#: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
+#: Menus.cpp:376
+msgid "Duplic&ate"
 msgstr ""
 
-#: Menus.cpp:400 Menus.cpp:639
+#: Menus.cpp:381
+#: Menus.cpp:617
 msgid "Stereo Trac&k to Mono"
 msgstr ""
 
-#: Menus.cpp:407
+#: Menus.cpp:390
 msgid "La&beled Regions"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:460
-msgid "&Cut\tAlt+X"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
+#: Menus.cpp:393
+msgid "&Cut"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
+#: Menus.cpp:394
+msgid "&Split Cut"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
+#: Menus.cpp:395
+msgid "Co&py"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
+#: Menus.cpp:400
+msgid "Sp&lit Delete"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
+#: Menus.cpp:401
+msgid "Sile&nce"
 msgstr ""
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
+#: Menus.cpp:405
+msgid "Spli&t"
 msgstr ""
 
-#: Menus.cpp:456
+#: Menus.cpp:413
 msgid "&Select"
 msgstr ""
 
-#: ../src/Menus.cpp:269
-msgid "&All\tCtrl+A"
-msgstr "&Tüm\tCtrl+A"
+#: Menus.cpp:416
+msgid "&All"
+msgstr "&Tüm"
 
-#: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
+#: Menus.cpp:417
+msgid "&None"
 msgstr ""
 
-#: Menus.cpp:462
-msgid "&Left at Playback Position\t["
+#: Menus.cpp:419
+msgid "&Left at Playback Position"
 msgstr ""
 
-#: Menus.cpp:463
-msgid "&Right at Playback Position\t]"
+#: Menus.cpp:420
+msgid "&Right at Playback Position"
 msgstr ""
 
-#: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
+#: Menus.cpp:424
+msgid "Track &Start to Cursor"
 msgstr ""
 
-#: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
+#: Menus.cpp:425
+msgid "Cursor to Track &End"
 msgstr ""
 
-#: Menus.cpp:525
+#: Menus.cpp:431
 #, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "Sıfır Kesmelerini Bul\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Sıfır Kesmelerini Bul"
 
-#: Menus.cpp:476
+#: Menus.cpp:435
 msgid "Mo&ve Cursor"
 msgstr ""
 
-#: Menus.cpp:478
+#: Menus.cpp:437
 #, fuzzy
 msgid "to Selection Star&t"
 msgstr "Seçimi Başlatmak için"
 
-#: Menus.cpp:479
+#: Menus.cpp:438
 #, fuzzy
 msgid "to Selection En&d"
 msgstr "Seçimi Sonlandırmak için"
 
-#: Menus.cpp:483
-msgid "to Track &Start\tJ"
+#: Menus.cpp:440
+msgid "to Track &Start"
 msgstr ""
 
-#: Menus.cpp:484
-msgid "to Track &End\tK"
+#: Menus.cpp:441
+msgid "to Track &End"
 msgstr ""
 
-#: Menus.cpp:491
+#: Menus.cpp:449
 msgid "Re&gion Save"
 msgstr ""
 
-#: Menus.cpp:492
+#: Menus.cpp:452
 msgid "Regio&n Restore"
 msgstr ""
 
-#: Menus.cpp:503
+#: Menus.cpp:460
 msgid "Pla&y Region"
 msgstr ""
 
-#: Menus.cpp:504
+#: Menus.cpp:462
 msgid "&Lock"
 msgstr ""
 
-#: Menus.cpp:505
+#: Menus.cpp:465
 msgid "&Unlock"
 msgstr ""
 
-#: ../src/Menus.cpp:311
-msgid "Turn Snap-To On"
-msgstr ""
-
-#: ../src/Menus.cpp:312
-msgid "Turn Snap-To Off"
-msgstr ""
-
-#: ../src/Menus.cpp:313
-msgid "Turn Grid Snap On"
-msgstr ""
-
-#: ../src/Menus.cpp:314
-msgid "Turn Grid Snap Off"
+#: Menus.cpp:485
+msgid "Pre&ferences..."
 msgstr ""
 
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
-
-#: ../src/Menus.cpp:345
+#: Menus.cpp:495
 msgid "&View"
 msgstr "Görünü&m"
 
-#: ../src/Menus.cpp:347
-msgid "Zoom &In\tCtrl+1"
-msgstr "Yak&ınlaş\tCtrl+1"
+#: Menus.cpp:498
+msgid "Zoom &In"
+msgstr "Yak&ınlaş"
 
-#: ../src/Menus.cpp:350
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "&Normal Odaklama\tCtrl+2"
+#: Menus.cpp:501
+msgid "Zoom &Normal"
+msgstr "&Normal Odaklama"
 
-#: ../src/Menus.cpp:351
-msgid "Zoom &Out\tCtrl+3"
-msgstr "&UzaklaÅŸ\tCtrl+3"
+#: Menus.cpp:502
+msgid "Zoom &Out"
+msgstr "&UzaklaÅŸ"
 
-#: ../src/Menus.cpp:354
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Pencereye Sığdır\tCtrl+F"
+#: Menus.cpp:506
+msgid "&Fit in Window"
+msgstr "&Pencereye Sığdır"
 
-#: ../src/Menus.cpp:355
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Düşey Olarak &Sığdır\tCtrl+Shift+F"
+#: Menus.cpp:507
+msgid "Fit &Vertically"
+msgstr "Düşey Olarak &Sığdır"
 
-#: ../src/Menus.cpp:356
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Seçime &Yaklaş\tCtrl+E"
+#: Menus.cpp:508
+msgid "&Zoom to Selection"
+msgstr "Seçime &Yaklaş"
 
-#: Menus.cpp:603
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
+#: Menus.cpp:512
+msgid "&Collapse All Tracks"
 msgstr ""
 
-#: Menus.cpp:604
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
+#: Menus.cpp:513
+msgid "E&xpand All Tracks"
 msgstr ""
 
-#: Menus.cpp:551
+#: Menus.cpp:517
 msgid "&Show Clipping"
 msgstr ""
 
-#: ../src/Menus.cpp:364
+#: Menus.cpp:522
 msgid "&History..."
 msgstr "&Geçmiş..."
 
-#: Menus.cpp:566
+#: Menus.cpp:530
 msgid "&Toolbars"
 msgstr ""
 
-#: Menus.cpp:567
+#: Menus.cpp:532
 msgid "&Control Toolbar"
 msgstr ""
 
-#: Menus.cpp:568
+#: Menus.cpp:533
 msgid "&Device Toolbar"
 msgstr ""
 
-#: Menus.cpp:569
+#: Menus.cpp:534
 msgid "&Edit Toolbar"
 msgstr ""
 
-#: Menus.cpp:570
+#: Menus.cpp:535
 msgid "&Meter Toolbar"
 msgstr ""
 
-#: Menus.cpp:571
+#: Menus.cpp:536
 msgid "Mi&xer Toolbar"
 msgstr ""
 
-#: Menus.cpp:572
+#: Menus.cpp:537
 msgid "&Selection Toolbar"
 msgstr ""
 
-#: Menus.cpp:573
+#: Menus.cpp:538
 msgid "T&ools Toolbar"
 msgstr ""
 
-#: Menus.cpp:574
+#: Menus.cpp:539
 msgid "Transcri&ption Toolbar"
 msgstr ""
 
-#: Menus.cpp:576
+#: Menus.cpp:543
 msgid "&Reset Toolbars"
 msgstr ""
 
-#: Menus.cpp:578
+#: Menus.cpp:551
 msgid "!Simplified View"
 msgstr ""
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:562
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
+#: Menus.cpp:565
+#: toolbars/ControlToolBar.cpp:173
+msgid "Play"
 msgstr ""
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+#: Menus.cpp:566
+msgid "&Loop Play"
 msgstr ""
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
+#: Menus.cpp:567
+msgid "&Pause"
 msgstr ""
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
+#: Menus.cpp:570
+msgid "&Stop"
 msgstr ""
 
-#: ../src/Menus.cpp:566
-msgid "Skip to Start\tHome"
-msgstr "Başlamayı Atla\tHome"
+#: Menus.cpp:573
+#: toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Başlamayı Atla"
 
-#: ../src/Menus.cpp:567
-msgid "Skip to End\tEnd"
-msgstr "Sonlamayı Atla\tEnd"
+#: Menus.cpp:574
+#: toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Sonlamayı Atla"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
+#: Menus.cpp:578
+msgid "&Record"
 msgstr ""
 
-#: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+#: Menus.cpp:579
+msgid "&Timer Record..."
 msgstr ""
 
-#: Menus.cpp:604
-msgid "Append Record\tShift+R"
+#: Menus.cpp:580
+msgid "Append Record"
 msgstr ""
 
-#: Menus.cpp:607
+#: Menus.cpp:584
 msgid "Overdub (on/off)"
 msgstr ""
 
-#: Menus.cpp:609
+#: Menus.cpp:585
 msgid "Software Playthrough (on/off)"
 msgstr ""
 
-#: Menus.cpp:612
+#: Menus.cpp:588
 msgid "Sound Activated Recording (on/off)"
 msgstr ""
 
-#: Menus.cpp:614
+#: Menus.cpp:589
 msgid "Sound Activation Level..."
 msgstr ""
 
-#: Menus.cpp:635
+#: Menus.cpp:597
 msgid "&Tracks"
 msgstr ""
 
-#: Menus.cpp:629
+#: Menus.cpp:602
 msgid "Add &New"
 msgstr ""
 
-#: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
+#: Menus.cpp:604
+msgid "&Audio Track"
 msgstr ""
 
-#: Menus.cpp:644
+#: Menus.cpp:605
 msgid "&Stereo Track"
 msgstr ""
 
-#: Menus.cpp:646 TimeTrack.cpp:44
+#: Menus.cpp:606
+#, fuzzy
+msgid "&Label Track"
+msgstr "Etiket Ä°zi"
+
+#: Menus.cpp:607
 #, fuzzy
 msgid "&Time Track"
 msgstr "Zaman Ä°zi"
 
-#: Menus.cpp:643
+#: Menus.cpp:620
 msgid "Mi&x and Render"
 msgstr ""
 
-#: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
+#: Menus.cpp:623
+msgid "Mix and Render to New Track"
 msgstr ""
 
-#: Menus.cpp:662
+#: Menus.cpp:626
 msgid "&Resample..."
 msgstr ""
 
-#: ../src/Menus.cpp:398
+#: Menus.cpp:632
 msgid "Remo&ve Tracks"
 msgstr "İ&zleri Kaldır"
 
-#: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
+#: Menus.cpp:638
+msgid "&Mute All Tracks"
 msgstr ""
 
-#: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
+#: Menus.cpp:639
+msgid "&UnMute All Tracks"
 msgstr ""
 
-#: ../src/Menus.cpp:405
+#: Menus.cpp:644
 msgid "Align with &Zero"
 msgstr "Sıfıra &Yasla"
 
-#: ../src/Menus.cpp:406
+#: Menus.cpp:645
 msgid "Align with &Cursor"
 msgstr "O&k ile birlikte yasla"
 
-#: ../src/Menus.cpp:407
+#: Menus.cpp:646
 msgid "Align with Selection &Start"
 msgstr "Seçim Başlangıcı ile Ya&sla"
 
-#: ../src/Menus.cpp:408
+#: Menus.cpp:647
 msgid "Align with Selection &End"
 msgstr "S&eçim Sonu ile Yasla"
 
-#: Menus.cpp:676
+#: Menus.cpp:648
 #, fuzzy
 msgid "Align End with Cu&rsor"
 msgstr "Ok ile Sona Yasla"
 
-#: Menus.cpp:677
+#: Menus.cpp:649
 #, fuzzy
 msgid "Align End with Selection Star&t"
 msgstr "Seçim Başlangıcı ile Sona Yasla"
 
-#: Menus.cpp:678
+#: Menus.cpp:650
 #, fuzzy
 msgid "Align End with Selection En&d"
 msgstr "Seçim Sonu ile Sona Yasla"
 
-#: Menus.cpp:679
+#: Menus.cpp:651
 #, fuzzy
 msgid "Align Tracks To&gether"
 msgstr "Ä°zleri Birlikte Yasla"
 
-#: Menus.cpp:681
+#: Menus.cpp:653
 msgid "&Align Tracks"
 msgstr ""
 
-#: Menus.cpp:690
+#: Menus.cpp:668
 msgid "Ali&gn and Move Cursor"
 msgstr ""
 
-#: Menus.cpp:697
+#: Menus.cpp:680
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:687
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Seçimde Etiket Ekle\tCtrl+B"
+#: Menus.cpp:691
+msgid "Add Label At &Selection"
+msgstr ""
 
-#: Menus.cpp:706
+#: Menus.cpp:694
 #, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Yeniden Çalma Konumunda Etiket Ekle\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Yeniden Çalma Konumunda Etiket Ekle"
 
-#: Menus.cpp:716
+#: Menus.cpp:697
+msgid "&Edit Labels"
+msgstr ""
+
+#: Menus.cpp:703
 msgid "S&ort tracks"
 msgstr ""
 
-#: Menus.cpp:717
+#: Menus.cpp:705
 msgid "by &Start time"
 msgstr ""
 
-#: Menus.cpp:719
+#: Menus.cpp:708
 msgid "by &Name"
 msgstr ""
 
-#: ../src/Menus.cpp:441
+#: Menus.cpp:722
 msgid "&Generate"
 msgstr "&OluÅŸtur"
 
-#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
+#: Menus.cpp:767
+#: Menus.cpp:852
+#: Menus.cpp:922
 msgid "Unsorted"
 msgstr ""
 
-#: ../src/Menus.cpp:464
+#: Menus.cpp:789
 msgid "Effe&ct"
 msgstr "Et&ki"
 
-#: ../src/Menus.cpp:468
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Son Etkiyi Tekrarla\tCtrl+R"
-
-#: ../src/Menus.cpp:494
+#: Menus.cpp:873
 msgid "&Analyze"
 msgstr "Çözüml&e"
 
-#: Menus.cpp:692
+#: Menus.cpp:875
+msgid "Contrast..."
+msgstr ""
+
+#: Menus.cpp:878
 msgid "Plot Spectrum..."
 msgstr ""
 
-#. i18n-hint: The name of the Help menu
-#: ../src/Menus.cpp:521 ../src/Menus.cpp:537
+#: Menus.cpp:945
+#: Menus.cpp:948
 msgid "&Help"
 msgstr "&Yardım"
 
-#: Menus.cpp:829
+#: Menus.cpp:952
 msgid "&About Audacity CleanSpeech..."
 msgstr ""
 
-#: Menus.cpp:735
+#: Menus.cpp:958
 msgid "&Show Welcome Message..."
 msgstr ""
 
-#: Menus.cpp:736
-msgid "&Index..."
+#: Menus.cpp:959
+msgid "&Help..."
 msgstr ""
 
-#: Menus.cpp:959
+#: Menus.cpp:960
 msgid "Show &Log..."
 msgstr ""
 
-#: Menus.cpp:744
+#: Menus.cpp:966
 msgid "&Screenshot Tools..."
 msgstr ""
 
-#: ../src/Menus.cpp:530
+#: Menus.cpp:971
 msgid "&Run Benchmark..."
 msgstr "Denektaşı'nı Çalıştı&r..."
 
-#: Menus.cpp:749
+#: Menus.cpp:976
 msgid "&Audio Device Info..."
 msgstr ""
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:987
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:988
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
-#: ../src/Menus.cpp:546
-msgid "Selection Tool\tF1"
-msgstr "Seçim Aracı\tF1"
-
-#: ../src/Menus.cpp:547
-msgid "Envelope Tool\tF2"
-msgstr "Zarf Aracı\tF2"
-
-#: ../src/Menus.cpp:548
-msgid "Draw Tool\tF3"
-msgstr "Çizim Aracı\tF3"
+#: Menus.cpp:990
+#: toolbars/ToolsToolBar.cpp:147
+#: toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Seçim Aracı"
 
-#: ../src/Menus.cpp:549
-msgid "Zoom Tool\tF4"
-msgstr "Odaklanma Aracı\tF4"
+#: Menus.cpp:991
+#: toolbars/ToolsToolBar.cpp:148
+#: toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Zarf Aracı"
 
-#: ../src/Menus.cpp:550
-msgid "Time Shift Tool\tF5"
-msgstr "Zaman Öteleme Aracı\tF5"
+#: Menus.cpp:992
+#: toolbars/ToolsToolBar.cpp:151
+#: toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Çizim Aracı"
 
-#: ../src/Menus.cpp:551
-msgid "Multi Tool\tF6"
-msgstr "Çoklu Araç\tF6"
+#: Menus.cpp:993
+#: toolbars/ToolsToolBar.cpp:150
+#: toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Odaklanma Aracı"
 
-#: ../src/Menus.cpp:553
-msgid "Next Tool\tD"
-msgstr "Sonraki Araç\tD"
+#: Menus.cpp:994
+#: toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Zaman Öteleme Aracı"
 
-#: ../src/Menus.cpp:554
-msgid "Previous Tool\tA"
-msgstr "Önceki Araç\tA"
+#: Menus.cpp:995
+#: toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Çoklu Araç"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
+msgid "Next Tool"
+msgstr "Sonraki Araç"
 
-#: ../src/Menus.cpp:557
-msgid "Stop\tS"
-msgstr "Durdur\tS"
+#: Menus.cpp:998
+msgid "Previous Tool"
+msgstr "Önceki Araç"
 
-#: ../src/Menus.cpp:558
-msgid "Pause\tP"
-msgstr "Duraklat\tP"
-
-#: ../src/Menus.cpp:559
-msgid "Record\tR"
-msgstr "Kayıt\tR"
-
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
+#: Menus.cpp:1000
+msgid "Play/Stop"
 msgstr ""
 
 #: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
+msgid "Play/Stop and Set Cursor"
 msgstr ""
 
-#: ../src/Menus.cpp:561
-msgid "Play One Second\t1"
-msgstr "Bir Saniye Oynat\t1"
+#: Menus.cpp:1002
+msgid "Play One Second"
+msgstr "Bir Saniye Oynat"
 
-#: ../src/Menus.cpp:562
-msgid "Play To Selection\tB"
-msgstr "Seçimde Oynat\tB"
+#: Menus.cpp:1003
+msgid "Play To Selection"
+msgstr "Seçimde Oynat"
 
-#: ../src/Menus.cpp:563
-msgid "Play Looped\tL"
+#: Menus.cpp:1004
+msgid "Play Cut Preview"
 msgstr ""
 
+#: Menus.cpp:1006
+msgid "Selection to Start"
+msgstr "Başlangıçtaki Seçim"
+
+#: Menus.cpp:1007
+msgid "Selection to End"
+msgstr "Sondaki Seçim"
+
 #: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "DeleteKey"
+msgstr "SilTuÅŸu"
 
-#: Menus.cpp:873
-msgid "Play Cut Preview\tC"
+#: Menus.cpp:1013
+msgid "DeleteKey2"
+msgstr "SilTuÅŸu2"
+
+#: Menus.cpp:1019
+msgid "Short seek left during playback"
 msgstr ""
 
-#: ../src/Menus.cpp:569
-msgid "Selection to Start\tShift+Home"
-msgstr "Başlangıçtaki Seçim\tShift+Home"
+#: Menus.cpp:1020
+msgid "Short seek right during playback"
+msgstr ""
 
-#: ../src/Menus.cpp:570
-msgid "Selection to End\tShift+End"
-msgstr "Sondaki Seçim\tShift+End"
+#: Menus.cpp:1021
+msgid "Long seek left during playback"
+msgstr ""
 
-#: ../src/Menus.cpp:572
-msgid "DeleteKey\tBackspace"
-msgstr "SilTuÅŸu\tBackspace"
+#: Menus.cpp:1022
+msgid "Long Seek right during playback"
+msgstr ""
 
-#: ../src/Menus.cpp:577
-msgid "DeleteKey2\tDelete"
-msgstr "SilTuÅŸu2\tDelete"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous Track"
+msgstr ""
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
+#: Menus.cpp:1028
+msgid "Move Focus to Previous and Select"
 msgstr ""
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
+#: Menus.cpp:1029
+msgid "Move Focus to Next Track"
 msgstr ""
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
+#: Menus.cpp:1030
+msgid "Move Focus to Next and Select"
 msgstr ""
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
+#: Menus.cpp:1031
+#: Menus.cpp:1032
+msgid "Toggle Focused Track"
 msgstr ""
 
-#: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
+#: Menus.cpp:1034
+msgid "Cursor Left"
+msgstr "Sol İmleç"
+
+#: Menus.cpp:1035
+msgid "Cursor Right"
+msgstr "Sağ İmleç"
+
+#: Menus.cpp:1036
+msgid "Cursor Short Jump Left"
 msgstr ""
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
+#: Menus.cpp:1037
+msgid "Cursor Short Jump Right"
 msgstr ""
 
-#: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
+#: Menus.cpp:1038
+msgid "Cursor Long Jump Left"
 msgstr ""
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
+#: Menus.cpp:1039
+msgid "Cursor Long Jump Right"
 msgstr ""
 
-#: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
+#: Menus.cpp:1041
+msgid "Selection Extend Left"
+msgstr "Seçimi Sola Genişlet"
+
+#: Menus.cpp:1042
+msgid "Selection Extend Right"
+msgstr "Seçimi Sağa Genişlet"
+
+#: Menus.cpp:1044
+msgid "Set (or Extend) Left Selection"
 msgstr ""
 
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
+#: Menus.cpp:1045
+msgid "Set (or Extend) Right Selection"
 msgstr ""
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
+#: Menus.cpp:1047
+msgid "Selection Contract Left"
 msgstr ""
 
-#: ../src/Menus.cpp:582
-msgid "Cursor Left\tLeft"
-msgstr "Sol İmleç\tSol"
+#: Menus.cpp:1048
+msgid "Selection Contract Right"
+msgstr ""
 
-#: ../src/Menus.cpp:583
-msgid "Cursor Right\tRight"
-msgstr "Sağ İmleç\tSağ"
+#: Menus.cpp:1050
+msgid "Change pan on focused track"
+msgstr ""
 
-#: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
+#: Menus.cpp:1051
+msgid "Pan left on focused track"
 msgstr ""
 
-#: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
+#: Menus.cpp:1052
+msgid "Pan right on focused track"
 msgstr ""
 
-#: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
+#: Menus.cpp:1053
+msgid "Change gain on focused track"
 msgstr ""
 
-#: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
+#: Menus.cpp:1054
+msgid "Increase gain on focused track"
 msgstr ""
 
-#: ../src/Menus.cpp:584
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Seçimi Sola Genişlet\tShift+Left"
+#: Menus.cpp:1055
+msgid "Decrease gain on focused track"
+msgstr ""
 
-#: ../src/Menus.cpp:585
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Seçimi Sağa Genişlet\tShift+Right"
+#: Menus.cpp:1056
+msgid "Open menu on focused track"
+msgstr ""
 
-#: Menus.cpp:828
-msgid "Set (or Extend) Left Selection"
+#: Menus.cpp:1057
+msgid "Mute/Unmute focused track"
 msgstr ""
 
-#: Menus.cpp:829
-msgid "Set (or Extend) Right Selection"
+#: Menus.cpp:1058
+msgid "Solo/Unsolo focused track"
 msgstr ""
 
-#: ../src/Menus.cpp:586
-msgid "Selection Contract Left\tCtrl+Shift+Right"
+#: Menus.cpp:1059
+msgid "Close focused track"
 msgstr ""
 
-#: ../src/Menus.cpp:587
-msgid "Selection Contract Right\tCtrl+Shift+Left"
+#: Menus.cpp:1061
+msgid "Snap To On"
 msgstr ""
 
-#: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
+#: Menus.cpp:1062
+msgid "Snap To Off"
 msgstr ""
 
-#: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
+#: Menus.cpp:1066
+msgid "Full screen on/off"
 msgstr ""
 
-#: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
+#: Menus.cpp:1068
+msgid "Adjust output gain"
 msgstr ""
 
-#: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
+#: Menus.cpp:1069
+msgid "Increase output gain"
 msgstr ""
 
-#: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
+#: Menus.cpp:1070
+msgid "Decrease output gain"
 msgstr ""
 
-#: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
+#: Menus.cpp:1071
+msgid "Adjust input gain"
 msgstr ""
 
-#: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
+#: Menus.cpp:1072
+msgid "Increase input gain"
 msgstr ""
 
-#: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
+#: Menus.cpp:1073
+msgid "Decrease input gain"
 msgstr ""
 
-#: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
+#: Menus.cpp:1075
+msgid "Adjust input source"
 msgstr ""
 
-#: Menus.cpp:925
-msgid "Close focused track\tShift+C"
+#: Menus.cpp:1079
+msgid "Play at speed"
 msgstr ""
 
-#: Menus.cpp:845
-msgid "Snap To On"
+#: Menus.cpp:1080
+msgid "Adjust playback speed"
 msgstr ""
 
-#: Menus.cpp:846
-msgid "Snap To Off"
+#: Menus.cpp:1081
+msgid "Increase playback speed"
 msgstr ""
 
-#: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+#: Menus.cpp:1082
+msgid "Decrease playback speed"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:939
+#: Menus.cpp:1167
 msgid "Open Recent"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1161
+#: Menus.cpp:1170
 msgid "Recent &Files"
 msgstr ""
 
-#: ../src/Menus.cpp:617
+#: Menus.cpp:1188
 #, c-format
 msgid "&Undo %s"
 msgstr "&Geri Al %s"
 
-#: ../src/Menus.cpp:623
+#: Menus.cpp:1214
 msgid "Can't Undo"
 msgstr "Geri Alınamadı"
 
-#: ../src/Menus.cpp:630
+#: Menus.cpp:1223
 #, c-format
 msgid "&Redo %s"
 msgstr "Ge&ri Al %s"
 
-#: ../src/Menus.cpp:636
+#: Menus.cpp:1229
 msgid "Can't Redo"
 msgstr "İleri Alınamadı"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1874
 msgid "Sort By Time"
 msgstr ""
 
-#: Menus.cpp:1557
+#: Menus.cpp:1874
 msgid "Tracks sorted by time"
 msgstr ""
 
-#: Menus.cpp:1583
+#: Menus.cpp:1900
 msgid "Sort By Name"
 msgstr ""
 
-#: Menus.cpp:1583
+#: Menus.cpp:1900
 msgid "Tracks sorted by name"
 msgstr ""
 
-#: Menus.cpp:1710
-msgid "Set Left Selection Bound"
+#: Menus.cpp:2051
+#: Menus.cpp:2087
+msgid "Position"
 msgstr ""
 
-#: Menus.cpp:1744
-msgid "Set Right Selection Bound"
-msgstr ""
+#: Menus.cpp:2051
+#, fuzzy
+msgid "Set Left Selection Boundary"
+msgstr "Seçim Noktasını Ayarla"
+
+#: Menus.cpp:2087
+#, fuzzy
+msgid "Set Right Selection Boundary"
+msgstr "Seçim Noktasını Ayarla"
 
-#: ../src/Menus.cpp:1222
+#: Menus.cpp:2444
 msgid "You must select a track first."
 msgstr "İlk izi seçmelisiniz."
 
-#: ../src/Menus.cpp:1245
+#: Menus.cpp:2479
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "%s Tekrarla\tCtrl+R"
+msgid "Repeat %s"
+msgstr "%s Tekrarla"
 
-#: ../src/Menus.cpp:1349
+#: Menus.cpp:2620
 msgid "There are no label tracks to export."
 msgstr "Aktarılacak etiket izleri yok."
 
-#: Menus.cpp:2608
+#: Menus.cpp:2715
 msgid "Export MIDI As:"
 msgstr ""
 
-#: Menus.cpp:2612
+#: Menus.cpp:2719
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr ""
 
-#: Menus.cpp:2644
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2751
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
 
-#: Menus.cpp:2645
+#: Menus.cpp:2752
 msgid "Export MIDI"
 msgstr ""
 
-#: ../src/Menus.cpp:1633
+#: Menus.cpp:2830
 msgid "Nothing to undo"
 msgstr "Geri alınacak hiçbirşey yok"
 
-#: ../src/Menus.cpp:1652
+#: Menus.cpp:2851
 msgid "Nothing to redo"
 msgstr "İleri alınacak hiçbirşey yok"
 
-#: ../src/EditToolBar.cpp:148 ../src/Menus.cpp:1710
+#: Menus.cpp:2958
+#: TrackPanel.cpp:652
+#: toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Kes"
 
-#: ../src/Menus.cpp:1710
+#: Menus.cpp:2958
 msgid "Cut to the clipboard"
 msgstr "Panoda kes"
 
-#: Menus.cpp:2468
+#: Menus.cpp:2997
 msgid "Split Cut"
 msgstr ""
 
-#: Menus.cpp:2468
+#: Menus.cpp:2997
 msgid "Split-cut to the clipboard"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:152 ../src/Menus.cpp:1815 ../src/Menus.cpp:1859
+#: Menus.cpp:3063
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
+#: TrackPanel.cpp:654
+#: toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Yapıştır"
 
-#: Menus.cpp:2530
+#: Menus.cpp:3063
 msgid "Pasted text from the clipboard"
 msgstr ""
 
-#: ../src/Menus.cpp:1815 ../src/Menus.cpp:1859
+#: Menus.cpp:3128
+#: Menus.cpp:3209
+#: Menus.cpp:3408
 msgid "Pasted from the clipboard"
 msgstr "Panodan yapıştır"
 
-#: Menus.cpp:3053
+#: Menus.cpp:3277
 msgid "Pasting one type of track into another is not allowed."
 msgstr ""
 
-#: Menus.cpp:2628
+#: Menus.cpp:3289
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr ""
 
-#: ../src/Menus.cpp:1899
+#: Menus.cpp:3444
+#: toolbars/EditToolBar.cpp:193
 msgid "Trim"
 msgstr "Kırp"
 
-#: ../src/Menus.cpp:1899
+#: Menus.cpp:3444
 msgid "Trim file to selection"
 msgstr "Seçilecek dosyayı kırp"
 
-#: Menus.cpp:2747
+#: Menus.cpp:3473
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr ""
 
-#: Menus.cpp:2750
+#: Menus.cpp:3476
 msgid "Split Delete"
 msgstr ""
 
-#: Menus.cpp:2771
+#: Menus.cpp:3497
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr ""
 
-#: Menus.cpp:2774
+#: Menus.cpp:3500
 msgid "Disjoin"
 msgstr ""
 
-#: Menus.cpp:2795
+#: Menus.cpp:3521
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr ""
 
-#: Menus.cpp:2798
+#: Menus.cpp:3524
 msgid "Join"
 msgstr ""
 
-#: ../src/Menus.cpp:1923
+#: Menus.cpp:3543
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "%.2f'deki %.2f saniye için seçilen izler susturuldu"
 
-#: ../src/Menus.cpp:1925
+#: Menus.cpp:3545
+#: toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Sessizlik"
 
-#: ../src/Menus.cpp:1959
+#: Menus.cpp:3575
 msgid "Duplicate"
 msgstr "Çoğalt"
 
-#: ../src/Menus.cpp:1959
+#: Menus.cpp:3575
 msgid "Duplicated"
 msgstr "Çoğaltıldı"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3594
 msgid "Cut Labels"
 msgstr ""
 
-#: Menus.cpp:2872
+#: Menus.cpp:3594
 msgid "Cut labeled regions to the clipboard"
 msgstr ""
 
-#: Menus.cpp:2886
+#: Menus.cpp:3608
 msgid "SplitCut labeled regions to the clipboard"
 msgstr ""
 
-#: Menus.cpp:2887
+#: Menus.cpp:3609
 msgid "Split Cut Labels"
 msgstr ""
 
-#: Menus.cpp:2901
+#: Menus.cpp:3623
 msgid "Copied labeled regions to the clipboard"
 msgstr ""
 
-#: Menus.cpp:2901
+#: Menus.cpp:3623
 msgid "Copy Labels"
 msgstr ""
 
-#: Menus.cpp:2913
+#: Menus.cpp:3635
 msgid "Delete Labels"
 msgstr ""
 
-#: Menus.cpp:2913
+#: Menus.cpp:3635
 msgid "Deleted labeled regions"
 msgstr ""
 
-#: Menus.cpp:2925
+#: Menus.cpp:3647
 msgid "Split Delete Labels"
 msgstr ""
 
-#: Menus.cpp:2925
+#: Menus.cpp:3647
 msgid "Split Deleted labeled regions"
 msgstr ""
 
-#: Menus.cpp:2937
+#: Menus.cpp:3659
 msgid "Silence Labels"
 msgstr ""
 
-#: Menus.cpp:2937
+#: Menus.cpp:3659
 msgid "Silenced labeled regions"
 msgstr ""
 
-#: Menus.cpp:2949
+#: Menus.cpp:3671
 msgid "Split Labels"
 msgstr ""
 
-#: Menus.cpp:2949
+#: Menus.cpp:3671
 msgid "Split labeled regions"
 msgstr ""
 
-#: Menus.cpp:2961
+#: Menus.cpp:3683
 msgid "Join Labels"
 msgstr ""
 
-#: Menus.cpp:2961
+#: Menus.cpp:3683
 msgid "Joined labeled regions"
 msgstr ""
 
-#: Menus.cpp:2973
+#: Menus.cpp:3695
 msgid "Disjoin Labels"
 msgstr ""
 
-#: Menus.cpp:2973
+#: Menus.cpp:3695
 msgid "Disjoined labeled regions"
 msgstr ""
 
-#: ../src/Menus.cpp:2006 ../src/TrackPanel.cpp:4134
+#: Menus.cpp:3717
+#: TrackPanel.cpp:6257
 msgid "Split"
 msgstr "Böl"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3806
 msgid "Split New"
 msgstr ""
 
-#: Menus.cpp:3089
+#: Menus.cpp:3806
 msgid "Split to new track"
 msgstr ""
 
-#: ../src/Menus.cpp:2089
+#: Menus.cpp:3888
 msgid "Split at labels"
 msgstr "Etiketlerde böl"
 
-#: ../src/Menus.cpp:2366
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Spektrumu çizdirmek için, tüm seçili izler aynı örnek oranda olmalıdır."
-
-#: ../src/Menus.cpp:2392
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Çok fazla ses seçilmiş.  Sesin sadece ilk %.1f saniyesi çözümlenecek."
-
-#: ../src/Menus.cpp:2657
+#: Menus.cpp:4302
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "'%s' den etiketler alındı"
 
-#: ../src/Menus.cpp:2658
+#: Menus.cpp:4303
 msgid "Import Labels"
 msgstr "Etiketleri Al"
 
-#: ../src/Menus.cpp:2669
+#: Menus.cpp:4314
 msgid "Select a MIDI file..."
 msgstr "Bir MIDI dosyası seçin..."
 
-#: Menus.cpp:4147
+#: Menus.cpp:4318
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
 msgstr ""
 
-#: ../src/Menus.cpp:2691
+#: Menus.cpp:4334
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "'%s' den MIDI Alındı"
 
-#: ../src/Menus.cpp:2693
+#: Menus.cpp:4335
 msgid "Import MIDI"
 msgstr "MIDI Al"
 
-#: ../src/Menus.cpp:2706
+#: Menus.cpp:4349
 msgid "Select any uncompressed audio file..."
 msgstr "Herhangi açılmamış ses dosyası seçin..."
 
-#: ../src/Menus.cpp:2710
+#: Menus.cpp:4353
 msgid "All files (*)|*"
 msgstr "Tüm dosyalar (*)|*"
 
-#: Menus.cpp:3630
+#: Menus.cpp:4377
 msgid "Edit the metadata tags"
 msgstr ""
 
-#: Menus.cpp:3631
+#: Menus.cpp:4378
+#: export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr ""
 
-#: Menus.cpp:3631
+#: Menus.cpp:4378
 msgid "Edit Metadata tags"
 msgstr ""
 
-#: Menus.cpp:3749
+#: Menus.cpp:4433
 #, c-format
 msgid "Rendered all audio in track '%s'"
 msgstr ""
 
-#: Menus.cpp:3750
+#: Menus.cpp:4434
 msgid "Render"
 msgstr ""
 
-#: Menus.cpp:3755
+#: Menus.cpp:4439
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr ""
 
-#: Menus.cpp:3758
+#: Menus.cpp:4442
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr ""
 
-#: Menus.cpp:658 Menus.cpp:3760 Mix.cpp:119
-msgid "&Mix and Render"
+#: Menus.cpp:4444
+#: Mix.cpp:120
+msgid "Mix and Render"
 msgstr ""
 
-#: ../src/Menus.cpp:2889
+#: Menus.cpp:4576
 msgid "Aligned with zero"
 msgstr "Sıfıra hizalı"
 
-#: ../src/Menus.cpp:2893
+#: Menus.cpp:4580
 msgid "Aligned cursor"
 msgstr "Hizalı ok"
 
-#: ../src/Menus.cpp:2897
+#: Menus.cpp:4584
 msgid "Aligned with selection start"
 msgstr "Seçim başlangıcı ile hizalı"
 
-#: ../src/Menus.cpp:2901
+#: Menus.cpp:4588
 msgid "Aligned with selection end"
 msgstr "Seçim sonu ile hizalı"
 
-#: ../src/Menus.cpp:2905
+#: Menus.cpp:4592
 msgid "Aligned end with cursor"
 msgstr "Ok ile sona hizalanmış"
 
-#: ../src/Menus.cpp:2909
+#: Menus.cpp:4596
 msgid "Aligned end with selection start"
 msgstr "Seçim başlangıcı ile sona hizalanmış"
 
-#: ../src/Menus.cpp:2913
+#: Menus.cpp:4600
 msgid "Aligned end with selection end"
 msgstr "Seçim sonu ile sona hizalanmış"
 
-#: ../src/Menus.cpp:2917
+#: Menus.cpp:4604
 msgid "Aligned"
 msgstr "Hizalı"
 
-#: ../src/Menus.cpp:2950
+#: Menus.cpp:4637
 msgid "Align"
 msgstr "Hizala"
 
-#: Menus.cpp:4550
+#: Menus.cpp:4723
 msgid "Sync MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:4554
+#: Menus.cpp:4727
 msgid "Alignment completed."
 msgstr ""
 
-#: ../src/Menus.cpp:2974
+#: Menus.cpp:4738
 msgid "Created new audio track"
 msgstr "Yeni ses izi oluÅŸturuldu"
 
-#: ../src/Menus.cpp:2974 ../src/Menus.cpp:2998 ../src/Menus.cpp:3013
-#: ../src/Menus.cpp:3049
+#: Menus.cpp:4738
+#: Menus.cpp:4760
+#: Menus.cpp:4775
+#: Menus.cpp:4795
 msgid "New Track"
 msgstr "Yeni Ä°z"
 
-#: ../src/Menus.cpp:2998
+#: Menus.cpp:4760
 msgid "Created new stereo audio track"
 msgstr "Yeni çiftli ses izi oluşturuldu"
 
-#: ../src/Menus.cpp:3013
+#: Menus.cpp:4775
 msgid "Created new label track"
 msgstr "Yeni etiket izi oluÅŸturuldu"
 
-#: ../src/Menus.cpp:3038
+#: Menus.cpp:4784
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "Kullandığınız Audacity sürümü çoklu zaman izlerini desteklemiyor."
 
-#: ../src/Menus.cpp:3049
+#: Menus.cpp:4795
 msgid "Created new time track"
 msgstr "Yeni zaman izi oluÅŸturuldu"
 
-#: ../src/Menus.cpp:3085
+#: Menus.cpp:4855
 msgid "Added label"
 msgstr "EklenmiÅŸ etiket"
 
-#: Menus.cpp:4119
+#: Menus.cpp:4890
 msgid "Edited labels"
 msgstr ""
 
-#: Menus.cpp:4146
+#: Menus.cpp:4917
 msgid "Save CleanSpeech Preset File As:"
 msgstr ""
 
-#: Menus.cpp:4150
+#: Menus.cpp:4921
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr ""
 
-#: ../src/export/Export.cpp:185
+#: Menus.cpp:4928
+#: export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Üzgünüm, 256 karakterden uzun yol isimleri desteklenmiyor."
 
-#: Menus.cpp:4203
+#: Menus.cpp:4974
 msgid "Problem encountered exporting presets."
 msgstr ""
 
-#: Menus.cpp:4204 export/Export.cpp:136
+#: Menus.cpp:4975
+#: export/Export.cpp:472
 msgid "Unable to export"
 msgstr ""
 
-#: ../src/Menus.cpp:3119
+#: Menus.cpp:5158
 msgid "Remove Track"
 msgstr "İzi Kaldır"
 
-#: ../src/Menus.cpp:3119
+#: Menus.cpp:5158
 msgid "Removed audio track(s)"
 msgstr "Ses izi(leri) kaldırıldı"
 
-#: Menus.cpp:4480 Menus.cpp:4499
+#: Menus.cpp:5314
+#: Menus.cpp:5370
+#: export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr ""
 
-#: Menus.cpp:5159 TrackPanel.cpp:6361
+#: Menus.cpp:5335
+#: TrackPanel.cpp:6481
 msgid "New sample rate (Hz):"
 msgstr ""
 
-#: Menus.cpp:4486
+#: Menus.cpp:5359
+#: TrackPanel.cpp:6505
 msgid "The entered value is invalid"
 msgstr ""
 
-#: Menus.cpp:4497
+#: Menus.cpp:5368
 #, c-format
 msgid "Resampling track %d"
 msgstr ""
 
-#: Menus.cpp:4508
+#: Menus.cpp:5377
 msgid "Resample Track"
 msgstr ""
 
-#: Menus.cpp:4508
+#: Menus.cpp:5377
 msgid "Resampled audio track(s)"
 msgstr ""
 
-#: ../src/Mix.cpp:74 ../src/Mix.cpp:82
+#: Mix.cpp:95
+#: Mix.cpp:102
 msgid "Mix"
 msgstr "Karıştır"
 
-#: Mix.cpp:120
+#: Mix.cpp:121
 msgid "Mixing and rendering tracks"
 msgstr ""
 
-#: ../src/NoteTrack.cpp:30
+#: NoteTrack.cpp:43
 msgid "Note Track"
 msgstr "Not Ä°zi"
 
-#: ../src/Menus.cpp:1614
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Bir yazdırma sorunu var."
 
-#: ../src/Menus.cpp:1615
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Yazdır"
 
-#: Project.cpp:573
+#: Project.cpp:671
+msgid "Repeat Last Effect"
+msgstr ""
+
+#: Project.cpp:776
 msgid "Main Mix"
 msgstr ""
 
-#: Project.cpp:693
+#: Project.cpp:894
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr ""
 
-#: Project.cpp:831
+#: Project.cpp:1049
 msgid "(Recovered)"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:469 ../src/Project.cpp:1707
-#: ../src/TrackPanel.cpp:1208
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
+#: toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Kayıt"
 
-#: ../src/Project.cpp:1707 ../src/TrackPanel.cpp:1208
+#: Project.cpp:1718
+#: TrackPanel.cpp:846
 msgid "Recorded Audio"
 msgstr "Kayıtlı Ses"
 
-#: ../src/Project.cpp:1716
+#: Project.cpp:1736
 msgid "Save changes before closing?"
 msgstr "Kapatmadan önce değişiklikler kaydedilsin mi?"
 
-#: Project.cpp:1570
-msgid "\n"
+#: Project.cpp:1739
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -2812,25 +3067,27 @@ msgid "\n"
 "are open, then File > Save Project."
 msgstr ""
 
-#: ../src/Project.cpp:1717
+#: Project.cpp:1742
 msgid "Save changes?"
 msgstr "DeÄŸiÅŸiklikler kaydedilsin mi?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
+#: Project.cpp:1954
+msgid "All files|*|All supported files|"
 msgstr ""
 
-#: ../src/Menus.cpp:2592 ../src/Project.cpp:1738
+#: Project.cpp:1984
 msgid "Select one or more audio files..."
 msgstr "Bir ya da daha fazla ses dosyası seçin..."
 
-#: Project.cpp:1736
+#: Project.cpp:2011
 msgid "Audacity projects|*.aup|"
 msgstr ""
 
-#: Project.cpp:1885 Project.cpp:2307
+#: Project.cpp:2071
+#: Project.cpp:2506
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
@@ -2839,80 +3096,103 @@ msgid "This file was saved by Audacity %s, a much\n"
 "Open this file now?"
 msgstr ""
 
-#: Project.cpp:1886
+#: Project.cpp:2072
 msgid "1.0 or earlier"
 msgstr ""
 
-#: Project.cpp:1902
+#: Project.cpp:2078
+#: Project.cpp:2518
 msgid "Opening old project file"
 msgstr ""
 
-#: ../src/Project.cpp:1821 ../src/Project.cpp:1829
+#: Project.cpp:2102
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2103
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:2117
+#: Project.cpp:2125
+#: xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Dosya açılıyorken hata"
 
-#: Project.cpp:1585
+#: Project.cpp:2131
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
 msgstr ""
 
-#: Project.cpp:1586
+#: Project.cpp:2132
 msgid "Error opening file or project"
 msgstr ""
 
-#: ../src/Project.cpp:1842
+#: Project.cpp:2152
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity yeni proje biçeminde bir Audacity 1.0 projesine dönüştürülemedi."
 
-#: Project.cpp:1706
+#: Project.cpp:2259
 msgid "Could not remove old auto save file"
 msgstr ""
 
-#: Project.cpp:1708
+#: Project.cpp:2261
 msgid "Project was recovered"
 msgstr ""
 
-#: Project.cpp:1708
+#: Project.cpp:2261
 msgid "Recover"
 msgstr ""
 
-#: Project.cpp:1737
+#: Project.cpp:2290
 msgid "Project checker repaired file"
 msgstr ""
 
-#: Project.cpp:1737 effects/Repair.h:29
+#: Project.cpp:2290
+#: effects/Repair.h:29
 msgid "Repair"
 msgstr ""
 
-#: ../src/Project.cpp:1941
+#: Project.cpp:2431
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Proje veri klasörü bulunamadı: \"%s\""
 
-#: ../src/Project.cpp:1985
+#: Project.cpp:2475
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "Bu dosya %s Audacity kullanarak kaydedilmiÅŸ.\n"
+msgstr ""
+"Bu dosya %s Audacity kullanarak kaydedilmiÅŸ.\n"
 "%s Audacity kullanıyorsunuz - bu dosyayı açmak için\n"
 " daha yeni bir sürüme yükseltmeye ihtiyacınız var."
 
-#: ../src/Project.cpp:1991
+#: Project.cpp:2479
 msgid "Can't open project file"
 msgstr "Proje dosyası açılamadı"
 
-#: Project.cpp:2314
+#: Project.cpp:2513
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
 
-#: Project.cpp:2537
-msgid "Your project is now empty.\n"
+#: Project.cpp:2711
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -2922,50 +3202,59 @@ msgid "Your project is now empty.\n"
 "Save anyway?"
 msgstr ""
 
-#: Project.cpp:2538
+#: Project.cpp:2712
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2821
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
 
-#: ../src/Project.cpp:2148 ../src/Project.cpp:2160
+#: Project.cpp:2823
+#: Project.cpp:2849
 msgid "Error saving project"
 msgstr "Projeyi kaydediyorken hata"
 
-#: ../src/Project.cpp:2200
+#: Project.cpp:2847
+#: Project.cpp:3950
+#: Tags.cpp:1203
+#: effects/Equalization.cpp:1095
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
+#: Project.cpp:2927
 #, c-format
 msgid "Saved %s"
 msgstr "%s kaydedildi"
 
-#: ../src/Project.cpp:2282
+#: Project.cpp:3080
 #, c-format
 msgid "Imported '%s'"
 msgstr "Alındı '%s'"
 
-#: ../src/import/ImportPCM.cpp:403 ../src/import/ImportPCM.cpp:488
-#: ../src/import/ImportRaw.cpp:408 ../src/Project.cpp:2236
-#: ../src/Project.cpp:2283
+#: Project.cpp:3081
 msgid "Import"
 msgstr "Al"
 
-#: ../src/Project.cpp:2340
+#: Project.cpp:3116
 msgid "Error importing"
 msgstr "Aktarma hatası"
 
-#: Project.cpp:2365
+#: Project.cpp:3163
 msgid "Save Speech As:"
 msgstr ""
 
-#: Project.cpp:2621
+#: Project.cpp:3165
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr ""
 
-#: Project.cpp:2894
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:3172
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
@@ -2974,144 +3263,344 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "Export commands."
 msgstr ""
 
-#: Project.cpp:2897
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:3175
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
 
-#: ../src/Project.cpp:2378
+#: Project.cpp:3177
+#, fuzzy
+msgid "Save Project As..."
+msgstr "Projeyi Farklı K&aydet:"
+
+#: Project.cpp:3179
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Audacity projeleri (*.aup)|*.aup"
 
-#: ../src/Project.cpp:2414
+#: Project.cpp:3228
 msgid "Created new project"
 msgstr "Yeni proje oluÅŸturuldu"
 
-#: ../src/Project.cpp:2527
+#: Project.cpp:3372
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "t=%.2f de %.2f saniye silindi"
 
-#: ../src/Project.cpp:2530
+#: Project.cpp:3375
+#: effects/Equalization.cpp:1295
+#: effects/Equalization.cpp:2647
 msgid "Delete"
 msgstr "Sil"
 
-#: Project.cpp:2738
+#: Project.cpp:3569
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr ""
 
-#: Project.cpp:2741
+#: Project.cpp:3572
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr ""
 
-#: Project.cpp:2744
+#: Project.cpp:3575
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr ""
 
-#: Project.cpp:2747
+#: Project.cpp:3578
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr ""
 
-#: ../src/Project.cpp:2706
+#: Project.cpp:3581
 msgid "Out of disk space"
 msgstr "Disk boşluğunun dışında"
 
-#: Project.cpp:3336
+#: Project.cpp:3594
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
 msgstr ""
 
-#: Project.cpp:3339
+#: Project.cpp:3597
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
 msgstr ""
 
-#: Project.cpp:3027
+#: Project.cpp:3881
 msgid "Could not remove old autosave file: "
 msgstr ""
 
-#: Project.cpp:3068
+#: Project.cpp:3922
 msgid "New Project"
 msgstr ""
 
-#: Project.cpp:3081
+#: Project.cpp:3952
 msgid "Error writing autosave file"
 msgstr ""
 
-#: Project.cpp:3102
+#: Project.cpp:3967
 msgid "Could not create autosave file: "
 msgstr ""
 
-#: Project.cpp:3385
+#: Project.cpp:3993
 #, c-format
 msgid "Actual Rate: %d"
 msgstr ""
 
-#: ../src/Resample.cpp:35
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Dominik Mazzoni ve Julius Smith tarafından Libyenidenörnekleme"
 
-#: ../src/Resample.cpp:46
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Yüksek-kalite Sinüs Aradeğerlemesi"
 
-#: ../src/Resample.cpp:48
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "En Hızlı Sinüs Aradeğerlemesi"
 
-#: ../src/Resample.cpp:118
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Erik de Castro Lopo tarafından Libörnekoran"
 
-#: ../src/Resample.cpp:211
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Libörnekoran hatası: %d\n"
 
-#: ../src/Resample.cpp:233 ../src/Resample.cpp:243
+#: Resample.cpp:252
+#: Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Yeniden örnekleme etkinsizleştirildi."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr ""
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr ""
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr ""
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: Screenshot.cpp:328
+#: export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Seç..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: Screenshot.cpp:369
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
+msgid "false"
+msgstr ""
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: Screenshot.cpp:381
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr ""
+
+#: Screenshot.cpp:382
+#: effects/Contrast.cpp:410
+#: toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr ""
+
+#: Screenshot.cpp:388
+#: effects/LoadEffects.cpp:114
+#: toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:245
+msgid "Mixer"
+msgstr ""
+
+#: Screenshot.cpp:389
+#: toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr ""
+
+#: Screenshot.cpp:390
+#: toolbars/EditToolBar.cpp:76
+#: toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: Screenshot.cpp:391
+#: prefs/DevicePrefs.cpp:131
+#: prefs/DevicePrefs.cpp:144
+#: prefs/MidiIOPrefs.cpp:137
+#: prefs/MidiIOPrefs.cpp:150
+#: toolbars/DeviceToolBar.cpp:57
+#: toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr ""
+
+#: Screenshot.cpp:392
+#: toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:253
+msgid "Transcription"
+msgstr ""
+
+#: Screenshot.cpp:398
+#: TrackPanel.cpp:442
+#: TrackPanel.cpp:443
+msgid "Track Panel"
+msgstr ""
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: Screenshot.cpp:400
+#: export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287
+#: prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Ä°zler"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr ""
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr ""
 
-#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:799
+#: Sequence.cpp:809
+#: Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr ""
 
-#: effects/Effect.cpp:254 effects/Effect.cpp:370 effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:852
+#: ShuttleGui.cpp:2034
+#: effects/Effect.cpp:436
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr ""
 
-#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr ""
 
@@ -3123,640 +3612,741 @@ msgstr ""
 msgid "Activation level (dB):"
 msgstr ""
 
-#: SplashDialog.cpp:58
-msgid "&Welcome to Audacity!"
+#: SplashDialog.cpp:60
+msgid "Welcome to Audacity!"
 msgstr ""
 
-#: SplashDialog.cpp:110
+#: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
 msgstr ""
 
-#: Tags.cpp:621
+#: Tags.cpp:629
 msgid "Artist Name"
 msgstr ""
 
-#: Tags.cpp:622
+#: Tags.cpp:630
 msgid "Track Title"
 msgstr ""
 
-#: Tags.cpp:623
+#: Tags.cpp:631
 msgid "Album Title"
 msgstr ""
 
-#: Tags.cpp:953
+#: Tags.cpp:632
 #, fuzzy
 msgid "Track Number"
 msgstr "İz Sayısı:"
 
-#: ../src/Tags.cpp:465
+#: Tags.cpp:633
 msgid "Year"
 msgstr "Yıl"
 
-#: Tags.cpp:979
+#: Tags.cpp:634
 msgid "Genre"
 msgstr ""
 
-#: ../src/Tags.cpp:475
+#: Tags.cpp:635
+#: prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Yorumlar"
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
 msgstr ""
 
-#: Tags.cpp:769
-msgid "Tag Name"
+#: Tags.cpp:812
+msgid "Tag"
 msgstr ""
 
-#: Tags.cpp:770
-msgid "Tag Value"
-msgstr ""
+#: Tags.cpp:813
+#, fuzzy
+msgid "Value"
+msgstr "Duraklat"
 
-#: prefs/KeyConfigPrefs.cpp:114
-msgid "&Clear"
-msgstr ""
+#: Tags.cpp:828
+#, fuzzy
+msgid "Cl&ear"
+msgstr "Yıl"
 
-#: Tags.cpp:791
+#: Tags.cpp:834
 msgid "Genres"
 msgstr ""
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
 msgstr ""
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:1070
+#: Tags.cpp:844
 msgid "Template"
 msgstr ""
 
-#: Tags.cpp:1073 prefs/KeyConfigPrefs.cpp:124
+#: Tags.cpp:848
+#: prefs/KeyConfigPrefs.cpp:167
 msgid "&Load..."
 msgstr ""
 
-#: Tags.cpp:1078 prefs/KeyConfigPrefs.cpp:123
+#: Tags.cpp:849
+#: prefs/KeyConfigPrefs.cpp:168
 msgid "&Save..."
 msgstr ""
 
-#: Tags.cpp:808 Tags.cpp:1434 Tags.cpp:1962
-msgid "S&et Default"
-msgstr ""
+#: Tags.cpp:851
+#, fuzzy
+msgid "Set De&fault"
+msgstr "Oran Ayarla"
 
-#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr ""
 
-#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
-#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
-#: Tags.cpp:2397 Tags.cpp:2410
+#: Tags.cpp:1034
+#: Tags.cpp:1046
+#: Tags.cpp:1061
+#: Tags.cpp:1074
 msgid "Reset Genres"
 msgstr ""
 
-#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
-#: Tags.cpp:2410
+#: Tags.cpp:1034
+#: Tags.cpp:1074
 msgid "Unable to save genre file."
 msgstr ""
 
-#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr ""
 
-#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr ""
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr ""
 
-#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
-#: Tags.cpp:2468
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr ""
 
-#: Theme.cpp:629
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
+#: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
 msgstr ""
 
-#: Theme.cpp:647
+#: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
 msgstr ""
 
-#: Theme.cpp:655
+#: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
 msgstr ""
 
-#: Theme.cpp:790
+#: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
 msgstr ""
 
-#: Theme.cpp:798 Theme.cpp:886
+#: Theme.cpp:807
+#: Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
 msgstr ""
 
-#: Theme.cpp:814
-msgid "Audacity could not read its default theme.\n"
+#: Theme.cpp:823
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
 msgstr ""
 
-#: Theme.cpp:908
+#: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
 msgstr ""
 
-#: Theme.cpp:932
+#: Theme.cpp:942
+#: effects/NoiseRemoval.cpp:172
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
 msgstr ""
 
-#: Theme.cpp:953
+#: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
 msgstr ""
 
-#: Theme.cpp:965
+#: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
 msgstr ""
 
-#: SmartRecordDialog.cpp:285
+#: TimeDialog.h:29
+#: TimerRecordDialog.cpp:233
+#: TimerRecordDialog.cpp:354
+#: TimerRecordDialog.cpp:358
+#: effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191
+#: effects/Noise.cpp:207
+#: effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291
+#: effects/ToneGen.cpp:323
+#: effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr ""
 
-#: SmartRecordDialog.cpp:68
+#: TimeTrack.cpp:44
+#, fuzzy
+msgid "Time Track"
+msgstr "Zaman Ä°zi"
+
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr ""
 
-#: SmartRecordDialog.cpp:223
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
+#: TimerRecordDialog.cpp:230
 msgid "Recording start"
 msgstr ""
 
-#: SmartRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:231
 msgid "Recording end"
 msgstr ""
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:237
 msgid "Audacity Timer Record Progress"
 msgstr ""
 
-#: SmartRecordDialog.cpp:251
+#: TimerRecordDialog.cpp:316
 msgid "Start Date and Time"
 msgstr ""
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:323
 msgid "Start Date"
 msgstr ""
 
-#: SmartRecordDialog.cpp:268
+#: TimerRecordDialog.cpp:335
 msgid "End Date and Time"
 msgstr ""
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:343
 msgid "End Date"
 msgstr ""
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: SmartRecordDialog.cpp:380
+#: TimerRecordDialog.cpp:430
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr ""
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:436
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/AStatus.cpp:81 ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:91 ../src/TrackPanel.cpp:822
+#: TrackPanel.cpp:596
+#: prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "DiÄŸer..."
 
-#: ../src/TrackPanel.cpp:830 ../src/TrackPanel.cpp:851
-#: ../src/TrackPanel.cpp:860 ../src/TrackPanel.cpp:868
+#: TrackPanel.cpp:604
+#: TrackPanel.cpp:627
+#: TrackPanel.cpp:636
+#: TrackPanel.cpp:644
 msgid "Name..."
 msgstr "Ä°sim:"
 
-#: ../src/TrackPanel.cpp:832 ../src/TrackPanel.cpp:853
-#: ../src/TrackPanel.cpp:864 ../src/TrackPanel.cpp:870
+#: TrackPanel.cpp:606
+#: TrackPanel.cpp:629
+#: TrackPanel.cpp:640
+#: TrackPanel.cpp:646
 msgid "Move Track Up"
 msgstr "İzi Aşağı Taşı"
 
-#: ../src/TrackPanel.cpp:833 ../src/TrackPanel.cpp:854
-#: ../src/TrackPanel.cpp:865 ../src/TrackPanel.cpp:871
+#: TrackPanel.cpp:607
+#: TrackPanel.cpp:630
+#: TrackPanel.cpp:641
+#: TrackPanel.cpp:647
 msgid "Move Track Down"
 msgstr "İzi Yukarı Taşı"
 
-#: ../src/TrackPanel.cpp:835
+#: TrackPanel.cpp:609
+#: effects/ToneGen.cpp:275
+#: prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Dalga biçimi"
 
-#: ../src/TrackPanel.cpp:836
+#: TrackPanel.cpp:610
+#: prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Dalga biçimi (dB)"
 
-#: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:612
+#: prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:838
+#. i18n-hint: short form of 'logarithm'
+#: TrackPanel.cpp:613
+#: prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Sıklık (EAC)"
 
-#: ../src/TrackPanel.cpp:840
+#: TrackPanel.cpp:615
+#: TrackPanel.cpp:6200
 msgid "Mono"
 msgstr "Tekli"
 
-#: ../src/TrackPanel.cpp:841
+#: TrackPanel.cpp:616
+#: TrackPanel.cpp:6199
 msgid "Left Channel"
 msgstr "Sol Kanal"
 
-#: ../src/TrackPanel.cpp:842
+#: TrackPanel.cpp:617
+#: TrackPanel.cpp:6199
 msgid "Right Channel"
 msgstr "SaÄŸ Kanal"
 
-#: ../src/TrackPanel.cpp:843
+#: TrackPanel.cpp:618
 msgid "Make Stereo Track"
 msgstr "Ä°kili Ä°z Yap"
 
-#: ../src/TrackPanel.cpp:844
+#: TrackPanel.cpp:619
 msgid "Split Stereo Track"
 msgstr "İkili İzi Böl"
 
-#: ../src/TrackPanel.cpp:846
+#: TrackPanel.cpp:620
+msgid "Split Stereo to Mono"
+msgstr ""
+
+#: TrackPanel.cpp:622
 msgid "Set Sample Format"
 msgstr "Örnek Biçemi Ayarla"
 
-#: ../src/AStatus.cpp:352 ../src/TrackPanel.cpp:848 ../src/TrackPanel.cpp:4322
+#: TrackPanel.cpp:624
+#: TrackPanel.cpp:6461
 msgid "Set Rate"
 msgstr "Oran Ayarla"
 
-#: ../src/TrackPanel.cpp:856
+#: TrackPanel.cpp:632
 msgid "Up Octave"
 msgstr "Yukarı Oktav"
 
-#: ../src/TrackPanel.cpp:857
+#: TrackPanel.cpp:633
 msgid "Down Octave"
 msgstr "Aşağı Oktav"
 
-#: ../src/TrackPanel.cpp:862
+#: TrackPanel.cpp:638
 msgid "Font..."
 msgstr "Yazı tipi..."
 
-#: ../src/TrackPanel.cpp:873
+#: TrackPanel.cpp:649
 msgid "Set Range..."
 msgstr "Aralık Ayarla..."
 
-#: ../src/EditToolBar.cpp:150
+#: TrackPanel.cpp:653
+#: toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Kopyala"
 
-#: ../src/TrackPanel.cpp:1513
+#: TrackPanel.cpp:1302
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:1519
+#: TrackPanel.cpp:1307
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:1616
+#: TrackPanel.cpp:1327
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:1621
+#: TrackPanel.cpp:1330
 msgid "Click and drag to resize the track."
 msgstr ""
 
-#: TrackPanel.cpp:1298
+#: TrackPanel.cpp:1361
 msgid "Drag one or more label boundaries"
 msgstr ""
 
-#: TrackPanel.cpp:1299
+#: TrackPanel.cpp:1362
 msgid "Drag label boundary"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:1541
+#. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
+#: TrackPanel.cpp:1378
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr "Çoklu-Araç Kipi: Fare ve Klavye Tercihleri için, Cmd-"
 
-#: ../src/TrackPanel.cpp:1543
+#. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
+#: TrackPanel.cpp:1381
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr "Çoklu-Araç Kipi: Fare ve Klavye Tercihleri için Ctrl-P"
 
-#: ../src/TrackPanel.cpp:1574
+#: TrackPanel.cpp:1427
 msgid "Click and drag to move left selection boundary."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:1579
+#: TrackPanel.cpp:1432
 msgid "Click and drag to move right selection boundary."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:3314
+#: TrackPanel.cpp:1770
+#: TrackPanel.cpp:4054
+#: TrackPanel.cpp:4086
+#: TrackPanel.cpp:4348
+#: TrackPanel.cpp:6610
+#: TrackPanel.cpp:6630
 msgid "Modified Label"
 msgstr "Düzenlenmiş etiket"
 
-#: ../src/TrackPanel.cpp:3315
+#: TrackPanel.cpp:1771
+#: TrackPanel.cpp:4055
+#: TrackPanel.cpp:4087
+#: TrackPanel.cpp:4349
+#: TrackPanel.cpp:6611
+#: TrackPanel.cpp:6631
 msgid "Label Edit"
 msgstr "Etiket Düzenle"
 
-#: ../src/TrackPanel.cpp:1904
+#: TrackPanel.cpp:2009
 msgid "Adjusted envelope."
 msgstr "Ayarlanmış zarf."
 
-#: ../src/prefs/MousePrefs.cpp:98 ../src/TrackPanel.cpp:1905
+#: TrackPanel.cpp:2010
+#: prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Zarf"
 
-#: TrackPanel.cpp:2033
+#: TrackPanel.cpp:2160
 msgid "Moved clip to another track"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:2012
+#: TrackPanel.cpp:2164
 msgid "left"
 msgstr "sol"
 
-#: ../src/TrackPanel.cpp:2012
+#: TrackPanel.cpp:2164
 msgid "right"
 msgstr "saÄŸ"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2039
+#: TrackPanel.cpp:2166
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:97
+#: TrackPanel.cpp:2170
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Zaman-Ötelemesi"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2964
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
 msgstr ""
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2981
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr ""
 
-#: ../src/TrackPanel.cpp:2637
+#: TrackPanel.cpp:3255
 msgid "Moved Sample"
 msgstr "Örnek Taşındı"
 
-#: ../src/TrackPanel.cpp:2638
+#: TrackPanel.cpp:3256
 msgid "Sample Edit"
 msgstr "Örnek Düzenle"
 
-#: ../src/TrackPanel.cpp:2703
+#: TrackPanel.cpp:3349
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "'%s' izi kaldırıldı."
 
-#: ../src/TrackPanel.cpp:2705
+#: TrackPanel.cpp:3351
 msgid "Track Remove"
 msgstr "İzi Kaldır"
 
-#: ../src/TrackPanel.cpp:2806
+#: TrackPanel.cpp:3497
 msgid "Moved gain slider"
 msgstr "Kazanç kaydırıcı taşındı"
 
-#: ../src/TrackPanel.cpp:2806
+#: TrackPanel.cpp:3497
 msgid "Moved pan slider"
 msgstr "Pan kaydırıcı taşındı"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4726
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5801
+#: TrackPanel.cpp:7254
 msgid "Gain"
 msgstr "Kazanç"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2807 ../src/TrackPanel.cpp:4733
+#: TrackPanel.cpp:3498
+#: TrackPanel.cpp:5749
+#: TrackPanel.cpp:7262
 msgid "Pan"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:277 ../src/TrackPanel.cpp:4387
+#: TrackPanel.cpp:3664
+#: TrackPanel.cpp:6561
 msgid "up"
 msgstr "yukarı"
 
-#: ../src/effects/ChangePitch.cpp:277 ../src/TrackPanel.cpp:4388
+#: TrackPanel.cpp:3668
+#: TrackPanel.cpp:6562
 msgid "down"
 msgstr "aşağı"
 
-#: ../src/TrackPanel.cpp:4383
+#: TrackPanel.cpp:3675
+#: TrackPanel.cpp:6557
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "'%s' %s taşındı"
 
-#: ../src/TrackPanel.cpp:4389
+#: TrackPanel.cpp:3678
+#: TrackPanel.cpp:6563
 msgid "Move Track"
 msgstr "İzi Taşı"
 
-#: TrackPanel.cpp:3905
+#: TrackPanel.cpp:4249
 msgid "Expand"
 msgstr ""
 
-#: TrackPanel.cpp:3905
+#: TrackPanel.cpp:4249
 msgid "Expanded Cut Line"
 msgstr ""
 
-#: TrackPanel.cpp:3973
+#: TrackPanel.cpp:4258
 msgid "Merge"
 msgstr ""
 
-#: TrackPanel.cpp:3973
+#: TrackPanel.cpp:4258
 msgid "Merged Clips"
 msgstr ""
 
-#: TrackPanel.cpp:3925
+#: TrackPanel.cpp:4269
+#, fuzzy
+msgid "Remove"
+msgstr "İzi Kaldır"
+
+#: TrackPanel.cpp:4269
 msgid "Removed Cut Line"
 msgstr ""
 
-#: TrackPanel.cpp:5210
+#: TrackPanel.cpp:5749
 msgid "Adjusted Pan"
 msgstr ""
 
-#: TrackPanel.cpp:5272
+#: TrackPanel.cpp:5801
 msgid "Adjusted gain"
 msgstr ""
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
-#: TrackPanel.cpp:5428
+#: TrackPanel.cpp:6030
 msgid "Can't delete track with active audio"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4087
+#: TrackPanel.cpp:6180
 msgid "Stereo, "
 msgstr "Ä°kili, "
 
-#: ../src/TrackPanel.cpp:4090
+#: TrackPanel.cpp:6183
 msgid "Mono, "
 msgstr "Tekli,"
 
-#: ../src/TrackPanel.cpp:4092
+#: TrackPanel.cpp:6185
 msgid "Left, "
 msgstr "Sol,"
 
-#: ../src/TrackPanel.cpp:4094
+#: TrackPanel.cpp:6187
 msgid "Right, "
 msgstr "SaÄŸ,"
 
-#: ../src/TrackPanel.cpp:4116 ../src/TrackPanel.cpp:4225
+#: TrackPanel.cpp:6209
+#: TrackPanel.cpp:6371
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' %s'e deÄŸiÅŸtirildi"
 
-#: ../src/TrackPanel.cpp:4121
+#: TrackPanel.cpp:6212
 msgid "Channel"
 msgstr "Kanal"
 
-#: ../src/TrackPanel.cpp:4131
+#: TrackPanel.cpp:6253
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "'%s' ikili izini böl"
 
-#: ../src/TrackPanel.cpp:4153
+#: TrackPanel.cpp:6255
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
+#: TrackPanel.cpp:6287
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Bir ikili izi '%s' yapıldı"
 
-#: ../src/TrackPanel.cpp:4156
+#: TrackPanel.cpp:6290
 msgid "Make Stereo"
 msgstr "Ä°kili Yap"
 
-#: ../src/TrackPanel.cpp:4189
+#: TrackPanel.cpp:6335
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "'%s' %d Hz'e deÄŸiÅŸtirildi"
 
-#: ../src/TrackPanel.cpp:4191
+#: TrackPanel.cpp:6337
 msgid "Rate Change"
 msgstr "Oran DeÄŸiÅŸtir"
 
-#: ../src/TrackPanel.cpp:4229
+#: TrackPanel.cpp:6375
 msgid "Format Change"
 msgstr "Biçem Değiştir"
 
-#: ../src/TrackPanel.cpp:4351
+#: TrackPanel.cpp:6525
 msgid "Change lower speed limit (%) to:"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4352 ../src/TrackPanel.cpp:4353
+#: TrackPanel.cpp:6526
+#: TrackPanel.cpp:6527
 msgid "Lower speed limit"
 msgstr "Daha düşük hız sınırı"
 
-#: ../src/TrackPanel.cpp:4358
+#: TrackPanel.cpp:6532
 msgid "Change upper speed limit (%) to:"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4359 ../src/TrackPanel.cpp:4360
+#: TrackPanel.cpp:6533
+#: TrackPanel.cpp:6534
 msgid "Upper speed limit"
 msgstr "Üst hız sınırı"
 
-#: ../src/TrackPanel.cpp:4368
+#: TrackPanel.cpp:6542
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "'%d' - '%d' de aralığı ayarla"
 
-#: ../src/TrackPanel.cpp:4371
+#: TrackPanel.cpp:6545
 msgid "Set Range"
 msgstr "Oran Ayarla"
 
-#: ../src/TrackPanel.cpp:4416
+#: TrackPanel.cpp:6592
 msgid "Change track name to:"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4417
+#: TrackPanel.cpp:6593
 msgid "Track Name"
 msgstr "Ä°z Ä°smi:"
 
-#: ../src/TrackPanel.cpp:4420
+#: TrackPanel.cpp:6596
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "'%s' de '%s' yeniden adlandırıldı"
 
-#: ../src/TrackPanel.cpp:4423
+#: TrackPanel.cpp:6599
 msgid "Name Change"
 msgstr "Ä°sim DeÄŸiÅŸtir"
 
-#: ../src/TrackPanel.cpp:4454
+#: TrackPanel.cpp:6665
 msgid "Label Track Font"
 msgstr "Etiket İz Yazıtipi"
 
-#: TrackPanel.cpp:6227
+#: TrackPanel.cpp:6677
+#: TrackPanel.cpp:6683
 msgid "Face name"
 msgstr ""
 
-#: TrackPanel.cpp:6236
+#: TrackPanel.cpp:6687
+#: TrackPanel.cpp:6694
 msgid "Face size"
 msgstr ""
 
-#: ../src/TrackPanel.cpp:4701
+#: TrackPanel.cpp:6943
+msgid "Stereo, 999999Hz"
+msgstr ""
+
+#: TrackPanel.cpp:7203
 msgid "Mute"
 msgstr "Sessiz"
 
-#: ../src/TrackPanel.cpp:4701
+#: TrackPanel.cpp:7203
 msgid "Solo"
 msgstr "Solo"
 
-#: TrackPanelAx.cpp:266
+#: TrackPanelAx.cpp:285
 msgid "TrackView"
 msgstr ""
 
-#: TrackPanelAx.cpp:274
+#: TrackPanelAx.cpp:293
 msgid "Track Accessible out of sync"
 msgstr ""
 
-#: TrackPanelAx.cpp:282
+#: TrackPanelAx.cpp:301
 #, c-format
 msgid "Track %d"
 msgstr ""
 
-#: TrackPanelAx.cpp:288
+#: TrackPanelAx.cpp:307
 msgid " Mute On"
 msgstr ""
 
-#: TrackPanelAx.cpp:293
+#: TrackPanelAx.cpp:312
 msgid " Solo On"
 msgstr ""
 
-#: TrackPanelAx.cpp:297
+#: TrackPanelAx.cpp:316
 msgid " Select On"
 msgstr ""
 
-#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
+#: VoiceKey.cpp:88
+#: VoiceKey.cpp:238
+#: VoiceKey.cpp:376
+#: VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr ""
 
@@ -3779,194 +4369,213 @@ msgstr ""
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr ""
 
-#: ../src/WaveTrack.cpp:128
+#: WaveTrack.cpp:87
 msgid "Audio Track"
 msgstr "Ses Ä°zi"
 
-#: WaveTrack.cpp:515 WaveTrack.cpp:534
+#: WaveTrack.cpp:976
+#: WaveTrack.cpp:995
 msgid "There is not enough room available to paste the selection"
 msgstr ""
 
-#: WaveTrack.cpp:1583
+#: WaveTrack.cpp:2021
 msgid "There is not enough room available to expand the cut line"
 msgstr ""
 
-#: ../src/commands/CommandManager.cpp:323
+#: commands/CommandManager.cpp:549
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "%i deki Eklentiler 1"
 
-#: ../src/commands/CommandManager.cpp:337
+#: commands/CommandManager.cpp:563
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "%i deki %i Eklentileri"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:928
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
 
-#: commands/CommandManager.cpp:724
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:932
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
 msgstr ""
 
-#: commands/CommandManager.cpp:726
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:934
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
 msgstr ""
 
-#: commands/CommandManager.cpp:728
+#: commands/CommandManager.cpp:936
 msgid "You must first select some audio for this to use."
 msgstr ""
 
-#: commands/CommandManager.cpp:730
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:938
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
 msgstr ""
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:943
 msgid "Disallowed"
 msgstr ""
 
-#: ../src/commands/CommandManager.cpp:640
+#: commands/CommandManager.cpp:1167
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "%d klavye kısayolları yüklendi\n"
 
-#: ../src/commands/CommandManager.cpp:643
+#: commands/CommandManager.cpp:1169
 msgid "Loading keyboard shortcuts"
 msgstr "Yükleme klavye kısayolları"
 
-#: ../src/effects/Amplify.cpp:34
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Uygulanmış etki: %s %.1f dB"
 
-#: ../src/effects/Amplify.cpp:63
+#: effects/Amplify.cpp:136
 msgid "Amplify"
 msgstr "Ses Yükselt"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:152
+#: effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
 msgstr ""
 
-#: ../src/effects/Amplify.cpp:132
+#: effects/Amplify.cpp:165
 msgid "Amplification (dB):"
 msgstr "Sesi Yükseltme (dB):"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:180
 msgid "Amplification dB"
 msgstr ""
 
-#: ../src/effects/Amplify.cpp:152
+#: effects/Amplify.cpp:187
 msgid "New Peak Amplitude (dB):"
 msgstr "Yeni Tepe GenliÄŸi (dB):"
 
-#: ../src/effects/Amplify.cpp:164
+#: effects/Amplify.cpp:197
 msgid "Allow clipping"
 msgstr "Kırpmaya izin ver"
 
-#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
+#: effects/Amplify.cpp:219
+#: effects/Amplify.cpp:276
+#: effects/Amplify.cpp:320
 msgid "-Infinity"
 msgstr ""
 
-#: ../src/effects/Amplify.h:47
+#: effects/Amplify.h:37
 msgid "Amplify..."
 msgstr "Yükselt..."
 
-#: ../src/effects/Amplify.h:51
+#: effects/Amplify.h:51
 msgid "Amplifying"
 msgstr "Yükseltiliyor"
 
-#: effects/AutoDuck.cpp:125
+#: effects/AutoDuck.cpp:140
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr ""
 
-#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:141
+#: effects/AutoDuck.cpp:153
+#: effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr ""
 
-#: effects/AutoDuck.cpp:137
+#: effects/AutoDuck.cpp:152
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
 msgstr ""
 
-#: effects/AutoDuck.cpp:463
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr ""
 
-#: effects/AutoDuck.cpp:485
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:490
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:492 effects/AutoDuck.cpp:497 effects/AutoDuck.cpp:502
-#: effects/AutoDuck.cpp:507 effects/AutoDuck.cpp:512
-#: prefs/AudioIOPrefs.cpp:162 prefs/AudioIOPrefs.cpp:164
-#: prefs/AudioIOPrefs.cpp:188 prefs/AudioIOPrefs.cpp:190
-#: prefs/AudioIOPrefs.cpp:198 widgets/TimeTextCtrl.cpp:197
+#. i18n-hint: Name of time display format that shows time in seconds
+#: effects/AutoDuck.cpp:508
+#: effects/AutoDuck.cpp:513
+#: effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523
+#: effects/AutoDuck.cpp:528
+#: prefs/MidiIOPrefs.cpp:185
+#: prefs/MidiIOPrefs.cpp:187
+#: prefs/MidiIOPrefs.cpp:209
+#: prefs/MidiIOPrefs.cpp:211
+#: prefs/MidiIOPrefs.cpp:219
+#: prefs/PlaybackPrefs.cpp:65
+#: prefs/PlaybackPrefs.cpp:66
+#: prefs/PlaybackPrefs.cpp:80
+#: prefs/PlaybackPrefs.cpp:81
+#: prefs/PlaybackPrefs.cpp:87
+#: prefs/PlaybackPrefs.cpp:88
+#: prefs/PlaybackPrefs.cpp:102
+#: prefs/PlaybackPrefs.cpp:103
+#: prefs/PlaybackPrefs.cpp:109
+#: prefs/PlaybackPrefs.cpp:110
+#: widgets/TimeTextCtrl.cpp:265
 msgid "seconds"
 msgstr ""
 
-#: effects/AutoDuck.cpp:495
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:500
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:505
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:510
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr ""
 
-#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
+#: effects/AutoDuck.cpp:535
+#: effects/Compressor.cpp:506
 #, fuzzy
 msgid "Threshold:"
 msgstr "EÅŸik:"
 
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr ""
 
-#: effects/AutoDuck.cpp:712
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr ""
 
-#: effects/AutoDuck.h:97
+#: effects/AutoDuck.h:98
 msgid "Auto Duck..."
 msgstr ""
 
-#: effects/AutoDuck.h:102
+#: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
 msgstr ""
 
-#: ../src/effects/Amplify.cpp:187 ../src/effects/AvcCompressor.cpp:716
-#: ../src/effects/BassBoost.cpp:332 ../src/effects/ChangePitch.cpp:393
-#: ../src/effects/ChangeSpeed.cpp:379 ../src/effects/ChangeTempo.cpp:284
-#: ../src/effects/Compressor.cpp:484 ../src/effects/Echo.cpp:242
-#: ../src/effects/Equalization.cpp:731 ../src/effects/Filter.cpp:482
-#: ../src/effects/ladspa/LadspaEffect.cpp:498 ../src/effects/Normalize.cpp:258
-#: ../src/effects/nyquist/Nyquist.cpp:736
-#: ../src/effects/nyquist/Nyquist.cpp:883
-#: ../src/effects/nyquist/Nyquist.cpp:949 ../src/effects/Phaser.cpp:576
-#: ../src/effects/Repeat.cpp:251 ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455 ../src/effects/Wahwah.cpp:563
-#: ../src/LangChoice.cpp:94 ../src/prefs/FileFormatPrefs.cpp:471
-#: ../src/prefs/PrefsDialog.cpp:100 ../src/Tags.cpp:721
-#: ../src/widgets/Warning.cpp:56
+#: effects/AvcCompressor.cpp:738
+#: effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237
+#: widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "TAMAM"
 
-#: ../src/effects/BassBoost.cpp:36
+#: effects/BassBoost.cpp:52
 #, c-format
 msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
 msgstr "Uygulanmış etki: %s frekansı = %.0f Hz, artırma = %.0f dB"
@@ -3976,10 +4585,13 @@ msgid "Bass Boost"
 msgstr ""
 
 #: effects/BassBoost.cpp:182
+#: effects/Phaser.cpp:219
+#: effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
 msgstr ""
 
-#: ../src/effects/BassBoost.cpp:286
+#: effects/BassBoost.cpp:196
+#: effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
 msgstr "Frekans (Hz):"
 
@@ -3987,7 +4599,7 @@ msgstr "Frekans (Hz):"
 msgid "Frequency Hertz"
 msgstr ""
 
-#: ../src/effects/BassBoost.cpp:302
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
 msgstr "Yükselt (dB)"
 
@@ -4000,7 +4612,7 @@ msgstr ""
 msgid "BassBoost..."
 msgstr "Bas Yükselt..."
 
-#: ../src/effects/BassBoost.h:48
+#: effects/BassBoost.h:49
 msgid "Boosting Bass Frequencies"
 msgstr "Bas Frekansları Yükseltiliyor"
 
@@ -4008,29 +4620,31 @@ msgstr "Bas Frekansları Yükseltiliyor"
 msgid "Change Length..."
 msgstr ""
 
-#: effects/ChangeLength.h:30
+#: effects/ChangeLength.h:34
 msgid "Changing Length..."
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:56
+#: effects/ChangePitch.cpp:55
 #, c-format
 msgid "Applied effect: %s %.2f semitones"
 msgstr "Uygulanmış etki: %s %.2f yarım ses aralıkları"
 
-#: ../src/effects/ChangePitch.cpp:119
+#: effects/ChangePitch.cpp:198
 msgid "Change Pitch"
 msgstr "Sıklığı Değiştir"
 
-#: ../src/effects/ChangePitch.cpp:242
+#: effects/ChangePitch.cpp:256
 msgid "Change Pitch without Changing Tempo"
 msgstr "Tempoyu Değiştirmeksizin Sıklığı Değiştir"
 
-#: ../src/effects/ChangePitch.cpp:247 ../src/effects/ChangeSpeed.cpp:287
-#: ../src/effects/ChangeTempo.cpp:164
+#: effects/ChangePitch.cpp:258
+#: effects/ChangeSpeed.cpp:337
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "Vaughan Johnson ve Dominic Mazzoni tarafından"
 
-#: ../src/effects/ChangePitch.cpp:252 ../src/effects/ChangeTempo.cpp:169
+#: effects/ChangePitch.cpp:260
+#: effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "Olli Parviainen tarafından, Ses Dokunuşu"
 
@@ -4062,7 +4676,7 @@ msgstr ""
 msgid "To Pitch"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:299
+#: effects/ChangePitch.cpp:311
 msgid "Semitones (half-steps):"
 msgstr "Yarımtonlar (yarım-adımlar):"
 
@@ -4070,8 +4684,10 @@ msgstr "Yarımtonlar (yarım-adımlar):"
 msgid "Semitones in half-steps"
 msgstr ""
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
-#: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
+#: effects/ChangePitch.cpp:326
+#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeTempo.cpp:209
+#: effects/ChangeTempo.cpp:222
 msgid "from"
 msgstr ""
 
@@ -4079,9 +4695,10 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:284 ../src/effects/ChangePitch.cpp:330
-#: ../src/effects/ChangeSpeed.cpp:351 ../src/effects/ChangeTempo.cpp:223
-#: ../src/effects/ChangeTempo.cpp:254
+#: effects/ChangePitch.cpp:331
+#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeTempo.cpp:214
+#: effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "-e"
 
@@ -4089,74 +4706,76 @@ msgstr "-e"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: ../src/effects/ChangePitch.cpp:353 ../src/effects/ChangeSpeed.cpp:305
-#: ../src/effects/ChangeTempo.cpp:182
+#: effects/ChangePitch.cpp:338
+#: effects/ChangeSpeed.cpp:348
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Yüzde Değiştir:"
 
-#: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
+#: effects/ChangePitch.cpp:343
+#: effects/ChangePitch.cpp:356
+#: effects/ChangeSpeed.cpp:359
+#: effects/ChangeTempo.cpp:198
 msgid "Percent Change"
 msgstr ""
 
-#: ../src/effects/ChangePitch.h:31
+#: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "Sıklığı Değiştir..."
 
-#: ../src/effects/ChangePitch.h:35
+#: effects/ChangePitch.h:46
 msgid "Changing Pitch"
 msgstr "Sıklık Değiştirme"
 
-#: ../src/effects/ChangeSpeed.cpp:40 ../src/effects/ChangeTempo.cpp:43
+#: effects/ChangeSpeed.cpp:54
+#: effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Uygulanmış etki: %s %1.f%%"
 
-#: ../src/effects/ChangeSpeed.cpp:47
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Hızı Değiştir"
 
-#. i18n-hint: n/a is an English
-#. abbreviation meaning "not
-#. applicable" (in other words,
-#. unimportant, not relevant).
-#: ../src/effects/ChangeSpeed.cpp:338
+#. i18n-hint: n/a is an English abbreviation meaning "not applicable"
+#. (in other words, unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "n/a"
 
-#: ../src/effects/ChangeSpeed.cpp:282
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Her iki etkileyici ve Tempo ve Sıklığı, Hızı Değiştir"
 
-#: ../src/effects/ChangeSpeed.cpp:292
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "Erik de Castro Lopo tarafından, ÖrnekOran"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
 msgstr ""
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
 msgstr ""
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
 msgstr ""
 
-#: ../src/effects/ChangeSpeed.h:37
+#: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
 msgstr "Hızı Değiştir..."
 
-#: ../src/effects/ChangeSpeed.h:40
+#: effects/ChangeSpeed.h:46
 msgid "Changing Speed"
 msgstr "Hız Değiştirme"
 
-#: ../src/effects/ChangeTempo.cpp:62
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
 msgstr "Tempoyu DeÄŸiÅŸtir"
 
-#: ../src/effects/ChangeTempo.cpp:159
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
 msgstr "Sıklığı Değiştirmeksizin Tempoyu Değiştir"
 
@@ -4184,11 +4803,11 @@ msgstr ""
 msgid "To length in seconds"
 msgstr ""
 
-#: ../src/effects/ChangeTempo.h:40
+#: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
 msgstr "Tempoyu DeÄŸiÅŸtir..."
 
-#: ../src/effects/ChangeTempo.h:44
+#: effects/ChangeTempo.h:49
 msgid "Changing Tempo"
 msgstr "Tempoyu DeÄŸiÅŸtirme"
 
@@ -4196,11 +4815,11 @@ msgstr "Tempoyu DeÄŸiÅŸtirme"
 msgid "Click Removal"
 msgstr ""
 
-#: ../src/effects/ClickRemoval.cpp:317
+#: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
 msgstr ""
 
-#: effects/ClickRemoval.cpp:350
+#: effects/ClickRemoval.cpp:341
 msgid "Select threshold (lower is more sensitive):"
 msgstr ""
 
@@ -4208,580 +4827,589 @@ msgstr ""
 msgid "Select threshold"
 msgstr ""
 
-#: effects/ClickRemoval.cpp:362
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr ""
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
 msgstr ""
 
-#: ../src/effects/ClickRemoval.h:42
+#: effects/ClickRemoval.h:42
 msgid "Click Removal..."
 msgstr "Kaldırmayı Tıkla..."
 
-#: ../src/effects/ClickRemoval.h:46
+#: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
 msgstr "Tıklamalar ve açılmalar kaldırılıyor..."
 
-#: ../src/effects/Compressor.cpp:43
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Dinamik Aralık Sıkıştırıcısı"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
 msgstr ""
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
 msgstr ""
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
 msgstr ""
 
-#: effects/Compressor.cpp:510
+#: effects/Compressor.cpp:522
 #, fuzzy
 msgid "Attack Time:"
 msgstr "Hamle Zamanı: "
 
-#: effects/Compressor.cpp:514
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
 msgstr ""
 
-#: effects/Compressor.cpp:518
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
 msgstr ""
 
-#: effects/Compressor.cpp:522
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
 msgstr ""
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "Sıkıştırmadan sonra 0dB'a düzgele"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
-#: effects/Compressor.cpp:563
-#, c-format
-#, fuzzy
+#: effects/Compressor.cpp:575
+#, fuzzy, c-format
 msgid "Threshold %d dB"
 msgstr "EÅŸik: %d dB"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
 msgstr ""
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
 msgstr ""
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
 msgstr ""
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
 msgstr ""
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
 msgstr ""
 
-#: effects/Compressor.cpp:575
-#, c-format
-#, fuzzy
+#: effects/Compressor.cpp:587
+#, fuzzy, c-format
 msgid "Attack Time %.1f secs"
 msgstr "Hamle Zamanı: %.1f san."
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588
+#: effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
 msgstr ""
 
-#: effects/Compressor.cpp:578
+#: effects/Compressor.cpp:590
 #, c-format
 msgid "Decay Time %.1f secs"
 msgstr ""
 
-#: ../src/effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Sıkıştırıcı..."
 
-#: ../src/effects/Compressor.h:40
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Dinamik Aralık Sıkıştırması Uygulanıyor..."
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
 msgstr ""
 
-#: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+#: effects/Contrast.cpp:88
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
 
-#: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+#: effects/Contrast.cpp:144
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+#: effects/Contrast.cpp:154
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
 msgstr ""
 
-#: effects/Contrast.cpp:235
-msgid "Parameters"
-msgstr ""
-
-#: effects/ToneGen.cpp:328 toolbars/ControlToolBar.cpp:186
+#: effects/Contrast.cpp:286
+#: effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
 msgstr ""
 
-#: effects/ToneGen.cpp:329 toolbars/ControlToolBar.cpp:189
-#: toolbars/SelectionBar.cpp:129 toolbars/SelectionBar.cpp:226
+#: effects/Contrast.cpp:287
+#: effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184
+#: toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159
+#: toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr ""
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
 msgstr ""
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
 msgstr ""
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
 msgstr ""
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
 msgstr ""
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:329
+#: effects/Contrast.cpp:373
+#: effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr ""
+
+#: effects/Contrast.cpp:331
+#: effects/Contrast.cpp:375
 msgid "Use selection"
 msgstr ""
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:336
 msgid "Background:"
 msgstr ""
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
 msgstr ""
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
 msgstr ""
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:384
 msgid "Result"
 msgstr ""
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:796 Tags.cpp:1948
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr ""
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:392
 msgid "Difference:"
 msgstr ""
 
-#: ../src/AboutDialog.cpp:150
+#: effects/Contrast.cpp:403
 msgid "Information"
 msgstr "Bilgi"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
 msgstr ""
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr ""
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
-#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:474
+#: effects/Contrast.cpp:480
+#: effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
 msgstr ""
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
 msgstr ""
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
 msgstr ""
 
-#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
+#: effects/Contrast.cpp:537
+#: effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
 msgstr ""
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
 msgstr ""
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
 msgstr ""
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
 msgstr ""
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
 msgstr ""
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
 msgstr ""
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
 msgstr ""
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
 msgstr ""
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
 msgstr ""
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
 msgstr ""
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
 msgstr ""
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
 msgstr ""
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601
+#: effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr ""
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606
+#: effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr ""
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608
+#: effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
 msgstr ""
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610
+#: effects/Contrast.cpp:627
 msgid "Average rms =  dB."
 msgstr ""
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:613
 msgid "Background"
 msgstr ""
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:629
 msgid "Results"
 msgstr ""
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
 msgstr ""
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
 msgstr ""
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
 msgstr ""
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
-#: effects/DtmfGen.cpp:47
+#: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr ""
 
-#: effects/DtmfGen.cpp:382
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr ""
 
-#: effects/DtmfGen.cpp:386
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr ""
 
-#: ../src/effects/ToneGen.cpp:293
+#: effects/DtmfGen.cpp:428
+#: effects/Noise.cpp:190
+#: effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Genlik (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr ""
 
-#: effects/DtmfGen.cpp:407
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
 msgstr ""
 
-#: effects/DtmfGen.cpp:418
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr ""
 
-#: effects/DtmfGen.cpp:420
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr ""
 
-#: effects/DtmfGen.cpp:421 effects/DtmfGen.cpp:423 effects/DtmfGen.cpp:494
-#: effects/DtmfGen.cpp:495
+#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:467
+#: effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr ""
 
-#: effects/DtmfGen.cpp:422
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr ""
 
-#: effects/DtmfGen.h:41
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
 msgstr ""
 
-#: effects/DtmfGen.h:45
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr ""
 
-#: effects/DtmfGen.h:49
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
 msgstr ""
 
-#: ../src/effects/Echo.cpp:33
+#: effects/Echo.cpp:48
 #, c-format
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Uygulanmış etki: %s gecikmesi = %f saniye, gecikme faktörü = %f"
 
-#: ../src/effects/Echo.cpp:39 ../src/effects/Echo.cpp:177
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Yankı"
 
-#: ../src/effects/Echo.cpp:182
+#. i18n-hint: && in here is an escape character to get a single & on
+#. * screen, so keep it as is
+#: effects/Echo.cpp:199
+#: effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "Dominic Mazzoni ve Vaughan Johnson tarafından"
 
-#: ../src/effects/Echo.cpp:192
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Gecikme zamanı (saniye)"
 
-#: ../src/effects/Echo.cpp:211
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Gecikme faktörü:"
 
-#: ../src/effects/Echo.h:36
+#: effects/Echo.h:34
 msgid "Echo..."
 msgstr "Yankı..."
 
-#: ../src/effects/Echo.h:40
+#: effects/Echo.h:48
 msgid "Performing Echo"
 msgstr "Yankı Uygulanıyor"
 
-#: effects/Effect.cpp:378
+#: effects/Effect.cpp:498
 msgid "Preparing preview"
 msgstr ""
 
-#: effects/Effect.cpp:404
+#: effects/Effect.cpp:530
 msgid "Previewing"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:721 ../src/effects/Effect.cpp:329
+#: effects/Effect.cpp:545
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "Ses aygıtını açıyorken hata. Lütfen proje örnek oranını ve çıkış aygıtı ayarlarını kontrol edin."
 
-#: ../src/effects/Effect.h:84
+#: effects/Effect.h:96
+#: effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Uygulanmış etki:%s"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:338
 msgid "B-spline"
 msgstr ""
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:339
 msgid "Cosine"
 msgstr ""
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:340
 msgid "Cubic"
 msgstr ""
 
-#: ../src/effects/Equalization.cpp:156
+#: effects/Equalization.cpp:379
+#: effects/Equalization.cpp:430
 msgid "Equalization"
 msgstr "DenkleÅŸtirme"
 
-#: effects/Equalization.cpp:865
+#: effects/Equalization.cpp:1009
 msgid "Error loading EQ curve"
 msgstr ""
 
-#: effects/Equalization.cpp:1013
+#: effects/Equalization.cpp:1048
 msgid "custom"
 msgstr ""
 
-#: effects/Equalization.cpp:971
+#: effects/Equalization.cpp:1097
+msgid "Error saving equalization curves"
+msgstr ""
+
+#. i18n-hint: && in here is an escape character to get a single &
+#. * on screen, so keep it as is
+#: effects/Equalization.cpp:1120
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr ""
 
-#: effects/Equalization.cpp:992
+#: effects/Equalization.cpp:1141
 msgid "Max dB"
 msgstr ""
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1143
 msgid "Min dB"
 msgstr ""
 
-#: effects/Equalization.cpp:1093
+#: effects/Equalization.cpp:1216
 msgid "kHz"
 msgstr ""
 
-#: effects/Equalization.cpp:1110
+#: effects/Equalization.cpp:1233
 msgid "Draw curves"
 msgstr ""
 
-#: effects/Equalization.cpp:1115
+#: effects/Equalization.cpp:1238
 msgid "Graphic EQ"
 msgstr ""
 
-#: effects/Equalization.cpp:1131
+#: effects/Equalization.cpp:1252
 msgid "Linear frequency scale"
 msgstr ""
 
-#: effects/Equalization.cpp:1140
+#: effects/Equalization.cpp:1261
 msgid "Length of filter:"
 msgstr ""
 
-#: effects/Equalization.cpp:1048
+#: effects/Equalization.cpp:1282
 msgid "Select curve:"
 msgstr ""
 
-#: effects/Equalization.cpp:1058 effects/Equalization.cpp:2244
+#: effects/Equalization.cpp:1292
+#: effects/Equalization.cpp:2552
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr ""
 
-#: effects/Equalization.cpp:1064
+#: effects/Equalization.cpp:1298
 msgid "Flat"
 msgstr ""
 
-#: effects/Equalization.cpp:2243
+#: effects/Equalization.cpp:2551
 msgid "Enter the desired name of the curve"
 msgstr ""
 
-#: effects/Equalization.cpp:2343
+#: effects/Equalization.cpp:2651
+#: export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr ""
 
-#: ../src/effects/Equalization.h:38
+#: effects/Equalization.h:82
 msgid "Equalization..."
 msgstr "DenkleÅŸtirme..."
 
-#: ../src/effects/Equalization.h:42
+#: effects/Equalization.h:96
 msgid "Performing Equalization"
 msgstr "Eşitleme Uygulanıyor"
 
-#: ../src/effects/Fade.h:23
+#: effects/Fade.h:24
 msgid "Fade In"
 msgstr "Azalt"
 
-#: ../src/effects/Fade.h:27
+#: effects/Fade.h:38
 msgid "Fading In"
 msgstr "Azaltıyor"
 
-#: ../src/effects/Fade.h:43
+#: effects/Fade.h:54
 msgid "Fade Out"
 msgstr "Şiddetini Artır"
 
-#: ../src/effects/Fade.h:47
+#: effects/Fade.h:68
 msgid "Fading Out"
 msgstr "Şiddetini Artırıyor"
 
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr ""
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr ""
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
 msgstr ""
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr ""
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
 msgstr ""
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
 msgstr ""
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
 msgstr ""
 
@@ -4789,63 +5417,63 @@ msgstr ""
 msgid "Find Clipping..."
 msgstr ""
 
-#: effects/FindClipping.h:47
+#: effects/FindClipping.h:54
 msgid "Detecting clipping"
 msgstr ""
 
-#: ../src/effects/Invert.h:27
+#: effects/Invert.h:27
 msgid "Invert"
 msgstr "Dönüştür"
 
-#: ../src/effects/Invert.h:31
+#: effects/Invert.h:41
 msgid "Inverting"
 msgstr "Evriliyor"
 
-#: BatchCommands.cpp:237 effects/Leveller.cpp:129
+#: effects/Leveller.cpp:192
 msgid "Leveller"
 msgstr ""
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
 msgstr ""
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:206
 msgid "Light"
 msgstr ""
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:207
 msgid "Moderate"
 msgstr ""
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:208
 msgid "Heavy"
 msgstr ""
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:209
 msgid "Heavier"
 msgstr ""
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
 msgstr ""
 
-#: effects/TruncSilence.cpp:332
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr ""
 
-#: effects/Leveller.cpp:220 effects/Leveller.cpp:233
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
 msgstr ""
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
 msgstr ""
 
-#: effects/Leveller.cpp:244
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr ""
 
-#: effects/Leveller.cpp:238
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
 msgstr ""
 
@@ -4853,7 +5481,7 @@ msgstr ""
 msgid "Leveller..."
 msgstr ""
 
-#: effects/Leveller.h:32
+#: effects/Leveller.h:42
 msgid "Applying Leveller..."
 msgstr ""
 
@@ -4881,10 +5509,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:58
-msgid "Mixer"
-msgstr ""
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -4901,7 +5525,8 @@ msgstr ""
 msgid "Reverb"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:59
+#: effects/LoadEffects.cpp:124
+#: effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Fazlayıcı"
 
@@ -4989,7 +5614,8 @@ msgstr ""
 msgid "Gate"
 msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:69
+#: effects/LoadEffects.cpp:199
+#: effects/NoiseRemoval.cpp:738
 msgid "Noise Removal"
 msgstr "Gürültü Kaldırma"
 
@@ -5025,263 +5651,278 @@ msgstr ""
 msgid "Noise Generator"
 msgstr ""
 
-#: effects/Noise.cpp:256
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr ""
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr ""
 
-#: effects/Noise.h:45
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr ""
 
-#: effects/Noise.h:49
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:192
+#: effects/NoiseRemoval.cpp:191
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:277
+#: effects/NoiseRemoval.cpp:276
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:410
+#: effects/NoiseRemoval.cpp:827
 msgid "Step 1"
 msgstr "Adım 1"
 
-#: effects/NoiseRemoval.cpp:765
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:828
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
 msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:427
+#: effects/NoiseRemoval.cpp:829
 msgid "Step 2"
 msgstr "Adım 2"
 
-#: effects/NoiseRemoval.cpp:767
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:830
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr ""
 
-#: ../src/effects/NoiseRemoval.cpp:403
+#: effects/NoiseRemoval.cpp:835
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Dominic Mazzoni tarafından Gürültü Kaldırma"
 
-#: ../src/effects/NoiseRemoval.cpp:419
+#: effects/NoiseRemoval.cpp:843
 msgid "Get Noise Profile"
 msgstr "Gürültü Profili Al"
 
-#: effects/NoiseRemoval.cpp:791
+#: effects/NoiseRemoval.cpp:854
 msgid "Noise reduction (dB):"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:859
 msgid "Noise reduction"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:799
+#: effects/NoiseRemoval.cpp:863
 msgid "Frequency smoothing (Hz):"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:868
 msgid "Frequency smoothing"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:807
+#: effects/NoiseRemoval.cpp:872
 msgid "Attack/decay time (secs):"
 msgstr ""
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:877
 msgid "Attach/decay time"
 msgstr ""
 
-#: ../src/effects/NoiseRemoval.h:38
+#: effects/NoiseRemoval.h:37
 msgid "Noise Removal..."
 msgstr "Gürültü Kaldırma..."
 
-#: ../src/effects/NoiseRemoval.h:43
+#: effects/NoiseRemoval.h:52
 msgid "Creating Noise Profile"
 msgstr "Gürültü Profili Oluşturuluyor"
 
-#: ../src/effects/NoiseRemoval.h:45
+#: effects/NoiseRemoval.h:54
 msgid "Removing Noise"
 msgstr "Gürültü Kaldırılıyor"
 
-#: effects/Normalize.cpp:68
+#. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
+#: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr ""
 
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+#. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
+#: effects/Normalize.cpp:74
+#: effects/Normalize.cpp:75
 msgid "true"
 msgstr ""
 
-#: effects/Normalize.cpp:73
+#: effects/Normalize.cpp:77
 #, c-format
 msgid ", maximum amplitude = %.1f dB"
 msgstr ""
 
-#: ../src/effects/Normalize.cpp:29
+#: effects/Normalize.cpp:327
 msgid "Normalize"
 msgstr "Düzgele"
 
-#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr ""
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
 msgstr ""
 
-#: effects/Normalize.cpp:336
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr ""
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
 msgstr ""
 
-#: ../src/effects/Normalize.h:34
+#: effects/Normalize.h:33
 msgid "Normalize..."
 msgstr "Düzgele..."
 
-#: ../src/effects/Normalize.h:38
+#: effects/Normalize.h:49
 msgid "Normalizing..."
 msgstr "Düzgeleniyor..."
 
-#: ../src/effects/Phaser.cpp:47
+#: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
 msgstr "Uygulanmış etki: %s %d evreleri, %.0f%% ıslak, frekans = %.1f Hz, başlangıç fazı = %.0f derecesi, derinlik = %d, geribildirim = %.0f%%"
 
-#: ../src/effects/Phaser.cpp:455
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "AÅŸamalar:"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
 msgstr ""
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
 msgstr ""
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:497 ../src/effects/Wahwah.cpp:468
+#: effects/Phaser.cpp:244
+#: effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
 msgstr "LFO Frekansı (Hz):"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247
+#: effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:513 ../src/effects/Wahwah.cpp:484
+#: effects/Phaser.cpp:252
+#: effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO Başlangıç Fazı (der.):"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255
+#: effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:529
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Derinlik:"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263
+#: effects/Wahwah.cpp:241
 msgid "Depth in percent"
 msgstr ""
 
-#: ../src/effects/Phaser.cpp:545
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Geri Besleme (%):"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
 msgstr ""
 
-#: ../src/effects/Phaser.h:41
+#: effects/Phaser.h:45
 msgid "Phaser..."
 msgstr "Fazlayıcı..."
 
-#: ../src/effects/Phaser.h:45
+#: effects/Phaser.h:59
 msgid "Applying Phaser"
 msgstr "Evreleyici Uygulanıyor"
 
-#: effects/Repair.cpp:94
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+#: effects/Repair.cpp:99
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
 msgstr ""
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
 msgstr ""
 
-#: effects/Repair.h:33
+#: effects/Repair.h:43
 msgid "Repairing damaged audio"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:31
+#: effects/Repeat.cpp:50
 #, c-format
 msgid "Repeated %d times"
 msgstr "%d kez tekrarla"
 
-#: ../src/effects/Repeat.cpp:57
+#: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
 msgstr "İzler seçimi tekrarlamak için çok uzun."
 
-#: ../src/effects/Repeat.cpp:58 ../src/effects/Repeat.cpp:62
+#: effects/Repeat.cpp:77
+#: effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "Tekrarla"
 
-#: effects/Repeat.cpp:212
+#: effects/Repeat.cpp:211
 #, fuzzy
 msgid "Number of times to repeat:"
 msgstr "Tekrarlanacak kerelerin sayısı"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.cpp:241 ../src/effects/Repeat.cpp:280
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
 msgstr "Yeni seçim uzunluğu: "
 
-#: widgets/TimeTextCtrl.cpp:199
+#. i18n-hint: Name of time display format that shows time in hours, minutes
+#. * and seconds
+#: effects/Repeat.cpp:261
+#: widgets/TimeTextCtrl.cpp:272
 msgid "hh:mm:ss"
 msgstr ""
 
-#: ../src/effects/Repeat.h:34
+#: effects/Repeat.h:33
 msgid "Repeat..."
 msgstr "Tekrarla..."
 
-#: ../src/effects/Repeat.h:38
+#: effects/Repeat.h:47
 msgid "Performing Repeat"
 msgstr "Tekrarlama Uygulanıyor"
 
-#: ../src/effects/Reverse.h:30
+#: effects/Reverse.h:30
 msgid "Reverse"
 msgstr "Geri Döndür"
 
-#: ../src/effects/Reverse.h:34
+#: effects/Reverse.h:44
 msgid "Reversing"
 msgstr "Geri Dönüyor"
 
@@ -5294,16 +5935,16 @@ msgstr ""
 msgid "Silence..."
 msgstr "Sessizlik.."
 
-#: ../src/effects/Silence.h:37
+#: effects/Silence.h:48
 msgid "Generating Silence"
 msgstr "Sessizlik OluÅŸturuyor"
 
-#: ../src/effects/Silence.h:42
+#: effects/Silence.h:53
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Uygulanmış etki: Sessizlik Oluştur, %.6lf saniye"
 
-#: effects/SimplePairedTwoTrack.h:120
+#: effects/SimplePairedTwoTrack.h:115
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
@@ -5316,11 +5957,12 @@ msgid "SpikeCleaner by Lynn Allan"
 msgstr ""
 
 #: effects/SpikeCleaner.cpp:165
-msgid "Max Spike Duration (milliseconds): \n"
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
 msgstr ""
 
-#: effects/SpikeCleaner.cpp:178 effects/TruncSilence.cpp:269
+#: effects/SpikeCleaner.cpp:178
 msgid "Theshold for silence: "
 msgstr ""
 
@@ -5328,13 +5970,14 @@ msgstr ""
 msgid "Spike Cleaner..."
 msgstr ""
 
-#: effects/SpikeCleaner.h:31
+#: effects/SpikeCleaner.h:35
 msgid "Applying Spike Cleaner..."
 msgstr ""
 
 #: effects/StereoToMono.h:23
-msgid "&Stereo to Mono"
-msgstr ""
+#, fuzzy
+msgid "Stereo to Mono"
+msgstr "Ä°kili, "
 
 #: effects/StereoToMono.h:38
 msgid "Applying Stereo to Mono"
@@ -5384,12 +6027,13 @@ msgstr ""
 msgid "Changing Tempo/Pitch"
 msgstr ""
 
-#: effects/ToneGen.cpp:59
+#: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr ""
 
-#: ../src/widgets/Meter.cpp:292
+#: effects/ToneGen.cpp:69
+#: widgets/Meter.cpp:405
 msgid "Linear"
 msgstr "DoÄŸrusal"
 
@@ -5397,323 +6041,395 @@ msgstr "DoÄŸrusal"
 msgid "Logarithmic"
 msgstr ""
 
-#: effects/ToneGen.cpp:66
+#: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
 msgstr ""
 
-#: ../src/effects/ToneGen.cpp:43
+#: effects/ToneGen.cpp:71
 msgid "Tone Generator"
 msgstr "Ton Ãœreteci"
 
-#: ../src/effects/ToneGen.cpp:48
+#: effects/ToneGen.cpp:72
 msgid "Sine"
 msgstr ""
 
-#: ../src/effects/ToneGen.cpp:49
+#: effects/ToneGen.cpp:73
 msgid "Square"
 msgstr "Kare"
 
-#: ../src/effects/ToneGen.cpp:50
+#: effects/ToneGen.cpp:74
 msgid "Sawtooth"
 msgstr "Testere DiÅŸi"
 
-#: effects/ToneGen.cpp:70
+#: effects/ToneGen.cpp:75
 msgid "Square, no alias"
 msgstr ""
 
-#: effects/ToneGen.cpp:298
+#: effects/ToneGen.cpp:277
+#: effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr ""
 
-#: ../src/effects/ToneGen.cpp:263
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Dalga biçimi:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
 msgstr ""
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
 msgstr ""
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
 msgstr ""
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr ""
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Chirp..."
 msgstr ""
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Tone..."
 msgstr ""
 
-#: effects/ToneGen.h:43
+#: effects/ToneGen.h:54
 msgid "Generating Chirp"
 msgstr ""
 
-#: ../src/effects/ToneGen.h:44
+#: effects/ToneGen.h:54
 msgid "Generating Tone"
 msgstr "Ton OluÅŸturuyor"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr ""
 
-#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:133
+#: effects/TruncSilence.cpp:444
 msgid "Truncate Silence"
 msgstr ""
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
+#: effects/TruncSilence.cpp:454
+msgid "by Lynn Allan && Philip Van Baren"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
+#: effects/TruncSilence.cpp:468
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:471
+#: effects/TruncSilence.cpp:475
+#: prefs/MidiIOPrefs.cpp:197
+#: prefs/MidiIOPrefs.cpp:199
 msgid "milliseconds"
 msgstr ""
 
-#: effects/TruncSilence.cpp:351
+#: effects/TruncSilence.cpp:472
+msgid "Max silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:476
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:479
+msgid ":1"
+msgstr ""
+
+#: effects/TruncSilence.cpp:481
 msgid "Threshold for silence:"
 msgstr ""
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:507
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
 
-#: BatchCommands.cpp:236 effects/TruncSilence.cpp:84 effects/TruncSilence.h:29
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr ""
 
-#: effects/TruncSilence.h:33
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
+#: effects/VST/VSTEffect.cpp:256
+#: effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Etki Ayarları"
+
+#: effects/VST/VSTEffect.cpp:336
+#: effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563
+#: prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Hiç"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
 msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "DeÄŸiÅŸtirme iÅŸlenemedi"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST takılabilir parametreleri:"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
 
-#: ../src/effects/Wahwah.cpp:41
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
+
+#: effects/Wahwah.cpp:61
 #, c-format
 msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
 msgstr "Uygulanmış etki: %s frekansı = %.1f Hz, başlangıç fazı = %.0f derecesi, derinlik = %.0f% %, çınlama = %.1f, frekans ofseti = %.0f%%"
 
-#: ../src/effects/Wahwah.cpp:52
+#: effects/Wahwah.cpp:203
 msgid "Wahwah"
 msgstr "Wahwah"
 
-#: ../src/effects/Wahwah.cpp:500
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Derinlik (%):"
 
-#: ../src/effects/Wahwah.cpp:516
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Çınlama:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
 msgstr ""
 
-#: ../src/effects/Wahwah.cpp:532
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
 msgstr "Wah Frekans Ofseti (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
 msgstr ""
 
-#: ../src/effects/Wahwah.h:39
+#: effects/Wahwah.h:41
 msgid "Wahwah..."
 msgstr "Wahwah..."
 
-#: ../src/effects/Wahwah.h:43
+#: effects/Wahwah.h:55
 msgid "Applying Wahwah"
 msgstr "Wahwah Uygulanıyor"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:137
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178
+#: effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Etki Uygulanıyor: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:189
+#: effects/ladspa/LadspaEffect.cpp:198
+#: effects/lv2/LV2Effect.cpp:213
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:435
-#: ../src/effects/ladspa/LadspaEffect.cpp:443
-#: ../src/prefs/QualityPrefs.cpp:160
-msgid "None"
-msgstr "Hiç"
-
-#: ../src/effects/ladspa/LadspaEffect.cpp:437
+#: effects/ladspa/LadspaEffect.cpp:557
+#: effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Yazar:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:452
-msgid "Effect Settings"
-msgstr "Etki Ayarları"
-
-#: ../src/effects/Silence.cpp:127 ../src/effects/ToneGen.cpp:306
+#: effects/ladspa/LadspaEffect.cpp:685
+#: effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809
+#: effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Uzunluk (saniye)"
 
-#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:824
+#: effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
 msgstr ""
 
-#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:835
+#: effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
 msgstr ""
 
-#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:846
+#: effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
 msgstr ""
 
-#: ../src/effects/nyquist/Nyquist.cpp:217
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Nyquist Efekti Uygulanıyor..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:224
+#: effects/nyquist/Nyquist.cpp:91
+#: effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Nyquist Komutu..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:282
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Nyquist Komut GiriÅŸi: "
 
-#: ../src/effects/nyquist/Nyquist.cpp:370
+#: effects/nyquist/Nyquist.cpp:515
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "Üzgünüm, izlerin eşleşmediği yerdeki ikili izler üzerindeki etki uygulamadı."
 
-#: ../src/effects/nyquist/Nyquist.cpp:397
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Nyquist"
 
-#: ../src/effects/nyquist/Nyquist.cpp:398
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Nyquist Çıktısı: "
 
-#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr ""
 
-#: ../src/effects/nyquist/Nyquist.cpp:594
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Nyquist ses döndürmedi.\n"
 
-#: ../src/effects/nyquist/Nyquist.cpp:604
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Nyquist çok fazla ses kanalı döndürdü.\n"
 
-#: effects/vamp/VampEffect.cpp:75
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr ""
 
-#: effects/vamp/VampEffect.cpp:106
+#: effects/vamp/VampEffect.cpp:107
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
 msgstr ""
 
-#: effects/vamp/VampEffect.cpp:120
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr ""
 
-#: effects/vamp/VampEffect.cpp:228
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr ""
 
-#: effects/vamp/VampEffect.cpp:376
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
 msgstr ""
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr ""
 
-#: effects/vamp/VampEffect.cpp:446
+#: effects/vamp/VampEffect.cpp:418
+#: effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr ""
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
 msgstr ""
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
 msgstr ""
 
-#: export/Export.cpp:445
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr ""
 
-#: export/Export.cpp:453
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr ""
 
-#: ../src/export/Export.cpp:202
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Dosyayı \" olarak kaydetmek istediğinize emin misiniz"
 
-#: export/Export.cpp:495
+#: export/Export.cpp:596
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
 msgstr ""
 
-#: export/Export.cpp:516
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr ""
 
-#: ../src/export/Export.cpp:142
+#: export/Export.cpp:719
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "İzleriniz aktarılan dosya içindeki iki ikili kanalda aşağı karıştırılmış olacak."
 
-#: ../src/export/Export.cpp:147
+#: export/Export.cpp:724
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "İzleriniz aktarılan dosya içindeki tek tekli kanalda aşağı karıştırılmış olacak."
 
-#: export/Export.cpp:171
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr ""
 
-#: export/Export.cpp:632
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr ""
 
-#: export/Export.cpp:755
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr ""
 
-#: export/Export.cpp:756
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr ""
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:775 export/Export.cpp:829
+#: export/Export.cpp:1088
+#: export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
 msgstr ""
@@ -5722,91 +6438,112 @@ msgstr ""
 msgid "Specify Command Line Encoder"
 msgstr ""
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
 msgstr ""
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
 msgstr ""
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
 msgstr ""
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
 msgstr ""
 
-#: export/ExportCL.cpp:219
+#: export/ExportCL.cpp:220
 msgid "(external program)"
 msgstr ""
 
-#: ../src/export/ExportPCM.cpp:79
+#: export/ExportCL.cpp:286
+#: export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "%s de ses aktarılamadı"
 
-#: ../src/export/ExportCL.cpp:144
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "Komut-satırı kodlayıcısı kullanarak seçili sesi aktarma"
 
-#: ../src/export/ExportCL.cpp:146
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Komut-satırı kodlayıcısı kullanarak tüm projeyi aktarma"
 
-#: export/ExportCL.cpp:387
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:433
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
 msgstr ""
 
-#: export/ExportMP3.cpp:1863
+#: export/ExportFFmpeg.cpp:748
+#: export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:761
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
 msgstr ""
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:764
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
 
-#: export/ExportMP3.cpp:1882
+#: export/ExportFFmpeg.cpp:767
+#: export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr ""
 
-#: export/ExportMP3.cpp:1905
+#: export/ExportFFmpeg.cpp:795
+#: export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr ""
 
@@ -5814,348 +6551,376 @@ msgstr ""
 msgid "Specify AC3 Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
 msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:197
+#: export/ExportFFmpegDialogs.cpp:116
+#: export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298
+#: export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:926
+#: export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Bit Oranı:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:172
+#: export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
 msgstr ""
 
-#: export/ExportPCM.cpp:177
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:902
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:134
+#: export/ExportFFmpegDialogs.cpp:920
+#: prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Dil:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:921
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:924
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:927
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:933
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:936
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:940
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:955
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:958
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:961
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:964
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:967
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:971
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:974
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:977
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:991
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:994
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
 msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:192
+#: export/ExportFFmpegDialogs.cpp:1275
+#: export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:267
+#: prefs/KeyConfigPrefs.cpp:298
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "XML dosyaları (*.xml)|*.xml|Tüm dosyalar (*.*)|*.*"
 
@@ -6163,143 +6928,155 @@ msgstr "XML dosyaları (*.xml)|*.xml|Tüm dosyalar (*.*)|*.*"
 msgid "Select xml file to export presets into"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:53
-msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
-
 #: export/ExportFFmpegDialogs.h:54
-msgid "AC3 Files (FFmpeg)"
+msgid "M4A (AAC) Files (FFmpeg)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
-msgid "WMA (version 2) Files (FFmpeg)"
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:58
+msgid "WMA (version 2) Files (FFmpeg)"
+msgstr ""
+
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
 msgstr ""
 
-#: export/ExportFLAC.cpp:68
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
 msgstr ""
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
 msgstr ""
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:80
 msgid "1"
 msgstr ""
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:81
 msgid "2"
 msgstr ""
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:82
 msgid "3"
 msgstr ""
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:83
 msgid "4"
 msgstr ""
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:84
 msgid "5"
 msgstr ""
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:85
 msgid "6"
 msgstr ""
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:86
 msgid "7"
 msgstr ""
 
-#: export/ExportFLAC.cpp:90
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:193
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:194
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:190
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
 msgstr ""
 
-#: export/ExportFLAC.cpp:102
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:197
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
 msgstr ""
 
-#: export/ExportFLAC.cpp:208
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
 msgstr ""
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
 msgstr ""
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr ""
 
@@ -6307,7 +7084,7 @@ msgstr ""
 msgid "Specify MP2 Options"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:204
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
 msgstr ""
 
@@ -6315,328 +7092,352 @@ msgstr ""
 msgid "MP2 Files"
 msgstr ""
 
-#: export/ExportMP2.cpp:94
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1345 ../src/export/ExportOGG.cpp:53
+#: export/ExportMP2.cpp:241
+#: export/ExportMP3.cpp:1619
+#: export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Yazma için hedef dosya açılamadı"
 
-#: export/ExportMP2.cpp:144 export/ExportMP3.cpp:1680
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
 msgstr ""
 
-#: export/ExportMP2.cpp:145 export/ExportMP3.cpp:1681
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr ""
 
-#. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
+#: export/ExportMP3.cpp:223
+#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:255
 msgid "kbps"
 msgstr ""
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
 msgstr ""
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
 msgstr ""
 
-#: export/ExportMP3.cpp:178
+#: export/ExportMP3.cpp:245
 msgid "Fast"
 msgstr ""
 
-#: export/ExportMP3.cpp:179
+#: export/ExportMP3.cpp:246
+#: export/ExportMP3.cpp:252
+#: prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr ""
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
 msgstr ""
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
 msgstr ""
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
 msgstr ""
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
 msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:172
+#: export/ExportMP3.cpp:319
 msgid "MP3 Export Setup"
 msgstr "MP3 Aktarma Ayarı"
 
-#: export/ExportMP3.cpp:271
+#: export/ExportMP3.cpp:326
 msgid "Bit Rate Mode:"
 msgstr ""
 
-#: export/ExportMP3.cpp:276
+#: export/ExportMP3.cpp:331
 msgid "Preset"
 msgstr ""
 
-#: export/ExportMP3.cpp:277
+#: export/ExportMP3.cpp:332
 msgid "Variable"
 msgstr ""
 
-#: export/ExportMP3.cpp:278
+#: export/ExportMP3.cpp:333
 msgid "Average"
 msgstr ""
 
-#: export/ExportMP3.cpp:279
+#: export/ExportMP3.cpp:334
 msgid "Constant"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:85
+#: export/ExportMP3.cpp:373
+#: prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Kalite"
 
-#: export/ExportMP3.cpp:324
+#: export/ExportMP3.cpp:379
 msgid "Variable Speed:"
 msgstr ""
 
-#: export/ExportMP3.cpp:331
+#: export/ExportMP3.cpp:386
 msgid "Channel Mode:"
 msgstr ""
 
-#: export/ExportMP3.cpp:336
+#: export/ExportMP3.cpp:391
 msgid "Joint Stereo"
 msgstr ""
 
-#: export/ExportMP3.cpp:337
+#: export/ExportMP3.cpp:392
 msgid "Stereo"
 msgstr ""
 
-#: export/ExportMP3.cpp:481
+#: export/ExportMP3.cpp:536
 msgid "Locate Lame"
 msgstr ""
 
-#: export/ExportMP3.cpp:501
+#: export/ExportMP3.cpp:556
 #, c-format
 msgid "Audacity needs the file %s to create MP3s."
 msgstr ""
 
-#: export/ExportMP3.cpp:523
+#: export/ExportMP3.cpp:578
 msgid "To get a free copy of Lame, click here -->"
 msgstr ""
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1116
+#: export/ExportMP3.cpp:1328
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "Sadece lame_enc.dll|lame_enc.dll|Dinamik Olarak Bağlanmış Kütüphaneler (*.dll)|*.dll| Tüm Dosyalar (*.*)|*"
 
-#: export/ExportMP3.cpp:536
+#: export/ExportMP3.cpp:1346
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr ""
 
-#: export/ExportMP3.cpp:1567
+#: export/ExportMP3.cpp:1364
 #, fuzzy
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "Sadece libmp3lame.so|libmp3lame.so|Birincil Paylaşımlı Nesne dosyaları (*.so)|*.so| Genişletilmiş Kütüphaneler (*.so*)|*.so*|Tüm Dosyalar (*)|*"
 
-#: export/ExportMP3.cpp:1592
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr ""
 
-#: ../src/export/ExportMP3.cpp:1328
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "MP3 kodlama kütüphanesi açılamadı!"
 
-#: ../src/export/ExportMP3.cpp:1335
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Geçersiz ya da desteklenmeyen MP3 kodlama kütüphanesi!"
 
-#: export/ExportMP3.cpp:1699
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr ""
 
-#: export/ExportMP3.cpp:1744
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
 msgstr ""
 
-#: export/ExportMP3.cpp:1745
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr ""
 
-#: export/ExportMP3.cpp:1750
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
 msgstr ""
 
-#: export/ExportMP3.cpp:1751
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr ""
 
-#: export/ExportMP3.cpp:1756
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
 msgstr ""
 
-#: export/ExportMP3.cpp:1757
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr ""
 
-#: export/ExportMP3.cpp:1790
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr ""
 
-#: export/ExportMP3.cpp:1876
+#: export/ExportMP3.cpp:1790
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr ""
 
-#: export/ExportMP3.cpp:1879
+#: export/ExportMP3.cpp:1793
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
 msgstr ""
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:367 ../src/export/ExportMultiple.cpp:474
-#: ../src/export/ExportMultiple.cpp:562
+#: export/ExportMultiple.cpp:93
+#: export/ExportMultiple.cpp:424
 msgid "Export Multiple"
 msgstr "Çoklu Aktar"
 
-#: ../src/export/ExportMultiple.cpp:487
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "Eğer bir Ses İzinden daha fazlasına sahipseniz, ayrı bir dosya olarak her izi aktarabilirsiniz,\n"
+msgstr ""
+"Eğer bir Ses İzinden daha fazlasına sahipseniz, ayrı bir dosya olarak her izi aktarabilirsiniz,\n"
 "ya da eğer bir Etiket İzine sahipseniz, her etiket için yeni bir dosya aktarabilirsiniz.\n"
 "Bu proje çoklu izlere ya da bir Etiket İzine sahip değil, bu yüzden çoklu dosyaları aktaramayabilirsiniz."
 
-#: ../src/export/ExportMultiple.cpp:493
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "Çoklu dosyalar aktarılamadı"
 
-#: ../src/export/ExportMultiple.cpp:576
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
 msgstr "Biçemi aktar:"
 
-#: export/ExportMultiple.cpp:195
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:594
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
 msgstr "Konumu aktar:"
 
-#: ../src/export/ExportMultiple.cpp:600 ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "Seç..."
-
-#: export/ExportMultiple.cpp:205
+#: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:612
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:615
+#: export/ExportMultiple.cpp:259
+#: export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "Etiketler"
 
-#: ../src/export/ExportMultiple.cpp:623
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "İlk etiketten önce ses ekle"
 
-#: ../src/export/ExportMultiple.cpp:629
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
 msgstr "İlk dosya adı:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:636
-msgid "Tracks"
-msgstr "Ä°zler"
-
-#: ../src/export/ExportMultiple.cpp:646
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "İsim dosyaları:"
 
-#: ../src/export/ExportMultiple.cpp:649
+#: export/ExportMultiple.cpp:303
+#: export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "Etiket/İz İsmi Kullanımı"
 
-#: ../src/export/ExportMultiple.cpp:655
+#: export/ExportMultiple.cpp:311
+#: export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "Birbirini izleyerek numaralama"
 
-#: ../src/export/ExportMultiple.cpp:660
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
 msgstr "Dosya adı öneki:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:677
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "Mevcut dosyanın üzerine yaz"
 
-#: export/ExportMultiple.cpp:360
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
 msgstr ""
 
-#: ../src/export/ExportMultiple.cpp:766
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "Aktarılan dosyaları kaydetmek için bir konum seç"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
+msgid "Successfully exported the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:526
 #, c-format
-msgid "Successfully exported %d file(s)."
+msgid "Export canceled after exporting the following %ld file(s)."
 msgstr ""
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:527
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
 msgstr ""
 
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:570
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
+msgstr ""
+
+#: export/ExportMultiple.cpp:667
+#: export/ExportMultiple.cpp:804
+msgid "Edit metadata"
+msgstr ""
+
+#: export/ExportMultiple.cpp:923
+#, c-format
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
 msgstr ""
 
@@ -6644,7 +7445,7 @@ msgstr ""
 msgid "Specify Ogg Vorbis Options"
 msgstr ""
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
 msgstr ""
 
@@ -6652,75 +7453,76 @@ msgstr ""
 msgid "Ogg Vorbis Files"
 msgstr ""
 
-#: ../src/export/ExportOGG.cpp:191
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "Ogg Vorbis olarak seçili sesi aktarma"
 
-#: ../src/export/ExportOGG.cpp:192
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Ogg Vorbis olarak tüm projeyi aktarma"
 
-#: export/ExportPCM.cpp:116
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
 msgstr ""
 
-#: export/ExportPCM.cpp:171
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
 msgstr ""
 
-#: export/ExportPCM.cpp:181
+#: export/ExportPCM.cpp:195
 msgid "Header:"
 msgstr ""
 
-#: export/ExportPCM.cpp:185
+#: export/ExportPCM.cpp:199
+#: import/ImportRaw.cpp:376
 #, fuzzy
 msgid "Encoding:"
 msgstr "Kodlama:"
 
-#: export/ExportPCM.cpp:190
+#: export/ExportPCM.cpp:204
 #, fuzzy
 msgid "(Not all combinations of headers and encodings are possible.)"
-msgstr "(Başlıkların tüm bileşimleri değil\n"
+msgstr ""
+"(Başlıkların tüm bileşimleri değil\n"
 "ve kodlamalar mümkündür.)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
 msgstr ""
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
 msgstr ""
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
 msgstr ""
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
 msgstr ""
 
-#: ../src/export/ExportPCM.cpp:73
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
 msgstr "Bu biçemde ses aktarılamadı"
 
-#: export/ExportPCM.cpp:400
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
 msgstr ""
 
-#: export/ExportPCM.cpp:402
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr ""
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:436
-#, c-format
-#, fuzzy
+#: export/ExportPCM.cpp:564
+#, fuzzy, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Hata (dosya yazılmamış olabilir): %s"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
 msgstr ""
 
@@ -6728,143 +7530,159 @@ msgstr ""
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
 msgstr ""
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
 msgstr ""
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
 msgstr ""
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
 msgstr ""
 
-#: import/ImportMP3.cpp:78
+#: import/Import.cpp:162
+#: import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr ""
 
-#: import/Import.cpp:175
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
 msgstr ""
 
-#: ../src/import/Import.cpp:159
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Audacity'nin bu sürümü %s desteği ile derlenmemiş."
 
-#: import/Import.cpp:240
+#: import/Import.cpp:247
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:167
+#: import/Import.cpp:257
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:173
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
 msgstr ""
 
-#: import/Import.cpp:178
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:183
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:271
+#: import/Import.cpp:278
 #, c-format
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:193
+#: import/Import.cpp:283
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:282
+#: import/Import.cpp:289
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
 msgstr ""
 
-#: import/Import.cpp:288
+#: import/Import.cpp:295
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:294
+#: import/Import.cpp:301
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:300
+#: import/Import.cpp:307
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:306
+#: import/Import.cpp:313
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:312
+#: import/Import.cpp:319
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
 
-#: import/Import.cpp:317
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
 
-#: import/Import.cpp:322
+#: import/Import.cpp:329
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
 msgstr ""
 
@@ -6872,42 +7690,48 @@ msgstr ""
 msgid "FFmpeg-compatible files"
 msgstr ""
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
 msgstr ""
 
-#: import/ImportFLAC.cpp:35
+#: import/ImportFLAC.cpp:45
 msgid "FLAC files"
 msgstr ""
 
-#: ../src/import/ImportLOF.cpp:151 ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
+#: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Temel metin biçimindeki Dosyaların Listesi"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:268
+#: import/ImportLOF.cpp:314
 msgid "Invalid window offset in LOF file."
 msgstr "LOF dosyası içinde geçersiz pencere ofseti"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270 ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:364 ../src/import/ImportLOF.cpp:384
+#: import/ImportLOF.cpp:316
+#: import/ImportLOF.cpp:337
+#: import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "LOF Hatası"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:289
+#: import/ImportLOF.cpp:335
 msgid "Invalid duration in LOF file."
 msgstr "LOF dosyası içinde geçersiz süre"
 
-#: import/ImportLOF.cpp:407
+#: import/ImportLOF.cpp:417
 #, fuzzy
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
 msgstr "MIDI izleri bireysel olarak ofset olmayabilir, belki sadece ses dosyaları."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:383
+#: import/ImportLOF.cpp:438
 msgid "Invalid track offset in LOF file."
 msgstr "LOF dosyası içinde geçersiz iz ofseti"
 
@@ -6915,7 +7739,9 @@ msgstr "LOF dosyası içinde geçersiz iz ofseti"
 msgid ": Filename too short."
 msgstr ""
 
-#: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
+#: import/ImportMIDI.cpp:31
+#: import/ImportMIDI.cpp:39
+#: import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
 msgstr ""
@@ -6924,105 +7750,106 @@ msgstr ""
 msgid ": Incorrect filetype."
 msgstr ""
 
-#: import/ImportOGG.cpp:35
+#: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
 msgstr ""
 
-#: ../src/import/ImportOGG.cpp:124
+#: import/ImportOGG.cpp:184
 msgid "Media read error"
 msgstr "Ortam okuma hatası"
 
-#: ../src/import/ImportOGG.cpp:127
+#: import/ImportOGG.cpp:187
 msgid "Not an Ogg Vorbis file"
 msgstr "Bir Ogg Vorbis dosyası değil"
 
-#: ../src/import/ImportOGG.cpp:130
+#: import/ImportOGG.cpp:190
 msgid "Vorbis version mismatch"
 msgstr "Vorbis sürüm uyumsuzluğu"
 
-#: ../src/import/ImportOGG.cpp:133
+#: import/ImportOGG.cpp:193
 msgid "Invalid Vorbis bitstream header"
 msgstr "Geçersiz Vorbis bitstream başlığı"
 
-#: ../src/import/ImportOGG.cpp:136
+#: import/ImportOGG.cpp:196
 msgid "Internal logic fault"
 msgstr "Dahili mantık kusuru"
 
-#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr ""
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135
+#: import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
 msgstr ""
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
 msgstr ""
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
 msgstr ""
 
-#: ../src/import/ImportRaw.cpp:256
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Ham Veri Al"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:299
+#: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr ""
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:302
+#: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr ""
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:305
+#: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "Büyük-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: ../src/import/ImportRaw.cpp:308
+#: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr ""
 
-#: ../src/import/ImportRaw.cpp:332
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 Kanal (Mono)"
 
-#: ../src/import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 Kanal (Çiftli)"
 
-#: ../src/import/ImportRaw.cpp:335
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d Kanalları"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
 msgstr ""
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
 msgstr ""
 
-#: ../src/import/ImportRaw.cpp:348
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Ofseti baÅŸlat:"
 
-#: ../src/import/ImportRaw.cpp:359
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Alınacak miktar:"
 
-#: ../src/import/ImportRaw.cpp:370
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Örnek oran:"
 
@@ -7039,1073 +7866,1258 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:84
-msgid "Audio I/O"
-msgstr "Ses I/O"
-
-#: ../src/prefs/AudioIOPrefs.cpp:212
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:213
-msgid "2 (Stereo)"
-msgstr "2 (Çiftli)"
-
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "Kayıttan Yürüt"
-
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:122
-msgid "Using:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:148
-msgid "Recording"
-msgstr "Kaydediliyor"
-
-#: prefs/AudioIOPrefs.cpp:139
-msgid "Channels"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
+#: prefs/BatchPrefs.cpp:75
+#: prefs/GUIPrefs.cpp:134
+#: prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
+#: prefs/BatchPrefs.cpp:81
+#: prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr ""
+#: prefs/DevicePrefs.cpp:107
+#: prefs/GUIPrefs.cpp:32
+#: prefs/MidiIOPrefs.cpp:113
+msgid "Interface"
+msgstr "Arayüz"
 
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
+#: prefs/DevicePrefs.cpp:112
+#: prefs/MidiIOPrefs.cpp:118
+msgid "Host"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
+#: prefs/DevicePrefs.cpp:119
+#: prefs/MidiIOPrefs.cpp:125
+msgid "Using:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
+#: prefs/DevicePrefs.cpp:126
+#: prefs/MidiIOPrefs.cpp:132
+#: prefs/PlaybackPrefs.cpp:31
+msgid "Playback"
+msgstr "Kayıttan Yürüt"
 
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr ""
+#: prefs/DevicePrefs.cpp:139
+#: prefs/MidiIOPrefs.cpp:145
+#: prefs/RecordingPrefs.cpp:34
+msgid "Recording"
+msgstr "Kaydediliyor"
 
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
+#: prefs/DevicePrefs.cpp:149
+msgid "Channels"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:53 prefs/BatchPrefs.cpp:54
-msgid "Batch"
-msgstr ""
+#: prefs/DevicePrefs.cpp:165
+#, fuzzy
+msgid "No audio interfaces"
+msgstr "Ses izi(leri) kaldırıldı"
 
-#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:70
-msgid "Behaviors"
+#: prefs/DevicePrefs.cpp:201
+#: prefs/DevicePrefs.cpp:206
+#: prefs/MidiIOPrefs.cpp:295
+#: prefs/MidiIOPrefs.cpp:300
+msgid "No devices found"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/DevicePrefs.cpp:264
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr ""
+#: prefs/DevicePrefs.cpp:267
+msgid "2 (Stereo)"
+msgstr "2 (Çiftli)"
 
-#: ../src/prefs/PrefsDialog.cpp:88 ../src/prefs/PrefsDialog.cpp:216
+#: prefs/DirectoriesPrefs.cpp:52
+#: prefs/PrefsDialog.cpp:210
 msgid "Directories"
 msgstr "Dizinler"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:57
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Konum:"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:78
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "BoÅŸ Alan:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
+msgid "Play and/or record using RAM (useful for slow drives)"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
 msgstr ""
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
-#: ../src/prefs/DirectoriesPrefs.cpp:135
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Geçici dizini yerleştirmek için bir konum seç"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:181
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "%s dizin mevcut değil. Yaratılsın mı?"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:183
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Yeni Geçici Dizin"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:202
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "%s dizini yazılabilir değil"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:214
+#: prefs/DirectoriesPrefs.cpp:207
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Geçici dizine değiştirme Audacity yeniden başlayana kadar etkin olmayacak"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
 msgstr ""
 
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "MP3 Kütüphane Sürümü:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (yüksek-genlik düzenlemesi için yüzeysel mesafe)"
 
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (8 bit örneklerin PCM mesafesi)"
 
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (16 bit örneklerin PCM mesafesi)"
 
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (insan sesinin yaklaşık sınırı)"
 
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (24 bit örneklerin PCM mesafesi)"
 
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
+#: prefs/GUIPrefs.cpp:96
+#: prefs/SpectrumPrefs.cpp:129
+#: prefs/TracksPrefs.cpp:75
+msgid "Display"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
+#: prefs/GUIPrefs.cpp:98
+msgid "Er&gonomic order of audio I/O buttons"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+#: prefs/GUIPrefs.cpp:139
+msgid "&Beep on completion of longer activities"
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
+#: prefs/GUIPrefs.cpp:145
+msgid "Modes"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Interface"
-msgstr "Arayüz"
-
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
+#: prefs/GUIPrefs.cpp:156
+msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:90
-msgid "&Beep on completion of longer activities"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
 
-#: prefs/BatchPrefs.cpp:87 prefs/GUIPrefs.cpp:94
-msgid "Show / Hide"
-msgstr ""
+#: prefs/KeyConfigPrefs.cpp:72
+msgid "Keyboard"
+msgstr "Klavye"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Enable cut &lines"
+#: prefs/KeyConfigPrefs.cpp:96
+msgid "Keyboard preferences currently unavailable."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Show warnings about &temp files"
+#: prefs/KeyConfigPrefs.cpp:97
+msgid "Open a new project to modify keyboard shortcuts."
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
+#: prefs/KeyConfigPrefs.cpp:108
+#: prefs/KeyConfigPrefs.cpp:224
+#, fuzzy
+msgid "All"
+msgstr "&Tüm"
+
+#: prefs/KeyConfigPrefs.cpp:124
+msgid "Key Bindings"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
+#: prefs/KeyConfigPrefs.cpp:129
+msgid "Category:"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:126
-msgid "Modes"
+#: prefs/KeyConfigPrefs.cpp:156
+msgid "S&et"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:129
-msgid "Don't a&pply effects in batch mode"
+#: prefs/KeyConfigPrefs.cpp:157
+#: widgets/FileHistory.cpp:174
+msgid "&Clear"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
+#: prefs/KeyConfigPrefs.cpp:162
+msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
+msgstr "Not: Cmd+Q'ya basma çıkacaktır. Tüm diğer tuşlar geçerlidir."
+
+#: prefs/KeyConfigPrefs.cpp:169
+#: prefs/ThemePrefs.cpp:125
+msgid "&Defaults"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:150
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (yüksek-genlik düzenlemesi için yüzeysel mesafe)"
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Key Combination"
+msgstr "TuÅŸ Kombinasyonu"
 
-#: ../src/prefs/GUIPrefs.cpp:157
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (8 bit örneklerin PCM mesafesi)"
+#: prefs/KeyConfigPrefs.cpp:234
+#: toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Geri Al"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
+#: prefs/KeyConfigPrefs.cpp:237
+#: toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
 msgstr ""
 
-#: ../src/prefs/GUIPrefs.cpp:164
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (16 bit örneklerin PCM mesafesi)"
+#: prefs/KeyConfigPrefs.cpp:263
+msgid "Select an XML file containing Audacity keyboard shortcuts..."
+msgstr "Audacity klavye kısayolları içeren bir XML dosya seçin..."
 
-#: ../src/prefs/GUIPrefs.cpp:171
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (insan sesinin yaklaşık sınırı)"
+#: prefs/KeyConfigPrefs.cpp:281
+msgid "Error loading keyboard shortcuts"
+msgstr "Klavye kısayolarını yüklüyorken hata"
 
-#: ../src/prefs/GUIPrefs.cpp:178
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (24 bit örneklerin PCM mesafesi)"
+#: prefs/KeyConfigPrefs.cpp:294
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Olarak Klavye Kısayollarına Aktar:"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr ""
+#: prefs/KeyConfigPrefs.cpp:320
+msgid "Error saving keyboard shortcuts"
+msgstr "Klavye kısayollarını kaydediyorken hata"
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
+#: prefs/KeyConfigPrefs.cpp:368
+#, c-format
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
+"\n"
+"'%s'"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:90
-msgid "Keyboard"
-msgstr "Klavye"
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "MP3 Kütüphane Sürümü:"
 
-#: prefs/KeyConfigPrefs.cpp:86
-msgid "Keyboard preferences currently unavailable."
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:87
-msgid "Open a new project to modify keyboard shortcuts."
+#: prefs/LibraryPrefs.cpp:92
+#: prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:93
-msgid "Key Bindings"
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
 msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:113
-msgid "S&et"
+#: prefs/LibraryPrefs.cpp:97
+#: prefs/LibraryPrefs.cpp:130
+msgid "&Download"
 msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:115
-msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
-msgstr "Not: Cmd+Q'ya basma çıkacaktır. Tüm diğer tuşlar geçerlidir."
-
-#: prefs/KeyConfigPrefs.cpp:122 prefs/ThemePrefs.cpp:102
-msgid "&Defaults"
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
 msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:79
-msgid "Key Combination"
-msgstr "TuÅŸ Kombinasyonu"
-
-#: ../src/prefs/KeyConfigPrefs.cpp:159
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Olarak Klavye Kısayollarına Aktar:"
-
-#: ../src/prefs/KeyConfigPrefs.cpp:174
-msgid "Error saving keyboard shortcuts"
-msgstr "Klavye kısayollarını kaydediyorken hata"
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:188
-msgid "Select an XML file containing Audacity keyboard shortcuts..."
-msgstr "Audacity klavye kısayolları içeren bir XML dosya seçin..."
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
 
-#: ../src/prefs/KeyConfigPrefs.cpp:206
-msgid "Error loading keyboard shortcuts"
-msgstr "Klavye kısayolarını yüklüyorken hata"
+#: prefs/LibraryPrefs.cpp:120
+#: prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:239
-#, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
-"\n"
-"'%s'"
+#: prefs/MidiIOPrefs.cpp:58
+msgid "MIDI Devices"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:159
-msgid "Undo"
-msgstr "Geri Al"
+#: prefs/MidiIOPrefs.cpp:168
+#: prefs/RecordingPrefs.cpp:60
+msgid "Playthrough"
+msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:147
+#: prefs/MidiIOPrefs.cpp:170
 #, fuzzy
 msgid "&Play other tracks while recording new one"
 msgstr "Yeni biri kaydediliyorken diğer izleri çal"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:173
 msgid "&Hardware Playthrough (Play new track while recording it)"
 msgstr ""
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:176
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:181
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Cut Preview"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:184
 msgid "Play before cut region:"
 msgstr ""
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:186
 msgid "Play after cut region:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:174
+#: prefs/MidiIOPrefs.cpp:191
+#: prefs/RecordingPrefs.cpp:79
+msgid "Latency"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:196
+#: prefs/RecordingPrefs.cpp:85
 msgid "Audio to buffer:"
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:177
+#: prefs/MidiIOPrefs.cpp:198
+#: prefs/RecordingPrefs.cpp:92
 msgid "Latency correction:"
 msgstr ""
 
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:205
 msgid "Seek Time"
 msgstr ""
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:208
+#: prefs/PlaybackPrefs.cpp:98
+msgid "Short period:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:210
+#: prefs/PlaybackPrefs.cpp:105
+msgid "Long period:"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:215
+#: prefs/PlaybackPrefs.cpp:57
+msgid "Effects Preview"
+msgstr ""
+
+#: prefs/MidiIOPrefs.cpp:218
 msgid "Play when previewing:"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:91
+#: prefs/MidiIOPrefs.cpp:256
+#, fuzzy
+msgid "No MIDI interfaces"
+msgstr "Arayüz"
+
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Fare"
 
-#: ../src/prefs/MousePrefs.cpp:71
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Fare Bağlantıları (öntanımlı değerler, yapılandırılamaz)"
 
-#: ../src/prefs/MousePrefs.cpp:84
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Araç"
 
-#: ../src/prefs/MousePrefs.cpp:85
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Komut Eylemi"
 
-#: ../src/prefs/MousePrefs.cpp:86
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Düğmeler"
 
-#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:92
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Sol-Tıkla"
 
-#: ../src/prefs/MousePrefs.cpp:88 ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:106
 msgid "Select"
 msgstr "Seç"
 
-#: ../src/prefs/MousePrefs.cpp:88
+#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
 msgstr "Seçim Noktasını Ayarla"
 
-#: ../src/prefs/MousePrefs.cpp:89 ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:97 ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Sol-Sürükle"
 
-#: ../src/prefs/MousePrefs.cpp:89
+#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
 msgstr "Seçim Aralığını Ayarla"
 
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
 msgstr "Seçim Aralığını Genişlet"
 
-#: ../src/prefs/MousePrefs.cpp:90
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Shift-Sol-Tıklama"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:92 ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94 ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Odaklama"
 
-#: ../src/prefs/MousePrefs.cpp:92
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Noktaya YaklaÅŸ"
 
-#: ../src/prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Bir Aralıkta Büyült"
 
-#: prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Sağ-Tıkla"
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Bir adım küçült"
 
-#: ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Sağ-Sürükle"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-Sol-Sürükle"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Ses Yükseltme Zarfını Değiştir"
 
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Örneği Değiştir"
 
-#: ../src/prefs/MousePrefs.cpp:100 ../src/prefs/MousePrefs.cpp:101
-#: ../src/prefs/MousePrefs.cpp:102 ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "KurÅŸun kalem"
 
-#: ../src/prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt-Sol-Tıkla"
 
-#: ../src/prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Örnekte DüzleDüzgün"
 
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Birbirinden Farklı Örnekleri Değiştir"
 
-#: ../src/prefs/MousePrefs.cpp:103
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Sadece BİR Örnek Değiştir"
 
-#: ../src/prefs/MousePrefs.cpp:105 ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107 ../src/prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Çoklu"
 
-#: prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:126
+#: prefs/MousePrefs.cpp:127
 #, fuzzy
 msgid "same as select tool"
 msgstr "Seçim aracı ile aynı"
 
-#: prefs/MousePrefs.cpp:120 prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 #, fuzzy
 msgid "same as zoom tool"
 msgstr "Odaklama aracı ile aynı"
 
-#: ../src/prefs/MousePrefs.cpp:110 ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:131
+#: prefs/MousePrefs.cpp:132
+#: prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Herhangi"
 
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Teker-Dönüşü"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr ""
 
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl-Tekeri-Döndür"
 
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "YaklaÅŸ ya da uzaklaÅŸ"
 
-#: ../src/prefs/PrefsDialog.cpp:52
+#: prefs/PlaybackPrefs.cpp:61
+msgid "Length of preview:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:76
+msgid "Preview before cut region:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:83
+msgid "Preview after cut region:"
+msgstr ""
+
+#: prefs/PlaybackPrefs.cpp:94
+msgid "Seek Time when playing"
+msgstr ""
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Audacity Tercihleri"
 
-#: ../src/prefs/QualityPrefs.cpp:161
+#: prefs/ProjectsPrefs.cpp:32
+msgid "Projects"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:59
+msgid "When saving a project that depends on other audio files"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:63
+msgid "Always &copy all audio into project (safest)"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:65
+msgid "&Do not copy any audio"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:67
+msgid "&Ask user"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:74
+msgid "Auto save"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:76
+msgid "Auto save a copy of the project in a separate folder"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:82
+msgid "Auto save interval:"
+msgstr ""
+
+#: prefs/ProjectsPrefs.cpp:86
+#: prefs/ProjectsPrefs.cpp:87
+msgid "minutes"
+msgstr ""
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Dikdörtgen"
 
-#: ../src/prefs/QualityPrefs.cpp:162
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Üçgen"
 
-#: ../src/prefs/QualityPrefs.cpp:163
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "Profil"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:80
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Öntanımlı Örnek Oran:"
 
-#: ../src/prefs/QualityPrefs.cpp:114
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
 msgstr "Öntanımlı Örnek Biçem:"
 
-#: ../src/prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Gerçek-zaman örnek oran dönüştürücüsü:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:147
-msgid "High-quality sample rate converter:"
-msgstr "Yüksek-kalite örnek oran dönüştürücüsü:"
+#: prefs/QualityPrefs.cpp:171
+#: prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:171
-msgid "Real-time dither:"
-msgstr "Gerçek-zaman kıpırtısı:"
+#: prefs/QualityPrefs.cpp:178
+#: prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr ""
 
-#: ../src/prefs/QualityPrefs.cpp:186
-msgid "High-quality dither:"
-msgstr "Yüksek-kalite kıpırtısı:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
+#: prefs/RecordingPrefs.cpp:62
+msgid "Overdub: &Play other tracks while recording new one"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/RecordingPrefs.cpp:66
+msgid "&Hardware Playthrough: Play new track while recording it"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
+#: prefs/RecordingPrefs.cpp:70
+msgid "&Software Playthrough: Play new track while recording or monitoring"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
+#: prefs/RecordingPrefs.cpp:74
+msgid "(uncheck when recording \"stereo mix\")"
 msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
+#: prefs/RecordingPrefs.cpp:89
+#: prefs/RecordingPrefs.cpp:90
+msgid "milliseconds (higher = more latency)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
+#: prefs/RecordingPrefs.cpp:96
+#: prefs/RecordingPrefs.cpp:97
+msgid "milliseconds (negative = backwards)"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:103
+#: prefs/RecordingPrefs.cpp:105
 msgid "Sound Activated Recording"
 msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:114
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: ../src/prefs/PrefsDialog.cpp:87
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Spektrogramlar"
 
-#: ../src/prefs/SpectrumPrefs.cpp:70
-msgid "FFT Size"
-msgstr "FFT Boyutu"
-
-#: prefs/SpectrumPrefs.cpp:75
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:40
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 - öntanımlı"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:44
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - en çok darbantlı"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:125
-msgid "FFT Skip Points"
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:96
-msgid "Display"
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
+#: prefs/SpectrumPrefs.cpp:113
+msgid "FFT Skip Points"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:103
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:104
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "En Büyük Frekans (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
 msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr ""
 
-#: ../src/prefs/SpectrumPrefs.cpp:148
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "Azami frekans bir tamsayı olmalı."
 
-#: ../src/prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "En büyük frekans 100 Hz - 100,000 Hz aralığında olmalıdır"
 
-#: prefs/SpectrumPrefs.cpp:146
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:150
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr ""
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:90
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
+#. i18n-hint: && in here is an escape character to get a single & on screen,
+#. * so keep it as is
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:92
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:103
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:115
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:117
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
 msgstr ""
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:470
-msgid "Pause"
-msgstr "Duraklat"
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:471
-msgid "Stop"
-msgstr "Durdur"
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:467
-msgid "Skip to Start"
-msgstr "Başlamayı Atla"
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr ""
 
-#: ../src/ControlToolBar.cpp:472
-msgid "Skip to End"
-msgstr "Sonlamayı Atla"
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:195
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:170
+#: toolbars/ControlToolBar.cpp:205
+msgid "Pause"
+msgstr "Duraklat"
+
+#: toolbars/ControlToolBar.cpp:178
+#: toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1108
+msgid "Stop"
+msgstr "Durdur"
+
+#: toolbars/ControlToolBar.cpp:190
+#: toolbars/ControlToolBar.cpp:211
 msgid "Clean Speech"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:210
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:579
+#: toolbars/ControlToolBar.cpp:914
 msgid "Error while opening sound device. "
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:696
+#: toolbars/ControlToolBar.cpp:749
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:685
+#: toolbars/ControlToolBar.cpp:750
 msgid "Recording not permitted"
 msgstr ""
 
-#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109
+#: toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr ""
 
-#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127
+#: toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:154
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
 msgstr "Dış Seçimi Kırp"
 
-#: ../src/EditToolBar.cpp:156
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "Sessizlik seçimi"
 
 #: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
 msgstr ""
 
-#: ../src/EditToolBar.cpp:164
+#: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Yakınlaş"
 
-#: ../src/EditToolBar.cpp:166
+#: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "UzaklaÅŸ"
 
-#: ../src/EditToolBar.cpp:170
-msgid "Zoom Toggle"
-msgstr "Odaklanma Anahtarı"
-
 #: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr ""
-
-#: ../src/EditToolBar.cpp:174
 msgid "Fit selection in window"
 msgstr "Seçimi pencerede sığdır"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr ""
-
-#: ../src/EditToolBar.cpp:176
 msgid "Fit project in window"
 msgstr "Projeyi pencerede sığdır"
 
-#: toolbars/MeterToolBar.cpp:49
-msgid "Meter"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
 msgstr ""
 
-#: toolbars/MeterToolBar.cpp:79
-msgid "Play Meter"
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
 msgstr ""
 
 #: toolbars/MeterToolBar.cpp:80
+msgid "Play Meter"
+msgstr ""
+
+#: toolbars/MeterToolBar.cpp:81
 msgid "Meter-Play"
 msgstr ""
 
-#: toolbars/MeterToolBar.cpp:88
+#: toolbars/MeterToolBar.cpp:89
 msgid "Record Meter"
 msgstr ""
 
-#: toolbars/MeterToolBar.cpp:89
+#: toolbars/MeterToolBar.cpp:90
 msgid "Meter-Record"
 msgstr ""
 
-#: ../src/MeterToolBar.cpp:66
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
 msgstr "Çıkış seviye ölçer"
 
-#: ../src/MeterToolBar.cpp:67
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
 msgstr "Seviye ölçer girişi - ekran girişine tıkla"
 
-#: ../src/MixerToolBar.cpp:135
+#: toolbars/MixerToolBar.cpp:90
 msgid "Output Volume"
 msgstr "Çıkış Sesi"
 
@@ -8113,7 +9125,8 @@ msgstr "Çıkış Sesi"
 msgid "Slider Output"
 msgstr ""
 
-#: ../src/MixerToolBar.cpp:138
+#: toolbars/MixerToolBar.cpp:101
+#: widgets/Meter.cpp:862
 msgid "Input Volume"
 msgstr "Ses GiriÅŸi"
 
@@ -8121,366 +9134,351 @@ msgstr "Ses GiriÅŸi"
 msgid "Slider Input"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:119
+#: toolbars/MixerToolBar.cpp:139
 msgid "Input Source"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:75
+#: toolbars/MixerToolBar.cpp:304
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:311
+msgid "Select Input Source"
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:319
+#, fuzzy
+msgid "Input Source:"
+msgstr "Ses GiriÅŸi"
+
+#: toolbars/SelectionBar.cpp:86
+#: toolbars/SelectionBar.cpp:292
 msgid "Selection"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:115 toolbars/SelectionBar.cpp:168
+#: toolbars/SelectionBar.cpp:135
+#: toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:120 toolbars/SelectionBar.cpp:211
+#: toolbars/SelectionBar.cpp:149
+#: toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
 msgstr ""
 
-#: effects/ToneGen.cpp:300 effects/ToneGen.cpp:338
-#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:225
+#: toolbars/SelectionBar.cpp:163
+#: toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
 msgid "Length"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:145
+#: toolbars/SelectionBar.cpp:174
 msgid "hidden"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:239
+#: toolbars/SelectionBar.cpp:184
+#: toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:217 toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:236
+#: toolbars/SelectionBar.cpp:241
 msgid "Snap To"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:224
+#: toolbars/SelectionBar.cpp:260
 msgid "Selection "
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:289
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
 msgstr ""
 
-#: toolbars/SelectionBar.cpp:297
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
 msgstr ""
 
-#: toolbars/ToolBar.cpp:96
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr ""
 
-#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:76
+#: toolbars/ToolsToolBar.cpp:63
 msgid "Click and drag to select audio"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:77
+#: toolbars/ToolsToolBar.cpp:64
 msgid "Click and drag to edit the amplitude envelope"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:78
+#: toolbars/ToolsToolBar.cpp:65
 msgid "Click and drag to edit the samples"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:80
+#: toolbars/ToolsToolBar.cpp:67
 msgid "Click to Zoom In, Shift-Click to Zoom Out"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:82
+#: toolbars/ToolsToolBar.cpp:69
 msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
 msgstr ""
 
-#: ../src/ControlToolBar.cpp:84
+#: toolbars/ToolsToolBar.cpp:71
 msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
 msgstr "Sol=Büyült, Sağ=Küçült, Orta=Normal"
 
-#: ../src/ControlToolBar.cpp:86
+#: toolbars/ToolsToolBar.cpp:73
 msgid "Click and drag to move a track in time"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:355
-msgid "Selection Tool"
-msgstr "Seçim Aracı"
-
-#: ../src/ControlToolBar.cpp:356
-msgid "Envelope Tool"
-msgstr "Zarf Aracı"
-
-#: ../src/ControlToolBar.cpp:357
-msgid "Time Shift Tool"
-msgstr "Zaman Öteleme Aracı"
-
-#: ../src/ControlToolBar.cpp:358
-msgid "Zoom Tool"
-msgstr "Odaklanma Aracı"
-
-#: ../src/ControlToolBar.cpp:359
-msgid "Draw Tool"
-msgstr "Çizim Aracı"
-
-#: ../src/ControlToolBar.cpp:360
+#: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Çoklu-Araç Kipi"
 
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 msgid "Slide Tool"
 msgstr ""
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:81
-msgid "Transcription"
+#: toolbars/TranscriptionToolBar.cpp:170
+msgid "Play at selected speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:183
-msgid "Play at selected speed"
+#: toolbars/TranscriptionToolBar.cpp:176
+#: toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:263
+msgid "Playback Speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:184
-msgid "Play-at-speed"
+#: toolbars/TranscriptionToolBar.cpp:195
+msgid "Adjust left selection to next onset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:190 toolbars/TranscriptionToolBar.cpp:195
-msgid "Playback Speed"
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Adjust right selection to previous offset"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Adjust left selection to next onset"
+#: toolbars/TranscriptionToolBar.cpp:199
+msgid "Adjust left selection to next offset"
 msgstr ""
 
 #: toolbars/TranscriptionToolBar.cpp:201
-msgid "Left-to-On"
+msgid "Adjust right selection to previous onset"
 msgstr ""
 
 #: toolbars/TranscriptionToolBar.cpp:203
-msgid "Adjust right selection to previous offset"
-msgstr ""
-
-#: toolbars/TranscriptionToolBar.cpp:204
-msgid "Right-to-Off"
+msgid "Select region of sound around cursor"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Adjust left selection to next offset"
+#: toolbars/TranscriptionToolBar.cpp:205
+msgid "Select region of silence around cursor"
 msgstr ""
 
 #: toolbars/TranscriptionToolBar.cpp:207
-msgid "Left-to-Off"
+msgid "Automatically make labels from words"
 msgstr ""
 
 #: toolbars/TranscriptionToolBar.cpp:209
-msgid "Adjust right selection to previous onset"
+msgid "Add label at selection"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:210
-msgid "Right-to-On"
+#: toolbars/TranscriptionToolBar.cpp:211
+msgid "Calibrate voicekey"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select region of sound around cursor"
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Adjust Sensitivity"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:213
-msgid "Select-Sound"
+#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:276
+msgid "Sensitivity"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Select region of silence around cursor"
+#: toolbars/TranscriptionToolBar.cpp:225
+msgid "Energy"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:216
-msgid "Select-Silence"
+#: toolbars/TranscriptionToolBar.cpp:226
+msgid "Sign Changes (Low Threshold)"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Automatically make labels from words"
+#: toolbars/TranscriptionToolBar.cpp:227
+msgid "Sign Changes (High Threshold)"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:219
-msgid "Make Labels"
+#: toolbars/TranscriptionToolBar.cpp:228
+msgid "Direction Changes (Low Threshold)"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Add label at selection"
+#: toolbars/TranscriptionToolBar.cpp:229
+msgid "Direction Changes (High Threshold)"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:222
-msgid "Add Label"
+#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:277
+msgid "Key type"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:224
-msgid "Calibrate voicekey"
+#: toolbars/TranscriptionToolBar.cpp:262
+msgid "Play-at-speed"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:225
-msgid "Calibrate"
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Left-to-On"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:229
-msgid "Adjust Sensitivity"
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Right-to-Off"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:234
-msgid "Sensitivity"
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Left-to-Off"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:239
-msgid "Energy"
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Right-to-On"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:240
-msgid "Sign Changes (Low Threshold)"
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Sound"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:241
-msgid "Sign Changes (High Threshold)"
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Select-Silence"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:242
-msgid "Direction Changes (Low Threshold)"
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Make Labels"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:243
-msgid "Direction Changes (High Threshold)"
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Add Label"
 msgstr ""
 
-#: toolbars/TranscriptionToolBar.cpp:251
-msgid "Key type"
+#: toolbars/TranscriptionToolBar.cpp:274
+msgid "Calibrate"
 msgstr ""
 
-#: ../src/widgets/AButton.cpp:181
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (etkisiz)"
 
-#: widgets/AButton.cpp:443
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr ""
 
-#: widgets/AButton.cpp:522
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr ""
 
-#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
-#: ../src/widgets/ASlider.cpp:329 ../src/widgets/Meter.cpp:165
+#. i18n-hint: One-letter abbreviation for Left, in the Pan slider
+#: widgets/ASlider.cpp:642
+#: widgets/Meter.cpp:241
 msgid "L"
 msgstr "L"
 
-#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
-#: ../src/widgets/ASlider.cpp:332 ../src/widgets/Meter.cpp:167
+#. i18n-hint: One-letter abbreviation for Right, in the Pan slider
+#: widgets/ASlider.cpp:645
+#: widgets/Meter.cpp:243
 msgid "R"
 msgstr "R"
 
-#: ../src/widgets/ASlider.cpp:484
+#: widgets/ASlider.cpp:708
 msgid "Center"
 msgstr "Merkez"
 
-#: ../src/widgets/ASlider.cpp:488
+#: widgets/ASlider.cpp:712
 msgid "Left"
 msgstr "Sol"
 
-#: ../src/widgets/ASlider.cpp:491
+#: widgets/ASlider.cpp:715
 msgid "Right"
 msgstr "SaÄŸ"
 
-#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr ""
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr ""
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ""
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr ""
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
 msgstr ""
 
-#: widgets/ErrorDialog.cpp:190
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr ""
 
-#: widgets/Grabber.cpp:61
+#: widgets/Grabber.cpp:62
 msgid "Grabber"
 msgstr ""
 
-#: widgets/Grid.cpp:616
-#, c-format
-msgid "%d rows, %d columns"
-msgstr ""
-
-#: widgets/Grid.cpp:622 widgets/Grid.cpp:749
-#, c-format
-msgid "Row %d"
-msgstr ""
-
-#: widgets/Grid.cpp:764
+#: widgets/Grid.cpp:723
 msgid "Empty"
 msgstr ""
 
-#: widgets/Meter.cpp:336
+#: widgets/Meter.cpp:385
 msgid "Enable Meter"
 msgstr ""
 
-#: widgets/Meter.cpp:338
+#: widgets/Meter.cpp:387
 msgid "Disable Meter"
 msgstr ""
 
-#: widgets/Meter.cpp:341
+#: widgets/Meter.cpp:390
 msgid "Stop Monitoring"
 msgstr ""
 
-#: widgets/Meter.cpp:343
+#: widgets/Meter.cpp:392
 msgid "Start Monitoring"
 msgstr ""
 
-#: ../src/widgets/Meter.cpp:285
+#: widgets/Meter.cpp:396
 msgid "Horizontal Stereo"
 msgstr "Yatay Ä°kili"
 
-#: ../src/widgets/Meter.cpp:286
+#: widgets/Meter.cpp:397
 msgid "Vertical Stereo"
 msgstr "Dikey Çiftli"
 
-#: widgets/Meter.cpp:365
+#: widgets/Meter.cpp:414
 msgid "Preferences..."
 msgstr ""
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:864
 msgid "Mix Volume"
 msgstr ""
 
-#: widgets/Meter.cpp:1037
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1133
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
 msgstr ""
 
-#: widgets/Meter.cpp:1038
+#: widgets/Meter.cpp:1134
 msgid "Meter refresh rate per second [1-100]: "
 msgstr ""
 
-#: widgets/Meter.cpp:1063
+#: widgets/Meter.cpp:1135
 msgid "Meter Preferences"
 msgstr ""
 
@@ -8492,41 +9490,57 @@ msgstr ""
 msgid "Please select an action"
 msgstr ""
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1067
 msgid "Elapsed Time:"
 msgstr ""
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1087
 msgid "Remaining Time:"
 msgstr ""
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1115
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
+#: widgets/Ruler.cpp:1588
+#: widgets/Ruler.cpp:1589
 msgid "Vertical Ruler"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:198
+#. i18n-hint: Format string for displaying time in seconds. Change the comma
+#. * in the middle to the 1000s separator for your locale, and the 'seconds'
+#. * on the end to the word for seconds. Don't change the numbers.
+#: widgets/TimeTextCtrl.cpp:269
 msgid "01000,01000 seconds"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:200
+#. i18n-hint: Format string for displaying time in hours, minutes and
+#. * seconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
+#. * change the numbers unless there aren't 60 seconds in a minute in your
+#. * locale
+#: widgets/TimeTextCtrl.cpp:278
 msgid "0100 h 060 m 060 s"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:201
+#. i18n-hint: Name of time display format that shows time in days, hours,
+#. * minutes and seconds
+#: widgets/TimeTextCtrl.cpp:281
 msgid "dd:hh:mm:ss"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:202
+#. i18n-hint: Format string for displaying time in days, hours, minutes and
+#. * seconds. Change the 'days' to the word for days, 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes and 's' to the
+#. * abbreviation for seconds. Don't change the numbers unless there aren't
+#. * 24 hours in a day in your locale
+#: widgets/TimeTextCtrl.cpp:287
 msgid "0100 days 024 h 060 m 060 s"
 msgstr ""
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:290
 msgid "hh:mm:ss + hundredths"
 msgstr ""
 
@@ -8535,119 +9549,186 @@ msgstr ""
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:296
 msgid "0100 h 060 m 060.0100 s"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:203
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and milliseconds (1/1000 second)
+#: widgets/TimeTextCtrl.cpp:299
 msgid "hh:mm:ss + milliseconds"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:204
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * milliseconds are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:305
 msgid "0100 h 060 m 060.01000 s"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:205
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and samples (at the current project sample rate)
+#: widgets/TimeTextCtrl.cpp:308
 msgid "hh:mm:ss + samples"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:206
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and samples. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes, 's' to the abbreviation for seconds and
+#. * translate samples . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:314
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:207
+#. i18n-hint: Name of time display format that shows time in samples (at the
+#. * current project sample rate)
+#: widgets/TimeTextCtrl.cpp:317
 msgid "samples"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:208
+#. i18n-hint: Format string for displaying time in samples (lots of samples).
+#. * Change the ',' to the 1000s separator for your locale, and translate
+#. * samples. If 1000s aren't a base multiple for your number system, then you
+#. * can change the numbers to an appropriate one, and put a 0 on the front
+#: widgets/TimeTextCtrl.cpp:322
 msgid "01000,01000,01000 samples|#"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:209
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:325
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:210
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames at 24 frames per second. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames' . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:331
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:211
+#. i18n-hint: Name of time display format that shows time in frames (lots of
+#. * frames) at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:334
 msgid "film frames (24 fps)"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:212
+#. i18n-hint: Format string for displaying time in frames at 24 frames per
+#. * second. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:337
 msgid "01000,01000 frames|24"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:213
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV drop-frame rate (used for American /
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:341
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:214
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the |N alone, it's important!
+#: widgets/TimeTextCtrl.cpp:346
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:215
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:350
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:216
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the | .999000999 alone,
+#. * the whole things really is slightly off-speed!
+#: widgets/TimeTextCtrl.cpp:356
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:217
+#. i18n-hint: Name of time display format that shows time in frames at NTSC
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:359
 msgid "NTSC frames"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:218
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone. That really is the frame
+#. * rate!
+#: widgets/TimeTextCtrl.cpp:363
 msgid "01000,01000 frames|29.97002997"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:219
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at PAL TV frame rate (used for European TV)
+#: widgets/TimeTextCtrl.cpp:366
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:220
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with PAL TV frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Nice simple time code!
+#: widgets/TimeTextCtrl.cpp:371
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:221
+#. i18n-hint: Name of time display format that shows time in frames at PAL
+#. * TV frame rate (used for European TV
+#: widgets/TimeTextCtrl.cpp:374
 msgid "PAL frames (25 fps)"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:222
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone.
+#: widgets/TimeTextCtrl.cpp:377
 msgid "01000,01000 frames|25"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:223
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at CD Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:380
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:224
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with CD Audio frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'.
+#: widgets/TimeTextCtrl.cpp:385
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:225
+#. i18n-hint: Name of time display format that shows time in frames at CD
+#. * Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:388
 msgid "CDDA frames (75 fps)"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:226
+#. i18n-hint: Format string for displaying time in frames with CD Audio
+#. * frames. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:391
 msgid "01000,01000 frames|75"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:470
 msgid "Use right mouse button or context key to change format"
 msgstr ""
 
-#: widgets/TimeTextCtrl.cpp:1376
-msgid "Time Control"
-msgstr ""
-
-#: ../src/widgets/Warning.cpp:53
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "Bu uyarıyı tekrar gösterme"
 
-#: ../src/xml/XMLFileReader.cpp:45
+#: xml/XMLFileReader.cpp:49
 #, c-format
 msgid "Could not open file: \"%s\""
 msgstr "Dosya açılamadı: \"%s\""
@@ -8662,3 +9743,18 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr ""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
+#~ msgid "Audio I/O"
+#~ msgstr "Ses I/O"
+
diff --git a/locale/uk.po b/locale/uk.po
index b24ea72..ac0b62b 100644
--- a/locale/uk.po
+++ b/locale/uk.po
@@ -9,17 +9,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: uk\n"
 "Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
-"POT-Creation-Date: 2009-01-20 20:43+0000\n"
-"PO-Revision-Date: 2009-01-21 22:17+0200\n"
+"POT-Creation-Date: 2009-05-31 20:42-0500\n"
+"PO-Revision-Date: 2009-06-30 16:38+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor at ukr.net>\n"
 "Language-Team: Ukrainian <translation at linux.org.ua>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 0.3\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: AboutDialog.cpp:143 AudacityApp.cpp:790 Menus.cpp:957
+#: AboutDialog.cpp:143 AudacityApp.cpp:806 Menus.cpp:954
 msgid "&About Audacity..."
 msgstr "&Про Audacity..."
 
@@ -36,33 +37,41 @@ msgid ""
 "later, Mac OS X, Linux and other Unix-like operating systems. Older versions "
 "of Audacity are available for Mac OS 9."
 msgstr ""
-"Audacity — вільна програма, написана групою <a href=\"http://"
-"audacity.sourceforge.net/community/developers\">розробників</a> з усього світу. За надання проекту майданчика для розвитку ми маємо бути вдячні <a href=\"http://sourceforge.net\">SourceForge."
-"net</a>. Audacity доступна на платформах Windows 98 та новіше, Mac "
-"OS X, Linux, та інших Unix-системах. Більш ранні версії доступні на "
-"платформі Mac OS 9."
+"Audacity — вільна програма, написана групою <a href=\"http://audacity."
+"sourceforge.net/community/developers\">розробників</a> з усього світу. За "
+"надання проекту майданчика для розвитку ми маємо бути вдячні <a href="
+"\"http://sourceforge.net\">SourceForge.net</a>. Audacity доступна на "
+"платформах Windows 98 та новіше, Mac OS X, Linux, та інших Unix-системах. "
+"Більш ранні версії доступні на платформі Mac OS 9."
 
 #: AboutDialog.cpp:179
 msgid ""
 "This is a Beta version of the program. It may contain bugs and unfinished "
 "features. We depend on your feedback: please send bug reports and feature "
-"requests to <b>feedback at audacityteam.org</b>. For help using Audacity, "
-"please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+"requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> "
+"address. For help using Audacity, please visit our <a href=\"http://"
+"audacityteam.org/forum/\">Forum</a>."
 msgstr ""
-"Це - тестова версія програми. Вона може містити помилки та нереалізовану "
+"Це — тестова версія програми. Вона може містити помилки та нереалізовану "
 "функціональність. Продуктивність нашої роботи залежить від ваших відгуків, "
 "тому вам слід надсилати ваші повідомлення про усі знайдені помилки та "
-"запити на реалізацію функціональності за адресою <b>feedback at audacityteam.org</b>. Підтримку у користуванні Audacity можна знайти на нашому <a href=\"http://audacityteam.org/forum/\">форумі</a>."
+"запити на реалізацію функціональності за адресою <a "
+"href=\"mailto:feedback at audacityteam.org\">для відгуків</a>. Підтримку у "
+"користуванні Audacity можна знайти на нашому <a href=\"http://audacityteam."
+"org/forum/\">форумі</a>."
 
 #: AboutDialog.cpp:182
 msgid ""
 "This is a stable, completed release of the program. However, if you find a "
-"bug or have a suggestion for us, please write to <b>feedback at audacityteam."
-"org</b>. For help using Audacity, please visit our <a href=\"http://"
-"audacityteam.org/forum/\">Forum</a>."
+"bug or have a suggestion for us, please write to our <a href=\"mailto:"
+"feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, "
+"please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
-"Це - стабільна, завершена версія Audacity. Проте, якщо ви "
-"знайдете помилку або маєте пропозицію надішліть ваше повідомлення за адресою <b>feedback at audacityteam.org</b>. Підтримку у користуванні Audacity можна знайти на нашому <a href=\"http://audacityteam.org/forum/\">форумі</a>."
+"Це — стабільна, завершена версія Audacity. Проте, якщо ви "
+"знайдете помилку або маєте пропозицію надішліть ваше повідомлення за адресою "
+"<a href=\"mailto:feedback at audacityteam.org\">для відгуків</a>. Підтримку у "
+"користуванні Audacity можна знайти на нашому <a href=\"http://audacityteam."
+"org/forum/\">форумі</a>."
 
 #. i18n-hint: The translation of "translator_credits" will appear
 #. in the credits in the About Audacity window.  Use this to add
@@ -117,19 +126,20 @@ msgstr "Особливі подяки:"
 
 #: AboutDialog.cpp:250
 msgid ""
-"<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. "
+"<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. "
 "<br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic "
 "Mazzoni."
 msgstr ""
-"Авторські права на програму <b>Audacity&reg;</b> належать &copy; 1999-2008 Команді Audacity. "
-"<br>Назва продукту <b>Audacity&reg;</b> є зареєстрованою торговельною маркою Домініка Маццоні (Dominic Mazzoni)."
+"Авторські права на програму <b>Audacity&reg;</b> належать &copy; 1999-2009 "
+"Команді Audacity. <br>Назва продукту <b>Audacity&reg;</b> є зареєстрованою "
+"торговельною маркою Домініка Маццоні (Dominic Mazzoni)."
 
 #: AboutDialog.cpp:258
 msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
+#: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Інформація про випуск"
 
@@ -180,68 +190,68 @@ msgstr "Головні бібліотеки"
 msgid "Sample rate conversion"
 msgstr "Зміна частоти дискретизації"
 
-#: AboutDialog.cpp:402 AboutDialog.cpp:405
+#: AboutDialog.cpp:401
 msgid "Audio playback and recording"
 msgstr "Відтворення аудіо та запис"
 
-#: AboutDialog.cpp:418
+#: AboutDialog.cpp:413
 msgid "Features"
 msgstr "Можливості"
 
-#: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
-#: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
-#: AboutDialog.cpp:446 AboutDialog.cpp:449
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Підтримка додатків"
 
-#: AboutDialog.cpp:454 AboutDialog.cpp:457
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Підтримка мікшування звуковою картою"
 
-#: AboutDialog.cpp:462 AboutDialog.cpp:465
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Підтримка зміни кроку і темпу"
 
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:472
 msgid "Program build date: "
 msgstr "Дата компіляції програми: "
 
-#: AboutDialog.cpp:480 AboutDialog.cpp:482
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "Тип випуску:"
 
-#: AboutDialog.cpp:480
+#: AboutDialog.cpp:475
 msgid "Debug build"
 msgstr "Випуск для перевірки"
 
-#: AboutDialog.cpp:482
+#: AboutDialog.cpp:477
 msgid "Release build"
 msgstr "Остаточна версія"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
-#: AboutDialog.cpp:487
+#: AboutDialog.cpp:482
 msgid "Installation Prefix: "
 msgstr "Шлях встановлення: "
 
-#: AboutDialog.cpp:491
+#: AboutDialog.cpp:486
 msgid "Settings folder: "
 msgstr "Тека з параметрами: "
 
-#: AboutDialog.cpp:506
+#: AboutDialog.cpp:501
 msgid "GPL License"
 msgstr "Ліцензія GPL"
 
-#: AudacityApp.cpp:495 Project.cpp:1890
+#: AudacityApp.cpp:507 Project.cpp:2002
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s вже відкрито у іншому вікні."
 
-#: AudacityApp.cpp:497 Project.cpp:1892 Project.cpp:1997 Project.cpp:2141
-#: Project.cpp:2278
+#: AudacityApp.cpp:509 Project.cpp:2004 Project.cpp:2124 Project.cpp:2272
+#: Project.cpp:2404
 msgid "Error opening project"
 msgstr "Помилка під час відкриття файла проекту"
 
-#: AudacityApp.cpp:529
+#: AudacityApp.cpp:535
 #, c-format
 msgid ""
 "%s does not exist and could not be opened.\n"
@@ -252,34 +262,45 @@ msgstr ""
 "\n"
 "Його вилучено зі списку історії."
 
-#: AudacityApp.cpp:631
+#: AudacityApp.cpp:642
 msgid "Master Gain Control"
 msgstr "Загальний регулятор гучності"
 
-#: AudacityApp.cpp:632
+#: AudacityApp.cpp:643
 msgid "Input Meter"
 msgstr "Індикатор рівня на вході"
 
-#: AudacityApp.cpp:633
+#: AudacityApp.cpp:644
 msgid "Output Meter"
 msgstr "Індикатор рівня на виході"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: AudacityApp.cpp:792
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Параметри...\tCtrl+,"
+#: AudacityApp.cpp:803 Menus.cpp:198
+msgid "&New"
+msgstr "&Створити"
+
+#: AudacityApp.cpp:804 Menus.cpp:202
+msgid "&Open..."
+msgstr "&Відкрити..."
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr "Відкрити &недавні..."
 
-#: AudacityApp.cpp:875 AudacityApp.cpp:952
+#: AudacityApp.cpp:807
+msgid "&Preferences..."
+msgstr "&Параметри..."
+
+#: AudacityApp.cpp:898 AudacityApp.cpp:975
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Використовуються блоки розміром %ld\n"
 
-#: AudacityApp.cpp:897 AudacityApp.cpp:967
+#: AudacityApp.cpp:920 AudacityApp.cpp:990
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Невідомий параметр командного рядка: %s\n"
 
-#: AudacityApp.cpp:1101
+#: AudacityApp.cpp:1144
 msgid ""
 "Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
@@ -287,7 +308,7 @@ msgstr ""
 "Програмі не вдається знайти каталог для зберігання тимчасових файлів.\n"
 "Вкажіть відповідний каталог у діалоговому вікні уподобань."
 
-#: AudacityApp.cpp:1107
+#: AudacityApp.cpp:1150
 msgid ""
 "Audacity is now going to exit. Please launch Audacity again to use the new "
 "temporary directory."
@@ -295,7 +316,7 @@ msgstr ""
 "Audacity готується до завершення. Повторно завантажте програму для "
 "використання нової теки тимчасових файлів."
 
-#: AudacityApp.cpp:1139
+#: AudacityApp.cpp:1182
 msgid ""
 "Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
@@ -305,7 +326,7 @@ msgstr ""
 "до втрати даних або краху системи.\n"
 "\n"
 
-#: AudacityApp.cpp:1146
+#: AudacityApp.cpp:1189
 msgid ""
 "Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
@@ -313,19 +334,19 @@ msgstr ""
 "Audacity не може заблокувати теку з тимчасовими файлами.\n"
 "Можливо цю теку вже використовує інша копія Audacity.\n"
 
-#: AudacityApp.cpp:1148
+#: AudacityApp.cpp:1191
 msgid "Do you still want to start Audacity?"
 msgstr "Досі бажаєте запустити Audacity?"
 
-#: AudacityApp.cpp:1150
+#: AudacityApp.cpp:1193
 msgid "Error locking temporary folder"
 msgstr "Помилка при блокуванні теки тимчасових фалів"
 
-#: AudacityApp.cpp:1188
+#: AudacityApp.cpp:1231
 msgid "The system has detected that another copy of Audacity is running.\n"
 msgstr "Система визначила, що вже запущено іншу копію Audacity.\n"
 
-#: AudacityApp.cpp:1190
+#: AudacityApp.cpp:1233
 msgid ""
 "Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
@@ -334,29 +355,29 @@ msgstr ""
 "команди \"Створити\" або \"Відкрити\" у копії\n"
 "Audacity, що зараз виконується.\n"
 
-#: AudacityApp.cpp:1191
+#: AudacityApp.cpp:1234
 msgid "Audacity is already running"
 msgstr "Audacity вже запущено"
 
-#: AudacityApp.cpp:1208
+#: AudacityApp.cpp:1251
 msgid "Command-line options supported:"
 msgstr "Параметри командного рядка, що підтримуються:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1211
+#: AudacityApp.cpp:1254
 msgid "\t-help (this message)"
 msgstr "\t-help (це повідомлення)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1213
+#: AudacityApp.cpp:1256
 msgid "\t-version (display Audacity version)"
 msgstr "\t-version (показує версію Audacity)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1217
+#: AudacityApp.cpp:1260
 msgid "\t-test (run self diagnostics)"
 msgstr "\t-test (запуск самодіагностики)"
 
@@ -364,19 +385,19 @@ msgstr "\t-test (запуск самодіагностики)"
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1222
+#: AudacityApp.cpp:1265
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
 msgstr "\t-blocksize nnn (встановити максимальний розмір блоку диску у байтах)"
 
-#: AudacityApp.cpp:1223
+#: AudacityApp.cpp:1266
 msgid ""
 "In addition, specify the name of an audio file or Audacity project to open "
 "it."
 msgstr ""
-"Окрім того, вкажіть назву аудіо-файла або проекту Audacity, який слід "
+"Окрім того, вкажіть назву аудіофайла або проекту Audacity, який слід "
 "відкрити"
 
-#: AudacityApp.cpp:1500
+#: AudacityApp.cpp:1557
 msgid ""
 "Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
@@ -388,15 +409,15 @@ msgstr ""
 "\n"
 "Пов'язати їх, щоб вони відкривались подвійним клацанням?"
 
-#: AudacityApp.cpp:1501
+#: AudacityApp.cpp:1558
 msgid "Audacity Project Files"
 msgstr "Файли проектів Audacity"
 
-#: AudioIO.cpp:254
+#: AudioIO.cpp:253
 msgid "Could not find any audio devices.\n"
 msgstr "Неможливо знайти жодного звукового пристрою.\n"
 
-#: AudioIO.cpp:255
+#: AudioIO.cpp:254
 msgid ""
 "You will not be able to play or record audio.\n"
 "\n"
@@ -404,31 +425,33 @@ msgstr ""
 "Ви не зможете відтворювати та записувати звук.\n"
 "\n"
 
-#: AudioIO.cpp:258
+#: AudioIO.cpp:257
 msgid "Error: "
 msgstr "Помилка: "
 
-#: AudioIO.cpp:261
+#: AudioIO.cpp:260
 msgid "Error Initializing Audio"
 msgstr "Помилка при ініціалізації звуку"
 
-#: AudioIO.cpp:1375
-msgid "Latency problem"
-msgstr "Проблема із затримкою"
-
-#: AudioIO.cpp:1375
+#: AudioIO.cpp:1225
 msgid ""
-"Latency setting has caused the recorded audio to be hidden before zero.\n"
+"Latency Correction setting has caused the recorded audio to be hidden before "
+"zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to "
 "the right place."
 msgstr ""
-"Значення затримки призводить до приховування записаного звукового фрагменту "
+"Значення виправлення затримки призводить до приховування записаного "
+"звукового фрагменту "
 "перед нулем.\n"
 "Audacity повернула початок звукового фрагменту на нуль.\n"
 "Можливо, слід скористатися інструментом \"Часовий зсув\" (<—-> або F5), для "
 "переміщення доріжки у правильне положення."
 
+#: AudioIO.cpp:1225
+msgid "Latency problem"
+msgstr "Проблема із затримкою"
+
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Автоматичне відновлення після краху"
@@ -450,7 +473,8 @@ msgid "Name"
 msgstr "Назва"
 
 #: AutoRecovery.cpp:84
-msgid "Recovering a project will not change any files on disk before you save it."
+msgid ""
+"Recovering a project will not change any files on disk before you save it."
 msgstr ""
 "Відновлення проекту не призведе до зміни файлів на диску доки ви їх не "
 "збережете."
@@ -483,14 +507,13 @@ msgstr "Підтверджуєте?"
 msgid "Could not enumerate files in auto save directory"
 msgstr "Неможливо скласти список файлів у теці автозбереження"
 
-#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3095 Menus.cpp:3107
-#: Menus.cpp:5232 Project.cpp:2100 Project.cpp:3662 Project.cpp:3741
-#: TrackPanel.cpp:6424 WaveTrack.cpp:598 WaveTrack.cpp:617 WaveTrack.cpp:1058
-#: WaveTrack.cpp:1077 WaveTrack.cpp:2087 effects/Contrast.cpp:127
-#: effects/Contrast.cpp:137 effects/Effect.cpp:513 export/ExportFFmpeg.cpp:614
-#: export/ExportMP2.cpp:231 prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:260 toolbars/ControlToolBar.cpp:542
-#: toolbars/ControlToolBar.cpp:871
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3230 Menus.cpp:3242
+#: Menus.cpp:5311 Project.cpp:2231 Project.cpp:3851 Project.cpp:3937
+#: TrackPanel.cpp:6503 WaveTrack.cpp:979 WaveTrack.cpp:998 WaveTrack.cpp:2024
+#: effects/Contrast.cpp:144 effects/Contrast.cpp:154 effects/Effect.cpp:566
+#: export/ExportFFmpeg.cpp:655 export/ExportMP2.cpp:231
+#: prefs/DirectoriesPrefs.cpp:195 prefs/KeyConfigPrefs.cpp:335
+#: toolbars/ControlToolBar.cpp:575 toolbars/ControlToolBar.cpp:907
 msgid "Error"
 msgstr "Помилка"
 
@@ -500,7 +523,6 @@ msgid "Select Command"
 msgstr "Вибір команди"
 
 #: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
-#: prefs/KeyConfigPrefs.cpp:158
 msgid "&Command"
 msgstr "&Команда"
 
@@ -516,24 +538,24 @@ msgstr "&Параметри"
 msgid "C&hoose command"
 msgstr "&Обрати команду"
 
-#: BatchCommands.cpp:456
+#: BatchCommands.cpp:455
 msgid "Stereo to Mono Effect not found"
 msgstr "Ефект перетворення стерео у моно не знайдено"
 
-#: BatchCommands.cpp:476
+#: BatchCommands.cpp:475
 msgid "Ogg Vorbis support is not included in this build of Audacity"
 msgstr "Підтримку Ogg Vorbis не увімкнено у цій збірці Audacity"
 
-#: BatchCommands.cpp:488
+#: BatchCommands.cpp:487
 msgid "FLAC support is not included in this build of Audacity"
 msgstr "Під час збирання цієї версії Audacity підтримку FLAC не було увімкнено"
 
-#: BatchCommands.cpp:492
+#: BatchCommands.cpp:491
 #, c-format
 msgid "Command %s not implemented yet"
 msgstr "Команда %s ще не реалізована"
 
-#: BatchCommands.cpp:508
+#: BatchCommands.cpp:507
 #, c-format
 msgid ""
 "Could not set parameters of effect %s\n"
@@ -542,12 +564,12 @@ msgstr ""
 "Неможливо встановити параметри ефекту %s\n"
 " у значення %s."
 
-#: BatchCommands.cpp:561
+#: BatchCommands.cpp:560
 #, c-format
 msgid "Your batch command of %s was not recognised."
 msgstr "Вашу пакетну команду %s не було розпізнано."
 
-#: BatchCommands.cpp:652
+#: BatchCommands.cpp:651
 #, c-format
 msgid ""
 "Apply %s with parameter(s)\n"
@@ -558,11 +580,11 @@ msgstr ""
 "\n"
 "%s"
 
-#: BatchCommands.cpp:653 BatchCommands.cpp:658
+#: BatchCommands.cpp:652 BatchCommands.cpp:657
 msgid "Test Mode"
 msgstr "Тестовий режим"
 
-#: BatchCommands.cpp:657
+#: BatchCommands.cpp:656
 #, c-format
 msgid "Apply %s"
 msgstr "Застосувати %s"
@@ -594,8 +616,7 @@ msgstr "Застосувати до &файлів..."
 
 #: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 UploadDialog.cpp:180
 #: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:453
-#: effects/audiounits/AudioUnitEffect.cpp:887
+#: effects/SpikeCleaner.cpp:188 effects/audiounits/AudioUnitEffect.cpp:861
 msgid "&Cancel"
 msgstr "&Скасувати"
 
@@ -624,7 +645,9 @@ msgstr "Оберіть файл(и) для пакетної обробки..."
 msgid ""
 "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*."
 "mp3)|*.mp3"
-msgstr "Звукові файли (*.wav;*.mp3)|*.wav;*.mp3|Файли WAV (*.wav)|*.wav|Файли MP3 (*.mp3)|*.mp3"
+msgstr ""
+"Звукові файли (*.wav;*.mp3)|*.wav;*.mp3|Файли WAV (*.wav)|*.wav|Файли MP3 (*."
+"mp3)|*.mp3"
 
 #: BatchProcessDialog.cpp:210
 msgid ""
@@ -653,12 +676,12 @@ msgstr "Редагувати ланцюжки"
 msgid "&Chains"
 msgstr "&Ланцюги"
 
-#: BatchProcessDialog.cpp:435 Tags.cpp:813
+#: BatchProcessDialog.cpp:435 Tags.cpp:825
 msgid "&Add"
 msgstr "&Додати"
 
-#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:814
-#: TrackPanel.cpp:4181
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:826
+#: TrackPanel.cpp:4271
 msgid "&Remove"
 msgstr "&Вилучити"
 
@@ -672,8 +695,8 @@ msgstr "Лан&цюжок (Для редагування двічі клацні
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Немає"
+msgid "Num"
+msgstr "â„–"
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -732,9 +755,9 @@ msgstr "Вилучення залежностей"
 
 #: Dependencies.cpp:140
 msgid "Copying audio data into project..."
-msgstr "Копіювання аудіо-даних до проекту..."
+msgstr "Копіювання аудіоданих до проекту..."
 
-#: Dependencies.cpp:223
+#: Dependencies.cpp:226
 msgid ""
 "Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-"
@@ -746,71 +769,72 @@ msgstr ""
 "самодостатності?\n"
 "Це потребуватиме більшого простору на диску, але буде безпечнішим."
 
-#: Dependencies.cpp:270
+#: Dependencies.cpp:273
 msgid "Project depends on other audio files"
-msgstr "Проект залежить від інших аудіо-файлів"
+msgstr "Проект залежить від інших аудіофайлів"
 
-#: Dependencies.cpp:291
+#: Dependencies.cpp:294
 msgid "Project Dependencies"
 msgstr "Залежності проекту"
 
-#: Dependencies.cpp:294
+#: Dependencies.cpp:297
 msgid "Audio file"
-msgstr "Аудіо-файл"
+msgstr "Аудіофайл"
 
-#: Dependencies.cpp:296
+#: Dependencies.cpp:299
 msgid "Disk space"
 msgstr "Простір на диску"
 
-#: Dependencies.cpp:301
+#: Dependencies.cpp:304
 msgid "Copy Selected Audio Into Project"
-msgstr "Копіювати виділену область аудіо до проекту"
+msgstr "Копіювати вибрану область аудіо до проекту"
 
-#: Dependencies.cpp:308 Dependencies.cpp:414
+#: Dependencies.cpp:311 Dependencies.cpp:417
 msgid "Cancel Save"
 msgstr "Скасувати збереження"
 
-#: Dependencies.cpp:310
+#: Dependencies.cpp:313
 msgid "Do Not Copy Any Audio"
 msgstr "Не копіювати ніякого аудіо"
 
-#: Dependencies.cpp:312
+#: Dependencies.cpp:315
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Копіювати все аудіо у проект (Безпечніше)"
 
-#: Dependencies.cpp:321 Dependencies.cpp:326
+#: Dependencies.cpp:324 Dependencies.cpp:329
 msgid "Ask me"
 msgstr "Перепитувати"
 
-#: Dependencies.cpp:322
+#: Dependencies.cpp:325
 msgid "Always copy all audio (safest)"
 msgstr "Завжди копіювати всі звукові дані (найбезпечніше)"
 
-#: Dependencies.cpp:323
+#: Dependencies.cpp:326
 msgid "Never copy any audio"
 msgstr "Ніколи не копіювати ніяких звукових даних"
 
-#: Dependencies.cpp:325
+#: Dependencies.cpp:328
 msgid "Whenever a project depends on other files:"
 msgstr "Чи залежить проект від інших файлів:"
 
-#: Dependencies.cpp:413
+#: Dependencies.cpp:416
 msgid ""
 "If you proceed, your project will not be saved to disk. Is this what you "
 "want?"
 msgstr "Якщо продовжити, проект не буде збережено на диск. Ви цього хочете?"
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:456
 msgid ""
 "Your project is self-contained; it does not depend on any external audio "
 "files."
-msgstr "Ваш проект є самодостатнім і не залежить від зовнішніх звукових файлів."
+msgstr ""
+"Ваш проект є самодостатнім і не залежить від зовнішніх звукових файлів."
 
-#: Dependencies.cpp:454
+#: Dependencies.cpp:457
 msgid "Dependency check"
 msgstr "Перевірка залежності"
 
-#: DirManager.cpp:137
+#: DirManager.cpp:136
 msgid ""
 "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
@@ -818,23 +842,23 @@ msgstr ""
 "Попередження: на даному розділі лишилось замало вільного простору. Виберіть\n"
 "іншу теку для тимчасових файлів у діалозі налаштовування програми."
 
-#: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
+#: DirManager.cpp:221 DirManager.cpp:252 DirManager.cpp:335
 msgid "Progress"
 msgstr "Поступ"
 
-#: DirManager.cpp:288
+#: DirManager.cpp:286
 msgid "Cleaning up temporary files"
 msgstr "Вилучення тимчасових файлів"
 
-#: DirManager.cpp:338
+#: DirManager.cpp:336
 msgid "Saving project data files"
 msgstr "Збереження файлів даних проекту"
 
-#: DirManager.cpp:410
+#: DirManager.cpp:408
 msgid "Cleaning up cache directories"
 msgstr "Очищення тек кешування"
 
-#: DirManager.cpp:505
+#: DirManager.cpp:503
 #, c-format
 msgid ""
 "Audacity found an orphaned blockfile %s! \n"
@@ -848,60 +872,60 @@ msgstr ""
 #. i18n-hint: This is the pattern for filenames that are created
 #. when a file needs to be backed up to a different name.  For
 #. example, mysong would become mysong-old1, mysong-old2, etc.
-#: DirManager.cpp:1094
+#: DirManager.cpp:1092
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-old%d"
 
-#: DirManager.cpp:1102
+#: DirManager.cpp:1100
 msgid "Unable to open/create test file"
 msgstr "Неможливо відкрити або створити тестовий файл"
 
-#: DirManager.cpp:1111
+#: DirManager.cpp:1109
 #, c-format
 msgid "Unable to remove '%s'"
 msgstr "Неможливо вилучити '%s'"
 
-#: DirManager.cpp:1116
+#: DirManager.cpp:1114
 #, c-format
 msgid "Renamed file: %s\n"
 msgstr "Перейменовано файл: %s\n"
 
-#: DirManager.cpp:1166
+#: DirManager.cpp:1164
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
 msgstr "Неможливо перейменувати '%s' на '%s'"
 
-#: DirManager.cpp:1183
+#: DirManager.cpp:1181
 #, c-format
 msgid "Changed block %s to new alias name\n"
 msgstr "Блок %s змінено за новою назвою\n"
 
-#: DirManager.cpp:1249 DirManager.cpp:1540
+#: DirManager.cpp:1247 DirManager.cpp:1538
 msgid "Inspecting project file data..."
 msgstr "Вивчення даних файла проекту..."
 
-#: DirManager.cpp:1265
+#: DirManager.cpp:1263
 #, c-format
 msgid "Orphaned blockfile: (%s)"
 msgstr "Незв'язаний блок-файл: (%s)"
 
-#: DirManager.cpp:1290
+#: DirManager.cpp:1288
 #, c-format
 msgid "Missing alias file: (%s)"
 msgstr "Відсутній файл скорочень: (%s)"
 
-#: DirManager.cpp:1310
+#: DirManager.cpp:1308
 #, c-format
 msgid "Missing summary file: (%s.auf)"
 msgstr "Відсутній файл резюме: (%s.auf)"
 
-#: DirManager.cpp:1330
+#: DirManager.cpp:1328
 #, c-format
 msgid "Missing data file: (%s.au)"
 msgstr "Відсутній файл даних: (%s.au)"
 
-#: DirManager.cpp:1344
+#: DirManager.cpp:1342
 msgid ""
 "Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more "
@@ -911,7 +935,7 @@ msgstr ""
 "проекту; натисніть кнопку 'Докладніше', щоб побачити повний список помилок,\n"
 "або 'Гаразд', щоб ознайомитися зі шляхами їх виправлення."
 
-#: DirManager.cpp:1356
+#: DirManager.cpp:1354
 #, c-format
 msgid ""
 "Project check found %d orphaned blockfile[s]. These files are\n"
@@ -922,25 +946,25 @@ msgstr ""
 "не використовуються і ймовірно залишилися після краху або іншої помилки.\n"
 "Їх слід вилучити, щоб уникнути засмічення диска."
 
-#: DirManager.cpp:1361
+#: DirManager.cpp:1359
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "Вилучити незв'язані файли [безпечно і рекомендовано]"
 
-#: DirManager.cpp:1362
+#: DirManager.cpp:1360
 msgid "Continue without deleting; silently work around the extra files"
 msgstr "Продовжити без вилучення, мовчки ігнорувати зайві файли"
 
-#: DirManager.cpp:1363
+#: DirManager.cpp:1361
 msgid "Close project immediately with no changes"
 msgstr "Закрити проект негайно без змін"
 
-#: DirManager.cpp:1365 DirManager.cpp:1400 DirManager.cpp:1446
-#: DirManager.cpp:1488 export/Export.cpp:582 export/Export.cpp:603
-#: export/Export.cpp:622 widgets/Warning.cpp:55
+#: DirManager.cpp:1363 DirManager.cpp:1398 DirManager.cpp:1444
+#: DirManager.cpp:1486 export/Export.cpp:581 export/Export.cpp:602
+#: export/Export.cpp:621 widgets/Warning.cpp:53
 msgid "Warning"
 msgstr "Попередження"
 
-#: DirManager.cpp:1391
+#: DirManager.cpp:1389
 #, c-format
 msgid ""
 "Project check detected %d input file[s] being used in place\n"
@@ -957,19 +981,19 @@ msgstr ""
 "їх тишею лише на поточний сеанс, або закрити проект зараз\n"
 "та спробувати відновити відсутні файли вручну."
 
-#: DirManager.cpp:1396
+#: DirManager.cpp:1394
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Замінити відсутні дані тишею [незворотне після збереження]"
 
-#: DirManager.cpp:1397 DirManager.cpp:1485
+#: DirManager.cpp:1395 DirManager.cpp:1483
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Тимчасово замінити відсутні дані тишею [тільки для цього сеансу]"
 
-#: DirManager.cpp:1398 DirManager.cpp:1444 DirManager.cpp:1486
+#: DirManager.cpp:1396 DirManager.cpp:1442 DirManager.cpp:1484
 msgid "Close project immediately with no further changes"
 msgstr "Закрити проект негайно без подальших змін"
 
-#: DirManager.cpp:1437
+#: DirManager.cpp:1435
 #, c-format
 msgid ""
 "Project check detected %d missing summary file[s] (.auf).\n"
@@ -980,15 +1004,15 @@ msgstr ""
 "Audacity може повністю перегенерувати файли зведення з \n"
 "аудіо даних у проекті."
 
-#: DirManager.cpp:1442
+#: DirManager.cpp:1440
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "Перегенерувати файли зведення [безпечно та рекомендовано]"
 
-#: DirManager.cpp:1443
+#: DirManager.cpp:1441
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "Заповнити тишею відсутні дані відображення [тільки у поточному сеансі]"
 
-#: DirManager.cpp:1479
+#: DirManager.cpp:1477
 #, c-format
 msgid ""
 "Project check detected %d missing audio data blockfile[s] (.au), \n"
@@ -1007,27 +1031,27 @@ msgstr ""
 "або закрити проект зараз і спробувати відновити\n"
 "відсутні дані вручну."
 
-#: DirManager.cpp:1484
+#: DirManager.cpp:1482
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "Замінити відсутні дані тишею [негайне і незворотне]"
 
-#: DirManager.cpp:1512
+#: DirManager.cpp:1510
 msgid "Cleaning up unused directories in project data..."
 msgstr "Очищення тек, що не використовуються, у даних проекту..."
 
-#: DirManager.cpp:1583
+#: DirManager.cpp:1587
 msgid "Caching audio"
 msgstr "Кешування аудіо"
 
-#: DirManager.cpp:1584
+#: DirManager.cpp:1588
 msgid "Caching audio into memory..."
 msgstr "Кешування звукової інформації у пам'ять..."
 
-#: DirManager.cpp:1617
+#: DirManager.cpp:1623
 msgid "Saving recorded audio"
 msgstr "Збереження записаного звуку"
 
-#: DirManager.cpp:1618
+#: DirManager.cpp:1624
 msgid "Saving recorded audio to disk..."
 msgstr "Збереження записаного звуку на диск..."
 
@@ -1035,237 +1059,301 @@ msgstr "Збереження записаного звуку на диск..."
 msgid "Rectangular"
 msgstr "Rectangular"
 
-#: FFmpeg.cpp:36
+#: FFmpeg.cpp:38
 msgid "FFmpeg support not compiled in"
 msgstr "Програму зібрано без підтримки FFmpeg"
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid ""
 "FFmpeg was configured in Preferences and successfully loaded "
 "before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
-"FFmpeg було налаштовано у «Уподобаннях», бібліотека успішно завантажувалася раніше,                       \n"
-"але цього разу Audacity не вдалося завантажити її під час запуску.                       \n"
+"FFmpeg було налаштовано у «Уподобаннях», бібліотека успішно завантажувалася "
+"раніше,                       \n"
+"але цього разу Audacity не вдалося завантажити її під час запуску.           "
+"            \n"
 "\n"
-"Можливо, вам слід повернутися до сторінки «Уподобання > Імпорт/Експорт» і повторно налаштувати параметри бібліотеки."
+"Можливо, вам слід повернутися до сторінки «Уподобання > Бібліотеки» і "
+"повторно налаштувати параметри бібліотеки."
 
-#: FFmpeg.cpp:104
+#: FFmpeg.cpp:106
 msgid "FFmpeg startup failed"
 msgstr "Спроба запуску FFmpeg була невдалою"
 
-#: FFmpeg.cpp:112
+#: FFmpeg.cpp:114
 msgid "FFmpeg library not found"
 msgstr "Бібліотеки FFmpeg не знайдено"
 
-#: FFmpeg.cpp:172
+#: FFmpeg.cpp:408
 msgid "Locate FFmpeg"
 msgstr "Вказати адресу FFmpeg"
 
-#: FFmpeg.cpp:192
+#: FFmpeg.cpp:428
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr "Audacity потребує файла %s для імпортування та експортування звукових даних за допомогою FFmpeg."
+msgstr ""
+"Audacity потребує файла %s для імпортування та експортування звукових даних "
+"за допомогою FFmpeg."
 
-#: FFmpeg.cpp:198 export/ExportMP3.cpp:562
+#: FFmpeg.cpp:434 export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
 msgstr "Розташування %s:"
 
-#: FFmpeg.cpp:207 export/ExportMP3.cpp:571
+#: FFmpeg.cpp:443 export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
 msgstr "Щоб знайти %s, клацніть тут —>"
 
-#: FFmpeg.cpp:213 export/ExportMP3.cpp:577
+#: FFmpeg.cpp:449 export/ExportMP3.cpp:577
 msgid "Browse..."
 msgstr "Огляд..."
 
-#: FFmpeg.cpp:214
+#: FFmpeg.cpp:450
 msgid "To get a free copy of FFmpeg, click here -->"
 msgstr "Щоб отримати вільну копію FFmpeg, натисніть тут -->"
 
-#: FFmpeg.cpp:215 export/ExportMP3.cpp:579
+#: FFmpeg.cpp:451 export/ExportMP3.cpp:579
 msgid "Download"
 msgstr "Звантажити"
 
 #. i18n-hint: It's asking for the location of a file, for
 #. example, "Where is lame_enc.dll?" - you could translate
 #. "Where would I find the file %s" instead if you want.
-#: FFmpeg.cpp:237 export/ExportMP3.cpp:601
+#: FFmpeg.cpp:473 export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "Де знаходиться %s?"
 
-#: FFmpeg.cpp:407
+#: FFmpeg.cpp:643
 msgid "Failed to find compatible FFmpeg libraries"
 msgstr "Спроба знайти сумісну версію бібліотеки FFmpeg була невдалою"
 
-#: FFmpeg.h:87
+#: FFmpeg.h:97
 msgid "FFmpeg not found"
 msgstr "FFmpeg не знайдено"
 
-#: FFmpeg.h:101
+#: FFmpeg.h:111
 msgid ""
-"Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences-"
-">Import/Export\n"
-"and tell Audacity where to look for the libraries."
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
-"Програма Audacity зробила спробу використати бібліотеки FFmpeg для імпорту звукового файла,\n"
-"але бібліотеки не було знайдено.\n"
-"Якщо ви бажаєте скористатися можливістю імпорту за допомогою FFmpeg, будь ласка, відкрийте сторінку «Уподобань»->«Імпорт/Експорт»\n"
-"і повідомте Audacity, де слід шукати бібліотеки."
+"Програма Audacity намагалася скористатися FFmpeg для імпортування звукового "
+"файла,\n"
+"але потрібних бібліотек не було виявлено.\n"
+"\n"
+"Щоб мати змогу користуватися імпортом за допомогою FFmpeg, відкрийте "
+"сторінку «Уподобання > Бібліотеки»,\n"
+"щоб звантажити або вказати адресу потрібних бібліотек FFmpeg."
 
-#: FFmpeg.h:109
+#: FFmpeg.h:119
 msgid "Do not show this warning again"
 msgstr "Більше не показувати це попередження"
 
-#: FFmpeg.h:242
+#: FFmpeg.h:264
 msgid ""
 "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
 "All Files (*.*)|*"
-msgstr "Лише avformat.dll|*avformat*.dll|Динамічно з’єднані бібліотеки (*.dll)|*.dll|Всі файли (*.*)|*"
+msgstr ""
+"Лише avformat.dll|*avformat*.dll|Динамічно з’єднані бібліотеки (*.dll)|*.dll|"
+"Всі файли (*.*)|*"
 
-#: FFmpeg.h:268
+#: FFmpeg.h:297
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
 msgstr "Динамічні бібліотеки (*.dylib)|*.dylib|Всі файли (*)|*"
 
-#: FFmpeg.h:295
+#: FFmpeg.h:324
 msgid ""
 "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*."
 "so*|All Files (*)|*"
-msgstr "Лише libavformat.so|libavformat.so*|Динамічно з’єднані бібліотеки (*.so*)|*.so*|Всі файли (*)|*"
+msgstr ""
+"Лише libavformat.so|libavformat.so*|Динамічно з’єднані бібліотеки (*.so*)|*."
+"so*|Всі файли (*)|*"
 
-#: FreqWindow.cpp:103
+#: FreqWindow.cpp:107
 msgid "Frequency Analysis"
 msgstr "Частотний аналіз"
 
-#: FreqWindow.cpp:139 TrackPanel.cpp:553 prefs/GUIPrefs.cpp:156
+#: FreqWindow.cpp:163 TrackPanel.cpp:612 prefs/TracksPrefs.cpp:58
 msgid "Spectrum"
 msgstr "Спектр"
 
-#: FreqWindow.cpp:140
+#: FreqWindow.cpp:164
 msgid "Standard Autocorrelation"
 msgstr "Стандартна автокореляція"
 
-#: FreqWindow.cpp:141
+#: FreqWindow.cpp:165
 msgid "Cuberoot Autocorrelation"
 msgstr "Середньоквадратична кореляція"
 
-#: FreqWindow.cpp:142
+#: FreqWindow.cpp:166
 msgid "Enhanced Autocorrelation"
 msgstr "Розширена автокореляція"
 
 #. i18n-hint: This is a technical term, derived from the word
 #. "spectrum".  Do not translate it unless you are sure you
 #. know the correct technical word in your language.
-#: FreqWindow.cpp:146
+#: FreqWindow.cpp:170
 msgid "Cepstrum"
 msgstr "Cepstrum"
 
-#: FreqWindow.cpp:150 FreqWindow.cpp:154
+#: FreqWindow.cpp:174 FreqWindow.cpp:178
 msgid "Algorithm"
 msgstr "Алгоритм"
 
-#: FreqWindow.cpp:169 FreqWindow.cpp:173 HistoryWindow.cpp:79
+#: FreqWindow.cpp:193 FreqWindow.cpp:197 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Розмір"
 
 #. i18n-hint: This refers to a "window function", used in the
 #. Frequency analyze dialog box.
-#: FreqWindow.cpp:183
+#: FreqWindow.cpp:207
 msgid " window"
 msgstr " вікно"
 
-#: FreqWindow.cpp:187 FreqWindow.cpp:191
+#: FreqWindow.cpp:211 FreqWindow.cpp:215
 msgid "Function"
 msgstr "Функція"
 
-#: FreqWindow.cpp:196
+#: FreqWindow.cpp:220
 msgid "Linear frequency"
 msgstr "Лінійна частота"
 
-#: FreqWindow.cpp:197
+#: FreqWindow.cpp:221
 msgid "Log frequency"
 msgstr "Частота запису журналу"
 
-#: FreqWindow.cpp:201 FreqWindow.cpp:205
+#: FreqWindow.cpp:225 FreqWindow.cpp:229
 msgid "Axis"
 msgstr "Вісь"
 
-#: FreqWindow.cpp:212 LabelDialog.cpp:130 Menus.cpp:242 Menus.cpp:277
+#: FreqWindow.cpp:236 LabelDialog.cpp:130 Menus.cpp:255
 msgid "&Export..."
 msgstr "&Експорт..."
 
-#: FreqWindow.cpp:213 effects/Contrast.cpp:437 export/ExportCL.cpp:323
+#: FreqWindow.cpp:237 effects/Contrast.cpp:395 export/ExportCL.cpp:358
 #: export/ExportMultiple.cpp:344
 msgid "Export"
 msgstr "Експорт"
 
-#: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "Пере&малювати"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "Перемалювати"
+
+#: FreqWindow.cpp:244 FreqWindow.cpp:245 widgets/ErrorDialog.cpp:190
 msgid "Close"
 msgstr "Закрити"
 
-#: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
-#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1123 effects/Equalization.cpp:1125
-#: effects/Equalization.cpp:1133 effects/Equalization.cpp:1199
-#: effects/Equalization.cpp:1408 effects/Equalization.cpp:1419
-#: effects/Normalize.cpp:368 widgets/Meter.cpp:413
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr "Сітки"
+
+#: FreqWindow.cpp:314 FreqWindow.cpp:516 effects/AutoDuck.cpp:503
+#: effects/AutoDuck.cpp:537 effects/AutoDuck.cpp:806
+#: effects/Compressor.cpp:360 effects/Compressor.cpp:368
+#: effects/Equalization.cpp:1145 effects/Equalization.cpp:1147
+#: effects/Equalization.cpp:1155 effects/Equalization.cpp:1221
+#: effects/Equalization.cpp:1437 effects/Equalization.cpp:1448
+#: effects/Normalize.cpp:372 widgets/Meter.cpp:413
 msgid "dB"
 msgstr "дБ"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:295 FreqWindow.cpp:450 effects/Equalization.cpp:1164
-#: effects/Equalization.cpp:1195 import/ImportRaw.cpp:399
+#: FreqWindow.cpp:330 FreqWindow.cpp:556 effects/Equalization.cpp:1186
+#: effects/Equalization.cpp:1217 import/ImportRaw.cpp:409
 msgid "Hz"
 msgstr "Гц"
 
-#: FreqWindow.cpp:394
+#: FreqWindow.cpp:422
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr ""
+"Для побудови спектрограми, усі вибрані доріжки повинні мати однакову частоту."
+
+#: FreqWindow.cpp:449
+#, c-format
+msgid ""
+"Too much audio was selected.  Only the first %.1f seconds of audio will be "
+"analyzed."
+msgstr ""
+"Вибрано надто велику звукову ділянку. Будуть проаналізовані лише перші %.1f "
+"секунд звуку."
+
+#: FreqWindow.cpp:500
 msgid "Not enough data selected."
 msgstr "Вибрано недостатньо даних."
 
-#: FreqWindow.cpp:458 effects/AutoDuck.cpp:794
+#: FreqWindow.cpp:564 effects/AutoDuck.cpp:808
 msgid "s"
 msgstr "с"
 
-#: FreqWindow.cpp:787
+#: FreqWindow.cpp:898
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
 msgstr "Курсор: %d Гц (%s) = %d дБ    Пік: %d Гц (%s) = %.1f дБ"
 
-#: FreqWindow.cpp:796
+#: FreqWindow.cpp:907
 #, c-format
-msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
-msgstr "Курсор: %.4f сек (%d Гц) (%s) = %f,    Пік: %.4f сек (%d Гц) (%s) = %.3f"
+msgid ""
+"Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
+msgstr ""
+"Курсор: %.4f сек (%d Гц) (%s) = %f,    Пік: %.4f сек (%d Гц) (%s) = %.3f"
 
-#: FreqWindow.cpp:1069
+#: FreqWindow.cpp:1198
 msgid "spectrum.txt"
 msgstr "spectrum.txt"
 
-#: FreqWindow.cpp:1071
+#: FreqWindow.cpp:1200
 msgid "Export Spectral Data As:"
 msgstr "Експортувати результати спектрального аналізу у файл:"
 
-#: FreqWindow.cpp:1087 LabelDialog.cpp:603 Menus.cpp:2567 Project.cpp:2663
-#: Project.cpp:3714 effects/Contrast.cpp:567 prefs/KeyConfigPrefs.cpp:195
+#: FreqWindow.cpp:1216 LabelDialog.cpp:603 Menus.cpp:2615
+#: effects/Contrast.cpp:587 prefs/KeyConfigPrefs.cpp:280
 msgid "Couldn't write to file: "
 msgstr "Не вдається записати у файл:"
 
-#: FreqWindow.cpp:1092
+#: FreqWindow.cpp:1221
 msgid "Frequency (Hz)\tLevel (dB)"
 msgstr "Частота (Гц)\tРівень (дБ)"
 
-#: FreqWindow.cpp:1098
+#: FreqWindow.cpp:1227
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Відставання (сек)\tЧастота (Гц)\tРівень"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and "
+"re-configure it."
+msgstr ""
+"GStreamer було налаштовано у «Уподобаннях», бібліотека успішно "
+"завантажувалася раніше,\n"
+"                                            але цього разу Audacity не "
+"вдалося завантажити її під час запуску.\n"
+"Можливо, вам слід повернутися до сторінки «Уподобання > Бібліотеки» і "
+"повторно налаштувати параметри бібліотеки."
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "Спроба запуску GStreamer була невдалою"
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Перейти до [[welcome|Вітального вікна]]"
@@ -1300,7 +1388,7 @@ msgstr "Редагування і позначені сірим меню"
 
 #: HelpText.cpp:121
 msgid "Exporting an Audio File"
-msgstr "Експорт аудіо-файла"
+msgstr "Експорт аудіофайла"
 
 #: HelpText.cpp:125
 msgid "Saving an Audacity Project"
@@ -1336,7 +1424,7 @@ msgstr ""
 "Дізнатися як:<ul><li>[[play|відтворювати]] існуючий звуковий файл.<li>"
 "[[record|записати]] ваш голос, платівку або магнітострічку.<li>[[edit|"
 "редагувати]] звуки <li>[[save|зберегти або відкрити проект Audacity]] <li>"
-"[[export|експортувати]] звук до файла MP3 або іншого аудіо-файла, або "
+"[[export|експортувати]] звук до файла MP3 або іншого аудіофайла, або "
 "[[burncd|записати звук на КД]]  </ul></p><p>"
 
 #: HelpText.cpp:159
@@ -1371,7 +1459,7 @@ msgid ""
 "&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start "
 "or end of the track respectively. </p><br><br>"
 msgstr ""
-"<p><b>Відкривання аудіо-файлів:</b> Ви можете або перетягнути файли до вікна "
+"<p><b>Відкривання аудіофайлів:</b> Ви можете або перетягнути файли до вікна "
 "поточного проекту, або скористатися пунктом меню <i>Файл &gt; Імпорт &gt; "
 "Аудіо</i>. Файли можна відкривати у вікні нового проекту за допомогою меню "
 "<i>Файл &gt; Відкрити</i>. Основними форматами, з якими працює Audacity, є "
@@ -1446,7 +1534,7 @@ msgid ""
 "Windows, this current system device can be selected as \"Microsoft Sound "
 "Mapper\". If you are recording from an external USB or Firewire device such "
 "as a USB turntable, select it explicitly by name as recording device after "
-"conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+"connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 "<p>Пристроєм вхідного сигналу є той фізичний пристрій, з якого ви проводите "
 "запис. Його можна зі спадного меню \"Пристрій для запису\" на сторінці "
@@ -1611,7 +1699,7 @@ msgid ""
 "Splitting_recordings_into_separate_tracks|split the tracks]] from an album "
 "for multiple export as separate files. </p><br><br>"
 msgstr ""
-"Щоб прослухати Вашу роботу у інших програмах, експортуйте її до аудіо-файла, "
+"Щоб прослухати Вашу роботу у інших програмах, експортуйте її до аудіофайла, "
 "такого як WAV або MP3 (деякі з форматів [[wma-proprietary|не "
 "підтримуються]]). [[save|Збереження проекту Audacity]] призводить до "
 "створення файла проекту (і пов’язаної з ним теки _data), у якому міститься "
@@ -1622,11 +1710,11 @@ msgstr ""
 "меню \"Тип збереження\". Щоб [[burncd|записати КД]] для апаратних "
 "програвачів КД, виберіть WAV або AIFF. Щоб мати змогу експортувати до MP3, "
 "Вам слід встановити [[wiki:Lame_Installation|Кодувальник Lame]]. </p><p> За "
-"допомогою меню <i>Файл &gt; Експорт виділеної області</i> можна експортувати "
+"допомогою меню <i>Файл &gt; Експорт вибраної області</i> можна експортувати "
 "лише вибрану частину доріжки. <i>Скористайтеся меню Файл &gt; Експортувати у "
 "декілька файлів</i>, щоб одночасно експортувати до декількох файлів, або по "
 "одному на кожну звукову доріжку, або по одному на кожну позначену область "
-"однієї доріжки. Меню <i>Доріжки &gt; Додати позначку до виділеної області</"
+"однієї доріжки. Меню <i>Доріжки &gt; Додати позначку до вибраної області</"
 "i> надає Вам можливість [[wiki:Splitting_recordings_into_separate_tracks|"
 "розрізати доріжки]] одного альбому для експорту у декілька звукових файлів. "
 "</p><br><br>"
@@ -1644,7 +1732,7 @@ msgid ""
 "protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER."
 "html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, "
 "burn it to an audio CD in the program licensed to play it, then extract the "
-"CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos."
+"CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos."
 "sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could "
 "also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;"
 "i=streaming\">record</a> the CD to your computer. <i>To export to an "
@@ -1706,8 +1794,12 @@ msgid ""
 "a> to download a single-page version of the manual which can be viewed in "
 "this window."
 msgstr ""
-"<p>Створення довідки до Audacity Beta ще не завершено. Чернетку підручника можна знайти у <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">мережі</a>. Крім того, ви можете натиснути <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">тут</"
-"a>, щоб звантажити односторінкову версію підручника, яку можна буде переглянути за допомогою цього вікна."
+"<p>Створення довідки до Audacity Beta ще не завершено. Чернетку підручника "
+"можна знайти у <a href=\"http://www.audacityteam.org/manual/index.php?"
+"title=Main_Page\">мережі</a>. Крім того, ви можете натиснути <a href="
+"\"http://www.audacityteam.org/manual/index.php?"
+"title=Temporary_HTML_Manual_Export\">тут</a>, щоб звантажити односторінкову "
+"версію підручника, яку можна буде переглянути за допомогою цього вікна."
 
 #: HistoryWindow.cpp:53
 msgid "Undo History"
@@ -1734,47 +1826,58 @@ msgid "&Discard"
 msgstr "&Відкинути"
 
 #: HistoryWindow.cpp:112 effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191 export/ExportCL.cpp:397
+#: effects/SpikeCleaner.cpp:191 export/ExportCL.cpp:432
 msgid "&OK"
 msgstr "&Гаразд"
 
-#: Internat.cpp:191
+#: Internat.cpp:143
 msgid "Unable to determine"
 msgstr "Не вдається визначити"
 
-#: Internat.cpp:195 import/ImportRaw.cpp:385
+#: Internat.cpp:147 import/ImportRaw.cpp:395
 msgid "bytes"
 msgstr "байтів"
 
-#: Internat.cpp:197
+#: Internat.cpp:149
 msgid "KB"
 msgstr "КБ"
 
-#: Internat.cpp:200
+#: Internat.cpp:152
 msgid "MB"
 msgstr "МБ"
 
-#: Internat.cpp:203
+#: Internat.cpp:155
 msgid "GB"
 msgstr "ГБ"
 
+#: Internat.cpp:181
+msgid ""
+"The specified filename could not be converted due to Unicode character use."
+msgstr ""
+"Вказану назву файла неможливо перетворити через використання символів "
+"Unicode."
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "Вкажіть нову назву файла:"
+
 #: LabelDialog.cpp:54
 msgid "Track"
 msgstr "Доріжка"
 
-#: LabelDialog.cpp:55 Menus.cpp:4727 Menus.cpp:4762
+#: LabelDialog.cpp:55 Menus.cpp:4807 Menus.cpp:4842
 msgid "Label"
 msgstr "Позначка"
 
-#: LabelDialog.cpp:56 TimerRecordDialog.cpp:329
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:341
 msgid "Start Time"
 msgstr "Час початку"
 
-#: LabelDialog.cpp:57 TimerRecordDialog.cpp:348
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:360
 msgid "End Time"
 msgstr "Час закінчення"
 
-#: LabelDialog.cpp:100 Menus.cpp:715
+#: LabelDialog.cpp:100 Menus.cpp:696
 msgid "&Edit Labels"
 msgstr "Р&едагувати позначки"
 
@@ -1814,15 +1917,15 @@ msgstr ""
 msgid "Confirm"
 msgstr "Підтвердити"
 
-#: LabelDialog.cpp:516 Menus.cpp:4151
+#: LabelDialog.cpp:516 Menus.cpp:4225
 msgid "Select a text file containing labels..."
 msgstr "Виберіть тестовий файл, що містить позначки..."
 
-#: LabelDialog.cpp:520 Menus.cpp:4155
+#: LabelDialog.cpp:520 Menus.cpp:4229
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Текстові файли (*.txt)|*.txt|Усі файли (*.*)|*.*"
 
-#: LabelDialog.cpp:534 Menus.cpp:4167 Project.cpp:1960 Project.cpp:1968
+#: LabelDialog.cpp:534 Menus.cpp:4241 Project.cpp:2087 Project.cpp:2095
 msgid "Could not open file: "
 msgstr "Не вдається відкрити файл:"
 
@@ -1830,11 +1933,11 @@ msgstr "Не вдається відкрити файл:"
 msgid "No labels to export."
 msgstr "Відсутні позначок для експорту."
 
-#: LabelDialog.cpp:566 Menus.cpp:2530
+#: LabelDialog.cpp:566 Menus.cpp:2578
 msgid "Export Labels As:"
 msgstr "Експортувати позначки як:"
 
-#: LabelDialog.cpp:568 Menus.cpp:2528
+#: LabelDialog.cpp:568 Menus.cpp:2576
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1846,7 +1949,7 @@ msgstr "Нова доріжка позначок"
 msgid "Enter track name"
 msgstr "Введіть назву доріжки"
 
-#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:634
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:92 Menus.cpp:605
 msgid "&Label Track"
 msgstr "Доріжка для &позначок"
 
@@ -1858,7 +1961,7 @@ msgstr "Перший запуск Audacity"
 msgid "Choose Language for Audacity to use:"
 msgstr "Виберіть мову інтерфейсу для Audacity:"
 
-#: Legacy.cpp:356
+#: Legacy.cpp:372
 #, c-format
 msgid ""
 "Converted a 1.0 project file to the new format.\n"
@@ -1867,7 +1970,7 @@ msgstr ""
 "Проект формату 1.0 перетворено у проект нового формату.\n"
 "Старий файл збережено з назвою \"%s\""
 
-#: Legacy.cpp:357
+#: Legacy.cpp:373
 msgid "Opening Audacity Project"
 msgstr "Відкривається проект Audacity"
 
@@ -1875,958 +1978,898 @@ msgstr "Відкривається проект Audacity"
 msgid "&File"
 msgstr "&Файл"
 
-#: Menus.cpp:197
-msgid "&New\tCtrl+N"
-msgstr "&Створити\tCtrl+N"
-
-#: Menus.cpp:199
-msgid "&Open...\tCtrl+O"
-msgstr "&Відкрити...\tCtrl+O"
+#: Menus.cpp:214
+msgid "&Close"
+msgstr "&Закрити"
 
-#: Menus.cpp:204
-msgid "&Close\tCtrl+W"
-msgstr "&Закрити\tCtrl+W"
-
-#: Menus.cpp:207
-msgid "&Save Project\tCtrl+S"
-msgstr "З&берегти проект\tCtrl+S"
+#: Menus.cpp:217
+msgid "&Save Project"
+msgstr "З&берегти проект"
 
-#: Menus.cpp:211 Project.cpp:2943
+#: Menus.cpp:220 Project.cpp:3148
 msgid "Save Project &As..."
 msgstr "Зберегти проект &як..."
 
-#: Menus.cpp:213
+#: Menus.cpp:222
 msgid "Save Compressed Copy of Project..."
 msgstr "Зберегти стиснуту копію проекту..."
 
-#: Menus.cpp:217
+#: Menus.cpp:226
 msgid "Chec&k Dependencies..."
 msgstr "Перевір&ити залежності..."
 
-#: Menus.cpp:223
+#: Menus.cpp:230
 msgid "Open Me&tadata Editor..."
 msgstr "Відкрити редактор &метаданих..."
 
-#: Menus.cpp:230 import/ImportRaw.cpp:411
+#: Menus.cpp:238 import/ImportRaw.cpp:421
 msgid "&Import"
 msgstr "&Імпорт"
 
-#: Menus.cpp:232
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "&Аудіо...\tCtrl+Shift+I"
+#: Menus.cpp:240
+msgid "&Audio..."
+msgstr "&Аудіо..."
 
-#: Menus.cpp:233
+#: Menus.cpp:241
 msgid "&Labels..."
 msgstr "&Позначки..."
 
-#: Menus.cpp:235
+#: Menus.cpp:243
 msgid "&MIDI..."
 msgstr "&MIDI..."
 
-#: Menus.cpp:237
+#: Menus.cpp:245
 msgid "&Raw Data..."
 msgstr "Звуковий файл &без заголовку (Raw)..."
 
-#: Menus.cpp:248 Menus.cpp:283
+#: Menus.cpp:260
 msgid "Expo&rt Selection..."
-msgstr "Експо&рт виділеної області..."
+msgstr "Експо&рт вибраної області..."
 
-#: Menus.cpp:255
+#: Menus.cpp:268
 msgid "Export &Labels..."
 msgstr "Експортувати &позначки..."
 
-#: Menus.cpp:256
+#: Menus.cpp:271
 msgid "Export &Multiple..."
 msgstr "Експортувати у &декілька файлів..."
 
-#: Menus.cpp:258
+#: Menus.cpp:275
 msgid "Export MIDI..."
 msgstr "Експортувати до MIDI..."
 
-#: Menus.cpp:291
-msgid "CleanSpeech C&hain..."
-msgstr "Лан&цюжок CleanSpeech..."
+#: Menus.cpp:281
+msgid "Appl&y Chain..."
+msgstr "Застос&увати ланцюжок..."
 
-#: Menus.cpp:292 Menus.cpp:306
+#: Menus.cpp:284
 msgid "Edit C&hains..."
 msgstr "Редагувати лан&цюжки..."
 
-#: Menus.cpp:293
+#: Menus.cpp:287
 msgid "Export CleanSpeech &Presets..."
 msgstr "Експортувати &шаблони CleanSpeech..."
 
-#: Menus.cpp:294
+#: Menus.cpp:288
 msgid "I&mport CleanSpeech Presets..."
 msgstr "І&мпортувати шаблони CleanSpeech..."
 
-#: Menus.cpp:304
-msgid "Appl&y Chain..."
-msgstr "Застос&увати ланцюжок..."
-
-#: Menus.cpp:311
+#: Menus.cpp:295
 msgid "&Upload File..."
 msgstr "Відванта&жити файл на FTP-сервер..."
 
-#: Menus.cpp:317
+#: Menus.cpp:300
 msgid "Pa&ge Setup..."
 msgstr "Пара&метри сторінки..."
 
-#: Menus.cpp:318
+#: Menus.cpp:303
 msgid "&Print..."
 msgstr "Д&рукувати..."
 
-#: Menus.cpp:331
-msgid "E&xit\tCtrl+Q"
-msgstr "Ви&йти\tCtrl+Q"
+#: Menus.cpp:312
+msgid "E&xit"
+msgstr "Ви&йти"
 
-#: Menus.cpp:339 toolbars/EditToolBar.cpp:76
+#: Menus.cpp:322
 msgid "&Edit"
 msgstr "&Правка"
 
-#: Menus.cpp:343
-msgid "&Undo\tCtrl+Z"
-msgstr "В&ернути\tCtrl+Z"
+#: Menus.cpp:327
+msgid "&Undo"
+msgstr "В&ернути"
 
-#: Menus.cpp:351 prefs/KeyConfigPrefs.cpp:384 toolbars/EditToolBar.cpp:146
+#: Menus.cpp:339
 msgid "&Redo"
 msgstr "Повт&орити"
 
-#: Menus.cpp:364
-msgid "Cu&t\tCtrl+X"
-msgstr "&Вирізати\tCtrl+X"
+#: Menus.cpp:345
+msgid "Cu&t"
+msgstr "&Вирізати"
 
-#: Menus.cpp:368
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Вирізати без з'&єднання\tCtrl+Alt+X"
+#: Menus.cpp:348
+msgid "Spl&it Cut"
+msgstr "Вирізати без з'&єднання"
 
-#: Menus.cpp:369
-msgid "&Copy\tCtrl+C"
-msgstr "&Копіювати\tCtrl+C"
+#: Menus.cpp:349
+msgid "&Copy"
+msgstr "&Копіювати"
 
-#: Menus.cpp:373
-msgid "&Paste\tCtrl+V"
-msgstr "Вст&авити\tCtrl+V"
+#: Menus.cpp:352
+msgid "&Paste"
+msgstr "Вст&авити"
 
-#: Menus.cpp:377
-msgid "Tri&m\tCtrl+T"
-msgstr "Обр&ізати\tCtrl+T"
+#: Menus.cpp:355
+msgid "Tri&m"
+msgstr "Обр&ізати"
 
-#: Menus.cpp:379
-msgid "&Delete\tCtrl+K"
-msgstr "В&илучити\tCtrl+K"
+#: Menus.cpp:359 Menus.cpp:398
+msgid "&Delete"
+msgstr "В&илучити"
 
-#: Menus.cpp:380
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Вилучити без з'є&днання\tCtrl+Alt+K"
+#: Menus.cpp:360
+msgid "Split D&elete"
+msgstr "Вилучити без з'є&днання"
 
-#: Menus.cpp:381
-msgid "Silence Audi&o\tCtrl+L"
-msgstr "Заповнити &тишею\tCtrl+L"
+#: Menus.cpp:361
+msgid "Silence Audi&o"
+msgstr "Заповнити &тишею"
 
-#: Menus.cpp:383
-msgid "Sp&lit\tCtrl+I"
-msgstr "Розді&лити\tCtrl+I"
+#: Menus.cpp:365
+msgid "Sp&lit"
+msgstr "Розді&лити"
 
-#: Menus.cpp:388
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Розділити зі створенням &нового\tCtrl+Alt+I"
+#: Menus.cpp:369
+msgid "Split Ne&w"
+msgstr "Розділити зі створенням &нового"
 
-#: Menus.cpp:393
-msgid "&Join\tCtrl+J"
-msgstr "&З'єднати\tCtrl+J"
+#: Menus.cpp:373 Menus.cpp:405
+msgid "&Join"
+msgstr "&З'єднати"
 
-#: Menus.cpp:394
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr "Р&оз'єднати за тишею\tShift+Alt+J"
+#: Menus.cpp:374 Menus.cpp:406
+msgid "Detac&h at Silences"
+msgstr "Р&оз'єднати за тишею"
 
-#: Menus.cpp:395
-msgid "Duplic&ate\tCtrl+D"
-msgstr "Ду&блювати\tCtrl+D"
+#: Menus.cpp:375
+msgid "Duplic&ate"
+msgstr "Ду&блювати"
 
-#: Menus.cpp:401 Menus.cpp:641
+#: Menus.cpp:380 Menus.cpp:616
 msgid "Stereo Trac&k to Mono"
 msgstr "&Стерео на моно"
 
-#: Menus.cpp:408
+#: Menus.cpp:389
 msgid "La&beled Regions"
 msgstr "Обла&сті з позначками"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:410
-msgid "&Cut\tAlt+X"
-msgstr "&Вирізати\tAlt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:415
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Ви&різати без з'єданння\tShift+Alt+X"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:420
-msgid "Co&py\tShift+Alt+C"
-msgstr "&Копіювати\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:426
-msgid "&Delete\tAlt+K"
-msgstr "В&илучити\tAlt+K"
+#: Menus.cpp:392
+msgid "&Cut"
+msgstr "&Вирізати"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:431
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Ви&лучити без з'єднання\tShift+Alt+K"
+#: Menus.cpp:393
+msgid "&Split Cut"
+msgstr "Ви&різати без з'єднання"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:436
-msgid "Sile&nce\tAlt+L"
-msgstr "Ти&ша\tAlt+L"
+#: Menus.cpp:394
+msgid "Co&py"
+msgstr "&Копіювати"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:442
-msgid "Spli&t\tAlt+I"
-msgstr "Розді&лити\tAlt+I"
+#: Menus.cpp:399
+msgid "Sp&lit Delete"
+msgstr "Ви&лучити без з'єднання"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:447
-msgid "&Join\tAlt+J"
-msgstr "З'&єднати\tAlt+J"
+#: Menus.cpp:400
+msgid "Sile&nce"
+msgstr "Ти&ша"
 
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:452
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr "Р&оз'єднати за тишею\tShift+Alt+J"
+#: Menus.cpp:404
+msgid "Spli&t"
+msgstr "Розді&лити"
 
-#: Menus.cpp:457
+#: Menus.cpp:412
 msgid "&Select"
 msgstr "&Вибрати"
 
-#: Menus.cpp:458
-msgid "&All\tCtrl+A"
-msgstr "&Все\tCtrl+A"
+#: Menus.cpp:415
+msgid "&All"
+msgstr "&Все"
 
-#: Menus.cpp:459
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Нічого\tCtrl+Shift+A"
+#: Menus.cpp:416
+msgid "&None"
+msgstr "&Нічого"
 
-#: Menus.cpp:463
-msgid "&Left at Playback Position\t["
-msgstr "&Ліворуч від поточної позиції\t["
+#: Menus.cpp:418
+msgid "&Left at Playback Position"
+msgstr "&Ліворуч від поточної позиції"
 
-#: Menus.cpp:464
-msgid "&Right at Playback Position\t]"
-msgstr "&Праворуч від поточної позиції\t]"
+#: Menus.cpp:419
+msgid "&Right at Playback Position"
+msgstr "&Праворуч від поточної позиції"
 
-#: Menus.cpp:468
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "Від п&очатку до курсора\tShift+J"
+#: Menus.cpp:423
+msgid "Track &Start to Cursor"
+msgstr "Від п&очатку до курсора"
 
-#: Menus.cpp:469
-msgid "Cursor to Track &End\tShift+K"
-msgstr "Від курсора до &кінця\tShift+K"
+#: Menus.cpp:424
+msgid "Cursor to Track &End"
+msgstr "Від курсора до &кінця"
 
-#: Menus.cpp:475
-msgid "Find &Zero Crossings\tZ"
-msgstr "Знайти &нульові точки\tZ"
+#: Menus.cpp:430
+msgid "Find &Zero Crossings"
+msgstr "Знайти &нульові точки"
 
-#: Menus.cpp:478
+#: Menus.cpp:434
 msgid "Mo&ve Cursor"
 msgstr "Пере&містити курсор"
 
-#: Menus.cpp:480
+#: Menus.cpp:436
 msgid "to Selection Star&t"
 msgstr "До початку вид&іленого"
 
-#: Menus.cpp:481
+#: Menus.cpp:437
 msgid "to Selection En&d"
-msgstr "до кінця виділен&ого"
+msgstr "до кінця вибран&ого"
 
-#: Menus.cpp:485
-msgid "to Track &Start\tJ"
-msgstr "до &початку доріжки\tJ"
+#: Menus.cpp:439
+msgid "to Track &Start"
+msgstr "до &початку доріжки"
 
-#: Menus.cpp:486
-msgid "to Track &End\tK"
-msgstr "до &кінця доріжки\tK"
+#: Menus.cpp:440
+msgid "to Track &End"
+msgstr "до &кінця доріжки"
 
-#: Menus.cpp:493
+#: Menus.cpp:448
 msgid "Re&gion Save"
 msgstr "Запам'ятати виді&лене"
 
-#: Menus.cpp:494
+#: Menus.cpp:451
 msgid "Regio&n Restore"
-msgstr "Відновленн&я виділеного"
+msgstr "Відновленн&я вибраного"
 
-#: Menus.cpp:505
+#: Menus.cpp:459
 msgid "Pla&y Region"
 msgstr "Відтвор&ити область"
 
-#: Menus.cpp:506
+#: Menus.cpp:461
 msgid "&Lock"
 msgstr "&Заблокувати"
 
-#: Menus.cpp:507
+#: Menus.cpp:464
 msgid "&Unlock"
 msgstr "&Розблокувати"
 
-#: Menus.cpp:513
-msgid "Turn Snap-To On"
-msgstr "Увімкнути прив'язку"
-
-#: Menus.cpp:514
-msgid "Turn Snap-To Off"
-msgstr "Вимкнути прив'язку"
-
-#: Menus.cpp:515
-msgid "Turn Grid Snap On"
-msgstr "Включити прив'язку за сіткою"
-
-#: Menus.cpp:516
-msgid "Turn Grid Snap Off"
-msgstr "Увімкнути прив'язку за сіткою"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:521
-msgid "Pre&ferences...\tCtrl+,"
-msgstr "&Параметри...\tCtrl+,"
-
-#: Menus.cpp:525
-msgid "Pre&ferences...\tCtrl+P"
-msgstr "&Уподобання...\tCtrl+P"
+#: Menus.cpp:484
+msgid "Pre&ferences..."
+msgstr "&Параметри..."
 
-#: Menus.cpp:535
+#: Menus.cpp:494
 msgid "&View"
 msgstr "&Вигляд"
 
-#: Menus.cpp:537
-msgid "Zoom &In\tCtrl+1"
-msgstr "З&більшити\tCtrl+1"
+#: Menus.cpp:497
+msgid "Zoom &In"
+msgstr "З&більшити"
 
-#: Menus.cpp:540
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Зви&чайний розмір\tCtrl+2"
+#: Menus.cpp:500
+msgid "Zoom &Normal"
+msgstr "Зви&чайний розмір"
 
-#: Menus.cpp:541
-msgid "Zoom &Out\tCtrl+3"
-msgstr "З&меншити\tCtrl+3"
+#: Menus.cpp:501
+msgid "Zoom &Out"
+msgstr "З&меншити"
 
-#: Menus.cpp:544
-msgid "&Fit in Window\tCtrl+F"
-msgstr "Піді&гнати до розміру вікна\tCtrl+F"
+#: Menus.cpp:505
+msgid "&Fit in Window"
+msgstr "Піді&гнати до розміру вікна"
 
-#: Menus.cpp:545
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Розмістити по &вертикалі\tCtrl+Shift+F"
+#: Menus.cpp:506
+msgid "Fit &Vertically"
+msgstr "Розмістити по &вертикалі"
 
-#: Menus.cpp:546
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Мас&штабувати до виділеного\tCtrl+E"
+#: Menus.cpp:507
+msgid "&Zoom to Selection"
+msgstr "Мас&штабувати до вибраного"
 
-#: Menus.cpp:549
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Згорнути всі доріжки\tCtrl+Shift+C"
+#: Menus.cpp:511
+msgid "&Collapse All Tracks"
+msgstr "&Згорнути всі доріжки"
 
-#: Menus.cpp:550
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "Роз&горнути всі доріжки\tCtrl+Shift+X"
+#: Menus.cpp:512
+msgid "E&xpand All Tracks"
+msgstr "Роз&горнути всі доріжки"
 
-#: Menus.cpp:553
+#: Menus.cpp:516
 msgid "&Show Clipping"
 msgstr "Показати з&різання"
 
-#: Menus.cpp:562
+#: Menus.cpp:521
 msgid "&History..."
 msgstr "&Історія змін..."
 
-#: Menus.cpp:568
+#: Menus.cpp:529
 msgid "&Toolbars"
 msgstr "П&енали"
 
-#: Menus.cpp:569
+#: Menus.cpp:531
 msgid "&Control Toolbar"
 msgstr "Панель &керування"
 
-#: Menus.cpp:570
+#: Menus.cpp:532
 msgid "&Device Toolbar"
 msgstr "Панель пристро&їв"
 
-#: Menus.cpp:571
+#: Menus.cpp:533
 msgid "&Edit Toolbar"
 msgstr "Панель &редагування"
 
-#: Menus.cpp:572
+#: Menus.cpp:534
 msgid "&Meter Toolbar"
 msgstr "Панель &індикаторів"
 
-#: Menus.cpp:573
+#: Menus.cpp:535
 msgid "Mi&xer Toolbar"
 msgstr "Панель мік&шера"
 
-#: Menus.cpp:574
+#: Menus.cpp:536
 msgid "&Selection Toolbar"
 msgstr "Панель &вибору"
 
-#: Menus.cpp:575
+#: Menus.cpp:537
 msgid "T&ools Toolbar"
 msgstr "Панель інстр&ументів"
 
-#: Menus.cpp:576
+#: Menus.cpp:538
 msgid "Transcri&ption Toolbar"
 msgstr "Панель перез&апису"
 
-#: Menus.cpp:578
+#: Menus.cpp:542
 msgid "&Reset Toolbars"
 msgstr "Від&новити початкові панелі"
 
-#: Menus.cpp:580
+#: Menus.cpp:550
 msgid "!Simplified View"
 msgstr "!Спрощений вигляд"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:589
+#: Menus.cpp:561
 msgid "T&ransport"
 msgstr "П&еренесення"
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr "Відтворити\tПробіл"
+#: Menus.cpp:564 toolbars/ControlToolBar.cpp:173
+msgid "Play"
+msgstr "Відтворити"
 
-#: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr "Ві&дтворити у циклі\tShift+Пробіл"
+#: Menus.cpp:565
+msgid "&Loop Play"
+msgstr "Ві&дтворити у циклі"
 
-#: Menus.cpp:595
-msgid "&Pause\tP"
-msgstr "П&ризупинити\tP"
+#: Menus.cpp:566
+msgid "&Pause"
+msgstr "П&ризупинити"
 
-#: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr "З&упинити\tПробіл"
+#: Menus.cpp:569
+msgid "&Stop"
+msgstr "З&упинити"
 
-#: Menus.cpp:597 Menus.cpp:1012
-msgid "Skip to Start\tHome"
-msgstr "Перейти на початок доріжки\tHome"
+#: Menus.cpp:572 toolbars/ControlToolBar.cpp:208
+msgid "Skip to Start"
+msgstr "Перейти на початок доріжки"
 
-#: Menus.cpp:599 Menus.cpp:1013
-msgid "Skip to End\tEnd"
-msgstr "Перейти на кінець доріжки\tEnd"
+#: Menus.cpp:573 toolbars/ControlToolBar.cpp:209
+msgid "Skip to End"
+msgstr "Перейти на кінець доріжки"
 
-#: Menus.cpp:602
-msgid "&Record\tR"
-msgstr "&Запис\tR"
+#: Menus.cpp:577
+msgid "&Record"
+msgstr "&Запис"
 
-#: Menus.cpp:604
-msgid "&Timer Record...\tShift+T"
-msgstr "Запис за &таймером...\tShift+T"
+#: Menus.cpp:578
+msgid "&Timer Record..."
+msgstr "Запис за &таймером..."
 
-#: Menus.cpp:606
-msgid "Append Record\tShift+R"
-msgstr "Долучення запису\tShift+R"
+#: Menus.cpp:579
+msgid "Append Record"
+msgstr "Долучення запису"
 
-#: Menus.cpp:609
+#: Menus.cpp:583
 msgid "Overdub (on/off)"
 msgstr "Накладення (увімкн./вимкн.)"
 
-#: Menus.cpp:611
+#: Menus.cpp:584
 msgid "Software Playthrough (on/off)"
 msgstr "Програмне відтворення (увімкн./вимкн.)"
 
-#: Menus.cpp:614
+#: Menus.cpp:587
 msgid "Sound Activated Recording (on/off)"
 msgstr "Запис з активацією звуком (увімкн./вимкн.)"
 
-#: Menus.cpp:616
+#: Menus.cpp:588
 msgid "Sound Activation Level..."
 msgstr "Рівень активізації звуку..."
 
-#: Menus.cpp:624
+#: Menus.cpp:596
 msgid "&Tracks"
 msgstr "Д&оріжки"
 
-#: Menus.cpp:631
+#: Menus.cpp:601
 msgid "Add &New"
 msgstr "Додати &нову"
 
-#: Menus.cpp:632
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Аудіо доріжку\tCtrl+Shift+N"
+#: Menus.cpp:603
+msgid "&Audio Track"
+msgstr "&Аудіо доріжку"
 
-#: Menus.cpp:633
+#: Menus.cpp:604
 msgid "&Stereo Track"
 msgstr "&Стерео доріжку"
 
-#: Menus.cpp:635 TimeTrack.cpp:44
+#: Menus.cpp:606 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Доріжку &часу"
 
-#: Menus.cpp:645
+#: Menus.cpp:619
 msgid "Mi&x and Render"
 msgstr "Змі&кшувати і відобразити"
 
-#: Menus.cpp:649
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Мікшувати і відобразити як нову доріжку\tCtrl+Shift+M"
+#: Menus.cpp:622
+msgid "Mix and Render to New Track"
+msgstr "Мікшувати і відобразити як нову доріжку"
 
-#: Menus.cpp:653
+#: Menus.cpp:625
 msgid "&Resample..."
 msgstr "&Змінити частоту..."
 
-#: Menus.cpp:663
+#: Menus.cpp:631
 msgid "Remo&ve Tracks"
 msgstr "В&илучити доріжки"
 
-#: Menus.cpp:669
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Вимкнути звук на всіх доріжках\tCtrl+U"
+#: Menus.cpp:637
+msgid "&Mute All Tracks"
+msgstr "&Вимкнути звук на всіх доріжках"
 
-#: Menus.cpp:670
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Увімкнути звук на всіх доріжках\tCtrl+Shift+U"
+#: Menus.cpp:638
+msgid "&UnMute All Tracks"
+msgstr "&Увімкнути звук на всіх доріжках"
 
-#: Menus.cpp:674
+#: Menus.cpp:643
 msgid "Align with &Zero"
 msgstr "Вирівняти за &нулем"
 
-#: Menus.cpp:675
+#: Menus.cpp:644
 msgid "Align with &Cursor"
 msgstr "Вирівняти за &курсором"
 
-#: Menus.cpp:676
+#: Menus.cpp:645
 msgid "Align with Selection &Start"
-msgstr "Вирівняти за &початком виділеного"
+msgstr "Вирівняти за &початком вибраного"
 
-#: Menus.cpp:677
+#: Menus.cpp:646
 msgid "Align with Selection &End"
-msgstr "Вирівняти за кінцем &виділеного"
+msgstr "Вирівняти за кінцем &вибраного"
 
-#: Menus.cpp:678
+#: Menus.cpp:647
 msgid "Align End with Cu&rsor"
 msgstr "Встановити закінчення на к&урсор"
 
-#: Menus.cpp:679
+#: Menus.cpp:648
 msgid "Align End with Selection Star&t"
-msgstr "Встановити кінець на по&чаток виділеного"
+msgstr "Встановити кінець на по&чаток вибраного"
 
-#: Menus.cpp:680
+#: Menus.cpp:649
 msgid "Align End with Selection En&d"
 msgstr "Встановити закінчення на кінець виді&леного"
 
-#: Menus.cpp:681
+#: Menus.cpp:650
 msgid "Align Tracks To&gether"
 msgstr "Вирівняти дорі&жки"
 
-#: Menus.cpp:683
+#: Menus.cpp:652
 msgid "&Align Tracks"
 msgstr "Ви&рівняти доріжки"
 
-#: Menus.cpp:692
+#: Menus.cpp:667
 msgid "Ali&gn and Move Cursor"
 msgstr "Вир&івняти та перемістити курсор"
 
-#: Menus.cpp:699
+#: Menus.cpp:679
 msgid "Synchronize MIDI with Audio"
 msgstr "Синхронізувати MIDI зі звуком"
 
-#: Menus.cpp:708
-msgid "Link Audio and Label Tracks"
-msgstr "З’єднати звук і позначити доріжки"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
+msgstr "&З’єднати звук і позначити доріжки"
 
-#: Menus.cpp:711
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Додати &позначку до виділеної області\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr "Додати позначку до ви&браної області"
 
-#: Menus.cpp:712
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Додати позначку на позицію &відтворення\tCtrl+M"
+#: Menus.cpp:693
+msgid "Add Label At &Playback Position"
+msgstr "Додати позначку на позицію &відтворення"
 
-#: Menus.cpp:718
+#: Menus.cpp:702
 msgid "S&ort tracks"
 msgstr "Вп&орядкувати доріжки"
 
-#: Menus.cpp:719
+#: Menus.cpp:704
 msgid "by &Start time"
 msgstr "за &початком відліку"
 
-#: Menus.cpp:721
+#: Menus.cpp:707
 msgid "by &Name"
 msgstr "за &назвою"
 
-#: Menus.cpp:732
+#: Menus.cpp:721
 msgid "&Generate"
 msgstr "&Створення"
 
-#: Menus.cpp:778 Menus.cpp:862 Menus.cpp:924
+#: Menus.cpp:766 Menus.cpp:851 Menus.cpp:921
 msgid "Unsorted"
 msgstr "Без певного порядку"
 
-#: Menus.cpp:797
+#: Menus.cpp:788
 msgid "Effe&ct"
 msgstr "&Ефекти"
 
-#: Menus.cpp:801
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Повторити останній ефект\tCtrl+R"
-
-#: Menus.cpp:879
+#: Menus.cpp:872
 msgid "&Analyze"
 msgstr "&Аналіз"
 
-#: Menus.cpp:881
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr "Контрастність..."
+
+#: Menus.cpp:877
 msgid "Plot Spectrum..."
 msgstr "Побудувати графік спектру..."
 
-#: Menus.cpp:949 Menus.cpp:952
+#: Menus.cpp:944 Menus.cpp:947
 msgid "&Help"
 msgstr "&Довідка"
 
-#: Menus.cpp:955
+#: Menus.cpp:951
 msgid "&About Audacity CleanSpeech..."
 msgstr "&Про програму Audacity CleanSpeech..."
 
-#: Menus.cpp:959
+#: Menus.cpp:957
 msgid "&Show Welcome Message..."
 msgstr "По&казати вітальне повідомлення..."
 
-#: Menus.cpp:960
-msgid "&Index..."
-msgstr "&Покажчик..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr "&Довідка..."
 
-#: Menus.cpp:961
+#: Menus.cpp:959
 msgid "Show &Log..."
 msgstr "Показати &журнал..."
 
-#: Menus.cpp:969
+#: Menus.cpp:965
 msgid "&Screenshot Tools..."
 msgstr "Інструменти для &Знімків екрану..."
 
-#: Menus.cpp:972
+#: Menus.cpp:970
 msgid "&Run Benchmark..."
 msgstr "&Тестування швидкодії..."
 
-#: Menus.cpp:974
+#: Menus.cpp:975
 msgid "&Audio Device Info..."
 msgstr "Інформація про &аудіо пристрій..."
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
-"Циклічний перехід між панелями інструментів та панеллю перегляду\tCtrl+Shift"
-"+F6"
-
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr "Циклічний перехід вперед між доком, переглядом доріжки\tCtrl+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
+msgstr "Повернутися з панелей інструментів до доріжок"
 
 #: Menus.cpp:987
-msgid "Selection Tool\tF1"
-msgstr "Виділення\tF1"
+msgid "Move forward from toolbars to tracks"
+msgstr "Перейти вперед з панелей інструментів до доріжок"
 
-#: Menus.cpp:988
-msgid "Envelope Tool\tF2"
-msgstr "Зміна обвідної\tF2"
+#: Menus.cpp:989 toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:186
+msgid "Selection Tool"
+msgstr "Інструмент вибору"
 
-#: Menus.cpp:989
-msgid "Draw Tool\tF3"
-msgstr "Зміна обвідної\tF3"
+#: Menus.cpp:990 toolbars/ToolsToolBar.cpp:148 toolbars/ToolsToolBar.cpp:187
+msgid "Envelope Tool"
+msgstr "Зміна обвідної"
 
-#: Menus.cpp:990
-msgid "Zoom Tool\tF4"
-msgstr "Масштабування\tF4"
+#: Menus.cpp:991 toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:188
+msgid "Draw Tool"
+msgstr "Зміна обвідної"
 
-#: Menus.cpp:991
-msgid "Time Shift Tool\tF5"
-msgstr "Зсув у часі\tF5"
+#: Menus.cpp:992 toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:189
+msgid "Zoom Tool"
+msgstr "Масштабування"
 
-#: Menus.cpp:992
-msgid "Multi Tool\tF6"
-msgstr "Універсальний інструмент\tF6"
+#: Menus.cpp:993 toolbars/ToolsToolBar.cpp:149
+msgid "Time Shift Tool"
+msgstr "Зсув у часі"
 
-#: Menus.cpp:994
-msgid "Next Tool\tD"
-msgstr "Наступний інструмент\tD"
+#: Menus.cpp:994 toolbars/ToolsToolBar.cpp:191
+msgid "Multi Tool"
+msgstr "Універсальний інструмент"
 
-#: Menus.cpp:995
-msgid "Previous Tool\tA"
-msgstr "Попередній інструмент\tA"
+#: Menus.cpp:996
+msgid "Next Tool"
+msgstr "Наступний інструмент"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr "Відтворити/Зупинити\tПробіл"
-
-#: Menus.cpp:998
-msgid "Stop\tS"
-msgstr "Зупинити\tS"
+msgid "Previous Tool"
+msgstr "Попередній інструмент"
 
 #: Menus.cpp:999
-msgid "Pause\tP"
-msgstr "Призупинити\tP"
+msgid "Play/Stop"
+msgstr "Відтворити/Зупинити"
 
 #: Menus.cpp:1000
-msgid "Record\tR"
-msgstr "Записати\tR"
+msgid "Play/Stop and Set Cursor"
+msgstr "Пуск/Стоп і встановлення курсора"
 
 #: Menus.cpp:1001
-msgid "Record Append\tShift+R"
-msgstr "Долучення запису\tShift+R"
+msgid "Play One Second"
+msgstr "Відтворити 1 секунду"
+
+#: Menus.cpp:1002
+msgid "Play To Selection"
+msgstr "Відтворити вибране"
 
 #: Menus.cpp:1003
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Пуск/Стоп і встановлення курсора\tShift+A"
+msgid "Play Cut Preview"
+msgstr "Прослуховування вирізаного"
 
-#: Menus.cpp:1006
-msgid "Play One Second\t1"
-msgstr "Відтворити 1 секунду\t1"
+#: Menus.cpp:1005
+msgid "Selection to Start"
+msgstr "Вибрати до початку доріжки"
 
-#: Menus.cpp:1007
-msgid "Play To Selection\tB"
-msgstr "Відтворити виділене\tB"
+#: Menus.cpp:1006
+msgid "Selection to End"
+msgstr "Вибрати від курсора до кінця"
 
 #: Menus.cpp:1008
-msgid "Play Looped\tL"
-msgstr "Відтворювати у циклі\tL"
+msgid "DeleteKey"
+msgstr "Клавіша вилучення"
 
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr "Відтворити у циклі\tShift+Пробіл"
+#: Menus.cpp:1012
+msgid "DeleteKey2"
+msgstr "Друга клавіша вилучення"
 
-#: Menus.cpp:1010
-msgid "Play Cut Preview\tC"
-msgstr "Прослуховування вирізаного\tC"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr "Короткий перехід ліворуч під час відтворення"
 
-#: Menus.cpp:1015
-msgid "Selection to Start\tShift+Home"
-msgstr "Виділити до початку доріжки\tShift+Home"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr "Короткий перехід праворуч під час відтворення"
 
-#: Menus.cpp:1016
-msgid "Selection to End\tShift+End"
-msgstr "Виділити від курсора до кінця\tShift+End"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr "Довгий перехід ліворуч під час відтворення"
 
-#: Menus.cpp:1018
-msgid "DeleteKey\tBackspace"
-msgstr "Клавіша вилучення\tBackspace"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr "Довгий перехід праворуч під час відтворення"
+
+#: Menus.cpp:1026
+msgid "Move Focus to Previous Track"
+msgstr "Перемістити фокус на попередню доріжку"
+
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr "Перемістити фокус на попередню і вибрати"
 
-#: Menus.cpp:1023
-msgid "DeleteKey2\tDelete"
-msgstr "Друга клавіша вилучення\tDelete"
+#: Menus.cpp:1028
+msgid "Move Focus to Next Track"
+msgstr "Перемістити фокус на наступну доріжку"
 
 #: Menus.cpp:1029
-msgid "Seek left short period during playback\tLeft"
-msgstr "Під час програвання переходити на короткий відрізок ліворуч\tЛіворуч"
+msgid "Move Focus to Next and Select"
+msgstr "Перемістити фокус на наступну і вибрати"
 
-#: Menus.cpp:1030
-msgid "Seek right short period during playback\tRight"
-msgstr "Під час програвання переходити на короткий відрізок праворуч\tПраворуч"
+#: Menus.cpp:1030 Menus.cpp:1031
+msgid "Toggle Focused Track"
+msgstr "Перемкнути доріжку з фокусом"
 
-#: Menus.cpp:1031
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Під час програвання переходити на довгий відрізок ліворуч\tShift+Ліворуч"
+#: Menus.cpp:1033
+msgid "Cursor Left"
+msgstr "Курсор ліворуч"
 
-#: Menus.cpp:1032
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Під час програвання переходити на довгий відрізок праворуч \tShift+Праворуч"
+#: Menus.cpp:1034
+msgid "Cursor Right"
+msgstr "Курсор праворуч"
+
+#: Menus.cpp:1035
+msgid "Cursor Short Jump Left"
+msgstr "Короткий стрибок курсора ліворуч"
 
 #: Menus.cpp:1036
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Перемістити фокус на попередню доріжку\tДогори"
+msgid "Cursor Short Jump Right"
+msgstr "Короткий стрибок курсора праворуч"
 
 #: Menus.cpp:1037
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Перемістити фокус на попередню та змінити виділене\tShift+Догори"
+msgid "Cursor Long Jump Left"
+msgstr "Довгий стрибок курсора ліворуч"
 
 #: Menus.cpp:1038
-msgid "Move Focus to Next Track\tDown"
-msgstr "Перемістити фокус на наступну доріжку\tДонизу"
-
-#: Menus.cpp:1039
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Перемістити фокус на наступну та змінити виділення\tShift+Донизу"
+msgid "Cursor Long Jump Right"
+msgstr "Довгий стрибок курсора праворуч"
 
 #: Menus.cpp:1040
-msgid "Toggle Focused Track\tReturn"
-msgstr "Перемкнути доріжку з фокусом\tReturn"
+msgid "Selection Extend Left"
+msgstr "Розтягнути вибране ліворуч"
 
 #: Menus.cpp:1041
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Перемкнути фокус на доріжку\tNUMPAD_ENTER"
+msgid "Selection Extend Right"
+msgstr "Розтягнути вибране праворуч"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr "Перемкнути фокус доріжки\tCtrl+Пробіл"
+#: Menus.cpp:1043
+msgid "Set (or Extend) Left Selection"
+msgstr "Встановити (або Поширити) праве вибране"
 
 #: Menus.cpp:1044
-msgid "Cursor Left\tLeft"
-msgstr "Курсор ліворуч\tЛіворуч"
-
-#: Menus.cpp:1045
-msgid "Cursor Right\tRight"
-msgstr "Курсор праворуч\tПраворуч"
+msgid "Set (or Extend) Right Selection"
+msgstr "Встановити (або Поширити) праву мітку вибору"
 
 #: Menus.cpp:1046
-msgid "Cursor Short Jump Left\t,"
-msgstr "Короткий стрибок курсора ліворуч\t,"
+msgid "Selection Contract Left"
+msgstr "Стягнути вибір ліворуч"
 
 #: Menus.cpp:1047
-msgid "Cursor Short Jump Right\t."
-msgstr "Короткий стрибок курсора праворуч\t."
-
-#: Menus.cpp:1048
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Довгий стрибок курсора ліворуч\tShift+,"
+msgid "Selection Contract Right"
+msgstr "Стягнути вибір праворуч"
 
 #: Menus.cpp:1049
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Довгий стрибок курсора праворуч\tShift+."
+msgid "Change pan on focused track"
+msgstr "Змінити перегляд на доріжці у фокусі"
+
+#: Menus.cpp:1050
+msgid "Pan left on focused track"
+msgstr "Панорама ліворуч на доріжці у фокусі"
 
 #: Menus.cpp:1051
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Розтягнути виділення ліворуч\tShift+Стрілка ліворуч"
+msgid "Pan right on focused track"
+msgstr "Панорама праворуч на доріжці у фокусі"
 
 #: Menus.cpp:1052
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Розтягнути виділення праворуч\tShift+Стрілка праворуч"
+msgid "Change gain on focused track"
+msgstr "Змінити підсилення для активної доріжки"
+
+#: Menus.cpp:1053
+msgid "Increase gain on focused track"
+msgstr "Збільшити підсилення для активної доріжки"
 
 #: Menus.cpp:1054
-msgid "Set (or Extend) Left Selection"
-msgstr "Встановити (або Поширити) праве виділення"
+msgid "Decrease gain on focused track"
+msgstr "Зменшити підсилення для активної доріжки"
 
 #: Menus.cpp:1055
-msgid "Set (or Extend) Right Selection"
-msgstr "Встановити (або Поширити) праву мітку виділення"
+msgid "Open menu on focused track"
+msgstr "Відкрити меню для поточної доріжки"
+
+#: Menus.cpp:1056
+msgid "Mute/Unmute focused track"
+msgstr "Заглушити/озвучити поточну доріжку"
 
 #: Menus.cpp:1057
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Стягнути виділення ліворуч\tCtrl+Shift+Праворуч"
+msgid "Solo/Unsolo focused track"
+msgstr "Увімкнути або вимкнути соло для активної доріжки"
 
 #: Menus.cpp:1058
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Стягнути виділення праворуч\tCtrl+Shift+Ліворуч"
+msgid "Close focused track"
+msgstr "Закрити активну доріжку"
 
 #: Menus.cpp:1060
-msgid "Change pan on focused track\tShift+P"
-msgstr "Змінити перегляд на доріжці у фокусі\tShift+P"
+msgid "Snap To On"
+msgstr "Прив'язку увімкнено"
 
 #: Menus.cpp:1061
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Панорама ліворуч на доріжці у фокусі\tAlt+Shift+Ліворуч"
-
-#: Menus.cpp:1062
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Панорама праворуч на доріжці у фокусі\tAlt+Shift+Праворуч"
-
-#: Menus.cpp:1063
-msgid "Change gain on focused track\tShift+G"
-msgstr "Змінити підсилення для активної доріжки\tShift+G"
-
-#: Menus.cpp:1064
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Збільшити підсилення для активної доріжки\tAlt+Shift+Догори"
+msgid "Snap To Off"
+msgstr "Прив'язку вимкнено"
 
 #: Menus.cpp:1065
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Зменшити підсилення для активної доріжки\tAlt+Shift+Донизу"
-
-#: Menus.cpp:1066
-msgid "Open menu on focused track\tShift+M"
-msgstr "Відкрити меню для поточної доріжки\tShift+M"
+msgid "Full screen on/off"
+msgstr "Увімкнути/Вимкнути повноекранний режим"
 
 #: Menus.cpp:1067
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Заглушити/озвучити поточну доріжку\tShift+U"
+msgid "Adjust output gain"
+msgstr "Скоригувати підсилення на виході"
 
 #: Menus.cpp:1068
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Увімкнути або вимкнути соло для активної доріжки\tShift+S"
+msgid "Increase output gain"
+msgstr "Збільшити підсилення на виході"
 
 #: Menus.cpp:1069
-msgid "Close focused track\tShift+C"
-msgstr "Закрити активну доріжку\tShift+C"
+msgid "Decrease output gain"
+msgstr "Зменшити підсилення на виході"
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr "Скоригувати підсилення на вході"
 
 #: Menus.cpp:1071
-msgid "Snap To On"
-msgstr "Прив'язку увімкнено"
+msgid "Increase input gain"
+msgstr "Збільшити підсилення на вході"
 
 #: Menus.cpp:1072
-msgid "Snap To Off"
-msgstr "Прив'язку вимкнено"
+msgid "Decrease input gain"
+msgstr "Зменшити підсилення на вході"
 
-#: Menus.cpp:1073
-msgid "Full screen on/off\tF11"
-msgstr "Увімкнути/Вимкнути повноекранний режим\tF11"
+#: Menus.cpp:1074
+msgid "Adjust input source"
+msgstr "Скоригувати джерело вхідного сигналу"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: Menus.cpp:1155
+#: Menus.cpp:1161
 msgid "Open Recent"
 msgstr "Відкрити недавні"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1158
+#: Menus.cpp:1164
 msgid "Recent &Files"
 msgstr "Недавні &файли"
 
-#: Menus.cpp:1207
+#: Menus.cpp:1182
 #, c-format
 msgid "&Undo %s"
 msgstr "В&ернути \"%s\""
 
-#: Menus.cpp:1233
+#: Menus.cpp:1208
 msgid "Can't Undo"
 msgstr "Неможливо вернути"
 
-#: Menus.cpp:1242
+#: Menus.cpp:1217
 #, c-format
 msgid "&Redo %s"
 msgstr "Повт&орити \"%s\""
 
-#: Menus.cpp:1248
+#: Menus.cpp:1223
 msgid "Can't Redo"
 msgstr "Неможливо повторити"
 
-#: Menus.cpp:1863
+#: Menus.cpp:1858
 msgid "Sort By Time"
 msgstr "Впорядкувати за часом"
 
-#: Menus.cpp:1863
+#: Menus.cpp:1858
 msgid "Tracks sorted by time"
 msgstr "Доріжки впорядковані за часом"
 
-#: Menus.cpp:1889
+#: Menus.cpp:1884
 msgid "Sort By Name"
 msgstr "Впорядкувати за назвою"
 
-#: Menus.cpp:1889
+#: Menus.cpp:1884
 msgid "Tracks sorted by name"
 msgstr "Доріжки впорядковані за назвою"
 
-#: Menus.cpp:2040
+#: Menus.cpp:2035
 msgid "Set Left Selection Bound"
-msgstr "Встановити лівий обмежувач виділеної області"
+msgstr "Встановити лівий обмежувач вибраної області"
 
-#: Menus.cpp:2076
+#: Menus.cpp:2071
 msgid "Set Right Selection Bound"
-msgstr "Встановити праву точку обмеження виділеного"
+msgstr "Встановити праву точку обмеження вибраного"
 
-#: Menus.cpp:2346
+#: Menus.cpp:2396
 msgid "You must select a track first."
-msgstr "Спочатку виділіть доріжку."
+msgstr "Спочатку виберіть доріжку."
 
-#: Menus.cpp:2381
+#: Menus.cpp:2431
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Повторити %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Повторити %s"
 
-#: Menus.cpp:2524
+#: Menus.cpp:2572
 msgid "There are no label tracks to export."
 msgstr "Немає доріжок з позначками для експорту."
 
-#: Menus.cpp:2619
+#: Menus.cpp:2667
 msgid "Export MIDI As:"
 msgstr "Експортувати MIDI як:"
 
-#: Menus.cpp:2623
+#: Menus.cpp:2671
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
 msgstr "Файл MIDI (*.mid)|*.mid|Файл Allegro (*.gro)|*.gro"
 
-#: Menus.cpp:2655
+#: Menus.cpp:2703
 msgid ""
 "You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
@@ -2834,222 +2877,212 @@ msgstr ""
 "Ви обрали назву файла з незрозумілим програмі суфіксом.\n"
 "Бажаєте продовжити?"
 
-#: Menus.cpp:2656
+#: Menus.cpp:2704
 msgid "Export MIDI"
 msgstr "Експортувати до MIDI"
 
-#: Menus.cpp:2726
+#: Menus.cpp:2782
 msgid "Nothing to undo"
 msgstr "Немає що скасувати"
 
-#: Menus.cpp:2746
+#: Menus.cpp:2803
 msgid "Nothing to redo"
 msgstr "Немає що повторити"
 
-#: Menus.cpp:2851 TrackPanel.cpp:593 toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2910 TrackPanel.cpp:653 toolbars/EditToolBar.cpp:130
+#: toolbars/EditToolBar.cpp:190
 msgid "Cut"
 msgstr "Вирізати"
 
-#: Menus.cpp:2851
+#: Menus.cpp:2910
 msgid "Cut to the clipboard"
 msgstr "Вирізати у буфер"
 
-#: Menus.cpp:2891
+#: Menus.cpp:2949
 msgid "Split Cut"
 msgstr "Вирізати без з'єднання"
 
-#: Menus.cpp:2891
+#: Menus.cpp:2949
 msgid "Split-cut to the clipboard"
 msgstr "Вирізати без склеювання у буфер"
 
-#: Menus.cpp:2956 Menus.cpp:3028 Menus.cpp:3220 TrackPanel.cpp:595
-#: toolbars/EditToolBar.cpp:137
+#: Menus.cpp:3015 Menus.cpp:3080 Menus.cpp:3161 Menus.cpp:3360
+#: TrackPanel.cpp:655 toolbars/EditToolBar.cpp:134
+#: toolbars/EditToolBar.cpp:192
 msgid "Paste"
 msgstr "Вставити"
 
-#: Menus.cpp:2956
+#: Menus.cpp:3015
 msgid "Pasted text from the clipboard"
 msgstr "Текст вставлений з буферу обміну"
 
-#: Menus.cpp:3028 Menus.cpp:3220
+#: Menus.cpp:3080 Menus.cpp:3161 Menus.cpp:3360
 msgid "Pasted from the clipboard"
 msgstr "Вставка з буферу"
 
-#: Menus.cpp:3094
+#: Menus.cpp:3229
 msgid "Pasting one type of track into another is not allowed."
-msgstr "Вставка фрагментів доріжок одного типу до доріжок іншого є неприпустимою."
+msgstr ""
+"Вставка фрагментів доріжок одного типу до доріжок іншого є неприпустимою."
 
-#: Menus.cpp:3106
+#: Menus.cpp:3241
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Копіювання стерео-звуку у моно-доріжку неприпустиме."
 
-#: Menus.cpp:3256 toolbars/EditToolBar.cpp:139
+#: Menus.cpp:3396 toolbars/EditToolBar.cpp:193
 msgid "Trim"
 msgstr "Обрізати"
 
-#: Menus.cpp:3256
+#: Menus.cpp:3396
 msgid "Trim file to selection"
-msgstr "Залишити у файлі лише виділене"
+msgstr "Залишити у файлі лише вибране"
 
-#: Menus.cpp:3285
+#: Menus.cpp:3425
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
 msgstr "Вилучено розділенням %.2f секунд починаючи з t=%.2f"
 
-#: Menus.cpp:3288
+#: Menus.cpp:3428
 msgid "Split Delete"
 msgstr "Розділити вилученням"
 
-#: Menus.cpp:3309
+#: Menus.cpp:3449
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
 msgstr "Роз'єднано %.2f секунд з часу t=%.2f"
 
-#: Menus.cpp:3312
+#: Menus.cpp:3452
 msgid "Disjoin"
 msgstr "Роз'єднати"
 
-#: Menus.cpp:3333
+#: Menus.cpp:3473
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
 msgstr "З'єднано %.2f секунд з часу t=%.2f"
 
-#: Menus.cpp:3336
+#: Menus.cpp:3476
 msgid "Join"
 msgstr "З'єднати"
 
-#: Menus.cpp:3355
+#: Menus.cpp:3495
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
-msgstr "У виділені доріжки записано %.2f секунд тиші з %.2f"
+msgstr "У вибраній ділянці доріжки записано %.2f секунд тиші з %.2f"
 
-#: Menus.cpp:3357 toolbars/EditToolBar.cpp:141
+#: Menus.cpp:3497 toolbars/EditToolBar.cpp:194
 msgid "Silence"
 msgstr "Створити тишу"
 
-#: Menus.cpp:3391
+#: Menus.cpp:3527
 msgid "Duplicate"
 msgstr "Дублювати"
 
-#: Menus.cpp:3391
+#: Menus.cpp:3527
 msgid "Duplicated"
 msgstr "Продубльовано"
 
-#: Menus.cpp:3410
+#: Menus.cpp:3546
 msgid "Cut Labels"
 msgstr "Вирізати позначки"
 
-#: Menus.cpp:3410
+#: Menus.cpp:3546
 msgid "Cut labeled regions to the clipboard"
 msgstr "Вирізати позначені області до буферу"
 
-#: Menus.cpp:3424
+#: Menus.cpp:3560
 msgid "SplitCut labeled regions to the clipboard"
 msgstr "Вирізати без склеювання позначені області у буфер"
 
-#: Menus.cpp:3425
+#: Menus.cpp:3561
 msgid "Split Cut Labels"
 msgstr "Розділити вирізанням за позначками"
 
-#: Menus.cpp:3439
+#: Menus.cpp:3575
 msgid "Copied labeled regions to the clipboard"
 msgstr "Копіювання позначених областей у буфер"
 
-#: Menus.cpp:3439
+#: Menus.cpp:3575
 msgid "Copy Labels"
 msgstr "Копіювати позначки"
 
-#: Menus.cpp:3451
+#: Menus.cpp:3587
 msgid "Delete Labels"
 msgstr "Вилучити позначки"
 
-#: Menus.cpp:3451
+#: Menus.cpp:3587
 msgid "Deleted labeled regions"
 msgstr "Вилучені позначені області"
 
-#: Menus.cpp:3463
+#: Menus.cpp:3599
 msgid "Split Delete Labels"
 msgstr "Розділити визначенням за позначками"
 
-#: Menus.cpp:3463
+#: Menus.cpp:3599
 msgid "Split Deleted labeled regions"
 msgstr "Вилучені розділенням позначені області"
 
-#: Menus.cpp:3475
+#: Menus.cpp:3611
 msgid "Silence Labels"
 msgstr "Заповнити тишею позначені області"
 
-#: Menus.cpp:3475
+#: Menus.cpp:3611
 msgid "Silenced labeled regions"
 msgstr "Заповнені тишею позначені області"
 
-#: Menus.cpp:3487
+#: Menus.cpp:3623
 msgid "Split Labels"
 msgstr "Розділити за позначками"
 
-#: Menus.cpp:3487
+#: Menus.cpp:3623
 msgid "Split labeled regions"
 msgstr "Відокремити позначені області"
 
-#: Menus.cpp:3499
+#: Menus.cpp:3635
 msgid "Join Labels"
 msgstr "З'єднати позначки"
 
-#: Menus.cpp:3499
+#: Menus.cpp:3635
 msgid "Joined labeled regions"
 msgstr "З'єднати позначені області"
 
-#: Menus.cpp:3511
+#: Menus.cpp:3647
 msgid "Disjoin Labels"
 msgstr "Роз'єднати позначки"
 
-#: Menus.cpp:3511
+#: Menus.cpp:3647
 msgid "Disjoined labeled regions"
 msgstr "Від'єднані позначені області"
 
-#: Menus.cpp:3533 TrackPanel.cpp:6173
+#: Menus.cpp:3669 TrackPanel.cpp:6255
 msgid "Split"
 msgstr "Розділити"
 
-#: Menus.cpp:3627
+#: Menus.cpp:3758
 msgid "Split New"
 msgstr "Відокремити у нову доріжку"
 
-#: Menus.cpp:3627
+#: Menus.cpp:3758
 msgid "Split to new track"
 msgstr "Відокремити у нову доріжку"
 
-#: Menus.cpp:3710
+#: Menus.cpp:3840
 msgid "Split at labels"
 msgstr "Розділити за позначками"
 
-#: Menus.cpp:4011
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Для побудови спектрограми, усі вибрані доріжки повинні мати однакову частоту."
-
-#: Menus.cpp:4037
-#, c-format
-msgid ""
-"Too much audio was selected.  Only the first %.1f seconds of audio will be "
-"analyzed."
-msgstr ""
-"Виділено надто велику звукову ділянку. Будуть проаналізовані лише перші %.1f "
-"секунд звуку."
-
-#: Menus.cpp:4180
+#: Menus.cpp:4254
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "Імпортовано позначки з файла '%s'"
 
-#: Menus.cpp:4181
+#: Menus.cpp:4255
 msgid "Import Labels"
 msgstr "Імпорт позначок"
 
-#: Menus.cpp:4192
+#: Menus.cpp:4266
 msgid "Select a MIDI file..."
 msgstr "Вибрати MIDI-файл..."
 
-#: Menus.cpp:4196
+#: Menus.cpp:4270
 msgid ""
 "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*."
 "mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
@@ -3057,187 +3090,188 @@ msgstr ""
 "Файли MIDI і Allegro (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|Файли MIDI (*."
 "mid;*.midi)|*.mid;*.midi|Файл Allegro (*.gro)|*.gro|Всі файли (*.*)|*.*"
 
-#: Menus.cpp:4212
+#: Menus.cpp:4286
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "Імпортовано MIDI-файл з '%s'"
 
-#: Menus.cpp:4213
+#: Menus.cpp:4287
 msgid "Import MIDI"
 msgstr "Імпорт MIDI-файла"
 
-#: Menus.cpp:4227
+#: Menus.cpp:4301
 msgid "Select any uncompressed audio file..."
 msgstr "Виберіть будь-який нестиснений звуковий файл..."
 
-#: Menus.cpp:4231
+#: Menus.cpp:4305
 msgid "All files (*)|*"
 msgstr "Усі файли (*)|*"
 
-#: Menus.cpp:4255
+#: Menus.cpp:4329
 msgid "Edit the metadata tags"
 msgstr "Редагувати мітки метаданих"
 
-#: Menus.cpp:4256 export/Export.cpp:349
+#: Menus.cpp:4330 export/Export.cpp:348
 msgid "Edit Metadata"
 msgstr "Редагувати метадані"
 
-#: Menus.cpp:4256
+#: Menus.cpp:4330
 msgid "Edit Metadata tags"
 msgstr "Редагувати мітки метаданих"
 
-#: Menus.cpp:4312
+#: Menus.cpp:4385
 #, c-format
 msgid "Rendered all audio in track '%s'"
-msgstr "Відображено всю аудіо-інформацію у доріжці '%s'"
+msgstr "Відображено всю аудіоінформацію у доріжці '%s'"
 
-#: Menus.cpp:4313
+#: Menus.cpp:4386
 msgid "Render"
 msgstr "Відобразити"
 
-#: Menus.cpp:4318
+#: Menus.cpp:4391
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
 msgstr "Змікшовано та перетворено %d доріжок у одну нову стерео доріжку"
 
-#: Menus.cpp:4321
+#: Menus.cpp:4394
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Змікшовано та перетворено %d доріжок у одну моно доріжку"
 
-#: Menus.cpp:4323 Mix.cpp:121
+#: Menus.cpp:4396 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Мікшувати і перетворити"
 
-#: Menus.cpp:4453
+#: Menus.cpp:4528
 msgid "Aligned with zero"
 msgstr "Вирівняно до нуля"
 
-#: Menus.cpp:4457
+#: Menus.cpp:4532
 msgid "Aligned cursor"
 msgstr "Вирівняно до курсора"
 
-#: Menus.cpp:4461
+#: Menus.cpp:4536
 msgid "Aligned with selection start"
-msgstr "Вирівняти до початку виділеної ділянки"
+msgstr "Вирівняти до початку вибраної ділянки"
 
-#: Menus.cpp:4465
+#: Menus.cpp:4540
 msgid "Aligned with selection end"
-msgstr "Вирівняти до кінця виділеної ділянки"
+msgstr "Вирівняти до кінця вибраної ділянки"
 
-#: Menus.cpp:4469
+#: Menus.cpp:4544
 msgid "Aligned end with cursor"
 msgstr "Встановлено закінчення на позицію курсора"
 
-#: Menus.cpp:4473
+#: Menus.cpp:4548
 msgid "Aligned end with selection start"
-msgstr "Вирівняно закінчення до початку виділеної ділянки"
+msgstr "Вирівняно закінчення до початку вибраної ділянки"
 
-#: Menus.cpp:4477
+#: Menus.cpp:4552
 msgid "Aligned end with selection end"
-msgstr "Встановлено закінчення на кінець виділеної ділянки"
+msgstr "Встановлено закінчення на кінець вибраної ділянки"
 
-#: Menus.cpp:4481
+#: Menus.cpp:4556
 msgid "Aligned"
 msgstr "Доріжки вирівняні"
 
-#: Menus.cpp:4514
+#: Menus.cpp:4589
 msgid "Align"
 msgstr "Вирівняти"
 
-#: Menus.cpp:4599
+#: Menus.cpp:4675
 msgid "Sync MIDI with Audio"
 msgstr "Синхронізувати MIDI зі звуком"
 
-#: Menus.cpp:4603
+#: Menus.cpp:4679
 msgid "Alignment completed."
 msgstr "Вирівнювання завершено."
 
-#: Menus.cpp:4614
+#: Menus.cpp:4690
 msgid "Created new audio track"
 msgstr "Створено нову звукову доріжку"
 
-#: Menus.cpp:4614 Menus.cpp:4637 Menus.cpp:4652 Menus.cpp:4672
+#: Menus.cpp:4690 Menus.cpp:4712 Menus.cpp:4727 Menus.cpp:4747
 msgid "New Track"
 msgstr "Нова доріжка"
 
-#: Menus.cpp:4637
+#: Menus.cpp:4712
 msgid "Created new stereo audio track"
 msgstr "Створено нову стерео-доріжку"
 
-#: Menus.cpp:4652
+#: Menus.cpp:4727
 msgid "Created new label track"
 msgstr "Створено нову доріжку для позначок"
 
-#: Menus.cpp:4661
-msgid "The version of Audacity you are using does not support multiple time tracks."
+#: Menus.cpp:4736
+msgid ""
+"The version of Audacity you are using does not support multiple time tracks."
 msgstr ""
 "Запущена версія Audacity не може використовувати декілька доріжок у одному "
 "проекті."
 
-#: Menus.cpp:4672
+#: Menus.cpp:4747
 msgid "Created new time track"
 msgstr "Створено нову доріжку часу"
 
-#: Menus.cpp:4727
+#: Menus.cpp:4807
 msgid "Added label"
 msgstr "Позначка додана"
 
-#: Menus.cpp:4762
+#: Menus.cpp:4842
 msgid "Edited labels"
 msgstr "Змінені позначки"
 
-#: Menus.cpp:4789
+#: Menus.cpp:4869
 msgid "Save CleanSpeech Preset File As:"
 msgstr "Зберегти файл шаблону CleanSpeech як:"
 
-#: Menus.cpp:4793
+#: Menus.cpp:4873
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Шаблони CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4800 export/Export.cpp:611
+#: Menus.cpp:4880 export/Export.cpp:610
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Шляхи, що містять більш ніж 256 символів, не підтримуються."
 
-#: Menus.cpp:4846
+#: Menus.cpp:4926
 msgid "Problem encountered exporting presets."
 msgstr "Помилка при експорті шаблонів."
 
-#: Menus.cpp:4847 export/Export.cpp:473
+#: Menus.cpp:4927 export/Export.cpp:472
 msgid "Unable to export"
 msgstr "Неможливо експортувати"
 
-#: Menus.cpp:5031
+#: Menus.cpp:5110
 msgid "Remove Track"
 msgstr "Вилучити доріжку"
 
-#: Menus.cpp:5031
+#: Menus.cpp:5110
 msgid "Removed audio track(s)"
 msgstr "Доріжку(и) вилучено"
 
-#: Menus.cpp:5188 Menus.cpp:5243 export/ExportFFmpeg.cpp:715
-#: export/ExportMP3.cpp:1780
+#: Menus.cpp:5266 Menus.cpp:5322 export/ExportFFmpeg.cpp:756
+#: export/ExportMP3.cpp:1785
 msgid "Resample"
 msgstr "Змінити частоту"
 
-#: Menus.cpp:5208 TrackPanel.cpp:6400
+#: Menus.cpp:5287 TrackPanel.cpp:6479 toolbars/MixerToolBar.cpp:314
 msgid "New sample rate (Hz):"
 msgstr "Нова частота дискретизації (Гц):"
 
-#: Menus.cpp:5232 TrackPanel.cpp:6424
+#: Menus.cpp:5311 TrackPanel.cpp:6503
 msgid "The entered value is invalid"
 msgstr "Введене значення є некоректним"
 
-#: Menus.cpp:5241
+#: Menus.cpp:5320
 #, c-format
 msgid "Resampling track %d"
 msgstr "Зміна частоти доріжки %d"
 
-#: Menus.cpp:5250
+#: Menus.cpp:5329
 msgid "Resample Track"
 msgstr "Змінити частоту дискретизації"
 
-#: Menus.cpp:5250
+#: Menus.cpp:5329
 msgid "Resampled audio track(s)"
 msgstr "Звукові доріжки зі зміненою частотою"
 
@@ -3245,7 +3279,7 @@ msgstr "Звукові доріжки зі зміненою частотою"
 msgid "Mix"
 msgstr "Мікшер"
 
-#: Mix.cpp:122
+#: Mix.cpp:121
 msgid "Mixing and rendering tracks"
 msgstr "Мікшування та зведення доріжок"
 
@@ -3253,40 +3287,44 @@ msgstr "Мікшування та зведення доріжок"
 msgid "Note Track"
 msgstr "Доріжка приміток"
 
-#: Printing.cpp:192
+#: Printing.cpp:160
 msgid "There was a problem printing."
 msgstr "Виникла проблема при друкуванні."
 
-#: Printing.cpp:193
+#: Printing.cpp:161
 msgid "Print"
 msgstr "Друк"
 
-#: Project.cpp:710
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr "Повторити попередній ефект"
+
+#: Project.cpp:774
 msgid "Main Mix"
 msgstr "Головний мікшер"
 
-#: Project.cpp:834
+#: Project.cpp:892
 #, c-format
 msgid "Welcome to Audacity version %s"
 msgstr "Ласкаво просимо до Audacity версії %s"
 
-#: Project.cpp:994
+#: Project.cpp:1047
 msgid "(Recovered)"
 msgstr "(Відновлено)"
 
-#: Project.cpp:1583 TrackPanel.cpp:793 toolbars/ControlToolBar.cpp:192
+#: Project.cpp:1689 TrackPanel.cpp:840 toolbars/ControlToolBar.cpp:187
 msgid "Record"
 msgstr "Записати"
 
-#: Project.cpp:1583 TrackPanel.cpp:793
+#: Project.cpp:1689 TrackPanel.cpp:840
 msgid "Recorded Audio"
 msgstr "Записано звук"
 
-#: Project.cpp:1601
+#: Project.cpp:1707
 msgid "Save changes before closing?"
 msgstr "Зберегти зміни перед закриттям?"
 
-#: Project.cpp:1604
+#: Project.cpp:1710
 msgid ""
 "\n"
 "If saved, the project will have no tracks.\n"
@@ -3303,23 +3341,23 @@ msgstr ""
 "доки всі доріжки не буде відкрито, а потім виберіть\n"
 "Файл > Зберегти проект."
 
-#: Project.cpp:1607
+#: Project.cpp:1713
 msgid "Save changes?"
 msgstr "Зберегти зміни?"
 
-#: Project.cpp:1812
-msgid "All files|*.*|All supported files|"
-msgstr "Всі файли|*.*|Всі файли, що підтримуються|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr "Всі файли|*|Всі файли, що підтримуються|"
 
-#: Project.cpp:1842
+#: Project.cpp:1955
 msgid "Select one or more audio files..."
 msgstr "Виберіть один чи більше звукових файлів..."
 
-#: Project.cpp:1869
+#: Project.cpp:1982
 msgid "Audacity projects|*.aup|"
 msgstr "Проекти Audacity|*.aup|"
 
-#: Project.cpp:1928 Project.cpp:2350
+#: Project.cpp:2042 Project.cpp:2477
 #, c-format
 msgid ""
 "This file was saved by Audacity %s, a much\n"
@@ -3339,19 +3377,36 @@ msgstr ""
 "Все одно бажаєте відкрити цей файл\n"
 "зараз же?"
 
-#: Project.cpp:1929
+#: Project.cpp:2043
 msgid "1.0 or earlier"
 msgstr "1.0 або ранішою"
 
-#: Project.cpp:1935 Project.cpp:2362
+#: Project.cpp:2049 Project.cpp:2489
 msgid "Opening old project file"
 msgstr "Відкриття старого файла проекту"
 
-#: Project.cpp:1961 Project.cpp:1969
+#: Project.cpp:2073
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"Ви намагаєтеся відкрити файл резервної копії, створений у автоматичному "
+"режимі.\n"
+"Подібна дія може призвести до критичної втрати даних.\n"
+"\n"
+"Будь ласка, спробуйте відкрити справжній файл проекту Audacity."
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr "Виявлено файл резервної копії"
+
+#: Project.cpp:2088 Project.cpp:2096 xml/XMLWriter.cpp:306
 msgid "Error opening file"
 msgstr "Помилка під час відкриття файла"
 
-#: Project.cpp:1975
+#: Project.cpp:2102
 #, c-format
 msgid ""
 "File may be invalid or corrupted: \n"
@@ -3360,11 +3415,11 @@ msgstr ""
 "Можливо файл є некоректним або пошкодженим: \n"
 "%s"
 
-#: Project.cpp:1976
+#: Project.cpp:2103
 msgid "Error opening file or project"
 msgstr "Помилка під час відкриття файла або проекту"
 
-#: Project.cpp:1996
+#: Project.cpp:2123
 msgid ""
 "Audacity was unable to convert an Audacity 1.0 project to the new project "
 "format."
@@ -3372,32 +3427,32 @@ msgstr ""
 "Audacity не вдається перетворити проект формату Audacity 1.0 у проект нового "
 "формату."
 
-#: Project.cpp:2099
+#: Project.cpp:2230
 msgid "Could not remove old auto save file"
 msgstr "Неможливо вилучити старий файл автозбереження"
 
-#: Project.cpp:2101
+#: Project.cpp:2232
 msgid "Project was recovered"
 msgstr "Проект було відновлено"
 
-#: Project.cpp:2101
+#: Project.cpp:2232
 msgid "Recover"
 msgstr "Відновити"
 
-#: Project.cpp:2130
+#: Project.cpp:2261
 msgid "Project checker repaired file"
 msgstr "Файл відновлений при перевірці проекту"
 
-#: Project.cpp:2130 effects/Repair.h:29
+#: Project.cpp:2261 effects/Repair.h:29
 msgid "Repair"
 msgstr "Відновити"
 
-#: Project.cpp:2276
+#: Project.cpp:2402
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "Не вдається знайти теку з даними проекту: \"%s\""
 
-#: Project.cpp:2319
+#: Project.cpp:2446
 #, c-format
 msgid ""
 "This file was saved using Audacity %s.\n"
@@ -3408,27 +3463,30 @@ msgstr ""
 "Ви використовуєте Audacity версії %s. Щоб відкрити цей файл\n"
 "слід оновити  версію програми."
 
-#: Project.cpp:2323
+#: Project.cpp:2450
 msgid "Can't open project file"
 msgstr "Не вдається відкрити файл проекту"
 
-#: Project.cpp:2357
+#: Project.cpp:2484
 #, c-format
 msgid ""
 "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with "
-"this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
-"Цей файл було збережено за допомогою Audacity версії %s.\n"
-"Ви можете відкрити цей файл цією версією Audacity, але, якщо ви його "
-"збережете у цій версії, ви більше не зможете відкривати його за допомогою "
-"старішої версії.\n"
+"Цей файл було збережено у Audacity %s.\n"
+"\n"
+"Audacity може відкрити і зберегти цей файл, але збереження файла у цій "
+"версії\n"
+"призведе до втрати можливості відкрити файл у 1.2 та попередніх версіях "
+"програми.\n"
 "\n"
 "Відкрити цей файл?"
 
-#: Project.cpp:2537
+#: Project.cpp:2682
 msgid ""
 "Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
@@ -3449,50 +3507,56 @@ msgstr ""
 "\n"
 "Все одно зберегти?"
 
-#: Project.cpp:2538
+#: Project.cpp:2683
 msgid "Warning empty project"
 msgstr "Попередження про порожній проект"
 
-#: Project.cpp:2647
+#: Project.cpp:2792
 #, c-format
 msgid ""
 "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 "Не вдається зберегти проект. Можливо, відсутні права запису на %s,\n"
 "або не вистачає вільного простору на диску."
 
-#: Project.cpp:2649 Project.cpp:2664
+#: Project.cpp:2794 Project.cpp:2820
 msgid "Error saving project"
 msgstr "Помилка під час спроби збереження файла проекту"
 
-#: Project.cpp:2732
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "Не вдалося виконати запис до файла «%s»: %s"
+
+#: Project.cpp:2898
 #, c-format
 msgid "Saved %s"
 msgstr "Збережено %s"
 
-#: Project.cpp:2853
+#: Project.cpp:3051
 #, c-format
 msgid "Imported '%s'"
 msgstr "Імпортовано файл '%s'"
 
-#: Project.cpp:2854
+#: Project.cpp:3052
 msgid "Import"
 msgstr "Імпорт"
 
-#: Project.cpp:2887 Project.cpp:2895
+#: Project.cpp:3087
 msgid "Error importing"
 msgstr "Помилка при імпортуванні"
 
-#: Project.cpp:2929
+#: Project.cpp:3134
 msgid "Save Speech As:"
 msgstr "Зберегти промову як:"
 
-#: Project.cpp:2931
+#: Project.cpp:3136
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Файл звуку Windows PCM (*.wav)|*.wav"
 
-#: Project.cpp:2938
+#: Project.cpp:3143
 msgid ""
 "Audacity compressed project files (.aup) save your work in a smaller, "
 "compressed (.ogg) format. \n"
@@ -3506,15 +3570,18 @@ msgid ""
 "one of the\n"
 "Export commands."
 msgstr ""
-"За допомогою проектів Audacity (.aup) ви можете зберегти звук у менших, стиснутих у форматі (.ogg) файлах.\n"
-"Стиснути файли проектів придатні для поширення ваших проектів мережею через свій менший розмір.\n"
-"Процес відкриття стиснутого проекту триватиме довше ніж звичайно, оскільки імпортуватиметься кожна зі стиснутих доріжок.\n"
+"За допомогою проектів Audacity (.aup) ви можете зберегти звук у менших, "
+"стиснутих у форматі (.ogg) файлах.\n"
+"Стиснути файли проектів придатні для поширення ваших проектів мережею через "
+"свій менший розмір.\n"
+"Процес відкриття стиснутого проекту триватиме довше ніж звичайно, оскільки "
+"імпортуватиметься кожна зі стиснутих доріжок.\n"
 "\n"
 "Більшість інших програм не здатні відкривати файли проектів Audacity.\n"
 "Якщо ви бажаєте зберегти результат роботи у файл, який підтримується іншими\n"
 "програмами, використовуйте команду \"Експорт\"."
 
-#: Project.cpp:2941
+#: Project.cpp:3146
 msgid ""
 "You are saving an Audacity project file (.aup).\n"
 "\n"
@@ -3525,147 +3592,318 @@ msgid ""
 msgstr ""
 "Ви маєте намір зберегти файл проекту Audacity (.aup).\n"
 "\n"
-"Після зберігання проекту буде створено файл, який може бути завантажено лише у програмі Audacity.\n"
+"Після зберігання проекту буде створено файл, який може бути завантажено лише "
+"у програмі Audacity.\n"
 "\n"
-"Для того, щоб створити звуковий файл, який можна буде використовувати у інших програмах, скористайтеся пунктом меню «Файл > Експорт».\n"
+"Для того, щоб створити звуковий файл, який можна буде використовувати у "
+"інших програмах, скористайтеся пунктом меню «Файл > Експорт».\n"
 
-#: Project.cpp:2945
+#: Project.cpp:3150
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Проекти Audacity (*.aup)|*.aup"
 
-#: Project.cpp:2999
+#: Project.cpp:3199
 msgid "Created new project"
 msgstr "Створено новий проект"
 
-#: Project.cpp:3158
+#: Project.cpp:3341
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Вилучено %.2f секунд починаючи з t=%.2f"
 
-#: Project.cpp:3161 effects/Equalization.cpp:1276
-#: effects/Equalization.cpp:2607
+#: Project.cpp:3344 effects/Equalization.cpp:1298
+#: effects/Equalization.cpp:2648
 msgid "Delete"
 msgstr "Вилучити"
 
-#: Project.cpp:3355
+#: Project.cpp:3538
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
 msgstr "Простір диску, що залишився для запису, %d годин та %d хвилин."
 
-#: Project.cpp:3358
+#: Project.cpp:3541
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
 msgstr "Простір диску, що залишився для запису, 1 година та %d хвилин."
 
-#: Project.cpp:3361
+#: Project.cpp:3544
 #, c-format
 msgid "Disk space remains for recording %d minutes."
 msgstr "Простір диску, що залишився для запису, %d хвилин."
 
-#: Project.cpp:3364
+#: Project.cpp:3547
 #, c-format
 msgid "Disk space remains for recording %d seconds."
 msgstr "Простір диску, що залишився для запису, %d секунд."
 
-#: Project.cpp:3367
+#: Project.cpp:3550
 msgid "Out of disk space"
 msgstr "Скінчився вільний простір на диску"
 
-#: Project.cpp:3380
+#: Project.cpp:3563
 #, c-format
 msgid ""
 "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f"
 "%% complete."
 msgstr ""
-"Імпортування завершено. Виконується %d поточних обчислень форми хвилі. Виконано %2.0f"
-"%%."
+"Імпортування завершено. Виконується %d поточних обчислень форми хвилі. "
+"Виконано %2.0f%%."
 
-#: Project.cpp:3383
+#: Project.cpp:3566
 #, c-format
-msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
+msgid ""
+"Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
 msgstr ""
-"Імпортування завершено. Виконується поточне обчислення форми хвилі. Виконано %2.0f"
-"%%."
+"Імпортування завершено. Виконується поточне обчислення форми хвилі. Виконано "
+"%2.0f%%."
 
-#: Project.cpp:3661
+#: Project.cpp:3850
 msgid "Could not remove old autosave file: "
 msgstr "Неможливо вилучити старий файл автозбереження: "
 
-#: Project.cpp:3702
+#: Project.cpp:3891
 msgid "New Project"
 msgstr "Створити проект"
 
-#: Project.cpp:3715
+#: Project.cpp:3921
 msgid "Error writing autosave file"
 msgstr "Помилка під час запису файла автозбереження"
 
-#: Project.cpp:3740
+#: Project.cpp:3936
 msgid "Could not create autosave file: "
 msgstr "Неможливо створити файл автозбереження: "
 
-#: Project.cpp:3766
+#: Project.cpp:3962
 #, c-format
 msgid "Actual Rate: %d"
 msgstr "Фактична частота %d"
 
-#: Resample.cpp:42
+#: Resample.cpp:62
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
 msgstr "Libresample - Домінік Маццоні та Юліус Сміт"
 
-#: Resample.cpp:53
+#: Resample.cpp:73
 msgid "High-quality Sinc Interpolation"
 msgstr "Високоякісна синхронна інтерполяція"
 
-#: Resample.cpp:55
+#: Resample.cpp:75
 msgid "Fast Sinc Interpolation"
 msgstr "Швидка синхронна інтерполяція"
 
-#: Resample.cpp:125
+#: Resample.cpp:141
 msgid "Libsamplerate by Erik de Castro Lopo"
 msgstr "Libresample - Erik de Castro Lopo"
 
-#: Resample.cpp:218
+#: Resample.cpp:230
 #, c-format
 msgid "Libsamplerate error: %d\n"
 msgstr "Помилка libsamplerate: %d\n"
 
-#: Resample.cpp:240 Resample.cpp:250
+#: Resample.cpp:252 Resample.cpp:262
 msgid "Resampling disabled."
 msgstr "Зміна частоти дискретизації вимкнено."
 
-#. i18n-hint: Audio data bit depth (precison): 16-bit integers
+#. i18n-hint: Audio data bit depth (precision): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
 msgstr "16-бітовий PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 24-bit integers
+#. i18n-hint: Audio data bit depth (precision): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
 msgstr "24-бітовий PCM"
 
-#. i18n-hint: Audio data bit depth (precison): 32-bit floating point
+#. i18n-hint: Audio data bit depth (precision): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
 msgstr "32-бітовий float"
 
-#: Screenshot.cpp:384
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "Оболонка створення знімків екрана"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "Оберіть адресу для зберігання файлів"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "Зберігати зображення до:"
+
+#: Screenshot.cpp:328 export/ExportMultiple.cpp:242
+#: prefs/DirectoriesPrefs.cpp:94
+msgid "Choose..."
+msgstr "Вибрати..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "Створити знімок всього вікна або екрана"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "Масштабувати мале"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "Масштабувати велике"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "Синє тло"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "Біле тло"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "Створити знімок лише вікна"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "Створити знімок всього вікна"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "Створити знімок вікна і"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "Створити знімок всього екрана"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "Чекати 5 секунд і зняти верхнє вікно"
+
+#: Screenshot.cpp:369 effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "ні"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "Створити знімок частини вікна проекту"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "Всі панелі інструментів"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "Панель вибору"
+
+#: Screenshot.cpp:381 toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Інструменти"
+
+#: Screenshot.cpp:382 effects/Contrast.cpp:410 toolbars/ControlToolBar.cpp:83
+#: toolbars/ControlToolBar.cpp:243
+msgid "Control"
+msgstr "Контроль"
+
+#: Screenshot.cpp:388 effects/LoadEffects.cpp:114 toolbars/MixerToolBar.cpp:59
+#: toolbars/MixerToolBar.cpp:240
+msgid "Mixer"
+msgstr "Мікшер"
+
+#: Screenshot.cpp:389 toolbars/MeterToolBar.cpp:50
+#: toolbars/MeterToolBar.cpp:114
+msgid "Meter"
+msgstr "Індикатор"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "Змінити"
+
+#: Screenshot.cpp:391 prefs/DevicePrefs.cpp:133 prefs/DevicePrefs.cpp:146
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:132
+#: toolbars/DeviceToolBar.cpp:57 toolbars/DeviceToolBar.cpp:196
+msgid "Device"
+msgstr "Пристрій"
+
+#: Screenshot.cpp:392 toolbars/TranscriptionToolBar.cpp:84
+#: toolbars/TranscriptionToolBar.cpp:252
+msgid "Transcription"
+msgstr "Перезапис"
+
+#: Screenshot.cpp:398 TrackPanel.cpp:443 TrackPanel.cpp:444
+msgid "Track Panel"
+msgstr "Панель доріжки"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "Лінійка"
+
+#: Screenshot.cpp:400 export/ExportMultiple.cpp:285
+#: export/ExportMultiple.cpp:287 prefs/TracksPrefs.cpp:31
+msgid "Tracks"
+msgstr "Доріжки"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "Перша доріжка"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "Друга доріжка"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "Масштаб"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "Одна секунда"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "Десять секунд"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "Одна хвилина"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "П’ять хвилин"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "Одна година"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "Низькі доріжки"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "Середні доріжки"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "Високі доріжки"
+
+#: Screenshot.cpp:599
 msgid "Saved "
 msgstr "Збережено "
 
-#: Screenshot.cpp:387
+#: Screenshot.cpp:602
 msgid "Error trying to save file: "
 msgstr "Помилка під час збереження файла: "
 
-#: Sequence.cpp:804 Sequence.cpp:814 Sequence.cpp:821
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "Оберіть адресу, за якою слід зберігати знімки"
+
+#: Sequence.cpp:799 Sequence.cpp:809 Sequence.cpp:816
 msgid "Gap detected in project file\n"
 msgstr "У файлі проекту виявлено прогалину\n"
 
-#: ShuttleGui.cpp:1972 effects/Effect.cpp:417
-#: effects/audiounits/AudioUnitEffect.cpp:877
+#: ShuttleGui.cpp:2034 effects/Effect.cpp:458
+#: effects/audiounits/AudioUnitEffect.cpp:851
 msgid "Pre&view"
 msgstr "&Прослухати"
 
-#: ShuttleGui.cpp:1979
+#: ShuttleGui.cpp:2041
 msgid "&Debug"
 msgstr "&Налагодження"
 
@@ -3685,110 +3923,116 @@ msgstr "&Ласкаво просимо до Audacity!"
 msgid "Don't show this again at start up"
 msgstr "Не показувати цього знову під час запуску"
 
-#: Tags.cpp:628
+#: Tags.cpp:629
 msgid "Artist Name"
 msgstr "Ім'я виконавця"
 
-#: Tags.cpp:629
+#: Tags.cpp:630
 msgid "Track Title"
 msgstr "Назва доріжки"
 
-#: Tags.cpp:630
+#: Tags.cpp:631
 msgid "Album Title"
 msgstr "Назва альбому"
 
-#: Tags.cpp:631
+#: Tags.cpp:632
 msgid "Track Number"
 msgstr "Номер доріжки"
 
-#: Tags.cpp:632
+#: Tags.cpp:633
 msgid "Year"
 msgstr "Рік"
 
-#: Tags.cpp:633
+#: Tags.cpp:634
 msgid "Genre"
 msgstr "Жанр"
 
-#: Tags.cpp:634 prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 prefs/MousePrefs.cpp:100
 msgid "Comments"
 msgstr "Коментарі"
 
-#: Tags.cpp:777
+#: Tags.cpp:788
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr "Скористайтеся клавішами зі стрілочками (або клавішею Enter після завершення редагування), щоб здійснювати навігацію полями."
+msgstr ""
+"Скористайтеся клавішами зі стрілочками (або клавішею Enter після завершення "
+"редагування), щоб здійснювати навігацію полями."
 
-#: Tags.cpp:800
+#: Tags.cpp:812
 msgid "Tag Name"
 msgstr "Поле"
 
-#: Tags.cpp:801
+#: Tags.cpp:813
 msgid "Tag Value"
 msgstr "Значення"
 
-#: Tags.cpp:816 prefs/KeyConfigPrefs.cpp:130
+#: Tags.cpp:828 prefs/KeyConfigPrefs.cpp:145 widgets/FileHistory.cpp:174
 msgid "&Clear"
 msgstr "&Очистити"
 
-#: Tags.cpp:822
+#: Tags.cpp:834
 msgid "Genres"
 msgstr "Жанри"
 
-#: Tags.cpp:826
+#: Tags.cpp:838
 msgid "E&dit..."
 msgstr "&Змінити..."
 
-#: Tags.cpp:827
+#: Tags.cpp:839
 msgid "Rese&t..."
 msgstr "С&кинути..."
 
-#: Tags.cpp:832
+#: Tags.cpp:844
 msgid "Template"
 msgstr "Шаблон"
 
-#: Tags.cpp:836 prefs/KeyConfigPrefs.cpp:142
+#: Tags.cpp:848 prefs/KeyConfigPrefs.cpp:155
 msgid "&Load..."
 msgstr "&Завантажити..."
 
-#: Tags.cpp:837 prefs/KeyConfigPrefs.cpp:141
+#: Tags.cpp:849 prefs/KeyConfigPrefs.cpp:156
 msgid "&Save..."
 msgstr "З&берегти..."
 
-#: Tags.cpp:839
+#: Tags.cpp:851
 msgid "S&et Default"
 msgstr "Зробити &типовими"
 
-#: Tags.cpp:989
+#: Tags.cpp:1001
 msgid "Edit Genres"
 msgstr "Редагувати жанри"
 
-#: Tags.cpp:1022 Tags.cpp:1034 Tags.cpp:1049 Tags.cpp:1062
+#: Tags.cpp:1034 Tags.cpp:1046 Tags.cpp:1061 Tags.cpp:1074
 msgid "Reset Genres"
 msgstr "Відновити жанри"
 
-#: Tags.cpp:1022 Tags.cpp:1062
+#: Tags.cpp:1034 Tags.cpp:1074
 msgid "Unable to save genre file."
 msgstr "Неможливо зберегти файл зі списком жанрів."
 
-#: Tags.cpp:1033
+#: Tags.cpp:1045
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Ви справді бажаєте відновити список жанрів до типового?"
 
-#: Tags.cpp:1049
+#: Tags.cpp:1061
 msgid "Unable to open genre file."
 msgstr "Неможливо відкрити файл зі списком жанрів."
 
-#: Tags.cpp:1084
+#: Tags.cpp:1096
 msgid "Load Metadata As:"
 msgstr "Завантажити метадані як:"
 
-#: Tags.cpp:1109
+#: Tags.cpp:1121
 msgid "Error loading metadata"
 msgstr "Помилка під час завантаження метаданих"
 
-#: Tags.cpp:1138
+#: Tags.cpp:1150
 msgid "Save Metadata As:"
 msgstr "Зберегти метадані як:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "Помилка під час спроби запису файла міток"
+
 #: Theme.cpp:638
 #, c-format
 msgid ""
@@ -3888,451 +4132,460 @@ msgstr ""
 "  %s\n"
 "вже були присутні."
 
-#: TimeDialog.cpp:53 TimeDialog.cpp:64 TimerRecordDialog.cpp:228
-#: TimerRecordDialog.cpp:355 TimerRecordDialog.cpp:359 effects/DtmfGen.cpp:481
-#: effects/Noise.cpp:243 effects/Noise.cpp:259 effects/ToneGen.cpp:323
-#: effects/ToneGen.cpp:335 effects/ToneGen.cpp:367 effects/ToneGen.cpp:379
+#: TimeDialog.cpp:53 TimeDialog.cpp:64 TimerRecordDialog.cpp:236
+#: TimerRecordDialog.cpp:367 TimerRecordDialog.cpp:371 effects/DtmfGen.cpp:446
+#: effects/Noise.cpp:191 effects/Noise.cpp:207 effects/ToneGen.cpp:279
+#: effects/ToneGen.cpp:291 effects/ToneGen.cpp:323 effects/ToneGen.cpp:335
 msgid "Duration"
 msgstr "Тривалість"
 
-#: TimerRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:69
 msgid "Audacity Timer Record"
 msgstr "Таймер запису Audacity"
 
-#: TimerRecordDialog.cpp:225
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "Тривалість є нульовою. Нічого не записано."
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "Помилка під час визначення тривалості"
+
+#: TimerRecordDialog.cpp:233
 msgid "Recording start"
 msgstr "Початок запису"
 
-#: TimerRecordDialog.cpp:226
+#: TimerRecordDialog.cpp:234
 msgid "Recording end"
 msgstr "Кінець запису"
 
-#: TimerRecordDialog.cpp:231
+#: TimerRecordDialog.cpp:239
 msgid "Audacity Timer Record Progress"
 msgstr "Поступ запису за таймером Audacity"
 
-#: TimerRecordDialog.cpp:317
+#: TimerRecordDialog.cpp:329
 msgid "Start Date and Time"
 msgstr "Дата та час початку"
 
-#: TimerRecordDialog.cpp:324
+#: TimerRecordDialog.cpp:336
 msgid "Start Date"
 msgstr "Дата початку"
 
-#: TimerRecordDialog.cpp:336
+#: TimerRecordDialog.cpp:348
 msgid "End Date and Time"
 msgstr "Дата і час кінця"
 
-#: TimerRecordDialog.cpp:344
+#: TimerRecordDialog.cpp:356
 msgid "End Date"
 msgstr "Дата закінчення"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: TimerRecordDialog.cpp:431
+#: TimerRecordDialog.cpp:443
 #, c-format
 msgid "Waiting to start recording at %s.\n"
 msgstr "Очікування на початок запису о %s.\n"
 
-#: TimerRecordDialog.cpp:432
+#: TimerRecordDialog.cpp:444
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr "Запис за таймером Audacity — Очікування початку"
 
-#: TrackPanel.cpp:454 TrackPanel.cpp:455
-msgid "Track Panel"
-msgstr "Панель доріжки"
-
-#: TrackPanel.cpp:538 prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:597 prefs/QualityPrefs.cpp:99
 msgid "Other..."
 msgstr "Інша..."
 
-#: TrackPanel.cpp:546 TrackPanel.cpp:568 TrackPanel.cpp:577 TrackPanel.cpp:585
-#: TrackPanel.cpp:5790
+#: TrackPanel.cpp:605 TrackPanel.cpp:628 TrackPanel.cpp:637 TrackPanel.cpp:645
 msgid "Name..."
 msgstr "Назва..."
 
-#: TrackPanel.cpp:548 TrackPanel.cpp:570 TrackPanel.cpp:581 TrackPanel.cpp:587
-#: TrackPanel.cpp:5794
+#: TrackPanel.cpp:607 TrackPanel.cpp:630 TrackPanel.cpp:641 TrackPanel.cpp:647
 msgid "Move Track Up"
 msgstr "Перемістити доріжку вгору"
 
-#: TrackPanel.cpp:549 TrackPanel.cpp:571 TrackPanel.cpp:582 TrackPanel.cpp:588
-#: TrackPanel.cpp:5795
+#: TrackPanel.cpp:608 TrackPanel.cpp:631 TrackPanel.cpp:642 TrackPanel.cpp:648
 msgid "Move Track Down"
 msgstr "Перемістити доріжку вниз"
 
-#: TrackPanel.cpp:551 effects/ToneGen.cpp:319 prefs/GUIPrefs.cpp:154
+#: TrackPanel.cpp:610 effects/ToneGen.cpp:275 prefs/TracksPrefs.cpp:56
 msgid "Waveform"
 msgstr "Хвиля"
 
-#: TrackPanel.cpp:552 prefs/GUIPrefs.cpp:155
+#: TrackPanel.cpp:611 prefs/TracksPrefs.cpp:57
 msgid "Waveform (dB)"
 msgstr "Хвиля (дБ)"
 
-#: TrackPanel.cpp:554 prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:613 prefs/TracksPrefs.cpp:59
 msgid "Spectrum log(f)"
 msgstr "Спектр ln(f)"
 
 #. i18n-hint: short form of 'logarithm'
-#: TrackPanel.cpp:555 prefs/GUIPrefs.cpp:158
+#: TrackPanel.cpp:614 prefs/TracksPrefs.cpp:60
 msgid "Pitch (EAC)"
 msgstr "Висота тону (EAC)"
 
-#: TrackPanel.cpp:557 TrackPanel.cpp:6135
+#: TrackPanel.cpp:616 TrackPanel.cpp:6198
 msgid "Mono"
 msgstr "Моно"
 
-#: TrackPanel.cpp:558 TrackPanel.cpp:6134
+#: TrackPanel.cpp:617 TrackPanel.cpp:6197
 msgid "Left Channel"
 msgstr "Лівий канал"
 
-#: TrackPanel.cpp:559 TrackPanel.cpp:6134
+#: TrackPanel.cpp:618 TrackPanel.cpp:6197
 msgid "Right Channel"
 msgstr "Правий канал"
 
-#: TrackPanel.cpp:560
+#: TrackPanel.cpp:619
 msgid "Make Stereo Track"
 msgstr "Зробити доріжку стереофонічною"
 
-#: TrackPanel.cpp:561
+#: TrackPanel.cpp:620
 msgid "Split Stereo Track"
 msgstr "Розділити стерео-доріжку"
 
-#: TrackPanel.cpp:563
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr "Поділити стерео на моно"
+
+#: TrackPanel.cpp:623
 msgid "Set Sample Format"
 msgstr "Встановити формат семплу"
 
-#: TrackPanel.cpp:565 TrackPanel.cpp:6380
+#: TrackPanel.cpp:625 TrackPanel.cpp:6459
 msgid "Set Rate"
 msgstr "Встановити частоту дискретизації"
 
-#: TrackPanel.cpp:573
+#: TrackPanel.cpp:633
 msgid "Up Octave"
 msgstr "Октавою вище"
 
-#: TrackPanel.cpp:574
+#: TrackPanel.cpp:634
 msgid "Down Octave"
 msgstr "Октавою нижче"
 
-#: TrackPanel.cpp:579 TrackPanel.cpp:5792
+#: TrackPanel.cpp:639
 msgid "Font..."
 msgstr "Шрифт..."
 
-#: TrackPanel.cpp:590
+#: TrackPanel.cpp:650
 msgid "Set Range..."
 msgstr "Встановити діапазон..."
 
-#: TrackPanel.cpp:594 toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:654 toolbars/EditToolBar.cpp:132
+#: toolbars/EditToolBar.cpp:191
 msgid "Copy"
 msgstr "Копіювати"
 
-#: TrackPanel.cpp:1263
+#: TrackPanel.cpp:1304
 msgid ""
 "Click to vertically zoom in, Shift-click to zoom out, Drag to create a "
 "particular zoom region."
 msgstr ""
 "Використовуйте клацання для наближення по-вертикалі, Shift+клацання - для "
-"віддалення, перетягування з натиснутою кнопкою - для виділення області "
+"віддалення, перетягування з натиснутою кнопкою — для вибору області "
 "масштабування."
 
-#: TrackPanel.cpp:1268
+#: TrackPanel.cpp:1309
 msgid "Drag the label vertically to change the order of the tracks."
-msgstr "Щоб змінити порядок представлення доріжок, перетягніть цю доріжку вгору/вниз."
+msgstr ""
+"Щоб змінити порядок представлення доріжок, перетягніть цю доріжку вгору/вниз."
 
-#: TrackPanel.cpp:1288
+#: TrackPanel.cpp:1329
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr ""
 "Клацніть та перетягніть позначку для коригування відносного розміру стерео-"
 "доріжок."
 
-#: TrackPanel.cpp:1291
+#: TrackPanel.cpp:1332
 msgid "Click and drag to resize the track."
 msgstr "Клацніть та перетягніть для зміни розміру доріжки."
 
-#: TrackPanel.cpp:1322
+#: TrackPanel.cpp:1363
 msgid "Drag one or more label boundaries"
 msgstr "Перетягнути одну чи більше меж позначок"
 
-#: TrackPanel.cpp:1323
+#: TrackPanel.cpp:1364
 msgid "Drag label boundary"
 msgstr "Перетягнути межу позначки"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: TrackPanel.cpp:1339
+#: TrackPanel.cpp:1380
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
 msgstr ""
 "Універсальний інструмент: натисніть Cmd-, для налаштовування миші та "
 "клавіатури"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: TrackPanel.cpp:1342
+#: TrackPanel.cpp:1383
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
 msgstr ""
 "Універсальний інструмент: натисніть Ctrl-P, для налаштовування миші та "
 "клавіатури"
 
-#: TrackPanel.cpp:1388
+#: TrackPanel.cpp:1429
 msgid "Click and drag to move left selection boundary."
-msgstr "Клацніть та перетягніть для переміщення лівої межі виділеної ділянки."
+msgstr "Клацніть та перетягніть для переміщення лівої межі вибраної ділянки."
 
-#: TrackPanel.cpp:1393
+#: TrackPanel.cpp:1434
 msgid "Click and drag to move right selection boundary."
-msgstr "Клацніть та перетягніть для переміщення правої межі виділеної ділянки."
+msgstr "Клацніть та перетягніть для переміщення правої межі вибраної ділянки."
 
-#: TrackPanel.cpp:1735 TrackPanel.cpp:3964 TrackPanel.cpp:3996
-#: TrackPanel.cpp:4260 TrackPanel.cpp:6529 TrackPanel.cpp:6549
+#: TrackPanel.cpp:1772 TrackPanel.cpp:4056 TrackPanel.cpp:4088
+#: TrackPanel.cpp:4350 TrackPanel.cpp:6608 TrackPanel.cpp:6628
 msgid "Modified Label"
 msgstr "Позначка змінена"
 
-#: TrackPanel.cpp:1736 TrackPanel.cpp:3965 TrackPanel.cpp:3997
-#: TrackPanel.cpp:4261 TrackPanel.cpp:6530 TrackPanel.cpp:6550
+#: TrackPanel.cpp:1773 TrackPanel.cpp:4057 TrackPanel.cpp:4089
+#: TrackPanel.cpp:4351 TrackPanel.cpp:6609 TrackPanel.cpp:6629
 msgid "Label Edit"
 msgstr "Правка позначки"
 
-#: TrackPanel.cpp:1976
+#: TrackPanel.cpp:2011
 msgid "Adjusted envelope."
 msgstr "Обвідна скорегована."
 
-#: TrackPanel.cpp:1977 prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:2012 prefs/MousePrefs.cpp:119
 msgid "Envelope"
 msgstr "Обвідна"
 
-#: TrackPanel.cpp:2128
+#: TrackPanel.cpp:2162
 msgid "Moved clip to another track"
 msgstr "Область переміщено до іншої доріжки"
 
-#: TrackPanel.cpp:2132
+#: TrackPanel.cpp:2166
 msgid "left"
 msgstr "лівий"
 
-#: TrackPanel.cpp:2132
+#: TrackPanel.cpp:2166
 msgid "right"
 msgstr "правий"
 
 #. i18n-hint: %s is a direction like left or right
-#: TrackPanel.cpp:2134
+#: TrackPanel.cpp:2168
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Доріжку/область зміщено на %s %.02f секунд"
 
-#: TrackPanel.cpp:2138 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
-#: prefs/MousePrefs.cpp:113
+#: TrackPanel.cpp:2172 prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:116
+#: prefs/MousePrefs.cpp:117
 msgid "Time-Shift"
 msgstr "Зсув у часі"
 
-#: TrackPanel.cpp:2921
+#: TrackPanel.cpp:2966
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr "Щоб використати Малювання, виберіть \"Форму хвилі\" у спадному меню доріжки."
+msgstr ""
+"Щоб використати Малювання, виберіть \"Форму хвилі\" у спадному меню доріжки."
 
-#: TrackPanel.cpp:2938
+#: TrackPanel.cpp:2983
 msgid "To use Draw, zoom in further until you can see the individual samples."
 msgstr ""
 "Щоб використати Малювання, збільшуйте частину доріжки, аж доки не побачите "
 "окремі фрагменти."
 
-#: TrackPanel.cpp:3210
+#: TrackPanel.cpp:3257
 msgid "Moved Sample"
 msgstr "Семпл переміщено"
 
-#: TrackPanel.cpp:3211
+#: TrackPanel.cpp:3258
 msgid "Sample Edit"
 msgstr "Правка семплу"
 
-#: TrackPanel.cpp:3310
+#: TrackPanel.cpp:3351
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "Вилучено доріжку '%s.'"
 
-#: TrackPanel.cpp:3312
+#: TrackPanel.cpp:3353
 msgid "Track Remove"
 msgstr "Вилучити доріжку"
 
-#: TrackPanel.cpp:3453
+#: TrackPanel.cpp:3499
 msgid "Moved gain slider"
 msgstr "Регулятор рівня переміщено"
 
-#: TrackPanel.cpp:3453
+#: TrackPanel.cpp:3499
 msgid "Moved pan slider"
 msgstr "Регулятор панорами переміщено"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3454 TrackPanel.cpp:5700 TrackPanel.cpp:7253
+#: TrackPanel.cpp:3500 TrackPanel.cpp:5802 TrackPanel.cpp:7252
 msgid "Gain"
 msgstr "Гучність"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3454 TrackPanel.cpp:5638 TrackPanel.cpp:7260
+#: TrackPanel.cpp:3500 TrackPanel.cpp:5750 TrackPanel.cpp:7260
 msgid "Pan"
 msgstr "Панорама"
 
-#: TrackPanel.cpp:3581 TrackPanel.cpp:6480
+#: TrackPanel.cpp:3666 TrackPanel.cpp:6559
 msgid "up"
 msgstr "вгору"
 
-#: TrackPanel.cpp:3585 TrackPanel.cpp:6481
+#: TrackPanel.cpp:3670 TrackPanel.cpp:6560
 msgid "down"
 msgstr "вниз"
 
-#: TrackPanel.cpp:3592 TrackPanel.cpp:6476
+#: TrackPanel.cpp:3677 TrackPanel.cpp:6555
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Переміщено '%s' %s"
 
-#: TrackPanel.cpp:3595 TrackPanel.cpp:6482
+#: TrackPanel.cpp:3680 TrackPanel.cpp:6561
 msgid "Move Track"
 msgstr "Перемістити доріжку"
 
-#: TrackPanel.cpp:4160
+#: TrackPanel.cpp:4251
 msgid "Expand"
 msgstr "Розгорнути"
 
-#: TrackPanel.cpp:4160
+#: TrackPanel.cpp:4251
 msgid "Expanded Cut Line"
 msgstr "Розширена лінія розрізу"
 
-#: TrackPanel.cpp:4169
+#: TrackPanel.cpp:4260
 msgid "Merge"
 msgstr "Об'єднати"
 
-#: TrackPanel.cpp:4169
+#: TrackPanel.cpp:4260
 msgid "Merged Clips"
 msgstr "Об'єднані фрагменти"
 
-#: TrackPanel.cpp:4181
+#: TrackPanel.cpp:4271
 msgid "Removed Cut Line"
 msgstr "Вилучено лінію розрізу"
 
-#: TrackPanel.cpp:5638
+#: TrackPanel.cpp:5750
 msgid "Adjusted Pan"
 msgstr "Панорамування скореговано"
 
-#: TrackPanel.cpp:5700
+#: TrackPanel.cpp:5802
 msgid "Adjusted gain"
 msgstr "Підсилення скореговано"
 
-#: TrackPanel.cpp:5796
-msgid "Group with Wave Track"
-msgstr "Згрупувати з доріжкою Wave"
-
-#: TrackPanel.cpp:5797
-msgid "Clear any grouping"
-msgstr "Вилучити будь-яке групування"
-
-#: TrackPanel.cpp:5962
+#: TrackPanel.cpp:6028
 msgid "Can't delete track with active audio"
 msgstr "Неможливо вилучити доріжку з активним аудіо"
 
-#: TrackPanel.cpp:6115
+#: TrackPanel.cpp:6178
 msgid "Stereo, "
 msgstr "Стерео, "
 
-#: TrackPanel.cpp:6118
+#: TrackPanel.cpp:6181
 msgid "Mono, "
 msgstr "Моно, "
 
-#: TrackPanel.cpp:6120
+#: TrackPanel.cpp:6183
 msgid "Left, "
 msgstr "Лівий, "
 
-#: TrackPanel.cpp:6122
+#: TrackPanel.cpp:6185
 msgid "Right, "
 msgstr "Правий, "
 
-#: TrackPanel.cpp:6144 TrackPanel.cpp:6290
+#: TrackPanel.cpp:6207 TrackPanel.cpp:6369
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "'%s' змінено на %s"
 
-#: TrackPanel.cpp:6149
+#: TrackPanel.cpp:6210
 msgid "Channel"
 msgstr "Канал"
 
-#: TrackPanel.cpp:6170
+#: TrackPanel.cpp:6251
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "Розділити стерео-доріжку '%s'"
 
-#: TrackPanel.cpp:6208
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "Поділити стерео на моно «%s»"
+
+#: TrackPanel.cpp:6285
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "Зробити '%s' стерео-доріжку"
 
-#: TrackPanel.cpp:6211
+#: TrackPanel.cpp:6288
 msgid "Make Stereo"
 msgstr "Зробити стереофонічною"
 
-#: TrackPanel.cpp:6254
+#: TrackPanel.cpp:6333
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "'%s' змінено на %d Гц"
 
-#: TrackPanel.cpp:6256
+#: TrackPanel.cpp:6335
 msgid "Rate Change"
 msgstr "Змінити частоту"
 
-#: TrackPanel.cpp:6294
+#: TrackPanel.cpp:6373
 msgid "Format Change"
 msgstr "Зміна формату"
 
-#: TrackPanel.cpp:6444
+#: TrackPanel.cpp:6523
 msgid "Change lower speed limit (%) to:"
 msgstr "Змінити нижню межу швидкості (%) на:"
 
-#: TrackPanel.cpp:6445 TrackPanel.cpp:6446
+#: TrackPanel.cpp:6524 TrackPanel.cpp:6525
 msgid "Lower speed limit"
 msgstr "Межа зниження швидкості"
 
-#: TrackPanel.cpp:6451
+#: TrackPanel.cpp:6530
 msgid "Change upper speed limit (%) to:"
 msgstr "Змінити верхню межу швидкості (%) на:"
 
-#: TrackPanel.cpp:6452 TrackPanel.cpp:6453
+#: TrackPanel.cpp:6531 TrackPanel.cpp:6532
 msgid "Upper speed limit"
 msgstr "Верхня межа швидкості"
 
-#: TrackPanel.cpp:6461
+#: TrackPanel.cpp:6540
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "Встановити межу як '%d' - '%d'"
 
-#: TrackPanel.cpp:6464
+#: TrackPanel.cpp:6543
 msgid "Set Range"
 msgstr "Встановити діапазон"
 
-#: TrackPanel.cpp:6511
+#: TrackPanel.cpp:6590
 msgid "Change track name to:"
 msgstr "Змінити назву доріжки на:"
 
-#: TrackPanel.cpp:6512
+#: TrackPanel.cpp:6591
 msgid "Track Name"
 msgstr "Назва доріжки"
 
-#: TrackPanel.cpp:6515
+#: TrackPanel.cpp:6594
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "Назву змінено з '%s' на '%s'"
 
-#: TrackPanel.cpp:6518
+#: TrackPanel.cpp:6597
 msgid "Name Change"
 msgstr "Зміна назви"
 
-#: TrackPanel.cpp:6619
+#: TrackPanel.cpp:6663
 msgid "Label Track Font"
 msgstr "Шрифт доріжки для позначок"
 
-#: TrackPanel.cpp:6631 TrackPanel.cpp:6637
+#: TrackPanel.cpp:6675 TrackPanel.cpp:6681
 msgid "Face name"
 msgstr "Назва шрифту"
 
-#: TrackPanel.cpp:6641 TrackPanel.cpp:6648
+#: TrackPanel.cpp:6685 TrackPanel.cpp:6692
 msgid "Face size"
 msgstr "Розмір шрифту"
 
-#: TrackPanel.cpp:7180
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr "Стерео, 999999Гц"
+
+#: TrackPanel.cpp:7201
 msgid "Mute"
 msgstr "Тиша"
 
-#: TrackPanel.cpp:7180
+#: TrackPanel.cpp:7201
 msgid "Solo"
 msgstr "Соло"
 
@@ -4363,7 +4616,7 @@ msgstr " Вибір увімкнено"
 
 #: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
-msgstr "Виділена область замала для використання голосового ключа."
+msgstr "Вибрана область замала для використання голосового ключа."
 
 #: VoiceKey.cpp:843
 msgid "Calibration Results\n"
@@ -4384,33 +4637,37 @@ msgstr "Змін знаку        — в середньому: %1.4f  пд: (%1
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgstr "Змін напрямку  — в середньому: %1.4f  пд: (%1.4f)\n"
 
-#: WaveTrack.cpp:88
+#: WaveTrack.cpp:84
 msgid "Audio Track"
 msgstr "Доріжка"
 
-#: WaveTrack.cpp:597 WaveTrack.cpp:616 WaveTrack.cpp:1057 WaveTrack.cpp:1076
+#: WaveTrack.cpp:978 WaveTrack.cpp:997
 msgid "There is not enough room available to paste the selection"
-msgstr "Не вистачає місця для вставки виділеного фрагменту"
+msgstr "Не вистачає місця для вставки вибраного фрагменту"
 
-#: WaveTrack.cpp:2086
+#: WaveTrack.cpp:2023
 msgid "There is not enough room available to expand the cut line"
 msgstr "Недостатньо простору для поширення лінії вирізання"
 
-#: commands/CommandManager.cpp:518
+#: commands/CommandManager.cpp:545
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "Модулі від 1 до %i"
 
-#: commands/CommandManager.cpp:532
+#: commands/CommandManager.cpp:559
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "Модулі від %i до %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "З певної причини заборонено. Може спочатку спробуєте виділити область зі звуком?"
+#: commands/CommandManager.cpp:923
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
+"Під час виконання попередньої дії сталася помилка. Якщо ви вважаєте, що її\n"
+"причиною є вада у програмі, повідомте розробникам, де саме сталася помилка."
 
-#: commands/CommandManager.cpp:861
+#: commands/CommandManager.cpp:927
 msgid ""
 "You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
@@ -4418,70 +4675,70 @@ msgstr ""
 "Ви можете виконувати це лише коли відтворення і запис\n"
 " зупинено.  [Призупинення недостатньо.]"
 
-#: commands/CommandManager.cpp:863
+#: commands/CommandManager.cpp:929
 msgid ""
 "You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
 msgstr ""
-"Спочатку слід виділити область стерео-звуку.  [Цю дію не можна "
+"Спочатку слід вибрати область стерео-звуку.  [Цю дію не можна "
 "використовувати для моно.]"
 
-#: commands/CommandManager.cpp:865
+#: commands/CommandManager.cpp:931
 msgid "You must first select some audio for this to use."
-msgstr "Спочатку слід виділити область звуку."
+msgstr "Спочатку слід вибрати область звуку."
 
-#: commands/CommandManager.cpp:867
+#: commands/CommandManager.cpp:933
 msgid ""
 "You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
 msgstr ""
-"Спочатку треба виділити область звуку.\n"
+"Спочатку треба вибрати область звуку.\n"
 "[Вибір інших типів доріжки не підійде.]"
 
-#: commands/CommandManager.cpp:872
+#: commands/CommandManager.cpp:938
 msgid "Disallowed"
 msgstr "Заборонено"
 
-#: commands/CommandManager.cpp:1054
+#: commands/CommandManager.cpp:1120
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
 msgstr "Завантажено %d комбінацій клавіш\n"
 
-#: commands/CommandManager.cpp:1056
+#: commands/CommandManager.cpp:1122
 msgid "Loading keyboard shortcuts"
 msgstr "Завантажуються комбінації клавіш"
 
-#: effects/Amplify.cpp:52
+#: effects/Amplify.cpp:53
 #, c-format
 msgid "Applied effect: %s %.1f dB"
 msgstr "Застосовано ефект: %s %.1f дБ"
 
-#: effects/Amplify.cpp:139
+#: effects/Amplify.cpp:140
 msgid "Amplify"
 msgstr "Підсилення сигналу"
 
-#: effects/Amplify.cpp:155 effects/Compressor.cpp:476
-#: effects/Normalize.cpp:337
+#: effects/Amplify.cpp:156 effects/Compressor.cpp:487
+#: effects/Normalize.cpp:341
 msgid "by Dominic Mazzoni"
 msgstr "Домінік Маццоні"
 
-#: effects/Amplify.cpp:168
+#: effects/Amplify.cpp:169
 msgid "Amplification (dB):"
 msgstr "Підсилення (дБ):"
 
-#: effects/Amplify.cpp:183
+#: effects/Amplify.cpp:184
 msgid "Amplification dB"
 msgstr "Підсилення (дБ)"
 
-#: effects/Amplify.cpp:190
+#: effects/Amplify.cpp:191
 msgid "New Peak Amplitude (dB):"
 msgstr "Нова пікова амплітуда (дБ):"
 
-#: effects/Amplify.cpp:200
+#: effects/Amplify.cpp:201
 msgid "Allow clipping"
 msgstr "Дозволити зрізання"
 
-#: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
+#: effects/Amplify.cpp:223 effects/Amplify.cpp:280 effects/Amplify.cpp:324
 msgid "-Infinity"
 msgstr "-Нескінченність"
 
@@ -4493,7 +4750,7 @@ msgstr "Підсилення сигналу..."
 msgid "Amplifying"
 msgstr "Триває підсилення сигналу"
 
-#: effects/AutoDuck.cpp:125
+#: effects/AutoDuck.cpp:140
 msgid ""
 "You selected a track which does not contain audio. AutoDuck can only process "
 "audio tracks."
@@ -4501,12 +4758,12 @@ msgstr ""
 "Ви обрали доріжку, яка не містить звуку. Приглушення музики може "
 "застосовуватись лише до існуючих доріжок."
 
-#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:141 effects/AutoDuck.cpp:153 effects/AutoDuck.cpp:467
+#: effects/AutoDuck.cpp:584
 msgid "Auto Duck"
 msgstr "Приглушення музики"
 
-#: effects/AutoDuck.cpp:137
+#: effects/AutoDuck.cpp:152
 msgid ""
 "Auto Duck needs a control track which must be placed below the selected track"
 "(s)."
@@ -4514,55 +4771,54 @@ msgstr ""
 "Для ефекту приглушення музики потрібна контрольна доріжка, яка має бути "
 "розташована під обраними доріжками."
 
-#: effects/AutoDuck.cpp:465
+#: effects/AutoDuck.cpp:479
 msgid "Auto Duck by Markus Meyer"
 msgstr "Додавання атмосфери, автор Markus Meyer"
 
-#: effects/AutoDuck.cpp:487
+#: effects/AutoDuck.cpp:501
 msgid "Duck amount:"
 msgstr "Величина приглушення:"
 
-#: effects/AutoDuck.cpp:492
+#: effects/AutoDuck.cpp:506
 msgid "Maximum pause:"
 msgstr "Максимальна пауза:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:173 prefs/AudioIOPrefs.cpp:181
-#: prefs/AudioIOPrefs.cpp:183 prefs/AudioIOPrefs.cpp:208
-#: prefs/AudioIOPrefs.cpp:210 prefs/MidiIOPrefs.cpp:161
-#: prefs/MidiIOPrefs.cpp:163 prefs/MidiIOPrefs.cpp:187
-#: prefs/MidiIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:197
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:508 effects/AutoDuck.cpp:513 effects/AutoDuck.cpp:518
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:528 prefs/MidiIOPrefs.cpp:157
+#: prefs/MidiIOPrefs.cpp:159 prefs/MidiIOPrefs.cpp:181
+#: prefs/MidiIOPrefs.cpp:183 prefs/MidiIOPrefs.cpp:191
+#: prefs/PlaybackPrefs.cpp:62 prefs/PlaybackPrefs.cpp:76
+#: prefs/PlaybackPrefs.cpp:82 prefs/PlaybackPrefs.cpp:96
+#: prefs/PlaybackPrefs.cpp:102 widgets/TimeTextCtrl.cpp:264
 msgid "seconds"
 msgstr "секунд"
 
-#: effects/AutoDuck.cpp:497
+#: effects/AutoDuck.cpp:511
 msgid "Outer fade down length:"
 msgstr "Зовнішня довжина згасання:"
 
-#: effects/AutoDuck.cpp:502
+#: effects/AutoDuck.cpp:516
 msgid "Outer fade up length:"
 msgstr "Зовнішня довжина наростання:"
 
-#: effects/AutoDuck.cpp:507
+#: effects/AutoDuck.cpp:521
 msgid "Inner fade down length:"
 msgstr "Внутрішня довжина згасання:"
 
-#: effects/AutoDuck.cpp:512
+#: effects/AutoDuck.cpp:526
 msgid "Inner fade up length:"
 msgstr "Внутрішня довжина наростання:"
 
-#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:494
+#: effects/AutoDuck.cpp:535 effects/Compressor.cpp:506
 msgid "Threshold:"
 msgstr "Поріг:"
 
-#: effects/AutoDuck.cpp:570
+#: effects/AutoDuck.cpp:584
 msgid "Please enter valid values."
 msgstr "Введіть коректні значення."
 
-#: effects/AutoDuck.cpp:705
+#: effects/AutoDuck.cpp:719
 msgid "Preview not available"
 msgstr "Попереднє прослуховування недоступне"
 
@@ -4574,9 +4830,8 @@ msgstr "Приглушення музики..."
 msgid "Processing Auto Duck..."
 msgstr "Приглушення музики..."
 
-#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:455
-#: effects/audiounits/AudioUnitEffect.cpp:882 effects/nyquist/Nyquist.cpp:1053
-#: widgets/ErrorDialog.cpp:101
+#: effects/AvcCompressor.cpp:738 effects/audiounits/AudioUnitEffect.cpp:856
+#: effects/nyquist/Nyquist.cpp:1237 widgets/ErrorDialog.cpp:99
 msgid "OK"
 msgstr "Гаразд"
 
@@ -4638,7 +4893,7 @@ msgstr "Зміна висоти тону"
 msgid "Change Pitch without Changing Tempo"
 msgstr "Змінити висоту тону не змінюючи темп"
 
-#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:336
+#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:337
 #: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "Автори — Vaughan Johnson та Dominic Mazzoni"
@@ -4683,7 +4938,7 @@ msgstr "Півтонів (half-steps):"
 msgid "Semitones in half-steps"
 msgstr "Півтонів (у півкроках)"
 
-#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
+#: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:370
 #: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
 msgid "from"
 msgstr "з"
@@ -4692,7 +4947,7 @@ msgstr "з"
 msgid "From frequency in hertz"
 msgstr "З частоти у Герцах"
 
-#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:374
+#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:375
 #: effects/ChangeTempo.cpp:214 effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "до"
@@ -4701,13 +4956,13 @@ msgstr "до"
 msgid "To frequency in seconds"
 msgstr "До частоти у Герцах"
 
-#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:347
+#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:348
 #: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
 msgstr "Відсоток змін:"
 
 #: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
-#: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
+#: effects/ChangeSpeed.cpp:359 effects/ChangeTempo.cpp:198
 msgid "Percent Change"
 msgstr "Зміна у відсотках"
 
@@ -4724,33 +4979,33 @@ msgstr "Змінюється висота тону"
 msgid "Applied effect: %s %.1f%%"
 msgstr "Застосовано ефект: %s %.1f%%"
 
-#: effects/ChangeSpeed.cpp:298
+#: effects/ChangeSpeed.cpp:299
 msgid "Change Speed"
 msgstr "Зміна швидкості"
 
 #. i18n-hint: n/a is an English abbreviation meaning "not applicable"
 #. (in other words, unimportant, not relevant).
-#: effects/ChangeSpeed.cpp:329
+#: effects/ChangeSpeed.cpp:330
 msgid "n/a"
 msgstr "не вказано"
 
-#: effects/ChangeSpeed.cpp:334
+#: effects/ChangeSpeed.cpp:335
 msgid "Change Speed, affecting both Tempo and Pitch"
 msgstr "Змінити швидкість, впливаючи на темп та висоту тону"
 
-#: effects/ChangeSpeed.cpp:338
+#: effects/ChangeSpeed.cpp:339
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "з використанням бібліотеки SampleRate, автор Erik de Castro Lopo"
 
-#: effects/ChangeSpeed.cpp:366
+#: effects/ChangeSpeed.cpp:367
 msgid "Standard Vinyl RPM:"
 msgstr "Стандартне значення об/хв. платівки:"
 
-#: effects/ChangeSpeed.cpp:370
+#: effects/ChangeSpeed.cpp:371
 msgid "From RPM"
 msgstr "З об./хв."
 
-#: effects/ChangeSpeed.cpp:375
+#: effects/ChangeSpeed.cpp:376
 msgid "To RPM"
 msgstr "До об./хв."
 
@@ -4818,11 +5073,11 @@ msgstr "Оберіть поріг (нижче значення більш чут
 msgid "Select threshold"
 msgstr "Обрати порогове значення"
 
-#: effects/ClickRemoval.cpp:354
+#: effects/ClickRemoval.cpp:358
 msgid "Max spike width (higher is more sensitive):"
 msgstr "Макс. ширина піку (вище значення більш чутливе):"
 
-#: effects/ClickRemoval.cpp:363
+#: effects/ClickRemoval.cpp:367
 msgid "Max spike width"
 msgstr "Максимальна ширина піка"
 
@@ -4834,108 +5089,113 @@ msgstr "Вилучення клацання..."
 msgid "Removing clicks and pops..."
 msgstr "Вилучається тріск та клацання..."
 
-#: effects/Compressor.cpp:461
+#: effects/Compressor.cpp:472
 msgid "Dynamic Range Compressor"
 msgstr "Компресор динамічного діапазону"
 
-#: effects/Compressor.cpp:498
+#: effects/Compressor.cpp:510
 msgid "Threshold"
 msgstr "Порогове значення"
 
-#: effects/Compressor.cpp:502
+#: effects/Compressor.cpp:514
 msgid "Ratio:"
 msgstr "Коефіцієнт:"
 
-#: effects/Compressor.cpp:506
+#: effects/Compressor.cpp:518
 msgid "Ratio"
 msgstr "Коефіцієнт"
 
-#: effects/Compressor.cpp:510
+#: effects/Compressor.cpp:522
 msgid "Attack Time:"
 msgstr "Час наростання:"
 
-#: effects/Compressor.cpp:514
+#: effects/Compressor.cpp:526
 msgid "Attack Time"
 msgstr "Час наростання"
 
-#: effects/Compressor.cpp:518
+#: effects/Compressor.cpp:530
 msgid "Decay Time:"
 msgstr "Час спадання:"
 
-#: effects/Compressor.cpp:522
+#: effects/Compressor.cpp:534
 msgid "Decay Time"
 msgstr "Час спадання"
 
-#: effects/Compressor.cpp:530
-msgid "Normalize to 0dB after compressing"
-msgstr "Нормалізувати до 0dB після стискання"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr "Косметичне підсилення для 0дБ після стискання"
 
-#: effects/Compressor.cpp:563
+#: effects/Compressor.cpp:575
 #, c-format
 msgid "Threshold %d dB"
 msgstr "Поріг: %d дБ"
 
-#: effects/Compressor.cpp:564
+#: effects/Compressor.cpp:576
 #, c-format
 msgid "%3d dB"
 msgstr "%3d дБ"
 
-#: effects/Compressor.cpp:567
+#: effects/Compressor.cpp:579
 #, c-format
 msgid "Ratio %.0f to 1"
 msgstr "Коефіцієнт: %.0f:1"
 
-#: effects/Compressor.cpp:568
+#: effects/Compressor.cpp:580
 #, c-format
 msgid "%.0f:1"
 msgstr "%.0f:1"
 
-#: effects/Compressor.cpp:571
+#: effects/Compressor.cpp:583
 #, c-format
 msgid "Ratio %.1f to 1"
 msgstr "Коефіцієнт: %.1f:1"
 
-#: effects/Compressor.cpp:572
+#: effects/Compressor.cpp:584
 #, c-format
 msgid "%.1f:1"
 msgstr "%.1f:1"
 
-#: effects/Compressor.cpp:575
+#: effects/Compressor.cpp:587
 #, c-format
 msgid "Attack Time %.1f secs"
 msgstr "Час наростання: %.1f секунд"
 
-#: effects/Compressor.cpp:576 effects/Compressor.cpp:579
+#: effects/Compressor.cpp:588 effects/Compressor.cpp:591
 #, c-format
 msgid "%.1f secs"
 msgstr "%.1f секунд"
 
-#: effects/Compressor.cpp:578
+#: effects/Compressor.cpp:590
 #, c-format
 msgid "Decay Time %.1f secs"
 msgstr "Час згасання: %.1f секунд"
 
-#: effects/Compressor.h:36
+#: effects/Compressor.h:37
 msgid "Compressor..."
 msgstr "Компресор..."
 
-#: effects/Compressor.h:50
+#: effects/Compressor.h:51
 msgid "Applying Dynamic Range Compression..."
 msgstr "Застосовується компресія динамічного діапазону..."
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "Аналіз контрастності"
+
+#: effects/Contrast.cpp:88
 msgid "Contrast Tool Foreground"
 msgstr "Передній план для інструменту контрасту"
 
-#: effects/Contrast.cpp:79
+#: effects/Contrast.cpp:88
 msgid ""
 "Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
 "Обрано ділянку переднього плану.\n"
-"Тепер вам слід обрати тло і скористатися комбінацією клавіш Ctrl+Shift+T або пунктом меню знову."
+"Тепер вам слід обрати тло і скористатися комбінацією клавіш Ctrl+Shift+T або "
+"пунктом меню знову."
 
-#: effects/Contrast.cpp:127
+#: effects/Contrast.cpp:144
 msgid ""
 "Start time after after end time!\n"
 "Please enter reasonable times."
@@ -4943,7 +5203,7 @@ msgstr ""
 "Час початку розташовано після часу завершення!\n"
 "Будь ласка, перегляньте вибрані значення."
 
-#: effects/Contrast.cpp:137
+#: effects/Contrast.cpp:154
 msgid ""
 "Times are not reasonable!\n"
 "Please enter reasonable times."
@@ -4951,282 +5211,256 @@ msgstr ""
 "Обрано некоректні значення часу!\n"
 "Будь ласка, виправте їх."
 
-#: effects/Contrast.cpp:190
-msgid "Hello.\n"
-msgstr "Привіт.\n"
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr "Аналізатор звукового контрасту WCAG2"
-
-#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
-#: effects/Contrast.cpp:415
-msgid "Measured"
-msgstr "Виміряний"
-
-#: effects/Contrast.cpp:318
+#: effects/Contrast.cpp:276
 msgid "Contrast Analyzer"
 msgstr "Аналізатор контрасту"
 
-#: effects/Contrast.cpp:321
+#: effects/Contrast.cpp:279
 msgid "Parameters"
 msgstr "Параметри"
 
-#: effects/Contrast.cpp:328 effects/ToneGen.cpp:356
-#: toolbars/ControlToolBar.cpp:186
+#: effects/Contrast.cpp:286 effects/ToneGen.cpp:312
+#: toolbars/ControlToolBar.cpp:181
 msgid "Start"
 msgstr "Початок"
 
-#: effects/Contrast.cpp:329 effects/ToneGen.cpp:357
-#: toolbars/ControlToolBar.cpp:189 toolbars/SelectionBar.cpp:156
+#: effects/Contrast.cpp:287 effects/ToneGen.cpp:313
+#: toolbars/ControlToolBar.cpp:184 toolbars/SelectionBar.cpp:156
 #: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "Кінець"
 
-#: effects/Contrast.cpp:332
+#: effects/Contrast.cpp:290
 msgid "Volume    "
 msgstr "Гучність   "
 
-#: effects/Contrast.cpp:335
+#: effects/Contrast.cpp:293
 msgid "Foreground:"
 msgstr "Передній план:"
 
-#: effects/Contrast.cpp:347
+#: effects/Contrast.cpp:305
 msgid "Foreground start time"
 msgstr "Час початку переднього плану"
 
-#: effects/Contrast.cpp:365
+#: effects/Contrast.cpp:323
 msgid "Foreground end time"
 msgstr "Час завершення переднього плану"
 
-#: effects/Contrast.cpp:373 effects/Contrast.cpp:417
+#: effects/Contrast.cpp:329 effects/Contrast.cpp:373 effects/Contrast.cpp:437
+#: effects/Contrast.cpp:448
+msgid "Measured"
+msgstr "Виміряний"
+
+#: effects/Contrast.cpp:331 effects/Contrast.cpp:375
 msgid "Use selection"
 msgstr "Використати вибране"
 
-#: effects/Contrast.cpp:378
+#: effects/Contrast.cpp:336
 msgid "Background:"
 msgstr "Тло:"
 
-#: effects/Contrast.cpp:391
+#: effects/Contrast.cpp:349
 msgid "Background start time"
 msgstr "Час початку тла"
 
-#: effects/Contrast.cpp:409
+#: effects/Contrast.cpp:367
 msgid "Background end time"
 msgstr "Час завершення тла"
 
-#: effects/Contrast.cpp:426
+#: effects/Contrast.cpp:384
 msgid "Result"
 msgstr "Результат"
 
-#: effects/Contrast.cpp:430
+#: effects/Contrast.cpp:388
 msgid "Contrast Result:"
 msgstr "Результат контрасту:"
 
-#: effects/Contrast.cpp:433
+#: effects/Contrast.cpp:391
 msgid "Reset"
 msgstr "Відновити"
 
-#: effects/Contrast.cpp:434
+#: effects/Contrast.cpp:392
 msgid "Difference:"
 msgstr "Різниця:"
 
-#: effects/Contrast.cpp:445
+#: effects/Contrast.cpp:403
 msgid "Information"
 msgstr "Інформація"
 
-#: effects/Contrast.cpp:447
+#: effects/Contrast.cpp:405
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr "Для вимірювання відносної різниці у гучності між двома ділянками звукової доріжки."
+msgstr ""
+"Для вимірювання відносної різниці у гучності між двома ділянками звукової "
+"доріжки."
 
-#: effects/Contrast.cpp:448
+#: effects/Contrast.cpp:406
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr "Довідка щодо аналізатора контрасту звуку WCAG2"
 
-#: effects/Contrast.cpp:452 toolbars/ControlToolBar.cpp:83
-msgid "Control"
-msgstr "Контроль"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr "Зауваження: натискання кнопки «Гаразд» скидає значення часу."
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr "Закрити, але зберегти час"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "Закрити (зекономити час)"
 
-#: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
-#: effects/Contrast.cpp:484
+#: effects/Contrast.cpp:474 effects/Contrast.cpp:480 effects/Contrast.cpp:486
+#: effects/Contrast.cpp:492
 msgid "Measure"
 msgstr "Виміряти"
 
-#: effects/Contrast.cpp:511
+#: effects/Contrast.cpp:531
 msgid "No foreground to measure"
 msgstr "Немає переднього плану для вимірювання"
 
-#: effects/Contrast.cpp:516
+#: effects/Contrast.cpp:536
 msgid "Measured foreground level"
 msgstr "Виміряний рівень переднього плану"
 
-#: effects/Contrast.cpp:517 effects/Contrast.cpp:527
+#: effects/Contrast.cpp:537 effects/Contrast.cpp:547
 #, c-format
 msgid "%.1f dB"
 msgstr "%.1f дБ"
 
-#: effects/Contrast.cpp:521
+#: effects/Contrast.cpp:541
 msgid "No background to measure"
 msgstr "Немає тла для вимірювання"
 
-#: effects/Contrast.cpp:526
+#: effects/Contrast.cpp:546
 msgid "Measured background level"
 msgstr "Виміряний рівень тла"
 
-#: effects/Contrast.cpp:532
+#: effects/Contrast.cpp:552
 msgid "WCAG2 Pass"
 msgstr "WCAG2 пройдено"
 
-#: effects/Contrast.cpp:534
+#: effects/Contrast.cpp:554
 msgid "WCAG2 Fail"
 msgstr "Помилка WCAG2"
 
-#: effects/Contrast.cpp:535
+#: effects/Contrast.cpp:555
 msgid "Current difference"
 msgstr "Поточна різниця"
 
-#: effects/Contrast.cpp:536
+#: effects/Contrast.cpp:556
 #, c-format
 msgid "%.1f dB Average rms"
 msgstr "%.1f дБ середньоквадратичного"
 
-#: effects/Contrast.cpp:541
+#: effects/Contrast.cpp:561
 msgid "Please enter valid times."
 msgstr "Будь ласка, введіть коректні значення."
 
-#: effects/Contrast.cpp:551
+#: effects/Contrast.cpp:571
 msgid "Export Contrast Result As:"
 msgstr "Експортувати результати контрасту як:"
 
-#: effects/Contrast.cpp:572
+#: effects/Contrast.cpp:592
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
 msgstr "Критерій успіху 1.4.7 результатів контрасту WCAG 2.0"
 
-#: effects/Contrast.cpp:574
+#: effects/Contrast.cpp:594
 #, c-format
 msgid "Filename = %s."
 msgstr "Назва файла = %s."
 
-#: effects/Contrast.cpp:576
+#: effects/Contrast.cpp:596
 msgid "Foreground"
 msgstr "Передній план"
 
-#: effects/Contrast.cpp:581 effects/Contrast.cpp:598
+#: effects/Contrast.cpp:601 effects/Contrast.cpp:618
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr "Час початку = %2d годин, %2d хвилин, %.2f секунд."
 
-#: effects/Contrast.cpp:586 effects/Contrast.cpp:603
+#: effects/Contrast.cpp:606 effects/Contrast.cpp:623
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
 msgstr "Час завершення = %2d годин, %2d хвилин, %.2f секунд."
 
-#: effects/Contrast.cpp:588 effects/Contrast.cpp:605
+#: effects/Contrast.cpp:608 effects/Contrast.cpp:625
 #, c-format
 msgid "Average rms = %.1f dB."
 msgstr "Середньоквадратичне = %.1f дБ."
 
-#: effects/Contrast.cpp:590 effects/Contrast.cpp:607
+#: effects/Contrast.cpp:610 effects/Contrast.cpp:627
 msgid "Average rms =  dB."
 msgstr "Середньоквадратичне =  дБ."
 
-#: effects/Contrast.cpp:593
+#: effects/Contrast.cpp:613
 msgid "Background"
 msgstr "Тло"
 
-#: effects/Contrast.cpp:609
+#: effects/Contrast.cpp:629
 msgid "Results"
 msgstr "Результати"
 
-#: effects/Contrast.cpp:611
+#: effects/Contrast.cpp:631
 #, c-format
 msgid "Difference = %.1f Average rms dB."
 msgstr "Різниця = %.1f Середньоквадратичне дБ."
 
-#: effects/Contrast.cpp:613
+#: effects/Contrast.cpp:633
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
 msgstr "Критерій успіху 1.4.7 WCAG 2.0: пройдено"
 
-#: effects/Contrast.cpp:615
+#: effects/Contrast.cpp:635
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
 msgstr "Критерій успіху 1.4.7 WCAG 2.0: помилка"
 
-#: effects/Contrast.cpp:618
+#: effects/Contrast.cpp:638
 msgid "Data gathered"
 msgstr "Дані зібрано"
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr "Контраст...\tCtrl+Shift+T"
-
-#: effects/Contrast.h:52
-msgid "Measuring background"
-msgstr "Вимірювання тла"
-
-#: effects/Contrast.h:54
-msgid "Measuring foreground"
-msgstr "Вимірювання переднього плану"
-
 #: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
 msgstr "Генератор тонових сигналів (DTMF)"
 
-#: effects/DtmfGen.cpp:456
+#: effects/DtmfGen.cpp:421
 msgid "by Salvo Ventura (2006)"
 msgstr "Автор - Salvo Ventura (2006)"
 
-#: effects/DtmfGen.cpp:460
+#: effects/DtmfGen.cpp:425
 msgid "DTMF sequence:"
 msgstr "Тонова послідовність:"
 
-#: effects/DtmfGen.cpp:463 effects/Noise.cpp:242 effects/ToneGen.cpp:322
-#: effects/ToneGen.cpp:360
+#: effects/DtmfGen.cpp:428 effects/Noise.cpp:190 effects/ToneGen.cpp:278
+#: effects/ToneGen.cpp:316
 msgid "Amplitude (0-1)"
 msgstr "Амплітуда (0-1)"
 
-#: effects/DtmfGen.cpp:465
+#: effects/DtmfGen.cpp:430
 msgid "Duration:"
 msgstr "Тривалість:"
 
-#: effects/DtmfGen.cpp:487
+#: effects/DtmfGen.cpp:452
 msgid "Tone/silence ratio:"
 msgstr "Відношення сигнал/тиша:"
 
-#: effects/DtmfGen.cpp:497
+#: effects/DtmfGen.cpp:462
 msgid "Duty cycle:"
 msgstr "Робочий цикл:"
 
-#: effects/DtmfGen.cpp:499
+#: effects/DtmfGen.cpp:464
 msgid "Tone duration:"
 msgstr "Тривалість тону:"
 
-#: effects/DtmfGen.cpp:500 effects/DtmfGen.cpp:502 effects/DtmfGen.cpp:578
-#: effects/DtmfGen.cpp:579
+#: effects/DtmfGen.cpp:465 effects/DtmfGen.cpp:467 effects/DtmfGen.cpp:543
+#: effects/DtmfGen.cpp:544
 msgid "ms"
 msgstr "мс"
 
-#: effects/DtmfGen.cpp:501
+#: effects/DtmfGen.cpp:466
 msgid "Silence duration:"
 msgstr "Тривалість тиші:"
 
-#: effects/DtmfGen.h:39
+#: effects/DtmfGen.h:40
 msgid "DTMF Tones..."
 msgstr "Тонові сигнали телефону..."
 
-#: effects/DtmfGen.h:53
+#: effects/DtmfGen.h:54
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
 msgstr "Застосований ефект: Створити тонові сигнали телефону, %.6lf секунд"
 
-#: effects/DtmfGen.h:57
+#: effects/DtmfGen.h:58
 msgid "Generating DTMF tones"
 msgstr "Створюються тонові сигнали телефону"
 
@@ -5235,21 +5469,21 @@ msgstr "Створюються тонові сигнали телефону"
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
 msgstr "Застосовано ефект: %s затримка = %f секунд, коефіцієнт спадання = %f"
 
-#: effects/Echo.cpp:170
+#: effects/Echo.cpp:174
 msgid "Echo"
 msgstr "Відлуння"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/Echo.cpp:195 effects/Repeat.cpp:199
+#: effects/Echo.cpp:199 effects/Repeat.cpp:197
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "Автори — Dominic Mazzoni та Vaughan Johnson"
 
-#: effects/Echo.cpp:207
+#: effects/Echo.cpp:211
 msgid "Delay time (seconds):"
 msgstr "Час затримки (секунди):"
 
-#: effects/Echo.cpp:212
+#: effects/Echo.cpp:216
 msgid "Decay factor:"
 msgstr "Коефіцієнт спадання:"
 
@@ -5261,15 +5495,15 @@ msgstr "Відлуння..."
 msgid "Performing Echo"
 msgstr "Застосовується ефект \"Відлуння\""
 
-#: effects/Effect.cpp:467
+#: effects/Effect.cpp:520
 msgid "Preparing preview"
 msgstr "Підготовка прослуховування"
 
-#: effects/Effect.cpp:497
+#: effects/Effect.cpp:550
 msgid "Previewing"
 msgstr "Прослуховування"
 
-#: effects/Effect.cpp:512
+#: effects/Effect.cpp:565
 msgid ""
 "Error while opening sound device. Please check the output device settings "
 "and the project sample rate."
@@ -5277,87 +5511,91 @@ msgstr ""
 "Помилка при відкриванні звукового пристрою. Перевірте параметри пристрою "
 "виводу та частоту дискретизації проекту."
 
-#: effects/Effect.h:100 effects/TimeScale.cpp:52
+#: effects/Effect.h:97 effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
 msgstr "Застосовано ефект: %s"
 
-#: effects/Equalization.cpp:329
+#: effects/Equalization.cpp:336
 msgid "B-spline"
 msgstr "B-сплайн"
 
-#: effects/Equalization.cpp:330
+#: effects/Equalization.cpp:337
 msgid "Cosine"
 msgstr "Синусоїда"
 
-#: effects/Equalization.cpp:331
+#: effects/Equalization.cpp:338
 msgid "Cubic"
 msgstr "Кубічний"
 
-#: effects/Equalization.cpp:367 effects/Equalization.cpp:416
+#: effects/Equalization.cpp:371 effects/Equalization.cpp:422
 msgid "Equalization"
 msgstr "Еквалайзер"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1012
 msgid "Error loading EQ curve"
 msgstr "Помилка під час завантаження кривої EQ"
 
-#: effects/Equalization.cpp:1033
+#: effects/Equalization.cpp:1051
 msgid "custom"
 msgstr "інша"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr "Помилка під час спроби збереження кривих вирівнювання"
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
-#: effects/Equalization.cpp:1101
+#: effects/Equalization.cpp:1123
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
 msgstr "Еквалайзер, від Martyn Shaw та Mitch Golden"
 
-#: effects/Equalization.cpp:1122
+#: effects/Equalization.cpp:1144
 msgid "Max dB"
 msgstr "Макс дБ"
 
-#: effects/Equalization.cpp:1124
+#: effects/Equalization.cpp:1146
 msgid "Min dB"
 msgstr "Мін дБ"
 
-#: effects/Equalization.cpp:1197
+#: effects/Equalization.cpp:1219
 msgid "kHz"
 msgstr "КГц"
 
-#: effects/Equalization.cpp:1214
+#: effects/Equalization.cpp:1236
 msgid "Draw curves"
 msgstr "Малювати криві"
 
-#: effects/Equalization.cpp:1219
+#: effects/Equalization.cpp:1241
 msgid "Graphic EQ"
 msgstr "Графічний EQ"
 
-#: effects/Equalization.cpp:1233
+#: effects/Equalization.cpp:1255
 msgid "Linear frequency scale"
 msgstr "Лінійна шкала частот"
 
-#: effects/Equalization.cpp:1242
+#: effects/Equalization.cpp:1264
 msgid "Length of filter:"
 msgstr "Тривалість фільтра:"
 
-#: effects/Equalization.cpp:1263
+#: effects/Equalization.cpp:1285
 msgid "Select curve:"
 msgstr "Обрати криву:"
 
-#: effects/Equalization.cpp:1273 effects/Equalization.cpp:2512
-#: export/ExportMultiple.cpp:899
+#: effects/Equalization.cpp:1295 effects/Equalization.cpp:2553
+#: export/ExportMultiple.cpp:924
 msgid "Save As..."
 msgstr "Зберегти як..."
 
-#: effects/Equalization.cpp:1279
+#: effects/Equalization.cpp:1301
 msgid "Flat"
 msgstr "Все до нуля"
 
-#: effects/Equalization.cpp:2511
+#: effects/Equalization.cpp:2552
 msgid "Enter the desired name of the curve"
 msgstr "Введіть бажану назву кривої"
 
-#: effects/Equalization.cpp:2611 export/ExportFFmpegDialogs.cpp:1212
+#: effects/Equalization.cpp:2652 export/ExportFFmpegDialogs.cpp:1214
 msgid "Confirm Deletion"
 msgstr "Підтвердити вилучення"
 
@@ -5385,31 +5623,31 @@ msgstr "Повільне згасання"
 msgid "Fading Out"
 msgstr "Застосовується \"Повільне загасання\""
 
-#: effects/FindClipping.cpp:49
+#: effects/FindClipping.cpp:50
 msgid "Detect clipping"
 msgstr "Виявлення зрізання"
 
-#: effects/FindClipping.cpp:91
+#: effects/FindClipping.cpp:93
 msgid "Clipping"
 msgstr "Зрізання"
 
-#: effects/FindClipping.cpp:211
+#: effects/FindClipping.cpp:213
 msgid "Find Clipping"
 msgstr "Знайти зрізання"
 
-#: effects/FindClipping.cpp:222
+#: effects/FindClipping.cpp:224
 msgid "by Leland Lucius"
 msgstr "Автор Leland Lucius"
 
-#: effects/FindClipping.cpp:234
+#: effects/FindClipping.cpp:236
 msgid "Start threshold (samples):"
 msgstr "Поріг початку (точок дискретизації):"
 
-#: effects/FindClipping.cpp:238
+#: effects/FindClipping.cpp:240
 msgid "Stop threshold (samples):"
 msgstr "Поріг кінця (точок дискретизації):"
 
-#: effects/FindClipping.cpp:250
+#: effects/FindClipping.cpp:252
 msgid "Start and stop must be greater than 0."
 msgstr "Початок та кінець мають бути більшими за 0."
 
@@ -5457,7 +5695,7 @@ msgstr "Більше"
 msgid "Heaviest"
 msgstr "Найбільша"
 
-#: effects/Leveller.cpp:214 effects/TruncSilence.cpp:331
+#: effects/Leveller.cpp:214
 msgid "by Lynn Allan"
 msgstr "від Lynn Allan"
 
@@ -5485,155 +5723,151 @@ msgstr "Вирівнювання..."
 msgid "Applying Leveller..."
 msgstr "Застосовується ефект вирівнювання..."
 
-#: effects/LoadEffects.cpp:103
+#: effects/LoadEffects.cpp:102
 msgid "Generator"
 msgstr "Генератор"
 
-#: effects/LoadEffects.cpp:105
+#: effects/LoadEffects.cpp:104
 msgid "Instrument"
 msgstr "Інструмент"
 
-#: effects/LoadEffects.cpp:107
+#: effects/LoadEffects.cpp:106
 msgid "Oscillator"
 msgstr "Осцилятор"
 
-#: effects/LoadEffects.cpp:109
+#: effects/LoadEffects.cpp:108
 msgid "Utility"
 msgstr "Інструмент"
 
-#: effects/LoadEffects.cpp:111
+#: effects/LoadEffects.cpp:110
 msgid "Converter"
 msgstr "Перетворювач"
 
-#: effects/LoadEffects.cpp:113
+#: effects/LoadEffects.cpp:112
 msgid "Analyser"
 msgstr "Аналізатор"
 
-#: effects/LoadEffects.cpp:115 toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Мікшер"
-
-#: effects/LoadEffects.cpp:117
+#: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr "Імітатор"
 
-#: effects/LoadEffects.cpp:119
+#: effects/LoadEffects.cpp:118
 msgid "Delay"
 msgstr "Затримка"
 
-#: effects/LoadEffects.cpp:121
+#: effects/LoadEffects.cpp:120
 msgid "Modulator"
 msgstr "Модулятор"
 
-#: effects/LoadEffects.cpp:123
+#: effects/LoadEffects.cpp:122
 msgid "Reverb"
 msgstr "Відлуння"
 
-#: effects/LoadEffects.cpp:125 effects/Phaser.cpp:208
+#: effects/LoadEffects.cpp:124 effects/Phaser.cpp:208
 msgid "Phaser"
 msgstr "Фазер"
 
-#: effects/LoadEffects.cpp:127
+#: effects/LoadEffects.cpp:126
 msgid "Flanger"
 msgstr "Фленджер"
 
-#: effects/LoadEffects.cpp:129
+#: effects/LoadEffects.cpp:128
 msgid "Chorus"
 msgstr "Хор"
 
-#: effects/LoadEffects.cpp:131
+#: effects/LoadEffects.cpp:130
 msgid "Filter"
 msgstr "Фільтр"
 
-#: effects/LoadEffects.cpp:133
+#: effects/LoadEffects.cpp:132
 msgid "Lowpass"
 msgstr "Низькочастотний фільтр"
 
-#: effects/LoadEffects.cpp:135
+#: effects/LoadEffects.cpp:134
 msgid "Bandpass"
 msgstr "Смуговий фільтр"
 
-#: effects/LoadEffects.cpp:137
+#: effects/LoadEffects.cpp:136
 msgid "Highpass"
 msgstr "Високочастотний фільтр"
 
-#: effects/LoadEffects.cpp:139
+#: effects/LoadEffects.cpp:138
 msgid "Comb"
 msgstr "Гребінка"
 
-#: effects/LoadEffects.cpp:141
+#: effects/LoadEffects.cpp:140
 msgid "Allpass"
 msgstr "Фазовий фільтр"
 
-#: effects/LoadEffects.cpp:143
+#: effects/LoadEffects.cpp:142
 msgid "Equaliser"
 msgstr "Еквалайзер"
 
-#: effects/LoadEffects.cpp:145
+#: effects/LoadEffects.cpp:144
 msgid "Parametric"
 msgstr "Параметричний"
 
-#: effects/LoadEffects.cpp:147
+#: effects/LoadEffects.cpp:146
 msgid "Multiband"
 msgstr "Багатосмуговий"
 
-#: effects/LoadEffects.cpp:149
+#: effects/LoadEffects.cpp:148
 msgid "Spectral Processor"
 msgstr "Обробка спектру"
 
-#: effects/LoadEffects.cpp:151
+#: effects/LoadEffects.cpp:150
 msgid "Pitch Shifter"
 msgstr "Інструмент зсуву тону"
 
-#: effects/LoadEffects.cpp:153
+#: effects/LoadEffects.cpp:152
 msgid "Amplifier"
 msgstr "Підсилювач"
 
-#: effects/LoadEffects.cpp:155
+#: effects/LoadEffects.cpp:154
 msgid "Distortion"
 msgstr "Викривлення"
 
-#: effects/LoadEffects.cpp:157
+#: effects/LoadEffects.cpp:156
 msgid "Waveshaper"
 msgstr "Формування хвилі"
 
-#: effects/LoadEffects.cpp:159
+#: effects/LoadEffects.cpp:158
 msgid "Dynamics Processor"
 msgstr "Обробник динамічного діапазону"
 
-#: effects/LoadEffects.cpp:161
+#: effects/LoadEffects.cpp:160
 msgid "Compressor"
 msgstr "Компресор"
 
-#: effects/LoadEffects.cpp:163
+#: effects/LoadEffects.cpp:162
 msgid "Expander"
 msgstr "Пошируювач"
 
-#: effects/LoadEffects.cpp:165
+#: effects/LoadEffects.cpp:164
 msgid "Limiter"
 msgstr "Обмежувач"
 
-#: effects/LoadEffects.cpp:167
+#: effects/LoadEffects.cpp:166
 msgid "Gate"
 msgstr "Прохід"
 
-#: effects/LoadEffects.cpp:200 effects/NoiseRemoval.cpp:729
+#: effects/LoadEffects.cpp:199 effects/NoiseRemoval.cpp:730
 msgid "Noise Removal"
 msgstr "Вилучення шуму"
 
-#: effects/LoadEffects.cpp:202
+#: effects/LoadEffects.cpp:201
 msgid "Pitch and Tempo"
 msgstr "Зміна тону і темпу"
 
-#: effects/LoadEffects.cpp:204
+#: effects/LoadEffects.cpp:203
 msgid "Timeline Changer"
 msgstr "Зміна часової шкали"
 
-#: effects/LoadEffects.cpp:206
+#: effects/LoadEffects.cpp:205
 msgid "Time"
 msgstr "Час"
 
-#: effects/LoadEffects.cpp:208
+#: effects/LoadEffects.cpp:207
 msgid "Onsets"
 msgstr "Початки"
 
@@ -5653,20 +5887,20 @@ msgstr "Коричневий"
 msgid "Noise Generator"
 msgstr "Генератор шумів"
 
-#: effects/Noise.cpp:241
+#: effects/Noise.cpp:189
 msgid "Noise type"
 msgstr "Тип шуму"
 
-#: effects/Noise.h:41
+#: effects/Noise.h:42
 msgid "Noise..."
 msgstr "Шум..."
 
-#: effects/Noise.h:55
+#: effects/Noise.h:56
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
 msgstr "Застосований ефект: Генерувати шум, %.6lf секунд"
 
-#: effects/Noise.h:59
+#: effects/Noise.h:60
 msgid "Generating Noise"
 msgstr "Генерування шуму"
 
@@ -5683,11 +5917,11 @@ msgstr ""
 msgid "Attempt to run Noise Removal without a noise profile.\n"
 msgstr "Спроба запустити \"Вилучення шуму\" без профілю шуму.\n"
 
-#: effects/NoiseRemoval.cpp:818
+#: effects/NoiseRemoval.cpp:819
 msgid "Step 1"
 msgstr "Крок 1"
 
-#: effects/NoiseRemoval.cpp:819
+#: effects/NoiseRemoval.cpp:820
 msgid ""
 "Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
@@ -5695,47 +5929,47 @@ msgstr ""
 "Оберіть декілька секунд чистого шуму, щоб Audacity знала що фільтрувати,\n"
 "а потім натисніть кнопку Отримати профіль шуму:"
 
-#: effects/NoiseRemoval.cpp:820
+#: effects/NoiseRemoval.cpp:821
 msgid "Step 2"
 msgstr "Крок 2"
 
-#: effects/NoiseRemoval.cpp:821
+#: effects/NoiseRemoval.cpp:822
 msgid ""
 "Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr ""
-"Виділіть частину доріжки, до якої слід застосувати фільтр, оберіть ступінь\n"
+"Виберіть частину доріжки, до якої слід застосувати фільтр, оберіть ступінь\n"
 "фільтрації шуму, а потім натисніть 'Гаразд' щоб вилучити шум.\n"
 
-#: effects/NoiseRemoval.cpp:826
+#: effects/NoiseRemoval.cpp:827
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "Вилучення шуму — Домінік Маццоні"
 
-#: effects/NoiseRemoval.cpp:834
+#: effects/NoiseRemoval.cpp:835
 msgid "Get Noise Profile"
 msgstr "Створити модель шуму"
 
-#: effects/NoiseRemoval.cpp:845
+#: effects/NoiseRemoval.cpp:846
 msgid "Noise reduction (dB):"
-msgstr "Зменшення шуму (dB):"
+msgstr "Зменшення шуму (дБ):"
 
-#: effects/NoiseRemoval.cpp:850
+#: effects/NoiseRemoval.cpp:851
 msgid "Noise reduction"
 msgstr "Зменшення шуму"
 
-#: effects/NoiseRemoval.cpp:854
+#: effects/NoiseRemoval.cpp:855
 msgid "Frequency smoothing (Hz):"
 msgstr "Згладжування частоти (Гц):"
 
-#: effects/NoiseRemoval.cpp:859
+#: effects/NoiseRemoval.cpp:860
 msgid "Frequency smoothing"
 msgstr "Згладжування частоти"
 
-#: effects/NoiseRemoval.cpp:863
+#: effects/NoiseRemoval.cpp:864
 msgid "Attack/decay time (secs):"
 msgstr "Час зростання/спадання (секунд):"
 
-#: effects/NoiseRemoval.cpp:868
+#: effects/NoiseRemoval.cpp:869
 msgid "Attach/decay time"
 msgstr "Час зростання/спадання"
 
@@ -5756,11 +5990,8 @@ msgstr "Вилучається шум"
 #: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
-msgstr "Застосовано ефект: %s вилучення відхилення = %s, нормалізація амплітуди = %s"
-
-#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
-msgid "false"
-msgstr "ні"
+msgstr ""
+"Застосовано ефект: %s вилучення відхилення = %s, нормалізація амплітуди = %s"
 
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
@@ -5777,19 +6008,19 @@ msgstr ", максимальна амплітуда = %.1f дБ"
 msgid "Normalize"
 msgstr "Нормалізація"
 
-#: effects/Normalize.cpp:351
+#: effects/Normalize.cpp:355
 msgid "Remove any DC offset (center on 0.0 vertically)"
 msgstr "Вилучити будь-яке відхилення від осі (центр у 0 по вертикалі)"
 
-#: effects/Normalize.cpp:354
+#: effects/Normalize.cpp:358
 msgid "Normalize maximum amplitude to:"
 msgstr "Нормалізувати максимальну амплітуду до:"
 
-#: effects/Normalize.cpp:362
+#: effects/Normalize.cpp:366
 msgid "-"
 msgstr "-"
 
-#: effects/Normalize.cpp:367
+#: effects/Normalize.cpp:371
 msgid "Maximum amplitude dB"
 msgstr "Максимальна амплітуда (дБ)"
 
@@ -5810,51 +6041,51 @@ msgstr ""
 "Застосовано ефект: %s %d етапів, %.0f%% оброблено, частота = %.1f Гц, "
 "початкова фаза = %.0f град, глибина = %d, зворотний зв'язок = %.0f%%"
 
-#: effects/Phaser.cpp:226
+#: effects/Phaser.cpp:228
 msgid "Stages:"
 msgstr "Етапи:"
 
-#: effects/Phaser.cpp:229
+#: effects/Phaser.cpp:231
 msgid "Stages"
 msgstr "Етапи"
 
-#: effects/Phaser.cpp:231
+#: effects/Phaser.cpp:236
 msgid "Dry/Wet:"
 msgstr "Холодний/Теплий:"
 
-#: effects/Phaser.cpp:234
+#: effects/Phaser.cpp:239
 msgid "Dry Wet"
 msgstr "Холодний-Теплий"
 
-#: effects/Phaser.cpp:236 effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:244 effects/Wahwah.cpp:222
 msgid "LFO Frequency (Hz):"
 msgstr "Частота LFO (Гц):"
 
-#: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
+#: effects/Phaser.cpp:247 effects/Wahwah.cpp:225
 msgid "LFO frequency in hertz"
 msgstr "Частота LFO (Гц)"
 
-#: effects/Phaser.cpp:241 effects/Wahwah.cpp:226
+#: effects/Phaser.cpp:252 effects/Wahwah.cpp:230
 msgid "LFO Start Phase (deg.):"
 msgstr "Початкова фаза LFO (град.):"
 
-#: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
+#: effects/Phaser.cpp:255 effects/Wahwah.cpp:233
 msgid "LFO start phase in degrees"
 msgstr "Початкова фаза LFO (град.)"
 
-#: effects/Phaser.cpp:246
+#: effects/Phaser.cpp:260
 msgid "Depth:"
 msgstr "Глибина:"
 
-#: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
+#: effects/Phaser.cpp:263 effects/Wahwah.cpp:241
 msgid "Depth in percent"
 msgstr "Глибина у відсотках"
 
-#: effects/Phaser.cpp:251
+#: effects/Phaser.cpp:268
 msgid "Feedback (%):"
 msgstr "Зворотний зв'язок (%):"
 
-#: effects/Phaser.cpp:254
+#: effects/Phaser.cpp:271
 msgid "Feedback in percent"
 msgstr "Зворотній зв’язок у відсотках"
 
@@ -5888,7 +6119,8 @@ msgid ""
 msgstr ""
 "Відновлює записи на основі звукових даних поза вибраною ділянкою.\n"
 "\n"
-"Будь ласка, виберіть ділянку пошкоджених звукових даних: позначте принаймні одну з їх меж.\n"
+"Будь ласка, виберіть ділянку пошкоджених звукових даних: позначте принаймні "
+"одну з їх меж.\n"
 "\n"
 "Чим більше буде непошкоджених даних, тим кращим буде результат відновлення."
 
@@ -5903,27 +6135,27 @@ msgstr "Створено %d повторів"
 
 #: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
-msgstr "Доріжки надто довгі для повторення виділення."
+msgstr "Доріжки надто довгі для повторення вибору."
 
-#: effects/Repeat.cpp:77 effects/Repeat.cpp:186
+#: effects/Repeat.cpp:77 effects/Repeat.cpp:184
 msgid "Repeat"
 msgstr "Повтор..."
 
-#: effects/Repeat.cpp:211
+#: effects/Repeat.cpp:209
 msgid "Number of times to repeat:"
 msgstr "Кількість повторів:"
 
-#: effects/Repeat.cpp:220
+#: effects/Repeat.cpp:218
 msgid "New selection length: hh:mm:ss"
-msgstr "Нова тривалість виділення: гг:хх:сс"
+msgstr "Нова тривалість вибраного: гг:хх:сс"
 
-#: effects/Repeat.cpp:252
+#: effects/Repeat.cpp:250
 msgid "New selection length: "
-msgstr "Нова тривалість виділення:"
+msgstr "Нова тривалість вибраного:"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes
 #. * and seconds
-#: effects/Repeat.cpp:261 widgets/TimeTextCtrl.cpp:270
+#: effects/Repeat.cpp:259 widgets/TimeTextCtrl.cpp:271
 msgid "hh:mm:ss"
 msgstr "гг:хх:сс"
 
@@ -5960,7 +6192,7 @@ msgstr "Створення тиші"
 msgid "Applied effect: Generate Silence, %.6lf seconds"
 msgstr "Застосовано ефект: Створення тиші, %.6lf секунд"
 
-#: effects/SimplePairedTwoTrack.h:120
+#: effects/SimplePairedTwoTrack.h:115
 msgid ""
 "Sorry, this effect cannot be performed on stereo tracks where the individual "
 "channels of the track do not match."
@@ -6089,31 +6321,31 @@ msgstr "Зубцеподібна"
 msgid "Square, no alias"
 msgstr "Квадратична, без переходів"
 
-#: effects/ToneGen.cpp:321 effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:277 effects/ToneGen.cpp:314
 msgid "Frequency (Hz)"
 msgstr "Частота (Гц)"
 
-#: effects/ToneGen.cpp:349
+#: effects/ToneGen.cpp:305
 msgid "Waveform:"
 msgstr "Хвиля:"
 
-#: effects/ToneGen.cpp:358
+#: effects/ToneGen.cpp:314
 msgid "Frequency Hertz Start"
 msgstr "Початок діапазону (Гц)"
 
-#: effects/ToneGen.cpp:359
+#: effects/ToneGen.cpp:315
 msgid "Frequency Hertz End"
 msgstr "Кінець діапазону (Гц)"
 
-#: effects/ToneGen.cpp:360
+#: effects/ToneGen.cpp:316
 msgid "Amplitude Start"
 msgstr "Початок діапазону амплітуди"
 
-#: effects/ToneGen.cpp:361
+#: effects/ToneGen.cpp:317
 msgid "Amplitude End"
 msgstr "Кінець діапазону амплітуди"
 
-#: effects/ToneGen.cpp:366
+#: effects/ToneGen.cpp:322
 msgid "Interpolation:"
 msgstr "Інтерполяція:"
 
@@ -6133,55 +6365,111 @@ msgstr "Створення щебетання"
 msgid "Generating Tone"
 msgstr "Створення хвилі"
 
-#: effects/TruncSilence.cpp:113
+#: effects/TruncSilence.cpp:133
 msgid "All tracks must have the same sample rate"
 msgstr "Всі доріжки повинні мати однакову частоту дискретизації"
 
-#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:321
+#: effects/TruncSilence.cpp:133 effects/TruncSilence.cpp:443
 msgid "Truncate Silence"
 msgstr "Обрізати тишу"
 
-#: effects/TruncSilence.cpp:345
-msgid "Max silence duration:"
-msgstr "Макс. тривалість тиші:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "Автори: Lynn Allan && Philip Van Baren"
 
-#: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:197
-#: prefs/AudioIOPrefs.cpp:200 prefs/MidiIOPrefs.cpp:174
-#: prefs/MidiIOPrefs.cpp:177
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr "Мін. тривалість тиші:"
+
+#: effects/TruncSilence.cpp:470 effects/TruncSilence.cpp:474
+#: prefs/MidiIOPrefs.cpp:169 prefs/MidiIOPrefs.cpp:171
 msgid "milliseconds"
 msgstr "мілісекунд"
 
-#: effects/TruncSilence.cpp:350
+#: effects/TruncSilence.cpp:471
+msgid "Max silence duration:"
+msgstr "Макс. тривалість тиші:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr "Стиснення тиші:"
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ":1"
+
+#: effects/TruncSilence.cpp:480
 msgid "Threshold for silence:"
 msgstr "Поріг для тиші:"
 
-#: effects/TruncSilence.cpp:374
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Тривалість має бути більшою за 1 мілісекунду"
+#: effects/TruncSilence.cpp:506
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
+"   Тривалість має бути більшою за 1 мілісекунду\n"
+"   Коефіцієнт стикання має перевищувати 1:1"
 
-#: effects/TruncSilence.h:28
+#: effects/TruncSilence.h:29
 msgid "Truncate Silence..."
 msgstr "Обрізання тихих ділянок..."
 
-#: effects/TruncSilence.h:42
+#: effects/TruncSilence.h:43
 msgid "Truncating Silence..."
 msgstr "Обрізання тиші..."
 
-#: effects/VST/VSTEffect.cpp:172
-msgid ""
-"Sorry, VST Effects cannot be performed on stereo tracks where the individual "
-"channels of the track do not match."
-msgstr ""
-"VST-ефекти не можуть застосовуватись до стерео-доріжок з невідповідними "
-"індивідуальними каналами."
+#: effects/VST/VSTEffect.cpp:256 effects/ladspa/LadspaEffect.cpp:590
+#: effects/lv2/LV2Effect.cpp:798
+msgid "Effect Settings"
+msgstr "Параметри ефекту"
+
+#: effects/VST/VSTEffect.cpp:336 effects/ladspa/LadspaEffect.cpp:555
+#: effects/ladspa/LadspaEffect.cpp:563 prefs/QualityPrefs.cpp:74
+#: prefs/TracksPrefs.cpp:48
+msgid "None"
+msgstr "Немає"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "Шаблони:"
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "Завантажити"
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "Зберегти"
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr "Завантажити програму VST:"
+
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "Помилка під час спроби завантаження програми"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr "Зберегти програму VST як:"
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr "Цей файл параметрів було збережено у %s. Продовжити?"
 
-#: effects/VST/VSTEffect.cpp:187
-msgid "Can't process replacing"
-msgstr "Не можна виконати заміну"
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "Застосовується ефект:"
 
-#: effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "Параметри додатка VST:"
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+"Обидва канали стерео-доріжки повинні мати однакову частоту дискретизації."
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr "Обидва канали стерео-доріжки повинні мати однакову тривалість."
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -6196,23 +6484,23 @@ msgstr ""
 msgid "Wahwah"
 msgstr "Wahwah"
 
-#: effects/Wahwah.cpp:231
+#: effects/Wahwah.cpp:238
 msgid "Depth (%):"
 msgstr "Глибина (%):"
 
-#: effects/Wahwah.cpp:236
+#: effects/Wahwah.cpp:246
 msgid "Resonance:"
 msgstr "Резонанс:"
 
-#: effects/Wahwah.cpp:239
+#: effects/Wahwah.cpp:249
 msgid "Resonance"
 msgstr "Резонанс"
 
-#: effects/Wahwah.cpp:241
+#: effects/Wahwah.cpp:254
 msgid "Wah Frequency Offset (%):"
 msgstr "Зсув частоти Wah (%):"
 
-#: effects/Wahwah.cpp:244
+#: effects/Wahwah.cpp:257
 msgid "Wah frequency offset in percent"
 msgstr "Зсув частоти Wah (%)"
 
@@ -6224,13 +6512,13 @@ msgstr "Wahwah..."
 msgid "Applying Wahwah"
 msgstr "Застосовується ефект \"Wahwah\""
 
-#: effects/audiounits/AudioUnitEffect.cpp:138
-#: effects/ladspa/LadspaEffect.cpp:176 effects/lv2/LV2Effect.cpp:192
+#: effects/audiounits/AudioUnitEffect.cpp:139
+#: effects/ladspa/LadspaEffect.cpp:178 effects/lv2/LV2Effect.cpp:193
 #, c-format
 msgid "Performing Effect: %s"
 msgstr "Застосовується ефект: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:196 effects/lv2/LV2Effect.cpp:212
+#: effects/ladspa/LadspaEffect.cpp:198 effects/lv2/LV2Effect.cpp:213
 msgid ""
 "Sorry, Plug-in Effects cannot be performed on stereo tracks where the "
 "individual channels of the track do not match."
@@ -6238,81 +6526,73 @@ msgstr ""
 "Цей модуль не можна виконувати на стерео доріжках, на яких окремі канали "
 "доріжки не відповідають одна одній."
 
-#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
-#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Немає"
-
-#: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:799
-#: effects/vamp/VampEffect.cpp:397
+#: effects/ladspa/LadspaEffect.cpp:557 effects/lv2/LV2Effect.cpp:773
+#: effects/vamp/VampEffect.cpp:371
 msgid "Author: "
 msgstr "Автор: "
 
-#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:824
-msgid "Effect Settings"
-msgstr "Параметри ефекту"
-
-#: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
-#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
+#: effects/ladspa/LadspaEffect.cpp:685 effects/ladspa/LadspaEffect.cpp:688
+#: effects/lv2/LV2Effect.cpp:809 effects/lv2/LV2Effect.cpp:812
 msgid "Length (seconds)"
 msgstr "Тривалість (секунд)"
 
-#: effects/lv2/LV2Effect.cpp:850 effects/lv2/LV2Effect.cpp:853
+#: effects/lv2/LV2Effect.cpp:824 effects/lv2/LV2Effect.cpp:827
 msgid "Note length (seconds)"
 msgstr "Тривалість ноти (секунд)"
 
-#: effects/lv2/LV2Effect.cpp:861 effects/lv2/LV2Effect.cpp:864
+#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
 msgid "Note velocity"
 msgstr "Нотна швидкість"
 
-#: effects/lv2/LV2Effect.cpp:872 effects/lv2/LV2Effect.cpp:875
+#: effects/lv2/LV2Effect.cpp:846 effects/lv2/LV2Effect.cpp:849
 msgid "Note key"
 msgstr "Нотний ключ"
 
-#: effects/nyquist/Nyquist.cpp:257
+#: effects/nyquist/Nyquist.cpp:73
 msgid "Applying Nyquist Effect..."
 msgstr "Застосовується ефект Найквіста..."
 
-#: effects/nyquist/Nyquist.cpp:264 effects/nyquist/Nyquist.cpp:326
+#: effects/nyquist/Nyquist.cpp:91 effects/nyquist/Nyquist.cpp:401
 msgid "Nyquist Prompt..."
 msgstr "Запит Найквіста..."
 
-#: effects/nyquist/Nyquist.cpp:327
+#: effects/nyquist/Nyquist.cpp:402
 msgid "Enter Nyquist Command: "
 msgstr "Введіть Найквіст-команду:"
 
-#: effects/nyquist/Nyquist.cpp:417
-msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
+#: effects/nyquist/Nyquist.cpp:515
+msgid ""
+"Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr ""
 "Ефект неможливо застосувати до стерео-доріжок з невідповідними "
 "індивідуальним каналами."
 
-#: effects/nyquist/Nyquist.cpp:445
+#: effects/nyquist/Nyquist.cpp:557
 msgid "Nyquist"
 msgstr "Найквіст"
 
-#: effects/nyquist/Nyquist.cpp:446
+#: effects/nyquist/Nyquist.cpp:558
 msgid "Nyquist Output: "
 msgstr "Вивід Найквіста: "
 
-#: effects/nyquist/Nyquist.cpp:603 effects/nyquist/Nyquist.cpp:614
+#: effects/nyquist/Nyquist.cpp:656 effects/nyquist/Nyquist.cpp:665
 msgid "Nyquist returned the value:"
 msgstr "Nyquist повернув значення:"
 
-#: effects/nyquist/Nyquist.cpp:656
+#: effects/nyquist/Nyquist.cpp:702
 msgid "Nyquist did not return audio.\n"
 msgstr "Модуль Найквіста не повернув звукові дані.\n"
 
-#: effects/nyquist/Nyquist.cpp:667
+#: effects/nyquist/Nyquist.cpp:711
 msgid "Nyquist returned too many audio channels.\n"
 msgstr "Модуль Найквіста повернув занадто багато звукових каналів.\n"
 
-#: effects/vamp/VampEffect.cpp:80
+#: effects/vamp/VampEffect.cpp:81
 #, c-format
 msgid "Extracting features: %s"
 msgstr "Отримання параметрів: %s"
 
-#: effects/vamp/VampEffect.cpp:111
+#: effects/vamp/VampEffect.cpp:107
 msgid ""
 "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual "
 "channels of the track do not match."
@@ -6320,47 +6600,47 @@ msgstr ""
 "Вибачте, додатки Vamp неможливо виконувати на стерео-доріжках, де окремі "
 "канали доріжки відрізняються один від одного."
 
-#: effects/vamp/VampEffect.cpp:125
+#: effects/vamp/VampEffect.cpp:121
 msgid "Sorry, failed to load Vamp Plug-in."
 msgstr "Вибачте, не вдалося завантажити додаток Vamp."
 
-#: effects/vamp/VampEffect.cpp:233
+#: effects/vamp/VampEffect.cpp:207
 msgid "Sorry, Vamp Plug-in failed to initialize."
 msgstr "Вибачте, не вдалося запустити додаток Vamp."
 
-#: effects/vamp/VampEffect.cpp:389
+#: effects/vamp/VampEffect.cpp:363
 msgid " - Vamp audio analysis plugin"
-msgstr " - Додаток аудіо-аналізу Vamp"
+msgstr " - Додаток аудіоаналізу Vamp"
 
-#: effects/vamp/VampEffect.cpp:425
+#: effects/vamp/VampEffect.cpp:399
 msgid "Plugin Settings"
 msgstr "Параметри додатка"
 
-#: effects/vamp/VampEffect.cpp:444 effects/vamp/VampEffect.cpp:450
+#: effects/vamp/VampEffect.cpp:418 effects/vamp/VampEffect.cpp:424
 msgid "Program"
 msgstr "Програма"
 
-#: export/Export.cpp:469
+#: export/Export.cpp:468
 msgid "All the selected audio is muted."
-msgstr "Весь виділений звук заглушено."
+msgstr "Весь вибраний звук заглушено."
 
-#: export/Export.cpp:471
+#: export/Export.cpp:470
 msgid "All the audio is muted."
 msgstr "Весь звук замінено тишею."
 
-#: export/Export.cpp:527
+#: export/Export.cpp:526
 msgid "Export File"
 msgstr "Експорт файла"
 
-#: export/Export.cpp:536
+#: export/Export.cpp:535
 msgid "&Options..."
 msgstr "&Параметри..."
 
-#: export/Export.cpp:577
+#: export/Export.cpp:576
 msgid "Are you sure you want to save the file as \""
 msgstr "Ви дійсно бажаєте зберегти файл як \""
 
-#: export/Export.cpp:597
+#: export/Export.cpp:596
 #, c-format
 msgid ""
 "You are about to save a %s file with the name \"%s\".\n"
@@ -6377,33 +6657,35 @@ msgstr ""
 "\n"
 "Ви справді бажаєте зберегти файл з цією назвою?"
 
-#: export/Export.cpp:618
+#: export/Export.cpp:617
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
 msgstr "Файл названий \"%s\" вже існує.  Замінити?"
 
-#: export/Export.cpp:720
-msgid "Your tracks will be mixed down to two stereo channels in the exported file."
+#: export/Export.cpp:719
+msgid ""
+"Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "У експортованому файлі доріжки будуть зведені у два стереоканали."
 
-#: export/Export.cpp:725
-msgid "Your tracks will be mixed down to a single mono channel in the exported file."
+#: export/Export.cpp:724
+msgid ""
+"Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "У експортованому файлі доріжки будуть зведені у один моноканал."
 
-#: export/Export.cpp:736
+#: export/Export.cpp:735
 msgid "Advanced Mixing Options"
 msgstr "Додаткові параметри мікшування"
 
-#: export/Export.cpp:940
+#: export/Export.cpp:943
 #, c-format
 msgid "Channel: %2d"
 msgstr "Канал: %2d"
 
-#: export/Export.cpp:1056
+#: export/Export.cpp:1058
 msgid " - Left"
 msgstr " - Ліворуч"
 
-#: export/Export.cpp:1057
+#: export/Export.cpp:1060
 msgid " - Right"
 msgstr " - Праворуч"
 
@@ -6445,32 +6727,53 @@ msgstr ""
 msgid "(external program)"
 msgstr "(зовнішня програма)"
 
-#: export/ExportCL.cpp:251 export/ExportPCM.cpp:484
+#: export/ExportCL.cpp:286 export/ExportPCM.cpp:492
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Не вдається експортувати дані у %s"
 
-#: export/ExportCL.cpp:325
+#: export/ExportCL.cpp:360
 msgid "Exporting the selected audio using command-line encoder"
-msgstr "Виділене експортується через консольний кодувальник"
+msgstr "Вибране експортується через консольний кодувальник"
 
-#: export/ExportCL.cpp:326
+#: export/ExportCL.cpp:361
 msgid "Exporting the entire project using command-line encoder"
 msgstr "Весь проект експортується через консольний кодувальник"
 
-#: export/ExportCL.cpp:388
+#: export/ExportCL.cpp:423
 msgid "Command Output"
 msgstr "Виведення команди"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
 msgid ""
 "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries."
 msgstr ""
-"Для продовження виконання дій потрібна належно налаштована бібліотека FFmpeg.\n"
-"Ви можете налаштувати цю бібліотеку за допомогою сторінки Уподобання->Імпорт/Експорт."
+"Для продовження виконання дій потрібна належно налаштована бібліотека FFmpeg."
+"\n"
+"Ви можете налаштувати цю бібліотеку за допомогою сторінки Уподобання->"
+"Бібліотеки."
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr "Підтримку AMR не передбачено у дистрибутивах програми"
 
-#: export/ExportFFmpeg.cpp:394
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
+msgstr ""
+"Для продовження роботи потрібна належним чином налаштована бібліотека FFmpeg."
+"\n"
+"Налаштувати її можна на сторінці «Уподобання > Бібліотеки».\n"
+"\n"
+"Зауважте, що у поширюваній нами версії FFmpeg не передбачено підтримки\n"
+"AMR, для цього вам доведеться зібрати FFmpeg власноруч."
+
+#: export/ExportFFmpeg.cpp:433
 #, c-format
 msgid ""
 "FFmpeg cannot find audio codec 0x%x.\n"
@@ -6479,28 +6782,30 @@ msgstr ""
 "FFmpeg не вдалося знайти звукового кодека 0x%x.\n"
 "Ймовірно, бібліотеку було зібрано без підтримки цього кодека."
 
-#: export/ExportFFmpeg.cpp:614
+#: export/ExportFFmpeg.cpp:655
 #, c-format
 msgid ""
 "Attempted to export %d channels, but max. channels for selected output "
 "format is %d"
-msgstr "Спроба експорту з %d каналами, але максимальною кількістю каналів для обраного формату виводу є %d"
+msgstr ""
+"Спроба експорту з %d каналами, але максимальною кількістю каналів для "
+"обраного формату виводу є %d"
 
-#: export/ExportFFmpeg.cpp:643
+#: export/ExportFFmpeg.cpp:684
 #, c-format
 msgid "Exporting selected audio as %s"
 msgstr "Експорт обраних звукових даних як %s"
 
-#: export/ExportFFmpeg.cpp:644
+#: export/ExportFFmpeg.cpp:685
 #, c-format
 msgid "Exporting entire file as %s"
 msgstr "Експорт всього файла як %s"
 
-#: export/ExportFFmpeg.cpp:707 export/ExportMP3.cpp:1772
+#: export/ExportFFmpeg.cpp:748 export/ExportMP3.cpp:1777
 msgid "Invalid sample rate"
 msgstr "Некоректна частота дискретизації"
 
-#: export/ExportFFmpeg.cpp:720
+#: export/ExportFFmpeg.cpp:761
 #, c-format
 msgid ""
 "The project sample rate (%d) is not supported by the current output\n"
@@ -6509,7 +6814,7 @@ msgstr ""
 "Частота дискретизації проекту (%d) не підтримується поточним форматом\n"
 "файла виводу даних.  "
 
-#: export/ExportFFmpeg.cpp:723
+#: export/ExportFFmpeg.cpp:764
 #, c-format
 msgid ""
 "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
@@ -6518,11 +6823,11 @@ msgstr ""
 "Набір частоти дискретизації проекту (%d) та швидкості (%d кб/с)\n"
 "не підтримується поточним форматом файла виводу.  "
 
-#: export/ExportFFmpeg.cpp:726 export/ExportMP3.cpp:1791
+#: export/ExportFFmpeg.cpp:767 export/ExportMP3.cpp:1796
 msgid "You may resample to one of the rates below."
 msgstr "Ви можете змінити частоту на одну з наведених нижче."
 
-#: export/ExportFFmpeg.cpp:754 export/ExportMP3.cpp:1814
+#: export/ExportFFmpeg.cpp:795 export/ExportMP3.cpp:1819
 msgid "Sample Rates"
 msgstr "Частоти дискретизації"
 
@@ -6536,7 +6841,7 @@ msgstr "Налаштування експорту до AC3"
 
 #: export/ExportFFmpegDialogs.cpp:116 export/ExportFFmpegDialogs.cpp:234
 #: export/ExportFFmpegDialogs.cpp:298 export/ExportFFmpegDialogs.cpp:364
-#: export/ExportFFmpegDialogs.cpp:924 export/ExportMP2.cpp:131
+#: export/ExportFFmpegDialogs.cpp:926 export/ExportMP2.cpp:131
 msgid "Bit Rate:"
 msgstr "Частота бітів:"
 
@@ -6548,6 +6853,11 @@ msgstr "Вказати параметри AAC"
 msgid "AAC Export Setup"
 msgstr "Налаштування експорту до AAC"
 
+#: export/ExportFFmpegDialogs.cpp:172 export/ExportFFmpegDialogs.cpp:929
+#: export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "Якість:"
+
 #: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
 msgstr "Вказати параметри AMR-NB"
@@ -6572,95 +6882,97 @@ msgstr "Вказати параметри WMA"
 msgid "WMA Export Setup"
 msgstr "Налаштування експорту до WMA"
 
-#: export/ExportFFmpegDialogs.cpp:488
+#: export/ExportFFmpegDialogs.cpp:491
 #, c-format
 msgid "Overwrite preset '%s'?"
 msgstr "Перезаписати шаблон '%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:489
+#: export/ExportFFmpegDialogs.cpp:492
 msgid "Confirm Overwrite"
 msgstr "Підтвердити перезапис"
 
-#: export/ExportFFmpegDialogs.cpp:501
+#: export/ExportFFmpegDialogs.cpp:504
 msgid "Please select format before saving a profile"
 msgstr "Будь ласка, оберіть формат, перш ніж зберігати профіль"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:512
 msgid "Please select codec before saving a profile"
 msgstr "Будь ласка, оберіть кодек, перш ніж зберігати профіль"
 
-#: export/ExportFFmpegDialogs.cpp:580
+#: export/ExportFFmpegDialogs.cpp:582
 #, c-format
 msgid "Preset '%s' does not exist."
 msgstr "Шаблона «%s» не існує."
 
-#: export/ExportFFmpegDialogs.cpp:795
+#: export/ExportFFmpegDialogs.cpp:797
 msgid "Specify Other Options"
 msgstr "Вказати інші параметри"
 
-#: export/ExportFFmpegDialogs.cpp:884
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Preset:"
 msgstr "Шаблон:"
 
-#: export/ExportFFmpegDialogs.cpp:885
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Load Preset"
 msgstr "Завантажити шаблон"
 
-#: export/ExportFFmpegDialogs.cpp:886
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Save Preset"
 msgstr "Зберегти шаблон"
 
-#: export/ExportFFmpegDialogs.cpp:887
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Delete Preset"
 msgstr "Вилучити шаблон"
 
-#: export/ExportFFmpegDialogs.cpp:888
+#: export/ExportFFmpegDialogs.cpp:890
 msgid "Import Presets"
 msgstr "Імпортувати шаблони"
 
-#: export/ExportFFmpegDialogs.cpp:889
+#: export/ExportFFmpegDialogs.cpp:891
 msgid "Export Presets"
 msgstr "Експортувати шаблони"
 
-#: export/ExportFFmpegDialogs.cpp:894
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Format:"
 msgstr "Формат:"
 
-#: export/ExportFFmpegDialogs.cpp:896
+#: export/ExportFFmpegDialogs.cpp:898
 msgid "Codec:"
 msgstr "Кодек:"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:902
 msgid ""
 "Not all formats and codecs are compatible. Some parameters (such as bitrate "
 "and samplerate) combinations are not compatible with some codecs too."
-msgstr "Не всі формати і кодеки є сумісними. Певні комбінації параметрів (зокрема бітової частоти і частоти вибірки) також несумісні з деякими кодеками."
+msgstr ""
+"Не всі формати і кодеки є сумісними. Певні комбінації параметрів (зокрема "
+"бітової частоти і частоти вибірки) також несумісні з деякими кодеками."
 
-#: export/ExportFFmpegDialogs.cpp:903
+#: export/ExportFFmpegDialogs.cpp:905
 msgid "Format selector:"
 msgstr "Вибір формату:"
 
-#: export/ExportFFmpegDialogs.cpp:904
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Codec selector:"
 msgstr "Вибір кодека:"
 
-#: export/ExportFFmpegDialogs.cpp:906
+#: export/ExportFFmpegDialogs.cpp:908
 msgid "Show All Formats"
 msgstr "Показувати всі формати"
 
-#: export/ExportFFmpegDialogs.cpp:907
+#: export/ExportFFmpegDialogs.cpp:909
 msgid "Show All Codecs"
 msgstr "Показувати всі кодеки"
 
-#: export/ExportFFmpegDialogs.cpp:914
+#: export/ExportFFmpegDialogs.cpp:916
 msgid "Options"
 msgstr "Параметри"
 
-#: export/ExportFFmpegDialogs.cpp:918 prefs/GUIPrefs.cpp:166
+#: export/ExportFFmpegDialogs.cpp:920 prefs/GUIPrefs.cpp:116
 msgid "Language:"
 msgstr "Мова:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:921
 msgid ""
 "ISO 639 3-letter language code\n"
 "Optional\n"
@@ -6670,11 +6982,11 @@ msgstr ""
 "Необов’язковий\n"
 "за порожнього значення — автоматично"
 
-#: export/ExportFFmpegDialogs.cpp:921
+#: export/ExportFFmpegDialogs.cpp:923
 msgid "Tag:"
 msgstr "Мітка:"
 
-#: export/ExportFFmpegDialogs.cpp:922
+#: export/ExportFFmpegDialogs.cpp:924
 msgid ""
 "Codec tag (FOURCC)\n"
 "Optional\n"
@@ -6684,39 +6996,37 @@ msgstr ""
 "Необов’язкова\n"
 "за порожнього значення — автоматично"
 
-#: export/ExportFFmpegDialogs.cpp:925
+#: export/ExportFFmpegDialogs.cpp:927
 msgid ""
 "Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
-"Бітова швидкість (бітів/секунду) — впливає на розмір отриманого файла і якість\n"
-"За деяких кодеків можна використовувати лише певні значення (128k, 192k, 256k тощо)\n"
+"Бітова швидкість (бітів/секунду) — впливає на розмір отриманого файла і "
+"якість\n"
+"За деяких кодеків можна використовувати лише певні значення (128k, 192k, "
+"256k тощо)\n"
 "0 — автоматично\n"
 "Рекомендоване значення — 192000"
 
-#: export/ExportFFmpegDialogs.cpp:927 export/ExportOGG.cpp:84
-msgid "Quality:"
-msgstr "Якість:"
-
-#: export/ExportFFmpegDialogs.cpp:928
+#: export/ExportFFmpegDialogs.cpp:930
 msgid ""
-"Overral quality, used differently by different codecs\n"
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
-"Якість, використовується у різних кодеках по-різному\n"
+"Загальна якість, використовується у різних кодеках по-різному\n"
 "Потрібна для vorbis\n"
 "0 — автоматично\n"
 "-1 — вимкнути (використовувати бітову швидкість)"
 
-#: export/ExportFFmpegDialogs.cpp:930
+#: export/ExportFFmpegDialogs.cpp:932
 msgid "Sample Rate:"
 msgstr "Частота дискретизації:"
 
-#: export/ExportFFmpegDialogs.cpp:931
+#: export/ExportFFmpegDialogs.cpp:933
 msgid ""
 "Sample rate (Hz)\n"
 "0 - don't change sample rate"
@@ -6724,25 +7034,25 @@ msgstr ""
 "Частота вибірки (Гц)\n"
 "0 — не змінювати частоту вибірки"
 
-#: export/ExportFFmpegDialogs.cpp:933
+#: export/ExportFFmpegDialogs.cpp:935
 msgid "Cutoff Bandwidth:"
 msgstr "Ширина смуги:"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:936
 msgid ""
 "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 "Ширина смуги пропускання звуку (Гц)\n"
 "Необов’язкова\n"
-"0 — автоматично\n"
+"0 — автоматично"
 
-#: export/ExportFFmpegDialogs.cpp:936
+#: export/ExportFFmpegDialogs.cpp:938
 msgid "Profile:"
 msgstr "Профіль:"
 
-#: export/ExportFFmpegDialogs.cpp:938
+#: export/ExportFFmpegDialogs.cpp:940
 msgid ""
 "AAC Profile\n"
 "Low Complexity -default\n"
@@ -6752,23 +7062,23 @@ msgstr ""
 "Низька складність — типовий\n"
 "Більшість програвачів потребують саме такого параметра"
 
-#: export/ExportFFmpegDialogs.cpp:940
+#: export/ExportFFmpegDialogs.cpp:942
 msgid "Use Bit Reservoir"
 msgstr "Використовувати буфер бітів"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:945
 msgid "Use Variable Block Length"
 msgstr "Використовувати змінну довжину блоку"
 
-#: export/ExportFFmpegDialogs.cpp:948
+#: export/ExportFFmpegDialogs.cpp:950
 msgid "FLAC options"
 msgstr "Параметри FLAC"
 
-#: export/ExportFFmpegDialogs.cpp:952
+#: export/ExportFFmpegDialogs.cpp:954
 msgid "Compression Level:"
 msgstr "Рівень стискання:"
 
-#: export/ExportFFmpegDialogs.cpp:953
+#: export/ExportFFmpegDialogs.cpp:955
 msgid ""
 "Compression level\n"
 "Required for FLAC\n"
@@ -6782,11 +7092,11 @@ msgstr ""
 "min — 0 (швидке кодування, великі вихідні файли)\n"
 "max — 10 (повільне кодування, малі вихідні файли)"
 
-#: export/ExportFFmpegDialogs.cpp:955
+#: export/ExportFFmpegDialogs.cpp:957
 msgid "Frame Size:"
 msgstr "Розмір фрейма:"
 
-#: export/ExportFFmpegDialogs.cpp:956
+#: export/ExportFFmpegDialogs.cpp:958
 msgid ""
 "Frame size\n"
 "Optional\n"
@@ -6800,11 +7110,11 @@ msgstr ""
 "min — 16\n"
 "max — 65535"
 
-#: export/ExportFFmpegDialogs.cpp:958
+#: export/ExportFFmpegDialogs.cpp:960
 msgid "LPC coefficients precision"
 msgstr "Точність коефіцієнтів LPC"
 
-#: export/ExportFFmpegDialogs.cpp:959
+#: export/ExportFFmpegDialogs.cpp:961
 msgid ""
 "LPC coefficients precision\n"
 "Optional\n"
@@ -6818,11 +7128,11 @@ msgstr ""
 "min — 1\n"
 "max — 15"
 
-#: export/ExportFFmpegDialogs.cpp:961
+#: export/ExportFFmpegDialogs.cpp:963
 msgid "Minimal prediction order"
 msgstr "Мінімальний порядок передбачення"
 
-#: export/ExportFFmpegDialogs.cpp:962
+#: export/ExportFFmpegDialogs.cpp:964
 msgid ""
 "Minimal prediction order\n"
 "Optional\n"
@@ -6836,11 +7146,11 @@ msgstr ""
 "min — 0\n"
 "max — 32 (з LPC) або 4 (без LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:964
+#: export/ExportFFmpegDialogs.cpp:966
 msgid "Maximal prediction order"
 msgstr "Максимальний порядок передбачення"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:967
 msgid ""
 "Maximal prediction order\n"
 "Optional\n"
@@ -6854,11 +7164,11 @@ msgstr ""
 "min — 0\n"
 "max — 32 (з LPC) або 4 (без LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:967
+#: export/ExportFFmpegDialogs.cpp:969
 msgid "Prediction Order Method:"
 msgstr "Метод передбачення порядку:"
 
-#: export/ExportFFmpegDialogs.cpp:969
+#: export/ExportFFmpegDialogs.cpp:971
 msgid ""
 "Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
@@ -6870,11 +7180,11 @@ msgstr ""
 "Пошук у журналі — найповільніший, найкраще стискання\n"
 "Повний пошук — типовий"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:973
 msgid "Minimal partition order"
 msgstr "Мінімальний порядок поділу"
 
-#: export/ExportFFmpegDialogs.cpp:972
+#: export/ExportFFmpegDialogs.cpp:974
 msgid ""
 "Minimal partition order\n"
 "Optional\n"
@@ -6888,11 +7198,11 @@ msgstr ""
 "min — 0\n"
 "max — 8"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:976
 msgid "Maximal partition order"
 msgstr "Максимальний порядок поділу"
 
-#: export/ExportFFmpegDialogs.cpp:975
+#: export/ExportFFmpegDialogs.cpp:977
 msgid ""
 "Maximal partition order\n"
 "Optional\n"
@@ -6906,19 +7216,19 @@ msgstr ""
 "min — 0\n"
 "max — 8"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:979
 msgid "Use LPC"
 msgstr "Використовувати LPC"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:986
 msgid "MPEG container options"
 msgstr "Параметри контейнера MPEG"
 
-#: export/ExportFFmpegDialogs.cpp:988
+#: export/ExportFFmpegDialogs.cpp:990
 msgid "Mux Rate:"
 msgstr "Максимальна швидкість:"
 
-#: export/ExportFFmpegDialogs.cpp:989
+#: export/ExportFFmpegDialogs.cpp:991
 msgid ""
 "Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
@@ -6928,11 +7238,11 @@ msgstr ""
 "Необов’язкова\n"
 "0 — типова"
 
-#: export/ExportFFmpegDialogs.cpp:991
+#: export/ExportFFmpegDialogs.cpp:993
 msgid "Packet Size:"
 msgstr "Розмір пакета:"
 
-#: export/ExportFFmpegDialogs.cpp:992
+#: export/ExportFFmpegDialogs.cpp:994
 msgid ""
 "Packet size\n"
 "Optional\n"
@@ -6942,97 +7252,97 @@ msgstr ""
 "Необов’язковий\n"
 "0 — типовий"
 
-#: export/ExportFFmpegDialogs.cpp:1207
+#: export/ExportFFmpegDialogs.cpp:1209
 msgid "You can't delete a preset without name"
 msgstr "Ви не можете вилучати шаблон без назви"
 
-#: export/ExportFFmpegDialogs.cpp:1211
+#: export/ExportFFmpegDialogs.cpp:1213
 #, c-format
 msgid "Delete preset '%s'?"
 msgstr "Вилучити шаблон «%s»?"
 
-#: export/ExportFFmpegDialogs.cpp:1230
+#: export/ExportFFmpegDialogs.cpp:1232
 msgid "You can't save a preset without name"
 msgstr "Ви не можете зберігати шаблон без назви"
 
-#: export/ExportFFmpegDialogs.cpp:1270
+#: export/ExportFFmpegDialogs.cpp:1272
 msgid "Select xml file with presets to import"
 msgstr "Оберіть файл xml з шаблонами для імпортування"
 
-#: export/ExportFFmpegDialogs.cpp:1273 export/ExportFFmpegDialogs.cpp:1293
-#: prefs/KeyConfigPrefs.cpp:215
+#: export/ExportFFmpegDialogs.cpp:1275 export/ExportFFmpegDialogs.cpp:1295
+#: prefs/KeyConfigPrefs.cpp:228 prefs/KeyConfigPrefs.cpp:259
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "XML файли (*.xml)|*.xml|Усі файли (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1290
+#: export/ExportFFmpegDialogs.cpp:1292
 msgid "Select xml file to export presets into"
 msgstr "Оберіть файл xml для експортування до нього шаблонів"
 
-#: export/ExportFFmpegDialogs.cpp:1361
+#: export/ExportFFmpegDialogs.cpp:1363
 msgid "Failed to guess format"
 msgstr "Не вдалося визначити формат"
 
-#: export/ExportFFmpegDialogs.cpp:1403
+#: export/ExportFFmpegDialogs.cpp:1405
 msgid "Failed to find the codec"
 msgstr "Не вдалося знайти кодек"
 
-#: export/ExportFFmpegDialogs.h:53
+#: export/ExportFFmpegDialogs.h:54
 msgid "M4A (AAC) Files (FFmpeg)"
 msgstr "Файли M4A (AAC) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:54
+#: export/ExportFFmpegDialogs.h:55
 msgid "AC3 Files (FFmpeg)"
 msgstr "Файли AC3 (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr "Файли AMR (вузькосмугові) (FFmpeg)"
-
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr "Файли AMR (широкосмугові) (FFmpeg)"
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "Файли AMR (вузькосмугові) (FFmpeg, не пакується у дистрибутивах)"
 
 #: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "Файли AMR (широкосмугові) (FFmpeg, не пакується у дистрибутивах)"
+
+#: export/ExportFFmpegDialogs.h:58
 msgid "WMA (version 2) Files (FFmpeg)"
 msgstr "Файли WMA (версії 2) (FFmpeg)"
 
-#: export/ExportFFmpegDialogs.h:58
+#: export/ExportFFmpegDialogs.h:59
 msgid "Custom FFmpeg Export"
 msgstr "Нетиповий експорт до FFmpeg"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "LTP"
 msgstr "LTP"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Low Complexity"
 msgstr "Низька складність"
 
-#: export/ExportFFmpegDialogs.h:373
+#: export/ExportFFmpegDialogs.h:374
 msgid "Main profile"
 msgstr "Основний профіль"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "2-level"
 msgstr "2-рівневий"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "4-level"
 msgstr "4-рівневий"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "8-level"
 msgstr "8-рівневий"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Estimate"
 msgstr "Оцінити"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Full search"
 msgstr "Повний пошук"
 
-#: export/ExportFFmpegDialogs.h:676
+#: export/ExportFFmpegDialogs.h:677
 msgid "Log search"
 msgstr "Пошук за журналом"
 
@@ -7100,11 +7410,25 @@ msgstr "Бітова глибина:"
 msgid "FLAC Files"
 msgstr "Файли FLAC"
 
-#: export/ExportFLAC.cpp:310
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "Інструментові експорту до FLAC не вдалося відкрити %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+"Не вдалося ініціалізувати інструмент кодування FLAC\n"
+"Стан: %d"
+
+#: export/ExportFLAC.cpp:324
 msgid "Exporting the selected audio as FLAC"
-msgstr "Експорт виділеного аудіо як FLAC"
+msgstr "Експорт вибраного аудіо як FLAC"
 
-#: export/ExportFLAC.cpp:311
+#: export/ExportFLAC.cpp:325
 msgid "Exporting the entire project as FLAC"
 msgstr "Експорт всього проекту до FLAC"
 
@@ -7122,18 +7446,19 @@ msgstr "Файли MP2"
 
 #: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
-msgstr "Неможливо експортувати MP2 з цією частотою дискретизації та бітовою частотою"
+msgstr ""
+"Неможливо експортувати MP2 з цією частотою дискретизації та бітовою частотою"
 
-#: export/ExportMP2.cpp:241 export/ExportMP3.cpp:1618 export/ExportOGG.cpp:184
+#: export/ExportMP2.cpp:241 export/ExportMP3.cpp:1619 export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "Не вдається відкрити кінцевий файл для запису"
 
-#: export/ExportMP2.cpp:272
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting selected audio at %d kbps"
-msgstr "Експорт виділеного аудіо на %d кб/с"
+msgstr "Експорт вибраного аудіо на %d кб/с"
 
-#: export/ExportMP2.cpp:273
+#: export/ExportMP2.cpp:274
 #, c-format
 msgid "Exporting entire file at %d kbps"
 msgstr "Експорт всього файла на %d кб/с"
@@ -7154,8 +7479,8 @@ msgstr "(Найстисліше)"
 msgid "Fast"
 msgstr "Швидка"
 
-#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:41
-#: prefs/GUIPrefs.cpp:49
+#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:50
+#: prefs/TracksPrefs.cpp:46
 msgid "Standard"
 msgstr "Стандартна"
 
@@ -7199,8 +7524,7 @@ msgstr "Усереднена"
 msgid "Constant"
 msgstr "Стала"
 
-#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
-#: prefs/QualityPrefs.cpp:43
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:38
 msgid "Quality"
 msgstr "Якість"
 
@@ -7240,10 +7564,11 @@ msgid ""
 "Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
-"Було здійснено спробу з’єднатися з бібліотекою lame_enc.dll v%d.%d. Ця версія бібліотеки не є сумісною з Audacity %d.%d.%d.\n"
+"Було здійснено спробу з’єднатися з бібліотекою lame_enc.dll v%d.%d. Ця "
+"версія бібліотеки не є сумісною з Audacity %d.%d.%d.\n"
 "Будь ласка, звантажте найостаннішу версію бібліотеки LAME MP3."
 
-#: export/ExportMP3.cpp:1327
+#: export/ExportMP3.cpp:1328
 msgid ""
 "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|"
 "All Files (*.*)|*"
@@ -7251,7 +7576,7 @@ msgstr ""
 "Лише lame_enc.dll|lame_enc.dll|Динамічні бібліотеки (*.dll)|*.dll|Усі файли "
 "(*.*)|*"
 
-#: export/ExportMP3.cpp:1345
+#: export/ExportMP3.cpp:1346
 msgid ""
 "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|"
 "All Files (*)|*"
@@ -7259,7 +7584,7 @@ msgstr ""
 "Тільки libmp3lame.dylib|libmp3lame.dylib|Динамічні бібліотеки (*.dylib)|*."
 "dylib|Всі файли (*)|*"
 
-#: export/ExportMP3.cpp:1363
+#: export/ExportMP3.cpp:1364
 msgid ""
 "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|"
 "Extended Libraries (*.so*)|*.so*|All Files (*)|*"
@@ -7267,58 +7592,58 @@ msgstr ""
 "Лише libmp3lame.so|libmp3lame.so|Первинні спільні бібліотеки (*.so)|*.so|"
 "Розширені бібліотеки (*.so*)|*.so*|Усі файли (*)|*"
 
-#: export/ExportMP3.cpp:1499
+#: export/ExportMP3.cpp:1500
 msgid "MP3 Files"
 msgstr "Файли MP3"
 
-#: export/ExportMP3.cpp:1523
+#: export/ExportMP3.cpp:1524
 msgid "Could not open MP3 encoding library!"
 msgstr "Не вдається відкрити бібліотеку для експорту у MP3!"
 
-#: export/ExportMP3.cpp:1530
+#: export/ExportMP3.cpp:1531
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "Неправильна, або непідтримувана бібліотека стиснення MP3!"
 
-#: export/ExportMP3.cpp:1607
+#: export/ExportMP3.cpp:1608
 msgid "Unable to initialize MP3 stream"
 msgstr "Не вдалося започаткувати потік MP3"
 
-#: export/ExportMP3.cpp:1650
+#: export/ExportMP3.cpp:1652
 #, c-format
 msgid "Exporting selected audio with %s preset"
-msgstr "Експорт виділеного аудіо за шаблоном %s"
+msgstr "Експорт вибраного аудіо за шаблоном %s"
 
-#: export/ExportMP3.cpp:1651
+#: export/ExportMP3.cpp:1653
 #, c-format
 msgid "Exporting entire file with %s preset"
 msgstr "Експорт цілого файла за шаблоном %s"
 
-#: export/ExportMP3.cpp:1656
+#: export/ExportMP3.cpp:1658
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
-msgstr "Експорт виділеного аудіо з якістю VBR %s"
+msgstr "Експорт вибраного аудіо з якістю VBR %s"
 
-#: export/ExportMP3.cpp:1657
+#: export/ExportMP3.cpp:1659
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
 msgstr "Експорт цілого файла з якістю VBR %s"
 
-#: export/ExportMP3.cpp:1662
+#: export/ExportMP3.cpp:1664
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
-msgstr "Експорт виділеного аудіо на швидкості %d кБ/с"
+msgstr "Експорт вибраного аудіо на швидкості %d кБ/с"
 
-#: export/ExportMP3.cpp:1663
+#: export/ExportMP3.cpp:1665
 #, c-format
 msgid "Exporting entire file at %d Kbps"
 msgstr "Експорт цілого файла на швидкості %d кБ/с"
 
-#: export/ExportMP3.cpp:1697
+#: export/ExportMP3.cpp:1699
 #, c-format
 msgid "Error %d returned from MP3 encoder"
 msgstr "Модуль кодування MP3 повернув помилку %d"
 
-#: export/ExportMP3.cpp:1785
+#: export/ExportMP3.cpp:1790
 #, c-format
 msgid ""
 "The project sample rate (%d) is not supported by the MP3\n"
@@ -7327,7 +7652,7 @@ msgstr ""
 "Частота дискретизації проекту (%d) не підтримується форматом\n"
 "файлів MP3.  "
 
-#: export/ExportMP3.cpp:1788
+#: export/ExportMP3.cpp:1793
 #, c-format
 msgid ""
 "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
@@ -7336,12 +7661,11 @@ msgstr ""
 "Набір частоти дискретизації проекту (%d) та швидкості (%d кб/с)\n"
 "не підтримується форматом файлів MP3.  "
 
-#: export/ExportMP3.cpp:1965
+#: export/ExportMP3.cpp:1970
 msgid "MP3 export library not found"
 msgstr "Не знайдено бібліотеку експорту до MP3"
 
 #: export/ExportMultiple.cpp:93 export/ExportMultiple.cpp:424
-#: export/ExportMultiple.cpp:670 export/ExportMultiple.cpp:847
 msgid "Export Multiple"
 msgstr "Експорт у декілька файлів"
 
@@ -7378,10 +7702,6 @@ msgstr "Параметри..."
 msgid "Export location:"
 msgstr "Каталог для експорту:"
 
-#: export/ExportMultiple.cpp:242 prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Вибрати..."
-
 #: export/ExportMultiple.cpp:243
 msgid "Create"
 msgstr "Створити"
@@ -7406,10 +7726,6 @@ msgstr "Назва першого файла:"
 msgid "First file name"
 msgstr "Назва першого файла"
 
-#: export/ExportMultiple.cpp:285 export/ExportMultiple.cpp:287
-msgid "Tracks"
-msgstr "Доріжки"
-
 #: export/ExportMultiple.cpp:294
 msgid "Name files:"
 msgstr "Назви файлів:"
@@ -7443,7 +7759,42 @@ msgstr "\"%s\" успішно створено."
 msgid "Choose a location to save the exported files"
 msgstr "Виберіть каталог для експортування файлів"
 
-#: export/ExportMultiple.cpp:538
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr "Успішно експортовано %ld файл(ів) з наведеного нижче списку."
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the following %ld file(s)."
+msgstr ""
+"Після експорту %ld файла(ів) з наведеного нижче списку щось пішло не так."
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+"Експортування було скасовано після завершення експорту %ld файл(ів) з "
+"наведеними нижче назвами."
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+"Експортування було зупинено після завершення експорту %ld файл(ів) з "
+"наведеними нижче назвами."
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+"Після експорту %ld файла(ів) з наведеними нижче назвами щось пішло не так."
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "Експорт до декількох файлів"
+
+#: export/ExportMultiple.cpp:570
 #, c-format
 msgid ""
 "\"%s\" doesn't exist.\n"
@@ -7454,21 +7805,11 @@ msgstr ""
 "\n"
 "Створити?"
 
-#: export/ExportMultiple.cpp:640 export/ExportMultiple.cpp:785
+#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:804
 msgid "Edit metadata"
 msgstr "Змінити метадані"
 
-#: export/ExportMultiple.cpp:667 export/ExportMultiple.cpp:844
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Успішно експортовано %d файл(ів)."
-
-#: export/ExportMultiple.cpp:668 export/ExportMultiple.cpp:845
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Після експорту %d файла(ів) щось пішло не так."
-
-#: export/ExportMultiple.cpp:898
+#: export/ExportMultiple.cpp:923
 #, c-format
 msgid ""
 "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7489,11 +7830,11 @@ msgstr "Налаштування експорту до Ogg Vorbis"
 msgid "Ogg Vorbis Files"
 msgstr "Файли Ogg Vorbis"
 
-#: export/ExportOGG.cpp:255
+#: export/ExportOGG.cpp:256
 msgid "Exporting the selected audio as Ogg Vorbis"
-msgstr "Виділене експортується у файл Ogg Vorbis"
+msgstr "Вибране експортується у файл Ogg Vorbis"
 
-#: export/ExportOGG.cpp:256
+#: export/ExportOGG.cpp:257
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "Весь проект експортується у файл Ogg Vorbis"
 
@@ -7509,7 +7850,7 @@ msgstr "Налаштування експорту без стискання"
 msgid "Header:"
 msgstr "Заголовок:"
 
-#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:366
+#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:376
 msgid "Encoding:"
 msgstr "Кодування:"
 
@@ -7537,23 +7878,23 @@ msgstr "GSM 6.10 WAV (мобільний)"
 msgid "Cannot export audio in this format."
 msgstr "Не вдається експортувати дані у цьому форматі."
 
-#: export/ExportPCM.cpp:518
+#: export/ExportPCM.cpp:526
 #, c-format
 msgid "Exporting the selected audio as %s"
-msgstr "Експортування виділеного аудіо як %s"
+msgstr "Експортування вибраного аудіо як %s"
 
-#: export/ExportPCM.cpp:520
+#: export/ExportPCM.cpp:528
 #, c-format
 msgid "Exporting the entire project as %s"
 msgstr "Експортування всього проекту як %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:556
+#: export/ExportPCM.cpp:564
 #, c-format
 msgid "Error (file may not have been written): %s"
 msgstr "Помилка (можливо, файл не записано): %s"
 
-#: export/ExportPCM.cpp:723
+#: export/ExportPCM.cpp:735
 msgid "There are no options for this format.\n"
 msgstr "Для цього формату параметри не доступні.\n"
 
@@ -7561,38 +7902,40 @@ msgstr "Для цього формату параметри не доступн
 #. * the list. So you should translate the quoted string
 #. * 'Other uncompressed files' exactly the same as you do the same string
 #. * when it comes up on it's own.
-#: export/ExportPCM.cpp:728
+#: export/ExportPCM.cpp:740
 msgid ""
 "If you need more control over the export format please use the 'Other "
 "uncompressed files' format."
-msgstr "Якщо у вас виникла потреба у керуванні цим форматом експорту, будь ласка, скористайтеся форматом «Інші нестиснуті файли»."
+msgstr ""
+"Якщо у вас виникла потреба у керуванні цим форматом експорту, будь ласка, "
+"скористайтеся форматом «Інші нестиснуті файли»."
 
-#: export/ExportPCM.cpp:733
+#: export/ExportPCM.cpp:745
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
 msgstr "Ваш файл буде експортовано як 16-бітовий AIFF (Apple/SGI).\n"
 
-#: export/ExportPCM.cpp:738
+#: export/ExportPCM.cpp:750
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
 msgstr "Ваш файл буде експортовано як 16-бітовий WAV (Microsoft).\n"
 
-#: export/ExportPCM.cpp:743
+#: export/ExportPCM.cpp:755
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
 msgstr "Ваш файл буде експортовано як GSM 6.10 WAV.\n"
 
-#: import/Import.cpp:157 import/ImportMP3.cpp:47
+#: import/Import.cpp:162 import/ImportMP3.cpp:47
 msgid "MP3 files"
 msgstr "Файли MP3"
 
-#: import/Import.cpp:176
+#: import/Import.cpp:181
 msgid "Select stream(s) to import"
 msgstr "Оберіть потоки для імпорту"
 
-#: import/Import.cpp:229
+#: import/Import.cpp:234
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "Ця версія Audacity була зібрана без підтримки %s."
 
-#: import/Import.cpp:242
+#: import/Import.cpp:247
 #, c-format
 msgid ""
 "\"%s\" \n"
@@ -7602,11 +7945,11 @@ msgid ""
 msgstr ""
 "\"%s\" \n"
 "є нотним файлом MIDI, а не файлом аудіо. \n"
-"Audacity не може відкривати цей тип файлів для відтворення, але ви "
-"можете редагувати їх, якщо виберете пункт меню Файл > Імпорт > MIDI."
+"Audacity не може відкривати цей тип файлів для відтворення, але ви можете "
+"редагувати їх, якщо виберете пункт меню Файл > Імпорт > MIDI."
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:252
+#: import/Import.cpp:257
 #, c-format
 msgid ""
 "\"%s\" is an audio CD track. \n"
@@ -7614,12 +7957,12 @@ msgid ""
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
 msgstr ""
-"\"%s\" є доріжкою Аудіо-CD. \n"
-"Audacity не може відкрити Аудіо-CD напряму. \n"
-"Експортуйте (виріжте) доріжки CD у імпортований \n"
+"\"%s\" є доріжкою аудіо-КД. \n"
+"Audacity не може відкрити аудіо-КД напряму. \n"
+"Експортуйте (виріжте) доріжки КД у імпортований \n"
 "Audacity формат, на зразок WAV або AIFF."
 
-#: import/Import.cpp:258
+#: import/Import.cpp:263
 #, c-format
 msgid ""
 "\"%s\" is a playlist file. \n"
@@ -7634,7 +7977,7 @@ msgstr ""
 "Ви можете відкрити його у текстовому редакторі та завантажити справжні "
 "звукові файли."
 
-#: import/Import.cpp:263
+#: import/Import.cpp:268
 #, c-format
 msgid ""
 "\"%s\" is a Windows Media Audio file. \n"
@@ -7643,10 +7986,10 @@ msgid ""
 msgstr ""
 "\"%s\" є файлом Windows Media Audio. \n"
 "Audacity не може відкривати цей тип файлів через патентні обмеження. \n"
-"слід перетворити цей файл на файл підтримуваного аудіо-формату, такого як "
+"слід перетворити цей файл на файл підтримуваного аудіоформату, такого як "
 "WAV або AIFF."
 
-#: import/Import.cpp:268
+#: import/Import.cpp:273
 #, c-format
 msgid ""
 "\"%s\" is an Advanced Audio Coding file. \n"
@@ -7655,10 +7998,10 @@ msgid ""
 msgstr ""
 "\"%s\" є файлом Вдосконаленого Аудіо Кодування. \n"
 "Audacity не може відкривати цей тип файлів. \n"
-"слід перетворити цей файл на файл підтримуваного аудіо-формату на зразок WAV "
+"слід перетворити цей файл на файл підтримуваного аудіоформату на зразок WAV "
 "або AIFF."
 
-#: import/Import.cpp:273
+#: import/Import.cpp:278
 #, c-format
 msgid ""
 "\"%s\" is an encrypted audio file. \n"
@@ -7667,13 +8010,13 @@ msgid ""
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
 msgstr ""
-"\"%s\" є шифрованим аудіо-файлом. \n"
+"\"%s\" є шифрованим аудіофайлом. \n"
 "Такі зазвичай продають у магазинах. \n"
 "Audacity не може відкривати цей тип файлів через шифрування. \n"
 "Спробуйте записати файл у Audacity, або записати його на CD, а потім \n"
-"копіювати доріжку CD у підтримуваний аудіо-формат, на зразок WAV або AIFF."
+"копіювати доріжку CD у підтримуваний аудіоформат, на зразок WAV або AIFF."
 
-#: import/Import.cpp:278
+#: import/Import.cpp:283
 #, c-format
 msgid ""
 "\"%s\" is a RealPlayer media file. \n"
@@ -7682,10 +8025,10 @@ msgid ""
 msgstr ""
 "\"%s\" є файлом RealPlayer. \n"
 "Audacity не може відкрити цей закритий формат. \n"
-"слід перетворити цей файл у файл підтримуваного аудіо-формату, такого як WAV "
+"слід перетворити цей файл у файл підтримуваного аудіоформату, такого як WAV "
 "або AIFF."
 
-#: import/Import.cpp:284
+#: import/Import.cpp:289
 #, c-format
 msgid ""
 "\"%s\" is a notes-based file, not an audio file. \n"
@@ -7698,7 +8041,7 @@ msgstr ""
 "Спробуйте перетворити його на файл аудіо, на зразок WAV або AIFF, а потім \n"
 "імпортувати, або записати за допомогою Audacity."
 
-#: import/Import.cpp:290
+#: import/Import.cpp:295
 #, c-format
 msgid ""
 "\"%s\" is a Musepack audio file. \n"
@@ -7716,7 +8059,7 @@ msgstr ""
 "перетворити цей файл на файл формату, \n"
 "що підтримується, на зразок WAV або AIFF."
 
-#: import/Import.cpp:296
+#: import/Import.cpp:301
 #, c-format
 msgid ""
 "\"%s\" is a Wavpack audio file. \n"
@@ -7728,7 +8071,7 @@ msgstr ""
 "Вам слід спочатку перетворити цей файл на файл формату, що підтримується, на "
 "зразок WAV або AIFF."
 
-#: import/Import.cpp:302
+#: import/Import.cpp:307
 #, c-format
 msgid ""
 "\"%s\" is a Dolby Digital audio file. \n"
@@ -7740,7 +8083,7 @@ msgstr ""
 "Вам слід спочатку перетворити цей файл на файл формату, що підтримується, на "
 "зразок WAV або AIFF."
 
-#: import/Import.cpp:308
+#: import/Import.cpp:313
 #, c-format
 msgid ""
 "\"%s\" is an Ogg Speex audio file. \n"
@@ -7752,7 +8095,7 @@ msgstr ""
 "Вам слід спочатку перетворити цей файл на файл формату, що підтримується, на "
 "зразок WAV або AIFF."
 
-#: import/Import.cpp:314
+#: import/Import.cpp:319
 #, c-format
 msgid ""
 "\"%s\" is a video file. \n"
@@ -7761,10 +8104,10 @@ msgid ""
 msgstr ""
 "\"%s\" є файлом відео. \n"
 "Audacity на даний момент не може відкривати цей тип файлів. \n"
-"Вам слід спочатку видобути звукові дані до файла у форматі, що підтримується, на "
-"зразок WAV або AIFF."
+"Вам слід спочатку видобути звукові дані до файла у форматі, що "
+"підтримується, на зразок WAV або AIFF."
 
-#: import/Import.cpp:319
+#: import/Import.cpp:324
 #, c-format
 msgid ""
 "Audacity did not recognize the type of the file '%s'.\n"
@@ -7774,7 +8117,7 @@ msgstr ""
 "Якщо цей файл не є стисненим, спробуйте імпортувати його як файл "
 "необроблених даних."
 
-#: import/Import.cpp:324
+#: import/Import.cpp:329
 #, c-format
 msgid ""
 "Audacity recognized the type of the file '%s',\n"
@@ -7787,15 +8130,22 @@ msgstr ""
 msgid "FFmpeg-compatible files"
 msgstr "Сумісні з FFmpeg файли"
 
-#: import/ImportFFmpeg.cpp:431
+#: import/ImportFFmpeg.cpp:438
 #, c-format
-msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr "Індекс[%02x] Кодек[%S], Мова[%S], Бітова швидкість[%S], К-ть каналів[%d], Тривалість[%d]"
+msgid ""
+"Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
+msgstr ""
+"Індекс[%02x] Кодек[%S], Мова[%S], Бітова швидкість[%S], К-ть каналів[%d], "
+"Тривалість[%d]"
 
 #: import/ImportFLAC.cpp:43
 msgid "FLAC files"
 msgstr "Файли FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "Файли, сумісні з GStreamer"
+
 #: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "Перелік файлів у звичайному текстовому форматі"
@@ -7868,7 +8218,7 @@ msgstr "Внутрішня логічна помилка"
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, та інші типи без стискання"
 
-#: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
+#: import/ImportPlugin.h:135 import/ImportRaw.cpp:210
 #, c-format
 msgid "Importing %s"
 msgstr "Імпортування %s"
@@ -7877,68 +8227,68 @@ msgstr "Імпортування %s"
 msgid "QuickTime files"
 msgstr "Файли QuickTime"
 
-#: import/ImportRaw.cpp:205
+#: import/ImportRaw.cpp:212
 msgid "Import Raw"
 msgstr "Імпортувати як файл необроблених даних"
 
-#: import/ImportRaw.cpp:282
+#: import/ImportRaw.cpp:292
 msgid "Import Raw Data"
 msgstr "Імпорту raw-файлі"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:327
+#: import/ImportRaw.cpp:337
 msgid "No endianness"
 msgstr "Без урахування порядку байтів"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:330
+#: import/ImportRaw.cpp:340
 msgid "Little-endian"
 msgstr "Little-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:333
+#: import/ImportRaw.cpp:343
 msgid "Big-endian"
 msgstr "Big-endian"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
 #. know the correct technical word.
-#: import/ImportRaw.cpp:336
+#: import/ImportRaw.cpp:346
 msgid "Default endianness"
 msgstr "Типовий порядок байтів"
 
-#: import/ImportRaw.cpp:355
+#: import/ImportRaw.cpp:365
 msgid "1 Channel (Mono)"
 msgstr "1 канал (моно)"
 
-#: import/ImportRaw.cpp:356
+#: import/ImportRaw.cpp:366
 msgid "2 Channels (Stereo)"
 msgstr "2 канали (стерео)"
 
-#: import/ImportRaw.cpp:358
+#: import/ImportRaw.cpp:368
 #, c-format
 msgid "%d Channels"
 msgstr "%d каналів"
 
-#: import/ImportRaw.cpp:369
+#: import/ImportRaw.cpp:379
 msgid "Byte order:"
 msgstr "Порядок байтів:"
 
-#: import/ImportRaw.cpp:372
+#: import/ImportRaw.cpp:382
 msgid "Channels:"
 msgstr "Канали:"
 
-#: import/ImportRaw.cpp:382
+#: import/ImportRaw.cpp:392
 msgid "Start offset:"
 msgstr "Початковий зсув:"
 
-#: import/ImportRaw.cpp:388
+#: import/ImportRaw.cpp:398
 msgid "Amount to import:"
 msgstr "Величина яку імпортувати:"
 
-#: import/ImportRaw.cpp:394
+#: import/ImportRaw.cpp:404
 msgid "Sample rate:"
 msgstr "Частота дискретизації:"
 
@@ -7955,199 +8305,122 @@ msgstr "Декодування форми хвилі"
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr "%s %2.0f%% завершено. Натисніть, щоб змінити фокус задачі."
 
-#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
-#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
-msgid "Audio I/O"
-msgstr "Ввід/вивід звуку"
+#: prefs/BatchPrefs.cpp:53
+msgid "Batch"
+msgstr "Пакет"
 
-#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:99
-msgid "1 (Mono)"
-msgstr "1 (моно)"
+#: prefs/BatchPrefs.cpp:75 prefs/GUIPrefs.cpp:134 prefs/TracksPrefs.cpp:99
+msgid "Behaviors"
+msgstr "Поведінка"
 
-#: prefs/AudioIOPrefs.cpp:104 prefs/MidiIOPrefs.cpp:100
-msgid "2 (Stereo)"
-msgstr "2 (стерео)"
+#: prefs/BatchPrefs.cpp:78
+msgid "&Don't apply effects in batch mode"
+msgstr "&Не застосовувати ефекти у пакетному режимі"
 
-#: prefs/AudioIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:114
-msgid "Playback"
-msgstr "Відтворення"
+#: prefs/BatchPrefs.cpp:81 prefs/GUIPrefs.cpp:147
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Режим Cl&eanSpeech (Змінений GUI)"
 
-#: prefs/AudioIOPrefs.cpp:122 prefs/AudioIOPrefs.cpp:140
-#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Пристрій"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "Пристрої"
 
-#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:121
+#: prefs/DevicePrefs.cpp:108 prefs/GUIPrefs.cpp:32
+msgid "Interface"
+msgstr "Інтерфейс"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr "Вузол"
+
+#: prefs/DevicePrefs.cpp:120 prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
 msgstr "Використовується:"
 
-#: prefs/AudioIOPrefs.cpp:126 prefs/MidiIOPrefs.cpp:122
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/DevicePrefs.cpp:128 prefs/MidiIOPrefs.cpp:114
+#: prefs/PlaybackPrefs.cpp:30
+msgid "Playback"
+msgstr "Відтворення"
 
-#: prefs/AudioIOPrefs.cpp:136 prefs/MidiIOPrefs.cpp:132
+#: prefs/DevicePrefs.cpp:141 prefs/MidiIOPrefs.cpp:128
+#: prefs/RecordingPrefs.cpp:33
 msgid "Recording"
 msgstr "Запис"
 
-#: prefs/AudioIOPrefs.cpp:142 prefs/MidiIOPrefs.cpp:138
+#: prefs/DevicePrefs.cpp:151 prefs/MidiIOPrefs.cpp:134
 msgid "Channels"
 msgstr "Канали"
 
-#: prefs/AudioIOPrefs.cpp:148 prefs/MidiIOPrefs.cpp:144
-msgid "Playthrough"
-msgstr "Наскрізний канал"
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr "Перекриття: Від&творювати інші доріжки при записі нової"
-
-#: prefs/AudioIOPrefs.cpp:153
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "&Апаратне програвання: Відтворювати нову доріжку, програючи її"
-
-#: prefs/AudioIOPrefs.cpp:155
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "&Програмне програвання: Відтворювати нову доріжку, записуючи її"
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr "&Програмне програвання: Відтворювати нову доріжку, записуючи її"
-
-#: prefs/AudioIOPrefs.cpp:161
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr "(зніміть позначку для запису «змішаного стерео»)"
-
-#: prefs/AudioIOPrefs.cpp:169 prefs/MidiIOPrefs.cpp:193
-msgid "Effects Preview"
-msgstr "Прослуховування ефекту"
-
-#: prefs/AudioIOPrefs.cpp:172
-msgid "Length of preview:"
-msgstr "Тривалість прослуховування:"
-
-#: prefs/AudioIOPrefs.cpp:177 prefs/MidiIOPrefs.cpp:157
-msgid "Cut Preview"
-msgstr "Прослуховування результату вирізання"
-
-#: prefs/AudioIOPrefs.cpp:180
-msgid "Preview before cut region:"
-msgstr "Прослуховування перед вирізанням області:"
-
-#: prefs/AudioIOPrefs.cpp:182
-msgid "Preview after cut region:"
-msgstr "Прослуховування після вирізання області:"
-
-#: prefs/AudioIOPrefs.cpp:190 prefs/MidiIOPrefs.cpp:167
-msgid "Latency"
-msgstr "Затримка"
-
-#: prefs/AudioIOPrefs.cpp:196
-msgid ""
-"Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-"Аудіо до буфера:\n"
-"(вище значення = вища латентність)"
-
-#: prefs/AudioIOPrefs.cpp:199
-msgid ""
-"Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-"Коригування на латентність:\n"
-"(від'ємне = назад)"
-
-#: prefs/AudioIOPrefs.cpp:204
-msgid "Seek Time when playing"
-msgstr "Час позиціювання під час відтворення"
-
-#: prefs/AudioIOPrefs.cpp:207 prefs/MidiIOPrefs.cpp:186
-msgid "Short period:"
-msgstr "Короткий проміжок:"
-
-#: prefs/AudioIOPrefs.cpp:209 prefs/MidiIOPrefs.cpp:188
-msgid "Long period:"
-msgstr "Довгий проміжок:"
-
-#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Пакет"
-
-#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Поведінка"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr "&Не застосовувати ефекти у пакетному режимі"
+#: prefs/DevicePrefs.cpp:241 prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (моно)"
 
-#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Режим Cl&eanSpeech (Змінений GUI)"
+#: prefs/DevicePrefs.cpp:244 prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (стерео)"
 
-#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
-#: prefs/PrefsDialog.cpp:267
+#: prefs/DirectoriesPrefs.cpp:52 prefs/PrefsDialog.cpp:193
 msgid "Directories"
 msgstr "Каталоги"
 
-#: prefs/DirectoriesPrefs.cpp:87
+#: prefs/DirectoriesPrefs.cpp:82
 msgid "Temporary files directory"
 msgstr "Тека для тимчасових файлів"
 
-#: prefs/DirectoriesPrefs.cpp:91
+#: prefs/DirectoriesPrefs.cpp:89
 msgid "Location:"
 msgstr "Розташування:"
 
-#: prefs/DirectoriesPrefs.cpp:93
+#: prefs/DirectoriesPrefs.cpp:96
 msgid "Free Space:"
 msgstr "Вільного місця:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Автозбереження"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Автоматично зберігати копію проекту у окремій теці"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Інтервал автозбереження:"
+#: prefs/DirectoriesPrefs.cpp:103
+msgid "Audio cache"
+msgstr "Кеш аудіо"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "хвилин"
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+"Відтворювати і/або записувати звук за допомогою RAM (корисно за використання "
+"повільних дисків)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr "Кеш аудіо"
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "Мінімум вільної пам’яті (МБ):"
 
-#: prefs/DirectoriesPrefs.cpp:112
+#: prefs/DirectoriesPrefs.cpp:118
 msgid ""
-"Play and/or record using RAM (useful for slow drives, but could crash with "
-"long files or recordings)"
-msgstr "Відтворювати і/або записувати звук за допомогою RAM (корисно за використання повільних дисків, але може призвести до аварійного завершення роботи, якщо запис буде задовгим)"
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
+msgstr ""
+"Якщо у системі залишиться менший за вказаний об’єм вільної пам’яті, звукові "
+"дані не будуть\n"
+"кешуватися у пам’яті і записуватимуться на диск."
 
-#: prefs/DirectoriesPrefs.cpp:121
+#: prefs/DirectoriesPrefs.cpp:126
 msgid "Choose a location to place the temporary directory"
 msgstr "Виберіть розташування каталогу тимчасових файлів"
 
-#: prefs/DirectoriesPrefs.cpp:166
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "недоступне — наведеної вище адреси не існує"
+
+#: prefs/DirectoriesPrefs.cpp:173
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "Каталог %s не існує. Створити його?"
 
-#: prefs/DirectoriesPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:175
 msgid "New Temporary Directory"
 msgstr "Новий каталог тимчасовий каталог"
 
-#: prefs/DirectoriesPrefs.cpp:187
+#: prefs/DirectoriesPrefs.cpp:193
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "Немає прав на запис у каталог %s"
 
-#: prefs/DirectoriesPrefs.cpp:199
+#: prefs/DirectoriesPrefs.cpp:207
 msgid ""
 "Changes to temporary directory will not take effect until Audacity is "
 "restarted"
@@ -8155,277 +8428,215 @@ msgstr ""
 "Зміни каталогу для зберігання тимчасових файлів не наберуть сили, доки "
 "програму Audacity не буде перезавантажено."
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr "Імпорт / Експорт"
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr "Бібліотека експорту MP3"
-
-#: prefs/FileFormatPrefs.cpp:87
-msgid "MP3 Library Version:"
-msgstr "Версія бібліотеки MP3:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr "Бібліотека MP3:"
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr "В&казати..."
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr "Бібліотека LAME MP3:"
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr "&Завантажити"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr "Бібліотека імпорту/експорту FFmpeg"
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr "Версія бібліотеки FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr "Бібліотека FFmpeg:"
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid ""
-"Note: Export quality options can be chosen by clicking the Options button in "
-"the Export dialog.\n"
-msgstr "Зауваження: параметри якості експорту можна обрати після натискання кнопки «Параметри» у діалозі експорту.\n"
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr "Під час імпорту аудіо файлів"
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "&Зробити копію нестиснутих файлів аудіо перш ніж почати їх зміну (безпечніше)"
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "&Читати нестиснуті файли аудіо напряму з оригіналу (швидше)"
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr "&Нормалізувати всі доріжки проекту"
+#: prefs/GUIPrefs.cpp:51
+msgid "In Browser"
+msgstr "У переглядачі"
 
-#: prefs/FileFormatPrefs.cpp:148
-msgid "When saving a project that depends on other audio files"
-msgstr "Збереження проекту, що залежить від інших аудіо-файлів"
+#: prefs/GUIPrefs.cpp:52
+msgid "From Internet"
+msgstr "З Інтернету"
 
-#: prefs/FileFormatPrefs.cpp:151
-msgid "Always &copy all audio into project (safest)"
-msgstr "Завжди &копіювати все аудіо до проекту (найбезпечніше)"
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:152
-msgid "&Do not copy any audio"
-msgstr "&Не копіювати жодного аудіо"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:153
-msgid "&Ask user"
-msgstr "&Питати користувача"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:157
-msgid "When exporting tracks to an audio file"
-msgstr "Коли експортуються доріжки до аудіо-файла"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:160
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "Зав&жди мікшувати всі доріжки до стерео або моно каналів."
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/FileFormatPrefs.cpp:161
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
-"&Використовувати особливе мікшування (наприклад для експорту 5.1-канального "
-"файла)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: prefs/FileFormatPrefs.cpp:163
-msgid "S&how Metadata Editor prior to export step"
-msgstr "По&казувати редактор метаданих перед кроком експорту"
+#: prefs/GUIPrefs.cpp:61
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 дБ (малий діапазон для редагування сигналу з високою амплітудою)"
 
-#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Інтерфейс"
+#: prefs/GUIPrefs.cpp:62
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 дБ (діапазон ІКМ при 8 бітах)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "У переглядачі"
+#: prefs/GUIPrefs.cpp:63
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 дБ (діапазон ІКМ при 10 бітах)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "З Інтернету"
+#: prefs/GUIPrefs.cpp:64
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 дБ (діапазон ІКМ при 16 бітах)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Простий"
+#: prefs/GUIPrefs.cpp:65
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 дБ (поріг чутливості вуха людини)"
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "&Оновлювати відображення під час відтворення"
+#: prefs/GUIPrefs.cpp:66
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 дБ (діапазон ІКМ при 24 бітах)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr "За&криття останнього вікна завершує Audacity"
+#: prefs/GUIPrefs.cpp:96 prefs/SpectrumPrefs.cpp:129 prefs/TracksPrefs.cpp:75
+msgid "Display"
+msgstr "Показ"
 
 #: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Дозволити &перетягування лівої і правої границь вибору"
-
-#: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
 msgstr "&Ергономічний порядок кнопок аудіо введення/виведення"
 
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Автоматично &робити доріжки вертикально масштабованими"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "Пока&зувати повідомлення з привітанням під час запуску"
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "«Перемістити фокус доріжки» &циклічно повторюється між доріжками"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "Діапазон індикатора/форми хвилі у дБ:"
 
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "Редагування відрізку може пересувати інші"
+#: prefs/GUIPrefs.cpp:123
+msgid "Help:"
+msgstr "Довідка:"
 
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "&Обирати все аудіо у проекті, якщо нічого не виділено"
+#: prefs/GUIPrefs.cpp:136
+msgid "Cl&osing last window quits Audacity"
+msgstr "За&криття останнього вікна завершує Audacity"
 
-#: prefs/GUIPrefs.cpp:110
+#: prefs/GUIPrefs.cpp:139
 msgid "&Beep on completion of longer activities"
 msgstr "&Дзвінок після завершення довготривалих операцій"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Показати / сховати"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "Дозволити &лінії розрізання"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Показати попередження про &тимчасові файли"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr "&Показувати запит на збереження, навіть якщо проект порожній"
-
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr "Пока&зувати повідомлення з привітанням під час запуску"
-
-#: prefs/GUIPrefs.cpp:126
+#: prefs/GUIPrefs.cpp:145
 msgid "Modes"
 msgstr "Режими"
 
-#: prefs/GUIPrefs.cpp:129
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr "Показувати ефекти VST у графічному режимі"
+
+#: prefs/GUIPrefs.cpp:156
 msgid "Don't a&pply effects in batch mode"
 msgstr "&Не застосовувати ефекти у пакетному режимі"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Показувати мінімум діапазону: індикатори і \"Форма хвилі (у дБ)\""
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 дБ (малий діапазон для редагування сигналу з високою амплітудою)"
+#: prefs/ImportExportPrefs.cpp:28
+msgid "Import / Export"
+msgstr "Імпорт / Експорт"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 дБ (діапазон ІКМ при 8 бітах)"
+#: prefs/ImportExportPrefs.cpp:53
+msgid "When importing audio files"
+msgstr "Під час імпорту аудіо файлів"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 дБ (діапазон ІКМ при 10 бітах)"
+#: prefs/ImportExportPrefs.cpp:57
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr ""
+"&Зробити копію нестиснутих файлів аудіо перш ніж почати їх зміну (безпечніше)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 дБ (діапазон ІКМ при 16 бітах)"
+#: prefs/ImportExportPrefs.cpp:59
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "&Читати нестиснуті файли аудіо напряму з оригіналу (швидше)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 дБ (поріг чутливості вуха людини)"
+#: prefs/ImportExportPrefs.cpp:64
+msgid "&Normalize all tracks in project"
+msgstr "&Нормалізувати всі доріжки проекту"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 дБ (діапазон ІКМ при 24 бітах)"
+#: prefs/ImportExportPrefs.cpp:70
+msgid "When exporting tracks to an audio file"
+msgstr "Коли експортуються доріжки до аудіофайла"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Режим типового перегляду"
+#: prefs/ImportExportPrefs.cpp:74
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "Зав&жди мікшувати всі доріжки до стерео або моно каналів."
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr "Інший вибір зовнішнього вигляду"
+#: prefs/ImportExportPrefs.cpp:76
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr ""
+"&Використовувати особливе мікшування (наприклад для експорту 5.1-канального "
+"файла)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr "Довідка:"
+#: prefs/ImportExportPrefs.cpp:81
+msgid "S&how Metadata Editor prior to export step"
+msgstr "По&казувати редактор метаданих перед кроком експорту"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
-msgstr "Кнопка \"Соло\":"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
+"Зауваження: параметри якості експорту можна обрати після натискання кнопки "
+"«Параметри»\n"
+"у діалоговому вікні експорту."
 
-#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:71
 msgid "Keyboard"
 msgstr "Клавіатура"
 
-#: prefs/KeyConfigPrefs.cpp:86
+#: prefs/KeyConfigPrefs.cpp:95
 msgid "Keyboard preferences currently unavailable."
 msgstr "Зараз ви не можете налаштувати клавіатурні скорочення."
 
-#: prefs/KeyConfigPrefs.cpp:87
+#: prefs/KeyConfigPrefs.cpp:96
 msgid "Open a new project to modify keyboard shortcuts."
 msgstr "Відкрийте новий проект, щоб мати змогу змінити клавіатурні скорочення."
 
-#: prefs/KeyConfigPrefs.cpp:109
+#: prefs/KeyConfigPrefs.cpp:121
 msgid "Key Bindings"
 msgstr "Прив'язка до клавіш"
 
-#: prefs/KeyConfigPrefs.cpp:129
+#: prefs/KeyConfigPrefs.cpp:144
 msgid "S&et"
 msgstr "В&становити"
 
-#: prefs/KeyConfigPrefs.cpp:135
+#: prefs/KeyConfigPrefs.cpp:150
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr ""
 "Примітка: натиснення комбінації клавіш Cmd+Q призведе до завершення. Усі "
 "інші комбінації є дійсними."
 
-#: prefs/KeyConfigPrefs.cpp:140 prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:157 prefs/ThemePrefs.cpp:125
 msgid "&Defaults"
 msgstr "&Типові"
 
-#: prefs/KeyConfigPrefs.cpp:159
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr "Команда"
+
+#: prefs/KeyConfigPrefs.cpp:172
 msgid "Key Combination"
 msgstr "Комбінація клавіш"
 
-#: prefs/KeyConfigPrefs.cpp:176
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Експортувати комбінації клавіш як:"
+#: prefs/KeyConfigPrefs.cpp:196 toolbars/EditToolBar.cpp:143
+#: toolbars/EditToolBar.cpp:195
+msgid "Undo"
+msgstr "Вернути"
 
-#: prefs/KeyConfigPrefs.cpp:196
-msgid "Error saving keyboard shortcuts"
-msgstr "Помилка при збереженні комбінацій клавіш"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "Повторити"
 
-#: prefs/KeyConfigPrefs.cpp:211
+#: prefs/KeyConfigPrefs.cpp:224
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
 msgstr "Виберіть XML-файл, що містить комбінації клавіш Audacity..."
 
-#: prefs/KeyConfigPrefs.cpp:228
+#: prefs/KeyConfigPrefs.cpp:242
 msgid "Error loading keyboard shortcuts"
 msgstr "Помилка при завантаженні комбінацій клавіш"
 
-#: prefs/KeyConfigPrefs.cpp:256
+#: prefs/KeyConfigPrefs.cpp:255
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Експортувати комбінації клавіш як:"
+
+#: prefs/KeyConfigPrefs.cpp:281
+msgid "Error saving keyboard shortcuts"
+msgstr "Помилка при збереженні комбінацій клавіш"
+
+#: prefs/KeyConfigPrefs.cpp:331
 #, c-format
 msgid ""
 "The keyboard shortcut '%s' is already assigned to:\n"
@@ -8436,559 +8647,791 @@ msgstr ""
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:382 toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Вернути"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "Бібліотеки"
+
+#: prefs/LibraryPrefs.cpp:79
+msgid "MP3 Export Library"
+msgstr "Бібліотека експорту MP3"
+
+#: prefs/LibraryPrefs.cpp:83
+msgid "MP3 Library Version:"
+msgstr "Версія бібліотеки MP3:"
+
+#: prefs/LibraryPrefs.cpp:89
+msgid "MP3 Library:"
+msgstr "Бібліотека MP3:"
+
+#: prefs/LibraryPrefs.cpp:92 prefs/LibraryPrefs.cpp:124
+msgid "&Locate..."
+msgstr "В&казати..."
+
+#: prefs/LibraryPrefs.cpp:94
+msgid "LAME MP3 Library:"
+msgstr "Бібліотека LAME MP3:"
 
-#: prefs/MidiIOPrefs.cpp:146
+#: prefs/LibraryPrefs.cpp:97 prefs/LibraryPrefs.cpp:130
+msgid "&Download"
+msgstr "&Завантажити"
+
+#: prefs/LibraryPrefs.cpp:104
+msgid "FFmpeg Import/Export Library"
+msgstr "Бібліотека імпорту/експорту FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:108
+msgid "FFmpeg Library Version:"
+msgstr "Версія бібліотеки FFmpeg:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "Не знайдено потрібної версії бібліотеки FFmpeg"
+
+#: prefs/LibraryPrefs.cpp:120 prefs/LibraryPrefs.cpp:126
+msgid "FFmpeg Library:"
+msgstr "Бібліотека FFmpeg:"
+
+#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "Ввід/вивід звуку"
+
+#: prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/MidiIOPrefs.cpp:140 prefs/RecordingPrefs.cpp:57
+msgid "Playthrough"
+msgstr "Наскрізний канал"
+
+#: prefs/MidiIOPrefs.cpp:142
 msgid "&Play other tracks while recording new one"
 msgstr "Від&творювати інші доріжки при записі нової"
 
-#: prefs/MidiIOPrefs.cpp:149
+#: prefs/MidiIOPrefs.cpp:145
 msgid "&Hardware Playthrough (Play new track while recording it)"
 msgstr "&Апаратне відтворення (Відтворювати нову доріжку під час запису)"
 
-#: prefs/MidiIOPrefs.cpp:152
+#: prefs/MidiIOPrefs.cpp:148
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr "&Програмне програвання (Відтворювати нову доріжку під час запису)"
 
-#: prefs/MidiIOPrefs.cpp:160
+#: prefs/MidiIOPrefs.cpp:153 prefs/PlaybackPrefs.cpp:68
+msgid "Cut Preview"
+msgstr "Прослуховування результату вирізання"
+
+#: prefs/MidiIOPrefs.cpp:156
 msgid "Play before cut region:"
 msgstr "Відтворення перед вирізанням області:"
 
-#: prefs/MidiIOPrefs.cpp:162
+#: prefs/MidiIOPrefs.cpp:158
 msgid "Play after cut region:"
 msgstr "Відтворення після вирізання області:"
 
-#: prefs/MidiIOPrefs.cpp:173
+#: prefs/MidiIOPrefs.cpp:163 prefs/RecordingPrefs.cpp:76
+msgid "Latency"
+msgstr "Затримка"
+
+#: prefs/MidiIOPrefs.cpp:168 prefs/RecordingPrefs.cpp:82
 msgid "Audio to buffer:"
 msgstr "Буфер звуку:"
 
-#: prefs/MidiIOPrefs.cpp:176
+#: prefs/MidiIOPrefs.cpp:170 prefs/RecordingPrefs.cpp:88
 msgid "Latency correction:"
 msgstr "Коригування на латентність:"
 
-#: prefs/MidiIOPrefs.cpp:183
+#: prefs/MidiIOPrefs.cpp:177
 msgid "Seek Time"
 msgstr "Крок за часом"
 
-#: prefs/MidiIOPrefs.cpp:196
+#: prefs/MidiIOPrefs.cpp:180 prefs/PlaybackPrefs.cpp:92
+msgid "Short period:"
+msgstr "Короткий проміжок:"
+
+#: prefs/MidiIOPrefs.cpp:182 prefs/PlaybackPrefs.cpp:98
+msgid "Long period:"
+msgstr "Довгий проміжок:"
+
+#: prefs/MidiIOPrefs.cpp:187 prefs/PlaybackPrefs.cpp:54
+msgid "Effects Preview"
+msgstr "Прослуховування ефекту"
+
+#: prefs/MidiIOPrefs.cpp:190
 msgid "Play when previewing:"
 msgstr "Відтворення під час перегляду:"
 
-#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:57
 msgid "Mouse"
 msgstr "Миша"
 
-#: prefs/MousePrefs.cpp:78
+#: prefs/MousePrefs.cpp:84
 msgid "Mouse Bindings (default values, not configurable)"
 msgstr "Використання миші (незмінні типові параметри)"
 
-#: prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:97
 msgid "Tool"
 msgstr "Інструмент"
 
-#: prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:98
 msgid "Command Action"
 msgstr "Дія команди"
 
-#: prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:99
 msgid "Buttons"
 msgstr "Кнопки"
 
-#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:121
+#: prefs/MousePrefs.cpp:126
 msgid "Left-Click"
 msgstr "Стрілка ліворуч-Клацання"
 
-#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
 msgid "Select"
-msgstr "Виділити"
+msgstr "Вибрати"
 
-#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:102 prefs/MousePrefs.cpp:126
 msgid "Set Selection Point"
-msgstr "Встановити точку виділення"
+msgstr "Встановити точку вибору"
 
-#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:127
 msgid "Left-Drag"
 msgstr "Стрілка ліворуч-Перетягування"
 
-#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:103 prefs/MousePrefs.cpp:127
 msgid "Set Selection Range"
-msgstr "Встановити область виділення"
+msgstr "Встановити область вибору"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Extend Selection Range"
-msgstr "Розширити область виділення"
+msgstr "Розширити область вибору"
 
-#: prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:104
 msgid "Shift-Left-Click"
 msgstr "Shift-Стрілка ліворуч-Клацання"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Left-Double-Click"
 msgstr "Подвійне-клацання-лівою"
 
-#: prefs/MousePrefs.cpp:101
+#: prefs/MousePrefs.cpp:105
 msgid "Select Clip or Entire Track"
-msgstr "Виділити ділянку або всю доріжку"
+msgstr "Вибрати ділянку або всю доріжку"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Ctrl-Left-Click"
 msgstr "Ctrl-Клацання-лівою"
 
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:106
 msgid "Set Selection Point and Play"
-msgstr "Виділити місце та відтворити"
+msgstr "Вибрати місце та відтворити"
 
-#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112 prefs/MousePrefs.cpp:113
 msgid "Zoom"
 msgstr "Масштаб"
 
-#: prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:108
 msgid "Zoom in on Point"
 msgstr "Збільшити за точкою"
 
-#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:109 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:129
 msgid "Zoom in on a Range"
 msgstr "Збільшити за областю"
 
-#: prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:109
 msgid "same as right-drag"
 msgstr "теж, що і клацання правою і перетаскування"
 
-#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110 prefs/MousePrefs.cpp:128
 msgid "Right-Click"
 msgstr "Стрілка праворуч - Клацання"
 
-#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:110 prefs/MousePrefs.cpp:128
 msgid "Zoom out one step"
 msgstr "Зменшити на крок"
 
-#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:129
 msgid "Right-Drag"
 msgstr "Стрілка праворуч - Перетягування"
 
-#: prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:111
 msgid "same as left-drag"
 msgstr "теж, що і клацання лівою і перетаскування"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Drag"
 msgstr "Shift-Перетягування"
 
-#: prefs/MousePrefs.cpp:108
+#: prefs/MousePrefs.cpp:112
 msgid "Zoom out on a Range"
 msgstr "Збільшення за областю"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Middle-Click"
 msgstr "Клацання середньою"
 
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:113
 msgid "Zoom default"
 msgstr "Типовий масштаб"
 
-#: prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115
 msgid "Time shift clip or move up/down between tracks"
 msgstr "Пересунути відрізок або перемістити вгору або вниз між доріжками"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Shift-Left-Drag"
 msgstr "Shift-Ліва-Перетягування"
 
-#: prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:116
 msgid "Time shift all clips in track"
 msgstr "Часовий зсув всіх частинок у доріжці"
 
-#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:124
 msgid "Ctrl-Left-Drag"
 msgstr "Ліва-Ctrl-перетягування"
 
-#: prefs/MousePrefs.cpp:113
+#: prefs/MousePrefs.cpp:117
 msgid "Move clip up/down between tracks"
 msgstr "Перемістити відрізок вгору або вниз між доріжками"
 
-#: prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:119
 msgid "Change Amplification Envelope"
 msgstr "Змінити обвідну підсилення"
 
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:121
 msgid "Change Sample"
 msgstr "Змінити семпл"
 
-#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:121 prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:124
 msgid "Pencil"
 msgstr "\"Олівець\""
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Alt-Left-Click"
 msgstr "Alt-клацання лівою кнопкою"
 
-#: prefs/MousePrefs.cpp:118
+#: prefs/MousePrefs.cpp:122
 msgid "Smooth at Sample"
 msgstr "Згладжувати семпл"
 
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:123
 msgid "Change Several Samples"
 msgstr "Змінити декілька семплів"
 
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:124
 msgid "Change ONE Sample only"
 msgstr "Змінити лише ОДИН семпл"
 
-#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:126 prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:129
 msgid "Multi"
 msgstr "Декілька"
 
-#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:126 prefs/MousePrefs.cpp:127
 msgid "same as select tool"
-msgstr "те саме, що й інструмент для виділення"
+msgstr "те саме, що й інструмент вибору"
 
-#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "same as zoom tool"
 msgstr "те саме, що й інструмент масштабування"
 
-#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:131 prefs/MousePrefs.cpp:132 prefs/MousePrefs.cpp:133
 msgid "Any"
 msgstr "Будь-який"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Scroll up or down"
 msgstr "Прокрутити вгору чи вниз"
 
-#: prefs/MousePrefs.cpp:127
+#: prefs/MousePrefs.cpp:131
 msgid "Wheel-Rotate"
 msgstr "Обертання коліщатка"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Scroll left or right"
 msgstr "Прокручування ліворуч або праворуч"
 
-#: prefs/MousePrefs.cpp:128
+#: prefs/MousePrefs.cpp:132
 msgid "Shift-Wheel-Rotate"
 msgstr "Shift-Прокручування-коліщатка"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Ctrl-Wheel-Rotate"
 msgstr "Ctrl-Прокручування-коліщатка"
 
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:133
 msgid "Zoom in or out"
 msgstr "Масштабувати вигляд"
 
-#: prefs/PrefsDialog.cpp:94
+#: prefs/PlaybackPrefs.cpp:58
+msgid "Length of preview:"
+msgstr "Тривалість прослуховування:"
+
+#: prefs/PlaybackPrefs.cpp:72
+msgid "Preview before cut region:"
+msgstr "Прослуховування перед вирізанням області:"
+
+#: prefs/PlaybackPrefs.cpp:78
+msgid "Preview after cut region:"
+msgstr "Прослуховування після вирізання області:"
+
+#: prefs/PlaybackPrefs.cpp:88
+msgid "Seek Time when playing"
+msgstr "Час позиціювання під час відтворення"
+
+#: prefs/PrefsDialog.cpp:72
 msgid "Audacity Preferences"
 msgstr "Уподобання Audacity"
 
-#: prefs/QualityPrefs.cpp:73
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr "Проекти"
+
+#: prefs/ProjectsPrefs.cpp:56
+msgid "When saving a project that depends on other audio files"
+msgstr "Збереження проекту, що залежить від інших аудіофайлів"
+
+#: prefs/ProjectsPrefs.cpp:60
+msgid "Always &copy all audio into project (safest)"
+msgstr "Завжди &копіювати все аудіо до проекту (найбезпечніше)"
+
+#: prefs/ProjectsPrefs.cpp:62
+msgid "&Do not copy any audio"
+msgstr "&Не копіювати жодного аудіо"
+
+#: prefs/ProjectsPrefs.cpp:64
+msgid "&Ask user"
+msgstr "&Питати користувача"
+
+#: prefs/ProjectsPrefs.cpp:71
+msgid "Auto save"
+msgstr "Автозбереження"
+
+#: prefs/ProjectsPrefs.cpp:73
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Автоматично зберігати копію проекту у окремій теці"
+
+#: prefs/ProjectsPrefs.cpp:79
+msgid "Auto save interval:"
+msgstr "Інтервал автозбереження:"
+
+#: prefs/ProjectsPrefs.cpp:83
+msgid "minutes"
+msgstr "хвилин"
+
+#: prefs/QualityPrefs.cpp:75
 msgid "Rectangle"
 msgstr "Прямокутне"
 
-#: prefs/QualityPrefs.cpp:74
+#: prefs/QualityPrefs.cpp:76
 msgid "Triangle"
 msgstr "Трикутне"
 
-#: prefs/QualityPrefs.cpp:75
+#: prefs/QualityPrefs.cpp:77
 msgid "Shaped"
 msgstr "За формою"
 
-#: prefs/QualityPrefs.cpp:122
+#: prefs/QualityPrefs.cpp:125
 msgid "Sampling"
 msgstr "Дискретизація"
 
-#: prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:129
 msgid "Default Sample Rate:"
 msgstr "Типова частота дискретизації:"
 
-#: prefs/QualityPrefs.cpp:127
+#: prefs/QualityPrefs.cpp:154
 msgid "Default Sample Format:"
 msgstr "Типовий розмір семплу:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Перетворення частоти дискретизації у реальному часі:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "Перетворення у режимі реального часу"
 
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Високоякісне перетворення частоти дискретизації:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "Перетворювач частоти дискретизації:"
 
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Згладжування у реальному часі:"
+#: prefs/QualityPrefs.cpp:178 prefs/QualityPrefs.cpp:200
+msgid "Dither"
+msgstr "Підмішування шуму"
 
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Високоякісне згладжування:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "Високоякісне перетворення"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Перетворення"
+#: prefs/RecordingPrefs.cpp:59
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "Перекриття: Від&творювати інші доріжки при записі нової"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr "Перетворювач частоти дискретизації"
+#: prefs/RecordingPrefs.cpp:63
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "&Апаратне програвання: Відтворювати нову доріжку, програючи її"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr "Підмішування шуму"
+#: prefs/RecordingPrefs.cpp:67
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "&Програмне програвання: Відтворювати нову доріжку, записуючи її"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "У реальному часу:"
+#: prefs/RecordingPrefs.cpp:71
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(зніміть позначку для запису «змішаного стерео»)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Висока якість:"
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr "мілісекунд (вище значення = більша латентність)"
 
-#: prefs/SmartRecordPrefs.cpp:37 prefs/SmartRecordPrefs.cpp:38
-msgid "Smart Recording"
-msgstr "Розширений запис"
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr "мілісекунд (від’ємне = назад)"
 
-#: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
+#: prefs/RecordingPrefs.cpp:98 prefs/RecordingPrefs.cpp:100
 msgid "Sound Activated Recording"
 msgstr "Запис з активацією звуком"
 
-#: prefs/SmartRecordPrefs.cpp:71
+#: prefs/RecordingPrefs.cpp:109
 msgid "Sound Activation Level (dB):"
 msgstr "Рівень звуку для активування (дБ):"
 
-#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:30
 msgid "Spectrograms"
 msgstr "Спектрограми"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT розмір"
-
-#: prefs/SpectrumPrefs.cpp:94
+#: prefs/SpectrumPrefs.cpp:41
 msgid "8 - most wideband"
 msgstr "8 — найширший"
 
-#: prefs/SpectrumPrefs.cpp:99
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:46
 msgid "256 - default"
 msgstr "256 — типовий"
 
-#: prefs/SpectrumPrefs.cpp:107
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
+
+#: prefs/SpectrumPrefs.cpp:54
 msgid "32768 - most narrowband"
 msgstr "32768 — найточніше"
 
-#: prefs/SpectrumPrefs.cpp:109
+#: prefs/SpectrumPrefs.cpp:56
 msgid "4096 - most narrowband"
 msgstr "4096 - найбільш вузькосмуговий"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
-msgstr "Тип вікна:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "Вікно FFT"
 
-#: prefs/SpectrumPrefs.cpp:125
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "Розмір вікна"
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "Тип вікна"
+
+#: prefs/SpectrumPrefs.cpp:113
 msgid "FFT Skip Points"
 msgstr "Ігноровані точки FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Показ"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "Ігнорувати точки"
 
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Відтінки сірого"
-
-#: prefs/SpectrumPrefs.cpp:147
+#: prefs/SpectrumPrefs.cpp:134
 msgid "Minimum Frequency (Hz):"
 msgstr "Мінімальна частота (Гц):"
 
-#: prefs/SpectrumPrefs.cpp:152
+#: prefs/SpectrumPrefs.cpp:140
 msgid "Maximum Frequency (Hz):"
 msgstr "Максимальна частота (Гц):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Y-ґратка"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "Показувати спектр у ві&дтінках сірого"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "Зауваження щодо &пошуку"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "Показувати сітку уздовж в&ісі Y"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "Зауваження щодо &квантизації"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "Пошук нот FFT"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
 msgstr "Мінімальна амплітуда (дБ):"
 
-#: prefs/SpectrumPrefs.cpp:170
+#: prefs/SpectrumPrefs.cpp:171
 msgid "Max. Number of Notes (1..128):"
 msgstr "Макс. кількість нот (1..128):"
 
-#: prefs/SpectrumPrefs.cpp:197
+#: prefs/SpectrumPrefs.cpp:178
+msgid "&Find Notes"
+msgstr "Зауваження щодо &пошуку"
+
+#: prefs/SpectrumPrefs.cpp:182
+msgid "&Quantize Notes"
+msgstr "Зауваження щодо &квантизації"
+
+#: prefs/SpectrumPrefs.cpp:194
 msgid "The maximum frequency must be an integer"
 msgstr "Максимально можлива частота повинна бути цілою величиною"
 
-#: prefs/SpectrumPrefs.cpp:201
+#: prefs/SpectrumPrefs.cpp:198
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
 msgstr "Максимальна частота повинна знаходитись у межах 100 Гц - 100,000 Гц"
 
-#: prefs/SpectrumPrefs.cpp:209
+#: prefs/SpectrumPrefs.cpp:204
 msgid "The minimum frequency must be an integer"
 msgstr "Мінімальна частота має бути цілим числом"
 
-#: prefs/SpectrumPrefs.cpp:213
+#: prefs/SpectrumPrefs.cpp:208
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Мінімальна частота має бути не меншою 0 Гц"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "Мінімальна частота має бути меншою за максимальну частоту"
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Мінімальна амплітуда (у дБ) має бути цілим значенням"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Максимальна кількість нот має бути цілим значенням у межах від 1 до 128"
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "Максимальна кількість нот має бути цілим значенням"
 
-#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
+"Максимальна кількість нот має бути цілим значенням у межах від 1 до 128"
+
+#: prefs/ThemePrefs.cpp:60
 msgid "Theme"
 msgstr "Стиль"
 
+#: prefs/ThemePrefs.cpp:88
+msgid "Info"
+msgstr "Інформація"
+
+#: prefs/ThemePrefs.cpp:91
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images "
+"and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into "
+"Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently "
+"affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"Зміна тем є експериментальною.\n"
+"\n"
+"Щоб спробувати її, натисніть \"Зберегти кеш тем\", потім знайдіть та змініть "
+"зображення та кольори у \n"
+"ImageCacheVxx.png використовуючи редактор зображень, наприклад, Gimp.\n"
+"\n"
+"Натисніть \"Завантажити Кеш Тем\" щоб завантажити змінені зображення та "
+"кольори до Audacity.\n"
+"\n"
+"[Зараз підтримуються панель керування та кольори звукової доріжки, "
+"незважаючи на те, що файли\n"
+"зображень показують також інші значки.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This "
+"will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+"Ви зібрали Audacity з додатковою кнопкою, «Чарівник виведення».  Він збереже "
+"C-версію \n"
+"кешу зображень, який потім може бути зібраний як типовий."
+
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be "
+"loaded\n"
+"when the program starts up."
+msgstr ""
+"Якщо позначено пункт «Завантажити кеш тем під час запуску», кеш тем буде "
+"завантажено, коли програма \n"
+"запускатиметься."
+
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each "
+"image, but is\n"
+"otherwise the same idea."
+msgstr ""
+"Зберігання та завантаження файлів окремої теми використовує окремий файл для "
+"кожного зображення, \n"
+"але інакше ту ж ідею."
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
-#: prefs/ThemePrefs.cpp:93
+#: prefs/ThemePrefs.cpp:111
 msgid "Theme Cache - Images && Color"
 msgstr "Кеш тем - Зображення та колір"
 
-#: prefs/ThemePrefs.cpp:95
+#: prefs/ThemePrefs.cpp:115
 msgid "Save Theme Cache"
 msgstr "Зберегти кеш тем"
 
-#: prefs/ThemePrefs.cpp:96
+#: prefs/ThemePrefs.cpp:116
 msgid "Load Theme Cache"
 msgstr "Завантажити кеш тем"
 
-#: prefs/ThemePrefs.cpp:106
+#: prefs/ThemePrefs.cpp:131
 msgid "Load Theme Cache At Startup"
 msgstr "Завантажувати кеш тем на початку"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:146
 msgid "Individual Theme Files"
 msgstr "Індивідуальні файли теми"
 
-#: prefs/ThemePrefs.cpp:120
+#: prefs/ThemePrefs.cpp:150
 msgid "Save Files"
 msgstr "Зберегти файли"
 
-#: prefs/ThemePrefs.cpp:121
+#: prefs/ThemePrefs.cpp:151
 msgid "Load Files"
 msgstr "Завантажити файли"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Інформація"
+#: prefs/TracksPrefs.cpp:47
+msgid "Simple"
+msgstr "Простий"
 
-#: prefs/ThemePrefs.cpp:129
-msgid ""
-"Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr ""
-"Зміна тем є експериментальною.\n"
-"\n"
-"Щоб спробувати її, клацніть \"Зберегти кеш тем\" потім\n"
-"знайдіть та змініть зображення та кольори у \n"
-"ImageCacheVxx.png використовуючи редактор зображень, такий \n"
-"як Gimp.\n"
-"\n"
-"Клацніть \"Завантажити Кеш Тем\" щоб завантажити змінені зображення\n"
-"та кольори до Audacity.\n"
-"\n"
-"[Зараз підтримуються панель керування та кольори \n"
-"звукової доріжки, незважаючи на те, що файли\n"
-"зображень показують також інші значки.]\n"
+#: prefs/TracksPrefs.cpp:77
+msgid "&Update display while playing"
+msgstr "&Оновлювати відображення під час відтворення"
 
-#: prefs/ThemePrefs.cpp:134
-msgid ""
-"You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr ""
-"Ви зібрали Audacity з додатковою кнопкою, \n"
-"'Чарівник виведення'.  Він збереже C-версію \n"
-"кешу зображень, який потім може бути зібраний як типовий.\n"
+#: prefs/TracksPrefs.cpp:80
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Автоматично &робити доріжки вертикально масштабованими"
 
-#: prefs/ThemePrefs.cpp:139
-msgid ""
-"If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr ""
-"Якщо обрано 'Завантажити кеш тем під час запуску', \n"
-"кеш тем буде завантажено, коли програма \n"
-"запускатиметься.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "Типовий режим перегляду:"
 
-#: prefs/ThemePrefs.cpp:142
-msgid ""
-"Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr ""
-"Зберігання та завантаження файлів окремої теми \n"
-"використовує окремий файл для кожного зображення, \n"
-"але інакше ту ж ідею.\n"
-"\n"
+#: prefs/TracksPrefs.cpp:101
+msgid "&Select all audio in project, if none selected"
+msgstr "&Обирати все аудіо у проекті, якщо нічого не вибрано"
 
-#: toolbars/ControlToolBar.cpp:175
-msgid "Pause"
-msgstr "Призупинити"
+#: prefs/TracksPrefs.cpp:104
+msgid "Enable cut &lines"
+msgstr "Дозволити &лінії розрізання"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play"
-msgstr "Грати"
+#: prefs/TracksPrefs.cpp:107
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Дозволити &перетягування лівої і правої границь вибору"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr "Відтворити (з Shift — у циклі)"
+#: prefs/TracksPrefs.cpp:110
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "«Перемістити фокус доріжки» &циклічно повторюється між доріжками"
+
+#: prefs/TracksPrefs.cpp:113
+msgid "Editing a &clip can move other clips"
+msgstr "Редагування відрізку може пересувати інші"
+
+#: prefs/TracksPrefs.cpp:121
+msgid "Solo Button:"
+msgstr "Кнопка \"Соло\":"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "Попередження"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "Показувати попередження/запити"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "Під час збереження п&роектів"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "Під час збереження п&орожнього проекту"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "Якщо на &диску мало місця"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "Якщо відбувається мікшування &стерео під час експорту"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "Якщо відбувається мікшування &моно під час експорту"
+
+#: toolbars/ControlToolBar.cpp:170 toolbars/ControlToolBar.cpp:205
+msgid "Pause"
+msgstr "Призупинити"
 
-#: toolbars/ControlToolBar.cpp:183
+#: toolbars/ControlToolBar.cpp:178 toolbars/ControlToolBar.cpp:207
+#: widgets/ProgressDialog.cpp:1101
 msgid "Stop"
 msgstr "Зупинити"
 
-#: toolbars/ControlToolBar.cpp:186
-msgid "Skip to Start"
-msgstr "Перейти на початок доріжки"
+#: toolbars/ControlToolBar.cpp:190 toolbars/ControlToolBar.cpp:211
+msgid "Clean Speech"
+msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:189
-msgid "Skip to End"
-msgstr "Перейти на кінець доріжки"
+#: toolbars/ControlToolBar.cpp:206
+msgid "Play (Shift for Loop Play)"
+msgstr "Відтворити (з Shift — у циклі)"
 
-#: toolbars/ControlToolBar.cpp:192
+#: toolbars/ControlToolBar.cpp:210
 msgid "Record (Shift for Append Record)"
 msgstr "Запис (Shift для додавання запису)"
 
-#: toolbars/ControlToolBar.cpp:195
-msgid "Clean Speech"
-msgstr "Clean Speech"
-
-#: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
+#: toolbars/ControlToolBar.cpp:573 toolbars/ControlToolBar.cpp:905
 msgid "Error while opening sound device. "
 msgstr "Помилка під час відкриття звукового пристрою. "
 
-#: toolbars/ControlToolBar.cpp:706
+#: toolbars/ControlToolBar.cpp:743
 msgid ""
 "Recording in CleanSpeech mode is not possible when a track, or more than one "
 "project, is already open."
@@ -8996,61 +9439,53 @@ msgstr ""
 "Запис у режимі CleanSpeech неможливий, коли вже відкрито доріжку або більше "
 "за один проект."
 
-#: toolbars/ControlToolBar.cpp:707
+#: toolbars/ControlToolBar.cpp:744
 msgid "Recording not permitted"
 msgstr "Запис не дозволено"
 
-#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:109 toolbars/DeviceToolBar.cpp:205
 msgid "Output Device"
 msgstr "Пристрій виводу"
 
-#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:127 toolbars/DeviceToolBar.cpp:206
 msgid "Input Device"
 msgstr "Пристрій вводу"
 
-#: toolbars/EditToolBar.cpp:139
+#: toolbars/EditToolBar.cpp:136
 msgid "Trim outside selection"
-msgstr "Відрізати усе поза виділеним"
+msgstr "Відрізати усе поза вибраним"
 
-#: toolbars/EditToolBar.cpp:141
+#: toolbars/EditToolBar.cpp:138
 msgid "Silence selection"
 msgstr "Заповнити тишею"
 
-#: toolbars/EditToolBar.cpp:150
+#: toolbars/EditToolBar.cpp:150 toolbars/EditToolBar.cpp:197
 msgid "Link Tracks"
 msgstr "З’єднати доріжки"
 
-#: toolbars/EditToolBar.cpp:155
+#: toolbars/EditToolBar.cpp:155 toolbars/EditToolBar.cpp:198
 msgid "Zoom In"
 msgstr "Збільшити"
 
-#: toolbars/EditToolBar.cpp:157
+#: toolbars/EditToolBar.cpp:157 toolbars/EditToolBar.cpp:199
 msgid "Zoom Out"
 msgstr "Зменшити"
 
-#: toolbars/EditToolBar.cpp:161
-msgid "Zoom Toggle"
-msgstr "Тип масштабування"
-
-#: toolbars/EditToolBar.cpp:165
-msgid "Fit Selection"
-msgstr "Розмістити виділену область"
-
-#: toolbars/EditToolBar.cpp:165
+#: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
-msgstr "Розмістити виділене у вікні"
+msgstr "Розмістити вибране у вікні"
 
-#: toolbars/EditToolBar.cpp:167
-msgid "Fit Project"
-msgstr "Розмістити проект"
-
-#: toolbars/EditToolBar.cpp:167
+#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Розмістити проект у вікні"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Індикатор"
+#: toolbars/EditToolBar.cpp:200
+msgid "Fit Selection"
+msgstr "Розмістити вибрану область"
+
+#: toolbars/EditToolBar.cpp:201
+msgid "Fit Project"
+msgstr "Розмістити проект"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -9068,11 +9503,11 @@ msgstr "Індикатор запису"
 msgid "Meter-Record"
 msgstr "Індикатор запису"
 
-#: toolbars/MeterToolBar.cpp:94
+#: toolbars/MeterToolBar.cpp:123
 msgid "Output level meter"
 msgstr "Індикатор рівня на виході"
 
-#: toolbars/MeterToolBar.cpp:95
+#: toolbars/MeterToolBar.cpp:124
 msgid "Input level meter - click to monitor input"
 msgstr "Індикатор рівня входу. Клацніть, щоб запустити контроль входу."
 
@@ -9084,7 +9519,7 @@ msgstr "Рівень на виході"
 msgid "Slider Output"
 msgstr "Повзунок виводу"
 
-#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:870
+#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:869
 msgid "Input Volume"
 msgstr "Рівень на вході"
 
@@ -9096,9 +9531,17 @@ msgstr "Повзунок вводу"
 msgid "Input Source"
 msgstr "Вхідне джерело"
 
-#: toolbars/SelectionBar.cpp:86
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr "Відомості про джерело вхідних даних відсутні."
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr "Виберіть джерело вхідного сигналу"
+
+#: toolbars/SelectionBar.cpp:86 toolbars/SelectionBar.cpp:292
 msgid "Selection"
-msgstr "Виділена область"
+msgstr "Вибрана область"
 
 #: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
@@ -9106,7 +9549,7 @@ msgstr "Частота проекту (Гц):"
 
 #: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
-msgstr "Початок виділеної області:"
+msgstr "Початок вибраної області:"
 
 #: toolbars/SelectionBar.cpp:163 toolbars/SelectionBar.cpp:164
 #: toolbars/SelectionBar.cpp:261
@@ -9127,28 +9570,28 @@ msgstr "Прив'язка"
 
 #: toolbars/SelectionBar.cpp:260
 msgid "Selection "
-msgstr "Виділена область"
+msgstr "Вибрана область"
 
-#: toolbars/SelectionBar.cpp:325
+#: toolbars/SelectionBar.cpp:340
 msgid "Selection Length"
-msgstr "Тривалість виділеної області"
+msgstr "Тривалість вибраної області"
 
-#: toolbars/SelectionBar.cpp:333
+#: toolbars/SelectionBar.cpp:348
 msgid "Selection End"
-msgstr "Кінець виділеної області"
+msgstr "Кінець вибраної області"
 
-#: toolbars/ToolBar.cpp:98
+#: toolbars/ToolBar.cpp:120
 #, c-format
 msgid "Audacity %s ToolBar"
 msgstr "Панель інструментів Audacity %s"
 
-#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:75 toolbars/ToolDock.cpp:76
 msgid "ToolDock"
 msgstr "ДокІнструментів"
 
 #: toolbars/ToolsToolBar.cpp:63
 msgid "Click and drag to select audio"
-msgstr "Клацніть та перетягніть щоб виділити звуковий фрагмент"
+msgstr "Клацніть та перетягніть щоб вибрати звуковий фрагмент"
 
 #: toolbars/ToolsToolBar.cpp:64
 msgid "Click and drag to edit the amplitude envelope"
@@ -9176,219 +9619,188 @@ msgstr "Ліва=Наблизити, Права=Віддалити, Середн
 msgid "Click and drag to move a track in time"
 msgstr "Клацніть та перетягніть для переміщення доріжки у часі"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Інструменти"
-
-#: toolbars/ToolsToolBar.cpp:147 toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Виділення"
-
-#: toolbars/ToolsToolBar.cpp:148 toolbars/ToolsToolBar.cpp:183
-msgid "Envelope Tool"
-msgstr "Зміна обвідної"
-
-#: toolbars/ToolsToolBar.cpp:149
-msgid "Time Shift Tool"
-msgstr "Зсув у часі"
-
-#: toolbars/ToolsToolBar.cpp:150 toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Масштабування"
-
-#: toolbars/ToolsToolBar.cpp:151 toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Зміна обвідної"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Універсальний інструмент"
 
-#: toolbars/ToolsToolBar.cpp:186
+#: toolbars/ToolsToolBar.cpp:190
 msgid "Slide Tool"
 msgstr "Переміщення"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Універсальний інструмент"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Перезапис"
-
-#: toolbars/TranscriptionToolBar.cpp:171
+#: toolbars/TranscriptionToolBar.cpp:170
 msgid "Play at selected speed"
 msgstr "Відтворити на обраній швидкості"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Відтворити-на-швидкості"
-
-#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:176 toolbars/TranscriptionToolBar.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:262
 msgid "Playback Speed"
 msgstr "Швидкість програвання"
 
-#: toolbars/TranscriptionToolBar.cpp:196
+#: toolbars/TranscriptionToolBar.cpp:194
 msgid "Adjust left selection to next onset"
-msgstr "Узгодити виділену область ліворуч з початком наступного"
+msgstr "Узгодити вибрану область ліворуч з початком наступного"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Ліве-до-початку"
-
-#: toolbars/TranscriptionToolBar.cpp:199
+#: toolbars/TranscriptionToolBar.cpp:196
 msgid "Adjust right selection to previous offset"
-msgstr "Узгодити виділену область праворуч з виступом попереднього"
+msgstr "Узгодити вибрану область праворуч з виступом попереднього"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Праве-до-виступу"
-
-#: toolbars/TranscriptionToolBar.cpp:202
+#: toolbars/TranscriptionToolBar.cpp:198
 msgid "Adjust left selection to next offset"
-msgstr "Узгодити виділену область ліворуч з виступом наступного"
+msgstr "Узгодити вибрану область ліворуч з виступом наступного"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Ліве-до-виступу"
-
-#: toolbars/TranscriptionToolBar.cpp:205
+#: toolbars/TranscriptionToolBar.cpp:200
 msgid "Adjust right selection to previous onset"
-msgstr "Узгодити виділену область праворуч з початком попереднього"
+msgstr "Узгодити вибрану область праворуч з початком попереднього"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Праве-до-початку"
-
-#: toolbars/TranscriptionToolBar.cpp:208
+#: toolbars/TranscriptionToolBar.cpp:202
 msgid "Select region of sound around cursor"
-msgstr "Виділити область звуку навколо курсора"
+msgstr "Вибрати область звуку навколо курсора"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Виділити-звук"
-
-#: toolbars/TranscriptionToolBar.cpp:211
+#: toolbars/TranscriptionToolBar.cpp:204
 msgid "Select region of silence around cursor"
-msgstr "Виділити область тиші навколо курсора"
-
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Виділити-тишу"
+msgstr "Вибрати область тиші навколо курсора"
 
-#: toolbars/TranscriptionToolBar.cpp:214
+#: toolbars/TranscriptionToolBar.cpp:206
 msgid "Automatically make labels from words"
 msgstr "Автоматично робити позначки з слів"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Зробити позначки"
-
-#: toolbars/TranscriptionToolBar.cpp:217
+#: toolbars/TranscriptionToolBar.cpp:208
 msgid "Add label at selection"
-msgstr "Додати позначку до виділеної області"
+msgstr "Додати позначку до вибраної області"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Додати позначку"
-
-#: toolbars/TranscriptionToolBar.cpp:220
+#: toolbars/TranscriptionToolBar.cpp:210
 msgid "Calibrate voicekey"
 msgstr "Калібрувати ключ голосу"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Калібрувати"
-
-#: toolbars/TranscriptionToolBar.cpp:225
+#: toolbars/TranscriptionToolBar.cpp:214
 msgid "Adjust Sensitivity"
 msgstr "Налаштувати чутливість"
 
-#: toolbars/TranscriptionToolBar.cpp:230
+#: toolbars/TranscriptionToolBar.cpp:219 toolbars/TranscriptionToolBar.cpp:275
 msgid "Sensitivity"
 msgstr "Чутливість"
 
-#: toolbars/TranscriptionToolBar.cpp:235
+#: toolbars/TranscriptionToolBar.cpp:224
 msgid "Energy"
 msgstr "Енергія"
 
-#: toolbars/TranscriptionToolBar.cpp:236
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Sign Changes (Low Threshold)"
 msgstr "Зміни знаку (нижній поріг)"
 
-#: toolbars/TranscriptionToolBar.cpp:237
+#: toolbars/TranscriptionToolBar.cpp:226
 msgid "Sign Changes (High Threshold)"
 msgstr "Зміни знаку (верхній поріг)"
 
-#: toolbars/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:227
 msgid "Direction Changes (Low Threshold)"
 msgstr "Зміни напрямку (нижній поріг)"
 
-#: toolbars/TranscriptionToolBar.cpp:239
+#: toolbars/TranscriptionToolBar.cpp:228
 msgid "Direction Changes (High Threshold)"
 msgstr "Зміни напрямку (верхній поріг)"
 
-#: toolbars/TranscriptionToolBar.cpp:247
+#: toolbars/TranscriptionToolBar.cpp:236 toolbars/TranscriptionToolBar.cpp:276
 msgid "Key type"
 msgstr "Тип ключа"
 
-#: widgets/AButton.cpp:303
+#: toolbars/TranscriptionToolBar.cpp:261
+msgid "Play-at-speed"
+msgstr "Відтворити-на-швидкості"
+
+#: toolbars/TranscriptionToolBar.cpp:265
+msgid "Left-to-On"
+msgstr "Ліве-до-початку"
+
+#: toolbars/TranscriptionToolBar.cpp:266
+msgid "Right-to-Off"
+msgstr "Праве-до-виступу"
+
+#: toolbars/TranscriptionToolBar.cpp:267
+msgid "Left-to-Off"
+msgstr "Ліве-до-виступу"
+
+#: toolbars/TranscriptionToolBar.cpp:268
+msgid "Right-to-On"
+msgstr "Праве-до-початку"
+
+#: toolbars/TranscriptionToolBar.cpp:269
+msgid "Select-Sound"
+msgstr "Вибрати-звук"
+
+#: toolbars/TranscriptionToolBar.cpp:270
+msgid "Select-Silence"
+msgstr "Вибрати-тишу"
+
+#: toolbars/TranscriptionToolBar.cpp:271
+msgid "Make Labels"
+msgstr "Зробити позначки"
+
+#: toolbars/TranscriptionToolBar.cpp:272
+msgid "Add Label"
+msgstr "Додати позначку"
+
+#: toolbars/TranscriptionToolBar.cpp:273
+msgid "Calibrate"
+msgstr "Калібрувати"
+
+#: widgets/AButton.cpp:300
 msgid " (disabled)"
 msgstr " (вимкнено)"
 
-#: widgets/AButton.cpp:461
+#: widgets/AButton.cpp:458
 msgid "Press"
 msgstr "Натисніть"
 
-#: widgets/AButton.cpp:540
+#: widgets/AButton.cpp:537
 msgid "Button"
 msgstr "Кнопка"
 
-#. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:612 widgets/Meter.cpp:248
+#. i18n-hint: One-letter abbreviation for Left, in VU Meter
+#: widgets/ASlider.cpp:625 widgets/Meter.cpp:248
 msgid "L"
 msgstr "Л"
 
-#. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:615 widgets/Meter.cpp:250
+#. i18n-hint: One-letter abbreviation for Right, in VU Meter
+#: widgets/ASlider.cpp:628 widgets/Meter.cpp:250
 msgid "R"
 msgstr "П"
 
-#: widgets/ASlider.cpp:678
+#: widgets/ASlider.cpp:691
 msgid "Center"
 msgstr "Центр"
 
-#: widgets/ASlider.cpp:682
+#: widgets/ASlider.cpp:695
 msgid "Left"
 msgstr "Ліворуч"
 
-#: widgets/ASlider.cpp:685
+#: widgets/ASlider.cpp:698
 msgid "Right"
 msgstr "Праворуч"
 
-#: widgets/ErrorDialog.cpp:98
+#: widgets/ErrorDialog.cpp:96
 msgid "Help"
 msgstr "Довідка"
 
-#: widgets/ErrorDialog.cpp:137
+#: widgets/ErrorDialog.cpp:166
 msgid "<"
 msgstr "<"
 
-#: widgets/ErrorDialog.cpp:138
+#: widgets/ErrorDialog.cpp:167
 msgid ">"
 msgstr ">"
 
-#: widgets/ErrorDialog.cpp:142
+#: widgets/ErrorDialog.cpp:171
 msgid "Forwards"
 msgstr "Вперед"
 
-#: widgets/ErrorDialog.cpp:143
+#: widgets/ErrorDialog.cpp:172
 msgid "Backwards"
 msgstr "Назад"
 
-#: widgets/ErrorDialog.cpp:255
+#: widgets/ErrorDialog.cpp:275
 msgid "Help on the Internet"
 msgstr "Довідка у Інтернеті"
 
@@ -9396,17 +9808,17 @@ msgstr "Довідка у Інтернеті"
 msgid "Grabber"
 msgstr "Захоплення"
 
-#: widgets/Grid.cpp:708
+#: widgets/Grid.cpp:703
 #, c-format
 msgid "%d rows, %d columns"
 msgstr "%d рядків, %d стовпчиків"
 
-#: widgets/Grid.cpp:714 widgets/Grid.cpp:841
+#: widgets/Grid.cpp:709 widgets/Grid.cpp:836
 #, c-format
 msgid "Row %d"
 msgstr "Рядок %d"
 
-#: widgets/Grid.cpp:856
+#: widgets/Grid.cpp:851
 msgid "Empty"
 msgstr "Порожній"
 
@@ -9438,27 +9850,27 @@ msgstr "Вертикально стерео"
 msgid "Preferences..."
 msgstr "Уподобання..."
 
-#: widgets/Meter.cpp:872
+#: widgets/Meter.cpp:871
 msgid "Mix Volume"
 msgstr "Гучність на вході"
 
-#: widgets/Meter.cpp:1141
+#: widgets/Meter.cpp:1140
 msgid ""
 "This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
-"audio qualtiy is not affected by the meter display."
+"audio quality is not affected by the meter display."
 msgstr ""
 "Це визначає частоту оновлення індикатору.\n"
 "Якщо ваш ПК недостатньо потужний, можна\n"
 "обрати нижчу частоту оновлення (30 за секунду \n"
 "чи нижчу), так щоб це не вплинуло на якість звуку."
 
-#: widgets/Meter.cpp:1142
+#: widgets/Meter.cpp:1141
 msgid "Meter refresh rate per second [1-100]: "
 msgstr "Частота оновлення індикатора (разів на секунду) [1-100]: "
 
-#: widgets/Meter.cpp:1143
+#: widgets/Meter.cpp:1142
 msgid "Meter Preferences"
 msgstr "Параметри індикатора"
 
@@ -9470,26 +9882,26 @@ msgstr " Виберіть дію "
 msgid "Please select an action"
 msgstr "Будь ласка, оберіть дію"
 
-#: widgets/ProgressDialog.cpp:1058
+#: widgets/ProgressDialog.cpp:1060
 msgid "Elapsed Time:"
 msgstr "Час, що пройшов:"
 
-#: widgets/ProgressDialog.cpp:1078
+#: widgets/ProgressDialog.cpp:1080
 msgid "Remaining Time:"
 msgstr "Час, що залишився:"
 
-#: widgets/ProgressDialog.cpp:1095
+#: widgets/ProgressDialog.cpp:1108
 msgid "Cancel"
 msgstr "Скасувати"
 
-#: widgets/Ruler.cpp:1316 widgets/Ruler.cpp:1317
+#: widgets/Ruler.cpp:1584 widgets/Ruler.cpp:1585
 msgid "Vertical Ruler"
 msgstr "Вертикальний індикатор"
 
 #. i18n-hint: Format string for displaying time in seconds. Change the comma
 #. * in the middle to the 1000s separator for your locale, and the 'seconds'
 #. * on the end to the word for seconds. Don't change the numbers.
-#: widgets/TimeTextCtrl.cpp:267
+#: widgets/TimeTextCtrl.cpp:268
 msgid "01000,01000 seconds"
 msgstr "01000,01000 секунд"
 
@@ -9498,13 +9910,13 @@ msgstr "01000,01000 секунд"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
 #. * change the numbers unless there aren't 60 seconds in a minute in your
 #. * locale
-#: widgets/TimeTextCtrl.cpp:276
+#: widgets/TimeTextCtrl.cpp:277
 msgid "0100 h 060 m 060 s"
 msgstr "0100 г 060 хв 060 с"
 
 #. i18n-hint: Name of time display format that shows time in days, hours,
 #. * minutes and seconds
-#: widgets/TimeTextCtrl.cpp:279
+#: widgets/TimeTextCtrl.cpp:280
 msgid "dd:hh:mm:ss"
 msgstr "дд:гг:хх:сс"
 
@@ -9513,13 +9925,13 @@ msgstr "дд:гг:хх:сс"
 #. * for hours, 'm' to the abbreviation for minutes and 's' to the
 #. * abbreviation for seconds. Don't change the numbers unless there aren't
 #. * 24 hours in a day in your locale
-#: widgets/TimeTextCtrl.cpp:285
+#: widgets/TimeTextCtrl.cpp:286
 msgid "0100 days 024 h 060 m 060 s"
 msgstr "0100 днів 024 г 060 хв 060 с"
 
 #. i18n-hint: Name of time display format that shows time in hours,
-#. * minutes, seconds and hundreths of a second (1/100 second)
-#: widgets/TimeTextCtrl.cpp:288
+#. * minutes, seconds and hundredths of a second (1/100 second)
+#: widgets/TimeTextCtrl.cpp:289
 msgid "hh:mm:ss + hundredths"
 msgstr "гг:хх:сс + соті"
 
@@ -9528,13 +9940,13 @@ msgstr "гг:хх:сс + соті"
 #. * 'm' to the abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * hundredths are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:294
+#: widgets/TimeTextCtrl.cpp:295
 msgid "0100 h 060 m 060.0100 s"
 msgstr "0100 г 060 хв 060.0100 с"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and milliseconds (1/1000 second)
-#: widgets/TimeTextCtrl.cpp:297
+#: widgets/TimeTextCtrl.cpp:298
 msgid "hh:mm:ss + milliseconds"
 msgstr "гг:хх:сс + мілісекунд"
 
@@ -9543,13 +9955,13 @@ msgstr "гг:хх:сс + мілісекунд"
 #. * abbreviation for minutes and 's' to the abbreviation for seconds (the
 #. * milliseconds are shown as decimal seconds) . Don't change the numbers
 #. * unless there aren't 60 minutes in an hour in your locale
-#: widgets/TimeTextCtrl.cpp:303
+#: widgets/TimeTextCtrl.cpp:304
 msgid "0100 h 060 m 060.01000 s"
 msgstr "0100 г 060 хв 060.01000 с"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and samples (at the current project sample rate)
-#: widgets/TimeTextCtrl.cpp:306
+#: widgets/TimeTextCtrl.cpp:307
 msgid "hh:mm:ss + samples"
 msgstr "гг:хх:сс + фрагменти"
 
@@ -9558,13 +9970,13 @@ msgstr "гг:хх:сс + фрагменти"
 #. * abbreviation for minutes, 's' to the abbreviation for seconds and
 #. * translate samples . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:312
+#: widgets/TimeTextCtrl.cpp:313
 msgid "0100 h 060 m 060 s+.# samples"
 msgstr "0100 г 060 хв 060 с+.# фрагменти"
 
 #. i18n-hint: Name of time display format that shows time in samples (at the
 #. * current project sample rate)
-#: widgets/TimeTextCtrl.cpp:315
+#: widgets/TimeTextCtrl.cpp:316
 msgid "samples"
 msgstr "фрагменти"
 
@@ -9572,13 +9984,13 @@ msgstr "фрагменти"
 #. * Change the ',' to the 1000s separator for your locale, and translate
 #. * samples. If 1000s aren't a base multiple for your number system, then you
 #. * can change the numbers to an appropriate one, and put a 0 on the front
-#: widgets/TimeTextCtrl.cpp:320
+#: widgets/TimeTextCtrl.cpp:321
 msgid "01000,01000,01000 samples|#"
 msgstr "01000,01000,01000 фрагменти|#"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:323
+#: widgets/TimeTextCtrl.cpp:324
 msgid "hh:mm:ss + film frames (24 fps)"
 msgstr "гг:хх:сс + кадрів плівки (24 кд/с)"
 
@@ -9587,26 +9999,26 @@ msgstr "гг:хх:сс + кадрів плівки (24 кд/с)"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames' . Don't change the numbers
 #. * unless there aren't 60 seconds in a minute in your locale
-#: widgets/TimeTextCtrl.cpp:329
+#: widgets/TimeTextCtrl.cpp:330
 msgid "0100 h 060 m 060 s+.24 frames"
 msgstr "0100 г 060 хв 060 с+.24 кадрів"
 
 #. i18n-hint: Name of time display format that shows time in frames (lots of
 #. * frames) at 24 frames per second (commonly used for films)
-#: widgets/TimeTextCtrl.cpp:332
+#: widgets/TimeTextCtrl.cpp:333
 msgid "film frames (24 fps)"
 msgstr "кадри плівки (24 кдр/с)"
 
 #. i18n-hint: Format string for displaying time in frames at 24 frames per
 #. * second. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:335
+#: widgets/TimeTextCtrl.cpp:336
 msgid "01000,01000 frames|24"
 msgstr "01000,01000 кадрів|24"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV drop-frame rate (used for American /
-#. * Japananese TV, and very odd)
-#: widgets/TimeTextCtrl.cpp:339
+#. * Japanese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:340
 msgid "hh:mm:ss + NTSC drop frames"
 msgstr "гг:хх:сс + NTSC викинуті кадри"
 
@@ -9614,14 +10026,14 @@ msgstr "гг:хх:сс + NTSC викинуті кадри"
 #. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the |N alone, it's important!
-#: widgets/TimeTextCtrl.cpp:344
+#: widgets/TimeTextCtrl.cpp:345
 msgid "0100 h 060 m 060 s+.30 frames|N"
 msgstr "0100 г 060 хв 060 с+.30 кадрів|N"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-#. * Japananese TV, and doesn't quite match wall time
-#: widgets/TimeTextCtrl.cpp:348
+#. * Japanese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:349
 msgid "hh:mm:ss + NTSC non-drop frames"
 msgstr "гг:хх:сс + NTSC non-drop кадрів"
 
@@ -9630,26 +10042,26 @@ msgstr "гг:хх:сс + NTSC non-drop кадрів"
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Leave the | .999000999 alone,
 #. * the whole things really is slightly off-speed!
-#: widgets/TimeTextCtrl.cpp:354
+#: widgets/TimeTextCtrl.cpp:355
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
 msgstr "0100 г 060 хв 060 с+.030 кадри| .999000999"
 
 #. i18n-hint: Name of time display format that shows time in frames at NTSC
-#. * TV frame rate (used for American / Japananese TV
-#: widgets/TimeTextCtrl.cpp:357
+#. * TV frame rate (used for American / Japanese TV
+#: widgets/TimeTextCtrl.cpp:358
 msgid "NTSC frames"
 msgstr "NTSC кадри"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone. That really is the frame
 #. * rate!
-#: widgets/TimeTextCtrl.cpp:361
+#: widgets/TimeTextCtrl.cpp:362
 msgid "01000,01000 frames|29.97002997"
 msgstr "01000,01000 кадри|29.97002997"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at PAL TV frame rate (used for European TV)
-#: widgets/TimeTextCtrl.cpp:364
+#: widgets/TimeTextCtrl.cpp:365
 msgid "hh:mm:ss + PAL frames (25 fps)"
 msgstr "гг:хх:сс + PAL кадри (25 кд/с)"
 
@@ -9657,25 +10069,25 @@ msgstr "гг:хх:сс + PAL кадри (25 кд/с)"
 #. * and frames with PAL TV frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'. Nice simple time code!
-#: widgets/TimeTextCtrl.cpp:369
+#: widgets/TimeTextCtrl.cpp:370
 msgid "0100 h 060 m 060 s+.25 frames"
 msgstr "0100 г 060 хв 060 с+.25 кадри"
 
 #. i18n-hint: Name of time display format that shows time in frames at PAL
 #. * TV frame rate (used for European TV
-#: widgets/TimeTextCtrl.cpp:372
+#: widgets/TimeTextCtrl.cpp:373
 msgid "PAL frames (25 fps)"
 msgstr "PAL кадри (25 кд/с)"
 
 #. i18n-hint: Format string for displaying time in frames with NTSC frames.
 #. * Translate 'frames' and leave the rest alone.
-#: widgets/TimeTextCtrl.cpp:375
+#: widgets/TimeTextCtrl.cpp:376
 msgid "01000,01000 frames|25"
 msgstr "01000,01000 кадри|25"
 
 #. i18n-hint: Name of time display format that shows time in hours, minutes,
 #. * seconds and frames at CD Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:378
+#: widgets/TimeTextCtrl.cpp:379
 msgid "hh:mm:ss + CDDA frames (75 fps)"
 msgstr "hh:mm:ss + CDDA кадри (75 кд/с)"
 
@@ -9683,31 +10095,32 @@ msgstr "hh:mm:ss + CDDA кадри (75 кд/с)"
 #. * and frames with CD Audio frames. Change the 'h' to the abbreviation
 #. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
 #. * for seconds and translate 'frames'.
-#: widgets/TimeTextCtrl.cpp:383
+#: widgets/TimeTextCtrl.cpp:384
 msgid "0100 h 060 m 060 s+.75 frames"
 msgstr "0100 г 060 хв 060 с+.75 кадри"
 
 #. i18n-hint: Name of time display format that shows time in frames at CD
 #. * Audio frame rate (75 frames per second)
-#: widgets/TimeTextCtrl.cpp:386
+#: widgets/TimeTextCtrl.cpp:387
 msgid "CDDA frames (75 fps)"
 msgstr "CDDA кадри (75 кд/с)"
 
 #. i18n-hint: Format string for displaying time in frames with CD Audio
 #. * frames. Translate 'frames' and leave the rest alone
-#: widgets/TimeTextCtrl.cpp:389
+#: widgets/TimeTextCtrl.cpp:390
 msgid "01000,01000 frames|75"
 msgstr "01000,01000 кадри|75"
 
-#: widgets/TimeTextCtrl.cpp:461
+#: widgets/TimeTextCtrl.cpp:469
 msgid "Use right mouse button or context key to change format"
-msgstr "Використовуйте праву кнопку миші або контекстну клавішу для зміни формату"
+msgstr ""
+"Використовуйте праву кнопку миші або контекстну клавішу для зміни формату"
 
-#: widgets/TimeTextCtrl.cpp:1495
+#: widgets/TimeTextCtrl.cpp:1502
 msgid "Time Control"
 msgstr "Контроль часу"
 
-#: widgets/Warning.cpp:64
+#: widgets/Warning.cpp:61
 msgid "Don't show this warning again"
 msgstr "Більше не показувати"
 
@@ -9726,3 +10139,16 @@ msgstr "Помилка: %hs у рядку %lu"
 msgid "Could not load file: \"%s\""
 msgstr "Неможливо завантажити файл: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr "Помилка під час спроби синхронізації файла"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "Помилка під час спроби закрити файл"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "Помилка під час спроби запису до файла"
+
+
diff --git a/locale/vi.po b/locale/vi.po
index ec4a759..f1bce82 100644
--- a/locale/vi.po
+++ b/locale/vi.po
@@ -12,9 +12,7 @@ msgstr "Project-Id-Version: Audacity\n"
 "X-Poedit-Country: Vietnam\n"
 "X-Poedit-Bookmarks: 207,293,1198,-1,-1,84,-1,1309,382,385\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:142 AudacityApp.cpp:749 Menus.cpp:745
 msgid "&About Audacity..."
 msgstr "&Thông tin về Audacity..."
 
@@ -27,11 +25,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -40,8 +38,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Vietnamese translation by Nguyễn Đình Trung"
 
@@ -84,7 +81,7 @@ msgid "Special thanks:"
 msgstr "Rất cám ơn:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -92,14 +89,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
-#: AboutDialog.cpp:468
+#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "Thông tin biên dịch"
 
-#: AboutDialog.cpp:305
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:305 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "Bật"
 
@@ -112,33 +106,27 @@ msgid "File Format Support"
 msgstr "Hỗ trợ định dạng"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:326 AboutDialog.cpp:328
 msgid "MP3 Importing"
 msgstr "Nhập MP3"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:335 AboutDialog.cpp:338
 msgid "Ogg Vorbis Import and Export"
 msgstr "Xuất và nhập Ogg Vorbis"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:342 AboutDialog.cpp:345
 msgid "ID3 tag support"
 msgstr "Hỗ trợ thẻ ID3"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:352 AboutDialog.cpp:355
 msgid "FLAC import and export"
 msgstr "Xuất và nhập FLAC"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:360 AboutDialog.cpp:363
 msgid "MP2 export"
 msgstr "Xuất MP2"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:368 AboutDialog.cpp:371
 msgid "Import via QuickTime"
 msgstr "Nhập qua QuickTime"
 
@@ -147,15 +135,12 @@ msgstr "Nhập qua QuickTime"
 msgid "Core Libraries"
 msgstr "Các thư viện lõi"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
 #: AboutDialog.cpp:392
 msgid "Sample rate conversion"
 msgstr "Chuyển đổi tốc độ lấy mẫu"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:397 AboutDialog.cpp:400
 msgid "Audio playback and recording"
 msgstr "Phát và ghi âm"
 
@@ -163,24 +148,17 @@ msgstr "Phát và ghi âm"
 msgid "Features"
 msgstr "Các tính năng"
 
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:420
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:428
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:436
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:444
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Hỗ trợ trình bổ sung"
 
-#: AboutDialog.cpp:449
-#: AboutDialog.cpp:452
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "Hỗ trợ bộ trộn trên card âm thanh"
 
-#: AboutDialog.cpp:457
-#: AboutDialog.cpp:460
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "Hỗ trợ thay đổi nhịp độ và cao độ"
 
@@ -188,8 +166,7 @@ msgstr "Hỗ trợ thay đổi nhịp độ và cao độ"
 msgid "Program build date: "
 msgstr "Ngày biên dịch chương trình:"
 
-#: AboutDialog.cpp:475
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 #, fuzzy
 msgid "Build type:"
 msgstr "Kiểu biên dịch:"
@@ -215,16 +192,12 @@ msgstr "Thư mục thiết lập:"
 msgid "GPL License"
 msgstr "Giấy phép GPL"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:468 Project.cpp:1761
 #, c-format
 msgid "%s is already open in another window."
 msgstr "Bạn đã mở %s trên một cửa sổ khác."
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
+#: AudacityApp.cpp:470 Project.cpp:1763 Project.cpp:1868 Project.cpp:2012
 #: Project.cpp:2114
 msgid "Error opening project"
 msgstr "Lỗi khi mở dự án"
@@ -250,21 +223,28 @@ msgstr "Biên độ thu đo được"
 msgid "Output Meter"
 msgstr "Biên độ phát đo được"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "&Tuỳ thích...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "&Má»›i"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "&Mở..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:751 Menus.cpp:478
+msgid "&Preferences..."
+msgstr "&Tuỳ thích..."
+
+#: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "Dùng kích thước khối %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:855 AudacityApp.cpp:925
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "Không biết tuỳ chọn của dòng lệnh: %s\n"
@@ -379,18 +359,16 @@ msgstr "Lá»—i:"
 msgid "Error Initializing Audio"
 msgstr "Lỗi khởi chạy Âm thanh"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "Lỗi do trễ thời gian"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "Thiết lập độ trễ đã làm cho âm thanh ghi được bị dịch về phía trước mốc thời gian 0.\n"
-"Audacity đã đưa nó về mốc thời gian bắt đầu.\n"
-"Bạn phải dùng công cụ Di chuyển Thời gian (<---> hoặc F5) để lôi track âm thanh đến đúng vị trí mình cần."
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "Tự động khôi phục lỗi"
@@ -405,8 +383,7 @@ msgstr "Một số dự án đã không được lưu vào đĩa cứng theo cá
 msgid "Recoverable projects"
 msgstr "Các dự án có thể phục hồi:"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 msgid "Name"
 msgstr "Tên"
 
@@ -436,38 +413,25 @@ msgstr "Có chắc là bạn không phục hồi dự án không?\n"
 msgid "Confirm?"
 msgstr "Xác nhận?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "Không thể liệt kê các tập tin tự động lưu lại"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2575 Menus.cpp:4514
+#: Project.cpp:1971 Project.cpp:3343 Project.cpp:3422 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1689 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:846
 msgid "Error"
 msgstr "Lá»—i"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "Chọn lệnh"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "&Lệnh"
@@ -476,8 +440,7 @@ msgstr "&Lệnh"
 msgid "&Edit Parameters"
 msgstr "&Sửa tham số"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "&Tham số"
 
@@ -523,8 +486,7 @@ msgstr "Áp dụng %s với (các) tham số \n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "Chế độ kiểm tr"
 
@@ -533,8 +495,7 @@ msgstr "Chế độ kiểm tr"
 msgid "Apply %s"
 msgstr "Áp dụng %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "Áp dụng quy trình"
@@ -559,24 +520,15 @@ msgstr "Áp dụng vào &dự án hiện hành"
 msgid "Apply to &Files..."
 msgstr "Áp dụng cho &tập tin"
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "&Huỷ bỏ"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "Chưa có quy trình nào được chọn"
 
@@ -613,8 +565,7 @@ msgstr "Đang áp dụng..."
 msgid "File"
 msgstr "Tập tin"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "Sửa đổi quy trình"
@@ -623,19 +574,12 @@ msgstr "Sửa đổi quy trình"
 msgid "&Chains"
 msgstr "&Quy trình"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "&Thêm"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4201
 msgid "&Remove"
 msgstr "&Xoá bỏ"
 
@@ -649,8 +593,8 @@ msgstr "C&hùm (nhắp đúp chuột hoặc nhấn phím cách để hiệu đí
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "Không"
+msgid "Num"
+msgstr ""
 
 #: BatchProcessDialog.cpp:459
 msgid "&Insert"
@@ -739,8 +683,7 @@ msgstr "Dung lượng trống trên đĩa"
 msgid "Copy Selected Audio Into Project"
 msgstr "Chép các tập tin âm thanh được chọn vào trong dự án"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "Không lưu"
 
@@ -752,8 +695,7 @@ msgstr "Không chép bất cứ tập tin âm thanh nào"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "Chép tất cả các tập tin âm thanh vào dự án (an toàn hơn)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "Hỏi tôi trước"
 
@@ -787,9 +729,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 msgstr "Cảnh báo: còn rất ít chỗ trống trên đĩa cứng.\n"
 "Hãy chọn một thư mục tạm thời khác trong phần Tuỳ chọn"
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "Đang tiến hành"
 
@@ -844,8 +784,7 @@ msgstr "Không thể đổi tên '%s' thành '%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "Đang thẩm tra tập tin dữ liệu của dự án..."
 
@@ -896,14 +835,9 @@ msgstr "Không xoá, cứ tiếp tục: tiếp tục làm việc khi có những
 msgid "Close project immediately with no changes"
 msgstr "Không thay đổi và đóng dự án ngay bây giờ"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:490 export/Export.cpp:507
+#: export/Export.cpp:526 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "Cảnh báo"
 
@@ -925,14 +859,11 @@ msgstr "Quá trình kiểm tra dự án thấy thiếu %d tập tin đầu vào
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "Thay thế các dữ liệu đã mất bằng khoảng lặng [chính thức]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "Tạm thời thay thế dữ liệu đã mất bằng khoảng lặng [chỉ phiên làm việc này]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "Lập tức đóng dự án lại và giữ nguyên hiện trạng"
 
@@ -1001,11 +932,11 @@ msgstr "Chữ nhật"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1063,11 +994,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1090,8 +1022,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "Bộ phân tích tần số"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:140 TrackPanel.cpp:563
 msgid "Spectrum"
 msgstr "Phổ"
 
@@ -1119,8 +1050,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "Thuật toán:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "Kích thước"
 
@@ -1146,10 +1076,7 @@ msgstr "Tần số logarit"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
 msgstr "&Xuất..."
 
@@ -1157,45 +1084,54 @@ msgstr "&Xuất..."
 msgid "Export"
 msgstr "Xuất"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "Đóng"
 
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1109 effects/Equalization.cpp:1111
+#: effects/Equalization.cpp:1119 effects/Equalization.cpp:1185
+#: effects/Equalization.cpp:1394 effects/Equalization.cpp:1405
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:380
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1150
+#: effects/Equalization.cpp:1181 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "Để vẽ phổ, tất cả các dải được chọn phải có cùng tốc độ lấy mẫu"
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "Bạn chọn quá nhiều dữ liệu. Audacity sẽ chỉ phân tích %.1f giây đầu tiên của phần chọn."
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "Bạn chọn thiếu dữ liệu."
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1217,12 +1153,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "Xuất dữ liệu phổ thành:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1079 LabelDialog.cpp:599 Menus.cpp:2207 Project.cpp:2441
+#: Project.cpp:3395 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "Không thể ghi vào tập tin:"
 
@@ -1234,6 +1166,21 @@ msgstr "Tần số (Hz)\tMức (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "Trễ (seconds)\tTần số (Hz)\tMức"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "Quay về trang [[welcome|Xin chào]]."
@@ -1311,7 +1258,8 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr "<p><b>Để ghi âm:</b> Chọn thiết bị ghi âm và nguồn tín hiệu, điều chỉnh mức tín hiệu đầu vào, rồi nhấn nút Thu màu đỏ.</b></p><p> 1) [[inputdevice|Chọn thiết bị thu âm]] trong phần <i>Âm thanh Vào/Ra của hộp thoại Tuỳ thích</i> hoặc trên <i>Thanh công cụ Thiết bị</i>. Tuỳ chỉnh âm thanh Vào/Ra cho phép bạn chọn thu tín hiệu mono hoặc stereo.<br> 2) [[inputsource|Chọn nguồn tín hiệu]] trên thiết bị (ví dụ, microphone hoặc line-in) trong danh sách thả xuống trên thanh công cụ <i>Trộn tiếng</i>, hoặc (đối với một số máy) ở phần Thiết bị thu âm nằm trong phần <i>Âm thanh Vào/Ra của hộp thoại Tuỳ thích</i> hay trên thanh công cụ <i>Thiết bị</i>.<br> 3) [[inputlevel|Điều chỉnh mức tín hiệu vào]] bằng cách di con chạy trên thanh <i>Trộn tiếng</i>. Mức tín hiệu hợp lý sẽ loại bỏ nhiễu và méo tiếng. </p><p> Xem thêm trong: \"Thu âm\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQ</a>, và thực hành <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Thu âm lần đầu</a> ở <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Hướng dẫn</a>, và xem trang Wiki [[wiki:Recording_Tips|Mẹo thu âm]] và [[wiki:Troubleshooting_Recordings|Sửa lỗi thu âm]]. </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+#, fuzzy
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr "<p>Thiết bị nhập là thiết bị âm thanh trên máy cho phép bạn thu tín hiệu từ microphone, dàn Hifi... Chọn thiết bị cần dùng trong hộp \"Thiết bị thu âm\" ở phần <i>Âm thanh Vào/Ra của hộp thoại Tuỳ thích</i>, Trên Windows và Linux, Tuỳ chỉnh nằm cuối trình đơn <i>Chỉnh sửa</i>. Trên Mac, nó nằm trong trình đơn <i>Audacity</i>. Bạn cũng có thể chỉnh thiết bị thu âm từ thanh công cụ <i>Thiết bị</i>, sau khi bật nó lên bằng cách chọn <i>Xem &gt; Thanh công cụ...</i>. </p><p> Theo mặc định, Audacity sử dụng thiết bị được hệ thống quy định, (thường là thiết bị tích hợp sẵn), nên thường là không cần chỉnh lại thiết lập này. Trên Windows, ta thường dùng thiết bị \"Microsoft Sound Mapper\". Nếu bạn muốn dùng thiết bị ghi âm cắm cổng USB hay thiết bị Firewire như bàn trộn USB, hãy chọn nó làm thiết bị thu âm sau khi nối nó vào máy. </p><p> Quay về [[record|Ghi âm]] <br></p>"
 
 #: HelpText.cpp:244
@@ -1335,7 +1283,8 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr "Để mở dự án trong 1 chương trình phát nhạc, hãy xuất nó ra dạng WAV hay MP3 (một số định dạng [[wma-proprietary|không được hỗ trợ]]). [[save|Lưu 1 dự án Audacity]] sẽ tạo ra 1 tập tin dự án (và 1 thư mục _data gắn với tập tin đó) chứa tất cả các dải bạn đã biên tập, để bạn có thể làm việc tiếp với chúng sau này. Tuy nhiên, những chương trình khác thường không đọc được dạng lưu trữ dự án Audacity. </p><p> Để xuất dự án ra định dạng khác, chọn <i>Tập tin &gt; Xuất</i> rồi chọn định dạng muốn dùng trong ô \"Lưu ở dạng\". Để [[burncd|ghi đĩa CD]] âm thanh, hãy chọn dạng WAV hay AIFF. Để xuất MP3, bạn phải cài thư viện [[wiki:Lame_Installation|Lame Encoder]]. </p><p> <i>Tập tin &gt; Xuất vùng chọn</i> chỉ xuất 1 phần dự án được chọn ra tập tin khác. Chọn <i>Tập tin &gt; Xuất nhiều</i> để xuất nhiều tập tin cùng 1 lúc, mỗi dải hoặc mỗi nhãn được ghi ra 1 tập tin riêng biệt. <i>Dải âm &gt; Thêm nhãn ở vùng chọn</i> được dùng để[[wiki:Splitting_recordings_into_separate_tracks|chia các dải]] ghi toàn bộ 1 album ra nhiều bài hát, ghi trong từng tập tin riêng biệt. </p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+#, fuzzy
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr "<p>Audacity <b>không thể</b> [[play|phát lại]] hay [[export|xuất]] các tập tin dạng <b>WMA, RealAudio, Shorten (SHN)</b> hay các định dạng thương mại khác, vì lý do bản quyền.  Trên máy Mac, Audacity nhập được các định dạng <b>AAC</b> không được bảo vệ như <b>M4A</b>. Một số định dạng mở hiện nay vẫn chưa được Audacity hỗ trợ, ví dụ như <b>Ogg Speex</b> và <b>Musepack</b>. Các tập tin được bảo vệ bằng Digital Rights Management (DRM), thường được mua trên các trang iTunes hay Napster, <b>sẽ không cho phép</b> nhập vào Audacity.</p><p> Muốn nhập chúng vào chương trình, bạn phải dùng iTunes hoặc <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> để chuyển đổi nó về định dạng WAV hoặc AIFF. Đối với các tập tin được bảo vệ, hãy ghi nó ra đĩa CD trong chương trình được phép phát chúng, rồi trích CD thành dạng WAV hay AIFF bằng ITunes hoặc (trên Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> hoặc Windows Media Player 11. Xin xem <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">thu âm</a> đĩa CD vào máy.<i>Để xuất 1 định dạng chưa hỗ trợ, hãy xuất ra WAV hoặc AIFF rồi chuyển đổi nó về định dạng mình muốn bằng iTunes hoặc <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 
 #: HelpText.cpp:383
@@ -1370,15 +1319,9 @@ msgstr "Xoá các mức"
 msgid "&Discard"
 msgstr "&Loại bỏ"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:398
 msgid "&OK"
 msgstr "&OK"
 
@@ -1386,8 +1329,7 @@ msgstr "&OK"
 msgid "Unable to determine"
 msgstr "Không quyết định được"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:195 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "bytes"
 
@@ -1403,13 +1345,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "Dải âm"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:53 Menus.cpp:4057 Menus.cpp:4085
 msgid "Label"
 msgstr "Nhãn"
 
@@ -1421,8 +1369,7 @@ msgstr "Thời gian bắt đầu"
 msgid "End Time"
 msgstr "Thời gian kết thúc"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:98 Menus.cpp:627
 msgid "&Edit Labels"
 msgstr "&Sửa nhãn"
 
@@ -1438,8 +1385,7 @@ msgstr "Chèn phía s&au"
 msgid "Insert &Before"
 msgstr "Chèn lên t&rước"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:127 Menus.cpp:194
 msgid "&Import..."
 msgstr "&Nhập..."
 
@@ -1461,20 +1407,15 @@ msgstr "Bạn đã bỏ trống tên nhãn. Dải âm thanh này sẽ \n"
 msgid "Confirm"
 msgstr "Xác nhận"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:514 Menus.cpp:3555
 msgid "Select a text file containing labels..."
 msgstr "Chọn một tập tin văn bản chứa các nhãn..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:518 Menus.cpp:3559
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "Tập tin văn bản (*.txt)|*.txt|Tất cả (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
+#: LabelDialog.cpp:532 Menus.cpp:3571 Project.cpp:1831 Project.cpp:1839
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "Không mở được tập tin:"
@@ -1483,13 +1424,11 @@ msgstr "Không mở được tập tin:"
 msgid "No labels to export."
 msgstr "Chưa có nhãn để có thể xuất ra."
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:564 Menus.cpp:2172
 msgid "Export Labels As:"
 msgstr "Xuất nhãn thành:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:566 Menus.cpp:2170
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1501,10 +1440,7 @@ msgstr "Nhãn mới cho dải âm"
 msgid "Enter track name"
 msgstr "Nhập tên dải âm"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:555
 msgid "&Label Track"
 msgstr "&Nhãn cho dải âm"
 
@@ -1531,24 +1467,15 @@ msgstr "Mở dự án của Audacity"
 msgid "&File"
 msgstr "&Tập tin"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "&Má»›i\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "&Mở...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "&Đóng\tCtrl+W"
+msgid "&Close"
+msgstr "&Đóng"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "&Lưu Dự án\tCtrl+S"
+msgid "&Save Project"
+msgstr "&Lưu Dự án"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
 msgstr "Lưu &như dự án mới..."
 
@@ -1569,8 +1496,8 @@ msgid "&Import"
 msgstr "&Nhập"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "Âm t&hanh...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "Âm t&hanh..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1584,8 +1511,7 @@ msgstr "&MIDI..."
 msgid "&Raw Data..."
 msgstr "&Dữ liệu thô..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:210 Menus.cpp:239
 msgid "Expo&rt Selection..."
 msgstr "Xuất phầ&n chọn..."
 
@@ -1601,12 +1527,11 @@ msgstr "Xuất ra &nhiều tập tin"
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "Quy trình CleanSpeec&h..."
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "Áp dụng &quy trình..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
 msgstr "&Hiệu chỉnh quy trình..."
 
@@ -1618,10 +1543,6 @@ msgstr "Xuất thiết lập sẵn cho CleanS&peech..."
 msgid "I&mport CleanSpeech Presets..."
 msgstr "Nhập th&iết lập sẵn của CleanSpeed"
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "Áp dụng &quy trình..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "&Tải tập tin lên..."
@@ -1635,75 +1556,72 @@ msgid "&Print..."
 msgstr "&In ấn..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "Th&oát\tCtrl+Q"
+msgid "E&xit"
+msgstr "Th&oát"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "Chỉnh &Sửa"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "&Hoãn lại\tCtrl+Z"
+msgid "&Undo"
+msgstr "&Hoãn lại"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "&Làm lại"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "Cắ&t\tCtrl+X"
+msgid "Cu&t"
+msgstr "Cắ&t"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "Ch&ia và Cắt\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "Ch&ia và Cắt"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "&Chép\tCtrl+C"
+msgid "&Copy"
+msgstr "&Chép"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "&Dán\tCtrl+V"
+msgid "&Paste"
+msgstr "&Dán"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "Thu &gọn\tCtrl+T"
+msgid "Tri&m"
+msgstr "Thu &gọn"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "&Xoá\tCtrl+K"
+msgid "&Delete"
+msgstr "&Xoá"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "Chia &và Xoá\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "Chia &và Xoá"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "Phâ&n chia\tCtrl+I"
+msgid "Sp&lit"
+msgstr "Phâ&n chia"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "Chia và tạo &mới\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "Chia và tạo &mới"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "&Ghép nối\tCtrl+j"
+msgid "&Join"
+msgstr "&Ghép nối"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "N&hân đôi\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "N&hân đôi"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1715,80 +1633,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "&Cắt\tAlt+X"
+msgid "&Cut"
+msgstr "&Cắt"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "Chi&a và cắt\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "Chi&a và cắt"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "Ché&p\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "&Xoá\tAlt+K"
+msgid "Co&py"
+msgstr "Ché&p"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "Chia &và Xoá\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "Chia &và Xoá"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "Chèn khoảng &lặng\tAlt+L"
+msgid "Sile&nce"
+msgstr "Chèn khoảng &lặng"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "Phâ&n chia\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "&Ghép nối\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "Phâ&n chia"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "&Tất\tCtrl+A"
+msgid "&All"
+msgstr "&Tất"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "&Không gì hết\tCtrl+Shift+A"
+msgid "&None"
+msgstr "&Không gì hết"
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "Bên &trái vị trí phát lại\t["
+msgid "&Left at Playback Position"
+msgstr "Bên &trái vị trí phát lại"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "Bên &phải vị trí phát lại\t]"
+msgid "&Right at Playback Position"
+msgstr "Bên &phải vị trí phát lại"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
+msgid "Track &Start to Cursor"
 msgstr "Từ đầu đến c&on trỏ"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
+msgid "Cursor to Track &End"
 msgstr "Con &trỏ đến hết"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "Tìm điểm biên độ bằng &không\tZ"
+msgid "Find &Zero Crossings"
+msgstr "Tìm điểm biên độ bằng &không"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1803,11 +1706,11 @@ msgid "to Selection En&d"
 msgstr "đến cuố&i vùng chọn"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
+msgid "to Track &Start"
 msgstr "đến đầ&u dải"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
+msgid "to Track &End"
 msgstr "đến &cuối dải"
 
 #: Menus.cpp:450
@@ -1830,29 +1733,8 @@ msgstr "&Khoá"
 msgid "&Unlock"
 msgstr "&Mở khoá"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "Bật chế độ dính"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "Tắt chế độ dính"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "Bật chế độ dính vào toạ độ"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "Tắt chế độ dính vào toạ độ"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1860,36 +1742,36 @@ msgid "&View"
 msgstr "&Xem"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "Phóng &To\tCtrl+1"
+msgid "Zoom &In"
+msgstr "Phóng &To"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "Đúng &Cỡ\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "Đúng &Cỡ"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "Thu &Nhỏ\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "Thu &Nhỏ"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "&Vừa cửa sổ\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "&Vừa cửa sổ"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "Vừa chiều n&gang\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "Vừa chiều n&gang"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "Vừ&a vùng chọn\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "Vừ&a vùng chọn"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "&Gộp các dải âm lại\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "&Gộp các dải âm lại"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "&Bung các dải âm ra\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "&Bung các dải âm ra"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1950,40 +1832,40 @@ msgstr "Đơn giản"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "Phát"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "Nhảy về đầu\tHome"
+msgid "Skip to Start"
+msgstr "Nhảy về đầu"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "Chuyển về cuối\tEnd"
+msgid "Skip to End"
+msgstr "Chuyển về cuối"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2011,15 +1893,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "&Dải âm\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "&Dải âm"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
 msgstr "Dải &stereo"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:556 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "Dải &thời gian"
 
@@ -2028,8 +1909,8 @@ msgid "Mi&x and Render"
 msgstr "Trộn và &Diễn tả"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "Trộn và Diễn tả sang Dải mới\tCtrl+Shift+M"
+msgid "Mix and Render to New Track"
+msgstr "Trộn và Diễn tả sang Dải mới"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -2040,12 +1921,12 @@ msgid "Remo&ve Tracks"
 msgstr "&Xoá Dải âm"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "&Tắt tiếng mọi dải âm\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "&Tắt tiếng mọi dải âm"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "&Bật tiếng mọi dải âm\tCtrl+Shift+X"
+msgid "&UnMute All Tracks"
+msgstr "&Bật tiếng mọi dải âm"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -2091,17 +1972,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "Thêm &Nhãn cho vùng chọn\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "Thêm nhãn từ vị trí &phát lại\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "Thêm nhãn từ vị trí &phát lại"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2127,20 +2008,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "&Hiệu ứng"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "Lặp lại hiệu ứng trước\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "&Phân tích"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "Vẽ phổ tần số..."
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:737 Menus.cpp:740
 msgid "&Help"
 msgstr "Trợ &giúp"
 
@@ -2152,9 +2032,9 @@ msgstr "Thông tin về &Audacity CleanSpeech..."
 msgid "&Show Welcome Message..."
 msgstr "&Xin chào..."
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "Chỉ &mục..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2172,181 +2052,149 @@ msgstr "&Kiểm thử..."
 msgid "&Audio Device Info..."
 msgstr "&Thông tin phần cứng"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "Công cụ chọn\tF1"
+msgid "Selection Tool"
+msgstr "Công cụ chọn"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "Công cụ biên độ\tF2"
+msgid "Envelope Tool"
+msgstr "Công cụ biên độ"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "Công cụ vẽ\tF3"
+msgid "Draw Tool"
+msgstr "Công cụ vẽ"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "Công cụ thu phóng\tF4"
+msgid "Zoom Tool"
+msgstr "Công cụ thu phóng"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "Công cụ di chuyển\tF5"
+msgid "Time Shift Tool"
+msgstr "Công cụ di chuyển"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "Đa năng\tF6"
+msgid "Multi Tool"
+msgstr "Đa năng"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "Công cụ kế\tD"
+msgid "Next Tool"
+msgstr "Công cụ kế"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "Công cụ trước\tA"
+msgid "Previous Tool"
+msgstr "Công cụ trước"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "Dừng\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "Tạm dừng\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "Thu\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "Ghi tiếp vào cuối\tShift+R"
-
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "Phát/Dừng và đặt con trỏ\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "Phát/Dừng và đặt con trỏ"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "Phát đúng 1 giây\t1"
+msgid "Play One Second"
+msgstr "Phát đúng 1 giây"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "Phát đến vùng chọn\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "Phát nhiều lần\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "Phát đến vùng chọn"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "Phát Cắt Xem trước\tC"
+msgid "Play Cut Preview"
+msgstr "Phát Cắt Xem trước"
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "Chọn về đầu\tShift+Home"
+msgid "Selection to Start"
+msgstr "Chọn về đầu"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "Chọn đến hết\tShift+End"
+msgid "Selection to End"
+msgstr "Chọn đến hết"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "Xoá\tBackspace"
+msgid "DeleteKey"
+msgstr "Xoá"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "Xoá2\tDelete"
+msgid "DeleteKey2"
+msgstr "Xoá2"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "Quay lui từng đoạn nhỏ khi phát\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "Chuyển tới từng đoạn khi phát\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "Quay lui từng đoạn dài khi phát\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "Chuyển tới từng đoạn dài khi phát\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "Chuyển lên dải trên\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "Chuyển lên dải trên"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "Chuyển lên dải trên kèm theo vùng chọn\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "Chuyển xuống dải dưới\tDown"
+msgid "Move Focus to Next Track"
+msgstr "Chuyển xuống dải dưới"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "Chuyển xuống dải dưới kèm theo vùng chọn\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "Chọn/thôi chọn dải\tReturn"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "Chọn/thôi chọn dải\tNUMPAD_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "Chọn/thôi chọn dải"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "Con trỏ sang trái\tLeft"
+msgid "Cursor Left"
+msgstr "Con trỏ sang trái"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "Con trỏ sang phải\tRight"
+msgid "Cursor Right"
+msgstr "Con trỏ sang phải"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "Con trỏ sang trái đoạn ngắn\t,"
+msgid "Cursor Short Jump Left"
+msgstr "Con trỏ sang trái đoạn ngắn"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "Con trỏ sang phải đoạn ngắn\t."
+msgid "Cursor Short Jump Right"
+msgstr "Con trỏ sang phải đoạn ngắn"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "Con trỏ sang trái đoạn dài\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "Con trỏ sang trái đoạn dài"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "Con trỏ sang phải đoạn dài\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "Con trỏ sang phải đoạn dài"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "Vùng chọn nới sang trái\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "Vùng chọn nới sang trái"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "Vùng chọn nới sang phải\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "Vùng chọn nới sang phải"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2357,52 +2205,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "Đặt (hoặc Nới) Vùng chọn sang phải"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "Co bên trái Vùng chọn\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "Co bên trái Vùng chọn"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "Co bên phải vùng chọn\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "Co bên phải vùng chọn"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "Thay đổi cân bằng trái/phải của dải\tShift+P"
+msgid "Change pan on focused track"
+msgstr "Thay đổi cân bằng trái/phải của dải"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "Dịch cân bằng sang trái\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "Dịch cân bằng sang trái"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "Dịch cân bằng sang phải\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "Dịch cân bằng sang phải"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "Thay đổi độ khuếch đại\tShift+G"
+msgid "Change gain on focused track"
+msgstr "Thay đổi độ khuếch đại"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "Tăng độ khuếch đại biên độ\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "Tăng độ khuếch đại biên độ"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "Giảm độ khuếch đại\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "Giảm độ khuếch đại"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "Mở trình đơn trên dải hiện hành\tShift+M"
+msgid "Open menu on focused track"
+msgstr "Mở trình đơn trên dải hiện hành"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "Tắt/bật âm thanh của dải hiện hành\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "Tắt/bật âm thanh của dải hiện hành"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "Bật/tắt chế độ Solo của dải hiện hành\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "Bật/tắt chế độ Solo của dải hiện hành"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "Đóng dải hiện hành\tShift+C"
+msgid "Close focused track"
+msgstr "Đóng dải hiện hành"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2413,7 +2261,35 @@ msgid "Snap To Off"
 msgstr "Tắt chế độ dính"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2474,8 +2350,8 @@ msgstr "Bạn phải chọn 1 dải âm trước đã!"
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "Lặp lại %s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "Lặp lại %s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2506,9 +2382,7 @@ msgstr "Không thể huỷ bước"
 msgid "Nothing to redo"
 msgstr "Không thể làm lại"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2366 TrackPanel.cpp:605 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "Cắt"
 
@@ -2524,10 +2398,7 @@ msgstr "Chia và Cắt"
 msgid "Split-cut to the clipboard"
 msgstr "Chia rồi cắt vào bảng kẹp tạm"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
+#: Menus.cpp:2469 Menus.cpp:2540 Menus.cpp:2634 TrackPanel.cpp:607
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "Dán"
@@ -2536,8 +2407,7 @@ msgstr "Dán"
 msgid "Pasted text from the clipboard"
 msgstr "Đã dán văn bản từ bảng kẹp tạm"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:2540 Menus.cpp:2634
 msgid "Pasted from the clipboard"
 msgstr "Đã dán từ bảng kẹp tạm"
 
@@ -2549,8 +2419,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "Không thể chép âm thanh stereo sang dải mono."
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2670 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "Thu gọn"
 
@@ -2590,8 +2459,7 @@ msgstr "Ghép nối"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "Đã tạo khoảng lặng dài %.2f giây tại %.2f vào dải hiện hành"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2771 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "Im lặng"
 
@@ -2675,8 +2543,7 @@ msgstr "Bỏ ghép nối nhãn"
 msgid "Disjoined labeled regions"
 msgstr "Đã bỏ ghép nối vùng có nhãn"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:2947 TrackPanel.cpp:6121
 msgid "Split"
 msgstr "Chia"
 
@@ -2692,15 +2559,6 @@ msgstr "Phần chia tạo thành dải mới"
 msgid "Split at labels"
 msgstr "Chia tại nhãn"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "Để vẽ phổ, tất cả các dải được chọn phải có cùng tốc độ lấy mẫu"
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "Bạn chọn quá nhiều dữ liệu. Audacity sẽ chỉ phân tích %.1f giây đầu tiên của phần chọn."
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2739,8 +2597,7 @@ msgstr "Tất cả (*)|*"
 msgid "Edit the metadata tags"
 msgstr "Sửa các thẻ dữ liệu đặc tả"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:3669 export/Export.cpp:298
 msgid "Edit Metadata"
 msgstr "Sửa dữ liệu đặc tả"
 
@@ -2767,8 +2624,7 @@ msgstr "Đã trộn và diễn tả %d dải thành một dải stereo mới"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "Đã trộn và diễn tả %d dải thành một dải mono mới"
 
-#: Menus.cpp:3736
-#: Mix.cpp:120
+#: Menus.cpp:3736 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "&Trộn và Diễn tả"
 
@@ -2820,10 +2676,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "Tạo dải âm mới"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:3950 Menus.cpp:3973 Menus.cpp:3988 Menus.cpp:4008
 msgid "New Track"
 msgstr "Dải âm mới"
 
@@ -2859,8 +2712,7 @@ msgstr "Lưu tập tin thiết lập sẵn cho CleenSpeech:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "Thiết lập sẵn CleanSpeech (*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4123 export/Export.cpp:515
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "Không cấp nhận đường dẫn dài hơn 256 chữ."
 
@@ -2868,8 +2720,7 @@ msgstr "Không cấp nhận đường dẫn dài hơn 256 chữ."
 msgid "Problem encountered exporting presets."
 msgstr "Lỗi xảy ra khi xuất thiết lập sẵn."
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4170 export/Export.cpp:408
 msgid "Unable to export"
 msgstr "Không thể xuất ra tập tin"
 
@@ -2881,9 +2732,7 @@ msgstr "Xoá bỏ dải âm"
 msgid "Removed audio track(s)"
 msgstr "Đã xoá bỏ dải âm"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:4508 Menus.cpp:4527 export/ExportMP3.cpp:1926
 msgid "Resample"
 msgstr "Đổi tốc độ lấy mẫu"
 
@@ -2908,8 +2757,7 @@ msgstr "Đổi tốc độ lấy mẫu cho dải âm"
 msgid "Resampled audio track(s)"
 msgstr "Đã thay đổi tốc độ lấy mẫu cho dải âm"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "Trá»™n"
 
@@ -2929,6 +2777,10 @@ msgstr "Có lỗi xảy ra khi in."
 msgid "Print"
 msgstr "In"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "Bộ trộn chính"
@@ -2942,14 +2794,11 @@ msgstr "Chào bạn, bạn đang dùng Audacity phiên bản %s"
 msgid "(Recovered)"
 msgstr "(Đã phục hồi)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "Thu"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1482 TrackPanel.cpp:804
 msgid "Recorded Audio"
 msgstr "Đã thu âm"
 
@@ -2975,9 +2824,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "Lưu các thay đổi?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "Mọi tập tin|*.*|Mọi tập tin được hỗ trơ|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2987,8 +2836,7 @@ msgstr "Chọn một hoặc nhiều tập tin âm thanh..."
 msgid "Audacity projects|*.aup|"
 msgstr "Dự án Audacity|*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:1799 Project.cpp:2186
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3010,13 +2858,22 @@ msgstr "Audacity %s đã lưu tập tin này.\n"
 msgid "1.0 or earlier"
 msgstr "1.0 trở xuống"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:1806 Project.cpp:2198
 msgid "Opening old project file"
 msgstr "Mở tập tin dự án cũ"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "Lỗi khi mở tập tin"
 
@@ -3051,8 +2908,7 @@ msgstr "Phục hồi"
 msgid "Project checker repaired file"
 msgstr "Quá trình kiểm tra dự án đã sửa lại các tập tin"
 
-#: Project.cpp:2001
-#: effects/Repair.h:29
+#: Project.cpp:2001 effects/Repair.h:29
 msgid "Repair"
 msgstr "Sá»­a"
 
@@ -3074,15 +2930,15 @@ msgstr "Audacity %s đã lưu tập tin này.\n"
 msgid "Can't open project file"
 msgstr "Không mở được tập tin dự án"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
-msgstr "Audacity %s đã lưu tập tin này.\n"
-"Phiên bản Audacity này có thể mở nó, nhưng nếu bạn lưu lại dự án bằng phiên bản này, bạn không thể mở tập tin bằng phiên bản trước được nữa.\n"
-"Bạn có muốn mở tập tin này không?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -3099,17 +2955,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "Có lỗi khi lưu dự án"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3120,16 +2981,12 @@ msgstr "Đã lưu %s"
 msgid "Imported '%s'"
 msgstr "Đã nhập '%s'"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3649 Project.cpp:2587 Project.cpp:2612 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "Nhập"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:2639 Project.cpp:2647
 msgid "Error importing"
 msgstr "Có lỗi khi nhập"
 
@@ -3172,8 +3029,7 @@ msgstr "Tạo dự án mới"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "Đã xoá %.2f giây tại t=%.2f"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
+#: Project.cpp:2859 effects/Equalization.cpp:1262
 #: effects/Equalization.cpp:2593
 msgid "Delete"
 msgstr "Xoá"
@@ -3254,8 +3110,7 @@ msgstr "Libsamplerate viết bởi Erik de Castro Lopo"
 msgid "Libsamplerate error: %d\n"
 msgstr "Lỗi thư viện Libsamplerate: %d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "Không lấy mẫu lại."
 
@@ -3274,6 +3129,163 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "Chọn..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "Không chọn"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "Công cụ"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "Điều khiển"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "Bá»™ trá»™n"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "Bá»™ Ä‘o"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "Thiết bị"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "Tốc độ phát"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "Bảng dải âm thanh"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "Các Dải âm"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "Đã lưu"
@@ -3282,14 +3294,15 @@ msgstr "Đã lưu"
 msgid "Error trying to save file: "
 msgstr "Lỗi khi cố gắng lưu tập tin:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "Tìm thấy thiếu sót trên dự án\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "Xe&m trÆ°á»›c"
@@ -3330,8 +3343,7 @@ msgstr "Tên Album"
 msgid "Track Number"
 msgstr "Số trên album"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "Năm"
 
@@ -3339,9 +3351,7 @@ msgstr "Năm"
 msgid "Genre"
 msgstr "Thể loại"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "Ghi chú"
 
@@ -3357,9 +3367,7 @@ msgstr "Tên thẻ"
 msgid "Tag Value"
 msgstr "Giá trị thẻ"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "&Xoá"
 
@@ -3375,71 +3383,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "Mẫu"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "&Nạp..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "&LÆ°u..."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "Đặt làm &Mặc định"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "Chỉnh sửa thể loại"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "Đặt lại thể loại"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr "Không thể lưu tập tin thể loại"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "Bạn có chắc là sẽ thiết lập lại danh sách thể loại về mặc định không?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr "Không mở được tập tin thể loại."
 
@@ -3447,21 +3426,19 @@ msgstr "Không mở được tập tin thể loại."
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "Lỗi nạp dữ liệu đặc tả"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "Lưu Dữ liệu đặc tả thành:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3494,8 +3471,7 @@ msgstr "Audacity không tìm thấy tập tin:\n"
 "  %s.\n"
 "Chưa nạp sắc thái giao diện."
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3519,8 +3495,7 @@ msgstr "Không tìm thấy các tập tin cấu thành\n"
 "sắc thái giao diện trong:\n"
 "  %s."
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3543,12 +3518,8 @@ msgstr "Tất cả các tập tin cần thiết:\n"
 "  %s\n"
 "đều đang hiện hữu."
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:307 TimeDialog.cpp:53
+#: effects/Noise.cpp:235 effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
 msgid "Duration"
 msgstr "Độ dài"
 
@@ -3556,6 +3527,14 @@ msgstr "Độ dài"
 msgid "Audacity Timer Record"
 msgstr "Bộ thu âm định thời của Audacity"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "Bắt đầu thu âm"
@@ -3595,40 +3574,23 @@ msgstr "Đang chờ để bắt đầu ghi âm tại %s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "Bảng dải âm thanh"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "Khác..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:556 TrackPanel.cpp:580 TrackPanel.cpp:589 TrackPanel.cpp:597
 msgid "Name..."
 msgstr "Tên..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:558 TrackPanel.cpp:582 TrackPanel.cpp:593 TrackPanel.cpp:599
 msgid "Move Track Up"
 msgstr "Đưa dải lên trên"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:559 TrackPanel.cpp:583 TrackPanel.cpp:594 TrackPanel.cpp:600
 msgid "Move Track Down"
 msgstr "Chuyển dải xuống dưới"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:561 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "Dạng sóng"
 
@@ -3644,18 +3606,15 @@ msgstr "Phổ logarith (f)"
 msgid "Pitch (EAC)"
 msgstr "Độ cao của âm (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:569 TrackPanel.cpp:6091
 msgid "Mono"
 msgstr "Mono"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:570 TrackPanel.cpp:6090
 msgid "Left Channel"
 msgstr "Kênh trái"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:571 TrackPanel.cpp:6090
 msgid "Right Channel"
 msgstr "Kênh phải"
 
@@ -3667,12 +3626,15 @@ msgstr "Tạo dải âm Stereo"
 msgid "Split Stereo Track"
 msgstr "Chia dải âm Stereo"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "Đặt dạng lấy mẫu"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:577 TrackPanel.cpp:6320
 msgid "Set Rate"
 msgstr "Đặt tốc độ lấy mẫu"
 
@@ -3692,8 +3654,7 @@ msgstr "Phông chữ..."
 msgid "Set Range..."
 msgstr "Đặt giới hạn..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:606 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "Chép"
 
@@ -3739,21 +3700,13 @@ msgstr "Nhấn và rê chuột để di chuyển giới hạn trái của vùng
 msgid "Click and drag to move right selection boundary."
 msgstr "Nhấn và rê chuột để di chuyển giới hạn phải của vùng chọn"
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1702 TrackPanel.cpp:3993 TrackPanel.cpp:4025
+#: TrackPanel.cpp:4280 TrackPanel.cpp:6432 TrackPanel.cpp:6452
 msgid "Modified Label"
 msgstr "Đã sửa lại nhãn"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1703 TrackPanel.cpp:3994 TrackPanel.cpp:4026
+#: TrackPanel.cpp:4281 TrackPanel.cpp:6433 TrackPanel.cpp:6453
 msgid "Label Edit"
 msgstr "Chỉnh sửa nhãn"
 
@@ -3761,8 +3714,7 @@ msgstr "Chỉnh sửa nhãn"
 msgid "Adjusted envelope."
 msgstr "Đã sửa lại đường bao biên độ."
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1931 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "Đường bao biên độ"
 
@@ -3784,9 +3736,7 @@ msgstr "phải"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "Đã dịch dải/đoạn sang %s %.02f giây"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2092 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "Di chuyển mốc thời gian"
@@ -3825,39 +3775,29 @@ msgid "Moved pan slider"
 msgstr "Đã di chuyển thanh trượt cân bằng trái/phải"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5726 TrackPanel.cpp:7149
 msgid "Gain"
 msgstr "Độ khuếch đại"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5664 TrackPanel.cpp:7156
 msgid "Pan"
 msgstr "Cân bằng trái/phải"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3610 TrackPanel.cpp:6385 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "lên"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3614 TrackPanel.cpp:6386 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "xuống"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3621 TrackPanel.cpp:6381
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "Đã di chuyển '%s' %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3624 TrackPanel.cpp:6387
 msgid "Move Track"
 msgstr "Di chuyển dải âm"
 
@@ -3889,14 +3829,6 @@ msgstr "Đã điều chỉnh cân bằng trái/phải"
 msgid "Adjusted gain"
 msgstr "Đã điều chỉnh độ khuếch đại"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "Không thể xoá dải âm đang hoạt động"
@@ -3917,8 +3849,7 @@ msgstr "Trái,"
 msgid "Right, "
 msgstr "Phải,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6100 TrackPanel.cpp:6225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "Thay '%s' thành %s"
@@ -3932,6 +3863,11 @@ msgstr "Kênh"
 msgid "Split stereo track '%s'"
 msgstr "Đã chia dải âm stereo '%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3958,8 +3894,7 @@ msgstr "Thay đổi định dạng"
 msgid "Change lower speed limit (%) to:"
 msgstr "Chuyển tốc độ giới hạn dưới (%) thành:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6350 TrackPanel.cpp:6351
 msgid "Lower speed limit"
 msgstr "Tốc độ giới hạn dưới"
 
@@ -3967,8 +3902,7 @@ msgstr "Tốc độ giới hạn dưới"
 msgid "Change upper speed limit (%) to:"
 msgstr "Chuyển tốc độ giới hạn trên (%) thành:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6357 TrackPanel.cpp:6358
 msgid "Upper speed limit"
 msgstr "Tốc độ giới hạn trên"
 
@@ -4010,6 +3944,10 @@ msgstr "Tên phông"
 msgid "Face size"
 msgstr "Kích thước"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 #: TrackPanel.cpp:7076
 msgid "Mute"
 msgstr "Tắt tiếng"
@@ -4043,10 +3981,7 @@ msgstr "Phát Solo"
 msgid " Select On"
 msgstr " Bật chọn"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "Vùng chọn không đủ lớn để dùng giọng."
 
@@ -4073,8 +4008,7 @@ msgstr "Đổi hướng  -- trị trung bình: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "Dải âm"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr "Không đủ chỗ để dán vùng chọn"
 
@@ -4092,10 +4026,10 @@ msgstr "Trình bổ sung 1 đến %i"
 msgid "Plugins %i to %i"
 msgstr "Trình bổ sung %i đến %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "Không cho phép vì một lý do nào đó. Có chọn âm thanh trước không?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4162,9 +4096,7 @@ msgstr "Đỉnh khuếch đại mới (dB):"
 msgid "Allow clipping"
 msgstr "Cho phép ghim đỉnh"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
 #, fuzzy
 msgid "-Infinity"
 msgstr "-Vô cùng"
@@ -4181,9 +4113,7 @@ msgstr "Đang khuếch đại"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "Bạn đã chọn một dải âm toàn khoảng lặng. Hiệu ứng Tự động điều biên chỉ có thể xử lý dải âm có thông tin."
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "Auto Duck"
@@ -4205,17 +4135,11 @@ msgid "Maximum pause:"
 msgstr "Tạm ngưng dài nhất:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "giây"
 
@@ -4235,8 +4159,7 @@ msgstr "Độ dài tắt dần xuống bên trong:"
 msgid "Inner fade up length:"
 msgstr "Độ dài tắt dần lên bên trong:"
 
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "Ngưỡng:"
 
@@ -4256,12 +4179,9 @@ msgstr "Tự động điều biên..."
 msgid "Processing Auto Duck..."
 msgstr "Đang tự uốn..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1042
+#: widgets/ErrorDialog.cpp:79 widgets/ErrorDialog.cpp:105
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "OK"
@@ -4326,14 +4246,12 @@ msgstr "Thay đổi độ cao mà không ảnh hưởng đến nhịp"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "viết bởi Vaughan Johnson && Dominic Mazzoni"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "dùng SoundTouch, viết bởi Olli Parviainen"
 
@@ -4382,10 +4300,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "đến"
@@ -4394,8 +4310,7 @@ msgstr "đến"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "Phần trăm thay đổi:"
@@ -4413,8 +4328,7 @@ msgstr "Thay đổi độ cao..."
 msgid "Changing Pitch"
 msgstr "Đang thay đổi độ cao của âm"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "Đã áp dụng hiệu ứng: %s %.1f%%"
@@ -4566,12 +4480,11 @@ msgstr "Thời gian suy hao:"
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "Chuẩn hoá về 0dB sau khi nén"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "Ngưỡng: %d dB"
@@ -4602,7 +4515,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "Thời gian nén: %.1f giây"
@@ -4613,7 +4525,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "Thời gian suy tàn: %.1f giây"
@@ -4626,6 +4537,10 @@ msgstr "Bộ nén tiếng..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "Đang áp dụng bộ nén dải động"
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4645,19 +4560,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4666,15 +4568,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "Bắt đầu"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "Kết thúc"
 
@@ -4694,6 +4593,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4718,8 +4622,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr "Thiết lập lại"
 
@@ -4739,16 +4642,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "Điều khiển"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4859,18 +4754,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "Bộ phát tone DTMF"
@@ -4883,9 +4766,7 @@ msgstr "viết bởi Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "Trình tự DTMF:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:446 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "Biên độ (0-1)"
@@ -4906,9 +4787,7 @@ msgstr "Tuần hoàn:"
 msgid "Tone duration:"
 msgstr "Độ dài tone:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
+#: effects/DtmfGen.cpp:482 effects/DtmfGen.cpp:484 effects/DtmfGen.cpp:560
 #: effects/DtmfGen.cpp:561
 msgid "ms"
 msgstr "mili giây"
@@ -4990,8 +4869,7 @@ msgstr "Cosine"
 msgid "Cubic"
 msgstr "Khối"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:362 effects/Equalization.cpp:412
 msgid "Equalization"
 msgstr "Cân bằng tần số"
 
@@ -5003,6 +4881,10 @@ msgstr "Lỗi khi nạp đường cân bằng tần số"
 msgid "custom"
 msgstr "Tự chọn"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -5041,8 +4923,7 @@ msgstr "Độ dài bộ lọc:"
 msgid "Select curve:"
 msgstr "Chọn cung:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
+#: effects/Equalization.cpp:1259 effects/Equalization.cpp:2498
 #: export/ExportMultiple.cpp:826
 msgid "Save As..."
 msgstr "LÆ°u má»›i..."
@@ -5159,8 +5040,7 @@ msgstr "Nặng nhất"
 msgid "by Lynn Allan"
 msgstr "viết bởi Lynn Allan"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "Mức độ cân bằng"
 
@@ -5209,10 +5089,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "Bá»™ trá»™n"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5452,15 +5328,9 @@ msgstr "Đang xoá nhiễu"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "Đã áp dụng hiệu ứng: %s xoá thành phần 1 chiều = %s, chuẩn hoá biên độ = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "Không chọn"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "Chọn"
 
@@ -5518,8 +5388,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "Bộ dao động tần thấp (Hz):"
 
@@ -5527,8 +5396,7 @@ msgstr "Bộ dao động tần thấp (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "Pha ban đầu của dao động (độ):"
 
@@ -5589,8 +5457,7 @@ msgstr "Đã lặp lại %d lần"
 msgid "Tracks are too long to repeat the selection."
 msgstr "Dải âm quá dài nên không thể lặp lại vùng chọn."
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "Lặp lại"
 
@@ -5603,8 +5470,7 @@ msgstr "Số lần lặp lại:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "Độ dài vùng chọn mới:"
 
@@ -5677,9 +5543,7 @@ msgstr "Xoá đỉnh nhọn..."
 msgid "Applying Spike Cleaner..."
 msgstr "Đang xoá đỉnh nhọn..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
-#: effects/StereoToMono.h:23
+#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "Stereo sang &Mono"
 
@@ -5736,8 +5600,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "Đã áp dụng hiệu ứng: Tạo %s sóng %s, tần số = %.2f Hz, biên độ = %.2f, %.6lf giây"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:75 widgets/Meter.cpp:379
 msgid "Linear"
 msgstr "Tuyến tính"
 
@@ -5769,8 +5632,7 @@ msgstr "Răng cưa"
 msgid "Square, no alias"
 msgstr "Vuông, không có biệt danh"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "Tần số (Hz)"
 
@@ -5818,28 +5680,43 @@ msgstr "Đang tạo tone"
 msgid "All tracks must have the same sample rate"
 msgstr "Tất cả các dải âm phải có cùng tốc độ lấy mẫu"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "Cắt bỏ khoảng lặng"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "Độ dài tối đa của khoảng lặng:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "mili giây"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "Độ dài tối đa của khoảng lặng:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "Ngưỡng của khoảng lặng:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr "   Độ dài tối thiểu là 1 mili giây"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5849,17 +5726,55 @@ msgstr "Cắt bỏ khoảng lặng..."
 msgid "Truncating Silence..."
 msgstr "Đang cắt bỏ khoảng lặng..."
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "Hiệu ứng Công nghệ Phòng Thu Ảo (VST) không áp dụng được trên dải âm stereo có 2 kênh không giống nhau."
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "Thiết lập hiệu ứng"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "Không có gì"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "Không thực hiện thay thế được"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "Tham số của phần bổ sung VST:"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5908,22 +5823,10 @@ msgstr "Đang áp dụng hiệu ứng: %s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "Trình bổ sung hiệu ứng không thể áp dụng lên dải âm stereo có các kênh khác nhau."
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "Không có gì"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "Tác giả:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "Thiết lập hiệu ứng"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "Độ dài (giây)"
@@ -5944,8 +5847,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "Đang áp dụng hiệu ứng Nyquist..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Dấu nhắc Nyquist..."
 
@@ -5965,8 +5867,7 @@ msgstr "Nyquist"
 msgid "Nyquist Output: "
 msgstr "Đầu ra Nyquist:"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:598 effects/nyquist/Nyquist.cpp:609
 msgid "Nyquist returned the value:"
 msgstr "Giá trị Nyquist trả về:"
 
@@ -6074,8 +5975,7 @@ msgstr " - Phải"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:976 export/Export.cpp:1021
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "Kênh đầu ra: %2d"
@@ -6105,8 +6005,7 @@ msgstr "Dữ liệu sẽ được dẫn từ đầu vào chuẩn. \"%f\" sẽ đ
 msgid "(external program)"
 msgstr "(chương trình bên ngoài)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:250 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "Không thể xuất âm thanh ra %s"
@@ -6123,9 +6022,21 @@ msgstr "Xuất toàn bộ dự án dùng bộ mã hoá bằng dòng lệnh"
 msgid "Command Output"
 msgstr "Đầu ra của lệnh"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6193,6 +6104,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "Chất lượng:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6326,12 +6241,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "Chất lượng:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6350,10 +6261,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6542,12 +6453,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6658,6 +6569,17 @@ msgstr "Độ sâu bit:"
 msgid "FLAC Files"
 msgstr "Tập tìn FLAC"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "Xuất âm thanh đã chọn thành FLAC"
@@ -6682,9 +6604,7 @@ msgstr "Tập tin MP2"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "Không xuất được MP2 với tốc độ lấy mẫu và tốc độ bit này"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:240 export/ExportMP3.cpp:1768 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "Không thể ghi tập tin đích"
 
@@ -6698,9 +6618,7 @@ msgstr "Xuất âm thanh đã chọn với tốc độ %d kbps"
 msgid "Exporting entire file at %d kbps"
 msgstr "Xuất toàn bộ tập tin với tốc độ %d kbps"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "kbps"
 
@@ -6716,9 +6634,7 @@ msgstr "(Kích thước nhỏ hơn)"
 msgid "Fast"
 msgstr "Nhanh"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "Chuẩn"
@@ -6763,8 +6679,7 @@ msgstr "Trung bình"
 msgid "Constant"
 msgstr "Không đổi"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "Chất lượng"
@@ -6885,10 +6800,8 @@ msgstr "Định dạng MP3 không hỗ trợ\n"
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:95 export/ExportMultiple.cpp:374
+#: export/ExportMultiple.cpp:598 export/ExportMultiple.cpp:765
 msgid "Export Multiple"
 msgstr "Xuất ra nhiều tập tin"
 
@@ -6917,11 +6830,6 @@ msgstr "Tuỳ chọn..."
 msgid "Export location:"
 msgstr "Vị trí xuất:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "Chọn..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "Tạo"
@@ -6946,10 +6854,6 @@ msgstr "Tên tập tin đầu tiên:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "Các Dải âm"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "Đặt tên các tập tin:"
@@ -6983,6 +6887,35 @@ msgstr "Đã tạo xong \"%s\"."
 msgid "Choose a location to save the exported files"
 msgstr "Chọn một nơi để lưu các tập tin xuất đã xuất"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -6992,23 +6925,10 @@ msgstr "Không tồn tại \"%s\".\n"
 "\n"
 "Bạn có muốn tạo nó không?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
 msgid "Edit metadata"
 msgstr "Sửa dữ liệu đặc tả"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "Đã xuất thành công %d tập tin."
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "Gặp lỗi sau khi xuất %d tập tin."
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7177,7 +7097,6 @@ msgstr "\"%s\" là một tập tin Advanced Audio Coding.\n"
 "Bạn phải tự mình chuyển nó về 1 định dạng Audacity hỗ trợ, như WAV hay AIFF."
 
 #: import/Import.cpp:271
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7281,6 +7200,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "Tập tin FLAC"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "Danh sách các tập tin ở dạng văn bản gốc"
@@ -7291,9 +7214,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "Tập tin LOF chứa offset cửa sổ không hợp lệ."
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "Lá»—i LOF"
@@ -7349,8 +7270,7 @@ msgstr "Dòng bit Vorbis có Phần đầu không hợp lệ"
 msgid "Internal logic fault"
 msgstr "Lỗi Logic bên trong"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV, AIFF, và các định dạng không nén khác"
 
@@ -7441,36 +7361,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "Âm thanh Vào/Ra"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "Lệnh Gộp"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (Mono)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "Hành vi"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (Stereo)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "Không áp &dụng hiệu ứng trong chế độ lệnh gộp"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "Phát lại"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "Chế độ Cl&eanSpeech (Giao diện tuỳ biến)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "Thiết bị"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "Giao diện"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "Dùng:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Cổng âm thanh v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "Phát lại"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7480,100 +7405,15 @@ msgstr "Thu âm"
 msgid "Channels"
 msgstr "Kênh"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "Phát qua"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "P&hát qua phần cứng: Vừa phát vừa thu dải mới"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "Phá&t qua phần mềm: Vừa phát vừa thu dải mới"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "Nghe thử hiệu ứng"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "Nghe thử dài:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "Nghe thử cắt"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "Nghe thử trước khi cắt vùng:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "Nghe thử sau khi cắt vùng:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "Độ trễ"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "Bộ đệm âm thanh:\n"
-"(lớn = nhiều trễ)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "Sá»­a trá»…:\n"
-"(nhỏ hơn không = quay lui)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "Tìm thời gian khi phát"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "Chu kỳ ngắn:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "Chu kỳ dài:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "Lệnh Gộp"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "Hành vi"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "Không áp &dụng hiệu ứng trong chế độ lệnh gộp"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (Mono)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "Chế độ Cl&eanSpeech (Giao diện tuỳ biến)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (Stereo)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "Thư mục"
@@ -7590,34 +7430,31 @@ msgstr "Vị trí:"
 msgid "Free Space:"
 msgstr "Dung lượng trống:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "Tá»± Ä‘á»™ng lÆ°u"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "Tự động lưu một bản sao của dự án trong một thư mục riêng"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "Chu kỳ tự động lưu:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "phút"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "Bộ đệm âm thanh"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "Chọn vị trí đặt thư mục tạm thời"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7636,231 +7473,146 @@ msgstr "Không thể ghi vào thư mục %s"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Việc chuyển đổi thư mục tạm thời sẽ có hiệu lực từ lần chạy sau của Audacity"
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "Nhập / Xuất"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "Thư viện mã hoá MP3"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "Thư viện MP3 phiên bản:"
+#: prefs/GUIPrefs.cpp:42
+#, fuzzy
+msgid "In Browser"
+msgstr "Duyệt..."
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "Thư viện MP3:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "Từ Internet"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "Thư viện LAME MP3:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "&Tải về"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "Lưu ý: Chọn chất lượng xuất bằng cách nhấn Tuỳ chọn trong hộp thoại Xuất.\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "Khi nhập âm thanh"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "Sao chép âm thanh không nén vào dự án khi xử lý (an toàn hơn)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "Đọc âm thanh không nén t&rực tiếp từ tập tin gốc (nhanh hơn)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "&Chuẩn hoá mọi dải âm trong dự án"
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "Khi lưu một dự án phụ thuộc vào các tập tin âm thanh khác"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "Luôn &chép tất cả âm thanh vào dự án (an toàn nhất)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "Không chép &dữ liệu phụ thuộc vào"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (bị giới hạn khi chỉnh sửa âm có biên độ lớn)"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "Hỏ&i người dùng"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM dùng 8 bit lấy mẫu)"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "Khi xuất các dải âm thành tập tin âm thanh"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM dùng 10 bit lấy mẫu)"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "&Luôn trộn tất cả các dải thành kênh Stereo hoặc Mono."
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM dùng 16 bit lấy mẫu)"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "Tự chọn chế độ trộn (vd để x&uất ra tập tin hỗ trợ âm thanh 5.1)"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (xấp xỉ giới hạn nghe của con người)"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "C&hạy Bộ chỉnh sửa dữ liệu đặc tả trước khi xuất"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM dùng 24 bit lấy mẫu)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "Giao diện"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "Hiển thị"
 
-#: prefs/GUIPrefs.cpp:42
-#, fuzzy
-msgid "In Browser"
-msgstr "Duyệt..."
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "Từ Internet"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "Đơn giản"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "Cập nhật giao diện &khi đang phát"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "Trợ giúp:"
 
 #: prefs/GUIPrefs.cpp:96
 #, fuzzy
 msgid "Cl&osing last window quits Audacity"
 msgstr "Thoát khỏi Audacity khi không còn cửa sổ nào khác."
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "Cho phép &rê cạnh trái và phải của vùng chọn"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "Tự động thu phóng chiều cao của dải cho phù hợp"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "Chọn dải âm làm việc theo kiểu \"xoay\" lặp đi lặp lại"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "&Chỉnh sửa một đoạn âm có thể làm các đoạn âm khác di chuyển"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "Chọn tất cả âm thanh trong dự án nếu không chọn &gì"
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "&Bíp khi hoàn thành các tác vụ kéo dài"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "Hiện / Ẩn"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "&Bật các đường cắt"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "Hiện cảnh báo cho tập tin &tạm"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "Hiện thông điệp Xin chào khi chạy chương trình"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "Chế độ"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "Biểu diễn "
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (bị giới hạn khi chỉnh sửa âm có biên độ lớn)"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "Nhập / Xuất"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM dùng 8 bit lấy mẫu)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "Khi nhập âm thanh"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (PCM dùng 10 bit lấy mẫu)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "Sao chép âm thanh không nén vào dự án khi xử lý (an toàn hơn)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM dùng 16 bit lấy mẫu)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "Đọc âm thanh không nén t&rực tiếp từ tập tin gốc (nhanh hơn)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (xấp xỉ giới hạn nghe của con người)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "&Chuẩn hoá mọi dải âm trong dự án"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM dùng 24 bit lấy mẫu)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "Khi xuất các dải âm thành tập tin âm thanh"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "Chế độ biểu diễn mặc định"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "&Luôn trộn tất cả các dải thành kênh Stereo hoặc Mono."
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "Các giao diện khác"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "Tự chọn chế độ trộn (vd để x&uất ra tập tin hỗ trợ âm thanh 5.1)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "Trợ giúp:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "C&hạy Bộ chỉnh sửa dữ liệu đặc tả trước khi xuất"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "Nút Solo:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "Bàn phím"
 
@@ -7884,22 +7636,26 @@ msgstr "Đặ&t"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "Lưu ý: Nhấn Ctrl+Q sẽ thoát khỏi chương trình. Những phím khác đều hợp lệ."
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "Mặc đị&nh"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "Tổ hợp phím"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "Xuất phím tắt ra tập tin:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "Huỷ bỏ"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "Gặp lỗi khi lưu phím tắt"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7909,6 +7665,14 @@ msgstr "Chọn một tập tin XML chứa các phím tắt cho Audacity..."
 msgid "Error loading keyboard shortcuts"
 msgstr "Lỗi nạp các phím tắt từ tập tin XML"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "Xuất phím tắt ra tập tin:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "Gặp lỗi khi lưu phím tắt"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7918,10 +7682,61 @@ msgstr "Phím tắt '%s' đã được gán cho:\n"
 "\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "Huỷ bỏ"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "Thư viện mã hoá MP3"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "Thư viện MP3 phiên bản:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "Thư viện MP3:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "Thư viện LAME MP3:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "&Tải về"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "Âm thanh Vào/Ra"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Cổng âm thanh v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "Phát qua"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7935,6 +7750,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "Nghe thử cắt"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7943,6 +7762,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "Độ trễ"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7955,12 +7778,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "Chu kỳ ngắn:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "Chu kỳ dài:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "Nghe thử hiệu ứng"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "Chuá»™t"
 
@@ -7980,37 +7814,26 @@ msgstr "Thực thi lệnh"
 msgid "Buttons"
 msgstr "Nút"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "Click chuột trái"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "Chọn"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "Đặt điểm chọn"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "Rê chuột trái"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "Đặt giới hạn vùng chọn"
 
@@ -8038,12 +7861,8 @@ msgstr "Ctrl+chuột trái"
 msgid "Set Selection Point and Play"
 msgstr "Đặt điểm chọn và phát"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "Thu phóng"
 
@@ -8051,9 +7870,7 @@ msgstr "Thu phóng"
 msgid "Zoom in on Point"
 msgstr "Phóng to trên một điểm"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "Phóng to trên một phạm vi"
 
@@ -8061,18 +7878,15 @@ msgstr "Phóng to trên một phạm vi"
 msgid "same as right-drag"
 msgstr "giống rê chuột phải"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "Nhắp chuột phải"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "Phóng to hơn 1 mức"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "Kéo chuột phải"
 
@@ -8108,8 +7922,7 @@ msgstr "Shift+Rê chuột trái"
 msgid "Time shift all clips in track"
 msgstr "Di chuyển theo thời gian tất cả các đoạn trong dải"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl+Rê chuột trái"
 
@@ -8125,9 +7938,7 @@ msgstr "Thay đổi đường bao biên độ"
 msgid "Change Sample"
 msgstr "Thay đổi mẫu"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "Bút chì"
@@ -8148,26 +7959,20 @@ msgstr "Thay đổi một vài mẫu"
 msgid "Change ONE Sample only"
 msgstr "Thay đổi chỉ Một mẫu"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "Nhiều"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "giống như công cụ chọn"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "giống như công cụ thu phóng"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "Bất kỳ"
 
@@ -8195,10 +8000,62 @@ msgstr "Ctrl+Lăn chuột"
 msgid "Zoom in or out"
 msgstr "Phóng to hay thu nhỏ"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "Nghe thử dài:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "Nghe thử trước khi cắt vùng:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "Nghe thử sau khi cắt vùng:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "Tìm thời gian khi phát"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Tuỳ thích của Audacity"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "Khi lưu một dự án phụ thuộc vào các tập tin âm thanh khác"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "Luôn &chép tất cả âm thanh vào dự án (an toàn nhất)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "Không chép &dữ liệu phụ thuộc vào"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "Hỏ&i người dùng"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "Tá»± Ä‘á»™ng lÆ°u"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "Tự động lưu một bản sao của dự án trong một thư mục riêng"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "Chu kỳ tự động lưu:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "phút"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "Chữ nhật"
@@ -8223,46 +8080,46 @@ msgstr "Tốc độ lấy mẫu mặc định:"
 msgid "Default Sample Format:"
 msgstr "Định dạng mẫu mặc định:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "Bộ chuyển đổi tốc độ lấy mẫu thời gian thực:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "Bộ chuyển đổi tốc độ lấy mẫu chất lượng cao:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "Nhiễu sửa sai lượng tử hoá thời gian thực:"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "Nhiễu sửa sai lượng tử hoá chất lượng cao:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "Sự chuyển đổi"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "Bộ chuyển đổi tốc độ lấy mẫu"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "Nhiễu sửa sai lượng tử hoá"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "Thời gian thực:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "P&hát qua phần cứng: Vừa phát vừa thu dải mới"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "Chất lượng cao:"
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "Ghi âm thông minh"
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8272,23 +8129,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "Ảnh phổ"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "Kích cỡ biến đổi nhanh Fourier (FFT)"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - hầu hết băng rộng"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - mặc định"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - hầu hết băng hẹp"
@@ -8297,8 +8189,17 @@ msgstr "32768 - hầu hết băng hẹp"
 msgid "4096 - most narrowband"
 msgstr "4096 - hầu hết băng hẹp"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "Loại cửa sổ:"
 
 #: prefs/SpectrumPrefs.cpp:125
@@ -8306,13 +8207,9 @@ msgstr "Loại cửa sổ:"
 msgid "FFT Skip Points"
 msgstr "Các điểm bỏ qua FFT"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "Hiển thị"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "&Thang xám"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8322,18 +8219,17 @@ msgstr "Tần số nhỏ nhất (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "Tần số lớn nhất (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-#, fuzzy
-msgid "&Y-Grid"
-msgstr "&Lưới dọc"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "&Tìm nốt nhạc"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "&Lượng tử hoá nốt"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8343,6 +8239,14 @@ msgstr "Biên độ nhỏ nhất (dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "Số tối đa các nốt (1...128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "&Tìm nốt nhạc"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "&Lượng tử hoá nốt"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "Tần số lớn nhất phải là số nguyên"
@@ -8359,20 +8263,70 @@ msgstr "Tần số nhỏ nhất phải là số nguyên"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "Tần số nhỏ nhất phải lớn hơn 0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "Biên độ nhỏ nhất (dB) phải là số nguyên"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "Số tối đa các nốt phải là số nguyên trong khoảng 1..128"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "Sắc thái giao diện"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "Thông tin"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "Thay đổi sắc thái giao diện là một tính năng thử nghiệm.\n"
+"\n"
+"Bạn hãy nhấn \"Lưu bộ đệm sắc thái giao diện\" rồi \n"
+"tìm và sửa các ảnh và màu sắc trong \n"
+"ImageCacheVxx.png với một trình xử lý ảnh như\n"
+"GIMP.\n"
+"\n"
+"Nhấn \"Nạp bộ đệm sắc thái giao diện\" để nạp các ảnh và màu sắc\n"
+"đã sửa vào trong Audacity.\n"
+"\n"
+"[Chỉ ảnh hưởng tới thanh công cụ điều khiển\n"
+"và màu sắc của sóng âm,\n"
+"mặc dù các ảnh trong bộ đệm có cả các biểu tượng khác.]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8403,101 +8357,97 @@ msgstr "Lưu tập tin"
 msgid "Load Files"
 msgstr "Nạp tập tin"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "Thông tin"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "Đơn giản"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "Thay đổi sắc thái giao diện là một tính năng thử nghiệm.\n"
-"\n"
-"Bạn hãy nhấn \"Lưu bộ đệm sắc thái giao diện\" rồi \n"
-"tìm và sửa các ảnh và màu sắc trong \n"
-"ImageCacheVxx.png với một trình xử lý ảnh như\n"
-"GIMP.\n"
-"\n"
-"Nhấn \"Nạp bộ đệm sắc thái giao diện\" để nạp các ảnh và màu sắc\n"
-"đã sửa vào trong Audacity.\n"
-"\n"
-"[Chỉ ảnh hưởng tới thanh công cụ điều khiển\n"
-"và màu sắc của sóng âm,\n"
-"mặc dù các ảnh trong bộ đệm có cả các biểu tượng khác.]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "Bạn đã biên dịch Audacity với tuỳ chọn thêm nút\n"
-"'Output Sourcery'. Nút này sẽ lưu một phiên bản C của \n"
-"bộ đệm ảnh, có thể được biên dịch làm mặc định.\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "Nếu nút 'Nạp bộ đệm sắc thái giao diện khi khởi động' được chọn,\n"
-"Bộ đệm Sắc thái giao diện sẽ được tự động nạp\n"
-"khi chương trình\n"
-"khởi động.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "Cập nhật giao diện &khi đang phát"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "Lưu và nạp các tập tin sắc thái giao diện đơn lẻ dùng\n"
-"một tập tin đơn lẻ để lưu mỗi ảnh, nhưng có cùng\n"
-"ý tưởng.\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "Tự động thu phóng chiều cao của dải cho phù hợp"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "Tạm ngừng"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "Chế độ biểu diễn mặc định"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "Phát"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "Chọn tất cả âm thanh trong dự án nếu không chọn &gì"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "&Bật các đường cắt"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "Cho phép &rê cạnh trái và phải của vùng chọn"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "Chọn dải âm làm việc theo kiểu \"xoay\" lặp đi lặp lại"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "&Chỉnh sửa một đoạn âm có thể làm các đoạn âm khác di chuyển"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "Nút Solo:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "Dừng"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "Chuyển về đầu"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "Chuyển về cuối"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
 msgstr ""
 
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr ""
+
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "Tạm dừng"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "Dừng"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "Clean Speech"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "Lỗi khi mở thiết bị âm thanh"
 
@@ -8509,13 +8459,11 @@ msgstr "Không thể Thu âm trong chế độ CleanSpeech khi một dải, ho
 msgid "Recording not permitted"
 msgstr "Không được phép thu âm"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "Thiết bị đầu ra"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "Thiết bị đầu vào"
 
@@ -8539,29 +8487,21 @@ msgstr "Phóng to"
 msgid "Zoom Out"
 msgstr "Thu nhỏ"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "Bật/tắt thu phóng"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "Vừa vùng chọn"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "Vừa vùng chọn vào trong cửa sổ"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "Vừa dự án"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "Vừa dự án vào trong cửa sổ"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "Bá»™ Ä‘o"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "Vừa vùng chọn"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "Vừa dự án"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8609,22 +8549,27 @@ msgstr "Thanh trượt đầu vào"
 msgid "Input Source"
 msgstr "Nguồn âm thanh vào"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "Vùng chọn"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "Tần số của dự án (Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "Bắt đầu vùng chọn:"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "Độ dài"
 
@@ -8632,13 +8577,11 @@ msgstr "Độ dài"
 msgid "hidden"
 msgstr "ẩn"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr "Vị trí âm thanh:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "Dính tới"
 
@@ -8659,8 +8602,7 @@ msgstr "Kết thúc vùng chọn"
 msgid "Audacity %s ToolBar"
 msgstr "Thanh công cụ %s của Audacity"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "Bảng công cụ"
 
@@ -8692,34 +8634,6 @@ msgstr "Chuột Trái=Phóng to, Chuột Phải=Thu nhỏ, Chuột Giữa=Chuẩ
 msgid "Click and drag to move a track in time"
 msgstr "Nhấn và rê để di chuyển dải âm theo thời gian"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "Công cụ"
-
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "Công cụ chọn"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "Công cụ biên độ"
-
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "Công cụ di chuyển"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "Công cụ thu phóng"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "Công cụ vẽ"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "Chế độ đa năng"
@@ -8728,24 +8642,11 @@ msgstr "Chế độ đa năng"
 msgid "Slide Tool"
 msgstr "Công cụ trượt"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "Công cụ đa năng"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "Tốc độ phát"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "Phát ở tốc độ đã chọn"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "Tốc độ phát"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "Tốc độ phát lại"
 
@@ -8753,74 +8654,38 @@ msgstr "Tốc độ phát lại"
 msgid "Adjust left selection to next onset"
 msgstr "Điều chỉnh vùng chọn trái đên onset tới"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Chuột trái để bật"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "Điều chỉnh vùng chọn phải đến offset trước"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Chuột phải để tắt"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "Điều chỉnh vùng chọn trái đến offset tới"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Chuột trái để Tắt"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "Điều chỉnh vùng chọn phải đến onset trước"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Chuột phải để Bật"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "Chọn vùng âm thanh quanh con trỏ"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "Chọn âm thanh"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "Chọn khoảng lặng quanh con trỏ"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "Chọn Khoảng lặng"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "Tự động tạo nhãn từ các đoạn"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "Tạo nhãn"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "Thêm nhãn ở vùng chọn"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "Thêm nhãn"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "Chia giọng"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "Chia Ä‘á»™"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "Điều chỉnh độ nhạy"
@@ -8853,6 +8718,46 @@ msgstr "Đổi hướng (Ngưỡng lớn)"
 msgid "Key type"
 msgstr "Loại phím"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "Tốc độ phát"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Chuột trái để bật"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Chuột phải để tắt"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Chuột trái để Tắt"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Chuột phải để Bật"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "Chọn âm thanh"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "Chọn Khoảng lặng"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "Tạo nhãn"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "Thêm nhãn"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "Chia Ä‘á»™"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (không cho)"
@@ -8867,15 +8772,13 @@ msgstr "Nút"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:212
 msgid "L"
 msgstr "L"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:214
 msgid "R"
 msgstr "R"
 
@@ -8891,8 +8794,7 @@ msgstr "Trái"
 msgid "Right"
 msgstr "Phải"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:78 widgets/ErrorDialog.cpp:102
 msgid "Help"
 msgstr "Trợ giúp"
 
@@ -8927,8 +8829,7 @@ msgstr "Tay nắm"
 msgid "%d rows, %d columns"
 msgstr "%d hàng, %d cột"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "Hàng %d"
@@ -9007,8 +8908,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
 msgstr "Thước kẻ đặt dọc"
 
@@ -9252,3 +9152,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "Không thể nạp tập tin: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/locale/zh.po b/locale/zh.po
index 7091836..db6b44a 100644
--- a/locale/zh.po
+++ b/locale/zh.po
@@ -1,2894 +1,2919 @@
+# translation of new_zh.po to Chinese(Simplified)
+# James Ruan <ruanbeihong at gmail.com>, 2009.
 msgid ""
-msgstr "Project-Id-Version: Simplified Chinese Translation Project for Audacity\n"
-"POT-Creation-Date: 2005-11-24 13:02-0800\n"
-"PO-Revision-Date: 2005-12-01 23:52+0800\n"
-"Last-Translator: Liu Xiao Xi <liouxiao at hotmail.com>\n"
-"Language-Team: Simplified Chinese Translation Team. <liouxiao at hotmail.com>\n"
+msgstr ""
+"Project-Id-Version: Simplified Chinese Translation Project for Audacity\n"
+"Report-Msgid-Bugs-To: audacity-translation at lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-20 20:43+0000\n"
+"PO-Revision-Date: 2009-07-04 11:04+0800\n"
+"Last-Translator: James Ruan <ruanbeihong at gmail.com>\n"
+"Language-Team: Chinese(Simplified) <Audacity-translation at lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: \n"
+"X-Generator: KBabel 1.11.4\n"
 
-#: ../src/Menus.cpp:608
+#: AboutDialog.cpp:143 AudacityApp.cpp:790 Menus.cpp:957
 msgid "&About Audacity..."
 msgstr "关于Audacity(&A)..."
 
-#. i18n-hint: Rather than a literal translation, consider adding the
-#. appropriate suffix or prefix to create a word meaning 'something which
-#. has Audacity'
-#: AboutDialog.cpp:340 AboutDialog.cpp:371 SplashDialog.cpp:111
+#: AboutDialog.cpp:157
 msgid "OK... Audacious!"
-msgstr ""
+msgstr "OK... Audacious!"
 
 #: AboutDialog.cpp:175
 msgid "Audacity is a free program written by a team of volunteer <a href=\"http://audacity.sourceforge.net/community/developers\">developers</a> around the world. We are grateful to <a href=\"http://sourceforge.net\">SourceForge.net</a> for our project hosting. Audacity is available for Windows 98 and later, Mac OS X, Linux and other Unix-like operating systems. Older versions of Audacity are available for Mac OS 9."
-msgstr ""
+msgstr "Audacity是由各地志愿<a href=\"http://audacity.sourceforge.net/community/developers\">开发者</a>组成的团队制作的一款免费软件。感谢<a href=\"http://sourceforge.net\">SourceForge.net</a>的适时推出,它的在线服务为开发源码(open-source)项目提供了免费的平台。Audacity支持Windows98及其后续版本,Mac OS X,Linux以及其它的Unix操作系统。Audacity的早期版本可以在MAC OS 9上运行。"
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
+"这是测试版(beta)。可能包含代码错误及未完成的功能。我们需要您的反馈,请将bug报"
+"告和功能要求发送到<b>feedback@audacityteam.org</b>。要获得使用Audacity的帮"
+"助,请访问我们的<a href=\"http://audacityteam.org/forum/\">论坛</a>。"
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
+"此Audacity是一个稳定的完整版。但如果您发现bug或有什么建议,请和我们联系"
+"<b>feedback at audacityteam.org</b>。要获得使用Audacity的帮助,请访问我们的<a "
+"href=\"http://audacityteam.org/forum/\">论坛</a>。"
 
 #. i18n-hint: The translation of "translator_credits" will appear
-#: ../src/AboutDialog.cpp:173
-#: ../src/AboutDialog.cpp:175
+#. in the credits in the About Audacity window.  Use this to add
+#. your own name(s) to the credits.
+#.
+#. For example:  "English translation by Dominic Mazzoni."
+#.
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
-msgstr "Simplified Chinese translation by Liu Xiao Xi (liouxiao at hotmail.com).\n"
-"中文简体翻译: 刘晓曦"
+msgstr "中文(简体)翻译:<br><a href=\"liouxiao at hotmail.com\">Liu Xiao Xi</a> 刘晓曦<br><a href=\"ruanbeihong at gmail.com\">James Ruan</a>  阮贝鸿<br>"
 
 #: AboutDialog.cpp:207
 msgid "A Free Digital Audio Editor<br>"
-msgstr ""
+msgstr "一个自由的数字音频编辑器<br>"
 
-#: ../src/AboutDialog.cpp:192
+#: AboutDialog.cpp:211
 msgid "Credits"
-msgstr "谢启"
+msgstr "鸣谢"
 
-#: AboutDialog.cpp:256
+#: AboutDialog.cpp:215
 #, c-format
 msgid "Audacity %s Development Team"
-msgstr ""
+msgstr "Audacity %s 开发团队"
 
-#: AboutDialog.cpp:261
+#: AboutDialog.cpp:220
 #, c-format
 msgid "Audacity %s Support Team"
-msgstr ""
+msgstr "Audacity %s 支持团队"
 
-#: AboutDialog.cpp:266
+#: AboutDialog.cpp:225
 msgid "Emeritus Developers"
-msgstr ""
+msgstr "名誉开发者"
 
-#: AboutDialog.cpp:271
+#: AboutDialog.cpp:230
 msgid "Other Emeritus Team Members"
-msgstr ""
+msgstr "其他名誉团队成员"
 
-#: AboutDialog.cpp:276
+#: AboutDialog.cpp:235
 msgid "Other Contributors"
-msgstr ""
+msgstr "其他贡献者"
 
-#: ../src/AboutDialog.cpp:202
+#: AboutDialog.cpp:240
 msgid "Audacity is based on code from the following projects:"
-msgstr "Audacity是基于以下项目的代码:"
+msgstr "Audacity是基于以下项目的代码:"
 
-#: ../src/AboutDialog.cpp:204
+#: AboutDialog.cpp:245
 msgid "Special thanks:"
 msgstr "特别感谢:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
-msgstr ""
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgstr "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 
-#: AboutDialog.cpp:320
+#: AboutDialog.cpp:258
 msgid "Audacity"
-msgstr ""
+msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
 #: AboutDialog.cpp:304 AboutDialog.cpp:317 AboutDialog.cpp:473
 msgid "Build Information"
-msgstr ""
+msgstr "构建信息"
 
-#: ../src/effects/AvcCompressor.cpp:659
+#: AboutDialog.cpp:310 effects/AvcCompressor.cpp:674
 msgid "Enabled"
-msgstr "启用"
+msgstr "开启"
 
-#: AboutDialog.cpp:148
+#: AboutDialog.cpp:311
 msgid "Disabled"
-msgstr ""
+msgstr "关闭"
 
 #: AboutDialog.cpp:321
 msgid "File Format Support"
-msgstr ""
+msgstr "支持的文件格式"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
 #: AboutDialog.cpp:331 AboutDialog.cpp:333
 msgid "MP3 Importing"
-msgstr ""
+msgstr "MP3 导入"
 
 #: AboutDialog.cpp:340 AboutDialog.cpp:343
 msgid "Ogg Vorbis Import and Export"
-msgstr ""
+msgstr "Ogg Vorbis 导入/导出"
 
 #: AboutDialog.cpp:347 AboutDialog.cpp:350
 msgid "ID3 tag support"
-msgstr ""
+msgstr "ID3标签支持"
 
 #: AboutDialog.cpp:357 AboutDialog.cpp:360
 msgid "FLAC import and export"
-msgstr ""
+msgstr "FLAC 导入/导出"
 
 #: AboutDialog.cpp:365 AboutDialog.cpp:368
 msgid "MP2 export"
-msgstr ""
+msgstr "MP2 导出"
 
 #: AboutDialog.cpp:373 AboutDialog.cpp:376
 msgid "Import via QuickTime"
-msgstr ""
+msgstr "通过 QuickTime 导入"
 
 #. i18n-hint: Libraries that are essential to audacity
 #: AboutDialog.cpp:383
 msgid "Core Libraries"
-msgstr ""
+msgstr "核心库"
 
 #: AboutDialog.cpp:389 AboutDialog.cpp:392 AboutDialog.cpp:395
 #: AboutDialog.cpp:397
 msgid "Sample rate conversion"
-msgstr ""
+msgstr "采样率转换"
 
 #: AboutDialog.cpp:402 AboutDialog.cpp:405
 msgid "Audio playback and recording"
-msgstr ""
+msgstr "音频回放和录制"
 
 #: AboutDialog.cpp:418
 msgid "Features"
-msgstr ""
+msgstr "特性"
 
 #: AboutDialog.cpp:422 AboutDialog.cpp:425 AboutDialog.cpp:430
 #: AboutDialog.cpp:433 AboutDialog.cpp:438 AboutDialog.cpp:441
 #: AboutDialog.cpp:446 AboutDialog.cpp:449
 msgid "Plug-in support"
-msgstr ""
+msgstr "插件支持"
 
 #: AboutDialog.cpp:454 AboutDialog.cpp:457
 msgid "Sound card mixer support"
-msgstr ""
+msgstr "声卡混音器支持"
 
 #: AboutDialog.cpp:462 AboutDialog.cpp:465
 msgid "Pitch and Tempo Change support"
-msgstr ""
+msgstr "音高和速度改变支持"
 
-#: ../src/AboutDialog.cpp:151
+#: AboutDialog.cpp:477
 msgid "Program build date: "
-msgstr "程序编译日期:"
+msgstr "程序构建日期:"
 
 #: AboutDialog.cpp:480 AboutDialog.cpp:482
 msgid "Build type:"
-msgstr ""
+msgstr "构建类型:"
 
 #: AboutDialog.cpp:480
 msgid "Debug build"
-msgstr ""
+msgstr "Debug版"
 
 #: AboutDialog.cpp:482
 msgid "Release build"
-msgstr ""
+msgstr "Release版"
 
 #. i18n-hint: The directory audacity is installed into (on *nix systems)
 #: AboutDialog.cpp:487
 msgid "Installation Prefix: "
-msgstr ""
+msgstr "安装路径前缀:"
 
-#: AboutDialog.cpp:209
+#: AboutDialog.cpp:491
 msgid "Settings folder: "
-msgstr ""
+msgstr "设置路径"
 
-#: AboutDialog.cpp:388
+#: AboutDialog.cpp:506
 msgid "GPL License"
-msgstr ""
+msgstr "GPL 许可证"
 
-#: ../src/AudacityApp.cpp:279
-#: ../src/Project.cpp:1891
+#: AudacityApp.cpp:495 Project.cpp:1890
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s 已经在另一个窗口中打开了。"
 
-#: ../src/AudacityApp.cpp:281
-#: ../src/Project.cpp:1893
-#: ../src/Project.cpp:1973
-#: ../src/Project.cpp:2059
-#: ../src/Project.cpp:2097
+#: AudacityApp.cpp:497 Project.cpp:1892 Project.cpp:1997 Project.cpp:2141
+#: Project.cpp:2278
 msgid "Error opening project"
 msgstr "打开Audacity工程出错"
 
-#: ../src/AudacityApp.cpp:313
+#: AudacityApp.cpp:529
 #, c-format
-msgid "%s does not exist and could not be opened.\n"
+msgid ""
+"%s does not exist and could not be opened.\n"
 "\n"
 "It has been removed from the history list."
-msgstr "%s不存在,无法打开。\n"
+msgstr ""
+"%s不存在,无法打开。\n"
 "\n"
-"将从历史列表中去除。"
+"已经从历史列表中移出。"
 
-#: ../src/AudacityApp.cpp:361
+#: AudacityApp.cpp:631
 msgid "Master Gain Control"
-msgstr "主控音量控制"
+msgstr "主音量控制"
 
-#: ../src/AudacityApp.cpp:362
+#: AudacityApp.cpp:632
 msgid "Input Meter"
 msgstr "输入指示"
 
-#: ../src/AudacityApp.cpp:363
+#: AudacityApp.cpp:633
 msgid "Output Meter"
 msgstr "输出指示"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#: ../src/AudacityApp.cpp:532
-#: ../src/Menus.cpp:387
-msgid "&Preferences...\tCtrl+,"
-msgstr "参数设定... (&P)\tCtrl+,"
+#: Menus.cpp:197
+msgid "&New"
+msgstr "新建(&N)"
+
+#: Menus.cpp:199
+msgid "&Open..."
+msgstr "打开...(&O)"
+
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr "打开最近使用的...(&R)"
 
-#: ../src/AudacityApp.cpp:601
-#: ../src/AudacityApp.cpp:671
+#: AudacityApp.cpp:792
+msgid "&Preferences..."
+msgstr "喜好选项... (&P)"
+
+#: AudacityApp.cpp:875 AudacityApp.cpp:952
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "使用块大小为 %ld\n"
 
-#: ../src/AudacityApp.cpp:616
-#: ../src/AudacityApp.cpp:686
+#: AudacityApp.cpp:897 AudacityApp.cpp:967
 #, c-format
 msgid "Unknown command line option: %s\n"
-msgstr "不支持的命令行选项: %s\n"
+msgstr "不支持的命令行选项: %s\n"
 
-#: ../src/AudacityApp.cpp:799
-msgid "Audacity could not find a place to store temporary files.\n"
+#: AudacityApp.cpp:1101
+msgid ""
+"Audacity could not find a place to store temporary files.\n"
 "Please enter an appropriate directory in the preferences dialog."
-msgstr "Audacity找不到可以存储临时文件的地方。\n"
-"请在参数设定对话框里输入一个适当的路径。"
+msgstr ""
+"Audacity找不到可以存储临时文件的地方。\n"
+"请在喜好选项对话框里输入一个适当的路径。"
 
-#: ../src/AudacityApp.cpp:805
+#: AudacityApp.cpp:1107
 msgid "Audacity is now going to exit. Please launch Audacity again to use the new temporary directory."
-msgstr "将退出Audacity。请重启Audacity使用新的临时目录。"
+msgstr "即将退出Audacity。请重启Audacity使用新的临时目录。"
 
-#: AudacityApp.cpp:877
-msgid "Running two copies of Audacity simultaneously may cause\n"
+#: AudacityApp.cpp:1139
+msgid ""
+"Running two copies of Audacity simultaneously may cause\n"
 "data loss or cause your system to crash.\n"
 "\n"
 msgstr ""
+"同时运行两个Audacity可能会引起\n"
+"数据丢失或系统崩溃\n"
+"\n"
 
-#: AudacityApp.cpp:884
-msgid "Audacity was not able to lock the temporary files directory.\n"
+#: AudacityApp.cpp:1146
+msgid ""
+"Audacity was not able to lock the temporary files directory.\n"
 "This folder may be in use by another copy of Audacity.\n"
 msgstr ""
+"Audacity 不能锁住临时文件目录。\n"
+"这个目录可能正被另一个Audacity使用。\n"
 
-#: AudacityApp.cpp:886
+#: AudacityApp.cpp:1148
 msgid "Do you still want to start Audacity?"
-msgstr ""
+msgstr "你仍想启动Audacity吗?"
 
-#: ../src/AudacityApp.cpp:846
+#: AudacityApp.cpp:1150
 msgid "Error locking temporary folder"
 msgstr "锁定临时目录时出错"
 
-#: AudacityApp.cpp:900
+#: AudacityApp.cpp:1188
 msgid "The system has detected that another copy of Audacity is running.\n"
-msgstr ""
+msgstr "系统发现另一个Audacity正在运行。\n"
 
-#: AudacityApp.cpp:902
-msgid "Use the New or Open commands in the currently running Audacity\n"
+#: AudacityApp.cpp:1190
+msgid ""
+"Use the New or Open commands in the currently running Audacity\n"
 "process to open multiple projects simultaneously.\n"
 msgstr ""
+"在当前运行的Audacity中使用新建或打开命令\n"
+"来同时打开多个工程。\n"
 
-#: ../src/AudacityApp.cpp:859
+#: AudacityApp.cpp:1191
 msgid "Audacity is already running"
 msgstr "Audacity已经在运行了"
 
-#: AudacityApp.cpp:1134
+#: AudacityApp.cpp:1208
 msgid "Command-line options supported:"
-msgstr ""
+msgstr "支持的命令行选项:"
 
 #. i18n-hint: '-help' is the option and needs to stay in
 #. * English. This displays a list of available options
-#: AudacityApp.cpp:1137
+#: AudacityApp.cpp:1211
 msgid "\t-help (this message)"
-msgstr ""
+msgstr "\t-help (当前信息)"
 
 #. i18n-hint '-version' needs to stay in English.
-#: AudacityApp.cpp:1139
+#: AudacityApp.cpp:1213
 msgid "\t-version (display Audacity version)"
-msgstr ""
+msgstr "\t-version (显示Audacity版本)"
 
 #. i18n-hint '-test' is the option and needs to stay in
 #. * English. This runs a set of automatic tests on audacity
 #. * itself
-#: AudacityApp.cpp:1143
+#: AudacityApp.cpp:1217
 msgid "\t-test (run self diagnostics)"
-msgstr ""
+msgstr "\t-test (运行自我检测)"
 
 #. i18n-hint '-blocksize' is the option and needs to stay in
 #. * English. 'nnn' is any integer number. This controls the
 #. * size pieces that audacity uses when writing files to the
 #. * disk
-#: AudacityApp.cpp:1148
+#: AudacityApp.cpp:1222
 msgid "\t-blocksize nnn (set max disk block size in bytes)"
-msgstr ""
+msgstr "\t-blocksize nnn (设置最大的磁盘块大小(以字节记))"
 
-#: AudacityApp.cpp:1149
+#: AudacityApp.cpp:1223
 msgid "In addition, specify the name of an audio file or Audacity project to open it."
-msgstr ""
+msgstr "给出音频文件名或Audacity工程名来打开它"
 
-#: ../src/AudacityApp.cpp:1119
-msgid "Audacity project (.AUP) files are not currently \n"
+#: AudacityApp.cpp:1500
+msgid ""
+"Audacity project (.AUP) files are not currently \n"
 "associated with Audacity. \n"
 "\n"
 "Associate them, so they open on double-click?"
-msgstr "Audacity工程(.AUP)文件目前没有和Audacity关联。\n"
+msgstr ""
+"Audacity工程(.AUP)文件目前没有和Audacity关联。\n"
 "关联后可以双击用Audacity打开AUP后缀的文件。\n"
 "\n"
 "要进行关联吗?"
 
-#: ../src/AudacityApp.cpp:1120
+#: AudacityApp.cpp:1501
 msgid "Audacity Project Files"
 msgstr "Audacity工程文件"
 
-#: AudioIO.cpp:214
+#: AudioIO.cpp:254
 msgid "Could not find any audio devices.\n"
-msgstr ""
+msgstr "找不到音频设备。\n"
 
-#: ../src/AudioIO.cpp:175
-msgid "You will not be able to play or record audio.\n"
+#: AudioIO.cpp:255
+msgid ""
+"You will not be able to play or record audio.\n"
 "\n"
-msgstr "您将无法播放或录制音频。\n"
+msgstr ""
+"您将无法播放或录制音频。\n"
 "\n"
 
-#: ../src/AudioIO.cpp:178
+#: AudioIO.cpp:258
 msgid "Error: "
-msgstr "错误:"
+msgstr "错误:"
 
-#: ../src/AudioIO.cpp:181
+#: AudioIO.cpp:261
 msgid "Error Initializing Audio"
 msgstr "音频初始化错误"
 
-#: AudioIO.cpp:1236
-msgid "Latency problem"
-msgstr ""
-
-#: AudioIO.cpp:1236
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
+#: AudioIO.cpp:1225
+msgid ""
+"Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
 "Audacity has brought it back to start at zero.\n"
 "You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
 msgstr ""
+"延迟设置导致了录制的音频在0以前的被隐藏。\n"
+"Audacity把它放回到从0开始。\n"
+"你可以使用时间移动工具(<--->或F5)拖动音轨到正确的位置。"
+
+#: AudioIO.cpp:1375
+msgid "Latency problem"
+msgstr "延迟问题"
 
-#: AutoRecovery.cpp:40
+#: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
-msgstr ""
+msgstr "崩溃自动恢复"
 
-#: AutoRecovery.cpp:59
-msgid "Some projects were not saved properly the last time Audacity was run.\n"
+#: AutoRecovery.cpp:73
+msgid ""
+"Some projects were not saved properly the last time Audacity was run.\n"
 "Fortunately, the following projects can automatically be recovered:"
 msgstr ""
+"有些工程在Audacity上次运行是没有正确的保存。\n"
+"幸好,以下的工程可以自动恢复:"
 
-#: AutoRecovery.cpp:61
+#: AutoRecovery.cpp:75
 msgid "Recoverable projects"
-msgstr ""
+msgstr "可恢复的工程"
 
-#: AutoRecovery.cpp:64
-#, fuzzy
+#: AutoRecovery.cpp:78
 msgid "Name"
 msgstr "名字"
 
-#: AutoRecovery.cpp:70
+#: AutoRecovery.cpp:84
 msgid "Recovering a project will not change any files on disk before you save it."
-msgstr ""
+msgstr "恢复一个工程自在你保存之前不会改动磁盘上的文件。"
 
-#: AutoRecovery.cpp:74
+#: AutoRecovery.cpp:88
 msgid "Quit Audacity"
-msgstr ""
+msgstr "退出 Audacity"
 
 #: AutoRecovery.cpp:89
 msgid "Do Not Recover"
-msgstr ""
+msgstr "不要恢复"
 
 #: AutoRecovery.cpp:90
 msgid "Recover Projects"
-msgstr ""
+msgstr "恢复工程"
 
 #: AutoRecovery.cpp:127
-msgid "Are you sure you don't want to recover any projects?\n"
+msgid ""
+"Are you sure you don't want to recover any projects?\n"
 "They can't be recovered later."
 msgstr ""
+"你确实不要恢复任何工程吗?\n"
+"他们以后再也不能被恢复了。"
 
 #: AutoRecovery.cpp:128
 msgid "Confirm?"
-msgstr ""
+msgstr "确认?"
 
-#: AutoRecovery.cpp:132 AutoRecovery.cpp:169
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:775
-#: ../src/ControlToolBar.cpp:965
-#: ../src/UploadDialog.cpp:370
-#: ../src/UploadDialog.cpp:1278
-#: ../src/effects/Effect.cpp:340
-#: ../src/prefs/DirectoriesPrefs.cpp:206
+msgstr "不能枚举自动保存目录下的文件"
+
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:3095 Menus.cpp:3107
+#: Menus.cpp:5232 Project.cpp:2100 Project.cpp:3662 Project.cpp:3741
+#: TrackPanel.cpp:6424 WaveTrack.cpp:598 WaveTrack.cpp:617 WaveTrack.cpp:1058
+#: WaveTrack.cpp:1077 WaveTrack.cpp:2087 effects/Contrast.cpp:127
+#: effects/Contrast.cpp:137 effects/Effect.cpp:513 export/ExportFFmpeg.cpp:614
+#: export/ExportMP2.cpp:231 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:260 toolbars/ControlToolBar.cpp:542
+#: toolbars/ControlToolBar.cpp:871
 msgid "Error"
 msgstr "错误"
 
-#: ../src/BatchCommandDialog.cpp:45
+#: BatchCommandDialog.cpp:57 BatchCommandDialog.cpp:62
+#: BatchCommandDialog.cpp:63
 msgid "Select Command"
 msgstr "选择命令"
 
-#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:451
-#: prefs/KeyConfigPrefs.cpp:140
+#: BatchCommandDialog.cpp:82 BatchProcessDialog.cpp:454
+#: prefs/KeyConfigPrefs.cpp:158
 msgid "&Command"
-msgstr ""
+msgstr "命令(&C)"
 
-#: BatchCommandDialog.cpp:82
-#, fuzzy
+#: BatchCommandDialog.cpp:84
 msgid "&Edit Parameters"
-msgstr "编辑参数"
+msgstr "编辑参数(&E)"
 
-#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:452
-#, fuzzy
+#: BatchCommandDialog.cpp:91 BatchProcessDialog.cpp:455
 msgid "&Parameters"
-msgstr "参数"
+msgstr "参数(&P)"
 
-#: BatchCommandDialog.cpp:93
+#: BatchCommandDialog.cpp:96
 msgid "C&hoose command"
-msgstr ""
+msgstr "选择命令(&H)"
 
 #: BatchCommands.cpp:456
 msgid "Stereo to Mono Effect not found"
-msgstr ""
+msgstr "没有找到立体声到单声的效果"
 
-#: ../src/export/Export.cpp:375
+#: BatchCommands.cpp:476
 msgid "Ogg Vorbis support is not included in this build of Audacity"
-msgstr "本Audacity中不包含Ogg Vorbis的支持"
+msgstr "当前版Audacity中不包含Ogg Vorbis的支持"
 
-#: BatchCommands.cpp:509
+#: BatchCommands.cpp:488
 msgid "FLAC support is not included in this build of Audacity"
-msgstr ""
+msgstr "当前版Audacity中不包含FLAC的支持"
 
-#: BatchCommands.cpp:513
+#: BatchCommands.cpp:492
 #, c-format
 msgid "Command %s not implemented yet"
-msgstr ""
+msgstr "命令 %s 还没有实现"
 
-#: BatchCommands.cpp:529
+#: BatchCommands.cpp:508
 #, c-format
-msgid "Could not set parameters of effect %s\n"
+msgid ""
+"Could not set parameters of effect %s\n"
 " to %s."
 msgstr ""
+"不能把特性的参数 %s\n"
+"设置为 %s。"
 
-#: BatchCommands.cpp:583
+#: BatchCommands.cpp:561
 #, c-format
 msgid "Your batch command of %s was not recognised."
-msgstr ""
+msgstr "你的批处理命令 %s 不能被识别。"
 
-#: BatchCommands.cpp:674
+#: BatchCommands.cpp:652
 #, c-format
-msgid "Apply %s with parameter(s)\n"
+msgid ""
+"Apply %s with parameter(s)\n"
 "\n"
 "%s"
 msgstr ""
+"应用 %s 使用参数\n"
+"\n"
+"%s"
 
-#: BatchCommands.cpp:675 BatchCommands.cpp:680
+#: BatchCommands.cpp:653 BatchCommands.cpp:658
 msgid "Test Mode"
-msgstr ""
+msgstr "测试模式"
 
-#: BatchCommands.cpp:679
+#: BatchCommands.cpp:657
 #, c-format
 msgid "Apply %s"
-msgstr ""
+msgstr "应用%s"
 
-#: BatchProcessDialog.cpp:58 BatchProcessDialog.cpp:68
-#: BatchProcessDialog.cpp:69
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
-msgstr ""
+msgstr "应用链"
 
 #: BatchProcessDialog.cpp:67
 msgid "CleanSpeech Batch Processing"
-msgstr ""
+msgstr "语音清除批处理"
 
-#: BatchProcessDialog.cpp:92
+#: BatchProcessDialog.cpp:94
 msgid "&Select chain"
-msgstr ""
+msgstr "选择链(&S)"
 
-#: BatchProcessDialog.cpp:97
+#: BatchProcessDialog.cpp:99
 msgid "Chain"
-msgstr ""
+msgstr "链"
 
-#: BatchProcessDialog.cpp:104
+#: BatchProcessDialog.cpp:106
 msgid "Apply to Current &Project"
-msgstr ""
+msgstr "应用到当前工程(&P)"
 
-#: BatchProcessDialog.cpp:105
+#: BatchProcessDialog.cpp:107
 msgid "Apply to &Files..."
-msgstr ""
+msgstr "应用到文件...(&F) "
 
-#: BatchProcessDialog.cpp:106 BatchProcessDialog.cpp:245 LabelDialog.cpp:134
-#: LabelDialog.cpp:138 UploadDialog.cpp:178 effects/Amplify.cpp:209
-#: effects/AutoDuck.cpp:528 effects/AutoDuck.cpp:532
-#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:184
-#: effects/ChangePitch.cpp:395 effects/ChangeSpeed.cpp:393
-#: effects/ChangeTempo.cpp:297 effects/ClickRemoval.cpp:429
-#: effects/Compressor.cpp:516 effects/Effect.cpp:387 effects/Effect.cpp:393
-#: effects/Equalization.cpp:1166 effects/Leveller.cpp:266
-#: effects/Normalize.cpp:353 effects/Phaser.cpp:600 effects/Repeat.cpp:271
-#: effects/SpikeCleaner.cpp:188 effects/TruncSilence.cpp:278
-#: effects/VST/VSTEffect.cpp:95 effects/VST/VSTEffect.cpp:452
-#: effects/Wahwah.cpp:587 effects/audiounits/AudioUnitEffect.cpp:862
-#: effects/ladspa/LadspaEffect.cpp:589 effects/nyquist/Nyquist.cpp:823
-#: effects/nyquist/Nyquist.cpp:987 export/Export.cpp:788
-#: export/ExportMultiple.cpp:844 import/ImportRaw.cpp:443
-#: prefs/FileFormatPrefs.cpp:407 prefs/PrefsDialog.cpp:169
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:453
+#: effects/audiounits/AudioUnitEffect.cpp:887
 msgid "&Cancel"
-msgstr ""
+msgstr "取消(&C)"
 
-#: BatchProcessDialog.cpp:144 BatchProcessDialog.cpp:189
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
-msgstr ""
+msgstr "没有选中链"
 
-#: BatchProcessDialog.cpp:157
+#: BatchProcessDialog.cpp:159
 #, c-format
 msgid "Applying '%s' to current project"
-msgstr ""
+msgstr "应用 '%s' 到当前工程"
 
-#: ../src/Menus.cpp:3691
+#: BatchProcessDialog.cpp:200
 msgid "Please save and close the current project first."
 msgstr "请先保存并关闭当前的工程。"
 
 #: BatchProcessDialog.cpp:206
 msgid "Select vocal file(s) for batch CleanSpeech Chain..."
-msgstr ""
+msgstr "选择进行’语音清楚链‘批处理的语音文件..."
 
-#: ../src/Menus.cpp:3710
+#: BatchProcessDialog.cpp:207
 msgid "Select file(s) for batch processing..."
-msgstr "选择文件进行批处理..."
+msgstr "选择进行批处理的文件..."
 
 #: BatchProcessDialog.cpp:209
 msgid "Vocal files (*.wav;*.mp3)|*.wav;*.mp3|WAV files (*.wav)|*.wav|MP3 files (*.mp3)|*.mp3"
-msgstr ""
+msgstr "语言文件 (*.wav;*.mp3)|*.wav;*.mp3|WAV 文件 (*.wav)|*.wav|MP3 文件 (*.mp3)|*.mp3"
 
-#: ../src/Menus.cpp:3713
+#: BatchProcessDialog.cpp:210
 msgid "All files (*.*)|*.*|WAV files (*.wav)|*.wav|AIFF files (*.aif)|*.aif|AU files (*.au)|*.au|MP3 files (*.mp3)|*.mp3|Ogg Vorbis files (*.ogg)|*.ogg|FLAC files (*.flac)|*.flac"
 msgstr "全部文件(*.*)|*.*|WAV文件(*.wav)|*.wav|AIFF文件(*.aif)|*.aif|AU文件(*.au)|*.au|MP3文件(*.mp3)|*.mp3|Ogg Vorbis文件(*.ogg)|*.ogg|FLAC文件(*.flac)|*.flac"
 
-#: BatchProcessDialog.cpp:229
+#: BatchProcessDialog.cpp:231
 msgid "Applying..."
-msgstr ""
+msgstr "正在应用..."
 
-#: ../src/BatchProcessDialog.cpp:73
+#: BatchProcessDialog.cpp:241
 msgid "File"
 msgstr "文件"
 
-#: BatchProcessDialog.cpp:354 BatchProcessDialog.cpp:358
-#: BatchProcessDialog.cpp:359
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
-msgstr ""
+msgstr "编辑链"
 
-#: BatchProcessDialog.cpp:414
+#: BatchProcessDialog.cpp:416
 msgid "&Chains"
-msgstr ""
+msgstr "链(&C)"
 
-#: BatchProcessDialog.cpp:433
+#: BatchProcessDialog.cpp:435 Tags.cpp:813
 msgid "&Add"
-msgstr ""
+msgstr "添加(&A)"
 
-#: BatchProcessDialog.cpp:434 LabelDialog.cpp:126 TrackPanel.cpp:3925
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:128 Tags.cpp:814
+#: TrackPanel.cpp:4181
 msgid "&Remove"
-msgstr ""
+msgstr "移除(&R)"
 
-#: BatchProcessDialog.cpp:435
+#: BatchProcessDialog.cpp:437
 msgid "Re&name"
-msgstr ""
+msgstr "重命名(&N)"
 
-#: BatchProcessDialog.cpp:441
+#: BatchProcessDialog.cpp:443
 msgid "C&hain (Double-Click or press SPACE to edit)"
-msgstr ""
+msgstr "链(双击或按空格进行编辑)(&H)"
 
-#: ../src/prefs/BatchPrefs.cpp:156
-msgid "No"
-msgstr "æ— "
+#. i18n-hint: This is the number of the command in the list
+#: BatchProcessDialog.cpp:453
+msgid "Num"
+msgstr "命令数"
 
-#: BatchProcessDialog.cpp:456
+#: BatchProcessDialog.cpp:459
 msgid "&Insert"
-msgstr ""
+msgstr "插入(&I)"
 
-#: BatchProcessDialog.cpp:457
+#: BatchProcessDialog.cpp:460
 msgid "De&lete"
-msgstr ""
+msgstr "删除(&L)"
 
-#: BatchProcessDialog.cpp:458
+#: BatchProcessDialog.cpp:461
 msgid "Move &Up"
-msgstr ""
+msgstr "上移(&U)"
 
-#: BatchProcessDialog.cpp:459
+#: BatchProcessDialog.cpp:462
 msgid "Move &Down"
-msgstr ""
+msgstr "下移(&D)"
 
-#: BatchProcessDialog.cpp:460
+#: BatchProcessDialog.cpp:463
 msgid "De&faults"
-msgstr ""
+msgstr "默认(&F)"
 
-#: ../src/prefs/BatchPrefs.cpp:197
-#: ../src/prefs/BatchPrefs.cpp:447
+#: BatchProcessDialog.cpp:507
 msgid "- END -"
 msgstr "- 结束 -"
 
-#: BatchProcessDialog.cpp:531
+#: BatchProcessDialog.cpp:540
 #, c-format
 msgid "%s changed"
-msgstr ""
+msgstr "%s 已改变"
 
-#: BatchProcessDialog.cpp:532
+#: BatchProcessDialog.cpp:541
 msgid "Do you want to save the changes?"
-msgstr ""
+msgstr "你想保存改变吗?"
 
-#: BatchProcessDialog.cpp:614
+#: BatchProcessDialog.cpp:623
 msgid "Enter name of new chain"
-msgstr ""
+msgstr "输入新链的名字"
 
-#: BatchProcessDialog.cpp:625
+#: BatchProcessDialog.cpp:634
 msgid "Name must not be blank"
-msgstr ""
+msgstr "名字不能为空"
 
-#: BatchProcessDialog.cpp:634
+#: BatchProcessDialog.cpp:643
 #, c-format
 msgid "Names may not contain '%c' and '%c'"
-msgstr ""
+msgstr "名字不能包括'%c'和'%c'"
 
-#: BatchProcessDialog.cpp:664
+#: BatchProcessDialog.cpp:673
 #, c-format
 msgid "Are you sure you want to delete %s?"
-msgstr ""
+msgstr "你确实要删除 %s?"
 
 #: Dependencies.cpp:139
 msgid "Removing Dependencies"
-msgstr ""
+msgstr "正在删除依赖"
 
 #: Dependencies.cpp:140
 msgid "Copying audio data into project..."
-msgstr ""
+msgstr "正在复制音频文件到工程..."
 
-#: Dependencies.cpp:219
-msgid "Your project currently depends on the presence of other files.\n"
+#: Dependencies.cpp:223
+msgid ""
+"Your project currently depends on the presence of other files.\n"
 "Copy audio from the following files into your project to make it self-contained?\n"
 "This will need more disc space but is safer."
 msgstr ""
+"你的工程目前依赖其他文件的存在。\n"
+"是否把下列的音频文件复制到工程中,使得它自包含? \n"
+"这样做需要更多的磁盘空间但更安全。"
 
-#: Dependencies.cpp:266
+#: Dependencies.cpp:270
 msgid "Project depends on other audio files"
-msgstr ""
+msgstr "工程依赖其他音频文件"
 
-#: Dependencies.cpp:287
+#: Dependencies.cpp:291
 msgid "Project Dependencies"
-msgstr ""
+msgstr "工程的依赖"
 
-#: Dependencies.cpp:290
+#: Dependencies.cpp:294
 msgid "Audio file"
-msgstr ""
+msgstr "音频文件"
 
-#: Dependencies.cpp:292
+#: Dependencies.cpp:296
 msgid "Disk space"
-msgstr ""
+msgstr "磁盘空间"
 
-#: Dependencies.cpp:297
+#: Dependencies.cpp:301
 msgid "Copy Selected Audio Into Project"
-msgstr ""
+msgstr "把选中的音频复制到工程"
 
-#: Dependencies.cpp:304 Dependencies.cpp:413
+#: Dependencies.cpp:308 Dependencies.cpp:414
 msgid "Cancel Save"
-msgstr ""
+msgstr "取消保存"
 
-#: Dependencies.cpp:306
+#: Dependencies.cpp:310
 msgid "Do Not Copy Any Audio"
-msgstr ""
+msgstr "不要复制音频"
 
-#: Dependencies.cpp:308
+#: Dependencies.cpp:312
 msgid "Copy All Audio into Project (Safer)"
-msgstr ""
+msgstr "把所音频复制到工程中(更安全)"
 
-#: Dependencies.cpp:320 Dependencies.cpp:325
+#: Dependencies.cpp:321 Dependencies.cpp:326
 msgid "Ask me"
-msgstr ""
+msgstr "问我"
 
-#: Dependencies.cpp:318
+#: Dependencies.cpp:322
 msgid "Always copy all audio (safest)"
-msgstr ""
+msgstr "总是复制所有音频(最安全)"
 
-#: Dependencies.cpp:319
+#: Dependencies.cpp:323
 msgid "Never copy any audio"
-msgstr ""
+msgstr "总不复制音频"
 
-#: Dependencies.cpp:324
+#: Dependencies.cpp:325
 msgid "Whenever a project depends on other files:"
-msgstr ""
+msgstr "当工程依赖其他文件时:"
 
-#: Dependencies.cpp:412
+#: Dependencies.cpp:413
 msgid "If you proceed, your project will not be saved to disk. Is this what you want?"
-msgstr ""
+msgstr "如果你继续,你的工程将不会保存到磁盘,你希望这样的吗?"
 
-#: Dependencies.cpp:452
+#: Dependencies.cpp:453
 msgid "Your project is self-contained; it does not depend on any external audio files."
-msgstr ""
+msgstr "你的工程是自包含的;它不依赖任何外部音频文件。"
 
-#: Dependencies.cpp:453
+#: Dependencies.cpp:454
 msgid "Dependency check"
-msgstr ""
+msgstr "依赖性检查"
 
-#: ../src/DirManager.cpp:96
-msgid "Warning: there is very little free disk space left on this volume.\n"
+#: DirManager.cpp:137
+msgid ""
+"Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
-msgstr "警告: 磁盘上的剩余容量不多。\n"
-"请在参数设定里选择另一个临时目录。"
+msgstr ""
+"警告: 磁盘上的剩余容量很少了。\n"
+"请在喜好选项里选择另一个临时目录。"
 
-#: ../src/DirManager.cpp:151
-#: ../src/DirManager.cpp:233
-#: ../src/DirManager.cpp:347
+#: DirManager.cpp:223 DirManager.cpp:254 DirManager.cpp:337
 msgid "Progress"
-msgstr "进行"
+msgstr "进度"
 
-#: ../src/DirManager.cpp:283
+#: DirManager.cpp:288
 msgid "Cleaning up temporary files"
-msgstr "清空临时文件"
+msgstr "正在清除临时文件"
 
-#: ../src/DirManager.cpp:348
+#: DirManager.cpp:338
 msgid "Saving project data files"
-msgstr "正在保存工程数据文件"
+msgstr "保存工程数据文件"
 
-#: ../src/DirManager.cpp:411
+#: DirManager.cpp:410
 msgid "Cleaning up cache directories"
-msgstr "清空缓存目录"
+msgstr "正在清除缓存目录"
 
-#: ../src/DirManager.cpp:488
+#: DirManager.cpp:505
 #, c-format
-msgid "Audacity found an orphaned blockfile %s! \n"
+msgid ""
+"Audacity found an orphaned blockfile %s! \n"
 "Please consider saving and reloading the project to perform a complete project check.\n"
-msgstr "Audacity发现了一个孤立的块文件 %s!\n"
+msgstr ""
+"Audacity发现了一个孤立的块文件 %s!\n"
 "建议保存并重新读取工程文件,以进行完整的工程检查。\n"
 
 #. i18n-hint: This is the pattern for filenames that are created
-#: ../src/DirManager.cpp:968
+#. when a file needs to be backed up to a different name.  For
+#. example, mysong would become mysong-old1, mysong-old2, etc.
+#: DirManager.cpp:1094
 #, c-format
 msgid "%s-old%d"
 msgstr "%s-old%d"
 
-#: DirManager.cpp:993
+#: DirManager.cpp:1102
 msgid "Unable to open/create test file"
-msgstr ""
+msgstr "不能打开/新建测试文件"
 
-#: DirManager.cpp:1002
+#: DirManager.cpp:1111
 #, c-format
 msgid "Unable to remove '%s'"
-msgstr ""
+msgstr "不能删除 '%s'"
 
-#: ../src/DirManager.cpp:984
+#: DirManager.cpp:1116
 #, c-format
 msgid "Renamed file: %s\n"
-msgstr "更名文件: %s\n"
+msgstr "重命名文件: %s\n"
 
-#: DirManager.cpp:1051
+#: DirManager.cpp:1166
 #, c-format
 msgid "Unable to rename '%s' to '%s'"
-msgstr ""
+msgstr "不能把文件'%s'重命名为'%s'"
 
 #: DirManager.cpp:1183
 #, c-format
 msgid "Changed block %s to new alias name\n"
-msgstr ""
+msgstr "已把块'%s'改变到新的别名\n"
 
-#: ../src/DirManager.cpp:1089
+#: DirManager.cpp:1249 DirManager.cpp:1540
 msgid "Inspecting project file data..."
 msgstr "正在检查工程文件数据..."
 
-#: ../src/DirManager.cpp:1102
+#: DirManager.cpp:1265
 #, c-format
 msgid "Orphaned blockfile: (%s)"
-msgstr "孤立的块文件: (%s)"
+msgstr "孤立的块文件: (%s)"
 
-#: ../src/DirManager.cpp:1127
+#: DirManager.cpp:1290
 #, c-format
 msgid "Missing alias file: (%s)"
-msgstr "缺失别名文件: (%s)"
+msgstr "缺失别名文件: (%s)"
 
-#: ../src/DirManager.cpp:1146
+#: DirManager.cpp:1310
 #, c-format
 msgid "Missing summary file: (%s.auf)"
-msgstr "缺失概要文件: (%s.auf)"
+msgstr "缺失概要文件: (%s.auf)"
 
-#: ../src/DirManager.cpp:1165
+#: DirManager.cpp:1330
 #, c-format
 msgid "Missing data file: (%s.au)"
-msgstr "缺失数据文件: (%s.au)"
+msgstr "缺失数据文件: (%s.au)"
 
-#: ../src/DirManager.cpp:1179
-msgid "Project check found inconsistencies inspecting the loaded project data;\n"
+#: DirManager.cpp:1344
+msgid ""
+"Project check found inconsistencies inspecting the loaded project data;\n"
 "click 'Details' for a complete list of errors, or 'OK' to proceed to more options."
-msgstr "在检查加载的工程数据时发现错误;\n"
+msgstr ""
+"在检查加载的工程数据时发现错误;\n"
 "点击'详情'查看错误的完整列表,或者点击'确定'继续至更多选项。"
 
-#: ../src/DirManager.cpp:1189
+#: DirManager.cpp:1356
 #, c-format
-msgid "Project check found %d orphaned blockfile[s]. These files are\n"
+msgid ""
+"Project check found %d orphaned blockfile[s]. These files are\n"
 "unused and probably left over from a crash or some other bug.\n"
 "They should be deleted to avoid disk contention."
-msgstr "工程检查发现了 %d 个孤立的块文件。这些文件\n"
+msgstr ""
+"工程检查发现了 %d 个孤立的块文件。这些文件\n"
 "未被使用,可能是系统崩溃或程序错误留下的。\n"
 "为了节约磁盘空间,应该删除这些文件。"
 
-#: ../src/DirManager.cpp:1194
+#: DirManager.cpp:1361
 msgid "Delete orphaned files [safe and recommended]"
 msgstr "删除孤立的文件 [安全,推荐使用]"
 
-#: ../src/DirManager.cpp:1195
+#: DirManager.cpp:1362
 msgid "Continue without deleting; silently work around the extra files"
-msgstr "不删除,继续执行;在后台处理"
+msgstr "不删除,继续执行;默默地处理多余文件"
 
-#: ../src/DirManager.cpp:1196
+#: DirManager.cpp:1363
 msgid "Close project immediately with no changes"
 msgstr "不保存修改,立即关闭工程"
 
-#: ../src/DirManager.cpp:1198
-#: ../src/DirManager.cpp:1228
-#: ../src/DirManager.cpp:1266
-#: ../src/DirManager.cpp:1297
-#: ../src/widgets/Warning.cpp:45
+#: DirManager.cpp:1365 DirManager.cpp:1400 DirManager.cpp:1446
+#: DirManager.cpp:1488 export/Export.cpp:582 export/Export.cpp:603
+#: export/Export.cpp:622 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "警告"
 
-#: ../src/DirManager.cpp:1219
-#, fuzzy, c-format
-msgid "Project check detected %d input file[s] being used in place\n"
+#: DirManager.cpp:1391
+#, c-format
+msgid ""
+"Project check detected %d input file[s] being used in place\n"
 "('alias files') are now missing.  There is no way for Audacity\n"
 "to recover these files automatically; you may choose to\n"
 "permanently fill in silence for the missing files, temporarily\n"
 "fill in silence for this session only, or close the project now\n"
 "and try to restore the missing files by hand."
-msgstr "工程检查发现在位置('别名文件')的 %d 个输入文件\n"
-"现在缺失了。Audacity无法自动\n"
-"恢复这些文件;您可以选择用静音永久性地填充\n"
-"丢失的文件,或者仅在本次运行期间暂时用静音填充,\n"
-"又或者马上关闭工程并尝试手工\n"
-"恢复丢失的文件。"
-
-#: ../src/DirManager.cpp:1224
+msgstr ""
+"工程检查发现在位置('别名文件')的 %d 个导入文件\n"
+"现在缺失了。Audacity无法自动恢复这些文件;\n"
+"您可以选择用静音永久性地填充丢失的文件,\n"
+"或者仅在本次运行期间暂时用静音填充,\n"
+"又或者马上关闭工程并尝试手工恢复丢失\n"
+"的文件。"
+
+#: DirManager.cpp:1396
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "用静音替换丢失的数据 [永久替换,在保存后生效]"
 
-#: ../src/DirManager.cpp:1294
+#: DirManager.cpp:1397 DirManager.cpp:1485
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "暂时用静音替换丢失的数据 [只限本次程序运行期间]"
 
-#: ../src/DirManager.cpp:1226
-#: ../src/DirManager.cpp:1264
-#: ../src/DirManager.cpp:1295
+#: DirManager.cpp:1398 DirManager.cpp:1444 DirManager.cpp:1486
 msgid "Close project immediately with no further changes"
 msgstr "不保存进一步的修改,立即关闭工程"
 
-#: ../src/DirManager.cpp:1257
+#: DirManager.cpp:1437
 #, c-format
-msgid "Project check detected %d missing summary file[s] (.auf).\n"
+msgid ""
+"Project check detected %d missing summary file[s] (.auf).\n"
 "Audacity can fully regenerate these summary files from the\n"
 "original audio data in the project."
-msgstr "工程检查发现有 %d 个摘要文件(.auf)缺失了。\n"
+msgstr ""
+"工程检查发现有 %d 个摘要文件(.auf)缺失了。\n"
 "Audacity可以根据工程里的原始音频数据重新生成\n"
-"完整的摘要文件。"
+"完整的概要文件。"
 
-#: ../src/DirManager.cpp:1262
+#: DirManager.cpp:1442
 msgid "Regenerate summary files [safe and recommended]"
 msgstr "重新生成概要文件 [安全,推荐使用]"
 
-#: ../src/DirManager.cpp:1263
+#: DirManager.cpp:1443
 msgid "Fill in silence for missing display data [this session only]"
 msgstr "对于缺失的显示数据以静音填充 [只限本次程序运行期间]"
 
-#: ../src/DirManager.cpp:1288
+#: DirManager.cpp:1479
 #, c-format
-msgid "Project check detected %d missing audio data blockfile[s] (.au), \n"
+msgid ""
+"Project check detected %d missing audio data blockfile[s] (.au), \n"
 "probably due to a bug, system crash or accidental deletion.\n"
 "There is no way for Audacity to recover this lost data\n"
 "automatically; you may choose to permanently fill in silence\n"
 "for the missing data, temporarily fill in silence for this\n"
 "session only, or close the project now and try to restore the\n"
 "missing data by hand."
-msgstr "工程检查发现可能因为程序错误、系统崩溃或意外删除操作,\n"
+msgstr ""
+"工程检查发现可能因为bug、系统崩溃或意外删除,\n"
 "导致了有 %d 个音频数据块文件(.au)缺失了。\n"
 "Audacity无法自动恢复这些数据;\n"
-"您可以选择用静音永久性地填充\n"
-"丢失的数据,或者仅在本次运行期间暂时用\n"
+"您可以选择用静音永久性地填充丢失\n"
+"的数据,或者仅在本次运行期间暂时用\n"
 "静音填充,又或者马上关闭工程并尝试\n"
 "手工恢复丢失的数据。"
 
-#: ../src/DirManager.cpp:1293
+#: DirManager.cpp:1484
 msgid "Replace missing data with silence [permanent immediately]"
 msgstr "用静音替换丢失的数据 [永久替换,立即生效]"
 
-#: ../src/DirManager.cpp:1320
+#: DirManager.cpp:1512
 msgid "Cleaning up unused directories in project data..."
-msgstr "清除工程数据中未用的目录..."
+msgstr "正在清除工程数据中未用的目录..."
 
-#: DirManager.cpp:1448
+#: DirManager.cpp:1583
 msgid "Caching audio"
-msgstr ""
+msgstr "正在缓存音频"
 
-#: DirManager.cpp:1449
+#: DirManager.cpp:1584
 msgid "Caching audio into memory..."
-msgstr ""
+msgstr "正在缓存音频到内存..."
 
-#: DirManager.cpp:1486
+#: DirManager.cpp:1617
 msgid "Saving recorded audio"
-msgstr ""
+msgstr "正在保存录制的音频"
 
-#: DirManager.cpp:1487
+#: DirManager.cpp:1618
 msgid "Saving recorded audio to disk..."
-msgstr ""
+msgstr "正在保存录制的音频到磁盘..."
 
-#: ../src/FFT.cpp:364
+#: FFT.cpp:389
 msgid "Rectangular"
-msgstr "矩形"
+msgstr "方形"
 
 #: FFmpeg.cpp:36
 msgid "FFmpeg support not compiled in"
-msgstr ""
+msgstr "FFmpeg 支持没有被编译进"
 
-#: FFmpeg.cpp:101
-msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
+#: FFmpeg.cpp:103
+msgid ""
+"FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
+"FFmpeg之前在喜好选项中配置正确,并且成功加载过,\n"
+"但这次,Audacity启动时加载它失败。\n"
+"\n"
+"你可以到'喜好选项'>'库'中重新配置一下。"
 
 #: FFmpeg.cpp:104
 msgid "FFmpeg startup failed"
-msgstr ""
+msgstr "FFmpeg启动失败"
 
-#: FFmpeg.cpp:115
+#: FFmpeg.cpp:112
 msgid "FFmpeg library not found"
-msgstr ""
+msgstr "FFmpeg库没有找到"
 
-#: FFmpeg.cpp:170
+#: FFmpeg.cpp:172
 msgid "Locate FFmpeg"
-msgstr ""
+msgstr "定位FFmpeg"
 
-#: FFmpeg.cpp:190
+#: FFmpeg.cpp:192
 #, c-format
 msgid "Audacity needs the file %s to import and export audio via FFmpeg."
-msgstr ""
+msgstr "Audacity 需要文件 %s 来通过 FFmpeg 导出/导入音频."
 
-#: export/ExportMP3.cpp:507
+#: FFmpeg.cpp:198 export/ExportMP3.cpp:562
 #, c-format
 msgid "Location of %s:"
-msgstr ""
+msgstr "%s的的位置:"
 
-#: export/ExportMP3.cpp:516
+#: FFmpeg.cpp:207 export/ExportMP3.cpp:571
 #, c-format
 msgid "To find %s, click here -->"
-msgstr ""
+msgstr "要找%s,点击这里-->"
 
-#: export/ExportMP3.cpp:522
+#: FFmpeg.cpp:213 export/ExportMP3.cpp:577
 msgid "Browse..."
-msgstr ""
+msgstr "浏览..."
 
-#: FFmpeg.cpp:212
+#: FFmpeg.cpp:214
 msgid "To get a free copy of FFmpeg, click here -->"
-msgstr ""
+msgstr "要得到一个免费的FFmpeg的拷贝,点击这里-->"
 
 #: FFmpeg.cpp:215 export/ExportMP3.cpp:579
 msgid "Download"
-msgstr ""
+msgstr "下载"
 
 #. i18n-hint: It's asking for the location of a file, for
-#: ../src/export/ExportMP3.cpp:113
+#. example, "Where is lame_enc.dll?" - you could translate
+#. "Where would I find the file %s" instead if you want.
+#: FFmpeg.cpp:237 export/ExportMP3.cpp:601
 #, c-format
 msgid "Where is %s?"
 msgstr "%s 在哪里?"
 
 #: FFmpeg.cpp:407
 msgid "Failed to find compatible FFmpeg libraries"
-msgstr ""
+msgstr "找不到兼容的FFmepg库"
 
-#: FFmpeg.h:95
+#: FFmpeg.h:87
 msgid "FFmpeg not found"
-msgstr ""
+msgstr "FFmpeg没有找到"
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid ""
+"Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
+"Audacity尝试着用FFmpeg库来导入音频文件,\n"
+"但库没有找到。 \n"
+"\n"
+"果你要使用FFmpeg导入,请到'喜好选项'->'库', "
+"去下载或定位FFmpeg库。"
 
 #: FFmpeg.h:109
 msgid "Do not show this warning again"
-msgstr ""
+msgstr "不要再显示这个警告了"
 
-#: FFmpeg.h:251
+#: FFmpeg.h:242
 msgid "Only avformat.dll|*avformat*.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
-msgstr ""
+msgstr "仅 avformat.dll|*avformat*.dll|动态链接库 (*.dll)|*.dll|所有文件 (*.*)|*"
 
 #: FFmpeg.h:268
 msgid "Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "动态库 (*.dylib)|*.dylib|所有文件 (*)|*"
 
-#: FFmpeg.h:266
+#: FFmpeg.h:295
 msgid "Only libavformat.so|libavformat.so*|Dynamically Linked Libraries (*.so*)|*.so*|All Files (*)|*"
-msgstr ""
+msgstr "仅 libavformat.so|libavformat.so*|动态链接库 (*.so*)|*.so*|所有文件 (*)|*"
 
-#: ../src/FreqWindow.cpp:68
+#: FreqWindow.cpp:103
 msgid "Frequency Analysis"
 msgstr "频率分析"
 
-#: ../src/FreqWindow.cpp:129
-#: ../src/TrackPanel.cpp:392
+#: FreqWindow.cpp:139 TrackPanel.cpp:553 prefs/GUIPrefs.cpp:156
 msgid "Spectrum"
 msgstr "频谱"
 
-#: ../src/FreqWindow.cpp:130
+#: FreqWindow.cpp:140
 msgid "Standard Autocorrelation"
 msgstr "标准自动相关(Standard Autocorrelation)"
 
-#: ../src/FreqWindow.cpp:131
+#: FreqWindow.cpp:141
 msgid "Cuberoot Autocorrelation"
 msgstr "立方根自动相关 (Cuberoot Autocorrelation)"
 
-#: ../src/FreqWindow.cpp:132
+#: FreqWindow.cpp:142
 msgid "Enhanced Autocorrelation"
 msgstr "増强的自动相关(Enhanced Autocorrelation)"
 
 #. i18n-hint: This is a technical term, derived from the word
-#: ../src/FreqWindow.cpp:136
+#. "spectrum".  Do not translate it unless you are sure you
+#. know the correct technical word in your language.
+#: FreqWindow.cpp:146
 msgid "Cepstrum"
 msgstr "倒频谱"
 
 #: FreqWindow.cpp:150 FreqWindow.cpp:154
 msgid "Algorithm"
-msgstr ""
+msgstr "算法"
 
-#: ../src/HistoryWindow.cpp:59
+#: FreqWindow.cpp:169 FreqWindow.cpp:173 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "大小"
 
 #. i18n-hint: This refers to a "window function", used in the
-#: ../src/FreqWindow.cpp:167
+#. Frequency analyze dialog box.
+#: FreqWindow.cpp:183
 msgid " window"
 msgstr "窗口"
 
 #: FreqWindow.cpp:187 FreqWindow.cpp:191
 msgid "Function"
-msgstr ""
+msgstr "函数"
 
-#: ../src/FreqWindow.cpp:177
+#: FreqWindow.cpp:196
 msgid "Linear frequency"
 msgstr "线性频率"
 
-#: ../src/FreqWindow.cpp:178
+#: FreqWindow.cpp:197
 msgid "Log frequency"
 msgstr "对数频率"
 
 #: FreqWindow.cpp:201 FreqWindow.cpp:205
 msgid "Axis"
-msgstr ""
+msgstr "è½´"
 
-#: FreqWindow.cpp:204 LabelDialog.cpp:128
+#: FreqWindow.cpp:212 LabelDialog.cpp:130 Menus.cpp:242 Menus.cpp:277
 msgid "&Export..."
-msgstr ""
+msgstr "导出...(&E)"
 
-#: HelpText.cpp:77 export/ExportCL.cpp:320
+#: FreqWindow.cpp:213 effects/Contrast.cpp:437 export/ExportCL.cpp:323
+#: export/ExportMultiple.cpp:344
 msgid "Export"
-msgstr ""
+msgstr "导出"
 
-#: ../src/Benchmark.cpp:223
-#: ../src/FreqWindow.cpp:123
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr "重绘(&R)"
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr "重绘"
+
+#: FreqWindow.cpp:216 FreqWindow.cpp:217 widgets/ErrorDialog.cpp:161
 msgid "Close"
 msgstr "关闭"
 
-#: ../src/effects/Compressor.cpp:385
-#: ../src/effects/Compressor.cpp:393
-#: ../src/widgets/Meter.cpp:344
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr "网格"
+
+#: FreqWindow.cpp:280 FreqWindow.cpp:410 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:792
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1123 effects/Equalization.cpp:1125
+#: effects/Equalization.cpp:1133 effects/Equalization.cpp:1199
+#: effects/Equalization.cpp:1408 effects/Equalization.cpp:1419
+#: effects/Normalize.cpp:368 widgets/Meter.cpp:413
 msgid "dB"
 msgstr "dB"
 
 #. i18n-hint: This is the abbreviation for "Hertz", or
-#: ../src/import/ImportRaw.cpp:406
+#. cycles per second.
+#: FreqWindow.cpp:295 FreqWindow.cpp:450 effects/Equalization.cpp:1164
+#: effects/Equalization.cpp:1195 import/ImportRaw.cpp:399
 msgid "Hz"
 msgstr "Hz"
 
-#: ../src/FreqWindow.cpp:463
+#: Menus.cpp:4011
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "为了绘制频谱,所有选定的轨道必须具有相同的采样率。"
+
+#: Menus.cpp:4037
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "选择的音频过多。只有开始 %.1f 秒的音频会被分析。"
+
+#: FreqWindow.cpp:394
 msgid "Not enough data selected."
 msgstr "没有选择足够的数据。"
 
-#: FreqWindow.cpp:441 effects/AutoDuck.cpp:801
+#: FreqWindow.cpp:458 effects/AutoDuck.cpp:794
 msgid "s"
-msgstr ""
+msgstr "秒"
 
-#: FreqWindow.cpp:769
+#: FreqWindow.cpp:787
 #, c-format
 msgid "Cursor: %d Hz (%s) = %d dB    Peak: %d Hz (%s) = %.1f dB"
-msgstr ""
+msgstr "光标: %d Hz (%s) = %d dB    峰: %d Hz (%s) = %.1f dB"
 
-#: FreqWindow.cpp:778
+#: FreqWindow.cpp:796
 #, c-format
 msgid "Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"
-msgstr ""
+msgstr "光标: %.4f sec (%d Hz) (%s) = %f,    峰: %.4f sec (%d Hz) (%s) = %.3f"
 
-#: ../src/FreqWindow.cpp:994
+#: FreqWindow.cpp:1069
 msgid "spectrum.txt"
 msgstr "spectrum.txt"
 
-#: ../src/FreqWindow.cpp:996
+#: FreqWindow.cpp:1071
 msgid "Export Spectral Data As:"
-msgstr "将频谱数据导出为:"
+msgstr "将频谱数据导出为:"
 
-#: ../src/FreqWindow.cpp:1012
-#: ../src/Menus.cpp:1840
-#: ../src/Project.cpp:2337
-#: ../src/prefs/KeyConfigPrefs.cpp:175
+#: FreqWindow.cpp:1087 LabelDialog.cpp:603 Menus.cpp:2567 Project.cpp:2663
+#: Project.cpp:3714 effects/Contrast.cpp:567 prefs/KeyConfigPrefs.cpp:195
 msgid "Couldn't write to file: "
 msgstr "不能写入文件:"
 
-#: ../src/FreqWindow.cpp:1017
+#: FreqWindow.cpp:1092
 msgid "Frequency (Hz)\tLevel (dB)"
-msgstr "频率 (Hz)\t水平 (dB)"
+msgstr "频率 (Hz)\t声强级 (dB)"
 
-#: ../src/FreqWindow.cpp:1023
+#: FreqWindow.cpp:1098
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
-msgstr "延迟 (秒)\t频率 (Hz)\t水平"
+msgstr "延迟 (sec)\t频率 (Hz)\t声强级"
+
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr "GStreamer %s: %s"
+
+#: GStreamerLoader.cpp:212
+msgid ""
+"GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+"GStreamer之前在喜好选项中配置正确,并且成功加载过,\n"
+"但这次,Audacity启动时加载它失败。\n"
+"你可以到'喜好选项'>'库'中重新配置一下。"
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr "GStreamer启动失败"
 
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
-msgstr ""
+msgstr "回到 [[welcome|欢迎屏幕]]"
 
-#: HelpText.cpp:60
+#: HelpText.cpp:92
 msgid "Welcome!"
-msgstr ""
+msgstr "欢迎!"
 
-#: HelpText.cpp:65
+#: HelpText.cpp:97
 msgid "Playing Audio"
-msgstr ""
+msgstr "播放音频"
 
-#: HelpText.cpp:69
+#: HelpText.cpp:101
 msgid "Recording Audio"
-msgstr ""
+msgstr "录制音频"
 
 #: HelpText.cpp:105
 msgid "Recording - Choosing the Input Device"
-msgstr ""
+msgstr "录制 - 选择输入设备"
 
 #: HelpText.cpp:109
 msgid "Recording - Choosing the Input Source"
-msgstr ""
+msgstr "录制 - 选择输入源"
 
 #: HelpText.cpp:113
 msgid "Recording - Setting the Input Level"
-msgstr ""
+msgstr "录制 - 设置输入声强级"
 
 #: HelpText.cpp:117
 msgid "Editing and greyed out Menus"
-msgstr ""
+msgstr "编辑和变灰菜单"
 
 #: HelpText.cpp:121
 msgid "Exporting an Audio File"
-msgstr ""
+msgstr "导入一个音频文件"
 
 #: HelpText.cpp:125
 msgid "Saving an Audacity Project"
-msgstr ""
+msgstr "保存Audacity工程"
 
 #: HelpText.cpp:129
 msgid "Unsupported Formats"
-msgstr ""
+msgstr "不支持的格式"
 
-#: HelpText.cpp:85
+#: HelpText.cpp:133
 msgid "Burn to CD"
-msgstr ""
+msgstr "烧录到CD"
 
-#: HelpText.cpp:89
+#: HelpText.cpp:137
 msgid "No Local Help"
-msgstr ""
+msgstr "没有本地帮助"
 
 #: HelpText.cpp:148
 msgid "</p><center><h3>Getting Started</h3></center><br>"
-msgstr ""
+msgstr "</p><center><h3>开始</h3></center><br>"
 
 #: HelpText.cpp:150
 msgid "Welcome to Audacity "
-msgstr ""
+msgstr "欢迎使用Audacity"
 
 #: HelpText.cpp:151
 msgid "Learn how to: <ul><li>[[play|play]] an existing audio file <li>[[record|record]] your voice, LP or tape <li>[[edit|edit]] sounds <li>[[save|save or open an Audacity project]] <li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  </ul></p><p>"
-msgstr ""
+msgstr "学会如何: <ul><li>[[play|播放]] 已经存在的音频文件 <li>[[record|录制]] 你的声音, LongPlay唱片 或 磁带 <li>[[edit|编辑]] 声音 <li>[[save|保存或打开Audacity工程]] <li>[[export|导出]]到mp3或其他音频文件,或 [[burncd|烧录到CD]]  </ul></p><p>"
 
 #: HelpText.cpp:159
 msgid "This screen can be viewed at any time by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. For a detailed guide to all the Audacity menus and controls, click  <i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> in PDF format.</p>"
-msgstr ""
+msgstr "该屏幕可以在任何时候通过点击 <i>帮助</i> 菜单-><i>显示欢迎信息</i>打开。 要获得关于Audacity目录和控件的详细指导,点击 <i>帮助</i> 菜单-> <i>索引</i>,或者下载我们的PDF格式的<a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">完全手册</a>。</p>"
 
 #: HelpText.cpp:172
 msgid "<p><b>Opening audio files:</b> Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. Files can be opened into a new project window with <i>File &gt; Open</i>. The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. <b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> <p><b>Playing audio:</b> Press the green Play button to start playback. Press the blue Pause button once to pause playback, and again to resume. To stop, press the yellow Stop button. Spacebar can be used to either play or stop. After stopping, playback resumes from its last starting point. To change the starting point, click in the track at your desired starting point. The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. </p><br><br>"
-msgstr ""
+msgstr "<p><b>打开音频文件:</b> 可以把文件拖到当然的工程窗口,或者点击<i>文件-> 导入-> 音频</i>。 可以点击 <i>文件 -> 打开</i>在新工程窗口中打开文件。 Audacity能播放的主要格式有  <b>AIFF, AU, FLAC, M4A</b> (仅在 Mac 上), <b>MP2/MP3, OGG Vorbis</b> 和 <b>WAV</b>。如果你的文件是其它格式的话,请点击 [[wma-proprietary|这里]]。  <b>导入CD:</b> 用 iTunes 、Windows Media Player 11 或类似的程序解成 WAV 或 AIFF 。 请查看我们的在线手册: [[wiki:How_to_import_CDs|导入CD]]。 </p><p> <p><b>播放音频:</b> 按绿色的'播放'按钮开始回放。 按蓝色的'暂停'按钮暂停回放,再按一次恢复回放。 按黄色的'停止'按钮来停止回放。 空格键可以用作播放和停止。 停止后,恢复会从上一次开始点处开始 在你希望的音轨的开始点处点击,能改变开始点。 <b>|&lt;&lt;</b> 和 <b>&gt;&gt;|</b> 相应地用来跳到音轨的开始或结束点。 </p><br><br>"
 
 #: HelpText.cpp:194
 msgid "<p><b>To record:</b> Set the recording device and input source, adjust the input level, then press the red Record button.</b></p><p> 1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> 2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) in the dropdown selector of the <i>Mixer Toolbar</i>, or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> or in <i>Device Toolbar</i>.<br> 3) [[inputlevel|Adjust input level]] using the right-hand slider on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording is essential to avoid noise or distortion. </p><p> More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> Your First Recording</a> in the <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, and our Wiki [[wiki:Recording_Tips|Recording Tips]] and [[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. </p><br><br>"
-msgstr ""
+msgstr "<p><b>录音:</b> 设置录制设备和输入源,调整输出声强级,然后按红色的录制按钮。</b></p><p> 1) 即可以在<i>’喜好选项‘的‘音频I/O’栏</i>中[[inputdevice|设置录制设备]],也可以在<i>’设备‘工具栏</i>。 音频I/O喜好选项可以选择立体声。<br> 2) 为设备(如 Microphone 或 line-in ) [[inputsource|设置输入源]]。<br>可在 <i>混音器工具栏</i> 的下拉框, 或(在有些系统上)在 <i>喜好选项‘的‘音频I/O’栏</i> 中的’录制设备‘或 <i>设备工具栏中选择</i> 。<br> 3) 使用<i>混音器工具栏</i>[[inputlevel|调整声强级]]。 在录制前做正确的调整,对于避免噪音和失真是很必要的。</p><p> 更多的帮助: \"录制\" <a href=\"http://audacity.sourceforge.net/help/faq\">常见问题</a>,我们的教程<a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> 你的第一次录制 </a> 在 <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">手册</a>和我们的 Wiki [[wiki:Recording_Tips|录制提示]] 和 [[wiki:Troubleshooting_Recordings|录制问题解答]] 页面上 </p><br><br>"
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgstr "<p>输入设备是你实际的物理声音设备。可以在 <i>’喜好选项‘的‘音频I/O’栏</i>的\"录制设备\"中选择。 在Linux 和 Windows上,'喜好选项' 在<i>编辑</i> 菜单的底部。 在 Mac 上, 它在 <i>Audacity</i> 菜单上。  你可也方便地选择 <i>'设备'工具栏</i> 的'录制设备'。设备工具栏可在 <i>‘视图’ -> ‘工具栏’...</i> 中打开。 </p><p> Audacity默认使用系统当前使用的设备, (通常是你的集成声音设备) 所以,通常不需要改变输入设备。 在Windows上,当前系统使用的设备可选为 \"Microsoft Sound Mapper\"。 如果你从外部的USB 或 火线 输入作为 USB turntable, 可在连接之后显示地根据录制设备的名字选择。 </p><p> 回到 [[record|录制音频]] <br></p>"
 
 #: HelpText.cpp:244
 msgid "<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> - <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> - <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the <i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. The source will be shown as part of the parent device (for example, <i>High Def Audio Card: Microphone</i>). If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. <br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, so this step is not necessary. If in doubt, see the documentation for your device. </i></p><p> <b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" or comparable input source. </p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p1>为你的[[inputdevice|录制设备]]选择输入源(如 Microphone 或 line-in ):<br> - <b> 在<b>Linux</b> 和Windows上 (除了Vista)</b>, 在 <i>混音器工具栏</i> 的右边的下拉框中。 <br> - <b>在 Windows Vista</b> 和 <b>Mac</b>上, 在<i>’喜好选项‘的‘音频I/O’栏</i>的 '录制设备' 中,或在 <i>设备工具栏</i> 中。源会显示为上层设备(如 <i>High Def Audio Card: Microphone</i>)的一部分。 需要的话, Mac 可以在 Apple Audio MIDI Setup中选择输入源。<br><i><b>注意:</b> 很多 USB 或 火线 录制设备没有输入选项, 所以这一步没有必要。 如果有疑问,请查看你的设备手册。 </i></p><p> <b>提示:</b> <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">录制电脑上播放的音频</a>,Linux 和 Windows 用户可以选择 \"Stereo Mix\"、 \"Wave Out\"、 \"Sum\" 或近似的设备 </p><p> 回到 [[record|录制音频]] <br></p>"
 
 #: HelpText.cpp:267
 msgid "<p>The input level must be set correctly. If the level is too low, there will be background noise. If the level is too high, there will be distortion in the loud parts. </p><p>To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] or follow these steps: <ol><li>Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> (or right-click over it) and click \"Start Monitoring\". If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". </li><li>Adjust the input slider on the <i>Mixer Toolbar</i> (by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> the right edge of the scale. If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> and check \"Software Playthrough\". </li></ol></p><p> Back to [[record|Recording Audio]] <br></p>"
-msgstr ""
+msgstr "<p>输入声强级必须正确设置。如果声强级太低,则会有背景噪音;太高,则会在响的部分失真。 </p><p>要设置声强级,可以看:[[wiki:Recording_levels|图解在线指南]]或按以下步骤:<ol><li>打开 <b>监视器</b>。双击<i>VU 指示器</i>的右侧(或在其上右击),点击 \"开始监视\"。 如果看不见指示器,点击<i>视图 -> 工具栏</i>选上\"指示器工具栏\"。 </li><li> 调整<i>混音器工具栏</i>上的输入滑块 (麦克风符号),让指示器的红条接近 <b>但不</b>但不达到标尺的右边缘。如果你听不到被监视的音频,  到<i>’喜好选项‘的‘音频I/O’栏</i>选上\"软件透播\". </li></ol></p><p> 回到[[record|录制音频]] <br></p>"
 
 #: HelpText.cpp:292
 msgid "<p>The main commands for editing audio are under the <i>Edit</i> menu (such as cut, copy and paste) and the <i>Effect</i> menu (you can do things like boost the bass, change pitch or tempo, or remove noise). </p><p> Audacity applies edits to selected areas of the audio track. To select a particular area, click in the track and drag the shaded area with the mouse. If no audio is selected, Audacity selects all the audio in the project window.</p><p> When playing or recording, the Edit and Effect menus will appear greyed out, because a moving track can't be edited. Commands can sometimes be unavailable for other reasons too. For example, you can't run effects until you have audio on the screen, and you can't paste audio until you've cut or copied it to Audacity's clipboard. </p><br><br>"
-msgstr ""
+msgstr "<p>编辑音频的主要命令在 <i>编辑</i> 菜单 (如剪切,复制和粘贴)和 <i>效果</i> 菜单下 (你可以加强低音,改变音高和拍子,或者清除噪音等)。 </p><p> Audacity 把编辑应用到音轨的选中部分。要选择一个部分,点击应该然后拖动阴影部分。如果没有音频 被选中,Audacity会选择工程窗口的所有音频。</p><p> 播放和录制时,编辑和效果目录 会变灰,因为一个移动中的音轨不能被编辑。命令有时也会因其他原因而不能使用。 如你的屏幕上没有音频时就不能使用效果,没有剪切或复制到Audacity的剪贴板时 不能粘贴。</p><br><br>"
 
 #: HelpText.cpp:311
 msgid "<p>To return later to your unfinished work in Audacity with all tracks and edits as you left them, save an Audacity project. To play your current work in other media programs or send it to others, [[export|export]] an audio file such as WAV or MP3. </p><p> <i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  a <b>_data</b> folder containing the actual audio. To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. If you save and exit more than once, an .aup.bak backup file is created, but the .aup file should always be opened if present. When your final exported file is exactly as you want, delete the project files and _data folder to save disc space. </p><p><i>File &gt; Save Project As...</i> is for saving an empty project. It also lets you save an existing Project to a <b> new</b> name. This is the only safe way to rename a project. The .aup file and _data folder should not be moved or renamed manually. </p><p>"
-msgstr ""
+msgstr "<p>如何想回到之前所有轨道和编辑都会上次离开时一样的未完成的工作,你得保存。 要在其它程序中播放或发送给其他人,你需要[[export|导出]]音频到(比如)WAV或MP3格式。 </p><p> <i>文件 -> 保存工程</i>保存一个<b>.aup</b>工程文件和一个保存音频的 <b>_data</b>目录。要打开一个保存过的工程,点击 <i>文件 -> 打开</i>然后打开.aup 文件。如果你保存和退出了不止一次,一个.aup.bak备份文件会被创建。但 .aup 文件如果有的话都应该能被打开。当你最后导出的文件符合你的希望了,你可以删除工程文件和 _data 目录以节省磁盘空间 </p><p><i>文件 -> 保存工程为...</i> 用作保存空工程,或把当前存在的工程保存到一个 <b>新</b>名字。 只是重命名工程的唯一安全的方法。.aup 文件和 _data 目录不应该手动移动或重命名。</p><p>"
 
 #: HelpText.cpp:335
 msgid "To hear your work in other media programs, export it to an audio file such as WAV or MP3 (some formats are [[wma-proprietary|unsupported]]). [[save|Saving an Audacity project]] creates a project file (and linked _data folder) containing all your edited tracks, so you can return to your work later. However, other programs can't read Audacity projects. </p><p> To export, click <i>File &gt; Export</i> then choose the file format you want to export to in the \"Save as type\" dropdown. To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. </p><p> <i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> to export multiple files at the same time, either one for each audio track, or one for each labeled area in a single track. <i>Tracks &gt; Add Label At Selection</i> lets you [[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] from an album for multiple export as separate files. </p><br><br>"
-msgstr ""
+msgstr "要在其他程序中听到你的工作成功,需要把它导出到如 WAV 或 MP3 (有些格式是[[wma-proprietary|不支持的]])。 [[save|保存Audacity 工程]]创建的一个工程文件(和相关的_data 目录) 保存了所有你编辑过的音轨, 以便你可以回来继续工作。然而其他程序不能读懂Audacity工程。 </p><p>要导出出,点击<i>文件 -> 导出</i>然后在\"保存为类型\"下拉框中选择你要导出到的文件格式。要[[burncd|录制CD]],选择 WAV 或 AIFF。要导出为 MP3, 必须安装 [[wiki:Lame_Installation|Lame编码器]]。 </p><p> <i>文件 -> 导出选中部分</i>只导出 选中的部分<i>使用文件 -> 导出多个文件</i>一次导出多个文件,可以是每个音轨一个, 也可以是单音轨中每个标记部分一个。<i>轨道 -> 给音频选段加上标签</i> 让你能从 一个专辑中[[wiki:Splitting_recordings_into_separate_tracks|分割轨道]]到多个导出文件。</p><br><br>"
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
+"<p>Audacity <b>不能</b> [[play|播放]]或[[export|导出]]文件到<b>WMA, RealAudio, Shorten (SHN)</b> 或其他有所有权的格式, 因为有许可和专利限制。在Mac上未被保护的<b>AAC</b> 格式如 <b>M4A</b>\n"
+"可被导入。其他的开放格式还不被支持,包括<b>Ogg Speex</b>和<b>Musepack</b>。被任何一种数字版权管理(DRM)保护的文件,包括大多数在线购买的,如从iTunes或Napster的,  <b>不能</b>被导入。</p><p>如果你不能导入你的文件到Audacity,如果不是 DRM保护的, 可使用iTunes 或<a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>把它转换到WAV或AIFF。如果是保护的,用许可播放它的播放器烧入CD中,然后通过iTunes或(Windows上) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a>,或Windows Media Player 11, 把CD音轨解到 WAV或AIFF格式。你也可以<ahref=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">录制</a>CD到你的电脑 <i>要导出到不支持的格式,先导出到WAV或AIFF 然后用 iTunes或<a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>转换到需要的格式。 </i></p><p>"
 
 #: HelpText.cpp:383
 msgid "<p>To burn your work to an audio CD for standalone CD players, first [[export|export]] it as WAV or AIFF. The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) and 16 bit (set in the \"Options\" button in the file export dialog). These are Audacity's default settings, so normally you will not need to change these before exporting. <p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - with a CD burning program like iTunes or Windows Media Player. For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. </p><p>"
-msgstr ""
+msgstr "<p>要导出音频到一个独立CD播放机能播放的CD,先[[export|导出]]成WAV或AIFF。 导出的文件应该是立体声44100 Hz(左下侧的\"工程采样率\"中设置)和16位(文件 导出对话框的\"选项\"中设置)。 这是Audacity的默认设置,所以通常你不需要在导出前 改变这些设置。 <p>用CD烧入程序iTunes or Windows Media Player烧入导出的 文件到 \"音频CD\"而不是\"数据 CD\" 或者\"MP3 CD\" 。更多帮助,请看在线的: [[wiki:How_to_burn_CDs|如何烧录CD]]。</p><p>"
 
 #: HelpText.cpp:403
 msgid "<p>Help for Audacity Beta is currently unfinished. For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> to download a single-page version of the manual which can be viewed in this window."
-msgstr ""
+msgstr "<p>Audacity Beta的帮助当前是未完成的。目前为止,手册的草稿<a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">在线</a>。作为另一个选择,<a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">这里</a> 能下载一个在这个窗口可以看的单页版手册。"
 
-#: ../src/HistoryWindow.cpp:44
+#: HistoryWindow.cpp:53
 msgid "Undo History"
-msgstr "撤销操作的历史记录"
+msgstr "撤销历史"
 
 #: HistoryWindow.cpp:72
 msgid "Manage History"
-msgstr ""
+msgstr "管理历史"
 
-#: ../src/HistoryWindow.cpp:58
+#: HistoryWindow.cpp:78
 msgid "Action"
 msgstr "动作"
 
 #: HistoryWindow.cpp:86
 msgid "&Undo Levels Available"
-msgstr ""
+msgstr "可撤销级(&U)"
 
 #: HistoryWindow.cpp:92
 msgid "Levels To Discard"
-msgstr ""
+msgstr "可丢弃级"
 
-#: HistoryWindow.cpp:102
+#: HistoryWindow.cpp:103
 msgid "&Discard"
-msgstr ""
+msgstr "丢弃(&D)"
 
-#: HistoryWindow.cpp:111 LabelDialog.cpp:135 LabelDialog.cpp:137
-#: effects/Amplify.cpp:214 effects/AutoDuck.cpp:529 effects/AutoDuck.cpp:531
-#: effects/ChangeLength.cpp:187 effects/ChangePitch.cpp:399
-#: effects/ChangeSpeed.cpp:397 effects/ChangeTempo.cpp:301
-#: effects/Compressor.cpp:519 effects/Effect.cpp:389 effects/Effect.cpp:391
-#: effects/Equalization.cpp:1169 effects/Leveller.cpp:269
-#: effects/Normalize.cpp:356 effects/Phaser.cpp:605 effects/Repeat.cpp:274
-#: effects/SpikeCleaner.cpp:191 effects/VST/VSTEffect.cpp:98
-#: effects/Wahwah.cpp:592 effects/ladspa/LadspaEffect.cpp:592
-#: effects/nyquist/Nyquist.cpp:829 export/Export.cpp:791
-#: prefs/FileFormatPrefs.cpp:408 prefs/PrefsDialog.cpp:164
+#: HistoryWindow.cpp:112 effects/ChangeLength.cpp:186
+#: effects/SpikeCleaner.cpp:191 export/ExportCL.cpp:397
 msgid "&OK"
-msgstr ""
+msgstr "确定(&O)"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:114
+#: Internat.cpp:191
 msgid "Unable to determine"
 msgstr "不能决定"
 
-#: ../src/import/ImportRaw.cpp:382
+#: Internat.cpp:195 import/ImportRaw.cpp:385
 msgid "bytes"
 msgstr "字节"
 
-#: Internat.cpp:182
+#: Internat.cpp:197
 msgid "KB"
-msgstr ""
+msgstr "KB"
 
-#: Internat.cpp:185
+#: Internat.cpp:200
 msgid "MB"
-msgstr ""
+msgstr "MB"
 
-#: Internat.cpp:188
+#: Internat.cpp:203
 msgid "GB"
-msgstr ""
+msgstr "GB"
+
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr "不能转换知道的文件名,因为使用Unicode字符。"
 
-#: LabelDialog.cpp:50
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr "指定新文件名:"
+
+#: LabelDialog.cpp:54
 msgid "Track"
-msgstr ""
+msgstr "音轨"
 
-#: ../src/Menus.cpp:3495
-#: ../src/SelectionBar.cpp:203
-#: ../src/SelectionBar.cpp:207
-#: ../src/SelectionBar.cpp:211
+#: LabelDialog.cpp:55 Menus.cpp:4727 Menus.cpp:4762
 msgid "Label"
 msgstr "标签"
 
-#: LabelDialog.cpp:54
+#: LabelDialog.cpp:56 TimerRecordDialog.cpp:329
 msgid "Start Time"
-msgstr ""
+msgstr "开始时间"
 
-#: LabelDialog.cpp:53
+#: LabelDialog.cpp:57 TimerRecordDialog.cpp:348
 msgid "End Time"
-msgstr ""
+msgstr "结束时间"
 
-#: LabelDialog.cpp:98 Menus.cpp:709
+#: LabelDialog.cpp:100 Menus.cpp:715
 msgid "&Edit Labels"
-msgstr ""
+msgstr "编辑标签(&E)"
 
-#: LabelDialog.cpp:113
+#: LabelDialog.cpp:115
 msgid "Press F2 or double click to edit cell contents."
-msgstr ""
+msgstr "按 F2 或双击来编辑单元格内容。"
 
-#: LabelDialog.cpp:124
+#: LabelDialog.cpp:126
 msgid "Insert &After"
-msgstr ""
+msgstr "后插入(&A)"
 
-#: LabelDialog.cpp:125
+#: LabelDialog.cpp:127
 msgid "Insert &Before"
-msgstr ""
+msgstr "前插入(&B)"
 
-#: LabelDialog.cpp:127 Menus.cpp:234
+#: LabelDialog.cpp:129
 msgid "&Import..."
-msgstr ""
+msgstr "导入...(&I)"
 
-#: LabelDialog.cpp:163
+#: LabelDialog.cpp:157
 msgid "New..."
-msgstr ""
+msgstr "新建..."
 
-#: LabelDialog.cpp:352
-msgid "You have left blank label names.  These will be\n"
+#: LabelDialog.cpp:354
+msgid ""
+"You have left blank label names.  These will be\n"
 "skipped when repopulating the Label Tracks.\n"
 "\n"
 "Would you like to go back and provide names?"
 msgstr ""
+"你把标签名留空了。\n"
+"该标签在会被忽略。\n"
+"\n"
+"你想回去给出名字吗?"
 
-#: ../src/UploadDialog.cpp:565
-#: ../src/UploadDialog.cpp:632
+#: LabelDialog.cpp:355
 msgid "Confirm"
 msgstr "确认"
 
-#: ../src/Menus.cpp:3007
+#: LabelDialog.cpp:516 Menus.cpp:4151
 msgid "Select a text file containing labels..."
-msgstr "选择包含标签的文本文件..."
+msgstr "选择一个包含标签的文本文件..."
 
-#: ../src/Menus.cpp:3011
+#: LabelDialog.cpp:520 Menus.cpp:4155
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "文本文件(*.txt)|*.txt|全部文件(*.*)|*.*"
 
-#: ../src/Menus.cpp:3023
-#: ../src/Project.cpp:1940
-#: ../src/Project.cpp:1948
-#: ../src/import/ImportMIDI.cpp:31
+#: LabelDialog.cpp:534 Menus.cpp:4167 Project.cpp:1960 Project.cpp:1968
 msgid "Could not open file: "
-msgstr "无法打开文件:"
+msgstr "无法打开文件:"
 
-#: LabelDialog.cpp:549
+#: LabelDialog.cpp:560
 msgid "No labels to export."
-msgstr ""
+msgstr "没有可导出的标签"
 
-#: ../src/Menus.cpp:1805
+#: LabelDialog.cpp:566 Menus.cpp:2530
 msgid "Export Labels As:"
-msgstr "将标签导出为:"
+msgstr "将标签导出为:"
 
-#: ../src/Menus.cpp:1803
+#: LabelDialog.cpp:568 Menus.cpp:2528
 msgid "labels.txt"
 msgstr "labels.txt"
 
-#: LabelDialog.cpp:690
-#, fuzzy
+#: LabelDialog.cpp:703
 msgid "New Label Track"
-msgstr "新建标签轨(&b)"
+msgstr "新建标签轨"
 
-#: LabelDialog.cpp:691
+#: LabelDialog.cpp:704
 msgid "Enter track name"
-msgstr ""
+msgstr "输入标签轨名"
 
-#: LabelDialog.cpp:692 LabelDialog.h:50 LabelTrack.cpp:87 Menus.cpp:645
-#, fuzzy
+#: LabelDialog.cpp:705 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:634
 msgid "&Label Track"
-msgstr "标签轨"
+msgstr "标签轨(&L)"
 
-#: ../src/LangChoice.cpp:47
+#: LangChoice.cpp:57
 msgid "Audacity First Run"
 msgstr "Audacity第一次运行"
 
-#: ../src/LangChoice.cpp:74
+#: LangChoice.cpp:89
 msgid "Choose Language for Audacity to use:"
 msgstr "选择Audacity使用的语言:"
 
-#: ../src/Legacy.cpp:338
+#: Legacy.cpp:356
 #, c-format
-msgid "Converted a 1.0 project file to the new format.\n"
+msgid ""
+"Converted a 1.0 project file to the new format.\n"
 "The old file has been saved as '%s'"
-msgstr "将Audacity 1.0格式的工程文件转换成新格式。\n"
+msgstr ""
+"已将Audacity 1.0格式的工程文件转换成新格式。\n"
 "原文件将被存为'%s'。"
 
-#: ../src/Legacy.cpp:339
+#: Legacy.cpp:357
 msgid "Opening Audacity Project"
 msgstr "打开Audacity工程"
 
-#: ../src/Menus.cpp:148
+#: Menus.cpp:195
 msgid "&File"
 msgstr "文件(&F)"
 
-#: ../src/Menus.cpp:150
-msgid "&New\tCtrl+N"
-msgstr "新建(&N)\tCtrl+N"
-
-#: ../src/Menus.cpp:152
-msgid "&Open...\tCtrl+O"
-msgstr "打开...(&O)\tCtrl+O"
+#: Menus.cpp:204
+msgid "&Close"
+msgstr "关闭(&C)"
 
-#: ../src/Menus.cpp:159
-msgid "&Close\tCtrl+W"
-msgstr "关闭(&C)\tCtrl+W"
+#: Menus.cpp:207
+msgid "&Save Project"
+msgstr "保存工程(&S)"
 
-#: ../src/Menus.cpp:162
-msgid "&Save Project\tCtrl+S"
-msgstr "保存工程(&S)\tCtrl+S"
-
-#: ../src/Menus.cpp:166
+#: Menus.cpp:211 Project.cpp:2943
 msgid "Save Project &As..."
 msgstr "工程另存为...(&A)"
 
-#: Menus.cpp:212
+#: Menus.cpp:213
 msgid "Save Compressed Copy of Project..."
-msgstr ""
+msgstr "保存工程的压缩拷贝..."
 
-#: Menus.cpp:223
+#: Menus.cpp:217
 msgid "Chec&k Dependencies..."
-msgstr ""
+msgstr "检查依赖...(&K)"
 
-#: Menus.cpp:185
+#: Menus.cpp:223
 msgid "Open Me&tadata Editor..."
-msgstr ""
+msgstr "打开元信息编辑器...(&T)"
 
-#: import/ImportRaw.cpp:447
+#: Menus.cpp:230 import/ImportRaw.cpp:411
 msgid "&Import"
-msgstr ""
+msgstr "导入(&I)"
 
-#: Menus.cpp:236
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr ""
+#: Menus.cpp:232
+msgid "&Audio..."
+msgstr "音频...(&A)"
 
-#: Menus.cpp:237
+#: Menus.cpp:233
 msgid "&Labels..."
-msgstr ""
+msgstr "标签...(&L)"
 
-#: Menus.cpp:238
+#: Menus.cpp:235
 msgid "&MIDI..."
-msgstr ""
+msgstr "&MIDI..."
 
-#: Menus.cpp:239
+#: Menus.cpp:237
 msgid "&Raw Data..."
-msgstr ""
+msgstr "裸数据...(&R)"
 
-#: Menus.cpp:208 Menus.cpp:237
+#: Menus.cpp:248 Menus.cpp:283
 msgid "Expo&rt Selection..."
-msgstr ""
+msgstr "导出选中部分...(&R)"
 
-#: ../src/Menus.cpp:189
+#: Menus.cpp:255
 msgid "Export &Labels..."
-msgstr "导出标签... (&L)"
+msgstr "导出标签...(&L)"
 
-#: ../src/Menus.cpp:190
+#: Menus.cpp:256
 msgid "Export &Multiple..."
-msgstr "导出多个文件... (&M)"
+msgstr "导出多个文件...(&M)"
 
-#: Menus.cpp:257
+#: Menus.cpp:258
 msgid "Export MIDI..."
-msgstr ""
+msgstr "导出MIDI..."
 
-#: Menus.cpp:290
-msgid "CleanSpeech C&hain..."
-msgstr ""
+#: Menus.cpp:304
+msgid "Appl&y Chain..."
+msgstr "应用链...(&Y)"
 
-#: Menus.cpp:340 Menus.cpp:354
+#: Menus.cpp:292 Menus.cpp:306
 msgid "Edit C&hains..."
-msgstr ""
+msgstr "编辑链...(&H)"
 
-#: Menus.cpp:292
+#: Menus.cpp:293
 msgid "Export CleanSpeech &Presets..."
-msgstr ""
+msgstr "导出'清晰话音'预置...(&P)"
 
-#: Menus.cpp:293
+#: Menus.cpp:294
 msgid "I&mport CleanSpeech Presets..."
-msgstr ""
+msgstr "导入'清晰话音'预置...(&M)"
 
-#: Menus.cpp:352
-msgid "Appl&y Chain..."
-msgstr ""
-
-#: ../src/Menus.cpp:228
+#: Menus.cpp:311
 msgid "&Upload File..."
-msgstr "上载文件(&U)..."
+msgstr "上传文件...(&U)"
 
-#: Menus.cpp:363
-#, fuzzy
+#: Menus.cpp:317
 msgid "Pa&ge Setup..."
-msgstr "页面设置..."
+msgstr "页面设置...(&G)"
 
-#: Menus.cpp:364
+#: Menus.cpp:318
 msgid "&Print..."
-msgstr ""
+msgstr "打印...(&P)"
 
-#: Menus.cpp:382 Menus.cpp:385
-msgid "E&xit\tCtrl+Q"
-msgstr ""
+#: Menus.cpp:331
+msgid "E&xit"
+msgstr "退出(&X)"
 
-#: ../src/Menus.cpp:267
+#: Menus.cpp:339 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "编辑(&E)"
 
-#: ../src/Menus.cpp:271
-msgid "&Undo\tCtrl+Z"
-msgstr "取消(&U)\tCtrl+Z"
+#: Menus.cpp:343
+msgid "&Undo"
+msgstr "撤消(&U)"
 
-#: ../src/Menus.cpp:279
+#: Menus.cpp:351 prefs/KeyConfigPrefs.cpp:384 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
-msgstr "恢复(&R)"
-
-#: ../src/Menus.cpp:292
-msgid "Cu&t\tCtrl+X"
-msgstr "剪切(&t)\tCtrl+X"
+msgstr "重做(&R)"
 
-#: Menus.cpp:420
-#, fuzzy
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "分割剪切\tCtrl+Alt+X"
+#: Menus.cpp:364
+msgid "Cu&t"
+msgstr "剪切(&t)"
 
-#: ../src/Menus.cpp:294
-msgid "&Copy\tCtrl+C"
-msgstr "拷贝(&C)\tCtrl+C"
+#: Menus.cpp:368
+msgid "Spl&it Cut"
+msgstr "分割剪切(&I)"
 
-#: ../src/Menus.cpp:295
-msgid "&Paste\tCtrl+V"
-msgstr "粘贴(&P)\tCtrl+V"
+#: Menus.cpp:369
+msgid "&Copy"
+msgstr "复制(&C)"
 
-#: Menus.cpp:426
-msgid "Tri&m\tCtrl+T"
-msgstr ""
+#: Menus.cpp:373
+msgid "&Paste"
+msgstr "粘贴(&P)"
 
-#: ../src/Menus.cpp:301
-msgid "&Delete\tCtrl+K"
-msgstr "删除(&D)\tCtrl+K"
+#: Menus.cpp:377
+msgid "Tri&m"
+msgstr "裁剪(&M)"
 
-#: Menus.cpp:429
-#, fuzzy
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "分割删除\tCtrl+Alt+K"
+#: Menus.cpp:379
+msgid "&Delete"
+msgstr "删除(&D)"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
-msgstr ""
+msgid "Split D&elete"
+msgstr "分割删除(&E)"
 
-#: Menus.cpp:432
-msgid "Sp&lit\tCtrl+I"
-msgstr ""
+#: Menus.cpp:381
+msgid "Silence Audi&o"
+msgstr "静音(&O)"
 
-#: Menus.cpp:342
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr ""
+#: Menus.cpp:383
+msgid "Sp&lit"
+msgstr "分割(&L)"
 
-#: ../src/Menus.cpp:310
-msgid "&Join\tCtrl+J"
-msgstr "联结(&J)\tCtrl+J"
+#: Menus.cpp:388
+msgid "Split Ne&w"
+msgstr "分割新建(&W)"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
-msgstr ""
+msgid "&Join"
+msgstr "连接(&J)"
 
-#: Menus.cpp:445
-msgid "Duplic&ate\tCtrl+D"
-msgstr ""
+#: Menus.cpp:394
+msgid "Detac&h at Silences"
+msgstr "静音处分离(&H)"
+
+#: Menus.cpp:395
+msgid "Duplic&ate"
+msgstr "副本(&A)"
 
-#: Menus.cpp:400 Menus.cpp:639
+#: Menus.cpp:401 Menus.cpp:641
 msgid "Stereo Trac&k to Mono"
-msgstr ""
+msgstr "立体声音轨到单声(&K)"
 
-#: Menus.cpp:407
+#: Menus.cpp:408
 msgid "La&beled Regions"
-msgstr ""
+msgstr "已标签的选段(&B)"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:460
-msgid "&Cut\tAlt+X"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:465
-msgid "&Split Cut\tShift+Alt+X"
-msgstr ""
+#: Menus.cpp:410
+msgid "&Cut"
+msgstr "剪切(&C)"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:470
-msgid "Co&py\tShift+Alt+C"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:476
-msgid "&Delete\tAlt+K"
-msgstr ""
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:481
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr ""
+#: Menus.cpp:415
+msgid "&Split Cut"
+msgstr "分割剪切(&S)"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:486
-msgid "Sile&nce\tAlt+L"
-msgstr ""
+#: Menus.cpp:420
+msgid "Co&py"
+msgstr "复制(&P)"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:492
-msgid "Spli&t\tAlt+I"
-msgstr ""
+#: Menus.cpp:431
+msgid "Sp&lit Delete"
+msgstr "分割删除(&L)"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:497
-msgid "&Join\tAlt+J"
-msgstr ""
+#: Menus.cpp:436
+msgid "Sile&nce"
+msgstr "静音(&N)"
 
 #. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+#: Menus.cpp:442
+msgid "Spli&t"
+msgstr "分割(&T)"
 
-#: Menus.cpp:456
+#: Menus.cpp:457
 msgid "&Select"
-msgstr ""
+msgstr "选择(&S)"
 
-#: ../src/Menus.cpp:328
-msgid "&All\tCtrl+A"
-msgstr "全部(&A)\tCtrl+A"
+#: Menus.cpp:458
+msgid "&All"
+msgstr "全部(&A)"
 
-#: Menus.cpp:415
-msgid "&None\tCtrl+Shift+A"
-msgstr ""
-
-#: Menus.cpp:462
-#, fuzzy
-msgid "&Left at Playback Position\t["
-msgstr "在重放位置左端\t["
+#: Menus.cpp:459
+msgid "&None"
+msgstr "全不(&N)"
 
 #: Menus.cpp:463
-#, fuzzy
-msgid "&Right at Playback Position\t]"
-msgstr "在重放位置右端\t]"
+msgid "&Left at Playback Position"
+msgstr "在回放位置左端(&L)"
 
-#: Menus.cpp:467
-msgid "Track &Start to Cursor\tShift+J"
-msgstr ""
+#: Menus.cpp:464
+msgid "&Right at Playback Position"
+msgstr "在回放位置右端(&R)"
 
 #: Menus.cpp:468
-msgid "Cursor to Track &End\tShift+K"
-msgstr ""
+msgid "Track &Start to Cursor"
+msgstr "从光标处开始(&S)"
 
-#: Menus.cpp:525
-#, fuzzy
-msgid "Find &Zero Crossings\tZ"
-msgstr "寻找过零点\tZ"
+#: Menus.cpp:469
+msgid "Cursor to Track &End"
+msgstr "光标移至音轨末(&E)"
 
-#: Menus.cpp:476
-msgid "Mo&ve Cursor"
-msgstr ""
+#: Menus.cpp:475
+msgid "Find &Zero Crossings"
+msgstr "寻找过0dB点(&Z)"
 
 #: Menus.cpp:478
-#, fuzzy
+msgid "Mo&ve Cursor"
+msgstr "移动光标(&V)"
+
+#: Menus.cpp:480
 msgid "to Selection Star&t"
-msgstr "到选段的起始点"
+msgstr "到选段的起始点(&T)"
 
-#: Menus.cpp:479
-#, fuzzy
+#: Menus.cpp:481
 msgid "to Selection En&d"
-msgstr "到选段的结束点"
+msgstr "到选段的结束点(&D)"
 
-#: Menus.cpp:483
-msgid "to Track &Start\tJ"
-msgstr ""
+#: Menus.cpp:485
+msgid "to Track &Start"
+msgstr "到音轨起始点(&S)"
 
-#: Menus.cpp:484
-msgid "to Track &End\tK"
-msgstr ""
+#: Menus.cpp:486
+msgid "to Track &End"
+msgstr "到音轨结束点(&E)"
 
-#: Menus.cpp:491
+#: Menus.cpp:493
 msgid "Re&gion Save"
-msgstr ""
+msgstr "保存选段(&G)"
 
-#: Menus.cpp:492
+#: Menus.cpp:494
 msgid "Regio&n Restore"
-msgstr ""
+msgstr "恢复选段(&N)"
 
-#: Menus.cpp:503
+#: Menus.cpp:505
 msgid "Pla&y Region"
-msgstr ""
+msgstr "播放选段(&Y)"
 
-#: Menus.cpp:504
+#: Menus.cpp:506
 msgid "&Lock"
-msgstr ""
+msgstr "锁住(&L)"
 
-#: Menus.cpp:505
+#: Menus.cpp:507
 msgid "&Unlock"
-msgstr ""
-
-#: ../src/Menus.cpp:379
-msgid "Turn Snap-To On"
-msgstr "打开吸附功能"
-
-#: ../src/Menus.cpp:380
-msgid "Turn Snap-To Off"
-msgstr "关闭吸附功能"
-
-#: ../src/Menus.cpp:381
-msgid "Turn Grid Snap On"
-msgstr "打开网格吸附功能"
+msgstr "解锁(&U)"
 
-#: ../src/Menus.cpp:382
-msgid "Turn Grid Snap Off"
-msgstr "关闭网格吸附功能"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
-msgstr ""
+#: Menus.cpp:521
+msgid "Pre&ferences..."
+msgstr "喜好选项...(&F)"
 
-#: ../src/Menus.cpp:401
+#: Menus.cpp:535
 msgid "&View"
-msgstr "查看(&V)"
+msgstr "视图(&V)"
 
-#: ../src/Menus.cpp:403
-msgid "Zoom &In\tCtrl+1"
-msgstr "放大 (&I)\tCtrl+1"
+#: Menus.cpp:537
+msgid "Zoom &In"
+msgstr "放大(&I)"
 
-#: ../src/Menus.cpp:406
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "缩放到正常大小 (&N)\tCtrl+2"
+#: Menus.cpp:540
+msgid "Zoom &Normal"
+msgstr "缩放到正常大小(&N)"
 
-#: ../src/Menus.cpp:407
-msgid "Zoom &Out\tCtrl+3"
-msgstr "缩小 (&O)\tCtrl+3"
+#: Menus.cpp:541
+msgid "Zoom &Out"
+msgstr "缩小(&O)"
 
-#: ../src/Menus.cpp:410
-msgid "&Fit in Window\tCtrl+F"
-msgstr "适应窗口(&F)\tCtrl+F"
+#: Menus.cpp:544
+msgid "&Fit in Window"
+msgstr "适应窗口(&F)"
 
-#: ../src/Menus.cpp:411
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "垂直方向填充显示(&V)\tCtrl+Shift+F"
+#: Menus.cpp:545
+msgid "Fit &Vertically"
+msgstr "垂直向适应(&V)"
 
-#: ../src/Menus.cpp:412
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "缩放至选段大小(&Z)\tCtrl+E"
+#: Menus.cpp:546
+msgid "&Zoom to Selection"
+msgstr "缩放至选段大小(&Z)"
 
-#: ../src/Menus.cpp:415
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "叠起所有轨道 (&C)\tCtrl+Shift+C"
+#: Menus.cpp:549
+msgid "&Collapse All Tracks"
+msgstr "叠起所有轨道(&C)"
 
-#: ../src/Menus.cpp:416
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "展开所有轨道 (&x)\tCtrl+Shift+X"
+#: Menus.cpp:550
+msgid "E&xpand All Tracks"
+msgstr "展开所有轨道(&X)"
 
-#: Menus.cpp:551
+#: Menus.cpp:553
 msgid "&Show Clipping"
-msgstr ""
+msgstr "显示破音(&S)"
 
-#: ../src/Menus.cpp:424
+#: Menus.cpp:562
 msgid "&History..."
 msgstr "历史记录(&H)..."
 
-#: Menus.cpp:566
+#: Menus.cpp:568
 msgid "&Toolbars"
-msgstr ""
+msgstr "工具栏(&T)"
 
-#: Menus.cpp:567
+#: Menus.cpp:569
 msgid "&Control Toolbar"
-msgstr ""
+msgstr "控制工具栏(&C)"
 
-#: Menus.cpp:568
+#: Menus.cpp:570
 msgid "&Device Toolbar"
-msgstr ""
+msgstr "设备工具栏(&D)"
 
-#: Menus.cpp:569
+#: Menus.cpp:571
 msgid "&Edit Toolbar"
-msgstr ""
+msgstr "编辑工具栏(&E)"
 
-#: Menus.cpp:570
+#: Menus.cpp:572
 msgid "&Meter Toolbar"
-msgstr ""
+msgstr "指示器工具栏(&M)"
 
-#: Menus.cpp:571
+#: Menus.cpp:573
 msgid "Mi&xer Toolbar"
-msgstr ""
+msgstr "混音器工具栏(&X)"
 
-#: Menus.cpp:572
+#: Menus.cpp:574
 msgid "&Selection Toolbar"
-msgstr ""
+msgstr "选择工具栏(&S)"
 
-#: Menus.cpp:573
+#: Menus.cpp:575
 msgid "T&ools Toolbar"
-msgstr ""
+msgstr "工具工具栏(&O)"
 
-#: Menus.cpp:574
+#: Menus.cpp:576
 msgid "Transcri&ption Toolbar"
-msgstr ""
+msgstr "转录工具栏(&P)"
 
-#: Menus.cpp:576
+#: Menus.cpp:578
 msgid "&Reset Toolbars"
-msgstr ""
+msgstr "重设工具栏(&R)"
 
-#: Menus.cpp:578
+#: Menus.cpp:580
 msgid "!Simplified View"
-msgstr ""
+msgstr "简化视图"
 
 #. i18n-hint: 'Transport' is the name given to the set of controls that
 #. play, record, pause etc.
-#: Menus.cpp:587
+#: Menus.cpp:589
 msgid "T&ransport"
-msgstr ""
+msgstr "转录(&R)"
 
 #: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+msgid "Play"
+msgstr "播放"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
-msgstr ""
+msgid "&Loop Play"
+msgstr "重复播放(&L)"
 
-#: Menus.cpp:593
-msgid "&Pause\tP"
-msgstr ""
+#: Menus.cpp:595
+msgid "&Pause"
+msgstr "暂停(&P)"
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
-msgstr ""
-
-#: ../src/Menus.cpp:645
-msgid "Skip to Start\tHome"
-msgstr "跳至开始位置\tHome"
+msgid "&Stop"
+msgstr "停止(&S)"
 
-#: ../src/Menus.cpp:646
-msgid "Skip to End\tEnd"
-msgstr "跳至结束位置\tEnd"
+#: Menus.cpp:597 Menus.cpp:1012
+msgid "Skip to Start"
+msgstr "跳至开始位置"
 
-#: Menus.cpp:600
-msgid "&Record\tR"
-msgstr ""
+#: Menus.cpp:599 Menus.cpp:1013
+msgid "Skip to End"
+msgstr "跳至结束位置"
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
-msgstr ""
+msgid "&Record"
+msgstr "录制(&R)"
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
-msgstr ""
+msgid "&Timer Record..."
+msgstr "定时录制(&T)..."
 
-#: Menus.cpp:607
-msgid "Overdub (on/off)"
-msgstr ""
+#: Menus.cpp:606
+msgid "Append Record"
+msgstr "追加录制"
 
 #: Menus.cpp:609
+msgid "Overdub (on/off)"
+msgstr "重叠录制(开/关)"
+
+#: Menus.cpp:611
 msgid "Software Playthrough (on/off)"
-msgstr ""
+msgstr "软件透播(开/关)"
 
-#: Menus.cpp:612
+#: Menus.cpp:614
 msgid "Sound Activated Recording (on/off)"
-msgstr ""
+msgstr "声音启动录制(开/关)"
 
-#: Menus.cpp:614
+#: Menus.cpp:616
 msgid "Sound Activation Level..."
-msgstr ""
+msgstr "声音启动声强级..."
 
-#: Menus.cpp:635
+#: Menus.cpp:624
 msgid "&Tracks"
-msgstr ""
+msgstr "轨道(&T)"
 
-#: Menus.cpp:629
+#: Menus.cpp:631
 msgid "Add &New"
-msgstr ""
+msgstr "增加新轨道(&N)"
 
-#: Menus.cpp:643
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr ""
+#: Menus.cpp:632
+msgid "&Audio Track"
+msgstr "音轨(&A)"
 
-#: Menus.cpp:644
+#: Menus.cpp:633
 msgid "&Stereo Track"
-msgstr ""
+msgstr "立体声轨(&S)"
 
-#: Menus.cpp:646 TimeTrack.cpp:44
-#, fuzzy
+#: Menus.cpp:635 TimeTrack.cpp:44
 msgid "&Time Track"
-msgstr "时间轨"
+msgstr "时间轨(&T)"
 
-#: Menus.cpp:643
+#: Menus.cpp:645
 msgid "Mi&x and Render"
-msgstr ""
+msgstr "混音并渲染(&X)"
 
-#: Menus.cpp:564
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr ""
+#: Menus.cpp:649
+msgid "Mix and Render to New Track"
+msgstr "混音并渲染到新轨"
 
-#: Menus.cpp:662
+#: Menus.cpp:653
 msgid "&Resample..."
-msgstr ""
+msgstr "重采样(&R)"
 
-#: ../src/Menus.cpp:461
+#: Menus.cpp:663
 msgid "Remo&ve Tracks"
-msgstr "删除轨道(&v)"
+msgstr "删除轨道(&V)"
 
-#: Menus.cpp:667
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr ""
+#: Menus.cpp:669
+msgid "&Mute All Tracks"
+msgstr "所有轨道静音(&M)"
 
-#: Menus.cpp:668
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr ""
+#: Menus.cpp:670
+msgid "&UnMute All Tracks"
+msgstr "所有轨道取消静音(&U)"
 
-#: ../src/Menus.cpp:468
+#: Menus.cpp:674
 msgid "Align with &Zero"
-msgstr "和零座标对齐(&Z)"
+msgstr "和0座标对齐(&Z)"
 
-#: ../src/Menus.cpp:469
+#: Menus.cpp:675
 msgid "Align with &Cursor"
-msgstr "和游标对齐(&C)"
+msgstr "和光标对齐(&C)"
 
-#: ../src/Menus.cpp:470
+#: Menus.cpp:676
 msgid "Align with Selection &Start"
-msgstr "和选段的头部对齐(&S)"
+msgstr "和选段的开始点对齐(&S)"
 
-#: ../src/Menus.cpp:471
+#: Menus.cpp:677
 msgid "Align with Selection &End"
-msgstr "和选段的尾部对齐(&E)"
+msgstr "和选段的结束点对齐(&E)"
 
-#: Menus.cpp:676
-#, fuzzy
+#: Menus.cpp:678
 msgid "Align End with Cu&rsor"
-msgstr "结束点和游标对齐"
+msgstr "结束点和光标对齐(&R)"
 
-#: Menus.cpp:677
-#, fuzzy
+#: Menus.cpp:679
 msgid "Align End with Selection Star&t"
-msgstr "结束点和选段的头部对齐"
+msgstr "结束点和选段的头部对齐(&T)"
 
-#: Menus.cpp:678
-#, fuzzy
+#: Menus.cpp:680
 msgid "Align End with Selection En&d"
-msgstr "结束点和选段的尾部对齐"
+msgstr "结束点和选段的尾部对齐(&D)"
 
-#: Menus.cpp:679
-#, fuzzy
+#: Menus.cpp:681
 msgid "Align Tracks To&gether"
-msgstr "将音轨对齐在一起"
+msgstr "将音轨对齐在一起(&G)"
 
-#: Menus.cpp:681
+#: Menus.cpp:683
 msgid "&Align Tracks"
-msgstr ""
+msgstr "对齐轨道...(&A)"
 
-#: Menus.cpp:690
+#: Menus.cpp:692
 msgid "Ali&gn and Move Cursor"
-msgstr ""
+msgstr "对齐并移动光标(&G)"
 
-#: Menus.cpp:697
+#: Menus.cpp:699
 msgid "Synchronize MIDI with Audio"
-msgstr ""
+msgstr "MIDI与音频同步"
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
-msgstr ""
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
+msgstr "联系音轨和标签轨(&L)"
 
-#: Menus.cpp:705
-#, fuzzy
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "给音频选段加上标题\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr "为选段添加标签(&S)"
 
-#: Menus.cpp:706
-#, fuzzy
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "在重放位置加上标题\tCtrl+M"
+#: Menus.cpp:712
+msgid "Add Label At &Playback Position"
+msgstr "在回放位置加上标题(&P)"
 
-#: Menus.cpp:716
+#: Menus.cpp:718
 msgid "S&ort tracks"
-msgstr ""
+msgstr "轨道排序(&O)"
 
-#: Menus.cpp:717
+#: Menus.cpp:719
 msgid "by &Start time"
-msgstr ""
+msgstr "按开始时间(&S)"
 
-#: Menus.cpp:719
+#: Menus.cpp:721
 msgid "by &Name"
-msgstr ""
+msgstr "按名字(&N)"
 
-#: ../src/Menus.cpp:504
+#: Menus.cpp:732
 msgid "&Generate"
-msgstr "制作(&G)"
+msgstr "生成(&G)"
 
-#: Menus.cpp:776 Menus.cpp:860 Menus.cpp:922
+#: Menus.cpp:778 Menus.cpp:862 Menus.cpp:924
 msgid "Unsorted"
-msgstr ""
+msgstr "未排序的"
 
-#: ../src/Menus.cpp:527
+#: Menus.cpp:797
 msgid "Effe&ct"
-msgstr "效果(&c)"
-
-#: ../src/Menus.cpp:531
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "重复最近一次的效果操作\tCtrl+R"
+msgstr "效果(&C)"
 
-#: ../src/Menus.cpp:563
+#: Menus.cpp:879
 msgid "&Analyze"
 msgstr "分析(&A)"
 
-#: Menus.cpp:692
-#, fuzzy
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr "对照..."
+
+#: Menus.cpp:881
 msgid "Plot Spectrum..."
-msgstr "频谱图... (&P)"
+msgstr "绘制频谱图..."
 
-#: ../src/Menus.cpp:598
-#: ../src/Menus.cpp:601
+#: Menus.cpp:949 Menus.cpp:952
 msgid "&Help"
 msgstr "帮助(&H)"
 
-#: ../src/Menus.cpp:606
+#: Menus.cpp:955
 msgid "&About Audacity CleanSpeech..."
-msgstr "关于Audacity CleanSpeech[清晰话音](&A)..."
+msgstr "关于Audacity 清晰话音(&A)..."
 
-#: Menus.cpp:735
+#: Menus.cpp:959
 msgid "&Show Welcome Message..."
-msgstr ""
+msgstr "显示欢迎信息...(&S)"
 
-#: Menus.cpp:736
-msgid "&Index..."
-msgstr ""
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr "帮助...(&H)"
 
-#: Menus.cpp:959
+#: Menus.cpp:961
 msgid "Show &Log..."
-msgstr ""
+msgstr "显示日志...(&L)"
 
-#: Menus.cpp:744
+#: Menus.cpp:969
 msgid "&Screenshot Tools..."
-msgstr ""
+msgstr "截屏工具...(&S)"
 
-#: ../src/Menus.cpp:614
+#: Menus.cpp:972
 msgid "&Run Benchmark..."
-msgstr "性能评测...(&R)"
+msgstr "运行性能测试...(&R)"
 
-#: Menus.cpp:749
+#: Menus.cpp:974
 msgid "&Audio Device Info..."
-msgstr ""
+msgstr "音频设备信息...(&A)"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
-msgstr ""
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
+msgstr "从工具栏到轨道后移"
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
-msgstr ""
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
+msgstr "从轨道到工具栏前移"
 
-#: ../src/Menus.cpp:625
-msgid "Selection Tool\tF1"
-msgstr "选择工具\tF1"
+#: Menus.cpp:987
+msgid "Selection Tool"
+msgstr "选择工具"
 
-#: ../src/Menus.cpp:626
-msgid "Envelope Tool\tF2"
-msgstr "包络线工具\tF2"
+#: Menus.cpp:988
+msgid "Envelope Tool"
+msgstr "包络工具"
 
-#: ../src/Menus.cpp:627
-msgid "Draw Tool\tF3"
-msgstr "画图工具\tF3"
+#: Menus.cpp:989
+msgid "Draw Tool"
+msgstr "绘制工具"
 
-#: ../src/Menus.cpp:628
-msgid "Zoom Tool\tF4"
-msgstr "缩放工具\tF4"
+#: Menus.cpp:990
+msgid "Zoom Tool"
+msgstr "缩放工具"
 
-#: ../src/Menus.cpp:629
-msgid "Time Shift Tool\tF5"
-msgstr "时间移动工具\tF5"
+#: Menus.cpp:991
+msgid "Time Shift Tool"
+msgstr "时间移动工具"
 
-#: ../src/Menus.cpp:630
-msgid "Multi Tool\tF6"
-msgstr "多选工具\tF6"
+#: Menus.cpp:992
+msgid "Multi Tool"
+msgstr "多功能工具"
 
-#: ../src/Menus.cpp:632
-msgid "Next Tool\tD"
-msgstr "\"下一个(Next)\"工具\tD"
+#: Menus.cpp:994
+msgid "Next Tool"
+msgstr "下一个工具"
 
-#: ../src/Menus.cpp:633
-msgid "Previous Tool\tA"
-msgstr "\"上一个(Previous)\"工具\tA"
+#: Menus.cpp:995
+msgid "Previous Tool"
+msgstr "上一个工具"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
-msgstr ""
+msgid "Play/Stop"
+msgstr "播放/停止"
 
-#: ../src/Menus.cpp:636
-msgid "Stop\tS"
-msgstr "停止\tS"
+#: Menus.cpp:1003
+msgid "Play/Stop and Set Cursor"
+msgstr "播放/停止并设置光标"
 
-#: ../src/Menus.cpp:637
-msgid "Pause\tP"
-msgstr "停止\tP"
+#: Menus.cpp:1006
+msgid "Play One Second"
+msgstr "播放1秒"
 
-#: ../src/Menus.cpp:638
-msgid "Record\tR"
-msgstr "录音\tR"
+#: Menus.cpp:1007
+msgid "Play To Selection"
+msgstr "播放至选段"
 
-#: Menus.cpp:999
-msgid "Record Append\tShift+R"
-msgstr ""
+#: Menus.cpp:1010
+msgid "Play Cut Preview"
+msgstr "播放剪切预览"
 
-#: Menus.cpp:1001
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr ""
+#: Menus.cpp:1015
+msgid "Selection to Start"
+msgstr "选择至起点"
 
-#: ../src/Menus.cpp:640
-msgid "Play One Second\t1"
-msgstr "播放1秒\t1"
+#: Menus.cpp:1016
+msgid "Selection to End"
+msgstr "选择至终点"
 
-#: ../src/Menus.cpp:641
-msgid "Play To Selection\tB"
-msgstr "播放至选段\tB"
+#: Menus.cpp:1018
+msgid "DeleteKey"
+msgstr "删除键"
 
-#: ../src/Menus.cpp:642
-msgid "Play Looped\tL"
-msgstr "循环播放\tL"
+#: Menus.cpp:1023
+msgid "DeleteKey2"
+msgstr "删除键2"
 
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr "回放时稍向左定位"
 
-#: Menus.cpp:873
-msgid "Play Cut Preview\tC"
-msgstr ""
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr "回放时稍向右定位"
 
-#: ../src/Menus.cpp:648
-msgid "Selection to Start\tShift+Home"
-msgstr "选择至起点\tShift+Home"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr "回放时向左定位"
 
-#: ../src/Menus.cpp:649
-msgid "Selection to End\tShift+End"
-msgstr "选择至终点\tShift+End"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr "回放时稍右左定位"
 
-#: ../src/Menus.cpp:651
-msgid "DeleteKey\tBackspace"
-msgstr "删除键\tBackspace"
+#: Menus.cpp:1036
+msgid "Move Focus to Previous Track"
+msgstr "移动焦点到上一轨"
 
-#: ../src/Menus.cpp:656
-msgid "DeleteKey2\tDelete"
-msgstr "删除键2\tDelete"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr "移动焦点到上一轨并选中"
 
-#: Menus.cpp:892
-msgid "Seek left short period during playback\tLeft"
-msgstr ""
+#: Menus.cpp:1038
+msgid "Move Focus to Next Track"
+msgstr "移动焦点到下一轨"
 
-#: Menus.cpp:893
-msgid "Seek right short period during playback\tRight"
-msgstr ""
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr "移动焦点到下一轨并选中"
 
-#: Menus.cpp:894
-msgid "Seek left long period during playback\tShift+Left"
-msgstr ""
+#: Menus.cpp:1040
+msgid "Toggle Focused Track"
+msgstr "选择/取消 中轨道"
 
-#: Menus.cpp:895
-msgid "Seek right long period during playback\tShift+Right"
-msgstr ""
+#: Menus.cpp:1044
+msgid "Cursor Left"
+msgstr "光标左移"
 
-#: Menus.cpp:899
-msgid "Move Focus to Previous Track\tUp"
-msgstr ""
+#: Menus.cpp:1045
+msgid "Cursor Right"
+msgstr "光标右移"
 
-#: Menus.cpp:900
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr ""
+#: Menus.cpp:1046
+msgid "Cursor Short Jump Left"
+msgstr "光标小左跳"
 
-#: Menus.cpp:901
-msgid "Move Focus to Next Track\tDown"
-msgstr ""
+#: Menus.cpp:1047
+msgid "Cursor Short Jump Right"
+msgstr "光标小右跳"
 
-#: Menus.cpp:902
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr ""
+#: Menus.cpp:1048
+msgid "Cursor Long Jump Left"
+msgstr "光标大左跳"
 
-#: Menus.cpp:903
-msgid "Toggle Focused Track\tReturn"
-msgstr ""
+#: Menus.cpp:1049
+msgid "Cursor Long Jump Right"
+msgstr "光标大右跳"
 
-#: Menus.cpp:904
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr ""
+#: Menus.cpp:1051
+msgid "Selection Extend Left"
+msgstr "选段的左端扩展"
 
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+#: Menus.cpp:1052
+msgid "Selection Extend Right"
+msgstr "选段的右端扩展"
 
-#: ../src/Menus.cpp:664
-msgid "Cursor Left\tLeft"
-msgstr "游标左移\tLeft"
+#: Menus.cpp:1054
+msgid "Set (or Extend) Left Selection"
+msgstr "设置或扩展选段左端"
 
-#: ../src/Menus.cpp:665
-msgid "Cursor Right\tRight"
-msgstr "游标右移\tRight"
+#: Menus.cpp:1055
+msgid "Set (or Extend) Right Selection"
+msgstr "设置或扩展选段右端"
 
-#: Menus.cpp:820
-msgid "Cursor Short Jump Left\t,"
-msgstr ""
+#: Menus.cpp:1057
+msgid "Selection Contract Left"
+msgstr "选段的左端收缩"
 
-#: Menus.cpp:821
-msgid "Cursor Short Jump Right\t."
-msgstr ""
+#: Menus.cpp:1058
+msgid "Selection Contract Right"
+msgstr "选段的右端收缩"
 
-#: Menus.cpp:822
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr ""
-
-#: Menus.cpp:823
-msgid "Cursor Long Jump Right\tShift+."
-msgstr ""
+#: Menus.cpp:1060
+msgid "Change pan on focused track"
+msgstr "改变选中音轨的左右声道平衡"
 
-#: ../src/Menus.cpp:666
-msgid "Selection Extend Left\tShift+Left"
-msgstr "选段的左端扩展\tShift+Left"
+#: Menus.cpp:1061
+msgid "Pan left on focused track"
+msgstr "选中音轨的左右声道平衡左移"
 
-#: ../src/Menus.cpp:667
-msgid "Selection Extend Right\tShift+Right"
-msgstr "选段的右端扩展\tShift+Right"
+#: Menus.cpp:1062
+msgid "Pan right on focused track"
+msgstr "选中音轨的左右声道平衡右移"
 
-#: Menus.cpp:828
-msgid "Set (or Extend) Left Selection"
-msgstr ""
+#: Menus.cpp:1063
+msgid "Change gain on focused track"
+msgstr "改变选中音轨的声强加强"
 
-#: Menus.cpp:829
-msgid "Set (or Extend) Right Selection"
-msgstr ""
+#: Menus.cpp:1064
+msgid "Increase gain on focused track"
+msgstr "增加选中音轨的声强加强"
 
-#: ../src/Menus.cpp:668
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "选段的左端收缩\tCtrl+Shift+Right"
+#: Menus.cpp:1065
+msgid "Decrease gain on focused track"
+msgstr "减少选中音轨的声强加强"
 
-#: ../src/Menus.cpp:669
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "选段的右端收缩\tCtrl+Shift+Left"
+#: Menus.cpp:1066
+msgid "Open menu on focused track"
+msgstr "打开选中音轨上的菜单"
 
-#: Menus.cpp:916
-msgid "Change pan on focused track\tShift+P"
-msgstr ""
+#: Menus.cpp:1067
+msgid "Mute/Unmute focused track"
+msgstr "静音/取消 选中音轨"
 
-#: Menus.cpp:917
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr ""
+#: Menus.cpp:1068
+msgid "Solo/Unsolo focused track"
+msgstr "独奏/取消 选中音轨"
 
-#: Menus.cpp:918
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr ""
+#: Menus.cpp:1069
+msgid "Close focused track"
+msgstr "关闭选中音轨"
 
-#: Menus.cpp:919
-msgid "Change gain on focused track\tShift+G"
-msgstr ""
+#: Menus.cpp:1071
+msgid "Snap To On"
+msgstr "吸附开启"
 
-#: Menus.cpp:920
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr ""
+#: Menus.cpp:1072
+msgid "Snap To Off"
+msgstr "吸附关闭"
 
-#: Menus.cpp:921
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr ""
+#: Menus.cpp:1073
+msgid "Full screen on/off"
+msgstr "全屏幕开启/关闭"
 
-#: Menus.cpp:922
-msgid "Open menu on focused track\tShift+M"
-msgstr ""
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr "调整输出声强增强"
 
-#: Menus.cpp:923
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr ""
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr "调整输出声强增强"
 
-#: Menus.cpp:924
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr ""
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr "减少输出声强增强"
 
-#: Menus.cpp:925
-msgid "Close focused track\tShift+C"
-msgstr ""
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr "调整输入声强增强"
 
-#: Menus.cpp:845
-msgid "Snap To On"
-msgstr ""
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr "调整输入声强增强"
 
-#: Menus.cpp:846
-msgid "Snap To Off"
-msgstr ""
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr "减少输入声强增强"
 
-#: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
-msgstr ""
+#: Menus.cpp:1074
+msgid "Adjust input source"
+msgstr "调整输入源"
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
-#: ../src/Menus.cpp:695
+#: Menus.cpp:1155
 msgid "Open Recent"
 msgstr "打开最近访问的文件"
 
 #. i18n-hint: This is the name of the menu item on Windows and Linux
-#: Menus.cpp:1161
+#: Menus.cpp:1158
 msgid "Recent &Files"
-msgstr ""
+msgstr "最近的文件(&F)..."
 
-#: ../src/Menus.cpp:763
+#: Menus.cpp:1207
 #, c-format
 msgid "&Undo %s"
-msgstr "取消 %s(&U)"
+msgstr "撤消 %s(&U)"
 
-#: ../src/Menus.cpp:769
+#: Menus.cpp:1233
 msgid "Can't Undo"
 msgstr "无法撤销"
 
-#: ../src/Menus.cpp:776
+#: Menus.cpp:1242
 #, c-format
 msgid "&Redo %s"
-msgstr "恢复 %s(&R)"
+msgstr "重做 %s(&R)"
 
-#: ../src/Menus.cpp:782
+#: Menus.cpp:1248
 msgid "Can't Redo"
-msgstr "无法恢复"
+msgstr "无法重做"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1863
 msgid "Sort By Time"
-msgstr ""
+msgstr "按时间排序"
 
-#: Menus.cpp:1557
+#: Menus.cpp:1863
 msgid "Tracks sorted by time"
-msgstr ""
+msgstr "按时间排序的轨道"
 
-#: Menus.cpp:1583
+#: Menus.cpp:1889
 msgid "Sort By Name"
-msgstr ""
+msgstr "按名字排序"
 
-#: Menus.cpp:1583
+#: Menus.cpp:1889
 msgid "Tracks sorted by name"
-msgstr ""
+msgstr "按名字排序的轨道"
 
-#: ../src/Menus.cpp:1407
+#: Menus.cpp:2040
 msgid "Set Left Selection Bound"
 msgstr "设置选段的左边界"
 
-#: ../src/Menus.cpp:1445
+#: Menus.cpp:2076
 msgid "Set Right Selection Bound"
 msgstr "设置选段的右边界"
 
-#: ../src/Menus.cpp:1648
+#: Menus.cpp:2346
 msgid "You must select a track first."
 msgstr "您必须先选择一条轨道。"
 
-#: ../src/Menus.cpp:1677
+#: Menus.cpp:2381
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "重复%s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "重复 %s"
 
-#: ../src/Menus.cpp:1799
+#: Menus.cpp:2524
 msgid "There are no label tracks to export."
 msgstr "没有标签轨,无法导出。"
 
-#: Menus.cpp:2608
+#: Menus.cpp:2619
 msgid "Export MIDI As:"
-msgstr ""
+msgstr "导出MIDI为:"
 
-#: Menus.cpp:2612
+#: Menus.cpp:2623
 msgid "MIDI file (*.mid)|*.mid|Allegro file (*.gro)|*.gro"
-msgstr ""
+msgstr "MIDI文件(*.mid)|*.mid|Allegro文件(*.gro)|*.gro"
 
-#: Menus.cpp:2644
-msgid "You have selected a filename with an unrecognized file extension.\n"
+#: Menus.cpp:2655
+msgid ""
+"You have selected a filename with an unrecognized file extension.\n"
 "Do you want to continue?"
 msgstr ""
+"你选择了一个未知扩展名的文件\n"
+"你想继续吗?"
 
-#: Menus.cpp:2645
+#: Menus.cpp:2656
 msgid "Export MIDI"
-msgstr ""
+msgstr "导出MIDI"
 
-#: ../src/Menus.cpp:1922
+#: Menus.cpp:2726
 msgid "Nothing to undo"
-msgstr "没有可取消的操作"
+msgstr "没有可撤消的操作"
 
-#: ../src/Menus.cpp:1941
+#: Menus.cpp:2746
 msgid "Nothing to redo"
-msgstr "没有可恢复的操作"
+msgstr "没有可重做的操作"
 
-#: ../src/EditToolBar.cpp:146
-#: ../src/Menus.cpp:2021
-#: ../src/TrackPanel.cpp:431
+#: Menus.cpp:2851 TrackPanel.cpp:593 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "剪切"
 
-#: ../src/Menus.cpp:2021
+#: Menus.cpp:2851
 msgid "Cut to the clipboard"
 msgstr "剪切到剪贴板"
 
-#: ../src/Menus.cpp:2062
+#: Menus.cpp:2891
 msgid "Split Cut"
 msgstr "分割剪切"
 
-#: ../src/Menus.cpp:2062
+#: Menus.cpp:2891
 msgid "Split-cut to the clipboard"
 msgstr "分割剪切到剪贴板"
 
-#: ../src/EditToolBar.cpp:150
-#: ../src/Menus.cpp:2194
-#: ../src/Menus.cpp:2246
-#: ../src/TrackPanel.cpp:433
+#: Menus.cpp:2956 Menus.cpp:3028 Menus.cpp:3220 TrackPanel.cpp:595
+#: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "粘贴"
 
-#: Menus.cpp:2530
+#: Menus.cpp:2956
 msgid "Pasted text from the clipboard"
-msgstr ""
+msgstr "从剪贴板粘贴文字"
 
-#: ../src/Menus.cpp:2194
-#: ../src/Menus.cpp:2246
+#: Menus.cpp:3028 Menus.cpp:3220
 msgid "Pasted from the clipboard"
 msgstr "从剪贴板粘贴"
 
-#: Menus.cpp:3053
+#: Menus.cpp:3094
 msgid "Pasting one type of track into another is not allowed."
-msgstr ""
+msgstr "不允许从一类轨道粘贴到另一类。"
 
-#: Menus.cpp:2628
+#: Menus.cpp:3106
 msgid "Copying stereo audio into a mono track is not allowed."
-msgstr ""
+msgstr "不允许复制立体声音频到单声轨道。"
 
-#: ../src/EditToolBar.cpp:152
-#: ../src/Menus.cpp:2281
+#: Menus.cpp:3256 toolbars/EditToolBar.cpp:139
 msgid "Trim"
-msgstr "修剪"
+msgstr "裁剪"
 
-#: ../src/Menus.cpp:2281
+#: Menus.cpp:3256
 msgid "Trim file to selection"
 msgstr "将文件修剪至选段"
 
-#: ../src/Menus.cpp:2308
+#: Menus.cpp:3285
 #, c-format
 msgid "Split-deleted %.2f seconds at t=%.2f"
-msgstr "分割删除 %.2f 秒 (位置 t=%.2f)"
+msgstr "分割删除 %.2f 秒 (在 t=%.2f)"
 
-#: ../src/Menus.cpp:2311
+#: Menus.cpp:3288
 msgid "Split Delete"
 msgstr "分割删除"
 
-#: Menus.cpp:2771
+#: Menus.cpp:3309
 #, c-format
 msgid "Disjoined %.2f seconds at t=%.2f"
-msgstr ""
+msgstr "分离%.2f 描 (在 t=%.2f)"
 
-#: Menus.cpp:2774
+#: Menus.cpp:3312
 msgid "Disjoin"
-msgstr ""
+msgstr "分离"
 
-#: ../src/Menus.cpp:2332
+#: Menus.cpp:3333
 #, c-format
 msgid "Joined %.2f seconds at t=%.2f"
-msgstr "已联结 %.2f 秒 (位置 t=%.2f)"
+msgstr "已连接 %.2f 秒 (位置 t=%.2f)"
 
-#: ../src/Menus.cpp:2335
+#: Menus.cpp:3336
 msgid "Join"
-msgstr "联结"
+msgstr "连接"
 
-#: ../src/Menus.cpp:2354
+#: Menus.cpp:3355
 #, c-format
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
-msgstr "使选定轨道静音%.2f 秒,位置在 %.2f 秒处"
+msgstr "使选定轨道静音%.2f 秒,(在 %.2f )"
 
-#: ../src/EditToolBar.cpp:154
-#: ../src/Menus.cpp:2356
+#: Menus.cpp:3357 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "静音"
 
-#: ../src/Menus.cpp:2390
+#: Menus.cpp:3391
 msgid "Duplicate"
-msgstr "复制"
+msgstr "副本"
 
-#: ../src/Menus.cpp:2390
+#: Menus.cpp:3391
 msgid "Duplicated"
-msgstr "已复制"
+msgstr "已复本的"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3410
 msgid "Cut Labels"
-msgstr ""
+msgstr "剪切标签"
 
-#: Menus.cpp:2872
+#: Menus.cpp:3410
 msgid "Cut labeled regions to the clipboard"
-msgstr ""
+msgstr "剪切已标签的选段到剪贴板"
 
-#: Menus.cpp:2886
+#: Menus.cpp:3424
 msgid "SplitCut labeled regions to the clipboard"
-msgstr ""
+msgstr "分割剪切已标签选段到剪贴板"
 
-#: Menus.cpp:2887
+#: Menus.cpp:3425
 msgid "Split Cut Labels"
-msgstr ""
+msgstr "分割剪切标签"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3439
 msgid "Copied labeled regions to the clipboard"
-msgstr ""
+msgstr "复制已标签选段到剪贴板"
 
-#: Menus.cpp:2901
+#: Menus.cpp:3439
 msgid "Copy Labels"
-msgstr ""
+msgstr "复制标签"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3451
 msgid "Delete Labels"
-msgstr ""
+msgstr "删除标签"
 
-#: Menus.cpp:2913
+#: Menus.cpp:3451
 msgid "Deleted labeled regions"
-msgstr ""
+msgstr "删除已标签选段"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3463
 msgid "Split Delete Labels"
-msgstr ""
+msgstr "分割删除标签"
 
-#: Menus.cpp:2925
+#: Menus.cpp:3463
 msgid "Split Deleted labeled regions"
-msgstr ""
+msgstr "分割删除已标签选段"
 
-#: Menus.cpp:2937
+#: Menus.cpp:3475
 msgid "Silence Labels"
-msgstr ""
+msgstr "静音标签"
 
-#: Menus.cpp:2937
+#: Menus.cpp:3475
 msgid "Silenced labeled regions"
-msgstr ""
+msgstr "静音已标签选段"
 
-#: Menus.cpp:2949
+#: Menus.cpp:3487
 msgid "Split Labels"
-msgstr ""
+msgstr "分割标签"
 
-#: Menus.cpp:2949
+#: Menus.cpp:3487
 msgid "Split labeled regions"
-msgstr ""
+msgstr "分割已标签选段"
 
-#: Menus.cpp:2961
+#: Menus.cpp:3499
 msgid "Join Labels"
-msgstr ""
+msgstr "连接标签"
 
-#: Menus.cpp:2961
+#: Menus.cpp:3499
 msgid "Joined labeled regions"
-msgstr ""
+msgstr "连接已标签选段"
 
-#: Menus.cpp:2973
+#: Menus.cpp:3511
 msgid "Disjoin Labels"
-msgstr ""
+msgstr "分离标签"
 
-#: Menus.cpp:2973
+#: Menus.cpp:3511
 msgid "Disjoined labeled regions"
-msgstr ""
+msgstr "分离已标签选段"
 
-#: ../src/Menus.cpp:2416
-#: ../src/TrackPanel.cpp:4875
+#: Menus.cpp:3533 TrackPanel.cpp:6173
 msgid "Split"
 msgstr "分割"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3627
 msgid "Split New"
-msgstr ""
+msgstr "分割新建"
 
-#: Menus.cpp:3089
+#: Menus.cpp:3627
 msgid "Split to new track"
-msgstr ""
+msgstr "分割到新轨道"
 
-#: ../src/Menus.cpp:2549
+#: Menus.cpp:3710
 msgid "Split at labels"
-msgstr "按标签分割"
-
-#: ../src/Menus.cpp:2825
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "为了绘制频谱,所有选定的轨道必须具有相同的采样率。"
-
-#: ../src/Menus.cpp:2851
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "选择的音频过多。只有开始 %.1f 秒的音频会被分析。"
+msgstr "在标签处分割"
 
-#: ../src/Menus.cpp:3036
+#: Menus.cpp:4180
 #, c-format
 msgid "Imported labels from '%s'"
 msgstr "从'%s'导入的标签"
 
-#: ../src/Menus.cpp:3037
+#: Menus.cpp:4181
 msgid "Import Labels"
 msgstr "导入标签"
 
-#: ../src/Menus.cpp:3048
+#: Menus.cpp:4192
 msgid "Select a MIDI file..."
 msgstr "选择MIDI文件..."
 
-#: Menus.cpp:4147
+#: Menus.cpp:4196
 msgid "MIDI and Allegro files (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI files (*.mid;*.midi)|*.mid;*.midi|Allegro files (*.gro)|*.gro|All files (*.*)|*.*"
-msgstr ""
+msgstr "MIDI 和 Allegro 文件 (*.mid;*.midi;*.gro)|*.mid;*.midi;*.gro|MIDI 文件 (*.mid;*.midi)|*.mid;*.midi|Allegro 文件 (*.gro)|*.gro|所有文件 (*.*)|*.*"
 
-#: ../src/Menus.cpp:3068
+#: Menus.cpp:4212
 #, c-format
 msgid "Imported MIDI from '%s'"
 msgstr "从'%s'中导入的MIDI"
 
-#: ../src/Menus.cpp:3070
+#: Menus.cpp:4213
 msgid "Import MIDI"
 msgstr "导入MIDI"
 
-#: ../src/Menus.cpp:3083
+#: Menus.cpp:4227
 msgid "Select any uncompressed audio file..."
 msgstr "选择任一非压缩音频文件..."
 
-#: ../src/Menus.cpp:3087
+#: Menus.cpp:4231
 msgid "All files (*)|*"
-msgstr "全部文件(*)|*"
+msgstr "所有文件(*)|*"
 
-#: Menus.cpp:3630
+#: Menus.cpp:4255
 msgid "Edit the metadata tags"
-msgstr ""
+msgstr "编辑元信息标签"
 
-#: Menus.cpp:3631
+#: Menus.cpp:4256 export/Export.cpp:349
 msgid "Edit Metadata"
-msgstr ""
+msgstr "编辑元信息"
 
-#: Menus.cpp:3631
+#: Menus.cpp:4256
 msgid "Edit Metadata tags"
-msgstr ""
+msgstr "编辑元信息标签"
 
-#: ../src/Menus.cpp:3177
-#, fuzzy, c-format
+#: Menus.cpp:4312
+#, c-format
 msgid "Rendered all audio in track '%s'"
-msgstr "在音轨 '%s'中的所有已渲染的音频"
+msgstr "已渲染音轨'%s'的所有音频"
 
-#: ../src/Menus.cpp:3178
-#, fuzzy
+#: Menus.cpp:4313
 msgid "Render"
 msgstr "渲染"
 
-#: ../src/Menus.cpp:3183
+#: Menus.cpp:4318
 #, c-format
 msgid "Mixed and rendered %d tracks into one new stereo track"
-msgstr "已经将 %d 轨道混音并渲染至一个新的立体声音轨"
+msgstr "已经将 %d 个轨道混音并渲染至一个新的立体声音轨"
 
-#: ../src/Menus.cpp:3186
+#: Menus.cpp:4321
 #, c-format
 msgid "Mixed and rendered %d tracks into one new mono track"
-msgstr "已经将 %d 轨道混音并渲染至一个新的单声道音轨"
+msgstr "已经将 %d 个轨道混音并渲染至一个新的单声道音轨"
 
-#: Menus.cpp:658 Menus.cpp:3760 Mix.cpp:119
-#, fuzzy
+#: Menus.cpp:4323 Mix.cpp:121
 msgid "&Mix and Render"
-msgstr "混音并渲染"
+msgstr "混音并渲染(&M)"
 
-#: ../src/Menus.cpp:3298
+#: Menus.cpp:4453
 msgid "Aligned with zero"
 msgstr "已与零座标对齐"
 
-#: ../src/Menus.cpp:3302
+#: Menus.cpp:4457
 msgid "Aligned cursor"
-msgstr "已对齐的游标"
+msgstr "已对齐的光标"
 
-#: ../src/Menus.cpp:3306
+#: Menus.cpp:4461
 msgid "Aligned with selection start"
 msgstr "已与选段的头部对齐"
 
-#: ../src/Menus.cpp:3310
+#: Menus.cpp:4465
 msgid "Aligned with selection end"
 msgstr "已与选段的尾部对齐"
 
-#: ../src/Menus.cpp:3314
+#: Menus.cpp:4469
 msgid "Aligned end with cursor"
-msgstr "结束点已与游标对齐"
+msgstr "结束点已与光标对齐"
 
-#: ../src/Menus.cpp:3318
+#: Menus.cpp:4473
 msgid "Aligned end with selection start"
 msgstr "结束点已与选段的头部对齐"
 
-#: ../src/Menus.cpp:3322
+#: Menus.cpp:4477
 msgid "Aligned end with selection end"
 msgstr "结束点已与选段的尾部对齐"
 
-#: ../src/Menus.cpp:3326
+#: Menus.cpp:4481
 msgid "Aligned"
 msgstr "已对齐"
 
-#: ../src/Menus.cpp:3359
+#: Menus.cpp:4514
 msgid "Align"
 msgstr "对齐"
 
-#: Menus.cpp:4550
+#: Menus.cpp:4599
 msgid "Sync MIDI with Audio"
-msgstr ""
+msgstr "MIDI与音频同步"
 
-#: Menus.cpp:4554
+#: Menus.cpp:4603
 msgid "Alignment completed."
-msgstr ""
+msgstr "对齐完成"
 
-#: ../src/Menus.cpp:3383
+#: Menus.cpp:4614
 msgid "Created new audio track"
 msgstr "新建音轨"
 
-#: ../src/Menus.cpp:3383
-#: ../src/Menus.cpp:3407
-#: ../src/Menus.cpp:3423
-#: ../src/Menus.cpp:3459
+#: Menus.cpp:4614 Menus.cpp:4637 Menus.cpp:4652 Menus.cpp:4672
 msgid "New Track"
-msgstr "新建轨道"
+msgstr "新轨道"
 
-#: ../src/Menus.cpp:3407
+#: Menus.cpp:4637
 msgid "Created new stereo audio track"
 msgstr "新建立体声音轨"
 
-#: ../src/Menus.cpp:3423
+#: Menus.cpp:4652
 msgid "Created new label track"
 msgstr "新建标签轨"
 
-#: ../src/Menus.cpp:3448
+#: Menus.cpp:4661
 msgid "The version of Audacity you are using does not support multiple time tracks."
 msgstr "您使用的Audacity版本不支持多个时间轨。"
 
-#: ../src/Menus.cpp:3459
+#: Menus.cpp:4672
 msgid "Created new time track"
 msgstr "新建时间轨"
 
-#: ../src/Menus.cpp:3495
+#: Menus.cpp:4727
 msgid "Added label"
-msgstr "已加的标题"
+msgstr "已加的标签"
 
-#: Menus.cpp:4119
+#: Menus.cpp:4762
 msgid "Edited labels"
-msgstr ""
+msgstr "编辑标签"
 
-#: ../src/Menus.cpp:3538
+#: Menus.cpp:4789
 msgid "Save CleanSpeech Preset File As:"
 msgstr "将'清晰话音'预置文件另存为:"
 
-#: ../src/Menus.cpp:3542
-#: ../src/Menus.cpp:3625
+#: Menus.cpp:4793
 msgid "CleanSpeech Presets (*.csp)|*.csp"
-msgstr "'清晰话音'预置文件(*.csp)|*.csp"
+msgstr "'清晰话音'预置(*.csp)|*.csp"
 
-#: ../src/Menus.cpp:3549
-#: ../src/export/Export.cpp:188
+#: Menus.cpp:4800 export/Export.cpp:611
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "抱歉,路径名不能超过256个字符。"
 
-#: ../src/Menus.cpp:3595
+#: Menus.cpp:4846
 msgid "Problem encountered exporting presets."
-msgstr "导出预置文件时出了问题。"
+msgstr "导出预置文件时遇到了问题。"
 
-#: ../src/Menus.cpp:3596
-#: ../src/export/Export.cpp:124
+#: Menus.cpp:4847 export/Export.cpp:473
 msgid "Unable to export"
 msgstr "无法导出"
 
-#: ../src/Menus.cpp:3797
+#: Menus.cpp:5031
 msgid "Remove Track"
 msgstr "删除轨道"
 
-#: ../src/Menus.cpp:3797
+#: Menus.cpp:5031
 msgid "Removed audio track(s)"
 msgstr "删除音轨"
 
-#: Menus.cpp:4480 Menus.cpp:4499
+#: Menus.cpp:5188 Menus.cpp:5243 export/ExportFFmpeg.cpp:715
+#: export/ExportMP3.cpp:1780
 msgid "Resample"
-msgstr ""
+msgstr "重采样"
 
-#: Menus.cpp:5159 TrackPanel.cpp:6361
+#: Menus.cpp:5208 TrackPanel.cpp:6400
 msgid "New sample rate (Hz):"
-msgstr ""
+msgstr "新采样率(Hz):"
 
-#: Menus.cpp:4486
+#: Menus.cpp:5232 TrackPanel.cpp:6424
 msgid "The entered value is invalid"
-msgstr ""
+msgstr "输入的值无效"
 
-#: Menus.cpp:4497
+#: Menus.cpp:5241
 #, c-format
 msgid "Resampling track %d"
-msgstr ""
+msgstr "重采样轨道 %d"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5250
 msgid "Resample Track"
-msgstr ""
+msgstr "重采样轨道"
 
-#: Menus.cpp:4508
+#: Menus.cpp:5250
 msgid "Resampled audio track(s)"
-msgstr ""
+msgstr "重采样音轨"
 
-#: ../src/Mix.cpp:81
-#: ../src/Mix.cpp:89
+#: Mix.cpp:95 Mix.cpp:102
 msgid "Mix"
 msgstr "混音"
 
-#: ../src/Mix.cpp:133
-#, fuzzy
+#: Mix.cpp:122
 msgid "Mixing and rendering tracks"
-msgstr "合成轨道"
+msgstr "混音并渲染轨道"
 
-#: ../src/NoteTrack.cpp:30
+#: NoteTrack.cpp:43
 msgid "Note Track"
 msgstr "注解轨道"
 
-#: ../src/Printing.cpp:181
+#: Printing.cpp:192
 msgid "There was a problem printing."
 msgstr "打印时出错。"
 
-#: ../src/Printing.cpp:182
+#: Printing.cpp:193
 msgid "Print"
 msgstr "打印"
 
-#: ../src/Project.cpp:489
-#, fuzzy
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr "重复最近的效果"
+
+#: Project.cpp:710
 msgid "Main Mix"
 msgstr "主混音"
 
-#: Project.cpp:693
+#: Project.cpp:834
 #, c-format
 msgid "Welcome to Audacity version %s"
-msgstr ""
+msgstr "欢迎来的Audacity 版本 %s"
 
-#: Project.cpp:831
+#: Project.cpp:994
 msgid "(Recovered)"
-msgstr ""
+msgstr "(已恢复的)"
 
-#: ../src/ControlToolBar.cpp:518
-#: ../src/ControlToolBar.cpp:526
-#: ../src/Project.cpp:1818
-#: ../src/TrackPanel.cpp:816
+#: Menus.cpp:1000
 msgid "Record"
-msgstr "录音"
+msgstr "录制"
 
-#: ../src/Project.cpp:1818
-#: ../src/TrackPanel.cpp:816
+#: Project.cpp:1583 TrackPanel.cpp:793
 msgid "Recorded Audio"
 msgstr "录制的音频"
 
-#: ../src/Project.cpp:1836
+#: Project.cpp:1601
 msgid "Save changes before closing?"
 msgstr "在关闭之前保存修改?"
 
-#: Project.cpp:1570
-msgid "\n"
+#: Project.cpp:1604
+msgid ""
+"\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
 "Cancel, Edit > Undo until all tracks\n"
 "are open, then File > Save Project."
 msgstr ""
+"\n"
+"如果保存了,这个工程将没有轨道。\n"
+"要保存之前打开的轨道:\n"
+"取消,编辑 -> 撤销 到所有的轨道\n"
+"都打开,然后文件 -> 保存工程。"
 
-#: ../src/Project.cpp:1837
+#: Project.cpp:1607
 msgid "Save changes?"
 msgstr "保存修改?"
 
-#: Project.cpp:1684
-msgid "All files|*.*|All supported files|"
-msgstr ""
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr "所有文件|*|所有支持的文件|"
 
-#: ../src/Menus.cpp:2975
-#: ../src/Project.cpp:1863
+#: Project.cpp:1842
 msgid "Select one or more audio files..."
 msgstr "选择一个或多个音频文件..."
 
-#: Project.cpp:1736
+#: Project.cpp:1869
 msgid "Audacity projects|*.aup|"
-msgstr ""
+msgstr "Audacity 工程|*.aup|"
 
-#: Project.cpp:1885 Project.cpp:2307
+#: Project.cpp:1928 Project.cpp:2350
 #, c-format
-msgid "This file was saved by Audacity %s, a much\n"
+msgid ""
+"This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
 "\n"
 "Audacity could corrupt the file in opening\n"
@@ -2896,83 +2921,119 @@ msgid "This file was saved by Audacity %s, a much\n"
 "\n"
 "Open this file now?"
 msgstr ""
+"该文件是用 Audacity %s 一个较早\n"
+"的版本保存的。格式已经改变了。\n"
+"\n"
+"Audacity 在打开文件是可能损坏\n"
+"它。所以你必须先备份它\n"
+"\n"
+"现在打开该文件?"
 
-#: Project.cpp:1886
+#: Project.cpp:1929
 msgid "1.0 or earlier"
-msgstr ""
+msgstr "1.0 或更早的"
 
-#: ../src/Project.cpp:2149
+#: Project.cpp:1935 Project.cpp:2362
 msgid "Opening old project file"
-msgstr "打开工程文件"
+msgstr "打开旧工程文件"
 
-#: ../src/Project.cpp:1941
-#: ../src/Project.cpp:1949
+#: Project.cpp:2073
+msgid ""
+"You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+"你正打开一个自动创建的备份文件。\n"
+"这样做会可能导致严重的数据丢失。\n"
+"\n"
+"请打开实际的Audacity工程文件。"
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr "检测到备份文件"
+
+#: Project.cpp:1961 Project.cpp:1969
 msgid "Error opening file"
 msgstr "打开文件错误"
 
-#: ../src/Project.cpp:1955
+#: Project.cpp:1975
 #, c-format
-msgid "File may be invalid or corrupted: \n"
+msgid ""
+"File may be invalid or corrupted: \n"
 "%s"
-msgstr "文件可能无效或已被破坏: \n"
+msgstr ""
+"文件可能无效或已被破坏: \n"
 "%s"
 
-#: ../src/Project.cpp:1956
+#: Project.cpp:1976
 msgid "Error opening file or project"
 msgstr "打开文件或工程时出错"
 
-#: ../src/Project.cpp:1972
+#: Project.cpp:1996
 msgid "Audacity was unable to convert an Audacity 1.0 project to the new project format."
 msgstr "Audacity 1.0格式的工程文件不能转换为新的工程格式。"
 
-#: Project.cpp:1706
+#: Project.cpp:2099
 msgid "Could not remove old auto save file"
-msgstr ""
+msgstr "不能删除旧的自动保存文件"
 
-#: Project.cpp:1708
+#: Project.cpp:2101
 msgid "Project was recovered"
-msgstr ""
+msgstr "工程已恢复"
 
-#: Project.cpp:1708
+#: Project.cpp:2101
 msgid "Recover"
-msgstr ""
+msgstr "恢复"
 
-#: ../src/Project.cpp:2049
+#: Project.cpp:2130
 msgid "Project checker repaired file"
 msgstr "工程检查器修复的文件"
 
-#: ../src/Project.cpp:2049
+#: Project.cpp:2130 effects/Repair.h:29
 msgid "Repair"
 msgstr "修复"
 
-#: ../src/Project.cpp:2095
+#: Project.cpp:2276
 #, c-format
 msgid "Couldn't find the project data folder: \"%s\""
 msgstr "找不到工程数据目录:\"%s\""
 
-#: ../src/Project.cpp:2133
+#: Project.cpp:2319
 #, c-format
-msgid "This file was saved using Audacity %s.\n"
+msgid ""
+"This file was saved using Audacity %s.\n"
 "You are using Audacity %s - you need to upgrade to\n"
 "a newer version to open this file."
-msgstr "此文件使用Audacity %s保存。\n"
+msgstr ""
+"此文件使用Audacity %s保存。\n"
 "您目前使用的是Audacity %s - 需要升级至\n"
 "新版本才能打开该文件。"
 
-#: ../src/Project.cpp:2137
+#: Project.cpp:2323
 msgid "Can't open project file"
 msgstr "不能打开工程文件"
 
-#: Project.cpp:2314
+#: Project.cpp:2484
 #, c-format
-msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
+msgid ""
+"This file was saved by Audacity %s.\n"
+"\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
 "Open this file now?"
 msgstr ""
+"该文件已Audacity %s 保存。\n"
+"\n"
+"Audacity可以打开和保存这个文件,但以这个版本保存\n"
+"会使1.2版以前的版本无法打开它。\n"
+"\n"
+"现在打开这个文件吗?"
 
 #: Project.cpp:2537
-msgid "Your project is now empty.\n"
+msgid ""
+"Your project is now empty.\n"
 "If saved, the project will have no tracks.\n"
 "\n"
 "To save any previously open tracks:\n"
@@ -2981,55 +3042,67 @@ msgid "Your project is now empty.\n"
 "\n"
 "Save anyway?"
 msgstr ""
+"你的工程现在是空的。\n"
+"如果保存了,这个工程将没有轨道。\n"
+"\n"
+"要保存之前打开的轨道:\n"
+"取消,编辑 -> 撤销 到所有的轨道\n"
+"都打开,然后文件 -> 保存工程。\n"
+"\n"
+"仍然要保存吗?"
 
 #: Project.cpp:2538
 msgid "Warning empty project"
-msgstr ""
+msgstr "警告空Audacity工程"
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
-msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+msgid ""
+"Could not save project. Perhaps %s \n"
+"is not writable or the disk is full."
 msgstr ""
+"不能保存工程。可能%s不可写,\n"
+"或者磁盘已满。"
 
-#: ../src/Project.cpp:2326
-#: ../src/Project.cpp:2338
+#: Project.cpp:2649 Project.cpp:2664
 msgid "Error saving project"
 msgstr "保存Audacity工程出错"
 
-#: ../src/Project.cpp:2393
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr "不能写到文件 \"%s\": %s"
+
+#: Project.cpp:2732
 #, c-format
 msgid "Saved %s"
-msgstr "%s已存"
+msgstr "%s已保存"
 
-#: ../src/Project.cpp:2475
+#: Project.cpp:2853
 #, c-format
 msgid "Imported '%s'"
 msgstr "'%s'已导入"
 
-#: ../src/Project.cpp:2429
-#: ../src/Project.cpp:2476
-#: ../src/import/ImportPCM.cpp:410
-#: ../src/import/ImportPCM.cpp:495
-#: ../src/import/ImportRaw.cpp:436
+#: Project.cpp:2854
 msgid "Import"
 msgstr "导入"
 
-#: ../src/Project.cpp:2517
+#: Project.cpp:2887 Project.cpp:2895
 msgid "Error importing"
 msgstr "文件导入错误"
 
-#: ../src/Project.cpp:2556
+#: Project.cpp:2929
 msgid "Save Speech As:"
 msgstr "话音另存为:"
 
-#: Project.cpp:2621
-#, fuzzy
+#: Project.cpp:2931
 msgid "Windows PCM Audio file (*.wav)|*.wav"
 msgstr "Windows PCM音频文件(*.wav)|*.wav"
 
-#: Project.cpp:2894
-msgid "Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
+#: Project.cpp:2938
+msgid ""
+"Audacity compressed project files (.aup) save your work in a smaller, compressed (.ogg) format. \n"
 "Compressed project files are a good way to transmit your project online, because they are much smaller. \n"
 "To open a compressed project takes longer than usual, as it imports each compressed track. \n"
 "\n"
@@ -3037,3828 +3110,4199 @@ msgid "Audacity compressed project files (.aup) save your work in a smaller, com
 "When you want to save a file that can be opened by other programs, select one of the\n"
 "Export commands."
 msgstr ""
+"Audacity工程文件(.aup)能保存您的工作到一个更小的。压缩的 (.ogg)格式,\n"
+"压缩的工程文件是在线传送工程的好方法,因为他们更小\n"
+"打开一个压缩的工程不比通常情况下(打开每一个压缩的音轨)更耗时,\n"
+"\n"
+"但大多数的其它软件无法打开Audacity工程文件。\n"
+"\n"
+"当您需要保存为其它软件能打开的文件时,请选择\n"
+"'导出'(Export)命令。"
 
-#: Project.cpp:2897
-msgid "You are saving an Audacity project file (.aup).\n"
+#: Project.cpp:2941
+msgid ""
+"You are saving an Audacity project file (.aup).\n"
 "\n"
 "Saving a project creates a file that only Audacity can open.\n"
 "\n"
 "To save an audio file for other programs, use one of the \"File > Export\" commands.\n"
 msgstr ""
+"你正要保存一个Audacity工程文件 (.aup)。\n"
+"\n"
+"保存工程会创建一个只有Audacity可以打开的文件。\n"
+"\n"
+"要保存为其它软件能打开的文件,请选择文件 -> 导出命令。\n"
 
-#: ../src/Project.cpp:2567
+#: Project.cpp:2945
 msgid "Audacity projects (*.aup)|*.aup"
 msgstr "Audacity工程(*.aup)|*.aup"
 
-#: ../src/Project.cpp:2604
+#: Project.cpp:2999
 msgid "Created new project"
 msgstr "新建工程"
 
-#: ../src/Project.cpp:2721
+#: Project.cpp:3158
 #, c-format
 msgid "Deleted %.2f seconds at t=%.2f"
-msgstr "删除 %.2f 秒 (位置 t=%.2f)"
+msgstr "删除 %.2f 秒 (在 t=%.2f)"
 
-#: ../src/Project.cpp:2724
-#: ../src/UploadDialog.cpp:508
-#: ../src/UploadDialog.cpp:642
+#: Project.cpp:3161 effects/Equalization.cpp:1276
+#: effects/Equalization.cpp:2607
 msgid "Delete"
-msgstr "削除"
+msgstr "删除"
 
-#: ../src/Project.cpp:2904
+#: Project.cpp:3355
 #, c-format
 msgid "Disk space remains for recording %d hours and %d minutes."
-msgstr "磁盘空间还够供录音: %d 时 %d 分。"
+msgstr "磁盘空间还够录制 %d 时 %d 分。"
 
-#: ../src/Project.cpp:2907
+#: Project.cpp:3358
 #, c-format
 msgid "Disk space remains for recording 1 hour and %d minutes."
-msgstr "磁盘空间还够供录音: 1 时 %d 分。"
+msgstr "磁盘空间还够够录制 1 时 %d 分。"
 
-#: ../src/Project.cpp:2910
+#: Project.cpp:3361
 #, c-format
 msgid "Disk space remains for recording %d minutes."
-msgstr "磁盘空间还够记录 %d 分钟。"
+msgstr "磁盘空间还够录制 %d 分钟。"
 
-#: ../src/Project.cpp:2913
+#: Project.cpp:3364
 #, c-format
 msgid "Disk space remains for recording %d seconds."
-msgstr "磁盘空间还够记录 %d 秒钟。"
+msgstr "磁盘空间还够录制 %d 秒钟。"
 
-#: ../src/Project.cpp:2916
+#: Project.cpp:3367
 msgid "Out of disk space"
 msgstr "磁盘空间不足"
 
-#: Project.cpp:3336
+#: Project.cpp:3380
 #, c-format
 msgid "Import(s) complete. Running %d on-demand waveform calculations. Overall %2.0f%% complete."
-msgstr ""
+msgstr "导入完成。正运行 %d 按要求的波形计算。总体 %2.0f%% 完成。"
 
-#: Project.cpp:3339
+#: Project.cpp:3383
 #, c-format
 msgid "Import complete. Running an on-demand waveform calculation. %2.0f%% complete."
-msgstr ""
+msgstr "导入完成。正运行按要求的波形计算。%2.0f%% 完成。"
 
-#: Project.cpp:3027
+#: Project.cpp:3661
 msgid "Could not remove old autosave file: "
-msgstr ""
+msgstr "不能删除旧的自动保存文件:"
 
-#: Project.cpp:3068
+#: Project.cpp:3702
 msgid "New Project"
-msgstr ""
+msgstr "新工程"
 
-#: Project.cpp:3081
+#: Project.cpp:3715
 msgid "Error writing autosave file"
-msgstr ""
+msgstr "写自动保存文件时错误"
 
-#: Project.cpp:3102
+#: Project.cpp:3740
 msgid "Could not create autosave file: "
-msgstr ""
+msgstr "不能创建自动保存文件:"
 
-#: Project.cpp:3385
+#: Project.cpp:3766
 #, c-format
 msgid "Actual Rate: %d"
-msgstr ""
+msgstr "实际采样率: %d"
 
-#: ../src/Resample.cpp:35
+#: Resample.cpp:42
 msgid "Libresample by Dominic Mazzoni and Julius Smith"
-msgstr "Libresample(重采样库,Dominic Mazzoni和Julius Smith提供)"
+msgstr "Libresample,Dominic Mazzoni和Julius Smith提供"
 
-#: ../src/Resample.cpp:46
+#: Resample.cpp:53
 msgid "High-quality Sinc Interpolation"
-msgstr "高品质Sinc内插算法"
+msgstr "高质量Sinc内插算法"
 
-#: ../src/Resample.cpp:48
+#: Resample.cpp:55
 msgid "Fast Sinc Interpolation"
 msgstr "快速Sinc内插算法"
 
-#: ../src/Resample.cpp:118
+#: Resample.cpp:125
 msgid "Libsamplerate by Erik de Castro Lopo"
-msgstr "Libsamplerate(采样率库,Erik de Castro Lopo提供)"
+msgstr "Libsamplerate,Erik de Castro Lopo提供"
 
-#: ../src/Resample.cpp:211
+#: Resample.cpp:218
 #, c-format
 msgid "Libsamplerate error: %d\n"
-msgstr "Libsamplerate 错误: %d\n"
+msgstr "Libsamplerate 错误: %d\n"
 
-#: ../src/Resample.cpp:233
-#: ../src/Resample.cpp:243
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
-msgstr "重采样被禁用。"
+msgstr "重采样关闭。"
 
 #. i18n-hint: Audio data bit depth (precison): 16-bit integers
 #: SampleFormat.cpp:66
 msgid "16-bit PCM"
-msgstr ""
+msgstr "16位 PCM"
 
 #. i18n-hint: Audio data bit depth (precison): 24-bit integers
 #: SampleFormat.cpp:69
 msgid "24-bit PCM"
-msgstr ""
+msgstr "24位 PCM"
 
 #. i18n-hint: Audio data bit depth (precison): 32-bit floating point
 #: SampleFormat.cpp:72
 msgid "32-bit float"
-msgstr ""
+msgstr "32位 浮点"
+
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr "抓屏帧"
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr "选择文件保存的位置"
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr "保存图片到:"
+
+#: export/ExportMultiple.cpp:242 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "选择..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr "抓整个窗口或屏幕"
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr "缩小"
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr "放大"
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr "蓝色背景"
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr "白色背景"
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr "只抓窗口"
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr "抓整个窗口"
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr "抓窗口+"
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr "抓全屏幕"
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr "等5秒后抓最前面的窗口/对话框"
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "否"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr "抓部分的工程窗口"
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr "所有的工具栏"
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr "选择栏"
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "工具"
+
+#: effects/Contrast.cpp:452 toolbars/ControlToolBar.cpp:83
+msgid "Control"
+msgstr "控制"
+
+#: effects/LoadEffects.cpp:115 toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "混音器"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "指示表"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr "编辑"
+
+#: prefs/AudioIOPrefs.cpp:122 prefs/AudioIOPrefs.cpp:140
+#: prefs/MidiIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:136
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "设备"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "转录"
+
+#: TrackPanel.cpp:454 TrackPanel.cpp:455
+msgid "Track Panel"
+msgstr "轨道面板"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr "标尺"
+
+#: export/ExportMultiple.cpp:285 export/ExportMultiple.cpp:287
+msgid "Tracks"
+msgstr "轨道"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr "第一轨"
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr "第二轨"
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr "缩放"
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr "一秒"
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr "十秒"
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr "一分"
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr "五分"
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr "一小时"
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr "短轨道"
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr "中轨道"
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr "长轨道"
 
 #: Screenshot.cpp:384
 msgid "Saved "
-msgstr ""
+msgstr "已保存"
 
 #: Screenshot.cpp:387
 msgid "Error trying to save file: "
-msgstr ""
+msgstr "保存文件时错误:"
 
-#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr "选择保存抓取图像的位子"
+
+#: Sequence.cpp:804 Sequence.cpp:814 Sequence.cpp:821
 msgid "Gap detected in project file\n"
-msgstr ""
+msgstr "在工程文件中发现间隙\n"
 
-#: effects/Effect.cpp:254 effects/Effect.cpp:370 effects/Phaser.cpp:595
-#: effects/Wahwah.cpp:582 effects/audiounits/AudioUnitEffect.cpp:852
+#: ShuttleGui.cpp:1972 effects/Effect.cpp:417
+#: effects/audiounits/AudioUnitEffect.cpp:877
 msgid "Pre&view"
-msgstr ""
+msgstr "预览(&V)"
 
-#: effects/nyquist/Nyquist.cpp:826 effects/nyquist/Nyquist.cpp:990
+#: ShuttleGui.cpp:1979
 msgid "&Debug"
-msgstr ""
+msgstr "&Debug"
 
 #: SoundActivatedRecord.cpp:36
 msgid "Sound Activated Record"
-msgstr ""
+msgstr "声音启动录制"
 
 #: SoundActivatedRecord.cpp:58
 msgid "Activation level (dB):"
-msgstr ""
+msgstr "启动声强级(dB):"
 
-#: SplashDialog.cpp:58
+#: SplashDialog.cpp:60
 msgid "&Welcome to Audacity!"
-msgstr ""
+msgstr "欢迎来到Audacity!(&W)"
 
-#: SplashDialog.cpp:110
+#: SplashDialog.cpp:112
 msgid "Don't show this again at start up"
-msgstr ""
+msgstr "启动是不要再显示这个了"
 
-#: Tags.cpp:621
+#: Tags.cpp:628
 msgid "Artist Name"
-msgstr ""
+msgstr "艺术家名字"
 
-#: Tags.cpp:622
+#: Tags.cpp:629
 msgid "Track Title"
-msgstr ""
+msgstr "轨道标题"
 
-#: Tags.cpp:623
+#: Tags.cpp:630
 msgid "Album Title"
-msgstr ""
+msgstr "专辑标题"
 
-#: Tags.cpp:953
-#, fuzzy
+#: Tags.cpp:631
 msgid "Track Number"
-msgstr "轨道编号:"
+msgstr "轨道编号"
 
-#: ../src/Tags.cpp:484
+#: Tags.cpp:632
 msgid "Year"
 msgstr "å¹´"
 
-#: Tags.cpp:979
+#: Tags.cpp:633
 msgid "Genre"
-msgstr ""
+msgstr "流派"
 
-#: ../src/Tags.cpp:494
-#: ../src/prefs/MousePrefs.cpp:87
+#: Tags.cpp:634 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "注释"
 
 #: Tags.cpp:777
 msgid "Use arrow keys (or RETURN key after editing) to navigate fields."
-msgstr ""
+msgstr "使用箭头键(或编辑后回车)切换区域。"
 
-#: Tags.cpp:769
+#: Tags.cpp:800
 msgid "Tag Name"
-msgstr ""
+msgstr "标签名字"
 
-#: Tags.cpp:770
+#: Tags.cpp:801
 msgid "Tag Value"
-msgstr ""
+msgstr "标签值"
 
-#: prefs/KeyConfigPrefs.cpp:114
+#: Tags.cpp:816 prefs/KeyConfigPrefs.cpp:130
 msgid "&Clear"
-msgstr ""
+msgstr "清除(&C)"
 
-#: Tags.cpp:791
+#: Tags.cpp:822
 msgid "Genres"
-msgstr ""
+msgstr "流派"
 
 #: Tags.cpp:826
 msgid "E&dit..."
-msgstr ""
+msgstr "编辑...(&D)"
 
 #: Tags.cpp:827
 msgid "Rese&t..."
-msgstr ""
+msgstr "重设...(&T)"
 
-#: Tags.cpp:1070
+#: Tags.cpp:832
 msgid "Template"
-msgstr ""
+msgstr "模板"
 
-#: Tags.cpp:1073 prefs/KeyConfigPrefs.cpp:124
+#: Tags.cpp:836 prefs/KeyConfigPrefs.cpp:142
 msgid "&Load..."
-msgstr ""
+msgstr "载入...(&L)"
 
-#: Tags.cpp:1078 prefs/KeyConfigPrefs.cpp:123
+#: Tags.cpp:837 prefs/KeyConfigPrefs.cpp:141
 msgid "&Save..."
-msgstr ""
+msgstr "保存...(&S)"
 
-#: Tags.cpp:808 Tags.cpp:1434 Tags.cpp:1962
+#: Tags.cpp:839
 msgid "S&et Default"
-msgstr ""
+msgstr "设置默认(&E)"
 
-#: Tags.cpp:958 Tags.cpp:1597 Tags.cpp:2326
+#: Tags.cpp:989
 msgid "Edit Genres"
-msgstr ""
+msgstr "编辑流派"
 
-#: Tags.cpp:991 Tags.cpp:1003 Tags.cpp:1019 Tags.cpp:1032 Tags.cpp:1635
-#: Tags.cpp:1647 Tags.cpp:1663 Tags.cpp:1676 Tags.cpp:2369 Tags.cpp:2381
-#: Tags.cpp:2397 Tags.cpp:2410
+#: Tags.cpp:1022 Tags.cpp:1034 Tags.cpp:1049 Tags.cpp:1062
 msgid "Reset Genres"
-msgstr ""
+msgstr "重设流派"
 
-#: Tags.cpp:991 Tags.cpp:1032 Tags.cpp:1635 Tags.cpp:1676 Tags.cpp:2369
-#: Tags.cpp:2410
+#: Tags.cpp:1022 Tags.cpp:1062
 msgid "Unable to save genre file."
-msgstr ""
+msgstr "不能保存流派文件。"
 
-#: Tags.cpp:1002 Tags.cpp:1646 Tags.cpp:2380
+#: Tags.cpp:1033
 msgid "Are you sure you want to reset the genre list to defaults?"
-msgstr ""
+msgstr "你确定要重设流派列表为默认值?"
 
-#: Tags.cpp:1019 Tags.cpp:1663 Tags.cpp:2397
+#: Tags.cpp:1049
 msgid "Unable to open genre file."
-msgstr ""
+msgstr "不能打开流派文件。"
 
 #: Tags.cpp:1084
 msgid "Load Metadata As:"
-msgstr ""
+msgstr "载入元信息为:"
 
-#: Tags.cpp:1079 Tags.cpp:1730 Tags.cpp:2453
+#: Tags.cpp:1109
 msgid "Error loading metadata"
-msgstr ""
+msgstr "载入元信息错误"
 
-#: Tags.cpp:1054 Tags.cpp:1108 Tags.cpp:1709 Tags.cpp:1745 Tags.cpp:2432
-#: Tags.cpp:2468
+#: Tags.cpp:1138
 msgid "Save Metadata As:"
-msgstr ""
+msgstr "保存元信息为:"
 
-#: Theme.cpp:629
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr "保存标签文件出错"
+
+#: Theme.cpp:638
 #, c-format
-msgid "Audacity could not write file:\n"
+msgid ""
+"Audacity could not write file:\n"
 "  %s."
 msgstr ""
+"Audacity不能写文件:\n"
+"  %s"
 
-#: Theme.cpp:647
+#: Theme.cpp:656
 #, c-format
-msgid "Audacity could not open file:\n"
+msgid ""
+"Audacity could not open file:\n"
 "  %s\n"
 "for writing."
 msgstr ""
+"Audacity不能为写打开文件:\n"
+"  %s\n"
+"。"
 
-#: Theme.cpp:655
+#: Theme.cpp:664
 #, c-format
-msgid "Audacity could not write images to file:\n"
+msgid ""
+"Audacity could not write images to file:\n"
 "  %s."
 msgstr ""
+"Audacity不能写文件到文件:\n"
+"  %s."
 
-#: Theme.cpp:790
+#: Theme.cpp:799
 #, c-format
-msgid "Audacity could not find file:\n"
+msgid ""
+"Audacity could not find file:\n"
 "  %s.\n"
 "Theme not loaded."
 msgstr ""
+"Audacity 不能找到文件:\n"
+"  %s.\n"
+"主题没载入。"
 
-#: Theme.cpp:798 Theme.cpp:886
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
-msgid "Audacity could not load file:\n"
+msgid ""
+"Audacity could not load file:\n"
 "  %s.\n"
 "Bad png format perhaps?"
 msgstr ""
+"Audacity不能载入文件:\n"
+"  %s.\n"
+"也许png格式错误?"
 
-#: Theme.cpp:814
-msgid "Audacity could not read its default theme.\n"
+#: Theme.cpp:823
+msgid ""
+"Audacity could not read its default theme.\n"
 "Please report the problem."
 msgstr ""
+"Audacity不能读默认主题.\n"
+"请包括这个问题。"
 
-#: Theme.cpp:908
+#: Theme.cpp:918
 #, c-format
-msgid "None of the expected theme component files\n"
+msgid ""
+"None of the expected theme component files\n"
 " were found in:\n"
 "  %s."
 msgstr ""
+"%s中找不到期望的任何主题元件文件\n"
+"。"
 
-#: Theme.cpp:932
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
-msgid "Could not create directory:\n"
+msgid ""
+"Could not create directory:\n"
 "  %s"
 msgstr ""
+"不能传奇目录:\n"
+"  %s"
 
-#: Theme.cpp:953
+#: Theme.cpp:963
 #, c-format
-msgid "Audacity could not save file:\n"
+msgid ""
+"Audacity could not save file:\n"
 "  %s"
 msgstr ""
+"Audacity不能保存文件:\n"
+"  %s"
 
-#: Theme.cpp:965
+#: Theme.cpp:975
 #, c-format
-msgid "All required files in:\n"
+msgid ""
+"All required files in:\n"
 "  %s\n"
 "were already present."
 msgstr ""
+"在%s中需求的文件\n"
+"已经存在了。"
 
-#: SmartRecordDialog.cpp:285
+#: TimeDialog.cpp:53 TimeDialog.cpp:64 TimerRecordDialog.cpp:228
+#: TimerRecordDialog.cpp:355 TimerRecordDialog.cpp:359 effects/DtmfGen.cpp:481
+#: effects/Noise.cpp:243 effects/Noise.cpp:259 effects/ToneGen.cpp:323
+#: effects/ToneGen.cpp:335 effects/ToneGen.cpp:367 effects/ToneGen.cpp:379
 msgid "Duration"
-msgstr ""
+msgstr "持续时间"
 
-#: SmartRecordDialog.cpp:68
+#: TimerRecordDialog.cpp:68
 msgid "Audacity Timer Record"
-msgstr ""
+msgstr "Audacity 定时录制"
+
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr "持续时间为零。什么都不会被录制。"
 
-#: SmartRecordDialog.cpp:223
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr "持续时间错误"
+
+#: TimerRecordDialog.cpp:225
 msgid "Recording start"
-msgstr ""
+msgstr "录制开始"
 
-#: SmartRecordDialog.cpp:224
+#: TimerRecordDialog.cpp:226
 msgid "Recording end"
-msgstr ""
+msgstr "录制结束"
 
-#: TimerRecordDialog.cpp:230
+#: TimerRecordDialog.cpp:231
 msgid "Audacity Timer Record Progress"
-msgstr ""
+msgstr "Audacity计时录制进度"
 
-#: SmartRecordDialog.cpp:251
+#: TimerRecordDialog.cpp:317
 msgid "Start Date and Time"
-msgstr ""
+msgstr "开始日期和时间"
 
-#: TimerRecordDialog.cpp:274
+#: TimerRecordDialog.cpp:324
 msgid "Start Date"
-msgstr ""
+msgstr "开始日期"
 
-#: SmartRecordDialog.cpp:268
+#: TimerRecordDialog.cpp:336
 msgid "End Date and Time"
-msgstr ""
+msgstr "结束日期和时间"
 
-#: TimerRecordDialog.cpp:294
+#: TimerRecordDialog.cpp:344
 msgid "End Date"
-msgstr ""
+msgstr "结束日期"
 
 #. i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 #. * but hopefully translated by wxwidgets will be inserted into this
-#: SmartRecordDialog.cpp:380
+#: TimerRecordDialog.cpp:431
 #, c-format
 msgid "Waiting to start recording at %s.\n"
-msgstr ""
+msgstr "等待在%s开始的录制。\n"
 
-#: TimerRecordDialog.cpp:382
+#: TimerRecordDialog.cpp:432
 msgid "Audacity Timer Record - Waiting for Start"
-msgstr ""
+msgstr "Audacity定时录制 - 等待开始"
 
-#: TrackPanel.cpp:452 TrackPanel.cpp:453
-msgid "Track Panel"
-msgstr ""
-
-#: ../src/TrackPanel.cpp:377
-#: ../src/prefs/FileFormatPrefs.cpp:105
-#: ../src/prefs/QualityPrefs.cpp:103
+#: TrackPanel.cpp:538 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "其它..."
 
-#: ../src/TrackPanel.cpp:385
-#: ../src/TrackPanel.cpp:406
-#: ../src/TrackPanel.cpp:415
-#: ../src/TrackPanel.cpp:423
+#: TrackPanel.cpp:546 TrackPanel.cpp:568 TrackPanel.cpp:577 TrackPanel.cpp:585
+#: TrackPanel.cpp:5790
 msgid "Name..."
 msgstr "名称..."
 
-#: ../src/TrackPanel.cpp:387
-#: ../src/TrackPanel.cpp:408
-#: ../src/TrackPanel.cpp:419
-#: ../src/TrackPanel.cpp:425
+#: TrackPanel.cpp:548 TrackPanel.cpp:570 TrackPanel.cpp:581 TrackPanel.cpp:587
+#: TrackPanel.cpp:5794
 msgid "Move Track Up"
 msgstr "向上移动轨道"
 
-#: ../src/TrackPanel.cpp:388
-#: ../src/TrackPanel.cpp:409
-#: ../src/TrackPanel.cpp:420
-#: ../src/TrackPanel.cpp:426
+#: TrackPanel.cpp:549 TrackPanel.cpp:571 TrackPanel.cpp:582 TrackPanel.cpp:588
+#: TrackPanel.cpp:5795
 msgid "Move Track Down"
 msgstr "向下移动轨道"
 
-#: ../src/TrackPanel.cpp:390
+#: TrackPanel.cpp:551 effects/ToneGen.cpp:319 prefs/GUIPrefs.cpp:154
 msgid "Waveform"
 msgstr "波形"
 
-#: ../src/TrackPanel.cpp:391
+#: TrackPanel.cpp:552 prefs/GUIPrefs.cpp:155
 msgid "Waveform (dB)"
 msgstr "波形 (dB)"
 
-#: TrackPanel.cpp:557 prefs/GUIPrefs.cpp:157
+#: TrackPanel.cpp:554 prefs/GUIPrefs.cpp:157
 msgid "Spectrum log(f)"
-msgstr ""
+msgstr "频谱 log(f)"
 
-#: ../src/TrackPanel.cpp:393
+#. i18n-hint: short form of 'logarithm'
+#: TrackPanel.cpp:555 prefs/GUIPrefs.cpp:158
 msgid "Pitch (EAC)"
 msgstr "音高 (EAC)"
 
-#: ../src/TrackPanel.cpp:395
+#: TrackPanel.cpp:557 TrackPanel.cpp:6135
 msgid "Mono"
 msgstr "单声道"
 
-#: ../src/TrackPanel.cpp:396
+#: TrackPanel.cpp:558 TrackPanel.cpp:6134
 msgid "Left Channel"
 msgstr "左声道"
 
-#: ../src/TrackPanel.cpp:397
+#: TrackPanel.cpp:559 TrackPanel.cpp:6134
 msgid "Right Channel"
 msgstr "右声道"
 
-#: ../src/TrackPanel.cpp:398
+#: TrackPanel.cpp:560
 msgid "Make Stereo Track"
 msgstr "制作立体声音轨"
 
-#: ../src/TrackPanel.cpp:399
+#: TrackPanel.cpp:561
 msgid "Split Stereo Track"
 msgstr "分割立体声音轨"
 
-#: ../src/TrackPanel.cpp:401
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr "分割立体声到单声"
+
+#: TrackPanel.cpp:563
 msgid "Set Sample Format"
 msgstr "设定采样格式"
 
-#: ../src/TrackPanel.cpp:403
-#: ../src/TrackPanel.cpp:5059
+#: TrackPanel.cpp:565 TrackPanel.cpp:6380
 msgid "Set Rate"
 msgstr "设定采样率"
 
-#: ../src/TrackPanel.cpp:411
+#: TrackPanel.cpp:573
 msgid "Up Octave"
 msgstr "高八度音阶"
 
-#: ../src/TrackPanel.cpp:412
+#: TrackPanel.cpp:574
 msgid "Down Octave"
 msgstr "低八音阶"
 
-#: ../src/TrackPanel.cpp:417
+#: TrackPanel.cpp:579 TrackPanel.cpp:5792
 msgid "Font..."
 msgstr "字体..."
 
-#: ../src/TrackPanel.cpp:428
+#: TrackPanel.cpp:590
 msgid "Set Range..."
 msgstr "设定范围..."
 
-#: ../src/EditToolBar.cpp:148
-#: ../src/TrackPanel.cpp:432
+#: TrackPanel.cpp:594 toolbars/EditToolBar.cpp:135
 msgid "Copy"
-msgstr "拷贝"
+msgstr "复制"
 
-#: ../src/TrackPanel.cpp:1121
+#: TrackPanel.cpp:1263
 msgid "Click to vertically zoom in, Shift-click to zoom out, Drag to create a particular zoom region."
-msgstr "单击在垂直方向放大,按住Shift键单击缩小,拖曳创建一个特定的缩放区域。"
+msgstr "单击在垂直方向放大,按住Shift键单击缩小,拖拽创建一个特定的缩放区域。"
 
-#: ../src/TrackPanel.cpp:1126
+#: TrackPanel.cpp:1268
 msgid "Drag the label vertically to change the order of the tracks."
 msgstr "垂直拖动标签改变轨道的顺序。"
 
-#: ../src/TrackPanel.cpp:1146
+#: TrackPanel.cpp:1288
 msgid "Click and drag to adjust relative size of stereo tracks."
 msgstr "单击并拖动调整立体声音轨的相対大小"
 
-#: ../src/TrackPanel.cpp:1149
+#: TrackPanel.cpp:1291
 msgid "Click and drag to resize the track."
 msgstr "单击并拖动调整轨道的大小。"
 
-#: ../src/TrackPanel.cpp:1182
+#: TrackPanel.cpp:1322
 msgid "Drag one or more label boundaries"
 msgstr "拖动单个或多个标签边界"
 
-#: ../src/TrackPanel.cpp:1183
+#: TrackPanel.cpp:1323
 msgid "Drag label boundary"
 msgstr "拖动标签边界"
 
 #. i18n-hint: This string is for the Mac OS, which uses Command-, as the shortcut for Preferences
-#: ../src/TrackPanel.cpp:1199
+#: TrackPanel.cpp:1339
 msgid "Multi-Tool Mode: Cmd-, for Mouse and Keyboard Preferences"
-msgstr "多选工具模式: Cmd-, 鼠标和键盘设定"
+msgstr "多重工具模式: Cmd-, 鼠标和键盘喜好选项"
 
 #. i18n-hint: This string is for Windows and Linux, which uses Control-P as the shortcut for Preferences
-#: ../src/TrackPanel.cpp:1202
+#: TrackPanel.cpp:1342
 msgid "Multi-Tool Mode: Ctrl-P for Mouse and Keyboard Preferences"
-msgstr "多选工具模式: Ctrl-P, 鼠标和键盘设定"
+msgstr "多重工具模式: Ctrl-P, 鼠标和键盘喜好选项"
 
-#: ../src/TrackPanel.cpp:1222
+#: TrackPanel.cpp:1388
 msgid "Click and drag to move left selection boundary."
 msgstr "单击并拖动选段的左边界。"
 
-#: ../src/TrackPanel.cpp:1227
+#: TrackPanel.cpp:1393
 msgid "Click and drag to move right selection boundary."
 msgstr "单击并拖动选段的右边界。"
 
-#: ../src/TrackPanel.cpp:3261
+#: TrackPanel.cpp:1735 TrackPanel.cpp:3964 TrackPanel.cpp:3996
+#: TrackPanel.cpp:4260 TrackPanel.cpp:6529 TrackPanel.cpp:6549
 msgid "Modified Label"
 msgstr "已修改的标签"
 
-#: ../src/TrackPanel.cpp:3262
+#: TrackPanel.cpp:1736 TrackPanel.cpp:3965 TrackPanel.cpp:3997
+#: TrackPanel.cpp:4261 TrackPanel.cpp:6530 TrackPanel.cpp:6550
 msgid "Label Edit"
 msgstr "标签编辑"
 
-#: ../src/TrackPanel.cpp:1634
+#: TrackPanel.cpp:1976
 msgid "Adjusted envelope."
-msgstr "调整过的包络"
+msgstr "调整过的包络."
 
-#: ../src/TrackPanel.cpp:1635
-#: ../src/prefs/MousePrefs.cpp:102
+#: TrackPanel.cpp:1977 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "包络线"
 
-#: ../src/TrackPanel.cpp:1762
+#: TrackPanel.cpp:2128
 msgid "Moved clip to another track"
 msgstr "将剪辑移至另一轨道"
 
-#: ../src/TrackPanel.cpp:1766
+#: TrackPanel.cpp:2132
 msgid "left"
 msgstr "å·¦"
 
-#: ../src/TrackPanel.cpp:1766
+#: TrackPanel.cpp:2132
 msgid "right"
 msgstr "右"
 
-#: ../src/TrackPanel.cpp:1767
+#. i18n-hint: %s is a direction like left or right
+#: TrackPanel.cpp:2134
 #, c-format
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "时间移动轨道/剪辑 %s %.02f 秒"
 
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:99
-#: ../src/prefs/MousePrefs.cpp:100
+#: TrackPanel.cpp:2138 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "时间-移动(Time-Shift)"
 
-#: TrackPanel.cpp:2916
+#: TrackPanel.cpp:2921
 msgid "To use Draw, choose 'Waveform' in the Track Drop-down Menu."
-msgstr ""
+msgstr "要使用'绘制',在轨道下来菜单中选择'波形'。"
 
-#: TrackPanel.cpp:2933
+#: TrackPanel.cpp:2938
 msgid "To use Draw, zoom in further until you can see the individual samples."
-msgstr ""
+msgstr "要使用'绘制',请放大到您能看清楚单个采样点。"
 
-#: ../src/TrackPanel.cpp:2565
+#: TrackPanel.cpp:3210
 msgid "Moved Sample"
 msgstr "已移动采样"
 
-#: ../src/TrackPanel.cpp:2566
+#: TrackPanel.cpp:3211
 msgid "Sample Edit"
 msgstr "采样编辑"
 
-#: ../src/TrackPanel.cpp:2652
+#: TrackPanel.cpp:3310
 #, c-format
 msgid "Removed track '%s.'"
 msgstr "删除音轨'%s'"
 
-#: ../src/TrackPanel.cpp:2654
+#: TrackPanel.cpp:3312
 msgid "Track Remove"
 msgstr "删除轨道"
 
-#: ../src/TrackPanel.cpp:2765
+#: TrackPanel.cpp:3453
 msgid "Moved gain slider"
-msgstr "已移动音量滑杆"
+msgstr "已移动音量增强滑杆"
 
-#: ../src/TrackPanel.cpp:2765
+#: TrackPanel.cpp:3453
 msgid "Moved pan slider"
-msgstr "已移动平衡滑杆"
+msgstr "已移动左右声道平衡滑杆"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: ../src/TrackPanel.cpp:2766
-#: ../src/TrackPanel.cpp:4518
-#: ../src/TrackPanel.cpp:5677
+#: TrackPanel.cpp:3454 TrackPanel.cpp:5700 TrackPanel.cpp:7253
 msgid "Gain"
-msgstr "音量"
+msgstr "音量增强"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: ../src/TrackPanel.cpp:2766
-#: ../src/TrackPanel.cpp:4453
-#: ../src/TrackPanel.cpp:5684
+#: TrackPanel.cpp:3454 TrackPanel.cpp:5638 TrackPanel.cpp:7260
 msgid "Pan"
-msgstr "平衡"
+msgstr "左右声道平衡"
 
-#: ../src/TrackPanel.cpp:5124
-#: ../src/effects/ChangePitch.cpp:283
+#: TrackPanel.cpp:3581 TrackPanel.cpp:6480
 msgid "up"
 msgstr "向上"
 
-#: ../src/TrackPanel.cpp:5125
-#: ../src/effects/ChangePitch.cpp:283
+#: TrackPanel.cpp:3585 TrackPanel.cpp:6481
 msgid "down"
 msgstr "向下"
 
-#: ../src/TrackPanel.cpp:5120
+#: TrackPanel.cpp:3592 TrackPanel.cpp:6476
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "已移动 '%s' %s"
 
-#: ../src/TrackPanel.cpp:5126
+#: TrackPanel.cpp:3595 TrackPanel.cpp:6482
 msgid "Move Track"
 msgstr "移动轨道"
 
-#: ../src/TrackPanel.cpp:3469
+#: TrackPanel.cpp:4160
 msgid "Expand"
 msgstr "扩展"
 
-#: ../src/TrackPanel.cpp:3469
+#: TrackPanel.cpp:4160
 msgid "Expanded Cut Line"
 msgstr "已展开的剪切线"
 
-#: TrackPanel.cpp:3973
+#: TrackPanel.cpp:4169
 msgid "Merge"
-msgstr ""
+msgstr "合并"
 
-#: TrackPanel.cpp:3973
+#: TrackPanel.cpp:4169
 msgid "Merged Clips"
-msgstr ""
+msgstr "已合并的剪辑"
 
-#: ../src/TrackPanel.cpp:3489
+#: TrackPanel.cpp:4181
 msgid "Removed Cut Line"
 msgstr "移除剪切线"
 
-#: ../src/TrackPanel.cpp:4453
+#: TrackPanel.cpp:5638
 msgid "Adjusted Pan"
-msgstr "调整过的左右平衡"
+msgstr "已调整的左右平衡"
 
-#: ../src/TrackPanel.cpp:4518
+#: TrackPanel.cpp:5700
 msgid "Adjusted gain"
-msgstr "调整过的音量"
+msgstr "调整过的音量增强"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
-#: TrackPanel.cpp:5428
+#: TrackPanel.cpp:5962
 msgid "Can't delete track with active audio"
-msgstr ""
+msgstr "不能删除活动音频轨道"
 
-#: ../src/TrackPanel.cpp:4828
+#: TrackPanel.cpp:6115
 msgid "Stereo, "
 msgstr "立体声,"
 
-#: ../src/TrackPanel.cpp:4831
+#: TrackPanel.cpp:6118
 msgid "Mono, "
-msgstr "单声道,"
+msgstr "单声道,"
 
-#: ../src/TrackPanel.cpp:4833
+#: TrackPanel.cpp:6120
 msgid "Left, "
-msgstr "å·¦,"
+msgstr "左,"
 
-#: ../src/TrackPanel.cpp:4835
+#: TrackPanel.cpp:6122
 msgid "Right, "
-msgstr "右,"
+msgstr "右,"
 
-#: ../src/TrackPanel.cpp:4857
-#: ../src/TrackPanel.cpp:4966
+#: TrackPanel.cpp:6144 TrackPanel.cpp:6290
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "已变更的'%s' 至 %s"
 
-#: ../src/TrackPanel.cpp:4862
+#: TrackPanel.cpp:6149
 msgid "Channel"
 msgstr "声道"
 
-#: ../src/TrackPanel.cpp:4872
+#: TrackPanel.cpp:6170
 #, c-format
 msgid "Split stereo track '%s'"
 msgstr "分割立体声轨道'%s'"
 
-#: ../src/TrackPanel.cpp:4892
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr "分割立体声到单声 '%s'"
+
+#: TrackPanel.cpp:6208
 #, c-format
 msgid "Made '%s' a stereo track"
 msgstr "将'%s'制作为立体声音轨"
 
-#: ../src/TrackPanel.cpp:4895
+#: TrackPanel.cpp:6211
 msgid "Make Stereo"
 msgstr "制作立体声"
 
-#: ../src/TrackPanel.cpp:4930
+#: TrackPanel.cpp:6254
 #, c-format
 msgid "Changed '%s' to %d Hz"
 msgstr "已变更的'%s' 至 %d Hz"
 
-#: ../src/TrackPanel.cpp:4932
+#: TrackPanel.cpp:6256
 msgid "Rate Change"
 msgstr "改变采样率"
 
-#: ../src/TrackPanel.cpp:4970
+#: TrackPanel.cpp:6294
 msgid "Format Change"
 msgstr "格式变更"
 
-#: ../src/TrackPanel.cpp:5088
+#: TrackPanel.cpp:6444
 msgid "Change lower speed limit (%) to:"
-msgstr "最低速率限制(%)变为:"
+msgstr "最低速率限制(%)变为:"
 
-#: ../src/TrackPanel.cpp:5089
-#: ../src/TrackPanel.cpp:5090
+#: TrackPanel.cpp:6445 TrackPanel.cpp:6446
 msgid "Lower speed limit"
 msgstr "最低速率限制"
 
-#: ../src/TrackPanel.cpp:5095
+#: TrackPanel.cpp:6451
 msgid "Change upper speed limit (%) to:"
-msgstr "最高速率限制(%)变为:"
+msgstr "最高速率限制(%)变为:"
 
-#: ../src/TrackPanel.cpp:5096
-#: ../src/TrackPanel.cpp:5097
+#: TrackPanel.cpp:6452 TrackPanel.cpp:6453
 msgid "Upper speed limit"
 msgstr "最高速率限制"
 
-#: ../src/TrackPanel.cpp:5105
+#: TrackPanel.cpp:6461
 #, c-format
 msgid "Set range to '%d' - '%d'"
 msgstr "将范围设定为 '%d' - '%d'"
 
-#: ../src/TrackPanel.cpp:5108
+#: TrackPanel.cpp:6464
 msgid "Set Range"
 msgstr "设定范围"
 
-#: ../src/TrackPanel.cpp:5153
+#: TrackPanel.cpp:6511
 msgid "Change track name to:"
-msgstr "轨道名称变为:"
+msgstr "轨道名称变为:"
 
-#: ../src/TrackPanel.cpp:5154
+#: TrackPanel.cpp:6512
 msgid "Track Name"
 msgstr "轨道名"
 
-#: ../src/TrackPanel.cpp:5157
+#: TrackPanel.cpp:6515
 #, c-format
 msgid "Renamed '%s' to '%s'"
 msgstr "将'%s'改名为'%s'"
 
-#: ../src/TrackPanel.cpp:5160
+#: TrackPanel.cpp:6518
 msgid "Name Change"
 msgstr "改变名称"
 
-#: ../src/TrackPanel.cpp:5215
+#: TrackPanel.cpp:6619
 msgid "Label Track Font"
 msgstr "标签轨的字体"
 
-#: TrackPanel.cpp:6227
+#: TrackPanel.cpp:6631 TrackPanel.cpp:6637
 msgid "Face name"
-msgstr ""
+msgstr "字体名"
 
-#: TrackPanel.cpp:6236
+#: TrackPanel.cpp:6641 TrackPanel.cpp:6648
 msgid "Face size"
-msgstr ""
+msgstr "字体大小"
+
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr "立体声, 999999Hz"
 
-#: ../src/TrackPanel.cpp:5612
+#: TrackPanel.cpp:7180
 msgid "Mute"
 msgstr "静音"
 
-#: ../src/TrackPanel.cpp:5612
+#: TrackPanel.cpp:7180
 msgid "Solo"
 msgstr "独奏"
 
-#: TrackPanelAx.cpp:266
+#: TrackPanelAx.cpp:273
 msgid "TrackView"
-msgstr ""
+msgstr "轨道视图"
 
-#: TrackPanelAx.cpp:274
+#: TrackPanelAx.cpp:281
 msgid "Track Accessible out of sync"
-msgstr ""
+msgstr "轨道存取无法同步"
 
-#: TrackPanelAx.cpp:282
+#: TrackPanelAx.cpp:289
 #, c-format
 msgid "Track %d"
-msgstr ""
+msgstr "轨道 %d"
 
-#: TrackPanelAx.cpp:288
+#: TrackPanelAx.cpp:295
 msgid " Mute On"
-msgstr ""
+msgstr "静音打开"
 
-#: TrackPanelAx.cpp:293
+#: TrackPanelAx.cpp:300
 msgid " Solo On"
-msgstr ""
+msgstr "独奏打开"
 
-#: TrackPanelAx.cpp:297
+#: TrackPanelAx.cpp:304
 msgid " Select On"
-msgstr ""
+msgstr "选择打开"
 
-#: ../src/VoiceKey.cpp:69
-#: ../src/VoiceKey.cpp:219
-#: ../src/VoiceKey.cpp:357
-#: ../src/VoiceKey.cpp:498
-#, fuzzy
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "选段太短,无法使用语音基调。"
 
-#: ../src/VoiceKey.cpp:824
+#: VoiceKey.cpp:843
 msgid "Calibration Results\n"
 msgstr "校准结果\n"
 
-#: ../src/VoiceKey.cpp:825
-#, fuzzy, c-format
+#: VoiceKey.cpp:844
+#, c-format
 msgid "Energy                  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "能量                  -- 均值: %1.4f  标准差: (%1.4f)\n"
+msgstr "能量                  -- 均值: %1.4f  标准差: (%1.4f)\n"
 
-#: ../src/VoiceKey.cpp:826
-#, fuzzy, c-format
+#: VoiceKey.cpp:845
+#, c-format
 msgid "Sign Changes        -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "改变极性      -- 均值: %1.4f  标准差: (%1.4f)\n"
+msgstr "符号改变      -- 均值: %1.4f  标准差: (%1.4f)\n"
 
-#: ../src/VoiceKey.cpp:827
-#, fuzzy, c-format
+#: VoiceKey.cpp:846
+#, c-format
 msgid "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
-msgstr "改变方向  -- 均值: %1.4f  标准差: (%1.4f)\n"
+msgstr "方向改变  -- 均值: %1.4f  标准差: (%1.4f)\n"
 
-#: ../src/WaveTrack.cpp:63
+#: WaveTrack.cpp:88
 msgid "Audio Track"
 msgstr "音轨"
 
-#: WaveTrack.cpp:515 WaveTrack.cpp:534
+#: WaveTrack.cpp:597 WaveTrack.cpp:616 WaveTrack.cpp:1057 WaveTrack.cpp:1076
 msgid "There is not enough room available to paste the selection"
-msgstr ""
+msgstr "没有足够的空间来粘贴选段"
 
-#: WaveTrack.cpp:1583
+#: WaveTrack.cpp:2086
 msgid "There is not enough room available to expand the cut line"
-msgstr ""
+msgstr "没有足够的空间来扩展剪切线"
 
-#: ../src/commands/CommandManager.cpp:324
+#: commands/CommandManager.cpp:518
 #, c-format
 msgid "Plugins 1 to %i"
 msgstr "插件1 至 %i"
 
-#: ../src/commands/CommandManager.cpp:338
+#: commands/CommandManager.cpp:532
 #, c-format
 msgid "Plugins %i to %i"
 msgstr "插件%i 至 %i"
 
-#: commands/CommandManager.cpp:857
-msgid "Disallowed for some reason.  Try selecting some audio first?"
+#: commands/CommandManager.cpp:923
+msgid ""
+"There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
 msgstr ""
+"你的最后的动作有问题,如果你认为这是一个BUG,\n"
+"请精确地告诉我们它在怎样的情况下发生。"
 
-#: commands/CommandManager.cpp:724
-msgid "You can only do this when playing and recording are\n"
+#: commands/CommandManager.cpp:861
+msgid ""
+"You can only do this when playing and recording are\n"
 " stopped.  [Pausing is not sufficient.]"
 msgstr ""
+"你只能在没有播放和录制时这样做\n"
+"[暂停还不够]"
 
-#: commands/CommandManager.cpp:726
-msgid "You must first select some stereo audio for this\n"
+#: commands/CommandManager.cpp:863
+msgid ""
+"You must first select some stereo audio for this\n"
 " to use.  [You can't use this with mono.]"
 msgstr ""
+"你必须先选择一些立体声音频\n"
+"[单声道的不能使用它]"
 
-#: commands/CommandManager.cpp:728
+#: commands/CommandManager.cpp:865
 msgid "You must first select some audio for this to use."
-msgstr ""
+msgstr "你必须先选择一些音频才能使用它。"
 
-#: commands/CommandManager.cpp:730
-msgid "You must first select some audio for this\n"
+#: commands/CommandManager.cpp:867
+msgid ""
+"You must first select some audio for this\n"
 " to use. [Selecting other kinds of track won't work.]"
 msgstr ""
+"你必须先选择一些音频才能使用它。\n"
+"[选择其他类型的轨道没有用]"
 
-#: commands/CommandManager.cpp:903
+#: commands/CommandManager.cpp:872
 msgid "Disallowed"
-msgstr ""
+msgstr "不允许"
 
-#: ../src/commands/CommandManager.cpp:680
+#: commands/CommandManager.cpp:1054
 #, c-format
 msgid "Loaded %d keyboard shortcuts\n"
-msgstr "已读取%d键盘快捷方式\n"
+msgstr "已读取%d键盘快捷键\n"
 
-#: ../src/commands/CommandManager.cpp:682
+#: commands/CommandManager.cpp:1056
 msgid "Loading keyboard shortcuts"
-msgstr "读取键盘快捷方式"
+msgstr "读取键盘快捷键"
 
-#: ../src/effects/Amplify.cpp:41
+#: effects/Amplify.cpp:52
 #, c-format
 msgid "Applied effect: %s %.1f dB"
-msgstr "应用效果: %s %.1f dB"
+msgstr "应用效果: %s %.1f dB"
 
-#: ../src/effects/Amplify.cpp:76
+#: effects/Amplify.cpp:139
 msgid "Amplify"
-msgstr "放大"
+msgstr "增幅"
 
 #: effects/Amplify.cpp:155 effects/Compressor.cpp:476
 #: effects/Normalize.cpp:337
 msgid "by Dominic Mazzoni"
-msgstr ""
+msgstr "(Dominic Mazzoni提供)"
 
-#: ../src/effects/Amplify.cpp:148
+#: effects/Amplify.cpp:168
 msgid "Amplification (dB):"
-msgstr "幅度放大(dB):"
+msgstr "幅度增加(dB):"
 
 #: effects/Amplify.cpp:183
 msgid "Amplification dB"
-msgstr ""
+msgstr "幅度增加 dB"
 
-#: ../src/effects/Amplify.cpp:168
+#: effects/Amplify.cpp:190
 msgid "New Peak Amplitude (dB):"
 msgstr "新建峰值振幅 (dB):"
 
-#: ../src/effects/Amplify.cpp:180
+#: effects/Amplify.cpp:200
 msgid "Allow clipping"
-msgstr "允许剪辑"
+msgstr "允许破音"
 
 #: effects/Amplify.cpp:222 effects/Amplify.cpp:279 effects/Amplify.cpp:323
 msgid "-Infinity"
-msgstr ""
+msgstr "-æ— ç©·"
 
-#: ../src/effects/Amplify.h:46
+#: effects/Amplify.h:37
 msgid "Amplify..."
-msgstr "放大..."
+msgstr "增幅..."
 
-#: ../src/effects/Amplify.h:50
+#: effects/Amplify.h:51
 msgid "Amplifying"
-msgstr "正在放大"
+msgstr "增幅中"
 
 #: effects/AutoDuck.cpp:125
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
-msgstr ""
+msgstr "你选择的轨道不包含音频。自动回避只能处理音轨。"
 
-#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:451
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
-msgstr ""
+msgstr "自动回避"
 
 #: effects/AutoDuck.cpp:137
 msgid "Auto Duck needs a control track which must be placed below the selected track(s)."
-msgstr ""
+msgstr "自动回避需要在选择轨的下面有一条控制轨。"
 
-#: effects/AutoDuck.cpp:463
+#: effects/AutoDuck.cpp:465
 msgid "Auto Duck by Markus Meyer"
-msgstr ""
+msgstr "自动回避(Markus Meyer提供)"
 
-#: effects/AutoDuck.cpp:485
+#: effects/AutoDuck.cpp:487
 msgid "Duck amount:"
-msgstr ""
+msgstr "回避量:"
 
-#: effects/AutoDuck.cpp:490
+#: effects/AutoDuck.cpp:492
 msgid "Maximum pause:"
-msgstr ""
-
-#: ../src/widgets/TimeTextCtrl.cpp:161
+msgstr "最大暂停:"
+
+#. i18n-hint: Name of time display format that shows time in seconds
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:173 prefs/AudioIOPrefs.cpp:181
+#: prefs/AudioIOPrefs.cpp:183 prefs/AudioIOPrefs.cpp:208
+#: prefs/AudioIOPrefs.cpp:210 prefs/MidiIOPrefs.cpp:161
+#: prefs/MidiIOPrefs.cpp:163 prefs/MidiIOPrefs.cpp:187
+#: prefs/MidiIOPrefs.cpp:189 prefs/MidiIOPrefs.cpp:197
+#: widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "秒"
 
-#: effects/AutoDuck.cpp:495
+#: effects/AutoDuck.cpp:497
 msgid "Outer fade down length:"
-msgstr ""
+msgstr "向外减弱长度:"
 
-#: effects/AutoDuck.cpp:500
+#: effects/AutoDuck.cpp:502
 msgid "Outer fade up length:"
-msgstr ""
+msgstr "向外增强长度:"
 
-#: effects/AutoDuck.cpp:505
+#: effects/AutoDuck.cpp:507
 msgid "Inner fade down length:"
-msgstr ""
+msgstr "向内减弱长度:"
 
-#: effects/AutoDuck.cpp:510
+#: effects/AutoDuck.cpp:512
 msgid "Inner fade up length:"
-msgstr ""
+msgstr "向内增强长度:"
 
-#: effects/AutoDuck.cpp:519 effects/Compressor.cpp:479
-#, fuzzy
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:494
 msgid "Threshold:"
-msgstr "阈值:"
+msgstr "阈值:"
 
-#: effects/AutoDuck.cpp:578
+#: effects/AutoDuck.cpp:570
 msgid "Please enter valid values."
-msgstr ""
+msgstr "请输入有效值。"
 
-#: effects/AutoDuck.cpp:712
+#: effects/AutoDuck.cpp:705
 msgid "Preview not available"
-msgstr ""
+msgstr "不提供预览"
 
-#: effects/AutoDuck.h:97
+#: effects/AutoDuck.h:98
 msgid "Auto Duck..."
-msgstr ""
+msgstr "自动回避..."
 
-#: effects/AutoDuck.h:102
+#: effects/AutoDuck.h:115
 msgid "Processing Auto Duck..."
-msgstr ""
+msgstr "自动回避处理中..."
 
-#: ../src/BatchCommandDialog.cpp:103
-#: ../src/BatchProcessDialog.cpp:87
-#: ../src/LangChoice.cpp:94
-#: ../src/Tags.cpp:740
-#: ../src/effects/Amplify.cpp:202
-#: ../src/effects/AvcCompressor.cpp:723
-#: ../src/effects/BassBoost.cpp:344
-#: ../src/effects/ChangeLength.cpp:176
-#: ../src/effects/ChangePitch.cpp:399
-#: ../src/effects/ChangeSpeed.cpp:386
-#: ../src/effects/ChangeTempo.cpp:292
-#: ../src/effects/Compressor.cpp:484
-#: ../src/effects/Echo.cpp:253
-#: ../src/effects/Equalization.cpp:760
-#: ../src/effects/Filter.cpp:493
-#: ../src/effects/Leveller.cpp:244
-#: ../src/effects/NoiseRemoval.cpp:602
-#: ../src/effects/Normalize.cpp:317
-#: ../src/effects/Phaser.cpp:592
-#: ../src/effects/Repeat.cpp:262
-#: ../src/effects/SpikeCleaner.cpp:174
-#: ../src/effects/TruncSilence.cpp:267
-#: ../src/effects/VST/VSTEffect.cpp:98
-#: ../src/effects/VST/VSTEffect.cpp:455
-#: ../src/effects/Wahwah.cpp:578
-#: ../src/effects/ladspa/LadspaEffect.cpp:499
-#: ../src/effects/nyquist/Nyquist.cpp:751
-#: ../src/effects/nyquist/Nyquist.cpp:897
-#: ../src/effects/nyquist/Nyquist.cpp:963
-#: ../src/prefs/FileFormatPrefs.cpp:470
-#: ../src/prefs/PrefsDialog.cpp:100
-#: ../src/widgets/Warning.cpp:56
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:455
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/nyquist/Nyquist.cpp:1053
+#: widgets/ErrorDialog.cpp:101
 msgid "OK"
 msgstr "确定"
 
-#: ../src/effects/BassBoost.cpp:41
+#: effects/BassBoost.cpp:52
 #, c-format
 msgid "Applied effect: %s frequency = %.0f Hz, boost = %.0f dB"
-msgstr "应用效果: %s 频率 = %.0f Hz, 增强 = %.0f dB"
+msgstr "应用效果: %s 频率 = %.0f Hz, 增强 = %.0f dB"
 
 #: effects/BassBoost.cpp:169
 msgid "Bass Boost"
-msgstr ""
+msgstr "低音增强"
 
-#: effects/BassBoost.cpp:182
+#: effects/BassBoost.cpp:182 effects/Phaser.cpp:219 effects/Wahwah.cpp:214
 msgid "by Nasca Octavian Paul"
-msgstr ""
+msgstr "(Nasca Octavian Paul提供)"
 
-#: ../src/effects/BassBoost.cpp:298
+#: effects/BassBoost.cpp:196 effects/ChangePitch.cpp:322
 msgid "Frequency (Hz):"
-msgstr "频率 (Hz):"
+msgstr "频率 (Hz):"
 
 #: effects/BassBoost.cpp:205
 msgid "Frequency Hertz"
-msgstr ""
+msgstr "频率 Hz"
 
-#: ../src/effects/BassBoost.cpp:314
+#: effects/BassBoost.cpp:209
 msgid "Boost (dB):"
-msgstr "増幅 (dB):"
+msgstr "増幅 (dB):"
 
 #: effects/BassBoost.cpp:218
 msgid "Boost dB"
-msgstr ""
+msgstr "増幅 dB"
 
-#: ../src/effects/BassBoost.h:42
+#: effects/BassBoost.h:35
 msgid "BassBoost..."
 msgstr "低音增强..."
 
-#: ../src/effects/BassBoost.h:46
+#: effects/BassBoost.h:49
 msgid "Boosting Bass Frequencies"
-msgstr "低音频率的増幅"
+msgstr "增强低音频率中"
 
-#: ../src/effects/ChangeLength.h:26
+#: effects/ChangeLength.h:26
 msgid "Change Length..."
 msgstr "改变长度..."
 
-#: ../src/effects/ChangeLength.h:30
+#: effects/ChangeLength.h:34
 msgid "Changing Length..."
 msgstr "正在改变长度..."
 
-#: ../src/effects/ChangePitch.cpp:56
+#: effects/ChangePitch.cpp:55
 #, c-format
 msgid "Applied effect: %s %.2f semitones"
-msgstr "应用效果: %s %.2f (半音程)"
+msgstr "应用效果: %s %.2f (半音程)"
 
-#: ../src/effects/ChangePitch.cpp:119
+#: effects/ChangePitch.cpp:198
 msgid "Change Pitch"
 msgstr "改变音高"
 
-#: ../src/effects/ChangePitch.cpp:248
+#: effects/ChangePitch.cpp:256
 msgid "Change Pitch without Changing Tempo"
-msgstr "维持节拍不变同时修改音高"
+msgstr "维持节奏不变,改变音高"
 
-#: ../src/effects/ChangePitch.cpp:253
-#: ../src/effects/ChangeSpeed.cpp:294
-#: ../src/effects/ChangeTempo.cpp:172
+#: effects/ChangePitch.cpp:258 effects/ChangeSpeed.cpp:336
+#: effects/ChangeTempo.cpp:176
 msgid "by Vaughan Johnson && Dominic Mazzoni"
-msgstr "Vaughan Johnson和Dominic Mazzoni提供"
+msgstr "(Vaughan Johnson和Dominic Mazzoni提供)"
 
-#: ../src/effects/ChangePitch.cpp:258
-#: ../src/effects/ChangeTempo.cpp:177
+#: effects/ChangePitch.cpp:260 effects/ChangeTempo.cpp:178
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "使用SoundTouch(Olli Parviainen提供)"
 
 #: effects/ChangePitch.cpp:269
 msgid "Pitch:"
-msgstr ""
+msgstr "音高:"
 
 #: effects/ChangePitch.cpp:274
 msgid "From:"
-msgstr ""
+msgstr "从:"
 
 #: effects/ChangePitch.cpp:275
 msgid "From Pitch"
-msgstr ""
+msgstr "从音高"
 
 #: effects/ChangePitch.cpp:286
 msgid "Up"
-msgstr ""
+msgstr "向上"
 
 #: effects/ChangePitch.cpp:289
 msgid "Down"
-msgstr ""
+msgstr "向下"
 
 #: effects/ChangePitch.cpp:299
 msgid "To:"
-msgstr ""
+msgstr "到:"
 
 #: effects/ChangePitch.cpp:300
 msgid "To Pitch"
-msgstr ""
+msgstr "到音高"
 
-#: ../src/effects/ChangePitch.cpp:305
+#: effects/ChangePitch.cpp:311
 msgid "Semitones (half-steps):"
-msgstr "半音程(半阶):"
+msgstr "半音程(半阶):"
 
 #: effects/ChangePitch.cpp:316
 msgid "Semitones in half-steps"
-msgstr ""
+msgstr "半音程(半阶):"
 
 #: effects/ChangePitch.cpp:326 effects/ChangeSpeed.cpp:369
 #: effects/ChangeTempo.cpp:209 effects/ChangeTempo.cpp:222
 msgid "from"
-msgstr ""
+msgstr "从"
 
 #: effects/ChangePitch.cpp:327
 msgid "From frequency in hertz"
-msgstr ""
+msgstr "从赫兹频率"
 
-#: ../src/effects/ChangePitch.cpp:290
-#: ../src/effects/ChangePitch.cpp:336
-#: ../src/effects/ChangeSpeed.cpp:358
-#: ../src/effects/ChangeTempo.cpp:231
-#: ../src/effects/ChangeTempo.cpp:262
+#: effects/ChangePitch.cpp:331 effects/ChangeSpeed.cpp:374
+#: effects/ChangeTempo.cpp:214 effects/ChangeTempo.cpp:227
 msgid "to"
 msgstr "到"
 
 #: effects/ChangePitch.cpp:332
 msgid "To frequency in seconds"
-msgstr ""
+msgstr "到秒频率"
 
-#: ../src/effects/ChangeLength.cpp:157
-#: ../src/effects/ChangePitch.cpp:359
-#: ../src/effects/ChangeSpeed.cpp:312
-#: ../src/effects/ChangeTempo.cpp:190
+#: effects/ChangePitch.cpp:338 effects/ChangeSpeed.cpp:347
+#: effects/ChangeTempo.cpp:187
 msgid "Percent Change:"
-msgstr "改变百分比(%):"
+msgstr "改变百分比:"
 
 #: effects/ChangePitch.cpp:343 effects/ChangePitch.cpp:356
 #: effects/ChangeSpeed.cpp:358 effects/ChangeTempo.cpp:198
 msgid "Percent Change"
-msgstr ""
+msgstr "改变百分比"
 
-#: ../src/effects/ChangePitch.h:31
+#: effects/ChangePitch.h:31
 msgid "Change Pitch..."
 msgstr "改变音高..."
 
-#: ../src/effects/ChangePitch.h:35
+#: effects/ChangePitch.h:46
 msgid "Changing Pitch"
-msgstr "改变音高"
+msgstr "改变音高中"
 
-#: ../src/effects/ChangeSpeed.cpp:42
-#: ../src/effects/ChangeTempo.cpp:46
+#: effects/ChangeSpeed.cpp:54 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
-msgstr "应用效果: %s %.1f%%"
+msgstr "应用效果: %s %.1f%%"
 
-#: ../src/effects/ChangeSpeed.cpp:49
+#: effects/ChangeSpeed.cpp:298
 msgid "Change Speed"
 msgstr "改变速率"
 
-#. i18n-hint: n/a is an English
-#: ../src/effects/ChangeSpeed.cpp:345
+#. i18n-hint: n/a is an English abbreviation meaning "not applicable"
+#. (in other words, unimportant, not relevant).
+#: effects/ChangeSpeed.cpp:329
 msgid "n/a"
 msgstr "N/A"
 
-#: ../src/effects/ChangeSpeed.cpp:289
+#: effects/ChangeSpeed.cpp:334
 msgid "Change Speed, affecting both Tempo and Pitch"
-msgstr "改变速率(同时影响节拍和音高)"
+msgstr "改变速率(同时影响节奏和音高)"
 
-#: ../src/effects/ChangeSpeed.cpp:299
+#: effects/ChangeSpeed.cpp:338
 msgid "using SampleRate, by Erik de Castro Lopo"
 msgstr "使用SampleRate(Erik de Castro Lopo提供)"
 
 #: effects/ChangeSpeed.cpp:366
 msgid "Standard Vinyl RPM:"
-msgstr ""
+msgstr "标准唱片转速(RPM):"
 
 #: effects/ChangeSpeed.cpp:370
 msgid "From RPM"
-msgstr ""
+msgstr "从RPM"
 
 #: effects/ChangeSpeed.cpp:375
 msgid "To RPM"
-msgstr ""
+msgstr "到RPM"
 
-#: ../src/effects/ChangeSpeed.h:32
+#: effects/ChangeSpeed.h:32
 msgid "Change Speed..."
 msgstr "改变速率..."
 
-#: ../src/effects/ChangeSpeed.h:35
+#: effects/ChangeSpeed.h:46
 msgid "Changing Speed"
-msgstr "改变速率"
+msgstr "改变速率中"
 
-#: ../src/effects/ChangeTempo.cpp:65
+#: effects/ChangeTempo.cpp:141
 msgid "Change Tempo"
-msgstr "改变节拍"
+msgstr "改变节奏"
 
-#: ../src/effects/ChangeTempo.cpp:167
+#: effects/ChangeTempo.cpp:174
 msgid "Change Tempo without Changing Pitch"
-msgstr "保持音高不变,改变节拍"
+msgstr "保持音高不变,改变节奏"
 
 #: effects/ChangeTempo.cpp:206
 msgid "Beats per minute:"
-msgstr ""
+msgstr "每分钟的拍数:"
 
 #: effects/ChangeTempo.cpp:210
 msgid "From beats per minute"
-msgstr ""
+msgstr "从每分钟的拍数"
 
 #: effects/ChangeTempo.cpp:215
 msgid "To beats per minute"
-msgstr ""
+msgstr "到每分钟的拍数"
 
 #: effects/ChangeTempo.cpp:219
 msgid "Length (seconds):"
-msgstr ""
+msgstr "长度 (秒):"
 
 #: effects/ChangeTempo.cpp:223
 msgid "From length in seconds"
-msgstr ""
+msgstr "从长度 (秒)"
 
 #: effects/ChangeTempo.cpp:228
 msgid "To length in seconds"
-msgstr ""
+msgstr "到长度 (秒)"
 
-#: ../src/effects/ChangeTempo.h:35
+#: effects/ChangeTempo.h:35
 msgid "Change Tempo..."
-msgstr "改变节拍..."
+msgstr "改变节奏..."
 
-#: ../src/effects/ChangeTempo.h:39
+#: effects/ChangeTempo.h:49
 msgid "Changing Tempo"
-msgstr "改变节拍"
+msgstr "改变节奏中"
 
 #: effects/ClickRemoval.cpp:314
 msgid "Click Removal"
-msgstr ""
+msgstr "消除嘀哒声..."
 
-#: ../src/effects/ClickRemoval.cpp:349
+#: effects/ClickRemoval.cpp:327
 msgid "Click and Pop Removal by Craig DeForest"
 msgstr "嘀哒声及噼啪声消除(Craig DeForest提供)"
 
-#: effects/ClickRemoval.cpp:350
+#: effects/ClickRemoval.cpp:341
 msgid "Select threshold (lower is more sensitive):"
-msgstr ""
+msgstr "选择阈值(越小越敏感):"
 
 #: effects/ClickRemoval.cpp:350
 msgid "Select threshold"
-msgstr ""
+msgstr "选择阈值"
 
-#: effects/ClickRemoval.cpp:362
+#: effects/ClickRemoval.cpp:354
 msgid "Max spike width (higher is more sensitive):"
-msgstr ""
+msgstr "最大峰值宽度(越大越敏感):"
 
 #: effects/ClickRemoval.cpp:363
 msgid "Max spike width"
-msgstr ""
+msgstr "最大峰值宽度"
 
-#: ../src/effects/ClickRemoval.h:42
+#: effects/ClickRemoval.h:42
 msgid "Click Removal..."
 msgstr "消除嘀哒声..."
 
-#: ../src/effects/ClickRemoval.h:46
+#: effects/ClickRemoval.h:56
 msgid "Removing clicks and pops..."
 msgstr "消除嘀哒声和噼啪声..."
 
-#: ../src/effects/Compressor.cpp:43
+#: effects/Compressor.cpp:461
 msgid "Dynamic Range Compressor"
 msgstr "动态范围压缩器"
 
 #: effects/Compressor.cpp:498
 msgid "Threshold"
-msgstr ""
+msgstr "阈值:"
 
 #: effects/Compressor.cpp:502
 msgid "Ratio:"
-msgstr ""
+msgstr "比率:"
 
 #: effects/Compressor.cpp:506
 msgid "Ratio"
-msgstr ""
+msgstr "比率:"
 
 #: effects/Compressor.cpp:510
-#, fuzzy
 msgid "Attack Time:"
-msgstr "上升时间:"
+msgstr "上升时间:"
 
 #: effects/Compressor.cpp:514
 msgid "Attack Time"
-msgstr ""
+msgstr "上升时间"
 
 #: effects/Compressor.cpp:518
 msgid "Decay Time:"
-msgstr ""
+msgstr "衰减时间:"
 
 #: effects/Compressor.cpp:522
 msgid "Decay Time"
-msgstr ""
+msgstr "衰减时间"
 
-#: ../src/effects/Compressor.cpp:469
-msgid "Normalize to 0dB after compressing"
-msgstr "压缩后归一化至0dB"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr "压缩后增长到 0dB "
 
 #: effects/Compressor.cpp:563
 #, c-format
-#, fuzzy
 msgid "Threshold %d dB"
-msgstr "阈值: %d dB"
+msgstr "阈值: %d dB"
 
 #: effects/Compressor.cpp:564
 #, c-format
 msgid "%3d dB"
-msgstr ""
+msgstr "%3d dB"
 
 #: effects/Compressor.cpp:567
 #, c-format
 msgid "Ratio %.0f to 1"
-msgstr ""
+msgstr "比率: %.0f:1"
 
 #: effects/Compressor.cpp:568
 #, c-format
 msgid "%.0f:1"
-msgstr ""
+msgstr "%.0f:1"
 
 #: effects/Compressor.cpp:571
 #, c-format
 msgid "Ratio %.1f to 1"
-msgstr ""
+msgstr "比率: %.1f:1"
 
 #: effects/Compressor.cpp:572
 #, c-format
 msgid "%.1f:1"
-msgstr ""
+msgstr "%.1f:1"
 
 #: effects/Compressor.cpp:575
 #, c-format
-#, fuzzy
 msgid "Attack Time %.1f secs"
-msgstr "上升时间: %.1f 秒"
+msgstr "上升时间: %.1f 秒"
 
 #: effects/Compressor.cpp:576 effects/Compressor.cpp:579
 #, c-format
 msgid "%.1f secs"
-msgstr ""
+msgstr "%.1f 秒"
 
 #: effects/Compressor.cpp:578
 #, c-format
 msgid "Decay Time %.1f secs"
-msgstr ""
+msgstr "衰减时间: %.1f 秒"
 
-#: ../src/effects/Compressor.h:36
+#: effects/Compressor.h:36
 msgid "Compressor..."
-msgstr "压缩..."
+msgstr "压缩器..."
 
-#: ../src/effects/Compressor.h:40
+#: effects/Compressor.h:50
 msgid "Applying Dynamic Range Compression..."
-msgstr "正在使用动态范围压缩..."
+msgstr "正在应用动态范围压缩..."
+
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr "对照分析"
 
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
-msgstr ""
+msgstr "对照工具前景"
 
 #: effects/Contrast.cpp:79
-msgid "Foreground times selected.\n"
+msgid ""
+"Foreground times selected.\n"
 "Now select background and use Ctrl+Shift+T or menu again."
 msgstr ""
+"前景时间已选择。\n"
+"现在选择背景,然后再使用Ctrl+Shift+T或目录。"
 
 #: effects/Contrast.cpp:127
-msgid "Start time after after end time!\n"
+msgid ""
+"Start time after after end time!\n"
 "Please enter reasonable times."
 msgstr ""
+"开始时间在结束时间后!\n"
+"请输入合理的时间。"
 
 #: effects/Contrast.cpp:137
-msgid "Times are not reasonable!\n"
+msgid ""
+"Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
+"时间不合理!\n"
+"请输入合理的时间。"
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
-#: effects/Contrast.cpp:231
+#: effects/Contrast.cpp:318
 msgid "Contrast Analyzer"
-msgstr ""
+msgstr "对照分析器"
 
-#: effects/Contrast.cpp:235
+#: effects/Contrast.cpp:321
 msgid "Parameters"
-msgstr ""
+msgstr "参数"
 
-#: ../src/ControlToolBar.cpp:515
+#: effects/Contrast.cpp:328 effects/ToneGen.cpp:356
+#: toolbars/ControlToolBar.cpp:186
 msgid "Start"
 msgstr "开始"
 
-#: ../src/ControlToolBar.cpp:521
+#: effects/Contrast.cpp:329 effects/ToneGen.cpp:357
+#: toolbars/ControlToolBar.cpp:189 toolbars/SelectionBar.cpp:156
+#: toolbars/SelectionBar.cpp:159 toolbars/SelectionBar.cpp:262
 msgid "End"
 msgstr "结束"
 
 #: effects/Contrast.cpp:332
 msgid "Volume    "
-msgstr ""
+msgstr "音量"
 
-#: effects/Contrast.cpp:248
+#: effects/Contrast.cpp:335
 msgid "Foreground:"
-msgstr ""
+msgstr "前景:"
 
 #: effects/Contrast.cpp:347
 msgid "Foreground start time"
-msgstr ""
+msgstr "前景开始时间"
 
 #: effects/Contrast.cpp:365
 msgid "Foreground end time"
-msgstr ""
+msgstr "前景结束时间"
+
+#: effects/Contrast.cpp:277 effects/Contrast.cpp:288 effects/Contrast.cpp:371
+#: effects/Contrast.cpp:415
+msgid "Measured"
+msgstr "已测量"
 
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
-msgstr ""
+msgstr "使用选段"
 
-#: effects/Contrast.cpp:271
+#: effects/Contrast.cpp:378
 msgid "Background:"
-msgstr ""
+msgstr "背景:"
 
 #: effects/Contrast.cpp:391
 msgid "Background start time"
-msgstr ""
+msgstr "背景开始时间"
 
 #: effects/Contrast.cpp:409
 msgid "Background end time"
-msgstr ""
+msgstr "背景结束时间"
 
-#: effects/Contrast.cpp:298
+#: effects/Contrast.cpp:426
 msgid "Result"
-msgstr ""
+msgstr "结果"
 
-#: effects/Contrast.cpp:302
+#: effects/Contrast.cpp:430
 msgid "Contrast Result:"
-msgstr ""
+msgstr "对照结果:"
 
-#: Tags.cpp:796 Tags.cpp:1948
+#: effects/Contrast.cpp:433
 msgid "Reset"
-msgstr ""
+msgstr "重设"
 
-#: effects/Contrast.cpp:304
+#: effects/Contrast.cpp:434
 msgid "Difference:"
-msgstr ""
+msgstr "差别:"
 
-#: ../src/AboutDialog.cpp:190
-#: ../src/effects/ChangeLength.cpp:120
+#: effects/Contrast.cpp:445
 msgid "Information"
 msgstr "信息"
 
 #: effects/Contrast.cpp:447
 msgid "For measuring rms volume differences between two selections of audio."
-msgstr ""
+msgstr "测量两个音频选段的音量的均方根的差。"
 
 #: effects/Contrast.cpp:448
 msgid "Help for WCAG2 Audio Contrast Analyzer"
-msgstr ""
+msgstr "WCAG2音频对照分析器的帮助"
 
-#: ../src/ControlToolBar.cpp:149
-msgid "Control"
-msgstr "控制"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
-msgstr ""
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
+msgstr "关闭(保存时间)"
 
-#: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
-#: effects/Contrast.cpp:352
+#: effects/Contrast.cpp:466 effects/Contrast.cpp:472 effects/Contrast.cpp:478
+#: effects/Contrast.cpp:484
 msgid "Measure"
-msgstr ""
+msgstr "测量"
 
 #: effects/Contrast.cpp:511
 msgid "No foreground to measure"
-msgstr ""
+msgstr "没有用来测量的前景"
 
 #: effects/Contrast.cpp:516
 msgid "Measured foreground level"
-msgstr ""
+msgstr "已测量的前景声强级"
 
-#: effects/Contrast.cpp:191 effects/Contrast.cpp:202
+#: effects/Contrast.cpp:517 effects/Contrast.cpp:527
 #, c-format
 msgid "%.1f dB"
-msgstr ""
+msgstr "%.1f dB"
 
 #: effects/Contrast.cpp:521
 msgid "No background to measure"
-msgstr ""
+msgstr "没有用来测量的背景"
 
 #: effects/Contrast.cpp:526
 msgid "Measured background level"
-msgstr ""
+msgstr "已测量的背景声强级"
 
-#: effects/Contrast.cpp:358
+#: effects/Contrast.cpp:532
 msgid "WCAG2 Pass"
-msgstr ""
+msgstr "WCAG2 通过"
 
-#: effects/Contrast.cpp:360
+#: effects/Contrast.cpp:534
 msgid "WCAG2 Fail"
-msgstr ""
+msgstr "WCAG2 失败"
 
 #: effects/Contrast.cpp:535
 msgid "Current difference"
-msgstr ""
+msgstr "当前差别"
 
 #: effects/Contrast.cpp:536
 #, c-format
 msgid "%.1f dB Average rms"
-msgstr ""
+msgstr "平均%.1f dB 均方根"
 
 #: effects/Contrast.cpp:541
 msgid "Please enter valid times."
-msgstr ""
+msgstr "请输入有效次数。"
 
 #: effects/Contrast.cpp:551
 msgid "Export Contrast Result As:"
-msgstr ""
+msgstr "将对照结果导出为:"
 
 #: effects/Contrast.cpp:572
 msgid "WCAG 2.0 Success Criteria 1.4.7 Contrast Results"
-msgstr ""
+msgstr "WCAG 2.0 Success Criteria 1.4.7 对照结果"
 
 #: effects/Contrast.cpp:574
 #, c-format
 msgid "Filename = %s."
-msgstr ""
+msgstr "文件名 = %s。"
 
 #: effects/Contrast.cpp:576
 msgid "Foreground"
-msgstr ""
+msgstr "前景"
 
 #: effects/Contrast.cpp:581 effects/Contrast.cpp:598
 #, c-format
 msgid "Time started = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "开始时间= %2d 时, %2d 分, %.2f 秒."
 
 #: effects/Contrast.cpp:586 effects/Contrast.cpp:603
 #, c-format
 msgid "Time ended = %2d hour(s), %2d minute(s), %.2f seconds."
-msgstr ""
+msgstr "结束时间= %2d 时, %2d 分, %.2f 秒."
 
 #: effects/Contrast.cpp:588 effects/Contrast.cpp:605
 #, c-format
 msgid "Average rms = %.1f dB."
-msgstr ""
+msgstr "平均均方根 = %.1f dB。"
 
 #: effects/Contrast.cpp:590 effects/Contrast.cpp:607
 msgid "Average rms =  dB."
-msgstr ""
+msgstr "平均均方根= dB."
 
 #: effects/Contrast.cpp:593
 msgid "Background"
-msgstr ""
+msgstr "背景"
 
 #: effects/Contrast.cpp:609
 msgid "Results"
-msgstr ""
+msgstr "结果"
 
 #: effects/Contrast.cpp:611
 #, c-format
 msgid "Difference = %.1f Average rms dB."
-msgstr ""
+msgstr "差别 = %.1f 平均均方根 dB."
 
 #: effects/Contrast.cpp:613
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Pass"
-msgstr ""
+msgstr "WCAG 2.0 的 Success Criteria 1.4.7 : 通过"
 
 #: effects/Contrast.cpp:615
 msgid "Success Criteria 1.4.7 of WCAG 2.0: Fail"
-msgstr ""
+msgstr "WCAG 2.0 的 Success Criteria 1.4.7 : 失败"
 
 #: effects/Contrast.cpp:618
 msgid "Data gathered"
-msgstr ""
+msgstr "数据已收集"
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
-#: effects/DtmfGen.cpp:47
+#: effects/DtmfGen.cpp:56
 msgid "DTMF Tone Generator"
-msgstr ""
+msgstr "双音多频音调生成器"
 
-#: effects/DtmfGen.cpp:382
+#: effects/DtmfGen.cpp:456
 msgid "by Salvo Ventura (2006)"
-msgstr ""
+msgstr "(Salvo Ventura (2006)提供)"
 
-#: effects/DtmfGen.cpp:386
+#: effects/DtmfGen.cpp:460
 msgid "DTMF sequence:"
-msgstr ""
+msgstr "双音多频序列:"
 
-#: ../src/effects/ToneGen.cpp:306
+#: effects/DtmfGen.cpp:463 effects/Noise.cpp:242 effects/ToneGen.cpp:322
+#: effects/ToneGen.cpp:360
 msgid "Amplitude (0-1)"
 msgstr "振幅 (0-1)"
 
 #: effects/DtmfGen.cpp:465
 msgid "Duration:"
-msgstr ""
+msgstr "持续时间:"
 
-#: effects/DtmfGen.cpp:407
+#: effects/DtmfGen.cpp:487
 msgid "Tone/silence ratio:"
-msgstr ""
+msgstr "音/空白比率:"
 
-#: effects/DtmfGen.cpp:418
+#: effects/DtmfGen.cpp:497
 msgid "Duty cycle:"
-msgstr ""
+msgstr "占空比:"
 
-#: effects/DtmfGen.cpp:420
+#: effects/DtmfGen.cpp:499
 msgid "Tone duration:"
-msgstr ""
+msgstr "音的持续时间:"
 
-#: effects/DtmfGen.cpp:421 effects/DtmfGen.cpp:423 effects/DtmfGen.cpp:494
-#: effects/DtmfGen.cpp:495
+#: effects/DtmfGen.cpp:500 effects/DtmfGen.cpp:502 effects/DtmfGen.cpp:578
+#: effects/DtmfGen.cpp:579
 msgid "ms"
-msgstr ""
+msgstr "毫秒"
 
-#: effects/DtmfGen.cpp:422
+#: effects/DtmfGen.cpp:501
 msgid "Silence duration:"
-msgstr ""
+msgstr "空白持续时间"
 
-#: effects/DtmfGen.h:41
+#: effects/DtmfGen.h:39
 msgid "DTMF Tones..."
-msgstr ""
+msgstr "双音多频音调..."
 
-#: effects/DtmfGen.h:45
+#: effects/DtmfGen.h:53
 #, c-format
 msgid "Applied effect: Generate DTMF tones, %.6lf seconds"
-msgstr ""
+msgstr "应用效果:生成双音多频音调, %.6lf 秒"
 
-#: effects/DtmfGen.h:49
+#: effects/DtmfGen.h:57
 msgid "Generating DTMF tones"
-msgstr ""
+msgstr "生成双音多频音调中"
 
-#: ../src/effects/Echo.cpp:37
+#: effects/Echo.cpp:48
 #, c-format
 msgid "Applied effect: %s delay = %f seconds, decay factor = %f"
-msgstr "应用效果: %s 时延 = %f 秒, 衰减系数 = %f"
+msgstr "应用效果: %s 时延 = %f 秒, 衰减系数 = %f"
 
-#: ../src/effects/Echo.cpp:43
-#: ../src/effects/Echo.cpp:188
+#: effects/Echo.cpp:170
 msgid "Echo"
 msgstr "回声"
 
-#: ../src/effects/Echo.cpp:193
+#. i18n-hint: && in here is an escape character to get a single & on
+#. * screen, so keep it as is
+#: effects/Echo.cpp:195 effects/Repeat.cpp:199
 msgid "by Dominic Mazzoni && Vaughan Johnson"
 msgstr "Dominic Mazzoni和Vaughan Johnson提供"
 
-#: ../src/effects/Echo.cpp:203
+#: effects/Echo.cpp:207
 msgid "Delay time (seconds):"
-msgstr "延迟时间 (秒):"
+msgstr "延迟时间 (秒):"
 
-#: ../src/effects/Echo.cpp:222
+#: effects/Echo.cpp:212
 msgid "Decay factor:"
 msgstr "衰減系数"
 
-#: ../src/effects/Echo.h:34
+#: effects/Echo.h:34
 msgid "Echo..."
 msgstr "回声..."
 
-#: ../src/effects/Echo.h:38
+#: effects/Echo.h:48
 msgid "Performing Echo"
 msgstr "执行回声"
 
-#: effects/Effect.cpp:378
+#: effects/Effect.cpp:467
 msgid "Preparing preview"
-msgstr ""
+msgstr "准备预览中"
 
-#: effects/Effect.cpp:404
+#: effects/Effect.cpp:497
 msgid "Previewing"
-msgstr ""
+msgstr "预览中"
 
-#: ../src/ControlToolBar.cpp:774
-#: ../src/effects/Effect.cpp:339
+#: effects/Effect.cpp:512
 msgid "Error while opening sound device. Please check the output device settings and the project sample rate."
 msgstr "打开声音设备出错。请检查输出设备的设置及采样率。"
 
-#: ../src/effects/Effect.h:100
+#: effects/Effect.h:100 effects/TimeScale.cpp:52
 #, c-format
 msgid "Applied effect: %s"
-msgstr "应用效果: %s"
+msgstr "应用效果: %s"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:329
 msgid "B-spline"
-msgstr ""
+msgstr "B-样条"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:330
 msgid "Cosine"
-msgstr ""
+msgstr "余弦函数"
 
-#: effects/Equalization.cpp:1119
+#: effects/Equalization.cpp:331
 msgid "Cubic"
-msgstr ""
+msgstr "立方函数"
 
-#: ../src/effects/Equalization.cpp:180
+#: effects/Equalization.cpp:367 effects/Equalization.cpp:416
 msgid "Equalization"
 msgstr "均衡"
 
-#: effects/Equalization.cpp:865
+#: effects/Equalization.cpp:994
 msgid "Error loading EQ curve"
-msgstr ""
+msgstr "载入均衡曲线错误"
 
-#: effects/Equalization.cpp:1013
+#: effects/Equalization.cpp:1033
 msgid "custom"
-msgstr ""
+msgstr "定制"
+
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr "保存均衡曲线错误"
 
-#: effects/Equalization.cpp:971
+#. i18n-hint: && in here is an escape character to get a single &
+#. * on screen, so keep it as is
+#: effects/Equalization.cpp:1101
 msgid "Equalization, by Martyn Shaw && Mitch Golden"
-msgstr ""
+msgstr "均衡,(Martyn Shaw 和 Mitch Golden提供)"
 
-#: effects/Equalization.cpp:992
+#: effects/Equalization.cpp:1122
 msgid "Max dB"
-msgstr ""
+msgstr "最大 dB"
 
-#: effects/Equalization.cpp:994
+#: effects/Equalization.cpp:1124
 msgid "Min dB"
-msgstr ""
+msgstr "最小 dB"
 
-#: effects/Equalization.cpp:1093
+#: effects/Equalization.cpp:1197
 msgid "kHz"
-msgstr ""
+msgstr "kHz"
 
-#: effects/Equalization.cpp:1110
+#: effects/Equalization.cpp:1214
 msgid "Draw curves"
-msgstr ""
+msgstr "绘制曲线"
 
-#: effects/Equalization.cpp:1115
+#: effects/Equalization.cpp:1219
 msgid "Graphic EQ"
-msgstr ""
+msgstr "图形化均衡"
 
-#: effects/Equalization.cpp:1131
+#: effects/Equalization.cpp:1233
 msgid "Linear frequency scale"
-msgstr ""
+msgstr "线性频率缩放"
 
-#: effects/Equalization.cpp:1140
+#: effects/Equalization.cpp:1242
 msgid "Length of filter:"
-msgstr ""
+msgstr "过滤长度:"
 
-#: effects/Equalization.cpp:1048
+#: effects/Equalization.cpp:1263
 msgid "Select curve:"
-msgstr ""
+msgstr "选择曲线:"
 
-#: effects/Equalization.cpp:1058 effects/Equalization.cpp:2244
+#: effects/Equalization.cpp:1273 effects/Equalization.cpp:2512
+#: export/ExportMultiple.cpp:899
 msgid "Save As..."
-msgstr ""
+msgstr "保存为..."
 
-#: effects/Equalization.cpp:1064
+#: effects/Equalization.cpp:1279
 msgid "Flat"
-msgstr ""
+msgstr "平坦的"
 
-#: effects/Equalization.cpp:2243
+#: effects/Equalization.cpp:2511
 msgid "Enter the desired name of the curve"
-msgstr ""
+msgstr "输入需要的曲线的名字"
 
-#: effects/Equalization.cpp:2343
+#: effects/Equalization.cpp:2611 export/ExportFFmpegDialogs.cpp:1212
 msgid "Confirm Deletion"
-msgstr ""
+msgstr "确认删除"
 
-#: ../src/effects/Equalization.h:43
+#: effects/Equalization.h:84
 msgid "Equalization..."
 msgstr "均衡..."
 
-#: ../src/effects/Equalization.h:47
+#: effects/Equalization.h:98
 msgid "Performing Equalization"
-msgstr "使用均衡器"
+msgstr "使用均衡"
 
-#: ../src/effects/Fade.h:24
+#: effects/Fade.h:24
 msgid "Fade In"
 msgstr "æ·¡å…¥"
 
-#: ../src/effects/Fade.h:28
+#: effects/Fade.h:38
 msgid "Fading In"
-msgstr "æ·¡å…¥"
+msgstr "淡入中"
 
-#: ../src/effects/Fade.h:44
+#: effects/Fade.h:54
 msgid "Fade Out"
 msgstr "淡出"
 
-#: ../src/effects/Fade.h:48
+#: effects/Fade.h:68
 msgid "Fading Out"
-msgstr "淡出"
+msgstr "淡出中"
 
 #: effects/FindClipping.cpp:49
 msgid "Detect clipping"
-msgstr ""
+msgstr "探测破音"
 
 #: effects/FindClipping.cpp:91
 msgid "Clipping"
-msgstr ""
+msgstr "破音"
 
 #: effects/FindClipping.cpp:211
 msgid "Find Clipping"
-msgstr ""
+msgstr "寻找破音"
 
 #: effects/FindClipping.cpp:222
 msgid "by Leland Lucius"
-msgstr ""
+msgstr "(Leland Lucius提供)"
 
 #: effects/FindClipping.cpp:234
 msgid "Start threshold (samples):"
-msgstr ""
+msgstr "开始阈值(样本数):"
 
 #: effects/FindClipping.cpp:238
 msgid "Stop threshold (samples):"
-msgstr ""
+msgstr "停止阈值(样本数):"
 
 #: effects/FindClipping.cpp:250
 msgid "Start and stop must be greater than 0."
-msgstr ""
+msgstr "开始和停止必须大于0"
 
 #: effects/FindClipping.h:37
 msgid "Find Clipping..."
-msgstr ""
+msgstr "寻找破音..."
 
-#: effects/FindClipping.h:47
+#: effects/FindClipping.h:54
 msgid "Detecting clipping"
-msgstr ""
+msgstr "探测破音"
 
-#: ../src/effects/Invert.h:27
+#: effects/Invert.h:27
 msgid "Invert"
-msgstr "上下反转"
+msgstr "上下翻转"
 
-#: ../src/effects/Invert.h:31
+#: effects/Invert.h:41
 msgid "Inverting"
-msgstr "上下反转"
+msgstr "上下翻转中"
 
-#: ../src/BatchCommands.cpp:103
-#: ../src/effects/Leveller.cpp:114
+#: effects/Leveller.cpp:192
 msgid "Leveller"
 msgstr "幅度拉平器"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:205
 msgid "None-Skip"
-msgstr ""
+msgstr "不间断"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:206
 msgid "Light"
-msgstr ""
+msgstr "轻微"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:207
 msgid "Moderate"
-msgstr ""
+msgstr "中等"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:208
 msgid "Heavy"
-msgstr ""
+msgstr "强"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:209
 msgid "Heavier"
-msgstr ""
+msgstr "较强"
 
-#: effects/Leveller.cpp:47
+#: effects/Leveller.cpp:210
 msgid "Heaviest"
-msgstr ""
+msgstr "最强"
 
-#: effects/TruncSilence.cpp:332
+#: effects/Leveller.cpp:214 effects/TruncSilence.cpp:331
 msgid "by Lynn Allan"
-msgstr ""
+msgstr "(Lynn Allan提供)"
 
-#: ../src/effects/Leveller.cpp:205
+#: effects/Leveller.cpp:224
 msgid "Degree of Leveling"
-msgstr "幅度拉平度"
+msgstr "拉平度"
 
-#: effects/Leveller.cpp:226
+#: effects/Leveller.cpp:228
 msgid "Degree of Leveling:"
-msgstr ""
+msgstr "拉平度"
 
-#: ../src/effects/Leveller.cpp:223
+#: effects/Leveller.cpp:236
 msgid "Noise Threshold (Hiss/Hum/Ambient Noise)"
 msgstr "噪声阈值('嘶嘶'/'嗡嗡'/环境背景噪声)"
 
-#: effects/Leveller.cpp:238
-#, fuzzy
+#: effects/Leveller.cpp:240
 msgid "Threshold for Noise:"
-msgstr "噪声阈值:"
+msgstr "噪声阈值:"
 
-#: ../src/effects/Leveller.h:28
+#: effects/Leveller.h:28
 msgid "Leveller..."
 msgstr "幅度拉平..."
 
-#: ../src/effects/Leveller.h:32
+#: effects/Leveller.h:42
 msgid "Applying Leveller..."
-msgstr "正在应用幅度拉平..."
+msgstr "应用幅度拉平中..."
 
-#: effects/LoadEffects.cpp:102
+#: effects/LoadEffects.cpp:103
 msgid "Generator"
-msgstr ""
+msgstr "生成器"
 
-#: effects/LoadEffects.cpp:104
+#: effects/LoadEffects.cpp:105
 msgid "Instrument"
-msgstr ""
+msgstr "乐器"
 
-#: effects/LoadEffects.cpp:106
+#: effects/LoadEffects.cpp:107
 msgid "Oscillator"
-msgstr ""
+msgstr "振荡器"
 
-#: effects/LoadEffects.cpp:108
+#: effects/LoadEffects.cpp:109
 msgid "Utility"
-msgstr ""
+msgstr "工具"
 
-#: effects/LoadEffects.cpp:110
+#: effects/LoadEffects.cpp:111
 msgid "Converter"
-msgstr ""
+msgstr "转换器"
 
-#: effects/LoadEffects.cpp:112
+#: effects/LoadEffects.cpp:113
 msgid "Analyser"
-msgstr ""
+msgstr "分析器"
 
-#: ../src/MixerToolBar.cpp:102
-msgid "Mixer"
-msgstr "混音器"
-
-#: effects/LoadEffects.cpp:116
+#: effects/LoadEffects.cpp:117
 msgid "Simulator"
-msgstr ""
+msgstr "模拟器"
 
-#: effects/LoadEffects.cpp:118
+#: effects/LoadEffects.cpp:119
 msgid "Delay"
-msgstr ""
+msgstr "延迟"
 
-#: effects/LoadEffects.cpp:120
+#: effects/LoadEffects.cpp:121
 msgid "Modulator"
-msgstr ""
+msgstr "调制器"
 
-#: effects/LoadEffects.cpp:122
+#: effects/LoadEffects.cpp:123
 msgid "Reverb"
-msgstr ""
+msgstr "回响"
 
-#: ../src/effects/Phaser.cpp:65
+#: effects/LoadEffects.cpp:125 effects/Phaser.cpp:208
 msgid "Phaser"
-msgstr "移相器"
+msgstr "不均匀相移器"
 
-#: effects/LoadEffects.cpp:126
+#: effects/LoadEffects.cpp:127
 msgid "Flanger"
-msgstr ""
+msgstr "均匀相移器"
 
-#: effects/LoadEffects.cpp:128
+#: effects/LoadEffects.cpp:129
 msgid "Chorus"
-msgstr ""
+msgstr "和音"
 
-#: effects/LoadEffects.cpp:130
+#: effects/LoadEffects.cpp:131
 msgid "Filter"
-msgstr ""
+msgstr "过滤器"
 
-#: effects/LoadEffects.cpp:132
+#: effects/LoadEffects.cpp:133
 msgid "Lowpass"
-msgstr ""
+msgstr "低通"
 
-#: effects/LoadEffects.cpp:134
+#: effects/LoadEffects.cpp:135
 msgid "Bandpass"
-msgstr ""
+msgstr "带通"
 
-#: effects/LoadEffects.cpp:136
+#: effects/LoadEffects.cpp:137
 msgid "Highpass"
-msgstr ""
+msgstr "高通"
 
-#: effects/LoadEffects.cpp:138
+#: effects/LoadEffects.cpp:139
 msgid "Comb"
-msgstr ""
+msgstr "梳子状"
 
-#: effects/LoadEffects.cpp:140
+#: effects/LoadEffects.cpp:141
 msgid "Allpass"
-msgstr ""
+msgstr "全通"
 
-#: effects/LoadEffects.cpp:142
+#: effects/LoadEffects.cpp:143
 msgid "Equaliser"
-msgstr ""
+msgstr "均衡器"
 
-#: effects/LoadEffects.cpp:144
+#: effects/LoadEffects.cpp:145
 msgid "Parametric"
-msgstr ""
+msgstr "参数的"
 
-#: effects/LoadEffects.cpp:146
+#: effects/LoadEffects.cpp:147
 msgid "Multiband"
-msgstr ""
+msgstr "多带"
 
-#: effects/LoadEffects.cpp:148
+#: effects/LoadEffects.cpp:149
 msgid "Spectral Processor"
-msgstr ""
+msgstr "频谱处理器"
 
-#: effects/LoadEffects.cpp:150
+#: effects/LoadEffects.cpp:151
 msgid "Pitch Shifter"
-msgstr ""
+msgstr "音高位移器"
 
-#: effects/LoadEffects.cpp:152
+#: effects/LoadEffects.cpp:153
 msgid "Amplifier"
-msgstr ""
+msgstr "增幅器"
 
-#: effects/LoadEffects.cpp:154
+#: effects/LoadEffects.cpp:155
 msgid "Distortion"
-msgstr ""
+msgstr "扭曲"
 
-#: effects/LoadEffects.cpp:156
+#: effects/LoadEffects.cpp:157
 msgid "Waveshaper"
-msgstr ""
+msgstr "波形改造器"
 
-#: effects/LoadEffects.cpp:158
+#: effects/LoadEffects.cpp:159
 msgid "Dynamics Processor"
-msgstr ""
+msgstr "动态范围处理器"
 
-#: effects/LoadEffects.cpp:160
+#: effects/LoadEffects.cpp:161
 msgid "Compressor"
-msgstr ""
+msgstr "压缩器"
 
-#: effects/LoadEffects.cpp:162
+#: effects/LoadEffects.cpp:163
 msgid "Expander"
-msgstr ""
+msgstr "扩展器"
 
-#: effects/LoadEffects.cpp:164
+#: effects/LoadEffects.cpp:165
 msgid "Limiter"
-msgstr ""
+msgstr "限制器"
 
-#: effects/LoadEffects.cpp:166
+#: effects/LoadEffects.cpp:167
 msgid "Gate"
-msgstr ""
+msgstr "é—¨"
 
-#: ../src/BatchCommands.cpp:101
-#: ../src/effects/NoiseRemoval.cpp:148
+#: effects/LoadEffects.cpp:200 effects/NoiseRemoval.cpp:729
 msgid "Noise Removal"
 msgstr "噪声消除"
 
-#: effects/LoadEffects.cpp:201
+#: effects/LoadEffects.cpp:202
 msgid "Pitch and Tempo"
-msgstr ""
+msgstr "音高和节奏"
 
-#: effects/LoadEffects.cpp:203
+#: effects/LoadEffects.cpp:204
 msgid "Timeline Changer"
-msgstr ""
+msgstr "时间线改变器"
 
-#: effects/LoadEffects.cpp:205
+#: effects/LoadEffects.cpp:206
 msgid "Time"
-msgstr ""
+msgstr "时间"
 
-#: effects/LoadEffects.cpp:207
+#: effects/LoadEffects.cpp:208
 msgid "Onsets"
-msgstr ""
+msgstr "声音开始"
 
 #: effects/Noise.cpp:37
 msgid "White"
-msgstr ""
+msgstr "白色"
 
 #: effects/Noise.cpp:38
 msgid "Pink"
-msgstr ""
+msgstr "粉红色"
 
 #: effects/Noise.cpp:39
 msgid "Brown"
-msgstr ""
+msgstr "棕色"
 
 #: effects/Noise.cpp:41
 msgid "Noise Generator"
-msgstr ""
+msgstr "噪声生成器"
 
-#: effects/Noise.cpp:256
+#: effects/Noise.cpp:241
 msgid "Noise type"
-msgstr ""
+msgstr "噪声类型"
 
 #: effects/Noise.h:41
 msgid "Noise..."
-msgstr ""
+msgstr "噪声..."
 
-#: effects/Noise.h:45
+#: effects/Noise.h:55
 #, c-format
 msgid "Applied effect: Generate Noise, %.6lf seconds"
-msgstr ""
+msgstr "应用效果:生成噪声, %.6lf秒"
 
-#: effects/Noise.h:49
+#: effects/Noise.h:59
 msgid "Generating Noise"
-msgstr ""
+msgstr "生成噪声中"
 
 #: effects/NoiseRemoval.cpp:192
 #, c-format
-msgid "Could not open file:\n"
+msgid ""
+"Could not open file:\n"
 "  %s"
 msgstr ""
+"不能打开文件: \n"
+"  %s"
 
 #: effects/NoiseRemoval.cpp:277
-#, fuzzy
 msgid "Attempt to run Noise Removal without a noise profile.\n"
-msgstr "试图在没有噪声特征的情况下执行噪声消除\n"
-".\n"
+msgstr "试图在没有噪声特征的情况下执行噪声消除.\n"
 
-#: ../src/effects/NoiseRemoval.cpp:539
+#: effects/NoiseRemoval.cpp:818
 msgid "Step 1"
 msgstr "步骤1"
 
-#: effects/NoiseRemoval.cpp:765
-msgid "Select a few seconds of just noise so Audacity knows what to filter out,\n"
+#: effects/NoiseRemoval.cpp:819
+msgid ""
+"Select a few seconds of just noise so Audacity knows what to filter out,\n"
 "then click Get Noise Profile:"
 msgstr ""
+"选择几秒只有噪声的音频让Audacity知道过滤什么,\n"
+"然后点击获得噪声特征:"
 
-#: ../src/effects/NoiseRemoval.cpp:560
+#: effects/NoiseRemoval.cpp:820
 msgid "Step 2"
 msgstr "步骤2"
 
-#: effects/NoiseRemoval.cpp:767
-msgid "Select all of the audio you want filtered, choose how much noise you want\n"
+#: effects/NoiseRemoval.cpp:821
+msgid ""
+"Select all of the audio you want filtered, choose how much noise you want\n"
 "filtered out, and then click 'OK' to remove noise.\n"
 msgstr ""
+"选择所有你想过滤的音频,选择你要过滤多少噪声,\n"
+"然后点击'确定'消除噪声\n"
 
-#: ../src/effects/NoiseRemoval.cpp:522
+#: effects/NoiseRemoval.cpp:826
 msgid "Noise Removal by Dominic Mazzoni"
 msgstr "噪声消除(Dominic Mazzoni提供)"
 
-#: ../src/effects/NoiseRemoval.cpp:550
+#: effects/NoiseRemoval.cpp:834
 msgid "Get Noise Profile"
 msgstr "取得噪声特征"
 
-#: effects/NoiseRemoval.cpp:791
+#: effects/NoiseRemoval.cpp:845
 msgid "Noise reduction (dB):"
-msgstr ""
+msgstr "噪声减少(dB):"
 
 #: effects/NoiseRemoval.cpp:850
 msgid "Noise reduction"
-msgstr ""
+msgstr "噪声减少"
 
-#: effects/NoiseRemoval.cpp:799
+#: effects/NoiseRemoval.cpp:854
 msgid "Frequency smoothing (Hz):"
-msgstr ""
+msgstr "频率圆滑(Hz):"
 
 #: effects/NoiseRemoval.cpp:859
 msgid "Frequency smoothing"
-msgstr ""
+msgstr "频率圆滑"
 
-#: effects/NoiseRemoval.cpp:807
+#: effects/NoiseRemoval.cpp:863
 msgid "Attack/decay time (secs):"
-msgstr ""
+msgstr "上升/下降时间(秒):"
 
 #: effects/NoiseRemoval.cpp:868
 msgid "Attach/decay time"
-msgstr ""
+msgstr "上升/下降时间"
 
-#: ../src/effects/NoiseRemoval.h:35
+#: effects/NoiseRemoval.h:35
 msgid "Noise Removal..."
 msgstr "噪声消除..."
 
-#: ../src/effects/NoiseRemoval.h:40
+#: effects/NoiseRemoval.h:50
 msgid "Creating Noise Profile"
-msgstr "创建噪声特征"
+msgstr "创建噪声特征中"
 
-#: ../src/effects/NoiseRemoval.h:42
+#: effects/NoiseRemoval.h:52
 msgid "Removing Noise"
-msgstr "消除噪声"
+msgstr "消除噪声中"
 
-#: effects/Normalize.cpp:68
+#. i18n-hint: First %s is the effect name, 2nd and 3rd are either true or
+#. * false (translated below) if those options were selected
+#: effects/Normalize.cpp:70
 #, c-format
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
-msgstr ""
+msgstr "应用效果: %s 消除 直流偏移 = %s, 归一振幅 = %s"
 
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
-msgid "false"
-msgstr ""
-
-#: effects/Normalize.cpp:70 effects/Normalize.cpp:71
+#. i18n-hint: true here means that the option was
+#. * selected. Opposite false if not selected
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
-msgstr ""
+msgstr "是"
 
-#: effects/Normalize.cpp:73
+#: effects/Normalize.cpp:77
 #, c-format
 msgid ", maximum amplitude = %.1f dB"
-msgstr ""
+msgstr ", 最到振幅 = %.1f dB"
 
-#: ../src/BatchCommands.cpp:99
-#: ../src/BatchCommands.cpp:104
-#: ../src/BatchCommands.cpp:112
-#: ../src/effects/Normalize.cpp:76
+#: effects/Normalize.cpp:327
 msgid "Normalize"
 msgstr "归一化"
 
-#: effects/Normalize.cpp:351 effects/Normalize.cpp:352
+#: effects/Normalize.cpp:351
 msgid "Remove any DC offset (center on 0.0 vertically)"
-msgstr ""
+msgstr "消除直流偏移(垂直以0.0为中心)"
 
-#: effects/Normalize.cpp:357
+#: effects/Normalize.cpp:354
 msgid "Normalize maximum amplitude to:"
-msgstr ""
+msgstr "归一化最大振幅到:"
 
-#: effects/Normalize.cpp:336
+#: effects/Normalize.cpp:362
 msgid "-"
-msgstr ""
+msgstr "-"
 
 #: effects/Normalize.cpp:367
 msgid "Maximum amplitude dB"
-msgstr ""
+msgstr "最大振幅 dB"
 
-#: ../src/effects/Normalize.h:31
+#: effects/Normalize.h:33
 msgid "Normalize..."
 msgstr "归一化..."
 
-#: ../src/effects/Normalize.h:35
+#: effects/Normalize.h:49
 msgid "Normalizing..."
-msgstr "归一化..."
+msgstr "归一化中..."
 
-#: ../src/effects/Phaser.cpp:53
+#: effects/Phaser.cpp:65
 #, c-format
 msgid "Applied effect: %s %d stages, %.0f%% wet, frequency = %.1f Hz, start phase = %.0f deg, depth = %d, feedback = %.0f%%"
-msgstr "应用效果: %s %d 阶段, %.0f%% 湿(wet), 频率 = %.1f Hz, 起始相位 = %.0f 度, 深度 = %d, 反馈 = %.0f%%"
+msgstr "应用效果: %s %d 阶段, %.0f%% 湿, 频率 = %.1f Hz, 起始相位 = %.0f 度, 深度 = %d, 反馈 = %.0f%%"
 
-#: ../src/effects/Phaser.cpp:471
+#: effects/Phaser.cpp:226
 msgid "Stages:"
-msgstr "阶段:"
+msgstr "阶段:"
 
 #: effects/Phaser.cpp:229
 msgid "Stages"
-msgstr ""
+msgstr "阶段"
 
 #: effects/Phaser.cpp:231
 msgid "Dry/Wet:"
-msgstr ""
+msgstr "干/湿:"
 
 #: effects/Phaser.cpp:234
 msgid "Dry Wet"
-msgstr ""
+msgstr "干湿"
 
-#: ../src/effects/Phaser.cpp:513
-#: ../src/effects/Wahwah.cpp:483
+#: effects/Phaser.cpp:236 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
-msgstr "LFO 频率 (Hz):"
+msgstr "低频振荡频率 (Hz):"
 
 #: effects/Phaser.cpp:239 effects/Wahwah.cpp:224
 msgid "LFO frequency in hertz"
-msgstr ""
+msgstr "低频振荡频率 (Hz):"
 
-#: ../src/effects/Phaser.cpp:529
-#: ../src/effects/Wahwah.cpp:499
+#: effects/Phaser.cpp:241 effects/Wahwah.cpp:226
 msgid "LFO Start Phase (deg.):"
-msgstr "LFO 开始相位 (角度):"
+msgstr "低频振荡开始相位 (度):"
 
 #: effects/Phaser.cpp:244 effects/Wahwah.cpp:229
 msgid "LFO start phase in degrees"
-msgstr ""
+msgstr "低频振荡开始相位 (度):"
 
-#: ../src/effects/Phaser.cpp:545
+#: effects/Phaser.cpp:246
 msgid "Depth:"
-msgstr "深度:"
+msgstr "深度:"
 
 #: effects/Phaser.cpp:249 effects/Wahwah.cpp:234
 msgid "Depth in percent"
-msgstr ""
+msgstr "深度百分比"
 
-#: ../src/effects/Phaser.cpp:561
+#: effects/Phaser.cpp:251
 msgid "Feedback (%):"
-msgstr "反馈 (%):"
+msgstr "反馈 (%):"
 
 #: effects/Phaser.cpp:254
 msgid "Feedback in percent"
-msgstr ""
+msgstr "反馈百分比"
 
-#: ../src/effects/Phaser.h:38
+#: effects/Phaser.h:45
 msgid "Phaser..."
 msgstr "移相器..."
 
-#: ../src/effects/Phaser.h:42
+#: effects/Phaser.h:59
 msgid "Applying Phaser"
 msgstr "正在应用移相器"
 
-#: effects/Repair.cpp:94
-msgid "The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
+#: effects/Repair.cpp:99
+msgid ""
+"The Repair effect is intended to be used on very short sections of damaged audio (up to 128 samples).\n"
 "\n"
 "Zoom in and select a tiny fraction of a second to repair."
 msgstr ""
+"修复效果是用在很短的一段损坏的音频上的(最多128个样本)。\n"
+"\n"
+"放大,然后选择很微小的一段来进行修复。"
 
 #: effects/Repair.cpp:105
-msgid "Repair works by using audio data outside the selection region.\n"
+msgid ""
+"Repair works by using audio data outside the selection region.\n"
 "\n"
 "Please select a region that has audio touching at least one side of it.\n"
 "\n"
 "The more surrounding audio, the better it performs."
 msgstr ""
+"修复是通过使用选段外的数据起作用的。\n"
+"\n"
+"请选择一个至少有翼侧有音频的选段。\n"
+"\n"
+"周围的音频越多,修复效果越好。"
 
-#: effects/Repair.h:33
+#: effects/Repair.h:43
 msgid "Repairing damaged audio"
-msgstr ""
+msgstr "修复受损音频中"
 
-#: ../src/effects/Repeat.cpp:36
+#: effects/Repeat.cpp:50
 #, c-format
 msgid "Repeated %d times"
 msgstr "重复%d次"
 
-#: ../src/effects/Repeat.cpp:62
+#: effects/Repeat.cpp:76
 msgid "Tracks are too long to repeat the selection."
 msgstr "轨道太长,无法重复选段。"
 
-#: ../src/effects/Repeat.cpp:63
-#: ../src/effects/Repeat.cpp:67
+#: effects/Repeat.cpp:77 effects/Repeat.cpp:186
 msgid "Repeat"
 msgstr "重复"
 
-#: effects/Repeat.cpp:212
-#, fuzzy
+#: effects/Repeat.cpp:211
 msgid "Number of times to repeat:"
-msgstr "重复次数:"
+msgstr "重复次数:"
 
-#: effects/Repeat.cpp:221
+#: effects/Repeat.cpp:220
 msgid "New selection length: hh:mm:ss"
-msgstr ""
+msgstr "新的选段长度: 时:分:秒"
 
-#: ../src/effects/Repeat.cpp:252
-#: ../src/effects/Repeat.cpp:291
+#: effects/Repeat.cpp:252
 msgid "New selection length: "
-msgstr "新的选段长度:"
+msgstr "新的选段长度:"
 
-#: widgets/TimeTextCtrl.cpp:199
+#. i18n-hint: Name of time display format that shows time in hours, minutes
+#. * and seconds
+#: effects/Repeat.cpp:261 widgets/TimeTextCtrl.cpp:270
 msgid "hh:mm:ss"
-msgstr ""
+msgstr "时:分:秒"
 
-#: ../src/effects/Repeat.h:32
+#: effects/Repeat.h:33
 msgid "Repeat..."
 msgstr "重复..."
 
-#: ../src/effects/Repeat.h:36
+#: effects/Repeat.h:47
 msgid "Performing Repeat"
-msgstr "重复执行"
+msgstr "重复中"
 
-#: ../src/effects/Reverse.h:30
+#: effects/Reverse.h:30
 msgid "Reverse"
 msgstr "前后反转"
 
-#: ../src/effects/Reverse.h:34
+#: effects/Reverse.h:44
 msgid "Reversing"
-msgstr "前后反转"
+msgstr "前后反转中"
 
 #: effects/Silence.cpp:32
 msgid "Silence Generator"
-msgstr ""
+msgstr "静音生成器"
 
 #: effects/Silence.h:34
-#, fuzzy
 msgid "Silence..."
 msgstr "静音..."
 
-#: ../src/effects/Silence.h:39
+#: effects/Silence.h:48
 msgid "Generating Silence"
-msgstr "产生静音"
+msgstr "生成静音中"
 
-#: ../src/effects/Silence.h:44
+#: effects/Silence.h:53
 #, c-format
 msgid "Applied effect: Generate Silence, %.6lf seconds"
-msgstr "应用效果: 生成静音, %.6lf 秒"
+msgstr "应用效果: 生成静音, %.6lf 秒"
 
 #: effects/SimplePairedTwoTrack.h:120
 msgid "Sorry, this effect cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "抱歉,当立体声轨道不匹配时,此效果无法执行。"
 
-#: ../src/effects/SpikeCleaner.cpp:52
+#: effects/SpikeCleaner.cpp:69
 msgid "Spike Cleaner"
-msgstr "峰刺清除"
+msgstr "峰刺清除器"
 
-#: ../src/effects/SpikeCleaner.cpp:143
+#: effects/SpikeCleaner.cpp:160
 msgid "SpikeCleaner by Lynn Allan"
-msgstr "峰刺清除(Lynn Allan提供)"
+msgstr "峰刺清除器(Lynn Allan提供)"
 
-#: ../src/effects/SpikeCleaner.cpp:148
-msgid "Max Spike Duration (milliseconds): \n"
+#: effects/SpikeCleaner.cpp:165
+msgid ""
+"Max Spike Duration (milliseconds): \n"
 "(99999 or greater is off)"
-msgstr "最大峰刺持续时间 (毫秒): \n"
+msgstr ""
+"最大峰刺持续时间 (毫秒): \n"
 "(99999 及更大值表示关闭)"
 
-#: ../src/effects/SpikeCleaner.cpp:161
-#: ../src/effects/TruncSilence.cpp:255
+#: effects/SpikeCleaner.cpp:178
 msgid "Theshold for silence: "
-msgstr "静音阈值:"
+msgstr "静音阈值:"
 
-#: ../src/effects/SpikeCleaner.h:27
+#: effects/SpikeCleaner.h:27
 msgid "Spike Cleaner..."
-msgstr "峰刺清除..."
+msgstr "峰刺清除器..."
 
-#: ../src/effects/SpikeCleaner.h:31
+#: effects/SpikeCleaner.h:35
 msgid "Applying Spike Cleaner..."
-msgstr "正在进行峰刺清除..."
+msgstr "峰刺清除中..."
 
 #: effects/StereoToMono.h:23
-#, fuzzy
 msgid "&Stereo to Mono"
-msgstr "立体声至单声道"
+msgstr "立体声至单声道(&S)"
 
 #: effects/StereoToMono.h:38
-#, fuzzy
 msgid "Applying Stereo to Mono"
 msgstr "正在将立体声转换为单声道"
 
 #: effects/TimeScale.cpp:140
 msgid "Time Scale"
-msgstr ""
+msgstr "时间缩放"
 
 #: effects/TimeScale.cpp:176
 msgid "Sliding Time Scale/Pitch Shift"
-msgstr ""
+msgstr "调节时间缩放/音高变化"
 
 #: effects/TimeScale.cpp:178
 msgid "using SBSMS, by Clayton Otey"
-msgstr ""
+msgstr "使用SBSMS(Clayton Otey提供)"
 
 #: effects/TimeScale.cpp:187
 msgid "Initial Tempo Change (%):"
-msgstr ""
+msgstr "初始节奏改变(%):"
 
 #: effects/TimeScale.cpp:191
 msgid "Final Tempo Change (%):"
-msgstr ""
+msgstr "最终节奏改变(%):"
 
 #: effects/TimeScale.cpp:202
 msgid "Initial Tempo Change (%)"
-msgstr ""
+msgstr "初始节奏改变(%):"
 
 #: effects/TimeScale.cpp:211
 msgid "Final Tempo Change (%)"
-msgstr ""
+msgstr "最终节奏改变(%):"
 
 #: effects/TimeScale.cpp:219
 msgid "Initial Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "初始音高变化(半音)[-12到12]:"
 
 #: effects/TimeScale.cpp:223
 msgid "Final Pitch Shift (semitones) [-12 to 12]:"
-msgstr ""
+msgstr "最终音高变化(半音)[-12到12]:"
 
 #: effects/TimeScale.h:33
 msgid "Sliding Time Scale/Pitch Shift..."
-msgstr ""
+msgstr "调节时间缩放/音高变化..."
 
 #: effects/TimeScale.h:47
 msgid "Changing Tempo/Pitch"
-msgstr ""
+msgstr "改变节奏/音高"
 
-#: effects/ToneGen.cpp:59
+#: effects/ToneGen.cpp:61
 #, c-format
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
-msgstr ""
+msgstr "应用效果:生成 %s 波 %s, 频率= %.2f Hz,振幅 = %.2f, %.6lf 秒"
 
-#: ../src/widgets/Meter.cpp:343
+#: effects/ToneGen.cpp:69 widgets/Meter.cpp:412
 msgid "Linear"
 msgstr "线性"
 
 #: effects/ToneGen.cpp:70
 msgid "Logarithmic"
-msgstr ""
+msgstr "对数"
 
-#: effects/ToneGen.cpp:66
+#: effects/ToneGen.cpp:71
 msgid "Chirp Generator"
-msgstr ""
+msgstr "蜂鸣生成器"
 
-#: ../src/effects/ToneGen.cpp:50
+#: effects/ToneGen.cpp:71
 msgid "Tone Generator"
 msgstr "单音调发生器"
 
-#: ../src/effects/ToneGen.cpp:55
+#: effects/ToneGen.cpp:72
 msgid "Sine"
 msgstr "正弦"
 
-#: ../src/effects/ToneGen.cpp:56
+#: effects/ToneGen.cpp:73
 msgid "Square"
 msgstr "平方"
 
-#: ../src/effects/ToneGen.cpp:57
+#: effects/ToneGen.cpp:74
 msgid "Sawtooth"
-msgstr "锯齿波"
+msgstr "锯齿"
 
-#: effects/ToneGen.cpp:70
+#: effects/ToneGen.cpp:75
 msgid "Square, no alias"
-msgstr ""
+msgstr "平方,无混叠"
 
-#: effects/ToneGen.cpp:298
+#: effects/ToneGen.cpp:321 effects/ToneGen.cpp:358
 msgid "Frequency (Hz)"
-msgstr ""
+msgstr "频率 (Hz)"
 
-#: ../src/effects/ToneGen.cpp:276
+#: effects/ToneGen.cpp:349
 msgid "Waveform:"
-msgstr "波形:"
+msgstr "波形:"
 
 #: effects/ToneGen.cpp:358
 msgid "Frequency Hertz Start"
-msgstr ""
+msgstr "开始频率 Hz"
 
 #: effects/ToneGen.cpp:359
 msgid "Frequency Hertz End"
-msgstr ""
+msgstr "结束频率 Hz"
 
 #: effects/ToneGen.cpp:360
 msgid "Amplitude Start"
-msgstr ""
+msgstr "开始振幅"
 
 #: effects/ToneGen.cpp:361
 msgid "Amplitude End"
-msgstr ""
+msgstr "结束振幅"
 
-#: effects/ToneGen.cpp:365
+#: effects/ToneGen.cpp:366
 msgid "Interpolation:"
-msgstr ""
+msgstr "内插算法:"
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Chirp..."
-msgstr ""
+msgstr "蜂鸣..."
 
-#: effects/ToneGen.h:39
+#: effects/ToneGen.h:40
 msgid "Tone..."
-msgstr ""
+msgstr "单音..."
 
-#: effects/ToneGen.h:43
+#: effects/ToneGen.h:54
 msgid "Generating Chirp"
-msgstr ""
+msgstr "生成蜂鸣中"
 
-#: ../src/effects/ToneGen.h:43
+#: effects/ToneGen.h:54
 msgid "Generating Tone"
-msgstr "生成单音调"
+msgstr "生成单音中"
 
 #: effects/TruncSilence.cpp:113
 msgid "All tracks must have the same sample rate"
-msgstr ""
+msgstr "所有的规定必须是同一采样率"
 
-#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:321
 msgid "Truncate Silence"
-msgstr ""
+msgstr "截去静音"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr ""
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr "(Lynn Allan 与 Philip Van Baren提供)"
 
-#: prefs/AudioIOPrefs.cpp:175 prefs/AudioIOPrefs.cpp:178
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr "最小静音持续时间"
+
+#: effects/TruncSilence.cpp:348 prefs/AudioIOPrefs.cpp:197
+#: prefs/AudioIOPrefs.cpp:200 prefs/MidiIOPrefs.cpp:174
+#: prefs/MidiIOPrefs.cpp:177
 msgid "milliseconds"
-msgstr ""
+msgstr "毫秒"
+
+#: effects/TruncSilence.cpp:345
+msgid "Max silence duration:"
+msgstr "最大静音持续时间:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr "静音压缩"
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ":1"
 
-#: effects/TruncSilence.cpp:351
+#: effects/TruncSilence.cpp:350
 msgid "Threshold for silence:"
-msgstr ""
+msgstr "静音阈值:"
 
-#: effects/TruncSilence.cpp:375
-msgid "   Duration must be at least 1 millisecond"
+#: effects/TruncSilence.cpp:506
+msgid ""
+"   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
 msgstr ""
+"   持续时间至少要1毫秒\n"
+"   压缩率至少要1:1"
 
-#: ../src/effects/TruncSilence.h:29
+#: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
-msgstr "截去静音部分..."
+msgstr "截去静音..."
 
-#: ../src/effects/TruncSilence.h:33
+#: effects/TruncSilence.h:42
 msgid "Truncating Silence..."
-msgstr "正在截去静音部分..."
+msgstr "截去静音中..."
+
+#: effects/ladspa/LadspaEffect.cpp:615 effects/lv2/LV2Effect.cpp:824
+msgid "Effect Settings"
+msgstr "效果设定"
+
+#: effects/ladspa/LadspaEffect.cpp:580 effects/ladspa/LadspaEffect.cpp:588
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "æ— "
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr "预设:"
 
-#: ../src/effects/VST/VSTEffect.cpp:180
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "抱歉,当立体声轨道不匹配时,VST效果无法执行。"
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr "载入"
 
-#: ../src/effects/VST/VSTEffect.cpp:196
-msgid "Can't process replacing"
-msgstr "不能进行替换操作"
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr "保存"
 
-#: ../src/effects/VST/VSTEffect.cpp:410
-msgid "VST Plug-in parameters:"
-msgstr "VST 插件参数:"
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr "载人VST程序:"
 
-#: ../src/effects/Wahwah.cpp:46
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr "载人VST程序错误"
+
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr "VST程序保存为:"
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr "该参数文件由%s保存。继续吗?"
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr "应用效果:"
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr "立体声的两条音轨必须采样率相同。"
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr "立体声的两条音轨必须长度相同。"
+
+#: effects/Wahwah.cpp:61
 #, c-format
 msgid "Applied effect: %s frequency = %.1f Hz, start phase = %.0f deg, depth = %.0f%%, resonance = %.1f, frequency offset = %.0f%%"
-msgstr "应用效果: %s 频率 = %.1f Hz, 开始相位 = %.0f 度, 深度 = %.0f%%, 谐振 = %.1f, 频率偏移 = %.0f%%"
+msgstr "应用效果: %s 频率 = %.1f Hz, 开始相位 = %.0f 度, 深度 = %.0f%%, 谐振 = %.1f, 频率偏移 = %.0f%%"
 
-#: ../src/effects/Wahwah.cpp:57
+#: effects/Wahwah.cpp:203
 msgid "Wahwah"
-msgstr "呜咿(Wahwah)"
+msgstr "哇哇"
 
-#: ../src/effects/Wahwah.cpp:515
+#: effects/Wahwah.cpp:231
 msgid "Depth (%):"
-msgstr "深度 (%):"
+msgstr "深度 (%):"
 
-#: ../src/effects/Wahwah.cpp:531
+#: effects/Wahwah.cpp:236
 msgid "Resonance:"
-msgstr "共鸣:"
+msgstr "共鸣:"
 
 #: effects/Wahwah.cpp:239
 msgid "Resonance"
-msgstr ""
+msgstr "共鸣:"
 
-#: ../src/effects/Wahwah.cpp:547
+#: effects/Wahwah.cpp:241
 msgid "Wah Frequency Offset (%):"
-msgstr "\"呜咿\"声(Wah)频率偏移 (%):"
+msgstr "哇哇频率偏移 (%):"
 
 #: effects/Wahwah.cpp:244
 msgid "Wah frequency offset in percent"
-msgstr ""
+msgstr "哇哇频率偏移 (%):"
 
-#: ../src/effects/Wahwah.h:34
+#: effects/Wahwah.h:41
 msgid "Wahwah..."
-msgstr "\"呜咿\"声(Wahwah)..."
+msgstr "哇哇..."
 
-#: ../src/effects/Wahwah.h:38
+#: effects/Wahwah.h:55
 msgid "Applying Wahwah"
-msgstr "正在使用'呜咿'声(Wahwah)产生器"
+msgstr "应用哇哇中"
 
-#: ../src/effects/audiounits/AudioUnitEffect.cpp:100
-#: ../src/effects/ladspa/LadspaEffect.cpp:138
+#: effects/audiounits/AudioUnitEffect.cpp:138
+#: effects/ladspa/LadspaEffect.cpp:176 effects/lv2/LV2Effect.cpp:192
 #, c-format
 msgid "Performing Effect: %s"
-msgstr "执行效果: %s"
+msgstr "执行效果: %s"
 
-#: effects/ladspa/LadspaEffect.cpp:189
+#: effects/ladspa/LadspaEffect.cpp:196 effects/lv2/LV2Effect.cpp:212
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "抱歉,当立体声轨道不匹配时,插件效果无法执行。"
 
-#: ../src/effects/NoiseRemoval.cpp:574
-#: ../src/effects/ladspa/LadspaEffect.cpp:436
-#: ../src/effects/ladspa/LadspaEffect.cpp:444
-#: ../src/prefs/QualityPrefs.cpp:167
-msgid "None"
-msgstr "æ— "
-
-#: ../src/effects/ladspa/LadspaEffect.cpp:438
+#: effects/ladspa/LadspaEffect.cpp:582 effects/lv2/LV2Effect.cpp:799
+#: effects/vamp/VampEffect.cpp:397
 msgid "Author: "
-msgstr "作者:"
+msgstr "作者:"
 
-#: ../src/effects/ladspa/LadspaEffect.cpp:453
-msgid "Effect Settings"
-msgstr "效果设定"
-
-#: ../src/effects/Silence.cpp:127
-#: ../src/effects/ToneGen.cpp:319
+#: effects/ladspa/LadspaEffect.cpp:710 effects/ladspa/LadspaEffect.cpp:713
+#: effects/lv2/LV2Effect.cpp:835 effects/lv2/LV2Effect.cpp:838
 msgid "Length (seconds)"
 msgstr "长度 (秒)"
 
-#: effects/lv2/LV2Effect.cpp:849 effects/lv2/LV2Effect.cpp:852
+#: effects/lv2/LV2Effect.cpp:850 effects/lv2/LV2Effect.cpp:853
 msgid "Note length (seconds)"
-msgstr ""
+msgstr "音符长度 (秒)"
 
-#: effects/lv2/LV2Effect.cpp:860 effects/lv2/LV2Effect.cpp:863
+#: effects/lv2/LV2Effect.cpp:861 effects/lv2/LV2Effect.cpp:864
 msgid "Note velocity"
-msgstr ""
+msgstr "音符速度"
 
-#: effects/lv2/LV2Effect.cpp:871 effects/lv2/LV2Effect.cpp:874
+#: effects/lv2/LV2Effect.cpp:872 effects/lv2/LV2Effect.cpp:875
 msgid "Note key"
-msgstr ""
+msgstr "音符键"
 
-#: ../src/effects/nyquist/Nyquist.cpp:215
+#: effects/nyquist/Nyquist.cpp:257
 msgid "Applying Nyquist Effect..."
-msgstr "正在应用奈奎斯特(Nyquist)效果..."
+msgstr "正在应用Nyquist效果..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:222
+#: effects/nyquist/Nyquist.cpp:264 effects/nyquist/Nyquist.cpp:326
 msgid "Nyquist Prompt..."
-msgstr "奈奎斯特(Nyquist)表达式..."
+msgstr "Nyquist表达式..."
 
-#: ../src/effects/nyquist/Nyquist.cpp:285
+#: effects/nyquist/Nyquist.cpp:327
 msgid "Enter Nyquist Command: "
-msgstr "输入奈奎斯特(Nyquist)命令:"
+msgstr "输入Nyquist命令:"
 
-#: ../src/effects/nyquist/Nyquist.cpp:375
+#: effects/nyquist/Nyquist.cpp:417
 msgid "Sorry, cannot apply effect on stereo tracks where the tracks don't match."
 msgstr "抱歉,当立体声轨道不匹配时,无法执行效果操作。"
 
-#: ../src/effects/nyquist/Nyquist.cpp:402
+#: effects/nyquist/Nyquist.cpp:445
 msgid "Nyquist"
-msgstr "奈奎斯特(Nyquist)"
+msgstr "Nyquist"
 
-#: ../src/effects/nyquist/Nyquist.cpp:403
+#: effects/nyquist/Nyquist.cpp:446
 msgid "Nyquist Output: "
-msgstr "奈奎斯特(Nyquist)输出: "
+msgstr "Nyquist输出: "
 
-#: effects/nyquist/Nyquist.cpp:594 effects/nyquist/Nyquist.cpp:605
+#: effects/nyquist/Nyquist.cpp:603 effects/nyquist/Nyquist.cpp:614
 msgid "Nyquist returned the value:"
-msgstr ""
+msgstr "Nyquist返回的值:"
 
-#: ../src/effects/nyquist/Nyquist.cpp:606
+#: effects/nyquist/Nyquist.cpp:656
 msgid "Nyquist did not return audio.\n"
-msgstr "奈奎斯特(Nyquist)运算没有返回音频。\n"
+msgstr "Nyquist运算没有返回音频。\n"
 
-#: ../src/effects/nyquist/Nyquist.cpp:617
+#: effects/nyquist/Nyquist.cpp:667
 msgid "Nyquist returned too many audio channels.\n"
-msgstr "奈奎斯特(Nyquist)返回了过多的音频声道。\n"
+msgstr "Nyquist返回了过多的音频声道。\n"
 
-#: effects/vamp/VampEffect.cpp:75
+#: effects/vamp/VampEffect.cpp:80
 #, c-format
 msgid "Extracting features: %s"
-msgstr ""
+msgstr "解读效果中: %s"
 
-#: effects/vamp/VampEffect.cpp:106
+#: effects/vamp/VampEffect.cpp:111
 msgid "Sorry, Vamp Plug-ins cannot be run on stereo tracks where the individual channels of the track do not match."
-msgstr ""
+msgstr "抱歉,当立体声轨道不匹配时,Vamp插件无法执行操作。"
 
-#: effects/vamp/VampEffect.cpp:120
+#: effects/vamp/VampEffect.cpp:125
 msgid "Sorry, failed to load Vamp Plug-in."
-msgstr ""
+msgstr "抱歉,载入Vamp插件失败。"
 
-#: effects/vamp/VampEffect.cpp:228
+#: effects/vamp/VampEffect.cpp:233
 msgid "Sorry, Vamp Plug-in failed to initialize."
-msgstr ""
+msgstr "抱歉,Vamp插件初始化失败。"
 
-#: effects/vamp/VampEffect.cpp:376
+#: effects/vamp/VampEffect.cpp:389
 msgid " - Vamp audio analysis plugin"
-msgstr ""
+msgstr "- Vamp音频分析插件"
 
-#: effects/vamp/VampEffect.cpp:423
+#: effects/vamp/VampEffect.cpp:425
 msgid "Plugin Settings"
-msgstr ""
+msgstr "插件设定"
 
-#: effects/vamp/VampEffect.cpp:446
+#: effects/vamp/VampEffect.cpp:444 effects/vamp/VampEffect.cpp:450
 msgid "Program"
-msgstr ""
+msgstr "程序"
 
 #: export/Export.cpp:469
 msgid "All the selected audio is muted."
-msgstr ""
+msgstr "所有选择的音频被静音。"
 
 #: export/Export.cpp:471
 msgid "All the audio is muted."
-msgstr ""
+msgstr "所有的音频被静音。"
 
-#: export/Export.cpp:445
+#: export/Export.cpp:527
 msgid "Export File"
-msgstr ""
+msgstr "导出文件"
 
-#: export/Export.cpp:453
+#: export/Export.cpp:536
 msgid "&Options..."
-msgstr ""
+msgstr "选项(&O)..."
 
-#: ../src/export/Export.cpp:205
+#: export/Export.cpp:577
 msgid "Are you sure you want to save the file as \""
 msgstr "您确认要将该文件存为\""
 
-#: export/Export.cpp:495
+#: export/Export.cpp:597
 #, c-format
-msgid "You are about to save a %s file with the name \"%s\".\n"
+msgid ""
+"You are about to save a %s file with the name \"%s\".\n"
 "\n"
 "Normally these files end in \".%s\", and some programs will not open files with nonstandard extensions.\n"
 "\n"
 "Are you sure you want to save the file under this name?"
 msgstr ""
+"你即将把一个 %s 文件保存为 \"%s\"。\n"
+"\n"
+"通常这些文件以\".%s\"结尾,有些程序打不开不标准扩展名的文件。\n"
+"\n"
+"你确定要把文件用这个文件名保存吗?"
 
-#: export/Export.cpp:516
+#: export/Export.cpp:618
 #, c-format
 msgid "A file named \"%s\" already exists.  Replace?"
-msgstr ""
+msgstr "一个名叫\"%s\"的文件已经存在,替换吗?"
 
-#: ../src/export/Export.cpp:143
+#: export/Export.cpp:720
 msgid "Your tracks will be mixed down to two stereo channels in the exported file."
 msgstr "您的轨道将在导出文件中被合成为双声道立体声。"
 
-#: ../src/export/Export.cpp:147
+#: export/Export.cpp:725
 msgid "Your tracks will be mixed down to a single mono channel in the exported file."
 msgstr "您的轨道将在导出文件中被合成为单个声道。"
 
-#: export/Export.cpp:171
+#: export/Export.cpp:736
 msgid "Advanced Mixing Options"
-msgstr ""
+msgstr "高级混音选项"
 
-#: export/Export.cpp:632
+#: export/Export.cpp:940
 #, c-format
 msgid "Channel: %2d"
-msgstr ""
+msgstr "通道: %2d"
 
-#: export/Export.cpp:755
+#: export/Export.cpp:1056
 msgid " - Left"
-msgstr ""
+msgstr "- 左"
 
-#: export/Export.cpp:756
+#: export/Export.cpp:1057
 msgid " - Right"
-msgstr ""
+msgstr "- 右"
 
-#: export/Export.cpp:1072
+#: export/Export.cpp:1082
 msgid "Mixer Panel"
-msgstr ""
+msgstr "混音器面板"
 
-#: export/Export.cpp:775 export/Export.cpp:829
+#: export/Export.cpp:1088 export/Export.cpp:1135
 #, c-format
 msgid "Output Channels: %2d"
-msgstr ""
+msgstr "输出声道: %2d"
 
 #: export/ExportCL.cpp:55
 msgid "Specify Command Line Encoder"
-msgstr ""
+msgstr "设定命令行编码器"
 
-#: export/ExportCL.cpp:70
+#: export/ExportCL.cpp:68
 msgid "Command Line Export Setup"
-msgstr ""
+msgstr "命令行导出设置"
 
-#: export/ExportCL.cpp:75
+#: export/ExportCL.cpp:73
 msgid "Command:"
-msgstr ""
+msgstr "命令:"
 
-#: export/ExportCL.cpp:80
+#: export/ExportCL.cpp:78
 msgid "Show output"
-msgstr ""
+msgstr "显示输出"
 
-#: export/ExportCL.cpp:87
+#: export/ExportCL.cpp:85
 #, c-format
 msgid "Data will be piped to standard in. \"%f\" will be replaced with output filename selected."
-msgstr ""
+msgstr "数据会用管道连接到标准输入。\"%f\"会被选择的输出文件名替换。"
 
-#: export/ExportCL.cpp:219
+#: export/ExportCL.cpp:220
 msgid "(external program)"
-msgstr ""
+msgstr "(外部程序)"
 
-#: ../src/export/ExportPCM.cpp:85
+#: export/ExportCL.cpp:251 export/ExportPCM.cpp:484
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "无法将音频导出至 %s"
 
-#: ../src/export/ExportCL.cpp:144
+#: export/ExportCL.cpp:325
 msgid "Exporting the selected audio using command-line encoder"
 msgstr "用命令行方式的编码器导出选定的音频"
 
-#: ../src/export/ExportCL.cpp:146
+#: export/ExportCL.cpp:326
 msgid "Exporting the entire project using command-line encoder"
 msgstr "用命令行方式的编码器导出全部的音频"
 
-#: export/ExportCL.cpp:387
+#: export/ExportCL.cpp:388
 msgid "Command Output"
+msgstr "命令行输出"
+
+#: export/ExportFFmpeg.cpp:61
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
 msgstr ""
+"需要正确配置FFmpeg才能继续。\n"
+"你可以在'喜好选项‘ =>'库'中配置它。"
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr "AMR支持不可分发"
 
-#: export/ExportFFmpeg.cpp:59
-msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+#: export/ExportFFmpeg.cpp:232
+msgid ""
+"Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
+"需要正确配置FFmpeg才能继续。\n"
+"你可以在'喜好选项‘ =>'库'中配置它。\n"
+"\n"
+"注意,AMR不被我们的FFmepg安装程序支持,\n"
+"需要你自己编译FFmepg。"
 
 #: export/ExportFFmpeg.cpp:394
 #, c-format
-msgid "FFmpeg cannot find audio codec 0x%x.\n"
+msgid ""
+"FFmpeg cannot find audio codec 0x%x.\n"
 "Support for this codec is probably not compiled in."
 msgstr ""
+"FFmpeg找不到音频编码 0x%x。\n"
+"该编码的支持很可能没有被编译入。"
 
 #: export/ExportFFmpeg.cpp:614
 #, c-format
 msgid "Attempted to export %d channels, but max. channels for selected output format is %d"
-msgstr ""
+msgstr "尝试导出 %d 个声道,但选择的输出格式支持的最大声道数是 %d"
 
-#: export/ExportFFmpeg.cpp:638
+#: export/ExportFFmpeg.cpp:643
 #, c-format
 msgid "Exporting selected audio as %s"
-msgstr ""
+msgstr "正以 %s 导出选定的音频"
 
-#: export/ExportFFmpeg.cpp:639
+#: export/ExportFFmpeg.cpp:644
 #, c-format
 msgid "Exporting entire file as %s"
-msgstr ""
+msgstr "以 %s 导出全部的音频"
 
-#: export/ExportMP3.cpp:1863
+#: export/ExportFFmpeg.cpp:707 export/ExportMP3.cpp:1772
 msgid "Invalid sample rate"
-msgstr ""
+msgstr "无效的采样率"
 
-#: export/ExportFFmpeg.cpp:715
+#: export/ExportFFmpeg.cpp:720
 #, c-format
-msgid "The project sample rate (%d) is not supported by the current output\n"
+msgid ""
+"The project sample rate (%d) is not supported by the current output\n"
 "file format.  "
-msgstr ""
+msgstr "该工程的采样率 (%d)不被当前的输出文件格式支持。"
 
-#: export/ExportFFmpeg.cpp:718
+#: export/ExportFFmpeg.cpp:723
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the current output file format.  "
 msgstr ""
+"该工程的采样率 (%d)和比特率(%d kbps)组合\n"
+"不被当前的输出文件格式支持。"
 
-#: export/ExportMP3.cpp:1882
+#: export/ExportFFmpeg.cpp:726 export/ExportMP3.cpp:1791
 msgid "You may resample to one of the rates below."
-msgstr ""
+msgstr "你可以重采样到下述任一采样率。"
 
-#: export/ExportMP3.cpp:1905
+#: export/ExportFFmpeg.cpp:754 export/ExportMP3.cpp:1814
 msgid "Sample Rates"
-msgstr ""
+msgstr "采样率"
 
 #: export/ExportFFmpegDialogs.cpp:93
 msgid "Specify AC3 Options"
-msgstr ""
+msgstr "AC3特定选项"
 
-#: export/ExportFFmpegDialogs.cpp:117
+#: export/ExportFFmpegDialogs.cpp:112
 msgid "AC3 Export Setup"
-msgstr ""
+msgstr "AC3导出设置"
 
-#: ../src/prefs/FileFormatPrefs.cpp:197
+#: export/ExportFFmpegDialogs.cpp:116 export/ExportFFmpegDialogs.cpp:234
+#: export/ExportFFmpegDialogs.cpp:298 export/ExportFFmpegDialogs.cpp:364
+#: export/ExportFFmpegDialogs.cpp:924 export/ExportMP2.cpp:131
 msgid "Bit Rate:"
-msgstr "比特率:"
+msgstr "比特率:"
 
-#: export/ExportFFmpegDialogs.cpp:162
+#: export/ExportFFmpegDialogs.cpp:157
 msgid "Specify AAC Options"
-msgstr ""
+msgstr "AAC特定选项"
 
-#: export/ExportFFmpegDialogs.cpp:178
+#: export/ExportFFmpegDialogs.cpp:168
 msgid "AAC Export Setup"
-msgstr ""
+msgstr "AAC导出设置"
+
+#: export/ExportFFmpegDialogs.cpp:927 export/ExportOGG.cpp:84
+msgid "Quality:"
+msgstr "质量:"
 
-#: export/ExportFFmpegDialogs.cpp:217
+#: export/ExportFFmpegDialogs.cpp:211
 msgid "Specify AMR-NB Options"
-msgstr ""
+msgstr "AMR-NB特定选项"
 
-#: export/ExportFFmpegDialogs.cpp:241
+#: export/ExportFFmpegDialogs.cpp:230
 msgid "AMR-NB Export Setup"
-msgstr ""
+msgstr "AMR-NB导出设置"
 
-#: export/ExportFFmpegDialogs.cpp:286
+#: export/ExportFFmpegDialogs.cpp:275
 msgid "Specify AMR-WB Options"
-msgstr ""
+msgstr "AMR-WB特定选项"
 
-#: export/ExportFFmpegDialogs.cpp:310
+#: export/ExportFFmpegDialogs.cpp:294
 msgid "AMR-WB Export Setup"
-msgstr ""
+msgstr "AMR-WB导出设置"
 
-#: export/ExportFFmpegDialogs.cpp:357
+#: export/ExportFFmpegDialogs.cpp:341
 msgid "Specify WMA Options"
-msgstr ""
+msgstr "WMA特定选项"
 
-#: export/ExportFFmpegDialogs.cpp:381
+#: export/ExportFFmpegDialogs.cpp:360
 msgid "WMA Export Setup"
-msgstr ""
+msgstr "WMA导出设置"
 
-#: export/ExportFFmpegDialogs.cpp:509
+#: export/ExportFFmpegDialogs.cpp:488
 #, c-format
 msgid "Overwrite preset '%s'?"
-msgstr ""
+msgstr "覆盖现有的预设'%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:510
+#: export/ExportFFmpegDialogs.cpp:489
 msgid "Confirm Overwrite"
-msgstr ""
+msgstr "确认覆盖"
 
 #: export/ExportFFmpegDialogs.cpp:501
 msgid "Please select format before saving a profile"
-msgstr ""
+msgstr "请在保存配置前选择格式"
 
 #: export/ExportFFmpegDialogs.cpp:509
 msgid "Please select codec before saving a profile"
-msgstr ""
+msgstr "请在保存配置前选择编码"
 
 #: export/ExportFFmpegDialogs.cpp:580
 #, c-format
 msgid "Preset '%s' does not exist."
-msgstr ""
+msgstr "预设 '%s'不存在。"
 
-#: export/ExportFFmpegDialogs.cpp:803
+#: export/ExportFFmpegDialogs.cpp:795
 msgid "Specify Other Options"
-msgstr ""
+msgstr "其他特定选项"
 
-#: export/ExportFFmpegDialogs.cpp:897
+#: export/ExportFFmpegDialogs.cpp:884
 msgid "Preset:"
-msgstr ""
+msgstr "预设:"
 
-#: export/ExportFFmpegDialogs.cpp:898
+#: export/ExportFFmpegDialogs.cpp:885
 msgid "Load Preset"
-msgstr ""
+msgstr "载人预设"
 
-#: export/ExportFFmpegDialogs.cpp:899
+#: export/ExportFFmpegDialogs.cpp:886
 msgid "Save Preset"
-msgstr ""
+msgstr "保存预设"
 
-#: export/ExportFFmpegDialogs.cpp:900
+#: export/ExportFFmpegDialogs.cpp:887
 msgid "Delete Preset"
-msgstr ""
+msgstr "删除预设"
 
-#: export/ExportFFmpegDialogs.cpp:901
+#: export/ExportFFmpegDialogs.cpp:888
 msgid "Import Presets"
-msgstr ""
+msgstr "导入预设"
 
-#: export/ExportFFmpegDialogs.cpp:902
+#: export/ExportFFmpegDialogs.cpp:889
 msgid "Export Presets"
-msgstr ""
+msgstr "导出预设"
 
-#: export/ExportPCM.cpp:177
+#: export/ExportFFmpegDialogs.cpp:894
 msgid "Format:"
-msgstr ""
+msgstr "格式:"
 
-#: export/ExportFFmpegDialogs.cpp:909
+#: export/ExportFFmpegDialogs.cpp:896
 msgid "Codec:"
-msgstr ""
+msgstr "编码:"
 
-#: export/ExportFFmpegDialogs.cpp:913
+#: export/ExportFFmpegDialogs.cpp:900
 msgid "Not all formats and codecs are compatible. Some parameters (such as bitrate and samplerate) combinations are not compatible with some codecs too."
-msgstr ""
+msgstr "并非所有的格式和编码都是兼容的。有些参数(如比特率和采样率)组合与某些编码也是不兼容的。"
 
-#: export/ExportFFmpegDialogs.cpp:916
+#: export/ExportFFmpegDialogs.cpp:903
 msgid "Format selector:"
-msgstr ""
+msgstr "格式选项:"
 
-#: export/ExportFFmpegDialogs.cpp:917
+#: export/ExportFFmpegDialogs.cpp:904
 msgid "Codec selector:"
-msgstr ""
+msgstr "编码选项:"
 
-#: export/ExportFFmpegDialogs.cpp:919
+#: export/ExportFFmpegDialogs.cpp:906
 msgid "Show All Formats"
-msgstr ""
+msgstr "显示所有格式"
 
-#: export/ExportFFmpegDialogs.cpp:920
+#: export/ExportFFmpegDialogs.cpp:907
 msgid "Show All Codecs"
-msgstr ""
+msgstr "显示所有编码"
 
 #: export/ExportFFmpegDialogs.cpp:914
 msgid "Options"
-msgstr ""
+msgstr "选项"
 
-#: ../src/prefs/GUIPrefs.cpp:98
+#: export/ExportFFmpegDialogs.cpp:918 prefs/GUIPrefs.cpp:166
 msgid "Language:"
-msgstr "语言:"
+msgstr "语言:"
 
-#: export/ExportFFmpegDialogs.cpp:932
-msgid "ISO 639 3-letter language code\n"
+#: export/ExportFFmpegDialogs.cpp:919
+msgid ""
+"ISO 639 3-letter language code\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"ISO 639 3字符语言编码\n"
+"可选的\n"
+"空 - 自动"
 
-#: export/ExportFFmpegDialogs.cpp:934
+#: export/ExportFFmpegDialogs.cpp:921
 msgid "Tag:"
-msgstr ""
+msgstr "标签"
 
-#: export/ExportFFmpegDialogs.cpp:935
-msgid "Codec tag (FOURCC)\n"
+#: export/ExportFFmpegDialogs.cpp:922
+msgid ""
+"Codec tag (FOURCC)\n"
 "Optional\n"
 "empty - automatic"
 msgstr ""
+"编码标签(4字编码)\n"
+"可选的\n"
+"空 - 自动"
 
-#: export/ExportFFmpegDialogs.cpp:938
-msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n"
+#: export/ExportFFmpegDialogs.cpp:925
+msgid ""
+"Bit Rate (bits/second) - influences the resulting file size and quality\n"
 "Some codecs may only accept specific values (128k, 192k, 256k etc)\n"
 "0 - automatic\n"
 "Recommended - 192000"
 msgstr ""
+"比特率 (bit/秒) - 影响文件的大小和质量\n"
+"有些编码只接受特定的值(128k, 192k, 256 等)\n"
+"0 - 自动\n"
+"建议 - 192000"
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid ""
+"Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
 msgstr ""
+"总体质量,在不同的编码中使用的不同\n"
+"vorbis必需\n"
+"0 - 自动\n"
+"-1 - 关 (使用比特率代替)"
 
-#: export/ExportFFmpegDialogs.cpp:943
+#: export/ExportFFmpegDialogs.cpp:930
 msgid "Sample Rate:"
-msgstr ""
+msgstr "采样率:"
 
-#: export/ExportFFmpegDialogs.cpp:944
-msgid "Sample rate (Hz)\n"
+#: export/ExportFFmpegDialogs.cpp:931
+msgid ""
+"Sample rate (Hz)\n"
 "0 - don't change sample rate"
 msgstr ""
+"采样率 (Hz)\n"
+"0 - 不改变采样率"
 
-#: export/ExportFFmpegDialogs.cpp:946
+#: export/ExportFFmpegDialogs.cpp:933
 msgid "Cutoff Bandwidth:"
-msgstr ""
+msgstr "裁去带宽:"
+
+#: export/ExportFFmpegDialogs.cpp:936
 
-#: export/ExportFFmpegDialogs.cpp:947
-msgid "Audio cutoff bandwidth (Hz)\n"
+msgid ""
+"Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
+"音频裁去带宽 (Hz)\n"
+"可选\n"
+"0 - 自动"
 
-#: export/ExportFFmpegDialogs.cpp:949
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Profile:"
-msgstr ""
+msgstr "配置:"
 
-#: export/ExportFFmpegDialogs.cpp:951
-msgid "AAC Profile\n"
+#: export/ExportFFmpegDialogs.cpp:938
+msgid ""
+"AAC Profile\n"
 "Low Complexity -default\n"
 "Most players won't play anything other than LC"
 msgstr ""
+"AAC配置\n"
+"低复杂度 - 默认\n"
+"多数的播放器只能播放低复杂度的。"
 
 #: export/ExportFFmpegDialogs.cpp:940
 msgid "Use Bit Reservoir"
-msgstr ""
+msgstr "使用 比特储存"
 
 #: export/ExportFFmpegDialogs.cpp:943
 msgid "Use Variable Block Length"
-msgstr ""
+msgstr "使用 可被块长度"
 
 #: export/ExportFFmpegDialogs.cpp:948
 msgid "FLAC options"
-msgstr ""
+msgstr "FLAC选项"
 
-#: export/ExportFFmpegDialogs.cpp:965
+#: export/ExportFFmpegDialogs.cpp:952
 msgid "Compression Level:"
-msgstr ""
+msgstr "压缩级:"
 
-#: export/ExportFFmpegDialogs.cpp:966
-msgid "Compression level\n"
+#: export/ExportFFmpegDialogs.cpp:953
+msgid ""
+"Compression level\n"
 "Required for FLAC\n"
 "-1 - automatic\n"
 "min - 0 (fast encoding, large output file)\n"
 "max - 10 (slow encoding, small output file)"
 msgstr ""
+"压缩级\n"
+"FLAC必需\n"
+"-1 - 自动\n"
+"最小 - 0 (快速编码,输出文件大)\n"
+"最大 - 10 (慢速编码,输出文件小)"
 
-#: export/ExportFFmpegDialogs.cpp:968
+#: export/ExportFFmpegDialogs.cpp:955
 msgid "Frame Size:"
-msgstr ""
+msgstr "帧大小:"
 
-#: export/ExportFFmpegDialogs.cpp:969
-msgid "Frame size\n"
+#: export/ExportFFmpegDialogs.cpp:956
+msgid ""
+"Frame size\n"
 "Optional\n"
 "0 - default\n"
 "min - 16\n"
 "max - 65535"
 msgstr ""
+"帧大小: 可选\n"
+"0 - 默认\n"
+"最小 - 16\n"
+"最大 - 6553"
 
-#: export/ExportFFmpegDialogs.cpp:971
+#: export/ExportFFmpegDialogs.cpp:958
 msgid "LPC coefficients precision"
-msgstr ""
+msgstr "线性预测编码(LPC)系数精度"
 
-#: export/ExportFFmpegDialogs.cpp:972
-msgid "LPC coefficients precision\n"
+#: export/ExportFFmpegDialogs.cpp:959
+msgid ""
+"LPC coefficients precision\n"
 "Optional\n"
 "0 - default\n"
 "min - 1\n"
 "max - 15"
 msgstr ""
+"线性预测编码(LPC)系数精度\n"
+"可选\n"
+"0 - 默认\n"
+"最小 - 1\n"
+"最大 - 15"
 
-#: export/ExportFFmpegDialogs.cpp:974
+#: export/ExportFFmpegDialogs.cpp:961
 msgid "Minimal prediction order"
-msgstr ""
+msgstr "最小预测序"
 
-#: export/ExportFFmpegDialogs.cpp:975
-msgid "Minimal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:962
+msgid ""
+"Minimal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"最小预测序\n"
+"可选 -1 - 默认\n"
+"最小 - 0 \n"
+"最大 - 32(用LPC)或4(不用LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:977
+#: export/ExportFFmpegDialogs.cpp:964
 msgid "Maximal prediction order"
-msgstr ""
+msgstr "最大预测序"
 
-#: export/ExportFFmpegDialogs.cpp:978
-msgid "Maximal prediction order\n"
+#: export/ExportFFmpegDialogs.cpp:965
+msgid ""
+"Maximal prediction order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 32 (with LPC) or 4 (without LPC)"
 msgstr ""
+"最大预测序\n"
+"可选 -1 - 默认\n"
+"最小 - 0 \n"
+"最大 - 32(用LPC)或4(不用LPC)"
 
-#: export/ExportFFmpegDialogs.cpp:980
+#: export/ExportFFmpegDialogs.cpp:967
 msgid "Prediction Order Method:"
-msgstr ""
+msgstr "预测序方法:"
 
-#: export/ExportFFmpegDialogs.cpp:982
-msgid "Prediction Order Method\n"
+#: export/ExportFFmpegDialogs.cpp:969
+msgid ""
+"Prediction Order Method\n"
 "Estimate - fastest, lower compression\n"
 "Log search - slowest, best compression\n"
 "Full search - default"
 msgstr ""
+"预测序方法\n"
+"估计 - 最快,低压缩\n"
+"对数搜索 - 最慢,高压缩\n"
+"全搜索 - 默认"
 
-#: export/ExportFFmpegDialogs.cpp:984
+#: export/ExportFFmpegDialogs.cpp:971
 msgid "Minimal partition order"
-msgstr ""
+msgstr "最小分区序"
 
-#: export/ExportFFmpegDialogs.cpp:985
-msgid "Minimal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:972
+msgid ""
+"Minimal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"最小分区序 可选\n"
+"-1 - 默认\n"
+"最小 - 0\n"
+"最大 - 8"
 
-#: export/ExportFFmpegDialogs.cpp:987
+#: export/ExportFFmpegDialogs.cpp:974
 msgid "Maximal partition order"
-msgstr ""
+msgstr "最大分区序"
 
-#: export/ExportFFmpegDialogs.cpp:988
-msgid "Maximal partition order\n"
+#: export/ExportFFmpegDialogs.cpp:975
+msgid ""
+"Maximal partition order\n"
 "Optional\n"
 "-1 - default\n"
 "min - 0\n"
 "max - 8"
 msgstr ""
+"最大分区序 可选\n"
+"-1 - 默认\n"
+"最小 - 0\n"
+"最大 - 8"
 
 #: export/ExportFFmpegDialogs.cpp:977
 msgid "Use LPC"
-msgstr ""
+msgstr "使用线性预测编码(LPC)"
 
 #: export/ExportFFmpegDialogs.cpp:984
 msgid "MPEG container options"
-msgstr ""
+msgstr "MPEG容器选项"
 
-#: export/ExportFFmpegDialogs.cpp:1001
+#: export/ExportFFmpegDialogs.cpp:988
 msgid "Mux Rate:"
-msgstr ""
+msgstr "多路复合率:"
 
-#: export/ExportFFmpegDialogs.cpp:1002
-msgid "Maximum bit rate of the multiplexed stream\n"
+#: export/ExportFFmpegDialogs.cpp:989
+msgid ""
+"Maximum bit rate of the multiplexed stream\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"多路流的最大比特率\n"
+"可选\n"
+"0 - 默认"
 
-#: export/ExportFFmpegDialogs.cpp:1004
+#: export/ExportFFmpegDialogs.cpp:991
 msgid "Packet Size:"
-msgstr ""
+msgstr "包大小:"
 
-#: export/ExportFFmpegDialogs.cpp:1005
-msgid "Packet size\n"
+#: export/ExportFFmpegDialogs.cpp:992
+msgid ""
+"Packet size\n"
 "Optional\n"
 "0 - default"
 msgstr ""
+"包大小\n"
+"可选 0 - 默认"
 
 #: export/ExportFFmpegDialogs.cpp:1207
 msgid "You can't delete a preset without name"
-msgstr ""
+msgstr "你不能删除一个没有名字的预设"
 
-#: export/ExportFFmpegDialogs.cpp:1219
+#: export/ExportFFmpegDialogs.cpp:1211
 #, c-format
 msgid "Delete preset '%s'?"
-msgstr ""
+msgstr "删除预设'%s'?"
 
-#: export/ExportFFmpegDialogs.cpp:1238
+#: export/ExportFFmpegDialogs.cpp:1230
 msgid "You can't save a preset without name"
-msgstr ""
+msgstr "你不能保存一个没有名字的预设"
 
-#: export/ExportFFmpegDialogs.cpp:1277
+#: export/ExportFFmpegDialogs.cpp:1270
 msgid "Select xml file with presets to import"
-msgstr ""
+msgstr "选择有预设的xml文件进行导入"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:194
+#: export/ExportFFmpegDialogs.cpp:1273 export/ExportFFmpegDialogs.cpp:1293
+#: prefs/KeyConfigPrefs.cpp:215
 msgid "XML files (*.xml)|*.xml|All files (*.*)|*.*"
 msgstr "XML文件 (*.xml)|*.xml|全部文件 (*.*)|*.*"
 
-#: export/ExportFFmpegDialogs.cpp:1292
+#: export/ExportFFmpegDialogs.cpp:1290
 msgid "Select xml file to export presets into"
-msgstr ""
+msgstr "选择将预设导出的xml文件"
 
 #: export/ExportFFmpegDialogs.cpp:1361
 msgid "Failed to guess format"
-msgstr ""
+msgstr "猜测格式失败"
 
 #: export/ExportFFmpegDialogs.cpp:1403
 msgid "Failed to find the codec"
-msgstr ""
+msgstr "寻找编码失败"
 
 #: export/ExportFFmpegDialogs.h:53
 msgid "M4A (AAC) Files (FFmpeg)"
-msgstr ""
+msgstr "M4A (AAC) 文件 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:54
 msgid "AC3 Files (FFmpeg)"
-msgstr ""
-
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
-msgstr ""
+msgstr "AC3 文件 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
-msgstr ""
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
+msgstr "AMR (窄带) 文件 (FFmpeg, 不可分发)"
+
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
+msgstr "AMR (宽带) 文件 (FFmpeg, 不可分发)"
 
 #: export/ExportFFmpegDialogs.h:57
 msgid "WMA (version 2) Files (FFmpeg)"
-msgstr ""
+msgstr "WMA (第2版) 文件 (FFmpeg)"
 
 #: export/ExportFFmpegDialogs.h:58
 msgid "Custom FFmpeg Export"
-msgstr ""
+msgstr "定制 FFmpeg 导出"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "LTP"
-msgstr ""
+msgstr "LTP(长程预测)"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "Low Complexity"
-msgstr ""
+msgstr "低复杂度"
 
 #: export/ExportFFmpegDialogs.h:373
 msgid "Main profile"
-msgstr ""
+msgstr "主配置"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "2-level"
-msgstr ""
+msgstr "2级"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "4-level"
-msgstr ""
+msgstr "4级"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "8-level"
-msgstr ""
+msgstr "8级"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Estimate"
-msgstr ""
+msgstr "估计"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Full search"
-msgstr ""
+msgstr "全搜索"
 
 #: export/ExportFFmpegDialogs.h:676
 msgid "Log search"
-msgstr ""
+msgstr "对数搜索"
 
-#: export/ExportFLAC.cpp:68
+#: export/ExportFLAC.cpp:67
 msgid "Specify FLAC Options"
-msgstr ""
+msgstr "FLAC特定选项"
 
-#: export/ExportFLAC.cpp:82
+#: export/ExportFLAC.cpp:79
 msgid "0 (fastest)"
-msgstr ""
+msgstr "0 (最快)"
 
-#: export/ExportFLAC.cpp:83
+#: export/ExportFLAC.cpp:80
 msgid "1"
-msgstr ""
+msgstr "1"
 
-#: export/ExportFLAC.cpp:84
+#: export/ExportFLAC.cpp:81
 msgid "2"
-msgstr ""
+msgstr "2"
 
-#: export/ExportFLAC.cpp:85
+#: export/ExportFLAC.cpp:82
 msgid "3"
-msgstr ""
+msgstr "3"
 
-#: export/ExportFLAC.cpp:86
+#: export/ExportFLAC.cpp:83
 msgid "4"
-msgstr ""
+msgstr "4"
 
-#: export/ExportFLAC.cpp:87
+#: export/ExportFLAC.cpp:84
 msgid "5"
-msgstr ""
+msgstr "5"
 
-#: export/ExportFLAC.cpp:88
+#: export/ExportFLAC.cpp:85
 msgid "6"
-msgstr ""
+msgstr "6"
 
-#: export/ExportFLAC.cpp:89
+#: export/ExportFLAC.cpp:86
 msgid "7"
-msgstr ""
+msgstr "7"
 
-#: export/ExportFLAC.cpp:90
+#: export/ExportFLAC.cpp:87
 msgid "8 (best)"
-msgstr ""
+msgstr "8 (最好)"
 
-#: prefs/FileFormatPrefs.cpp:193
+#: export/ExportFLAC.cpp:90
 msgid "16 bit"
-msgstr ""
+msgstr "16 bit"
 
-#: prefs/FileFormatPrefs.cpp:194
+#: export/ExportFLAC.cpp:91
 msgid "24 bit"
-msgstr ""
+msgstr "24 bit"
 
-#: prefs/FileFormatPrefs.cpp:190
+#: export/ExportFLAC.cpp:95
 msgid "FLAC Export Setup"
-msgstr ""
+msgstr "FLAC导出设置"
 
-#: export/ExportFLAC.cpp:102
+#: export/ExportFLAC.cpp:99
 msgid "Level:"
-msgstr ""
+msgstr "压缩级:"
 
-#: prefs/FileFormatPrefs.cpp:197
+#: export/ExportFLAC.cpp:101
 msgid "Bit depth:"
-msgstr ""
+msgstr "位深度:"
 
-#: export/ExportFLAC.cpp:208
+#: export/ExportFLAC.cpp:207
 msgid "FLAC Files"
+msgstr "FLAC文件"
+
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr "FLCA导出不能打开 %s"
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid ""
+"FLAC encoder failed to initialize\n"
+"Status: %d"
 msgstr ""
+"FLAC编码器初始化失败\n"
+"状态: %d"
 
-#: export/ExportFLAC.cpp:93
+#: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
-msgstr ""
+msgstr "正把选中的音频导出为FLAC文件"
 
-#: export/ExportFLAC.cpp:94
+#: export/ExportFLAC.cpp:311
 msgid "Exporting the entire project as FLAC"
-msgstr ""
+msgstr "正把整个工程导出为FLAC文件"
 
 #: export/ExportMP2.cpp:108
 msgid "Specify MP2 Options"
-msgstr ""
+msgstr "MP2特定选项"
 
-#: prefs/FileFormatPrefs.cpp:204
+#: export/ExportMP2.cpp:127
 msgid "MP2 Export Setup"
-msgstr ""
+msgstr "MP2导出设置"
 
 #: export/ExportMP2.cpp:200
 msgid "MP2 Files"
-msgstr ""
+msgstr "MP2文件"
 
-#: export/ExportMP2.cpp:94
+#: export/ExportMP2.cpp:230
 msgid "Cannot export MP2 with this sample rate and bit rate"
-msgstr ""
+msgstr "不能使用该采样率和比特率组合导出MP2"
 
-#: ../src/export/ExportMP3.cpp:1339
-#: ../src/export/ExportOGG.cpp:55
+#: export/ExportMP2.cpp:241 export/ExportMP3.cpp:1618 export/ExportOGG.cpp:184
 msgid "Unable to open target file for writing"
 msgstr "不能打开目标文件写入"
 
-#: ../src/export/ExportMP3.cpp:1419
+#: export/ExportMP2.cpp:272
 #, c-format
 msgid "Exporting selected audio at %d kbps"
-msgstr "以 %d kbps 导出选定的音频"
+msgstr "正以 %d kbps 导出选定的音频"
 
-#: ../src/export/ExportMP3.cpp:1421
+#: export/ExportMP2.cpp:273
 #, c-format
 msgid "Exporting entire file at %d kbps"
-msgstr "以 %d kbps 导出全部的音频"
-
-#. i18n-hint: kbps is the bitrate of the MP3 file, kilobits per second
-#: export/ExportMP3.cpp:142 export/ExportMP3.cpp:143 export/ExportMP3.cpp:144
-#: export/ExportMP3.cpp:145 export/ExportMP3.cpp:146 export/ExportMP3.cpp:147
-#: export/ExportMP3.cpp:148 export/ExportMP3.cpp:149 export/ExportMP3.cpp:150
-#: export/ExportMP3.cpp:151 export/ExportMP3.cpp:152 export/ExportMP3.cpp:153
-#: export/ExportMP3.cpp:154 export/ExportMP3.cpp:155 export/ExportMP3.cpp:156
-#: export/ExportMP3.cpp:157 export/ExportMP3.cpp:158 export/ExportMP3.cpp:159
+msgstr "正以 %d kbps 导出全部的音频"
+
+#: export/ExportMP3.cpp:223 export/ExportMP3.cpp:241 export/ExportMP3.cpp:255
 msgid "kbps"
-msgstr ""
+msgstr "kbps"
 
-#: export/ExportMP3.cpp:240
+#: export/ExportMP3.cpp:242
 msgid "(Best Quality)"
-msgstr ""
+msgstr "(最好质量)"
 
-#: export/ExportMP3.cpp:241
+#: export/ExportMP3.cpp:243
 msgid "(Smaller files)"
-msgstr ""
+msgstr "(更小的文件)"
 
-#: export/ExportMP3.cpp:178
+#: export/ExportMP3.cpp:245
 msgid "Fast"
-msgstr ""
+msgstr "快速"
 
-#: export/ExportMP3.cpp:179
+#: export/ExportMP3.cpp:246 export/ExportMP3.cpp:252 prefs/GUIPrefs.cpp:41
+#: prefs/GUIPrefs.cpp:49
 msgid "Standard"
-msgstr ""
+msgstr "标准"
 
-#: export/ExportMP3.cpp:248
+#: export/ExportMP3.cpp:250
 msgid "Insane"
-msgstr ""
+msgstr "发狂"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:251
 msgid "Extreme"
-msgstr ""
+msgstr "极端"
 
-#: export/ExportMP3.cpp:251
+#: export/ExportMP3.cpp:253
 msgid "Medium"
-msgstr ""
+msgstr "中等"
 
-#: export/ExportMP3.cpp:249
+#: export/ExportMP3.cpp:305
 msgid "Specify MP3 Options"
-msgstr ""
+msgstr "MP3特定选项"
 
-#: ../src/prefs/FileFormatPrefs.cpp:172
+#: export/ExportMP3.cpp:319
 msgid "MP3 Export Setup"
 msgstr "MP3导出设置"
 
-#: export/ExportMP3.cpp:271
+#: export/ExportMP3.cpp:326
 msgid "Bit Rate Mode:"
-msgstr ""
+msgstr "比特率模式:"
 
-#: export/ExportMP3.cpp:276
+#: export/ExportMP3.cpp:331
 msgid "Preset"
-msgstr ""
+msgstr "预设"
 
-#: export/ExportMP3.cpp:277
+#: export/ExportMP3.cpp:332
 msgid "Variable"
-msgstr ""
+msgstr "可变"
 
-#: export/ExportMP3.cpp:278
+#: export/ExportMP3.cpp:333
 msgid "Average"
-msgstr ""
+msgstr "平均"
 
-#: export/ExportMP3.cpp:279
+#: export/ExportMP3.cpp:334
 msgid "Constant"
-msgstr ""
+msgstr "静态"
 
-#: ../src/prefs/PrefsDialog.cpp:84
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
+#: prefs/QualityPrefs.cpp:43
 msgid "Quality"
-msgstr "音质"
+msgstr "质量"
 
-#: export/ExportMP3.cpp:324
+#: export/ExportMP3.cpp:379
 msgid "Variable Speed:"
-msgstr ""
+msgstr "可变速率:"
 
-#: export/ExportMP3.cpp:331
+#: export/ExportMP3.cpp:386
 msgid "Channel Mode:"
-msgstr ""
+msgstr "声道模式:"
 
-#: export/ExportMP3.cpp:336
+#: export/ExportMP3.cpp:391
 msgid "Joint Stereo"
-msgstr ""
+msgstr "合并立体声"
 
-#: export/ExportMP3.cpp:337
+#: export/ExportMP3.cpp:392
 msgid "Stereo"
-msgstr ""
+msgstr "立体声"
 
-#: export/ExportMP3.cpp:481
+#: export/ExportMP3.cpp:536
 msgid "Locate Lame"
-msgstr ""
+msgstr "定位Lame"
 
-#: export/ExportMP3.cpp:501
+#: export/ExportMP3.cpp:556
 #, c-format
 msgid "Audacity needs the file %s to create MP3s."
-msgstr ""
+msgstr "Audacity需要 %s 才能创建MP3。"
 
-#: export/ExportMP3.cpp:523
+#: export/ExportMP3.cpp:578
 msgid "To get a free copy of Lame, click here -->"
-msgstr ""
+msgstr "获取lame的免费拷贝,点击这里 -->"
 
 #: export/ExportMP3.cpp:1070
 #, c-format
-msgid "You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
+msgid ""
+"You are linking to lame_enc.dll v%d.%d. This version is not compatible with Audacity %d.%d.%d.\n"
 "Please download the latest version of the LAME MP3 library."
 msgstr ""
+"你正链接到lame_enc.dll版本%d.%d。该版本与Audacity %d.%d.%d不兼容。\n"
+"请下载最新的LAME MP3库。"
 
-#: ../src/export/ExportMP3.cpp:1114
+#: export/ExportMP3.cpp:1327
 msgid "Only lame_enc.dll|lame_enc.dll|Dynamically Linked Libraries (*.dll)|*.dll|All Files (*.*)|*"
 msgstr "仅限lame_enc.dll|lame_enc.dll|动态链接库(*.dll)|*.dll|全部文件(*.*)|*"
 
-#: export/ExportMP3.cpp:536
+#: export/ExportMP3.cpp:1345
 msgid "Only libmp3lame.dylib|libmp3lame.dylib|Dynamic Libraries (*.dylib)|*.dylib|All Files (*)|*"
-msgstr ""
+msgstr "仅限lame_enc.dylib|lame_enc.dylib|动态链接库(*.dylib)|*.dylib|全部文件(*.*)|*"
 
-#: export/ExportMP3.cpp:1567
-#, fuzzy
+#: export/ExportMP3.cpp:1363
 msgid "Only libmp3lame.so.0|libmp3lame.so.0|Primary Shared Object files (*.so)|*.so|Extended Libraries (*.so*)|*.so*|All Files (*)|*"
 msgstr "仅限libmp3lame.so|libmp3lame.so|主要的共享目标文件(*.so)|*.so|扩展库(*.so*)|*.so*|全部文件(*)|*"
 
-#: export/ExportMP3.cpp:1592
+#: export/ExportMP3.cpp:1499
 msgid "MP3 Files"
-msgstr ""
+msgstr "MP3 文件"
 
-#: ../src/export/ExportMP3.cpp:1322
+#: export/ExportMP3.cpp:1523
 msgid "Could not open MP3 encoding library!"
 msgstr "不能打开MP3编码库。"
 
-#: ../src/export/ExportMP3.cpp:1329
+#: export/ExportMP3.cpp:1530
 msgid "Not a valid or supported MP3 encoding library!"
 msgstr "不是有效的或支持的MP3编码库!"
 
-#: export/ExportMP3.cpp:1699
+#: export/ExportMP3.cpp:1607
 msgid "Unable to initialize MP3 stream"
-msgstr ""
+msgstr "不能初始化MP3流"
 
-#: export/ExportMP3.cpp:1744
+#: export/ExportMP3.cpp:1650
 #, c-format
 msgid "Exporting selected audio with %s preset"
-msgstr ""
+msgstr "正用预设 %s 导出选定的音频"
 
-#: export/ExportMP3.cpp:1745
+#: export/ExportMP3.cpp:1651
 #, c-format
 msgid "Exporting entire file with %s preset"
-msgstr ""
+msgstr "正用预设 %s 导出整个文件"
 
-#: export/ExportMP3.cpp:1750
+#: export/ExportMP3.cpp:1656
 #, c-format
 msgid "Exporting selected audio with VBR quality %s"
-msgstr ""
+msgstr "正以VBR(可变比特率)质量 %s 导出选定的音频"
 
-#: export/ExportMP3.cpp:1751
+#: export/ExportMP3.cpp:1657
 #, c-format
 msgid "Exporting entire file with VBR quality %s"
-msgstr ""
+msgstr "正以VBR(可变比特率)质量 %s 导出整个文件"
 
-#: export/ExportMP3.cpp:1756
+#: export/ExportMP3.cpp:1662
 #, c-format
 msgid "Exporting selected audio at %d Kbps"
-msgstr ""
+msgstr "正以%d Kbps 导出选定的音频"
 
-#: export/ExportMP3.cpp:1757
+#: export/ExportMP3.cpp:1663
 #, c-format
 msgid "Exporting entire file at %d Kbps"
-msgstr ""
+msgstr "正以%d Kbps 导出整个文件"
 
-#: export/ExportMP3.cpp:1790
+#: export/ExportMP3.cpp:1697
 #, c-format
 msgid "Error %d returned from MP3 encoder"
-msgstr ""
+msgstr "MP3编码器返回错误号 %d"
 
-#: export/ExportMP3.cpp:1876
+#: export/ExportMP3.cpp:1785
 #, c-format
-msgid "The project sample rate (%d) is not supported by the MP3\n"
+msgid ""
+"The project sample rate (%d) is not supported by the MP3\n"
 "file format.  "
 msgstr ""
+"工程的采样率 (%d)不被MP3\n"
+"文件格式支持。"
 
-#: export/ExportMP3.cpp:1879
+#: export/ExportMP3.cpp:1788
 #, c-format
-msgid "The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
+msgid ""
+"The project sample rate (%d) and bit rate (%d kbps) combination is not\n"
 "supported by the MP3 file format.  "
 msgstr ""
+"工程的采样率 (%d)和比特率(%d kbps)组合不被MP3\n"
+"文件格式支持。"
 
 #: export/ExportMP3.cpp:1965
 msgid "MP3 export library not found"
-msgstr ""
+msgstr "没有找到MP3导出库"
 
-#: ../src/export/ExportMultiple.cpp:464
-#: ../src/export/ExportMultiple.cpp:573
-#: ../src/export/ExportMultiple.cpp:656
+#: export/ExportMultiple.cpp:93 export/ExportMultiple.cpp:424
+#: export/ExportMultiple.cpp:670 export/ExportMultiple.cpp:847
 msgid "Export Multiple"
 msgstr "导出多个文件"
 
-#: ../src/export/ExportMultiple.cpp:586
-msgid "If you have more than one Audio Track, you can export each track as a separate file,\n"
+#: export/ExportMultiple.cpp:163
+msgid ""
+"If you have more than one Audio Track, you can export each track as a separate file,\n"
 "or if you have a Label Track, you can export a new file for each label.\n"
 "\n"
 "This project does not have multiple tracks or a Label Track, so you cannot export multiple files."
-msgstr "如果您需要导出多个轨道,您可将每个轨道单独导出为一个文件,\n"
+msgstr ""
+"如果您需要导出多个轨道,您可将每个轨道单独导出为一个文件,\n"
 "或者如果存在一个标签轨,您可将每个标签导出为一个新的文件。\n"
 "\n"
 "该工程不包含多个轨道,或者不含标签轨,所以无法导出多个文件。"
 
-#: ../src/export/ExportMultiple.cpp:587
+#: export/ExportMultiple.cpp:164
 msgid "Can't export multiple files"
 msgstr "无法导出多个文件"
 
-#: ../src/export/ExportMultiple.cpp:670
+#: export/ExportMultiple.cpp:229
 msgid "Export format:"
-msgstr "导出格式:"
+msgstr "导出格式:"
 
-#: export/ExportMultiple.cpp:195
+#: export/ExportMultiple.cpp:234
 msgid "Options..."
-msgstr ""
+msgstr "选项..."
 
-#: ../src/export/ExportMultiple.cpp:694
+#: export/ExportMultiple.cpp:238
 msgid "Export location:"
-msgstr "导出位置:"
+msgstr "导出位置:"
 
-#: ../src/export/ExportMultiple.cpp:700
-#: ../src/prefs/DirectoriesPrefs.cpp:82
-msgid "Choose..."
-msgstr "选择..."
-
-#: export/ExportMultiple.cpp:205
+#: export/ExportMultiple.cpp:243
 msgid "Create"
-msgstr ""
+msgstr "新建"
 
-#: ../src/export/ExportMultiple.cpp:731
+#: export/ExportMultiple.cpp:250
 msgid "Split files based on:"
-msgstr "分割文件,基于:"
+msgstr "分割文件,基于:"
 
-#: ../src/export/ExportMultiple.cpp:734
+#: export/ExportMultiple.cpp:259 export/ExportMultiple.cpp:261
 msgid "Labels"
 msgstr "标签"
 
-#: ../src/export/ExportMultiple.cpp:742
+#: export/ExportMultiple.cpp:266
 msgid "Include audio before first label"
 msgstr "包含在第一个标签之前的音频"
 
-#: ../src/export/ExportMultiple.cpp:748
+#: export/ExportMultiple.cpp:272
 msgid "First file name:"
-msgstr "第一个文件名:"
+msgstr "第一个文件名:"
 
-#: export/ExportMultiple.cpp:280
+#: export/ExportMultiple.cpp:277
 msgid "First file name"
-msgstr ""
+msgstr "第一个文件名"
 
-#: ../src/export/ExportMultiple.cpp:755
-msgid "Tracks"
-msgstr "轨道"
-
-#: ../src/export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:294
 msgid "Name files:"
-msgstr "命名文件:"
+msgstr "命名文件:"
 
-#: ../src/export/ExportMultiple.cpp:768
+#: export/ExportMultiple.cpp:303 export/ExportMultiple.cpp:305
 msgid "Using Label/Track Name"
 msgstr "使用标签/轨道名"
 
-#: ../src/export/ExportMultiple.cpp:774
+#: export/ExportMultiple.cpp:311 export/ExportMultiple.cpp:313
 msgid "Numbering consecutively"
 msgstr "连续编号"
 
-#: ../src/export/ExportMultiple.cpp:779
+#: export/ExportMultiple.cpp:319
 msgid "File name prefix:"
-msgstr "文件名前缀:"
+msgstr "文件名前缀:"
 
-#: export/ExportMultiple.cpp:327
+#: export/ExportMultiple.cpp:324
 msgid "File name prefix"
-msgstr ""
+msgstr "文件名前缀"
 
-#: ../src/export/ExportMultiple.cpp:796
+#: export/ExportMultiple.cpp:338
 msgid "Overwrite existing files"
 msgstr "覆盖现有的文件"
 
-#: export/ExportMultiple.cpp:360
+#: export/ExportMultiple.cpp:422
 #, c-format
 msgid "\"%s\" successfully created."
-msgstr ""
+msgstr "\"%s\" 新建成功"
 
-#: ../src/export/ExportMultiple.cpp:901
+#: export/ExportMultiple.cpp:431
 msgid "Choose a location to save the exported files"
 msgstr "选择保存导出文件的位置"
 
-#: export/ExportMultiple.cpp:480
+#: export/ExportMultiple.cpp:524
 #, c-format
-msgid "\"%s\" doesn't exist.\n"
-"\n"
-"Would you like to create it?"
-msgstr ""
+msgid "Successfully exported the following %ld file(s)."
+msgstr "成功导出下列 %ld 个文件。"
 
-#: export/ExportMultiple.cpp:637 export/ExportMultiple.cpp:772
-msgid "Edit metadata"
-msgstr ""
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr "导出下列 %ld 个文件后出错。"
 
-#: export/ExportMultiple.cpp:590
+#: export/ExportMultiple.cpp:526
 #, c-format
-msgid "Successfully exported %d file(s)."
-msgstr ""
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr "导出下列 %ld 个文件后导出被取消。"
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr "导出下列 %ld 个文件后导出被终止。"
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr "导出下列 %ld 个文件后严重出错。"
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr "导出多个文件"
 
-#: export/ExportMultiple.cpp:597
+#: export/ExportMultiple.cpp:538
 #, c-format
-msgid "Something went wrong after exporting %d file(s)."
+msgid ""
+"\"%s\" doesn't exist.\n"
+"\n"
+"Would you like to create it?"
 msgstr ""
+"\"%s\"不存在。\n"
+"\n"
+"你想新建一个吗?"
 
-#: export/ExportMultiple.cpp:881
+#: export/ExportMultiple.cpp:640 export/ExportMultiple.cpp:785
+msgid "Edit metadata"
+msgstr "编辑元信息"
+
+#: export/ExportMultiple.cpp:898
 #, c-format
-msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
+msgid ""
+"Label %s is not a legal file name. You cannot use any of:   %s\n"
 "Use..."
 msgstr ""
+"标签 %s不是合法的文件名。你不能使用:%s\n"
+"Use..."
 
 #: export/ExportOGG.cpp:64
 msgid "Specify Ogg Vorbis Options"
-msgstr ""
+msgstr "Ogg Vorbis特定选项"
 
-#: export/ExportOGG.cpp:81
+#: export/ExportOGG.cpp:79
 msgid "Ogg Vorbis Export Setup"
-msgstr ""
+msgstr "Ogg Vorbis导出设置"
 
 #: export/ExportOGG.cpp:155
 msgid "Ogg Vorbis Files"
-msgstr ""
+msgstr "Ogg Vorbis文件"
 
-#: ../src/export/ExportOGG.cpp:193
+#: export/ExportOGG.cpp:255
 msgid "Exporting the selected audio as Ogg Vorbis"
 msgstr "将选定的音频导出为Ogg Vorbis文件"
 
-#: ../src/export/ExportOGG.cpp:194
+#: export/ExportOGG.cpp:256
 msgid "Exporting the entire project as Ogg Vorbis"
 msgstr "将全部的音频导出为Ogg Vorbis文件"
 
-#: export/ExportPCM.cpp:116
+#: export/ExportPCM.cpp:119
 msgid "Specify Uncompressed Options"
-msgstr ""
+msgstr "非压缩特定选项"
 
-#: export/ExportPCM.cpp:171
+#: export/ExportPCM.cpp:189
 msgid "Uncompressed Export Setup"
-msgstr ""
+msgstr "非压缩导出设置"
 
-#: export/ExportPCM.cpp:181
+#: export/ExportPCM.cpp:195
 msgid "Header:"
-msgstr ""
+msgstr "头"
 
-#: export/ExportPCM.cpp:185
-#, fuzzy
+#: export/ExportPCM.cpp:199 import/ImportRaw.cpp:366
 msgid "Encoding:"
-msgstr "编码:"
+msgstr "编码:"
 
-#: export/ExportPCM.cpp:190
-#, fuzzy
+#: export/ExportPCM.cpp:204
 msgid "(Not all combinations of headers and encodings are possible.)"
-msgstr "(并非所有的头与编码的\n"
-"组合是可能成立的。)"
+msgstr "(不是所有的头与编码组合是可行。)"
 
-#: export/ExportPCM.cpp:369
+#: export/ExportPCM.cpp:359
 msgid "Other uncompressed files"
-msgstr ""
+msgstr "其它非压缩音频文件..."
 
-#: export/ExportPCM.cpp:361
+#: export/ExportPCM.cpp:377
 msgid "AIFF (Apple) signed 16 bit PCM"
-msgstr ""
+msgstr "AIFF (Apple) signed 16 bit PCM"
 
-#: export/ExportPCM.cpp:351
+#: export/ExportPCM.cpp:388
 msgid "WAV (Microsoft) signed 16 bit PCM"
-msgstr ""
+msgstr "WAV (Microsoft) signed 16 bit PCM"
 
-#: export/ExportPCM.cpp:387
+#: export/ExportPCM.cpp:399
 msgid "GSM 6.10 WAV (mobile)"
-msgstr ""
+msgstr "GSM 6.10 WAV (mobile)"
 
-#: ../src/export/ExportPCM.cpp:73
+#: export/ExportPCM.cpp:476
 msgid "Cannot export audio in this format."
-msgstr "无法按此格式导出音频。"
+msgstr "不能以这个格式导出音频。"
 
-#: export/ExportPCM.cpp:400
+#: export/ExportPCM.cpp:518
 #, c-format
 msgid "Exporting the selected audio as %s"
-msgstr ""
+msgstr "输选中的音频为 %s"
 
-#: export/ExportPCM.cpp:402
+#: export/ExportPCM.cpp:520
 #, c-format
 msgid "Exporting the entire project as %s"
-msgstr ""
+msgstr "导出整个工程为 %s"
 
 #. i18n-hint: %s will be the error message from libsndfile
-#: export/ExportPCM.cpp:436
+#: export/ExportPCM.cpp:556
 #, c-format
-#, fuzzy
 msgid "Error (file may not have been written): %s"
-msgstr "错误 (文件可能未被写入): %hs"
+msgstr "错误 (文件可能未被写入): %s"
 
 #: export/ExportPCM.cpp:723
 msgid "There are no options for this format.\n"
-msgstr ""
+msgstr "该格式没有选项。\n"
 
 #. i18n-hint: This is pointing users at another possible export format in
 #. * the list. So you should translate the quoted string
@@ -6866,1843 +7310,1980 @@ msgstr ""
 #. * when it comes up on it's own.
 #: export/ExportPCM.cpp:728
 msgid "If you need more control over the export format please use the 'Other uncompressed files' format."
-msgstr ""
+msgstr "如果你需要控制更多导出格式的参数,请使用 ‘其它非压缩文件'格式。"
 
 #: export/ExportPCM.cpp:733
 msgid "Your file will be exported as a 16-bit AIFF (Apple/SGI) file.\n"
-msgstr ""
+msgstr "你的文件将导出成16-bit AIFF (Apple/SGI)文件。\n"
 
 #: export/ExportPCM.cpp:738
 msgid "Your file will be exported as a 16-bit WAV (Microsoft) file.\n"
-msgstr ""
+msgstr "你的文件将导出成16-bit WAV (Microsoft)文件。\n"
 
 #: export/ExportPCM.cpp:743
 msgid "Your file will be exported as a GSM 6.10 WAV file.\n"
-msgstr ""
+msgstr "你的文件将导出成GSM 6.10 WAV文件。\n"
 
-#: import/ImportMP3.cpp:78
+#: import/Import.cpp:157 import/ImportMP3.cpp:47
 msgid "MP3 files"
-msgstr ""
+msgstr "MP3文件"
 
-#: import/Import.cpp:175
+#: import/Import.cpp:176
 msgid "Select stream(s) to import"
-msgstr ""
+msgstr "选择要导入流"
 
-#: ../src/import/Import.cpp:165
+#: import/Import.cpp:229
 #, c-format
 msgid "This version of Audacity was not compiled with %s support."
 msgstr "此版本的Audacity在编译时没有附带针对%s的支持。"
 
-#: import/Import.cpp:240
+#: import/Import.cpp:242
 #, c-format
-msgid "\"%s\" \n"
+msgid ""
+"\"%s\" \n"
 "is a MIDI file, not an audio file. \n"
 "Audacity cannot open this type of file for playing, but you can\n"
 "edit it by clicking File > Import > MIDI."
 msgstr ""
+"\"%s\" \n"
+"是一个MIDI文件,不是音频文件。\n"
+"Audacity不能播放这类文件,但可以通过\n"
+"点击文件->导入->MIDI编辑它。"
 
 #. i18n-hint: %s will be the filename
-#: import/Import.cpp:167
+#: import/Import.cpp:252
 #, c-format
-msgid "\"%s\" is an audio CD track. \n"
+msgid ""
+"\"%s\" is an audio CD track. \n"
 "Audacity cannot open audio CDs directly. \n"
 "Extract (rip) the CD tracks to an audio format that \n"
 "Audacity can import, such as WAV or AIFF."
 msgstr ""
+"\"%s\"是音频CD轨道。\n"
+"Audacity不能直接打开音频CD。\n"
+"解出(rip)CD轨道到Audacity能导入的\n"
+"音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:173
+#: import/Import.cpp:258
 #, c-format
-msgid "\"%s\" is a playlist file. \n"
+msgid ""
+"\"%s\" is a playlist file. \n"
 "Audacity cannot open this file because it only contains links to other files. \n"
 "You may be able to open it in a text editor and download the actual audio files."
 msgstr ""
+"\"%s\"是播放列表文件。\n"
+"Audacity不能打开它,因为他只包括其他文件的链接。\n"
+"你可以用文本编辑器打开它,然后下载音频文件。"
 
-#: import/Import.cpp:178
+#: import/Import.cpp:263
 #, c-format
-msgid "\"%s\" is a Windows Media Audio file. \n"
+msgid ""
+"\"%s\" is a Windows Media Audio file. \n"
 "Audacity cannot open this type of file due to patent restrictions. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\"是Windows Media Audio文件。\n"
+"Audacity不能打开这类文件,因为专利限制。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:183
+#: import/Import.cpp:268
 #, c-format
-msgid "\"%s\" is an Advanced Audio Coding file. \n"
+msgid ""
+"\"%s\" is an Advanced Audio Coding file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\"Advanced Audio Coding文件。\n"
+"Audacity不能打开这类文件。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:271
+#: import/Import.cpp:273
 #, c-format
-msgid "\"%s\" is an encrypted audio file. \n"
+msgid ""
+"\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
 "Audacity cannot open this type of file due to the encryption. \n"
 "Try recording the file into Audacity, or burn it to audio CD then \n"
 "extract the CD track to a supported audio format such as WAV or AIFF."
 msgstr ""
+"\"%s\"是加密的音频文件。\n"
+"这类通常来自在线音乐商店。\n"
+"Audacity不能打开这类文件,因为它被加密了。\n"
+"可以试着把它录制到Audacity,或烧入音频CD,然后\n"
+"把CD音轨解到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:193
+#: import/Import.cpp:278
 #, c-format
-msgid "\"%s\" is a RealPlayer media file. \n"
+msgid ""
+"\"%s\" is a RealPlayer media file. \n"
 "Audacity cannot open this proprietary format. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\"是RealPlayer media文件。\n"
+"Audacity不能打开这类文件,因为这是有所有权的格式。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:282
+#: import/Import.cpp:284
 #, c-format
-msgid "\"%s\" is a notes-based file, not an audio file. \n"
+msgid ""
+"\"%s\" is a notes-based file, not an audio file. \n"
 "Audacity cannot open this type of file. \n"
 "Try converting it to an audio file such as WAV or AIFF and \n"
 "then import it, or record it into Audacity."
 msgstr ""
+"\"%s\"是基于音符的文件,不是音频文件。\n"
+"Audacity不能打开这类文件。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF,\n"
+"然后导入,或录制到Audacity。"
 
-#: import/Import.cpp:288
+#: import/Import.cpp:290
 #, c-format
-msgid "\"%s\" is a Musepack audio file. \n"
+msgid ""
+"\"%s\" is a Musepack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "If you think it might be an mp3 file, rename it to end with \".mp3\" \n"
 "and try importing it again. Otherwise you need to convert it to a supported audio \n"
 "format, such as WAV or AIFF."
 msgstr ""
+"\"%s\"是Musepack audio文件。\n"
+"Audacity不能打开这类文件。\n"
+"如果你认为它肯是mp3文件,把它重命名成以\".mp3\"结尾\n"
+"然后试着再次导入它;否则的话,你需要把它转换到支持的\n"
+"音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:294
+#: import/Import.cpp:296
 #, c-format
-msgid "\"%s\" is a Wavpack audio file. \n"
+msgid ""
+"\"%s\" is a Wavpack audio file. \n"
 "Audacity cannot open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\"Wavpack audio文件。\n"
+"Audacity不能打开这类文件。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:300
+#: import/Import.cpp:302
 #, c-format
-msgid "\"%s\" is a Dolby Digital audio file. \n"
+msgid ""
+"\"%s\" is a Dolby Digital audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" Dolby Digital audio文件。\n"
+"Audacity不能打开这类文件。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:306
+#: import/Import.cpp:308
 #, c-format
-msgid "\"%s\" is an Ogg Speex audio file. \n"
+msgid ""
+"\"%s\" is an Ogg Speex audio file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to convert it to a supported audio format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" Ogg Speex audio文件。\n"
+"Audacity不能打开这类文件。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:312
+#: import/Import.cpp:314
 #, c-format
-msgid "\"%s\" is a video file. \n"
+msgid ""
+"\"%s\" is a video file. \n"
 "Audacity cannot currently open this type of file. \n"
 "You need to extract the audio to a supported format, such as WAV or AIFF."
 msgstr ""
+"\"%s\" 视频文件。\n"
+"Audacity不能打开这类文件。\n"
+"你需要把它转换到支持的音频格式,如WAV或AIFF。"
 
-#: import/Import.cpp:317
+#: import/Import.cpp:319
 #, c-format
-msgid "Audacity did not recognize the type of the file '%s'.\n"
+msgid ""
+"Audacity did not recognize the type of the file '%s'.\n"
 "If it is uncompressed, try importing it using \"Import Raw\"."
 msgstr ""
+"Audacity无法识别文件'%s'的类型。\n"
+"如果它未被压缩,请尝试用\"导入裸数据\"将其导入。"
 
-#: import/Import.cpp:322
+#: import/Import.cpp:324
 #, c-format
-msgid "Audacity recognized the type of the file '%s',\n"
+msgid ""
+"Audacity recognized the type of the file '%s',\n"
 "but was unable to import it."
 msgstr ""
+"Audacity识别文件'%s'的类型。\n"
+"但不能导入它。"
 
 #: import/ImportFFmpeg.cpp:34
 msgid "FFmpeg-compatible files"
-msgstr ""
+msgstr "FFmpeg兼容文件"
 
 #: import/ImportFFmpeg.cpp:431
 #, c-format
 msgid "Index[%02x] Codec[%S], Language[%S], Bitrate[%S], Channels[%d], Duration[%d]"
-msgstr ""
+msgstr "索引[%02x] 编码[%S], 语言[%S], 比特率[%S], 通道[%d], 持续时间[%d]"
 
-#: import/ImportFLAC.cpp:35
+#: import/ImportFLAC.cpp:43
 msgid "FLAC files"
-msgstr ""
+msgstr "FLAC文件"
 
-#: ../src/import/ImportLOF.cpp:151
-#: ../src/import/ImportLOF.cpp:177
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr "GStreamer兼容文件"
+
+#: import/ImportLOF.cpp:95
 msgid "List of Files in basic text format"
 msgstr "基本文本格式的文件列表"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:268
+#: import/ImportLOF.cpp:314
 msgid "Invalid window offset in LOF file."
 msgstr "LOF 文件中的窗口偏移无效。"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:270
-#: ../src/import/ImportLOF.cpp:291
-#: ../src/import/ImportLOF.cpp:363
-#: ../src/import/ImportLOF.cpp:383
+#: import/ImportLOF.cpp:316 import/ImportLOF.cpp:337 import/ImportLOF.cpp:418
+#: import/ImportLOF.cpp:439
 msgid "LOF Error"
 msgstr "LOF 错误"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:289
+#: import/ImportLOF.cpp:335
 msgid "Invalid duration in LOF file."
 msgstr "LOF 文件中的持续时间无效。"
 
-#: ../src/import/ImportLOF.cpp:362
+#: import/ImportLOF.cpp:417
 msgid "MIDI tracks cannot be offset individually, only audio files can be."
 msgstr "MIDI轨道不能单独偏移,只有音频文件才可以。"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: ../src/import/ImportLOF.cpp:382
+#: import/ImportLOF.cpp:438
 msgid "Invalid track offset in LOF file."
 msgstr "LOF 文件中的轨道偏移无效。"
 
 #: import/ImportMIDI.cpp:31
 msgid ": Filename too short."
-msgstr ""
+msgstr ":文件名太短"
 
 #: import/ImportMIDI.cpp:31 import/ImportMIDI.cpp:39 import/ImportMIDI.cpp:45
 #: import/ImportMIDI.cpp:53
 msgid "Could not open file "
-msgstr ""
+msgstr "无法打开文件"
 
 #: import/ImportMIDI.cpp:39
 msgid ": Incorrect filetype."
-msgstr ""
+msgstr ":文件类型错误"
 
-#: import/ImportOGG.cpp:35
+#: import/ImportOGG.cpp:44
 msgid "Ogg Vorbis files"
-msgstr ""
+msgstr "Ogg Vorbis 文件"
 
-#: ../src/import/ImportOGG.cpp:124
+#: import/ImportOGG.cpp:184
 msgid "Media read error"
 msgstr "介质读取错误"
 
-#: ../src/import/ImportOGG.cpp:127
+#: import/ImportOGG.cpp:187
 msgid "Not an Ogg Vorbis file"
 msgstr "不是Ogg Vorbis文件"
 
-#: ../src/import/ImportOGG.cpp:130
+#: import/ImportOGG.cpp:190
 msgid "Vorbis version mismatch"
 msgstr "Vorbis版本不匹配"
 
-#: ../src/import/ImportOGG.cpp:133
+#: import/ImportOGG.cpp:193
 msgid "Invalid Vorbis bitstream header"
 msgstr "无效的Vorbis 比特流头部"
 
-#: ../src/import/ImportOGG.cpp:136
+#: import/ImportOGG.cpp:196
 msgid "Internal logic fault"
 msgstr "内部处理错误"
 
-#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
+#: import/ImportPCM.cpp:66
 msgid "WAV, AIFF, and other uncompressed types"
-msgstr ""
+msgstr "WAV, AIFF,及其它非压缩类型"
 
 #: import/ImportPlugin.h:142 import/ImportRaw.cpp:203
 #, c-format
 msgid "Importing %s"
-msgstr ""
+msgstr "导入'%s'文件中"
 
-#: import/ImportQT.cpp:21
+#: import/ImportQT.cpp:18
 msgid "QuickTime files"
-msgstr ""
+msgstr "QuickTime文件"
 
 #: import/ImportRaw.cpp:205
 msgid "Import Raw"
-msgstr ""
+msgstr "导入裸数据"
 
-#: ../src/import/ImportRaw.cpp:267
+#: import/ImportRaw.cpp:282
 msgid "Import Raw Data"
-msgstr "导入原始(Raw)数据"
+msgstr "导入裸数据"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#: ../src/import/ImportRaw.cpp:327
+#. know the correct technical word.
+#: import/ImportRaw.cpp:327
 msgid "No endianness"
-msgstr "没有字节序(endianness)"
+msgstr "没有尾端"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#: ../src/import/ImportRaw.cpp:330
+#. know the correct technical word.
+#: import/ImportRaw.cpp:330
 msgid "Little-endian"
-msgstr "Little-endian字节序(以低位结束一种存储方式)"
+msgstr "小尾端"
 
 #. i18n-hint: Refers to byte-order.  Don't translate this if you don't
-#: ../src/import/ImportRaw.cpp:333
+#. know the correct technical word.
+#: import/ImportRaw.cpp:333
 msgid "Big-endian"
-msgstr "Big-endian字节序(以高位结束一种存储方式)"
+msgstr "大尾端"
 
 #. i18n-hint: Refers to byte-order.  Don't translate "endianness" if you don't
-#: ../src/import/ImportRaw.cpp:336
+#. know the correct technical word.
+#: import/ImportRaw.cpp:336
 msgid "Default endianness"
-msgstr "缺省字节序(Endianness)"
+msgstr "默认尾端"
 
-#: ../src/import/ImportRaw.cpp:360
+#: import/ImportRaw.cpp:355
 msgid "1 Channel (Mono)"
 msgstr "1 声道(单声道)"
 
-#: ../src/import/ImportRaw.cpp:361
+#: import/ImportRaw.cpp:356
 msgid "2 Channels (Stereo)"
 msgstr "2声道(立体声)"
 
-#: ../src/import/ImportRaw.cpp:363
+#: import/ImportRaw.cpp:358
 #, c-format
 msgid "%d Channels"
 msgstr "%d 声道"
 
 #: import/ImportRaw.cpp:369
 msgid "Byte order:"
-msgstr ""
+msgstr "字节序:"
 
 #: import/ImportRaw.cpp:372
 msgid "Channels:"
-msgstr ""
+msgstr "声道:"
 
-#: ../src/import/ImportRaw.cpp:376
+#: import/ImportRaw.cpp:382
 msgid "Start offset:"
 msgstr "起始偏移:"
 
-#: ../src/import/ImportRaw.cpp:387
+#: import/ImportRaw.cpp:388
 msgid "Amount to import:"
-msgstr "总计要导入:"
+msgstr "总计要导入:"
 
-#: ../src/import/ImportRaw.cpp:398
+#: import/ImportRaw.cpp:394
 msgid "Sample rate:"
-msgstr "采样率:"
+msgstr "采样率:"
 
 #: ondemand/ODComputeSummaryTask.h:47
 msgid "Import complete. Calculating waveform"
-msgstr ""
+msgstr "导入完成,计算波形中"
 
 #: ondemand/ODDecodeTask.h:61
 msgid "Decoding Waveform"
-msgstr ""
+msgstr "解码波形中"
 
 #: ondemand/ODWaveTrackTaskQueue.cpp:327
 #, c-format
 msgid "%s %2.0f%% complete.  Click to change task focal point."
-msgstr ""
+msgstr "%s %2.0f%%完成。点击改变任务焦点。"
 
-#: ../src/prefs/PrefsDialog.cpp:83
-msgid "Audio I/O"
-msgstr "音频I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "批处理"
 
-#: ../src/prefs/AudioIOPrefs.cpp:234
-msgid "1 (Mono)"
-msgstr "1 (单声道)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "行为"
 
-#: ../src/prefs/AudioIOPrefs.cpp:235
-msgid "2 (Stereo)"
-msgstr "2 (立体声)"
+#: prefs/BatchPrefs.cpp:80
+msgid "&Don't apply effects in batch mode"
+msgstr "不要在批处理模式应用效果(%D)"
 
-#: ../src/prefs/AudioIOPrefs.cpp:80
-msgid "Playback"
-msgstr "重放"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "'清晰话音'模式 (定制GUI)(&E)"
 
-#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:54
-msgid "Device"
-msgstr ""
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr "设备"
 
-#: prefs/AudioIOPrefs.cpp:122
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "界面"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr "主机"
+
+#: prefs/AudioIOPrefs.cpp:125 prefs/MidiIOPrefs.cpp:121
 msgid "Using:"
-msgstr ""
+msgstr "使用:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:118 prefs/MidiIOPrefs.cpp:114
+msgid "Playback"
+msgstr "回放"
 
-#: ../src/prefs/AudioIOPrefs.cpp:161
+#: prefs/AudioIOPrefs.cpp:136 prefs/MidiIOPrefs.cpp:132
 msgid "Recording"
 msgstr "正在录音"
 
-#: prefs/AudioIOPrefs.cpp:139
+#: prefs/AudioIOPrefs.cpp:142 prefs/MidiIOPrefs.cpp:138
 msgid "Channels"
-msgstr ""
-
-#: ../src/prefs/AudioIOPrefs.cpp:282
-msgid "Playthrough"
-msgstr "回放"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
+msgstr "通道"
 
-#: prefs/AudioIOPrefs.cpp:194
-msgid "Effects Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:158
-msgid "Cut Preview"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:168
-msgid "Latency"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:195
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:198
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:187
-msgid "Short period:"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Long period:"
-msgstr ""
-
-#: ../src/prefs/PrefsDialog.cpp:89
-msgid "Batch"
-msgstr "批处理"
-
-#: ../src/prefs/BatchPrefs.cpp:68
-#: ../src/prefs/GUIPrefs.cpp:36
-msgid "Behaviors"
-msgstr "行为"
-
-#: prefs/BatchPrefs.cpp:80
-msgid "&Don't apply effects in batch mode"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:103 prefs/MidiIOPrefs.cpp:99
+msgid "1 (Mono)"
+msgstr "1 (单声道)"
 
-#: prefs/BatchPrefs.cpp:83
-#, fuzzy
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "'清晰话音'模式 (定制GUI)"
+#: prefs/AudioIOPrefs.cpp:104 prefs/MidiIOPrefs.cpp:100
+msgid "2 (Stereo)"
+msgstr "2 (立体声)"
 
-#: ../src/prefs/PrefsDialog.cpp:87
-#: ../src/prefs/PrefsDialog.cpp:210
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
+#: prefs/PrefsDialog.cpp:267
 msgid "Directories"
 msgstr "目录"
 
 #: prefs/DirectoriesPrefs.cpp:87
 msgid "Temporary files directory"
-msgstr ""
+msgstr "临时文件目录"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:57
+#: prefs/DirectoriesPrefs.cpp:91
 msgid "Location:"
-msgstr "位置:"
+msgstr "位置:"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:78
+#: prefs/DirectoriesPrefs.cpp:93
 msgid "Free Space:"
-msgstr "剩余容量:"
+msgstr "剩余容量:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr ""
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr ""
+#: prefs/DirectoriesPrefs.cpp:110
+msgid "Audio cache"
+msgstr "音频缓存"
 
 #: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr ""
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr "使用RAM播放和录制 (对慢速驱动有用)"
 
-#: prefs/DirectoriesPrefs.cpp:110
-msgid "Audio cache"
-msgstr ""
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr "最小空闲内存 (MB):"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:118
+msgid ""
+"If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
+"如果可用系统内存低于该值,音频\n"
+"不会在内存中被缓存,而会被写入磁盘。"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:136
+#: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "选择存放临时目录的位置"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:183
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr "不可用 - 上面的位置不存在"
+
+#: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
 msgstr "目录%s不存在。是否创建它?"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:185
+#: prefs/DirectoriesPrefs.cpp:168
 msgid "New Temporary Directory"
 msgstr "新建临时目录"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:204
+#: prefs/DirectoriesPrefs.cpp:187
 #, c-format
 msgid "Directory %s is not writable"
 msgstr "目录%s不可写"
 
-#: ../src/prefs/DirectoriesPrefs.cpp:216
+#: prefs/DirectoriesPrefs.cpp:199
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "改变临时目录在重启Audacity之后才有效。"
 
-#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
-msgid "Import / Export"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:84
-msgid "MP3 Export Library"
-msgstr ""
-
-#: ../src/prefs/FileFormatPrefs.cpp:180
-msgid "MP3 Library Version:"
-msgstr "MP3库的版本:"
-
-#: prefs/FileFormatPrefs.cpp:93
-msgid "MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:98
-msgid "LAME MP3 Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
-msgid "&Download"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:136
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:137
-msgid "When importing audio files"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:140
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:141
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:143
-msgid "&Normalize all tracks in project"
-msgstr ""
-
-#: prefs/FileFormatPrefs.cpp:132
-msgid "When saving a project that depends on other audio files"
-msgstr ""
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "浏览"
 
-#: prefs/FileFormatPrefs.cpp:87
-msgid "Always &copy all audio into project (safest)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "从互联网"
 
-#: prefs/FileFormatPrefs.cpp:88
-msgid "&Do not copy any audio"
-msgstr ""
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
+msgstr "36"
 
-#: prefs/FileFormatPrefs.cpp:135
-msgid "&Ask user"
-msgstr ""
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
+msgstr "48"
 
-#: prefs/FileFormatPrefs.cpp:93
-msgid "When exporting tracks to an audio file"
-msgstr ""
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
+msgstr "60"
 
-#: prefs/FileFormatPrefs.cpp:144
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr ""
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
+msgstr "96"
 
-#: prefs/FileFormatPrefs.cpp:97
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr "120"
 
-#: prefs/BatchPrefs.cpp:91
-msgid "S&how Metadata Editor prior to export step"
-msgstr ""
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr "145"
 
-#: ../src/prefs/PrefsDialog.cpp:88
-msgid "Interface"
-msgstr "界面"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB (小范围,适用于大振幅编辑)"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr ""
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM  8 bit 采样范围)"
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr ""
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM 10 bit 采样范围)"
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr ""
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM 16 bit 采样范围)"
 
-#: prefs/GUIPrefs.cpp:72
-msgid "&Update display while playing"
-msgstr ""
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120dB (接近人类听力的极限)"
 
-#: prefs/GUIPrefs.cpp:96
-msgid "Cl&osing last window quits Audacity"
-msgstr ""
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB (PCM 24 bit 采样范围)"
 
-#: prefs/GUIPrefs.cpp:76
-msgid "Enable &dragging of left and right selection edges"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "显示"
 
 #: prefs/GUIPrefs.cpp:100
 msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
+msgstr "Audio I/O按钮的人体工程学顺序(&G)"
 
-#: prefs/GUIPrefs.cpp:80
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr ""
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr "程序启动时显示欢迎信息(&W)"
 
-#: prefs/GUIPrefs.cpp:104
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:90
-msgid "Editing a &clip can move other clips"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:88
-msgid "&Select all audio in project, if none selected"
-msgstr ""
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr "尺形/波形 dB范围:"
 
-#: prefs/GUIPrefs.cpp:90
-msgid "&Beep on completion of longer activities"
-msgstr ""
-
-#: ../src/prefs/BatchPrefs.cpp:69
-#: ../src/prefs/GUIPrefs.cpp:37
-msgid "Show / Hide"
-msgstr "显示 / 隐藏"
+#: prefs/GUIPrefs.cpp:167
+msgid "Help:"
+msgstr "帮助:"
 
 #: prefs/GUIPrefs.cpp:96
-#, fuzzy
-msgid "Enable cut &lines"
-msgstr "开启'剪切线'"
-
-#: prefs/GUIPrefs.cpp:98
-#, fuzzy
-msgid "Show warnings about &temp files"
-msgstr "显示关于临时文件的警告信息"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
+msgid "Cl&osing last window quits Audacity"
+msgstr "关闭最后一个窗口是退出Audacity(%O)"
 
-#: prefs/GUIPrefs.cpp:122
-msgid "Show &Welcome Message at program start up"
-msgstr ""
+#: prefs/GUIPrefs.cpp:110
+msgid "&Beep on completion of longer activities"
+msgstr "在一个较长的动作完成时发出声音(&B)"
 
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
-msgstr ""
+msgstr "模式"
+
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr "在GUI模式下显示VST效果"
 
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
-msgstr ""
+msgstr "不要以批处理模式应用效果(&P)"
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr ""
-
-#: ../src/prefs/GUIPrefs.cpp:383
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB (小范围,适用于大振幅编辑)"
+#: prefs/FileFormatPrefs.cpp:53 prefs/FileFormatPrefs.cpp:54
+msgid "Import / Export"
+msgstr "导入/导出"
 
-#: ../src/prefs/GUIPrefs.cpp:385
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM  8 bit 采样范围)"
+#: prefs/FileFormatPrefs.cpp:137
+msgid "When importing audio files"
+msgstr "当导入音频文件时"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:140
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "在编辑前生成非压缩音频文件备份(更安全)(&M)"
 
-#: ../src/prefs/GUIPrefs.cpp:387
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM 16 bit 采样范围)"
+#: prefs/FileFormatPrefs.cpp:141
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "从原始非压缩文件中直接读入(快速)(&R)"
 
-#: ../src/prefs/GUIPrefs.cpp:389
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120dB (接近人类听力的极限)"
+#: prefs/FileFormatPrefs.cpp:143
+msgid "&Normalize all tracks in project"
+msgstr "归一化工程中的所有轨道(&N)"
 
-#: ../src/prefs/GUIPrefs.cpp:391
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB (PCM 24 bit 采样范围)"
+#: prefs/FileFormatPrefs.cpp:157
+msgid "When exporting tracks to an audio file"
+msgstr "当导出轨道到音频文件时"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:160
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "总是混合所以轨道到立体声或单声道。(&L)"
 
-#: prefs/GUIPrefs.cpp:164
-msgid "Other interface choices"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:161
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "使用定制的混合(如导出到5,1多声道文件)(&U)"
 
-#: prefs/GUIPrefs.cpp:167
-msgid "Help:"
-msgstr ""
+#: prefs/FileFormatPrefs.cpp:163
+msgid "S&how Metadata Editor prior to export step"
+msgstr "导出时显示元信息编辑器(&H)"
 
-#: prefs/GUIPrefs.cpp:168
-msgid "Solo Button:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid ""
+"Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
 msgstr ""
+"注意: 点击'选项'按钮可以\n"
+"在导出对话框选择导出质量"
 
-#: ../src/prefs/PrefsDialog.cpp:90
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "键盘"
 
 #: prefs/KeyConfigPrefs.cpp:86
 msgid "Keyboard preferences currently unavailable."
-msgstr ""
+msgstr "键盘喜好选项当前不可用"
 
 #: prefs/KeyConfigPrefs.cpp:87
 msgid "Open a new project to modify keyboard shortcuts."
-msgstr ""
+msgstr "修改键盘快捷键需要打开新工程"
 
-#: prefs/KeyConfigPrefs.cpp:93
+#: prefs/KeyConfigPrefs.cpp:109
 msgid "Key Bindings"
-msgstr ""
+msgstr "键绑定"
 
-#: prefs/KeyConfigPrefs.cpp:113
+#: prefs/KeyConfigPrefs.cpp:129
 msgid "S&et"
-msgstr ""
+msgstr "设置(&E)"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:116
+#: prefs/KeyConfigPrefs.cpp:135
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
-msgstr "注意: 按Cmd+Q将退出。其它所有按键均有效。"
+msgstr "注意: 按Cmd+Q将退出。其它所有按键均有效。"
 
-#: prefs/KeyConfigPrefs.cpp:122 prefs/ThemePrefs.cpp:102
+#: prefs/KeyConfigPrefs.cpp:140 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
-msgstr ""
+msgstr "默认(&D)"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:80
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr "命令"
+
+#: prefs/KeyConfigPrefs.cpp:159
 msgid "Key Combination"
 msgstr "按键组合"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:160
-msgid "Export Keyboard Shortcuts As:"
-msgstr "导出按键快捷方式为:"
+#: prefs/KeyConfigPrefs.cpp:382 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "撤销"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:176
-msgid "Error saving keyboard shortcuts"
-msgstr "保存按键快捷方式出错"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr "重做"
 
-#: ../src/prefs/KeyConfigPrefs.cpp:190
+#: prefs/KeyConfigPrefs.cpp:211
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
-msgstr "选择包含Audacity快捷键定义的XML文件..."
+msgstr "选择包含Audacity键盘快捷键定义的XML文件..."
 
-#: ../src/prefs/KeyConfigPrefs.cpp:207
+#: prefs/KeyConfigPrefs.cpp:228
 msgid "Error loading keyboard shortcuts"
-msgstr "读取按键快捷方式错误"
+msgstr "读取键盘快捷键错误"
+
+#: prefs/KeyConfigPrefs.cpp:176
+msgid "Export Keyboard Shortcuts As:"
+msgstr "导出键盘快捷键为:"
+
+#: prefs/KeyConfigPrefs.cpp:196
+msgid "Error saving keyboard shortcuts"
+msgstr "保存键盘快捷键出错"
 
-#: prefs/KeyConfigPrefs.cpp:239
+#: prefs/KeyConfigPrefs.cpp:256
 #, c-format
-msgid "The keyboard shortcut '%s' is already assigned to:\n"
+msgid ""
+"The keyboard shortcut '%s' is already assigned to:\n"
 "\n"
 "'%s'"
 msgstr ""
+"键盘快捷键'%s'已经绑定到:\n"
+"\n"
+"'%s'"
 
-#: ../src/EditToolBar.cpp:157
-msgid "Undo"
-msgstr "撤销"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr "库"
+
+#: prefs/FileFormatPrefs.cpp:84
+msgid "MP3 Export Library"
+msgstr "MP3导出库"
 
-#: prefs/AudioIOPrefs.cpp:147
-#, fuzzy
+#: prefs/FileFormatPrefs.cpp:87
+msgid "MP3 Library Version:"
+msgstr "MP3库的版本:"
+
+#: prefs/FileFormatPrefs.cpp:93
+msgid "MP3 Library:"
+msgstr "MP3库:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr "定位...(&L)"
+
+#: prefs/FileFormatPrefs.cpp:98
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3库:"
+
+#: prefs/FileFormatPrefs.cpp:101 prefs/FileFormatPrefs.cpp:125
+msgid "&Download"
+msgstr "下载(&D)"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr "FFmpeg导入/导出库"
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr "FFmpeg库的版本:"
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr "没有找到兼容的FFmpeg库"
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr "FFmpeg库"
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+#: prefs/MidiIOPrefs.cpp:44 prefs/MidiIOPrefs.cpp:45
+msgid "Audio I/O"
+msgstr "音频I/O"
+
+#: prefs/AudioIOPrefs.cpp:126 prefs/MidiIOPrefs.cpp:122
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:148 prefs/MidiIOPrefs.cpp:144
+msgid "Playthrough"
+msgstr "透播"
+
+#: prefs/MidiIOPrefs.cpp:146
 msgid "&Play other tracks while recording new one"
-msgstr "在录制新轨时播放其它的轨道"
+msgstr "在录制新轨时播放其它的轨道(&P)"
 
 #: prefs/MidiIOPrefs.cpp:149
 msgid "&Hardware Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "硬件透播:在录制它时播放新轨道(&H)"
 
 #: prefs/MidiIOPrefs.cpp:152
 msgid "&Software Playthrough (Play new track while recording it)"
-msgstr ""
+msgstr "软件透播:在录制它时播放新轨道(&S)"
+
+#: prefs/AudioIOPrefs.cpp:177 prefs/MidiIOPrefs.cpp:157
+msgid "Cut Preview"
+msgstr "剪切预览"
 
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
-msgstr ""
+msgstr "剪切区域前播放:"
 
 #: prefs/MidiIOPrefs.cpp:162
 msgid "Play after cut region:"
-msgstr ""
+msgstr "剪切区域后播放:"
+
+#: prefs/AudioIOPrefs.cpp:190 prefs/MidiIOPrefs.cpp:167
+msgid "Latency"
+msgstr "延迟"
 
-#: prefs/AudioIOPrefs.cpp:174
+#: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
-msgstr ""
+msgstr "音频到缓冲:"
 
-#: prefs/AudioIOPrefs.cpp:177
+#: prefs/MidiIOPrefs.cpp:176
 msgid "Latency correction:"
-msgstr ""
+msgstr "延迟校正:"
 
 #: prefs/MidiIOPrefs.cpp:183
 msgid "Seek Time"
-msgstr ""
+msgstr "寻找时间"
+
+#: prefs/AudioIOPrefs.cpp:207 prefs/MidiIOPrefs.cpp:186
+msgid "Short period:"
+msgstr "短期:"
+
+#: prefs/AudioIOPrefs.cpp:209 prefs/MidiIOPrefs.cpp:188
+msgid "Long period:"
+msgstr "长期:"
+
+#: prefs/AudioIOPrefs.cpp:169 prefs/MidiIOPrefs.cpp:193
+msgid "Effects Preview"
+msgstr "效果预览"
 
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
-msgstr ""
+msgstr "预览时播放:"
 
-#: ../src/prefs/PrefsDialog.cpp:91
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "é¼ æ ‡"
 
-#: ../src/prefs/MousePrefs.cpp:71
+#: prefs/MousePrefs.cpp:78
 msgid "Mouse Bindings (default values, not configurable)"
-msgstr "鼠标绑定 (缺省值, 不可更改)"
+msgstr "鼠标绑定 (默认值, 不可更改)"
 
-#: ../src/prefs/MousePrefs.cpp:84
+#: prefs/MousePrefs.cpp:93
 msgid "Tool"
 msgstr "工具"
 
-#: ../src/prefs/MousePrefs.cpp:85
+#: prefs/MousePrefs.cpp:94
 msgid "Command Action"
 msgstr "命令动作"
 
-#: ../src/prefs/MousePrefs.cpp:86
+#: prefs/MousePrefs.cpp:95
 msgid "Buttons"
 msgstr "按钮"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "左击"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:90
-#: ../src/prefs/MousePrefs.cpp:91
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "选择"
 
-#: ../src/prefs/MousePrefs.cpp:89
-#: ../src/prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "设置选段位置"
 
-#: ../src/prefs/MousePrefs.cpp:90
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:98
-#: ../src/prefs/MousePrefs.cpp:102
-#: ../src/prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
-msgstr "按住左键-拖曳"
+msgstr "按住左键-拖拽"
 
-#: ../src/prefs/MousePrefs.cpp:90
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "设置选段范围"
 
-#: ../src/prefs/MousePrefs.cpp:91
+#: prefs/MousePrefs.cpp:100
 msgid "Extend Selection Range"
 msgstr "扩展选段范围"
 
-#: ../src/prefs/MousePrefs.cpp:91
+#: prefs/MousePrefs.cpp:100
 msgid "Shift-Left-Click"
-msgstr "按住Shift键-左击"
+msgstr "Shift键-左击"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Left-Double-Click"
-msgstr ""
+msgstr "左双击"
 
 #: prefs/MousePrefs.cpp:101
 msgid "Select Clip or Entire Track"
-msgstr ""
+msgstr "选择片段或整个轨道"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Ctrl-Left-Click"
-msgstr ""
+msgstr "Ctrl键-左击"
 
 #: prefs/MousePrefs.cpp:102
 msgid "Set Selection Point and Play"
-msgstr ""
+msgstr "这是选段位置并播放"
 
-#: ../src/prefs/MousePrefs.cpp:93
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:95
-#: ../src/prefs/MousePrefs.cpp:96
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "缩放"
 
-#: ../src/prefs/MousePrefs.cpp:93
+#: prefs/MousePrefs.cpp:104
 msgid "Zoom in on Point"
 msgstr "点放大"
 
-#: ../src/prefs/MousePrefs.cpp:94
-#: ../src/prefs/MousePrefs.cpp:96
-#: ../src/prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "范围放大"
 
-#: ../src/prefs/MousePrefs.cpp:94
+#: prefs/MousePrefs.cpp:105
 msgid "same as right-drag"
-msgstr "同按住右键-拖曳"
+msgstr "同右键-拖拽"
 
-#: ../src/prefs/MousePrefs.cpp:95
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "右击"
 
-#: ../src/prefs/MousePrefs.cpp:95
-#: ../src/prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "缩小一级"
 
-#: ../src/prefs/MousePrefs.cpp:96
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
-msgstr "按住右键-拖曳"
+msgstr "右键-拖拽"
 
-#: ../src/prefs/MousePrefs.cpp:96
+#: prefs/MousePrefs.cpp:107
 msgid "same as left-drag"
-msgstr "同按住左键-拖曳"
+msgstr "同左键-拖拽"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Shift-Drag"
-msgstr ""
+msgstr "Shift键-拖拽"
 
 #: prefs/MousePrefs.cpp:108
 msgid "Zoom out on a Range"
-msgstr ""
+msgstr "范围缩小"
 
 #: prefs/MousePrefs.cpp:109
 msgid "Middle-Click"
-msgstr ""
+msgstr "中击"
 
 #: prefs/MousePrefs.cpp:109
 msgid "Zoom default"
-msgstr ""
+msgstr "默认缩放"
 
-#: ../src/prefs/MousePrefs.cpp:98
+#: prefs/MousePrefs.cpp:111
 msgid "Time shift clip or move up/down between tracks"
 msgstr "时间轴向移动剪辑,或在音轨之间上下移动剪辑"
 
-#: ../src/prefs/MousePrefs.cpp:99
+#: prefs/MousePrefs.cpp:112
 msgid "Shift-Left-Drag"
-msgstr "按住Shift键及鼠标左键-拖曳"
+msgstr "Shift键及左键-拖拽"
 
-#: ../src/prefs/MousePrefs.cpp:99
+#: prefs/MousePrefs.cpp:112
 msgid "Time shift all clips in track"
 msgstr "时间轴向移动音轨里的所有剪辑"
 
-#: ../src/prefs/MousePrefs.cpp:100
-#: ../src/prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
-msgstr "按住Ctrl键及鼠标左键-拖曳"
+msgstr "Ctrl键及左键-拖拽"
 
-#: ../src/prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:113
 msgid "Move clip up/down between tracks"
 msgstr "在轨道间上下移动剪辑"
 
-#: ../src/prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:115
 msgid "Change Amplification Envelope"
 msgstr "改变振幅包络"
 
-#: ../src/prefs/MousePrefs.cpp:104
+#: prefs/MousePrefs.cpp:117
 msgid "Change Sample"
 msgstr "变更采样"
 
-#: ../src/prefs/MousePrefs.cpp:104
-#: ../src/prefs/MousePrefs.cpp:105
-#: ../src/prefs/MousePrefs.cpp:106
-#: ../src/prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "铅笔"
 
-#: ../src/prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:118
 msgid "Alt-Left-Click"
-msgstr "按住Alt键-左击"
+msgstr "Alt键-左击"
 
-#: ../src/prefs/MousePrefs.cpp:105
+#: prefs/MousePrefs.cpp:118
 msgid "Smooth at Sample"
 msgstr "平滑采样"
 
-#: ../src/prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:119
 msgid "Change Several Samples"
 msgstr "修改几处采样"
 
-#: ../src/prefs/MousePrefs.cpp:107
+#: prefs/MousePrefs.cpp:120
 msgid "Change ONE Sample only"
 msgstr "仅修改一处采样点"
 
-#: ../src/prefs/MousePrefs.cpp:109
-#: ../src/prefs/MousePrefs.cpp:110
-#: ../src/prefs/MousePrefs.cpp:111
-#: ../src/prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:125
 msgid "Multi"
-msgstr "多选"
+msgstr "多功能"
 
-#: ../src/prefs/MousePrefs.cpp:109
-#: ../src/prefs/MousePrefs.cpp:110
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "同选择工具"
 
-#: ../src/prefs/MousePrefs.cpp:111
-#: ../src/prefs/MousePrefs.cpp:112
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "同缩放工具"
 
-#: ../src/prefs/MousePrefs.cpp:114
-#: ../src/prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "(任一)"
 
-#: ../src/prefs/MousePrefs.cpp:114
+#: prefs/MousePrefs.cpp:127
 msgid "Scroll up or down"
-msgstr "上下翻卷"
+msgstr "上下滚动"
 
-#: ../src/prefs/MousePrefs.cpp:114
+#: prefs/MousePrefs.cpp:127
 msgid "Wheel-Rotate"
 msgstr "滚轮"
 
 #: prefs/MousePrefs.cpp:128
 msgid "Scroll left or right"
-msgstr ""
+msgstr "左右滚动"
 
 #: prefs/MousePrefs.cpp:128
 msgid "Shift-Wheel-Rotate"
-msgstr ""
+msgstr "Shift键-滚轮"
 
-#: ../src/prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:129
 msgid "Ctrl-Wheel-Rotate"
-msgstr "按住Ctrl键-滚轮"
+msgstr "Ctrl键-滚轮"
 
-#: ../src/prefs/MousePrefs.cpp:115
+#: prefs/MousePrefs.cpp:129
 msgid "Zoom in or out"
 msgstr "放大或缩小"
 
-#: ../src/prefs/PrefsDialog.cpp:54
+#: prefs/AudioIOPrefs.cpp:172
+msgid "Length of preview:"
+msgstr "预览长度:"
+
+#: prefs/AudioIOPrefs.cpp:180
+msgid "Preview before cut region:"
+msgstr "剪切区域前预览:"
+
+#: prefs/AudioIOPrefs.cpp:182
+msgid "Preview after cut region:"
+msgstr "剪切区域后预览:"
+
+#: prefs/AudioIOPrefs.cpp:204
+msgid "Seek Time when playing"
+msgstr "播放时的寻找时间"
+
+#: prefs/PrefsDialog.cpp:94
 msgid "Audacity Preferences"
-msgstr "Audacity参数选择"
+msgstr "Audacity喜好选项"
+
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr "工程"
+
+#: prefs/FileFormatPrefs.cpp:148
+msgid "When saving a project that depends on other audio files"
+msgstr "但保存一个依赖其它音频文件的工程时"
+
+#: prefs/FileFormatPrefs.cpp:151
+msgid "Always &copy all audio into project (safest)"
+msgstr "总是把音频复制到工程(最安全)(&C)"
+
+#: prefs/FileFormatPrefs.cpp:152
+msgid "&Do not copy any audio"
+msgstr "不要复制任何音频(&D)"
+
+#: prefs/FileFormatPrefs.cpp:153
+msgid "&Ask user"
+msgstr "问用户(&A)"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "自动保存"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "自动保存在一个分离的目录"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "自动保存间隔:"
 
-#: ../src/prefs/QualityPrefs.cpp:168
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "分"
+
+#: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "矩形"
 
-#: ../src/prefs/QualityPrefs.cpp:169
+#: prefs/QualityPrefs.cpp:74
 msgid "Triangle"
 msgstr "三角形"
 
-#: ../src/prefs/QualityPrefs.cpp:170
+#: prefs/QualityPrefs.cpp:75
 msgid "Shaped"
 msgstr "给定形"
 
-#: ../src/prefs/QualityPrefs.cpp:85
+#: prefs/QualityPrefs.cpp:122
 msgid "Sampling"
-msgstr "正在采样"
+msgstr "采样"
 
-#: ../src/prefs/QualityPrefs.cpp:92
+#: prefs/QualityPrefs.cpp:125
 msgid "Default Sample Rate:"
-msgstr "缺省采样率:"
+msgstr "默认采样率:"
 
-#: ../src/prefs/QualityPrefs.cpp:125
+#: prefs/QualityPrefs.cpp:127
 msgid "Default Sample Format:"
-msgstr "缺省采样格式:"
+msgstr "默认采样格式:"
 
-#: ../src/prefs/QualityPrefs.cpp:145
-msgid "Real-time sample rate converter:"
-msgstr "实时采样率转换器:"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr "实时转换"
 
-#: ../src/prefs/QualityPrefs.cpp:154
-msgid "High-quality sample rate converter:"
-msgstr "高品质采样率转换器:"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+msgid "Sample Rate Converter:"
+msgstr "采样率转换器:"
 
-#: ../src/prefs/QualityPrefs.cpp:176
-msgid "Real-time dither:"
-msgstr "实时抖动:"
+#: prefs/QualityPrefs.cpp:164
+msgid "Dither"
+msgstr "抖动"
 
-#: ../src/prefs/QualityPrefs.cpp:189
-msgid "High-quality dither:"
-msgstr "高品质抖动"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr "高质量转换"
 
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:150
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr "重叠录制:在录制新轨时播放其它的轨道(&P)"
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:153
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "硬件透播:在录制它时播放新轨道(&H)"
 
-#: prefs/QualityPrefs.cpp:164
-msgid "Dither"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:158
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr "软件透播:在录制或监视时播放新轨道(&S)"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr ""
+#: prefs/AudioIOPrefs.cpp:161
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr "(录制\"立体声混合\"时不要选)"
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr ""
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr "毫秒 (越高表示延迟越大)"
 
-#: prefs/SmartRecordPrefs.cpp:54 prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr ""
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr "毫秒 (负数表示反向)"
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
-msgstr ""
+msgstr "声音启动录制"
 
 #: prefs/SmartRecordPrefs.cpp:71
 msgid "Sound Activation Level (dB):"
-msgstr ""
+msgstr "声音启动声强级(dB):"
 
-#: ../src/prefs/PrefsDialog.cpp:86
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "频谱图"
 
-#: ../src/prefs/SpectrumPrefs.cpp:74
-msgid "FFT Size"
-msgstr "FFT(快速傅立叶变换)的采样点数"
-
-#: ../src/prefs/SpectrumPrefs.cpp:39
+#: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - 最宽带"
 
-#: ../src/prefs/SpectrumPrefs.cpp:44
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr "16"
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr "32"
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr "64"
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr "128"
+
+#: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
-msgstr "256 - 缺省"
+msgstr "256 - 默认"
+
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr "512"
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr "1024"
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr "2048"
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr "4096"
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr "8192"
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr "16384"
 
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
-msgstr ""
+msgstr "32768 - 最窄带"
 
-#: ../src/prefs/SpectrumPrefs.cpp:48
+#: prefs/SpectrumPrefs.cpp:109
 msgid "4096 - most narrowband"
 msgstr "4096 - 最窄带"
 
-#: prefs/SpectrumPrefs.cpp:90
-msgid "Window type:"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr "FFT(快速傅立叶变换) 窗口"
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr "窗口大小"
+
+#: prefs/SpectrumPrefs.cpp:93
+msgid "Window type"
+msgstr "窗口类型"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
-msgstr ""
+msgstr "FFT(快速傅立叶变换)跳过点"
 
-#: ../src/prefs/SpectrumPrefs.cpp:99
-msgid "Display"
-msgstr "显示"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr "跳过点"
 
-#: prefs/SpectrumPrefs.cpp:100
-msgid "&Grayscale"
-msgstr ""
-
-#: prefs/SpectrumPrefs.cpp:103
+#: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
-msgstr ""
+msgstr "最低频率(Hz):"
 
-#: ../src/prefs/SpectrumPrefs.cpp:112
+#: prefs/SpectrumPrefs.cpp:152
 msgid "Maximum Frequency (Hz):"
-msgstr "最高频率 (Hz):"
+msgstr "最高频率 (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr "用灰度显示频谱(&G)"
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr "显示沿Y轴的网格"
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr "FFT(快速傅立叶变换)寻找音符"
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
-msgstr ""
+msgstr "最小振幅 (dB):"
 
 #: prefs/SpectrumPrefs.cpp:170
 msgid "Max. Number of Notes (1..128):"
-msgstr ""
+msgstr "最大音符数(1..128):"
+
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "寻找音符(&F)"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "量化音符S(&Q)"
 
-#: ../src/prefs/SpectrumPrefs.cpp:158
+#: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
-msgstr "最大频率值必须是整数"
+msgstr "最高频率值必须是整数"
 
-#: ../src/prefs/SpectrumPrefs.cpp:162
+#: prefs/SpectrumPrefs.cpp:201
 msgid "Maximum frequency must be in the range 100 Hz - 100,000 Hz"
-msgstr "最高频率必须在 100 Hz 至 100,000 Hz 之间"
+msgstr "最高频率必须在 100 Hz 至 100,000 Hz 之间"
 
-#: prefs/SpectrumPrefs.cpp:146
+#: prefs/SpectrumPrefs.cpp:209
 msgid "The minimum frequency must be an integer"
-msgstr ""
+msgstr "最低频率值必须是整数"
 
-#: prefs/SpectrumPrefs.cpp:150
+#: prefs/SpectrumPrefs.cpp:213
 msgid "Minimum frequency must be at least 0 Hz"
-msgstr ""
+msgstr "最低频率至少是0Hz"
+
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr "最低频率必须小于最高频率"
 
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
-msgstr ""
+msgstr "最小振幅(dB)必须是整数"
 
-#: prefs/SpectrumPrefs.cpp:226 prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr ""
+#: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr "最大音符数必须是整数"
+
+#: prefs/SpectrumPrefs.cpp:230
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr "最大音符数必须在1~128直接"
 
-#: prefs/ThemePrefs.cpp:61 prefs/ThemePrefs.cpp:62
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
+msgstr "主题"
+
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "信息"
+
+#: prefs/ThemePrefs.cpp:91
+
+msgid ""
+"Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr ""
+"主题是实验性的特性。\n"
+"\n"
+"要尝试一下,点击\"保存主题缓存\",然后\n"
+"找到并用如Gimp修改\n"
+"ImageCacheVxx.png的图片和颜色\n"
+"\n"
+"点击\"载人主题缓存\"把改变过的\n"
+"图片和颜色导入回Audacity\n"
+"\n"
+"[目前仅有控制工具栏和波形轨的颜色\n"
+"受此影响,尽管其它图片也在image文件中。]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid ""
+"You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
 msgstr ""
+"你编译了有额外按钮的Audacit,'输出源文件'.这会保存一个 \n"
+"能被默认编译入的图片缓存的C版本。"
 
-#: prefs/ThemePrefs.cpp:90
-msgid "Theme Cache - Images && Color"
+#: prefs/ThemePrefs.cpp:101
+msgid ""
+"If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
 msgstr ""
+"如果'启动时载入主题'被选上, 那么主题缓存\n"
+"就会在程序启动是被载入。"
 
-#: prefs/ThemePrefs.cpp:92
-msgid "Save Theme Cache"
+#: prefs/ThemePrefs.cpp:104
+msgid ""
+"Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
 msgstr ""
+"保存和载入独立的主题文件使用分离的文件\n"
+"保存每个图片,但也是同一个想法。"
 
+#. i18n-hint: && in here is an escape character to get a single & on screen,
+#. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
+msgid "Theme Cache - Images && Color"
+msgstr "主题缓存 - 图片和颜色"
+
+#: prefs/ThemePrefs.cpp:95
+msgid "Save Theme Cache"
+msgstr "保存主题缓存"
+
+#: prefs/ThemePrefs.cpp:96
 msgid "Load Theme Cache"
-msgstr ""
+msgstr "载入主题缓存"
 
-#: prefs/ThemePrefs.cpp:103
+#: prefs/ThemePrefs.cpp:106
 msgid "Load Theme Cache At Startup"
-msgstr ""
+msgstr "启动时载入主题缓存"
 
-#: prefs/ThemePrefs.cpp:115
+#: prefs/ThemePrefs.cpp:118
 msgid "Individual Theme Files"
-msgstr ""
+msgstr "独立的主题文件"
 
-#: prefs/ThemePrefs.cpp:117
+#: prefs/ThemePrefs.cpp:120
 msgid "Save Files"
-msgstr ""
+msgstr "保存文件"
 
-#: prefs/ThemePrefs.cpp:118
+#: prefs/ThemePrefs.cpp:121
 msgid "Load Files"
-msgstr ""
+msgstr "载入文件"
 
-#: prefs/ThemePrefs.cpp:123
-msgid "Info"
-msgstr ""
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "简单"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "播放时更新显示(%U)"
 
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "自动适应垂直缩放的轨道(&F)"
 
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr ""
+#: prefs/TracksPrefs.cpp:88
+msgid "Default View Mode:"
+msgstr "默认视图模式:"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr ""
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "如果没有选中音频时选择工程中所有的音频(&S)"
 
-#: ../src/ControlToolBar.cpp:519
-#: ../src/ControlToolBar.cpp:528
-msgid "Pause"
-msgstr "暂停"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "开启'剪切线'(&L)"
 
-#: ../src/ControlToolBar.cpp:516
-msgid "Play"
-msgstr "播放"
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "允许拖动选段的左右边(&D)"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
-msgstr ""
+#: prefs/GUIPrefs.cpp:104
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"移动轨道焦点\"在轨道间循环(&Y)"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "编译一个片段会移动其它片段(&C)"
+
+#: prefs/GUIPrefs.cpp:168
+msgid "Solo Button:"
+msgstr "独奏按钮:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
+msgstr "警告"
+
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr "显示警告/提示"
+
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr "当保存工程时(&P)"
+
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr "当保存空工程时(&E)"
+
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr "当磁盘空间很低时(&D)"
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr "当导出时混音到立体声时(&S)"
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
+msgstr "当导出时混音到单声时(&S)"
 
-#: ../src/ControlToolBar.cpp:520
-#: ../src/ControlToolBar.cpp:529
+#: Menus.cpp:999
+msgid "Pause"
+msgstr "暂停"
+
+#: Menus.cpp:998
 msgid "Stop"
 msgstr "停止"
 
-#: ../src/ControlToolBar.cpp:524
-msgid "Skip to Start"
-msgstr "跳至开始位置"
+#: toolbars/ControlToolBar.cpp:195
+msgid "Clean Speech"
+msgstr "清晰话音"
 
-#: ../src/ControlToolBar.cpp:530
-msgid "Skip to End"
-msgstr "跳至结束位置"
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr "播放 (Shift键循环播放)"
 
 #: toolbars/ControlToolBar.cpp:192
 msgid "Record (Shift for Append Record)"
-msgstr ""
+msgstr "录制(Shift键追加录制)"
 
-#: ../src/ControlToolBar.cpp:517
-#: ../src/ControlToolBar.cpp:527
-msgid "Clean Speech"
-msgstr "清晰话音"
-
-#: toolbars/ControlToolBar.cpp:524 toolbars/ControlToolBar.cpp:776
+#: toolbars/ControlToolBar.cpp:540 toolbars/ControlToolBar.cpp:869
 msgid "Error while opening sound device. "
-msgstr ""
+msgstr "打开声音设备时储存。"
 
-#: toolbars/ControlToolBar.cpp:696
+#: toolbars/ControlToolBar.cpp:706
 msgid "Recording in CleanSpeech mode is not possible when a track, or more than one project, is already open."
-msgstr ""
+msgstr "当轨道或多个工程打开时,不能以清晰话音模式录制。"
 
-#: ../src/ControlToolBar.cpp:884
+#: toolbars/ControlToolBar.cpp:707
 msgid "Recording not permitted"
-msgstr "不允许录音"
+msgstr "不允许录制"
 
 #: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
-msgstr ""
+msgstr "输出设备"
 
 #: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
-msgstr ""
+msgstr "输入设备"
 
-#: ../src/EditToolBar.cpp:152
+#: toolbars/EditToolBar.cpp:139
 msgid "Trim outside selection"
 msgstr "修剪非选段部分"
 
-#: ../src/EditToolBar.cpp:154
+#: toolbars/EditToolBar.cpp:141
 msgid "Silence selection"
 msgstr "静音选段"
 
 #: toolbars/EditToolBar.cpp:150
 msgid "Link Tracks"
-msgstr ""
+msgstr "链接轨道"
 
-#: ../src/EditToolBar.cpp:162
+#: toolbars/EditToolBar.cpp:155
 msgid "Zoom In"
 msgstr "放大"
 
-#: ../src/EditToolBar.cpp:164
+#: toolbars/EditToolBar.cpp:157
 msgid "Zoom Out"
 msgstr "缩小"
 
-#: ../src/EditToolBar.cpp:168
-msgid "Zoom Toggle"
-msgstr "缩放切换"
-
-#: ../src/EditToolBar.cpp:172
-msgid "Fit Selection"
-msgstr "适应选段"
-
-#: ../src/EditToolBar.cpp:172
+#: toolbars/EditToolBar.cpp:165
 msgid "Fit selection in window"
 msgstr "选段填充窗口显示"
 
-#: ../src/EditToolBar.cpp:174
-msgid "Fit Project"
-msgstr "适应工程"
-
-#: ../src/EditToolBar.cpp:174
+#: toolbars/EditToolBar.cpp:167
 msgid "Fit project in window"
 msgstr "工程填充窗口显示"
 
-#: ../src/MeterToolBar.cpp:54
-msgid "Meter"
-msgstr "仪表指示"
+#: toolbars/EditToolBar.cpp:165
+msgid "Fit Selection"
+msgstr "适应选段"
 
-#: toolbars/MeterToolBar.cpp:79
-msgid "Play Meter"
-msgstr ""
+#: toolbars/EditToolBar.cpp:167
+msgid "Fit Project"
+msgstr "适应工程"
 
 #: toolbars/MeterToolBar.cpp:80
+msgid "Play Meter"
+msgstr "播放指示"
+
+#: toolbars/MeterToolBar.cpp:81
 msgid "Meter-Play"
-msgstr ""
+msgstr "指示-播放"
 
-#: toolbars/MeterToolBar.cpp:88
+#: toolbars/MeterToolBar.cpp:89
 msgid "Record Meter"
-msgstr ""
+msgstr "录制指示"
 
-#: toolbars/MeterToolBar.cpp:89
+#: toolbars/MeterToolBar.cpp:90
 msgid "Meter-Record"
-msgstr ""
+msgstr "指示-录制"
 
-#: ../src/MeterToolBar.cpp:67
+#: toolbars/MeterToolBar.cpp:94
 msgid "Output level meter"
 msgstr "输出音量指示"
 
-#: ../src/MeterToolBar.cpp:68
+#: toolbars/MeterToolBar.cpp:95
 msgid "Input level meter - click to monitor input"
 msgstr "输入音量指示 - 点击监视输入"
 
-#: ../src/MixerToolBar.cpp:136
+#: toolbars/MixerToolBar.cpp:90
 msgid "Output Volume"
 msgstr "输出音量"
 
 #: toolbars/MixerToolBar.cpp:92
 msgid "Slider Output"
-msgstr ""
+msgstr "输出滑动"
 
-#: ../src/MixerToolBar.cpp:139
+#: toolbars/MixerToolBar.cpp:101 widgets/Meter.cpp:870
 msgid "Input Volume"
 msgstr "输入音量"
 
 #: toolbars/MixerToolBar.cpp:103
 msgid "Slider Input"
-msgstr ""
+msgstr "输入滑动"
 
-#: toolbars/MixerToolBar.cpp:119
+#: toolbars/MixerToolBar.cpp:134
 msgid "Input Source"
-msgstr ""
+msgstr "输入源"
+
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr "不能提供输入源信息。"
 
-#: toolbars/SelectionBar.cpp:75
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr "选择输入源"
+
+#: toolbars/SelectionBar.cpp:86
 msgid "Selection"
-msgstr ""
+msgstr "选段"
 
-#: ../src/SelectionBar.cpp:87
+#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:194
 msgid "Project Rate (Hz):"
-msgstr "工程采样率 (Hz):"
+msgstr "工程采样率 (Hz):"
 
-#: ../src/SelectionBar.cpp:92
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:255
 msgid "Selection Start:"
-msgstr "选段的起点:"
+msgstr "选段的起点:"
 
-#: effects/ToneGen.cpp:300 effects/ToneGen.cpp:338
-#: toolbars/SelectionBar.cpp:135 toolbars/SelectionBar.cpp:225
+#: toolbars/SelectionBar.cpp:163 toolbars/SelectionBar.cpp:164
+#: toolbars/SelectionBar.cpp:261
 msgid "Length"
-msgstr ""
+msgstr "长度"
 
-#: toolbars/SelectionBar.cpp:145
+#: toolbars/SelectionBar.cpp:174
 msgid "hidden"
-msgstr ""
+msgstr "隐藏"
 
-#: ../src/SelectionBar.cpp:115
+#: toolbars/SelectionBar.cpp:184 toolbars/SelectionBar.cpp:272
 msgid "Audio Position:"
-msgstr "音频位置:"
+msgstr "音频位置:"
 
-#: toolbars/SelectionBar.cpp:217 toolbars/SelectionBar.cpp:222
+#: toolbars/SelectionBar.cpp:236 toolbars/SelectionBar.cpp:241
 msgid "Snap To"
-msgstr ""
+msgstr "吸附到"
 
-#: toolbars/SelectionBar.cpp:224
+#: toolbars/SelectionBar.cpp:260
 msgid "Selection "
-msgstr ""
+msgstr "选段"
 
-#: toolbars/SelectionBar.cpp:289
+#: toolbars/SelectionBar.cpp:325
 msgid "Selection Length"
-msgstr ""
+msgstr "选段长度"
 
-#: toolbars/SelectionBar.cpp:297
+#: toolbars/SelectionBar.cpp:333
 msgid "Selection End"
-msgstr ""
+msgstr "选段结束"
 
-#: toolbars/ToolBar.cpp:96
+#: toolbars/ToolBar.cpp:98
 #, c-format
 msgid "Audacity %s ToolBar"
-msgstr ""
+msgstr "Audacity %s工具栏"
 
 #: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
-msgstr ""
+msgstr "工具停靠"
 
-#: ../src/ControlToolBar.cpp:77
+#: toolbars/ToolsToolBar.cpp:63
 msgid "Click and drag to select audio"
 msgstr "单击并拖动选择音频"
 
-#: ../src/ControlToolBar.cpp:78
+#: toolbars/ToolsToolBar.cpp:64
 msgid "Click and drag to edit the amplitude envelope"
 msgstr "单击并拖动编辑振幅包络线"
 
-#: ../src/ControlToolBar.cpp:79
+#: toolbars/ToolsToolBar.cpp:65
 msgid "Click and drag to edit the samples"
 msgstr "单击并拖动编辑采样"
 
-#: ../src/ControlToolBar.cpp:81
+#: toolbars/ToolsToolBar.cpp:67
 msgid "Click to Zoom In, Shift-Click to Zoom Out"
 msgstr "单击放大,按住Shift键单击缩小"
 
-#: ../src/ControlToolBar.cpp:83
+#: toolbars/ToolsToolBar.cpp:69
 msgid "Drag to Zoom Into Region, Right-Click to Zoom Out"
 msgstr "拖入放大区域,右击缩小"
 
-#: ../src/ControlToolBar.cpp:85
+#: toolbars/ToolsToolBar.cpp:71
 msgid "Left=Zoom In, Right=Zoom Out, Middle=Normal"
-msgstr "鼠标左键=放大, 右键=缩小, 中键=正常"
+msgstr "鼠标左键=放大, 右键=缩小, 中键=正常"
 
-#: ../src/ControlToolBar.cpp:87
+#: toolbars/ToolsToolBar.cpp:73
 msgid "Click and drag to move a track in time"
 msgstr "单击并拖动在时间范围内的轨道"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr ""
-
-#: ../src/ControlToolBar.cpp:363
-msgid "Selection Tool"
-msgstr "选择工具"
-
-#: ../src/ControlToolBar.cpp:364
-msgid "Envelope Tool"
-msgstr "包络线工具"
-
-#: ../src/ControlToolBar.cpp:365
-msgid "Time Shift Tool"
-msgstr "时间移动工具"
-
-#: ../src/ControlToolBar.cpp:366
-msgid "Zoom Tool"
-msgstr "缩放工具"
-
-#: ../src/ControlToolBar.cpp:367
-msgid "Draw Tool"
-msgstr "画图工具"
-
-#: ../src/ControlToolBar.cpp:368
+#: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
-msgstr "多选工具(Multi-Tool)模式"
+msgstr "多功能工具(Multi-Tool)模式"
 
 #: toolbars/ToolsToolBar.cpp:186
 msgid "Slide Tool"
-msgstr ""
-
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr ""
-
-#: ../src/TranscriptionToolBar.cpp:110
-msgid "Transcription"
-msgstr "录音记录"
+msgstr "滑动工具"
 
-#: ../src/TranscriptionToolBar.cpp:207
+#: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "以选定的速度播放"
 
-#: ../src/TranscriptionToolBar.cpp:208
-msgid "Play-at-speed"
-msgstr "指定数度播放"
-
-#: ../src/TranscriptionToolBar.cpp:212
-#: ../src/TranscriptionToolBar.cpp:216
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "重放速度"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:196
 msgid "Adjust left selection to next onset"
-msgstr "调整左选段至下一个音响起点(onset)"
+msgstr "调整左选段至下一个声音起点"
 
-#: ../src/TranscriptionToolBar.cpp:222
-msgid "Left-to-On"
-msgstr "向左-打开"
-
-#: ../src/TranscriptionToolBar.cpp:224
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
-msgstr "调整右选段至上一个音响终点(offset)"
+msgstr "调整右选段至上一个声音终点"
 
-#: ../src/TranscriptionToolBar.cpp:225
-msgid "Right-to-Off"
-msgstr "向右-关闭"
-
-#: ../src/TranscriptionToolBar.cpp:227
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
-msgstr "调整左选段至下一个音响终点(offset)"
+msgstr "调整左选段至下一个声音终点"
 
-#: ../src/TranscriptionToolBar.cpp:228
-msgid "Left-to-Off"
-msgstr "向左-关闭"
-
-#: ../src/TranscriptionToolBar.cpp:230
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
-msgstr "调整右选段至上一个音响起点(onset)"
+msgstr "调整右选段至上一个声音起点"
 
-#: ../src/TranscriptionToolBar.cpp:231
-msgid "Right-to-On"
-msgstr "向右-打开"
-
-#: ../src/TranscriptionToolBar.cpp:234
+#: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
-msgstr "选择游标附近的音频区域"
+msgstr "选择光标附近的音频区域"
 
-#: ../src/TranscriptionToolBar.cpp:235
-msgid "Select-Sound"
-msgstr "选择声音"
-
-#: ../src/TranscriptionToolBar.cpp:238
+#: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
-msgstr "选择游标附近的静音区域"
-
-#: ../src/TranscriptionToolBar.cpp:239
-msgid "Select-Silence"
-msgstr "选择静音"
+msgstr "选择光标附近的静音区域"
 
-#: ../src/TranscriptionToolBar.cpp:242
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "自动从单词生成标签"
 
-#: ../src/TranscriptionToolBar.cpp:243
-msgid "Make Labels"
-msgstr "制作标签"
-
-#: ../src/TranscriptionToolBar.cpp:245
+#: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "给音频选段加上标签"
 
-#: ../src/TranscriptionToolBar.cpp:246
-msgid "Add Label"
-msgstr "增加标签"
-
-#: ../src/TranscriptionToolBar.cpp:249
+#: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "校准语音基调"
 
-#: ../src/TranscriptionToolBar.cpp:250
-msgid "Calibrate"
-msgstr "校准"
-
-#: ../src/TranscriptionToolBar.cpp:252
+#: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "调整敏感度"
 
-#: ../src/TranscriptionToolBar.cpp:255
+#: toolbars/TranscriptionToolBar.cpp:230
 msgid "Sensitivity"
 msgstr "敏感度"
 
-#: ../src/TranscriptionToolBar.cpp:263
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:235
 msgid "Energy"
 msgstr "能量"
 
-#: ../src/TranscriptionToolBar.cpp:264
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:236
 msgid "Sign Changes (Low Threshold)"
-msgstr "改变极性 (低阈值)"
+msgstr "改变符号 (低阈值)"
 
-#: ../src/TranscriptionToolBar.cpp:265
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:237
 msgid "Sign Changes (High Threshold)"
-msgstr "改变极性 (高阈值)"
+msgstr "改变符合 (高阈值)"
 
-#: ../src/TranscriptionToolBar.cpp:266
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:238
 msgid "Direction Changes (Low Threshold)"
 msgstr "改变方向 (低阈值)"
 
-#: ../src/TranscriptionToolBar.cpp:267
-#, fuzzy
+#: toolbars/TranscriptionToolBar.cpp:239
 msgid "Direction Changes (High Threshold)"
 msgstr "改变方向 (高阈值)"
 
-#: toolbars/TranscriptionToolBar.cpp:251
+#: toolbars/TranscriptionToolBar.cpp:247
 msgid "Key type"
-msgstr ""
+msgstr "键类型"
+
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "以指定速度播放"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "向左-打开"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "向右-关闭"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "向左-关闭"
 
-#: ../src/widgets/AButton.cpp:181
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "向右-打开"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "选择声音"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "选择静音"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "制作标签"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "增加标签"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "校准"
+
+#: widgets/AButton.cpp:303
 msgid " (disabled)"
 msgstr "(无效)"
 
-#: widgets/AButton.cpp:443
+#: widgets/AButton.cpp:461
 msgid "Press"
-msgstr ""
+msgstr "按"
 
-#: widgets/AButton.cpp:522
+#: widgets/AButton.cpp:540
 msgid "Button"
-msgstr ""
+msgstr "按钮"
 
+#. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: ../src/widgets/ASlider.cpp:444
-#: ../src/widgets/Meter.cpp:187
+#: widgets/ASlider.cpp:612 widgets/Meter.cpp:248
 msgid "L"
 msgstr "å·¦"
 
+#. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: ../src/widgets/ASlider.cpp:447
-#: ../src/widgets/Meter.cpp:189
+#: widgets/ASlider.cpp:615 widgets/Meter.cpp:250
 msgid "R"
 msgstr "右"
 
-#: ../src/widgets/ASlider.cpp:600
+#: widgets/ASlider.cpp:678
 msgid "Center"
 msgstr "中央"
 
-#: ../src/widgets/ASlider.cpp:604
+#: widgets/ASlider.cpp:682
 msgid "Left"
 msgstr "å·¦"
 
-#: ../src/widgets/ASlider.cpp:607
+#: widgets/ASlider.cpp:685
 msgid "Right"
 msgstr "右"
 
-#: widgets/ErrorDialog.cpp:73 widgets/ErrorDialog.cpp:97
+#: widgets/ErrorDialog.cpp:98
 msgid "Help"
-msgstr ""
+msgstr "帮助"
 
 #: widgets/ErrorDialog.cpp:137
 msgid "<"
-msgstr ""
+msgstr "<"
 
 #: widgets/ErrorDialog.cpp:138
 msgid ">"
-msgstr ""
+msgstr ">"
 
 #: widgets/ErrorDialog.cpp:142
 msgid "Forwards"
-msgstr ""
+msgstr "前进"
 
 #: widgets/ErrorDialog.cpp:143
 msgid "Backwards"
-msgstr ""
+msgstr "后退"
 
-#: widgets/ErrorDialog.cpp:190
+#: widgets/ErrorDialog.cpp:255
 msgid "Help on the Internet"
-msgstr ""
+msgstr "互联网上的帮助"
 
-#: widgets/Grabber.cpp:61
+#: widgets/Grabber.cpp:62
 msgid "Grabber"
-msgstr ""
+msgstr "获取器"
 
-#: widgets/Grid.cpp:616
+#: widgets/Grid.cpp:708
 #, c-format
 msgid "%d rows, %d columns"
-msgstr ""
+msgstr "%d 行, %d 栏"
 
-#: widgets/Grid.cpp:622 widgets/Grid.cpp:749
+#: widgets/Grid.cpp:714 widgets/Grid.cpp:841
 #, c-format
 msgid "Row %d"
-msgstr ""
+msgstr "%d行"
 
-#: widgets/Grid.cpp:764
+#: widgets/Grid.cpp:856
 msgid "Empty"
-msgstr ""
+msgstr "空"
 
-#: ../src/widgets/Meter.cpp:323
+#: widgets/Meter.cpp:392
 msgid "Enable Meter"
-msgstr "启用仪表指示"
+msgstr "启用指示表"
 
-#: ../src/widgets/Meter.cpp:325
+#: widgets/Meter.cpp:394
 msgid "Disable Meter"
-msgstr "禁用仪表指示"
+msgstr "禁用指示表"
 
-#: ../src/widgets/Meter.cpp:328
+#: widgets/Meter.cpp:397
 msgid "Stop Monitoring"
 msgstr "停止监视"
 
-#: ../src/widgets/Meter.cpp:330
+#: widgets/Meter.cpp:399
 msgid "Start Monitoring"
 msgstr "开始监视"
 
-#: ../src/widgets/Meter.cpp:334
+#: widgets/Meter.cpp:403
 msgid "Horizontal Stereo"
 msgstr "水平立体声"
 
-#: ../src/widgets/Meter.cpp:335
+#: widgets/Meter.cpp:404
 msgid "Vertical Stereo"
 msgstr "垂直立体声"
 
-#: ../src/widgets/Meter.cpp:352
+#: widgets/Meter.cpp:421
 msgid "Preferences..."
-msgstr "参数设定..."
+msgstr "喜好选项..."
 
-#: widgets/Meter.cpp:876
+#: widgets/Meter.cpp:872
 msgid "Mix Volume"
-msgstr ""
+msgstr "混合音量"
 
-#: ../src/widgets/Meter.cpp:1043
-msgid "This determines how often the meter is refreshed.\n"
+#: widgets/Meter.cpp:1141
+msgid ""
+"This determines how often the meter is refreshed.\n"
 "If you have a slower PC you may want to select a\n"
 "lower refresh rate (30 per second or lower), so that\n"
 "audio qualtiy is not affected by the meter display."
-msgstr "这决定了仪表指示的刷新频率。\n"
+msgstr ""
+"这决定了指示表的刷新频率。\n"
 "如果您的电脑配置较低,您可以选择\n"
 "比较低的刷新率(每秒30次或更低),\n"
 "以免影响音频质量。"
 
-#: ../src/widgets/Meter.cpp:1044
+#: widgets/Meter.cpp:1142
 msgid "Meter refresh rate per second [1-100]: "
-msgstr "仪表指示的每秒刷新率 [1-100]:"
+msgstr "指示表的每秒刷新率 [1-100]:"
 
-#: widgets/Meter.cpp:1063
+#: widgets/Meter.cpp:1143
 msgid "Meter Preferences"
-msgstr ""
+msgstr "指示表喜好选项"
 
 #: widgets/MultiDialog.cpp:82
 msgid " Please select an action "
-msgstr ""
+msgstr "请选择一个动作"
 
 #: widgets/MultiDialog.cpp:86
 msgid "Please select an action"
-msgstr ""
+msgstr "请选择一个动作"
 
-#: widgets/ProgressDialog.cpp:97
+#: widgets/ProgressDialog.cpp:1058
 msgid "Elapsed Time:"
-msgstr ""
+msgstr "已用时间:"
 
-#: widgets/ProgressDialog.cpp:117
+#: widgets/ProgressDialog.cpp:1078
 msgid "Remaining Time:"
-msgstr ""
+msgstr "剩余时间:"
 
-#: widgets/ProgressDialog.cpp:134
+#: widgets/ProgressDialog.cpp:1095
 msgid "Cancel"
-msgstr ""
+msgstr "取消"
 
-#: widgets/Ruler.cpp:1110 widgets/Ruler.cpp:1111
+#: widgets/Ruler.cpp:1316 widgets/Ruler.cpp:1317
 msgid "Vertical Ruler"
-msgstr ""
+msgstr "水平标尺"
 
-#: widgets/TimeTextCtrl.cpp:198
+#. i18n-hint: Format string for displaying time in seconds. Change the comma
+#. * in the middle to the 1000s separator for your locale, and the 'seconds'
+#. * on the end to the word for seconds. Don't change the numbers.
+#: widgets/TimeTextCtrl.cpp:267
 msgid "01000,01000 seconds"
-msgstr ""
-
-#: widgets/TimeTextCtrl.cpp:200
+msgstr "01000,01000 秒"
+
+#. i18n-hint: Format string for displaying time in hours, minutes and
+#. * seconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds. Don't
+#. * change the numbers unless there aren't 60 seconds in a minute in your
+#. * locale
+#: widgets/TimeTextCtrl.cpp:276
 msgid "0100 h 060 m 060 s"
-msgstr ""
+msgstr "0100 时 060 分 060 秒"
 
-#: widgets/TimeTextCtrl.cpp:201
+#. i18n-hint: Name of time display format that shows time in days, hours,
+#. * minutes and seconds
+#: widgets/TimeTextCtrl.cpp:279
 msgid "dd:hh:mm:ss"
-msgstr ""
-
-#: widgets/TimeTextCtrl.cpp:202
+msgstr "日:时:分:秒"
+
+#. i18n-hint: Format string for displaying time in days, hours, minutes and
+#. * seconds. Change the 'days' to the word for days, 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes and 's' to the
+#. * abbreviation for seconds. Don't change the numbers unless there aren't
+#. * 24 hours in a day in your locale
+#: widgets/TimeTextCtrl.cpp:285
 msgid "0100 days 024 h 060 m 060 s"
-msgstr ""
+msgstr "0100 日 024 时 060 分 060 秒"
 
 #. i18n-hint: Name of time display format that shows time in hours,
 #. * minutes, seconds and hundreths of a second (1/100 second)
 #: widgets/TimeTextCtrl.cpp:288
 msgid "hh:mm:ss + hundredths"
-msgstr ""
+msgstr "时:分:秒 + 百分之一秒"
 
 #. i18n-hint: Format string for displaying time in hours, minutes, seconds
 #. * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -8711,128 +9292,211 @@ msgstr ""
 #. * unless there aren't 60 minutes in an hour in your locale
 #: widgets/TimeTextCtrl.cpp:294
 msgid "0100 h 060 m 060.0100 s"
-msgstr ""
+msgstr "0100 时 060 分 060.0100 秒"
 
-#: ../src/widgets/TimeTextCtrl.cpp:153
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and milliseconds (1/1000 second)
+#: widgets/TimeTextCtrl.cpp:297
 msgid "hh:mm:ss + milliseconds"
-msgstr "时:分:秒 + 毫秒"
+msgstr "时:分:秒 + 毫秒"
 
-#: widgets/TimeTextCtrl.cpp:204
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and milliseconds. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes and 's' to the abbreviation for seconds (the
+#. * milliseconds are shown as decimal seconds) . Don't change the numbers
+#. * unless there aren't 60 minutes in an hour in your locale
+#: widgets/TimeTextCtrl.cpp:303
 msgid "0100 h 060 m 060.01000 s"
-msgstr ""
+msgstr "0100 时 060 分 060.01000 秒"
 
-#: ../src/widgets/TimeTextCtrl.cpp:155
+#. i18n-hint: Name of time display format that shows time in hours,
+#. * minutes, seconds and samples (at the current project sample rate)
+#: widgets/TimeTextCtrl.cpp:306
 msgid "hh:mm:ss + samples"
-msgstr "时:分:秒 + 采样点"
+msgstr "时:分:秒 + 采样点"
 
-#: widgets/TimeTextCtrl.cpp:206
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and samples. Change the 'h' to the abbreviation for hours, 'm' to the
+#. * abbreviation for minutes, 's' to the abbreviation for seconds and
+#. * translate samples . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:312
 msgid "0100 h 060 m 060 s+.# samples"
-msgstr ""
+msgstr "0100 时 060 分 060 秒+.# 采样"
 
-#: ../src/widgets/TimeTextCtrl.cpp:163
+#. i18n-hint: Name of time display format that shows time in samples (at the
+#. * current project sample rate)
+#: widgets/TimeTextCtrl.cpp:315
 msgid "samples"
 msgstr "采样"
 
-#: widgets/TimeTextCtrl.cpp:208
+#. i18n-hint: Format string for displaying time in samples (lots of samples).
+#. * Change the ',' to the 1000s separator for your locale, and translate
+#. * samples. If 1000s aren't a base multiple for your number system, then you
+#. * can change the numbers to an appropriate one, and put a 0 on the front
+#: widgets/TimeTextCtrl.cpp:320
 msgid "01000,01000,01000 samples|#"
-msgstr ""
+msgstr "01000,01000,01000 样本|#"
 
-#: ../src/widgets/TimeTextCtrl.cpp:157
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:323
 msgid "hh:mm:ss + film frames (24 fps)"
-msgstr "时:分:秒 + 电影帧 (24 fps)"
+msgstr "时:分:秒 + 电影帧 (24 fps)"
 
-#: widgets/TimeTextCtrl.cpp:210
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames at 24 frames per second. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames' . Don't change the numbers
+#. * unless there aren't 60 seconds in a minute in your locale
+#: widgets/TimeTextCtrl.cpp:329
 msgid "0100 h 060 m 060 s+.24 frames"
-msgstr ""
+msgstr "0100 时 060 分 060 秒+.24 帧"
 
-#: widgets/TimeTextCtrl.cpp:211
+#. i18n-hint: Name of time display format that shows time in frames (lots of
+#. * frames) at 24 frames per second (commonly used for films)
+#: widgets/TimeTextCtrl.cpp:332
 msgid "film frames (24 fps)"
-msgstr ""
+msgstr "电影帧 (24 fps)"
 
-#: widgets/TimeTextCtrl.cpp:212
+#. i18n-hint: Format string for displaying time in frames at 24 frames per
+#. * second. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:335
 msgid "01000,01000 frames|24"
-msgstr ""
+msgstr "01000,01000 帧|24"
 
-#: widgets/TimeTextCtrl.cpp:213
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV drop-frame rate (used for American /
+#. * Japananese TV, and very odd)
+#: widgets/TimeTextCtrl.cpp:339
 msgid "hh:mm:ss + NTSC drop frames"
-msgstr ""
+msgstr "时:分:秒 + NTSC 丢帧"
 
-#: widgets/TimeTextCtrl.cpp:214
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the |N alone, it's important!
+#: widgets/TimeTextCtrl.cpp:344
 msgid "0100 h 060 m 060 s+.30 frames|N"
-msgstr ""
+msgstr "0100 时 060 分 060 秒+.30 帧|N"
 
-#: widgets/TimeTextCtrl.cpp:215
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at NTSC TV non-drop-frame rate (used for American /
+#. * Japananese TV, and doesn't quite match wall time
+#: widgets/TimeTextCtrl.cpp:348
 msgid "hh:mm:ss + NTSC non-drop frames"
-msgstr ""
+msgstr "时:分:秒 + NTSC 无丢帧"
 
-#: widgets/TimeTextCtrl.cpp:216
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with NTSC drop frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Leave the | .999000999 alone,
+#. * the whole things really is slightly off-speed!
+#: widgets/TimeTextCtrl.cpp:354
 msgid "0100 h 060 m 060 s+.030 frames| .999000999"
-msgstr ""
+msgstr "0100 h 060 m 060 s+.030 帧| .999000999"
 
-#: ../src/widgets/TimeTextCtrl.cpp:165
+#. i18n-hint: Name of time display format that shows time in frames at NTSC
+#. * TV frame rate (used for American / Japananese TV
+#: widgets/TimeTextCtrl.cpp:357
 msgid "NTSC frames"
 msgstr "NTSC帧"
 
-#: widgets/TimeTextCtrl.cpp:218
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone. That really is the frame
+#. * rate!
+#: widgets/TimeTextCtrl.cpp:361
 msgid "01000,01000 frames|29.97002997"
-msgstr ""
+msgstr "01000,01000 帧|29.97002997"
 
-#: widgets/TimeTextCtrl.cpp:219
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at PAL TV frame rate (used for European TV)
+#: widgets/TimeTextCtrl.cpp:364
 msgid "hh:mm:ss + PAL frames (25 fps)"
-msgstr ""
+msgstr "时:分:秒 + PAL 帧(25fps)"
 
-#: widgets/TimeTextCtrl.cpp:220
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with PAL TV frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'. Nice simple time code!
+#: widgets/TimeTextCtrl.cpp:369
 msgid "0100 h 060 m 060 s+.25 frames"
-msgstr ""
+msgstr "0100 时 060 分 060 秒+.25 帧"
 
-#: widgets/TimeTextCtrl.cpp:221
+#. i18n-hint: Name of time display format that shows time in frames at PAL
+#. * TV frame rate (used for European TV
+#: widgets/TimeTextCtrl.cpp:372
 msgid "PAL frames (25 fps)"
-msgstr ""
+msgstr "PAL 帧(25fps)"
 
-#: widgets/TimeTextCtrl.cpp:222
+#. i18n-hint: Format string for displaying time in frames with NTSC frames.
+#. * Translate 'frames' and leave the rest alone.
+#: widgets/TimeTextCtrl.cpp:375
 msgid "01000,01000 frames|25"
-msgstr ""
+msgstr "01000,01000 帧|25"
 
-#: ../src/widgets/TimeTextCtrl.cpp:159
+#. i18n-hint: Name of time display format that shows time in hours, minutes,
+#. * seconds and frames at CD Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:378
 msgid "hh:mm:ss + CDDA frames (75 fps)"
-msgstr "时:分:秒 + CDMA帧 (75 fps)"
+msgstr "时:分:秒 + CDDA帧 (75 fps)"
 
-#: widgets/TimeTextCtrl.cpp:224
+#. i18n-hint: Format string for displaying time in hours, minutes, seconds
+#. * and frames with CD Audio frames. Change the 'h' to the abbreviation
+#. * for hours, 'm' to the abbreviation for minutes, 's' to the abbreviation
+#. * for seconds and translate 'frames'.
+#: widgets/TimeTextCtrl.cpp:383
 msgid "0100 h 060 m 060 s+.75 frames"
-msgstr ""
+msgstr "0100 时 060 分 060 秒+.75 帧"
 
-#: widgets/TimeTextCtrl.cpp:225
+#. i18n-hint: Name of time display format that shows time in frames at CD
+#. * Audio frame rate (75 frames per second)
+#: widgets/TimeTextCtrl.cpp:386
 msgid "CDDA frames (75 fps)"
-msgstr ""
+msgstr "CDDA帧 (75 fps)"
 
-#: widgets/TimeTextCtrl.cpp:226
+#. i18n-hint: Format string for displaying time in frames with CD Audio
+#. * frames. Translate 'frames' and leave the rest alone
+#: widgets/TimeTextCtrl.cpp:389
 msgid "01000,01000 frames|75"
-msgstr ""
+msgstr "01000,01000 帧|75"
 
-#: widgets/TimeTextCtrl.cpp:363
+#: widgets/TimeTextCtrl.cpp:461
 msgid "Use right mouse button or context key to change format"
-msgstr ""
+msgstr "使用鼠标右键或context键改变格式"
 
-#: widgets/TimeTextCtrl.cpp:1376
+#: widgets/TimeTextCtrl.cpp:1495
 msgid "Time Control"
-msgstr ""
+msgstr "时间控制"
 
-#: ../src/widgets/Warning.cpp:53
+#: widgets/Warning.cpp:64
 msgid "Don't show this warning again"
 msgstr "下次不再显示此警告"
 
-#: ../src/xml/XMLFileReader.cpp:45
+#: xml/XMLFileReader.cpp:49
 #, c-format
 msgid "Could not open file: \"%s\""
-msgstr "无法打开文件: \"%s\""
+msgstr "无法打开文件: \"%s\""
 
 #: xml/XMLFileReader.cpp:63
 #, c-format
 msgid "Error: %hs at line %lu"
-msgstr ""
+msgstr "错误: %hs (%lu 行)"
 
 #: xml/XMLFileReader.cpp:79
 #, c-format
 msgid "Could not load file: \"%s\""
-msgstr ""
+msgstr "不能载入文件: \"%s\""
+
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr "冲洗文件错误"
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr "关闭文件错误"
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr "写入文件错误"
 
diff --git a/locale/zh_TW.po b/locale/zh_TW.po
index 4384622..0de1005 100644
--- a/locale/zh_TW.po
+++ b/locale/zh_TW.po
@@ -12,9 +12,7 @@ msgstr "Project-Id-Version: zh-TW\n"
 "X-Poedit-Language: Chinese\n"
 "X-Poedit-Country: TAIWAN\n"
 
-#: AboutDialog.cpp:142
-#: AudacityApp.cpp:749
-#: Menus.cpp:745
+#: AboutDialog.cpp:142 AudacityApp.cpp:749 Menus.cpp:745
 msgid "&About Audacity..."
 msgstr "關於&Audacity…"
 
@@ -27,11 +25,11 @@ msgid "Audacity is a free program written by a team of volunteer <a href=\"http:
 msgstr ""
 
 #: AboutDialog.cpp:179
-msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #: AboutDialog.cpp:182
-msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
+msgid "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>."
 msgstr ""
 
 #. i18n-hint: The translation of "translator_credits" will appear
@@ -40,8 +38,7 @@ msgstr ""
 #.
 #. For example:  "English translation by Dominic Mazzoni."
 #.
-#: AboutDialog.cpp:192
-#: AboutDialog.cpp:194
+#: AboutDialog.cpp:192 AboutDialog.cpp:194
 msgid "translator_credits"
 msgstr "Chinese(Traditional) translation by Chido, Milo"
 
@@ -84,7 +81,7 @@ msgid "Special thanks:"
 msgstr "特別感謝:"
 
 #: AboutDialog.cpp:250
-msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
+msgid "<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni."
 msgstr ""
 
 #: AboutDialog.cpp:254
@@ -92,14 +89,11 @@ msgid "Audacity"
 msgstr "Audacity"
 
 #. i18n-hint: Information about when audacity was compiled
-#: AboutDialog.cpp:299
-#: AboutDialog.cpp:312
-#: AboutDialog.cpp:468
+#: AboutDialog.cpp:299 AboutDialog.cpp:312 AboutDialog.cpp:468
 msgid "Build Information"
 msgstr "編譯資訊"
 
-#: AboutDialog.cpp:305
-#: effects/AvcCompressor.cpp:674
+#: AboutDialog.cpp:305 effects/AvcCompressor.cpp:674
 msgid "Enabled"
 msgstr "啟用"
 
@@ -112,33 +106,27 @@ msgid "File Format Support"
 msgstr "檔案格式支援"
 
 #. i18n-hint: This is what the library (libmad) does - imports MP3 files
-#: AboutDialog.cpp:326
-#: AboutDialog.cpp:328
+#: AboutDialog.cpp:326 AboutDialog.cpp:328
 msgid "MP3 Importing"
 msgstr "MP3匯入"
 
-#: AboutDialog.cpp:335
-#: AboutDialog.cpp:338
+#: AboutDialog.cpp:335 AboutDialog.cpp:338
 msgid "Ogg Vorbis Import and Export"
 msgstr "Ogg Vorbis匯入及匯出"
 
-#: AboutDialog.cpp:342
-#: AboutDialog.cpp:345
+#: AboutDialog.cpp:342 AboutDialog.cpp:345
 msgid "ID3 tag support"
 msgstr "ID3 tag支援"
 
-#: AboutDialog.cpp:352
-#: AboutDialog.cpp:355
+#: AboutDialog.cpp:352 AboutDialog.cpp:355
 msgid "FLAC import and export"
 msgstr "FLAC匯入及匯出"
 
-#: AboutDialog.cpp:360
-#: AboutDialog.cpp:363
+#: AboutDialog.cpp:360 AboutDialog.cpp:363
 msgid "MP2 export"
 msgstr "MP2匯出"
 
-#: AboutDialog.cpp:368
-#: AboutDialog.cpp:371
+#: AboutDialog.cpp:368 AboutDialog.cpp:371
 msgid "Import via QuickTime"
 msgstr "透過QuickTime匯入"
 
@@ -147,15 +135,12 @@ msgstr "透過QuickTime匯入"
 msgid "Core Libraries"
 msgstr "核心程式庫"
 
-#: AboutDialog.cpp:384
-#: AboutDialog.cpp:387
-#: AboutDialog.cpp:390
+#: AboutDialog.cpp:384 AboutDialog.cpp:387 AboutDialog.cpp:390
 #: AboutDialog.cpp:392
 msgid "Sample rate conversion"
 msgstr "取樣頻率轉換"
 
-#: AboutDialog.cpp:397
-#: AboutDialog.cpp:400
+#: AboutDialog.cpp:397 AboutDialog.cpp:400
 msgid "Audio playback and recording"
 msgstr "音訊播放與錄音"
 
@@ -163,24 +148,17 @@ msgstr "音訊播放與錄音"
 msgid "Features"
 msgstr "特色"
 
-#: AboutDialog.cpp:417
-#: AboutDialog.cpp:420
-#: AboutDialog.cpp:425
-#: AboutDialog.cpp:428
-#: AboutDialog.cpp:433
-#: AboutDialog.cpp:436
-#: AboutDialog.cpp:441
-#: AboutDialog.cpp:444
+#: AboutDialog.cpp:417 AboutDialog.cpp:420 AboutDialog.cpp:425
+#: AboutDialog.cpp:428 AboutDialog.cpp:433 AboutDialog.cpp:436
+#: AboutDialog.cpp:441 AboutDialog.cpp:444
 msgid "Plug-in support"
 msgstr "Plug-in支援"
 
-#: AboutDialog.cpp:449
-#: AboutDialog.cpp:452
+#: AboutDialog.cpp:449 AboutDialog.cpp:452
 msgid "Sound card mixer support"
 msgstr "支援音效卡混音"
 
-#: AboutDialog.cpp:457
-#: AboutDialog.cpp:460
+#: AboutDialog.cpp:457 AboutDialog.cpp:460
 msgid "Pitch and Tempo Change support"
 msgstr "支援變更音高及節拍"
 
@@ -188,8 +166,7 @@ msgstr "支援變更音高及節拍"
 msgid "Program build date: "
 msgstr "程式編譯日期:"
 
-#: AboutDialog.cpp:475
-#: AboutDialog.cpp:477
+#: AboutDialog.cpp:475 AboutDialog.cpp:477
 msgid "Build type:"
 msgstr "編譯類型:"
 
@@ -214,16 +191,12 @@ msgstr "設定資料夾:"
 msgid "GPL License"
 msgstr "GPL許可證"
 
-#: AudacityApp.cpp:468
-#: Project.cpp:1761
+#: AudacityApp.cpp:468 Project.cpp:1761
 #, c-format
 msgid "%s is already open in another window."
 msgstr "%s已在其他視窗開啟"
 
-#: AudacityApp.cpp:470
-#: Project.cpp:1763
-#: Project.cpp:1868
-#: Project.cpp:2012
+#: AudacityApp.cpp:470 Project.cpp:1763 Project.cpp:1868 Project.cpp:2012
 #: Project.cpp:2114
 msgid "Error opening project"
 msgstr "開啟專案錯誤"
@@ -249,21 +222,28 @@ msgstr "輸入儀表"
 msgid "Output Meter"
 msgstr "輸出儀表"
 
-#. i18n-hint: Mac OS X shortcut should be Ctrl+,
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
-#: AudacityApp.cpp:751
-#: Menus.cpp:478
-msgid "&Preferences...\tCtrl+,"
-msgstr "偏好設定(&P)...\tCtrl+,"
+#: Menus.cpp:164
+msgid "&New"
+msgstr "開新檔案(&N)"
+
+#: Menus.cpp:166
+msgid "&Open..."
+msgstr "開啟舊檔(&O)..."
 
-#: AudacityApp.cpp:833
-#: AudacityApp.cpp:910
+#: AudacityApp.cpp:805
+msgid "Open &Recent..."
+msgstr ""
+
+#: AudacityApp.cpp:751 Menus.cpp:478
+msgid "&Preferences..."
+msgstr "偏好設定(&P)..."
+
+#: AudacityApp.cpp:833 AudacityApp.cpp:910
 #, c-format
 msgid "Using block size of %ld\n"
 msgstr "使用塊大小為 %ld\n"
 
-#: AudacityApp.cpp:855
-#: AudacityApp.cpp:925
+#: AudacityApp.cpp:855 AudacityApp.cpp:925
 #, c-format
 msgid "Unknown command line option: %s\n"
 msgstr "不支援的命令列選項: %s\n"
@@ -379,18 +359,16 @@ msgstr "錯誤:"
 msgid "Error Initializing Audio"
 msgstr "聲音初始化錯誤"
 
+#: AudioIO.cpp:1225
+msgid "Latency Correction setting has caused the recorded audio to be hidden before zero.\n"
+"Audacity has brought it back to start at zero.\n"
+"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
+msgstr ""
+
 #: AudioIO.cpp:1208
 msgid "Latency problem"
 msgstr "延遲問題"
 
-#: AudioIO.cpp:1208
-msgid "Latency setting has caused the recorded audio to be hidden before zero.\n"
-"Audacity has brought it back to start at zero.\n"
-"You may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."
-msgstr "延遲設定導致錄音不會從零時間開始。\n"
-"Audacity會將錄音時間歸零。\n"
-"你也可以使用時間位移工具 (<--->或F5) 來拖曳音軌的時間至正確的位置。"
-
 #: AutoRecovery.cpp:54
 msgid "Automatic Crash Recovery"
 msgstr "當機自動回復"
@@ -405,8 +383,7 @@ msgstr "上一次執行Audacity時有部份工程沒有適當的儲存。\n"
 msgid "Recoverable projects"
 msgstr "可回復的工程"
 
-#: AutoRecovery.cpp:78
-#: Tags.cpp:2032
+#: AutoRecovery.cpp:78 Tags.cpp:2032
 msgid "Name"
 msgstr "命名"
 
@@ -436,38 +413,25 @@ msgstr "你確定不要復原此工程?\n"
 msgid "Confirm?"
 msgstr "確定?"
 
-#: AutoRecovery.cpp:146
-#: AutoRecovery.cpp:183
+#: AutoRecovery.cpp:146 AutoRecovery.cpp:183
 msgid "Could not enumerate files in auto save directory"
 msgstr "無法計算自動儲存資料夾內的檔案"
 
-#: AutoRecovery.cpp:147
-#: AutoRecovery.cpp:184
-#: Menus.cpp:2575
-#: Menus.cpp:4514
-#: Project.cpp:1971
-#: Project.cpp:3343
-#: Project.cpp:3422
-#: WaveTrack.cpp:556
-#: WaveTrack.cpp:575
-#: WaveTrack.cpp:1689
-#: effects/Effect.cpp:436
-#: export/ExportMP2.cpp:230
-#: prefs/DirectoriesPrefs.cpp:189
-#: prefs/KeyConfigPrefs.cpp:245
-#: toolbars/ControlToolBar.cpp:532
+#: AutoRecovery.cpp:147 AutoRecovery.cpp:184 Menus.cpp:2575 Menus.cpp:4514
+#: Project.cpp:1971 Project.cpp:3343 Project.cpp:3422 WaveTrack.cpp:556
+#: WaveTrack.cpp:575 WaveTrack.cpp:1689 effects/Effect.cpp:436
+#: export/ExportMP2.cpp:230 prefs/DirectoriesPrefs.cpp:189
+#: prefs/KeyConfigPrefs.cpp:245 toolbars/ControlToolBar.cpp:532
 #: toolbars/ControlToolBar.cpp:846
 msgid "Error"
 msgstr "發生錯誤"
 
-#: BatchCommandDialog.cpp:56
-#: BatchCommandDialog.cpp:60
+#: BatchCommandDialog.cpp:56 BatchCommandDialog.cpp:60
 #: BatchCommandDialog.cpp:61
 msgid "Select Command"
 msgstr "選擇命令"
 
-#: BatchCommandDialog.cpp:80
-#: BatchProcessDialog.cpp:454
+#: BatchCommandDialog.cpp:80 BatchProcessDialog.cpp:454
 #: prefs/KeyConfigPrefs.cpp:142
 msgid "&Command"
 msgstr "命令(&C)"
@@ -476,8 +440,7 @@ msgstr "命令(&C)"
 msgid "&Edit Parameters"
 msgstr "編輯參數(&E)"
 
-#: BatchCommandDialog.cpp:89
-#: BatchProcessDialog.cpp:455
+#: BatchCommandDialog.cpp:89 BatchProcessDialog.cpp:455
 msgid "&Parameters"
 msgstr "參數(&P)"
 
@@ -523,8 +486,7 @@ msgstr "以參數套用至%s\n"
 "\n"
 "%s"
 
-#: BatchCommands.cpp:675
-#: BatchCommands.cpp:680
+#: BatchCommands.cpp:675 BatchCommands.cpp:680
 msgid "Test Mode"
 msgstr "測試模式"
 
@@ -533,8 +495,7 @@ msgstr "測試模式"
 msgid "Apply %s"
 msgstr "套用 %s"
 
-#: BatchProcessDialog.cpp:60
-#: BatchProcessDialog.cpp:70
+#: BatchProcessDialog.cpp:60 BatchProcessDialog.cpp:70
 #: BatchProcessDialog.cpp:71
 msgid "Apply Chain"
 msgstr "套用連鎖指令中"
@@ -559,24 +520,15 @@ msgstr "套用至目前工程(&P)"
 msgid "Apply to &Files..."
 msgstr "套用至檔案(&F)..."
 
-#: BatchProcessDialog.cpp:108
-#: BatchProcessDialog.cpp:247
-#: Tags.cpp:2071
-#: Tags.cpp:2075
-#: Tags.cpp:2375
-#: Tags.cpp:2379
-#: UploadDialog.cpp:180
-#: effects/AvcCompressor.cpp:732
-#: effects/ChangeLength.cpp:183
-#: effects/SpikeCleaner.cpp:188
-#: effects/VST/VSTEffect.cpp:446
-#: effects/audiounits/AudioUnitEffect.cpp:882
-#: effects/vamp/VampEffect.cpp:411
+#: BatchProcessDialog.cpp:108 BatchProcessDialog.cpp:247 Tags.cpp:2071
+#: Tags.cpp:2075 Tags.cpp:2375 Tags.cpp:2379 UploadDialog.cpp:180
+#: effects/AvcCompressor.cpp:732 effects/ChangeLength.cpp:183
+#: effects/SpikeCleaner.cpp:188 effects/VST/VSTEffect.cpp:446
+#: effects/audiounits/AudioUnitEffect.cpp:882 effects/vamp/VampEffect.cpp:411
 msgid "&Cancel"
 msgstr "取消(&C)"
 
-#: BatchProcessDialog.cpp:146
-#: BatchProcessDialog.cpp:191
+#: BatchProcessDialog.cpp:146 BatchProcessDialog.cpp:191
 msgid "No chain selected"
 msgstr "沒有選取連鎖指令"
 
@@ -613,8 +565,7 @@ msgstr "套用中..."
 msgid "File"
 msgstr "檔案"
 
-#: BatchProcessDialog.cpp:356
-#: BatchProcessDialog.cpp:360
+#: BatchProcessDialog.cpp:356 BatchProcessDialog.cpp:360
 #: BatchProcessDialog.cpp:361
 msgid "Edit Chains"
 msgstr "編輯連鎖指令"
@@ -623,19 +574,12 @@ msgstr "編輯連鎖指令"
 msgid "&Chains"
 msgstr "連鎖指令(&C)"
 
-#: BatchProcessDialog.cpp:435
-#: Tags.cpp:815
-#: Tags.cpp:1455
-#: Tags.cpp:2055
+#: BatchProcessDialog.cpp:435 Tags.cpp:815 Tags.cpp:1455 Tags.cpp:2055
 msgid "&Add"
 msgstr "新增(&A)"
 
-#: BatchProcessDialog.cpp:436
-#: LabelDialog.cpp:126
-#: Tags.cpp:816
-#: Tags.cpp:1456
-#: Tags.cpp:2056
-#: TrackPanel.cpp:4201
+#: BatchProcessDialog.cpp:436 LabelDialog.cpp:126 Tags.cpp:816 Tags.cpp:1456
+#: Tags.cpp:2056 TrackPanel.cpp:4201
 msgid "&Remove"
 msgstr "移除(&R)"
 
@@ -649,8 +593,8 @@ msgstr "連鎖指令(&H) (雙擊滑鼠或按空白鍵編輯)"
 
 #. i18n-hint: This is the number of the command in the list
 #: BatchProcessDialog.cpp:453
-msgid "No"
-msgstr "ç„¡"
+msgid "Num"
+msgstr ""
 
 # 波形上下反轉
 #: BatchProcessDialog.cpp:459
@@ -740,8 +684,7 @@ msgstr "磁碟空間"
 msgid "Copy Selected Audio Into Project"
 msgstr "複製選取的音訊至工程內"
 
-#: Dependencies.cpp:304
-#: Dependencies.cpp:410
+#: Dependencies.cpp:304 Dependencies.cpp:410
 msgid "Cancel Save"
 msgstr "取消儲存"
 
@@ -753,8 +696,7 @@ msgstr "不要複製任何音訊"
 msgid "Copy All Audio into Project (Safer)"
 msgstr "複製所有音訊至工程內(較安全)"
 
-#: Dependencies.cpp:317
-#: Dependencies.cpp:322
+#: Dependencies.cpp:317 Dependencies.cpp:322
 msgid "Ask me"
 msgstr "詢問我"
 
@@ -787,9 +729,7 @@ msgid "Warning: there is very little free disk space left on this volume.\n"
 "Please select another temporary directory in your preferences."
 msgstr "警告:磁碟剩餘空間不足。請於偏好設定中設定其他暫存目錄。"
 
-#: DirManager.cpp:221
-#: DirManager.cpp:251
-#: DirManager.cpp:332
+#: DirManager.cpp:221 DirManager.cpp:251 DirManager.cpp:332
 msgid "Progress"
 msgstr "進行"
 
@@ -844,8 +784,7 @@ msgstr "將'%s'更名為'%s'"
 msgid "Changed block %s to new alias name\n"
 msgstr ""
 
-#: DirManager.cpp:1115
-#: DirManager.cpp:1403
+#: DirManager.cpp:1115 DirManager.cpp:1403
 msgid "Inspecting project file data..."
 msgstr "檢查工程檔案資料..."
 
@@ -896,14 +835,9 @@ msgstr "不刪除繼續;持續其他的檔案"
 msgid "Close project immediately with no changes"
 msgstr "不儲存而關閉工程"
 
-#: DirManager.cpp:1228
-#: DirManager.cpp:1263
-#: DirManager.cpp:1309
-#: DirManager.cpp:1351
-#: export/Export.cpp:490
-#: export/Export.cpp:507
-#: export/Export.cpp:526
-#: widgets/Warning.cpp:55
+#: DirManager.cpp:1228 DirManager.cpp:1263 DirManager.cpp:1309
+#: DirManager.cpp:1351 export/Export.cpp:490 export/Export.cpp:507
+#: export/Export.cpp:526 widgets/Warning.cpp:55
 msgid "Warning"
 msgstr "警告"
 
@@ -925,14 +859,11 @@ msgstr "工程檢查發現遺失('alias files')使用的%d輸入檔案。\n"
 msgid "Replace missing data with silence [permanent upon save]"
 msgstr "用靜音取代遺失的檔案[若未儲存,可復原]"
 
-#: DirManager.cpp:1260
-#: DirManager.cpp:1348
+#: DirManager.cpp:1260 DirManager.cpp:1348
 msgid "Temporarily replace missing data with silence [this session only]"
 msgstr "暫時用靜音取代遺失的檔案[僅此工程]"
 
-#: DirManager.cpp:1261
-#: DirManager.cpp:1307
-#: DirManager.cpp:1349
+#: DirManager.cpp:1261 DirManager.cpp:1307 DirManager.cpp:1349
 msgid "Close project immediately with no further changes"
 msgstr "立即關閉程式"
 
@@ -1000,11 +931,11 @@ msgstr "矩形"
 msgid "FFmpeg support not compiled in"
 msgstr ""
 
-#: FFmpeg.cpp:101
+#: FFmpeg.cpp:103
 msgid "FFmpeg was configured in Preferences and successfully loaded before,                       \n"
 "but this time Audacity failed to load it at startup.                       \n"
 "\n"
-"You may want to go back to Preferences > Import/Export and re-configure it."
+"You may want to go back to Preferences > Libraries and re-configure it."
 msgstr ""
 
 #: FFmpeg.cpp:104
@@ -1062,11 +993,12 @@ msgstr ""
 msgid "FFmpeg not found"
 msgstr ""
 
-#: FFmpeg.h:101
-msgid "Audacity attempted to use FFmpeg libraries to import an audio file,\n"
-"but libraries were not found.\n"
-"If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n"
-"and tell Audacity where to look for the libraries."
+#: FFmpeg.h:111
+msgid "Audacity attempted to use FFmpeg to import an audio file,\n"
+"but the libraries were not found.\n"
+"\n"
+"To use FFmpeg import, go to Preferences > Libraries\n"
+"to download or locate the FFmpeg libraries."
 msgstr ""
 
 #: FFmpeg.h:109
@@ -1089,8 +1021,7 @@ msgstr ""
 msgid "Frequency Analysis"
 msgstr "頻率分析"
 
-#: FreqWindow.cpp:140
-#: TrackPanel.cpp:563
+#: FreqWindow.cpp:140 TrackPanel.cpp:563
 msgid "Spectrum"
 msgstr "頻譜"
 
@@ -1118,8 +1049,7 @@ msgstr "Cepstrum"
 msgid "Algorithm"
 msgstr "演算法:"
 
-#: FreqWindow.cpp:168
-#: HistoryWindow.cpp:79
+#: FreqWindow.cpp:168 HistoryWindow.cpp:79
 msgid "Size"
 msgstr "大小"
 
@@ -1145,10 +1075,7 @@ msgstr "對數頻率"
 msgid "Axis"
 msgstr ""
 
-#: FreqWindow.cpp:206
-#: LabelDialog.cpp:128
-#: Menus.cpp:204
-#: Menus.cpp:233
+#: FreqWindow.cpp:206 LabelDialog.cpp:128 Menus.cpp:204 Menus.cpp:233
 msgid "&Export..."
 msgstr "匯出(&E)..."
 
@@ -1156,47 +1083,56 @@ msgstr "匯出(&E)..."
 msgid "Export"
 msgstr "匯出"
 
-#: FreqWindow.cpp:209
-#: widgets/ErrorDialog.cpp:159
+#: FreqWindow.cpp:240
+msgid "&Replot"
+msgstr ""
+
+#: FreqWindow.cpp:241
+msgid "Replot"
+msgstr ""
+
+#: FreqWindow.cpp:209 widgets/ErrorDialog.cpp:159
 msgid "Close"
 msgstr "關閉"
 
+#: FreqWindow.cpp:247 FreqWindow.cpp:250 effects/Equalization.cpp:1303
+#: effects/Equalization.cpp:1306
+msgid "Grids"
+msgstr ""
+
 # 分貝
-#: FreqWindow.cpp:272
-#: FreqWindow.cpp:402
-#: effects/AutoDuck.cpp:489
-#: effects/AutoDuck.cpp:523
-#: effects/AutoDuck.cpp:791
-#: effects/Compressor.cpp:352
-#: effects/Compressor.cpp:360
-#: effects/Equalization.cpp:1109
-#: effects/Equalization.cpp:1111
-#: effects/Equalization.cpp:1119
-#: effects/Equalization.cpp:1185
-#: effects/Equalization.cpp:1394
-#: effects/Equalization.cpp:1405
-#: effects/Normalize.cpp:365
-#: widgets/Meter.cpp:380
+#: FreqWindow.cpp:272 FreqWindow.cpp:402 effects/AutoDuck.cpp:489
+#: effects/AutoDuck.cpp:523 effects/AutoDuck.cpp:791
+#: effects/Compressor.cpp:352 effects/Compressor.cpp:360
+#: effects/Equalization.cpp:1109 effects/Equalization.cpp:1111
+#: effects/Equalization.cpp:1119 effects/Equalization.cpp:1185
+#: effects/Equalization.cpp:1394 effects/Equalization.cpp:1405
+#: effects/Normalize.cpp:365 widgets/Meter.cpp:380
 msgid "dB"
 msgstr "dB"
 
 # 赫茲
 #. i18n-hint: This is the abbreviation for "Hertz", or
 #. cycles per second.
-#: FreqWindow.cpp:287
-#: FreqWindow.cpp:442
-#: effects/Equalization.cpp:1150
-#: effects/Equalization.cpp:1181
-#: import/ImportRaw.cpp:416
+#: FreqWindow.cpp:287 FreqWindow.cpp:442 effects/Equalization.cpp:1150
+#: effects/Equalization.cpp:1181 import/ImportRaw.cpp:416
 msgid "Hz"
 msgstr "Hz"
 
+#: Menus.cpp:3425
+msgid "To plot the spectrum, all selected tracks must be the same sample rate."
+msgstr "為了描繪頻譜,所有選定的音軌必須具有相同的取樣頻率。"
+
+#: Menus.cpp:3451
+#, c-format
+msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
+msgstr "選擇的聲音過多。只有開始 %.1f 秒的聲音會被分析。"
+
 #: FreqWindow.cpp:386
 msgid "Not enough data selected."
 msgstr "沒有選取足夠的數據。"
 
-#: FreqWindow.cpp:450
-#: effects/AutoDuck.cpp:793
+#: FreqWindow.cpp:450 effects/AutoDuck.cpp:793
 msgid "s"
 msgstr "s"
 
@@ -1218,12 +1154,8 @@ msgstr "spectrum.txt"
 msgid "Export Spectral Data As:"
 msgstr "將頻譜數據匯出為:"
 
-#: FreqWindow.cpp:1079
-#: LabelDialog.cpp:599
-#: Menus.cpp:2207
-#: Project.cpp:2441
-#: Project.cpp:3395
-#: prefs/KeyConfigPrefs.cpp:180
+#: FreqWindow.cpp:1079 LabelDialog.cpp:599 Menus.cpp:2207 Project.cpp:2441
+#: Project.cpp:3395 prefs/KeyConfigPrefs.cpp:180
 msgid "Couldn't write to file: "
 msgstr "無法寫入檔案:"
 
@@ -1235,6 +1167,21 @@ msgstr "頻率(Hz)\tLevel (dB)"
 msgid "Lag (seconds)\tFrequency (Hz)\tLevel"
 msgstr "延遲 (秒)\t頻率 (Hz)\t水平"
 
+#: GStreamerLoader.cpp:195
+#, c-format
+msgid "GStreamer %s: %s"
+msgstr ""
+
+#: GStreamerLoader.cpp:212
+msgid "GStreamer was configured in preferences and successfully loaded before,\n"
+"                      but this time Audacity failed to load it at startup.\n"
+"                      You may want to go back to Preferences > Libraries and re-configure it."
+msgstr ""
+
+#: GStreamerLoader.cpp:215
+msgid "GStreamer startup failed"
+msgstr ""
+
 #: HelpText.cpp:85
 msgid "To [[welcome|Welcome screen]]"
 msgstr "回到[[welcome|歡迎頁面]]"
@@ -1313,7 +1260,7 @@ msgid "<p><b>To record:</b> Set the recording device and input source, adjust th
 msgstr ""
 
 #: HelpText.cpp:221
-msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after conecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
+msgid "<p>The input device is the actual physical sound device you are recording from. This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. On a Mac, they in the <i>Audacity</i> Menu. You can also conveniently select Recording Device in the <i>Device Toolbar</i>, which can be enabled at <i>View &gt; Toolbars...</i>. </p><p> By default, Audacity uses the device currently being used by the system, (usually your inbuilt sound device), so it is often not necessary to change the input device. On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". If you are recording from an external USB or Firewire device such as a USB turntable, select it explicitly by name as recording device after connecting it. </p><p> Back to [[record|Recording Audio]] <br></p>"
 msgstr ""
 
 #: HelpText.cpp:244
@@ -1338,7 +1285,7 @@ msgid "To hear your work in other media programs, export it to an audio file suc
 msgstr ""
 
 #: HelpText.cpp:359
-msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
+msgid "<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> or most other proprietary formats, due to licensing and patent restrictions.  On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. Files protected by any kind of Digital Rights Management (DRM), including most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> If you can't import your file into Audacity, then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> to convert it to WAV or AIFF. If it is protected, burn it to an audio CD in the program licensed to play it, then extract the CD track to WAV or AIFF using iTunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or Windows Media Player 11. You could also <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. <i>To export to an unsupported format, export to WAV or AIFF and convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. </i></p><p>"
 msgstr ""
 
 #: HelpText.cpp:383
@@ -1373,15 +1320,9 @@ msgstr "捨棄的等級"
 msgid "&Discard"
 msgstr "捨棄(&D)"
 
-#: HistoryWindow.cpp:111
-#: Tags.cpp:2072
-#: Tags.cpp:2074
-#: Tags.cpp:2376
-#: Tags.cpp:2378
-#: effects/ChangeLength.cpp:186
-#: effects/SpikeCleaner.cpp:191
-#: effects/vamp/VampEffect.cpp:414
-#: export/ExportCL.cpp:398
+#: HistoryWindow.cpp:111 Tags.cpp:2072 Tags.cpp:2074 Tags.cpp:2376
+#: Tags.cpp:2378 effects/ChangeLength.cpp:186 effects/SpikeCleaner.cpp:191
+#: effects/vamp/VampEffect.cpp:414 export/ExportCL.cpp:398
 msgid "&OK"
 msgstr "確定(&O)"
 
@@ -1389,8 +1330,7 @@ msgstr "確定(&O)"
 msgid "Unable to determine"
 msgstr "無法驗證"
 
-#: Internat.cpp:195
-#: import/ImportRaw.cpp:392
+#: Internat.cpp:195 import/ImportRaw.cpp:392
 msgid "bytes"
 msgstr "位元組"
 
@@ -1406,13 +1346,19 @@ msgstr "MB"
 msgid "GB"
 msgstr "GB"
 
+#: Internat.cpp:181
+msgid "The specified filename could not be converted due to Unicode character use."
+msgstr ""
+
+#: Internat.cpp:183
+msgid "Specify New Filename:"
+msgstr ""
+
 #: LabelDialog.cpp:52
 msgid "Track"
 msgstr "音軌"
 
-#: LabelDialog.cpp:53
-#: Menus.cpp:4057
-#: Menus.cpp:4085
+#: LabelDialog.cpp:53 Menus.cpp:4057 Menus.cpp:4085
 msgid "Label"
 msgstr "標籤"
 
@@ -1424,8 +1370,7 @@ msgstr "開始時間"
 msgid "End Time"
 msgstr "結束時間"
 
-#: LabelDialog.cpp:98
-#: Menus.cpp:627
+#: LabelDialog.cpp:98 Menus.cpp:627
 msgid "&Edit Labels"
 msgstr "編輯標籤(&E)"
 
@@ -1441,8 +1386,7 @@ msgstr "插入下一列(&A)"
 msgid "Insert &Before"
 msgstr "插入上一列(&B)"
 
-#: LabelDialog.cpp:127
-#: Menus.cpp:194
+#: LabelDialog.cpp:127 Menus.cpp:194
 msgid "&Import..."
 msgstr "匯入(&I)..."
 
@@ -1464,20 +1408,15 @@ msgstr "您讓標籤名稱空白。這會\n"
 msgid "Confirm"
 msgstr "確認"
 
-#: LabelDialog.cpp:514
-#: Menus.cpp:3555
+#: LabelDialog.cpp:514 Menus.cpp:3555
 msgid "Select a text file containing labels..."
 msgstr "選擇包含標籤的文字檔案..."
 
-#: LabelDialog.cpp:518
-#: Menus.cpp:3559
+#: LabelDialog.cpp:518 Menus.cpp:3559
 msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
 msgstr "文字檔案 (*.txt)|*.txt|所有檔案 (*.*)|*.*"
 
-#: LabelDialog.cpp:532
-#: Menus.cpp:3571
-#: Project.cpp:1831
-#: Project.cpp:1839
+#: LabelDialog.cpp:532 Menus.cpp:3571 Project.cpp:1831 Project.cpp:1839
 #: import/ImportMIDI.cpp:31
 msgid "Could not open file: "
 msgstr "無法開啟檔案:"
@@ -1486,13 +1425,11 @@ msgstr "無法開啟檔案:"
 msgid "No labels to export."
 msgstr "沒有標籤音軌匯出。"
 
-#: LabelDialog.cpp:564
-#: Menus.cpp:2172
+#: LabelDialog.cpp:564 Menus.cpp:2172
 msgid "Export Labels As:"
 msgstr "將標籤匯出為:"
 
-#: LabelDialog.cpp:566
-#: Menus.cpp:2170
+#: LabelDialog.cpp:566 Menus.cpp:2170
 msgid "labels.txt"
 msgstr "labels.txt"
 
@@ -1504,10 +1441,7 @@ msgstr "新標籤軌"
 msgid "Enter track name"
 msgstr "輸入音軌名稱為"
 
-#: LabelDialog.cpp:701
-#: LabelDialog.h:52
-#: LabelTrack.cpp:89
-#: Menus.cpp:555
+#: LabelDialog.cpp:701 LabelDialog.h:52 LabelTrack.cpp:89 Menus.cpp:555
 msgid "&Label Track"
 msgstr "標籤軌(&L)"
 
@@ -1534,24 +1468,15 @@ msgstr "開啟Audacity成音工程"
 msgid "&File"
 msgstr "檔案(&F)"
 
-#: Menus.cpp:164
-msgid "&New\tCtrl+N"
-msgstr "開新檔案(&N)\tCtrl+N"
-
-#: Menus.cpp:166
-msgid "&Open...\tCtrl+O"
-msgstr "開啟舊檔(&O)...\tCtrl+O"
-
 #: Menus.cpp:171
-msgid "&Close\tCtrl+W"
-msgstr "關閉(&C)\tCtrl+W"
+msgid "&Close"
+msgstr "關閉(&C)"
 
 #: Menus.cpp:174
-msgid "&Save Project\tCtrl+S"
-msgstr "儲存成音工程(&S)\tCtrl+S"
+msgid "&Save Project"
+msgstr "儲存成音工程(&S)"
 
-#: Menus.cpp:178
-#: Project.cpp:2690
+#: Menus.cpp:178 Project.cpp:2690
 msgid "Save Project &As..."
 msgstr "另存成音工程為(&A)..."
 
@@ -1572,8 +1497,8 @@ msgid "&Import"
 msgstr "匯入(&I)"
 
 #: Menus.cpp:196
-msgid "&Audio...\tCtrl+Shift+I"
-msgstr "聲音檔案(&I)...\tCtrl+Shift+I"
+msgid "&Audio..."
+msgstr "聲音檔案(&I)..."
 
 #: Menus.cpp:197
 msgid "&Labels..."
@@ -1587,8 +1512,7 @@ msgstr "MIDI(&M)..."
 msgid "&Raw Data..."
 msgstr "Raw Data(&R)..."
 
-#: Menus.cpp:210
-#: Menus.cpp:239
+#: Menus.cpp:210 Menus.cpp:239
 msgid "Expo&rt Selection..."
 msgstr "將選取範圍匯出(&R)..."
 
@@ -1604,12 +1528,11 @@ msgstr "匯出多個檔案(&M)..."
 msgid "Export MIDI..."
 msgstr ""
 
-#: Menus.cpp:247
-msgid "CleanSpeech C&hain..."
-msgstr "清除人聲連鎖指令(&H)…"
+#: Menus.cpp:260
+msgid "Appl&y Chain..."
+msgstr "套用連鎖指令(&Y)..."
 
-#: Menus.cpp:248
-#: Menus.cpp:262
+#: Menus.cpp:248 Menus.cpp:262
 msgid "Edit C&hains..."
 msgstr "編輯連鎖指令(&H)..."
 
@@ -1621,10 +1544,6 @@ msgstr "匯出清除人聲設定(&P)…"
 msgid "I&mport CleanSpeech Presets..."
 msgstr "匯入清除人聲設定(&M)…"
 
-#: Menus.cpp:260
-msgid "Appl&y Chain..."
-msgstr "套用連鎖指令(&Y)..."
-
 #: Menus.cpp:267
 msgid "&Upload File..."
 msgstr "上傳檔案(&U)..."
@@ -1638,75 +1557,72 @@ msgid "&Print..."
 msgstr "列印(&P)..."
 
 #: Menus.cpp:287
-msgid "E&xit\tCtrl+Q"
-msgstr "結束(&X)\tCtrl+Q"
+msgid "E&xit"
+msgstr "結束(&X)"
 
-#: Menus.cpp:295
-#: toolbars/EditToolBar.cpp:76
+#: Menus.cpp:295 toolbars/EditToolBar.cpp:76
 msgid "&Edit"
 msgstr "編輯 (&E)"
 
 #: Menus.cpp:299
-msgid "&Undo\tCtrl+Z"
-msgstr "復原(&U)\tCtrl+Z"
+msgid "&Undo"
+msgstr "復原(&U)"
 
-#: Menus.cpp:307
-#: prefs/KeyConfigPrefs.cpp:369
-#: toolbars/EditToolBar.cpp:146
+#: Menus.cpp:307 prefs/KeyConfigPrefs.cpp:369 toolbars/EditToolBar.cpp:146
 msgid "&Redo"
 msgstr "重做(&R)"
 
 #: Menus.cpp:320
-msgid "Cu&t\tCtrl+X"
-msgstr "剪下(&T)\tCtrl+X"
+msgid "Cu&t"
+msgstr "剪下(&T)"
 
 #: Menus.cpp:324
-msgid "Spl&it Cut\tCtrl+Alt+X"
-msgstr "選取範圍變為空白並剪下(&I)\tCtrl+Alt+X"
+msgid "Spl&it Cut"
+msgstr "選取範圍變為空白並剪下(&I)"
 
 #: Menus.cpp:325
-msgid "&Copy\tCtrl+C"
-msgstr "複製(&C)\tCtrl+C"
+msgid "&Copy"
+msgstr "複製(&C)"
 
 #: Menus.cpp:329
-msgid "&Paste\tCtrl+V"
-msgstr "貼上(&P)\tCtrl+V"
+msgid "&Paste"
+msgstr "貼上(&P)"
 
 #: Menus.cpp:333
-msgid "Tri&m\tCtrl+T"
-msgstr "保留選取範圍(&M)\tCtrl+T"
+msgid "Tri&m"
+msgstr "保留選取範圍(&M)"
 
 #: Menus.cpp:335
-msgid "&Delete\tCtrl+K"
-msgstr "刪除(&D)\tCtrl+K"
+msgid "&Delete"
+msgstr "刪除(&D)"
 
 #: Menus.cpp:336
-msgid "Split D&elete\tCtrl+Alt+K"
-msgstr "選取範圍變為空白並刪除(&E)\tCtrl+Alt+K"
+msgid "Split D&elete"
+msgstr "選取範圍變為空白並刪除(&E)"
 
 #: Menus.cpp:380
-msgid "Silence Audi&o\tCtrl+L"
+msgid "Silence Audi&o"
 msgstr ""
 
 #: Menus.cpp:339
-msgid "Sp&lit\tCtrl+I"
-msgstr "分離(&L)\tCtrl+I"
+msgid "Sp&lit"
+msgstr "分離(&L)"
 
 #: Menus.cpp:344
-msgid "Split Ne&w\tCtrl+Alt+I"
-msgstr "分離新的(&W)\tCtrl+Alt+I"
+msgid "Split Ne&w"
+msgstr "分離新的(&W)"
 
 #: Menus.cpp:349
-msgid "&Join\tCtrl+J"
-msgstr "將空白範圍變為靜音(&J)\tCtrl+J"
+msgid "&Join"
+msgstr "將空白範圍變為靜音(&J)"
 
 #: Menus.cpp:393
-msgid "Detac&h at Silences\tCtrl+Alt+J"
+msgid "Detac&h at Silences"
 msgstr ""
 
 #: Menus.cpp:352
-msgid "Duplic&ate\tCtrl+D"
-msgstr "複製全部並貼上(&A)\tCtrl+D"
+msgid "Duplic&ate"
+msgstr "複製全部並貼上(&A)"
 
 #: Menus.cpp:400 Menus.cpp:639
 msgid "Stereo Trac&k to Mono"
@@ -1718,80 +1634,65 @@ msgstr ""
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:367
-msgid "&Cut\tAlt+X"
-msgstr "剪下(&C)\tAlt+X"
+msgid "&Cut"
+msgstr "剪下(&C)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:372
-msgid "&Split Cut\tShift+Alt+X"
-msgstr "選取範圍變為空白並剪下(&S)\tShift+Alt+X"
+msgid "&Split Cut"
+msgstr "選取範圍變為空白並剪下(&S)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:377
-msgid "Co&py\tShift+Alt+C"
-msgstr "複製(&P)\tShift+Alt+C"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:383
-msgid "&Delete\tAlt+K"
-msgstr "刪除(&D)\tAlt+K"
+msgid "Co&py"
+msgstr "複製(&P)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:388
-msgid "Sp&lit Delete\tShift+Alt+K"
-msgstr "選取範圍變為空白並刪除(&L)\tShift+Alt+K"
+msgid "Sp&lit Delete"
+msgstr "選取範圍變為空白並刪除(&L)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:393
-msgid "Sile&nce\tAlt+L"
-msgstr "靜音(&N)\tAlt+L"
+msgid "Sile&nce"
+msgstr "靜音(&N)"
 
 #. i18n-hint: Labeled Regions submenu
 #: Menus.cpp:399
-msgid "Spli&t\tAlt+I"
-msgstr "分離(&T)\tAlt+I"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:404
-msgid "&Join\tAlt+J"
-msgstr "將空白範圍變為靜音(&J)\tAlt+J"
-
-#. i18n-hint: Labeled Regions submenu
-#: Menus.cpp:451
-msgid "Detac&h at Silences\tShift+Alt+J"
-msgstr ""
+msgid "Spli&t"
+msgstr "分離(&T)"
 
 #: Menus.cpp:456
 msgid "&Select"
 msgstr ""
 
 #: Menus.cpp:416
-msgid "&All\tCtrl+A"
-msgstr "全選(&A)\tCtrl+A"
+msgid "&All"
+msgstr "全選(&A)"
 
 #: Menus.cpp:417
-msgid "&None\tCtrl+Shift+A"
-msgstr "全不選(&N)\tCtrl+N"
+msgid "&None"
+msgstr "全不選(&N)"
 
 #: Menus.cpp:421
-msgid "&Left at Playback Position\t["
-msgstr "播放位置左側(&L)\t["
+msgid "&Left at Playback Position"
+msgstr "播放位置左側(&L)"
 
 #: Menus.cpp:422
-msgid "&Right at Playback Position\t]"
-msgstr "播放位置右側(&R)\t]"
+msgid "&Right at Playback Position"
+msgstr "播放位置右側(&R)"
 
 #: Menus.cpp:426
-msgid "Track &Start to Cursor\tShift+J"
-msgstr "從起點至游標位置(&S)\tShift+J"
+msgid "Track &Start to Cursor"
+msgstr "從起點至游標位置(&S)"
 
 #: Menus.cpp:427
-msgid "Cursor to Track &End\tShift+K"
-msgstr "從游標位置至結束點(&E)\tShift+J"
+msgid "Cursor to Track &End"
+msgstr "從游標位置至結束點(&E)"
 
 #: Menus.cpp:433
-msgid "Find &Zero Crossings\tZ"
-msgstr "尋找零交點(&Z)\tZ"
+msgid "Find &Zero Crossings"
+msgstr "尋找零交點(&Z)"
 
 #: Menus.cpp:476
 msgid "Mo&ve Cursor"
@@ -1806,12 +1707,12 @@ msgid "to Selection En&d"
 msgstr "至選取範圍結束點(&D)"
 
 #: Menus.cpp:442
-msgid "to Track &Start\tJ"
-msgstr "至音軌起始點(&S)\tJ"
+msgid "to Track &Start"
+msgstr "至音軌起始點(&S)"
 
 #: Menus.cpp:443
-msgid "to Track &End\tK"
-msgstr "至音軌結束點(&E)\tK"
+msgid "to Track &End"
+msgstr "至音軌結束點(&E)"
 
 #: Menus.cpp:450
 msgid "Re&gion Save"
@@ -1833,29 +1734,8 @@ msgstr "Lock(&L)"
 msgid "&Unlock"
 msgstr "Unlock(&U)"
 
-#: Menus.cpp:470
-msgid "Turn Snap-To On"
-msgstr "開啟滑扣功能"
-
-#: Menus.cpp:471
-msgid "Turn Snap-To Off"
-msgstr "關閉滑扣功能"
-
-#: Menus.cpp:472
-msgid "Turn Grid Snap On"
-msgstr "開啟格線滑扣功能"
-
-#: Menus.cpp:473
-msgid "Turn Grid Snap Off"
-msgstr "關閉格線滑扣功能"
-
-#. i18n-hint: Mac OS X Preferences shortcut should be Ctrl+,
 #: Menus.cpp:519
-msgid "Pre&ferences...\tCtrl+,"
-msgstr ""
-
-#: Menus.cpp:523
-msgid "Pre&ferences...\tCtrl+P"
+msgid "Pre&ferences..."
 msgstr ""
 
 #: Menus.cpp:492
@@ -1863,36 +1743,36 @@ msgid "&View"
 msgstr "檢視(&V)"
 
 #: Menus.cpp:494
-msgid "Zoom &In\tCtrl+1"
-msgstr "放大(&I)\tCtrl+1"
+msgid "Zoom &In"
+msgstr "放大(&I)"
 
 #: Menus.cpp:497
-msgid "Zoom &Normal\tCtrl+2"
-msgstr "一般(&N)\tCtrl+2"
+msgid "Zoom &Normal"
+msgstr "一般(&N)"
 
 #: Menus.cpp:498
-msgid "Zoom &Out\tCtrl+3"
-msgstr "縮小(&O)\tCtrl+3"
+msgid "Zoom &Out"
+msgstr "縮小(&O)"
 
 #: Menus.cpp:501
-msgid "&Fit in Window\tCtrl+F"
-msgstr "成音工程適合視窗大小(&F)\tCtrl+F"
+msgid "&Fit in Window"
+msgstr "成音工程適合視窗大小(&F)"
 
 #: Menus.cpp:502
-msgid "Fit &Vertically\tCtrl+Shift+F"
-msgstr "適合垂直大小(&V)\tCtrl+Shift+F"
+msgid "Fit &Vertically"
+msgstr "適合垂直大小(&V)"
 
 #: Menus.cpp:503
-msgid "&Zoom to Selection\tCtrl+E"
-msgstr "縮放選取範圍符合視窗(&Z)\tCtrl+E"
+msgid "&Zoom to Selection"
+msgstr "縮放選取範圍符合視窗(&Z)"
 
 #: Menus.cpp:506
-msgid "&Collapse All Tracks\tCtrl+Shift+C"
-msgstr "摺疊所有軌道(&C)\tCtrl+Shift+C"
+msgid "&Collapse All Tracks"
+msgstr "摺疊所有軌道(&C)"
 
 #: Menus.cpp:507
-msgid "E&xpand All Tracks\tCtrl+Shift+X"
-msgstr "展開所有軌道\tCtrl+Shift+X"
+msgid "E&xpand All Tracks"
+msgstr "展開所有軌道"
 
 #: Menus.cpp:510
 msgid "&Show Clipping"
@@ -1953,40 +1833,40 @@ msgstr "!簡易檢視"
 msgid "T&ransport"
 msgstr ""
 
-#: Menus.cpp:591
-msgid "Play\tSpace"
-msgstr ""
+#: toolbars/ControlToolBar.cpp:177
+msgid "Play"
+msgstr "播放"
 
 #: Menus.cpp:593
-msgid "&Loop Play\tShift+Space"
+msgid "&Loop Play"
 msgstr ""
 
 #: Menus.cpp:593
-msgid "&Pause\tP"
+msgid "&Pause"
 msgstr ""
 
 #: Menus.cpp:596
-msgid "&Stop\tSpace"
+msgid "&Stop"
 msgstr ""
 
 #: Menus.cpp:799
-msgid "Skip to Start\tHome"
-msgstr "跳至起始點\tHome"
+msgid "Skip to Start"
+msgstr "跳至起始點"
 
 #: Menus.cpp:800
-msgid "Skip to End\tEnd"
-msgstr "跳至結束點\tEnd"
+msgid "Skip to End"
+msgstr "跳至結束點"
 
 #: Menus.cpp:600
-msgid "&Record\tR"
+msgid "&Record"
 msgstr ""
 
 #: Menus.cpp:602
-msgid "&Timer Record...\tShift+T"
+msgid "&Timer Record..."
 msgstr ""
 
 #: Menus.cpp:604
-msgid "Append Record\tShift+R"
+msgid "Append Record"
 msgstr ""
 
 #: Menus.cpp:607
@@ -2014,15 +1894,14 @@ msgid "Add &New"
 msgstr ""
 
 #: Menus.cpp:553
-msgid "&Audio Track\tCtrl+Shift+N"
-msgstr "音軌(&A)\tCtrl+Shift+N"
+msgid "&Audio Track"
+msgstr "音軌(&A)"
 
 #: Menus.cpp:554
 msgid "&Stereo Track"
 msgstr "立體聲音軌(&S)"
 
-#: Menus.cpp:556
-#: TimeTrack.cpp:44
+#: Menus.cpp:556 TimeTrack.cpp:44
 msgid "&Time Track"
 msgstr "時間軌(&T)"
 
@@ -2031,8 +1910,8 @@ msgid "Mi&x and Render"
 msgstr "混音且執行(&X)"
 
 #: Menus.cpp:572
-msgid "Mix and Render to New Track\tCtrl+Shift+M"
-msgstr "混音至新軌道\tCtrl+Shift+X"
+msgid "Mix and Render to New Track"
+msgstr "混音至新軌道"
 
 #: Menus.cpp:576
 msgid "&Resample..."
@@ -2043,12 +1922,12 @@ msgid "Remo&ve Tracks"
 msgstr "移除軌道(&V)"
 
 #: Menus.cpp:592
-msgid "&Mute All Tracks\tCtrl+U"
-msgstr "所有軌道靜音(&M)\tCtrl+U"
+msgid "&Mute All Tracks"
+msgstr "所有軌道靜音(&M)"
 
 #: Menus.cpp:593
-msgid "&UnMute All Tracks\tCtrl+Shift+U"
-msgstr "所有軌道不靜音(&U)\tCtrl+Shift+U"
+msgid "&UnMute All Tracks"
+msgstr "所有軌道不靜音(&U)"
 
 #: Menus.cpp:597
 msgid "Align with &Zero"
@@ -2094,17 +1973,17 @@ msgstr ""
 msgid "Synchronize MIDI with Audio"
 msgstr ""
 
-#: Menus.cpp:706
-msgid "Link Audio and Label Tracks"
+#: Menus.cpp:686
+msgid "&Link Audio and Label Tracks"
 msgstr ""
 
-#: Menus.cpp:623
-msgid "Add &Label At Selection\tCtrl+B"
-msgstr "在選取範圍加上標籤(&L)\tCtrl+B"
+#: Menus.cpp:690
+msgid "Add Label At &Selection"
+msgstr ""
 
 #: Menus.cpp:624
-msgid "Add Label At &Playback Position\tCtrl+M"
-msgstr "在播放點加上標籤(&P)\tCtrl+M"
+msgid "Add Label At &Playback Position"
+msgstr "在播放點加上標籤(&P)"
 
 #: Menus.cpp:716
 msgid "S&ort tracks"
@@ -2130,20 +2009,19 @@ msgstr ""
 msgid "Effe&ct"
 msgstr "效果(&C)"
 
-#: Menus.cpp:670
-msgid "Repeat Last Effect\tCtrl+R"
-msgstr "重複最近一次效果\tCtrl+R"
-
 #: Menus.cpp:702
 msgid "&Analyze"
 msgstr "分析(&A)"
 
+#: Menus.cpp:874
+msgid "Contrast..."
+msgstr ""
+
 #: Menus.cpp:704
 msgid "Plot Spectrum..."
 msgstr "描繪頻譜…"
 
-#: Menus.cpp:737
-#: Menus.cpp:740
+#: Menus.cpp:737 Menus.cpp:740
 msgid "&Help"
 msgstr "說明(&H)"
 
@@ -2155,9 +2033,9 @@ msgstr "關於Audacity清除人聲(&A)..."
 msgid "&Show Welcome Message..."
 msgstr "顯示歡迎訊息(&S)…"
 
-#: Menus.cpp:748
-msgid "&Index..."
-msgstr "索引(&I)..."
+#: Menus.cpp:958
+msgid "&Help..."
+msgstr ""
 
 #: Menus.cpp:959
 msgid "Show &Log..."
@@ -2175,181 +2053,149 @@ msgstr "執行Benchmark(&R)..."
 msgid "&Audio Device Info..."
 msgstr "音訊裝置資訊(&A)…"
 
-#: Menus.cpp:983
-msgid "Cycle backward through toolbars and Track View\tCtrl+Shift+F6"
+#: Menus.cpp:986
+msgid "Move backward from toolbars to tracks"
 msgstr ""
 
-#: Menus.cpp:984
-msgid "Cycle forward through toolbars and Track View\tCtrl+F6"
+#: Menus.cpp:987
+msgid "Move forward from toolbars to tracks"
 msgstr ""
 
 #: Menus.cpp:774
-msgid "Selection Tool\tF1"
-msgstr "選取工具\tF1"
+msgid "Selection Tool"
+msgstr "選取工具"
 
 #: Menus.cpp:775
-msgid "Envelope Tool\tF2"
-msgstr "波封工具\tF2"
+msgid "Envelope Tool"
+msgstr "波封工具"
 
 #: Menus.cpp:776
-msgid "Draw Tool\tF3"
-msgstr "拖拉工具\tF3"
+msgid "Draw Tool"
+msgstr "拖拉工具"
 
 #: Menus.cpp:777
-msgid "Zoom Tool\tF4"
-msgstr "縮放工具\tF4"
+msgid "Zoom Tool"
+msgstr "縮放工具"
 
 #: Menus.cpp:778
-msgid "Time Shift Tool\tF5"
-msgstr "時間移位工具\tF5"
+msgid "Time Shift Tool"
+msgstr "時間移位工具"
 
 #: Menus.cpp:779
-msgid "Multi Tool\tF6"
-msgstr "複合工具\tF6"
+msgid "Multi Tool"
+msgstr "複合工具"
 
 #: Menus.cpp:781
-msgid "Next Tool\tD"
-msgstr "\"下一個(Next)\"工具\tD"
+msgid "Next Tool"
+msgstr "\"下一個(Next)\"工具"
 
 #: Menus.cpp:782
-msgid "Previous Tool\tA"
-msgstr "上一個工具\tA"
+msgid "Previous Tool"
+msgstr "上一個工具"
 
 #: Menus.cpp:997
-msgid "Play/Stop\tSpace"
+msgid "Play/Stop"
 msgstr ""
 
-#: Menus.cpp:785
-msgid "Stop\tS"
-msgstr "停止\tS"
-
-#: Menus.cpp:786
-msgid "Pause\tP"
-msgstr "暫停\tP"
-
-#: Menus.cpp:787
-msgid "Record\tR"
-msgstr "錄音\tR"
-
-#: Menus.cpp:788
-msgid "Record Append\tShift+R"
-msgstr "附加錄音\tShift+R"
-
 #: Menus.cpp:790
-msgid "Play/Stop and Set Cursor\tShift+A"
-msgstr "播放/停止並設定游標\tShift+A"
+msgid "Play/Stop and Set Cursor"
+msgstr "播放/停止並設定游標"
 
 #: Menus.cpp:793
-msgid "Play One Second\t1"
-msgstr "播放一秒\t1"
+msgid "Play One Second"
+msgstr "播放一秒"
 
 #: Menus.cpp:794
-msgid "Play To Selection\tB"
-msgstr "播放至選取選圍\tB"
-
-#: Menus.cpp:795
-msgid "Play Looped\tL"
-msgstr "循環播放\tL"
-
-#: Menus.cpp:1009
-msgid "Play Looped\tShift+Space"
-msgstr ""
+msgid "Play To Selection"
+msgstr "播放至選取選圍"
 
 #: Menus.cpp:797
-msgid "Play Cut Preview\tC"
-msgstr "播放剪輯試聽\tC"
+msgid "Play Cut Preview"
+msgstr "播放剪輯試聽"
 
 #: Menus.cpp:802
-msgid "Selection to Start\tShift+Home"
-msgstr "移至起始點\tShift+Home"
+msgid "Selection to Start"
+msgstr "移至起始點"
 
 #: Menus.cpp:803
-msgid "Selection to End\tShift+End"
-msgstr "移至結束點\tShift+End"
+msgid "Selection to End"
+msgstr "移至結束點"
 
 #: Menus.cpp:805
-msgid "DeleteKey\tBackspace"
-msgstr "刪除鍵\tBackspace"
+msgid "DeleteKey"
+msgstr "刪除鍵"
 
 #: Menus.cpp:810
-msgid "DeleteKey2\tDelete"
-msgstr "刪除鍵二\tDelete"
+msgid "DeleteKey2"
+msgstr "刪除鍵二"
 
-#: Menus.cpp:816
-msgid "Seek left short period during playback\tLeft"
-msgstr "在播放時向左尋找短片段\tLeft"
+#: Menus.cpp:1018
+msgid "Short seek left during playback"
+msgstr ""
 
-#: Menus.cpp:817
-msgid "Seek right short period during playback\tRight"
-msgstr "在播放時向右尋找短片段\tRight"
+#: Menus.cpp:1019
+msgid "Short seek right during playback"
+msgstr ""
 
-#: Menus.cpp:818
-msgid "Seek left long period during playback\tShift+Left"
-msgstr "在播放時向左尋找長片段\tShift+Left"
+#: Menus.cpp:1020
+msgid "Long seek left during playback"
+msgstr ""
 
-#: Menus.cpp:819
-msgid "Seek right long period during playback\tShift+Right"
-msgstr "在播放時向右尋找長片段\tShift+Right"
+#: Menus.cpp:1021
+msgid "Long Seek right during playback"
+msgstr ""
 
 #: Menus.cpp:823
-msgid "Move Focus to Previous Track\tUp"
-msgstr "選擇前一個音軌\tUp"
+msgid "Move Focus to Previous Track"
+msgstr "選擇前一個音軌"
 
-#: Menus.cpp:824
-msgid "Move Focus to Previous and Change Selection\tShift+Up"
-msgstr "移動聚焦音軌至前一個音軌並變更選擇音軌\tShift+Up"
+#: Menus.cpp:1027
+msgid "Move Focus to Previous and Select"
+msgstr ""
 
 #: Menus.cpp:825
-msgid "Move Focus to Next Track\tDown"
-msgstr "向下移動聚焦音軌\tDown"
+msgid "Move Focus to Next Track"
+msgstr "向下移動聚焦音軌"
 
-#: Menus.cpp:826
-msgid "Move Focus to Next and Change Selection\tShift+Down"
-msgstr "移動聚焦音軌至下一個音軌並變更選擇音軌\tShift+Down"
+#: Menus.cpp:1029
+msgid "Move Focus to Next and Select"
+msgstr ""
 
 #: Menus.cpp:827
-msgid "Toggle Focused Track\tReturn"
-msgstr "觸發聚焦音軌\tENTER"
-
-#: Menus.cpp:828
-msgid "Toggle Focused Track\tNUMPAD_ENTER"
-msgstr "觸發聚焦音軌\t數字盤_ENTER"
-
-#: Menus.cpp:1042
-msgid "Toggle Focused Track\tCtrl+Space"
-msgstr ""
+msgid "Toggle Focused Track"
+msgstr "觸發聚焦音軌"
 
 #: Menus.cpp:831
-msgid "Cursor Left\tLeft"
-msgstr "游標左移\tLeft"
+msgid "Cursor Left"
+msgstr "游標左移"
 
 #: Menus.cpp:832
-msgid "Cursor Right\tRight"
-msgstr "游標右移\tRight"
+msgid "Cursor Right"
+msgstr "游標右移"
 
 #: Menus.cpp:833
-msgid "Cursor Short Jump Left\t,"
-msgstr "游標短左移\tLeft,"
+msgid "Cursor Short Jump Left"
+msgstr "游標短左移"
 
 #: Menus.cpp:834
-msgid "Cursor Short Jump Right\t."
-msgstr "游標短右移\tRight."
+msgid "Cursor Short Jump Right"
+msgstr "游標短右移"
 
 #: Menus.cpp:835
-msgid "Cursor Long Jump Left\tShift+,"
-msgstr "游標長左移\tShift+,"
+msgid "Cursor Long Jump Left"
+msgstr "游標長左移"
 
 #: Menus.cpp:836
-msgid "Cursor Long Jump Right\tShift+."
-msgstr "游標長右移\tShift+."
+msgid "Cursor Long Jump Right"
+msgstr "游標長右移"
 
 #: Menus.cpp:838
-msgid "Selection Extend Left\tShift+Left"
-msgstr "選取左端延伸\tShift+Left"
+msgid "Selection Extend Left"
+msgstr "選取左端延伸"
 
 #: Menus.cpp:839
-msgid "Selection Extend Right\tShift+Right"
-msgstr "選取右端延伸\tShift+Right"
+msgid "Selection Extend Right"
+msgstr "選取右端延伸"
 
 #: Menus.cpp:841
 msgid "Set (or Extend) Left Selection"
@@ -2360,52 +2206,52 @@ msgid "Set (or Extend) Right Selection"
 msgstr "設定(延展)選取範圍右邊界"
 
 #: Menus.cpp:844
-msgid "Selection Contract Left\tCtrl+Shift+Right"
-msgstr "選取左端縮減\tCtrl+Shift+Right"
+msgid "Selection Contract Left"
+msgstr "選取左端縮減"
 
 #: Menus.cpp:845
-msgid "Selection Contract Right\tCtrl+Shift+Left"
-msgstr "選取右端縮減\tCtrl+Shift+Left"
+msgid "Selection Contract Right"
+msgstr "選取右端縮減"
 
 #: Menus.cpp:847
-msgid "Change pan on focused track\tShift+P"
-msgstr "變更聚焦音軌篩選\tShift+P"
+msgid "Change pan on focused track"
+msgstr "變更聚焦音軌篩選"
 
 #: Menus.cpp:848
-msgid "Pan left on focused track\tAlt+Shift+Left"
-msgstr "向左篩選聚焦音軌\tAlt+Shift+Left"
+msgid "Pan left on focused track"
+msgstr "向左篩選聚焦音軌"
 
 #: Menus.cpp:849
-msgid "Pan right on focused track\tAlt+Shift+Right"
-msgstr "向右篩選聚焦音軌\tAlt+Shift+Right"
+msgid "Pan right on focused track"
+msgstr "向右篩選聚焦音軌"
 
 #: Menus.cpp:850
-msgid "Change gain on focused track\tShift+G"
-msgstr "改變聚焦音軌的增益\tShift+G"
+msgid "Change gain on focused track"
+msgstr "改變聚焦音軌的增益"
 
 #: Menus.cpp:851
-msgid "Increase gain on focused track\tAlt+Shift+Up"
-msgstr "增加聚焦音軌的增益\tAlt+Shift+Up"
+msgid "Increase gain on focused track"
+msgstr "增加聚焦音軌的增益"
 
 #: Menus.cpp:852
-msgid "Decrease gain on focused track\tAlt+Shift+Down"
-msgstr "減少聚焦音軌的增益\tAlt+Shift+Down"
+msgid "Decrease gain on focused track"
+msgstr "減少聚焦音軌的增益"
 
 #: Menus.cpp:853
-msgid "Open menu on focused track\tShift+M"
-msgstr "開啟聚焦音軌選單\tShift+M"
+msgid "Open menu on focused track"
+msgstr "開啟聚焦音軌選單"
 
 #: Menus.cpp:854
-msgid "Mute/Unmute focused track\tShift+U"
-msgstr "讓選擇音軌無聲/有聲\tShift+U"
+msgid "Mute/Unmute focused track"
+msgstr "讓選擇音軌無聲/有聲"
 
 #: Menus.cpp:855
-msgid "Solo/Unsolo focused track\tShift+S"
-msgstr "讓選擇音軌獨唱/合唱\tShift+S"
+msgid "Solo/Unsolo focused track"
+msgstr "讓選擇音軌獨唱/合唱"
 
 #: Menus.cpp:856
-msgid "Close focused track\tShift+C"
-msgstr "關閉選擇音軌\tShift+C"
+msgid "Close focused track"
+msgstr "關閉選擇音軌"
 
 #: Menus.cpp:858
 msgid "Snap To On"
@@ -2416,7 +2262,35 @@ msgid "Snap To Off"
 msgstr "關閉滑扣功能"
 
 #: Menus.cpp:1071
-msgid "Full screen on/off\tF11"
+msgid "Full screen on/off"
+msgstr ""
+
+#: Menus.cpp:1067
+msgid "Adjust output gain"
+msgstr ""
+
+#: Menus.cpp:1068
+msgid "Increase output gain"
+msgstr ""
+
+#: Menus.cpp:1069
+msgid "Decrease output gain"
+msgstr ""
+
+#: Menus.cpp:1070
+msgid "Adjust input gain"
+msgstr ""
+
+#: Menus.cpp:1071
+msgid "Increase input gain"
+msgstr ""
+
+#: Menus.cpp:1072
+msgid "Decrease input gain"
+msgstr ""
+
+#: Menus.cpp:1074
+msgid "Adjust input source"
 msgstr ""
 
 #. i18n-hint: This is the name of the menu item on Mac OS X only
@@ -2477,8 +2351,8 @@ msgstr "必須先選取音軌。"
 
 #: Menus.cpp:2035
 #, c-format
-msgid "Repeat %s\tCtrl+R"
-msgstr "重複%s\tCtrl+R"
+msgid "Repeat %s"
+msgstr "重複%s"
 
 #: Menus.cpp:2166
 msgid "There are no label tracks to export."
@@ -2509,9 +2383,7 @@ msgstr "沒有可復原的操作"
 msgid "Nothing to redo"
 msgstr "沒有可重做的操作"
 
-#: Menus.cpp:2366
-#: TrackPanel.cpp:605
-#: toolbars/EditToolBar.cpp:133
+#: Menus.cpp:2366 TrackPanel.cpp:605 toolbars/EditToolBar.cpp:133
 msgid "Cut"
 msgstr "剪下"
 
@@ -2527,10 +2399,7 @@ msgstr "選取範圍變為空白並剪下"
 msgid "Split-cut to the clipboard"
 msgstr "選取範圍變為空白並剪下至剪貼簿"
 
-#: Menus.cpp:2469
-#: Menus.cpp:2540
-#: Menus.cpp:2634
-#: TrackPanel.cpp:607
+#: Menus.cpp:2469 Menus.cpp:2540 Menus.cpp:2634 TrackPanel.cpp:607
 #: toolbars/EditToolBar.cpp:137
 msgid "Paste"
 msgstr "貼上"
@@ -2539,8 +2408,7 @@ msgstr "貼上"
 msgid "Pasted text from the clipboard"
 msgstr "從剪貼簿貼上文字"
 
-#: Menus.cpp:2540
-#: Menus.cpp:2634
+#: Menus.cpp:2540 Menus.cpp:2634
 msgid "Pasted from the clipboard"
 msgstr "從剪貼簿貼上"
 
@@ -2552,8 +2420,7 @@ msgstr ""
 msgid "Copying stereo audio into a mono track is not allowed."
 msgstr "不允許將立體聲音訊複製至單聲道音軌。"
 
-#: Menus.cpp:2670
-#: toolbars/EditToolBar.cpp:139
+#: Menus.cpp:2670 toolbars/EditToolBar.cpp:139
 msgid "Trim"
 msgstr "保留選取範圍"
 
@@ -2593,8 +2460,7 @@ msgstr "將空白範圍變為靜音"
 msgid "Silenced selected tracks for %.2f seconds at %.2f"
 msgstr "使選定音軌靜音%.2f 秒,位置在 %.2f 秒處"
 
-#: Menus.cpp:2771
-#: toolbars/EditToolBar.cpp:141
+#: Menus.cpp:2771 toolbars/EditToolBar.cpp:141
 msgid "Silence"
 msgstr "靜音"
 
@@ -2678,8 +2544,7 @@ msgstr "將標籤靜音範圍變為空白"
 msgid "Disjoined labeled regions"
 msgstr "將標籤區域靜音範圍變為空白"
 
-#: Menus.cpp:2947
-#: TrackPanel.cpp:6121
+#: Menus.cpp:2947 TrackPanel.cpp:6121
 msgid "Split"
 msgstr "分離"
 
@@ -2695,15 +2560,6 @@ msgstr "分離至新的音軌"
 msgid "Split at labels"
 msgstr "按標籤分離"
 
-#: Menus.cpp:3425
-msgid "To plot the spectrum, all selected tracks must be the same sample rate."
-msgstr "為了描繪頻譜,所有選定的音軌必須具有相同的取樣頻率。"
-
-#: Menus.cpp:3451
-#, c-format
-msgid "Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."
-msgstr "選擇的聲音過多。只有開始 %.1f 秒的聲音會被分析。"
-
 #: Menus.cpp:3584
 #, c-format
 msgid "Imported labels from '%s'"
@@ -2742,8 +2598,7 @@ msgstr "所有檔案(*)|*"
 msgid "Edit the metadata tags"
 msgstr "編輯標頭檔標籤"
 
-#: Menus.cpp:3669
-#: export/Export.cpp:298
+#: Menus.cpp:3669 export/Export.cpp:298
 msgid "Edit Metadata"
 msgstr "編輯標頭檔"
 
@@ -2770,8 +2625,7 @@ msgstr "混音讓%d音軌變成一個新的立體聲音軌"
 msgid "Mixed and rendered %d tracks into one new mono track"
 msgstr "混音讓%d音軌變成一個新的單聲道音軌"
 
-#: Menus.cpp:3736
-#: Mix.cpp:120
+#: Menus.cpp:3736 Mix.cpp:120
 msgid "&Mix and Render"
 msgstr "混音且執行(&M)"
 
@@ -2823,10 +2677,7 @@ msgstr ""
 msgid "Created new audio track"
 msgstr "已新建音軌"
 
-#: Menus.cpp:3950
-#: Menus.cpp:3973
-#: Menus.cpp:3988
-#: Menus.cpp:4008
+#: Menus.cpp:3950 Menus.cpp:3973 Menus.cpp:3988 Menus.cpp:4008
 msgid "New Track"
 msgstr "新增音軌"
 
@@ -2862,8 +2713,7 @@ msgstr "另存清除人聲設定檔至:"
 msgid "CleanSpeech Presets (*.csp)|*.csp"
 msgstr "清除人聲設定(*.csp)|*.csp"
 
-#: Menus.cpp:4123
-#: export/Export.cpp:515
+#: Menus.cpp:4123 export/Export.cpp:515
 msgid "Sorry, pathnames longer than 256 characters not supported."
 msgstr "抱歉,路徑名不能超過256個字元。"
 
@@ -2871,8 +2721,7 @@ msgstr "抱歉,路徑名不能超過256個字元。"
 msgid "Problem encountered exporting presets."
 msgstr "匯出preset發生問題。"
 
-#: Menus.cpp:4170
-#: export/Export.cpp:408
+#: Menus.cpp:4170 export/Export.cpp:408
 msgid "Unable to export"
 msgstr "無法匯出"
 
@@ -2884,9 +2733,7 @@ msgstr "移除音軌"
 msgid "Removed audio track(s)"
 msgstr "移除音訊音軌"
 
-#: Menus.cpp:4508
-#: Menus.cpp:4527
-#: export/ExportMP3.cpp:1926
+#: Menus.cpp:4508 Menus.cpp:4527 export/ExportMP3.cpp:1926
 msgid "Resample"
 msgstr "重取樣"
 
@@ -2911,8 +2758,7 @@ msgstr "重新取樣音軌"
 msgid "Resampled audio track(s)"
 msgstr "重新取樣音訊音軌"
 
-#: Mix.cpp:94
-#: Mix.cpp:101
+#: Mix.cpp:94 Mix.cpp:101
 msgid "Mix"
 msgstr "混音"
 
@@ -2932,6 +2778,10 @@ msgstr "列印發生錯誤。"
 msgid "Print"
 msgstr "列印"
 
+#: Project.cpp:669
+msgid "Repeat Last Effect"
+msgstr ""
+
 #: Project.cpp:636
 msgid "Main Mix"
 msgstr "主混音"
@@ -2945,14 +2795,11 @@ msgstr "歡迎使用Audacity%s版"
 msgid "(Recovered)"
 msgstr "(回復)"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
-#: toolbars/ControlToolBar.cpp:191
+#: Menus.cpp:787
 msgid "Record"
 msgstr "錄音"
 
-#: Project.cpp:1482
-#: TrackPanel.cpp:804
+#: Project.cpp:1482 TrackPanel.cpp:804
 msgid "Recorded Audio"
 msgstr "已錄製音訊"
 
@@ -2979,9 +2826,9 @@ msgstr "\n"
 msgid "Save changes?"
 msgstr "儲存變更?"
 
-#: Project.cpp:1694
-msgid "All files|*.*|All supported files|"
-msgstr "所有檔案|*.*|所有支援檔案|"
+#: Project.cpp:1925
+msgid "All files|*|All supported files|"
+msgstr ""
 
 #: Project.cpp:1719
 msgid "Select one or more audio files..."
@@ -2991,8 +2838,7 @@ msgstr "選取一個或多個聲音檔案..."
 msgid "Audacity projects|*.aup|"
 msgstr "Audacity成音工程檔案 |*.aup|"
 
-#: Project.cpp:1799
-#: Project.cpp:2186
+#: Project.cpp:1799 Project.cpp:2186
 #, c-format
 msgid "This file was saved by Audacity %s, a much\n"
 "older version.  The format has changed.\n"
@@ -3012,13 +2858,22 @@ msgstr "此檔案格式是由非常舊版Audacity %s儲存的,而此格式\n"
 msgid "1.0 or earlier"
 msgstr "1.0或之後"
 
-#: Project.cpp:1806
-#: Project.cpp:2198
+#: Project.cpp:1806 Project.cpp:2198
 msgid "Opening old project file"
 msgstr "開啟先前工程檔案"
 
-#: Project.cpp:1832
-#: Project.cpp:1840
+#: Project.cpp:2073
+msgid "You are trying to open an automatically created backup file.\n"
+"Doing this may result in severe data loss.\n"
+"\n"
+"Please open the actual Audacity project file instead."
+msgstr ""
+
+#: Project.cpp:2074
+msgid "Backup file detected"
+msgstr ""
+
+#: Project.cpp:1832 Project.cpp:1840
 msgid "Error opening file"
 msgstr "開啟檔案錯誤"
 
@@ -3053,8 +2908,7 @@ msgstr "回復"
 msgid "Project checker repaired file"
 msgstr "工程檢查器修復檔案"
 
-#: Project.cpp:2001
-#: effects/Repair.h:29
+#: Project.cpp:2001 effects/Repair.h:29
 msgid "Repair"
 msgstr "修復"
 
@@ -3076,18 +2930,15 @@ msgstr "這個檔案是由Audacity %s 儲存的。\n"
 msgid "Can't open project file"
 msgstr "無法開啟成音工程檔案。"
 
-#: Project.cpp:2193
+#: Project.cpp:2484
 #, c-format
 msgid "This file was saved by Audacity %s.\n"
-"You can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n"
-"\n"
-"Open this file now?"
-msgstr "此檔案格式是由舊版Audacity %s儲存的。\n"
 "\n"
-"你可以開啟此檔案,但若您使用目前版本的Audacity儲存檔案後,\n"
-"您將無法使用舊版的Audacity來開啟。\n"
+"Audacity can open and save this file, but saving it in this version\n"
+"will then prevent any 1.2 or earlier version opening it.\n"
 "\n"
-"您要立刻開啟此檔案嗎?"
+"Open this file now?"
+msgstr ""
 
 #: Project.cpp:2537
 msgid "Your project is now empty.\n"
@@ -3104,17 +2955,22 @@ msgstr ""
 msgid "Warning empty project"
 msgstr ""
 
-#: Project.cpp:2591
+#: Project.cpp:2792
 #, c-format
 msgid "Could not save project. Perhaps %s \n"
-"is not writeable or the disk is full."
+"is not writable or the disk is full."
 msgstr ""
 
-#: Project.cpp:2428
-#: Project.cpp:2442
+#: Project.cpp:2428 Project.cpp:2442
 msgid "Error saving project"
 msgstr "儲存成音工程錯誤"
 
+#: Project.cpp:2818 Project.cpp:3919 Tags.cpp:1203
+#: effects/Equalization.cpp:1098
+#, c-format
+msgid "Couldn't write to file \"%s\": %s"
+msgstr ""
+
 #: Project.cpp:2504
 #, c-format
 msgid "Saved %s"
@@ -3125,16 +2981,12 @@ msgstr "%s已儲存"
 msgid "Imported '%s'"
 msgstr "'%s'已匯入"
 
-#: Menus.cpp:3649
-#: Project.cpp:2587
-#: Project.cpp:2612
-#: import/ImportPCM.cpp:440
+#: Menus.cpp:3649 Project.cpp:2587 Project.cpp:2612 import/ImportPCM.cpp:440
 #: import/ImportPCM.cpp:484
 msgid "Import"
 msgstr "匯入"
 
-#: Project.cpp:2639
-#: Project.cpp:2647
+#: Project.cpp:2639 Project.cpp:2647
 msgid "Error importing"
 msgstr "匯入錯誤"
 
@@ -3177,8 +3029,7 @@ msgstr "已新建專案"
 msgid "Deleted %.2f seconds at t=%.2f"
 msgstr "刪除 %.2f 秒 (位置 t=%.2f)"
 
-#: Project.cpp:2859
-#: effects/Equalization.cpp:1262
+#: Project.cpp:2859 effects/Equalization.cpp:1262
 #: effects/Equalization.cpp:2593
 msgid "Delete"
 msgstr "刪除"
@@ -3259,8 +3110,7 @@ msgstr "Libsamplerate(取樣率庫,Erik de Castro Lopo提供)"
 msgid "Libsamplerate error: %d\n"
 msgstr "Libsamplerate 錯誤:%d\n"
 
-#: Resample.cpp:240
-#: Resample.cpp:250
+#: Resample.cpp:240 Resample.cpp:250
 msgid "Resampling disabled."
 msgstr "停用重取樣。"
 
@@ -3279,6 +3129,163 @@ msgstr "24-bit PCM"
 msgid "32-bit float"
 msgstr "32-bit float"
 
+#: Screenshot.cpp:279
+msgid "Screen Capture Frame"
+msgstr ""
+
+#: Screenshot.cpp:316
+msgid "Choose location to save files"
+msgstr ""
+
+#: Screenshot.cpp:326
+msgid "Save images to:"
+msgstr ""
+
+#: export/ExportMultiple.cpp:216 prefs/DirectoriesPrefs.cpp:92
+msgid "Choose..."
+msgstr "選擇..."
+
+#: Screenshot.cpp:334
+msgid "Capture entire window or screen"
+msgstr ""
+
+#: Screenshot.cpp:338
+msgid "Resize Small"
+msgstr ""
+
+#: Screenshot.cpp:339
+msgid "Resize Large"
+msgstr ""
+
+#: Screenshot.cpp:342
+msgid "Blue Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:346
+msgid "White Bkgnd"
+msgstr ""
+
+#: Screenshot.cpp:353
+msgid "Capture Window Only"
+msgstr ""
+
+#: Screenshot.cpp:354
+msgid "Capture Full Window"
+msgstr ""
+
+#: Screenshot.cpp:355
+msgid "Capture Window Plus"
+msgstr ""
+
+#: Screenshot.cpp:361
+msgid "Capture Full Screen"
+msgstr ""
+
+#: Screenshot.cpp:368
+msgid "Wait 5 seconds and capture frontmost window/dialog"
+msgstr ""
+
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
+msgid "false"
+msgstr "錯誤"
+
+#: Screenshot.cpp:375
+msgid "Capture part of a project window"
+msgstr ""
+
+#: Screenshot.cpp:379
+msgid "All Toolbars"
+msgstr ""
+
+#: Screenshot.cpp:380
+msgid "SelectionBar"
+msgstr ""
+
+#: toolbars/ToolsToolBar.cpp:90
+msgid "Tools"
+msgstr "工具"
+
+#: toolbars/ControlToolBar.cpp:82
+msgid "Control"
+msgstr "控制"
+
+#: toolbars/MixerToolBar.cpp:60
+msgid "Mixer"
+msgstr "混音工具"
+
+#: toolbars/MeterToolBar.cpp:50
+msgid "Meter"
+msgstr "儀表工具列"
+
+#: Screenshot.cpp:390 toolbars/EditToolBar.cpp:76 toolbars/EditToolBar.cpp:181
+msgid "Edit"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:119 prefs/AudioIOPrefs.cpp:137
+#: toolbars/DeviceToolBar.cpp:57
+msgid "Device"
+msgstr "裝置"
+
+#: toolbars/TranscriptionToolBar.cpp:84
+msgid "Transcription"
+msgstr "錄音"
+
+#: TrackPanel.cpp:464 TrackPanel.cpp:465
+msgid "Track Panel"
+msgstr "音軌面板"
+
+#: Screenshot.cpp:399
+msgid "Ruler"
+msgstr ""
+
+#: export/ExportMultiple.cpp:258
+msgid "Tracks"
+msgstr "音軌"
+
+#: Screenshot.cpp:401
+msgid "First Track"
+msgstr ""
+
+#: Screenshot.cpp:402
+msgid "Second Track"
+msgstr ""
+
+#: Screenshot.cpp:408
+msgid "Scale"
+msgstr ""
+
+#: Screenshot.cpp:412
+msgid "One Sec"
+msgstr ""
+
+#: Screenshot.cpp:413
+msgid "Ten Sec"
+msgstr ""
+
+#: Screenshot.cpp:414
+msgid "One Min"
+msgstr ""
+
+#: Screenshot.cpp:415
+msgid "Five Min"
+msgstr ""
+
+#: Screenshot.cpp:416
+msgid "One Hour"
+msgstr ""
+
+#: Screenshot.cpp:422
+msgid "Short Tracks"
+msgstr ""
+
+#: Screenshot.cpp:423
+msgid "Medium Tracks"
+msgstr ""
+
+#: Screenshot.cpp:424
+msgid "Tall Tracks"
+msgstr ""
+
 #: Screenshot.cpp:384
 msgid "Saved "
 msgstr "已儲存"
@@ -3287,14 +3294,15 @@ msgstr "已儲存"
 msgid "Error trying to save file: "
 msgstr "儲存檔案錯誤:"
 
-#: Sequence.cpp:732
-#: Sequence.cpp:742
-#: Sequence.cpp:749
+#: Screenshot.cpp:673
+msgid "Choose a location to save screenshot images"
+msgstr ""
+
+#: Sequence.cpp:732 Sequence.cpp:742 Sequence.cpp:749
 msgid "Gap detected in project file\n"
 msgstr "工程檔案偵測出缺口\n"
 
-#: ShuttleGui.cpp:1852
-#: effects/Effect.cpp:342
+#: ShuttleGui.cpp:1852 effects/Effect.cpp:342
 #: effects/audiounits/AudioUnitEffect.cpp:872
 msgid "Pre&view"
 msgstr "試聽(&V)"
@@ -3335,8 +3343,7 @@ msgstr "專輯標題"
 msgid "Track Number"
 msgstr "音軌編號"
 
-#: Tags.cpp:633
-#: Tags.cpp:2138
+#: Tags.cpp:633 Tags.cpp:2138
 msgid "Year"
 msgstr "年份"
 
@@ -3344,9 +3351,7 @@ msgstr "年份"
 msgid "Genre"
 msgstr "樣式"
 
-#: Tags.cpp:635
-#: Tags.cpp:2148
-#: prefs/MousePrefs.cpp:96
+#: Tags.cpp:635 Tags.cpp:2148 prefs/MousePrefs.cpp:96
 msgid "Comments"
 msgstr "註解"
 
@@ -3362,9 +3367,7 @@ msgstr "標籤名稱"
 msgid "Tag Value"
 msgstr "標籤值"
 
-#: Tags.cpp:818
-#: Tags.cpp:1476
-#: prefs/KeyConfigPrefs.cpp:116
+#: Tags.cpp:818 Tags.cpp:1476 prefs/KeyConfigPrefs.cpp:116
 msgid "&Clear"
 msgstr "清除(&C)"
 
@@ -3380,71 +3383,42 @@ msgstr ""
 msgid "Rese&t..."
 msgstr ""
 
-#: Tags.cpp:834
-#: Tags.cpp:1460
-#: Tags.cpp:1988
+#: Tags.cpp:834 Tags.cpp:1460 Tags.cpp:1988
 msgid "Template"
 msgstr "樣板"
 
-#: Tags.cpp:838
-#: Tags.cpp:1464
-#: Tags.cpp:1992
-#: prefs/KeyConfigPrefs.cpp:126
+#: Tags.cpp:838 Tags.cpp:1464 Tags.cpp:1992 prefs/KeyConfigPrefs.cpp:126
 msgid "&Load..."
 msgstr "載入(&L)..."
 
-#: Tags.cpp:839
-#: Tags.cpp:1465
-#: Tags.cpp:1993
-#: prefs/KeyConfigPrefs.cpp:125
+#: Tags.cpp:839 Tags.cpp:1465 Tags.cpp:1993 prefs/KeyConfigPrefs.cpp:125
 msgid "&Save..."
 msgstr "儲存(&S)..."
 
-#: Tags.cpp:841
-#: Tags.cpp:1467
-#: Tags.cpp:1995
+#: Tags.cpp:841 Tags.cpp:1467 Tags.cpp:1995
 msgid "S&et Default"
 msgstr "回到預設值(&E)"
 
-#: Tags.cpp:991
-#: Tags.cpp:1630
-#: Tags.cpp:2359
+#: Tags.cpp:991 Tags.cpp:1630 Tags.cpp:2359
 msgid "Edit Genres"
 msgstr "編輯樣式"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1036
-#: Tags.cpp:1052
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1680
-#: Tags.cpp:1696
-#: Tags.cpp:1709
-#: Tags.cpp:2402
-#: Tags.cpp:2414
-#: Tags.cpp:2430
-#: Tags.cpp:2443
+#: Tags.cpp:1024 Tags.cpp:1036 Tags.cpp:1052 Tags.cpp:1065 Tags.cpp:1668
+#: Tags.cpp:1680 Tags.cpp:1696 Tags.cpp:1709 Tags.cpp:2402 Tags.cpp:2414
+#: Tags.cpp:2430 Tags.cpp:2443
 msgid "Reset Genres"
 msgstr "重設樣式"
 
-#: Tags.cpp:1024
-#: Tags.cpp:1065
-#: Tags.cpp:1668
-#: Tags.cpp:1709
-#: Tags.cpp:2402
+#: Tags.cpp:1024 Tags.cpp:1065 Tags.cpp:1668 Tags.cpp:1709 Tags.cpp:2402
 #: Tags.cpp:2443
 msgid "Unable to save genre file."
 msgstr "無法儲存樣式檔案。"
 
-#: Tags.cpp:1035
-#: Tags.cpp:1679
-#: Tags.cpp:2413
+#: Tags.cpp:1035 Tags.cpp:1679 Tags.cpp:2413
 msgid "Are you sure you want to reset the genre list to defaults?"
 msgstr "您確認要將樣式清單回復為預設值?"
 
-#: Tags.cpp:1052
-#: Tags.cpp:1696
-#: Tags.cpp:2430
+#: Tags.cpp:1052 Tags.cpp:1696 Tags.cpp:2430
 msgid "Unable to open genre file."
 msgstr "無法開啟樣式檔案。"
 
@@ -3452,21 +3426,19 @@ msgstr "無法開啟樣式檔案。"
 msgid "Load Metadata As:"
 msgstr ""
 
-#: Tags.cpp:1112
-#: Tags.cpp:1763
-#: Tags.cpp:2486
+#: Tags.cpp:1112 Tags.cpp:1763 Tags.cpp:2486
 msgid "Error loading metadata"
 msgstr "載入標頭檔錯誤"
 
-#: Tags.cpp:1087
-#: Tags.cpp:1141
-#: Tags.cpp:1742
-#: Tags.cpp:1778
-#: Tags.cpp:2465
+#: Tags.cpp:1087 Tags.cpp:1141 Tags.cpp:1742 Tags.cpp:1778 Tags.cpp:2465
 #: Tags.cpp:2501
 msgid "Save Metadata As:"
 msgstr "另存標頭檔為:"
 
+#: Tags.cpp:1205
+msgid "Error saving tags file"
+msgstr ""
+
 #: Theme.cpp:638
 #, c-format
 msgid "Audacity could not write file:\n"
@@ -3499,8 +3471,7 @@ msgstr "Audacity無法找到檔案:\n"
 "  %s.\n"
 "沒有載入佈景。"
 
-#: Theme.cpp:807
-#: Theme.cpp:896
+#: Theme.cpp:807 Theme.cpp:896
 #, c-format
 msgid "Audacity could not load file:\n"
 "  %s.\n"
@@ -3522,8 +3493,7 @@ msgid "None of the expected theme component files\n"
 "  %s."
 msgstr "在%s找不到想要的佈景。"
 
-#: Theme.cpp:942
-#: effects/NoiseRemoval.cpp:173
+#: Theme.cpp:942 effects/NoiseRemoval.cpp:173
 #, c-format
 msgid "Could not create directory:\n"
 "  %s"
@@ -3545,12 +3515,8 @@ msgid "All required files in:\n"
 msgstr "在%s所需的檔案\n"
 "已經準備好了。"
 
-#: SmartRecordDialog.cpp:226
-#: SmartRecordDialog.cpp:307
-#: TimeDialog.cpp:53
-#: effects/Noise.cpp:235
-#: effects/ToneGen.cpp:329
-#: effects/ToneGen.cpp:374
+#: SmartRecordDialog.cpp:226 SmartRecordDialog.cpp:307 TimeDialog.cpp:53
+#: effects/Noise.cpp:235 effects/ToneGen.cpp:329 effects/ToneGen.cpp:374
 msgid "Duration"
 msgstr "持續期間"
 
@@ -3558,6 +3524,14 @@ msgstr "持續期間"
 msgid "Audacity Timer Record"
 msgstr "Audacity預約錄音"
 
+#: TimerRecordDialog.cpp:205
+msgid "Duration is zero. Nothing will be recorded."
+msgstr ""
+
+#: TimerRecordDialog.cpp:206
+msgid "Error in Duration"
+msgstr ""
+
 #: SmartRecordDialog.cpp:223
 msgid "Recording start"
 msgstr "錄音開始"
@@ -3597,40 +3571,23 @@ msgstr "等待開始錄音,開始於%s.\n"
 msgid "Audacity Timer Record - Waiting for Start"
 msgstr ""
 
-#: TrackPanel.cpp:464
-#: TrackPanel.cpp:465
-msgid "Track Panel"
-msgstr "音軌面板"
-
-#: TrackPanel.cpp:548
-#: export/ExportPCM.cpp:133
-#: prefs/QualityPrefs.cpp:97
+#: TrackPanel.cpp:548 export/ExportPCM.cpp:133 prefs/QualityPrefs.cpp:97
 msgid "Other..."
 msgstr "其它..."
 
-#: TrackPanel.cpp:556
-#: TrackPanel.cpp:580
-#: TrackPanel.cpp:589
-#: TrackPanel.cpp:597
+#: TrackPanel.cpp:556 TrackPanel.cpp:580 TrackPanel.cpp:589 TrackPanel.cpp:597
 msgid "Name..."
 msgstr "命名..."
 
-#: TrackPanel.cpp:558
-#: TrackPanel.cpp:582
-#: TrackPanel.cpp:593
-#: TrackPanel.cpp:599
+#: TrackPanel.cpp:558 TrackPanel.cpp:582 TrackPanel.cpp:593 TrackPanel.cpp:599
 msgid "Move Track Up"
 msgstr "向上移動軌道"
 
-#: TrackPanel.cpp:559
-#: TrackPanel.cpp:583
-#: TrackPanel.cpp:594
-#: TrackPanel.cpp:600
+#: TrackPanel.cpp:559 TrackPanel.cpp:583 TrackPanel.cpp:594 TrackPanel.cpp:600
 msgid "Move Track Down"
 msgstr "向下移動軌道"
 
-#: TrackPanel.cpp:561
-#: effects/ToneGen.cpp:325
+#: TrackPanel.cpp:561 effects/ToneGen.cpp:325
 msgid "Waveform"
 msgstr "波形"
 
@@ -3646,18 +3603,15 @@ msgstr "頻譜log(f)"
 msgid "Pitch (EAC)"
 msgstr "音高 (EAC)"
 
-#: TrackPanel.cpp:569
-#: TrackPanel.cpp:6091
+#: TrackPanel.cpp:569 TrackPanel.cpp:6091
 msgid "Mono"
 msgstr "單聲道"
 
-#: TrackPanel.cpp:570
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:570 TrackPanel.cpp:6090
 msgid "Left Channel"
 msgstr "左聲道"
 
-#: TrackPanel.cpp:571
-#: TrackPanel.cpp:6090
+#: TrackPanel.cpp:571 TrackPanel.cpp:6090
 msgid "Right Channel"
 msgstr "右聲道"
 
@@ -3669,12 +3623,15 @@ msgstr "合併為立體聲音軌"
 msgid "Split Stereo Track"
 msgstr "分離立體聲音軌為單聲道"
 
+#: TrackPanel.cpp:621
+msgid "Split Stereo to Mono"
+msgstr ""
+
 #: TrackPanel.cpp:575
 msgid "Set Sample Format"
 msgstr "設定取樣格式"
 
-#: TrackPanel.cpp:577
-#: TrackPanel.cpp:6320
+#: TrackPanel.cpp:577 TrackPanel.cpp:6320
 msgid "Set Rate"
 msgstr "設定取樣頻率"
 
@@ -3694,8 +3651,7 @@ msgstr "å­—åž‹..."
 msgid "Set Range..."
 msgstr "設定範圍..."
 
-#: TrackPanel.cpp:606
-#: toolbars/EditToolBar.cpp:135
+#: TrackPanel.cpp:606 toolbars/EditToolBar.cpp:135
 msgid "Copy"
 msgstr "複製"
 
@@ -3741,21 +3697,13 @@ msgstr "單擊拖曳以選取範圍左邊界。"
 msgid "Click and drag to move right selection boundary."
 msgstr "單擊拖曳以選取範圍右邊界。"
 
-#: TrackPanel.cpp:1702
-#: TrackPanel.cpp:3993
-#: TrackPanel.cpp:4025
-#: TrackPanel.cpp:4280
-#: TrackPanel.cpp:6432
-#: TrackPanel.cpp:6452
+#: TrackPanel.cpp:1702 TrackPanel.cpp:3993 TrackPanel.cpp:4025
+#: TrackPanel.cpp:4280 TrackPanel.cpp:6432 TrackPanel.cpp:6452
 msgid "Modified Label"
 msgstr "已修改標籤"
 
-#: TrackPanel.cpp:1703
-#: TrackPanel.cpp:3994
-#: TrackPanel.cpp:4026
-#: TrackPanel.cpp:4281
-#: TrackPanel.cpp:6433
-#: TrackPanel.cpp:6453
+#: TrackPanel.cpp:1703 TrackPanel.cpp:3994 TrackPanel.cpp:4026
+#: TrackPanel.cpp:4281 TrackPanel.cpp:6433 TrackPanel.cpp:6453
 msgid "Label Edit"
 msgstr "標籤編輯"
 
@@ -3763,8 +3711,7 @@ msgstr "標籤編輯"
 msgid "Adjusted envelope."
 msgstr "已調整波封線。"
 
-#: TrackPanel.cpp:1931
-#: prefs/MousePrefs.cpp:115
+#: TrackPanel.cpp:1931 prefs/MousePrefs.cpp:115
 msgid "Envelope"
 msgstr "波封"
 
@@ -3786,9 +3733,7 @@ msgstr "右"
 msgid "Time shifted tracks/clips %s %.02f seconds"
 msgstr "時間位移音軌/片段 %s %.02f秒"
 
-#: TrackPanel.cpp:2092
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:112
+#: TrackPanel.cpp:2092 prefs/MousePrefs.cpp:111 prefs/MousePrefs.cpp:112
 #: prefs/MousePrefs.cpp:113
 msgid "Time-Shift"
 msgstr "時間-位移"
@@ -3827,39 +3772,29 @@ msgid "Moved pan slider"
 msgstr "已移動面板滑桿"
 
 #. i18n-hint: Title of the Gain slider, used to adjust the volume
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5726
-#: TrackPanel.cpp:7149
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5726 TrackPanel.cpp:7149
 msgid "Gain"
 msgstr "增益"
 
 #. i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically
-#: TrackPanel.cpp:3485
-#: TrackPanel.cpp:5664
-#: TrackPanel.cpp:7156
+#: TrackPanel.cpp:3485 TrackPanel.cpp:5664 TrackPanel.cpp:7156
 msgid "Pan"
 msgstr "面板"
 
-#: TrackPanel.cpp:3610
-#: TrackPanel.cpp:6385
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3610 TrackPanel.cpp:6385 effects/ChangePitch.cpp:284
 msgid "up"
 msgstr "上"
 
-#: TrackPanel.cpp:3614
-#: TrackPanel.cpp:6386
-#: effects/ChangePitch.cpp:284
+#: TrackPanel.cpp:3614 TrackPanel.cpp:6386 effects/ChangePitch.cpp:284
 msgid "down"
 msgstr "下"
 
-#: TrackPanel.cpp:3621
-#: TrackPanel.cpp:6381
+#: TrackPanel.cpp:3621 TrackPanel.cpp:6381
 #, c-format
 msgid "Moved '%s' %s"
 msgstr "已移動 '%s' %s"
 
-#: TrackPanel.cpp:3624
-#: TrackPanel.cpp:6387
+#: TrackPanel.cpp:3624 TrackPanel.cpp:6387
 msgid "Move Track"
 msgstr "移動音軌"
 
@@ -3891,14 +3826,6 @@ msgstr "已調整篩選"
 msgid "Adjusted gain"
 msgstr "已調整增益"
 
-#: TrackPanel.cpp:5799
-msgid "Group with Wave Track"
-msgstr ""
-
-#: TrackPanel.cpp:5800
-msgid "Clear any grouping"
-msgstr ""
-
 #: TrackPanel.cpp:5918
 msgid "Can't delete track with active audio"
 msgstr "無法刪除正在使用的音訊"
@@ -3919,8 +3846,7 @@ msgstr "左聲道,"
 msgid "Right, "
 msgstr "右聲道,"
 
-#: TrackPanel.cpp:6100
-#: TrackPanel.cpp:6225
+#: TrackPanel.cpp:6100 TrackPanel.cpp:6225
 #, c-format
 msgid "Changed '%s' to %s"
 msgstr "已變更的'%s' 至 %s"
@@ -3934,6 +3860,11 @@ msgstr "聲道"
 msgid "Split stereo track '%s'"
 msgstr "分離立體聲音軌'%s'"
 
+#: TrackPanel.cpp:6253
+#, c-format
+msgid "Split Stereo to Mono '%s'"
+msgstr ""
+
 #: TrackPanel.cpp:6139
 #, c-format
 msgid "Made '%s' a stereo track"
@@ -3960,8 +3891,7 @@ msgstr "變更格式"
 msgid "Change lower speed limit (%) to:"
 msgstr "變更最低速率限制(%)為:"
 
-#: TrackPanel.cpp:6350
-#: TrackPanel.cpp:6351
+#: TrackPanel.cpp:6350 TrackPanel.cpp:6351
 msgid "Lower speed limit"
 msgstr "最低速率限制"
 
@@ -3969,8 +3899,7 @@ msgstr "最低速率限制"
 msgid "Change upper speed limit (%) to:"
 msgstr "變更最高速率限制(%)為:"
 
-#: TrackPanel.cpp:6357
-#: TrackPanel.cpp:6358
+#: TrackPanel.cpp:6357 TrackPanel.cpp:6358
 msgid "Upper speed limit"
 msgstr "最高速率限制"
 
@@ -4012,6 +3941,10 @@ msgstr "封面名稱"
 msgid "Face size"
 msgstr "封面大小"
 
+#: TrackPanel.cpp:6941
+msgid "Stereo, 999999Hz"
+msgstr ""
+
 # 靜音播放
 #: TrackPanel.cpp:7076
 msgid "Mute"
@@ -4047,10 +3980,7 @@ msgstr "獨奏"
 msgid " Select On"
 msgstr " Select On"
 
-#: VoiceKey.cpp:88
-#: VoiceKey.cpp:238
-#: VoiceKey.cpp:376
-#: VoiceKey.cpp:517
+#: VoiceKey.cpp:88 VoiceKey.cpp:238 VoiceKey.cpp:376 VoiceKey.cpp:517
 msgid "Selection is too small to use voice key."
 msgstr "選段太小以至於不能使用聲音鑰匙。"
 
@@ -4077,8 +4007,7 @@ msgstr "Direction Changes  -- mean: %1.4f  sd: (%1.4f)\n"
 msgid "Audio Track"
 msgstr "音軌"
 
-#: WaveTrack.cpp:555
-#: WaveTrack.cpp:574
+#: WaveTrack.cpp:555 WaveTrack.cpp:574
 msgid "There is not enough room available to paste the selection"
 msgstr "沒有足夠的空問貼上選取範圍"
 
@@ -4096,10 +4025,10 @@ msgstr "外掛程式1 至 %i"
 msgid "Plugins %i to %i"
 msgstr "外掛程式%i 至 %i"
 
-#: commands/CommandManager.cpp:857
-#, fuzzy
-msgid "Disallowed for some reason.  Try selecting some audio first?"
-msgstr "因為某些原因停用。請嘗試選擇其他的音訊?"
+#: commands/CommandManager.cpp:923
+msgid "There was a problem with your last action. If you think\n"
+"this is a bug, please tell us exactly where it occurred."
+msgstr ""
 
 #: commands/CommandManager.cpp:781
 msgid "You can only do this when playing and recording are\n"
@@ -4164,9 +4093,7 @@ msgstr "新增峰值振幅 (dB):"
 msgid "Allow clipping"
 msgstr "允許剪輯"
 
-#: effects/Amplify.cpp:237
-#: effects/Amplify.cpp:287
-#: effects/Amplify.cpp:353
+#: effects/Amplify.cpp:237 effects/Amplify.cpp:287 effects/Amplify.cpp:353
 msgid "-Infinity"
 msgstr "-無限大"
 
@@ -4182,9 +4109,7 @@ msgstr "增幅處理中"
 msgid "You selected a track which does not contain audio. AutoDuck can only process audio tracks."
 msgstr "您選擇的音軌沒有任何音訊。自動閃避只能處理有音訊的音軌。"
 
-#: effects/AutoDuck.cpp:126
-#: effects/AutoDuck.cpp:138
-#: effects/AutoDuck.cpp:453
+#: effects/AutoDuck.cpp:126 effects/AutoDuck.cpp:138 effects/AutoDuck.cpp:453
 #: effects/AutoDuck.cpp:570
 msgid "Auto Duck"
 msgstr "自動閃避"
@@ -4206,17 +4131,11 @@ msgid "Maximum pause:"
 msgstr "最大暫停:"
 
 #. i18n-hint: Name of time display format that shows time in seconds
-#: effects/AutoDuck.cpp:494
-#: effects/AutoDuck.cpp:499
-#: effects/AutoDuck.cpp:504
-#: effects/AutoDuck.cpp:509
-#: effects/AutoDuck.cpp:514
-#: prefs/AudioIOPrefs.cpp:166
-#: prefs/AudioIOPrefs.cpp:174
-#: prefs/AudioIOPrefs.cpp:176
-#: prefs/AudioIOPrefs.cpp:201
-#: prefs/AudioIOPrefs.cpp:203
-#: widgets/TimeTextCtrl.cpp:263
+#: effects/AutoDuck.cpp:494 effects/AutoDuck.cpp:499 effects/AutoDuck.cpp:504
+#: effects/AutoDuck.cpp:509 effects/AutoDuck.cpp:514
+#: prefs/AudioIOPrefs.cpp:166 prefs/AudioIOPrefs.cpp:174
+#: prefs/AudioIOPrefs.cpp:176 prefs/AudioIOPrefs.cpp:201
+#: prefs/AudioIOPrefs.cpp:203 widgets/TimeTextCtrl.cpp:263
 msgid "seconds"
 msgstr "秒"
 
@@ -4238,8 +4157,7 @@ msgstr "向內漸強長度:"
 
 # 壓縮動作的起始點,指的是輸入音量的值。
 # THRESHOLD是用來決定開始壓縮動作的音量 ,一但超過此起始點,壓縮動作就會開始。
-#: effects/AutoDuck.cpp:521
-#: effects/Compressor.cpp:484
+#: effects/AutoDuck.cpp:521 effects/Compressor.cpp:484
 msgid "Threshold:"
 msgstr "臨界值:"
 
@@ -4259,12 +4177,9 @@ msgstr "自動閃避..."
 msgid "Processing Auto Duck..."
 msgstr "自動閃避處理中..."
 
-#: effects/AvcCompressor.cpp:738
-#: effects/VST/VSTEffect.cpp:448
-#: effects/audiounits/AudioUnitEffect.cpp:877
-#: effects/nyquist/Nyquist.cpp:1042
-#: widgets/ErrorDialog.cpp:79
-#: widgets/ErrorDialog.cpp:105
+#: effects/AvcCompressor.cpp:738 effects/VST/VSTEffect.cpp:448
+#: effects/audiounits/AudioUnitEffect.cpp:877 effects/nyquist/Nyquist.cpp:1042
+#: widgets/ErrorDialog.cpp:79 widgets/ErrorDialog.cpp:105
 #: widgets/Warning.cpp:67
 msgid "OK"
 msgstr "確定"
@@ -4329,14 +4244,12 @@ msgstr "變更音高維持節拍不變"
 
 #. i18n-hint: && in here is an escape character to get a single & on
 #. * screen, so keep it as is
-#: effects/ChangePitch.cpp:254
-#: effects/ChangeSpeed.cpp:313
+#: effects/ChangePitch.cpp:254 effects/ChangeSpeed.cpp:313
 #: effects/ChangeTempo.cpp:180
 msgid "by Vaughan Johnson && Dominic Mazzoni"
 msgstr "Vaughan Johnson && Dominic Mazzoni提供"
 
-#: effects/ChangePitch.cpp:259
-#: effects/ChangeTempo.cpp:185
+#: effects/ChangePitch.cpp:259 effects/ChangeTempo.cpp:185
 msgid "using SoundTouch, by Olli Parviainen"
 msgstr "使用SoundTouch(Olli Parviainen提供)"
 
@@ -4385,10 +4298,8 @@ msgstr ""
 msgid "From frequency in hertz"
 msgstr ""
 
-#: effects/ChangePitch.cpp:291
-#: effects/ChangePitch.cpp:337
-#: effects/ChangeSpeed.cpp:377
-#: effects/ChangeTempo.cpp:239
+#: effects/ChangePitch.cpp:291 effects/ChangePitch.cpp:337
+#: effects/ChangeSpeed.cpp:377 effects/ChangeTempo.cpp:239
 #: effects/ChangeTempo.cpp:270
 msgid "to"
 msgstr "至"
@@ -4397,8 +4308,7 @@ msgstr "至"
 msgid "To frequency in seconds"
 msgstr ""
 
-#: effects/ChangePitch.cpp:360
-#: effects/ChangeSpeed.cpp:331
+#: effects/ChangePitch.cpp:360 effects/ChangeSpeed.cpp:331
 #: effects/ChangeTempo.cpp:198
 msgid "Percent Change:"
 msgstr "改變百分比(%):"
@@ -4416,8 +4326,7 @@ msgstr "變更音高..."
 msgid "Changing Pitch"
 msgstr "變更音高中"
 
-#: effects/ChangeSpeed.cpp:53
-#: effects/ChangeTempo.cpp:55
+#: effects/ChangeSpeed.cpp:53 effects/ChangeTempo.cpp:55
 #, c-format
 msgid "Applied effect: %s %.1f%%"
 msgstr "已套用效果: %s %.1f%%"
@@ -4573,12 +4482,11 @@ msgstr "衰減時間:"
 msgid "Decay Time"
 msgstr ""
 
-#: effects/Compressor.cpp:516
-msgid "Normalize to 0dB after compressing"
-msgstr "壓縮後套用增益"
+#: effects/Compressor.cpp:542
+msgid "Make-up gain for 0dB after compressing"
+msgstr ""
 
 #: effects/Compressor.cpp:563
-#, c-format
 #, fuzzy
 msgid "Threshold %d dB"
 msgstr "臨界值:%d dB"
@@ -4609,7 +4517,6 @@ msgid "%.1f:1"
 msgstr ""
 
 #: effects/Compressor.cpp:575
-#, c-format
 #, fuzzy
 msgid "Attack Time %.1f secs"
 msgstr "上升時間: %.1f 秒"
@@ -4620,7 +4527,6 @@ msgid "%.1f secs"
 msgstr ""
 
 #: effects/Compressor.cpp:578
-#, c-format
 #, fuzzy
 msgid "Decay Time %.1f secs"
 msgstr "衰減時間:%.1f秒"
@@ -4633,6 +4539,10 @@ msgstr "壓縮..."
 msgid "Applying Dynamic Range Compression..."
 msgstr "套用動態範圍壓縮中..."
 
+#: effects/Contrast.cpp:64
+msgid "Contrast Analysis"
+msgstr ""
+
 #: effects/Contrast.cpp:79
 msgid "Contrast Tool Foreground"
 msgstr ""
@@ -4652,19 +4562,6 @@ msgid "Times are not reasonable!\n"
 "Please enter reasonable times."
 msgstr ""
 
-#: effects/Contrast.cpp:120
-msgid "Hello.\n"
-msgstr ""
-
-#: effects/Contrast.cpp:245
-msgid "WCAG2 Audio Contrast Analyzer"
-msgstr ""
-
-#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
-#: effects/Contrast.cpp:289
-msgid "Measured"
-msgstr ""
-
 #: effects/Contrast.cpp:231
 msgid "Contrast Analyzer"
 msgstr ""
@@ -4673,15 +4570,12 @@ msgstr ""
 msgid "Parameters"
 msgstr ""
 
-#: effects/ToneGen.cpp:361
-#: toolbars/ControlToolBar.cpp:185
+#: effects/ToneGen.cpp:361 toolbars/ControlToolBar.cpp:185
 msgid "Start"
 msgstr "開始"
 
-#: effects/ToneGen.cpp:362
-#: toolbars/ControlToolBar.cpp:188
-#: toolbars/SelectionBar.cpp:149
-#: toolbars/SelectionBar.cpp:254
+#: effects/ToneGen.cpp:362 toolbars/ControlToolBar.cpp:188
+#: toolbars/SelectionBar.cpp:149 toolbars/SelectionBar.cpp:254
 msgid "End"
 msgstr "結束時間"
 
@@ -4701,6 +4595,11 @@ msgstr ""
 msgid "Foreground end time"
 msgstr ""
 
+#: effects/Contrast.cpp:193 effects/Contrast.cpp:204 effects/Contrast.cpp:266
+#: effects/Contrast.cpp:289
+msgid "Measured"
+msgstr ""
+
 #: effects/Contrast.cpp:373 effects/Contrast.cpp:417
 msgid "Use selection"
 msgstr ""
@@ -4725,8 +4624,7 @@ msgstr ""
 msgid "Contrast Result:"
 msgstr ""
 
-#: Tags.cpp:829
-#: Tags.cpp:1981
+#: Tags.cpp:829 Tags.cpp:1981
 msgid "Reset"
 msgstr "重置"
 
@@ -4746,16 +4644,8 @@ msgstr ""
 msgid "Help for WCAG2 Audio Contrast Analyzer"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:82
-msgid "Control"
-msgstr "控制"
-
-#: effects/Contrast.cpp:454
-msgid "Note: The 'OK' button resets time values."
-msgstr ""
-
-#: effects/Contrast.cpp:455
-msgid "Close but keep times"
+#: effects/Contrast.cpp:412
+msgid "Close (keeping times)"
 msgstr ""
 
 #: effects/Contrast.cpp:328 effects/Contrast.cpp:336 effects/Contrast.cpp:344
@@ -4866,18 +4756,6 @@ msgstr ""
 msgid "Data gathered"
 msgstr ""
 
-#: effects/Contrast.h:33
-msgid "Contrast...\tCtrl+Shift+T"
-msgstr ""
-
-#: effects/Contrast.h:51
-msgid "Measuring background"
-msgstr ""
-
-#: effects/Contrast.h:53
-msgid "Measuring foreground"
-msgstr ""
-
 #: effects/DtmfGen.cpp:48
 msgid "DTMF Tone Generator"
 msgstr "DTMF產生器"
@@ -4890,9 +4768,7 @@ msgstr "by Salvo Ventura (2006)"
 msgid "DTMF sequence:"
 msgstr "DTMF序列:"
 
-#: effects/DtmfGen.cpp:446
-#: effects/Noise.cpp:255
-#: effects/ToneGen.cpp:328
+#: effects/DtmfGen.cpp:446 effects/Noise.cpp:255 effects/ToneGen.cpp:328
 #: effects/ToneGen.cpp:365
 msgid "Amplitude (0-1)"
 msgstr "振幅 (0-1)"
@@ -4913,9 +4789,7 @@ msgstr "負載週期:"
 msgid "Tone duration:"
 msgstr "基音持續期間:"
 
-#: effects/DtmfGen.cpp:482
-#: effects/DtmfGen.cpp:484
-#: effects/DtmfGen.cpp:560
+#: effects/DtmfGen.cpp:482 effects/DtmfGen.cpp:484 effects/DtmfGen.cpp:560
 #: effects/DtmfGen.cpp:561
 msgid "ms"
 msgstr "ms"
@@ -4997,8 +4871,7 @@ msgstr "餘弦"
 msgid "Cubic"
 msgstr "立方體"
 
-#: effects/Equalization.cpp:362
-#: effects/Equalization.cpp:412
+#: effects/Equalization.cpp:362 effects/Equalization.cpp:412
 msgid "Equalization"
 msgstr "等化"
 
@@ -5010,6 +4883,10 @@ msgstr "載入等化器錯誤"
 msgid "custom"
 msgstr "風格"
 
+#: effects/Equalization.cpp:1100
+msgid "Error saving equalization curves"
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single &
 #. * on screen, so keep it as is
 #: effects/Equalization.cpp:1087
@@ -5049,8 +4926,7 @@ msgstr "濾波器長度:"
 msgid "Select curve:"
 msgstr "選取曲線:"
 
-#: effects/Equalization.cpp:1259
-#: effects/Equalization.cpp:2498
+#: effects/Equalization.cpp:1259 effects/Equalization.cpp:2498
 #: export/ExportMultiple.cpp:826
 msgid "Save As..."
 msgstr "另存新檔..."
@@ -5168,8 +5044,7 @@ msgstr "最重度"
 msgid "by Lynn Allan"
 msgstr "由Lynn Allan提供"
 
-#: effects/Leveller.cpp:226
-#: effects/Leveller.cpp:231
+#: effects/Leveller.cpp:226 effects/Leveller.cpp:231
 msgid "Degree of Leveling"
 msgstr "水平度數"
 
@@ -5218,10 +5093,6 @@ msgstr ""
 msgid "Analyser"
 msgstr ""
 
-#: toolbars/MixerToolBar.cpp:60
-msgid "Mixer"
-msgstr "混音工具"
-
 #: effects/LoadEffects.cpp:116
 msgid "Simulator"
 msgstr ""
@@ -5463,15 +5334,9 @@ msgstr "移除雜音中"
 msgid "Applied effect: %s remove dc offset = %s, normalize amplitude = %s"
 msgstr "套用效果:%s 移除DC偏移 = %s,單位化振揊 = %s"
 
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
-msgid "false"
-msgstr "錯誤"
-
 #. i18n-hint: true here means that the option was
 #. * selected. Opposite false if not selected
-#: effects/Normalize.cpp:74
-#: effects/Normalize.cpp:75
+#: effects/Normalize.cpp:74 effects/Normalize.cpp:75
 msgid "true"
 msgstr "正確"
 
@@ -5529,8 +5394,7 @@ msgstr ""
 msgid "Dry Wet"
 msgstr ""
 
-#: effects/Phaser.cpp:264
-#: effects/Wahwah.cpp:221
+#: effects/Phaser.cpp:264 effects/Wahwah.cpp:221
 msgid "LFO Frequency (Hz):"
 msgstr "LFO 頻率 (Hz):"
 
@@ -5538,8 +5402,7 @@ msgstr "LFO 頻率 (Hz):"
 msgid "LFO frequency in hertz"
 msgstr ""
 
-#: effects/Phaser.cpp:280
-#: effects/Wahwah.cpp:237
+#: effects/Phaser.cpp:280 effects/Wahwah.cpp:237
 msgid "LFO Start Phase (deg.):"
 msgstr "LFO 起始相位 (角度):"
 
@@ -5600,8 +5463,7 @@ msgstr "重複%d次"
 msgid "Tracks are too long to repeat the selection."
 msgstr "音軌太長,無法重複選取範圍。"
 
-#: effects/Repeat.cpp:76
-#: effects/Repeat.cpp:80
+#: effects/Repeat.cpp:76 effects/Repeat.cpp:80
 msgid "Repeat"
 msgstr "重複"
 
@@ -5614,8 +5476,7 @@ msgstr "重複次數:"
 msgid "New selection length: hh:mm:ss"
 msgstr ""
 
-#: effects/Repeat.cpp:207
-#: effects/Repeat.cpp:237
+#: effects/Repeat.cpp:207 effects/Repeat.cpp:237
 msgid "New selection length: "
 msgstr "新的選取長度:"
 
@@ -5690,9 +5551,7 @@ msgstr "突刺清除器..."
 msgid "Applying Spike Cleaner..."
 msgstr "套用突刺清除器中..."
 
-#: Menus.cpp:358
-#: Menus.cpp:564
-#: effects/StereoToMono.h:23
+#: Menus.cpp:358 Menus.cpp:564 effects/StereoToMono.h:23
 msgid "&Stereo to Mono"
 msgstr "立體聲至單聲道(&S)"
 
@@ -5749,8 +5608,7 @@ msgstr ""
 msgid "Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"
 msgstr "已套用效果: 產生%s %s 波,頻率 = %.2f Hz,振幅=%.2f,%.6lf秒"
 
-#: effects/ToneGen.cpp:75
-#: widgets/Meter.cpp:379
+#: effects/ToneGen.cpp:75 widgets/Meter.cpp:379
 msgid "Linear"
 msgstr "線性"
 
@@ -5782,8 +5640,7 @@ msgstr "鋸齒波"
 msgid "Square, no alias"
 msgstr "平方,無別名"
 
-#: effects/ToneGen.cpp:327
-#: effects/ToneGen.cpp:363
+#: effects/ToneGen.cpp:327 effects/ToneGen.cpp:363
 msgid "Frequency (Hz)"
 msgstr "頻率(Hz)"
 
@@ -5831,30 +5688,45 @@ msgstr "產生基音中"
 msgid "All tracks must have the same sample rate"
 msgstr "所有選定的音軌必須具有相同的取樣頻率"
 
-#: effects/TruncSilence.cpp:113
-#: effects/TruncSilence.cpp:322
+#: effects/TruncSilence.cpp:113 effects/TruncSilence.cpp:322
 msgid "Truncate Silence"
 msgstr "剪裁靜音"
 
-#: effects/TruncSilence.cpp:346
-msgid "Max silence duration:"
-msgstr "靜音最大持續期間:"
+#: effects/TruncSilence.cpp:453
+msgid "by Lynn Allan && Philip Van Baren"
+msgstr ""
 
-#: effects/TruncSilence.cpp:349
-#: prefs/AudioIOPrefs.cpp:190
+#: effects/TruncSilence.cpp:467
+msgid "Min silence duration:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:349 prefs/AudioIOPrefs.cpp:190
 #: prefs/AudioIOPrefs.cpp:193
 msgid "milliseconds"
 msgstr "毫秒"
 
+#: effects/TruncSilence.cpp:346
+msgid "Max silence duration:"
+msgstr "靜音最大持續期間:"
+
+#: effects/TruncSilence.cpp:475
+msgid "Silence compression:"
+msgstr ""
+
+#: effects/TruncSilence.cpp:478
+msgid ":1"
+msgstr ""
+
 # 壓縮動作的起始點,指的是輸入音量的值。
 # THRESHOLD是用來決定開始壓縮動作的音量 ,一但超過此起始點,壓縮動作就會開始。
 #: effects/TruncSilence.cpp:351
 msgid "Threshold for silence:"
 msgstr "靜音臨界值:"
 
-#: effects/TruncSilence.cpp:376
-msgid "   Duration must be at least 1 millisecond"
-msgstr " 持續時間最少要一毫秒"
+#: effects/TruncSilence.cpp:506
+msgid "   Duration must be at least 1 millisecond\n"
+"   Compress ratio must be at least 1:1"
+msgstr ""
 
 #: effects/TruncSilence.h:28
 msgid "Truncate Silence..."
@@ -5864,17 +5736,55 @@ msgstr "剪裁靜音..."
 msgid "Truncating Silence..."
 msgstr "剪裁靜音中"
 
-#: effects/VST/VSTEffect.cpp:165
-msgid "Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
-msgstr "抱歉,當立體聲軌道不匹配時,無法執行VST效果。"
+#: effects/ladspa/LadspaEffect.cpp:608
+msgid "Effect Settings"
+msgstr "效果器設定"
+
+#: effects/ladspa/LadspaEffect.cpp:573 effects/ladspa/LadspaEffect.cpp:581
+#: prefs/GUIPrefs.cpp:51 prefs/QualityPrefs.cpp:72
+msgid "None"
+msgstr "ç„¡"
+
+#: effects/VST/VSTEffect.cpp:343
+msgid "Presets:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:355
+msgid "Load"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:358
+msgid "Save"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:458
+msgid "Load VST Program:"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:180
-msgid "Can't process replacing"
-msgstr "無法執行取代"
+#: effects/VST/VSTEffect.cpp:476
+msgid "Error loading program"
+msgstr ""
 
-#: effects/VST/VSTEffect.cpp:403
-msgid "VST Plug-in parameters:"
-msgstr "VST 外掛程式參數:"
+#: effects/VST/VSTEffect.cpp:492
+msgid "Save VST Program As:"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:626
+#, c-format
+msgid "This parameter file was saved from %s.  Continue?"
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:993
+msgid "Performing Effect: "
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1016
+msgid "Both channels of a stereo track must be the same sample rate."
+msgstr ""
+
+#: effects/VST/VSTEffect.cpp:1021
+msgid "Both channels of a stereo track must be the same length."
+msgstr ""
 
 #: effects/Wahwah.cpp:61
 #, c-format
@@ -5923,22 +5833,10 @@ msgstr "執行特效:%s"
 msgid "Sorry, Plug-in Effects cannot be performed on stereo tracks where the individual channels of the track do not match."
 msgstr "抱歉,當立體聲軌道不匹配時,無法執行外掛程式效果。"
 
-#: effects/ladspa/LadspaEffect.cpp:573
-#: effects/ladspa/LadspaEffect.cpp:581
-#: prefs/GUIPrefs.cpp:51
-#: prefs/QualityPrefs.cpp:72
-msgid "None"
-msgstr "ç„¡"
-
-#: effects/ladspa/LadspaEffect.cpp:575
-#: effects/vamp/VampEffect.cpp:384
+#: effects/ladspa/LadspaEffect.cpp:575 effects/vamp/VampEffect.cpp:384
 msgid "Author: "
 msgstr "作者:"
 
-#: effects/ladspa/LadspaEffect.cpp:608
-msgid "Effect Settings"
-msgstr "效果器設定"
-
 #: effects/ladspa/LadspaEffect.cpp:699
 msgid "Length (seconds)"
 msgstr "長度 (秒):"
@@ -5959,8 +5857,7 @@ msgstr ""
 msgid "Applying Nyquist Effect..."
 msgstr "套用Nyquist效果中..."
 
-#: effects/nyquist/Nyquist.cpp:259
-#: effects/nyquist/Nyquist.cpp:321
+#: effects/nyquist/Nyquist.cpp:259 effects/nyquist/Nyquist.cpp:321
 msgid "Nyquist Prompt..."
 msgstr "Nyquist 表示式..."
 
@@ -5980,8 +5877,7 @@ msgstr "Nyquist 表示式"
 msgid "Nyquist Output: "
 msgstr "Nyquist 表示式"
 
-#: effects/nyquist/Nyquist.cpp:598
-#: effects/nyquist/Nyquist.cpp:609
+#: effects/nyquist/Nyquist.cpp:598 effects/nyquist/Nyquist.cpp:609
 msgid "Nyquist returned the value:"
 msgstr "Nyquist 傳回值:"
 
@@ -6089,8 +5985,7 @@ msgstr " - 右聲道"
 msgid "Mixer Panel"
 msgstr ""
 
-#: export/Export.cpp:976
-#: export/Export.cpp:1021
+#: export/Export.cpp:976 export/Export.cpp:1021
 #, c-format
 msgid "Output Channels: %2d"
 msgstr "輸出聲道:%2d"
@@ -6120,8 +6015,7 @@ msgstr "資料將會依序排列。\"%f\"將會以選擇的輸出檔名來取代
 msgid "(external program)"
 msgstr "(外部程式)"
 
-#: export/ExportCL.cpp:250
-#: export/ExportPCM.cpp:367
+#: export/ExportCL.cpp:250 export/ExportPCM.cpp:367
 #, c-format
 msgid "Cannot export audio to %s"
 msgstr "無法匯出聲音至%s"
@@ -6138,9 +6032,21 @@ msgstr "用命令列編碼器匯出全部成音工程"
 msgid "Command Output"
 msgstr "命令輸出"
 
-#: export/ExportFFmpeg.cpp:59
+#: export/ExportFFmpeg.cpp:61
+msgid "Properly configured FFmpeg is required to proceed.\n"
+"You can configure it at Preferences > Libraries."
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
+msgid "AMR support not distributable"
+msgstr ""
+
+#: export/ExportFFmpeg.cpp:232
 msgid "Properly configured FFmpeg is required to proceed.\n"
-"You can configure it in Preferences->Import/Export."
+"You can configure it at Preferences > Libraries.\n"
+"\n"
+"Note that AMR support is not available with our FFmpeg\n"
+"installer, but requires you compile FFmpeg yourself."
 msgstr ""
 
 #: export/ExportFFmpeg.cpp:394
@@ -6208,6 +6114,10 @@ msgstr ""
 msgid "AAC Export Setup"
 msgstr ""
 
+#: export/ExportOGG.cpp:86
+msgid "Quality:"
+msgstr "品質:"
+
 #: export/ExportFFmpegDialogs.cpp:217
 msgid "Specify AMR-NB Options"
 msgstr ""
@@ -6341,12 +6251,8 @@ msgid "Bit Rate (bits/second) - influences the resulting file size and quality\n
 "Recommended - 192000"
 msgstr ""
 
-#: export/ExportOGG.cpp:86
-msgid "Quality:"
-msgstr "品質:"
-
-#: export/ExportFFmpegDialogs.cpp:941
-msgid "Overral quality, used differently by different codecs\n"
+#: export/ExportFFmpegDialogs.cpp:930
+msgid "Overall quality, used differently by different codecs\n"
 "Required for vorbis\n"
 "0 - automatic\n"
 "-1 - off (use bitrate instead)"
@@ -6365,10 +6271,10 @@ msgstr ""
 msgid "Cutoff Bandwidth:"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.cpp:947
+#: export/ExportFFmpegDialogs.cpp:936
 msgid "Audio cutoff bandwidth (Hz)\n"
 "Optional\n"
-"0 - automatic\n"
+"0 - automatic"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.cpp:949
@@ -6557,12 +6463,12 @@ msgstr ""
 msgid "AC3 Files (FFmpeg)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:55
-msgid "AMR (narrow band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:56
+msgid "AMR (narrow band) Files (FFmpeg, undistributable)"
 msgstr ""
 
-#: export/ExportFFmpegDialogs.h:56
-msgid "AMR (wide band) Files (FFmpeg)"
+#: export/ExportFFmpegDialogs.h:57
+msgid "AMR (wide band) Files (FFmpeg, undistributable)"
 msgstr ""
 
 #: export/ExportFFmpegDialogs.h:57
@@ -6673,6 +6579,17 @@ msgstr "位元深度:"
 msgid "FLAC Files"
 msgstr "FLAC檔案"
 
+#: export/ExportFLAC.cpp:288
+#, c-format
+msgid "FLAC export couldn't open %s"
+msgstr ""
+
+#: export/ExportFLAC.cpp:297
+#, c-format
+msgid "FLAC encoder failed to initialize\n"
+"Status: %d"
+msgstr ""
+
 #: export/ExportFLAC.cpp:310
 msgid "Exporting the selected audio as FLAC"
 msgstr "將選定的聲音匯出為FLAC"
@@ -6697,9 +6614,7 @@ msgstr "MP2檔案"
 msgid "Cannot export MP2 with this sample rate and bit rate"
 msgstr "無法以此取樣率及位元率匯出MP2檔案"
 
-#: export/ExportMP2.cpp:240
-#: export/ExportMP3.cpp:1768
-#: export/ExportOGG.cpp:183
+#: export/ExportMP2.cpp:240 export/ExportMP3.cpp:1768 export/ExportOGG.cpp:183
 msgid "Unable to open target file for writing"
 msgstr "無法開啟目標檔案寫入"
 
@@ -6713,9 +6628,7 @@ msgstr "將選定的音訊以%d kbps匯出"
 msgid "Exporting entire file at %d kbps"
 msgstr "將全部成音工程以%d kbps匯出"
 
-#: export/ExportMP3.cpp:221
-#: export/ExportMP3.cpp:239
-#: export/ExportMP3.cpp:253
+#: export/ExportMP3.cpp:221 export/ExportMP3.cpp:239 export/ExportMP3.cpp:253
 msgid "kbps"
 msgstr "kbps"
 
@@ -6731,9 +6644,7 @@ msgstr "(較小檔案體積)"
 msgid "Fast"
 msgstr "快速"
 
-#: export/ExportMP3.cpp:244
-#: export/ExportMP3.cpp:250
-#: prefs/GUIPrefs.cpp:41
+#: export/ExportMP3.cpp:244 export/ExportMP3.cpp:250 prefs/GUIPrefs.cpp:41
 #: prefs/GUIPrefs.cpp:49
 msgid "Standard"
 msgstr "標準"
@@ -6779,8 +6690,7 @@ msgstr "平均"
 msgid "Constant"
 msgstr "常數"
 
-#: export/ExportMP3.cpp:373
-#: prefs/QualityPrefs.cpp:42
+#: export/ExportMP3.cpp:373 prefs/QualityPrefs.cpp:42
 #: prefs/QualityPrefs.cpp:43
 msgid "Quality"
 msgstr "品質"
@@ -6899,10 +6809,8 @@ msgstr "此MP3檔案格式不支援目前工程取樣速率(%d)及位元率(%d k
 msgid "MP3 export library not found"
 msgstr ""
 
-#: export/ExportMultiple.cpp:95
-#: export/ExportMultiple.cpp:374
-#: export/ExportMultiple.cpp:598
-#: export/ExportMultiple.cpp:765
+#: export/ExportMultiple.cpp:95 export/ExportMultiple.cpp:374
+#: export/ExportMultiple.cpp:598 export/ExportMultiple.cpp:765
 msgid "Export Multiple"
 msgstr "匯出多個檔案"
 
@@ -6932,11 +6840,6 @@ msgstr "選項..."
 msgid "Export location:"
 msgstr "匯出檔案位置:"
 
-#: export/ExportMultiple.cpp:216
-#: prefs/DirectoriesPrefs.cpp:92
-msgid "Choose..."
-msgstr "選擇..."
-
 #: export/ExportMultiple.cpp:217
 msgid "Create"
 msgstr "建立"
@@ -6961,10 +6864,6 @@ msgstr "第一個檔案名稱:"
 msgid "First file name"
 msgstr ""
 
-#: export/ExportMultiple.cpp:258
-msgid "Tracks"
-msgstr "音軌"
-
 #: export/ExportMultiple.cpp:265
 msgid "Name files:"
 msgstr "命名檔案:"
@@ -6998,6 +6897,35 @@ msgstr "\"%s\" 建立完成。"
 msgid "Choose a location to save the exported files"
 msgstr "選擇儲存匯出檔案的位置"
 
+#: export/ExportMultiple.cpp:524
+#, c-format
+msgid "Successfully exported the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:525
+#, c-format
+msgid "Something went wrong after exporting the folliwing %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:526
+#, c-format
+msgid "Export canceled after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:527
+#, c-format
+msgid "Export stopped after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:528
+#, c-format
+msgid "Something went really wrong after exporting the following %ld file(s)."
+msgstr ""
+
+#: export/ExportMultiple.cpp:535
+msgid "ExportMultiple"
+msgstr ""
+
 #: export/ExportMultiple.cpp:470
 #, c-format
 msgid "\"%s\" doesn't exist.\n"
@@ -7007,23 +6935,10 @@ msgstr "\"%s\" 不存在。\n"
 "\n"
 "您要建立它嗎?"
 
-#: export/ExportMultiple.cpp:568
-#: export/ExportMultiple.cpp:703
+#: export/ExportMultiple.cpp:568 export/ExportMultiple.cpp:703
 msgid "Edit metadata"
 msgstr "編輯標頭檔"
 
-#: export/ExportMultiple.cpp:595
-#: export/ExportMultiple.cpp:762
-#, c-format
-msgid "Successfully exported %d file(s)."
-msgstr "%d 檔案匯出成功。"
-
-#: export/ExportMultiple.cpp:596
-#: export/ExportMultiple.cpp:763
-#, c-format
-msgid "Something went wrong after exporting %d file(s)."
-msgstr "匯出%d檔案後發生錯誤。"
-
 #: export/ExportMultiple.cpp:825
 #, c-format
 msgid "Label %s is not a legal file name. You cannot use any of:   %s\n"
@@ -7191,7 +7106,6 @@ msgstr "\"%s\"是 Advanced Audio Coding檔案。\n"
 "請嘗試將它轉換成Audacity能支援的聲音格式如WAV或AIFF。"
 
 #: import/Import.cpp:271
-#, c-format
 #, fuzzy
 msgid "\"%s\" is an encrypted audio file. \n"
 "These typically are from an online music store. \n"
@@ -7293,6 +7207,10 @@ msgstr ""
 msgid "FLAC files"
 msgstr "FLAC檔案"
 
+#: import/ImportGStreamer.cpp:33
+msgid "GStreamer-compatible files"
+msgstr ""
+
 #: import/ImportLOF.cpp:92
 msgid "List of Files in basic text format"
 msgstr "基本文字格式的檔案列表"
@@ -7303,9 +7221,7 @@ msgid "Invalid window offset in LOF file."
 msgstr "LOF 檔案視窗偏移無效。"
 
 #. i18n-hint: You do not need to translate "LOF"
-#: import/ImportLOF.cpp:320
-#: import/ImportLOF.cpp:341
-#: import/ImportLOF.cpp:415
+#: import/ImportLOF.cpp:320 import/ImportLOF.cpp:341 import/ImportLOF.cpp:415
 #: import/ImportLOF.cpp:435
 msgid "LOF Error"
 msgstr "LOF 錯誤"
@@ -7361,8 +7277,7 @@ msgstr "Vorbis位元流標頭無效"
 msgid "Internal logic fault"
 msgstr "內部處理錯誤"
 
-#: export/ExportPCM.cpp:320
-#: import/ImportPCM.cpp:47
+#: export/ExportPCM.cpp:320 import/ImportPCM.cpp:47
 msgid "WAV, AIFF, and other uncompressed types"
 msgstr "WAV、AIFF及其他非壓縮格式"
 
@@ -7454,36 +7369,41 @@ msgstr ""
 msgid "%s %2.0f%% complete.  Click to change task focal point."
 msgstr ""
 
-#: prefs/AudioIOPrefs.cpp:41
-#: prefs/AudioIOPrefs.cpp:42
-msgid "Audio I/O"
-msgstr "音訊 I/O"
+#: prefs/BatchPrefs.cpp:55 prefs/BatchPrefs.cpp:56
+msgid "Batch"
+msgstr "批次"
 
-#: prefs/AudioIOPrefs.cpp:100
-msgid "1 (Mono)"
-msgstr "1 (單聲道)"
+#: prefs/BatchPrefs.cpp:77 prefs/GUIPrefs.cpp:92
+msgid "Behaviors"
+msgstr "行為"
 
-#: prefs/AudioIOPrefs.cpp:101
-msgid "2 (Stereo)"
-msgstr "2 (立體聲)"
+#: prefs/BatchPrefs.cpp:80 prefs/GUIPrefs.cpp:129
+msgid "&Don't apply effects in batch mode"
+msgstr "批次模式下不套用效果器(&D)"
 
-#: prefs/AudioIOPrefs.cpp:115
-msgid "Playback"
-msgstr "播放裝置"
+#: prefs/BatchPrefs.cpp:83 prefs/GUIPrefs.cpp:132
+msgid "Cl&eanSpeech Mode (Customized GUI)"
+msgstr "清除人聲模式(自定介面)(&E)"
 
-#: prefs/AudioIOPrefs.cpp:119
-#: prefs/AudioIOPrefs.cpp:137
-#: toolbars/DeviceToolBar.cpp:57
-msgid "Device"
-msgstr "裝置"
+#: prefs/DevicePrefs.cpp:54
+msgid "Devices"
+msgstr ""
+
+#: prefs/GUIPrefs.cpp:34 prefs/GUIPrefs.cpp:35
+msgid "Interface"
+msgstr "介面"
+
+#: prefs/DevicePrefs.cpp:113
+msgid "Host"
+msgstr ""
 
 #: prefs/AudioIOPrefs.cpp:122
 msgid "Using:"
 msgstr "使用:"
 
-#: prefs/AudioIOPrefs.cpp:123
-msgid "Portaudio v"
-msgstr "Portaudio v"
+#: prefs/AudioIOPrefs.cpp:115
+msgid "Playback"
+msgstr "播放裝置"
 
 #: prefs/AudioIOPrefs.cpp:133
 msgid "Recording"
@@ -7493,100 +7413,15 @@ msgstr "錄製裝置"
 msgid "Channels"
 msgstr "聲道"
 
-#: prefs/AudioIOPrefs.cpp:145
-msgid "Playthrough"
-msgstr "播放"
-
-#: prefs/AudioIOPrefs.cpp:149
-msgid "Overdub: &Play other tracks while recording new one"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:150
-msgid "&Hardware Playthrough: Play new track while recording it"
-msgstr "硬體播放(&H):在錄音時播放新建的音軌"
-
-#: prefs/AudioIOPrefs.cpp:152
-msgid "&Software Playthrough: Play new track while recording it"
-msgstr "軟體播放(&S):在錄音時播放新建的音軌"
-
-#: prefs/AudioIOPrefs.cpp:157
-msgid "&Software Playthrough: Play new track while recording or monitoring"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:160
-msgid "(uncheck when recording \"stereo mix\")"
-msgstr ""
-
-#: prefs/AudioIOPrefs.cpp:162
-msgid "Effects Preview"
-msgstr "效果試聽"
-
-#: prefs/AudioIOPrefs.cpp:165
-msgid "Length of preview:"
-msgstr "試聽長度:"
-
-#: prefs/AudioIOPrefs.cpp:170
-msgid "Cut Preview"
-msgstr "剪裁區域試聽"
-
-#: prefs/AudioIOPrefs.cpp:173
-msgid "Preview before cut region:"
-msgstr "試聽剪裁區域前的部分:"
-
-#: prefs/AudioIOPrefs.cpp:175
-msgid "Preview after cut region:"
-msgstr "試聽剪裁區域後的部分:"
-
-#: prefs/AudioIOPrefs.cpp:183
-msgid "Latency"
-msgstr "延遲"
-
-#: prefs/AudioIOPrefs.cpp:189
-msgid "Audio to buffer:\n"
-"(higher = more latency)"
-msgstr "音訊緩衝:\n"
-"(越高 = 延遲越長)"
-
-#: prefs/AudioIOPrefs.cpp:192
-msgid "Latency correction:\n"
-"(negative = backwards)"
-msgstr "延遲修正:\n"
-"(負值 = 往前)"
-
-#: prefs/AudioIOPrefs.cpp:197
-msgid "Seek Time when playing"
-msgstr "播放時搜索時間資訊"
-
-#: prefs/AudioIOPrefs.cpp:200
-msgid "Short period:"
-msgstr "短區間:"
-
-#: prefs/AudioIOPrefs.cpp:202
-msgid "Long period:"
-msgstr "長區間:"
-
-#: prefs/BatchPrefs.cpp:55
-#: prefs/BatchPrefs.cpp:56
-msgid "Batch"
-msgstr "批次"
-
-#: prefs/BatchPrefs.cpp:77
-#: prefs/GUIPrefs.cpp:92
-msgid "Behaviors"
-msgstr "行為"
-
-#: prefs/BatchPrefs.cpp:80
-#: prefs/GUIPrefs.cpp:129
-msgid "&Don't apply effects in batch mode"
-msgstr "批次模式下不套用效果器(&D)"
+#: prefs/AudioIOPrefs.cpp:100
+msgid "1 (Mono)"
+msgstr "1 (單聲道)"
 
-#: prefs/BatchPrefs.cpp:83
-#: prefs/GUIPrefs.cpp:132
-msgid "Cl&eanSpeech Mode (Customized GUI)"
-msgstr "清除人聲模式(自定介面)(&E)"
+#: prefs/AudioIOPrefs.cpp:101
+msgid "2 (Stereo)"
+msgstr "2 (立體聲)"
 
-#: prefs/DirectoriesPrefs.cpp:55
-#: prefs/DirectoriesPrefs.cpp:56
+#: prefs/DirectoriesPrefs.cpp:55 prefs/DirectoriesPrefs.cpp:56
 #: prefs/PrefsDialog.cpp:279
 msgid "Directories"
 msgstr "目錄路徑"
@@ -7603,34 +7438,31 @@ msgstr "路徑:"
 msgid "Free Space:"
 msgstr "可用空間:"
 
-#: prefs/DirectoriesPrefs.cpp:99
-msgid "Auto save"
-msgstr "自動儲存"
-
-#: prefs/DirectoriesPrefs.cpp:101
-msgid "Auto save a copy of the project in a separate folder"
-msgstr "自動將工程在獨立的資料夾另存一份"
-
-#: prefs/DirectoriesPrefs.cpp:104
-msgid "Auto save interval:"
-msgstr "自動儲存區間:"
-
-#: prefs/DirectoriesPrefs.cpp:105
-msgid "minutes"
-msgstr "分鐘"
-
 #: prefs/DirectoriesPrefs.cpp:110
 msgid "Audio cache"
 msgstr "音軌快取"
 
-#: prefs/DirectoriesPrefs.cpp:112
-msgid "Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "Play and/or record using RAM (useful for slow drives)"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:111
+msgid "Minimum Free Memory (MB):"
+msgstr ""
+
+#: prefs/DirectoriesPrefs.cpp:118
+msgid "If the available system memory falls below this value, audio will no longer\n"
+"be cached in memory and will be written to disk."
 msgstr ""
 
 #: prefs/DirectoriesPrefs.cpp:121
 msgid "Choose a location to place the temporary directory"
 msgstr "選擇存放暫存目錄的位置"
 
+#: prefs/DirectoriesPrefs.cpp:158
+msgid "unavailable - above location doesn't exist"
+msgstr ""
+
 #: prefs/DirectoriesPrefs.cpp:166
 #, c-format
 msgid "Directory %s does not exist. Create it?"
@@ -7649,230 +7481,145 @@ msgstr "%s目錄無法寫入"
 msgid "Changes to temporary directory will not take effect until Audacity is restarted"
 msgstr "Audacity重開後,才會變更暫存目錄。"
 
-#: prefs/FileFormatPrefs.cpp:48
-#: prefs/FileFormatPrefs.cpp:49
-msgid "Import / Export"
-msgstr "匯入/匯出"
-
-#: prefs/FileFormatPrefs.cpp:77
-msgid "MP3 Export Library"
-msgstr "MP3匯出程式庫"
-
-#: prefs/FileFormatPrefs.cpp:80
-msgid "MP3 Library Version:"
-msgstr "MP3程式庫版本:"
+#: prefs/GUIPrefs.cpp:42
+msgid "In Browser"
+msgstr "瀏覽器"
 
-#: prefs/FileFormatPrefs.cpp:86
-msgid "MP3 Library:"
-msgstr "MP3程式庫:"
+#: prefs/GUIPrefs.cpp:43
+msgid "From Internet"
+msgstr "網路上的說明"
 
-#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
-msgid "&Locate..."
+#: prefs/GUIPrefs.cpp:54
+msgid "36"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:91
-msgid "LAME MP3 Library:"
-msgstr "LAME MP3程式庫:"
-
-#: prefs/FileFormatPrefs.cpp:94
-msgid "&Download"
-msgstr "下載(&D)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "FFmpeg Import/Export Library"
+#: prefs/GUIPrefs.cpp:55
+msgid "48"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:109
-msgid "FFmpeg Library Version:"
+#: prefs/GUIPrefs.cpp:56
+msgid "60"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
-msgid "FFmpeg Library:"
+#: prefs/GUIPrefs.cpp:57
+msgid "96"
 msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:136
-#, fuzzy
-msgid "Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"
-msgstr "注意:匯出品質選項在匯出對話框的選項按鈕裡。\n"
-
-#: prefs/FileFormatPrefs.cpp:100
-msgid "When importing audio files"
-msgstr "當Audacity匯入聲音檔案時"
-
-#: prefs/FileFormatPrefs.cpp:103
-msgid "&Make a copy of uncompressed audio files before editing (safer)"
-msgstr "在編輯前製作檔案備份(較安全)(&M)"
-
-#: prefs/FileFormatPrefs.cpp:104
-msgid "&Read uncompressed audio files directly from the original (faster)"
-msgstr "從原始檔案中直接讀取(快速)(&R)"
-
-#: prefs/FileFormatPrefs.cpp:106
-msgid "&Normalize all tracks in project"
-msgstr "將工程內所有音軌單位化(&n)"
-
-#: prefs/FileFormatPrefs.cpp:111
-msgid "When saving a project that depends on other audio files"
-msgstr "當要儲存相依於其他音訊檔案的工程時"
+#: prefs/GUIPrefs.cpp:58
+msgid "120"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:114
-msgid "Always &copy all audio into project (safest)"
-msgstr "總是複製所有音訊至工程內(最安全)(&C)"
+#: prefs/GUIPrefs.cpp:59
+msgid "145"
+msgstr ""
 
-#: prefs/FileFormatPrefs.cpp:115
-msgid "&Do not copy any audio"
-msgstr "不要複製任何音訊(&D)"
+#: prefs/GUIPrefs.cpp:141
+msgid "-36 dB (shallow range for high-amplitude editing)"
+msgstr "-36 dB  (小範圍,適用大振幅編輯)"
 
-#: prefs/FileFormatPrefs.cpp:116
-msgid "&Ask user"
-msgstr "詢問使用者(&A)"
+#: prefs/GUIPrefs.cpp:142
+msgid "-48 dB (PCM range of 8 bit samples)"
+msgstr "-48 dB (PCM 8bit 取樣範圍)"
 
-#: prefs/FileFormatPrefs.cpp:120
-msgid "When exporting tracks to an audio file"
-msgstr "當匯出音軌為音訊檔案時"
+#: prefs/GUIPrefs.cpp:143
+msgid "-60 dB (PCM range of 10 bit samples)"
+msgstr "-60 dB (PCM 10bit 取樣範圍)"
 
-#: prefs/FileFormatPrefs.cpp:123
-msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
-msgstr "總是將所有音軌混音成立體聲或單聲道。"
+#: prefs/GUIPrefs.cpp:144
+msgid "-96 dB (PCM range of 16 bit samples)"
+msgstr "-96 dB (PCM 16bit 取樣範圍)"
 
-#: prefs/FileFormatPrefs.cpp:124
-msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
-msgstr "使用自訂混音(舉例來說,匯出一個5.1聲道檔案)(&U)"
+#: prefs/GUIPrefs.cpp:145
+msgid "-120 dB (approximate limit of human hearing)"
+msgstr "-120 dB (接近人類聽力的極限)"
 
-#: prefs/FileFormatPrefs.cpp:126
-msgid "S&how Metadata Editor prior to export step"
-msgstr "在匯出前顯示標頭檔編輯器(&H)"
+#: prefs/GUIPrefs.cpp:146
+msgid "-145 dB (PCM range of 24 bit samples)"
+msgstr "-145 dB(PCM 24bit 取樣範圍)"
 
-#: prefs/GUIPrefs.cpp:34
-#: prefs/GUIPrefs.cpp:35
-msgid "Interface"
-msgstr "介面"
+#: prefs/SpectrumPrefs.cpp:140
+msgid "Display"
+msgstr "顯示"
 
-#: prefs/GUIPrefs.cpp:42
-msgid "In Browser"
-msgstr "瀏覽器"
+#: prefs/GUIPrefs.cpp:100
+msgid "Er&gonomic order of audio I/O buttons"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:43
-msgid "From Internet"
-msgstr "網路上的說明"
+#: prefs/GUIPrefs.cpp:101
+msgid "Show &welcome message at program start up"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:50
-msgid "Simple"
-msgstr "ç°¡å–®"
+#: prefs/GUIPrefs.cpp:109
+msgid "Meter/Waveform dB range:"
+msgstr ""
 
-#: prefs/GUIPrefs.cpp:94
-msgid "&Update display while playing"
-msgstr "在播放時更新顯示(&U)"
+#: prefs/GUIPrefs.cpp:169
+msgid "Help:"
+msgstr "說明:"
 
 #: prefs/GUIPrefs.cpp:96
 #, fuzzy
 msgid "Cl&osing last window quits Audacity"
 msgstr "關閉最後一個視窗時結束Audacity"
 
-#: prefs/GUIPrefs.cpp:98
-msgid "Enable &dragging of left and right selection edges"
-msgstr "允許拖動選取範圍左右兩端(&D)"
-
-#: prefs/GUIPrefs.cpp:100
-msgid "Er&gonomic order of audio I/O buttons"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:102
-msgid "Automatically &fit tracks vertically zoomed"
-msgstr "音軌垂直縮放至適當大小(&F)"
-
-#: prefs/GUIPrefs.cpp:104
-#, fuzzy
-msgid "\"Move track focus\" c&ycles repeatedly through tracks"
-msgstr "\"移動聚焦音軌\"循環移動音軌(&C)"
-
-#: prefs/GUIPrefs.cpp:106
-msgid "Editing a &clip can move other clips"
-msgstr "編輯片段使之可移動其他片段(&C)"
-
-#: prefs/GUIPrefs.cpp:108
-msgid "&Select all audio in project, if none selected"
-msgstr "若沒有選取任何音訊,則選取工程內所有音訊(&S)"
-
 #: prefs/GUIPrefs.cpp:110
 msgid "&Beep on completion of longer activities"
 msgstr "指令執行完成後發出提示聲(&B)"
 
-#: prefs/GUIPrefs.cpp:114
-msgid "Show / Hide"
-msgstr "顯示/隱藏"
-
-#: prefs/GUIPrefs.cpp:116
-msgid "Enable cut &lines"
-msgstr "開啟剪切線(&L)"
-
-#: prefs/GUIPrefs.cpp:118
-msgid "Show warnings about &temp files"
-msgstr "顯示關於暫存檔案的警告(&T)"
-
-#: prefs/GUIPrefs.cpp:120
-msgid "Show prompt to sa&ve, even if project is empty"
-msgstr ""
-
-#: prefs/GUIPrefs.cpp:122
-#, fuzzy
-msgid "Show &Welcome Message at program start up"
-msgstr "程式啟動時顯示歡迎訊息"
-
 #: prefs/GUIPrefs.cpp:126
 msgid "Modes"
 msgstr "模式"
 
+#: prefs/GUIPrefs.cpp:151
+msgid "Display VST effects in GUI mode"
+msgstr ""
+
 #: prefs/GUIPrefs.cpp:129
 msgid "Don't a&pply effects in batch mode"
 msgstr ""
 
-#: prefs/GUIPrefs.cpp:138
-msgid "Display range minimum: meters and 'Waveform (dB)'"
-msgstr "最小顯示範圍:儀表及\"波形(dB)\""
-
-#: prefs/GUIPrefs.cpp:141
-msgid "-36 dB (shallow range for high-amplitude editing)"
-msgstr "-36 dB  (小範圍,適用大振幅編輯)"
+#: prefs/FileFormatPrefs.cpp:48 prefs/FileFormatPrefs.cpp:49
+msgid "Import / Export"
+msgstr "匯入/匯出"
 
-#: prefs/GUIPrefs.cpp:142
-msgid "-48 dB (PCM range of 8 bit samples)"
-msgstr "-48 dB (PCM 8bit 取樣範圍)"
+#: prefs/FileFormatPrefs.cpp:100
+msgid "When importing audio files"
+msgstr "當Audacity匯入聲音檔案時"
 
-#: prefs/GUIPrefs.cpp:143
-msgid "-60 dB (PCM range of 10 bit samples)"
-msgstr "-60 dB (PCM 10bit 取樣範圍)"
+#: prefs/FileFormatPrefs.cpp:103
+msgid "&Make a copy of uncompressed audio files before editing (safer)"
+msgstr "在編輯前製作檔案備份(較安全)(&M)"
 
-#: prefs/GUIPrefs.cpp:144
-msgid "-96 dB (PCM range of 16 bit samples)"
-msgstr "-96 dB (PCM 16bit 取樣範圍)"
+#: prefs/FileFormatPrefs.cpp:104
+msgid "&Read uncompressed audio files directly from the original (faster)"
+msgstr "從原始檔案中直接讀取(快速)(&R)"
 
-#: prefs/GUIPrefs.cpp:145
-msgid "-120 dB (approximate limit of human hearing)"
-msgstr "-120 dB (接近人類聽力的極限)"
+#: prefs/FileFormatPrefs.cpp:106
+msgid "&Normalize all tracks in project"
+msgstr "將工程內所有音軌單位化(&n)"
 
-#: prefs/GUIPrefs.cpp:146
-msgid "-145 dB (PCM range of 24 bit samples)"
-msgstr "-145 dB(PCM 24bit 取樣範圍)"
+#: prefs/FileFormatPrefs.cpp:120
+msgid "When exporting tracks to an audio file"
+msgstr "當匯出音軌為音訊檔案時"
 
-#: prefs/GUIPrefs.cpp:151
-msgid "Default View Mode"
-msgstr "預設檢視模式"
+#: prefs/FileFormatPrefs.cpp:123
+msgid "A&lways mix all tracks down to Stereo or Mono channel(s)."
+msgstr "總是將所有音軌混音成立體聲或單聲道。"
 
-#: prefs/GUIPrefs.cpp:166
-msgid "Other interface choices"
-msgstr "其他介面選擇"
+#: prefs/FileFormatPrefs.cpp:124
+msgid "&Use custom mix (for example to export a 5.1 multichannel file)"
+msgstr "使用自訂混音(舉例來說,匯出一個5.1聲道檔案)(&U)"
 
-#: prefs/GUIPrefs.cpp:169
-msgid "Help:"
-msgstr "說明:"
+#: prefs/FileFormatPrefs.cpp:126
+msgid "S&how Metadata Editor prior to export step"
+msgstr "在匯出前顯示標頭檔編輯器(&H)"
 
-#: prefs/GUIPrefs.cpp:170
-msgid "Solo Button:"
-msgstr "獨奏按鈕:"
+#: prefs/ImportExportPrefs.cpp:84
+msgid "Note: Export quality options can be chosen by clicking the Options\n"
+"button in the Export dialog."
+msgstr ""
 
-#: prefs/KeyConfigPrefs.cpp:64
-#: prefs/KeyConfigPrefs.cpp:65
+#: prefs/KeyConfigPrefs.cpp:64 prefs/KeyConfigPrefs.cpp:65
 msgid "Keyboard"
 msgstr "鍵盤功能設定"
 
@@ -7896,22 +7643,26 @@ msgstr "設定(&E)"
 msgid "Note: Pressing Cmd+Q will quit. All other keys are valid."
 msgstr "注意:按Cmd+Q將結束。其它所有按鍵均有效。"
 
-#: prefs/KeyConfigPrefs.cpp:124
-#: prefs/ThemePrefs.cpp:105
+#: prefs/KeyConfigPrefs.cpp:124 prefs/ThemePrefs.cpp:105
 msgid "&Defaults"
 msgstr "預設值(&D)"
 
+#: prefs/KeyConfigPrefs.cpp:171
+msgid "Command"
+msgstr ""
+
 #: prefs/KeyConfigPrefs.cpp:143
 msgid "Key Combination"
 msgstr "按鍵組合"
 
-#: prefs/KeyConfigPrefs.cpp:163
-msgid "Export Keyboard Shortcuts As:"
-msgstr "匯出快速鍵為:"
+#: prefs/KeyConfigPrefs.cpp:367 toolbars/EditToolBar.cpp:144
+msgid "Undo"
+msgstr "復原"
 
-#: prefs/KeyConfigPrefs.cpp:181
-msgid "Error saving keyboard shortcuts"
-msgstr "儲存快速鍵錯誤"
+#: prefs/KeyConfigPrefs.cpp:199 toolbars/EditToolBar.cpp:145
+#: toolbars/EditToolBar.cpp:196
+msgid "Redo"
+msgstr ""
 
 #: prefs/KeyConfigPrefs.cpp:196
 msgid "Select an XML file containing Audacity keyboard shortcuts..."
@@ -7921,6 +7672,14 @@ msgstr "選取包含Audacity快速鍵定義的XML檔案..."
 msgid "Error loading keyboard shortcuts"
 msgstr "讀取快速鍵錯誤"
 
+#: prefs/KeyConfigPrefs.cpp:163
+msgid "Export Keyboard Shortcuts As:"
+msgstr "匯出快速鍵為:"
+
+#: prefs/KeyConfigPrefs.cpp:181
+msgid "Error saving keyboard shortcuts"
+msgstr "儲存快速鍵錯誤"
+
 #: prefs/KeyConfigPrefs.cpp:241
 #, c-format
 msgid "The keyboard shortcut '%s' is already assigned to:\n"
@@ -7929,10 +7688,61 @@ msgid "The keyboard shortcut '%s' is already assigned to:\n"
 msgstr "快速鍵'%s'已經指定為:\n"
 "'%s'"
 
-#: prefs/KeyConfigPrefs.cpp:367
-#: toolbars/EditToolBar.cpp:144
-msgid "Undo"
-msgstr "復原"
+#: prefs/LibraryPrefs.cpp:46
+msgid "Libraries"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:77
+msgid "MP3 Export Library"
+msgstr "MP3匯出程式庫"
+
+#: prefs/FileFormatPrefs.cpp:80
+msgid "MP3 Library Version:"
+msgstr "MP3程式庫版本:"
+
+#: prefs/FileFormatPrefs.cpp:86
+msgid "MP3 Library:"
+msgstr "MP3程式庫:"
+
+#: prefs/FileFormatPrefs.cpp:96 prefs/FileFormatPrefs.cpp:120
+msgid "&Locate..."
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:91
+msgid "LAME MP3 Library:"
+msgstr "LAME MP3程式庫:"
+
+#: prefs/FileFormatPrefs.cpp:94
+msgid "&Download"
+msgstr "下載(&D)"
+
+#: prefs/FileFormatPrefs.cpp:106
+msgid "FFmpeg Import/Export Library"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:109
+msgid "FFmpeg Library Version:"
+msgstr ""
+
+#: prefs/LibraryPrefs.cpp:112
+msgid "No compatible FFmpeg library was found"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:118 prefs/FileFormatPrefs.cpp:122
+msgid "FFmpeg Library:"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:41 prefs/AudioIOPrefs.cpp:42
+msgid "Audio I/O"
+msgstr "音訊 I/O"
+
+#: prefs/AudioIOPrefs.cpp:123
+msgid "Portaudio v"
+msgstr "Portaudio v"
+
+#: prefs/AudioIOPrefs.cpp:145
+msgid "Playthrough"
+msgstr "播放"
 
 #: prefs/AudioIOPrefs.cpp:147
 msgid "&Play other tracks while recording new one"
@@ -7946,6 +7756,10 @@ msgstr ""
 msgid "&Software Playthrough (Play new track while recording it)"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:170
+msgid "Cut Preview"
+msgstr "剪裁區域試聽"
+
 #: prefs/MidiIOPrefs.cpp:160
 msgid "Play before cut region:"
 msgstr ""
@@ -7954,6 +7768,10 @@ msgstr ""
 msgid "Play after cut region:"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:183
+msgid "Latency"
+msgstr "延遲"
+
 #: prefs/MidiIOPrefs.cpp:173
 msgid "Audio to buffer:"
 msgstr ""
@@ -7966,12 +7784,23 @@ msgstr ""
 msgid "Seek Time"
 msgstr ""
 
+#: prefs/AudioIOPrefs.cpp:200
+msgid "Short period:"
+msgstr "短區間:"
+
+#: prefs/AudioIOPrefs.cpp:202
+msgid "Long period:"
+msgstr "長區間:"
+
+#: prefs/AudioIOPrefs.cpp:162
+msgid "Effects Preview"
+msgstr "效果試聽"
+
 #: prefs/MidiIOPrefs.cpp:196
 msgid "Play when previewing:"
 msgstr ""
 
-#: prefs/MousePrefs.cpp:55
-#: prefs/MousePrefs.cpp:56
+#: prefs/MousePrefs.cpp:55 prefs/MousePrefs.cpp:56
 msgid "Mouse"
 msgstr "滑鼠功能表"
 
@@ -7991,37 +7820,26 @@ msgstr "命令動作"
 msgid "Buttons"
 msgstr "按鈕"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:117
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:117
 #: prefs/MousePrefs.cpp:122
 msgid "Left-Click"
 msgstr "左鍵點擊"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:100
-#: prefs/MousePrefs.cpp:101
-#: prefs/MousePrefs.cpp:102
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:100
+#: prefs/MousePrefs.cpp:101 prefs/MousePrefs.cpp:102
 msgid "Select"
 msgstr "選取"
 
-#: prefs/MousePrefs.cpp:98
-#: prefs/MousePrefs.cpp:122
+#: prefs/MousePrefs.cpp:98 prefs/MousePrefs.cpp:122
 msgid "Set Selection Point"
 msgstr "設定選取位置"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:111
-#: prefs/MousePrefs.cpp:115
-#: prefs/MousePrefs.cpp:119
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:111
+#: prefs/MousePrefs.cpp:115 prefs/MousePrefs.cpp:119 prefs/MousePrefs.cpp:123
 msgid "Left-Drag"
 msgstr "左鍵拖曳"
 
-#: prefs/MousePrefs.cpp:99
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:99 prefs/MousePrefs.cpp:123
 msgid "Set Selection Range"
 msgstr "設定選取範圍"
 
@@ -8049,12 +7867,8 @@ msgstr "按住CTRL鍵並以滑鼠左鍵點擊"
 msgid "Set Selection Point and Play"
 msgstr "設定選取位置並播放"
 
-#: prefs/MousePrefs.cpp:104
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:108
-#: prefs/MousePrefs.cpp:109
+#: prefs/MousePrefs.cpp:104 prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:106
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:108 prefs/MousePrefs.cpp:109
 msgid "Zoom"
 msgstr "縮放工具"
 
@@ -8062,9 +7876,7 @@ msgstr "縮放工具"
 msgid "Zoom in on Point"
 msgstr "以點為目標放大檢視"
 
-#: prefs/MousePrefs.cpp:105
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:105 prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Zoom in on a Range"
 msgstr "範圍放大"
 
@@ -8072,18 +7884,15 @@ msgstr "範圍放大"
 msgid "same as right-drag"
 msgstr "與右鍵拖曳相同"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Right-Click"
 msgstr "右鍵點選"
 
-#: prefs/MousePrefs.cpp:106
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:106 prefs/MousePrefs.cpp:124
 msgid "Zoom out one step"
 msgstr "縮小一級"
 
-#: prefs/MousePrefs.cpp:107
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:107 prefs/MousePrefs.cpp:125
 msgid "Right-Drag"
 msgstr "右鍵拖曳"
 
@@ -8119,8 +7928,7 @@ msgstr "Shift-Left-拖曳"
 msgid "Time shift all clips in track"
 msgstr "移動音軌中所有片段的時間"
 
-#: prefs/MousePrefs.cpp:113
-#: prefs/MousePrefs.cpp:120
+#: prefs/MousePrefs.cpp:113 prefs/MousePrefs.cpp:120
 msgid "Ctrl-Left-Drag"
 msgstr "Ctrl-Left-拖曳"
 
@@ -8136,9 +7944,7 @@ msgstr "變更波封線增幅"
 msgid "Change Sample"
 msgstr "變更取樣點"
 
-#: prefs/MousePrefs.cpp:117
-#: prefs/MousePrefs.cpp:118
-#: prefs/MousePrefs.cpp:119
+#: prefs/MousePrefs.cpp:117 prefs/MousePrefs.cpp:118 prefs/MousePrefs.cpp:119
 #: prefs/MousePrefs.cpp:120
 msgid "Pencil"
 msgstr "繪製工具"
@@ -8159,26 +7965,20 @@ msgstr "變更部分取樣點"
 msgid "Change ONE Sample only"
 msgstr "僅變更一處取樣點"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
-#: prefs/MousePrefs.cpp:124
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123 prefs/MousePrefs.cpp:124
 #: prefs/MousePrefs.cpp:125
 msgid "Multi"
 msgstr "複合工具"
 
-#: prefs/MousePrefs.cpp:122
-#: prefs/MousePrefs.cpp:123
+#: prefs/MousePrefs.cpp:122 prefs/MousePrefs.cpp:123
 msgid "same as select tool"
 msgstr "與選取工具相同"
 
-#: prefs/MousePrefs.cpp:124
-#: prefs/MousePrefs.cpp:125
+#: prefs/MousePrefs.cpp:124 prefs/MousePrefs.cpp:125
 msgid "same as zoom tool"
 msgstr "與縮放工具相同"
 
-#: prefs/MousePrefs.cpp:127
-#: prefs/MousePrefs.cpp:128
-#: prefs/MousePrefs.cpp:129
+#: prefs/MousePrefs.cpp:127 prefs/MousePrefs.cpp:128 prefs/MousePrefs.cpp:129
 msgid "Any"
 msgstr "任何工具"
 
@@ -8206,10 +8006,62 @@ msgstr "Ctrl-滾輪"
 msgid "Zoom in or out"
 msgstr "放大或縮小"
 
+#: prefs/AudioIOPrefs.cpp:165
+msgid "Length of preview:"
+msgstr "試聽長度:"
+
+#: prefs/AudioIOPrefs.cpp:173
+msgid "Preview before cut region:"
+msgstr "試聽剪裁區域前的部分:"
+
+#: prefs/AudioIOPrefs.cpp:175
+msgid "Preview after cut region:"
+msgstr "試聽剪裁區域後的部分:"
+
+#: prefs/AudioIOPrefs.cpp:197
+msgid "Seek Time when playing"
+msgstr "播放時搜索時間資訊"
+
 #: prefs/PrefsDialog.cpp:89
 msgid "Audacity Preferences"
 msgstr "Audacity 偏好設定"
 
+#: prefs/ProjectsPrefs.cpp:31
+msgid "Projects"
+msgstr ""
+
+#: prefs/FileFormatPrefs.cpp:111
+msgid "When saving a project that depends on other audio files"
+msgstr "當要儲存相依於其他音訊檔案的工程時"
+
+#: prefs/FileFormatPrefs.cpp:114
+msgid "Always &copy all audio into project (safest)"
+msgstr "總是複製所有音訊至工程內(最安全)(&C)"
+
+#: prefs/FileFormatPrefs.cpp:115
+msgid "&Do not copy any audio"
+msgstr "不要複製任何音訊(&D)"
+
+#: prefs/FileFormatPrefs.cpp:116
+msgid "&Ask user"
+msgstr "詢問使用者(&A)"
+
+#: prefs/DirectoriesPrefs.cpp:99
+msgid "Auto save"
+msgstr "自動儲存"
+
+#: prefs/DirectoriesPrefs.cpp:101
+msgid "Auto save a copy of the project in a separate folder"
+msgstr "自動將工程在獨立的資料夾另存一份"
+
+#: prefs/DirectoriesPrefs.cpp:104
+msgid "Auto save interval:"
+msgstr "自動儲存區間:"
+
+#: prefs/DirectoriesPrefs.cpp:105
+msgid "minutes"
+msgstr "分鐘"
+
 #: prefs/QualityPrefs.cpp:73
 msgid "Rectangle"
 msgstr "矩形"
@@ -8234,46 +8086,46 @@ msgstr "預設取樣頻率:"
 msgid "Default Sample Format:"
 msgstr "預設取樣格式:"
 
-#: prefs/QualityPrefs.cpp:136
-msgid "Real-time sample rate converter:"
-msgstr "即時取樣頻率轉換器:"
-
-#: prefs/QualityPrefs.cpp:139
-msgid "High-quality sample rate converter:"
-msgstr "高品質取樣頻率轉換器:"
-
-#: prefs/QualityPrefs.cpp:142
-msgid "Real-time dither:"
-msgstr "即時擾動(dither):"
-
-#: prefs/QualityPrefs.cpp:145
-msgid "High-quality dither:"
-msgstr "高品質擾動:"
-
-#: prefs/QualityPrefs.cpp:157
-msgid "Conversion"
-msgstr "轉換"
+#: prefs/QualityPrefs.cpp:165
+msgid "Real-time Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:163
-msgid "Sample Rate Converter"
+#: prefs/QualityPrefs.cpp:171 prefs/QualityPrefs.cpp:193
+#, fuzzy
+msgid "Sample Rate Converter:"
 msgstr "取樣頻率轉換器"
 
 #: prefs/QualityPrefs.cpp:164
 msgid "Dither"
 msgstr "擾動"
 
-#: prefs/QualityPrefs.cpp:165
-msgid "Real-time:"
-msgstr "即時:"
+#: prefs/QualityPrefs.cpp:189
+msgid "High-quality Conversion"
+msgstr ""
 
-#: prefs/QualityPrefs.cpp:171
-msgid "High-quality:"
-msgstr "高品質:"
+#: prefs/AudioIOPrefs.cpp:149
+msgid "Overdub: &Play other tracks while recording new one"
+msgstr ""
 
-#: prefs/SmartRecordPrefs.cpp:54
-#: prefs/SmartRecordPrefs.cpp:55
-msgid "Smart Recording"
-msgstr "智慧錄製"
+#: prefs/AudioIOPrefs.cpp:150
+msgid "&Hardware Playthrough: Play new track while recording it"
+msgstr "硬體播放(&H):在錄音時播放新建的音軌"
+
+#: prefs/AudioIOPrefs.cpp:157
+msgid "&Software Playthrough: Play new track while recording or monitoring"
+msgstr ""
+
+#: prefs/AudioIOPrefs.cpp:160
+msgid "(uncheck when recording \"stereo mix\")"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:86
+msgid "milliseconds (higher = more latency)"
+msgstr ""
+
+#: prefs/RecordingPrefs.cpp:92
+msgid "milliseconds (negative = backwards)"
+msgstr ""
 
 #: prefs/SmartRecordPrefs.cpp:64 prefs/SmartRecordPrefs.cpp:66
 msgid "Sound Activated Recording"
@@ -8283,23 +8135,58 @@ msgstr ""
 msgid "Sound Activation Level (dB):"
 msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:41
-#: prefs/SpectrumPrefs.cpp:42
+#: prefs/SpectrumPrefs.cpp:41 prefs/SpectrumPrefs.cpp:42
 msgid "Spectrograms"
 msgstr "聲譜圖"
 
-#: prefs/SpectrumPrefs.cpp:91
-msgid "FFT Size"
-msgstr "FFT的取樣點數"
-
 #: prefs/SpectrumPrefs.cpp:94
 msgid "8 - most wideband"
 msgstr "8 - 頻寬最寬"
 
+#: prefs/SpectrumPrefs.cpp:42
+msgid "16"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:43
+msgid "32"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:44
+msgid "64"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:45
+msgid "128"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:99
 msgid "256 - default"
 msgstr "256 - 預設值"
 
+#: prefs/SpectrumPrefs.cpp:47
+msgid "512"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:48
+msgid "1024"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:49
+msgid "2048"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:51
+msgid "4096"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:52
+msgid "8192"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:53
+msgid "16384"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:107
 msgid "32768 - most narrowband"
 msgstr "32768 - 頻寬最窄"
@@ -8308,21 +8195,26 @@ msgstr "32768 - 頻寬最窄"
 msgid "4096 - most narrowband"
 msgstr "4096 - 頻寬最窄"
 
-#: prefs/SpectrumPrefs.cpp:116
-msgid "Window type:"
+#: prefs/SpectrumPrefs.cpp:82
+msgid "FFT Window"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:86
+msgid "Window size"
+msgstr ""
+
+#: prefs/SpectrumPrefs.cpp:93
+#, fuzzy
+msgid "Window type"
 msgstr "FFT Window類型:"
 
 #: prefs/SpectrumPrefs.cpp:125
 msgid "FFT Skip Points"
 msgstr "FFT忽略點"
 
-#: prefs/SpectrumPrefs.cpp:140
-msgid "Display"
-msgstr "顯示"
-
-#: prefs/SpectrumPrefs.cpp:144
-msgid "&Grayscale"
-msgstr "灰階(&G)"
+#: prefs/SpectrumPrefs.cpp:117
+msgid "Skip Points"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:147
 msgid "Minimum Frequency (Hz):"
@@ -8332,17 +8224,17 @@ msgstr "最低頻率 (Hz):"
 msgid "Maximum Frequency (Hz):"
 msgstr "最高頻率 (Hz):"
 
-#: prefs/SpectrumPrefs.cpp:158
-msgid "&Y-Grid"
-msgstr "&Y-網格"
+#: prefs/SpectrumPrefs.cpp:147
+msgid "Show the spectrum using &grayscale colors"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:161
-msgid "&Find Notes"
-msgstr "尋找註解(&F)"
+#: prefs/SpectrumPrefs.cpp:152
+msgid "Show a grid along the &Y-axis"
+msgstr ""
 
-#: prefs/SpectrumPrefs.cpp:162
-msgid "&Quantize Notes"
-msgstr "量化註解(&Q)"
+#: prefs/SpectrumPrefs.cpp:160
+msgid "FFT Find Notes"
+msgstr ""
 
 #: prefs/SpectrumPrefs.cpp:165
 msgid "Minimum Amplitude (dB):"
@@ -8352,6 +8244,14 @@ msgstr "最低振幅(dB):"
 msgid "Max. Number of Notes (1..128):"
 msgstr "註解最大數目(1-128):"
 
+#: prefs/SpectrumPrefs.cpp:161
+msgid "&Find Notes"
+msgstr "尋找註解(&F)"
+
+#: prefs/SpectrumPrefs.cpp:162
+msgid "&Quantize Notes"
+msgstr "量化註解(&Q)"
+
 #: prefs/SpectrumPrefs.cpp:197
 msgid "The maximum frequency must be an integer"
 msgstr "最大頻率值必須是整數。"
@@ -8368,20 +8268,68 @@ msgstr "最低頻率值必須是整數。"
 msgid "Minimum frequency must be at least 0 Hz"
 msgstr "最低頻率最少為0 Hz"
 
+#: prefs/SpectrumPrefs.cpp:213
+msgid "Minimum frequency must be less than maximum frequency"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:220
 msgid "The minimum amplitude (dB) must be an integer"
 msgstr "最低振幅(dB)必須是整數。"
 
 #: prefs/SpectrumPrefs.cpp:226
+msgid "The maximum number of notes must be an integer"
+msgstr ""
+
 #: prefs/SpectrumPrefs.cpp:230
-msgid "The Maximum Number of Notes must be an integer in the range 1..128"
-msgstr "最大頻率值必須是1-128之間的整數。"
+msgid "The maximum number of notes must be in the range 1..128"
+msgstr ""
 
-#: prefs/ThemePrefs.cpp:62
-#: prefs/ThemePrefs.cpp:63
+#: prefs/ThemePrefs.cpp:62 prefs/ThemePrefs.cpp:63
 msgid "Theme"
 msgstr "佈景"
 
+#: prefs/ThemePrefs.cpp:126
+msgid "Info"
+msgstr "資訊"
+
+#: prefs/ThemePrefs.cpp:91
+#, fuzzy
+msgid "Themability is an experimental feature.\n"
+"\n"
+"To try it out, click \"Save Theme Cache\" then find and modify the images and colors in\n"
+"ImageCacheVxx.png using an image editor such as the Gimp.\n"
+"\n"
+"Click \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n"
+"\n"
+"[Only the control toolbar and the colors on the wavetrack are currently affected, even\n"
+"though the image file shows other icons too.]"
+msgstr "佈景是一個實驗性的功能。\n"
+"\n"
+"點\"儲存佈景快取\",\n"
+"然後用影像處理軟體,如GIMP,\n"
+"來尋找並修改ImageCacheVxx.png的影像及顏色。\n"
+"\n"
+"點\"載入佈景快取\",來載入修改好的影像\n"
+"及顏色來回到Audacity。\n"
+"\n"
+"[只有控制工具列及音軌的顏色可以改變,\n"
+"若影像檔案顯示其他的工具列圖示,仍然無效。]"
+
+#: prefs/ThemePrefs.cpp:96
+msgid "You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\n"
+"C version of the image cache that can be compiled in as a default."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:101
+msgid "If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\n"
+"when the program starts up."
+msgstr ""
+
+#: prefs/ThemePrefs.cpp:104
+msgid "Saving and loading individual theme files uses a separate file for each image, but is\n"
+"otherwise the same idea."
+msgstr ""
+
 #. i18n-hint: && in here is an escape character to get a single & on screen,
 #. * so keep it as is
 #: prefs/ThemePrefs.cpp:93
@@ -8412,96 +8360,97 @@ msgstr "儲存檔案"
 msgid "Load Files"
 msgstr "載入檔案"
 
-#: prefs/ThemePrefs.cpp:126
-msgid "Info"
-msgstr "資訊"
+#: prefs/GUIPrefs.cpp:50
+msgid "Simple"
+msgstr "ç°¡å–®"
 
-#: prefs/ThemePrefs.cpp:129
-msgid "Themability is an experimental feature.\n"
-"\n"
-"To try it out, click \"Save Theme Cache\" then\n"
-"find and modify the images and colors in \n"
-"ImageCacheVxx.png using an image editor such \n"
-"as the Gimp.\n"
-"\n"
-"Click \"Load Theme Cache\" to load the changed images\n"
-"and colors back into Audacity.\n"
-"\n"
-"[Only the control toolbar and the colors on the \n"
-"wavetrack are currently affected, even though the\n"
-"image file shows other icons too.]\n"
-msgstr "佈景是一個實驗性的功能。\n"
-"\n"
-"點\"儲存佈景快取\",\n"
-"然後用影像處理軟體,如GIMP,\n"
-"來尋找並修改ImageCacheVxx.png的影像及顏色。\n"
-"\n"
-"點\"載入佈景快取\",來載入修改好的影像\n"
-"及顏色來回到Audacity。\n"
-"\n"
-"[只有控制工具列及音軌的顏色可以改變,\n"
-"若影像檔案顯示其他的工具列圖示,仍然無效。]\n"
-
-#: prefs/ThemePrefs.cpp:134
-msgid "You have compiled Audacity with an extra button, \n"
-"'Output Sourcery'.  This will save a C version of \n"
-"the image cache that can be compiled in as a default.\n"
-msgstr "您將額外的按鈕'Output Sourcery'編譯進Audacity。\n"
-
-#: prefs/ThemePrefs.cpp:139
-msgid "If 'Load Theme Cache At Startup' is checked, then \n"
-"the Theme Cache will be loaded when the program \n"
-"starts up.\n"
-"\n"
-msgstr "若選擇'啟動時載入佈景快取',\n"
-"則每次當程式開啟時,\n"
-"都會載入佈景快取。\n"
-"\n"
+#: prefs/GUIPrefs.cpp:94
+msgid "&Update display while playing"
+msgstr "在播放時更新顯示(&U)"
 
-#: prefs/ThemePrefs.cpp:142
-msgid "Saving and loading individual theme files uses a \n"
-"separate file for each image, but is otherwise the \n"
-"same idea.\n"
-"\n"
-msgstr "儲存及載入佈景檔案的影像使用\n"
-"分開的檔案,\n"
-"不過是相同的主意。\n"
-"\n"
+#: prefs/GUIPrefs.cpp:102
+msgid "Automatically &fit tracks vertically zoomed"
+msgstr "音軌垂直縮放至適當大小(&F)"
 
-#: toolbars/ControlToolBar.cpp:174
-msgid "Pause"
-msgstr "暫停"
+#: prefs/TracksPrefs.cpp:88
+#, fuzzy
+msgid "Default View Mode:"
+msgstr "預設檢視模式"
 
-#: toolbars/ControlToolBar.cpp:177
-msgid "Play"
-msgstr "播放"
+#: prefs/GUIPrefs.cpp:108
+msgid "&Select all audio in project, if none selected"
+msgstr "若沒有選取任何音訊,則選取工程內所有音訊(&S)"
 
-#: toolbars/ControlToolBar.cpp:178
-msgid "Play (Shift for Loop Play)"
+#: prefs/GUIPrefs.cpp:116
+msgid "Enable cut &lines"
+msgstr "開啟剪切線(&L)"
+
+#: prefs/GUIPrefs.cpp:98
+msgid "Enable &dragging of left and right selection edges"
+msgstr "允許拖動選取範圍左右兩端(&D)"
+
+#: prefs/GUIPrefs.cpp:104
+#, fuzzy
+msgid "\"Move track focus\" c&ycles repeatedly through tracks"
+msgstr "\"移動聚焦音軌\"循環移動音軌(&C)"
+
+#: prefs/GUIPrefs.cpp:106
+msgid "Editing a &clip can move other clips"
+msgstr "編輯片段使之可移動其他片段(&C)"
+
+#: prefs/GUIPrefs.cpp:170
+msgid "Solo Button:"
+msgstr "獨奏按鈕:"
+
+#: prefs/WarningsPrefs.cpp:31
+msgid "Warnings"
 msgstr ""
 
-#: toolbars/ControlToolBar.cpp:182
-msgid "Stop"
-msgstr "停止"
+#: prefs/WarningsPrefs.cpp:55
+msgid "Show Warnings/Prompts"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:185
-msgid "Skip to Start"
-msgstr "跳至起始點"
+#: prefs/WarningsPrefs.cpp:57
+msgid "When saving &projects"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:188
-msgid "Skip to End"
-msgstr "跳至結束點"
+#: prefs/WarningsPrefs.cpp:60
+msgid "When saving &empty project"
+msgstr ""
 
-#: toolbars/ControlToolBar.cpp:192
-msgid "Record (Shift for Append Record)"
+#: prefs/WarningsPrefs.cpp:63
+msgid "When &disk space is getting low"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:66
+msgid "When mixing down to &stereo during export"
+msgstr ""
+
+#: prefs/WarningsPrefs.cpp:69
+msgid "When mixing down to &mono during export"
 msgstr ""
 
+#: Menus.cpp:786
+msgid "Pause"
+msgstr "暫停"
+
+#: Menus.cpp:785
+msgid "Stop"
+msgstr "停止"
+
 #: toolbars/ControlToolBar.cpp:194
 msgid "Clean Speech"
 msgstr "清除人聲"
 
-#: toolbars/ControlToolBar.cpp:530
-#: toolbars/ControlToolBar.cpp:844
+#: toolbars/ControlToolBar.cpp:178
+msgid "Play (Shift for Loop Play)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:192
+msgid "Record (Shift for Append Record)"
+msgstr ""
+
+#: toolbars/ControlToolBar.cpp:530 toolbars/ControlToolBar.cpp:844
 msgid "Error while opening sound device. "
 msgstr "開啟音訊裝置錯誤。"
 
@@ -8513,13 +8462,11 @@ msgstr "當音軌或一個以上的工程開啟時,無法以清除人聲的模
 msgid "Recording not permitted"
 msgstr "不允許錄音"
 
-#: toolbars/DeviceToolBar.cpp:113
-#: toolbars/DeviceToolBar.cpp:115
+#: toolbars/DeviceToolBar.cpp:113 toolbars/DeviceToolBar.cpp:115
 msgid "Output Device"
 msgstr "輸出裝置"
 
-#: toolbars/DeviceToolBar.cpp:134
-#: toolbars/DeviceToolBar.cpp:136
+#: toolbars/DeviceToolBar.cpp:134 toolbars/DeviceToolBar.cpp:136
 msgid "Input Device"
 msgstr "輸入裝置"
 
@@ -8543,29 +8490,21 @@ msgstr "放大"
 msgid "Zoom Out"
 msgstr "縮小"
 
-#: toolbars/EditToolBar.cpp:156
-msgid "Zoom Toggle"
-msgstr "鎖定縮放倍率"
-
-#: toolbars/EditToolBar.cpp:160
-msgid "Fit Selection"
-msgstr "適合選取範圍"
-
 #: toolbars/EditToolBar.cpp:160
 msgid "Fit selection in window"
 msgstr "選取範圍適合視窗大小"
 
 #: toolbars/EditToolBar.cpp:162
-msgid "Fit Project"
-msgstr "適合工程"
-
-#: toolbars/EditToolBar.cpp:162
 msgid "Fit project in window"
 msgstr "成音工程適合視窗大小"
 
-#: toolbars/MeterToolBar.cpp:50
-msgid "Meter"
-msgstr "儀表工具列"
+#: toolbars/EditToolBar.cpp:160
+msgid "Fit Selection"
+msgstr "適合選取範圍"
+
+#: toolbars/EditToolBar.cpp:162
+msgid "Fit Project"
+msgstr "適合工程"
 
 #: toolbars/MeterToolBar.cpp:80
 msgid "Play Meter"
@@ -8613,22 +8552,27 @@ msgstr "æ·¡å…¥"
 msgid "Input Source"
 msgstr "輸入來源"
 
+#: toolbars/MixerToolBar.cpp:299
+msgid "Input source information is not available."
+msgstr ""
+
+#: toolbars/MixerToolBar.cpp:306
+msgid "Select Input Source"
+msgstr ""
+
 #: toolbars/SelectionBar.cpp:80
 msgid "Selection"
 msgstr "選取範圍"
 
-#: toolbars/SelectionBar.cpp:128
-#: toolbars/SelectionBar.cpp:185
+#: toolbars/SelectionBar.cpp:128 toolbars/SelectionBar.cpp:185
 msgid "Project Rate (Hz):"
 msgstr "成音工程速率(Hz):"
 
-#: toolbars/SelectionBar.cpp:142
-#: toolbars/SelectionBar.cpp:247
+#: toolbars/SelectionBar.cpp:142 toolbars/SelectionBar.cpp:247
 msgid "Selection Start:"
 msgstr "選取範圍起點"
 
-#: toolbars/SelectionBar.cpp:155
-#: toolbars/SelectionBar.cpp:253
+#: toolbars/SelectionBar.cpp:155 toolbars/SelectionBar.cpp:253
 msgid "Length"
 msgstr "時間長度"
 
@@ -8636,13 +8580,11 @@ msgstr "時間長度"
 msgid "hidden"
 msgstr "隱藏"
 
-#: toolbars/SelectionBar.cpp:175
-#: toolbars/SelectionBar.cpp:264
+#: toolbars/SelectionBar.cpp:175 toolbars/SelectionBar.cpp:264
 msgid "Audio Position:"
 msgstr "播放時間位置:"
 
-#: toolbars/SelectionBar.cpp:225
-#: toolbars/SelectionBar.cpp:230
+#: toolbars/SelectionBar.cpp:225 toolbars/SelectionBar.cpp:230
 msgid "Snap To"
 msgstr "滑扣至"
 
@@ -8663,8 +8605,7 @@ msgstr "選取範圍終點"
 msgid "Audacity %s ToolBar"
 msgstr "Audacity %s編輯工具列"
 
-#: toolbars/ToolDock.cpp:74
-#: toolbars/ToolDock.cpp:75
+#: toolbars/ToolDock.cpp:74 toolbars/ToolDock.cpp:75
 msgid "ToolDock"
 msgstr "工具停駐"
 
@@ -8696,36 +8637,6 @@ msgstr "滑鼠左鍵=放大,右鍵=縮小,中鍵=正常"
 msgid "Click and drag to move a track in time"
 msgstr "單擊拖曳以移動時間範圍內的音軌。"
 
-#: toolbars/ToolsToolBar.cpp:90
-msgid "Tools"
-msgstr "工具"
-
-# 按下此按鈕後,可以用拖曳法建立音波選取區,以進行編輯工作。
-#: toolbars/ToolsToolBar.cpp:147
-#: toolbars/ToolsToolBar.cpp:182
-msgid "Selection Tool"
-msgstr "選取工具"
-
-#: toolbars/ToolsToolBar.cpp:148
-msgid "Envelope Tool"
-msgstr "波封工具"
-
-# 按下此按鈕後,可以用拖曳法將整音效檔的時間往前/往後移動。
-#: toolbars/ToolsToolBar.cpp:149
-#: toolbars/ToolsToolBar.cpp:183
-msgid "Time Shift Tool"
-msgstr "時間移位工具"
-
-#: toolbars/ToolsToolBar.cpp:150
-#: toolbars/ToolsToolBar.cpp:185
-msgid "Zoom Tool"
-msgstr "縮放工具"
-
-#: toolbars/ToolsToolBar.cpp:151
-#: toolbars/ToolsToolBar.cpp:184
-msgid "Draw Tool"
-msgstr "拖拉工具"
-
 #: toolbars/ToolsToolBar.cpp:152
 msgid "Multi-Tool Mode"
 msgstr "複合工具模式"
@@ -8735,24 +8646,11 @@ msgstr "複合工具模式"
 msgid "Slide Tool"
 msgstr "滑動工具"
 
-#: toolbars/ToolsToolBar.cpp:187
-msgid "Multi Tool"
-msgstr "複合工具"
-
-#: toolbars/TranscriptionToolBar.cpp:84
-msgid "Transcription"
-msgstr "錄音"
-
 #: toolbars/TranscriptionToolBar.cpp:171
 msgid "Play at selected speed"
 msgstr "以選定速度播放"
 
-#: toolbars/TranscriptionToolBar.cpp:172
-msgid "Play-at-speed"
-msgstr "播放速度"
-
-#: toolbars/TranscriptionToolBar.cpp:178
-#: toolbars/TranscriptionToolBar.cpp:183
+#: toolbars/TranscriptionToolBar.cpp:178 toolbars/TranscriptionToolBar.cpp:183
 msgid "Playback Speed"
 msgstr "播放速度"
 
@@ -8760,74 +8658,38 @@ msgstr "播放速度"
 msgid "Adjust left selection to next onset"
 msgstr "調整左選段至下一個起點"
 
-#: toolbars/TranscriptionToolBar.cpp:197
-msgid "Left-to-On"
-msgstr "Left-to-On"
-
 #: toolbars/TranscriptionToolBar.cpp:199
 msgid "Adjust right selection to previous offset"
 msgstr "調整右選段至前一個結束點"
 
-#: toolbars/TranscriptionToolBar.cpp:200
-msgid "Right-to-Off"
-msgstr "Right-to-Off"
-
 #: toolbars/TranscriptionToolBar.cpp:202
 msgid "Adjust left selection to next offset"
 msgstr "調整左選段至下一個結束點"
 
-#: toolbars/TranscriptionToolBar.cpp:203
-msgid "Left-to-Off"
-msgstr "Left-to-Off"
-
 #: toolbars/TranscriptionToolBar.cpp:205
 msgid "Adjust right selection to previous onset"
 msgstr "調整右選段至前一個起點"
 
-#: toolbars/TranscriptionToolBar.cpp:206
-msgid "Right-to-On"
-msgstr "Right-to-On"
-
 #: toolbars/TranscriptionToolBar.cpp:208
 msgid "Select region of sound around cursor"
 msgstr "選取游標附近有聲音的區域"
 
-#: toolbars/TranscriptionToolBar.cpp:209
-msgid "Select-Sound"
-msgstr "選擇聲音"
-
 #: toolbars/TranscriptionToolBar.cpp:211
 msgid "Select region of silence around cursor"
 msgstr "選取游標附近無聲音的區域"
 
-#: toolbars/TranscriptionToolBar.cpp:212
-msgid "Select-Silence"
-msgstr "選擇靜音"
-
 #: toolbars/TranscriptionToolBar.cpp:214
 msgid "Automatically make labels from words"
 msgstr "將字詞自動加入標籤"
 
-#: toolbars/TranscriptionToolBar.cpp:215
-msgid "Make Labels"
-msgstr "產生標籤"
-
 #: toolbars/TranscriptionToolBar.cpp:217
 msgid "Add label at selection"
 msgstr "在選取範圍加上標籤"
 
-#: toolbars/TranscriptionToolBar.cpp:218
-msgid "Add Label"
-msgstr "新增標籤"
-
 #: toolbars/TranscriptionToolBar.cpp:220
 msgid "Calibrate voicekey"
 msgstr "校準音調"
 
-#: toolbars/TranscriptionToolBar.cpp:221
-msgid "Calibrate"
-msgstr "校準"
-
 #: toolbars/TranscriptionToolBar.cpp:225
 msgid "Adjust Sensitivity"
 msgstr "調整靈敏度"
@@ -8860,6 +8722,46 @@ msgstr "直接變更(高門檻)"
 msgid "Key type"
 msgstr "關鍵類型"
 
+#: toolbars/TranscriptionToolBar.cpp:172
+msgid "Play-at-speed"
+msgstr "播放速度"
+
+#: toolbars/TranscriptionToolBar.cpp:197
+msgid "Left-to-On"
+msgstr "Left-to-On"
+
+#: toolbars/TranscriptionToolBar.cpp:200
+msgid "Right-to-Off"
+msgstr "Right-to-Off"
+
+#: toolbars/TranscriptionToolBar.cpp:203
+msgid "Left-to-Off"
+msgstr "Left-to-Off"
+
+#: toolbars/TranscriptionToolBar.cpp:206
+msgid "Right-to-On"
+msgstr "Right-to-On"
+
+#: toolbars/TranscriptionToolBar.cpp:209
+msgid "Select-Sound"
+msgstr "選擇聲音"
+
+#: toolbars/TranscriptionToolBar.cpp:212
+msgid "Select-Silence"
+msgstr "選擇靜音"
+
+#: toolbars/TranscriptionToolBar.cpp:215
+msgid "Make Labels"
+msgstr "產生標籤"
+
+#: toolbars/TranscriptionToolBar.cpp:218
+msgid "Add Label"
+msgstr "新增標籤"
+
+#: toolbars/TranscriptionToolBar.cpp:221
+msgid "Calibrate"
+msgstr "校準"
+
 #: widgets/AButton.cpp:302
 msgid " (disabled)"
 msgstr " (停用)"
@@ -8874,15 +8776,13 @@ msgstr "按鈕"
 
 #. i18n-hint: One-letter abbreviation for Left, in VU Meter
 #. i18n-hint: One-letter abbreviation for Left, in the Pan slider
-#: widgets/ASlider.cpp:604
-#: widgets/Meter.cpp:212
+#: widgets/ASlider.cpp:604 widgets/Meter.cpp:212
 msgid "L"
 msgstr "å·¦"
 
 #. i18n-hint: One-letter abbreviation for Right, in VU Meter
 #. i18n-hint: One-letter abbreviation for Right, in the Pan slider
-#: widgets/ASlider.cpp:607
-#: widgets/Meter.cpp:214
+#: widgets/ASlider.cpp:607 widgets/Meter.cpp:214
 msgid "R"
 msgstr "右"
 
@@ -8898,8 +8798,7 @@ msgstr "左聲道"
 msgid "Right"
 msgstr "右聲道"
 
-#: widgets/ErrorDialog.cpp:78
-#: widgets/ErrorDialog.cpp:102
+#: widgets/ErrorDialog.cpp:78 widgets/ErrorDialog.cpp:102
 msgid "Help"
 msgstr "說明(&H)"
 
@@ -8932,8 +8831,7 @@ msgstr "擷取器"
 msgid "%d rows, %d columns"
 msgstr "%d列,%d行"
 
-#: widgets/Grid.cpp:649
-#: widgets/Grid.cpp:776
+#: widgets/Grid.cpp:649 widgets/Grid.cpp:776
 #, c-format
 msgid "Row %d"
 msgstr "列%d"
@@ -9012,8 +8910,7 @@ msgstr ""
 msgid "Cancel"
 msgstr ""
 
-#: widgets/Ruler.cpp:1478
-#: widgets/Ruler.cpp:1479
+#: widgets/Ruler.cpp:1478 widgets/Ruler.cpp:1479
 msgid "Vertical Ruler"
 msgstr "垂直尺規"
 
@@ -9257,3 +9154,15 @@ msgstr ""
 msgid "Could not load file: \"%s\""
 msgstr "無法載入檔案: \"%s\""
 
+#: xml/XMLWriter.cpp:325
+msgid "Error flushing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:330
+msgid "Error closing file"
+msgstr ""
+
+#: xml/XMLWriter.cpp:340
+msgid "Error writing to file"
+msgstr ""
+
diff --git a/ltconfig b/ltconfig
deleted file mode 100755
index 65ec6f6..0000000
--- a/ltconfig
+++ /dev/null
@@ -1,3017 +0,0 @@
-#! /bin/sh
-
-# ltconfig - Create a system-specific libtool.
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A lot of this script is taken from autoconf-2.10.
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-echo=echo
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# Find the correct PATH separator.  Usually this is `:', but
-# DJGPP uses `;' like DOS.
-if test "X${PATH_SEPARATOR+set}" != "Xset"; then
-  UNAME=${UNAME-`uname 2>/dev/null`}
-  case X$UNAME in
-    *-DOS) PATH_SEPARATOR=';' ;;
-    *)     PATH_SEPARATOR=':' ;;
-  esac
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
-
-if test "X${echo_test_string+set}" != "Xset"; then
-  # find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
-   test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH /usr/ucb; do
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running ltconfig again with it.
-      ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
-    else
-      # Try using printf.
-      echo='printf "%s\n"'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-	   test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-	   test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "$0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# The name of this program.
-progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
-
-# Constants:
-PROGRAM=ltconfig
-PACKAGE=libtool
-VERSION=1.3.3
-TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
-rm="rm -f"
-
-help="Try \`$progname --help' for more information."
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-enable_shared=yes
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-enable_static=yes
-enable_fast_install=yes
-enable_dlopen=unknown
-enable_win32_dll=no
-ltmain=
-silent=
-srcdir=
-ac_config_guess=
-ac_config_sub=
-host=
-nonopt=
-ofile="$default_ofile"
-verify_host=yes
-with_gcc=no
-with_gnu_ld=no
-need_locks=yes
-ac_ext=c
-objext=o
-libext=a
-exeext=
-cache_file=
-
-old_AR="$AR"
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-old_CPPFLAGS="$CPPFLAGS"
-old_LDFLAGS="$LDFLAGS"
-old_LD="$LD"
-old_LN_S="$LN_S"
-old_LIBS="$LIBS"
-old_NM="$NM"
-old_RANLIB="$RANLIB"
-old_DLLTOOL="$DLLTOOL"
-old_OBJDUMP="$OBJDUMP"
-old_AS="$AS"
-
-# Parse the command line options.
-args=
-prev=
-for option
-do
-  case "$option" in
-  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    eval "$prev=\$option"
-    prev=
-    continue
-  fi
-
-  case "$option" in
-  --help) cat <<EOM
-Usage: $progname [OPTION]... [HOST [LTMAIN]]
-
-Generate a system-specific libtool script.
-
-    --debug                enable verbose shell tracing
-    --disable-shared       do not build shared libraries
-    --disable-static       do not build static libraries
-    --disable-fast-install do not optimize for fast installation
-    --enable-dlopen        enable dlopen support
-    --enable-win32-dll     enable building dlls on win32 hosts
-    --help                 display this help and exit
-    --no-verify            do not verify that HOST is a valid host type
--o, --output=FILE          specify the output file [default=$default_ofile]
-    --quiet                same as \`--silent'
-    --silent               do not print informational messages
-    --srcdir=DIR           find \`config.guess' in DIR
-    --version              output version information and exit
-    --with-gcc             assume that the GNU C compiler will be used
-    --with-gnu-ld          assume that the C compiler uses the GNU linker
-    --disable-lock         disable file locking
-    --cache-file=FILE      configure cache file
-
-LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
-that provides basic libtool functionality.
-
-HOST is the canonical host system name [default=guessed].
-EOM
-  exit 0
-  ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --disable-shared) enable_shared=no ;;
-
-  --disable-static) enable_static=no ;;
-
-  --disable-fast-install) enable_fast_install=no ;;
-
-  --enable-dlopen) enable_dlopen=yes ;;
-
-  --enable-win32-dll) enable_win32_dll=yes ;;
-
-  --quiet | --silent) silent=yes ;;
-
-  --srcdir) prev=srcdir ;;
-  --srcdir=*) srcdir="$optarg" ;;
-
-  --no-verify) verify_host=no ;;
-
-  --output | -o) prev=ofile ;;
-  --output=*) ofile="$optarg" ;;
-
-  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
-
-  --with-gcc) with_gcc=yes ;;
-  --with-gnu-ld) with_gnu_ld=yes ;;
-
-  --disable-lock) need_locks=no ;;
-
-  --cache-file=*) cache_file="$optarg" ;;
-
-  -*)
-    echo "$progname: unrecognized option \`$option'" 1>&2
-    echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    if test -z "$ltmain"; then
-      ltmain="$option"
-    elif test -z "$host"; then
-# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
-#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
-#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
-#      fi
-      host="$option"
-    else
-      echo "$progname: too many arguments" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-done
-
-if test -z "$ltmain"; then
-  echo "$progname: you must specify a LTMAIN file" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-if test ! -f "$ltmain"; then
-  echo "$progname: \`$ltmain' does not exist" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-# Quote any args containing shell metacharacters.
-ltconfig_args=
-for arg
-do
-  case "$arg" in
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ltconfig_args="$ltconfig_args '$arg'" ;;
-  *) ltconfig_args="$ltconfig_args $arg" ;;
-  esac
-done
-
-# A relevant subset of AC_INIT.
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 compiler messages saved in config.log
-# 6 checking for... messages and results
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>>./config.log
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-
-if test -n "$cache_file" && test -r "$cache_file"; then
-  echo "loading cache $cache_file within ltconfig"
-  . $cache_file
-fi
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-if test -z "$srcdir"; then
-  # Assume the source directory is the same one as the path to LTMAIN.
-  srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
-  test "$srcdir" = "$ltmain" && srcdir=.
-fi
-
-trap "$rm conftest*; exit 1" 1 2 15
-if test "$verify_host" = yes; then
-  # Check for config.guess and config.sub.
-  ac_aux_dir=
-  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-    if test -f $ac_dir/config.guess; then
-      ac_aux_dir=$ac_dir
-      break
-    fi
-  done
-  if test -z "$ac_aux_dir"; then
-    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-  ac_config_guess=$ac_aux_dir/config.guess
-  ac_config_sub=$ac_aux_dir/config.sub
-
-  # Make sure we can run config.sub.
-  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
-  else
-    echo "$progname: cannot run $ac_config_sub" 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-
-  echo $ac_n "checking host system type""... $ac_c" 1>&6
-
-  host_alias=$host
-  case "$host_alias" in
-  "")
-    if host_alias=`$SHELL $ac_config_guess`; then :
-    else
-      echo "$progname: cannot guess host type; you must specify one" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-  host=`$SHELL $ac_config_sub $host_alias`
-  echo "$ac_t$host" 1>&6
-
-  # Make sure the host verified.
-  test -z "$host" && exit 1
-
-elif test -z "$host"; then
-  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
-  echo "$help" 1>&2
-  exit 1
-else
-  host_alias=$host
-fi
-
-# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
-case "$host_os" in
-linux-gnu*) ;;
-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
-esac
-
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-case "$host_os" in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "${COLLECT_NAMES+set}" != set; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR cru $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-# Set a sane default for `AR'.
-test -z "$AR" && AR=ar
-
-# Set a sane default for `OBJDUMP'.
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-# If RANLIB is not set, then run the test.
-if test "${RANLIB+set}" != "set"; then
-  result=no
-
-  echo $ac_n "checking for ranlib... $ac_c" 1>&6
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH; do
-    test -z "$dir" && dir=.
-    if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
-      RANLIB="ranlib"
-      result="ranlib"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  echo "$ac_t$result" 1>&6
-fi
-
-if test -n "$RANLIB"; then
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
-fi
-
-# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$AS" && AS=as
-
-# Check to see if we are using GCC.
-if test "$with_gcc" != yes || test -z "$CC"; then
-  # If CC is not set, then try to find GCC or a usable CC.
-  if test -z "$CC"; then
-    echo $ac_n "checking for gcc... $ac_c" 1>&6
-    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
-	CC="gcc"
-	break
-      fi
-    done
-    IFS="$save_ifs"
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-  fi
-
-  # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
-  if test -z "$CC"; then
-    echo $ac_n "checking for cc... $ac_c" 1>&6
-    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    cc_rejected=no
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
-	if test "$dir/cc" = "/usr/ucb/cc"; then
-	  cc_rejected=yes
-	  continue
-	fi
-	CC="cc"
-	break
-      fi
-    done
-    IFS="$save_ifs"
-    if test $cc_rejected = yes; then
-      # We found a bogon in the path, so make sure we never use it.
-      set dummy $CC
-      shift
-      if test $# -gt 0; then
-	# We chose a different compiler from the bogus one.
-	# However, it has the same name, so the bogon will be chosen
-	# first if we set CC to just the name; use the full file name.
-	shift
-	set dummy "$dir/cc" "$@"
-	shift
-	CC="$@"
-      fi
-    fi
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-
-    if test -z "$CC"; then
-      echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
-      exit 1
-    fi
-  fi
-
-  # Now see if the compiler is really GCC.
-  with_gcc=no
-  echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-  echo "$progname:581: checking whether we are using GNU C" >&5
-
-  $rm conftest.c
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-    with_gcc=yes
-  fi
-  $rm conftest.c
-  echo "$ac_t$with_gcc" 1>&6
-fi
-
-# Allow CC to be a program name with arguments.
-set dummy $CC
-compiler="$2"
-
-echo $ac_n "checking for object suffix... $ac_c" 1>&6
-$rm conftest*
-echo 'int i = 1;' > conftest.c
-echo "$progname:603: checking for object suffix" >& 5
-if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
-  # Append any warnings to the config.log.
-  cat conftest.err 1>&5
-
-  for ac_file in conftest.*; do
-    case $ac_file in
-    *.c) ;;
-    *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
-    esac
-  done
-else
-  cat conftest.err 1>&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.c >&5
-fi
-$rm conftest*
-echo "$ac_t$objext" 1>&6
-
-echo $ac_n "checking for executable suffix... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_cv_exeext="no"
-  $rm conftest*
-  echo 'main () { return 0; }' > conftest.c
-  echo "$progname:629: checking for executable suffix" >& 5
-  if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-
-    for ac_file in conftest.*; do
-      case $ac_file in
-      *.c | *.err | *.$objext ) ;;
-      *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
-      esac
-    done
-  else
-    cat conftest.err 1>&5
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest*
-fi
-if test "X$ac_cv_exeext" = Xno; then
-  exeext=""
-else
-  exeext="$ac_cv_exeext"
-fi
-echo "$ac_t$ac_cv_exeext" 1>&6
-
-echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
-pic_flag=
-special_shlib_compile_flags=
-wl=
-link_static_flag=
-no_builtin_flag=
-
-if test "$with_gcc" = yes; then
-  wl='-Wl,'
-  link_static_flag='-static'
-
-  case "$host_os" in
-  beos* | irix5* | irix6* | osf3* | osf4*)
-    # PIC is the default for these OSes.
-    ;;
-  aix*)
-    # Below there is a dirty hack to force normal static linking with -ldl
-    # The problem is because libdl dynamically linked with both libc and
-    # libC (AIX C++ library), which obviously doesn't included in libraries
-    # list by gcc. This cause undefined symbols with -static flags.
-    # This hack allows C programs to be linked with "-static -ldl", but
-    # we not sure about C++ programs.
-    link_static_flag="$link_static_flag ${wl}-lC"
-    ;;
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-  amigaos*)
-    # FIXME: we need at least 68020 code to build shared libraries, but
-    # adding the `-m68020' flag to GCC prevents building anything better,
-    # like `-m68040'.
-    pic_flag='-m68020 -resident32 -malways-restore-a4'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec; then
-       pic_flag=-Kconform_pic
-    fi
-    ;;
-  *)
-    pic_flag='-fPIC'
-    ;;
-  esac
-else
-  # PORTME Check for PIC flags for the system compiler.
-  case "$host_os" in
-  aix3* | aix4*)
-    # All AIX code is PIC.
-    link_static_flag='-bnso -bI:/lib/syscalls.exp'
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    # Is there a better link_static_flag that works with the bundled CC?
-    wl='-Wl,'
-    link_static_flag="${wl}-a ${wl}archive"
-    pic_flag='+Z'
-    ;;
-
-  irix5* | irix6*)
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    # PIC (with -KPIC) is the default.
-    ;;
-
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-
-  osf3* | osf4*)
-    # All OSF/1 code is PIC.
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    ;;
-
-  sco3.2v5*)
-    pic_flag='-Kpic'
-    link_static_flag='-dn'
-    special_shlib_compile_flags='-belf'
-    ;;
-
-  solaris*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  sunos4*)
-    pic_flag='-PIC'
-    link_static_flag='-Bstatic'
-    wl='-Qoption ld '
-    ;;
-
-  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  uts4*)
-    pic_flag='-pic'
-    link_static_flag='-Bstatic'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec ;then
-      pic_flag='-Kconform_pic'
-      link_static_flag='-Bstatic'
-    fi
-    ;;
-  *)
-    can_build_shared=no
-    ;;
-  esac
-fi
-
-if test -n "$pic_flag"; then
-  echo "$ac_t$pic_flag" 1>&6
-
-  # Check to make sure the pic_flag actually works.
-  echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $pic_flag -DPIC"
-  echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
-  if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-    
-    case "$host_os" in
-    hpux9* | hpux10* | hpux11*)
-      # On HP-UX, both CC and GCC only warn that PIC is supported... then they
-      # create non-PIC objects.  So, if there were any warnings, we assume that
-      # PIC is not supported.
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	can_build_shared=no
-	pic_flag=
-      else
-	echo "$ac_t"yes 1>&6
-	pic_flag=" $pic_flag"
-      fi
-      ;;
-    *)
-      echo "$ac_t"yes 1>&6
-      pic_flag=" $pic_flag"
-      ;;
-    esac
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    can_build_shared=no
-    pic_flag=
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  echo "$ac_t"none 1>&6
-fi
-
-# Check to see if options -o and -c are simultaneously supported by compiler
-echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
-$rm -r conftest 2>/dev/null
-mkdir conftest
-cd conftest
-$rm conftest*
-echo "int some_variable = 0;" > conftest.c
-mkdir out
-# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
-# that will create temporary files in the current directory regardless of
-# the output directory.  Thus, making CWD read-only will cause this test
-# to fail, enabling locking or at least warning the user not to do parallel
-# builds.
-chmod -w .
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -o out/conftest2.o"
-echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
-if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
-
-  # The compiler can only warn and ignore the option if not recognized
-  # So say no if there are warnings
-    if test -s out/conftest.err; then
-      echo "$ac_t"no 1>&6
-      compiler_c_o=no
-    else
-      echo "$ac_t"yes 1>&6
-      compiler_c_o=yes
-    fi
-else
-  # Append any errors to the config.log.
-  cat out/conftest.err 1>&5
-  compiler_c_o=no
-  echo "$ac_t"no 1>&6
-fi
-CFLAGS="$save_CFLAGS"
-chmod u+w .
-$rm conftest* out/*
-rmdir out
-cd ..
-rmdir conftest
-$rm -r conftest 2>/dev/null
-
-if test x"$compiler_c_o" = x"yes"; then
-  # Check to see if we can write to a .lo
-  echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -c -o conftest.lo"
-  echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
-if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	compiler_o_lo=no
-      else
-	echo "$ac_t"yes 1>&6
-	compiler_o_lo=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_o_lo=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  compiler_o_lo=no
-fi
-
-# Check to see if we can do hard links to lock some files if needed
-hard_links="nottested"
-if test "$compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$ac_t$hard_links" 1>&6
-  $rm conftest*
-  if test "$hard_links" = no; then
-    echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-if test "$with_gcc" = yes; then
-  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
-  echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-  if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	compiler_rtti_exceptions=no
-      else
-	echo "$ac_t"yes 1>&6
-	compiler_rtti_exceptions=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_rtti_exceptions=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-
-  if test "$compiler_rtti_exceptions" = "yes"; then
-    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
-  else
-    no_builtin_flag=' -fno-builtin'
-  fi
-  
-fi
-
-# Check for any special shared library compilation flags.
-if test -n "$special_shlib_compile_flags"; then
-  echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
-  if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$special_shlib_compile_flags[ 	]" >/dev/null; then :
-  else
-    echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
-    can_build_shared=no
-  fi
-fi
-
-echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
-$rm conftest*
-echo 'main(){return(0);}' > conftest.c
-save_LDFLAGS="$LDFLAGS"
-LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  echo "$ac_t$link_static_flag" 1>&6
-else
-  echo "$ac_t"none 1>&6
-  link_static_flag=
-fi
-LDFLAGS="$save_LDFLAGS"
-$rm conftest*
-
-if test -z "$LN_S"; then
-  # Check to see if we can use ln -s, or we need hard links.
-  echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
-  $rm conftest.dat
-  if ln -s X conftest.dat 2>/dev/null; then
-    $rm conftest.dat
-    LN_S="ln -s"
-  else
-    LN_S=ln
-  fi
-  if test "$LN_S" = "ln -s"; then
-    echo "$ac_t"yes 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-fi
-
-# Make sure LD is an absolute path.
-if test -z "$LD"; then
-  ac_prog=ld
-  if test "$with_gcc" = yes; then
-    # Check if gcc -print-prog-name=ld gives a path.
-    echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-    echo "$progname:991: checking for ld used by GCC" >&5
-    ac_prog=`($CC -print-prog-name=ld) 2>&5`
-    case "$ac_prog" in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-    "")
-      # If it fails, then pretend we are not using GCC.
-      ac_prog=ld
-      ;;
-    *)
-      # If it is relative, then search for the first ld in PATH.
-      with_gnu_ld=unknown
-      ;;
-    esac
-  elif test "$with_gnu_ld" = yes; then
-    echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-    echo "$progname:1015: checking for GNU ld" >&5
-  else
-    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-    echo "$progname:1018: checking for non-GNU ld" >&5
-  fi
-
-  if test -z "$LD"; then
-    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-	LD="$ac_dir/$ac_prog"
-	# Check to see if the program is GNU ld.  I'd rather use --version,
-	# but apparently some GNU ld's only accept -v.
-	# Break only if it was the GNU/non-GNU ld that we prefer.
-	if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-	  test "$with_gnu_ld" != no && break
-	else
-	  test "$with_gnu_ld" != yes && break
-	fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-  fi
-
-  if test -n "$LD"; then
-    echo "$ac_t$LD" 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-
-  if test -z "$LD"; then
-    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
-    exit 1
-  fi
-fi
-
-# Check to see if it really is or is not GNU ld.
-echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
-# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-echo "$ac_t$with_gnu_ld" 1>&6
-
-# See if the linker supports building shared libraries.
-echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
-
-allow_undefined_flag=
-no_undefined_flag=
-need_lib_prefix=unknown
-need_version=unknown
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-archive_cmds=
-archive_expsym_cmds=
-old_archive_from_new_cmds=
-export_dynamic_flag_spec=
-whole_archive_flag_spec=
-thread_safe_flag_spec=
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-hardcode_shlibpath_var=unsupported
-runpath_var=
-always_export_symbols=no
-export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
-# include_expsyms should be a list of space-separated symbols to be *always*
-# included in the symbol list
-include_expsyms=
-# exclude_expsyms can be an egrep regular expression of symbols to exclude
-# it will be wrapped by ` (' and `)$', so one must not match beginning or
-# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-# as well as any symbol that contains `d'.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-# platforms (ab)use it in PIC code, but their linkers get confused if
-# the symbol is explicitly referenced.  Since portable code cannot
-# rely on this symbol name, it's probably fine to never include it in
-# preloaded symbol tables.
-
-case "$host_os" in
-cygwin* | mingw*)
-  # FIXME: the MSVC++ port hasn't been tested in a loooong time
-  # When not using gcc, we currently assume that we are using
-  # Microsoft Visual C++.
-  if test "$with_gcc" != yes; then
-    with_gnu_ld=no
-  fi
-  ;;
-
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # If archive_cmds runs LD, not CC, wlarc should be empty
-  wlarc='${wl}'
-
-  # See if GNU ld supports shared libraries.
-  case "$host_os" in
-  aix3* | aix4*)
-    # On AIX, the GNU linker is very broken
-    ld_shlibs=no
-    cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-    ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-
-    # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-    # that the semantics of dynamic libraries on AmigaOS, at least up
-    # to version 4, is to share data among multiple programs linked
-    # with the same dynamic library.  Since this doesn't match the
-    # behavior of shared libraries on other platforms, we can use
-    # them.
-    ld_shlibs=no
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-
-  cygwin* | mingw*)
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec='-L$libdir'
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-
-    # Extract the symbol export list from an `--export-all' def file,
-    # then regenerate the def file from the symbol export list, so that
-    # the compiled dll only exports the symbol export list.
-    export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $DLLTOOL --export-all --exclude-symbols DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
-      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
-
-    archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
-      _lt_hint=1;
-      for symbol in `cat $export_symbols`; do
-	echo "	\$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
-	_lt_hint=`expr 1 + \$_lt_hint`;
-      done~
-      test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry at 12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry at 12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry at 12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
-
-      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' 
-    ;;
-
-  netbsd*)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
-      # can we support soname and/or expsyms with a.out? -oliva
-    fi
-    ;;
-
-  solaris*)
-    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
-      ld_shlibs=no
-      cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;      
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    wlarc=
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-  esac
-
-  if test "$ld_shlibs" = yes; then
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    case $host_os in
-    cygwin* | mingw*)
-      # dlltool doesn't understand --whole-archive et. al.
-      whole_archive_flag_spec=
-      ;;
-    *)
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      ;;
-    esac
-  fi
-else
-  # PORTME fill in a description of your system's linker (not GNU ld)
-  case "$host_os" in
-  aix3*)
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-    archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
-    # Note: this linker hardcodes the directories in LIBPATH if there
-    # are no directories specified by -L.
-    hardcode_minus_L=yes
-    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
-      # Neither direct hardcoding nor static linking is supported with a
-      # broken collect2.
-      hardcode_direct=unsupported
-    fi
-    ;;
-
-  aix4*)
-    hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
-    hardcode_libdir_separator=':'
-    if test "$with_gcc" = yes; then
-      collect2name=`${CC} -print-prog-name=collect2`
-      if test -f "$collect2name" && \
-	 strings "$collect2name" | grep resolve_lib_name >/dev/null
-      then
-	# We have reworked collect2
-	hardcode_direct=yes
-      else
-	# We have old collect2
-	hardcode_direct=unsupported
-	# It fails to find uninstalled libraries when the uninstalled
-	# path is not listed in the libpath.  Setting hardcode_minus_L
-	# to unsupported forces relinking
-	hardcode_minus_L=yes
-	hardcode_libdir_flag_spec='-L$libdir'
-	hardcode_libdir_separator=
-      fi
-      shared_flag='-shared'
-    else
-      shared_flag='${wl}-bM:SRE'
-      hardcode_direct=yes
-    fi
-    allow_undefined_flag=' ${wl}-berok'
-    archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
-    archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
-    case "$host_os" in aix4.[01]|aix4.[01].*)
-      # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
-      always_export_symbols=yes ;;
-    esac
-   ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    # see comment about different semantics on the GNU ld section
-    ld_shlibs=no
-    ;;
-
-  cygwin* | mingw*)
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec=' '
-    allow_undefined_flag=unsupported
-    # Tell ltmain to make .lib files, not .a files.
-    libext=lib
-    # FIXME: Setting linknames here is a bad hack.
-    archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-    # The linker will automatically build a .lib file if we build a DLL.
-    old_archive_from_new_cmds='true'
-    # FIXME: Should let the user specify the lib program.
-    old_archive_cmds='lib /OUT:$oldlib$oldobjs'
-    fix_srcfile_path='`cygpath -w $srcfile`'
-    ;;
-
-  freebsd1*)
-    ld_shlibs=no
-    ;;
-
-  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-  # support.  Future versions do this automatically, but an explicit c++rt0.o
-  # does not break anything, and helps significantly (at the cost of a little
-  # extra space).
-  freebsd2.2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-  freebsd2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
-    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    case "$host_os" in
-    hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
-    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
-    esac
-    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator=:
-    hardcode_direct=yes
-    hardcode_minus_L=yes # Not in the search PATH, but as the default
-			 # location of the library.
-    export_dynamic_flag_spec='${wl}-E'
-    ;;
-
-  irix5* | irix6*)
-    if test "$with_gcc" = yes; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'  # a.out
-    else
-      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts'      # ELF
-    fi
-    hardcode_libdir_flag_spec='${wl}-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  os2*)
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    allow_undefined_flag=unsupported
-    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
-    old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
-    ;;
-
-  osf3* | osf4*)
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  sco3.2v5*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    runpath_var=LD_RUN_PATH
-    hardcode_runpath_var=yes
-    ;;
-
-  solaris*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_shlibpath_var=no
-    case "$host_os" in
-    solaris2.[0-5] | solaris2.[0-5].*) ;;
-    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
-    esac
-    ;;
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    hardcode_direct=no #Motorola manual says yes, but my tests say they lie 
-    ;;  
-
-  sysv4.3*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    export_dynamic_flag_spec='-Bexport'
-    ;;
-
-  uts4*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  dgux*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4*MP*)
-    if test -d /usr/nec ;then
-    # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs'
-    archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
-    hardcode_shlibpath_var=no
-    runpath_var=LD_RUN_PATH
-    hardcode_runpath_var=yes
-    ld_shlibs=yes
-    fi
-    ;;
-
-  *)
-    ld_shlibs=no
-    ;;
-  esac
-fi
-echo "$ac_t$ld_shlibs" 1>&6
-test "$ld_shlibs" = no && can_build_shared=no
-
-if test -z "$NM"; then
-  echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
-  case "$NM" in
-  [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path.
-  *)
-    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	  NM="$ac_dir/nm -B"
-	  break
-	elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	  NM="$ac_dir/nm -p"
-	  break
-	else
-	  NM=${NM="$ac_dir/nm"} # keep the first match, but
-	  continue # so that we can try to find one that supports BSD flags
-	fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-    test -z "$NM" && NM=nm
-    ;;
-  esac
-  echo "$ac_t$NM" 1>&6
-fi
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
-  ;;
-irix*)
-  symcode='[BCDEGRST]'
-  ;;
-solaris*)
-  symcode='[BDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
-  symcode='[ABCDGISTW]'
-fi
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Write the raw and C identifiers.
-  global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode\)[ 	][ 	]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-  $rm conftest*
-  cat > conftest.c <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  echo "$progname:1592: checking if global_symbol_pipe works" >&5
-  if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
-
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
-	if egrep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
-
-	  cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-	  sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
-	  cat <<\EOF >> conftest.c
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$objext conftstm.$objext
-	  save_LIBS="$LIBS"
-	  save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$objext"
-	  CFLAGS="$CFLAGS$no_builtin_flag"
-	  if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-	    pipe_works=yes
-	  else
-	    echo "$progname: failed program was:" >&5
-	    cat conftest.c >&5
-	  fi
-	  LIBS="$save_LIBS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    global_symbol_pipe=
-  fi
-done
-if test "$pipe_works" = yes; then
-  echo "${ac_t}ok" 1>&6
-else
-  echo "${ac_t}failed" 1>&6
-fi
-
-if test -z "$global_symbol_pipe"; then
-  global_symbol_to_cdecl=
-fi
-
-# Check hardcoding attributes.
-echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var"; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$hardcode_shlibpath_var" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-echo "$ac_t$hardcode_action" 1>&6
-
-
-reload_flag=
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
-# PORTME Some linkers may need a different reload flag.
-reload_flag='-r'
-echo "$ac_t$reload_flag" 1>&6
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-
-# PORTME Fill in your ld.so characteristics
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-file_magic_cmd=
-file_magic_test_file=
-deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
-case "$host_os" in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}.so$major'
-  ;;
-
-aix4*)
-  version_type=linux
-  # AIX has no versioning support, so currently we can not hardcode correct
-  # soname into executable. Probably we can add versioning support to
-  # collect2, so additional links can be useful in future.
-  # We preserve .a as extension for shared libraries though AIX4.2
-  # and later linker supports .so
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
-  shlibpath_var=LIBPATH
-  deplibs_check_method=pass_all
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}.so'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  deplibs_check_method=pass_all
-  lt_cv_dlopen="load_add_on"
-  lt_cv_dlopen_libs=
-  lt_cv_dlopen_self=yes
-  ;;
-
-bsdi4*)
-  version_type=linux
-  library_names_spec='${libname}.so$major ${libname}.so'
-  soname_spec='${libname}.so'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw*)
-  version_type=windows
-  need_version=no
-  need_lib_prefix=no
-  if test "$with_gcc" = yes; then
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
-  else
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
-  fi
-  dynamic_linker='Win32 ld.exe'
-  deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  file_magic_cmd='${OBJDUMP} -f'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  lt_cv_dlopen="LoadLibrary"
-  lt_cv_dlopen_libs=
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-  
-freebsd*)
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
-  version_type=freebsd-$objformat
-  case "$version_type" in
-    freebsd-elf*)
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      deplibs_check_method=unknown
-      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
-      need_version=yes
-      ;;
-  esac
-  finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_os" in
-  freebsd2* | freebsd3.[01]*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  *) # from 3.2 on
-    shlibpath_overrides_runpath=no
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  dynamic_linker="$host_os dld.sl"
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  shlibpath_var=SHLIB_PATH
-  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
-  soname_spec='${libname}${release}.sl$major'
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-irix5* | irix6*)
-  version_type=irix
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}.so.$major'
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
-  case "$host_os" in
-  irix5*)
-    libsuff= shlibsuff=
-    # this will be overridden with pass_all, but let us keep it just in case
-    deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
-    ;;
-  *)
-    case "$LD" in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    # this will be overridden with pass_all, but let us keep it just in case
-    deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=`echo /lib${libsuff}/libc.so*`
-  deplibs_check_method='pass_all'
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
-
-  if test -f /lib/ld.so.1; then
-    dynamic_linker='GNU ld.so'
-  else
-    # Only the GNU ld.so supports shared libraries on MkLinux.
-    case "$host_cpu" in
-    powerpc*) dynamic_linker=no ;;
-    *) dynamic_linker='Linux ld.so' ;;
-    esac
-  fi
-  ;;
-
-netbsd*)
-  version_type=sunos
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
-    soname_spec='${libname}${release}.so$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-openbsd*)
-  version_type=sunos
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-    need_version=no
-  fi
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-os2*)
-  libname_spec='$name'
-  need_lib_prefix=no
-  library_names_spec='$libname.dll $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4*)
-  version_type=osf
-  need_version=no
-  soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  # this will be overridden with pass_all, but let us keep it just in case
-  deplibs_check_method='file_magic COFF format alpha shared library'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  deplibs_check_method='pass_all'
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}.so$major'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/lib/libc.so
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_vendor" in
-    ncr)
-      deplibs_check_method='pass_all'
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      ;;
-  esac
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-    soname_spec='$libname.so.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-echo "$ac_t$dynamic_linker" 1>&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-# Report the final consequences.
-echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
-
-# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
-# configure.in, otherwise build static only libraries.
-case "$host_os" in
-cygwin* | mingw* | os2*)
-  if test x$can_build_shared = xyes; then
-    test x$enable_win32_dll = xno && can_build_shared=no
-    echo "checking if package supports dlls... $can_build_shared" 1>&6
-  fi
-;;
-esac
-
-if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
-  case "$deplibs_check_method" in
-  "file_magic "*)
-    file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
-    if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-       egrep "$file_magic_regex" > /dev/null; then
-      :
-    else
-      cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
-    fi ;;
-  esac
-fi
-
-echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix4*)
-  test "$enable_shared" = yes && enable_static=no
-  ;;
-esac
-
-echo "$ac_t$enable_shared" 1>&6
-
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-
-echo "checking whether to build static libraries... $enable_static" 1>&6
-
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-echo $ac_n "checking for objdir... $ac_c" 1>&6
-rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-echo "$ac_t$objdir" 1>&6
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
-  lt_cv_dlopen=no lt_cv_dlopen_libs=
-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "$progname:2170: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2178 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo $progname:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "$progname:2207: checking for dlopen" >&5
-if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2212 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dlopen();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-dlopen();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "$progname:2251: checking for dld_link in -ldld" >&5
-ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2259 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dld_link();
-
-int main() {
-dld_link()
-; return 0; }
-EOF
-if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "$progname:2288: checking for shl_load" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2293 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char shl_load();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-shl_load();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "$progname:2333: checking for shl_load in -ldld" >&5
-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2341 "ltconfig"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char shl_load();
-
-int main() {
-shl_load()
-; return 0; }
-EOF
-if { (eval echo $progname:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-fi
-
-    
-fi
-
-  
-fi
-
-
-fi
-
-fi
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  fi
-
-  case "$lt_cv_dlopen" in
-  dlopen)
-for ac_hdr in dlfcn.h; do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "$progname:2395: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2400 "ltconfig"
-#include <$ac_hdr>
-int fnord = 0;
-EOF
-ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo $progname:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-    if test "x$ac_cv_header_dlfcn_h" = xyes; then
-      CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-    fi
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-  echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2433: checking whether a program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self=cross
-  else
-    cat > conftest.c <<EOF
-#line 2441 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL	RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL	DL_GLOBAL
-# else
-#  define LTDL_GLOBAL	0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW	DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW	RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW	DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW	0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-	       if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self" 1>&6
-
-  if test "$lt_cv_dlopen_self" = yes; then
-    LDFLAGS="$LDFLAGS $link_static_flag"
-  echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self_static=cross
-  else
-    cat > conftest.c <<EOF
-#line 2514 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL	RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL	DL_GLOBAL
-# else
-#  define LTDL_GLOBAL	0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW	DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW	RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW	DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW	0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-    if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self_static=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self_static=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
-fi
-    ;;
-  esac
-
-  case "$lt_cv_dlopen_self" in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case "$lt_cv_dlopen_self_static" in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-# Copy echo and quote the copy, instead of the original, because it is
-# used later.
-ltecho="$echo"
-if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   ltecho="$CONFIG_SHELL \$0 --fallback-echo"
-fi
-LTSHELL="$SHELL"
-
-LTCONFIG_VERSION="$VERSION"
-
-# Only quote variables if we're using ltmain.sh.
-case "$ltmain" in
-*.sh)
-  # Now quote all the things that may contain metacharacters.
-  for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \
-    AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
-    reload_flag reload_cmds wl \
-    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
-    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
-    library_names_spec soname_spec \
-    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
-    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
-    file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
-    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
-    hardcode_libdir_flag_spec hardcode_libdir_separator  \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
-
-    case "$var" in
-    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case "$ltecho" in
-  *'\$0 --fallback-echo"')
-    ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-  trap "$rm \"$ofile\"; exit 1" 1 2 15
-  echo "creating $ofile"
-  $rm "$ofile"
-  cat <<EOF > "$ofile"
-#! $SHELL
-
-# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
-#
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="sed -e s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
-
-### BEGIN LIBTOOL CONFIG
-EOF
-  cfgfile="$ofile"
-  ;;
-
-*)
-  # Double-quote the variables that need it (for aesthetics).
-  for var in old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
-    eval "$var=\\\"\$var\\\""
-  done
-
-  # Just create a config file.
-  cfgfile="$ofile.cfg"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  echo "creating $cfgfile"
-  $rm "$cfgfile"
-  cat <<EOF > "$cfgfile"
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-EOF
-  ;;
-esac
-
-cat <<EOF >> "$cfgfile"
-# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
-# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
-# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
-# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\
-#   $0$ltconfig_args
-#
-# Compiler and other test output produced by $progname, useful for
-# debugging $progname, is in ./config.log if it exists.
-
-# The version of $progname that generated this script.
-LTCONFIG_VERSION=$LTCONFIG_VERSION
-
-# Shell to use when invoking shell scripts.
-SHELL=$LTSHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-
-# An echo program that does not interpret backslashes.
-echo=$ltecho
-
-# The archiver.
-AR=$AR
-
-# The default C compiler.
-CC=$CC
-
-# The linker used to build libraries.
-LD=$LD
-
-# Whether we need hard or soft links.
-LN_S=$LN_S
-
-# A BSD-compatible nm program.
-NM=$NM
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$reload_flag
-reload_cmds=$reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$wl
-
-# Object file suffix (normally "o").
-objext="$objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$pic_flag
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$compiler_c_o
-
-# Can we write directly to a .lo ?
-compiler_o_lo=$compiler_o_lo
-
-# Must we lock files when doing compilation ?
-need_locks=$need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$link_static_flag
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$RANLIB
-old_archive_cmds=$old_archive_cmds
-old_postinstall_cmds=$old_postinstall_cmds
-old_postuninstall_cmds=$old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$old_archive_from_new_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$archive_cmds
-archive_expsym_cmds=$archive_expsym_cmds
-postinstall_cmds=$postinstall_cmds
-postuninstall_cmds=$postuninstall_cmds
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$global_symbol_to_cdecl
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$include_expsyms
-
-EOF
-
-case "$ltmain" in
-*.sh)
-  echo '### END LIBTOOL CONFIG' >> "$ofile"
-  echo >> "$ofile"
-  case "$host_os" in
-  aix3*)
-    cat <<\EOF >> "$ofile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "${COLLECT_NAMES+set}" != set; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # Append the ltmain.sh script.
-  sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
-
-  chmod +x "$ofile"
-  ;;
-
-*)
-  # Compile the libtool program.
-  echo "FIXME: would compile $ltmain"
-  ;;
-esac
-
-test -n "$cache_file" || exit 0
-
-# AC_CACHE_SAVE
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/ltmain.sh b/ltmain.sh
deleted file mode 100644
index e589475..0000000
--- a/ltmain.sh
+++ /dev/null
@@ -1,6975 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008  Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.5.26
-TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell, and then maybe $echo will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  SP2NL='tr \040 \012'
-  NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  SP2NL='tr \100 \n'
-  NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-lt_env=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test \"\${$lt_var+set}\" = set; then
-	  save_$lt_var=\$$lt_var
-	  lt_env=\"$lt_var=\$$lt_var \$lt_env\"
-	  $lt_var=C
-	  export $lt_var
-	fi"
-done
-
-if test -n "$lt_env"; then
-  lt_env="env $lt_env"
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" 	$lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  $echo "$modename: not configured to build any kind of library" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-	# Failing that, at least try and use $RANDOM to avoid a race
-	my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-	save_mktempdir_umask=`umask`
-	umask 0077
-	$mkdir "$my_tmpdir"
-	umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || {
-        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
-	exit $EXIT_FAILURE
-      }
-    fi
-
-    $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
-      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-      win32_nmres=`eval $NM -f posix -A $1 | \
-	$SED -n -e '1,100{
-		/ I /{
-			s,.*,import,
-			p
-			q
-			}
-		}'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-	case $arg in
-	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	CC_quoted="$CC_quoted $arg"
-      done
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	    # Double-quote args containing other shell metacharacters.
-	    case $arg in
-	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	      arg="\"$arg\""
-	      ;;
-	    esac
-	    CC_quoted="$CC_quoted $arg"
-	  done
-	    # user sometimes does CC=<HOST>-gcc so we need to match that to 'gcc'
-	    trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"`
-	    # and sometimes libtool has CC=<HOST>-gcc but user does CC=gcc
-	    extendcc=${host}-${CC}
-	    # and sometimes libtool has CC=<OLDHOST>-gcc but user has CC=<NEWHOST>-gcc  
-	    # (Gentoo-specific hack because we always export $CHOST)
-	    mungedcc=${CHOST-${host}}-${trimedcc}
-	    case "$@ " in
-	      "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\
-	      "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*)
-	      tagname=CC
-	      break ;;
-	      "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
-	      "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
-	      "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
-	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  $echo "$modename: unable to infer tagged configuration"
-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
-	  exit $EXIT_FAILURE
-#        else
-#          $echo "$modename: using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-
-    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
-    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
-      exit $EXIT_FAILURE
-    fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-    my_status=""
-
-    $show "${rm}r $my_gentop"
-    $run ${rm}r "$my_gentop"
-    $show "$mkdir $my_gentop"
-    $run $mkdir "$my_gentop"
-    my_status=$?
-    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
-      exit $my_status
-    fi
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  extracted_serial=`expr $extracted_serial + 1`
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
-
-      $show "${rm}r $my_xdir"
-      $run ${rm}r "$my_xdir"
-      $show "$mkdir $my_xdir"
-      $run $mkdir "$my_xdir"
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
-	exit $exit_status
-      fi
-      case $host in
-      *-darwin*)
-	$show "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	if test -z "$run"; then
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
-	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
-	  if test -n "$darwin_arches"; then 
-	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-	      cd "$darwin_curdir"
-	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-	    done # $darwin_arches
-      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-	      lipo -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    ${rm}r unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd "$darwin_orig_dir"
- 	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	fi # $run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-        ;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-    done
-    func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
-  arg="$1"
-  shift
-
-  case $arg in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case $prev in
-    execute_dlfiles)
-      execute_dlfiles="$execute_dlfiles $arg"
-      ;;
-    tag)
-      tagname="$arg"
-      preserve_args="${preserve_args}=$arg"
-
-      # Check whether tagname contains only valid characters
-      case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-	$echo "$progname: invalid tag name: $tagname" 1>&2
-	exit $EXIT_FAILURE
-	;;
-      esac
-
-      case $tagname in
-      CC)
-	# Don't test for the "default" C tag, as we know, it's there, but
-	# not specially marked.
-	;;
-      *)
-	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
-	  taglist="$taglist $tagname"
-	  # Evaluate the configuration.
-	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
-	else
-	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
-	fi
-	;;
-      esac
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
-
-    prev=
-    prevopt=
-    continue
-  fi
-
-  # Have we seen a non-optional argument yet?
-  case $arg in
-  --help)
-    show_help=yes
-    ;;
-
-  --version)
-    echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-
-Copyright (C) 2008  Free Software Foundation, Inc.
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-    exit $?
-    ;;
-
-  --config)
-    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
-    done
-    exit $?
-    ;;
-
-  --debug)
-    $echo "$progname: enabling shell trace mode"
-    set -x
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
-
-  --features)
-    $echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      $echo "enable shared libraries"
-    else
-      $echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      $echo "enable static libraries"
-    else
-      $echo "disable static libraries"
-    fi
-    exit $?
-    ;;
-
-  --finish) mode="finish" ;;
-
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
-
-  --preserve-dup-deps) duplicate_deps="yes" ;;
-
-  --quiet | --silent)
-    show=:
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --tag)
-    prevopt="--tag"
-    prev=tag
-    preserve_args="$preserve_args --tag"
-    ;;
-  --tag=*)
-    set tag "$optarg" ${1+"$@"}
-    shift
-    prev=tag
-    preserve_args="$preserve_args --tag"
-    ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
-    ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-
-  *)
-    nonopt="$arg"
-    break
-    ;;
-  esac
-done
-
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no) 
-  ;;
-shared)
-  build_libtool_libs=no
-  build_old_libs=yes
-  ;;
-static)
-  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-  ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
-    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
-    case $nonopt in
-    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
-      mode=link
-      for arg
-      do
-	case $arg in
-	-c)
-	   mode=compile
-	   break
-	   ;;
-	esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
-      ;;
-    *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
-
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-	if test -n "$nonopt"; then
-	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-	else
-	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-	fi
-      fi
-      ;;
-    esac
-  fi
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
-
-  # These modes are in order of execution frequency so that they run quickly.
-  case $mode in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg="$arg"
-	arg_mode=normal
-	;;
-
-      target )
-	libobj="$arg"
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  if test -n "$libobj" ; then
-	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-static | -prefer-pic | -prefer-non-pic)
-	  later="$later $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
-	  lastarg=
-	  save_ifs="$IFS"; IFS=','
- 	  for arg in $args; do
-	    IFS="$save_ifs"
-
-	    # Double-quote args containing other shell metacharacters.
-	    # Many Bourne shells cannot handle close brackets correctly
-	    # in scan sets, so we specify it separately.
-	    case $arg in
-	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	      arg="\"$arg\""
-	      ;;
-	    esac
-	    lastarg="$lastarg $arg"
-	  done
-	  IFS="$save_ifs"
-	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
-	  # Add the arguments to base_compile.
-	  base_compile="$base_compile $lastarg"
-	  continue
-	  ;;
-
-	* )
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg="$srcfile"
-	  srcfile="$arg"
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      case $lastarg in
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, and some SunOS ksh mistreat backslash-escaping
-      # in scan sets (worked around with variable expansion),
-      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
-      # at all, so we specify them separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	lastarg="\"$lastarg\""
-	;;
-      esac
-
-      base_compile="$base_compile $lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      $echo "$modename: you must specify an argument for -Xcompile"
-      exit $EXIT_FAILURE
-      ;;
-    target)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    *)
-      # Get the name of the library object.
-      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSifmso]'
-    case $libobj in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.ii) xform=ii ;;
-    *.class) xform=class ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.[fF][09]?) xform=[fF][09]. ;;
-    *.for) xform=for ;;
-    *.java) xform=java ;;
-    *.obj) xform=obj ;;
-    *.sx) xform=sx ;;
-    esac
-
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
-    case $libobj in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
-    *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -static)
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
-    case $qlibobj in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qlibobj="\"$qlibobj\"" ;;
-    esac
-    test "X$libobj" != "X$qlibobj" \
-	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
-	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$xdir" = "X$obj"; then
-      xdir=
-    else
-      xdir=$xdir/
-    fi
-    lobj=${xdir}$objdir/$objname
-
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
-	$show "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-	$echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-      $echo "$srcfile" > "$lockfile"
-    fi
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
-    case $qsrcfile in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-      qsrcfile="\"$qsrcfile\"" ;;
-    esac
-
-    $run $rm "$libobj" "${libobj}T"
-
-    # Create a libtool object file (analogous to a ".la" file),
-    # but don't create it if we're doing a dry run.
-    test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      if test ! -d "${xdir}$objdir"; then
-	$show "$mkdir ${xdir}$objdir"
-	$run $mkdir ${xdir}$objdir
-	exit_status=$?
-	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
-	  exit $exit_status
-	fi
-      fi
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	command="$command -o $lobj"
-      fi
-
-      $run $rm "$lobj" "$output_obj"
-
-      $show "$command"
-      if $run eval $lt_env "$command"; then :
-      else
-	test -n "$output_obj" && $run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	$show "$mv $output_obj $lobj"
-	if $run $mv $output_obj $lobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Append the name of the PIC object to the libtool object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-        suppress_output=' >/dev/null 2>&1'
-      fi
-    else
-      # No PIC object so indicate it doesn't exist in the libtool
-      # object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      $run $rm "$obj" "$output_obj"
-      $show "$command"
-      if $run eval $lt_env "$command"; then :
-      else
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	$show "$mv $output_obj $obj"
-	if $run $mv $output_obj $obj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
-    else
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
-    fi
-
-    $run $mv "${libobj}T" "${libobj}"
-
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $run $rm "$lockfile"
-    fi
-
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool link mode
-  link | relink)
-    modename="$modename: link"
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args="$nonopt"
-    base_compile="$nonopt $@"
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    notinst_path= # paths that contain not-installed libtool libraries
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    single_module="${wl}-single_module"
-
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -all-static | -static | -static-libtool-libs)
-	case $arg in
-	-all-static)
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	-static)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	  ;;
-	-static-libtool-libs)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	esac
-	build_libtool_libs=no
-	build_old_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg="$1"
-      shift
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
-	;;
-      *) qarg=$arg ;;
-      esac
-      libtool_args="$libtool_args $qarg"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  compile_command="$compile_command @OUTPUT@"
-	  finalize_command="$finalize_command @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    compile_command="$compile_command @SYMFILE@"
-	    finalize_command="$finalize_command @SYMFILE@"
-	    preload=yes
-	  fi
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test "$dlself" = no; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test "$prev" = dlprefiles; then
-	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
-	    else
-	      dlprefiles="$dlprefiles $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  if test ! -f "$arg"; then
-	    $echo "$modename: symbol file \`$arg' does not exist"
-	    exit $EXIT_FAILURE
-	  fi
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir="$arg"
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat $save_arg`
-	    do
-#	      moreargs="$moreargs $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		# If there is no directory component, then add one.
-		case $arg in
-		*/* | *\\*) . $arg ;;
-		*) . ./$arg ;;
-		esac
-
-		if test -z "$pic_object" || \
-		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none && \
-		   test "$non_pic_object" = none; then
-		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-		  exit $EXIT_FAILURE
-		fi
-
-		# Extract subdirectory from the argument.
-		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-		if test "X$xdir" = "X$arg"; then
-		  xdir=
-		else
-		  xdir="$xdir/"
-		fi
-
-		if test "$pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object="$xdir$pic_object"
-
-		  if test "$prev" = dlfiles; then
-		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      dlfiles="$dlfiles $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test "$prev" = dlprefiles; then
-		    # Preload the old-style object.
-		    dlprefiles="$dlprefiles $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  libobjs="$libobjs $pic_object"
-		  arg="$pic_object"
-		fi
-
-		# Non-PIC object.
-		if test "$non_pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object="$xdir$non_pic_object"
-
-		  # A standard non-PIC object
-		  non_pic_objects="$non_pic_objects $non_pic_object"
-		  if test -z "$pic_object" || test "$pic_object" = none ; then
-		    arg="$non_pic_object"
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object="$pic_object"
-		  non_pic_objects="$non_pic_objects $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if test -z "$run"; then
-		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-		  exit $EXIT_FAILURE
-		else
-		  # Dry-run case.
-
-		  # Extract subdirectory from the argument.
-		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-		  if test "X$xdir" = "X$arg"; then
-		    xdir=
-		  else
-		    xdir="$xdir/"
-		  fi
-
-		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-		  libobjs="$libobjs $pic_object"
-		  non_pic_objects="$non_pic_objects $non_pic_object"
-		fi
-	      fi
-	    done
-	  else
-	    $echo "$modename: link input file \`$save_arg' does not exist"
-	    exit $EXIT_FAILURE
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    $echo "$modename: only absolute run-paths are allowed" 1>&2
-	    exit $EXIT_FAILURE
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
-	  prev=
-	  compile_command="$compile_command $wl$qarg"
-	  finalize_command="$finalize_command $wl$qarg"
-	  continue
-	  ;;
-	xcclinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
-	  continue
-	  ;;
-	shrext)
-  	  shrext_cmds="$arg"
-	  prev=
-	  continue
-	  ;;
-	darwin_framework|darwin_framework_skip)
-	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
-	  prev=
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  compile_command="$compile_command $link_static_flag"
-	  finalize_command="$finalize_command $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-	continue
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  $echo "$modename: more than one -exported-symbols argument is not allowed"
-	  exit $EXIT_FAILURE
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework|-arch|-isysroot)
-	case " $CC " in
-	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
-		prev=darwin_framework_skip ;;
-	  *) compiler_flags="$compiler_flags $arg"
-	     prev=darwin_framework ;;
-	esac
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  if test -z "$absdir"; then
-	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-	    absdir="$dir"
-	    notinst_path="$notinst_path $dir"
-	  fi
-	  dir="$absdir"
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "*) ;;
-	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs -framework System"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  esac
-	elif test "X$arg" = "X-lc_r"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	deplibs="$deplibs $arg"
-	continue
-	;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      -model)
-	compile_command="$compile_command $arg"
-	compiler_flags="$compiler_flags $arg"
-	finalize_command="$finalize_command $arg"
-	prev=xcompiler
-	continue
-	;;
-
-     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	compiler_flags="$compiler_flags $arg"
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-	continue
-	;;
-
-      -multi_module)
-	single_module="${wl}-multi_module"
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m* pass through architecture-specific compiler args for GCC
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-        compile_command="$compile_command $arg"
-        finalize_command="$finalize_command $arg"
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # and Darwin in order for the loader to find any dlls it needs.
-	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
-	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -objectlist)
-	prev=objectlist
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-	prev=precious_regex
-	continue
-	;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  $echo "$modename: only absolute run-paths are allowed" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
-	esac
-	continue
-	;;
-
-      -static | -static-libtool-libs)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-      -version-number)
-	prev=vinfo
-	vinfo_number=yes
-	continue
-	;;
-
-      -Wc,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $flag"
-	done
-	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-	;;
-
-      -Wl,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $wl$flag"
-	  linker_flags="$linker_flags $flag"
-	done
-	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      -XCClinker)
-	prev=xcclinker
-	continue
-	;;
-
-      # Some other compiler flag.
-      -* | +*)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-
-      *.$objext)
-	# A standard object.
-	objs="$objs $arg"
-	;;
-
-      *.lo)
-	# A libtool-controlled object.
-
-	# Check to see that this really is a libtool object.
-	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  pic_object=
-	  non_pic_object=
-
-	  # Read the .lo file
-	  # If there is no directory component, then add one.
-	  case $arg in
-	  */* | *\\*) . $arg ;;
-	  *) . ./$arg ;;
-	  esac
-
-	  if test -z "$pic_object" || \
-	     test -z "$non_pic_object" ||
-	     test "$pic_object" = none && \
-	     test "$non_pic_object" = none; then
-	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  # Extract subdirectory from the argument.
-	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	  if test "X$xdir" = "X$arg"; then
-	    xdir=
- 	  else
-	    xdir="$xdir/"
-	  fi
-
-	  if test "$pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    pic_object="$xdir$pic_object"
-
-	    if test "$prev" = dlfiles; then
-	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		dlfiles="$dlfiles $pic_object"
-		prev=
-		continue
-	      else
-		# If libtool objects are unsupported, then we need to preload.
-		prev=dlprefiles
-	      fi
-	    fi
-
-	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test "$prev" = dlprefiles; then
-	      # Preload the old-style object.
-	      dlprefiles="$dlprefiles $pic_object"
-	      prev=
-	    fi
-
-	    # A PIC object.
-	    libobjs="$libobjs $pic_object"
-	    arg="$pic_object"
-	  fi
-
-	  # Non-PIC object.
-	  if test "$non_pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    non_pic_object="$xdir$non_pic_object"
-
-	    # A standard non-PIC object
-	    non_pic_objects="$non_pic_objects $non_pic_object"
-	    if test -z "$pic_object" || test "$pic_object" = none ; then
-	      arg="$non_pic_object"
-	    fi
-	  else
-	    # If the PIC object exists, use it instead.
-	    # $xdir was prepended to $pic_object above.
-	    non_pic_object="$pic_object"
-	    non_pic_objects="$non_pic_objects $non_pic_object"
-	  fi
-	else
-	  # Only an error if not doing a dry-run.
-	  if test -z "$run"; then
-	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-	    exit $EXIT_FAILURE
-	  else
-	    # Dry-run case.
-
-	    # Extract subdirectory from the argument.
-	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	    if test "X$xdir" = "X$arg"; then
-	      xdir=
-	    else
-	      xdir="$xdir/"
-	    fi
-
-	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-	    libobjs="$libobjs $pic_object"
-	    non_pic_objects="$non_pic_objects $non_pic_object"
-	  fi
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	if test "$prev" = dlfiles; then
-	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
-	  prev=
-	elif test "$prev" = dlprefiles; then
-	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
-	  prev=
-	else
-	  deplibs="$deplibs $arg"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-      fi
-    done # argument parsing loop
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$output_objdir" = "X$output"; then
-      output_objdir="$objdir"
-    else
-      output_objdir="$output_objdir/$objdir"
-    fi
-    # Create the object directory.
-    if test ! -d "$output_objdir"; then
-      $show "$mkdir $output_objdir"
-      $run $mkdir $output_objdir
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
-	exit $exit_status
-      fi
-    fi
-
-    # Determine the type of output
-    case $output in
-    "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    case $host in
-    *cygwin* | *mingw* | *pw32*)
-      # don't eliminate duplications in $postdeps and $predeps
-      duplicate_compiler_generated_deps=yes
-      ;;
-    *)
-      duplicate_compiler_generated_deps=$duplicate_deps
-      ;;
-    esac
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if test "X$duplicate_deps" = "Xyes" ; then
-	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	esac
-      fi
-      libs="$libs $deplib"
-    done
-
-    if test "$linkmode" = lib; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
-	for pre_post_dep in $predeps $postdeps; do
-	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-	  esac
-	  pre_post_deps="$pre_post_deps $pre_post_dep"
-	done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    case $linkmode in
-    lib)
-	passes="conv link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
-	    exit $EXIT_FAILURE
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=no
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-    for pass in $passes; do
-      if test "$linkmode,$pass" = "lib,link" ||
-	 test "$linkmode,$pass" = "prog,scan"; then
-	libs="$deplibs"
-	deplibs=
-      fi
-      if test "$linkmode" = prog; then
-	case $pass in
-	dlopen) libs="$dlfiles" ;;
-	dlpreopen) libs="$dlprefiles" ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      if test "$pass" = dlopen; then
-	# Collect dlpreopened libraries
-	save_deplibs="$deplibs"
-	deplibs=
-      fi
-      for deplib in $libs; do
-	lib=
-	found=no
-	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	  if test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    compiler_flags="$compiler_flags $deplib"
-	  fi
-	  continue
-	  ;;
-	-l*)
-	  if test "$linkmode" != lib && test "$linkmode" != prog; then
-	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
-	    continue
-	  fi
-	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
-	  if test "$linkmode" = lib; then
-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-	  else
-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-	  fi
-	  for searchdir in $searchdirs; do
-	    for search_ext in .la $std_shrext .so .a; do
-	      # Search the libtool library
-	      lib="$searchdir/lib${name}${search_ext}"
-	      if test -f "$lib"; then
-		if test "$search_ext" = ".la"; then
-		  found=yes
-		else
-		  found=no
-		fi
-		break 2
-	      fi
-	    done
-	  done
-	  if test "$found" != yes; then
-	    # deplib doesn't seem to be a libtool library
-	    if test "$linkmode,$pass" = "prog,link"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  else # deplib is a libtool library
-	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-	    # We need to do some special things here, and not later.
-	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	      case " $predeps $postdeps " in
-	      *" $deplib "*)
-		if (${SED} -e '2q' $lib |
-                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-		  library_names=
-		  old_library=
-		  case $lib in
-		  */* | *\\*) . $lib ;;
-		  *) . ./$lib ;;
-		  esac
-		  for l in $old_library $library_names; do
-		    ll="$l"
-		  done
-		  if test "X$ll" = "X$old_library" ; then # only static version available
-		    found=no
-		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-		    test "X$ladir" = "X$lib" && ladir="."
-		    lib=$ladir/$old_library
-		    if test "$linkmode,$pass" = "prog,link"; then
-		      compile_deplibs="$deplib $compile_deplibs"
-		      finalize_deplibs="$deplib $finalize_deplibs"
-		    else
-		      deplibs="$deplib $deplibs"
-		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-		    fi
-		    continue
-		  fi
-		fi
-	        ;;
-	      *) ;;
-	      esac
-	    fi
-	  fi
-	  ;; # -l
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test "$pass" = conv && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-	    ;;
-	  prog)
-	    if test "$pass" = conv; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test "$pass" = scan; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-	    ;;
-	  *)
-	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test "$pass" = link; then
-	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la) lib="$deplib" ;;
-	*.$libext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    valid_a_lib=no
-	    case $deplibs_check_method in
-	      match_pattern*)
-		set dummy $deplibs_check_method
-	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-		if eval $echo \"$deplib\" 2>/dev/null \
-		    | $SED 10q \
-		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		  valid_a_lib=yes
-		fi
-		;;
-	      pass_all)
-		valid_a_lib=yes
-		;;
-            esac
-	    if test "$valid_a_lib" != yes; then
-	      $echo
-	      $echo "*** Warning: Trying to link with static lib archive $deplib."
-	      $echo "*** I have the capability to make that library automatically link in when"
-	      $echo "*** you link to this library.  But I can only do this if you have a"
-	      $echo "*** shared version of the library, which you do not appear to have"
-	      $echo "*** because the file extensions .$libext of this argument makes me believe"
-	      $echo "*** that it is just a static archive that I should not used here."
-	    else
-	      $echo
-	      $echo "*** Warning: Linking the shared library $output against the"
-	      $echo "*** static library $deplib is not portable!"
-	      deplibs="$deplib $deplibs"
-	    fi
-	    continue
-	    ;;
-	  prog)
-	    if test "$pass" != link; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	  elif test "$linkmode" = prog; then
-	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-	      # If there is no dlopen support or we're linking statically,
-	      # we need to preload.
-	      newdlprefiles="$newdlprefiles $deplib"
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      newdlfiles="$newdlfiles $deplib"
-	    fi
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=yes
-	  continue
-	  ;;
-	esac # case $deplib
-	if test "$found" = yes || test -f "$lib"; then :
-	else
-	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$ladir" = "X$lib" && ladir="."
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variables installed, or shouldnotlink
-	installed=yes
-	shouldnotlink=no
-	avoidtemprpath=
-
-
-	# Read the .la file
-	case $lib in
-	*/* | *\\*) . $lib ;;
-	*) . ./$lib ;;
-	esac
-
-	if test "$linkmode,$pass" = "lib,link" ||
-	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-	fi
-
-	if test "$pass" = conv; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	      exit $EXIT_FAILURE
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-              if test "X$duplicate_deps" = "Xyes" ; then
-	        case "$tmp_libs " in
-	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	        esac
-              fi
-	      tmp_libs="$tmp_libs $deplib"
-	    done
-	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
-	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  continue
-	fi # $pass = conv
-
-
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
-	if test -z "$linklib"; then
-	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# This library was specified with -dlopen.
-	if test "$pass" = dlopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  if test -z "$dlname" ||
-	     test "$dlopen_support" != yes ||
-	     test "$build_libtool_libs" = no; then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.  We also need to preload any
-	    # dependent libraries so libltdl's deplib preloader doesn't
-	    # bomb out in the load deplibs phase.
-	    dlprefiles="$dlprefiles $lib $dependency_libs"
-	  else
-	    newdlfiles="$newdlfiles $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
-	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-	    abs_ladir="$ladir"
-	  fi
-	  ;;
-	esac
-	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
-	# Find the relevant object directory and library name.
-	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    libdir="$abs_ladir"
-	  else
-	    dir="$libdir"
-	    absdir="$libdir"
-	  fi
-	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-	else
-	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  else
-	    dir="$ladir/$objdir"
-	    absdir="$abs_ladir/$objdir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  fi
-	fi # $installed = yes
-	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
-	# This library was specified with -dlpreopen.
-	if test "$pass" = dlpreopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test "$linkmode" = lib; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs" # used for prog,scan pass
-	  fi
-	  continue
-	fi
-
-
-	if test "$linkmode" = prog && test "$pass" != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=no
-	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
-	     test "$build_libtool_libs" = no; then
-	    linkalldeplibs=yes
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
-	    esac
-	    # Need to link against all dependency_libs?
-	    if test "$linkalldeplibs" = yes; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if test "X$duplicate_deps" = "Xyes" ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	if test "$linkmode,$pass" = "prog,link"; then
-	  if test -n "$library_names" &&
-	     { { test "$prefer_static_libs" = no ||
-		 test "$prefer_static_libs,$installed" = "built,yes"; } ||
-	       test -z "$old_library"; }; then
-	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-	      # Make sure the rpath contains only unique directories.
-	      case "$temp_rpath " in
-	      *" $dir "*) ;;
-	      *" $absdir "*) ;;
-	      *) temp_rpath="$temp_rpath $absdir" ;;
-	      esac
-	    fi
-
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi # $linkmode,$pass = prog,link...
-
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-	fi
-
-	link_static=no # Whether the deplib will be linked statically
-	use_static_libs=$prefer_static_libs
-	if test "$use_static_libs" = built && test "$installed" = yes ; then
-	  use_static_libs=no
-	fi
-	if test -n "$library_names" &&
-	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
-	  if test "$installed" = no; then
-	    notinst_deplibs="$notinst_deplibs $lib"
-	    need_relink=yes
-	  fi
-	  # This is a shared library
-
-	  # Warn about portability, can't link against -module's on
-	  # some systems (darwin)
-	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
-	    $echo
-	    if test "$linkmode" = prog; then
-	      $echo "*** Warning: Linking the executable $output against the loadable module"
-	    else
-	      $echo "*** Warning: Linking the shared library $output against the loadable module"
-	    fi
-	    $echo "*** $linklib is not portable!"
-	  fi
-	  if test "$linkmode" = lib &&
-	     test "$hardcode_into_libs" = yes; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    realname="$2"
-	    shift; shift
-	    libname=`eval \\$echo \"$libname_spec\"`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname="$dlname"
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin* | mingw*)
-		major=`expr $current - $age`
-		versuffix="-$major"
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname="$realname"
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot="$soname"
-	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
-	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      $show "extracting exported symbol list from \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      cmds=$extract_expsyms_cmds
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      $show "generating import library for \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      cmds=$old_archive_from_expsyms_cmds
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n "$old_archive_from_expsyms_cmds"
-
-	  if test "$linkmode" = prog || test "$mode" != relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test "$hardcode_direct" = no; then
-		add="$dir/$linklib"
-		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir="-L$dir" ;;
-		  *-*-darwin* )
-		    # if the lib is a module then we can not link against
-		    # it, someone is ignoring the new warnings I added
-		    if /usr/bin/file -L $add 2> /dev/null |
-                      $EGREP ": [^:]* bundle" >/dev/null ; then
-		      $echo "** Warning, lib $linklib is a module, not a shared library"
-		      if test -z "$old_library" ; then
-		        $echo
-		        $echo "** And there doesn't seem to be a static archive available"
-		        $echo "** The link will probably fail, sorry"
-		      else
-		        add="$dir/$old_library"
-		      fi
-		    fi
-		esac
-	      elif test "$hardcode_minus_L" = no; then
-		case $host in
-		*-*-sunos*) add_shlibpath="$dir" ;;
-		esac
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = no; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test "$hardcode_direct" = yes; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
-		# Try looking first in the location we're being installed to.
-		if test -n "$inst_prefix_dir"; then
-		  case $libdir in
-		    [\\/]*)
-		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		      ;;
-		  esac
-		fi
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = yes; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test "$lib_linked" != yes; then
-	      $echo "$modename: configuration error: unsupported hardcode properties"
-	      exit $EXIT_FAILURE
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes && \
-		 test "$hardcode_minus_L" != yes && \
-		 test "$hardcode_shlibpath_var" = yes; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test "$linkmode" = prog || test "$mode" = relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes; then
-	      add="$libdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-	      esac
-	      add="-l$name"
-	    elif test "$hardcode_automatic" = yes; then
-	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
-	        add="$inst_prefix_dir$libdir/$linklib"
-	      else
-	        add="$libdir/$linklib"
-	      fi
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir="-L$libdir"
-	      # Try looking first in the location we're being installed to.
-	      if test -n "$inst_prefix_dir"; then
-		case $libdir in
-		  [\\/]*)
-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		    ;;
-		esac
-	      fi
-	      add="-l$name"
-	    fi
-
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test "$linkmode" = prog; then
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test "$build_libtool_libs" = yes; then
-	  # Not a shared library
-	  if test "$deplibs_check_method" != pass_all; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    $echo
-	    $echo "*** Warning: This system can not link to static lib archive $lib."
-	    $echo "*** I have the capability to make that library automatically link in when"
-	    $echo "*** you link to this library.  But I can only do this if you have a"
-	    $echo "*** shared version of the library, which you do not appear to have."
-	    if test "$module" = yes; then
-	      $echo "*** But as you try to build a module library, libtool will still create "
-	      $echo "*** a static module, that should work as long as the dlopening application"
-	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		$echo
-		$echo "*** However, this would only work if libtool was able to extract symbol"
-		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$echo "*** not find such a program.  So, this module is probably useless."
-		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test "$build_old_libs" = no; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test "$linkmode" = lib; then
-	  if test -n "$dependency_libs" &&
-	     { test "$hardcode_into_libs" != yes ||
-	       test "$build_old_libs" = yes ||
-	       test "$link_static" = yes; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
-		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
-	      esac
-	    done
-	    dependency_libs="$temp_deplibs"
-	  fi
-
-	  newlib_search_path="$newlib_search_path $absdir"
-	  # Link against this library
-	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    if test "X$duplicate_deps" = "Xyes" ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-
-	  if test "$link_all_deplibs" != no; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      -L*) path="$deplib" ;;
-	      *.la)
-		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
-		test "X$dir" = "X$deplib" && dir="."
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-		    absdir="$dir"
-		  fi
-		  ;;
-		esac
-		if grep "^installed=no" $deplib > /dev/null; then
-		  path="$absdir/$objdir"
-		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  if test -z "$libdir"; then
-		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		    exit $EXIT_FAILURE
-		  fi
-		  if test "$absdir" != "$libdir"; then
-		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-		  fi
-		  path="$absdir"
-		fi
-		depdepl=
-		case $host in
-		*-*-darwin*)
-		  # we do not want to link against static libs,
-		  # but need to link against shared
-		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names" ; then
-		    for tmp in $deplibrary_names ; do
-		      depdepl=$tmp
-		    done
-		    if test -f "$deplibdir/$depdepl" ; then
-		      depdepl="$deplibdir/$depdepl"
-	      	    elif test -f "$path/$depdepl" ; then
-		      depdepl="$path/$depdepl"
-		    else
-		      # Can't find it, oh well...
-		      depdepl=
-		    fi
-		    # do not add paths which are already there
-		    case " $newlib_search_path " in
-		    *" $path "*) ;;
-		    *) newlib_search_path="$newlib_search_path $path";;
-		    esac
-		  fi
-		  path=""
-		  ;;
-		*)
-		  path="-L$path"
-		  ;;
-		esac
-		;;
-	      -l*)
-		case $host in
-		*-*-darwin*)
-		  # Again, we only want to link against shared libraries
-		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
-		  for tmp in $newlib_search_path ; do
-		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
-		      eval depdepl="$tmp/lib$tmp_libs.dylib"
-		      break
-		    fi
-		  done
-		  path=""
-		  ;;
-		*) continue ;;
-		esac
-		;;
-	      *) continue ;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$path $deplibs" ;;
-	      esac
-	      case " $deplibs " in
-	      *" $depdepl "*) ;;
-	      *) deplibs="$depdepl $deplibs" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test "$pass" != dlopen; then
-	if test "$pass" != conv; then
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	fi
-
-	if test "$linkmode,$pass" != "prog,link"; then
-	  vars="deplibs"
-	else
-	  vars="compile_deplibs finalize_deplibs"
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    # FIXME: Pedantically, this is the right thing to do, so
-	    #        that some nasty dependency loop isn't accidentally
-	    #        broken:
-	    #new_libs="$deplib $new_libs"
-	    # Pragmatically, this seems to cause very few problems in
-	    # practice:
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    -R*) ;;
-	    *)
-	      # And here is the reason: when a library appears more
-	      # than once as an explicit dependence of a library, or
-	      # is implicitly linked in more than once by the
-	      # compiler, it is considered special, and multiple
-	      # occurrences thereof are not removed.  Compare this
-	      # with having the same library being listed as a
-	      # dependency of multiple other libraries: in this case,
-	      # we know (pedantically, we assume) the library does not
-	      # need to be listed more than once, so we keep only the
-	      # last copy.  This is not always right, but it is rare
-	      # enough that we require users that really mean to play
-	      # such unportable linking tricks to link the library
-	      # using -Wl,-lname, so that libtool does not consider it
-	      # for duplicate removal.
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
-	      esac
-	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs ; do
-	case " $predeps $postdeps $compiler_lib_search_path " in
-	*" $i "*)
-	  i=""
-	  ;;
-	esac
-	if test -n "$i" ; then
-	  tmp_libs="$tmp_libs $i"
-	fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
-      esac
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      objs="$objs$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-	eval shared_ext=\"$shrext_cmds\"
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	if test "$module" = no; then
-	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-	if test "$need_lib_prefix" != no; then
-	  # Add the "lib" prefix for modules if required
-	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	  eval shared_ext=\"$shrext_cmds\"
-	  eval libname=\"$libname_spec\"
-	else
-	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test "$deplibs_check_method" != pass_all; then
-	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
-	  exit $EXIT_FAILURE
-	else
-	  $echo
-	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
-	  $echo "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
-	fi
-      fi
-
-      if test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
-      fi
-
-      set dummy $rpath
-      if test "$#" -gt 2; then
-	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
-	  # Building a libtool convenience library.
-	  # Some compilers have problems with a `.al' extension so
-	  # convenience libraries should have the same extension an
-	  # archive normally would.
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	if test -n "$vinfo"; then
-	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
-	fi
-
-	if test -n "$release"; then
-	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-	fi
-      else
-
-	# Parse the version information argument.
-	save_ifs="$IFS"; IFS=':'
-	set dummy $vinfo 0 0 0
-	IFS="$save_ifs"
-
-	if test -n "$8"; then
-	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# convert absolute version numbers to libtool ages
-	# this retains compatibility with .la files and attempts
-	# to make the code below a bit more comprehensible
-
-	case $vinfo_number in
-	yes)
-	  number_major="$2"
-	  number_minor="$3"
-	  number_revision="$4"
-	  #
-	  # There are really only two kinds -- those that
-	  # use the current revision as the major version
-	  # and those that subtract age and use age as
-	  # a minor version.  But, then there is irix
-	  # which has an extra 1 added just for fun
-	  #
-	  case $version_type in
-	  darwin|linux|osf|windows|none)
-	    current=`expr $number_major + $number_minor`
-	    age="$number_minor"
-	    revision="$number_revision"
-	    ;;
-	  freebsd-aout|freebsd-elf|sunos)
-	    current="$number_major"
-	    revision="$number_minor"
-	    age="0"
-	    ;;
-	  irix|nonstopux)
-	    current=`expr $number_major + $number_minor`
-	    age="$number_minor"
-	    revision="$number_minor"
-	    lt_irix_increment=no
-	    ;;
-	  esac
-	  ;;
-	no)
-	  current="$2"
-	  revision="$3"
-	  age="$4"
-	  ;;
-	esac
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	case $revision in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	case $age in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	if test "$age" -gt "$current"; then
-	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  # Darwin ld doesn't like 0 for these options...
-	  minor_current=`expr $current + 1`
-	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-	  ;;
-
-	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
-	  ;;
-
-	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current";
-	  ;;
-
-	irix | nonstopux)
-	  if test "X$lt_irix_increment" = "Xno"; then
-	    major=`expr $current - $age`
-	  else
-	    major=`expr $current - $age + 1`
-	  fi
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring="$verstring_prefix$major.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test "$loop" -ne 0; do
-	    iface=`expr $revision - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring_prefix$major.$iface:$verstring"
-	  done
-
-	  # Before this point, $major must not contain `.'.
-	  major=.$major
-	  versuffix="$major.$revision"
-	  ;;
-
-	linux)
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  ;;
-
-	osf)
-	  major=.`expr $current - $age`
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test "$loop" -ne 0; do
-	    iface=`expr $current - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring:${iface}.0"
-	  done
-
-	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
-	  ;;
-
-	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 filesystems.
-	  major=`expr $current - $age`
-	  versuffix="-$major"
-	  ;;
-
-	*)
-	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
-	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=
-	    ;;
-	  *)
-	    verstring="0.0"
-	    ;;
-	  esac
-	  if test "$need_version" = no; then
-	    versuffix=
-	  else
-	    versuffix=".0.0"
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
-	  major=
-	  versuffix=
-	  verstring=""
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-	    build_libtool_libs=no
-	    build_old_libs=yes
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
-	fi
-      fi
-
-      if test "$mode" != relink; then
-	# Remove our outputs, but don't remove object files since they
-	# may have been created when compiling PIC objects.
-	removelist=
-	tempremovelist=`$echo "$output_objdir/*"`
-	for p in $tempremovelist; do
-	  case $p in
-	    *.$objext)
-	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-	       if test "X$precious_files_regex" != "X"; then
-	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-	         then
-		   continue
-		 fi
-	       fi
-	       removelist="$removelist $p"
-	       ;;
-	    *) ;;
-	  esac
-	done
-	if test -n "$removelist"; then
-	  $show "${rm}r $removelist"
-	  $run ${rm}r $removelist
-	fi
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
-      #	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
-      #	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
-	esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs -framework System"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    ;;
- 	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behavior.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $rm conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $rm conftest
-	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      name=`expr $i : '-l\(.*\)'`
-	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
-		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		  case " $predeps $postdeps " in
-		  *" $i "*)
-		    newdeplibs="$newdeplibs $i"
-		    i=""
-		    ;;
-		  esac
-	        fi
-		if test -n "$i" ; then
-		  libname=`eval \\$echo \"$libname_spec\"`
-		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		  set dummy $deplib_matches
-		  deplib_match=$2
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
-		  else
-		    droppeddeps=yes
-		    $echo
-		    $echo "*** Warning: dynamic linker does not accept needed library $i."
-		    $echo "*** I have the capability to make that library automatically link in when"
-		    $echo "*** you link to this library.  But I can only do this if you have a"
-		    $echo "*** shared version of the library, which I believe you do not have"
-		    $echo "*** because a test_compile did reveal that the linker did not use it for"
-		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
-		  fi
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  else
-	    # Error occurred in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      name=`expr $i : '-l\(.*\)'`
-	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
-		$rm conftest
-		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-		  ldd_output=`ldd conftest`
-		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		    case " $predeps $postdeps " in
-		    *" $i "*)
-		      newdeplibs="$newdeplibs $i"
-		      i=""
-		      ;;
-		    esac
-		  fi
-		  if test -n "$i" ; then
-		    libname=`eval \\$echo \"$libname_spec\"`
-		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		    set dummy $deplib_matches
-		    deplib_match=$2
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		      newdeplibs="$newdeplibs $i"
-		    else
-		      droppeddeps=yes
-		      $echo
-		      $echo "*** Warning: dynamic linker does not accept needed library $i."
-		      $echo "*** I have the capability to make that library automatically link in when"
-		      $echo "*** you link to this library.  But I can only do this if you have a"
-		      $echo "*** shared version of the library, which you do not appear to have"
-		      $echo "*** because a test_compile did reveal that the linker did not use this one"
-		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-		    fi
-		  fi
-		else
-		  droppeddeps=yes
-		  $echo
-		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $echo "*** make it link in!  You will probably need to install it or some"
-		  $echo "*** library that it depends on before this library will be fully"
-		  $echo "*** functional.  Installing it before continuing would be even better."
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method
-	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    name=`expr $a_deplib : '-l\(.*\)'`
-	    # If $name is empty we are operating on a -L argument.
-            if test "$name" != "" && test  "$name" != "0"; then
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null \
-			 | grep " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib="$potent_lib"
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-			 | ${SED} 10q \
-			 | $EGREP "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
-			a_deplib=""
-			break 2
-		      fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		$echo
-		$echo "*** Warning: linker path does not have real file for library $a_deplib."
-		$echo "*** I have the capability to make that library automatically link in when"
-		$echo "*** you link to this library.  But I can only do this if you have a"
-		$echo "*** shared version of the library, which you do not appear to have"
-		$echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  $echo "*** with $libname and none of the candidates passed a file format test"
-		  $echo "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    name=`expr $a_deplib : '-l\(.*\)'`
-	    # If $name is empty we are operating on a -L argument.
-	    if test -n "$name" && test "$name" != "0"; then
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval $echo \"$potent_lib\" 2>/dev/null \
-		        | ${SED} 10q \
-		        | $EGREP "$match_pattern_regex" > /dev/null; then
-		      newdeplibs="$newdeplibs $a_deplib"
-		      a_deplib=""
-		      break 2
-		    fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		$echo
-		$echo "*** Warning: linker path does not have real file for library $a_deplib."
-		$echo "*** I have the capability to make that library automatically link in when"
-		$echo "*** you link to this library.  But I can only do this if you have a"
-		$echo "*** shared version of the library, which you do not appear to have"
-		$echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  $echo "*** with $libname and none of the candidates passed a file format test"
-		  $echo "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=""
-	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-	    -e 's/ -[LR][^ ]*//g'`
-	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	    for i in $predeps $postdeps ; do
-	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
-	    done
-	  fi
-	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
-	    | grep . >/dev/null; then
-	    $echo
-	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      $echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    $echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	  fi
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library is the System framework
-	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	  ;;
-	esac
-
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
-	    $echo
-	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $echo "*** a static module, that should work as long as the dlopening"
-	    $echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      $echo
-	      $echo "*** However, this would only work if libtool was able to extract symbol"
-	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $echo "*** not find such a program.  So, this module is probably useless."
-	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    $echo "*** The inter-library dependencies that have been dropped here will be"
-	    $echo "*** automatically added whenever a program is linked with this library"
-	    $echo "*** or is declared to -dlopen it."
-
-	    if test "$allow_undefined" = no; then
-	      $echo
-	      $echo "*** Since this library must not contain undefined symbols,"
-	      $echo "*** because either the platform does not support them or"
-	      $echo "*** it was explicitly requested with -no-undefined,"
-	      $echo "*** libtool will only create a static version of it."
-	      if test "$build_old_libs" = no; then
-		oldlibs="$output_objdir/$libname.$libext"
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      deplibs="$new_libs"
-
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	if test "$hardcode_into_libs" = yes; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs="$libdir"
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      case $archive_cmds in
-	      *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
-	      *)      eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
-	      esac
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval shared_ext=\"$shrext_cmds\"
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	realname="$2"
-	shift; shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname="$realname"
-	fi
-	if test -z "$dlname"; then
-	  dlname=$soname
-	fi
-
-	lib="$output_objdir/$realname"
-	linknames=
-	for link
-	do
-	  linknames="$linknames $link"
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    cmds=$export_symbols_cmds
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      eval cmd=\"$cmd\"
-	      if len=`expr "X$cmd" : ".*"` &&
-	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	        $show "$cmd"
-	        $run eval "$cmd" || exit $?
-	        skipped_export=false
-	      else
-	        # The command line is too long to execute in one step.
-	        $show "using reloadable object file for export list..."
-	        skipped_export=:
-		# Break out early, otherwise skipped_export may be
-		# set to false by a later but shorter cmd.
-		break
-	      fi
-	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex"; then
-	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-	fi
-
-	tmp_deplibs=
-	for test_deplib in $deplibs; do
-		case " $convenience " in
-		*" $test_deplib "*) ;;
-		*)
-			tmp_deplibs="$tmp_deplibs $test_deplib"
-			;;
-		esac
-	done
-	deplibs="$tmp_deplibs"
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	  else
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    func_extract_archives $gentop $convenience
-	    libobjs="$libobjs $func_extract_archives_result"
-	  fi
-	fi
-	
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test "$module" = yes && test -n "$module_cmds" ; then
-	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	    eval test_cmds=\"$module_expsym_cmds\"
-	    cmds=$module_expsym_cmds
-	  else
-	    eval test_cmds=\"$module_cmds\"
-	    cmds=$module_cmds
-	  fi
-	else
-	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	  eval test_cmds=\"$archive_expsym_cmds\"
-	  cmds=$archive_expsym_cmds
-	else
-	  eval test_cmds=\"$archive_cmds\"
-	  cmds=$archive_cmds
-	  fi
-	fi
-
-	if test "X$skipped_export" != "X:" &&
-	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  :
-	else
-	  # The command line is too long to link in one step, link piecewise.
-	  $echo "creating reloadable object files..."
-
-	  # Save the value of $output and $libobjs because we want to
-	  # use them later.  If we have whole_archive_flag_spec, we
-	  # want to use save_libobjs as it was before
-	  # whole_archive_flag_spec was expanded, because we can't
-	  # assume the linker understands whole_archive_flag_spec.
-	  # This may have to be revisited, in case too many
-	  # convenience libraries get linked in and end up exceeding
-	  # the spec.
-	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	  fi
-	  save_output=$output
-	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
-	  # Clear the reloadable object creation command queue and
-	  # initialize k to one.
-	  test_cmds=
-	  concat_cmds=
-	  objlist=
-	  delfiles=
-	  last_robj=
-	  k=1
-	  output=$output_objdir/$output_la-${k}.$objext
-	  # Loop over the list of objects to be linked.
-	  for obj in $save_libobjs
-	  do
-	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
-	    if test "X$objlist" = X ||
-	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-		 test "$len" -le "$max_cmd_len"; }; then
-	      objlist="$objlist $obj"
-	    else
-	      # The command $test_cmds is almost too long, add a
-	      # command to the queue.
-	      if test "$k" -eq 1 ; then
-		# The first file doesn't have a previous command to add.
-		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
-	      else
-		# All subsequent reloadable object files will link in
-		# the last one created.
-		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
-	      fi
-	      last_robj=$output_objdir/$output_la-${k}.$objext
-	      k=`expr $k + 1`
-	      output=$output_objdir/$output_la-${k}.$objext
-	      objlist=$obj
-	      len=1
-	    fi
-	  done
-	  # Handle the remaining objects by creating one last
-	  # reloadable object file.  All subsequent reloadable object
-	  # files will link in the last one created.
-	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
-	  if ${skipped_export-false}; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    libobjs=$output
-	    # Append the command to create the export file.
-	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
-          fi
-
-	  # Set up a command to remove the reloadable object files
-	  # after they are used.
-	  i=0
-	  while test "$i" -lt "$k"
-	  do
-	    i=`expr $i + 1`
-	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
-	  done
-
-	  $echo "creating a temporary reloadable object file: $output"
-
-	  # Loop through the commands generated above and execute them.
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $concat_cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || exit $?
-	  done
-	  IFS="$save_ifs"
-
-	  libobjs=$output
-	  # Restore the value of output.
-	  output=$save_output
-
-	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	  fi
-	  # Expand the library linking commands again to reset the
-	  # value of $libobjs for piecewise linking.
-
-	  # Do each of the archive commands.
-	  if test "$module" = yes && test -n "$module_cmds" ; then
-	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	      cmds=$module_expsym_cmds
-	    else
-	      cmds=$module_cmds
-	    fi
-	  else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    cmds=$archive_expsym_cmds
-	  else
-	    cmds=$archive_cmds
-	    fi
-	  fi
-
-	  # Append the command to remove the reloadable object files
-	  # to the just-reset $cmds.
-	  eval cmds=\"\$cmds~\$rm $delfiles\"
-	fi
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $show "$cmd"
-	  $run eval "$cmd" || {
-	    lt_exit=$?
-
-	    # Restore the uninstalled library and exit
-	    if test "$mode" = relink; then
-	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-	    fi
-
-	    exit $lt_exit
-	  }
-	done
-	IFS="$save_ifs"
-
-	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
-	  if test -n "$convenience"; then
-	    if test -z "$whole_archive_flag_spec"; then
-	      $show "${rm}r $gentop"
-	      $run ${rm}r "$gentop"
-	    fi
-	  fi
-
-	  exit $EXIT_SUCCESS
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
-      fi
-      ;;
-
-    obj)
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
-      esac
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
-
-      case $output in
-      *.lo)
-	if test -n "$objs$old_deplibs"; then
-	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-	libobj="$output"
-	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
-	;;
-      *)
-	libobj=
-	obj="$output"
-	;;
-      esac
-
-      # Delete the old objects.
-      $run $rm $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
-	else
-	  gentop="$output_objdir/${obj}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $convenience
-	  reload_conv_objs="$reload_objs $func_extract_archives_result"
-	fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      cmds=$reload_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	eval cmd=\"$cmd\"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	# $show "echo timestamp > $libobj"
-	# $run eval "echo timestamp > $libobj" || exit $?
-	exit $EXIT_SUCCESS
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
-	cmds=$reload_cmds
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
-      fi
-
-      if test -n "$gentop"; then
-	$show "${rm}r $gentop"
-	$run ${rm}r $gentop
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
-      esac
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
-
-      if test "$preload" = yes; then
-	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
-	   test "$dlopen_self_static" = unknown; then
-	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-	fi
-      fi
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	;;
-      esac
-
-      case $host in
-      *darwin*)
-        # Don't allow lazy linking, it breaks C++ global constructors
-        if test "$tagname" = CXX ; then
-        compile_command="$compile_command ${wl}-bind_at_load"
-        finalize_command="$finalize_command ${wl}-bind_at_load"
-        fi
-        ;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $compile_deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $compile_deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      compile_deplibs="$new_libs"
-
-
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	  dlsyms="${outputname}S.c"
-	else
-	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-	fi
-      fi
-
-      if test -n "$dlsyms"; then
-	case $dlsyms in
-	"") ;;
-	*.c)
-	  # Discover the nlist of each of the dlfiles.
-	  nlist="$output_objdir/${outputname}.nm"
-
-	  $show "$rm $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Parse the name list into a source file.
-	  $show "creating $output_objdir/$dlsyms"
-
-	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-	  if test "$dlself" = yes; then
-	    $show "generating symbol list for \`$output'"
-
-	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-	    # Add our own program objects to the symbol list.
-	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	    for arg in $progfiles; do
-	      $show "extracting global C symbols from \`$arg'"
-	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	    done
-
-	    if test -n "$exclude_expsyms"; then
-	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    if test -n "$export_symbols_regex"; then
-	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    # Prepare the list of exported symbols
-	    if test -z "$export_symbols"; then
-	      export_symbols="$output_objdir/$outputname.exp"
-	      $run $rm $export_symbols
-	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-              case $host in
-              *cygwin* | *mingw* )
-	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-	    else
-	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      $run eval 'mv "$nlist"T "$nlist"'
-              case $host in
-              *cygwin* | *mingw* )
-	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-	    fi
-	  fi
-
-	  for arg in $dlprefiles; do
-	    $show "extracting global C symbols from \`$arg'"
-	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
-	    $run eval '$echo ": $name " >> "$nlist"'
-	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -z "$run"; then
-	    # Make sure we have at least an empty file.
-	    test -f "$nlist" || : > "$nlist"
-
-	    if test -n "$exclude_expsyms"; then
-	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	      $mv "$nlist"T "$nlist"
-	    fi
-
-	    # Try sorting and uniquifying the output.
-	    if grep -v "^: " < "$nlist" |
-		if sort -k 3 </dev/null >/dev/null 2>&1; then
-		  sort -k 3
-		else
-		  sort +2
-		fi |
-		uniq > "$nlist"S; then
-	      :
-	    else
-	      grep -v "^: " < "$nlist" > "$nlist"S
-	    fi
-
-	    if test -f "$nlist"S; then
-	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-	    else
-	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
-	    fi
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
-	    case $host in
-	    *cygwin* | *mingw* )
-	  $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs */
-struct {
-"
-	      ;;
-	    * )
-	  $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
-	      ;;
-	    esac
-
-
-	  $echo >> "$output_objdir/$dlsyms" "\
-  const char *name;
-  lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	  fi
-
-	  pic_flag_for_symtable=
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
-	    esac;;
-	  *-*-hpux*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag";;
-	    esac
-	  esac
-
-	  # Now compile the dynamic symbol file.
-	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-	  # Clean up the generated files.
-	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Transform the symbol file into the correct name.
-          case $host in
-          *cygwin* | *mingw* )
-            if test -f "$output_objdir/${outputname}.def" ; then
-              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
-              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            else
-              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-             fi
-            ;;
-          * )
-            compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            ;;
-          esac
-	  ;;
-	*)
-	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-      else
-	# We keep going just in case the user didn't refer to
-	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-	# really was required.
-
-	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
-      fi
-
-      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
-	link_command="$compile_command$compile_rpath"
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	$show "$link_command"
-	$run eval "$link_command"
-	exit_status=$?
-
-	# Delete the generated files.
-	if test -n "$dlsyms"; then
-	  $show "$rm $output_objdir/${outputname}S.${objext}"
-	  $run $rm "$output_objdir/${outputname}S.${objext}"
-	fi
-
-	exit $exit_status
-      fi
-
-      if test -n "$shlibpath_var"; then
-	# We should set the shlibpath_var
-	rpath=
-	for dir in $temp_rpath; do
-	  case $dir in
-	  [\\/]* | [A-Za-z]:[\\/]*)
-	    # Absolute path.
-	    rpath="$rpath$dir:"
-	    ;;
-	  *)
-	    # Relative path: add a thisdir entry.
-	    rpath="$rpath\$thisdir/$dir:"
-	    ;;
-	  esac
-	done
-	temp_rpath="$rpath"
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test "$no_install" = yes; then
-	# We don't need to create a wrapper script.
-	link_command="$compile_var$compile_command$compile_rpath"
-	# Replace the output file specification.
-	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$run $rm $output
-	# Link the executable and exit
-	$show "$link_command"
-	$run eval "$link_command" || exit $?
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-	$echo "$modename: \`$output' will be relinked during installation" 1>&2
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
-
-      # Now create the wrapper script.
-      $show "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
-      fi
-
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
-	case $progpath in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-	esac
-	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*)
-	    exeext=.exe
-	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
-	  *) exeext= ;;
-	esac
-	case $host in
-	  *cygwin* | *mingw* )
-            output_name=`basename $output`
-            output_path=`dirname $output`
-            cwrappersource="$output_path/$objdir/lt-$output_name.c"
-            cwrapper="$output_path/$output_name.exe"
-            $rm $cwrappersource $cwrapper
-            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "/bin/sh $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
-*/
-EOF
-	    cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS.  */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int    check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  DEBUG("(main) argv[0]      : %s\n",argv[0]);
-  DEBUG("(main) program_name : %s\n",program_name);
-  newargz = XMALLOC(char *, argc+2);
-EOF
-
-            cat >> $cwrappersource <<EOF
-  newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
-            cat >> $cwrappersource <<"EOF"
-  newargz[1] = find_executable(argv[0]);
-  if (newargz[1] == NULL)
-    lt_fatal("Couldn't find %s", argv[0]);
-  DEBUG("(main) found exe at : %s\n",newargz[1]);
-  /* we know the script has the same name, without the .exe */
-  /* so make sure newargz[1] doesn't end in .exe */
-  strendzap(newargz[1],".exe");
-  for (i = 1; i < argc; i++)
-    newargz[i+1] = xstrdup(argv[i]);
-  newargz[argc+1] = NULL;
-
-  for (i=0; i<argc+1; i++)
-  {
-    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
-    ;
-  }
-
-EOF
-
-            case $host_os in
-              mingw*)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",(char const **)newargz);
-EOF
-              ;;
-              *)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",newargz);
-EOF
-              ;;
-            esac
-
-            cat >> $cwrappersource <<"EOF"
-  return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
-  void * p = (void *) malloc (num);
-  if (!p)
-    lt_fatal ("Memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable(const char * path)
-{
-  struct stat st;
-
-  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0) &&
-      (
-        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
-       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
-       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
-       ((st.st_mode & S_IXUSR) == S_IXUSR))
-      )
-    return 1;
-  else
-    return 0;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
-  int has_slash = 0;
-  const char* p;
-  const char* p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char* concat_name;
-
-  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
-  {
-    concat_name = xstrdup (wrapper);
-    if (check_executable(concat_name))
-      return concat_name;
-    XFREE(concat_name);
-  }
-  else
-  {
-#endif
-    if (IS_DIR_SEPARATOR (wrapper[0]))
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable(concat_name))
-        return concat_name;
-      XFREE(concat_name);
-    }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-    {
-      has_slash = 1;
-      break;
-    }
-  if (!has_slash)
-  {
-    /* no slashes; search PATH */
-    const char* path = getenv ("PATH");
-    if (path != NULL)
-    {
-      for (p = path; *p; p = p_next)
-      {
-        const char* q;
-        size_t p_len;
-        for (q = p; *q; q++)
-          if (IS_PATH_SEPARATOR(*q))
-            break;
-        p_len = q - p;
-        p_next = (*q == '\0' ? q : q + 1);
-        if (p_len == 0)
-        {
-          /* empty path: current directory */
-          if (getcwd (tmp, LT_PATHMAX) == NULL)
-            lt_fatal ("getcwd failed");
-          tmp_len = strlen(tmp);
-          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, tmp, tmp_len);
-          concat_name[tmp_len] = '/';
-          strcpy (concat_name + tmp_len + 1, wrapper);
-        }
-        else
-        {
-          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, p, p_len);
-          concat_name[p_len] = '/';
-          strcpy (concat_name + p_len + 1, wrapper);
-        }
-        if (check_executable(concat_name))
-          return concat_name;
-        XFREE(concat_name);
-      }
-    }
-    /* not found in PATH; assume curdir */
-  }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
-  tmp_len = strlen(tmp);
-  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable(concat_name))
-    return concat_name;
-  XFREE(concat_name);
-  return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert(str != NULL);
-  assert(pat != NULL);
-
-  len = strlen(str);
-  patlen = strlen(pat);
-
-  if (patlen <= len)
-  {
-    str += len - patlen;
-    if (strcmp(str, pat) == 0)
-      *str = '\0';
-  }
-  return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
-          const char * message, va_list ap)
-{
-  fprintf (stderr, "%s: %s: ", program_name, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-  va_end (ap);
-}
-EOF
-          # we should really use a build-platform specific compiler
-          # here, but OTOH, the wrappers (shell script and this C one)
-          # are only useful if you want to execute the "real" binary.
-          # Since the "real" binary is built for $host, then this
-          # wrapper might as well be built for $host, too.
-          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
-          ;;
-        esac
-        $rm $output
-        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
-	$echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-	$echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  $echo >> $output "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-	  $echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$echo \"\$relink_command_output\" >&2
-	$rm \"\$progdir/\$file\"
-	exit $EXIT_FAILURE
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-	else
-	  $echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	$echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-
-      # Make sure env LD_LIBRARY_PATH does not mess us up
-      if test -n \"\${LD_LIBRARY_PATH+set}\"; then
-        export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH
-      fi
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2*)
-	  $echo >> $output "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $echo >> $output "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \$*\"
-      exit $EXIT_FAILURE
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi\
-"
-	chmod +x $output
-      fi
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
-	  build_libtool_libs=no
-	else
-	  oldobjs="$old_deplibs $non_pic_objects"
-	fi
-	addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
-	generated="$generated $gentop"
-
-	func_extract_archives $gentop $addlibs
-	oldobjs="$oldobjs $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       cmds=$old_archive_from_new_cmds
-      else
-	# POSIX demands no paths to be encoded in archives.  We have
-	# to avoid creating archives with duplicate basenames if we
-	# might have to extract them afterwards, e.g., when creating a
-	# static archive out of a convenience library, or when linking
-	# the entirety of a libtool archive into another (currently
-	# not supported by libtool).
-	if (for obj in $oldobjs
-	    do
-	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
-	    done | sort | sort -uc >/dev/null 2>&1); then
-	  :
-	else
-	  $echo "copying selected object files to avoid basename conflicts..."
-
-	  if test -z "$gentop"; then
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    $show "${rm}r $gentop"
-	    $run ${rm}r "$gentop"
-	    $show "$mkdir $gentop"
-	    $run $mkdir "$gentop"
-	    exit_status=$?
-	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
-	      exit $exit_status
-	    fi
-	  fi
-
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  counter=1
-	  for obj in $save_oldobjs
-	  do
-	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-	    case " $oldobjs " in
-	    " ") oldobjs=$obj ;;
-	    *[\ /]"$objbase "*)
-	      while :; do
-		# Make sure we don't pick an alternate name that also
-		# overlaps.
-		newobj=lt$counter-$objbase
-		counter=`expr $counter + 1`
-		case " $oldobjs " in
-		*[\ /]"$newobj "*) ;;
-		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
-		esac
-	      done
-	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      $run ln "$obj" "$gentop/$newobj" ||
-	      $run cp "$obj" "$gentop/$newobj"
-	      oldobjs="$oldobjs $gentop/$newobj"
-	      ;;
-	    *) oldobjs="$oldobjs $obj" ;;
-	    esac
-	  done
-	fi
-
-	eval cmds=\"$old_archive_cmds\"
-
-	if len=`expr "X$cmds" : ".*"` &&
-	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  cmds=$old_archive_cmds
-	else
-	  # the command line is too long to link in one step, link in parts
-	  $echo "using piecewise archive linking..."
-	  save_RANLIB=$RANLIB
-	  RANLIB=:
-	  objlist=
-	  concat_cmds=
-	  save_oldobjs=$oldobjs
-
-	  # Is there a better way of finding the last object in the list?
-	  for obj in $save_oldobjs
-	  do
-	    last_oldobj=$obj
-	  done
-	  for obj in $save_oldobjs
-	  do
-	    oldobjs="$objlist $obj"
-	    objlist="$objlist $obj"
-	    eval test_cmds=\"$old_archive_cmds\"
-	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-	       test "$len" -le "$max_cmd_len"; then
-	      :
-	    else
-	      # the above command should be used before it gets too long
-	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj" ; then
-	        RANLIB=$save_RANLIB
-	      fi
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-	      objlist=
-	    fi
-	  done
-	  RANLIB=$save_RANLIB
-	  oldobjs=$objlist
-	  if test "X$oldobjs" = "X" ; then
-	    eval cmds=\"\$concat_cmds\"
-	  else
-	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-	  fi
-	fi
-      fi
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-        eval cmd=\"$cmd\"
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
-      if test "$hardcode_automatic" = yes ; then
-	relink_command=
-      fi
-
-
-      # Only create the output if not a dry run.
-      if test -z "$run"; then
-	for installed in no yes; do
-	  if test "$installed" = yes; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output="$output_objdir/$outputname"i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		if test -z "$libdir"; then
-		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		  exit $EXIT_FAILURE
-		fi
-		newdependency_libs="$newdependency_libs $libdir/$name"
-		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
-	      esac
-	    done
-	    dependency_libs="$newdependency_libs"
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit $EXIT_FAILURE
-	      fi
-	      newdlfiles="$newdlfiles $libdir/$name"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit $EXIT_FAILURE
-	      fi
-	      newdlprefiles="$newdlprefiles $libdir/$name"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  else
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlfiles="$newdlfiles $abs"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlprefiles="$newdlprefiles $abs"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  fi
-	  $rm $output
-	  # place dlname in correct position for cygwin
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-	  esac
-	  $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test "$installed" = no && test "$need_relink" = yes; then
-	    $echo >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      fi
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | grep shtool > /dev/null; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f) 
-      	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
-	;;
-      -g | -m | -o) prev=$arg ;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	$echo "$modename: no file or destination specified" 1>&2
-      else
-	$echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test "$#" -gt 2; then
-	$echo "$modename: \`$dest' is not a directory" 1>&2
-	$echo "$help" 1>&2
-	exit $EXIT_FAILURE
-      fi
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	library_names=
-	old_library=
-	relink_command=
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
-	test "X$dir" = "X$file/" && dir=
-	dir="$dir$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  if test "$inst_prefix_dir" = "$destdir"; then
-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
-	  else
-	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
-	  fi
-
-	  $echo "$modename: warning: relinking \`$file'" 1>&2
-	  $show "$relink_command"
-	  if $run eval "$relink_command"; then :
-	  else
-	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names
-	if test -n "$2"; then
-	  realname="$2"
-	  shift
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  $show "$install_prog $dir/$srcname $destdir/$realname"
-	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
-	  if test -n "$stripme" && test -n "$striplib"; then
-	    $show "$striplib $destdir/$realname"
-	    $run eval "$striplib $destdir/$realname" || exit $?
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      if test "$linkname" != "$realname"; then
-                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-	      fi
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  cmds=$postinstall_cmds
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    eval cmd=\"$cmd\"
-	    $show "$cmd"
-	    $run eval "$cmd" || {
-	      lt_exit=$?
-
-	      # Restore the uninstalled library and exit
-	      if test "$mode" = relink; then
-		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-	      fi
-
-	      exit $lt_exit
-	    }
-	  done
-	  IFS="$save_ifs"
-	fi
-
-	# Install the pseudo-library for information purposes.
-	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	instname="$dir/$name"i
-	$show "$install_prog $instname $destdir/$name"
-	$run eval "$install_prog $instname $destdir/$name" || exit $?
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	if test -n "$destfile"; then
-	  $show "$install_prog $file $destfile"
-	  $run eval "$install_prog $file $destfile" || exit $?
-	fi
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-	  $show "$install_prog $staticobj $staticdest"
-	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=""
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      file=`$echo $file|${SED} 's,.exe$,,'`
-	      stripped_ext=".exe"
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin*|*mingw*)
-	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  # Note that it is not necessary on cygwin/mingw to append a dot to
-	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
-	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-	  # `FILE.' does not work on cygwin managed mounts.
-	  #
-	  # If there is no directory component, then add one.
-	  case $wrapper in
-	  */* | *\\*) . ${wrapper} ;;
-	  *) . ./${wrapper} ;;
-	  esac
-
-	  # Check the variables that should have been set.
-	  if test -z "$notinst_deplibs"; then
-	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      # If there is no directory component, then add one.
-	      case $lib in
-	      */* | *\\*) . $lib ;;
-	      *) . ./$lib ;;
-	      esac
-	    fi
-	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  # Note that it is not necessary on cygwin/mingw to append a dot to
-	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
-	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-	  # `FILE.' does not work on cygwin managed mounts.
-	  #
-	  # If there is no directory component, then add one.
-	  case $wrapper in
-	  */* | *\\*) . ${wrapper} ;;
-	  *) . ./${wrapper} ;;
-	  esac
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    if test "$finalize" = yes && test -z "$run"; then
-	      tmpdir=`func_mktempdir`
-	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
-	      outputname="$tmpdir/$file"
-	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
-	      $show "$relink_command"
-	      if $run eval "$relink_command"; then :
-	      else
-		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-		${rm}r "$tmpdir"
-		continue
-	      fi
-	      file="$outputname"
-	    else
-	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
-	    fi
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway 
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
-	    ;;
-	  esac
-	  ;;
-	esac
-	$show "$install_prog$stripme $file $destfile"
-	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-	test -n "$outputname" && ${rm}r "$tmpdir"
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	$show "$old_striplib $oldlib"
-	$run eval "$old_striplib $oldlib" || exit $?
-      fi
-
-      # Do each command in the postinstall commands.
-      cmds=$old_postinstall_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	eval cmd=\"$cmd\"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  cmds=$finish_cmds
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    eval cmd=\"$cmd\"
-	    $show "$cmd"
-	    $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-	  done
-	  IFS="$save_ifs"
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = : && exit $EXIT_SUCCESS
-
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    $echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $echo "   $libdir"
-    done
-    $echo
-    $echo "If you ever happen to want to link against installed libraries"
-    $echo "in a given directory, LIBDIR, you must either use libtool, and"
-    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      $echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    $echo
-    $echo "See any operating system documentation about shared libraries for"
-    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit $EXIT_FAILURE
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-	$echo "$modename: \`$file' is not a file" 1>&2
-	$echo "$help" 1>&2
-	exit $EXIT_FAILURE
-      fi
-
-      dir=
-      case $file in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-	;;
-
-      *)
-	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -*) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  # If there is no directory component, then add one.
-	  case $file in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-		$lt_var=\$save_$lt_var; export $lt_var
-	      fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-	$echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool clean and uninstall mode
-  clean | uninstall)
-    modename="$modename: $mode"
-    rm="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) rm="$rm $arg"; rmforce=yes ;;
-      -*) rm="$rm $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    rmdirs=
-
-    origobjdir="$objdir"
-    for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$dir" = "X$file"; then
-	dir=.
-	objdir="$origobjdir"
-      else
-	objdir="$dir/$origobjdir"
-      fi
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-      test "$mode" = uninstall && objdir="$dir"
-
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
-	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if (test -L "$file") >/dev/null 2>&1 \
-	|| (test -h "$file") >/dev/null 2>&1 \
-	|| test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif test "$rmforce" = yes; then
-	continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  . $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
-	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
-	  case "$mode" in
-	  clean)
-	    case "  $library_names " in
-	    # "  " in the beginning catches empty $dlname
-	    *" $dlname "*) ;;
-	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
-	    esac
-	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-	    ;;
-	  uninstall)
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      cmds=$postuninstall_cmds
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test "$?" -ne 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      cmds=$old_postuninstall_cmds
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test "$?" -ne 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	    ;;
-	  esac
-	fi
-	;;
-
-      *.lo)
-	# Possibly a libtool object, so verify it.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
-	  # Read the .lo file
-	  . $dir/$name
-
-	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" \
-	     && test "$pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$pic_object"
-	  fi
-
-	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" \
-	     && test "$non_pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$non_pic_object"
-	  fi
-	fi
-	;;
-
-      *)
-	if test "$mode" = clean ; then
-	  noexename=$name
-	  case $file in
-	  *.exe)
-	    file=`$echo $file|${SED} 's,.exe$,,'`
-	    noexename=`$echo $name|${SED} 's,.exe$,,'`
-	    # $file with .exe has already been added to rmfiles,
-	    # add $file without .exe
-	    rmfiles="$rmfiles $file"
-	    ;;
-	  esac
-	  # Do a test to see if this is a libtool program.
-	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	    relink_command=
-	    . $dir/$noexename
-
-	    # note $name still contains .exe if it was in $file originally
-	    # as does the version of $file that was added into $rmfiles
-	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-	    if test "$fast_install" = yes && test -n "$relink_command"; then
-	      rmfiles="$rmfiles $objdir/lt-$name"
-	    fi
-	    if test "X$noexename" != "X$name" ; then
-	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-	    fi
-	  fi
-	fi
-	;;
-      esac
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles || exit_status=1
-    done
-    objdir="$origobjdir"
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	$show "rmdir $dir"
-	$run rmdir $dir >/dev/null 2>&1
-      fi
-    done
-
-    exit $exit_status
-    ;;
-
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-  esac
-
-  if test -z "$exec_cmd"; then
-    $echo "$modename: invalid operation mode \`$mode'" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
-  eval exec $exec_cmd
-  exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --tag=TAG         use configuration variables from tag TAG
-    --version         print version information
-
-MODE must be one of the following:
-
-      clean           remove files from the build directory
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool at gnu.org>."
-  exit $EXIT_SUCCESS
-  ;;
-
-clean)
-  $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-  ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/m4/audacity_checklib_libnyquist.m4 b/m4/audacity_checklib_libnyquist.m4
index 226f63b..4eb7dad 100644
--- a/m4/audacity_checklib_libnyquist.m4
+++ b/m4/audacity_checklib_libnyquist.m4
@@ -22,18 +22,20 @@ AC_DEFUN([AUDACITY_CHECKLIB_LIBNYQUIST], [
 
    dnl see if Nyquist is available locally
 
-   AC_CHECK_FILE(${srcdir}/lib-src/libnyquist/nyx/nyx.h,
+   AC_CHECK_FILE(${srcdir}/lib-src/libnyquist/nyx.h,
                  nyx_h_found="yes",
                  nyx_h_found="no")
 
    if test "x$nyx_h_found" = "xyes" ; then
       LIBNYQUIST_LOCAL_AVAILABLE="yes"
       LIBNYQUIST_LOCAL_LIBS="libnyquist.a"
-      LIBNYQUIST_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/libnyquist/nyx'
+      LIBNYQUIST_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/libnyquist'
       LIBNYQUIST_LOCAL_CPPSYMBOLS="USE_NYQUIST"
       LIBNYQUIST_LOCAL_OPTOBJS="effects/nyquist/Nyquist.o"
       LIBNYQUIST_LOCAL_OPTOBJS="$LIBNYQUIST_LOCAL_OPTOBJS effects/nyquist/LoadNyquist.o"
 
+      LIBNYQUIST_LOCAL_CONFIG_SUBDIRS="lib-src/libnyquist"
+
       AC_MSG_NOTICE([nyquist libraries are available in the local tree])
    else
       LIBNYQUIST_LOCAL_AVAILABLE="no"
diff --git a/m4/audacity_checklib_libsndfile.m4 b/m4/audacity_checklib_libsndfile.m4
index c00dee9..0fe0e63 100644
--- a/m4/audacity_checklib_libsndfile.m4
+++ b/m4/audacity_checklib_libsndfile.m4
@@ -1,7 +1,7 @@
 dnl Add audacity / libsndfile license?
 dnl Please increment the serial number below whenever you alter this macro
 dnl for the benefit of automatic macro update systems
-# audacity_checklib_libsndfile.m4 serial 1
+# audacity_checklib_libsndfile.m4 serial 2
 
 AC_DEFUN([AUDACITY_CHECKLIB_LIBSNDFILE], [
 
@@ -45,7 +45,7 @@ AC_DEFUN([AUDACITY_CHECKLIB_LIBSNDFILE], [
       dnl export SNDFILE_CFLAGS="'-I`pwd`/lib-src/libsndfile/src'"
 
       dnl Temporary fix for bug #248
-      ac_configure_args="$ac_configure_args --disable-sqlite --disable-flac --disable-alsa"
+      ac_configure_args="$ac_configure_args --disable-sqlite --disable-external-libs --disable-alsa"
    else
       LIBSNDFILE_LOCAL_AVAILABLE="no"
       AC_MSG_NOTICE([libsndfile libraries are NOT available in this source tree])
diff --git a/mac/Audacity.xcodeproj/project.pbxproj b/mac/Audacity.xcodeproj/project.pbxproj
index 517d95b..ecf9584 100644
--- a/mac/Audacity.xcodeproj/project.pbxproj
+++ b/mac/Audacity.xcodeproj/project.pbxproj
@@ -265,8 +265,6 @@
 		174F73D4098D516D009CD6E0 /* AudacityOGG.icns in Resources */ = {isa = PBXBuildFile; fileRef = 174F73CD098D516D009CD6E0 /* AudacityOGG.icns */; };
 		174F73D5098D516D009CD6E0 /* AudacityProject.icns in Resources */ = {isa = PBXBuildFile; fileRef = 174F73CE098D516D009CD6E0 /* AudacityProject.icns */; };
 		174F73D6098D516D009CD6E0 /* AudacityWAV.icns in Resources */ = {isa = PBXBuildFile; fileRef = 174F73CF098D516D009CD6E0 /* AudacityWAV.icns */; };
-		176A1A55098B7AFB00DC73B4 /* cmdline.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA14098B4FD700216F16 /* cmdline.c */; };
-		176A1A56098B7AFB00DC73B4 /* intgen.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA15098B4FD700216F16 /* intgen.c */; };
 		176EE9DE09A2EC1000188F3B /* caf.c in Sources */ = {isa = PBXBuildFile; fileRef = 176EE9DB09A2EC1000188F3B /* caf.c */; };
 		176EE9DF09A2EC1000188F3B /* flac.c in Sources */ = {isa = PBXBuildFile; fileRef = 176EE9DC09A2EC1000188F3B /* flac.c */; };
 		176EE9E009A2EC1000188F3B /* g72x.c in Sources */ = {isa = PBXBuildFile; fileRef = 176EE9DD09A2EC1000188F3B /* g72x.c */; };
@@ -385,10 +383,8 @@
 		1790B17C09883BFD008A330A /* NoteTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0AF09883BFD008A330A /* NoteTrack.cpp */; };
 		1790B17D09883BFD008A330A /* PitchName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0B109883BFD008A330A /* PitchName.cpp */; };
 		1790B17E09883BFD008A330A /* PlatformCompatibility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0B309883BFD008A330A /* PlatformCompatibility.cpp */; };
-		1790B17F09883BFD008A330A /* AudioIOPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0B609883BFD008A330A /* AudioIOPrefs.cpp */; };
 		1790B18009883BFD008A330A /* BatchPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0B809883BFD008A330A /* BatchPrefs.cpp */; };
 		1790B18109883BFD008A330A /* DirectoriesPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0BB09883BFD008A330A /* DirectoriesPrefs.cpp */; };
-		1790B18209883BFD008A330A /* FileFormatPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0BD09883BFD008A330A /* FileFormatPrefs.cpp */; };
 		1790B18309883BFD008A330A /* GUIPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0BF09883BFD008A330A /* GUIPrefs.cpp */; };
 		1790B18409883BFD008A330A /* KeyConfigPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0C109883BFD008A330A /* KeyConfigPrefs.cpp */; };
 		1790B18509883BFD008A330A /* MousePrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1790B0C309883BFD008A330A /* MousePrefs.cpp */; };
@@ -433,267 +429,6 @@
 		17C99D5E098971390041B1BC /* libsndfile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1707401E0988EEAA008541CC /* libsndfile.a */; };
 		17C99D5F098971390041B1BC /* libsoundtouch.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1707407A0988F1BB008541CC /* libsoundtouch.a */; };
 		17C99D60098971390041B1BC /* libportmixer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 170740960988F2F7008541CC /* libportmixer.a */; };
-		17CBAD40098B84E300575C58 /* cext.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA1B098B502D00216F16 /* cext.c */; };
-		17CBAD41098B84E300575C58 /* cext.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA1C098B502D00216F16 /* cext.h */; };
-		17CBAD42098B84E300575C58 /* cleanup.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA1D098B502D00216F16 /* cleanup.c */; };
-		17CBAD43098B84E300575C58 /* cleanup.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA1E098B502D00216F16 /* cleanup.h */; };
-		17CBAD44098B84E300575C58 /* cmdline.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA1F098B502D00216F16 /* cmdline.c */; };
-		17CBAD45098B84E300575C58 /* cmdline.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA20098B502D00216F16 /* cmdline.h */; };
-		17CBAD46098B84E300575C58 /* cmtcmd.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA21098B502D00216F16 /* cmtcmd.c */; };
-		17CBAD47098B84E300575C58 /* cmtcmd.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA22098B502D00216F16 /* cmtcmd.h */; };
-		17CBAD48098B84E300575C58 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA26098B502D00216F16 /* hash.h */; };
-		17CBAD49098B84E300575C58 /* hashrout.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA27098B502D00216F16 /* hashrout.h */; };
-		17CBAD4A098B84E300575C58 /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA28098B502D00216F16 /* mem.c */; };
-		17CBAD4B098B84E300575C58 /* mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA29098B502D00216F16 /* mem.h */; };
-		17CBAD4C098B84E300575C58 /* mfmidi.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA2A098B502D00216F16 /* mfmidi.h */; };
-		17CBAD4D098B84E300575C58 /* midibuff.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA2B098B502D00216F16 /* midibuff.h */; };
-		17CBAD4E098B84E300575C58 /* midicode.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA2C098B502D00216F16 /* midicode.h */; };
-		17CBAD4F098B84E300575C58 /* midierr.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA2D098B502D00216F16 /* midierr.h */; };
-		17CBAD50098B84E300575C58 /* midifile.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA2E098B502D00216F16 /* midifile.c */; };
-		17CBAD51098B84E300575C58 /* midifile.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA2F098B502D00216F16 /* midifile.h */; };
-		17CBAD52098B84E300575C58 /* midifns.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA30098B502D00216F16 /* midifns.c */; };
-		17CBAD53098B84E300575C58 /* midifns.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA31098B502D00216F16 /* midifns.h */; };
-		17CBAD54098B84E300575C58 /* moxc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA34098B502D00216F16 /* moxc.c */; };
-		17CBAD55098B84E300575C58 /* moxc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA35098B502D00216F16 /* moxc.h */; };
-		17CBAD56098B84E300575C58 /* musiprog.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA36098B502D00216F16 /* musiprog.h */; };
-		17CBAD57098B84E300575C58 /* pitch.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA37098B502D00216F16 /* pitch.h */; };
-		17CBAD58098B84E300575C58 /* record.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA38098B502D00216F16 /* record.c */; };
-		17CBAD59098B84E300575C58 /* record.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA39098B502D00216F16 /* record.h */; };
-		17CBAD5A098B84E300575C58 /* seq.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA3A098B502D00216F16 /* seq.c */; };
-		17CBAD5B098B84E300575C58 /* seq.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA3B098B502D00216F16 /* seq.h */; };
-		17CBAD5C098B84E300575C58 /* seqdecls.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA3C098B502D00216F16 /* seqdecls.h */; };
-		17CBAD5D098B84E300575C58 /* seqmread.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA3D098B502D00216F16 /* seqmread.c */; };
-		17CBAD5E098B84E300575C58 /* seqmread.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA3E098B502D00216F16 /* seqmread.h */; };
-		17CBAD5F098B84E300575C58 /* seqmwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA3F098B502D00216F16 /* seqmwrite.c */; };
-		17CBAD60098B84E300575C58 /* seqmwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA40098B502D00216F16 /* seqmwrite.h */; };
-		17CBAD61098B84E300575C58 /* seqread.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA41098B502D00216F16 /* seqread.c */; };
-		17CBAD62098B84E300575C58 /* seqread.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA42098B502D00216F16 /* seqread.h */; };
-		17CBAD63098B84E300575C58 /* seqwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA43098B502D00216F16 /* seqwrite.c */; };
-		17CBAD64098B84E300575C58 /* seqwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA44098B502D00216F16 /* seqwrite.h */; };
-		17CBAD65098B84E300575C58 /* swlogic.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA45098B502D00216F16 /* swlogic.h */; };
-		17CBAD66098B84E300575C58 /* tempomap.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA46098B502D00216F16 /* tempomap.c */; };
-		17CBAD67098B84E300575C58 /* tempomap.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA47098B502D00216F16 /* tempomap.h */; };
-		17CBAD68098B84E300575C58 /* timebase.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA48098B502D00216F16 /* timebase.c */; };
-		17CBAD69098B84E300575C58 /* timebase.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA49098B502D00216F16 /* timebase.h */; };
-		17CBAD6A098B84E300575C58 /* userio.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA4A098B502D00216F16 /* userio.c */; };
-		17CBAD6B098B84E300575C58 /* userio.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA4B098B502D00216F16 /* userio.h */; };
-		17CBAD6C098B84E300575C58 /* fftn.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BA4F098B502D00216F16 /* fftn.c */; };
-		17CBAD6D098B84E300575C58 /* fftn.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BA50098B502D00216F16 /* fftn.h */; };
-		17CBAD6E098B84E300575C58 /* add.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD32098B649900216F16 /* add.c */; };
-		17CBAD6F098B84E300575C58 /* add.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD33098B649A00216F16 /* add.h */; };
-		17CBAD70098B84E300575C58 /* avg.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD35098B649A00216F16 /* avg.c */; };
-		17CBAD71098B84E300575C58 /* avg.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD36098B649A00216F16 /* avg.h */; };
-		17CBAD72098B84E300575C58 /* compose.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD38098B649A00216F16 /* compose.c */; };
-		17CBAD73098B84E300575C58 /* compose.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD39098B649A00216F16 /* compose.h */; };
-		17CBAD74098B84E300575C58 /* cque.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD3B098B649A00216F16 /* cque.h */; };
-		17CBAD75098B84E300575C58 /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD3D098B649A00216F16 /* debug.c */; };
-		17CBAD76098B84E300575C58 /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD3E098B649A00216F16 /* debug.h */; };
-		17CBAD77098B84E300575C58 /* downsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD40098B649A00216F16 /* downsample.c */; };
-		17CBAD78098B84E300575C58 /* downsample.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD41098B649A00216F16 /* downsample.h */; };
-		17CBAD79098B84E300575C58 /* falloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD43098B649A00216F16 /* falloc.c */; };
-		17CBAD7A098B84E300575C58 /* falloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD44098B649A00216F16 /* falloc.h */; };
-		17CBAD7B098B84E300575C58 /* ffilterkit.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD46098B649A00216F16 /* ffilterkit.c */; };
-		17CBAD7C098B84E300575C58 /* ffilterkit.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD47098B649A00216F16 /* ffilterkit.h */; };
-		17CBAD7D098B84E300575C58 /* fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD4A098B649A00216F16 /* fft.c */; };
-		17CBAD7E098B84E300575C58 /* fft.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD4B098B649A00216F16 /* fft.h */; };
-		17CBAD7F098B84E300575C58 /* fftw.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD4E098B649A00216F16 /* fftw.h */; };
-		17CBAD80098B84E300575C58 /* fresample.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD4F098B649A00216F16 /* fresample.h */; };
-		17CBAD81098B84E300575C58 /* fsmallfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD50098B649A00216F16 /* fsmallfilter.h */; };
-		17CBAD82098B84E300575C58 /* handlers.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD51098B649A00216F16 /* handlers.c */; };
-		17CBAD83098B84E300575C58 /* inverse.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD53098B649A00216F16 /* inverse.c */; };
-		17CBAD84098B84E300575C58 /* inverse.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD54098B649A00216F16 /* inverse.h */; };
-		17CBAD85098B84E300575C58 /* local.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD56098B649A00216F16 /* local.c */; };
-		17CBAD86098B84E300575C58 /* localdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD58098B649A00216F16 /* localdefs.h */; };
-		17CBAD87098B84E300575C58 /* localptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD59098B649A00216F16 /* localptrs.h */; };
-		17CBAD88098B84E300575C58 /* multiread.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD5A098B649A00216F16 /* multiread.c */; };
-		17CBAD89098B84E300575C58 /* multiread.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD5B098B649A00216F16 /* multiread.h */; };
-		17CBAD8A098B84E300575C58 /* multiseq.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD5D098B649A00216F16 /* multiseq.c */; };
-		17CBAD8B098B84E300575C58 /* multiseq.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD5E098B649A00216F16 /* multiseq.h */; };
-		17CBAD8C098B84E300575C58 /* resamp.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD64098B649A00216F16 /* resamp.c */; };
-		17CBAD8D098B84E300575C58 /* resamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD65098B649A00216F16 /* resamp.h */; };
-		17CBAD8E098B84E300575C58 /* resampv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD67098B649A00216F16 /* resampv.c */; };
-		17CBAD8F098B84E300575C58 /* resampv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD68098B649A00216F16 /* resampv.h */; };
-		17CBAD90098B84E300575C58 /* rfftw.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD6A098B649A00216F16 /* rfftw.h */; };
-		17CBAD91098B84E300575C58 /* samples.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD6B098B649A00216F16 /* samples.c */; };
-		17CBAD92098B84E300575C58 /* samples.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD6C098B649A00216F16 /* samples.h */; };
-		17CBAD93098B84E300575C58 /* seqext.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD6E098B649A00216F16 /* seqext.c */; };
-		17CBAD94098B84E300575C58 /* seqext.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD6F098B649A00216F16 /* seqext.h */; };
-		17CBAD95098B84E300575C58 /* seqfnint.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD73098B649A00216F16 /* seqfnint.c */; };
-		17CBAD96098B84E300575C58 /* seqfnintdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD76098B649A00216F16 /* seqfnintdefs.h */; };
-		17CBAD97098B84E300575C58 /* seqfnintptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD77098B649A00216F16 /* seqfnintptrs.h */; };
-		17CBAD98098B84E300575C58 /* seqinterf.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD78098B649A00216F16 /* seqinterf.c */; };
-		17CBAD99098B84E300575C58 /* seqinterf.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD79098B649A00216F16 /* seqinterf.h */; };
-		17CBAD9A098B84E300575C58 /* sndfail.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD7B098B649A00216F16 /* sndfail.c */; };
-		17CBAD9B098B84E300575C58 /* sndfnint.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD7F098B649A00216F16 /* sndfnint.c */; };
-		17CBAD9C098B84E300575C58 /* sndfnintdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD82098B649A00216F16 /* sndfnintdefs.h */; };
-		17CBAD9D098B84E300575C58 /* sndfnintptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD83098B649A00216F16 /* sndfnintptrs.h */; };
-		17CBAD9E098B84E300575C58 /* sndmax.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD84098B649A00216F16 /* sndmax.c */; };
-		17CBAD9F098B84E300575C58 /* sndmax.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD85098B649A00216F16 /* sndmax.h */; };
-		17CBADA0098B84E300575C58 /* sndread.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD87098B649A00216F16 /* sndread.c */; };
-		17CBADA1098B84E300575C58 /* sndread.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD88098B649A00216F16 /* sndread.h */; };
-		17CBADA2098B84E300575C58 /* sndseq.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD8A098B649A00216F16 /* sndseq.c */; };
-		17CBADA3098B84E300575C58 /* sndseq.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD8B098B649A00216F16 /* sndseq.h */; };
-		17CBADA4098B84E300575C58 /* sndwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD8D098B649A00216F16 /* sndwrite.c */; };
-		17CBADA5098B84E300575C58 /* sndwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD8E098B649A00216F16 /* sndwrite.h */; };
-		17CBADA6098B84E300575C58 /* sound.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD90098B649A00216F16 /* sound.c */; };
-		17CBADA7098B84E300575C58 /* sound.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD91098B649A00216F16 /* sound.h */; };
-		17CBADA8098B84E300575C58 /* stats.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BD93098B649A00216F16 /* stats.c */; };
-		17CBADA9098B84E300575C58 /* stdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BD95098B649A00216F16 /* stdefs.h */; };
-		17CBADAA098B84E300575C58 /* nyx.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BAC4098B502D00216F16 /* nyx.c */; };
-		17CBADAB098B84E300575C58 /* nyx.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BAC5098B502D00216F16 /* nyx.h */; };
-		17CBADAC098B84E300575C58 /* audionone.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BDF9098B654200216F16 /* audionone.c */; };
-		17CBADAD098B84E300575C58 /* ieeecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BDFD098B654200216F16 /* ieeecvt.c */; };
-		17CBADAE098B84E300575C58 /* ieeecvt.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BDFE098B654200216F16 /* ieeecvt.h */; };
-		17CBADAF098B84E300575C58 /* snd.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE01098B654200216F16 /* snd.c */; };
-		17CBADB0098B84E300575C58 /* snd.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE02098B654200216F16 /* snd.h */; };
-		17CBADB1098B84E300575C58 /* sndconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE06098B654200216F16 /* sndconfig.h */; };
-		17CBADB2098B84E300575C58 /* sndcvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE07098B654200216F16 /* sndcvt.c */; };
-		17CBADB3098B84E300575C58 /* sndfileio.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE0B098B654200216F16 /* sndfileio.h */; };
-		17CBADB4098B84E300575C58 /* sndfreebsd.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE0C098B654200216F16 /* sndfreebsd.h */; };
-		17CBADB5098B84E300575C58 /* sndhead.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE0D098B654200216F16 /* sndhead.h */; };
-		17CBADB6098B84E300575C58 /* sndheader.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE0E098B654200216F16 /* sndheader.c */; };
-		17CBADB7098B84E300575C58 /* sndheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE0F098B654200216F16 /* sndheader.h */; };
-		17CBADB8098B84E300575C58 /* sndio.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE11098B654200216F16 /* sndio.c */; };
-		17CBADB9098B84E300575C58 /* sndlinux.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE13098B654200216F16 /* sndlinux.c */; };
-		17CBADBA098B84E300575C58 /* sndlinux.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE14098B654200216F16 /* sndlinux.h */; };
-		17CBADBB098B84E300575C58 /* sndwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE1F098B654200216F16 /* sndwrite.h */; };
-		17CBADBC098B84E300575C58 /* switches.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE22098B654200216F16 /* switches.h */; };
-		17CBADBD098B84E300575C58 /* term.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE24098B654200216F16 /* term.c */; };
-		17CBADBE098B84E300575C58 /* term.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE25098B654200216F16 /* term.h */; };
-		17CBADBF098B84E300575C58 /* alpass.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE2C098B654200216F16 /* alpass.c */; };
-		17CBADC0098B84E300575C58 /* alpass.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE2D098B654200216F16 /* alpass.h */; };
-		17CBADC1098B84E300575C58 /* amosc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE39098B654200216F16 /* amosc.c */; };
-		17CBADC2098B84E300575C58 /* amosc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE3A098B654200216F16 /* amosc.h */; };
-		17CBADC3098B84E300575C58 /* areson.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE3D098B654200216F16 /* areson.c */; };
-		17CBADC4098B84E300575C58 /* areson.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE3E098B654200216F16 /* areson.h */; };
-		17CBADC5098B84E300575C58 /* aresoncv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE41098B654200216F16 /* aresoncv.c */; };
-		17CBADC6098B84E300575C58 /* aresoncv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE42098B654200216F16 /* aresoncv.h */; };
-		17CBADC7098B84E300575C58 /* aresonvc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE45098B654200216F16 /* aresonvc.c */; };
-		17CBADC8098B84E300575C58 /* aresonvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE46098B654200216F16 /* aresonvc.h */; };
-		17CBADC9098B84E300575C58 /* aresonvv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE49098B654200216F16 /* aresonvv.c */; };
-		17CBADCA098B84E300575C58 /* aresonvv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE4A098B654200216F16 /* aresonvv.h */; };
-		17CBADCB098B84E300575C58 /* atone.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE4D098B654200216F16 /* atone.c */; };
-		17CBADCC098B84E300575C58 /* atone.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE4E098B654200216F16 /* atone.h */; };
-		17CBADCD098B84E300575C58 /* atonev.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE51098B654200216F16 /* atonev.c */; };
-		17CBADCE098B84E300575C58 /* atonev.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE52098B654200216F16 /* atonev.h */; };
-		17CBADCF098B84E300575C58 /* biquad.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE55098B654200216F16 /* biquad.c */; };
-		17CBADD0098B84E300575C58 /* biquad.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE56098B654200216F16 /* biquad.h */; };
-		17CBADD1098B84E300575C58 /* buzz.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE59098B654200216F16 /* buzz.c */; };
-		17CBADD2098B84E300575C58 /* buzz.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE5A098B654200216F16 /* buzz.h */; };
-		17CBADD3098B84E300575C58 /* chase.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE5D098B654200216F16 /* chase.c */; };
-		17CBADD4098B84E300575C58 /* chase.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE5E098B654200216F16 /* chase.h */; };
-		17CBADD5098B84E300575C58 /* clip.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE61098B654200216F16 /* clip.c */; };
-		17CBADD6098B84E300575C58 /* clip.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE62098B654200216F16 /* clip.h */; };
-		17CBADD7098B84E300575C58 /* congen.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE65098B654200216F16 /* congen.c */; };
-		17CBADD8098B84E300575C58 /* congen.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE66098B654200216F16 /* congen.h */; };
-		17CBADD9098B84E300575C58 /* const.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE69098B654300216F16 /* const.c */; };
-		17CBADDA098B84E300575C58 /* const.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE6A098B654300216F16 /* const.h */; };
-		17CBADDB098B84E300575C58 /* convolve.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE6D098B654300216F16 /* convolve.c */; };
-		17CBADDC098B84E300575C58 /* convolve.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE6E098B654300216F16 /* convolve.h */; };
-		17CBADDD098B84E300575C58 /* coterm.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE71098B654300216F16 /* coterm.c */; };
-		17CBADDE098B84E300575C58 /* coterm.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE72098B654300216F16 /* coterm.h */; };
-		17CBADDF098B84E300575C58 /* delay.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE76098B654300216F16 /* delay.c */; };
-		17CBADE0098B84E300575C58 /* delay.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE77098B654300216F16 /* delay.h */; };
-		17CBADE1098B84E300575C58 /* delaycv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE7A098B654300216F16 /* delaycv.c */; };
-		17CBADE2098B84E300575C58 /* delaycv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE7B098B654300216F16 /* delaycv.h */; };
-		17CBADE3098B84E300575C58 /* exp.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE83098B654300216F16 /* exp.c */; };
-		17CBADE4098B84E300575C58 /* exp.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE84098B654300216F16 /* exp.h */; };
-		17CBADE5098B84E300575C58 /* fmosc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE88098B654300216F16 /* fmosc.c */; };
-		17CBADE6098B84E300575C58 /* fmosc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE89098B654300216F16 /* fmosc.h */; };
-		17CBADE7098B84E300575C58 /* follow.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE8C098B654300216F16 /* follow.c */; };
-		17CBADE8098B84E300575C58 /* follow.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE8D098B654300216F16 /* follow.h */; };
-		17CBADE9098B84E300575C58 /* fromarraystream.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE90098B654300216F16 /* fromarraystream.c */; };
-		17CBADEA098B84E300575C58 /* fromarraystream.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE91098B654300216F16 /* fromarraystream.h */; };
-		17CBADEB098B84E300575C58 /* fromobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE94098B654300216F16 /* fromobject.c */; };
-		17CBADEC098B84E300575C58 /* fromobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE95098B654300216F16 /* fromobject.h */; };
-		17CBADED098B84E300575C58 /* gate.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE98098B654300216F16 /* gate.c */; };
-		17CBADEE098B84E300575C58 /* gate.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE99098B654300216F16 /* gate.h */; };
-		17CBADEF098B84E300575C58 /* ifft.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BE9D098B654300216F16 /* ifft.c */; };
-		17CBADF0098B84E300575C58 /* ifft.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BE9E098B654300216F16 /* ifft.h */; };
-		17CBADF1098B84E300575C58 /* integrate.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEA3098B654300216F16 /* integrate.c */; };
-		17CBADF2098B84E300575C58 /* integrate.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEA4098B654300216F16 /* integrate.h */; };
-		17CBADF3098B84E300575C58 /* log.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEA7098B654300216F16 /* log.c */; };
-		17CBADF4098B84E300575C58 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEA8098B654300216F16 /* log.h */; };
-		17CBADF5098B84E300575C58 /* maxv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEAB098B654300216F16 /* maxv.c */; };
-		17CBADF6098B84E300575C58 /* maxv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEAC098B654300216F16 /* maxv.h */; };
-		17CBADF7098B84E300575C58 /* offset.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEB1098B654300216F16 /* offset.c */; };
-		17CBADF8098B84E300575C58 /* offset.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEB2098B654300216F16 /* offset.h */; };
-		17CBADF9098B84E300575C58 /* oneshot.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEB5098B654300216F16 /* oneshot.c */; };
-		17CBADFA098B84E300575C58 /* oneshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEB6098B654300216F16 /* oneshot.h */; };
-		17CBADFB098B84E300575C58 /* osc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEB9098B654300216F16 /* osc.c */; };
-		17CBADFC098B84E300575C58 /* osc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEBA098B654300216F16 /* osc.h */; };
-		17CBADFD098B84E300575C58 /* partial.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEBD098B654300216F16 /* partial.c */; };
-		17CBADFE098B84E300575C58 /* partial.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEBE098B654300216F16 /* partial.h */; };
-		17CBADFF098B84E300575C58 /* pluck.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEC1098B654300216F16 /* pluck.c */; };
-		17CBAE00098B84E300575C58 /* pluck.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEC2098B654300216F16 /* pluck.h */; };
-		17CBAE01098B84E300575C58 /* prod.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEC5098B654300216F16 /* prod.c */; };
-		17CBAE02098B84E300575C58 /* prod.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEC6098B654300216F16 /* prod.h */; };
-		17CBAE03098B84E300575C58 /* pwl.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEC9098B654300216F16 /* pwl.c */; };
-		17CBAE04098B84E300575C58 /* pwl.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BECA098B654300216F16 /* pwl.h */; };
-		17CBAE05098B84E300575C58 /* quantize.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BECF098B654300216F16 /* quantize.c */; };
-		17CBAE06098B84E300575C58 /* quantize.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BED0098B654300216F16 /* quantize.h */; };
-		17CBAE07098B84E300575C58 /* recip.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BED3098B654300216F16 /* recip.c */; };
-		17CBAE08098B84E300575C58 /* recip.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BED4098B654300216F16 /* recip.h */; };
-		17CBAE09098B84E300575C58 /* reson.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BED7098B654300216F16 /* reson.c */; };
-		17CBAE0A098B84E300575C58 /* reson.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BED8098B654300216F16 /* reson.h */; };
-		17CBAE0B098B84E300575C58 /* resoncv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEDB098B654300216F16 /* resoncv.c */; };
-		17CBAE0C098B84E300575C58 /* resoncv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEDC098B654300216F16 /* resoncv.h */; };
-		17CBAE0D098B84E300575C58 /* resonvc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEDF098B654300216F16 /* resonvc.c */; };
-		17CBAE0E098B84E300575C58 /* resonvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEE0098B654300216F16 /* resonvc.h */; };
-		17CBAE0F098B84E300575C58 /* resonvv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEE3098B654300216F16 /* resonvv.c */; };
-		17CBAE10098B84E300575C58 /* resonvv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEE4098B654300216F16 /* resonvv.h */; };
-		17CBAE11098B84E300575C58 /* sampler.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEE7098B654300216F16 /* sampler.c */; };
-		17CBAE12098B84E300575C58 /* sampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEE8098B654300216F16 /* sampler.h */; };
-		17CBAE13098B84E300575C58 /* scale.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEEB098B654300216F16 /* scale.c */; };
-		17CBAE14098B84E300575C58 /* scale.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEEC098B654300216F16 /* scale.h */; };
-		17CBAE15098B84E300575C58 /* shape.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEEF098B654300216F16 /* shape.c */; };
-		17CBAE16098B84E300575C58 /* shape.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEF0098B654300216F16 /* shape.h */; };
-		17CBAE17098B84E300575C58 /* sine.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEF3098B654300216F16 /* sine.c */; };
-		17CBAE18098B84E300575C58 /* sine.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEF4098B654300216F16 /* sine.h */; };
-		17CBAE19098B84E300575C58 /* siosc.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEF7098B654300216F16 /* siosc.c */; };
-		17CBAE1A098B84E300575C58 /* siosc.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEF8098B654300216F16 /* siosc.h */; };
-		17CBAE1B098B84E300575C58 /* slope.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BEFB098B654300216F16 /* slope.c */; };
-		17CBAE1C098B84E300575C58 /* slope.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BEFC098B654300216F16 /* slope.h */; };
-		17CBAE1D098B84E300575C58 /* tapv.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF05098B654300216F16 /* tapv.c */; };
-		17CBAE1E098B84E300575C58 /* tapv.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF06098B654300216F16 /* tapv.h */; };
-		17CBAE1F098B84E300575C58 /* tone.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF09098B654300216F16 /* tone.c */; };
-		17CBAE20098B84E300575C58 /* tone.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF0A098B654300216F16 /* tone.h */; };
-		17CBAE21098B84E300575C58 /* tonev.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF0D098B654300216F16 /* tonev.c */; };
-		17CBAE22098B84E300575C58 /* tonev.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF0E098B654300216F16 /* tonev.h */; };
-		17CBAE23098B84E300575C58 /* upsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF12098B654300216F16 /* upsample.c */; };
-		17CBAE24098B84E300575C58 /* upsample.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF13098B654300216F16 /* upsample.h */; };
-		17CBAE25098B84E300575C58 /* white.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF16098B654300216F16 /* white.c */; };
-		17CBAE26098B84E300575C58 /* white.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF17098B654300216F16 /* white.h */; };
-		17CBAE27098B84E300575C58 /* extern.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF1E098B654300216F16 /* extern.c */; };
-		17CBAE28098B84E300575C58 /* extern.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF1F098B654300216F16 /* extern.h */; };
-		17CBAE29098B84E300575C58 /* osdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF21098B654300216F16 /* osdefs.h */; };
-		17CBAE2A098B84E300575C58 /* osptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF22098B654300216F16 /* osptrs.h */; };
-		17CBAE2B098B84E300575C58 /* path.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF23098B654300216F16 /* path.c */; };
-		17CBAE2C098B84E300575C58 /* xlbfun.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF25098B654300216F16 /* xlbfun.c */; };
-		17CBAE2D098B84E300575C58 /* xlcont.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF27098B654300216F16 /* xlcont.c */; };
-		17CBAE2E098B84E300575C58 /* xldbug.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF29098B654300216F16 /* xldbug.c */; };
-		17CBAE2F098B84E300575C58 /* xldmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF2B098B654300216F16 /* xldmem.c */; };
-		17CBAE30098B84E300575C58 /* xldmem.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF2C098B654300216F16 /* xldmem.h */; };
-		17CBAE31098B84E300575C58 /* xleval.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF2E098B654300216F16 /* xleval.c */; };
-		17CBAE32098B84E300575C58 /* xlfio.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF31098B654300216F16 /* xlfio.c */; };
-		17CBAE33098B84E300575C58 /* xlftab.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF33098B654300216F16 /* xlftab.c */; };
-		17CBAE34098B84E300575C58 /* xlglob.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF35098B654300216F16 /* xlglob.c */; };
-		17CBAE35098B84E300575C58 /* xlimage.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF37098B654300216F16 /* xlimage.c */; };
-		17CBAE36098B84E300575C58 /* xlinit.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF39098B654300216F16 /* xlinit.c */; };
-		17CBAE37098B84E300575C58 /* xlio.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF3B098B654300216F16 /* xlio.c */; };
-		17CBAE38098B84E300575C58 /* xlisp.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF3D098B654300216F16 /* xlisp.c */; };
-		17CBAE39098B84E300575C58 /* xlisp.h in Headers */ = {isa = PBXBuildFile; fileRef = 17C8BF3E098B654300216F16 /* xlisp.h */; };
-		17CBAE3A098B84E300575C58 /* xljump.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF40098B654300216F16 /* xljump.c */; };
-		17CBAE3B098B84E300575C58 /* xllist.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF42098B654300216F16 /* xllist.c */; };
-		17CBAE3C098B84E300575C58 /* xlmath.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF44098B654300216F16 /* xlmath.c */; };
-		17CBAE3D098B84E300575C58 /* xlobj.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF46098B654300216F16 /* xlobj.c */; };
-		17CBAE3E098B84E300575C58 /* xlpp.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF48098B654300216F16 /* xlpp.c */; };
-		17CBAE3F098B84E300575C58 /* xlprin.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF4A098B654300216F16 /* xlprin.c */; };
-		17CBAE40098B84E300575C58 /* xlread.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF4C098B654300216F16 /* xlread.c */; };
-		17CBAE41098B84E300575C58 /* xlstr.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF4E098B654400216F16 /* xlstr.c */; };
-		17CBAE42098B84E300575C58 /* xlsubr.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF50098B654400216F16 /* xlsubr.c */; };
-		17CBAE43098B84E300575C58 /* xlsym.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF52098B654400216F16 /* xlsym.c */; };
-		17CBAE44098B84E300575C58 /* xlsys.c in Sources */ = {isa = PBXBuildFile; fileRef = 17C8BF54098B654400216F16 /* xlsys.c */; };
 		17CBAE4A098B85CD00575C58 /* libnyquist.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 176A1A5B098B7B8D00DC73B4 /* libnyquist.a */; };
 		17FDBCFE098BFF4E00BCEF32 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 170731F30988D6AA008541CC /* config.h */; };
 		17FDBCFF098BFF4E00BCEF32 /* config_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 170732F20988D6AB008541CC /* config_types.h */; };
@@ -701,17 +436,37 @@
 		17FDBD01098BFF4E00BCEF32 /* os_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 170732F90988D6AB008541CC /* os_types.h */; };
 		17FDBD02098BFF4E00BCEF32 /* bitwise.c in Sources */ = {isa = PBXBuildFile; fileRef = 170733980988D6AC008541CC /* bitwise.c */; };
 		17FDBD03098BFF4E00BCEF32 /* framing.c in Sources */ = {isa = PBXBuildFile; fileRef = 1707339A0988D6AC008541CC /* framing.c */; };
+		1818559A0FFE916C0026D190 /* ScreenshotCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 181855950FFE916C0026D190 /* ScreenshotCommand.cpp */; };
 		1841B50A0E00AD6E00F386E9 /* ODComputeSummaryTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1841B5000E00AD6E00F386E9 /* ODComputeSummaryTask.cpp */; };
 		1841B50B0E00AD6E00F386E9 /* ODManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1841B5020E00AD6E00F386E9 /* ODManager.cpp */; };
 		1841B50C0E00AD6E00F386E9 /* ODTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1841B5040E00AD6E00F386E9 /* ODTask.cpp */; };
 		1841B50D0E00AD6E00F386E9 /* ODTaskThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1841B5060E00AD6E00F386E9 /* ODTaskThread.cpp */; };
 		1841B50E0E00AD6E00F386E9 /* ODWaveTrackTaskQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1841B5080E00AD6E00F386E9 /* ODWaveTrackTaskQueue.cpp */; };
 		1841B5110E00AD8D00F386E9 /* ODPCMAliasBlockFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1841B50F0E00AD8D00F386E9 /* ODPCMAliasBlockFile.cpp */; };
+		1865A9B81004490500946EE6 /* Lyrics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1865A9B41004490400946EE6 /* Lyrics.cpp */; };
+		1865A9B91004490500946EE6 /* LyricsWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1865A9B61004490500946EE6 /* LyricsWindow.cpp */; };
 		186CCE6D0E51F47400659159 /* ODDecodeBlockFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 186CCE6B0E51F47400659159 /* ODDecodeBlockFile.cpp */; };
 		186CCE720E51F48500659159 /* ODDecodeFlacTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 186CCE6E0E51F48500659159 /* ODDecodeFlacTask.cpp */; };
 		186CCE730E51F48500659159 /* ODDecodeTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 186CCE700E51F48500659159 /* ODDecodeTask.cpp */; };
 		186CCEA40E523C8E00659159 /* Profiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 186CCEA30E523C8E00659159 /* Profiler.cpp */; };
+		18A2840F0F79BCAB0013A1BE /* Generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18A2840E0F79BCAB0013A1BE /* Generator.cpp */; };
 		18D8314E0ED0F56300FD870D /* Contrast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18D8314C0ED0F56200FD870D /* Contrast.cpp */; };
+		2800FE0D0FF32308005CA9E5 /* pminternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FDF40FF3225B005CA9E5 /* pminternal.h */; };
+		2800FE0E0FF32308005CA9E5 /* pmutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FDF50FF3225B005CA9E5 /* pmutil.c */; };
+		2800FE0F0FF32308005CA9E5 /* pmutil.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FDF60FF3225B005CA9E5 /* pmutil.h */; };
+		2800FE100FF32308005CA9E5 /* portmidi.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FDF70FF3225B005CA9E5 /* portmidi.c */; };
+		2800FE110FF32308005CA9E5 /* portmidi.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FDF80FF3225B005CA9E5 /* portmidi.h */; };
+		2800FE120FF32308005CA9E5 /* finddefault.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FDF90FF3227F005CA9E5 /* finddefault.c */; };
+		2800FE130FF32308005CA9E5 /* pmmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FDFA0FF3227F005CA9E5 /* pmmac.c */; };
+		2800FE140FF32308005CA9E5 /* pmmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FDFB0FF3227F005CA9E5 /* pmmac.h */; };
+		2800FE150FF32308005CA9E5 /* pmmacosxcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FDFC0FF3227F005CA9E5 /* pmmacosxcm.c */; };
+		2800FE160FF32308005CA9E5 /* pmmacosxcm.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FDFD0FF3227F005CA9E5 /* pmmacosxcm.h */; };
+		2800FE170FF32308005CA9E5 /* readbinaryplist.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FDFE0FF3227F005CA9E5 /* readbinaryplist.c */; };
+		2800FE180FF32308005CA9E5 /* readbinaryplist.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FDFF0FF3227F005CA9E5 /* readbinaryplist.h */; };
+		2800FE190FF32308005CA9E5 /* porttime.h in Headers */ = {isa = PBXBuildFile; fileRef = 2800FE000FF322A1005CA9E5 /* porttime.h */; };
+		2800FE1A0FF32308005CA9E5 /* ptmacosx_mach.c in Sources */ = {isa = PBXBuildFile; fileRef = 2800FE010FF322A1005CA9E5 /* ptmacosx_mach.c */; };
+		2800FE230FF32381005CA9E5 /* libportmidi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2800FE070FF322D4005CA9E5 /* libportmidi.a */; };
+		2800FE370FF32566005CA9E5 /* MidiIOPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2800FE350FF32566005CA9E5 /* MidiIOPrefs.cpp */; };
 		2801A6460BF9268700648258 /* ImportQT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2801A6430BF9268700648258 /* ImportQT.cpp */; };
 		2801A6470BF9268700648258 /* ImportQTWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2801A6450BF9268700648258 /* ImportQTWrapper.cpp */; };
 		280828550A75E0D0000002EF /* LabelDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 280828530A75E0D0000002EF /* LabelDialog.cpp */; };
@@ -727,6 +482,150 @@
 		283135FF0DFBA2E80076D551 /* FFmpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283135FD0DFBA2E80076D551 /* FFmpeg.cpp */; };
 		2835062D0A3A88ED00EB1EBD /* pa_unix_util.c in Sources */ = {isa = PBXBuildFile; fileRef = 283506280A3A88ED00EB1EBD /* pa_unix_util.c */; };
 		2835062E0A3A88ED00EB1EBD /* pa_unix_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 283506290A3A88ED00EB1EBD /* pa_unix_util.h */; };
+		283753FA0F4288BF00364787 /* mpegheader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753750F4286E100364787 /* mpegheader.cpp */; };
+		283754070F4288EB00364787 /* apefooter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283752FD0F4286E000364787 /* apefooter.cpp */; };
+		283754080F4288EB00364787 /* apefooter.h in Headers */ = {isa = PBXBuildFile; fileRef = 283752FE0F4286E000364787 /* apefooter.h */; };
+		283754090F4288EB00364787 /* apeitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283752FF0F4286E000364787 /* apeitem.cpp */; };
+		2837540A0F4288EB00364787 /* apeitem.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753000F4286E000364787 /* apeitem.h */; };
+		2837540B0F4288EB00364787 /* apetag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753010F4286E000364787 /* apetag.cpp */; };
+		2837540C0F4288EB00364787 /* apetag.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753020F4286E000364787 /* apetag.h */; };
+		2837540D0F4288EB00364787 /* asfattribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753070F4286E000364787 /* asfattribute.cpp */; };
+		2837540E0F4288EB00364787 /* asfattribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753080F4286E000364787 /* asfattribute.h */; };
+		2837540F0F4288EB00364787 /* asffile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753090F4286E000364787 /* asffile.cpp */; };
+		283754100F4288EB00364787 /* asffile.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837530A0F4286E000364787 /* asffile.h */; };
+		283754110F4288EB00364787 /* asfproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837530B0F4286E000364787 /* asfproperties.cpp */; };
+		283754120F4288EB00364787 /* asfproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837530C0F4286E000364787 /* asfproperties.h */; };
+		283754130F4288EB00364787 /* asftag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837530D0F4286E000364787 /* asftag.cpp */; };
+		283754140F4288EB00364787 /* asftag.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837530E0F4286E000364787 /* asftag.h */; };
+		283754150F4288EB00364787 /* flacfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753190F4286E000364787 /* flacfile.cpp */; };
+		283754160F4288EB00364787 /* flacfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837531A0F4286E000364787 /* flacfile.h */; };
+		283754170F4288EB00364787 /* flacproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837531B0F4286E000364787 /* flacproperties.cpp */; };
+		283754180F4288EB00364787 /* flacproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837531C0F4286E000364787 /* flacproperties.h */; };
+		283754190F4288EB00364787 /* mp4atom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753250F4286E000364787 /* mp4atom.cpp */; };
+		2837541A0F4288EB00364787 /* mp4atom.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753260F4286E000364787 /* mp4atom.h */; };
+		2837541B0F4288EB00364787 /* mp4file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753270F4286E000364787 /* mp4file.cpp */; };
+		2837541C0F4288EB00364787 /* mp4file.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753280F4286E000364787 /* mp4file.h */; };
+		2837541D0F4288EB00364787 /* mp4item.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753290F4286E000364787 /* mp4item.cpp */; };
+		2837541E0F4288EB00364787 /* mp4item.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837532A0F4286E000364787 /* mp4item.h */; };
+		2837541F0F4288EB00364787 /* mp4properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837532B0F4286E000364787 /* mp4properties.cpp */; };
+		283754200F4288EB00364787 /* mp4properties.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837532C0F4286E000364787 /* mp4properties.h */; };
+		283754210F4288EB00364787 /* mp4tag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837532D0F4286E000364787 /* mp4tag.cpp */; };
+		283754220F4288EB00364787 /* mp4tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837532E0F4286E000364787 /* mp4tag.h */; };
+		283754230F4288EB00364787 /* mpcfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753330F4286E000364787 /* mpcfile.cpp */; };
+		283754240F4288EB00364787 /* mpcfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753340F4286E000364787 /* mpcfile.h */; };
+		283754250F4288EB00364787 /* mpcproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753350F4286E000364787 /* mpcproperties.cpp */; };
+		283754260F4288EB00364787 /* mpcproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753360F4286E000364787 /* mpcproperties.h */; };
+		283754270F4288EB00364787 /* id3v1genres.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837533B0F4286E000364787 /* id3v1genres.cpp */; };
+		283754280F4288EB00364787 /* id3v1genres.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837533C0F4286E100364787 /* id3v1genres.h */; };
+		283754290F4288EB00364787 /* id3v1tag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837533D0F4286E100364787 /* id3v1tag.cpp */; };
+		2837542A0F4288EB00364787 /* id3v1tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837533E0F4286E100364787 /* id3v1tag.h */; };
+		2837542B0F4288EB00364787 /* attachedpictureframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753440F4286E100364787 /* attachedpictureframe.cpp */; };
+		2837542C0F4288EB00364787 /* attachedpictureframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753450F4286E100364787 /* attachedpictureframe.h */; };
+		2837542D0F4288EB00364787 /* commentsframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753470F4286E100364787 /* commentsframe.cpp */; };
+		2837542E0F4288EB00364787 /* commentsframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753480F4286E100364787 /* commentsframe.h */; };
+		2837542F0F4288EB00364787 /* generalencapsulatedobjectframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753490F4286E100364787 /* generalencapsulatedobjectframe.cpp */; };
+		283754300F4288EB00364787 /* generalencapsulatedobjectframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837534A0F4286E100364787 /* generalencapsulatedobjectframe.h */; };
+		283754310F4288EB00364787 /* popularimeterframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837534D0F4286E100364787 /* popularimeterframe.cpp */; };
+		283754320F4288EB00364787 /* popularimeterframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837534E0F4286E100364787 /* popularimeterframe.h */; };
+		283754330F4288EB00364787 /* privateframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837534F0F4286E100364787 /* privateframe.cpp */; };
+		283754340F4288EB00364787 /* privateframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753500F4286E100364787 /* privateframe.h */; };
+		283754350F4288EB00364787 /* relativevolumeframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753510F4286E100364787 /* relativevolumeframe.cpp */; };
+		283754360F4288EB00364787 /* relativevolumeframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753520F4286E100364787 /* relativevolumeframe.h */; };
+		283754370F4288EB00364787 /* textidentificationframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753530F4286E100364787 /* textidentificationframe.cpp */; };
+		283754380F4288EB00364787 /* textidentificationframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753540F4286E100364787 /* textidentificationframe.h */; };
+		283754390F4288EB00364787 /* uniquefileidentifierframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753550F4286E100364787 /* uniquefileidentifierframe.cpp */; };
+		2837543A0F4288EB00364787 /* uniquefileidentifierframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753560F4286E100364787 /* uniquefileidentifierframe.h */; };
+		2837543B0F4288EB00364787 /* unknownframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753570F4286E100364787 /* unknownframe.cpp */; };
+		2837543C0F4288EB00364787 /* unknownframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753580F4286E100364787 /* unknownframe.h */; };
+		2837543D0F4288EB00364787 /* unsynchronizedlyricsframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753590F4286E100364787 /* unsynchronizedlyricsframe.cpp */; };
+		2837543E0F4288EB00364787 /* unsynchronizedlyricsframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837535A0F4286E100364787 /* unsynchronizedlyricsframe.h */; };
+		2837543F0F4288EB00364787 /* urllinkframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837535B0F4286E100364787 /* urllinkframe.cpp */; };
+		283754400F4288EB00364787 /* urllinkframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837535C0F4286E100364787 /* urllinkframe.h */; };
+		283754410F4288EB00364787 /* id3v2extendedheader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753610F4286E100364787 /* id3v2extendedheader.cpp */; };
+		283754420F4288EB00364787 /* id3v2extendedheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753620F4286E100364787 /* id3v2extendedheader.h */; };
+		283754430F4288EB00364787 /* id3v2footer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753630F4286E100364787 /* id3v2footer.cpp */; };
+		283754440F4288EB00364787 /* id3v2footer.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753640F4286E100364787 /* id3v2footer.h */; };
+		283754450F4288EB00364787 /* id3v2frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753650F4286E100364787 /* id3v2frame.cpp */; };
+		283754460F4288EB00364787 /* id3v2frame.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753660F4286E100364787 /* id3v2frame.h */; };
+		283754470F4288EB00364787 /* id3v2framefactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753670F4286E100364787 /* id3v2framefactory.cpp */; };
+		283754480F4288EB00364787 /* id3v2framefactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753680F4286E100364787 /* id3v2framefactory.h */; };
+		283754490F4288EB00364787 /* id3v2header.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753690F4286E100364787 /* id3v2header.cpp */; };
+		2837544A0F4288EB00364787 /* id3v2header.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837536A0F4286E100364787 /* id3v2header.h */; };
+		2837544B0F4288EB00364787 /* id3v2synchdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837536B0F4286E100364787 /* id3v2synchdata.cpp */; };
+		2837544C0F4288EB00364787 /* id3v2synchdata.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837536C0F4286E100364787 /* id3v2synchdata.h */; };
+		2837544D0F4288EB00364787 /* id3v2tag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837536D0F4286E100364787 /* id3v2tag.cpp */; };
+		2837544E0F4288EB00364787 /* id3v2tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837536E0F4286E100364787 /* id3v2tag.h */; };
+		2837544F0F4288EB00364787 /* mpegfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753730F4286E100364787 /* mpegfile.cpp */; };
+		283754500F4288EB00364787 /* mpegfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753740F4286E100364787 /* mpegfile.h */; };
+		283754510F4288EB00364787 /* mpegheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753760F4286E100364787 /* mpegheader.h */; };
+		283754520F4288EB00364787 /* mpegproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753770F4286E100364787 /* mpegproperties.cpp */; };
+		283754530F4288EB00364787 /* mpegproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753780F4286E100364787 /* mpegproperties.h */; };
+		283754540F4288EB00364787 /* xingheader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753790F4286E100364787 /* xingheader.cpp */; };
+		283754550F4288EB00364787 /* xingheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837537A0F4286E100364787 /* xingheader.h */; };
+		283754560F4288EB00364787 /* oggflacfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753810F4286E100364787 /* oggflacfile.cpp */; };
+		283754570F4288EB00364787 /* oggflacfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753820F4286E100364787 /* oggflacfile.h */; };
+		283754580F4288EB00364787 /* oggfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753850F4286E100364787 /* oggfile.cpp */; };
+		283754590F4288EB00364787 /* oggfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753860F4286E100364787 /* oggfile.h */; };
+		2837545A0F4288EB00364787 /* oggpage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753870F4286E100364787 /* oggpage.cpp */; };
+		2837545B0F4288EB00364787 /* oggpage.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753880F4286E100364787 /* oggpage.h */; };
+		2837545C0F4288EB00364787 /* oggpageheader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753890F4286E100364787 /* oggpageheader.cpp */; };
+		2837545D0F4288EB00364787 /* oggpageheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837538A0F4286E100364787 /* oggpageheader.h */; };
+		2837545E0F4288EB00364787 /* speexfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837538F0F4286E100364787 /* speexfile.cpp */; };
+		2837545F0F4288EB00364787 /* speexfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753900F4286E100364787 /* speexfile.h */; };
+		283754600F4288EB00364787 /* speexproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753910F4286E100364787 /* speexproperties.cpp */; };
+		283754610F4288EB00364787 /* speexproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753920F4286E100364787 /* speexproperties.h */; };
+		283754620F4288EB00364787 /* vorbisfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753970F4286E100364787 /* vorbisfile.cpp */; };
+		283754630F4288EB00364787 /* vorbisfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753980F4286E100364787 /* vorbisfile.h */; };
+		283754640F4288EB00364787 /* vorbisproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753990F4286E100364787 /* vorbisproperties.cpp */; };
+		283754650F4288EB00364787 /* vorbisproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837539A0F4286E100364787 /* vorbisproperties.h */; };
+		283754660F4288EB00364787 /* xiphcomment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837539B0F4286E100364787 /* xiphcomment.cpp */; };
+		283754670F4288EB00364787 /* xiphcomment.h in Headers */ = {isa = PBXBuildFile; fileRef = 2837539C0F4286E100364787 /* xiphcomment.h */; };
+		283754680F4288EB00364787 /* aifffile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2837539F0F4286E100364787 /* aifffile.cpp */; };
+		283754690F4288EB00364787 /* aifffile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753A00F4286E100364787 /* aifffile.h */; };
+		2837546A0F4288EB00364787 /* aiffproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753A10F4286E100364787 /* aiffproperties.cpp */; };
+		2837546B0F4288EB00364787 /* aiffproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753A20F4286E100364787 /* aiffproperties.h */; };
+		2837546C0F4288EB00364787 /* rifffile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753A90F4286E100364787 /* rifffile.cpp */; };
+		2837546D0F4288EB00364787 /* rifffile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753AA0F4286E100364787 /* rifffile.h */; };
+		2837546E0F4288EB00364787 /* wavfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753AF0F4286E100364787 /* wavfile.cpp */; };
+		2837546F0F4288EB00364787 /* wavfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753B00F4286E100364787 /* wavfile.h */; };
+		283754700F4288EB00364787 /* wavproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753B10F4286E100364787 /* wavproperties.cpp */; };
+		283754710F4288EB00364787 /* wavproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753B20F4286E100364787 /* wavproperties.h */; };
+		283754720F4288EB00364787 /* audioproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753120F4286E000364787 /* audioproperties.cpp */; };
+		283754730F4288EB00364787 /* audioproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753130F4286E000364787 /* audioproperties.h */; };
+		283754740F4288EB00364787 /* fileref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753150F4286E000364787 /* fileref.cpp */; };
+		283754750F4288EB00364787 /* fileref.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753160F4286E000364787 /* fileref.h */; };
+		283754760F4288EB00364787 /* tag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753B30F4286E100364787 /* tag.cpp */; };
+		283754770F4288EB00364787 /* tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753B40F4286E100364787 /* tag.h */; };
+		283754780F4288EB00364787 /* taglib_export.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753B60F4286E100364787 /* taglib_export.h */; };
+		283754790F4288EB00364787 /* tagunion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753B70F4286E100364787 /* tagunion.cpp */; };
+		2837547A0F4288EB00364787 /* tagunion.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753B80F4286E100364787 /* tagunion.h */; };
+		2837547B0F4288EB00364787 /* taglib.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753BD0F4286E100364787 /* taglib.h */; };
+		2837547C0F4288EB00364787 /* tbytevector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753BE0F4286E100364787 /* tbytevector.cpp */; };
+		2837547D0F4288EB00364787 /* tbytevector.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753BF0F4286E100364787 /* tbytevector.h */; };
+		2837547E0F4288EB00364787 /* tbytevectorlist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753C00F4286E100364787 /* tbytevectorlist.cpp */; };
+		2837547F0F4288EB00364787 /* tbytevectorlist.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753C10F4286E100364787 /* tbytevectorlist.h */; };
+		283754800F4288EB00364787 /* tdebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753C20F4286E100364787 /* tdebug.cpp */; };
+		283754810F4288EB00364787 /* tdebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753C30F4286E100364787 /* tdebug.h */; };
+		283754820F4288EB00364787 /* tfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753C40F4286E100364787 /* tfile.cpp */; };
+		283754830F4288EB00364787 /* tfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753C50F4286E100364787 /* tfile.h */; };
+		283754840F4288EB00364787 /* tlist.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753C60F4286E100364787 /* tlist.h */; };
+		283754860F4288EB00364787 /* tmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753C80F4286E100364787 /* tmap.h */; };
+		283754870F4288EB00364787 /* tstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753CA0F4286E100364787 /* tstring.cpp */; };
+		283754880F4288EB00364787 /* tstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753CB0F4286E100364787 /* tstring.h */; };
+		283754890F4288EB00364787 /* tstringlist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753CC0F4286E100364787 /* tstringlist.cpp */; };
+		2837548A0F4288EB00364787 /* tstringlist.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753CD0F4286E100364787 /* tstringlist.h */; };
+		2837548B0F4288EB00364787 /* unicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753CE0F4286E100364787 /* unicode.cpp */; };
+		2837548C0F4288EB00364787 /* unicode.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753CF0F4286E100364787 /* unicode.h */; };
+		2837548D0F4288EB00364787 /* trueaudiofile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753D40F4286E100364787 /* trueaudiofile.cpp */; };
+		2837548E0F4288EB00364787 /* trueaudiofile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753D50F4286E100364787 /* trueaudiofile.h */; };
+		2837548F0F4288EB00364787 /* trueaudioproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753D60F4286E100364787 /* trueaudioproperties.cpp */; };
+		283754900F4288EB00364787 /* trueaudioproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753D70F4286E100364787 /* trueaudioproperties.h */; };
+		283754910F4288EB00364787 /* wavpackfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753DC0F4286E100364787 /* wavpackfile.cpp */; };
+		283754920F4288EB00364787 /* wavpackfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753DD0F4286E100364787 /* wavpackfile.h */; };
+		283754930F4288EB00364787 /* wavpackproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283753DE0F4286E100364787 /* wavpackproperties.cpp */; };
+		283754940F4288EB00364787 /* wavpackproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 283753DF0F4286E100364787 /* wavpackproperties.h */; };
+		2837549C0F42898E00364787 /* libtaglib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 283753E40F42875100364787 /* libtaglib.a */; };
+		283754A60F428A8E00364787 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 283754A50F428A8E00364787 /* config.h */; };
 		283A11A50A2C0DE7004372C4 /* broadcast.c in Sources */ = {isa = PBXBuildFile; fileRef = 283A11A40A2C0DE7004372C4 /* broadcast.c */; };
 		283A11AA0A2C0E15004372C4 /* ShuttleGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283A11A60A2C0E15004372C4 /* ShuttleGui.cpp */; };
 		283A11AB0A2C0E15004372C4 /* Theme.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 283A11A80A2C0E15004372C4 /* Theme.cpp */; };
@@ -780,6 +679,212 @@
 		2840CFA80AEB883500F49FC3 /* libtwolame.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2840CF220AEB803C00F49FC3 /* libtwolame.a */; };
 		28456AC20A2C180E00C23C1E /* ThemePrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28456AC00A2C180E00C23C1E /* ThemePrefs.cpp */; };
 		2849B4620A7444BE00ECF12D /* Dependencies.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2849B4600A7444BE00ECF12D /* Dependencies.cpp */; };
+		284A7B920F31571C001D7A67 /* nyx.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A7B8F0F31571B001D7A67 /* nyx.c */; };
+		284A7B930F31571C001D7A67 /* nyx.h in Headers */ = {isa = PBXBuildFile; fileRef = 284A7B900F31571B001D7A67 /* nyx.h */; };
+		284A7B940F31571C001D7A67 /* xlextstart.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A7B910F31571B001D7A67 /* xlextstart.c */; };
+		284A82990F3158A2001D7A67 /* cext.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80380F3158A1001D7A67 /* cext.c */; };
+		284A829B0F3158A2001D7A67 /* cleanup.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A803A0F3158A1001D7A67 /* cleanup.c */; };
+		284A829D0F3158A2001D7A67 /* cmdline.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A803C0F3158A1001D7A67 /* cmdline.c */; };
+		284A829F0F3158A2001D7A67 /* cmtcmd.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A803E0F3158A1001D7A67 /* cmtcmd.c */; };
+		284A82A50F3158A2001D7A67 /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80440F3158A1001D7A67 /* mem.c */; };
+		284A82AB0F3158A2001D7A67 /* midifile.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A804A0F3158A1001D7A67 /* midifile.c */; };
+		284A82AD0F3158A2001D7A67 /* midifns.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A804C0F3158A1001D7A67 /* midifns.c */; };
+		284A82B10F3158A2001D7A67 /* moxc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80500F3158A1001D7A67 /* moxc.c */; };
+		284A82B50F3158A2001D7A67 /* record.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80540F3158A1001D7A67 /* record.c */; };
+		284A82B70F3158A2001D7A67 /* seq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80560F3158A1001D7A67 /* seq.c */; };
+		284A82BA0F3158A2001D7A67 /* seqmread.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80590F3158A1001D7A67 /* seqmread.c */; };
+		284A82BC0F3158A2001D7A67 /* seqmwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A805B0F3158A1001D7A67 /* seqmwrite.c */; };
+		284A82BE0F3158A2001D7A67 /* seqread.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A805D0F3158A1001D7A67 /* seqread.c */; };
+		284A82C00F3158A2001D7A67 /* seqwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A805F0F3158A1001D7A67 /* seqwrite.c */; };
+		284A82C30F3158A2001D7A67 /* tempomap.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80620F3158A1001D7A67 /* tempomap.c */; };
+		284A82C50F3158A2001D7A67 /* timebase.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80640F3158A1001D7A67 /* timebase.c */; };
+		284A82C70F3158A2001D7A67 /* userio.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80660F3158A1001D7A67 /* userio.c */; };
+		284A82CB0F3158A2001D7A67 /* add.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A806C0F3158A1001D7A67 /* add.c */; };
+		284A82CD0F3158A2001D7A67 /* avg.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A806E0F3158A1001D7A67 /* avg.c */; };
+		284A82CF0F3158A2001D7A67 /* compose.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80700F3158A1001D7A67 /* compose.c */; };
+		284A82D10F3158A2001D7A67 /* convolve.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80720F3158A1001D7A67 /* convolve.c */; };
+		284A82D40F3158A2001D7A67 /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80750F3158A1001D7A67 /* debug.c */; };
+		284A82D60F3158A2001D7A67 /* downsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80770F3158A1001D7A67 /* downsample.c */; };
+		284A82DB0F3158A2001D7A67 /* falloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A807C0F3158A1001D7A67 /* falloc.c */; };
+		284A82DD0F3158A2001D7A67 /* ffilterkit.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A807E0F3158A1001D7A67 /* ffilterkit.c */; };
+		284A82E00F3158A2001D7A67 /* fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80810F3158A1001D7A67 /* fft.c */; };
+		284A82E60F3158A2001D7A67 /* handlers.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80870F3158A1001D7A67 /* handlers.c */; };
+		284A82E70F3158A2001D7A67 /* inverse.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80880F3158A1001D7A67 /* inverse.c */; };
+		284A82E90F3158A2001D7A67 /* local.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A808A0F3158A1001D7A67 /* local.c */; };
+		284A82EC0F3158A2001D7A67 /* lpanal.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A808D0F3158A1001D7A67 /* lpanal.c */; };
+		284A82EE0F3158A2001D7A67 /* multiread.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A808F0F3158A1001D7A67 /* multiread.c */; };
+		284A82F00F3158A2001D7A67 /* multiseq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80910F3158A1001D7A67 /* multiseq.c */; };
+		284A82F80F3158A2001D7A67 /* probe.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80990F3158A1001D7A67 /* probe.c */; };
+		284A82FA0F3158A2001D7A67 /* resamp.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A809B0F3158A1001D7A67 /* resamp.c */; };
+		284A82FC0F3158A2001D7A67 /* resampv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A809D0F3158A1001D7A67 /* resampv.c */; };
+		284A82FF0F3158A2001D7A67 /* samples.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80A00F3158A1001D7A67 /* samples.c */; };
+		284A83010F3158A2001D7A67 /* seqext.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80A20F3158A1001D7A67 /* seqext.c */; };
+		284A83030F3158A2001D7A67 /* seqfnint.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80A60F3158A1001D7A67 /* seqfnint.c */; };
+		284A83060F3158A2001D7A67 /* seqinterf.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80AA0F3158A1001D7A67 /* seqinterf.c */; };
+		284A83080F3158A2001D7A67 /* sliders.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80AC0F3158A1001D7A67 /* sliders.c */; };
+		284A830C0F3158A2001D7A67 /* sndfnint.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80B20F3158A1001D7A67 /* sndfnint.c */; };
+		284A830F0F3158A2001D7A67 /* sndmax.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80B60F3158A1001D7A67 /* sndmax.c */; };
+		284A83110F3158A2001D7A67 /* sndread.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80B80F3158A1001D7A67 /* sndread.c */; };
+		284A83130F3158A2001D7A67 /* sndseq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80BA0F3158A1001D7A67 /* sndseq.c */; };
+		284A83180F3158A2001D7A67 /* sndwritepa.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80BF0F3158A1001D7A67 /* sndwritepa.c */; };
+		284A83190F3158A2001D7A67 /* sound.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80C00F3158A1001D7A67 /* sound.c */; };
+		284A831B0F3158A2001D7A67 /* stats.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80C20F3158A1001D7A67 /* stats.c */; };
+		284A831D0F3158A2001D7A67 /* trigger.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80C40F3158A1001D7A67 /* trigger.c */; };
+		284A831F0F3158A2001D7A67 /* yin.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A80C60F3158A1001D7A67 /* yin.c */; };
+		284A83490F3158A2001D7A67 /* instr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80F30F3158A1001D7A67 /* instr.cpp */; };
+		284A834B0F3158A2001D7A67 /* ADSR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80F60F3158A1001D7A67 /* ADSR.cpp */; };
+		284A834C0F3158A2001D7A67 /* BandedWG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80F70F3158A1001D7A67 /* BandedWG.cpp */; };
+		284A834D0F3158A2001D7A67 /* BiQuad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80F80F3158A1001D7A67 /* BiQuad.cpp */; };
+		284A834E0F3158A2001D7A67 /* Bowed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80F90F3158A1001D7A67 /* Bowed.cpp */; };
+		284A834F0F3158A2001D7A67 /* BowTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80FA0F3158A1001D7A67 /* BowTable.cpp */; };
+		284A83500F3158A2001D7A67 /* Chorus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80FB0F3158A1001D7A67 /* Chorus.cpp */; };
+		284A83510F3158A2001D7A67 /* Clarinet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80FC0F3158A1001D7A67 /* Clarinet.cpp */; };
+		284A83520F3158A2001D7A67 /* Delay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80FD0F3158A1001D7A67 /* Delay.cpp */; };
+		284A83530F3158A2001D7A67 /* DelayA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80FE0F3158A1001D7A67 /* DelayA.cpp */; };
+		284A83540F3158A2001D7A67 /* DelayL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A80FF0F3158A1001D7A67 /* DelayL.cpp */; };
+		284A83550F3158A2001D7A67 /* Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81000F3158A1001D7A67 /* Effect.cpp */; };
+		284A83560F3158A2001D7A67 /* Envelope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81010F3158A1001D7A67 /* Envelope.cpp */; };
+		284A83570F3158A2001D7A67 /* FileRead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81020F3158A1001D7A67 /* FileRead.cpp */; };
+		284A83580F3158A2001D7A67 /* FileWvIn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81030F3158A1001D7A67 /* FileWvIn.cpp */; };
+		284A83590F3158A2001D7A67 /* Filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81040F3158A1001D7A67 /* Filter.cpp */; };
+		284A835A0F3158A2001D7A67 /* Flute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81050F3158A1001D7A67 /* Flute.cpp */; };
+		284A835B0F3158A2001D7A67 /* Function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81060F3158A1001D7A67 /* Function.cpp */; };
+		284A835C0F3158A2001D7A67 /* Generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81070F3158A1001D7A67 /* Generator.cpp */; };
+		284A835D0F3158A2001D7A67 /* Instrmnt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81080F3158A1001D7A67 /* Instrmnt.cpp */; };
+		284A835E0F3158A2001D7A67 /* JCRev.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81090F3158A1001D7A67 /* JCRev.cpp */; };
+		284A835F0F3158A2001D7A67 /* JetTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A810A0F3158A1001D7A67 /* JetTable.cpp */; };
+		284A83600F3158A2001D7A67 /* Mandolin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A810B0F3158A1001D7A67 /* Mandolin.cpp */; };
+		284A83610F3158A2001D7A67 /* Modal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A810C0F3158A1001D7A67 /* Modal.cpp */; };
+		284A83620F3158A2001D7A67 /* ModalBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A810D0F3158A1001D7A67 /* ModalBar.cpp */; };
+		284A83630F3158A2001D7A67 /* Noise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A810E0F3158A1001D7A67 /* Noise.cpp */; };
+		284A83640F3158A2001D7A67 /* NRev.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A810F0F3158A1001D7A67 /* NRev.cpp */; };
+		284A83650F3158A2001D7A67 /* OnePole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81100F3158A1001D7A67 /* OnePole.cpp */; };
+		284A83660F3158A2001D7A67 /* OneZero.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81110F3158A1001D7A67 /* OneZero.cpp */; };
+		284A83670F3158A2001D7A67 /* PitShift.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81120F3158A1001D7A67 /* PitShift.cpp */; };
+		284A83680F3158A2001D7A67 /* PluckTwo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81130F3158A1001D7A67 /* PluckTwo.cpp */; };
+		284A83690F3158A2001D7A67 /* PoleZero.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81140F3158A1001D7A67 /* PoleZero.cpp */; };
+		284A836A0F3158A2001D7A67 /* PRCRev.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81150F3158A1001D7A67 /* PRCRev.cpp */; };
+		284A836B0F3158A2001D7A67 /* ReedTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81160F3158A1001D7A67 /* ReedTable.cpp */; };
+		284A836C0F3158A2001D7A67 /* Saxofony.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81170F3158A1001D7A67 /* Saxofony.cpp */; };
+		284A836D0F3158A2001D7A67 /* SineWave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81180F3158A1001D7A67 /* SineWave.cpp */; };
+		284A836E0F3158A2001D7A67 /* Sitar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A81190F3158A1001D7A67 /* Sitar.cpp */; };
+		284A836F0F3158A2001D7A67 /* Stk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A811A0F3158A1001D7A67 /* Stk.cpp */; };
+		284A83700F3158A2001D7A67 /* WaveLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A811B0F3158A1001D7A67 /* WaveLoop.cpp */; };
+		284A83710F3158A2001D7A67 /* WvIn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A811C0F3158A1001D7A67 /* WvIn.cpp */; };
+		284A83720F3158A2001D7A67 /* stkinit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A811D0F3158A1001D7A67 /* stkinit.cpp */; };
+		284A83740F3158A2001D7A67 /* stkint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284A811F0F3158A1001D7A67 /* stkint.cpp */; };
+		284A83AE0F3158A2001D7A67 /* abs.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A817E0F3158A2001D7A67 /* abs.c */; };
+		284A83B00F3158A2001D7A67 /* allpoles.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81810F3158A2001D7A67 /* allpoles.c */; };
+		284A83B20F3158A2001D7A67 /* alpass.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81840F3158A2001D7A67 /* alpass.c */; };
+		284A83B40F3158A2001D7A67 /* alpasscv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81870F3158A2001D7A67 /* alpasscv.c */; };
+		284A83B80F3158A2001D7A67 /* alpassvv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A818D0F3158A2001D7A67 /* alpassvv.c */; };
+		284A83BA0F3158A2001D7A67 /* amosc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81900F3158A2001D7A67 /* amosc.c */; };
+		284A83BC0F3158A2001D7A67 /* areson.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81930F3158A2001D7A67 /* areson.c */; };
+		284A83BE0F3158A2001D7A67 /* aresoncv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81960F3158A2001D7A67 /* aresoncv.c */; };
+		284A83C00F3158A2001D7A67 /* aresonvc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81990F3158A2001D7A67 /* aresonvc.c */; };
+		284A83C20F3158A2001D7A67 /* aresonvv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A819C0F3158A2001D7A67 /* aresonvv.c */; };
+		284A83C40F3158A2001D7A67 /* atone.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A819F0F3158A2001D7A67 /* atone.c */; };
+		284A83C60F3158A2001D7A67 /* atonev.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81A20F3158A2001D7A67 /* atonev.c */; };
+		284A83C80F3158A2001D7A67 /* biquadfilt.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81A50F3158A2001D7A67 /* biquadfilt.c */; };
+		284A83CA0F3158A2001D7A67 /* buzz.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81A80F3158A2001D7A67 /* buzz.c */; };
+		284A83CC0F3158A2001D7A67 /* chase.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81AB0F3158A2001D7A67 /* chase.c */; };
+		284A83CE0F3158A2001D7A67 /* clip.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81AE0F3158A2001D7A67 /* clip.c */; };
+		284A83D00F3158A2001D7A67 /* congen.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81B10F3158A2001D7A67 /* congen.c */; };
+		284A83D20F3158A2001D7A67 /* const.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81B40F3158A2001D7A67 /* const.c */; };
+		284A83D40F3158A2001D7A67 /* coterm.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81B80F3158A2001D7A67 /* coterm.c */; };
+		284A83D60F3158A2001D7A67 /* delaycc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81BC0F3158A2001D7A67 /* delaycc.c */; };
+		284A83D80F3158A2001D7A67 /* delaycv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81BF0F3158A2001D7A67 /* delaycv.c */; };
+		284A83DA0F3158A2001D7A67 /* eqbandvvv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81C40F3158A2001D7A67 /* eqbandvvv.c */; };
+		284A83DC0F3158A2001D7A67 /* exp.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81C70F3158A2001D7A67 /* exp.c */; };
+		284A83DE0F3158A2001D7A67 /* fmfb.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81CB0F3158A2001D7A67 /* fmfb.c */; };
+		284A83E00F3158A2001D7A67 /* fmfbv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81CE0F3158A2001D7A67 /* fmfbv.c */; };
+		284A83E20F3158A2001D7A67 /* fmosc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81D10F3158A2001D7A67 /* fmosc.c */; };
+		284A83E40F3158A2001D7A67 /* follow.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81D40F3158A2001D7A67 /* follow.c */; };
+		284A83E60F3158A2001D7A67 /* fromarraystream.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81D70F3158A2001D7A67 /* fromarraystream.c */; };
+		284A83E80F3158A2001D7A67 /* fromobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81DA0F3158A2001D7A67 /* fromobject.c */; };
+		284A83EA0F3158A2001D7A67 /* gate.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81DD0F3158A2001D7A67 /* gate.c */; };
+		284A83EC0F3158A2001D7A67 /* ifft.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81E10F3158A2001D7A67 /* ifft.c */; };
+		284A83EE0F3158A2001D7A67 /* instrbanded.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81E60F3158A2001D7A67 /* instrbanded.c */; };
+		284A83F00F3158A2001D7A67 /* instrbow.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81E90F3158A2001D7A67 /* instrbow.c */; };
+		284A83F20F3158A2001D7A67 /* instrbowedfreq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81EC0F3158A2001D7A67 /* instrbowedfreq.c */; };
+		284A83F40F3158A2001D7A67 /* instrclar.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81EF0F3158A2001D7A67 /* instrclar.c */; };
+		284A83F60F3158A2001D7A67 /* instrclarall.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81F20F3158A2001D7A67 /* instrclarall.c */; };
+		284A83F80F3158A2001D7A67 /* instrclarfreq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81F50F3158A2001D7A67 /* instrclarfreq.c */; };
+		284A83FA0F3158A2001D7A67 /* instrflute.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81F80F3158A2001D7A67 /* instrflute.c */; };
+		284A83FC0F3158A2001D7A67 /* instrfluteall.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81FB0F3158A2001D7A67 /* instrfluteall.c */; };
+		284A83FE0F3158A2001D7A67 /* instrflutefreq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A81FE0F3158A2001D7A67 /* instrflutefreq.c */; };
+		284A84000F3158A2001D7A67 /* instrmandolin.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82010F3158A2001D7A67 /* instrmandolin.c */; };
+		284A84020F3158A2001D7A67 /* instrmodalbar.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82040F3158A2001D7A67 /* instrmodalbar.c */; };
+		284A84040F3158A2001D7A67 /* instrsax.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82070F3158A2001D7A67 /* instrsax.c */; };
+		284A84060F3158A2001D7A67 /* instrsaxall.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A820A0F3158A2001D7A67 /* instrsaxall.c */; };
+		284A84080F3158A2001D7A67 /* instrsaxfreq.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A820D0F3158A2001D7A67 /* instrsaxfreq.c */; };
+		284A840A0F3158A2001D7A67 /* instrsitar.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82100F3158A2001D7A67 /* instrsitar.c */; };
+		284A840C0F3158A2001D7A67 /* integrate.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82130F3158A2001D7A67 /* integrate.c */; };
+		284A840E0F3158A2001D7A67 /* log.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82160F3158A2001D7A67 /* log.c */; };
+		284A84100F3158A2001D7A67 /* lpreson.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82190F3158A2001D7A67 /* lpreson.c */; };
+		284A84120F3158A2001D7A67 /* maxv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A821C0F3158A2001D7A67 /* maxv.c */; };
+		284A84140F3158A2001D7A67 /* offset.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A821F0F3158A2001D7A67 /* offset.c */; };
+		284A84160F3158A2001D7A67 /* oneshot.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82220F3158A2001D7A67 /* oneshot.c */; };
+		284A84180F3158A2001D7A67 /* osc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82250F3158A2001D7A67 /* osc.c */; };
+		284A841A0F3158A2001D7A67 /* partial.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82280F3158A2001D7A67 /* partial.c */; };
+		284A841C0F3158A2001D7A67 /* pluck.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A822B0F3158A2001D7A67 /* pluck.c */; };
+		284A841E0F3158A2001D7A67 /* prod.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A822E0F3158A2001D7A67 /* prod.c */; };
+		284A84200F3158A2001D7A67 /* pwl.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82310F3158A2001D7A67 /* pwl.c */; };
+		284A84220F3158A2001D7A67 /* quantize.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82340F3158A2001D7A67 /* quantize.c */; };
+		284A84240F3158A2001D7A67 /* recip.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82370F3158A2001D7A67 /* recip.c */; };
+		284A84260F3158A2001D7A67 /* reson.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A823A0F3158A2001D7A67 /* reson.c */; };
+		284A84280F3158A2001D7A67 /* resoncv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A823D0F3158A2001D7A67 /* resoncv.c */; };
+		284A842A0F3158A2001D7A67 /* resonvc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82400F3158A2001D7A67 /* resonvc.c */; };
+		284A842C0F3158A2001D7A67 /* resonvv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82430F3158A2001D7A67 /* resonvv.c */; };
+		284A842E0F3158A2001D7A67 /* sampler.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82460F3158A2001D7A67 /* sampler.c */; };
+		284A84300F3158A2001D7A67 /* scale.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82490F3158A2001D7A67 /* scale.c */; };
+		284A84320F3158A2001D7A67 /* shape.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A824C0F3158A2001D7A67 /* shape.c */; };
+		284A84340F3158A2001D7A67 /* sine.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A824F0F3158A2001D7A67 /* sine.c */; };
+		284A84360F3158A2001D7A67 /* siosc.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82520F3158A2001D7A67 /* siosc.c */; };
+		284A84380F3158A2001D7A67 /* slope.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82550F3158A2001D7A67 /* slope.c */; };
+		284A843A0F3158A2001D7A67 /* sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82580F3158A2001D7A67 /* sqrt.c */; };
+		284A843C0F3158A2001D7A67 /* stkchorus.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A825B0F3158A2001D7A67 /* stkchorus.c */; };
+		284A843E0F3158A2001D7A67 /* stkpitshift.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A825E0F3158A2001D7A67 /* stkpitshift.c */; };
+		284A84400F3158A2001D7A67 /* stkrev.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82610F3158A2001D7A67 /* stkrev.c */; };
+		284A84420F3158A2001D7A67 /* tapf.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82640F3158A2001D7A67 /* tapf.c */; };
+		284A84440F3158A2001D7A67 /* tapv.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82670F3158A2001D7A67 /* tapv.c */; };
+		284A84460F3158A2001D7A67 /* tone.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A826A0F3158A2001D7A67 /* tone.c */; };
+		284A84480F3158A2001D7A67 /* tonev.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A826D0F3158A2001D7A67 /* tonev.c */; };
+		284A844A0F3158A2001D7A67 /* upsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82720F3158A2001D7A67 /* upsample.c */; };
+		284A844C0F3158A2001D7A67 /* white.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82750F3158A2001D7A67 /* white.c */; };
+		284A844E0F3158A2001D7A67 /* extern.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A827B0F3158A2001D7A67 /* extern.c */; };
+		284A84520F3158A2001D7A67 /* path.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A827F0F3158A2001D7A67 /* path.c */; };
+		284A84530F3158A2001D7A67 /* xlbfun.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82800F3158A2001D7A67 /* xlbfun.c */; };
+		284A84540F3158A2001D7A67 /* xlcont.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82810F3158A2001D7A67 /* xlcont.c */; };
+		284A84550F3158A2001D7A67 /* xldbug.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82820F3158A2001D7A67 /* xldbug.c */; };
+		284A84560F3158A2001D7A67 /* xldmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82830F3158A2001D7A67 /* xldmem.c */; };
+		284A84580F3158A2001D7A67 /* xleval.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82850F3158A2001D7A67 /* xleval.c */; };
+		284A84590F3158A2001D7A67 /* xlfio.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82860F3158A2001D7A67 /* xlfio.c */; };
+		284A845A0F3158A2001D7A67 /* xlftab.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82870F3158A2001D7A67 /* xlftab.c */; };
+		284A845B0F3158A2001D7A67 /* xlglob.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82880F3158A2001D7A67 /* xlglob.c */; };
+		284A845C0F3158A2001D7A67 /* xlimage.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82890F3158A2001D7A67 /* xlimage.c */; };
+		284A845D0F3158A2001D7A67 /* xlinit.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A828A0F3158A2001D7A67 /* xlinit.c */; };
+		284A845E0F3158A2001D7A67 /* xlio.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A828B0F3158A2001D7A67 /* xlio.c */; };
+		284A845F0F3158A2001D7A67 /* xlisp.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A828C0F3158A2001D7A67 /* xlisp.c */; };
+		284A84610F3158A2001D7A67 /* xljump.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A828E0F3158A2001D7A67 /* xljump.c */; };
+		284A84620F3158A2001D7A67 /* xllist.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A828F0F3158A2001D7A67 /* xllist.c */; };
+		284A84630F3158A2001D7A67 /* xlmath.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82900F3158A2001D7A67 /* xlmath.c */; };
+		284A84640F3158A2001D7A67 /* xlobj.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82910F3158A2001D7A67 /* xlobj.c */; };
+		284A84650F3158A2001D7A67 /* xlpp.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82920F3158A2001D7A67 /* xlpp.c */; };
+		284A84660F3158A2001D7A67 /* xlprin.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82930F3158A2001D7A67 /* xlprin.c */; };
+		284A84670F3158A2001D7A67 /* xlread.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82940F3158A2001D7A67 /* xlread.c */; };
+		284A84680F3158A2001D7A67 /* xlstr.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82950F3158A2001D7A67 /* xlstr.c */; };
+		284A84690F3158A2001D7A67 /* xlsubr.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82960F3158A2001D7A67 /* xlsubr.c */; };
+		284A846A0F3158A2001D7A67 /* xlsym.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82970F3158A2001D7A67 /* xlsym.c */; };
+		284A846B0F3158A2001D7A67 /* xlsys.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A82980F3158A2001D7A67 /* xlsys.c */; };
+		284B279A0FC66864005EAC96 /* DevicePrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B278E0FC66863005EAC96 /* DevicePrefs.cpp */; };
+		284B279B0FC66864005EAC96 /* ImportExportPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27900FC66863005EAC96 /* ImportExportPrefs.cpp */; };
+		284B279C0FC66864005EAC96 /* LibraryPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27920FC66863005EAC96 /* LibraryPrefs.cpp */; };
+		284B279D0FC66864005EAC96 /* PlaybackPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27940FC66863005EAC96 /* PlaybackPrefs.cpp */; };
+		284B279E0FC66864005EAC96 /* ProjectsPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27960FC66863005EAC96 /* ProjectsPrefs.cpp */; };
+		284B279F0FC66864005EAC96 /* RecordingPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27980FC66863005EAC96 /* RecordingPrefs.cpp */; };
+		284B27E40FC66CCD005EAC96 /* TracksPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27E00FC66CCD005EAC96 /* TracksPrefs.cpp */; };
+		284B27E50FC66CCD005EAC96 /* WarningsPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 284B27E20FC66CCD005EAC96 /* WarningsPrefs.cpp */; };
 		28501EA10CEECEF80029ABAA /* HelpText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28501E9D0CEECEF80029ABAA /* HelpText.cpp */; };
 		28501EA20CEECEF80029ABAA /* SplashDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28501E9F0CEECEF80029ABAA /* SplashDialog.cpp */; };
 		28501EAA0CEED0670029ABAA /* LoadVamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28501E970CEECE910029ABAA /* LoadVamp.cpp */; };
@@ -1036,12 +1141,19 @@
 		287BD9F40E25E02C00CB4467 /* value.c in Sources */ = {isa = PBXBuildFile; fileRef = 287BD9D00E25E02C00CB4467 /* value.c */; };
 		287BD9F50E25E02C00CB4467 /* values.c in Sources */ = {isa = PBXBuildFile; fileRef = 287BD9D10E25E02C00CB4467 /* values.c */; };
 		287BD9F60E25E02C00CB4467 /* world.c in Sources */ = {isa = PBXBuildFile; fileRef = 287BD9D20E25E02C00CB4467 /* world.c */; };
+		287DBE890F3F6B2700C5BBED /* audio_detect.c in Sources */ = {isa = PBXBuildFile; fileRef = 287DBE830F3F6B2700C5BBED /* audio_detect.c */; };
+		287DBE8A0F3F6B2700C5BBED /* chunk.c in Sources */ = {isa = PBXBuildFile; fileRef = 287DBE840F3F6B2700C5BBED /* chunk.c */; };
+		287DBE8B0F3F6B2700C5BBED /* ima_oki_adpcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 287DBE850F3F6B2700C5BBED /* ima_oki_adpcm.c */; };
+		287DBE8C0F3F6B2700C5BBED /* ima_oki_adpcm.h in Headers */ = {isa = PBXBuildFile; fileRef = 287DBE860F3F6B2700C5BBED /* ima_oki_adpcm.h */; };
+		287DBE8D0F3F6B2700C5BBED /* mpc2k.c in Sources */ = {isa = PBXBuildFile; fileRef = 287DBE870F3F6B2700C5BBED /* mpc2k.c */; };
+		287DBE8E0F3F6B2700C5BBED /* rf64.c in Sources */ = {isa = PBXBuildFile; fileRef = 287DBE880F3F6B2700C5BBED /* rf64.c */; };
 		287F9F3D0A69748F00F025FA /* TimeDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 287F9F3C0A69748F00F025FA /* TimeDialog.cpp */; };
 		288052870DEA69C900671EA4 /* PipeServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 288052840DEA69C900671EA4 /* PipeServer.cpp */; };
 		288052880DEA69C900671EA4 /* ScripterCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 288052850DEA69C900671EA4 /* ScripterCallback.cpp */; };
 		288052C20DEA73F500671EA4 /* NonGuiThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 288052BC0DEA72F300671EA4 /* NonGuiThread.cpp */; };
 		288053740DEA9E4C00671EA4 /* ScripterCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 288052860DEA69C900671EA4 /* ScripterCallback.h */; };
 		2882177B0A35D8730029AF41 /* ShuttlePrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 288217790A35D8730029AF41 /* ShuttlePrefs.cpp */; };
+		2885BFF40FC108F800128165 /* LoadVST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2885BFF20FC108F800128165 /* LoadVST.cpp */; };
 		2891B2870C531D2C0044FBE3 /* FindClipping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2891B2850C531D2C0044FBE3 /* FindClipping.cpp */; };
 		2897F6F00AB3DB5A003C20C5 /* ControlToolBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2897F6DC0AB3DB5A003C20C5 /* ControlToolBar.cpp */; };
 		2897F6F10AB3DB5A003C20C5 /* EditToolBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2897F6DE0AB3DB5A003C20C5 /* EditToolBar.cpp */; };
@@ -1054,7 +1166,14 @@
 		2897F6F80AB3DB5A003C20C5 /* ToolsToolBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2897F6EC0AB3DB5A003C20C5 /* ToolsToolBar.cpp */; };
 		2897F6F90AB3DB5A003C20C5 /* TranscriptionToolBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2897F6EE0AB3DB5A003C20C5 /* TranscriptionToolBar.cpp */; };
 		2897F6FE0AB3DCD0003C20C5 /* Grabber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2897F6FC0AB3DCD0003C20C5 /* Grabber.cpp */; };
+		289E750A1006D0BD00CEF79B /* MixerBoard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 289E75081006D0BD00CEF79B /* MixerBoard.cpp */; };
 		289F9C7E0AC671BB00797DC1 /* DeviceToolBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 289F9C7C0AC671BB00797DC1 /* DeviceToolBar.cpp */; };
+		28A4E2AC0F60319300E9E7F2 /* fftext.c in Sources */ = {isa = PBXBuildFile; fileRef = 28A4E2A40F60319300E9E7F2 /* fftext.c */; };
+		28A4E2AD0F60319300E9E7F2 /* fftext.h in Headers */ = {isa = PBXBuildFile; fileRef = 28A4E2A50F60319300E9E7F2 /* fftext.h */; };
+		28A4E2AE0F60319300E9E7F2 /* fftlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 28A4E2A60F60319300E9E7F2 /* fftlib.c */; };
+		28A4E2AF0F60319300E9E7F2 /* fftlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 28A4E2A70F60319300E9E7F2 /* fftlib.h */; };
+		28A4E2B00F60319300E9E7F2 /* matlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 28A4E2AA0F60319300E9E7F2 /* matlib.c */; };
+		28A4E2B10F60319300E9E7F2 /* matlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 28A4E2AB0F60319300E9E7F2 /* matlib.h */; };
 		28A520550C12BE0300BF6811 /* pa_debugprint.c in Sources */ = {isa = PBXBuildFile; fileRef = 28A520510C12BE0300BF6811 /* pa_debugprint.c */; };
 		28A520560C12BE0300BF6811 /* pa_debugprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 28A520520C12BE0300BF6811 /* pa_debugprint.h */; };
 		28A520570C12BE0300BF6811 /* pa_ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 28A520530C12BE0300BF6811 /* pa_ringbuffer.c */; };
@@ -1071,45 +1190,13 @@
 		28A96DC10E28642200F3CE01 /* mfmidi.h in Headers */ = {isa = PBXBuildFile; fileRef = 28F3A3FF0E28289500729866 /* mfmidi.h */; };
 		28A96DC20E28642300F3CE01 /* strparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28F3A4000E28289500729866 /* strparse.cpp */; };
 		28A96DC30E28642300F3CE01 /* strparse.h in Headers */ = {isa = PBXBuildFile; fileRef = 28F3A4010E28289500729866 /* strparse.h */; };
-		28AA28CD0F267F98008AED9E /* bug.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28330F267A6E008AED9E /* bug.lsp */; };
-		28AA28CE0F267F98008AED9E /* dspprims.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28340F267A6E008AED9E /* dspprims.lsp */; };
-		28AA28CF0F267F98008AED9E /* evalenv.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28350F267A6E008AED9E /* evalenv.lsp */; };
-		28AA28D00F267F98008AED9E /* follow.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28360F267A6E008AED9E /* follow.lsp */; };
-		28AA28D10F267F98008AED9E /* init.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28370F267A6E008AED9E /* init.lsp */; };
-		28AA28D20F267F98008AED9E /* misc.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28380F267A6E008AED9E /* misc.lsp */; };
-		28AA28D30F267F98008AED9E /* nyinit.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28390F267A6E008AED9E /* nyinit.lsp */; };
-		28AA28D40F267F98008AED9E /* nyqmisc.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA283A0F267A6E008AED9E /* nyqmisc.lsp */; };
-		28AA28D50F267F98008AED9E /* nyquist.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA283B0F267A6E008AED9E /* nyquist.lsp */; };
-		28AA28D60F267F98008AED9E /* printrec.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA283C0F267A6E008AED9E /* printrec.lsp */; };
-		28AA28D70F267F98008AED9E /* profile.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA283D0F267A6E008AED9E /* profile.lsp */; };
-		28AA28D80F267F98008AED9E /* seq.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA283E0F267A6E008AED9E /* seq.lsp */; };
-		28AA28D90F267F98008AED9E /* seqfnint.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA283F0F267A6E008AED9E /* seqfnint.lsp */; };
-		28AA28DA0F267F98008AED9E /* seqmidi.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28400F267A6E008AED9E /* seqmidi.lsp */; };
-		28AA28DB0F267F98008AED9E /* sndfnint.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28410F267A6E008AED9E /* sndfnint.lsp */; };
-		28AA28DC0F267F98008AED9E /* system.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28420F267A6E008AED9E /* system.lsp */; };
-		28AA28DD0F267F98008AED9E /* test.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28430F267A6E008AED9E /* test.lsp */; };
-		28AA28DE0F267F98008AED9E /* xlinit.lsp in Copy Nyquist Files */ = {isa = PBXBuildFile; fileRef = 28AA28440F267A6E008AED9E /* xlinit.lsp */; };
-		28AA28E00F267FD2008AED9E /* analyze.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28120F267A2D008AED9E /* analyze.ny */; };
-		28AA28E10F267FD2008AED9E /* beat.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28130F267A2D008AED9E /* beat.ny */; };
-		28AA28E20F267FD2008AED9E /* clicktrack.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28140F267A2D008AED9E /* clicktrack.ny */; };
-		28AA28E30F267FD2008AED9E /* clipfix.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28150F267A2D008AED9E /* clipfix.ny */; };
-		28AA28E40F267FD2008AED9E /* crossfadein.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28160F267A2D008AED9E /* crossfadein.ny */; };
-		28AA28E50F267FD2008AED9E /* crossfadeout.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28170F267A2D008AED9E /* crossfadeout.ny */; };
-		28AA28E60F267FD2008AED9E /* delay.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28180F267A2D008AED9E /* delay.ny */; };
-		28AA28E70F267FD2008AED9E /* equalabel.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28190F267A2D008AED9E /* equalabel.ny */; };
-		28AA28E80F267FD2008AED9E /* highpass.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA281A0F267A2D008AED9E /* highpass.ny */; };
-		28AA28E90F267FD2008AED9E /* lowpass.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA281B0F267A2D008AED9E /* lowpass.ny */; };
-		28AA28EA0F267FD2008AED9E /* pluck.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA281C0F267A2D008AED9E /* pluck.ny */; };
-		28AA28EB0F267FD2008AED9E /* rissetdrum.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA281D0F267A2D008AED9E /* rissetdrum.ny */; };
-		28AA28EC0F267FD2008AED9E /* SilenceMarker.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA281E0F267A2D008AED9E /* SilenceMarker.ny */; };
-		28AA28ED0F267FD2008AED9E /* tremolo.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA281F0F267A2D008AED9E /* tremolo.ny */; };
-		28AA28EE0F267FD2008AED9E /* vocalremover.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28200F267A2D008AED9E /* vocalremover.ny */; };
-		28AA28EF0F267FD2008AED9E /* vocoder.ny in Copy Plug-in Files */ = {isa = PBXBuildFile; fileRef = 28AA28210F267A2D008AED9E /* vocoder.ny */; };
 		28B6ED8F0DE3D1B50046F0F3 /* LoadModules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28B6ED8D0DE3D1B50046F0F3 /* LoadModules.cpp */; };
-		28D0255B0AFDA53B0035F843 /* alpasscv.c in Sources */ = {isa = PBXBuildFile; fileRef = 28D025570AFDA53B0035F843 /* alpasscv.c */; };
-		28D0255C0AFDA53B0035F843 /* alpasscv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28D025580AFDA53B0035F843 /* alpasscv.h */; };
-		28D0255D0AFDA53B0035F843 /* alpassvc.c in Sources */ = {isa = PBXBuildFile; fileRef = 28D025590AFDA53B0035F843 /* alpassvc.c */; };
-		28D0255E0AFDA53B0035F843 /* alpassvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28D0255A0AFDA53B0035F843 /* alpassvc.h */; };
+		28B97B890FBF771A0076CF28 /* VSTEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28B97B850FBF771A0076CF28 /* VSTEffect.cpp */; };
+		28CCDD000F939FD70081F2FC /* FileHistory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28CCDCFF0F939FD70081F2FC /* FileHistory.cpp */; };
+		28D540050FD1912A00FA7C75 /* AppCommandEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D53FFA0FD1912A00FA7C75 /* AppCommandEvent.cpp */; };
+		28D540060FD1912A00FA7C75 /* CommandBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D53FFE0FD1912A00FA7C75 /* CommandBuilder.cpp */; };
+		28D540070FD1912A00FA7C75 /* CommandHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D540000FD1912A00FA7C75 /* CommandHandler.cpp */; };
+		28D540080FD1912A00FA7C75 /* ScriptCommandRelay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D540030FD1912A00FA7C75 /* ScriptCommandRelay.cpp */; };
 		28D587CB0E264CF4009C7DEA /* LoadLV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D587C70E264CF3009C7DEA /* LoadLV2.cpp */; };
 		28D587CC0E264CF4009C7DEA /* LV2Effect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D587C90E264CF4009C7DEA /* LV2Effect.cpp */; };
 		28D588030E265626009C7DEA /* sparql_lexer.c in Sources */ = {isa = PBXBuildFile; fileRef = 28D587DF0E2651C6009C7DEA /* sparql_lexer.c */; };
@@ -1117,6 +1204,8 @@
 		28D65C720B97E54B000E001A /* AutoDuck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D65C700B97E54B000E001A /* AutoDuck.cpp */; };
 		28D65C760B97E573000E001A /* DtmfGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28D65C740B97E573000E001A /* DtmfGen.cpp */; };
 		28DA07390E4F5CEC003933C5 /* ExportFFmpegDialogs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28DA07380E4F5CEC003933C5 /* ExportFFmpegDialogs.cpp */; };
+		28DABFBE0FF19DB100AC7848 /* RealFFTf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28DABFBC0FF19DB100AC7848 /* RealFFTf.cpp */; };
+		28DB34790FDC2C5D0011F589 /* ResponseQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28DB34780FDC2C5D0011F589 /* ResponseQueue.cpp */; };
 		28E2370D0E515D9200281398 /* audiomixerreader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ED05D1000E50AD5700CC4BD3 /* audiomixerreader.cpp */; };
 		28E2370E0E515D9300281398 /* audiomixerreader.h in Headers */ = {isa = PBXBuildFile; fileRef = ED05D1010E50AD5700CC4BD3 /* audiomixerreader.h */; };
 		28E2370F0E515D9400281398 /* audioreader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ED05D1020E50AD5700CC4BD3 /* audioreader.cpp */; };
@@ -1180,10 +1269,179 @@
 		28EA56650D9753B000C8D1B6 /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = 28EA56620D9753B000C8D1B6 /* window.c */; };
 		28EA567D0D976E9500C8D1B6 /* pa_unix_hostapis.c in Sources */ = {isa = PBXBuildFile; fileRef = 28EA567C0D976E9500C8D1B6 /* pa_unix_hostapis.c */; };
 		28EA567F0D976EE700C8D1B6 /* pa_memorybarrier.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EA567E0D976EE700C8D1B6 /* pa_memorybarrier.h */; };
-		28EB47D40AFD542100502984 /* abs.c in Sources */ = {isa = PBXBuildFile; fileRef = 28EB47D30AFD542100502984 /* abs.c */; };
-		28EB47D60AFD547600502984 /* sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = 28EB47D50AFD547600502984 /* sqrt.c */; };
-		28EB47D90AFD54B800502984 /* abs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB47D70AFD54B800502984 /* abs.h */; };
-		28EB47DA0AFD54B800502984 /* sqrt.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB47D80AFD54B800502984 /* sqrt.h */; };
+		28EB74AD0FDC2DF60046D78E /* userio.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB749C0FDC2DF50046D78E /* userio.h */; };
+		28EB74AE0FDC2DF60046D78E /* timebase.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB749D0FDC2DF50046D78E /* timebase.h */; };
+		28EB74AF0FDC2DF60046D78E /* tempomap.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB749E0FDC2DF50046D78E /* tempomap.h */; };
+		28EB74B00FDC2DF60046D78E /* seqwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB749F0FDC2DF50046D78E /* seqwrite.h */; };
+		28EB74B10FDC2DF60046D78E /* seqread.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A00FDC2DF50046D78E /* seqread.h */; };
+		28EB74B20FDC2DF60046D78E /* seqmwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A10FDC2DF50046D78E /* seqmwrite.h */; };
+		28EB74B30FDC2DF60046D78E /* seqmread.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A20FDC2DF50046D78E /* seqmread.h */; };
+		28EB74B40FDC2DF60046D78E /* seq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A30FDC2DF50046D78E /* seq.h */; };
+		28EB74B50FDC2DF60046D78E /* record.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A40FDC2DF50046D78E /* record.h */; };
+		28EB74B60FDC2DF60046D78E /* moxc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A50FDC2DF50046D78E /* moxc.h */; };
+		28EB74B70FDC2DF60046D78E /* midifns.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A60FDC2DF50046D78E /* midifns.h */; };
+		28EB74B80FDC2DF60046D78E /* midifile.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A70FDC2DF50046D78E /* midifile.h */; };
+		28EB74B90FDC2DF60046D78E /* mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A80FDC2DF50046D78E /* mem.h */; };
+		28EB74BA0FDC2DF60046D78E /* cmtcmd.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74A90FDC2DF50046D78E /* cmtcmd.h */; };
+		28EB74BB0FDC2DF60046D78E /* cmdline.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74AA0FDC2DF50046D78E /* cmdline.h */; };
+		28EB74BC0FDC2DF60046D78E /* cleanup.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74AB0FDC2DF50046D78E /* cleanup.h */; };
+		28EB74BD0FDC2DF60046D78E /* cext.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74AC0FDC2DF50046D78E /* cext.h */; };
+		28EB74DF0FDC2EDF0046D78E /* add.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74BE0FDC2EDE0046D78E /* add.h */; };
+		28EB74E00FDC2EDF0046D78E /* avg.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74BF0FDC2EDE0046D78E /* avg.h */; };
+		28EB74E10FDC2EDF0046D78E /* compose.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C00FDC2EDE0046D78E /* compose.h */; };
+		28EB74E20FDC2EDF0046D78E /* convolve.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C10FDC2EDE0046D78E /* convolve.h */; };
+		28EB74E30FDC2EDF0046D78E /* cque.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C20FDC2EDE0046D78E /* cque.h */; };
+		28EB74E40FDC2EDF0046D78E /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C30FDC2EDE0046D78E /* debug.h */; };
+		28EB74E50FDC2EDF0046D78E /* downsample.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C40FDC2EDE0046D78E /* downsample.h */; };
+		28EB74E60FDC2EDF0046D78E /* falloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C50FDC2EDE0046D78E /* falloc.h */; };
+		28EB74E70FDC2EDF0046D78E /* ffilterkit.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C60FDC2EDE0046D78E /* ffilterkit.h */; };
+		28EB74E80FDC2EDF0046D78E /* fft.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C70FDC2EDE0046D78E /* fft.h */; };
+		28EB74E90FDC2EDF0046D78E /* inverse.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C80FDC2EDE0046D78E /* inverse.h */; };
+		28EB74EA0FDC2EDF0046D78E /* localdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74C90FDC2EDE0046D78E /* localdefs.h */; };
+		28EB74EB0FDC2EDF0046D78E /* localptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74CA0FDC2EDE0046D78E /* localptrs.h */; };
+		28EB74EC0FDC2EDF0046D78E /* lpanal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74CB0FDC2EDE0046D78E /* lpanal.h */; };
+		28EB74ED0FDC2EDF0046D78E /* multiread.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74CC0FDC2EDE0046D78E /* multiread.h */; };
+		28EB74EE0FDC2EDF0046D78E /* multiseq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74CD0FDC2EDE0046D78E /* multiseq.h */; };
+		28EB74EF0FDC2EDF0046D78E /* probe.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74CE0FDC2EDE0046D78E /* probe.h */; };
+		28EB74F00FDC2EDF0046D78E /* resamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74CF0FDC2EDE0046D78E /* resamp.h */; };
+		28EB74F10FDC2EDF0046D78E /* resampv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D00FDC2EDE0046D78E /* resampv.h */; };
+		28EB74F20FDC2EDF0046D78E /* samples.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D10FDC2EDE0046D78E /* samples.h */; };
+		28EB74F30FDC2EDF0046D78E /* seqext.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D20FDC2EDE0046D78E /* seqext.h */; };
+		28EB74F40FDC2EDF0046D78E /* seqfnintdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D30FDC2EDE0046D78E /* seqfnintdefs.h */; };
+		28EB74F50FDC2EDF0046D78E /* seqfnintptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D40FDC2EDE0046D78E /* seqfnintptrs.h */; };
+		28EB74F60FDC2EDF0046D78E /* seqinterf.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D50FDC2EDE0046D78E /* seqinterf.h */; };
+		28EB74F70FDC2EDF0046D78E /* sliders.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D60FDC2EDE0046D78E /* sliders.h */; };
+		28EB74F80FDC2EDF0046D78E /* sndfnintdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D70FDC2EDE0046D78E /* sndfnintdefs.h */; };
+		28EB74F90FDC2EDF0046D78E /* sndfnintptrs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D80FDC2EDE0046D78E /* sndfnintptrs.h */; };
+		28EB74FA0FDC2EDF0046D78E /* sndmax.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74D90FDC2EDE0046D78E /* sndmax.h */; };
+		28EB74FB0FDC2EDF0046D78E /* sndread.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74DA0FDC2EDE0046D78E /* sndread.h */; };
+		28EB74FC0FDC2EDF0046D78E /* sndseq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74DB0FDC2EDE0046D78E /* sndseq.h */; };
+		28EB74FD0FDC2EDF0046D78E /* sound.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74DC0FDC2EDE0046D78E /* sound.h */; };
+		28EB74FE0FDC2EDF0046D78E /* trigger.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74DD0FDC2EDE0046D78E /* trigger.h */; };
+		28EB74FF0FDC2EDF0046D78E /* yin.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB74DE0FDC2EDE0046D78E /* yin.h */; };
+		28EB752F0FDC2FB20046D78E /* ADSR.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75040FDC2FB10046D78E /* ADSR.h */; };
+		28EB75300FDC2FB20046D78E /* BandedWG.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75050FDC2FB10046D78E /* BandedWG.h */; };
+		28EB75310FDC2FB20046D78E /* BiQuad.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75060FDC2FB10046D78E /* BiQuad.h */; };
+		28EB75320FDC2FB20046D78E /* Bowed.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75070FDC2FB10046D78E /* Bowed.h */; };
+		28EB75330FDC2FB20046D78E /* BowTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75080FDC2FB10046D78E /* BowTable.h */; };
+		28EB75340FDC2FB20046D78E /* Chorus.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75090FDC2FB10046D78E /* Chorus.h */; };
+		28EB75350FDC2FB20046D78E /* Clarinet.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB750A0FDC2FB10046D78E /* Clarinet.h */; };
+		28EB75360FDC2FB20046D78E /* Delay.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB750B0FDC2FB10046D78E /* Delay.h */; };
+		28EB75370FDC2FB20046D78E /* DelayA.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB750C0FDC2FB10046D78E /* DelayA.h */; };
+		28EB75380FDC2FB20046D78E /* DelayL.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB750D0FDC2FB10046D78E /* DelayL.h */; };
+		28EB75390FDC2FB20046D78E /* Effect.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB750E0FDC2FB10046D78E /* Effect.h */; };
+		28EB753A0FDC2FB20046D78E /* Envelope.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB750F0FDC2FB10046D78E /* Envelope.h */; };
+		28EB753B0FDC2FB20046D78E /* FileRead.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75100FDC2FB10046D78E /* FileRead.h */; };
+		28EB753C0FDC2FB20046D78E /* FileWvIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75110FDC2FB10046D78E /* FileWvIn.h */; };
+		28EB753D0FDC2FB20046D78E /* Filter.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75120FDC2FB10046D78E /* Filter.h */; };
+		28EB753E0FDC2FB20046D78E /* Flute.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75130FDC2FB10046D78E /* Flute.h */; };
+		28EB753F0FDC2FB20046D78E /* Function.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75140FDC2FB10046D78E /* Function.h */; };
+		28EB75400FDC2FB20046D78E /* Generator.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75150FDC2FB10046D78E /* Generator.h */; };
+		28EB75410FDC2FB20046D78E /* Instrmnt.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75160FDC2FB10046D78E /* Instrmnt.h */; };
+		28EB75420FDC2FB20046D78E /* JCRev.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75170FDC2FB10046D78E /* JCRev.h */; };
+		28EB75430FDC2FB20046D78E /* JetTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75180FDC2FB10046D78E /* JetTable.h */; };
+		28EB75440FDC2FB20046D78E /* Mandolin.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75190FDC2FB10046D78E /* Mandolin.h */; };
+		28EB75450FDC2FB20046D78E /* Modal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB751A0FDC2FB10046D78E /* Modal.h */; };
+		28EB75460FDC2FB20046D78E /* ModalBar.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB751B0FDC2FB10046D78E /* ModalBar.h */; };
+		28EB75470FDC2FB20046D78E /* Noise.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB751C0FDC2FB10046D78E /* Noise.h */; };
+		28EB75480FDC2FB20046D78E /* NRev.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB751D0FDC2FB10046D78E /* NRev.h */; };
+		28EB75490FDC2FB20046D78E /* OnePole.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB751E0FDC2FB10046D78E /* OnePole.h */; };
+		28EB754A0FDC2FB20046D78E /* OneZero.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB751F0FDC2FB10046D78E /* OneZero.h */; };
+		28EB754B0FDC2FB20046D78E /* PitShift.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75200FDC2FB10046D78E /* PitShift.h */; };
+		28EB754C0FDC2FB20046D78E /* PluckTwo.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75210FDC2FB10046D78E /* PluckTwo.h */; };
+		28EB754D0FDC2FB20046D78E /* PoleZero.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75220FDC2FB10046D78E /* PoleZero.h */; };
+		28EB754E0FDC2FB20046D78E /* PRCRev.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75230FDC2FB10046D78E /* PRCRev.h */; };
+		28EB754F0FDC2FB20046D78E /* ReedTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75240FDC2FB10046D78E /* ReedTable.h */; };
+		28EB75500FDC2FB20046D78E /* Saxofony.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75250FDC2FB10046D78E /* Saxofony.h */; };
+		28EB75510FDC2FB20046D78E /* SineWave.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75260FDC2FB10046D78E /* SineWave.h */; };
+		28EB75520FDC2FB20046D78E /* Sitar.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75270FDC2FB10046D78E /* Sitar.h */; };
+		28EB75530FDC2FB20046D78E /* Stk.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75290FDC2FB10046D78E /* Stk.h */; };
+		28EB75540FDC2FB20046D78E /* WaveLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB752A0FDC2FB10046D78E /* WaveLoop.h */; };
+		28EB75550FDC2FB20046D78E /* WvIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB752B0FDC2FB10046D78E /* WvIn.h */; };
+		28EB75560FDC2FB20046D78E /* instr.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB752C0FDC2FB10046D78E /* instr.h */; };
+		28EB75570FDC2FB20046D78E /* stkinit.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB752D0FDC2FB10046D78E /* stkinit.h */; };
+		28EB75580FDC2FB20046D78E /* stkint.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB752E0FDC2FB10046D78E /* stkint.h */; };
+		28EB75670FDC300C0046D78E /* abs.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75590FDC300C0046D78E /* abs.h */; };
+		28EB75680FDC300C0046D78E /* allpoles.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB755A0FDC300C0046D78E /* allpoles.h */; };
+		28EB75690FDC300C0046D78E /* alpass.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB755B0FDC300C0046D78E /* alpass.h */; };
+		28EB756A0FDC300C0046D78E /* alpasscv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB755C0FDC300C0046D78E /* alpasscv.h */; };
+		28EB756B0FDC300C0046D78E /* alpassvv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB755D0FDC300C0046D78E /* alpassvv.h */; };
+		28EB756C0FDC300C0046D78E /* amosc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB755E0FDC300C0046D78E /* amosc.h */; };
+		28EB756D0FDC300C0046D78E /* areson.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB755F0FDC300C0046D78E /* areson.h */; };
+		28EB756E0FDC300C0046D78E /* aresoncv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75600FDC300C0046D78E /* aresoncv.h */; };
+		28EB756F0FDC300C0046D78E /* aresonvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75610FDC300C0046D78E /* aresonvc.h */; };
+		28EB75700FDC300C0046D78E /* aresonvv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75620FDC300C0046D78E /* aresonvv.h */; };
+		28EB75710FDC300C0046D78E /* atone.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75630FDC300C0046D78E /* atone.h */; };
+		28EB75720FDC300C0046D78E /* atonev.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75640FDC300C0046D78E /* atonev.h */; };
+		28EB75730FDC300C0046D78E /* biquadfilt.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75650FDC300C0046D78E /* biquadfilt.h */; };
+		28EB75740FDC300C0046D78E /* buzz.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75660FDC300C0046D78E /* buzz.h */; };
+		28EB75B60FDC30C70046D78E /* chase.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75750FDC30C60046D78E /* chase.h */; };
+		28EB75B70FDC30C70046D78E /* clip.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75760FDC30C60046D78E /* clip.h */; };
+		28EB75B80FDC30C70046D78E /* congen.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75770FDC30C60046D78E /* congen.h */; };
+		28EB75B90FDC30C70046D78E /* const.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75780FDC30C60046D78E /* const.h */; };
+		28EB75BA0FDC30C70046D78E /* coterm.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75790FDC30C60046D78E /* coterm.h */; };
+		28EB75BB0FDC30C70046D78E /* delaycc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB757A0FDC30C60046D78E /* delaycc.h */; };
+		28EB75BC0FDC30C70046D78E /* delaycv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB757B0FDC30C60046D78E /* delaycv.h */; };
+		28EB75BD0FDC30C70046D78E /* eqbandvvv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB757C0FDC30C60046D78E /* eqbandvvv.h */; };
+		28EB75BE0FDC30C70046D78E /* exp.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB757D0FDC30C60046D78E /* exp.h */; };
+		28EB75BF0FDC30C70046D78E /* fmfb.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB757E0FDC30C60046D78E /* fmfb.h */; };
+		28EB75C00FDC30C70046D78E /* fmfbv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB757F0FDC30C60046D78E /* fmfbv.h */; };
+		28EB75C10FDC30C70046D78E /* fmosc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75800FDC30C60046D78E /* fmosc.h */; };
+		28EB75C20FDC30C70046D78E /* follow.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75810FDC30C60046D78E /* follow.h */; };
+		28EB75C30FDC30C70046D78E /* fromarraystream.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75820FDC30C60046D78E /* fromarraystream.h */; };
+		28EB75C40FDC30C70046D78E /* fromobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75830FDC30C60046D78E /* fromobject.h */; };
+		28EB75C50FDC30C70046D78E /* gate.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75840FDC30C60046D78E /* gate.h */; };
+		28EB75C60FDC30C70046D78E /* ifft.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75850FDC30C60046D78E /* ifft.h */; };
+		28EB75C70FDC30C70046D78E /* instrbanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75860FDC30C60046D78E /* instrbanded.h */; };
+		28EB75C80FDC30C70046D78E /* instrbow.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75870FDC30C60046D78E /* instrbow.h */; };
+		28EB75C90FDC30C70046D78E /* instrbowedfreq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75880FDC30C60046D78E /* instrbowedfreq.h */; };
+		28EB75CA0FDC30C70046D78E /* instrclar.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75890FDC30C60046D78E /* instrclar.h */; };
+		28EB75CB0FDC30C70046D78E /* instrclarall.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB758A0FDC30C60046D78E /* instrclarall.h */; };
+		28EB75CC0FDC30C70046D78E /* instrclarfreq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB758B0FDC30C60046D78E /* instrclarfreq.h */; };
+		28EB75CD0FDC30C70046D78E /* instrflute.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB758C0FDC30C60046D78E /* instrflute.h */; };
+		28EB75CE0FDC30C70046D78E /* instrfluteall.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB758D0FDC30C60046D78E /* instrfluteall.h */; };
+		28EB75CF0FDC30C70046D78E /* instrflutefreq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB758E0FDC30C60046D78E /* instrflutefreq.h */; };
+		28EB75D00FDC30C70046D78E /* instrmandolin.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB758F0FDC30C60046D78E /* instrmandolin.h */; };
+		28EB75D10FDC30C70046D78E /* instrmodalbar.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75900FDC30C60046D78E /* instrmodalbar.h */; };
+		28EB75D20FDC30C70046D78E /* instrsax.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75910FDC30C60046D78E /* instrsax.h */; };
+		28EB75D30FDC30C70046D78E /* instrsaxall.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75920FDC30C60046D78E /* instrsaxall.h */; };
+		28EB75D40FDC30C70046D78E /* instrsaxfreq.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75930FDC30C60046D78E /* instrsaxfreq.h */; };
+		28EB75D50FDC30C70046D78E /* instrsitar.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75940FDC30C60046D78E /* instrsitar.h */; };
+		28EB75D60FDC30C70046D78E /* integrate.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75950FDC30C60046D78E /* integrate.h */; };
+		28EB75D70FDC30C70046D78E /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75960FDC30C60046D78E /* log.h */; };
+		28EB75D80FDC30C70046D78E /* lpreson.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75970FDC30C60046D78E /* lpreson.h */; };
+		28EB75D90FDC30C70046D78E /* maxv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75980FDC30C60046D78E /* maxv.h */; };
+		28EB75DA0FDC30C70046D78E /* offset.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75990FDC30C60046D78E /* offset.h */; };
+		28EB75DB0FDC30C70046D78E /* oneshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB759A0FDC30C60046D78E /* oneshot.h */; };
+		28EB75DC0FDC30C70046D78E /* osc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB759B0FDC30C60046D78E /* osc.h */; };
+		28EB75DD0FDC30C70046D78E /* partial.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB759C0FDC30C60046D78E /* partial.h */; };
+		28EB75DE0FDC30C70046D78E /* pluck.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB759D0FDC30C60046D78E /* pluck.h */; };
+		28EB75DF0FDC30C70046D78E /* prod.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB759E0FDC30C60046D78E /* prod.h */; };
+		28EB75E00FDC30C70046D78E /* pwl.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB759F0FDC30C60046D78E /* pwl.h */; };
+		28EB75E10FDC30C70046D78E /* quantize.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A00FDC30C60046D78E /* quantize.h */; };
+		28EB75E20FDC30C70046D78E /* recip.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A10FDC30C60046D78E /* recip.h */; };
+		28EB75E30FDC30C70046D78E /* reson.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A20FDC30C60046D78E /* reson.h */; };
+		28EB75E40FDC30C70046D78E /* resoncv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A30FDC30C60046D78E /* resoncv.h */; };
+		28EB75E50FDC30C70046D78E /* resonvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A40FDC30C60046D78E /* resonvc.h */; };
+		28EB75E60FDC30C70046D78E /* resonvv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A50FDC30C60046D78E /* resonvv.h */; };
+		28EB75E70FDC30C70046D78E /* sampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A60FDC30C60046D78E /* sampler.h */; };
+		28EB75E80FDC30C70046D78E /* scale.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A70FDC30C60046D78E /* scale.h */; };
+		28EB75E90FDC30C70046D78E /* shape.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A80FDC30C60046D78E /* shape.h */; };
+		28EB75EA0FDC30C70046D78E /* sine.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75A90FDC30C60046D78E /* sine.h */; };
+		28EB75EB0FDC30C70046D78E /* siosc.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75AA0FDC30C60046D78E /* siosc.h */; };
+		28EB75EC0FDC30C70046D78E /* slope.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75AB0FDC30C60046D78E /* slope.h */; };
+		28EB75ED0FDC30C70046D78E /* sqrt.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75AC0FDC30C60046D78E /* sqrt.h */; };
+		28EB75EE0FDC30C70046D78E /* stkchorus.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75AD0FDC30C60046D78E /* stkchorus.h */; };
+		28EB75EF0FDC30C70046D78E /* stkpitshift.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75AE0FDC30C60046D78E /* stkpitshift.h */; };
+		28EB75F00FDC30C70046D78E /* stkrev.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75AF0FDC30C60046D78E /* stkrev.h */; };
+		28EB75F10FDC30C70046D78E /* tapf.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75B00FDC30C60046D78E /* tapf.h */; };
+		28EB75F20FDC30C70046D78E /* tapv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75B10FDC30C60046D78E /* tapv.h */; };
+		28EB75F30FDC30C70046D78E /* tone.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75B20FDC30C60046D78E /* tone.h */; };
+		28EB75F40FDC30C70046D78E /* tonev.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75B30FDC30C60046D78E /* tonev.h */; };
+		28EB75F50FDC30C70046D78E /* upsample.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75B40FDC30C60046D78E /* upsample.h */; };
+		28EB75F60FDC30C70046D78E /* white.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75B50FDC30C60046D78E /* white.h */; };
+		28EB75F90FDC322A0046D78E /* xldmem.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75F70FDC322A0046D78E /* xldmem.h */; };
+		28EB75FA0FDC322A0046D78E /* xlisp.h in Headers */ = {isa = PBXBuildFile; fileRef = 28EB75F80FDC322A0046D78E /* xlisp.h */; };
 		28EBA7FC0A78FADE00C8BB1F /* Repair.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28EBA7FA0A78FADE00C8BB1F /* Repair.cpp */; };
 		28EBA8010A78FAF800C8BB1F /* InterpolateAudio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28EBA7FD0A78FAF800C8BB1F /* InterpolateAudio.cpp */; };
 		28EBA8020A78FAF800C8BB1F /* Matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28EBA7FF0A78FAF800C8BB1F /* Matrix.cpp */; };
@@ -1193,7 +1451,6 @@
 		28F1D81E0A2D0019005506A7 /* ExpandingToolBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28F1D8190A2D0018005506A7 /* ExpandingToolBar.cpp */; };
 		28F1D81F0A2D0019005506A7 /* ImageRoll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28F1D81B0A2D0019005506A7 /* ImageRoll.cpp */; };
 		28F5C1110BE5886A00D17341 /* FileDialogPrivate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28F5C10F0BE5886A00D17341 /* FileDialogPrivate.cpp */; };
-		28FB20350C415D9500F769E7 /* SmartRecordPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28FB20330C415D9500F769E7 /* SmartRecordPrefs.cpp */; };
 		28FC1AFB0A47762C00A188AE /* WrappedType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28FC1AF90A47762C00A188AE /* WrappedType.cpp */; };
 		28FE4A080ABF4E960056F5C4 /* mmx_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28FE4A060ABF4E960056F5C4 /* mmx_optimized.cpp */; };
 		28FE4A090ABF4E960056F5C4 /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28FE4A070ABF4E960056F5C4 /* sse_optimized.cpp */; };
@@ -1254,13 +1511,6 @@
 			remoteGlobalIDString = 17072E880988BD39008541CC;
 			remoteInfo = Configure;
 		};
-		176A1B6B098B7C5900DC73B4 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 1790ABE309883346008A330A /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 170741420988FDB3008541CC;
-			remoteInfo = intgen;
-		};
 		176A1B6D098B7C7200DC73B4 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 1790ABE309883346008A330A /* Project object */;
@@ -1352,6 +1602,20 @@
 			remoteGlobalIDString = 17073EE70988DBDD008541CC;
 			remoteInfo = allegro;
 		};
+		2800FE270FF323C0005CA9E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 1790ABE309883346008A330A /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 2800FE060FF322D4005CA9E5;
+			remoteInfo = portmidi;
+		};
+		283754970F42895700364787 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 1790ABE309883346008A330A /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 283753E30F42875100364787;
+			remoteInfo = taglib;
+		};
 		2840CF7F0AEB822100F49FC3 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 1790ABE309883346008A330A /* Project object */;
@@ -1366,6 +1630,13 @@
 			remoteGlobalIDString = 28501EAF0CEED1F00029ABAA;
 			remoteInfo = libvamp;
 		};
+		28ABC8E90FD6441D00F9992A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 1790ABE309883346008A330A /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 2880527D0DEA694100671EA4;
+			remoteInfo = "mod-script-pipe";
+		};
 		28E237260E515E1300281398 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 1790ABE309883346008A330A /* Project object */;
@@ -1389,63 +1660,6 @@
 		};
 /* End PBXContainerItemProxy section */
 
-/* Begin PBXCopyFilesBuildPhase section */
-		28AA28CA0F267E3E008AED9E /* Copy Nyquist Files */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = ../nyquist;
-			dstSubfolderSpec = 1;
-			files = (
-				28AA28CD0F267F98008AED9E /* bug.lsp in Copy Nyquist Files */,
-				28AA28CE0F267F98008AED9E /* dspprims.lsp in Copy Nyquist Files */,
-				28AA28CF0F267F98008AED9E /* evalenv.lsp in Copy Nyquist Files */,
-				28AA28D00F267F98008AED9E /* follow.lsp in Copy Nyquist Files */,
-				28AA28D10F267F98008AED9E /* init.lsp in Copy Nyquist Files */,
-				28AA28D20F267F98008AED9E /* misc.lsp in Copy Nyquist Files */,
-				28AA28D30F267F98008AED9E /* nyinit.lsp in Copy Nyquist Files */,
-				28AA28D40F267F98008AED9E /* nyqmisc.lsp in Copy Nyquist Files */,
-				28AA28D50F267F98008AED9E /* nyquist.lsp in Copy Nyquist Files */,
-				28AA28D60F267F98008AED9E /* printrec.lsp in Copy Nyquist Files */,
-				28AA28D70F267F98008AED9E /* profile.lsp in Copy Nyquist Files */,
-				28AA28D80F267F98008AED9E /* seq.lsp in Copy Nyquist Files */,
-				28AA28D90F267F98008AED9E /* seqfnint.lsp in Copy Nyquist Files */,
-				28AA28DA0F267F98008AED9E /* seqmidi.lsp in Copy Nyquist Files */,
-				28AA28DB0F267F98008AED9E /* sndfnint.lsp in Copy Nyquist Files */,
-				28AA28DC0F267F98008AED9E /* system.lsp in Copy Nyquist Files */,
-				28AA28DD0F267F98008AED9E /* test.lsp in Copy Nyquist Files */,
-				28AA28DE0F267F98008AED9E /* xlinit.lsp in Copy Nyquist Files */,
-			);
-			name = "Copy Nyquist Files";
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		28AA28F00F267FF0008AED9E /* Copy Plug-in Files */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "../plug-ins";
-			dstSubfolderSpec = 1;
-			files = (
-				28AA28E00F267FD2008AED9E /* analyze.ny in Copy Plug-in Files */,
-				28AA28E10F267FD2008AED9E /* beat.ny in Copy Plug-in Files */,
-				28AA28E20F267FD2008AED9E /* clicktrack.ny in Copy Plug-in Files */,
-				28AA28E30F267FD2008AED9E /* clipfix.ny in Copy Plug-in Files */,
-				28AA28E40F267FD2008AED9E /* crossfadein.ny in Copy Plug-in Files */,
-				28AA28E50F267FD2008AED9E /* crossfadeout.ny in Copy Plug-in Files */,
-				28AA28E60F267FD2008AED9E /* delay.ny in Copy Plug-in Files */,
-				28AA28E70F267FD2008AED9E /* equalabel.ny in Copy Plug-in Files */,
-				28AA28E80F267FD2008AED9E /* highpass.ny in Copy Plug-in Files */,
-				28AA28E90F267FD2008AED9E /* lowpass.ny in Copy Plug-in Files */,
-				28AA28EA0F267FD2008AED9E /* pluck.ny in Copy Plug-in Files */,
-				28AA28EB0F267FD2008AED9E /* rissetdrum.ny in Copy Plug-in Files */,
-				28AA28EC0F267FD2008AED9E /* SilenceMarker.ny in Copy Plug-in Files */,
-				28AA28ED0F267FD2008AED9E /* tremolo.ny in Copy Plug-in Files */,
-				28AA28EE0F267FD2008AED9E /* vocalremover.ny in Copy Plug-in Files */,
-				28AA28EF0F267FD2008AED9E /* vocoder.ny in Copy Plug-in Files */,
-			);
-			name = "Copy Plug-in Files";
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXCopyFilesBuildPhase section */
-
 /* Begin PBXFileReference section */
 		17048267098C0F5F00824C66 /* mad.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mad.h; sourceTree = "<group>"; };
 		17072F580988D6A9008541CC /* xmlparse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xmlparse.c; sourceTree = "<group>"; };
@@ -1697,7 +1911,6 @@
 		1707407A0988F1BB008541CC /* libsoundtouch.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libsoundtouch.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		170740960988F2F7008541CC /* libportmixer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libportmixer.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		170740D40988F820008541CC /* libvorbis.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libvorbis.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		170741430988FDB3008541CC /* intgen */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = intgen; sourceTree = BUILT_PRODUCTS_DIR; };
 		17190D78098A439D004583C6 /* cpu_detect_x86_gcc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cpu_detect_x86_gcc.cpp; sourceTree = "<group>"; };
 		174D9026098C78AF00D5909F /* CommandManager.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CommandManager.cpp; sourceTree = "<group>"; };
 		174D9027098C78AF00D5909F /* CommandManager.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CommandManager.h; sourceTree = "<group>"; };
@@ -1927,14 +2140,10 @@
 		1790B0B209883BFD008A330A /* PitchName.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PitchName.h; sourceTree = "<group>"; };
 		1790B0B309883BFD008A330A /* PlatformCompatibility.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformCompatibility.cpp; sourceTree = "<group>"; };
 		1790B0B409883BFD008A330A /* PlatformCompatibility.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlatformCompatibility.h; sourceTree = "<group>"; };
-		1790B0B609883BFD008A330A /* AudioIOPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AudioIOPrefs.cpp; sourceTree = "<group>"; };
-		1790B0B709883BFD008A330A /* AudioIOPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AudioIOPrefs.h; sourceTree = "<group>"; };
 		1790B0B809883BFD008A330A /* BatchPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BatchPrefs.cpp; sourceTree = "<group>"; };
 		1790B0B909883BFD008A330A /* BatchPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BatchPrefs.h; sourceTree = "<group>"; };
 		1790B0BB09883BFD008A330A /* DirectoriesPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoriesPrefs.cpp; sourceTree = "<group>"; };
 		1790B0BC09883BFD008A330A /* DirectoriesPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DirectoriesPrefs.h; sourceTree = "<group>"; };
-		1790B0BD09883BFD008A330A /* FileFormatPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FileFormatPrefs.cpp; sourceTree = "<group>"; };
-		1790B0BE09883BFD008A330A /* FileFormatPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FileFormatPrefs.h; sourceTree = "<group>"; };
 		1790B0BF09883BFD008A330A /* GUIPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = GUIPrefs.cpp; sourceTree = "<group>"; };
 		1790B0C009883BFD008A330A /* GUIPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GUIPrefs.h; sourceTree = "<group>"; };
 		1790B0C109883BFD008A330A /* KeyConfigPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = KeyConfigPrefs.cpp; sourceTree = "<group>"; };
@@ -2007,270 +2216,11 @@
 		1790B11109883BFD008A330A /* XMLFileReader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLFileReader.h; sourceTree = "<group>"; };
 		1790B11209883BFD008A330A /* XMLTagHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = XMLTagHandler.cpp; sourceTree = "<group>"; };
 		1790B11309883BFD008A330A /* XMLTagHandler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLTagHandler.h; sourceTree = "<group>"; };
-		17C8BA14098B4FD700216F16 /* cmdline.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cmdline.c; sourceTree = "<group>"; };
-		17C8BA15098B4FD700216F16 /* intgen.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = intgen.c; sourceTree = "<group>"; };
-		17C8BA1B098B502D00216F16 /* cext.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cext.c; sourceTree = "<group>"; };
-		17C8BA1C098B502D00216F16 /* cext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cext.h; sourceTree = "<group>"; };
-		17C8BA1D098B502D00216F16 /* cleanup.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cleanup.c; sourceTree = "<group>"; };
-		17C8BA1E098B502D00216F16 /* cleanup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cleanup.h; sourceTree = "<group>"; };
-		17C8BA1F098B502D00216F16 /* cmdline.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cmdline.c; sourceTree = "<group>"; };
-		17C8BA20098B502D00216F16 /* cmdline.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cmdline.h; sourceTree = "<group>"; };
-		17C8BA21098B502D00216F16 /* cmtcmd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = cmtcmd.c; sourceTree = "<group>"; };
-		17C8BA22098B502D00216F16 /* cmtcmd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cmtcmd.h; sourceTree = "<group>"; };
-		17C8BA26098B502D00216F16 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = "<group>"; };
-		17C8BA27098B502D00216F16 /* hashrout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = hashrout.h; sourceTree = "<group>"; };
-		17C8BA28098B502D00216F16 /* mem.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mem.c; sourceTree = "<group>"; };
-		17C8BA29098B502D00216F16 /* mem.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = "<group>"; };
-		17C8BA2A098B502D00216F16 /* mfmidi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mfmidi.h; sourceTree = "<group>"; };
-		17C8BA2B098B502D00216F16 /* midibuff.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = midibuff.h; sourceTree = "<group>"; };
-		17C8BA2C098B502D00216F16 /* midicode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = midicode.h; sourceTree = "<group>"; };
-		17C8BA2D098B502D00216F16 /* midierr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = midierr.h; sourceTree = "<group>"; };
-		17C8BA2E098B502D00216F16 /* midifile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = midifile.c; sourceTree = "<group>"; };
-		17C8BA2F098B502D00216F16 /* midifile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = midifile.h; sourceTree = "<group>"; };
-		17C8BA30098B502D00216F16 /* midifns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = midifns.c; sourceTree = "<group>"; };
-		17C8BA31098B502D00216F16 /* midifns.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = midifns.h; sourceTree = "<group>"; };
-		17C8BA34098B502D00216F16 /* moxc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = moxc.c; sourceTree = "<group>"; };
-		17C8BA35098B502D00216F16 /* moxc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = moxc.h; sourceTree = "<group>"; };
-		17C8BA36098B502D00216F16 /* musiprog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = musiprog.h; sourceTree = "<group>"; };
-		17C8BA37098B502D00216F16 /* pitch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pitch.h; sourceTree = "<group>"; };
-		17C8BA38098B502D00216F16 /* record.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = record.c; sourceTree = "<group>"; };
-		17C8BA39098B502D00216F16 /* record.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = record.h; sourceTree = "<group>"; };
-		17C8BA3A098B502D00216F16 /* seq.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seq.c; sourceTree = "<group>"; };
-		17C8BA3B098B502D00216F16 /* seq.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seq.h; sourceTree = "<group>"; };
-		17C8BA3C098B502D00216F16 /* seqdecls.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqdecls.h; sourceTree = "<group>"; };
-		17C8BA3D098B502D00216F16 /* seqmread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqmread.c; sourceTree = "<group>"; };
-		17C8BA3E098B502D00216F16 /* seqmread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqmread.h; sourceTree = "<group>"; };
-		17C8BA3F098B502D00216F16 /* seqmwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqmwrite.c; sourceTree = "<group>"; };
-		17C8BA40098B502D00216F16 /* seqmwrite.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqmwrite.h; sourceTree = "<group>"; };
-		17C8BA41098B502D00216F16 /* seqread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqread.c; sourceTree = "<group>"; };
-		17C8BA42098B502D00216F16 /* seqread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqread.h; sourceTree = "<group>"; };
-		17C8BA43098B502D00216F16 /* seqwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqwrite.c; sourceTree = "<group>"; };
-		17C8BA44098B502D00216F16 /* seqwrite.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqwrite.h; sourceTree = "<group>"; };
-		17C8BA45098B502D00216F16 /* swlogic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = swlogic.h; sourceTree = "<group>"; };
-		17C8BA46098B502D00216F16 /* tempomap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tempomap.c; sourceTree = "<group>"; };
-		17C8BA47098B502D00216F16 /* tempomap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tempomap.h; sourceTree = "<group>"; };
-		17C8BA48098B502D00216F16 /* timebase.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = timebase.c; sourceTree = "<group>"; };
-		17C8BA49098B502D00216F16 /* timebase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = timebase.h; sourceTree = "<group>"; };
-		17C8BA4A098B502D00216F16 /* userio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = userio.c; sourceTree = "<group>"; };
-		17C8BA4B098B502D00216F16 /* userio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = userio.h; sourceTree = "<group>"; };
-		17C8BA4F098B502D00216F16 /* fftn.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fftn.c; sourceTree = "<group>"; };
-		17C8BA50098B502D00216F16 /* fftn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fftn.h; sourceTree = "<group>"; };
-		17C8BAC4098B502D00216F16 /* nyx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = nyx.c; sourceTree = "<group>"; };
-		17C8BAC5098B502D00216F16 /* nyx.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = nyx.h; sourceTree = "<group>"; };
-		17C8BD32098B649900216F16 /* add.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = add.c; sourceTree = "<group>"; };
-		17C8BD33098B649A00216F16 /* add.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = add.h; sourceTree = "<group>"; };
-		17C8BD35098B649A00216F16 /* avg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = avg.c; sourceTree = "<group>"; };
-		17C8BD36098B649A00216F16 /* avg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = avg.h; sourceTree = "<group>"; };
-		17C8BD38098B649A00216F16 /* compose.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = compose.c; sourceTree = "<group>"; };
-		17C8BD39098B649A00216F16 /* compose.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = compose.h; sourceTree = "<group>"; };
-		17C8BD3B098B649A00216F16 /* cque.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cque.h; sourceTree = "<group>"; };
-		17C8BD3D098B649A00216F16 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = debug.c; sourceTree = "<group>"; };
-		17C8BD3E098B649A00216F16 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = "<group>"; };
-		17C8BD40098B649A00216F16 /* downsample.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = downsample.c; sourceTree = "<group>"; };
-		17C8BD41098B649A00216F16 /* downsample.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = downsample.h; sourceTree = "<group>"; };
-		17C8BD43098B649A00216F16 /* falloc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = falloc.c; sourceTree = "<group>"; };
-		17C8BD44098B649A00216F16 /* falloc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = falloc.h; sourceTree = "<group>"; };
-		17C8BD46098B649A00216F16 /* ffilterkit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ffilterkit.c; sourceTree = "<group>"; };
-		17C8BD47098B649A00216F16 /* ffilterkit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ffilterkit.h; sourceTree = "<group>"; };
-		17C8BD4A098B649A00216F16 /* fft.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fft.c; sourceTree = "<group>"; };
-		17C8BD4B098B649A00216F16 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = "<group>"; };
-		17C8BD4E098B649A00216F16 /* fftw.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fftw.h; sourceTree = "<group>"; };
-		17C8BD4F098B649A00216F16 /* fresample.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fresample.h; sourceTree = "<group>"; };
-		17C8BD50098B649A00216F16 /* fsmallfilter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fsmallfilter.h; sourceTree = "<group>"; };
-		17C8BD51098B649A00216F16 /* handlers.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = handlers.c; sourceTree = "<group>"; };
-		17C8BD53098B649A00216F16 /* inverse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inverse.c; sourceTree = "<group>"; };
-		17C8BD54098B649A00216F16 /* inverse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = inverse.h; sourceTree = "<group>"; };
-		17C8BD56098B649A00216F16 /* local.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = local.c; sourceTree = "<group>"; };
-		17C8BD58098B649A00216F16 /* localdefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = localdefs.h; sourceTree = "<group>"; };
-		17C8BD59098B649A00216F16 /* localptrs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = localptrs.h; sourceTree = "<group>"; };
-		17C8BD5A098B649A00216F16 /* multiread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = multiread.c; sourceTree = "<group>"; };
-		17C8BD5B098B649A00216F16 /* multiread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = multiread.h; sourceTree = "<group>"; };
-		17C8BD5D098B649A00216F16 /* multiseq.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = multiseq.c; sourceTree = "<group>"; };
-		17C8BD5E098B649A00216F16 /* multiseq.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = multiseq.h; sourceTree = "<group>"; };
-		17C8BD64098B649A00216F16 /* resamp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = resamp.c; sourceTree = "<group>"; };
-		17C8BD65098B649A00216F16 /* resamp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resamp.h; sourceTree = "<group>"; };
-		17C8BD67098B649A00216F16 /* resampv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = resampv.c; sourceTree = "<group>"; };
-		17C8BD68098B649A00216F16 /* resampv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resampv.h; sourceTree = "<group>"; };
-		17C8BD6A098B649A00216F16 /* rfftw.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = rfftw.h; sourceTree = "<group>"; };
-		17C8BD6B098B649A00216F16 /* samples.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = samples.c; sourceTree = "<group>"; };
-		17C8BD6C098B649A00216F16 /* samples.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = samples.h; sourceTree = "<group>"; };
-		17C8BD6E098B649A00216F16 /* seqext.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqext.c; sourceTree = "<group>"; };
-		17C8BD6F098B649A00216F16 /* seqext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqext.h; sourceTree = "<group>"; };
-		17C8BD73098B649A00216F16 /* seqfnint.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqfnint.c; sourceTree = "<group>"; };
-		17C8BD76098B649A00216F16 /* seqfnintdefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqfnintdefs.h; sourceTree = "<group>"; };
-		17C8BD77098B649A00216F16 /* seqfnintptrs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqfnintptrs.h; sourceTree = "<group>"; };
-		17C8BD78098B649A00216F16 /* seqinterf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = seqinterf.c; sourceTree = "<group>"; };
-		17C8BD79098B649A00216F16 /* seqinterf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = seqinterf.h; sourceTree = "<group>"; };
-		17C8BD7B098B649A00216F16 /* sndfail.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndfail.c; sourceTree = "<group>"; };
-		17C8BD7F098B649A00216F16 /* sndfnint.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndfnint.c; sourceTree = "<group>"; };
-		17C8BD82098B649A00216F16 /* sndfnintdefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndfnintdefs.h; sourceTree = "<group>"; };
-		17C8BD83098B649A00216F16 /* sndfnintptrs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndfnintptrs.h; sourceTree = "<group>"; };
-		17C8BD84098B649A00216F16 /* sndmax.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndmax.c; sourceTree = "<group>"; };
-		17C8BD85098B649A00216F16 /* sndmax.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndmax.h; sourceTree = "<group>"; };
-		17C8BD87098B649A00216F16 /* sndread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndread.c; sourceTree = "<group>"; };
-		17C8BD88098B649A00216F16 /* sndread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndread.h; sourceTree = "<group>"; };
-		17C8BD8A098B649A00216F16 /* sndseq.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndseq.c; sourceTree = "<group>"; };
-		17C8BD8B098B649A00216F16 /* sndseq.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndseq.h; sourceTree = "<group>"; };
-		17C8BD8D098B649A00216F16 /* sndwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndwrite.c; sourceTree = "<group>"; };
-		17C8BD8E098B649A00216F16 /* sndwrite.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndwrite.h; sourceTree = "<group>"; };
-		17C8BD90098B649A00216F16 /* sound.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sound.c; sourceTree = "<group>"; };
-		17C8BD91098B649A00216F16 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = "<group>"; };
-		17C8BD93098B649A00216F16 /* stats.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stats.c; sourceTree = "<group>"; };
-		17C8BD95098B649A00216F16 /* stdefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stdefs.h; sourceTree = "<group>"; };
-		17C8BDF9098B654200216F16 /* audionone.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = audionone.c; sourceTree = "<group>"; };
-		17C8BDFD098B654200216F16 /* ieeecvt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ieeecvt.c; sourceTree = "<group>"; };
-		17C8BDFE098B654200216F16 /* ieeecvt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ieeecvt.h; sourceTree = "<group>"; };
-		17C8BE01098B654200216F16 /* snd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = snd.c; sourceTree = "<group>"; };
-		17C8BE02098B654200216F16 /* snd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = snd.h; sourceTree = "<group>"; };
-		17C8BE06098B654200216F16 /* sndconfig.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndconfig.h; sourceTree = "<group>"; };
-		17C8BE07098B654200216F16 /* sndcvt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndcvt.c; sourceTree = "<group>"; };
-		17C8BE0B098B654200216F16 /* sndfileio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndfileio.h; sourceTree = "<group>"; };
-		17C8BE0C098B654200216F16 /* sndfreebsd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndfreebsd.h; sourceTree = "<group>"; };
-		17C8BE0D098B654200216F16 /* sndhead.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndhead.h; sourceTree = "<group>"; };
-		17C8BE0E098B654200216F16 /* sndheader.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndheader.c; sourceTree = "<group>"; };
-		17C8BE0F098B654200216F16 /* sndheader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndheader.h; sourceTree = "<group>"; };
-		17C8BE11098B654200216F16 /* sndio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndio.c; sourceTree = "<group>"; };
-		17C8BE13098B654200216F16 /* sndlinux.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sndlinux.c; sourceTree = "<group>"; };
-		17C8BE14098B654200216F16 /* sndlinux.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndlinux.h; sourceTree = "<group>"; };
-		17C8BE1F098B654200216F16 /* sndwrite.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sndwrite.h; sourceTree = "<group>"; };
-		17C8BE22098B654200216F16 /* switches.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = switches.h; sourceTree = "<group>"; };
-		17C8BE24098B654200216F16 /* term.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = term.c; sourceTree = "<group>"; };
-		17C8BE25098B654200216F16 /* term.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = term.h; sourceTree = "<group>"; };
-		17C8BE2C098B654200216F16 /* alpass.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = alpass.c; sourceTree = "<group>"; };
-		17C8BE2D098B654200216F16 /* alpass.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = alpass.h; sourceTree = "<group>"; };
-		17C8BE39098B654200216F16 /* amosc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = amosc.c; sourceTree = "<group>"; };
-		17C8BE3A098B654200216F16 /* amosc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = amosc.h; sourceTree = "<group>"; };
-		17C8BE3D098B654200216F16 /* areson.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = areson.c; sourceTree = "<group>"; };
-		17C8BE3E098B654200216F16 /* areson.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = areson.h; sourceTree = "<group>"; };
-		17C8BE41098B654200216F16 /* aresoncv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aresoncv.c; sourceTree = "<group>"; };
-		17C8BE42098B654200216F16 /* aresoncv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aresoncv.h; sourceTree = "<group>"; };
-		17C8BE45098B654200216F16 /* aresonvc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aresonvc.c; sourceTree = "<group>"; };
-		17C8BE46098B654200216F16 /* aresonvc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aresonvc.h; sourceTree = "<group>"; };
-		17C8BE49098B654200216F16 /* aresonvv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = aresonvv.c; sourceTree = "<group>"; };
-		17C8BE4A098B654200216F16 /* aresonvv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = aresonvv.h; sourceTree = "<group>"; };
-		17C8BE4D098B654200216F16 /* atone.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = atone.c; sourceTree = "<group>"; };
-		17C8BE4E098B654200216F16 /* atone.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = atone.h; sourceTree = "<group>"; };
-		17C8BE51098B654200216F16 /* atonev.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = atonev.c; sourceTree = "<group>"; };
-		17C8BE52098B654200216F16 /* atonev.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = atonev.h; sourceTree = "<group>"; };
-		17C8BE55098B654200216F16 /* biquad.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = biquad.c; sourceTree = "<group>"; };
-		17C8BE56098B654200216F16 /* biquad.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = biquad.h; sourceTree = "<group>"; };
-		17C8BE59098B654200216F16 /* buzz.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = buzz.c; sourceTree = "<group>"; };
-		17C8BE5A098B654200216F16 /* buzz.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = buzz.h; sourceTree = "<group>"; };
-		17C8BE5D098B654200216F16 /* chase.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = chase.c; sourceTree = "<group>"; };
-		17C8BE5E098B654200216F16 /* chase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = chase.h; sourceTree = "<group>"; };
-		17C8BE61098B654200216F16 /* clip.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = clip.c; sourceTree = "<group>"; };
-		17C8BE62098B654200216F16 /* clip.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = clip.h; sourceTree = "<group>"; };
-		17C8BE65098B654200216F16 /* congen.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = congen.c; sourceTree = "<group>"; };
-		17C8BE66098B654200216F16 /* congen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = congen.h; sourceTree = "<group>"; };
-		17C8BE69098B654300216F16 /* const.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = const.c; sourceTree = "<group>"; };
-		17C8BE6A098B654300216F16 /* const.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = const.h; sourceTree = "<group>"; };
-		17C8BE6D098B654300216F16 /* convolve.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = convolve.c; sourceTree = "<group>"; };
-		17C8BE6E098B654300216F16 /* convolve.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = convolve.h; sourceTree = "<group>"; };
-		17C8BE71098B654300216F16 /* coterm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = coterm.c; sourceTree = "<group>"; };
-		17C8BE72098B654300216F16 /* coterm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = coterm.h; sourceTree = "<group>"; };
-		17C8BE76098B654300216F16 /* delay.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = delay.c; sourceTree = "<group>"; };
-		17C8BE77098B654300216F16 /* delay.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = delay.h; sourceTree = "<group>"; };
-		17C8BE7A098B654300216F16 /* delaycv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = delaycv.c; sourceTree = "<group>"; };
-		17C8BE7B098B654300216F16 /* delaycv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = delaycv.h; sourceTree = "<group>"; };
-		17C8BE83098B654300216F16 /* exp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = exp.c; sourceTree = "<group>"; };
-		17C8BE84098B654300216F16 /* exp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = exp.h; sourceTree = "<group>"; };
-		17C8BE88098B654300216F16 /* fmosc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fmosc.c; sourceTree = "<group>"; };
-		17C8BE89098B654300216F16 /* fmosc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fmosc.h; sourceTree = "<group>"; };
-		17C8BE8C098B654300216F16 /* follow.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = follow.c; sourceTree = "<group>"; };
-		17C8BE8D098B654300216F16 /* follow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = follow.h; sourceTree = "<group>"; };
-		17C8BE90098B654300216F16 /* fromarraystream.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fromarraystream.c; sourceTree = "<group>"; };
-		17C8BE91098B654300216F16 /* fromarraystream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fromarraystream.h; sourceTree = "<group>"; };
-		17C8BE94098B654300216F16 /* fromobject.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = fromobject.c; sourceTree = "<group>"; };
-		17C8BE95098B654300216F16 /* fromobject.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = fromobject.h; sourceTree = "<group>"; };
-		17C8BE98098B654300216F16 /* gate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = gate.c; sourceTree = "<group>"; };
-		17C8BE99098B654300216F16 /* gate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gate.h; sourceTree = "<group>"; };
-		17C8BE9D098B654300216F16 /* ifft.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ifft.c; sourceTree = "<group>"; };
-		17C8BE9E098B654300216F16 /* ifft.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ifft.h; sourceTree = "<group>"; };
-		17C8BEA3098B654300216F16 /* integrate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = integrate.c; sourceTree = "<group>"; };
-		17C8BEA4098B654300216F16 /* integrate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = integrate.h; sourceTree = "<group>"; };
-		17C8BEA7098B654300216F16 /* log.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = log.c; sourceTree = "<group>"; };
-		17C8BEA8098B654300216F16 /* log.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
-		17C8BEAB098B654300216F16 /* maxv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = maxv.c; sourceTree = "<group>"; };
-		17C8BEAC098B654300216F16 /* maxv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = maxv.h; sourceTree = "<group>"; };
-		17C8BEB1098B654300216F16 /* offset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = offset.c; sourceTree = "<group>"; };
-		17C8BEB2098B654300216F16 /* offset.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = offset.h; sourceTree = "<group>"; };
-		17C8BEB5098B654300216F16 /* oneshot.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = oneshot.c; sourceTree = "<group>"; };
-		17C8BEB6098B654300216F16 /* oneshot.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = oneshot.h; sourceTree = "<group>"; };
-		17C8BEB9098B654300216F16 /* osc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = osc.c; sourceTree = "<group>"; };
-		17C8BEBA098B654300216F16 /* osc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = osc.h; sourceTree = "<group>"; };
-		17C8BEBD098B654300216F16 /* partial.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = partial.c; sourceTree = "<group>"; };
-		17C8BEBE098B654300216F16 /* partial.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = partial.h; sourceTree = "<group>"; };
-		17C8BEC1098B654300216F16 /* pluck.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pluck.c; sourceTree = "<group>"; };
-		17C8BEC2098B654300216F16 /* pluck.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pluck.h; sourceTree = "<group>"; };
-		17C8BEC5098B654300216F16 /* prod.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = prod.c; sourceTree = "<group>"; };
-		17C8BEC6098B654300216F16 /* prod.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = prod.h; sourceTree = "<group>"; };
-		17C8BEC9098B654300216F16 /* pwl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pwl.c; sourceTree = "<group>"; };
-		17C8BECA098B654300216F16 /* pwl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pwl.h; sourceTree = "<group>"; };
-		17C8BECF098B654300216F16 /* quantize.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = quantize.c; sourceTree = "<group>"; };
-		17C8BED0098B654300216F16 /* quantize.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = quantize.h; sourceTree = "<group>"; };
-		17C8BED3098B654300216F16 /* recip.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = recip.c; sourceTree = "<group>"; };
-		17C8BED4098B654300216F16 /* recip.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = recip.h; sourceTree = "<group>"; };
-		17C8BED7098B654300216F16 /* reson.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = reson.c; sourceTree = "<group>"; };
-		17C8BED8098B654300216F16 /* reson.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = reson.h; sourceTree = "<group>"; };
-		17C8BEDB098B654300216F16 /* resoncv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = resoncv.c; sourceTree = "<group>"; };
-		17C8BEDC098B654300216F16 /* resoncv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resoncv.h; sourceTree = "<group>"; };
-		17C8BEDF098B654300216F16 /* resonvc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = resonvc.c; sourceTree = "<group>"; };
-		17C8BEE0098B654300216F16 /* resonvc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resonvc.h; sourceTree = "<group>"; };
-		17C8BEE3098B654300216F16 /* resonvv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = resonvv.c; sourceTree = "<group>"; };
-		17C8BEE4098B654300216F16 /* resonvv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = resonvv.h; sourceTree = "<group>"; };
-		17C8BEE7098B654300216F16 /* sampler.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sampler.c; sourceTree = "<group>"; };
-		17C8BEE8098B654300216F16 /* sampler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sampler.h; sourceTree = "<group>"; };
-		17C8BEEB098B654300216F16 /* scale.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = scale.c; sourceTree = "<group>"; };
-		17C8BEEC098B654300216F16 /* scale.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = scale.h; sourceTree = "<group>"; };
-		17C8BEEF098B654300216F16 /* shape.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = shape.c; sourceTree = "<group>"; };
-		17C8BEF0098B654300216F16 /* shape.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = shape.h; sourceTree = "<group>"; };
-		17C8BEF3098B654300216F16 /* sine.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sine.c; sourceTree = "<group>"; };
-		17C8BEF4098B654300216F16 /* sine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sine.h; sourceTree = "<group>"; };
-		17C8BEF7098B654300216F16 /* siosc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = siosc.c; sourceTree = "<group>"; };
-		17C8BEF8098B654300216F16 /* siosc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = siosc.h; sourceTree = "<group>"; };
-		17C8BEFB098B654300216F16 /* slope.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = slope.c; sourceTree = "<group>"; };
-		17C8BEFC098B654300216F16 /* slope.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = slope.h; sourceTree = "<group>"; };
-		17C8BF05098B654300216F16 /* tapv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tapv.c; sourceTree = "<group>"; };
-		17C8BF06098B654300216F16 /* tapv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tapv.h; sourceTree = "<group>"; };
-		17C8BF09098B654300216F16 /* tone.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tone.c; sourceTree = "<group>"; };
-		17C8BF0A098B654300216F16 /* tone.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tone.h; sourceTree = "<group>"; };
-		17C8BF0D098B654300216F16 /* tonev.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = tonev.c; sourceTree = "<group>"; };
-		17C8BF0E098B654300216F16 /* tonev.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tonev.h; sourceTree = "<group>"; };
-		17C8BF12098B654300216F16 /* upsample.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = upsample.c; sourceTree = "<group>"; };
-		17C8BF13098B654300216F16 /* upsample.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = upsample.h; sourceTree = "<group>"; };
-		17C8BF16098B654300216F16 /* white.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = white.c; sourceTree = "<group>"; };
-		17C8BF17098B654300216F16 /* white.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = white.h; sourceTree = "<group>"; };
-		17C8BF1E098B654300216F16 /* extern.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = extern.c; sourceTree = "<group>"; };
-		17C8BF1F098B654300216F16 /* extern.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = extern.h; sourceTree = "<group>"; };
-		17C8BF21098B654300216F16 /* osdefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = osdefs.h; sourceTree = "<group>"; };
-		17C8BF22098B654300216F16 /* osptrs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = osptrs.h; sourceTree = "<group>"; };
-		17C8BF23098B654300216F16 /* path.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = path.c; sourceTree = "<group>"; };
-		17C8BF25098B654300216F16 /* xlbfun.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlbfun.c; sourceTree = "<group>"; };
-		17C8BF27098B654300216F16 /* xlcont.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlcont.c; sourceTree = "<group>"; };
-		17C8BF29098B654300216F16 /* xldbug.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xldbug.c; sourceTree = "<group>"; };
-		17C8BF2B098B654300216F16 /* xldmem.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xldmem.c; sourceTree = "<group>"; };
-		17C8BF2C098B654300216F16 /* xldmem.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = xldmem.h; sourceTree = "<group>"; };
-		17C8BF2E098B654300216F16 /* xleval.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xleval.c; sourceTree = "<group>"; };
-		17C8BF31098B654300216F16 /* xlfio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlfio.c; sourceTree = "<group>"; };
-		17C8BF33098B654300216F16 /* xlftab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlftab.c; sourceTree = "<group>"; };
-		17C8BF35098B654300216F16 /* xlglob.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlglob.c; sourceTree = "<group>"; };
-		17C8BF37098B654300216F16 /* xlimage.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlimage.c; sourceTree = "<group>"; };
-		17C8BF39098B654300216F16 /* xlinit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlinit.c; sourceTree = "<group>"; };
-		17C8BF3B098B654300216F16 /* xlio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlio.c; sourceTree = "<group>"; };
-		17C8BF3D098B654300216F16 /* xlisp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlisp.c; sourceTree = "<group>"; };
-		17C8BF3E098B654300216F16 /* xlisp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = xlisp.h; sourceTree = "<group>"; };
-		17C8BF40098B654300216F16 /* xljump.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xljump.c; sourceTree = "<group>"; };
-		17C8BF42098B654300216F16 /* xllist.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xllist.c; sourceTree = "<group>"; };
-		17C8BF44098B654300216F16 /* xlmath.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlmath.c; sourceTree = "<group>"; };
-		17C8BF46098B654300216F16 /* xlobj.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlobj.c; sourceTree = "<group>"; };
-		17C8BF48098B654300216F16 /* xlpp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlpp.c; sourceTree = "<group>"; };
-		17C8BF4A098B654300216F16 /* xlprin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlprin.c; sourceTree = "<group>"; };
-		17C8BF4C098B654300216F16 /* xlread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlread.c; sourceTree = "<group>"; };
-		17C8BF4E098B654400216F16 /* xlstr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlstr.c; sourceTree = "<group>"; };
-		17C8BF50098B654400216F16 /* xlsubr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlsubr.c; sourceTree = "<group>"; };
-		17C8BF52098B654400216F16 /* xlsym.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlsym.c; sourceTree = "<group>"; };
-		17C8BF54098B654400216F16 /* xlsys.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = xlsys.c; sourceTree = "<group>"; };
 		17FC86F30994637C0061DC94 /* compile.txt */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = compile.txt; path = mac/compile.txt; sourceTree = "<group>"; };
+		1818558F0FFE916C0026D190 /* CommandMisc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CommandMisc.h; sourceTree = "<group>"; };
+		181855900FFE916C0026D190 /* CommandTargets.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CommandTargets.h; sourceTree = "<group>"; };
+		181855950FFE916C0026D190 /* ScreenshotCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ScreenshotCommand.cpp; sourceTree = "<group>"; };
+		181855960FFE916C0026D190 /* ScreenshotCommand.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ScreenshotCommand.h; sourceTree = "<group>"; };
 		1841B5000E00AD6E00F386E9 /* ODComputeSummaryTask.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ODComputeSummaryTask.cpp; path = ondemand/ODComputeSummaryTask.cpp; sourceTree = "<group>"; };
 		1841B5010E00AD6E00F386E9 /* ODComputeSummaryTask.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ODComputeSummaryTask.h; path = ondemand/ODComputeSummaryTask.h; sourceTree = "<group>"; };
 		1841B5020E00AD6E00F386E9 /* ODManager.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ODManager.cpp; path = ondemand/ODManager.cpp; sourceTree = "<group>"; };
@@ -2283,6 +2233,10 @@
 		1841B5090E00AD6E00F386E9 /* ODWaveTrackTaskQueue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ODWaveTrackTaskQueue.h; path = ondemand/ODWaveTrackTaskQueue.h; sourceTree = "<group>"; };
 		1841B50F0E00AD8D00F386E9 /* ODPCMAliasBlockFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ODPCMAliasBlockFile.cpp; sourceTree = "<group>"; };
 		1841B5100E00AD8D00F386E9 /* ODPCMAliasBlockFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ODPCMAliasBlockFile.h; sourceTree = "<group>"; };
+		1865A9B41004490400946EE6 /* Lyrics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Lyrics.cpp; sourceTree = "<group>"; };
+		1865A9B51004490400946EE6 /* Lyrics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Lyrics.h; sourceTree = "<group>"; };
+		1865A9B61004490500946EE6 /* LyricsWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LyricsWindow.cpp; sourceTree = "<group>"; };
+		1865A9B71004490500946EE6 /* LyricsWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = LyricsWindow.h; sourceTree = "<group>"; };
 		186CCE6B0E51F47400659159 /* ODDecodeBlockFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ODDecodeBlockFile.cpp; sourceTree = "<group>"; };
 		186CCE6C0E51F47400659159 /* ODDecodeBlockFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ODDecodeBlockFile.h; sourceTree = "<group>"; };
 		186CCE6E0E51F48500659159 /* ODDecodeFlacTask.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ODDecodeFlacTask.cpp; path = ondemand/ODDecodeFlacTask.cpp; sourceTree = "<group>"; };
@@ -2291,11 +2245,70 @@
 		186CCE710E51F48500659159 /* ODDecodeTask.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ODDecodeTask.h; path = ondemand/ODDecodeTask.h; sourceTree = "<group>"; };
 		186CCEA20E523C8D00659159 /* Profiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Profiler.h; sourceTree = "<group>"; };
 		186CCEA30E523C8E00659159 /* Profiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Profiler.cpp; sourceTree = "<group>"; };
+		18A2840D0F79BCAA0013A1BE /* Generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Generator.h; sourceTree = "<group>"; };
+		18A2840E0F79BCAB0013A1BE /* Generator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Generator.cpp; sourceTree = "<group>"; };
 		18D8314C0ED0F56200FD870D /* Contrast.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Contrast.cpp; sourceTree = "<group>"; };
 		18D8314D0ED0F56200FD870D /* Contrast.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Contrast.h; sourceTree = "<group>"; };
+		2800FDF40FF3225B005CA9E5 /* pminternal.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = pminternal.h; path = portmidi/pm_common/pminternal.h; sourceTree = "<group>"; };
+		2800FDF50FF3225B005CA9E5 /* pmutil.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = pmutil.c; path = portmidi/pm_common/pmutil.c; sourceTree = "<group>"; };
+		2800FDF60FF3225B005CA9E5 /* pmutil.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = pmutil.h; path = portmidi/pm_common/pmutil.h; sourceTree = "<group>"; };
+		2800FDF70FF3225B005CA9E5 /* portmidi.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = portmidi.c; path = portmidi/pm_common/portmidi.c; sourceTree = "<group>"; };
+		2800FDF80FF3225B005CA9E5 /* portmidi.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = portmidi.h; path = portmidi/pm_common/portmidi.h; sourceTree = "<group>"; };
+		2800FDF90FF3227F005CA9E5 /* finddefault.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = finddefault.c; path = portmidi/pm_mac/finddefault.c; sourceTree = "<group>"; };
+		2800FDFA0FF3227F005CA9E5 /* pmmac.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = pmmac.c; path = portmidi/pm_mac/pmmac.c; sourceTree = "<group>"; };
+		2800FDFB0FF3227F005CA9E5 /* pmmac.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = pmmac.h; path = portmidi/pm_mac/pmmac.h; sourceTree = "<group>"; };
+		2800FDFC0FF3227F005CA9E5 /* pmmacosxcm.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = pmmacosxcm.c; path = portmidi/pm_mac/pmmacosxcm.c; sourceTree = "<group>"; };
+		2800FDFD0FF3227F005CA9E5 /* pmmacosxcm.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = pmmacosxcm.h; path = portmidi/pm_mac/pmmacosxcm.h; sourceTree = "<group>"; };
+		2800FDFE0FF3227F005CA9E5 /* readbinaryplist.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = readbinaryplist.c; path = portmidi/pm_mac/readbinaryplist.c; sourceTree = "<group>"; };
+		2800FDFF0FF3227F005CA9E5 /* readbinaryplist.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = readbinaryplist.h; path = portmidi/pm_mac/readbinaryplist.h; sourceTree = "<group>"; };
+		2800FE000FF322A1005CA9E5 /* porttime.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = porttime.h; path = portmidi/porttime/porttime.h; sourceTree = "<group>"; };
+		2800FE010FF322A1005CA9E5 /* ptmacosx_mach.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = ptmacosx_mach.c; path = portmidi/porttime/ptmacosx_mach.c; sourceTree = "<group>"; };
+		2800FE070FF322D4005CA9E5 /* libportmidi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libportmidi.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		2800FE350FF32566005CA9E5 /* MidiIOPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = MidiIOPrefs.cpp; sourceTree = "<group>"; };
+		2800FE360FF32566005CA9E5 /* MidiIOPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = MidiIOPrefs.h; sourceTree = "<group>"; };
 		2801A6430BF9268700648258 /* ImportQT.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ImportQT.cpp; sourceTree = "<group>"; };
 		2801A6440BF9268700648258 /* ImportQT.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ImportQT.h; sourceTree = "<group>"; };
 		2801A6450BF9268700648258 /* ImportQTWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ImportQTWrapper.cpp; sourceTree = "<group>"; };
+		2808025B0F32C11F0021001D /* bug.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = bug.lsp; path = ../nyquist/bug.lsp; sourceTree = SOURCE_ROOT; };
+		2808025C0F32C11F0021001D /* dspprims.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = dspprims.lsp; path = ../nyquist/dspprims.lsp; sourceTree = SOURCE_ROOT; };
+		2808025D0F32C11F0021001D /* envelopes.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = envelopes.lsp; path = ../nyquist/envelopes.lsp; sourceTree = SOURCE_ROOT; };
+		2808025E0F32C11F0021001D /* equalizer.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = equalizer.lsp; path = ../nyquist/equalizer.lsp; sourceTree = SOURCE_ROOT; };
+		2808025F0F32C11F0021001D /* evalenv.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = evalenv.lsp; path = ../nyquist/evalenv.lsp; sourceTree = SOURCE_ROOT; };
+		280802600F32C11F0021001D /* fileio.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = fileio.lsp; path = ../nyquist/fileio.lsp; sourceTree = SOURCE_ROOT; };
+		280802610F32C11F0021001D /* follow.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = follow.lsp; path = ../nyquist/follow.lsp; sourceTree = SOURCE_ROOT; };
+		280802620F32C11F0021001D /* init.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = init.lsp; path = ../nyquist/init.lsp; sourceTree = SOURCE_ROOT; };
+		280802630F32C11F0021001D /* misc.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = misc.lsp; path = ../nyquist/misc.lsp; sourceTree = SOURCE_ROOT; };
+		280802640F32C11F0021001D /* nyinit.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = nyinit.lsp; path = ../nyquist/nyinit.lsp; sourceTree = SOURCE_ROOT; };
+		280802650F32C11F0021001D /* nyqmisc.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = nyqmisc.lsp; path = ../nyquist/nyqmisc.lsp; sourceTree = SOURCE_ROOT; };
+		280802660F32C11F0021001D /* nyquist-plot.txt */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = "nyquist-plot.txt"; path = "../nyquist/nyquist-plot.txt"; sourceTree = SOURCE_ROOT; };
+		280802670F32C11F0021001D /* nyquist.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = nyquist.lsp; path = ../nyquist/nyquist.lsp; sourceTree = SOURCE_ROOT; };
+		280802680F32C11F0021001D /* printrec.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = printrec.lsp; path = ../nyquist/printrec.lsp; sourceTree = SOURCE_ROOT; };
+		280802690F32C11F0021001D /* profile.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = profile.lsp; path = ../nyquist/profile.lsp; sourceTree = SOURCE_ROOT; };
+		2808026B0F32C11F0021001D /* mand1.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand1.raw; sourceTree = "<group>"; };
+		2808026C0F32C11F0021001D /* mand10.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand10.raw; sourceTree = "<group>"; };
+		2808026D0F32C11F0021001D /* mand11.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand11.raw; sourceTree = "<group>"; };
+		2808026E0F32C11F0021001D /* mand12.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand12.raw; sourceTree = "<group>"; };
+		2808026F0F32C11F0021001D /* mand2.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand2.raw; sourceTree = "<group>"; };
+		280802700F32C11F0021001D /* mand3.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand3.raw; sourceTree = "<group>"; };
+		280802710F32C11F0021001D /* mand4.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand4.raw; sourceTree = "<group>"; };
+		280802720F32C11F0021001D /* mand5.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand5.raw; sourceTree = "<group>"; };
+		280802730F32C11F0021001D /* mand6.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand6.raw; sourceTree = "<group>"; };
+		280802740F32C11F0021001D /* mand7.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand7.raw; sourceTree = "<group>"; };
+		280802750F32C11F0021001D /* mand8.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand8.raw; sourceTree = "<group>"; };
+		280802760F32C11F0021001D /* mand9.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mand9.raw; sourceTree = "<group>"; };
+		280802770F32C11F0021001D /* mandpluk.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = mandpluk.raw; sourceTree = "<group>"; };
+		280802780F32C11F0021001D /* marmstk1.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = marmstk1.raw; sourceTree = "<group>"; };
+		280802790F32C11F0021001D /* sinewave.raw */ = {isa = PBXFileReference; lastKnownFileType = file; path = sinewave.raw; sourceTree = "<group>"; };
+		2808027A0F32C11F0021001D /* sal-parse.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = "sal-parse.lsp"; path = "../nyquist/sal-parse.lsp"; sourceTree = SOURCE_ROOT; };
+		2808027B0F32C11F0021001D /* sal.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = sal.lsp; path = ../nyquist/sal.lsp; sourceTree = SOURCE_ROOT; };
+		2808027C0F32C11F0021001D /* seq.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = seq.lsp; path = ../nyquist/seq.lsp; sourceTree = SOURCE_ROOT; };
+		2808027D0F32C11F0021001D /* seqfnint.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = seqfnint.lsp; path = ../nyquist/seqfnint.lsp; sourceTree = SOURCE_ROOT; };
+		2808027E0F32C11F0021001D /* seqmidi.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = seqmidi.lsp; path = ../nyquist/seqmidi.lsp; sourceTree = SOURCE_ROOT; };
+		2808027F0F32C11F0021001D /* sndfnint.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = sndfnint.lsp; path = ../nyquist/sndfnint.lsp; sourceTree = SOURCE_ROOT; };
+		280802800F32C11F0021001D /* stk.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = stk.lsp; path = ../nyquist/stk.lsp; sourceTree = SOURCE_ROOT; };
+		280802810F32C11F0021001D /* system.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = system.lsp; path = ../nyquist/system.lsp; sourceTree = SOURCE_ROOT; };
+		280802820F32C11F0021001D /* xlinit.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = xlinit.lsp; path = ../nyquist/xlinit.lsp; sourceTree = SOURCE_ROOT; };
+		280802830F32C11F0021001D /* xm.lsp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; name = xm.lsp; path = ../nyquist/xm.lsp; sourceTree = SOURCE_ROOT; };
 		280828530A75E0D0000002EF /* LabelDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = LabelDialog.cpp; sourceTree = "<group>"; };
 		280828540A75E0D0000002EF /* LabelDialog.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = LabelDialog.h; sourceTree = "<group>"; };
 		280828580A75E0EA000002EF /* Grid.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Grid.cpp; sourceTree = "<group>"; };
@@ -2327,6 +2340,150 @@
 		283135FE0DFBA2E80076D551 /* FFmpeg.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = FFmpeg.h; sourceTree = "<group>"; };
 		283506280A3A88ED00EB1EBD /* pa_unix_util.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = pa_unix_util.c; sourceTree = "<group>"; };
 		283506290A3A88ED00EB1EBD /* pa_unix_util.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = pa_unix_util.h; sourceTree = "<group>"; };
+		283752FD0F4286E000364787 /* apefooter.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = apefooter.cpp; sourceTree = "<group>"; };
+		283752FE0F4286E000364787 /* apefooter.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = apefooter.h; sourceTree = "<group>"; };
+		283752FF0F4286E000364787 /* apeitem.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = apeitem.cpp; sourceTree = "<group>"; };
+		283753000F4286E000364787 /* apeitem.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = apeitem.h; sourceTree = "<group>"; };
+		283753010F4286E000364787 /* apetag.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = apetag.cpp; sourceTree = "<group>"; };
+		283753020F4286E000364787 /* apetag.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = apetag.h; sourceTree = "<group>"; };
+		283753070F4286E000364787 /* asfattribute.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = asfattribute.cpp; sourceTree = "<group>"; };
+		283753080F4286E000364787 /* asfattribute.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = asfattribute.h; sourceTree = "<group>"; };
+		283753090F4286E000364787 /* asffile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = asffile.cpp; sourceTree = "<group>"; };
+		2837530A0F4286E000364787 /* asffile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = asffile.h; sourceTree = "<group>"; };
+		2837530B0F4286E000364787 /* asfproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = asfproperties.cpp; sourceTree = "<group>"; };
+		2837530C0F4286E000364787 /* asfproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = asfproperties.h; sourceTree = "<group>"; };
+		2837530D0F4286E000364787 /* asftag.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = asftag.cpp; sourceTree = "<group>"; };
+		2837530E0F4286E000364787 /* asftag.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = asftag.h; sourceTree = "<group>"; };
+		283753120F4286E000364787 /* audioproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = audioproperties.cpp; sourceTree = "<group>"; };
+		283753130F4286E000364787 /* audioproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = audioproperties.h; sourceTree = "<group>"; };
+		283753150F4286E000364787 /* fileref.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = fileref.cpp; sourceTree = "<group>"; };
+		283753160F4286E000364787 /* fileref.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fileref.h; sourceTree = "<group>"; };
+		283753190F4286E000364787 /* flacfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = flacfile.cpp; sourceTree = "<group>"; };
+		2837531A0F4286E000364787 /* flacfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = flacfile.h; sourceTree = "<group>"; };
+		2837531B0F4286E000364787 /* flacproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = flacproperties.cpp; sourceTree = "<group>"; };
+		2837531C0F4286E000364787 /* flacproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = flacproperties.h; sourceTree = "<group>"; };
+		283753250F4286E000364787 /* mp4atom.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mp4atom.cpp; sourceTree = "<group>"; };
+		283753260F4286E000364787 /* mp4atom.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mp4atom.h; sourceTree = "<group>"; };
+		283753270F4286E000364787 /* mp4file.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mp4file.cpp; sourceTree = "<group>"; };
+		283753280F4286E000364787 /* mp4file.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mp4file.h; sourceTree = "<group>"; };
+		283753290F4286E000364787 /* mp4item.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mp4item.cpp; sourceTree = "<group>"; };
+		2837532A0F4286E000364787 /* mp4item.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mp4item.h; sourceTree = "<group>"; };
+		2837532B0F4286E000364787 /* mp4properties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mp4properties.cpp; sourceTree = "<group>"; };
+		2837532C0F4286E000364787 /* mp4properties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mp4properties.h; sourceTree = "<group>"; };
+		2837532D0F4286E000364787 /* mp4tag.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mp4tag.cpp; sourceTree = "<group>"; };
+		2837532E0F4286E000364787 /* mp4tag.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mp4tag.h; sourceTree = "<group>"; };
+		283753330F4286E000364787 /* mpcfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mpcfile.cpp; sourceTree = "<group>"; };
+		283753340F4286E000364787 /* mpcfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mpcfile.h; sourceTree = "<group>"; };
+		283753350F4286E000364787 /* mpcproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mpcproperties.cpp; sourceTree = "<group>"; };
+		283753360F4286E000364787 /* mpcproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mpcproperties.h; sourceTree = "<group>"; };
+		2837533B0F4286E000364787 /* id3v1genres.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v1genres.cpp; sourceTree = "<group>"; };
+		2837533C0F4286E100364787 /* id3v1genres.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v1genres.h; sourceTree = "<group>"; };
+		2837533D0F4286E100364787 /* id3v1tag.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v1tag.cpp; sourceTree = "<group>"; };
+		2837533E0F4286E100364787 /* id3v1tag.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v1tag.h; sourceTree = "<group>"; };
+		283753440F4286E100364787 /* attachedpictureframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = attachedpictureframe.cpp; sourceTree = "<group>"; };
+		283753450F4286E100364787 /* attachedpictureframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = attachedpictureframe.h; sourceTree = "<group>"; };
+		283753470F4286E100364787 /* commentsframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = commentsframe.cpp; sourceTree = "<group>"; };
+		283753480F4286E100364787 /* commentsframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = commentsframe.h; sourceTree = "<group>"; };
+		283753490F4286E100364787 /* generalencapsulatedobjectframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = generalencapsulatedobjectframe.cpp; sourceTree = "<group>"; };
+		2837534A0F4286E100364787 /* generalencapsulatedobjectframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = generalencapsulatedobjectframe.h; sourceTree = "<group>"; };
+		2837534D0F4286E100364787 /* popularimeterframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = popularimeterframe.cpp; sourceTree = "<group>"; };
+		2837534E0F4286E100364787 /* popularimeterframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = popularimeterframe.h; sourceTree = "<group>"; };
+		2837534F0F4286E100364787 /* privateframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = privateframe.cpp; sourceTree = "<group>"; };
+		283753500F4286E100364787 /* privateframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = privateframe.h; sourceTree = "<group>"; };
+		283753510F4286E100364787 /* relativevolumeframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = relativevolumeframe.cpp; sourceTree = "<group>"; };
+		283753520F4286E100364787 /* relativevolumeframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = relativevolumeframe.h; sourceTree = "<group>"; };
+		283753530F4286E100364787 /* textidentificationframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = textidentificationframe.cpp; sourceTree = "<group>"; };
+		283753540F4286E100364787 /* textidentificationframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = textidentificationframe.h; sourceTree = "<group>"; };
+		283753550F4286E100364787 /* uniquefileidentifierframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = uniquefileidentifierframe.cpp; sourceTree = "<group>"; };
+		283753560F4286E100364787 /* uniquefileidentifierframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = uniquefileidentifierframe.h; sourceTree = "<group>"; };
+		283753570F4286E100364787 /* unknownframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = unknownframe.cpp; sourceTree = "<group>"; };
+		283753580F4286E100364787 /* unknownframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = unknownframe.h; sourceTree = "<group>"; };
+		283753590F4286E100364787 /* unsynchronizedlyricsframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = unsynchronizedlyricsframe.cpp; sourceTree = "<group>"; };
+		2837535A0F4286E100364787 /* unsynchronizedlyricsframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = unsynchronizedlyricsframe.h; sourceTree = "<group>"; };
+		2837535B0F4286E100364787 /* urllinkframe.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = urllinkframe.cpp; sourceTree = "<group>"; };
+		2837535C0F4286E100364787 /* urllinkframe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = urllinkframe.h; sourceTree = "<group>"; };
+		283753610F4286E100364787 /* id3v2extendedheader.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2extendedheader.cpp; sourceTree = "<group>"; };
+		283753620F4286E100364787 /* id3v2extendedheader.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2extendedheader.h; sourceTree = "<group>"; };
+		283753630F4286E100364787 /* id3v2footer.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2footer.cpp; sourceTree = "<group>"; };
+		283753640F4286E100364787 /* id3v2footer.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2footer.h; sourceTree = "<group>"; };
+		283753650F4286E100364787 /* id3v2frame.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2frame.cpp; sourceTree = "<group>"; };
+		283753660F4286E100364787 /* id3v2frame.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2frame.h; sourceTree = "<group>"; };
+		283753670F4286E100364787 /* id3v2framefactory.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2framefactory.cpp; sourceTree = "<group>"; };
+		283753680F4286E100364787 /* id3v2framefactory.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2framefactory.h; sourceTree = "<group>"; };
+		283753690F4286E100364787 /* id3v2header.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2header.cpp; sourceTree = "<group>"; };
+		2837536A0F4286E100364787 /* id3v2header.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2header.h; sourceTree = "<group>"; };
+		2837536B0F4286E100364787 /* id3v2synchdata.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2synchdata.cpp; sourceTree = "<group>"; };
+		2837536C0F4286E100364787 /* id3v2synchdata.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2synchdata.h; sourceTree = "<group>"; };
+		2837536D0F4286E100364787 /* id3v2tag.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = id3v2tag.cpp; sourceTree = "<group>"; };
+		2837536E0F4286E100364787 /* id3v2tag.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = id3v2tag.h; sourceTree = "<group>"; };
+		283753730F4286E100364787 /* mpegfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mpegfile.cpp; sourceTree = "<group>"; };
+		283753740F4286E100364787 /* mpegfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mpegfile.h; sourceTree = "<group>"; };
+		283753750F4286E100364787 /* mpegheader.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mpegheader.cpp; sourceTree = "<group>"; };
+		283753760F4286E100364787 /* mpegheader.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mpegheader.h; sourceTree = "<group>"; };
+		283753770F4286E100364787 /* mpegproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mpegproperties.cpp; sourceTree = "<group>"; };
+		283753780F4286E100364787 /* mpegproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mpegproperties.h; sourceTree = "<group>"; };
+		283753790F4286E100364787 /* xingheader.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = xingheader.cpp; sourceTree = "<group>"; };
+		2837537A0F4286E100364787 /* xingheader.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = xingheader.h; sourceTree = "<group>"; };
+		283753810F4286E100364787 /* oggflacfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = oggflacfile.cpp; sourceTree = "<group>"; };
+		283753820F4286E100364787 /* oggflacfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = oggflacfile.h; sourceTree = "<group>"; };
+		283753850F4286E100364787 /* oggfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = oggfile.cpp; sourceTree = "<group>"; };
+		283753860F4286E100364787 /* oggfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = oggfile.h; sourceTree = "<group>"; };
+		283753870F4286E100364787 /* oggpage.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = oggpage.cpp; sourceTree = "<group>"; };
+		283753880F4286E100364787 /* oggpage.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = oggpage.h; sourceTree = "<group>"; };
+		283753890F4286E100364787 /* oggpageheader.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = oggpageheader.cpp; sourceTree = "<group>"; };
+		2837538A0F4286E100364787 /* oggpageheader.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = oggpageheader.h; sourceTree = "<group>"; };
+		2837538F0F4286E100364787 /* speexfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = speexfile.cpp; sourceTree = "<group>"; };
+		283753900F4286E100364787 /* speexfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = speexfile.h; sourceTree = "<group>"; };
+		283753910F4286E100364787 /* speexproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = speexproperties.cpp; sourceTree = "<group>"; };
+		283753920F4286E100364787 /* speexproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = speexproperties.h; sourceTree = "<group>"; };
+		283753970F4286E100364787 /* vorbisfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = vorbisfile.cpp; sourceTree = "<group>"; };
+		283753980F4286E100364787 /* vorbisfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = vorbisfile.h; sourceTree = "<group>"; };
+		283753990F4286E100364787 /* vorbisproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = vorbisproperties.cpp; sourceTree = "<group>"; };
+		2837539A0F4286E100364787 /* vorbisproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = vorbisproperties.h; sourceTree = "<group>"; };
+		2837539B0F4286E100364787 /* xiphcomment.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = xiphcomment.cpp; sourceTree = "<group>"; };
+		2837539C0F4286E100364787 /* xiphcomment.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = xiphcomment.h; sourceTree = "<group>"; };
+		2837539F0F4286E100364787 /* aifffile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = aifffile.cpp; sourceTree = "<group>"; };
+		283753A00F4286E100364787 /* aifffile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = aifffile.h; sourceTree = "<group>"; };
+		283753A10F4286E100364787 /* aiffproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = aiffproperties.cpp; sourceTree = "<group>"; };
+		283753A20F4286E100364787 /* aiffproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = aiffproperties.h; sourceTree = "<group>"; };
+		283753A90F4286E100364787 /* rifffile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = rifffile.cpp; sourceTree = "<group>"; };
+		283753AA0F4286E100364787 /* rifffile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = rifffile.h; sourceTree = "<group>"; };
+		283753AF0F4286E100364787 /* wavfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = wavfile.cpp; sourceTree = "<group>"; };
+		283753B00F4286E100364787 /* wavfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = wavfile.h; sourceTree = "<group>"; };
+		283753B10F4286E100364787 /* wavproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = wavproperties.cpp; sourceTree = "<group>"; };
+		283753B20F4286E100364787 /* wavproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = wavproperties.h; sourceTree = "<group>"; };
+		283753B30F4286E100364787 /* tag.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tag.cpp; sourceTree = "<group>"; };
+		283753B40F4286E100364787 /* tag.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tag.h; sourceTree = "<group>"; };
+		283753B60F4286E100364787 /* taglib_export.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = taglib_export.h; sourceTree = "<group>"; };
+		283753B70F4286E100364787 /* tagunion.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tagunion.cpp; sourceTree = "<group>"; };
+		283753B80F4286E100364787 /* tagunion.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tagunion.h; sourceTree = "<group>"; };
+		283753BD0F4286E100364787 /* taglib.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = taglib.h; sourceTree = "<group>"; };
+		283753BE0F4286E100364787 /* tbytevector.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tbytevector.cpp; sourceTree = "<group>"; };
+		283753BF0F4286E100364787 /* tbytevector.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tbytevector.h; sourceTree = "<group>"; };
+		283753C00F4286E100364787 /* tbytevectorlist.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tbytevectorlist.cpp; sourceTree = "<group>"; };
+		283753C10F4286E100364787 /* tbytevectorlist.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tbytevectorlist.h; sourceTree = "<group>"; };
+		283753C20F4286E100364787 /* tdebug.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tdebug.cpp; sourceTree = "<group>"; };
+		283753C30F4286E100364787 /* tdebug.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tdebug.h; sourceTree = "<group>"; };
+		283753C40F4286E100364787 /* tfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tfile.cpp; sourceTree = "<group>"; };
+		283753C50F4286E100364787 /* tfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tfile.h; sourceTree = "<group>"; };
+		283753C60F4286E100364787 /* tlist.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tlist.h; sourceTree = "<group>"; };
+		283753C80F4286E100364787 /* tmap.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tmap.h; sourceTree = "<group>"; };
+		283753CA0F4286E100364787 /* tstring.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tstring.cpp; sourceTree = "<group>"; };
+		283753CB0F4286E100364787 /* tstring.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tstring.h; sourceTree = "<group>"; };
+		283753CC0F4286E100364787 /* tstringlist.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = tstringlist.cpp; sourceTree = "<group>"; };
+		283753CD0F4286E100364787 /* tstringlist.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tstringlist.h; sourceTree = "<group>"; };
+		283753CE0F4286E100364787 /* unicode.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = unicode.cpp; sourceTree = "<group>"; };
+		283753CF0F4286E100364787 /* unicode.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = unicode.h; sourceTree = "<group>"; };
+		283753D40F4286E100364787 /* trueaudiofile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = trueaudiofile.cpp; sourceTree = "<group>"; };
+		283753D50F4286E100364787 /* trueaudiofile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = trueaudiofile.h; sourceTree = "<group>"; };
+		283753D60F4286E100364787 /* trueaudioproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = trueaudioproperties.cpp; sourceTree = "<group>"; };
+		283753D70F4286E100364787 /* trueaudioproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = trueaudioproperties.h; sourceTree = "<group>"; };
+		283753DC0F4286E100364787 /* wavpackfile.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = wavpackfile.cpp; sourceTree = "<group>"; };
+		283753DD0F4286E100364787 /* wavpackfile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = wavpackfile.h; sourceTree = "<group>"; };
+		283753DE0F4286E100364787 /* wavpackproperties.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = wavpackproperties.cpp; sourceTree = "<group>"; };
+		283753DF0F4286E100364787 /* wavpackproperties.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = wavpackproperties.h; sourceTree = "<group>"; };
+		283753E40F42875100364787 /* libtaglib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libtaglib.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		283754A50F428A8E00364787 /* config.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = config.h; path = taglib/config.h; sourceTree = "<group>"; };
 		283A11A40A2C0DE7004372C4 /* broadcast.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = broadcast.c; sourceTree = "<group>"; };
 		283A11A60A2C0E15004372C4 /* ShuttleGui.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ShuttleGui.cpp; sourceTree = "<group>"; };
 		283A11A70A2C0E15004372C4 /* ShuttleGui.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ShuttleGui.h; sourceTree = "<group>"; };
@@ -2388,6 +2545,220 @@
 		28456AC10A2C180E00C23C1E /* ThemePrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ThemePrefs.h; sourceTree = "<group>"; };
 		2849B4600A7444BE00ECF12D /* Dependencies.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Dependencies.cpp; sourceTree = "<group>"; };
 		2849B4610A7444BE00ECF12D /* Dependencies.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Dependencies.h; sourceTree = "<group>"; };
+		284A7B8F0F31571B001D7A67 /* nyx.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = nyx.c; sourceTree = "<group>"; };
+		284A7B900F31571B001D7A67 /* nyx.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = nyx.h; sourceTree = "<group>"; };
+		284A7B910F31571B001D7A67 /* xlextstart.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlextstart.c; sourceTree = "<group>"; };
+		284A80380F3158A1001D7A67 /* cext.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = cext.c; sourceTree = "<group>"; };
+		284A803A0F3158A1001D7A67 /* cleanup.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = cleanup.c; sourceTree = "<group>"; };
+		284A803C0F3158A1001D7A67 /* cmdline.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = cmdline.c; sourceTree = "<group>"; };
+		284A803E0F3158A1001D7A67 /* cmtcmd.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = cmtcmd.c; sourceTree = "<group>"; };
+		284A80440F3158A1001D7A67 /* mem.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = mem.c; sourceTree = "<group>"; };
+		284A804A0F3158A1001D7A67 /* midifile.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = midifile.c; sourceTree = "<group>"; };
+		284A804C0F3158A1001D7A67 /* midifns.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = midifns.c; sourceTree = "<group>"; };
+		284A80500F3158A1001D7A67 /* moxc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = moxc.c; sourceTree = "<group>"; };
+		284A80540F3158A1001D7A67 /* record.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = record.c; sourceTree = "<group>"; };
+		284A80560F3158A1001D7A67 /* seq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seq.c; sourceTree = "<group>"; };
+		284A80590F3158A1001D7A67 /* seqmread.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqmread.c; sourceTree = "<group>"; };
+		284A805B0F3158A1001D7A67 /* seqmwrite.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqmwrite.c; sourceTree = "<group>"; };
+		284A805D0F3158A1001D7A67 /* seqread.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqread.c; sourceTree = "<group>"; };
+		284A805F0F3158A1001D7A67 /* seqwrite.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqwrite.c; sourceTree = "<group>"; };
+		284A80620F3158A1001D7A67 /* tempomap.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = tempomap.c; sourceTree = "<group>"; };
+		284A80640F3158A1001D7A67 /* timebase.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = timebase.c; sourceTree = "<group>"; };
+		284A80660F3158A1001D7A67 /* userio.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = userio.c; sourceTree = "<group>"; };
+		284A806C0F3158A1001D7A67 /* add.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = add.c; sourceTree = "<group>"; };
+		284A806E0F3158A1001D7A67 /* avg.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = avg.c; sourceTree = "<group>"; };
+		284A80700F3158A1001D7A67 /* compose.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = compose.c; sourceTree = "<group>"; };
+		284A80720F3158A1001D7A67 /* convolve.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = convolve.c; sourceTree = "<group>"; };
+		284A80750F3158A1001D7A67 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = debug.c; sourceTree = "<group>"; };
+		284A80770F3158A1001D7A67 /* downsample.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = downsample.c; sourceTree = "<group>"; };
+		284A807C0F3158A1001D7A67 /* falloc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = falloc.c; sourceTree = "<group>"; };
+		284A807E0F3158A1001D7A67 /* ffilterkit.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = ffilterkit.c; sourceTree = "<group>"; };
+		284A80810F3158A1001D7A67 /* fft.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = fft.c; sourceTree = "<group>"; };
+		284A80870F3158A1001D7A67 /* handlers.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = handlers.c; sourceTree = "<group>"; };
+		284A80880F3158A1001D7A67 /* inverse.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = inverse.c; sourceTree = "<group>"; };
+		284A808A0F3158A1001D7A67 /* local.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = local.c; sourceTree = "<group>"; };
+		284A808D0F3158A1001D7A67 /* lpanal.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = lpanal.c; sourceTree = "<group>"; };
+		284A808F0F3158A1001D7A67 /* multiread.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = multiread.c; sourceTree = "<group>"; };
+		284A80910F3158A1001D7A67 /* multiseq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = multiseq.c; sourceTree = "<group>"; };
+		284A80990F3158A1001D7A67 /* probe.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = probe.c; sourceTree = "<group>"; };
+		284A809B0F3158A1001D7A67 /* resamp.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = resamp.c; sourceTree = "<group>"; };
+		284A809D0F3158A1001D7A67 /* resampv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = resampv.c; sourceTree = "<group>"; };
+		284A80A00F3158A1001D7A67 /* samples.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = samples.c; sourceTree = "<group>"; };
+		284A80A20F3158A1001D7A67 /* seqext.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqext.c; sourceTree = "<group>"; };
+		284A80A60F3158A1001D7A67 /* seqfnint.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqfnint.c; sourceTree = "<group>"; };
+		284A80AA0F3158A1001D7A67 /* seqinterf.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = seqinterf.c; sourceTree = "<group>"; };
+		284A80AC0F3158A1001D7A67 /* sliders.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sliders.c; sourceTree = "<group>"; };
+		284A80B20F3158A1001D7A67 /* sndfnint.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sndfnint.c; sourceTree = "<group>"; };
+		284A80B60F3158A1001D7A67 /* sndmax.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sndmax.c; sourceTree = "<group>"; };
+		284A80B80F3158A1001D7A67 /* sndread.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sndread.c; sourceTree = "<group>"; };
+		284A80BA0F3158A1001D7A67 /* sndseq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sndseq.c; sourceTree = "<group>"; };
+		284A80BF0F3158A1001D7A67 /* sndwritepa.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sndwritepa.c; sourceTree = "<group>"; };
+		284A80C00F3158A1001D7A67 /* sound.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sound.c; sourceTree = "<group>"; };
+		284A80C20F3158A1001D7A67 /* stats.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = stats.c; sourceTree = "<group>"; };
+		284A80C40F3158A1001D7A67 /* trigger.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = trigger.c; sourceTree = "<group>"; };
+		284A80C60F3158A1001D7A67 /* yin.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = yin.c; sourceTree = "<group>"; };
+		284A80F30F3158A1001D7A67 /* instr.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = instr.cpp; sourceTree = "<group>"; };
+		284A80F60F3158A1001D7A67 /* ADSR.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ADSR.cpp; sourceTree = "<group>"; };
+		284A80F70F3158A1001D7A67 /* BandedWG.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = BandedWG.cpp; sourceTree = "<group>"; };
+		284A80F80F3158A1001D7A67 /* BiQuad.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = BiQuad.cpp; sourceTree = "<group>"; };
+		284A80F90F3158A1001D7A67 /* Bowed.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Bowed.cpp; sourceTree = "<group>"; };
+		284A80FA0F3158A1001D7A67 /* BowTable.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = BowTable.cpp; sourceTree = "<group>"; };
+		284A80FB0F3158A1001D7A67 /* Chorus.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Chorus.cpp; sourceTree = "<group>"; };
+		284A80FC0F3158A1001D7A67 /* Clarinet.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Clarinet.cpp; sourceTree = "<group>"; };
+		284A80FD0F3158A1001D7A67 /* Delay.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Delay.cpp; sourceTree = "<group>"; };
+		284A80FE0F3158A1001D7A67 /* DelayA.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = DelayA.cpp; sourceTree = "<group>"; };
+		284A80FF0F3158A1001D7A67 /* DelayL.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = DelayL.cpp; sourceTree = "<group>"; };
+		284A81000F3158A1001D7A67 /* Effect.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Effect.cpp; sourceTree = "<group>"; };
+		284A81010F3158A1001D7A67 /* Envelope.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Envelope.cpp; sourceTree = "<group>"; };
+		284A81020F3158A1001D7A67 /* FileRead.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = FileRead.cpp; sourceTree = "<group>"; };
+		284A81030F3158A1001D7A67 /* FileWvIn.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = FileWvIn.cpp; sourceTree = "<group>"; };
+		284A81040F3158A1001D7A67 /* Filter.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Filter.cpp; sourceTree = "<group>"; };
+		284A81050F3158A1001D7A67 /* Flute.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Flute.cpp; sourceTree = "<group>"; };
+		284A81060F3158A1001D7A67 /* Function.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Function.cpp; sourceTree = "<group>"; };
+		284A81070F3158A1001D7A67 /* Generator.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Generator.cpp; sourceTree = "<group>"; };
+		284A81080F3158A1001D7A67 /* Instrmnt.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Instrmnt.cpp; sourceTree = "<group>"; };
+		284A81090F3158A1001D7A67 /* JCRev.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = JCRev.cpp; sourceTree = "<group>"; };
+		284A810A0F3158A1001D7A67 /* JetTable.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = JetTable.cpp; sourceTree = "<group>"; };
+		284A810B0F3158A1001D7A67 /* Mandolin.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Mandolin.cpp; sourceTree = "<group>"; };
+		284A810C0F3158A1001D7A67 /* Modal.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Modal.cpp; sourceTree = "<group>"; };
+		284A810D0F3158A1001D7A67 /* ModalBar.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ModalBar.cpp; sourceTree = "<group>"; };
+		284A810E0F3158A1001D7A67 /* Noise.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Noise.cpp; sourceTree = "<group>"; };
+		284A810F0F3158A1001D7A67 /* NRev.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = NRev.cpp; sourceTree = "<group>"; };
+		284A81100F3158A1001D7A67 /* OnePole.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = OnePole.cpp; sourceTree = "<group>"; };
+		284A81110F3158A1001D7A67 /* OneZero.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = OneZero.cpp; sourceTree = "<group>"; };
+		284A81120F3158A1001D7A67 /* PitShift.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = PitShift.cpp; sourceTree = "<group>"; };
+		284A81130F3158A1001D7A67 /* PluckTwo.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = PluckTwo.cpp; sourceTree = "<group>"; };
+		284A81140F3158A1001D7A67 /* PoleZero.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = PoleZero.cpp; sourceTree = "<group>"; };
+		284A81150F3158A1001D7A67 /* PRCRev.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = PRCRev.cpp; sourceTree = "<group>"; };
+		284A81160F3158A1001D7A67 /* ReedTable.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ReedTable.cpp; sourceTree = "<group>"; };
+		284A81170F3158A1001D7A67 /* Saxofony.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Saxofony.cpp; sourceTree = "<group>"; };
+		284A81180F3158A1001D7A67 /* SineWave.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = SineWave.cpp; sourceTree = "<group>"; };
+		284A81190F3158A1001D7A67 /* Sitar.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Sitar.cpp; sourceTree = "<group>"; };
+		284A811A0F3158A1001D7A67 /* Stk.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Stk.cpp; sourceTree = "<group>"; };
+		284A811B0F3158A1001D7A67 /* WaveLoop.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = WaveLoop.cpp; sourceTree = "<group>"; };
+		284A811C0F3158A1001D7A67 /* WvIn.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = WvIn.cpp; sourceTree = "<group>"; };
+		284A811D0F3158A1001D7A67 /* stkinit.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = stkinit.cpp; sourceTree = "<group>"; };
+		284A811F0F3158A1001D7A67 /* stkint.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = stkint.cpp; sourceTree = "<group>"; };
+		284A817E0F3158A2001D7A67 /* abs.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = abs.c; sourceTree = "<group>"; };
+		284A81810F3158A2001D7A67 /* allpoles.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = allpoles.c; sourceTree = "<group>"; };
+		284A81840F3158A2001D7A67 /* alpass.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = alpass.c; sourceTree = "<group>"; };
+		284A81870F3158A2001D7A67 /* alpasscv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = alpasscv.c; sourceTree = "<group>"; };
+		284A818D0F3158A2001D7A67 /* alpassvv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = alpassvv.c; sourceTree = "<group>"; };
+		284A81900F3158A2001D7A67 /* amosc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = amosc.c; sourceTree = "<group>"; };
+		284A81930F3158A2001D7A67 /* areson.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = areson.c; sourceTree = "<group>"; };
+		284A81960F3158A2001D7A67 /* aresoncv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = aresoncv.c; sourceTree = "<group>"; };
+		284A81990F3158A2001D7A67 /* aresonvc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = aresonvc.c; sourceTree = "<group>"; };
+		284A819C0F3158A2001D7A67 /* aresonvv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = aresonvv.c; sourceTree = "<group>"; };
+		284A819F0F3158A2001D7A67 /* atone.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = atone.c; sourceTree = "<group>"; };
+		284A81A20F3158A2001D7A67 /* atonev.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = atonev.c; sourceTree = "<group>"; };
+		284A81A50F3158A2001D7A67 /* biquadfilt.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = biquadfilt.c; sourceTree = "<group>"; };
+		284A81A80F3158A2001D7A67 /* buzz.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = buzz.c; sourceTree = "<group>"; };
+		284A81AB0F3158A2001D7A67 /* chase.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = chase.c; sourceTree = "<group>"; };
+		284A81AE0F3158A2001D7A67 /* clip.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = clip.c; sourceTree = "<group>"; };
+		284A81B10F3158A2001D7A67 /* congen.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = congen.c; sourceTree = "<group>"; };
+		284A81B40F3158A2001D7A67 /* const.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = const.c; sourceTree = "<group>"; };
+		284A81B80F3158A2001D7A67 /* coterm.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = coterm.c; sourceTree = "<group>"; };
+		284A81BC0F3158A2001D7A67 /* delaycc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = delaycc.c; sourceTree = "<group>"; };
+		284A81BF0F3158A2001D7A67 /* delaycv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = delaycv.c; sourceTree = "<group>"; };
+		284A81C40F3158A2001D7A67 /* eqbandvvv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = eqbandvvv.c; sourceTree = "<group>"; };
+		284A81C70F3158A2001D7A67 /* exp.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = exp.c; sourceTree = "<group>"; };
+		284A81CB0F3158A2001D7A67 /* fmfb.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = fmfb.c; sourceTree = "<group>"; };
+		284A81CE0F3158A2001D7A67 /* fmfbv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = fmfbv.c; sourceTree = "<group>"; };
+		284A81D10F3158A2001D7A67 /* fmosc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = fmosc.c; sourceTree = "<group>"; };
+		284A81D40F3158A2001D7A67 /* follow.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = follow.c; sourceTree = "<group>"; };
+		284A81D70F3158A2001D7A67 /* fromarraystream.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = fromarraystream.c; sourceTree = "<group>"; };
+		284A81DA0F3158A2001D7A67 /* fromobject.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = fromobject.c; sourceTree = "<group>"; };
+		284A81DD0F3158A2001D7A67 /* gate.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = gate.c; sourceTree = "<group>"; };
+		284A81E10F3158A2001D7A67 /* ifft.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = ifft.c; sourceTree = "<group>"; };
+		284A81E60F3158A2001D7A67 /* instrbanded.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrbanded.c; sourceTree = "<group>"; };
+		284A81E90F3158A2001D7A67 /* instrbow.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrbow.c; sourceTree = "<group>"; };
+		284A81EC0F3158A2001D7A67 /* instrbowedfreq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrbowedfreq.c; sourceTree = "<group>"; };
+		284A81EF0F3158A2001D7A67 /* instrclar.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrclar.c; sourceTree = "<group>"; };
+		284A81F20F3158A2001D7A67 /* instrclarall.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrclarall.c; sourceTree = "<group>"; };
+		284A81F50F3158A2001D7A67 /* instrclarfreq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrclarfreq.c; sourceTree = "<group>"; };
+		284A81F80F3158A2001D7A67 /* instrflute.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrflute.c; sourceTree = "<group>"; };
+		284A81FB0F3158A2001D7A67 /* instrfluteall.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrfluteall.c; sourceTree = "<group>"; };
+		284A81FE0F3158A2001D7A67 /* instrflutefreq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrflutefreq.c; sourceTree = "<group>"; };
+		284A82010F3158A2001D7A67 /* instrmandolin.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrmandolin.c; sourceTree = "<group>"; };
+		284A82040F3158A2001D7A67 /* instrmodalbar.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrmodalbar.c; sourceTree = "<group>"; };
+		284A82070F3158A2001D7A67 /* instrsax.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrsax.c; sourceTree = "<group>"; };
+		284A820A0F3158A2001D7A67 /* instrsaxall.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrsaxall.c; sourceTree = "<group>"; };
+		284A820D0F3158A2001D7A67 /* instrsaxfreq.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrsaxfreq.c; sourceTree = "<group>"; };
+		284A82100F3158A2001D7A67 /* instrsitar.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = instrsitar.c; sourceTree = "<group>"; };
+		284A82130F3158A2001D7A67 /* integrate.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = integrate.c; sourceTree = "<group>"; };
+		284A82160F3158A2001D7A67 /* log.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = log.c; sourceTree = "<group>"; };
+		284A82190F3158A2001D7A67 /* lpreson.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = lpreson.c; sourceTree = "<group>"; };
+		284A821C0F3158A2001D7A67 /* maxv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = maxv.c; sourceTree = "<group>"; };
+		284A821F0F3158A2001D7A67 /* offset.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = offset.c; sourceTree = "<group>"; };
+		284A82220F3158A2001D7A67 /* oneshot.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = oneshot.c; sourceTree = "<group>"; };
+		284A82250F3158A2001D7A67 /* osc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = osc.c; sourceTree = "<group>"; };
+		284A82280F3158A2001D7A67 /* partial.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = partial.c; sourceTree = "<group>"; };
+		284A822B0F3158A2001D7A67 /* pluck.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = pluck.c; sourceTree = "<group>"; };
+		284A822E0F3158A2001D7A67 /* prod.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = prod.c; sourceTree = "<group>"; };
+		284A82310F3158A2001D7A67 /* pwl.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = pwl.c; sourceTree = "<group>"; };
+		284A82340F3158A2001D7A67 /* quantize.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = quantize.c; sourceTree = "<group>"; };
+		284A82370F3158A2001D7A67 /* recip.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = recip.c; sourceTree = "<group>"; };
+		284A823A0F3158A2001D7A67 /* reson.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = reson.c; sourceTree = "<group>"; };
+		284A823D0F3158A2001D7A67 /* resoncv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = resoncv.c; sourceTree = "<group>"; };
+		284A82400F3158A2001D7A67 /* resonvc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = resonvc.c; sourceTree = "<group>"; };
+		284A82430F3158A2001D7A67 /* resonvv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = resonvv.c; sourceTree = "<group>"; };
+		284A82460F3158A2001D7A67 /* sampler.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sampler.c; sourceTree = "<group>"; };
+		284A82490F3158A2001D7A67 /* scale.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = scale.c; sourceTree = "<group>"; };
+		284A824C0F3158A2001D7A67 /* shape.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = shape.c; sourceTree = "<group>"; };
+		284A824F0F3158A2001D7A67 /* sine.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sine.c; sourceTree = "<group>"; };
+		284A82520F3158A2001D7A67 /* siosc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = siosc.c; sourceTree = "<group>"; };
+		284A82550F3158A2001D7A67 /* slope.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = slope.c; sourceTree = "<group>"; };
+		284A82580F3158A2001D7A67 /* sqrt.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sqrt.c; sourceTree = "<group>"; };
+		284A825B0F3158A2001D7A67 /* stkchorus.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = stkchorus.c; sourceTree = "<group>"; };
+		284A825E0F3158A2001D7A67 /* stkpitshift.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = stkpitshift.c; sourceTree = "<group>"; };
+		284A82610F3158A2001D7A67 /* stkrev.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = stkrev.c; sourceTree = "<group>"; };
+		284A82640F3158A2001D7A67 /* tapf.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = tapf.c; sourceTree = "<group>"; };
+		284A82670F3158A2001D7A67 /* tapv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = tapv.c; sourceTree = "<group>"; };
+		284A826A0F3158A2001D7A67 /* tone.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = tone.c; sourceTree = "<group>"; };
+		284A826D0F3158A2001D7A67 /* tonev.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = tonev.c; sourceTree = "<group>"; };
+		284A82720F3158A2001D7A67 /* upsample.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = upsample.c; sourceTree = "<group>"; };
+		284A82750F3158A2001D7A67 /* white.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = white.c; sourceTree = "<group>"; };
+		284A827B0F3158A2001D7A67 /* extern.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = extern.c; sourceTree = "<group>"; };
+		284A827F0F3158A2001D7A67 /* path.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = path.c; sourceTree = "<group>"; };
+		284A82800F3158A2001D7A67 /* xlbfun.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlbfun.c; sourceTree = "<group>"; };
+		284A82810F3158A2001D7A67 /* xlcont.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlcont.c; sourceTree = "<group>"; };
+		284A82820F3158A2001D7A67 /* xldbug.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xldbug.c; sourceTree = "<group>"; };
+		284A82830F3158A2001D7A67 /* xldmem.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xldmem.c; sourceTree = "<group>"; };
+		284A82850F3158A2001D7A67 /* xleval.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xleval.c; sourceTree = "<group>"; };
+		284A82860F3158A2001D7A67 /* xlfio.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlfio.c; sourceTree = "<group>"; };
+		284A82870F3158A2001D7A67 /* xlftab.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlftab.c; sourceTree = "<group>"; };
+		284A82880F3158A2001D7A67 /* xlglob.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlglob.c; sourceTree = "<group>"; };
+		284A82890F3158A2001D7A67 /* xlimage.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlimage.c; sourceTree = "<group>"; };
+		284A828A0F3158A2001D7A67 /* xlinit.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlinit.c; sourceTree = "<group>"; };
+		284A828B0F3158A2001D7A67 /* xlio.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlio.c; sourceTree = "<group>"; };
+		284A828C0F3158A2001D7A67 /* xlisp.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlisp.c; sourceTree = "<group>"; };
+		284A828E0F3158A2001D7A67 /* xljump.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xljump.c; sourceTree = "<group>"; };
+		284A828F0F3158A2001D7A67 /* xllist.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xllist.c; sourceTree = "<group>"; };
+		284A82900F3158A2001D7A67 /* xlmath.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlmath.c; sourceTree = "<group>"; };
+		284A82910F3158A2001D7A67 /* xlobj.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlobj.c; sourceTree = "<group>"; };
+		284A82920F3158A2001D7A67 /* xlpp.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlpp.c; sourceTree = "<group>"; };
+		284A82930F3158A2001D7A67 /* xlprin.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlprin.c; sourceTree = "<group>"; };
+		284A82940F3158A2001D7A67 /* xlread.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlread.c; sourceTree = "<group>"; };
+		284A82950F3158A2001D7A67 /* xlstr.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlstr.c; sourceTree = "<group>"; };
+		284A82960F3158A2001D7A67 /* xlsubr.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlsubr.c; sourceTree = "<group>"; };
+		284A82970F3158A2001D7A67 /* xlsym.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlsym.c; sourceTree = "<group>"; };
+		284A82980F3158A2001D7A67 /* xlsys.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = xlsys.c; sourceTree = "<group>"; };
+		284B278E0FC66863005EAC96 /* DevicePrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = DevicePrefs.cpp; sourceTree = "<group>"; };
+		284B278F0FC66863005EAC96 /* DevicePrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DevicePrefs.h; sourceTree = "<group>"; };
+		284B27900FC66863005EAC96 /* ImportExportPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ImportExportPrefs.cpp; sourceTree = "<group>"; };
+		284B27910FC66863005EAC96 /* ImportExportPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ImportExportPrefs.h; sourceTree = "<group>"; };
+		284B27920FC66863005EAC96 /* LibraryPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = LibraryPrefs.cpp; sourceTree = "<group>"; };
+		284B27930FC66863005EAC96 /* LibraryPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = LibraryPrefs.h; sourceTree = "<group>"; };
+		284B27940FC66863005EAC96 /* PlaybackPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = PlaybackPrefs.cpp; sourceTree = "<group>"; };
+		284B27950FC66863005EAC96 /* PlaybackPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PlaybackPrefs.h; sourceTree = "<group>"; };
+		284B27960FC66863005EAC96 /* ProjectsPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectsPrefs.cpp; sourceTree = "<group>"; };
+		284B27970FC66863005EAC96 /* ProjectsPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ProjectsPrefs.h; sourceTree = "<group>"; };
+		284B27980FC66863005EAC96 /* RecordingPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = RecordingPrefs.cpp; sourceTree = "<group>"; };
+		284B27990FC66863005EAC96 /* RecordingPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = RecordingPrefs.h; sourceTree = "<group>"; };
+		284B27E00FC66CCD005EAC96 /* TracksPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = TracksPrefs.cpp; sourceTree = "<group>"; };
+		284B27E10FC66CCD005EAC96 /* TracksPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = TracksPrefs.h; sourceTree = "<group>"; };
+		284B27E20FC66CCD005EAC96 /* WarningsPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = WarningsPrefs.cpp; sourceTree = "<group>"; };
+		284B27E30FC66CCD005EAC96 /* WarningsPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WarningsPrefs.h; sourceTree = "<group>"; };
 		28501E970CEECE910029ABAA /* LoadVamp.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = LoadVamp.cpp; path = vamp/LoadVamp.cpp; sourceTree = "<group>"; };
 		28501E980CEECE920029ABAA /* LoadVamp.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = LoadVamp.h; path = vamp/LoadVamp.h; sourceTree = "<group>"; };
 		28501E990CEECE920029ABAA /* VampEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = VampEffect.cpp; path = vamp/VampEffect.cpp; sourceTree = "<group>"; };
@@ -2652,6 +3023,12 @@
 		287BD9D00E25E02C00CB4467 /* value.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = value.c; path = slv2/src/value.c; sourceTree = "<group>"; };
 		287BD9D10E25E02C00CB4467 /* values.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = values.c; path = slv2/src/values.c; sourceTree = "<group>"; };
 		287BD9D20E25E02C00CB4467 /* world.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = world.c; path = slv2/src/world.c; sourceTree = "<group>"; };
+		287DBE830F3F6B2700C5BBED /* audio_detect.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = audio_detect.c; sourceTree = "<group>"; };
+		287DBE840F3F6B2700C5BBED /* chunk.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = chunk.c; sourceTree = "<group>"; };
+		287DBE850F3F6B2700C5BBED /* ima_oki_adpcm.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = ima_oki_adpcm.c; sourceTree = "<group>"; };
+		287DBE860F3F6B2700C5BBED /* ima_oki_adpcm.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ima_oki_adpcm.h; sourceTree = "<group>"; };
+		287DBE870F3F6B2700C5BBED /* mpc2k.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = mpc2k.c; sourceTree = "<group>"; };
+		287DBE880F3F6B2700C5BBED /* rf64.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = rf64.c; sourceTree = "<group>"; };
 		287F9F3B0A69748F00F025FA /* TimeDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimeDialog.h; sourceTree = "<group>"; };
 		287F9F3C0A69748F00F025FA /* TimeDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeDialog.cpp; sourceTree = "<group>"; };
 		2880527E0DEA694100671EA4 /* mod-script-pipe.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "mod-script-pipe.so"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2662,6 +3039,9 @@
 		288052BC0DEA72F300671EA4 /* NonGuiThread.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = NonGuiThread.cpp; path = "lib-widget-extra/NonGuiThread.cpp"; sourceTree = "<group>"; };
 		288217790A35D8730029AF41 /* ShuttlePrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ShuttlePrefs.cpp; sourceTree = "<group>"; };
 		2882177A0A35D8730029AF41 /* ShuttlePrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ShuttlePrefs.h; sourceTree = "<group>"; };
+		2885BFF10FC108F800128165 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = aeffectx.h; path = VST/aeffectx.h; sourceTree = "<group>"; };
+		2885BFF20FC108F800128165 /* LoadVST.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = LoadVST.cpp; path = VST/LoadVST.cpp; sourceTree = "<group>"; };
+		2885BFF30FC108F800128165 /* LoadVST.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = LoadVST.h; path = VST/LoadVST.h; sourceTree = "<group>"; };
 		2891B2850C531D2C0044FBE3 /* FindClipping.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = FindClipping.cpp; sourceTree = "<group>"; };
 		2891B2860C531D2C0044FBE3 /* FindClipping.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = FindClipping.h; sourceTree = "<group>"; };
 		2897F6DC0AB3DB5A003C20C5 /* ControlToolBar.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ControlToolBar.cpp; sourceTree = "<group>"; };
@@ -2686,8 +3066,16 @@
 		2897F6EF0AB3DB5A003C20C5 /* TranscriptionToolBar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = TranscriptionToolBar.h; sourceTree = "<group>"; };
 		2897F6FC0AB3DCD0003C20C5 /* Grabber.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Grabber.cpp; sourceTree = "<group>"; };
 		2897F6FD0AB3DCD0003C20C5 /* Grabber.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Grabber.h; sourceTree = "<group>"; };
+		289E75081006D0BD00CEF79B /* MixerBoard.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = MixerBoard.cpp; sourceTree = "<group>"; };
+		289E75091006D0BD00CEF79B /* MixerBoard.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = MixerBoard.h; sourceTree = "<group>"; };
 		289F9C7C0AC671BB00797DC1 /* DeviceToolBar.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = DeviceToolBar.cpp; sourceTree = "<group>"; };
 		289F9C7D0AC671BB00797DC1 /* DeviceToolBar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DeviceToolBar.h; sourceTree = "<group>"; };
+		28A4E2A40F60319300E9E7F2 /* fftext.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = fftext.c; path = ffts/src/fftext.c; sourceTree = "<group>"; };
+		28A4E2A50F60319300E9E7F2 /* fftext.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = fftext.h; path = ffts/src/fftext.h; sourceTree = "<group>"; };
+		28A4E2A60F60319300E9E7F2 /* fftlib.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = fftlib.c; path = ffts/src/fftlib.c; sourceTree = "<group>"; };
+		28A4E2A70F60319300E9E7F2 /* fftlib.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = fftlib.h; path = ffts/src/fftlib.h; sourceTree = "<group>"; };
+		28A4E2AA0F60319300E9E7F2 /* matlib.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = matlib.c; path = ffts/src/matlib.c; sourceTree = "<group>"; };
+		28A4E2AB0F60319300E9E7F2 /* matlib.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = matlib.h; path = ffts/src/matlib.h; sourceTree = "<group>"; };
 		28A520510C12BE0300BF6811 /* pa_debugprint.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = pa_debugprint.c; sourceTree = "<group>"; };
 		28A520520C12BE0300BF6811 /* pa_debugprint.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = pa_debugprint.h; sourceTree = "<group>"; };
 		28A520530C12BE0300BF6811 /* pa_ringbuffer.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = pa_ringbuffer.c; sourceTree = "<group>"; };
@@ -2708,30 +3096,23 @@
 		28AA281F0F267A2D008AED9E /* tremolo.ny */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = tremolo.ny; path = "../plug-ins/tremolo.ny"; sourceTree = SOURCE_ROOT; };
 		28AA28200F267A2D008AED9E /* vocalremover.ny */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = vocalremover.ny; path = "../plug-ins/vocalremover.ny"; sourceTree = SOURCE_ROOT; };
 		28AA28210F267A2D008AED9E /* vocoder.ny */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = vocoder.ny; path = "../plug-ins/vocoder.ny"; sourceTree = SOURCE_ROOT; };
-		28AA28330F267A6E008AED9E /* bug.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = bug.lsp; path = ../nyquist/bug.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28340F267A6E008AED9E /* dspprims.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = dspprims.lsp; path = ../nyquist/dspprims.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28350F267A6E008AED9E /* evalenv.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = evalenv.lsp; path = ../nyquist/evalenv.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28360F267A6E008AED9E /* follow.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = follow.lsp; path = ../nyquist/follow.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28370F267A6E008AED9E /* init.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = init.lsp; path = ../nyquist/init.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28380F267A6E008AED9E /* misc.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = misc.lsp; path = ../nyquist/misc.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28390F267A6E008AED9E /* nyinit.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = nyinit.lsp; path = ../nyquist/nyinit.lsp; sourceTree = SOURCE_ROOT; };
-		28AA283A0F267A6E008AED9E /* nyqmisc.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = nyqmisc.lsp; path = ../nyquist/nyqmisc.lsp; sourceTree = SOURCE_ROOT; };
-		28AA283B0F267A6E008AED9E /* nyquist.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = nyquist.lsp; path = ../nyquist/nyquist.lsp; sourceTree = SOURCE_ROOT; };
-		28AA283C0F267A6E008AED9E /* printrec.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = printrec.lsp; path = ../nyquist/printrec.lsp; sourceTree = SOURCE_ROOT; };
-		28AA283D0F267A6E008AED9E /* profile.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = profile.lsp; path = ../nyquist/profile.lsp; sourceTree = SOURCE_ROOT; };
-		28AA283E0F267A6E008AED9E /* seq.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = seq.lsp; path = ../nyquist/seq.lsp; sourceTree = SOURCE_ROOT; };
-		28AA283F0F267A6E008AED9E /* seqfnint.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = seqfnint.lsp; path = ../nyquist/seqfnint.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28400F267A6E008AED9E /* seqmidi.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = seqmidi.lsp; path = ../nyquist/seqmidi.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28410F267A6E008AED9E /* sndfnint.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = sndfnint.lsp; path = ../nyquist/sndfnint.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28420F267A6E008AED9E /* system.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = system.lsp; path = ../nyquist/system.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28430F267A6E008AED9E /* test.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = test.lsp; path = ../nyquist/test.lsp; sourceTree = SOURCE_ROOT; };
-		28AA28440F267A6E008AED9E /* xlinit.lsp */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = xlinit.lsp; path = ../nyquist/xlinit.lsp; sourceTree = SOURCE_ROOT; };
 		28B6ED8D0DE3D1B50046F0F3 /* LoadModules.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = LoadModules.cpp; sourceTree = "<group>"; };
 		28B6ED8E0DE3D1B50046F0F3 /* LoadModules.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = LoadModules.h; sourceTree = "<group>"; };
-		28D025570AFDA53B0035F843 /* alpasscv.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = alpasscv.c; sourceTree = "<group>"; };
-		28D025580AFDA53B0035F843 /* alpasscv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = alpasscv.h; sourceTree = "<group>"; };
-		28D025590AFDA53B0035F843 /* alpassvc.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = alpassvc.c; sourceTree = "<group>"; };
-		28D0255A0AFDA53B0035F843 /* alpassvc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = alpassvc.h; sourceTree = "<group>"; };
+		28B97B850FBF771A0076CF28 /* VSTEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = VSTEffect.cpp; path = VST/VSTEffect.cpp; sourceTree = "<group>"; };
+		28B97B860FBF771A0076CF28 /* VSTEffect.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = VSTEffect.h; path = VST/VSTEffect.h; sourceTree = "<group>"; };
+		28CCDCFF0F939FD70081F2FC /* FileHistory.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = FileHistory.cpp; sourceTree = "<group>"; };
+		28CCDD040F93A0B20081F2FC /* FileHistory.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = FileHistory.h; sourceTree = "<group>"; };
+		28D53FFA0FD1912A00FA7C75 /* AppCommandEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = AppCommandEvent.cpp; sourceTree = "<group>"; };
+		28D53FFB0FD1912A00FA7C75 /* AppCommandEvent.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AppCommandEvent.h; sourceTree = "<group>"; };
+		28D53FFC0FD1912A00FA7C75 /* BatchEvalCommand.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = BatchEvalCommand.h; sourceTree = "<group>"; };
+		28D53FFD0FD1912A00FA7C75 /* Command.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Command.h; sourceTree = "<group>"; };
+		28D53FFE0FD1912A00FA7C75 /* CommandBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = CommandBuilder.cpp; sourceTree = "<group>"; };
+		28D53FFF0FD1912A00FA7C75 /* CommandBuilder.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = CommandBuilder.h; sourceTree = "<group>"; };
+		28D540000FD1912A00FA7C75 /* CommandHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = CommandHandler.cpp; sourceTree = "<group>"; };
+		28D540010FD1912A00FA7C75 /* CommandHandler.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = CommandHandler.h; sourceTree = "<group>"; };
+		28D540020FD1912A00FA7C75 /* DebugPrintCommand.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DebugPrintCommand.h; sourceTree = "<group>"; };
+		28D540030FD1912A00FA7C75 /* ScriptCommandRelay.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptCommandRelay.cpp; sourceTree = "<group>"; };
+		28D540040FD1912A00FA7C75 /* ScriptCommandRelay.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ScriptCommandRelay.h; sourceTree = "<group>"; };
 		28D587C70E264CF3009C7DEA /* LoadLV2.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = LoadLV2.cpp; path = lv2/LoadLV2.cpp; sourceTree = "<group>"; };
 		28D587C80E264CF3009C7DEA /* LoadLV2.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = LoadLV2.h; path = lv2/LoadLV2.h; sourceTree = "<group>"; };
 		28D587C90E264CF4009C7DEA /* LV2Effect.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; name = LV2Effect.cpp; path = lv2/LV2Effect.cpp; sourceTree = "<group>"; };
@@ -2744,6 +3125,10 @@
 		28D65C750B97E573000E001A /* DtmfGen.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DtmfGen.h; sourceTree = "<group>"; };
 		28DA07370E4F5CEC003933C5 /* ExportFFmpegDialogs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ExportFFmpegDialogs.h; sourceTree = "<group>"; };
 		28DA07380E4F5CEC003933C5 /* ExportFFmpegDialogs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ExportFFmpegDialogs.cpp; sourceTree = "<group>"; };
+		28DABFBC0FF19DB100AC7848 /* RealFFTf.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = RealFFTf.cpp; sourceTree = "<group>"; };
+		28DABFBD0FF19DB100AC7848 /* RealFFTf.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = RealFFTf.h; sourceTree = "<group>"; };
+		28DB34770FDC2C5D0011F589 /* ResponseQueue.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ResponseQueue.h; sourceTree = "<group>"; };
+		28DB34780FDC2C5D0011F589 /* ResponseQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = ResponseQueue.cpp; sourceTree = "<group>"; };
 		28E237080E515D1D00281398 /* libscorealign.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libscorealign.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		28E3E6E60A7C14CA00AB1361 /* ExportFLAC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExportFLAC.h; sourceTree = "<group>"; };
 		28E3E6E70A7C14CA00AB1361 /* ExportFLAC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExportFLAC.cpp; sourceTree = "<group>"; };
@@ -2786,10 +3171,180 @@
 		28EA56620D9753B000C8D1B6 /* window.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = window.c; sourceTree = "<group>"; };
 		28EA567C0D976E9500C8D1B6 /* pa_unix_hostapis.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = pa_unix_hostapis.c; sourceTree = "<group>"; };
 		28EA567E0D976EE700C8D1B6 /* pa_memorybarrier.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = pa_memorybarrier.h; sourceTree = "<group>"; };
-		28EB47D30AFD542100502984 /* abs.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = abs.c; sourceTree = "<group>"; };
-		28EB47D50AFD547600502984 /* sqrt.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; path = sqrt.c; sourceTree = "<group>"; };
-		28EB47D70AFD54B800502984 /* abs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = abs.h; sourceTree = "<group>"; };
-		28EB47D80AFD54B800502984 /* sqrt.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sqrt.h; sourceTree = "<group>"; };
+		28EB749C0FDC2DF50046D78E /* userio.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = userio.h; sourceTree = "<group>"; };
+		28EB749D0FDC2DF50046D78E /* timebase.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = timebase.h; sourceTree = "<group>"; };
+		28EB749E0FDC2DF50046D78E /* tempomap.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tempomap.h; sourceTree = "<group>"; };
+		28EB749F0FDC2DF50046D78E /* seqwrite.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqwrite.h; sourceTree = "<group>"; };
+		28EB74A00FDC2DF50046D78E /* seqread.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqread.h; sourceTree = "<group>"; };
+		28EB74A10FDC2DF50046D78E /* seqmwrite.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqmwrite.h; sourceTree = "<group>"; };
+		28EB74A20FDC2DF50046D78E /* seqmread.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqmread.h; sourceTree = "<group>"; };
+		28EB74A30FDC2DF50046D78E /* seq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seq.h; sourceTree = "<group>"; };
+		28EB74A40FDC2DF50046D78E /* record.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = record.h; sourceTree = "<group>"; };
+		28EB74A50FDC2DF50046D78E /* moxc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = moxc.h; sourceTree = "<group>"; };
+		28EB74A60FDC2DF50046D78E /* midifns.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = midifns.h; sourceTree = "<group>"; };
+		28EB74A70FDC2DF50046D78E /* midifile.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = midifile.h; sourceTree = "<group>"; };
+		28EB74A80FDC2DF50046D78E /* mem.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = "<group>"; };
+		28EB74A90FDC2DF50046D78E /* cmtcmd.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = cmtcmd.h; sourceTree = "<group>"; };
+		28EB74AA0FDC2DF50046D78E /* cmdline.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = cmdline.h; sourceTree = "<group>"; };
+		28EB74AB0FDC2DF50046D78E /* cleanup.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = cleanup.h; sourceTree = "<group>"; };
+		28EB74AC0FDC2DF50046D78E /* cext.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = cext.h; sourceTree = "<group>"; };
+		28EB74BE0FDC2EDE0046D78E /* add.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = add.h; sourceTree = "<group>"; };
+		28EB74BF0FDC2EDE0046D78E /* avg.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = avg.h; sourceTree = "<group>"; };
+		28EB74C00FDC2EDE0046D78E /* compose.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = compose.h; sourceTree = "<group>"; };
+		28EB74C10FDC2EDE0046D78E /* convolve.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = convolve.h; sourceTree = "<group>"; };
+		28EB74C20FDC2EDE0046D78E /* cque.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = cque.h; sourceTree = "<group>"; };
+		28EB74C30FDC2EDE0046D78E /* debug.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = "<group>"; };
+		28EB74C40FDC2EDE0046D78E /* downsample.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = downsample.h; sourceTree = "<group>"; };
+		28EB74C50FDC2EDE0046D78E /* falloc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = falloc.h; sourceTree = "<group>"; };
+		28EB74C60FDC2EDE0046D78E /* ffilterkit.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ffilterkit.h; sourceTree = "<group>"; };
+		28EB74C70FDC2EDE0046D78E /* fft.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = "<group>"; };
+		28EB74C80FDC2EDE0046D78E /* inverse.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = inverse.h; sourceTree = "<group>"; };
+		28EB74C90FDC2EDE0046D78E /* localdefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = localdefs.h; sourceTree = "<group>"; };
+		28EB74CA0FDC2EDE0046D78E /* localptrs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = localptrs.h; sourceTree = "<group>"; };
+		28EB74CB0FDC2EDE0046D78E /* lpanal.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = lpanal.h; sourceTree = "<group>"; };
+		28EB74CC0FDC2EDE0046D78E /* multiread.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = multiread.h; sourceTree = "<group>"; };
+		28EB74CD0FDC2EDE0046D78E /* multiseq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = multiseq.h; sourceTree = "<group>"; };
+		28EB74CE0FDC2EDE0046D78E /* probe.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = probe.h; sourceTree = "<group>"; };
+		28EB74CF0FDC2EDE0046D78E /* resamp.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = resamp.h; sourceTree = "<group>"; };
+		28EB74D00FDC2EDE0046D78E /* resampv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = resampv.h; sourceTree = "<group>"; };
+		28EB74D10FDC2EDE0046D78E /* samples.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = samples.h; sourceTree = "<group>"; };
+		28EB74D20FDC2EDE0046D78E /* seqext.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqext.h; sourceTree = "<group>"; };
+		28EB74D30FDC2EDE0046D78E /* seqfnintdefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqfnintdefs.h; sourceTree = "<group>"; };
+		28EB74D40FDC2EDE0046D78E /* seqfnintptrs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqfnintptrs.h; sourceTree = "<group>"; };
+		28EB74D50FDC2EDE0046D78E /* seqinterf.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = seqinterf.h; sourceTree = "<group>"; };
+		28EB74D60FDC2EDE0046D78E /* sliders.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sliders.h; sourceTree = "<group>"; };
+		28EB74D70FDC2EDE0046D78E /* sndfnintdefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sndfnintdefs.h; sourceTree = "<group>"; };
+		28EB74D80FDC2EDE0046D78E /* sndfnintptrs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sndfnintptrs.h; sourceTree = "<group>"; };
+		28EB74D90FDC2EDE0046D78E /* sndmax.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sndmax.h; sourceTree = "<group>"; };
+		28EB74DA0FDC2EDE0046D78E /* sndread.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sndread.h; sourceTree = "<group>"; };
+		28EB74DB0FDC2EDE0046D78E /* sndseq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sndseq.h; sourceTree = "<group>"; };
+		28EB74DC0FDC2EDE0046D78E /* sound.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = "<group>"; };
+		28EB74DD0FDC2EDE0046D78E /* trigger.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = trigger.h; sourceTree = "<group>"; };
+		28EB74DE0FDC2EDE0046D78E /* yin.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = yin.h; sourceTree = "<group>"; };
+		28EB75040FDC2FB10046D78E /* ADSR.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ADSR.h; sourceTree = "<group>"; };
+		28EB75050FDC2FB10046D78E /* BandedWG.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = BandedWG.h; sourceTree = "<group>"; };
+		28EB75060FDC2FB10046D78E /* BiQuad.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = BiQuad.h; sourceTree = "<group>"; };
+		28EB75070FDC2FB10046D78E /* Bowed.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Bowed.h; sourceTree = "<group>"; };
+		28EB75080FDC2FB10046D78E /* BowTable.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = BowTable.h; sourceTree = "<group>"; };
+		28EB75090FDC2FB10046D78E /* Chorus.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Chorus.h; sourceTree = "<group>"; };
+		28EB750A0FDC2FB10046D78E /* Clarinet.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Clarinet.h; sourceTree = "<group>"; };
+		28EB750B0FDC2FB10046D78E /* Delay.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Delay.h; sourceTree = "<group>"; };
+		28EB750C0FDC2FB10046D78E /* DelayA.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DelayA.h; sourceTree = "<group>"; };
+		28EB750D0FDC2FB10046D78E /* DelayL.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = DelayL.h; sourceTree = "<group>"; };
+		28EB750E0FDC2FB10046D78E /* Effect.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Effect.h; sourceTree = "<group>"; };
+		28EB750F0FDC2FB10046D78E /* Envelope.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Envelope.h; sourceTree = "<group>"; };
+		28EB75100FDC2FB10046D78E /* FileRead.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = FileRead.h; sourceTree = "<group>"; };
+		28EB75110FDC2FB10046D78E /* FileWvIn.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = FileWvIn.h; sourceTree = "<group>"; };
+		28EB75120FDC2FB10046D78E /* Filter.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Filter.h; sourceTree = "<group>"; };
+		28EB75130FDC2FB10046D78E /* Flute.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Flute.h; sourceTree = "<group>"; };
+		28EB75140FDC2FB10046D78E /* Function.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Function.h; sourceTree = "<group>"; };
+		28EB75150FDC2FB10046D78E /* Generator.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Generator.h; sourceTree = "<group>"; };
+		28EB75160FDC2FB10046D78E /* Instrmnt.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Instrmnt.h; sourceTree = "<group>"; };
+		28EB75170FDC2FB10046D78E /* JCRev.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = JCRev.h; sourceTree = "<group>"; };
+		28EB75180FDC2FB10046D78E /* JetTable.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = JetTable.h; sourceTree = "<group>"; };
+		28EB75190FDC2FB10046D78E /* Mandolin.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Mandolin.h; sourceTree = "<group>"; };
+		28EB751A0FDC2FB10046D78E /* Modal.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Modal.h; sourceTree = "<group>"; };
+		28EB751B0FDC2FB10046D78E /* ModalBar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ModalBar.h; sourceTree = "<group>"; };
+		28EB751C0FDC2FB10046D78E /* Noise.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Noise.h; sourceTree = "<group>"; };
+		28EB751D0FDC2FB10046D78E /* NRev.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = NRev.h; sourceTree = "<group>"; };
+		28EB751E0FDC2FB10046D78E /* OnePole.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = OnePole.h; sourceTree = "<group>"; };
+		28EB751F0FDC2FB10046D78E /* OneZero.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = OneZero.h; sourceTree = "<group>"; };
+		28EB75200FDC2FB10046D78E /* PitShift.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PitShift.h; sourceTree = "<group>"; };
+		28EB75210FDC2FB10046D78E /* PluckTwo.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PluckTwo.h; sourceTree = "<group>"; };
+		28EB75220FDC2FB10046D78E /* PoleZero.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PoleZero.h; sourceTree = "<group>"; };
+		28EB75230FDC2FB10046D78E /* PRCRev.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = PRCRev.h; sourceTree = "<group>"; };
+		28EB75240FDC2FB10046D78E /* ReedTable.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ReedTable.h; sourceTree = "<group>"; };
+		28EB75250FDC2FB10046D78E /* Saxofony.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Saxofony.h; sourceTree = "<group>"; };
+		28EB75260FDC2FB10046D78E /* SineWave.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = SineWave.h; sourceTree = "<group>"; };
+		28EB75270FDC2FB10046D78E /* Sitar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Sitar.h; sourceTree = "<group>"; };
+		28EB75280FDC2FB10046D78E /* SKINI.msg */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text; path = SKINI.msg; sourceTree = "<group>"; };
+		28EB75290FDC2FB10046D78E /* Stk.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Stk.h; sourceTree = "<group>"; };
+		28EB752A0FDC2FB10046D78E /* WaveLoop.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WaveLoop.h; sourceTree = "<group>"; };
+		28EB752B0FDC2FB10046D78E /* WvIn.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WvIn.h; sourceTree = "<group>"; };
+		28EB752C0FDC2FB10046D78E /* instr.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instr.h; sourceTree = "<group>"; };
+		28EB752D0FDC2FB10046D78E /* stkinit.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = stkinit.h; sourceTree = "<group>"; };
+		28EB752E0FDC2FB10046D78E /* stkint.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = stkint.h; sourceTree = "<group>"; };
+		28EB75590FDC300C0046D78E /* abs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = abs.h; sourceTree = "<group>"; };
+		28EB755A0FDC300C0046D78E /* allpoles.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = allpoles.h; sourceTree = "<group>"; };
+		28EB755B0FDC300C0046D78E /* alpass.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = alpass.h; sourceTree = "<group>"; };
+		28EB755C0FDC300C0046D78E /* alpasscv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = alpasscv.h; sourceTree = "<group>"; };
+		28EB755D0FDC300C0046D78E /* alpassvv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = alpassvv.h; sourceTree = "<group>"; };
+		28EB755E0FDC300C0046D78E /* amosc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = amosc.h; sourceTree = "<group>"; };
+		28EB755F0FDC300C0046D78E /* areson.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = areson.h; sourceTree = "<group>"; };
+		28EB75600FDC300C0046D78E /* aresoncv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = aresoncv.h; sourceTree = "<group>"; };
+		28EB75610FDC300C0046D78E /* aresonvc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = aresonvc.h; sourceTree = "<group>"; };
+		28EB75620FDC300C0046D78E /* aresonvv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = aresonvv.h; sourceTree = "<group>"; };
+		28EB75630FDC300C0046D78E /* atone.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = atone.h; sourceTree = "<group>"; };
+		28EB75640FDC300C0046D78E /* atonev.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = atonev.h; sourceTree = "<group>"; };
+		28EB75650FDC300C0046D78E /* biquadfilt.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = biquadfilt.h; sourceTree = "<group>"; };
+		28EB75660FDC300C0046D78E /* buzz.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = buzz.h; sourceTree = "<group>"; };
+		28EB75750FDC30C60046D78E /* chase.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = chase.h; sourceTree = "<group>"; };
+		28EB75760FDC30C60046D78E /* clip.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = clip.h; sourceTree = "<group>"; };
+		28EB75770FDC30C60046D78E /* congen.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = congen.h; sourceTree = "<group>"; };
+		28EB75780FDC30C60046D78E /* const.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = const.h; sourceTree = "<group>"; };
+		28EB75790FDC30C60046D78E /* coterm.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = coterm.h; sourceTree = "<group>"; };
+		28EB757A0FDC30C60046D78E /* delaycc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = delaycc.h; sourceTree = "<group>"; };
+		28EB757B0FDC30C60046D78E /* delaycv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = delaycv.h; sourceTree = "<group>"; };
+		28EB757C0FDC30C60046D78E /* eqbandvvv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = eqbandvvv.h; sourceTree = "<group>"; };
+		28EB757D0FDC30C60046D78E /* exp.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = exp.h; sourceTree = "<group>"; };
+		28EB757E0FDC30C60046D78E /* fmfb.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fmfb.h; sourceTree = "<group>"; };
+		28EB757F0FDC30C60046D78E /* fmfbv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fmfbv.h; sourceTree = "<group>"; };
+		28EB75800FDC30C60046D78E /* fmosc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fmosc.h; sourceTree = "<group>"; };
+		28EB75810FDC30C60046D78E /* follow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = follow.h; sourceTree = "<group>"; };
+		28EB75820FDC30C60046D78E /* fromarraystream.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fromarraystream.h; sourceTree = "<group>"; };
+		28EB75830FDC30C60046D78E /* fromobject.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = fromobject.h; sourceTree = "<group>"; };
+		28EB75840FDC30C60046D78E /* gate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = gate.h; sourceTree = "<group>"; };
+		28EB75850FDC30C60046D78E /* ifft.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = ifft.h; sourceTree = "<group>"; };
+		28EB75860FDC30C60046D78E /* instrbanded.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrbanded.h; sourceTree = "<group>"; };
+		28EB75870FDC30C60046D78E /* instrbow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrbow.h; sourceTree = "<group>"; };
+		28EB75880FDC30C60046D78E /* instrbowedfreq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrbowedfreq.h; sourceTree = "<group>"; };
+		28EB75890FDC30C60046D78E /* instrclar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrclar.h; sourceTree = "<group>"; };
+		28EB758A0FDC30C60046D78E /* instrclarall.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrclarall.h; sourceTree = "<group>"; };
+		28EB758B0FDC30C60046D78E /* instrclarfreq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrclarfreq.h; sourceTree = "<group>"; };
+		28EB758C0FDC30C60046D78E /* instrflute.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrflute.h; sourceTree = "<group>"; };
+		28EB758D0FDC30C60046D78E /* instrfluteall.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrfluteall.h; sourceTree = "<group>"; };
+		28EB758E0FDC30C60046D78E /* instrflutefreq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrflutefreq.h; sourceTree = "<group>"; };
+		28EB758F0FDC30C60046D78E /* instrmandolin.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrmandolin.h; sourceTree = "<group>"; };
+		28EB75900FDC30C60046D78E /* instrmodalbar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrmodalbar.h; sourceTree = "<group>"; };
+		28EB75910FDC30C60046D78E /* instrsax.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrsax.h; sourceTree = "<group>"; };
+		28EB75920FDC30C60046D78E /* instrsaxall.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrsaxall.h; sourceTree = "<group>"; };
+		28EB75930FDC30C60046D78E /* instrsaxfreq.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrsaxfreq.h; sourceTree = "<group>"; };
+		28EB75940FDC30C60046D78E /* instrsitar.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = instrsitar.h; sourceTree = "<group>"; };
+		28EB75950FDC30C60046D78E /* integrate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = integrate.h; sourceTree = "<group>"; };
+		28EB75960FDC30C60046D78E /* log.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
+		28EB75970FDC30C60046D78E /* lpreson.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = lpreson.h; sourceTree = "<group>"; };
+		28EB75980FDC30C60046D78E /* maxv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = maxv.h; sourceTree = "<group>"; };
+		28EB75990FDC30C60046D78E /* offset.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = offset.h; sourceTree = "<group>"; };
+		28EB759A0FDC30C60046D78E /* oneshot.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = oneshot.h; sourceTree = "<group>"; };
+		28EB759B0FDC30C60046D78E /* osc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = osc.h; sourceTree = "<group>"; };
+		28EB759C0FDC30C60046D78E /* partial.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = partial.h; sourceTree = "<group>"; };
+		28EB759D0FDC30C60046D78E /* pluck.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = pluck.h; sourceTree = "<group>"; };
+		28EB759E0FDC30C60046D78E /* prod.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = prod.h; sourceTree = "<group>"; };
+		28EB759F0FDC30C60046D78E /* pwl.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = pwl.h; sourceTree = "<group>"; };
+		28EB75A00FDC30C60046D78E /* quantize.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = quantize.h; sourceTree = "<group>"; };
+		28EB75A10FDC30C60046D78E /* recip.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = recip.h; sourceTree = "<group>"; };
+		28EB75A20FDC30C60046D78E /* reson.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = reson.h; sourceTree = "<group>"; };
+		28EB75A30FDC30C60046D78E /* resoncv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = resoncv.h; sourceTree = "<group>"; };
+		28EB75A40FDC30C60046D78E /* resonvc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = resonvc.h; sourceTree = "<group>"; };
+		28EB75A50FDC30C60046D78E /* resonvv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = resonvv.h; sourceTree = "<group>"; };
+		28EB75A60FDC30C60046D78E /* sampler.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sampler.h; sourceTree = "<group>"; };
+		28EB75A70FDC30C60046D78E /* scale.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = scale.h; sourceTree = "<group>"; };
+		28EB75A80FDC30C60046D78E /* shape.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = shape.h; sourceTree = "<group>"; };
+		28EB75A90FDC30C60046D78E /* sine.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sine.h; sourceTree = "<group>"; };
+		28EB75AA0FDC30C60046D78E /* siosc.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = siosc.h; sourceTree = "<group>"; };
+		28EB75AB0FDC30C60046D78E /* slope.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = slope.h; sourceTree = "<group>"; };
+		28EB75AC0FDC30C60046D78E /* sqrt.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = sqrt.h; sourceTree = "<group>"; };
+		28EB75AD0FDC30C60046D78E /* stkchorus.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = stkchorus.h; sourceTree = "<group>"; };
+		28EB75AE0FDC30C60046D78E /* stkpitshift.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = stkpitshift.h; sourceTree = "<group>"; };
+		28EB75AF0FDC30C60046D78E /* stkrev.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = stkrev.h; sourceTree = "<group>"; };
+		28EB75B00FDC30C60046D78E /* tapf.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tapf.h; sourceTree = "<group>"; };
+		28EB75B10FDC30C60046D78E /* tapv.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tapv.h; sourceTree = "<group>"; };
+		28EB75B20FDC30C60046D78E /* tone.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tone.h; sourceTree = "<group>"; };
+		28EB75B30FDC30C60046D78E /* tonev.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = tonev.h; sourceTree = "<group>"; };
+		28EB75B40FDC30C60046D78E /* upsample.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = upsample.h; sourceTree = "<group>"; };
+		28EB75B50FDC30C60046D78E /* white.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = white.h; sourceTree = "<group>"; };
+		28EB75F70FDC322A0046D78E /* xldmem.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = xldmem.h; sourceTree = "<group>"; };
+		28EB75F80FDC322A0046D78E /* xlisp.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = xlisp.h; sourceTree = "<group>"; };
 		28EBA7FA0A78FADE00C8BB1F /* Repair.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = Repair.cpp; sourceTree = "<group>"; };
 		28EBA7FB0A78FADE00C8BB1F /* Repair.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = Repair.h; sourceTree = "<group>"; };
 		28EBA7FD0A78FAF800C8BB1F /* InterpolateAudio.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = InterpolateAudio.cpp; sourceTree = "<group>"; };
@@ -2826,8 +3381,6 @@
 		28F5C1100BE5886A00D17341 /* FileDialogPrivate.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = FileDialogPrivate.h; sourceTree = "<group>"; };
 		28FB121F0A3790A8006F0917 /* MacroMagic.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = MacroMagic.h; sourceTree = "<group>"; };
 		28FB12230A3790DF006F0917 /* AllThemeResources.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = AllThemeResources.h; sourceTree = "<group>"; };
-		28FB20330C415D9500F769E7 /* SmartRecordPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = SmartRecordPrefs.cpp; sourceTree = "<group>"; };
-		28FB20340C415D9500F769E7 /* SmartRecordPrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = SmartRecordPrefs.h; sourceTree = "<group>"; };
 		28FC1AF90A47762C00A188AE /* WrappedType.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = WrappedType.cpp; sourceTree = "<group>"; };
 		28FC1AFA0A47762C00A188AE /* WrappedType.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WrappedType.h; sourceTree = "<group>"; };
 		28FE4A060ABF4E960056F5C4 /* mmx_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.cpp.cpp; path = mmx_optimized.cpp; sourceTree = "<group>"; };
@@ -2894,13 +3447,6 @@
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
-		170741410988FDB3008541CC /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		1790AFAE09883B6D008A330A /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -2922,6 +3468,22 @@
 				28501F330CEED8C70029ABAA /* libvamp.a in Frameworks */,
 				28E2373A0E5163A200281398 /* libscorealign.a in Frameworks */,
 				ED2707460EF9C550007D4FFD /* liblibsbsms.a in Frameworks */,
+				2837549C0F42898E00364787 /* libtaglib.a in Frameworks */,
+				2800FE230FF32381005CA9E5 /* libportmidi.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		2800FE050FF322D4005CA9E5 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		283753E20F42875100364787 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2945,21 +3507,23 @@
 				17072F6A0988D6A9008541CC /* libid3tag */,
 				280DE5D80E163488006159ED /* liblrdf */,
 				17072FD10988D6A9008541CC /* libmad */,
+				17C8BA11098B398C00216F16 /* libnyquist */,
 				170731EB0988D6AA008541CC /* libogg */,
 				170733DB0988D6AC008541CC /* libresample */,
 				ED05D0FF0E50AD5600CC4BD3 /* libscorealign */,
 				170733FC0988D6AC008541CC /* libsndfile */,
 				28501EAC0CEED0740029ABAA /* libvamp */,
 				1707357C0988D6AD008541CC /* libvorbis */,
-				17C8BA11098B398C00216F16 /* libnyquist */,
 				2844B48E0DEA66900087C656 /* mod-script-pipe */,
 				28E821F50A39FC1300DCE280 /* portaudio-v19 */,
+				2800FDF00FF321DA005CA9E5 /* portmidi */,
 				170737B00988D6AF008541CC /* portmixer */,
 				28F3A3EF0E28280A00729866 /* portsmf */,
 				287BD6C70E25D65B00CB4467 /* redland */,
 				ED2706FA0EF9C436007D4FFD /* sbsms */,
 				287BD9AE0E25DFBB00CB4467 /* slv2 */,
 				170737D30988D6AF008541CC /* soundtouch */,
+				283752F90F4286C100364787 /* taglib */,
 				2840CEC70AEB7E9D00F49FC3 /* twolame */,
 			);
 			name = "lib-src";
@@ -3162,9 +3726,11 @@
 				170734970988D6AD008541CC /* aiff.c */,
 				170734980988D6AD008541CC /* alaw.c */,
 				170734990988D6AD008541CC /* au.c */,
+				287DBE830F3F6B2700C5BBED /* audio_detect.c */,
 				1707349C0988D6AD008541CC /* avr.c */,
 				283A11A40A2C0DE7004372C4 /* broadcast.c */,
 				176EE9DB09A2EC1000188F3B /* caf.c */,
+				287DBE840F3F6B2700C5BBED /* chunk.c */,
 				1707349D0988D6AD008541CC /* command.c */,
 				1707349E0988D6AD008541CC /* common.c */,
 				1707349F0988D6AD008541CC /* common.h */,
@@ -3181,12 +3747,15 @@
 				170734EA0988D6AD008541CC /* gsm610.c */,
 				170734EB0988D6AD008541CC /* htk.c */,
 				170734EC0988D6AD008541CC /* ima_adpcm.c */,
+				287DBE850F3F6B2700C5BBED /* ima_oki_adpcm.c */,
+				287DBE860F3F6B2700C5BBED /* ima_oki_adpcm.h */,
 				170734ED0988D6AD008541CC /* interleave.c */,
 				170734EE0988D6AD008541CC /* ircam.c */,
 				170734F00988D6AD008541CC /* macbinary3.c */,
 				170734F10988D6AD008541CC /* macos.c */,
 				170734F50988D6AD008541CC /* mat4.c */,
 				170734F60988D6AD008541CC /* mat5.c */,
+				287DBE870F3F6B2700C5BBED /* mpc2k.c */,
 				170734F70988D6AD008541CC /* ms_adpcm.c */,
 				170734F80988D6AD008541CC /* nist.c */,
 				170734F90988D6AD008541CC /* ogg.c */,
@@ -3194,6 +3763,7 @@
 				170734FB0988D6AD008541CC /* pcm.c */,
 				170734FC0988D6AD008541CC /* pvf.c */,
 				170734FD0988D6AD008541CC /* raw.c */,
+				287DBE880F3F6B2700C5BBED /* rf64.c */,
 				170734FE0988D6AD008541CC /* rx2.c */,
 				170734FF0988D6AD008541CC /* sd2.c */,
 				170735000988D6AD008541CC /* sds.c */,
@@ -3426,10 +3996,27 @@
 		174D9025098C78AF00D5909F /* commands */ = {
 			isa = PBXGroup;
 			children = (
+				28D53FFA0FD1912A00FA7C75 /* AppCommandEvent.cpp */,
+				28D53FFB0FD1912A00FA7C75 /* AppCommandEvent.h */,
+				28D53FFC0FD1912A00FA7C75 /* BatchEvalCommand.h */,
+				28D53FFD0FD1912A00FA7C75 /* Command.h */,
+				28D53FFE0FD1912A00FA7C75 /* CommandBuilder.cpp */,
+				28D53FFF0FD1912A00FA7C75 /* CommandBuilder.h */,
+				28D540000FD1912A00FA7C75 /* CommandHandler.cpp */,
+				28D540010FD1912A00FA7C75 /* CommandHandler.h */,
 				174D9026098C78AF00D5909F /* CommandManager.cpp */,
 				174D9027098C78AF00D5909F /* CommandManager.h */,
+				1818558F0FFE916C0026D190 /* CommandMisc.h */,
+				181855900FFE916C0026D190 /* CommandTargets.h */,
+				28D540020FD1912A00FA7C75 /* DebugPrintCommand.h */,
 				174D902A098C78AF00D5909F /* Keyboard.cpp */,
 				174D902B098C78AF00D5909F /* Keyboard.h */,
+				28DB34770FDC2C5D0011F589 /* ResponseQueue.h */,
+				28DB34780FDC2C5D0011F589 /* ResponseQueue.cpp */,
+				181855950FFE916C0026D190 /* ScreenshotCommand.cpp */,
+				181855960FFE916C0026D190 /* ScreenshotCommand.h */,
+				28D540030FD1912A00FA7C75 /* ScriptCommandRelay.cpp */,
+				28D540040FD1912A00FA7C75 /* ScriptCommandRelay.h */,
 			);
 			path = commands;
 			sourceTree = "<group>";
@@ -3566,7 +4153,6 @@
 			isa = PBXGroup;
 			children = (
 				1790AFB009883B6D008A330A /* Audacity.app */,
-				170741430988FDB3008541CC /* intgen */,
 				17073EE80988DBDD008541CC /* libportsmf.a */,
 				17073F480988E04A008541CC /* libexpat.a */,
 				176EEBEA09A2F16200188F3B /* libFLAC.a */,
@@ -3576,6 +4162,7 @@
 				176A1A5B098B7B8D00DC73B4 /* libnyquist.a */,
 				17073FFE0988EA60008541CC /* libogg.a */,
 				28E67F5F0A3A160D0021D89F /* libportaudio.a */,
+				2800FE070FF322D4005CA9E5 /* libportmidi.a */,
 				170740960988F2F7008541CC /* libportmixer.a */,
 				1707400D0988EB90008541CC /* libresample.a */,
 				1707401E0988EEAA008541CC /* libsndfile.a */,
@@ -3591,6 +4178,7 @@
 				287BD9AA0E25DF2800CB4467 /* libslv2.a */,
 				28E237080E515D1D00281398 /* libscorealign.a */,
 				ED2706F40EF9C3C6007D4FFD /* liblibsbsms.a */,
+				283753E40F42875100364787 /* libtaglib.a */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -3680,6 +4268,10 @@
 				1790B0A409883BFD008A330A /* Legacy.h */,
 				28B6ED8D0DE3D1B50046F0F3 /* LoadModules.cpp */,
 				28B6ED8E0DE3D1B50046F0F3 /* LoadModules.h */,
+				1865A9B41004490400946EE6 /* Lyrics.cpp */,
+				1865A9B51004490400946EE6 /* Lyrics.h */,
+				1865A9B61004490500946EE6 /* LyricsWindow.cpp */,
+				1865A9B71004490500946EE6 /* LyricsWindow.h */,
 				28FB121F0A3790A8006F0917 /* MacroMagic.h */,
 				28EBA7FF0A78FAF800C8BB1F /* Matrix.cpp */,
 				28EBA8000A78FAF800C8BB1F /* Matrix.h */,
@@ -3687,6 +4279,8 @@
 				1790B0A809883BFD008A330A /* Menus.h */,
 				1790B0AB09883BFD008A330A /* Mix.cpp */,
 				1790B0AC09883BFD008A330A /* Mix.h */,
+				289E75081006D0BD00CEF79B /* MixerBoard.cpp */,
+				289E75091006D0BD00CEF79B /* MixerBoard.h */,
 				1790B0AF09883BFD008A330A /* NoteTrack.cpp */,
 				1790B0B009883BFD008A330A /* NoteTrack.h */,
 				1790B0B109883BFD008A330A /* PitchName.cpp */,
@@ -3701,6 +4295,8 @@
 				186CCEA20E523C8D00659159 /* Profiler.h */,
 				1790B0D009883BFD008A330A /* Project.cpp */,
 				1790B0D109883BFD008A330A /* Project.h */,
+				28DABFBC0FF19DB100AC7848 /* RealFFTf.cpp */,
+				28DABFBD0FF19DB100AC7848 /* RealFFTf.h */,
 				1790B0D209883BFD008A330A /* Resample.cpp */,
 				1790B0D309883BFD008A330A /* Resample.h */,
 				1790B0D409883BFD008A330A /* RingBuffer.cpp */,
@@ -3791,6 +4387,7 @@
 				28D587C50E264CBB009C7DEA /* lv2 */,
 				1790B03409883BFD008A330A /* nyquist */,
 				28501E960CEECE4B0029ABAA /* vamp */,
+				28B97B800FBF77030076CF28 /* vst */,
 				1790AFFE09883BFD008A330A /* Amplify.cpp */,
 				1790AFFF09883BFD008A330A /* Amplify.h */,
 				28D65C700B97E54B000E001A /* AutoDuck.cpp */,
@@ -3827,6 +4424,8 @@
 				1790B01E09883BFD008A330A /* Fade.h */,
 				2891B2850C531D2C0044FBE3 /* FindClipping.cpp */,
 				2891B2860C531D2C0044FBE3 /* FindClipping.h */,
+				18A2840E0F79BCAB0013A1BE /* Generator.cpp */,
+				18A2840D0F79BCAA0013A1BE /* Generator.h */,
 				1790B02109883BFD008A330A /* Invert.cpp */,
 				1790B02209883BFD008A330A /* Invert.h */,
 				1790B02A09883BFD008A330A /* Leveller.cpp */,
@@ -3979,31 +4578,43 @@
 		1790B0B509883BFD008A330A /* prefs */ = {
 			isa = PBXGroup;
 			children = (
-				1790B0B609883BFD008A330A /* AudioIOPrefs.cpp */,
-				1790B0B709883BFD008A330A /* AudioIOPrefs.h */,
 				1790B0B809883BFD008A330A /* BatchPrefs.cpp */,
 				1790B0B909883BFD008A330A /* BatchPrefs.h */,
+				284B278E0FC66863005EAC96 /* DevicePrefs.cpp */,
+				284B278F0FC66863005EAC96 /* DevicePrefs.h */,
 				1790B0BB09883BFD008A330A /* DirectoriesPrefs.cpp */,
 				1790B0BC09883BFD008A330A /* DirectoriesPrefs.h */,
-				1790B0BD09883BFD008A330A /* FileFormatPrefs.cpp */,
-				1790B0BE09883BFD008A330A /* FileFormatPrefs.h */,
 				1790B0BF09883BFD008A330A /* GUIPrefs.cpp */,
 				1790B0C009883BFD008A330A /* GUIPrefs.h */,
+				284B27900FC66863005EAC96 /* ImportExportPrefs.cpp */,
+				284B27910FC66863005EAC96 /* ImportExportPrefs.h */,
 				1790B0C109883BFD008A330A /* KeyConfigPrefs.cpp */,
 				1790B0C209883BFD008A330A /* KeyConfigPrefs.h */,
+				284B27920FC66863005EAC96 /* LibraryPrefs.cpp */,
+				284B27930FC66863005EAC96 /* LibraryPrefs.h */,
+				2800FE350FF32566005CA9E5 /* MidiIOPrefs.cpp */,
+				2800FE360FF32566005CA9E5 /* MidiIOPrefs.h */,
 				1790B0C309883BFD008A330A /* MousePrefs.cpp */,
 				1790B0C409883BFD008A330A /* MousePrefs.h */,
 				1790B0C509883BFD008A330A /* PrefsDialog.cpp */,
 				1790B0C609883BFD008A330A /* PrefsDialog.h */,
 				1790B0C709883BFD008A330A /* PrefsPanel.h */,
+				284B27940FC66863005EAC96 /* PlaybackPrefs.cpp */,
+				284B27950FC66863005EAC96 /* PlaybackPrefs.h */,
+				284B27960FC66863005EAC96 /* ProjectsPrefs.cpp */,
+				284B27970FC66863005EAC96 /* ProjectsPrefs.h */,
 				1790B0C809883BFD008A330A /* QualityPrefs.cpp */,
 				1790B0C909883BFD008A330A /* QualityPrefs.h */,
-				28FB20330C415D9500F769E7 /* SmartRecordPrefs.cpp */,
-				28FB20340C415D9500F769E7 /* SmartRecordPrefs.h */,
+				284B27980FC66863005EAC96 /* RecordingPrefs.cpp */,
+				284B27990FC66863005EAC96 /* RecordingPrefs.h */,
 				1790B0CA09883BFD008A330A /* SpectrumPrefs.cpp */,
 				1790B0CB09883BFD008A330A /* SpectrumPrefs.h */,
 				28456AC00A2C180E00C23C1E /* ThemePrefs.cpp */,
 				28456AC10A2C180E00C23C1E /* ThemePrefs.h */,
+				284B27E00FC66CCD005EAC96 /* TracksPrefs.cpp */,
+				284B27E10FC66CCD005EAC96 /* TracksPrefs.h */,
+				284B27E20FC66CCD005EAC96 /* WarningsPrefs.cpp */,
+				284B27E30FC66CCD005EAC96 /* WarningsPrefs.h */,
 			);
 			path = prefs;
 			sourceTree = "<group>";
@@ -4021,6 +4632,8 @@
 				283AA0EA0C56ED08002CBD34 /* ErrorDialog.h */,
 				28F1D8190A2D0018005506A7 /* ExpandingToolBar.cpp */,
 				28F1D81A0A2D0018005506A7 /* ExpandingToolBar.h */,
+				28CCDCFF0F939FD70081F2FC /* FileHistory.cpp */,
+				28CCDD040F93A0B20081F2FC /* FileHistory.h */,
 				2897F6FC0AB3DCD0003C20C5 /* Grabber.cpp */,
 				2897F6FD0AB3DCD0003C20C5 /* Grabber.h */,
 				280828580A75E0EA000002EF /* Grid.cpp */,
@@ -4063,373 +4676,102 @@
 		17C8BA11098B398C00216F16 /* libnyquist */ = {
 			isa = PBXGroup;
 			children = (
-				17C8BA1A098B502D00216F16 /* cmt */,
-				17C8BA4D098B502D00216F16 /* fft */,
-				17C8BA13098B4F6B00216F16 /* misc */,
-				17C8BD31098B645400216F16 /* nyqsrc */,
-				17C8BAC2098B502D00216F16 /* nyx */,
-				17C8BDF7098B654200216F16 /* snd */,
-				17C8BE20098B654200216F16 /* sys */,
-				17C8BE27098B654200216F16 /* tran */,
-				17C8BF1C098B654300216F16 /* xlisp */,
+				284A7B8E0F3156B4001D7A67 /* nyquist */,
+				284A7B8F0F31571B001D7A67 /* nyx.c */,
+				284A7B900F31571B001D7A67 /* nyx.h */,
+				284A7B910F31571B001D7A67 /* xlextstart.c */,
 			);
 			path = libnyquist;
 			sourceTree = "<group>";
 		};
-		17C8BA13098B4F6B00216F16 /* misc */ = {
+		1841B4FD0E00AD3D00F386E9 /* ondemand */ = {
 			isa = PBXGroup;
 			children = (
-				17C8BA14098B4FD700216F16 /* cmdline.c */,
-				17C8BA15098B4FD700216F16 /* intgen.c */,
-			);
-			path = misc;
-			sourceTree = "<group>";
-		};
-		17C8BA1A098B502D00216F16 /* cmt */ = {
-			isa = PBXGroup;
-			children = (
-				17C8BA1B098B502D00216F16 /* cext.c */,
-				17C8BA1C098B502D00216F16 /* cext.h */,
-				17C8BA1D098B502D00216F16 /* cleanup.c */,
-				17C8BA1E098B502D00216F16 /* cleanup.h */,
-				17C8BA1F098B502D00216F16 /* cmdline.c */,
-				17C8BA20098B502D00216F16 /* cmdline.h */,
-				17C8BA21098B502D00216F16 /* cmtcmd.c */,
-				17C8BA22098B502D00216F16 /* cmtcmd.h */,
-				17C8BA26098B502D00216F16 /* hash.h */,
-				17C8BA27098B502D00216F16 /* hashrout.h */,
-				17C8BA28098B502D00216F16 /* mem.c */,
-				17C8BA29098B502D00216F16 /* mem.h */,
-				17C8BA2A098B502D00216F16 /* mfmidi.h */,
-				17C8BA2B098B502D00216F16 /* midibuff.h */,
-				17C8BA2C098B502D00216F16 /* midicode.h */,
-				17C8BA2D098B502D00216F16 /* midierr.h */,
-				17C8BA2E098B502D00216F16 /* midifile.c */,
-				17C8BA2F098B502D00216F16 /* midifile.h */,
-				17C8BA30098B502D00216F16 /* midifns.c */,
-				17C8BA31098B502D00216F16 /* midifns.h */,
-				17C8BA34098B502D00216F16 /* moxc.c */,
-				17C8BA35098B502D00216F16 /* moxc.h */,
-				17C8BA36098B502D00216F16 /* musiprog.h */,
-				17C8BA37098B502D00216F16 /* pitch.h */,
-				17C8BA38098B502D00216F16 /* record.c */,
-				17C8BA39098B502D00216F16 /* record.h */,
-				17C8BA3A098B502D00216F16 /* seq.c */,
-				17C8BA3B098B502D00216F16 /* seq.h */,
-				17C8BA3C098B502D00216F16 /* seqdecls.h */,
-				17C8BA3D098B502D00216F16 /* seqmread.c */,
-				17C8BA3E098B502D00216F16 /* seqmread.h */,
-				17C8BA3F098B502D00216F16 /* seqmwrite.c */,
-				17C8BA40098B502D00216F16 /* seqmwrite.h */,
-				17C8BA41098B502D00216F16 /* seqread.c */,
-				17C8BA42098B502D00216F16 /* seqread.h */,
-				17C8BA43098B502D00216F16 /* seqwrite.c */,
-				17C8BA44098B502D00216F16 /* seqwrite.h */,
-				17C8BA45098B502D00216F16 /* swlogic.h */,
-				17C8BA46098B502D00216F16 /* tempomap.c */,
-				17C8BA47098B502D00216F16 /* tempomap.h */,
-				17C8BA48098B502D00216F16 /* timebase.c */,
-				17C8BA49098B502D00216F16 /* timebase.h */,
-				17C8BA4A098B502D00216F16 /* userio.c */,
-				17C8BA4B098B502D00216F16 /* userio.h */,
+				1841B5000E00AD6E00F386E9 /* ODComputeSummaryTask.cpp */,
+				1841B5010E00AD6E00F386E9 /* ODComputeSummaryTask.h */,
+				186CCE6E0E51F48500659159 /* ODDecodeFlacTask.cpp */,
+				186CCE6F0E51F48500659159 /* ODDecodeFlacTask.h */,
+				186CCE700E51F48500659159 /* ODDecodeTask.cpp */,
+				186CCE710E51F48500659159 /* ODDecodeTask.h */,
+				1841B5020E00AD6E00F386E9 /* ODManager.cpp */,
+				1841B5030E00AD6E00F386E9 /* ODManager.h */,
+				1841B5040E00AD6E00F386E9 /* ODTask.cpp */,
+				1841B5050E00AD6E00F386E9 /* ODTask.h */,
+				1841B5060E00AD6E00F386E9 /* ODTaskThread.cpp */,
+				1841B5070E00AD6E00F386E9 /* ODTaskThread.h */,
+				1841B5080E00AD6E00F386E9 /* ODWaveTrackTaskQueue.cpp */,
+				1841B5090E00AD6E00F386E9 /* ODWaveTrackTaskQueue.h */,
 			);
-			path = cmt;
+			name = ondemand;
 			sourceTree = "<group>";
 		};
-		17C8BA4D098B502D00216F16 /* fft */ = {
+		2800FDF00FF321DA005CA9E5 /* portmidi */ = {
 			isa = PBXGroup;
 			children = (
-				17C8BA4F098B502D00216F16 /* fftn.c */,
-				17C8BA50098B502D00216F16 /* fftn.h */,
+				2800FDF20FF321F2005CA9E5 /* pm_common */,
+				2800FDF10FF321EC005CA9E5 /* pm_mac */,
+				2800FDF30FF32204005CA9E5 /* porttime */,
 			);
-			path = fft;
+			name = portmidi;
 			sourceTree = "<group>";
 		};
-		17C8BAC2098B502D00216F16 /* nyx */ = {
+		2800FDF10FF321EC005CA9E5 /* pm_mac */ = {
 			isa = PBXGroup;
 			children = (
-				17C8BAC4098B502D00216F16 /* nyx.c */,
-				17C8BAC5098B502D00216F16 /* nyx.h */,
-			);
-			path = nyx;
-			sourceTree = "<group>";
-		};
-		17C8BD31098B645400216F16 /* nyqsrc */ = {
-			isa = PBXGroup;
-			children = (
-				17C8BD32098B649900216F16 /* add.c */,
-				17C8BD33098B649A00216F16 /* add.h */,
-				17C8BD35098B649A00216F16 /* avg.c */,
-				17C8BD36098B649A00216F16 /* avg.h */,
-				17C8BD38098B649A00216F16 /* compose.c */,
-				17C8BD39098B649A00216F16 /* compose.h */,
-				17C8BD3B098B649A00216F16 /* cque.h */,
-				17C8BD3D098B649A00216F16 /* debug.c */,
-				17C8BD3E098B649A00216F16 /* debug.h */,
-				17C8BD40098B649A00216F16 /* downsample.c */,
-				17C8BD41098B649A00216F16 /* downsample.h */,
-				17C8BD43098B649A00216F16 /* falloc.c */,
-				17C8BD44098B649A00216F16 /* falloc.h */,
-				17C8BD46098B649A00216F16 /* ffilterkit.c */,
-				17C8BD47098B649A00216F16 /* ffilterkit.h */,
-				17C8BD4A098B649A00216F16 /* fft.c */,
-				17C8BD4B098B649A00216F16 /* fft.h */,
-				17C8BD4E098B649A00216F16 /* fftw.h */,
-				17C8BD4F098B649A00216F16 /* fresample.h */,
-				17C8BD50098B649A00216F16 /* fsmallfilter.h */,
-				17C8BD51098B649A00216F16 /* handlers.c */,
-				17C8BD53098B649A00216F16 /* inverse.c */,
-				17C8BD54098B649A00216F16 /* inverse.h */,
-				17C8BD56098B649A00216F16 /* local.c */,
-				17C8BD58098B649A00216F16 /* localdefs.h */,
-				17C8BD59098B649A00216F16 /* localptrs.h */,
-				17C8BD5A098B649A00216F16 /* multiread.c */,
-				17C8BD5B098B649A00216F16 /* multiread.h */,
-				17C8BD5D098B649A00216F16 /* multiseq.c */,
-				17C8BD5E098B649A00216F16 /* multiseq.h */,
-				17C8BD64098B649A00216F16 /* resamp.c */,
-				17C8BD65098B649A00216F16 /* resamp.h */,
-				17C8BD67098B649A00216F16 /* resampv.c */,
-				17C8BD68098B649A00216F16 /* resampv.h */,
-				17C8BD6A098B649A00216F16 /* rfftw.h */,
-				17C8BD6B098B649A00216F16 /* samples.c */,
-				17C8BD6C098B649A00216F16 /* samples.h */,
-				17C8BD6E098B649A00216F16 /* seqext.c */,
-				17C8BD6F098B649A00216F16 /* seqext.h */,
-				17C8BD73098B649A00216F16 /* seqfnint.c */,
-				17C8BD76098B649A00216F16 /* seqfnintdefs.h */,
-				17C8BD77098B649A00216F16 /* seqfnintptrs.h */,
-				17C8BD78098B649A00216F16 /* seqinterf.c */,
-				17C8BD79098B649A00216F16 /* seqinterf.h */,
-				17C8BD7B098B649A00216F16 /* sndfail.c */,
-				17C8BD7F098B649A00216F16 /* sndfnint.c */,
-				17C8BD82098B649A00216F16 /* sndfnintdefs.h */,
-				17C8BD83098B649A00216F16 /* sndfnintptrs.h */,
-				17C8BD84098B649A00216F16 /* sndmax.c */,
-				17C8BD85098B649A00216F16 /* sndmax.h */,
-				17C8BD87098B649A00216F16 /* sndread.c */,
-				17C8BD88098B649A00216F16 /* sndread.h */,
-				17C8BD8A098B649A00216F16 /* sndseq.c */,
-				17C8BD8B098B649A00216F16 /* sndseq.h */,
-				17C8BD8D098B649A00216F16 /* sndwrite.c */,
-				17C8BD8E098B649A00216F16 /* sndwrite.h */,
-				17C8BD90098B649A00216F16 /* sound.c */,
-				17C8BD91098B649A00216F16 /* sound.h */,
-				17C8BD93098B649A00216F16 /* stats.c */,
-				17C8BD95098B649A00216F16 /* stdefs.h */,
-			);
-			path = nyqsrc;
-			sourceTree = "<group>";
-		};
-		17C8BDF7098B654200216F16 /* snd */ = {
-			isa = PBXGroup;
-			children = (
-				17C8BDF9098B654200216F16 /* audionone.c */,
-				17C8BDFD098B654200216F16 /* ieeecvt.c */,
-				17C8BDFE098B654200216F16 /* ieeecvt.h */,
-				17C8BE01098B654200216F16 /* snd.c */,
-				17C8BE02098B654200216F16 /* snd.h */,
-				17C8BE06098B654200216F16 /* sndconfig.h */,
-				17C8BE07098B654200216F16 /* sndcvt.c */,
-				17C8BE0B098B654200216F16 /* sndfileio.h */,
-				17C8BE0C098B654200216F16 /* sndfreebsd.h */,
-				17C8BE0D098B654200216F16 /* sndhead.h */,
-				17C8BE0E098B654200216F16 /* sndheader.c */,
-				17C8BE0F098B654200216F16 /* sndheader.h */,
-				17C8BE11098B654200216F16 /* sndio.c */,
-				17C8BE13098B654200216F16 /* sndlinux.c */,
-				17C8BE14098B654200216F16 /* sndlinux.h */,
-				17C8BE1F098B654200216F16 /* sndwrite.h */,
-			);
-			path = snd;
+				2800FDF90FF3227F005CA9E5 /* finddefault.c */,
+				2800FDFA0FF3227F005CA9E5 /* pmmac.c */,
+				2800FDFB0FF3227F005CA9E5 /* pmmac.h */,
+				2800FDFC0FF3227F005CA9E5 /* pmmacosxcm.c */,
+				2800FDFD0FF3227F005CA9E5 /* pmmacosxcm.h */,
+				2800FDFE0FF3227F005CA9E5 /* readbinaryplist.c */,
+				2800FDFF0FF3227F005CA9E5 /* readbinaryplist.h */,
+			);
+			name = pm_mac;
 			sourceTree = "<group>";
 		};
-		17C8BE20098B654200216F16 /* sys */ = {
+		2800FDF20FF321F2005CA9E5 /* pm_common */ = {
 			isa = PBXGroup;
 			children = (
-				17C8BE22098B654200216F16 /* switches.h */,
-				17C8BE24098B654200216F16 /* term.c */,
-				17C8BE25098B654200216F16 /* term.h */,
-			);
-			path = sys;
-			sourceTree = "<group>";
-		};
-		17C8BE27098B654200216F16 /* tran */ = {
-			isa = PBXGroup;
-			children = (
-				28EB47D30AFD542100502984 /* abs.c */,
-				28EB47D70AFD54B800502984 /* abs.h */,
-				17C8BE2C098B654200216F16 /* alpass.c */,
-				17C8BE2D098B654200216F16 /* alpass.h */,
-				28D025570AFDA53B0035F843 /* alpasscv.c */,
-				28D025580AFDA53B0035F843 /* alpasscv.h */,
-				28D025590AFDA53B0035F843 /* alpassvc.c */,
-				28D0255A0AFDA53B0035F843 /* alpassvc.h */,
-				17C8BE39098B654200216F16 /* amosc.c */,
-				17C8BE3A098B654200216F16 /* amosc.h */,
-				17C8BE3D098B654200216F16 /* areson.c */,
-				17C8BE3E098B654200216F16 /* areson.h */,
-				17C8BE41098B654200216F16 /* aresoncv.c */,
-				17C8BE42098B654200216F16 /* aresoncv.h */,
-				17C8BE45098B654200216F16 /* aresonvc.c */,
-				17C8BE46098B654200216F16 /* aresonvc.h */,
-				17C8BE49098B654200216F16 /* aresonvv.c */,
-				17C8BE4A098B654200216F16 /* aresonvv.h */,
-				17C8BE4D098B654200216F16 /* atone.c */,
-				17C8BE4E098B654200216F16 /* atone.h */,
-				17C8BE51098B654200216F16 /* atonev.c */,
-				17C8BE52098B654200216F16 /* atonev.h */,
-				17C8BE55098B654200216F16 /* biquad.c */,
-				17C8BE56098B654200216F16 /* biquad.h */,
-				17C8BE59098B654200216F16 /* buzz.c */,
-				17C8BE5A098B654200216F16 /* buzz.h */,
-				17C8BE5D098B654200216F16 /* chase.c */,
-				17C8BE5E098B654200216F16 /* chase.h */,
-				17C8BE61098B654200216F16 /* clip.c */,
-				17C8BE62098B654200216F16 /* clip.h */,
-				17C8BE65098B654200216F16 /* congen.c */,
-				17C8BE66098B654200216F16 /* congen.h */,
-				17C8BE69098B654300216F16 /* const.c */,
-				17C8BE6A098B654300216F16 /* const.h */,
-				17C8BE6D098B654300216F16 /* convolve.c */,
-				17C8BE6E098B654300216F16 /* convolve.h */,
-				17C8BE71098B654300216F16 /* coterm.c */,
-				17C8BE72098B654300216F16 /* coterm.h */,
-				17C8BE76098B654300216F16 /* delay.c */,
-				17C8BE77098B654300216F16 /* delay.h */,
-				17C8BE7A098B654300216F16 /* delaycv.c */,
-				17C8BE7B098B654300216F16 /* delaycv.h */,
-				17C8BE83098B654300216F16 /* exp.c */,
-				17C8BE84098B654300216F16 /* exp.h */,
-				17C8BE88098B654300216F16 /* fmosc.c */,
-				17C8BE89098B654300216F16 /* fmosc.h */,
-				17C8BE8C098B654300216F16 /* follow.c */,
-				17C8BE8D098B654300216F16 /* follow.h */,
-				17C8BE90098B654300216F16 /* fromarraystream.c */,
-				17C8BE91098B654300216F16 /* fromarraystream.h */,
-				17C8BE94098B654300216F16 /* fromobject.c */,
-				17C8BE95098B654300216F16 /* fromobject.h */,
-				17C8BE98098B654300216F16 /* gate.c */,
-				17C8BE99098B654300216F16 /* gate.h */,
-				17C8BE9D098B654300216F16 /* ifft.c */,
-				17C8BE9E098B654300216F16 /* ifft.h */,
-				17C8BEA3098B654300216F16 /* integrate.c */,
-				17C8BEA4098B654300216F16 /* integrate.h */,
-				17C8BEA7098B654300216F16 /* log.c */,
-				17C8BEA8098B654300216F16 /* log.h */,
-				17C8BEAB098B654300216F16 /* maxv.c */,
-				17C8BEAC098B654300216F16 /* maxv.h */,
-				17C8BEB1098B654300216F16 /* offset.c */,
-				17C8BEB2098B654300216F16 /* offset.h */,
-				17C8BEB5098B654300216F16 /* oneshot.c */,
-				17C8BEB6098B654300216F16 /* oneshot.h */,
-				17C8BEB9098B654300216F16 /* osc.c */,
-				17C8BEBA098B654300216F16 /* osc.h */,
-				17C8BEBD098B654300216F16 /* partial.c */,
-				17C8BEBE098B654300216F16 /* partial.h */,
-				17C8BEC1098B654300216F16 /* pluck.c */,
-				17C8BEC2098B654300216F16 /* pluck.h */,
-				17C8BEC5098B654300216F16 /* prod.c */,
-				17C8BEC6098B654300216F16 /* prod.h */,
-				17C8BEC9098B654300216F16 /* pwl.c */,
-				17C8BECA098B654300216F16 /* pwl.h */,
-				17C8BECF098B654300216F16 /* quantize.c */,
-				17C8BED0098B654300216F16 /* quantize.h */,
-				17C8BED3098B654300216F16 /* recip.c */,
-				17C8BED4098B654300216F16 /* recip.h */,
-				17C8BED7098B654300216F16 /* reson.c */,
-				17C8BED8098B654300216F16 /* reson.h */,
-				17C8BEDB098B654300216F16 /* resoncv.c */,
-				17C8BEDC098B654300216F16 /* resoncv.h */,
-				17C8BEDF098B654300216F16 /* resonvc.c */,
-				17C8BEE0098B654300216F16 /* resonvc.h */,
-				17C8BEE3098B654300216F16 /* resonvv.c */,
-				17C8BEE4098B654300216F16 /* resonvv.h */,
-				17C8BEE7098B654300216F16 /* sampler.c */,
-				17C8BEE8098B654300216F16 /* sampler.h */,
-				17C8BEEB098B654300216F16 /* scale.c */,
-				17C8BEEC098B654300216F16 /* scale.h */,
-				17C8BEEF098B654300216F16 /* shape.c */,
-				17C8BEF0098B654300216F16 /* shape.h */,
-				17C8BEF3098B654300216F16 /* sine.c */,
-				17C8BEF4098B654300216F16 /* sine.h */,
-				17C8BEF7098B654300216F16 /* siosc.c */,
-				17C8BEF8098B654300216F16 /* siosc.h */,
-				17C8BEFB098B654300216F16 /* slope.c */,
-				17C8BEFC098B654300216F16 /* slope.h */,
-				28EB47D50AFD547600502984 /* sqrt.c */,
-				28EB47D80AFD54B800502984 /* sqrt.h */,
-				17C8BF05098B654300216F16 /* tapv.c */,
-				17C8BF06098B654300216F16 /* tapv.h */,
-				17C8BF09098B654300216F16 /* tone.c */,
-				17C8BF0A098B654300216F16 /* tone.h */,
-				17C8BF0D098B654300216F16 /* tonev.c */,
-				17C8BF0E098B654300216F16 /* tonev.h */,
-				17C8BF12098B654300216F16 /* upsample.c */,
-				17C8BF13098B654300216F16 /* upsample.h */,
-				17C8BF16098B654300216F16 /* white.c */,
-				17C8BF17098B654300216F16 /* white.h */,
+				2800FDF40FF3225B005CA9E5 /* pminternal.h */,
+				2800FDF50FF3225B005CA9E5 /* pmutil.c */,
+				2800FDF60FF3225B005CA9E5 /* pmutil.h */,
+				2800FDF70FF3225B005CA9E5 /* portmidi.c */,
+				2800FDF80FF3225B005CA9E5 /* portmidi.h */,
 			);
-			path = tran;
+			name = pm_common;
 			sourceTree = "<group>";
 		};
-		17C8BF1C098B654300216F16 /* xlisp */ = {
-			isa = PBXGroup;
-			children = (
-				17C8BF1E098B654300216F16 /* extern.c */,
-				17C8BF1F098B654300216F16 /* extern.h */,
-				17C8BF21098B654300216F16 /* osdefs.h */,
-				17C8BF22098B654300216F16 /* osptrs.h */,
-				17C8BF23098B654300216F16 /* path.c */,
-				17C8BF25098B654300216F16 /* xlbfun.c */,
-				17C8BF27098B654300216F16 /* xlcont.c */,
-				17C8BF29098B654300216F16 /* xldbug.c */,
-				17C8BF2B098B654300216F16 /* xldmem.c */,
-				17C8BF2C098B654300216F16 /* xldmem.h */,
-				17C8BF2E098B654300216F16 /* xleval.c */,
-				17C8BF31098B654300216F16 /* xlfio.c */,
-				17C8BF33098B654300216F16 /* xlftab.c */,
-				17C8BF35098B654300216F16 /* xlglob.c */,
-				17C8BF37098B654300216F16 /* xlimage.c */,
-				17C8BF39098B654300216F16 /* xlinit.c */,
-				17C8BF3B098B654300216F16 /* xlio.c */,
-				17C8BF3D098B654300216F16 /* xlisp.c */,
-				17C8BF3E098B654300216F16 /* xlisp.h */,
-				17C8BF40098B654300216F16 /* xljump.c */,
-				17C8BF42098B654300216F16 /* xllist.c */,
-				17C8BF44098B654300216F16 /* xlmath.c */,
-				17C8BF46098B654300216F16 /* xlobj.c */,
-				17C8BF48098B654300216F16 /* xlpp.c */,
-				17C8BF4A098B654300216F16 /* xlprin.c */,
-				17C8BF4C098B654300216F16 /* xlread.c */,
-				17C8BF4E098B654400216F16 /* xlstr.c */,
-				17C8BF50098B654400216F16 /* xlsubr.c */,
-				17C8BF52098B654400216F16 /* xlsym.c */,
-				17C8BF54098B654400216F16 /* xlsys.c */,
+		2800FDF30FF32204005CA9E5 /* porttime */ = {
+			isa = PBXGroup;
+			children = (
+				2800FE000FF322A1005CA9E5 /* porttime.h */,
+				2800FE010FF322A1005CA9E5 /* ptmacosx_mach.c */,
 			);
-			path = xlisp;
+			name = porttime;
 			sourceTree = "<group>";
 		};
-		1841B4FD0E00AD3D00F386E9 /* ondemand */ = {
+		2808026A0F32C11F0021001D /* rawwaves */ = {
 			isa = PBXGroup;
 			children = (
-				1841B5000E00AD6E00F386E9 /* ODComputeSummaryTask.cpp */,
-				1841B5010E00AD6E00F386E9 /* ODComputeSummaryTask.h */,
-				186CCE6E0E51F48500659159 /* ODDecodeFlacTask.cpp */,
-				186CCE6F0E51F48500659159 /* ODDecodeFlacTask.h */,
-				186CCE700E51F48500659159 /* ODDecodeTask.cpp */,
-				186CCE710E51F48500659159 /* ODDecodeTask.h */,
-				1841B5020E00AD6E00F386E9 /* ODManager.cpp */,
-				1841B5030E00AD6E00F386E9 /* ODManager.h */,
-				1841B5040E00AD6E00F386E9 /* ODTask.cpp */,
-				1841B5050E00AD6E00F386E9 /* ODTask.h */,
-				1841B5060E00AD6E00F386E9 /* ODTaskThread.cpp */,
-				1841B5070E00AD6E00F386E9 /* ODTaskThread.h */,
-				1841B5080E00AD6E00F386E9 /* ODWaveTrackTaskQueue.cpp */,
-				1841B5090E00AD6E00F386E9 /* ODWaveTrackTaskQueue.h */,
-			);
-			name = ondemand;
-			sourceTree = "<group>";
+				2808026B0F32C11F0021001D /* mand1.raw */,
+				2808026C0F32C11F0021001D /* mand10.raw */,
+				2808026D0F32C11F0021001D /* mand11.raw */,
+				2808026E0F32C11F0021001D /* mand12.raw */,
+				2808026F0F32C11F0021001D /* mand2.raw */,
+				280802700F32C11F0021001D /* mand3.raw */,
+				280802710F32C11F0021001D /* mand4.raw */,
+				280802720F32C11F0021001D /* mand5.raw */,
+				280802730F32C11F0021001D /* mand6.raw */,
+				280802740F32C11F0021001D /* mand7.raw */,
+				280802750F32C11F0021001D /* mand8.raw */,
+				280802760F32C11F0021001D /* mand9.raw */,
+				280802770F32C11F0021001D /* mandpluk.raw */,
+				280802780F32C11F0021001D /* marmstk1.raw */,
+				280802790F32C11F0021001D /* sinewave.raw */,
+			);
+			name = rawwaves;
+			path = ../nyquist/rawwaves;
+			sourceTree = SOURCE_ROOT;
 		};
 		280DE5D80E163488006159ED /* liblrdf */ = {
 			isa = PBXGroup;
@@ -4474,6 +4816,317 @@
 			path = unix;
 			sourceTree = "<group>";
 		};
+		283752F90F4286C100364787 /* taglib */ = {
+			isa = PBXGroup;
+			children = (
+				283752FA0F4286E000364787 /* taglib */,
+				283754A50F428A8E00364787 /* config.h */,
+			);
+			name = taglib;
+			sourceTree = "<group>";
+		};
+		283752FA0F4286E000364787 /* taglib */ = {
+			isa = PBXGroup;
+			children = (
+				283752FB0F4286E000364787 /* ape */,
+				283753060F4286E000364787 /* asf */,
+				283753170F4286E000364787 /* flac */,
+				283753210F4286E000364787 /* mp4 */,
+				2837532F0F4286E000364787 /* mpc */,
+				283753370F4286E000364787 /* mpeg */,
+				2837537B0F4286E100364787 /* ogg */,
+				2837539D0F4286E100364787 /* riff */,
+				283753120F4286E000364787 /* audioproperties.cpp */,
+				283753130F4286E000364787 /* audioproperties.h */,
+				283753150F4286E000364787 /* fileref.cpp */,
+				283753160F4286E000364787 /* fileref.h */,
+				283753B30F4286E100364787 /* tag.cpp */,
+				283753B40F4286E100364787 /* tag.h */,
+				283753B60F4286E100364787 /* taglib_export.h */,
+				283753B70F4286E100364787 /* tagunion.cpp */,
+				283753B80F4286E100364787 /* tagunion.h */,
+				283753B90F4286E100364787 /* toolkit */,
+				283753D00F4286E100364787 /* trueaudio */,
+				283753D80F4286E100364787 /* wavpack */,
+			);
+			name = taglib;
+			path = taglib/taglib;
+			sourceTree = "<group>";
+		};
+		283752FB0F4286E000364787 /* ape */ = {
+			isa = PBXGroup;
+			children = (
+				283752FD0F4286E000364787 /* apefooter.cpp */,
+				283752FE0F4286E000364787 /* apefooter.h */,
+				283752FF0F4286E000364787 /* apeitem.cpp */,
+				283753000F4286E000364787 /* apeitem.h */,
+				283753010F4286E000364787 /* apetag.cpp */,
+				283753020F4286E000364787 /* apetag.h */,
+			);
+			path = ape;
+			sourceTree = "<group>";
+		};
+		283753060F4286E000364787 /* asf */ = {
+			isa = PBXGroup;
+			children = (
+				283753070F4286E000364787 /* asfattribute.cpp */,
+				283753080F4286E000364787 /* asfattribute.h */,
+				283753090F4286E000364787 /* asffile.cpp */,
+				2837530A0F4286E000364787 /* asffile.h */,
+				2837530B0F4286E000364787 /* asfproperties.cpp */,
+				2837530C0F4286E000364787 /* asfproperties.h */,
+				2837530D0F4286E000364787 /* asftag.cpp */,
+				2837530E0F4286E000364787 /* asftag.h */,
+			);
+			path = asf;
+			sourceTree = "<group>";
+		};
+		283753170F4286E000364787 /* flac */ = {
+			isa = PBXGroup;
+			children = (
+				283753190F4286E000364787 /* flacfile.cpp */,
+				2837531A0F4286E000364787 /* flacfile.h */,
+				2837531B0F4286E000364787 /* flacproperties.cpp */,
+				2837531C0F4286E000364787 /* flacproperties.h */,
+			);
+			path = flac;
+			sourceTree = "<group>";
+		};
+		283753210F4286E000364787 /* mp4 */ = {
+			isa = PBXGroup;
+			children = (
+				283753250F4286E000364787 /* mp4atom.cpp */,
+				283753260F4286E000364787 /* mp4atom.h */,
+				283753270F4286E000364787 /* mp4file.cpp */,
+				283753280F4286E000364787 /* mp4file.h */,
+				283753290F4286E000364787 /* mp4item.cpp */,
+				2837532A0F4286E000364787 /* mp4item.h */,
+				2837532B0F4286E000364787 /* mp4properties.cpp */,
+				2837532C0F4286E000364787 /* mp4properties.h */,
+				2837532D0F4286E000364787 /* mp4tag.cpp */,
+				2837532E0F4286E000364787 /* mp4tag.h */,
+			);
+			path = mp4;
+			sourceTree = "<group>";
+		};
+		2837532F0F4286E000364787 /* mpc */ = {
+			isa = PBXGroup;
+			children = (
+				283753330F4286E000364787 /* mpcfile.cpp */,
+				283753340F4286E000364787 /* mpcfile.h */,
+				283753350F4286E000364787 /* mpcproperties.cpp */,
+				283753360F4286E000364787 /* mpcproperties.h */,
+			);
+			path = mpc;
+			sourceTree = "<group>";
+		};
+		283753370F4286E000364787 /* mpeg */ = {
+			isa = PBXGroup;
+			children = (
+				283753390F4286E000364787 /* id3v1 */,
+				283753410F4286E100364787 /* id3v2 */,
+				283753730F4286E100364787 /* mpegfile.cpp */,
+				283753740F4286E100364787 /* mpegfile.h */,
+				283753750F4286E100364787 /* mpegheader.cpp */,
+				283753760F4286E100364787 /* mpegheader.h */,
+				283753770F4286E100364787 /* mpegproperties.cpp */,
+				283753780F4286E100364787 /* mpegproperties.h */,
+				283753790F4286E100364787 /* xingheader.cpp */,
+				2837537A0F4286E100364787 /* xingheader.h */,
+			);
+			path = mpeg;
+			sourceTree = "<group>";
+		};
+		283753390F4286E000364787 /* id3v1 */ = {
+			isa = PBXGroup;
+			children = (
+				2837533B0F4286E000364787 /* id3v1genres.cpp */,
+				2837533C0F4286E100364787 /* id3v1genres.h */,
+				2837533D0F4286E100364787 /* id3v1tag.cpp */,
+				2837533E0F4286E100364787 /* id3v1tag.h */,
+			);
+			path = id3v1;
+			sourceTree = "<group>";
+		};
+		283753410F4286E100364787 /* id3v2 */ = {
+			isa = PBXGroup;
+			children = (
+				283753430F4286E100364787 /* frames */,
+				283753610F4286E100364787 /* id3v2extendedheader.cpp */,
+				283753620F4286E100364787 /* id3v2extendedheader.h */,
+				283753630F4286E100364787 /* id3v2footer.cpp */,
+				283753640F4286E100364787 /* id3v2footer.h */,
+				283753650F4286E100364787 /* id3v2frame.cpp */,
+				283753660F4286E100364787 /* id3v2frame.h */,
+				283753670F4286E100364787 /* id3v2framefactory.cpp */,
+				283753680F4286E100364787 /* id3v2framefactory.h */,
+				283753690F4286E100364787 /* id3v2header.cpp */,
+				2837536A0F4286E100364787 /* id3v2header.h */,
+				2837536B0F4286E100364787 /* id3v2synchdata.cpp */,
+				2837536C0F4286E100364787 /* id3v2synchdata.h */,
+				2837536D0F4286E100364787 /* id3v2tag.cpp */,
+				2837536E0F4286E100364787 /* id3v2tag.h */,
+			);
+			path = id3v2;
+			sourceTree = "<group>";
+		};
+		283753430F4286E100364787 /* frames */ = {
+			isa = PBXGroup;
+			children = (
+				283753440F4286E100364787 /* attachedpictureframe.cpp */,
+				283753450F4286E100364787 /* attachedpictureframe.h */,
+				283753470F4286E100364787 /* commentsframe.cpp */,
+				283753480F4286E100364787 /* commentsframe.h */,
+				283753490F4286E100364787 /* generalencapsulatedobjectframe.cpp */,
+				2837534A0F4286E100364787 /* generalencapsulatedobjectframe.h */,
+				2837534D0F4286E100364787 /* popularimeterframe.cpp */,
+				2837534E0F4286E100364787 /* popularimeterframe.h */,
+				2837534F0F4286E100364787 /* privateframe.cpp */,
+				283753500F4286E100364787 /* privateframe.h */,
+				283753510F4286E100364787 /* relativevolumeframe.cpp */,
+				283753520F4286E100364787 /* relativevolumeframe.h */,
+				283753530F4286E100364787 /* textidentificationframe.cpp */,
+				283753540F4286E100364787 /* textidentificationframe.h */,
+				283753550F4286E100364787 /* uniquefileidentifierframe.cpp */,
+				283753560F4286E100364787 /* uniquefileidentifierframe.h */,
+				283753570F4286E100364787 /* unknownframe.cpp */,
+				283753580F4286E100364787 /* unknownframe.h */,
+				283753590F4286E100364787 /* unsynchronizedlyricsframe.cpp */,
+				2837535A0F4286E100364787 /* unsynchronizedlyricsframe.h */,
+				2837535B0F4286E100364787 /* urllinkframe.cpp */,
+				2837535C0F4286E100364787 /* urllinkframe.h */,
+			);
+			path = frames;
+			sourceTree = "<group>";
+		};
+		2837537B0F4286E100364787 /* ogg */ = {
+			isa = PBXGroup;
+			children = (
+				2837537D0F4286E100364787 /* flac */,
+				283753850F4286E100364787 /* oggfile.cpp */,
+				283753860F4286E100364787 /* oggfile.h */,
+				283753870F4286E100364787 /* oggpage.cpp */,
+				283753880F4286E100364787 /* oggpage.h */,
+				283753890F4286E100364787 /* oggpageheader.cpp */,
+				2837538A0F4286E100364787 /* oggpageheader.h */,
+				2837538B0F4286E100364787 /* speex */,
+				283753930F4286E100364787 /* vorbis */,
+				2837539B0F4286E100364787 /* xiphcomment.cpp */,
+				2837539C0F4286E100364787 /* xiphcomment.h */,
+			);
+			path = ogg;
+			sourceTree = "<group>";
+		};
+		2837537D0F4286E100364787 /* flac */ = {
+			isa = PBXGroup;
+			children = (
+				283753810F4286E100364787 /* oggflacfile.cpp */,
+				283753820F4286E100364787 /* oggflacfile.h */,
+			);
+			path = flac;
+			sourceTree = "<group>";
+		};
+		2837538B0F4286E100364787 /* speex */ = {
+			isa = PBXGroup;
+			children = (
+				2837538F0F4286E100364787 /* speexfile.cpp */,
+				283753900F4286E100364787 /* speexfile.h */,
+				283753910F4286E100364787 /* speexproperties.cpp */,
+				283753920F4286E100364787 /* speexproperties.h */,
+			);
+			path = speex;
+			sourceTree = "<group>";
+		};
+		283753930F4286E100364787 /* vorbis */ = {
+			isa = PBXGroup;
+			children = (
+				283753970F4286E100364787 /* vorbisfile.cpp */,
+				283753980F4286E100364787 /* vorbisfile.h */,
+				283753990F4286E100364787 /* vorbisproperties.cpp */,
+				2837539A0F4286E100364787 /* vorbisproperties.h */,
+			);
+			path = vorbis;
+			sourceTree = "<group>";
+		};
+		2837539D0F4286E100364787 /* riff */ = {
+			isa = PBXGroup;
+			children = (
+				2837539E0F4286E100364787 /* aiff */,
+				283753A90F4286E100364787 /* rifffile.cpp */,
+				283753AA0F4286E100364787 /* rifffile.h */,
+				283753AB0F4286E100364787 /* wav */,
+			);
+			path = riff;
+			sourceTree = "<group>";
+		};
+		2837539E0F4286E100364787 /* aiff */ = {
+			isa = PBXGroup;
+			children = (
+				2837539F0F4286E100364787 /* aifffile.cpp */,
+				283753A00F4286E100364787 /* aifffile.h */,
+				283753A10F4286E100364787 /* aiffproperties.cpp */,
+				283753A20F4286E100364787 /* aiffproperties.h */,
+			);
+			path = aiff;
+			sourceTree = "<group>";
+		};
+		283753AB0F4286E100364787 /* wav */ = {
+			isa = PBXGroup;
+			children = (
+				283753AF0F4286E100364787 /* wavfile.cpp */,
+				283753B00F4286E100364787 /* wavfile.h */,
+				283753B10F4286E100364787 /* wavproperties.cpp */,
+				283753B20F4286E100364787 /* wavproperties.h */,
+			);
+			path = wav;
+			sourceTree = "<group>";
+		};
+		283753B90F4286E100364787 /* toolkit */ = {
+			isa = PBXGroup;
+			children = (
+				283753BD0F4286E100364787 /* taglib.h */,
+				283753BE0F4286E100364787 /* tbytevector.cpp */,
+				283753BF0F4286E100364787 /* tbytevector.h */,
+				283753C00F4286E100364787 /* tbytevectorlist.cpp */,
+				283753C10F4286E100364787 /* tbytevectorlist.h */,
+				283753C20F4286E100364787 /* tdebug.cpp */,
+				283753C30F4286E100364787 /* tdebug.h */,
+				283753C40F4286E100364787 /* tfile.cpp */,
+				283753C50F4286E100364787 /* tfile.h */,
+				283753C60F4286E100364787 /* tlist.h */,
+				283753C80F4286E100364787 /* tmap.h */,
+				283753CA0F4286E100364787 /* tstring.cpp */,
+				283753CB0F4286E100364787 /* tstring.h */,
+				283753CC0F4286E100364787 /* tstringlist.cpp */,
+				283753CD0F4286E100364787 /* tstringlist.h */,
+				283753CE0F4286E100364787 /* unicode.cpp */,
+				283753CF0F4286E100364787 /* unicode.h */,
+			);
+			path = toolkit;
+			sourceTree = "<group>";
+		};
+		283753D00F4286E100364787 /* trueaudio */ = {
+			isa = PBXGroup;
+			children = (
+				283753D40F4286E100364787 /* trueaudiofile.cpp */,
+				283753D50F4286E100364787 /* trueaudiofile.h */,
+				283753D60F4286E100364787 /* trueaudioproperties.cpp */,
+				283753D70F4286E100364787 /* trueaudioproperties.h */,
+			);
+			path = trueaudio;
+			sourceTree = "<group>";
+		};
+		283753D80F4286E100364787 /* wavpack */ = {
+			isa = PBXGroup;
+			children = (
+				283753DC0F4286E100364787 /* wavpackfile.cpp */,
+				283753DD0F4286E100364787 /* wavpackfile.h */,
+				283753DE0F4286E100364787 /* wavpackproperties.cpp */,
+				283753DF0F4286E100364787 /* wavpackproperties.h */,
+			);
+			path = wavpack;
+			sourceTree = "<group>";
+		};
 		283B3D3E0BC21EBE00FA01D5 /* FileDialog */ = {
 			isa = PBXGroup;
 			children = (
@@ -4560,6 +5213,392 @@
 			name = "mod-script-pipe";
 			sourceTree = "<group>";
 		};
+		284A7B8E0F3156B4001D7A67 /* nyquist */ = {
+			isa = PBXGroup;
+			children = (
+				284A80370F3158A1001D7A67 /* cmt */,
+				28A4E29B0F6030F200E9E7F2 /* ffts */,
+				284A806B0F3158A1001D7A67 /* nyqsrc */,
+				284A80C80F3158A1001D7A67 /* nyqstk */,
+				284A817C0F3158A2001D7A67 /* tran */,
+				284A827A0F3158A2001D7A67 /* xlisp */,
+			);
+			path = nyquist;
+			sourceTree = "<group>";
+		};
+		284A80370F3158A1001D7A67 /* cmt */ = {
+			isa = PBXGroup;
+			children = (
+				284A80380F3158A1001D7A67 /* cext.c */,
+				28EB74AC0FDC2DF50046D78E /* cext.h */,
+				284A803A0F3158A1001D7A67 /* cleanup.c */,
+				28EB74AB0FDC2DF50046D78E /* cleanup.h */,
+				284A803C0F3158A1001D7A67 /* cmdline.c */,
+				28EB74AA0FDC2DF50046D78E /* cmdline.h */,
+				284A803E0F3158A1001D7A67 /* cmtcmd.c */,
+				28EB74A90FDC2DF50046D78E /* cmtcmd.h */,
+				284A80440F3158A1001D7A67 /* mem.c */,
+				28EB74A80FDC2DF50046D78E /* mem.h */,
+				284A804A0F3158A1001D7A67 /* midifile.c */,
+				28EB74A70FDC2DF50046D78E /* midifile.h */,
+				284A804C0F3158A1001D7A67 /* midifns.c */,
+				28EB74A60FDC2DF50046D78E /* midifns.h */,
+				284A80500F3158A1001D7A67 /* moxc.c */,
+				28EB74A50FDC2DF50046D78E /* moxc.h */,
+				284A80540F3158A1001D7A67 /* record.c */,
+				28EB74A40FDC2DF50046D78E /* record.h */,
+				284A80560F3158A1001D7A67 /* seq.c */,
+				28EB74A30FDC2DF50046D78E /* seq.h */,
+				284A80590F3158A1001D7A67 /* seqmread.c */,
+				28EB74A20FDC2DF50046D78E /* seqmread.h */,
+				284A805B0F3158A1001D7A67 /* seqmwrite.c */,
+				28EB74A10FDC2DF50046D78E /* seqmwrite.h */,
+				284A805D0F3158A1001D7A67 /* seqread.c */,
+				28EB74A00FDC2DF50046D78E /* seqread.h */,
+				284A805F0F3158A1001D7A67 /* seqwrite.c */,
+				28EB749F0FDC2DF50046D78E /* seqwrite.h */,
+				284A80620F3158A1001D7A67 /* tempomap.c */,
+				28EB749E0FDC2DF50046D78E /* tempomap.h */,
+				284A80640F3158A1001D7A67 /* timebase.c */,
+				28EB749D0FDC2DF50046D78E /* timebase.h */,
+				284A80660F3158A1001D7A67 /* userio.c */,
+				28EB749C0FDC2DF50046D78E /* userio.h */,
+			);
+			path = cmt;
+			sourceTree = "<group>";
+		};
+		284A806B0F3158A1001D7A67 /* nyqsrc */ = {
+			isa = PBXGroup;
+			children = (
+				284A806C0F3158A1001D7A67 /* add.c */,
+				28EB74BE0FDC2EDE0046D78E /* add.h */,
+				284A806E0F3158A1001D7A67 /* avg.c */,
+				28EB74BF0FDC2EDE0046D78E /* avg.h */,
+				284A80700F3158A1001D7A67 /* compose.c */,
+				28EB74C00FDC2EDE0046D78E /* compose.h */,
+				284A80720F3158A1001D7A67 /* convolve.c */,
+				28EB74C10FDC2EDE0046D78E /* convolve.h */,
+				28EB74C20FDC2EDE0046D78E /* cque.h */,
+				284A80750F3158A1001D7A67 /* debug.c */,
+				28EB74C30FDC2EDE0046D78E /* debug.h */,
+				284A80770F3158A1001D7A67 /* downsample.c */,
+				28EB74C40FDC2EDE0046D78E /* downsample.h */,
+				284A807C0F3158A1001D7A67 /* falloc.c */,
+				28EB74C50FDC2EDE0046D78E /* falloc.h */,
+				284A807E0F3158A1001D7A67 /* ffilterkit.c */,
+				28EB74C60FDC2EDE0046D78E /* ffilterkit.h */,
+				284A80810F3158A1001D7A67 /* fft.c */,
+				28EB74C70FDC2EDE0046D78E /* fft.h */,
+				284A80870F3158A1001D7A67 /* handlers.c */,
+				284A80880F3158A1001D7A67 /* inverse.c */,
+				28EB74C80FDC2EDE0046D78E /* inverse.h */,
+				284A808A0F3158A1001D7A67 /* local.c */,
+				28EB74C90FDC2EDE0046D78E /* localdefs.h */,
+				28EB74CA0FDC2EDE0046D78E /* localptrs.h */,
+				284A808D0F3158A1001D7A67 /* lpanal.c */,
+				28EB74CB0FDC2EDE0046D78E /* lpanal.h */,
+				284A808F0F3158A1001D7A67 /* multiread.c */,
+				28EB74CC0FDC2EDE0046D78E /* multiread.h */,
+				284A80910F3158A1001D7A67 /* multiseq.c */,
+				28EB74CD0FDC2EDE0046D78E /* multiseq.h */,
+				284A80990F3158A1001D7A67 /* probe.c */,
+				28EB74CE0FDC2EDE0046D78E /* probe.h */,
+				28EB74D20FDC2EDE0046D78E /* seqext.h */,
+				28EB74D50FDC2EDE0046D78E /* seqinterf.h */,
+				284A809B0F3158A1001D7A67 /* resamp.c */,
+				28EB74CF0FDC2EDE0046D78E /* resamp.h */,
+				284A809D0F3158A1001D7A67 /* resampv.c */,
+				28EB74D00FDC2EDE0046D78E /* resampv.h */,
+				284A80A00F3158A1001D7A67 /* samples.c */,
+				28EB74D10FDC2EDE0046D78E /* samples.h */,
+				284A80A20F3158A1001D7A67 /* seqext.c */,
+				284A80A60F3158A1001D7A67 /* seqfnint.c */,
+				28EB74D30FDC2EDE0046D78E /* seqfnintdefs.h */,
+				28EB74D40FDC2EDE0046D78E /* seqfnintptrs.h */,
+				284A80AA0F3158A1001D7A67 /* seqinterf.c */,
+				284A80AC0F3158A1001D7A67 /* sliders.c */,
+				28EB74D60FDC2EDE0046D78E /* sliders.h */,
+				284A80B20F3158A1001D7A67 /* sndfnint.c */,
+				28EB74D70FDC2EDE0046D78E /* sndfnintdefs.h */,
+				28EB74D80FDC2EDE0046D78E /* sndfnintptrs.h */,
+				284A80B60F3158A1001D7A67 /* sndmax.c */,
+				28EB74D90FDC2EDE0046D78E /* sndmax.h */,
+				284A80B80F3158A1001D7A67 /* sndread.c */,
+				28EB74DA0FDC2EDE0046D78E /* sndread.h */,
+				284A80BA0F3158A1001D7A67 /* sndseq.c */,
+				28EB74DB0FDC2EDE0046D78E /* sndseq.h */,
+				284A80BF0F3158A1001D7A67 /* sndwritepa.c */,
+				284A80C00F3158A1001D7A67 /* sound.c */,
+				28EB74DC0FDC2EDE0046D78E /* sound.h */,
+				284A80C20F3158A1001D7A67 /* stats.c */,
+				284A80C40F3158A1001D7A67 /* trigger.c */,
+				28EB74DD0FDC2EDE0046D78E /* trigger.h */,
+				284A80C60F3158A1001D7A67 /* yin.c */,
+				28EB74DE0FDC2EDE0046D78E /* yin.h */,
+			);
+			path = nyqsrc;
+			sourceTree = "<group>";
+		};
+		284A80C80F3158A1001D7A67 /* nyqstk */ = {
+			isa = PBXGroup;
+			children = (
+				28EB75030FDC2FB10046D78E /* include */,
+				284A80F50F3158A1001D7A67 /* src */,
+				284A80F30F3158A1001D7A67 /* instr.cpp */,
+				28EB752C0FDC2FB10046D78E /* instr.h */,
+				284A811D0F3158A1001D7A67 /* stkinit.cpp */,
+				28EB752D0FDC2FB10046D78E /* stkinit.h */,
+				284A811F0F3158A1001D7A67 /* stkint.cpp */,
+				28EB752E0FDC2FB10046D78E /* stkint.h */,
+			);
+			path = nyqstk;
+			sourceTree = "<group>";
+		};
+		284A80F50F3158A1001D7A67 /* src */ = {
+			isa = PBXGroup;
+			children = (
+				284A80F60F3158A1001D7A67 /* ADSR.cpp */,
+				284A80F70F3158A1001D7A67 /* BandedWG.cpp */,
+				284A80F80F3158A1001D7A67 /* BiQuad.cpp */,
+				284A80F90F3158A1001D7A67 /* Bowed.cpp */,
+				284A80FA0F3158A1001D7A67 /* BowTable.cpp */,
+				284A80FB0F3158A1001D7A67 /* Chorus.cpp */,
+				284A80FC0F3158A1001D7A67 /* Clarinet.cpp */,
+				284A80FD0F3158A1001D7A67 /* Delay.cpp */,
+				284A80FE0F3158A1001D7A67 /* DelayA.cpp */,
+				284A80FF0F3158A1001D7A67 /* DelayL.cpp */,
+				284A81000F3158A1001D7A67 /* Effect.cpp */,
+				284A81010F3158A1001D7A67 /* Envelope.cpp */,
+				284A81020F3158A1001D7A67 /* FileRead.cpp */,
+				284A81030F3158A1001D7A67 /* FileWvIn.cpp */,
+				284A81040F3158A1001D7A67 /* Filter.cpp */,
+				284A81050F3158A1001D7A67 /* Flute.cpp */,
+				284A81060F3158A1001D7A67 /* Function.cpp */,
+				284A81070F3158A1001D7A67 /* Generator.cpp */,
+				284A81080F3158A1001D7A67 /* Instrmnt.cpp */,
+				284A81090F3158A1001D7A67 /* JCRev.cpp */,
+				284A810A0F3158A1001D7A67 /* JetTable.cpp */,
+				284A810B0F3158A1001D7A67 /* Mandolin.cpp */,
+				284A810C0F3158A1001D7A67 /* Modal.cpp */,
+				284A810D0F3158A1001D7A67 /* ModalBar.cpp */,
+				284A810E0F3158A1001D7A67 /* Noise.cpp */,
+				284A810F0F3158A1001D7A67 /* NRev.cpp */,
+				284A81100F3158A1001D7A67 /* OnePole.cpp */,
+				284A81110F3158A1001D7A67 /* OneZero.cpp */,
+				284A81120F3158A1001D7A67 /* PitShift.cpp */,
+				284A81130F3158A1001D7A67 /* PluckTwo.cpp */,
+				284A81140F3158A1001D7A67 /* PoleZero.cpp */,
+				284A81150F3158A1001D7A67 /* PRCRev.cpp */,
+				284A81160F3158A1001D7A67 /* ReedTable.cpp */,
+				284A81170F3158A1001D7A67 /* Saxofony.cpp */,
+				284A81180F3158A1001D7A67 /* SineWave.cpp */,
+				284A81190F3158A1001D7A67 /* Sitar.cpp */,
+				284A811A0F3158A1001D7A67 /* Stk.cpp */,
+				284A811B0F3158A1001D7A67 /* WaveLoop.cpp */,
+				284A811C0F3158A1001D7A67 /* WvIn.cpp */,
+			);
+			path = src;
+			sourceTree = "<group>";
+		};
+		284A817C0F3158A2001D7A67 /* tran */ = {
+			isa = PBXGroup;
+			children = (
+				284A817E0F3158A2001D7A67 /* abs.c */,
+				28EB75590FDC300C0046D78E /* abs.h */,
+				284A81810F3158A2001D7A67 /* allpoles.c */,
+				28EB755A0FDC300C0046D78E /* allpoles.h */,
+				284A81840F3158A2001D7A67 /* alpass.c */,
+				28EB755B0FDC300C0046D78E /* alpass.h */,
+				284A81870F3158A2001D7A67 /* alpasscv.c */,
+				28EB755C0FDC300C0046D78E /* alpasscv.h */,
+				284A818D0F3158A2001D7A67 /* alpassvv.c */,
+				28EB755D0FDC300C0046D78E /* alpassvv.h */,
+				284A81900F3158A2001D7A67 /* amosc.c */,
+				28EB755E0FDC300C0046D78E /* amosc.h */,
+				284A81930F3158A2001D7A67 /* areson.c */,
+				28EB755F0FDC300C0046D78E /* areson.h */,
+				284A81960F3158A2001D7A67 /* aresoncv.c */,
+				28EB75600FDC300C0046D78E /* aresoncv.h */,
+				284A81990F3158A2001D7A67 /* aresonvc.c */,
+				28EB75610FDC300C0046D78E /* aresonvc.h */,
+				284A819C0F3158A2001D7A67 /* aresonvv.c */,
+				28EB75620FDC300C0046D78E /* aresonvv.h */,
+				284A819F0F3158A2001D7A67 /* atone.c */,
+				28EB75630FDC300C0046D78E /* atone.h */,
+				284A81A20F3158A2001D7A67 /* atonev.c */,
+				28EB75640FDC300C0046D78E /* atonev.h */,
+				284A81A50F3158A2001D7A67 /* biquadfilt.c */,
+				28EB75650FDC300C0046D78E /* biquadfilt.h */,
+				284A81A80F3158A2001D7A67 /* buzz.c */,
+				28EB75660FDC300C0046D78E /* buzz.h */,
+				284A81AB0F3158A2001D7A67 /* chase.c */,
+				28EB75750FDC30C60046D78E /* chase.h */,
+				284A81AE0F3158A2001D7A67 /* clip.c */,
+				28EB75760FDC30C60046D78E /* clip.h */,
+				284A81B10F3158A2001D7A67 /* congen.c */,
+				28EB75770FDC30C60046D78E /* congen.h */,
+				284A81B40F3158A2001D7A67 /* const.c */,
+				28EB75780FDC30C60046D78E /* const.h */,
+				284A81B80F3158A2001D7A67 /* coterm.c */,
+				28EB75790FDC30C60046D78E /* coterm.h */,
+				284A81BC0F3158A2001D7A67 /* delaycc.c */,
+				28EB757A0FDC30C60046D78E /* delaycc.h */,
+				284A81BF0F3158A2001D7A67 /* delaycv.c */,
+				28EB757B0FDC30C60046D78E /* delaycv.h */,
+				284A81C40F3158A2001D7A67 /* eqbandvvv.c */,
+				28EB757C0FDC30C60046D78E /* eqbandvvv.h */,
+				284A81C70F3158A2001D7A67 /* exp.c */,
+				28EB757D0FDC30C60046D78E /* exp.h */,
+				284A81CB0F3158A2001D7A67 /* fmfb.c */,
+				28EB757E0FDC30C60046D78E /* fmfb.h */,
+				284A81CE0F3158A2001D7A67 /* fmfbv.c */,
+				28EB757F0FDC30C60046D78E /* fmfbv.h */,
+				284A81D10F3158A2001D7A67 /* fmosc.c */,
+				28EB75800FDC30C60046D78E /* fmosc.h */,
+				284A81D40F3158A2001D7A67 /* follow.c */,
+				28EB75810FDC30C60046D78E /* follow.h */,
+				284A81D70F3158A2001D7A67 /* fromarraystream.c */,
+				28EB75820FDC30C60046D78E /* fromarraystream.h */,
+				284A81DA0F3158A2001D7A67 /* fromobject.c */,
+				28EB75830FDC30C60046D78E /* fromobject.h */,
+				284A81DD0F3158A2001D7A67 /* gate.c */,
+				28EB75840FDC30C60046D78E /* gate.h */,
+				284A81E10F3158A2001D7A67 /* ifft.c */,
+				28EB75850FDC30C60046D78E /* ifft.h */,
+				284A81E60F3158A2001D7A67 /* instrbanded.c */,
+				28EB75860FDC30C60046D78E /* instrbanded.h */,
+				284A81E90F3158A2001D7A67 /* instrbow.c */,
+				28EB75870FDC30C60046D78E /* instrbow.h */,
+				284A81EC0F3158A2001D7A67 /* instrbowedfreq.c */,
+				28EB75880FDC30C60046D78E /* instrbowedfreq.h */,
+				284A81EF0F3158A2001D7A67 /* instrclar.c */,
+				28EB75890FDC30C60046D78E /* instrclar.h */,
+				284A81F20F3158A2001D7A67 /* instrclarall.c */,
+				28EB758A0FDC30C60046D78E /* instrclarall.h */,
+				284A81F50F3158A2001D7A67 /* instrclarfreq.c */,
+				28EB758B0FDC30C60046D78E /* instrclarfreq.h */,
+				284A81F80F3158A2001D7A67 /* instrflute.c */,
+				28EB758C0FDC30C60046D78E /* instrflute.h */,
+				284A81FB0F3158A2001D7A67 /* instrfluteall.c */,
+				28EB758D0FDC30C60046D78E /* instrfluteall.h */,
+				284A81FE0F3158A2001D7A67 /* instrflutefreq.c */,
+				28EB758E0FDC30C60046D78E /* instrflutefreq.h */,
+				284A82010F3158A2001D7A67 /* instrmandolin.c */,
+				28EB758F0FDC30C60046D78E /* instrmandolin.h */,
+				284A82040F3158A2001D7A67 /* instrmodalbar.c */,
+				28EB75900FDC30C60046D78E /* instrmodalbar.h */,
+				284A82070F3158A2001D7A67 /* instrsax.c */,
+				28EB75910FDC30C60046D78E /* instrsax.h */,
+				284A820A0F3158A2001D7A67 /* instrsaxall.c */,
+				28EB75920FDC30C60046D78E /* instrsaxall.h */,
+				284A820D0F3158A2001D7A67 /* instrsaxfreq.c */,
+				28EB75930FDC30C60046D78E /* instrsaxfreq.h */,
+				284A82100F3158A2001D7A67 /* instrsitar.c */,
+				28EB75940FDC30C60046D78E /* instrsitar.h */,
+				284A82130F3158A2001D7A67 /* integrate.c */,
+				28EB75950FDC30C60046D78E /* integrate.h */,
+				284A82160F3158A2001D7A67 /* log.c */,
+				28EB75960FDC30C60046D78E /* log.h */,
+				284A82190F3158A2001D7A67 /* lpreson.c */,
+				28EB75970FDC30C60046D78E /* lpreson.h */,
+				284A821C0F3158A2001D7A67 /* maxv.c */,
+				28EB75980FDC30C60046D78E /* maxv.h */,
+				284A821F0F3158A2001D7A67 /* offset.c */,
+				28EB75990FDC30C60046D78E /* offset.h */,
+				284A82220F3158A2001D7A67 /* oneshot.c */,
+				28EB759A0FDC30C60046D78E /* oneshot.h */,
+				284A82250F3158A2001D7A67 /* osc.c */,
+				28EB759B0FDC30C60046D78E /* osc.h */,
+				284A82280F3158A2001D7A67 /* partial.c */,
+				28EB759C0FDC30C60046D78E /* partial.h */,
+				284A822B0F3158A2001D7A67 /* pluck.c */,
+				28EB759D0FDC30C60046D78E /* pluck.h */,
+				284A822E0F3158A2001D7A67 /* prod.c */,
+				28EB759E0FDC30C60046D78E /* prod.h */,
+				284A82310F3158A2001D7A67 /* pwl.c */,
+				28EB759F0FDC30C60046D78E /* pwl.h */,
+				284A82340F3158A2001D7A67 /* quantize.c */,
+				28EB75A00FDC30C60046D78E /* quantize.h */,
+				284A82370F3158A2001D7A67 /* recip.c */,
+				28EB75A10FDC30C60046D78E /* recip.h */,
+				284A823A0F3158A2001D7A67 /* reson.c */,
+				28EB75A20FDC30C60046D78E /* reson.h */,
+				284A823D0F3158A2001D7A67 /* resoncv.c */,
+				28EB75A30FDC30C60046D78E /* resoncv.h */,
+				284A82400F3158A2001D7A67 /* resonvc.c */,
+				28EB75A40FDC30C60046D78E /* resonvc.h */,
+				284A82430F3158A2001D7A67 /* resonvv.c */,
+				28EB75A50FDC30C60046D78E /* resonvv.h */,
+				284A82460F3158A2001D7A67 /* sampler.c */,
+				28EB75A60FDC30C60046D78E /* sampler.h */,
+				284A82490F3158A2001D7A67 /* scale.c */,
+				28EB75A70FDC30C60046D78E /* scale.h */,
+				284A824C0F3158A2001D7A67 /* shape.c */,
+				28EB75A80FDC30C60046D78E /* shape.h */,
+				284A824F0F3158A2001D7A67 /* sine.c */,
+				28EB75A90FDC30C60046D78E /* sine.h */,
+				284A82520F3158A2001D7A67 /* siosc.c */,
+				28EB75AA0FDC30C60046D78E /* siosc.h */,
+				284A82550F3158A2001D7A67 /* slope.c */,
+				28EB75AB0FDC30C60046D78E /* slope.h */,
+				284A82580F3158A2001D7A67 /* sqrt.c */,
+				28EB75AC0FDC30C60046D78E /* sqrt.h */,
+				284A825B0F3158A2001D7A67 /* stkchorus.c */,
+				28EB75AD0FDC30C60046D78E /* stkchorus.h */,
+				284A825E0F3158A2001D7A67 /* stkpitshift.c */,
+				28EB75AE0FDC30C60046D78E /* stkpitshift.h */,
+				284A82610F3158A2001D7A67 /* stkrev.c */,
+				28EB75AF0FDC30C60046D78E /* stkrev.h */,
+				284A82640F3158A2001D7A67 /* tapf.c */,
+				28EB75B00FDC30C60046D78E /* tapf.h */,
+				284A82670F3158A2001D7A67 /* tapv.c */,
+				28EB75B10FDC30C60046D78E /* tapv.h */,
+				284A826A0F3158A2001D7A67 /* tone.c */,
+				284A826D0F3158A2001D7A67 /* tonev.c */,
+				28EB75B20FDC30C60046D78E /* tone.h */,
+				28EB75B30FDC30C60046D78E /* tonev.h */,
+				284A82720F3158A2001D7A67 /* upsample.c */,
+				28EB75B40FDC30C60046D78E /* upsample.h */,
+				284A82750F3158A2001D7A67 /* white.c */,
+				28EB75B50FDC30C60046D78E /* white.h */,
+			);
+			path = tran;
+			sourceTree = "<group>";
+		};
+		284A827A0F3158A2001D7A67 /* xlisp */ = {
+			isa = PBXGroup;
+			children = (
+				284A827B0F3158A2001D7A67 /* extern.c */,
+				284A827F0F3158A2001D7A67 /* path.c */,
+				284A82800F3158A2001D7A67 /* xlbfun.c */,
+				284A82810F3158A2001D7A67 /* xlcont.c */,
+				284A82820F3158A2001D7A67 /* xldbug.c */,
+				284A82830F3158A2001D7A67 /* xldmem.c */,
+				28EB75F70FDC322A0046D78E /* xldmem.h */,
+				284A82850F3158A2001D7A67 /* xleval.c */,
+				284A82860F3158A2001D7A67 /* xlfio.c */,
+				284A82870F3158A2001D7A67 /* xlftab.c */,
+				284A82880F3158A2001D7A67 /* xlglob.c */,
+				284A82890F3158A2001D7A67 /* xlimage.c */,
+				284A828A0F3158A2001D7A67 /* xlinit.c */,
+				284A828B0F3158A2001D7A67 /* xlio.c */,
+				284A828C0F3158A2001D7A67 /* xlisp.c */,
+				28EB75F80FDC322A0046D78E /* xlisp.h */,
+				284A828E0F3158A2001D7A67 /* xljump.c */,
+				284A828F0F3158A2001D7A67 /* xllist.c */,
+				284A82900F3158A2001D7A67 /* xlmath.c */,
+				284A82910F3158A2001D7A67 /* xlobj.c */,
+				284A82920F3158A2001D7A67 /* xlpp.c */,
+				284A82930F3158A2001D7A67 /* xlprin.c */,
+				284A82940F3158A2001D7A67 /* xlread.c */,
+				284A82950F3158A2001D7A67 /* xlstr.c */,
+				284A82960F3158A2001D7A67 /* xlsubr.c */,
+				284A82970F3158A2001D7A67 /* xlsym.c */,
+				284A82980F3158A2001D7A67 /* xlsys.c */,
+			);
+			path = xlisp;
+			sourceTree = "<group>";
+		};
 		28501E960CEECE4B0029ABAA /* vamp */ = {
 			isa = PBXGroup;
 			children = (
@@ -4927,6 +5966,19 @@
 			path = toolbars;
 			sourceTree = "<group>";
 		};
+		28A4E29B0F6030F200E9E7F2 /* ffts */ = {
+			isa = PBXGroup;
+			children = (
+				28A4E2A40F60319300E9E7F2 /* fftext.c */,
+				28A4E2A50F60319300E9E7F2 /* fftext.h */,
+				28A4E2A60F60319300E9E7F2 /* fftlib.c */,
+				28A4E2A70F60319300E9E7F2 /* fftlib.h */,
+				28A4E2AA0F60319300E9E7F2 /* matlib.c */,
+				28A4E2AB0F60319300E9E7F2 /* matlib.h */,
+			);
+			name = ffts;
+			sourceTree = "<group>";
+		};
 		28AA28110F267957008AED9E /* plug-ins */ = {
 			isa = PBXGroup;
 			children = (
@@ -4953,29 +6005,49 @@
 		28AA28320F267A50008AED9E /* nyquist */ = {
 			isa = PBXGroup;
 			children = (
-				28AA28330F267A6E008AED9E /* bug.lsp */,
-				28AA28340F267A6E008AED9E /* dspprims.lsp */,
-				28AA28350F267A6E008AED9E /* evalenv.lsp */,
-				28AA28360F267A6E008AED9E /* follow.lsp */,
-				28AA28370F267A6E008AED9E /* init.lsp */,
-				28AA28380F267A6E008AED9E /* misc.lsp */,
-				28AA28390F267A6E008AED9E /* nyinit.lsp */,
-				28AA283A0F267A6E008AED9E /* nyqmisc.lsp */,
-				28AA283B0F267A6E008AED9E /* nyquist.lsp */,
-				28AA283C0F267A6E008AED9E /* printrec.lsp */,
-				28AA283D0F267A6E008AED9E /* profile.lsp */,
-				28AA283E0F267A6E008AED9E /* seq.lsp */,
-				28AA283F0F267A6E008AED9E /* seqfnint.lsp */,
-				28AA28400F267A6E008AED9E /* seqmidi.lsp */,
-				28AA28410F267A6E008AED9E /* sndfnint.lsp */,
-				28AA28420F267A6E008AED9E /* system.lsp */,
-				28AA28430F267A6E008AED9E /* test.lsp */,
-				28AA28440F267A6E008AED9E /* xlinit.lsp */,
+				2808026A0F32C11F0021001D /* rawwaves */,
+				2808025B0F32C11F0021001D /* bug.lsp */,
+				2808025C0F32C11F0021001D /* dspprims.lsp */,
+				2808025D0F32C11F0021001D /* envelopes.lsp */,
+				2808025E0F32C11F0021001D /* equalizer.lsp */,
+				2808025F0F32C11F0021001D /* evalenv.lsp */,
+				280802600F32C11F0021001D /* fileio.lsp */,
+				280802610F32C11F0021001D /* follow.lsp */,
+				280802620F32C11F0021001D /* init.lsp */,
+				280802630F32C11F0021001D /* misc.lsp */,
+				280802640F32C11F0021001D /* nyinit.lsp */,
+				280802650F32C11F0021001D /* nyqmisc.lsp */,
+				280802660F32C11F0021001D /* nyquist-plot.txt */,
+				280802670F32C11F0021001D /* nyquist.lsp */,
+				280802680F32C11F0021001D /* printrec.lsp */,
+				280802690F32C11F0021001D /* profile.lsp */,
+				2808027A0F32C11F0021001D /* sal-parse.lsp */,
+				2808027B0F32C11F0021001D /* sal.lsp */,
+				2808027C0F32C11F0021001D /* seq.lsp */,
+				2808027D0F32C11F0021001D /* seqfnint.lsp */,
+				2808027E0F32C11F0021001D /* seqmidi.lsp */,
+				2808027F0F32C11F0021001D /* sndfnint.lsp */,
+				280802800F32C11F0021001D /* stk.lsp */,
+				280802810F32C11F0021001D /* system.lsp */,
+				280802820F32C11F0021001D /* xlinit.lsp */,
+				280802830F32C11F0021001D /* xm.lsp */,
 			);
 			includeInIndex = 1;
 			name = nyquist;
 			sourceTree = "<group>";
 		};
+		28B97B800FBF77030076CF28 /* vst */ = {
+			isa = PBXGroup;
+			children = (
+				2885BFF10FC108F800128165 /* aeffectx.h */,
+				2885BFF20FC108F800128165 /* LoadVST.cpp */,
+				2885BFF30FC108F800128165 /* LoadVST.h */,
+				28B97B850FBF771A0076CF28 /* VSTEffect.cpp */,
+				28B97B860FBF771A0076CF28 /* VSTEffect.h */,
+			);
+			name = vst;
+			sourceTree = "<group>";
+		};
 		28D587C50E264CBB009C7DEA /* lv2 */ = {
 			isa = PBXGroup;
 			children = (
@@ -5080,6 +6152,53 @@
 			path = "portaudio-v19/src/os";
 			sourceTree = "<group>";
 		};
+		28EB75030FDC2FB10046D78E /* include */ = {
+			isa = PBXGroup;
+			children = (
+				28EB75040FDC2FB10046D78E /* ADSR.h */,
+				28EB75050FDC2FB10046D78E /* BandedWG.h */,
+				28EB75060FDC2FB10046D78E /* BiQuad.h */,
+				28EB75070FDC2FB10046D78E /* Bowed.h */,
+				28EB75080FDC2FB10046D78E /* BowTable.h */,
+				28EB75090FDC2FB10046D78E /* Chorus.h */,
+				28EB750A0FDC2FB10046D78E /* Clarinet.h */,
+				28EB750B0FDC2FB10046D78E /* Delay.h */,
+				28EB750C0FDC2FB10046D78E /* DelayA.h */,
+				28EB750D0FDC2FB10046D78E /* DelayL.h */,
+				28EB750E0FDC2FB10046D78E /* Effect.h */,
+				28EB750F0FDC2FB10046D78E /* Envelope.h */,
+				28EB75100FDC2FB10046D78E /* FileRead.h */,
+				28EB75110FDC2FB10046D78E /* FileWvIn.h */,
+				28EB75120FDC2FB10046D78E /* Filter.h */,
+				28EB75130FDC2FB10046D78E /* Flute.h */,
+				28EB75140FDC2FB10046D78E /* Function.h */,
+				28EB75150FDC2FB10046D78E /* Generator.h */,
+				28EB75160FDC2FB10046D78E /* Instrmnt.h */,
+				28EB75170FDC2FB10046D78E /* JCRev.h */,
+				28EB75180FDC2FB10046D78E /* JetTable.h */,
+				28EB75190FDC2FB10046D78E /* Mandolin.h */,
+				28EB751A0FDC2FB10046D78E /* Modal.h */,
+				28EB751B0FDC2FB10046D78E /* ModalBar.h */,
+				28EB751C0FDC2FB10046D78E /* Noise.h */,
+				28EB751D0FDC2FB10046D78E /* NRev.h */,
+				28EB751E0FDC2FB10046D78E /* OnePole.h */,
+				28EB751F0FDC2FB10046D78E /* OneZero.h */,
+				28EB75200FDC2FB10046D78E /* PitShift.h */,
+				28EB75210FDC2FB10046D78E /* PluckTwo.h */,
+				28EB75220FDC2FB10046D78E /* PoleZero.h */,
+				28EB75230FDC2FB10046D78E /* PRCRev.h */,
+				28EB75240FDC2FB10046D78E /* ReedTable.h */,
+				28EB75250FDC2FB10046D78E /* Saxofony.h */,
+				28EB75260FDC2FB10046D78E /* SineWave.h */,
+				28EB75270FDC2FB10046D78E /* Sitar.h */,
+				28EB75280FDC2FB10046D78E /* SKINI.msg */,
+				28EB75290FDC2FB10046D78E /* Stk.h */,
+				28EB752A0FDC2FB10046D78E /* WaveLoop.h */,
+				28EB752B0FDC2FB10046D78E /* WvIn.h */,
+			);
+			path = include;
+			sourceTree = "<group>";
+		};
 		28F3A3EF0E28280A00729866 /* portsmf */ = {
 			isa = PBXGroup;
 			children = (
@@ -5315,6 +6434,7 @@
 				1707405C0988EEBA008541CC /* sfendian.h in Headers */,
 				1707405E0988EEBA008541CC /* sndfile.h in Headers */,
 				170740680988EEBA008541CC /* wav_w64.h in Headers */,
+				287DBE8C0F3F6B2700C5BBED /* ima_oki_adpcm.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -5395,140 +6515,183 @@
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				17CBAD41098B84E300575C58 /* cext.h in Headers */,
-				17CBAD43098B84E300575C58 /* cleanup.h in Headers */,
-				17CBAD45098B84E300575C58 /* cmdline.h in Headers */,
-				17CBAD47098B84E300575C58 /* cmtcmd.h in Headers */,
-				17CBAD48098B84E300575C58 /* hash.h in Headers */,
-				17CBAD49098B84E300575C58 /* hashrout.h in Headers */,
-				17CBAD4B098B84E300575C58 /* mem.h in Headers */,
-				17CBAD4C098B84E300575C58 /* mfmidi.h in Headers */,
-				17CBAD4D098B84E300575C58 /* midibuff.h in Headers */,
-				17CBAD4E098B84E300575C58 /* midicode.h in Headers */,
-				17CBAD4F098B84E300575C58 /* midierr.h in Headers */,
-				17CBAD51098B84E300575C58 /* midifile.h in Headers */,
-				17CBAD53098B84E300575C58 /* midifns.h in Headers */,
-				17CBAD55098B84E300575C58 /* moxc.h in Headers */,
-				17CBAD56098B84E300575C58 /* musiprog.h in Headers */,
-				17CBAD57098B84E300575C58 /* pitch.h in Headers */,
-				17CBAD59098B84E300575C58 /* record.h in Headers */,
-				17CBAD5B098B84E300575C58 /* seq.h in Headers */,
-				17CBAD5C098B84E300575C58 /* seqdecls.h in Headers */,
-				17CBAD5E098B84E300575C58 /* seqmread.h in Headers */,
-				17CBAD60098B84E300575C58 /* seqmwrite.h in Headers */,
-				17CBAD62098B84E300575C58 /* seqread.h in Headers */,
-				17CBAD64098B84E300575C58 /* seqwrite.h in Headers */,
-				17CBAD65098B84E300575C58 /* swlogic.h in Headers */,
-				17CBAD67098B84E300575C58 /* tempomap.h in Headers */,
-				17CBAD69098B84E300575C58 /* timebase.h in Headers */,
-				17CBAD6B098B84E300575C58 /* userio.h in Headers */,
-				17CBAD6D098B84E300575C58 /* fftn.h in Headers */,
-				17CBAD6F098B84E300575C58 /* add.h in Headers */,
-				17CBAD71098B84E300575C58 /* avg.h in Headers */,
-				17CBAD73098B84E300575C58 /* compose.h in Headers */,
-				17CBAD74098B84E300575C58 /* cque.h in Headers */,
-				17CBAD76098B84E300575C58 /* debug.h in Headers */,
-				17CBAD78098B84E300575C58 /* downsample.h in Headers */,
-				17CBAD7A098B84E300575C58 /* falloc.h in Headers */,
-				17CBAD7C098B84E300575C58 /* ffilterkit.h in Headers */,
-				17CBAD7E098B84E300575C58 /* fft.h in Headers */,
-				17CBAD7F098B84E300575C58 /* fftw.h in Headers */,
-				17CBAD80098B84E300575C58 /* fresample.h in Headers */,
-				17CBAD81098B84E300575C58 /* fsmallfilter.h in Headers */,
-				17CBAD84098B84E300575C58 /* inverse.h in Headers */,
-				17CBAD86098B84E300575C58 /* localdefs.h in Headers */,
-				17CBAD87098B84E300575C58 /* localptrs.h in Headers */,
-				17CBAD89098B84E300575C58 /* multiread.h in Headers */,
-				17CBAD8B098B84E300575C58 /* multiseq.h in Headers */,
-				17CBAD8D098B84E300575C58 /* resamp.h in Headers */,
-				17CBAD8F098B84E300575C58 /* resampv.h in Headers */,
-				17CBAD90098B84E300575C58 /* rfftw.h in Headers */,
-				17CBAD92098B84E300575C58 /* samples.h in Headers */,
-				17CBAD94098B84E300575C58 /* seqext.h in Headers */,
-				17CBAD96098B84E300575C58 /* seqfnintdefs.h in Headers */,
-				17CBAD97098B84E300575C58 /* seqfnintptrs.h in Headers */,
-				17CBAD99098B84E300575C58 /* seqinterf.h in Headers */,
-				17CBAD9C098B84E300575C58 /* sndfnintdefs.h in Headers */,
-				17CBAD9D098B84E300575C58 /* sndfnintptrs.h in Headers */,
-				17CBAD9F098B84E300575C58 /* sndmax.h in Headers */,
-				17CBADA1098B84E300575C58 /* sndread.h in Headers */,
-				17CBADA3098B84E300575C58 /* sndseq.h in Headers */,
-				17CBADA5098B84E300575C58 /* sndwrite.h in Headers */,
-				17CBADA7098B84E300575C58 /* sound.h in Headers */,
-				17CBADA9098B84E300575C58 /* stdefs.h in Headers */,
-				17CBADAB098B84E300575C58 /* nyx.h in Headers */,
-				17CBADAE098B84E300575C58 /* ieeecvt.h in Headers */,
-				17CBADB0098B84E300575C58 /* snd.h in Headers */,
-				17CBADB1098B84E300575C58 /* sndconfig.h in Headers */,
-				17CBADB3098B84E300575C58 /* sndfileio.h in Headers */,
-				17CBADB4098B84E300575C58 /* sndfreebsd.h in Headers */,
-				17CBADB5098B84E300575C58 /* sndhead.h in Headers */,
-				17CBADB7098B84E300575C58 /* sndheader.h in Headers */,
-				17CBADBA098B84E300575C58 /* sndlinux.h in Headers */,
-				17CBADBB098B84E300575C58 /* sndwrite.h in Headers */,
-				17CBADBC098B84E300575C58 /* switches.h in Headers */,
-				17CBADBE098B84E300575C58 /* term.h in Headers */,
-				28EB47D90AFD54B800502984 /* abs.h in Headers */,
-				17CBADC0098B84E300575C58 /* alpass.h in Headers */,
-				17CBADC2098B84E300575C58 /* amosc.h in Headers */,
-				17CBADC4098B84E300575C58 /* areson.h in Headers */,
-				17CBADC6098B84E300575C58 /* aresoncv.h in Headers */,
-				17CBADC8098B84E300575C58 /* aresonvc.h in Headers */,
-				17CBADCA098B84E300575C58 /* aresonvv.h in Headers */,
-				17CBADCC098B84E300575C58 /* atone.h in Headers */,
-				17CBADCE098B84E300575C58 /* atonev.h in Headers */,
-				17CBADD0098B84E300575C58 /* biquad.h in Headers */,
-				17CBADD2098B84E300575C58 /* buzz.h in Headers */,
-				17CBADD4098B84E300575C58 /* chase.h in Headers */,
-				17CBADD6098B84E300575C58 /* clip.h in Headers */,
-				17CBADD8098B84E300575C58 /* congen.h in Headers */,
-				17CBADDA098B84E300575C58 /* const.h in Headers */,
-				17CBADDC098B84E300575C58 /* convolve.h in Headers */,
-				17CBADDE098B84E300575C58 /* coterm.h in Headers */,
-				17CBADE0098B84E300575C58 /* delay.h in Headers */,
-				17CBADE2098B84E300575C58 /* delaycv.h in Headers */,
-				17CBADE4098B84E300575C58 /* exp.h in Headers */,
-				17CBADE6098B84E300575C58 /* fmosc.h in Headers */,
-				17CBADE8098B84E300575C58 /* follow.h in Headers */,
-				17CBADEA098B84E300575C58 /* fromarraystream.h in Headers */,
-				17CBADEC098B84E300575C58 /* fromobject.h in Headers */,
-				17CBADEE098B84E300575C58 /* gate.h in Headers */,
-				17CBADF0098B84E300575C58 /* ifft.h in Headers */,
-				17CBADF2098B84E300575C58 /* integrate.h in Headers */,
-				17CBADF4098B84E300575C58 /* log.h in Headers */,
-				17CBADF6098B84E300575C58 /* maxv.h in Headers */,
-				17CBADF8098B84E300575C58 /* offset.h in Headers */,
-				17CBADFA098B84E300575C58 /* oneshot.h in Headers */,
-				17CBADFC098B84E300575C58 /* osc.h in Headers */,
-				17CBADFE098B84E300575C58 /* partial.h in Headers */,
-				17CBAE00098B84E300575C58 /* pluck.h in Headers */,
-				17CBAE02098B84E300575C58 /* prod.h in Headers */,
-				17CBAE04098B84E300575C58 /* pwl.h in Headers */,
-				17CBAE06098B84E300575C58 /* quantize.h in Headers */,
-				17CBAE08098B84E300575C58 /* recip.h in Headers */,
-				17CBAE0A098B84E300575C58 /* reson.h in Headers */,
-				17CBAE0C098B84E300575C58 /* resoncv.h in Headers */,
-				17CBAE0E098B84E300575C58 /* resonvc.h in Headers */,
-				17CBAE10098B84E300575C58 /* resonvv.h in Headers */,
-				17CBAE12098B84E300575C58 /* sampler.h in Headers */,
-				17CBAE14098B84E300575C58 /* scale.h in Headers */,
-				17CBAE16098B84E300575C58 /* shape.h in Headers */,
-				17CBAE18098B84E300575C58 /* sine.h in Headers */,
-				17CBAE1A098B84E300575C58 /* siosc.h in Headers */,
-				17CBAE1C098B84E300575C58 /* slope.h in Headers */,
-				28EB47DA0AFD54B800502984 /* sqrt.h in Headers */,
-				17CBAE1E098B84E300575C58 /* tapv.h in Headers */,
-				17CBAE20098B84E300575C58 /* tone.h in Headers */,
-				17CBAE22098B84E300575C58 /* tonev.h in Headers */,
-				17CBAE24098B84E300575C58 /* upsample.h in Headers */,
-				17CBAE26098B84E300575C58 /* white.h in Headers */,
-				17CBAE28098B84E300575C58 /* extern.h in Headers */,
-				17CBAE29098B84E300575C58 /* osdefs.h in Headers */,
-				17CBAE2A098B84E300575C58 /* osptrs.h in Headers */,
-				17CBAE30098B84E300575C58 /* xldmem.h in Headers */,
-				17CBAE39098B84E300575C58 /* xlisp.h in Headers */,
-				28D0255C0AFDA53B0035F843 /* alpasscv.h in Headers */,
-				28D0255E0AFDA53B0035F843 /* alpassvc.h in Headers */,
+				284A7B930F31571C001D7A67 /* nyx.h in Headers */,
+				28A4E2AD0F60319300E9E7F2 /* fftext.h in Headers */,
+				28A4E2AF0F60319300E9E7F2 /* fftlib.h in Headers */,
+				28A4E2B10F60319300E9E7F2 /* matlib.h in Headers */,
+				28EB74AD0FDC2DF60046D78E /* userio.h in Headers */,
+				28EB74AE0FDC2DF60046D78E /* timebase.h in Headers */,
+				28EB74AF0FDC2DF60046D78E /* tempomap.h in Headers */,
+				28EB74B00FDC2DF60046D78E /* seqwrite.h in Headers */,
+				28EB74B10FDC2DF60046D78E /* seqread.h in Headers */,
+				28EB74B20FDC2DF60046D78E /* seqmwrite.h in Headers */,
+				28EB74B30FDC2DF60046D78E /* seqmread.h in Headers */,
+				28EB74B40FDC2DF60046D78E /* seq.h in Headers */,
+				28EB74B50FDC2DF60046D78E /* record.h in Headers */,
+				28EB74B60FDC2DF60046D78E /* moxc.h in Headers */,
+				28EB74B70FDC2DF60046D78E /* midifns.h in Headers */,
+				28EB74B80FDC2DF60046D78E /* midifile.h in Headers */,
+				28EB74B90FDC2DF60046D78E /* mem.h in Headers */,
+				28EB74BA0FDC2DF60046D78E /* cmtcmd.h in Headers */,
+				28EB74BB0FDC2DF60046D78E /* cmdline.h in Headers */,
+				28EB74BC0FDC2DF60046D78E /* cleanup.h in Headers */,
+				28EB74BD0FDC2DF60046D78E /* cext.h in Headers */,
+				28EB74DF0FDC2EDF0046D78E /* add.h in Headers */,
+				28EB74E00FDC2EDF0046D78E /* avg.h in Headers */,
+				28EB74E10FDC2EDF0046D78E /* compose.h in Headers */,
+				28EB74E20FDC2EDF0046D78E /* convolve.h in Headers */,
+				28EB74E30FDC2EDF0046D78E /* cque.h in Headers */,
+				28EB74E40FDC2EDF0046D78E /* debug.h in Headers */,
+				28EB74E50FDC2EDF0046D78E /* downsample.h in Headers */,
+				28EB74E60FDC2EDF0046D78E /* falloc.h in Headers */,
+				28EB74E70FDC2EDF0046D78E /* ffilterkit.h in Headers */,
+				28EB74E80FDC2EDF0046D78E /* fft.h in Headers */,
+				28EB74E90FDC2EDF0046D78E /* inverse.h in Headers */,
+				28EB74EA0FDC2EDF0046D78E /* localdefs.h in Headers */,
+				28EB74EB0FDC2EDF0046D78E /* localptrs.h in Headers */,
+				28EB74EC0FDC2EDF0046D78E /* lpanal.h in Headers */,
+				28EB74ED0FDC2EDF0046D78E /* multiread.h in Headers */,
+				28EB74EE0FDC2EDF0046D78E /* multiseq.h in Headers */,
+				28EB74EF0FDC2EDF0046D78E /* probe.h in Headers */,
+				28EB74F00FDC2EDF0046D78E /* resamp.h in Headers */,
+				28EB74F10FDC2EDF0046D78E /* resampv.h in Headers */,
+				28EB74F20FDC2EDF0046D78E /* samples.h in Headers */,
+				28EB74F30FDC2EDF0046D78E /* seqext.h in Headers */,
+				28EB74F40FDC2EDF0046D78E /* seqfnintdefs.h in Headers */,
+				28EB74F50FDC2EDF0046D78E /* seqfnintptrs.h in Headers */,
+				28EB74F60FDC2EDF0046D78E /* seqinterf.h in Headers */,
+				28EB74F70FDC2EDF0046D78E /* sliders.h in Headers */,
+				28EB74F80FDC2EDF0046D78E /* sndfnintdefs.h in Headers */,
+				28EB74F90FDC2EDF0046D78E /* sndfnintptrs.h in Headers */,
+				28EB74FA0FDC2EDF0046D78E /* sndmax.h in Headers */,
+				28EB74FB0FDC2EDF0046D78E /* sndread.h in Headers */,
+				28EB74FC0FDC2EDF0046D78E /* sndseq.h in Headers */,
+				28EB74FD0FDC2EDF0046D78E /* sound.h in Headers */,
+				28EB74FE0FDC2EDF0046D78E /* trigger.h in Headers */,
+				28EB74FF0FDC2EDF0046D78E /* yin.h in Headers */,
+				28EB752F0FDC2FB20046D78E /* ADSR.h in Headers */,
+				28EB75300FDC2FB20046D78E /* BandedWG.h in Headers */,
+				28EB75310FDC2FB20046D78E /* BiQuad.h in Headers */,
+				28EB75320FDC2FB20046D78E /* Bowed.h in Headers */,
+				28EB75330FDC2FB20046D78E /* BowTable.h in Headers */,
+				28EB75340FDC2FB20046D78E /* Chorus.h in Headers */,
+				28EB75350FDC2FB20046D78E /* Clarinet.h in Headers */,
+				28EB75360FDC2FB20046D78E /* Delay.h in Headers */,
+				28EB75370FDC2FB20046D78E /* DelayA.h in Headers */,
+				28EB75380FDC2FB20046D78E /* DelayL.h in Headers */,
+				28EB75390FDC2FB20046D78E /* Effect.h in Headers */,
+				28EB753A0FDC2FB20046D78E /* Envelope.h in Headers */,
+				28EB753B0FDC2FB20046D78E /* FileRead.h in Headers */,
+				28EB753C0FDC2FB20046D78E /* FileWvIn.h in Headers */,
+				28EB753D0FDC2FB20046D78E /* Filter.h in Headers */,
+				28EB753E0FDC2FB20046D78E /* Flute.h in Headers */,
+				28EB753F0FDC2FB20046D78E /* Function.h in Headers */,
+				28EB75400FDC2FB20046D78E /* Generator.h in Headers */,
+				28EB75410FDC2FB20046D78E /* Instrmnt.h in Headers */,
+				28EB75420FDC2FB20046D78E /* JCRev.h in Headers */,
+				28EB75430FDC2FB20046D78E /* JetTable.h in Headers */,
+				28EB75440FDC2FB20046D78E /* Mandolin.h in Headers */,
+				28EB75450FDC2FB20046D78E /* Modal.h in Headers */,
+				28EB75460FDC2FB20046D78E /* ModalBar.h in Headers */,
+				28EB75470FDC2FB20046D78E /* Noise.h in Headers */,
+				28EB75480FDC2FB20046D78E /* NRev.h in Headers */,
+				28EB75490FDC2FB20046D78E /* OnePole.h in Headers */,
+				28EB754A0FDC2FB20046D78E /* OneZero.h in Headers */,
+				28EB754B0FDC2FB20046D78E /* PitShift.h in Headers */,
+				28EB754C0FDC2FB20046D78E /* PluckTwo.h in Headers */,
+				28EB754D0FDC2FB20046D78E /* PoleZero.h in Headers */,
+				28EB754E0FDC2FB20046D78E /* PRCRev.h in Headers */,
+				28EB754F0FDC2FB20046D78E /* ReedTable.h in Headers */,
+				28EB75500FDC2FB20046D78E /* Saxofony.h in Headers */,
+				28EB75510FDC2FB20046D78E /* SineWave.h in Headers */,
+				28EB75520FDC2FB20046D78E /* Sitar.h in Headers */,
+				28EB75530FDC2FB20046D78E /* Stk.h in Headers */,
+				28EB75540FDC2FB20046D78E /* WaveLoop.h in Headers */,
+				28EB75550FDC2FB20046D78E /* WvIn.h in Headers */,
+				28EB75560FDC2FB20046D78E /* instr.h in Headers */,
+				28EB75570FDC2FB20046D78E /* stkinit.h in Headers */,
+				28EB75580FDC2FB20046D78E /* stkint.h in Headers */,
+				28EB75670FDC300C0046D78E /* abs.h in Headers */,
+				28EB75680FDC300C0046D78E /* allpoles.h in Headers */,
+				28EB75690FDC300C0046D78E /* alpass.h in Headers */,
+				28EB756A0FDC300C0046D78E /* alpasscv.h in Headers */,
+				28EB756B0FDC300C0046D78E /* alpassvv.h in Headers */,
+				28EB756C0FDC300C0046D78E /* amosc.h in Headers */,
+				28EB756D0FDC300C0046D78E /* areson.h in Headers */,
+				28EB756E0FDC300C0046D78E /* aresoncv.h in Headers */,
+				28EB756F0FDC300C0046D78E /* aresonvc.h in Headers */,
+				28EB75700FDC300C0046D78E /* aresonvv.h in Headers */,
+				28EB75710FDC300C0046D78E /* atone.h in Headers */,
+				28EB75720FDC300C0046D78E /* atonev.h in Headers */,
+				28EB75730FDC300C0046D78E /* biquadfilt.h in Headers */,
+				28EB75740FDC300C0046D78E /* buzz.h in Headers */,
+				28EB75B60FDC30C70046D78E /* chase.h in Headers */,
+				28EB75B70FDC30C70046D78E /* clip.h in Headers */,
+				28EB75B80FDC30C70046D78E /* congen.h in Headers */,
+				28EB75B90FDC30C70046D78E /* const.h in Headers */,
+				28EB75BA0FDC30C70046D78E /* coterm.h in Headers */,
+				28EB75BB0FDC30C70046D78E /* delaycc.h in Headers */,
+				28EB75BC0FDC30C70046D78E /* delaycv.h in Headers */,
+				28EB75BD0FDC30C70046D78E /* eqbandvvv.h in Headers */,
+				28EB75BE0FDC30C70046D78E /* exp.h in Headers */,
+				28EB75BF0FDC30C70046D78E /* fmfb.h in Headers */,
+				28EB75C00FDC30C70046D78E /* fmfbv.h in Headers */,
+				28EB75C10FDC30C70046D78E /* fmosc.h in Headers */,
+				28EB75C20FDC30C70046D78E /* follow.h in Headers */,
+				28EB75C30FDC30C70046D78E /* fromarraystream.h in Headers */,
+				28EB75C40FDC30C70046D78E /* fromobject.h in Headers */,
+				28EB75C50FDC30C70046D78E /* gate.h in Headers */,
+				28EB75C60FDC30C70046D78E /* ifft.h in Headers */,
+				28EB75C70FDC30C70046D78E /* instrbanded.h in Headers */,
+				28EB75C80FDC30C70046D78E /* instrbow.h in Headers */,
+				28EB75C90FDC30C70046D78E /* instrbowedfreq.h in Headers */,
+				28EB75CA0FDC30C70046D78E /* instrclar.h in Headers */,
+				28EB75CB0FDC30C70046D78E /* instrclarall.h in Headers */,
+				28EB75CC0FDC30C70046D78E /* instrclarfreq.h in Headers */,
+				28EB75CD0FDC30C70046D78E /* instrflute.h in Headers */,
+				28EB75CE0FDC30C70046D78E /* instrfluteall.h in Headers */,
+				28EB75CF0FDC30C70046D78E /* instrflutefreq.h in Headers */,
+				28EB75D00FDC30C70046D78E /* instrmandolin.h in Headers */,
+				28EB75D10FDC30C70046D78E /* instrmodalbar.h in Headers */,
+				28EB75D20FDC30C70046D78E /* instrsax.h in Headers */,
+				28EB75D30FDC30C70046D78E /* instrsaxall.h in Headers */,
+				28EB75D40FDC30C70046D78E /* instrsaxfreq.h in Headers */,
+				28EB75D50FDC30C70046D78E /* instrsitar.h in Headers */,
+				28EB75D60FDC30C70046D78E /* integrate.h in Headers */,
+				28EB75D70FDC30C70046D78E /* log.h in Headers */,
+				28EB75D80FDC30C70046D78E /* lpreson.h in Headers */,
+				28EB75D90FDC30C70046D78E /* maxv.h in Headers */,
+				28EB75DA0FDC30C70046D78E /* offset.h in Headers */,
+				28EB75DB0FDC30C70046D78E /* oneshot.h in Headers */,
+				28EB75DC0FDC30C70046D78E /* osc.h in Headers */,
+				28EB75DD0FDC30C70046D78E /* partial.h in Headers */,
+				28EB75DE0FDC30C70046D78E /* pluck.h in Headers */,
+				28EB75DF0FDC30C70046D78E /* prod.h in Headers */,
+				28EB75E00FDC30C70046D78E /* pwl.h in Headers */,
+				28EB75E10FDC30C70046D78E /* quantize.h in Headers */,
+				28EB75E20FDC30C70046D78E /* recip.h in Headers */,
+				28EB75E30FDC30C70046D78E /* reson.h in Headers */,
+				28EB75E40FDC30C70046D78E /* resoncv.h in Headers */,
+				28EB75E50FDC30C70046D78E /* resonvc.h in Headers */,
+				28EB75E60FDC30C70046D78E /* resonvv.h in Headers */,
+				28EB75E70FDC30C70046D78E /* sampler.h in Headers */,
+				28EB75E80FDC30C70046D78E /* scale.h in Headers */,
+				28EB75E90FDC30C70046D78E /* shape.h in Headers */,
+				28EB75EA0FDC30C70046D78E /* sine.h in Headers */,
+				28EB75EB0FDC30C70046D78E /* siosc.h in Headers */,
+				28EB75EC0FDC30C70046D78E /* slope.h in Headers */,
+				28EB75ED0FDC30C70046D78E /* sqrt.h in Headers */,
+				28EB75EE0FDC30C70046D78E /* stkchorus.h in Headers */,
+				28EB75EF0FDC30C70046D78E /* stkpitshift.h in Headers */,
+				28EB75F00FDC30C70046D78E /* stkrev.h in Headers */,
+				28EB75F10FDC30C70046D78E /* tapf.h in Headers */,
+				28EB75F20FDC30C70046D78E /* tapv.h in Headers */,
+				28EB75F30FDC30C70046D78E /* tone.h in Headers */,
+				28EB75F40FDC30C70046D78E /* tonev.h in Headers */,
+				28EB75F50FDC30C70046D78E /* upsample.h in Headers */,
+				28EB75F60FDC30C70046D78E /* white.h in Headers */,
+				28EB75F90FDC322A0046D78E /* xldmem.h in Headers */,
+				28EB75FA0FDC322A0046D78E /* xlisp.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -5559,6 +6722,101 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		2800FE030FF322D4005CA9E5 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				2800FE0D0FF32308005CA9E5 /* pminternal.h in Headers */,
+				2800FE0F0FF32308005CA9E5 /* pmutil.h in Headers */,
+				2800FE110FF32308005CA9E5 /* portmidi.h in Headers */,
+				2800FE140FF32308005CA9E5 /* pmmac.h in Headers */,
+				2800FE160FF32308005CA9E5 /* pmmacosxcm.h in Headers */,
+				2800FE180FF32308005CA9E5 /* readbinaryplist.h in Headers */,
+				2800FE190FF32308005CA9E5 /* porttime.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		283753E00F42875100364787 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				283754080F4288EB00364787 /* apefooter.h in Headers */,
+				2837540A0F4288EB00364787 /* apeitem.h in Headers */,
+				2837540C0F4288EB00364787 /* apetag.h in Headers */,
+				2837540E0F4288EB00364787 /* asfattribute.h in Headers */,
+				283754100F4288EB00364787 /* asffile.h in Headers */,
+				283754120F4288EB00364787 /* asfproperties.h in Headers */,
+				283754140F4288EB00364787 /* asftag.h in Headers */,
+				283754160F4288EB00364787 /* flacfile.h in Headers */,
+				283754180F4288EB00364787 /* flacproperties.h in Headers */,
+				2837541A0F4288EB00364787 /* mp4atom.h in Headers */,
+				2837541C0F4288EB00364787 /* mp4file.h in Headers */,
+				2837541E0F4288EB00364787 /* mp4item.h in Headers */,
+				283754200F4288EB00364787 /* mp4properties.h in Headers */,
+				283754220F4288EB00364787 /* mp4tag.h in Headers */,
+				283754240F4288EB00364787 /* mpcfile.h in Headers */,
+				283754260F4288EB00364787 /* mpcproperties.h in Headers */,
+				283754280F4288EB00364787 /* id3v1genres.h in Headers */,
+				2837542A0F4288EB00364787 /* id3v1tag.h in Headers */,
+				2837542C0F4288EB00364787 /* attachedpictureframe.h in Headers */,
+				2837542E0F4288EB00364787 /* commentsframe.h in Headers */,
+				283754300F4288EB00364787 /* generalencapsulatedobjectframe.h in Headers */,
+				283754320F4288EB00364787 /* popularimeterframe.h in Headers */,
+				283754340F4288EB00364787 /* privateframe.h in Headers */,
+				283754360F4288EB00364787 /* relativevolumeframe.h in Headers */,
+				283754380F4288EB00364787 /* textidentificationframe.h in Headers */,
+				2837543A0F4288EB00364787 /* uniquefileidentifierframe.h in Headers */,
+				2837543C0F4288EB00364787 /* unknownframe.h in Headers */,
+				2837543E0F4288EB00364787 /* unsynchronizedlyricsframe.h in Headers */,
+				283754400F4288EB00364787 /* urllinkframe.h in Headers */,
+				283754420F4288EB00364787 /* id3v2extendedheader.h in Headers */,
+				283754440F4288EB00364787 /* id3v2footer.h in Headers */,
+				283754460F4288EB00364787 /* id3v2frame.h in Headers */,
+				283754480F4288EB00364787 /* id3v2framefactory.h in Headers */,
+				2837544A0F4288EB00364787 /* id3v2header.h in Headers */,
+				2837544C0F4288EB00364787 /* id3v2synchdata.h in Headers */,
+				2837544E0F4288EB00364787 /* id3v2tag.h in Headers */,
+				283754500F4288EB00364787 /* mpegfile.h in Headers */,
+				283754510F4288EB00364787 /* mpegheader.h in Headers */,
+				283754530F4288EB00364787 /* mpegproperties.h in Headers */,
+				283754550F4288EB00364787 /* xingheader.h in Headers */,
+				283754570F4288EB00364787 /* oggflacfile.h in Headers */,
+				283754590F4288EB00364787 /* oggfile.h in Headers */,
+				2837545B0F4288EB00364787 /* oggpage.h in Headers */,
+				2837545D0F4288EB00364787 /* oggpageheader.h in Headers */,
+				2837545F0F4288EB00364787 /* speexfile.h in Headers */,
+				283754610F4288EB00364787 /* speexproperties.h in Headers */,
+				283754630F4288EB00364787 /* vorbisfile.h in Headers */,
+				283754650F4288EB00364787 /* vorbisproperties.h in Headers */,
+				283754670F4288EB00364787 /* xiphcomment.h in Headers */,
+				283754690F4288EB00364787 /* aifffile.h in Headers */,
+				2837546B0F4288EB00364787 /* aiffproperties.h in Headers */,
+				2837546D0F4288EB00364787 /* rifffile.h in Headers */,
+				2837546F0F4288EB00364787 /* wavfile.h in Headers */,
+				283754710F4288EB00364787 /* wavproperties.h in Headers */,
+				283754730F4288EB00364787 /* audioproperties.h in Headers */,
+				283754750F4288EB00364787 /* fileref.h in Headers */,
+				283754770F4288EB00364787 /* tag.h in Headers */,
+				283754780F4288EB00364787 /* taglib_export.h in Headers */,
+				2837547A0F4288EB00364787 /* tagunion.h in Headers */,
+				2837547B0F4288EB00364787 /* taglib.h in Headers */,
+				2837547D0F4288EB00364787 /* tbytevector.h in Headers */,
+				2837547F0F4288EB00364787 /* tbytevectorlist.h in Headers */,
+				283754810F4288EB00364787 /* tdebug.h in Headers */,
+				283754830F4288EB00364787 /* tfile.h in Headers */,
+				283754840F4288EB00364787 /* tlist.h in Headers */,
+				283754860F4288EB00364787 /* tmap.h in Headers */,
+				283754880F4288EB00364787 /* tstring.h in Headers */,
+				2837548A0F4288EB00364787 /* tstringlist.h in Headers */,
+				2837548C0F4288EB00364787 /* unicode.h in Headers */,
+				2837548E0F4288EB00364787 /* trueaudiofile.h in Headers */,
+				283754900F4288EB00364787 /* trueaudioproperties.h in Headers */,
+				283754920F4288EB00364787 /* wavpackfile.h in Headers */,
+				283754940F4288EB00364787 /* wavpackproperties.h in Headers */,
+				283754A60F428A8E00364787 /* config.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		2840CECC0AEB803C00F49FC3 /* Headers */ = {
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
@@ -5953,24 +7211,6 @@
 			productReference = 170740D40988F820008541CC /* libvorbis.a */;
 			productType = "com.apple.product-type.library.static";
 		};
-		170741420988FDB3008541CC /* intgen */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 170741450988FDD2008541CC /* Build configuration list for PBXNativeTarget "intgen" */;
-			buildPhases = (
-				170741400988FDB3008541CC /* Sources */,
-				170741410988FDB3008541CC /* Frameworks */,
-				17C8C08B098B68BF00216F16 /* Build sndfnint */,
-				28EB47C80AFD4C6C00502984 /* Build seqfnint */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = intgen;
-			productName = intgen;
-			productReference = 170741430988FDB3008541CC /* intgen */;
-			productType = "com.apple.product-type.tool";
-		};
 		176A1A5A098B7B8D00DC73B4 /* libnyquist */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 176A1B65098B7BDC00DC73B4 /* Build configuration list for PBXNativeTarget "libnyquist" */;
@@ -5981,7 +7221,6 @@
 			buildRules = (
 			);
 			dependencies = (
-				176A1B6C098B7C5900DC73B4 /* PBXTargetDependency */,
 			);
 			name = libnyquist;
 			productName = libnyquist;
@@ -6028,8 +7267,8 @@
 				1790AFAC09883B6D008A330A /* Resources */,
 				1790AFAD09883B6D008A330A /* Sources */,
 				1790AFAE09883B6D008A330A /* Frameworks */,
-				28AA28CA0F267E3E008AED9E /* Copy Nyquist Files */,
-				28AA28F00F267FF0008AED9E /* Copy Plug-in Files */,
+				2878AF000F340F9E00396567 /* Copy nyquist */,
+				2878AF020F340FE700396567 /* Copy plug-ins */,
 			);
 			buildRules = (
 				286D31370F264C38004E6E4A /* PBXBuildRule */,
@@ -6039,6 +7278,7 @@
 				17C99D51098970800041B1BC /* PBXTargetDependency */,
 				176EEC7109A2F54D00188F3B /* PBXTargetDependency */,
 				176EEC7309A2F55100188F3B /* PBXTargetDependency */,
+				2800FE280FF323C0005CA9E5 /* PBXTargetDependency */,
 				17C99D4F098970800041B1BC /* PBXTargetDependency */,
 				17C99D4D098970800041B1BC /* PBXTargetDependency */,
 				176A1B6E098B7C7200DC73B4 /* PBXTargetDependency */,
@@ -6054,12 +7294,48 @@
 				17C99D45098970800041B1BC /* PBXTargetDependency */,
 				2840CF800AEB822100F49FC3 /* PBXTargetDependency */,
 				ED2707480EF9C55A007D4FFD /* PBXTargetDependency */,
+				283754980F42895700364787 /* PBXTargetDependency */,
+				28ABC8EA0FD6441D00F9992A /* PBXTargetDependency */,
 			);
 			name = Audacity;
 			productName = Audacity;
 			productReference = 1790AFB009883B6D008A330A /* Audacity.app */;
 			productType = "com.apple.product-type.application";
 		};
+		2800FE060FF322D4005CA9E5 /* portmidi */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 2800FE1D0FF32326005CA9E5 /* Build configuration list for PBXNativeTarget "portmidi" */;
+			buildPhases = (
+				2800FE030FF322D4005CA9E5 /* Headers */,
+				2800FE040FF322D4005CA9E5 /* Sources */,
+				2800FE050FF322D4005CA9E5 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = portmidi;
+			productName = portmidi;
+			productReference = 2800FE070FF322D4005CA9E5 /* libportmidi.a */;
+			productType = "com.apple.product-type.library.static";
+		};
+		283753E30F42875100364787 /* taglib */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 283753EB0F42875A00364787 /* Build configuration list for PBXNativeTarget "taglib" */;
+			buildPhases = (
+				283753E00F42875100364787 /* Headers */,
+				283753E10F42875100364787 /* Sources */,
+				283753E20F42875100364787 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = taglib;
+			productName = taglib;
+			productReference = 283753E40F42875100364787 /* libtaglib.a */;
+			productType = "com.apple.product-type.library.static";
+		};
 		2840CECB0AEB803C00F49FC3 /* twolame */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 2840CF1D0AEB803C00F49FC3 /* Build configuration list for PBXNativeTarget "twolame" */;
@@ -6265,11 +7541,11 @@
 				28501EAF0CEED1F00029ABAA /* libvamp */,
 				2880527D0DEA694100671EA4 /* mod-script-pipe */,
 				28E67F510A3A160D0021D89F /* portaudio-v19 */,
+				2800FE060FF322D4005CA9E5 /* portmidi */,
 				170740950988F2F7008541CC /* portmixer */,
 				17073EE70988DBDD008541CC /* portsmf */,
 				170740790988F1BB008541CC /* soundtouch */,
 				2840CECB0AEB803C00F49FC3 /* twolame */,
-				170741420988FDB3008541CC /* intgen */,
 				287BD8870E25DA3700CB4467 /* raptor */,
 				287BD89D0E25DA5500CB4467 /* rasqal */,
 				287BD8A60E25DA6500CB4467 /* librdf */,
@@ -6277,6 +7553,7 @@
 				287BD9950E25DF2800CB4467 /* slv2 */,
 				28E236F40E515D1D00281398 /* libscorealign */,
 				ED2706F30EF9C3C6007D4FFD /* libsbsms */,
+				283753E30F42875100364787 /* taglib */,
 			);
 		};
 /* End PBXProject section */
@@ -6339,115 +7616,37 @@
 			shellPath = /bin/sh;
 			shellScript = "make -C $TOPLEVEL/lib-src/libmad mad.h\nexit $?\n";
 		};
-		17C8C08B098B68BF00216F16 /* Build sndfnint */ = {
+		2878AF000F340F9E00396567 /* Copy nyquist */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
-				"$(TOPLEVEL)/lib-src/libnyquist/snd/snd.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/sound.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/downsample.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/sndread.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/sndseq.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/add.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/multiseq.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/samples.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/sndwrite.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/sndmax.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/compose.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/inverse.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/resamp.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/resampv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/fft.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/avg.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/amosc.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/clip.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/const.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/fmosc.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/integrate.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/log.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/maxv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/osc.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/prod.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/buzz.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/pwl.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/recip.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/upsample.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/scale.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/sine.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/partial.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/white.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/tone.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/tonev.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/atonev.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/atone.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/reson.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/areson.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/resonvc.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/resoncv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/aresonvc.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/aresoncv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/resonvv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/aresonvv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/offset.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/slope.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/delay.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/delaycv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/shape.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/sampler.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/exp.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/siosc.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/follow.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/gate.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/quantize.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/ifft.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/congen.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/fromobject.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/fromarraystream.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/coterm.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/convolve.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/alpass.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/oneshot.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/chase.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/tapv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/biquad.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/pluck.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/abs.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/sqrt.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/alpasscv.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/tran/alpassvc.h",
-			);
-			name = "Build sndfnint";
+				"$(TOPLEVEL)/nyquist",
+			);
+			name = "Copy nyquist";
 			outputPaths = (
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/sndfnint.c",
+				"$(TARGET_BUILD_DIR)/nyquist",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "cd $TOPLEVEL/lib-src/libnyquist\nNYQHDRS=\nfor (( i = 0; i < $SCRIPT_INPUT_FILE_COUNT; i++ ))\ndo\n\teval hdr=\\$SCRIPT_INPUT_FILE_$i\n\tNYQHDRS=\"$NYQHDRS $(basename $(dirname $hdr))/$(basename $hdr)\"\ndone\n\"$TARGET_BUILD_DIR/intgen\" nyqsrc/sndfnint $NYQHDRS\n";
+			shellPath = /bin/sh;
+			shellScript = "cp -r \"$TOPLEVEL/nyquist\" \"$TARGET_BUILD_DIR/nyquist\"";
 		};
-		28EB47C80AFD4C6C00502984 /* Build seqfnint */ = {
+		2878AF020F340FE700396567 /* Copy plug-ins */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
-				"$(TOPLEVEL)/lib-src/libnyquist/cmt/seqdecls.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/seqext.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/cmt/seq.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/seqinterf.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/cmt/seqread.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/cmt/seqmread.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/cmt/seqwrite.h",
-				"$(TOPLEVEL)/lib-src/libnyquist/cmt/seqmwrite.h",
-			);
-			name = "Build seqfnint";
+				"$(TOPLEVEL)/plug-ins",
+			);
+			name = "Copy plug-ins";
 			outputPaths = (
-				"$(TOPLEVEL)/lib-src/libnyquist/nyqsrc/seqfnint.c",
+				"$(TARGET_BUILD_DIR)/plug-ins",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/bash;
-			shellScript = "cd $TOPLEVEL/lib-src/libnyquist\nCMTHDRS=\nfor (( i = 0; i < $SCRIPT_INPUT_FILE_COUNT; i++ ))\ndo\n\teval hdr=\\$SCRIPT_INPUT_FILE_$i\n\tCMTHDRS=\"$CMTHDRS $(basename $(dirname $hdr))/$(basename $hdr)\"\ndone\n\"$TARGET_BUILD_DIR/intgen\" nyqsrc/seqfnint $CMTHDRS\n";
+			shellPath = /bin/sh;
+			shellScript = "set -x\npwd\ncp -r \"$TOPLEVEL/plug-ins\" \"$TARGET_BUILD_DIR/plug-ins\"\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -6607,6 +7806,11 @@
 				176EE9DF09A2EC1000188F3B /* flac.c in Sources */,
 				176EE9E009A2EC1000188F3B /* g72x.c in Sources */,
 				283A11A50A2C0DE7004372C4 /* broadcast.c in Sources */,
+				287DBE890F3F6B2700C5BBED /* audio_detect.c in Sources */,
+				287DBE8A0F3F6B2700C5BBED /* chunk.c in Sources */,
+				287DBE8B0F3F6B2700C5BBED /* ima_oki_adpcm.c in Sources */,
+				287DBE8D0F3F6B2700C5BBED /* mpc2k.c in Sources */,
+				287DBE8E0F3F6B2700C5BBED /* rf64.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6664,154 +7868,210 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		170741400988FDB3008541CC /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				176A1A55098B7AFB00DC73B4 /* cmdline.c in Sources */,
-				176A1A56098B7AFB00DC73B4 /* intgen.c in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 		176A1A58098B7B8D00DC73B4 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				17CBAD40098B84E300575C58 /* cext.c in Sources */,
-				17CBAD42098B84E300575C58 /* cleanup.c in Sources */,
-				17CBAD44098B84E300575C58 /* cmdline.c in Sources */,
-				17CBAD46098B84E300575C58 /* cmtcmd.c in Sources */,
-				17CBAD4A098B84E300575C58 /* mem.c in Sources */,
-				17CBAD50098B84E300575C58 /* midifile.c in Sources */,
-				17CBAD52098B84E300575C58 /* midifns.c in Sources */,
-				17CBAD54098B84E300575C58 /* moxc.c in Sources */,
-				17CBAD58098B84E300575C58 /* record.c in Sources */,
-				17CBAD5A098B84E300575C58 /* seq.c in Sources */,
-				17CBAD5D098B84E300575C58 /* seqmread.c in Sources */,
-				17CBAD5F098B84E300575C58 /* seqmwrite.c in Sources */,
-				17CBAD61098B84E300575C58 /* seqread.c in Sources */,
-				17CBAD63098B84E300575C58 /* seqwrite.c in Sources */,
-				17CBAD66098B84E300575C58 /* tempomap.c in Sources */,
-				17CBAD68098B84E300575C58 /* timebase.c in Sources */,
-				17CBAD6A098B84E300575C58 /* userio.c in Sources */,
-				17CBAD6C098B84E300575C58 /* fftn.c in Sources */,
-				17CBAD6E098B84E300575C58 /* add.c in Sources */,
-				17CBAD70098B84E300575C58 /* avg.c in Sources */,
-				17CBAD72098B84E300575C58 /* compose.c in Sources */,
-				17CBAD75098B84E300575C58 /* debug.c in Sources */,
-				17CBAD77098B84E300575C58 /* downsample.c in Sources */,
-				17CBAD79098B84E300575C58 /* falloc.c in Sources */,
-				17CBAD7B098B84E300575C58 /* ffilterkit.c in Sources */,
-				17CBAD7D098B84E300575C58 /* fft.c in Sources */,
-				17CBAD82098B84E300575C58 /* handlers.c in Sources */,
-				17CBAD83098B84E300575C58 /* inverse.c in Sources */,
-				17CBAD85098B84E300575C58 /* local.c in Sources */,
-				17CBAD88098B84E300575C58 /* multiread.c in Sources */,
-				17CBAD8A098B84E300575C58 /* multiseq.c in Sources */,
-				17CBAD8C098B84E300575C58 /* resamp.c in Sources */,
-				17CBAD8E098B84E300575C58 /* resampv.c in Sources */,
-				17CBAD91098B84E300575C58 /* samples.c in Sources */,
-				17CBAD93098B84E300575C58 /* seqext.c in Sources */,
-				17CBAD95098B84E300575C58 /* seqfnint.c in Sources */,
-				17CBAD98098B84E300575C58 /* seqinterf.c in Sources */,
-				17CBAD9A098B84E300575C58 /* sndfail.c in Sources */,
-				17CBAD9B098B84E300575C58 /* sndfnint.c in Sources */,
-				17CBAD9E098B84E300575C58 /* sndmax.c in Sources */,
-				17CBADA0098B84E300575C58 /* sndread.c in Sources */,
-				17CBADA2098B84E300575C58 /* sndseq.c in Sources */,
-				17CBADA4098B84E300575C58 /* sndwrite.c in Sources */,
-				17CBADA6098B84E300575C58 /* sound.c in Sources */,
-				17CBADA8098B84E300575C58 /* stats.c in Sources */,
-				17CBADAA098B84E300575C58 /* nyx.c in Sources */,
-				17CBADAC098B84E300575C58 /* audionone.c in Sources */,
-				17CBADAD098B84E300575C58 /* ieeecvt.c in Sources */,
-				17CBADAF098B84E300575C58 /* snd.c in Sources */,
-				17CBADB2098B84E300575C58 /* sndcvt.c in Sources */,
-				17CBADB6098B84E300575C58 /* sndheader.c in Sources */,
-				17CBADB8098B84E300575C58 /* sndio.c in Sources */,
-				17CBADB9098B84E300575C58 /* sndlinux.c in Sources */,
-				17CBADBD098B84E300575C58 /* term.c in Sources */,
-				28EB47D40AFD542100502984 /* abs.c in Sources */,
-				17CBADBF098B84E300575C58 /* alpass.c in Sources */,
-				17CBADC1098B84E300575C58 /* amosc.c in Sources */,
-				17CBADC3098B84E300575C58 /* areson.c in Sources */,
-				17CBADC5098B84E300575C58 /* aresoncv.c in Sources */,
-				17CBADC7098B84E300575C58 /* aresonvc.c in Sources */,
-				17CBADC9098B84E300575C58 /* aresonvv.c in Sources */,
-				17CBADCB098B84E300575C58 /* atone.c in Sources */,
-				17CBADCD098B84E300575C58 /* atonev.c in Sources */,
-				17CBADCF098B84E300575C58 /* biquad.c in Sources */,
-				17CBADD1098B84E300575C58 /* buzz.c in Sources */,
-				17CBADD3098B84E300575C58 /* chase.c in Sources */,
-				17CBADD5098B84E300575C58 /* clip.c in Sources */,
-				17CBADD7098B84E300575C58 /* congen.c in Sources */,
-				17CBADD9098B84E300575C58 /* const.c in Sources */,
-				17CBADDB098B84E300575C58 /* convolve.c in Sources */,
-				17CBADDD098B84E300575C58 /* coterm.c in Sources */,
-				17CBADDF098B84E300575C58 /* delay.c in Sources */,
-				17CBADE1098B84E300575C58 /* delaycv.c in Sources */,
-				17CBADE3098B84E300575C58 /* exp.c in Sources */,
-				17CBADE5098B84E300575C58 /* fmosc.c in Sources */,
-				17CBADE7098B84E300575C58 /* follow.c in Sources */,
-				17CBADE9098B84E300575C58 /* fromarraystream.c in Sources */,
-				17CBADEB098B84E300575C58 /* fromobject.c in Sources */,
-				17CBADED098B84E300575C58 /* gate.c in Sources */,
-				17CBADEF098B84E300575C58 /* ifft.c in Sources */,
-				17CBADF1098B84E300575C58 /* integrate.c in Sources */,
-				17CBADF3098B84E300575C58 /* log.c in Sources */,
-				17CBADF5098B84E300575C58 /* maxv.c in Sources */,
-				17CBADF7098B84E300575C58 /* offset.c in Sources */,
-				17CBADF9098B84E300575C58 /* oneshot.c in Sources */,
-				17CBADFB098B84E300575C58 /* osc.c in Sources */,
-				17CBADFD098B84E300575C58 /* partial.c in Sources */,
-				17CBADFF098B84E300575C58 /* pluck.c in Sources */,
-				17CBAE01098B84E300575C58 /* prod.c in Sources */,
-				17CBAE03098B84E300575C58 /* pwl.c in Sources */,
-				17CBAE05098B84E300575C58 /* quantize.c in Sources */,
-				17CBAE07098B84E300575C58 /* recip.c in Sources */,
-				17CBAE09098B84E300575C58 /* reson.c in Sources */,
-				17CBAE0B098B84E300575C58 /* resoncv.c in Sources */,
-				17CBAE0D098B84E300575C58 /* resonvc.c in Sources */,
-				17CBAE0F098B84E300575C58 /* resonvv.c in Sources */,
-				17CBAE11098B84E300575C58 /* sampler.c in Sources */,
-				17CBAE13098B84E300575C58 /* scale.c in Sources */,
-				17CBAE15098B84E300575C58 /* shape.c in Sources */,
-				17CBAE17098B84E300575C58 /* sine.c in Sources */,
-				17CBAE19098B84E300575C58 /* siosc.c in Sources */,
-				17CBAE1B098B84E300575C58 /* slope.c in Sources */,
-				28EB47D60AFD547600502984 /* sqrt.c in Sources */,
-				17CBAE1D098B84E300575C58 /* tapv.c in Sources */,
-				17CBAE1F098B84E300575C58 /* tone.c in Sources */,
-				17CBAE21098B84E300575C58 /* tonev.c in Sources */,
-				17CBAE23098B84E300575C58 /* upsample.c in Sources */,
-				17CBAE25098B84E300575C58 /* white.c in Sources */,
-				17CBAE27098B84E300575C58 /* extern.c in Sources */,
-				17CBAE2B098B84E300575C58 /* path.c in Sources */,
-				17CBAE2C098B84E300575C58 /* xlbfun.c in Sources */,
-				17CBAE2D098B84E300575C58 /* xlcont.c in Sources */,
-				17CBAE2E098B84E300575C58 /* xldbug.c in Sources */,
-				17CBAE2F098B84E300575C58 /* xldmem.c in Sources */,
-				17CBAE31098B84E300575C58 /* xleval.c in Sources */,
-				17CBAE32098B84E300575C58 /* xlfio.c in Sources */,
-				17CBAE33098B84E300575C58 /* xlftab.c in Sources */,
-				17CBAE34098B84E300575C58 /* xlglob.c in Sources */,
-				17CBAE35098B84E300575C58 /* xlimage.c in Sources */,
-				17CBAE36098B84E300575C58 /* xlinit.c in Sources */,
-				17CBAE37098B84E300575C58 /* xlio.c in Sources */,
-				17CBAE38098B84E300575C58 /* xlisp.c in Sources */,
-				17CBAE3A098B84E300575C58 /* xljump.c in Sources */,
-				17CBAE3B098B84E300575C58 /* xllist.c in Sources */,
-				17CBAE3C098B84E300575C58 /* xlmath.c in Sources */,
-				17CBAE3D098B84E300575C58 /* xlobj.c in Sources */,
-				17CBAE3E098B84E300575C58 /* xlpp.c in Sources */,
-				17CBAE3F098B84E300575C58 /* xlprin.c in Sources */,
-				17CBAE40098B84E300575C58 /* xlread.c in Sources */,
-				17CBAE41098B84E300575C58 /* xlstr.c in Sources */,
-				17CBAE42098B84E300575C58 /* xlsubr.c in Sources */,
-				17CBAE43098B84E300575C58 /* xlsym.c in Sources */,
-				17CBAE44098B84E300575C58 /* xlsys.c in Sources */,
-				28D0255B0AFDA53B0035F843 /* alpasscv.c in Sources */,
-				28D0255D0AFDA53B0035F843 /* alpassvc.c in Sources */,
+				284A7B920F31571C001D7A67 /* nyx.c in Sources */,
+				284A7B940F31571C001D7A67 /* xlextstart.c in Sources */,
+				284A82990F3158A2001D7A67 /* cext.c in Sources */,
+				284A829B0F3158A2001D7A67 /* cleanup.c in Sources */,
+				284A829D0F3158A2001D7A67 /* cmdline.c in Sources */,
+				284A829F0F3158A2001D7A67 /* cmtcmd.c in Sources */,
+				284A82A50F3158A2001D7A67 /* mem.c in Sources */,
+				284A82AB0F3158A2001D7A67 /* midifile.c in Sources */,
+				284A82AD0F3158A2001D7A67 /* midifns.c in Sources */,
+				284A82B10F3158A2001D7A67 /* moxc.c in Sources */,
+				284A82B50F3158A2001D7A67 /* record.c in Sources */,
+				284A82B70F3158A2001D7A67 /* seq.c in Sources */,
+				284A82BA0F3158A2001D7A67 /* seqmread.c in Sources */,
+				284A82BC0F3158A2001D7A67 /* seqmwrite.c in Sources */,
+				284A82BE0F3158A2001D7A67 /* seqread.c in Sources */,
+				284A82C00F3158A2001D7A67 /* seqwrite.c in Sources */,
+				284A82C30F3158A2001D7A67 /* tempomap.c in Sources */,
+				284A82C50F3158A2001D7A67 /* timebase.c in Sources */,
+				284A82C70F3158A2001D7A67 /* userio.c in Sources */,
+				284A82CB0F3158A2001D7A67 /* add.c in Sources */,
+				284A82CD0F3158A2001D7A67 /* avg.c in Sources */,
+				284A82CF0F3158A2001D7A67 /* compose.c in Sources */,
+				284A82D10F3158A2001D7A67 /* convolve.c in Sources */,
+				284A82D40F3158A2001D7A67 /* debug.c in Sources */,
+				284A82D60F3158A2001D7A67 /* downsample.c in Sources */,
+				284A82DB0F3158A2001D7A67 /* falloc.c in Sources */,
+				284A82DD0F3158A2001D7A67 /* ffilterkit.c in Sources */,
+				284A82E00F3158A2001D7A67 /* fft.c in Sources */,
+				284A82E60F3158A2001D7A67 /* handlers.c in Sources */,
+				284A82E70F3158A2001D7A67 /* inverse.c in Sources */,
+				284A82E90F3158A2001D7A67 /* local.c in Sources */,
+				284A82EC0F3158A2001D7A67 /* lpanal.c in Sources */,
+				284A82EE0F3158A2001D7A67 /* multiread.c in Sources */,
+				284A82F00F3158A2001D7A67 /* multiseq.c in Sources */,
+				284A82F80F3158A2001D7A67 /* probe.c in Sources */,
+				284A82FA0F3158A2001D7A67 /* resamp.c in Sources */,
+				284A82FC0F3158A2001D7A67 /* resampv.c in Sources */,
+				284A82FF0F3158A2001D7A67 /* samples.c in Sources */,
+				284A83010F3158A2001D7A67 /* seqext.c in Sources */,
+				284A83030F3158A2001D7A67 /* seqfnint.c in Sources */,
+				284A83060F3158A2001D7A67 /* seqinterf.c in Sources */,
+				284A83080F3158A2001D7A67 /* sliders.c in Sources */,
+				284A830C0F3158A2001D7A67 /* sndfnint.c in Sources */,
+				284A830F0F3158A2001D7A67 /* sndmax.c in Sources */,
+				284A83110F3158A2001D7A67 /* sndread.c in Sources */,
+				284A83130F3158A2001D7A67 /* sndseq.c in Sources */,
+				284A83180F3158A2001D7A67 /* sndwritepa.c in Sources */,
+				284A83190F3158A2001D7A67 /* sound.c in Sources */,
+				284A831B0F3158A2001D7A67 /* stats.c in Sources */,
+				284A831D0F3158A2001D7A67 /* trigger.c in Sources */,
+				284A831F0F3158A2001D7A67 /* yin.c in Sources */,
+				284A83490F3158A2001D7A67 /* instr.cpp in Sources */,
+				284A834B0F3158A2001D7A67 /* ADSR.cpp in Sources */,
+				284A834C0F3158A2001D7A67 /* BandedWG.cpp in Sources */,
+				284A834D0F3158A2001D7A67 /* BiQuad.cpp in Sources */,
+				284A834E0F3158A2001D7A67 /* Bowed.cpp in Sources */,
+				284A834F0F3158A2001D7A67 /* BowTable.cpp in Sources */,
+				284A83500F3158A2001D7A67 /* Chorus.cpp in Sources */,
+				284A83510F3158A2001D7A67 /* Clarinet.cpp in Sources */,
+				284A83520F3158A2001D7A67 /* Delay.cpp in Sources */,
+				284A83530F3158A2001D7A67 /* DelayA.cpp in Sources */,
+				284A83540F3158A2001D7A67 /* DelayL.cpp in Sources */,
+				284A83550F3158A2001D7A67 /* Effect.cpp in Sources */,
+				284A83560F3158A2001D7A67 /* Envelope.cpp in Sources */,
+				284A83570F3158A2001D7A67 /* FileRead.cpp in Sources */,
+				284A83580F3158A2001D7A67 /* FileWvIn.cpp in Sources */,
+				284A83590F3158A2001D7A67 /* Filter.cpp in Sources */,
+				284A835A0F3158A2001D7A67 /* Flute.cpp in Sources */,
+				284A835B0F3158A2001D7A67 /* Function.cpp in Sources */,
+				284A835C0F3158A2001D7A67 /* Generator.cpp in Sources */,
+				284A835D0F3158A2001D7A67 /* Instrmnt.cpp in Sources */,
+				284A835E0F3158A2001D7A67 /* JCRev.cpp in Sources */,
+				284A835F0F3158A2001D7A67 /* JetTable.cpp in Sources */,
+				284A83600F3158A2001D7A67 /* Mandolin.cpp in Sources */,
+				284A83610F3158A2001D7A67 /* Modal.cpp in Sources */,
+				284A83620F3158A2001D7A67 /* ModalBar.cpp in Sources */,
+				284A83630F3158A2001D7A67 /* Noise.cpp in Sources */,
+				284A83640F3158A2001D7A67 /* NRev.cpp in Sources */,
+				284A83650F3158A2001D7A67 /* OnePole.cpp in Sources */,
+				284A83660F3158A2001D7A67 /* OneZero.cpp in Sources */,
+				284A83670F3158A2001D7A67 /* PitShift.cpp in Sources */,
+				284A83680F3158A2001D7A67 /* PluckTwo.cpp in Sources */,
+				284A83690F3158A2001D7A67 /* PoleZero.cpp in Sources */,
+				284A836A0F3158A2001D7A67 /* PRCRev.cpp in Sources */,
+				284A836B0F3158A2001D7A67 /* ReedTable.cpp in Sources */,
+				284A836C0F3158A2001D7A67 /* Saxofony.cpp in Sources */,
+				284A836D0F3158A2001D7A67 /* SineWave.cpp in Sources */,
+				284A836E0F3158A2001D7A67 /* Sitar.cpp in Sources */,
+				284A836F0F3158A2001D7A67 /* Stk.cpp in Sources */,
+				284A83700F3158A2001D7A67 /* WaveLoop.cpp in Sources */,
+				284A83710F3158A2001D7A67 /* WvIn.cpp in Sources */,
+				284A83720F3158A2001D7A67 /* stkinit.cpp in Sources */,
+				284A83740F3158A2001D7A67 /* stkint.cpp in Sources */,
+				284A83AE0F3158A2001D7A67 /* abs.c in Sources */,
+				284A83B00F3158A2001D7A67 /* allpoles.c in Sources */,
+				284A83B20F3158A2001D7A67 /* alpass.c in Sources */,
+				284A83B40F3158A2001D7A67 /* alpasscv.c in Sources */,
+				284A83B80F3158A2001D7A67 /* alpassvv.c in Sources */,
+				284A83BA0F3158A2001D7A67 /* amosc.c in Sources */,
+				284A83BC0F3158A2001D7A67 /* areson.c in Sources */,
+				284A83BE0F3158A2001D7A67 /* aresoncv.c in Sources */,
+				284A83C00F3158A2001D7A67 /* aresonvc.c in Sources */,
+				284A83C20F3158A2001D7A67 /* aresonvv.c in Sources */,
+				284A83C40F3158A2001D7A67 /* atone.c in Sources */,
+				284A83C60F3158A2001D7A67 /* atonev.c in Sources */,
+				284A83C80F3158A2001D7A67 /* biquadfilt.c in Sources */,
+				284A83CA0F3158A2001D7A67 /* buzz.c in Sources */,
+				284A83CC0F3158A2001D7A67 /* chase.c in Sources */,
+				284A83CE0F3158A2001D7A67 /* clip.c in Sources */,
+				284A83D00F3158A2001D7A67 /* congen.c in Sources */,
+				284A83D20F3158A2001D7A67 /* const.c in Sources */,
+				284A83D40F3158A2001D7A67 /* coterm.c in Sources */,
+				284A83D60F3158A2001D7A67 /* delaycc.c in Sources */,
+				284A83D80F3158A2001D7A67 /* delaycv.c in Sources */,
+				284A83DA0F3158A2001D7A67 /* eqbandvvv.c in Sources */,
+				284A83DC0F3158A2001D7A67 /* exp.c in Sources */,
+				284A83DE0F3158A2001D7A67 /* fmfb.c in Sources */,
+				284A83E00F3158A2001D7A67 /* fmfbv.c in Sources */,
+				284A83E20F3158A2001D7A67 /* fmosc.c in Sources */,
+				284A83E40F3158A2001D7A67 /* follow.c in Sources */,
+				284A83E60F3158A2001D7A67 /* fromarraystream.c in Sources */,
+				284A83E80F3158A2001D7A67 /* fromobject.c in Sources */,
+				284A83EA0F3158A2001D7A67 /* gate.c in Sources */,
+				284A83EC0F3158A2001D7A67 /* ifft.c in Sources */,
+				284A83EE0F3158A2001D7A67 /* instrbanded.c in Sources */,
+				284A83F00F3158A2001D7A67 /* instrbow.c in Sources */,
+				284A83F20F3158A2001D7A67 /* instrbowedfreq.c in Sources */,
+				284A83F40F3158A2001D7A67 /* instrclar.c in Sources */,
+				284A83F60F3158A2001D7A67 /* instrclarall.c in Sources */,
+				284A83F80F3158A2001D7A67 /* instrclarfreq.c in Sources */,
+				284A83FA0F3158A2001D7A67 /* instrflute.c in Sources */,
+				284A83FC0F3158A2001D7A67 /* instrfluteall.c in Sources */,
+				284A83FE0F3158A2001D7A67 /* instrflutefreq.c in Sources */,
+				284A84000F3158A2001D7A67 /* instrmandolin.c in Sources */,
+				284A84020F3158A2001D7A67 /* instrmodalbar.c in Sources */,
+				284A84040F3158A2001D7A67 /* instrsax.c in Sources */,
+				284A84060F3158A2001D7A67 /* instrsaxall.c in Sources */,
+				284A84080F3158A2001D7A67 /* instrsaxfreq.c in Sources */,
+				284A840A0F3158A2001D7A67 /* instrsitar.c in Sources */,
+				284A840C0F3158A2001D7A67 /* integrate.c in Sources */,
+				284A840E0F3158A2001D7A67 /* log.c in Sources */,
+				284A84100F3158A2001D7A67 /* lpreson.c in Sources */,
+				284A84120F3158A2001D7A67 /* maxv.c in Sources */,
+				284A84140F3158A2001D7A67 /* offset.c in Sources */,
+				284A84160F3158A2001D7A67 /* oneshot.c in Sources */,
+				284A84180F3158A2001D7A67 /* osc.c in Sources */,
+				284A841A0F3158A2001D7A67 /* partial.c in Sources */,
+				284A841C0F3158A2001D7A67 /* pluck.c in Sources */,
+				284A841E0F3158A2001D7A67 /* prod.c in Sources */,
+				284A84200F3158A2001D7A67 /* pwl.c in Sources */,
+				284A84220F3158A2001D7A67 /* quantize.c in Sources */,
+				284A84240F3158A2001D7A67 /* recip.c in Sources */,
+				284A84260F3158A2001D7A67 /* reson.c in Sources */,
+				284A84280F3158A2001D7A67 /* resoncv.c in Sources */,
+				284A842A0F3158A2001D7A67 /* resonvc.c in Sources */,
+				284A842C0F3158A2001D7A67 /* resonvv.c in Sources */,
+				284A842E0F3158A2001D7A67 /* sampler.c in Sources */,
+				284A84300F3158A2001D7A67 /* scale.c in Sources */,
+				284A84320F3158A2001D7A67 /* shape.c in Sources */,
+				284A84340F3158A2001D7A67 /* sine.c in Sources */,
+				284A84360F3158A2001D7A67 /* siosc.c in Sources */,
+				284A84380F3158A2001D7A67 /* slope.c in Sources */,
+				284A843A0F3158A2001D7A67 /* sqrt.c in Sources */,
+				284A843C0F3158A2001D7A67 /* stkchorus.c in Sources */,
+				284A843E0F3158A2001D7A67 /* stkpitshift.c in Sources */,
+				284A84400F3158A2001D7A67 /* stkrev.c in Sources */,
+				284A84420F3158A2001D7A67 /* tapf.c in Sources */,
+				284A84440F3158A2001D7A67 /* tapv.c in Sources */,
+				284A84460F3158A2001D7A67 /* tone.c in Sources */,
+				284A84480F3158A2001D7A67 /* tonev.c in Sources */,
+				284A844A0F3158A2001D7A67 /* upsample.c in Sources */,
+				284A844C0F3158A2001D7A67 /* white.c in Sources */,
+				284A844E0F3158A2001D7A67 /* extern.c in Sources */,
+				284A84520F3158A2001D7A67 /* path.c in Sources */,
+				284A84530F3158A2001D7A67 /* xlbfun.c in Sources */,
+				284A84540F3158A2001D7A67 /* xlcont.c in Sources */,
+				284A84550F3158A2001D7A67 /* xldbug.c in Sources */,
+				284A84560F3158A2001D7A67 /* xldmem.c in Sources */,
+				284A84580F3158A2001D7A67 /* xleval.c in Sources */,
+				284A84590F3158A2001D7A67 /* xlfio.c in Sources */,
+				284A845A0F3158A2001D7A67 /* xlftab.c in Sources */,
+				284A845B0F3158A2001D7A67 /* xlglob.c in Sources */,
+				284A845C0F3158A2001D7A67 /* xlimage.c in Sources */,
+				284A845D0F3158A2001D7A67 /* xlinit.c in Sources */,
+				284A845E0F3158A2001D7A67 /* xlio.c in Sources */,
+				284A845F0F3158A2001D7A67 /* xlisp.c in Sources */,
+				284A84610F3158A2001D7A67 /* xljump.c in Sources */,
+				284A84620F3158A2001D7A67 /* xllist.c in Sources */,
+				284A84630F3158A2001D7A67 /* xlmath.c in Sources */,
+				284A84640F3158A2001D7A67 /* xlobj.c in Sources */,
+				284A84650F3158A2001D7A67 /* xlpp.c in Sources */,
+				284A84660F3158A2001D7A67 /* xlprin.c in Sources */,
+				284A84670F3158A2001D7A67 /* xlread.c in Sources */,
+				284A84680F3158A2001D7A67 /* xlstr.c in Sources */,
+				284A84690F3158A2001D7A67 /* xlsubr.c in Sources */,
+				284A846A0F3158A2001D7A67 /* xlsym.c in Sources */,
+				284A846B0F3158A2001D7A67 /* xlsys.c in Sources */,
+				28A4E2AC0F60319300E9E7F2 /* fftext.c in Sources */,
+				28A4E2AE0F60319300E9E7F2 /* fftlib.c in Sources */,
+				28A4E2B00F60319300E9E7F2 /* matlib.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6936,10 +8196,8 @@
 				1790B17C09883BFD008A330A /* NoteTrack.cpp in Sources */,
 				1790B17D09883BFD008A330A /* PitchName.cpp in Sources */,
 				1790B17E09883BFD008A330A /* PlatformCompatibility.cpp in Sources */,
-				1790B17F09883BFD008A330A /* AudioIOPrefs.cpp in Sources */,
 				1790B18009883BFD008A330A /* BatchPrefs.cpp in Sources */,
 				1790B18109883BFD008A330A /* DirectoriesPrefs.cpp in Sources */,
-				1790B18209883BFD008A330A /* FileFormatPrefs.cpp in Sources */,
 				1790B18309883BFD008A330A /* GUIPrefs.cpp in Sources */,
 				1790B18409883BFD008A330A /* KeyConfigPrefs.cpp in Sources */,
 				1790B18509883BFD008A330A /* MousePrefs.cpp in Sources */,
@@ -7021,7 +8279,6 @@
 				285DE1FA0BF03C7800A20DF0 /* Screenshot.cpp in Sources */,
 				2801A6460BF9268700648258 /* ImportQT.cpp in Sources */,
 				2801A6470BF9268700648258 /* ImportQTWrapper.cpp in Sources */,
-				28FB20350C415D9500F769E7 /* SmartRecordPrefs.cpp in Sources */,
 				2891B2870C531D2C0044FBE3 /* FindClipping.cpp in Sources */,
 				283AA0EB0C56ED08002CBD34 /* ErrorDialog.cpp in Sources */,
 				28501EA10CEECEF80029ABAA /* HelpText.cpp in Sources */,
@@ -7102,6 +8359,119 @@
 				286D31340F264BEE004E6E4A /* vi.po in Sources */,
 				286D31350F264BEE004E6E4A /* zh.po in Sources */,
 				286D31360F264BEE004E6E4A /* zh_TW.po in Sources */,
+				18A2840F0F79BCAB0013A1BE /* Generator.cpp in Sources */,
+				28CCDD000F939FD70081F2FC /* FileHistory.cpp in Sources */,
+				28B97B890FBF771A0076CF28 /* VSTEffect.cpp in Sources */,
+				2885BFF40FC108F800128165 /* LoadVST.cpp in Sources */,
+				284B279A0FC66864005EAC96 /* DevicePrefs.cpp in Sources */,
+				284B279B0FC66864005EAC96 /* ImportExportPrefs.cpp in Sources */,
+				284B279C0FC66864005EAC96 /* LibraryPrefs.cpp in Sources */,
+				284B279D0FC66864005EAC96 /* PlaybackPrefs.cpp in Sources */,
+				284B279E0FC66864005EAC96 /* ProjectsPrefs.cpp in Sources */,
+				284B279F0FC66864005EAC96 /* RecordingPrefs.cpp in Sources */,
+				284B27E40FC66CCD005EAC96 /* TracksPrefs.cpp in Sources */,
+				284B27E50FC66CCD005EAC96 /* WarningsPrefs.cpp in Sources */,
+				28D540050FD1912A00FA7C75 /* AppCommandEvent.cpp in Sources */,
+				28D540060FD1912A00FA7C75 /* CommandBuilder.cpp in Sources */,
+				28D540070FD1912A00FA7C75 /* CommandHandler.cpp in Sources */,
+				28D540080FD1912A00FA7C75 /* ScriptCommandRelay.cpp in Sources */,
+				28DB34790FDC2C5D0011F589 /* ResponseQueue.cpp in Sources */,
+				28DABFBE0FF19DB100AC7848 /* RealFFTf.cpp in Sources */,
+				2800FE370FF32566005CA9E5 /* MidiIOPrefs.cpp in Sources */,
+				1818559A0FFE916C0026D190 /* ScreenshotCommand.cpp in Sources */,
+				1865A9B81004490500946EE6 /* Lyrics.cpp in Sources */,
+				1865A9B91004490500946EE6 /* LyricsWindow.cpp in Sources */,
+				289E750A1006D0BD00CEF79B /* MixerBoard.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		2800FE040FF322D4005CA9E5 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				2800FE0E0FF32308005CA9E5 /* pmutil.c in Sources */,
+				2800FE100FF32308005CA9E5 /* portmidi.c in Sources */,
+				2800FE120FF32308005CA9E5 /* finddefault.c in Sources */,
+				2800FE130FF32308005CA9E5 /* pmmac.c in Sources */,
+				2800FE150FF32308005CA9E5 /* pmmacosxcm.c in Sources */,
+				2800FE170FF32308005CA9E5 /* readbinaryplist.c in Sources */,
+				2800FE1A0FF32308005CA9E5 /* ptmacosx_mach.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		283753E10F42875100364787 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				283753FA0F4288BF00364787 /* mpegheader.cpp in Sources */,
+				283754070F4288EB00364787 /* apefooter.cpp in Sources */,
+				283754090F4288EB00364787 /* apeitem.cpp in Sources */,
+				2837540B0F4288EB00364787 /* apetag.cpp in Sources */,
+				2837540D0F4288EB00364787 /* asfattribute.cpp in Sources */,
+				2837540F0F4288EB00364787 /* asffile.cpp in Sources */,
+				283754110F4288EB00364787 /* asfproperties.cpp in Sources */,
+				283754130F4288EB00364787 /* asftag.cpp in Sources */,
+				283754150F4288EB00364787 /* flacfile.cpp in Sources */,
+				283754170F4288EB00364787 /* flacproperties.cpp in Sources */,
+				283754190F4288EB00364787 /* mp4atom.cpp in Sources */,
+				2837541B0F4288EB00364787 /* mp4file.cpp in Sources */,
+				2837541D0F4288EB00364787 /* mp4item.cpp in Sources */,
+				2837541F0F4288EB00364787 /* mp4properties.cpp in Sources */,
+				283754210F4288EB00364787 /* mp4tag.cpp in Sources */,
+				283754230F4288EB00364787 /* mpcfile.cpp in Sources */,
+				283754250F4288EB00364787 /* mpcproperties.cpp in Sources */,
+				283754270F4288EB00364787 /* id3v1genres.cpp in Sources */,
+				283754290F4288EB00364787 /* id3v1tag.cpp in Sources */,
+				2837542B0F4288EB00364787 /* attachedpictureframe.cpp in Sources */,
+				2837542D0F4288EB00364787 /* commentsframe.cpp in Sources */,
+				2837542F0F4288EB00364787 /* generalencapsulatedobjectframe.cpp in Sources */,
+				283754310F4288EB00364787 /* popularimeterframe.cpp in Sources */,
+				283754330F4288EB00364787 /* privateframe.cpp in Sources */,
+				283754350F4288EB00364787 /* relativevolumeframe.cpp in Sources */,
+				283754370F4288EB00364787 /* textidentificationframe.cpp in Sources */,
+				283754390F4288EB00364787 /* uniquefileidentifierframe.cpp in Sources */,
+				2837543B0F4288EB00364787 /* unknownframe.cpp in Sources */,
+				2837543D0F4288EB00364787 /* unsynchronizedlyricsframe.cpp in Sources */,
+				2837543F0F4288EB00364787 /* urllinkframe.cpp in Sources */,
+				283754410F4288EB00364787 /* id3v2extendedheader.cpp in Sources */,
+				283754430F4288EB00364787 /* id3v2footer.cpp in Sources */,
+				283754450F4288EB00364787 /* id3v2frame.cpp in Sources */,
+				283754470F4288EB00364787 /* id3v2framefactory.cpp in Sources */,
+				283754490F4288EB00364787 /* id3v2header.cpp in Sources */,
+				2837544B0F4288EB00364787 /* id3v2synchdata.cpp in Sources */,
+				2837544D0F4288EB00364787 /* id3v2tag.cpp in Sources */,
+				2837544F0F4288EB00364787 /* mpegfile.cpp in Sources */,
+				283754520F4288EB00364787 /* mpegproperties.cpp in Sources */,
+				283754540F4288EB00364787 /* xingheader.cpp in Sources */,
+				283754560F4288EB00364787 /* oggflacfile.cpp in Sources */,
+				283754580F4288EB00364787 /* oggfile.cpp in Sources */,
+				2837545A0F4288EB00364787 /* oggpage.cpp in Sources */,
+				2837545C0F4288EB00364787 /* oggpageheader.cpp in Sources */,
+				2837545E0F4288EB00364787 /* speexfile.cpp in Sources */,
+				283754600F4288EB00364787 /* speexproperties.cpp in Sources */,
+				283754620F4288EB00364787 /* vorbisfile.cpp in Sources */,
+				283754640F4288EB00364787 /* vorbisproperties.cpp in Sources */,
+				283754660F4288EB00364787 /* xiphcomment.cpp in Sources */,
+				283754680F4288EB00364787 /* aifffile.cpp in Sources */,
+				2837546A0F4288EB00364787 /* aiffproperties.cpp in Sources */,
+				2837546C0F4288EB00364787 /* rifffile.cpp in Sources */,
+				2837546E0F4288EB00364787 /* wavfile.cpp in Sources */,
+				283754700F4288EB00364787 /* wavproperties.cpp in Sources */,
+				283754720F4288EB00364787 /* audioproperties.cpp in Sources */,
+				283754740F4288EB00364787 /* fileref.cpp in Sources */,
+				283754760F4288EB00364787 /* tag.cpp in Sources */,
+				283754790F4288EB00364787 /* tagunion.cpp in Sources */,
+				2837547C0F4288EB00364787 /* tbytevector.cpp in Sources */,
+				2837547E0F4288EB00364787 /* tbytevectorlist.cpp in Sources */,
+				283754800F4288EB00364787 /* tdebug.cpp in Sources */,
+				283754820F4288EB00364787 /* tfile.cpp in Sources */,
+				283754870F4288EB00364787 /* tstring.cpp in Sources */,
+				283754890F4288EB00364787 /* tstringlist.cpp in Sources */,
+				2837548B0F4288EB00364787 /* unicode.cpp in Sources */,
+				2837548D0F4288EB00364787 /* trueaudiofile.cpp in Sources */,
+				2837548F0F4288EB00364787 /* trueaudioproperties.cpp in Sources */,
+				283754910F4288EB00364787 /* wavpackfile.cpp in Sources */,
+				283754930F4288EB00364787 /* wavpackproperties.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -7371,11 +8741,6 @@
 			target = 17072E880988BD39008541CC /* Configure */;
 			targetProxy = 17072E930988C35B008541CC /* PBXContainerItemProxy */;
 		};
-		176A1B6C098B7C5900DC73B4 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 170741420988FDB3008541CC /* intgen */;
-			targetProxy = 176A1B6B098B7C5900DC73B4 /* PBXContainerItemProxy */;
-		};
 		176A1B6E098B7C7200DC73B4 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = 176A1A5A098B7B8D00DC73B4 /* libnyquist */;
@@ -7441,6 +8806,16 @@
 			target = 17073EE70988DBDD008541CC /* portsmf */;
 			targetProxy = 17C99D52098970800041B1BC /* PBXContainerItemProxy */;
 		};
+		2800FE280FF323C0005CA9E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 2800FE060FF322D4005CA9E5 /* portmidi */;
+			targetProxy = 2800FE270FF323C0005CA9E5 /* PBXContainerItemProxy */;
+		};
+		283754980F42895700364787 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 283753E30F42875100364787 /* taglib */;
+			targetProxy = 283754970F42895700364787 /* PBXContainerItemProxy */;
+		};
 		2840CF800AEB822100F49FC3 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = 2840CECB0AEB803C00F49FC3 /* twolame */;
@@ -7451,6 +8826,11 @@
 			target = 28501EAF0CEED1F00029ABAA /* libvamp */;
 			targetProxy = 28501F520CEED9A80029ABAA /* PBXContainerItemProxy */;
 		};
+		28ABC8EA0FD6441D00F9992A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 2880527D0DEA694100671EA4 /* mod-script-pipe */;
+			targetProxy = 28ABC8E90FD6441D00F9992A /* PBXContainerItemProxy */;
+		};
 		28E237270E515E1300281398 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = 28E236F40E515D1D00281398 /* libscorealign */;
@@ -7543,14 +8923,6 @@
 			};
 			name = "Debug Static";
 		};
-		17CAEBAC098C9B8E00337968 /* Debug Static */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = 2812A5B90DF63FF000576305 /* Debug_Static.xcconfig */;
-			buildSettings = {
-				PRODUCT_NAME = intgen;
-			};
-			name = "Debug Static";
-		};
 		17CAEBAD098C9B8E00337968 /* Debug Static */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 2812A5B90DF63FF000576305 /* Debug_Static.xcconfig */;
@@ -7559,7 +8931,10 @@
 					CMTSTUFF,
 					EXT,
 				);
+				HEADER_SEARCH_PATHS = "";
 				PRODUCT_NAME = nyquist;
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libnyquist $(TOPLEVEL)/lib-src/libnyquist/nyquist/cmt $(TOPLEVEL)/lib-src/libnyquist/nyquist/ffts/** $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqsrc $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk/include $(TOPLEVEL)/lib-src/libnyquist/nyquist/sys/unix $(TOPLEVEL)/lib-src/libnyquist/nyquist/tran $(TOPLEVEL)/lib-src/libnyquist/nyquist/xlisp";
+				USE_HEADERMAP = "";
 			};
 			name = "Debug Static";
 		};
@@ -7663,6 +9038,8 @@
 					"-framework",
 					CoreAudio,
 					"-framework",
+					CoreMIDI,
+					"-framework",
 					AudioUnit,
 					"-framework",
 					AudioToolbox,
@@ -7673,7 +9050,7 @@
 					"-lFLAC",
 				);
 				PRODUCT_NAME = Audacity;
-				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL)/lib-src/twolame/libtwolame";
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL/lib-src/taglib $(TOPLEVEL)/lib-src/twolame/libtwolame";
 			};
 			name = "Debug Static";
 		};
@@ -7706,6 +9083,66 @@
 			};
 			name = "Debug Static";
 		};
+		2800FE080FF322D5005CA9E5 /* Debug Static */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = portmidi;
+			};
+			name = "Debug Static";
+		};
+		2800FE090FF322D5005CA9E5 /* Debug Shared */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = portmidi;
+			};
+			name = "Debug Shared";
+		};
+		2800FE0A0FF322D5005CA9E5 /* Release Static */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = portmidi;
+			};
+			name = "Release Static";
+		};
+		2800FE0B0FF322D5005CA9E5 /* Release Shared */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = portmidi;
+			};
+			name = "Release Shared";
+		};
+		283753E50F42875100364787 /* Debug Static */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
+				PRODUCT_NAME = taglib;
+			};
+			name = "Debug Static";
+		};
+		283753E60F42875100364787 /* Debug Shared */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
+				PRODUCT_NAME = taglib;
+			};
+			name = "Debug Shared";
+		};
+		283753E70F42875100364787 /* Release Static */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
+				PRODUCT_NAME = taglib;
+			};
+			name = "Release Static";
+		};
+		283753E80F42875100364787 /* Release Shared */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
+				PRODUCT_NAME = taglib;
+			};
+			name = "Release Shared";
+		};
 		2840CF1F0AEB803C00F49FC3 /* Debug Static */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 2812A5B90DF63FF000576305 /* Debug_Static.xcconfig */;
@@ -8023,33 +9460,15 @@
 					BUILDING_SCRIPT_PIPE,
 					CC_HASVISIBILITY,
 				);
-				INSTALL_PATH = /usr/local/lib;
-				MACH_O_TYPE = mh_bundle;
+				GENERATE_MASTER_OBJECT_FILE = YES;
+				KEEP_PRIVATE_EXTERNS = NO;
+				MACH_O_TYPE = mh_dylib;
 				OTHER_CFLAGS = "$(WX_CFLAGS)";
 				OTHER_CPLUSPLUSFLAGS = "$(WX_CXXFLAGS)";
 				OTHER_LDFLAGS = (
-					"$(WX_LDFLAGS)",
-					"-framework",
-					QuickTime,
-					"-framework",
-					IOKit,
-					"-framework",
-					Carbon,
-					"-framework",
-					Cocoa,
-					"-framework",
-					System,
-					"-framework",
-					WebKit,
-					"-framework",
-					CoreAudio,
-					"-framework",
-					AudioUnit,
-					"-framework",
-					AudioToolbox,
-					"-lz",
-					"-lpthread",
-					"-liconv",
+					"-flat_namespace",
+					"-undefined",
+					suppress,
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = "mod-script-pipe";
@@ -8070,32 +9489,15 @@
 					BUILDING_SCRIPT_PIPE,
 					CC_HASVISIBILITY,
 				);
-				MACH_O_TYPE = mh_bundle;
+				GENERATE_MASTER_OBJECT_FILE = YES;
+				KEEP_PRIVATE_EXTERNS = NO;
+				MACH_O_TYPE = mh_dylib;
 				OTHER_CFLAGS = "$(WX_CFLAGS)";
 				OTHER_CPLUSPLUSFLAGS = "$(WX_CXXFLAGS)";
 				OTHER_LDFLAGS = (
-					"$(WX_LDFLAGS)",
-					"-framework",
-					QuickTime,
-					"-framework",
-					IOKit,
-					"-framework",
-					Carbon,
-					"-framework",
-					Cocoa,
-					"-framework",
-					System,
-					"-framework",
-					WebKit,
-					"-framework",
-					CoreAudio,
-					"-framework",
-					AudioUnit,
-					"-framework",
-					AudioToolbox,
-					"-lz",
-					"-lpthread",
-					"-liconv",
+					"-flat_namespace",
+					"-undefined",
+					suppress,
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = "mod-script-pipe";
@@ -8172,6 +9574,8 @@
 					"-framework",
 					CoreAudio,
 					"-framework",
+					CoreMIDI,
+					"-framework",
 					AudioUnit,
 					"-framework",
 					AudioToolbox,
@@ -8182,7 +9586,7 @@
 					"-lFLAC",
 				);
 				PRODUCT_NAME = Audacity;
-				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL)/lib-src/twolame/libtwolame";
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL/lib-src/taglib $(TOPLEVEL)/lib-src/twolame/libtwolame";
 			};
 			name = "Debug Shared";
 		};
@@ -8269,6 +9673,7 @@
 					EXT,
 				);
 				PRODUCT_NAME = nyquist;
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/lib-src/libnyquist $(TOPLEVEL)/lib-src/libnyquist/nyquist/cmt $(TOPLEVEL)/lib-src/libnyquist/nyquist/fft $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqsrc $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk/include $(TOPLEVEL)/lib-src/libnyquist/nyquist/sys/unix $(TOPLEVEL)/lib-src/libnyquist/nyquist/tran $(TOPLEVEL)/lib-src/libnyquist/nyquist/xlisp";
 			};
 			name = "Debug Shared";
 		};
@@ -8379,14 +9784,6 @@
 			};
 			name = "Debug Shared";
 		};
-		288052DD0DEA74F100671EA4 /* Debug Shared */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = 2812A5B70DF63FE500576305 /* Debug_Shared.xcconfig */;
-			buildSettings = {
-				PRODUCT_NAME = intgen;
-			};
-			name = "Debug Shared";
-		};
 		288052DE0DEA74F100671EA4 /* Debug Shared */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 2812A5B70DF63FE500576305 /* Debug_Shared.xcconfig */;
@@ -8400,34 +9797,15 @@
 					BUILDING_SCRIPT_PIPE,
 					CC_HASVISIBILITY,
 				);
-				INSTALL_PATH = /usr/local/lib;
+				GENERATE_MASTER_OBJECT_FILE = YES;
 				KEEP_PRIVATE_EXTERNS = NO;
-				MACH_O_TYPE = mh_bundle;
+				MACH_O_TYPE = mh_dylib;
 				OTHER_CFLAGS = "$(WX_CFLAGS)";
 				OTHER_CPLUSPLUSFLAGS = "$(WX_CXXFLAGS)";
 				OTHER_LDFLAGS = (
-					"$(WX_LDFLAGS)",
-					"-framework",
-					QuickTime,
-					"-framework",
-					IOKit,
-					"-framework",
-					Carbon,
-					"-framework",
-					Cocoa,
-					"-framework",
-					System,
-					"-framework",
-					WebKit,
-					"-framework",
-					CoreAudio,
-					"-framework",
-					AudioUnit,
-					"-framework",
-					AudioToolbox,
-					"-lz",
-					"-lpthread",
-					"-liconv",
+					"-flat_namespace",
+					"-undefined",
+					suppress,
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = "mod-script-pipe";
@@ -8510,6 +9888,8 @@
 					"-framework",
 					CoreAudio,
 					"-framework",
+					CoreMIDI,
+					"-framework",
 					AudioUnit,
 					"-framework",
 					AudioToolbox,
@@ -8520,7 +9900,7 @@
 					"-lFLAC",
 				);
 				PRODUCT_NAME = Audacity;
-				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL)/lib-src/twolame/libtwolame";
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL/lib-src/taglib $(TOPLEVEL)/lib-src/twolame/libtwolame";
 			};
 			name = "Release Shared";
 		};
@@ -8607,6 +9987,7 @@
 					EXT,
 				);
 				PRODUCT_NAME = nyquist;
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/lib-src/libnyquist $(TOPLEVEL)/lib-src/libnyquist/nyquist/cmt $(TOPLEVEL)/lib-src/libnyquist/nyquist/fft $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqsrc $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk/include $(TOPLEVEL)/lib-src/libnyquist/nyquist/sys/unix $(TOPLEVEL)/lib-src/libnyquist/nyquist/tran $(TOPLEVEL)/lib-src/libnyquist/nyquist/xlisp";
 			};
 			name = "Release Shared";
 		};
@@ -8717,14 +10098,6 @@
 			};
 			name = "Release Shared";
 		};
-		288052F20DEA74FD00671EA4 /* Release Shared */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = 2812A5BB0DF63FFD00576305 /* Release_Shared.xcconfig */;
-			buildSettings = {
-				PRODUCT_NAME = intgen;
-			};
-			name = "Release Shared";
-		};
 		288052F30DEA74FD00671EA4 /* Release Shared */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 2812A5BB0DF63FFD00576305 /* Release_Shared.xcconfig */;
@@ -8738,34 +10111,15 @@
 					BUILDING_SCRIPT_PIPE,
 					CC_HASVISIBILITY,
 				);
-				INSTALL_PATH = /usr/local/lib;
+				GENERATE_MASTER_OBJECT_FILE = YES;
 				KEEP_PRIVATE_EXTERNS = NO;
-				MACH_O_TYPE = mh_bundle;
+				MACH_O_TYPE = mh_dylib;
 				OTHER_CFLAGS = "$(WX_CFLAGS)";
 				OTHER_CPLUSPLUSFLAGS = "$(WX_CXXFLAGS)";
 				OTHER_LDFLAGS = (
-					"$(WX_LDFLAGS)",
-					"-framework",
-					QuickTime,
-					"-framework",
-					IOKit,
-					"-framework",
-					Carbon,
-					"-framework",
-					Cocoa,
-					"-framework",
-					System,
-					"-framework",
-					WebKit,
-					"-framework",
-					CoreAudio,
-					"-framework",
-					AudioUnit,
-					"-framework",
-					AudioToolbox,
-					"-lz",
-					"-lpthread",
-					"-liconv",
+					"-flat_namespace",
+					"-undefined",
+					suppress,
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = "mod-script-pipe";
@@ -8879,14 +10233,6 @@
 			};
 			name = "Release Static";
 		};
-		28E5DA300AC4CBA200E7F64C /* Release Static */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = 2812A5BD0DF6400E00576305 /* Release_Static.xcconfig */;
-			buildSettings = {
-				PRODUCT_NAME = intgen;
-			};
-			name = "Release Static";
-		};
 		28E5DA310AC4CBA200E7F64C /* Release Static */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 2812A5BD0DF6400E00576305 /* Release_Static.xcconfig */;
@@ -8896,6 +10242,7 @@
 					EXT,
 				);
 				PRODUCT_NAME = nyquist;
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/lib-src/libnyquist $(TOPLEVEL)/lib-src/libnyquist/nyquist/cmt $(TOPLEVEL)/lib-src/libnyquist/nyquist/fft $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqsrc $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk $(TOPLEVEL)/lib-src/libnyquist/nyquist/nyqstk/include $(TOPLEVEL)/lib-src/libnyquist/nyquist/sys/unix $(TOPLEVEL)/lib-src/libnyquist/nyquist/tran $(TOPLEVEL)/lib-src/libnyquist/nyquist/xlisp";
 			};
 			name = "Release Static";
 		};
@@ -9028,6 +10375,8 @@
 					"-framework",
 					CoreAudio,
 					"-framework",
+					CoreMIDI,
+					"-framework",
 					AudioUnit,
 					"-framework",
 					AudioToolbox,
@@ -9038,7 +10387,7 @@
 					"-lFLAC",
 				);
 				PRODUCT_NAME = Audacity;
-				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL)/lib-src/twolame/libtwolame";
+				USER_HEADER_SEARCH_PATHS = "$(TOPLEVEL)/mac $(TOPLEVEL)/src/** $(TOPLEVEL)/lib-src/expat $(TOPLEVEL)/lib-src/FileDialog $(TOPLEVEL)/lib-src/libflac/include $(TOPLEVEL)/lib-src/libid3tag $(TOPLEVEL)/lib-src/libmad $(TOPLEVEL)/lib-src/libogg/include $(TOPLEVEL)/lib-src/libnyquist/nyq $(TOPLEVEL)/lib-src/libresample/include $(TOPLEVEL)/lib-src/libsndfile/src $(TOPLEVEL)/lib-src/libvamp $(TOPLEVEL)/lib-src/libvorbis/include $(TOPLEVEL)/lib-src/liblrdf/src $(TOPLEVEL)/lib-src/portaudio-v19/include $(TOPLEVEL)/lib-src/portmixer/px_common $(TOPLEVEL)/lib-src/portsmf $(TOPLEVEL)/lib-src/redland/librdf $(TOPLEVEL)/lib-src/slv2 $(TOPLEVEL)/lib-src/soundtouch/include $(TOPLEVEL/lib-src/taglib $(TOPLEVEL)/lib-src/twolame/libtwolame";
 			};
 			name = "Release Static";
 		};
@@ -9290,17 +10639,6 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = "Debug Static";
 		};
-		170741450988FDD2008541CC /* Build configuration list for PBXNativeTarget "intgen" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				17CAEBAC098C9B8E00337968 /* Debug Static */,
-				288052DD0DEA74F100671EA4 /* Debug Shared */,
-				28E5DA300AC4CBA200E7F64C /* Release Static */,
-				288052F20DEA74FD00671EA4 /* Release Shared */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = "Debug Static";
-		};
 		176A1B65098B7BDC00DC73B4 /* Build configuration list for PBXNativeTarget "libnyquist" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
@@ -9356,6 +10694,28 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = "Debug Static";
 		};
+		2800FE1D0FF32326005CA9E5 /* Build configuration list for PBXNativeTarget "portmidi" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				2800FE080FF322D5005CA9E5 /* Debug Static */,
+				2800FE090FF322D5005CA9E5 /* Debug Shared */,
+				2800FE0A0FF322D5005CA9E5 /* Release Static */,
+				2800FE0B0FF322D5005CA9E5 /* Release Shared */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = "Debug Static";
+		};
+		283753EB0F42875A00364787 /* Build configuration list for PBXNativeTarget "taglib" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				283753E50F42875100364787 /* Debug Static */,
+				283753E60F42875100364787 /* Debug Shared */,
+				283753E70F42875100364787 /* Release Static */,
+				283753E80F42875100364787 /* Release Shared */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = "Debug Static";
+		};
 		2840CF1D0AEB803C00F49FC3 /* Build configuration list for PBXNativeTarget "twolame" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
diff --git a/mac/configmac.h b/mac/configmac.h
index d423a94..d04fe06 100644
--- a/mac/configmac.h
+++ b/mac/configmac.h
@@ -7,6 +7,7 @@
 #include <wx/defs.h>
 #include "../src/configunix.h"
 #define USE_AQUA_THEME 1
+#define USE_VST 1
 
 // arch-tag: 1f1d80ef-d1b4-4c9e-8226-ec3b93dcb46c
 
diff --git a/nyquist/bug.lsp b/nyquist/bug.lsp
index 9ad483a..9a8a791 100644
--- a/nyquist/bug.lsp
+++ b/nyquist/bug.lsp
@@ -53,6 +53,3 @@
 
 
 
-
-; arch-tag: b256deed-7e59-4406-a423-2189f0bcc06a
-
diff --git a/nyquist/dspprims.lsp b/nyquist/dspprims.lsp
index a9d58f9..f4a0362 100644
--- a/nyquist/dspprims.lsp
+++ b/nyquist/dspprims.lsp
@@ -143,7 +143,7 @@
             ((< the-snd-srate feedback-srate)
              (format t "Warning: down-sampling feedback in alpass~%")
              (setf feedback (snd-down the-snd-srate feedback))))
-      (display "snd-alpasscv-4 after cond" (snd-srate the-snd) (snd-srate feedback))
+      ;(display "snd-alpasscv-4 after cond" (snd-srate the-snd) (snd-srate feedback))
       (snd-alpasscv the-snd delay feedback)))
 
     
@@ -159,9 +159,9 @@
       (setf max-delay (/ 1.0 min-hz))
       ; make sure delay is between 0 and max-delay
       ; use clip function, which is symetric, with an offset
-      (setf delay (snd-offset (clip (snd-offset delay (* max-delay 0.5))
-                                    max-delay)
-                              (* max-delay -0.5)))
+      (setf delay (snd-offset (clip (snd-offset delay (* max-delay -0.5))
+                                    (* max-delay 0.5))
+                              (* max-delay 0.5)))
       ; now delay is between 0 and max-delay, so we won't crash nyquist when
       ; we call snd-alpassvv, which doesn't test for out-of-range data
       (cond ((> the-snd-srate feedback-srate)
@@ -174,7 +174,7 @@
             ((< the-snd-srate delay-srate)
              (format t "Warning: down-sampling delay in alpass~%")
              (setf delay (snd-down the-snd-srate delay))))
-      ;(display "snd-alpassvv-4 after cond" (snd-srate the-snd) (snd-srate feedback))
+      (display "snd-alpassvv-4 after cond" (snd-srate the-snd) (snd-srate feedback))
       (snd-alpassvv the-snd delay feedback max-delay)))
 
 (setf alpass-implementations
@@ -189,6 +189,11 @@
   (select-implementation-1-2 alpass-implementations
                              snd delay feedback min-hz))
 
+;; CONGEN -- contour generator, patterned after gated analog env gen
+;;
+(defun congen (gate rise fall) (multichan-expand #'snd-congen gate rise fall))
+
+
 ;; S-EXP -- exponentiate a sound
 ;;
 (defun s-exp (s) (multichan-expand #'nyq:exp s))
@@ -262,6 +267,8 @@
 ;;
 (defun rms (s &optional (rate 100.0) window-size)
   (let (rslt step-size)
+    (cond ((not (eq (type-of s) 'SOUND))
+	   (break "in RMS, first parameter must be a monophonic SOUND")))
     (setf step-size (round (/ (snd-srate s) rate)))
     (cond ((null window-size)
                (setf window-size step-size)))
@@ -302,7 +309,7 @@
 (defun nyq:slope (s)
   (let* ((sr (snd-srate s))
          (sr-inverse (/ sr)))
-    (snd-xform (snd-slope s) sr (- sr-inverse) 0.0 MAX-STOP-TIME 1.0)))
+    (snd-xform (snd-slope s) sr 0 sr-inverse MAX-STOP-TIME 1.0)))
 
 
 ;; lp - lowpass filter
@@ -321,6 +328,8 @@
 
 
 ;;; fixed-parameter filters based on snd-biquad
+;;; note: snd-biquad is implemented in biquadfilt.[ch],
+;;; while BiQuad.{cpp,h} is part of STK
 
 (setf Pi 3.14159265358979)
 
@@ -332,17 +341,29 @@
 ; than Matlab does.
 
 ; convenient biquad: normalize a0, and use zero initial conditions.
-(defun biquad (x b0 b1 b2 a0 a1 a2)
+(defun nyq:biquad (x b0 b1 b2 a0 a1 a2)
   (let ((a0r (/ 1.0 a0)))
     (snd-biquad x (* a0r b0) (* a0r b1) (* a0r b2) 
                              (* a0r a1) (* a0r a2) 0 0)))
 
+
+(defun biquad (x b0 b1 b2 a0 a1 a2)
+  (multichan-expand #'nyq:biquad x b0 b1 b2 a0 a1 a2))
+
+
 ; biquad with Matlab sign conventions for a_i's.
 (defun biquad-m (x b0 b1 b2 a0 a1 a2)
-  (biquad x b0 b1 b2 a0 (- a1) (- a2)))
+  (multichan-expand #'nyq:biquad-m x b0 b1 b2 a0 a1 a2))
+
+(defun nyq:biquad-m (x b0 b1 b2 a0 a1 a2)
+  (nyq:biquad x b0 b1 b2 a0 (- a1) (- a2)))
 
 ; two-pole lowpass
 (defun lowpass2 (x hz &optional (q 0.7071))
+  (multichan-expand #'nyq:lowpass2 x hz q))
+
+;; NYQ:LOWPASS2 -- operates on single channel
+(defun nyq:lowpass2 (x hz q)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (cw (cos w))
          (sw (sin w))
@@ -353,10 +374,13 @@
          (b1 (- 1.0 cw))
          (b0 (* 0.5 b1))
          (b2 b0))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
 
 ; two-pole highpass
 (defun highpass2 (x hz &optional (q 0.7071))
+  (multichan-expand #'nyq:highpass2 x hz q))
+
+(defun nyq:highpass2 (x hz q)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (cw (cos w))
          (sw (sin w))
@@ -367,10 +391,13 @@
          (b1 (- -1.0 cw))
          (b0 (* -0.5 b1))
          (b2 b0))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
 
 ; two-pole bandpass.  max gain is unity.
 (defun bandpass2 (x hz q)
+  (multichan-expand #'nyq:bandpass2 x hz q))
+
+(defun nyq:bandpass2 (x hz q)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (cw (cos w))
          (sw (sin w))
@@ -381,10 +408,13 @@
          (b0 alpha)
          (b1 0.0)
          (b2 (- alpha)))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
 
 ; two-pole notch.
 (defun notch2 (x hz q)
+  (multichan-expand #'nyq:notch2 x hz q))
+
+(defun nyq:notch2 (x hz q)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (cw (cos w))
          (sw (sin w))
@@ -395,11 +425,14 @@
          (b0 1.0)
          (b1 (* -2.0 cw))
          (b2 1.0))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
 
 
 ; two-pole allpass.
 (defun allpass2 (x hz q)
+  (multichan-expand #'nyq:allpass x hz q))
+
+(defun nyq:allpass (x hz q)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (cw (cos w))
          (sw (sin w))
@@ -410,12 +443,15 @@
          (b0 a2)
          (b1 a1)
          (b2 1.0))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
 
 
 ; bass shelving EQ.  gain in dB; Fc is halfway point.
 ; response becomes peaky at slope > 1.
 (defun eq-lowshelf (x hz gain &optional (slope 1.0))
+  (multichan-expand #'nyq:eq-lowshelf x hz gain slope))
+
+(defun nyq:eq-lowshelf (x hz gain slope)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (sw (sin w))
          (cw (cos w))
@@ -431,12 +467,15 @@
          (a0           (+ A  1.0    amc     bs  ))
          (a1 (* -2.0   (+ A -1.0    apc         )))
          (a2           (+ A  1.0    amc  (- bs) )))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
 
 
 ; treble shelving EQ.  gain in dB; Fc is halfway point.
 ; response becomes peaky at slope > 1.
 (defun eq-highshelf (x hz gain &optional (slope 1.0))
+  (multichan-expand #'nyq:eq-highshelf x hz gain slope))
+
+(defun nyq:eq-highshelf (x hz gain slope)
   (let* ((w (* 2.0 Pi (/ hz (snd-srate x))))
          (sw (sin w))
          (cw (cos w))
@@ -452,7 +491,7 @@
          (a0           (+ A  1.0 (- amc)    bs  ))
          (a1 (*  2.0   (+ A -1.0 (- apc)        )))
          (a2           (+ A  1.0 (- amc) (- bs) )))
-    (biquad-m x b0 b1 b2 a0 a1 a2)))
+    (nyq:biquad-m x b0 b1 b2 a0 a1 a2)))
     
 (defun nyq:eq-band (x hz gain width)
   (cond ((and (numberp hz) (numberp gain) (numberp width))
@@ -519,5 +558,20 @@
                                                 hz 0.94276399)
                                                 hz 2.57900101))
 
-; arch-tag: bbfeeb79-b168-4209-8ae8-6a472602d155
+; YIN
+; maybe this should handle multiple channels, etc.
+(setfn yin snd-yin)
+
+
+; FOLLOW
+(defun follow (sound floor risetime falltime lookahead)
+  ;; use 10000s as "infinite" -- that's about 2^30 samples at 96K
+  (setf lookahead (round (* lookahead (snd-srate sound))))
+  (extract (/ lookahead (snd-srate sound)) 10000
+           (snd-follow sound floor risetime falltime lookahead)))
 
+(defun gate (sound floor risetime falltime lookahead threshold)
+  (setf lookahead (round (* lookahead (snd-srate sound))))
+  (setf lookahead (/ lookahead (snd-srate sound)))
+  (extract lookahead 10000
+           (snd-gate sound lookahead risetime falltime floor threshold)))
diff --git a/nyquist/evalenv.lsp b/nyquist/evalenv.lsp
index 7b5c074..155139f 100644
--- a/nyquist/evalenv.lsp
+++ b/nyquist/evalenv.lsp
@@ -34,6 +34,3 @@
 (defmacro eval-env (arg)        ; evaluate in current environment
           `(evalhook ,arg nil nil (getenv)))
 
-
-; arch-tag: 4cdbf611-9e20-4404-bbd9-77e37398a65f
-
diff --git a/nyquist/follow.lsp b/nyquist/follow.lsp
index 19e692f..7332fa7 100644
--- a/nyquist/follow.lsp
+++ b/nyquist/follow.lsp
@@ -47,7 +47,7 @@
   ; take the square of the input to get power
   (let ((in-squared (mult input input)))
     ; compute the time-average (sort of a low-pass) of the square
-    (setf avg (snd-avg in-squared 1000 500))
+    (setf avg (snd-avg in-squared 1000 500 OP-AVERAGE))
     ; use follower to anticipate rise and trail off smoothly
     (setf env (snd-follow avg 0.001 0.2 1.0 20))
     ; take logarithm to get dB instead of linear
@@ -68,6 +68,3 @@
     ; = (snd-srate input)
     (mult (seq (s-rest (/ 20.0 88.2)) (cue input)) gain)))
 
-
-; arch-tag: e276f007-e894-4c2a-95b6-1fc4cbc74bfb
-
diff --git a/nyquist/init.lsp b/nyquist/init.lsp
index 0aa06e8..e2b905c 100644
--- a/nyquist/init.lsp
+++ b/nyquist/init.lsp
@@ -1,10 +1,8 @@
 ; init.lsp -- default Nyquist startup file
-(load "nyinit.lsp")
+(load "nyinit.lsp" :verbose nil)
 
 ; add your customizations here:
 ;    e.g. (setf *default-sf-dir* "...")
 
 ; (load "test.lsp")
 
-; arch-tag: 12c6d5ab-0af7-41d7-a365-dc575265e4b1
-
diff --git a/nyquist/misc.lsp b/nyquist/misc.lsp
index da3466d..bd695d1 100644
--- a/nyquist/misc.lsp
+++ b/nyquist/misc.lsp
@@ -1,5 +1,35 @@
 ;## misc.lsp -- a collection of useful support functions
 
+;; Garbage collection "improvement" -- XLISP will GC without allocation
+;; as long as it does not run out of cells. This can make it very slow
+;; since GC does work proportional to the heap size. If there were
+;; always at least, say, 1/3 of the heap free after GC, then allocating
+;; cells would be more-or-less a constant time operation (amortized).
+;;
+;; So, after GC, we'll expand until we have 1/3 of the heap free.
+;;
+(defun ny:gc-hook (heap-size free-cells)
+  (cond ((< (* free-cells 2) heap-size) ;; free cells is < 1/3 heap
+         ;; expand. Each expansion unit is 2000 cons cells
+         (let* ((how-many-not-free (- heap-size free-cells))
+                (should-be-free (/ how-many-not-free 2))
+                (how-many-more (- should-be-free free-cells))
+                (expand-amount (/ how-many-more 2000)))
+           (cond ((> expand-amount 0)
+                  (if *gc-flag*
+                      (format t
+                       "[ny:gc-hook allocating ~A more cells] "
+                       (* expand-amount 2000)))
+                  (expand expand-amount)))))))
+
+(setf *gc-hook* 'ny:gc-hook)
+
+
+; set global if not already set
+;
+(defmacro init-global (symb expr)
+  `(if (boundp ',symb) ,symb (setf ,symb ,expr)))
+
 ; enable or disable breaks
 (defun bkon () (setq *breakenable* T))
 (defun bkoff () (setq *breakenable* NIL))
@@ -10,6 +40,11 @@
 ;;
 (defun grindef (e) (pprint (get-lambda-expression (symbol-function e))))
 
+;; (args 'name) - print function and its formal arguments
+;;
+(defun args (e) 
+  (pprint (cons e (second (get-lambda-expression (symbol-function e))))))
+
 ;; (incf <place>), (decf <place>) - add/sub 1 to/from variable
 ;;
 (defmacro incf (symbol) `(setf ,symbol (1+ ,symbol)))
@@ -19,7 +54,7 @@
 ;; (push val <place>) - cons val to list
 ;;
 (defmacro push (val lis) `(setf ,lis (cons ,val ,lis)))
-(defmacro pop (lis) `(setf ,lis (cdr ,lis)))
+(defmacro pop (lis) `(prog1 (car ,lis) (setf ,lis (cdr ,lis))))
 
 ;; include this to use RBD's XLISP profiling hooks
 ;;(load "/afs/andrew/usr/rbd/lib/xlisp/profile.lsp")
@@ -47,8 +82,6 @@
 (defmacro while (cond &rest stmts)
   `(prog () loop (if ,cond () (return)) , at stmts (go loop)))
 
-(defmacro when (test action)
-        (list 'cond (list test action)))
 
 ; when parens/quotes don't match, try this
 ; 
@@ -68,28 +101,54 @@
              (cond ((equal (char fullpath i) *file-separator*)
                     (setf n i))))
            (setf fullpath (subseq fullpath 0 (1+ n)))
+
+;;         REMOVED SUPPORT FOR MAC OS-9 AND BELOW -RBD
            ;; if this is a Mac, use ':' in place of empty path
-           (cond ((and (equal fullpath "") 
-                       (equal *file-separator* #\:))
-                  (setf fullpath ":")))
+;;           (cond ((and (equal fullpath "") 
+;;                       (equal *file-separator* #\:))
+;;                  (setf fullpath ":")))
+;;         END MAC OS-9 CODE
+
+           ;; Here's an interesting problem: fullpath is now the path
+           ;; specified to LOAD, but it may be relative to the current
+           ;; directory. What if we want to load a sound file from the
+           ;; current directory? It seems that S-READ gives priority to
+           ;; the *DEFAULT-SF-DIR*, so it will follow fullpath STARTING
+           ;; FROM *DEFAULT-SF-DIR*. To fix this, we need to make sure
+           ;; that fullpath is either an absolute path or starts with
+           ;; and explicit ./ which tells s-read to look in the current
+           ;; directory.
+           (cond ((> (length fullpath) 0)
+		  (cond ((full-name-p fullpath))
+			(t ; not absolute, make it explicitly relative
+			 (setf fullpath (strcat "./" fullpath)))))
+                 (t (setf fullpath "./"))) ; use current directory
            fullpath)
           (t nil))))
           
 ;; real-random -- pick a random real from a range
 ;;
 (defun real-random (from to)
-  (cond ((= from to) from)
-          (t
-         (+ from
-           (* (random 10000)
-              0.0001
-              (- to from))))))
+  (+ (* (rrandom) (- to from)) from))
 
 ;; power -- raise a number to some power x^y
 ;;
 (defun power (x y)
   (exp (* (log (float x)) y)))
   
-
-; arch-tag: 4c739a4e-1495-4b2a-aad0-85b3003e3291
+;; require-from -- load a file if a function is undefined
+;;
+;; fn-symbol -- the function defined when the file is loaded
+;; file-name -- the name of file to load if fn-symbol is undefined
+;; path -- if t, load from current-path; if a string, prepend string
+;;         to file-name; if nil, ignore it
+;;
+(defmacro require-from (fn-symbol file-name &optional path)
+  (cond ((eq path t)
+         (setf file-name `(strcat (current-path) ,file-name)))
+        (path
+         (setf file-name `(strcat ,path ,file-name))))
+  `(if (fboundp (quote ,fn-symbol))
+       t
+       (load ,file-name)))
 
diff --git a/nyquist/nyinit.lsp b/nyquist/nyinit.lsp
index 4ea9733..c1ae2cd 100644
--- a/nyquist/nyinit.lsp
+++ b/nyquist/nyinit.lsp
@@ -11,13 +11,17 @@
 
 (load "dspprims.lsp" :verbose NIL)
 (load "nyquist.lsp" :verbose NIL)
-(load "follow.lsp")
+(load "follow.lsp" :verbose NIL)
 
 (load "system.lsp" :verbose NIL)
 
 (load "seqmidi.lsp" :verbose NIL)
 (load "nyqmisc.lsp" :verbose NIL)
-
+(load "stk.lsp" :verbose NIL)
+(load "envelopes.lsp" :verbose NIL)
+(load "equalizer.lsp" :verbose NIL)
+(load "xm.lsp" :verbose NIL)
+(load "sal.lsp" :verbose NIL)
 
 ;; set to T to get ANSI headers and NIL to get antique headers
 (setf *ANSI* NIL)
@@ -26,10 +30,9 @@
 (setf *WATCH* NIL)
 
 (format t "~%Nyquist -- A Language for Sound Synthesis and Composition~%")
-(format t "    Copyright (c) 1991-2003 by Roger B. Dannenberg~%")
-(format t "    Version 2.29~%~%")
+(format t "    Copyright (c) 1991,1992,1995,2007-2009 by Roger B. Dannenberg~%")
+(format t "    Version 3.03~%~%")
 
-(setf *gc-flag* t)
+;(setf *gc-flag* t)
 
-; arch-tag: f709df74-c08d-41a0-b11d-e84daaba1457
 
diff --git a/nyquist/nyqmisc.lsp b/nyquist/nyqmisc.lsp
index 9f12a39..3905d33 100644
--- a/nyquist/nyqmisc.lsp
+++ b/nyquist/nyqmisc.lsp
@@ -1,7 +1,7 @@
 ;; nyqmisc.lsp -- misc functions for nyquist
 
-(setf *snd-display-max-samples* 10000)
-(setf *snd-display-print-samples* 100)
+(init-global *snd-display-max-samples* 10000)
+(init-global *snd-display-print-samples* 100)
 
 
 ; (snd-display sound) -- describe a sound
@@ -25,6 +25,3 @@
     (format t "~A: srate ~A, t0 ~A, extent ~A, dur ~A, ~A: ~A"
       sound srate t0 extent dur samples (snd-samples sound nsamples))))
 
-
-; arch-tag: a2d8e495-b702-479f-9d4d-9b81c4199647
-
diff --git a/nyquist/nyquist.lsp b/nyquist/nyquist.lsp
index ab3779c..979ef0a 100644
--- a/nyquist/nyquist.lsp
+++ b/nyquist/nyquist.lsp
@@ -2,14 +2,10 @@
 ;;;   ###########################################################
 ;;;   ### NYQUIST-- A Language for Composition and Synthesis. ###
 ;;;   ###                                                     ###
-;;;   ### Copyright (c) 1994 by Roger B. Dannenberg           ###
+;;;   ### Copyright (c) 1994-2006 by Roger B. Dannenberg      ###
 ;;;   ###########################################################
 ;;;
-
-;;;   
-;;;   Modifications for using Nyquist within Audacity
-;;;   by Dominic Mazzoni
-;;;
+(load "fileio.lsp" :verbose NIL)
 
 (prog ()
    (setq lppp -12.0) (setq lpp -9.0)  (setq lp -6.0)    (setq lmp -3.0)
@@ -23,8 +19,7 @@
    (setq w 4.0)  (setq wd 6.0)   (setq wt (* st 16.0))
 )
 
-(if (not (boundp '*A4-Hertz*))
-    (setf *A4-Hertz* 440.0))
+(init-global *A4-Hertz* 440.0)
 
 ; next pitch, for initializations below
 ; 
@@ -61,10 +56,8 @@
 
 (set-pitch-names)
 
-(if (not (boundp '*DEFAULT-SOUND-SRATE*))
-  (setf *DEFAULT-SOUND-SRATE* 44100.0))
-(if (not (boundp '*DEFAULT-CONTROL-SRATE*))
-  (setf *DEFAULT-CONTROL-SRATE* 2205.0))
+(init-global *default-sound-srate* 44100.0)
+(init-global *default-control-srate* 2205.0)
 
 (setf *environment-variables*
       '(*WARP* *SUSTAIN* *START* *LOUD* *TRANSPOSE* 
@@ -98,8 +91,15 @@
 (nyq:environment-init)
 
 (defun get-duration (dur)
-  (- (local-to-global (* (get-sustain) dur))
-     (setf *rslt* (local-to-global 0))))
+  (let ((duration 
+         (- (local-to-global (* (get-sustain) dur))
+            (setf *rslt* (local-to-global 0)))))
+     (cond ((minusp duration)
+            (error
+"duration is less than zero: perhaps a warp or stretch
+is ill-formed. Nyquist cannot continue because synthesis
+functions assume durations are always positive.")))
+     duration))
 
 
 (defun get-loud ()
@@ -203,6 +203,32 @@
         phase))))		; phase
 
 
+;; FMFB
+;;
+;; this code is based on FMOSC above
+;;
+(defun fmfb (pitch index &optional dur)
+ (let ((hz (step-to-hz (+ pitch (get-transpose)))))
+   (cond ((> hz (/ *SOUND-SRATE* 2))
+          (format "Warning: fmfb nominal frequency (~A hz) will alias at current sample rate (~A hz).~%"
+                  hz *SOUND-SRATE*)))
+   (setf dur (get-duration dur))
+   (cond ((soundp index) (ny:fmfbv hz index))
+          (t
+           (scale-db (get-loud)
+                     (snd-fmfb (local-to-global 0) 
+                               hz *SOUND-SRATE* index dur))))))
+
+;; private variable index version of fmfb
+(defun ny:fmfbv (hz index)
+  (let ((modulation-srate (snd-srate index)))
+    (cond ((< *SOUND-SRATE* modulation-srate)
+           (format t "Warning: down-sampling FM modulation in fmfb~%")
+           (setf index (snd-down *SOUND-SRATE* index))))
+    (scale-db (get-loud)
+              (snd-fmfbv (local-to-global 0) hz *SOUND-SRATE* index))))
+
+
 ;; BUZZ
 ;;
 ;; (ARGUMENTS ("long" "n") ("rate_type" "sr") ("double" "hz")
@@ -217,7 +243,7 @@
     (cond ((> hz (/ *SOUND-SRATE* 2))
            (format t "Warning: buzz nominal frequency (~A hz) will alias at current sample rate (~A hz).\n"
                    hz *SOUND-SRATE*)))
-    (setf n (min n 1)) ; avoid divide by zero problem
+    (setf n (max n 1)) ; avoid divide by zero problem
     (scale-db (get-loud)
               (snd-buzz n                   ; number of harmonics
                         *SOUND-SRATE*       ; output sample rate
@@ -333,16 +359,19 @@ loop
   (let ((d (get-duration duration)))
     (if (minusp d) (setf d 0))
     (cond ((> freq (/ *CONTROL-SRATE* 2))
-       (format t "Warning: lfo frequency (~A hz) will alias at current control rate (~A hz).\n"
-           freq *CONTROL-SRATE*)))
-     (snd-osc
-    (car sound)		; samples for table
-    (cadr sound)		; step represented by table
-    *CONTROL-SRATE*		; output sample rate
-    freq			; output hz
-    *rslt*			; starting time
-    d			; duration
-    phase)))		; phase
+           (format t "Warning: lfo frequency (~A hz) will alias at current control rate (~A hz).\n"
+                     freq *CONTROL-SRATE*)))
+    (set-logical-stop
+      (snd-osc
+        (car sound)		; samples for table
+        (cadr sound)		; step represented by table
+        *CONTROL-SRATE*		; output sample rate
+        freq			; output hz
+        *rslt*			; starting time
+        d			; duration
+        phase)		        ; phase
+      duration)))
+
 
 ;; FMLFO -- like LFO but uses frequency modulation
 ;;
@@ -358,77 +387,81 @@ loop
           (t
            (error "frequency must be a number or sound")))))
 
+
 ;; OSC - table lookup oscillator
 ;;
 (defun osc (pitch &optional (duration 1.0) 
-          (sound *TABLE*) (phase 0.0))
-  (let ((d (get-duration duration))
-    (hz (step-to-hz (+ pitch (get-transpose)))))
+            (sound *TABLE*) (phase 0.0))
+  (let ((d  (get-duration duration))
+        (hz (step-to-hz (+ pitch (get-transpose)))))
     ;(display "osc" *warp* global-start global-stop actual-dur  
     ;         (get-transpose))
     (cond ((> hz (/ *SOUND-SRATE* 2))
-       (format t "Warning: osc frequency (~A hz) will alias at current sample rate (~A hz).\n"
-           hz *SOUND-SRATE*)))
-     (set-logical-stop
-     (scale-db (get-loud)
-           (snd-osc 
-        (car sound)		; samples for table
-        (cadr sound)		; step represented by table
-        *SOUND-SRATE*		; output sample rate
-        hz			;  output hz
-        *rslt*			; starting time
-        d			; duration
-        phase))                 ; phase
-     duration)))
+           (format t "Warning: osc frequency (~A hz) will alias at current sample rate (~A hz).\n"
+                     hz *SOUND-SRATE*)))
+    (set-logical-stop
+      (scale-db (get-loud)
+        (snd-osc 
+          (car sound)		; samples for table
+          (cadr sound)		; step represented by table
+          *SOUND-SRATE*		; output sample rate
+          hz			;  output hz
+          *rslt*		; starting time
+          d			; duration
+          phase))               ; phase
+      duration)))
 
 
 ;; PARTIAL -- sine osc with built-in envelope scaling
 ;;
 (defun partial (steps env)
   (let ((hz (step-to-hz (+ steps (get-transpose)))))
-    (cond ((> hz (/ *SOUND-SRATE* 2))
-       (format t "Warning: partial frequency (~A hz) will alias at current sample rate (~A hz).\n"
-           hz *SOUND-SRATE*)))
-    (snd-partial *sound-srate*
-         hz
-         env)))
+    (cond ((> hz (/ *sound-srate* 2))
+           (format t "Warning: partial frequency (~A hz) will alias at current sample rate (~A hz).\n"
+                     hz *sound-srate*)))
+    (scale-db (get-loud)
+      (snd-partial *sound-srate* hz
+                   (force-srate *sound-srate* env)))))
 
 
 ;; SAMPLER -- simple attack + sustain sampler
 ;;
 (defun sampler (pitch modulation 
-        &optional (sample *table*) (npoints 2))
+                &optional (sample *table*) (npoints 2))
   (let ((samp (car sample))
     (samp-pitch (cadr sample))
     (samp-loop-start (caddr sample))
     (hz (step-to-hz (+ pitch (get-transpose)))))
     ; make a waveform table look like a sample with no attack:
     (cond ((not (numberp samp-loop-start))
-       (setf samp-loop-start 0.0)))
+           (setf samp-loop-start 0.0)))
     (cond ((> hz (/ *SOUND-SRATE* 2))
-       (format t "Warning: sampler nominal frequency (~A hz) will alias at current sample rate (~A hz).\n"
-           hz *SOUND-SRATE*)))
+           (format t "Warning: sampler nominal frequency (~A hz) will alias at current sample rate (~A hz).\n"
+                     hz *SOUND-SRATE*)))
     (scale-db (get-loud)
        (snd-sampler 
-    samp		; samples for table
-    samp-pitch		; step represented by table
-    samp-loop-start         ; time to start loop
-    *SOUND-SRATE*		; output sample rate
-    hz			;  output hz
-    (local-to-global 0)	; starting time
-    modulation		; modulation
-    npoints))))		; number of interpolation points
+        samp		; samples for table
+        samp-pitch	; step represented by table
+        samp-loop-start ; time to start loop
+        *SOUND-SRATE*	; output sample rate
+        hz		;  output hz
+        (local-to-global 0)	; starting time
+        modulation	; modulation
+        npoints))))    	; number of interpolation points
 
 
 ;; SINE -- simple sine oscillator
 ;;
 (defun sine (steps &optional (duration 1.0))
   (let ((hz (step-to-hz (+ steps (get-transpose))))
-    (d (get-duration duration)))
+        (d (get-duration duration)))
     (cond ((> hz (/ *SOUND-SRATE* 2))
-       (format t "Warning: sine frequency (~A hz) will alias at current sample rate (~A hz).\n"
-           hz *SOUND-SRATE*)))
-    (snd-sine *rslt* hz *sound-srate* d)))
+           (format t "Warning: sine frequency (~A hz) will alias at current sample rate (~A hz).\n"
+                     hz *SOUND-SRATE*)))
+    (set-logical-stop
+      (scale-db (get-loud)
+        (snd-sine *rslt* hz *sound-srate* d))
+      duration)))
 
 
 ;; PLUCK
@@ -440,44 +473,47 @@ loop
   (let ((hz (step-to-hz (+ steps (get-transpose))))
         (d (get-duration duration)))
     (cond ((> hz (/ *SOUND-SRATE* 2))
-       (format t "Warning: pluck frequency (~A hz) will alias at current sample rate (~A hz).\n"
-           hz *SOUND-SRATE*)))
-    (snd-pluck *SOUND-SRATE* hz *rslt* d final-amp)))
-
-
+           (format t "Warning: pluck frequency (~A hz) will alias at current sample rate (~A hz).\n"
+                     hz *SOUND-SRATE*)))
+    (set-logical-stop
+      (scale-db (get-loud)
+        (snd-pluck *SOUND-SRATE* hz *rslt* d final-amp))
+      duration)))
 
 
 ;; abs-env -- restore the standard environment
 ;;
 (defmacro abs-env (s)
   `(progv '(*WARP* *LOUD* *TRANSPOSE* *SUSTAIN* 
-        *START* *STOP* *CONTROL-SRATE* *SOUND-SRATE*)
-      (list '(0.0 1.0 NIL) 0.0 0.0 1.0
-        -1e+9 1e+9 *DEFAULT-CONTROL-SRATE* *DEFAULT-SOUND-SRATE*)
-      ,s))
+            *START* *STOP*
+            *CONTROL-SRATE* *SOUND-SRATE*)
+          (list '(0.0 1.0 NIL) 0.0 0.0 1.0
+           MIN-START-TIME MAX-STOP-TIME
+           *DEFAULT-CONTROL-SRATE* *DEFAULT-SOUND-SRATE*)
+     ,s))
 
 
 ; nyq:add2 - add two arguments
 ; 
 (defun nyq:add2 (s1 s2)
-    (cond ((and (arrayp s1) (not (arrayp s2)))
-       (setf s2 (vector s2)))
-      ((and (arrayp s2) (not (arrayp s1)))
-       (setf s1 (vector s1))))
-    (cond ((arrayp s1)
-       (sum-of-arrays s1 s2))
-      (t
-       (nyq:add-2-sounds s1 s2))))
+  (cond ((and (arrayp s1) (not (arrayp s2)))
+         (setf s2 (vector s2)))
+        ((and (arrayp s2) (not (arrayp s1)))
+         (setf s1 (vector s1))))
+  (cond ((arrayp s1)
+         (sum-of-arrays s1 s2))
+        (t
+         (nyq:add-2-sounds s1 s2))))
 
 
 ; (NYQ:ADD-2-SOUNDS S1 S2) - add two sound (or number) arguments
 ; 
 (defun nyq:add-2-sounds (s1 s2)
   (cond ((numberp s1)
-     (cond ((numberp s2)
+         (cond ((numberp s2)
         (+ s1 s2))
-           (t
-        (snd-offset s2 s1))))
+          (t
+           (snd-offset s2 s1))))
     ((numberp s2)
      (snd-offset s1 s2))
     (t
@@ -485,13 +521,11 @@ loop
            (s2sr (snd-srate s2)))
 ;    (display "nyq:add-2-sounds" s1sr s2sr)
        (cond ((> s1sr s2sr)
-          (snd-add s1 (snd-up s1sr s2)))
-         ((< s1sr s2sr)
-          (snd-add (snd-up s2sr s1) s2))
-         (t
-          (snd-add s1 s2)))))))
-
-
+              (snd-add s1 (snd-up s1sr s2)))
+             ((< s1sr s2sr)
+              (snd-add (snd-up s2sr s1) s2))
+             (t
+              (snd-add s1 s2)))))))
 
 
 (defmacro at (x s)
@@ -537,14 +571,15 @@ loop
     (t
      (snd-clip x v))))
 
+
 ;; (NYQ:COERCE-TO S1 S2) - expand sound s1 to type of s2
 ; 
 (defun nyq:coerce-to (s1 s2)
-  (cond ((soundp s1)
-     (cond ((arrayp s2)
-        (nyq:sound-to-array s1 (length s2)))
-           (t s1)))
-    (t s1)))
+  (cond ((or (soundp s1) (numberp s1))
+         (cond ((arrayp s2)
+                (nyq:sound-to-array s1 (length s2)))
+               (t s1)))
+         (t s1)))
 
 
 (defmacro continuous-control-warp (beh)
@@ -578,7 +613,7 @@ loop
         (result (make-array len)))
         (dotimes (i len)
         (setf (aref result i) 
-              (snd-exp (snd-scale ln10over20 (aref snd i)))))
+              (snd-exp (snd-scale ln10over20 (aref x i)))))
         result))
     (t
      (snd-exp (snd-scale ln10over20 x)))))
@@ -592,11 +627,44 @@ loop
         (result (make-array len)))
         (dotimes (i len)
         (setf (aref result i) 
-              (snd-scale (/ 1.0 ln10over20) (snd-log (aref snd i)))))
+              (snd-scale (/ 1.0 ln10over20) (snd-log (aref x i)))))
         result))
     (t
      (snd-scale (/ 1.0 ln10over20) (snd-log x)))))
 
+
+(cond ((not (fboundp 'scalar-step-to-hz))
+       (setfn scalar-step-to-hz step-to-hz)
+       (setfn scalar-hz-to-step hz-to-step)))
+
+
+(defun step-to-hz (x)
+  (cond ((numberp x)
+         (scalar-step-to-hz x))
+        ((arrayp x)
+         (let* ((len (length x))
+                (result (make-array len)))
+           (dotimes (i len)
+             (setf (aref result i) (step-to-hz (aref x i))))
+           result))
+        (t
+         (s-exp (snd-offset (snd-scale 0.0577622650466621 x) 
+                            2.1011784386926213)))))
+
+(defun hz-to-step (x)
+  (cond ((numberp x)
+         (scalar-hz-to-step x))
+        ((arrayp x)
+         (let* ((len (length x))
+                (result (make-array len)))
+           (dotimes (i len)
+             (setf (aref result i) (hz-to-step (aref x i))))
+           result))
+        (t
+         (snd-scale 17.312340490667565
+                    (snd-offset (s-log x) -2.1011784386926213))))) 
+
+
 ; sref - access a sound at a given time point
 ;    note that the time is transformed to global
 (defun sref (sound point)
@@ -613,27 +681,6 @@ loop
   (snd-xform sound (snd-srate sound) 0 start stop 1.0))
      
 
-;(defmacro extract (start stop sound)
-;  `(let ($newsound)
-;     (progv '(*START* *STOP*)
-;            (list (local-to-global ,start)
-;		  (local-to-global ,stop))
-;            (setf $newsound ,sound)
-;            (setf $newsound 
-;                  (loud-abs 0 (cue (set-logical-stop-abs $newsound *STOP*)))))
-;     $newsound))
-
-
-;(defmacro extract-abs (start stop sound)
-;  `(let ($newsound $newstart)
-;     (progv '(*START* *STOP*)
-;            (list ,start ,stop)
-;	    (setf $newstart *START*)
-;            (setf $newsound ,sound)            
-;            (setf $newsound (set-logical-stop-abs $newsound *STOP*)))
-;     (snd-xform $newsound (snd-srate $newsound) ,start ,stop 1.0)))
-
-
 (defun local-to-global (local-time)
   (let ((d (warp-time *WARP*))
     (s (warp-stretch *WARP*))
@@ -672,32 +719,83 @@ loop
 
 
 ; s-plot -- compute and write n data points for plotting
-; 
-(defun s-plot (snd &optional (n 1000))
-  (prog ((points (snd-samples snd (1+ n)))
-     (filename (soundfilename *default-plot-file*))
-     outf
-     (period (/ 1.0 (snd-srate snd)))
-     len 
-     (maximum 1.0))
-    (setf outf (open filename :direction :output))
-    (cond ((null outf)
-       (format t "s-plot: could not open ~A!~%" filename)
-       (return nil)))
+;
+; dur is how many seconds of sound to plot. If necessary, cut the
+;     sample rate to allow plotting dur seconds
+; n is the number of points to plot. If there are more than n points,
+;     cut the sample rate. If there are fewer than n samples, just
+;     plot the points that exist.
+;
+(defun s-plot (snd &optional (dur 2.0) (n 1000))
+  (prog* ((sr (snd-srate snd))
+          (t0 (snd-t0 snd))
+          (filename (soundfilename *default-plot-file*))
+          (s snd) ;; s is either snd or resampled copy of snd
+          (outf (open filename :direction :output)) ;; for plot data
+          (maximum -1000000.0) ;; maximum amplitude
+          (minimum  1000000.0) ;; minimum amplitude
+          actual-dur ;; is the actual-duration of snd
+          sample-count ;; is how many samples to get from s
+          period  ;; is the period of samples to be plotted
+          truncation-flag     ;; true if we didn't get whole sound
+          points) ;; is array of samples
+     ;; If we need more than n samples to get dur seconds, resample
+     (cond ((< n (* dur sr))
+            (setf s (force-srate (/ (float n) dur) snd))))
+     ;; Get samples from the signal
+     (setf points (snd-samples s (1+ n)))
+     ;; If we got fewer than n points, we can at least estimate the
+     ;; actual duration (we might not know exactly if we use a lowered
+     ;; sample rate). If the actual sample rate was lowered to avoid
+     ;; getting more than n samples, we can now raise the sample rate
+     ;; based on our estimate of the actual sample duration.
+     (display "test" (length points) n)
+     (cond ((< (length points) n)
+            ;; sound is shorter than dur, estimate actual length
+            (setf actual-dur (/ (length points) (snd-srate s)))
+            (setf sample-count (round (min n (* actual-dur sr))))
+            (cond ((< n (* actual-dur sr))
+                   (setf s (force-srate (/ (float n) actual-dur) snd)))
+                  (t ;; we can use original signal
+                   (setf s snd)))
+            (setf points (snd-samples s sample-count))
+            ;; due to rounding, need to recalculate exact count
+            (setf sample-count (length points)))
+           ((= (length points) n)
+            (setf actual-dur dur)
+            (setf sample-count n))
+           (t ;; greater than n points, so we must have truncated sound
+            (setf actual-dur dur)
+            (setf sample-count n)
+            (setf truncation-flag t)))
+     ;; actual-dur is the duration of the plot
+     ;; sample-count is how many samples we have
+     (setf period (/ 1.0 (snd-srate s)))
+     (cond ((null outf)
+            (format t "s-plot: could not open ~A!~%" filename)
+            (return nil)))
     (format t "s-plot: writing ~A ... ~%" filename)
-    (setf len (length points))
-    (cond ((> len n)
-       (setf len n)
-       (format t "WARNING: SOUND TRUNCATED TO ~A POINTS~%" len)))
-    (dotimes (i len)
-      (cond ((< (abs maximum) (abs (aref points i)))
-         (setf maximum (aref points i))))
-      (format outf "~A ~A~%" (* i period) (aref points i)))
+    (cond (truncation-flag
+           (format t "        !!TRUNCATING SOUND TO ~As\n" actual-dur)))
+    (cond ((/= (snd-srate s) (snd-srate snd))
+           (format t "        !!RESAMPLING SOUND FROM ~A to ~Ahz\n"
+                   (snd-srate snd) (snd-srate s))))
+    (cond (truncation-flag
+           (format t "        Plotting ~As, actual sound duration is greater\n"
+                     actual-dur))
+          (t
+           (format t "        Sound duration is ~As~%" actual-dur)))
+    (dotimes (i sample-count)
+      (setf maximum (max maximum (aref points i)))
+      (setf minimum (min minimum (aref points i)))
+      (format outf "~A ~A~%" (+ t0 (* i period)) (aref points i)))
     (close outf)
-    (cond ((> (abs maximum) 1.0)
-       (format t "WARNING: MAXIMUM AMPLITUDE IS ~A~%" maximum)))
-    (format t "~A points from ~A to ~A~%"
-     len (snd-t0 snd) (+ (snd-t0 snd) (* len period)))))
+    (format t "        Wrote ~A points from ~As to ~As~%" 
+              sample-count t0 (+ t0 actual-dur))
+    (format t "        Range of values ~A to ~A\n" minimum maximum)
+    (cond ((or (< minimum -1) (> maximum 1))
+           (format t "        !!SIGNAL EXCEEDS +/-1~%")))))
+
 
 ; run something like this to plot the points:
 ; graph < points.dat | plot -Ttek
@@ -761,6 +859,46 @@ loop
       ,s))
 
 
+;; COMPUTE-DEFAULT-SOUND-FILE -- construct and set *default-sound-file*
+;;
+;; (this is harder than it might seem because the default place for
+;;  sound files is in /tmp, which is shared by users, so we'd like to
+;;  use a user-specific name to avoid collisions)
+;;
+(defun compute-default-sound-file () 
+  (let (inf user extension)
+      ; the reason for the user name is that if UserA creates a temp file,
+      ; then UserB will not be able to overwrite it. The user name is a
+      ; way to give each user a unique temp file name. Note that we don't
+      ; want each session to generate a unique name because Nyquist doesn't
+      ; delete the sound file at the end of the session.
+   (setf user (get-user))
+#|
+   (cond ((null user)           
+       (format t 
+"Please type your user-id so that I can construct a default 
+sound-file name.  To avoid this message in the future, add
+this to your .login file:
+    setenv USER <your id here>
+or add this to your init.lsp file:
+    (setf *default-sound-file* \"<your filename here>\")
+    (setf *default-sf-dir* \"<full pathname of desired directory here>\")
+
+Your id please: ")
+       (setf user (read))))
+|#
+    ; now compute the extension based on *default-sf-format*
+    (cond ((= *default-sf-format* snd-head-AIFF)
+           (setf extension ".aif"))
+          ((= *default-sf-format* snd-head-Wave)
+           (setf extension ".wav"))
+          (t
+           (setf extension ".snd")))
+    (setf *default-sound-file* 
+      (strcat (string-downcase user) "-temp" extension))
+    (format t "Default sound file is ~A.~%" *default-sound-file*)))
+
+
 ;; CONTROL-WARP -- apply a warp function to a control function
 ;; 
 (defun control-warp (warp-fn control &optional wrate)
@@ -816,7 +954,7 @@ loop
 ;;  = (snd-compose (scale-srate sound s) (snd-inverse (shift-time f (- d))
 ;;                                              0 *SOUND-SRATE*))
 ;;
-(defun sound (sound)
+(defun nyq:sound (sound)
    (cond ((null (warp-function *WARP*))
       (snd-xform sound (/ (snd-srate sound) (warp-stretch *WARP*))
              (local-to-global 0)
@@ -827,6 +965,20 @@ loop
                         (- (warp-time *WARP*)))
                     0 *SOUND-SRATE*)))))
 
+(defun nyq:sound-of-array (sound)
+  (let* ((n (length sound))
+         (s (make-array n)))
+    (dotimes (i n)
+      (setf (aref s i) (nyq:sound (aref sound i))))
+    s))
+
+
+(defun sound (sound)
+  (cond ((arrayp sound)
+     (nyq:sound-of-array sound))
+    (t
+     (nyq:sound sound))))
+
 
 ;; (SCALE-SRATE SOUND SCALE)
 ;; multiplies the sample rate by scale
@@ -861,6 +1013,13 @@ loop
 (setfn control sound)
 
 
+;; (cue-file string)
+;;    Loads a sound file with the given name, returning a sound which is
+;; transformed to the current environment.
+(defun cue-file (name)
+    (cue (force-srate *SOUND-SRATE* (s-read name))))
+
+
 ;; (env t1 t2 t4 l1 l2 l3 &optional duration)
 ;; Creates a 4-phase envelope.
 ;;	tN is the duration of phase N, and lN is the final level of
@@ -894,9 +1053,9 @@ loop
       (t
        (setf t3 (- actual-dur t1 t2 t4))))
     (set-logical-stop
-     (abs-env (at *rslt*
-          (pwl t1 l1 (+ t1 t2) l2 (- actual-dur t4) l3 actual-dur)))
-     duration)))
+      (abs-env (at *rslt*
+                   (pwl t1 l1 (+ t1 t2) l2 (- actual-dur t4) l3 actual-dur)))
+      duration)))
 
 
 (defun gate (sound lookahead risetime falltime floor threshold)
@@ -1204,10 +1363,12 @@ loop
 ;;
 (defun ramp (&optional (x 1))
   (let* ((duration (get-duration x)))
-    (warp-abs nil 
-    (at *rslt*
-        (sustain-abs 1
-        (pwl duration 1 (+ duration (/ *control-srate*))))))))
+    (set-logical-stop
+      (warp-abs nil
+        (at *rslt*
+          (sustain-abs 1
+                       (pwl duration 1 (+ duration (/ *control-srate*))))))
+      x)))
 
 
 (defun resample (snd rate)
@@ -1301,24 +1462,24 @@ loop
 
 (defun nyq:min-2-sounds (s1 s2)
   (cond ((numberp s1)
-     (cond ((numberp s2)
-        (min s1 s2))
-           (t
-        (snd-minv
-         (snd-const s1 (local-to-global 0.0)
-                (snd-srate s2) (get-duration 1.0))))))
-    ((numberp s2)
-     (snd-minv (snd-const s2 (local-to-global 0.0)
-                (snd-srate s1) (get-duration 1.0))))
-    (t
-     (let ((s1sr (snd-srate s1))
-           (s2sr (snd-srate s2)))
-        (cond ((> s1sr s2sr)
-           (snd-minv s1 (snd-up s1sr s2)))
-          ((< s1sr s2sr)
-           (snd-minv (snd-up s2sr s1) s2))
-          (t
-           (snd-minv s1 s2)))))))
+         (cond ((numberp s2)
+                (min s1 s2))
+               (t
+                (snd-minv s2
+                          (snd-const s1 (local-to-global 0.0)
+                                     (snd-srate s2) (get-duration 1.0))))))
+        ((numberp s2)
+         (snd-minv s1 (snd-const s2 (local-to-global 0.0)
+                   (snd-srate s1) (get-duration 1.0))))
+       (t
+        (let ((s1sr (snd-srate s1))
+              (s2sr (snd-srate s2)))
+          (cond ((> s1sr s2sr)
+                 (snd-minv s1 (snd-up s1sr s2)))
+                ((< s1sr s2sr)
+                 (snd-minv (snd-up s2sr s1) s2))
+               (t
+                (snd-minv s1 s2)))))))
 
 (defun snd-minv (s1 s2)
   (scale -1.0 (snd-maxv (scale -1.0 s1) (scale -1.0 s2))))
@@ -1327,6 +1488,7 @@ loop
 ; 
 (load "seq" :verbose NIL)
 
+
 ; set-logical-stop - modify the sound and return it, time is shifted and
 ;			 stretched
 (defun set-logical-stop (snd tim)
@@ -1351,20 +1513,25 @@ loop
 
 (defun sim-list (snds)
   (cond ((null snds)
-     (snd-zero (local-to-global 0) *sound-srate*))
-    ((null (cdr snds))
-     (car snds))
-    ((null (cddr snds))
-     (nyq:add2 (car snds) (cadr snds)))
-    (t
-     (nyq:add2 (car snds) (sim-list (cdr snds))))))
+         (snd-zero (local-to-global 0) *sound-srate*))
+        ((null (cdr snds))
+         (car snds))
+        ((null (cddr snds))
+         (nyq:add2 (car snds) (cadr snds)))
+        (t
+         (nyq:add2 (car snds) (sim-list (cdr snds))))))
 
 
-;(defun rest (&optional (dur 1.0))
-;  (cue (set-Logical-stop (* dur *stretch*) (s-create))))
-(defun s-rest (&optional (dur 1.0))
-  (let ((d (get-duration dur)))
-    (snd-const 0.0 *rslt* *SOUND-SRATE* d)))
+(defun s-rest (&optional (dur 1.0) (chans 1))
+  (let ((d (get-duration dur))
+        r)
+    (cond ((= chans 1)
+           (snd-const 0.0 *rslt* *SOUND-SRATE* d))
+          (t
+           (setf r (make-array chans))
+           (dotimes (i chans)
+             (setf (aref r i) (snd-const 0.0 *rslt* *SOUND-SRATE* d)))
+           r))))
 
 
 (defun tempo (warpfn)
@@ -1515,7 +1682,9 @@ loop
 
 ;;; operations on sounds
 
-(defun diff (x y) (sum x (prod -1 y)))
+(defun diff (x &optional y)
+  (cond (y (sum x (prod -1 y)))
+        (t (prod -1 x))))
 
 ; compare-shape is a shape table -- origin 1.
 (defun compare (x y &optional (compare-shape *step-shape*))
@@ -1531,8 +1700,9 @@ loop
 ; hz is a sound or scalar
 (defun osc-pulse (hz bias &optional (compare-shape *step-shape*))
   (compare bias (osc-tri hz) compare-shape))
+  
+;;; tapped delays
 
-(setf NY:ALL 1000000000)
-
-; arch-tag: 3918083b-777d-4628-8b00-f47921a040da
-
+;(tapv snd offset vardelay maxdelay)
+(setfn tapv snd-tapv) ;; linear interpolation
+(setfn tapf snd-tapf) ;; no interpolation
diff --git a/nyquist/printrec.lsp b/nyquist/printrec.lsp
index 36badaf..4ca17bb 100644
--- a/nyquist/printrec.lsp
+++ b/nyquist/printrec.lsp
@@ -28,6 +28,3 @@
                   (printrec-list (cdr l))))))
     nil)
 ; )
-
-; arch-tag: 3ebdbd65-06e3-4642-9b9e-8f796f177f0f
-
diff --git a/nyquist/profile.lsp b/nyquist/profile.lsp
index 0f02d5a..0f7038b 100644
--- a/nyquist/profile.lsp
+++ b/nyquist/profile.lsp
@@ -25,6 +25,3 @@
   (setq *PROFILE* nil)
   (profile t))
 
-
-; arch-tag: 5b61c530-fbbd-432e-b7a8-9e4a0fa6bfc3
-
diff --git a/nyquist/seq.lsp b/nyquist/seq.lsp
index 3a089e3..947c63e 100644
--- a/nyquist/seq.lsp
+++ b/nyquist/seq.lsp
@@ -156,6 +156,49 @@
             (funcall seqrep%closure (local-to-global 0))))))
 
 
+(defmacro trigger (input beh)
+  `(let ((nyq%environment (nyq:the-environment)))
+     (snd-trigger ,input #'(lambda (t0) (with%environment nyq%environment
+					        (at-abs t0 ,beh))))))
+
+;; EVENT-EXPRESSION -- the sound of the event
+;;
+(setfn event-expression caddr)
+
+
+;; EVENT-HAS-ATTR -- test if event has attribute
+;;
+(defun event-has-attr (note attr)
+  (expr-has-attr (event-expression note)))
+
+
+;; EXPR-SET-ATTR -- new expression with attribute = value
+;;
+(defun expr-set-attr (expr attr value)
+  (cons (car expr) (list-set-attr-value (cdr expr) attr value)))
+
+(defun list-set-attr-value (lis attr value)
+  (cond ((null lis) (list attr value))
+	((eq (car lis) attr)
+	 (cons attr (cons value (cddr lis))))
+	(t
+	 (cons (car lis)
+	   (cons (cadr lis) 
+		 (list-set-attr-value (cddr lis) attr value))))))
+
+
+;; EXPAND-AND-EVAL-EXPR -- evaluate a note, chord, or rest for timed-seq
+;;
+(defun expand-and-eval-expr (expr)
+  (let ((pitch (member :pitch expr)))
+    (cond ((and pitch (cdr pitch) (listp (cadr pitch)))
+	   (setf pitch (cadr pitch))
+	   (simrep (i (length pitch))
+	     (eval (expr-set-attr expr :pitch (nth i pitch)))))
+	  (t
+	   (eval expr)))))
+
+
 ;; (timed-seq '((time1 stretch1 expr1) (time2 stretch2 expr2) ...))
 ;; a timed-seq takes a list of events as shown above
 ;; it sums the behaviors, similar to 
@@ -176,6 +219,13 @@
              (error (format nil "Negative stretch factor in TIMED-SEQ: ~A" event)))
             (t
              (setf start-time (car event)))))
+    ;; remove rests (a rest has a :pitch attribute of nil)
+    (setf score (score-select score #'(lambda (tim dur evt)
+                                       (expr-get-attr evt :pitch t))))
+    (cond ((and score (car score) 
+		(eq (car (event-expression (car score))) 'score-begin-end))
+	   (setf score (cdr score)))) ; skip score-begin-end data
+    ; (score-print score) ;; debugging
     (cond ((null score) (s-rest 0))
           (t
            (at (caar score)
@@ -185,15 +235,18 @@
                           (prog1
                             (set-logical-stop
                               (stretch (cadar score)
-                              (setf event (eval (caddar score))))
-                            (- (caadr score) (caar score)))
-;                           (display "timed-seq" (caddar score) (local-to-global 0))
+                                (setf event (expand-and-eval-expr
+					     (caddar score))))
+                              (- (caadr score) (caar score)))
+                            ;(display "timed-seq" (caddar score) 
+                            ;                     (local-to-global 0)
+                            ;                     (snd-t0 event)
+                            ;                     (- (caadr score) 
+                            ;                        (caar score)))
                             (setf score (cdr score)))))
                          (t
-                          (stretch (cadar score) (eval (caddar score)))))))))))
-
-
+                          (stretch (cadar score) (expand-and-eval-expr
+						  (caddar score)))))))))))
 
 
-; arch-tag: 39a49091-74e4-4cd9-84de-19833f669735
 
diff --git a/nyquist/seqfnint.lsp b/nyquist/seqfnint.lsp
index 5b05340..269fbb7 100644
--- a/nyquist/seqfnint.lsp
+++ b/nyquist/seqfnint.lsp
@@ -29,6 +29,3 @@
 
  (setf seq-bend-tag 6) 
 
-
-; arch-tag: f0cfa041-b4fb-41e9-aad5-24568c5bc246
-
diff --git a/nyquist/seqmidi.lsp b/nyquist/seqmidi.lsp
index 844fea6..686f018 100644
--- a/nyquist/seqmidi.lsp
+++ b/nyquist/seqmidi.lsp
@@ -157,6 +157,3 @@ exit-loop ; here, we know time of next note
 ;    (seq-next the-seq)
 ;    (go loop)))
 ; 
-
-; arch-tag: 9d4cc7f3-2a74-45f3-a809-0e22c5ef957e
-
diff --git a/nyquist/sndfnint.lsp b/nyquist/sndfnint.lsp
index d98496f..83c897c 100644
--- a/nyquist/sndfnint.lsp
+++ b/nyquist/sndfnint.lsp
@@ -1,7 +1,3 @@
- (SETF MAX-STOP-TIME 10E20) 
-
- (SETF MIN-START-TIME -10E20) 
-
  (setf snd-head-none 0) 
 
  (setf snd-head-AIFF 1) 
@@ -12,6 +8,38 @@
 
  (setf snd-head-Wave 4) 
 
+ (setf snd-head-PAF 5) 
+
+ (setf snd-head-SVX 6) 
+
+ (setf snd-head-NIST 7) 
+
+ (setf snd-head-VOC 8) 
+
+ (setf snd-head-W64 9) 
+
+ (setf snd-head-MAT4 10) 
+
+ (setf snd-head-MAT5 11) 
+
+ (setf snd-head-PVF 12) 
+
+ (setf snd-head-XI 13) 
+
+ (setf snd-head-HTK 14) 
+
+ (setf snd-head-SDS 15) 
+
+ (setf snd-head-AVR 16) 
+
+ (setf snd-head-SD2 17) 
+
+ (setf snd-head-FLAC 18) 
+
+ (setf snd-head-CAF 19) 
+
+ (setf snd-head-raw 20) 
+
  (setf snd-head-channels 1) 
 
  (setf snd-head-mode 2) 
@@ -22,20 +50,37 @@
 
  (setf snd-head-dur 16) 
 
- (setf snd-head-mode-adpcm 0) 
+ (setf snd-head-latency 32) 
+
+ (setf snd-head-type 64) 
+
+ (setf snd-mode-adpcm 0) 
+
+ (setf snd-mode-pcm 1) 
 
- (setf snd-head-mode-pcm 1) 
+ (setf snd-mode-ulaw 2) 
 
- (setf snd-head-mode-ulaw 2) 
+ (setf snd-mode-alaw 3) 
 
- (setf snd-head-mode-alaw 3) 
+ (setf snd-mode-float 4) 
 
- (setf snd-head-mode-float 4) 
+ (setf snd-mode-upcm 5) 
 
- (setf snd-head-mode-upcm 5) 
+ (setf snd-mode-unknown 6) 
 
- (setf OP-AVERAGE 1) (setf OP-PEAK 2)
+ (setf snd-mode-double 7) 
 
+ (setf snd-mode-GSM610 8) 
+
+ (setf snd-mode-DWVW 9) 
+
+ (setf snd-mode-DPCM 10) 
+
+ (setf snd-mode-msadpcm 11) 
+
+ (SETF MAX-STOP-TIME 10E20) 
+
+ (SETF MIN-START-TIME -10E20) 
 
-; arch-tag: b0e8c5cc-1257-4eba-8326-399fc1629ea2
+ (setf OP-AVERAGE 1) (setf OP-PEAK 2) 
 
diff --git a/nyquist/system.lsp b/nyquist/system.lsp
index 62c3287..4a4c106 100644
--- a/nyquist/system.lsp
+++ b/nyquist/system.lsp
@@ -1,49 +1,25 @@
-; system.lsp -- machine/system-dependent definitions
+;; system.lsp -- system-dependent lisp code
 
-;; default behavior is to call SETUP-CONSOLE to get large white typescript
-;;
-;; set *setup-console* to nil in your personal init.lsp to override this behavior 
-;; (this may be necessary to work with emacs)
-;;
-(if (not (boundp '*setup-console*)) (setf *setup-console* t))
-(if *setup-console* (setup-console))
-
-(setf ny:bigendianp nil)
+; local definition for play
+;  this one is for Linux:
 
 (if (not (boundp '*default-sf-format*))
-    (setf *default-sf-format* snd-head-Wave))
+    (setf *default-sf-format* snd-head-wave))
 
-;(if (not (boundp '*default-sound-file*))
-;    (setf *default-sound-file* "temp.wav"))
+(if (not (boundp '*default-sound-file*))
+    (compute-default-sound-file))
 
-;(if (not (boundp '*default-sf-dir*))
-;    (setf *default-sf-dir* ""))
+(if (not (boundp '*default-sf-dir*))
+    (setf *default-sf-dir* "./"))
 
 (if (not (boundp '*default-sf-mode*))
-    (setf *default-sf-mode* snd-head-mode-pcm))
+    (setf *default-sf-mode* snd-mode-pcm))
 
 (if (not (boundp '*default-sf-bits*))
     (setf *default-sf-bits* 16))
 
-;(if (not (boundp '*default-plot-file*))
-;    (setf *default-plot-file* "points.dat"))
-
-;(if (not (boundp '*plotscript-file*))
-;    (setf *plotscript-file* "sys/unix/rs6k/plotscript"))
-
-; local definition for play
-;(defmacro play (expr)
-;  `(s-save-autonorm ,expr NY:ALL *default-sound-file* :play *soundenable*))
-
-
-;(defun r ()
-;  (s-save (s-read *default-sound-file*) NY:ALL "" :play t)
-;)
-
-
-; PLAY-FILE -- play a file
-;(defun play-file (name)
-;  (s-save (s-read name) NY:ALL "" :play t))
+(if (not (boundp '*default-plot-file*))
+    (setf *default-plot-file* (strcat (get-user) "-points.dat")))
 
 
 ; FULL-NAME-P -- test if file name is a full path or relative path
@@ -51,70 +27,64 @@
 ; (otherwise the *default-sf-dir* will be prepended
 ;
 (defun full-name-p (filename)
-  (or (eq (char filename 0) #\\)
-      (eq (char filename 0) #\.)
-      (and (> (length filename) 2)
-         (both-case-p (char filename 0))
-       (equal (char filename 1) #\:))))
+  (or (eq (char filename 0) #\/)
+      (eq (char filename 0) #\.)))
 
-(setf *file-separator* #\\)
+; RELATIVE-PATH-P -- test if filename or path is a relative path
+;
+(defun relative-path-p (filename)
+  (not (eq (char filename 0) #\/)))
 
-;(defun ny:load-file () (load "*.*"))
-;(defun ny:reload-file () (load "*"))
+(setf *file-separator* #\/)
 
 
-; save the standard function to write points to a file
-;
-;(setfn s-plot-points s-plot)
-
-;(defun array-max-abs (points)
-;  (let ((m 0.0))
-;        (dotimes (i (length points))
-;          (setf m (max m (abs (aref points i)))))
-;        m))
-
-;(setf graph-width 600)
-;(setf graph-height 220)
-
-;(defun s-plot (snd &optional (n 600))
-;  (show-graphics)
-;  (clear-graphics)
-;  (cond ((soundp snd)
-;               (s-plot-2 snd n (/ graph-height 2) graph-height))
-;              (t
-;               (let ((gh (/ graph-height (length snd)))
-;                     hs)
-;                 (dotimes (i (length snd))
-;                   (setf hs (s-plot-2 (aref snd i) n (+ (/ gh 2) (* i gh)) gh hs)))))))
-;
-;
-;(defun s-plot-2 (snd n y-offset graph-height horizontal-scale)
-;  (prog ((points (snd-samples snd n))
-;                   maxpoint horizontal-scale vertical-scale)
-;    (setf maxpoint (array-max-abs points))
-;    (moveto 0 y-offset)
-;    (lineto graph-width y-offset)
-;    (moveto 0 y-offset)
-;    (cond ((null horizontal-scale)
-;               (setf horizontal-scale (/ (float graph-width) (length points)))))
-;    (setf vertical-scale (- (/ (float graph-height) 2 maxpoint)))
-;    (dotimes (i (length points))
-;      (lineto (truncate (* horizontal-scale i))
-;              (+ y-offset (truncate (* vertical-scale (aref points i))))))
-;    (format t "X Axis: ~A to ~A (seconds)\n" (snd-t0 snd) (/ (length points) (snd-srate snd)))
-;    (format t "Y Axis: ~A to ~A\n" (- maxpoint) maxpoint)
-;    (format t "~A samples plotted.\n" (length points))
-;    (return horizontal-scale)
-;    ))
-;
-; S-EDIT - run the audio editor on a sound
-;
-;(defmacro s-edit (&optional expr)
-;  `(prog ()
-;         (if ,expr (s-save ,expr 1000000000 *default-sound-file*))
-;         (system (format nil "audio_editor ~A &" 
-;                         (soundfilename *default-sound-file*)))))
+;; PLAY-FILE - play a sound file
+;;
+(defun play-file (name)
+;;
+;; WARNING: if you invoke an external program to play files, 
+;; but Nyquist uses internal (portaudio) interface to
+;; play synthesized sound, Nyquist may fail to open the
+;; sound device while it is playing a sound file and then
+;; refuse to play anything. -RBD dec05
+;;  (system (strcat "sndplay " (soundfilename name))))
+;;  (system (strcat "play " (soundfilename name) )))
+;;
+  (play (s-read (soundfilename name))))
+
+;; R - replay last file written with PLAY
+(defun r () (play-file *default-sound-file*))
+
+;;;; use this old version if you want to use sndplay to play
+;;;; the result file rather than play the samples as they
+;;;; are computed. This version does not autonormalize.
+;; PLAY - write value of an expression to file and play it
+;;
+;(defmacro play (expr)
+;  `(prog (specs)
+;	 (setf specs (s-save (force-srate *sound-srate* ,expr) 
+;			   1000000000 *default-sound-file*))
+;	 (r)))
+;;;;
+
+; local definition for play
+(defmacro play (expr)
+  `(s-save-autonorm ,expr NY:ALL *default-sound-file* :play *soundenable*))
+
+;; for Linux, modify s-plot (defined in nyquist.lsp) by saving s-plot
+;; in standard-s-plot, then call gnuplot to display the points.
+;;
+;; we also need to save the location of this file so we can find
+;; nyquist-plot.txt, the command file for gnuplot
+;;
+(setf *runtime-path* (current-path))
+(display "system.lsp" *runtime-path*)
 
+(setfn standard-s-plot s-plot)
 
-; arch-tag: 01c1817b-9da4-4a6a-8cd7-99231844ceca
+(defun s-plot (s &optional (n 1000) (dur 2.0))
+  (let (plot-file)
+    (standard-s-plot s n dur) ;; this calculates the data points
+    (setf plot-file (strcat *runtime-path* "nyquist-plot.txt"))
+    (system (strcat "gnuplot -persist " plot-file))))
 
diff --git a/nyquist/test.lsp b/nyquist/test.lsp
deleted file mode 100644
index 2cd948f..0000000
--- a/nyquist/test.lsp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-(defun ss () (osc c5))
-
-(defun tt () (stretch 2 (snd-tapv (ss) 1.1 (scale *d* (lfo 10)) 2.2)))
-(setf *d* .01)
-
-(defun g () (play (tt)))
-
-;(set-sound-srate 10)
-;(set-control-srate 10)
-(defun rr () (stretch 10 (ramp)))
-(defun ll () (stretch 10 (lfo .5)))
-(defun xx () (snd-tapv (rr) 1.1 (ll) 2.2))
-(defun h () (snd-samples (xx) 150))
-
-(defun chorus (sound maxdepth depth rate saturation)
-  (let ((modulation (prod depth (stretch-abs 10000.0 (general-lfo rate))))
-        (offset (/ maxdepth 2.0))
-        chor)
-    (setf chor (snd-tapv sound offset modulation maxdepth))
-    (sum (prod chor saturation) (prod (seq (s-rest offset) sound)
-                                          (sum 1.0 (prod -1.0 saturation))))))
-
-
-(set-sound-srate 22050.0)
-
-(defun f ()
- (chorus (s-read "runtime\\ah.wav") .1 .1 1 .5))
-
-(defun e ()
- (seq (s-rest .05) (chorus (s-read "rpd.wav") .07 .07 .7 .5)))
-
-(defun d () (sum (e) (f)))
-
-(defun rou () (s-read "round.wav" :time-offset 1.18 :dur (- 8.378 1.18)))
-
-(defun rou4 () (sim (rou)
-                    (at *rd* (rou)) 
-                    (at (* *rd* 2) (rou)) 
-                    (at (* *rd* 3) (rou))))
-
-
-
-
-; arch-tag: cc0f4e63-9735-4b37-9c01-8440b2fe89b2
-
diff --git a/nyquist/xlinit.lsp b/nyquist/xlinit.lsp
index 80dfaac..42991e2 100644
--- a/nyquist/xlinit.lsp
+++ b/nyquist/xlinit.lsp
@@ -42,12 +42,12 @@
 
 ; (objectp expr) - object predicate
 ;
-(defun objectp (x) (eq (type x) 'OBJ))
+;this is built-in: (defun objectp (x) (eq (type-of x) 'OBJ))
 
 
 ; (filep expr) - file predicate
 ;
-(defun filep (x) (eq (type x) 'FPTR))
+(defun filep (x) (eq (type-of x) 'FPTR))
 
 (load "profile.lsp" :verbose NIL)
 
@@ -65,6 +65,3 @@
 
 (setq *gc-flag* t)
 
-
-; arch-tag: d0dc11a2-dab0-4e26-aa32-b1a90dacb09a
-
diff --git a/plug-ins/clicktrack.ny b/plug-ins/clicktrack.ny
index 233c8d2..a0c958e 100644
--- a/plug-ins/clicktrack.ny
+++ b/plug-ins/clicktrack.ny
@@ -1,42 +1,85 @@
 ;nyquist plug-in
-
 ;version 3
-
 ;type generate
-
 ;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin"
-
 ;name "Click Track..."
-
 ;action "Generating Click Track..."
+;info "by Dominic Mazzoni, modified by David R. Sky\nReleased under terms of the GNU General Public License version 2\nFor help, select one of two help screens in 'Action choice' below."
 
-;info "Written by Dominic Mazzoni, modified by David R. Sky\nReleased under terms of the GNU General Public License version 2\nGenerates a click track at the given tempo and beats per measure, using the\nclick sound type you choose below. To start the click track after time zero,\nenter the starting point in start-time-offset.\nTo create metronome-like click track, set beats-per-measure value to 1 or 2. \nPitches are set using MIDI numbers for example:\nC notes: 48, 60 [middle C], 72, 84, 96."
-
-
-
-;control tempo "Tempo [beats per minute]" int "" 120 30 300
-;control sig "Beats per measure [bar]" int "" 4 1 20
-;control measures "Number of measures [bars]" int "" 16 1 1000
-;control offset "Start time offset [seconds]" real "" 0 0 30
-;control click-type "Click sound type" choice "ping,noise,tick" 0
-;control q "Noise click resonance [q] [higher gives more defined pitch]" int "" 1 1 20
-;control high "MIDI pitch of strong click" int "" 92 18 116
-;control low "MIDI pitch of weak click" int "" 80 18 116
+;control action "Action choice" choice "Generate track, help screen 1, help screen 2" 0
+;control tempo "Tempo [beats per minute]" int "30 - 300 beats/minute" 120 30 300
+;control sig "Beats per measure [bar]" int "1 - 20 beats/measure" 4 1 20
+;control measures "Number of measures [bars]" int "1 - 1000 bars" 16 1 1000
+;control click-track-dur "Optional click track duration [minutes seconds]" string "" ""  
+;control ticklen "Individual click duration [milliseconds]" int "1 - 100 ms" 10 1 100
+;control offset "Start time offset [seconds]" real "0 - 30 seconds" 0 0 30
+;control click-type "Click sound" choice "ping,noise,tick" 0
+;control q "Noise click resonance - discernable pitch [q]" int "1 - 20" 1 1 20
+;control high "MIDI pitch of strong click" int "18 - 116" 92 18 116
+;control low "MIDI pitch of weak click" int "18 - 116" 80 18 116
 
 ; original clicktrack.ny by Dominic Mazzoni,
-; modified by David R. Sky September 2007
+; modified by David R. Sky: 
+; added click pitch [user request] and sound types fields September 2007
+; added optional total click track duration field [requested by Mike Mullins] 
+; June 2009
+; added individual click duration field [requested by Quinto Milana]
+; June 2009]
 ; original code kept 'as is'.
 ; now includes:
 ; choice between click sounds [ping {sinewave}, noise or tick],
 ; user-set MIDI pitch values for strong and weak clicks,
 ; resonance of noise clicks 
-; [higher resonance gives noise clicks more discernable pitch],
+; [higher resonance gives them more discernable pitch],
 ; time offset for start of click track,
 ; and error-checking code to generate error message
 ; for such things as negative value inputs
 ; Drip sound generator by Paul Beach,
 ; used with permission.
+;
+; Thanks very much to Gale Andrews, who gave extensive visual feedback
+; and suggestions!
+
+
+; view 1 of 2 help screens, or generate click track
+(cond ; 'master' cond
+((= action 1) ; display help screen 1
+(format nil
+"Click Track Generator help - screen 1 of 2
+
+Generates a click track at the selected tempo, beats per\nmeasure, and either number of measures or track duration,\nusing selected click sound.
+
+'Tempo': number of beats (clicks) per minute.
+
+'Beats per measure (bar)': For example, 3/4 time means one\nstrong click then two others to form one bar, repeated\ndepending on 'number of measures' or 'click track duration'.
+
+'Optional click track duration': if you enter a value into this\nfield [minutes seconds (separated by a space)] or [seconds],\nthe generated click track will be at or near this duration,\nbased on this rule: only when time gives an exact number\nof measures will this number of measures be generated,\notherwise one additional measure will be generated.
+
+If you enter a value into this field, the 'number of measures'\nvalue will be ignored.
+
+      To generate click track or view help screen 2,\n      restart Click Track and select from 'Action choice'.") ; end format
+) ; end display help screen 1
+
+((= action 2) ; display help screen 2
+(format nil
+"Click Track Generator help - screen 2 of 2
 
+'Individual click duration': the duration of each individual\nclick, minimum of 1 millisecond (ms) to maximum of 100 ms.
+
+'Start time offset': makes the click track start at a later\ntime than the very beginning (zero seconds), maximum\nof 30 seconds.
+
+'Click sound': choose between ping, noise or tick sound\nfor clicks.
+
+'Noise click resonance': the higher this value, the more\nclearly noise clicks have a tone.
+
+'MIDI pitch of strong/weak click': MIDI values indicate\nwhat pitch to use. C-notes are:
+
+24, 36, 48, 60 (middle C), 72, 84, 96, 108.\nC# (C-sharp) above middle C is 61.
+
+      To generate click track or view help screen 1,\n      restart Click Track and select from 'Action choice'.") ; end format
+) ; end display help screen 2
+
+(t ; perform clicktrack.ny
 (setf click-type (+ click-type 1))
 
 
@@ -111,7 +154,8 @@ error-msg
 
 ; no error so generate click track
 (t
-(setf ticklen 0.01) ; duration of 1 click
+; duration of 1 click, originally statically 0.01 s
+(setf ticklen (* (max 1 (min 100 ticklen)) 0.001))
 (setf beatlen (/ 60.0 tempo))
 
 
@@ -169,6 +213,42 @@ error-msg
 (setf measure (sim measure
                    (stretch-abs (* sig beatlen) (const 0.0))))
 
+
+; function to convert a string into a list
+(defun string-to-list (string)
+(read (make-string-input-stream (format nil "(~a)" string))))
+
+
+; convert minutes-seconds string to a list
+; for example, "4 30" becomes (4 30)
+(setf m-s (string-to-list click-track-dur)) 
+
+
+; convert click-track-dur to number of measures,
+; otherwise use user's measures value 
+(setf measures (if (null m-s)
+measures
+(/
+(if ;2
+(= (length m-s) 1)
+(first m-s) ; just seconds
+(+ (* 60 (first m-s)) (second m-s) ; minutes and seconds
+) ; end +
+) ; end if2
+(* sig beatlen)) ; end /
+) ; end if
+) ; end setf measures
+
+
+; round up to next whole number of measures only if 
+; measures > (truncate measures)
+(setf measures (if 
+(> measures (truncate measures))
+(truncate (1+ measures))
+(truncate measures)
+)) ; end if, setf measures
+
+
 ; loop measure n [measures-1] times
 (setf result measure)
 (dotimes (x (- measures 1))
@@ -184,6 +264,9 @@ result
 ) ; end t
 ) ; end cond
 
+) ; end t perform clicktrack.ny
+) ; end 'master' cond
+
 ; from previous commit:
 ; arch-tag: 73fbc0e9-548b-4143-b8ac-13437b9154a7
 
diff --git a/src/AColor.cpp b/src/AColor.cpp
index f6d974b..6ce9015 100644
--- a/src/AColor.cpp
+++ b/src/AColor.cpp
@@ -67,6 +67,80 @@ wxBrush AColor::tooltipBrush;
 wxPen AColor::sparePen;
 wxBrush AColor::spareBrush;
 
+//
+// Draw an upward or downward pointing arrow.
+//
+void AColor::Arrow(wxDC & dc, wxCoord x, wxCoord y, int width, bool down)
+{
+   if (width & 0x01) {
+      width--;
+   }
+
+   wxPoint pt[3];
+   int half = width / 2;
+
+   if (down) {
+      pt[0].x =     0; pt[0].y = 0;
+      pt[1].x = width; pt[1].y = 0;
+      pt[2].x =  half; pt[2].y = half;
+   }
+   else {
+      pt[0].x =     0; pt[0].y = half;
+      pt[1].x =  half; pt[1].y = 0;
+      pt[2].x = width; pt[2].y = half;
+   }
+   
+   dc.DrawPolygon(3, pt, x, y);
+}
+
+//
+// Draw a line while accounting for differences in wxWidgets versions 
+//
+void AColor::Line(wxDC & dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
+{
+   // As of 2.8.9 (possibly earlier), wxDC::DrawLine() on the Mac draws the
+   // last point since it is now based on the new wxGraphicsContext system.
+   // Make the other platforms do the same thing since the other platforms
+   // "may" follow they get wxGraphicsContext going.
+#if defined(__WXMAC__)
+   dc.DrawLine(x1, y1, x2, y2);
+#else
+   bool point = false;
+
+   if (x1 == x2) {
+      if (y1 < y2) {
+         y2++;
+      }
+      else if (y2 < y1) {
+         y1++;
+      }
+      else {
+         point = true;
+      }
+   }
+   else if (y1 == y2) {
+      if (x1 < x2) {
+         x2++;
+      }
+      else if (x2 < x1) {
+         x1++;
+      }
+      else {
+         point = true;
+      }
+   }
+   else {
+      dc.DrawPoint(x2, y2);
+   }
+
+   if (point) {
+      dc.DrawPoint(x2, y2);
+   }
+   else {
+      dc.DrawLine(x1, y1, x2, y2);
+   }
+#endif
+}
 
 //
 // Draws a focus rectangle (Taken directly from wxWidgets source)
@@ -113,16 +187,16 @@ void AColor::Bevel(wxDC & dc, bool up, wxRect & r)
    else
       AColor::Dark(&dc, false);
 
-   dc.DrawLine(r.x, r.y, r.x + r.width, r.y);
-   dc.DrawLine(r.x, r.y, r.x, r.y + r.height);
+   AColor::Line(dc, r.x, r.y, r.x + r.width, r.y);
+   AColor::Line(dc, r.x, r.y, r.x, r.y + r.height);
 
    if (!up)
       AColor::Light(&dc, false);
    else
       AColor::Dark(&dc, false);
 
-   dc.DrawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-   dc.DrawLine(r.x, r.y + r.height, r.x + r.width + 1, r.y + r.height);
+   AColor::Line(dc, r.x + r.width, r.y, r.x + r.width, r.y + r.height);
+   AColor::Line(dc, r.x, r.y + r.height, r.x + r.width, r.y + r.height);
 }
 
 wxColour AColor::Blend( const wxColour & c1, const wxColour & c2 )
@@ -233,11 +307,11 @@ void AColor::CursorColor(wxDC * dc)
    dc->SetPen(cursorPen);
 }
 
-void AColor::IndicatorColor(wxDC * dc, bool recording)
+void AColor::IndicatorColor(wxDC * dc, bool bIsNotRecording)
 {
    if (!inited)
       Init();
-   int index = (int) recording;
+   int index = (int) bIsNotRecording;
    dc->SetPen(indicatorPen[index]);
    dc->SetBrush(indicatorBrush[index]);
 }
diff --git a/src/AColor.h b/src/AColor.h
index fff62e1..629da48 100644
--- a/src/AColor.h
+++ b/src/AColor.h
@@ -25,6 +25,8 @@ class AColor {
    static void Init();
    static void ReInit();
 
+   static void Arrow(wxDC & dc, wxCoord x, wxCoord y, int width, bool down = true);
+   static void Line(wxDC & dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
    static void DrawFocus(wxDC & dc, wxRect & r);
    static void Bevel(wxDC & dc, bool up, wxRect & r);
    static void BevelTrackInfo(wxDC & dc, bool up, wxRect & r);
@@ -39,7 +41,7 @@ class AColor {
    static void Dark(wxDC * dc, bool selected);
 
    static void CursorColor(wxDC * dc);
-   static void IndicatorColor(wxDC * dc, bool recording);
+   static void IndicatorColor(wxDC * dc, bool bIsNotRecording);
    static void PlayRegionColor(wxDC * dc, bool locked);
 
    static void Mute(wxDC * dc, bool on, bool selected, bool soloing);
diff --git a/src/AboutDialog.cpp b/src/AboutDialog.cpp
index 6edabbb..bf905b8 100644
--- a/src/AboutDialog.cpp
+++ b/src/AboutDialog.cpp
@@ -140,7 +140,7 @@ END_EVENT_TABLE()
 IMPLEMENT_CLASS(AboutDialog, wxDialog)
 
 AboutDialog::AboutDialog(wxWindow * parent)
-   :  wxDialog(parent, -1, _NoAcc("&About Audacity..."),
+   :  wxDialog(parent, -1, _("About Audacity..."),
                wxDefaultPosition, wxDefaultSize)
 {
    this->SetBackgroundColour(theTheme.Colour( clrAboutBoxBackground ));
@@ -176,10 +176,10 @@ void AboutDialog::PopulateAudacityPage( ShuttleGui & S )
 
    #if 1 // Is this beta or not?
    wxString par2Str = _(
-	 "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>.");
+     "This is a Beta version of the program. It may contain bugs and unfinished features. We depend on your feedback: please send bug reports and feature requests to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>.");
    #else
    wxString par2Str = _(
-     "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to <b>feedback at audacityteam.org</b>. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>.");
+     "This is a stable, completed release of the program. However, if you find a bug or have a suggestion for us, please write to our <a href=\"mailto:feedback at audacityteam.org\">Feedback</a> address. For help using Audacity, please visit our <a href=\"http://audacityteam.org/forum/\">Forum</a>.");
    #endif
 
    wxString translatorCredits;
@@ -247,7 +247,7 @@ void AboutDialog::PopulateAudacityPage( ShuttleGui & S )
       GetCreditsByRole(roleThanks) +
       wxT("<p><br></center>") +
 	  
-	  _("<b>Audacity&reg;</b> software is copyright &copy; 1999-2008 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni.") + 
+	  _("<b>Audacity&reg;</b> software is copyright &copy; 1999-2009 Audacity Team. <br>The name <b>Audacity&reg;</b> is a registered trademark of Dominic Mazzoni.") + 
 	  wxT("</font></body></html>");
 
    
@@ -396,14 +396,9 @@ void AboutDialog::PopulateInformationPage( ShuttleGui & S )
    AddBuildinfoRow(&informationStr, wxT("libsamplerate"),
          _("Sample rate conversion"), disabled);
    #endif
-   
-   #if USE_PORTAUDIO_V19
+
    AddBuildinfoRow(&informationStr, wxT("PortAudio"),
          _("Audio playback and recording"), wxString(wxT("v19")));
-   #else
-   AddBuildinfoRow(&informationStr, wxT("PortAudio"),
-         _("Audio playback and recording"), wxString(wxT("v18")));
-   #endif
 
    informationStr += wxT("<tr><td>");  // start new row
    // wxWindows version:
@@ -820,7 +815,7 @@ wxString AboutDialog::GetCreditsByRole(AboutDialog::Role role)
 {
    wxString s;
    
-   for (AboutDialogCreditItemsList::Node* p=creditItems.GetFirst(); p; p = p->GetNext())
+   for (AboutDialogCreditItemsList::compatibility_iterator p=creditItems.GetFirst(); p; p = p->GetNext())
    {
       AboutDialogCreditItem* item = p->GetData();
       if (item->role == role)
diff --git a/src/AllThemeResources.h b/src/AllThemeResources.h
index c77a2f3..9b9174b 100644
--- a/src/AllThemeResources.h
+++ b/src/AllThemeResources.h
@@ -209,6 +209,9 @@ from there.  Audacity will look for a file called "Pause.png".
 #ifndef HAVE_AUDACITYLOGOWITHNAME
    #define HAVE_AUDACITYLOGOWITHNAME
    #include "../images/AudacityLogoWithName.xpm"
+#ifdef __WXGTK__
+   #include "../images/AudacityLogoAlpha.xpm"
+#endif
 #endif
 
    DEFINE_IMAGE( bmpAudacityLogo, wxImage( 215, 190 ), wxT("AudacityLogo")); //vvv
diff --git a/src/Audacity.h b/src/Audacity.h
index 9ea2268..fa8ce2d 100644
--- a/src/Audacity.h
+++ b/src/Audacity.h
@@ -12,17 +12,20 @@
 \file Audacity.h
 
   This is the main include file for Audacity.  All files which need
-  any Audacity-specific #defines or need to access any of Audacity's
-  global functions should #include this file.
+  any Audacity-specific \#defines or need to access any of Audacity's
+  global functions should \#include this file.
 
 *//********************************************************************/
 
+// Set to 0 for a release version and 1 for a beta version
+#define IS_BETA 1
+
 // Increment as appropriate every time you release a new version
 #define AUDACITY_VERSION   1
 #define AUDACITY_RELEASE   3
-#define AUDACITY_REVISION  7
+#define AUDACITY_REVISION  8
 #define AUDACITY_MODLEVEL  0
-#define AUDACITY_SUFFIX    wxT("") // wxT("-alpha_") __TDATE__
+#define AUDACITY_SUFFIX    wxT("") 
 
 #define AUDACITY_MAKESTR( x ) #x
 #define AUDACITY_QUOTE( x ) AUDACITY_MAKESTR( x )
diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp
index 1ec714e..afa8346 100644
--- a/src/AudacityApp.cpp
+++ b/src/AudacityApp.cpp
@@ -34,6 +34,7 @@ It handles initialization and termination by subclassing wxApp.
 #include <wx/menu.h>
 #include <wx/msgdlg.h>
 #include <wx/snglinst.h>
+#include <wx/sysopt.h>
 #include <wx/fontmap.h>
 
 #include <wx/fs_zip.h>
@@ -60,8 +61,12 @@ It handles initialization and termination by subclassing wxApp.
 #include "AudioIO.h"
 #include "Benchmark.h"
 #include "DirManager.h"
+#include "commands/CommandHandler.h"
+#include "commands/AppCommandEvent.h"
 #include "effects/LoadEffects.h"
+#include "effects/Contrast.h"
 #include "FFmpeg.h"
+#include "GStreamerLoader.h"
 #include "FreqWindow.h"
 #include "Internat.h"
 #include "LangChoice.h"
@@ -149,6 +154,14 @@ It handles initialization and termination by subclassing wxApp.
 
 #  if defined(USE_MIDI)
 #     pragma comment(lib, "portsmf")
+#     endif
+
+#  if defined(EXPERIMENTAL_MIDI_OUT)
+#     pragma comment(lib, "portmidi")
+#  endif
+
+#  if defined(EXPERIMENTAL_SCOREALIGN)
+#     pragma comment(lib, "libscorealign")
 #  endif
 
 #  if defined(USE_NYQUIST)
@@ -159,10 +172,6 @@ It handles initialization and termination by subclassing wxApp.
 #     pragma comment(lib, "portmixer")
 #  endif
 
-#  if defined(EXPERIMENTAL_SCOREALIGN)
-#     pragma comment(lib, "libscorealign")
-#  endif
-
 #  if defined(USE_SLV2)
 #     pragma comment(lib, "slv2")
 #     pragma comment(lib, "librdf")
@@ -244,7 +253,17 @@ void QuitAudacity(bool bForce)
    // BG: unless force is true
 
    // BG: Are there any projects open?
-   if (!gAudacityProjects.IsEmpty())
+	//-   if (!gAudacityProjects.IsEmpty())
+/*start+*/
+   if (gAudacityProjects.IsEmpty())
+   {
+#ifdef __WXMAC__
+      AudacityProject::DeleteClipboard();
+#endif
+   }
+	else
+/*end+*/
+
    {
       while (gAudacityProjects.Count())
       {
@@ -263,6 +282,8 @@ void QuitAudacity(bool bForce)
       }
    }
 
+   ModuleManager::Dispatch(AppQuiting);
+
    wxLogWindow *lw = wxGetApp().mLogger;
    if (lw)
    {
@@ -272,14 +293,11 @@ void QuitAudacity(bool bForce)
       wxGetApp().mLogger = NULL;
    }
 
-   if (gFreqWindow)
-      gFreqWindow->Destroy();
-   gFreqWindow = NULL;
-
    if (gParentFrame)
       gParentFrame->Destroy();
    gParentFrame = NULL;
 
+   CloseContrastDialog();
    CloseScreenshotTools();
    
    //release ODManager Threads
@@ -289,9 +307,6 @@ void QuitAudacity(bool bForce)
    //temporarilly commented out till it is added to all projects
    //delete Profiler::Instance();
    
-   //Delete the clipboard
-   AudacityProject::DeleteClipboard();
-   
    //delete the static lock for audacity projects
    AudacityProject::DeleteAllProjectsDeleteLock();
 
@@ -306,6 +321,170 @@ void QuitAudacity()
    QuitAudacity(false);
 }
 
+#if defined(__WXGTK__) && defined(HAVE_GTK)
+
+///////////////////////////////////////////////////////////////////////////////
+// Provide the ability to receive notification from the session manager
+// when the user is logging out or shutting down.
+//
+// Most of this was taken from nsNativeAppSupportUnix.cpp from Mozilla.
+///////////////////////////////////////////////////////////////////////////////
+
+#include <dlfcn.h>
+#include <gtk/gtk.h>
+
+typedef struct _GnomeProgram GnomeProgram;
+typedef struct _GnomeModuleInfo GnomeModuleInfo;
+typedef struct _GnomeClient GnomeClient;
+
+typedef enum
+{
+  GNOME_SAVE_GLOBAL,
+  GNOME_SAVE_LOCAL,
+  GNOME_SAVE_BOTH
+} GnomeSaveStyle;
+
+typedef enum
+{
+  GNOME_INTERACT_NONE,
+  GNOME_INTERACT_ERRORS,
+  GNOME_INTERACT_ANY
+} GnomeInteractStyle;
+
+typedef enum
+{
+  GNOME_DIALOG_ERROR,
+  GNOME_DIALOG_NORMAL
+} GnomeDialogType;
+
+typedef GnomeProgram * (*_gnome_program_init_fn)(const char *,
+                                                 const char *,
+                                                 const GnomeModuleInfo *,
+                                                 int,
+                                                 char **,
+                                                 const char *,
+                                                 ...);
+typedef const GnomeModuleInfo * (*_libgnomeui_module_info_get_fn)();
+typedef GnomeClient * (*_gnome_master_client_fn)(void);
+typedef void (*GnomeInteractFunction)(GnomeClient *,
+                                      gint,
+                                      GnomeDialogType,
+                                      gpointer);
+typedef void (*_gnome_client_request_interaction_fn)(GnomeClient *,
+                                                     GnomeDialogType,
+                                                     GnomeInteractFunction,
+                                                     gpointer);
+typedef void (*_gnome_interaction_key_return_fn)(gint, gboolean);
+
+static _gnome_client_request_interaction_fn gnome_client_request_interaction;
+static _gnome_interaction_key_return_fn gnome_interaction_key_return;
+
+void interact_cb(GnomeClient *client,
+                 gint key,
+                 GnomeDialogType type,
+                 gpointer data)
+{
+   wxCloseEvent e(wxEVT_QUERY_END_SESSION, wxID_ANY);
+   e.SetEventObject(&wxGetApp());
+   e.SetCanVeto(true);
+
+   wxGetApp().ProcessEvent(e);
+
+   gnome_interaction_key_return(key, e.GetVeto());
+}
+
+gboolean save_yourself_cb(GnomeClient *client,
+                          gint phase,
+                          GnomeSaveStyle style,
+                          gboolean shutdown,
+                          GnomeInteractStyle interact,
+                          gboolean fast,
+                          gpointer user_data)
+{
+   if (!shutdown || interact != GNOME_INTERACT_ANY) {
+      return TRUE;
+   }
+
+   if (gAudacityProjects.IsEmpty()) {
+      return TRUE;
+   }
+
+   gnome_client_request_interaction(client,
+                                    GNOME_DIALOG_NORMAL,
+                                    interact_cb,
+                                    NULL);
+
+   return TRUE;
+}
+
+class GnomeShutdown
+{
+ public:
+   GnomeShutdown()
+   {
+      mArgv[0] = strdup("Audacity");
+
+      mGnomeui = dlopen("libgnomeui-2.so.0", RTLD_NOW);
+      if (!mGnomeui) {
+         return;
+      }
+
+      mGnome = dlopen("libgnome-2.so.0", RTLD_NOW);
+      if (!mGnome) {
+         return;
+      }
+
+      _gnome_program_init_fn gnome_program_init = (_gnome_program_init_fn)
+         dlsym(mGnome, "gnome_program_init");
+      _libgnomeui_module_info_get_fn libgnomeui_module_info_get = (_libgnomeui_module_info_get_fn)
+         dlsym(mGnomeui, "libgnomeui_module_info_get");
+      _gnome_master_client_fn gnome_master_client = (_gnome_master_client_fn)
+         dlsym(mGnomeui, "gnome_master_client");
+
+      gnome_client_request_interaction = (_gnome_client_request_interaction_fn)
+         dlsym(mGnomeui, "gnome_client_request_interaction");
+      gnome_interaction_key_return = (_gnome_interaction_key_return_fn)
+         dlsym(mGnomeui, "gnome_interaction_key_return");
+
+
+      if (!gnome_program_init || !libgnomeui_module_info_get) {
+         return;
+      }
+
+      gnome_program_init(mArgv[0],
+                         "1.0",
+                         libgnomeui_module_info_get(),
+                         1,
+                         mArgv,
+                         NULL);
+
+      mClient = gnome_master_client();
+      if (mClient == NULL) {
+         return;
+      }
+
+      g_signal_connect(mClient, "save-yourself", G_CALLBACK(save_yourself_cb), NULL);
+   }
+
+   virtual ~GnomeShutdown()
+   {
+      // Do not dlclose() the libraries here lest you want segfaults...
+
+      free(mArgv[0]);
+   }
+
+ private:
+
+   char *mArgv[1];
+   void *mGnomeui;
+   void *mGnome;
+   GnomeClient *mClient;
+};
+
+GnomeShutdown GnomeShutdownInstance;
+
+#endif
+
 #if defined(__WXMSW__)
 
 //
@@ -456,6 +635,8 @@ void AudacityApp::OnMacOpenFile(wxCommandEvent & event)
 typedef int (AudacityApp::*SPECIALKEYEVENT)(wxKeyEvent&);
 
 BEGIN_EVENT_TABLE(AudacityApp, wxApp)
+   EVT_QUERY_END_SESSION(AudacityApp::OnEndSession)
+
    EVT_KEY_DOWN(AudacityApp::OnKeyDown)
    EVT_CHAR(AudacityApp::OnChar)
    EVT_KEY_UP(AudacityApp::OnKeyUp)
@@ -469,8 +650,12 @@ BEGIN_EVENT_TABLE(AudacityApp, wxApp)
    EVT_COMMAND(wxID_ANY, EVT_OPEN_AUDIO_FILE, AudacityApp::OnMacOpenFile)
 #endif
    // Recent file event handlers.  
+   EVT_MENU(wxID_FILE, AudacityApp::OnMRUClear)
    EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, AudacityApp::OnMRUFile)
 // EVT_MENU_RANGE(6050, 6060, AudacityApp::OnMRUProject)
+
+   // Handle AppCommandEvents (usually from a script)
+   EVT_APP_COMMAND(wxID_ANY, AudacityApp::OnReceiveCommand)
 END_EVENT_TABLE()
 
 // Backend for OnMRUFile and OnMRUProject
@@ -496,7 +681,7 @@ bool AudacityApp::MRUOpen(wxString fileName) {
                   newFileName.GetName().c_str()),
                   _("Error opening project"),
                   wxOK | wxCENTRE);
-               continue;
+               return(true);
             }
          }
          
@@ -517,12 +702,6 @@ bool AudacityApp::MRUOpen(wxString fileName) {
          // all relevant member variables are in their initial state,
          // and it's okay to open a new project inside this window.
          proj->OpenFile(fileName);
-
-         // Add file to "recent files" list.
-         proj->GetRecentFiles()->AddFileToHistory(fileName);
-         gPrefs->SetPath(wxT("/RecentFiles"));
-         proj->GetRecentFiles()->Save(*gPrefs);
-         gPrefs->SetPath(wxT(".."));
       }
       else {
          // File doesn't exist - remove file from history
@@ -534,18 +713,18 @@ bool AudacityApp::MRUOpen(wxString fileName) {
    return(true);
 }
 
-void AudacityApp::OnMRUFile(wxCommandEvent& event) {
-   AudacityProject *proj = GetActiveProject();
+void AudacityApp::OnMRUClear(wxCommandEvent& event)
+{
+   mRecentFiles->Clear();
+}
 
+void AudacityApp::OnMRUFile(wxCommandEvent& event) {
    int n = event.GetId() - wxID_FILE1;
-   wxString fileName = proj->GetRecentFiles()->GetHistoryFile(n);
+   wxString fileName = mRecentFiles->GetHistoryFile(n);
 
    bool opened = MRUOpen(fileName);
    if(!opened) {
-      proj->GetRecentFiles()->RemoveFileFromHistory(n);
-      gPrefs->SetPath(wxT("/RecentFiles"));
-      proj->GetRecentFiles()->Save(*gPrefs);
-      gPrefs->SetPath(wxT(".."));
+      mRecentFiles->RemoveFileFromHistory(n);
    }
 }
 
@@ -620,6 +799,11 @@ void AudacityApp::InitLang( const wxString & lang )
 // main frame
 bool AudacityApp::OnInit()
 {
+#if defined(__WXMAC__)
+   // Disable window animation
+   wxSystemOptions::SetOption( wxMAC_WINDOW_PLAIN_TRANSITION, 1 );
+#endif
+   
    mLogger = NULL;
 
    #if USE_QUICKTIME
@@ -642,6 +826,10 @@ bool AudacityApp::OnInit()
 		this->AssociateFileTypes(); 
 	#endif
 
+   // TODO - read the number of files to store in history from preferences
+   mRecentFiles = new FileHistory(/* number of files */);
+   mRecentFiles->Load(*gPrefs, wxT("RecentFiles"));
+
    //
    // Paths: set search path and temp dir path
    //
@@ -730,8 +918,11 @@ bool AudacityApp::OnInit()
    // Initialize the ModuleManager
    ModuleManager::Initialize();
 
+   // Initialize the CommandHandler
+   InitCommandHandler();
+
    // load audacity plug-in modules
-   LoadModules();
+   LoadModules(*mCmdHandler);
 
    // Locale
    // wxWindows 2.3 has a much nicer wxLocale API.  We can make this code much
@@ -774,10 +965,6 @@ bool AudacityApp::OnInit()
 
    LoadEffects();
 
-#ifdef EXPERIMENTAL_ONDEMAND
-   //The On-Demand managerr initializes the first time its singleton is accessed
-//   ODManager::Instance();
-#endif
 
 #ifdef __WXMAC__
 
@@ -785,17 +972,21 @@ bool AudacityApp::OnInit()
    // Create a menubar that will show when all project windows are closed.
 
    wxMenu *fileMenu = new wxMenu();
-   fileMenu->Append(wxID_NEW, wxT("&New\tCtrl+N"));
-   fileMenu->Append(wxID_OPEN, wxT("&Open...\tCtrl+O"));
+   wxMenu *recentMenu = new wxMenu();
+   fileMenu->Append(wxID_NEW, wxString(_("&New")) + wxT("\tCtrl+N"));
+   fileMenu->Append(wxID_OPEN, wxString(_("&Open...")) + wxT("\tCtrl+O"));
+   fileMenu->AppendSubMenu(recentMenu, _("Open &Recent..."));
    fileMenu->Append(wxID_ABOUT, _("&About Audacity..."));
-   /* i18n-hint: Mac OS X shortcut should be Ctrl+, */
-   fileMenu->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl+,"));
+   fileMenu->Append(wxID_PREFERENCES, wxString(_("&Preferences...")) + wxT("\tCtrl+,"));
 
    wxMenuBar *menuBar = new wxMenuBar();
    menuBar->Append(fileMenu, wxT("&File"));
 
    wxMenuBar::MacSetCommonMenuBar(menuBar);
 
+   mRecentFiles->UseMenu(recentMenu);
+   mRecentFiles->AddFilesToMenu(recentMenu);
+
    // This invisibale frame will be the "root" of all other frames and will
    // become the active frame when no projects are open.
    gParentFrame = new wxFrame(NULL, -1, wxEmptyString, wxPoint(0, 0), wxSize(0, 0), 0);
@@ -805,6 +996,7 @@ bool AudacityApp::OnInit()
    SetExitOnFrameDelete(true);
 
    AudacityProject *project = CreateNewAudacityProject();
+   mCmdHandler->SetProject(project);
 
    wxWindow * pWnd = MakeHijackPanel() ;
    if( pWnd )
@@ -817,7 +1009,7 @@ bool AudacityApp::OnInit()
    delete temporarywindow;
    
    if( project->mShowSplashScreen )
-      project->OnHelpWelcome();//ShowSplashScreen( project );
+      project->OnHelpWelcome();
 
    // JKC 10-Sep-2007: Enable monitoring from the start.
    // (recommended by lprod.org).
@@ -826,8 +1018,6 @@ bool AudacityApp::OnInit()
    // So we also call StartMonitoring when STOP is called.
    project->MayStartMonitoring();
 
-   mImporter = new Importer;
-
    mLogger = new wxLogWindow(NULL,wxT("Debug Log"),false,false);
    mLogger->SetActiveTarget(mLogger);
    mLogger->EnableLogging(true);
@@ -837,6 +1027,12 @@ bool AudacityApp::OnInit()
    FFmpegStartup();
    #endif
 
+   #ifdef USE_GSTREAMER
+   GStreamerStartup();
+   #endif
+
+   mImporter = new Importer;
+
    //
    // Auto-recovery
    //
@@ -998,6 +1194,26 @@ bool AudacityApp::OnInit()
    return TRUE;
 }
 
+void AudacityApp::InitCommandHandler()
+{
+   mCmdHandler = new CommandHandler(*this);
+   //SetNextHandler(mCmdHandler);
+}
+
+void AudacityApp::DeInitCommandHandler()
+{
+   wxASSERT(NULL != mCmdHandler);
+   delete mCmdHandler;
+   mCmdHandler = NULL;
+}
+
+// AppCommandEvent callback - just pass the event on to the CommandHandler
+void AudacityApp::OnReceiveCommand(AppCommandEvent &event)
+{
+   wxASSERT(NULL != mCmdHandler);
+   mCmdHandler->OnReceiveCommand(event);
+}
+
 bool AudacityApp::InitCleanSpeech()
 {
    wxString userdatadir = FileNames::DataDir();
@@ -1005,7 +1221,7 @@ bool AudacityApp::InitCleanSpeech()
    wxString presets = wxT("");
 
    #ifdef __WXGTK__
-   if (presetsFromPrefs.GetChar(0) != wxT('/'))
+   if (presetsFromPrefs.Length() > 0 && presetsFromPrefs[0] != wxT('/'))
       presetsFromPrefs = wxT("");
    #endif //__WXGTK__
 
@@ -1057,7 +1273,7 @@ bool AudacityApp::InitTempDir()
    wxString temp = wxT("");
 
    #ifdef __WXGTK__
-   if (tempFromPrefs.GetChar(0) != wxT('/'))
+   if (tempFromPrefs.Length() > 0 && tempFromPrefs[0] != wxT('/'))
       tempFromPrefs = wxT("");
    #endif
 
@@ -1252,21 +1468,42 @@ void AudacityApp::AddMultiPathsToPathList(wxString multiPathString,
 }
 
 // static
-void AudacityApp::FindFilesInPathList(wxString pattern,
-                                      wxArrayString pathList,
-                                      int flags,
-                                      wxArrayString &results)
+void AudacityApp::FindFilesInPathList(const wxString & pattern,
+                                      const wxArrayString & pathList,
+                                      wxArrayString & results,
+                                      int flags)
 {
    wxLogNull nolog;
 
-   if (pattern == wxT(""))
+   if (pattern == wxT("")) {
       return;
+   }
 
    wxFileName f;
 
-   for(unsigned i=0; i<pathList.GetCount(); i++) {
+   for(size_t i = 0; i < pathList.GetCount(); i++) {
       f = pathList[i] + wxFILE_SEP_PATH + pattern;
-      wxDir::GetAllFiles(f.GetPath(), &results, f.GetFullName(), wxDIR_FILES);
+      wxDir::GetAllFiles(f.GetPath(), &results, f.GetFullName(), flags);
+   }
+}
+
+void AudacityApp::OnEndSession(wxCloseEvent & event)
+{
+   bool force = !event.CanVeto();
+
+   // Try to close each open window.  If the user hits Cancel
+   // in a Save Changes dialog, don't continue.
+   if (!gAudacityProjects.IsEmpty()) {
+      while (gAudacityProjects.Count()) {
+         if (force) {
+            gAudacityProjects[0]->Close(true);
+         }
+         else if (!gAudacityProjects[0]->Close()) {
+            gIsQuitting = false;
+            event.Veto();
+            break;
+         }
+      }
    }
 }
 
@@ -1333,6 +1570,11 @@ void AudacityApp::OnKeyUp(wxKeyEvent & event)
       event.Skip(false);
 }
 
+void AudacityApp::AddFileToHistory(const wxString & name)
+{
+   mRecentFiles->AddFileToHistory(name);
+}
+
 int AudacityApp::OnExit()
 {
    gIsQuitting = true;
@@ -1359,15 +1601,23 @@ int AudacityApp::OnExit()
       }
    }
 
+   DeInitCommandHandler();
+
+   mRecentFiles->Save(*gPrefs, wxT("RecentFiles"));
+   delete mRecentFiles;
+
    FinishPreferences();
 
+   #ifdef USE_FFMPEG
+   DropFFmpegLibs();
+   #endif
+
    UnloadEffects();
 
    DeinitFFT();
    BlockFile::Deinit();
 
    DeinitAudioIO();
-   Internat::CleanUp();// JKC
 
    if (mLocale)
       delete mLocale;
diff --git a/src/AudacityApp.h b/src/AudacityApp.h
index 0b9f86c..643e25a 100644
--- a/src/AudacityApp.h
+++ b/src/AudacityApp.h
@@ -17,13 +17,19 @@
 #include "Audacity.h"
 
 #include <wx/app.h>
+#include <wx/dir.h>
 #include <wx/event.h>
+#include <wx/docview.h>
 #include <wx/intl.h>
 #include <wx/snglinst.h>
 #include <wx/log.h>
 
+#include "widgets/FileHistory.h"
+
 class IPCServ;
 class Importer;
+class CommandHandler;
+class AppCommandEvent;
 
 void SaveWindowSize();
 
@@ -44,7 +50,10 @@ DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_CAPTURE_KEY, -1);
 
 // These flags represent the majority of the states that affect
 // whether or not items in menus are enabled or disabled.
-enum {
+enum 
+{
+   AlwaysEnabledFlag      = 0x00000000,
+
    AudioIONotBusyFlag     = 0x00000001,
    TimeSelectedFlag       = 0x00000002,
    TracksSelectedFlag     = 0x00000004,
@@ -70,7 +79,10 @@ enum {
    CutCopyAvailableFlag   = 0x00200000,
    WaveTracksExistFlag    = 0x00400000,
    NoteTracksExistFlag    = 0x00800000,  //gsw
-   NoteTracksSelectedFlag = 0x01000000   //gsw
+   NoteTracksSelectedFlag = 0x01000000,  //gsw
+   HaveRecentFiles        = 0x02000000,
+
+   NoFlagsSpecifed        = 0xffffffff
 };
 
 class AudacityApp:public wxApp {
@@ -95,6 +107,8 @@ class AudacityApp:public wxApp {
    void OnMenuPreferences(wxCommandEvent & event);
    void OnMenuExit(wxCommandEvent & event);
 
+   void OnEndSession(wxCloseEvent & event);
+
    void OnKeyDown(wxKeyEvent & event);
    void OnChar(wxKeyEvent & event);
    void OnKeyUp(wxKeyEvent & event);
@@ -103,11 +117,14 @@ class AudacityApp:public wxApp {
    void OnReleaseKeyboard(wxCommandEvent & event);
 
    // Most Recently Used File support (for all platforms).
+   void OnMRUClear(wxCommandEvent &event);
    void OnMRUFile(wxCommandEvent &event);
 // void OnMRUProject(wxCommandEvent &event);
    // Backend for above - returns true for success, false for failure
    bool MRUOpen(wxString fileName);
 
+   void OnReceiveCommand(AppCommandEvent &event);
+
    #ifdef __WXMAC__
     // In response to Apple Events
     virtual void MacOpenFile(const wxString &fileName) ;
@@ -139,20 +156,28 @@ class AudacityApp:public wxApp {
                                        wxArrayString &pathList);
    static void AddMultiPathsToPathList(wxString multiPathString,
                                        wxArrayString &pathList);
-   static void FindFilesInPathList(wxString pattern,
-                                   wxArrayString pathList,
-                                   int flags, // wxFILE, wxDIR, or 0
-                                   wxArrayString &results);
+   static void FindFilesInPathList(const wxString & pattern,
+                                   const wxArrayString & pathList,
+                                   wxArrayString &results,
+                                   int flags = wxDIR_FILES);
+
+   FileHistory *GetRecentFiles() {return mRecentFiles;}
+   void AddFileToHistory(const wxString & name);
 
    Importer *mImporter;
 
    wxLogWindow *mLogger;
  private:
+   CommandHandler *mCmdHandler;
+   FileHistory *mRecentFiles;
 
    wxLocale *mLocale;
 
    wxSingleInstanceChecker *mChecker;
 
+   void InitCommandHandler();
+   void DeInitCommandHandler();
+
    bool InitTempDir();
    bool CreateSingleInstanceChecker(wxString dir);
 
diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp
index 39e147e..3cfd12d 100644
--- a/src/AudioIO.cpp
+++ b/src/AudioIO.cpp
@@ -45,8 +45,6 @@ writing audio.
 
 #include <math.h>
 #include <stdlib.h>
-//   MIDI_PLAYBACK:
-//#include <string.h>
 
 #ifdef __WXMSW__
 #include <malloc.h>
@@ -68,8 +66,15 @@ writing audio.
 #include "AudacityApp.h"
 #include "AudioIO.h"
 #include "WaveTrack.h"
-//   MIDI_PLAYBACK:
-//#include "NoteTrack.h"
+
+#ifdef EXPERIMENTAL_MIDI_OUT
+#define MIDI_BUFFER_AHEAD 1.0 /* secondds */
+#define ROUND(x) (int) ((x)+0.5)
+//#include <string.h>
+#include "portmidi.h"
+#include "NoteTrack.h"
+#endif
+
 #include "Mix.h"
 #include "Resample.h"
 #include "RingBuffer.h"
@@ -89,8 +94,10 @@ int AudioIO::mNextStreamToken = 0;
 
 const int AudioIO::StandardRates[] = {
    8000,
+   11025,
    16000,
    22050,
+   32000,
    44100,
    48000,
    96000
@@ -116,19 +123,14 @@ const int AudioIO::RatesToTry[] = {
 const int AudioIO::NumRatesToTry = sizeof(AudioIO::RatesToTry) /
                                       sizeof(AudioIO::RatesToTry[0]);
 
-#if USE_PORTAUDIO_V19
 int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
                           unsigned long framesPerBuffer,
                           const PaStreamCallbackTimeInfo *timeInfo,
                           PaStreamCallbackFlags statusFlags, void *userData );
-#else
-int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
-                          unsigned long framesPerBuffer,
-                          PaTimestamp outTime, void *userData );
-#endif
 
-//   MIDI_PLAYBACK:
-//int compareTime( const void* a, const void* b );
+#ifdef EXPERIMENTAL_MIDI_OUT
+int compareTime( const void* a, const void* b );
+#endif
 
 //////////////////////////////////////////////////////////////////////
 //
@@ -205,28 +207,22 @@ void DeinitAudioIO()
 
 wxString DeviceName(const PaDeviceInfo* info)
 {
-#if USE_PORTAUDIO_V19
    wxString hostapiName(Pa_GetHostApiInfo(info->hostApi)->name, wxConvLocal);
    wxString infoName(info->name, wxConvLocal);
 
    return wxString::Format(wxT("%s: %s"),
                            hostapiName.c_str(),
                            infoName.c_str());
-#else  
-   return wxString(info->name, wxConvLocal);
-#endif
 }
 
 bool AudioIO::ValidateDeviceNames(wxString play, wxString rec)
 {
-#if USE_PORTAUDIO_V19
    const PaDeviceInfo *pInfo = Pa_GetDeviceInfo(AudioIO::getPlayDevIndex(play));
    const PaDeviceInfo *rInfo = Pa_GetDeviceInfo(AudioIO::getRecordDevIndex(rec));
 
    if (!pInfo || !rInfo || pInfo->hostApi != rInfo->hostApi) {
       return false;
    }
-#endif
 
    return true;
 }
@@ -236,17 +232,14 @@ AudioIO::AudioIO()
    mAudioThreadShouldCallFillBuffersOnce = false;
    mAudioThreadFillBuffersLoopRunning = false;
    mAudioThreadFillBuffersLoopActive = false;
-#if USE_PORTAUDIO_V19
    mPortStreamV19 = NULL;
-#else
-   mPortStreamV18 = NULL;
-   mInCallbackFinishedState = false;
+
+#ifdef EXPERIMENTAL_MIDI_OUT
+   mMidiStream = NULL;
+   mMidiStreamActive = false;
+   mSendMidiState = false;
 #endif
 
-//   MIDI_PLAYBACK:
-//   mMidiStream = NULL;
-//   mMidiStreamActive = false;
-//   mUpdateMidiTracks = false;
    mStreamToken = 0;
    mStopStreamCount = 0;
    mTempFloats = new float[65536]; // TODO: out channels * PortAudio buffer size
@@ -280,21 +273,23 @@ AudioIO::AudioIO()
       // but any attempt to play or record will simply fail.
    }
 
-/* REQUIRES PORTMIDI */
-//   PmError pmErr = Pm_Initialize();
-
-//   if (pmErr != pmNoError) {
-//      wxString errStr = _("There was an error initializing the midi i/o layer.\n");
-//      errStr += _("You will not be able to play midi.\n\n");
-//      wxString pmErrStr = LAT1CTOWX(Pm_GetErrorText(pmErr));
-//      if (pmErrStr)
-//         errStr += _("Error: ")+pmErrStr;
+#ifdef EXPERIMENTAL_MIDI_OUT
+   PmError pmErr = Pm_Initialize();
+
+   if (pmErr != pmNoError) {
+      wxString errStr = 
+              _("There was an error initializing the midi i/o layer.\n");
+      errStr += _("You will not be able to play midi.\n\n");
+      wxString pmErrStr = LAT1CTOWX(Pm_GetErrorText(pmErr));
+      if (pmErrStr)
+         errStr += _("Error: ") + pmErrStr;
       // XXX: we are in libaudacity, popping up dialogs not allowed!  A
       // long-term solution will probably involve exceptions
-//      wxMessageBox(errStr, _("Error Initializing Midi"), wxICON_ERROR|wxOK);
+	  wxMessageBox(errStr, _("Error Initializing Midi"), wxICON_ERROR|wxOK);
 
       // Same logic for PortMidi as described above for PortAudio
-//   }
+   }
+#endif
 
    // Start thread
    mThread = new AudioThread();
@@ -327,8 +322,9 @@ AudioIO::~AudioIO()
 #endif
    Pa_Terminate();
 
-/* REQUIRES PORTMIDI */
-//   Pm_Terminate();
+#ifdef EXPERIMENTAL_MIDI_OUT
+   Pm_Terminate();
+#endif
 
    /* Delete is a "graceful" way to stop the thread.
       (Kill is the not-graceful way.) */
@@ -407,7 +403,11 @@ wxArrayString AudioIO::GetInputSourceNames()
    {
       int numSources = Px_GetNumInputSources(mPortMixer);
       for( int source = 0; source < numSources; source++ )
-         deviceNames.Add(LAT1CTOWX(Px_GetInputSourceName(mPortMixer, source)));
+         deviceNames.Add(wxString(Px_GetInputSourceName(mPortMixer, source), wxConvLocal));
+   }
+   else
+   {
+      wxLogDebug(wxT("AudioIO::GetInputSourceNames(): PortMixer not initialised!"));
    }
 
    return deviceNames;
@@ -473,8 +473,6 @@ void AudioIO::HandleDeviceChange()
    // will be the highest available for play and record on the device, or
    // 44.1kHz if the info cannot be fetched.
 
-#if USE_PORTAUDIO_V19
-
    PaStream *stream;
 
    PaStreamParameters playbackParameters;
@@ -515,24 +513,7 @@ void AudioIO::HandleDeviceChange()
                             paClipOff | paDitherOff,
                             audacityAudioCallback, NULL);
    }
-  
-#else
-
-   PortAudioStream *stream;
-
-   error = Pa_OpenStream(&stream, recDeviceNum, 2, paFloat32, NULL,
-                         playDeviceNum, 2, paFloat32, NULL,
-                         highestSampleRate, 512, 1, paClipOff | paDitherOff,
-                         audacityAudioCallback, NULL);
-
-   if( error ) {
-      error = Pa_OpenStream(&stream, recDeviceNum, 2, paFloat32, NULL,
-                            paNoDevice, 0, paFloat32, NULL,
-                            highestSampleRate, 512, 1, paClipOff | paDitherOff,
-                            audacityAudioCallback, NULL);
-   }
 
-#endif
    // if it's still not working, give up
    if( error )
       return;
@@ -620,7 +601,6 @@ bool AudioIO::StartPortAudioStream(double sampleRate,
    mNumPlaybackChannels = numPlaybackChannels;
    mNumCaptureChannels = numCaptureChannels;
 
-#if USE_PORTAUDIO_V19
    PaStreamParameters *playbackParameters = NULL;
    PaStreamParameters *captureParameters = NULL;
    
@@ -710,112 +690,13 @@ bool AudioIO::StartPortAudioStream(double sampleRate,
    delete captureParameters;
    delete playbackParameters;
 
-#else
-
-   PaDeviceID captureDevice = paNoDevice,
-              playbackDevice = paNoDevice;
-   PaSampleFormat paCaptureFormat = paFloat32;
-
-   if( numPlaybackChannels > 0 )
-   {
-      playbackDevice =  Pa_GetDefaultOutputDeviceID();
-      wxString playbackDeviceName = gPrefs->Read(wxT("/AudioIO/PlaybackDevice"), wxT(""));
-
-      if( playbackDeviceName != wxT("") )
-      {
-         for( int i = 0; i < Pa_CountDevices(); i++)
-         {
-            const PaDeviceInfo* info = Pa_GetDeviceInfo(i);
-
-            if(!info)
-               continue;
-
-            if (DeviceName(info) == playbackDeviceName && info->maxOutputChannels > 0)
-               playbackDevice = i;
-         }
-      }
-   }
-
-   if( numCaptureChannels > 0 )
-   {
-      // For capture, every input channel gets its own track
-      mCaptureFormat = captureFormat;
-      captureDevice =  Pa_GetDefaultInputDeviceID();
-      wxString captureDeviceName = gPrefs->Read(wxT("/AudioIO/RecordingDevice"), wxT(""));
-
-      if( captureDeviceName != wxT("") )
-      {
-         for( int i = 0; i < Pa_CountDevices(); i++)
-         {
-            const PaDeviceInfo* info = Pa_GetDeviceInfo(i);
-
-            if(!info)
-               continue;
-
-            if (DeviceName(info) == captureDeviceName && info->maxInputChannels > 0)
-               captureDevice = i;
-         }
-      }
-
-      paCaptureFormat =
-         AudacityToPortAudioSampleFormat(mCaptureFormat);
-   }
-
-   mPortStreamV18 = NULL;
-
-   mLastPaError = Pa_OpenStream( &mPortStreamV18,
-                                 /* capture parameters */
-                                 captureDevice,
-                                 mNumCaptureChannels,
-                                 paCaptureFormat,
-                                 NULL,
-                                 /* playback parameters */
-                                 playbackDevice,
-                                 mNumPlaybackChannels,
-                                 paFloat32,
-                                 NULL,
-                                 /* general parameters */
-                                 mRate, 256, 0,
-                                 paClipOff | paDitherOff,
-                                 audacityAudioCallback, NULL );
-
-#if USE_PORTMIXER
-   if (mPortStreamV18 != NULL && mLastPaError == paNoError) {
-      #ifdef __WXMAC__
-      if (mPortMixer) {
-         if (Px_SupportsPlaythrough(mPortMixer)) {
-            bool playthrough;
-
-            mPreviousHWPlaythrough = Px_GetPlaythrough(mPortMixer);
-
-            gPrefs->Read(wxT("/AudioIO/Playthrough"), &playthrough, false);
-            if (playthrough)
-               Px_SetPlaythrough(mPortMixer, 1.0);
-            else
-               Px_SetPlaythrough(mPortMixer, 0.0);
-         }
-      }
-      #endif
-   }
-
-#endif
-
-   mInCallbackFinishedState = false; // v18 only
-
-#endif   
-
    return (mLastPaError == paNoError);
 }
 
 void AudioIO::StartMonitoring(double sampleRate)
 {
-#if USE_PORTAUDIO_V19
    if ( mPortStreamV19 || mStreamToken )
       return;
-#else /* USE_PORTAUDIO_V19 */
-   if ( mPortStreamV18 || mStreamToken )
-      return;
-#endif /* USE_PORTAUDIO_V19 */
 
    bool success;
    long captureChannels;
@@ -833,17 +714,14 @@ void AudioIO::StartMonitoring(double sampleRate)
                                   captureFormat);
 
    // Now start the PortAudio stream!
-#if USE_PORTAUDIO_V19
    mLastPaError = Pa_StartStream( mPortStreamV19 );
-#else /* USE_PORTAUDIO_V19 */
-   mLastPaError = Pa_StartStream( mPortStreamV18 );
-#endif /* USE_PORTAUDIO_V19 */
 }
 
 int AudioIO::StartStream(WaveTrackArray playbackTracks,
                          WaveTrackArray captureTracks,
-/* REQUIRES PORTMIDI */
-                         //NoteTrackArray midiPlaybackTracks,
+#ifdef EXPERIMENTAL_MIDI_OUT
+                         NoteTrackArray *midiPlaybackTracks,
+#endif
                          TimeTrack *timeTrack, double sampleRate,
                          double t0, double t1,
                          AudioIOListener* listener,
@@ -869,19 +747,11 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
    //       captureChannels == mNumCaptureChannels &&
    //       captureFormat == mCaptureFormat) {
 
-   #if USE_PORTAUDIO_V19
    if (mPortStreamV19) {
       StopStream();
       while(mPortStreamV19)
          wxMilliSleep( 50 );            
    }
-   #else /* USE_PORTAUDIO_V19 */
-   if (mPortStreamV18) {
-      StopStream();
-      while(mPortStreamV18)
-         wxMilliSleep( 50 );
-   }
-   #endif /* USE_PORTAUDIO_V19 */
 
    gPrefs->Read(wxT("/AudioIO/SWPlaythrough"), &mSoftwarePlaythrough, false);
    gPrefs->Read(wxT("/AudioIO/SoundActivatedRecord"), &mPauseRec, false);
@@ -909,8 +779,9 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
    mLastRecordingOffset = 0;
    mPlaybackTracks = playbackTracks;
    mCaptureTracks  = captureTracks;
-/* REQUIRES PORTMIDI */
-//   mMidiPlaybackTracks = midiPlaybackTracks;
+#ifdef EXPERIMENTAL_MIDI_OUT
+   mMidiPlaybackTracks = midiPlaybackTracks;
+#endif
    mPlayLooped = playLooped;
    mCutPreviewGapStart = cutPreviewGapStart;
    mCutPreviewGapLen = cutPreviewGapLen;
@@ -967,21 +838,31 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
       if (mListener)
          mListener->OnAudioIOStartRecording();
    }
-   
+
    bool successAudio;
 
-/* REQUIRES PORTMIDI */
-//   bool successMidi;
+   successAudio = StartPortAudioStream(sampleRate, playbackChannels,
+                                       captureChannels, captureFormat);
 
-//   if( !mMidiPlaybackTracks.IsEmpty() ){
-//      successMidi = StartPortMidiStream();
-//   }
+#ifdef EXPERIMENTAL_MIDI_OUT
+   // TODO: it may be that midi out will not work unless audio in or out is
+   // active -- this would be a bug and may require a change in the 
+   // logic here.
 
-//   if( !mPlaybackTracks.IsEmpty() ){
-      successAudio = StartPortAudioStream(sampleRate, playbackChannels,
-                                       captureChannels, captureFormat);
+   bool successMidi;
+
+   if(mMidiPlaybackTracks && !mMidiPlaybackTracks->IsEmpty()){
+      successMidi = StartPortMidiStream();
+   }
+
+   // On the other hand, if MIDI cannot be opened, we will not complain
+#endif
 
-   if (!successAudio) {
+   if (!successAudio
+#ifdef EXPERIMENTAL_MIDI_OUT
+      && !successMidi
+#endif
+      ) {
       if (mListener && captureChannels > 0)
          mListener->OnAudioIOStopRecording();
       mStreamToken = 0;
@@ -989,12 +870,11 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
    }
 
    //
-   // The stream has successfully been opened.  We now proceed in allocating
-   // the memory structures the stream will need.
+   // The (audio) stream has been opened successfully.  We now proceed to 
+   // allocate the memory structures the stream will need.
    //
 
-   if( mNumPlaybackChannels > 0 )
-   {
+   if( mNumPlaybackChannels > 0 ) {
       // Allocate output buffers.  For every output track we allocate
       // a ring buffer of five seconds
       sampleCount playbackBufferSize =
@@ -1043,24 +923,33 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
    while( mAudioThreadShouldCallFillBuffersOnce == true )
       wxMilliSleep( 50 );
 
-   // Now start the PortAudio stream!
-   PaError err;
-#if USE_PORTAUDIO_V19
-   err = Pa_StartStream( mPortStreamV19 );
-#else
-   err = Pa_StartStream( mPortStreamV18 );
+#ifdef EXPERIMENTAL_MIDI_OUT
+   // output MIDI control information up to the current cursor location
+   // MOTODO: output midi control changes and program changes up to cursor
+   //   QUESTION: can we do that from this thread?
 #endif
 
-   if( err != paNoError )
-   {
-      // TODO
-      // we'll need a more complete way to indicate error.
-      // AND we need to delete the ring buffers and mixers, etc.
-      if (mListener && mNumCaptureChannels > 0)
-         mListener->OnAudioIOStopRecording();
-      wxPrintf(wxT("%hs\n"), Pa_GetErrorText(err));
-      mStreamToken = 0;
-      return 0;
+   if(mNumPlaybackChannels > 0 || mNumCaptureChannels > 0
+#ifdef EXPERIMENTAL_MIDI_OUT
+      || !mMidiPlaybackTracks->IsEmpty()
+#endif
+      ) {
+
+      // Now start the PortAudio stream!
+      PaError err;
+      err = Pa_StartStream( mPortStreamV19 );
+
+      if( err != paNoError )
+      {
+         // TODO
+         // we'll need a more complete way to indicate error.
+         // AND we need to delete the ring buffers and mixers, etc.
+         if (mListener && mNumCaptureChannels > 0)
+            mListener->OnAudioIOStopRecording();
+         wxPrintf(wxT("%hs\n"), Pa_GetErrorText(err));
+         mStreamToken = 0;
+         return 0;
+      }
    }
 
    mAudioThreadFillBuffersLoopRunning = true;
@@ -1070,27 +959,33 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
    // clients accessing the AudioIO API, so they can query if
    // are the ones who have reserved AudioIO or not.
    //
-//   MIDI_PLAYBACK:
-//   }
-
    mStreamToken = (++mNextStreamToken);
 
    return mStreamToken;
 }
 
-/* HCK MIDI PATCH START */
-/* REQUIRES PORTMIDI */
-//bool AudioIO::StartPortMidiStream() 
-//{
-//   #define TIME_PROC ((long (*)(void *)) Pt_Time)
-//   int i, latency; 
+#ifdef EXPERIMENTAL_MIDI_OUT
+
+#define TIME_PROC ((long (*)(void *)) Pt_Time)
+
+bool AudioIO::IsMidiActive()
+{
+   if (!mMidiStream) return false;
+   // find out if we have passed the last midi event
+   return mLastMidiTime + mMidiLatency <= TIME_PROC(NULL);
+}
+
+
+bool AudioIO::StartPortMidiStream() 
+{
+   int i, latency; 
    
    // Only start MIDI stream if there is an open track
-//   if (mMidiPlaybackTracks.GetCount() == 0)
-//      return false;
+   if (mMidiPlaybackTracks->GetCount() == 0)
+      return false;
 
    /* get latency from PortAudio */
-//   int framesPerBuffer = 1102; // constant passed to Pa_OpenStream call 
+   int framesPerBuffer = 1102; // constant passed to Pa_OpenStream call 
                                // but not defined beforehand
 /* HCK MIDI FIX ORG
    int numBuffers = Pa_GetMinNumBuffers( framesPerBuffer, mRate );
@@ -1101,67 +996,78 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
       latency = 500;
 HCK MIDI PATCH ORG */
 
-//   latency = 500;
-
-//   Pt_Start(1, 0, 0); /* timer started w/millisecond accuracy */
+   mMidiLatency = 100;
+   printf("StartPortMidiStream: mT0 %g mTime %g\n", 
+          gAudioIO->mT0, gAudioIO->mTime);
+   if (Pt_Started()) Pt_Stop(); // start from zero
+   Pt_Start(1, 0, 0); /* timer started w/millisecond accuracy */
 
    /* get midi playback device */
-//   PmDeviceID playbackDevice = pmNoDevice;
-
-//   playbackDevice =  Pm_GetDefaultOutputDeviceID();
-//   gPrefs->Write(wxT("/MidiIO/PlaybackDevice"), "ALSA, Midi Through Port-0" );
-//   wxString playbackDeviceName = gPrefs->Read(wxT("/MidiIO/PlaybackDevice"), wxT(""));
-
-//   if( playbackDeviceName != wxT("") )
-//   {
-//      for (i = 0; i < Pm_CountDevices(); i++) {
-//         const PmDeviceInfo *info = Pm_GetDeviceInfo(i);
-
-//         if (!info)
-//            continue;
- 
-//         if (LAT1CTOWX(info->name) == playbackDeviceName)
-//            playbackDevice = i;
-//      }
-//   }
-//   else
-//   {
-//      playbackDevice = 0;
-//   }
+   PmDeviceID playbackDevice = Pm_GetDefaultOutputDeviceID();
+   wxString playbackDeviceName = gPrefs->Read(wxT("/MidiIO/PlaybackDevice"), 
+                                              wxT(""));
+
+   if (wxStrcmp(playbackDeviceName, wxT("")) != 0) {
+      for (i = 0; i < Pm_CountDevices(); i++) {
+         const PmDeviceInfo *info = Pm_GetDeviceInfo(i);
+         if (!info) continue;
+         wxString interf(info->interf, wxConvLocal);
+         wxString name(info->name, wxConvLocal);
+         wxString device = wxString::Format(wxT("%s: %s"),
+                                            interf.c_str(),
+                                            name.c_str());
+        if (wxStrcmp(device, playbackDeviceName) == 0) {
+            playbackDevice = i;
+         }
+      }
+   } // (else playback device has Pm_GetDefaultOuputDeviceID())
 
-   // JUST FOR TEST : SET DEFAULT DEVICE
-//   playbackDevice = 2;
    /* open output device */
-//   mLastPmError = Pm_OpenOutput(&mMidiStream, 
-//                                playbackDevice, 
-//                                NULL,
-//                                0, 
-//                                TIME_PROC,
-//                                NULL, 
-//                                latency);
-
-//   mCurrentMidiTime = TIME_PROC(NULL);
-   //mLastMidiTime = mCurrentMidiTime;
-//   mMidiWait = 0;
-
-//   fprintf(stderr, "mT0: %f\n", mT0);
-//   fprintf(stderr, "%li %li : STARTING\n", mCurrentMidiTime, mLastMidiTime );
+   mLastPmError = Pm_OpenOutput(&mMidiStream, 
+                                playbackDevice, 
+                                NULL,
+                                0, 
+                                TIME_PROC,
+                                NULL, 
+                                mMidiLatency);
+   // DEBUGGING
+      const PmDeviceInfo *info = Pm_GetDeviceInfo(playbackDevice);
+      printf("Pm_OpenOutput on %s, return code %d\n", 
+             info->name, mLastPmError);
+
+   mCurrentMidiTime = TIME_PROC(NULL);
+   mLastMidiTime = 0x7FFF0000; // a big number, adjusted when we play last
+                               // midi event
+   mMidiWait = 0;
+
+   fprintf(stderr, "mT0: %f\n", mT0);
+   fprintf(stderr, "%li %li : STARTING\n", mCurrentMidiTime, mLastMidiTime );
+
+   mMidiStreamActive = true;
+   //   mCnt = 0;
+
+   // for now, play only one track
+   mSeq = (*mMidiPlaybackTracks)[0]->GetSequence();
+   mVC = (*mMidiPlaybackTracks)[0]->GetVisibleChannels();
+ 
+   mIterator = new Alg_iterator(mSeq, true);
+   mIterator->begin();
+   GetNextEvent(); // prime the pump for FillMidiBuffers
 
-//   mMidiStreamActive = true;
 
    // Start MIDI from current cursor position
-//   mUpdateMidiTracks = true;
-//   memset( mMidiQueue, 0x00, sizeof( mMidiQueue ) );
-//   mCnt = 0;
-
-//   mSeq = mMidiPlaybackTracks[0]->GetSequence();
-//   mVC = mMidiPlaybackTracks[0]->GetVisibleChannels();
-//   mSeq->iteration_begin();
+   mSendMidiState = true;
+   while (mNextEvent && 
+          mNextEvent->time < mT0) {
+      OutputEvent();
+      GetNextEvent();
+   }
+   // MOTODO -- fix this to send updates immediately until t0 is reached
+   mSendMidiState = false;
 
-//   return (mLastPmError == pmNoError);      
-//}
-/* REQUIRES PORTMIDI END */
-/* HCK MIDI PATCH END */
+   return (mLastPmError == pmNoError);      
+}
+#endif
 
 void AudioIO::SetMeters(Meter *inputMeter, Meter *outputMeter)
 {
@@ -1178,31 +1084,24 @@ void AudioIO::SetMeters(Meter *inputMeter, Meter *outputMeter)
 
 void AudioIO::StopStream()
 {
-//   MIDI_PLAYBACK:
-//   printf( "HCK StopStream\n" );
- #if USE_PORTAUDIO_V19
    if( mPortStreamV19 == NULL 
-/* REQUIRES PORTMIDI */
-//	   && mMidiStream == NULL 
-	   )
+#ifdef EXPERIMENTAL_MIDI_OUT
+       && mMidiStream == NULL 
+#endif
+     )
       return;
 
    if( Pa_IsStreamStopped( mPortStreamV19 ) 
-/* REQUIRES PORTMIDI */
-//	   && !mMidiStreamActive 
-	   )
-      return;
- #else
-   if( mPortStreamV18 == NULL )
-      return;
-
-   if( IsStreamActive() == false && mInCallbackFinishedState == false )
+#ifdef EXPERIMENTAL_MIDI_OUT
+       && !mMidiStreamActive 
+#endif
+     )
       return;
- #endif
 
    // Avoid race condition by making sure this function only
    // gets called once at a time
-   mStopStreamCount++;
+   mStopStreamCount++; // <- note that this is not atomic, therefore has
+                       // a race condition -RBD
    if (mStopStreamCount != 1)
       return;
 
@@ -1257,44 +1156,38 @@ void AudioIO::StopStream()
    }
   #endif
 
-#if USE_PORTAUDIO_V19
    if (mPortStreamV19) {
       Pa_AbortStream( mPortStreamV19 );
       Pa_CloseStream( mPortStreamV19 );
       mPortStreamV19 = NULL;
    }
-#else
-   if (mPortStreamV18) {
-      if (mInCallbackFinishedState)
-         Pa_StopStream( mPortStreamV18 );
-      else
-         Pa_AbortStream( mPortStreamV18 );
-      Pa_CloseStream( mPortStreamV18 );
-      mPortStreamV18 = NULL;
-      mInCallbackFinishedState = false;
-   }
-#endif
-/* REQUIRES PORTMIDI */
+
+
+#ifdef EXPERIMENTAL_MIDI_OUT
    /* Stop Midi playback */
-//   if ( mMidiStream )
-//   {
-//      mMidiStreamActive = false;
-//
-//      if (mInCallbackFinishedState)
-//      {
-//         Pm_Close(mMidiStream);
-//      }
-//      else
-//      {
-//         Pm_Abort(mMidiStream);
-//         Pm_Close(mMidiStream);
-//      }
+   // problem here -- if explicitly stopped, we'll hang here
+   //   while (mLastMidiTime + mMidiLatency + 10 < TIME_PROC(NULL)) {
+   //      wxMilliSleep( 50 );
+   //   }
+      
+   if ( mMidiStream ) {
+      mMidiStreamActive = false;
+      // MOTODO: if output in progress, send all off, etc.
+      for (int i = 0; i < 16; i++) {
+         Pm_WriteShort(mMidiStream, 0, Pm_Message(0xB0 + i, 0x7B, 0));
+      }
+      wxMilliSleep(40); // deliver the all-off messages before closing
+      Pm_Abort(mMidiStream); // MOTODO: only abort if output in progress
+      Pm_Close(mMidiStream);
+      printf("Pm_Close() called\n");
+      mMidiStream = NULL;
 
       // Reset MIDI track positions this way for now
-      //mMidiPlaybackTracks[0]->SetLastMidiPosition(0);
-//      mLastMidiTime = 0;
-//      mSeq->iteration_end();
-//   }
+      // mMidiPlaybackTracks[0]->SetLastMidiPosition(0);
+      // mLastMidiTime = 0;
+      mIterator->end();
+   }
+#endif
 
    // If there's no token, we were just monitoring, so we can
    // skip this next part...
@@ -1351,6 +1244,7 @@ void AudioIO::StopStream()
          for( unsigned int i = 0; i < mCaptureTracks.GetCount(); i++ )
             {
                delete mCaptureBuffers[i];
+               delete mResample[i];
                
                WaveTrack* track = mCaptureTracks[i];
                track->Flush();
@@ -1386,7 +1280,8 @@ void AudioIO::StopStream()
                      track->SetOffset(track->GetStartTime() + recordingOffset);
                      if(track->GetEndTime() < 0.)
                      {
-                        wxMessageDialog m(NULL, _("Latency Correction setting has caused the recorded audio to be hidden before zero.\nAudacity has brought it back to start at zero.\nYou may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."), _("Latency problem"), wxOK);
+                        wxMessageDialog m(NULL, _("Latency Correction setting has caused the recorded audio to be hidden before zero.\nAudacity has brought it back to start at zero.\nYou may have to use the Time Shift Tool (<---> or F5) to drag the track to the right place."),
+                           _("Latency problem"), wxOK);
                         m.ShowModal();
                         track->SetOffset(0.);
                      }
@@ -1395,6 +1290,7 @@ void AudioIO::StopStream()
             }
          
          delete[] mCaptureBuffers;
+         delete[] mResample;
       }
    }
 
@@ -1425,20 +1321,6 @@ bool AudioIO::IsPaused()
 
 bool AudioIO::IsBusy()
 {
-   // dmazzoni: Old code...now it's safe to call StartStream if
-   // PortAudio is open, just not if there's a token active
- #if 0
-   if (IsStreamActive())
-      return true;
-  #if USE_PORTAUDIO_V19
-   if (mPortStreamV19)
-      return true;
-  #else
-   if (mPortStreamV18)
-      return true;
-  #endif
-#endif
-
    if (mStreamToken != 0)
       return true;
 
@@ -1448,18 +1330,10 @@ bool AudioIO::IsBusy()
 bool AudioIO::IsStreamActive()
 {
    bool isActive = false;
-#if USE_PORTAUDIO_V19
    if( mPortStreamV19 )
       isActive = (Pa_IsStreamActive( mPortStreamV19 ) > 0);
    else isActive = false;
-#else
-   if( mPortStreamV18 &&
-       Pa_StreamActive( mPortStreamV18 ) &&
-       mInCallbackFinishedState == false )
-      isActive = true;
-   else
-      isActive = false;
-#endif
+
 /* REQUIRES PORTMIDI */
 //   if( mMidiStreamActive )
 //      isActive = true;
@@ -1481,11 +1355,7 @@ bool AudioIO::IsAudioTokenActive(int token)
 
 bool AudioIO::IsMonitoring()
 {
-#if USE_PORTAUDIO_V19
    return ( mPortStreamV19 && mStreamToken==0 );
-#else
-   return ( mPortStreamV18 && mStreamToken==0 );
-#endif
 }
 
 double AudioIO::NormalizeStreamTime(double absoluteTime) const
@@ -1541,15 +1411,15 @@ wxArrayLong AudioIO::GetSupportedPlaybackRates(int devIndex, double rate)
    {  // weren't given a device index, get the prefs / default one
       devIndex = getPlayDevIndex();
    }
-
+   wxLogDebug(wxT("Getting supported playback rates for device %d"), devIndex);
    devInfo = Pa_GetDeviceInfo(devIndex);
    
    if (!devInfo)
    {
+      wxLogDebug(wxT("GetSupportedPlaybackRates() Could not get device info!"));
       return supported;
    }
 
-#if USE_PORTAUDIO_V19
    PaStreamParameters pars;
 
    pars.device = devIndex;
@@ -1562,6 +1432,7 @@ wxArrayLong AudioIO::GetSupportedPlaybackRates(int devIndex, double rate)
    {
       if (Pa_IsFormatSupported(NULL, &pars, RatesToTry[i]) == 0)
       {
+         wxLogDebug(wxT("Rate %ld Hz is supported"), RatesToTry[i]);
          supported.Add(RatesToTry[i]);
       }
    }
@@ -1570,38 +1441,10 @@ wxArrayLong AudioIO::GetSupportedPlaybackRates(int devIndex, double rate)
    {
       if (Pa_IsFormatSupported(NULL, &pars, irate) == 0)
       {
+         wxLogDebug(wxT("Suggested rate %ld Hz is supported"), irate);
          supported.Add(irate);
       }
    }
-#else
-   if (devInfo->numSampleRates == -1)
-   {
-      for (i = 0; i < NumRatesToTry; i++)
-      {
-         if (RatesToTry[i] >= devInfo->sampleRates[0] &&
-             RatesToTry[i] <= devInfo->sampleRates[1])
-         {
-            supported.Add(RatesToTry[i]);
-         }
-      }
-
-      if (irate != 0 && supported.Index(irate) == wxNOT_FOUND)
-      {
-         if (irate >= devInfo->sampleRates[0] &&
-             irate <= devInfo->sampleRates[1])
-         {
-            supported.Add(irate);
-         }
-      }
-   }
-   else
-   {
-      for (i = 0; i < devInfo->numSampleRates; i++)
-      {
-         supported.Add((int)devInfo->sampleRates[i]);
-      }
-   }
-#endif
 
    return supported;
 }
@@ -1617,14 +1460,15 @@ wxArrayLong AudioIO::GetSupportedCaptureRates(int devIndex, double rate)
    {  // not given a device, look up in prefs / default
       devIndex = getRecordDevIndex();
    }
+   wxLogDebug(wxT("Getting supported capture rates for device %d"), devIndex);
    devInfo = Pa_GetDeviceInfo(devIndex);
 
    if (!devInfo)
    {
+      wxLogDebug(wxT("GetSupportedCaptureRates() Could not get device info!"));
       return supported;
    }
 
-#if USE_PORTAUDIO_V19
    double latencyDuration = DEFAULT_LATENCY_DURATION;
    long recordChannels = 1;
    gPrefs->Read(wxT("/AudioIO/LatencyDuration"), &latencyDuration);
@@ -1642,6 +1486,7 @@ wxArrayLong AudioIO::GetSupportedCaptureRates(int devIndex, double rate)
    {
       if (Pa_IsFormatSupported(&pars, NULL, RatesToTry[i]) == 0)
       {
+         wxLogDebug(wxT("Rate %ld Hz is supported"), RatesToTry[i]);
          supported.Add(RatesToTry[i]);
       }
    }
@@ -1650,38 +1495,10 @@ wxArrayLong AudioIO::GetSupportedCaptureRates(int devIndex, double rate)
    {
       if (Pa_IsFormatSupported(&pars, NULL, irate) == 0)
       {
+         wxLogDebug(wxT("Suggested rate %ld Hz is supported"), irate);
          supported.Add(irate);
       }
    }
-#else
-   if (devInfo->numSampleRates == -1)
-   {
-      for (i = 0; i < NumRatesToTry; i++)
-      {
-         if (RatesToTry[i] >= devInfo->sampleRates[0] &&
-             RatesToTry[i] <= devInfo->sampleRates[1])
-         {
-            supported.Add(RatesToTry[i]);
-         }
-      }
-
-      if (irate != 0 && supported.Index(irate) == wxNOT_FOUND)
-      {
-         if (irate >= devInfo->sampleRates[0] &&
-             irate <= devInfo->sampleRates[1])
-         {
-            supported.Add(irate);
-         }
-      }
-   }
-   else
-   {
-      for (i = 0; i < devInfo->numSampleRates; i++)
-      {
-         supported.Add((int)devInfo->sampleRates[i]);
-      }
-   }
-#endif
 
    return supported;
 }
@@ -1820,11 +1637,13 @@ AudioThread::ExitCode AudioThread::Entry()
          gAudioIO->FillBuffers();
       }
 
-/* REQUIRES PORTMIDI */
-//     if( gAudioIO->mMidiStreamActive )
-//      {
-//         gAudioIO->FillMidiBuffers();
-//      }
+#ifdef EXPERIMENTAL_MIDI_OUT
+     if( gAudioIO->mMidiStreamActive && 
+         gAudioIO->mAudioThreadFillBuffersLoopRunning)
+      {
+         gAudioIO->FillMidiBuffers();
+      }
+#endif
       Sleep(10);
    }
 
@@ -1871,11 +1690,7 @@ int AudioIO::getRecordDevIndex(wxString devName)
    }
 
    int i;
-#if USE_PORTAUDIO_V19
    for (i = 0; i < Pa_GetDeviceCount(); i++)
-#else
-   for (i = 0; i < Pa_CountDevices(); i++)
-#endif
    {
       const PaDeviceInfo* info = Pa_GetDeviceInfo(i);
 
@@ -1889,11 +1704,8 @@ int AudioIO::getRecordDevIndex(wxString devName)
    // landing here, we either don't have a value in the preferences, or 
    // the stored / supplied value doesn't exist on the system. So we need to
    // use a default value
-#if USE_PORTAUDIO_V19
    int recDeviceNum = Pa_GetDefaultInputDevice();
-#else
-   int recDeviceNum = Pa_GetDefaultInputDeviceID();
-#endif
+
    // Sometimes PortAudio returns -1 if it cannot find a suitable default
    // device, so we just use the first one available
    if (recDeviceNum < 0)
@@ -1910,11 +1722,7 @@ int AudioIO::getPlayDevIndex(wxString devName )
    }
 
    int i;
-#if USE_PORTAUDIO_V19
    for (i = 0; i < Pa_GetDeviceCount(); i++)
-#else
-   for (i = 0; i < Pa_CountDevices(); i++)
-#endif
    {
       const PaDeviceInfo* info = Pa_GetDeviceInfo(i);
 
@@ -1928,11 +1736,7 @@ int AudioIO::getPlayDevIndex(wxString devName )
    // landing here, we either don't have a value in the preferences, or 
    // the stored / supplied value doesn't exist on the system. So we need to
    // use a default value
-#if USE_PORTAUDIO_V19
    int DeviceNum = Pa_GetDefaultOutputDevice();
-#else
-   int DeviceNum = Pa_GetDefaultOutputDeviceID();
-#endif
    // Sometimes PortAudio returns -1 if it cannot find a suitable default
    // device, so we just use the first one available
    if (DeviceNum < 0)
@@ -1951,19 +1755,12 @@ wxString AudioIO::GetDeviceInfo()
    }
 
 
-#if USE_PORTAUDIO_V19
    int recDeviceNum = Pa_GetDefaultInputDevice();
    int playDeviceNum = Pa_GetDefaultOutputDevice();
-#else
-   int recDeviceNum = Pa_GetDefaultInputDeviceID();
-   int playDeviceNum = Pa_GetDefaultOutputDeviceID();
-#endif
 
-#if USE_PORTAUDIO_V19
    int cnt = Pa_GetDeviceCount();
-#else
-   int cnt = Pa_CountDevices();
-#endif
+
+   wxLogDebug(wxT("Portaudio reports %d audio devices"),cnt);
 
    s << wxT("==============================") << e;
    s << wxT("Default capture device number: ") << recDeviceNum << e;
@@ -1996,12 +1793,11 @@ wxString AudioIO::GetDeviceInfo()
       s << wxT("Device name: ") << name << e;
       s << wxT("Input channels: ") << info->maxInputChannels << e;
       s << wxT("Output channels: ") << info->maxOutputChannels << e;
-#if USE_PORTAUDIO_V19
       s << wxT("Low Input Latency: ") << info->defaultLowInputLatency << e;
       s << wxT("Low Output Latency: ") << info->defaultLowOutputLatency << e;
       s << wxT("High Input Latency: ") << info->defaultHighInputLatency << e;
       s << wxT("High Output Latency: ") << info->defaultHighOutputLatency << e;
-#endif
+
       wxArrayLong rates = GetSupportedPlaybackRates(j, 0.0);
 
       s << wxT("Supported Rates:") << e;
@@ -2065,8 +1861,6 @@ wxString AudioIO::GetDeviceInfo()
 
       int error;
 
-#if USE_PORTAUDIO_V19
-
       PaStream *stream;
    
       PaStreamParameters playbackParameters;
@@ -2109,24 +1903,6 @@ wxString AudioIO::GetDeviceInfo()
                             paClipOff | paDitherOff,
                             audacityAudioCallback, NULL);
       }
-  
-#else // PA v18
-
-      PortAudioStream *stream;
-
-      error = Pa_OpenStream(&stream, recDeviceNum, 2, paFloat32, NULL,
-                         playDeviceNum, 2, paFloat32, NULL,
-                         highestSampleRate, 512, 1, paClipOff | paDitherOff,
-                         audacityAudioCallback, NULL);
-
-      if (error) {
-         error = Pa_OpenStream(&stream, recDeviceNum, 2, paFloat32, NULL,
-                            paNoDevice, 0, paFloat32, NULL,
-                            highestSampleRate, 512, 1, paClipOff | paDitherOff,
-                            audacityAudioCallback, NULL);
-      }
-
-#endif // PX v19/18
 
       if (error) {
          s << wxT("Recieved ") << error << wxT(" while opening devices") << e;
@@ -2196,12 +1972,12 @@ wxString AudioIO::GetDeviceInfo()
    
       s << wxT("==============================") << e;
       s << wxT("Capture volume is ") << (EmulateMixerInputVol? wxT("emulated"): wxT("native")) << e;
-      s << wxT("Capture volume is ") << (EmulateMixerOutputVol? wxT("emulated"): wxT("native")) << e;
+      s << wxT("Playback volume is ") << (EmulateMixerOutputVol? wxT("emulated"): wxT("native")) << e;
    
       Px_CloseMixer(PortMixer);
 
-#endif
       }  //end of massive if statement if a valid sample rate has been found
+#endif
    return o.GetString();
 }
 
@@ -2358,317 +2134,366 @@ void AudioIO::SetListener(AudioIOListener* listener)
    mListener = listener;
 }
 
-/* HCK MIDI PATCH START */
-/* REQUIRES PORTMIDI */
-//void AudioIO::FillMidiBuffers()
-//{
-//   long now = TIME_PROC(NULL);
-
-   // Buffering too quickly may cause a MIDI host buffer overflow
-   // so after every 5 seconds of data is buffered, we wait until
-   // just before that 5 seconds has been processed before buffering
-   // again.  
-   //
-   // A better way to do this would be to use PortMidi to query the
-   // host's state and only buffer as many events as the host can handle.
-//   if( mPlaybackTracks.IsEmpty() && !mUpdateMidiTracks )
-//   {
+#ifdef EXPERIMENTAL_MIDI_OUT
+
+void AudioIO::OutputEvent()
+{
+   int channel = (mNextEvent->chan) & 0xF; // must be in [0..15]
+   int command = -1;
+   int data1 = -1;
+   int data2 = -1;
+
+   //   printf("OutputEvent: now %d\n", TIME_PROC(NULL));
+         
+   if (mVC & (1 << channel)) { // if mNextEvent's channel is visible, play it
+      // Note event
+      if (mNextEvent->is_note() && !mSendMidiState) {
+         // Pitch and velocity
+         data1 = mNextEvent->get_pitch();
+         if (mNextIsNoteOn) data2 = mNextEvent->get_loud(); // get velocity
+         else data2 = 0; // 0 velocity means "note off"
+         command = 0x90; // MIDI NOTE ON (or OFF when velocity == 0)
+      // Update event
+      } else if (mNextEvent->is_update()) {
+         // this code is based on allegrosmfwr.cpp -- it could be improved
+         // by comparing attribute pointers instead of string compares
+         Alg_update_ptr update = (Alg_update_ptr) mNextEvent;
+         const char *name = update->get_attribute();
+               
+         if (!strcmp(name, "programi")) {
+            // Instrument change
+            data1 = update->parameter.i;
+            data2 = 0;
+            command = 0xC0; // MIDI PROGRAM CHANGE
+         } else if (!strncmp(name, "control", 7)) {
+            // Controller change
+
+            // The number of the controller being changed is embedded
+            // in the parameter name.
+            data1 = atoi(name + 7);
+            // Allegro normalizes controller values
+            data2 = ROUND(update->parameter.r * 127);
+            command = 0xB0;
+         } else if (!strcmp(name, "bendr")) {
+            // Bend change
+
+            // Reverse Allegro's post-processing of bend values
+            int temp = ROUND(0x2000 * (update->parameter.r + 1));
+            if (temp > 0x3fff) temp = 0x3fff; // 14 bits maximum
+            if (temp < 0) temp = 0;
+            data1 = temp & 0x7f; // low 7 bits
+            data2 = temp >> 7;   // high 7 bits
+            command = 0xE0; // MIDI PITCH BEND
+         } else if (!strcmp(name, "pressurer")) {
+            // Pressure change
+            data1 = (int) (update->parameter.r * 127);
+            if (update->get_identifier() < 0) {
+               // Channel pressure
+               data2 = 0;
+               command = 0xD0; // MIDI CHANNEL PRESSURE
+            } else {
+               // Key pressure
+               data2 = data1;
+               data1 = update->get_identifier();
+               command = 0xA0; // MIDI POLY PRESSURE
+            }
+         }
+      }
+      if (command != -1) {
+         // MIDI time is relative to the start of playback, but note times
+         // are relative to the start of the track. mT0 is the correction
+         // factor, because it's the time offset where playback started.
+         double time = mNextEventTime - mT0;
+         if (time < 0) time = 0;
+         PmTimestamp timestamp = (PmTimestamp) (time * 1000); /* s to ms */
+         Pm_WriteShort(mMidiStream, timestamp, 
+                       Pm_Message((int) (command + channel), 
+                                  (long) data1, (long) data2));
+         // printf("midi out: time %d msg %2x %3d %3d\n",
+         //       (PmTimestamp) (mNextEventTime * 1000), 
+         //       (command + channel), (long) data1, (long) data2);
+      }
+   }
+}
+
+void AudioIO::GetNextEvent()
+{
+   mNextEvent = mIterator->next(&mNextIsNoteOn);
+   if (mNextEvent) {
+      if (mNextIsNoteOn) {
+         mNextEventTime = mNextEvent->time;
+      } else {
+         mNextEventTime = mNextEvent->get_end_time();
+      }
+   } else {
+      mLastMidiTime = (int) (mNextEventTime * 1000);
+   }
+   // printf("after GetNextEvent: time %g, event %p, mLastMidiTime %d\n", 
+   //       mNextEventTime, mNextEvent, mLastMidiTime);
+}
+
+void AudioIO::FillMidiBuffers()
+{
+//   if (mPlaybackTracks.IsEmpty() && !mSendMidiState) {
 //      gAudioIO->mTime = (now - mCurrentMidiTime)/1000 + mT0;
 //   }
 
-//   if (now < mMidiWait)
-//   {
-//      return;
-//   }
+   // assume gAudioIO->mTime is the current time
+   // assume output MIDI data 1s in advance of real time (mTime)
+   // assume (for now) that midi time and sequence time are based at zero
+   // then we need to iterate and output Midi until next time > mTime + 1s
+
+   while (mNextEvent && 
+          mNextEvent->time < gAudioIO->mTime + MIDI_BUFFER_AHEAD) {
+      OutputEvent();
+      GetNextEvent();
+   }
+#ifdef OLD_CODE
+   if (now < mMidiWait) {
+      return;
+   }
+   int i, j, k, track, visibleChannels;
+   long channel, key, time;
+   float command, data1, data2;
+   double r;
+   char updateParameter[13];
+   bool forcedBreak = false;
+
+   visibleChannels = mVC;
+
+   if (mSeq) {
+      i = 0; // index of buffer
+      //testSeq->iteration_begin();
+
+      Alg_event_ptr currEvent;
+
+      while ( currEvent = mSeq->iteration_next() ) {
+         // TODO HCK : this loop has Russian painter problem
+         /*
+         // In Update mode, events should be delivered immediately
+         if (mSendMidiState) time = 0;
+         // Normal playback mode takes the given event times
+         else
+            //time = (currEvent->time - mT0) * 1000;
+            time = mCurrentMidiTime + ( currEvent->time - mT0 ) * 1000;
+         */
+
+         if (gAudioIO->mTime >= gAudioIO->mT1 && !gAudioIO->mPlayLooped) {
+            mMidiStreamActive = false;
+            // gAudioIO->mInCallbackFinishedState = true;
+            mStreamToken = 0;
+         }
+         
+         if (currEvent->time < mLastMidiTime / 1000) {
+            continue;
+         }
+
+         if (currEvent->time >= mT0) {
+            time = ( currEvent->time - mT0 ) * 1000 + mCurrentMidiTime;
+            if (mSendMidiState) {
+               mSendMidiState = false;
+               mCurrentMidiTime = TIME_PROC(NULL);
+            }
+         } else {
+            time = 0;
+         }
 
-//   Alg_seq *testSeq;
+         if (mCnt > 0) {
+            j = 0;
+            printf( "HCK : sorting...\n" );
+            qsort( mMidiQueue, mCnt, sizeof( PmEvent ), compareTime );
+            printf( "HCK : sorting...\n" );
+            for (int azaa = 0; azaa < mCnt; azaa++) {
+               printf( "HCK : SORT : %f %f\n", (float)mMidiQueue[azaa].timestamp, (float)time );
+            }
+            while (mMidiQueue[j].timestamp <= time) {
+               mMidiBuffer[i].timestamp = mMidiQueue[j].timestamp;
+               memcpy(&mMidiBuffer[i].message, &mMidiQueue[j].message,
+                      sizeof(PmMessage));
+               printf( "HCK : QUEUE!!!! : mCnt       : %d\n", mCnt );
+               printf( "HCK : QUEUE!!!! : j          : %d\n", j );
+               printf( "HCK : QUEUE!!!! : timestampQ : %f\n", (float)mMidiQueue[j].timestamp );
+               printf( "HCK : QUEUE!!!! : timestampB : %f\n", (float)mMidiBuffer[i].timestamp );
+               printf( "HCK : QUEUE!!!! : data Q     : %f\n", (float)mMidiQueue[j].message );
+               printf( "HCK : QUEUE!!!! : data B     : %f\n", (float)mMidiBuffer[i].message );
+               
+               i++;
+               j++;
+               mCnt--;
 
-//   int i, j, k, track, visibleChannels;
-//   long channel, key, time;
-//   float command, data1, data2;
-//   double r;
-//   char updateParameter[13];
-//   bool forcedBreak = false;
+               if (mCnt == 0) {
+                  break;
+               }
+            }
 
-//   visibleChannels = mVC;
-//   testSeq = mSeq;
+            if (j > 0 && mCnt > 0) {
+               memmove(&mMidiQueue[0], &mMidiQueue[j],
+                       sizeof( PmEvent ) * mCnt );
+            }
+         }
 
-   /*
-   for (track = 0; track < mMidiPlaybackTracks.GetCount(); track++) 
-   {
-      testSeq = mMidiPlaybackTracks[track]->GetSequence();
-      visibleChannels = mMidiPlaybackTracks[track]->GetVisibleChannels();
-   */
-
-//      if (testSeq) 
-//      {
-//         i = 0; // index of buffer
-         //testSeq->iteration_begin();
-
-//         Alg_event_ptr currEvent;
-
-//         while ( currEvent = testSeq->iteration_next() )
-//         {
-            // TODO HCK : this loop has Russian painter problem
-            /*
-            // In Update mode, events should be delivered immediately
-            if (mUpdateMidiTracks)
-               time = 0;
-            // Normal playback mode takes the given event times
-            else
-               //time = (currEvent->time - mT0) * 1000;
-               time = mCurrentMidiTime + ( currEvent->time - mT0 ) * 1000;
-            */
-
-//            if( gAudioIO->mTime >= gAudioIO->mT1 && !gAudioIO->mPlayLooped )
-//            {
-//               mMidiStreamActive = false;
-//               gAudioIO->mInCallbackFinishedState = true;
-//               mStreamToken = 0;
-//            }
-
-//            if( currEvent->time < mLastMidiTime / 1000 )
-//            {
-//               continue;
-//            }
-
-//            if( currEvent->time >= mT0 )
-//            {
-//               time = ( currEvent->time - mT0 ) * 1000 + mCurrentMidiTime;
-//               if( mUpdateMidiTracks )
-//               {
-//                  mUpdateMidiTracks = false;
-//                  mCurrentMidiTime = TIME_PROC(NULL);
-//               }
-//            }
-//            else
-//            {
-//               time = 0;
-//            }
-
-//            if( mCnt > 0 )
-//            {
-//               j = 0;
-//               printf( "HCK : sorting...\n" );
-//               qsort( mMidiQueue, mCnt, sizeof( PmEvent ), compareTime );
-//               printf( "HCK : sorting...\n" );
-//               for( int azaa = 0; azaa < mCnt; azaa++ )
-//               {
-//                  printf( "HCK : SORT : %f %f\n", (float)mMidiQueue[azaa].timestamp, (float)time );
-//               }
-//               while( mMidiQueue[j].timestamp <= time )
-//               {
-//                  mMidiBuffer[i].timestamp = mMidiQueue[j].timestamp;
-//                  memcpy( &mMidiBuffer[i].message, &mMidiQueue[j].message,
-//                     sizeof( PmMessage ) );
-
-//                  printf( "HCK : QUEUE!!!! : mCnt       : %d\n", mCnt );
-//                  printf( "HCK : QUEUE!!!! : j          : %d\n", j );
-//                  printf( "HCK : QUEUE!!!! : timestampQ : %f\n", (float)mMidiQueue[j].timestamp );
-//                  printf( "HCK : QUEUE!!!! : timestampB : %f\n", (float)mMidiBuffer[i].timestamp );
-//                  printf( "HCK : QUEUE!!!! : data Q     : %f\n", (float)mMidiQueue[j].message );
-//                  printf( "HCK : QUEUE!!!! : data B     : %f\n", (float)mMidiBuffer[i].message );
-
-//                  i++;
-//                  j++;
-//                  mCnt--;
-
-//                  if( mCnt == 0 )
-//                  {
-//                     break;
-//                  }
-//               }
-
-//               if( j > 0 && mCnt > 0 )
-//               {
-//                  memmove( &mMidiQueue[0], &mMidiQueue[j],
-//                     sizeof( PmEvent ) * mCnt );
-//               }
-//            }
-
-//            channel = currEvent->chan;
-//            command = data1 = data2 = -1;
-
-//            if (visibleChannels & (1 << channel))
-//            {
-//               // Note event
-//               if ( currEvent->get_type() == wxT('n') && mUpdateMidiTracks == false )
-//               {
-                  // Pitch and velocity
-//                  data1 = currEvent->get_pitch();
-//                  data2 = currEvent->get_loud();
-//                  command = 0x90;
-//               }
-               // Update event
-//               else if (currEvent->get_type() == wxT('u')) 
-//               {
-                  // Allegro update events are stored as name/value parameters
-                  // where names can also contain important MIDI values and the
-                  // value data type.  To make this as easy as possible, we
-                  // only look at the first four characters of each name to 
-                  // determine the command.
-//                  strcpy(updateParameter, 
-//                         ((Alg_update_ptr)currEvent)->parameter.attr_name());
-//                  updateParameter[4] = 0;
-
-//                  if (strcmp(updateParameter, "prog") == 0)
-//                  {
-                     // Instrument change
-
-//                     data1 = ((Alg_update_ptr)currEvent)->parameter.i;
-//                     data2 = 0;
-//                     command = 0xC0;
-//                  }
-//                  else if(strcmp(updateParameter, "cont") == 0 && mUpdateMidiTracks == false)
-//                  {
-                     // Controller change
-
-                     // The number of the controller being changed is embedded
-                     // in the parameter name so we grab the whole name, set the
-                     // index value to the position just after "control"
-//                     strcpy(updateParameter, 
-//                            ((Alg_update_ptr)currEvent)->parameter.attr_name());
-
-//                     k = 7;
-//                     data1 = 0;
-
-//                     while(updateParameter[k] != wxT('r'))
-//                     {
-//                        data1 = data1 * 10 + atoi(&updateParameter[k]);
-//                        k++;
-//                     }
-
-                     // Allegro normalizes controller values
-//                     data2 = ((Alg_update_ptr)currEvent)->parameter.r * 127;
-//                     command = 0xB0;
-//                  }
-//                  else if(strcmp(updateParameter, "bend") == 0 && mUpdateMidiTracks == false)
-//                  {
-                     // Bend change
-
-                     // Reverse Allegro's post-processing of bend values
-//                     r = (((Alg_update_ptr)currEvent)->parameter.r + 1) * 8192;
-                    
-//                     data1 = ((long)r) >> 7;
-//                     data2 = (((long)r) << 7) >> 7;
-//                     command = 0xE0;
-//                  }
-//                  else if(strcmp(updateParameter, "pres") == 0 && mUpdateMidiTracks == false)
-//                  {
-                     // Pressure change
-
-                     // Allegro normalizes pressures
-//                     r = ((Alg_update_ptr)currEvent)->parameter.r * 127;
-//                     key = currEvent->get_identifier();
-
-                     // Channel pressure
-//                     if (key == -1)
-//                     {
-//                        data1 = r;
-//                        data2 = 0;
-//                        command = 0xD0;
-//                     }
+         channel = currEvent->chan;
+         command = data1 = data2 = -1;
+         
+         if (visibleChannels & (1 << channel)) {
+            // Note event
+            if (currEvent->is_note() && mSendMidiState == false) {
+               // Pitch and velocity
+               data1 = currEvent->get_pitch();
+               data2 = currEvent->get_loud();
+               command = 0x90;
+            }
+            // Update event
+            else if (currEvent->is_update()) {
+               // Allegro update events are stored as name/value parameters
+               // where names can also contain important MIDI values and the
+               // value data type.  To make this as easy as possible, we
+               // only look at the first four characters of each name to 
+               // determine the command.
+               strcpy(updateParameter, 
+                      ((Alg_update_ptr)currEvent)->parameter.attr_name());
+               updateParameter[4] = 0;
+               
+               if (strcmp(updateParameter, "prog") == 0) {
+                  // Instrument change
+                  
+                  data1 = ((Alg_update_ptr)currEvent)->parameter.i;
+                  data2 = 0;
+                  command = 0xC0;
+               } else if (strcmp(updateParameter, "cont") == 0 &&
+                          mSendMidiState == false) {
+                  // Controller change
+
+                  // The number of the controller being changed is embedded
+                  // in the parameter name so we grab the whole name, set the
+                  // index value to the position just after "control"
+                  strcpy(updateParameter, 
+                         ((Alg_update_ptr)currEvent)->parameter.attr_name());
+
+                  k = 7;
+                  data1 = 0;
+
+                  while (updateParameter[k] != wxT('r')) {
+                     data1 = data1 * 10 + atoi(&updateParameter[k]);
+                     k++;
+                  }
+
+                  // Allegro normalizes controller values
+                  data2 = ((Alg_update_ptr)currEvent)->parameter.r * 127;
+                  command = 0xB0;
+               } else if (strcmp(updateParameter, "bend") == 0 &&
+                          mSendMidiState == false) {
+                  // Bend change
+
+                  // Reverse Allegro's post-processing of bend values
+                  r = (((Alg_update_ptr)currEvent)->parameter.r + 1) * 8192;
+
+                  data1 = ((long)r) >> 7;
+                  data2 = (((long)r) << 7) >> 7;
+                  command = 0xE0;
+               } else if (strcmp(updateParameter, "pres") == 0 && 
+                          mSendMidiState == false) {
+                  // Pressure change
+
+                  // Allegro normalizes pressures
+                  r = ((Alg_update_ptr)currEvent)->parameter.r * 127;
+                  key = currEvent->get_identifier();
+
+                  // Channel pressure
+                  if (key == -1) {
+                     data1 = r;
+                     data2 = 0;
+                     command = 0xD0;
+                  } else {
                      // Key pressure
-//                     else 
-//                     {
-//                        data1 = key;
-//                        data2 = r;
-//                        command = 0xA0;
-//                     }
-//                  }
-//               }
-//            }
-
-//            if (command != -1)
-//            {
-//               mMidiBuffer[i].timestamp = time;
-//               mMidiBuffer[i].message = Pm_Message((int)(command + channel), (long)data1, (long)data2);
-//               printf( "HCK[%d]\n", i );
-//               printf( "Command     : %d\n", (int)command );
-//               printf( "mTime       : %f\n", (float)gAudioIO->mTime );
-//               printf( "TimeStamp   : %f\n", (float)mMidiBuffer[i].timestamp );
-//               printf( "CurMidiTime : %f\n", (float)mCurrentMidiTime );
-//               printf( "LastMidiTime: %f\n", (float)mLastMidiTime );
-//               printf( "MidiWait    : %f\n", (float)mMidiWait );
-//               printf( "Time        : %f\n", (float)TIME_PROC(NULL) );
-//               i++;
-//               if( command == 0x90 )
-//               {
-//                  mMidiQueue[mCnt].timestamp = time + (long)currEvent->get_duration() * 1000;
-//                  mMidiQueue[mCnt].message = Pm_Message((int)(0x90 + channel), (long)data1, 0 );
-//                  printf( "HCK QUEUE[%d]\n", mCnt );
-//                  printf( "Command     : OFF\n" );
-//                  printf( "mTime       : %f\n", (float)gAudioIO->mTime );
-//                  printf( "TimeStamp   : %f\n", (float)mMidiQueue[mCnt].timestamp );
-//                  printf( "CurMidiTime : %f\n", (float)mCurrentMidiTime );
-//                  printf( "LastMidiTime: %f\n", (float)mLastMidiTime );
-//                  printf( "MidiWait    : %f\n", (float)mMidiWait );
-//                  printf( "Time        : %f\n", (float)TIME_PROC(NULL) );
-//                  mCnt++;
-//               }
-//               else
-//                  fprintf(stderr, "command: %s\n", updateParameter);
-//            }
-
-            // Turn off updates when we reach the selection beginning
-            /*
-            if (mUpdateMidiTracks)
-            {
-               if (i == 0 && i > testSeq->seek_time(mT0, track))
-               {
-                  // The first 1/10 of the file has been processed
-                  // so just to 5 seconds before cursor to avoid lag
-                  notesOn = true;
-                  i = testSeq->seek_time(mT0, track);
-                  fprintf(stderr, "%li: Stop processing updates\n", TIME_PROC(NULL));
+                     data1 = key;
+                     data2 = r;
+                     command = 0xA0;
+                  }
                }
             }
-            */
-            // Stop when:
-            // 1. enough events are buffered
-            // 2. there are no more events to buffer
-            //if (i >= endIndex || i == testSeq->length())
-//            if( i >= MAX_MIDI_BUFFER_SIZE - 1 )
-//            {
-//               if( !mUpdateMidiTracks )
-//               {
-//                  printf( "HCK : Pm_Write : 111111111\n" );
-                  //qsort( mMidiBuffer, i, sizeof( PmEvent ), compareTime );
-//                  Pm_Write(mMidiStream, mMidiBuffer, i);
-//                  mMidiWait = time - 1000;
-//               }
-//               i = 0;
-//               mLastMidiTime = currEvent->time * 1000;
-//               forcedBreak = true;
-//               break;
-//            }  
-//            else if( currEvent->time * 1000 >= mLastMidiTime + 2000 )
-//            {
-//               if( !mUpdateMidiTracks )
-//               {
-//                  printf( "HCK : Pm_Write : 222222222\n" );
-                  //qsort( mMidiBuffer, i, sizeof( PmEvent ), compareTime );
-//                  Pm_Write( mMidiStream, mMidiBuffer, i );
-//                  mMidiWait = time - 1000;
-//               }
-//               i = 0;
-//               mLastMidiTime = currEvent->time * 1000;
-//               forcedBreak = true;
-//               break;
-//            }
-//         }  // End of While
+         }
+
+         if (command != -1) {
+            mMidiBuffer[i].timestamp = time;
+            mMidiBuffer[i].message = Pm_Message((int)(command + channel), 
+                                                (long)data1, (long)data2);
+            printf( "HCK[%d]\n", i );
+            printf( "Command     : %d\n", (int)command );
+            printf( "mTime       : %f\n", (float)gAudioIO->mTime );
+            printf( "TimeStamp   : %f\n", (float)mMidiBuffer[i].timestamp );
+            printf( "CurMidiTime : %f\n", (float)mCurrentMidiTime );
+            printf( "LastMidiTime: %f\n", (float)mLastMidiTime );
+            printf( "MidiWait    : %f\n", (float)mMidiWait );
+            printf( "Time        : %f\n", (float)TIME_PROC(NULL) );
+            i++;
+            if (command == 0x90) {
+               mMidiQueue[mCnt].timestamp =
+                  time + (long)currEvent->get_duration() * 1000;
+               mMidiQueue[mCnt].message = Pm_Message((int)(0x90 + channel),
+                                                     (long)data1, 0 );
+               printf( "HCK QUEUE[%d]\n", mCnt );
+               printf( "Command     : OFF\n" );
+               printf( "mTime       : %f\n", (float)gAudioIO->mTime );
+               printf( "TimeStamp   : %f\n", (float)mMidiQueue[mCnt].timestamp );
+               printf( "CurMidiTime : %f\n", (float)mCurrentMidiTime );
+               printf( "LastMidiTime: %f\n", (float)mLastMidiTime );
+               printf( "MidiWait    : %f\n", (float)mMidiWait );
+               printf( "Time        : %f\n", (float)TIME_PROC(NULL) );
+               mCnt++;
+            } else
+               fprintf(stderr, "command: %s\n", updateParameter);
+         }
+         
+         // Turn off updates when we reach the selection beginning
+         /*
+           if (mSendMidiState) {
+              if (i == 0 && i > testSeq->seek_time(mT0, track)) {
+                 // The first 1/10 of the file has been processed
+                 // so just to 5 seconds before cursor to avoid lag
+                 notesOn = true;
+                 i = testSeq->seek_time(mT0, track);
+                 fprintf(stderr, "%li: Stop processing updates\n", TIME_PROC(NULL));
+              }
+           }
+         */
+         // Stop when:
+         // 1. enough events are buffered
+         // 2. there are no more events to buffer
+         //if (i >= endIndex || i == testSeq->length())
+         if (i >= MAX_MIDI_BUFFER_SIZE - 1) {
+            if (!mSendMidiState) {
+               printf( "HCK : Pm_Write : 111111111\n" );
+               qsort( mMidiBuffer, i, sizeof( PmEvent ), compareTime );
+               Pm_Write(mMidiStream, mMidiBuffer, i);
+               mMidiWait = time - 1000;
+            }
+            i = 0;
+            mLastMidiTime = currEvent->time * 1000;
+            forcedBreak = true;
+            break;
+         } else if (currEvent->time * 1000 >= mLastMidiTime + 2000) {
+            if (!mSendMidiState) {
+               printf( "HCK : Pm_Write : 222222222\n" );
+               qsort( mMidiBuffer, i, sizeof( PmEvent ), compareTime );
+               Pm_Write( mMidiStream, mMidiBuffer, i );
+               mMidiWait = time - 1000;
+            }
+            i = 0;
+            mLastMidiTime = currEvent->time * 1000;
+            forcedBreak = true;
+            break;
+         }
+      }  // End of While
          //testSeq->iteration_end();
-//         if( !forcedBreak ) // this means there are no more event in testSeq.
-//         {
-//            mMidiStreamActive = false;
-//            gAudioIO->mInCallbackFinishedState = true;
-//         }
-//      } // End of if( testSeq )
-   /*
-   }
-   */
-//}
-/* HCK MIDI PATCH END */
+      if (!forcedBreak ) { // this means there are no more event in testSeq.
+         mMidiStreamActive = false;
+         // gAudioIO->mInCallbackFinishedState = true;
+      }
+   } // End of if( mSeq )
+#endif // OLD_CODE
+}
+#endif
 
 //////////////////////////////////////////////////////////////////////
 //
@@ -2706,19 +2531,10 @@ void DoSoftwarePlaythrough(const void *inputBuffer,
    
 }
 
-#if USE_PORTAUDIO_V19
 int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
                           unsigned long framesPerBuffer,
                           const PaStreamCallbackTimeInfo *timeInfo,
                           const PaStreamCallbackFlags statusFlags, void *userData )
-#else
-
-#define paContinue 0
-
-int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
-                          unsigned long framesPerBuffer,
-                          PaTimestamp outTime, void *userData )
-#endif
 {
    int numPlaybackChannels = gAudioIO->mNumPlaybackChannels;
    int numPlaybackTracks = gAudioIO->mPlaybackTracks.GetCount();
@@ -2908,12 +2724,7 @@ int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
             if (len == 0 && gAudioIO->mTime >= gAudioIO->mT1 &&
                 !gAudioIO->mPlayLooped)
             {
-             #if USE_PORTAUDIO_V19
                callbackReturn = paComplete;
-             #else
-               callbackReturn = 1;
-               gAudioIO->mInCallbackFinishedState = true;
-             #endif
             }
 
             if (vt->GetChannel() == Track::LeftChannel ||
@@ -3048,7 +2859,6 @@ int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
       // Record the reported latency from PortAudio.
       // TODO: Don't recalculate this with every callback?
 
-     #if USE_PORTAUDIO_V19
       // 01/21/2009:  Disabled until a better solution presents itself.
      #if 0
       // As of 06/17/2006, portaudio v19 returns inputBufferAdcTime set to
@@ -3073,12 +2883,6 @@ int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
          }
       }
      #endif
-     #else
-      if (numCaptureChannels > 0 && numPlaybackChannels > 0)
-         gAudioIO->mLastRecordingOffset = (Pa_StreamTime(gAudioIO->mPortStreamV18) - outTime) / gAudioIO->mRate;
-      else
-         gAudioIO->mLastRecordingOffset = 0;
-     #endif
    } // if mStreamToken > 0
    else {
       // No tracks to play, but we should clear the output, and
@@ -3126,11 +2930,12 @@ int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
    return callbackReturn;
 }
 
-/* REQUIRES PORTMIDI */
-//int compareTime( const void* a, const void* b )
-//{
-//   return( (int)((*(PmEvent*)a).timestamp - (*(PmEvent*)b).timestamp ) );
-//}
+#ifdef EXPERIMENTAL_MIDI_OUT
+int compareTime( const void* a, const void* b )
+{
+   return( (int)((*(PmEvent*)a).timestamp - (*(PmEvent*)b).timestamp ) );
+}
+#endif
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
@@ -3142,4 +2947,3 @@ int audacityAudioCallback(void *inputBuffer, void *outputBuffer,
 //
 // vim: et sts=3 sw=3
 // arch-tag: 7ee3c9aa-b58b-4069-8a07-8866f2303963
-
diff --git a/src/AudioIO.h b/src/AudioIO.h
index 6c46c9a..3661ce8 100644
--- a/src/AudioIO.h
+++ b/src/AudioIO.h
@@ -15,10 +15,13 @@
 
 #include "portaudio.h"
 #include "Audacity.h"
+#include "Experimental.h"
 
 #ifdef USE_MIDI
-//#include "portmidi.h"
-//#include "porttime.h"
+#ifdef EXPERIMENTAL_MIDI_OUT
+#include "portmidi.h"
+#include "porttime.h"
+#endif // EXPERIMENTAL_MIDI_OUT
 #include "allegro.h"
 #endif // USE_MIDI
 
@@ -41,7 +44,7 @@ class AudioThread;
 class Meter;
 class TimeTrack;
 
-extern AudioIO *gAudioIO;
+extern AUDACITY_DLL_API AudioIO *gAudioIO;
 
 void InitAudioIO();
 void DeinitAudioIO();
@@ -64,7 +67,7 @@ public:
 #define DEFAULT_LATENCY_DURATION 100.0
 #define DEFAULT_LATENCY_CORRECTION -130.0
 
-class AudioIO {
+class AUDACITY_DLL_API AudioIO {
 
  public:
    AudioIO();
@@ -89,8 +92,9 @@ class AudioIO {
     * instance.  For use with IsStreamActive() below */
 
    int StartStream(WaveTrackArray playbackTracks, WaveTrackArray captureTracks,
-/* REQUIRES PORTMIDI */
-                   //NoteTrackArray midiTracks,
+#ifdef EXPERIMENTAL_MIDI_OUT
+                   NoteTrackArray *midiTracks,
+#endif
                    TimeTrack *timeTrack, double sampleRate,
                    double t0, double t1,
                    AudioIOListener* listener,
@@ -123,6 +127,12 @@ class AudioIO {
    bool IsStreamActive();
    bool IsStreamActive(int token);
 
+#ifdef EXPERIMENTAL_MIDI_OUT
+   /** \brief Are any Note tracks playing MIDI?
+    */
+   bool IsMidiActive(); // 
+#endif
+
    /** \brief Returns true if the stream is active, or even if audio I/O is
     * busy cleaning up its data or writing to disk.
     *
@@ -155,7 +165,7 @@ class AudioIO {
     * soundcard mixer (driven by PortMixer) */
    wxArrayString GetInputSourceNames();
 
-   /** \Brief update state after changing what audio devices are selected 
+   /** \brief update state after changing what audio devices are selected 
     *
     * Called when the devices stored in the preferences are changed to update
     * the audio mixer capabilities
@@ -284,14 +294,14 @@ private:
                              unsigned int numPlaybackChannels,
                              unsigned int numCaptureChannels,
                              sampleFormat captureFormat);
-
-/* REQUIRES PORTMIDI */
-//   bool StartPortMidiStream();
-
    void FillBuffers();
 
-/* REQUIRES PORTMIDI */
-//   void  FillMidiBuffers();
+#ifdef EXPERIMENTAL_MIDI_OUT
+   bool StartPortMidiStream();
+   void OutputEvent();
+   void FillMidiBuffers();
+   void GetNextEvent();
+#endif
 
    /** \brief Get the number of audio samples free in all of the playback
     * buffers.
@@ -336,20 +346,32 @@ private:
 
    double NormalizeStreamTime(double absoluteTime) const;
 
-//   MIDI_PLAYBACK:
-//   PmStream           *mMidiStream;
-//   PmEvent             mMidiBuffer[MAX_MIDI_BUFFER_SIZE];
-//   PmEvent             mMidiQueue[MAX_MIDI_BUFFER_SIZE];
-//   PmError             mLastPmError;
-//   long                mCurrentMidiTime;
-//   long                mLastMidiTime;
-//   Alg_seq             *mSeq;
-//   int                 mVC;   // Visible Channel
-//   int                 mCnt;
-//   long                mMidiWait;
-//   bool                mMidiStreamActive;
-//   bool                mUpdateMidiTracks;
+#ifdef EXPERIMENTAL_MIDI_OUT
+   //   MIDI_PLAYBACK:
+   PmStream           *mMidiStream;
+   //   PmEvent             mMidiBuffer[MAX_MIDI_BUFFER_SIZE];
+   //   PmEvent             mMidiQueue[MAX_MIDI_BUFFER_SIZE];
+   PmError             mLastPmError;
+   long                mCurrentMidiTime;
+   long                mMidiLatency; // latency value for PortMidi
+   long                mLastMidiTime; // timestamp of last midi message
+   Alg_seq_ptr         mSeq;
+   Alg_iterator_ptr    mIterator;
+   Alg_event_ptr       mNextEvent; // the next event to play (or null)
+   double              mNextEventTime; // the time of the next event
+                       // (note that this could be a note's time+duration)
+   bool                mNextIsNoteOn; // is the next event a note-off?
+   int                 mVC;   // Visible Channel mask
+   //   int                 mCnt;
+   long                mMidiWait;
+   bool                mMidiStreamActive;
+   // when true, mSendMidiState means send only updates, not note-on's,
+   // used to send state changes that precede the selected notes
+   bool                mSendMidiState;
+   NoteTrackArray      *mMidiPlaybackTracks;
+   //   NoteTrackArray      mMidiCaptureTracks;
 
+#endif
    AudioThread        *mThread;
    Resample          **mResample;
    RingBuffer        **mCaptureBuffers;
@@ -357,11 +379,6 @@ private:
    RingBuffer        **mPlaybackBuffers;
    WaveTrackArray      mPlaybackTracks;
 
-/* REQUIRES PORTMIDI */
-//   NoteTrackArray      mMidiPlaybackTracks;
-//   RingBuffer        **mMidiPlaybackBuffers;
-//   NoteTrackArray      mMidiCaptureTracks;
-
    Mixer             **mPlaybackMixers;
    int                 mStreamToken;
    int                 mStopStreamCount;
@@ -369,9 +386,9 @@ private:
    double              mFactor;
    double              mRate;
    double              mT;
-   double              mT0;
-   double              mT1;
-   double              mTime;
+   double              mT0; // playback starts at offset of mT0
+   double              mT1; // and ends at offset of mT1
+   double              mTime; // current time position during playback
    double              mWarpedT1;
    double              mSeek;
    double              mPlaybackRingBufferSecs;
@@ -379,15 +396,7 @@ private:
    double              mMaxPlaybackSecsToCopy;
    double              mMinCaptureSecsToCopy;
    bool                mPaused;
-#if USE_PORTAUDIO_V19
    PaStream           *mPortStreamV19;
-/* REQUIRES PORTMIDI */
-//   volatile bool       mInCallbackFinishedState;
-
-#else /* USE_PORTAUDIO_V19 */
-   PortAudioStream    *mPortStreamV18;
-   volatile bool       mInCallbackFinishedState;
-#endif /* USE_PORTAUDIO_V19 */
    bool                mSoftwarePlaythrough;
    bool                mPauseRec;
    float               mSilenceLevel;
@@ -435,8 +444,7 @@ private:
    friend void DeinitAudioIO();
 
    TimeTrack *mTimeTrack;
-   
-#if USE_PORTAUDIO_V19
+
    /** brief The function which is called from PortAudio's callback thread
     * context to collect and deliver audio for / from the sound device.
     *
@@ -445,24 +453,25 @@ private:
     * with the two buffers needs some care to ensure that the right things
     * happen for all possible cases.
     * @param inputBuffer Buffer of length framesPerBuffer containing samples
-    * from the sound card, or null if not capturing audio.
+    * from the sound card, or null if not capturing audio. Note that the data
+    * type will depend on the format of audio data that was chosen when the
+    * stream was created (so could be floats or various integers)
     * @param outputBuffer Uninitialised buffer of length framesPerBuffer which
     * will be sent to the sound card after the callback, or null if not playing
     * audio back.
     * @param framesPerBuffer The length of the playback and recording buffers
+    * @param PaStreamCallbackTimeInfo Pointer to PortAudio time information
+    * structure, which tells us how long we have been playing / recording
+    * @param statusFlags PortAudio stream status flags
+    * @param userData pointer to user-defined data structure. Provided for
+    * flexibility by PortAudio, but not used by Audacity - the data is stored in
+    * the AudioIO class instead.
     */
    friend int audacityAudioCallback(
                 const void *inputBuffer, void *outputBuffer,
                 unsigned long framesPerBuffer,
                 const PaStreamCallbackTimeInfo *timeInfo,
                 PaStreamCallbackFlags statusFlags, void *userData );
-#else /* USE_PORTAUDIO_V19 */
-   friend int audacityAudioCallback(
-                void *inputBuffer, void *outputBuffer,
-                unsigned long framesPerBuffer,
-                PaTimestamp outTime, void *userData );
-#endif /* USE_PORTAUDIO_V19 */
-
 };
 
 #endif
diff --git a/src/AutoRecovery.cpp b/src/AutoRecovery.cpp
index 5751832..63ef435 100644
--- a/src/AutoRecovery.cpp
+++ b/src/AutoRecovery.cpp
@@ -158,7 +158,7 @@ static bool RemoveAllAutoSaveFiles()
 {
    wxArrayString files;
    wxDir::GetAllFiles(FileNames::AutoSaveDir(), &files,
-                      _T("*.autosave"), wxDIR_FILES);
+                      wxT("*.autosave"), wxDIR_FILES);
 
    for (unsigned int i = 0; i < files.GetCount(); i++)
    {
@@ -191,7 +191,7 @@ static bool RecoverAllProjects(AudacityProject** pproj)
    
    wxArrayString files;
    wxDir::GetAllFiles(FileNames::AutoSaveDir(), &files,
-                      _T("*.autosave"), wxDIR_FILES);
+                      wxT("*.autosave"), wxDIR_FILES);
 
    for (unsigned int i = 0; i < files.GetCount(); i++)
    {
@@ -209,7 +209,7 @@ static bool RecoverAllProjects(AudacityProject** pproj)
       // Open project. When an auto-save file has been opened successfully,
       // the opened auto-save file is automatically deleted and a new one
       // is created.
-      proj->OpenFile(files[i]);
+      proj->OpenFile(files[i], false);
    }
    
    return true;
diff --git a/src/BatchCommands.cpp b/src/BatchCommands.cpp
index 5d70589..f56d01d 100644
--- a/src/BatchCommands.cpp
+++ b/src/BatchCommands.cpp
@@ -251,7 +251,7 @@ void BatchCommands::SetWavToMp3Chain()
 // Gets all commands that are valid for this mode.
 wxArrayString BatchCommands::GetAllCommands()
 {
-   wxArrayString commands(true);
+   wxArrayString commands;
    wxString command;
    commands.Clear();
 
@@ -315,7 +315,6 @@ bool BatchCommands::PromptForParamsFor(wxString command)
    //mFactory = factory;
    //mProjectRate = projectRate;
    f->mParent = NULL;
-   f->mWaveTracks = NULL;
    //mTracks = list;
    return f->PromptUser();
 }
@@ -514,13 +513,10 @@ bool BatchCommands::SetCurrentParametersFor( Effect * f, const wxString command,
 
 bool BatchCommands::ApplyEffectCommand(   Effect * f, const wxString command, const wxString params)
 {
-   if( !SetCurrentParametersFor( f, command, params ))
-      return false;
    //Possibly end processing here, if in batch-debug
    if( ReportAndSkip(command, params))
       return true;
 
-   //Parmeters are set, nearly ready to apply the effect...
    AudacityProject *project = GetActiveProject();
 
    //FIX-ME: for later versions may want to not select-all in batch mode.
@@ -529,7 +525,7 @@ bool BatchCommands::ApplyEffectCommand(   Effect * f, const wxString command, co
    project->SelectAllIfNone();
 
    // NOW actually apply the effect.
-   return project->OnEffect(ALL_EFFECTS | CONFIGURED_EFFECT , f);
+   return project->OnEffect(ALL_EFFECTS | CONFIGURED_EFFECT , f, params, false);
 }
 
 bool BatchCommands::ApplyMenuCommand(const wxString command, const wxString params)
@@ -596,8 +592,34 @@ bool BatchCommands::ApplyChain(const wxString & filename)
    }
 
    mFileName.Empty();
+   AudacityProject *proj = GetActiveProject();
 
-   return res;
+   if (!res)
+   {
+      // Chain failed or was cancelled; revert to the previous state
+      UndoManager *um = proj->GetUndoManager();
+      proj->SetStateTo(um->GetCurrentState());
+      return false;
+   }
+
+   // Chain was successfully applied; save the new project state
+   wxString longDesc, shortDesc;
+   wxString name = gPrefs->Read(wxT("/Batch/ActiveChain"), wxEmptyString);
+   if (name.IsEmpty())
+   {
+      longDesc = wxT("Applied batch chain");
+      shortDesc = wxT("Apply chain");
+   }
+   else
+   {
+      longDesc = wxString::Format(wxT("Applied batch chain '%s'"), name.c_str());
+      shortDesc = wxString::Format(wxT("Apply '%s'"), name.c_str());
+   }
+
+   if (!proj)
+      return false;
+   proj->PushState(longDesc, shortDesc);
+   return true;
 }
 
 // AbortBatch() allows a premature terminatation of a batch.
diff --git a/src/BatchProcessDialog.cpp b/src/BatchProcessDialog.cpp
index a40e2b3..3498404 100644
--- a/src/BatchProcessDialog.cpp
+++ b/src/BatchProcessDialog.cpp
@@ -40,6 +40,7 @@
 #include "effects/Effect.h"
 #include "../images/Arrow.xpm"
 #include "BatchCommands.h"
+#include "UndoManager.h"
 
 #include "Theme.h"
 #include "AllThemeResources.h"
@@ -178,8 +179,6 @@ void BatchProcessDialog::OnApplyToProject(wxCommandEvent &event)
    if (!mBatchCommands.ApplyChain()) {
       return;
    }
-
-   EndModal(true);
 }
 
 void BatchProcessDialog::OnApplyToFiles(wxCommandEvent &event)
@@ -293,10 +292,10 @@ void BatchProcessDialog::OnApplyToFiles(wxCommandEvent &event)
       if (!d.IsShown() || mAbort) {
          break;
       }
+      UndoManager *um = project->GetUndoManager();
+      um->ClearStates();
    }
    project->OnRemoveTracks();
-
-   EndModal(true);
 }
 
 void BatchProcessDialog::OnCancel(wxCommandEvent &event)
@@ -450,9 +449,9 @@ void EditChainsDialog::PopulateOrExchange(ShuttleGui & S)
          //can't be right aligned.
          mList->InsertColumn(BlankColumn, wxT(""), wxLIST_FORMAT_LEFT);
          /* i18n-hint: This is the number of the command in the list */
-         mList->InsertColumn(ItemNumberColumn, _("No"), wxLIST_FORMAT_RIGHT);
-         mList->InsertColumn(ActionColumn, _NoAcc("&Command"), wxLIST_FORMAT_RIGHT);
-         mList->InsertColumn(ParamsColumn, _NoAcc("&Parameters"), wxLIST_FORMAT_LEFT);
+         mList->InsertColumn(ItemNumberColumn, _("Num"), wxLIST_FORMAT_RIGHT);
+         mList->InsertColumn(ActionColumn, _("Command"), wxLIST_FORMAT_RIGHT);
+         mList->InsertColumn(ParamsColumn, _("Parameters"), wxLIST_FORMAT_LEFT);
 
          S.StartHorizontalLay(wxCENTER, false);
          {
diff --git a/src/CrossFade.cpp b/src/CrossFade.cpp
index 5045233..0664015 100644
--- a/src/CrossFade.cpp
+++ b/src/CrossFade.cpp
@@ -77,7 +77,7 @@ bool CrossFader::CrossFadeMix(samplePtr buffer, sampleFormat format, sampleCount
   WaveClip * tmpclip = NULL;
   Sequence * tmp = NULL;
   
-  WaveClipList::Node * it;
+  WaveClipList::compatibility_iterator  it;
   
   
   //Go through each clip, adding it to the total in the appropriate way.
diff --git a/src/Dependencies.cpp b/src/Dependencies.cpp
index fd6371e..01f989b 100644
--- a/src/Dependencies.cpp
+++ b/src/Dependencies.cpp
@@ -52,7 +52,7 @@ void GetAllSeqBlocks(AudacityProject *project,
    while (t) {
       if (t->GetKind() == Track::Wave) {
          WaveTrack *waveTrack = (WaveTrack *)t;
-         WaveClipList::Node* node = waveTrack->GetClipIterator();
+         WaveClipList::compatibility_iterator node = waveTrack->GetClipIterator();
          while(node) {
             WaveClip *clip = node->GetData();
             Sequence *sequence = clip->GetSequence();
@@ -156,6 +156,7 @@ bool RemoveDependencies(AudacityProject *project,
    BlockArray blocks;
    GetAllSeqBlocks(project, &blocks);
 
+   int updateResult = eProgressSuccess;
    for(i=0; i<blocks.GetCount(); i++) {
       BlockFile *f = blocks[i]->f;
       if (f->IsAlias() && !blockFileHash[f]) {
@@ -185,7 +186,9 @@ bool RemoveDependencies(AudacityProject *project,
          cancelled = !mProgress->Update(i, fileTotalFrames);
          if (cancelled)
             break;*/
-         progress->Update(completedBytes, totalBytesToProcess);
+         updateResult = progress->Update(completedBytes, totalBytesToProcess);
+         if (updateResult != eProgressSuccess)
+           break;
       }
    }
 
diff --git a/src/DirManager.cpp b/src/DirManager.cpp
index b3dac23..17115d3 100644
--- a/src/DirManager.cpp
+++ b/src/DirManager.cpp
@@ -122,20 +122,18 @@ DirManager::DirManager()
       for(i=0; i< 256; i++) dirTopPool[i]=0;
    }
 
+   //create a temporary null log to capture the log dialog
+   //that wxGetDiskSpace creates.  It gets destroyed when
+   //it goes out of context.
+   //JKC: Please explain why.
+   wxLogNull logNo;
+
    // Make sure there is plenty of space for temp files
    wxLongLong freeSpace = 0;
-
-   {
-      //create a temporary null log to capture the log dialog
-      //that wxGetDiskSpace creates.  It gets destroyed when
-      //it goes out of context.
-		//JKC: Please explain why.
-      wxLogNull logNo;
-      if (wxGetDiskSpace(globaltemp, NULL, &freeSpace)) {
-         if (freeSpace < 1048576) {
-            ShowWarningDialog(NULL, wxT("DiskSpaceWarning"),
-                              _("Warning: there is very little free disk space left on this volume.\nPlease select another temporary directory in your preferences."));
-         }
+   if (wxGetDiskSpace(globaltemp, NULL, &freeSpace)) {
+      if (freeSpace < wxLongLong(wxLL(100 * 1048576))) {
+         ShowWarningDialog(NULL, wxT("DiskSpaceWarning"),
+                           _("There is very little free disk space left on this volume.\nPlease select another temporary directory in Preferences."));
       }
    }
 }
@@ -806,6 +804,10 @@ BlockFile *DirManager::CopyBlockFile(BlockFile *b)
 {
    if (!b->IsLocked()) {
       b->Ref();
+		//mchinen:July 13 2009 - not sure about this, but it needs to be added to the hash to be able to save if not locked.
+		//note that this shouldn't hurt blockFileHash's that already contain the filename, since it should just overwrite.
+		//but it's something to watch out for.
+		blockFileHash[b->GetFileName().GetName()]=b;
       return b;
    }
 
@@ -1565,6 +1567,12 @@ void DirManager::FillBlockfilesCache()
    if (!cacheBlockFiles)
       return; // user opted not to cache block files
 
+   int lowMem = gPrefs->Read(wxT("/Directories/CacheLowMem"), 16l);
+   if (lowMem < 16) {
+      lowMem = 16;
+   }
+   lowMem <<= 20;
+
    BlockHash::iterator i;
    int numNeed = 0;
 
@@ -1588,8 +1596,10 @@ void DirManager::FillBlockfilesCache()
    while (i != blockFileHash.end())
    {
       BlockFile *b = i->second;
-      if (b->GetNeedFillCache())
+      if (b->GetNeedFillCache() && (wxGetFreeMemory() > lowMem)) {
          b->FillCache();
+      }
+
       if (!progress.Update(current, numNeed))
          break; // user cancelled progress dialog, stop caching
       i++;
diff --git a/src/Dither.cpp b/src/Dither.cpp
index fe4e66c..c87faf6 100644
--- a/src/Dither.cpp
+++ b/src/Dither.cpp
@@ -187,17 +187,6 @@ void Dither::Apply(enum DitherType ditherType,
             }
         }
 
-        if (destFormat == floatSample)
-        {
-            // Only float samples can contain a value that
-            // must be clipped.
-            float* p = (float*)dest;
-            for (i = 0; i < len; i++, p++)
-                if (*p > 1.0)
-                    *p = 1.0;
-                else if (*p < -1.0)
-                    *p = -1.0;
-        }
     } else
     if (destFormat == floatSample)
     {
diff --git a/src/Envelope.cpp b/src/Envelope.cpp
index 509ec77..08e5001 100644
--- a/src/Envelope.cpp
+++ b/src/Envelope.cpp
@@ -158,22 +158,15 @@ double Envelope::fromDB(double value) const
    return pow(10.0, ((fabs(value) * envdBRange) - envdBRange) / 20.0)*sign;;
 }
 
-void DrawPoint(wxDC & dc, wxRect & r, int x, int y, bool top, bool contour)
+void DrawPoint(wxDC & dc, const wxRect & r, int x, int y, bool top)
 {
    if (y >= 0 && y <= r.height) {
-      if(contour){
-         wxRect circle(r.x + x - 2, r.y + y - 2,
-                       4, 4);
-         dc.DrawEllipse(circle);
-      }else{
-         wxRect circle(r.x + x - 2, r.y + (top? y-1: y-4),
-                       4, 4);
-         dc.DrawEllipse(circle);
-      }
+      wxRect circle(r.x + x, r.y + (top ? y - 1: y - 2), 4, 4);
+      dc.DrawEllipse(circle);
    }
 }
 
-void Envelope::Draw(wxDC & dc, wxRect & r, double h, double pps, bool dB,
+void Envelope::Draw(wxDC & dc, const wxRect & r, double h, double pps, bool dB,
                     float zoomMin, float zoomMax)
 {
    h -= mOffset;
@@ -193,25 +186,36 @@ void Envelope::Draw(wxDC & dc, wxRect & r, double h, double pps, bool dB,
 
          double v = mEnv[i]->val;
          int x = int ((mEnv[i]->t - h) * pps);
-         int y,y2;
+         int y, y2;
 
-	 y = GetWaveYPosNew(v, zoomMin, zoomMax, r.height, dB,
-			    true, dBr, false);
-	 DrawPoint(dc, r, x, y, true, false);
+         y = GetWaveYPos(v, zoomMin, zoomMax, r.height, dB,
+            true, dBr, false);
+         if (!mMirror) {
+            DrawPoint(dc, r, x, y, true);
+         }
+         else {
+            y2 = GetWaveYPos(-v-.000000001, zoomMin, zoomMax, r.height, dB,
+               true, dBr, false);
+
+            // This follows the same logic as the envelop drawing in
+            // TrackArtist::DrawEnvelope().
+            if (y2 - y < 9) {
+               int value = (int)((zoomMax / (zoomMax - zoomMin)) * r.height);
+               y = value - 4;
+               y2 = value + 4;
+            }
 
-         if (mMirror) {
-	   y2 = GetWaveYPosNew(-v-.000000001, zoomMin, zoomMax, r.height, dB,
-			       true, dBr, false);
-	   DrawPoint(dc, r, x, y2, false, false);
+            DrawPoint(dc, r, x, y, true);
+            DrawPoint(dc, r, x, y2, false);
 	   
-	   // Contour
-	   y = GetWaveYPosNew(v, zoomMin, zoomMax, r.height, dB,
-			      false, dBr, false);
-	   y2 = GetWaveYPosNew(-v-.000000001, zoomMin, zoomMax, r.height, dB,
-			       false, dBr, false);
-	   if(y<=y2){
-	     DrawPoint(dc, r, x, y, true, true);
-	     DrawPoint(dc, r, x, y2, false, true);
+            // Contour
+            y = GetWaveYPos(v, zoomMin, zoomMax, r.height, dB,
+               false, dBr, false);
+            y2 = GetWaveYPos(-v-.000000001, zoomMin, zoomMax, r.height, dB,
+               false, dBr, false);
+            if (y <= y2) {
+               DrawPoint(dc, r, x, y, true);
+               DrawPoint(dc, r, x, y2, false);
             }
          }
 
@@ -344,15 +348,15 @@ bool Envelope::HandleMouseButtonDown(wxMouseEvent & event, wxRect & r,
          int numControlPoints;
 
          // Outer control points
-         y[0] = GetWaveYPosNew( mEnv[i]->val, zoomMin, zoomMax, r.height,
+         y[0] = GetWaveYPos( mEnv[i]->val, zoomMin, zoomMax, r.height,
                                 dB, true, dBr, false);
-         y[1] = GetWaveYPosNew( -mEnv[i]->val, zoomMin, zoomMax, r.height,
+         y[1] = GetWaveYPos( -mEnv[i]->val, zoomMin, zoomMax, r.height,
                                 dB, true, dBr, false);
 
          // Inner control points(contour)
-         y[2] = GetWaveYPosNew( mEnv[i]->val, zoomMin, zoomMax, r.height,
+         y[2] = GetWaveYPos( mEnv[i]->val, zoomMin, zoomMax, r.height,
                                 dB, false, dBr, false);
-         y[3] = GetWaveYPosNew( -mEnv[i]->val-.00000001, zoomMin, zoomMax, 
+         y[3] = GetWaveYPos( -mEnv[i]->val-.00000001, zoomMin, zoomMax, 
                                 r.height, dB, false, dBr, false);
 
          numControlPoints = 4;
@@ -387,14 +391,14 @@ bool Envelope::HandleMouseButtonDown(wxMouseEvent & event, wxRect & r,
       
       double v = GetValueAtX( event.m_x, r, h, pps );
       
-      int ct = GetWaveYPosNew( v, zoomMin, zoomMax, r.height, dB, 
+      int ct = GetWaveYPos( v, zoomMin, zoomMax, r.height, dB, 
                                false, dBr, false) ;
-      int cb = GetWaveYPosNew( -v-.000000001, zoomMin, zoomMax, r.height, dB, 
+      int cb = GetWaveYPos( -v-.000000001, zoomMin, zoomMax, r.height, dB, 
                                false, dBr, false) ;
       if( ct <= cb || !mMirror ){
-         int t = GetWaveYPosNew( v, zoomMin, zoomMax, r.height, dB, 
+         int t = GetWaveYPos( v, zoomMin, zoomMax, r.height, dB, 
                                  true, dBr, false) ;
-         int b = GetWaveYPosNew( -v, zoomMin, zoomMax, r.height, dB, 
+         int b = GetWaveYPos( -v, zoomMin, zoomMax, r.height, dB, 
                                  true, dBr, false) ;
          
          ct = (t + ct) / 2;
@@ -662,7 +666,7 @@ Cases:
          }
       }
 
-      // In theses statement, remember we subtracted mOffset from t0
+      // In these statements, remember we subtracted mOffset from t0
       if( t0 < mTrackEpsilon )
          atStart = true;
       if( (mTrackLen - t0) < mTrackEpsilon )
@@ -732,9 +736,17 @@ Cases:
       mTrackLen += deltat;
    }
    else {   // Case 10:
-      mTrackLen = e->mTrackLen;
-      mOffset = e->mOffset;
-      //wxLogDebug(wxT("Case 10: mTrackLen %f mOffset %f t0 %f"), mTrackLen, mOffset, t0);
+      if( mTrackLen == 0 ) // creating a new envelope
+      {
+         mTrackLen = e->mTrackLen;
+         mOffset = e->mOffset;
+         //wxLogDebug(wxT("Case 10, new env/clip: mTrackLen %f mOffset %f t0 %f"), mTrackLen, mOffset, t0);
+      }
+      else
+      {
+         mTrackLen += e->mTrackLen;
+         //wxLogDebug(wxT("Case 10, paste into current env: mTrackLen %f mOffset %f t0 %f"), mTrackLen, mOffset, t0);
+      }
    }
 
    // Copy points from inside the selection
@@ -751,7 +763,12 @@ Cases:
          e->Delete(0);  // they were not there when we entered this
 }
 
-void Envelope::RemoveUnneededPoints(double tolerence)
+// Deletes 'unneeded' points, starting from the left.
+// If 'time' is set and positive, just deletes points in a small region
+// around that value.
+// 'Unneeded' means that the envelope doesn't change by more than
+// 'tolerence' without the point being there.
+void Envelope::RemoveUnneededPoints(double time, double tolerence)
 {
    unsigned int len = mEnv.Count();
    unsigned int i;
@@ -762,11 +779,26 @@ void Envelope::RemoveUnneededPoints(double tolerence)
 
    for (i = 0; i < len; i++) {
       when = mEnv[i]->t;
+      if(time >= 0)
+      {
+         if(fabs(when + mOffset - time) > 0.00025) // 2 samples at 8kHz, 11 at 44.1kHz
+            continue;
+      }
       val = mEnv[i]->val;
       Delete(i);  // try it to see if it's doing anything
       val1 = GetValue(when + mOffset);
       if( fabs(val -val1) > tolerence )
+      {
          Insert(when,val); // put it back, we needed it
+         
+         //Insert may have modified instead of inserting, if two points were at the same time.
+         // in which case len needs to shrink i and len, because the array size decreased.
+         if(mEnv.Count()!=len)
+         {
+            len--;
+            i--;
+         }
+      }
       else {   // it made no difference so leave it out
          len--;
          i--;
@@ -837,15 +869,36 @@ void Envelope::GetPoints(double *bufferWhen,
 // Although this renders the name a slight misnomer, a duplicate
 // 'replaces' the current control point.
 
-// Envelopes start at zero and are offset by other things by mOffset.
-// This is worth remembering.
-// If you call 'Insert' from WaveClip, subtract mOffset from the time.
-// If you call it from Envelope, don't. Kind of makes sense. MJS.
+/** @brief Add a control point to the envelope
+ *
+ * Control point positions start at zero and are measured in seconds from the
+ * start of the envelope. The position of the envelope on the project-wide
+ * time scale is store in seconds in Envelope::mOffset.
+ * This is worth remembering.
+ * If you call Envelope::Insert() from WaveClip, or anywhere else outside the
+ * Envelope class that is using project timing, subtract the envelope's mOffset
+ * from the time.
+ * If you call Envelope::Insert() from within Envelope, don't subtract mOffset 
+ * because you are working in relative time inside the envelope
+ * @param when the time in seconds when the envelope point should be created.
+ * @param value the envelope value to use at the given point.
+ * @return the index of the new envelope point within array of envelope points.
+ */
 int Envelope::Insert(double when, double value)
 {
    // in debug builds, do a spot of argument checking
-   wxASSERT(when <= (mTrackLen));
-   wxASSERT(when >= 0);
+   if(when > mTrackLen)
+   {
+      wxString msg;
+      msg = wxString::Format(wxT("when %.20f mTrackLen %.20f diff %.20f"), when, mTrackLen, when-mTrackLen);
+      wxASSERT_MSG(when <= (mTrackLen), msg);
+   }
+   if(when < 0)
+   {
+      wxString msg;
+      msg = wxString::Format(wxT("when %.20f mTrackLen %.20f"), when);
+      wxASSERT_MSG(when >= 0, msg);
+   }
 
    int len = mEnv.Count();
 
@@ -902,6 +955,7 @@ void Envelope::SetTrackLen(double trackLen)
          delete mEnv[i];
          mEnv.RemoveAt(i);
          len--;
+         i--;
       }
 }
 
@@ -915,11 +969,11 @@ double Envelope::GetValue(double t) const
 }
 
 // 'X' is in pixels and relative to track.
-double Envelope::GetValueAtX( int x, wxRect & r, double h, double pps )
+double Envelope::GetValueAtX(int x, const wxRect & r, double h, double pps)
 {
    // Convert x to time.
    double t = (x - r.x) / pps + h ;//-mOffset;
-   return GetValue( t );
+   return GetValue(t);
 }
 
 
@@ -935,8 +989,18 @@ void Envelope::GetValues(double *buffer, int bufferLen,
    double tprev, vprev, tnext = 0, vnext, vstep = 0;
 
    // in debug builds, do a spot of argument checking
-   wxASSERT(t0 <= (mTrackLen));
-   wxASSERT(t0 >= 0);
+   if(t0 > mTrackLen)
+   {
+      wxString msg;
+      msg = wxString::Format(wxT("t0 %.20f mTrackLen %.20f diff %.20f"), t0, mTrackLen, t0-mTrackLen);
+      wxASSERT_MSG(t0 <= mTrackLen, msg);
+   }
+   if(t0 < 0)
+   {
+      wxString msg;
+      msg = wxString::Format(wxT("t0 %.20f"), t0);
+      wxASSERT_MSG(t0 >= 0, msg);
+   }
 
    for (int b = 0; b < bufferLen; b++) {
       if (len <= 0) {
diff --git a/src/Envelope.h b/src/Envelope.h
index c9588a9..78bb908 100644
--- a/src/Envelope.h
+++ b/src/Envelope.h
@@ -95,7 +95,7 @@ class Envelope : public XMLTagHandler {
 
    // Event Handlers
 
-   void Draw(wxDC & dc, wxRect & r, double h, double pps, bool dB,
+   void Draw(wxDC & dc, const wxRect & r, double h, double pps, bool dB,
              float zoomMin=-1.0, float zoomMax=1.0);
 
    // Each ofthese returns true if parents needs to be redrawn
@@ -123,7 +123,7 @@ class Envelope : public XMLTagHandler {
    void CopyFrom(const Envelope * e, double t0, double t1);
    void Paste(double t0, Envelope *e);
    void InsertSpace(double t0, double tlen);
-   void RemoveUnneededPoints(double tolerence = 0.001);
+   void RemoveUnneededPoints(double time = -1, double tolerence = 0.001);
 
    // Control
 
@@ -134,7 +134,7 @@ class Envelope : public XMLTagHandler {
    /** \brief Get envelope value at time t */
    double GetValue(double t) const;
    /** \brief Get envelope value at pixel X */
-   double GetValueAtX( int x, wxRect & r, double h, double pps); 
+   double GetValueAtX(int x, const wxRect & r, double h, double pps);
 
    /** \brief Get many envelope points at once.
     *
diff --git a/src/Experimental.h b/src/Experimental.h
index 791d59c..58eb7d5 100644
--- a/src/Experimental.h
+++ b/src/Experimental.h
@@ -33,18 +33,8 @@
 // Comment out the next two lines if you want to disable 'experimental theming'
 // Work in progress, June-2008.
 //#define EXPERIMENTAL_THEMING
+#if IS_BETA
 #define EXPERIMENTAL_THEME_PREFS
-
-//The next few enable different kinds of label/wavetrack pairing.
-//You should probably only enable one at a time.
-//The next line enables a menu-based system
-//#define EXPERIMENTAL_STICKY_TRACKS
-//The next block enables a positional-based system.
-//LABEL_LINKING only links label tracks, while FULL_LINKING links wave and label tracks
-#define EXPERIMENTAL_POSITION_LINKING
-#ifdef EXPERIMENTAL_POSITION_LINKING
-   #define EXPERIMENTAL_FULL_LINKING
-   //#define EXPERIMENTAL_LABEL_LINKING
 #endif
 
 //Next line enables Mic monitoring at times when it was previously off.
@@ -56,16 +46,6 @@
 //#define RIGHT_ALIGNED_TEXTBOXES
 //#define EXPERIMENTAL_VOICE_DETECTION
 
-//uncomment this line to enable On-Demand loading of PCM files.  
-//for now it is incomplete so it will load instantly but 
-//the display of summary data will not be there (one can still see sample data if zoomed in)
-#define EXPERIMENTAL_ONDEMAND
-
-//FFmpeg integration. Some FFmpeg-related changes are NOT ifdef'ed,
-//as they are harmless (like - a few mockup methods in Import* classes)
-// To enable ffmpeg support #define USE_FFMPEG in config*.h, as for any other
-// optional importer library (windows users: edit win/configwin.h)
-
 // Effect categorisation. Adds support for arranging effects in categories
 // and displaying those categories as submenus in the Effect menu.
 // This was a 2008 GSoC project that was making good progress at the half-way point
@@ -89,9 +69,25 @@
 // A Frequency Grid for the Spectrum Log(f) & Find Notes modes
 //#define EXPERIMENTAL_FFT_Y_GRID
 
-// AM, 22.Nov 2007: 
-// Saves the default view mode for wave tracks.
-#define EXPERIMENTAL_SAVE_DEFAULT_VIEW
+// Andy Coder, 03.Mar 2009:
+// Allow keyboard seeking before initial playback position
+//#define EXPERIMENTAL_SEEK_BEHIND_CURSOR
+
+// Philip Van Baren 01 July 2009
+// Replace RealFFT() and PowerSpectrum function to use (faster) RealFFTf function
+#define EXPERIMENTAL_USE_REALFFTF
+
+// RBD, 1 Sep 2008
+// Enables MIDI Output of NoteTrack (MIDI) data during playback
+// USE_MIDI must be defined in order for EXPERIMENTAL_MIDI_OUT to work
+#ifdef USE_MIDI
+//#define EXPERIMENTAL_MIDI_OUT
+#endif
+
+// USE_MIDI must be defined in order for EXPERIMENTAL_SCOREALIGN to work
+#ifdef USE_MIDI
+//#define EXPERIMENTAL_SCOREALIGN
+#endif
 
 #ifdef EXPERIMENTAL_FEATURES
    // The first experimental feature is a notebook that adds
@@ -133,6 +129,9 @@ extern void AddPages(   AudacityProject * pProj, GuiFactory & Factory,  wxNotebo
 #ifdef EXPERIMENTAL_AUDACITY_TESTER
 #endif
 
+#define EXPERIMENTAL_LYRICS_WINDOW //vvv Vaughan, 2009-07-06
+#define EXPERIMENTAL_MIXER_BOARD //vvv Vaughan, 2009-07-07
+
 #endif
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/FFT.cpp b/src/FFT.cpp
index d9444b8..ab0bb34 100644
--- a/src/FFT.cpp
+++ b/src/FFT.cpp
@@ -108,6 +108,10 @@ void InitFFT()
    }
 }
 
+#ifdef EXPERIMENTAL_USE_REALFFTF
+#include "RealFFTf.h"
+#endif
+
 void DeinitFFT()
 {
    if (gFFTBitTable) {
@@ -116,6 +120,10 @@ void DeinitFFT()
       }
       delete[] gFFTBitTable;
    }
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   // Deallocate any unused RealFFTf tables
+   CleanupFFT();
+#endif
 }
 
 inline int FastReverseBits(int i, int NumBits)
@@ -149,7 +157,7 @@ void FFT(int NumSamples,
    if (!gFFTBitTable)
       InitFFT();
 
-   if (InverseTransform)
+   if (!InverseTransform)
       angle_numerator = -angle_numerator;
 
    NumBits = NumberOfBitsNeeded(NumSamples);
@@ -242,6 +250,37 @@ void FFT(int NumSamples,
 
 void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
 {
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   // Remap to RealFFTf() function
+   int i;
+   HFFT hFFT = GetFFT(NumSamples);
+   float *pFFT = new float[NumSamples];
+   // Copy the data into the processing buffer
+   for(i=0; i<NumSamples; i++)
+      pFFT[i] = RealIn[i];
+
+   // Perform the FFT
+   RealFFTf(pFFT, hFFT);
+
+   // Copy the data into the real and imaginary outputs
+   for(i=1;i<(NumSamples/2);i++) {
+      RealOut[i]=pFFT[hFFT->BitReversed[i]  ];
+      ImagOut[i]=pFFT[hFFT->BitReversed[i]+1];
+   }
+   // Handle the (real-only) DC and Fs/2 bins
+   RealOut[0] = pFFT[0];
+   RealOut[i] = pFFT[1];
+   ImagOut[0] = ImagOut[i] = 0;
+   // Fill in the upper half using symmetry properties
+   for(i++ ; i<NumSamples; i++) {
+      RealOut[i] =  RealOut[NumSamples-i];
+      ImagOut[i] = -ImagOut[NumSamples-i];
+   }
+   delete [] pFFT;
+   ReleaseFFT(hFFT);
+
+#else
+
    int Half = NumSamples / 2;
    int i;
 
@@ -260,7 +299,7 @@ void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
    float wtemp = float (sin(0.5 * theta));
 
    float wpr = -2.0 * wtemp * wtemp;
-   float wpi = float (sin(theta));
+   float wpi = -1.0 * float (sin(theta));
    float wr = 1.0 + wpr;
    float wi = wpi;
 
@@ -291,8 +330,49 @@ void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
 
    delete[]tmpReal;
    delete[]tmpImag;
+#endif EXPERIMENTAL_USE_REALFFTF
 }
 
+#ifdef EXPERIMENTAL_USE_REALFFTF
+/*
+ * InverseRealFFT
+ *
+ * This function computes the inverse of RealFFT, above.
+ * The RealIn and ImagIn is assumed to be conjugate-symmetric
+ * and as a result the output is purely real.
+ * Only the first half of RealIn and ImagIn are used due to this
+ * symmetry assumption.
+ */
+void InverseRealFFT(int NumSamples, float *RealIn, float *ImagIn, float *RealOut)
+{
+   // Remap to RealFFTf() function
+   int i;
+   HFFT hFFT = GetFFT(NumSamples);
+   float *pFFT = new float[NumSamples];
+   // Copy the data into the processing buffer
+   for(i=0; i<(NumSamples/2); i++)
+      pFFT[2*i  ] = RealIn[i];
+   if(ImagIn == NULL) {
+      for(i=0; i<(NumSamples/2); i++)
+         pFFT[2*i+1] = 0;
+   } else {
+      for(i=0; i<(NumSamples/2); i++)
+         pFFT[2*i+1] = ImagIn[i];
+   }
+   // Put the fs/2 component in the imaginary part of the DC bin
+   pFFT[1] = RealIn[i];
+
+   // Perform the FFT
+   InverseRealFFTf(pFFT, hFFT);
+
+   // Copy the data to the (purely real) output buffer
+   ReorderToTime(hFFT, pFFT, RealOut);
+
+   delete [] pFFT;
+   ReleaseFFT(hFFT);
+}
+#endif // EXPERIMENTAL_USE_REALFFTF
+
 /*
  * PowerSpectrum
  *
@@ -307,6 +387,31 @@ void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut)
 
 void PowerSpectrum(int NumSamples, float *In, float *Out)
 {
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   // Remap to RealFFTf() function
+   int i;
+   HFFT hFFT = GetFFT(NumSamples);
+   float *pFFT = new float[NumSamples];
+   // Copy the data into the processing buffer
+   for(i=0; i<NumSamples; i++)
+      pFFT[i] = In[i];
+
+   // Perform the FFT
+   RealFFTf(pFFT, hFFT);
+
+   // Copy the data into the real and imaginary outputs
+   for(i=1;i<NumSamples/2;i++) {
+      Out[i]= (pFFT[hFFT->BitReversed[i]  ]*pFFT[hFFT->BitReversed[i]  ])
+         + (pFFT[hFFT->BitReversed[i]+1]*pFFT[hFFT->BitReversed[i]+1]);
+   }
+   // Handle the (real-only) DC and Fs/2 bins
+   Out[0] = pFFT[0]*pFFT[0];
+   Out[i] = pFFT[1]*pFFT[1];
+   delete [] pFFT;
+   ReleaseFFT(hFFT);
+
+#else // EXPERIMENTAL_USE_REALFFTF
+
    int Half = NumSamples / 2;
    int i;
 
@@ -327,7 +432,7 @@ void PowerSpectrum(int NumSamples, float *In, float *Out)
    float wtemp = float (sin(0.5 * theta));
 
    float wpr = -2.0 * wtemp * wtemp;
-   float wpi = float (sin(theta));
+   float wpi = -1.0 * float (sin(theta));
    float wr = 1.0 + wpr;
    float wi = wpi;
 
@@ -370,6 +475,7 @@ void PowerSpectrum(int NumSamples, float *In, float *Out)
    delete[]tmpImag;
    delete[]RealOut;
    delete[]ImagOut;
+#endif // EXPERIMENTAL_USE_REALFFTF
 }
 
 /*
diff --git a/src/FFT.h b/src/FFT.h
index 1ccaa84..7dfe0c1 100644
--- a/src/FFT.h
+++ b/src/FFT.h
@@ -57,15 +57,27 @@ void PowerSpectrum(int NumSamples, float *In, float *Out);
 
 /*
  * Computes an FFT when the input data is real but you still
- * want complex data as output.  The output arrays are half
- * the length of the input, and NumSamples must be a power of
- * two.
+ * want complex data as output.  The output arrays are the
+ * same length as the input, but will be conjugate-symmetric
+ * NumSamples must be a power of two.
  */
 
 void RealFFT(int NumSamples,
              float *RealIn, float *RealOut, float *ImagOut);
 
 /*
+ * Computes an Inverse FFT when the input data is conjugate symmetric
+ * so the output is purely real.  NumSamples must be a power of
+ * two.
+ * Requires: EXPERIMENTAL_USE_REALFFTF
+ */
+#include "Experimental.h"
+#ifdef EXPERIMENTAL_USE_REALFFTF
+void InverseRealFFT(int NumSamples,
+             float *RealIn, float *ImagIn, float *RealOut);
+#endif
+
+/*
  * Computes a FFT of complex input and returns complex output.
  * Currently this is the only function here that supports the
  * inverse transform as well.
@@ -111,9 +123,3 @@ void DeinitFFT();
 //
 // Local Variables:
 // c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: 91e23340-889b-4c2d-89b0-0173315a0b32
-
diff --git a/src/FFmpeg.cpp b/src/FFmpeg.cpp
index 7662280..7b0f088 100644
--- a/src/FFmpeg.cpp
+++ b/src/FFmpeg.cpp
@@ -4,7 +4,7 @@ Audacity: A Digital Audio Editor
 
 FFmpeg.cpp
 
-Audacity(R) is copyright (c) 1999-2008 Audacity Team.
+Audacity(R) is copyright (c) 1999-2009 Audacity Team.
 License: GPL v2.  See License.txt.
 
 ******************************************************************//**
@@ -20,6 +20,8 @@ License: GPL v2.  See License.txt.
 #include "FFmpeg.h"
 #include "AudacityApp.h"
 
+#include <wx/file.h>
+
 #ifdef _DEBUG
    #ifdef _MSC_VER
       #undef THIS_FILE
@@ -100,7 +102,7 @@ void FFmpegStartup()
    {
      wxMessageBox(_("FFmpeg was configured in Preferences and successfully loaded before, \
                       \nbut this time Audacity failed to load it at startup. \
-                      \n\nYou may want to go back to Preferences > Import/Export and re-configure it."),
+                      \n\nYou may want to go back to Preferences > Libraries and re-configure it."),
                   _("FFmpeg startup failed"));
    }
 }
@@ -154,6 +156,240 @@ void av_log_wx_callback(void* ptr, int level, const char* fmt, va_list vl)
    wxLogMessage(wxT("%s: %s"),cpt.c_str(),printstring.c_str());
 }
 
+//======================= Unicode aware uri protocol for FFmpeg
+// Code inspired from ffmpeg-users mailing list sample
+
+static int ufile_open(URLContext *h, const char *filename, int flags)
+{
+   wxFile *f;
+   wxFile::OpenMode mode;
+
+   f = new wxFile;
+   if (!f) {
+      return AVERROR(ENOMEM);
+   }
+
+   if (flags & URL_RDWR) {
+      mode = wxFile::read_write;
+   } else if (flags & URL_WRONLY) {
+      mode = wxFile::write;
+   } else {
+      mode = wxFile::read;
+   }
+
+   if (!f->Open((const wxChar *) filename, mode)) {
+      delete f;
+      return AVERROR(ENOENT);
+   }
+
+   h->priv_data = (void *)f;
+
+   return 0;
+}
+
+static int ufile_read(URLContext *h, unsigned char *buf, int size)
+{
+   //return (int) ((wxFile *) h->priv_data)->Read(buf, size);
+   static int totalret = 0;
+   int ret = (int) ((wxFile *) h->priv_data)->Read(buf, size);
+   totalret += ret;
+   return ret;
+}
+
+static int ufile_write(URLContext *h, unsigned char *buf, int size)
+{
+   return (int) ((wxFile *) h->priv_data)->Write(buf, size);
+}
+
+#if LIBAVFORMAT_VERSION_MAJOR >= 52
+static int64_t ufile_seek(URLContext *h, int64_t pos, int whence)
+#else
+static offset_t ufile_seek(URLContext *h, offset_t pos, int whence)
+#endif
+{
+   wxSeekMode mode;
+
+   switch (whence)
+   {
+   case (SEEK_SET):
+     mode = wxFromStart;
+     break;
+   case (SEEK_CUR):
+     mode = wxFromCurrent;
+     break;
+   case (SEEK_END):
+     mode = wxFromEnd;
+     break;
+   case (AVSEEK_SIZE):
+     return ((wxFile *) h->priv_data)->Length();
+   }
+
+   return ((wxFile *) h->priv_data)->Seek(pos, mode);
+}
+
+static int ufile_close(URLContext *h)
+{
+   wxFile *f = (wxFile *) h->priv_data;
+
+   if (f) {
+      f->Close();
+      delete f;
+   }
+
+    return 0;
+}
+
+URLProtocol ufile_protocol = {
+    "ufile",
+    ufile_open,
+    ufile_read,
+    ufile_write,
+    ufile_seek,
+    ufile_close,
+};
+
+// Open a file with a (possibly) Unicode filename
+int ufile_fopen(ByteIOContext **s, const wxString & name, int flags)
+{
+   URLContext *h;
+   int err;
+
+   // Open the file using our custom protocol and passing the (possibly) Unicode
+   // filename.  This is playing a slight trick since our ufile_open() routine above
+   // knows that the "char *" name may actually be wide characters.
+   err = FFmpegLibsInst->url_open_protocol(&h, &ufile_protocol, (const char *) name.c_str(), flags);
+   if (err < 0) {
+      return err;
+   }
+
+   // Associate the file with a context
+   err = FFmpegLibsInst->url_fdopen(s, h);
+   if (err < 0) {
+      FFmpegLibsInst->url_close(h);
+      return err;
+   }
+
+   return 0;
+}
+
+
+// Size of probe buffer, for guessing file type from file contents
+#define PROBE_BUF_MIN 2048
+#define PROBE_BUF_MAX (1<<20)
+
+// Detect type of input file and open it if recognized. Routine
+// based on the av_open_input_file() libavformat function.
+int ufile_fopen_input(AVFormatContext **ic_ptr, wxString & name)
+{
+   wxFileName f(name);
+   wxCharBuffer fname;
+   const char *filename;
+   AVProbeData pd;
+   ByteIOContext *pb = NULL;
+   AVInputFormat *fmt = NULL;
+   AVInputFormat *fmt1;
+   int probe_size;
+   int err;
+
+   // Create a dummy file name using the extension from the original
+   f.SetName(wxT("ufile"));
+   fname = f.GetFullName().mb_str();
+   filename = (const char *) fname;
+
+   // Initialize probe data...go ahead and preallocate the maximum buffer size.
+   pd.filename = filename;
+   pd.buf_size = 0;
+   pd.buf = (unsigned char *) FFmpegLibsInst->av_malloc(PROBE_BUF_MAX + AVPROBE_PADDING_SIZE);
+   if (pd.buf == NULL) {
+      err = AVERROR_NOMEM;
+      goto fail;
+   }
+
+   // Open the file to prepare for probing
+   if ((err = ufile_fopen(&pb, name, URL_RDONLY)) < 0) {
+      goto fail;
+   }
+
+   for (probe_size = PROBE_BUF_MIN; probe_size <= PROBE_BUF_MAX && !fmt; probe_size <<= 1) {
+      int score_max = probe_size < PROBE_BUF_MAX ? AVPROBE_SCORE_MAX / 4 : 0;
+
+      // Read up to a "probe_size" worth of data
+      pd.buf_size = FFmpegLibsInst->get_buffer(pb, pd.buf, probe_size);
+
+      // Clear up to a "AVPROBE_PADDING_SIZE" worth of unused buffer
+      memset(pd.buf + pd.buf_size, 0, AVPROBE_PADDING_SIZE);
+
+      // Reposition file for succeeding scan
+      if (FFmpegLibsInst->url_fseek(pb, 0, SEEK_SET) < 0) {
+         err = AVERROR(EIO);
+         goto fail;
+      }
+
+      // Scan all input formats
+      fmt = NULL;
+      for (fmt1 = FFmpegLibsInst->av_iformat_next(NULL); fmt1 != NULL; fmt1 = FFmpegLibsInst->av_iformat_next(fmt1)) {
+         int score = 0;
+
+         // Ignore the ones that are not file based
+         if (fmt1->flags & AVFMT_NOFILE) {
+            continue;
+         }
+
+         // If the format can probe the file then try that first
+         if (fmt1->read_probe) {
+            score = fmt1->read_probe(&pd);
+         }
+         // Otherwize, resort to extension matching if available
+         else if (fmt1->extensions) {
+            if (FFmpegLibsInst->match_ext(filename, fmt1->extensions)) {
+               score = 50;
+            }
+         }
+
+         // Remember this format if it scored higher than a previous match
+         if (score > score_max) {
+            score_max = score;
+            fmt = fmt1;
+         }
+         else if (score == score_max) {
+            fmt = NULL;
+         }
+      }
+   }
+
+   // Didn't find a suitable format, so bail
+   if (!fmt) {
+      err = AVERROR_NOFMT;
+      goto fail;
+   }
+
+   // And finally, attempt to associate an input stream with the file
+   err = FFmpegLibsInst->av_open_input_stream(ic_ptr, pb, filename, fmt, NULL);
+   if (err) {
+      goto fail;
+   }
+
+   // Done with the probe buffer
+   FFmpegLibsInst->av_freep(&pd.buf);
+
+   return 0;
+
+fail:
+   if (pd.buf) {
+      FFmpegLibsInst->av_freep(&pd.buf);
+   }
+
+   if (pb) {
+      FFmpegLibsInst->url_fclose(pb);
+   }
+
+   *ic_ptr = NULL;
+
+   return err;
+}
+
+/*******************************************************/
+
 class FFmpegNotFoundDialog;
 
 //----------------------------------------------------------------------------
@@ -555,19 +791,34 @@ bool FFmpegLibs::InitLibs(wxString libpath_format, bool showerr)
    INITDYN(avformat,av_iformat_next);
    INITDYN(avformat,av_oformat_next);
    INITDYN(avformat,av_set_parameters);
+#if LIBAVFORMAT_VERSION_MAJOR < 53
+   INITDYN(avformat,register_protocol);
+   av_register_protocol = register_protocol;
+#else
+   INITDYN(avformat,av_register_protocol);
+#endif
+   INITDYN(avformat,url_open_protocol);
+   INITDYN(avformat,url_fdopen);
+   INITDYN(avformat,url_close);
    INITDYN(avformat,url_fopen);
+   INITDYN(avformat,url_fseek);
    INITDYN(avformat,url_fclose);
    INITDYN(avformat,url_fsize);
    INITDYN(avformat,av_new_stream);
    INITDYN(avformat,av_alloc_format_context);
    INITDYN(avformat,guess_format);
    INITDYN(avformat,av_write_trailer);
-   INITDYN(avformat,av_init_packet);
    INITDYN(avformat,av_codec_get_id);
    INITDYN(avformat,av_codec_get_tag);
    INITDYN(avformat,avformat_version);
+   INITDYN(avformat,av_open_input_file);
+   INITDYN(avformat,av_open_input_stream);
+   INITDYN(avformat,get_buffer);
+   INITDYN(avformat,match_ext);
 
    INITDYN(codec,avcodec_init);
+   INITDYN(codec,av_init_packet);
+   INITDYN(codec,av_free_packet);
    INITDYN(codec,avcodec_find_encoder);
    INITDYN(codec,avcodec_find_encoder_by_name);
    INITDYN(codec,avcodec_find_decoder);
@@ -592,15 +843,16 @@ bool FFmpegLibs::InitLibs(wxString libpath_format, bool showerr)
    INITDYN(util,av_free);
    INITDYN(util,av_log_set_callback);
    INITDYN(util,av_log_default_callback);
-   INITDYN(util,av_fifo_init);
+   INITDYN(util,av_fifo_alloc);
    INITDYN(util,av_fifo_free);
-   INITDYN(util,av_fifo_read);
+   INITDYN(util,av_fifo_generic_read);
    INITDYN(util,av_fifo_size);
    INITDYN(util,av_fifo_generic_write);
-   INITDYN(util,av_fifo_realloc);
+   INITDYN(util,av_fifo_realloc2);
    INITDYN(util,av_malloc);
    INITDYN(util,av_freep);
    INITDYN(util,av_rescale_q);
+   INITDYN(util,av_strstart);
    INITDYN(util,avutil_version);
 
    //FFmpeg initialization
@@ -633,6 +885,9 @@ bool FFmpegLibs::InitLibs(wxString libpath_format, bool showerr)
       wxLogMessage(wxT("Version mismatch! Libraries are unusable."));
       return false;
    }
+
+   av_register_protocol(&ufile_protocol);
+
    return true;
 }
 
diff --git a/src/FFmpeg.h b/src/FFmpeg.h
index 9593fb2..15bf171 100644
--- a/src/FFmpeg.h
+++ b/src/FFmpeg.h
@@ -4,7 +4,7 @@ Audacity: A Digital Audio Editor
 
 FFmpeg.h
 
-Audacity(R) is copyright (c) 1999-2008 Audacity Team.
+Audacity(R) is copyright (c) 1999-2009 Audacity Team.
 License: GPL v2.  See License.txt.
 
 ******************************************************************//**
@@ -31,6 +31,10 @@ Describes shared object that is used to access FFmpeg libraries.
 
 #if defined(USE_FFMPEG)
 extern "C" {
+   // Include errno.h before the ffmpeg includes since they depend on 
+   // knowing the value of EINVAL...see bottom of avcodec.h.  Not doing
+   // so will produce positive error returns when they should be < 0.
+   #include <errno.h>
    #include <libavcodec/avcodec.h>
    #include <libavformat/avformat.h>
    #include <libavutil/fifo.h>
@@ -68,6 +72,12 @@ wxString GetFFmpegVersion(wxWindow *parent);
 
 /* from here on in, this stuff only applies when ffmpeg is available */
 #if defined(USE_FFMPEG)
+int ufile_fopen(ByteIOContext **s, const wxString & name, int flags);
+
+#if defined(__WXMSW__)
+int modify_file_url_to_utf8(char* buffer, size_t buffer_size, const char* url);
+int modify_file_url_to_utf8(char* buffer, size_t buffer_size, const wchar_t* url);
+#endif
 
 //----------------------------------------------------------------------------
 // Attempt to load and enable/disable FFmpeg at startup
@@ -98,10 +108,10 @@ public:
       S.StartVerticalLay(true);
       {
          S.AddFixedText(_(
-"Audacity attempted to use FFmpeg libraries to import an audio file,\n\
-but libraries were not found.\n\
-If you want to use the FFmpeg import feature, please go to Preferences->Import/Export\n\
-and tell Audacity where to look for the libraries."
+"Audacity attempted to use FFmpeg to import an audio file,\n\
+but the libraries were not found.\n\n\
+To use FFmpeg import, go to Preferences > Libraries\n\
+to download or locate the FFmpeg libraries."
          ));
 
          int dontShowDlg = 0;
@@ -175,7 +185,14 @@ public:
    int               (*av_get_bits_per_sample_format) (enum SampleFormat sample_fmt);
    void*             (*av_fast_realloc)               (void *ptr, unsigned int *size, unsigned int min_size);
    int               (*av_open_input_file)            (AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt, int buf_size, AVFormatParameters *ap);
+   int               (*av_open_input_stream)          (AVFormatContext **ic_ptr, ByteIOContext *pb, const char *filename, AVInputFormat *fmt, AVFormatParameters *ap);
+   int               (*get_buffer)                    (ByteIOContext *s, unsigned char *buf, int size);
    void              (*av_register_all)               (void);
+#if LIBAVFORMAT_VERSION_MAJOR < 53
+   int               (*register_protocol)             (URLProtocol *protocol);
+#endif
+   int               (*av_register_protocol)          (URLProtocol *protocol);
+   int               (*av_strstart)                   (const char *str, const char *pfx, const char **ptr);
    int               (*av_find_stream_info)           (AVFormatContext *ic);
    int               (*av_read_frame)                 (AVFormatContext *s, AVPacket *pkt);
    int               (*av_seek_frame)                 (AVFormatContext *s, int stream_index, int64_t timestamp, int flags);
@@ -186,22 +203,31 @@ public:
    AVOutputFormat*   (*av_oformat_next)               (AVOutputFormat *f);
    AVCodec*          (*av_codec_next)                 (AVCodec *c);
    int               (*av_set_parameters)             (AVFormatContext *s, AVFormatParameters *ap);
+   int               (*url_open_protocol)             (URLContext **puc, struct URLProtocol *up, const char *filename, int flags);
+   int               (*url_fdopen)                    (ByteIOContext **s, URLContext *h);
+   int               (*url_close)                     (URLContext *h);
    int               (*url_fopen)                     (ByteIOContext **s, const char *filename, int flags);
+   int64_t           (*url_fseek)                     (ByteIOContext *s, int64_t offset, int whence);
    int               (*url_fclose)                    (ByteIOContext *s);
    int               (*url_fsize)                     (ByteIOContext *s);
    AVStream*         (*av_new_stream)                 (AVFormatContext *s, int id);
    AVFormatContext*  (*av_alloc_format_context)       (void);
    AVOutputFormat*   (*guess_format)                  (const char *short_name, const char *filename, const char *mime_type);
+   int               (*match_ext)                     (const char *filename, const char *extensions);
    int               (*av_write_trailer)              (AVFormatContext *s);
    int               (*av_interleaved_write_frame)    (AVFormatContext *s, AVPacket *pkt);
    int               (*av_write_frame)                (AVFormatContext *s, AVPacket *pkt);
    void              (*av_init_packet)                (AVPacket *pkt);
-   int               (*av_fifo_init)                  (AVFifoBuffer *f, int size);
+   void              (*av_free_packet)                (AVPacket *pkt);
+   //int               (*av_fifo_init)                  (AVFifoBuffer *f, int size);
+   AVFifoBuffer*     (*av_fifo_alloc)                 (unsigned int size);
    void              (*av_fifo_free)                  (AVFifoBuffer *f);
-   int               (*av_fifo_read)                  (AVFifoBuffer *f, uint8_t *buf, int buf_size);
+//   int               (*av_fifo_read)                  (AVFifoBuffer *f, uint8_t *buf, int buf_size);
+   int               (*av_fifo_generic_read)          (AVFifoBuffer *f, uint8_t *buf, int buf_size, int (*func)(void*, void*, int));
    int               (*av_fifo_size)                  (AVFifoBuffer *f);
    int               (*av_fifo_generic_write)         (AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int));
-   void              (*av_fifo_realloc)               (AVFifoBuffer *f, unsigned int size);
+//   void              (*av_fifo_realloc)               (AVFifoBuffer *f, unsigned int size);
+   int               (*av_fifo_realloc2)              (AVFifoBuffer *f, unsigned int size);
    void*             (*av_malloc)                     (unsigned int size);
    void              (*av_freep)                      (void *ptr);
    int64_t           (*av_rescale_q)                  (int64_t a, AVRational bq, AVRational cq);
@@ -356,6 +382,9 @@ FFmpegLibs *PickFFmpegLibs();
 ///! anymore, or just decrements it's reference count
 void        DropFFmpegLibs();
 
+int ufile_fopen(ByteIOContext **s, const wxString & name, int flags);
+int ufile_fopen_input(AVFormatContext **ic_ptr, wxString & name);
+
 #endif // USE_FFMPEG
 #endif // __AUDACITY_FFMPEG__
 
diff --git a/src/FileFormats.h b/src/FileFormats.h
index 0a2caf3..1ce7caa 100644
--- a/src/FileFormats.h
+++ b/src/FileFormats.h
@@ -29,7 +29,8 @@ int sf_num_headers();
  *
  * Uses SFC_GET_FORMAT_MAJOR in the sf_command() interface. Resulting C string
  * from libsndfile is converted to a wxString 
- * @param format The libsndfile format number for the container format required
+ * @param format_num The libsndfile format number for the container format
+ * required
  */
 wxString sf_header_index_name(int format_num);
 
@@ -61,7 +62,7 @@ wxString sf_header_name(int format);
  *
  * Do sf_header_name() then truncate the string at the first space in the name
  * to get just the first word of the format name.
- * @Param format the libsndfile format to get the name for (only the container
+ * @param format the libsndfile format to get the name for (only the container
  * part is used) */
 wxString sf_header_shortname(int format);
 /** @brief Get the most common file extension for the given format
@@ -73,10 +74,10 @@ wxString sf_header_shortname(int format);
 wxString sf_header_extension(int format);
 /** @brief Get the string name of the specified data encoding
  *
- * AND format with SF_FORMAT_SUBMASK to get only the data encoding and
+ * AND encoding_num with SF_FORMAT_SUBMASK to get only the data encoding and
  * then use SFC_GET_FORMAT_INFO to get the description 
- * @param format the libsndfile format to get the name for (only the data
- * encoding is used) */
+ * @param encoding_num the libsndfile encoding to get the name for (only the
+ * data encoding is used) */
 wxString sf_encoding_name(int encoding_num);
 
 //
diff --git a/src/FileNames.cpp b/src/FileNames.cpp
index 3b00b59..a78b3ca 100644
--- a/src/FileNames.cpp
+++ b/src/FileNames.cpp
@@ -118,14 +118,19 @@ wxString FileNames::DataDir()
 
 wxString FileNames::HtmlHelpDir()
 {
-   // FIX-ME uses DataDir().  Should use directory where we expect help to be.
-   // Perhaps it's same directory as Audacity.exe?
-   return FileNames::MkDir( wxFileName( DataDir(), wxT("Help") ).GetFullPath() );
+   // Use the Audacity.exe directory as a base (on Windows, others elsewhere)
+   wxString exeDir = wxStandardPaths::Get().GetDataDir();
+   return FileNames::MkDir( wxFileName( exeDir+wxT("/help/manual"), wxEmptyString ).GetFullPath() );
 }
 
-wxString FileNames::HtmlHelpIndexFile()
+wxString FileNames::HtmlHelpIndexFile(bool quick)
 {
-   return wxFileName( HtmlHelpDir(), wxT("index.htm") ).GetFullPath();
+   wxString htmlHelpIndex;
+   if(quick)
+      htmlHelpIndex = wxFileName( HtmlHelpDir(), wxT("quick_help.html") ).GetFullPath();
+   else
+      htmlHelpIndex = wxFileName( HtmlHelpDir(), wxT("index.html") ).GetFullPath();
+   return htmlHelpIndex;
 }
 
 wxString FileNames::ChainDir()
diff --git a/src/FileNames.h b/src/FileNames.h
index d5ae833..ecff0c1 100644
--- a/src/FileNames.h
+++ b/src/FileNames.h
@@ -14,6 +14,7 @@
 #include <wx/string.h>
 
 class wxFileName;
+class wxArrayString;
 
 // Uh, this is really a namespace rather than a class,
 // since all the functions are static.
@@ -34,7 +35,7 @@ public:
    static wxString DataDir();
    static wxString AutoSaveDir();
    static wxString HtmlHelpDir();
-   static wxString HtmlHelpIndexFile();
+   static wxString HtmlHelpIndexFile(bool quick);
    static wxString ChainDir();
    static wxString NRPDir();
    static wxString NRPFile();
diff --git a/src/FreqWindow.cpp b/src/FreqWindow.cpp
index 474d72f..41ad6c1 100644
--- a/src/FreqWindow.cpp
+++ b/src/FreqWindow.cpp
@@ -68,6 +68,9 @@ the mouse around.
 #include "FFT.h"
 #include "Internat.h"
 #include "PitchName.h"
+#include "Prefs.h"
+#include "Project.h"
+#include "WaveClip.h"
 #include "Theme.h"
 #include "AllThemeResources.h"
 
@@ -80,11 +83,11 @@ enum {
    FreqAlgChoiceID,
    FreqSizeChoiceID,
    FreqFuncChoiceID,
-   FreqAxisChoiceID
+   FreqAxisChoiceID,
+   ReplotButtonID,
+   GridOnOffID
 };
 
-FreqWindow *gFreqWindow = NULL;
-
 // These specify the minimum plot window width
 
 #define FREQ_WINDOW_WIDTH 480
@@ -92,15 +95,24 @@ FreqWindow *gFreqWindow = NULL;
 
 void InitFreqWindow(wxWindow * parent)
 {
-   if (gFreqWindow)
+   AudacityProject* p = GetActiveProject();
+   if (!p)
       return;
 
-   wxPoint where;
+   if(!p->mFreqWindow)
+   {
+      wxPoint where;
 
-   where.x = 150;
-   where.y = 150;
+      where.x = 150;
+      where.y = 150;
 
-   gFreqWindow = new FreqWindow(parent, -1, _("Frequency Analysis"), where);
+      p->mFreqWindow = new FreqWindow(parent, -1, _("Frequency Analysis"), where);
+   }
+   wxCommandEvent dummy;
+   p->mFreqWindow->OnReplot(dummy);
+   p->mFreqWindow->Show(true);
+   p->mFreqWindow->Raise();
+   p->mFreqWindow->SetFocus();
 }
 
 // FreqWindow
@@ -114,6 +126,8 @@ BEGIN_EVENT_TABLE(FreqWindow, wxDialog)
     EVT_CHOICE(FreqSizeChoiceID, FreqWindow::OnSizeChoice)
     EVT_CHOICE(FreqFuncChoiceID, FreqWindow::OnFuncChoice)
     EVT_CHOICE(FreqAxisChoiceID, FreqWindow::OnAxisChoice)
+    EVT_BUTTON(ReplotButtonID, FreqWindow::OnReplot)
+    EVT_CHECKBOX(GridOnOffID, FreqWindow::OnGridOnOff)
 END_EVENT_TABLE()
 
 FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
@@ -125,6 +139,9 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
 {
    mMouseX = 0;
    mMouseY = 0;
+   mRate = 0;
+   mDataLen = 0;
+   mBuffer = NULL;
 
    mFreqFont = wxFont(fontSize, wxSWISS, wxNORMAL, wxNORMAL);
    mArrowCursor = new wxCursor(wxCURSOR_ARROW);
@@ -133,6 +150,15 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
    mLeftMargin = 40;
    mBottomMargin = 20;
 
+   gPrefs->Read(wxT("/FreqWindow/DrawGrid"), &mDrawGrid, true);
+   gPrefs->Read(wxT("/FreqWindow/SizeChoice"), &mSize, 2);
+   gPrefs->Read(wxT("/FreqWindow/AlgChoice"), &mAlg, 0);
+   gPrefs->Read(wxT("/FreqWindow/FuncChoice"), &mFunc, 3);
+   gPrefs->Read(wxT("/FreqWindow/AxisChoice"), &mAxis, 0);
+   gPrefs->Read(wxT("/GUI/EnvdBRange"), &dBRange, ENV_DB_RANGE);
+   if(dBRange < 90.)
+      dBRange = 90.;
+
    mFreqPlot = new FreqPlot(this, 0,
                             wxDefaultPosition, wxDefaultSize);
 
@@ -153,7 +179,7 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
                              5, algChoiceStrings);
    mAlgChoice->SetName(_("Algorithm"));
 
-   mAlgChoice->SetSelection(0);
+   mAlgChoice->SetSelection(mAlg);
 
    wxString sizeChoiceStrings[8] = { wxT("128"),
       wxT("256"),
@@ -172,7 +198,7 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
                               8, sizeChoiceStrings);
    mSizeChoice->SetName(_("Size"));
 
-   mSizeChoice->SetSelection(2);
+   mSizeChoice->SetSelection(mSize);
 
    int f = NumWindowFuncs();
 
@@ -190,7 +216,7 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
                               f, funcChoiceStrings);
    mFuncChoice->SetName(_("Function"));
 
-   mFuncChoice->SetSelection(3);
+   mFuncChoice->SetSelection(mFunc);
    delete[]funcChoiceStrings;
 
    wxString axisChoiceStrings[2] = { _("Linear frequency"),
@@ -204,18 +230,28 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
                               2, axisChoiceStrings);
    mAxisChoice->SetName(_("Axis"));
 
-   mAxisChoice->SetSelection(0);
+   mAxisChoice->SetSelection(mAxis);
 
-   mLogAxis = false;
+   mLogAxis = mAxis?true:false;
 
    mExportButton = new wxButton(this, FreqExportButtonID,
                                 _("&Export..."));
    mExportButton->SetName(_("Export"));
 
+   mReplotButton = new wxButton(this, ReplotButtonID,
+                                _("&Replot"));
+   mReplotButton->SetName(_("Replot"));
+
    mCloseButton = new wxButton(this, wxID_CANCEL,
                                _("Close"));
    mCloseButton->SetName(_("Close"));
 
+   mGridOnOff = new wxCheckBox(this, GridOnOffID, _("Grids"),
+                            wxDefaultPosition, wxDefaultSize,
+                            wxALIGN_RIGHT);
+   mGridOnOff->SetName(_("Grids"));
+   mGridOnOff->SetValue(mDrawGrid);
+
 #ifndef TARGET_CARBON
    mCloseButton->SetDefault();
    mCloseButton->SetFocus();
@@ -275,10 +311,11 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
    vRuler = new RulerPanel(this, wxID_ANY);
    vRuler->ruler.SetBounds(0, 0, 100, 100); // Ruler can't handle small sizes
    vRuler->ruler.SetOrientation(wxVERTICAL);
-   vRuler->ruler.SetRange(10.0, -90.0);
+   vRuler->ruler.SetRange(10.0, -dBRange);
    vRuler->ruler.SetFormat(Ruler::LinearDBFormat);
    vRuler->ruler.SetUnits(_("dB"));
-   vRuler->ruler.SetLabelEdges(true);
+   vRuler->ruler.SetLabelEdges(false);
+
    int w, h;
    vRuler->ruler.GetMaxSize(&w, NULL);
    vRuler->SetSize(wxSize(w, 150));  // height needed for wxGTK
@@ -306,6 +343,8 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
 
    vs->Add( 1, 5, 0 );
 
+   wxFlexGridSizer *gs = new wxFlexGridSizer( 2 );
+
    hs = new wxBoxSizer( wxHORIZONTAL );
    hs->Add( algLabel, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 5 );
    hs->Add( mAlgChoice, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 5 );
@@ -313,7 +352,8 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
    hs->Add( mSizeChoice, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 5 );
    hs->Add( 10, 1, 0 );
    hs->Add( mExportButton, 0, wxALIGN_CENTER | wxALIGN_RIGHT | wxLEFT | wxRIGHT, 5 );
-   vs->Add( hs, 0, wxALIGN_CENTER_HORIZONTAL | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
+   gs->Add( hs, 0, wxALIGN_CENTER_HORIZONTAL | wxLEFT | wxRIGHT , 5 );
+   gs->Add( mReplotButton, 0, wxALIGN_CENTER | wxALIGN_RIGHT | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
 
    hs = new wxBoxSizer( wxHORIZONTAL );
    hs->Add( funcLabel, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 5 );
@@ -322,7 +362,9 @@ FreqWindow::FreqWindow(wxWindow * parent, wxWindowID id,
    hs->Add( mAxisChoice, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 5 );
    hs->Add( 10, 1, 0 );
    hs->Add( mCloseButton, 0, wxALIGN_CENTER | wxALIGN_RIGHT | wxLEFT | wxRIGHT, 5 );
-   vs->Add( hs, 0, wxALIGN_CENTER_HORIZONTAL | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
+   gs->Add( hs, 0, wxALIGN_CENTER_HORIZONTAL | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
+   gs->Add( mGridOnOff, 0, wxALIGN_CENTER | wxALIGN_RIGHT | wxLEFT | wxRIGHT, 5 );
+   vs->Add( gs, 0, wxEXPAND | wxBOTTOM, 0 );
 
    vs->Add( mInfo, 0, wxEXPAND | wxBOTTOM, 0 );
 
@@ -343,7 +385,73 @@ FreqWindow::~FreqWindow()
    delete mArrowCursor;
    delete mCrossCursor;
    if (mData)
-      delete[]mData;
+      delete[] mData;
+   if (mBuffer)
+      delete[] mBuffer;
+   if (mProcessed)
+      delete[] mProcessed;
+}
+
+void FreqWindow::GetAudio()
+{
+   int selcount = 0;
+   int i;
+   bool warning = false;
+   AudacityProject *p = GetActiveProject();
+   TrackListIterator iter(p->GetTracks());
+   Track *t = iter.First();
+   while (t) {
+      if (t->GetSelected() && t->GetKind() == Track::Wave) {
+         WaveTrack *track = (WaveTrack *)t;
+         if (selcount==0) {
+            mRate = track->GetRate();
+            sampleCount start, end;
+            start = track->TimeToLongSamples(p->mViewInfo.sel0);
+            end = track->TimeToLongSamples(p->mViewInfo.sel1);
+            mDataLen = (sampleCount)(end - start);
+            if (mDataLen > 10485760) {
+               warning = true;
+               mDataLen = 10485760;
+            }
+            if (mBuffer) {
+               delete [] mBuffer;
+            }
+            mBuffer = new float[mDataLen];
+            track->Get((samplePtr)mBuffer, floatSample, start, mDataLen);
+         }
+         else {
+            if (track->GetRate() != mRate) {
+               wxMessageBox(_("To plot the spectrum, all selected tracks must be the same sample rate."));
+               delete[] mBuffer;
+               mBuffer = NULL;
+               return;
+            }
+            sampleCount start;
+            start = track->TimeToLongSamples(p->mViewInfo.sel0);
+            float *buffer2 = new float[mDataLen];
+            track->Get((samplePtr)buffer2, floatSample, start, mDataLen);
+            for(i=0; i<mDataLen; i++)
+               mBuffer[i] += buffer2[i];
+            delete[] buffer2;
+         }
+         selcount++;
+      }
+      t = iter.Next();
+   }
+   
+   if (selcount == 0)
+      return;
+   
+   if (selcount > 1)
+      for(i=0; i<mDataLen; i++)
+         mBuffer[i] /= selcount;
+   
+   if (warning) {
+      wxString msg;
+      msg.Printf(_("Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."),
+                          (mDataLen / mRate));
+      wxMessageBox(msg);
+   }
 }
 
 void FreqWindow::OnSize(wxSizeEvent & event)
@@ -485,7 +593,7 @@ void FreqWindow::DrawPlot()
          lineheight = r.height - 2;
 
       if (ynorm > 0.0)
-         memDC.DrawLine(r.x + 1 + i, r.y + r.height - 1 - lineheight,
+         AColor::Line(memDC, r.x + 1 + i, r.y + r.height - 1 - lineheight,
                         r.x + 1 + i, r.y + r.height - 1);
 
       if (mLogAxis)
@@ -499,10 +607,15 @@ void FreqWindow::DrawPlot()
    memDC.SetBrush(*wxTRANSPARENT_BRUSH);
    memDC.DrawRectangle(r);
 
+   if(mDrawGrid)
+   {
+      hRuler->ruler.DrawGrid(memDC, r.height, true, true, 1, 1);
+      vRuler->ruler.DrawGrid(memDC, r.width, true, true, 1, 1);
+   }
+
    memDC.SelectObject( wxNullBitmap );
 
    mBitmap->SetMask( new wxMask( *mBitmap, wxColour(254, 254, 254) ) );
-
 }
 
 
@@ -758,7 +871,7 @@ void FreqWindow::PlotPaint(wxPaintEvent & evt)
          px = int ((bestpeak - xMin) * width / (xMax - xMin));
 
       dc.SetPen(wxPen(wxColour(160,160,160), 1, wxSOLID));
-      dc.DrawLine(r.x + 1 + px, r.y, r.x + 1 + px, r.y + r.height);
+      AColor::Line(dc, r.x + 1 + px, r.y, r.x + 1 + px, r.y + r.height);
 
        // print out info about the cursor location
 
@@ -779,8 +892,8 @@ void FreqWindow::PlotPaint(wxPaintEvent & evt)
       const wxChar *pp;
 
       if (alg == 0) {
-         xpitch = PitchName_Absolute(Freq2Pitch(xPos));
-         peakpitch = PitchName_Absolute(Freq2Pitch(bestpeak));
+         xpitch = PitchName_Absolute(FreqToMIDInoteNumber(xPos));
+         peakpitch = PitchName_Absolute(FreqToMIDInoteNumber(bestpeak));
          xp = xpitch.c_str();
          pp = peakpitch.c_str();
 
@@ -789,8 +902,8 @@ void FreqWindow::PlotPaint(wxPaintEvent & evt)
                int (value + 0.5), int (bestpeak + 0.5),
                pp, bestValue);
       } else if (xPos > 0.0 && bestpeak > 0.0) {
-         xpitch = PitchName_Absolute(Freq2Pitch(1.0 / xPos));
-         peakpitch = PitchName_Absolute(Freq2Pitch(1.0 / bestpeak));
+         xpitch = PitchName_Absolute(FreqToMIDInoteNumber(1.0 / xPos));
+         peakpitch = PitchName_Absolute(FreqToMIDInoteNumber(1.0 / bestpeak));
          xp = xpitch.c_str();
          pp = peakpitch.c_str();
          info.Printf(_("Cursor: %.4f sec (%d Hz) (%s) = %f,    Peak: %.4f sec (%d Hz) (%s) = %.3f"),
@@ -817,19 +930,28 @@ void FreqWindow::OnCloseWindow(wxCloseEvent & WXUNUSED(event))
 
 void FreqWindow::OnCloseButton(wxCommandEvent & WXUNUSED(event))
 {
+   gPrefs->Write(wxT("/FreqWindow/DrawGrid"), mDrawGrid);
+   gPrefs->Write(wxT("/FreqWindow/SizeChoice"), mSizeChoice->GetSelection());
+   gPrefs->Write(wxT("/FreqWindow/AlgChoice"), mAlgChoice->GetSelection());
+   gPrefs->Write(wxT("/FreqWindow/FuncChoice"), mFuncChoice->GetSelection());
+   gPrefs->Write(wxT("/FreqWindow/AxisChoice"), mAxisChoice->GetSelection());
    this->Show(FALSE);
 }
 
-void FreqWindow::Plot(int len, float *data, double rate)
+void FreqWindow::Plot()
 {
-   mRate = rate;
-   mDataLen = len;
-   if (mData)
+   if (mData) {
       delete[]mData;
-   mData = new float[len];
-   for (int i = 0; i < len; i++)
-      mData[i] = data[i];
+      mData = NULL;
+   }
+
+   if (mBuffer) {
+      mData = new float[mDataLen];
+      for (int i = 0; i < mDataLen; i++)
+         mData[i] = mBuffer[i];
+   }
    Recalc();
+
    wxSizeEvent dummy;
    OnSize( dummy );
 }
@@ -882,6 +1004,15 @@ void FreqWindow::Recalc()
    for(int i=0; i<mWindowSize; i++)
       win[i] = 1.0;
    WindowFunc(windowFunc, mWindowSize, win);
+   // Scale window such that an amplitude of 1.0 in the time domain
+   // shows an amplitude of 0dB in the frequency domain
+   double wss = 0;
+   for(int i=0; i<mWindowSize; i++)
+      wss += win[i];
+   if(wss > 0)
+      wss = 4.0 / (wss*wss);
+   else
+      wss = 1.0;
 
    int start = 0;
    int windows = 0;
@@ -902,8 +1033,11 @@ void FreqWindow::Recalc()
       case 3:   // Autocorrelation, Cuberoot AC or Enhanced AC
 
          // Take FFT
+#ifdef EXPERIMENTAL_USE_REALFFTF
+         RealFFT(mWindowSize, in, out, out2);
+#else
          FFT(mWindowSize, false, in, NULL, out, out2);
-
+#endif
          // Compute power
          for (i = 0; i < mWindowSize; i++)
             in[i] = (out[i] * out[i]) + (out2[i] * out2[i]);
@@ -920,7 +1054,11 @@ void FreqWindow::Recalc()
                in[i] = pow(in[i], 1.0f / 3.0f);
          }
          // Take FFT
+#ifdef EXPERIMENTAL_USE_REALFFTF
+         RealFFT(mWindowSize, in, out, out2);
+#else
          FFT(mWindowSize, false, in, NULL, out, out2);
+#endif
 
          // Take real part of result
          for (i = 0; i < half; i++)
@@ -928,20 +1066,30 @@ void FreqWindow::Recalc()
          break;
 
       case 4:                  // Cepstrum
+#ifdef EXPERIMENTAL_USE_REALFFTF
+         RealFFT(mWindowSize, in, out, out2);
+#else
          FFT(mWindowSize, false, in, NULL, out, out2);
+#endif
 
          // Compute log power
+         // Set a sane lower limit assuming maximum time amplitude of 1.0
          float power;
+         float minpower = 1e-20*mWindowSize*mWindowSize;
          for (i = 0; i < mWindowSize; i++)
          {
             power = (out[i] * out[i]) + (out2[i] * out2[i]);
-            if(power <= 0.)
-               in[i] = -100000.;
+            if(power < minpower)
+               in[i] = log(minpower);
             else
-               in[i] = log((out[i] * out[i]) + (out2[i] * out2[i]));
+               in[i] = log(power);
          }
          // Take IFFT
+#ifdef EXPERIMENTAL_USE_REALFFTF
+         InverseRealFFT(mWindowSize, in, NULL, out);
+#else
          FFT(mWindowSize, true, in, NULL, out, out2);
+#endif
 
          // Take real part of result
          for (i = 0; i < half; i++)
@@ -955,21 +1103,26 @@ void FreqWindow::Recalc()
    }
 
    switch (alg) {
+   double scale;
    case 0:                     // Spectrum
       // Convert to decibels
       mYMin = 1000000.;
       mYMax = -1000000.;
+      scale = wss / (double)windows;
       for (i = 0; i < half; i++)
       {
-         mProcessed[i] = 10 * log10(mProcessed[i] / mWindowSize / windows);
+         mProcessed[i] = 10 * log10(mProcessed[i] * scale);
          if(mProcessed[i] > mYMax)
             mYMax = mProcessed[i];
          else if(mProcessed[i] < mYMin)
             mYMin = mProcessed[i];
       }
-      if(mYMin < -90.)
-         mYMin = -90.;
-      mYMax += .5;
+      if(mYMin < -dBRange)
+         mYMin = -dBRange;
+      if(mYMax <= -dBRange)
+         mYMax = -dBRange + 10.; // it's all out of range, but show a scale.
+      else
+         mYMax += .5;
 
       mProcessedSize = half;
       mYStep = 10;
@@ -1109,10 +1262,40 @@ void FreqWindow::OnExport(wxCommandEvent & WXUNUSED(event))
    f.Close();
 }
 
+void FreqWindow::OnReplot(wxCommandEvent & WXUNUSED(event))
+{
+   gPrefs->Read(wxT("/GUI/EnvdBRange"), &dBRange, ENV_DB_RANGE);
+   if(dBRange < 90.)
+      dBRange = 90.;
+   GetAudio();
+   
+   AudacityProject* p = GetActiveProject();
+   if (!p)
+      return;
+
+   if(p->mFreqWindow)
+      p->mFreqWindow->Plot();
+}
+
+void FreqWindow::OnGridOnOff(wxCommandEvent & WXUNUSED(event))
+{
+   if( mGridOnOff->IsChecked() )
+      mDrawGrid = true;
+   else
+      mDrawGrid = false;
+
+   AudacityProject* p = GetActiveProject();
+   if (!p)
+      return;
+
+   if(p->mFreqWindow)
+      p->mFreqWindow->Plot();
+}
 
 BEGIN_EVENT_TABLE(FreqPlot, wxWindow)
-    EVT_PAINT(FreqPlot::OnPaint)
-    EVT_MOUSE_EVENTS(FreqPlot::OnMouseEvent)
+   EVT_ERASE_BACKGROUND(FreqPlot::OnErase)
+   EVT_PAINT(FreqPlot::OnPaint)
+   EVT_MOUSE_EVENTS(FreqPlot::OnMouseEvent)
 END_EVENT_TABLE()
 
 FreqPlot::FreqPlot(wxWindow * parent, wxWindowID id,
@@ -1122,6 +1305,11 @@ FreqPlot::FreqPlot(wxWindow * parent, wxWindowID id,
    freqWindow = (FreqWindow *) parent;
 }
 
+void FreqPlot::OnErase(wxEraseEvent &evt)
+{
+   // Ignore it to prevent flashing
+}
+
 void FreqPlot::OnPaint(wxPaintEvent & evt)
 {
    freqWindow->PlotPaint(evt);
diff --git a/src/FreqWindow.h b/src/FreqWindow.h
index 34c7c2b..a4b8e96 100644
--- a/src/FreqWindow.h
+++ b/src/FreqWindow.h
@@ -14,6 +14,7 @@
 #include <wx/brush.h>
 #include <wx/frame.h>
 #include <wx/panel.h>
+#include <wx/checkbox.h>
 #include <wx/dialog.h>
 #include <wx/gdicmn.h>
 #include <wx/pen.h>
@@ -31,8 +32,6 @@ class FreqWindow;
 
 class TrackList;
 
-extern FreqWindow *gFreqWindow;
-
 void InitFreqWindow(wxWindow * parent);
 
 class FreqWindow;
@@ -44,6 +43,7 @@ class FreqPlot:public wxWindow {
 
    void OnMouseEvent(wxMouseEvent & event);
    void OnPaint(wxPaintEvent & event);
+   void OnErase(wxEraseEvent & event);
 
  private:
 
@@ -58,8 +58,9 @@ class FreqWindow:public wxDialog {
               const wxString & title, const wxPoint & pos);
 
    virtual ~ FreqWindow();
+   void GetAudio();
 
-   void Plot(int len, float *data, double rate);
+   void Plot();
 
    void PlotMouseEvent(wxMouseEvent & event);
    void PlotPaint(wxPaintEvent & event);
@@ -72,11 +73,20 @@ class FreqWindow:public wxDialog {
    void OnFuncChoice(wxCommandEvent & event);
    void OnAxisChoice(wxCommandEvent & event);
    void OnExport(wxCommandEvent & event);
+   void OnReplot(wxCommandEvent & event);
+   void OnGridOnOff(wxCommandEvent & event);
 
    void Recalc();
    void DrawPlot();
 
  private:
+   float *mBuffer;
+   bool mDrawGrid;
+   int mSize;
+   int mAlg;
+   int mFunc;
+   int mAxis;
+   int dBRange;
 
 #ifdef __WXMSW__
    static const int fontSize = 8;
@@ -95,10 +105,12 @@ class FreqWindow:public wxDialog {
 
    wxButton *mCloseButton;
    wxButton *mExportButton;
+   wxButton *mReplotButton;
    wxChoice *mAlgChoice;
    wxChoice *mSizeChoice;
    wxChoice *mFuncChoice;
    wxChoice *mAxisChoice;
+   wxCheckBox *mGridOnOff;
 
    wxRect mPlotRect;
    wxRect mInfoRect;
diff --git a/src/HelpText.cpp b/src/HelpText.cpp
index faa6e28..24d8b9b 100644
--- a/src/HelpText.cpp
+++ b/src/HelpText.cpp
@@ -17,6 +17,8 @@
 
 #include "Audacity.h"
 #include "HelpText.h"
+#include "FileNames.h"
+
 
 
 wxString WrapText( const wxString & Text )
@@ -48,6 +50,29 @@ wxString WikiLink( const wxString &Key, const wxString& Text )
       wxT("</a>");
 }
 
+wxString FileLink( const wxString &Key, const wxString& Text )
+{
+   return wxString(wxT("")) +
+      wxT("<a href='") +
+      wxT("file:") +
+      FileNames::HtmlHelpDir() +
+      Key +
+      wxT("'>") +
+      Text +
+      wxT("</a>");
+}
+
+wxString HttpLink( const wxString &Key, const wxString& Text )
+{
+   return wxString(wxT("")) +
+      wxT("<a href='") +
+      wxT("http:") +
+      Key +
+      wxT("'>") +
+      Text +
+      wxT("</a>");
+}
+
 wxString LinkExpand( const wxString & Text )
 {
    wxString Temp = Text;
@@ -70,6 +95,14 @@ wxString LinkExpand( const wxString & Text )
       {
          Replacement = WikiLink( Key.Mid( 5 ), LinkText );
       }
+      else if( Key.StartsWith( wxT("file:") ))
+      {
+         Replacement = FileLink( Key.Mid( 5 ), LinkText );
+      }
+      else if( Key.StartsWith( wxT("http:") ))
+      {
+         Replacement = HttpLink( Key.Mid( 5 ), LinkText );
+      }
       else
       {
          Replacement = Link( Key, LinkText );
@@ -80,11 +113,6 @@ wxString LinkExpand( const wxString & Text )
    return Temp;
 }
 
-wxString ToWelcome( )
-{
-   return _("To [[welcome|Welcome screen]]");
-}
-
 wxString TitleText( const wxString & Key )
 {
    if(Key==wxT("welcome"))
@@ -144,266 +172,26 @@ wxString HelpTextBuiltIn( const wxString & Key )
    if(Key==wxT("welcome"))
    {
       return WrapText(
-wxString(wxT("")) +
-_("</p><center><h3>Getting Started</h3></center><br>") +
-/** i18n-hint: where you see [[key|text]] translate 'text' and don't translate 'key' */
-_("Welcome to Audacity ") + AUDACITY_VERSION_STRING + wxT("! ") +
-_("Learn how to: \
-<ul><li>\
-[[play|play]] an existing audio file \
-<li>[[record|record]] your voice, LP or tape \
-<li>[[edit|edit]] sounds \
-<li>[[save|save or open an Audacity project]] \
-<li>[[export|export]] to an MP3 or other audio file, or [[burncd|burn to a CD]]  \
-</ul></p><p>") +
-_("This screen can be viewed at any time \
-by clicking the <i>Help</i> menu, then <i>Show Welcome Message</i>. \
-For a detailed guide to all the Audacity menus and controls, click  \
-<i>Help</i> menu then <i>Index</i>, or download our <a href=\"http://audacity.sourceforge.net/help/documentation/manual_1.4.pdf\">full Manual</a> \
-in PDF format.\
-</p>")
-         );
+         wxString(wxT("")) +
+         _("<center><h3>How to get Help</h3></center>") +
+         _("Welcome to Audacity ") + AUDACITY_VERSION_STRING + wxT("!<p>") +
+         _("These are our support methods:") + wxT("</p>") + wxT("<ul><li>") + 
+         _(" [[file:quick_help.html|Quick Help]] (should be installed locally, <a href=\"http://manual.audacityteam.org/index.php?title=Quick_Help\">internet version if it isn't</a>)") + wxT("</li><li>") +
+         _(" [[file:index.html|Manual]] (should be installed locally, <a href=\"http://manual.audacityteam.org/index.php\">internet version if it isn't</a>)") + wxT("</li><li>") +
+         _(" [[http://wiki.audacityteam.org/index.php|Wiki]] (the latest tips, tricks and tutorials, on the internet)") + wxT("</li><li>") +
+         _(" <a href=\"http://forum.audacityteam.org/\">Forum</a> (ask your question directly, on the internet)") + wxT("</li></ul></p><p>") +
+         _(" For even quicker answers, all the online resources above are <b>searchable</b>.")  + wxT("</p>") 
+      );
    }
 
-   if(Key ==wxT("play") )
-   {
-      return WrapText(
-wxString(wxT(""))+
-_("<p><b>Opening audio files:</b> \
-Either drag the files into the current project window, or click <i>File &gt; Import &gt; Audio</i>. \
-Files can be opened into a new project window with <i>File &gt; Open</i>. \
-The main formats Audacity plays are <b>AIFF, AU, FLAC, M4A</b> (only on a \
-Mac), <b>MP2/MP3, OGG Vorbis</b> and <b>WAV</b>. Click [[wma-proprietary|here]] if your file is in some other format. \
-<b>To import a CD:</b> extract it to WAV or AIFF using iTunes, Windows Media Player 11 or similar. \
-See our online guide: [[wiki:How_to_import_CDs|importing CDs]].</p><p> \
-<p><b>Playing audio:</b> Press the green Play button to start playback. \
-Press the blue Pause button once to pause playback, and again to resume. \
-To stop, press the yellow Stop button. \
-Spacebar can be used to either play or stop. \
-After stopping, playback resumes from its last starting point. \
-To change the starting point, click in the track at your desired starting point. \
-The <b>|&lt;&lt;</b> and <b>&gt;&gt;|</b> buttons can be used to skip to the start or end of the track respectively. \
-</p><br><br>")+
-ToWelcome()
-         );
-   }
-   if((Key ==wxT("record") ) || (Key ==wxT("norecord") ))
-   {
-      return WrapText(
-wxString(wxT(""))+ 
-_("<p><b>To record:</b> Set the recording device and input source, adjust the input level, \
-then press the red Record button.\
-</b></p><p> \
-1) [[inputdevice|Set Recording Device]] either in the <i>Audio I/O tab of Preferences</i> \
-or in <i>Device Toolbar</i>. Audio I/O Preferences lets you choose stereo recording if required.<br> \
-2) [[inputsource|Set input source]] for that device (for example, microphone or line-in) \
-in the dropdown selector of the <i>Mixer Toolbar</i>, \
-or (on some systems) at Recording Device in the <i>Audio I/O tab of Preferences</i> \
-or in <i>Device Toolbar</i>.<br> \
-3) [[inputlevel|Adjust input level]] using the right-hand slider \
-on the <i>Mixer Toolbar</i>. Correct adjustment of level before recording \
-is essential to avoid noise or distortion. \
-</p><p> \
-More help at: \"Recording\" <a href=\"http://audacity.sourceforge.net/help/faq\">FAQs</a>, \
-our Tutorial <a href=\"http://www.audacityteam.org/manual/index.php?title=Tutorial_-_Your_First_Recording\"> \
-Your First Recording</a> in the \
-<a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">Manual</a>, \
-and our Wiki [[wiki:Recording_Tips|Recording Tips]] and \
-[[wiki:Troubleshooting_Recordings|Troubleshooting Recordings]] pages. \
-</p><br><br>") +
-ToWelcome()
-         );
-   }
-   if (Key ==wxT("inputdevice") )
-   {
-      return WrapText(
-wxString(wxT(""))+ 
-_("<p>The input device is the actual physical sound device you are recording from. \
-This is chosen at \"Recording Device\" in the <i>Audio I/O tab of Preferences</i>, \
-On Windows and Linux, Preferences are at the bottom of the <i>Edit</i> Menu. \
-On a Mac, they in the <i>Audacity</i> Menu. \
-You can also conveniently select Recording Device in the <i>Device Toolbar</i>, \
-which can be enabled at <i>View &gt; Toolbars...</i>. \
-</p><p> \
-By default, Audacity uses the device currently being used by the system, \
-(usually your inbuilt sound device), \
-so it is often not necessary to change the input device. \
-On Windows, this current system device can be selected as \"Microsoft Sound Mapper\". \
-If you are recording from an external USB or Firewire device such as a USB turntable, \
-select it explicitly by name as recording device after conecting it. \
-</p><p> \
-Back to [[record|Recording Audio]] \
-<br></p>") +
-ToWelcome()
-         );
-   }
-   if (Key ==wxT("inputsource") ) 
-   {
-      return WrapText(
-wxString(wxT(""))+ 
-_("<p>Select the input source (such as microphone or line-in) for your [[inputdevice|recording device]]:<br> \
-- <b>On Windows (except Vista)</b> and <b>Linux</b>, in the dropdown selector on the right of the <i>Mixer Toolbar</i>.<br> \
-- <b>On Windows Vista</b> and <b>Mac</b>, at Recording Device on the \
-<i>Audio I/O tab of Preferences</i>, or in <i>Device Toolbar</i>. \
-The source will be shown as part of the parent device \
-(for example, <i>High Def Audio Card: Microphone</i>). \
-If necessary, Mac users can choose the input source at Apple Audio MIDI Setup. \
-<br><i><b>Note:</b> many USB or Firewire recording devices don't have a choice of inputs, \
-so this step is not necessary. If in doubt, see the documentation for your device. \
-</i></p><p> \
-<b>Tip:</b> To <a href=\"http://audacity.sourceforge.net/help/faq?s=recording&i=streaming\">record audio playing on the computer</a>, \
-Windows and Linux users can choose the \"Stereo Mix\", \"Wave Out\", \"Sum\" \
-or comparable input source. \
-</p><p> \
-Back to [[record|Recording Audio]] \
-<br></p>") +
-ToWelcome()
-         );
-   }
-   if(Key ==wxT("inputlevel") )
-   {
-      return WrapText(
-wxString(wxT(""))+
-_("<p>The input level must be set correctly. \
-If the level is too low, there will be background noise. \
-If the level is too high, there will be distortion in the loud parts. \
-</p><p>\
-To set the level, either see this [[wiki:Recording_levels|illustrated online guide]] \
-or follow these steps: \
-<ol><li>\
-Turn on <b>monitoring</b>. Double-click the right-hand of the two <i>VU Meters</i> \
-(or right-click over it) and click \"Start Monitoring\". \
-If the meters are not visible, click <i>View &gt; Toolbars</i> and check \"Meter Toolbar\". \
-</li><li>Adjust the input slider on the <i>Mixer Toolbar</i> \
-(by the microphone symbol), so that the red bars in the meter come close to <b>but do not touch</b> \
-the right edge of the scale. \
-If you can't hear the monitored audio, go to the <i>Audio I/O tab of Preferences</i> \
-and check \"Software Playthrough\". \
-</li></ol></p><p> \
-Back to [[record|Recording Audio]] \
-<br></p>")+
-ToWelcome()
-         );
-   }
-   if((Key ==wxT("edit") ) || (Key==wxT("grey")))
-   {
-      return WrapText(
-wxString(wxT(""))+
-_("<p>The main commands for editing audio are under the <i>Edit</i> menu (such \
-as cut, copy and paste) and the <i>Effect</i> menu (you can do things like \
-boost the bass, change pitch or tempo, or remove noise). </p><p> \
-Audacity applies edits to selected areas of the audio track. To select a \
-particular area, click in the track and drag the shaded area with the mouse. \
-If no audio is selected, Audacity selects all the audio in the project window.\
-</p><p> \
-When playing or recording, the Edit and Effect menus will appear greyed out, \
-because a moving track can't be edited. Commands can sometimes be unavailable \
-for other reasons too. For example, you can't run effects until you have audio \
-on the screen, and you can't paste audio until you've cut or copied it to \
-Audacity's clipboard. </p><br><br>")+
-ToWelcome()
-         );
-   }
-   if(Key ==wxT("save") )
-   {
-      return WrapText(
-wxString(wxT(""))+
-_("<p>To return later to your unfinished work in Audacity \
-with all tracks and edits as you left them, save an Audacity project. \
-To play your current work in other media programs or send it to others, \
-[[export|export]] an audio file such as WAV or MP3. \
-</p><p> \
-<i>File &gt; Save Project</i> saves an <b>.aup</b> project file and  \
-a <b>_data</b> folder containing the actual audio. \
-To re-open a saved project, click <i>File &gt; Open</i> and open the .aup file. \
-If you save and exit more than once, an .aup.bak backup file is created, \
-but the .aup file should always be opened if present. \
-When your final exported file is exactly as you want, delete the \
-project files and _data folder to save disc space. \
-</p><p><i>File &gt; Save Project As...</i> is for saving an empty project. \
-It also lets you save an existing Project to a <b> new</b> name. \
-This is the only safe way to rename a project. The .aup file and _data folder \
-should not be moved or renamed manually. \
-</p><p>")+
-ToWelcome()
-         );
-   }
-   if(Key ==wxT("export") )
-   {
-      return WrapText(
-wxString(wxT(""))+
-_("To hear your work in other media programs, export it to an audio file such as WAV or MP3 \
-(some formats are [[wma-proprietary|unsupported]]). \
-[[save|Saving an Audacity project]] creates a project file (and linked _data folder) \
-containing all your edited tracks, so you can return to your work later. \
-However, other programs can't read Audacity projects. </p><p> \
-To export, click <i>File &gt; Export</i> then choose the file format you want to export to \
-in the \"Save as type\" dropdown. \
-To [[burncd|burn a CD]] for standalone CD players, choose WAV or AIFF. \
-To export as MP3, the [[wiki:Lame_Installation|Lame Encoder]] must be installed. \
-</p><p> \
-<i>File &gt; Export Selection</i> exports only a selected area of audio. <i>Use File &gt; Export Multiple</i> \
-to export multiple files at the same time, either \
-one for each audio track, or one for each labeled area in a single track. \
-<i>Tracks &gt; Add Label At Selection</i> lets you \
-[[wiki:Splitting_recordings_into_separate_tracks|split the tracks]] \
-from an album for multiple export as separate files. \
-</p><br><br>")+
-ToWelcome()
-         );
-   }
-   if(Key ==wxT("wma-proprietary") )
-   {
-      return WrapText(
-         wxString(wxT(""))+
-_("<p>Audacity <b>cannot</b> [[play|play]] or [[export|export]] files in <b>WMA, RealAudio, Shorten (SHN)</b> \
-or most other proprietary formats, due to licensing and patent restrictions.  \
-On a Mac computer, unprotected <b>AAC</b> formats such as <b>M4A</b> can be imported. \
-Some open formats are not yet supported, including <b>Ogg Speex</b> and <b>Musepack</b>. \
-Files protected by any kind of Digital Rights Management (DRM), including \
-most purchased online such as from iTunes or Napster, <b>cannot</b> be imported.</p><p> \
-If you can't import your file into Audacity, \
-then if it is not DRM-protected, use iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a> \
-to convert it to WAV or AIFF. \
-If it is protected, burn it to an audio CD in the program licensed to play it, \
-then extract the CD track to WAV or AIFF using \
-ITunes or (on Windows) <a href=\"http://cdexos.sourceforge.net/?q=download\">CDex</a> or \
-Windows Media Player 11. You could also \
-<a href=\"http://audacity.sourceforge.net/help/faq?s=recording&amp;i=streaming\">record</a> the CD to your computer. \
-<i>To export to an unsupported format, export to WAV or AIFF and \
-convert it to the desired format in iTunes or <a href=\"http://www.erightsoft.com/SUPER.html#Dnload\">SUPER</a>. \
-</i></p><p>")+
-ToWelcome()
-         );
-     }
-   if(Key ==wxT("burncd") )
-   {
-      return WrapText(
-         wxString(wxT(""))+
-_("<p>To burn your work to an audio CD for standalone CD players, first \
-[[export|export]] it as WAV or AIFF. \
-The exported file should be stereo, 44100 Hz (set in the \"Project Rate\" button bottom left) \
-and 16 bit (set in the \"Options\" button in the file export dialog). \
-These are Audacity's default settings, \
-so normally you will not need to change these before exporting. \
-<p>Burn the exported file to an \"audio CD\" - not a \"data CD\" or \"MP3 CD\" - \
-with a CD burning program like iTunes or Windows Media Player. \
-For more help, see [[wiki:How_to_burn_CDs|How to burn CDs]] online. \
-</p><p>") +
-ToWelcome()
-         );
-   }
    // Remote help allows us to link to a local copy of the help if it exists,
    // or provide a message that takes you to the internet if it does not.
    // It's used by the menu item Help > Index
    if(Key ==  wxT("remotehelp") )
    {
 // *URL* will be replaced by whatever URL we are looking for.
-      return WrapText(
-_("<p>Help for Audacity Beta is currently unfinished. \
-For now, a draft manual is available <a href=\"http://www.audacityteam.org/manual/index.php?title=Main_Page\">online</a>. \
-Alternatively, click <a href=\"http://www.audacityteam.org/manual/index.php?title=Temporary_HTML_Manual_Export\">here</a> \
-to download a single-page version of the manual which can be viewed in this window.")
+      return WrapText(_("<p>You do not appear to have 'help' installed on your computer.<br> \
+Please <a href=\"*URL*\">view or download it online</a>.")
          );
    }
    return wxT("");
diff --git a/src/HistoryWindow.cpp b/src/HistoryWindow.cpp
index 0cf63a8..f2dc168 100644
--- a/src/HistoryWindow.cpp
+++ b/src/HistoryWindow.cpp
@@ -121,6 +121,7 @@ HistoryWindow::HistoryWindow(AudacityProject *parent, UndoManager *manager):
    Fit();
    SetMinSize(GetSize());
    mList->SetColumnWidth(0, mList->GetClientSize().x - mList->GetColumnWidth(1));
+   mList->SetTextColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
 }
 
 HistoryWindow::~HistoryWindow()
@@ -206,7 +207,6 @@ void HistoryWindow::OnItemSelected(wxListEvent &event)
 
    for (i = 0; i < mList->GetItemCount(); i++) {
       mList->SetItemImage(i, 0);
-
       if (i > selected)
          mList->SetItemTextColour(i, *wxLIGHT_GREY);
       else
diff --git a/src/Internat.cpp b/src/Internat.cpp
index c4c3d6c..9e1455c 100644
--- a/src/Internat.cpp
+++ b/src/Internat.cpp
@@ -20,34 +20,25 @@ and on Mac OS X for the filesystem.
 
 *//*******************************************************************/
 
-
-#include "Internat.h"
-
+#include <wx/msgdlg.h> 
 #include <wx/log.h>
 #include <wx/intl.h>
 #include <wx/filename.h>
 
-#ifdef __WXMAC__
-#include <wx/mac/private.h>
-#endif
-
 #include <locale.h>
 #include <math.h> // for pow()
 
+#include "Internat.h"
+#include "FileDialog.h"
+
 // in order for the static member variables to exist, they must appear here
 // (_outside_) the class definition, in order to be allocated some storage.
 // Otherwise, you get link errors.
 
 wxChar Internat::mDecimalSeparator = wxT('.'); // default
-wxMBConv *Internat::mConvLocal = NULL;
 wxString Internat::forbid;
 wxArrayString Internat::exclude;
-
-
-#ifdef __WXMAC__
-void *Internat::mTECToUTF = NULL;
-void *Internat::mTECFromUTF = NULL;
-#endif
+wxCharBuffer Internat::mFilename;
 
 void Internat::Init()
 {
@@ -58,50 +49,11 @@ void Internat::Init()
 
 //   wxLogDebug(wxT("Decimal separator set to '%c'"), mDecimalSeparator);
 
-   #ifndef __WXMAC__
-   // Set up character-set conversion for UTF-8 input and output.
-   mConvLocal = new wxCSConv(wxLocale::GetSystemEncodingName());
-   #else
-   // Set up a special converter to/from the Mac-specific local
-   // encoding (usually MacRoman)
-   OSStatus status = noErr;
-   TECObjectRef ec;
-
-   TextEncoding MacEncoding = GetApplicationTextEncoding();
-   TextEncoding UTF8 = CreateTextEncoding(kTextEncodingUnicodeDefault,
-                                          kUnicodeNoSubset,
-                                          kUnicodeUTF8Format);
-   status = TECCreateConverter(&ec, MacEncoding, UTF8);
-   if (status == noErr)
-      mTECToUTF = (void *)ec;
-   else
-      mTECToUTF = NULL;
-   
-   status = TECCreateConverter(&ec, UTF8, MacEncoding);
-   if (status == noErr)
-      mTECFromUTF = (void *)ec;
-   else
-      mTECFromUTF = NULL;
-
-   #endif
-
    // Setup list of characters that aren't allowed in file names
    wxFileName tmpFile;
    forbid = tmpFile.GetForbiddenChars();
    for(unsigned int i=0; i < forbid.Length(); i++)
       exclude.Add( forbid.Mid(i, 1) );
-
-}
-
-// JKC: Added to fix a memory leak.
-void Internat::CleanUp()
-{
-#ifndef __WXMAC__
-   if( mConvLocal != NULL )
-   {
-      delete mConvLocal;
-   }
-#endif
 }
 
 wxChar Internat::GetDecimalSeparator()
@@ -207,97 +159,41 @@ wxString Internat::FormatSize(double size)
    return sizeStr;
 }
 
-#ifdef __WXMAC__IGNORE
-
-// wxMac 2.4.x doesn't support converting to/from Mac encodings yet,
-// so we use Mac OS X-specific code
-
-wxString MacConvertString(TECObjectRef ec,
-                          wxString input)
-{
-   OSStatus status = noErr;
-   ByteCount byteOutLen;
-   ByteCount byteInLen = input.Length();
-   ByteCount byteBufferLen = byteInLen * 8 + 1;
-   char* buf = new char[byteBufferLen] ;
-
-   status = TECConvertText(ec,
-                           (ConstTextPtr)input.c_str(),
-                           byteInLen,
-                           &byteInLen,
-                           (TextPtr)buf,
-                           byteBufferLen,
-                           &byteOutLen);
-
-   if (status != noErr) {
-      delete[] buf;
-      return input;
-   }
-
-   buf[byteOutLen] = 0;
-
-   wxString result = wxString(buf, wxConvLocal);
-   delete[] buf;
-
-   return result;
-}
-
-wxString Internat::LocalToUTF8(const wxString &s)
-{
-   if (!mTECToUTF)
-      return s;
-
-   return MacConvertString((TECObjectRef)mTECToUTF, s);
-}
-
-wxString Internat::UTF8ToLocal(const wxString &s)
-{
-   if (!mTECFromUTF)
-      return s;
-
-   return MacConvertString((TECObjectRef)mTECFromUTF, s);
-}
-
-wxString Internat::ToFilename(const wxString &s)
-{
-   return LocalToUTF8(s);
-}
-
-wxString Internat::FromFilename(const wxString &s)
+#if defined(__WXMSW__)
+//
+// On Windows, wxString::mb_str() can return a NULL pointer if the
+// conversion to multi-byte fails.  So, based on direction intent,
+// returns a pointer to an empty string or prompts for a new name.
+//
+char *Internat::VerifyFilename(const wxString &s, bool input)
 {
-   return UTF8ToLocal(s);
-}
+   static wxCharBuffer buf;
+   wxString name = s;
 
-#else
-
-wxString Internat::LocalToUTF8(const wxString &s)
-{
-#if defined(__WXMAC__)
-   return wxString(s, wxConvUTF8);
-#else
-   return wxString(s.wc_str(*mConvLocal), wxConvUTF8);
-#endif
-}
-
-wxString Internat::UTF8ToLocal(const wxString &s)
-{
-#if defined(__WXMAC__)
-   return wxString(s, wxConvLocal);
-#else
-   return wxString(s.wc_str(wxConvUTF8), *mConvLocal);
-#endif
-}
+   if (input) {
+      if ((char *) (const char *)name.mb_str() == NULL) {
+         name = wxEmptyString;
+      }
+   }
+   else {
+      wxFileName f(name);
+      while ((char *) (const char *)name.mb_str() == NULL) {
+         wxMessageBox(_("The specified filename could not be converted due to Unicode character use."));
+
+         name = FileSelector(_("Specify New Filename:"),
+                             NULL,
+                             name,
+                             f.GetExt(),
+                             wxT("*.") + f.GetExt(),
+                             wxFD_SAVE | wxRESIZE_BORDER,
+                             wxGetTopLevelParent(NULL));
+      }
+   }
 
-wxString Internat::ToFilename(const wxString &s)
-{
-   return s;
-}
+   mFilename = name.mb_str();
 
-wxString Internat::FromFilename(const wxString &s)
-{
-   return s;
+   return (char *) (const char *) mFilename;
 }
-
 #endif
 
 wxString Internat::SanitiseFilename(const wxString &name, const wxString &sub)
diff --git a/src/Internat.h b/src/Internat.h
index 442ee65..da4272d 100644
--- a/src/Internat.h
+++ b/src/Internat.h
@@ -19,8 +19,6 @@
 class Internat
 {
 public:
-   static void CleanUp();
-
    /** \brief Initialize internationalisation support. Call this once at
     * program start. */
    static void Init();
@@ -56,26 +54,11 @@ public:
    static wxString FormatSize(wxLongLong size);
    static wxString FormatSize(double size);
 
-   /** \brief Convert string from UTF-8 to the local character encoding
-    *
-    * Used for XML files, which are always read in UTF-8 regardless of the
-    * language settings on the host OS */
-   static wxString UTF8ToLocal(const wxString &s);
-   /** \brief Convert string from the local character encoding to UTF-8
-    *
-    * Used for XML files, which are always written in UTF-8 regardless of the
-    * language settings on the host OS */
-   static wxString LocalToUTF8(const wxString &s);
-
-   /** \brief Convert file name to correct character encoding for host file
-    * system
-    *
-    * On Mac it converts to UTF-8, on other platforms it does nothing.*/
-   static wxString ToFilename(const wxString &s);
-   /** \brief Convert file name from character encoding of host file system
-    *
-    * On Mac it converts from UTF-8, on other platforms it does nothing.*/
-   static wxString FromFilename(const wxString &s);
+   /** \brief Protect against Unicode to multi-byte conversion failures
+    * on Windows */
+#if defined(__WXMSW__)
+   static char *VerifyFilename(const wxString &s, bool input = true);
+#endif
 
    /** \brief Check a proposed file name string for illegal characters and
     * remove them */
@@ -92,16 +75,12 @@ public:
 
 private:
    static wxChar mDecimalSeparator;
-   static wxMBConv *mConvLocal;
 
-   #ifdef __WXMAC__
-   static void *mTECToUTF;
-   static void *mTECFromUTF;
-   #endif
    // stuff for file name sanitisation
    static wxString forbid;
    static wxArrayString exclude;
 
+   static wxCharBuffer mFilename;
 };
 
 #define _NoAcc(X) Internat::StripAccelerators(_(X))
@@ -109,10 +88,19 @@ private:
 // Use this macro to wrap all filenames and pathnames that get
 // passed directly to a system call, like opening a file, creating
 // a directory, checking to see that a file exists, etc...
-#if defined(__WXMAC__)
+#if defined(__WXMSW__)
+// Note, on Windows we don't define an OSFILENAME() to prevent accidental use.
+// See VerifyFilename() for an explanation.
+#define OSINPUT(X) Internat::VerifyFilename(X, true)
+#define OSOUTPUT(X) Internat::VerifyFilename(X, false)
+#elif defined(__WXMAC__)
 #define OSFILENAME(X) ((char *) (const char *)(X).fn_str())
+#define OSINPUT(X) OSFILENAME(X)
+#define OSOUTPUT(X) OSFILENAME(X)
 #else
 #define OSFILENAME(X) ((char *) (const char *)(X).mb_str())
+#define OSINPUT(X) OSFILENAME(X)
+#define OSOUTPUT(X) OSFILENAME(X)
 #endif
 
 // Convert C strings to wxString
diff --git a/src/LabelDialog.cpp b/src/LabelDialog.cpp
index 647b4f0..3d64e71 100644
--- a/src/LabelDialog.cpp
+++ b/src/LabelDialog.cpp
@@ -97,7 +97,7 @@ LabelDialog::LabelDialog(wxWindow *parent,
                          double rate)
 : wxDialog(parent,
            wxID_ANY,
-           _NoAcc("&Edit Labels"),
+           _("Edit Labels"),
            wxDefaultPosition,
            wxSize(800, 600),
            wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER),
@@ -702,7 +702,7 @@ void LabelDialog::OnChangeTrack(wxGridEvent &event, int row, RowData *rd)
       wxTextEntryDialog d(this,
                           _("New Label Track"),
                           _("Enter track name"),
-                          _NoAcc("&Label Track"));
+                          _("Label Track"));
 
       // User canceled so repopulating the grid will set the track
       // name to the orignal value
diff --git a/src/LabelDialog.h b/src/LabelDialog.h
index 7210701..ee44b5e 100644
--- a/src/LabelDialog.h
+++ b/src/LabelDialog.h
@@ -49,7 +49,7 @@ class LabelDialog:public wxDialog
    bool Validate();
    void FindAllLabels();
    void AddLabels(LabelTrack *t);
-   wxString TrackName(int & index, wxString dflt = _NoAcc("&Label Track"));
+   wxString TrackName(int & index, wxString dflt = _("Label Track"));
 
    void OnUpdate(wxCommandEvent &event);
    void OnInsert(wxCommandEvent &event);
diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp
index 8d637d4..9df71a2 100644
--- a/src/LabelTrack.cpp
+++ b/src/LabelTrack.cpp
@@ -82,22 +82,23 @@ LabelTrack *TrackFactory::NewLabelTrack()
 
 LabelTrack::LabelTrack(DirManager * projDirManager):
    Track(projDirManager),
+   mbHitCenter(false),
+   mOldEdge(-1),
+   mSelIndex(-1),
    mMouseOverLabelLeft(-1),
    mMouseOverLabelRight(-1),
    mIsAdjustingLabel(false)
 {
-   SetDefaultName(_NoAcc("&Label Track"));
+   SetDefaultName(_("Label Track"));
    SetName(GetDefaultName());
 
-   ResetFont();
-
    // Label tracks are narrow
    // Default is to allow two rows so that new users get the
    // idea that labels can 'stack' when they would overlap.
-   mHeight = 73;     
+   SetHeight(73);
+
+   ResetFont();
    CreateCustomGlyphs();
-   mSelIndex = -1;
-   mStickyTrack = NULL;
 
    // reset flags
    ResetFlags();
@@ -105,6 +106,9 @@ LabelTrack::LabelTrack(DirManager * projDirManager):
 
 LabelTrack::LabelTrack(const LabelTrack &orig) :
    Track(orig),
+   mbHitCenter(false),
+   mOldEdge(-1),
+   mSelIndex(-1),
    mMouseOverLabelLeft(-1),
    mMouseOverLabelRight(-1),
    mIsAdjustingLabel(false)
@@ -119,7 +123,6 @@ LabelTrack::LabelTrack(const LabelTrack &orig) :
       mLabels.Add(l);
    }
    mSelIndex = orig.mSelIndex;
-   mStickyTrack = NULL;
    
    // reset flags
    ResetFlags();
@@ -131,9 +134,6 @@ LabelTrack::~LabelTrack()
 
    for (int i = 0; i < len; i++)
       delete mLabels[i];
-#ifdef EXPERIMENTAL_STICKY_TRACKS      
-   if (mStickyTrack) mStickyTrack->SetStickyTrack(NULL);
-#endif
 }
 
 void LabelTrack::SetOffset(double dOffset)
@@ -149,6 +149,8 @@ void LabelTrack::SetOffset(double dOffset)
 void LabelTrack::ShiftLabelsOnClear(double b, double e)
 {
    for (size_t i=0;i<mLabels.GetCount();i++){
+      double x = mLabels[i]->t;
+      double y = mLabels[i]->t1;
       if (mLabels[i]->t >= e){//label is after deletion region
          mLabels[i]->t  = mLabels[i]->t  - (e-b);
          mLabels[i]->t1 = mLabels[i]->t1 - (e-b);
@@ -172,48 +174,62 @@ void LabelTrack::ShiftLabelsOnClear(double b, double e)
 void LabelTrack::ShiftLabelsOnInsert(double length, double pt)
 {
    for (unsigned int i=0;i<mLabels.GetCount();i++){
-      if (mLabels[i]->t > pt && mLabels[i]->t1 > pt) {
+      // label is after the insert point
+      if (mLabels[i]->t > pt) {
          mLabels[i]->t = mLabels[i]->t + length;
          mLabels[i]->t1 = mLabels[i]->t1 + length;
+      // label is before the insert point
       }else if (mLabels[i]->t1 < pt) {
          //nothing
+      // insert point is inside the label
       }else if (mLabels[i]->t < pt && mLabels[i]->t1 > pt){
          mLabels[i]->t1 = mLabels[i]->t1 + length;
       }
    }
 }
 
-void LabelTrack::ShiftLabelsOnChangeSpeed(double b, double e, double change)
+void LabelTrack::ChangeLabelsOnReverse(double b, double e)
+{
+   for (size_t i=0; i<mLabels.GetCount(); i++) {
+      if (mLabels[i]->t >= b && mLabels[i]->t1 <= e) {//deletion region encloses label
+         double aux     = b + (e - mLabels[i]->t1);
+         mLabels[i]->t1 = e - (mLabels[i]->t - b);
+         mLabels[i]->t  = aux;
+      }
+   }
+}
+
+void LabelTrack::ScaleLabels(double b, double e, double change)
 {
    for (unsigned int i=0;i<mLabels.GetCount();i++){
-      mLabels[i]->t = AdjustTimeStampForSpeedChange(mLabels[i]->t, b, e, change);
-      mLabels[i]->t1 = AdjustTimeStampForSpeedChange(mLabels[i]->t1, b, e, change);
+      mLabels[i]->t = AdjustTimeStampOnScale(mLabels[i]->t, b, e, change);
+      mLabels[i]->t1 = AdjustTimeStampOnScale(mLabels[i]->t1, b, e, change);
    }
 }
 
-double LabelTrack::AdjustTimeStampForSpeedChange(double t, double b, double e, double change)
+double LabelTrack::AdjustTimeStampOnScale(double t, double b, double e, double change)
 {
 //t is the time stamp we'll be changing
 //b and e are the selection start and end
-
-   double percentChange = (100 + change)/100;
-   //printf("t: %f\nb: %f\ne: %f\nchange: %f\n", t, b, e, change);
-   
+  
    if (t < b){
       return t;
    }else if (t > e){
-      double shift = (e-b) - ((e-b)/percentChange);  
-      return (t - shift);
+      double shift = (e-b)*change - (e-b);  
+      return t + shift;
    }else{
-      double shift = (t-b) - ((t-b)/percentChange);
-      return (t - shift);
+      double shift = (t-b)*change - (t-b);
+      return t + shift;
    }
 }
 
 void LabelTrack::ResetFlags()
 {
    mMouseXPos = -1;
+   mXPos1 = -1;
+   mXPos2 = -1;
    mDragXPos = -1;
+   mInitialCursorPos = 1;
    mCurrentCursorPos = 1;
    mResetCursorPos = false;
    mRightDragging = false;
@@ -249,7 +265,7 @@ void LabelTrack::ResetFont()
 /// take priority over the ones earlier, so because centering 
 /// is the first thing we do, it's the first thing we lose if 
 /// we can't do everything we want to.
-void LabelTrack::ComputeTextPosition(wxRect & r, int index)
+void LabelTrack::ComputeTextPosition(const wxRect & r, int index)
 {
    // xExtra is extra space 
    // between the text and the endpoints.
@@ -391,7 +407,7 @@ void LabelTrack::ComputeTextPosition(wxRect & r, int index)
 /// ComputeLayout determines which row each label
 /// should be placed on, and reserves space for it.
 /// Function assumes that the labels are sorted.
-void LabelTrack::ComputeLayout( wxRect & r, double h, double pps)
+void LabelTrack::ComputeLayout(const wxRect & r, double h, double pps)
 {
    int i;
    int iRow;
@@ -454,53 +470,70 @@ void LabelTrack::ComputeLayout( wxRect & r, double h, double pps)
    }
 }
 
-LabelStruct::LabelStruct() {
+LabelStruct::LabelStruct()
+{
    changeInitialMouseXPos = true;
    highlighted = false;
    updated = false;
+   t = 0.0;
+   t1 = 0.0;
+   width = 0;
+   x = 0;
+   x1 = 0;
+   xText = 0;
+   y = 0;
 }
 
 /// Draw vertical lines that go exactly through the position
 /// of the start or end of a label.
 ///   @param  dc the device context
 ///   @param  r  the LabelTrack rectangle.
-void LabelStruct::DrawLines( wxDC & dc, wxRect & r)
+void LabelStruct::DrawLines(wxDC & dc, const wxRect & r)
 {
    // How far out from the centre line should the vertical lines
    // start, i.e. what is the y position of the icon?
-   // We addjust this slightly so that the line encroaches on 
-   // the icon slightly (there is white space in the design).
+   // We adjust this so that the line encroaches on the icon
+   // slightly (there is white space in the design).
    const int yIconStart = y - (LabelTrack::mIconHeight /2)+1+(LabelTrack::mTextHeight+3)/2;
    const int yIconEnd   = yIconStart + LabelTrack::mIconHeight-2;
 
-   if (y<0) 
-      return;
    // If y is positive then it is the center line for the 
    // Label.
-   if((x  >= r.x) && (x  <= (r.x+r.width)))
+   if( y >= 0 )
    {
-      // Draw line above and below left dragging widget.
-      dc.DrawLine(x, r.y,  x, yIconStart);
-      dc.DrawLine(x, yIconEnd, x, r.y + r.height);
+      if((x  >= r.x) && (x  <= (r.x+r.width)))
+      {
+         // Draw line above and below left dragging widget.
+         AColor::Line(dc, x, r.y,  x, yIconStart - 1);
+         AColor::Line(dc, x, yIconEnd, x, r.y + r.height);
+      }
+      if((x1 >= r.x) && (x1 <= (r.x+r.width)))
+      {
+         // Draw line above and below right dragging widget.
+         AColor::Line(dc, x1, r.y,  x1, yIconStart - 1);
+         AColor::Line(dc, x1, yIconEnd, x1, r.y + r.height);
+      }
    }
-   if((x1 >= r.x) && (x1 <= (r.x+r.width)))
+   else
    {
-      // Draw line above and below right dragging widget.
-      dc.DrawLine(x1, r.y,  x1, yIconStart);
-      dc.DrawLine(x1, yIconEnd, x1, r.y + r.height);
+      // Draw the line, even though the widget is off screen
+      AColor::Line(dc, x, r.y,  x, r.y + r.height);
+      AColor::Line(dc, x1, r.y,  x1, r.y + r.height);
    }
 }
 
 /// DrawGlyphs draws the wxIcons at the start and end of a label.
 ///   @param  dc the device context
 ///   @param  r  the LabelTrack rectangle.
-void LabelStruct::DrawGlyphs( wxDC & dc, wxRect & r, int GlyphLeft, int GlyphRight)
+void LabelStruct::DrawGlyphs(wxDC & dc, const wxRect & r, int GlyphLeft, int GlyphRight)
 {
-   if (y<0) 
-      return;
    const int xHalfWidth=LabelTrack::mIconWidth/2;
    const int yStart=y-LabelTrack::mIconHeight/2+(LabelTrack::mTextHeight+3)/2;
 
+   // If y == -1, nothing to draw
+   if( y == -1 )
+      return;
+
    if((x  >= r.x) && (x  <= (r.x+r.width)))
       dc.DrawBitmap(LabelTrack::GetGlyph(GlyphLeft), x-xHalfWidth,yStart, true);
    // The extra test here suppresses right hand markers when they overlap
@@ -515,12 +548,14 @@ void LabelStruct::DrawGlyphs( wxDC & dc, wxRect & r, int GlyphLeft, int GlyphRig
 /// behind the text itself.
 ///   @param  dc the device context
 ///   @param  r  the LabelTrack rectangle.
-void LabelStruct::DrawText( wxDC & dc, wxRect & r)
+void LabelStruct::DrawText(wxDC & dc, const wxRect & r)
 {
-   if (y<0) 
-      return;
    //If y is positive then it is the center line for the 
    //text we are about to draw.
+   //if it isn't, nothing to draw.
+
+   if( y == -1 )
+      return;
 
    // Draw frame for the text...
    // We draw it half an icon width left of the text itself.
@@ -535,17 +570,18 @@ void LabelStruct::DrawText( wxDC & dc, wxRect & r)
          dc.DrawText(title, xText, y-LabelTrack::mTextHeight/2);
       }
    }
+
 }
 
-void LabelStruct::DrawTextBox( wxDC & dc, wxRect & r) 
+void LabelStruct::DrawTextBox(wxDC & dc, const wxRect & r) 
 {
-   if (y<0) 
-      return;
    //If y is positive then it is the center line for the 
    //text we are about to draw.
    const int yBarHeight=3;
    const int yFrameHeight = LabelTrack::mTextHeight+3;
    const int xBarShorten  = LabelTrack::mIconWidth+4;
+   if( y == -1 )
+      return;
 
    {
       const int xStart=wxMax(r.x,x+xBarShorten/2);
@@ -634,7 +670,7 @@ bool LabelTrack::CalcCursorX(wxWindow * parent, int * x)
 /// Draw calls other functions to draw the LabelTrack.
 ///   @param  dc the device context
 ///   @param  r  the LabelTrack rectangle.
-void LabelTrack::Draw(wxDC & dc, wxRect & r, double h, double pps,
+void LabelTrack::Draw(wxDC & dc, const wxRect & r, double h, double pps,
                       double sel0, double sel1)
 {
    if(msFont.Ok())
@@ -799,7 +835,9 @@ void LabelTrack::Draw(wxDC & dc, wxRect & r, double h, double pps,
       const int CursorWidth=2;
       if (mDrawCursor) {
          currentPen.SetWidth(CursorWidth);
-         dc.DrawLine(xPos-1, mLabels[i]->y - mFontHeight/2 + 1, xPos-1, mLabels[i]->y + mFontHeight/2);
+         AColor::Line(dc,
+                      xPos-1, mLabels[i]->y - mFontHeight/2 + 1,
+                      xPos-1, mLabels[i]->y + mFontHeight/2 - 1);
          currentPen.SetWidth(1);
       }
    }
@@ -1346,6 +1384,7 @@ bool LabelTrack::CaptureKey(wxKeyEvent & event)
          case WXK_LEFT:
          case WXK_RIGHT:
          case WXK_RETURN:
+         case WXK_NUMPAD_ENTER:
          case WXK_ESCAPE:
          case WXK_TAB:
             return true;
@@ -1518,6 +1557,7 @@ bool LabelTrack::OnKeyDown(double & newSel0, double & newSel1, wxKeyEvent & even
          break;
 
       case WXK_RETURN:
+      case WXK_NUMPAD_ENTER:
 
       case WXK_ESCAPE:
          if (mLabels[mSelIndex]->title == wxT("")) {
@@ -1863,6 +1903,12 @@ bool LabelTrack::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
             mLabels.Clear();
             mLabels.Alloc(nValue);
          }
+         else if (!wxStrcmp(attr, wxT("height")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            SetHeight(nValue);
+         else if (!wxStrcmp(attr, wxT("minimized")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            SetMinimized(nValue != 0);
       }
 
       return true;
@@ -1887,6 +1933,8 @@ void LabelTrack::WriteXML(XMLWriter &xmlFile)
    xmlFile.StartTag(wxT("labeltrack"));
    xmlFile.WriteAttr(wxT("name"), mName);
    xmlFile.WriteAttr(wxT("numlabels"), len);
+   xmlFile.WriteAttr(wxT("height"), this->GetActualHeight());
+   xmlFile.WriteAttr(wxT("minimized"), this->GetMinimized());
 
    for (i = 0; i < len; i++) {
       xmlFile.StartTag(wxT("label"));
@@ -2021,58 +2069,23 @@ bool LabelTrack::Paste(double t, Track * src)
 
 bool LabelTrack::Clear(double t0, double t1)
 {
-#ifdef EXPERIMENTAL_FULL_LINKING
    AudacityProject *p = GetActiveProject();   
    if (p && p->IsSticky()){
-      bool onlyLabelTrackSel = true;
-      TrackListIterator iter(p->GetTracks());
-      Track *t = iter.First();
-      while (t){
-         if (t!=this && t->GetSelected()){
-            onlyLabelTrackSel = false;
-            break;
-         }
-         t=iter.Next();
-      }
-      if (onlyLabelTrackSel){
-         int editGroup = 0;
-         t=iter.First();
-         Track *n=t;
-         
-         while (t && t!= this){//find edit group number
-            n=iter.Next();
-            if (n && n->GetKind()==Track::Wave && t->GetKind()==Track::Label) 
-               editGroup++;
-            t=n;
-         }
-
-         t=iter.First();
-         for (int i=0; i<editGroup; i++){//go to first in edit group
-            while (t && t->GetKind()==Track::Wave) t=iter.Next();
-            while (t && t->GetKind()==Track::Label) t=iter.Next();
-         }
-
-         if (t && t->GetKind()==Track::Wave)
-            ((WaveTrack*)t)->HandleGroupClear(t0, t1, false, false);
+      Track* t = NULL;
+      if (mNode) {
+         TrackListNode* n = mNode->prev;
+         if (n)
+            t = n->t;
       }
-   }else{
-      ShiftLabelsOnClear(t0, t1);
+      // if it is part of a group
+      if (t && t->GetKind() != Track::Time && t->GetKind() != Track::Label)
+         t->Clear(t0, t1);
+      else
+         ShiftLabelsOnClear(t0, t1);
    }
-#else
-   int len = mLabels.Count();
+   else
+      ShiftLabelsOnClear(t0, t1);
 
-   for (int i = 0; i < len; i++) {
-      if (t0 <= mLabels[i]->t && mLabels[i]->t <= t1) {
-         mLabels.RemoveAt(i);
-         len--;
-         i--;
-      }
-      else if (mLabels[i]->t > t1) {
-         mLabels[i]->t -= (t1 - t0);
-         mLabels[i]->t1 -= (t1 - t0);
-      }
-   }
-#endif
    return true;
 }
 
diff --git a/src/LabelTrack.h b/src/LabelTrack.h
index e1f7cd9..1e7d3c9 100644
--- a/src/LabelTrack.h
+++ b/src/LabelTrack.h
@@ -40,10 +40,10 @@ class LabelStruct
 {
 public:
    LabelStruct();
-   void DrawLines( wxDC & dc, wxRect & r);
-   void DrawGlyphs( wxDC & dc, wxRect & r, int GlyphLeft, int GlyphRight);
-   void DrawText( wxDC & dc, wxRect & r);
-   void DrawTextBox( wxDC & dc, wxRect & r);
+   void DrawLines( wxDC & dc, const wxRect & r);
+   void DrawGlyphs( wxDC & dc, const wxRect & r, int GlyphLeft, int GlyphRight);
+   void DrawText( wxDC & dc, const wxRect & r);
+   void DrawTextBox( wxDC & dc, const wxRect & r);
    void DrawHighlight( wxDC & dc, int xPos1, int xPos2, int charHeight);
    void getXPos( wxDC & dc, int * xPos1, int cursorPos);
    
@@ -88,7 +88,7 @@ class LabelTrack:public Track {
 
    static void ResetFont();
 
-   void Draw(wxDC & dc, wxRect & r, double h, double pps,
+   void Draw(wxDC & dc, const wxRect & r, double h, double pps,
              double sel0, double sel1);
 
    int getSelectedIndex() const { return mSelIndex; }
@@ -169,13 +169,12 @@ class LabelTrack:public Track {
    
    void ShiftLabelsOnClear(double b, double e);
    void ShiftLabelsOnInsert(double length, double pt);
-   void ShiftLabelsOnChangeSpeed(double b, double e, double change);
-   double AdjustTimeStampForSpeedChange(double t, double b, double e, double change);
-   WaveTrack* GetStickyTrack() { return mStickyTrack; }
-   void SetStickyTrack(WaveTrack *track) { mStickyTrack = track; }
+   void ChangeLabelsOnReverse(double b, double e);
+   void ScaleLabels(double b, double e, double change);
+   double AdjustTimeStampOnScale(double t, double b, double e, double change);
 
  public:
-	 void SortLabels();
+   void SortLabels();
    //These two are used by a TrackPanel KLUDGE, which is why they are public.
    bool mbHitCenter;
    //The edge variable tells us what state the icon is in.
@@ -188,7 +187,6 @@ class LabelTrack:public Track {
    int mMouseOverLabelRight;   /// Keeps track of which right label the mouse is currently over.
    int mxMouseDisplacement;    /// Displacement of mouse cursor from the centre being dragged.
    LabelArray mLabels;
-   WaveTrack *mStickyTrack;
 
    static int mIconHeight;
    static int mIconWidth;
@@ -213,8 +211,8 @@ class LabelTrack:public Track {
    // Used only for a LabelTrack on the clipboard
    double mClipLen;
 
-   void ComputeLayout(wxRect & r, double h, double pps);
-   void ComputeTextPosition(wxRect & r, int index);
+   void ComputeLayout(const wxRect & r, double h, double pps);
+   void ComputeTextPosition(const wxRect & r, int index);
    void SetCurrentCursorPosition(wxDC & dc, int xPos);
 
    void calculateFontHeight(wxDC & dc);
diff --git a/src/LangChoice.cpp b/src/LangChoice.cpp
index cbbc1fa..64f9149 100644
--- a/src/LangChoice.cpp
+++ b/src/LangChoice.cpp
@@ -22,6 +22,7 @@ of languages for Audacity.
 #include <wx/choice.h>
 #include <wx/dialog.h>
 #include <wx/intl.h>
+#include <wx/msgdlg.h>
 #include <wx/sizer.h>
 #include <wx/stattext.h>
 
@@ -102,7 +103,34 @@ LangChoiceDialog::LangChoiceDialog(wxWindow * parent,
 
 void LangChoiceDialog::OnOk(wxCommandEvent & event)
 {
-   mLang = mLangCodes[mChoice->GetSelection()];
+   int ndx = mChoice->GetSelection();
+   mLang = mLangCodes[ndx];
+
+   wxString slang = GetSystemLanguageCode();
+   int sndx = mLangCodes.Index(slang);
+   wxString sname;
+
+   if (sndx == wxNOT_FOUND) {
+      const wxLanguageInfo *sinfo = wxLocale::FindLanguageInfo(slang);
+      if (sinfo) {
+         sname = sinfo->Description;
+      }
+   }
+   else {
+      sname = mLangNames[sndx];
+   }
+   
+   if (mLang.Left(2) != slang.Left(2)) {
+      wxString msg;
+      msg.Printf(_("The language you have chosen, %s (%s), is not the same as the system language, %s (%s)."),
+                 mLangNames[ndx].c_str(),
+                 mLang.c_str(),
+                 sname.c_str(),
+                 slang.c_str());
+      if (wxMessageBox(msg, _("Confirm"), wxYES_NO) == wxNO) {
+         return;
+      }
+   }
 
    EndModal(true);
 }
diff --git a/src/Languages.cpp b/src/Languages.cpp
index 68b82f1..c91957b 100644
--- a/src/Languages.cpp
+++ b/src/Languages.cpp
@@ -48,13 +48,11 @@ bool TranslationExists(wxArrayString &audacityPathList, wxString code)
    wxGetApp().FindFilesInPathList(wxString::Format(wxT("%s/audacity.mo"),
                                                    code.c_str()),
                                   audacityPathList,
-                                  wxFILE,
                                   results);
    
    wxGetApp().FindFilesInPathList(wxString::Format(wxT("%s/LC_MESSAGES/audacity.mo"),
                                                    code.c_str()),
                                   audacityPathList,
-                                  wxFILE,
                                   results);
    
    return (results.GetCount() > 0);
diff --git a/src/Legacy.cpp b/src/Legacy.cpp
index 487dd11..5b43c45 100644
--- a/src/Legacy.cpp
+++ b/src/Legacy.cpp
@@ -310,46 +310,62 @@ bool ConvertLegacyProjectFile(wxFileName filename)
 
    wxString name = filename.GetFullPath();
 
-   xmlFile.Open(name, wxT("wb"));
-   if (!xmlFile.IsOpened())
+   try
+   {
+      xmlFile.Open(name, wxT("wb"));
+   }
+   catch (XMLFileWriterException* pException)
+   {
+      delete pException;
       return false;
+   }
 
    renamer.SetNewFile(xmlFile.fp());
 
-   xmlFile.Write(wxT("<?xml version=\"1.0\"?>\n"));
+   try
+   {
+      xmlFile.Write(wxT("<?xml version=\"1.0\"?>\n"));
 
-   wxString label;
-   wxString value;
+      wxString label;
+      wxString value;
 
-   if (f.GetFirstLine() != wxT("AudacityProject"))
-      return false;
-   if (f.GetNextLine() != wxT("Version"))
-      return false;
-   if (f.GetNextLine() != wxT("0.95"))
-      return false;
-   if (f.GetNextLine() != wxT("projName"))
-      return false;
+      if (f.GetFirstLine() != wxT("AudacityProject"))
+         return false;
+      if (f.GetNextLine() != wxT("Version"))
+         return false;
+      if (f.GetNextLine() != wxT("0.95"))
+         return false;
+      if (f.GetNextLine() != wxT("projName"))
+         return false;
 
-   xmlFile.StartTag(wxT("audacityproject"));
-   xmlFile.WriteAttr(wxT("projname"), f.GetNextLine());
-   xmlFile.WriteAttr(wxT("version"), wxT("1.1.0"));
-   xmlFile.WriteAttr(wxT("audacityversion"),AUDACITY_VERSION_STRING);
+      xmlFile.StartTag(wxT("audacityproject"));
+      xmlFile.WriteAttr(wxT("projname"), f.GetNextLine());
+      xmlFile.WriteAttr(wxT("version"), wxT("1.1.0"));
+      xmlFile.WriteAttr(wxT("audacityversion"),AUDACITY_VERSION_STRING);
 
-   label = f.GetNextLine();
-   while (label != wxT("BeginTracks")) {
-      xmlFile.WriteAttr(label, f.GetNextLine());
       label = f.GetNextLine();
-   }
+      while (label != wxT("BeginTracks")) {
+         xmlFile.WriteAttr(label, f.GetNextLine());
+         label = f.GetNextLine();
+      }
 
-   label = f.GetNextLine();
-   while (label != wxT("EndTracks")) {
-      bool success = ConvertLegacyTrack(&f, xmlFile);
-      if (!success)
-         return false;
       label = f.GetNextLine();
-   }
+      while (label != wxT("EndTracks")) {
+         bool success = ConvertLegacyTrack(&f, xmlFile);
+         if (!success)
+            return false;
+         label = f.GetNextLine();
+      }
 
-   xmlFile.EndTag(wxT("audacityproject"));
+      xmlFile.EndTag(wxT("audacityproject"));
+      xmlFile.Close();
+   }
+   catch (XMLFileWriterException* pException)
+   {
+      // Error writing XML file (e.g. disk full)
+      delete pException;
+      return false;
+   }
 
    renamer.Finished();
 
diff --git a/src/LoadModules.cpp b/src/LoadModules.cpp
index 9b093af..c536180 100644
--- a/src/LoadModules.cpp
+++ b/src/LoadModules.cpp
@@ -26,7 +26,8 @@ i.e. an alternative to the usual interface, for Audacity.
 #include "Audacity.h"
 #include "AudacityApp.h"
 #include "Internat.h"
-#include "BatchCommands.h"
+
+#include "commands/ScriptCommandRelay.h"
 #include <NonGuiThread.h>  // header from libwidgetextra
 
 #include "LoadModules.h"
@@ -36,8 +37,8 @@ i.e. an alternative to the usual interface, for Audacity.
 #define mainPanelFnName "MainPanelFunc"
 
 typedef wxWindow * pwxWindow;
-typedef int AUDACITY_DLL_API (*tModuleInit)(int);
-typedef pwxWindow AUDACITY_DLL_API (*tPanelFn)(int);
+typedef int (*tModuleInit)(int);
+typedef pwxWindow (*tPanelFn)(int);
 
 // This variable will hold the address of a subroutine in 
 // a DLL that can hijack the normal panel.
@@ -63,57 +64,9 @@ wxWindow * MakeHijackPanel()
    return pPanelHijack(0);
 }
 
-//------- Start of stuff related to invoking a batch command ----
-// Our DLL may call commands back in Audacity.
-// It will do that through the ExecCommand function.
-extern "C" {
-
-typedef int AUDACITY_DLL_API (*tpExecScriptServerFunc)( wxString * pOut, wxString * pIn);
-typedef int AUDACITY_DLL_API (*tpRegScriptServerFunc)(tpExecScriptServerFunc pFn);
-
-// This is the function which actually obeys one command.
-AUDACITY_DLL_API int ExecCommand( wxString * pOut, wxString * pIn )
-{
-   // Create a Batch that will have just one command in it...
-   BatchCommands Batch;
-   bool rc;
-
-   // Find the command name terminator...ingore line if not found
-   int splitAt = pIn->Find(wxT(':'));
-   if (splitAt < 0) {
-      *pOut= wxT("BAD - Missing ':'?");
-      return false;
-   }
-
-   // Parse and clean
-   wxString cmd = pIn->Left(splitAt).Strip(wxString::both);
-   wxString parm = pIn->Mid(splitAt + 1).Strip(wxString::trailing);
-
-   rc = Batch.ApplyCommand( cmd, parm );
-   if( rc )
-   {
-      *pOut = wxT("OK");
-      return rc;
-   }
-   *pOut = wxT("FAILED to Execute");
-   return rc;
-}
-}
-
-// This variable will hold the address of a subroutine in
-// a DLL that starts a thread and reads script commands.
-tpRegScriptServerFunc scriptFn = NULL;
-
-// We pass the ExecFunction to any scripting DLL that needs it
-// right here.
-void RegisterAndRun(  )
-{
-   wxASSERT( scriptFn != NULL );
-   while( true )
-      scriptFn(&ExecCommand);
-}
-
-//------- End of stuff related to invoking a batch command ----
+// This variable will hold the address of a subroutine in a DLL that
+// starts a thread and reads script commands.
+tpRegScriptServerFunc scriptFn;
 
 void LoadModule(wxString fname)
 {
@@ -148,7 +101,7 @@ void LoadModule(wxString fname)
    ::wxSetWorkingDirectory(saveOldCWD);
 }
 
-void LoadModules()
+void LoadModules(CommandHandler &cmdHandler)
 {
    wxArrayString audacityPathList = wxGetApp().audacityPathList;
    wxArrayString pathList;
@@ -176,17 +129,19 @@ void LoadModules()
    }
 
    #ifdef __WXMSW__
-   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, wxFILE, files);   
+   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, files);   
    #else
-   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, wxFILE, files);
+   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, files);
    #endif
 
    for(i=0; i<files.GetCount(); i++)
       LoadModule(files[i]);
    // After loading all the modules, we may have a registered scripting function.
-   if( scriptFn )
+   if(scriptFn)
    {
-      NonGuiThread::StartChild( &RegisterAndRun );
+      ScriptCommandRelay::SetCommandHandler(cmdHandler);
+      ScriptCommandRelay::SetRegScriptServerFunc(scriptFn);
+      NonGuiThread::StartChild(&ScriptCommandRelay::Run);
    }
 }
 
@@ -294,11 +249,11 @@ void ModuleManager::Initialize()
    }
 
    #if defined(__WXMSW__)
-   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, wxFILE, files);   
+   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, files);   
 //   #elif defined(__WXMAC__)
-//   wxGetApp().FindFilesInPathList(wxT("*.dylib"), pathList, wxFILE, files);
+//   wxGetApp().FindFilesInPathList(wxT("*.dylib"), pathList, files);
    #else
-   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, wxFILE, files);
+   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, files);
    #endif
 
    for (i = 0; i < files.GetCount(); i++) {
diff --git a/src/LoadModules.h b/src/LoadModules.h
index f1bac91..be2aa0b 100644
--- a/src/LoadModules.h
+++ b/src/LoadModules.h
@@ -15,7 +15,11 @@
 #include <wx/dynlib.h>
 #include <wx/module.h>
 
-void LoadModules();
+class CommandHandler;
+
+void LoadModules(CommandHandler &cmdHandler);
+void LoadModule(wxString fname);
+
 wxWindow *  MakeHijackPanel();
 
 //
@@ -30,10 +34,13 @@ typedef enum
    ModuleInitialize,
    ModuleTerminate,
    AppInitialized,
-   ProjectInitialized
+   AppQuiting,
+   ProjectInitialized,
+   ProjectClosing,
+   MenusRebuilt
 } ModuleDispatchTypes;
 
-typedef int AUDACITY_DLL_API (*fnModuleDispatch)(ModuleDispatchTypes type);
+typedef int (*fnModuleDispatch)(ModuleDispatchTypes type);
 
 class Module
 {
diff --git a/src/Makefile.in b/src/Makefile.in
index 13440b2..36aa4de 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -74,14 +74,18 @@ OBJS = \
 	LangChoice.o \
 	Legacy.o \
 	LoadModules.o \
+	Lyrics.o \
+	LyricsWindow.o \
 	Matrix.o \
 	Menus.o \
 	Mix.o \
+	MixerBoard.o \
 	PitchName.o \
 	PlatformCompatibility.o \
 	Printing.o \
 	Profiler.o \
 	Project.o \
+	RealFFTf.o \
 	Resample.o \
 	RingBuffer.o \
 	Screenshot.o \
@@ -107,9 +111,16 @@ OBJS = \
 	WaveClip.o \
 	WaveTrack.o \
 	WrappedType.o \
+	commands/AppCommandEvent.o \
+	commands/CommandBuilder.o \
+	commands/CommandHandler.o \
 	commands/CommandManager.o \
 	commands/Keyboard.o \
+	commands/ResponseQueue.o \
+	commands/ScreenshotCommand.o \
+	commands/ScriptCommandRelay.o \
 	effects/Effect.o \
+	effects/Generator.o \
 	effects/EffectCategory.o \
 	effects/EffectManager.o \
 	effects/SimpleMono.o \
@@ -171,18 +182,24 @@ OBJS = \
 	ondemand/ODTask.o \
 	ondemand/ODTaskThread.o \
 	ondemand/ODWaveTrackTaskQueue.o \
-	prefs/AudioIOPrefs.o \
-	prefs/BatchPrefs.o \
-	prefs/DirectoriesPrefs.o \
-	prefs/FileFormatPrefs.o \
-	prefs/GUIPrefs.o \
-	prefs/KeyConfigPrefs.o \
-	prefs/MousePrefs.o \
-	prefs/PrefsDialog.o \
-	prefs/QualityPrefs.o \
-	prefs/SmartRecordPrefs.o \
-	prefs/SpectrumPrefs.o \
-	prefs/ThemePrefs.o \
+   prefs/BatchPrefs.o \
+   prefs/DevicePrefs.o \
+   prefs/DirectoriesPrefs.o \
+   prefs/GUIPrefs.o \
+   prefs/ImportExportPrefs.o \
+   prefs/KeyConfigPrefs.o \
+   prefs/LibraryPrefs.o \
+   prefs/MidiIOPrefs.o \
+   prefs/MousePrefs.o \
+   prefs/PlaybackPrefs.o \
+   prefs/PrefsDialog.o \
+   prefs/ProjectsPrefs.o \
+   prefs/QualityPrefs.o \
+   prefs/RecordingPrefs.o \
+   prefs/SpectrumPrefs.o \
+   prefs/ThemePrefs.o \
+   prefs/TracksPrefs.o \
+   prefs/WarningsPrefs.o \
 	toolbars/ControlToolBar.o \
 	toolbars/DeviceToolBar.o \
 	toolbars/EditToolBar.o \
@@ -199,6 +216,7 @@ OBJS = \
 	widgets/AttachableScrollBar.o \
 	widgets/ErrorDialog.o \
 	widgets/ExpandingToolBar.o \
+	widgets/FileHistory.o \
 	widgets/Grabber.o \
 	widgets/Grid.o \
 	widgets/HtmlWindow.o \
diff --git a/src/Menus.cpp b/src/Menus.cpp
index ead318f..2d16bf2 100644
--- a/src/Menus.cpp
+++ b/src/Menus.cpp
@@ -6,7 +6,7 @@
 
   Dominic Mazzoni
   Brian Gunlogson
-  et. al.
+  et al.
 
 *******************************************************************//**
 
@@ -63,9 +63,16 @@ simplifies construction of menu items.
 #include "widgets/TimeTextCtrl.h"
 #include "ShuttleGui.h"
 #include "HistoryWindow.h"
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   #include "LyricsWindow.h"
+#endif
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   #include "MixerBoard.h"
+#endif
 #include "Internat.h"
 #include "FileFormats.h"
 #include "FreqWindow.h"
+#include "LoadModules.h"	
 #include "Prefs.h"
 #include "Printing.h"
 #include "UploadDialog.h"
@@ -88,6 +95,8 @@ simplifies construction of menu items.
 #include "toolbars/ControlToolBar.h"
 #include "toolbars/ToolsToolBar.h"
 #include "toolbars/EditToolBar.h"
+#include "toolbars/MixerToolBar.h"
+#include "toolbars/TranscriptionToolBar.h"
 
 #include "Experimental.h"
 #include "PlatformCompatibility.h"
@@ -96,6 +105,7 @@ simplifies construction of menu items.
 #include "TimerRecordDialog.h"
 #include "SoundActivatedRecord.h"
 #include "LabelDialog.h"
+#include "effects/Contrast.h"
 
 #include "FileDialog.h"
 #include "SplashDialog.h"
@@ -182,492 +192,465 @@ void AudacityProject::CreateMenusAndCommands()
    EffectArray *effects;
    wxArrayString names;
    wxArrayInt indices;
-#ifndef EFFECT_CATEGORIES
-    unsigned int i;
-#endif
 
    wxMenuBar *menubar = c->AddMenuBar(wxT("appmenu"));
 
-   //
+   /////////////////////////////////////////////////////////////////////////////
    // File menu
-   //
+   /////////////////////////////////////////////////////////////////////////////
 
    c->BeginMenu(_("&File"));
    c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
-   c->AddItem(wxT("New"),            _("&New\tCtrl+N"),                   FN(OnNew));
-   c->SetCommandFlags(wxT("New"), 0, 0);
-   c->AddItem(wxT("Open"),           _("&Open...\tCtrl+O"),               FN(OnOpen));
-   c->SetCommandFlags(wxT("Open"), 0, 0);
+
+   c->AddItem(wxT("New"), _("&New"), FN(OnNew), wxT("Ctrl+N"),
+              AlwaysEnabledFlag,
+              AlwaysEnabledFlag);
+
+   c->AddItem(wxT("Open"), _("&Open..."), FN(OnOpen), wxT("Ctrl+O"),
+              AlwaysEnabledFlag,
+              AlwaysEnabledFlag);
+
+   /////////////////////////////////////////////////////////////////////////////
 
    CreateRecentFilesMenu(c);
 
-   c->AddItem(wxT("Close"),          _("&Close\tCtrl+W"),                 FN(OnClose));
-   if( !mCleanSpeechMode )
-   {
-      c->AddItem(wxT("Save"),           _("&Save Project\tCtrl+S"),          FN(OnSave));
-      c->SetCommandFlags(wxT("Save"),
-                         AudioIONotBusyFlag | UnsavedChangesFlag,
-                         AudioIONotBusyFlag | UnsavedChangesFlag);
-      c->AddItem(wxT("SaveAs"),         _("Save Project &As..."),            FN(OnSaveAs));
-      #ifdef USE_LIBVORBIS
-         c->AddItem(wxT("SaveCompressed"), _("Save Compressed Copy of Project..."),  FN(OnSaveCompressed));
-      #endif
+   /////////////////////////////////////////////////////////////////////////////
+
+   c->AddSeparator();
+
+   c->AddItem(wxT("Close"), _("&Close"), FN(OnClose), wxT("Ctrl+W"));
+
+   if (!mCleanSpeechMode) {
+      c->AddItem(wxT("Save"), _("&Save Project"), FN(OnSave), wxT("Ctrl+S"),
+                 AudioIONotBusyFlag | UnsavedChangesFlag,
+                 AudioIONotBusyFlag | UnsavedChangesFlag);
+      c->AddItem(wxT("SaveAs"), _("Save Project &As..."), FN(OnSaveAs));
+#ifdef USE_LIBVORBIS
+      c->AddItem(wxT("SaveCompressed"), _("Save Compressed Copy of Project..."), FN(OnSaveCompressed));
+#endif
    }
 
-   c->AddItem(wxT("CheckDeps"),      _("Chec&k Dependencies..."),          FN(OnCheckDependencies));
+   c->AddItem(wxT("CheckDeps"), _("Chec&k Dependencies..."), FN(OnCheckDependencies));
 
    c->AddSeparator();
-   c->AddSeparator();
+
+   c->AddItem(wxT("EditMetaData"), _("Open Me&tadata Editor..."), FN(OnEditMetadata));
+
    c->AddSeparator();
 
-   c->AddItem(wxT("EditMetaData"),  _("Open Me&tadata Editor..."),          FN(OnEditMetadata));
-   //c->SetCommandFlags(wxT("EditID3"), AudioIONotBusyFlag, AudioIONotBusyFlag);
+   /////////////////////////////////////////////////////////////////////////////
 
-   if( !mCleanSpeechMode )
-	{
-      c->AddSeparator();
+   if (!mCleanSpeechMode) {
       
       c->BeginSubMenu(_("&Import"));
-		c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
-		c->AddItem(wxT("ImportAudio"),    _("&Audio...\tCtrl+Shift+I"),	FN(OnImport));
-		c->AddItem(wxT("ImportLabels"),   _("&Labels..."),					FN(OnImportLabels));
-        #ifdef USE_MIDI
-		c->AddItem(wxT("ImportMIDI"),     _("&MIDI..."),							FN(OnImportMIDI));
-        #endif // USE_MIDI
-		c->AddItem(wxT("ImportRaw"),      _("&Raw Data..."),				FN(OnImportRaw));
+
+      c->AddItem(wxT("ImportAudio"), _("&Audio..."), FN(OnImport), wxT("Ctrl+Shift+I"));
+      c->AddItem(wxT("ImportLabels"), _("&Labels..."), FN(OnImportLabels));
+#ifdef USE_MIDI
+      c->AddItem(wxT("ImportMIDI"), _("&MIDI..."), FN(OnImportMIDI));
+#endif // USE_MIDI
+      c->AddItem(wxT("ImportRaw"), _("&Raw Data..."), FN(OnImportRaw));
+
       c->EndSubMenu();
-      
-      c->AddSeparator();
-      
-      c->AddItem(wxT("Export"),         _("&Export..."),           FN(OnExport));
-      // Enable Export commands only when there are tracks
-      c->SetCommandFlags(wxT("Export"),
-                         AudioIONotBusyFlag | WaveTracksExistFlag,
-                         AudioIONotBusyFlag | WaveTracksExistFlag);
-
-      c->AddItem(wxT("ExportSel"),      _("Expo&rt Selection..."), FN(OnExportSelection));
-      // Enable Export Selection commands only when there's a selection
-      c->SetCommandFlags(wxT("ExportSel"),
-                         AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag,
-                         AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
-      
-      c->AddSeparator();
-      c->AddItem(wxT("ExportLabels"),   _("Export &Labels..."),              FN(OnExportLabels));
-      c->AddItem(wxT("ExportMultiple"),   _("Export &Multiple..."),              FN(OnExportMultiple));
-#if defined(USE_MIDI)
-      c->AddItem(wxT("ExportMIDI"),   _("Export MIDI..."),              FN(OnExportMIDI));
-#endif
 
-      c->SetCommandFlags(wxT("ExportLabels"),
-                         AudioIONotBusyFlag | LabelTracksExistFlag,
-                         AudioIONotBusyFlag | LabelTracksExistFlag);
-      c->SetCommandFlags(wxT("ExportMultiple"),
-                         AudioIONotBusyFlag | TracksExistFlag,
-                         AudioIONotBusyFlag | TracksExistFlag);
-      c->SetCommandFlags(wxT("ExportMIDI"),
-                         AudioIONotBusyFlag | NoteTracksSelectedFlag,
-                         AudioIONotBusyFlag | NoteTracksSelectedFlag);
+      c->AddSeparator();
    }
 
-   c->AddSeparator();
+   /////////////////////////////////////////////////////////////////////////////
+
+   // Enable Export commands only when there are tracks
+   c->AddItem(wxT("Export"), _("&Export..."), FN(OnExport),
+              AudioIONotBusyFlag | WaveTracksExistFlag,
+              AudioIONotBusyFlag | WaveTracksExistFlag);
+
+   // Enable Export Selection commands only when there's a selection
+   c->AddItem(wxT("ExportSel"), _("Expo&rt Selection..."), FN(OnExportSelection),
+              AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag,
+              AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
+   
+   if (!mCleanSpeechMode) {
 
-	if( mCleanSpeechMode )
-	{
-      
-      c->AddItem(wxT("Export"),         _("&Export..."),           FN(OnExport));
-      // Enable Export commands only when there are tracks
-      c->SetCommandFlags(wxT("Export"),
-                         AudioIONotBusyFlag | TracksExistFlag,
-                         AudioIONotBusyFlag | TracksExistFlag);
-
-      c->AddItem(wxT("ExportSel"),      _("Expo&rt Selection..."), FN(OnExportSelection));
-      // Enable Export Selection commands only when there's a selection
-      c->SetCommandFlags(wxT("ExportSel"),
-                         AudioIONotBusyFlag | TimeSelectedFlag | TracksSelectedFlag,
-                         AudioIONotBusyFlag | TimeSelectedFlag | TracksSelectedFlag);
-      
       c->AddSeparator();
 
-      c->AddItem(wxT("ApplyChain"), _("CleanSpeech C&hain..."),   FN(OnApplyChain));
-      c->AddItem(wxT("EditChains"), _("Edit C&hains..."), FN(OnEditChains));
-      c->AddItem(wxT("ExportCcSettings"), _("Export CleanSpeech &Presets..."),   FN(OnExportCleanSpeechPresets));
-      c->AddItem(wxT("ImportCcSettings"), _("I&mport CleanSpeech Presets..."),   FN(OnImportCleanSpeechPresets));
-      c->SetCommandFlags(wxT("BatchProcess"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-#ifdef __WXDEBUG__
-	   gPrefs->Write(wxT("/Validate/DebugBuild"), "Y");
-#else
-	   gPrefs->Write(wxT("/Validate/DebugBuild"), "N");
+      c->AddItem(wxT("ExportLabels"), _("Export &Labels..."), FN(OnExportLabels),
+                 AudioIONotBusyFlag | LabelTracksExistFlag,
+                 AudioIONotBusyFlag | LabelTracksExistFlag);
+      c->AddItem(wxT("ExportMultiple"), _("Export &Multiple..."), FN(OnExportMultiple),
+                 AudioIONotBusyFlag | TracksExistFlag,
+                 AudioIONotBusyFlag | TracksExistFlag);
+#if defined(USE_MIDI)
+      c->AddItem(wxT("ExportMIDI"),   _("Export MIDI..."), FN(OnExportMIDI),
+                 AudioIONotBusyFlag | NoteTracksSelectedFlag,
+                 AudioIONotBusyFlag | NoteTracksSelectedFlag);
 #endif
-	}
-   else
-   {
-      c->AddItem(wxT("AppplyChain"), _("Appl&y Chain..."), FN(OnApplyChain));
-      c->SetCommandFlags(wxT("BatchProcess"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("EditChains"), _("Edit C&hains..."), FN(OnEditChains));
    }
 
+   c->AddItem(wxT("ApplyChain"), _("Appl&y Chain..."), FN(OnApplyChain),
+              AudioIONotBusyFlag,
+              AudioIONotBusyFlag);
+   c->AddItem(wxT("EditChains"), _("Edit C&hains..."), FN(OnEditChains));
+
+   if (mCleanSpeechMode) {
+      c->AddItem(wxT("ExportCcSettings"), _("Export CleanSpeech &Presets..."), FN(OnExportCleanSpeechPresets));
+      c->AddItem(wxT("ImportCcSettings"), _("I&mport CleanSpeech Presets..."), FN(OnImportCleanSpeechPresets));
+   }
+   else {
+
 #ifdef EXPERIMENTAL_FTP
-   c->AddSeparator();
-   c->AddItem(wxT("Upload File"),      _("&Upload File..."),            FN(OnUpload));
+      c->AddSeparator();
+
+      c->AddItem(wxT("Upload File"), _("&Upload File..."), FN(OnUpload));
 #endif
 
-   if( !mCleanSpeechMode )
-	{
       c->AddSeparator();
-      c->AddItem(wxT("PageSetup"),   _("Pa&ge Setup..."),              FN(OnPageSetup));
-      c->AddItem(wxT("Print"),       _("&Print..."),                   FN(OnPrint));
-      c->SetCommandFlags(wxT("PageSetup"),
-                         AudioIONotBusyFlag | TracksExistFlag,
-                         AudioIONotBusyFlag | TracksExistFlag);
-      c->SetCommandFlags(wxT("Print"),
-                         AudioIONotBusyFlag | TracksExistFlag,
-                         AudioIONotBusyFlag | TracksExistFlag);   
-	}
+
+      c->AddItem(wxT("PageSetup"), _("Pa&ge Setup..."), FN(OnPageSetup),
+                 AudioIONotBusyFlag | TracksExistFlag,
+                 AudioIONotBusyFlag | TracksExistFlag);
+      c->AddItem(wxT("Print"), _("&Print..."), FN(OnPrint),
+                 AudioIONotBusyFlag | TracksExistFlag,
+                 AudioIONotBusyFlag | TracksExistFlag);
+   }
    
    c->AddSeparator();
 
    // On the Mac, the Exit item doesn't actually go here...wxMac will pull it out
    // and put it in the Audacity menu for us based on its ID.
-   c->AddItem(wxT("Exit"),           _("E&xit\tCtrl+Q"),                          FN(OnExit));
-   c->SetCommandFlags(wxT("Exit"), 0, 0);
+   c->AddItem(wxT("Exit"), _("E&xit"), FN(OnExit), wxT("Ctrl+Q"),
+              AlwaysEnabledFlag,
+              AlwaysEnabledFlag);
+
    c->EndMenu();
 
-   //
+   /////////////////////////////////////////////////////////////////////////////
    // Edit Menu
-   //
+   /////////////////////////////////////////////////////////////////////////////
 
    c->BeginMenu(_("&Edit"));
+
    c->SetDefaultFlags(AudioIONotBusyFlag | TimeSelectedFlag | TracksSelectedFlag,
                       AudioIONotBusyFlag | TimeSelectedFlag | TracksSelectedFlag);
 
-   c->AddItem(wxT("Undo"),           _("&Undo\tCtrl+Z"),                  FN(OnUndo));
-   c->SetCommandFlags(wxT("Undo"),
-                      AudioIONotBusyFlag | UndoAvailableFlag,
-                      AudioIONotBusyFlag | UndoAvailableFlag);
+   c->AddItem(wxT("Undo"), _("&Undo"), FN(OnUndo), wxT("Ctrl+Z"),
+              AudioIONotBusyFlag | UndoAvailableFlag,
+              AudioIONotBusyFlag | UndoAvailableFlag);
 
-   // The default shortcut key for Redo is different
-   // on different platforms.
-
-   wxString redoLabel = _("&Redo");
-   #ifdef __WXMSW__
-   redoLabel += wxT("\tCtrl+Y");
-   #else
-   redoLabel += wxT("\tCtrl+Shift+Z");
-   #endif
+   // The default shortcut key for Redo is different on different platforms.
+   wxString key =
+#ifdef __WXMSW__
+      wxT("Ctrl+Y");
+#else
+      wxT("Ctrl+Shift+Z");
+#endif
 
-   c->AddItem(wxT("Redo"),           redoLabel,                           FN(OnRedo));
-   c->SetCommandFlags(wxT("Redo"),
-                      AudioIONotBusyFlag | RedoAvailableFlag,
-                      AudioIONotBusyFlag | RedoAvailableFlag);
+   c->AddItem(wxT("Redo"), _("&Redo"), FN(OnRedo), key,
+              AudioIONotBusyFlag | RedoAvailableFlag,
+              AudioIONotBusyFlag | RedoAvailableFlag);
 
    c->AddSeparator();
-   c->AddItem(wxT("Cut"),            _("Cu&t\tCtrl+X"),                   FN(OnCut));
-   c->SetCommandFlags(wxT("Cut"),
-                      AudioIONotBusyFlag | CutCopyAvailableFlag,
-                      AudioIONotBusyFlag | CutCopyAvailableFlag);
-   c->AddItem(wxT("SplitCut"),       _("Spl&it Cut\tCtrl+Alt+X"),          FN(OnSplitCut));
-   c->AddItem(wxT("Copy"),           _("&Copy\tCtrl+C"),                  FN(OnCopy)); 
-   c->SetCommandFlags(wxT("Copy"),
-                      AudioIONotBusyFlag | CutCopyAvailableFlag,
-                      AudioIONotBusyFlag | CutCopyAvailableFlag);
-   c->AddItem(wxT("Paste"),          _("&Paste\tCtrl+V"),                 FN(OnPaste));
-   c->SetCommandFlags(wxT("Paste"),
-                      AudioIONotBusyFlag | ClipboardFlag,
-                      AudioIONotBusyFlag | ClipboardFlag);
-   c->AddItem(wxT("Trim"),           _("Tri&m\tCtrl+T"),                  FN(OnTrim));
+
+   c->AddItem(wxT("Cut"), _("Cu&t"), FN(OnCut), wxT("Ctrl+X"),
+              AudioIONotBusyFlag | CutCopyAvailableFlag,
+              AudioIONotBusyFlag | CutCopyAvailableFlag);
+   c->AddItem(wxT("SplitCut"), _("Spl&it Cut"), FN(OnSplitCut), wxT("Ctrl+Alt+X"));
+   c->AddItem(wxT("Copy"), _("&Copy"), FN(OnCopy), wxT("Ctrl+C"),
+              AudioIONotBusyFlag | CutCopyAvailableFlag,
+              AudioIONotBusyFlag | CutCopyAvailableFlag);
+   c->AddItem(wxT("Paste"), _("&Paste"), FN(OnPaste), wxT("Ctrl+V"),
+              AudioIONotBusyFlag | ClipboardFlag,
+              AudioIONotBusyFlag | ClipboardFlag);
+   c->AddItem(wxT("Trim"), _("Tri&m"), FN(OnTrim), wxT("Ctrl+T"));
+
    c->AddSeparator();
-   c->AddItem(wxT("Delete"),         _("&Delete\tCtrl+K"),                FN(OnDelete));
-   c->AddItem(wxT("SplitDelete"),    _("Split D&elete\tCtrl+Alt+K"),       FN(OnSplitDelete));
-   c->AddItem(wxT("Silence"),        _("Silence Audi&o\tCtrl+L"),               FN(OnSilence));
+
+   c->AddItem(wxT("Delete"), _("&Delete"), FN(OnDelete), wxT("Ctrl+K"));
+   c->AddItem(wxT("SplitDelete"), _("Split D&elete"), FN(OnSplitDelete), wxT("Ctrl+Alt+K"));
+   c->AddItem(wxT("Silence"), _("Silence Audi&o"), FN(OnSilence), wxT("Ctrl+L"));
+
    c->AddSeparator();
-   c->AddItem(wxT("Split"),          _("Sp&lit\tCtrl+I"),                         FN(OnSplit));
-   c->SetCommandFlags(wxT("Split"),
-      AudioIONotBusyFlag | WaveTracksSelectedFlag,
-      AudioIONotBusyFlag | WaveTracksSelectedFlag);
 
-   c->AddItem(wxT("SplitNew"),      _("Split Ne&w\tCtrl+Alt+I"),       FN(OnSplitNew));
-   c->SetCommandFlags(wxT("SplitNew"),
-      AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag,
-      AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
+   c->AddItem(wxT("Split"), _("Sp&lit"), FN(OnSplit), wxT("Ctrl+I"),
+              AudioIONotBusyFlag | WaveTracksSelectedFlag,
+              AudioIONotBusyFlag | WaveTracksSelectedFlag);
 
-   c->AddItem(wxT("Join"),           _("&Join\tCtrl+J"),                   FN(OnJoin));
-   c->AddItem(wxT("Disjoin"),        _("Detac&h at Silences\tCtrl+Alt+J"), FN(OnDisjoin));
-   c->AddItem(wxT("Duplicate"),      _("Duplic&ate\tCtrl+D"),              FN(OnDuplicate));
+   c->AddItem(wxT("SplitNew"), _("Split Ne&w"), FN(OnSplitNew), wxT("Ctrl+Alt+I"),
+              AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag,
+              AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
+
+   c->AddItem(wxT("Join"), _("&Join"), FN(OnJoin), wxT("Ctrl+J"));
+   c->AddItem(wxT("Disjoin"), _("Detac&h at Silences"), FN(OnDisjoin), wxT("Ctrl+Alt+J"));
+   c->AddItem(wxT("Duplicate"), _("Duplic&ate"), FN(OnDuplicate), wxT("Ctrl+D"));
 
    // An anomaly... StereoToMono is added here for CleanSpeech, 
    // which doesn't have a Tracks menu, but is under Tracks for normal Audacity.
-   if( mCleanSpeechMode )
-	{
-      c->AddItem(wxT("Stereo to Mono"),      _("Stereo Trac&k to Mono"),  FN(OnStereoToMono));
-      c->SetCommandFlags(wxT("Stereo to Mono"),
-         AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag,
-         AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag);
-	}
+   if (mCleanSpeechMode) {
+      c->AddItem(wxT("Stereo to Mono"), _("Stereo Trac&k to Mono"), FN(OnStereoToMono),
+                 AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag,
+                 AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag);
+   }
+
    c->AddSeparator();
 
-   c->BeginSubMenu( _( "La&beled Regions" ) );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "CutLabels" ), _( "&Cut\tAlt+X" ), 
-         FN( OnCutLabels ) );
-   c->SetCommandFlags( wxT( "CutLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "SplitCutLabels" ), _( "&Split Cut\tShift+Alt+X" ), 
-         FN( OnSplitCutLabels ) );
-   c->SetCommandFlags( wxT( "SplitCutLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "CopyLabels" ), _( "Co&py\tShift+Alt+C" ), 
-         FN( OnCopyLabels ) );
-   c->SetCommandFlags( wxT( "CopyLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
+   /////////////////////////////////////////////////////////////////////////////
+
+   c->BeginSubMenu(_("La&beled Regions"));
+   c->SetDefaultFlags(LabelsSelectedFlag, LabelsSelectedFlag);
+
+   c->AddItem(wxT("CutLabels"), _("&Cut"), FN(OnCutLabels), wxT("Alt+X"));
+   c->AddItem(wxT("SplitCutLabels"), _("&Split Cut"), FN(OnSplitCutLabels), wxT("Shift+Alt+X"));
+   c->AddItem(wxT("CopyLabels"), _("Co&py"), FN(OnCopyLabels), wxT("Shift+Alt+C"));
+
    c->AddSeparator();
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "DeleteLabels" ), _( "&Delete\tAlt+K" ), 
-         FN( OnDeleteLabels ) );
-   c->SetCommandFlags( wxT( "DeleteLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "SplitDeleteLabels" ), _( "Sp&lit Delete\tShift+Alt+K" ), 
-         FN( OnSplitDeleteLabels ) );
-   c->SetCommandFlags( wxT( "SplitDeleteLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "SilenceLabels" ), _( "Sile&nce\tAlt+L" ), 
-         FN( OnSilenceLabels ) );
-   c->SetCommandFlags( wxT( "SilenceLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
+
+   c->AddItem(wxT("DeleteLabels"), _("&Delete"), FN(OnDeleteLabels), wxT("Alt+K"));
+   c->AddItem(wxT("SplitDeleteLabels"), _("Sp&lit Delete"), FN(OnSplitDeleteLabels), wxT("Shift+Alt+K"));
+   c->AddItem(wxT("SilenceLabels"), _("Sile&nce"), FN(OnSilenceLabels), wxT("Alt+L"));
+
    c->AddSeparator();
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "SplitLabels" ), _( "Spli&t\tAlt+I" ), 
-         FN( OnSplitLabels ) );
-   c->SetCommandFlags( wxT( "SplitLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "JoinLabels" ), _( "&Join\tAlt+J" ), 
-         FN( OnJoinLabels ) );
-   c->SetCommandFlags( wxT( "JoinLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
-   /* i18n-hint: Labeled Regions submenu */
-   c->AddItem( wxT( "DisjoinLabels" ), _( "Detac&h at Silences\tShift+Alt+J" ),  FN( OnDisjoinLabels ) );
-   c->SetCommandFlags( wxT( "DisjoinLabels" ), LabelsSelectedFlag, 
-         LabelsSelectedFlag );
+
+   c->AddItem(wxT("SplitLabels"), _("Spli&t"), FN(OnSplitLabels), wxT("Alt+I"));
+   c->AddItem(wxT("JoinLabels"), _("&Join"),  FN(OnJoinLabels), wxT("Alt+J"));
+   c->AddItem(wxT("DisjoinLabels"), _("Detac&h at Silences"), FN(OnDisjoinLabels), wxT("Shift+Alt+J"));
+
    c->EndSubMenu();
-   
+
+   /////////////////////////////////////////////////////////////////////////////
+
    c->BeginSubMenu(_("&Select"));
-   c->AddItem(wxT("SelectAll"),      _("&All\tCtrl+A"),                   FN(OnSelectAll));
-   c->AddItem(wxT("SelectNone"),     _("&None\tCtrl+Shift+A"),            FN(OnSelectNone));
-   c->SetCommandFlags(TracksExistFlag, TracksExistFlag,
-                      wxT("SelectAll"), wxT("SelectNone"), NULL);
+   c->SetDefaultFlags(TracksExistFlag, TracksExistFlag);
+
+   c->AddItem(wxT("SelectAll"), _("&All"), FN(OnSelectAll), wxT("Ctrl+A"));
+   c->AddItem(wxT("SelectNone"), _("&None"), FN(OnSelectNone), wxT("Ctrl+Shift+A"));
+
+   c->AddItem(wxT("SetLeftSelection"), _("&Left at Playback Position"), FN(OnSetLeftSelection), wxT("["));
+   c->AddItem(wxT("SetRightSelection"), _("&Right at Playback Position"), FN(OnSetRightSelection), wxT("]"));
 
-   c->AddItem(wxT("SetLeftSelection"),_("&Left at Playback Position\t["), FN(OnSetLeftSelection));
-   c->AddItem(wxT("SetRightSelection"),_("&Right at Playback Position\t]"), FN(OnSetRightSelection));
-   c->SetCommandFlags(TracksExistFlag, TracksExistFlag,
-                      wxT("SetLeftSelection"), wxT("SetRightSelection"), NULL);
+   c->SetDefaultFlags(TracksSelectedFlag, TracksSelectedFlag);
 
-   c->AddItem(wxT("SelStartCursor"), _("Track &Start to Cursor\tShift+J"),                FN(OnSelectStartCursor));
-   c->AddItem(wxT("SelCursorEnd"),   _("Cursor to Track &End\tShift+K"),                  FN(OnSelectCursorEnd));
-   c->SetCommandFlags(TracksSelectedFlag, TracksSelectedFlag,
-                      wxT("SelStartCursor"), wxT("SelCursorEnd"), NULL);
+   c->AddItem(wxT("SelStartCursor"), _("Track &Start to Cursor"), FN(OnSelectStartCursor), wxT("Shift+J"));
+   c->AddItem(wxT("SelCursorEnd"), _("Cursor to Track &End"), FN(OnSelectCursorEnd), wxT("Shift+K"));
 
    c->EndSubMenu();
 
-   c->AddItem(wxT("ZeroCross"),      _("Find &Zero Crossings\tZ"),         FN(OnZeroCrossing));
-   c->SetCommandFlags(wxT("ZeroCross"), TracksSelectedFlag, TracksSelectedFlag);
+   /////////////////////////////////////////////////////////////////////////////
+
+   c->AddItem(wxT("ZeroCross"), _("Find &Zero Crossings"), FN(OnZeroCrossing), wxT("Z"));
+
+   /////////////////////////////////////////////////////////////////////////////
 
    c->BeginSubMenu(_("Mo&ve Cursor"));
 
-   c->AddItem(wxT("CursSelStart"),   _("to Selection Star&t"),             FN(OnCursorSelStart));
-   c->AddItem(wxT("CursSelEnd"),     _("to Selection En&d"),               FN(OnCursorSelEnd));
-   c->SetCommandFlags(TimeSelectedFlag, TimeSelectedFlag,
-                      wxT("CursSelStart"), wxT("CursSelEnd"), NULL);
+   c->AddItem(wxT("CursSelStart"), _("to Selection Star&t"), FN(OnCursorSelStart));
+   c->AddItem(wxT("CursSelEnd"), _("to Selection En&d"), FN(OnCursorSelEnd));
                       
-   c->AddItem(wxT("CursTrackStart"), _("to Track &Start\tJ"),                 FN(OnCursorTrackStart));
-   c->AddItem(wxT("CursTrackEnd"),   _("to Track &End\tK"),                   FN(OnCursorTrackEnd));
-   c->SetCommandFlags(TracksSelectedFlag, TracksSelectedFlag,
-                      wxT("CursTrackStart"), wxT("CursTrackEnd"), NULL);
+   c->AddItem(wxT("CursTrackStart"), _("to Track &Start"), FN(OnCursorTrackStart), wxT("J"));
+   c->AddItem(wxT("CursTrackEnd"), _("to Track &End"), FN(OnCursorTrackEnd), wxT("K"));
 
    c->EndSubMenu();
 
+   /////////////////////////////////////////////////////////////////////////////
+
    c->AddSeparator();
-   c->AddItem(wxT("SelSave"),        _("Re&gion Save"),                FN(OnSelectionSave));
-   c->AddItem(wxT("SelRestore"),     _("Regio&n Restore"),             FN(OnSelectionRestore));
 
-   c->SetCommandFlags(wxT("SelSave"),
-      TimeSelectedFlag | WaveTracksSelectedFlag,
-      TimeSelectedFlag | WaveTracksSelectedFlag);
-   c->SetCommandFlags(wxT("SelRestore"),
-      TracksExistFlag, 
-      TracksExistFlag);
+   c->AddItem(wxT("SelSave"), _("Re&gion Save"), FN(OnSelectionSave),
+              TimeSelectedFlag | WaveTracksSelectedFlag,
+              TimeSelectedFlag | WaveTracksSelectedFlag);
+   c->AddItem(wxT("SelRestore"), _("Regio&n Restore"), FN(OnSelectionRestore),
+              TracksExistFlag, 
+              TracksExistFlag);
 
    c->AddSeparator();
 
+   /////////////////////////////////////////////////////////////////////////////
+
    c->BeginSubMenu(_("Pla&y Region"));
-   c->AddItem(wxT("LockPlayRegion"), _("&Lock"), FN(OnLockPlayRegion));
-   c->AddItem(wxT("UnlockPlayRegion"), _("&Unlock"), FN(OnUnlockPlayRegion));
-   c->SetCommandFlags(wxT("LockPlayRegion"), PlayRegionNotLockedFlag, PlayRegionNotLockedFlag);
-   c->SetCommandFlags(wxT("UnlockPlayRegion"), PlayRegionLockedFlag, PlayRegionLockedFlag);
+
+   c->AddItem(wxT("LockPlayRegion"), _("&Lock"), FN(OnLockPlayRegion),
+              PlayRegionNotLockedFlag,
+              PlayRegionNotLockedFlag);
+   c->AddItem(wxT("UnlockPlayRegion"), _("&Unlock"), FN(OnUnlockPlayRegion),
+              PlayRegionLockedFlag,
+              PlayRegionLockedFlag);
+
    c->EndSubMenu();
 
-   // Alternate strings
-   wxString dummy1 = _("Turn Snap-To On");
-   wxString dummy2 = _("Turn Snap-To Off");
-   wxString dummy3 = _("Turn Grid Snap On");
-   wxString dummy4 = _("Turn Grid Snap Off");
-
-   // Moved Preferences from File Menu 02/09/05 Richard Ash.
-  #ifdef __WXMAC__
-   /* i18n-hint: Mac OS X Preferences shortcut should be Ctrl+, */
-   c->AddItem(wxT("Preferences"),    _("Pre&ferences...\tCtrl+,"),        FN(OnPreferences));
-  #else
-   /* i18n-hint: On Windows and Linux, the Preferences shortcut is usually Ctrl+P */
+   /////////////////////////////////////////////////////////////////////////////
+
+#ifndef __WXMAC__
    c->AddSeparator();
-   c->AddItem(wxT("Preferences"),    _("Pre&ferences...\tCtrl+P"),        FN(OnPreferences));
-  #endif
-   c->SetCommandFlags(wxT("Preferences"), AudioIONotBusyFlag, AudioIONotBusyFlag);
+#endif
+
+   // The default shortcut key for Preferences is different on different platforms.
+   key =
+#ifdef __WXMAC__
+      wxT("Ctrl+,");
+#else
+      wxT("Ctrl+P");
+#endif
+
+   c->AddItem(wxT("Preferences"), _("Pre&ferences..."), FN(OnPreferences), key,
+              AudioIONotBusyFlag,
+              AudioIONotBusyFlag);
 
    c->EndMenu();
 
-   //
+   /////////////////////////////////////////////////////////////////////////////
    // View Menu
-   //
+   /////////////////////////////////////////////////////////////////////////////
 
    c->BeginMenu(_("&View"));
-   c->SetDefaultFlags(0, 0);
-   c->AddItem(wxT("ZoomIn"),         _("Zoom &In\tCtrl+1"),               FN(OnZoomIn));
-   c->SetCommandFlags(wxT("ZoomIn"), ZoomInAvailableFlag, ZoomInAvailableFlag);
+   c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
 
-   c->AddItem(wxT("ZoomNormal"),     _("Zoom &Normal\tCtrl+2"),           FN(OnZoomNormal));
-   c->AddItem(wxT("ZoomOut"),        _("Zoom &Out\tCtrl+3"),              FN(OnZoomOut));
-   c->SetCommandFlags(wxT("ZoomOut"), ZoomOutAvailableFlag, ZoomOutAvailableFlag);
+   c->AddItem(wxT("ZoomIn"), _("Zoom &In"), FN(OnZoomIn), wxT("Ctrl+1"),
+              ZoomInAvailableFlag,
+              ZoomInAvailableFlag);
+   c->AddItem(wxT("ZoomNormal"), _("Zoom &Normal"), FN(OnZoomNormal), wxT("Ctrl+2"));
+   c->AddItem(wxT("ZoomOut"), _("Zoom &Out"), FN(OnZoomOut), wxT("Ctrl+3"),
+              ZoomOutAvailableFlag,
+              ZoomOutAvailableFlag);
 
-   c->AddItem(wxT("FitInWindow"),    _("&Fit in Window\tCtrl+F"),         FN(OnZoomFit));
-   c->AddItem(wxT("FitV"),           _("Fit &Vertically\tCtrl+Shift+F"),  FN(OnZoomFitV));
-   c->AddItem(wxT("ZoomSel"),        _("&Zoom to Selection\tCtrl+E"),     FN(OnZoomSel));
+   c->AddItem(wxT("FitInWindow"), _("&Fit in Window"), FN(OnZoomFit), wxT("Ctrl+F"));
+   c->AddItem(wxT("FitV"), _("Fit &Vertically"), FN(OnZoomFitV), wxT("Ctrl+Shift+F"));
+   c->AddItem(wxT("ZoomSel"), _("&Zoom to Selection"), FN(OnZoomSel), wxT("Ctrl+E"));
 
    c->AddSeparator();
-   c->AddItem(wxT("CollapseAllTracks"), _("&Collapse All Tracks\tCtrl+Shift+C"), FN(OnCollapseAllTracks));
-   c->AddItem(wxT("ExpandAllTracks"), _("E&xpand All Tracks\tCtrl+Shift+X"), FN(OnExpandAllTracks));
-   
+
+   c->AddItem(wxT("CollapseAllTracks"), _("&Collapse All Tracks"), FN(OnCollapseAllTracks), wxT("Ctrl+Shift+C"));
+   c->AddItem(wxT("ExpandAllTracks"), _("E&xpand All Tracks"), FN(OnExpandAllTracks), wxT("Ctrl+Shift+X"));
+
    c->AddSeparator();
-   c->AddItem(wxT("ShowClipping"), _("&Show Clipping"), FN(OnShowClipping),
-              gPrefs->Read(wxT("/GUI/ShowClipping"), 0L));
+
+   c->AddCheck(wxT("ShowClipping"), _("&Show Clipping"), FN(OnShowClipping),
+               gPrefs->Read(wxT("/GUI/ShowClipping"), 0L));
 
    c->AddSeparator();
-//   c->BeginSubMenu(_("Set Selection Format"));
-//   c->AddItemList(wxT("SelectionFormat"), GetSelectionFormats(), FN(OnSelectionFormat));
-//   c->EndSubMenu();
-//
-//   c->AddSeparator();
-   c->AddItem(wxT("UndoHistory"),    _("&History..."),               FN(OnHistory));
-   c->SetCommandFlags(wxT("UndoHistory"),
-                      AudioIONotBusyFlag | UndoAvailableFlag,
-                      AudioIONotBusyFlag | UndoAvailableFlag);
+
+   c->AddItem(wxT("UndoHistory"), _("&History..."), FN(OnHistory),
+              AudioIONotBusyFlag | UndoAvailableFlag,
+              AudioIONotBusyFlag | UndoAvailableFlag);
+
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      c->AddItem(wxT("Lyrics"), _("&Lyrics..."), FN(OnLyrics), LabelTracksExistFlag, LabelTracksExistFlag); 
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      c->AddItem(wxT("MixerBoard"), _("&Mixer Board..."), FN(OnMixerBoard), WaveTracksExistFlag, WaveTracksExistFlag);
+   #endif
 
    c->AddSeparator();
+
+   /////////////////////////////////////////////////////////////////////////////
+
    c->BeginSubMenu(_("&Toolbars"));
-   c->AddItem(wxT("ShowControlTB"),       _("&Control Toolbar"),       FN(OnShowControlToolBar), 0);
-   c->AddItem(wxT("ShowDeviceTB"),        _("&Device Toolbar"),        FN(OnShowDeviceToolBar), 0);
-   c->AddItem(wxT("ShowEditTB"),          _("&Edit Toolbar"),          FN(OnShowEditToolBar), 0);
-   c->AddItem(wxT("ShowMeterTB"),         _("&Meter Toolbar"),         FN(OnShowMeterToolBar), 0);
-   c->AddItem(wxT("ShowMixerTB"),         _("Mi&xer Toolbar"),         FN(OnShowMixerToolBar), 0);
-   c->AddItem(wxT("ShowSelectionTB"),     _("&Selection Toolbar"),     FN(OnShowSelectionToolBar), 0);
-   c->AddItem(wxT("ShowToolsTB"),         _("T&ools Toolbar"),         FN(OnShowToolsToolBar), 0);
-   c->AddItem(wxT("ShowTranscriptionTB"), _("Transcri&ption Toolbar"), FN(OnShowTranscriptionToolBar), 0);
+
+   c->AddCheck(wxT("ShowControlTB"), _("&Control Toolbar"), FN(OnShowControlToolBar), 0);
+   c->AddCheck(wxT("ShowDeviceTB"), _("&Device Toolbar"), FN(OnShowDeviceToolBar), 0);
+   c->AddCheck(wxT("ShowEditTB"), _("&Edit Toolbar"), FN(OnShowEditToolBar), 0);
+   c->AddCheck(wxT("ShowMeterTB"), _("&Meter Toolbar"), FN(OnShowMeterToolBar), 0);
+   c->AddCheck(wxT("ShowMixerTB"), _("Mi&xer Toolbar"), FN(OnShowMixerToolBar), 0);
+   c->AddCheck(wxT("ShowSelectionTB"), _("&Selection Toolbar"), FN(OnShowSelectionToolBar), 0);
+   c->AddCheck(wxT("ShowToolsTB"), _("T&ools Toolbar"), FN(OnShowToolsToolBar), 0);
+   c->AddCheck(wxT("ShowTranscriptionTB"), _("Transcri&ption Toolbar"), FN(OnShowTranscriptionToolBar), 0);
+
    c->AddSeparator();
-   c->AddItem(wxT("ResetToolbars"),       _("&Reset Toolbars"),              FN(OnResetToolBars));
+
+   c->AddItem(wxT("ResetToolbars"), _("&Reset Toolbars"), FN(OnResetToolBars),
+              AudioIONotBusyFlag,
+              AudioIONotBusyFlag);
+
    c->EndSubMenu();
-   c->AddItem(wxT("SimplifiedView"),      _("!Simplified View"),       FN(OnSimplifiedView), mCommandManager.mbHideFlaggedItems ? 1:0);
+
+   /////////////////////////////////////////////////////////////////////////////
+
+   c->AddCheck(wxT("SimplifiedView"), _("!Simplified View"), FN(OnSimplifiedView),
+               mCommandManager.mbHideFlaggedItems ? 1 : 0);
+
    c->EndMenu();
 
-   //
+   /////////////////////////////////////////////////////////////////////////////
    // Transport Menu
-   //
+   /////////////////////////////////////////////////////////////////////////////
 
    /*i18n-hint: 'Transport' is the name given to the set of controls that
    play, record, pause etc. */
    c->BeginMenu(_("T&ransport"));
-   c->SetDefaultFlags(0, 0);
-      c->AddItem(wxT("Play"), _("Play\tSpace"), FN(OnPlayStop));
-      c->SetCommandFlags(wxT("Play"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("PlayLooped"), _("&Loop Play\tShift+Space"), FN(OnPlayLooped));
-      c->SetCommandFlags(wxT("PlayLooped"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("Pause"), _("&Pause\tP"), FN(OnPause));
-      c->AddItem(wxT("Stop"), _("&Stop\tSpace"), FN(OnStop));
-      c->AddItem(wxT("SkipStart"), _("Skip to Start\tHome"), FN(OnSkipStart));
-      c->SetCommandFlags(wxT("SkipStart"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("SkipEnd"), _("Skip to End\tEnd"), FN(OnSkipEnd));
-      c->SetCommandFlags(wxT("SkipEnd"), AudioIONotBusyFlag, AudioIONotBusyFlag);
+   c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
+
+   c->AddItem(wxT("Play"), _("Play"), FN(OnPlayStop));
+   c->AddItem(wxT("PlayLooped"), _("&Loop Play"), FN(OnPlayLooped), wxT("Shift+Space"));
+   c->AddItem(wxT("Pause"), _("&Pause"), FN(OnPause), wxT("P"),
+              AudioIOBusyFlag,
+              AudioIOBusyFlag);
+   c->AddItem(wxT("Stop"), _("&Stop"), FN(OnStop),
+              AudioIOBusyFlag,
+              AudioIOBusyFlag);
+   c->AddItem(wxT("SkipStart"), _("Skip to Start"), FN(OnSkipStart), wxT("Home"));
+   c->AddItem(wxT("SkipEnd"), _("Skip to End"), FN(OnSkipEnd), wxT("End"));
+
    c->AddSeparator();
-      c->AddItem(wxT("Record"), _("&Record\tR"), FN(OnRecord));
-      c->SetCommandFlags(wxT("Record"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("TimerRecord"), _("&Timer Record...\tShift+T"), FN(OnTimerRecord));
-      c->SetCommandFlags(wxT("TimerRecord"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("RecordAppend"), _("Append Record\tShift+R"), FN(OnRecordAppend));
-      c->SetCommandFlags(wxT("RecordAppend"), AudioIONotBusyFlag, AudioIONotBusyFlag);
+
+   c->AddItem(wxT("Record"), _("&Record"), FN(OnRecord), wxT("R"));
+   c->AddItem(wxT("TimerRecord"), _("&Timer Record..."), FN(OnTimerRecord), wxT("Shift+T"));
+   c->AddItem(wxT("RecordAppend"), _("Append Record"), FN(OnRecordAppend), wxT("Shift+R"));
+
    c->AddSeparator();
-      c->AddItem(wxT("Duplex"), _("Overdub (on/off)"), FN(OnTogglePlayRecording), 0);
-      c->SetCommandFlags(wxT("Duplex"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("SWPlaythrough"), _("Software Playthrough (on/off)"), FN(OnToggleSWPlaythrough), 0);
-      c->SetCommandFlags(wxT("SWPlaythrough"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      // Sound Activated recording options
-      c->AddItem(wxT("SoundActivation"), _("Sound Activated Recording (on/off)"), FN(OnToggleSoundActivated), 0);
-      c->SetCommandFlags(wxT("SoundActivation"), AudioIONotBusyFlag, AudioIONotBusyFlag);
-      c->AddItem(wxT("SoundActivationLevel"), _("Sound Activation Level..."), FN(OnSoundActivated));
-      c->SetCommandFlags(wxT("SoundActivationLevel"), AudioIONotBusyFlag, AudioIONotBusyFlag);
 
-   //
-   // Tracks Menu (formerly Project Menu)
-   //
-	if( !mCleanSpeechMode )
-	{
+   c->AddCheck(wxT("Duplex"), _("Overdub (on/off)"), FN(OnTogglePlayRecording), 0);
+   c->AddCheck(wxT("SWPlaythrough"), _("Software Playthrough (on/off)"), FN(OnToggleSWPlaythrough), 0);
+
+   // Sound Activated recording options
+   c->AddCheck(wxT("SoundActivation"), _("Sound Activated Recording (on/off)"), FN(OnToggleSoundActivated), 0);
+   c->AddItem(wxT("SoundActivationLevel"), _("Sound Activation Level..."), FN(OnSoundActivated));
+
+   if (!mCleanSpeechMode) {
+
+      //////////////////////////////////////////////////////////////////////////
+      // Tracks Menu (formerly Project Menu)
+      //////////////////////////////////////////////////////////////////////////
+
       c->BeginMenu(_("&Tracks"));
       c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
-      /*c->BeginSubMenu(_("&Current Track..."));
-		c->EndSubMenu();
-
-      c->AddSeparator();*/
 		
+      //////////////////////////////////////////////////////////////////////////
+
 		c->BeginSubMenu(_("Add &New"));
-			c->AddItem(wxT("NewAudioTrack"),  _("&Audio Track\tCtrl+Shift+N"),               FN(OnNewWaveTrack));
-			c->AddItem(wxT("NewStereoTrack"), _("&Stereo Track"),              FN(OnNewStereoTrack));
-			c->AddItem(wxT("NewLabelTrack"),  _("&Label Track"),               FN(OnNewLabelTrack));
-			c->AddItem(wxT("NewTimeTrack"),   _("&Time Track"),                FN(OnNewTimeTrack));
+
+      c->AddItem(wxT("NewAudioTrack"),  _("&Audio Track"), FN(OnNewWaveTrack), wxT("Ctrl+Shift+N"));
+      c->AddItem(wxT("NewStereoTrack"), _("&Stereo Track"), FN(OnNewStereoTrack));
+      c->AddItem(wxT("NewLabelTrack"),  _("&Label Track"), FN(OnNewLabelTrack));
+      c->AddItem(wxT("NewTimeTrack"),   _("&Time Track"), FN(OnNewTimeTrack));
+
 		c->EndSubMenu();
 
+      //////////////////////////////////////////////////////////////////////////
+
       c->AddSeparator();
+
       // StereoToMono moves to the Edit menu when in CleanSpeech mode.
       // It belongs here normally, because it is a kind of mix-down.
-      c->AddItem(wxT("Stereo to Mono"),      _("Stereo Trac&k to Mono"),            FN(OnStereoToMono));
-      c->SetCommandFlags(wxT("Stereo to Mono"),
-         AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag,
-         AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag);
-      c->AddItem(wxT("MixAndRender"),       _("Mi&x and Render"),             FN(OnMixAndRender));
-      c->SetCommandFlags(wxT("MixAndRender"),
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag,
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag);
-      c->AddCommand(wxT("MixAndRenderToNewTrack"), _("Mix and Render to New Track\tCtrl+Shift+M"), FN(OnMixAndRenderToNewTrack));
-      c->SetCommandFlags(wxT("MixAndRenderToNewTrack"),
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag,
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag);
-      c->AddItem(wxT("Resample"), _("&Resample..."), FN(OnResample));
-      c->SetCommandFlags(wxT("Resample"),
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag,
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag);
+      c->AddItem(wxT("Stereo to Mono"), _("Stereo Trac&k to Mono"), FN(OnStereoToMono),
+                 AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag,
+                 AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag);
+      c->AddItem(wxT("MixAndRender"), _("Mi&x and Render"), FN(OnMixAndRender),
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag,
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag);
+      c->AddCommand(wxT("MixAndRenderToNewTrack"), _("Mix and Render to New Track"), FN(OnMixAndRenderToNewTrack), wxT("Ctrl+Shift+M"),
+                    AudioIONotBusyFlag | WaveTracksSelectedFlag,
+                    AudioIONotBusyFlag | WaveTracksSelectedFlag);
+      c->AddItem(wxT("Resample"), _("&Resample..."), FN(OnResample),
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag,
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag);
+
       c->AddSeparator();
-     /* c->AddItem(wxT("NewAudioTrack"),  _("New &Audio Track\tShift+Ctrl+N"),               FN(OnNewWaveTrack));
-      c->AddItem(wxT("NewStereoTrack"), _("New &Stereo Track"),              FN(OnNewStereoTrack));
-      c->AddItem(wxT("NewLabelTrack"),  _("New La&bel Track"),               FN(OnNewLabelTrack));
-      c->AddItem(wxT("NewTimeTrack"),   _("New &Time Track"),                FN(OnNewTimeTrack));
-      c->AddSeparator();*/
-      c->AddItem(wxT("RemoveTracks"),   _("Remo&ve Tracks"),                 FN(OnRemoveTracks));
-      c->SetCommandFlags(wxT("RemoveTracks"),
-                         AudioIONotBusyFlag | TracksSelectedFlag,
-                         AudioIONotBusyFlag | TracksSelectedFlag);
+
+      c->AddItem(wxT("RemoveTracks"), _("Remo&ve Tracks"), FN(OnRemoveTracks),
+                 AudioIONotBusyFlag | TracksSelectedFlag,
+                 AudioIONotBusyFlag | TracksSelectedFlag);
+
       c->AddSeparator();
 
-      c->AddItem(wxT("MuteAllTracks"), _("&Mute All Tracks\tCtrl+U"), FN(OnMuteAllTracks));
-      c->AddItem(wxT("UnMuteAllTracks"), _("&UnMute All Tracks\tCtrl+Shift+U"), FN(OnUnMuteAllTracks));
+      c->AddItem(wxT("MuteAllTracks"), _("&Mute All Tracks"), FN(OnMuteAllTracks), wxT("Ctrl+U"));
+      c->AddItem(wxT("UnMuteAllTracks"), _("&UnMute All Tracks"), FN(OnUnMuteAllTracks), wxT("Ctrl+Shift+U"));
+
       c->AddSeparator();
    
       wxArrayString alignLabels;
@@ -681,67 +664,85 @@ void AudacityProject::CreateMenusAndCommands()
       alignLabels.Add(_("Align Tracks To&gether"));
    
       c->BeginSubMenu(_("&Align Tracks"));
+
       c->AddItemList(wxT("Align"), alignLabels, FN(OnAlign));
       c->SetCommandFlags(wxT("Align"),
                          AudioIONotBusyFlag | TracksSelectedFlag,
                          AudioIONotBusyFlag | TracksSelectedFlag);
+
       c->EndSubMenu();
    
+      //////////////////////////////////////////////////////////////////////////
+
       alignLabels.RemoveAt(7); // Can't align together and move cursor
    
+      //////////////////////////////////////////////////////////////////////////
+
       c->BeginSubMenu(_("Ali&gn and Move Cursor"));
+
       c->AddItemList(wxT("AlignMove"), alignLabels, FN(OnAlignMoveSel));
       c->SetCommandFlags(wxT("AlignMove"),
                          AudioIONotBusyFlag | TracksSelectedFlag,
                          AudioIONotBusyFlag | TracksSelectedFlag);
+
       c->EndSubMenu();
-#ifdef EXPERIMENTAL_SCOREALIGN
-      c->AddItem(wxT("ScoreAlign"),       _("Synchronize MIDI with Audio"), FN(OnScoreAlign));
 
-      c->SetCommandFlags(wxT("ScoreAlign"),
-                         AudioIONotBusyFlag | NoteTracksSelectedFlag | WaveTracksSelectedFlag,
-                         AudioIONotBusyFlag | NoteTracksSelectedFlag | WaveTracksSelectedFlag);
+      //////////////////////////////////////////////////////////////////////////
+
+#ifdef EXPERIMENTAL_SCOREALIGN
+      c->AddItem(wxT("ScoreAlign"), _("Synchronize MIDI with Audio"), FN(OnScoreAlign),
+                 AudioIONotBusyFlag | NoteTracksSelectedFlag | WaveTracksSelectedFlag,
+                 AudioIONotBusyFlag | NoteTracksSelectedFlag | WaveTracksSelectedFlag);
 #endif // EXPERIMENTAL_SCOREALIGN
 
-      c->AddSeparator(); 
-#ifdef EXPERIMENTAL_POSITION_LINKING
-      c->AddItem(wxT("StickyLabels"),       _("Link Audio and Label Tracks"), FN(OnStickyLabel), 0);  
-      c->AddSeparator(); 
-#endif
-      c->AddItem(wxT("AddLabel"),       _("Add &Label At Selection\tCtrl+B"), FN(OnAddLabel));
-      c->AddItem(wxT("AddLabelPlaying"),       _("Add Label At &Playback Position\tCtrl+M"), FN(OnAddLabelPlaying));
-      c->SetCommandFlags(wxT("AddLabel"), 0, 0);
-      c->SetCommandFlags(wxT("AddLabelPlaying"), 0, AudioIONotBusyFlag);
-      c->AddItem(wxT("EditLabels"),       _("&Edit Labels"), FN(OnEditLabels));
+      c->AddSeparator();
+
+      c->AddCheck(wxT("StickyLabels"), _("&Link Audio and Label Tracks"), FN(OnStickyLabel), 0);
+
+      c->AddSeparator();
+
+      c->AddItem(wxT("AddLabel"), _("Add Label At &Selection"), FN(OnAddLabel), wxT("Ctrl+B"),
+                 AlwaysEnabledFlag,
+                 AlwaysEnabledFlag);
+      c->AddItem(wxT("AddLabelPlaying"), _("Add Label At &Playback Position"), FN(OnAddLabelPlaying), wxT("Ctrl+M"),
+                 0,
+                 AudioIONotBusyFlag);
+      c->AddItem(wxT("EditLabels"), _("&Edit Labels"), FN(OnEditLabels));
 
       c->AddSeparator();   
+
+      //////////////////////////////////////////////////////////////////////////
+
       c->BeginSubMenu(_("S&ort tracks"));
-      c->AddItem(wxT("SortByTime"), _("by &Start time"), FN(OnSortTime));
-      c->SetCommandFlags(wxT("SortByTime"), TracksExistFlag, TracksExistFlag);
-      c->AddItem(wxT("SortByName"), _("by &Name"), FN(OnSortName));
-      c->SetCommandFlags(wxT("SortByName"), TracksExistFlag, TracksExistFlag);
+
+      c->AddItem(wxT("SortByTime"), _("by &Start time"), FN(OnSortTime),
+                 TracksExistFlag,
+                 TracksExistFlag);
+      c->AddItem(wxT("SortByName"), _("by &Name"), FN(OnSortName),
+                 TracksExistFlag,
+                 TracksExistFlag);
+
       c->EndSubMenu();
 
+      //////////////////////////////////////////////////////////////////////////
+
       c->EndMenu();
-   
-      //
-      // Generate, Effect & Analyze menus
-      //
-   
+
+      //////////////////////////////////////////////////////////////////////////
+      // Generate Menu
+      //////////////////////////////////////////////////////////////////////////
 
       c->BeginMenu(_("&Generate"));
-      c->SetDefaultFlags(AudioIONotBusyFlag,
-                         AudioIONotBusyFlag);
-      
-      // Add sound generators
-      
+      c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
+
 #ifndef EFFECT_CATEGORIES
 
       effects = em.GetEffects(INSERT_EFFECT | BUILTIN_EFFECT);
-      if(effects->GetCount()){
+      if (effects->GetCount()) {
          names.Clear();
-         for(i=0; i<effects->GetCount(); i++)
+         for (size_t i = 0; i < effects->GetCount(); i++) {
             names.Add((*effects)[i]->GetEffectName());
+         }
          c->AddItemList(wxT("Generate"), names, FN(OnGenerateEffect));
       }
       delete effects;
@@ -750,14 +751,15 @@ void AudacityProject::CreateMenusAndCommands()
       if (effects->GetCount()) {
          c->AddSeparator();
          names.Clear();
-         for(i=0; i<effects->GetCount(); i++)
+         for (size_t i = 0; i < effects->GetCount(); i++) {
             names.Add((*effects)[i]->GetEffectName());
+         }
          c->AddItemList(wxT("GeneratePlugin"), names, FN(OnGeneratePlugin), true);
       }
       delete effects;
 
 #else
-      
+
       int flags;
 
       flags = INSERT_EFFECT | BUILTIN_EFFECT | PLUGIN_EFFECT;
@@ -790,24 +792,25 @@ void AudacityProject::CreateMenusAndCommands()
 
 #endif // EFFECT_CATEGORIES
 
-
       c->EndMenu();
    }        
 
+   /////////////////////////////////////////////////////////////////////////////
+   // Effect Menu
+   /////////////////////////////////////////////////////////////////////////////
+
    c->BeginMenu(_("Effe&ct"));
    c->SetDefaultFlags(AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag,
                       AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
 
-   c->AddItem(wxT("RepeatLastEffect"),     _("Repeat Last Effect\tCtrl+R"),    FN(OnRepeatLastEffect));
-   c->SetCommandFlags(wxT("RepeatLastEffect"),
-                      AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag | HasLastEffectFlag,
-                      AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag | HasLastEffectFlag);
+   c->AddItem(wxT("RepeatLastEffect"), mLastEffectDesc, FN(OnRepeatLastEffect), wxT("Ctrl+R"),
+              AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag | HasLastEffectFlag,
+              AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag | HasLastEffectFlag);
+
    c->AddSeparator();
 
-   int additionalEffects=ADVANCED_EFFECT;
-   // set additionalEffects to zero to exclude the advanced effects.
-   if( mCleanSpeechMode )
-       additionalEffects = 0;
+   // Cleanspeech doesn't have advanced effects
+   int additionalEffects = mCleanSpeechMode ? 0 : ADVANCED_EFFECT;
 
    // this is really ugly but we need to keep all the old code to get any
    // effects at all in the menu when EFFECT_CATEGORIES is undefined
@@ -815,27 +818,26 @@ void AudacityProject::CreateMenusAndCommands()
 #ifndef EFFECT_CATEGORIES
 
    effects = em.GetEffects(PROCESS_EFFECT | BUILTIN_EFFECT | additionalEffects);
-   if(effects->GetCount()){
+   if (effects->GetCount()) {
       names.Clear();
-      for(i=0; i<effects->GetCount(); i++)
+      for (size_t i = 0; i < effects->GetCount(); i++) {
          names.Add((*effects)[i]->GetEffectName());
+      }
       c->AddItemList(wxT("Effect"), names, FN(OnProcessEffect));
    }
    delete effects;
 
-
-   if( !mCleanSpeechMode ) {
-      
+   if (!mCleanSpeechMode) {
       effects = em.GetEffects(PROCESS_EFFECT | PLUGIN_EFFECT);
       if (effects->GetCount()) {
          c->AddSeparator();
          names.Clear();
-         for(i=0; i<effects->GetCount(); i++)
+         for (size_t i = 0; i < effects->GetCount(); i++) {
             names.Add((*effects)[i]->GetEffectName());
+         }
          c->AddItemList(wxT("EffectPlugin"), names, FN(OnProcessPlugin), true);
       }
       delete effects;
-      
    }
 
    c->EndMenu();
@@ -845,9 +847,10 @@ void AudacityProject::CreateMenusAndCommands()
    // We want plugins and builtins in the same menus, but we don't want plugins
    // or "advanced" effects if we are building CleanSpeech
    int flags = PROCESS_EFFECT | BUILTIN_EFFECT;
-   if (!mCleanSpeechMode)
+   if (!mCleanSpeechMode) {
       flags |= PLUGIN_EFFECT | ADVANCED_EFFECT;
-   
+   }
+
    // The categories form a DAG, so we start at the roots (the categories
    // without incoming links)
    CategorySet roots = em.GetRootCategories();
@@ -874,22 +877,29 @@ void AudacityProject::CreateMenusAndCommands()
    
 #endif
 
-   if( !mCleanSpeechMode ) {
+   if (!mCleanSpeechMode) {
+
+      //////////////////////////////////////////////////////////////////////////
+      // Effect Menu
+      //////////////////////////////////////////////////////////////////////////
 
       c->BeginMenu(_("&Analyze"));
-      /* plot spectrum moved from view */
-      c->AddItem(wxT("PlotSpectrum"), _("Plot Spectrum..."), FN(OnPlotSpectrum));
-      c->SetCommandFlags(wxT("PlotSpectrum"),
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag | TimeSelectedFlag,
-                         AudioIONotBusyFlag | WaveTracksSelectedFlag | TimeSelectedFlag);
+
+      c->AddItem(wxT("ContrastAnalyser"), _("Contrast..."), FN(OnContrast), wxT("Ctrl+Shift+T"),
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag | TimeSelectedFlag,
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag | TimeSelectedFlag);
+      c->AddItem(wxT("PlotSpectrum"), _("Plot Spectrum..."), FN(OnPlotSpectrum),
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag | TimeSelectedFlag,
+                 AudioIONotBusyFlag | WaveTracksSelectedFlag | TimeSelectedFlag);
       
 #ifndef EFFECT_CATEGORIES
 
       effects = em.GetEffects(ANALYZE_EFFECT | BUILTIN_EFFECT);
-      if(effects->GetCount()){
+      if (effects->GetCount()) {
          names.Clear();
-         for(i=0; i<effects->GetCount(); i++)
+         for (size_t i = 0; i < effects->GetCount(); i++) {
             names.Add((*effects)[i]->GetEffectName());
+         }
          c->AddItemList(wxT("Analyze"), names, FN(OnAnalyzeEffect));
       }
       delete effects;
@@ -898,8 +908,9 @@ void AudacityProject::CreateMenusAndCommands()
       if (effects->GetCount()) {
          c->AddSeparator();
          names.Clear();
-         for(i=0; i<effects->GetCount(); i++)
+         for (size_t i = 0; i < effects->GetCount(); i++) {
             names.Add((*effects)[i]->GetEffectName());
+         }
          c->AddItemList(wxT("AnalyzePlugin"), names, FN(OnAnalyzePlugin), true);
       }
       delete effects;
@@ -938,145 +949,159 @@ void AudacityProject::CreateMenusAndCommands()
 
       c->EndMenu();
    }
-   
-   // Resolve from list of all effects, 
-   effects = em.GetEffects(ALL_EFFECTS);
-   ResolveEffectIndices(effects);
-   delete effects;
 
+   /////////////////////////////////////////////////////////////////////////////
+   // Help Menu
+   /////////////////////////////////////////////////////////////////////////////
 
    #ifdef __WXMAC__
    wxGetApp().s_macHelpMenuTitleName = _("&Help");
    #endif
 
    c->BeginMenu(_("&Help"));
-   c->SetDefaultFlags(0, 0);
-   if( mCleanSpeechMode )
-   	c->AddItem(wxT("About"),          _("&About Audacity CleanSpeech..."), FN(OnAbout));
-   else
-      c->AddItem(wxT("About"),          _("&About Audacity..."),          FN(OnAbout));
+   c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
 
-   c->AddItem(wxT("Welcome"),          _("&Show Welcome Message..."),      FN(OnHelpWelcome));
-   c->AddItem(wxT("Help"),             _("&Index..."),                      FN(OnHelp));
-   c->AddItem(wxT("Log"),             _("Show &Log..."),                      FN(OnLog));
+   if (mCleanSpeechMode) {
+   	c->AddItem(wxT("About"), _("&About Audacity CleanSpeech..."), FN(OnAbout));
+   }
+   else {
+      c->AddItem(wxT("About"), _("&About Audacity..."), FN(OnAbout));
+   }
 
+   c->AddItem(wxT("QuickHelp"), _("&Quick Help (in web browser)"), FN(OnQuickHelp));
+   c->AddItem(wxT("Manual"), _("&Manual (in web browser)"), FN(OnManual));
+   c->AddItem(wxT("Log"), _("Show &Log..."), FN(OnLog));
+
+   if (!mCleanSpeechMode) {
 
-#if 1 // Debugging tools are enabled in unstable builds
-   if( !mCleanSpeechMode )
-   {
-#ifdef __WXDEBUG__
       c->AddSeparator();   
-      c->AddItem(wxT("Screenshot"),     _("&Screenshot Tools..."),        FN(OnScreenshot));
-#endif
+
+      c->AddItem(wxT("Screenshot"), _("&Screenshot Tools..."), FN(OnScreenshot));
+
+#if IS_BETA
       c->AddSeparator();   
-      c->AddItem(wxT("Benchmark"),      _("&Run Benchmark..."),           FN(OnBenchmark));
+
+      c->AddItem(wxT("Benchmark"), _("&Run Benchmark..."), FN(OnBenchmark));
+#endif
+
       c->AddSeparator();   
-      c->AddItem(wxT("DeviceInfo"),     _("&Audio Device Info..."),       FN(OnAudioDeviceInfo));
+
+      c->AddItem(wxT("DeviceInfo"), _("&Audio Device Info..."), FN(OnAudioDeviceInfo));
    }
-#endif 
 
    c->EndMenu();
 
+   /////////////////////////////////////////////////////////////////////////////
+
    SetMenuBar(menubar);
 
-   c->SetDefaultFlags(0, 0);
-   c->AddCommand(wxT("PrevFrame"),   _("Cycle backward through toolbars and Track View\tCtrl+Shift+F6"), FN(PrevFrame));
-   c->AddCommand(wxT("NextFrame"),   _("Cycle forward through toolbars and Track View\tCtrl+F6"), FN(NextFrame));
-
-//   c->SetDefaultFlags(TrackPanelHasFocus, TrackPanelHasFocus);
-   c->AddCommand(wxT("SelectTool"),  _("Selection Tool\tF1"),          FN(OnSelectTool));
-   c->AddCommand(wxT("EnvelopeTool"),_("Envelope Tool\tF2"),           FN(OnEnvelopeTool));
-   c->AddCommand(wxT("DrawTool"),    _("Draw Tool\tF3"),               FN(OnDrawTool));
-   c->AddCommand(wxT("ZoomTool"),    _("Zoom Tool\tF4"),               FN(OnZoomTool));
-   c->AddCommand(wxT("TimeShiftTool"),_("Time Shift Tool\tF5"),        FN(OnTimeShiftTool));
-   c->AddCommand(wxT("MultiTool"),   _("Multi Tool\tF6"),              FN(OnMultiTool));
-
-   c->AddCommand(wxT("NextTool"),   _("Next Tool\tD"),                 FN(OnNextTool));
-   c->AddCommand(wxT("PrevTool"),   _("Previous Tool\tA"),             FN(OnPrevTool));
-
-   c->AddCommand(wxT("Play/Stop"),   _("Play/Stop\tSpace"),        FN(OnPlayStop));
-   c->AddCommand(wxT("Stop"),        _("Stop\tS"),                     FN(OnStop));
-   c->AddCommand(wxT("Pause"),       _("Pause\tP"),                    FN(OnPause));
-   c->AddCommand(wxT("Record"),      _("Record\tR"),                   FN(OnRecord));
-   c->AddCommand(wxT("RecordAppend"),      _("Record Append\tShift+R"),                   FN(OnRecordAppend));
-   
-   c->AddCommand(wxT("PlayStopSelect"),  _("Play/Stop and Set Cursor\tShift+A"),    FN(OnPlayStopSelect));
-//   c->AddCommand(wxT("StopSelect"),  _("Stop and Select\tShift+A"),    FN(OnStopSelect));
+   c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
+
+   c->AddCommand(wxT("PrevFrame"), _("Move backward from toolbars to tracks"), FN(PrevFrame), wxT("Ctrl+Shift+F6"));
+   c->AddCommand(wxT("NextFrame"), _("Move forward from toolbars to tracks"), FN(NextFrame), wxT("Ctrl+F6"));
+
+   c->AddCommand(wxT("SelectTool"), _("Selection Tool"), FN(OnSelectTool), wxT("F1"));
+   c->AddCommand(wxT("EnvelopeTool"),_("Envelope Tool"), FN(OnEnvelopeTool), wxT("F2"));
+   c->AddCommand(wxT("DrawTool"), _("Draw Tool"), FN(OnDrawTool), wxT("F3"));
+   c->AddCommand(wxT("ZoomTool"), _("Zoom Tool"), FN(OnZoomTool), wxT("F4"));
+   c->AddCommand(wxT("TimeShiftTool"), _("Time Shift Tool"), FN(OnTimeShiftTool), wxT("F5"));
+   c->AddCommand(wxT("MultiTool"), _("Multi Tool"), FN(OnMultiTool), wxT("F6"));
 
-   c->AddCommand(wxT("PlayOneSec"),     _("Play One Second\t1"),       FN(OnPlayOneSecond));
-   c->AddCommand(wxT("PlayToSelection"),_("Play To Selection\tB"),       FN(OnPlayToSelection));
-   c->AddCommand(wxT("PlayLooped"),     _("Play Looped\tL"),           FN(OnPlayLooped));
-   c->AddCommand(wxT("PlayLoopAlt"),    _("Play Looped\tShift+Space"), FN(OnPlayLooped));
-   c->AddCommand(wxT("PlayCutPreview"), _("Play Cut Preview\tC"),      FN(OnPlayCutPreview));
+   c->AddCommand(wxT("NextTool"), _("Next Tool"), FN(OnNextTool), wxT("D"));
+   c->AddCommand(wxT("PrevTool"), _("Previous Tool"), FN(OnPrevTool), wxT("A"));
 
-   c->AddCommand(wxT("SkipStart"),   _("Skip to Start\tHome"),         FN(OnSkipStart));
-   c->AddCommand(wxT("SkipEnd"),     _("Skip to End\tEnd"),            FN(OnSkipEnd));
+   c->AddCommand(wxT("PlayStop"), _("Play/Stop"), FN(OnPlayStop), wxT("Space"));
+   c->AddCommand(wxT("PlayStopSelect"), _("Play/Stop and Set Cursor"), FN(OnPlayStopSelect), wxT("Shift+A"));
+   c->AddCommand(wxT("PlayOneSec"), _("Play One Second"), FN(OnPlayOneSecond), wxT("1"));
+   c->AddCommand(wxT("PlayToSelection"),_("Play To Selection"), FN(OnPlayToSelection), wxT("B"));
+   c->AddCommand(wxT("PlayCutPreview"), _("Play Cut Preview"), FN(OnPlayCutPreview), wxT("C"));
 
-   c->AddCommand(wxT("SelStart"),    _("Selection to Start\tShift+Home"), FN(OnSelToStart));
-   c->AddCommand(wxT("SelEnd"),      _("Selection to End\tShift+End"),    FN(OnSelToEnd));
+   c->AddCommand(wxT("SelStart"), _("Selection to Start"), FN(OnSelToStart), wxT("Shift+Home"));
+   c->AddCommand(wxT("SelEnd"), _("Selection to End"), FN(OnSelToEnd), wxT("Shift+End"));
 
-   c->AddCommand(wxT("DeleteKey"),      _("DeleteKey\tBackspace"),           FN(OnDelete));
-   c->SetCommandFlags(wxT("DeleteKey"),
-                      AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag,
-                      AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag);
+   c->AddCommand(wxT("DeleteKey"), _("DeleteKey"), FN(OnDelete), wxT("Backspace"),
+                 AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag,
+                 AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag);
 
-   c->AddCommand(wxT("DeleteKey2"),      _("DeleteKey2\tDelete"),           FN(OnDelete));
-   c->SetCommandFlags(wxT("DeleteKey2"),
-                      AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag,
-                      AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag);
+   c->AddCommand(wxT("DeleteKey2"), _("DeleteKey2"), FN(OnDelete), wxT("Delete"),
+                 AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag,
+                 AudioIONotBusyFlag | TracksSelectedFlag | TimeSelectedFlag);
 
    c->SetDefaultFlags(AudioIOBusyFlag, AudioIOBusyFlag);
-   c->AddCommand(wxT("SeekLeftShort"), _("Seek left short period during playback\tLeft"),        FN(OnSeekLeftShort));
-   c->AddCommand(wxT("SeekRightShort"),_("Seek right short period during playback\tRight"),      FN(OnSeekRightShort));
-   c->AddCommand(wxT("SeekLeftLong"),  _("Seek left long period during playback\tShift+Left"),   FN(OnSeekLeftLong));
-   c->AddCommand(wxT("SeekRightLong"), _("Seek right long period during playback\tShift+Right"), FN(OnSeekRightLong));
-   
+
+   c->AddCommand(wxT("SeekLeftShort"), _("Short seek left during playback"), FN(OnSeekLeftShort), wxT("Left\tallowdup"));
+   c->AddCommand(wxT("SeekRightShort"),_("Short seek right during playback"), FN(OnSeekRightShort), wxT("Right\tallowdup"));
+   c->AddCommand(wxT("SeekLeftLong"), _("Long seek left during playback"), FN(OnSeekLeftLong), wxT("Shift+Left\tallowdup"));
+   c->AddCommand(wxT("SeekRightLong"), _("Long Seek right during playback"), FN(OnSeekRightLong), wxT("Shift+Right\tallowdup"));
+
    c->SetDefaultFlags(TracksExistFlag | TrackPanelHasFocus,
                       TracksExistFlag | TrackPanelHasFocus);
-   c->AddCommand(wxT("PrevTrack"),     _("Move Focus to Previous Track\tUp"),                      FN(OnCursorUp));
-   c->AddCommand(wxT("ShiftUp"),       _("Move Focus to Previous and Change Selection\tShift+Up"), FN(OnShiftUp));
-   c->AddCommand(wxT("NextTrack"),     _("Move Focus to Next Track\tDown"),                        FN(OnCursorDown));
-   c->AddCommand(wxT("ShiftDown"),     _("Move Focus to Next and Change Selection\tShift+Down"),   FN(OnShiftDown));
-   c->AddCommand(wxT("Toggle"),        _("Toggle Focused Track\tReturn"),                    FN(OnToggle));
-   c->AddCommand(wxT("Toggle1"),       _("Toggle Focused Track\tNUMPAD_ENTER"),              FN(OnToggle));
-   c->AddCommand(wxT("Toggle2"),       _("Toggle Focused Track\tCtrl+Space"),            FN(OnToggle));
-
-   c->AddCommand(wxT("CursorLeft"),    _("Cursor Left\tLeft"),                               FN(OnCursorLeft));
-   c->AddCommand(wxT("CursorRight"),   _("Cursor Right\tRight"),                             FN(OnCursorRight));
-   c->AddCommand(wxT("CursorShortJumpLeft"),    _("Cursor Short Jump Left\t,"),              FN(OnCursorShortJumpLeft));
-   c->AddCommand(wxT("CursorShortJumpRight"),   _("Cursor Short Jump Right\t."),             FN(OnCursorShortJumpRight));
-   c->AddCommand(wxT("CursorLongJumpLeft"),    _("Cursor Long Jump Left\tShift+,"),          FN(OnCursorLongJumpLeft));
-   c->AddCommand(wxT("CursorLongJumpRight"),   _("Cursor Long Jump Right\tShift+."),         FN(OnCursorLongJumpRight));
-
-   c->AddCommand(wxT("SelExtLeft"),    _("Selection Extend Left\tShift+Left"),               FN(OnSelExtendLeft));
-   c->AddCommand(wxT("SelExtRight"),   _("Selection Extend Right\tShift+Right"),             FN(OnSelExtendRight));
-
-   c->AddCommand(wxT("SelSetExtLeft"),    _("Set (or Extend) Left Selection"),               FN(OnSelSetExtendLeft));
-   c->AddCommand(wxT("SelSetExtRight"),   _("Set (or Extend) Right Selection"),              FN(OnSelSetExtendRight));
-
-   c->AddCommand(wxT("SelCntrLeft"),   _("Selection Contract Left\tCtrl+Shift+Right"),       FN(OnSelContractLeft));
-   c->AddCommand(wxT("SelCntrRight"),  _("Selection Contract Right\tCtrl+Shift+Left"),       FN(OnSelContractRight));
-
-   c->AddCommand(wxT("TrackPan"),      _("Change pan on focused track\tShift+P"),            FN(OnTrackPan));
-   c->AddCommand(wxT("TrackPanLeft"),  _("Pan left on focused track\tAlt+Shift+Left"),       FN(OnTrackPanLeft));
-   c->AddCommand(wxT("TrackPanRight"), _("Pan right on focused track\tAlt+Shift+Right"),     FN(OnTrackPanRight));
-   c->AddCommand(wxT("TrackGain"),     _("Change gain on focused track\tShift+G"),           FN(OnTrackGain));
-   c->AddCommand(wxT("TrackGainInc"),  _("Increase gain on focused track\tAlt+Shift+Up"),    FN(OnTrackGainInc));
-   c->AddCommand(wxT("TrackGainDec"),  _("Decrease gain on focused track\tAlt+Shift+Down"),  FN(OnTrackGainDec));
-   c->AddCommand(wxT("TrackMenu"),     _("Open menu on focused track\tShift+M"),             FN(OnTrackMenu));
-   c->AddCommand(wxT("TrackMute"),     _("Mute/Unmute focused track\tShift+U"),              FN(OnTrackMute));
-   c->AddCommand(wxT("TrackSolo"),     _("Solo/Unsolo focused track\tShift+S"),              FN(OnTrackSolo));
-   c->AddCommand(wxT("TrackClose"),    _("Close focused track\tShift+C"),                    FN(OnTrackClose));
-
-   c->AddCommand(wxT("SnapToOn"),      _("Snap To On"),           FN(OnSnapToOn));
-   c->AddCommand(wxT("SnapToOff"),     _("Snap To Off"),          FN(OnSnapToOff));
-   c->AddCommand(wxT("FullScreenOnOff"), _("Full screen on/off\tF11"),  FN(OnFullScreen));
-   c->SetCommandFlags(wxT("FullScreenOnOff"), 0, 0);
+
+   c->AddCommand(wxT("PrevTrack"), _("Move Focus to Previous Track"), FN(OnCursorUp), wxT("Up"));
+   c->AddCommand(wxT("ShiftUp"), _("Move Focus to Previous and Select"), FN(OnShiftUp), wxT("Shift+Up"));
+   c->AddCommand(wxT("NextTrack"), _("Move Focus to Next Track"), FN(OnCursorDown), wxT("Down"));
+   c->AddCommand(wxT("ShiftDown"), _("Move Focus to Next and Select"), FN(OnShiftDown), wxT("Shift+Down"));
+   c->AddCommand(wxT("Toggle"), _("Toggle Focused Track"), FN(OnToggle), wxT("Return"));
+   c->AddCommand(wxT("ToggleAlt"), _("Toggle Focused Track"), FN(OnToggle), wxT("NUMPAD_ENTER"));
+
+   c->AddCommand(wxT("CursorLeft"), _("Cursor Left"), FN(OnCursorLeft), wxT("Left\tallowdup"));
+   c->AddCommand(wxT("CursorRight"), _("Cursor Right"), FN(OnCursorRight), wxT("Right\tallowdup"));
+   c->AddCommand(wxT("CursorShortJumpLeft"), _("Cursor Short Jump Left"), FN(OnCursorShortJumpLeft), wxT(","));
+   c->AddCommand(wxT("CursorShortJumpRight"), _("Cursor Short Jump Right"), FN(OnCursorShortJumpRight), wxT("."));
+   c->AddCommand(wxT("CursorLongJumpLeft"), _("Cursor Long Jump Left"), FN(OnCursorLongJumpLeft), wxT("Shift+,"));
+   c->AddCommand(wxT("CursorLongJumpRight"), _("Cursor Long Jump Right"), FN(OnCursorLongJumpRight), wxT("Shift+."));
+
+   c->AddCommand(wxT("SelExtLeft"), _("Selection Extend Left"), FN(OnSelExtendLeft), wxT("Shift+Left\tallowdup"));
+   c->AddCommand(wxT("SelExtRight"), _("Selection Extend Right"), FN(OnSelExtendRight), wxT("Shift+Right\tallowdup"));
+
+   c->AddCommand(wxT("SelSetExtLeft"), _("Set (or Extend) Left Selection"), FN(OnSelSetExtendLeft));
+   c->AddCommand(wxT("SelSetExtRight"), _("Set (or Extend) Right Selection"), FN(OnSelSetExtendRight));
+
+   c->AddCommand(wxT("SelCntrLeft"), _("Selection Contract Left"), FN(OnSelContractLeft), wxT("Ctrl+Shift+Right"));
+   c->AddCommand(wxT("SelCntrRight"), _("Selection Contract Right"), FN(OnSelContractRight), wxT("Ctrl+Shift+Left"));
+
+   c->AddCommand(wxT("TrackPan"), _("Change pan on focused track"), FN(OnTrackPan), wxT("Shift+P"));
+   c->AddCommand(wxT("TrackPanLeft"), _("Pan left on focused track"), FN(OnTrackPanLeft), wxT("Alt+Shift+Left"));
+   c->AddCommand(wxT("TrackPanRight"), _("Pan right on focused track"), FN(OnTrackPanRight), wxT("Alt+Shift+Right"));
+   c->AddCommand(wxT("TrackGain"), _("Change gain on focused track"), FN(OnTrackGain), wxT("Shift+G"));
+   c->AddCommand(wxT("TrackGainInc"), _("Increase gain on focused track"), FN(OnTrackGainInc), wxT("Alt+Shift+Up"));
+   c->AddCommand(wxT("TrackGainDec"), _("Decrease gain on focused track"), FN(OnTrackGainDec), wxT("Alt+Shift+Down"));
+   c->AddCommand(wxT("TrackMenu"), _("Open menu on focused track"), FN(OnTrackMenu), wxT("Shift+M"));
+   c->AddCommand(wxT("TrackMute"), _("Mute/Unmute focused track"), FN(OnTrackMute), wxT("Shift+U"));
+   c->AddCommand(wxT("TrackSolo"), _("Solo/Unsolo focused track"), FN(OnTrackSolo), wxT("Shift+S"));
+   c->AddCommand(wxT("TrackClose"), _("Close focused track"), FN(OnTrackClose), wxT("Shift+C"));
+
+   c->AddCommand(wxT("SnapToOn"), _("Snap To On"), FN(OnSnapToOn));
+   c->AddCommand(wxT("SnapToOff"), _("Snap To Off"), FN(OnSnapToOff));
+
+   c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
+
+   c->AddCommand(wxT("FullScreenOnOff"), _("Full screen on/off"), FN(OnFullScreen), wxT("F11"));
+
+   c->AddCommand(wxT("OutputGain"), _("Adjust output gain"), FN(OnOutputGain));
+   c->AddCommand(wxT("OutputGainInc"), _("Increase output gain"), FN(OnOutputGainInc));
+   c->AddCommand(wxT("OutputGainDec"), _("Decrease output gain"), FN(OnOutputGainDec));
+   c->AddCommand(wxT("InputGain"), _("Adjust input gain"), FN(OnInputGain));
+   c->AddCommand(wxT("InputGainInc"), _("Increase input gain"), FN(OnInputGainInc));
+   c->AddCommand(wxT("InputGainDec"), _("Decrease input gain"), FN(OnInputGainDec));
+
+   c->AddCommand(wxT("InputSource"), _("Adjust input source"), FN(OnInputSource),
+                 AudioIONotBusyFlag,
+                 AudioIONotBusyFlag);
+
+   c->AddCommand(wxT("PlayAtSpeed"), _("Play at speed"), FN(OnPlayAtSpeed));
+   c->AddCommand(wxT("SetPlaySpeed"), _("Adjust playback speed"), FN(OnSetPlaySpeed));
+   c->AddCommand(wxT("PlaySpeedInc"), _("Increase playback speed"), FN(OnPlaySpeedInc));
+   c->AddCommand(wxT("PlaySpeedDec"), _("Decrease playback speed"), FN(OnPlaySpeedDec));
 
    mLastFlags = 0;
 
    mSel0save = 0;
    mSel1save = 0;
+
+#if defined(__WXDEBUG__)
+   c->CheckDups();
+#endif
 }
 
 #ifdef EFFECT_CATEGORIES
@@ -1150,50 +1175,19 @@ void AudacityProject::CreateRecentFilesMenu(CommandManager *c)
 {
    // Recent Files and Recent Projects menus
    
-   #ifdef __WXMAC__
-      /* i18n-hint: This is the name of the menu item on Mac OS X only */
-      wxMenu* pm = c->BeginSubMenu(_("Open Recent"));
-   #else
-      /* i18n-hint: This is the name of the menu item on Windows and Linux */
-      wxMenu* pm = c->BeginSubMenu(_("Recent &Files"));
-   #endif
+#ifdef __WXMAC__
+   /* i18n-hint: This is the name of the menu item on Mac OS X only */
+   mRecentFilesMenu = c->BeginSubMenu(_("Open Recent"));
+#else
+   /* i18n-hint: This is the name of the menu item on Windows and Linux */
+   mRecentFilesMenu = c->BeginSubMenu(_("Recent &Files"));
+#endif
 
-   c->EndSubMenu();
-   if( pm==NULL )
-      return;
-   // TODO - read the number of files to store in history from preferences
-   mRecentFiles = new wxFileHistory();
-   mRecentFiles->UseMenu(pm);
-   gPrefs->SetPath(wxT("/RecentFiles"));
-   mRecentFiles->Load(*gPrefs);
-   gPrefs->SetPath(wxT(".."));
+   wxGetApp().GetRecentFiles()->UseMenu(mRecentFilesMenu);
+   wxGetApp().GetRecentFiles()->AddFilesToMenu(mRecentFilesMenu);
 
-   c->AddSeparator();
-}
+   c->EndSubMenu();
 
-// TIDY-ME: Replace indices by function pointers.
-// This function is currently (July 2005) required because
-// menus get to effect functions in a messy way.
-// It would be much cleaner if each menu item already
-// stored both the function pointer and the class pointer.
-// so menus, and other dispatching, can dispatch to 'any' 
-// function in 'any' class instance directly,
-// rather than having to look up the class via an index
-// when calling an effect.
-void AudacityProject::ResolveEffectIndices(EffectArray *effects)
-{
-   mNormalizeIndex = -1;
-   mStereoToMonoIndex = -1;
-
-   for (unsigned int i = 0; i < effects->GetCount(); i++) {
-      wxString effectIdentifier = (*effects)[i]->GetEffectIdentifier();
-      if (effectIdentifier == wxT("Normalize")) {
-         mNormalizeIndex = i;
-      }
-      else if (effectIdentifier == wxT("StereoToMono")) {
-         mStereoToMonoIndex = i;
-      }
-   }
 }
 
 void AudacityProject::ModifyUndoMenus()
@@ -1285,10 +1279,19 @@ void AudacityProject::RebuildMenuBar()
    */
   
    mCommandManager.PurgeData();
-   delete mRecentFiles;
-   mRecentFiles = NULL;
+
+   wxGetApp().GetRecentFiles()->RemoveMenu(mRecentFilesMenu);
 
    CreateMenusAndCommands();
+
+   ModuleManager::Dispatch(MenusRebuilt);
+}
+
+void AudacityProject::RebuildOtherMenus()
+{
+   if (mTrackPanel) {
+      mTrackPanel->BuildMenus();
+   }
 }
 
 int AudacityProject::GetFocusedFrame()
@@ -1355,8 +1358,18 @@ wxUint32 AudacityProject::GetUpdateFlags()
             flags |= CutCopyAvailableFlag;
          }
 
-         if (lt->IsTextClipSupported()) {
-            flags |= TextClipFlag;
+         // See AudacityProject::OnUpdateUI() for an explanation
+         if (mInIdle) {
+            if (lt->IsTextClipSupported()) {
+               flags |= TextClipFlag;
+               mTextClipFlag = TextClipFlag;
+            }
+            else {
+               mTextClipFlag = 0;
+            }
+         }
+         else {
+            flags |= mTextClipFlag;
          }
       }
       else if (t->GetKind() == Track::Wave) {
@@ -1392,7 +1405,7 @@ wxUint32 AudacityProject::GetUpdateFlags()
    if (mUndoManager.UnsavedChanges())
       flags |= UnsavedChangesFlag;
 
-   if (EffectManager::Get().GetLastEffect() != NULL)
+   if (mLastEffect != NULL)
       flags |= HasLastEffectFlag;
 
    if (mUndoManager.UndoAvailable())
@@ -1422,19 +1435,28 @@ wxUint32 AudacityProject::GetUpdateFlags()
       }
    }
 
+   if (wxGetApp().GetRecentFiles()->GetCount() > 0)
+      flags |= HaveRecentFiles;
+
    return flags;
 }
 
 void AudacityProject::SelectAllIfNone()
 {
    wxUint32 flags = GetUpdateFlags();
-   if((flags & TracksSelectedFlag) ==0)
+   if(((flags & TracksSelectedFlag) ==0) || (mViewInfo.sel0 >= mViewInfo.sel1))
       OnSelectAll();
 }
 
 
 void AudacityProject::ModifyToolbarMenus()
 {
+   // Refreshes can occur during shutdown and the toolmanager may already
+   // be deleted, so protect against it.
+   if (!mToolManager) {
+      return;
+   }
+
    mCommandManager.Check(wxT("ShowControlTB"),
                         mToolManager->IsVisible(ControlBarID));
    mCommandManager.Check(wxT("ShowDeviceTB"),
@@ -1451,7 +1473,14 @@ void AudacityProject::ModifyToolbarMenus()
                          mToolManager->IsVisible(ToolsBarID));
    mCommandManager.Check(wxT("ShowTranscriptionTB"),
                          mToolManager->IsVisible(TranscriptionBarID));
-   mCommandManager.Check(wxT("StickyLabels"), mStickyFlag);                         
+
+   // Now, go through each toolbar, and call EnableDisableButtons()
+   for (int i = 0; i < ToolBarCount; i++) {
+      mToolManager->GetToolBar(i)->EnableDisableButtons();
+   }
+
+   // These don't really belong here, but it's easier and especially so for
+   // the Edit toolbar and the sticky menu item.
    bool active;
    gPrefs->Read(wxT("/AudioIO/SoundActivatedRecord"),&active, false);
    mCommandManager.Check(wxT("SoundActivation"), active);
@@ -1459,6 +1488,7 @@ void AudacityProject::ModifyToolbarMenus()
    mCommandManager.Check(wxT("Duplex"), active);
    gPrefs->Read(wxT("/AudioIO/SWPlaythrough"),&active, false);
    mCommandManager.Check(wxT("SWPlaythrough"), active);
+   mCommandManager.Check(wxT("StickyLabels"), mStickyFlag);
 }
 
 void AudacityProject::UpdateMenus()
@@ -1498,12 +1528,6 @@ void AudacityProject::UpdateMenus()
 #endif
 
    ModifyToolbarMenus();
-
-   // Now, go through each toolbar, and call EnableDisableButtons()
-   for( int i = 0; i < ToolBarCount; i++ )
-   {
-      mToolManager->GetToolBar( i )->EnableDisableButtons();
-   }
 }
 
 //
@@ -2037,7 +2061,7 @@ void AudacityProject::OnSetLeftSelection()
       {
          wxString fmt = gPrefs->Read(wxT("/SelectionFormat"), wxT(""));
 
-         TimeDialog D(this, wxID_ANY, _("Set Left Selection Bound"));
+         TimeDialog D(this, _("Set Left Selection Boundary"), _("Position"));
          D.SetSampleRate(mRate);
          D.SetFormatString(fmt);
          D.SetTimeValue(mViewInfo.sel0);
@@ -2073,7 +2097,7 @@ void AudacityProject::OnSetRightSelection()
       {
          wxString fmt = gPrefs->Read(wxT("/SelectionFormat"), wxT(""));
 
-         TimeDialog D(this, wxID_ANY, _("Set Right Selection Bound"));
+         TimeDialog D(this, _("Set Right Selection Boundary"), _("Position"));
          D.SetSampleRate(mRate);
          D.SetFormatString(fmt);
          D.SetTimeValue(mViewInfo.sel1);
@@ -2206,6 +2230,93 @@ void AudacityProject::OnTrackClose()
    mTrackPanel->OnTrackClose();
 }
 
+void AudacityProject::OnOutputGain()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->ShowOutputGainDialog();
+   }
+}
+
+void AudacityProject::OnInputGain()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->ShowInputGainDialog();
+   }
+}
+
+void AudacityProject::OnInputSource()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->ShowInputSourceDialog();
+   }
+}
+
+void AudacityProject::OnOutputGainInc()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->AdjustOutputGain(1);
+   }
+}
+
+void AudacityProject::OnOutputGainDec()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->AdjustOutputGain(-1);
+   }
+}
+
+void AudacityProject::OnInputGainInc()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->AdjustInputGain(1);
+   }
+}
+
+void AudacityProject::OnInputGainDec()
+{
+   MixerToolBar *tb = GetMixerToolBar();
+   if (tb) {
+      tb->AdjustInputGain(-1);
+   }
+}
+
+void AudacityProject::OnPlayAtSpeed()
+{
+   TranscriptionToolBar *tb = GetTranscriptionToolBar();
+   if (tb) {
+      tb->PlayAtSpeed();
+   }
+}
+
+void AudacityProject::OnSetPlaySpeed()
+{
+   TranscriptionToolBar *tb = GetTranscriptionToolBar();
+   if (tb) {
+      tb->ShowPlaySpeedDialog();
+   }
+}
+
+void AudacityProject::OnPlaySpeedInc()
+{
+   TranscriptionToolBar *tb = GetTranscriptionToolBar();
+   if (tb) {
+      tb->AdjustPlaySpeed(0.1f);
+   }
+}
+
+void AudacityProject::OnPlaySpeedDec()
+{
+   TranscriptionToolBar *tb = GetTranscriptionToolBar();
+   if (tb) {
+      tb->AdjustPlaySpeed(-0.1f);
+   }
+}
 
 double AudacityProject::NearestZeroCrossing(double t0)
 {
@@ -2318,7 +2429,13 @@ void AudacityProject::OnEffect(int type, int index)
 ///   + Prompt
 ///   + Use previous values
 ///   + Parse from a string that is passed in
-bool AudacityProject::OnEffect(int type, Effect * f)
+///
+/// DanH: I've added the third option as a temporary measure. I think this
+///       should eventually be done by having effects as Command objects.
+bool AudacityProject::OnEffect(int type,
+                               Effect * f,
+                               wxString params,
+                               bool saveState)
 {
    TrackListIterator iter(mTracks);
    Track *t = iter.First();
@@ -2349,15 +2466,26 @@ bool AudacityProject::OnEffect(int type, Effect * f)
    }
    
    if (f->DoEffect(this, type, mRate, mTracks, mTrackFactory,
-                   &mViewInfo.sel0, &mViewInfo.sel1)) {
-      wxString longDesc = f->GetEffectDescription();
-      wxString shortDesc = f->GetEffectName();
+                   &mViewInfo.sel0, &mViewInfo.sel1, params)) {
+      if (saveState)
+      {
+         wxString longDesc = f->GetEffectDescription();
+         wxString shortDesc = f->GetEffectName();
 
-      if (shortDesc.Length() > 3 && shortDesc.Right(3)==wxT("..."))
-         shortDesc = shortDesc.Left(shortDesc.Length()-3);
+         if (shortDesc.Length() > 3 && shortDesc.Right(3)==wxT("..."))
+            shortDesc = shortDesc.Left(shortDesc.Length()-3);
 
-      PushState(longDesc, shortDesc);
-      
+         PushState(longDesc, shortDesc);
+
+         // Only remember a successful effect, don't rmemeber insert,
+         // or analyze effects.
+         if ((f->GetEffectFlags() & (INSERT_EFFECT | ANALYZE_EFFECT))==0) {
+            mLastEffect = f;
+            mLastEffectType = type;
+            mLastEffectDesc.Printf(_("Repeat %s"), shortDesc.c_str());
+            mCommandManager.Modify(wxT("RepeatLastEffect"), mLastEffectDesc);
+         }
+      }
       //STM:
       //The following automatically re-zooms after sound was generated.
       // IMO, it was disorienting, removing to try out without re-fitting
@@ -2372,20 +2500,12 @@ bool AudacityProject::OnEffect(int type, Effect * f)
          focus->SetFocus();
       }
       mTrackPanel->EnsureVisible(mTrackPanel->GetFirstSelectedTrack());
-
-      // Only remember a successful effect, don't rmemeber insert,
-      // or analyze effects.
-      if ((f->GetEffectFlags() & (INSERT_EFFECT | ANALYZE_EFFECT))==0) {
-         EffectManager::Get().SetLastEffect( type, f );
-         mCommandManager.Modify(wxT("RepeatLastEffect"),
-            wxString::Format(_("Repeat %s\tCtrl+R"),
-            shortDesc.c_str()));
-      }
       
       mTrackPanel->Refresh(false);
    } else {
       if (newTrack) {
          mTracks->Remove(newTrack);
+         delete newTrack;
          mTrackPanel->Refresh(false);
       }
       return false;
@@ -2405,13 +2525,10 @@ void AudacityProject::OnGeneratePlugin(int index)
 
 void AudacityProject::OnRepeatLastEffect(int index)
 {
-   EffectManager& em = EffectManager::Get();
-   Effect *f = em.GetLastEffect();
-   if( f  != NULL )
-   {
+   if (mLastEffect != NULL) {
       // Setting the CONFIGURED_EFFECT bit prevents
       // prompting for parameters.
-      OnEffect(em.GetLastEffectType() | CONFIGURED_EFFECT, f);
+      OnEffect(mLastEffectType | CONFIGURED_EFFECT, mLastEffect);
    }
 }
 
@@ -2432,8 +2549,8 @@ void AudacityProject::OnProcessEffect(int index)
 
 void AudacityProject::OnStereoToMono(int index)
 {
-   if (mStereoToMonoIndex >= 0)
-      OnEffect(ALL_EFFECTS, mStereoToMonoIndex);
+   OnEffect(ALL_EFFECTS,
+            EffectManager::Get().GetEffectByIdentifier(wxT("StereoToMono")));
 }
 
 void AudacityProject::OnProcessPlugin(int index)
@@ -2590,7 +2707,7 @@ void AudacityProject::OnExportMIDI(){
    TrackListIterator iter(mTracks);
    Track *t = iter.First();
    int numNoteTracksSelected = 0;
-   NoteTrack *nt;
+   NoteTrack *nt = NULL;
 
    // Iterate through once to make sure that there is 
    // exactly one NoteTrack selected.
@@ -2691,18 +2808,20 @@ void AudacityProject::OnExportMultiple()
 void AudacityProject::OnPreferences()
 {
    PrefsDialog dialog(this /* parent */ );
-   dialog.ShowModal();
+
+   if (!dialog.ShowModal()) {
+      // Canceled
+      return;
+   }
 
    // LL:  Moved from PrefsDialog since wxWidgets on OSX can't deal with
    //      rebuilding the menus while the PrefsDialog is still in the modal
    //      state.
-   for (unsigned int j = 0; j < gAudacityProjects.GetCount(); j++) {
-      gAudacityProjects[j]->UpdatePrefsVariables();
-      gAudacityProjects[j]->RebuildMenuBar();
-      gAudacityProjects[j]->RebuildOtherMenus();
-      if (gAudacityProjects[j]->GetSelectionBar()) {
-         gAudacityProjects[j]->GetSelectionBar()->UpdateDisplay();
-      }
+   for (size_t i = 0; i < gAudacityProjects.GetCount(); i++) {
+      AudacityProject *p = gAudacityProjects[i];
+
+      p->RebuildMenuBar();
+      p->RebuildOtherMenus();
    }
 }
 
@@ -2730,6 +2849,7 @@ void AudacityProject::OnUndo()
    TrackList *l = mUndoManager.Undo(&mViewInfo.sel0, &mViewInfo.sel1);
    PopState(l);
 
+   mTrackPanel->SetFocusedTrack(NULL);
    mTrackPanel->EnsureVisible(mTrackPanel->GetFirstSelectedTrack());
 
    RedrawProject();
@@ -2750,6 +2870,9 @@ void AudacityProject::OnRedo()
    TrackList *l = mUndoManager.Redo(&mViewInfo.sel0, &mViewInfo.sel1);
    PopState(l);
 
+   mTrackPanel->SetFocusedTrack(NULL);
+   mTrackPanel->EnsureVisible(mTrackPanel->GetFirstSelectedTrack());
+
    RedrawProject();
 
    if (mHistoryWindow)
@@ -2758,15 +2881,6 @@ void AudacityProject::OnRedo()
    ModifyUndoMenus();
 }
 
-void AudacityProject::OnHistory()
-{
-   if (!mHistoryWindow)
-      mHistoryWindow = new HistoryWindow(this, &mUndoManager);
-
-   mHistoryWindow->Show(true);
-   mHistoryWindow->UpdateDisplay();
-}
-
 void AudacityProject::OnCut()
 {
    TrackListIterator iter(mTracks);
@@ -2809,7 +2923,6 @@ void AudacityProject::OnCut()
 
          if (dest) {
             dest->SetChannel(n->GetChannel());
-            dest->SetTeamed(n->GetTeamed()); // do first
             dest->SetLinked(n->GetLinked());
             dest->SetName(n->GetName());
             msClipboard->Add(dest);
@@ -2876,7 +2989,6 @@ void AudacityProject::OnSplitCut()
          }
          if (dest) {
             dest->SetChannel(n->GetChannel());
-            dest->SetTeamed(n->GetTeamed()); // do first
             dest->SetLinked(n->GetLinked());
             dest->SetName(n->GetName());
             msClipboard->Add(dest);
@@ -2922,7 +3034,6 @@ void AudacityProject::OnCopy()
          n->Copy(mViewInfo.sel0, mViewInfo.sel1, &dest);
          if (dest) {
             dest->SetChannel(n->GetChannel());
-            dest->SetTeamed(n->GetTeamed()); // do first
             dest->SetLinked(n->GetLinked());
             dest->SetName(n->GetName());
             msClipboard->Add(dest);
@@ -2940,18 +3051,20 @@ void AudacityProject::OnCopy()
 
 void AudacityProject::OnPaste()
 {
-   // If nothing's selected, we just insert new tracks...so first
-   // check to see if anything's selected
-   
-   TrackListIterator iter2(mTracks);
-   Track *countTrack = iter2.First();
+   // Handle Label tracks first
+   TrackListOfKindIterator iterlt(Track::Label, mTracks);
 
-   int numSelected =0;
+   LabelTrack *lt = (LabelTrack *) iterlt.First();
+   if (lt) {
 
-   while (countTrack) {
-      if (countTrack->GetSelected()) {
-         if (countTrack->GetKind() == Track::Label) {
-            LabelTrack *lt = (LabelTrack *) countTrack;
+      // Look for selected label tracks and active labels
+      bool selected = false;
+      while (lt) {
+
+         // Does this track have an active label?
+         if (lt->IsSelected()) {
+
+            // Yes, so try pasting into it
             if (lt->PasteSelectedText(mViewInfo.sel0, mViewInfo.sel1)) {
                PushState(_("Pasted text from the clipboard"), _("Paste"));
 
@@ -2961,10 +3074,83 @@ void AudacityProject::OnPaste()
                   mTrackPanel->ScrollIntoView(x);
                }
 
+               // Redraw everyting (is that necessary???) and bail
                RedrawProject();
                return;
             }
          }
+
+         // Remember that we found a selected one
+         if (lt->GetSelected()) {
+            selected = true;
+         }
+
+         // Find the next one
+         lt = (LabelTrack *) iterlt.Next();
+      }
+
+      // Were any Label tracks without active labels selected?
+      if (selected) {
+         LabelTrack *plt = NULL;
+         bool pasted = false;
+
+         // Paste new labels into all selected label tracks
+         lt = (LabelTrack *) iterlt.First();
+         while (lt) {
+            if (lt->GetSelected()) {
+               // Ensure that the last pasted label gets unselected.  This will
+               // leave only one "active" label when we're done.
+               if (plt) {
+                  plt->Unselect();
+               }
+
+               // Add a new label
+               lt->AddLabel(mViewInfo.sel0, mViewInfo.sel1);
+
+               // Now paste the text into it
+               if (lt->PasteSelectedText(mViewInfo.sel0, mViewInfo.sel1)) {
+
+                  // Remember that we pasted something
+                  pasted = true;
+
+                  // Make sure caret is in view
+                  int x;
+                  if (lt->CalcCursorX(this, &x)) {
+                     mTrackPanel->ScrollIntoView(x);
+                  }
+               }
+
+               // Remember this track so we can unselect the new label if its
+               // not the last one pasted
+               plt = lt;
+            }
+
+            // Find the next one
+            lt = (LabelTrack *) iterlt.Next();
+         }
+
+         // We're done if we pasted into any tracks
+         if (pasted) {
+            PushState(_("Pasted from the clipboard"), _("Paste"));
+
+            // Redraw everyting (is that necessary???) and bail
+            RedrawProject();
+            return;
+         }
+      }
+   }
+
+   // If nothing's selected, we just insert new tracks...so first
+   // check to see if anything's selected
+   
+   TrackListIterator iter2(mTracks);
+   Track *countTrack = iter2.First();
+
+   int numSelected = 0;
+
+   // Pastes text into the first label track or counts selected wave tracks
+   while (countTrack) {
+      if (countTrack->GetSelected()) {
          numSelected++;
       }
       countTrack = iter2.Next();
@@ -2974,6 +3160,8 @@ void AudacityProject::OnPaste()
    if (numSelected == 0) {
       TrackListIterator clipIter(msClipboard);
       Track *c = clipIter.First();
+      if(c == NULL)  // if there is no audio to paste...
+         return;
       Track *n;
       Track *f = NULL;
 
@@ -3007,7 +3195,6 @@ void AudacityProject::OnPaste()
          if (!f)
             f = n;
 
-         n->SetTeamed(c->GetTeamed()); // do first
          n->SetLinked(c->GetLinked());
          n->SetChannel(c->GetChannel());
          n->SetName(c->GetName());
@@ -3024,7 +3211,7 @@ void AudacityProject::OnPaste()
 
       mViewInfo.sel0 = 0.0;
       mViewInfo.sel1 = msClipLen;
-      
+
       PushState(_("Pasted from the clipboard"), _("Paste"));
       
       RedrawProject();
@@ -3047,6 +3234,8 @@ void AudacityProject::OnPaste()
 
    Track *n = iter.First();
    Track *c = clipIter.First();
+   if(c == NULL)    // if there is no audio to paste...
+      return;
    Track *f = NULL;
    Track *tmpSrc = NULL;
    Track *tmpC = NULL;
@@ -3114,17 +3303,10 @@ void AudacityProject::OnPaste()
          if (msClipProject != this && c->GetKind() == Track::Wave)
             ((WaveTrack *) c)->Lock();
 
-         if (n->GetKind() == Track::Wave) {
-            //printf("Checking to see if we need to pre-clear the track\n");
-            if (!((WaveTrack *) n)->IsEmpty(t0, t1)) {
-               ((WaveTrack *) n)->Clear(t0, t1);
-            }
-         }
-         else {
-            ((WaveTrack *) n)->Clear(t0, t1);
-         }
-
-         n->Paste(t0, c);
+         if (c->GetKind() == Track::Wave && n && n->GetKind() == Track::Wave)
+            ((WaveTrack*)n)->ClearAndPaste(t0, t1, (WaveTrack*)c);
+         else
+            n->Paste(t0, c);
          
          pastedSomething = true;
          
@@ -3174,7 +3356,11 @@ void AudacityProject::OnPaste()
          Track *prev = NULL;
          c = clipIter.First();
          Track *first = c;
-         
+
+         // LL:  There is an endless loop here if you paste only non-wave track
+         //      data, like midi data.  Not sure exactly what this is supposed
+         //      to do in that case, but it seems that it's making an assumption
+         //      that only wave data can be pasted.
          while (!foundSrcTrack){
             prev = c;
             c = clipIter.Next();
@@ -3198,13 +3384,15 @@ void AudacityProject::OnPaste()
       while (n){
          if (n->GetSelected() && n->GetKind()==Track::Wave){
             if (c && c->GetKind() == Track::Wave){
-               tmp = (WaveTrack*)c;
+               ((WaveTrack *)n)->HandleClear(t0, t1, false, false);
+               ((WaveTrack *)n)->HandlePaste(t0, (WaveTrack *)c);
             }else{
                tmp = mTrackFactory->NewWaveTrack( ((WaveTrack*)n)->GetSampleFormat(), ((WaveTrack*)n)->GetRate());
                tmp->InsertSilence(0.0, srcLength);
                tmp->Flush();
+               ((WaveTrack *)n)->HandlePaste(t0, tmp);
+               delete tmp;
             }
-            ((WaveTrack *)n)->HandlePaste(t0, tmp);
          }
          n = iter.Next();
       }
@@ -3340,16 +3528,10 @@ void AudacityProject::OnJoin()
 
 void AudacityProject::OnSilence()
 {
-   TrackListIterator iter(mTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
 
-   Track *n = iter.First();
-
-   while (n) {
-      if (n->GetSelected())
-         n->Silence(mViewInfo.sel0, mViewInfo.sel1);
-
-      n = iter.Next();
-   }
+   for (Track *n = iter.First(); n; n = iter.Next())
+      n->Silence(mViewInfo.sel0, mViewInfo.sel1);
 
    PushState(wxString::
              Format(_("Silenced selected tracks for %.2f seconds at %.2f"),
@@ -3363,29 +3545,25 @@ void AudacityProject::OnDuplicate()
 {
    TrackListIterator iter(mTracks);
 
+   Track *l = iter.Last();
    Track *n = iter.First();
-   Track *dest;
-
-   TrackList newTracks;
 
    while (n) {
       if (n->GetSelected()) {
-         dest = NULL;
+         Track *dest = NULL;
          n->Copy(mViewInfo.sel0, mViewInfo.sel1, &dest);
          if (dest) {
             dest->Init(*n);
             dest->SetOffset(wxMax(mViewInfo.sel0, n->GetOffset()));
-            newTracks.Add(dest);
+            mTracks->Add(dest);
          }
       }
-      n = iter.Next();
-   }
 
-   TrackListIterator nIter(&newTracks);
-   n = nIter.First();
-   while (n) {
-      mTracks->Add(n);
-      n = nIter.Next();
+      if (n == l) {
+         break;
+      }
+
+      n = iter.Next();
    }
 
    PushState(_("Duplicated"), _("Duplicate"));
@@ -3589,39 +3767,34 @@ void AudacityProject::OnSplit()
 void AudacityProject::OnSplitNew()
 {
    TrackListIterator iter(mTracks);
-   Track *n = iter.First();
-   Track *dest;
-
-   TrackList newTracks;
+   Track *l = iter.Last();
 
-   n = iter.First();
-   while (n) {
+   for (Track *n = iter.First(); n; n = iter.Next()) {
       if (n->GetSelected()) {
-         dest = NULL;
-         if (n->GetKind() == Track::Wave)
-         {
+         Track *dest = NULL;
+         double offset = n->GetOffset();
+         if (n->GetKind() == Track::Wave) {
             ((WaveTrack*)n)->SplitCut(mViewInfo.sel0, mViewInfo.sel1, &dest);
-         } else
-         {
+         }
+#if 0
+         // LL:  For now, just skip all non-wave tracks since the other do not
+         //      yet support proper splitting.
+         else {
             n->Cut(mViewInfo.sel0, mViewInfo.sel1, &dest);
          }
+#endif
          if (dest) {
             dest->SetChannel(n->GetChannel());
-            dest->SetTeamed(n->GetTeamed()); // do first
             dest->SetLinked(n->GetLinked());
             dest->SetName(n->GetName());
-            dest->SetOffset(wxMax(mViewInfo.sel0, n->GetOffset()));
-            newTracks.Add(dest);
+            dest->SetOffset(wxMax(mViewInfo.sel0, offset));
+            mTracks->Add(dest);
          }
       }
-      n = iter.Next();
-   }
 
-   TrackListIterator nIter(&newTracks);
-   n = nIter.First();
-   while (n) {
-      mTracks->Add(n);
-      n = nIter.Next();
+      if (n == l) {
+         break;
+      }
    }
 
    PushState(_("Split to new track"), _("Split New"));
@@ -3629,7 +3802,6 @@ void AudacityProject::OnSplitNew()
    RedrawProject();
 }
 
-
 void AudacityProject::OnSplitLabelsToTracks()
 {
    TrackListIterator iter(mTracks);
@@ -3743,6 +3915,10 @@ void AudacityProject::OnSelectNone()
    ModifyState();
    
    mTrackPanel->Refresh(false);
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      if (mMixerBoard)
+         mMixerBoard->Refresh(false);
+   #endif
 }
 
 void AudacityProject::OnSelectCursorEnd()
@@ -3967,7 +4143,13 @@ void AudacityProject::OnZoomSel()
    if (mViewInfo.sel1 <= mViewInfo.sel0)
       return;
 
-   Zoom(mViewInfo.zoom * mViewInfo.screen / (mViewInfo.sel1 - mViewInfo.sel0));
+   // LL:  The "-1" is just a hack to get around an issue where zooming to
+   //      selection doesn't actually get the entire selected region within the
+   //      visible area.  This causes a problem with scrolling at end of playback
+   //      where the selected region may be scrolled off the left of the screen.
+   //      I know this isn't right, but until the real rounding or 1-off issue is
+   //      found, this will have to work.
+   Zoom(((mViewInfo.zoom * mViewInfo.screen) - 1) / (mViewInfo.sel1 - mViewInfo.sel0));
    TP_ScrollWindow(mViewInfo.sel0);
 }
 
@@ -3980,72 +4162,44 @@ void AudacityProject::OnShowClipping()
    mTrackPanel->Refresh(false);
 }
 
-void AudacityProject::OnPlotSpectrum()
+void AudacityProject::OnHistory()
 {
-   int selcount = 0;
-   int i;
-   double rate = 0;
-   sampleCount len = 0;
-   float *buffer = NULL;
-   bool warning = false;
-   TrackListIterator iter(mTracks);
-   Track *t = iter.First();
-   while (t) {
-      if (t->GetSelected() && t->GetKind() == Track::Wave) {
-         WaveTrack *track = (WaveTrack *)t;
-         if (selcount==0) {
-            rate = track->GetRate();
-            sampleCount start, end;
-            start = track->TimeToLongSamples(mViewInfo.sel0);
-            end = track->TimeToLongSamples(mViewInfo.sel1);
-            len = (sampleCount)(end - start);
-            if (len > 1048576) {
-               warning = true;
-               len = 1048576;
-            }
-            buffer = new float[len];
-            track->Get((samplePtr)buffer, floatSample, start, len);
-         }
-         else {
-            if (track->GetRate() != rate) {
-               wxMessageBox(_("To plot the spectrum, all selected tracks must be the same sample rate."));
-               delete[] buffer;
-               return;
-            }
-            sampleCount start;
-            start = track->TimeToLongSamples(mViewInfo.sel0);
-            float *buffer2 = new float[len];
-            track->Get((samplePtr)buffer2, floatSample, start, len);
-            for(i=0; i<len; i++)
-               buffer[i] += buffer2[i];
-            delete[] buffer2;
-         }
-         selcount++;
-      }
-      t = iter.Next();
-   }
-   
-   if (selcount == 0)
-      return;
-   
-   if (selcount > 1)
-      for(i=0; i<len; i++)
-         buffer[i] /= selcount;
-   
-   if (warning) {
-      wxString msg;
-      msg.Printf(_("Too much audio was selected.  Only the first %.1f seconds of audio will be analyzed."),
-                          (len / rate));
-      wxMessageBox(msg);
+   if (!mHistoryWindow)
+      mHistoryWindow = new HistoryWindow(this, &mUndoManager);
+
+   mHistoryWindow->Show(true);
+   mHistoryWindow->UpdateDisplay();
+}
+
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   void AudacityProject::OnLyrics()
+   {
+      if (!mLyricsWindow)
+         mLyricsWindow = new LyricsWindow(this);
+      wxASSERT(mLyricsWindow);
+      mLyricsWindow->Show();
    }
+#endif
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   void AudacityProject::OnMixerBoard()
+   {
+      if (!mMixerBoardFrame)
+      {
+         mMixerBoardFrame = new MixerBoardFrame(this);
+         mMixerBoard = mMixerBoardFrame->mMixerBoard;
+      }
+      mMixerBoardFrame->Show();
+  }
+#endif
 
+void AudacityProject::OnPlotSpectrum()
+{
    InitFreqWindow(NULL);
-   gFreqWindow->Plot(len, buffer, rate);
-   gFreqWindow->Show(true);
-   gFreqWindow->Raise();
-   gFreqWindow->SetFocus();
+}
 
-   delete[] buffer;
+void AudacityProject::OnContrast()
+{
+   InitContrastDialog(NULL);
 }
 
 
@@ -4135,14 +4289,10 @@ void AudacityProject::OnImport()
       
       Import(fileName);
    }
-
+	
    HandleResize(); // Adjust scrollers for new track sizes.
 }
 
-
-
-
-
 void AudacityProject::OnImportLabels()
 {
    wxString path = gPrefs->Read(wxT("/DefaultOpenPath"),::wxGetCwd());
@@ -4279,12 +4429,11 @@ void AudacityProject::HandleMixAndRender(bool toNewTrack)
 
             // Add one to the count if it's an unlinked track, or if it's the first
             // in a stereo pair
-            if (t->GetLinked() || !mTracks->GetLink(t))
+            if (t->GetLinked() || !t->GetLink())
                 selectedCount++;
 
                 if (!toNewTrack) {
-                   delete t;
-                   t = iter.RemoveCurrent();
+                   t = iter.RemoveCurrent(true);
                 } else {
                    t = iter.Next();
                 };
@@ -4320,7 +4469,7 @@ void AudacityProject::HandleMixAndRender(bool toNewTrack)
          else
             msg.Printf(_("Mixed and rendered %d tracks into one new mono track"),
                        selectedCount);
-         PushState(msg, _NoAcc("&Mix and Render"));
+         PushState(msg, _("Mix and Render"));
       }
 
       mTrackPanel->SetFocusedTrack(newLeft);
@@ -4409,6 +4558,7 @@ void AudacityProject::OnCursorSelStart()
    mViewInfo.sel1 = mViewInfo.sel0;
    ModifyState();
    mTrackPanel->ScrollIntoView(mViewInfo.sel0);
+   mTrackPanel->Refresh(false);
 }
 
 void AudacityProject::OnCursorSelEnd()
@@ -4416,6 +4566,7 @@ void AudacityProject::OnCursorSelEnd()
    mViewInfo.sel0 = mViewInfo.sel1;
    ModifyState();
    mTrackPanel->ScrollIntoView(mViewInfo.sel1);
+   mTrackPanel->Refresh(false);
 }
 
 void AudacityProject::HandleAlign(int index, bool moveSel)
@@ -4584,6 +4735,7 @@ void AudacityProject::OnScoreAlign()
                           floatSample,             // sampleFormat outFormat
                           true,                    // bool highQuality = true
                           NULL);                   // MixerSpec *mixerSpec = NULL
+   delete [] waveTracks;
 
    // debugging/testing
    //float *buffer;
@@ -4632,7 +4784,6 @@ void AudacityProject::OnNewStereoTrack()
    
    mTracks->Add(t);
    t->SetSelected(true);
-   t->SetTeamed (true);
    
    PushState(_("Created new stereo audio track"), _("New Track"));
    
@@ -4678,7 +4829,12 @@ void AudacityProject::OnNewTimeTrack()
 void AudacityProject::OnTimerRecord()
 {
    TimerRecordDialog dialog(this /* parent */ );
-   dialog.ShowModal();
+   int modalResult = dialog.ShowModal();
+   if (modalResult == eProgressCancelled)
+   {
+      // Cancelled while the recording, so throw out the fresh track.
+      OnUndo();
+   }
 }
 
 void AudacityProject::OnSoundActivated()
@@ -4735,7 +4891,7 @@ int AudacityProject::DoAddLabel(double left, double right)
 
 void AudacityProject::OnStickyLabel()
 {
-   mStickyFlag = !mStickyFlag;
+   SetStickyFlag(!GetStickyFlag());
    EditToolBar *toolbar = GetEditToolBar();
    toolbar->EnableDisableButtons();
 }
@@ -4987,7 +5143,7 @@ wxString AudacityProject::BuildCleanFileName(wxString fileName)
    cleanedName += wxT("/");
    cleanedName += justName;
    cleanedName += wxT(".mp3");
-   mRecentFiles->AddFileToHistory(cleanedName);
+   wxGetApp().AddFileToHistory(cleanedName);
 
    return cleanedName;
 }
@@ -5001,10 +5157,13 @@ void AudacityProject::OnRemoveTracks()
 
    while (t) {
       if (t->GetSelected()) {
+         #ifdef EXPERIMENTAL_MIXER_BOARD
+            if (mMixerBoard && (t->GetKind() == Track::Wave))
+               mMixerBoard->RemoveTrackCluster((WaveTrack*)t);
+         #endif
          if (!f)
             f = l;         // Capture the track preceeding the first removed track
-         delete t;
-         t = iter.RemoveCurrent();
+         t = iter.RemoveCurrent(true);
       }
       else {
          l = t;
@@ -5031,6 +5190,10 @@ void AudacityProject::OnRemoveTracks()
    PushState(_("Removed audio track(s)"), _("Remove Track"));
 
    mTrackPanel->Refresh(false);
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      if (mMixerBoard)
+         mMixerBoard->Refresh(true);
+   #endif
 }
 
 //
@@ -5046,17 +5209,22 @@ void AudacityProject::OnAbout()
 void AudacityProject::OnHelpWelcome()
 {
    SplashDialog::Show2( this );
-//   SplashDialog dlog(this);
-//   dlog.ShowModal();
 }
 
-void AudacityProject::OnHelp()
+void AudacityProject::OnQuickHelp()
+{
+   ShowHelpDialog( 
+      this, 
+      FileNames::HtmlHelpIndexFile(true),
+      wxT("http://manual.audacityteam.org/index.php?title=Quick_Help" ));
+}
+
+void AudacityProject::OnManual()
 {
    ShowHelpDialog( 
       this, 
-      FileNames::HtmlHelpIndexFile(),
-      wxT("http://audacityteam.org/manual/index.php?title=Main_Page" ));
-      //wxT("http://audacity.sourceforge.net/help/documentation"  ));
+      FileNames::HtmlHelpIndexFile(false),
+      wxT("http://manual.audacityteam.org/index.php?title=Main_Page" ));
 }
 
 void AudacityProject::OnLog()
@@ -5197,6 +5365,7 @@ void AudacityProject::OnResample()
       rates.Add(wxT("11025"));
       rates.Add(wxT("16000"));
       rates.Add(wxT("22050"));
+      rates.Add(wxT("32000"));
       rates.Add(wxT("44100"));
       rates.Add(wxT("48000"));
       rates.Add(wxT("96000"));
diff --git a/src/Menus.h b/src/Menus.h
index 24e1827..0fede97 100644
--- a/src/Menus.h
+++ b/src/Menus.h
@@ -89,7 +89,7 @@ void OnPlayToSelection();
 void OnPlayLooped();
 void OnPlayCutPreview();
 
-        //
+        // Wave track control
 
 void OnTrackPan();
 void OnTrackPanLeft();
@@ -102,6 +102,22 @@ void OnTrackMute();
 void OnTrackSolo();
 void OnTrackClose();
 
+        // Mixer control
+
+void OnOutputGain();
+void OnInputGain();
+void OnInputSource();
+void OnOutputGainInc();
+void OnOutputGainDec();
+void OnInputGainInc();
+void OnInputGainDec();
+
+        // Transcription control
+
+void OnPlayAtSpeed();
+void OnSetPlaySpeed();
+void OnPlaySpeedInc();
+void OnPlaySpeedDec();
 
         // Selection-Editing Commands
 
@@ -176,7 +192,6 @@ void OnExit();
 
 void OnUndo();
 void OnRedo();
-void OnHistory();
 
 void OnCut();
 void OnSplitCut();
@@ -230,9 +245,17 @@ void OnUnMuteAllTracks();
 
 void OnShowClipping();
 
-void OnSelectionFormat(int index);
+void OnHistory();
+
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   void OnLyrics();
+#endif
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   void OnMixerBoard();
+#endif
 
 void OnPlotSpectrum();
+void OnContrast();
 
 void OnShowControlToolBar();
 void OnShowDeviceToolBar();
@@ -294,7 +317,7 @@ void OnEditLabels();
 
         // Effect Menu
 
-bool OnEffect(int type, Effect * f);
+bool OnEffect(int type, Effect * f, wxString params = wxEmptyString, bool saveState = true);
 void OnEffect(int type, int index);
 void OnGenerateEffect(int index);
 void OnGeneratePlugin(int index);
@@ -312,16 +335,13 @@ void OnEditChains();
 void OnImportCleanSpeechPresets();
 void OnExportCleanSpeechPresets();
 void OnStereoToMono(int index);
-void ResolveEffectIndices(EffectArray *effects);
 wxString BuildCleanFileName(wxString fileName);
 
-int  mNormalizeIndex;
-int  mStereoToMonoIndex;
-
         // Help Menu
 
 void OnAbout();
-void OnHelp();
+void OnQuickHelp();
+void OnManual();
 void OnLog();
 void OnHelpWelcome();
 void OnBenchmark();
diff --git a/src/Mix.cpp b/src/Mix.cpp
index f6134e7..d2045a0 100644
--- a/src/Mix.cpp
+++ b/src/Mix.cpp
@@ -103,7 +103,6 @@ bool MixAndRender(TrackList *tracks, TrackFactory *trackFactory,
       mixLeft->SetChannel(Track::LeftChannel);
       mixRight->SetChannel(Track::RightChannel);
       mixLeft->SetLinked(true);
-      mixRight->SetTeamed(true);
    }
 
    int maxBlockLen = mixLeft->GetIdealBlockSize();
@@ -118,11 +117,11 @@ bool MixAndRender(TrackList *tracks, TrackFactory *trackFactory,
                             rate, format);
 
    wxYield();
-   ProgressDialog *progress = new ProgressDialog(_NoAcc("&Mix and Render"),
+   ProgressDialog *progress = new ProgressDialog(_("Mix and Render"),
                                                  _("Mixing and rendering tracks"));
    
-   bool bCancel = false;
-   while(!bCancel) {
+   int updateResult = eProgressSuccess;
+   while(updateResult == eProgressSuccess) {
       sampleCount blockLen = mixer->Process(maxBlockLen);
 
       if (blockLen == 0)
@@ -140,7 +139,7 @@ bool MixAndRender(TrackList *tracks, TrackFactory *trackFactory,
          mixRight->Append(buffer, format, blockLen);
       }
 
-      bCancel = !progress->Update(mixer->MixGetCurrentTime(), totalTime);
+      updateResult = progress->Update(mixer->MixGetCurrentTime(), totalTime);
    }
 
    delete progress;
@@ -148,7 +147,7 @@ bool MixAndRender(TrackList *tracks, TrackFactory *trackFactory,
    mixLeft->Flush();
    if (!mono) 
       mixRight->Flush();
-   if (bCancel)
+   if (updateResult == eProgressCancelled || updateResult == eProgressFailed)
    {
       delete mixLeft;
       if (!mono) 
@@ -175,7 +174,7 @@ bool MixAndRender(TrackList *tracks, TrackFactory *trackFactory,
    delete[] waveArray;
    delete mixer;
 
-   return !bCancel;
+   return (updateResult == eProgressSuccess || updateResult == eProgressStopped);
 }
 
 Mixer::Mixer(int numInputTracks, WaveTrack **inputTracks,
@@ -263,6 +262,7 @@ Mixer::~Mixer()
       DeleteSamples(mTemp[i]);
    }
    delete[] mBuffer;
+   delete[] mTemp;
    delete[] mInputTrack;
    delete[] mEnvValues;
    delete[] mFloatBuffer;
@@ -335,7 +335,7 @@ sampleCount Mixer::MixVariableRates(int *channelFlags, WaveTrack *track,
 
    // Find the last sample
    sampleCount last = -1;
-   WaveClipList::Node* it = track->GetClipIterator();
+   WaveClipList::compatibility_iterator it = track->GetClipIterator();
    while (it) {
       sampleCount end = it->GetData()->GetEndSample();
       if (end > last) {
diff --git a/src/NoteTrack.cpp b/src/NoteTrack.cpp
index e525dac..c79b50e 100644
--- a/src/NoteTrack.cpp
+++ b/src/NoteTrack.cpp
@@ -56,6 +56,17 @@ Track(projDirManager)
    mLastMidiPosition = 0;
 }
 
+NoteTrack::~NoteTrack()
+{
+   if (mSerializationBuffer) {
+      delete [] mSerializationBuffer;
+   }
+
+   if (mSeq) {
+      delete mSeq;
+   }
+}
+
 Track *NoteTrack::Duplicate()
 {
    NoteTrack *duplicate = new NoteTrack(mDirManager);
@@ -89,13 +100,14 @@ void NoteTrack::DrawLabelControls(wxDC & dc, wxRect & r)
    int wid = 23;
    int ht = 16;
 
-   if (r.height < ht * 4)
+   if (r.height < ht * 4) {
       return;
+   }
 
-   int x = r.x + r.width / 2 - wid * 2;
-   int y = r.y + 4;
+   int x = r.x + (r.width / 2 - wid * 2) + 2;
+   int y = r.y + 5;
 
-   for (int row = 0; row < 4; row++)
+   for (int row = 0; row < 4; row++) {
       for (int col = 0; col < 4; col++) {
          int channel = row * 4 + col + 1;
 
@@ -110,23 +122,31 @@ void NoteTrack::DrawLabelControls(wxDC & dc, wxRect & r)
             dc.DrawRectangle(box);
 
             AColor::LightMIDIChannel(&dc, channel);
-            dc.DrawLine(box.x, box.y, box.x + box.width - 1, box.y);
-            dc.DrawLine(box.x, box.y, box.x, box.y + box.height - 1);
+            AColor::Line(dc, box.x, box.y, box.x + box.width - 1, box.y);
+            AColor::Line(dc, box.x, box.y, box.x, box.y + box.height - 1);
 
             AColor::DarkMIDIChannel(&dc, channel);
-            dc.DrawLine(box.x + box.width - 1, box.y,
-                        box.x + box.width - 1, box.y + box.height);
-            dc.DrawLine(box.x, box.y + box.height - 1, box.x + box.width,
-                        box.y + box.height - 1);
+            AColor::Line(dc,
+                         box.x + box.width - 1, box.y,
+                         box.x + box.width - 1, box.y + box.height - 1);
+            AColor::Line(dc,
+                         box.x, box.y + box.height - 1,
+                         box.x + box.width - 1, box.y + box.height - 1);
          } else {
             AColor::MIDIChannel(&dc, 0);
             dc.DrawRectangle(box);
          }
 
-         dc.DrawText(wxString::Format(wxT("%d"), channel), box.x + 5,
-                     box.y + 3);
-      }
+         wxString t;
+         long w;
+         long h;
 
+         t.Printf(wxT("%d"), channel);
+         dc.GetTextExtent(t, &w, &h);
+   
+         dc.DrawText(t, box.x + (box.width - w) / 2, box.y + (box.height - h) / 2);
+      }
+   }
 }
 
 bool NoteTrack::LabelClick(wxRect & r, int mx, int my, bool right)
@@ -137,8 +157,8 @@ bool NoteTrack::LabelClick(wxRect & r, int mx, int my, bool right)
    if (r.height < ht * 4)
       return false;
 
-   int x = r.x + r.width / 2 - wid * 2;
-   int y = r.y + 4;
+   int x = r.x + (r.width / 2 - wid * 2);
+   int y = r.y + 1;
 
    int col = (mx - x) / wid;
    int row = (my - y) / ht;
diff --git a/src/NoteTrack.h b/src/NoteTrack.h
index c5255cf..3364cd2 100644
--- a/src/NoteTrack.h
+++ b/src/NoteTrack.h
@@ -24,11 +24,12 @@ class wxRect;
 class DirManager;
 class Alg_seq;   // from "allegro.h"
 
-class NoteTrack:public Track {
+class AUDACITY_DLL_API NoteTrack:public Track {
  public:
    friend class TrackArtist;
 
    NoteTrack(DirManager * projDirManager);
+   virtual ~NoteTrack();
 
    virtual Track *Duplicate();
    
diff --git a/src/PitchName.cpp b/src/PitchName.cpp
index 3a4064d..d534ce2 100644
--- a/src/PitchName.cpp
+++ b/src/PitchName.cpp
@@ -4,8 +4,8 @@
 
   PitchName.cpp
 
-  Dominic Mazzoni
-  Vaughan Johnson
+  Copyright 2005-9, Vaughan Johnson and Dominic Mazzoni. 
+  All rights reserved.
 
 *******************************************************************//*!
 
@@ -23,19 +23,19 @@
 #include "PitchName.h"
 
 
-// Freq2Pitch takes a frequency in Hz (exponential scale relative to 
+// FreqToMIDInoteNumber takes a frequency in Hz (exponential scale relative to 
 // alphabetic pitch names) and returns a pitch ID number (linear 
-// scale), such that A440 (A4) is 57, middle C (C4) is 48, etc.
-// The offset to 57 is used to determine the register. 
+// scale), such that A440 (A4) is 69, middle C (C4) is 60, etc.
 // Each register starts with C (e.g., for middle C and A440, 
 // it's register 4).
-double Freq2Pitch(double freq)
+double FreqToMIDInoteNumber(double freq)
 {
-   return double (57.0 + (12.0 * (log(freq / 440.0) / log(2.0))));
+   // Make the calculation relative to A440 (A4), note number 69. 
+   return double (69.0 + (12.0 * (log(freq / 440.0) / log(2.0))));
 }
 
 // PitchIndex returns the [0,11] index for a double pitchNum, 
-// as per result from Freq2Pitch, corresponding to modulo 12 
+// as per result from FreqToMIDInoteNumber, corresponding to modulo 12 
 // of the integer part of (pitchNum + 0.5), so 0=C, 1=C#, etc.
 unsigned int PitchIndex(double pitchNum)
 {
@@ -44,85 +44,85 @@ unsigned int PitchIndex(double pitchNum)
 
 
 wxChar gPitchName[10];
-wxChar * p_PitchName;
+wxChar * pPitchName;
 
 // PitchName takes pitchNum (as per result from 
-// Freq2Pitch) and returns a standard pitch/note name [C, C#, etc.). 
+// FreqToMIDInoteNumber) and returns a standard pitch/note name [C, C#, etc.). 
 // Sharps are the default, unless, bWantFlats is true.
 wxChar * PitchName(double pitchNum, bool bWantFlats /* = false */)
 {
-   p_PitchName = gPitchName;
+   pPitchName = gPitchName;
 
    switch (PitchIndex(pitchNum)) {
    case 0:
-      *p_PitchName++ = wxT('C');
+      *pPitchName++ = wxT('C');
       break;
    case 1:
       if (bWantFlats) {
-         *p_PitchName++ = wxT('D');
-         *p_PitchName++ = wxT('b');
+         *pPitchName++ = wxT('D');
+         *pPitchName++ = wxT('b');
       } else {
-         *p_PitchName++ = wxT('C');
-         *p_PitchName++ = wxT('#');
+         *pPitchName++ = wxT('C');
+         *pPitchName++ = wxT('#');
       }
       break;
    case 2:
-      *p_PitchName++ = wxT('D');
+      *pPitchName++ = wxT('D');
       break;
    case 3:
       if (bWantFlats) {
-         *p_PitchName++ = wxT('E');
-         *p_PitchName++ = wxT('b');
+         *pPitchName++ = wxT('E');
+         *pPitchName++ = wxT('b');
       } else {
-         *p_PitchName++ = wxT('D');
-         *p_PitchName++ = wxT('#');
+         *pPitchName++ = wxT('D');
+         *pPitchName++ = wxT('#');
       }
       break;
    case 4:
-      *p_PitchName++ = wxT('E');
+      *pPitchName++ = wxT('E');
       break;
    case 5:
-      *p_PitchName++ = wxT('F');
+      *pPitchName++ = wxT('F');
       break;
    case 6:
       if (bWantFlats) {
-         *p_PitchName++ = wxT('G');
-         *p_PitchName++ = wxT('b');
+         *pPitchName++ = wxT('G');
+         *pPitchName++ = wxT('b');
       } else {
-         *p_PitchName++ = wxT('F');
-         *p_PitchName++ = wxT('#');
+         *pPitchName++ = wxT('F');
+         *pPitchName++ = wxT('#');
       }
       break;
    case 7:
-      *p_PitchName++ = wxT('G');
+      *pPitchName++ = wxT('G');
       break;
    case 8:
       if (bWantFlats) {
-         *p_PitchName++ = wxT('A');
-         *p_PitchName++ = wxT('b');
+         *pPitchName++ = wxT('A');
+         *pPitchName++ = wxT('b');
       } else {
-         *p_PitchName++ = wxT('G');
-         *p_PitchName++ = wxT('#');
+         *pPitchName++ = wxT('G');
+         *pPitchName++ = wxT('#');
       }
       break;
    case 9:
-      *p_PitchName++ = wxT('A');
+      *pPitchName++ = wxT('A');
       break;
    case 10:
       if (bWantFlats) {
-         *p_PitchName++ = wxT('B');
-         *p_PitchName++ = wxT('b');
+         *pPitchName++ = wxT('B');
+         *pPitchName++ = wxT('b');
       } else {
-         *p_PitchName++ = wxT('A');
-         *p_PitchName++ = wxT('#');
+         *pPitchName++ = wxT('A');
+         *pPitchName++ = wxT('#');
       }
       break;
    case 11:
-      *p_PitchName++ = wxT('B');
+      *pPitchName++ = wxT('B');
       break;
    }
 
-	*p_PitchName = wxT('\0');
+	*pPitchName = wxT('\0');
 
    return gPitchName;
 }
@@ -135,9 +135,9 @@ wxChar * PitchName_Absolute(double pitchNum, bool bWantFlats /* = false */)
 {
    PitchName(pitchNum, bWantFlats); 
 
-	// PitchName sets p_PitchName to the next available char in gPitchName, 
+	// PitchName sets pPitchName to the next available char in gPitchName, 
 	// so it's ready to append the register number.
-   wxSnprintf(p_PitchName, 8, wxT("%d"), ((int)(pitchNum + 0.5) / 12));
+   wxSnprintf(pPitchName, 8, wxT("%d"), (((int)(pitchNum + 0.5) / 12) - 1));
 
    return gPitchName;
 }
diff --git a/src/PitchName.h b/src/PitchName.h
index 04e3bd6..b9a1a76 100644
--- a/src/PitchName.h
+++ b/src/PitchName.h
@@ -4,7 +4,8 @@
 
   PitchName.h
 
-  Dominic Mazzoni, Vaughan Johnson
+  Copyright 2005-9, Vaughan Johnson and Dominic Mazzoni. 
+  All rights reserved.
 
   Utilities for converting from frequency to pitch 
   and from pitch to absolute (e.g., C4 for middle C) 
@@ -17,21 +18,20 @@
 
 #include <wx/defs.h>
 
-// Freq2Pitch takes a frequency in Hz (exponential scale relative to 
+// FreqToMIDInoteNumber takes a frequency in Hz (exponential scale relative to 
 // alphabetic pitch names) and returns a pitch ID number (linear 
-// scale), such that A440 (A4) is 57, middle C (C4) is 48, etc.
-// The offset to 57 is used to determine the register. 
+// scale), such that A440 (A4) is 69, middle C (C4) is 60, etc.
 // Each register starts with C (e.g., for middle C and A440, 
 // it's register 4).
-double Freq2Pitch(double freq);
+double FreqToMIDInoteNumber(double freq);
 
 // PitchIndex returns the [0,11] index for a double pitchNum, 
-// as per result from Freq2Pitch, corresponding to modulo 12 
+// as per result from FreqToMIDInoteNumber, corresponding to modulo 12 
 // of the integer part of (pitchNum + 0.5), so 0=C, 1=C#, etc.
 unsigned int PitchIndex(double pitchNum);
 
 // PitchName takes pitchNum (as per result from 
-// Freq2Pitch) and returns a standard pitch/note name [C, C#, etc.). 
+// FreqToMIDInoteNumber) and returns a standard pitch/note name [C, C#, etc.). 
 // Sharps are the default, unless, bWantFlats is true.
 wxChar * PitchName(double pitchNum, bool bWantFlats = false);
 
diff --git a/src/Printing.cpp b/src/Printing.cpp
index fcd1057..84186ba 100644
--- a/src/Printing.cpp
+++ b/src/Printing.cpp
@@ -23,6 +23,7 @@
 #include <wx/print.h>
 #include <wx/printdlg.h>
 
+#include "AColor.h"
 #include "Track.h"
 #include "TrackArtist.h"
 #include "ViewInfo.h"
@@ -96,43 +97,10 @@ bool AudacityPrintout::OnPrintPage(int page)
       r.width = width;
       r.height = (int)(n->GetHeight() * scale);
 
-      switch(n->GetKind()) {
-      case Track::Wave:
-         switch (((WaveTrack *)n)->GetDisplay()) {
-         case WaveTrack::WaveformDisplay:
-            artist.DrawWaveform((WaveTrack *)n, *dc, r,
-                                &viewInfo, false, false, false, false, false);
-            break;
-         case WaveTrack::WaveformDBDisplay:
-            artist.DrawWaveform((WaveTrack *)n, *dc, r,
-                                &viewInfo, false, false, false, true, false);
-            break;
-         case WaveTrack::SpectrumDisplay:
-            artist.DrawSpectrum((WaveTrack *)n, *dc, r, &viewInfo, false, false);
-            break;
-         case WaveTrack::SpectrumLogDisplay:
-            artist.DrawSpectrum((WaveTrack *)n, *dc, r, &viewInfo, false, true);
-            break;
-         case WaveTrack::PitchDisplay:
-            artist.DrawSpectrum((WaveTrack *)n, *dc, r, &viewInfo, true, false);
-            break;
-         }
-         break;
-#ifdef USE_MIDI 
-      case Track::Note:
-         artist.DrawNoteTrack((NoteTrack *)n, *dc, r, &viewInfo);
-         break;
-#endif // USE_MIDI
-      case Track::Label:
-         artist.DrawLabelTrack((LabelTrack *)n, *dc, r, &viewInfo);
-         break;
-      case Track::Time:
-         artist.DrawTimeTrack((TimeTrack *)n, *dc, r, &viewInfo);
-         break;
-      }
+      artist.DrawTrack(n, *dc, r, &viewInfo, false, false, false, false);
 
       dc->SetPen(*wxBLACK_PEN);
-      dc->DrawLine(0, r.y, width, r.y);
+      AColor::Line(*dc, 0, r.y, width, r.y);
 
       n = iter.Next();
       y += r.height;
diff --git a/src/Profiler.cpp b/src/Profiler.cpp
index 64dbb72..7f20d9f 100644
--- a/src/Profiler.cpp
+++ b/src/Profiler.cpp
@@ -33,7 +33,7 @@ Profiler::~Profiler()
       
       time(&now);
       fprintf(log,"Audacity Profiler Run, Ended at ");
-      fprintf(log,ctime(&now));   
+      fprintf(log,"%s",ctime(&now));
       fprintf(log,"****************************************\n");
       //print out the tasks
       for(int i=0;i<(int)mTasks.size();i++)
diff --git a/src/Project.cpp b/src/Project.cpp
index 08eccef..9ddff9c 100644
--- a/src/Project.cpp
+++ b/src/Project.cpp
@@ -97,6 +97,13 @@ scroll information.  It also has some status flags.
 #include "Dependencies.h"
 #include "FreqWindow.h"
 #include "HistoryWindow.h"
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   #include "Lyrics.h"
+   #include "LyricsWindow.h"
+#endif
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   #include "MixerBoard.h"
+#endif
 #include "Internat.h"
 #include "import/Import.h"
 #include "LabelTrack.h"
@@ -193,6 +200,33 @@ private:
    T mValExit;
 };
 
+// This wrapper prevents the scrollbars from retaining focus after being
+// used.  Otherwise, the only way back to the track panel is to click it
+// and that causes your original location to be lost.
+class ScrollBar:public wxScrollBar
+{
+public:
+   ScrollBar(wxWindow* parent, wxWindowID id, long style)
+   :   wxScrollBar(parent, id, wxDefaultPosition, wxDefaultSize, style)
+   {
+   }
+
+   void OnSetFocus(wxFocusEvent & e)
+   {
+      wxWindow *w = e.GetWindow();
+      if (w != NULL) {
+         w->SetFocus();
+      }
+   }
+
+private:
+   DECLARE_EVENT_TABLE()
+};
+
+BEGIN_EVENT_TABLE(ScrollBar, wxScrollBar)
+   EVT_SET_FOCUS(ScrollBar::OnSetFocus)
+END_EVENT_TABLE()
+
 /* Define Global Variables */
 //The following global counts the number of documents that have been opened
 //for the purpose of project placement (not to keep track of the number)
@@ -374,21 +408,52 @@ bool ImportXMLTagHandler::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
 {
    if (wxStrcmp(tag, wxT("import")) || attrs==NULL || (*attrs)==NULL || wxStrcmp(*attrs++, wxT("filename")))
        return false;
-   wxString strPathName = *attrs;
-   if (!XMLValueChecker::IsGoodPathName(strPathName)) 
+   wxString strAttr = *attrs;
+   if (!XMLValueChecker::IsGoodPathName(strAttr)) 
    {
-      // Maybe strPathName is just a fileName, not the full path. Try the project data directory.
-      wxFileName fileName(mProject->GetDirManager()->GetProjectDataDir(), strPathName);
-      if (XMLValueChecker::IsGoodFileName(strPathName, fileName.GetPath(wxPATH_GET_VOLUME))) 
-         strPathName = fileName.GetFullPath();
+      // Maybe strAttr is just a fileName, not the full path. Try the project data directory.
+      wxFileName fileName(mProject->GetDirManager()->GetProjectDataDir(), strAttr);
+      if (XMLValueChecker::IsGoodFileName(strAttr, fileName.GetPath(wxPATH_GET_VOLUME))) 
+         strAttr = fileName.GetFullPath();
       else 
       { 
-         wxLogWarning(wxT("Could not import file: %s"), strPathName.c_str());
+         wxLogWarning(wxT("Could not import file: %s"), strAttr.c_str());
          return false;
       }
    }
-   mProject->Import(strPathName);
-   return true; //v result from Import?
+
+   WaveTrackArray trackArray;
+   mProject->Import(strAttr, &trackArray);
+   if (trackArray.IsEmpty())
+      return false;
+
+   // Handle other attributes, now that we have the tracks. 
+   attrs++; 
+   const wxChar** pAttr;
+   bool bSuccess = true;
+
+   for (size_t i = 0; i < trackArray.GetCount(); i++)
+   {
+      // Most of the "import" tag attributes are the same as for "wavetrack" tags, 
+      // so apply them via WaveTrack::HandleXMLTag().
+      bSuccess = trackArray[i]->HandleXMLTag(wxT("wavetrack"), attrs);
+
+      // "offset" tag is ignored in WaveTrack::HandleXMLTag except for legacy projects, 
+      // so handle it here. 
+      double dblValue;
+      pAttr = attrs;
+      while (*pAttr)
+      {
+         const wxChar *attr = *pAttr++;
+         const wxChar *value = *pAttr++;
+         const wxString strValue = value;
+         if (!wxStrcmp(attr, wxT("offset")) && 
+               XMLValueChecker::IsGoodString(strValue) && 
+               Internat::CompatibleToDouble(strValue, &dblValue))
+            trackArray[i]->SetOffset(dblValue);
+      }
+   }
+   return bSuccess; 
 };
 
 AudacityProject *CreateNewAudacityProject()
@@ -565,8 +630,8 @@ BEGIN_EVENT_TABLE(AudacityProject, wxFrame)
     EVT_COMMAND_SCROLL(HSBarID, AudacityProject::OnScroll)
     EVT_COMMAND_SCROLL(VSBarID, AudacityProject::OnScroll)
     EVT_TIMER(AudacityProjectTimerID, AudacityProject::OnTimer)
-    // Update menu method
-    EVT_UPDATE_UI(1, AudacityProject::OnUpdateMenus)
+    // Fires for menu with ID #1...first menu defined
+    EVT_UPDATE_UI(1, AudacityProject::OnUpdateUI)
     EVT_ICONIZE(AudacityProject::OnIconize)
     EVT_COMMAND(wxID_ANY, EVT_OPEN_AUDIO_FILE, AudacityProject::OnOpenAudioFile)
     EVT_COMMAND(wxID_ANY, EVT_TOOLBAR_UPDATED, AudacityProject::OnToolBarUpdate)
@@ -587,17 +652,27 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
            Read(wxT("/SamplingRate/DefaultProjectSampleFormat"), floatSample)),
      mSnapTo(0), 
      mDirty(false),
+     mInIdle(false),
+     mTextClipFlag(0),
      mTrackPanel(NULL),
      mTrackFactory(NULL),
      mAutoScrolling(false),
      mActive(true),
      mHistoryWindow(NULL),
+     #ifdef EXPERIMENTAL_LYRICS_WINDOW
+        mLyricsWindow(NULL),
+     #endif
+     #ifdef EXPERIMENTAL_MIXER_BOARD
+        mMixerBoard(NULL),
+        mMixerBoardFrame(NULL),
+     #endif
      mToolManager(NULL),
      mAudioIOToken(-1),
      mIsDeleting(false),
      mTracksFitVerticallyZoomed(false),  //lda
      mCleanSpeechMode(false),            //lda
      mShowId3Dialog(true),               //lda
+     mLastFocusedWindow(NULL),
      mKeyboardCaptured(false),
      mImportXMLTagHandler(NULL),
      mLastAutoSaveTime(0),
@@ -605,12 +680,12 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
      mIsRecovered(false),
      mRecordingRecoveryHandler(NULL),
      mImportedDependencies(false), 
-     mWantSaveCompressed(false)
+     mWantSaveCompressed(false),
+     mLastEffect(NULL),
+     mLastEffectType(0),
+     mLastEffectDesc(_("Repeat Last Effect")),
+     mFreqWindow(NULL)
 {
-
-
-
-   
    int widths[] = {-1, 130};
    mStatusBar = CreateStatusBar(2);
    mStatusBar->SetStatusWidths(2, widths);
@@ -623,6 +698,12 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
    mTracks = new TrackList();
    mLastSavedTracks = NULL;
 
+   // Register for tracklist updates
+   mTracks->Connect(EVT_TRACKLIST_UPDATED,
+                    wxCommandEventHandler(AudacityProject::OnTrackListUpdated),
+                    NULL,
+                    this);
+
    //
    // Initialize view info (shared with TrackPanel)
    //
@@ -639,6 +720,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
    mViewInfo.lastZoom = mViewInfo.zoom;
 
    // Vertical scrollbar
+   mViewInfo.track = NULL;
    mViewInfo.vpos = 0;
 
    mViewInfo.scrollStep = 16;
@@ -655,7 +737,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
    mViewInfo.bRedrawWaveform = false;
 
    mLockPlayRegion = false;
-   mStickyFlag = true;
+   SetStickyFlag(true);
 
    CreateMenusAndCommands();
 
@@ -735,17 +817,6 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
    SetSizer( bs );
    bs->Layout();
 
-   mHsbar = new wxScrollBar(pPage,
-                            HSBarID,
-                            wxDefaultPosition,
-                            wxDefaultSize,
-                            wxSB_HORIZONTAL);
-   mVsbar = new wxScrollBar(pPage,
-                            VSBarID,
-                            wxDefaultPosition,
-                            wxDefaultSize,
-                            wxSB_VERTICAL);
-
    mTrackPanel = new TrackPanel(pPage,
                                 TrackPanelID,
                                 wxDefaultPosition,
@@ -758,6 +829,14 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
    // LLL: When Audacity starts or becomes active after returning from
    //      another application, the first window that can accept focus
    //      will be given the focus even if we try to SetFocus().  By
+   //      creating the scrollbars after the TrackPanel, we resolve 
+   //      several focus problems.
+   mHsbar = new ScrollBar(pPage, HSBarID, wxSB_HORIZONTAL);
+   mVsbar = new ScrollBar(pPage, VSBarID, wxSB_VERTICAL);
+
+   // LLL: When Audacity starts or becomes active after returning from
+   //      another application, the first window that can accept focus
+   //      will be given the focus even if we try to SetFocus().  By
    //      making the TrackPanel that first window, we resolve several
    //      keyboard focus problems.
    pPage->MoveBeforeInTabOrder(mToolManager->GetTopDock());
@@ -807,7 +886,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
 
    InitialState();
    FixScrollbars();
-   mRuler->SetLeftOffset( mTrackPanel->GetLeftOffset() - 1 );  // bevel on AdornedRuler
+   mRuler->SetLeftOffset(mTrackPanel->GetLeftOffset());  // bevel on AdornedRuler
    mRuler->SetProject(this);
 
    //
@@ -816,8 +895,10 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
 
    // loads either the XPM or the windows resource, depending on the platform
 #if !defined(__WXMAC__) && !defined(__WXX11__)
-   #ifdef __WXMSW__
+   #if defined(__WXMSW__)
       wxIcon ic(wxICON(AudacityLogo));
+   #elif defined(__WXGTK__)
+      wxIcon ic(wxICON(AudacityLogoAlpha));
    #else
       wxIcon ic;
       ic.CopyFromBitmap(theTheme.Bitmap(bmpAudacityLogo48x48));
@@ -845,12 +926,11 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
 //   mTrackPanel->SetDropTarget(new AudacityDropTarget(this));
    mTrackPanel->SetDropTarget(new DropTarget(this));
 #endif
-
-
 }
 
 AudacityProject::~AudacityProject()
 {
+   wxGetApp().GetRecentFiles()->RemoveMenu(mRecentFilesMenu);
 }
 
 void AudacityProject::UpdatePrefsVariables()
@@ -861,12 +941,14 @@ void AudacityProject::UpdatePrefsVariables()
    gPrefs->Read(wxT("/GUI/TracksFitVerticallyZoomed"), &mTracksFitVerticallyZoomed, false);
    gPrefs->Read(wxT("/GUI/SelectAllOnNone"), &mSelectAllOnNone, true);
    gPrefs->Read(wxT("/GUI/ShowSplashScreen"), &mShowSplashScreen, true);
-   gPrefs->Read(wxT("/GUI/Help"), &mHelpPref, wxT("Standard") );
+   gPrefs->Read(wxT("/GUI/Help"), &mHelpPref, wxT("InBrowser") );
 
    gPrefs->Read(wxT("/Batch/CleanSpeechMode"), &mCleanSpeechMode, false);
    gPrefs->Read(wxT("/AudioFiles/ShowId3Dialog"), &mShowId3Dialog, true);
    gPrefs->Read(wxT("/AudioFiles/NormalizeOnLoad"),&mNormalizeOnLoad, false);
 
+   gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), &mRate, AudioIO::GetOptimalSupportedSampleRate());
+   mDefaultFormat = (sampleFormat) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleFormat"), floatSample);
 }
 
 void AudacityProject::UpdatePrefs()
@@ -875,40 +957,19 @@ void AudacityProject::UpdatePrefs()
 
    SetProjectTitle();
 
-   if (mTrackPanel)
+   if (mTrackPanel) {
       mTrackPanel->UpdatePrefs();
-
-   mRate = (double) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), AudioIO::GetOptimalSupportedSampleRate());
-   mDefaultFormat = (sampleFormat) gPrefs->
-           Read(wxT("/SamplingRate/DefaultProjectSampleFormat"), floatSample);
+   }
 
    SetSnapTo(gPrefs->Read(wxT("/SnapTo"), 0L)!=0);
 
-// mToolManager->LayoutToolBars(); // Just to add/remove the CleanSpeech button.
-
-   if (GetSelectionBar()) {
-      GetSelectionBar()->UpdateRates();
-      GetSelectionBar()->SetRate(mRate);
+   if (mToolManager) {
+      mToolManager->UpdatePrefs();
    }
 
-   if (GetDeviceToolBar())
-      GetDeviceToolBar()->UpdatePrefs();
-
-   if (GetMixerToolBar())
-      GetMixerToolBar()->UpdatePrefs();
-
-   if( GetControlToolBar() )
-      GetControlToolBar()->UpdatePrefs();
-
-   if( GetMeterToolBar() )
-   {
-      Meter *playMeter, *recordMeter;
-      GetMeterToolBar()->GetMeters(&playMeter, &recordMeter);
-      playMeter->UpdatePrefs();
-      playMeter->HandleLayout();
-      recordMeter->UpdatePrefs();
-      recordMeter->HandleLayout();
-   }
+   // The toolbars will be recreated, so make sure we don't leave
+   // a stale pointer hanging around.
+   mLastFocusedWindow = NULL;
 }
 
 void AudacityProject::RedrawProject(const bool bForceWaveTracks /*= false*/)
@@ -923,7 +984,7 @@ void AudacityProject::RedrawProject(const bool bForceWaveTracks /*= false*/)
          if (pTrack->GetKind() == Track::Wave)
          {
             WaveTrack* pWaveTrack = (WaveTrack*)pTrack;
-            WaveClipList::Node* node = pWaveTrack->GetClipIterator();
+            WaveClipList::compatibility_iterator node = pWaveTrack->GetClipIterator();
             while (node) 
             {
                WaveClip *clip = node->GetData();
@@ -1184,6 +1245,7 @@ void AudacityProject::FixScrollbars()
    if(!mTracks)
       return;
 
+   bool refresh = false;
    bool rescroll = false;
 
    int totalHeight = (mTracks->GetHeight() + 32);
@@ -1208,6 +1270,7 @@ void AudacityProject::FixScrollbars()
    mViewInfo.sbarScreen = (wxInt64) (mViewInfo.screen * mViewInfo.zoom);
    mViewInfo.sbarH = (wxInt64) (mViewInfo.h * mViewInfo.zoom);
 
+   int lastv = mViewInfo.vpos;
    mViewInfo.vpos = mVsbar->GetThumbPosition() * mViewInfo.scrollStep;
 
    if (mViewInfo.vpos >= totalHeight)
@@ -1235,16 +1298,20 @@ void AudacityProject::FixScrollbars()
    if (panelHeight >= totalHeight && mViewInfo.vpos != 0) {
       mViewInfo.vpos = 0;
 
-      mTrackPanel->Refresh(false);
+      refresh = true;
       rescroll = false;
    }
    if (mViewInfo.screen >= mViewInfo.total && mViewInfo.sbarH != 0) {
       mViewInfo.sbarH = 0;
 
-      mTrackPanel->Refresh(false);
+      refresh = true;
       rescroll = false;
    }
-   
+
+   if (lastv != mViewInfo.vpos) {
+      UpdateFirstVisible();
+   }
+
    // wxScrollbar only supports int values but we need a greater range, so
    // we scale the scrollbar coordinates on demand. We only do this if we
    // would exceed the int range, so we can always use the maximum resolution
@@ -1274,7 +1341,7 @@ void AudacityProject::FixScrollbars()
    mVsbar->Refresh();
    mViewInfo.lastZoom = mViewInfo.zoom;
 
-   if (rescroll && mViewInfo.screen < mViewInfo.total){
+   if (refresh || (rescroll && mViewInfo.screen < mViewInfo.total)) {
       mTrackPanel->Refresh(false);
    }
 
@@ -1285,6 +1352,53 @@ void AudacityProject::FixScrollbars()
    }
 }
 
+Track *AudacityProject::GetFirstVisible()
+{
+   if (!mViewInfo.track && mTracks) {
+      TrackListIterator iter(mTracks);
+      for (Track *t = iter.First(); t; t = iter.Next()) {
+         int y = t->GetY();
+         int h = t->GetHeight();
+         if (y >= mViewInfo.vpos || y + h >= mViewInfo.vpos) {
+            mViewInfo.track = t;
+            break;
+         }
+      }
+   }
+
+   return mViewInfo.track;
+}
+
+void AudacityProject::UpdateFirstVisible()
+{
+   if (!mViewInfo.track || !mTracks) {
+      return;
+   }
+
+   Track *t = mViewInfo.track;
+   mViewInfo.track = NULL;
+
+   if (t->GetY() > mViewInfo.vpos) {
+      Track *l = NULL;
+      while (t && t->GetY() > mViewInfo.vpos) {
+         l = t;
+         t = mTracks->GetPrev(t);
+      }
+   }
+
+   while (t) {
+      int y = t->GetY();
+      int h = t->GetHeight();
+      if (y >= mViewInfo.vpos || y + h >= mViewInfo.vpos) {
+         mViewInfo.track = t;
+         return;
+      }
+      t = mTracks->GetNext(t);
+   }
+
+   return;
+}
+
 void AudacityProject::UpdateLayout()
 {
    if (!mTrackPanel) 
@@ -1357,6 +1471,14 @@ void AudacityProject::OnToolBarUpdate(wxCommandEvent & event)
    event.Skip(false);             /* No need to propagate any further */
 }
 
+// The projects tracklist has been updated
+void AudacityProject::OnTrackListUpdated(wxCommandEvent & event)
+{
+   mViewInfo.track = NULL;
+
+   event.Skip();
+}
+
 ///Prevents deletion of projects from outside threads.
 void AudacityProject::AllProjectsDeleteLock()
 {
@@ -1389,7 +1511,6 @@ void AudacityProject::OnODTaskComplete(wxCommandEvent & event)
 void AudacityProject::OnScroll(wxScrollEvent & event)
 {
    wxInt64 hlast = mViewInfo.sbarH;
-   wxInt64 hoffset = 0;
 
    mViewInfo.sbarH = (wxInt64)
       (mHsbar->GetThumbPosition() / mViewInfo.sbarScale);
@@ -1401,26 +1522,14 @@ void AudacityProject::OnScroll(wxScrollEvent & event)
          mViewInfo.h = mViewInfo.total - mViewInfo.screen;
       if (mViewInfo.h < 0.0)
          mViewInfo.h = 0.0;
-      hoffset = (mViewInfo.sbarH - hlast);
    }
 
-   int vlast = mViewInfo.vpos;
-   int voffset = 0;
-
+   int lastv = mViewInfo.vpos;
    mViewInfo.vpos = mVsbar->GetThumbPosition() * mViewInfo.scrollStep;
-   voffset = mViewInfo.vpos - vlast;
-
-   /*   TODO: add back fast scrolling code
-
-      // Track panel is updated either way, but it is smart and only redraws
-      // what is needed
-      TrackPanel->FastScroll(-hoffset, -voffset);
 
-      // Ruler panel updated if we scroll horizontally
-      if (hoffset) {
-      REDRAW(rulerPanel);
-      }
-    */
+   if (lastv != mViewInfo.vpos) {
+      UpdateFirstVisible();
+   }
 
    SetActiveProject(this);
 
@@ -1525,25 +1634,64 @@ void AudacityProject::OnMenu(wxCommandEvent & event)
       event.Skip(true);
 }
 
-//TODO: This function is still kinda hackish, clean up
-void AudacityProject::OnUpdateMenus(wxUpdateUIEvent & event)
+void AudacityProject::OnUpdateUI(wxUpdateUIEvent & event)
 {
+   // As of wxGTK 2.8.9, there is a problem in the wxClipboard class that
+   // allows recursive event processing.  This problem has been corrected
+   // by wxWidgets changeset #45180.  However, this han't made it into a
+   // release yet, so we have to work around it.
+   //
+   // This is done by only checking the wxClipboard contents during an idle
+   // event, thus preventing possible recursion during other event processing.
+   //
+   mInIdle = true;
+
    UpdateMenus();
+
+   mInIdle = false;
 }
 
 void AudacityProject::OnActivate(wxActivateEvent & event)
 {
+   // Activate events can fire during window teardown, so just
+   // ignore them.
+   if (mIsDeleting) {
+      return;
+   }
+
    mActive = event.GetActive();
 
-   // LLL:  Activate events can fire while closing project, so
-   //       protect against it.
-   if (mActive && !mIsDeleting) {
+   // Under Windows, focus can be "lost" when returning to 
+   // Audacity from a different application.
+   //
+   // This was observed by minimizing all windows using WINDOWS+M and
+   // then ALT+TAB to return to Audacity.  Focus will be given to the
+   // project window frame which is not at all useful.
+   //
+   // So, when the project window receives a deactivate event, we
+   // remember which child had the focus.  Then, when we receive the
+   // activate event, we restore that focus to the child or the track
+   // panel if no child had the focus (which probably should never happen).
+   if (!mActive) {
+      // We only want to remember the last focused window if FindFocus() returns
+      // a window within the current project frame.
+      wxWindow *w = FindFocus();
+      if (wxGetTopLevelParent(w) ==this) {
+         mLastFocusedWindow = w;
+      }
+   }
+   else {
       SetActiveProject(this);
-
-      // Under Windows, focus can be "lost" when returning to 
-      // Audacity from a different application.  For keyboard
-      // users, this is a major problem.
-      mTrackPanel->SetFocus();
+      if (mLastFocusedWindow) {
+         mLastFocusedWindow->SetFocus();
+      }
+      else {
+         if (mTrackPanel) {
+            mTrackPanel->SetFocus();
+         }
+      }
+      // No longer need to remember the last focused window
+      mLastFocusedWindow = NULL;
    }
    event.Skip();
 }
@@ -1565,7 +1713,12 @@ void AudacityProject::OnMouseEvent(wxMouseEvent & event)
 //     and/or attempts to delete objects twice.
 void AudacityProject::OnCloseWindow(wxCloseEvent & event)
 {
-   if (gPrefsDialogVisible || wxIsBusy()) {
+   if (mFreqWindow) {
+      mFreqWindow->Destroy();
+      mFreqWindow = NULL;
+   }
+
+   if (wxIsBusy()) {
       event.Veto();
       return;
    }
@@ -1635,6 +1788,8 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event)
       }
    }
    
+   ModuleManager::Dispatch(ProjectClosing);
+
    // Stop the timer since there's no need to update anything anymore
    delete mTimer;
    mTimer = NULL;
@@ -1651,8 +1806,22 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event)
       SaveWindowSize();
    }
 
+   mLastFocusedWindow = NULL;
    mIsDeleting = true;
 
+   bool quitOnClose;
+#ifdef __WXMAC__
+   bool defaultQuitOnClose = false;
+#else
+   bool defaultQuitOnClose = true;
+#endif
+   gPrefs->Read(wxT("/GUI/QuitOnClose"), &quitOnClose, defaultQuitOnClose);
+
+   // DanH: If we're definitely about to quit, delete the clipboard.
+   //       Doing this after Deref'ing the DirManager causes problems.
+   if ((gAudacityProjects.GetCount() == 1) && (quitOnClose || gIsQuitting))
+      DeleteClipboard();
+
    // JKC: For Win98 and Linux do not detach the menu bar.
    // We want wxWindows to clean it up for us.
    // TODO: Is there a Mac issue here??
@@ -1700,12 +1869,15 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event)
    delete mTags;
    mTags = NULL;
 
-   delete mRecentFiles;
-   mRecentFiles = NULL;
-
    delete mImportXMLTagHandler;
    mImportXMLTagHandler = NULL;
 
+   // Unregister for tracklist updates
+   mTracks->Disconnect(EVT_TRACKLIST_UPDATED,
+                       wxCommandEventHandler(AudacityProject::OnTrackListUpdated),
+                       NULL,
+                       this);
+
    // Delete all the tracks to free up memory and DirManager references.
    mTracks->Clear(true);
    delete mTracks;
@@ -1739,21 +1911,12 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event)
    }
    
    if (gAudacityProjects.IsEmpty() && !gIsQuitting) {
-      bool quitOnClose;
 
       // LL:  On the Mac, we don't want the logger open after all projects
       //      have been closed since it's menu will show instead of the
       //      common menu.
       wxGetApp().mLogger->Show(false);
       
-#ifdef __WXMAC__
-      bool defaultQuitOnClose = false;
-#else
-      bool defaultQuitOnClose = true;
-#endif
-      
-      gPrefs->Read(wxT("/GUI/QuitOnClose"), &quitOnClose, defaultQuitOnClose);
-      
       if (quitOnClose)
          QuitAudacity();
       else {
@@ -1803,7 +1966,7 @@ wxArrayString AudacityProject::ShowOpenDialog(wxString extra)
    l.DeleteContents(true);
    wxGetApp().mImporter->GetSupportedImportFormats(&l);
 
-   for (FormatList::Node *n = l.GetFirst(); n; n = n->GetNext()) {
+   for (FormatList::compatibility_iterator n = l.GetFirst(); n; n = n->GetNext()) {
       Format *f = n->GetData();
 
       wxString newfilter = f->formatName + wxT("|");
@@ -1829,7 +1992,7 @@ wxArrayString AudacityProject::ShowOpenDialog(wxString extra)
          all;
 #endif
 
-   wxString mask = _("All files|*.*|All supported files|") +
+   wxString mask = _("All files|*|All supported files|") +
                    all + wxT("|") +
                    extra + 
                    filter;
@@ -1900,9 +2063,8 @@ void AudacityProject::OpenFiles(AudacityProject *proj)
    for (size_t ff = 0; ff < selectedFiles.GetCount(); ff++) {
       wxString fileName = selectedFiles[ff];
       wxFileName newFileName(fileName);
+      bool skip = false;
 
-      gPrefs->Write(wxT("/DefaultOpenPath"), wxPathOnly(fileName));
-      
       // Make sure it isn't already open
       size_t numProjects = gAudacityProjects.Count();
       for (size_t i = 0; i < numProjects; i++) {
@@ -1911,10 +2073,17 @@ void AudacityProject::OpenFiles(AudacityProject *proj)
                                           newFileName.GetName().c_str()),
                          _("Error opening project"),
                          wxOK | wxCENTRE);
-            continue;
+            skip = true;
+            break;
          }
       }
 
+      if (skip) {
+         continue;
+      }
+
+      gPrefs->Write(wxT("/DefaultOpenPath"), wxPathOnly(fileName));
+      
       // DMM: If the project is dirty, that means it's been touched at
       // all, and it's not safe to open a new project directly in its
       // place.  Only if the project is brand-new clean and the user
@@ -1933,11 +2102,6 @@ void AudacityProject::OpenFiles(AudacityProject *proj)
       // all relevant member variables are in their initial state,
       // and it's okay to open a new project inside this window.
       proj->OpenFile(fileName);
-
-      proj->mRecentFiles->AddFileToHistory(fileName);
-      gPrefs->SetPath(wxT("/RecentFiles"));
-      proj->mRecentFiles->Save(*gPrefs);
-      gPrefs->SetPath(wxT(".."));
    }
 }
 
@@ -1962,12 +2126,25 @@ bool AudacityProject::WarnOfLegacyFile( )
 
 
 
-void AudacityProject::OpenFile(wxString fileName)
+void AudacityProject::OpenFile(wxString fileName, bool addtohistory)
 {
    // On Win32, we may be given a short (DOS-compatible) file name on rare
    // occassions (e.g. stuff like "C:\PROGRA~1\AUDACI~1\PROJEC~1.AUP"). We
    // convert these to long file name first.
-   fileName = PlatformCompatibility::ConvertSlashInFileName(PlatformCompatibility::GetLongFileName(fileName));
+   fileName = PlatformCompatibility::ConvertSlashInFileName(
+      PlatformCompatibility::GetLongFileName(fileName));
+
+   // Data loss may occur if users mistakenly try to open ".aup.bak" files
+   // left over from an unsuccessful save or by previous versions of Audacity.
+   // So we always refuse to open such files.
+   if (fileName.Lower().EndsWith(wxT(".aup.bak")))
+   {
+      wxMessageBox(
+         _("You are trying to open an automatically created backup file.\nDoing this may result in severe data loss.\n\nPlease open the actual Audacity project file instead."),
+         _("Backup file detected"),
+         wxOK | wxCENTRE, this);
+      return;
+   }
 
    // We want to open projects using wxTextFile, but if it's NOT a project
    // file (but actually a WAV file, for example), then wxTextFile will spin
@@ -2097,7 +2274,7 @@ void AudacityProject::OpenFile(wxString fileName)
          mLastSavedTracks->Add(t->Duplicate());
          t = iter.Next();
       }
-      
+
       InitialState();
       mTrackPanel->SetFocusedTrack(iter.First());
       HandleResize();
@@ -2106,6 +2283,10 @@ void AudacityProject::OpenFile(wxString fileName)
       // else any asynch calls into the blockfile code will not have
       // finished logging errors (if any) before the call to ProjectFSCK()
 
+      if (addtohistory) {
+         wxGetApp().AddFileToHistory(fileName);
+      }
+
       if (mIsRecovered)
       {
          // This project has been recovered, so write a new auto-save file
@@ -2141,7 +2322,7 @@ void AudacityProject::OpenFile(wxString fileName)
                if (t->GetKind() == Track::Wave)
                {
                   // Only wave tracks have a notion of "changed"
-                  for (WaveClipList::Node* it=((WaveTrack*)t)->GetClipIterator(); it; it=it->GetNext())
+                  for (WaveClipList::compatibility_iterator it=((WaveTrack*)t)->GetClipIterator(); it; it=it->GetNext())
                      it->GetData()->MarkChanged();
                }
                t = iter.Next();
@@ -2170,41 +2351,36 @@ void AudacityProject::OpenFile(wxString fileName)
    }
 
    GetDirManager()->FillBlockfilesCache();
-   
-   
 
-#ifdef EXPERIMENTAL_ONDEMAND
-      //check the ODManager to see if we should add the tracks to the ODManager.
-      //this flag would have been set in the HandleXML calls from above, if there were
-      //OD***Blocks.
-      if(ODManager::HasLoadedODFlag())
-      {
-         Track *tr;
-         TrackListIterator triter(mTracks);         
-         tr = triter.First();
-         
-         ODComputeSummaryTask* computeTask;
-         bool odUsed = false;
-         while (tr) {
-            if (tr->GetKind() == Track::Wave)
+   //check the ODManager to see if we should add the tracks to the ODManager.
+   //this flag would have been set in the HandleXML calls from above, if there were
+   //OD***Blocks.
+   if(ODManager::HasLoadedODFlag())
+   {
+      Track *tr;
+      TrackListIterator triter(mTracks);         
+      tr = triter.First();
+      
+      ODComputeSummaryTask* computeTask;
+      bool odUsed = false;
+      while (tr) {
+         if (tr->GetKind() == Track::Wave)
+         {
+            if(!odUsed)
             {
-               if(!odUsed)
-               {
-                  computeTask=new ODComputeSummaryTask;
-                  odUsed=true;
-               }
-               computeTask->AddWaveTrack((WaveTrack*)tr);
+               computeTask=new ODComputeSummaryTask;
+               odUsed=true;
             }
-            tr = triter.Next();
+            computeTask->AddWaveTrack((WaveTrack*)tr);
          }
-         if(odUsed)
-            ODManager::Instance()->AddNewTask(computeTask);
-            
-            //release the flag.
-         ODManager::UnmarkLoadedODFlag();
+         tr = triter.Next();
       }
-#endif
-
+      if(odUsed)
+         ODManager::Instance()->AddNewTask(computeTask);
+         
+         //release the flag.
+      ODManager::UnmarkLoadedODFlag();
+   }
 }
 
 bool AudacityProject::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
@@ -2313,6 +2489,7 @@ bool AudacityProject::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
       long longVpos = 0;
       if (!wxStrcmp(attr, wxT("vpos")))
          wxString(value).ToLong(&longVpos);
+      mViewInfo.track = NULL;
       mViewInfo.vpos = longVpos;
 
       if (!wxStrcmp(attr, wxT("h")))
@@ -2374,7 +2551,7 @@ bool AudacityProject::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
       }
       else
       {
-         msg.Printf(_("This file was saved by Audacity %s.\nYou can open the file with this version of Audacity, but if you save it with this version you will no longer be able to open it in older versions.\n\nOpen this file now?"),
+         msg.Printf(_("This file was saved by Audacity %s.\n\nAudacity can open and save this file, but saving it in this version\nwill then prevent any 1.2 or earlier version opening it.\n\nOpen this file now?"),
                  audacityVersion.c_str());
       }
       int action;
@@ -2510,6 +2687,7 @@ void AudacityProject::WriteXML(XMLWriter &xmlFile)
    mTags->WriteXML(xmlFile);
 
    Track *t;
+   WaveTrack* pWaveTrack;
    TrackListIterator iter(mTracks);
    t = iter.First();
    unsigned int ndx = 0;
@@ -2518,6 +2696,23 @@ void AudacityProject::WriteXML(XMLWriter &xmlFile)
       {
          xmlFile.StartTag(wxT("import"));
          xmlFile.WriteAttr(wxT("filename"), mStrOtherNamesArray[ndx]); // Assumes mTracks order hasn't changed!
+
+         // Don't store "channel" and "linked" tags because the importer can figure that out, 
+         // e.g., from stereo Ogg files. 
+         //    xmlFile.WriteAttr(wxT("channel"), t->GetChannel());
+         //    xmlFile.WriteAttr(wxT("linked"), t->GetLinked());
+         
+         xmlFile.WriteAttr(wxT("offset"), t->GetOffset(), 8);
+         xmlFile.WriteAttr(wxT("mute"), t->GetMute());
+         xmlFile.WriteAttr(wxT("solo"), t->GetSolo());
+         xmlFile.WriteAttr(wxT("height"), t->GetActualHeight());
+         xmlFile.WriteAttr(wxT("minimized"), t->GetMinimized());
+         
+         pWaveTrack = (WaveTrack*)t;
+         // Don't store "rate" tag because the importer can figure that out.
+         //    xmlFile.WriteAttr(wxT("rate"), pWaveTrack->GetRate());
+         xmlFile.WriteAttr(wxT("gain"), (double)pWaveTrack->GetGain());
+         xmlFile.WriteAttr(wxT("pan"), (double)pWaveTrack->GetPan());
          xmlFile.EndTag(wxT("import"));
 
          ndx++;
@@ -2553,7 +2748,7 @@ bool AudacityProject::Save(bool overwrite /* = true */ ,
       bool bHasTracks = (iter.First() != NULL);
       if (!bHasTracks)
       {
-         if (mUndoManager.UnsavedChanges()) {
+         if (mUndoManager.UnsavedChanges() && mEmptyCanBeDirty) {
             int result = wxMessageBox(_("Your project is now empty.\nIf saved, the project will have no tracks.\n\nTo save any previously open tracks:\nClick 'No', Edit > Undo until all tracks\nare open, then File > Save Project.\n\nSave anyway?"),
                                       _("Warning empty project"),
                                       wxYES_NO | wxICON_QUESTION, this);
@@ -2664,11 +2859,11 @@ bool AudacityProject::Save(bool overwrite /* = true */ ,
       }
       
       if (!success) {
-         wxMessageBox(wxString::Format(_("Could not save project. Perhaps %s \nis not writeable or the disk is full."),
+         wxMessageBox(wxString::Format(_("Could not save project. Perhaps %s \nis not writable or the disk is full."),
                                        project.c_str()),
                       _("Error saving project"),
-                      wxOK | wxCENTRE, this);
-         if (safetyFileName)
+                      wxICON_ERROR, this);
+         if (safetyFileName != wxT(""))
             wxRename(safetyFileName, mFileName);
          
          return false;
@@ -2678,29 +2873,44 @@ bool AudacityProject::Save(bool overwrite /* = true */ ,
    // Write the AUP file. 
    XMLFileWriter saveFile;
 
-   saveFile.Open(mFileName, wxT("wb"));
-   if (!saveFile.IsOpened()) {
-      wxMessageBox(_("Couldn't write to file: ") + mFileName,
-                   _("Error saving project"),
-                   wxOK | wxCENTRE, this);
+   try
+   {
+      saveFile.Open(mFileName, wxT("wb"));
+
+      WriteXMLHeader(saveFile);
+      WriteXML(saveFile);
+
+      saveFile.Close();
+   }
+   catch (XMLFileWriterException* pException)
+   {
+      wxMessageBox(wxString::Format(
+         _("Couldn't write to file \"%s\": %s"),
+         mFileName.c_str(), pException->GetMessage().c_str()),
+         _("Error saving project"), wxICON_ERROR);
 
-      if (safetyFileName)
+      delete pException;
+
+      // When XMLWriter throws an exception, it tries to close it before,
+      // so we can at least try to delete the incomplete file and move the
+      // backup file over.
+      if (safetyFileName != wxT(""))
+      {
+         wxRemove(mFileName);
          wxRename(safetyFileName, mFileName);
+      }
       
       return false;
    }
-
-   WriteXMLHeader(saveFile);
-   WriteXML(saveFile);
-
-   saveFile.Close();
    
 #ifdef __WXMAC__
    wxFileName fn(mFileName);
    fn.MacSetTypeAndCreator(AUDACITY_PROJECT_TYPE, AUDACITY_CREATOR);
 #endif
 
-   if (!bWantSaveCompressed)
+   if (bWantSaveCompressed)
+      mWantSaveCompressed = false; // Don't want this mode for AudacityProject::WriteXML() any more. 
+   else
    {
       // Now that we have saved the file, we can delete the auto-saved version
       DeleteCurrentAutoSaveFile();
@@ -2749,6 +2959,12 @@ bool AudacityProject::Save(bool overwrite /* = true */ ,
       mUndoManager.StateSaved();
    }
 
+   // If we get here, saving the project was successful, so we can delete
+   // the .bak file (because it now does not fit our block files anymore
+   // anyway).
+   if (safetyFileName != wxT(""))
+      wxRemoveFile(safetyFileName);
+
    mStatusBar->SetStatusText(wxString::Format(_("Saved %s"),
                                               mFileName.c_str()));
    
@@ -2761,32 +2977,52 @@ bool AudacityProject::Save(bool overwrite /* = true */ ,
       // Some of this is similar to code in ExportMultiple::ExportMultipleByTrack 
       // but that code is really tied into the dialogs.
 
+      // Copy the tracks because we're going to do some state changes before exporting. 
+      Track* pSavedTrack;
+      Track* pTrack;
+      WaveTrack* pWaveTrack;
+      TrackListOfKindIterator iter(Track::Wave, mTracks);
+      unsigned int numWaveTracks = 0;
+      TrackList* pSavedTrackList = new TrackList();
+      for (pTrack = iter.First(); pTrack != NULL; pTrack = iter.Next())
+      {
+         numWaveTracks++; 
+         pWaveTrack = (WaveTrack*)pTrack;
+         pSavedTrack = mTrackFactory->DuplicateWaveTrack(*pWaveTrack);
+         pSavedTrackList->Add(pSavedTrack);
+      }
+
+      if (numWaveTracks == 0) 
+      {
+         // Nothing to save compressed => success. Delete the copies and go. 
+         delete pSavedTrackList;
+         return true;
+      }
+
+      // Okay, now some bold state-faking to default values.
+      for (pTrack = iter.First(); pTrack != NULL; pTrack = iter.Next())
+      {
+         pWaveTrack = (WaveTrack*)pTrack;
+         pWaveTrack->SetSelected(false);
+         pWaveTrack->SetMute(false);
+         pWaveTrack->SetSolo(false);
+
+         pWaveTrack->SetGain(1.0); 
+         pWaveTrack->SetPan(0.0); 
+      }
+
       wxString strDataDirPathName = strProjectPathName + wxT("_data");
       if (!wxFileName::DirExists(strDataDirPathName) && 
             !wxFileName::Mkdir(strDataDirPathName, 0777, wxPATH_MKDIR_FULL))
          return false;
       strDataDirPathName += wxFileName::GetPathSeparator();
 
-      TrackListIterator iter;
-      Track* pTrack; // mono or left
-
-      // Remember which tracks were selected, and set them to unselected.
-      TrackList wereSelectedWaveTrackList;
-      for (pTrack = iter.First(mTracks); pTrack != NULL; pTrack = iter.Next())
-      {
-         if ((pTrack->GetKind() == Track::Wave) && pTrack->GetSelected())
-         {
-            wereSelectedWaveTrackList.Add(pTrack);
-            pTrack->SetSelected(false);
-         }
-      }
-
       // Export all WaveTracks to OGG. 
       bool bSuccess = true;
       Exporter theExporter;
       Track* pRightTrack;
       wxFileName uniqueTrackFileName;
-      for (pTrack = iter.First(mTracks); ((pTrack != NULL) && bSuccess); pTrack = iter.Next())
+      for (pTrack = iter.First(); ((pTrack != NULL) && bSuccess); pTrack = iter.Next())
       {
          if (pTrack->GetKind() == Track::Wave)
          {
@@ -2812,11 +3048,23 @@ bool AudacityProject::Save(bool overwrite /* = true */ ,
          }
       }
 
-      // Restore the selection states.
-      for (pTrack = iter.First(&wereSelectedWaveTrackList); pTrack != NULL; pTrack = iter.Next())
-         pTrack->SetSelected(false);
+      // Restore the saved track states and clean up. 
+      TrackListIterator savedTrackIter(pSavedTrackList);
+      for (pTrack = iter.First(), pSavedTrack = savedTrackIter.First(); 
+            ((pTrack != NULL) && (pSavedTrack != NULL)); 
+            pTrack = iter.Next(), pSavedTrack = savedTrackIter.Next())
+      {
+         pWaveTrack = (WaveTrack*)pTrack;
+         pWaveTrack->SetSelected(pSavedTrack->GetSelected());
+         pWaveTrack->SetMute(pSavedTrack->GetMute());
+         pWaveTrack->SetSolo(pSavedTrack->GetSolo());
+
+         pWaveTrack->SetGain(((WaveTrack*)pSavedTrack)->GetGain());
+         pWaveTrack->SetPan(((WaveTrack*)pSavedTrack)->GetPan());
+      }
 
-      //// Write the AUP file. 
+      pSavedTrackList->Clear(true);
+      delete pSavedTrackList;
 
       return bSuccess;
    }
@@ -2838,7 +3086,7 @@ void AudacityProject::AddImportedTracks(wxString fileName,
       }
       mTracks->Add(newTracks[i]);
       newTracks[i]->SetSelected(true);
-      if (numTracks > 2 || (numTracks > 1 && !newTracks[i]->GetTeamed())) {
+      if (numTracks > 2 || (numTracks > 1 && !newTracks[i]->GetLink())) {
          newTracks[i]->SetName(trackNameBase + wxString::Format(wxT(" %d" ), i + 1));
       }
       else {
@@ -2888,7 +3136,8 @@ void AudacityProject::AddImportedTracks(wxString fileName,
    //   HandleResize();
 }
 
-void AudacityProject::Import(wxString fileName)
+// If pNewTrackList is passed in non-NULL, it gets filled with the pointers to new tracks.
+void AudacityProject::Import(wxString fileName, WaveTrackArray* pTrackArray /*= NULL*/)
 {
    Track **newTracks;
    int numTracks;
@@ -2901,13 +3150,6 @@ void AudacityProject::Import(wxString fileName)
                                             errorMessage);
 
    if (!errorMessage.IsEmpty()) {
-// Old code, without the help button.
-#if 0
-      wxMessageBox(errorMessage,
-                   _("Error importing"),
-                   wxOK | wxCENTRE, this);
-#endif      
-
 // Version that goes to internet...
 //      ShowErrorDialog(this, _("Error importing"),
 //                 errorMessage, wxT("http://audacity.sourceforge.net/help/faq?s=files&i=wma-proprietary"));   
@@ -2915,15 +3157,27 @@ void AudacityProject::Import(wxString fileName)
       ShowErrorDialog(this, _("Error importing"),
                  errorMessage, wxT("innerlink:wma-proprietary"));   
    }
-   if( numTracks<=0)
+   if (numTracks <= 0)
       return;
 
+   wxGetApp().AddFileToHistory(fileName);
+
    // for LOF ("list of files") files, do not import the file as if it
    // were an audio file itself
    if (fileName.AfterLast('.').IsSameAs(wxT("lof"), false)) {
       return;
    }
 
+   // Have to set up newTrackList before calling AddImportedTracks, 
+   // because AddImportedTracks deletes newTracks.
+   if (pTrackArray) {
+      for (int i = 0; i < numTracks; i++) {
+         if (newTracks[i]->GetKind() == Track::Wave) {
+            pTrackArray->Add((WaveTrack *)newTracks[i]);
+         }
+      }
+   }
+
    AddImportedTracks(fileName, newTracks, numTracks);
 
    int mode = gPrefs->Read(wxT("/AudioFiles/NormalizeOnLoad"), 0L);
@@ -2931,7 +3185,8 @@ void AudacityProject::Import(wxString fileName)
       //TODO: All we want is a SelectAll()
       SelectNone();
       SelectAllIfNone();
-      OnEffect(ALL_EFFECTS | CONFIGURED_EFFECT, mNormalizeIndex ); // gNormalize);
+      OnEffect(ALL_EFFECTS | CONFIGURED_EFFECT,
+               EffectManager::Get().GetEffectByIdentifier(wxT("Normalize")));
    }
 
    GetDirManager()->FillBlockfilesCache();
@@ -2960,7 +3215,7 @@ bool AudacityProject::SaveAs(bool bWantSaveCompressed /*= false*/)
          ShowWarningDialog(this, wxT("FirstProjectSave"),
                            _("You are saving an Audacity project file (.aup).\n\nSaving a project creates a file that only Audacity can open.\n\nTo save an audio file for other programs, use one of the \"File > Export\" commands.\n"));
 
-      fName = FileSelector(_NoAcc("Save Project &As...") + wxT(":"),
+      fName = FileSelector(_("Save Project As..."),
                     path, fName, wxT(""),
                     _("Audacity projects (*.aup)|*.aup"),
                     wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER, this);
@@ -2981,12 +3236,9 @@ bool AudacityProject::SaveAs(bool bWantSaveCompressed /*= false*/)
    bool success = Save(false, true, bWantSaveCompressed);
 
    if (success) {
-      mRecentFiles->AddFileToHistory(mFileName);
-      gPrefs->SetPath(wxT("/RecentFiles"));
-      mRecentFiles->Save(*gPrefs);
-      gPrefs->SetPath(wxT(".."));
+      wxGetApp().AddFileToHistory(mFileName);
    } 
-   if (!success || bWantSaveCompressed) // bWantSaveCompressed doesn't change current project, so always reset. 
+   if (!success || bWantSaveCompressed) // bWantSaveCompressed doesn't actually change current project. 
    {
       // Reset file name on error
       mFileName = oldFileName;
@@ -3013,11 +3265,8 @@ void AudacityProject::InitialState()
    
    mUndoManager.ClearStates();
 
-   TrackList *l = new TrackList(mTracks);
-
-   mUndoManager.PushState(l, mViewInfo.sel0, mViewInfo.sel1,
+   mUndoManager.PushState(mTracks, mViewInfo.sel0, mViewInfo.sel1,
                           _("Created new project"), wxT(""));
-   delete l;
 
    mUndoManager.StateSaved();
 
@@ -3027,16 +3276,20 @@ void AudacityProject::InitialState()
    ModifyUndoMenus();
 
    UpdateMenus();
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      this->UpdateLyrics();
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      this->UpdateMixerBoard();
+   #endif
 }
 
 void AudacityProject::PushState(wxString desc,
                                 wxString shortDesc,
                                 bool consolidate)
 {
-   TrackList *l = new TrackList(mTracks);
-   mUndoManager.PushState(l, mViewInfo.sel0, mViewInfo.sel1,
+   mUndoManager.PushState(mTracks, mViewInfo.sel0, mViewInfo.sel1,
                           desc, shortDesc, consolidate);
-   delete l;
 
    mDirty = true;
 
@@ -3047,6 +3300,21 @@ void AudacityProject::PushState(wxString desc,
 
    UpdateMenus();
    
+   // Some state pushes, like changing a track gain control (& probably others), 
+   // should not repopulate Lyrics Window and MixerBoard. 
+   // Others, such as deleting a label or adding a wave track, obviously do. 
+   // Could categorize these state changes, but for now...
+   // It's crucial to not do that repopulating during playback. 
+   //vvv These can be combined in the same conditional when both features are made non-experimental. 
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      if (!gAudioIO->IsStreamActive(GetAudioIOToken())) 
+         this->UpdateLyrics();
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      if (!gAudioIO->IsStreamActive(GetAudioIOToken())) 
+         this->UpdateMixerBoard();
+   #endif
+
    if (GetTracksFitVerticallyZoomed())
       this->DoZoomFitV();
 
@@ -3055,13 +3323,10 @@ void AudacityProject::PushState(wxString desc,
 
 void AudacityProject::ModifyState()
 {
-   TrackList *l = new TrackList(mTracks);
-
-   mUndoManager.ModifyState(l, mViewInfo.sel0, mViewInfo.sel1);
-
-   delete l;
+   mUndoManager.ModifyState(mTracks, mViewInfo.sel0, mViewInfo.sel1);
 }
 
+// LL:  Is there a memory leak here as "l" and "t" are not deleted???
 void AudacityProject::PopState(TrackList * l)
 {
    mTracks->Clear(true);
@@ -3078,8 +3343,6 @@ void AudacityProject::PopState(TrackList * l)
       copyTrack=t->Duplicate();
       mTracks->Add(copyTrack);
      
-
-#ifdef EXPERIMENTAL_ONDEMAND
       //add the track to OD if the manager exists.  later we might do a more rigorous check...
       if (copyTrack->GetKind() == Track::Wave)
       {
@@ -3095,8 +3358,6 @@ void AudacityProject::PopState(TrackList * l)
             computeTask->AddWaveTrack((WaveTrack*)copyTrack);
          }
       }
-#endif
-      
       t = iter.Next();
    }
 
@@ -3107,6 +3368,12 @@ void AudacityProject::PopState(TrackList * l)
    HandleResize();
 
    UpdateMenus();
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      this->UpdateLyrics();
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      this->UpdateMixerBoard();
+   #endif
 }
 
 void AudacityProject::SetStateTo(unsigned int n)
@@ -3119,8 +3386,48 @@ void AudacityProject::SetStateTo(unsigned int n)
    mTrackPanel->SetFocusedTrack(NULL);
    mTrackPanel->Refresh(false);
    ModifyUndoMenus();
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      this->UpdateLyrics();
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      this->UpdateMixerBoard();
+   #endif
 }
 
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   void AudacityProject::UpdateLyrics()
+   {
+      TrackListOfKindIterator iter(Track::Label, mTracks);
+      LabelTrack* pLabelTrack = (LabelTrack*)(iter.First()); // Lyrics come from only the first label track.
+      if (!pLabelTrack)
+         return;
+
+      if (!mLyricsWindow) 
+      {
+         mLyricsWindow = new LyricsWindow(this); 
+         mLyricsWindow->Show(false); // Don't show it. Need to update content regardless.
+      }
+
+      Lyrics* pLyricsPanel = mLyricsWindow->GetLyricsPanel();
+      pLyricsPanel->Clear();
+      for (int i = 0; i < pLabelTrack->GetNumLabels(); i++) 
+         pLyricsPanel->Add(pLabelTrack->GetLabel(i)->t,
+                           pLabelTrack->GetLabel(i)->title);
+      pLyricsPanel->Finish(pLabelTrack->GetEndTime());
+      pLyricsPanel->Update(0.0);
+   }
+#endif
+
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   void AudacityProject::UpdateMixerBoard()
+   {
+      if (!mMixerBoard)
+         return;
+      mMixerBoard->UpdateTrackClusters();
+      mMixerBoard->UpdateMeters(gAudioIO->GetStreamTime()); 
+   }
+#endif
+
 //
 // Clipboard methods
 //
@@ -3147,28 +3454,27 @@ void AudacityProject::DeleteAllProjectsDeleteLock()
 
 void AudacityProject::ClearClipboard()
 {
-   TrackListIterator iter(msClipboard);
-   Track *n = iter.First();
-   while (n) {
-      delete n;
-      n = iter.Next();
-   }
-
    msClipLen = 0.0;
    msClipProject = NULL;
-   msClipboard->Clear();
+   if (msClipboard) {
+      msClipboard->Clear(true);
+   }
 }
 
 void AudacityProject::Clear()
 {
-   TrackListIterator iter(mTracks);
+   TrackAndGroupIterator iter(mTracks);
 
    Track *n = iter.First();
 
    while (n) {
-      if (n->GetSelected())
+      if (n->GetSelected()) {
          n->Clear(mViewInfo.sel0, mViewInfo.sel1);
-      n = iter.Next();
+         // Wave and Label tracks have group behaviour
+         if (IsSticky() && (n->GetKind() == Track::Wave || n->GetKind() == Track::Label)) n = iter.NextGroup();
+         else n = iter.Next();
+      }
+      else n = iter.Next();
    }
 
    double seconds = mViewInfo.sel1 - mViewInfo.sel0;
@@ -3538,7 +3844,6 @@ void AudacityProject::EditClipboardByLabel( WaveTrack::EditDestFunction action )
             if( dest )
             {
                dest->SetChannel( wt->GetChannel() );
-               dest->SetTeamed( wt->GetTeamed() ); // do first
                dest->SetLinked( wt->GetLinked() );
                dest->SetName( wt->GetName() );
                if( !merged )
@@ -3590,6 +3895,13 @@ void AudacityProject::TP_DisplaySelection()
 }
 
 // TrackPanel callback method
+wxSize AudacityProject::TP_GetTracksUsableArea()
+{
+   wxSize s;
+   mTrackPanel->GetTracksUsableArea(&s.x, &s.y);
+   return s;
+}
+
 int AudacityProject::TP_GetCurrentTool()
 {
    //ControlToolBar might be NULL--especially on shutdown.
@@ -3728,27 +4040,34 @@ void AudacityProject::AutoSave()
    
    XMLFileWriter saveFile;
 
-   saveFile.Open(fn + wxT(".tmp"), wxT("wb"));
-   if (!saveFile.IsOpened())
+   try
    {
-      wxMessageBox(_("Couldn't write to file: ") + fn + wxT(".tmp"),
-                   _("Error writing autosave file"),
-                   wxICON_STOP, this);
-      return;
-   }
+      saveFile.Open(fn + wxT(".tmp"), wxT("wb"));
 
+      {
+         VarSetter<bool> setter(&mAutoSaving, true, false);
+         WriteXMLHeader(saveFile);
+         WriteXML(saveFile);
+      }
+
+      // JKC Calling XMLFileWriter::Close will close the <project> scope.
+      // We certainly don't want to do that, if we're doing recordingrecovery,
+      // because the recordingrecovery tags need to be inside <project></project>.
+      // So instead we do not call Close() but CloseWithoutEndingTags().
+      saveFile.CloseWithoutEndingTags();
+   }
+   catch (XMLFileWriterException* pException)
    {
-      VarSetter<bool> setter(&mAutoSaving, true, false);
-      WriteXMLHeader(saveFile);
-      WriteXML(saveFile);
+      wxMessageBox(wxString::Format(
+         _("Couldn't write to file \"%s\": %s"),
+         (fn + wxT(".tmp")).c_str(), pException->GetMessage().c_str()),
+         _("Error writing autosave file"), wxICON_ERROR, this);
+
+      delete pException;
+
+      return;
    }
 
-   // JKC Calling XMLFileWriter::Close will close the <project> scope.
-   // We certainly don't want to do that, if we're doing recordingrecovery,
-   // because the recordingrecovery tags need to be inside <project></project>
-   // So instead we close the file directly.
-   saveFile.wxFFile::Close();
-   
    // Now that we have a new auto-save file, delete the old one
    DeleteCurrentAutoSaveFile();
    
@@ -3850,18 +4169,7 @@ bool AudacityProject::GetSnapTo()
 
 bool AudacityProject::IsSticky()
 {
-   bool linked=false;
-   TrackListIterator iter(mTracks);
-   Track *t=iter.First();
-   while(t){
-      if (t->GetKind()==Track::Label){
-         linked=true;
-         break;
-      }
-      t=iter.Next();
-   }
-      
-   return (mStickyFlag && linked);  
+   return (GetStickyFlag() && (mLastFlags & LabelTracksExistFlag));  
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/Project.h b/src/Project.h
index 1c62df2..3190694 100644
--- a/src/Project.h
+++ b/src/Project.h
@@ -29,6 +29,7 @@
 #include "effects/EffectManager.h"
 #include "xml/XMLTagHandler.h"
 #include "toolbars/SelectionBar.h"
+#include "FreqWindow.h"
 
 #include <wx/defs.h>
 #include <wx/event.h>
@@ -39,8 +40,6 @@
 #include <wx/intl.h>
 #include <wx/dcclient.h>
 
-class wxFileHistory;
-
 const int AudacityProjectTimerID = 5200;
 
 class wxWindow;
@@ -64,6 +63,13 @@ class TranscriptionToolBar;
 class TrackList;
 class Tags;
 class HistoryWindow;
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   class LyricsWindow;
+#endif
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   class MixerBoard;
+   class MixerBoardFrame;
+#endif
 class Importer;
 class AdornedRulerPanel;
 
@@ -131,6 +137,9 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    double GetSel0() { return mViewInfo.sel0; }
    double GetSel1() { return mViewInfo.sel1; }
 
+   Track *GetFirstVisible();
+   void UpdateFirstVisible();
+
    void GetPlayRegion(double* playRegionStart, double *playRegionEnd);
    bool IsPlayRegionLocked() { return mLockPlayRegion; }
    
@@ -154,9 +163,12 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
 
    static wxArrayString ShowOpenDialog(wxString extra = wxEmptyString);
    static void OpenFiles(AudacityProject *proj);
-   void OpenFile(wxString fileName);
+   void OpenFile(wxString fileName, bool addtohistory = true);
    bool WarnOfLegacyFile( );
-   void Import(wxString fileName);
+
+   // If pNewTrackList is passed in non-NULL, it gets filled with the pointers to new tracks.
+   void Import(wxString fileName, WaveTrackArray *pTrackArray = NULL); 
+
    void AddImportedTracks(wxString fileName,
                           Track **newTracks, int numTracks);
    bool Save(bool overwrite = true, bool fromSaveAs = false, bool bWantSaveCompressed = false);
@@ -171,7 +183,6 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    void SetProjectTitle();
 
    bool GetIsEmpty() { return mTracks->IsEmpty(); }
-   wxFileHistory *GetRecentFiles() { return mRecentFiles; }
 
    bool GetTracksFitVerticallyZoomed() { return mTracksFitVerticallyZoomed; } //lda
    void SetTracksFitVerticallyZoomed(bool flag) { mTracksFitVerticallyZoomed = flag; } //lda
@@ -199,7 +210,7 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
 
    void OnMenuEvent(wxMenuEvent & event);
    void OnMenu(wxCommandEvent & event);
-   void OnUpdateMenus(wxUpdateUIEvent & event);
+   void OnUpdateUI(wxUpdateUIEvent & event);
 
    void OnActivate(wxActivateEvent & event);
    void OnMouseEvent(wxMouseEvent & event);
@@ -214,6 +225,7 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    void OnReleaseKeyboard(wxCommandEvent & event);
    void OnODTaskUpdate(wxCommandEvent & event);
    void OnODTaskComplete(wxCommandEvent & event);
+   void OnTrackListUpdated(wxCommandEvent & event);
    bool HandleKeyDown(wxKeyEvent & event);
    bool HandleChar(wxKeyEvent & event);
    bool HandleKeyUp(wxKeyEvent & event);
@@ -240,7 +252,8 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    void EditByLabel( WaveTrack::EditFunction action ); 
    void EditClipboardByLabel( WaveTrack::EditDestFunction action );
    bool IsSticky();
-   bool GetStickyFlag() { return mStickyFlag; }
+   bool GetStickyFlag() { return mStickyFlag; };
+   void SetStickyFlag(bool flag) { mStickyFlag = flag; };
 
    // Snap To
 
@@ -260,6 +273,7 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
 
    // TrackPanel callback methods
 
+   virtual wxSize TP_GetTracksUsableArea();
    virtual void TP_DisplayStatusMessage(wxString msg);
    virtual void TP_DisplaySelection();
    virtual int TP_GetCurrentTool();
@@ -287,6 +301,13 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    ToolsToolBar *GetToolsToolBar();
    TranscriptionToolBar *GetTranscriptionToolBar();
 
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      LyricsWindow* GetLyricsWindow() { return mLyricsWindow; };
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      MixerBoard* GetMixerBoard() { return mMixerBoard; };
+   #endif
+
  public:
 
    // SelectionBar callback methods
@@ -326,17 +347,25 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    static void AllProjectsDeleteLock();
    static void AllProjectsDeleteUnlock();
    
- private:
+   void PushState(wxString desc, wxString shortDesc,
+                  bool consolidate = false);
 
+   FreqWindow *mFreqWindow;
 
-   // Private Methods
+ private:
 
    void ClearClipboard();
    void InitialState();
-   void PushState(wxString desc, wxString shortDesc,
-                  bool consolidate = false);
    void ModifyState();
    void PopState(TrackList * l);
+   
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      void UpdateLyrics();
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      void UpdateMixerBoard();
+   #endif
+   
    void GetRegionsByLabel( Regions &regions );
    
    void AutoSaveIfNeeded();
@@ -347,35 +376,34 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    static bool GetCacheBlockFiles();
 
    // The project's name and file info
-
    wxString mFileName;
    DirManager *mDirManager; // MM: DirManager now created dynamically
+
    double mRate;
    sampleFormat mDefaultFormat;
 
-   // Tags (artist name, song properties, MP3 ID3 info, etc.)
+   // Recent files
+   wxMenu *mRecentFilesMenu;
 
+   // Tags (artist name, song properties, MP3 ID3 info, etc.)
    Tags *mTags;
 
    // List of tracks and display info
-
    TrackList *mTracks;
-//   ViewInfo mViewInfo;
 
    bool mSnapTo;
 
    TrackList *mLastSavedTracks;
 
    // Clipboard (static because it is shared by all projects)
-
    static TrackList *msClipboard;
    static AudacityProject *msClipProject;
    static double msClipLen;
 
    //shared by all projects
    static ODLock *msAllProjectDeleteMutex;
-   // History/Undo manager
 
+   // History/Undo manager
    UndoManager mUndoManager;
    bool mDirty;
 
@@ -384,9 +412,10 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    CommandManager mCommandManager;
 
    wxUint32 mLastFlags;
-   int mLastToolBarCheckSum;   //This finds the state of the toolbars:
-                               //Base three for each toolbar
-                               //0: unloaded, 1: docked, 2: floating
+
+   // see AudacityProject::OnUpdateUI() for explanation of next two
+   bool mInIdle;
+   wxUint32 mTextClipFlag;
 
    // Window elements
 
@@ -404,7 +433,16 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    bool mAutoScrolling;
    bool mActive;
    bool mIconized;
+
    HistoryWindow *mHistoryWindow;
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      LyricsWindow* mLyricsWindow;
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      MixerBoard* mMixerBoard;
+      MixerBoardFrame* mMixerBoardFrame;
+   #endif
+
 
  public:
    ToolManager *mToolManager;
@@ -426,11 +464,11 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
 
    bool mLockPlayRegion;
 
+   // See AudacityProject::OnActivate() for an explanation of this.
+   wxWindow *mLastFocusedWindow;
+
    wxWindow *mKeyboardCaptured;
 
-   // Recent File and Project History
-   wxFileHistory *mRecentFiles;
-   
    ImportXMLTagHandler* mImportXMLTagHandler;
 
    // Last auto-save file name and path (empty if none)
@@ -458,11 +496,15 @@ class AUDACITY_DLL_API AudacityProject:  public wxFrame,
    bool mWantSaveCompressed;
    wxArrayString mStrOtherNamesArray; // used to make sure compressed file names are unique
    
+   // Last effect applied to this project
+   Effect *mLastEffect;
+   int mLastEffectType;
+   wxString mLastEffectDesc;
 
  private:
 
    // The screenshot class needs to access internals
-   friend class ScreenFrame;
+   friend class ScreenshotCommand;
 
  public:
     DECLARE_EVENT_TABLE()
diff --git a/src/Resample.cpp b/src/Resample.cpp
index 85fc041..50dffa9 100644
--- a/src/Resample.cpp
+++ b/src/Resample.cpp
@@ -28,6 +28,26 @@
 
 #include <wx/intl.h>
 
+int Resample::GetFastMethod()
+{
+   return gPrefs->Read(GetFastMethodKey(), GetFastMethodDefault());
+}
+
+int Resample::GetBestMethod()
+{
+   return gPrefs->Read(GetBestMethodKey(), GetBestMethodDefault());
+}
+
+void Resample::SetFastMethod(int index)
+{
+   gPrefs->Write(GetFastMethodKey(), (long)index);
+}
+
+void Resample::SetBestMethod(int index)
+{
+   gPrefs->Write(GetBestMethodKey(), (long)index);
+}
+
 #if USE_LIBRESAMPLE
 
 #include "libresample.h"
@@ -51,32 +71,28 @@ wxString Resample::GetMethodName(int index)
 {
    if (index == 1)
       return _("High-quality Sinc Interpolation");
-   else
-      return _("Fast Sinc Interpolation");
+
+   return _("Fast Sinc Interpolation");
 }
 
-int Resample::GetFastMethod()
+const wxString Resample::GetFastMethodKey()
 {
-   return gPrefs->Read(wxT("/Quality/LibresampleSampleRateConverter"),
-                       (long)0);
+   return wxT("/Quality/LibresampleSampleRateConverter");
 }
 
-int Resample::GetBestMethod()
+const wxString Resample::GetBestMethodKey()
 {
-   return gPrefs->Read(wxT("/Quality/LibresampleHQSampleRateConverter"),
-                       (long)1);
+   return wxT("/Quality/LibresampleHQSampleRateConverter");
 }
 
-void Resample::SetFastMethod(int index)
+int Resample::GetFastMethodDefault()
 {
-   gPrefs->Write(wxT("/Quality/LibresampleSampleRateConverter"),
-                 (long)index);
+   return 0;
 }
 
-void Resample::SetBestMethod(int index)
+int Resample::GetBestMethodDefault()
 {
-   gPrefs->Write(wxT("/Quality/LibresampleHQSampleRateConverter"),
-                 (long)index);   
+   return 1;
 }
 
 Resample::Resample(bool useBestMethod, double minFactor, double maxFactor)
@@ -140,28 +156,24 @@ wxString Resample::GetMethodName(int index)
    return wxString(wxString::FromAscii(src_get_name(index)));
 }
 
-int Resample::GetFastMethod()
+const wxString Resample::GetFastMethodKey()
 {
-   return gPrefs->Read(wxT("/Quality/SampleRateConverter"),
-                       (long)SRC_SINC_FASTEST);
+   return wxT("/Quality/SampleRateConverter");
 }
 
-int Resample::GetBestMethod()
+const wxString Resample::GetBestMethodKey()
 {
-   return gPrefs->Read(wxT("/Quality/HQSampleRateConverter"),
-                       (long)SRC_SINC_FASTEST);
+   return wxT("/Quality/HQSampleRateConverter");
 }
 
-void Resample::SetFastMethod(int index)
+int Resample::GetFastMethodDefault()
 {
-   gPrefs->Write(wxT("/Quality/SampleRateConverter"),
-                 (long)index);
+   return SRC_SINC_FASTEST;
 }
 
-void Resample::SetBestMethod(int index)
+int Resample::GetBestMethodDefault()
 {
-   gPrefs->Write(wxT("/Quality/HQSampleRateConverter"),
-                 (long)index);   
+   return SRC_SINC_BEST_QUALITY;
 }
 
 Resample::Resample(bool useBestMethod, double minFactor, double maxFactor)
@@ -250,22 +262,24 @@ wxString Resample::GetMethodName(int index)
    return _("Resampling disabled.");
 }
 
-int Resample::GetFastMethod()
+const wxString Resample::GetFastMethodKey()
 {
-   return 0;
+   return wxT("/Quality/DisabledConverter");
 }
 
-int Resample::GetBestMethod()
+const wxString Resample::GetBestMethodKey()
 {
-   return 0;
+   return wxT("/Quality/DisabledConverter");
 }
 
-void Resample::SetFastMethod(int)
+int Resample::GetFastMethodDefault()
 {
+   return 0;
 }
 
-void Resample::SetBestMethod(int)
+int Resample::GetBestMethodDefault()
 {
+   return 0;
 }
 
 Resample::Resample(bool, double, double)
diff --git a/src/Resample.h b/src/Resample.h
index 215bef9..ac2bd91 100644
--- a/src/Resample.h
+++ b/src/Resample.h
@@ -56,6 +56,11 @@ class Resample
    static void SetFastMethod(int index);
    static void SetBestMethod(int index);
 
+   static const wxString GetFastMethodKey();
+   static const wxString GetBestMethodKey();
+   static int GetFastMethodDefault();
+   static int GetBestMethodDefault();
+
    /// Constructor.
    /// The first parameter lets you select either the best method or
    /// the fast method - the particular method used was set by
diff --git a/src/SampleFormat.cpp b/src/SampleFormat.cpp
index 11cb23f..886f9c5 100644
--- a/src/SampleFormat.cpp
+++ b/src/SampleFormat.cpp
@@ -62,13 +62,13 @@ const wxChar *GetSampleFormatStr(sampleFormat format)
 {
    switch(format) {
    case int16Sample:
-      /* i18n-hint: Audio data bit depth (precison): 16-bit integers */
+      /* i18n-hint: Audio data bit depth (precision): 16-bit integers */
       return _("16-bit PCM");
    case int24Sample:
-      /* i18n-hint: Audio data bit depth (precison): 24-bit integers */
+      /* i18n-hint: Audio data bit depth (precision): 24-bit integers */
       return _("24-bit PCM");
    case floatSample:
-      /* i18n-hint: Audio data bit depth (precison): 32-bit floating point */
+      /* i18n-hint: Audio data bit depth (precision): 32-bit floating point */
       return _("32-bit float");
    }
    return wxT("Unknown format"); // compiler food
diff --git a/src/Screenshot.cpp b/src/Screenshot.cpp
index 7d299e5..4463234 100644
--- a/src/Screenshot.cpp
+++ b/src/Screenshot.cpp
@@ -9,162 +9,151 @@
 *******************************************************************/
 
 #include "Screenshot.h"
-
+#include "commands/ScreenshotCommand.h"
 #include <wx/defs.h>
-#include <wx/bitmap.h>
+#include <wx/event.h>
+#include <wx/frame.h>
+
+#include "ShuttleGui.h"
 #include <wx/button.h>
 #include <wx/checkbox.h>
-#include <wx/dcmemory.h>
-#include <wx/dcscreen.h>
 #include <wx/dirdlg.h>
-#include <wx/frame.h>
-#include <wx/event.h>
 #include <wx/image.h>
 #include <wx/intl.h>
 #include <wx/panel.h>
-#include <wx/settings.h>
 #include <wx/statusbr.h>
 #include <wx/textctrl.h>
 #include <wx/timer.h>
 #include <wx/tglbtn.h>
 #include <wx/window.h>
 
+#include "AudacityApp.h"
 #include "Project.h"
 #include "Prefs.h"
-#include "ShuttleGui.h"
-#include "TrackPanel.h"
 #include "toolbars/ToolManager.h"
-#include "toolbars/ToolBar.h"
-#include "toolbars/ControlToolBar.h"
-#include "toolbars/DeviceToolBar.h"
-#include "toolbars/EditToolBar.h"
-#include "toolbars/MeterToolBar.h"
-#include "toolbars/MixerToolBar.h"
-#include "toolbars/SelectionBar.h"
-#include "toolbars/ToolsToolBar.h"
-#include "toolbars/TranscriptionToolBar.h"
-#include "widgets/Ruler.h"
-
-class StaticColorPanel : public wxWindow {
- public:
-   StaticColorPanel(wxWindow* parent) :
-      wxWindow(parent, -1)
-   {
-   }
 
-   void SetColour(wxColour c) {
-      mColour = c;
-   }
-
-   void OnPaint(wxPaintEvent& evt) {
-      int width, height;
-      GetClientSize(&width, &height);
-      wxPaintDC dc(this);
-      dc.SetBrush(wxBrush(mColour, wxSOLID));
-      dc.SetPen(*wxTRANSPARENT_PEN);
-      dc.DrawRectangle(0, 0, width, height);
-   }
-   DECLARE_EVENT_TABLE();
+////////////////////////////////////////////////////////////////////////////////
 
-   wxColour mColour;
-};
-
-BEGIN_EVENT_TABLE(StaticColorPanel, wxWindow)
-   EVT_PAINT(StaticColorPanel::OnPaint)
-END_EVENT_TABLE();
-
-class ScreenFrame : public wxFrame {
+class ScreenFrame:public wxFrame
+{
  public:
    // constructors and destructors
    ScreenFrame(wxWindow *parent, wxWindowID id);
    virtual ~ScreenFrame();
 
-   virtual bool ProcessEvent(wxEvent& event);
+   virtual bool ProcessEvent(wxEvent & e);
 
  private:
-   wxTopLevelWindow *GetFrontWindow();
-
-   void Capture(wxString basename,
-                wxWindow *window,
-                int x, int y, int width, int height,
-                bool bg = false);
-   void CaptureToolbar(int type, wxString name);
-
    void Populate();
    void PopulateOrExchange(ShuttleGui &S);
 
-   void OnCloseWindow(wxCloseEvent& evt);
-
-   void OnMainWindowSmall(wxCommandEvent& evt);
-   void OnMainWindowLarge(wxCommandEvent& evt);
-   void OnToggleBackgroundBlue(wxCommandEvent& evt);
-   void OnToggleBackgroundWhite(wxCommandEvent& evt);
-   void OnCaptureWindowContents(wxCommandEvent& evt);
-   void OnCaptureWindowPlus(wxCommandEvent& evt);
-   void OnCaptureFullScreen(wxCommandEvent& evt);
-
-   void OnCaptureToolbars(wxCommandEvent& evt);
-   void OnCaptureSelectionBar(wxCommandEvent& evt);
-   void OnCaptureTools(wxCommandEvent& evt);
-   void OnCaptureControl(wxCommandEvent& evt);
-   void OnCaptureMixer(wxCommandEvent& evt);
-   void OnCaptureMeter(wxCommandEvent& evt);
-   void OnCaptureEdit(wxCommandEvent& evt);
-   void OnCaptureDevice(wxCommandEvent& evt);
-   void OnCaptureTranscription(wxCommandEvent& evt);
-
-   void OnOneSec(wxCommandEvent& evt);
-   void OnTenSec(wxCommandEvent& evt);
-   void OnOneMin(wxCommandEvent& evt);
-   void OnFiveMin(wxCommandEvent& evt);
-   void OnOneHour(wxCommandEvent& evt);
-
-   void OnShortTracks(wxCommandEvent& evt);
-   void OnMedTracks(wxCommandEvent& evt);
-   void OnTallTracks(wxCommandEvent& evt);
-
-   void OnCaptureTrackPanel(wxCommandEvent& evt);
-   void OnCaptureRuler(wxCommandEvent& evt);
-   void OnCaptureTracks(wxCommandEvent& evt);
-   void OnCaptureFirstTrack(wxCommandEvent& evt);
-   void OnCaptureSecondTrack(wxCommandEvent& evt);
-
-   void OnDirChoose(wxCommandEvent& evt);
+   void OnCloseWindow(wxCloseEvent & e);
+   void OnUIUpdate(wxUpdateUIEvent & e);
+   void OnDirChoose(wxCommandEvent & e);
+
+   void SizeMainWindow(int w, int h);
+   void OnMainWindowSmall(wxCommandEvent & e);
+   void OnMainWindowLarge(wxCommandEvent & e);
+   void OnToggleBackgroundBlue(wxCommandEvent & e);
+   void OnToggleBackgroundWhite(wxCommandEvent & e);
+
+   void DoCapture(wxString captureMode);
+   void OnCaptureWindowContents(wxCommandEvent & e);
+   void OnCaptureFullWindow(wxCommandEvent & e);
+   void OnCaptureWindowPlus(wxCommandEvent & e);
+   void OnCaptureFullScreen(wxCommandEvent & e);
+   void OnCaptureToolbars(wxCommandEvent & e);
+   void OnCaptureSelectionBar(wxCommandEvent & e);
+   void OnCaptureTools(wxCommandEvent & e);
+   void OnCaptureControl(wxCommandEvent & e);
+   void OnCaptureMixer(wxCommandEvent & e);
+   void OnCaptureMeter(wxCommandEvent & e);
+   void OnCaptureEdit(wxCommandEvent & e);
+   void OnCaptureDevice(wxCommandEvent & e);
+   void OnCaptureTranscription(wxCommandEvent & e);
+
+   void TimeZoom(double seconds);
+   void OnOneSec(wxCommandEvent & e);
+   void OnTenSec(wxCommandEvent & e);
+   void OnOneMin(wxCommandEvent & e);
+   void OnFiveMin(wxCommandEvent & e);
+   void OnOneHour(wxCommandEvent & e);
+
+   void SizeTracks(int h);
+   void OnShortTracks(wxCommandEvent & e);
+   void OnMedTracks(wxCommandEvent & e);
+   void OnTallTracks(wxCommandEvent & e);
+
+   void OnCaptureTrackPanel(wxCommandEvent & e);
+   void OnCaptureRuler(wxCommandEvent & e);
+   void OnCaptureTracks(wxCommandEvent & e);
+   void OnCaptureFirstTrack(wxCommandEvent & e);
+   void OnCaptureSecondTrack(wxCommandEvent & e);
+
+   ScreenshotCommand *CreateCommand();
 
    wxCheckBox *mDelayCheckBox;
    wxTextCtrl *mDirectoryTextBox;
    wxToggleButton *mBlue;
    wxToggleButton *mWhite;
    wxStatusBar *mStatus;
-   bool mBackground;
-   wxColour mBackColor;
+
+   ScreenshotCommand *mCommand;
+   CommandExecutionContext mContext;
 
    DECLARE_EVENT_TABLE()
 };
 
 static ScreenFrame *mFrame = NULL;
 
-void OpenScreenshotTools() {
+////////////////////////////////////////////////////////////////////////////////
 
+void OpenScreenshotTools()
+{
    if (!mFrame) {
       mFrame = new ScreenFrame(NULL, -1);
    }
    mFrame->Show();
    mFrame->Raise();
-   wxYield();
-   wxMilliSleep(200);
-   wxYield();
 }
 
-void CloseScreenshotTools() {
-
+void CloseScreenshotTools()
+{
    if (mFrame) {
       mFrame->Destroy();
       mFrame = NULL;
    }
 }
 
-enum {
+////////////////////////////////////////////////////////////////////////////////
+
+class ScreenFrameTimer:public wxTimer
+{
+ public:
+   ScreenFrameTimer(ScreenFrame *frame,
+                    wxEvent & e)
+   {
+      screenFrame = frame;
+      evt = e.Clone();
+   }
+
+   virtual void Notify()
+   {
+      evt->SetEventObject(NULL);
+      screenFrame->ProcessEvent(*evt);
+      delete evt;
+      delete this;
+   }
+
+ private:
+   ScreenFrame *screenFrame;
+   wxEvent *evt;
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+enum
+{
    IdMainWindowSmall = 19200,
    IdMainWindowLarge,
 
@@ -206,224 +195,93 @@ enum {
    IdAllDelayedEvents,
 
    IdCaptureWindowContents,
+   IdCaptureFullWindow,
    IdCaptureWindowPlus,
    IdCaptureFullScreen,
 
    IdLastDelayedEvent,
 };
 
-ScreenFrame::ScreenFrame(wxWindow * parent, wxWindowID id):
-   wxFrame(parent, id, wxT("Screen Capture Frame"),
-           wxDefaultPosition, wxDefaultSize,
-#if !defined(__WXMSW__)
-           wxFRAME_TOOL_WINDOW|
-#endif
-           wxSYSTEM_MENU|wxCAPTION|wxCLOSE_BOX)
-{
-   mDelayCheckBox = NULL;
-   mDirectoryTextBox = NULL;
-   mBackground = false;
+BEGIN_EVENT_TABLE(ScreenFrame, wxFrame)
+   EVT_CLOSE(ScreenFrame::OnCloseWindow)
 
-   mStatus = CreateStatusBar();
+   EVT_UPDATE_UI(IdCaptureFullScreen,   ScreenFrame::OnUIUpdate)
 
-   // Reset the toolbars to a known state
-   GetActiveProject()->mToolManager->Reset();
-   wxYield();
-   wxMilliSleep(200);
-   wxYield();
+   EVT_BUTTON(IdMainWindowSmall,        ScreenFrame::OnMainWindowSmall)
+   EVT_BUTTON(IdMainWindowLarge,        ScreenFrame::OnMainWindowLarge)
+   EVT_TOGGLEBUTTON(IdToggleBackgroundBlue,   ScreenFrame::OnToggleBackgroundBlue)
+   EVT_TOGGLEBUTTON(IdToggleBackgroundWhite,  ScreenFrame::OnToggleBackgroundWhite)
+   EVT_BUTTON(IdCaptureWindowContents,  ScreenFrame::OnCaptureWindowContents)
+   EVT_BUTTON(IdCaptureFullWindow,      ScreenFrame::OnCaptureFullWindow)
+   EVT_BUTTON(IdCaptureWindowPlus,      ScreenFrame::OnCaptureWindowPlus)
+   EVT_BUTTON(IdCaptureFullScreen,      ScreenFrame::OnCaptureFullScreen)
 
-   Populate();
-}
+   EVT_BUTTON(IdCaptureToolbars,        ScreenFrame::OnCaptureToolbars)
+   EVT_BUTTON(IdCaptureSelectionBar,    ScreenFrame::OnCaptureSelectionBar)
+   EVT_BUTTON(IdCaptureTools,           ScreenFrame::OnCaptureTools)
+   EVT_BUTTON(IdCaptureControl,         ScreenFrame::OnCaptureControl)
+   EVT_BUTTON(IdCaptureMixer,           ScreenFrame::OnCaptureMixer)
+   EVT_BUTTON(IdCaptureMeter,           ScreenFrame::OnCaptureMeter)
+   EVT_BUTTON(IdCaptureEdit,            ScreenFrame::OnCaptureEdit)
+   EVT_BUTTON(IdCaptureDevice,          ScreenFrame::OnCaptureDevice)
+   EVT_BUTTON(IdCaptureTranscription,   ScreenFrame::OnCaptureTranscription)
 
-ScreenFrame::~ScreenFrame()
-{
-}
+   EVT_BUTTON(IdOneSec,                 ScreenFrame::OnOneSec)
+   EVT_BUTTON(IdTenSec,                 ScreenFrame::OnTenSec)
+   EVT_BUTTON(IdOneMin,                 ScreenFrame::OnOneMin)
+   EVT_BUTTON(IdFiveMin,                ScreenFrame::OnFiveMin)
+   EVT_BUTTON(IdOneHour,                ScreenFrame::OnOneHour)
 
-class ScreenFrameTimer : public wxTimer {
-public:
-   ScreenFrameTimer(ScreenFrame *screenFrame,
-                    wxEvent& evt) {
-      this->screenFrame = screenFrame;
-      this->evt = evt.Clone();
-   }
+   EVT_BUTTON(IdShortTracks,            ScreenFrame::OnShortTracks)
+   EVT_BUTTON(IdMedTracks,              ScreenFrame::OnMedTracks)
+   EVT_BUTTON(IdTallTracks,             ScreenFrame::OnTallTracks)
 
-   virtual void Notify() {
-      evt->SetEventObject(NULL);
-      screenFrame->ProcessEvent(*evt);
-      delete evt;
-      delete this;
-   }
+   EVT_BUTTON(IdCaptureTrackPanel,      ScreenFrame::OnCaptureTrackPanel)
+   EVT_BUTTON(IdCaptureRuler,           ScreenFrame::OnCaptureRuler)
+   EVT_BUTTON(IdCaptureTracks,          ScreenFrame::OnCaptureTracks)
+   EVT_BUTTON(IdCaptureFirstTrack,      ScreenFrame::OnCaptureFirstTrack)
+   EVT_BUTTON(IdCaptureSecondTrack,     ScreenFrame::OnCaptureSecondTrack)
 
-   ScreenFrame *screenFrame;
-   wxEvent *evt;
-};
+   EVT_BUTTON(IdDirChoose,              ScreenFrame::OnDirChoose)
+END_EVENT_TABLE();
 
-bool ScreenFrame::ProcessEvent(wxEvent& event) {
-   int id = event.GetId();
-   if (mDelayCheckBox &&
-       mDelayCheckBox->GetValue() &&
-       event.IsCommandEvent() &&
-       event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED &&
-       id >= IdAllDelayedEvents && id <= IdLastDelayedEvent &&
-       event.GetEventObject() != NULL) {
-      ScreenFrameTimer *timer = new ScreenFrameTimer(this, event);
-      timer->Start(5000, true);
-      return true;
-   }
-   else {
-      if (event.IsCommandEvent() &&
-          event.GetEventObject() == NULL) {
-         event.SetEventObject(this);
-      }
-      return wxFrame::ProcessEvent(event);
-   }
+// Must not be called before CreateStatusBar!
+ScreenshotCommand *ScreenFrame::CreateCommand()
+{
+   wxASSERT(mStatus != NULL);
+   CommandOutputTarget *output =
+      new CommandOutputTarget(new NullProgressTarget(),
+                              new StatusBarTarget(*mStatus),
+                              new MessageBoxTarget());
+   return new ScreenshotCommand(output, this);
 }
 
-wxTopLevelWindow *ScreenFrame::GetFrontWindow() {
-   wxWindow *front = NULL;
-   wxWindow *proj = wxGetTopLevelParent(GetActiveProject());
-
-   // This is kind of an odd hack.  There's no method to enumerate all
-   // possible windows, so we search the whole screen for any windows
-   // that are not this one and not the frontmost Audacity project and
-   // if we find anything, we assume that's the dialog the user wants
-   // to capture.
-
-   int width, height, x, y;
-   wxDisplaySize(&width, &height);
-   for(x = 0; x < width; x += 50) {
-      for(y = 0; y < height; y += 50) {
-         wxWindow *win = wxFindWindowAtPoint(wxPoint(x, y));
-         if (win) {
-            win = wxGetTopLevelParent(win);
-            if (win != this && win != proj) {
-               front = win;
-               break;
-            }
-         }
-      }
-   }
-
-   if (!front || !front->IsTopLevel()) {
-      return (wxTopLevelWindow *)proj;
-   }
-   return (wxTopLevelWindow *)front;
-}
-
-void ScreenFrame::Capture(wxString basename,
-                          wxWindow *window,
-                          int x, int y, int width, int height,
-                          bool bg)
-{
-   wxFileName prefixPath;
-   prefixPath.AssignDir(mDirectoryTextBox->GetValue());
-   wxString prefix = prefixPath.GetPath
-      (wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR);
-
-   wxString filename;
-   int i = 0;
-   do {
-      filename.Printf(wxT("%s%s%03d.png"),
-                      prefix.c_str(), basename.c_str(), i);
-      i++;
-   } while (::wxFileExists(filename));
-
-   wxFrame *frame = NULL;
-   StaticColorPanel *panel = NULL;
-   wxWindow *p = window->GetParent();
-
-   if (p) {
-      panel = new StaticColorPanel(p);
-      panel->SetSize(x, y, width, height);
-      panel->Hide();
-      if (bg && mBackground) {
-         panel->Show();
-      }
-   }
-   else {
-      frame = new wxFrame(NULL,
-                          wxID_ANY,
-                          wxT(""),
-                          wxDefaultPosition,
-                          wxDefaultSize,
-                          wxNO_BORDER|wxFRAME_NO_TASKBAR|wxFRAME_TOOL_WINDOW);
-      panel = new StaticColorPanel(frame);
-      panel->SetSize(x, y, width, height);
-
-      frame->Move(x < 0 ? 0 : x, y < 0 ? 0 : y);
-      frame->SetClientSize(width, height);
-      frame->Hide();
-      if (bg && mBackground) {
-         frame->Show();
-      }
-   }
-   panel->SetColour(mBackColor);
-
-   window->Raise();
-   Hide();
-   wxYield();
-   wxMilliSleep(200);
-   wxYield();
-
-   // Create the DCs here since the window to be captured MUST be
-   // completely visible before creating the wxClientDC.  (Under GTK,
-   // at least.)
-   wxDC *src;
-   src = new wxScreenDC();
-
-   wxRect r = panel->GetRect();
-   r.SetPosition(panel->GetParent()->ClientToScreen(r.GetPosition()));
-
-   wxBitmap bitmap(r.width, r.height);
-   wxMemoryDC memDC;
-   memDC.SelectObject(bitmap);
-   memDC.Blit(0, 0, r.width, r.height, src, r.x, r.y, wxCOPY);
-   wxImage image = bitmap.ConvertToImage();
-
-   if (image.SaveFile(filename)) {
-      mStatus->SetStatusText(_("Saved ") + filename);
-   }
-   else {
-      wxMessageBox(_("Error trying to save file: ") + filename);
-   }
+ScreenFrame::ScreenFrame(wxWindow * parent, wxWindowID id)
+:  wxFrame(parent, id, _("Screen Capture Frame"),
+           wxDefaultPosition, wxDefaultSize,
+#if !defined(__WXMSW__)
+           wxFRAME_TOOL_WINDOW|
+#else
+           wxSTAY_ON_TOP|
+#endif
+           wxSYSTEM_MENU|wxCAPTION|wxCLOSE_BOX),
+   mContext(&wxGetApp(), GetActiveProject())
+{
+   mDelayCheckBox = NULL;
+   mDirectoryTextBox = NULL;
 
-   if (frame) {
-      delete frame;
-   }
-   else {
-      delete panel;
-   }
-   delete src;
+   mStatus = CreateStatusBar();
+   mCommand = CreateCommand();
 
-   ::wxBell();
+   Populate();
 
-   Show();
+   // Reset the toolbars to a known state
+   mContext.proj->mToolManager->Reset();
 }
 
-void ScreenFrame::CaptureToolbar(int type, wxString name)
+ScreenFrame::~ScreenFrame()
 {
-   AudacityProject *proj = GetActiveProject();
-   ToolManager *man = proj->mToolManager;
-
-   bool visible = man->IsVisible(type);
-   if (!visible) {
-      man->ShowHide(type);
-   }
-
-   wxWindow *w = man->GetToolBar(type);
-   int x = 0, y = 0;
-   int width, height;
-
-   w->ClientToScreen(&x, &y);
-   w->GetParent()->ScreenToClient(&x, &y);
-   w->GetClientSize(&width, &height);
-
-   Capture(name, w, x, y, width, height);
-
-   if (!visible) {
-      man->ShowHide(type);
-      Raise();
-   }
+   delete mCommand;
 }
 
 void ScreenFrame::Populate()
@@ -432,108 +290,126 @@ void ScreenFrame::Populate()
    PopulateOrExchange(S);
 }
 
-void ScreenFrame::PopulateOrExchange(ShuttleGui &S)
+void ScreenFrame::PopulateOrExchange(ShuttleGui & S)
 {
    wxPanel *p = S.StartPanel();
-   S.SetBorder(2);
-   S.StartVerticalLay(1);
-
-   S.StartStatic(wxT("Choose location to save files"), true);
-   S.StartMultiColumn(2, wxEXPAND);
-   S.SetStretchyCol( 1 );// Column 1 is stretchy...
    {
-      wxString dir =
-         gPrefs->Read(wxT("/ScreenshotPath"),
-                      wxFileName::GetHomeDir());
-      mDirectoryTextBox =
-         S.Id(IdDirectory).AddTextBox(wxT("Save images here:"),
-                                      dir, 30);
-      S.Id(IdDirChoose).AddButton(wxT("Choose Directory"));
-   }
-   S.EndMultiColumn();
-   S.EndStatic();
+      S.SetBorder(3);
+
+      S.StartStatic(_("Choose location to save files"));
+      {
+         S.StartMultiColumn(3, wxEXPAND);
+         {
+            S.SetStretchyCol(1);
+
+            wxString dir =
+               gPrefs->Read(wxT("/ScreenshotPath"),
+                            wxFileName::GetHomeDir());
+            mDirectoryTextBox =
+               S.Id(IdDirectory).AddTextBox(_("Save images to:"),
+                                            dir, 30);
+            S.Id(IdDirChoose).AddButton(_("Choose..."));
+         }
+         S.EndMultiColumn();
+      }
+      S.EndStatic();
+
+      S.StartStatic(_("Capture entire window or screen"));
+      {
+         S.StartHorizontalLay();
+         {
+            S.Id(IdMainWindowSmall).AddButton(_("Resize Small"));
+            S.Id(IdMainWindowLarge).AddButton(_("Resize Large"));
+            mBlue = new wxToggleButton(p,
+                                       IdToggleBackgroundBlue,
+                                       _("Blue Bkgnd"));
+            S.AddWindow(mBlue);
+            mWhite = new wxToggleButton(p,
+                                        IdToggleBackgroundWhite,
+                                        _("White Bkgnd"));
+            S.AddWindow(mWhite);
+         }
+         S.EndHorizontalLay();
 
-   S.StartStatic(wxT("Capture entire window or screen"), true);
-   S.StartHorizontalLay();
-   {
-      S.Id(IdMainWindowSmall).AddButton(wxT("Resize Small"));
-      S.Id(IdMainWindowLarge).AddButton(wxT("Resize Large"));
-      mBlue = new wxToggleButton(p,
-                                 IdToggleBackgroundBlue,
-                                 wxT("Blue Bkgnd"));
-      S.AddWindow(mBlue);
-      mWhite = new wxToggleButton(p,
-                                  IdToggleBackgroundWhite,
-                                  wxT("White Bkgnd"));
-      S.AddWindow(mWhite);
-   }
-   S.EndHorizontalLay();
-   S.StartHorizontalLay();
-   {
-      S.Id(IdCaptureWindowContents).AddButton(wxT("Capture Window Only"));
-      S.Id(IdCaptureWindowPlus).AddButton(wxT("Capture Window Plus"));
-      S.Id(IdCaptureFullScreen).AddButton(wxT("Capture Full Screen"));
-   }
-   S.EndHorizontalLay();
-   S.StartHorizontalLay();
-   {
-      mDelayCheckBox = S.Id(IdDelayCheckBox).AddCheckBox
-         (wxT("Wait 5 seconds and capture frontmost window/dialog"),
-          wxT("false"));
-   }
-   S.EndHorizontalLay();
-   S.EndStatic();
+         S.StartHorizontalLay();
+         {
+            S.Id(IdCaptureWindowContents).AddButton(_("Capture Window Only"));
+            S.Id(IdCaptureFullWindow).AddButton(_("Capture Full Window"));
+            S.Id(IdCaptureWindowPlus).AddButton(_("Capture Window Plus"));
+         }
+         S.EndHorizontalLay();
 
-   S.StartStatic(wxT("Capture part of a project window"), true);
-   S.StartHorizontalLay();
-   {
-      S.Id(IdCaptureToolbars).AddButton(wxT("All Toolbars"));
-      S.Id(IdCaptureSelectionBar).AddButton(wxT("SelectionBar"));
-      S.Id(IdCaptureTools).AddButton(wxT("Tools"));
-      S.Id(IdCaptureControl).AddButton(wxT("Control"));
-   }
-   S.EndHorizontalLay();
-   S.StartHorizontalLay();
-   {
-      S.Id(IdCaptureMixer).AddButton(wxT("Mixer"));
-      S.Id(IdCaptureMeter).AddButton(wxT("Meter"));
-      S.Id(IdCaptureEdit).AddButton(wxT("Edit"));
-      S.Id(IdCaptureDevice).AddButton(wxT("Device"));
-      S.Id(IdCaptureTranscription).AddButton(wxT("Transcription"));
-   }
-   S.EndHorizontalLay();
-   S.StartHorizontalLay();
-   {
-      S.Id(IdCaptureTrackPanel).AddButton(wxT("Track Panel"));
-      S.Id(IdCaptureRuler).AddButton(wxT("Ruler"));
-      S.Id(IdCaptureTracks).AddButton(wxT("Tracks"));
-      S.Id(IdCaptureFirstTrack).AddButton(wxT("First Track"));
-      S.Id(IdCaptureSecondTrack).AddButton(wxT("Second Track"));
-   }
-   S.EndHorizontalLay();
+         S.StartHorizontalLay();
+         {
+            S.Id(IdCaptureFullScreen).AddButton(_("Capture Full Screen"));
+         }
+         S.EndHorizontalLay();
 
-   S.EndStatic();
+         S.StartHorizontalLay();
+         {
+            mDelayCheckBox = S.Id(IdDelayCheckBox).AddCheckBox
+               (_("Wait 5 seconds and capture frontmost window/dialog"),
+                _("false"));
+         }
+         S.EndHorizontalLay();
+      }
+      S.EndStatic();
+
+      S.StartStatic(_("Capture part of a project window"));
+      {
+         S.StartHorizontalLay();
+         {
+            S.Id(IdCaptureToolbars).AddButton(_("All Toolbars"));
+            S.Id(IdCaptureSelectionBar).AddButton(_("SelectionBar"));
+            S.Id(IdCaptureTools).AddButton(_("Tools"));
+            S.Id(IdCaptureControl).AddButton(_("Control"));
+         }
+         S.EndHorizontalLay();
+
+         S.StartHorizontalLay();
+         {
+            S.Id(IdCaptureMixer).AddButton(_("Mixer"));
+            S.Id(IdCaptureMeter).AddButton(_("Meter"));
+            S.Id(IdCaptureEdit).AddButton(_("Edit"));
+            S.Id(IdCaptureDevice).AddButton(_("Device"));
+            S.Id(IdCaptureTranscription).AddButton(_("Transcription"));
+         }
+         S.EndHorizontalLay();
+
+         S.StartHorizontalLay();
+         {
+            S.Id(IdCaptureTrackPanel).AddButton(_("Track Panel"));
+            S.Id(IdCaptureRuler).AddButton(_("Ruler"));
+            S.Id(IdCaptureTracks).AddButton(_("Tracks"));
+            S.Id(IdCaptureFirstTrack).AddButton(_("First Track"));
+            S.Id(IdCaptureSecondTrack).AddButton(_("Second Track"));
+         }
+         S.EndHorizontalLay();
+      }
+      S.EndStatic();
+
+      S.StartStatic(_("Scale"));
+      {
+         S.StartHorizontalLay();
+         {
+            S.Id(IdOneSec).AddButton(_("One Sec"));
+            S.Id(IdTenSec).AddButton(_("Ten Sec"));
+            S.Id(IdOneMin).AddButton(_("One Min"));
+            S.Id(IdFiveMin).AddButton(_("Five Min"));
+            S.Id(IdOneHour).AddButton(_("One Hour"));
+         }
+         S.EndHorizontalLay();
 
-   S.StartStatic(wxT("Scale"), true);
-   S.StartHorizontalLay();
-   {
-      S.Id(IdOneSec).AddButton(wxT("One Sec"));
-      S.Id(IdTenSec).AddButton(wxT("Ten Sec"));
-      S.Id(IdOneMin).AddButton(wxT("One Min"));
-      S.Id(IdFiveMin).AddButton(wxT("Five Min"));
-      S.Id(IdOneHour).AddButton(wxT("One Hour"));
-   }
-   S.EndHorizontalLay();
-   S.StartHorizontalLay();
-   {
-      S.Id(IdShortTracks).AddButton(wxT("Short Tracks"));
-      S.Id(IdMedTracks).AddButton(wxT("Medium Tracks"));
-      S.Id(IdTallTracks).AddButton(wxT("Tall Tracks"));
+         S.StartHorizontalLay();
+         {
+            S.Id(IdShortTracks).AddButton(_("Short Tracks"));
+            S.Id(IdMedTracks).AddButton(_("Medium Tracks"));
+            S.Id(IdTallTracks).AddButton(_("Tall Tracks"));
+         }
+         S.EndHorizontalLay();
+      }
+      S.EndStatic();
    }
-   S.EndHorizontalLay();
-   S.EndStatic();
-
-   S.EndVerticalLay();
    S.EndPanel();
 
    Layout();
@@ -541,441 +417,300 @@ void ScreenFrame::PopulateOrExchange(ShuttleGui &S)
    SetMinSize(GetSize());
 
    int top = 0;
-   #ifdef __WXMAC__
+#ifdef __WXMAC__
+   // Allow for Mac menu bar
    top += 20;
-   #endif
+#endif
 
    int width, height;
    GetSize(&width, &height);
    int displayWidth, displayHeight;
    wxDisplaySize(&displayWidth, &displayHeight);
 
-   if (width > 100)
+   if (width > 100) {
       Move(displayWidth - width - 16, top + 16);
-   else
+   }
+   else {
       CentreOnParent(); 
-}
-
-BEGIN_EVENT_TABLE(ScreenFrame, wxFrame)
-   EVT_CLOSE(ScreenFrame::OnCloseWindow)
-
-   EVT_BUTTON(IdMainWindowSmall,        ScreenFrame::OnMainWindowSmall)
-   EVT_BUTTON(IdMainWindowLarge,        ScreenFrame::OnMainWindowLarge)
-   EVT_TOGGLEBUTTON(IdToggleBackgroundBlue,   ScreenFrame::OnToggleBackgroundBlue)
-   EVT_TOGGLEBUTTON(IdToggleBackgroundWhite,  ScreenFrame::OnToggleBackgroundWhite)
-   EVT_BUTTON(IdCaptureWindowContents,  ScreenFrame::OnCaptureWindowContents)
-   EVT_BUTTON(IdCaptureWindowPlus,      ScreenFrame::OnCaptureWindowPlus)
-
-   EVT_BUTTON(IdCaptureFullScreen,      ScreenFrame::OnCaptureFullScreen)
-
-   EVT_BUTTON(IdCaptureToolbars,        ScreenFrame::OnCaptureToolbars)
-   EVT_BUTTON(IdCaptureSelectionBar,    ScreenFrame::OnCaptureSelectionBar)
-   EVT_BUTTON(IdCaptureTools,           ScreenFrame::OnCaptureTools)
-   EVT_BUTTON(IdCaptureControl,         ScreenFrame::OnCaptureControl)
-   EVT_BUTTON(IdCaptureMixer,           ScreenFrame::OnCaptureMixer)
-   EVT_BUTTON(IdCaptureMeter,           ScreenFrame::OnCaptureMeter)
-   EVT_BUTTON(IdCaptureEdit,            ScreenFrame::OnCaptureEdit)
-   EVT_BUTTON(IdCaptureDevice,          ScreenFrame::OnCaptureDevice)
-   EVT_BUTTON(IdCaptureTranscription,   ScreenFrame::OnCaptureTranscription)
-
-   EVT_BUTTON(IdOneSec,                 ScreenFrame::OnOneSec)
-   EVT_BUTTON(IdTenSec,                 ScreenFrame::OnTenSec)
-   EVT_BUTTON(IdOneMin,                 ScreenFrame::OnOneMin)
-   EVT_BUTTON(IdFiveMin,                ScreenFrame::OnFiveMin)
-   EVT_BUTTON(IdOneHour,                ScreenFrame::OnOneHour)
+   }
 
-   EVT_BUTTON(IdShortTracks,            ScreenFrame::OnShortTracks)
-   EVT_BUTTON(IdMedTracks,              ScreenFrame::OnMedTracks)
-   EVT_BUTTON(IdTallTracks,             ScreenFrame::OnTallTracks)
+   SetIcon(mContext.proj->GetIcon());
+}
 
-   EVT_BUTTON(IdCaptureTrackPanel,      ScreenFrame::OnCaptureTrackPanel)
-   EVT_BUTTON(IdCaptureRuler,           ScreenFrame::OnCaptureRuler)
-   EVT_BUTTON(IdCaptureTracks,          ScreenFrame::OnCaptureTracks)
-   EVT_BUTTON(IdCaptureFirstTrack,      ScreenFrame::OnCaptureFirstTrack)
-   EVT_BUTTON(IdCaptureSecondTrack,     ScreenFrame::OnCaptureSecondTrack)
+bool ScreenFrame::ProcessEvent(wxEvent & e)
+{
+   int id = e.GetId();
 
-   EVT_BUTTON(IdDirChoose,              ScreenFrame::OnDirChoose)
+   if (mDelayCheckBox &&
+       mDelayCheckBox->GetValue() &&
+       e.IsCommandEvent() &&
+       e.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED &&
+       id >= IdAllDelayedEvents && id <= IdLastDelayedEvent &&
+       e.GetEventObject() != NULL) {
+      ScreenFrameTimer *timer = new ScreenFrameTimer(this, e);
+      timer->Start(5000, true);
+      return true;
+   }
 
-END_EVENT_TABLE();
+   if (e.IsCommandEvent() && e.GetEventObject() == NULL) {
+      e.SetEventObject(this);
+   }
+   return wxFrame::ProcessEvent(e);
+}
 
-void ScreenFrame::OnCloseWindow(wxCloseEvent & evt)
+void ScreenFrame::OnCloseWindow(wxCloseEvent & e)
 {
    mFrame = NULL;
    Destroy();
 }
 
-void ScreenFrame::OnMainWindowSmall(wxCommandEvent& evt)
+void ScreenFrame::OnUIUpdate(wxUpdateUIEvent & e)
 {
-   int top = 20;
+#ifdef __WXMAC__
+   wxTopLevelWindow *top = mCommand->GetFrontWindow(mContext.proj);
+   bool needupdate = false;
+   bool enable = false;
 
-   AudacityProject *proj = GetActiveProject();
-   proj->SetSize(16, 16 + top, 680, 450);
-   proj->mToolManager->Reset();
+   if ((!top || top->IsIconized()) && mDirectoryTextBox->IsEnabled()) {
+      needupdate = true;
+      enable = false;
+   }
+   else if ((top && !top->IsIconized()) && !mDirectoryTextBox->IsEnabled()) {
+      needupdate = true;
+      enable = true;
+   }
+
+   if (needupdate) {
+      for (int i = IdMainWindowSmall; i < IdLastDelayedEvent; i++) {
+         wxWindow *w = wxWindow::FindWindowById(i, this);
+         if (w) {
+            w->Enable(enable);
+         }
+      }
+   }
+#endif
 }
 
-void ScreenFrame::OnMainWindowLarge(wxCommandEvent& evt)
+void ScreenFrame::OnDirChoose(wxCommandEvent & e)
 {
-   int top = 20;
+   wxString current = mDirectoryTextBox->GetValue();
 
-   AudacityProject *proj = GetActiveProject();
-   proj->SetSize(16, 16 + top, 900, 600);
-   proj->mToolManager->Reset();
+   wxDirDialog dlog(this, 
+                    _("Choose a location to save screenshot images"),
+                    current);
+
+   dlog.ShowModal();
+   if (dlog.GetPath() != wxT("")) {
+      wxFileName tmpDirPath;
+      tmpDirPath.AssignDir(dlog.GetPath());
+      wxString path = tmpDirPath.GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR);
+      mDirectoryTextBox->SetValue(path);
+      gPrefs->Write(wxT("/ScreenshotPath"), path);
+   }
 }
 
-void ScreenFrame::OnToggleBackgroundBlue(wxCommandEvent& evt)
+void ScreenFrame::OnToggleBackgroundBlue(wxCommandEvent & e)
 {
-   mBackColor = wxColour(51, 102, 153);
-   mBackground = mBlue->GetValue();
    mWhite->SetValue(false);
+   mCommand->SetParameter(wxT("Background"),
+         mBlue->GetValue() ? wxT("Blue") : wxT("None"));
 }
 
-void ScreenFrame::OnToggleBackgroundWhite(wxCommandEvent& evt)
+void ScreenFrame::OnToggleBackgroundWhite(wxCommandEvent & e)
 {
-   mBackColor = wxColour(255, 255, 255);
-   mBackground = mWhite->GetValue();
    mBlue->SetValue(false);
+   mCommand->SetParameter(wxT("Background"),
+         mWhite->GetValue() ? wxT("White") : wxT("None"));
 }
 
-void ScreenFrame::OnCaptureWindowContents(wxCommandEvent& evt)
+void ScreenFrame::SizeMainWindow(int w, int h)
 {
-   wxTopLevelWindow *w = GetFrontWindow();
-   int x = 0, y = 0;
-   int width, height;
+   int top = 20;
 
-   w->ClientToScreen(&x, &y);
-   w->GetClientSize(&width, &height);
-   wxWindow *p = w->GetParent();
+   mContext.proj->Maximize(false);
+   mContext.proj->SetSize(16, 16 + top, w, h);
+   mContext.proj->mToolManager->Reset();
+}
 
-   if (p) {
-      p->ScreenToClient(&x, &y);
-   }
+void ScreenFrame::OnMainWindowSmall(wxCommandEvent & e)
+{
+   SizeMainWindow(680, 450);
+}
 
-   wxString basename = wxT("window");
-   if (w != GetActiveProject() && w->GetTitle() != wxT("")) {
-      basename += (wxT("-") + w->GetTitle() + wxT("-"));
-   }
+void ScreenFrame::OnMainWindowLarge(wxCommandEvent & e)
+{
+   SizeMainWindow(900, 600);
+}
 
-   Capture(basename, w, x, y, width, height);
-}
-
-void ScreenFrame::OnCaptureWindowPlus(wxCommandEvent& evt)
-{
-   wxTopLevelWindow *w = GetFrontWindow();
-   wxWindow *p = w->GetParent();
-   wxRect r = w->GetRect();
-
-   int eh = 0;
-   int ev = 0;
-   #ifdef __WXMAC__
-   int h = 16;
-   int v = 16;
-   #elif defined(__WXMSW__)
-   int h = 16;
-   int v = 16;
-   #else
-   int h = 12;
-   int v = 24;
-   eh = 6;
-   ev = 24;
-   #endif
-
-   r.x -= h;
-   r.y -= v;
-   r.width += h * 2 + eh;
-   r.height += v * 2 + ev;
-
-   if (p) {
-      p->ScreenToClient(&r.x, &r.y);
-   }
+void ScreenFrame::DoCapture(wxString captureMode)
+{
+   Hide();
+   mCommand->SetParameter(wxT("FilePath"), mDirectoryTextBox->GetValue());
 
-   wxString basename = wxT("windowplus");
-   if (w != GetActiveProject() && w->GetTitle() != wxT("")) {
-      basename += (wxT("-") + w->GetTitle() + wxT("-"));
-   }
+   mCommand->SetParameter(wxT("CaptureMode"), captureMode);
+   if (!mCommand->Apply(mContext))
+      mStatus->SetStatusText(wxT("Capture failed!"));
+   Show();
+}
 
-   Capture(basename, w, r.x, r.y, r.width, r.height, true);
+void ScreenFrame::OnCaptureWindowContents(wxCommandEvent & e)
+{
+   DoCapture(wxT("window"));
 }
 
-void ScreenFrame::OnCaptureFullScreen(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureFullWindow(wxCommandEvent & e)
 {
-   int width, height;
-   wxDisplaySize(&width, &height);
+   DoCapture(wxT("fullwindow"));
+}
 
-   Capture(wxT("fullscreen"), GetFrontWindow(), 0, 0, width, height);
+void ScreenFrame::OnCaptureWindowPlus(wxCommandEvent & e)
+{
+   DoCapture(wxT("windowplus"));
 }
 
-void ScreenFrame::OnCaptureToolbars(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureFullScreen(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   wxWindow *w = proj->mToolManager->GetTopDock();
+   DoCapture(wxT("fullscreen"));
+}
 
-   int x = 0, y = 0;
-   int width, height;
+void ScreenFrame::OnCaptureToolbars(wxCommandEvent & e)
+{
+   DoCapture(wxT("toolbars"));
+}
 
-   w->ClientToScreen(&x, &y);
-   w->GetParent()->ScreenToClient(&x, &y);
-   w->GetClientSize(&width, &height);
+void ScreenFrame::OnCaptureSelectionBar(wxCommandEvent & e)
+{
+   DoCapture(wxT("selectionbar"));
+}
 
-   Capture(wxT("toolbars"), w, x, y, width, height);
+void ScreenFrame::OnCaptureTools(wxCommandEvent & e)
+{
+   DoCapture(wxT("tools"));
 }
 
-void ScreenFrame::OnCaptureSelectionBar(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureControl(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   wxWindow *w = proj->mToolManager->GetBotDock();
+   DoCapture(wxT("control"));
+}
 
-   int x = 0, y = 0;
-   int width, height;
+void ScreenFrame::OnCaptureMixer(wxCommandEvent & e)
+{
+   DoCapture(wxT("mixer"));
+}
 
-   w->ClientToScreen(&x, &y);
-   w->GetParent()->ScreenToClient(&x, &y);
-   w->GetClientSize(&width, &height);
+void ScreenFrame::OnCaptureMeter(wxCommandEvent & e)
+{
+   DoCapture(wxT("meter"));
+}
 
-   Capture(wxT("selectionbar"), w, x, y, width, height);
+void ScreenFrame::OnCaptureEdit(wxCommandEvent & e)
+{
+   DoCapture(wxT("edit"));
 }
 
-void ScreenFrame::OnCaptureTools(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureDevice(wxCommandEvent & e)
 {
-   CaptureToolbar(ToolsBarID, wxT("tools"));
+   DoCapture(wxT("device"));
 }
 
-void ScreenFrame::OnCaptureControl(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureTranscription(wxCommandEvent & e)
 {
-   CaptureToolbar(ControlBarID, wxT("control"));
+   DoCapture(wxT("transcription"));
 }
 
-void ScreenFrame::OnCaptureMixer(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureTrackPanel(wxCommandEvent & e)
 {
-   CaptureToolbar(MixerBarID, wxT("mixer"));
+   DoCapture(wxT("trackpanel"));
 }
 
-void ScreenFrame::OnCaptureMeter(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureRuler(wxCommandEvent & e)
 {
-   CaptureToolbar(MeterBarID, wxT("meter"));
+   DoCapture(wxT("ruler"));
 }
 
-void ScreenFrame::OnCaptureEdit(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureTracks(wxCommandEvent & e)
 {
-   CaptureToolbar(EditBarID, wxT("edit"));
+   DoCapture(wxT("tracks"));
 }
 
-void ScreenFrame::OnCaptureDevice(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureFirstTrack(wxCommandEvent & e)
 {
-   CaptureToolbar(DeviceBarID, wxT("device"));
+   DoCapture(wxT("firsttrack"));
 }
 
-void ScreenFrame::OnCaptureTranscription(wxCommandEvent& evt)
+void ScreenFrame::OnCaptureSecondTrack(wxCommandEvent & e)
 {
-   CaptureToolbar(TranscriptionBarID, wxT("transcription"));
+   DoCapture(wxT("secondtrack"));
 }
 
-void ScreenFrame::OnOneSec(wxCommandEvent& evt)
+void ScreenFrame::TimeZoom(double seconds)
 {
-   AudacityProject *proj = GetActiveProject();
    int width, height;
-   proj->GetClientSize(&width, &height);
-   proj->mViewInfo.zoom = (0.75 * width) / 1.0;
-   proj->RedrawProject();
+   mContext.proj->GetClientSize(&width, &height);
+   mContext.proj->mViewInfo.zoom = (0.75 * width) / seconds;
+   mContext.proj->RedrawProject();
 }
 
-void ScreenFrame::OnTenSec(wxCommandEvent& evt)
+void ScreenFrame::OnOneSec(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   int width, height;
-   proj->GetClientSize(&width, &height);
-   proj->mViewInfo.zoom = (0.75 * width) / 10.0;
-   proj->RedrawProject();
+   TimeZoom(1.0);
 }
 
-void ScreenFrame::OnOneMin(wxCommandEvent& evt)
+void ScreenFrame::OnTenSec(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   int width, height;
-   proj->GetClientSize(&width, &height);
-   proj->mViewInfo.zoom = (0.75 * width) / 60.0;
-   proj->RedrawProject();
+   TimeZoom(10.0);
 }
 
-void ScreenFrame::OnFiveMin(wxCommandEvent& evt)
+void ScreenFrame::OnOneMin(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   int width, height;
-   proj->GetClientSize(&width, &height);
-   proj->mViewInfo.zoom = (0.75 * width) / 300.0;
-   proj->RedrawProject();
+   TimeZoom(60.0);
 }
 
-void ScreenFrame::OnOneHour(wxCommandEvent& evt)
+void ScreenFrame::OnFiveMin(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   int width, height;
-   proj->GetClientSize(&width, &height);
-   proj->mViewInfo.zoom = (0.75 * width) / 3600.0;
-   proj->RedrawProject();
+   TimeZoom(300.0);
 }
 
-void ScreenFrame::OnShortTracks(wxCommandEvent& evt)
+void ScreenFrame::OnOneHour(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   TrackListIterator iter(proj->GetTracks());
-   for (Track * t = iter.First(); t; t = iter.Next()) {
-      if (t->GetKind() == Track::Wave) {
-         if (proj->GetTracks()->GetLink(t)) {
-            t->SetHeight(48);
-         }
-         else {
-            t->SetHeight(24);
-         }
-      }
-   }
-   proj->RedrawProject();
+   TimeZoom(3600.0);
 }
 
-void ScreenFrame::OnMedTracks(wxCommandEvent& evt)
+void ScreenFrame::SizeTracks(int h)
 {
-   AudacityProject *proj = GetActiveProject();
-   TrackListIterator iter(proj->GetTracks());
+   TrackListIterator iter(mContext.proj->GetTracks());
    for (Track * t = iter.First(); t; t = iter.Next()) {
       if (t->GetKind() == Track::Wave) {
-         if (proj->GetTracks()->GetLink(t)) {
-            t->SetHeight(60);
+         if (t->GetLink()) {
+            t->SetHeight(h);
          }
          else {
-            t->SetHeight(120);
+            t->SetHeight(h*2);
          }
       }
    }
-   proj->RedrawProject();
+   mContext.proj->RedrawProject();
 }
 
-void ScreenFrame::OnTallTracks(wxCommandEvent& evt)
+void ScreenFrame::OnShortTracks(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   TrackListIterator iter(proj->GetTracks());
+   TrackListIterator iter(mContext.proj->GetTracks());
    for (Track * t = iter.First(); t; t = iter.Next()) {
       if (t->GetKind() == Track::Wave) {
-         if (proj->GetTracks()->GetLink(t)) {
-            t->SetHeight(85);
-         }
-         else {
-            t->SetHeight(170);
-         }
+         t->SetHeight(t->GetMinimizedHeight());
       }
    }
-   proj->RedrawProject();
+   mContext.proj->RedrawProject();
 }
 
-void ScreenFrame::OnCaptureTrackPanel(wxCommandEvent& evt)
+void ScreenFrame::OnMedTracks(wxCommandEvent & e)
 {
-   AudacityProject *proj = GetActiveProject();
-   TrackPanel *panel = proj->mTrackPanel;
-   AdornedRulerPanel *ruler = panel->mRuler;
-
-   int h = ruler->GetRulerHeight();
-   int x = 0, y = -h;
-   int width, height;
-
-   panel->ClientToScreen(&x, &y);
-   panel->GetParent()->ScreenToClient(&x, &y);
-   panel->GetClientSize(&width, &height);
-
-   Capture(wxT("trackpanel"), panel, x, y, width, height + h);
-}
-
-void ScreenFrame::OnCaptureRuler(wxCommandEvent& evt)
-{
-   AudacityProject *proj = GetActiveProject();
-   TrackPanel *panel = proj->mTrackPanel;
-   AdornedRulerPanel *ruler = panel->mRuler;
-
-   int x = 0, y = 0;
-   int width, height;
-
-   ruler->ClientToScreen(&x, &y);
-   ruler->GetParent()->ScreenToClient(&x, &y);
-   ruler->GetClientSize(&width, &height);
-   height = ruler->GetRulerHeight();
-
-   Capture(wxT("ruler"), ruler, x, y, width, height);
-}
-
-void ScreenFrame::OnCaptureTracks(wxCommandEvent& evt)
-{
-   AudacityProject *proj = GetActiveProject();
-   TrackPanel *panel = proj->mTrackPanel;
-
-   int x = 0, y = 0;
-   int width, height;
-
-   panel->ClientToScreen(&x, &y);
-   panel->GetParent()->ScreenToClient(&x, &y);
-   panel->GetClientSize(&width, &height);
-
-   Capture(wxT("tracks"), panel, x, y, width, height);
-}
-
-void ScreenFrame::OnCaptureFirstTrack(wxCommandEvent& evt)
-{
-   AudacityProject *proj = GetActiveProject();
-   TrackPanel *panel = proj->mTrackPanel;
-   TrackListIterator iter(proj->GetTracks());
-   Track * t = iter.First();
-   if (!t)
-      return;
-   wxRect r = panel->FindTrackRect(t, true);
-
-   int x = 0, y = r.y - 3;
-   int width, height;
-
-   panel->ClientToScreen(&x, &y);
-   panel->GetParent()->ScreenToClient(&x, &y);
-   panel->GetClientSize(&width, &height);
-
-   Capture(wxT("firsttrack"), panel, x, y, width, r.height + 6);
-}
-
-void ScreenFrame::OnCaptureSecondTrack(wxCommandEvent& evt)
-{
-   AudacityProject *proj = GetActiveProject();
-   TrackPanel *panel = proj->mTrackPanel;
-   TrackListIterator iter(proj->GetTracks());
-   Track * t = iter.First();
-   if (!t)
-      return;
-   if (t->GetLinked())
-      t = iter.Next();
-   t = iter.Next();
-   if (!t)
-      return;
-   wxRect r = panel->FindTrackRect(t, true);
-
-   int x = 0, y = r.y - 3;
-   int width, height;
-
-   panel->ClientToScreen(&x, &y);
-   panel->GetParent()->ScreenToClient(&x, &y);
-   panel->GetClientSize(&width, &height);
-
-   Capture(wxT("secondtrack"), panel, x, y, width, r.height + 6);
+   SizeTracks(60);
 }
 
-void ScreenFrame::OnDirChoose(wxCommandEvent& evt)
+void ScreenFrame::OnTallTracks(wxCommandEvent & e)
 {
-   wxString current = mDirectoryTextBox->GetValue();
-
-   wxDirDialog dlog(this, 
-                    wxT("Choose a location to save screenshot images"),
-                    current);
-
-   dlog.ShowModal();
-   if (dlog.GetPath() != wxT("")) {
-      wxFileName tmpDirPath;
-      tmpDirPath.AssignDir(dlog.GetPath());
-      mDirectoryTextBox->SetValue
-         (tmpDirPath.GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR));
-      gPrefs->Write(wxT("/ScreenshotPath"),
-         tmpDirPath.GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR));
-   }
+   SizeTracks(85);
 }
 
 // Indentation settings for Vim and Emacs.
diff --git a/src/Sequence.cpp b/src/Sequence.cpp
index f788fc8..6c3715c 100644
--- a/src/Sequence.cpp
+++ b/src/Sequence.cpp
@@ -619,14 +619,9 @@ bool Sequence::AppendAlias(wxString fullPath,
    SeqBlock *newBlock = new SeqBlock();
 
    newBlock->start = mNumSamples;
-   newBlock->f =
-#ifdef EXPERIMENTAL_ONDEMAND
-   useOD?
+   newBlock->f = useOD?
       mDirManager->NewODAliasBlockFile(fullPath, start, len, channel):
       mDirManager->NewAliasBlockFile(fullPath, start, len, channel);
-#else
-      mDirManager->NewAliasBlockFile(fullPath, start, len, channel);
-#endif
    mBlock->Add(newBlock);
    mNumSamples += newBlock->f->GetLength();
 
@@ -1564,10 +1559,8 @@ bool Sequence::Delete(sampleCount start, sampleCount len)
    } else {
       // The sample where we begin deletion happens to fall
       // right on the end of a block.
-      if (b0 != b1) {
-         mDirManager->Deref(mBlock->Item(b1)->f);
-         delete mBlock->Item(b1);
-      }
+      mDirManager->Deref(mBlock->Item(b1)->f);
+      delete mBlock->Item(b1);
    }
 
    // Copy the remaining blocks over from the old array
diff --git a/src/Sequence.h b/src/Sequence.h
index 155bcdc..8f6ffdd 100644
--- a/src/Sequence.h
+++ b/src/Sequence.h
@@ -151,9 +151,7 @@ class Sequence: public XMLTagHandler {
 
    //
    // This should only be used if you really, really know what
-   // you're doing!  Currently used by TrackList::GetSpaceUsage(),
-   // Dependencies.cpp and by Project.cpp to check if the first
-   // block of the sequence is aliased (for a warning message).
+   // you're doing!
    //
 
    BlockArray *GetBlockArray() {return mBlock;}
diff --git a/src/ShuttleGui.cpp b/src/ShuttleGui.cpp
index e85b4af..a19d8f4 100644
--- a/src/ShuttleGui.cpp
+++ b/src/ShuttleGui.cpp
@@ -1010,6 +1010,46 @@ wxCheckBox * ShuttleGuiBase::TieCheckBox(const wxString &Prompt, WrappedType & W
    }
    return pCheckBox;
 }
+
+wxCheckBox * ShuttleGuiBase::TieCheckBoxOnRight(const wxString &Prompt, WrappedType & WrappedRef)
+{
+   // The Add function does a UseUpId(), so don't do it here in that case.
+   if( mShuttleMode == eIsCreating )
+      return AddCheckBoxOnRight( Prompt, WrappedRef.ReadAsString());
+
+   UseUpId();
+
+   wxWindow * pWnd      = wxWindow::FindWindowById( miId, mpDlg);
+   wxCheckBox * pCheckBox = wxDynamicCast(pWnd, wxCheckBox);
+
+   switch( mShuttleMode )
+   {
+   // IF setting internal storage from the controls.
+   case eIsGettingFromDialog:
+      {
+         wxASSERT( pCheckBox );
+         WrappedRef.WriteToAsBool( pCheckBox->GetValue() );
+      }
+      break;
+   case eIsSettingToDialog:
+      {
+         wxASSERT( pCheckBox );
+         pCheckBox->SetValue( WrappedRef.ReadAsBool() );
+      }
+      break;
+   // IF Saving settings to external storage...
+   // or IF Getting settings from external storage.
+   case eIsSavingViaShuttle:
+   case eIsGettingViaShuttle:
+      DoDataShuttle( Prompt, WrappedRef );
+      break;
+   default:
+      wxASSERT( false );
+      break;
+   }
+   return pCheckBox;
+}
+
 wxSpinCtrl * ShuttleGuiBase::TieSpinCtrl( const wxString &Prompt, WrappedType & WrappedRef, const int max, const int min )
 {
    // The Add function does a UseUpId(), so don't do it here in that case.
@@ -1468,16 +1508,38 @@ bool ShuttleGuiBase::DoStep( int iStep )
 
 /// Variant of the standard TieCheckBox which does the two step exchange 
 /// between gui and stack variable and stack variable and shuttle.
-void ShuttleGuiBase::TieCheckBox(
+wxCheckBox * ShuttleGuiBase::TieCheckBox(
+   const wxString &Prompt, 
+   const wxString &SettingName, 
+   const bool bDefault)
+{
+   wxCheckBox * pCheck=NULL;
+
+   bool bValue=bDefault;
+   WrappedType WrappedRef( bValue );
+   if( DoStep(1) ) DoDataShuttle( SettingName, WrappedRef );
+   if( DoStep(2) ) pCheck = TieCheckBox( Prompt, WrappedRef );
+   if( DoStep(3) ) DoDataShuttle( SettingName, WrappedRef );
+
+   return pCheck;
+}
+
+/// Variant of the standard TieCheckBox which does the two step exchange 
+/// between gui and stack variable and stack variable and shuttle.
+wxCheckBox * ShuttleGuiBase::TieCheckBoxOnRight(
    const wxString &Prompt, 
    const wxString &SettingName, 
    const bool bDefault)
 {
+   wxCheckBox * pCheck=NULL;
+
    bool bValue=bDefault;
    WrappedType WrappedRef( bValue );
    if( DoStep(1) ) DoDataShuttle( SettingName, WrappedRef );
-   if( DoStep(2) ) TieCheckBox( Prompt, WrappedRef );
+   if( DoStep(2) ) pCheck = TieCheckBoxOnRight( Prompt, WrappedRef );
    if( DoStep(3) ) DoDataShuttle( SettingName, WrappedRef );
+
+   return pCheck;
 }
 
 /// Variant of the standard TieSlider which does the two step exchange 
@@ -1605,7 +1667,7 @@ wxChoice * ShuttleGuiBase::TieChoice(
 {
    wxChoice * pChoice=(wxChoice*)NULL;
  
-   int TempIndex;
+   int TempIndex=0;
    int TranslatedInt = Default;
    WrappedType WrappedRef( TranslatedInt );
    // Get from prefs does 1 and 2.
@@ -2019,3 +2081,67 @@ void ShuttleGui::AddSpace( int width, int height )
 
    mpSizer->Add( width, height, 0);
 }
+
+void ShuttleGui::SetSizeHints( wxWindow *window, const wxArrayString & items )
+{
+   int maxw = 0;
+
+   for( size_t i = 0; i < items.GetCount(); i++ )
+   {
+      int x;
+      int y;
+      
+      window->GetTextExtent(items[i], &x, &y );
+      if( x > maxw )
+      {
+         maxw = x;
+      }
+   }
+
+   // Would be nice to know the sizes of the button and borders, but this is
+   // the best we can do for now.
+#if defined(__WXMAC__)
+   maxw += 50;
+#elif defined(__WXMSW__)
+   maxw += 50;
+#elif defined(__WXGTK__)
+   maxw += 50;
+#else
+   maxw += 50;
+#endif
+
+   window->SetSizeHints( maxw, -1 );
+}
+
+void ShuttleGui::SetSizeHints( wxWindow *window, const wxArrayInt & items )
+{
+   wxArrayString strs;
+
+   for( size_t i = 0; i < items.GetCount(); i++ )
+   {
+      strs.Add( wxString::Format( wxT("%d"), items[i] ) );
+   }
+
+   SetSizeHints( window, strs );
+}
+
+void ShuttleGui::SetSizeHints( const wxArrayString & items )
+{
+   if( mShuttleMode != eIsCreating )
+      return;
+
+   SetSizeHints( mpLastWind, items );
+}
+
+void ShuttleGui::SetSizeHints( const wxArrayInt & items )
+{
+   if( mShuttleMode != eIsCreating )
+      return;
+
+   SetSizeHints( mpLastWind, items );
+}
+
+void ShuttleGui::SetSizeHints( int minX, int minY )
+{
+   ShuttleGuiBase::SetSizeHints( minX, minY );
+}
diff --git a/src/ShuttleGui.h b/src/ShuttleGui.h
index 4b0a14c..88713ca 100644
--- a/src/ShuttleGui.h
+++ b/src/ShuttleGui.h
@@ -15,6 +15,9 @@
 #define SHUTTLE_GUI
 
 #include "Audacity.h"
+
+#include <wx/string.h>
+
 #include "WrappedType.h" 
 
 const int nMaxNestedSizers = 20;
@@ -152,9 +155,10 @@ public:
    wxTextCtrl * TieTextBox( const wxString &Prompt, int &Selected, const int nChars=0);
    wxTextCtrl * TieTextBox( const wxString &Prompt, double &Value, const int nChars=0);
 
-   wxCheckBox * TieCheckBox( const wxString &Prompt, WrappedType & WrappedRef);
-   wxCheckBox * TieCheckBox( const wxString &Prompt, const wxString &Selected);
+   wxCheckBox * TieCheckBox( const wxString &Prompt, WrappedType & WrappedRef );
+   wxCheckBox * TieCheckBox( const wxString &Prompt, const wxString &Selected );
 	wxCheckBox * TieCheckBox( const wxString &Prompt, bool & Var );
+	wxCheckBox * TieCheckBoxOnRight( const wxString & Prompt, WrappedType & WrappedRef );
 	wxCheckBox * TieCheckBoxOnRight( const wxString & Prompt, bool & Var );
 
    wxChoice * TieChoice( const wxString &Prompt, WrappedType & WrappedRef, const wxArrayString * pChoices );
@@ -178,7 +182,14 @@ public:
 // Note that unlike the other Tie functions, ALL the arguments are const.
 // That's because the data is being exchanged between the dialog and mpShuttle
 // so it doesn't need an argument that is writeable.
-   void TieCheckBox( const wxString &Prompt, const wxString &SettingName, const bool bDefault);
+   wxCheckBox * TieCheckBox( 
+      const wxString &Prompt,
+      const wxString &SettingName,
+      const bool bDefault);
+   wxCheckBox * TieCheckBoxOnRight( 
+      const wxString &Prompt,
+      const wxString &SettingName,
+      const bool bDefault);
    wxChoice * TieChoice( 
       const wxString &Prompt, 
       const wxString &SettingName, 
@@ -312,7 +323,7 @@ enum
    eDebugID       = wxID_LOWEST - 2
 };
 
-wxSizer *CreateStdButtonSizer( wxWindow *parent,
+AUDACITY_DLL_API wxSizer *CreateStdButtonSizer( wxWindow *parent,
                                long buttons = eOkButton | eCancelButton,
                                wxButton *extra = NULL );
 
@@ -333,5 +344,11 @@ public:
    void AddSpace( int width, int height );
    void AddSpace( int size ) { AddSpace( size, size ); };
    int GetBorder() { return miBorder; };
+
+   void SetSizeHints( int minX = -1, int minY = -1 );
+   void SetSizeHints( const wxArrayString & items );
+   void SetSizeHints( const wxArrayInt & items );
+   static void SetSizeHints( wxWindow *window, const wxArrayString & items );
+   static void SetSizeHints( wxWindow *window, const wxArrayInt & items );
 };
 #endif
diff --git a/src/Snap.cpp b/src/Snap.cpp
index fc57a87..99f436d 100644
--- a/src/Snap.cpp
+++ b/src/Snap.cpp
@@ -53,7 +53,7 @@ SnapManager::SnapManager(TrackList *tracks, TrackClipArray *exclusions,
       }
       if (track->GetKind() == Track::Wave) {
          WaveTrack *waveTrack = (WaveTrack *)track;
-         WaveClipList::Node* it;
+         WaveClipList::compatibility_iterator it;
          for (it=waveTrack->GetClipIterator(); it; it=it->GetNext()) {
             WaveClip *clip = it->GetData();
             if (exclusions) {
diff --git a/src/Spectrum.cpp b/src/Spectrum.cpp
index ea7677e..bc25014 100644
--- a/src/Spectrum.cpp
+++ b/src/Spectrum.cpp
@@ -65,8 +65,11 @@ bool ComputeSpectrum(float * data, int width,
 
       if (autocorrelation) {
          // Take FFT
+#ifdef EXPERIMENTAL_USE_REALFFTF
+         RealFFT(windowSize, in, out, out2);
+#else
          FFT(windowSize, false, in, NULL, out, out2);
-
+#endif
          // Compute power
          for (i = 0; i < windowSize; i++)
             in[i] = (out[i] * out[i]) + (out2[i] * out2[i]);
@@ -78,7 +81,11 @@ bool ComputeSpectrum(float * data, int width,
             in[i] = pow(in[i], 1.0f / 3.0f);
 
          // Take FFT
+#ifdef EXPERIMENTAL_USE_REALFFTF
+         RealFFT(windowSize, in, out, out2);
+#else
          FFT(windowSize, false, in, NULL, out, out2);
+#endif
 
       }
       else
diff --git a/src/SplashDialog.cpp b/src/SplashDialog.cpp
index 94b8147..c0f8c44 100644
--- a/src/SplashDialog.cpp
+++ b/src/SplashDialog.cpp
@@ -57,7 +57,7 @@ END_EVENT_TABLE()
 IMPLEMENT_CLASS(SplashDialog, wxDialog)
 
 SplashDialog::SplashDialog(wxWindow * parent)
-   :  wxDialog(parent, -1, _NoAcc("&Welcome to Audacity!"),
+   :  wxDialog(parent, -1, _("Welcome to Audacity!"),
       wxPoint( -1, 60 ), // default x position, y position 60 pixels from top of screen.
       wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
 {
diff --git a/src/SplashDialog.h b/src/SplashDialog.h
index 827be4d..b6b99fb 100644
--- a/src/SplashDialog.h
+++ b/src/SplashDialog.h
@@ -42,8 +42,6 @@ private:
    static SplashDialog * pSelf;
 };
 
-//void ShowSplashScreen( AudacityProject * pProj );
-
 #endif
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/Tags.cpp b/src/Tags.cpp
index 91526e9..0752d4e 100644
--- a/src/Tags.cpp
+++ b/src/Tags.cpp
@@ -71,6 +71,7 @@
 #include <wx/textctrl.h>
 #include <wx/textfile.h>
 #include <wx/combobox.h>
+#include <wx/display.h>
 
 #ifdef _DEBUG
     #ifdef _MSC_VER
@@ -748,7 +749,11 @@ TagsEditor::TagsEditor(wxWindow * parent,
    gPrefs->Read(wxT("/TagsEditor/y"), &r.y, r.y);
    gPrefs->Read(wxT("/TagsEditor/width"), &r.width, r.width);
    gPrefs->Read(wxT("/TagsEditor/height"), &r.height, r.height);
-   Move(r.GetPosition());
+   //On multi-monitor systems, there's a chance the last saved window position is
+   //on a monitor that has been removed or is unavailable.
+   if (IsWindowRectValid(&r))
+      Move(r.GetPosition());
+   
 //   SetSize(r.GetSize());
 
    // Resize value column width based on width of columns and the vertical scrollbar
@@ -766,6 +771,12 @@ TagsEditor::TagsEditor(wxWindow * parent,
 
 TagsEditor::~TagsEditor()
 {
+   delete mGrid;
+// TODO:  Need to figure out if these should be deleted.  Looks like the wxGrid
+//        code takes ownership and uses reference counting, but there's been
+//        cases where they show up as memory leaks.
+//   delete mStringRenderer;
+//   delete mComboEditor;
 }
 
 void TagsEditor::PopulateOrExchange(ShuttleGui & S)
@@ -785,9 +796,10 @@ void TagsEditor::PopulateOrExchange(ShuttleGui & S)
                           wxDefaultSize,
                           wxSUNKEN_BORDER);
 
-         mGrid->RegisterDataType(wxT("Combo"),
-                                 new wxGridCellStringRenderer,
-                                 new ComboEditor(wxArrayString(), true));
+         mStringRenderer = new wxGridCellStringRenderer;
+         mComboEditor = new ComboEditor(wxArrayString(), true);
+
+         mGrid->RegisterDataType(wxT("Combo"), mStringRenderer, mComboEditor);
 
          mGrid->SetColLabelSize(mGrid->GetDefaultRowSize());
 
@@ -797,8 +809,8 @@ void TagsEditor::PopulateOrExchange(ShuttleGui & S)
          mGrid->CreateGrid(0, 2); 
          mGrid->SetRowLabelSize(0);
          mGrid->SetDefaultCellAlignment(wxALIGN_LEFT, wxALIGN_CENTER);
-         mGrid->SetColLabelValue(0, _("Tag Name"));
-         mGrid->SetColLabelValue(1, _("Tag Value"));
+         mGrid->SetColLabelValue(0, _("Tag"));
+         mGrid->SetColLabelValue(1, _("Value"));
 
          // Resize the name column and set default row height.
          wxComboBox tc(this, wxID_ANY, wxT(""), wxDefaultPosition, wxDefaultSize, cs);
@@ -813,7 +825,7 @@ void TagsEditor::PopulateOrExchange(ShuttleGui & S)
          S.Id(AddID).AddButton(_("&Add"));
          S.Id(RemoveID).AddButton(_("&Remove"));
          S.AddTitle(wxT(" "));
-         S.Id(ClearID).AddButton(_("&Clear"));
+         S.Id(ClearID).AddButton(_("Cl&ear"));
       }
       S.EndMultiColumn();
 
@@ -836,7 +848,7 @@ void TagsEditor::PopulateOrExchange(ShuttleGui & S)
                S.Id(LoadID).AddButton(_("&Load..."));
                S.Id(SaveID).AddButton(_("&Save..."));
                S.AddTitle(wxT(" "));
-               S.Id(SaveDefaultsID).AddButton(_("S&et Default"));
+               S.Id(SaveDefaultsID).AddButton(_("Set De&fault"));
             }
             S.EndMultiColumn();
          }
@@ -1150,46 +1162,50 @@ void TagsEditor::OnSave(wxCommandEvent & event)
 
    // Create/Open the file
    XMLFileWriter writer;
-   writer.Open(fn, wxT("wb"));
 
-   // Complain if open failed
-   if (!writer.IsOpened())
+   try
    {
-      // Constructor will emit message
-      return;
-   }
+      writer.Open(fn, wxT("wb"));
 
-   // Remember title and track in case they're read only
-   wxString title = mLocal.GetTag(TAG_TITLE);
-   wxString track = mLocal.GetTag(TAG_TRACK);
+      // Remember title and track in case they're read only
+      wxString title = mLocal.GetTag(TAG_TITLE);
+      wxString track = mLocal.GetTag(TAG_TRACK);
 
-   // Clear title
-   if (!mEditTitle) {
-      mLocal.SetTag(TAG_TITLE, wxEmptyString);
-   }
+      // Clear title
+      if (!mEditTitle) {
+         mLocal.SetTag(TAG_TITLE, wxEmptyString);
+      }
 
-   // Clear track
-   if (!mEditTrack) {
-      mLocal.SetTag(TAG_TRACK, wxEmptyString);
-   }
+      // Clear track
+      if (!mEditTrack) {
+         mLocal.SetTag(TAG_TRACK, wxEmptyString);
+      }
 
-   // Write the metadata
-   mLocal.WriteXML(writer);
+      // Write the metadata
+      mLocal.WriteXML(writer);
 
-   // Restore title
-   if (!mEditTitle) {
-      mLocal.SetTag(TAG_TITLE, title);
-   }
+      // Restore title
+      if (!mEditTitle) {
+         mLocal.SetTag(TAG_TITLE, title);
+      }
 
-   // Restore track
-   if (!mEditTrack) {
-      mLocal.SetTag(TAG_TRACK, track);
-   }
+      // Restore track
+      if (!mEditTrack) {
+         mLocal.SetTag(TAG_TRACK, track);
+      }
 
-   // Close the file
-   writer.Close();
+      // Close the file
+      writer.Close();
+   }
+   catch (XMLFileWriterException* pException)
+   {
+      wxMessageBox(wxString::Format(
+         _("Couldn't write to file \"%s\": %s"),
+         fn.c_str(), pException->GetMessage().c_str()),
+         _("Error saving tags file"), wxICON_ERROR, this);
 
-   return;
+      delete pException;
+   }
 }
 
 void TagsEditor::OnSaveDefaults(wxCommandEvent & event)
@@ -1323,6 +1339,26 @@ void TagsEditor::PopulateGenres()
    mGrid->GetDefaultEditorForType(wxT("Combo"))->SetParameters(parm);
 }
 
+bool TagsEditor::IsWindowRectValid(const wxRect *windowRect) const
+{
+   wxDisplay display;
+   wxPoint topLeft(windowRect->GetTopLeft().x, windowRect->GetTopLeft().y);
+   wxPoint topRight(windowRect->GetTopRight().x, windowRect->GetTopRight().y);
+   wxPoint bottomLeft(windowRect->GetBottomLeft().x, windowRect->GetBottomLeft().y);
+   wxPoint bottomRight(windowRect->GetBottomRight().x, windowRect->GetBottomRight().y);
+   display.GetFromPoint(topLeft);
+   if (display.GetFromPoint(topLeft) == -1 &&
+       display.GetFromPoint(topRight) == -1 &&
+       display.GetFromPoint(bottomLeft) == -1 &&
+       display.GetFromPoint(bottomRight) == -1) {
+      return false;
+   }
+
+   return true;
+}
+
+
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/Tags.h b/src/Tags.h
index 9e683e7..101bf9f 100644
--- a/src/Tags.h
+++ b/src/Tags.h
@@ -48,6 +48,7 @@ class wxTextCtrl;
 class Grid;
 class ShuttleGui;
 class TagsEditor;
+class ComboEditor;
 
 WX_DECLARE_STRING_HASH_MAP(wxString, TagMap);
 
@@ -152,6 +153,8 @@ class TagsEditor: public wxDialog
 
    void OnOk(wxCommandEvent & event);
    void OnCancel(wxCommandEvent & event);
+   
+   bool IsWindowRectValid(const wxRect *windowRect) const;
 
  private:
    Tags *mTags;
@@ -161,6 +164,8 @@ class TagsEditor: public wxDialog
    Tags mLocal;
 
    Grid *mGrid;
+   ComboEditor *mComboEditor;
+   wxGridCellStringRenderer *mStringRenderer;
 
    DECLARE_EVENT_TABLE()
 };
diff --git a/src/Theme.h b/src/Theme.h
index 264ddec..ce524e9 100644
--- a/src/Theme.h
+++ b/src/Theme.h
@@ -14,7 +14,7 @@
 #ifndef __AUDACITY_THEME__
 #define __AUDACITY_THEME__
 
-#include "../Audacity.h"
+#include "Audacity.h"
 
 #include <wx/bitmap.h>
 #include <wx/colour.h>
diff --git a/src/TimeDialog.cpp b/src/TimeDialog.cpp
index b4edd1d..936f618 100644
--- a/src/TimeDialog.cpp
+++ b/src/TimeDialog.cpp
@@ -29,17 +29,14 @@ BEGIN_EVENT_TABLE(TimeDialog, wxDialog)
 END_EVENT_TABLE()
 
 TimeDialog::TimeDialog(wxWindow *parent,
-                               wxWindowID id,
-                               const wxString &title,
-                               const wxPoint &pos,
-                               const wxSize &size,
-                               long style,
-                               const wxString &name)
-: wxDialog(parent, id, title, pos, size, style, name),
-  mFormat(wxT("seconds")),
-  mRate(44100),
-  mTime(0.0),
-  mTimeCtrl(NULL)
+                       const wxString &title,
+                       const wxString &prompt)
+:  wxDialog(parent, wxID_ANY, title),
+   mPrompt(prompt),
+   mFormat(wxT("seconds")),
+   mRate(44100),
+   mTime(0.0),
+   mTimeCtrl(NULL)
 {
    ShuttleGui S(this, eIsCreating);
    PopulateOrExchange(S);
@@ -50,7 +47,7 @@ void TimeDialog::PopulateOrExchange(ShuttleGui &S)
    S.SetBorder(5);
    S.StartVerticalLay(true);
    {
-      S.StartStatic(_("Duration"), true);
+      S.StartStatic(mPrompt, true);
       {
          mTimeCtrl = new
             TimeTextCtrl(this,
@@ -61,7 +58,7 @@ void TimeDialog::PopulateOrExchange(ShuttleGui &S)
                          wxDefaultPosition,
                          wxDefaultSize,
                          true);
-         mTimeCtrl->SetName(_("Duration"));
+         mTimeCtrl->SetName(mPrompt);
          mTimeCtrl->SetFormatString(mTimeCtrl->GetBuiltinFormat(mFormat));
          S.AddWindow(mTimeCtrl);
          mTimeCtrl->EnableMenu();
diff --git a/src/TimeDialog.h b/src/TimeDialog.h
index 2d117bb..e33db57 100644
--- a/src/TimeDialog.h
+++ b/src/TimeDialog.h
@@ -25,12 +25,8 @@ class TimeDialog:public wxDialog
  public:
 
    TimeDialog(wxWindow *parent,
-                  wxWindowID id,
-                  const wxString &title,
-                  const wxPoint &pos = wxDefaultPosition,
-                  const wxSize &size = wxDefaultSize,
-                  long style = wxDEFAULT_DIALOG_STYLE,
-                  const wxString &name = wxDialogNameStr);
+              const wxString &title,
+              const wxString &prompt = _("Duration"));
 
    void SetFormatString(wxString formatString);
    void SetSampleRate(double sampleRate);
@@ -47,6 +43,7 @@ class TimeDialog:public wxDialog
 
  private:
 
+   wxString mPrompt;
    wxString mFormat;
    double mRate;
    double mTime;
diff --git a/src/TimeTrack.cpp b/src/TimeTrack.cpp
index b0aa58b..b5545f2 100644
--- a/src/TimeTrack.cpp
+++ b/src/TimeTrack.cpp
@@ -41,7 +41,7 @@ TimeTrack::TimeTrack(DirManager *projDirManager):
    mEnvelope->SetInterpolateDB(false);
    mEnvelope->Flatten(0.5);
    mEnvelope->Mirror(false);
-   SetDefaultName(_NoAcc("&Time Track"));
+   SetDefaultName(_("Time Track"));
    SetName(GetDefaultName());
 
    mRuler = new Ruler();
@@ -139,7 +139,12 @@ bool TimeTrack::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
                return false;
             mChannel = nValue;
          }
-
+         else if (!wxStrcmp(attr, wxT("height")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            mHeight = nValue;
+         else if (!wxStrcmp(attr, wxT("minimized")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            mMinimized = (nValue != 0);
          
       } // while
       return true;
@@ -163,13 +168,15 @@ void TimeTrack::WriteXML(XMLWriter &xmlFile)
    xmlFile.WriteAttr(wxT("name"), mName);
    xmlFile.WriteAttr(wxT("channel"), mChannel);
    xmlFile.WriteAttr(wxT("offset"), mOffset, 8);
+   xmlFile.WriteAttr(wxT("height"), this->GetActualHeight());
+   xmlFile.WriteAttr(wxT("minimized"), this->GetMinimized());
 
    mEnvelope->WriteXML(xmlFile);
 
    xmlFile.EndTag(wxT("timetrack"));
 }
 
-void TimeTrack::Draw(wxDC & dc, wxRect & r, double h, double pps)
+void TimeTrack::Draw(wxDC & dc, const wxRect & r, double h, double pps)
 {
    double tstep = 1.0 / pps;                     // Seconds per point
    double t0 = h;
@@ -220,7 +227,7 @@ void TimeTrack::Draw(wxDC & dc, wxRect & r, double h, double pps)
    for (x = 0; x < mid.width; x++)
       {
          int thisy = r.y + heights[x];
-         dc.DrawLine(mid.x + x, thisy, mid.x + x, thisy+3);
+         AColor::Line(dc, mid.x + x, thisy, mid.x + x, thisy+3);
       }
 
    if (heights)
diff --git a/src/TimeTrack.h b/src/TimeTrack.h
index f6b0412..068865d 100644
--- a/src/TimeTrack.h
+++ b/src/TimeTrack.h
@@ -40,7 +40,7 @@ class TimeTrack: public Track {
    virtual double GetStartTime() { return 0.0; };
    virtual double GetEndTime() { return 0.0; };
 
-   void Draw(wxDC & dc, wxRect & r, double h, double pps);
+   void Draw(wxDC & dc, const wxRect & r, double h, double pps);
 
    // XMLTagHandler callback methods for loading and saving
 
diff --git a/src/TimerRecordDialog.cpp b/src/TimerRecordDialog.cpp
index 5cd3300..6170e4a 100644
--- a/src/TimerRecordDialog.cpp
+++ b/src/TimerRecordDialog.cpp
@@ -4,7 +4,7 @@
 
   TimerRecordDialog.cpp
 
-  Copyright 2006 by Vaughan Johnson
+  Copyright 2006-2009 by Vaughan Johnson
   
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
 *******************************************************************//**
 
 \class TimerRecordDialog
-\brief Dialog for Timer Record, i.e., timed or long recording, limited GUI.
+\brief Dialog for Timer Record, i.e., timed or long recording.
 
 *//*******************************************************************/
 
@@ -27,6 +27,7 @@
 #include <wx/sizer.h>
 #include <wx/string.h>
 #include <wx/timer.h>
+#include <wx/dynlib.h> //<! For windows.h
 
 #include "TimerRecordDialog.h"
 #include "Project.h"
@@ -67,7 +68,6 @@ END_EVENT_TABLE()
 TimerRecordDialog::TimerRecordDialog(wxWindow* parent)
 : wxDialog(parent, -1, _("Audacity Timer Record"), wxDefaultPosition, 
            wxDefaultSize, wxCAPTION)
-//           wxDefaultSize, wxCAPTION | wxTHICK_FRAME)
 {
    m_DateTime_Start = wxDateTime::UNow(); 
    m_TimeSpan_Duration = wxTimeSpan::Minutes(5); // default 5 minute duration
@@ -199,64 +199,63 @@ void TimerRecordDialog::OnTimeText_Duration(wxCommandEvent& event)
 
 void TimerRecordDialog::OnOK(wxCommandEvent& event)
 {
-   m_timer.Stop(); // Don't need to keep updating m_DateTime_Start to prevent backdating.
-
    this->TransferDataFromWindow();
+   if (!m_TimeSpan_Duration.IsPositive())
+   {
+      wxMessageBox(_("Duration is zero. Nothing will be recorded."), 
+                     _("Error in Duration"), wxICON_EXCLAMATION | wxOK);
+      return;
+   }
 
-   bool bDidCancel = false;
+   m_timer.Stop(); // Don't need to keep updating m_DateTime_Start to prevent backdating.
+
+   int updateResult = eProgressSuccess;
    if (m_DateTime_Start > wxDateTime::UNow()) 
-      bDidCancel = !this->WaitForStart(); 
+      updateResult = this->WaitForStart(); 
 
-   if (!bDidCancel)  
+   if (updateResult != eProgressSuccess) 
+   {
+      // Don't proceed, but don't treat it as canceled recording. User just canceled waiting. 
+      this->EndModal(wxID_CANCEL);
+      return;
+   }
+   else 
    {
       // Record for specified time.
    	AudacityProject* pProject = GetActiveProject();
       pProject->OnRecord();
-
       bool bIsRecording = true;
 
-      /* Although inaccurate, use the wxProgressDialog wxPD_ELAPSED_TIME | wxPD_REMAINING_TIME 
-         instead of calculating and presenting it.
-            wxTimeSpan remaining_TimeSpan;
-            wxString strNewMsg;
-         */
-
       wxString strMsg = 
          _("Recording start") + (wxString)wxT(":\t\t")
-		 + GetDisplayDate(m_DateTime_Start) + wxT("\n") + _("Recording end")
-       + wxT(":\t\t") + GetDisplayDate(m_DateTime_End) + wxT("\n")
-		 + _("Duration") + wxT(":\t\t") + m_TimeSpan_Duration.Format(); 
+         + GetDisplayDate(m_DateTime_Start) + wxT("\n") + _("Recording end")
+         + wxT(":\t\t") + GetDisplayDate(m_DateTime_End) + wxT("\n")
+         + _("Duration") + wxT(":\t\t") + m_TimeSpan_Duration.Format(); 
 
-      ProgressDialog progress(
-               _("Audacity Timer Record Progress"), // const wxString& title,
-               strMsg); // const wxString& message
+      TimerProgressDialog 
+         progress(m_TimeSpan_Duration.GetMilliseconds().GetValue(), 
+                  _("Audacity Timer Record Progress"), 
+                  strMsg); 
 
       // Make sure that start and end time are updated, so we always get the full 
       // duration, even if there's some delay getting here.
       wxTimerEvent dummyTimerEvent;
       this->OnTimer(dummyTimerEvent);
 
-      wxDateTime dateTime_UNow;
-      wxTimeSpan done_TimeSpan;
-      while (bIsRecording && !bDidCancel) {
-		 // sit in this loop during the recording phase, i.e. from rec start to
-		 // recording end
+      // Loop for progress display during recording.
+      while (bIsRecording && updateResult == eProgressSuccess) 
+      {
          wxMilliSleep(kTimerInterval);
-         
-         dateTime_UNow = wxDateTime::UNow();	// get time now
-         done_TimeSpan = dateTime_UNow - m_DateTime_Start;
-		 // work out how long we have been recording for
-         // remaining_TimeSpan = m_DateTime_End - dateTime_UNow;
-
-         // strNewMsg = strMsg + _("\nDone: ") + done_TimeSpan.Format() + _("     Remaining: ") + remaining_TimeSpan.Format();
-         bDidCancel = !progress.Update(done_TimeSpan.GetSeconds(),
-                                       m_TimeSpan_Duration.GetSeconds()); // , strNewMsg);
-         bIsRecording = (wxDateTime::UNow() <= m_DateTime_End);
+         updateResult = progress.Update();
+         bIsRecording = (wxDateTime::UNow() <= m_DateTime_End); // Call UNow() again for extra accuracy...
       }
       pProject->OnStop();
    }
-
-   this->EndModal(wxID_OK);
+   // Let the caller handle cancellation or failure from recording progress. 
+   if (updateResult == eProgressCancelled || updateResult == eProgressFailed)
+      this->EndModal(updateResult);
+   else
+      this->EndModal(wxID_OK);
 }
 
 wxString TimerRecordDialog::GetDisplayDate( wxDateTime & dt )
@@ -358,7 +357,7 @@ void TimerRecordDialog::PopulateOrExchange(ShuttleGui& S)
          m_pTimeTextCtrl_Duration = new TimeTextCtrl(this, ID_TIMETEXT_DURATION, strFormat1);
          m_pTimeTextCtrl_Duration->SetName(_("Duration"));
          m_pTimeTextCtrl_Duration->SetTimeValue(
-            Internat::CompatibleToDouble(m_TimeSpan_Duration.GetSeconds().ToString())); //v milliseconds?
+            Internat::CompatibleToDouble(m_TimeSpan_Duration.GetSeconds().ToString())); 
          S.AddWindow(m_pTimeTextCtrl_Duration);
          m_pTimeTextCtrl_Duration->EnableMenu(false);
       }
@@ -409,7 +408,7 @@ void TimerRecordDialog::UpdateDuration()
 {
    m_TimeSpan_Duration = m_DateTime_End - m_DateTime_Start;
    m_pTimeTextCtrl_Duration->SetTimeValue(
-      Internat::CompatibleToDouble(m_TimeSpan_Duration.GetSeconds().ToString())); //v milliseconds?
+      Internat::CompatibleToDouble(m_TimeSpan_Duration.GetSeconds().ToString())); 
 }
 
 // Update m_DateTime_End and ctrls based on m_DateTime_Start and m_TimeSpan_Duration.
@@ -423,28 +422,28 @@ void TimerRecordDialog::UpdateEnd()
    m_pTimeTextCtrl_End->SetTimeValue(wxDateTime_to_AudacityTime(m_DateTime_End));
 }
 
-bool TimerRecordDialog::WaitForStart()
+int TimerRecordDialog::WaitForStart()
 {
    wxString strMsg;
    /* i18n-hint: A time specification like "Sunday 28th October 2007 15:16:17 GMT"
 	* but hopefully translated by wxwidgets will be inserted into this */
-   strMsg.Printf(_("Waiting to start recording at %s.\n"), GetDisplayDate(m_DateTime_Start).c_str()); 
-   ProgressDialog progress(_("Audacity Timer Record - Waiting for Start"),
-                           strMsg);
+   strMsg.Printf(_("Waiting to start recording at %s.\n"), 
+                  GetDisplayDate(m_DateTime_Start).c_str()); 
    wxDateTime startWait_DateTime = wxDateTime::UNow();
    wxTimeSpan waitDuration = m_DateTime_Start - startWait_DateTime;
+   TimerProgressDialog 
+      progress(waitDuration.GetMilliseconds().GetValue(), 
+               _("Audacity Timer Record - Waiting for Start"),
+               strMsg, 
+               pdlgHideStopButton);
 
-   bool bDidCancel = false;
+   int updateResult = eProgressSuccess;
    bool bIsRecording = false;
-   wxTimeSpan done_TimeSpan;
-   while (!bDidCancel && !bIsRecording) {
+   while (updateResult == eProgressSuccess && !bIsRecording) 
+   {
       wxMilliSleep(10);
-
-      done_TimeSpan = wxDateTime::UNow() - startWait_DateTime;
-      bDidCancel = !progress.Update(done_TimeSpan.GetSeconds(),
-                                    waitDuration.GetSeconds());
-
+      updateResult = progress.Update();
       bIsRecording = (m_DateTime_Start <= wxDateTime::UNow());
    }
-   return !bDidCancel;
+   return updateResult;
 }
diff --git a/src/TimerRecordDialog.h b/src/TimerRecordDialog.h
index 7291f68..da2f573 100644
--- a/src/TimerRecordDialog.h
+++ b/src/TimerRecordDialog.h
@@ -48,7 +48,7 @@ private:
    bool TransferDataFromWindow();
    void UpdateDuration(); // Update m_TimeSpan_Duration and ctrl based on m_DateTime_Start and m_DateTime_End.
    void UpdateEnd(); // Update m_DateTime_End and ctrls based on m_DateTime_Start and m_TimeSpan_Duration.
-   bool WaitForStart();
+   int WaitForStart();
 
 private:
    wxDateTime m_DateTime_Start;
diff --git a/src/Track.cpp b/src/Track.cpp
index 3226195..c758352 100644
--- a/src/Track.cpp
+++ b/src/Track.cpp
@@ -13,12 +13,6 @@
 Classes derived form it include the WaveTrack, NoteTrack, LabelTrack 
 and TimeTrack.
 
-*//****************************************************************//**
-
-\class ConstTrackListIterator
-\brief ConstTrackListIterator provides an iterator to iterate through 
-a TrackList.
-
 *//*******************************************************************/
 
 #include <float.h>
@@ -30,6 +24,7 @@ a TrackList.
 #include "WaveTrack.h"
 #include "NoteTrack.h"
 #include "LabelTrack.h"
+#include "Project.h"
 #include "TimeTrack.h"
 #include "DirManager.h"
 
@@ -41,24 +36,25 @@ a TrackList.
 #ifdef __WXDEBUG__
    // if we are in a debug build of audacity
    /// Define this to do extended (slow) debuging of TrackListIterator
-   #define DEBUG_TLI
+//   #define DEBUG_TLI
 #endif
 
 Track::Track(DirManager * projDirManager) 
-   : 
-   vrulerSize(36,0),
+:  vrulerSize(36,0),
    mDirManager(projDirManager)
 {
    mDirManager->Ref();
 
+   mList      = NULL;
+   mNode      = NULL;
    mSelected  = false;
    mLinked    = false;
-   mTeamed    = false;
    mMute      = false;
    mSolo      = false;
 
-   //mHeight = 136;
+   mY = 0;
    mHeight = 150;
+   mIndex = 0;
    
    mMinimized = false;
 
@@ -71,6 +67,11 @@ Track::Track(const Track &orig)
 {
    mDirManager = NULL;
 
+   mList = NULL;
+   mNode = NULL;
+   mY = 0;
+   mIndex = 0;
+
    Init(orig);
    mOffset = orig.mOffset;
 }
@@ -81,10 +82,10 @@ void Track::Init(const Track &orig)
    mDefaultName = orig.mDefaultName;
    mName = orig.mName;
 
-   if (mDirManager != orig.mDirManager)
-   {
-      if (mDirManager)
+   if (mDirManager != orig.mDirManager) {
+      if (mDirManager) {
          mDirManager->Deref(); // MM: unreference old DirManager
+      }
 
       // MM: Assign and ref new DirManager
       mDirManager = orig.mDirManager;
@@ -93,7 +94,6 @@ void Track::Init(const Track &orig)
 
    mSelected = orig.mSelected;
    mLinked = orig.mLinked;
-   mTeamed = orig.mTeamed;
    mMute = orig.mMute;
    mSolo = orig.mSolo;
    mHeight = orig.mHeight;
@@ -113,214 +113,569 @@ Track::~Track()
    mDirManager->Deref();
 }
 
+
+const TrackListNode *Track::GetNode()
+{
+   return mNode;
+}
+
+// A track can only live on one list at a time, so if you're moving a
+// track from one list to another, you must call SetOwner() with NULL
+// pointers first and then with the real pointers.
+void Track::SetOwner(TrackList *list, TrackListNode *node)
+{
+   // Try to detect offenders while in development.
+   wxASSERT(list == NULL || mList == NULL);
+   wxASSERT(node == NULL || mNode == NULL);
+   wxASSERT((list != NULL && node != NULL) || (list == NULL && node == NULL));
+
+   mList = list;
+   mNode = node;
+}
+
 int Track::GetMinimizedHeight() const
 {
-   if (mTeamed)
+   if (GetLink()) {
       return 20;
-   else
-      return 40;
+   }
+
+   return 40;
+}
+
+int Track::GetIndex() const
+{
+   return mIndex;
+}
+
+void Track::SetIndex(int index)
+{
+   mIndex = index;
+}
+
+int Track::GetY() const
+{
+   return mY;
+}
+
+void Track::SetY(int y)
+{
+   mY = y;
 }
 
 int Track::GetHeight() const
 {
-   if (mMinimized)
+   if (mMinimized) {
       return GetMinimizedHeight();
-   else
-      return mHeight;
+   }
+
+   return mHeight;
+}
+
+void Track::SetHeight(int h)
+{
+   mHeight = h;
+   mList->RecalcPositions(mNode);
+   mList->ResizedEvent(mNode);
+}
+
+bool Track::GetMinimized() const
+{
+   return mMinimized;
+}
+
+void Track::SetMinimized(bool isMinimized)
+{
+   mMinimized = isMinimized;
+   mList->RecalcPositions(mNode);
+   mList->ResizedEvent(mNode);
+}
+
+Track *Track::GetLink() const
+{
+   if (mNode) {
+      if (mNode->next && mLinked) {
+         return mNode->next->t;
+      }
+
+      if (mNode->prev && mNode->prev->t->GetLinked()) {
+         return mNode->prev->t;
+      }
+   }
+
+   return NULL;
 }
 
 // TrackListIterator
 TrackListIterator::TrackListIterator(TrackList * val)
 {
    l = val;
+   cur = NULL;
 }
 
-Track *TrackListIterator::Last()
+Track *TrackListIterator::StartWith(Track * val)
 {
-   if( l == NULL )
+   if (val == NULL) {
+      return First();
+   }
+
+   if (l == NULL) {
       return NULL;
+   }
 
-   cur = l->tail;
+   cur = (TrackListNode *) val->GetNode();
 
-   if (cur)
+   if (cur) {
       return cur->t;
-   else
-      return NULL;
+   }
+
+   return NULL;
 }
 
 Track *TrackListIterator::First(TrackList * val)
 {
-   if (val != NULL)
+   if (val != NULL) {
       l = val;
+   }
 
-   if (l == NULL)
+   if (l == NULL) {
       return NULL;
+   }
 
    cur = l->head;
 
-   if (cur)
+   if (cur) {
       return cur->t;
-   else
+   }
+
+   return NULL;
+}
+
+Track *TrackListIterator::Last()
+{
+   if (l == NULL) {
       return NULL;
+   }
+
+   cur = l->tail;
+
+   if (cur) {
+      return cur->t;
+   }
+
+   return NULL;
 }
 
-Track *TrackListIterator::Next( bool SkipLinked )
+Track *TrackListIterator::Next(bool SkipLinked)
 {
    #ifdef DEBUG_TLI // if we are debugging this bit
    wxASSERT_MSG((!cur || (*l).Contains((*cur).t)), wxT("cur invalid at start of Next(). List changed since iterator created?"));   // check that cur is in the list
    #endif
-   if (SkipLinked && cur && cur->t->GetLinked())
+
+   if (SkipLinked && cur && cur->t->GetLinked()) {
       cur = cur->next;
+   }
+
    #ifdef DEBUG_TLI // if we are debugging this bit
    wxASSERT_MSG((!cur || (*l).Contains((*cur).t)), wxT("cur invalid after skipping linked tracks."));   // check that cur is in the list
    #endif
 
-   if (cur)
+   if (cur) {
       cur = cur->next;
+   }
 
    #ifdef DEBUG_TLI // if we are debugging this bit
    wxASSERT_MSG((!cur || (*l).Contains((*cur).t)), wxT("cur invalid after moving to next track."));   // check that cur is in the list if it is not null
    #endif
 
-   if (cur)
+   if (cur) {
       return cur->t;
-   else
-      return NULL;
+   }
+
+   return NULL;
 }
 
-Track *TrackListIterator::RemoveCurrent()
+Track *TrackListIterator::RemoveCurrent(bool deletetrack)
 {
-   TrackListNode *p = cur;
-   TrackListNode *next = p->next;
-
-   // Remove p from the linked list
-   if (p->prev)
-      p->prev->next = next;
-   else
-      l->head = next;
-
-   if (next)
-      next->prev = p->prev;
-   else
-      l->tail = p->prev;
-
-   delete p;
+   TrackListNode *next = cur->next;
 
+   l->Remove(cur->t, deletetrack);
+   
    cur = next;
+
    #ifdef DEBUG_TLI // if we are debugging this bit
    wxASSERT_MSG((!cur || (*l).Contains((*cur).t)), wxT("cur invalid after deletion of track."));   // check that cur is in the list
    #endif
 
-   if (cur)
+   if (cur) {
       return cur->t;
-   else
+   }
+
+   return NULL;
+}
+
+Track *TrackListIterator::ReplaceCurrent(Track *t)
+{
+   Track *p = NULL;
+
+   if (cur) {
+      p = cur->t;
+      p->SetOwner(NULL, NULL);
+
+      cur->t = t;
+      t->SetOwner(l, cur);
+      l->RecalcPositions(cur);
+      l->UpdatedEvent(cur);
+      l->ResizedEvent(cur);
+   }
+
+   return p;
+}
+
+// TrackListOfKindIterator
+TrackListOfKindIterator::TrackListOfKindIterator(int kind, TrackList * val)
+:  TrackListIterator(val)
+{
+   this->kind = kind;
+}
+
+Track *TrackListOfKindIterator::First(TrackList * val)
+{
+   Track *t = TrackListIterator::First(val);
+
+   while (t && (kind != Track::All && t->GetKind() != kind)) {
+      t = TrackListIterator::Next();
+   }
+
+   return t;
+}
+
+Track *TrackListOfKindIterator::Next(bool skiplinked)
+{
+   while (Track *t = TrackListIterator::Next(skiplinked)) {
+      if (t->GetKind() == kind || kind == Track::All) {
+         return t;
+      }
+   }
+
+   return NULL;
+}
+
+//SelectedTrackListOfKindIterator
+Track *SelectedTrackListOfKindIterator::First(TrackList * val)
+{
+   Track *t = TrackListOfKindIterator::First(val);
+
+   while (t && !t->GetSelected()) {
+      t = TrackListOfKindIterator::Next();
+   }
+
+   return t;
+}
+
+Track *SelectedTrackListOfKindIterator::Next(bool skiplinked)
+{
+   while (Track *t = TrackListOfKindIterator::Next(skiplinked)) {
+      if (t->GetSelected()) {
+         return t;
+      }
+   }
+
+   return NULL;
+}
+
+// VisibleTrackIterator
+//
+// Based on TrackListIterator returns only the currently visible tracks.
+//
+VisibleTrackIterator::VisibleTrackIterator(AudacityProject *project)
+:  TrackListIterator(project->GetTracks())
+{
+   mProject = project;
+   mPanelRect.SetTop(mProject->mViewInfo.vpos);
+   mPanelRect.SetSize(mProject->TP_GetTracksUsableArea());
+}
+
+Track *VisibleTrackIterator::First()
+{
+   Track *t = mProject->GetFirstVisible();
+   if (!t) {
       return NULL;
+   }
+
+   TrackListIterator::StartWith(t);
+
+   return t;
 }
 
-// TrackList
-TrackList::TrackList()
+Track *VisibleTrackIterator::Next(bool skiplinked)
 {
-   head = 0;
-   tail = 0;
+   Track *t = TrackListIterator::Next(skiplinked);
+   if (!t) {
+      return NULL;
+   }
+
+   wxRect r(0, t->GetY(), 1, t->GetHeight());
+   if (r.Intersects(mPanelRect)) {
+      return t;
+   }
+
+   return NULL;
+}
+
+// TrackGroupIterator
+//
+// Based on TrackListIterator returns only tracks belonging to the group
+// in which the starting track is a member.
+//
+TrackGroupIterator::TrackGroupIterator(TrackList * val)
+:  TrackListIterator(val)
+{
+   mEndOfGroup = false;
 }
 
-TrackList::TrackList(TrackList * list)
+Track *TrackGroupIterator::First(Track * member)
 {
-   head = 0;
-   tail = 0;
+   Track *t = NULL;
+
+   // Scan forward for a label track
+   while (member && member->GetKind() == Track::Wave) {
+      member = l->GetNext(member);
+   }
 
-   TrackListIterator iter(list);
+   // It's not part of a group if one wasn't found
+   if (!member || member->GetKind() != Track::Label) {
+      return NULL;
+   }
 
-   Track *t = iter.First();
-   while (t) {
-      Add(t);
-      t = iter.Next();
+   // Find first wave track in the group
+   member = l->GetPrev(member);
+   while (member && member->GetKind() == Track::Wave) {
+      t = member;
+      member = l->GetPrev(member);
    }
+
+   // Make it current
+   if (t)
+      cur = (TrackListNode *) t->GetNode();
+
+   return t;
 }
 
-TrackList::~TrackList()
+Track *TrackGroupIterator::Next(bool skiplinked)
 {
-   Clear();
+   Track *t = TrackListIterator::Next(skiplinked);
+
+   // End of the group has been reached
+   if (!t || mEndOfGroup) {
+      return NULL;
+   }
+
+   // Found the end of the group, so signal for next iteration
+   if (t->GetKind() == Track::Label) {
+      mEndOfGroup = true;
+   }
+
+   return t;
 }
 
-double TrackList::GetMinOffset() const
+// TrackAndGroupIterator
+//
+// Based on TrackListIterator has methods to retrieve both tracks and groups
+//
+TrackAndGroupIterator::TrackAndGroupIterator(TrackList * val)
+:  TrackListIterator(val)
 {
-   if (IsEmpty())
-      return 0.0;
+}
 
-   double len = head->t->GetOffset();
-   ConstTrackListIterator iter(this);
+Track *TrackAndGroupIterator::NextGroup(bool skiplinked)
+{
+   if (!cur)
+      return NULL;
 
-   for (Track *t = iter.First(); t; t = iter.Next()) {
-      double l = t->GetOffset();
-      if (l < len)
-         len = l;
+   Track* t = cur->t;
+   
+   if (t->GetKind() == Track::Label) {
+      // the next group when we have a LabelTrack is the next track
+      return TrackListIterator::Next(skiplinked);
    }
 
-   return len;
+   TrackGroupIterator git(l);
+   if (git.First(t) == NULL) {
+      //not part of a group
+      return TrackListIterator::Next(skiplinked);
+   }
+
+   //skip the remaining tracks of the current group
+   for (; t != NULL && t->GetKind() != Track::Label; t = TrackListIterator::Next(skiplinked) );
+
+   if (t) {
+      //Reached final Label track, let's go to the next group
+      t = TrackListIterator::Next(skiplinked);
+   }
+
+   return t;
 }
 
-int TrackList::GetHeight() const
+// TrackList
+//
+// The TrackList sends itself events whenever an update occurs to the list it
+// is managing.  Any other classes that may be interested in get these updates
+// should use TrackList::Connect() and TrackList::Disconnect().
+//
+DEFINE_EVENT_TYPE(EVT_TRACKLIST_RESIZED);
+DEFINE_EVENT_TYPE(EVT_TRACKLIST_UPDATED);
+
+TrackList::TrackList()
+:  wxEvtHandler()
 {
-   int height = 0;
+   head = NULL;
+   tail = NULL;
+}
 
-   ConstTrackListIterator iter(this);
+TrackList::~TrackList()
+{
+   Clear();
+}
 
-   for (Track *t = iter.First(); t; t = iter.Next())
-      height += t->GetHeight();
+void TrackList::RecalcPositions(const TrackListNode *node)
+{
+   Track *t;
+   int i = 0;
+   int y = 0;
 
-   return height;
+   if (!node) {
+      return;
+   }
+
+   if (node->prev) {
+      t = node->prev->t;
+      i = t->GetIndex() + 1;
+      y = t->GetY() + t->GetHeight();
+   }
+
+   for (const TrackListNode *n = node; n; n = n->next) {
+      t = n->t;
+      t->SetIndex(i++);
+      t->SetY(y);
+      y += t->GetHeight();
+   }
+}
+
+void TrackList::UpdatedEvent(const TrackListNode *node)
+{
+   wxCommandEvent e(EVT_TRACKLIST_UPDATED);
+   if (node) {
+      e.SetClientData(node->t);
+   }
+   else {
+      e.SetClientData(NULL);
+   }
+   ProcessEvent(e);
+}
+
+void TrackList::ResizedEvent(const TrackListNode *node)
+{
+   if (node) {
+      wxCommandEvent e(EVT_TRACKLIST_RESIZED);
+      e.SetClientData(node->t);
+      ProcessEvent(e);
+   }
 }
 
 void TrackList::Add(Track * t)
 {
    TrackListNode *n = new TrackListNode();
+   t->SetOwner(this, n);
+
    n->t = (Track *) t;
    n->prev = tail;
-   n->next = 0;
-   if (tail)
+   n->next = NULL;
+
+   if (tail) {
       tail->next = n;
+   }
    tail = n;
-   if (!head)
+
+   if (!head) {
       head = n;
+   }
+
+   RecalcPositions(n);
+   UpdatedEvent(n);
 }
 
 void TrackList::AddToHead(Track * t)
 {
    TrackListNode *n = new TrackListNode();
+   t->SetOwner(this, n);
+
    n->t = (Track *) t;
-   n->prev = 0;
+   n->prev = NULL;
    n->next = head;
-   if (head)
+
+   if (head) {
       head->prev = n;
+   }
    head = n;
-   if (!tail)
+
+   if (!tail) {
       tail = n;
+   }
+
+   RecalcPositions(head);
+   UpdatedEvent(n);
+   ResizedEvent(n);
 }
 
-// TODO: Removing a track does not free the track resources.
-void TrackList::Remove(Track * t)
+void TrackList::Replace(Track * t, Track * with, bool deletetrack)
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         // Remove p from the linked list
+   if (t && with) {
+      TrackListNode *node = (TrackListNode *) t->GetNode();
 
-         if (p->prev)
-            p->prev->next = p->next;
-         else
-            head = p->next;
+      t->SetOwner(NULL, NULL);
+      if (deletetrack) {
+         delete t;
+      }
 
-         if (p->next)
-            p->next->prev = p->prev;
-         else
-            tail = p->prev;
+      node->t = with;
+      with->SetOwner(this, node);
+      RecalcPositions(node);
+      UpdatedEvent(node);
+      ResizedEvent(node);
+   }
+}
 
-         delete p;
+void TrackList::Remove(Track * t, bool deletetrack)
+{
+   if (t) {
+      TrackListNode *node = (TrackListNode *) t->GetNode();
 
-         return;
+      t->SetOwner(NULL, NULL);
+      if (deletetrack) {
+         delete t;
+      }
+
+      if (node) {
+         if (node->prev) {
+            node->prev->next = node->next;
+         }
+         else {
+            head = node->next;
+         }
+
+         if (node->next) {
+            node->next->prev = node->prev;
+            RecalcPositions(node->next);
+         }
+         else {
+            tail = node->prev;
+         }
+
+         UpdatedEvent(NULL);
+         ResizedEvent(node->next);
+
+         delete node;
       }
-      p = p->next;
    }
 }
 
@@ -328,137 +683,122 @@ void TrackList::Clear(bool deleteTracks /* = false */)
 {
    while (head) {
       TrackListNode *temp = head;
-      if (deleteTracks)
-      {
+
+      head->t->SetOwner(NULL, NULL);
+      if (deleteTracks) {
          delete head->t;
       }
+
       head = head->next;
       delete temp;
    }
-   tail = 0;
+   tail = NULL;
+
+   UpdatedEvent(NULL);
 }
 
 void TrackList::Select(Track * t, bool selected /* = true */ )
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
+   if (t) {
+      const TrackListNode *node = t->GetNode();
+      if (node) {
          t->SetSelected(selected);
-         if (t->GetLinked() && p->next)
-            p->next->t->SetSelected(selected);
-         else if (p->prev && p->prev->t->GetLinked())
-            p->prev->t->SetSelected(selected);
-
-         return;
+         if (t->GetLinked() && node->next) {
+            node->next->t->SetSelected(selected);
+         }
+         else if (node->prev && node->prev->t->GetLinked()) {
+            node->prev->t->SetSelected(selected);
+         }
       }
-      p = p->next;
    }
 }
 
-
 Track *TrackList::GetLink(Track * t) const
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         if (t->GetLinked() && p->next)
-            return p->next->t;
-         else if (p->prev && p->prev->t->GetLinked())
-            return p->prev->t;
-
-         return NULL;
-      }
-      p = p->next;
+   if (t) {
+      return t->GetLink();
    }
+
    return NULL;
 }
 
-Track *TrackList::GetNext(Track * t, bool linked ) const
+Track *TrackList::GetNext(Track * t, bool linked) const
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         if (linked && t->GetLinked() && p->next)
-            p = p->next;
-         if (p && p->next)
-            return p->next->t;
-         else
-            return NULL;
+   if (t) {
+      const TrackListNode *node = t->GetNode();
+      if (node) {
+         if (linked && t->GetLinked()) {
+            node = node->next;
+         }
+
+         if (node) {
+            node = node->next;
+         }
+         
+         if (node) {
+            return node->t;
+         }
       }
-      p = p->next;
    }
+
    return NULL;
 }
 
-Track *TrackList::GetPrev(Track * t, bool linked ) const
+Track *TrackList::GetPrev(Track * t, bool linked) const
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         if (linked && p->prev && p->prev->prev && p->prev->prev->t->GetLinked())
-            p = p->prev;
-         if (p && p->prev)
-            return p->prev->t;
-         else
-            return NULL;
+   if (t) {
+      const TrackListNode *node = t->GetNode();
+      if (node) {
+         if (linked) {
+            // Input track second in team?
+            if (!t->GetLinked() && t->GetLink()) {
+               // Make it the first
+               node = node->prev;
+            }
+
+            // Get the previous node
+            node = node->prev;
+
+            // Bump back to start of team
+            if (node && node->t->GetLink()) {
+               node = node->prev;
+            }
+         }
+         else {
+            node = node->prev;
+         }
+
+         if (node) {
+            return node->t;
+         }
       }
-      p = p->next;
    }
+
    return NULL;
 }
 
 /// For mono track height of track
 /// For stereo track combined height of track and linked track.
-/// Assumes we are on the first track of the pair.
-int TrackList::GetGroupHeight( Track*t ) const
+int TrackList::GetGroupHeight(Track * t) const
 {
-   wxASSERT( t );
-   int height=t->GetHeight();
-   if( !t->GetLinked() )
-      return height;
+   int height = t->GetHeight();
 
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         if( p->next )
-            return height + p->next->t->GetHeight();
-      }
-      p = p->next;
+   t = t->GetLink();
+   if (t) {
+      height += t->GetHeight();
    }
-   wxASSERT( false );
-   return 0;
+
+   return height;
 }
 
 bool TrackList::CanMoveUp(Track * t) const
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         if (p->prev && p->prev->t->GetLinked())
-            return CanMoveUp(p->prev->t);
-         else if (p->prev)
-            return true;
-         else
-            return false;
-      }
-      p = p->next;
-   }
-   return false;
+   return GetPrev(t, true) != NULL;
 }
 
 bool TrackList::CanMoveDown(Track * t) const
 {
-   TrackListNode *p = head;
-   while (p) {
-      if (p->t == t) {
-         if (t->GetLinked())
-            return (p->next != NULL && p->next->next != NULL);
-         else
-            return (p->next != NULL);
-      }
-      p = p->next;
-   }
-   return false;
+   return GetNext(t, true) != NULL;
 }
 
 // Precondition: if either of s1 or s2 are "linked", then
@@ -471,6 +811,7 @@ bool TrackList::CanMoveDown(Track * t) const
 // in one of the tracks.
 void TrackList::Swap(TrackListNode * s1, TrackListNode * s2)
 {
+   Track *link;
    Track *source[4];
    TrackListNode *target[4];
 
@@ -478,12 +819,24 @@ void TrackList::Swap(TrackListNode * s1, TrackListNode * s2)
    wxASSERT(s1);
    wxASSERT(s2);
 
+   // Deal with firat track in each team
+   link = s1->t->GetLink();
+   if (!s1->t->GetLinked() && link) {
+      s1 = (TrackListNode *) link->GetNode();
+   }
+
+   link = s2->t->GetLink();
+   if (!s2->t->GetLinked() && link) {
+      s2 = (TrackListNode *) link->GetNode();
+   }
+
    target[0] = s1;
    source[0] = target[0]->t;
    if (source[0]->GetLinked()) {
       target[1] = target[0]->next;
       source[1] = target[1]->t;
-   } else {
+   } 
+   else {
       target[1] = NULL;
       source[1] = NULL;
    }
@@ -493,7 +846,8 @@ void TrackList::Swap(TrackListNode * s1, TrackListNode * s2)
    if (source[2]->GetLinked()) {
       target[3] = target[2]->next;
       source[3] = target[3]->t;
-   } else {
+   }
+   else {
       target[3] = NULL;
       source[3] = NULL;
    }
@@ -502,81 +856,44 @@ void TrackList::Swap(TrackListNode * s1, TrackListNode * s2)
    for (int t = 0; t < 4; t++) {
       if (target[t]) {
          target[t]->t = source[s];
+         target[t]->t->SetOwner(NULL, NULL);
+         target[t]->t->SetOwner(this, target[t]);
+
          s = (s + 1) % 4;
-         if (!source[s])
+         if (!source[s]) {
             s = (s + 1) % 4;
+         }
       }
    }
+
+   RecalcPositions(s1);
+   UpdatedEvent(s1);
+   ResizedEvent(s1);
 }
 
 bool TrackList::MoveUp(Track * t)
 {
-   TrackListNode *p = head;
-   while (p) {
-      // iterate over all tracks in the list
-      if (p->t == t) {
-         // this is the track passed in
-         TrackListNode *second = p;
-         // handle the case where the track passed is second of a linked pair
-         // by changing second to be the first of the pair
-         if (second->prev && second->prev->t->GetLinked())
-            second = second->prev;
-
-         TrackListNode *first = second->prev;
-         if (!first)
-            return false;  // if no previous track
-         if (first->prev && first->prev->t->GetLinked())
-            first = first->prev; // if previous is 2nd of linked pair, then
-            // move before first of linked pair. Must always work because
-            // previous can only be second of linked pair if there is a first
-            // track in the linked pair.
-         // swap the two tracks over in the list
-         Swap(first, second);
-
+   if (t) {
+      Track *p = GetPrev(t, true);
+      if (p) {
+         Swap((TrackListNode *)p->GetNode(), (TrackListNode *)t->GetNode());
          return true;
       }
-      p = p->next;
    }
+
    return false;
 }
 
 bool TrackList::MoveDown(Track * t)
 {
-   TrackListNode *p = head;
-   while (p) {
-      // this while loop iterates over all tracks looking for the passed
-      // argument, t
-      if (p->t == t) {
-         // this if triggers when we find the track we were passed
-         TrackListNode *first = p;
-         // if there is a previous track, and that track is linked to this one,
-         // move current track pointer back to that track. This avoids trying
-         // to move the bottom track of a linked pair.
-         if (first->prev && first->prev->t->GetLinked())
-            first = first->prev;
-
-         TrackListNode *second;
-         if (!p->next)
-            return false;  // exit if there is no next track
-         if (p->t->GetLinked())
-            {  // if next track is part of linked pair
-            if (p->next->next)
-               {  // if track after next exists
-               second = p->next->next; // use it
-               }
-            else
-               {  // there isn't anything after the linked track!
-               return false;
-               }
-            }
-         else
-            second = p->next; // Just normal next track exists, so move down one
-
-         Swap(first, second);
+   if (t) {
+      Track *n = GetNext(t, true);
+      if (n) {
+         Swap((TrackListNode *)t->GetNode(), (TrackListNode *)n->GetNode());
          return true;
       }
-      p = p->next;
    }
+
    return false;
 }
 
@@ -584,8 +901,9 @@ bool TrackList::Contains(Track * t) const
 {
    TrackListNode *p = head;
    while (p) {
-      if (p->t == t)
+      if (p->t == t) {
          return true;
+      }
       p = p->next;
    }
    return false;
@@ -596,12 +914,24 @@ bool TrackList::IsEmpty() const
    return (head == NULL);
 }
 
+int TrackList::GetCount() const
+{
+   int cnt = 0;
+
+   if (tail) {
+      cnt = tail->t->GetIndex() + 1;
+   }
+
+   return cnt;
+}
+
 TimeTrack *TrackList::GetTimeTrack()
 {
    TrackListNode *p = head;
    while (p) {
-      if (p->t->GetKind() == Track::Time)
+      if (p->t->GetKind() == Track::Time) {
          return (TimeTrack *)p->t;
+      }
       p = p->next;
    }
    return NULL;
@@ -615,9 +945,9 @@ int TrackList::GetNumExportChannels(bool selectionOnly)
    int numMono = 0;
    /* track iteration kit */
    Track *tr;
-   TrackListIterator mIterator;
+   TrackListIterator iter;
 
-   for (tr = mIterator.First(this); tr != NULL; tr = mIterator.Next()) {
+   for (tr = iter.First(this); tr != NULL; tr = iter.Next()) {
 
       // Only want wave tracks
       if (tr->GetKind() != Track::Wave) {
@@ -625,9 +955,9 @@ int TrackList::GetNumExportChannels(bool selectionOnly)
       }
 
       // do we only want selected ones?
-      if ( selectionOnly && !(tr->GetSelected()))
-      { //want selected but this one is not
-          continue;
+      if (selectionOnly && !(tr->GetSelected())) {
+         //want selected but this one is not
+         continue;
       }
 
       // Found a left channel
@@ -660,14 +990,13 @@ int TrackList::GetNumExportChannels(bool selectionOnly)
          }
       }
    }
+
    // if there is stereo content, report 2, else report 1
    if (numRight > 0 || numLeft > 0) {
       return 2;
    }
-   else
-   {
-      return 1;
-   }
+
+   return 1;
 }
 
 void TrackList::GetWaveTracks(bool selectionOnly,
@@ -679,8 +1008,9 @@ void TrackList::GetWaveTracks(bool selectionOnly,
    TrackListNode *p = head;
    while (p) {
       if (p->t->GetKind() == Track::Wave && !(p->t->GetMute()) &&
-          (p->t->GetSelected() || !selectionOnly))
+          (p->t->GetSelected() || !selectionOnly)) {
          (*num)++;
+      }
       p = p->next;
    }
 
@@ -689,8 +1019,9 @@ void TrackList::GetWaveTracks(bool selectionOnly,
    i = 0;
    while (p) {
       if (p->t->GetKind() == Track::Wave && !(p->t->GetMute()) &&
-          (p->t->GetSelected() || !selectionOnly))
+          (p->t->GetSelected() || !selectionOnly)) {
          (*tracks)[i++] = (WaveTrack *)p->t;
+      }
       p = p->next;
    }
 }
@@ -702,11 +1033,13 @@ WaveTrackArray TrackList::GetWaveTrackArray(bool selectionOnly)
    TrackListNode *p = head;
    while (p) {
       if (p->t->GetKind() == Track::Wave &&
-          (p->t->GetSelected() || !selectionOnly))
+          (p->t->GetSelected() || !selectionOnly)) {
          waveTrackArray.Add((WaveTrack*)p->t);
+      }
 
       p = p->next;
    }
+
    return waveTrackArray;
 }
 
@@ -718,125 +1051,62 @@ NoteTrackArray TrackList::GetNoteTrackArray(bool selectionOnly)
    TrackListNode *p = head;
    while (p) {
       if (p->t->GetKind() == Track::Note &&
-         (p->t->GetSelected() || !selectionOnly))
+         (p->t->GetSelected() || !selectionOnly)) {
          noteTrackArray.Add((NoteTrack*)p->t);
+      }
 
       p = p->next;
    }
+
    return noteTrackArray;
 }
 #endif
 
-#ifdef new
-#undef new
-#endif
+int TrackList::GetHeight() const
+{
+   int height = 0;
 
-#include <map>
-#include "BlockFile.h"
-#include "Sequence.h"
-
-// get the sum of the sizes of all blocks this track list
-// references.  However, if a block is referred to multiple
-// times it is only counted once.  Return value is in bytes
-wxLongLong TrackList::GetSpaceUsage()
-{
-   // the map guarantees that I only count each block once
-   std::map<BlockFile*,wxLongLong> blockFiles;
-   for (TrackListNode *p = head; p; p = p->next) {
-      if (p->t->GetKind() == Track::Wave) {
-         WaveTrack* track = ((WaveTrack*)p->t);
-         for (WaveClipList::Node* it=track->GetClipIterator(); it; it=it->GetNext())
-         {
-            WaveClip* clip = it->GetData();
-            BlockArray *blocks = clip->GetSequenceBlockArray();
-            for (unsigned int i = 0; i < blocks->GetCount(); i++)
-               blockFiles[blocks->Item(i)->f] = blocks->Item(i)->f->GetSpaceUsage();
-         }
-      }
+   if (tail) {
+      const Track *t = tail->t;
+      height = t->GetY() + t->GetHeight();
    }
 
-   std::map<BlockFile*,wxLongLong>::const_iterator bfIter;
-   wxLongLong bytes = 0;
-   for (bfIter = blockFiles.begin(); bfIter != blockFiles.end(); bfIter++)
-      bytes += bfIter->second;
-
-   return bytes;
+   return height;
 }
 
-#include <set>
-#include "UndoManager.h"
-// Find out how much additional space was used to execute
-// this operation.
-//
-// Computed by getting a list of all blocks referenced by
-// *this* TrackList and removing all blocks referenced by
-// any previous TrackList.
-wxLongLong TrackList::GetAdditionalSpaceUsage(UndoStack *stack)
-{
-   TrackListNode *p;
-   // get a map of all blocks referenced in this TrackList
-   std::map<BlockFile*,wxLongLong> curBlockFiles;
-   for (p = head; p; p = p->next) {
-      if (p->t->GetKind() == Track::Wave) {
-         WaveTrack* track = ((WaveTrack*)p->t);
-         for (WaveClipList::Node* it=track->GetClipIterator(); it; it=it->GetNext())
-         {
-            WaveClip* clip = it->GetData();
-            BlockArray *blocks = clip->GetSequenceBlockArray();
-            for (unsigned int i = 0; i < blocks->GetCount(); i++)
-               curBlockFiles[blocks->Item(i)->f] = blocks->Item(i)->f->GetSpaceUsage();
-         }
-      }
+double TrackList::GetMinOffset() const
+{
+   const TrackListNode *node = head;
+   if (!node) {
+      return 0.0;
    }
 
-   // get a set of all blocks referenced in all prev TrackList
-   std::set<BlockFile*> prevBlockFiles;
-   unsigned int undoStackIdx = 0;
-   for (; undoStackIdx < stack->GetCount(); undoStackIdx++) {
-      UndoStackElem *stackElem = stack->Item(undoStackIdx);
-      if (stackElem->tracks == this)
-         break;
-      for (p = stackElem->tracks->head; p; p = p->next) {
-         if (p->t->GetKind() == Track::Wave) {
-            WaveTrack* track = ((WaveTrack*)p->t);
-            for (WaveClipList::Node* it=track->GetClipIterator(); it; it=it->GetNext())
-            {
-               WaveClip* clip = it->GetData();
-               BlockArray *blocks = clip->GetSequenceBlockArray();
-               for (unsigned int i = 0; i < blocks->GetCount(); i++)
-                  prevBlockFiles.insert(blocks->Item(i)->f);
-            }         
-         }
+   double len = node->t->GetOffset();
+
+   while (node = node->next) {
+      double l = node->t->GetOffset();
+      if (l < len) {
+         len = l;
       }
    }
-
-   // remove all blocks in prevBlockFiles from curBlockFiles
-   std::set<BlockFile*>::const_iterator prevIter = prevBlockFiles.begin();
-   for (; prevIter != prevBlockFiles.end(); prevIter++)
-      curBlockFiles.erase(*prevIter);
-
-   // sum the sizes of the blocks remaining in curBlockFiles;
-   std::map<BlockFile*,wxLongLong>::const_iterator curBfIter =
-      curBlockFiles.begin();
-   wxLongLong bytes = 0;
-   for (;curBfIter != curBlockFiles.end(); curBfIter++)
-      bytes += curBfIter->second;
-
-   return bytes;
+   
+   return len;
 }
 
 double TrackList::GetStartTime() const
 {
-   if (IsEmpty())
+   const TrackListNode *node = head;
+   if (!node) {
       return 0.0;
-   
-   double min = head->t->GetStartTime(); // head->t should be APIfied
-   ConstTrackListIterator iter(this);
-   
-   for (Track *t = iter.First(); t; t = iter.Next()) {
-      double l = t->GetStartTime();
-      if (l < min)
+   }
+
+   double min = node->t->GetStartTime();
+
+   while (node = node->next) {
+      double l = node->t->GetStartTime();
+      if (l < min) {
          min = l;
+      }
    }
    
    return min;
@@ -844,18 +1114,20 @@ double TrackList::GetStartTime() const
 
 double TrackList::GetEndTime() const
 {
-   if (IsEmpty())
+   const TrackListNode *node = head;
+   if (!node) {
       return 0.0;
-   
-   double max = head->t->GetEndTime();
-   ConstTrackListIterator iter(this);
-   
-   for (Track *t = iter.First(); t; t = iter.Next()) {
-      double l = t->GetEndTime();
-      if (l > max)
+   }
+
+   double max = node->t->GetEndTime();
+
+   while (node = node->next) {
+      double l = node->t->GetEndTime();
+      if (l > max) {
          max = l;
+      }
    }
-   
+
    return max;
 }
 
diff --git a/src/Track.h b/src/Track.h
index 8037ae4..2ef1842 100644
--- a/src/Track.h
+++ b/src/Track.h
@@ -12,14 +12,16 @@
 #define __AUDACITY_TRACK__
 
 #include "Audacity.h"
-#include <wx/string.h>
+
 #include <wx/dynarray.h>
+#include <wx/event.h>
+#include <wx/gdicmn.h>
 #include <wx/longlong.h>
+#include <wx/string.h>
 
+#include "Experimental.h"
 #include "SampleFormat.h"
 #include "xml/XMLTagHandler.h"
-#include "Experimental.h"
-#include <wx/gdicmn.h>
 
 #ifdef __WXMSW__
 #pragma warning(disable:4284)
@@ -31,27 +33,35 @@ class UndoStack;
 class LabelTrack;
 class TimeTrack;
 class WaveTrack;
+class AudacityProject;
 
-WX_DEFINE_ARRAY(WaveTrack*, WaveTrackArray);
+WX_DEFINE_USER_EXPORTED_ARRAY(WaveTrack*, WaveTrackArray, class AUDACITY_DLL_API);
 
 #if defined(USE_MIDI)
 class NoteTrack;
 WX_DEFINE_ARRAY(NoteTrack*, NoteTrackArray);
 #endif
 
-class AUDACITY_DLL_API Track: public XMLTagHandler {
+class TrackList;
+struct TrackListNode;
+
+class AUDACITY_DLL_API Track: public XMLTagHandler
+{
 
  // To be TrackDisplay
  protected:
-   int        mHeight;
-   wxString   mName;
-   wxString   mDefaultName;
+   TrackList     *mList;
+   TrackListNode *mNode;
+   int            mIndex;
+   int            mY;
+   int            mHeight;
+   wxString       mName;
+   wxString       mDefaultName;
 
-   bool       mSelected;
+   bool           mSelected;
 
-   bool       mLinked;
-   bool       mTeamed;
-   bool       mMinimized;
+   bool           mLinked;
+   bool           mMinimized;
 
  public:
    wxSize vrulerSize;
@@ -59,11 +69,21 @@ class AUDACITY_DLL_API Track: public XMLTagHandler {
    // This just returns a constant and can be overriden by subclasses
    // to specify a different height for the case that the track is minimized.
    virtual int GetMinimizedHeight() const;
- 
+   int GetActualHeight() { return mHeight; };
+
+   int GetIndex() const;
+   void SetIndex(int index);
+   int GetY() const;
+   void SetY(int y);
    int GetHeight() const;
-   void SetHeight( int h ) { mHeight = h; }
-   bool GetMinimized() const { return mMinimized; }
-   void SetMinimized(bool isMinimized) { mMinimized = isMinimized; }
+   void SetHeight(int h);
+   bool GetMinimized() const;
+   void SetMinimized(bool isMinimized);
+
+   Track *GetLink() const;
+
+   const TrackListNode *GetNode();
+   void SetOwner(TrackList *list, TrackListNode *node);
 
  // Keep in Track
 
@@ -77,20 +97,23 @@ class AUDACITY_DLL_API Track: public XMLTagHandler {
 
  public:
 
-   enum {
+   enum
+   {
       LeftChannel = 0,
       RightChannel = 1,
       MonoChannel = 2
    };
 
-   enum {
+   enum
+   {
       None,
       Wave,
 #if defined(USE_MIDI)
       Note,
 #endif
       Label,
-      Time
+      Time,
+      All
    } TrackKindEnum;
 
    Track(DirManager * projDirManager);
@@ -113,13 +136,11 @@ class AUDACITY_DLL_API Track: public XMLTagHandler {
    bool GetSelected() const { return mSelected; }
    bool GetMute    () const { return mMute;     }
    bool GetLinked  () const { return mLinked;   }
-   bool GetTeamed  () const { return mTeamed;   }
    bool GetSolo    () const { return mSolo;     }
 
    void SetSelected(bool s) { mSelected = s; }
    void SetMute    (bool m) { mMute     = m; }
-   void SetLinked  (bool l) { mLinked   = l; mTeamed = l; }
-   void SetTeamed  (bool l) { mTeamed   = l; mLinked = false; }
+   void SetLinked  (bool l) { mLinked   = l; }
    void SetSolo    (bool s) { mSolo     = s; }
 
    int    GetChannel() const { return mChannel; }
@@ -160,153 +181,230 @@ class AUDACITY_DLL_API Track: public XMLTagHandler {
    virtual double GetEndTime() { return 0.0; }
 };
 
-struct TrackListNode {
+struct TrackListNode
+{
    Track *t;
    TrackListNode *next;
    TrackListNode *prev;
 };
 
-class TrackList;
-
-class AUDACITY_DLL_API TrackListIterator {
+class AUDACITY_DLL_API TrackListIterator
+{
  public:
-  TrackListIterator(TrackList * val = NULL);
-  
-  // Iterate functions
-  Track *First(TrackList * val = NULL);
-  Track *Next(bool SkipLinked = false);
-  Track *RemoveCurrent();     // returns next
+   TrackListIterator(TrackList * val = NULL);
+   virtual ~TrackListIterator() {};
 
-  Track *Last();
+   // Iterate functions
+   virtual Track *First(TrackList * val = NULL);
+   virtual Track *StartWith(Track * val);
+   virtual Track *Next(bool skiplinked = false);
+   virtual Track *Last();
+
+   Track *ReplaceCurrent(Track *t);                // returns original
+   Track *RemoveCurrent(bool deletetrack = false); // returns next
   
+ protected:
+   TrackList *l;
+   TrackListNode *cur;
+};
+
+//
+// TrackListOfKindIterator
+//
+// Based on TrackListIterator and returns only tracks of the specified type.
+//
+class AUDACITY_DLL_API TrackListOfKindIterator: public TrackListIterator
+{
+ public:
+   TrackListOfKindIterator(int kind, TrackList * val = NULL);
+   virtual ~TrackListOfKindIterator() {};
+
+   // Iterate functions
+   Track *First(TrackList * val = NULL);
+   Track *Next(bool skiplinked = false);
+
+ private:
+   int kind;
+};
+
+//
+// SelectedTrackListOfKindIterator
+//
+// Based on TrackListOfKindIterator and returns only tracks selected.
+//
+class AUDACITY_DLL_API SelectedTrackListOfKindIterator: public TrackListOfKindIterator
+{
+ public:
+    SelectedTrackListOfKindIterator(int kind, TrackList * val = NULL) : TrackListOfKindIterator(kind, val) {};
+	virtual ~SelectedTrackListOfKindIterator() {};
+
+   // Iterate functions
+   Track *First(TrackList * val = NULL);
+   Track *Next(bool skiplinked = false);
+
  private:
-  TrackList * l;
-  TrackListNode *cur;
+   int kind;
+};
+
+//
+// VisibleTrackIterator
+//
+// Based on TrackListIterator returns only the currently visible tracks.
+//
+class AUDACITY_DLL_API VisibleTrackIterator: public TrackListIterator
+{
+ public:
+   VisibleTrackIterator(AudacityProject *project);
+   virtual ~VisibleTrackIterator() {};
+
+   // Iterate functions
+   Track *First();
+   Track *Next(bool skiplinked = false);
+
+ private:
+   AudacityProject *mProject;
+   wxRect mPanelRect;
+};
+
+//
+// TrackGroupIterator
+//
+// Based on TrackListIterator returns only tracks belonging to the group
+// in which the starting track is a member.
+//
+class AUDACITY_DLL_API TrackGroupIterator: public TrackListIterator
+{
+ public:
+   TrackGroupIterator(TrackList * val);
+   virtual ~TrackGroupIterator() {};
+
+   // Iterate functions
+   Track *First(Track *member);
+   Track *Next(bool skiplinked = false);
+
+ private:
+   bool mEndOfGroup;
+};
+
+//
+// TrackAndGroupIterator
+//
+// Based on TrackListIterator has methods to retrieve both tracks and groups
+//
+class AUDACITY_DLL_API TrackAndGroupIterator: public TrackListIterator
+{
+ public:
+   TrackAndGroupIterator(TrackList * val);
+
+   // Iterate functions
+   Track *NextGroup(bool skiplinked = false);
 };
 
 /** \brief TrackList is a flat linked list of tracks supporting Add,  Remove,
  * Clear, and Contains, plus serialization of the list of tracks.
  */
-class AUDACITY_DLL_API TrackList {
+
+// Posted when the horizontal positions within tracks have beed updated.  The
+// wxCommandEvent::GetClientData() method can be used to retrieve the first
+// track that was updated.  All positions following that track will have been
+// updated as well.
+DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_RESIZED, -1);
+
+// Posted when tracks have been added or deleted from a tracklist.  The pointer
+// wxCommandEvent::GetClientData() returns will be NULL for deletions or the
+// track that was added.
+DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_UPDATED, -1);
+
+class AUDACITY_DLL_API TrackList:public wxEvtHandler
+{
  public:
-  // Create an empty TrackList
-  TrackList();
-  
-  // Copy constructor
-  TrackList(TrackList * t);
-  
-  // Destructor
-  virtual ~TrackList();
-  
-  friend class TrackListIterator;
-  friend class ConstTrackListIterator;
-  
-  /// Add a this Track or all children of this TrackGroup
-  void Add(Track * t);
-  void AddToHead(Track * t);
-  
-  /// Remove this Track or all children of this TrackGroup
-  void Remove(Track * t);
-  
-  /// Make the list empty
-  void Clear(bool deleteTracks = false);
-  
-  /** Select a track, and if it is linked to another track, select it, too. */
-  void Select(Track * t, bool selected = true);
-  
-  /** If this track is linked to another track (the track immediately before or
+   // Create an empty TrackList
+   TrackList();
+
+   // Destructor
+   virtual ~TrackList();
+
+   friend class Track;
+   friend class TrackListIterator;
+
+   /// Add this Track or all children of this TrackGroup
+   void Add(Track * t);
+   void AddToHead(Track * t);
+
+   /// Replace first track with second track
+   void Replace(Track * t, Track * with, bool deletetrack = false);
+
+   /// Remove this Track or all children of this TrackGroup
+   void Remove(Track * t, bool deletetrack = false);
+
+   /// Make the list empty
+   void Clear(bool deleteTracks = false);
+
+   /** Select a track, and if it is linked to another track, select it, too. */
+   void Select(Track * t, bool selected = true);
+
+   /** If this track is linked to another track (the track immediately before or
    * after it), return its partner. Otherwise return null. */
-  Track *GetLink(Track * t) const;
-  
-  Track *GetPrev(Track * t, bool linked = false) const;
-  Track *GetNext(Track * t, bool linked = false) const;
-  int GetGroupHeight( Track*t ) const;
-  
-  bool CanMoveUp(Track * t) const;
-  bool CanMoveDown(Track * t) const;
-  
-  bool MoveUp(Track * t);
-  bool MoveDown(Track * t);
-  bool Move(Track * t, bool up) { return up ? MoveUp(t) : MoveDown(t); }
+   Track *GetLink(Track * t) const;
+
+   Track *GetPrev(Track * t, bool linked = false) const;
+   Track *GetNext(Track * t, bool linked = false) const;
+   int GetGroupHeight(Track * t) const;
+
+   bool CanMoveUp(Track * t) const;
+   bool CanMoveDown(Track * t) const;
 
-  TimeTrack *GetTimeTrack();
+   bool MoveUp(Track * t);
+   bool MoveDown(Track * t);
+   bool Move(Track * t, bool up) { return up ? MoveUp(t) : MoveDown(t); }
 
-  /** \brief Find out how many channels this track list mixes to
+   TimeTrack *GetTimeTrack();
+
+   /** \brief Find out how many channels this track list mixes to
    *
    * This is used in exports of the tracks to work out whether to export in 
    * Mono, Stereo etc. @param selectionOnly Whether to consider the entire track
    * list or only the selected members of it
    */
-  int GetNumExportChannels(bool selectionOnly);
+   int GetNumExportChannels(bool selectionOnly);
 
-  WaveTrackArray GetWaveTrackArray(bool selectionOnly);
-  /** Consider this function depricated in favor of GetWaveTrackArray */
-  void GetWaveTracks(bool selectionOnly, int *num, WaveTrack ***tracks);
+   WaveTrackArray GetWaveTrackArray(bool selectionOnly);
+   /** Consider this function depricated in favor of GetWaveTrackArray */
+   void GetWaveTracks(bool selectionOnly, int *num, WaveTrack ***tracks);
 
 #if defined(USE_MIDI)
-  NoteTrackArray GetNoteTrackArray(bool selectionOnly);
+   NoteTrackArray GetNoteTrackArray(bool selectionOnly);
 #endif
 
-  /// Mainly a test function. Uses a linear search, so could be slow.
-  bool Contains(Track * t) const;
-  
-  bool IsEmpty() const;
-  
-  double GetStartTime() const;
-  double GetEndTime() const;
+   /// Mainly a test function. Uses a linear search, so could be slow.
+   bool Contains(Track * t) const;
 
-  double GetMinOffset() const;
-  int GetHeight() const;
+   bool IsEmpty() const;
+   int GetCount() const;
 
-#if LEGACY_PROJECT_FILE_SUPPORT  
-  // File I/O
-  virtual bool Load(wxTextFile * in, DirManager * dirManager);
-  virtual bool Save(wxTextFile * out, bool overwrite);
-#endif
-  
-  wxLongLong GetSpaceUsage();
-  wxLongLong GetAdditionalSpaceUsage(UndoStack *stack);
- private:
-  void Swap(TrackListNode * s1, TrackListNode * s2);
-  
-  TrackListNode *head;
-  TrackListNode *tail;
-};
+   double GetStartTime() const;
+   double GetEndTime() const;
 
-class AUDACITY_DLL_API ConstTrackListIterator {
- public:
-    ConstTrackListIterator(const TrackList * val) : l(val), cur(NULL) {}
+   double GetMinOffset() const;
+   int GetHeight() const;
 
-    // Iterate functions
-    Track *First() const
-    {
-       cur = l->head;
+#if LEGACY_PROJECT_FILE_SUPPORT  
+   // File I/O
+   virtual bool Load(wxTextFile * in, DirManager * dirManager);
+   virtual bool Save(wxTextFile * out, bool overwrite);
+#endif
 
-       if (cur) return cur->t;
-       return NULL;
-    }
+ private:
+   void RecalcPositions(const TrackListNode *node);
+   void UpdatedEvent(const TrackListNode *node);
+   void ResizedEvent(const TrackListNode *node);
 
-    Track *Next() const
-    {
-       if (cur) cur = cur->next;
-       if (cur) return cur->t;
-       return NULL;
-    }
+   void Swap(TrackListNode * s1, TrackListNode * s2);
 
- private:
-    const TrackList * l;
-    /** \brief pointer to the current node of the track list
-     *
-     * This is used to keep track of where we are in the list. It is a mutable 
-     * member of the class because although the list and the iterator are
-     * constant, the current position can change (and does change) without
-     * affecting them. Without this keyword we would get compiler errors about
-     * const methods altering member variables. See also
-     * http://www.highprogrammer.com/alan/rants/mutable.html */
-    mutable TrackListNode *cur;
+   TrackListNode *head;
+   TrackListNode *tail;
 };
 
-
 class AUDACITY_DLL_API TrackFactory
 {
  private:
diff --git a/src/TrackArtist.cpp b/src/TrackArtist.cpp
index edd319c..c08228e 100644
--- a/src/TrackArtist.cpp
+++ b/src/TrackArtist.cpp
@@ -69,10 +69,6 @@ double gWaveformTimeTotal = 0;
 int gWaveformTimeCount = 0;
 #endif
 
-#ifdef __WXMAC__
-#define BUFFERED_DRAWING 1
-#endif
-
 #ifdef USE_MIDI
 const int octaveHeight = 62;
 const int blackPos[5] = { 6, 16, 32, 42, 52 };
@@ -142,6 +138,7 @@ void TrackArtist::SetInset(int left, int top, int right, int bottom)
 }
 
 void TrackArtist::DrawTracks(TrackList * tracks,
+                             Track * start,
                              wxDC & dc,
                              wxRegion & reg,
                              wxRect & r,
@@ -151,7 +148,6 @@ void TrackArtist::DrawTracks(TrackList * tracks,
                              bool drawSamples,
                              bool drawSliders)
 {
-   SetColours();
    wxRect trackRect = r;
    wxRect stereoTrackRect;
 
@@ -179,27 +175,15 @@ void TrackArtist::DrawTracks(TrackList * tracks,
    dc.DrawRectangle(clip);
 #endif
 
-   t = iter.First();
-   bool linkFlag = false;
-   bool muted = false;
-
+   t = iter.StartWith(start);
    while (t) {
-      if (t->GetKind() == Track::Wave)
-      {
-         WaveTrack* wt = (WaveTrack*)t;
-         for (WaveClipList::Node* it=wt->GetClipIterator(); it; it=it->GetNext())
-            it->GetData()->ClearDisplayRect();
-      }
+      trackRect.y = t->GetY() - viewInfo->vpos;
+      trackRect.height = t->GetHeight();
 
-      if (linkFlag) // Use the value from the previous (linked) track.
-         linkFlag = false;
-      else {
-         muted = (hasSolo || t->GetMute()) && !t->GetSolo();
-         linkFlag = t->GetLinked();
+      if (trackRect.y > clip.GetBottom() && !t->GetLinked()) {
+         break;
       }
 
-      trackRect.height = t->GetHeight();
-
 #if defined(DEBUG_CLIENT_AREA)
       // Filled rectangle to show the interior of the client area
       wxRect zr = trackRect;
@@ -219,7 +203,7 @@ void TrackArtist::DrawTracks(TrackList * tracks,
       // its linked partner, and see if any part of that rect is on-screen.
       // If so, we draw both.  Otherwise, we can safely draw neither.
 
-      Track *link = tracks->GetLink(t);
+      Track *link = t->GetLink();
       if (link) {
          if (t->GetLinked()) {
             // If we're the first track
@@ -232,235 +216,123 @@ void TrackArtist::DrawTracks(TrackList * tracks,
          }
       }
 
-      if (stereoTrackRect.y < (clip.y + clip.height) &&
-          stereoTrackRect.y + stereoTrackRect.height > clip.y
-          && reg.Contains( stereoTrackRect )) {
-
+      if (stereoTrackRect.Intersects(clip) && reg.Contains(stereoTrackRect)) {
          wxRect rr = trackRect;
          rr.x += mInsetLeft;
          rr.y += mInsetTop;
          rr.width -= (mInsetLeft + mInsetRight);
          rr.height -= (mInsetTop + mInsetBottom);
-
-         switch (t->GetKind()) {
-         case Track::Wave:
-            ((WaveTrack*)t)->SetDisplayRect(rr);
-            
-            switch (((WaveTrack *)t)->GetDisplay()) {
-            case WaveTrack::WaveformDisplay:
-               DrawWaveform((WaveTrack *)t, dc, rr, viewInfo,
-                            drawEnvelope, drawSamples, drawSliders, false, muted);
-               break;
-            case WaveTrack::WaveformDBDisplay:
-               DrawWaveform((WaveTrack *)t, dc, rr, viewInfo,
-                            drawEnvelope,  drawSamples, drawSliders, true, muted);
-               break;
-            case WaveTrack::SpectrumDisplay:
-               DrawSpectrum((WaveTrack *)t, dc, rr, viewInfo, false, false);
-               break;
-            case WaveTrack::SpectrumLogDisplay:
-               DrawSpectrum((WaveTrack *)t, dc, rr, viewInfo, false, true);
-               break;
-            case WaveTrack::PitchDisplay:
-               DrawSpectrum((WaveTrack *)t, dc, rr, viewInfo, true, false);
-               break;
-            }
-            break;              // case Wave
-         #ifdef USE_MIDI
-         case Track::Note:
-            DrawNoteTrack((NoteTrack *)t, dc, rr, viewInfo);
-            break;
-         #endif // USE_MIDI
-         case Track::Label:
-            DrawLabelTrack((LabelTrack *)t, dc, rr, viewInfo);
-            break;
-         case Track::Time:
-            DrawTimeTrack((TimeTrack *)t, dc, rr, viewInfo);
-            break;
-         }
+         DrawTrack(t, dc, rr, viewInfo,
+                   drawEnvelope, drawSamples, drawSliders, hasSolo);
       }
 
       t = iter.Next();
-      trackRect.y += trackRect.height;
+   }
+}
+
+void TrackArtist::DrawTrack(const Track * t,
+                            wxDC & dc,
+                            const wxRect & r,
+                            const ViewInfo * viewInfo,
+                            bool drawEnvelope,
+                            bool drawSamples,
+                            bool drawSliders,
+                            bool hasSolo)
+{
+   switch (t->GetKind()) {
+   case Track::Wave:
+   {
+      WaveTrack* wt = (WaveTrack*)t;
+      for (WaveClipList::compatibility_iterator it=wt->GetClipIterator(); it; it=it->GetNext()) {
+         it->GetData()->ClearDisplayRect();
+      }
+
+      bool muted = (hasSolo || t->GetMute()) && !t->GetSolo();
+
+      switch (wt->GetDisplay()) {
+      case WaveTrack::WaveformDisplay:
+         DrawWaveform(wt, dc, r, viewInfo,
+                      drawEnvelope, drawSamples, drawSliders, false, muted);
+         break;
+      case WaveTrack::WaveformDBDisplay:
+         DrawWaveform(wt, dc, r, viewInfo,
+                      drawEnvelope,  drawSamples, drawSliders, true, muted);
+         break;
+      case WaveTrack::SpectrumDisplay:
+         DrawSpectrum(wt, dc, r, viewInfo, false, false);
+         break;
+      case WaveTrack::SpectrumLogDisplay:
+         DrawSpectrum(wt, dc, r, viewInfo, false, true);
+         break;
+      case WaveTrack::PitchDisplay:
+         DrawSpectrum(wt, dc, r, viewInfo, true, false);
+         break;
+      }
+      break;              // case Wave
+   }
+   #ifdef USE_MIDI
+   case Track::Note:
+      DrawNoteTrack((NoteTrack *)t, dc, r, viewInfo);
+      break;
+   #endif // USE_MIDI
+   case Track::Label:
+      DrawLabelTrack((LabelTrack *)t, dc, r, viewInfo);
+      break;
+   case Track::Time:
+      DrawTimeTrack((TimeTrack *)t, dc, r, viewInfo);
+      break;
    }
 }
 
 void TrackArtist::DrawVRuler(Track *t, wxDC * dc, wxRect & r)
 {
-   // Label tracks do not have a vruler
-   if (t->GetKind() == Track::Label) {
+   int kind = t->GetKind();
+
+   // Label and Time tracks do not have a vruler
+   // But give it a beveled area
+   if (kind == Track::Label || kind == Track::Time) {
+      wxRect bev = r;
+      bev.Inflate(-1, -1);
+      bev.width += 1;
+      AColor::BevelTrackInfo(*dc, true, bev);
+
       return;
    }
 
    // All waves have a ruler in the info panel
    // The ruler needs a bevelled surround.
-   if (t->GetKind() == Track::Wave )
-   {
+   if (kind == Track::Wave) {
       wxRect bev = r;
       bev.Inflate(-1, -1);
-      bev.width  +=1;
+      bev.width += 1;
       AColor::BevelTrackInfo(*dc, true, bev);
-   }
-
-   if (t->GetKind() == Track::Wave
-       && ((WaveTrack *) t)->GetDisplay() == WaveTrack::WaveformDisplay) {
-      // Waveform
-      float min, max;
-
-      ((WaveTrack *)t)->GetDisplayBounds(&min, &max);
-      vruler->SetBounds(r.x, r.y+1, r.x + r.width, r.y + r.height-1);
-      vruler->SetOrientation(wxVERTICAL);
-      vruler->SetRange(max, min);
-      vruler->SetFormat(Ruler::RealFormat);
-      vruler->SetUnits(wxT(""));
-      vruler->SetLabelEdges(false);
-      vruler->SetLog(false);
-      vruler->Draw(*dc);
-   }
 
-   if (t->GetKind() == Track::Wave
-       && ((WaveTrack *) t)->GetDisplay() == WaveTrack::WaveformDBDisplay) {
-      // Waveform (db)
-      vruler->SetUnits(wxT(""));
-
-      float min, max;
-      ((WaveTrack *)t)->GetDisplayBounds(&min, &max);
-
-      if (max > 0) {
-         int top = 0;
-         float topval = 0;
-         int bot = r.height;
-         float botval = -mdBrange;
-
-         if (min < 0) {
-            bot = top + (int)((max / (max-min))*(bot-top));
-            min = 0;
-         }
-
-         if (max > 1) {
-            top += (int)((max-1)/(max-min) * (bot-top));
-            max = 1;
-         }
-
-         if (max < 1)
-            topval = -((1-max)*mdBrange);
-
-         if (min > 0) {
-            botval = -((1-min)*mdBrange);
-         }
-
-         if (topval > botval && bot > top+10) {
-            vruler->SetBounds(r.x, r.y+top+1, r.x + r.width, r.y + bot-1);
-            vruler->SetOrientation(wxVERTICAL);
-            vruler->SetRange(topval, botval);
-            vruler->SetFormat(Ruler::LinearDBFormat);
-            vruler->SetLabelEdges(true);
-            vruler->SetLog(false);
-            vruler->Draw(*dc);
-         }
-      }
-   }
-
-   if (t->GetKind() == Track::Wave
-       && ((WaveTrack *) t)->GetDisplay() == WaveTrack::SpectrumDisplay) {
-      // Spectrum
-      if (r.height < 60)
+      // Pitch doesn't have a ruler
+      if (((WaveTrack *)t)->GetDisplay() == WaveTrack::PitchDisplay) {
          return;
-
-      bool logF = ((WaveTrack *) t)->GetDisplay() == WaveTrack::SpectrumLogDisplay;
-      double rate = ((WaveTrack *) t)->GetRate();
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      int fftSkipPoints = gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), 0L);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-      int freq = lrint(rate/2.);
-      int maxFreq = gPrefs->Read(wxT("/Spectrum/MaxFreq"), freq);
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      maxFreq/=(fftSkipPoints+1);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-      if(maxFreq > freq)
-         maxFreq = freq;
-      int minFreq = gPrefs->Read(wxT("/Spectrum/MinFreq"), 0L);
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      minFreq/=(fftSkipPoints+1);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-      if(minFreq < 0) {
-         minFreq = 0;
-         gPrefs->Write(wxT("/Spectrum/MinFreq"), 0L);
       }
 
-      /*
-         draw the ruler
-         we will use Hz if maxFreq is < 2000, otherwise we represent kHz,
-         and append to the numbers a "k"
-      */
-      vruler->SetBounds(r.x, r.y+1, r.x + r.width, r.y + r.height-1);
-      vruler->SetOrientation(wxVERTICAL);
-      vruler->SetFormat(Ruler::RealFormat);
-      vruler->SetLabelEdges(true);
-      // use kHz in scale, if appropriate
-      if (maxFreq>=2000) {
-         vruler->SetRange((maxFreq/1000.), (minFreq/1000.));
-         vruler->SetUnits(wxT("k"));
-      } else {
-         // use Hz
-         vruler->SetRange(int(maxFreq), int(minFreq));
-         vruler->SetUnits(wxT(""));
+      // Right align the ruler
+      wxRect rr = r;
+      rr.width--;
+      if (t->vrulerSize.GetWidth() < r.GetWidth()) {
+         int adj = rr.GetWidth() - t->vrulerSize.GetWidth();
+         rr.x += adj;
+         rr.width -= adj;
       }
-      vruler->SetLog(false);
-      vruler->Draw(*dc);
-   }
 
-   if (t->GetKind() == Track::Wave
-   && ((WaveTrack *) t)->GetDisplay() == WaveTrack::SpectrumLogDisplay)
-   {  // SpectrumLog
-      if (r.height < 10)
-         return;
-      double rate = ((WaveTrack *) t)->GetRate();
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      int fftSkipPoints = gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), 0L);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-      int freq = lrint(rate/2.);
-      int maxFreq = gPrefs->Read(wxT("/SpectrumLog/MaxFreq"), freq);
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      maxFreq/=(fftSkipPoints+1);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-      if(maxFreq > freq)
-         maxFreq = freq;
-      int minFreq = gPrefs->Read(wxT("/SpectrumLog/MinFreq"), freq/1000.0);
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      minFreq/=(fftSkipPoints+1);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-      if(minFreq < 1) {
-         minFreq = 1;
-           gPrefs->Write(wxT("/SpectrumLog/MinFreq"), 1L);
-      }
-      /*
-         draw the ruler
-         we will use Hz if maxFreq is < 2000, otherwise we represent kHz,
-         and append to the numbers a "k"
-      */
-      vruler->SetBounds(r.x, r.y+1, r.x + r.width, r.y + r.height-1);
-      vruler->SetOrientation(wxVERTICAL);
-      vruler->SetFormat(Ruler::IntFormat);
-      vruler->SetLabelEdges(true);
-      vruler->SetRange(maxFreq, minFreq);
-      vruler->SetUnits(wxT(""));
-      vruler->SetLog(true);
+      UpdateVRuler(t, rr);
+
       vruler->Draw(*dc);
-   }
 
-   if (t->GetKind() == Track::Wave
-       && ((WaveTrack *) t)->GetDisplay() == WaveTrack::PitchDisplay) {
-      // Pitch
+      return;
    }
 
-   #ifdef USE_MIDI
+#ifdef USE_MIDI
    // The note track isn't drawing a ruler at all!
    // But it needs to!
-   if (t->GetKind() == Track::Note) {
-      vruler->SetBounds(r.x, r.y+1, r.x + 1, r.y + r.height-1);
-      vruler->SetOrientation(wxVERTICAL);
-      vruler->Draw(*dc);
+   if (kind == Track::Note) {
+      UpdateVRuler(t, r);
 
       dc->SetPen(*wxTRANSPARENT_PEN);
       dc->SetBrush(*wxWHITE_BRUSH);
@@ -502,7 +374,7 @@ void TrackArtist::DrawVRuler(Track *t, wxDC * dc, wxRect & r)
          for (int white = 0; white < 7; white++)
             if (r.y + obottom - whitePos[white] > r.y &&
                 r.y + obottom - whitePos[white] < r.y + r.height)
-               dc->DrawLine(r.x, r.y + obottom - whitePos[white],
+               AColor::Line(*dc, r.x, r.y + obottom - whitePos[white],
                             r.x + r.width,
                             r.y + obottom - whitePos[white]);
 
@@ -516,9 +388,11 @@ void TrackArtist::DrawVRuler(Track *t, wxDC * dc, wxRect & r)
                dc->SetPen(hilitePen);
                dc->DrawRectangle(br);
                dc->SetPen(*wxBLACK_PEN);
-               dc->DrawLine(br.x + 1, br.y + br.height - 1,
-                            br.x + br.width, br.y + br.height - 1);
-               dc->DrawLine(br.x + br.width - 1, br.y + 1,
+               AColor::Line(*dc,
+                            br.x + 1, br.y + br.height - 1,
+                            br.x + br.width - 1, br.y + br.height - 1);
+               AColor::Line(*dc,
+                            br.x + br.width - 1, br.y + 1,
                             br.x + br.width - 1, br.y + br.height - 1);
             }
          }
@@ -537,36 +411,172 @@ void TrackArtist::DrawVRuler(Track *t, wxDC * dc, wxRect & r)
          }
       }
    }
-   #endif // USE_MIDI
+#endif // USE_MIDI
 
-   t->vrulerSize = vruler->mRect.GetSize();
 }
 
-// Takes a value between -1      and     +1 and returns a value between 
-//                       -height and height.
-// This function isn't used anymore.  Use GetWaveYPosNew instead.
-int TrackArtist::GetWaveYPos(float value, int height, bool dB, float dBr)
+void TrackArtist::UpdateVRuler(Track *t, wxRect & r)
 {
-   float sign = (value >= 0 ? 1 : -1);
+   // Label tracks do not have a vruler
+   if (t->GetKind() == Track::Label) {
+      return;
+   }
 
-   if (dB) {
-      if (value == 0 || height == 0)
-         return 0;
-      float db = 20 * log10(fabs(value));
-      float val = (db + dBr) / dBr;
-      if (val < 0.0)
-         val = float(0.0);
-      if (val > 1.0)
-         val = float(1.0);
-
-      return (int) (sign * (height * val + 0.5));
-   } else {
-      if (value < -1.0)
-         value = float(-1.0);
-      if (value > 1.0)
-         value = float(1.0);
-      return (int) (value * height + sign * 0.5);
+   // All waves have a ruler in the info panel
+   // The ruler needs a bevelled surround.
+   if (t->GetKind() == Track::Wave) {
+      WaveTrack *wt = (WaveTrack *)t;
+      int display = wt->GetDisplay();
+
+      if (display == WaveTrack::WaveformDisplay) {
+         // Waveform
+
+         float min, max;
+         wt->GetDisplayBounds(&min, &max);
+
+         vruler->SetBounds(r.x, r.y+1, r.x + r.width, r.y + r.height-1);
+         vruler->SetOrientation(wxVERTICAL);
+         vruler->SetRange(max, min);
+         vruler->SetFormat(Ruler::RealFormat);
+         vruler->SetUnits(wxT(""));
+         vruler->SetLabelEdges(false);
+         vruler->SetLog(false);
+      }
+      else if (display == WaveTrack::WaveformDBDisplay) {
+         // Waveform (db)
+
+         vruler->SetUnits(wxT(""));
+
+         float min, max;
+         wt->GetDisplayBounds(&min, &max);
+
+         if (max > 0) {
+            int top = 0;
+            float topval = 0;
+            int bot = r.height;
+            float botval = -mdBrange;
+
+            if (min < 0) {
+               bot = top + (int)((max / (max-min))*(bot-top));
+               min = 0;
+            }
+
+            if (max > 1) {
+               top += (int)((max-1)/(max-min) * (bot-top));
+               max = 1;
+            }
+
+            if (max < 1)
+               topval = -((1-max)*mdBrange);
+
+            if (min > 0) {
+               botval = -((1-min)*mdBrange);
+            }
+
+            if (topval > botval && bot > top+10) {
+               vruler->SetBounds(r.x, r.y+top+1, r.x + r.width, r.y + bot-1);
+               vruler->SetOrientation(wxVERTICAL);
+               vruler->SetRange(topval, botval);
+               vruler->SetFormat(Ruler::LinearDBFormat);
+               vruler->SetLabelEdges(true);
+               vruler->SetLog(false);
+            }
+         }
+      }
+      else if (display == WaveTrack::SpectrumDisplay) {
+         // Spectrum
+
+         if (r.height < 60)
+            return;
+
+         double rate = wt->GetRate();
+         int freq = lrint(rate/2.);
+
+         int maxFreq = GetSpectrumMaxFreq(freq);
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+         maxFreq/=(mFftSkipPoints+1);
+#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+         if(maxFreq > freq)
+            maxFreq = freq;
+
+         int minFreq = GetSpectrumMinFreq(0);
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+         minFreq/=(mFftSkipPoints+1);
+#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+         if(minFreq < 0)
+            minFreq = 0;
+
+         /*
+            draw the ruler
+            we will use Hz if maxFreq is < 2000, otherwise we represent kHz,
+            and append to the numbers a "k"
+         */
+         vruler->SetBounds(r.x, r.y+1, r.x + r.width, r.y + r.height-1);
+         vruler->SetOrientation(wxVERTICAL);
+         vruler->SetFormat(Ruler::RealFormat);
+         vruler->SetLabelEdges(true);
+         // use kHz in scale, if appropriate
+         if (maxFreq>=2000) {
+            vruler->SetRange((maxFreq/1000.), (minFreq/1000.));
+            vruler->SetUnits(wxT("k"));
+         } else {
+            // use Hz
+            vruler->SetRange(int(maxFreq), int(minFreq));
+            vruler->SetUnits(wxT(""));
+         }
+         vruler->SetLog(false);
+      }
+      else if (display == WaveTrack::SpectrumLogDisplay) {
+         // SpectrumLog
+
+         if (r.height < 10)
+            return;
+
+         double rate = wt->GetRate();
+         int freq = lrint(rate/2.);
+
+         int maxFreq = GetSpectrumLogMaxFreq(freq);
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+         maxFreq/=(mFftSkipPoints+1);
+#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+         if(maxFreq > freq)
+            maxFreq = freq;
+
+         int minFreq = GetSpectrumLogMinFreq(freq/1000.0);
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+         minFreq/=(mFftSkipPoints+1);
+#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+         if(minFreq < 1)
+            minFreq = 1;
+
+         /*
+            draw the ruler
+            we will use Hz if maxFreq is < 2000, otherwise we represent kHz,
+            and append to the numbers a "k"
+         */
+         vruler->SetBounds(r.x, r.y+1, r.x + r.width, r.y + r.height-1);
+         vruler->SetOrientation(wxVERTICAL);
+         vruler->SetFormat(Ruler::IntFormat);
+         vruler->SetLabelEdges(true);
+         vruler->SetRange(maxFreq, minFreq);
+         vruler->SetUnits(wxT(""));
+         vruler->SetLog(true);
+      }
+      else if (display == WaveTrack::PitchDisplay) {
+         // Pitch
+      }
+   }
+
+#ifdef USE_MIDI
+   // The note track isn't drawing a ruler at all!
+   // But it needs to!
+   else if (t->GetKind() == Track::Note) {
+      vruler->SetBounds(r.x, r.y+1, r.x + 1, r.y + r.height-1);
+      vruler->SetOrientation(wxVERTICAL);
    }
+#endif // USE_MIDI
+
+   vruler->GetMaxSize(&t->vrulerSize.x, &t->vrulerSize.y);
 }
 
 /// Takes a value between min and max and returns a value between 
@@ -574,74 +584,85 @@ int TrackArtist::GetWaveYPos(float value, int height, bool dB, float dBr)
 /// \todo  Should this function move int GuiWaveTrack where it can
 /// then use the zoomMin, zoomMax and height values without having 
 /// to have them passed in to it??
-int GetWaveYPosNew(float value, float min, float max,
-         int height, bool dB, bool outer,
-         float dBr, bool clip)
+int GetWaveYPos(float value, float min, float max,
+                int height, bool dB, bool outer,
+                float dBr, bool clip)
 {
-   float sign = (value >= 0 ? 1 : -1);
-
    if (dB) {
-     if (height == 0) return 0;
-
-     if(value != 0.){
-        float db = 20 * log10(fabs(value));
-        value = (db + dBr) / dBr;
-        if(!outer)value -= .5;
-        if (value < 0.0)
-           value = float(0.0);
-        value *= sign;
-     }
-   }else
-      if(!outer) {
-         if( value >= 0.0)
+      if (height == 0) {
+         return 0;
+      }
+
+      float sign = (value >= 0 ? 1 : -1);
+
+      if (value != 0.) {
+         float db = 20.0 * log10(fabs(value));
+         value = (db + dBr) / dBr;
+         if (!outer) {
             value -= 0.5;
-         else
+         }
+         if (value < 0.0) {
+            value = 0.0;
+         }
+         value *= sign;
+      }
+   }
+   else {
+      if (!outer) {
+         if (value >= 0.0) {
+            value -= 0.5;
+         }
+         else {
             value += 0.5;
+         }
       }
+   }
 
    if (clip) {
-      if (value < min)
+      if (value < min) {
          value = min;
-      if (value > max)
+      }
+      if (value > max) {
          value = max;
+      }
    }
+
    value = (max - value) / (max - min);
-   return (int) (value * (height - 1.0) + 0.5);
+   return (int) (value * (height - 1) + 0.5);
 }
 
-void TrackArtist::DrawNegativeOffsetTrackArrows(wxDC &dc, wxRect &r)
+void TrackArtist::DrawNegativeOffsetTrackArrows(wxDC &dc, const wxRect &r)
 {
    // Draws two black arrows on the left side of the track to
    // indicate the user that the track has been time-shifted
    // to the left beyond t=0.0.
 
    dc.SetPen(*wxBLACK_PEN);
-   dc.DrawLine(r.x + 2, r.y + 6, r.x + 8, r.y + 6);
-   dc.DrawLine(r.x + 2, r.y + 6, r.x + 6, r.y + 2);
-   dc.DrawLine(r.x + 2, r.y + 6, r.x + 6, r.y + 10);
-   
-   dc.DrawLine(r.x + 2, r.y + r.height - 8, r.x + 8,
-               r.y + r.height - 8);
-   dc.DrawLine(r.x + 2, r.y + r.height - 8, r.x + 6,
-               r.y + r.height - 4);
-   dc.DrawLine(r.x + 2, r.y + r.height - 8, r.x + 6,
-               r.y + r.height - 12);
-}
-
-void GetColour(wxPen &pen, uchar *r, uchar *g, uchar *b)
-{
-   wxColour colour = pen.GetColour();
-   *r = colour.Red();
-   *g = colour.Green();
-   *b = colour.Blue();
+   AColor::Line(dc,
+                r.x + 2, r.y + 6,
+                r.x + 8, r.y + 6);
+   AColor::Line(dc,
+                r.x + 2, r.y + 6,
+                r.x + 6, r.y + 2);
+   AColor::Line(dc,
+                r.x + 2, r.y + 6,
+                r.x + 6, r.y + 10);
+   AColor::Line(dc,
+                r.x + 2, r.y + r.height - 8,
+                r.x + 8, r.y + r.height - 8);
+   AColor::Line(dc,
+                r.x + 2, r.y + r.height - 8,
+                r.x + 6, r.y + r.height - 4);
+   AColor::Line(dc,
+                r.x + 2, r.y + r.height - 8,
+                r.x + 6, r.y + r.height - 12);
 }
 
-void TrackArtist::DrawWaveformBackground(wxDC &dc, wxRect r,
-                                         uchar *imageBuffer,
-                                         sampleCount *where, sampleCount ssel0, sampleCount ssel1,
-                                         double *env,
-                                         float zoomMin, float zoomMax,
-                                         bool dB, bool drawEnvelope)
+void TrackArtist::DrawWaveformBackground(wxDC &dc, const wxRect &r, const double env[],
+                                         float zoomMin, float zoomMax, bool dB,
+                                         const sampleCount where[],
+                                         sampleCount ssel0, sampleCount ssel1,
+                                         bool drawEnvelope)
 {
    // Visually (one vertical slice of the waveform background, on its side;
    // the "*" is the actual waveform background we're drawing
@@ -652,146 +673,236 @@ void TrackArtist::DrawWaveformBackground(wxDC &dc, wxRect r,
    //      |             |                           |             |
    //    maxtop        maxbot                      mintop        minbot
 
-   int halfHeight    = wxMax(r.height/2, 1);
-   int *maxtop = new int[r.width];
-   int *maxbot = new int[r.width];
-   int *mintop = new int[r.width];
-   int *minbot = new int[r.width];
-   int x;
+   int h = r.height;
+   int halfHeight = wxMax(h / 2, 1);
+   int maxtop, lmaxtop = 0;
+   int mintop, lmintop = 0;
+   int maxbot, lmaxbot = 0;
+   int minbot, lminbot = 0;
+   bool sel, lsel = false;
+   int x, lx = 0;
+   int l, w;
 
-   // First we compute the truncated shape of the waveform background.
-   // If drawEnvelope is true, then we compute the lower border of the
-   // envelope.
+   dc.SetPen(*wxTRANSPARENT_PEN);
+   dc.SetBrush(blankBrush);
+   dc.DrawRectangle(r);
 
    for (x = 0; x < r.width; x++) {
-      maxtop[x] = GetWaveYPosNew(env[x], zoomMin, zoomMax,
-                                 r.height, dB, true, mdBrange, true);
-      maxbot[x] = GetWaveYPosNew(env[x], zoomMin, zoomMax,
-                                 r.height, dB, false, mdBrange, true);
-
-      mintop[x] = GetWaveYPosNew(-env[x]-.000000001, zoomMin, zoomMax,
-                                 r.height, dB, false, mdBrange, true);
-      minbot[x] = GetWaveYPosNew(-env[x], zoomMin, zoomMax,
-                                 r.height, dB, true, mdBrange, true);
-
-      if (!drawEnvelope || maxbot[x] > mintop[x]) {
-         maxbot[x] = halfHeight;
-         mintop[x] = halfHeight;
+      // First we compute the truncated shape of the waveform background.
+      // If drawEnvelope is true, then we compute the lower border of the
+      // envelope.
+
+      maxtop = GetWaveYPos(env[x], zoomMin, zoomMax,
+                               h, dB, true, mdBrange, true);
+      maxbot = GetWaveYPos(env[x], zoomMin, zoomMax,
+                               h, dB, false, mdBrange, true);
+
+      mintop = GetWaveYPos(-env[x], zoomMin, zoomMax,
+                               h, dB, false, mdBrange, true);
+      minbot = GetWaveYPos(-env[x], zoomMin, zoomMax,
+                               h, dB, true, mdBrange, true);
+
+      // Make sure it's odd so that a that max and min mirror each other
+      mintop +=1;
+      minbot +=1;
+
+      if (!drawEnvelope || maxbot > mintop) {
+         maxbot = halfHeight;
+         mintop = halfHeight;
       }
-   }
 
-   if (imageBuffer) {
-      uchar r0, g0, b0, r1, g1, b1, r2, g2, b2;
-      bool *sel;
-      int y;
+      sel = (ssel0 <= where[x] && where[x + 1] < ssel1);
 
-      sel = new bool[r.width];
-      for(x=0; x<r.width; x++)
-         sel[x] = (ssel0 <= where[x] && where[x + 1] < ssel1);
+      if (lmaxtop == maxtop &&
+          lmintop == mintop &&
+          lmaxbot == maxbot &&
+          lminbot == minbot &&
+          lsel == sel) {
+         continue;
+      }
 
-      int mid = (int) ((zoomMax/(zoomMax-zoomMin))*r.height);
+      dc.SetBrush(lsel ? selectedBrush : unselectedBrush);
 
-      GetColour(blankPen, &r0, &g0, &b0);
-      GetColour(unselectedPen, &r1, &g1, &b1);
-      GetColour(selectedPen, &r2, &g2, &b2);
-      for(y=0; y<r.height; y++) {
-         for(x=0; x<r.width; x++) {
-            if (y == mid) {
-               *imageBuffer++ = 0;
-               *imageBuffer++ = 0;
-               *imageBuffer++ = 0;
-            }
-            else if (y < maxtop[x] || y > minbot[x] ||
-                (y > mintop[x] && y < maxbot[x])) {
-               *imageBuffer++ = r0;
-               *imageBuffer++ = g0;
-               *imageBuffer++ = b0;
-            }
-            else if (sel[x]) {
-               *imageBuffer++ = r2;
-               *imageBuffer++ = g2;
-               *imageBuffer++ = b2;
-            }
-            else {
-               *imageBuffer++ = r1;
-               *imageBuffer++ = g1;
-               *imageBuffer++ = b1;
-            }
-         }
+      l = r.x + lx;
+      w = x - lx;
+      if (lmaxbot != lmintop - 1) {
+         dc.DrawRectangle(l, r.y + lmaxtop, w, lmaxbot - lmaxtop);
+         dc.DrawRectangle(l, r.y + lmintop, w, lminbot - lmintop);
+      }
+      else {
+         dc.DrawRectangle(l, r.y + lmaxtop, w, lminbot - lmaxtop);
       }
 
-      delete[] sel;
+      lmaxtop = maxtop;
+      lmintop = mintop;
+      lmaxbot = maxbot;
+      lminbot = minbot;
+      lsel = sel;
+      lx = x;
+   }
+
+   dc.SetBrush(lsel ? selectedBrush : unselectedBrush);
+   l = r.x + lx;
+   w = x - lx;
+   if (lmaxbot != lmintop - 1) {
+      dc.DrawRectangle(l, r.y + lmaxtop, w, lmaxbot - lmaxtop);
+      dc.DrawRectangle(l, r.y + lmintop, w, lminbot - lmintop);
    }
    else {
-      // First drawing pass: draw everything that's background-colored:
-      // above, below, and in the middle of the waveform.
-      
-      dc.SetPen(blankPen);
-      for (x = 0; x < r.width; x++) {
-         if (maxtop[x] > 0)
-            dc.DrawLine(r.x + x, r.y, r.x + x, r.y + maxtop[x]);
-         if (maxbot[x] != mintop[x])
-            dc.DrawLine(r.x + x, r.y + maxbot[x],
-                        r.x + x, r.y + mintop[x]);
-         if (minbot[x] < r.height)
-            dc.DrawLine(r.x + x, r.y + minbot[x],
-                        r.x + x, r.y + r.height);
+      dc.DrawRectangle(l, r.y + lmaxtop, w, lminbot - lmaxtop);
+   }
+
+   //OK, the display bounds are between min and max, which
+   //is spread across r.height.  Draw the line at the proper place.
+
+   if (zoomMin < 0 && zoomMax > 0) {
+      int half = (int)((zoomMax / (zoomMax - zoomMin)) * h);
+      dc.SetPen(*wxBLACK_PEN);
+      AColor::Line(dc, r.x, r.y + half, r.x + r.width, r.y + half);
+   }
+}
+
+void TrackArtist::DrawMinMaxRMS(wxDC &dc, const wxRect &r, const double env[],
+                                float zoomMin, float zoomMax, bool dB,
+                                const float min[], const float max[], const float rms[],
+                                const int bl[], bool showProgress, bool muted)
+{
+   // Display a line representing the
+   // min and max of the samples in this region
+   int lasth1, h1;
+   int lasth2, h2;
+   int *r1 = new int[r.width];
+   int *r2 = new int[r.width];
+   int *clipped;
+   int clipcnt = 0;
+   int x;
+
+   if (mShowClipping) {
+      clipped =  new int[r.width];
+   }
+
+   long pixAnimOffset = (long)fabs((double)(wxDateTime::Now().GetTicks() * -10)) +
+      wxDateTime::Now().GetMillisecond() / 100; //10 pixels a second
+   
+   bool drawStripes = true;
+   bool drawWaveform = true;
+
+   dc.SetPen(muted ? muteSamplePen : samplePen);
+   for (x = 0; x < r.width; x++) {
+      int xx = r.x + x;
+      double v;
+
+      v = min[x] * env[x];
+      if (mShowClipping && v <= -MAX_AUDIO) {
+         if (clipcnt == 0 || clipped[clipcnt - 1] != xx) {
+            clipped[clipcnt++] = xx;
+         }
       }
-      
-      // Finally draw the waveform background itself, using the selected
-      // pen when we're between the selections.
-      
-      bool usingSelPen = false;
-      dc.SetPen(unselectedPen);
-      for (x = 0; x < r.width; x++) {
-         bool sel = false;
-         if (ssel0 <= where[x] && where[x + 1] < ssel1)
-            sel = true;
+      h1 = GetWaveYPos(v, zoomMin, zoomMax,
+                       r.height, dB, true, mdBrange, true);
+
+      v = max[x] * env[x];
+      if (mShowClipping && v >= MAX_AUDIO) {
+         if (clipcnt == 0 || clipped[clipcnt - 1] != xx) {
+            clipped[clipcnt++] = xx;
+         }
+      }
+      h2 = GetWaveYPos(v, zoomMin, zoomMax,
+                       r.height, dB, true, mdBrange, true);
+
+      // JKC: This adjustment to h1 and h2 ensures that the drawn
+      // waveform is continuous.
+      if (x > 0) {
+         if (h1 < lasth2) {
+            h1 = lasth2 - 1;
+         }
+         if (h2 > lasth1) {
+            h2 = lasth1 + 1;
+         }
+      }
+      lasth1 = h1;
+      lasth2 = h2;
+
+      r1[x] = GetWaveYPos(-rms[x] * env[x], zoomMin, zoomMax,
+                          r.height, dB, true, mdBrange, true);
+      r2[x] = GetWaveYPos(rms[x] * env[x], zoomMin, zoomMax,
+                          r.height, dB, true, mdBrange, true);
+
+      // Make sure the rms isn't larger than the waveform min/max
+      if (r1[x] > h1 - 1) {
+         r1[x] = h1 - 1;
+      }
+      if (r2[x] < h2 + 1) {
+         r2[x] = h2 + 1;
+      }
+      if (r2[x] > r1[x]) {
+         r2[x] = r1[x];
+      }
+
+      if (bl[x] <= -1) {
+         if (drawStripes) {
+            // TODO:unify with buffer drawing.
+            dc.SetPen((bl[x] % 2) ? muteSamplePen : samplePen);
+            for (int y = 0; y < r.height / 25 + 1; y++) {
+               // we are drawing over the buffer, but I think DrawLine takes care of this.
+               AColor::Line(dc,
+                            xx,
+                            r.y + 25 * y + (x /*+pixAnimOffset*/) % 25,
+                            xx, 
+                            r.y + 25 * y + (x /*+pixAnimOffset*/) % 25 + 6); //take the min so we don't draw past the edge
+            }
+         }
          
-         if (sel && !usingSelPen)
-            dc.SetPen(selectedPen);
-         else if (!sel && usingSelPen)
-            dc.SetPen(unselectedPen);
-         usingSelPen = sel;
-
-         if (maxbot[x] != mintop[x]) {
-            dc.DrawLine(r.x + x, r.y + maxtop[x],
-                        r.x + x, r.y + maxbot[x]);
-            dc.DrawLine(r.x + x, r.y + mintop[x],
-                        r.x + x, r.y + minbot[x] + 1);
+         // draw a dummy waveform - some kind of sinusoid.  We want to animate it so the user knows it's a dummy.  Use the second's unit of a get time function.
+         // Lets use a triangle wave for now since it's easier - I don't want to use sin() or make a wavetable just for this.
+         if (drawWaveform) {
+            int triX;
+            dc.SetPen(samplePen);
+            triX = fabs((double)((x + pixAnimOffset) % (2 * r.height)) - r.height) + r.height;
+            for (int y = 0; y < r.height; y++) {
+               if ((y + triX) % r.height == 0) {
+                  dc.DrawPoint(xx, r.y + y);
+               }
+            }
          }
-         else
-            dc.DrawLine(r.x + x, r.y + maxtop[x],
-                        r.x + x, r.y + minbot[x] + 1);
+      }
+      else {
+         AColor::Line(dc, xx, r.y + h2, xx, r.y + h1);
       }
    }
 
-   delete[] maxtop;
-   delete[] maxbot;
-   delete[] mintop;
-   delete[] minbot;
-}
+   dc.SetPen(muted ? muteRmsPen : rmsPen);
+   for (int x = 0; x < r.width; x++) {
+      int xx = r.x + x;
+      if (bl[x] <= -1) {
+      }
+      else if (r1[x] != r2[x]) {
+         AColor::Line(dc, xx, r.y + r2[x], xx, r.y + r1[x]);
+      }
+   }
 
-void TrackArtist::DrawIndividualSamples(wxDC &dc, wxRect r,
-                                        WaveTrack *track,
-                                        double t0, double pps, double h,
-                                        float zoomMin, float zoomMax,
-                                        bool dB,
-                                        bool drawSamples,
-                                        bool showPoints, bool muted)
-{
-   for (WaveClipList::Node* it = track->GetClipIterator(); it; it = it->GetNext())
-      DrawIndividualClipSamples(dc, r, it->GetData(), t0, pps, h,
-         zoomMin, zoomMax, dB, drawSamples, showPoints, muted);
+   // Draw the clipping lines
+   if (clipcnt) {
+      dc.SetPen(muted ? muteClippedPen : clippedPen);
+      while (--clipcnt >= 0) {
+         int xx = clipped[clipcnt];
+         AColor::Line(dc, xx, r.y, xx, r.y + r.height);
+      }
+   }
+
+   if (mShowClipping) {
+      delete[] clipped;
+   }
+
+   delete [] r1;
+   delete [] r2;
 }
 
-void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
+void TrackArtist::DrawIndividualSamples(wxDC &dc, const wxRect &r,
+                                        float zoomMin, float zoomMax, bool dB,
                                         WaveClip *clip,
                                         double t0, double pps, double h,
-                                        float zoomMin, float zoomMax,
-                                        bool dB,
-                                        bool drawSamples,
-                                        bool showPoints, bool muted)
+                                        bool drawSamples, bool showPoints, bool muted)
 {
    double rate = clip->GetRate();
    sampleCount s0 = (sampleCount) (t0 * rate + 0.5);
@@ -800,10 +911,13 @@ void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
    
    slen += 4;
 
-   if( s0 > snSamples )
+   if (s0 > snSamples) {
       return;
-   if (s0 + slen > snSamples)
+   }
+
+   if (s0 + slen > snSamples) {
       slen = snSamples - s0;
+   }
 
    float *buffer = new float[slen];
    clip->GetSamples((samplePtr)buffer, floatSample, s0, slen);
@@ -815,7 +929,7 @@ void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
    sampleCount s;
 
    if (mShowClipping) {
-       clipped = new int[slen];
+      clipped = new int[slen];
    }
 
    dc.SetPen(muted ? muteSamplePen : samplePen);
@@ -825,12 +939,14 @@ void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
 
       // MB: (s0/rate - t0) is the distance from the left edge of the screen
       //     to the first sample.
-      int xx = (int)rint((tt + s0/rate - t0) * pps);
+      int xx = (int)rint((tt + s0 / rate - t0) * pps);
       
-      if (xx < -10000)
+      if (xx < -10000) {
          xx = -10000;
-      if (xx > 10000)
+      }
+      if (xx > 10000) {
          xx = 10000;
+      }
       
       xpos[s] = xx;
 
@@ -838,19 +954,21 @@ void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
       if (mShowClipping && (tt <= -MAX_AUDIO || tt >= MAX_AUDIO)) {
          clipped[clipcnt++] = xx;
       }
-      ypos[s] = GetWaveYPosNew(tt, zoomMin, zoomMax,
-                               r.height, dB, true, mdBrange, false);
-      if (ypos[s] < -1)
+      ypos[s] = GetWaveYPos(tt, zoomMin, zoomMax,
+                            r.height, dB, true, mdBrange, false);
+      if (ypos[s] < -1) {
          ypos[s] = -1;
-      if (ypos[s] > r.height)
+      }
+      if (ypos[s] > r.height) {
          ypos[s] = r.height;
-
+      }
    }
 
    // Draw lines
    for (s = 0; s < slen - 1; s++) {
-      dc.DrawLine(r.x + xpos[s], r.y + ypos[s],
-                  r.x + xpos[s + 1], r.y + ypos[s + 1]);
+      AColor::Line(dc,
+                   r.x + xpos[s], r.y + ypos[s],
+                   r.x + xpos[s + 1], r.y + ypos[s + 1]);
    }
 
    if (showPoints) {
@@ -875,7 +993,7 @@ void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
       dc.SetPen(muted ? muteClippedPen : clippedPen);
       while (--clipcnt >= 0) {
          s = clipped[clipcnt];
-         dc.DrawLine(r.x + s, r.y, r.x + s, r.y + r.height);
+         AColor::Line(dc, r.x + s, r.y, r.x + s, r.y + r.height);
       }
    }
    
@@ -888,377 +1006,124 @@ void TrackArtist::DrawIndividualClipSamples(wxDC &dc, wxRect r,
    delete[]ypos;
 }
 
-void TrackArtist::DrawMinMaxRMS(wxDC &dc, wxRect r, uchar *imageBuffer,
-                                float zoomMin, float zoomMax,
-                                double *envValues,
-                                float *min, float *max, float *rms,int* bl,
-                                bool dB, bool muted, bool showProgress)
+void TrackArtist::DrawEnvelope(wxDC &dc, const wxRect &r, const double env[],
+                               float zoomMin, float zoomMax, bool dB)
 {
-   // Display a line representing the
-   // min and max of the samples in this region
-   int *h1 = new int[r.width];
-   int *h2 = new int[r.width];
-   int *r1 = new int[r.width];
-   int *r2 = new int[r.width];
-   int *clipped;
-   int clipcnt = 0;
-   int x;
-   //int pBarHeight = 10;
+   int h = r.height;
 
-   if (mShowClipping) {
-       clipped =  new int[r.width];
-   }
+   dc.SetPen(AColor::envelopePen);
 
-   for (x = 0; x < r.width; x++) {
-      double v;
+   for (int x = 0; x < r.width; x++) {
+      int cenvTop = GetWaveYPos(env[x], zoomMin, zoomMax,
+                                h, dB, true, mdBrange, true);
 
-      v = min[x] * envValues[x];
-      if (mShowClipping && v <= -MAX_AUDIO) {
-         if (clipcnt == 0 || (clipcnt > 0 && clipped[clipcnt-1] != x)) {
-            clipped[clipcnt++] = x;
-         }
-      }
-      h1[x] = GetWaveYPosNew(v, zoomMin, zoomMax,
-                             r.height, dB, true, mdBrange, true);
+      int cenvBot = GetWaveYPos(-env[x], zoomMin, zoomMax,
+                                h, dB, true, mdBrange, true);
 
-      v = max[x] * envValues[x];
-      if (mShowClipping && v >= MAX_AUDIO) {
-         if (clipcnt == 0 || (clipcnt > 0 && clipped[clipcnt-1] != x)) {
-            clipped[clipcnt++] = x;
-         }
-      }
-      h2[x] = GetWaveYPosNew(v, zoomMin, zoomMax,
-                             r.height, dB, true, mdBrange, true);
+      int envTop = GetWaveYPos(env[x], zoomMin, zoomMax,
+                               h, dB, true, mdBrange, false);
 
-      r1[x] = GetWaveYPosNew(-rms[x] * envValues[x], zoomMin, zoomMax,
-                             r.height, dB, true, mdBrange, true);
-      r2[x] = GetWaveYPosNew(rms[x] * envValues[x], zoomMin, zoomMax,
-                             r.height, dB, true, mdBrange, true);
+      int envBot = GetWaveYPos(-env[x], zoomMin, zoomMax,
+                               h, dB, true, mdBrange, false);
 
-      // JKC: This adjustment to h1[] and h2[] ensures that the drawn
-      // waveform is continuous.
-      if (x > 0) {
-         if (h1[x] < h2[x-1])
-            h1[x]=h2[x-1]-1;
-         if (h2[x] > h1[x-1])
-            h2[x]=h1[x-1]+1;
+      // Make the collision at zero actually look solid
+      if (cenvBot - cenvTop < 9) {
+         int value = (int)((zoomMax / (zoomMax - zoomMin)) * h);
+         cenvTop = value - 4;
+         cenvBot = value + 4;
       }
 
-      // Make sure the rms isn't larger than the waveform
-      // min/max
-      if (r1[x] > h1[x]-1)
-         r1[x] = h1[x]-1;
-      if (r2[x] < h2[x]+1)
-         r2[x] = h2[x]+1;
-      if (r2[x]>r1[x])
-         r2[x] = r1[x];
+      DrawEnvLine(dc, r, x, envTop, cenvTop, true);
+      DrawEnvLine(dc, r, x, envBot, cenvBot, false);
    }
-   long pixAnimOffset;
-   
-   pixAnimOffset = (long)fabs( (double)(wxDateTime::Now().GetTicks()*-10)  )+ wxDateTime::Now().GetMillisecond()/100; //10 pixels a second
-   
-   bool drawStripes = true;
-   bool drawWaveform = true;
-   if (imageBuffer) {
-      uchar *clipBuffer = imageBuffer;
-      uchar rs, gs, bs, rr, gr, br;
-      int y;
-
-      GetColour(muted ? muteSamplePen : samplePen, &rs, &gs, &bs);
-      GetColour(muted ? muteRmsPen : rmsPen, &rr, &gr, &br);
-      
-      
-
-      for(y=0; y<r.height; y++) {
-         for(x=0; x<r.width; x++) {
-            //Check to see if the block data is available for this pixel.
-            //wxLogDebug(wxT("bl[x] value for x %i, val %i\n"),x,bl[x]);
-            if(bl[x]<=-1)
-            {
-               //check to see if we should draw the progress bar. 
-               //x%pBar Height to ensure we have a square separated every 15 pixels.
-               //if(showProgress && y<pBarHeight && x%pBarHeight) 
-               //               {
-               //                  //white square,  TODO: use a max(255,x+100) scheme so that we keep the waveform there, just faded. 
-               //                  *imageBuffer++=255;
-               //                  *imageBuffer++=255;
-               //                  *imageBuffer++=255;
-               //               }
-               //               else
-               //               {
-               
-               //draw the waveform
-               
-               
-               if(drawStripes)
-               {
-                  //draw one stripe every 25 pixels
-                  if( (y+x/*+pixAnimOffset*/)%25 == 0)
-                  {
-                     *imageBuffer = (bl[x]%2?rs:rr) + *imageBuffer;
-                     imageBuffer += 3; //Move pen to next pixel
-                  } 
-                  else {
-                     //have a gradient away from the stripe, alter light and dark every block
-                     float lineProximity;
-                     //we want half of the range to be zero, and the other half scaled from 0.0 to 1 as you approach the line
-                     lineProximity =  fabs( ( ((y+x/*+pixAnimOffset*/)%25) - 12)/12.0) - 0.5;
-                     if(lineProximity<0.0) 
-                        lineProximity = 0.0;
-                     lineProximity*=2;//scale back to 0.0-1.0
-                        *imageBuffer =  (bl[x]%2?rs:rr)*lineProximity+ (1.0-lineProximity)* (*imageBuffer+(bl[x]%2?0:-30));
-                        ++imageBuffer;
-
-                        *imageBuffer = (bl[x]%2?gs:gr)*lineProximity+ (1.0-lineProximity)* (*imageBuffer+(bl[x]%2?0:-30));
-                        ++imageBuffer;
-
-                        *imageBuffer = (bl[x]%2?bs:br)*lineProximity+ (1.0-lineProximity)* (*imageBuffer+(bl[x]%2?0:-30));
-                        ++imageBuffer;
-                  }
-               }
-               if(drawWaveform)
-               {
-                  
-                  //draw a dummy waveform - some kind of sinusoid.  We want to animate it so the user knows it's a dummy.  Use the second's unit of a get time function.
-                  //Lets use a triangle wave for now since it's easier - I don't want to use sin() or make a wavetable just for this.
-                  int triX;
-                  triX= fabs((double)((x+pixAnimOffset)%(2*r.height))-r.height)+r.height;
-                  if((y+triX)%r.height == 0)
-                  {
-                     if(drawStripes)
-                        imageBuffer-=3;  //move the pen back to the beginning of the pixel
-                     *imageBuffer++ = rr; //(bl[x]%2?rs:rr) + *imageBuffer;
-                     *imageBuffer++ = gr;
-                     *imageBuffer++ = br;
-                  }
-                  else
-                  {
-                     if(!drawStripes)
-                     {  *imageBuffer++;
-                        *imageBuffer++;
-                        *imageBuffer++;
-                     }
-                  }
-                  
-               }
-            }
-            else
-            {
-                  //we have valid summary or sample data, so commence regular waveform drawing
-                  if (y >= r2[x] && y < r1[x]) {
-                     *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight) ?rr/2+30: */ rr;
-                     *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight) ?gr/2+120: */gr;
-                     *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight) ?br/2+30: */br;
-                  }
-                  else if (y >= h2[x] && y < h1[x]+1) {
-                     *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight)?rs/2+30: */rs;
-                     *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight)?gs/2+120: */gs;
-                     *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight)?bs/2+30: */bs;
-                  }
-                  else {
-                     // *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight)?60: */*imageBuffer;
-                     // *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight)?240: */*imageBuffer;
-                     // *imageBuffer++ = /*(showProgress && y<pBarHeight && x%pBarHeight)?60: */*imageBuffer;
-                     imageBuffer += 3;
-                  }
-             
-           }
-         }
-      }
-
-      if (clipcnt) {
-         uchar rc, gc, bc;
-         int c;
-         int w = r.width * 3;
-
-         GetColour(muted ? muteClippedPen : clippedPen, &rc, &gc, &bc);
-
-         for (c = 0; c < clipcnt; c++) {
-            x = clipped[c] * 3;
-            for (y = 0; y < r.height; y++) {
-               clipBuffer[x] = rc;
-               clipBuffer[x + 1] = gc;
-               clipBuffer[x + 2] = bc;
-               x += w;
-            }
-         }
-      }
-   }
-   else {   
-      // Draw the waveform min/max lines
-      dc.SetPen(muted ? muteSamplePen : samplePen);
-      for (x = 0; x < r.width; x++) {
-         if(bl[x]<=-1)
-         {
-
-            if(drawStripes)
-            {
-               
-               //TODO:unify with buffer drawing.
-               dc.SetPen(bl[x]%2 ? muteSamplePen : samplePen);
-               for(int y=0;y<(r.height)/25 +1;y++)
-               {
-                  //we are drawing over the buffer, but I think DrawLine takes care of this.
-                  dc.DrawLine(r.x + x, r.y+ 25*y + (x/*+pixAnimOffset*/)%25, r.x+x, 
-                              r.y+25*y+(x/*+pixAnimOffset*/)%25 + 6 ); //take the min so we don't draw past the edge
-               }
-               
-               
-               //draw a not yet progress bar
-               /*
-                if(showProgress && x%pBarHeight)
-                {
-                   dc.SetPen(odProgressNotYetPen);
-                   dc.DrawLine(r.x + x, r.y, r.x + x, r.y + pBarHeight );
-                }*/
-            }
-            
-                        //draw a dummy waveform - some kind of sinusoid.  We want to animate it so the user knows it's a dummy.  Use the second's unit of a get time function.
-            //Lets use a triangle wave for now since it's easier - I don't want to use sin() or make a wavetable just for this.
-            if(drawWaveform)
-            {
-               int triX;
-               dc.SetPen(samplePen);
-               triX= fabs((double)((x+pixAnimOffset)%(2*r.height))-r.height)+r.height;
-               for(int y=0;y<r.height;y++)
-               {
-                  if((y+triX)%r.height == 0)
-                     dc.DrawPoint(r.x + x, r.y+y);
-               }
-            }
-            
-         }
-         else
-         {
-            dc.SetPen(muted ? muteSamplePen : samplePen);
-            if (r1[x] != r2[x]) {
-               dc.DrawLine(r.x + x, r.y + h2[x], r.x + x, r.y + r2[x] );
-               dc.DrawLine(r.x + x, r.y + r1[x], r.x + x, r.y + h1[x]+1 );
-            } else {
-               // MM: DrawLine will not draw anything if startpoint == endpoint,
-               //     so in this case explicitely draw single point.
-               if (h1[x]+1 == h2[x])
-                  dc.DrawPoint(r.x + x, r.y + h2[x]);
-               else
-                  dc.DrawLine(r.x + x, r.y + h2[x], r.x + x, r.y + h1[x]+1 );
-            }
-            
-            /*
-            //draw a transparent Green progress bar
-            if(showProgress && x%pBarHeight)
-            {
-               dc.SetPen(odProgressDonePen);
-               dc.DrawLine(r.x + x, r.y, r.x + x, r.y + pBarHeight );
-            }*/
-         }
-      }
-      
-      // Draw the waveform rms lines
-      dc.SetPen(muted ? muteRmsPen : rmsPen);
-      for (x = 0; x < r.width; x++) {
-         if(bl[x]<=-1)
-         {
-            //TODO: should we draw more stuff here?
-         }
-         else
-         {
-            if (r1[x] != r2[x])
-               dc.DrawLine(r.x + x, r.y + r2[x], r.x + x, r.y + r1[x]);
-         }
-      }
-
-      // Draw the clipping lines
-      if (clipcnt) {
-         dc.SetPen(muted ? muteClippedPen : clippedPen);
-         while (--clipcnt >= 0) {
-            x = clipped[clipcnt];
-            dc.DrawLine(r.x + x, r.y, r.x + x, r.y + r.height);
-         }
-      }
-   }
-      
-   if (mShowClipping) {
-      delete[] clipped;
-   }
-
-   delete[] h1;
-   delete[] h2;
-   delete[] r1;
-   delete[] r2;
 }
 
-void TrackArtist::DrawEnvLine(wxDC &dc, wxRect r, int x, int y, bool top)
+void TrackArtist::DrawEnvLine(wxDC &dc, const wxRect &r, int x, int y, int cy, bool top)
 {
+   int xx = r.x + x;
+   int yy = r.y + cy;
+
    if (y < 0) {
-      if (x % 4 != 3)
-         dc.DrawLine(r.x + x, r.y,
-                     r.x + x, r.y + 3);
+      if (x % 4 != 3) {
+         AColor::Line(dc, xx, yy, xx, yy + 3);
+      }
    }
-   else if (y >= r.height) {
-      if (x % 4 != 3)
-         dc.DrawLine(r.x + x, r.y + r.height - 3,
-                     r.x + x, r.y + r.height);
+   else if (y > r.height) {
+      if (x % 4 != 3) {
+         AColor::Line(dc, xx, yy - 3, xx, yy);
+      }
    }
    else {
-      if (top)
-         dc.DrawLine(r.x + x, r.y + y,
-                     r.x + x, r.y + y + 3);
-      else
-         dc.DrawLine(r.x + x, r.y + y - 3,
-                     r.x + x, r.y + y);
+      if (top) {
+         AColor::Line(dc, xx, yy, xx, yy + 3);
+      }
+      else {
+         AColor::Line(dc, xx, yy - 3, xx, yy);
+      }
    }
 }
 
 void TrackArtist::DrawWaveform(WaveTrack *track,
-                               wxDC & dc, wxRect & r,
-                               ViewInfo * viewInfo,
+                               wxDC & dc,
+                               const wxRect & r,
+                               const ViewInfo *viewInfo,
                                bool drawEnvelope,
                                bool drawSamples,
                                bool drawSliders,
-                               bool dB, bool muted)
+                               bool dB,
+                               bool muted)
 {
    // MM: Draw background. We should optimize that a bit more.
    dc.SetPen(*wxTRANSPARENT_PEN);
    dc.SetBrush(blankBrush);
    dc.DrawRectangle(r);
 
-   for (WaveClipList::Node* it=track->GetClipIterator(); it; it=it->GetNext())
-      DrawClipWaveform(track, it->GetData(), dc, r, viewInfo, drawEnvelope, drawSamples,
-                       drawSliders, dB, muted);
+   for (WaveClipList::compatibility_iterator it = track->GetClipIterator(); it; it = it->GetNext())
+      DrawClipWaveform(track, it->GetData(), dc, r, viewInfo,
+                       drawEnvelope, drawSamples, drawSliders,
+                       dB, muted);
 
    // Update cache for locations, e.g. cutlines and merge points
    track->UpdateLocationsCache();
    
-   for (int i=0; i<track->GetNumCachedLocations(); i++)
-   {
+   for (int i = 0; i<track->GetNumCachedLocations(); i++) {
       WaveTrack::Location loc = track->GetCachedLocation(i);
       double x = (loc.pos - viewInfo->h) * viewInfo->zoom;
-      if (x >= 0 && x < r.width)
-      {
+      if (x >= 0 && x < r.width) {
          dc.SetPen(*wxGREY_PEN);
-         dc.DrawLine((int) (r.x + x-1), r.y, (int) (r.x + x-1), r.y+r.height);
-         if (loc.typ == WaveTrack::locationCutLine)
+         AColor::Line(dc, (int) (r.x + x - 1), r.y, (int) (r.x + x - 1), r.y + r.height);
+         if (loc.typ == WaveTrack::locationCutLine) {
             dc.SetPen(*wxRED_PEN);
-         else
+         }
+         else {
             dc.SetPen(*wxBLACK_PEN);
-         dc.DrawLine((int) (r.x + x), r.y, (int) (r.x + x), r.y+r.height);
+         }
+         AColor::Line(dc, (int) (r.x + x), r.y, (int) (r.x + x), r.y + r.height);
          dc.SetPen(*wxGREY_PEN);
-         dc.DrawLine((int) (r.x + x+1), r.y, (int) (r.x + x+1), r.y+r.height);
+         AColor::Line(dc, (int) (r.x + x + 1), r.y, (int) (r.x + x + 1), r.y + r.height);
       }
    }
 }
 
-void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
-                               wxDC & dc, wxRect & r,
-                               ViewInfo * viewInfo,
-                               bool drawEnvelope,
-                               bool drawSamples,
-                               bool drawSliders,
-                               bool dB, bool muted)
+void TrackArtist::DrawClipWaveform(WaveTrack *track,
+                                   WaveClip *clip,
+                                   wxDC & dc,
+                                   const wxRect & r,
+                                   const ViewInfo *viewInfo,
+                                   bool drawEnvelope,
+                                   bool drawSamples,
+                                   bool drawSliders,
+                                   bool dB,
+                                   bool muted)
 {
 #if PROFILE_WAVEFORM
+#   ifdef __WXMSW__
+   __time64_t tv0, tv1;
+   _time64(&tv0);
+#   else
    struct timeval tv0, tv1;
    gettimeofday(&tv0, NULL);
+#   endif
 #endif
    double h = viewInfo->h;          //The horizontal position in seconds
    double pps = viewInfo->zoom;     //points-per-second--the zoom level
@@ -1270,8 +1135,9 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    double sps = 1./rate;            //seconds-per-sample
 
    //If the track isn't selected, make the selection empty
-   if (!track->GetSelected())
+   if (!track->GetSelected()) {
       sel0 = sel1 = 0.0;
+   }
 
    //Some bookkeeping time variables:
    double tstep = 1.0 / pps;                  // Seconds per point
@@ -1289,18 +1155,22 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    // end of the track 
 
    double t0 = (tpre >= 0.0 ? tpre : 0.0);
-   double t1 = (tpost < trackLen - sps*.99 ? tpost : trackLen - sps*.99);
-   if(showIndividualSamples) t1+=2./pps; // adjustment so that the
-   // last circular point doesn't appear to be hanging off the end
-
+   double t1 = (tpost < trackLen - sps * .99 ? tpost : trackLen - sps * .99);
+   if (showIndividualSamples) {
+      // adjustment so that the last circular point doesn't appear
+      // to be hanging off the end
+      t1 += 2. / pps;
+   }
 
    // Make sure t1 (the right bound) is greater than 0
-   if (t1 < 0.0)
+   if (t1 < 0.0) {
       t1 = 0.0;
+   }
 
    // Make sure t1 is greater than t0
-   if (t0 > t1)
+   if (t0 > t1) {
       t0 = t1;
+   }
 
    // Calculate sample-based offset-corrected selection 
 
@@ -1311,8 +1181,9 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    sampleCount ssel1 = wxMax(0, sampleCount((sel1 - tOffset) * rate + .99));
 
    //trim selection so that it only contains the actual samples
-   if (ssel0 != ssel1 && ssel1 > (sampleCount)(0.5+trackLen*rate))
-      ssel1 = (sampleCount)(0.5+trackLen*rate);
+   if (ssel0 != ssel1 && ssel1 > (sampleCount)(0.5 + trackLen * rate)) {
+      ssel1 = (sampleCount)(0.5 + trackLen * rate);
+   }
 
    // The variable "mid" will be the rectangle containing the
    // actual waveform, as opposed to any blank area before
@@ -1326,8 +1197,9 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    // left of the track.  Reduce the "mid"
    if (tpre < 0) {
       double delta = r.width;
-      if (t0 < tpost)
+      if (t0 < tpost) {
          delta = (int) ((t0 - tpre) * pps);
+      }
       mid.x += (int)delta;
       mid.width -= (int)delta;
    }
@@ -1338,7 +1210,9 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    // size of the blank area.
    if (tpost > t1) {
       wxRect post = r;
-      if (t1 > tpre) post.x += (int) ((t1 - tpre) * pps);
+      if (t1 > tpre) {
+         post.x += (int) ((t1 - tpre) * pps);
+      }
       post.width = r.width - (post.x - r.x);
       mid.width -= post.width;
    }
@@ -1346,14 +1220,19 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    // The "mid" rect contains the part of the display actually
    // containing the waveform.  If it's empty, we're done.
    if (mid.width <= 0) {
-     #if PROFILE_WAVEFORM
+#if PROFILE_WAVEFORM
+#   ifdef __WXMSW__
+      _time64(&tv1);
+      double elapsed = _difftime64(tv1, tv0);
+#   else
       gettimeofday(&tv1, NULL);
       double elapsed =
          (tv1.tv_sec + tv1.tv_usec*0.000001) -
          (tv0.tv_sec + tv0.tv_usec*0.000001);
+#   endif
       gWaveformTimeTotal += elapsed;
       gWaveformTimeCount++;
-     #endif
+#endif
 
      return;
    }
@@ -1372,151 +1251,93 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
    float *min = new float[mid.width];
    float *max = new float[mid.width];
    float *rms = new float[mid.width];
+   sampleCount *where = new sampleCount[mid.width + 1];
    int *bl = new int[mid.width];
-   sampleCount *where = new sampleCount[mid.width+1];
-   bool isLoadingOD=false;//true if loading on demand block in sequence.
+   bool isLoadingOD = false;//true if loading on demand block in sequence.
+
    // The WaveClip class handles the details of computing the shape
    // of the waveform.  The only way GetWaveDisplay will fail is if
    // there's a serious error, like some of the waveform data can't
    // be loaded.  So if the function returns false, we can just exit.
-   if (!clip->GetWaveDisplay(min, max, rms, bl,where,
-                              mid.width, t0, pps,isLoadingOD)) {
+   if (!clip->GetWaveDisplay(min, max, rms, bl, where,
+                             mid.width, t0, pps, isLoadingOD)) {
       delete[] min;
       delete[] max;
       delete[] rms;
-      delete[] bl;
       delete[] where;
+      delete[] bl;
       return;
    }
 
-   // The following section of code may be optionally sped up
-   // by drawing directly to an image buffer, then blitting it
-   // to the screen.
-
-   uchar *imageBuffer = NULL;
-   wxRect drawRect = mid;
-
-   #if BUFFERED_DRAWING
-   drawRect.x = 0;
-   drawRect.y = 0;
-   wxImage *image = new wxImage(drawRect.width, drawRect.height);
-   imageBuffer = image->GetData();
-   #endif
-
    // Get the values of the envelope corresponding to each pixel
    // in the display, and use these to compute the height of the
    // track at each pixel
 
-   double *envValues = new double[drawRect.width];
-   clip->GetEnvelope()->GetValues(envValues, drawRect.width,
-                                   t0 + tOffset, tstep);
+   double *envValues = new double[mid.width];
+   clip->GetEnvelope()->GetValues(envValues, mid.width, t0 + tOffset, tstep);
 
    // Draw the background of the track, outlining the shape of
    // the envelope and using a colored pen for the selected
    // part of the waveform
+   DrawWaveformBackground(dc, mid, envValues, zoomMin, zoomMax, dB,
+                          where, ssel0, ssel1, drawEnvelope);
 
-   DrawWaveformBackground(dc, drawRect, imageBuffer, where, ssel0, ssel1,
-                          envValues, zoomMin, zoomMax, dB, drawEnvelope);
-
-   //OK, the display bounds are between min and max, which
-   //is spread across r.height.  Draw the line at the proper place.
-
-   #if !BUFFERED_DRAWING
-   if (zoomMin < 0 && zoomMax > 0) {
-      float height = (zoomMax/(zoomMax-zoomMin))*mid.height;
-      dc.SetPen(*wxBLACK_PEN);
-      dc.DrawLine(mid.x, (int) (mid.y+height), mid.x+mid.width,
-            (int) (mid.y+height));
+   if (!showIndividualSamples) {
+      DrawMinMaxRMS(dc, mid, envValues, zoomMin, zoomMax, dB,
+                    min, max, rms, bl, isLoadingOD, muted);
    }
-   #endif
-
-   if (!showIndividualSamples)
-      DrawMinMaxRMS(dc, drawRect, imageBuffer, zoomMin, zoomMax,
-                    envValues, min, max, rms, bl, dB, muted, isLoadingOD);
-
-   // Transfer any buffered drawing to the DC.  Everything
-   // from now on is drawn using ordinary wxWindows drawing code.
-
-   #if BUFFERED_DRAWING
-   wxBitmap *bitmap = new wxBitmap(*image);
-   wxMemoryDC *bitmapDC = new wxMemoryDC();
-   bitmapDC->SelectObject(*bitmap);
-   dc.Blit(mid.x, mid.y, drawRect.width, drawRect.height,
-           bitmapDC, 0, 0, wxCOPY);
-   delete bitmapDC;
-   delete bitmap;
-   delete image;
-   #endif
-
-   if (showIndividualSamples)
-      DrawIndividualClipSamples(dc, mid, clip, t0, pps, h,
-                                zoomMin, zoomMax, 
-                                dB, drawSamples, showPoints, muted);
-
-   if (drawEnvelope) {
-      dc.SetPen(AColor::envelopePen);
-      int x;
-
-      for (x = 0; x < mid.width; x++) {
-         int envTop, envBottom;
-         
-         envTop = GetWaveYPosNew(envValues[x], zoomMin, zoomMax,
-                                 mid.height, dB, true, mdBrange, false);
-         
-         envBottom = GetWaveYPosNew(-envValues[x], zoomMin, zoomMax,
-                                    mid.height, dB, true, mdBrange, false);
-         
-         /* make the collision at zero actually look solid */
-         if(envBottom-envTop < 3){
-            int value = (int)((zoomMax / (zoomMax - zoomMin)) * mid.height);
-            envTop=value-1;
-            envBottom=value+2;
-         }
-         
-         DrawEnvLine(dc, mid, x, envTop, true);
-         DrawEnvLine(dc, mid, x, envBottom, false);
-      }
-   }
-
-
-
-   // Draw arrows on the left side if the track extends to the left of the
-   // beginning of time.  :)
-   if (h == 0.0 && tOffset < 0.0) {
-      DrawNegativeOffsetTrackArrows(dc, r);
+   else {
+      DrawIndividualSamples(dc, mid, zoomMin, zoomMax, dB,
+                            clip, t0, pps, h,
+                            drawSamples, showPoints, muted);
    }
 
    if (drawEnvelope) {
-      wxRect envRect = r;
-      clip->GetEnvelope()->Draw(dc, envRect, h, pps, dB,
-                                 zoomMin, zoomMax);
+      DrawEnvelope(dc, mid, envValues, zoomMin, zoomMax, dB);
+      clip->GetEnvelope()->Draw(dc, r, h, pps, dB, zoomMin, zoomMax);
    }
-   
-   delete[] bl;
+
    delete[] envValues;
    delete[] min;
    delete[] max;
    delete[] rms;
    delete[] where;
+   delete[] bl;
    
-   if( drawSliders )
-   {
-      DrawTimeSlider(track,dc, r, viewInfo, true);  // directed right
-      DrawTimeSlider(track,dc, r, viewInfo, false); // directed left
+   // Draw arrows on the left side if the track extends to the left of the
+   // beginning of time.  :)
+   if (h == 0.0 && tOffset < 0.0) {
+      DrawNegativeOffsetTrackArrows(dc, r);
+   }
+
+   if (drawSliders) {
+      DrawTimeSlider(track, dc, r, viewInfo, true);  // directed right
+      DrawTimeSlider(track, dc, r, viewInfo, false); // directed left
    }
 
    // Draw clip edges
    dc.SetPen(*wxGREY_PEN);
-   if (tpre < 0)
-      dc.DrawLine(mid.x-1, mid.y, mid.x-1, mid.y+r.height);
-   if (tpost > t1)
-      dc.DrawLine(mid.x+mid.width, mid.y, mid.x+mid.width, mid.y+r.height);
+   if (tpre < 0) {
+      AColor::Line(dc,
+                   mid.x - 1, mid.y,
+                   mid.x - 1, mid.y + r.height);
+   }
+   if (tpost > t1) {
+      AColor::Line(dc,
+                   mid.x + mid.width, mid.y,
+                   mid.x + mid.width, mid.y + r.height);
+   }
 
 #if PROFILE_WAVEFORM
+#   ifdef __WXMSW__
+   _time64(&tv1);
+   double elapsed = _difftime64(tv1, tv0);
+#   else
    gettimeofday(&tv1, NULL);
    double elapsed =
       (tv1.tv_sec + tv1.tv_usec*0.000001) -
       (tv0.tv_sec + tv0.tv_usec*0.000001);
+#   endif
    gWaveformTimeTotal += elapsed;
    gWaveformTimeCount++;
    wxPrintf(wxT("Avg waveform drawing time: %f\n"),
@@ -1526,69 +1347,77 @@ void TrackArtist::DrawClipWaveform(WaveTrack* track, WaveClip* clip,
 
 
 void TrackArtist::DrawTimeSlider(WaveTrack *track,
-                                 wxDC & dc, wxRect & r, 
-                                 ViewInfo * viewInfo, bool rightwards)
+                                 wxDC & dc,
+                                 const wxRect & r,
+                                 const ViewInfo *viewInfo,
+                                 bool rightwards)
 {
-   const int border=3; // 3 pixels all round.
-   const int width=6; // width of the drag box.
-   const int taper=6; // how much the box tapers by.
+   const int border = 3; // 3 pixels all round.
+   const int width = 6; // width of the drag box.
+   const int taper = 6; // how much the box tapers by.
    const int barSpacing = 4; // how far apart the bars are.
    const int barWidth = 3;
    const int xFlat = 3;
 
    //Enough space to draw in?
-   if( r.height <= ((taper+border + barSpacing) * 2 ))
+   if (r.height <= ((taper+border + barSpacing) * 2)) {
       return;
-   if( r.width <= (width*2 + border * 3))
+   }
+   if (r.width <= (width * 2 + border * 3)) {
       return;
+   }
 
    // The draggable box is tapered towards the direction you drag it.
    int leftTaper  = rightwards ? 0 : 6;
    int rightTaper = rightwards ? 6 : 0;
 
-   int xLeft = rightwards ? (r.x +border -2) : (r.x + r.width + 1 - (border+width));
-   int yTop  = r.y+border;
-   int yBot  = r.y+r.height-border-1;
+   int xLeft = rightwards ? (r.x + border - 2)
+                          : (r.x + r.width + 1 - (border + width));
+   int yTop  = r.y + border;
+   int yBot  = r.y + r.height - border - 1;
 
    AColor::Light(&dc, false);
-   dc.DrawLine( xLeft,       yBot-leftTaper, xLeft,       yTop+leftTaper );
-   dc.DrawLine( xLeft,       yTop+leftTaper, xLeft+xFlat, yTop );
-   dc.DrawLine( xLeft+xFlat, yTop,           xLeft+width, yTop+rightTaper );
+   AColor::Line(dc, xLeft,         yBot - leftTaper, xLeft,         yTop + leftTaper);
+   AColor::Line(dc, xLeft,         yTop + leftTaper, xLeft + xFlat, yTop);
+   AColor::Line(dc, xLeft + xFlat, yTop,             xLeft + width, yTop + rightTaper);
+
    AColor::Dark(&dc, false);
-   dc.DrawLine( xLeft+width,       yTop+rightTaper, xLeft+width,       yBot-rightTaper );
-   dc.DrawLine( xLeft+width,       yBot-rightTaper, xLeft+width-xFlat, yBot );
-   dc.DrawLine( xLeft+width-xFlat, yBot,            xLeft,             yBot-leftTaper);
+   AColor::Line(dc, xLeft + width,         yTop + rightTaper, xLeft + width,       yBot - rightTaper);
+   AColor::Line(dc, xLeft + width,         yBot - rightTaper, xLeft + width-xFlat, yBot);
+   AColor::Line(dc, xLeft + width - xFlat, yBot,              xLeft,               yBot - leftTaper);
 
-   int firstBar = yTop + taper + taper/2;
-   int nBars    = (yBot-yTop-taper*3) / barSpacing +1;
-   xLeft += (width-barWidth+1)/2;
+   int firstBar = yTop + taper + taper / 2;
+   int nBars    = (yBot - yTop - taper * 3) / barSpacing + 1;
+   xLeft += (width - barWidth + 1) / 2;
    int y;
    int i;
 
    AColor::Light(&dc, false);
-   for(i=0;i<nBars;i++){
-      y = firstBar + barSpacing*i;
-      dc.DrawLine( xLeft, y, xLeft+barWidth, y);
+   for (i = 0;i < nBars; i++) {
+      y = firstBar + barSpacing * i;
+      AColor::Line(dc, xLeft, y, xLeft + barWidth, y);
    }
    AColor::Dark(&dc, false);
-   for(i=0;i<nBars;i++){
-      y = firstBar + barSpacing*i+1;
-      dc.DrawLine( xLeft, y, xLeft+barWidth, y);
+   for(i = 0;i < nBars; i++){
+      y = firstBar + barSpacing * i + 1;
+      AColor::Line(dc, xLeft, y, xLeft + barWidth, y);
    }
 }
 
 
 void TrackArtist::DrawSpectrum(WaveTrack *track,
-                               wxDC & dc, wxRect & r,
-                               ViewInfo * viewInfo, bool autocorrelation, bool logF)
+                               wxDC & dc,
+                               const wxRect & r,
+                               const ViewInfo *viewInfo,
+                               bool autocorrelation,
+                               bool logF)
 {
    // MM: Draw background. We should optimize that a bit more.
    dc.SetPen(*wxTRANSPARENT_PEN);
    dc.SetBrush(blankBrush);
    dc.DrawRectangle(r);
 
-   if(!viewInfo->bUpdateTrackIndicator && viewInfo->bIsPlaying)
-   {
+   if(!viewInfo->bUpdateTrackIndicator && viewInfo->bIsPlaying) {
       // BG: Draw (undecorated) waveform instead of spectrum
       DrawWaveform(track, dc, r, viewInfo, false, false, false, false, false);
       /*
@@ -1600,8 +1429,9 @@ void TrackArtist::DrawSpectrum(WaveTrack *track,
       return;
    }
 
-   for (WaveClipList::Node* it=track->GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = track->GetClipIterator(); it; it = it->GetNext()) {
       DrawClipSpectrum(track, it->GetData(), dc, r, viewInfo, autocorrelation, logF);
+   }
 }
 
 float sumFreqValues(float *freq, int x0, float bin0, float bin1)
@@ -1624,10 +1454,23 @@ float sumFreqValues(float *freq, int x0, float bin0, float bin1)
    return value;
 }
 
-void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
-                               wxDC & dc, wxRect & r,
-                               ViewInfo * viewInfo, bool autocorrelation, bool logF)
+void TrackArtist::DrawClipSpectrum(WaveTrack *track,
+                                   WaveClip *clip,
+                                   wxDC & dc,
+                                   const wxRect & r,
+                                   const ViewInfo *viewInfo,
+                                   bool autocorrelation,
+                                   bool logF)
 {
+#if PROFILE_WAVEFORM
+#  ifdef __WXMSW__
+   __time64_t tv0, tv1;
+   _time64(&tv0);
+#  else
+   struct timeval tv0, tv1;
+   gettimeofday(&tv0, NULL);
+#  endif
+#endif
    double h = viewInfo->h;
    double pps = viewInfo->zoom;
    double sel0 = viewInfo->sel0;
@@ -1638,9 +1481,8 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
    double rate = clip->GetRate();
    double sps = 1./rate;
 
-   // if nothing is on the screen
-   if ((sampleCount) (h * rate + 0.5) >= numSamples)
-      return;
+   int range = gPrefs->Read(wxT("/Spectrum/Range"), 80L);
+   int gain = gPrefs->Read(wxT("/Spectrum/Gain"), 20L);
 
    if (!track->GetSelected())
       sel0 = sel1 = 0.0;
@@ -1712,16 +1554,20 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
    // The "mid" rect contains the part of the display actually
    // containing the waveform.  If it's empty, we're done.
    if (mid.width <= 0) {
-     #if PROFILE_WAVEFORM
+#if PROFILE_WAVEFORM
+#   ifdef __WXMSW__
+      _time64(&tv1);
+      double elapsed = _difftime64(tv1, tv0);
+#   else
       gettimeofday(&tv1, NULL);
       double elapsed =
          (tv1.tv_sec + tv1.tv_usec*0.000001) -
          (tv0.tv_sec + tv0.tv_usec*0.000001);
+#   endif
       gWaveformTimeTotal += elapsed;
       gWaveformTimeCount++;
-     #endif
-
-     return;
+#endif
+      return;
    }
 
    // We draw directly to a bit image in memory,
@@ -1732,61 +1578,46 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
    if (!image)return;
    unsigned char *data = image->GetData();
 
-   int windowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 256);
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-   int fftSkipPoints = gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), 0L);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-#ifdef EXPERIMENTAL_FFT_Y_GRID
-   bool fftYGrid = (gPrefs->Read(wxT("/Spectrum/FFTYGrid"), 0L) != 0);
-#endif //EXPERIMENTAL_FFT_Y_GRID
+   int windowSize = GetSpectrumWindowSize();
    int half = windowSize/2;
    float *freq = new float[mid.width * half];
    sampleCount *where = new sampleCount[mid.width+1];
 
    bool updated = clip->GetSpectrogram(freq, where, mid.width,
                               t0, pps, autocorrelation);
-   bool isGrayscale = false;
-   gPrefs->Read(wxT("/Spectrum/Grayscale"), &isGrayscale, false);
    int ifreq = lrint(rate/2);
+
    int maxFreq;
    if (!logF)
-      maxFreq = gPrefs->Read(wxT("/Spectrum/MaxFreq"), ifreq);
+      maxFreq = GetSpectrumMaxFreq(ifreq);
    else
-      maxFreq = gPrefs->Read(wxT("/SpectrumLog/MaxFreq"), ifreq);
+      maxFreq = GetSpectrumLogMaxFreq(ifreq);
    if(maxFreq > ifreq)
       maxFreq = ifreq;
+
    int minFreq;
    if (!logF) {
-      minFreq = gPrefs->Read(wxT("/Spectrum/MinFreq"), 0L);
-      if(minFreq < 0) {
+      minFreq = GetSpectrumMinFreq(0);
+      if(minFreq < 0)
          minFreq = 0;
-         gPrefs->Write(wxT("/Spectrum/MinFreq"), 0L);
-      }
    }
    else {
-      minFreq = gPrefs->Read(wxT("/SpectrumLog/MinFreq"), ifreq/1000.0);
-      if(minFreq < 1) {
+      minFreq = GetSpectrumLogMinFreq(ifreq/1000.0);
+      if(minFreq < 1)
          minFreq = ifreq/1000.0;
-         gPrefs->Write(wxT("/SpectrumLog/MinFreq"), ifreq/1000.0);
-      }
    }
-#ifdef EXPERIMENTAL_FIND_NOTES
-   bool fftFindNotes = (gPrefs->Read(wxT("/Spectrum/FFTFindNotes"), 0L) != 0);
-   int findNotesMinA = gPrefs->Read(wxT("/Spectrum/FindNotesMinA"), -30.0);
-   int numberOfMaxima = gPrefs->Read(wxT("/Spectrum/FindNotesN"), 5L);
-   bool findNotesQuantize = (gPrefs->Read(wxT("/Spectrum/FindNotesQuantize"), 0L) != 0);
-#endif //EXPERIMENTAL_FIND_NOTES
+
    bool usePxCache = false;
 
    if( !updated && clip->mSpecPxCache->valid && (clip->mSpecPxCache->len == mid.height * mid.width) 
 #ifdef EXPERIMENTAL_FFT_Y_GRID
-   && fftYGrid==fftYGridOld
+   && mFftYGrid==fftYGridOld
 #endif //EXPERIMENTAL_FFT_Y_GRID
 #ifdef EXPERIMENTAL_FIND_NOTES
-   && fftFindNotes==fftFindNotesOld
-   && findNotesMinA==findNotesMinAOld
-   && numberOfMaxima==findNotesNOld
-   && findNotesQuantize==findNotesQuantizeOld
+   && mFftFindNotes==fftFindNotesOld
+   && mFindNotesMinA==findNotesMinAOld
+   && mNumberOfMaxima==findNotesNOld
+   && mFindNotesQuantize==findNotesQuantizeOld
 #endif
    ) {
       usePxCache = true;
@@ -1797,10 +1628,10 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
       usePxCache = false;
       clip->mSpecPxCache->valid = true;
 #ifdef EXPERIMENTAL_FIND_NOTES
-      fftFindNotesOld=fftFindNotes;
-      findNotesMinAOld=findNotesMinA;
-      findNotesNOld=numberOfMaxima;
-      findNotesQuantizeOld=findNotesQuantize;
+      fftFindNotesOld=mFftFindNotes;
+      findNotesMinAOld=mFindNotesMinA;
+      findNotesNOld=mNumberOfMaxima;
+      findNotesQuantizeOld=mFindNotesQuantize;
 #endif
    }
 
@@ -1818,8 +1649,8 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
       lmin=log(float(minFreq)),
       lmax=log(float(maxFreq)),
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      lmins=log(float(minFreq)/(fftSkipPoints+1)),
-      lmaxs=log(float(maxFreq)/(fftSkipPoints+1)),
+      lmins=log(float(minFreq)/(mFftSkipPoints+1)),
+      lmaxs=log(float(maxFreq)/(mFftSkipPoints+1)),
 #else //!EXPERIMENTAL_FFT_SKIP_POINTS
       lmins=lmin,
       lmaxs=lmax,
@@ -1835,8 +1666,8 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
    for (int y = 0; y < mid.height; y++) {
       float n =(float(y  )/mid.height*scale2-lmin2)*12; 
       float n2=(float(y+1)/mid.height*scale2-lmin2)*12; 
-      float f =float(minFreq)/(fftSkipPoints+1)*pow(2.0f, n /12.0f+lmin2);
-      float f2=float(minFreq)/(fftSkipPoints+1)*pow(2.0f, n2/12.0f+lmin2);
+      float f =float(minFreq)/(mFftSkipPoints+1)*pow(2.0f, n /12.0f+lmin2);
+      float f2=float(minFreq)/(mFftSkipPoints+1)*pow(2.0f, n2/12.0f+lmin2);
       n =log(f /440)/log2*12;
       n2=log(f2/440)/log2*12;
       if (floor(n) < floor(n2))
@@ -1851,7 +1682,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
    float maxima0[128], maxima1[128];
    const float 
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      f2bin = half/(rate/2.0f/(fftSkipPoints+1)),
+      f2bin = half/(rate/2.0f/(mFftSkipPoints+1)),
 #else //!EXPERIMENTAL_FFT_SKIP_POINTS
       f2bin = half/(rate/2.0f),
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
@@ -1891,6 +1722,12 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
                      value += freq[half * x + int (bin0)];
                      bin0 += 1.0;
                   }
+
+                  // Do not reference past end of freq array.
+                  if (int(bin1) >= half) {
+                     bin1 -= 1.0;
+                  }
+
                   value += freq[half * x + int (bin1)] * (bin1 - int (bin1));
 
                   value /= binwidth;
@@ -1898,7 +1735,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
 
                if (!autocorrelation) {
                   // Last step converts dB to a 0.0-1.0 range
-                  value = (value + 80.0) / 80.0;
+                  value = (value + range + gain) / (double)range;
                }
 
                if (value > 1.0)
@@ -1910,7 +1747,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
             else
                value = clip->mSpecPxCache->values[x * mid.height + yy];
 
-            GetColorGradient(value, selflag, isGrayscale, &rv, &gv, &bv);
+            GetColorGradient(value, selflag, mIsGrayscale, &rv, &gv, &bv);
 
             int px = ((mid.height - 1 - yy) * mid.width + x) * 3;
             data[px++] = rv;
@@ -1927,14 +1764,14 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
 
 #ifdef EXPERIMENTAL_FIND_NOTES
          int maximas=0;
-         if (!usePxCache && fftFindNotes) {
+         if (!usePxCache && mFftFindNotes) {
             for (int i = maxTableSize-1; i >= 0; i--)
                indexes[i]=-1;
             
             // Build a table of (most) values, put the index in it.
             for (int i = int(i0); i < int(i1); i++) {
                float freqi=freq[x0+int(i)];
-               int value=int((freqi+80.0f)/80.0f*(maxTableSize-1));
+               int value=int((freqi+gain+range)/range*(maxTableSize-1));
                if (value < 0)
                   value=0;
                if (value >= maxTableSize)
@@ -1946,7 +1783,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
                int index=indexes[i];
                if (index >= 0) {
                   float freqi=freq[x0+index];
-                  if (freqi < findNotesMinA) 
+                  if (freqi < mFindNotesMinA) 
                      break;
 
                   bool ok=true;
@@ -1960,7 +1797,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
                   }
                   if (ok) {
                      maxima[maximas++] = index;
-                     if (maximas >= numberOfMaxima)
+                     if (maximas >= mNumberOfMaxima)
                         break;
                   }
                }
@@ -1973,7 +1810,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
             for (int i=0; i < maximas; i++) {
                int index=maxima[i];
                float f = float(index)*bin2f;
-               if (findNotesQuantize)
+               if (mFindNotesQuantize)
                {  f = exp(int(log(f/440)/log2*12-0.5)/12.0f*log2)*440;
                   maxima[i] = f*f2bin;
                }
@@ -2006,7 +1843,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
                float bin1 = float(yy3);
 
 #ifdef EXPERIMENTAL_FIND_NOTES
-               if (fftFindNotes) {
+               if (mFftFindNotes) {
                   if (it < maximas) {
                      float i0=maxima0[it];
                      if (yy >= i0)
@@ -2016,10 +1853,10 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
                         float i1=maxima1[it];
                         if (yy+1 <= i1) {
                            value=sumFreqValues(freq, x0, bin0, bin1);
-                           if (value < findNotesMinA)
+                           if (value < mFindNotesMinA)
                               value = minColor;
                            else
-                              value = (value + 80.0) / 80.0;
+                              value = (value + gain + range) / (double)range;
                         } else {
                            it++;
                            inMaximum = false;
@@ -2036,7 +1873,7 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
                   value=sumFreqValues(freq, x0, bin0, bin1);
                   if (!autocorrelation) {
                      // Last step converts dB to a 0.0-1.0 range
-                     value = (value + 80.0) / 80.0;
+                     value = (value + gain + range) / (double)range;
                   }
                }
                if (value > 1.0)
@@ -2048,10 +1885,10 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
             else
                value = clip->mSpecPxCache->values[x * mid.height + yy];
 
-            GetColorGradient(value, selflag, isGrayscale, &rv, &gv, &bv);
+            GetColorGradient(value, selflag, mIsGrayscale, &rv, &gv, &bv);
 
 #ifdef EXPERIMENTAL_FFT_Y_GRID
-            if (fftYGrid && yGrid[yy]) {
+            if (mFftYGrid && yGrid[yy]) {
                rv /= 1.1f;
                gv /= 1.1f;
                bv /= 1.1f;
@@ -2090,6 +1927,23 @@ void TrackArtist::DrawClipSpectrum(WaveTrack* track, WaveClip *clip,
 #endif //EXPERIMENTAL_FIND_NOTES
 }
 
+void TrackArtist::InvalidateSpectrumCache(TrackList *tracks)
+{
+   TrackListOfKindIterator iter(Track::Wave, tracks);
+   for (Track *t = iter.First(); t; t = iter.Next()) {
+      InvalidateSpectrumCache((WaveTrack *)t);
+   }
+}
+
+void TrackArtist::InvalidateSpectrumCache(WaveTrack *track)
+{
+   WaveClipList::compatibility_iterator it;
+   for (it = track->GetClipIterator(); it; it = it->GetNext()) {
+      it->GetData()->mSpecPxCache->valid = false;
+   }
+}
+
+
 #ifdef USE_MIDI
 /*
 Note: recall that Allegro attributes end in a type identifying letter.
@@ -2268,8 +2122,9 @@ int PITCH_TO_Y(double p, int bottom)
 }
 
 void TrackArtist::DrawNoteTrack(NoteTrack *track,
-                                wxDC &dc, wxRect &r,
-                                ViewInfo *viewInfo)
+                                wxDC & dc,
+                                const wxRect & r,
+                                const ViewInfo *viewInfo)
 {
    double h = viewInfo->h;
    double pps = viewInfo->zoom;
@@ -2322,11 +2177,11 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
 
       if (obottom > r.y && obottom < r.y + r.height) {
          dc.SetPen(*wxBLACK_PEN);
-         dc.DrawLine(r.x, obottom, r.x + r.width, obottom);
+         AColor::Line(dc, r.x, obottom, r.x + r.width, obottom);
       }
       if (obottom - 26 > r.y && obottom - 26 < r.y + r.height) {
          dc.SetPen(blackStripePen);
-         dc.DrawLine(r.x, obottom - 26, r.x + r.width, obottom - 26);
+         AColor::Line(dc, r.x, obottom - 26, r.x + r.width, obottom - 26);
       }
 
       wxRect br = r;
@@ -2373,11 +2228,11 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
 
       if (obottom > selBG.y && obottom < selBG.y + selBG.height) {
          dc.SetPen(*wxBLACK_PEN);
-         dc.DrawLine(selBG.x, obottom, selBG.x + selBG.width, obottom);
+         AColor::Line(dc, selBG.x, obottom, selBG.x + selBG.width, obottom);
       }
       if (obottom - 26 > selBG.y && obottom - 26 < selBG.y + selBG.height) {
          dc.SetPen(selectedBlackKeyPen);
-         dc.DrawLine(selBG.x, obottom - 26, selBG.x + selBG.width, obottom - 26);
+         AColor::Line(dc, selBG.x, obottom - 26, selBG.x + selBG.width, obottom - 26);
       }
 
       wxRect bselBG = selBG;
@@ -2420,12 +2275,13 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
    // We want to draw in seconds, so we need to convert to seconds
    seq->convert_to_seconds();
 
-   seq->iteration_begin();
+   Alg_iterator iterator(seq, false);
+   iterator.begin();
    //for every event
    Alg_event_ptr evt;
    printf ("go time\n");
-   while ((evt = seq->iteration_next())) {
-
+   while (evt = iterator.next()) {
+   
       //printf ("one note");
 
       //if the event is a note
@@ -2477,12 +2333,12 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
 //                      } else {
                         dc.DrawRectangle(nr);
                         AColor::LightMIDIChannel(&dc, note->chan + 1);
-                        dc.DrawLine(nr.x, nr.y, nr.x + nr.width-2, nr.y);
-                        dc.DrawLine(nr.x, nr.y, nr.x, nr.y + nr.height-2);
+                        AColor::Line(dc, nr.x, nr.y, nr.x + nr.width-2, nr.y);
+                        AColor::Line(dc, nr.x, nr.y, nr.x, nr.y + nr.height-2);
                         AColor::DarkMIDIChannel(&dc, note->chan + 1);
-                        dc.DrawLine(nr.x+nr.width-1, nr.y,
+                        AColor::Line(dc, nr.x+nr.width-1, nr.y,
                               nr.x+nr.width-1, nr.y+nr.height-1);
-                        dc.DrawLine(nr.x, nr.y+nr.height-1,
+                        AColor::Line(dc, nr.x, nr.y+nr.height-1,
                               nr.x+nr.width-1, nr.y+nr.height-1);
 //                      }
                      }
@@ -2530,7 +2386,7 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
                         y1 = int((y + (y1 - y) * (h1 - x) / (x1 - x)) + 0.5);
                         x1 = h1;
                      }
-                     dc.DrawLine(TIME_TO_X(x), y, TIME_TO_X(x1), y1);
+                     AColor::Line(dc, TIME_TO_X(x), y, TIME_TO_X(x1), y1);
                   } else if (shape == rectangle) {
                      if (x < h) { // clip on left, leave 10 pixels to spare
                         x = h - (linethick + 10) / pps;
@@ -2617,7 +2473,7 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
                      // now do justification
                      const char *s = LookupStringAttribute(note, texts, "");
                      #ifdef __WXMAC__
-                     long textWidth, textHeight;
+                        long textWidth, textHeight;
                      #else
                         int textWidth, textHeight;
                      #endif
@@ -2651,15 +2507,16 @@ void TrackArtist::DrawNoteTrack(NoteTrack *track,
          }
       }
    }
-   seq->iteration_end();
+   iterator.end();
    dc.DestroyClippingRegion();
 }
 #endif // USE_MIDI
 
 
 void TrackArtist::DrawLabelTrack(LabelTrack *track,
-                                 wxDC & dc, wxRect & r,
-                                 ViewInfo * viewInfo)
+                                 wxDC & dc,
+                                 const wxRect & r,
+                                 const ViewInfo *viewInfo)
 {
    double sel0 = viewInfo->sel0;
    double sel1 = viewInfo->sel1;
@@ -2671,8 +2528,9 @@ void TrackArtist::DrawLabelTrack(LabelTrack *track,
 }
 
 void TrackArtist::DrawTimeTrack(TimeTrack *track,
-                                wxDC & dc, wxRect & r,
-                                ViewInfo * viewInfo)
+                                wxDC & dc,
+                                const wxRect & r,
+                                const ViewInfo *viewInfo)
 {
    track->Draw(dc, r, viewInfo->h, viewInfo->zoom);
    wxRect envRect = r;
@@ -2685,6 +2543,83 @@ void TrackArtist::UpdatePrefs()
 {
    mdBrange = gPrefs->Read(wxT("/GUI/EnvdBRange"), mdBrange);
    mShowClipping = gPrefs->Read(wxT("/GUI/ShowClipping"), mShowClipping);
+
+   mMaxFreq = gPrefs->Read(wxT("/Spectrum/MaxFreq"), -1);
+   mMinFreq = gPrefs->Read(wxT("/Spectrum/MinFreq"), -1);
+   mLogMaxFreq = gPrefs->Read(wxT("/SpectrumLog/MaxFreq"), -1);
+   mLogMinFreq = gPrefs->Read(wxT("/SpectrumLog/MinFreq"), -1);
+
+   mWindowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 256);
+   mIsGrayscale = (gPrefs->Read(wxT("/Spectrum/Grayscale"), 0L) != 0);
+
+#ifdef EXPERIMENTAL_FFT_Y_GRID
+   mFftYGrid = (gPrefs->Read(wxT("/Spectrum/FFTYGrid"), 0L) != 0);
+#endif //EXPERIMENTAL_FFT_Y_GRID
+
+#ifdef EXPERIMENTAL_FIND_NOTES
+   mFftFindNotes = (gPrefs->Read(wxT("/Spectrum/FFTFindNotes"), 0L) != 0);
+   mFindNotesMinA = gPrefs->Read(wxT("/Spectrum/FindNotesMinA"), -30.0);
+   mNumberOfMaxima = gPrefs->Read(wxT("/Spectrum/FindNotesN"), 5L);
+   mFindNotesQuantize = (gPrefs->Read(wxT("/Spectrum/FindNotesQuantize"), 0L) != 0);
+#endif //EXPERIMENTAL_FIND_NOTES
+
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+   mFftSkipPoints = gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), 0L);
+#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+}
+
+// Get various preference values
+int TrackArtist::GetSpectrumMinFreq(int deffreq)
+{
+   return mMinFreq < 0 ? deffreq : mMinFreq;
+}
+
+int TrackArtist::GetSpectrumMaxFreq(int deffreq)
+{
+   return mMaxFreq < 0 ? deffreq : mMaxFreq;
+}
+
+int TrackArtist::GetSpectrumLogMinFreq(int deffreq)
+{
+   return mLogMinFreq < 0 ? deffreq : mLogMinFreq;
+}
+
+int TrackArtist::GetSpectrumLogMaxFreq(int deffreq)
+{
+   return mLogMaxFreq < 0 ? deffreq : mLogMaxFreq;
+}
+
+int TrackArtist::GetSpectrumWindowSize()
+{
+   return mWindowSize;
+}
+
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+int TrackArtist::GetSpectrumFftSkipPoints()
+{
+   return mFftSkipPoints;
+}
+#endif
+
+// Set various preference values
+void TrackArtist::SetSpectrumMinFreq(int freq)
+{
+   mMinFreq = freq;
+}
+
+void TrackArtist::SetSpectrumMaxFreq(int freq)
+{
+   mMaxFreq = freq;
+}
+
+void TrackArtist::SetSpectrumLogMinFreq(int freq)
+{
+   mLogMinFreq = freq;
+}
+
+void TrackArtist::SetSpectrumLogMaxFreq(int freq)
+{
+   mLogMaxFreq = freq;
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/TrackArtist.h b/src/TrackArtist.h
index b5f2986..73266f0 100644
--- a/src/TrackArtist.h
+++ b/src/TrackArtist.h
@@ -48,76 +48,142 @@ class AUDACITY_DLL_API TrackArtist {
    ~TrackArtist();
 
    void SetColours();
-   void DrawTracks(TrackList * tracks,
+   void DrawTracks(TrackList *tracks, Track *start,
                    wxDC & dc, wxRegion & reg,
-                   wxRect & r, wxRect & clip, ViewInfo * viewInfo, 
-                   bool drawEnvelope,bool drawSamples,bool drawSliders);
+                   wxRect & r, wxRect & clip, ViewInfo *viewInfo, 
+                   bool drawEnvelope, bool drawSamples, bool drawSliders);
 
-   void DrawVRuler(Track * t, wxDC * dc, wxRect & r);
-   int GetWaveYPos(float value, int height, bool dB, float dBr);
+   void DrawTrack(const Track *t,
+                  wxDC & dc, const wxRect & r, const ViewInfo *viewInfo, 
+                  bool drawEnvelope, bool drawSamples, bool drawSliders,
+                  bool hasSolo);
+
+   void DrawVRuler(Track *t, wxDC *dc, wxRect & r);
+
+   void UpdateVRuler(Track *t, wxRect & r);
 
    void SetInset(int left, int top, int right, int bottom);
 
    void UpdatePrefs();
 
+   void InvalidateSpectrumCache(TrackList *tracks);
+   void InvalidateSpectrumCache(WaveTrack *track);
+   int GetSpectrumMinFreq(int deffreq);
+   int GetSpectrumMaxFreq(int deffreq);
+   int GetSpectrumLogMinFreq(int deffreq);
+   int GetSpectrumLogMaxFreq(int deffreq);
+   int GetSpectrumWindowSize();
+
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+   int GetSpectrumFftSkipPoints();
+#endif
+
+   void SetSpectrumMinFreq(int freq);
+   void SetSpectrumMaxFreq(int freq);
+   void SetSpectrumLogMinFreq(int freq);
+   void SetSpectrumLogMaxFreq(int freq);
+
+   void SetBackgroundBrushes(wxBrush unselectedBrush, wxBrush selectedBrush,
+			     wxPen unselectedPen, wxPen selectedPen) {
+     this->unselectedBrush = unselectedBrush;
+     this->selectedBrush = selectedBrush;
+     this->unselectedPen = unselectedPen;
+     this->selectedPen = selectedPen;
+   }
+
+ private:
+
    //
    // Lower-level drawing functions
    // 
 
    void DrawWaveform(WaveTrack *track,
-                     wxDC & dc, wxRect & r,
-                     ViewInfo * viewInfo, 
-                     bool drawEnvelope, bool drawSamples,
-                     bool drawSliders, bool dB, bool muted);
+                     wxDC & dc, const wxRect & r, const ViewInfo *viewInfo, 
+                     bool drawEnvelope, bool drawSamples, bool drawSliders,
+                     bool dB, bool muted);
 
    void DrawSpectrum(WaveTrack *track,
-                     wxDC & dc, wxRect & r,
-                     ViewInfo * viewInfo, bool autocorrelation, bool logF);
+                     wxDC & dc, const wxRect & r, const ViewInfo *viewInfo,
+                     bool autocorrelation, bool logF);
 #ifdef USE_MIDI
    void DrawNoteTrack(NoteTrack *track,
-                      wxDC & dc, wxRect & r, ViewInfo * viewInfo);
+                      wxDC & dc, const wxRect & r, const ViewInfo *viewInfo);
 #endif // USE_MIDI
 
    void DrawLabelTrack(LabelTrack *track,
-                       wxDC & dc, wxRect & r, ViewInfo * viewInfo);
+                       wxDC & dc, const wxRect & r, const ViewInfo *viewInfo);
 
    void DrawTimeTrack(TimeTrack *track,
-                       wxDC & dc, wxRect & r, ViewInfo * viewInfo);
+                      wxDC & dc, const wxRect & r, const ViewInfo *viewInfo);
 
    void DrawTimeSlider(WaveTrack *track,
-                       wxDC & dc, wxRect & r, ViewInfo * viewInfo,
+                       wxDC & dc, const wxRect & r, const ViewInfo *viewInfo,
                        bool rightwards);
 
-   void DrawClipWaveform(WaveTrack* track, WaveClip* clip,
-                         wxDC & dc, wxRect & r,
-                         ViewInfo * viewInfo,
-                         bool drawEnvelope,
-                         bool drawSamples,
-                         bool drawSliders,
+   void DrawClipWaveform(WaveTrack *track, WaveClip *clip,
+                         wxDC & dc, const wxRect & r, const ViewInfo *viewInfo,
+                         bool drawEnvelope, bool drawSamples, bool drawSliders,
                          bool dB, bool muted);
 
    void DrawClipSpectrum(WaveTrack *track, WaveClip *clip,
-                         wxDC & dc, wxRect & r,
-                         ViewInfo * viewInfo, bool autocorrelation, bool logF);
+                         wxDC & dc, const wxRect & r, const ViewInfo *viewInfo,
+                         bool autocorrelation, bool logF);
 
-   void SetBackgroundBrushes(wxBrush unselectedBrush, wxBrush selectedBrush,
-			     wxPen unselectedPen, wxPen selectedPen) {
-     this->unselectedBrush = unselectedBrush;
-     this->selectedBrush = selectedBrush;
-     this->unselectedPen = unselectedPen;
-     this->selectedPen = selectedPen;
-   }
+   // Waveform utility functions
 
- private:
+   void DrawWaveformBackground(wxDC & dc, const wxRect &r, const double env[],
+                               float zoomMin, float zoomMax, bool dB,
+                               const sampleCount where[],
+                               sampleCount ssel0, sampleCount ssel1,
+                               bool drawEnvelope);
 
+   void DrawMinMaxRMS(wxDC & dc, const wxRect & r, const double env[],
+                      float zoomMin, float zoomMax, bool dB,
+                      const float min[], const float max[], const float rms[],
+                      const int bl[], bool showProgress, bool muted);
+
+   void DrawIndividualSamples(wxDC & dc, const wxRect & r,
+                              float zoomMin, float zoomMax, bool dB,
+                              WaveClip *clip,
+                              double t0, double pps, double h,
+                              bool drawSamples, bool showPoints, bool muted);
+
+   void DrawNegativeOffsetTrackArrows(wxDC & dc, const wxRect & r);
+
+   void DrawEnvelope(wxDC & dc, const wxRect & r, const double env[],
+                     float zoomMin, float zoomMax, bool dB);
+   void DrawEnvLine(wxDC & dc, const wxRect & r, int x, int y, int cy, bool top);
+
+   // Preference values
+   float mdBrange;            // "/GUI/EnvdBRange"
+   long mShowClipping;        // "/GUI/ShowClipping"
+   int mLogMaxFreq;           // "/SpectrumLog/MaxFreq"
+   int mLogMinFreq;           // "/SpectrumLog/MinFreq"
+   int mMaxFreq;              // "/Spectrum/MaxFreq"
+   int mMinFreq;              // "/Spectrum/MinFreq"
+   int mWindowSize;           // "/Spectrum/FFTSize"
+   bool mIsGrayscale;         // "/Spectrum/Grayscale"
+
+#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
+   int mFftSkipPoints;        // "/Spectrum/FFTSkipPoints"
+#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+
+#ifdef EXPERIMENTAL_FFT_Y_GRID
+   bool mFftYGrid;            // "/Spectrum/FFTYGrid"
+#endif //EXPERIMENTAL_FFT_Y_GRID
+
+#ifdef EXPERIMENTAL_FIND_NOTES
+   bool mFftFindNotes;        // "/Spectrum/FFTFindNotes"
+   float mFindNotesMinA;      // "/Spectrum/FindNotesMinA"
+   int mNumberOfMaxima;       // "/Spectrum/FindNotesN"
+   bool mFindNotesQuantize;   // "/Spectrum/FindNotesQuantize")
+#endif //EXPERIMENTAL_FIND_NOTES
+   
    int mInsetLeft;
    int mInsetTop;
    int mInsetRight;
    int mInsetBottom;
 
-   float mdBrange;
-   long mShowClipping;
-
    wxBrush blankBrush;
    wxBrush unselectedBrush;
    wxBrush selectedBrush;
@@ -151,49 +217,12 @@ class AUDACITY_DLL_API TrackArtist {
    int findNotesNOld;
    bool findNotesQuantizeOld;
 #endif
-
-   // Waveform utility functions
-
-   void DrawWaveformBackground(wxDC &dc, wxRect r, uchar *imageBuffer,
-                               sampleCount *where, sampleCount ssel0, sampleCount ssel1,
-                               double *env, 
-                               float zoomMin, float zoomMax,
-                               bool dB, bool drawEnvelope);
-
-   void DrawIndividualSamples(wxDC &dc, wxRect r,
-                              WaveTrack *track,                
-                              double t0, double pps, double h,
-                              float zoomMin, float zoomMax,
-                              bool dB,
-                              bool drawSamples,
-                              bool showPoints, bool muted);
-
-   void DrawIndividualClipSamples(wxDC &dc, wxRect r,
-                                        WaveClip *clip,
-                                        double t0, double pps, double h,
-                                        float zoomMin, float zoomMax,
-                                        bool dB,
-                                        bool drawSamples,
-                                        bool showPoints, bool muted);
-
-   void DrawMinMaxRMS(wxDC &dc, wxRect r, uchar *imageBuffer,
-                      float zoomMin, float zoomMax,
-                      double *envValues,
-                      float *min, float *max, float *rms,int* bl,
-                      bool dB, bool muted, bool showProgress);
-
-   void DrawNegativeOffsetTrackArrows(wxDC &dc, wxRect &r);
-
-   void DrawEnvLine(wxDC &dc, wxRect r, int x, int y, bool top);
-
 };
 
-extern int GetWaveYPosNew(float value, float min, float max,
+extern int GetWaveYPos(float value, float min, float max,
 			  int height, bool dB, bool outer, float dBr, 
 			  bool clip);
 
-
-
 #endif                          // define __AUDACITY_TRACKARTIST__
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp
index 8233d4c..4655769 100644
--- a/src/TrackPanel.cpp
+++ b/src/TrackPanel.cpp
@@ -153,13 +153,12 @@ is time to refresh some aspect of the screen.
 
 
 #include "Audacity.h"
+#include "Experimental.h"
 #include "TrackPanel.h"
 
 #include <math.h>
 
-#if DEBUG_DRAW_TIMING
-#include <sys/time.h>
-#endif
+//#define DEBUG_DRAW_TIMING 1
 
 #include <wx/combobox.h>
 #include <wx/dcclient.h>
@@ -188,6 +187,14 @@ is time to refresh some aspect of the screen.
 #include "float_cast.h"
 #include "Internat.h"
 #include "LabelTrack.h"
+#ifdef EXPERIMENTAL_LYRICS_WINDOW
+   #include "Lyrics.h"
+   #include "LyricsWindow.h"
+#endif
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   #include "MixerBoard.h"
+#endif
+
 #include "NoteTrack.h"
 #include "Prefs.h"
 #include "Project.h"
@@ -227,6 +234,7 @@ WX_DEFINE_OBJARRAY(TrackClipArray);
 
 #define kLeftInset 4
 #define kTopInset 4
+#define kTimerInterval 50 // milliseconds
 
 // Is the distance between A and B less than D?
 template < class A, class B, class DIST > bool within(A a, B b, DIST d)
@@ -260,18 +268,6 @@ template < class CLIPPEE, class CLIPVAL >
       clippee = val;
 }
 
-/// \todo Probably should move to 'Utils.cpp'.
-void SetTrackInfoFont(wxDC * dc)
-{
-   int fontSize = 10;
-#if defined __WXMSW__ || __WXGTK__
-   fontSize = 8;
-#endif
-
-   wxFont labelFont(fontSize, wxSWISS, wxNORMAL, wxNORMAL);
-   dc->SetFont(labelFont);
-}
-
 enum {
    TrackPanelFirstID = 2000,
    OnSetNameID,
@@ -307,13 +303,13 @@ enum {
    OnPitchID,
 
    OnSplitStereoID,
+   OnSplitStereoMonoID,
    OnMergeStereoID,
 
    OnSetTimeTrackRangeID,
    OnCutSelectedTextID,
    OnCopySelectedTextID,
    OnPasteSelectedTextID,
-   OnStickySubmenuID = 12000,//leave 12000-12999 open for sticky tracks
 };
 
 BEGIN_EVENT_TABLE(TrackPanel, wxWindow)
@@ -341,12 +337,12 @@ BEGIN_EVENT_TABLE(TrackPanel, wxWindow)
     EVT_MENU_RANGE(On16BitID, OnFloatID, TrackPanel::OnFormatChange)
     EVT_MENU(OnRateOtherID, TrackPanel::OnRateOther)
     EVT_MENU(OnSplitStereoID, TrackPanel::OnSplitStereo)
+    EVT_MENU(OnSplitStereoMonoID, TrackPanel::OnSplitStereoMono)
     EVT_MENU(OnMergeStereoID, TrackPanel::OnMergeStereo)
 
     EVT_MENU(OnCutSelectedTextID, TrackPanel::OnCutSelectedText)
     EVT_MENU(OnCopySelectedTextID, TrackPanel::OnCopySelectedText)
     EVT_MENU(OnPasteSelectedTextID, TrackPanel::OnPasteSelectedText)
-    EVT_MENU_RANGE(OnStickySubmenuID, OnStickySubmenuID+999, TrackPanel::OnTrackSticky)
 END_EVENT_TABLE()
 
 /// Makes a cursor from an XPM, uses CursorId as a fallback.
@@ -410,9 +406,10 @@ wxCursor * MakeCursor( int CursorId, const char * pXpm[36],  int HotX, int HotY
 
    pCursor = new wxCursor((const char *)bits, w, h,
                           HotX-HotAdjust, HotY-HotAdjust,
-                          (const char *)maskBits,
-                          new wxColour(0, 0, 0),
-                          new wxColour(255, 255, 255));
+                          (const char *)maskBits);
+
+   delete [] bits;
+   delete [] maskBits;
 
 #else
    Image.SetOption( wxIMAGE_OPTION_CUR_HOTSPOT_X, HotX-HotAdjust );
@@ -485,6 +482,12 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
    mAdjustLeftSelectionCursor = new wxCursor(wxCURSOR_POINT_LEFT);
    mAdjustRightSelectionCursor = new wxCursor(wxCURSOR_POINT_RIGHT);
 
+   mWaveTrackMenu = NULL;
+   mNoteTrackMenu = NULL;
+   mLabelTrackMenu = NULL;
+   mLabelTrackInfoMenu = NULL;
+   mTimeTrackMenu = NULL;
+
    BuildMenus();
 
    mTrackArtist = new TrackArtist();
@@ -497,7 +500,7 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
 
    mTimeCount = 0;
    mTimer.parent = this;
-   mTimer.Start(50, FALSE);
+   mTimer.Start(kTimerInterval, FALSE);
 
    //Initialize a member variable pointing to the current
    //drawing track.
@@ -521,10 +524,74 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
 
    mLastCursor = -1;
    mLastIndicator = -1;
+
+   // Register for tracklist updates
+   mTracks->Connect(EVT_TRACKLIST_RESIZED,
+                    wxCommandEventHandler(TrackPanel::OnTrackListResized),
+                    NULL,
+                    this);
+   mTracks->Connect(EVT_TRACKLIST_UPDATED,
+                    wxCommandEventHandler(TrackPanel::OnTrackListUpdated),
+                    NULL,
+                    this);
+}
+
+TrackPanel::~TrackPanel()
+{
+   mTimer.Stop();
+
+   // Unregister for tracklist updates
+   mTracks->Disconnect(EVT_TRACKLIST_UPDATED,
+                       wxCommandEventHandler(TrackPanel::OnTrackListUpdated),
+                       NULL,
+                       this);
+   mTracks->Disconnect(EVT_TRACKLIST_RESIZED,
+                       wxCommandEventHandler(TrackPanel::OnTrackListResized),
+                       NULL,
+                       this);
+
+   // This can happen if a label is being edited and the user presses
+   // ALT+F4 or Command+Q
+   if (HasCapture())
+      ReleaseMouse();
+
+   if (mBacking)
+   {
+      mBackingDC.SelectObject( wxNullBitmap );
+      delete mBacking;
+   }
+   delete mTrackArtist;
+
+   delete mArrowCursor;
+   delete mPencilCursor;
+   delete mSelectCursor;
+   delete mEnvelopeCursor;
+   delete mDisabledCursor;
+   delete mSlideCursor;
+   delete mResizeCursor;
+   delete mSmoothCursor;
+   delete mZoomInCursor;
+   delete mZoomOutCursor;
+   delete mLabelCursorLeft;
+   delete mLabelCursorRight;
+   delete mRearrangeCursor;
+   delete mAdjustLeftSelectionCursor;
+   delete mAdjustRightSelectionCursor;
+
+   delete mSnapManager;
+
+   DeleteMenus();
+
+#if !wxUSE_ACCESSIBILITY
+   delete mAx;
+#endif
 }
 
 void TrackPanel::BuildMenus(void)
 {
+   // Get rid of existing menus
+   DeleteMenus();
+
    // Use AppendCheckItem so we can have ticks beside the items.
    // We would use AppendRadioItem but it only currently works on windows and GTK.
    mRateMenu = new wxMenu();
@@ -559,6 +626,7 @@ void TrackPanel::BuildMenus(void)
    mWaveTrackMenu->AppendCheckItem(OnChannelRightID, _("Right Channel"));
    mWaveTrackMenu->Append(OnMergeStereoID, _("Make Stereo Track"));
    mWaveTrackMenu->Append(OnSplitStereoID, _("Split Stereo Track"));
+   mWaveTrackMenu->Append(OnSplitStereoMonoID, _("Split Stereo to Mono"));
    mWaveTrackMenu->AppendSeparator();
    mWaveTrackMenu->Append(0, _("Set Sample Format"), mFormatMenu);
    mWaveTrackMenu->AppendSeparator();
@@ -595,53 +663,34 @@ void TrackPanel::BuildMenus(void)
    mLabelTrackInfoMenu->Append(OnPasteSelectedTextID, _("Paste"));
 }
 
-void AudacityProject::RebuildOtherMenus()
-{
-   mTrackPanel->BuildMenus();
-}
-
-TrackPanel::~TrackPanel()
+void TrackPanel::DeleteMenus(void)
 {
-   mTimer.Stop();
-
-   // This can happen if a label is being edited and the user presses
-   // ALT+F4 or Command+Q
-   if (HasCapture())
-      ReleaseMouse();
+   // Note that the submenus (mRateMenu, ...)
+   // are deleted by their parent
+   if (mWaveTrackMenu) {
+      delete mWaveTrackMenu;
+      mWaveTrackMenu = NULL;
+   }
 
-   if (mBacking)
-   {
-      mBackingDC.SelectObject( wxNullBitmap );
-      delete mBacking;
+   if (mNoteTrackMenu) {
+      delete mNoteTrackMenu;
+      mNoteTrackMenu = NULL;
    }
-//   delete mAx;
-   delete mTrackArtist;
 
-   delete mArrowCursor;
-   delete mPencilCursor;
-   delete mSelectCursor;
-   delete mEnvelopeCursor;
-   delete mDisabledCursor;
-   delete mSlideCursor;
-   delete mResizeCursor;
-   delete mSmoothCursor;
-   delete mZoomInCursor;
-   delete mZoomOutCursor;
-   delete mLabelCursorLeft;
-   delete mLabelCursorRight;
-   delete mRearrangeCursor;
-   delete mAdjustLeftSelectionCursor;
-   delete mAdjustRightSelectionCursor;
+   if (mLabelTrackMenu) {
+      delete mLabelTrackMenu;
+      mLabelTrackMenu = NULL;
+   }
 
-   delete mSnapManager;
+   if (mLabelTrackInfoMenu) {
+      delete mLabelTrackInfoMenu;
+      mLabelTrackInfoMenu = NULL;
+   }
 
-   // Note that the submenus (mRateMenu, ...)
-   // are deleted by their parent
-   delete mWaveTrackMenu;
-   delete mNoteTrackMenu;
-   delete mLabelTrackMenu;
-   delete mLabelTrackInfoMenu;
-   delete mTimeTrackMenu;
+   if (mTimeTrackMenu) {
+      delete mTimeTrackMenu;
+      mTimeTrackMenu = NULL;
+   }
 }
 
 void TrackPanel::UpdatePrefs()
@@ -662,6 +711,11 @@ void TrackPanel::UpdatePrefs()
    if (mTrackArtist) {
       mTrackArtist->UpdatePrefs();
    }
+
+   // All vertical rulers must be recalculated since the minimum and maximum
+   // frequences may have been changed.
+   UpdateVRulers();
+   Refresh();
 }
 
 void TrackPanel::SetStop(bool bStopped)
@@ -675,14 +729,15 @@ void TrackPanel::SetStop(bool bStopped)
 /// of the captured track, passing NULL as the track.
 void TrackPanel::SetCapturedTrack( Track * t, enum MouseCaptureEnum MouseCapture )
 {
-   if( t== NULL ) 
-   {
-      wxASSERT( MouseCapture == IsUncaptured );
+#if defined(__WXDEBUG__)
+   if (t == NULL) {
+      wxASSERT(MouseCapture == IsUncaptured);
    }
-   else
-   {
-      wxASSERT( MouseCapture != IsUncaptured );
+   else {
+      wxASSERT(MouseCapture != IsUncaptured);
    }
+#endif
+
    mCapturedTrack = t;
    mMouseCapture = MouseCapture;
 }
@@ -764,12 +819,37 @@ void TrackPanel::OnTimer()
    wxCommandEvent dummyEvent;
    AudacityProject *p = GetProject();
 
+   #ifdef EXPERIMENTAL_LYRICS_WINDOW
+      if (p->GetAudioIOToken() > 0) 
+      {
+         // Update lyrics display. 
+         LyricsWindow* pLyricsWindow = p->GetLyricsWindow();
+         if (pLyricsWindow) 
+         {
+            Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel();
+            pLyricsPanel->Update(gAudioIO->GetStreamTime());
+         }
+      }
+   #endif
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      MixerBoard* pMixerBoard = p->GetMixerBoard();
+      if (pMixerBoard && (p->GetAudioIOToken() > 0))
+         pMixerBoard->UpdateMeters(gAudioIO->GetStreamTime());
+   #endif
+
    // Each time the loop, check to see if we were playing or
    // recording audio, but the stream has stopped.
    if (p->GetAudioIOToken()>0 &&
-       !gAudioIO->IsStreamActive(p->GetAudioIOToken())) {
+       !gAudioIO->IsStreamActive(p->GetAudioIOToken())
+#ifdef EXPERIMENTAL_MIDI_OUT
+       && !gAudioIO->IsMidiActive()
+#endif
+	  ) {
       p->GetControlToolBar()->OnStop(dummyEvent);
-      printf( "HCK OnTimer\n" );
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         if (pMixerBoard) 
+            pMixerBoard->ResetMeters();
+      #endif
    }
 
    // Next, check to see if we were playing or recording
@@ -778,7 +858,11 @@ void TrackPanel::OnTimer()
    // and flush the tracks once we've completely finished
    // recording new state.
    if (p->GetAudioIOToken()>0 &&
-       !gAudioIO->IsAudioTokenActive(p->GetAudioIOToken())) {
+       !gAudioIO->IsAudioTokenActive(p->GetAudioIOToken())
+#ifdef EXPERIMENTAL_MIDI_OUT
+       && !gAudioIO->IsMidiActive()
+#endif       
+       ) {
 
       if (gAudioIO->GetNumCaptureChannels() > 0) {
          // Tracks are buffered during recording.  This flushes
@@ -825,15 +909,7 @@ void TrackPanel::OnTimer()
             // Must tell OnPaint() to recreate the backing bitmap
             // since we've not done a full refresh.
             mRefreshBacking = true;
-
-            // Refresh only the waveform area, not the labels
-            // (This actually speeds up redrawing!)
-            wxRect trackRect;
-            GetSize(&trackRect.width, &trackRect.height);
-            trackRect.x = GetLeftOffset(); 
-            trackRect.y = 0;
-            trackRect.width -= GetLeftOffset();
-            Refresh(false, &trackRect);
+            Refresh( false );
          }
       }
    }
@@ -918,7 +994,7 @@ void TrackPanel::DoDrawIndicator(wxDC & dc)
          dc.Blit( x, 0, 1, mBacking->GetHeight(), &mBackingDC, x, 0 );
       }
 
-      // Nothing's every perfect...
+      // Nothing's ever perfect...
       //
       // Redraw the cursor since we may have just wiped it out
       if( mLastCursor == mLastIndicator )
@@ -964,38 +1040,32 @@ void TrackPanel::DoDrawIndicator(wxDC & dc)
    // Remember it
    mLastIndicator = pos;
 
-   // Get the size of the trackpanel region, so we know where to redraw
-   wxRect panelarea = GetRect();
-   panelarea.x = GetLeftOffset();
-
    // Set play/record color
-   bool rec = gAudioIO->GetNumCaptureChannels() ? false : true;
-   AColor::IndicatorColor( &dc, rec );
-      
-   // Draw cursor in all visible tracks
-   TrackListIterator iter( mTracks );
+   bool rec = (gAudioIO->GetNumCaptureChannels() > 0);
+   AColor::IndicatorColor( &dc, !rec);
 
-   // Iterate through each track
+   // Calculate the horizontal position of the indicator
    x = GetLeftOffset() + int ( ( pos - mViewInfo->h ) * mViewInfo->zoom );
-   int y = -mViewInfo->vpos;
-   Track *t;
-   for( t = iter.First(); t; t = iter.Next() )
+
+   // Draw indicator in all visible tracks
+   VisibleTrackIterator iter( GetProject() );
+   for( Track *t = iter.First(); t; t = iter.Next() )
    {
-      int height = t->GetHeight();
-      wxCoord top = y + kTopInset + 1;
-      wxCoord bottom = y + height - 2;
-      wxRect trackarea( x, top, 1, bottom - top );
-
-      // Only want non-Label tracks that are visible 
-      if( ( panelarea.Intersects( trackarea ) ) &&
-          ( t->GetKind() != Track::Label ) )
+      // Don't draw the indicator in label tracks
+      if( t->GetKind() == Track::Label )
       {
-         // Draw the new indicator in its new location
-         dc.DrawLine( x, top, x, bottom );
+         continue;
       }
 
-      // Increment y so you draw on the proper track
-      y += height;
+      // Convert virtual coordinate to physical
+      int y = t->GetY() - mViewInfo->vpos;
+
+      // Draw the new indicator in its new location
+      AColor::Line(dc,
+                   x,
+                   y + kTopInset + 1,
+                   x,
+                   y + t->GetHeight() - 3 );
    }
 
    mRuler->DrawIndicator( pos, rec );
@@ -1047,30 +1117,29 @@ void TrackPanel::DoDrawCursor(wxDC & dc)
 
    x = GetLeftOffset() +
        int ( ( mLastCursor - mViewInfo->h ) * mViewInfo->zoom );
-   int y = -mViewInfo->vpos;
 
    // Draw cursor in all selected tracks
-   TrackListIterator iter(mTracks);
-   Track *t;
-   for( t = iter.First(); t; t = iter.Next() )
+   VisibleTrackIterator iter( GetProject() );
+   for( Track *t = iter.First(); t; t = iter.Next() )
    {
-      int height = t->GetHeight();
-      wxCoord top = y + kTopInset + 1;
-      wxCoord bottom = y + height - 2;
-
-      if( t->GetSelected() && t->GetKind() == Track::Time )
+      if( t->GetSelected() || mAx->IsFocused( t ) )
       {
-         TimeTrack *tt = (TimeTrack *) t;
-         double t0 = tt->warp( mLastCursor - mViewInfo->h );
-         int warpedX = GetLeftOffset() + int ( t0 * mViewInfo->zoom );
-         dc.DrawLine( warpedX, top, warpedX, bottom );
-      }
-      else if( t->GetSelected() || mAx->IsFocused( t ) )
-      {
-         dc.DrawLine( x, top, x, bottom ); // <-- The whole point of this routine.
-      }
+         int y = t->GetY() - mViewInfo->vpos + 1;
+         wxCoord top = y + kTopInset;
+         wxCoord bottom = y + t->GetHeight() - kTopInset;
 
-      y += height;
+         if( t->GetKind() == Track::Time )
+         {
+            TimeTrack *tt = (TimeTrack *) t;
+            double t0 = tt->warp( mLastCursor - mViewInfo->h );
+            int warpedX = GetLeftOffset() + int ( t0 * mViewInfo->zoom );
+            AColor::Line( dc, warpedX, top, warpedX, bottom );
+         }
+         else
+         {
+            AColor::Line( dc, x, top, x, bottom ); // <-- The whole point of this routine.
+         }
+      }
    }
 
    // AS: Ah, no, this is where we draw the blinky thing in the ruler.
@@ -1164,7 +1233,8 @@ void TrackPanel::OnPaint(wxPaintEvent & /* event */)
 
 #if DEBUG_DRAW_TIMING
    sw.Pause();
-   wxLogDebug(wxT("Total: %d milliseconds"), sw.Time() );
+   wxLogDebug(wxT("Total: %d milliseconds"), sw.Time());
+   wxPrintf(wxT("Total: %d milliseconds\n"), sw.Time());
 #endif
 }
 
@@ -1208,6 +1278,15 @@ void TrackPanel::HandleCursorForLastMouseEvent()
    HandleCursor(mLastMouseEvent);
 }
 
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   MixerBoard* TrackPanel::GetMixerBoard()
+   {
+      AudacityProject *p = GetProject();
+      wxASSERT(p);
+      return p->GetMixerBoard();
+   }
+#endif
+
 /// Used to determine whether it is safe or not to perform certain
 /// edits at the moment.
 /// @return true if audio is being recorded or is playing.
@@ -1311,7 +1390,7 @@ void TrackPanel::SetCursorAndTipWhenInLabelTrack( LabelTrack * pLT,
    if( edge != pLT->mOldEdge )
    {
       pLT->mOldEdge = edge;
-      RefreshTrack( pLT, true );
+      RefreshTrack( pLT );
    }
    // IF edge!=0 THEN we've set the cursor and we're done.
    // signal this by setting the tip.
@@ -1459,9 +1538,8 @@ void TrackPanel::HandleCursor(wxMouseEvent & event)
    // (2) If we are not over a track at all, set the cursor to Arrow and 
    //     clear the StatusBar, 
    wxRect r;
-   int num;
-   Track *label = FindTrack(event.m_x, event.m_y, true, true, &r, &num);
-   Track *nonlabel = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+   Track *label = FindTrack(event.m_x, event.m_y, true, true, &r);
+   Track *nonlabel = FindTrack(event.m_x, event.m_y, false, false, &r);
    Track *t = label ? label : nonlabel;
 
    if (!t) {
@@ -1539,8 +1617,7 @@ void TrackPanel::HandleCursor(wxMouseEvent & event)
 void TrackPanel::HandleSelect(wxMouseEvent & event)
 {
    wxRect r;
-   int num;
-   Track *t = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+   Track *t = FindTrack(event.m_x, event.m_y, false, false, &r);
 
    // AS: Ok, did the user just click the mouse, release the mouse,
    //  or drag?
@@ -1549,7 +1626,7 @@ void TrackPanel::HandleSelect(wxMouseEvent & event)
       //  to extend the current selection or start a new selection, 
       //  depending on the shift key.  If not, cancel all selections.
       if (t)
-         SelectionHandleClick(event, t, r, num);
+         SelectionHandleClick(event, t, r);
       else {
          SelectNone();
          Refresh(false);
@@ -1570,9 +1647,8 @@ void TrackPanel::HandleSelect(wxMouseEvent & event)
    } else if (event.LeftDClick() && !event.ShiftDown()) {
       if (!mCapturedTrack) {
          wxRect r;
-         int num;
          mCapturedTrack =
-            FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+            FindTrack(event.m_x, event.m_y, false, false, &r);
          if (!mCapturedTrack)
             return;
       }
@@ -1617,11 +1693,10 @@ void TrackPanel::HandleSelect(wxMouseEvent & event)
 /// This function gets called when we're handling selection
 /// and the mouse was just clicked.
 void TrackPanel::SelectionHandleClick(wxMouseEvent & event,
-                                      Track * pTrack, wxRect r, int num)
+                                      Track * pTrack, wxRect r)
 {
    mCapturedTrack = pTrack;
    mCapturedRect = r;
-   mCapturedNum = num;
 
    mMouseClickX = event.m_x;
    mMouseClickY = event.m_y;
@@ -1872,12 +1947,11 @@ void TrackPanel::SelectionHandleDrag(wxMouseEvent & event, Track *clickedTrack)
       return;
 
    wxRect r      = mCapturedRect;
-   int num       = mCapturedNum;
    Track *pTrack = mCapturedTrack;
 
-   // AS: Note that FindTrack will replace r and num's values.
+   // AS: Note that FindTrack will replace r's value.
    if (!pTrack)
-      pTrack = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+      pTrack = FindTrack(event.m_x, event.m_y, false, false, &r);
 
    // Also fuhggeddaboudit if not in a track.
    if (!pTrack) 
@@ -1894,30 +1968,31 @@ void TrackPanel::SelectionHandleDrag(wxMouseEvent & event, Track *clickedTrack)
    const int minimumSizedSelection = 5; //measured in pixels
    wxInt64 SelStart=TimeToPosition( mSelStart, r.x); //cvt time to pixels.
    // Abandon this drag if selecting < 5 pixels.
-   if(wxLongLong(SelStart-x).Abs() < minimumSizedSelection)
+   if (wxLongLong(SelStart-x).Abs() < minimumSizedSelection)
        return;
 
    // Handle which tracks are selected
-   int num2;
-   if (0 != FindTrack(x, y, false, false, NULL, &num2)) {
-      // The tracks numbered num...num2 should be selected
+   if (Track *eTrack = FindTrack(x, y, false, false, NULL)) {
+      // Swap the track pointers if needed
+      if (eTrack->GetIndex() < pTrack->GetIndex()) {
+         Track *t = eTrack;
+         eTrack = pTrack;
+         pTrack = t;
+      }
 
       TrackListIterator iter(mTracks);
-      Track *t = iter.First();
-      for (int i = 1; t; i++, t = iter.Next()) {
-         if ((i >= num && i <= num2) || (i >= num2 && i <= num))
-            mTracks->Select(t);
-      }
+      pTrack = iter.StartWith(pTrack);
+      do {
+         mTracks->Select(pTrack);
+         if (pTrack == eTrack) {
+            break;
+         }
+
+         pTrack = iter.Next();
+      } while (pTrack);
    }
 
    ExtendSelection(x, r.x, clickedTrack);
-
-#ifdef __WXMAC__
-#if ((wxMAJOR_VERSION == 2) && (wxMINOR_VERSION <= 4))
-   if (mAutoScrolling)
-      MacUpdateImmediately();
-#endif
-#endif
 }
 
 /// Converts a position (mouse X coordinate) to 
@@ -1946,8 +2021,7 @@ void TrackPanel::HandleEnvelope(wxMouseEvent & event)
 {
    if (event.LeftDown()) {
       wxRect r;
-      int num;
-      mCapturedTrack = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+      mCapturedTrack = FindTrack(event.m_x, event.m_y, false, false, &r);
 
       if (!mCapturedTrack)
          return;
@@ -1963,7 +2037,6 @@ void TrackPanel::HandleEnvelope(wxMouseEvent & event)
       mCapturedRect = r;
       mCapturedRect.y += kTopInset;
       mCapturedRect.height -= kTopInset;
-      mCapturedNum = num;
    }
    // AS: if there's actually a selected track, then forward all of the
    //  mouse events to its envelope.
@@ -1995,10 +2068,8 @@ void TrackPanel::ForwardEventToTimeTrackEnvelope(wxMouseEvent & event)
          event, envRect,
          mViewInfo->h, mViewInfo->zoom,
          false,0.,1.);
-   if( needUpdate )
-   {
-      //ptimetrack->Draw();
-      Refresh(false);
+   if (needUpdate) {
+      RefreshTrack(mCapturedTrack);
    }
 }
 
@@ -2017,13 +2088,13 @@ void TrackPanel::ForwardEventToWaveTrackEnvelope(wxMouseEvent & event)
    // AS: WaveTracks can be displayed in several different formats.
    //  This asks which one is in use. (ie, Wave, Spectrum, etc)
    int display = pwavetrack->GetDisplay();
-   bool needUpdate = false;
    
    // AS: If we're using the right type of display for envelope operations
    //  ie one of the Wave displays
    if (display <= 1) {
       bool dB = (display == 1);
-      
+      bool needUpdate = false;
+
       // AS: Then forward our mouse event to the envelope.
       // It'll recalculate and then tell us whether or not to redraw.
       wxRect envRect = mCapturedRect;
@@ -2038,7 +2109,7 @@ void TrackPanel::ForwardEventToWaveTrackEnvelope(wxMouseEvent & event)
       
       // If this track is linked to another track, make the identical
       // change to the linked envelope:
-      WaveTrack *link = (WaveTrack *) mTracks->GetLink(mCapturedTrack);
+      WaveTrack *link = (WaveTrack *) mCapturedTrack->GetLink();
       if (link) {
          Envelope *e2 = link->GetEnvelopeAtX(event.GetX());
          // There isn't necessarily an envelope there; no guarantee a
@@ -2070,9 +2141,10 @@ void TrackPanel::ForwardEventToWaveTrackEnvelope(wxMouseEvent & event)
             }
          }
       }
-   }
-   if (needUpdate) {
-      Refresh(false);
+
+      if (needUpdate) {
+         RefreshTrack(mCapturedTrack);
+      }
    }
 }
 
@@ -2143,12 +2215,11 @@ void TrackPanel::HandleSlide(wxMouseEvent & event)
 void TrackPanel::StartSlide(wxMouseEvent & event)
 {
    wxRect r;
-   int num;
 
    mHSlideAmount = 0.0;
    mDidSlideVertically = false;
    
-   Track *vt = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+   Track *vt = FindTrack(event.m_x, event.m_y, false, false, &r);
    if (!vt) 
       return;
 
@@ -2181,14 +2252,14 @@ void TrackPanel::StartSlide(wxMouseEvent & event)
 
          mCapturedClipIsSelection = true;
 
-         TrackListIterator iter(mTracks);
-         Track *t = iter.First();
-         while (t) {
-            if (t->GetSelected()) {
+         TrackGroupIterator iter(mTracks);
+         Track *t;
+         if (GetProject()->IsSticky() && (t = iter.First(wt))) {
+            while (t) {
                if (t->GetKind() == Track::Wave) {
                   WaveTrack *wt = (WaveTrack *)t;
-                  WaveClipList::Node* it;
-                  for(it=wt->GetClipIterator(); it; it=it->GetNext()) {
+                  WaveClipList::compatibility_iterator it;
+                  for (it = wt->GetClipIterator(); it; it = it->GetNext()) {
                      WaveClip *clip = it->GetData();
                      double clip0 = clip->GetStartTime();
                      double clip1 = clip->GetEndTime();
@@ -2197,28 +2268,75 @@ void TrackPanel::StartSlide(wxMouseEvent & event)
                          clip1 >= mViewInfo->sel0) {
                         mCapturedClipArray.Add(TrackClip(wt, clip));
                      }
-                  }      
+                  }
                }
                else {
                   mCapturedClipArray.Add(TrackClip(t, NULL));
                }
+               t = iter.Next();
+            }
+         }
+         else {
+            TrackListIterator iter(mTracks);
+            Track *t = iter.First();
+            while (t) {
+               if (t->GetSelected()) {
+                  if (t->GetKind() == Track::Wave) {
+                     WaveTrack *wt = (WaveTrack *)t;
+                     WaveClipList::compatibility_iterator it;
+                     for (it = wt->GetClipIterator(); it; it = it->GetNext()) {
+                        WaveClip *clip = it->GetData();
+                        double clip0 = clip->GetStartTime();
+                        double clip1 = clip->GetEndTime();
+                        
+                        if (clip0 <= mViewInfo->sel1 &&
+                            clip1 >= mViewInfo->sel0) {
+                           mCapturedClipArray.Add(TrackClip(wt, clip));
+                        }
+                     }
+                  }
+                  else {
+                     mCapturedClipArray.Add(TrackClip(t, NULL));
+                  }
+               }
+               t = iter.Next();
             }
-            t = iter.Next();
          }
       }
       else {
-         // Only add mCapturedClip, and possibly its stereo partner,
-         // to the list of clips to move.
-
          mCapturedClipIsSelection = false;
+         TrackGroupIterator iter(mTracks);
+         Track *t;
+         if (GetProject()->IsSticky() && (t = iter.First(wt))) {
+            while (t) {
+               if (t->GetKind() == Track::Wave) {
+                  WaveTrack *wt = (WaveTrack *)t;
+                  WaveClipList::compatibility_iterator it;
+                  for (it = wt->GetClipIterator(); it; it = it->GetNext()) {
+                     WaveClip *clip = it->GetData();
+                     mCapturedClipArray.Add(TrackClip(wt, clip));
+                  }
+               }
+               else {
+                  mCapturedClipArray.Add(TrackClip(t, NULL));
+               }
+               t = iter.Next();
+            }
+         }
+         else {
+            // Only add mCapturedClip, and possibly its stereo partner,
+            // to the list of clips to move.
 
-         mCapturedClipArray.Add(TrackClip(wt, mCapturedClip));
+            mCapturedClipIsSelection = false;
 
-         Track *partner = mTracks->GetLink(wt);
-         if (partner && partner->GetKind()==Track::Wave) {
-            WaveClip *clip = ((WaveTrack *)partner)->GetClipAtX(event.m_x);
-            if (clip) {
-               mCapturedClipArray.Add(TrackClip(partner, clip));
+            mCapturedClipArray.Add(TrackClip(wt, mCapturedClip));
+
+            Track *partner = mTracks->GetLink(wt);
+            if (partner && partner->GetKind()==Track::Wave) {
+               WaveClip *clip = ((WaveTrack *)partner)->GetClipAtX(event.m_x);
+               if (clip) {
+                  mCapturedClipArray.Add(TrackClip(partner, clip));
+               }
             }
          }
       }
@@ -2231,7 +2349,6 @@ void TrackPanel::StartSlide(wxMouseEvent & event)
 
    mCapturedTrack = vt;
    mCapturedRect = r;
-   mCapturedNum = num;
 
    mMouseClickX = event.m_x;
    mMouseClickY = event.m_y;
@@ -2267,21 +2384,11 @@ void TrackPanel::DoSlide(wxMouseEvent & event)
 
    // find which track the mouse is currently in (mouseTrack) -
    // this may not be the same as the one we started in...
-   WaveTrackArray tracks = mTracks->GetWaveTrackArray(false);
-   WaveTrack* mouseTrack = NULL;
-   for (i=0; i<tracks.GetCount(); i++)
-   {
-      WaveTrack* track = tracks.Item(i);
-      wxRect r;
-      track->GetDisplayRect(&r);
-      if (event.m_y >= r.y && event.m_y < r.y+r.height)
-      {
-         mouseTrack = track;
-         break;
-      }
+   WaveTrack *mouseTrack =
+      (WaveTrack *)FindTrack(event.m_x, event.m_y, false, false, NULL);
+   if (!mouseTrack || mouseTrack->GetKind() != Track::Wave) {
+      return;
    }
-   if(i>=tracks.GetCount())
-      return;  // not in a track at all - probably between/above/below them
 
    // Start by undoing the current slide amount; everything
    // happens relative to the original horizontal position of
@@ -2498,7 +2605,7 @@ void TrackPanel::HandleZoomClick(wxMouseEvent & event)
       return;
 
    mCapturedTrack = FindTrack(event.m_x, event.m_y, false, false,
-                              &mCapturedRect, &mCapturedNum);
+                              &mCapturedRect);
    if (!mCapturedTrack)
       return;
 
@@ -2619,7 +2726,7 @@ void TrackPanel::HandleVZoomClick( wxMouseEvent & event )
    if (mCapturedTrack)
       return;
    mCapturedTrack = FindTrack(event.m_x, event.m_y, true, false,
-                              &mCapturedRect, &mCapturedNum);
+                              &mCapturedRect);
    if (!mCapturedTrack)
       return;
 
@@ -2680,30 +2787,30 @@ void TrackPanel::HandleVZoomButtonUp( wxMouseEvent & event )
    ((WaveTrack *) track)->GetDisplay() == WaveTrack::SpectrumDisplay ? spectrum = true : spectrum = false;
    spectrumLog=(((WaveTrack *) track)->GetDisplay() == WaveTrack::SpectrumLogDisplay);
    if(spectrum) {
-      min = gPrefs->Read(wxT("/Spectrum/MinFreq"), 0L);
+      min = mTrackArtist->GetSpectrumMinFreq(0);
       if(min < 0)
          min = 0;
-      max = gPrefs->Read(wxT("/Spectrum/MaxFreq"), 8000L);
+      max = mTrackArtist->GetSpectrumMaxFreq(8000);
       if(max > rate/2.)
          max = rate/2.;
-      windowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 256);
+      windowSize = mTrackArtist->GetSpectrumWindowSize();
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-      fftSkipPoints = gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), 0L);
+      fftSkipPoints = mTrackArtist->GetSpectrumFftSkipPoints();
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
       binSize = rate / windowSize;
       minBins = wxMin(10, windowSize/2); //minimum 10 freq bins, unless there are less
    }
    else
       if(spectrumLog) {
-         min = gPrefs->Read(wxT("/SpectrumLog/MinFreq"), (long)(rate/2000.0));
+         min = mTrackArtist->GetSpectrumLogMinFreq(lrint(rate/1000.0));
          if(min < 1)
             min = 1;
-         max = gPrefs->Read(wxT("/SpectrumLog/MaxFreq"), (long)(rate/2.));
+         max = mTrackArtist->GetSpectrumLogMaxFreq(lrint(rate/2.));
          if(max > rate/2.)
             max = rate/2.;
-         windowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 256);
+         windowSize = mTrackArtist->GetSpectrumWindowSize();
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-         fftSkipPoints = gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), 0L);
+         fftSkipPoints = mTrackArtist->GetSpectrumFftSkipPoints();
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
          binSize = rate / windowSize;
          minBins = wxMin(10, windowSize/2); //minimum 10 freq bins, unless there are less
@@ -2855,40 +2962,15 @@ void TrackPanel::HandleVZoomButtonUp( wxMouseEvent & event )
    }
 
    if(spectrum) {
-      gPrefs->Write(wxT("/Spectrum/MaxFreq"), (long)max);
-      gPrefs->Write(wxT("/Spectrum/MinFreq"), (long)min);
-      TrackListIterator iter(mTracks);
-      Track *t = iter.First();
-      while (t) {
-         if (t->GetKind() == Track::Wave) {
-            WaveTrack *wt = (WaveTrack *)t;
-            WaveClipList::Node* it;
-            for(it=wt->GetClipIterator(); it; it=it->GetNext()) {
-               WaveClip *clip = it->GetData();
-               clip->mSpecPxCache->valid = false;
-            }
-         }
-         t = iter.Next();
-      }
+      mTrackArtist->SetSpectrumMaxFreq(max);
+      mTrackArtist->SetSpectrumMinFreq(min);
+      mTrackArtist->InvalidateSpectrumCache(mTracks);
+   }
+   else if(spectrumLog) {
+      mTrackArtist->SetSpectrumLogMaxFreq(max);
+      mTrackArtist->SetSpectrumLogMinFreq(min);
+      mTrackArtist->InvalidateSpectrumCache(mTracks);
    }
-   else
-      if(spectrumLog) {
-         gPrefs->Write(wxT("/SpectrumLog/MaxFreq"), (long)max);
-         gPrefs->Write(wxT("/SpectrumLog/MinFreq"), (long)min);
-         TrackListIterator iter(mTracks);
-         Track *t = iter.First();
-         while (t) {
-            if (t->GetKind() == Track::Wave) {
-               WaveTrack *wt = (WaveTrack *)t;
-               WaveClipList::Node* it;
-               for(it=wt->GetClipIterator(); it; it=it->GetNext()) {
-                  WaveClip *clip = it->GetData();
-                  clip->mSpecPxCache->valid = false;
-               }
-            }
-            t = iter.Next();
-         }
-      }
    else {
       track->SetDisplayBounds(min, max);
       if (partner)
@@ -2896,6 +2978,7 @@ void TrackPanel::HandleVZoomButtonUp( wxMouseEvent & event )
    }
 
    mZoomEnd = mZoomStart = 0;
+   UpdateVRuler(mCapturedTrack);
    Refresh(false);
    mCapturedTrack = NULL;
    MakeParentModifyState();
@@ -2951,12 +3034,11 @@ void TrackPanel::HandleSampleEditingClick( wxMouseEvent & event )
 {
    //declare a rectangle to determine clicking position
    wxRect r;
-   int dummy;
    Track *t;
 
    //Get the track the mouse is over, and save it away for future events
    mDrawingTrack = NULL;
-   t = FindTrack(event.m_x, event.m_y, false, false, &r, &dummy);
+   t = FindTrack(event.m_x, event.m_y, false, false, &r);
    
    if( !IsSampleEditingPossible( event, t ) )
    {
@@ -2973,7 +3055,10 @@ void TrackPanel::HandleSampleEditingClick( wxMouseEvent & event )
    //First, calculate the starting sample.  To get this, we need the time
    double t0 = PositionToTime(event.m_x, GetLeftOffset());
    double rate = ((WaveTrack *)mDrawingTrack)->GetRate();
-   float newLevel;   //Declare this for use later
+
+   // Default to zero for ALT case, so it doesn't cause a runtime fault on MSVC in 
+   // the mDrawingLastDragSampleValue assignment at the bottom of this method. 
+   float newLevel = 0.0f;   //Declare this for use later
 
    //convert t0 to samples
    mDrawingStartSample = (sampleCount) (double)(t0 * rate + 0.5 );
@@ -3093,7 +3178,7 @@ void TrackPanel::HandleSampleEditingClick( wxMouseEvent & event )
    mDrawingLastDragSampleValue = newLevel;
 
    //Redraw the region of the selected track
-   Refresh(false);
+   RefreshTrack(mDrawingTrack);
 }
 
 void TrackPanel::HandleSampleEditingDrag( wxMouseEvent & event )
@@ -3196,7 +3281,7 @@ void TrackPanel::HandleSampleEditingDrag( wxMouseEvent & event )
    mDrawingLastDragSampleValue = newLevel;
 
    //Redraw the region of the selected track
-   Refresh(false);
+   RefreshTrack(mDrawingTrack);
 }
 
 void TrackPanel::HandleSampleEditingButtonUp( wxMouseEvent & event )
@@ -3278,33 +3363,37 @@ void TrackPanel::HandleClosing(wxMouseEvent & event)
 /// Removes the specified track.  Called from HandleClosing.
 void TrackPanel::RemoveTrack(Track * toRemove)
 {
-   TrackListIterator iter(mTracks);
-   Track *t;
-
    // If it was focused, reassign focus to the next or, if
    // unavailable, the previous track.
    if (GetFocusedTrack() == toRemove) {
-      t = mTracks->GetNext(toRemove, true);
-      if (t == NULL)
+      Track *t = mTracks->GetNext(toRemove, true);
+      if (t == NULL) {
          t = mTracks->GetPrev( toRemove, true );
+      }
       SetFocusedTrack(t);  // It's okay if this is NULL
    }
 
-   Track *partner = mTracks->GetLink(toRemove);
-   wxString name;
+   wxString name = toRemove->GetName();
+   Track *partner = toRemove->GetLink();
 
-   t = iter.First();
-   while (t) {
-      if (t == toRemove || t == partner) {
-         name = t->GetName();
-         delete t;
-         t = iter.RemoveCurrent();
-      } else
-         t = iter.Next();
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      if (toRemove->GetKind() == Track::Wave)
+      {
+         // Update mixer board displayed tracks.
+         MixerBoard* pMixerBoard = this->GetMixerBoard(); 
+         if (pMixerBoard)
+            pMixerBoard->RemoveTrackCluster((WaveTrack*)toRemove); // Will remove partner shown in same cluster.
+      }
+   #endif
+
+   mTracks->Remove(toRemove, true);
+   if (partner) {
+      mTracks->Remove(partner, true);
    }
 
-   if( iter.First() == NULL )
+   if (mTracks->IsEmpty()) {
       SetFocusedTrack( NULL );
+   }
 
    MakeParentPushState(
       wxString::Format(_("Removed track '%s.'"),
@@ -3367,20 +3456,19 @@ void TrackPanel::HandleMutingSoloing(wxMouseEvent & event, bool solo)
                    solo, HasSoloButton());
    }
    else if (event.LeftUp() )
+   {      
+      if (buttonRect.Contains(event.m_x, event.m_y)) 
       {
-         
-         if (buttonRect.Contains(event.m_x, event.m_y)) 
-            {
-               if(solo)
-                  
-                  OnTrackSolo(event.ShiftDown(),t);
-               else
-                  OnTrackMute(event.ShiftDown(),t);
-            }  
-         SetCapturedTrack( NULL );
-         // mTrackInfo.DrawMuteSolo(&dc, r, t, false, solo);
-         Refresh(false);
-      }
+         // For either, MakeParentPushState to make the track state dirty.
+         if(solo)
+            OnTrackSolo(event.ShiftDown(),t);
+         else
+            OnTrackMute(event.ShiftDown(),t);
+      }  
+      SetCapturedTrack( NULL );
+      // mTrackInfo.DrawMuteSolo(&dc, r, t, false, solo);
+      Refresh(false);
+   }
 }
 
 void TrackPanel::HandleMinimizing(wxMouseEvent & event)
@@ -3388,8 +3476,8 @@ void TrackPanel::HandleMinimizing(wxMouseEvent & event)
    Track *t = mCapturedTrack;
    wxRect r = mCapturedRect;
 
-   if( t==NULL ){
-      SetCapturedTrack( NULL );
+   if (t == NULL) {
+      SetCapturedTrack(NULL);
       return;
    }
 
@@ -3402,8 +3490,7 @@ void TrackPanel::HandleMinimizing(wxMouseEvent & event)
       mTrackInfo.DrawMinimize(&dc, r, t, buttonRect.Contains(event.m_x, event.m_y), t->GetMinimized());
    }
    else if (event.LeftUp()) {
-      if (buttonRect.Contains(event.m_x, event.m_y))
-      {
+      if (buttonRect.Contains(event.m_x, event.m_y)) {
          t->SetMinimized(!t->GetMinimized());
          if (mTracks->GetLink(t))
             mTracks->GetLink(t)->SetMinimized(t->GetMinimized());
@@ -3411,7 +3498,7 @@ void TrackPanel::HandleMinimizing(wxMouseEvent & event)
          MakeParentModifyState();
       }
 
-      SetCapturedTrack( NULL );
+      SetCapturedTrack(NULL);
 
       mTrackInfo.DrawMinimize(&dc, r, t, false, t->GetMinimized());
       Refresh(false);
@@ -3423,40 +3510,79 @@ void TrackPanel::HandleSliders(wxMouseEvent &event, bool pan)
    LWSlider *slider;
 
    if (pan)
-      slider = mTrackInfo.mPans[mCapturedNum];
+      slider = mTrackInfo.mPans[mCapturedTrack->GetIndex()];
    else
-      slider = mTrackInfo.mGains[mCapturedNum];
+      slider = mTrackInfo.mGains[mCapturedTrack->GetIndex()];
 
    slider->OnMouseEvent(event);
 
    //If we have a double-click, do this...
-   if(event.LeftDClick())
-      {
-         mMouseCapture = IsUncaptured;
-      }
+   if (event.LeftDClick())
+      mMouseCapture = IsUncaptured;
 
    float newValue = slider->Get();
    WaveTrack *link = (WaveTrack *)mTracks->GetLink(mCapturedTrack);
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too.
+   #endif
    
    if (pan) {
       ((WaveTrack *)mCapturedTrack)->SetPan(newValue);
       if (link)
          link->SetPan(newValue);
+
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         if (pMixerBoard) 
+            pMixerBoard->UpdatePan((WaveTrack*)mCapturedTrack);
+      #endif
    }
    else {
       ((WaveTrack *)mCapturedTrack)->SetGain(newValue);
       if (link)
          link->SetGain(newValue);
+
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         if (pMixerBoard) 
+            pMixerBoard->UpdateGain((WaveTrack*)mCapturedTrack);
+      #endif
    }
-   
+
+   RefreshTrack(mCapturedTrack);
+
    if (event.ButtonUp()) {
       MakeParentPushState(pan ? _("Moved pan slider") : _("Moved gain slider"),
                           pan ? _("Pan") : _("Gain"),
                           true /* consolidate */);
       SetCapturedTrack( NULL );
    }
+}
+
+// The tracks positions within the list have changed, so update the vertical
+// ruler size for the track that triggered the event.
+void TrackPanel::OnTrackListResized(wxCommandEvent & e)
+{
+   Track *t = (Track *) e.GetClientData();
+
+   UpdateVRuler(t);
+
+   e.Skip();
+}
+
+// Tracks have been added or removed from the list.  Handle adds as if
+// a resize has taken place.
+void TrackPanel::OnTrackListUpdated(wxCommandEvent & e)
+{
+   // Tracks may have been deleted, so check to see if the focused track was on of them.
+   if (!mTracks->Contains(GetFocusedTrack())) {
+      SetFocusedTrack(NULL);
+   }
+
+   if (e.GetClientData()) {
+      OnTrackListResized(e);
+      return;
+   }
 
-   this->Refresh(false);
+   e.Skip();
 }
 
 void TrackPanel::OnContextMenu(wxContextMenuEvent & event)
@@ -3470,17 +3596,21 @@ void TrackPanel::OnContextMenu(wxContextMenuEvent & event)
 void TrackPanel::HandleLabelClick(wxMouseEvent & event)
 {
    // AS: If not a click, ignore the mouse event.
-   if (!(event.LeftDown() || event.LeftDClick()))
+   if (!event.ButtonDown() && !event.ButtonDClick()) {
       return;
+   }
+
+   // MIDI tracks use the right mouse button, but other tracks get confused
+   // if they see anything other than a left click.
+   bool isleft = event.Button(wxMOUSE_BTN_LEFT);
 
    AudacityProject *p = GetProject();
    bool unsafe = (p->GetAudioIOToken()>0 &&
                   gAudioIO->IsStreamActive(p->GetAudioIOToken()));
 
    wxRect r;
-   int num;
 
-   Track *t = FindTrack(event.m_x, event.m_y, true, true, &r, &num);
+   Track *t = FindTrack(event.m_x, event.m_y, true, true, &r);
 
    // AS: If the user clicked outside all tracks, make nothing
    //  selected.
@@ -3491,31 +3621,29 @@ void TrackPanel::HandleLabelClick(wxMouseEvent & event)
    }
 
    // LL: Check close box
-   if (CloseFunc(t, r, event.m_x, event.m_y))
+   if (isleft && CloseFunc(t, r, event.m_x, event.m_y))
       return;
 
    // LL: Check title bar for popup
-   if (PopupFunc(t, r, event.m_x, event.m_y))
+   if (isleft &&PopupFunc(t, r, event.m_x, event.m_y))
       return;
 
    // MM: Check minimize buttons on WaveTracks. Must be before
    //     solo/mute buttons, sliders etc.
-   if (MinimizeFunc(t, r, event.m_x, event.m_y))
+   if (isleft && MinimizeFunc(t, r, event.m_x, event.m_y))
       return;
 
-   if (t->GetKind() == Track::Wave)
+   if (isleft && t->GetKind() == Track::Wave)
    {
       // DM: Check Mute and Solo buttons on WaveTracks:
       if (MuteSoloFunc(t, r, event.m_x, event.m_y, false) ||
          MuteSoloFunc(t, r, event.m_x, event.m_y, true))
          return;
 
-      if (GainFunc(t, r, event,
-                  num-1, event.m_x, event.m_y))
+      if (GainFunc(t, r, event, event.m_x, event.m_y))
          return;
 
-      if (PanFunc(t, r, event,
-                  num-1, event.m_x, event.m_y))
+      if (PanFunc(t, r, event, event.m_x, event.m_y))
          return;
    }
    #ifdef USE_MIDI
@@ -3526,14 +3654,17 @@ void TrackPanel::HandleLabelClick(wxMouseEvent & event)
       mTrackInfo.GetTrackControlsRect(r, midiRect);
       if (midiRect.Contains(event.m_x, event.m_y)) {
          ((NoteTrack *) t)->LabelClick(midiRect, event.m_x, event.m_y,
-                                       event.RightDown()
-                                       || event.RightDClick());
+                                       event.Button(wxMOUSE_BTN_RIGHT));
          Refresh(false);
          return;
       }
    }
    #endif // USE_MIDI
 
+   if (!isleft) {
+      return;
+   }
+
    // DM: If they weren't clicking on a particular part of a track label,
    //  deselect other tracks and select this one.
 
@@ -3548,15 +3679,24 @@ void TrackPanel::HandleLabelClick(wxMouseEvent & event)
    //  the selection on this track.
    if (event.ShiftDown()) {
       mTracks->Select(t, !t->GetSelected());
-      Refresh(false);
+      RefreshTrack(t);
       return;
    }
 
    SelectNone();
    mTracks->Select(t);
    SetFocusedTrack(t);
-   mViewInfo->sel0 = t->GetOffset();
-   mViewInfo->sel1 = t->GetEndTime();
+   Track *t1 = t->GetLink();
+   if(t1)
+   {
+      mViewInfo->sel0 = wxMin(t->GetOffset(), t1->GetOffset());
+      mViewInfo->sel1 = wxMax(t->GetEndTime(), t1->GetEndTime());
+   }
+   else
+   {
+      mViewInfo->sel0 = t->GetOffset();
+      mViewInfo->sel1 = t->GetEndTime();
+   }
 
    Refresh(false);  
    if (!unsafe)
@@ -3574,15 +3714,25 @@ void TrackPanel::HandleRearrange(wxMouseEvent & event)
       return;
    }
 
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too.
+   #endif
    wxString dir;
-
-   if (event.m_y < mMoveUpThreshold) {
+   if (event.m_y < mMoveUpThreshold || event.m_y < 0) {
       mTracks->MoveUp(mCapturedTrack);
       dir = _("up");
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         if (pMixerBoard)
+            pMixerBoard->MoveTrackCluster((WaveTrack*)mCapturedTrack, true);
+      #endif
    }
-   else if (event.m_y > mMoveDownThreshold) {
+   else if (event.m_y > mMoveDownThreshold || event.m_y > GetRect().GetHeight()) {
       mTracks->MoveDown(mCapturedTrack);
       dir = _("down");
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         if (pMixerBoard)
+            pMixerBoard->MoveTrackCluster((WaveTrack*)mCapturedTrack, false);
+      #endif
    }
    else
    {
@@ -3594,9 +3744,10 @@ void TrackPanel::HandleRearrange(wxMouseEvent & event)
                                         dir.c_str()),
                        _("Move Track"));
 
-   // JH: if we moved up or down, recalculate the thresholds
+   // JH: if we moved up or down, recalculate the thresholds and make sure the
+   // track is fully on-screen.
    TrackPanel::CalculateRearrangingThresholds(event);
-   Refresh(false);
+   EnsureVisible(mCapturedTrack);
 }
 
 /// Figure out how far the user must drag the mouse up or down
@@ -3619,12 +3770,10 @@ void TrackPanel::CalculateRearrangingThresholds(wxMouseEvent & event)
           event.m_y + mTracks->GetGroupHeight( mTracks->GetNext(mCapturedTrack,true) );
    else
       mMoveDownThreshold = INT_MAX;
-//   wxLogDebug(wxT("Y:%i, Up:%i, Down:%i"),
-//      event.m_y, mMoveUpThreshold-event.m_y, mMoveDownThreshold-event.m_y );
 }
 
 bool TrackPanel::GainFunc(Track * t, wxRect r, wxMouseEvent &event,
-                          int index, int x, int y)
+                          int x, int y)
 {
    wxRect sliderRect;
    mTrackInfo.GetGainRect(r, sliderRect);
@@ -3633,14 +3782,13 @@ bool TrackPanel::GainFunc(Track * t, wxRect r, wxMouseEvent &event,
 
    SetCapturedTrack( t, IsGainSliding);
    mCapturedRect = r;
-   mCapturedNum = index;
    HandleSliders(event, false);
 
    return true;
 }
 
 bool TrackPanel::PanFunc(Track * t, wxRect r, wxMouseEvent &event,
-                         int index, int x, int y)
+                         int x, int y)
 {
    wxRect sliderRect;
    mTrackInfo.GetPanRect(r, sliderRect);
@@ -3649,7 +3797,6 @@ bool TrackPanel::PanFunc(Track * t, wxRect r, wxMouseEvent &event,
 
    SetCapturedTrack( t, IsPanSliding);
    mCapturedRect = r;
-   mCapturedNum = index;
    HandleSliders(event, true);
 
    return true;
@@ -3728,64 +3875,46 @@ void TrackPanel::HandleResizeClick( wxMouseEvent & event )
 {
    wxRect r;
    wxRect rLabel;
-   int num;
 
    // DM: Figure out what track is about to be resized
-   Track *t = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
-   Track *label = FindTrack(event.m_x, event.m_y, true, true, &rLabel, &num);
-
-   if (t && t->GetMinimized())
-   {
-      // Jump out of minimized mode when resizing.
-      // Initial height will be height as a minimized track.
-      t->SetHeight( t->GetHeight());
-      t->SetMinimized(false);
-   }
+   Track *t = FindTrack(event.m_x, event.m_y, false, false, &r);
+   Track *label = FindTrack(event.m_x, event.m_y, true, true, &rLabel);
 
    // If the click is at the bottom of a non-linked track label, we
    // treat it as a normal resize.  If the label is of a linked track,
    // we ignore the click.
 
-   if (label && !label->GetLinked())
-   {
+   if (label && !label->GetLinked()) {
       t = label;
    }
 
-   if (!t) 
+   if (!t) {
       return;
+   }
 
    Track *prev = mTracks->GetPrev(t);
    Track *next = mTracks->GetNext(t);
 
-   // DM: Capture the track so that we continue to resize
-   //  THIS track, no matter where the user moves the mouse
-   SetCapturedTrack( t, IsResizing );
-   //mCapturedRect = r;
-   //mCapturedNum = num;
-
    mMouseClickX = event.m_x;
    mMouseClickY = event.m_y;
 
    //STM:  Determine whether we should rescale one or two tracks
-
-   if (mTracks->GetLink(prev) == t) {
-      if(prev->GetMinimized())
-      {
-         prev->SetHeight( prev->GetHeight());
-         prev->SetMinimized(false);
-      }
+   if (prev && prev->GetLink() == t) {
       // mCapturedTrack is the lower track
       mInitialTrackHeight = t->GetHeight();
       mInitialUpperTrackHeight = prev->GetHeight();
-      SetCapturedTrack( t, IsResizingBelowLinkedTracks );
-   } else if (next && mTracks->GetLink(t) == next) {
+      SetCapturedTrack(t, IsResizingBelowLinkedTracks);
+   }
+   else if (next && t->GetLink() == next) {
       // mCapturedTrack is the upper track
       mInitialTrackHeight = next->GetHeight();
       mInitialUpperTrackHeight = t->GetHeight();
-      SetCapturedTrack( t, IsResizingBetweenLinkedTracks );
-   } else {
+      SetCapturedTrack(t, IsResizingBetweenLinkedTracks);
+   }
+   else {
       // DM: Save the initial mouse location and the initial height
       mInitialTrackHeight = t->GetHeight();
+      SetCapturedTrack(t, IsResizing);
    }
 }
 
@@ -3810,6 +3939,34 @@ void TrackPanel::HandleResizeDrag(wxMouseEvent & event)
 {
    int delta = (event.m_y - mMouseClickY);
 
+   // On first drag, jump out of minimized mode.  Initial height
+   // will be height of minimized track.
+   //
+   // This used to be in HandleResizeClick(), but simply clicking
+   // on a resize border would switch the minimized state.
+   if (mCapturedTrack->GetMinimized()) {
+      Track *link = mCapturedTrack->GetLink();
+
+      mCapturedTrack->SetHeight(mCapturedTrack->GetHeight());
+      mCapturedTrack->SetMinimized(false);
+
+      if (link) {
+         link->SetHeight(link->GetHeight());
+         link->SetMinimized(false);
+      }
+
+      // Initial values must be reset since they weren't based on the 
+      // minimized heights.
+      if (mCapturedTrack->GetLinked()) {
+         mInitialUpperTrackHeight = mCapturedTrack->GetHeight();
+         mInitialTrackHeight = link->GetHeight();
+      }
+      else if (link) {
+         mInitialUpperTrackHeight = link->GetHeight();
+         mInitialTrackHeight = mCapturedTrack->GetHeight();
+      }
+   }
+
    //STM: We may be dragging one or two (stereo) tracks.  
    // If two, resize proportionally if we are dragging the lower track, and
    // adjust compensatively if we are dragging the upper track.
@@ -3976,7 +4133,7 @@ void TrackPanel::OnKeyDown(wxKeyEvent & event)
    if( bkpSel0 != mViewInfo->sel0 || bkpSel1 != mViewInfo->sel1 )
       Refresh( false );
    else if (!event.GetSkipped()) 
-      RefreshTrack(t, true);
+      RefreshTrack(t);
 }
 
 /// Allow typing into LabelTracks.
@@ -4002,7 +4159,7 @@ void TrackPanel::OnChar(wxKeyEvent & event)
    if( bkpSel0 != mViewInfo->sel0 || bkpSel1 != mViewInfo->sel1 )
       Refresh( false );
    else if (!event.GetSkipped()) 
-      RefreshTrack(t, true);
+      RefreshTrack(t);
 }
 
 /// Should handle the case when the mouse capture is lost.
@@ -4043,7 +4200,7 @@ void TrackPanel::OnMouseEvent(wxMouseEvent & event)
       // When this timer fires, we call TrackPanel::OnTimer and
       // possibly update the screen for offscreen scrolling.
       mTimer.Stop();
-      mTimer.Start(50, FALSE);
+      mTimer.Start(kTimerInterval, FALSE);
    }
 
    if (event.ButtonDown()) {
@@ -4104,9 +4261,8 @@ void TrackPanel::OnMouseEvent(wxMouseEvent & event)
    //EnsureVisible should be called after the up-click.
    if (event.ButtonUp()) {
       wxRect r;
-      int num;
 
-      Track *t = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+      Track *t = FindTrack(event.m_x, event.m_y, false, false, &r);
       if (t)
          EnsureVisible(t);
    }
@@ -4169,7 +4325,6 @@ bool TrackPanel::HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxM
             MakeParentPushState(_("Merged Clips"),_("Merge"), true );
             handled = true;
          }
-         Refresh(false);
       }
 
       if (!handled && event.RightDown())
@@ -4178,7 +4333,7 @@ bool TrackPanel::HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxM
          WaveTrack* linked = (WaveTrack*)mTracks->GetLink(track);
          if (linked)
             linked->RemoveCutLine(mCapturedTrackLocation.pos);
-         MakeParentPushState(_("Removed Cut Line"), _NoAcc("&Remove"), false );
+         MakeParentPushState(_("Removed Cut Line"), _("Remove"), false );
          handled = true;
       }
       
@@ -4186,7 +4341,7 @@ bool TrackPanel::HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxM
       {
          SetCapturedTrack( NULL );
          mMouseCapture = WasOverCutLine; 
-         Refresh(false);
+         RefreshTrack(track);
          return true;
       }
 
@@ -4265,7 +4420,7 @@ bool TrackPanel::HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMo
    
    if (event.RightDown()) {
       // popup menu for editing
-      Refresh(false);
+      RefreshTrack(lTrack);
      
       if ((lTrack->getSelectedIndex() != -1) && lTrack->OverTextBox(lTrack->GetLabel(lTrack->getSelectedIndex()), event.m_x, event.m_y)) {
          mPopupMenuTarget = lTrack;
@@ -4283,7 +4438,7 @@ bool TrackPanel::HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMo
    //that follows. Instead, redraw the track.
    if(mMouseCapture == IsAdjustingLabel)
    {
-      Refresh(false);
+      RefreshTrack(lTrack);
       return true;
    }
 
@@ -4307,7 +4462,7 @@ bool TrackPanel::HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMo
          // if initial mouse position in the text box
          // then only drag text
          if (mLabelTrackStartYPos == -1) {
-            Refresh(false);
+            RefreshTrack(lTrack);
             return true;
          }
       }
@@ -4332,7 +4487,7 @@ bool TrackPanel::HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMo
          lTrack->SetInBox(true);
          lTrack->SetDragXPos(event.m_x);
          lTrack->SetResetCursorPos(true);
-         Refresh(false);
+         RefreshTrack(lTrack);
          return true;
       }
    }
@@ -4347,14 +4502,13 @@ void TrackPanel::HandleTrackSpecificMouseEvent(wxMouseEvent & event)
    Track * pTrack;
    wxRect r;
    wxRect rLabel;
-   int num;
 
    AudacityProject *p = GetProject();
    bool unsafe = (p->GetAudioIOToken()>0 &&
                   gAudioIO->IsStreamActive(p->GetAudioIOToken()));
 
-   FindTrack(event.m_x, event.m_y, true, true, &rLabel, &num);
-   pTrack = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+   FindTrack(event.m_x, event.m_y, true, true, &rLabel);
+   pTrack = FindTrack(event.m_x, event.m_y, false, false, &r);
 
    //call HandleResize if I'm over the border area 
    if (event.LeftDown() &&
@@ -4461,9 +4615,8 @@ int TrackPanel::DetermineToolToUse( ToolsToolBar * pTtb, wxMouseEvent & event)
 
    // So now we have to find out what we are near to..
    wxRect r;
-   int num;
 
-   Track *pTrack = FindTrack(event.m_x, event.m_y, false, false, &r, &num);
+   Track *pTrack = FindTrack(event.m_x, event.m_y, false, false, &r);
    if( !pTrack )
       return currentTool;
 
@@ -4525,12 +4678,12 @@ bool TrackPanel::HitTestEnvelope(Track *track, wxRect &r, wxMouseEvent & event)
    wavetrack->GetDisplayBounds(&zoomMin, &zoomMax);
 
    // Get y position of envelope point.
-   int yValue = GetWaveYPosNew( envValue,
+   int yValue = GetWaveYPos( envValue,
       zoomMin, zoomMax,      
       r.height, dB, true, mdBr, false ) + r.y;
 
    // Get y position of center line
-   int ctr = GetWaveYPosNew( 0.0,
+   int ctr = GetWaveYPos( 0.0,
       zoomMin, zoomMax,      
       r.height, dB, true, mdBr, false ) + r.y;
   
@@ -4599,7 +4752,7 @@ bool TrackPanel::HitTestSamples(Track *track, wxRect &r, wxMouseEvent & event)
    if (env)
       envValue = env->GetValue(tt);
 
-   int yValue = GetWaveYPosNew( oneSample * envValue, 
+   int yValue = GetWaveYPos( oneSample * envValue, 
       zoomMin, zoomMax,      
       r.height, dB, true, mdBr, false) + r.y;   
 
@@ -4641,29 +4794,28 @@ double TrackPanel::GetMostRecentXPos()
 
 void TrackPanel::RefreshTrack(Track *trk, bool refreshbacking)
 {
-   int y = -mViewInfo->vpos;
-   TrackListIterator iter(mTracks);
-   Track *t;
-   for( t = iter.First(); t; t = iter.Next() )
-   {
-      int h = t->GetHeight();
+   Track *link = trk->GetLink();
 
-      if( t == trk )
-      {
-         int x = GetLeftOffset();
-         int w = GetRect().GetWidth() - x;
-         wxRect trackarea( x, y + kTopInset + 1, w, h - 2 );
+   if (link && !trk->GetLinked()) {
+      trk = link;
+      link = trk->GetLink();
+   }
 
-         if( refreshbacking )
-         {
-            mRefreshBacking = true;
-         }
-         Refresh( false, &trackarea );
-         break;
-      }
+   wxRect r(kLeftInset,
+            -mViewInfo->vpos + trk->GetY() + kTopInset,
+            GetRect().GetWidth() - kLeftInset * 2 - 1,
+            trk->GetHeight() - kTopInset - 1);
 
-      y += h;
+   if (link) {
+      r.height += link->GetHeight();
    }
+
+   if( refreshbacking )
+   {
+      mRefreshBacking = true;
+   }
+
+   Refresh( false, &r );
 }
 
 
@@ -4696,8 +4848,9 @@ void TrackPanel::Refresh(bool eraseBackground /* = TRUE */,
 /// actual contents of each track are drawn by the TrackArtist.
 void TrackPanel::DrawTracks(wxDC * dc)
 {
-   wxRect clip;
-   GetSize(&clip.width, &clip.height);
+   wxRegion region = GetUpdateRegion();
+
+   wxRect clip = GetRect();
 
    wxRect panelRect = clip;
    panelRect.y = -mViewInfo->vpos;
@@ -4713,35 +4866,72 @@ void TrackPanel::DrawTracks(wxDC * dc)
    bool sliderFlag     = bMultiToolDown;
 
    // The track artist actually draws the stuff inside each track
-   mTrackArtist->DrawTracks(mTracks, *dc, GetUpdateRegion(),
-                            tracksRect, clip, mViewInfo, 
+   mTrackArtist->DrawTracks(mTracks, GetProject()->GetFirstVisible(),
+                            *dc, region, tracksRect, clip, mViewInfo, 
                             envelopeFlag, samplesFlag, sliderFlag);
 
-   DrawEverythingElse(dc, panelRect, clip);
+   DrawEverythingElse(dc, region, panelRect, clip);
 }
 
-
 /// Draws 'Everything else'.  In particular it draws:
 ///  - Drop shadow for tracks and vertical rulers.
 ///  - Zooming Indicators.
 ///  - Fills in space below the tracks. 
-void TrackPanel::DrawEverythingElse(wxDC * dc, const wxRect panelRect,
+void TrackPanel::DrawEverythingElse(wxDC * dc,
+                                    const wxRegion region,
+                                    const wxRect panelRect,
                                     const wxRect clip)
 {
    // We draw everything else
-   TrackListIterator iter(mTracks);
 
-   wxRect trackRect = panelRect;
-   wxRect focusRect(-1, -1, 0, 0);
-   wxRect r;
+   wxRect focusRect(-1, -1, 0, 0); 
+   wxRect trackRect = clip;
+   trackRect.height = 0;   // for drawing background in no tracks case.
 
-   int i = 0;
-   for (Track * t = iter.First(); t; t = iter.Next()) {
-      DrawEverythingElse(t, dc, r, trackRect, i);
-      if( mAx->IsFocused( t ) ) {
-         focusRect = mLastDrawnTrackRect;
+   VisibleTrackIterator iter(GetProject());
+   for (Track *t = iter.First(); t; t = iter.Next()) {
+      trackRect.y = t->GetY() - mViewInfo->vpos;
+      trackRect.height = t->GetHeight();
+
+      // If this track is linked to the next one, display a common
+      // border for both, otherwise draw a normal border
+      wxRect r = trackRect;
+      bool skipBorder = false;
+      Track *l = t->GetLink();
+
+      if (t->GetLinked()) {
+         r.height += l->GetHeight();
+      }
+      else if (l && trackRect.y >= 0) {
+         skipBorder = true;
+      }
+
+      if (!skipBorder) {
+         if (mAx->IsFocused(t)) {
+            focusRect = r;
+         }
+
+         DrawOutside(t, dc, r, trackRect);
+      }
+
+      // Believe it or not, we can speed up redrawing if we don't
+      // redraw the vertical ruler when only the waveform data has
+      // changed.  An example is during recording.
+
+#if DEBUG_DRAW_TIMING
+//      wxRect rbox = region.GetBox();
+//      wxPrintf(wxT("Update Region: %d %d %d %d\n"),
+//             rbox.x, rbox.y, rbox.width, rbox.height);
+#endif
+
+      if (region.Contains(0, trackRect.y, GetLeftOffset(), trackRect.height)) {
+         wxRect r = trackRect;
+         r.x += GetVRulerOffset();
+         r.y += kTopInset;
+         r.width = GetVRulerWidth();
+         r.height -= (kTopInset + 2);
+         mTrackArtist->DrawVRuler(t, dc, r);
       }
-      i++;
    }
 
    if ((mMouseCapture == IsZooming || mMouseCapture == IsVZooming) &&
@@ -4750,9 +4940,14 @@ void TrackPanel::DrawEverythingElse(wxDC * dc, const wxRect panelRect,
    }
 
    // Paint over the part below the tracks
-   GetSize(&trackRect.width, &trackRect.height);
-   AColor::TrackPanelBackground(dc, false);
-   dc->DrawRectangle(trackRect);
+   trackRect.y += trackRect.height;
+   if (trackRect.y < clip.GetBottom()) {
+      AColor::TrackPanelBackground(dc, false);
+      dc->DrawRectangle(trackRect.x,
+                        trackRect.y,
+                        trackRect.width,
+                        clip.height - trackRect.y);
+   }
 
    if (GetFocusedTrack() != NULL && wxWindow::FindFocus() == this) {
       HighlightFocusedTrack(dc, focusRect);
@@ -4761,80 +4956,13 @@ void TrackPanel::DrawEverythingElse(wxDC * dc, const wxRect panelRect,
    // Draw snap guidelines if we have any
    if (mSnapManager && (mSnapLeft >= 0 || mSnapRight >= 0)) {
       AColor::SnapGuidePen(dc);
-      if (mSnapLeft >= 0)
-         dc->DrawLine((int)mSnapLeft, 0, mSnapLeft, 30000);
-      if (mSnapRight >= 0)
-         dc->DrawLine((int)mSnapRight, 0, mSnapRight, 30000);
-   }
-}
-
-/// Draws 'Everything else' for one particular track.  Basically
-/// everything except the actual waveform.
-///
-/// Note that this is being called in a loop and that the parameter values
-/// are expected to be maintained each time through.
-void TrackPanel::DrawEverythingElse(Track * t, wxDC * dc, wxRect & r,
-                                    wxRect & trackRect, int index)
-{
-   trackRect.height = t->GetHeight();
-
-   // Draw label area
-   SetTrackInfoFont(dc);
-   dc->SetTextForeground(theTheme.Colour( clrTrackPanelText ));
-
-   int labelw = GetLabelWidth();
-   int vrul = GetVRulerOffset();
-
-   // If this track is linked to the next one, display a common
-   // border for both, otherwise draw a normal border
-   r = trackRect;
-
-   bool skipBorder = false;
-   if (t->GetLinked())
-      r.height += mTracks->GetLink(t)->GetHeight();
-   else if (mTracks->GetLink(t))
-      skipBorder = true;
-
-   if (!skipBorder)
-      DrawOutside(t, dc, r, labelw, vrul, trackRect, index);
-
-   // Believe it or not, we can speed up redrawing if we don't
-   // redraw the vertical ruler when only the waveform data has
-   // changed.
-
-   int width, height;
-   GetSize(&width, &height);
-   wxRegion region = GetUpdateRegion();
-
-#if DEBUG_DRAW_TIMING
-   wxRect rbox = region.GetBox();
-   wxPrintf(wxT("Update Region: %d %d %d %d\n"),
-          rbox.x, rbox.y, rbox.width, rbox.height);
-#endif
-
-   wxRegionContain contain = region.Contains(0, 0, GetLeftOffset(), height);
-   if (contain == wxPartRegion || contain == wxInRegion) {
-      r = trackRect;
-      r.x += GetVRulerOffset();
-      r.y += kTopInset;
-      r.width = GetVRulerWidth();
-      r.height -= (kTopInset + 2);
-      mTrackArtist->DrawVRuler(t, dc, r);
-      UpdateVRulerRect();
+      if (mSnapLeft >= 0) {
+         AColor::Line(*dc, (int)mSnapLeft, 0, mSnapLeft, 30000);
+      }
+      if (mSnapRight >= 0) {
+         AColor::Line(*dc, (int)mSnapRight, 0, mSnapRight, 30000);
+      }
    }
-
-   trackRect.y += t->GetHeight();
-}
-
-/// Draw a three-level highlight gradient around the focused track.
-void TrackPanel::HighlightFocusedTrack(wxDC * dc, const wxRect r) {
-   dc->SetBrush(*wxTRANSPARENT_BRUSH);
-   AColor::TrackFocusPen(dc, 0);
-   dc->DrawRectangle(r.x-1, r.y-1, r.width+2, r.height+2);
-   AColor::TrackFocusPen(dc, 1);
-   dc->DrawRectangle(r.x-2, r.y-2, r.width+4, r.height+4);
-   AColor::TrackFocusPen(dc, 2);
-   dc->DrawRectangle(r.x-3, r.y-3, r.width+6, r.height+6);
 }
 
 /// Draw zooming indicator that shows the region that will
@@ -4869,20 +4997,22 @@ void TrackPanel::DrawZooming(wxDC * dc, const wxRect clip)
 
 
 void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect rec,
-                             const int labelw, const int vrul,
-                             const wxRect trackRect, int index)
+                             const wxRect trackRect)
 {
    wxRect r = rec;
+   int labelw = GetLabelWidth();
+   int vrul = GetVRulerOffset();
 
    DrawOutsideOfTrack(t, dc, r);
+
    r.x += kLeftInset;
    r.y += kTopInset;
    r.width -= kLeftInset * 2;
    r.height -= kTopInset;
 
-   mLastDrawnTrackRect = r;
+   mTrackInfo.SetTrackInfoFont(dc);
+   dc->SetTextForeground(theTheme.Colour(clrTrackPanelText));
 
-   dc->SetTextForeground(theTheme.Colour( clrTrackPanelText ));
    bool bIsWave = (t->GetKind() == Track::Wave);
 
    mTrackInfo.DrawBackground(dc, r, t->GetSelected(), bIsWave, labelw, vrul);
@@ -4891,35 +5021,33 @@ void TrackPanel::DrawOutside(Track * t, wxDC * dc, const wxRect rec,
    DrawShadow(t, dc, r);
 
    r.width = mTrackInfo.GetTitleWidth();
-   mTrackInfo.DrawCloseBox(dc, r, (mMouseCapture==IsClosing));
-   mTrackInfo.DrawTitleBar(dc, r, t, (mMouseCapture==IsPopping));
+   bool captured = (t == mCapturedTrack);
+   mTrackInfo.DrawCloseBox(dc, r, (captured && mMouseCapture==IsClosing));
+   mTrackInfo.DrawTitleBar(dc, r, t, (captured && mMouseCapture==IsPopping));
 
-   mTrackInfo.DrawMinimize(dc, r, t, (mMouseCapture==IsMinimizing), t->GetMinimized());
+   mTrackInfo.DrawMinimize(dc, r, t, (captured && mMouseCapture==IsMinimizing), t->GetMinimized());
    mTrackInfo.DrawBordersWithin( dc, r, bIsWave );
 
-   if (t->GetKind() == Track::Wave) {
-      mTrackInfo.DrawMuteSolo(dc, r, t, (mMouseCapture == IsMuting), false, HasSoloButton());
-      mTrackInfo.DrawMuteSolo(dc, r, t, (mMouseCapture == IsSoloing), true, HasSoloButton());
-
-      mTrackInfo.DrawSliders(dc, (WaveTrack *)t, r, index);
-   }
-
-   r = trackRect;
-
-   if (t->GetKind() == Track::Wave && !t->GetMinimized()) {
-      int offset;
+   if (bIsWave) {
+      mTrackInfo.DrawMuteSolo(dc, r, t, (captured && mMouseCapture == IsMuting), false, HasSoloButton());
+      mTrackInfo.DrawMuteSolo(dc, r, t, (captured && mMouseCapture == IsSoloing), true, HasSoloButton());
 
-      offset = 8;
-      
-      if (r.y + 22 + 12 < rec.y + rec.height - 19)
-         dc->DrawText(TrackSubText(t), r.x + offset, r.y + 22);
+      mTrackInfo.DrawSliders(dc, (WaveTrack *)t, r);
+      if (!t->GetMinimized()) {
+         int offset = 8;
          
-      if (r.y + 38 + 12 < rec.y + rec.height - 19)
-         dc->DrawText(GetSampleFormatStr
-                      (((WaveTrack *) t)->GetSampleFormat()), r.x + offset,
-                      r.y + 38);
-                      
+         if (r.y + 22 + 12 < rec.y + rec.height - 19)
+            dc->DrawText(TrackSubText(t),
+                         trackRect.x + offset,
+                         trackRect.y + 22);
+            
+         if (r.y + 38 + 12 < rec.y + rec.height - 19)
+            dc->DrawText(GetSampleFormatStr(((WaveTrack *) t)->GetSampleFormat()),
+                         trackRect.x + offset,
+                         trackRect.y + 38);
+      }
    }
+
    #ifdef USE_MIDI
    else if (t->GetKind() == Track::Note) {
       wxRect midiRect;
@@ -4933,17 +5061,25 @@ void TrackPanel::DrawOutsideOfTrack(Track * t, wxDC * dc, const wxRect r)
 {
    // Fill in area outside of the track
    AColor::TrackPanelBackground(dc, false);
-   wxRect side = r;
+   wxRect side;
+   
+   // Area between panel border and left track border
+   side = r;
    side.width = kLeftInset;
    dc->DrawRectangle(side);
+
+   // Area between panel border and top track border
    side = r;
    side.height = kTopInset;
    dc->DrawRectangle(side);
+
+   // Area between panel border and right track border
    side = r;
    side.x += side.width - kTopInset;
    side.width = kTopInset;
    dc->DrawRectangle(side);
 
+   // Area between tracks of stereo group
    if (t->GetLinked()) {
       side = r;
       side.y += t->GetHeight() - 1;
@@ -4952,26 +5088,78 @@ void TrackPanel::DrawOutsideOfTrack(Track * t, wxDC * dc, const wxRect r)
    }
 }
 
-void TrackPanel::UpdateVRulerRect()
+/// Draw a three-level highlight gradient around the focused track.
+void TrackPanel::HighlightFocusedTrack(wxDC * dc, const wxRect r)
+{
+   wxRect rect = r;
+   rect.x += kLeftInset;
+   rect.y += kTopInset;
+   rect.width -= kLeftInset * 2;
+   rect.height -= kTopInset;
+
+   dc->SetBrush(*wxTRANSPARENT_BRUSH);
+
+   AColor::TrackFocusPen(dc, 0);
+   dc->DrawRectangle(rect.x - 1, rect.y - 1, rect.width + 2, rect.height + 2);
+
+   AColor::TrackFocusPen(dc, 1);
+   dc->DrawRectangle(rect.x - 2, rect.y - 2, rect.width + 4, rect.height + 4);
+
+   AColor::TrackFocusPen(dc, 2);
+   dc->DrawRectangle(rect.x - 3, rect.y - 3, rect.width + 6, rect.height + 6);
+}
+
+void TrackPanel::UpdateVRulers()
+{
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
+   for (Track *t = iter.First(); t; t = iter.Next()) {
+      UpdateTrackVRuler(t);
+   }
+
+   UpdateVRulerSize();
+}
+
+void TrackPanel::UpdateVRuler(Track *t)
+{
+   UpdateTrackVRuler(t);
+
+   UpdateVRulerSize();
+}
+
+void TrackPanel::UpdateTrackVRuler(Track *t)
+{
+   wxRect r(GetVRulerOffset(),
+            kTopInset,
+            GetVRulerWidth(),
+            t->GetHeight() - (kTopInset + 2));
+
+   if (t) {
+      mTrackArtist->UpdateVRuler(t, r);
+      Track *l = t->GetLink();
+      if (l) {
+         r.height = l->GetHeight() - (kTopInset + 2);
+         mTrackArtist->UpdateVRuler(l, r);
+      }
+   }
+}
+
+void TrackPanel::UpdateVRulerSize()
 {
    TrackListIterator iter(mTracks);
    Track *t = iter.First();
    if (t) {
-      wxSize s=t->vrulerSize;
+      wxSize s = t->vrulerSize;
       while (t) {
-         if (s.x < t->vrulerSize.x)
-            s.x = t->vrulerSize.x;
-         if (s.y < t->vrulerSize.y)
-            s.y = t->vrulerSize.y;
+         s.IncTo(t->vrulerSize);
          t = iter.Next();
       }
       if (vrulerSize != s) {
          vrulerSize = s;
-         Refresh();
-         mRuler->SetLeftOffset(GetLeftOffset()-1);  // bevel on AdornedRuler
+         mRuler->SetLeftOffset(GetLeftOffset());  // bevel on AdornedRuler
          mRuler->Refresh();
       }
    }
+   Refresh(false);
 }
 
 /// The following function moves to the previous track
@@ -5018,28 +5206,28 @@ void TrackPanel::OnPrevTrack( bool shift )
       }
       tSelected = t->GetSelected();
       pSelected = p->GetSelected();
-      if( tSelected & pSelected )
+      if( tSelected && pSelected )
       {
          mTracks->Select( t, false );
          SetFocusedTrack( p );   // move focus to next track down
          EnsureVisible( p );
          return;
       }
-      if( tSelected & !pSelected )
+      if( tSelected && !pSelected )
       {
          mTracks->Select( p, true );
          SetFocusedTrack( p );   // move focus to next track down
          EnsureVisible( p );
          return;
       }
-      if( !tSelected & pSelected )
+      if( !tSelected && pSelected )
       {
          mTracks->Select( p, false );
          SetFocusedTrack( p );   // move focus to next track down
          EnsureVisible( p );
          return;
       }
-      if( !tSelected & !pSelected )
+      if( !tSelected && !pSelected )
       {
          mTracks->Select( t, true );
          SetFocusedTrack( p );   // move focus to next track down
@@ -5117,28 +5305,28 @@ void TrackPanel::OnNextTrack( bool shift )
       }
       tSelected = t->GetSelected();
       nSelected = n->GetSelected();
-      if( tSelected & nSelected )
+      if( tSelected && nSelected )
       {
          mTracks->Select( t, false );
          SetFocusedTrack( n );   // move focus to next track down
          EnsureVisible( n );
          return;
       }
-      if( tSelected & !nSelected )
+      if( tSelected && !nSelected )
       {
          mTracks->Select( n, true );
          SetFocusedTrack( n );   // move focus to next track down
          EnsureVisible( n );
          return;
       }
-      if( !tSelected & nSelected )
+      if( !tSelected && nSelected )
       {
          mTracks->Select( n, false );
          SetFocusedTrack( n );   // move focus to next track down
          EnsureVisible( n );
          return;
       }
-      if( !tSelected & !nSelected )
+      if( !tSelected && !nSelected )
       {
          mTracks->Select( t, true );
          SetFocusedTrack( n );   // move focus to next track down
@@ -5435,7 +5623,7 @@ void TrackPanel::OnBoundaryMove(bool left, bool boundaryContract)
       else
       {
          mViewInfo->sel1 = indicator;
-      };
+      }
 
       MakeParentModifyState();
       Refresh(false);
@@ -5494,7 +5682,7 @@ void TrackPanel::OnBoundaryMove(bool left, bool boundaryContract)
             {
                mViewInfo->sel1 = end;
             }
-         };
+         }
       }
       // Make it happen
       Refresh( false );
@@ -5502,12 +5690,12 @@ void TrackPanel::OnBoundaryMove(bool left, bool boundaryContract)
    }
 }
 
+// Move the cursor forward or backward, while paused or while playing. 
+// forward=true: Move cursor forward; forward=false: Move cursor backwards
+// jump=false: Move cursor determined by zoom; jump=true: Use seek times
+// longjump=false: Use mSeekShort; longjump=true: Use mSeekLong
 void TrackPanel::OnCursorMove(bool forward, bool jump, bool longjump )
-   // Move the cursor forward or backward, while paused or while playing. 
-   // forward=true: Move cursor forward; forward=false: Move cursor backwards
-   // jump=false: Move cursor determined by zoom; jump=true: Use seek times
-   // longjump=false: Use mSeekShort; longjump=true: Use mSeekLong
-   {
+{
    // If the last adjustment was very recent, we are
    // holding the key down and should move faster.
    wxLongLong curtime = ::wxGetLocalTimeMillis();
@@ -5520,19 +5708,19 @@ void TrackPanel::OnCursorMove(bool forward, bool jump, bool longjump )
 
    float direction = -1;
    if (forward) {
-     direction = 1;
-   };
+      direction = 1;
+   }
 
    float mSeek;
    if (jump) {
-     if (!longjump) {
-       mSeek = mSeekShort;
-     } else {
-       mSeek = mSeekLong;
-     };
+      if (!longjump) {
+         mSeek = mSeekShort;
+      } else {
+         mSeek = mSeekLong;
+      }
    } else {
-     mSeek = multiplier / mViewInfo->zoom;
-   };
+      mSeek = multiplier / mViewInfo->zoom;
+   }
    mSeek *= direction;
 
    // If playing, reposition a short amount of time
@@ -5547,20 +5735,20 @@ void TrackPanel::OnCursorMove(bool forward, bool jump, bool longjump )
       if( mViewInfo->sel0 == mViewInfo->sel1 )
       {
          // Move and constrain
-	mViewInfo->sel0 += mSeek;
-	if( !forward && mViewInfo->sel0 < 0.0 )
-	{
+         mViewInfo->sel0 += mSeek;
+         if( !forward && mViewInfo->sel0 < 0.0 )
+         {
             mViewInfo->sel0 = 0.0;
-	}
-	double end = mTracks->GetEndTime();
-	if( forward && mViewInfo->sel0 > end)
-	{
+         }
+         double end = mTracks->GetEndTime();
+         if( forward && mViewInfo->sel0 > end)
+         {
             mViewInfo->sel0 = end;
-	}
-        mViewInfo->sel1 = mViewInfo->sel0;
+         }
+         mViewInfo->sel1 = mViewInfo->sel0;
 
-	// Move the visual cursor
-	DrawCursor();
+         // Move the visual cursor
+         DrawCursor();
       }
       else
       {
@@ -5574,7 +5762,7 @@ void TrackPanel::OnCursorMove(bool forward, bool jump, bool longjump )
       // Make sure it's visible
       ScrollIntoView( mViewInfo->sel0 );
       MakeParentModifyState();
-   };
+   }
 }
 
 //The following functions operate controls on specified tracks,
@@ -5582,48 +5770,38 @@ void TrackPanel::OnCursorMove(bool forward, bool jump, bool longjump )
 void TrackPanel::OnTrackPan()
 {
    Track *t = GetFocusedTrack();
-   if (!t || (t->GetKind() != Track::Wave)) return;
+   if (!t || (t->GetKind() != Track::Wave)) {
+      return;
+   }
 
-   //Find out which track we are on.
-   int tracknum = FindTrackNum(t);
-   if(tracknum)
-      {
-         LWSlider *slider = mTrackInfo.mPans[tracknum-1];
-         if( slider->ShowDialog() )
-         {
-            SetTrackPan(t, slider);
-         }
-      }
+   LWSlider *slider = mTrackInfo.mPans[t->GetIndex()];
+   if (slider->ShowDialog()) {
+      SetTrackPan(t, slider);
+   }
 }
 
 void TrackPanel::OnTrackPanLeft()
 {
    Track *t = GetFocusedTrack();
-   if (!t || (t->GetKind() != Track::Wave)) return;
+   if (!t || (t->GetKind() != Track::Wave)) {
+      return;
+   }
 
-   //Find out which track we are on.
-   int tracknum = FindTrackNum(t);
-   if(tracknum)
-      {
-         LWSlider *slider = mTrackInfo.mPans[tracknum-1];
-         slider->Decrease( 1 );
-         SetTrackPan(t, slider);
-      }
+   LWSlider *slider = mTrackInfo.mPans[t->GetIndex()];
+   slider->Decrease(1);
+   SetTrackPan(t, slider);
 }
 
 void TrackPanel::OnTrackPanRight()
 {
    Track *t = GetFocusedTrack();
-   if (!t || (t->GetKind() != Track::Wave)) return;
+   if (!t || (t->GetKind() != Track::Wave)) {
+      return;
+   }
 
-   //Find out which track we are on.
-   int tracknum = FindTrackNum(t);
-   if(tracknum)
-      {
-         LWSlider *slider = mTrackInfo.mPans[tracknum-1];
-         slider->Increase( 1 );
-         SetTrackPan(t, slider);
-      }
+   LWSlider *slider = mTrackInfo.mPans[t->GetIndex()];
+   slider->Increase(1);
+   SetTrackPan(t, slider);
 }
 
 void TrackPanel::SetTrackPan(Track * t, LWSlider * s)
@@ -5637,55 +5815,45 @@ void TrackPanel::SetTrackPan(Track * t, LWSlider * s)
 
    MakeParentPushState(_("Adjusted Pan"), _("Pan"), true );
 
-   Refresh(false);
+   RefreshTrack(t);
 }
 
 /// This will pop up the track gain dialog for specified track
 void TrackPanel::OnTrackGain()
 {
    Track *t = GetFocusedTrack();
-   if (!t || (t->GetKind() != Track::Wave)) return;
+   if (!t || (t->GetKind() != Track::Wave)) {
+      return;
+   }
 
-   //Find out which track we are on.
-   int tracknum = FindTrackNum(t);
-   if(tracknum)
-      {
-         LWSlider *slider = mTrackInfo.mGains[tracknum-1];
-         if( slider->ShowDialog() )
-         {
-            SetTrackGain(t, slider);
-         }
-      }
+   LWSlider *slider = mTrackInfo.mGains[t->GetIndex()];
+   if (slider->ShowDialog()) {
+      SetTrackGain(t, slider);
+   }
 }
 
 void TrackPanel::OnTrackGainInc()
 {
    Track *t = GetFocusedTrack();
-   if (!t || (t->GetKind() != Track::Wave)) return;
+   if (!t || (t->GetKind() != Track::Wave)) {
+      return;
+   }
 
-   //Find out which track we are on.
-   int tracknum = FindTrackNum(t);
-   if(tracknum)
-      {
-         LWSlider *slider = mTrackInfo.mGains[tracknum-1];
-         slider->Increase( 1 );
-         SetTrackGain(t, slider);
-      }
+   LWSlider *slider = mTrackInfo.mGains[t->GetIndex()];
+   slider->Increase(1);
+   SetTrackGain(t, slider);
 }
 
 void TrackPanel::OnTrackGainDec()
 {
    Track *t = GetFocusedTrack();
-   if (!t || (t->GetKind() != Track::Wave)) return;
+   if (!t || (t->GetKind() != Track::Wave)) {
+      return;
+   }
 
-   //Find out which track we are on.
-   int tracknum = FindTrackNum(t);
-   if(tracknum)
-      {
-         LWSlider *slider = mTrackInfo.mGains[tracknum-1];
-         slider->Decrease( 1 );
-         SetTrackGain(t, slider);
-      }
+   LWSlider *slider = mTrackInfo.mGains[t->GetIndex()];
+   slider->Decrease(1);
+   SetTrackGain(t, slider);
 }
 
 void TrackPanel::SetTrackGain(Track * t, LWSlider * s)
@@ -5699,7 +5867,7 @@ void TrackPanel::SetTrackGain(Track * t, LWSlider * s)
 
    MakeParentPushState(_("Adjusted gain"), _("Gain"), true );
 
-   Refresh(false);
+   RefreshTrack(t);
 }
 
 void TrackPanel::OnTrackMenu(Track *t)
@@ -5727,6 +5895,7 @@ void TrackPanel::OnTrackMenu(Track *t)
       
       theMenu->Enable(OnMergeStereoID, canMakeStereo);
       theMenu->Enable(OnSplitStereoID, t->GetLinked());
+      theMenu->Enable(OnSplitStereoMonoID, t->GetLinked());
       theMenu->Check(OnChannelMonoID, t->GetChannel() == Track::MonoChannel);
       theMenu->Check(OnChannelLeftID, t->GetChannel() == Track::LeftChannel);
       theMenu->Check(OnChannelRightID, t->GetChannel() == Track::RightChannel);
@@ -5759,43 +5928,6 @@ void TrackPanel::OnTrackMenu(Track *t)
 #endif
 
    if (t->GetKind() == Track::Label){
-#ifdef EXPERIMENTAL_STICKY_TRACKS
-      delete mLabelTrackMenu;
-      mLabelTrackMenu = new wxMenu();
-   
-      AudacityProject *p = GetActiveProject();
-      if (!p) return;
-      TrackListIterator iter(p->GetTracks());
-      WaveTrack *wt = (WaveTrack *) iter.First();
-      int count=1;
-      mStickyLabelMenu = new wxMenu();
-      while (wt) {
-         if (wt->GetKind()==Track::Wave){
-            wxString name;
-            name = wt->GetName();
-            if (name == wxT("Audio Track")) 
-               name.Printf(wxT("Wave Track #%d"), count);
-            mStickyLabelMenu->AppendCheckItem(OnStickySubmenuID + count, name);
-            if (wt->GetStickyTrack()){
-               if (wt->GetStickyTrack() == t)
-                  mStickyLabelMenu->Check(OnStickySubmenuID + count, true);
-               else
-                  mStickyLabelMenu->Enable(OnStickySubmenuID + count, false);
-            }
-            count++;
-         }
-         wt = (WaveTrack *) iter.Next();
-      }
-   
-      mLabelTrackMenu->Append(OnSetNameID, _("Name..."));
-      mLabelTrackMenu->AppendSeparator();
-      mLabelTrackMenu->Append(OnSetFontID, _("Font..."));
-      mLabelTrackMenu->AppendSeparator();
-      mLabelTrackMenu->Append(OnMoveUpID, _("Move Track Up"));
-      mLabelTrackMenu->Append(OnMoveDownID, _("Move Track Down"));
-      mLabelTrackMenu->Append(0, _("Group with Wave Track"), mStickyLabelMenu);
-      mLabelTrackMenu->Append(12999, _("Clear any grouping"));
-#endif
        theMenu = mLabelTrackMenu;
    }
    
@@ -5886,6 +6018,17 @@ void TrackPanel::OnTrackMute(bool shiftDown, Track *t)
       }
    }
 
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      // Update mixer board, too.
+      MixerBoard* pMixerBoard = this->GetMixerBoard(); 
+      if (pMixerBoard) 
+      {
+         pMixerBoard->UpdateMute(); // Update for all tracks.
+         pMixerBoard->UpdateSolo(); // Update for all tracks.
+      }
+   #endif
+
+   mAx->Updated();
    Refresh(false);
 }
 
@@ -5949,6 +6092,18 @@ void TrackPanel::OnTrackSolo(bool shiftDown, Track *t)
          i = iter.Next();
       }
    }
+
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      // Update mixer board, too.
+      MixerBoard* pMixerBoard = this->GetMixerBoard(); 
+      if (pMixerBoard) 
+      {
+         pMixerBoard->UpdateMute(); // Update for all tracks.
+         pMixerBoard->UpdateSolo(); // Update for all tracks.
+      }
+   #endif
+
+   mAx->Updated();
    Refresh(false);
 }
 
@@ -6015,47 +6170,45 @@ void TrackPanel::EnsureVisible(Track * t)
    TrackListIterator iter(mTracks);
    Track *it = NULL;
    Track *nt = NULL;
-   //int i = 0;
 
    SetFocusedTrack(t);
 
    int trackTop = 0;
    int trackHeight =0;
 
-   for (it = iter.First(); it; it = iter.Next())
-   {
+   for (it = iter.First(); it; it = iter.Next()) {
       trackTop += trackHeight;
       trackHeight =  it->GetHeight();
 
-
       //find the second track if this is stereo
-      if (it->GetLinked())
-         {
-            nt = iter.Next();
-            trackHeight += nt->GetHeight();
-         }
-      else
-         {
-            nt = it;
-         }
-
+      if (it->GetLinked()) {
+         nt = iter.Next();
+         trackHeight += nt->GetHeight();
+      }
+      else {
+         nt = it;
+      }
 
       //We have found the track we want to ensure is visible.
-      if ((it == t) || (nt == t))
-         {
-            
-            //Get the size of the trackpanel.
-            int width, height;
-            GetSize(&width, &height);
-
-            // Debugging line: //std::cout << trackTop << " " << mViewInfo->vpos << " " << trackHeight << " " << height << std::endl;
-            if( trackTop < mViewInfo->vpos || trackTop + trackHeight > mViewInfo->vpos + height)
-               {   
-                  mListener->TP_ScrollUpDown(-mViewInfo->vpos);
-                  mListener->TP_ScrollUpDown(trackTop / mViewInfo->scrollStep);
-                  break;
-               }
+      if ((it == t) || (nt == t)) {
+      
+         //Get the size of the trackpanel.
+         int width, height;
+         GetSize(&width, &height);
+
+         if (trackTop < mViewInfo->vpos) {
+            height = mViewInfo->vpos - trackTop + mViewInfo->scrollStep;
+            height /= mViewInfo->scrollStep;
+            mListener->TP_ScrollUpDown(-height);
+         }
+         else if (trackTop + trackHeight > mViewInfo->vpos + height) {
+            height = (trackTop + trackHeight) - (mViewInfo->vpos + height);
+            height = (height + mViewInfo->scrollStep + 1) / mViewInfo->scrollStep;
+            mListener->TP_ScrollUpDown(height);
          }
+
+         break;
+      }
    }
    Refresh(false);
 }
@@ -6064,43 +6217,42 @@ void TrackPanel::DrawBordersAroundTrack(Track * t, wxDC * dc,
                                         const wxRect r, const int vrul,
                                         const int labelw)
 {
-   int h1 = r.y + t->GetHeight() - kTopInset;
-
-   // Borders around track and label area
+   // Border around track and label area
+   dc->SetBrush(*wxTRANSPARENT_BRUSH);
    dc->SetPen(*wxBLACK_PEN);
-   dc->DrawLine(r.x, r.y, r.x + r.width - 1, r.y);      // top
-   dc->DrawLine(r.x, r.y, r.x, r.y + r.height - 1);     // left
-   dc->DrawLine(r.x, r.y + r.height - 2, r.x + r.width - 1, r.y + r.height - 2);        // bottom
-   dc->DrawLine(r.x + r.width - 2, r.y, r.x + r.width - 2, r.y + r.height - 1); // right
-   // LL:  This is needed for label, time, and midi tracks
-   dc->DrawLine(vrul, r.y, vrul, h1 - 2);                       // between vrulr and track.
-   dc->DrawLine(labelw, r.y, labelw, r.y + r.height - 1);       // between vruler and TrackInfo
+   dc->DrawRectangle(r.x, r.y, r.width - 1, r.height - 1);
 
+   AColor::Line(*dc, labelw, r.y, labelw, r.y + r.height - 1);       // between vruler and TrackInfo
+
+   // The lines at bottom of 1st track and top of second track of stereo group
+   // Possibly replace with DrawRectangle to add left border.
    if (t->GetLinked()) {
-      dc->DrawLine(vrul, h1 - 2, r.x + r.width - 1, h1 - 2);
-      dc->DrawLine(vrul, h1 + kTopInset, r.x + r.width - 1,
-                   h1 + kTopInset);
+      int h1 = r.y + t->GetHeight() - kTopInset;
+      AColor::Line(*dc, vrul, h1 - 2, r.x + r.width - 1, h1 - 2);
+      AColor::Line(*dc, vrul, h1 + kTopInset, r.x + r.width - 1, h1 + kTopInset);
    }
 }
 
 void TrackPanel::DrawShadow(Track * /* t */ , wxDC * dc, const wxRect r)
 {
-   AColor::Dark(dc, false);
-   // bottom
-   dc->DrawLine(r.x + 0, r.y + r.height - 1,
-                r.x + 1, r.y + r.height - 1);
-   // right
-   dc->DrawLine(r.x + r.width - 1, r.y + 0,
-                r.x + r.width - 1, r.y + 1);   
+   int right = r.x + r.width - 1;
+   int bottom = r.y + r.height - 1;
 
    // shadow
    dc->SetPen(*wxBLACK_PEN);
+
    // bottom
-   dc->DrawLine(r.x + 1,       r.y + r.height - 1,
-                r.x + r.width, r.y + r.height - 1);
+   AColor::Line(*dc, r.x, bottom, right, bottom);
    // right
-   dc->DrawLine(r.x + r.width - 1, r.y + 1,
-                r.x + r.width - 1, r.y + r.height);
+   AColor::Line(*dc, right, r.y, right, bottom);
+
+   // background
+   AColor::Dark(dc, false);
+
+   // bottom
+   AColor::Line(*dc, r.x, bottom, r.x + 1, bottom);
+   // right
+   AColor::Line(*dc, right, r.y, right, r.y + 1);   
 }
 
 /// Returns the string to be displayed in the track label
@@ -6142,11 +6294,9 @@ void TrackPanel::OnChannelChange(wxCommandEvent & event)
    wxASSERT(mPopupMenuTarget);
    mPopupMenuTarget->SetChannel(channels[id - OnChannelLeftID]);
    MakeParentPushState(wxString::Format(_("Changed '%s' to %s"),
-                                        mPopupMenuTarget->GetName().
-                                        c_str(),
-                                        channelmsgs[id -
-                                                    OnChannelLeftID]),
-                       _("Channel"));
+                        mPopupMenuTarget->GetName().c_str(),
+                        channelmsgs[id - OnChannelLeftID]),
+                        _("Channel"));
    mPopupMenuTarget = NULL;
    Refresh(false);
 }
@@ -6154,23 +6304,44 @@ void TrackPanel::OnChannelChange(wxCommandEvent & event)
 /// Split a stereo track into two tracks...
 void TrackPanel::OnSplitStereo(wxCommandEvent &event)
 {
+   SplitStereo(true);
+}
+
+/// Split a stereo track into two mono tracks...
+void TrackPanel::OnSplitStereoMono(wxCommandEvent &event)
+{
+   SplitStereo(false);
+}
+
+/// Split a stereo track into two tracks...
+void TrackPanel::SplitStereo(bool stereo)
+{
    wxASSERT(mPopupMenuTarget);
-   Track *partner = mTracks->GetLink(mPopupMenuTarget);
+
+   if (!stereo)
+      mPopupMenuTarget->SetChannel(Track::MonoChannel);
+   
+   Track *partner = mPopupMenuTarget->GetLink();
    if (partner)
-      partner->SetTeamed(false);
+   {
+      partner->SetName(mPopupMenuTarget->GetName());
+      if (!stereo)
+         partner->SetChannel(Track::MonoChannel);  // Keep original stereo track name.
+
+      //On Demand - have each channel add it's own.
+      if (ODManager::IsInstanceCreated() && partner->GetKind() == Track::Wave)
+         ODManager::Instance()->MakeWaveTrackIndependent((WaveTrack*)partner);
+   }
+
    mPopupMenuTarget->SetLinked(false);
- 
-     
-   //On Demand - have each channel add it's own.
-#ifdef EXPERIMENTAL_ONDEMAND 
-   if(ODManager::IsInstanceCreated() && partner->GetKind() == Track::Wave)
-      ODManager::Instance()->MakeWaveTrackIndependent((WaveTrack*)partner);
-#endif
-   
-   MakeParentPushState(wxString::Format(_("Split stereo track '%s'"),
-                                        mPopupMenuTarget->GetName().
-                                        c_str()),
-                       _("Split"));
+
+   wxString msg;
+   if(stereo)
+      msg.Printf(_("Split stereo track '%s'"), mPopupMenuTarget->GetName().c_str());
+   else
+      msg.Printf(_("Split Stereo to Mono '%s'"), mPopupMenuTarget->GetName().c_str());
+
+   MakeParentPushState(msg, _("Split"));
 
    Refresh(false);
 }
@@ -6180,20 +6351,17 @@ void TrackPanel::OnMergeStereo(wxCommandEvent &event)
 {
    wxASSERT(mPopupMenuTarget);
    mPopupMenuTarget->SetLinked(true);
-   Track *partner = mTracks->GetLink(mPopupMenuTarget);
+   Track *partner = mPopupMenuTarget->GetLink();
    if (partner) {
       // Set partner's parameters to match target.
       partner->Merge(*mPopupMenuTarget);
 
       mPopupMenuTarget->SetChannel(Track::LeftChannel);
       partner->SetChannel(Track::RightChannel);
-      partner->SetTeamed(true);
       
       
       //On Demand - join the queues together.
-      
-#ifdef EXPERIMENTAL_ONDEMAND 
-      if(ODManager::IsInstanceCreated() && partner->GetKind() == Track::Wave &&mPopupMenuTarget->GetKind() == Track::Wave )
+      if(ODManager::IsInstanceCreated() && partner->GetKind() == Track::Wave && mPopupMenuTarget->GetKind() == Track::Wave )
          if(!ODManager::Instance()->MakeWaveTrackDependent((WaveTrack*)partner,(WaveTrack*)mPopupMenuTarget))
          {
             ;
@@ -6203,8 +6371,6 @@ void TrackPanel::OnMergeStereo(wxCommandEvent &event)
             //we will need to display this to the user.
          }
          
-         
-#endif
       MakeParentPushState(wxString::Format(_("Made '%s' a stereo track"),
                                            mPopupMenuTarget->GetName().
                                            c_str()),
@@ -6226,18 +6392,20 @@ void TrackPanel::OnSetDisplay(wxCommandEvent & event)
    wxASSERT(mPopupMenuTarget
             && mPopupMenuTarget->GetKind() == Track::Wave);
 
+   id -= OnWaveformID;
    WaveTrack *wt = (WaveTrack *) mPopupMenuTarget;
-   if (wt->GetDisplay()!= id - OnWaveformID) {
-      WaveClipList::Node* it;
-      for(it=wt->GetClipIterator(); it; it=it->GetNext()) {
-         WaveClip *clip = it->GetData();
-         clip->mSpecPxCache->valid = false;
-      }
-      wt->SetDisplay(id - OnWaveformID);
-    }
-   Track *partner = mTracks->GetLink(mPopupMenuTarget);
-   if (partner)
-      ((WaveTrack *) partner)->SetDisplay(id - OnWaveformID);
+   if (wt->GetDisplay() != id) {
+      wt->SetDisplay(id);
+      mTrackArtist->InvalidateSpectrumCache(wt);
+
+      WaveTrack *l = (WaveTrack *) wt->GetLink();
+      if (l) {
+         l->SetDisplay(id);
+         mTrackArtist->InvalidateSpectrumCache(l);
+      }
+
+      UpdateVRuler(wt);
+   }
    MakeParentModifyState();
    mPopupMenuTarget = NULL;
    Refresh(false);
@@ -6324,7 +6492,7 @@ void TrackPanel::SetMenuCheck( wxMenu & menu, int newId )
    wxMenuItem * item;
    int id;
 
-   for ( wxwxMenuItemListNode * node = list.GetFirst(); node; node = node->GetNext() )
+   for ( wxMenuItemList::compatibility_iterator node = list.GetFirst(); node; node = node->GetNext() )
    {
       item = node->GetData();
       id = item->GetId();
@@ -6472,7 +6640,14 @@ void TrackPanel::OnSetTimeTrackRange(wxCommandEvent & /*event*/)
 void TrackPanel::OnMoveTrack(wxCommandEvent & event)
 {
    wxASSERT(event.GetId() == OnMoveUpID || event.GetId() == OnMoveDownID);
-   if (mTracks->Move(mPopupMenuTarget, OnMoveUpID == event.GetId())) {
+   bool bUp = (OnMoveUpID == event.GetId());
+   if (mTracks->Move(mPopupMenuTarget, bUp)) {
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too.
+         if (pMixerBoard)
+            pMixerBoard->MoveTrackCluster((WaveTrack*)mPopupMenuTarget, bUp);
+      #endif
+
       MakeParentPushState(wxString::Format(_("Moved '%s' %s"),
                                            mPopupMenuTarget->GetName().
                                            c_str(),
@@ -6512,6 +6687,13 @@ void TrackPanel::OnSetName(wxCommandEvent &event)
                                            _("Track Name"), defaultStr);
       if (newName != wxT(""))
          t->SetName(newName);
+
+      #ifdef EXPERIMENTAL_MIXER_BOARD
+         MixerBoard* pMixerBoard = this->GetMixerBoard();
+         if (pMixerBoard) 
+            pMixerBoard->UpdateName((WaveTrack*)t);
+      #endif
+
       MakeParentPushState(wxString::Format(_("Renamed '%s' to '%s'"),
                                            defaultStr.c_str(),
                                            newName.c_str()),
@@ -6530,7 +6712,7 @@ void TrackPanel::OnCutSelectedText(wxCommandEvent &event)
                           _("Label Edit"),
                           true /* consolidate */);
    }
-   RefreshTrack(lt, true);
+   RefreshTrack(lt);
 }
 
 /// Copy selected text if copy menu item is selected
@@ -6538,7 +6720,7 @@ void TrackPanel::OnCopySelectedText(wxCommandEvent &event)
 {
    LabelTrack *lt = (LabelTrack *)mPopupMenuTarget;
    lt->CopySelectedText();
-   RefreshTrack(lt, true);
+   RefreshTrack(lt);
 }
 
 /// paste selected text if p`aste menu item is selected
@@ -6550,42 +6732,7 @@ void TrackPanel::OnPasteSelectedText(wxCommandEvent &event)
                           _("Label Edit"),
                           true /* consolidate */);
    }
-   RefreshTrack(lt, true);
-}
-
-void TrackPanel::OnTrackSticky(wxCommandEvent & event)
-{
-   wxASSERT(mPopupMenuTarget && mPopupMenuTarget->GetKind() == Track::Label);
-   int id = event.GetId();
-   int pos = id - 12000;
-   int count = 1;
-
-   AudacityProject *p = GetActiveProject();
-   if (!p) return;
-   TrackListIterator iter(p->GetTracks());
-   WaveTrack *wt = (WaveTrack *) iter.First();
-   while (wt && count!=pos) {
-      if (wt->GetKind()==Track::Wave){
-         count++;
-      }
-      wt = (WaveTrack *) iter.Next();
-   }
-   if (wt){
-      if (event.IsChecked())
-         wt->SetStickyTrack((LabelTrack *)mPopupMenuTarget);
-      else
-         wt->SetStickyTrack(NULL);
-   }
-   ((LabelTrack *)mPopupMenuTarget)->SetStickyTrack(wt);
-   //TEMP CODE FOR REMOVAL OF ALL ASSOCIATIONS
-   if (id==12999){
-      wt = (WaveTrack *) iter.First();
-      while (wt) {
-         if (wt->GetKind()==Track::Wave)
-            wt->SetStickyTrack(NULL);
-         wt = (WaveTrack *) iter.Next();
-      }
-   }//END TEMP CODE
+   RefreshTrack(lt);
 }
 
 // Small helper class to enumerate all fonts in the system
@@ -6674,9 +6821,8 @@ void TrackPanel::OnSetFont(wxCommandEvent &event)
 ///  @param label  - true iff the X Y position is relative to side-panel with the labels in it.
 ///  @param link - true iff we should consider a hit in any linked track as a hit.
 ///  @param *trackRect - returns track rectangle.
-///  @param *trackNum  - returns track number.
 Track *TrackPanel::FindTrack(int mouseX, int mouseY, bool label, bool link,
-                              wxRect * trackRect, int *trackNum)
+                              wxRect * trackRect)
 {
    wxRect r;
    r.x = 0;
@@ -6691,19 +6837,15 @@ Track *TrackPanel::FindTrack(int mouseX, int mouseY, bool label, bool link,
       r.width -= GetLeftOffset();
    }
 
-   TrackListIterator iter(mTracks);
-
-   int n = 1;
+   VisibleTrackIterator iter(GetProject());
 
-   for (Track * t = iter.First(); t;
-        r.y += t->GetHeight(), n++, t = iter.Next()) {
+   for (Track * t = iter.First(); t; t = iter.Next()) {
+      r.y = t->GetY() - mViewInfo->vpos + kTopInset;
       r.height = t->GetHeight();
 
       if (link && t->GetLinked()) {
-         Track *link = mTracks->GetLink(t);
-         r.height += link->GetHeight();
+         r.height += t->GetLink()->GetHeight();
       }
-      
 
       //Determine whether the mouse is inside 
       //the current rectangle.  If so, recalculate
@@ -6719,83 +6861,38 @@ Track *TrackPanel::FindTrack(int mouseX, int mouseY, bool label, bool link,
             }
             *trackRect = r;
          }
-         if (trackNum)
-            *trackNum = n;
+
          return t;
       }
    }
 
-   if (mouseY >= r.y && trackNum)
-      *trackNum = n - 1;
-
    return NULL;
 }
 
-
-/// This tells you the (1-based) index of the track you pass to it.
-int TrackPanel::FindTrackNum(Track * target)
-{
-   if(!target) return 0;
-
-   TrackListIterator iter(mTracks);
-   int n = 1;
-
-   for (Track * t = iter.First(); t;
-        n++, t = iter.Next()) 
-      {
-         if(target == t)
-            {
-               return n;
-            }
-
-      }
-
-   return 0;
-}
-
 /// This finds the rectangle of a given track, either the
 /// of the label 'adornment' or the track itself
 wxRect TrackPanel::FindTrackRect(Track * target, bool label)
 {
-   if(!target) return wxRect(0,0,0,0);
-
-   bool linked = target->GetLinked();
-
-   wxRect r;
-   r.x = 0;
-   r.y = -mViewInfo->vpos;
-   r.y += kTopInset;
-   GetSize(&r.width, &r.height);
+   if (!target) {
+      return wxRect(0,0,0,0);
+   }
 
-   TrackListIterator iter(mTracks);
+   wxRect r(0,
+            target->GetY() - mViewInfo->vpos,
+            GetSize().GetWidth(),
+            target->GetHeight());
 
-   int n = 1;
+   if (target->GetLinked()) {
+      r.height += target->GetLink()->GetHeight();
+   }
 
-   for (Track * t = iter.First(); t;
-        r.y += t->GetHeight(), n++, t = iter.Next()) 
-      {
-         r.height = t->GetHeight();
-         
-         if (linked && t->GetLinked())
-            {
-               Track *link = mTracks->GetLink(t);
-               r.height += link->GetHeight();
-            }
-         
-         if ( t == target)
-            {
-               r.y -= kTopInset;
-               if (label) 
-                  {
-                     r.x += kLeftInset;
-                     r.width -= kLeftInset;
-                     r.y += kTopInset;
-                     r.height -= kTopInset;
-                  }
-               return r;
-            }
+   if (label) {
+      r.x += kLeftInset;
+      r.width -= kLeftInset;
+      r.y += kTopInset;
+      r.height -= kTopInset;
+   }
 
-      }
    return r;
 }
 
@@ -6888,8 +6985,8 @@ Track *TrackPanel::GetFocusedTrack()
 void TrackPanel::SetFocusedTrack( Track *t )
 {
    // Make sure we always have the first linked track of a stereo track
-   if (t && !t->GetLinked() && mTracks->GetLink(t))
-      t = (WaveTrack*)mTracks->GetLink(t);
+   if (t && !t->GetLinked() && t->GetLink())
+      t = (WaveTrack*)t->GetLink();
 
    AudacityProject *p = GetActiveProject();
    
@@ -6933,8 +7030,25 @@ TrackInfo::TrackInfo(wxWindow * pParentIn)
    //which won't ever be shown.
    pParent = pParentIn;
    int i;
-   for(i=0; i<16; i++)
+   for (i = 0; i < 16; i++) {
       MakeMoreSliders();
+   }
+
+   int fontSize = 10;
+   mFont.Create(fontSize, wxSWISS, wxNORMAL, wxNORMAL);
+
+   int allowableWidth = GetTitleWidth() - 2; // 2 to allow for left/right borders
+   int textWidth, textHeight;
+   do {
+      mFont.SetPointSize(fontSize);
+      pParent->GetTextExtent(_("Stereo, 999999Hz"),
+                             &textWidth,
+                             &textHeight,
+                             NULL,
+                             NULL,
+                             &mFont);
+      fontSize--;
+   } while (textWidth >= allowableWidth);
 }
 
 TrackInfo::~TrackInfo()
@@ -7019,21 +7133,27 @@ void TrackInfo::GetMinimizeRect(const wxRect r, wxRect &dest, bool minimized) co
    dest.height = 15;
 }
 
+/// \todo Probably should move to 'Utils.cpp'.
+void TrackInfo::SetTrackInfoFont(wxDC * dc)
+{
+   dc->SetFont(mFont);
+}
+
 void TrackInfo::DrawBordersWithin(wxDC * dc, const wxRect r, bool bHasMuteSolo )
 {
    dc->SetPen(*wxBLACK_PEN);
    // These black lines are actually within TrackInfo...
-   dc->DrawLine(r.x, r.y + 16, GetTitleWidth(), r.y + 16);      // title bar
-   dc->DrawLine(r.x + 16, r.y, r.x + 16, r.y + 16);     // close box
+   AColor::Line(*dc, r.x, r.y + 16, GetTitleWidth(), r.y + 16);      // title bar
+   AColor::Line(*dc, r.x + 16, r.y, r.x + 16, r.y + 16);     // close box
 
    if( bHasMuteSolo && (r.height > (66+18) ))
    {
-      dc->DrawLine(r.x, r.y + 50, GetTitleWidth(), r.y + 50);  // bevel above mute/solo
-      dc->DrawLine(r.x+48 , r.y+50, r.x+48, r.y + 66);         // line between mute/solo
-      dc->DrawLine(r.x, r.y + 66, GetTitleWidth(), r.y + 66);  // bevel below mute/solo
+      AColor::Line(*dc, r.x, r.y + 50, GetTitleWidth(), r.y + 50);  // bevel above mute/solo
+      AColor::Line(*dc, r.x+48 , r.y+50, r.x+48, r.y + 66);         // line between mute/solo
+      AColor::Line(*dc, r.x, r.y + 66, GetTitleWidth(), r.y + 66);  // bevel below mute/solo
    }
 
-   dc->DrawLine(r.x, r.y + r.height - 19, GetTitleWidth(), r.y + r.height - 19);  // minimize bar
+   AColor::Line(*dc, r.x, r.y + r.height - 19, GetTitleWidth(), r.y + r.height - 19);  // minimize bar
 }
 
 void TrackInfo::DrawBackground(wxDC * dc, const wxRect r, bool bSelected,
@@ -7076,8 +7196,8 @@ void TrackInfo::GetTrackControlsRect(const wxRect r, wxRect & dest) const
 
 void TrackInfo::DrawCloseBox(wxDC * dc, const wxRect r, bool down)
 {
-   const int xSize=7;
-   const int offset=5;
+   wxRect bev;
+   GetCloseBoxRect(r, bev);
 
 #ifdef EXPERIMENTAL_THEMING
    wxPen pen( theTheme.Colour( clrTrackPanelText ));
@@ -7086,13 +7206,19 @@ void TrackInfo::DrawCloseBox(wxDC * dc, const wxRect r, bool down)
    dc->SetPen(*wxBLACK_PEN);
 #endif
 
-   // close "x"
-   dc->DrawLine(r.x + offset  ,         r.y + offset, r.x + offset+xSize  , r.y + offset+xSize);
-   dc->DrawLine(r.x + offset+1,         r.y + offset, r.x + offset+xSize+1, r.y + offset+xSize);
-   dc->DrawLine(r.x + xSize + offset  , r.y + offset, r.x + offset,         r.y + offset+xSize);
-   dc->DrawLine(r.x + xSize + offset-1, r.y + offset, r.x + offset-1,       r.y + offset+xSize);
-   wxRect bev;
-   GetCloseBoxRect(r, bev);
+   // Draw the "X" 
+   const int s = 6;
+
+   int ls = bev.x + ((bev.width - s) / 2);
+   int ts = bev.y + ((bev.height - s) / 2);
+   int rs = ls + s;
+   int bs = ts + s;
+
+   AColor::Line(*dc, ls,     ts, rs,     bs);
+   AColor::Line(*dc, ls + 1, ts, rs + 1, bs);
+   AColor::Line(*dc, rs,     ts, ls,     bs);
+   AColor::Line(*dc, rs + 1, ts, ls + 1, bs);
+
    bev.Inflate(-1, -1);
    AColor::BevelTrackInfo(*dc, !down, bev);
 }
@@ -7124,21 +7250,19 @@ void TrackInfo::DrawTitleBar(wxDC * dc, const wxRect r, Track * t,
 
    // Pop-up triangle
 #ifdef EXPERIMENTAL_THEMING
-   wxPen pen( theTheme.Colour( clrTrackPanelText ));
-   dc->SetPen( pen );
+   wxColour c = theTheme.Colour( clrTrackPanelText );
 #else
-   dc->SetPen(*wxBLACK_PEN);
+   wxColour c = *wxBLACK;
 #endif
 
-   int xx = r.x + GetTitleWidth() - 16 - kLeftInset;
-   int yy = r.y + 5;
-   int triWid = 11;
-   while (triWid >= 1) {
-      dc->DrawLine(xx, yy, xx + triWid, yy);
-      xx++;
-      yy++;
-      triWid -= 2;
-   }
+   dc->SetPen(c);
+   dc->SetBrush(c);
+
+   int s = 10; // Width of dropdown arrow...height is half of width
+   AColor::Arrow(*dc,
+                 bev.GetRight() - s - 3, // 3 to offset from right border
+                 bev.y + ((bev.height - (s / 2)) / 2),
+                 s);
 
    AColor::BevelTrackInfo(*dc, !down, bev);
 }
@@ -7197,45 +7321,23 @@ void TrackInfo::DrawMinimize(wxDC * dc, const wxRect r, Track * t, bool down, bo
    wxRect bev;
    GetMinimizeRect(r, bev, minimized);
     
+   // Clear background to get rid of previous arrow
    AColor::MediumTrackInfo(dc, t->GetSelected());
    dc->DrawRectangle(bev);
     
-
-   // Calculate center
-   int x = bev.x + bev.width / 2;
-   int y = bev.y + bev.height / 2;
-
-   wxPoint pts[3];
-
-   if (minimized)
-   {
-      pts[0].x = x - 4;
-      pts[0].y = y - 3;
-      pts[1].x = x + 4;
-      pts[1].y = y - 3;
-      pts[2].x = x;
-      pts[2].y = y + 3;
-
-   } else
-   {
-      pts[0].x = x;
-      pts[0].y = y - 3;
-      pts[1].x = x + 4;
-      pts[1].y = y + 3;
-      pts[2].x = x - 4;
-      pts[2].y = y + 3;
-   }
-
 #ifdef EXPERIMENTAL_THEMING
-   wxPen pen( theTheme.Colour( clrTrackPanelText ));
-   wxBrush brush( theTheme.Colour( clrTrackPanelText ));
-   dc->SetPen( pen );
-   dc->SetBrush( brush );
+   wxColour c = theTheme.Colour(clrTrackPanelText);
+   dc->SetBrush(c);
+   dc->SetPen(c);
 #else
    AColor::Dark(dc, t->GetSelected());
 #endif
-   
-   dc->DrawPolygon(3, pts);
+
+   AColor::Arrow(*dc,
+                 bev.x - 5 + bev.width / 2,
+                 bev.y - 2 + bev.height / 2,
+                 10,
+                 minimized);
 
    AColor::BevelTrackInfo(*dc, !down, bev);
 }
@@ -7254,13 +7356,15 @@ void TrackInfo::MakeMoreSliders()
                                    wxPoint(gainRect.x, gainRect.y),
                                    wxSize(gainRect.width, gainRect.height),
                                    DB_SLIDER);
+   slider->SetDefaultValue(1.0);
    mGains.Add(slider);
    
-   /* i18n-hint: Title of the Pan slider, used to move the sound left or right stereoscopically */
+   /* i18n-hint: Title of the Pan slider, used to move the sound left or right */
    slider = new LWSlider(pParent, _("Pan"),
                          wxPoint(panRect.x, panRect.y),
                          wxSize(panRect.width, panRect.height),
                          PAN_SLIDER);
+   slider->SetDefaultValue(0.0);
    mPans.Add(slider);
 }
 
@@ -7271,10 +7375,11 @@ void TrackInfo::EnsureSufficientSliders(int index)
       MakeMoreSliders();
 }
 
-void TrackInfo::DrawSliders(wxDC *dc, WaveTrack *t, wxRect r, int index)
+void TrackInfo::DrawSliders(wxDC *dc, WaveTrack *t, wxRect r)
 {
    wxRect gainRect;
    wxRect panRect;
+   int index = t->GetIndex();
 
    EnsureSufficientSliders( index );
 
diff --git a/src/TrackPanel.h b/src/TrackPanel.h
index 9df0bc6..9aa3f09 100644
--- a/src/TrackPanel.h
+++ b/src/TrackPanel.h
@@ -26,18 +26,17 @@
 class wxMenu;
 class wxRect;
 
-class TrackList;
-class Track;
 class TrackPanel;
 class TrackArtist;
-class WaveTrack;
-class LabelTrack;
 class Ruler;
 class SnapManager;
 class AdornedRulerPanel;
 class LWSlider;
 class ControlToolBar; //Needed because state of controls can affect what gets drawn.
 class ToolsToolBar; //Needed because state of controls can affect what gets drawn.
+#ifdef EXPERIMENTAL_MIXER_BOARD
+   class MixerBoard;
+#endif
 class AudacityProject;
 
 class TrackPanelAx;
@@ -92,13 +91,14 @@ private:
    void MakeMoreSliders();
    void EnsureSufficientSliders(int index);
 
+   void SetTrackInfoFont(wxDC *dc);
    void DrawBackground(wxDC * dc, const wxRect r, bool bSelected, bool bHasMuteSolo, const int labelw, const int vrul);
    void DrawBordersWithin(wxDC * dc, const wxRect r, bool bHasMuteSolo );
    void DrawCloseBox(wxDC * dc, const wxRect r, bool down);
    void DrawTitleBar(wxDC * dc, const wxRect r, Track * t, bool down);
    void DrawMuteSolo(wxDC * dc, const wxRect r, Track * t, bool down, bool solo, bool bHasSoloButton);
    void DrawVRuler(wxDC * dc, const wxRect r, Track * t);
-   void DrawSliders(wxDC *dc, WaveTrack *t, wxRect r, int index);
+   void DrawSliders(wxDC * dc, WaveTrack *t, wxRect r);
    void DrawMinimize(wxDC * dc, const wxRect r, Track * t, bool down, bool minimized);
 
    void GetTrackControlsRect(const wxRect r, wxRect &dest) const;
@@ -113,6 +113,7 @@ public:
    LWSliderArray mGains;
    LWSliderArray mPans;
    wxWindow * pParent;
+   wxFont mFont;
 
    friend class TrackPanel;
 };
@@ -138,6 +139,8 @@ class TrackPanel:public wxPanel {
    virtual ~ TrackPanel();
 
    void BuildMenus(void);
+   void DeleteMenus(void);
+
    void UpdatePrefs();
 
    void OnSize(wxSizeEvent & event);
@@ -154,6 +157,9 @@ class TrackPanel:public wxPanel {
 
    void OnContextMenu(wxContextMenuEvent & event);
 
+   void OnTrackListResized(wxCommandEvent & event);
+   void OnTrackListUpdated(wxCommandEvent & event);
+
    double GetMostRecentXPos();
 
    void OnTimer();
@@ -166,9 +172,9 @@ class TrackPanel:public wxPanel {
 
    void SetStop(bool bStopped);
 
-   virtual void Refresh(bool eraseBackground = TRUE,
+   virtual void Refresh(bool eraseBackground = true,
                         const wxRect *rect = (const wxRect *) NULL);
-   void RefreshTrack(Track *trk, bool refreshbacking = false);
+   void RefreshTrack(Track *trk, bool refreshbacking = true);
 
    void DisplaySelection();
 
@@ -206,14 +212,18 @@ class TrackPanel:public wxPanel {
 
    Track *GetFocusedTrack();
    void SetFocusedTrack(Track *t);
-   
-   void OnTrackSticky(wxCommandEvent & event);
 
    void HandleCursorForLastMouseEvent();
-   void UpdateVRulerRect();
 
- private:
+   void UpdateVRulers();
+   void UpdateVRuler(Track *t);
+   void UpdateTrackVRuler(Track *t);
+   void UpdateVRulerSize();
 
+ private:
+   #ifdef EXPERIMENTAL_MIXER_BOARD
+      MixerBoard* GetMixerBoard();
+   #endif
    bool IsUnsafe();
    bool HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMouseEvent & event);
    bool HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxMouseEvent &event);
@@ -235,7 +245,7 @@ class TrackPanel:public wxPanel {
    void HandleSelect(wxMouseEvent & event);
    void SelectionHandleDrag(wxMouseEvent &event, Track *pTrack);
    void SelectionHandleClick(wxMouseEvent &event, 
-			     Track* pTrack, wxRect r, int num);
+			     Track* pTrack, wxRect r);
    void StartSelection (int mouseXCoordinate, int trackLeftEdge);
    void ExtendSelection(int mouseXCoordinate, int trackLeftEdge,
                         Track *pTrack);
@@ -306,9 +316,9 @@ class TrackPanel:public wxPanel {
    bool CloseFunc(Track * t, wxRect r, int x, int y);
    bool PopupFunc(Track * t, wxRect r, int x, int y);
    bool GainFunc(Track * t, wxRect r, wxMouseEvent &event,
-                 int index, int x, int y);
+                 int x, int y);
    bool PanFunc(Track * t, wxRect r, wxMouseEvent &event,
-                int index, int x, int y);
+                int x, int y);
    void MakeParentRedrawScrollbars();
    
    // AS: Pushing the state preserves state for Undo operations.
@@ -336,6 +346,8 @@ class TrackPanel:public wxPanel {
    void OnFormatChange(wxCommandEvent &event);
 
    void OnSplitStereo(wxCommandEvent &event);
+   void OnSplitStereoMono(wxCommandEvent &event);
+   void SplitStereo(bool stereo);
    void OnMergeStereo(wxCommandEvent &event);
    void OnCutSelectedText(wxCommandEvent &event);
    void OnCopySelectedText(wxCommandEvent &event);
@@ -348,9 +360,8 @@ class TrackPanel:public wxPanel {
 
    // Find track info by coordinate
    Track *FindTrack(int mouseX, int mouseY, bool label, bool link,
-                     wxRect * trackRect = NULL, int *trackNum = NULL);
+                     wxRect * trackRect = NULL);
 
-   int FindTrackNum(Track * target);
    wxRect FindTrackRect(Track * target, bool label);
 
 //   int GetTitleWidth() const { return 100; }
@@ -364,11 +375,10 @@ class TrackPanel:public wxPanel {
 private:
    void DrawTracks(wxDC * dc);
 
-   void DrawEverythingElse(wxDC *dc, const wxRect panelRect, const wxRect clip);
-   void DrawEverythingElse(Track *t, wxDC *dc, wxRect &r, wxRect &wxTrackRect,
-                           int index);
-   void DrawOutside(Track *t, wxDC *dc, const wxRect rec, const int labelw, 
-                    const int vrul, const wxRect trackRect, int index);
+   void DrawEverythingElse(wxDC *dc, const wxRegion region,
+                           const wxRect panelRect, const wxRect clip);
+   void DrawOutside(Track *t, wxDC *dc, const wxRect rec,
+                    const wxRect trackRect);
    void DrawZooming(wxDC* dc, const wxRect clip);
 
    void HighlightFocusedTrack (wxDC* dc, const wxRect r);
@@ -437,7 +447,6 @@ private:
    WaveTrack::Location mCapturedTrackLocation;
    wxRect mCapturedTrackLocationRect;
    wxRect mCapturedRect;
-   int mCapturedNum;
 
    // When sliding horizontally, the moving clip may automatically
    // snap to the beginning and ending of other clips, or to label
@@ -487,7 +496,6 @@ private:
    float mDrawingStartSampleValue;    // value of last click-down
    sampleCount mDrawingLastDragSample; // sample of last drag-over
    float mDrawingLastDragSampleValue;  // value of last drag-over
-   wxRect mLastDrawnTrackRect;
  
    double PositionToTime(wxInt64 mouseXCoordinate,
                          wxInt64 trackLeftEdge) const;
@@ -557,7 +565,6 @@ private:
    wxMenu *mLabelTrackMenu;
    wxMenu *mRateMenu;
    wxMenu *mFormatMenu;
-   wxMenu *mStickyLabelMenu;
    wxMenu *mLabelTrackInfoMenu;
 
    Track *mPopupMenuTarget;
@@ -571,7 +578,7 @@ private:
  private:
 
    // The screenshot class needs to access internals
-   friend class ScreenFrame;
+   friend class ScreenshotCommand;
 
  public:
    wxSize vrulerSize;
diff --git a/src/TrackPanelAx.cpp b/src/TrackPanelAx.cpp
index 0de7d1b..0f8f093 100644
--- a/src/TrackPanelAx.cpp
+++ b/src/TrackPanelAx.cpp
@@ -110,7 +110,7 @@ bool TrackPanelAx::IsFocused( Track *track )
    }
 
    if( ( track == mFocusedTrack ) ||
-       ( track == mTrackPanel->mTracks->GetLink( mFocusedTrack ) ) )
+       ( track == mFocusedTrack->GetLink() ) )
    {
       return true;
    }
@@ -158,6 +158,18 @@ Track *TrackPanelAx::FindTrack( int num )
    return t;
 }
 
+void TrackPanelAx::Updated()
+{
+#if wxUSE_ACCESSIBILITY
+   Track *t = GetFocus();
+   NotifyEvent(wxACC_EVENT_OBJECT_NAMECHANGE,
+               mTrackPanel,
+               wxOBJID_CLIENT,
+               TrackNum(t));
+   SetFocus(t);
+#endif
+}
+
 #if wxUSE_ACCESSIBILITY
 
 // Retrieves the address of an IDispatch interface for the specified child.
@@ -187,7 +199,7 @@ wxAccStatus TrackPanelAx::GetChildCount( int* childCount )
    {
       cnt++;
 
-      if( mTrackPanel->mTracks->GetLink( t ) != NULL )
+      if( t->GetLink() != NULL )
       {
          t = iter.Next();
       }
diff --git a/src/TrackPanelAx.h b/src/TrackPanelAx.h
index 8766a4e..951a458 100644
--- a/src/TrackPanelAx.h
+++ b/src/TrackPanelAx.h
@@ -15,9 +15,6 @@
 #include <wx/panel.h>
 
 #if wxUSE_ACCESSIBILITY
-#if defined(__WXMSW__)
-#include <oleacc.h>
-#endif
 #include <wx/access.h>
 #endif
 
@@ -41,6 +38,9 @@ public:
    // Returns TRUE if passed track has the focus
    bool IsFocused( Track *track );
 
+   // Called to signal changes to a track
+   void Updated();
+
 #if wxUSE_ACCESSIBILITY
    // Retrieves the address of an IDispatch interface for the specified child.
    // All objects must support this property.
diff --git a/src/UndoManager.cpp b/src/UndoManager.cpp
index 521a08f..0bd86cb 100644
--- a/src/UndoManager.cpp
+++ b/src/UndoManager.cpp
@@ -22,15 +22,17 @@ UndoManager
 
 #include "Audacity.h"
 
-#include <wx/textctrl.h>
-#include <wx/log.h>
-
+#include "BlockFile.h"
 #include "Internat.h"
-#include "UndoManager.h"
+#include "Sequence.h"
 #include "Track.h"
-
 #include "WaveTrack.h"          // temp
 
+#include <map>
+#include <set>
+
+#include "UndoManager.h"
+
 UndoManager::UndoManager()
 {
    current = -1;
@@ -44,6 +46,63 @@ UndoManager::~UndoManager()
    ClearStates();
 }
 
+// get the sum of the sizes of all blocks this track list
+// references.  However, if a block is referred to multiple
+// times it is only counted once.  Return value is in bytes.
+wxLongLong UndoManager::GetSpaceUsage(int index)
+{
+   TrackListOfKindIterator iter(Track::Wave);
+   WaveTrack *wt;
+   WaveClipList::compatibility_iterator it;
+   BlockArray *blocks;
+   unsigned int i;
+
+   // get a map of all blocks referenced in this TrackList
+   std::map<BlockFile*, wxLongLong> cur;
+
+   wt = (WaveTrack *) iter.First(stack[index]->tracks);
+   while (wt) {
+      for (it = wt->GetClipIterator(); it; it = it->GetNext()) {
+         blocks = it->GetData()->GetSequenceBlockArray();
+         for (i = 0; i < blocks->GetCount(); i++) {
+            cur[blocks->Item(i)->f] = blocks->Item(i)->f->GetSpaceUsage();
+         }
+      }
+      wt = (WaveTrack *) iter.Next();
+   }
+
+   if (index > 0) {
+      // get a set of all blocks referenced in all prev TrackList
+      std::set<BlockFile*> prev;
+      while (--index) {
+         wt = (WaveTrack *) iter.First(stack[index]->tracks);
+         while (wt) {
+            for (it = wt->GetClipIterator(); it; it = it->GetNext()) {
+               blocks = it->GetData()->GetSequenceBlockArray();
+               for (i = 0; i < blocks->GetCount(); i++) {
+                  prev.insert(blocks->Item(i)->f);
+               }
+            }
+            wt = (WaveTrack *) iter.Next();
+         }
+      }
+
+      // remove all blocks in prevBlockFiles from curBlockFiles
+      std::set<BlockFile*>::const_iterator prevIter;
+      for (prevIter = prev.begin(); prevIter != prev.end(); prevIter++) {
+         cur.erase(*prevIter);
+      }
+   }
+
+   // sum the sizes of the blocks remaining in curBlockFiles;
+   wxLongLong bytes = 0;
+   std::map<BlockFile*, wxLongLong>::const_iterator curIter;
+   for (curIter = cur.begin(); curIter != cur.end(); curIter++) {
+      bytes += curIter->second;
+   }
+
+   return bytes;
+}
 
 void UndoManager::GetLongDescription(unsigned int n, wxString *desc,
                                      wxString *size)
@@ -51,17 +110,10 @@ void UndoManager::GetLongDescription(unsigned int n, wxString *desc,
    n -= 1; // 1 based to zero based
 
    wxASSERT(n < stack.Count());
-   wxLongLong bytes;
 
    *desc = stack[n]->description;
 
-   if (n == 0)
-      bytes = stack[n]->tracks->GetSpaceUsage();
-   else {
-      bytes = stack[n]->tracks->GetAdditionalSpaceUsage(&stack);
-   }
-
-   *size = Internat::FormatSize(bytes);
+   *size = Internat::FormatSize(GetSpaceUsage(n));
 }
 
 void UndoManager::GetShortDescription(unsigned int n, wxString *desc)
@@ -84,29 +136,23 @@ void UndoManager::SetLongDescription(unsigned int n, wxString desc)
 
 void UndoManager::RemoveStateAt(int n)
 {
-   TrackListIterator iter(stack[n]->tracks);
-   Track *t = iter.First();
-   while(t)
-   {
-      delete t;
-      t = iter.Next();
-   }
-
+   stack[n]->tracks->Clear(true);
    delete stack[n]->tracks;
 
    UndoStackElem *tmpStackElem = stack[n];
    stack.RemoveAt(n);
    delete tmpStackElem;
-
-   current -= 1;
-   saved -= 1;
 }
 
 
 void UndoManager::RemoveStates(int num)
 {
-   for (int i = 0; i < num; i++)
+   for (int i = 0; i < num; i++) {
       RemoveStateAt(0);
+
+      current -= 1;
+      saved -= 1;
+   }
 }
    
 void UndoManager::ClearStates()
@@ -137,26 +183,19 @@ bool UndoManager::RedoAvailable()
 void UndoManager::ModifyState(TrackList * l, double sel0, double sel1)
 {
    // Delete current
-
-   TrackListIterator iter(stack[current]->tracks);
-   Track *t = iter.First();
-   while (t) {
-      delete t;
-      t = iter.Next();
-   }
+   stack[current]->tracks->Clear(true);
+   delete stack[current]->tracks;
 
    // Duplicate
-
    TrackList *tracksCopy = new TrackList();
-   TrackListIterator iter2(l);
-   t = iter2.First();
+   TrackListIterator iter(l);
+   Track *t = iter.First();
    while (t) {
       tracksCopy->Add(t->Duplicate());
-      t = iter2.Next();
+      t = iter.Next();
    }
 
    // Replace
-   delete stack[current]->tracks;
    stack[current]->tracks = tracksCopy;
    stack[current]->sel0 = sel0;
    stack[current]->sel1 = sel1;
@@ -185,19 +224,11 @@ void UndoManager::PushState(TrackList * l, double sel0, double sel1,
 
    consolidationCount = 0;
 
-   for (i = current + 1; i < stack.Count(); i++) {
-      TrackListIterator iter(stack[i]->tracks);
-      Track *t = iter.First();
-      while (t) {
-         delete t;
-         t = iter.Next();
-      }
+   i = current + 1;
+   while (i < stack.Count()) {
+      RemoveStateAt(i);
    }
-
-   i = stack.Count() - 1;
-   while (i > (unsigned int)current)
-      stack.RemoveAt(i--);
-
+             
    TrackList *tracksCopy = new TrackList();
    TrackListIterator iter(l);
    Track *t = iter.First();
@@ -216,8 +247,9 @@ void UndoManager::PushState(TrackList * l, double sel0, double sel1,
    stack.Add(push);
    current++;
 
-   if (saved >= current)
+   if (saved >= current) {
       saved = -1;
+   }
 
    lastAction = longDescription;
 }
@@ -304,7 +336,6 @@ void UndoManager::StateSaved()
 void UndoManager::Debug()
 {
    for (unsigned int i = 0; i < stack.Count(); i++) {
-
       TrackListIterator iter(stack[i]->tracks);
       WaveTrack *t = (WaveTrack *) (iter.First());
       wxPrintf(wxT("*%d* %s %f\n"), i, (i == (unsigned int)current) ? wxT("-->") : wxT("   "),
@@ -319,6 +350,7 @@ void UndoManager::SetODChangesFlag()
    mODChanges=true;
    mODChangesMutex.Unlock();
 }
+
 bool UndoManager::HasODChangesFlag()
 {
    bool ret;
diff --git a/src/UndoManager.h b/src/UndoManager.h
index 9e57a4c..43437c3 100644
--- a/src/UndoManager.h
+++ b/src/UndoManager.h
@@ -102,6 +102,8 @@ class AUDACITY_DLL_API UndoManager {
    void ResetODChangesFlag();
 
  private:
+   wxLongLong GetSpaceUsage(int index);
+
    int current;
    int saved;
    UndoStack stack;
diff --git a/src/UploadDialog.cpp b/src/UploadDialog.cpp
index 02bf2ae..578a09e 100644
--- a/src/UploadDialog.cpp
+++ b/src/UploadDialog.cpp
@@ -244,7 +244,7 @@ void UploadDialog::OnConnect(wxCommandEvent & WXUNUSED(event))
         system = ftp->GetLastResult();
         system = system.Lower();
 
-        //wxMessageBox(system, _T("FTP Status"), wxOK | wxICON_INFORMATION, this);
+        //wxMessageBox(system, wxT("FTP Status"), wxOK | wxICON_INFORMATION, this);
 
         if (system.Find(wxT("unix"))==-1 && system.Find(wxT("windows"))==-1)
         {
@@ -897,10 +897,11 @@ void UploadDialog::DownloadFile (wxString src, wxString dest)
                             out->Write(chunk, size);
                         }
                     }
-                        
-                    if (!mProgress->Update(count, iterations, src))
+                    
+                    int updateResult = mProgress->Update(count, iterations, src);
+                    if (updateResult != eProgressSuccess)
                     {
-                        //wxMessageBox("ABORT", _T("FTP Status"), wxOK | wxICON_INFORMATION, NULL);
+                        //wxMessageBox("ABORT", wxT("FTP Status"), wxOK | wxICON_INFORMATION, NULL);
 
                         abort = true;
                         break;
@@ -1308,7 +1309,7 @@ void UploadDialog::OnDeleteSite (wxCommandEvent &event)
     wxString debug;
 
 //  debug.Printf("%d", index);
-//  wxMessageBox(debug, _T("FTP Status"), wxOK | wxICON_INFORMATION, this);
+//  wxMessageBox(debug, wxT("FTP Status"), wxOK | wxICON_INFORMATION, this);
     
     wxFileName fn( FileNames::DataDir(), wxT("connections.ini") );
 
@@ -1352,7 +1353,7 @@ void UploadDialog::OnSelectSite (wxListEvent &event)
 
     //wxString debug;
     //debug.Printf("ftpIndex %d", ftpIndex);
-    //wxMessageBox(debug, _T("FTP Status"), wxOK | wxICON_INFORMATION, NULL);
+    //wxMessageBox(debug, wxT("FTP Status"), wxOK | wxICON_INFORMATION, NULL);
 
 
 }
@@ -1461,7 +1462,7 @@ void UploadDialog::UpdateSiteList (void)
 
     while (count < ftpList->GetCount())
     {
-        //wxMessageBox(ftpList->Item(count), _T("Error"), wxOK, NULL);
+        //wxMessageBox(ftpList->Item(count), wxT("Error"), wxOK, NULL);
 
         tmp = siteList->InsertItem(insert_count, ftpList->Item(count), 0);
         siteList->SetItemData(tmp, insert_count);
diff --git a/src/ViewInfo.h b/src/ViewInfo.h
index 6728cce..a4bfeb6 100644
--- a/src/ViewInfo.h
+++ b/src/ViewInfo.h
@@ -14,6 +14,8 @@
 const double gMaxZoom = 6000000,
              gMinZoom = 0.001;
 
+class Track;
+
 struct ViewInfo {
 
    // Current selection (in seconds)
@@ -23,6 +25,7 @@ struct ViewInfo {
 
    // Scroll info
 
+   Track *track;                // first visible track
    int vpos;                    // vertical scroll pos
 
    double h;                    // h pos in secs
diff --git a/src/WaveClip.cpp b/src/WaveClip.cpp
index ce66504..28283cd 100644
--- a/src/WaveClip.cpp
+++ b/src/WaveClip.cpp
@@ -217,8 +217,13 @@ class SpecCache {
 public:
    SpecCache(int cacheLen, int half, bool autocorrelation)
    {
+      minFreqOld = -1;
+      maxFreqOld = -1;
+      gainOld = -1;
+      rangeOld = -1;
       windowTypeOld = -1;
       windowSizeOld = -1;
+      frequencyGainOld = false;
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
       fftSkipPointsOld = -1;
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
@@ -237,8 +242,13 @@ public:
       delete[] where;
    }
 
+   int          minFreqOld;
+   int          maxFreqOld;
+   int          gainOld;
+   int          rangeOld;
    int          windowTypeOld;
    int          windowSizeOld;
+   int          frequencyGainOld;
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
    int          fftSkipPointsOld;
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
@@ -251,6 +261,35 @@ public:
    float       *freq;
 };
 
+#ifdef EXPERIMENTAL_USE_REALFFTF
+#include "FFT.h"
+void ComputeSpectrumUsingRealFFTf(float *buffer, HFFT hFFT, float *window, int len, float *out)
+{
+   int i;
+   if(len > hFFT->Points*2)
+      len = hFFT->Points*2;
+   for(i=0; i<len; i++)
+      buffer[i] *= window[i];
+   for( ; i<(hFFT->Points*2); i++)
+      buffer[i]=0; // zero pad as needed
+   RealFFTf(buffer, hFFT);
+   // Handle the (real-only) DC
+   float power = buffer[0]*buffer[0];
+   if(power <= 0)
+      out[0] = -160.0;
+   else
+      out[0] = 10.0*log10(power);
+   for(i=1;i<hFFT->Points;i++) {
+      power = (buffer[hFFT->BitReversed[i]  ]*buffer[hFFT->BitReversed[i]  ])
+            + (buffer[hFFT->BitReversed[i]+1]*buffer[hFFT->BitReversed[i]+1]);
+      if(power <= 0)
+         out[i] = -160.0;
+      else
+         out[i] = 10.0*log10(power);
+   }
+}
+#endif // EXPERIMENTAL_USE_REALFFTF
+
 WaveClip::WaveClip(DirManager *projDirManager, sampleFormat format, int rate)
 {
    mOffset = 0;
@@ -258,6 +297,12 @@ WaveClip::WaveClip(DirManager *projDirManager, sampleFormat format, int rate)
    mSequence = new Sequence(projDirManager, format);
    mEnvelope = new Envelope();
    mWaveCache = new WaveCache(1);
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   mWindowType = -1;
+   mWindowSize = -1;
+   hFFT = NULL;
+   mWindow = NULL;
+#endif
    mSpecCache = new SpecCache(1, 1, false);
    mSpecPxCache = new SpecPxCache(1);
    mAppendBuffer = NULL;
@@ -279,10 +324,16 @@ WaveClip::WaveClip(WaveClip& orig, DirManager *projDirManager)
    mEnvelope->SetOffset(orig.GetOffset());
    mEnvelope->SetTrackLen(((double)orig.mSequence->GetNumSamples()) / orig.mRate);
    mWaveCache = new WaveCache(1);
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   mWindowType = -1;
+   mWindowSize = -1;
+   hFFT = NULL;
+   mWindow = NULL;
+#endif
    mSpecCache = new SpecCache(1, 1, false);
    mSpecPxCache = new SpecPxCache(1);
 
-   for (WaveClipList::Node* it=orig.mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=orig.mCutLines.GetFirst(); it; it=it->GetNext())
       mCutLines.Append(new WaveClip(*it->GetData(), projDirManager));
  
    mAppendBuffer = NULL;
@@ -297,6 +348,12 @@ WaveClip::~WaveClip()
    delete mWaveCache;
    delete mSpecCache;
    delete mSpecPxCache;
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   if(hFFT != NULL)
+      EndFFT(hFFT);
+   if(mWindow != NULL)
+      delete[] mWindow;
+#endif
 
    if (mAppendBuffer)
       DeleteSamples(mAppendBuffer);
@@ -645,6 +702,11 @@ bool WaveClip::GetSpectrogram(float *freq, sampleCount *where,
                                double t0, double pixelsPerSecond,
                                bool autocorrelation)
 {
+   int minFreq = gPrefs->Read(wxT("/Spectrum/MinFreq"), 0L);
+   int maxFreq = gPrefs->Read(wxT("/Spectrum/MaxFreq"), 8000L);
+   int range = gPrefs->Read(wxT("/Spectrum/Range"), 80L);
+   int gain = gPrefs->Read(wxT("/Spectrum/Gain"), 20L);
+   int frequencygain = gPrefs->Read(wxT("/Spectrum/FrequencyGain"), 0L);
    int windowType;
    int windowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 256);
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
@@ -654,9 +716,42 @@ bool WaveClip::GetSpectrogram(float *freq, sampleCount *where,
    int half = windowSize/2;
    gPrefs->Read(wxT("/Spectrum/WindowType"), &windowType, 3);
 
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   // Update the FFT and window if necessary
+   if((mWindowType != windowType) || (mWindowSize != windowSize)
+      || (hFFT == NULL) || (mWindow == NULL) || (mWindowSize != hFFT->Points*2) ) {
+      mWindowType = windowType;
+      mWindowSize = windowSize;
+      if(hFFT != NULL)
+         EndFFT(hFFT);
+      hFFT = InitializeFFT(mWindowSize);
+      if(mWindow != NULL) delete[] mWindow;
+      // Create the requested window function
+      mWindow = new float[mWindowSize];
+      int i;
+      for(i=0; i<windowSize; i++)
+         mWindow[i]=1.0;
+      WindowFunc(mWindowType, mWindowSize, mWindow);
+      // Scale the window function to give 0dB spectrum for 0dB sine tone
+      double ws=0;
+      for(i=0; i<windowSize; i++)
+         ws += mWindow[i];
+      if(ws > 0) {
+         ws = 2.0/ws;
+         for(i=0; i<windowSize; i++)
+            mWindow[i] *= ws;
+      }
+   }
+#endif // EXPERIMENTAL_USE_REALFFTF
+
    if (mSpecCache &&
+       mSpecCache->minFreqOld == minFreq &&
+       mSpecCache->maxFreqOld == maxFreq &&
+       mSpecCache->rangeOld == range &&
+       mSpecCache->gainOld == gain &&
        mSpecCache->windowTypeOld == windowType &&
        mSpecCache->windowSizeOld == windowSize &&
+       mSpecCache->frequencyGainOld == frequencygain &&
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
        mSpecCache->fftSkipPointsOld == fftSkipPoints &&
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
@@ -692,8 +787,13 @@ bool WaveClip::GetSpectrogram(float *freq, sampleCount *where,
    // with the current one, re-use as much of the cache as
    // possible
    if (oldCache->dirty == mDirty &&
+       oldCache->minFreqOld == minFreq &&
+       oldCache->maxFreqOld == maxFreq &&
+       oldCache->rangeOld == range &&
+       oldCache->gainOld == gain &&
        oldCache->windowTypeOld == windowType &&
        oldCache->windowSizeOld == windowSize &&
+       oldCache->frequencyGainOld == frequencygain &&
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
        oldCache->fftSkipPointsOld == fftSkipPoints &&
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
@@ -728,8 +828,24 @@ bool WaveClip::GetSpectrogram(float *freq, sampleCount *where,
 #else //!EXPERIMENTAL_FFT_SKIP_POINTS
    float *buffer = new float[windowSize];
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
+   mSpecCache->minFreqOld = minFreq;
+   mSpecCache->maxFreqOld = maxFreq;
+   mSpecCache->gainOld = gain;
+   mSpecCache->rangeOld = range;
    mSpecCache->windowTypeOld = windowType;
    mSpecCache->windowSizeOld = windowSize;
+   mSpecCache->frequencyGainOld = frequencygain;
+
+   float *gainfactor = NULL;
+   if(frequencygain > 0) {
+      // Compute a frequency-dependant gain factor
+      // scaled such that 1000 Hz gets a gain of 0dB
+      double factor = 0.001*(double)mRate/(double)windowSize;
+      gainfactor = new float[half];
+      for(x = 0; x < half; x++) {
+         gainfactor[x] = frequencygain*log10(factor * x);
+      }
+   }
 
    for (x = 0; x < mSpecCache->len; x++)
       if (recalc[x]) {
@@ -757,14 +873,15 @@ bool WaveClip::GetSpectrogram(float *freq, sampleCount *where,
             }
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
             if (start + len*fftSkipPoints1 > mSequence->GetNumSamples()) {
-               len = (mSequence->GetNumSamples() - start)/fftSkipPoints1;
-               for (i = len*fftSkipPoints1; i < (sampleCount)windowSize; i++)
+               int newlen = (mSequence->GetNumSamples() - start)/fftSkipPoints1;
+               for (i = newlen*fftSkipPoints1; i < (sampleCount)len*fftSkipPoints1; i++)
 #else //!EXPERIMENTAL_FFT_SKIP_POINTS
             if (start + len > mSequence->GetNumSamples()) {
-               len = mSequence->GetNumSamples() - start;
-               for (i = len; i < (sampleCount)windowSize; i++)
+               int newlen = mSequence->GetNumSamples() - start;
+               for (i = newlen; i < (sampleCount)len; i++)
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
                   adj[i] = 0;
+               len = newlen;
             }
 
             if (len > 0)
@@ -782,12 +899,29 @@ bool WaveClip::GetSpectrogram(float *freq, sampleCount *where,
                mSequence->Get((samplePtr)adj, floatSample, start, len);
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
 
-            ComputeSpectrum(buffer, windowSize, windowSize,
-                            mRate, &mSpecCache->freq[half * x],
-                            autocorrelation, windowType);
+#ifdef EXPERIMENTAL_USE_REALFFTF
+            if(autocorrelation) {
+               ComputeSpectrum(buffer, windowSize, windowSize,
+                               mRate, &mSpecCache->freq[half * x],
+                               autocorrelation, windowType);
+            } else {
+               ComputeSpectrumUsingRealFFTf(buffer, hFFT, mWindow, mWindowSize, &mSpecCache->freq[half * x]);
+            }
+#else  // EXPERIMENTAL_USE_REALFFTF
+           ComputeSpectrum(buffer, windowSize, windowSize,
+                           mRate, &mSpecCache->freq[half * x],
+                           autocorrelation, windowType);
+#endif // EXPERIMENTAL_USE_REALFFTF
+           if(gainfactor) {
+              // Apply a frequency-dependant gain factor
+              for(i=0; i<half; i++)
+                 mSpecCache->freq[half * x + i] += gainfactor[i];
+           }
          }
       }
 
+   if(gainfactor)
+      delete[] gainfactor;
    delete[]buffer;
    delete[]recalc;
    delete oldCache;
@@ -1023,7 +1157,7 @@ void WaveClip::WriteXML(XMLWriter &xmlFile)
    mSequence->WriteXML(xmlFile);
    mEnvelope->WriteXML(xmlFile);
 
-   for (WaveClipList::Node* it=mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=mCutLines.GetFirst(); it; it=it->GetNext())
       it->GetData()->WriteXML(xmlFile);
 
    xmlFile.EndTag(wxT("waveclip"));
@@ -1088,7 +1222,7 @@ bool WaveClip::Paste(double t0, WaveClip* other)
       OffsetCutLines(t0, other->GetEndTime()-other->GetStartTime());
       
       // Paste cut lines contained in pasted clip
-      for (WaveClipList::Node* it=other->mCutLines.GetFirst(); it; it=it->GetNext())
+      for (WaveClipList::compatibility_iterator it=other->mCutLines.GetFirst(); it; it=it->GetNext())
       {
          WaveClip* cutline = it->GetData();
          WaveClip* newCutLine = new WaveClip(*cutline,
@@ -1155,9 +1289,9 @@ bool WaveClip::Clear(double t0, double t1)
       if (clip_t1 > GetEndTime())
          clip_t1 = GetEndTime();
 
-      WaveClipList::Node* nextIt = (WaveClipList::Node*)-1;
+      WaveClipList::compatibility_iterator nextIt;
 
-      for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=nextIt)
+      for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=nextIt)
       {
          nextIt = it->GetNext();
          WaveClip* clip = it->GetData();
@@ -1206,9 +1340,9 @@ bool WaveClip::ClearAndAddCutLine(double t0, double t1)
    newClip->SetOffset(clip_t0-mOffset);
 
    // Sort out cutlines that belong to the new cutline
-   WaveClipList::Node* nextIt = (WaveClipList::Node*)-1;
+   WaveClipList::compatibility_iterator nextIt;
 
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=nextIt)
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=nextIt)
    {
       nextIt = it->GetNext();
       WaveClip* clip = it->GetData();
@@ -1253,7 +1387,7 @@ bool WaveClip::FindCutLine(double cutLinePosition,
                            double* cutlineStart /* = NULL */,
                            double* cutlineEnd /* = NULL */)
 {
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
    {
       WaveClip* cutline = it->GetData();
       if (fabs(mOffset + cutline->GetOffset() - cutLinePosition) < 0.0001)
@@ -1271,7 +1405,7 @@ bool WaveClip::FindCutLine(double cutLinePosition,
 
 bool WaveClip::ExpandCutLine(double cutLinePosition)
 {
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
    {
       WaveClip* cutline = it->GetData();
       if (fabs(mOffset + cutline->GetOffset() - cutLinePosition) < 0.0001)
@@ -1289,7 +1423,7 @@ bool WaveClip::ExpandCutLine(double cutLinePosition)
 
 bool WaveClip::RemoveCutLine(double cutLinePosition)
 {
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
    {
       if (fabs(mOffset + it->GetData()->GetOffset() - cutLinePosition) < 0.0001)
       {
@@ -1306,7 +1440,7 @@ void WaveClip::RemoveAllCutLines()
 {
    while (!mCutLines.IsEmpty())
    {
-      WaveClipList::Node* head = mCutLines.GetFirst();
+      WaveClipList::compatibility_iterator head = mCutLines.GetFirst();
       delete head->GetData();
       mCutLines.DeleteNode(head);
    }
@@ -1314,7 +1448,7 @@ void WaveClip::RemoveAllCutLines()
 
 void WaveClip::OffsetCutLines(double t0, double len)
 {
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
    {
       WaveClip* cutLine = it->GetData();
       if (mOffset + cutLine->GetOffset() >= t0)
@@ -1325,21 +1459,21 @@ void WaveClip::OffsetCutLines(double t0, double len)
 void WaveClip::Lock()
 {
    GetSequence()->Lock();
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
       it->GetData()->Lock();
 }
 
 void WaveClip::CloseLock()
 {
    GetSequence()->CloseLock();
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
       it->GetData()->Lock();
 }
 
 void WaveClip::Unlock()
 {
    GetSequence()->Unlock();
-   for (WaveClipList::Node* it = mCutLines.GetFirst(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it = mCutLines.GetFirst(); it; it=it->GetNext())
       it->GetData()->Unlock();
 }
 
@@ -1396,7 +1530,8 @@ bool WaveClip::Resample(int rate, ProgressDialog *progress)
 
       if (progress)
       {
-         error = !progress->Update(pos, numSamples);
+         int updateResult = progress->Update(pos, numSamples);
+         error = (updateResult != eProgressSuccess);
          if (error)
          {
             break;
@@ -1424,6 +1559,10 @@ bool WaveClip::Resample(int rate, ProgressDialog *progress)
          mWaveCache = NULL;
       }
       mWaveCache = new WaveCache(1);
+      // Invalidate the spectrum display cache
+      if (mSpecCache)
+         delete mSpecCache;
+      mSpecCache = new SpecCache(1, 1, false);
    }
 
    return !error;
diff --git a/src/WaveClip.h b/src/WaveClip.h
index dfc0a4f..ac79eb7 100644
--- a/src/WaveClip.h
+++ b/src/WaveClip.h
@@ -19,18 +19,19 @@
 #include "ondemand/ODTaskThread.h"
 #include "xml/XMLTagHandler.h"
 
+#include "Experimental.h"
+#ifdef EXPERIMENTAL_USE_REALFFTF
+#include "RealFFTf.h"
+#endif
+
 #include <wx/gdicmn.h>
 #include <wx/longlong.h>
 #include <wx/list.h>
 #include <wx/msgdlg.h>
 
-typedef wxLongLong_t sampleCount; /* 64-bit int */
-
 class Envelope;
 class WaveCache;
 class SpecCache;
-class AUDACITY_DLL_API WaveClip;
-class AUDACITY_DLL_API WaveClipList;
 
 class SpecPxCache {
 public:
@@ -51,8 +52,10 @@ public:
    bool         valid;
 };
 
-WX_DECLARE_LIST(WaveClip, WaveClipList);
-WX_DEFINE_ARRAY_PTR(WaveClip*, WaveClipArray);
+class WaveClip;
+
+WX_DECLARE_USER_EXPORTED_LIST(WaveClip, WaveClipList, AUDACITY_DLL_API);
+WX_DEFINE_USER_EXPORTED_ARRAY_PTR(WaveClip*, WaveClipArray, class AUDACITY_DLL_API);
 
 class AUDACITY_DLL_API WaveClip: public XMLTagHandler
 {
@@ -220,7 +223,13 @@ protected:
    WaveCache    *mWaveCache;
    ODLock       mWaveCacheMutex;
    SpecCache    *mSpecCache;
-
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   // Variables used for computing the spectrum
+   HFFT          hFFT;
+   float         *mWindow;
+   int           mWindowType;
+   int           mWindowSize;
+#endif
    samplePtr     mAppendBuffer;
    sampleCount   mAppendBufferLen;
 
diff --git a/src/WaveTrack.cpp b/src/WaveTrack.cpp
index 9ea1266..98079d4 100644
--- a/src/WaveTrack.cpp
+++ b/src/WaveTrack.cpp
@@ -32,6 +32,7 @@ Track classes.
 #include <wx/debug.h>
 
 #include <math.h>
+#include <algorithm>
 
 #include "float_cast.h"
 
@@ -50,6 +51,8 @@ Track classes.
 
 #include "ondemand/ODManager.h"
 
+using std::max;
+
 WaveTrack* TrackFactory::DuplicateWaveTrack(WaveTrack &orig)
 {
    return (WaveTrack*)(orig.Duplicate());
@@ -73,11 +76,7 @@ WaveTrack::WaveTrack(DirManager *projDirManager, sampleFormat format, double rat
       rate = GetActiveProject()->GetRate();
    }
 
-#ifdef EXPERIMENTAL_SAVE_DEFAULT_VIEW
    gPrefs->Read(wxT("/GUI/DefaultViewMode"), &mDisplay, 0L);
-#else //!EXPERIMENTAL_SAVE_DEFAULT_VIEW
-   mDisplay = 0; // Move to GUIWaveTrack
-#endif //EXPERIMENTAL_SAVE_DEFAULT_VIEW
 
    mLegacyProjectFileOffset = 0;
 
@@ -92,23 +91,18 @@ WaveTrack::WaveTrack(DirManager *projDirManager, sampleFormat format, double rat
    mDisplayNumLocations = 0;
    mDisplayLocations = NULL;
    mDisplayNumLocationsAllocated = 0;
-   mStickyLabelTrack = NULL;
 }
 
 WaveTrack::WaveTrack(WaveTrack &orig):
    Track(orig)
 {
-#ifdef EXPERIMENTAL_SAVE_DEFAULT_VIEW
    gPrefs->Read(wxT("/GUI/DefaultViewMode"), &mDisplay, 0L);
-#else //!EXPERIMENTAL_SAVE_DEFAULT_VIEW
-   mDisplay = 0; // Move to GUIWaveTrack
-#endif //EXPERIMENTAL_SAVE_DEFAULT_VIEW
 
    mLegacyProjectFileOffset = 0;
 
    Init(orig);
 
-   for (WaveClipList::Node *node = orig.mClips.GetFirst(); node; node = node->GetNext())
+   for (WaveClipList::compatibility_iterator node = orig.mClips.GetFirst(); node; node = node->GetNext())
       mClips.Append(new WaveClip(*node->GetData(), mDirManager));
 }
 
@@ -128,7 +122,6 @@ void WaveTrack::Init(const WaveTrack &orig)
    mDisplayNumLocations = 0;
    mDisplayLocations = NULL;
    mDisplayNumLocationsAllocated = 0;
-   mStickyLabelTrack = NULL;
 }
 
 void WaveTrack::Merge(const Track &orig)
@@ -142,16 +135,14 @@ WaveTrack::~WaveTrack()
 {   
    //Let the ODManager know this WaveTrack is disappearing.  
    //Deschedules tasks associated with this track.  
-#ifdef EXPERIMENTAL_ONDEMAND
    if(ODManager::IsInstanceCreated())
       ODManager::Instance()->RemoveWaveTrack(this);
-#endif
    
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       delete it->GetData();
    mClips.Clear();
    if (mDisplayLocations)
-      delete mDisplayLocations;
+      delete [] mDisplayLocations;
       
 }
 
@@ -164,7 +155,7 @@ void WaveTrack::SetOffset(double o)
 {
    double delta = o - GetOffset();
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
       clip->SetOffset(clip->GetOffset() + delta);
@@ -198,7 +189,7 @@ double WaveTrack::GetRate() const
 void WaveTrack::SetRate(double newRate)
 {
    mRate = (int) newRate;
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->SetRate((int) newRate);
 }
 
@@ -245,7 +236,7 @@ float WaveTrack::GetChannelGain(int channel)
 
 bool WaveTrack::ConvertToSampleFormat(sampleFormat format)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->ConvertToSampleFormat(format);
    mFormat = format;
 
@@ -254,7 +245,7 @@ bool WaveTrack::ConvertToSampleFormat(sampleFormat format)
 
 bool WaveTrack::IsEmpty(double t0, double t1)
 {
-   WaveClipList::Node* it;
+   WaveClipList::compatibility_iterator it;
 
    //printf("Searching for overlap in %.6f...%.6f\n", t0, t1);
    for (it=GetClipIterator(); it; it=it->GetNext())
@@ -321,7 +312,7 @@ bool WaveTrack::Trim (double t0, double t1)
    // the left selection t0.
    double firstGreaterOffset = -1;
 
-   WaveClipList::Node * it;
+   WaveClipList::compatibility_iterator  it;
    for(it = GetClipIterator(); it; it = it->GetNext())
       {
             
@@ -382,7 +373,7 @@ bool WaveTrack::Copy(double t0, double t1, Track **dest)
 
    newTrack->Init(*this);
 
-   WaveClipList::Node* it;
+   WaveClipList::compatibility_iterator it;
    
    for (it=GetClipIterator(); it; it=it->GetNext())
    {
@@ -441,225 +432,206 @@ bool WaveTrack::Copy(double t0, double t1, Track **dest)
 
    return true;
 }
-#ifdef EXPERIMENTAL_FULL_LINKING
 bool WaveTrack::Paste(double t0, Track *src)
 {
+   return Paste(t0, src, NULL, false);
+}
+
+bool WaveTrack::Paste(double t0, Track *src, TrackList* tracks, bool relativeLabels)
+{
    AudacityProject *p = GetActiveProject();
-   if( p && p->IsSticky())
-      return HandleGroupPaste(t0, src);
+   if( p && p->IsSticky() && GetNode() )
+      return HandleGroupPaste(t0, src, tracks, relativeLabels);
    else
       return HandlePaste(t0, src);
 }
 
-#else
-bool WaveTrack::Paste(double t0, Track *src)
+bool WaveTrack::Clear(double t0, double t1)
 {
-   bool editClipCanMove = true;
-   gPrefs->Read(wxT("/GUI/EditClipCanMove"), &editClipCanMove);
-   
-   //printf("paste: entering WaveTrack::Paste\n");
-   
-   // JKC Added...
-   if( src == NULL )
-      return false;
+   return Clear(t0, t1, NULL);
+}
 
-   if (src->GetKind() != Track::Wave)
-      return false;
-      
-   //printf("paste: we have a wave track\n");
+bool WaveTrack::Clear(double t0, double t1, TrackList* tracks)
+{
+   bool addCutLines = false;
+   bool split = false;
+   AudacityProject *p = GetActiveProject();
+   if( p && p->IsSticky() && GetNode() )
+      return HandleGroupClear(t0, t1, addCutLines, split, tracks);
+   else
+      return HandleClear(t0, t1, addCutLines, split);
+}
 
-   WaveTrack* other = (WaveTrack*)src;
-   
-   //
-   // Pasting is a bit complicated, because with the existence of multiclip mode,
-   // we must guess the behaviour the user wants.
-   //
-   // Currently, two modes are implemented:
-   //
-   // - If a single clip should be pasted, and it should be pasted inside another
-   //   clip, no new clips are generated. The audio is simply inserted.
-   //   This resembles the old (pre-multiclip support) behaviour. However, if
-   //   the clip is pasted outside of any clip, a new clip is generated. This is
-   //   the only behaviour which is different to what was done before, but it
-   //   shouldn't confuse users too much.
-   //
-   // - If multiple clips should be pasted, these are always pasted as single
-   //   clips, and the current clip is splitted, when necessary. This may seem
-   //   strange at first, but it probably is better than trying to auto-merge
-   //   anything. The user can still merge the clips by hand (which should be
-   //   a simple command reachable by a hotkey or single mouse click).
-   //
+bool WaveTrack::ClearAndAddCutLine(double t0, double t1)
+{
+   bool addCutLines = true;
+   bool split = false;
+   AudacityProject *p = GetActiveProject();
+   if( p && p->IsSticky() )
+      return HandleGroupClear(t0, t1, addCutLines, split);
+   else
+      return HandleClear(t0, t1, addCutLines, split);
+}
 
-   if (other->GetNumClips() == 0)
-      return false;
+//
+// ClearAndPaste() is a specialized version of HandleClear()
+// followed by HandlePaste() and is used mostly by effects that
+// can't replace track data directly using Get()/Set().
+//
+// HandleClear() removes any cut/split lines lines with the
+// cleared range, but, in most cases, effects want to preserve
+// the existing cut/split lines, so they are saved before the
+// HandleClear()/HandlePaste() and restored after.
+//
+// If the pasted track overlaps two or more clips, then it will
+// be pasted with visible split lines.  Normally, effects do not
+// want these extra lines, so they may be merged out.
+//
+bool WaveTrack::ClearAndPaste(double t0, double t1, Track *src, bool preserve,
+                              bool merge, TrackList* tracks, bool relativeLabels)
+{
+   WaveClipList::compatibility_iterator ic;
+   WaveClipList::compatibility_iterator it;
+   double dur = wxMin(t1 - t0, src->GetEndTime());
+   wxArrayDouble splits;
+   WaveClipArray cuts;
+   WaveClip *clip;
+
+   // If duration is 0, then it's just a plain paste
+   if (dur == 0.0) {
+      return Paste(t0, src, tracks, relativeLabels);
+   }
 
-   //printf("paste: we have at least one clip\n");
+   // Align to a sample
+   t0 = LongSamplesToTime(TimeToLongSamples(t0));
+   t1 = LongSamplesToTime(TimeToLongSamples(t1));
 
-   double insertDuration = other->GetEndTime();
-   WaveClipList::Node* it;
+   // Save the cut/split lines whether preserving or not since merging
+   // needs to know if a clip boundary is being crossed since HandlePaste()
+   // will add split lines around the pasted clip if so.
+   for (ic = GetClipIterator(); ic; ic = ic->GetNext()) {
+      double st;
 
-   #ifdef EXPERIMENTAL_STICKY_TRACKS
-   if (mStickyLabelTrack) mStickyLabelTrack->ShiftLabelsOnInsert(insertDuration, t0);
-   #endif
-   #ifdef EXPERIMENTAL_LABEL_LINKING
-   AudacityProject *p = GetActiveProject();
-   if( p && p->IsSticky()){
-      TrackListIterator iter(p->GetTracks());
-      Track *t = iter.First();
-      
-      while (t && t!=this) t = iter.Next(true);
-      while (t && t->GetKind()==Track::Wave) t = iter.Next();
+      clip = ic->GetData();
+      st = LongSamplesToTime(TimeToLongSamples(clip->GetStartTime()));
 
-      while (t && t->GetKind()==Track::Label){
-         //printf("t: %x\n", t);
-         ((LabelTrack *)t)->ShiftLabelsOnInsert(insertDuration, t0);
-         t = iter.Next();
+      // Remember split line
+      if (st >= t0 && st <= t1) {
+         splits.Add(st);
       }
-   }
-   #endif
-   //printf("Check if we need to make room for the pasted data\n");
-   
-   // Make room for the pasted data, unless the space being pasted in is empty of
-   // any clips
-   if (!IsEmpty(t0, t0+insertDuration-1.0/mRate) && editClipCanMove) {
-      if (other->GetNumClips() > 1) {
-         // We need to insert multiple clips, so split the current clip and
-         // move everything to the right, then try to paste again
-         Track *tmp = NULL;
-         Cut(t0, GetEndTime()+1.0/mRate, &tmp);
-         Paste(t0 + insertDuration, tmp);
-         delete tmp;
-      } else
-      {
-         // We only need to insert one single clip, so just move all clips
-         // to the right of the paste point out of the way
-         for (it=GetClipIterator(); it; it=it->GetNext())
-         {
-            WaveClip* clip = it->GetData();
-            if (clip->GetStartTime() > t0-(1.0/mRate))
-               clip->Offset(insertDuration);
+
+      // Search for cut lines
+      WaveClipList* cutlines = clip->GetCutLines();
+      it = cutlines->GetFirst();
+      while (it) {
+         WaveClipList::compatibility_iterator in = it->GetNext();
+         WaveClip *cut = it->GetData();
+         double cs = LongSamplesToTime(TimeToLongSamples(clip->GetOffset() +
+                                                         cut->GetOffset()));
+
+         // Remember cut point
+         if (cs >= t0 && cs <= t1) {
+            // Remove cut point from this clips cutlines array, otherwise
+            // it will not be deleted when HandleClear() is called.
+            cutlines->DeleteNode(it);
+
+            // Remember the absolute offset and add to our cuts array.
+            cut->SetOffset(cs);
+            cuts.Add(cut);
          }
+
+         it = in;
       }
    }
 
-   if (other->GetNumClips() == 1)
-   {
-      // Single clip mode
-      // printf("paste: checking for single clip mode!\n");
-      
-      WaveClip *insideClip = NULL;
+   // Now, clear the selection
+   if (HandleClear(t0, t1, false, false)) {
+      // And paste in the new data
+      if (Paste(t0, src, tracks, relativeLabels)) {
+         unsigned int i;
 
-      for (it=GetClipIterator(); it; it=it->GetNext())
-      {
-         WaveClip *clip = it->GetData();
+         // First, merge the new clip(s) in with the existing clips
+         if (merge && splits.GetCount() > 0)
+         {
+            WaveClipArray clips;
 
-         // The 1.0/mRate is the time for one sample - kind of a fudge factor,
-         // because an overlap of less than a sample should not trigger
-         // traditional behaviour.
+            // Now t1 represents the absolute end of the pasted data.
+            t1 = t0 + src->GetEndTime();
 
-         if (editClipCanMove)
-         {
-            if (t0+src->GetEndTime()-1.0/mRate > clip->GetStartTime() &&
-                t0 < clip->GetEndTime() - 1.0/mRate)
-            {
-               //printf("t0=%.6f: inside clip is %.6f ... %.6f\n",
-               //       t0, clip->GetStartTime(), clip->GetEndTime());
-               insideClip = clip;
-               break;
-            }
-         } else
-         {
-            if (t0 >= clip->GetStartTime() && t0 < clip->GetEndTime())
-            {
-               insideClip = clip;
-               break;
-            }
-         }
-      }
+            // Get a sorted array of the clips
+            FillSortedClipArray(clips);
 
-      if (insideClip)
-      {
-         // Exhibit traditional behaviour
-         //printf("paste: traditional behaviour\n");
-         if (!editClipCanMove)
-         {
-            // We did not move other clips out of the way already, so
-            // check if we can paste without having to move other clips
-            for (it=GetClipIterator(); it; it=it->GetNext())
-            {
-               WaveClip *clip = it->GetData();
+            // Scan the sorted clips for the first clip whose start time
+            // exceeds the pasted regions end time.
+            for (i = 0; i < clips.GetCount(); i++) {
+               clip = clips[i];
                
-               if (clip->GetStartTime() > insideClip->GetStartTime() &&
-                   insideClip->GetEndTime() + insertDuration >
-                                                      clip->GetStartTime())
-               {
-                  wxMessageBox(
-                     _("There is not enough room available to paste the selection"),
-                     _("Error"), wxICON_STOP);
-                  return false;
+               // Merge this clip and the previous clip if the end time
+               // falls within it and this isn't the first clip in the track.
+               if (fabs(t1 - clip->GetStartTime()) < WAVETRACK_MERGE_POINT_TOLERANCE) {
+                  if (i > 0) {
+                     MergeClips(GetClipIndex(clips[i - 1]), GetClipIndex(clip));
+                  }
+                  break;
                }
             }
-         }
-         
-         return insideClip->Paste(t0, other->GetClipByIndex(0));
-      }
 
-      // Just fall through and exhibit new behaviour
-   }
+            // Refill the array since clips have changed.
+            FillSortedClipArray(clips);
 
-   // Insert new clips
-   //printf("paste: multi clip mode!\n");
+            // Scan the sorted clips to look for the start of the pasted
+            // region.
+            for (i = 0; i < clips.GetCount(); i++) {
+               clip = clips[i];
 
-   if (!editClipCanMove && !IsEmpty(t0, t0+insertDuration-1.0/mRate))
-   {
-      wxMessageBox(
-         _("There is not enough room available to paste the selection"),
-         _("Error"), wxICON_STOP);
-      return false;
-   }
+               // Merge this clip and the next clip if the start time
+               // falls within it and this isn't the last clip in the track.
+               if (fabs(t0 - clip->GetEndTime()) < WAVETRACK_MERGE_POINT_TOLERANCE) {
+                  if (i < clips.GetCount() - 1) {
+                     MergeClips(GetClipIndex(clip), GetClipIndex(clips[i + 1]));
+                  }
+                  break;
+               }
+            }
+         }
 
-   for (it=other->GetClipIterator(); it; it=it->GetNext())
-   {
-      WaveClip* clip = it->GetData();
+         // Restore cut/split lines
+         if (preserve) {
 
-      WaveClip* newClip = new WaveClip(*clip, mDirManager);
-      newClip->Resample(mRate);
-      newClip->Offset(t0);
-      newClip->MarkChanged();
-      mClips.Append(newClip);
-   }
-   return true;
-}
-#endif
+            // Restore the split lines by simply resplitting at the saved time.
+            for (i = 0; i < splits.GetCount(); i++) {
+               SplitAt(splits[i]);
+            }
 
-bool WaveTrack::Clear(double t0, double t1)
-{
-   bool addCutLines = false;
-   bool split = false;
-#ifdef EXPERIMENTAL_FULL_LINKING
-   AudacityProject *p = GetActiveProject();
-   if( p && p->IsSticky())
-      return HandleGroupClear(t0, t1, addCutLines, split);
-   else
-      return HandleClear(t0, t1, addCutLines, split);
-#else   
-   return HandleClear(t0, t1, addCutLines, split);
-#endif
-}
+            // Restore the saved cut lines
+            for (ic = GetClipIterator(); ic; ic = ic->GetNext()) {
+               double st;
+               double et;
+
+               clip = ic->GetData();
+               st = clip->GetStartTime();
+               et = clip->GetEndTime();
+
+               // Scan the cuts for any that live within this clip
+               for (i = 0; i < cuts.GetCount(); i++) {
+                  WaveClip *cut = cuts[i];
+                  double cs = cut->GetOffset();
+
+                  // Offset the cut from the start of the clip and add it to
+                  // this clips cutlines.
+                  if (cs >= st && cs <= et) {
+                     cut->SetOffset(cs - st);
+                     clip->GetCutLines()->Append(cut);
+                     cuts.RemoveAt(i);
+                     i--;
+                  }
+               }
+            }
+         }
+      }
+   }
 
-bool WaveTrack::ClearAndAddCutLine(double t0, double t1)
-{
-   bool addCutLines = true;
-   bool split = false;
-#ifdef EXPERIMENTAL_FULL_LINKING
-   AudacityProject *p = GetActiveProject();
-   if( p && p->IsSticky() )
-      return HandleGroupClear(t0, t1, addCutLines, split);
-   else
-      return HandleClear(t0, t1, addCutLines, split);
-#else   
-   return HandleClear(t0, t1, addCutLines, split);
-#endif
+   return true;
 }
 
 bool WaveTrack::SplitDelete(double t0, double t1)
@@ -669,44 +641,33 @@ bool WaveTrack::SplitDelete(double t0, double t1)
    return HandleClear(t0, t1, addCutLines, split);
 }
 
-bool WaveTrack::HandleGroupClear(double t0, double t1, bool addCutLines, bool split)
+bool WaveTrack::HandleGroupClear(double t0, double t1, bool addCutLines, bool split, TrackList* tracks)
 {
+   // get tracks
    AudacityProject *p = GetActiveProject();
-   if(p){
-      TrackListIterator iter(p->GetTracks());
-      
-      int editGroup = 0;
-      Track *t=iter.First();
-      Track *n=t;
-      
-      while (t && t!= this){//find edit group number
-         if (t->GetSelected()) return true;//multiple tracks have been selected, we only want to handle one
-         n=iter.Next(true);//to skip handling the second channel of stereo
-         if (n && n->GetKind()==Track::Wave && t->GetKind()==Track::Label) 
-            editGroup++;
-         t=n;
-      }
-      if (!t) return true;//we didnt find the track because it's stereo
-      
-      t=iter.First();
-      for (int i=0; i<editGroup; i++){//go to first in edit group
-         while (t && t->GetKind()==Track::Wave) t=iter.Next();
-         while (t && t->GetKind()==Track::Label) t=iter.Next();
-      }
-      
-      while (t && t->GetKind()==Track::Wave){
-         //printf ("t(w): %x\n", t);
-         if ( !( ((WaveTrack *)t)->HandleClear(t0, t1, addCutLines, split)) ) return false;
-         t=iter.Next();
+
+   if (p) {
+      if (!tracks) tracks = p->GetTracks();
+   }
+   else return false;
+
+   TrackGroupIterator it(tracks);
+   Track *t = it.First(this);
+   if (t == NULL)
+      // the present track is in a project with groups but doesn't belong to any of them
+      return HandleClear(t0, t1, addCutLines, split);
+
+   for( ; t; t = it.Next() ) {
+      if (t->GetKind() == Track::Wave) {
+         if ( !( ( (WaveTrack *) t)->HandleClear(t0, t1, addCutLines, split) ) )
+            return false;
       }
-      
-      while (t && t->GetKind()==Track::Label && !split){
-         //printf ("t(l): %x\n", t);
-         ((LabelTrack *)t)->ShiftLabelsOnClear(t0, t1);
-         t=iter.Next();
+      else if (t->GetKind() == Track::Label) {
+         if (!split)
+            ( (LabelTrack *)t )->ShiftLabelsOnClear(t0, t1);
       }
-   }else return false;
-   
+   }
+
    return true;
 }
 
@@ -716,32 +677,10 @@ bool WaveTrack::HandleClear(double t0, double t1,
    if (t1 < t0)
       return false;
 
-#ifdef EXPERIMENTAL_STICKY_TRACKS
-   if (!split){
-      if (mStickyLabelTrack) mStickyLabelTrack->ShiftLabelsOnClear(t0, t1);
-   }
-#endif
-#ifdef EXPERIMENTAL_LABEL_LINKING
-   AudacityProject *p = GetActiveProject();
-   if( p && p->IsSticky() && !split){
-      TrackListIterator iter(p->GetTracks());
-      Track *t = iter.First();
-      
-      while (t && t!=this) t = iter.Next(true);
-      while (t && t->GetKind()==Track::Wave) t = iter.Next();
-
-      while (t && t->GetKind()==Track::Label){
-         //printf("t: %x\n", t);
-         ((LabelTrack *)t)->ShiftLabelsOnClear(t0, t1);
-         t = iter.Next();
-      }
-   }
-#endif
-
    bool editClipCanMove = true;
    gPrefs->Read(wxT("/GUI/EditClipCanMove"), &editClipCanMove);
 
-   WaveClipList::Node* it;
+   WaveClipList::compatibility_iterator it;
    WaveClipList clipsToDelete;
    WaveClipList clipsToAdd;
    
@@ -817,21 +756,22 @@ bool WaveTrack::HandleClear(double t0, double t1,
                 * region being cleared. If one of the ends of the clip is inside
                 * the region, then one of the glue points will be redundant. */
                // clip->Clear keeps points < t0 and >= t1 via Envelope::CollapseRegion
-               double val;
-               if (t0 > clip->GetStartTime())
-                  {  // start of clip is before start of region to clear
-                  val = clip->GetEnvelope()->GetValue(t0);
-                  clip->GetEnvelope()->Insert(t0 - clip->GetOffset() - 1.0/clip->GetRate(), val);
-                  }
-
-               if (t1 < clip->GetEndTime())
-                  {  // end of clip is after end of region
-                  val = clip->GetEnvelope()->GetValue(t1);
-                  clip->GetEnvelope()->Insert(t1 - clip->GetOffset(), val);
-                  }
-
+               if (clip->GetEnvelope()->GetNumberOfPoints() > 0) {   // don't insert env pts if none exist
+                  double val;
+                  if (t0 > clip->GetStartTime())
+                     {  // start of clip is before start of region to clear
+                     val = clip->GetEnvelope()->GetValue(t0);
+                     clip->GetEnvelope()->Insert(t0 - clip->GetOffset() - 1.0/clip->GetRate(), val);
+                     }
+                  if (t1 < clip->GetEndTime())
+                     {  // end of clip is after end of region
+                     val = clip->GetEnvelope()->GetValue(t1);
+                     clip->GetEnvelope()->Insert(t1 - clip->GetOffset(), val);
+                     }
+               }
                if (!clip->Clear(t0,t1))
                   return false;
+               clip->GetEnvelope()->RemoveUnneededPoints(t0);
             }
          }
       } else
@@ -858,57 +798,62 @@ bool WaveTrack::HandleClear(double t0, double t1,
    return true;
 }
 
-bool WaveTrack::HandleGroupPaste(double t0, Track *src)
+bool WaveTrack::HandleGroupPaste(double t0, Track *src, TrackList* tracks, bool relativeLabels)
 {
+   // get tracks
    AudacityProject *p = GetActiveProject();
-   if(p){
-      double length = src->GetEndTime();
-      
-      TrackListIterator iter(p->GetTracks());
-      
-      int editGroup = 0;
-      Track *t=iter.First();
-      Track *n=t;
-      
-      while (t && t!= this){//find edit group number
-         n=iter.Next();
-         //we only add silence when we're on the first selected track
-         //to avoid adding it multiple times, though we paste in still
-         if (t->GetSelected()) return HandlePaste(t0, src);
-         if (n && n->GetKind()==Track::Wave && t->GetKind()==Track::Label) 
-            editGroup++;
-         t=n;
-      }
-      
-      t=iter.First();
-      for (int i=0; i<editGroup; i++){//go to first in edit group
-         while (t && t->GetKind()==Track::Wave) t=iter.Next();
-         while (t && t->GetKind()==Track::Label) t=iter.Next();
-      }
-      
-      while (t && t->GetKind()==Track::Wave){
-         if (t==this){//paste in the track
+
+   if (p) {
+      if (!tracks) tracks = p->GetTracks();
+   }
+   else return false;
+   
+   double length = src->GetEndTime();
+   ViewInfo *info = &p->mViewInfo;
+   double sel_len = max(info->sel1 - max(info->sel0, t0), 0.0);
+   
+   TrackGroupIterator it(tracks);
+   Track *t = it.First(this);
+   if (t == NULL)
+      // the present track is in a project with groups but doesn't belong to any of them
+      return HandlePaste(t0, src);
+
+   for( ; t; t = it.Next() ) {
+      if (t->GetKind() == Track::Wave) {
+         if (t==this) {
+            //paste in the track
             if ( !( ((WaveTrack *)t)->HandlePaste(t0, src)) ) return false;
-            if (t->GetLinked()) t=iter.Next();
-         }else{//insert silence
-            if (! (t->GetSelected()) ){
-               TrackFactory *factory = p->GetTrackFactory();
-               WaveTrack *tmp = factory->NewWaveTrack( ((WaveTrack*)t)->GetSampleFormat(), ((WaveTrack*)t)->GetRate());
-               tmp->InsertSilence(0.0, length);
-               tmp->Flush();
-               if ( !( ((WaveTrack *)t)->HandlePaste(t0, tmp)) ) return false;
+            if (t->GetLinked()) t=it.Next();
+         }
+         else {
+            if (! (t->GetSelected()) ) {
+               if ( sel_len > length )
+                  // if selection is bigger than the content to add then we need to clear the extra length in the group tracks
+                  ((WaveTrack*)t)->HandleClear(t0+length, t0+sel_len, false, false);
+               else if (sel_len < length) {               
+                  // if selection is smaller than the content to add then we need to add extra silence in the group tracks
+                  TrackFactory *factory = p->GetTrackFactory();
+                  WaveTrack *tmp = factory->NewWaveTrack( ((WaveTrack*)t)->GetSampleFormat(), ((WaveTrack*)t)->GetRate());
+                  tmp->InsertSilence(0.0, length-sel_len);
+                  tmp->Flush();
+                  if ( !( ((WaveTrack *)t)->HandlePaste(t0+sel_len, tmp)) ) return false;
+               }
             }
          }
-         t=iter.Next();
       }
-      
-      while (t && t->GetKind()==Track::Label){
-         //printf ("t(l)(p): %x\n", t);
-         ((LabelTrack *)t)->ShiftLabelsOnInsert(length, t0);
-         t=iter.Next();
+      else if (t->GetKind() == Track::Label) {
+         LabelTrack *lt = (LabelTrack *)t;
+         if (relativeLabels && (sel_len != 0.0))
+            lt->ScaleLabels(info->sel0, info->sel1, length/sel_len);
+         else {
+            if ((length - sel_len) > 0.0)
+               lt->ShiftLabelsOnInsert(length-sel_len, t0);
+            else if ((length - sel_len) < 0.0)
+               lt->ShiftLabelsOnClear(info->sel0+length, info->sel1);
+         }
       }
-   }else return false;
-      
+   }
+
    return true;
 }
 
@@ -956,27 +901,8 @@ bool WaveTrack::HandlePaste(double t0, Track *src)
    //printf("paste: we have at least one clip\n");
 
    double insertDuration = other->GetEndTime();
-   WaveClipList::Node* it;
-
-#ifdef EXPERIMENTAL_STICKY_TRACKS
-   if (mStickyLabelTrack) mStickyLabelTrack->ShiftLabelsOnInsert(insertDuration, t0);
-#endif
-#ifdef EXPERIMENTAL_LABEL_LINKING
-   AudacityProject *p = GetActiveProject();
-   if( p && p->IsSticky()){
-      TrackListIterator iter(p->GetTracks());
-      Track *t = iter.First();
-      
-      while (t && t!=this) t = iter.Next(true);
-      while (t && t->GetKind()==Track::Wave) t = iter.Next();
+   WaveClipList::compatibility_iterator it;
 
-      while (t && t->GetKind()==Track::Label){
-         //printf("t: %x\n", t);
-         ((LabelTrack *)t)->ShiftLabelsOnInsert(insertDuration, t0);
-         t = iter.Next();
-      }
-   }
-#endif
    //printf("Check if we need to make room for the pasted data\n");
    
    // Make room for the pasted data, unless the space being pasted in is empty of
@@ -1100,7 +1026,7 @@ bool WaveTrack::Silence(double t0, double t1)
    sampleCount len = (sampleCount)floor(t1 * mRate + 0.5) - start;
    bool result = true;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip *clip = it->GetData();
 
@@ -1146,7 +1072,7 @@ bool WaveTrack::InsertSilence(double t, double len)
       return clip->InsertSilence(0, len);
    }
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip *clip = it->GetData();
       if (clip->GetStartTime() > t)
@@ -1171,7 +1097,7 @@ bool WaveTrack::Disjoin(double t0, double t1)
    
    wxBusyCursor busy;
    
-   for( WaveClipList::Node *it = GetClipIterator(); it; it = it->GetNext() )
+   for( WaveClipList::compatibility_iterator it = GetClipIterator(); it; it = it->GetNext() )
    {
       WaveClip *clip = it->GetData();
 
@@ -1249,7 +1175,7 @@ bool WaveTrack::Join(double t0, double t1)
 {
    // Merge all WaveClips overlapping selection into one
 
-   WaveClipList::Node* it;
+   WaveClipList::compatibility_iterator it;
    WaveClipList clipsToDelete;
    WaveClip *newClip;
 
@@ -1320,7 +1246,7 @@ sampleCount WaveTrack::GetBestBlockSize(sampleCount s)
 {
    sampleCount bestBlockSize = GetMaxBlockSize();
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
       sampleCount startSample = (sampleCount)floor(clip->GetStartTime()*mRate + 0.5);
@@ -1338,7 +1264,7 @@ sampleCount WaveTrack::GetBestBlockSize(sampleCount s)
 sampleCount WaveTrack::GetMaxBlockSize()
 {
    int maxblocksize = 0;
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
       if (clip->GetSequence()->GetMaxBlockSize() > maxblocksize)
@@ -1400,6 +1326,18 @@ bool WaveTrack::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
             // track is created.
             mLegacyProjectFileOffset = dblValue;
          }
+         else if (!wxStrcmp(attr, wxT("mute")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            mMute = (nValue != 0);
+         else if (!wxStrcmp(attr, wxT("solo")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            mSolo = (nValue != 0);
+         else if (!wxStrcmp(attr, wxT("height")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            mHeight = nValue;
+         else if (!wxStrcmp(attr, wxT("minimized")) && 
+                  XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
+            mMinimized = (nValue != 0);
          else if (!wxStrcmp(attr, wxT("gain")) && 
                   XMLValueChecker::IsGoodString(strValue) && 
                   Internat::CompatibleToDouble(strValue, &dblValue))
@@ -1420,7 +1358,7 @@ bool WaveTrack::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
          }
          else if (!wxStrcmp(attr, wxT("linked")) && 
                   XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
-            mLinked = (nValue != 0);
+            SetLinked(nValue != 0);
          
       } // while
       return true;
@@ -1479,11 +1417,15 @@ void WaveTrack::WriteXML(XMLWriter &xmlFile)
    xmlFile.WriteAttr(wxT("channel"), mChannel);
    xmlFile.WriteAttr(wxT("linked"), mLinked);
    xmlFile.WriteAttr(wxT("offset"), mOffset, 8);
+   xmlFile.WriteAttr(wxT("mute"), mMute);
+   xmlFile.WriteAttr(wxT("solo"), mSolo);
+   xmlFile.WriteAttr(wxT("height"), this->GetActualHeight());
+   xmlFile.WriteAttr(wxT("minimized"), this->GetMinimized());
    xmlFile.WriteAttr(wxT("rate"), mRate);
    xmlFile.WriteAttr(wxT("gain"), (double)mGain);
    xmlFile.WriteAttr(wxT("pan"), (double)mPan);
    
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       it->GetData()->WriteXML(xmlFile);
    }
@@ -1493,7 +1435,7 @@ void WaveTrack::WriteXML(XMLWriter &xmlFile)
 
 bool WaveTrack::GetErrorOpening()
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       if (it->GetData()->GetSequence()->GetErrorOpening())
          return true;
 
@@ -1502,7 +1444,7 @@ bool WaveTrack::GetErrorOpening()
 
 bool WaveTrack::Lock()
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->Lock();
 
    return true;
@@ -1510,7 +1452,7 @@ bool WaveTrack::Lock()
 
 bool WaveTrack::CloseLock()
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->CloseLock();
 
    return true;
@@ -1519,13 +1461,13 @@ bool WaveTrack::CloseLock()
 
 bool WaveTrack::Unlock()
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->Unlock();
 
    return true;
 }
 
-sampleCount WaveTrack::TimeToLongSamples(double t0)
+AUDACITY_DLL_API sampleCount WaveTrack::TimeToLongSamples(double t0) const
 {
    return (sampleCount)floor(t0 * mRate + 0.5);
 }
@@ -1543,7 +1485,7 @@ double WaveTrack::GetStartTime()
    if (mClips.IsEmpty())
       return 0;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       if (!found)
       {
          found = true;
@@ -1562,7 +1504,7 @@ double WaveTrack::GetEndTime()
    if (mClips.IsEmpty())
       return 0;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       if (!found)
       {
          found = true;
@@ -1592,7 +1534,7 @@ bool WaveTrack::GetMinMax(float *min, float *max,
 
    bool result = true;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
 
@@ -1627,7 +1569,7 @@ bool WaveTrack::GetRMS(float *rms, double t0, double t1)
    double sumsq = 0.0;
    sampleCount length = 0;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
 
@@ -1655,7 +1597,7 @@ bool WaveTrack::Get(samplePtr buffer, sampleFormat format,
    // Simple optimization: When this buffer is completely contained within one clip,
    // don't clear anything (because we never won't have to). Otherwise, just clear
    // everything to be on the safe side.
-   WaveClipList::Node* it;
+   WaveClipList::compatibility_iterator it;
    
    bool doClear = true;
    for (it=GetClipIterator(); it; it=it->GetNext())
@@ -1709,7 +1651,7 @@ bool WaveTrack::Set(samplePtr buffer, sampleFormat format,
 {
    bool result = true;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip *clip = it->GetData();
 
@@ -1752,7 +1694,7 @@ void WaveTrack::GetEnvelopeValues(double *buffer, int bufferLen,
    double startTime = t0;
    double endTime = t0+tstep*bufferLen;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip *clip = it->GetData();
       
@@ -1782,7 +1724,7 @@ void WaveTrack::GetEnvelopeValues(double *buffer, int bufferLen,
 
 WaveClip* WaveTrack::GetClipAtX(int xcoord)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       wxRect r;
       it->GetData()->GetDisplayRect(&r);
@@ -1805,7 +1747,7 @@ Envelope* WaveTrack::GetEnvelopeAtX(int xcoord)
 // Search for any active DragPoint on the current track
 Envelope* WaveTrack::GetActiveEnvelope(void)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
       Envelope* env = clip->GetEnvelope() ;
@@ -1862,7 +1804,7 @@ int WaveTrack::GetNumClips() const
 
 void WaveTrack::MoveClipToTrack(int clipIndex, WaveTrack* dest)
 {
-   WaveClipList::Node* node = mClips.Item(clipIndex);
+   WaveClipList::compatibility_iterator node = mClips.Item(clipIndex);
    WaveClip* clip = node->GetData();
    mClips.DeleteNode(node);
    dest->mClips.Append(clip);
@@ -1870,7 +1812,7 @@ void WaveTrack::MoveClipToTrack(int clipIndex, WaveTrack* dest)
 
 void WaveTrack::MoveClipToTrack(WaveClip *clip, WaveTrack* dest)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext()) {
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext()) {
       if (it->GetData() == clip) {
          WaveClip* clip = it->GetData();
          mClips.DeleteNode(it);
@@ -1886,7 +1828,7 @@ bool WaveTrack::CanOffsetClip(WaveClip* clip, double amount,
    if (allowedAmount)
       *allowedAmount = amount;
 
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* c = it->GetData();
       if (c != clip && c->GetStartTime() < clip->GetEndTime()+amount &&
@@ -1930,7 +1872,7 @@ bool WaveTrack::CanOffsetClip(WaveClip* clip, double amount,
 
 bool WaveTrack::CanInsertClip(WaveClip* clip)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* c = it->GetData();
       if (c->GetStartTime() < clip->GetEndTime() && c->GetEndTime() > clip->GetStartTime())
@@ -1950,7 +1892,7 @@ bool WaveTrack::Split( double t0, double t1 )
 
 bool WaveTrack::SplitAt(double t)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* c = it->GetData();
       if (t > c->GetStartTime() && t < c->GetEndTime())
@@ -2024,7 +1966,7 @@ void WaveTrack::UpdateLocationsCache()
       WaveClip* clip = clips.Item(i);
 
       WaveClipList* cutlines = clip->GetCutLines();
-      for (WaveClipList::Node* it = cutlines->GetFirst(); it;
+      for (WaveClipList::compatibility_iterator it = cutlines->GetFirst(); it;
            it = it->GetNext())
       {
          // Add cut line expander point
@@ -2062,14 +2004,14 @@ bool WaveTrack::ExpandCutLine(double cutLinePosition, double* cutlineStart,
    gPrefs->Read(wxT("/GUI/EditClipCanMove"), &editClipCanMove);
 
    // Find clip which contains this cut line   
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
    {
       WaveClip* clip = it->GetData();
       double start = 0, end = 0;
 
       if (clip->FindCutLine(cutLinePosition, &start, &end))
       {
-         WaveClipList::Node* it2;
+         WaveClipList::compatibility_iterator it2;
          
          if (!editClipCanMove)
          {
@@ -2120,7 +2062,7 @@ bool WaveTrack::ExpandCutLine(double cutLinePosition, double* cutlineStart,
 
 bool WaveTrack::RemoveCutLine(double cutLinePosition)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       if (it->GetData()->RemoveCutLine(cutLinePosition))
          return true;
 
@@ -2148,7 +2090,7 @@ bool WaveTrack::MergeClips(int clipidx1, int clipidx2)
 
 bool WaveTrack::Resample(int rate, ProgressDialog *progress)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       if (!it->GetData()->Resample(rate, progress))
       {
          // FIXME: The track is now in an inconsistent state since some
@@ -2173,7 +2115,7 @@ void WaveTrack::FillSortedClipArray(WaveClipArray& clips)
 {
    clips.Empty();
    
-   for (WaveClipList::Node *it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       clips.Add(it->GetData());
    
    clips.Sort(SortClipArrayCmpFunc);
@@ -2182,14 +2124,14 @@ void WaveTrack::FillSortedClipArray(WaveClipArray& clips)
 ///Deletes all clips' wavecaches.  Careful, This may not be threadsafe.
 void WaveTrack::DeleteWaveCaches()
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->DeleteWaveCache();
 }
 
 ///Adds an invalid region to the wavecache so it redraws that portion only.
 void WaveTrack::AddInvalidRegion(sampleCount startSample, sampleCount endSample)
 {
-   for (WaveClipList::Node* it=GetClipIterator(); it; it=it->GetNext())
+   for (WaveClipList::compatibility_iterator it=GetClipIterator(); it; it=it->GetNext())
       it->GetData()->AddInvalidRegion(startSample,endSample);
 }
 
diff --git a/src/WaveTrack.h b/src/WaveTrack.h
index 7d52239..791a7b2 100644
--- a/src/WaveTrack.h
+++ b/src/WaveTrack.h
@@ -126,7 +126,13 @@ class AUDACITY_DLL_API WaveTrack: public Track {
    virtual bool Cut  (double t0, double t1, Track **dest);
    virtual bool Copy (double t0, double t1, Track **dest);
    virtual bool Clear(double t0, double t1);
-   virtual bool Paste(double t, Track *src);
+   virtual bool Paste(double t0, Track *src);
+   virtual bool ClearAndPaste(double t0, double t1,
+                              Track *src,
+                              bool preserve = true,
+                              bool merge = true,
+                              TrackList* tracks = NULL,
+                              bool relativeLabels = false);
 
    virtual bool Silence(double t0, double t1);
    virtual bool InsertSilence(double t, double len);
@@ -146,11 +152,12 @@ class AUDACITY_DLL_API WaveTrack: public Track {
 
    virtual bool Trim (double t0, double t1);
 
-   bool HandleGroupClear(double t0, double t1, bool addCutLines, bool split);
-   bool HandleClear(double t0, double t1,
-                    bool addCutLines, bool split);
-                    
-   bool HandleGroupPaste(double t0, Track *src);
+   bool Clear(double t0, double t1, TrackList* tracks);
+   bool HandleGroupClear(double t0, double t1, bool addCutLines, bool split, TrackList* tracks = NULL);
+   bool HandleClear(double t0, double t1, bool addCutLines, bool split);
+
+   bool Paste(double t0, Track *src, TrackList* tracks, bool relativeLabels = false);
+   bool HandleGroupPaste(double t0, Track *src, TrackList* tracks, bool relativeLabels);
    bool HandlePaste(double t0, Track *src);
 
    // Returns true if there are no WaveClips in that region
@@ -236,13 +243,13 @@ class AUDACITY_DLL_API WaveTrack: public Track {
    // Utility functions to convert between times in seconds
    // and sample positions
 
-   sampleCount TimeToLongSamples(double t0);
+   sampleCount TimeToLongSamples(double t0) const;
    double LongSamplesToTime(sampleCount pos);
 
    // Get access to the clips in the tracks. This is used by
    // track artists and also by TrackPanel when sliding...it would
    // be cleaner if this could be removed, though...
-   WaveClipList::Node* GetClipIterator() { return mClips.GetFirst(); }
+   WaveClipList::compatibility_iterator GetClipIterator() { return mClips.GetFirst(); }
 
    // Create new clip and add it to this track. Returns a pointer
    // to the newly created clip.
@@ -289,11 +296,6 @@ class AUDACITY_DLL_API WaveTrack: public Track {
    // clipidx1 and clipidx2 are indices into the clip list.
    bool MergeClips(int clipidx1, int clipidx2);
 
-   // Set/get rectangle that this WaveClip fills on screen. This is
-   // called by TrackArtist while actually drawing the tracks and clips.
-   void SetDisplayRect(const wxRect& r) { mDisplayRect = r; }
-   void GetDisplayRect(wxRect* r) { *r = mDisplayRect; }
-
    // Cache special locations (e.g. cut lines) for later speedy access
    void UpdateLocationsCache();
 
@@ -314,9 +316,6 @@ class AUDACITY_DLL_API WaveTrack: public Track {
    // Resample track (i.e. all clips in the track)
    bool Resample(int rate, ProgressDialog *progress = NULL);
 
-   void SetStickyTrack(LabelTrack *lt) { mStickyLabelTrack = lt; }
-   LabelTrack* GetStickyTrack() { return mStickyLabelTrack; }
-
    //
    // The following code will eventually become part of a GUIWaveTrack
    // and will be taken out of the WaveTrack class:
@@ -344,7 +343,6 @@ class AUDACITY_DLL_API WaveTrack: public Track {
 
    WaveClipList mClips;
 
-   wxRect        mDisplayRect;
    sampleFormat  mFormat;
    int           mRate;
    float         mGain;
@@ -375,7 +373,6 @@ class AUDACITY_DLL_API WaveTrack: public Track {
    wxCriticalSection mFlushCriticalSection;
    wxCriticalSection mAppendCriticalSection;
    double mLegacyProjectFileOffset;
-   LabelTrack *mStickyLabelTrack;
 
 };
 
diff --git a/src/audacity.desktop b/src/audacity.desktop
index 0274a3d..8c295cd 100644
--- a/src/audacity.desktop
+++ b/src/audacity.desktop
@@ -1,8 +1,6 @@
 [Desktop Entry]
-Encoding=UTF-8
-
-Name=Audacity Sound Editor
-Name[de]=Audacity Audio-Editor
+Name=Audacity
+Name[de]=Audacity
 Name[ru]=Audacity
 GenericName=Sound Editor
 GenericName[de]=Audio-Editor
@@ -11,10 +9,10 @@ Comment=Record and edit audio files
 Comment[de]=Audio-Dateien aufnehmen und bearbeiten
 Comment[ru]=Запись и редактирование звуковых файлов
 
-Icon=/usr/share/audacity/audacity.xpm
+Icon=audacity
 
 Type=Application
-Categories=Application;AudioVideo;Audio;AudioVideoEditing;
+Categories=AudioVideo;Audio;AudioVideoEditing;
 
 Exec=audacity
 StartupNotify=false
diff --git a/src/blockfile/LegacyBlockFile.cpp b/src/blockfile/LegacyBlockFile.cpp
index 3bdd509..1d1a9ef 100644
--- a/src/blockfile/LegacyBlockFile.cpp
+++ b/src/blockfile/LegacyBlockFile.cpp
@@ -22,6 +22,7 @@
 #include <math.h>
 
 #include <wx/filefn.h>
+#include <wx/file.h>
 #include <wx/ffile.h>
 #include <wx/utils.h>
 #include <wx/log.h>
@@ -205,7 +206,15 @@ int LegacyBlockFile::ReadData(samplePtr data, sampleFormat format,
    info.frames = mLen + (mSummaryInfo.totalSummaryBytes /
                          SAMPLE_SIZE(mFormat));
    
-   SNDFILE *sf=sf_open(OSFILENAME(mFileName.GetFullPath()), SFM_READ, &info);
+   wxFile f;   // will be closed when it goes out of scope
+   SNDFILE *sf = NULL;
+
+   if (f.Open(mFileName.GetFullPath())) {
+      // Even though there is an sf_open() that takes a filename, use the one that
+      // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+      // libsndfile can't (under Windows).
+      sf = sf_open_fd(f.fd(), SFM_READ, &info, FALSE);
+   }
 
    wxLogNull *silence=0;
    if(mSilentLog)silence= new wxLogNull();
diff --git a/src/blockfile/ODPCMAliasBlockFile.cpp b/src/blockfile/ODPCMAliasBlockFile.cpp
index d6c6835..0bafa2c 100644
--- a/src/blockfile/ODPCMAliasBlockFile.cpp
+++ b/src/blockfile/ODPCMAliasBlockFile.cpp
@@ -21,6 +21,7 @@ The summary is eventually computed and written to a file in a background thread.
 #endif
 #include "ODPCMAliasBlockFile.h"
 
+#include <wx/file.h>
 #include <wx/utils.h>
 #include <wx/wxchar.h>
 #include <wx/log.h>
@@ -384,7 +385,6 @@ bool ODPCMAliasBlockFile::IsSummaryAvailable()
 ///Calls write summary, and makes sure it is only done once in a thread-safe fasion.
 void ODPCMAliasBlockFile::DoWriteSummary()
 {
-   bool beenDone = false;
    mWriteSummaryMutex.Lock();
    if(!IsSummaryAvailable())
       WriteSummary();
@@ -631,10 +631,18 @@ int ODPCMAliasBlockFile::ReadData(samplePtr data, sampleFormat format,
    //there are thread-unsafe crashes here - not sure why.  sf_open may be called on the same file
    //from different threads, but this seems okay, unless it is implemented strangely..  
    static ODLock sfMutex;
-   ODManager::LockLibSndFileMutex();
-   SNDFILE *sf=sf_open(OSFILENAME(aliasPath),
-                        SFM_READ, &info);
-   ODManager::UnlockLibSndFileMutex();
+
+   wxFile f;   // will be closed when it goes out of scope
+   SNDFILE *sf = NULL;
+
+   if (f.Open(aliasPath)) {
+      // Even though there is an sf_open() that takes a filename, use the one that
+      // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+      // libsndfile can't (under Windows).
+      ODManager::LockLibSndFileMutex();
+      sf = sf_open_fd(f.fd(), SFM_READ, &info, FALSE);
+      ODManager::UnlockLibSndFileMutex();
+   }
    
    if (!sf){
       
diff --git a/src/blockfile/PCMAliasBlockFile.cpp b/src/blockfile/PCMAliasBlockFile.cpp
index 9fc0b59..bc6eca8 100644
--- a/src/blockfile/PCMAliasBlockFile.cpp
+++ b/src/blockfile/PCMAliasBlockFile.cpp
@@ -12,6 +12,7 @@
    #include <windows.h>
 #endif
 
+#include <wx/file.h>
 #include <wx/utils.h>
 #include <wx/wxchar.h>
 #include <wx/log.h>
@@ -76,11 +77,18 @@ int PCMAliasBlockFile::ReadData(samplePtr data, sampleFormat format,
 
    memset(&info, 0, sizeof(info));
 
-   ODManager::LockLibSndFileMutex();
-   SNDFILE *sf=sf_open(OSFILENAME(mAliasedFileName.GetFullPath()),
-                        SFM_READ, &info);
-   ODManager::UnlockLibSndFileMutex();
-   
+   wxFile f;   // will be closed when it goes out of scope
+   SNDFILE *sf = NULL;
+
+   if (f.Open(mAliasedFileName.GetFullPath())) {
+      // Even though there is an sf_open() that takes a filename, use the one that
+      // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+      // libsndfile can't (under Windows).
+      ODManager::LockLibSndFileMutex();
+      sf = sf_open_fd(f.fd(), SFM_READ, &info, FALSE);
+      ODManager::UnlockLibSndFileMutex();
+   }
+
    if (!sf){
       
       memset(data,0,SAMPLE_SIZE(format)*len);
diff --git a/src/blockfile/SimpleBlockFile.cpp b/src/blockfile/SimpleBlockFile.cpp
index 48a3761..68c998c 100644
--- a/src/blockfile/SimpleBlockFile.cpp
+++ b/src/blockfile/SimpleBlockFile.cpp
@@ -390,8 +390,17 @@ int SimpleBlockFile::ReadData(samplePtr data, sampleFormat format,
    
       memset(&info, 0, sizeof(info));
 
-      SNDFILE *sf=sf_open(OSFILENAME(mFileName.GetFullPath()), SFM_READ, &info);
-      if (!sf){
+      wxFile f;   // will be closed when it goes out of scope
+      SNDFILE *sf = NULL;
+
+      if (f.Open(mFileName.GetFullPath())) {
+         // Even though there is an sf_open() that takes a filename, use the one that
+         // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+         // libsndfile can't (under Windows).
+         sf = sf_open_fd(f.fd(), SFM_READ, &info, FALSE);
+      }
+
+      if (!sf) {
       
          memset(data,0,SAMPLE_SIZE(format)*len);
 
@@ -582,7 +591,14 @@ bool SimpleBlockFile::GetCache()
 {  
    bool cacheBlockFiles = false;
    gPrefs->Read(wxT("/Directories/CacheBlockFiles"), &cacheBlockFiles);
-   return cacheBlockFiles;
+
+   int lowMem = gPrefs->Read(wxT("/Directories/CacheLowMem"), 16l);
+   if (lowMem < 16) {
+      lowMem = 16;
+   }
+   lowMem <<= 20;
+    
+   return cacheBlockFiles && (wxGetFreeMemory() > lowMem);
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/commands/CommandManager.cpp b/src/commands/CommandManager.cpp
index ce44ca6..68bd00c 100644
--- a/src/commands/CommandManager.cpp
+++ b/src/commands/CommandManager.cpp
@@ -105,6 +105,7 @@ CommandManager.  It holds the callback for one command.
 #define MAX_SUBMENU_LEN 1000
 #endif
 
+#define COMMAND _("Command")
 ///
 ///  Standard Constructor
 ///
@@ -112,6 +113,7 @@ CommandManager::CommandManager():
    mCurrentID(0),
    mHiddenID(0),
    mCurrentMenu(NULL),
+   mCurrentMenuName(COMMAND),
    mOpenMenu(NULL),
    mDefaultFlags(0),
    mDefaultMask(0)
@@ -161,6 +163,7 @@ void CommandManager::PurgeData()
    mCommandIDHash.clear();
 
    mCurrentMenu = NULL;
+   mCurrentMenuName = COMMAND;
    mCurrentID = 0;
 }
 
@@ -234,6 +237,7 @@ void CommandManager::BeginMenu(wxString tNameIn)
    wxMenu *tmpMenu = new wxMenu();
 
    mCurrentMenu = tmpMenu;
+   mCurrentMenuName = tName;
 
    CurrentMenuBar()->Append(mCurrentMenu, tName);
 }
@@ -248,10 +252,10 @@ void CommandManager::EndMenu()
       mHidingLevel--;
 
    mCurrentMenu = NULL;
+   mCurrentMenuName = COMMAND;
 }
 
 
-
 ///
 /// This starts a new submenu, and names it according to
 /// the function's argument.
@@ -359,8 +363,10 @@ void CommandManager::InsertItem(wxString name, wxString label_in,
 {
    wxString label = label_in;
 
-   if (ItemShouldBeHidden(label))
+   if (ItemShouldBeHidden(label)) {
+      delete callback;
       return;
+   }
 
    wxMenuBar *bar = GetActiveProject()->GetMenuBar();
    wxArrayString names = ::wxStringTokenize(after, wxT(":"));
@@ -437,19 +443,46 @@ void CommandManager::InsertItem(wxString name, wxString label_in,
    mbSeparatorAllowed = true;
 }
 
-///
-/// Add a menu item to the current menu.  When the user selects it, the
-/// given functor will be called
-void CommandManager::AddItem(wxString name, wxString label_in,
-                             CommandFunctor *callback, int checkmark)
+void CommandManager::AddCheck(const wxChar *name,
+                              const wxChar *label,
+                              CommandFunctor *callback,
+                              int checkmark)
 {
-   wxString label = label_in;
+   AddItem(name, label, callback, wxT(""), NoFlagsSpecifed, NoFlagsSpecifed, checkmark);
+}
 
-   if( ItemShouldBeHidden( label ) )
+void CommandManager::AddItem(const wxChar *name,
+                             const wxChar *label,
+                             CommandFunctor *callback,
+                             int flags,
+                             int mask)
+{
+   AddItem(name, label, callback, wxT(""), flags, mask);
+}                  
+
+void CommandManager::AddItem(const wxChar *name,
+                             const wxChar *label_in,
+                             CommandFunctor *callback,
+                             const wxChar *accel,
+                             int flags,
+                             int mask,
+                             int checkmark)
+{
+   wxString label(label_in);
+   label += wxT("\t");
+   label += accel;
+
+   if (ItemShouldBeHidden(label)) {
+      delete callback;
       return;
+   }
 
    int ID = NewIdentifier(name, label, CurrentMenu(), callback, false, 0, 0);
 
+   if (flags != NoFlagsSpecifed || mask != NoFlagsSpecifed) {
+      SetCommandFlags(name, flags, mask);
+   }
+
    // Replace the accel key with the one from the preferences
    label = label.BeforeFirst(wxT('\t'));
 
@@ -460,20 +493,18 @@ void CommandManager::AddItem(wxString name, wxString label_in,
    // made-up name (just an ID number string) but with the accelerator
    // we want, then immediately change the label to the correct string.
    // -DMM
-   mHiddenID++;
-   wxString dummy, newLabel;
-   dummy.Printf(wxT("%s%08d"), label.c_str(), mHiddenID);
-   newLabel = label;
+   wxString newLabel;
+   newLabel.Printf(wxT("%s%08d"), label.c_str(), ++mHiddenID);
 
    if (checkmark >= 0) {
-      CurrentMenu()->AppendCheckItem(ID, dummy);
-      CurrentMenu()->Check(ID, checkmark !=0);
+      CurrentMenu()->AppendCheckItem(ID, newLabel);
+      CurrentMenu()->Check(ID, checkmark != 0);
    }
    else {
-      CurrentMenu()->Append(ID, dummy);
+      CurrentMenu()->Append(ID, newLabel);
    }
 
-   CurrentMenu()->SetLabel(ID, newLabel);
+   CurrentMenu()->SetLabel(ID, label);
    mbSeparatorAllowed = true;
 }
 
@@ -538,10 +569,31 @@ void CommandManager::AddItemList(wxString name, wxArrayString labels,
 ///
 /// Add a command that doesn't appear in a menu.  When the key is pressed, the
 /// given function pointer will be called (via the CommandManagerListener)
-void CommandManager::AddCommand(wxString name, wxString label,
-                                CommandFunctor *callback)
+void CommandManager::AddCommand(const wxChar *name,
+                                const wxChar *label,
+                                CommandFunctor *callback,
+                                int flags,
+                                int mask)
 {
+   AddCommand(name, label, callback, wxT(""), flags, mask);
+}                  
+
+void CommandManager::AddCommand(const wxChar *name,
+                                const wxChar *label_in,
+                                CommandFunctor *callback,
+                                const wxChar *accel,
+                                int flags,
+                                int mask)
+{
+   wxString label(label_in);
+   label += wxT("\t");
+   label += accel;
+
    NewIdentifier(name, label, NULL, callback, false, 0, 0);
+
+   if (flags != NoFlagsSpecifed || mask != NoFlagsSpecifed) {
+      SetCommandFlags(name, flags, mask);
+   }
 }
 
 void CommandManager::AddSeparator()
@@ -576,9 +628,10 @@ int CommandManager::NewIdentifier(wxString name, wxString label, wxMenu *menu,
    CommandListEntry *tmpEntry = new CommandListEntry;
    
    wxString labelPrefix;
-   if( !mSubMenuList.IsEmpty() )
-      labelPrefix = mSubMenuList[ mSubMenuList.GetCount() - 1 ]->name;
-   
+   if (!mSubMenuList.IsEmpty()) {
+      labelPrefix = mSubMenuList[mSubMenuList.GetCount() - 1]->name;
+   }
+
    // wxMac 2.5 and higher will do special things with the
    // Preferences, Exit (Quit), and About menu items,
    // if we give them the right IDs.
@@ -590,7 +643,7 @@ int CommandManager::NewIdentifier(wxString name, wxString label, wxMenu *menu,
 
    mCurrentID = NextIdentifier(mCurrentID);
    tmpEntry->id = mCurrentID;
-   tmpEntry->key = KeyStringNormalize(GetKey(label));
+   tmpEntry->key = GetKey(label);
 
 #if defined(__WXMAC__)
    if (name == wxT("Preferences"))
@@ -605,6 +658,7 @@ int CommandManager::NewIdentifier(wxString name, wxString label, wxMenu *menu,
    tmpEntry->name = name;
    tmpEntry->label = label;
    tmpEntry->labelPrefix = labelPrefix;
+   tmpEntry->labelTop = wxMenuItem::GetLabelFromText(mCurrentMenuName);
    tmpEntry->menu = menu;
    tmpEntry->callback = callback;
    tmpEntry->multi = multi;
@@ -624,27 +678,35 @@ int CommandManager::NewIdentifier(wxString name, wxString label, wxMenu *menu,
    mCommandList.Add(tmpEntry);
    mCommandIDHash[tmpEntry->id] = tmpEntry;   
 
-   if (index==0 || !multi)
+   if (index == 0 || !multi) {
+#if defined(__WXDEBUG__)
+      CommandListEntry *prev = mCommandNameHash[name];
+      if (prev) {
+         wxLogDebug(wxT("Command '%s' defined by '%s' and '%s'"),
+                   name.c_str(),
+                   prev->label.BeforeFirst(wxT('\t')).c_str(),
+                   tmpEntry->label.BeforeFirst(wxT('\t')).c_str());
+         wxASSERT(!prev);
+      }
+#endif
       mCommandNameHash[name] = tmpEntry;
+   }
 
-   if (tmpEntry->key != wxT(""))
+   if (tmpEntry->key != wxT("")) {
       mCommandKeyHash[tmpEntry->key] = tmpEntry;
+   }
 
    return tmpEntry->id;
 }
 
 wxString CommandManager::GetKey(wxString label)
 {
-   int loc = -1;
-
-   loc = label.Find(wxT('\t'));
-   if (loc == -1)
-      loc = label.Find(wxT("\\t"));
-
-   if (loc == -1)
-      return wxT("");
+   wxString key = label.AfterFirst(wxT('\t')).BeforeFirst(wxT('\t'));
+   if (key.IsEmpty()) {
+      return key;
+   }
 
-   return label.Right(label.Length() - (loc+1));
+   return KeyStringNormalize(key);
 }
 
 ///Enables or disables a menu item based on its name (not the
@@ -667,6 +729,7 @@ void CommandManager::Enable(CommandListEntry *entry, bool enabled)
    // Only enabled if needed
    if (entry->enabled != enabled) {
       entry->menu->Enable(entry->id, enabled);
+      entry->enabled = entry->menu->IsEnabled(entry->id);
    }
 
    if (entry->multi) {
@@ -748,6 +811,14 @@ void CommandManager::Modify(wxString name, wxString newLabel)
    }
 }
 
+void CommandManager::SetKeyFromName(wxString name, wxString key)
+{
+   CommandListEntry *entry = mCommandNameHash[name];
+   if (entry) {
+      entry->key = KeyStringNormalize(key);
+   }
+}
+
 void CommandManager::HandleMenuOpen(wxMenuEvent &evt)
 {
    // Ensure we have a menu and that it's a top-level menu.
@@ -854,7 +925,7 @@ void CommandManager::TellUserWhyDisallowed( wxUint32 flagsGot, wxUint32 flagsReq
 {
    // The default string for 'reason' is a catch all.  I hope it won't ever be seen
    // and that we will get something more specific.
-   wxString reason = _("Disallowed for some reason.  Try selecting some audio first?");
+   wxString reason = _("There was a problem with your last action. If you think\nthis is a bug, please tell us exactly where it occurred.");
 
    wxUint32 missingFlags = flagsRequired & (~flagsGot );
    if( missingFlags & AudioIONotBusyFlag )
@@ -878,7 +949,7 @@ void CommandManager::TellUserWhyDisallowed( wxUint32 flagsGot, wxUint32 flagsReq
 ///with the command's flags.
 bool CommandManager::HandleCommandEntry(CommandListEntry * entry, wxUint32 flags, wxUint32 mask)
 {
-   if (!entry)
+   if (!entry || !entry->enabled)
       return false;
 
    wxUint32 combinedMask = (mask & entry->mask);
@@ -967,6 +1038,39 @@ bool CommandManager::HandleTextualCommand(wxString & Str, wxUint32 flags, wxUint
    return false;
 }
 
+void CommandManager::GetCategories(wxArrayString &cats)
+{
+   cats.Clear();
+
+   size_t cnt = mCommandList.GetCount();
+
+   for (size_t i = 0; i < cnt; i++) {
+      wxString cat = mCommandList[i]->labelTop;
+      if (cats.Index(cat) == wxNOT_FOUND) {
+         cats.Add(cat);
+      }
+   }
+#if 0
+   mCommandList.GetCount(); i++) {
+      if (includeMultis || !mCommandList[i]->multi)
+         names.Add(mCommandList[i]->name);
+   }
+
+   AudacityProject *p = GetActiveProject();
+   if (p == NULL) {
+      return;
+   }
+
+   wxMenuBar *bar = p->GetMenuBar();
+   size_t cnt = bar->GetMenuCount();
+   for (size_t i = 0; i < cnt; i++) {
+      cats.Add(bar->GetMenuLabelText(i));
+   }
+
+   cats.Add(COMMAND);
+#endif
+}
+
 void CommandManager::GetAllCommandNames(wxArrayString &names,
                                         bool includeMultis)
 {
@@ -993,7 +1097,16 @@ wxString CommandManager::GetPrefixedLabelFromName(wxString name)
    if (!entry)
       return wxT("");
 
-   return entry->labelPrefix + wxT(" ") + entry->label;
+   return wxString(entry->labelPrefix + wxT(" ") + entry->label).Trim(false).Trim(true);
+}
+
+wxString CommandManager::GetCategoryFromName(wxString name)
+{
+   CommandListEntry *entry = mCommandNameHash[name];
+   if (!entry)
+      return wxT("");
+
+   return entry->labelTop;
 }
 
 wxString CommandManager::GetKeyFromName(wxString name)
@@ -1001,7 +1114,7 @@ wxString CommandManager::GetKeyFromName(wxString name)
    CommandListEntry *entry = mCommandNameHash[name];
    if (!entry)
       return wxT("");
- 
+
    return entry->key;
 }
 
@@ -1010,7 +1123,7 @@ wxString CommandManager::GetDefaultKeyFromName(wxString name)
    CommandListEntry *entry = mCommandNameHash[name];
    if (!entry)
       return wxT("");
- 
+
    return entry->defaultKey;
 }
 
@@ -1030,11 +1143,11 @@ bool CommandManager::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
          
          if (!value)
             break;
-         
+
          if (!wxStrcmp(attr, wxT("name")) && XMLValueChecker::IsGoodString(value))
             name = value;
          if (!wxStrcmp(attr, wxT("key")) && XMLValueChecker::IsGoodString(value))
-            key = value;
+            key = KeyStringNormalize(value);
       }
 
       if (mCommandNameHash[name]) {
@@ -1126,6 +1239,37 @@ void CommandManager::SetCommandFlags(wxUint32 flags, wxUint32 mask, ...)
    va_end(list);
 }
 
+#if defined(__WXDEBUG__)
+void CommandManager::CheckDups()
+{
+   int cnt = mCommandList.GetCount();
+   for (size_t j = 0;  (int)j < cnt; j++) {
+      if (mCommandList[j]->key.IsEmpty()) {
+         continue;
+      }
+
+      if (mCommandList[j]->label.AfterLast(wxT('\t')) == wxT("allowdup")) {
+         continue;
+      }
+
+      for (size_t i = 0; (int)i < cnt; i++) {
+         if (i == j) {
+            continue;
+         }
+
+         if (mCommandList[i]->key == mCommandList[j]->key) {
+            wxString msg;
+            msg.Printf(wxT("key combo '%s' assigned to '%s' and '%s'"),
+                       mCommandList[i]->key.c_str(),
+                       mCommandList[i]->label.BeforeFirst(wxT('\t')).c_str(),
+                       mCommandList[j]->label.BeforeFirst(wxT('\t')).c_str());
+            wxASSERT_MSG(mCommandList[i]->key != mCommandList[j]->key, msg);
+         }
+      }
+   }
+}
+#endif
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/commands/CommandManager.h b/src/commands/CommandManager.h
index 7d02d0d..a903683 100644
--- a/src/commands/CommandManager.h
+++ b/src/commands/CommandManager.h
@@ -17,6 +17,7 @@
 #include <wx/menu.h>
 #include <wx/hashmap.h>
 
+#include "../AudacityApp.h"
 #include "../xml/XMLTagHandler.h"
 
 class CommandFunctor
@@ -47,6 +48,7 @@ struct CommandListEntry
    wxString defaultKey;
    wxString label;
    wxString labelPrefix;
+   wxString labelTop;
    wxMenu *menu;
    CommandFunctor *callback;
    bool multi;
@@ -92,17 +94,44 @@ class AUDACITY_DLL_API CommandManager: public XMLTagHandler
    void InsertItem(wxString name, wxString label, CommandFunctor *callback,
                    wxString after, int checkmark = -1);
 
-   void AddItem(wxString name, wxString label, CommandFunctor *callback,
-                int checkmark = -1);
    void AddItemList(wxString name, wxArrayString labels,
                     CommandFunctor *callback, bool plugins = false);
 
+   void AddCheck(const wxChar *name,
+                 const wxChar *label,
+                 CommandFunctor *callback,
+                 int checkmark = 0);
+
+   void AddItem(const wxChar *name,
+                const wxChar *label,
+                CommandFunctor *callback,
+                int flags = NoFlagsSpecifed,
+                int mask = NoFlagsSpecifed);
+
+   void AddItem(const wxChar *name,
+                const wxChar *label_in,
+                CommandFunctor *callback,
+                const wxChar *accel,
+                int flags = NoFlagsSpecifed,
+                int mask = NoFlagsSpecifed,
+                int checkmark = -1);
 
    void AddSeparator();
 
    // A command doesn't actually appear in a menu but might have a
    // keyboard shortcut.
-   void AddCommand(wxString name, wxString label, CommandFunctor *callback);
+   void AddCommand(const wxChar *name,
+                   const wxChar *label,
+                   CommandFunctor *callback,
+                   int flags = NoFlagsSpecifed,
+                   int mask = NoFlagsSpecifed);
+
+   void AddCommand(const wxChar *name,
+                   const wxChar *label,
+                   CommandFunctor *callback,
+                   const wxChar *accel,
+                   int flags = NoFlagsSpecifed,
+                   int mask = NoFlagsSpecifed);
 
    //
    // Command masks
@@ -127,6 +156,11 @@ class AUDACITY_DLL_API CommandManager: public XMLTagHandler
    void Modify(wxString name, wxString newLabel);
 
    //
+   // Modifying accelerators
+   //
+   void SetKeyFromName(wxString name, wxString key);
+
+   //
    // Displaying menus
    //
    void HandleMenuOpen(wxMenuEvent &evt);
@@ -139,18 +173,25 @@ class AUDACITY_DLL_API CommandManager: public XMLTagHandler
    bool HandleMenuID(int id, wxUint32 flags, wxUint32 mask);
    bool HandleKey(wxKeyEvent &evt, wxUint32 flags, wxUint32 mask);
    bool HandleTextualCommand(wxString & Str, wxUint32 flags, wxUint32 mask);
-   void TellUserWhyDisallowed( wxUint32 flagsGot, wxUint32 flagsRequired );
+   void TellUserWhyDisallowed(wxUint32 flagsGot, wxUint32 flagsRequired);
+
    //
    // Accessing
    //
 
+   void GetCategories(wxArrayString &cats);
    void GetAllCommandNames(wxArrayString &names, bool includeMultis);
 
    wxString GetLabelFromName(wxString name);
-   wxString GetPrefixedLabelFromName( wxString name );
+   wxString GetPrefixedLabelFromName(wxString name);
+   wxString GetCategoryFromName(wxString name);
    wxString GetKeyFromName(wxString name);
    wxString GetDefaultKeyFromName(wxString name);
 
+#if defined(__WXDEBUG__)
+   void CheckDups();
+#endif
+
    //
    // Loading/Saving
    //
@@ -194,6 +235,7 @@ private:
    bool mbSeparatorAllowed; // false at the start of a menu and immediately after a separator.
    int mHidingLevel;
 
+   wxString mCurrentMenuName;
    wxMenu * mCurrentMenu;
    wxMenu * mOpenMenu;
 
diff --git a/src/configtemplate.h b/src/configtemplate.h
index 1c439f2..10ba839 100644
--- a/src/configtemplate.h
+++ b/src/configtemplate.h
@@ -13,6 +13,9 @@
 /* Define to 1 if you have the `clock_gettime' function. */
 #undef HAVE_CLOCK_GETTIME
 
+/* Define if GTK is available */
+#undef HAVE_GTK
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
@@ -90,10 +93,6 @@
 /* Define if libid3tag is present */
 #undef USE_LIBID3TAG
 
-/* Define if liblrdf (metadata for LADSPA plugins) support should be enabled
-   */
-#undef USE_LIBLRDF
-
 /* Define if mp3 support is implemented with the libmad library */
 #undef USE_LIBMAD
 
@@ -115,18 +114,12 @@
 /* Define if Nyquist support should be enabled */
 #undef USE_NYQUIST
 
-/* Define if PortAudio v19 is being used (instead of v18) */
-#undef USE_PORTAUDIO_V19
-
 /* Define if PortMixer support should be enabled */
 #undef USE_PORTMIXER
 
 /* Define if QuickTime importing is enabled (Mac OS X only) */
 #undef USE_QUICKTIME
 
-/* Define if SLV2 (library for loading LV2 plugins) should be enabled */
-#undef USE_SLV2
-
 /* Define if SBSMS support should be enabled */
 #undef USE_SBSMS
 
@@ -136,6 +129,9 @@
 /* Use system Expat library */
 #undef USE_SYSTEM_EXPAT
 
+/* Define if TagLib (metadata export) support should be enabled */
+#undef USE_TAGLIB
+
 /* Define if Vamp analysis plugin support should be enabled */
 #undef USE_VAMP
 
diff --git a/src/effects/Amplify.cpp b/src/effects/Amplify.cpp
index 0fbb12f..d8dced5 100644
--- a/src/effects/Amplify.cpp
+++ b/src/effects/Amplify.cpp
@@ -45,6 +45,7 @@
 EffectAmplify::EffectAmplify()
 {
    ratio = float(1.0);
+   peak = float(0.0);
 }
 
 wxString EffectAmplify::GetEffectDescription() { 
@@ -57,23 +58,19 @@ bool EffectAmplify::Init()
 {
    peak = float(0.0);
 
-   TrackListIterator iter(mWaveTracks);
-   Track *t = iter.First();
-   int count = 0;
-   while(t) {
+   SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
+
+   for (Track *t = iter.First(); t; t = iter.Next()) {
       float min, max;
       ((WaveTrack *)t)->GetMinMax(&min, &max, mT0, mT1);
       float newpeak = (fabs(min) > fabs(max) ? fabs(min) : fabs(max));
       
-      if (newpeak > peak)
+      if (newpeak > peak) {
          peak = newpeak;
-   
-      t = iter.Next();
-      count++;
+      }
    }
-   
-   return true;
 
+   return true;
 }
 
 bool EffectAmplify::TransferParameters( Shuttle & shuttle )
diff --git a/src/effects/AutoDuck.cpp b/src/effects/AutoDuck.cpp
index 1f0d163..22272f7 100644
--- a/src/effects/AutoDuck.cpp
+++ b/src/effects/AutoDuck.cpp
@@ -75,6 +75,21 @@ EffectAutoDuck::EffectAutoDuck()
 {
    SetEffectFlags(BUILTIN_EFFECT | PROCESS_EFFECT | ADVANCED_EFFECT);
    
+   gPrefs->Read(wxT("/Effects/AutoDuck/DuckAmountDb"),
+      &mDuckAmountDb, PARAM_DEFAULT_DUCK_AMOUNT_DB);
+   gPrefs->Read(wxT("/Effects/AutoDuck/InnerFadeDownLen"),
+      &mInnerFadeDownLen, PARAM_DEFAULT_INNER_FADE_DOWN_LEN);
+   gPrefs->Read(wxT("/Effects/AutoDuck/InnerFadeUpLen"),
+      &mInnerFadeUpLen, PARAM_DEFAULT_INNER_FADE_UP_LEN);
+   gPrefs->Read(wxT("/Effects/AutoDuck/OuterFadeDownLen"),
+      &mOuterFadeDownLen, PARAM_DEFAULT_OUTER_FADE_DOWN_LEN);
+   gPrefs->Read(wxT("/Effects/AutoDuck/OuterFadeUpLen"),
+      &mOuterFadeUpLen, PARAM_DEFAULT_OUTER_FADE_UP_LEN);
+   gPrefs->Read(wxT("/Effects/AutoDuck/ThresholdDb"),
+      &mThresholdDb, PARAM_DEFAULT_THRESHOLD_DB);
+   gPrefs->Read(wxT("/Effects/AutoDuck/MaximumPause"),
+      &mMaximumPause, PARAM_DEFAULT_MAXIMUM_PAUSE);
+
    mControlTrack = NULL;
 }
 
@@ -140,7 +155,6 @@ bool EffectAutoDuck::Init()
    }
    
    mControlTrack = controlTrackCandidate;
-   wxASSERT(mWaveTracks);
 
    return true;
 }
@@ -197,7 +211,7 @@ bool EffectAutoDuck::Process()
 {
    int i;
    
-   if (!mWaveTracks || !mControlTrack)
+   if (GetNumWaveTracks() == 0 || !mControlTrack)
       return false;
 
    bool cancel = false;
@@ -324,8 +338,8 @@ bool EffectAutoDuck::Process()
 
    if (!cancel)
    {
-      this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-      TrackListIterator iter(mOutputWaveTracks);
+      this->CopyInputTracks(); // Set up mOutputTracks.
+      SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
       Track *iterTrack = iter.First();
       
       int trackNumber = 0;
@@ -354,7 +368,7 @@ bool EffectAutoDuck::Process()
       }
    }
    
-   this->ReplaceProcessedWaveTracks(!cancel); 
+   this->ReplaceProcessedTracks(!cancel); 
    return !cancel;
 }
 
@@ -741,8 +755,8 @@ void EffectAutoDuckPanel::OnPaint(wxPaintEvent& evt)
       
       dc.SetPen(wxPen(*wxBLACK, 1, wxDOT));
       
-      dc.DrawLine(FADE_DOWN_START, 10, FADE_DOWN_START, clientHeight - 10);
-      dc.DrawLine(FADE_UP_START, 10, FADE_UP_START, clientHeight - 10);
+      AColor::Line(dc, FADE_DOWN_START, 10, FADE_DOWN_START, clientHeight - 10);
+      AColor::Line(dc, FADE_UP_START, 10, FADE_UP_START, clientHeight - 10);
       
       dc.SetPen(AColor::envelopePen);
       dc.SetBrush(*wxWHITE_BRUSH);
diff --git a/src/effects/ChangeLength.cpp b/src/effects/ChangeLength.cpp
index 875d15d..7aa4170 100644
--- a/src/effects/ChangeLength.cpp
+++ b/src/effects/ChangeLength.cpp
@@ -79,7 +79,7 @@ bool EffectChangeLength::TransferParameters( Shuttle & shuttle )
 
 bool EffectChangeLength::Process()
 {
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    mTrack = (WaveTrack *) iter.First();
 
    return true;
diff --git a/src/effects/ChangePitch.cpp b/src/effects/ChangePitch.cpp
index 79d8498..6658428 100644
--- a/src/effects/ChangePitch.cpp
+++ b/src/effects/ChangePitch.cpp
@@ -70,7 +70,7 @@ void EffectChangePitch::DeduceFrequencies()
 {
    // As a neat trick, attempt to get the frequency of the note at the
    // beginning of the selection.
-   TrackListIterator iter(mWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    if (track) {
       const int windowSize = 1024;
@@ -105,9 +105,9 @@ void EffectChangePitch::DeduceFrequencies()
       m_ToFrequency = (m_FromFrequency * (100.0 + m_PercentChange)) / 100.0;
 
       // Now we can set the pitch control values. 
-      m_FromPitchIndex = PitchIndex(Freq2Pitch(m_FromFrequency));
+      m_FromPitchIndex = PitchIndex(FreqToMIDInoteNumber(m_FromFrequency));
       m_bWantPitchDown = (m_ToFrequency < m_FromFrequency);
-      m_ToPitchIndex = PitchIndex(Freq2Pitch(m_ToFrequency));
+      m_ToPitchIndex = PitchIndex(FreqToMIDInoteNumber(m_ToFrequency));
    }
 }
 
@@ -588,7 +588,7 @@ void ChangePitchDialog::OnText_FromFrequency(wxCommandEvent & event)
       str.ToDouble(&newDouble);
       m_FromFrequency = newDouble;
 
-      m_FromPitchIndex = PitchIndex(Freq2Pitch(m_FromFrequency));
+      m_FromPitchIndex = PitchIndex(FreqToMIDInoteNumber(m_FromFrequency));
       this->Calc_ToFrequency();
       m_bWantPitchDown = (m_ToFrequency < m_FromFrequency);
       this->Calc_ToPitchIndex(); // Call *after* m_bWantPitchDown is updated.
diff --git a/src/effects/ChangePitch.h b/src/effects/ChangePitch.h
index ef52719..476b0fe 100644
--- a/src/effects/ChangePitch.h
+++ b/src/effects/ChangePitch.h
@@ -22,7 +22,7 @@
 #include <wx/intl.h>
 #include <wx/slider.h>
 
-class EffectChangePitch:public EffectSoundTouch {
+class EffectChangePitch : public EffectSoundTouch {
 
  public:
    EffectChangePitch();
@@ -58,6 +58,8 @@ class EffectChangePitch:public EffectSoundTouch {
 
    virtual bool PromptUser();
    virtual bool TransferParameters( Shuttle & shuttle );
+
+   virtual bool CheckWhetherSkipEffect() { return (m_PercentChange == 0.0); }
    virtual bool Process();
    
  private:
diff --git a/src/effects/ChangeSpeed.cpp b/src/effects/ChangeSpeed.cpp
index 67a0e6d..e6f598f 100644
--- a/src/effects/ChangeSpeed.cpp
+++ b/src/effects/ChangeSpeed.cpp
@@ -89,11 +89,17 @@ bool EffectChangeSpeed::Process()
 	// Similar to EffectSoundTouch::Process()
 
    //Iterate over each track
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   //Track::All is needed because this effect needs to introduce silence in the group tracks to keep sync
+   this->CopyInputTracks(Track::All); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack* pOutWaveTrack = (WaveTrack*)(iter.First());
+   TrackListIterator iter(mOutputTracks);
+   // go to first wavetrack
+   Track* t;
+   for (t = iter.First(); t->GetKind() != Track::Wave; t = iter.Next());
+   if (!t)
+      return false;
+   WaveTrack* pOutWaveTrack = (WaveTrack*)t;
    mCurTrackNum = 0;
 	m_maxNewLength = 0.0;
 	
@@ -107,50 +113,49 @@ bool EffectChangeSpeed::Process()
    mCurT1 = wxMin(mT1, mCurT1);
 
    double len = pOutWaveTrack->GetEndTime() - pOutWaveTrack->GetStartTime();
-   
-   while (pOutWaveTrack != NULL)
+
+   // we only do a "group change" in the first selected track of the group. 
+   // ClearAndPaste has a call to Paste that does changes to the group tracks
+   bool first = true;
+
+   while (t != NULL)
    {
-      //Get start and end times from track
-      mCurT0 = pOutWaveTrack->GetStartTime();
-      mCurT1 = pOutWaveTrack->GetEndTime();
-
-      //Set the current bounds to whichever left marker is
-      //greater and whichever right marker is less:
-      mCurT0 = wxMax(mT0, mCurT0);
-      mCurT1 = wxMin(mT1, mCurT1);
-
-      // Process only if the right marker is to the right of the left marker
-      if (mCurT1 > mCurT0) {       
-         //Transform the marker timepoints to samples
-         sampleCount start = pOutWaveTrack->TimeToLongSamples(mCurT0);
-         sampleCount end = pOutWaveTrack->TimeToLongSamples(mCurT1);
-
-         //ProcessOne() (implemented below) processes a single track
-         if (!ProcessOne(pOutWaveTrack, start, end))
-         {
-            bGoodResult = false;
-            break;
+      if (t->GetKind() == Track::Label)
+         first = true;
+      else if (t->GetKind() == Track::Wave && t->GetSelected()) {
+         pOutWaveTrack = (WaveTrack*)t;
+         //Get start and end times from track
+         mCurT0 = pOutWaveTrack->GetStartTime();
+         mCurT1 = pOutWaveTrack->GetEndTime();
+
+         //Set the current bounds to whichever left marker is
+         //greater and whichever right marker is less:
+         mCurT0 = wxMax(mT0, mCurT0);
+         mCurT1 = wxMin(mT1, mCurT1);
+
+         // Process only if the right marker is to the right of the left marker
+         if (mCurT1 > mCurT0) {       
+            //Transform the marker timepoints to samples
+            sampleCount start = pOutWaveTrack->TimeToLongSamples(mCurT0);
+            sampleCount end = pOutWaveTrack->TimeToLongSamples(mCurT1);
+
+            //ProcessOne() (implemented below) processes a single track
+            if (!ProcessOne(pOutWaveTrack, start, end, first))
+            {
+               bGoodResult = false;
+               break;
+            }
+            first = false;
          }
+         mCurTrackNum++;
       }
       
       //Iterate to the next track
-      pOutWaveTrack = (WaveTrack*)(iter.Next());
-      mCurTrackNum++;
+      t=iter.Next();
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-
-#ifdef EXPERIMENTAL_FULL_LINKING
-   AudacityProject *p = (AudacityProject*)mParent;
-   if( p && p->IsSticky() ){
-      pOutWaveTrack = (WaveTrack*)(iter.First());
-      double newLen = pOutWaveTrack->GetEndTime() - pOutWaveTrack->GetStartTime();
-      double timeAdded = newLen-len;
-      double sel = mCurT1-mCurT0;
-      double percent = (sel/(timeAdded+sel))*100 - 100;
-      if ( !(HandleGroupChangeSpeed(percent, mCurT0, mCurT1)) ) bGoodResult = false;
-   }
-#endif
+   if (bGoodResult)
+      ReplaceProcessedTracks(bGoodResult);
 
    mT1 = mT0 + m_maxNewLength; // Update selection.
 
@@ -160,7 +165,7 @@ bool EffectChangeSpeed::Process()
 // ProcessOne() takes a track, transforms it to bunch of buffer-blocks,
 // and calls libsamplerate code on these blocks.
 bool EffectChangeSpeed::ProcessOne(WaveTrack * track,
-									sampleCount start, sampleCount end)
+									sampleCount start, sampleCount end, bool first)
 {
 	if (track == NULL)
 		return false;
@@ -243,8 +248,12 @@ bool EffectChangeSpeed::ProcessOne(WaveTrack * track,
    // Take the output track and insert it in place of the original
    // sample data
 	if (bLoopSuccess) {
-		track->HandleClear(mCurT0, mCurT1, false, false);
-		track->HandlePaste(mCurT0, outputTrack);
+      if (first)
+		   track->ClearAndPaste(mCurT0, mCurT1, outputTrack, true, true, mOutputTracks, true);
+      else {
+         track->HandleClear(mCurT0, mCurT1, false, false);
+         track->HandlePaste(mCurT0, outputTrack);
+      }
 	}
 
 	double newLength = outputTrack->GetEndTime(); 
diff --git a/src/effects/ChangeSpeed.h b/src/effects/ChangeSpeed.h
index 5432993..a9c1b5e 100644
--- a/src/effects/ChangeSpeed.h
+++ b/src/effects/ChangeSpeed.h
@@ -52,11 +52,12 @@ class EffectChangeSpeed : public Effect {
  protected:
    virtual bool PromptUser();
    virtual bool TransferParameters( Shuttle & shuttle );
+
+   virtual bool CheckWhetherSkipEffect() { return (m_PercentChange == 0.0); }
    virtual bool Process();
 
  private:
-   bool ProcessOne(WaveTrack * t,
-                   sampleCount start, sampleCount end);
+   bool ProcessOne(WaveTrack * t, sampleCount start, sampleCount end, bool first);
 
  private:
 	// track related
diff --git a/src/effects/ChangeTempo.h b/src/effects/ChangeTempo.h
index 112b818..46ab361 100644
--- a/src/effects/ChangeTempo.h
+++ b/src/effects/ChangeTempo.h
@@ -26,7 +26,7 @@ class wxString;
 class wxTextCtrl;
 
 
-class EffectChangeTempo:public EffectSoundTouch {
+class EffectChangeTempo : public EffectSoundTouch {
 
  public:
    EffectChangeTempo();
@@ -56,6 +56,8 @@ class EffectChangeTempo:public EffectSoundTouch {
 
    virtual bool PromptUser();
    virtual bool TransferParameters( Shuttle & shuttle );
+
+   virtual bool CheckWhetherSkipEffect() { return (m_PercentChange == 0.0); }
    virtual bool Process();
   
  private:
diff --git a/src/effects/ClickRemoval.cpp b/src/effects/ClickRemoval.cpp
index c2c69a6..3fd8af3 100644
--- a/src/effects/ClickRemoval.cpp
+++ b/src/effects/ClickRemoval.cpp
@@ -124,10 +124,10 @@ bool EffectClickRemoval::TransferParameters( Shuttle & shuttle )
 
 bool EffectClickRemoval::Process()
 {
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    int count = 0;
    while (track) {
@@ -151,7 +151,7 @@ bool EffectClickRemoval::Process()
       track = (WaveTrack *) iter.Next();
       count++;
    }
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -349,6 +349,10 @@ void ClickRemovalDialog::PopulateOrExchange(ShuttleGui & S)
                                                   MAX_THRESHOLD);
       mThreshS->SetName(_("Select threshold"));
       mThreshS->SetRange(MIN_THRESHOLD, MAX_THRESHOLD);
+#if defined(__WXGTK__)
+      // Force a minimum size since wxGTK allows it to go to zero
+      mThreshS->SetMinSize(wxSize(100, -1));
+#endif
 
       // Click width
       mWidthT = S.Id(ID_WIDTH_TEXT).AddTextBox(_("Max spike width (higher is more sensitive):"),
@@ -362,6 +366,10 @@ void ClickRemovalDialog::PopulateOrExchange(ShuttleGui & S)
                                                 MAX_CLICK_WIDTH);
       mWidthS->SetName(_("Max spike width"));
       mWidthS->SetRange(MIN_CLICK_WIDTH, MAX_CLICK_WIDTH);
+#if defined(__WXGTK__)
+      // Force a minimum size since wxGTK allows it to go to zero
+      mWidthS->SetMinSize(wxSize(100, -1));
+#endif
    }
    S.EndMultiColumn();
    return;
diff --git a/src/effects/Compressor.cpp b/src/effects/Compressor.cpp
index 479adfd..0f37fc0 100644
--- a/src/effects/Compressor.cpp
+++ b/src/effects/Compressor.cpp
@@ -59,6 +59,14 @@ EffectCompressor::EffectCompressor()
 	mLevelCircle = NULL;
 }
 
+EffectCompressor::~EffectCompressor()
+{
+   if (mCircle)
+      delete[] mCircle;
+   if (mLevelCircle)
+      delete[] mLevelCircle;
+}
+
 bool EffectCompressor::TransferParameters( Shuttle & shuttle )
 {
    shuttle.TransferDouble( wxT("Threshold"), mThresholdDB, -12.0f );
@@ -404,10 +412,11 @@ void CompressorPanel::OnPaint(wxPaintEvent & evt)
 
    // Yellow line for threshold
    memDC.SetPen(wxPen(wxColour(220, 220, 0), 1, wxSOLID));
-   memDC.DrawLine(mEnvRect.x,
-                  mEnvRect.y + mEnvRect.height - kneeY,
-                  mEnvRect.x + mEnvRect.width,
-                  mEnvRect.y + mEnvRect.height - kneeY);
+   AColor::Line(memDC,
+                mEnvRect.x,
+                mEnvRect.y + mEnvRect.height - kneeY,
+                mEnvRect.x + mEnvRect.width - 1,
+                mEnvRect.y + mEnvRect.height - kneeY);
 
    // Was: Nice dark red line for the compression diagram
 //   memDC.SetPen(wxPen(wxColour(180, 40, 40), 3, wxSOLID));
@@ -415,15 +424,17 @@ void CompressorPanel::OnPaint(wxPaintEvent & evt)
    // Nice blue line for compressor, same color as used in the waveform envelope.
    memDC.SetPen( AColor::WideEnvelopePen) ;
 
-   memDC.DrawLine(mEnvRect.x,
-                  mEnvRect.y + mEnvRect.height,
-                  mEnvRect.x + kneeX,
-                  mEnvRect.y + mEnvRect.height - kneeY);
+   AColor::Line(memDC,
+                mEnvRect.x,
+                mEnvRect.y + mEnvRect.height,
+                mEnvRect.x + kneeX - 1,
+                mEnvRect.y + mEnvRect.height - kneeY);
 
-   memDC.DrawLine(mEnvRect.x + kneeX,
-                  mEnvRect.y + mEnvRect.height - kneeY,
-                  mEnvRect.x + mEnvRect.width,
-                  mEnvRect.y + mEnvRect.height - finalY);
+   AColor::Line(memDC,
+                mEnvRect.x + kneeX,
+                mEnvRect.y + mEnvRect.height - kneeY,
+                mEnvRect.x + mEnvRect.width - 1,
+                mEnvRect.y + mEnvRect.height - finalY);
 
    // Paint border again
    memDC.SetBrush(*wxTRANSPARENT_BRUSH);
@@ -489,8 +500,9 @@ void CompressorDialog::PopulateOrExchange(ShuttleGui & S)
    }
    S.EndHorizontalLay();
 
-   S.StartMultiColumn(3, wxCENTER | wxALIGN_CENTER_VERTICAL);
+   S.StartMultiColumn(3, wxEXPAND | wxALIGN_CENTER_VERTICAL);
    {
+      S.SetStretchyCol(1);
       mThresholdLabel = S.AddVariableText(_("Threshold:"), true,
                                           wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
       S.SetStyle(wxSL_HORIZONTAL);
@@ -527,7 +539,7 @@ void CompressorDialog::PopulateOrExchange(ShuttleGui & S)
 
    S.StartHorizontalLay(wxCENTER, false);
    {
-      mGainCheckBox = S.AddCheckBox(_("Normalize to 0dB after compressing"),
+      mGainCheckBox = S.AddCheckBox(_("Make-up gain for 0dB after compressing"),
                                     wxT("true"));
    }
    S.EndHorizontalLay();
diff --git a/src/effects/Compressor.h b/src/effects/Compressor.h
index fc61aaa..c3299a1 100644
--- a/src/effects/Compressor.h
+++ b/src/effects/Compressor.h
@@ -31,6 +31,7 @@ class EffectCompressor: public EffectTwoPassSimpleMono {
 public:
    
    EffectCompressor();
+   virtual ~EffectCompressor();
    
    virtual wxString GetEffectName() {
       return wxString(_("Compressor..."));
diff --git a/src/effects/Contrast.cpp b/src/effects/Contrast.cpp
index 67df082..51a1fee 100644
--- a/src/effects/Contrast.cpp
+++ b/src/effects/Contrast.cpp
@@ -4,15 +4,8 @@
 
   Contrast.cpp
 
-*******************************************************************//**
-
-\class EffectContrast
-\brief An effect to measure the difference between two sections of audio
-
-*//****************************************************************//**
-
 \class ContrastDialog
-\brief Dialog used with EffectContrast
+\brief Dialog used for Contrast menu item
 
 *//*******************************************************************/
 
@@ -57,24 +50,40 @@
 
 #include "../PlatformCompatibility.h"
 
-EffectContrast::EffectContrast()
-{
-   bFGset = false;
-   bBGset = false;
-}
+static ContrastDialog *gContrastDialog = NULL;
 
-EffectContrast::~EffectContrast()
+void InitContrastDialog(wxWindow * parent)
 {
-   return;
-}
+   if(!gContrastDialog)
+   {
+      wxPoint where;
 
-bool EffectContrast::PromptUser()
-{
-   if( !bFGset )
+      where.x = 150;
+      where.y = 150;
+
+      gContrastDialog = new ContrastDialog(parent, -1, _("Contrast Analysis"), where);
+
+      
+      gContrastDialog->bFGset = false;
+      gContrastDialog->bBGset = false;
+   }
+
+   AudacityProject *p = GetActiveProject();
+   TrackListIterator iter(p->GetTracks());
+   Track *t = iter.First();
+   while (t) {
+      if (t->GetSelected() && t->GetKind() == Track::Wave) {
+         gContrastDialog->mT0 = p->mViewInfo.sel0;
+         gContrastDialog->mT1 = p->mViewInfo.sel1;
+      }
+      t = iter.Next();
+   }
+
+   if( !gContrastDialog->bFGset )
    {
-      SaveTimes(true, mT0, mT1);
-      bFGset = true;
-      if( !bBGset )
+      gContrastDialog->SaveTimes(true, gContrastDialog->mT0, gContrastDialog->mT1);
+      gContrastDialog->bFGset = true;
+      if( !gContrastDialog->bBGset )
       {
          wxMessageDialog m(NULL, _("Foreground times selected.\nNow select background and use Ctrl+Shift+T or menu again."), _("Contrast Tool Foreground"), wxOK);
          m.ShowModal();
@@ -82,51 +91,59 @@ bool EffectContrast::PromptUser()
    }
    else
    {
-      if( !bBGset )
+      if( !gContrastDialog->bBGset )
       {
-         SaveTimes(false, mT0, mT1);
-         bBGset = true;
+         gContrastDialog->SaveTimes(false, gContrastDialog->mT0, gContrastDialog->mT1);
+         gContrastDialog->bBGset = true;
       }
    }
 
-   if( bFGset && bBGset )
+   if( gContrastDialog->bFGset && gContrastDialog->bBGset )
    {
-      ContrastDialog dlog(this, mParent);
-
-      // Copy parameters into dialog from effect
-      dlog.mForegroundStartT->SetTimeValue(mStartTimeF);
-      dlog.mForegroundEndT->SetTimeValue(mEndTimeF);
-      dlog.mBackgroundStartT->SetTimeValue(mStartTimeB);
-      dlog.mBackgroundEndT->SetTimeValue(mEndTimeB);
+      // Copy parameters into dialog boxes
+      gContrastDialog->mForegroundStartT->SetTimeValue(gContrastDialog->mStartTimeF);
+      gContrastDialog->mForegroundEndT->SetTimeValue(gContrastDialog->mEndTimeF);
+      gContrastDialog->mBackgroundStartT->SetTimeValue(gContrastDialog->mStartTimeB);
+      gContrastDialog->mBackgroundEndT->SetTimeValue(gContrastDialog->mEndTimeB);
 
       wxCommandEvent dummyEvt;
-      dlog.OnGetForegroundDB(dummyEvt);
-      dlog.OnGetBackgroundDB(dummyEvt);
+      gContrastDialog->OnGetForegroundDB(dummyEvt);
+      gContrastDialog->OnGetBackgroundDB(dummyEvt);
 
-      dlog.CentreOnParent();
-      dlog.ShowModal();
+      gContrastDialog->CentreOnParent();
+      gContrastDialog->Show();
 
-      // Copy parameters from dialog back into effect
-      mStartTimeF = dlog.mForegroundStartT->GetTimeValue();
-      mEndTimeF = dlog.mForegroundEndT->GetTimeValue();
-      mStartTimeB = dlog.mBackgroundStartT->GetTimeValue();
-      mEndTimeB = dlog.mBackgroundEndT->GetTimeValue();
+      // Copy parameters back from dialog
+      gContrastDialog->mStartTimeF = gContrastDialog->mForegroundStartT->GetTimeValue();
+      gContrastDialog->mEndTimeF = gContrastDialog->mForegroundEndT->GetTimeValue();
+      gContrastDialog->mStartTimeB = gContrastDialog->mBackgroundStartT->GetTimeValue();
+      gContrastDialog->mEndTimeB = gContrastDialog->mBackgroundEndT->GetTimeValue();
    }
+}
 
-   return false;
+void CloseContrastDialog()
+{
+   if (gContrastDialog) {
+      delete gContrastDialog;
+      gContrastDialog = NULL;
+   }
 }
 
-float EffectContrast::GetDB()
+float ContrastDialog::GetDB()
 {
+//   not good
+//  why not?
+// what if more than one track?
    float rms = float(0.0);
 
-   TrackListIterator iter(mWaveTracks);
+   AudacityProject *p = GetActiveProject();
+   TrackListIterator iter(p->GetTracks());
    Track *t = iter.First();
    if(mT0 > mT1)
    {
       wxMessageDialog m(NULL, _("Start time after after end time!\nPlease enter reasonable times."), _("Error"), wxOK);
       m.ShowModal();
-      return 1234.0; // 'magic number', but the whole +ve dB range will never occur
+      return 1234.0; // 'magic number', but the whole +ve dB range will 'almost' never occur
    }
    if(mT0 < t->GetStartTime())
       mT0 = t->GetStartTime();
@@ -150,27 +167,27 @@ float EffectContrast::GetDB()
       return 20.0*log10(fabs(rms));
 }
 
-double EffectContrast::GetStartTime()
+double ContrastDialog::GetStartTime()
 {
    return(mT0);
 }
 
-void EffectContrast::SetStartTime(double t)
+void ContrastDialog::SetStartTime(double t)
 {
    mT0 = t;
 }
 
-double EffectContrast::GetEndTime()
+double ContrastDialog::GetEndTime()
 {
    return(mT1);
 }
 
-void EffectContrast::SetEndTime(double t)
+void ContrastDialog::SetEndTime(double t)
 {
    mT1 = t;
 }
 
-void EffectContrast::SaveTimes(bool isForeground, double start, double end)
+void ContrastDialog::SaveTimes(bool isForeground, double start, double end)
 {
    if(isForeground)
    {
@@ -185,17 +202,6 @@ void EffectContrast::SaveTimes(bool isForeground, double start, double end)
    return;
 }
 
-bool EffectContrast::Process()
-{
-   wxMessageBox(_("Hello.\n"));  // you should never see this!
-   return true;
-}
-
-bool EffectContrast::CheckWhetherSkipEffect()
-{
-   return true;
-}
-
 // WDR: class implementations
 
 //----------------------------------------------------------------------------
@@ -240,12 +246,15 @@ BEGIN_EVENT_TABLE(ContrastDialog,wxDialog)
 END_EVENT_TABLE()
 
 /* i18n-hint: WCAG2 is the 'Web Content Accessibility Guidelines (WCAG) 2.0', see http://www.w3.org/TR/WCAG20/ */
-ContrastDialog::ContrastDialog(EffectContrast * effect, 
-                                       wxWindow *parent) :
-   EffectDialog( parent, _("WCAG2 Audio Contrast Analyzer"), ANALYZE_EFFECT)
+ContrastDialog::ContrastDialog(wxWindow * parent, wxWindowID id,
+                           const wxString & title,
+                           const wxPoint & pos):
+  wxDialog(parent, id, title, pos, wxDefaultSize,
+     wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMAXIMIZE_BOX )
 {
-   m_pEffect = effect;
-   
+   foregrounddB = 1234.0;
+   backgrounddB = 1234.0;
+
    // NULL out the control members until the controls are created.
    m_pButton_GetForeground = NULL;
    m_pButton_GetBackground = NULL;
@@ -253,66 +262,15 @@ ContrastDialog::ContrastDialog(EffectContrast * effect,
    mForegroundEndT = NULL;
    mBackgroundStartT = NULL;
    mBackgroundEndT = NULL;
-
-   mT0orig = m_pEffect->GetStartTime();  // keep copy of selection times
-   mT1orig = m_pEffect->GetEndTime();
-
-   Init();
-}
-
-ContrastDialog::~ContrastDialog()
-{
-   mForegroundRMSText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
-   mBackgroundRMSText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
-   mPassFailText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
-   mDiffText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
-}
-
-void ContrastDialog::OnGetForegroundDB( wxCommandEvent &event )
-{
-   m_pEffect->SetStartTime(mForegroundStartT->GetTimeValue());
-   m_pEffect->SetEndTime(mForegroundEndT->GetTimeValue());
-   foregrounddB = m_pEffect->GetDB();
-   m_pButton_GetForeground->Enable(false);
-   m_pButton_GetForeground->SetLabel(_("Measured"));
-   m_pButton_UseCurrentF->SetFocus();
-   results();
-}
-
-void ContrastDialog::OnGetBackgroundDB( wxCommandEvent &event )
-{
-   m_pEffect->SetStartTime(mBackgroundStartT->GetTimeValue());
-   m_pEffect->SetEndTime(mBackgroundEndT->GetTimeValue());
-   backgrounddB = m_pEffect->GetDB();
-   m_pButton_GetBackground->Enable(false);
-   m_pButton_GetBackground->SetLabel(_("Measured"));
-   m_pButton_UseCurrentB->SetFocus();
-   results();
-}
-
-void ContrastDialog::OnGetURL(wxCommandEvent &event)
-{
-   wxString page = wxT("http://www.eramp.com/WCAG_2_audio_contrast_tool_help.htm");
-   ::OpenInDefaultBrowser(page);
-}
-
-void ContrastDialog::OnOK(wxCommandEvent &event)
-{
-   wxCommandEvent dummyEvt;
-   OnReset(event);
-   EndModal(0);
-}
-
-void ContrastDialog::OnCloseWithoutReset(wxCommandEvent &event)
-{
-   EndModal(0);
-}
-
-void ContrastDialog::PopulateOrExchange(ShuttleGui & S)
-{
    wxTextValidator vld(wxFILTER_NUMERIC);
    wxString number;
 
+   AudacityProject *p = GetActiveProject();
+   mProjectRate = p->GetRate();
+
+   ShuttleGui S(this, eIsCreating);
+   
+   S.SetBorder(5);
    S.StartHorizontalLay(wxCENTER, false);
    {
       S.AddTitle(_("Contrast Analyzer"));
@@ -340,7 +298,7 @@ void ContrastDialog::PopulateOrExchange(ShuttleGui & S)
                          ID_FOREGROUNDSTART_T,
                          wxT(""),
                          0.0,
-                         m_pEffect->mProjectRate,
+                         mProjectRate,
                          wxDefaultPosition,
                          wxDefaultSize,
                          true);
@@ -358,7 +316,7 @@ void ContrastDialog::PopulateOrExchange(ShuttleGui & S)
                          ID_FOREGROUNDEND_T,
                          wxT(""),
                          0.0,
-                         m_pEffect->mProjectRate,
+                         mProjectRate,
                          wxDefaultPosition,
                          wxDefaultSize,
                          true);
@@ -384,7 +342,7 @@ void ContrastDialog::PopulateOrExchange(ShuttleGui & S)
                          ID_BACKGROUNDSTART_T,
                          wxT(""),
                          0.0,
-                         m_pEffect->mProjectRate,
+                         mProjectRate,
                          wxDefaultPosition,
                          wxDefaultSize,
                          true);
@@ -402,7 +360,7 @@ void ContrastDialog::PopulateOrExchange(ShuttleGui & S)
                          ID_BACKGROUNDEND_T,
                          wxT(""),
                          0.0,
-                         m_pEffect->mProjectRate,
+                         mProjectRate,
                          wxDefaultPosition,
                          wxDefaultSize,
                          true);
@@ -448,16 +406,66 @@ void ContrastDialog::PopulateOrExchange(ShuttleGui & S)
          m_pButton_GetURL = S.Id(ID_BUTTON_GETURL).AddButton(_("Help for WCAG2 Audio Contrast Analyzer"));
       }
       S.EndStatic();
-      //What happens when we close the dialog (OK button is standard and clears values)
+      //What happens when we close the dialog
       S.StartStatic( _("Control"));
       {
-         S.AddFixedText(_("Note: The 'OK' button resets time values."));
-         m_pButton_Close = S.Id(ID_BUTTON_CLOSE).AddButton(_("Close but keep times"));
+         m_pButton_Close = S.Id(ID_BUTTON_CLOSE).AddButton(_("Close (keeping times)"));
       }
       S.EndStatic();
    }
    S.EndHorizontalLay();
+   Layout();
    Fit();
+   SetMinSize(GetSize());
+   Center();
+}
+
+ContrastDialog::~ContrastDialog()
+{
+   mForegroundRMSText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
+   mBackgroundRMSText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
+   mPassFailText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
+   mDiffText->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(ContrastDialog::OnChar));
+}
+
+void ContrastDialog::OnGetForegroundDB( wxCommandEvent &event )
+{
+   SetStartTime(mForegroundStartT->GetTimeValue());
+   SetEndTime(mForegroundEndT->GetTimeValue());
+   foregrounddB = GetDB();
+   m_pButton_GetForeground->Enable(false);
+   m_pButton_GetForeground->SetLabel(_("Measured"));
+   m_pButton_UseCurrentF->SetFocus();
+   results();
+}
+
+void ContrastDialog::OnGetBackgroundDB( wxCommandEvent &event )
+{
+   SetStartTime(mBackgroundStartT->GetTimeValue());
+   SetEndTime(mBackgroundEndT->GetTimeValue());
+   backgrounddB = GetDB();
+   m_pButton_GetBackground->Enable(false);
+   m_pButton_GetBackground->SetLabel(_("Measured"));
+   m_pButton_UseCurrentB->SetFocus();
+   results();
+}
+
+void ContrastDialog::OnGetURL(wxCommandEvent &event)
+{
+   wxString page = wxT("http://www.eramp.com/WCAG_2_audio_contrast_tool_help.htm");
+   ::OpenInDefaultBrowser(page);
+}
+
+void ContrastDialog::OnOK(wxCommandEvent &event)
+{
+   wxCommandEvent dummyEvt;
+   OnReset(event);
+   EndModal(0);
+}
+
+void ContrastDialog::OnCloseWithoutReset(wxCommandEvent &event)
+{
+   Show(false);
 }
 
 void ContrastDialog::OnForegroundStartT(wxCommandEvent & event)
@@ -486,21 +494,33 @@ void ContrastDialog::OnBackgroundEndT(wxCommandEvent & event)
 
 void ContrastDialog::OnUseSelectionF(wxCommandEvent & event)
 {
-   mForegroundStartT->SetTimeValue(mT0orig);
-   mForegroundEndT->SetTimeValue(mT1orig);
-
-   m_pEffect->SetStartTime(mT0orig);
-   m_pEffect->SetEndTime(mT1orig);
+   AudacityProject *p = GetActiveProject();
+   TrackListIterator iter(p->GetTracks());
+   Track *t = iter.First();
+   while (t) {
+      if (t->GetSelected() && t->GetKind() == Track::Wave) {
+         mForegroundStartT->SetTimeValue(p->mViewInfo.sel0);
+         mForegroundEndT->SetTimeValue(p->mViewInfo.sel1);
+         break;
+      }
+      t = iter.Next();
+   }
    OnGetForegroundDB(event);
 }
 
 void ContrastDialog::OnUseSelectionB(wxCommandEvent & event)
 {
-   mBackgroundStartT->SetTimeValue(mT0orig);
-   mBackgroundEndT->SetTimeValue(mT1orig);
-
-   m_pEffect->SetStartTime(mT0orig);
-   m_pEffect->SetEndTime(mT1orig);
+   AudacityProject *p = GetActiveProject();
+   TrackListIterator iter(p->GetTracks());
+   Track *t = iter.First();
+   while (t) {
+      if (t->GetSelected() && t->GetKind() == Track::Wave) {
+         mBackgroundStartT->SetTimeValue(p->mViewInfo.sel0);
+         mBackgroundEndT->SetTimeValue(p->mViewInfo.sel1);
+         break;
+      }
+      t = iter.Next();
+   }
    OnGetBackgroundDB(event);
 }
 
@@ -642,8 +662,8 @@ void ContrastDialog::OnExport(wxCommandEvent & event)
 
 void ContrastDialog::OnReset(wxCommandEvent & event)
 {
-   m_pEffect->bFGset = false;
-   m_pEffect->bBGset = false;
+   bFGset = false;
+   bBGset = false;
 
    mForegroundStartT->SetTimeValue(0.0);
    mForegroundEndT->SetTimeValue(0.0);
diff --git a/src/effects/Contrast.h b/src/effects/Contrast.h
index 204eeb4..c6c4f2d 100644
--- a/src/effects/Contrast.h
+++ b/src/effects/Contrast.h
@@ -6,10 +6,9 @@
 
 **********************************************************************/
 
-#ifndef __AUDACITY_EFFECT_CONTRAST__
-#define __AUDACITY_EFFECT_CONTRAST__
+#ifndef __AUDACITY_CONTRAST_DIALOG__
+#define __AUDACITY_CONTRAST_DIALOG__
 
-#include "Effect.h"
 #include "../widgets/TimeTextCtrl.h"
 
 #include <wx/dialog.h>
@@ -22,63 +21,8 @@ class wxString;
 class Envelope;
 class WaveTrack;
 
-class EffectContrast: public Effect {
-
-public:
-   
-   EffectContrast();
-   virtual ~EffectContrast();
-
-   virtual wxString GetEffectName() {
-      return wxString(_("Contrast...\tCtrl+Shift+T"));
-   }
-
-   virtual int GetEffectFlags() {
-      return BUILTIN_EFFECT | ANALYZE_EFFECT;
-   }
-
-   virtual std::set<wxString> GetEffectCategories() {
-      std::set<wxString> result;
-      result.insert(wxT("http://lv2plug.in/ns/lv2core#AnalyserPlugin"));
-      return result;
-   }
-
-   virtual wxString GetEffectIdentifier() {
-      return wxString(wxT("Contrast"));
-   }
-
-   virtual wxString GetEffectAction() {
-      if (mDoBackground)
-         return wxString(_("Measuring background"));
-      else
-         return wxString(_("Measuring foreground"));
-   }
-   
-   virtual bool PromptUser();
-   
-   virtual bool CheckWhetherSkipEffect();
-   virtual bool Process();
-   void SaveTimes(bool, double, double);
-   double length;
-   
-private:
-   bool      mDoBackground;
-   float GetDB();
-   double GetStartTime();
-   void SetStartTime(double);
-   double GetEndTime();
-   void SetEndTime(double);
-   double mStartTimeF;
-   double mEndTimeF;
-   bool bFGset;
-   double mStartTimeB;
-   double mEndTimeB;
-   bool bBGset;
-
-friend class ContrastDialog;
-};
-
-// WDR: class declarations
+void InitContrastDialog(wxWindow * parent);
+void CloseContrastDialog();
 
 //----------------------------------------------------------------------------
 // ContrastDialog
@@ -86,19 +30,42 @@ friend class ContrastDialog;
 
 // Declare window functions
 
-class ContrastDialog: public EffectDialog
+class ContrastDialog:public wxDialog
 {
 public:
    // constructors and destructors
-   ContrastDialog(EffectContrast * effect,
-                      wxWindow *parent);
+   ContrastDialog(wxWindow * parent, wxWindowID id,
+              const wxString & title, const wxPoint & pos);
    ~ContrastDialog();
 
-   void PopulateOrExchange(ShuttleGui & S);
-
    void OnGetForegroundDB( wxCommandEvent &event );
    void OnGetBackgroundDB( wxCommandEvent &event );
 
+   wxButton * m_pButton_GetBackground;
+   wxButton * m_pButton_GetForeground;
+   wxButton * m_pButton_UseCurrentF;
+   wxButton * m_pButton_UseCurrentB;
+   wxButton * m_pButton_GetURL;
+   wxButton * m_pButton_Export;
+   wxButton * m_pButton_Reset;
+   wxButton * m_pButton_Close;
+
+   TimeTextCtrl *mForegroundStartT;
+   TimeTextCtrl *mForegroundEndT;
+   TimeTextCtrl *mBackgroundStartT;
+   TimeTextCtrl *mBackgroundEndT;
+
+   bool bFGset;
+   bool bBGset;
+   double mT0;
+   double mT1;
+   double mProjectRate;
+   void SaveTimes(bool, double, double);
+   double mStartTimeF;
+   double mEndTimeF;
+   double mStartTimeB;
+   double mEndTimeB;
+
 private:
    // handlers
    void OnGetURL(wxCommandEvent &event);
@@ -125,25 +92,15 @@ private:
    double mT0orig;
    double mT1orig;
 
- public:
-
-   EffectContrast * m_pEffect;
-
-   wxButton * m_pButton_GetBackground;
-   wxButton * m_pButton_GetForeground;
-   wxButton * m_pButton_UseCurrentF;
-   wxButton * m_pButton_UseCurrentB;
-   wxButton * m_pButton_GetURL;
-   wxButton * m_pButton_Export;
-   wxButton * m_pButton_Reset;
-   wxButton * m_pButton_Close;
+   bool mDoBackground;
+   float GetDB();
+   double GetStartTime();
+   void SetStartTime(double);
+   double GetEndTime();
+   void SetEndTime(double);
 
-   TimeTextCtrl *mForegroundStartT;
-   TimeTextCtrl *mForegroundEndT;
-   TimeTextCtrl *mBackgroundStartT;
-   TimeTextCtrl *mBackgroundEndT;
+   double length;
 
-private:
    DECLARE_EVENT_TABLE()
 
 };
diff --git a/src/effects/DtmfGen.cpp b/src/effects/DtmfGen.cpp
index f4e1fba..1d3febb 100644
--- a/src/effects/DtmfGen.cpp
+++ b/src/effects/DtmfGen.cpp
@@ -65,11 +65,11 @@ bool EffectDtmf::PromptUser()
 
    if (mT1 > mT0) {
       // there is a selection: let's fit in there...
-      dtmfDuration = mT1 - mT0;
+      mDuration = mT1 - mT0;
       dlog.dIsSelection = true;
    } else {
       // retrieve last used values
-      gPrefs->Read(wxT("/CsPresets/DtmfGen_SequenceDuration"), &dtmfDuration, 1L);
+      gPrefs->Read(wxT("/CsPresets/DtmfGen_SequenceDuration"), &mDuration, 1L);
       dlog.dIsSelection = false;
    }
    /// \todo this code shouldn't be using /CsPresets - need to review its use
@@ -82,7 +82,7 @@ bool EffectDtmf::PromptUser()
    // Initialize dialog locals
    dlog.dString = dtmfString;
    dlog.dDutyCycle = dtmfDutyCycle;
-   dlog.dDuration = dtmfDuration;
+   dlog.dDuration = mDuration;
    dlog.dAmplitude = dtmfAmplitude;
 
    // start dialog
@@ -95,7 +95,7 @@ bool EffectDtmf::PromptUser()
    // if there was an OK, retrieve values
    dtmfString = dlog.dString;
    dtmfDutyCycle = dlog.dDutyCycle;
-   dtmfDuration = dlog.dDuration;
+   mDuration = dlog.dDuration;
    dtmfAmplitude = dlog.dAmplitude;
    
    dtmfNTones = dlog.dNTones;
@@ -240,159 +240,124 @@ bool EffectDtmf::MakeDtmfTone(float *buffer, sampleCount len, float fs, wxChar t
    return true;
 }
 
-bool EffectDtmf::Process()
+bool EffectDtmf::GenerateTrack(WaveTrack *tmp,
+                               const WaveTrack &track,
+                               int ntrack)
 {
-   if (dtmfDuration <= 0.0)
-      return false;
-      
-#ifdef EXPERIMENTAL_FULL_LINKING
-   HandleLinkedTracksOnGenerate(dtmfDuration, mT0);
-#endif
-
-   //Iterate over each track
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
    bool bGoodResult = true;
-   int ntrack = 0;
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack *track = (WaveTrack *)iter.First();
-   while (track) {
-      // new tmp track, to fill with dtmf sequence
-      // we will build the track by adding a tone, then a silence, next tone, and so on...
-      WaveTrack *tmp = mFactory->NewWaveTrack(track->GetSampleFormat(), track->GetRate());
-
-      // all dtmf sequence durations in samples from seconds
-      numSamplesSequence = (sampleCount)(dtmfDuration * track->GetRate() + 0.5);
-      numSamplesTone = (sampleCount)(dtmfTone * track->GetRate() + 0.5);
-      numSamplesSilence = (sampleCount)(dtmfSilence * track->GetRate() + 0.5);
-
-      // recalculate the sum, and spread the difference - due to approximations.
-      // Since diff should be in the order of "some" samples, a division (resulting in zero)
-      // is not sufficient, so we add the additional remaining samples in each tone/silence block,
-      // at least until available.
-      int diff = numSamplesSequence - (dtmfNTones*numSamplesTone) - (dtmfNTones-1)*numSamplesSilence;
-      if (diff>dtmfNTones) {
-         // in this case, both these values would change, so it makes sense to recalculate diff
-         // otherwise just keep the value we already have
-
-         // should always be the case that dtmfNTones>1, as if 0, we don't even start processing,
-         // and with 1 there is no difference to spread (no silence slot)...
-         wxASSERT(dtmfNTones > 1);
-         numSamplesTone += (diff/(dtmfNTones));
-         numSamplesSilence += (diff/(dtmfNTones-1));
-         diff = numSamplesSequence - (dtmfNTones*numSamplesTone) - (dtmfNTones-1)*numSamplesSilence;
-      }
-      // this var will be used as extra samples distributor
-      int extra=0;
-
-      sampleCount i = 0;
-      sampleCount j = 0;
-      int n=0; // pointer to string in dtmfString
-      sampleCount block;
-      bool isTone = true;
-      float *data = new float[tmp->GetMaxBlockSize()];
-
-      // for the whole dtmf sequence, we will be generating either tone or silence
-      // according to a bool value, and this might be done in small chunks of size
-      // 'block', as a single tone might sometimes be larger than the block
-      // tone and silence generally have different duration, thus two generation blocks
-      //
-      // Note: to overcome a 'clicking' noise introduced by the abrupt transition from/to
-      // silence, I added a fade in/out of 1/250th of a second (4ms). This can still be
-      // tweaked but gives excellent results at 44.1kHz: I haven't tried other freqs.
-      // A problem might be if the tone duration is very short (<10ms)... (?)
-      //
-      // One more problem is to deal with the approximations done when calculating the duration 
-      // of both tone and silence: in some cases the final sum might not be same as the initial
-      // duration. So, to overcome this, we had a redistribution block up, and now we will spread
-      // the remaining samples in every bin in order to achieve the full duration: test case was
-      // to generate an 11 tone DTMF sequence, in 4 seconds, and with DutyCycle=75%: after generation
-      // you ended up with 3.999s or in other units: 3 seconds and 44097 samples.
-      //
-      while ((i < numSamplesSequence) && bGoodResult) {
-         if (isTone)
+
+   // all dtmf sequence durations in samples from seconds
+   numSamplesSequence = (sampleCount)(mDuration * track.GetRate() + 0.5);
+   numSamplesTone = (sampleCount)(dtmfTone * track.GetRate() + 0.5);
+   numSamplesSilence = (sampleCount)(dtmfSilence * track.GetRate() + 0.5);
+
+   // recalculate the sum, and spread the difference - due to approximations.
+   // Since diff should be in the order of "some" samples, a division (resulting in zero)
+   // is not sufficient, so we add the additional remaining samples in each tone/silence block,
+   // at least until available.
+   int diff = numSamplesSequence - (dtmfNTones*numSamplesTone) - (dtmfNTones-1)*numSamplesSilence;
+   if (diff>dtmfNTones) {
+      // in this case, both these values would change, so it makes sense to recalculate diff
+      // otherwise just keep the value we already have
+
+      // should always be the case that dtmfNTones>1, as if 0, we don't even start processing,
+      // and with 1 there is no difference to spread (no silence slot)...
+      wxASSERT(dtmfNTones > 1);
+      numSamplesTone += (diff/(dtmfNTones));
+      numSamplesSilence += (diff/(dtmfNTones-1));
+      diff = numSamplesSequence - (dtmfNTones*numSamplesTone) - (dtmfNTones-1)*numSamplesSilence;
+   }
+   // this var will be used as extra samples distributor
+   int extra=0;
+
+   sampleCount i = 0;
+   sampleCount j = 0;
+   int n=0; // pointer to string in dtmfString
+   sampleCount block;
+   bool isTone = true;
+   float *data = new float[tmp->GetMaxBlockSize()];
+
+   // for the whole dtmf sequence, we will be generating either tone or silence
+   // according to a bool value, and this might be done in small chunks of size
+   // 'block', as a single tone might sometimes be larger than the block
+   // tone and silence generally have different duration, thus two generation blocks
+   //
+   // Note: to overcome a 'clicking' noise introduced by the abrupt transition from/to
+   // silence, I added a fade in/out of 1/250th of a second (4ms). This can still be
+   // tweaked but gives excellent results at 44.1kHz: I haven't tried other freqs.
+   // A problem might be if the tone duration is very short (<10ms)... (?)
+   //
+   // One more problem is to deal with the approximations done when calculating the duration 
+   // of both tone and silence: in some cases the final sum might not be same as the initial
+   // duration. So, to overcome this, we had a redistribution block up, and now we will spread
+   // the remaining samples in every bin in order to achieve the full duration: test case was
+   // to generate an 11 tone DTMF sequence, in 4 seconds, and with DutyCycle=75%: after generation
+   // you ended up with 3.999s or in other units: 3 seconds and 44097 samples.
+   //
+   while ((i < numSamplesSequence) && bGoodResult) {
+      if (isTone)
          // generate tone
-         {
-            // the statement takes care of extracting one sample from the diff bin and
-            // adding it into the tone block until depletion
-            extra=(diff-- > 0?1:0);
-            for(j=0; j < numSamplesTone+extra && bGoodResult; j+=block) {
-               block = tmp->GetBestBlockSize(j);
-               if (block > (numSamplesTone+extra - j))
-                   block = numSamplesTone+extra - j;
-
-               // generate the tone and append
-               MakeDtmfTone(data, block, track->GetRate(), dtmfString[n], j, numSamplesTone, dtmfAmplitude);
-               tmp->Append((samplePtr)data, floatSample, block);
-               //Update the Progress meter
-               if (TrackProgress(ntrack, (double)(i+j) / numSamplesSequence))
-                  bGoodResult = false;
-            }
-            i += numSamplesTone;
-            n++;
-            if(n>=dtmfNTones)break;
+      {
+         // the statement takes care of extracting one sample from the diff bin and
+         // adding it into the tone block until depletion
+         extra=(diff-- > 0?1:0);
+         for(j=0; j < numSamplesTone+extra && bGoodResult; j+=block) {
+            block = tmp->GetBestBlockSize(j);
+            if (block > (numSamplesTone+extra - j))
+               block = numSamplesTone+extra - j;
+
+            // generate the tone and append
+            MakeDtmfTone(data, block, track.GetRate(), dtmfString[n], j, numSamplesTone, dtmfAmplitude);
+            tmp->Append((samplePtr)data, floatSample, block);
+            //Update the Progress meter
+            if (TrackProgress(ntrack, (double)(i+j) / numSamplesSequence))
+               bGoodResult = false;
          }
-         else
+         i += numSamplesTone;
+         n++;
+         if(n>=dtmfNTones)break;
+      }
+      else
          // generate silence
-         {
-            // the statement takes care of extracting one sample from the diff bin and
-            // adding it into the silence block until depletion
-            extra=(diff-- > 0?1:0);
-            for(j=0; j < numSamplesSilence+extra && bGoodResult; j+=block) {
-               block = tmp->GetBestBlockSize(j);
-               if (block > (numSamplesSilence+extra - j))
-                   block = numSamplesSilence+extra - j;
-
-               // generate silence and append
-               memset(data, 0, sizeof(float)*block);
-               tmp->Append((samplePtr)data, floatSample, block);
-               //Update the Progress meter
-               if (TrackProgress(ntrack, (double)(i+j) / numSamplesSequence))
-                  bGoodResult = false;
-            }
-            i += numSamplesSilence;
+      {
+         // the statement takes care of extracting one sample from the diff bin and
+         // adding it into the silence block until depletion
+         extra=(diff-- > 0?1:0);
+         for(j=0; j < numSamplesSilence+extra && bGoodResult; j+=block) {
+            block = tmp->GetBestBlockSize(j);
+            if (block > (numSamplesSilence+extra - j))
+               block = numSamplesSilence+extra - j;
+
+            // generate silence and append
+            memset(data, 0, sizeof(float)*block);
+            tmp->Append((samplePtr)data, floatSample, block);
+            //Update the Progress meter
+            if (TrackProgress(ntrack, (double)(i+j) / numSamplesSequence))
+               bGoodResult = false;
          }
-         // flip flag
-         isTone=!isTone;
-
-      } // finished the whole dtmf sequence
-
-      delete[] data;
-
-      tmp->Flush();
-      track->HandleClear(mT0, mT1, false, false);
-      track->HandlePaste(mT0, tmp);
-      delete tmp;
+         i += numSamplesSilence;
+      }
+      // flip flag
+      isTone=!isTone;
 
-      if (!bGoodResult)
-         break;
+   } // finished the whole dtmf sequence
 
-      //Iterate to the next track
-      ntrack++;
-      track = (WaveTrack *)iter.Next();
-   }
+   delete[] data;
+   return bGoodResult;
+}
 
-   if (bGoodResult)
-      {
-      /*
-         save last used values
-         save duration unless value was got from selection, so we save only
-         when user explicitely setup a value
+void EffectDtmf::Success()
+{
+   /* save last used values
+      save duration unless value was got from selection, so we save only
+      when user explicitely setup a value
       */
-      if (mT1 == mT0)
-         gPrefs->Write(wxT("/CsPresets/DtmfGen_SequenceDuration"), dtmfDuration);
-
-      gPrefs->Write(wxT("/CsPresets/DtmfGen_String"), dtmfString);
-      gPrefs->Write(wxT("/CsPresets/DtmfGen_DutyCycle"), dtmfDutyCycle);
-      gPrefs->Write(wxT("/CsPresets/DtmfGen_Amplitude"), dtmfAmplitude);
+   if (mT1 == mT0)
+      gPrefs->Write(wxT("/CsPresets/DtmfGen_SequenceDuration"), mDuration);
 
-      // Update selection: this is not accurate if my calculations are wrong.
-      // To validate, once the effect is done, unselect, and select all, then
-      // see what the selection length is being reported (in sec,ms,samples)
-      mT1 = mT0 + dtmfDuration;
-   }
-
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-   return bGoodResult;
+   gPrefs->Write(wxT("/CsPresets/DtmfGen_String"), dtmfString);
+   gPrefs->Write(wxT("/CsPresets/DtmfGen_DutyCycle"), dtmfDutyCycle);
+   gPrefs->Write(wxT("/CsPresets/DtmfGen_Amplitude"), dtmfAmplitude);
 }
 
 //----------------------------------------------------------------------------
diff --git a/src/effects/DtmfGen.h b/src/effects/DtmfGen.h
index 053d053..cac8cf2 100644
--- a/src/effects/DtmfGen.h
+++ b/src/effects/DtmfGen.h
@@ -25,14 +25,15 @@
 #include "../WaveTrack.h"
 #include "../widgets/TimeTextCtrl.h"
 
-#include "Effect.h"
+#include "Generator.h"
 
 #define __UNINITIALIZED__ (-1)
 
-class EffectDtmf:public Effect {
+class EffectDtmf : public Generator {
 
  public:
    EffectDtmf() {
+      SetEffectFlags(BUILTIN_EFFECT | INSERT_EFFECT);
    }
 
    virtual wxString GetEffectName() {
@@ -50,19 +51,14 @@ class EffectDtmf:public Effect {
    }
 
    virtual wxString GetEffectDescription() {
-      return wxString::Format(_("Applied effect: Generate DTMF tones, %.6lf seconds"), dtmfDuration);
+      return wxString::Format(_("Applied effect: Generate DTMF tones, %.6lf seconds"), mDuration);
    }
 
    virtual wxString GetEffectAction() {
       return wxString(_("Generating DTMF tones"));
    }
 
-   virtual int GetEffectFlags() {
-      return BUILTIN_EFFECT | INSERT_EFFECT;
-   }
-
    virtual bool PromptUser();
-   virtual bool Process();
    virtual bool TransferParameters( Shuttle & shuttle );
 
  private:
@@ -72,7 +68,6 @@ class EffectDtmf:public Effect {
    int    dtmfNTones;         // total number of tones to generate
    double dtmfTone;           // duration of a single tone in ms
    double dtmfSilence;        // duration of silence between tones in ms
-   double dtmfDuration;       // duration of the whole dtmf tone sequence in seconds
    double dtmfDutyCycle;      // ratio of dtmfTone/(dtmfTone+dtmfSilence)
    double dtmfAmplitude;      // amplitude of dtmf tone sequence, restricted to (0-1)
 
@@ -80,6 +75,8 @@ class EffectDtmf:public Effect {
    virtual bool MakeDtmfTone(float *buffer, sampleCount len, float fs,
                              wxChar tone, sampleCount last,
                              sampleCount total, float amplitude);
+   bool GenerateTrack(WaveTrack *tmp, const WaveTrack &track, int ntrack);
+   void Success();
 
  // friendship ...
  friend class DtmfDialog;
diff --git a/src/effects/Echo.cpp b/src/effects/Echo.cpp
index 349e9f3..36f8dca 100644
--- a/src/effects/Echo.cpp
+++ b/src/effects/Echo.cpp
@@ -75,10 +75,10 @@ bool EffectEcho::TransferParameters( Shuttle & shuttle )
 
 bool EffectEcho::Process()
 {
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    int count = 0;
    while (track) {
@@ -103,7 +103,7 @@ bool EffectEcho::Process()
       count++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
diff --git a/src/effects/Effect.cpp b/src/effects/Effect.cpp
index d3b151b..c4ce1b3 100644
--- a/src/effects/Effect.cpp
+++ b/src/effects/Effect.cpp
@@ -29,6 +29,7 @@ greater use in future.
 #include <wx/progdlg.h>
 #include <wx/sizer.h>
 #include <wx/timer.h>
+#include <wx/hashmap.h>
 
 #include "Effect.h"
 #include "../AudioIO.h"
@@ -38,6 +39,9 @@ greater use in future.
 #include "../WaveTrack.h"
 #include "../widgets/ProgressDialog.h"
 #include "../ondemand/ODManager.h"
+
+WX_DECLARE_VOIDPTR_HASH_MAP( bool, t2bHash );
+
 //
 // public static methods
 //
@@ -59,30 +63,29 @@ wxString Effect::StripAmpersand(const wxString& str)
 
 Effect::Effect()
 {
-   mWaveTracks = NULL;
-   mOutputWaveTracks = NULL;
+   mTracks = NULL;
+   mOutputTracks = NULL;
+   mOutputTracksType = Track::None;
+   mLength = 0;
+   mNumTracks = 0;
+   mNumGroups = 0;
 
    // Can change effect flags later (this is the new way)
    // OR using the old way, over-ride GetEffectFlags().
-   mFlags = BUILTIN_EFFECT | PROCESS_EFFECT | ADVANCED_EFFECT ;
+   mFlags = BUILTIN_EFFECT | PROCESS_EFFECT | ADVANCED_EFFECT;
 }
 
 bool Effect::DoEffect(wxWindow *parent, int flags,
                       double projectRate,
                       TrackList *list,
                       TrackFactory *factory,
-                      double *t0, double *t1)
+                      double *t0, double *t1, wxString params)
 {
    wxASSERT(*t0 <= *t1);
 
-   if (mWaveTracks) {
-      delete mWaveTracks;
-      mWaveTracks = NULL;
-   }
-
-   if (mOutputWaveTracks) {
-      delete mOutputWaveTracks;
-      mOutputWaveTracks = NULL;
+   if (mOutputTracks) {
+      delete mOutputTracks;
+      mOutputTracks = NULL;
    }
 
    mFactory = factory;
@@ -93,9 +96,30 @@ bool Effect::DoEffect(wxWindow *parent, int flags,
    mT1 = *t1;
    CountWaveTracks();
 
+   // Note: Init may read parameters from preferences
    if (!Init())
       return false;
 
+   // If a parameter string was provided, it overrides any remembered settings
+   // (but if the user is to be prompted, that takes priority)
+   if (!params.IsEmpty())
+   {
+      ShuttleCli shuttle;
+      shuttle.mParams = params;
+      shuttle.mbStoreInClient=true;
+      if( !TransferParameters( shuttle ))
+      {
+         wxMessageBox(
+            wxString::Format(
+               _("Could not set parameters of effect %s\n to %s."),
+               GetEffectName().c_str(),
+               params.c_str()
+            )
+         );
+         return false;
+      }
+   }
+
    // Don't prompt user if we are dealing with a 
    // effect that is already configured, e.g. repeating
    // the last effect on a different selection.
@@ -116,11 +140,10 @@ bool Effect::DoEffect(wxWindow *parent, int flags,
 
    End();
 
-   delete mWaveTracks;
-   if (mOutputWaveTracks != mWaveTracks) // If processing completed successfully, they should be the same.
-      delete mOutputWaveTracks;
-   mWaveTracks = NULL;
-   mOutputWaveTracks = NULL;
+   if (mOutputTracks) {
+      delete mOutputTracks;
+      mOutputTracks = NULL;
+   }
 
    if (returnVal) {
       *t0 = mT0;
@@ -132,121 +155,186 @@ bool Effect::DoEffect(wxWindow *parent, int flags,
 
 bool Effect::TotalProgress(double frac)
 {
-   return !mProgress->Update(frac);
+   int updateResult = mProgress->Update(frac);
+   if (updateResult == eProgressSuccess)
+     return false;
+   return true;
 }
 
 bool Effect::TrackProgress(int whichTrack, double frac)
 {
-   return !mProgress->Update(whichTrack + frac, (double) mNumTracks);
+   int updateResult = mProgress->Update(whichTrack + frac, (double) mNumTracks);
+   if (updateResult == eProgressSuccess)
+     return false;
+   return true;
 }
 
 bool Effect::TrackGroupProgress(int whichGroup, double frac)
 {
-   return !mProgress->Update(whichGroup + frac, (double) mNumGroups);
+   int updateResult = mProgress->Update(whichGroup + frac, (double) mNumGroups);
+   if (updateResult == eProgressSuccess)
+     return false;
+   return true;
+}
+
+void Effect::GetSamples(WaveTrack *track, sampleCount *start, sampleCount *len)
+{
+   double trackStart = track->GetStartTime();
+   double trackEnd = track->GetEndTime();
+   double t0 = mT0 < trackStart ? trackStart : mT0;
+   double t1 = mT1 > trackEnd ? trackEnd : mT1;
+
+   if (mFlags & INSERT_EFFECT) {
+      t1 = t0 + mLength;
+      if (mT0 == mT1) {
+         // Not really part of the calculation, but convenient to put here
+         track->InsertSilence(t0, t1);
+      }
+   }
+
+   if (t1 > t0) {
+      *start = track->TimeToLongSamples(t0);
+      sampleCount end = track->TimeToLongSamples(t1);
+      *len = (sampleCount)(end - *start);
+   }
+   else {
+      *start = 0;
+      *len  = 0;
+   }
 }
 
 //
 // private methods
 //
-// Use these two methods to copy the input tracks to mOutputWaveTracks, if 
+// Use these two methods to copy the input tracks to mOutputTracks, if 
 // doing the processing on them, and replacing the originals only on success (and not cancel).
-void Effect::CopyInputWaveTracks()
+// Copy the group tracks that have tracks selected
+void Effect::CopyInputTracks(int trackType)
 {
-   if (this->GetNumWaveTracks() <= 0)
-      return;
+   // Reset map
+   mIMap.Clear();
+   mOMap.Clear();
 
-   // Copy the mWaveTracks, to process the copies.
-   TrackListIterator iterIn(mWaveTracks);
-   WaveTrack* pInWaveTrack = (WaveTrack*)(iterIn.First());
-   mOutputWaveTracks = new TrackList();
-   WaveTrack* pOutWaveTrack = NULL;
-   while (pInWaveTrack != NULL)
-   {
-      pOutWaveTrack = mFactory->DuplicateWaveTrack(*(WaveTrack*)pInWaveTrack);
-      mOutputWaveTracks->Add(pOutWaveTrack);
-      pInWaveTrack = (WaveTrack*)(iterIn.Next());
-      
-      //swap on demand tasks - they should now be processed on pOutWaveTrack. 
-      //need to undo this when the user hits cancel.    
-#ifdef EXPERIMENTAL_ONDEMAND      
- //TODO: this is complicated because concurrent tasks/effects will write over the same blockfile.  Thus if the 
-//compute summary task goes last the effect will be overwritten.  we need a lot of mutexes.
- //     ODManager::Instance()->ReplaceTaskWaveTrack(pInputTrack,pOutputTrack);
-#endif
-   }
-}
+   mOutputTracks = new TrackList();
+   mOutputTracksType = trackType;
 
+   //iterate over tracks of type trackType (All types if Track::All)
+   TrackListOfKindIterator aIt(trackType, mTracks);
+   t2bHash added;
 
-// If bGoodResult, replace mWaveTracks tracks in mTracks with successfully processed 
-// mOutputWaveTracks copies, get rid of old mWaveTracks, and set mWaveTracks to mOutputWaveTracks. 
-// Else clear and delete mOutputWaveTracks copies.
-void Effect::ReplaceProcessedWaveTracks(const bool bGoodResult)
-{
-   if (bGoodResult)
-   {
-      // Circular replacement of the input wave tracks with the processed mOutputWaveTracks tracks. 
-      // But mWaveTracks is temporary, so replace in mTracks. More bookkeeping.
-      TrackListIterator iterIn(mWaveTracks);
-      WaveTrack* pInWaveTrack = (WaveTrack*)(iterIn.First());
-
-      wxASSERT(mOutputWaveTracks != NULL); // Make sure we at least did the CopyInputWaveTracks().
-      TrackListIterator iterOut(mOutputWaveTracks);
-      WaveTrack* pOutWaveTrack = (WaveTrack*)(iterOut.First());
-
-      TrackListIterator iterAllTracks(mTracks);
-      Track* pFirstTrack = iterAllTracks.First();
-      Track* pTrack = pFirstTrack;
-      do
-      {
-         if (pTrack == pInWaveTrack)
-         {
-            // Replace pInWaveTrack with processed pOutWaveTrack, at end of list.
-            if (pOutWaveTrack != NULL) // Can be NULL as result of Tracks > Stereo to Mono.
-            {
-               mTracks->Add(pOutWaveTrack);
-               if (pTrack == pFirstTrack)
-                  pFirstTrack = pOutWaveTrack; // We replaced the first track, so update stop condition.
-                  
-               //swap the wavecache track the ondemand task uses, since now the new one will be kept in the project
-#ifdef EXPERIMENTAL_ONDEMAND      
-               if(ODManager::IsInstanceCreated())
-                  ODManager::Instance()->ReplaceWaveTrack(pInWaveTrack,pOutWaveTrack);
-#endif
-            }
-            delete pInWaveTrack;
+   //for each track that is selected
+   for (Track *aTrack = aIt.First(); aTrack; aTrack = aIt.Next()) {
+      if (!aTrack->GetSelected()) {
+         continue;
+      }
 
-            pInWaveTrack = (WaveTrack*)(iterIn.Next());
-            pOutWaveTrack = (WaveTrack*)(iterOut.Next());
+      TrackGroupIterator gIt(mTracks);
+      Track *gTrack = gIt.First(aTrack);
+
+      //if the track is part of a group
+      if (trackType == Track::All && gTrack != NULL) {
+         //go to the project tracks and add all the tracks in the same group
+         for( ; gTrack; gTrack = gIt.Next() ) {
+            // only add if the track was not added before
+            if (added.find(gTrack) == added.end()) {
+               added[gTrack]=true;
+               Track *o = gTrack->Duplicate();
+               mOutputTracks->Add(o);
+               mIMap.Add(gTrack);
+               mOMap.Add(o);
+            }
          }
-         else
-            mTracks->Add(pTrack); // Add pTrack back to end of list.
+      }
+      //otherwise just add the track
+      else {
+         Track *o = aTrack->Duplicate();
+         mOutputTracks->Add(o);
+         mIMap.Add(aTrack);
+         mOMap.Add(o);
+      }
+   }
+}
 
-         // Remove former pTrack from front of list and set pTrack to next.
-         pTrack = iterAllTracks.RemoveCurrent(); 
-      } while (pTrack != pFirstTrack);
+// If bGoodResult, replace mTracks tracks with successfully processed mOutputTracks copies.
+// Else clear and delete mOutputTracks copies.
+void Effect::ReplaceProcessedTracks(const bool bGoodResult)
+{
+   wxASSERT(mOutputTracks != NULL); // Make sure we at least did the CopyInputTracks().
 
-      // Also need to clean up mWaveTracks, primarily because Preview uses it as the processed tracks. 
-      delete mWaveTracks;
-      mWaveTracks = mOutputWaveTracks;
-   }
-   else
-   {
+   if (!bGoodResult) {
       // Processing failed or was cancelled so throw away the processed tracks.
-      mOutputWaveTracks->Clear(true); // true => delete the tracks
+      mOutputTracks->Clear(true); // true => delete the tracks
       
+      // Reset map
+      mIMap.Clear();
+      mOMap.Clear();
+
       //TODO:undo the non-gui ODTask transfer
+      return;
+   }
+
+   TrackListIterator iterOut(mOutputTracks);
+
+   Track *x;
+   size_t cnt = mOMap.GetCount();
+   size_t i = 0;
+
+   for (Track *o = iterOut.First(); o; o = x, i++) {
+      // If tracks were removed from mOutputTracks, then there will be
+      // tracks in the map that must be removed from mTracks.
+      while (i < cnt && mOMap[i] != o) {
+         mTracks->Remove((Track *)mIMap[i], true);
+         i++;
+      }
+
+      // This should never happen
+      wxASSERT(i < cnt);
+
+      // Remove the track from the output list...don't delete it
+      x = iterOut.RemoveCurrent(false);
+
+      // Replace mTracks entry with the new track...don't delete original track
+      Track *t = (Track *) mIMap[i];
+      mTracks->Replace(t, o, false);
+
+      // Swap the wavecache track the ondemand task uses, since now the new
+      // one will be kept in the project
+      if (ODManager::IsInstanceCreated()) {
+         ODManager::Instance()->ReplaceWaveTrack((WaveTrack *)t, (WaveTrack *)o);
+      }
+
+      // No longer need the original track
+      delete t;
+   }
+
+   // If tracks were removed from mOutputTracks, then there may be tracks
+   // left at the end of the map that must be removed from mTracks.
+   while (i < cnt) {
+      mTracks->Remove((Track *)mIMap[i], true);
+      i++;
    }
+
+   // Reset map
+   mIMap.Clear();
+   mOMap.Clear();
+
+   // Make sure we processed everything
+   wxASSERT(iterOut.First() == NULL);
+   
+   // The output list is no longer needed
+   delete mOutputTracks;
+   mOutputTracks = NULL;
+   mOutputTracksType = Track::None;
 }
 
 void Effect::CountWaveTracks()
 {
    mNumTracks = 0;
    mNumGroups = 0;
-   mWaveTracks = new TrackList();
-   
-   TrackListIterator iter(mTracks);
+
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    Track *t = iter.First();
-   
+
    while(t) {
       if (!t->GetSelected()) {
          t = iter.Next();
@@ -254,7 +342,6 @@ void Effect::CountWaveTracks()
       }
       
       if (t->GetKind() == Track::Wave) {
-         mWaveTracks->Add(t);
          mNumTracks++;
          if (!t->GetLinked())
             mNumGroups++;
@@ -263,125 +350,6 @@ void Effect::CountWaveTracks()
    }
 }
 
-void Effect::HandleLinkedTracksOnGenerate(double length, double t0)
-{
-   AudacityProject *p = (AudacityProject*)mParent;
-   if ( !p || !(p->IsSticky()) || (mT1!=mT0) ) return;
-   
-   TrackListIterator iter(p->GetTracks());
-   
-   int editGroup = 0;
-   bool handleGroup = false;
-   Track *t=iter.First();
-   Track *n=t;
-   
-   while (t){//find edit group number
-      n=iter.Next();
-      if (t->GetSelected()) handleGroup = true;
-      if ( (n && n->GetKind()==Track::Wave && t->GetKind()==Track::Label) 
-            || (!n) ) {
-         if (handleGroup){
-            t=iter.First();
-            for (int i=0; i<editGroup; i++){//go to first in edit group
-               while (t && t->GetKind()==Track::Wave) t=iter.Next();
-               while (t && t->GetKind()==Track::Label) t=iter.Next();
-            }
-            while (t && t->GetKind()==Track::Wave){
-               if ( !(t->GetSelected()) ){
-                  //printf("t(w)(gen): %x\n", t);
-                  TrackFactory *factory = p->GetTrackFactory();
-                  WaveTrack *tmp = factory->NewWaveTrack( ((WaveTrack*)t)->GetSampleFormat(), ((WaveTrack*)t)->GetRate());
-                  tmp->InsertSilence(0.0, length);
-                  tmp->Flush();
-                  ((WaveTrack *)t)->HandlePaste(t0, tmp);
-               }
-               t=iter.Next();
-            }
-            while (t && t->GetKind()==Track::Label){
-               //printf("t(l)(gen): %x\n", t);
-               ((LabelTrack *)t)->ShiftLabelsOnInsert(length, t0);
-               t=iter.Next();         
-            }
-         }
-         editGroup++;
-         handleGroup = false;
-      }
-      t=n;
-   }
-}
-
-bool Effect::HandleGroupChangeSpeed(double m_PercentChange, double mCurT0, double mCurT1)
-{
-   AudacityProject *p = (AudacityProject*)mParent;   
-   if (mCurT1 < mCurT0) return false;
-   TrackListIterator fullIter(p->GetTracks());
-   
-   int editGroup=0;   
-   bool insertSilence = false;
-   
-   double length = ( (mCurT1-mCurT0) / ((100 + m_PercentChange)/100) ) - (mCurT1-mCurT0);
-   if (length < 0) length = -length;  
-   
-   Track *t = fullIter.First();
-   Track *n = t;
-   while (t){//find edit group
-      n=fullIter.Next();
-      if (n && n->GetKind()==Track::Wave && t->GetKind()==Track::Label) 
-         editGroup++;
-         
-      if (t->GetSelected()){
-         t=fullIter.First();
-         for (int i=0; i<editGroup; i++){//go to first in edit group
-            while (t && t->GetKind()==Track::Wave) t=fullIter.Next();
-            while (t && t->GetKind()==Track::Label) t=fullIter.Next();
-         }
-         insertSilence = false;
-         while (t && t->GetKind()==Track::Wave){
-            if ( !(t->GetSelected()) ){
-               if (m_PercentChange > 0) insertSilence = true;
-               if (m_PercentChange < 0){
-                  TrackFactory *factory = p->GetTrackFactory();
-                  WaveTrack *tmp = factory->NewWaveTrack( ((WaveTrack*)t)->GetSampleFormat(), ((WaveTrack*)t)->GetRate());
-                  tmp->InsertSilence(0.0, length);
-                  tmp->Flush();
-                  if ( !( ((WaveTrack *)t)->HandlePaste(mCurT1, tmp)) ) return false;
-               }
-            }
-            t=fullIter.Next();
-         }
-
-         if (insertSilence){
-            t=fullIter.First();
-            for (int i=0; i<editGroup; i++){//go to first in edit group
-               while (t && t->GetKind()==Track::Wave) t=fullIter.Next();
-               while (t && t->GetKind()==Track::Label) t=fullIter.Next();
-            }
-            while ( t && t->GetKind()==Track::Wave ){
-               if (t->GetSelected()){
-                  TrackFactory *factory = p->GetTrackFactory();
-                  WaveTrack *tmp = factory->NewWaveTrack( ((WaveTrack*)t)->GetSampleFormat(), ((WaveTrack*)t)->GetRate());
-                  tmp->InsertSilence(0.0, length);
-                  tmp->Flush();
-                  double change = (100 + m_PercentChange)/100;
-                  double insertPt = mCurT1 - (mCurT1 - mCurT0) + ((mCurT1 - mCurT0)/change);
-                  if ( !( ((WaveTrack *)t)->HandlePaste(insertPt, tmp)) ) return false;
-               }
-               t=fullIter.Next();
-            }
-         }
-         
-         while (t && t->GetKind()==Track::Label && !insertSilence){
-            ((LabelTrack *)t)->ShiftLabelsOnChangeSpeed(mCurT0, mCurT1, m_PercentChange);
-            t=fullIter.Next();
-         }
-         n=t;
-         editGroup++;//we've gone through a edit group
-      }else
-         t=n;
-   }
-   return true;  
-}
-
 float TrapFloat(float x, float min, float max)
 {
    if (x <= min)
@@ -419,10 +387,11 @@ wxString Effect::GetPreviewName()
 
 void Effect::Preview()
 {
+   wxWindow* FocusDialog = wxWindow::FindFocus();
    if (gAudioIO->IsBusy())
       return;
 
-   // Mix the first 3 seconds of audio from all of the tracks
+   // Mix a few seconds of audio from all of the tracks
    double previewLen = 3.0;
    gPrefs->Read(wxT("/AudioIO/EffectsPreviewLen"), &previewLen);
    
@@ -438,20 +407,29 @@ void Effect::Preview()
    if (t1 <= t0)
       return;
 
-   if (!::MixAndRender(mWaveTracks, mFactory, rate, floatSample, t0, t1,
-                       &mixLeft, &mixRight))
-   {
+   bool success = ::MixAndRender(mTracks, mFactory, rate, floatSample, t0, t1,
+                                 &mixLeft, &mixRight);
+
+   if (!success) {
       return;
    }
 
-   // Apply effect
+   // Save the original track list
+   TrackList *saveTracks = mTracks;
 
-   TrackList *saveWaveTracks = mWaveTracks;
-   mWaveTracks = new TrackList();
-   mWaveTracks->Add(mixLeft);
-   if (mixRight)
-      mWaveTracks->Add(mixRight);
+   // Build new tracklist from rendering tracks
+   mTracks = new TrackList();
+   mixLeft->SetSelected(true);   
+   mTracks->Add(mixLeft);
+   if (mixRight) {
+      mixRight->SetSelected(true);   
+      mTracks->Add(mixRight);
+   }
 
+   // Update track/group counts
+   CountWaveTracks();
+
+   // Reset times
    t0 = 0.0;
    t1 = mixLeft->GetEndTime();
 
@@ -460,6 +438,8 @@ void Effect::Preview()
    mT0 = t0;
    mT1 = t1;
 
+   // Apply effect
+
    // Effect is already inited; we call Process, End, and then Init
    // again, so the state is exactly the way it was before Preview
    // was called.
@@ -477,7 +457,7 @@ void Effect::Preview()
       WaveTrackArray playbackTracks;
       WaveTrackArray recordingTracks;
       // Probably not the same tracks post-processing, so can't rely on previous values of mixLeft & mixRight.
-      TrackListIterator iter(mWaveTracks); 
+      TrackListOfKindIterator iter(Track::Wave, mTracks); 
       mixLeft = (WaveTrack*)(iter.First());
       mixRight = (WaveTrack*)(iter.Next());
       playbackTracks.Add(mixLeft);
@@ -485,18 +465,20 @@ void Effect::Preview()
          playbackTracks.Add(mixRight);
 
       // Start audio playing
-
       int token =
          gAudioIO->StartStream(playbackTracks, recordingTracks, NULL,
+#ifdef EXPERIMENTAL_MIDI_OUT
+                               NULL,
+#endif
                                rate, t0, t1, NULL);
 
       if (token) {
-         bool previewing = true;
+         int previewing = eProgressSuccess;
 
          mProgress = new ProgressDialog(StripAmpersand(GetEffectName()),
-                                        _("Previewing"));
+                                        _("Previewing"), pdlgHideCancelButton);
 
-         while (gAudioIO->IsStreamActive(token) && previewing) {
+         while (gAudioIO->IsStreamActive(token) && previewing == eProgressSuccess) {
             ::wxMilliSleep(100);
             previewing = mProgress->Update(gAudioIO->GetStreamTime(), t1);
          }
@@ -510,16 +492,21 @@ void Effect::Preview()
       }
       else {
          wxMessageBox(_("Error while opening sound device. Please check the output device settings and the project sample rate."),
-                      _("Error"), wxOK | wxICON_EXCLAMATION, mParent);
+                      _("Error"), wxOK | wxICON_EXCLAMATION, FocusDialog);
       }
    }
 
-   if (mWaveTracks == mOutputWaveTracks) // typical case, but depends on descendant implementation
-      mOutputWaveTracks = NULL; 
-   mWaveTracks->Clear(true); // true => delete the tracks
-   delete mWaveTracks;
+   if (FocusDialog) {
+      FocusDialog->SetFocus();
+   }
+
+   delete mOutputTracks;
+   mOutputTracks = NULL;
+
+   mTracks->Clear(true); // true => delete the tracks
+   delete mTracks;
 
-   mWaveTracks = saveWaveTracks;
+   mTracks = saveTracks;
 }
 
 EffectDialog::EffectDialog(wxWindow * parent,
diff --git a/src/effects/Effect.h b/src/effects/Effect.h
index 6a21c34..8bdcfbe 100644
--- a/src/effects/Effect.h
+++ b/src/effects/Effect.h
@@ -56,7 +56,6 @@ class wxWindow;
 #define SKIP_EFFECT_MILLISECOND 99999
 
 class AUDACITY_DLL_API Effect {
-   
  // 
  // public methods
  //
@@ -106,6 +105,7 @@ class AUDACITY_DLL_API Effect {
       // covers most built-in effects.
       return mFlags;
    }
+
    virtual bool TransferParameters( Shuttle & shuttle ){
       return true;
    }
@@ -129,7 +129,7 @@ class AUDACITY_DLL_API Effect {
    // have the "selected" flag set to true, which is consistent with
    // Audacity's standard UI.
    bool DoEffect(wxWindow *parent, int flags, double projectRate, TrackList *list,
-                 TrackFactory *factory, double *t0, double *t1);
+                 TrackFactory *factory, double *t0, double *t1, wxString params);
 
    wxString GetPreviewName();
 
@@ -138,8 +138,6 @@ class AUDACITY_DLL_API Effect {
    // important for sorting.
    static wxString StripAmpersand(const wxString& str);
 
-   void HandleLinkedTracksOnGenerate(double length, double t0);
-   bool HandleGroupChangeSpeed(double m_PercentChange, double mCurT0, double mCurT1);
  //
  // protected virtual methods
  //
@@ -196,9 +194,7 @@ class AUDACITY_DLL_API Effect {
                                // be created with this rate...
    TrackFactory   *mFactory;
    TrackList      *mTracks;      // the complete list of all tracks
-   TrackList      *mWaveTracks;  // effects which do not add or remove tracks
-                               // should use this
-   TrackList*     mOutputWaveTracks; // used only if CopyInputWaveTracks() is called.
+   TrackList      *mOutputTracks; // used only if CopyInputTracks() is called.
    double         mT0;
    double         mT1;
 
@@ -228,6 +224,9 @@ class AUDACITY_DLL_API Effect {
 
    int GetNumWaveGroups() { return mNumGroups; }
 
+   // Calculates the start time and selection length in samples
+   void GetSamples(WaveTrack *track, sampleCount *start, sampleCount *len);
+
  //
  // protected static data
  //
@@ -236,18 +235,22 @@ class AUDACITY_DLL_API Effect {
  protected:
    static double sDefaultGenerateLen;
    int mFlags;
+   double mLength;
+
+   // type of the tracks on mOutputTracks
+   int mOutputTracksType;
  
  //
  // private methods
  //
-   // Use these two methods to copy the input tracks to mOutputWaveTracks, if 
+   // Use these two methods to copy the input tracks to mOutputTracks, if 
    // doing the processing on them, and replacing the originals only on success (and not cancel).
-   void CopyInputWaveTracks();
+   void CopyInputTracks(int trackType = Track::Wave);
    
    // If bGoodResult, replace mWaveTracks tracks in mTracks with successfully processed 
-   // mOutputWaveTracks copies, get rid of old mWaveTracks, and set mWaveTracks to mOutputWaveTracks. 
-   // Else clear and delete mOutputWaveTracks copies.
-   void ReplaceProcessedWaveTracks(const bool bGoodResult);
+   // mOutputTracks copies, get rid of old mWaveTracks, and set mWaveTracks to mOutputTracks. 
+   // Else clear and delete mOutputTracks copies.
+   void ReplaceProcessedTracks(const bool bGoodResult);
 
  // Used only by the base Effect class
  //
@@ -260,6 +263,8 @@ class AUDACITY_DLL_API Effect {
  // Used only by the base Effect class
  //
  private:
+   wxArrayPtrVoid mIMap;
+   wxArrayPtrVoid mOMap;
 
    int mNumTracks; //v This is really mNumWaveTracks, per CountWaveTracks() and GetNumWaveTracks().
    int mNumGroups;
@@ -271,6 +276,7 @@ class AUDACITY_DLL_API Effect {
 
 };
 
+
 // Base dialog for generate effect
 
 #define ID_EFFECT_PREVIEW ePreviewID
diff --git a/src/effects/EffectManager.cpp b/src/effects/EffectManager.cpp
index 2911b7b..9c7ab06 100644
--- a/src/effects/EffectManager.cpp
+++ b/src/effects/EffectManager.cpp
@@ -25,18 +25,25 @@ EffectManager& EffectManager::Get() {
 
 
 EffectManager::EffectManager()
-   : mLastType(0),
-     mLastIndex(0),
-     mLastEffect(0),
-     mNumEffects(0) {
-   
+:  mNumEffects(0)
+{
+#ifdef EFFECT_CATEGORIES
+   mCategories = new CategoryMap();
+   mRootCategories = new CategorySet();
+   mUnsorted = new EffectSet();
+#endif
 }
 
-EffectManager::~EffectManager() {
+EffectManager::~EffectManager()
+{
 #ifdef EFFECT_CATEGORIES
    CategoryMap::iterator i;
-   for (i = mCategories.begin(); i != mCategories.end(); ++i)
+   for (i = mCategories->begin(); i != mCategories->end(); ++i)
       delete i->second;
+
+   delete mUnsorted;
+   delete mRootCategories;
+   delete mCategories;
 #endif
 }
 
@@ -74,7 +81,7 @@ void EffectManager::RegisterEffect(Effect *f, int NewFlags)
       }
    }
    if (!oneValid)
-      mUnsorted.insert(f);
+      mUnsorted->insert(f);
    
 #endif
 }
@@ -87,10 +94,10 @@ void EffectManager::UnregisterEffects()
    mEffects.clear();
 
 #ifdef EFFECT_CATEGORIES
-   mUnsorted.clear();
+   mUnsorted->clear();
    
    CategoryMap::iterator iter;
-   for (iter = mCategories.begin(); iter != mCategories.end(); ++iter)
+   for (iter = mCategories->begin(); iter != mCategories->end(); ++iter)
       iter->second->mEffects.clear();
 #endif
 }
@@ -140,18 +147,18 @@ EffectArray *EffectManager::GetEffects(int flags /* = ALL_EFFECTS */)
 EffectCategory* EffectManager::AddCategory(const wxString& URI, 
                                            const wxString& name) {
    
-   CategoryMap::const_iterator iter = mCategories.find(URI);
-   if (iter != mCategories.end())
+   CategoryMap::const_iterator iter = mCategories->find(URI);
+   if (iter != mCategories->end())
       return iter->second;
    EffectCategory* cat = new EffectCategory(URI, name);
-   mCategories.insert(std::make_pair(URI, cat));
-   mRootCategories.insert(cat);
+   mCategories->insert(std::make_pair(URI, cat));
+   mRootCategories->insert(cat);
    return cat;
 }
 
 EffectCategory* EffectManager::LookupCategory(const wxString& URI) {
-   CategoryMap::const_iterator iter = mCategories.find(URI);
-   if (iter != mCategories.end())
+   CategoryMap::const_iterator iter = mCategories->find(URI);
+   if (iter != mCategories->end())
       return iter->second;
    return 0;
 }
@@ -161,30 +168,30 @@ bool EffectManager::AddCategoryParent(EffectCategory* child,
    bool result = child->AddParent(parent);
    if (!result)
       return false;
-   CategorySet::iterator iter = mRootCategories.find(child);
-   if (iter != mRootCategories.end())
-      mRootCategories.erase(iter);
+   CategorySet::iterator iter = mRootCategories->find(child);
+   if (iter != mRootCategories->end())
+      mRootCategories->erase(iter);
    return true;
 }
 
 void EffectManager::FreezeCategories() {
    CategoryMap::iterator iter;
-   for (iter = mCategories.begin(); iter != mCategories.end(); ++iter)
+   for (iter = mCategories->begin(); iter != mCategories->end(); ++iter)
       iter->second->FreezeParents();
 }
 
 const CategorySet& EffectManager::GetRootCategories() const {
-   return mRootCategories;
+   return *mRootCategories;
 }
 
 EffectSet EffectManager::GetUnsortedEffects(int flags) const {
 
    if (flags == ALL_EFFECTS)
-      return mUnsorted;
+      return *mUnsorted;
 
    EffectSet result;
    EffectSet::const_iterator iter;
-   for (iter = mUnsorted.begin(); iter != mUnsorted.end(); ++iter) {
+   for (iter = mUnsorted->begin(); iter != mUnsorted->end(); ++iter) {
       int g = (*iter)->GetEffectFlags();
       if ((flags & g) == g)
          result.insert(*iter);
diff --git a/src/effects/EffectManager.h b/src/effects/EffectManager.h
index 7dbd02b..be60541 100644
--- a/src/effects/EffectManager.h
+++ b/src/effects/EffectManager.h
@@ -104,22 +104,6 @@ class AUDACITY_DLL_API EffectManager {
 #endif
 
  private:
-   int mLastType;
-   int mLastIndex;
-   Effect * mLastEffect;
-
- public:
-   
-   void SetLastEffect(int type, Effect * pEffect){
-      mLastType=type;
-      mLastEffect = pEffect;
-   }
-   
-   int GetLastEffectType(){ return mLastType;}
-   
-   Effect * GetLastEffect(){ return mLastEffect;}
-
- private:
    
    EffectArray mEffects;
    int mNumEffects;
@@ -128,14 +112,14 @@ class AUDACITY_DLL_API EffectManager {
    // This maps URIs to EffectCategory pointers for all added categories.
    // It is needed for fast lookup and easy deletion.
    typedef std::map<wxString, EffectCategory*> CategoryMap;
-   CategoryMap mCategories;
+   CategoryMap *mCategories;
    
    // These are the root categories, i.e. the ones without parents.
-   CategorySet mRootCategories;
+   CategorySet *mRootCategories;
    
    // Special category that all effects with unknown category URIs
    // are placed in.
-   EffectSet mUnsorted;
+   EffectSet *mUnsorted;
 #endif
 
 };
diff --git a/src/effects/Equalization.cpp b/src/effects/Equalization.cpp
index b3aebb6..253d515 100644
--- a/src/effects/Equalization.cpp
+++ b/src/effects/Equalization.cpp
@@ -10,7 +10,7 @@
 
 *******************************************************************//**
 
-\file EffectEqualization.cpp
+\file Equalization.cpp
 \brief Implements EffectEqualiztaion, EqualizationDialog,
 EqualizationPanel, EQCurve and EQPoint.
 
@@ -61,6 +61,7 @@ various graphing code, such as provided by FreqWindow and FilterPanel.
 
 #include "../Audacity.h"
 #include "Equalization.h"
+#include "../AColor.h"
 #include "../ShuttleGui.h"
 #include "../PlatformCompatibility.h"
 #include "../FileNames.h"
@@ -212,7 +213,12 @@ const float EffectEqualization::curvey[][nCurvePoints] =
 #pragma warning( default: 4305 )
 #endif
 
-#ifdef __WXGTK__
+// LLL:  This seem to have a strange interaction with wxWidgets 2.8.9.  It's
+//       possible that the wxSlider was fixed as it seems to work ok for me
+//       under Ubuntu 8.10 with self build wxWidgets 2.8.9.
+//
+//       Leaving here for now...just disabling
+#ifdef __WXGTK__disabled
 /*
  * wxSlider exhibits strange behaviour on wxGTK when wxSL_INVERSE and/or
  * negative scale values are used. This affects at least SUSE 9.3 with
@@ -301,6 +307,8 @@ static wxString interpChoiceStrings[NUM_INTERP_CHOICES];
 
 EffectEqualization::EffectEqualization()
 {
+   hFFT = InitializeFFT(windowSize);
+   mFFTBuffer = new float[windowSize];
    mFilterFuncR = new float[windowSize];
    mFilterFuncI = new float[windowSize];
    gPrefs->Read(wxT("/CsPresets/EQFilterLength"),
@@ -323,6 +331,7 @@ EffectEqualization::EffectEqualization()
    }
    gPrefs->Read(wxT("/CsPresets/EQDrawMode"), &mDrawMode, true);
    gPrefs->Read(wxT("/CsPresets/EQInterp"), &mInterp, 0);
+   gPrefs->Read(wxT("/CsPresets/EQDrawGrid"), &mDrawGrid, true);
 
    mPrompting = false;
 
@@ -334,6 +343,12 @@ EffectEqualization::EffectEqualization()
 
 EffectEqualization::~EffectEqualization()
 {
+   if(hFFT) 
+      EndFFT(hFFT);
+   hFFT = NULL;
+   if(mFFTBuffer)
+      delete[] mFFTBuffer;
+   mFFTBuffer = NULL;
    if(mFilterFuncR)
       delete[] mFilterFuncR;
    if(mFilterFuncI)
@@ -342,19 +357,16 @@ EffectEqualization::~EffectEqualization()
    mFilterFuncI = NULL;
 }
 
-void EffectEqualization::End()
-{
-   mPrompting = false;
-}
-
 bool EffectEqualization::Init()
 {
-   return(mPrompting = true);
+   if(!mPrompting)
+      DontPromptUser();   // not previewing, ie batch mode or initial setup
+   return(true);
 }
 
 bool EffectEqualization::PromptUser()
 {
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *t = (WaveTrack *) iter.First();
    float hiFreq;
    if (t)
@@ -373,12 +385,12 @@ bool EffectEqualization::PromptUser()
    dlog.dBMax = mdBMax;
    dlog.drawMode = mDrawMode;
    dlog.interp = mInterp;
-   // not required here - called automatically
-   // dlog.TransferDataToWindow();
+   dlog.drawGrid = mDrawGrid;
    dlog.CentreOnParent();
 
-   mPrompting = true;
+   mPrompting = true;   // true when previewing, false in batch
    dlog.ShowModal();
+   mPrompting = false;
 
    if (!dlog.GetReturnCode())
       return false;
@@ -390,6 +402,7 @@ bool EffectEqualization::PromptUser()
    mdBMax = dlog.dBMax;
    mDrawMode = dlog.drawMode;
    mInterp = dlog.interp;
+   mDrawGrid = dlog.drawGrid;
 
    gPrefs->Write(wxT("/CsPresets/EQFilterLength"),mM);
    gPrefs->Write(wxT("/CsPresets/EQCurveName"),mCurveName);
@@ -398,13 +411,14 @@ bool EffectEqualization::PromptUser()
    gPrefs->Write(wxT("/CsPresets/EQdBMax"),mdBMax);
    gPrefs->Write(wxT("/CsPresets/EQDrawMode"),mDrawMode);
    gPrefs->Write(wxT("/CsPresets/EQInterp"), mInterp);
+   gPrefs->Write(wxT("/CsPresets/EQDrawGrid"), mDrawGrid);
 
    return true;
 }
 
 bool EffectEqualization::DontPromptUser()
 {
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *t = (WaveTrack *) iter.First();
    float hiFreq;
    if (t)
@@ -421,7 +435,7 @@ bool EffectEqualization::DontPromptUser()
    dlog.interp = mInterp;
    // IS required here - no call to ShowModal!
    dlog.TransferDataToWindow();
-   dlog.CalcFilter();
+   dlog.CalcFilter();   // is needed here - the one done due to TransferDataToWindow->OnLinFreq isn't reliable
 
    return true;
 }
@@ -438,13 +452,10 @@ bool EffectEqualization::TransferParameters( Shuttle & shuttle )
 
 bool EffectEqualization::Process()
 {
-   if (!mPrompting) {
-      DontPromptUser();
-   }
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    int count = 0;
    while (track) {
@@ -469,7 +480,7 @@ bool EffectEqualization::Process()
       count++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -496,7 +507,7 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
 
    sampleCount originalLen = len;
 
-   int i;
+   int i,j;
    for(i=0; i<windowSize; i++)
       lastWindow[i] = 0;
 
@@ -513,8 +524,6 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
 
       t->Get((samplePtr)buffer, floatSample, s, block);
 
-      int j = 0;
-
       for(i=0; i<block; i+=L)   //go through block in lumps of length L
       {
          wcopy = L;
@@ -528,7 +537,7 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
          Filter(windowSize, thisWindow);
 
          // Overlap - Add
-         for(j=0; j<mM-1; j++)
+         for(j=0; (j<mM-1) && (j<wcopy); j++)
             buffer[i+j] = thisWindow[j] + lastWindow[L + j];
          for(j=mM-1; j<wcopy; j++)
             buffer[i+j] = thisWindow[j];
@@ -552,8 +561,19 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
    if(bLoopSuccess)
    {
       // mM-1 samples of 'tail' left in lastWindow, get them now
-      for(int j=0; j<mM-1; j++)
-         buffer[j] = lastWindow[wcopy + j];
+      if(wcopy < (mM-1)) {
+         // Still have some overlap left to process
+         // (note that lastWindow and thisWindow have been exchanged at this point
+         //  so that 'thisWindow' is really the window prior to 'lastWindow')
+         for(j=0; j<mM-1-wcopy; j++)
+            buffer[j] = lastWindow[wcopy + j] + thisWindow[L + wcopy + j];
+         // And fill in the remainder after the overlap
+         for( ; j<mM-1; j++)
+            buffer[j] = lastWindow[wcopy + j];
+      } else {
+         for(j=0; j<mM-1; j++)
+            buffer[j] = lastWindow[wcopy + j];
+      }
       output->Append((samplePtr)buffer, floatSample, mM-1);
       output->Flush();
 
@@ -568,6 +588,7 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
    delete[] buffer;
    delete[] window1;
    delete[] window2;
+   delete output;
 
    return bLoopSuccess;
 }
@@ -575,39 +596,28 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
 void EffectEqualization::Filter(sampleCount len,
          float *buffer)
 {
-   float *inr = new float[len];
-   float *ini = new float[len];
-   float *outr = new float[len];
-   float *outi = new float[len];
-
    int i;
-   float temp;
-
-   for(i=0; i<len; i++)
-      inr[i] = buffer[i];
-
+   float re,im;
    // Apply FFT
-   FFT(len, false, inr, NULL, outr, outi);
+   RealFFTf(buffer, hFFT);
+   //FFT(len, false, inr, NULL, outr, outi);
 
    // Apply filter
-   for(i=0; i<len; i++)
+   // DC component is purely real
+   mFFTBuffer[0] = buffer[0] * mFilterFuncR[0];
+   for(i=1; i<(len/2); i++)
    {
-      temp = outr[i]*mFilterFuncR[i] - outi[i]*mFilterFuncI[i];
-      outi[i] = outr[i]*mFilterFuncI[i] + outi[i]*mFilterFuncR[i];
-      outr[i] = temp;
+      re=buffer[hFFT->BitReversed[i]  ];
+      im=buffer[hFFT->BitReversed[i]+1];
+      mFFTBuffer[2*i  ] = re*mFilterFuncR[i] - im*mFilterFuncI[i];
+      mFFTBuffer[2*i+1] = re*mFilterFuncI[i] + im*mFilterFuncR[i];
    }
-
+   // Fs/2 component is purely real
+   mFFTBuffer[1] = buffer[1] * mFilterFuncR[len/2];
 
    // Inverse FFT and normalization
-   FFT(len, true, outr, outi, inr, ini);
-
-   for(i=0; i<len; i++)
-      buffer[i] = float(inr[i]);
-
-   delete[] inr;
-   delete[] ini;
-   delete[] outr;
-   delete[] outi;
+   InverseRealFFTf(mFFTBuffer, hFFT);
+   ReorderToTime(hFFT, mFFTBuffer, buffer);
 }
 
 
@@ -672,7 +682,11 @@ void EqualizationPanel::Recalc()
    mOuti = new float[mWindowSize];
 
    mParent->CalcFilter();   //to calculate the actual response
-   FFT(mWindowSize,true,mFilterFuncR,mFilterFuncI,mOutr,mOuti);   //work out FIR response
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   InverseRealFFT(mWindowSize, mFilterFuncR, mFilterFuncI, mOutr);
+#else
+   FFT(mWindowSize,true,mFilterFuncR,mFilterFuncI,mOutr,mOuti);   //work out FIR response - note mOuti will be all zeros
+#endif // EXPERIMENTAL_USE_REALFFTF
 }
 
 void EqualizationPanel::OnSize(wxSizeEvent & evt)
@@ -728,13 +742,14 @@ void EqualizationPanel::OnPaint(wxPaintEvent & evt)
    memDC.DrawRectangle(border);
 
    mEnvRect = border;
-   mEnvRect.Deflate( 2, 2 );
+   mEnvRect.Deflate(2, 2);
 
    // Pure blue x-axis line
    memDC.SetPen(wxPen(theTheme.Colour( clrGraphLines ), 1, wxSOLID));
    int center = (int) (mEnvRect.height * dBMax/(dBMax-dBMin) + .5);
-   memDC.DrawLine(mEnvRect.x, mEnvRect.y + center,
-                  mEnvRect.x + mEnvRect.width, mEnvRect.y + center);
+   AColor::Line(memDC,
+                mEnvRect.GetLeft(), mEnvRect.y + center,
+                mEnvRect.GetRight(), mEnvRect.y + center);
 
    // Med-blue envelope line
    memDC.SetPen(wxPen(theTheme.Colour( clrGraphLines ), 3, wxSOLID));
@@ -748,9 +763,9 @@ void EqualizationPanel::OnPaint(wxPaintEvent & evt)
    {
       x = mEnvRect.x + i;
       y = lrint(mEnvRect.height*((dBMax-values[i])/(dBMax-dBMin)) + .25 ); //needs more optimising, along with'what you get'?
-      if( y > mEnvRect.height)
+      if( y >= mEnvRect.height)
       {
-         y = mEnvRect.height;
+         y = mEnvRect.height - 1;
          off = true;
       }
       else
@@ -760,8 +775,8 @@ void EqualizationPanel::OnPaint(wxPaintEvent & evt)
       }
       if ( (i != 0) & (!off1) )
       {
-         memDC.DrawLine(xlast, ylast,
-                        x, mEnvRect.y + y);
+         AColor::Line(memDC, xlast, ylast,
+                      x, mEnvRect.y + y);
       }
       off1 = off;
       xlast = x;
@@ -815,14 +830,14 @@ void EqualizationPanel::OnPaint(wxPaintEvent & evt)
          yF = dBMin;
       yF = center-scale*yF;
       if(yF>mEnvRect.height)
-         yF = mEnvRect.height;
+         yF = mEnvRect.height - 1;
       if(yF<0.)
          yF=0.;
       y = (int)(yF+.5);
 
       if (i != 0)
       {
-         memDC.DrawLine(xlast, ylast, x, mEnvRect.y + y);
+         AColor::Line(memDC, xlast, ylast, x, mEnvRect.y + y);
       }
       xlast = x;
       ylast = mEnvRect.y + y;
@@ -832,6 +847,12 @@ void EqualizationPanel::OnPaint(wxPaintEvent & evt)
    if( mParent->mFaderOrDraw[0]->GetValue() )
       mEnvelope->Draw(memDC, mEnvRect, 0.0, mEnvRect.width, false, dBMin, dBMax);
 
+   if( mParent->drawGrid )
+   {
+      mParent->freqRuler->ruler.DrawGrid(memDC, mEnvRect.height+2, true, true, 0, 1);
+      mParent->dBRuler->ruler.DrawGrid(memDC, mEnvRect.width+2, true, true, 1, 2);
+   }
+
    dc.Blit(0, 0, mWidth, mHeight,
            &memDC, 0, 0, wxCOPY, FALSE);
 }
@@ -899,6 +920,7 @@ BEGIN_EVENT_TABLE(EqualizationDialog,wxDialog)
    EVT_RADIOBUTTON(drawRadioID, EqualizationDialog::OnDrawRadio)
    EVT_RADIOBUTTON(sliderRadioID, EqualizationDialog::OnSliderRadio)
    EVT_CHECKBOX(ID_LIN_FREQ, EqualizationDialog::OnLinFreq)
+   EVT_CHECKBOX(GridOnOffID, EqualizationDialog::OnGridOnOff)
 END_EVENT_TABLE()
 
 EqualizationDialog::EqualizationDialog(EffectEqualization * effect,
@@ -961,6 +983,12 @@ EqualizationDialog::EqualizationDialog(EffectEqualization * effect,
    m_EQVals[NUMBER_OF_BANDS] = 0.;
 }
 
+EqualizationDialog::~EqualizationDialog()
+{
+   delete mLogEnvelope;
+   delete mLinEnvelope;
+}
+
 //
 // Load external curves with fallback to internal
 //
@@ -1063,22 +1091,26 @@ void EqualizationDialog::SaveCurves()
 
    // Create/Open the file
    XMLFileWriter eqFile;
-   eqFile.Open( fn.GetFullPath(), wxT("wb") );
 
-   // Complain if open failed
-   if( !eqFile.IsOpened() )
+   try
    {
-      // Constructor will emit message
-      return;
-   }
+      eqFile.Open( fn.GetFullPath(), wxT("wb") );
 
-   // Write the curves
-   WriteXML( eqFile );
+      // Write the curves
+      WriteXML( eqFile );
 
-   // Close the file
-   eqFile.Close();
+      // Close the file
+      eqFile.Close();
+   }
+   catch (XMLFileWriterException* pException)
+   {
+      wxMessageBox(wxString::Format(
+         _("Couldn't write to file \"%s\": %s"),
+         fn.GetFullPath().c_str(), pException->GetMessage().c_str()),
+         _("Error saving equalization curves"), wxICON_ERROR, this);
 
-   return;
+      delete pException;
+   }
 }
 
 //
@@ -1278,6 +1310,11 @@ void EqualizationDialog::MakeEqualizationDialog()
 
    btn = new wxButton( this, ID_CLEAR, _("Flat"));
    szrC->Add( btn, 0, wxALIGN_CENTRE | wxALL, 4 );
+   mGridOnOff = new wxCheckBox(this, GridOnOffID, _("Grids"),
+                            wxDefaultPosition, wxDefaultSize,
+                            wxALIGN_RIGHT);
+   mGridOnOff->SetName(_("Grids"));
+   szrC->Add( mGridOnOff, 0, wxALIGN_CENTRE | wxALL, 4 );
 
    szrV->Add( szrC, 0, wxALIGN_CENTER | wxALL, 0 );
 
@@ -1360,7 +1397,9 @@ bool EqualizationDialog::TransferDataToWindow()
    // Set log or lin freq scale (affects interpolation as well)
    mLinFreq->SetValue( linCheck );
    wxCommandEvent dummyEvent;
-   OnLinFreq(dummyEvent);
+   OnLinFreq(dummyEvent);  // causes a CalcFilter
+
+   mGridOnOff->SetValue( drawGrid ); // checks/unchecks the box on the interface
 
    MSlider->SetValue((M-1)/2);
    M = 0;                        // force refresh in TransferDataFromWindow()
@@ -1517,7 +1556,11 @@ bool EqualizationDialog::CalcFilter()
    //transfer to time domain to do the padding and windowing
    float *outr = new float[mWindowSize];
    float *outi = new float[mWindowSize];
+#ifdef EXPERIMENTAL_USE_REALFFTF
+   InverseRealFFT(mWindowSize, mFilterFuncR, NULL, outr); // To time domain
+#else
    FFT(mWindowSize,true,mFilterFuncR,NULL,outr,outi);   //To time domain
+#endif
 
    for(i=0;i<=(M-1)/2;i++)
    {   //Windowing - could give a choice, fixed for now - MJS
@@ -1552,7 +1595,7 @@ bool EqualizationDialog::CalcFilter()
    }
 
    //Back to the frequency domain so we can use it
-   FFT(mWindowSize,false,outr,NULL,mFilterFuncR,mFilterFuncI);
+   RealFFT(mWindowSize,outr,mFilterFuncR,mFilterFuncI);
 
    delete[] outr;
    delete[] outi;
@@ -1572,7 +1615,7 @@ void EqualizationDialog::setCurve(int currentCurve)
    wxASSERT( currentCurve < (int) mCurves.GetCount() );
    bool changed = false;
 
-   if( mFaderOrDraw[0]->GetValue() & mLinFreq->IsChecked() )   // linear freq mode?
+   if( mLinFreq->IsChecked() )   // linear freq mode?
    {
       Envelope *env = mLinEnvelope;
       env->Flatten(0.);
@@ -2114,7 +2157,7 @@ void EqualizationDialog::GraphicEQ(Envelope *env)
 
       case 2:  // Cubic Spline
       {
-         double y2[NUMBER_OF_BANDS];
+         double y2[NUMBER_OF_BANDS+1];
          m_EQVals[bandsInUse] = m_EQVals[bandsInUse-1];
          spline(whenSliders, m_EQVals, bandsInUse+1, y2);
          for(double xf=0; xf<1.; xf+=1./NUM_PTS)
@@ -2132,7 +2175,7 @@ void EqualizationDialog::GraphicEQ(Envelope *env)
 void EqualizationDialog::spline(double x[], double y[], int n, double y2[])
 {
    int i;
-   double p, sig, u[NUMBER_OF_BANDS];
+   double p, sig, *u = new double[n];
 
    y2[0] = 0.;  //
    u[0] = 0.;   //'natural' boundary conditions
@@ -2147,6 +2190,8 @@ void EqualizationDialog::spline(double x[], double y[], int n, double y2[])
    y2[n-1] = 0.;
    for(i=n-2;i>=0;i--)
       y2[i] = y2[i]*y2[i+1] + u[i];
+
+   delete [] u;
 }
 
 double EqualizationDialog::splint(double x[], double y[], int n, double y2[], double xr)
@@ -2202,6 +2247,8 @@ void EqualizationDialog::OnDrawRadio(wxCommandEvent &evt)
          }
       }
    }
+   delete [] when;
+   delete [] value;
 
    if(mLinFreq->IsChecked())
    {
@@ -2323,61 +2370,71 @@ void EqualizationDialog::OnLinFreq(wxCommandEvent &evt)
 
 void EqualizationDialog::EnvLogToLin(void)
 {
-      int numPoints = mLogEnvelope->GetNumberOfPoints();
-      double *when = new double[ numPoints ];
-      double *value = new double[ numPoints ];
+   int numPoints = mLogEnvelope->GetNumberOfPoints();
+   if( numPoints == 0 )
+   {
+      return;
+   }
 
-      mLinEnvelope->Flatten(0.);
-      mLinEnvelope->SetTrackLen(1.0);
-      mLogEnvelope->GetPoints( when, value, numPoints );
-      mLinEnvelope->Move(0., value[0]);
-      double loLog = log10(20.);
-      double hiLog = log10(mHiFreq);
-      double denom = hiLog - loLog;
+   double *when = new double[ numPoints ];
+   double *value = new double[ numPoints ];
+
+   mLinEnvelope->Flatten(0.);
+   mLinEnvelope->SetTrackLen(1.0);
+   mLogEnvelope->GetPoints( when, value, numPoints );
+   mLinEnvelope->Move(0., value[0]);
+   double loLog = log10(20.);
+   double hiLog = log10(mHiFreq);
+   double denom = hiLog - loLog;
 
-      for( int i=0; i < numPoints; i++)
-         mLinEnvelope->Insert(pow( 10., ((when[i] * denom) + loLog))/mHiFreq , value[i]);
-      mLinEnvelope->Move(1., value[numPoints-1]);
+   for( int i=0; i < numPoints; i++)
+      mLinEnvelope->Insert(pow( 10., ((when[i] * denom) + loLog))/mHiFreq , value[i]);
+   mLinEnvelope->Move(1., value[numPoints-1]);
 
-      delete [] when;
-      delete [] value;
+   delete [] when;
+   delete [] value;
 }
 
 void EqualizationDialog::EnvLinToLog(void)
 {
-      int numPoints = mLinEnvelope->GetNumberOfPoints();
-      double *when = new double[ numPoints ];
-      double *value = new double[ numPoints ];
+   int numPoints = mLinEnvelope->GetNumberOfPoints();
+   if( numPoints == 0 )
+   {
+      return;
+   }
+   
+   double *when = new double[ numPoints ];
+   double *value = new double[ numPoints ];
 
-      mLogEnvelope->Flatten(0.);
-      mLogEnvelope->SetTrackLen(1.0);
-      mLinEnvelope->GetPoints( when, value, numPoints );
-      mLogEnvelope->Move(0., value[0]);
-      double loLog = log10(20.);
-      double hiLog = log10(mHiFreq);
-      double denom = hiLog - loLog;
-      bool changed = false;
+   mLogEnvelope->Flatten(0.);
+   mLogEnvelope->SetTrackLen(1.0);
+   mLinEnvelope->GetPoints( when, value, numPoints );
+   mLogEnvelope->Move(0., value[0]);
+   double loLog = log10(20.);
+   double hiLog = log10(mHiFreq);
+   double denom = hiLog - loLog;
+   bool changed = false;
 
-      for( int i=0; i < numPoints; i++)
+   for( int i=0; i < numPoints; i++)
+   {
+      if( when[i]*mHiFreq >= 20 )
       {
-         if( when[i]*mHiFreq >= 20 )
-         {
-            mLogEnvelope->Insert((log10(when[i]*mHiFreq)-loLog)/denom , value[i]);
-         }
-         else
-         {  //get the first point as close as we can to the last point requested
-            changed = true;
-            double v = value[i];
-            mLogEnvelope->Insert(0., v);
-         }
+         mLogEnvelope->Insert((log10(when[i]*mHiFreq)-loLog)/denom , value[i]);
+      }
+      else
+      {  //get the first point as close as we can to the last point requested
+         changed = true;
+         double v = value[i];
+         mLogEnvelope->Insert(0., v);
       }
-      mLogEnvelope->Move(1., value[numPoints-1]);
+   }
+   mLogEnvelope->Move(1., value[numPoints-1]);
 
-      delete [] when;
-      delete [] value;
+   delete [] when;
+   delete [] value;
 
-      if(changed)
-         EnvelopeUpdated(mLogEnvelope, false);
+   if(changed)
+      EnvelopeUpdated(mLogEnvelope, false);
 }
 
 void EqualizationDialog::ErrMin(void)
@@ -2684,9 +2741,21 @@ void EqualizationDialog::OnPreview(wxCommandEvent &event)
 {
    TransferDataFromWindow();
    m_pEffect->Preview();
+   mPanel->RecalcRequired = true;
+   wxPaintEvent dummyEvent;
+   OnPaint(dummyEvent);
    //v Restore previous values?
 }
 
+void EqualizationDialog::OnGridOnOff(wxCommandEvent & WXUNUSED(event))
+{
+   if( mGridOnOff->IsChecked() )
+      drawGrid = true;
+   else
+      drawGrid = false;
+   mPanel->Refresh(false);
+}
+
 void EqualizationDialog::OnCancel(wxCommandEvent &event)
 {
    if(mLogEnvelope)
diff --git a/src/effects/Equalization.h b/src/effects/Equalization.h
index baf2fdf..c7a930f 100644
--- a/src/effects/Equalization.h
+++ b/src/effects/Equalization.h
@@ -29,9 +29,6 @@
 #include <wx/checkbox.h>
 
 #if wxUSE_ACCESSIBILITY
-#if defined(__WXMSW__)
-#include <oleacc.h>
-#endif
 #include <wx/access.h>
 #endif
 
@@ -40,6 +37,7 @@
 #include "../WaveTrack.h"
 #include "../xml/XMLTagHandler.h"
 #include "../widgets/Ruler.h"
+#include "../RealFFTf.h"
 
 class EqualizationDialog;
 
@@ -99,7 +97,6 @@ public:
    }
 
    virtual bool Init();
-   virtual void End();
    virtual bool PromptUser();
    virtual bool DontPromptUser();
    virtual bool TransferParameters( Shuttle & shuttle );
@@ -120,6 +117,8 @@ private:
    void Filter(sampleCount len,
                float *buffer);
 
+   HFFT hFFT;
+   float *mFFTBuffer;
    float *mFilterFuncR;
    float *mFilterFuncI;
    int mM;
@@ -130,6 +129,7 @@ private:
    bool mDrawMode;
    int mInterp;
    bool mPrompting;
+   bool mDrawGrid;
 
 public:
    enum curveType {
@@ -216,6 +216,7 @@ public:
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = wxDEFAULT_DIALOG_STYLE );
+   ~EqualizationDialog();
 
    // WDR: method declarations for EqualizationDialog
    virtual bool Validate();
@@ -239,6 +240,9 @@ public:
    int bandsInUse;
    bool drawMode;
    int interp;
+   bool drawGrid;
+   RulerPanel *dBRuler;
+   RulerPanel *freqRuler;
 
 private:
    void MakeEqualizationDialog();
@@ -277,6 +281,7 @@ private:
       sliderRadioID,
       ID_INTERP,
       ID_LIN_FREQ,
+      GridOnOffID,
       ID_SLIDER   // needs to come last
    };
 
@@ -304,7 +309,7 @@ private:
    void OnPreview(wxCommandEvent &event);
    void OnOk( wxCommandEvent &event );
    void OnCancel( wxCommandEvent &event );
-
+   void OnGridOnOff( wxCommandEvent &event );
 private:
    EffectEqualization * m_pEffect;
 
@@ -330,8 +335,6 @@ private:
    wxSlider *MSlider;
    wxSlider *dBMinSlider;
    wxSlider *dBMaxSlider;
-   RulerPanel *dBRuler;
-   RulerPanel *freqRuler;
    wxBoxSizer *szrC;
    wxBoxSizer *szrG;
    wxBoxSizer *szrV;
@@ -343,6 +346,7 @@ private:
    wxBoxSizer *szr2;
    wxFlexGridSizer *szr1;
    wxSize size;
+   wxCheckBox *mGridOnOff;
 
    EQCurveArray mCurves;
 
diff --git a/src/effects/FindClipping.cpp b/src/effects/FindClipping.cpp
index fd8a92e..aad1e25 100644
--- a/src/effects/FindClipping.cpp
+++ b/src/effects/FindClipping.cpp
@@ -40,6 +40,7 @@
 
 EffectFindClipping::EffectFindClipping()
 {
+   SetEffectFlags(BUILTIN_EFFECT | ANALYZE_EFFECT);
    mStart = 3;
    mStop = 3;
 }
@@ -74,15 +75,16 @@ bool EffectFindClipping::Process()
    LabelTrack *l = NULL;
    Track *original = NULL;
 
-   TrackListIterator iter(mTracks);
-   for (Track *t = iter.First(); t && !l; t = iter.Next()) {
-      if (t->GetKind() == Track::Label && t->GetName() == wxT("Clipping")) {
+   TrackListOfKindIterator iter(Track::Label, mTracks);
+   for (Track *t = iter.First(); t; t = iter.Next()) {
+      if (t->GetName() == wxT("Clipping")) {
          l = (LabelTrack *) t;
          // copy LabelTrack here, so it can be undone on cancel
          l->Copy(l->GetStartTime(), l->GetEndTime(), &original);
          original->SetOffset(l->GetStartTime());
          original->SetName(wxT("Clipping"));
          l->Clear(l->GetStartTime(), l->GetEndTime());
+         break;
       }
    }
    
@@ -94,7 +96,7 @@ bool EffectFindClipping::Process()
 
    int count = 0;
 
-   TrackListIterator waves(mWaveTracks);
+   TrackListOfKindIterator waves(Track::Wave, mTracks);
    WaveTrack *t = (WaveTrack *) waves.First();
    while (t) {
       double trackStart = t->GetStartTime();
diff --git a/src/effects/FindClipping.h b/src/effects/FindClipping.h
index 1a50e64..579ed60 100644
--- a/src/effects/FindClipping.h
+++ b/src/effects/FindClipping.h
@@ -53,10 +53,6 @@ class EffectFindClipping:public Effect
    {
       return wxString(_("Detecting clipping"));
    }
-   
-   virtual int GetEffectFlags() {
-      return BUILTIN_EFFECT | ANALYZE_EFFECT;
-   }
 
    virtual wxString GetEffectDescription(); 
 
diff --git a/src/effects/LoadEffects.cpp b/src/effects/LoadEffects.cpp
index 34a25c8..e3b3fe6 100644
--- a/src/effects/LoadEffects.cpp
+++ b/src/effects/LoadEffects.cpp
@@ -21,7 +21,6 @@
 #include "ChangeSpeed.h"
 #include "ClickRemoval.h"
 #include "Compressor.h"
-#include "Contrast.h"
 #include "DtmfGen.h"
 #include "Echo.h"
 #include "Equalization.h"
@@ -59,8 +58,8 @@
 #include "audiounits/LoadAudioUnits.h"
 #endif
 
-#if defined(__WXMSW__) && !defined(__CYGWIN__)
-#include "VST/LoadVSTWin.h"
+#ifdef USE_VST
+#include "VST/LoadVST.h"
 #endif
 
 #ifdef USE_LADSPA
@@ -267,8 +266,7 @@ void LoadEffects()
    em.RegisterEffect(new EffectWahwah());
 
    // Analyze menu
-   em.RegisterEffect(new EffectContrast(), ANALYZE_EFFECT);
-   em.RegisterEffect(new EffectFindClipping(), ANALYZE_EFFECT);
+   em.RegisterEffect(new EffectFindClipping());
 
 #ifdef USE_NYQUIST
    LoadNyquistPlugins();
@@ -278,6 +276,10 @@ void LoadEffects()
    LoadLadspaPlugins();
 #endif
 
+#ifdef USE_VST
+   LoadVSTPlugins();
+#endif
+
 #ifdef USE_SLV2
    LoadLV2Plugins();
 #endif
diff --git a/src/effects/Noise.cpp b/src/effects/Noise.cpp
index 2881e01..94ad85c 100644
--- a/src/effects/Noise.cpp
+++ b/src/effects/Noise.cpp
@@ -48,10 +48,10 @@ bool EffectNoise::PromptUser()
    // replace selection with noise
    //
    if (mT1 > mT0) {
-      noiseDuration = mT1 - mT0;
+      mDuration = mT1 - mT0;
       dlog.nIsSelection = true;
    } else {
-      gPrefs->Read(wxT("/CsPresets/NoiseGen_Duration"), &noiseDuration, 1L);
+      gPrefs->Read(wxT("/CsPresets/NoiseGen_Duration"), &mDuration, 1L);
       dlog.nIsSelection = false;
    }
 
@@ -59,7 +59,7 @@ bool EffectNoise::PromptUser()
    gPrefs->Read(wxT("/CsPresets/NoiseGen_Amp"), &noiseAmplitude, 0.8f);
 
    // Initialize dialog locals
-   dlog.nDuration = noiseDuration;
+   dlog.nDuration = mDuration;
    dlog.nAmplitude = noiseAmplitude;
    dlog.nType = noiseType;
    dlog.nTypeList = &noiseTypeList;
@@ -75,7 +75,7 @@ bool EffectNoise::PromptUser()
 
    // if there was an OK, retrieve values
    noiseType = dlog.nType;
-   noiseDuration = dlog.nDuration;
+   mDuration = dlog.nDuration;
    noiseAmplitude = dlog.nAmplitude;
 
    return true;
@@ -137,76 +137,24 @@ bool EffectNoise::MakeNoise(float *buffer, sampleCount len, float fs, float ampl
    return true;
 }
 
-bool EffectNoise::Process()
+void EffectNoise::GenerateBlock(float *data,
+                                const WaveTrack &track,
+                                sampleCount block)
 {
-   if (noiseDuration <= 0.0)
-      noiseDuration = sDefaultGenerateLen;
-
-   //Iterate over each track
-   int ntrack = 0;
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-   bool bGoodResult = true;
-   
-#ifdef EXPERIMENTAL_FULL_LINKING
-   HandleLinkedTracksOnGenerate(noiseDuration, mT0);
-#endif
-
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack *track = (WaveTrack *)iter.First();
-   while (track) {
-      WaveTrack *tmp = mFactory->NewWaveTrack(track->GetSampleFormat(), track->GetRate());
-      numSamples = track->TimeToLongSamples(noiseDuration);
-      sampleCount i = 0;
-      float *data = new float[tmp->GetMaxBlockSize()];
-      sampleCount block;
-
-      while ((i < numSamples) && bGoodResult) {
-         block = tmp->GetBestBlockSize(i);
-         if (block > (numSamples - i))
-             block = numSamples - i;
-
-         MakeNoise(data, block, track->GetRate(), noiseAmplitude);
-
-         tmp->Append((samplePtr)data, floatSample, block);
-         i += block;
-
-         //Update the Progress meter
-         if (TrackProgress(ntrack, (double)i / numSamples))
-            bGoodResult = false;
-      }
-      delete[] data;
-
-      tmp->Flush();
-      track->HandleClear(mT0, mT1, false, false);
-      track->HandlePaste(mT0, tmp);
-      delete tmp;
-
-      if (!bGoodResult)
-         break;
-
-      //Iterate to the next track
-      ntrack++;
-      track = (WaveTrack *)iter.Next();
-   }
+   MakeNoise(data, block, track.GetRate(), noiseAmplitude);
+}
 
-   if (bGoodResult)
-   {
-      /*
-         save last used values
-         save duration unless value was got from selection, so we save only
-         when user explicitely setup a value
+void EffectNoise::Success()
+{
+   /* save last used values
+      save duration unless value was got from selection, so we save only
+      when user explicitely setup a value
       */
-      if (mT1 == mT0)
-         gPrefs->Write(wxT("/CsPresets/NoiseGen_Duration"), noiseDuration);
-
-      gPrefs->Write(wxT("/CsPresets/NoiseGen_Type"), noiseType);
-      gPrefs->Write(wxT("/CsPresets/NoiseGen_Amp"), noiseAmplitude);
-
-      mT1 = mT0 + noiseDuration; // Update selection.
-   }
+   if (mT1 == mT0)
+      gPrefs->Write(wxT("/CsPresets/NoiseGen_Duration"), mDuration);
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-   return bGoodResult;
+   gPrefs->Write(wxT("/CsPresets/NoiseGen_Type"), noiseType);
+   gPrefs->Write(wxT("/CsPresets/NoiseGen_Amp"), noiseAmplitude);
 }
 
 //----------------------------------------------------------------------------
@@ -228,7 +176,7 @@ NoiseDialog::NoiseDialog(EffectNoise * effect, wxWindow * parent, const wxString
 {
    mNoiseDurationT = NULL;
    /* // already initialized in EffectNoise::PromptUser
-   nDuration = noiseDuration;
+   nDuration = mDuration;
    nAmplitude = noiseAmplitude;
    nType = noiseType;
    */
diff --git a/src/effects/Noise.h b/src/effects/Noise.h
index 8ab8266..e7c23bc 100644
--- a/src/effects/Noise.h
+++ b/src/effects/Noise.h
@@ -16,7 +16,7 @@
 #include <wx/defs.h>
 #include <wx/intl.h>
 
-#include "Effect.h"
+#include "Generator.h"
 #include "../widgets/TimeTextCtrl.h"
 
 class wxString;
@@ -29,12 +29,13 @@ class ShuttleGui;
 class WaveTrack;
 
 
-class EffectNoise:public Effect {
+class EffectNoise : public BlockGenerator {
 
  public:
    EffectNoise() {
-       noiseType=0;
-       noiseAmplitude=1.0;
+      SetEffectFlags(BUILTIN_EFFECT | INSERT_EFFECT);
+      noiseType = 0;
+      noiseAmplitude = 1.0;
    }
 
    virtual wxString GetEffectName() {
@@ -52,24 +53,21 @@ class EffectNoise:public Effect {
    }
 
    virtual wxString GetEffectDescription() {
-      return wxString::Format(_("Applied effect: Generate Noise, %.6lf seconds"), noiseDuration);
+      return wxString::Format(_("Applied effect: Generate Noise, %.6lf seconds"), mDuration);
    }
 
    virtual wxString GetEffectAction() {
       return wxString(_("Generating Noise"));
    }
 
-   virtual int GetEffectFlags() {
-      return BUILTIN_EFFECT | INSERT_EFFECT;
-   }
-
    virtual bool PromptUser();
-   virtual bool Process();
    virtual bool TransferParameters( Shuttle & shuttle );
 
+   void GenerateBlock(float *data, const WaveTrack &track, sampleCount block);
+   void Success();
+
  private:
    sampleCount numSamples;
-   double noiseDuration;
    int noiseType;
    double noiseAmplitude;
 
diff --git a/src/effects/NoiseRemoval.cpp b/src/effects/NoiseRemoval.cpp
index 788ee9b..6fac77b 100644
--- a/src/effects/NoiseRemoval.cpp
+++ b/src/effects/NoiseRemoval.cpp
@@ -43,7 +43,6 @@
 #include "NoiseRemoval.h"
 
 #include "../Envelope.h"
-#include "../FFT.h"
 #include "../WaveTrack.h"
 #include "../Prefs.h"
 #include "../Project.h"
@@ -228,10 +227,10 @@ bool EffectNoiseRemoval::PromptUser()
    // We may want to twiddle the levels if we are setting
    // from an automation dialog, the only case in which we can
    // get here without any wavetracks.
-   bool bAllowTwiddleSettings = (mWaveTracks==NULL); 
+   bool bAllowTwiddleSettings = (GetNumWaveTracks() == 0); 
 
-   if (mHasProfile || bAllowTwiddleSettings ) {
-      dlog.m_pButton_Preview->Enable(mWaveTracks != NULL);
+   if (mHasProfile || bAllowTwiddleSettings) {
+      dlog.m_pButton_Preview->Enable(GetNumWaveTracks() != 0);
       dlog.m_pButton_RemoveNoise->SetDefault();
    } else {
       dlog.m_pButton_Preview->Enable(false);
@@ -282,10 +281,10 @@ bool EffectNoiseRemoval::Process()
 
    // This same code will both remove noise and profile it,
    // depending on 'mDoProfile'
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    int count = 0;
    while (track) {
@@ -317,7 +316,7 @@ bool EffectNoiseRemoval::Process()
 
    if (bGoodResult)
       Cleanup();
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -350,6 +349,7 @@ void EffectNoiseRemoval::Initialize()
    mFreqSmoothingBins = (int)(mFreqSmoothingHz * mWindowSize / mSampleRate);
    mAttackDecayBlocks = 1 +
       (int)(mAttackDecayTime * mSampleRate / (mWindowSize / 2));
+   mNoiseAttenFactor = pow(10.0, mNoiseGain/20.0);
    mOneBlockAttackDecay = (int)(mNoiseGain / (mAttackDecayBlocks - 1));
    mMinSignalBlocks =
       (int)(mMinSignalTime * mSampleRate / (mWindowSize / 2));
@@ -367,18 +367,26 @@ void EffectNoiseRemoval::Initialize()
    for(i = 0; i < mHistoryLen; i++) {
       mSpectrums[i] = new float[mSpectrumSize];
       mGains[i] = new float[mSpectrumSize];
-      mRealFFTs[i] = new float[mWindowSize];
-      mImagFFTs[i] = new float[mWindowSize];
+      mRealFFTs[i] = new float[mSpectrumSize];
+      mImagFFTs[i] = new float[mSpectrumSize];
    }
 
+   // Initialize the FFT
+   hFFT = InitializeFFT(mWindowSize);
+
+   mFFTBuffer = new float[mWindowSize];
    mInWaveBuffer = new float[mWindowSize];
-   mOutWaveBuffer = new float[mWindowSize];
+   mWindow = new float[mWindowSize];
    mOutImagBuffer = new float[mWindowSize];
    mOutOverlapBuffer = new float[mWindowSize];
 
+   // Create a Hanning window function
+   for(i=0; i<mWindowSize; i++)
+      mWindow[i] = 0.5 - 0.5 * cos((2.0*M_PI*i) / mWindowSize);
+
    if (mDoProfile) {
       for (i = 0; i < mSpectrumSize; i++)
-         mNoiseThreshold[i] = -999.0;
+         mNoiseThreshold[i] = float(0);
    }
 }
 
@@ -386,6 +394,8 @@ void EffectNoiseRemoval::Cleanup()
 {
    int i;
 
+   EndFFT(hFFT);
+
    if (mDoProfile) {
       ApplyFreqSmoothing(mNoiseThreshold);
    }
@@ -401,8 +411,9 @@ void EffectNoiseRemoval::Cleanup()
    delete[] mRealFFTs;
    delete[] mImagFFTs;
 
+   delete[] mFFTBuffer;
    delete[] mInWaveBuffer;
-   delete[] mOutWaveBuffer;
+   delete[] mWindow;
    delete[] mOutImagBuffer;
    delete[] mOutOverlapBuffer;
 }
@@ -413,10 +424,8 @@ void EffectNoiseRemoval::StartNewTrack()
 
    for(i = 0; i < mHistoryLen; i++) {
       for(j = 0; j < mSpectrumSize; j++) {
-         mSpectrums[i][j] = -999.0;
-         mGains[i][j] = mNoiseGain;
-      }
-      for(j = 0; j < mWindowSize; j++) {
+         mSpectrums[i][j] = 0;
+         mGains[i][j] = mNoiseAttenFactor;
          mRealFFTs[i][j] = 0.0;
          mImagFFTs[i][j] = 0.0;
       }
@@ -463,15 +472,20 @@ void EffectNoiseRemoval::FillFirstHistoryWindow()
 {
    int i;
 
-   FFT(mWindowSize, false, mInWaveBuffer, NULL,
-       mRealFFTs[0], mImagFFTs[0]);
-   for(i = 0; i < mSpectrumSize; i++) {
-      double power =
-         mRealFFTs[0][i] * mRealFFTs[0][i] +
-         mImagFFTs[0][i] * mImagFFTs[0][i];
-      mSpectrums[0][i] = (float)(10.0 * log10(power));
-      mGains[0][i] = mNoiseGain;
+   for(i=0; i < mWindowSize; i++)
+      mFFTBuffer[i] = mInWaveBuffer[i];
+   RealFFTf(mFFTBuffer, hFFT);
+   for(i = 1; i < (mSpectrumSize-1); i++) {
+      mRealFFTs[0][i] = mFFTBuffer[hFFT->BitReversed[i]  ];
+      mImagFFTs[0][i] = mFFTBuffer[hFFT->BitReversed[i]+1];
+      mSpectrums[0][i] = mRealFFTs[0][i]*mRealFFTs[0][i] + mImagFFTs[0][i]*mImagFFTs[0][i];
+      mGains[0][i] = mNoiseAttenFactor;
    }
+   // DC and Fs/2 bins need to be handled specially
+   mSpectrums[0][0] = mFFTBuffer[0]*mFFTBuffer[0];
+   mSpectrums[0][mSpectrumSize-1] = mFFTBuffer[1]*mFFTBuffer[1];
+   mGains[0][0] = mNoiseAttenFactor;
+   mGains[0][mSpectrumSize-1] = mNoiseAttenFactor;
 }
 
 void EffectNoiseRemoval::RotateHistoryWindows()
@@ -479,11 +493,11 @@ void EffectNoiseRemoval::RotateHistoryWindows()
    int last = mHistoryLen - 1;
    int i;
 
-   // Delete last window
-   delete[] mSpectrums[last];
-   delete[] mGains[last];
-   delete[] mRealFFTs[last];
-   delete[] mImagFFTs[last];   
+   // Remember the last window so we can reuse it
+   float *lastSpectrum = mSpectrums[last];
+   float *lastGain = mGains[last];
+   float *lastRealFFT = mRealFFTs[last];
+   float *lastImagFFT = mImagFFTs[last];
 
    // Rotate each window forward
    for(i = last; i >= 1; i--) {
@@ -493,11 +507,11 @@ void EffectNoiseRemoval::RotateHistoryWindows()
       mImagFFTs[i] = mImagFFTs[i-1];
    }
 
-   // Create new first window
-   mSpectrums[0] = new float[mSpectrumSize];
-   mGains[0] = new float[mSpectrumSize];
-   mRealFFTs[0] = new float[mWindowSize];
-   mImagFFTs[0] = new float[mWindowSize];
+   // Reuse the last buffers as the new first window
+   mSpectrums[0] = lastSpectrum;
+   mGains[0] = lastGain;
+   mRealFFTs[0] = lastRealFFT;
+   mImagFFTs[0] = lastImagFFT;
 }
 
 void EffectNoiseRemoval::FinishTrack()
@@ -516,6 +530,8 @@ void EffectNoiseRemoval::FinishTrack()
    while (mOutSampleCount < mInSampleCount) {
       ProcessSamples(mWindowSize / 2, empty);
    }
+
+   delete [] empty;
 }
 
 void EffectNoiseRemoval::GetProfile()
@@ -555,25 +571,25 @@ void EffectNoiseRemoval::RemoveNoise()
          if (mSpectrums[i][j] < min)
             min = mSpectrums[i][j];
       }
-      if (min > mNoiseThreshold[j] && mGains[center][j] < 0.0)
-         mGains[center][j] = 0.0;
+      if (min > mNoiseThreshold[j] && mGains[center][j] < 1.0)
+         mGains[center][j] = 1.0;
    }
 
    // Decay the gain in both directions;
-   // note that mOneBlockAttackDecay is a negative number, like -1.0
+   // note that mOneBlockAttackDecay is less than 1.0
    // dB of attenuation per block
    for (j = 0; j < mSpectrumSize; j++) {
       for (i = center + 1; i < mHistoryLen; i++) {
-         if (mGains[i][j] < mGains[i - 1][j] + mOneBlockAttackDecay)
-            mGains[i][j] = mGains[i - 1][j] + mOneBlockAttackDecay;
-         if (mGains[i][j] < mNoiseGain)
-            mGains[i][j] = mNoiseGain;
+         if (mGains[i][j] < mGains[i - 1][j] * mOneBlockAttackDecay)
+            mGains[i][j] = mGains[i - 1][j] * mOneBlockAttackDecay;
+         if (mGains[i][j] < mNoiseAttenFactor)
+            mGains[i][j] = mNoiseAttenFactor;
       }
       for (i = center - 1; i >= 0; i--) {
-         if (mGains[i][j] < mGains[i + 1][j] + mOneBlockAttackDecay)
-            mGains[i][j] = mGains[i + 1][j] + mOneBlockAttackDecay;
-         if (mGains[i][j] < mNoiseGain)
-            mGains[i][j] = mNoiseGain;
+         if (mGains[i][j] < mGains[i + 1][j] * mOneBlockAttackDecay)
+            mGains[i][j] = mGains[i + 1][j] * mOneBlockAttackDecay;
+         if (mGains[i][j] < mNoiseAttenFactor)
+            mGains[i][j] = mNoiseAttenFactor;
       }
    }
 
@@ -583,27 +599,21 @@ void EffectNoiseRemoval::RemoveNoise()
    ApplyFreqSmoothing(mGains[out]);
 
    // Apply gain to FFT
-   for (j = 0; j < mSpectrumSize; j++) {
-      float mult = pow(10.0, mGains[out][j] / 20.0);
-
-      mRealFFTs[out][j] *= mult;
-      mImagFFTs[out][j] *= mult;
-      if (j > 0 && j < mSpectrumSize - 1) {
-         mRealFFTs[out][mWindowSize - j] *= mult;
-         mImagFFTs[out][mWindowSize - j] *= mult;
-      }
+   for (j = 0; j < (mSpectrumSize-1); j++) {
+      mFFTBuffer[j*2  ] = mRealFFTs[out][j] * mGains[out][j];
+      mFFTBuffer[j*2+1] = mImagFFTs[out][j] * mGains[out][j];
    }
+   // The Fs/2 component is stored as the imaginary part of the DC component
+   mFFTBuffer[1] = mRealFFTs[out][mSpectrumSize-1] * mGains[out][mSpectrumSize-1];
 
    // Invert the FFT into the output buffer
-   FFT(mWindowSize, true, mRealFFTs[out], mImagFFTs[out],
-       mOutWaveBuffer, mOutImagBuffer);
-
-   // Hanning window
-   WindowFunc(3, mWindowSize, mOutWaveBuffer);
+   InverseRealFFTf(mFFTBuffer, hFFT);
 
    // Overlap-add
-   for(j = 0; j < mWindowSize; j++)
-      mOutOverlapBuffer[j] += mOutWaveBuffer[j];
+   for(j = 0; j < (mSpectrumSize-1); j++) {
+      mOutOverlapBuffer[j*2  ] += mFFTBuffer[hFFT->BitReversed[j]  ] * mWindow[j*2  ];
+      mOutOverlapBuffer[j*2+1] += mFFTBuffer[hFFT->BitReversed[j]+1] * mWindow[j*2+1];
+   }
 
    // Output the first half of the overlap buffer, they're done -
    // and then shift the next half over.
@@ -669,10 +679,9 @@ bool EffectNoiseRemoval::ProcessOne(int count, WaveTrack * track,
       // Take the output track and insert it in place of the original
       // sample data
       if (bLoopSuccess) {
-		   track->HandleClear(mT0, mT1, false, false);
          // Filtering effects always end up with more data than they started with.  Delete this 'tail'.
          mOutputTrack->HandleClear(mT1 - mT0, mOutputTrack->GetEndTime(), false, false);
-         track->HandlePaste(mT0, mOutputTrack);
+         track->ClearAndPaste(mT0, mT1, mOutputTrack);
       }
 
       // Delete the outputTrack now that its data is inserted in place
@@ -860,7 +869,7 @@ void NoiseRemovalDialog::PopulateOrExchange(ShuttleGui & S)
          mFreqS->SetRange(FREQ_MIN, FREQ_MAX);
          mFreqS->SetSizeHints(150, -1);
 
-         mTimeT = S.Id(ID_FREQ_TEXT).AddTextBox(_("Attack/decay time (secs):"),
+         mTimeT = S.Id(ID_TIME_TEXT).AddTextBox(_("Attack/decay time (secs):"),
                                                 wxT(""),
                                                 0);
          S.SetStyle(wxSL_HORIZONTAL);
@@ -876,45 +885,39 @@ void NoiseRemovalDialog::PopulateOrExchange(ShuttleGui & S)
 
 bool NoiseRemovalDialog::TransferDataToWindow()
 {
-   mGainS->SetValue((int)mGain);
-   mFreqS->SetValue((int)(mFreq / 10));
-   mTimeS->SetValue((int)(mTime * 100));
-
    mGainT->SetValue(wxString::Format(wxT("%d"), (int)mGain));
    mFreqT->SetValue(wxString::Format(wxT("%d"), (int)mFreq));
    mTimeT->SetValue(wxString::Format(wxT("%.2f"), mTime));
 
+   mGainS->SetValue(TrapLong(mGain, GAIN_MIN, GAIN_MAX));
+   mFreqS->SetValue(TrapLong(mFreq / 10, FREQ_MIN, FREQ_MAX));
+   mTimeS->SetValue(TrapLong(mTime / 0.01, TIME_MIN, TIME_MAX));
+
    return true;
 }
 
 bool NoiseRemovalDialog::TransferDataFromWindow()
 {
-   mGain = mGainS->GetValue();
-   mFreq = mFreqS->GetValue() * 10;
-   mTime = mTimeS->GetValue() * 0.01;
-
+   // Nothing to do here
    return true;
 }
 
 void NoiseRemovalDialog::OnGainText(wxCommandEvent & event)
 {
-   long val;
-   mGainT->GetValue().ToLong(&val);
-   mGainS->SetValue(TrapLong(val, GAIN_MIN, GAIN_MAX));
+   mGainT->GetValue().ToDouble(&mGain);
+   mGainS->SetValue(TrapLong(mGain, GAIN_MIN, GAIN_MAX));
 }
 
 void NoiseRemovalDialog::OnFreqText(wxCommandEvent & event)
 {
-   long val;
-   mFreqT->GetValue().ToLong(&val);
-   mFreqS->SetValue(TrapLong(val/10, FREQ_MIN, FREQ_MAX));
+   mFreqT->GetValue().ToDouble(&mFreq);
+   mFreqS->SetValue(TrapLong(mFreq / 10, FREQ_MIN, FREQ_MAX));
 }
 
 void NoiseRemovalDialog::OnTimeText(wxCommandEvent & event)
 {
-   long val;
-   mTimeT->GetValue().ToLong(&val);
-   mTimeS->SetValue(TrapLong(val*100, TIME_MIN, TIME_MAX));
+   mTimeT->GetValue().ToDouble(&mTime);
+   mTimeS->SetValue(TrapLong(mTime / 0.01, TIME_MIN, TIME_MAX));
 }
 
 void NoiseRemovalDialog::OnGainSlider(wxCommandEvent & event)
diff --git a/src/effects/NoiseRemoval.h b/src/effects/NoiseRemoval.h
index f678452..77016ed 100644
--- a/src/effects/NoiseRemoval.h
+++ b/src/effects/NoiseRemoval.h
@@ -24,6 +24,8 @@ class wxString;
 class Envelope;
 class WaveTrack;
 
+#include "../RealFFTf.h"
+
 class EffectNoiseRemoval: public Effect {
    
 public:
@@ -103,13 +105,17 @@ private:
    sampleCount       mOutSampleCount;
    int                   mInputPos;
 
+   HFFT     hFFT;
+   float    *mFFTBuffer;         // mWindowSize
+   float    *mWindow;            // mWindowSize
+
    int       mFreqSmoothingBins;
    int       mAttackDecayBlocks;
    float     mOneBlockAttackDecay;
+   float     mNoiseAttenFactor;
    int       mMinSignalBlocks;
    int       mHistoryLen;
    float    *mInWaveBuffer;     // mWindowSize
-   float    *mOutWaveBuffer;    // mWindowSize
    float    *mOutImagBuffer;    // mWindowSize
    float    *mOutOverlapBuffer; // mWindowSize
    float   **mSpectrums;        // mHistoryLen x mSpectrumSize
@@ -172,9 +178,9 @@ private:
    wxTextCtrl *mFreqT;
    wxTextCtrl *mTimeT;
 
-   float       mGain;
-   float       mFreq;
-   float       mTime;
+   double      mGain;
+   double      mFreq;
+   double      mTime;
 
 private:
    DECLARE_EVENT_TABLE()
diff --git a/src/effects/Normalize.cpp b/src/effects/Normalize.cpp
index d8434d5..b3c1c5e 100644
--- a/src/effects/Normalize.cpp
+++ b/src/effects/Normalize.cpp
@@ -139,11 +139,11 @@ bool EffectNormalize::Process()
       return true;
 
    //Iterate over each track
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
-    WaveTrack *track = (WaveTrack *) iter.First();
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
+   WaveTrack *track = (WaveTrack *) iter.First();
    mCurTrackNum = 0;
    while (track) {
       //Get start and end times from track
@@ -179,7 +179,7 @@ bool EffectNormalize::Process()
       mCurTrackNum++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -327,6 +327,10 @@ NormalizeDialog::NormalizeDialog(EffectNormalize *effect,
 :  EffectDialog(parent, _("Normalize"), PROCESS_EFFECT),
    mEffect(effect)
 {
+   mDC = false;
+   mGain = false;
+   mLevel = 0;
+
    Init();
 }
 
@@ -348,27 +352,27 @@ void NormalizeDialog::PopulateOrExchange(ShuttleGui & S)
    {
       S.StartVerticalLay(false);
       {
-      mDCCheckBox = S.AddCheckBox(_("Remove any DC offset (center on 0.0 vertically)"),
-                                  mDC ? wxT("true") : wxT("false"));
-
-      mGainCheckBox = S.Id(ID_NORMALIZE_AMPLITUDE).AddCheckBox(_("Normalize maximum amplitude to:"),
-                                    mGain ? wxT("true") : wxT("false"));
-
-      S.StartHorizontalLay(wxALIGN_LEFT, false);
-      {
-         wxCheckBox *c = S.AddCheckBox(wxT(""), wxT("false"));
-         S.AddSpace(c->GetSize().GetWidth() + (S.GetBorder() * 2));
-         c->Hide();
-         mLevelMinux = S.AddVariableText(_("-"), false,
-                                         wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT);
-         mLevelTextCtrl = S.AddTextBox(wxT(""),
-                                       Internat::ToString(mLevel, 1),
-                                       10);
-         mLevelTextCtrl->SetName(_("Maximum amplitude dB"));
-         mLeveldB = S.AddVariableText(_("dB"), false,
-                                      wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT);
-      }
-      S.EndHorizontalLay();
+         mDCCheckBox = S.AddCheckBox(_("Remove any DC offset (center on 0.0 vertically)"),
+                                     mDC ? wxT("true") : wxT("false"));
+   
+         mGainCheckBox = S.Id(ID_NORMALIZE_AMPLITUDE).AddCheckBox(_("Normalize maximum amplitude to:"),
+                                       mGain ? wxT("true") : wxT("false"));
+   
+         S.StartHorizontalLay(wxALIGN_LEFT, false);
+         {
+            wxCheckBox *c = S.AddCheckBox(wxT(""), wxT("false"));
+            S.AddSpace(c->GetSize().GetWidth() + (S.GetBorder() * 2));
+            c->Hide();
+            mLevelMinux = S.AddVariableText(_("-"), false,
+                                            wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT);
+            mLevelTextCtrl = S.AddTextBox(wxT(""),
+                                          Internat::ToString(mLevel, 1),
+                                          10);
+            mLevelTextCtrl->SetName(_("Maximum amplitude dB"));
+            mLeveldB = S.AddVariableText(_("dB"), false,
+                                         wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT);
+         }
+         S.EndHorizontalLay();
       }
       S.EndVerticalLay();
    }
diff --git a/src/effects/Phaser.cpp b/src/effects/Phaser.cpp
index 19612ff..3251a6d 100644
--- a/src/effects/Phaser.cpp
+++ b/src/effects/Phaser.cpp
@@ -221,37 +221,57 @@ void PhaserDialog::PopulateOrExchange(ShuttleGui & S)
    S.EndHorizontalLay();
    S.SetBorder(5);
 
-   S.StartMultiColumn(3, wxCENTER);
+   S.StartMultiColumn(3, wxEXPAND);
    {
+      wxSlider *s;
+      S.SetStretchyCol(1);
       S.Id(ID_PHASER_STAGESTEXT).AddTextBox(_("Stages:"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASER_STAGESSLIDER).AddSlider(wxT(""), 2, STAGES_MAX, STAGES_MIN)->
-         SetName(_("Stages"));
+      s = S.Id(ID_PHASER_STAGESSLIDER).AddSlider(wxT(""), 2, STAGES_MAX, STAGES_MIN);
+      s->SetName(_("Stages"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_PHASER_DRYWETTEXT).AddTextBox(_("Dry/Wet:"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASER_DRYWETSLIDER).AddSlider(wxT(""), 0, DRYWET_MAX, DRYWET_MIN)->
-         SetName(_("Dry Wet"));
+      s = S.Id(ID_PHASER_DRYWETSLIDER).AddSlider(wxT(""), 0, DRYWET_MAX, DRYWET_MIN);
+      s->SetName(_("Dry Wet"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_PHASER_FREQTEXT).AddTextBox(_("LFO Frequency (Hz):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASER_FREQSLIDER).AddSlider(wxT(""), 100, FREQ_MAX, FREQ_MIN)->
-         SetName(_("LFO frequency in hertz"));
+      s = S.Id(ID_PHASER_FREQSLIDER).AddSlider(wxT(""), 100, FREQ_MAX, FREQ_MIN);
+      s->SetName(_("LFO frequency in hertz"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_PHASER_PHASETEXT).AddTextBox(_("LFO Start Phase (deg.):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASER_PHASESLIDER).AddSlider(wxT(""), 0, PHASE_MAX, PHASE_MIN)->
-         SetName(_("LFO start phase in degrees"));
+      s = S.Id(ID_PHASER_PHASESLIDER).AddSlider(wxT(""), 0, PHASE_MAX, PHASE_MIN);
+      s->SetName(_("LFO start phase in degrees"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_PHASER_DEPTHTEXT).AddTextBox(_("Depth:"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASER_DEPTHSLIDER).AddSlider(wxT(""), 0, DEPTH_MAX, DEPTH_MIN)->
-         SetName(_("Depth in percent"));
+      s = S.Id(ID_PHASER_DEPTHSLIDER).AddSlider(wxT(""), 0, DEPTH_MAX, DEPTH_MIN);
+      s->SetName(_("Depth in percent"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_PHASER_FEEDBACKTEXT).AddTextBox(_("Feedback (%):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASER_FEEDBACKSLIDER).AddSlider(wxT(""), 0, FB_MAX, FB_MIN)->
-         SetName(_("Feedback in percent"));
+      s = S.Id(ID_PHASER_FEEDBACKSLIDER).AddSlider(wxT(""), 0, FB_MAX, FB_MIN);
+      s->SetName(_("Feedback in percent"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
    }
    S.EndMultiColumn();
 }
diff --git a/src/effects/Repair.cpp b/src/effects/Repair.cpp
index 13bc924..cacc8ae 100644
--- a/src/effects/Repair.cpp
+++ b/src/effects/Repair.cpp
@@ -56,10 +56,10 @@ bool EffectRepair::Process()
 {
    //v This may be too much copying for EffectRepair. To support Cancel, may be able to copy much less.
    //  But for now, Cancel isn't supported without this.
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks. //v This may be too much copying for EffectRepair.
+   this->CopyInputTracks(); // Set up mOutputTracks. //v This may be too much copying for EffectRepair.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    int count = 0;
    while (track) {
@@ -118,7 +118,7 @@ bool EffectRepair::Process()
       count++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
diff --git a/src/effects/Repeat.cpp b/src/effects/Repeat.cpp
index 4d5e84a..27b23cb 100644
--- a/src/effects/Repeat.cpp
+++ b/src/effects/Repeat.cpp
@@ -57,7 +57,7 @@ bool EffectRepeat::PromptUser()
    // could be repeated without overflowing any track
    //
    int maxCount = -1;
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    while (track) {
       sampleCount trackLen = 
@@ -108,49 +108,75 @@ bool EffectRepeat::TransferParameters( Shuttle & shuttle )
 
 bool EffectRepeat::Process()
 {
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-   bool bGoodResult = true;
+   // Set up mOutputTracks. This effect needs Track::All because it uses Paste that needs to have label tracks.
+   this->CopyInputTracks(Track::All);
 
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack *track = (WaveTrack *) iter.First();
    int nTrack = 0;
+   bool bGoodResult = true;
 	double maxDestLen = 0.0; // used to change selection to generated bit
-   while ((track != NULL) && bGoodResult) {
-      double trackStart = track->GetStartTime();
-      double trackEnd = track->GetEndTime();
-      double t0 = mT0 < trackStart? trackStart: mT0;
-      double t1 = mT1 > trackEnd? trackEnd: mT1;
-
-      if (t1 <= t0)
-         continue;
-
-      sampleCount start = track->TimeToLongSamples(t0);
-      sampleCount end = track->TimeToLongSamples(t1);
-      sampleCount len = (sampleCount)(end - start);
-      double tLen = track->LongSamplesToTime(len);
-      double tc = t0 + tLen;
-
-      if (len <= 0)
-         continue;
-
-      Track *dest;
-      track->Copy(t0, t1, &dest);
-      for(int j=0; j<repeatCount; j++)
-      {
-         if (!track->Paste(tc, dest) || 
-               TrackProgress(nTrack, j / repeatCount)) // TrackProgress returns true on Cancel.
+
+   TrackListIterator iter(mOutputTracks);
+   // go to first wavetrack
+   Track* t;
+   for (t = iter.First(); t->GetKind() != Track::Wave; t = iter.Next());
+   if (!t)
+      return false;
+
+   // we only do a "group change" in the first selected track of the group. 
+   // Paste call does changes to the group tracks
+   bool first = true;
+
+   for (; t && bGoodResult; t = iter.Next()) {
+      if (t->GetKind() == Track::Label)
+         first = true;
+      else if (t->GetKind() == Track::Wave && t->GetSelected()) {
+         WaveTrack* track = (WaveTrack*)t;
+
+         double trackStart = track->GetStartTime();
+         double trackEnd = track->GetEndTime();
+         double t0 = mT0 < trackStart? trackStart: mT0;
+         double t1 = mT1 > trackEnd? trackEnd: mT1;
+
+         if (t1 <= t0)
+            continue;
+
+         sampleCount start = track->TimeToLongSamples(t0);
+         sampleCount end = track->TimeToLongSamples(t1);
+         sampleCount len = (sampleCount)(end - start);
+         double tLen = track->LongSamplesToTime(len);
+         double tc = t0 + tLen;
+
+         if (len <= 0)
+            continue;
+
+         Track *dest;
+         track->Copy(t0, t1, &dest);
+         for(int j=0; j<repeatCount; j++)
          {
-            bGoodResult = false;
-            break;
+            if (first) {
+               if (!track->Paste(tc, dest, mOutputTracks) || 
+                     TrackProgress(nTrack, j / repeatCount)) // TrackProgress returns true on Cancel.
+               {
+                  bGoodResult = false;
+                  break;
+               }
+            }
+            else {
+               if (!track->HandlePaste(tc, dest) || 
+                     TrackProgress(nTrack, j / repeatCount)) // TrackProgress returns true on Cancel.
+               {
+                  bGoodResult = false;
+                  break;
+               }
+            }
+            tc += tLen;
          }
-         tc += tLen;
+         first = false;
+         if (tc > maxDestLen)
+            maxDestLen = tc;
+         delete dest;
+         nTrack++;
       }
-      if (tc > maxDestLen)
-         maxDestLen = tc;
-      delete dest;
-
-      track = (WaveTrack *) iter.Next();
-      nTrack++;
    }
 
    if (bGoodResult)
@@ -160,7 +186,7 @@ bool EffectRepeat::Process()
 	   mT1 = maxDestLen;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -192,7 +218,7 @@ RepeatDialog::RepeatDialog(EffectRepeat *effect,
 void RepeatDialog::PopulateOrExchange(ShuttleGui & S)
 {
    wxTextValidator vld(wxFILTER_INCLUDE_CHAR_LIST);
-   vld.SetIncludes(wxArrayString(12, numbers));
+   vld.SetIncludes(wxArrayString(10, numbers));
 
    S.StartHorizontalLay(wxCENTER, false);
    {
diff --git a/src/effects/Reverse.cpp b/src/effects/Reverse.cpp
index 19ef3f7..c77baf1 100644
--- a/src/effects/Reverse.cpp
+++ b/src/effects/Reverse.cpp
@@ -19,7 +19,9 @@
 #include <math.h>
 
 #include "Reverse.h"
+#include "../Project.h"
 #include "../WaveTrack.h"
+#include "../LabelTrack.h"
 
 //
 // EffectReverse
@@ -31,35 +33,74 @@ EffectReverse::EffectReverse()
 
 bool EffectReverse::Process()
 {
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   //Track::All is needed because Reverse should move the labels too
+   this->CopyInputTracks(Track::All); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack *track = (WaveTrack *) iter.First();
+   TrackListIterator iter(mOutputTracks);
+   Track *t = iter.First();
    int count = 0;
-   while (track) {
-      double trackStart = track->GetStartTime();
-      double trackEnd = track->GetEndTime();
-      double t0 = mT0 < trackStart? trackStart: mT0;
-      double t1 = mT1 > trackEnd? trackEnd: mT1;
-
-      if (t1 > t0) {
-         sampleCount start = track->TimeToLongSamples(t0);
-         sampleCount end = track->TimeToLongSamples(t1);
-         sampleCount len = (sampleCount)(end - start);
-
-         if (!ProcessOne(count, track, start, len))
-         {
-            bGoodResult = false;
-            break;
+   double lt0 = -2.0; // -2.0 = not initialized yet; -1.0 = is not possible to reverse labels
+   double lt1 = -2.0;
+   while (t) {
+      if (t->GetKind() == Track::Wave) {
+         WaveTrack *track = (WaveTrack*)t;
+         double trackStart = track->GetStartTime();
+         double trackEnd = track->GetEndTime();
+         double t0 = mT0 < trackStart? trackStart: mT0;
+         double t1 = mT1 > trackEnd? trackEnd: mT1;
+
+         if (track->GetSelected()) {
+            if (t1 > t0) {
+               sampleCount start = track->TimeToLongSamples(t0);
+               sampleCount end = track->TimeToLongSamples(t1);
+               sampleCount len = (sampleCount)(end - start);
+
+               if (!ProcessOne(count, track, start, len))
+               {
+                  bGoodResult = false;
+                  break;
+               }
+
+               //if this is the first selected track in the group we can define the label
+               //region to be reversed without any more verifications
+               if (lt0 == -2.0) {
+                  lt0 = t0;
+                  lt1 = t1;
+               }
+               //track has not the same selection result (after checking start and end of the track as the first track)
+               //it's not possible to know how to reverse the label in this situation.
+               else if ((lt0 != t0) || (lt1 != t1)) {
+                  lt0 = -1.0;
+                  lt1 = -1.0;
+               }
+            } 
+         }
+         //if the track is not selected but has no content inside the selected region, there is no problem.
+         //otherwise we should not change the labels.
+         else if (t1 > t0) {
+            lt0 = -1.0;
+            lt1 = -1.0;
          }
       }
-
-      track = (WaveTrack *) iter.Next();
+      else if (t->GetKind() == Track::Label) {
+         AudacityProject *p = GetActiveProject();
+         //if we can reverse the label
+         if (lt0 != -1.0 && p && p->IsSticky()) {
+            LabelTrack *track = (LabelTrack*)t;
+            track->ChangeLabelsOnReverse(lt0, lt1);
+         }
+         //otherwise we set the region to the not initialized state -2.0 to begin the process in the next group
+         else {
+            lt0 = -2.0;
+            lt1 = -2.0;
+         }
+      }
+      t = iter.Next();
       count++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
diff --git a/src/effects/SBSMSEffect.cpp b/src/effects/SBSMSEffect.cpp
index b58f4fd..d55fefb 100644
--- a/src/effects/SBSMSEffect.cpp
+++ b/src/effects/SBSMSEffect.cpp
@@ -21,7 +21,40 @@ effect that uses SBSMS to do its processing (TimeScale)
 #include "../WaveTrack.h"
 #include "../Project.h"
 
-struct resampleBuf {
+class resampleBuf
+{
+public:
+   resampleBuf()
+   {
+      buf = NULL;
+      leftBuffer = NULL;
+      rightBuffer = NULL;
+
+      sbsmser = NULL;
+      pitch = NULL;
+      outBuf = NULL;
+      outputLeftBuffer = NULL;
+      outputRightBuffer = NULL;
+      outputLeftTrack = NULL;
+      outputRightTrack = NULL;
+      resampler = NULL;
+   }
+
+   ~resampleBuf()
+   {
+      if(buf)                 free(buf);
+      if(leftBuffer)          free(leftBuffer);
+      if(rightBuffer)         free(rightBuffer);
+      if(pitch)               pitch_destroy(pitch);
+      if(sbsmser)             sbsms_destroy(sbsmser);
+      if(outBuf)              free(outBuf);
+      if(outputLeftBuffer)    free(outputLeftBuffer);
+      if(outputRightBuffer)   free(outputRightBuffer);
+      if(outputLeftTrack)     delete outputLeftTrack;
+      if(outputRightTrack)    delete outputRightTrack;
+      if(resampler)           delete resampler;
+   }
+
    audio *buf;
    double ratio;
    sampleCount block;
@@ -31,6 +64,16 @@ struct resampleBuf {
    float *rightBuffer;
    WaveTrack *leftTrack;
    WaveTrack *rightTrack;
+
+   // Not required by callbacks, but makes for easier cleanup
+   sbsms *sbsmser;
+   pitcher *pitch;
+   audio *outBuf;
+   float *outputLeftBuffer;
+   float *outputRightBuffer;
+   WaveTrack *outputLeftTrack;
+   WaveTrack *outputRightTrack;
+   Resampler *resampler;
 };
 
 long samplesCB(audio *chdata, long numFrames, void *userData)
@@ -115,226 +158,228 @@ bool EffectSBSMS::Process()
    bool bGoodResult = true;
    
    //Iterate over each track
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack* leftTrack = (WaveTrack*)(iter.First());
+   //Track::All is needed because this effect needs to introduce silence in the group tracks to keep sync
+   this->CopyInputTracks(Track::All); // Set up mOutputTracks.
+   TrackListIterator iter(mOutputTracks);
+   // go to first wavetrack
+   Track* t;
+   for (t = iter.First(); t->GetKind() != Track::Wave; t = iter.Next());
+   if (!t)
+      return false;
+   WaveTrack* leftTrack = (WaveTrack*)t;
+   WaveTrack* saveLeft = leftTrack;
    mCurTrackNum = 0;
 
    double len = leftTrack->GetEndTime() - leftTrack->GetStartTime();   
    double maxDuration = 0.0;
    
-   while (leftTrack != NULL) {
-      //Get start and end times from track
-      mCurT0 = leftTrack->GetStartTime();
-      mCurT1 = leftTrack->GetEndTime();
-      
-      //Set the current bounds to whichever left marker is
-      //greater and whichever right marker is less
-      mCurT0 = wxMax(mT0, mCurT0);
-      mCurT1 = wxMin(mT1, mCurT1);
-      
-      // Process only if the right marker is to the right of the left marker
-      if (mCurT1 > mCurT0) {
-         sampleCount start;
-         sampleCount end;
-         start = leftTrack->TimeToLongSamples(mCurT0);
-         end = leftTrack->TimeToLongSamples(mCurT1);
+   // we only do a "group change" in the first selected track of the group. 
+   // ClearAndPaste has a call to Paste that does changes to the group tracks
+   bool first = true;
+
+   while (t != NULL) {
+      if (t->GetKind() == Track::Label)
+         first = true;
+      else if (t->GetKind() == Track::Wave && t->GetSelected()) {
+         WaveTrack* leftTrack = (WaveTrack*)t;
+
+         //Get start and end times from track
+         mCurT0 = leftTrack->GetStartTime();
+         mCurT1 = leftTrack->GetEndTime();
          
-         WaveTrack* rightTrack = NULL;
-         if (leftTrack->GetLinked()) {
-            double t;
-            rightTrack = (WaveTrack*)(iter.Next());
-            
-            //Adjust bounds by the right tracks markers
-            t = rightTrack->GetStartTime();
-            t = wxMax(mT0, t);
-            mCurT0 = wxMin(mCurT0, t);
-            t = rightTrack->GetEndTime();
-            t = wxMin(mT1, t);
-            mCurT1 = wxMax(mCurT1, t);
-            
-            //Transform the marker timepoints to samples
+         //Set the current bounds to whichever left marker is
+         //greater and whichever right marker is less
+         mCurT0 = wxMax(mT0, mCurT0);
+         mCurT1 = wxMin(mT1, mCurT1);
+         
+         // Process only if the right marker is to the right of the left marker
+         if (mCurT1 > mCurT0) {
+            sampleCount start;
+            sampleCount end;
             start = leftTrack->TimeToLongSamples(mCurT0);
             end = leftTrack->TimeToLongSamples(mCurT1);
             
-            mCurTrackNum++; // Increment for rightTrack, too.	
-         }
-         
-         sampleCount trackEnd = leftTrack->TimeToLongSamples(leftTrack->GetEndTime());
+            WaveTrack* rightTrack = NULL;
+            if (leftTrack->GetLinked()) {
+               double t;
+               rightTrack = (WaveTrack*)(iter.Next());
+               
+               //Adjust bounds by the right tracks markers
+               t = rightTrack->GetStartTime();
+               t = wxMax(mT0, t);
+               mCurT0 = wxMin(mCurT0, t);
+               t = rightTrack->GetEndTime();
+               t = wxMin(mT1, t);
+               mCurT1 = wxMax(mCurT1, t);
+               
+               //Transform the marker timepoints to samples
+               start = leftTrack->TimeToLongSamples(mCurT0);
+               end = leftTrack->TimeToLongSamples(mCurT1);
+               
+               mCurTrackNum++; // Increment for rightTrack, too.	
+            }
+            
+            sampleCount trackEnd = leftTrack->TimeToLongSamples(leftTrack->GetEndTime());
 
-         // SBSMS has a fixed sample rate - we just convert to its sample rate and then convert back
-         float srIn = leftTrack->GetRate();
-         float srSBSMS = 44100.0;
-         
-         // the resampler needs a callback to supply its samples
-         resampleBuf rb;
-         sampleCount maxBlockSize = leftTrack->GetMaxBlockSize();
-         rb.block = maxBlockSize;
-         rb.buf = (audio*)calloc(rb.block,sizeof(audio));
-         rb.leftTrack = leftTrack;
-         rb.rightTrack = rightTrack?rightTrack:leftTrack;
-         rb.leftBuffer = (float*)calloc(maxBlockSize,sizeof(float));
-         rb.rightBuffer = (float*)calloc(maxBlockSize,sizeof(float));
-         rb.offset = start;
-         rb.end = trackEnd;
-         rb.ratio = srSBSMS/srIn;
-         Resampler *resampler = new Resampler(resampleCB, &rb);
-         
-         // Samples in selection
-         sampleCount samplesIn = end-start;
-         
-         // Samples for SBSMS to process after resampling
-         sampleCount samplesToProcess = (sampleCount) ((real)samplesIn*(srSBSMS/srIn));
-         
-         // Samples in output after resampling back
-         real stretch2;
-         if(rateStart == rateEnd)
-            stretch2 = 1.0/rateStart;
-         else
-            stretch2 = 1.0/(rateEnd-rateStart)*log(rateEnd/rateStart);
-         sampleCount samplesToGenerate = (sampleCount) ((real)samplesToProcess * stretch2);
-         sampleCount samplesOut = (sampleCount) ((real)samplesIn * stretch2);
-         double duration =  (mCurT1-mCurT0) * stretch2;
-         if(duration > maxDuration)
-            maxDuration = duration;
-         
-         sbsmsInfo si;
-         si.rs = resampler;
-         si.samplesToProcess = samplesToProcess;
-         si.samplesToGenerate = samplesToGenerate;
-         si.stretch0 = rateStart;
-         si.stretch1 = rateEnd;
-         si.ratio0 = pitchStart;
-         si.ratio1 = pitchEnd;
-         
-         sbsms *sbsmser = sbsms_create(&samplesCB,&stretchCB,&ratioCB,rightTrack?2:1,quality,bPreAnalyze,true);
-         pitcher *pitch = pitch_create(sbsmser,&si,srIn/srSBSMS);
-         
-         WaveTrack* outputLeftTrack = mFactory->NewWaveTrack(leftTrack->GetSampleFormat(),
-                                                             leftTrack->GetRate());
-         WaveTrack* outputRightTrack = rightTrack?mFactory->NewWaveTrack(rightTrack->GetSampleFormat(),
-                                                                         rightTrack->GetRate()):NULL;
-         
-         
-         sampleCount blockSize = SBSMS_FRAME_SIZE[quality];
-         audio *outBuf = (audio*)calloc(blockSize,sizeof(audio));
-         float *outputLeftBuffer = (float*)calloc(blockSize*2,sizeof(float));
-         float *outputRightBuffer = rightTrack?(float*)calloc(blockSize*2,sizeof(float)):NULL;
-         
-         long pos = 0;
-         long outputCount = -1;
-         
-         // pre analysis
-         real fracPre = 0.0f;
-         if(bPreAnalyze) {
-            fracPre = 0.05f;
-            Resampler *resamplerPre;
-            resampleBuf rbPre;
-            rbPre.block = maxBlockSize;
-            rbPre.buf = (audio*)calloc(rb.block,sizeof(audio));
-            rbPre.leftTrack = leftTrack;
-            rbPre.rightTrack = rightTrack?rightTrack:leftTrack;
-            rbPre.leftBuffer = (float*)calloc(maxBlockSize,sizeof(float));
-            rbPre.rightBuffer = (float*)calloc(maxBlockSize,sizeof(float));
-            rbPre.offset = start;
-            rbPre.end = end;
-            rbPre.ratio = srSBSMS/srIn;
-            resamplerPre = new Resampler(resampleCB, &rbPre);
-            si.rs = resamplerPre;
+            // SBSMS has a fixed sample rate - we just convert to its sample rate and then convert back
+            float srIn = leftTrack->GetRate();
+            float srSBSMS = 44100.0;
+            
+            // the resampler needs a callback to supply its samples
+            resampleBuf rb;
+            sampleCount maxBlockSize = leftTrack->GetMaxBlockSize();
+            rb.block = maxBlockSize;
+            rb.buf = (audio*)calloc(rb.block,sizeof(audio));
+            rb.leftTrack = leftTrack;
+            rb.rightTrack = rightTrack?rightTrack:leftTrack;
+            rb.leftBuffer = (float*)calloc(maxBlockSize,sizeof(float));
+            rb.rightBuffer = (float*)calloc(maxBlockSize,sizeof(float));
+            rb.offset = start;
+            rb.end = trackEnd;
+            rb.ratio = srSBSMS/srIn;
+            rb.resampler = new Resampler(resampleCB, &rb);
+            
+            // Samples in selection
+            sampleCount samplesIn = end-start;
+            
+            // Samples for SBSMS to process after resampling
+            sampleCount samplesToProcess = (sampleCount) ((real)samplesIn*(srSBSMS/srIn));
+            
+            // Samples in output after resampling back
+            real stretch2;
+            if(rateStart == rateEnd)
+               stretch2 = 1.0/rateStart;
+            else
+               stretch2 = 1.0/(rateEnd-rateStart)*log(rateEnd/rateStart);
+            sampleCount samplesToGenerate = (sampleCount) ((real)samplesToProcess * stretch2);
+            sampleCount samplesOut = (sampleCount) ((real)samplesIn * stretch2);
+            double duration =  (mCurT1-mCurT0) * stretch2;
+            if(duration > maxDuration)
+               maxDuration = duration;
+            
+            sbsmsInfo si;
+            si.rs = rb.resampler;
+            si.samplesToProcess = samplesToProcess;
+            si.samplesToGenerate = samplesToGenerate;
+            si.stretch0 = rateStart;
+            si.stretch1 = rateEnd;
+            si.ratio0 = pitchStart;
+            si.ratio1 = pitchEnd;
+            
+            rb.sbsmser = sbsms_create(&samplesCB,&stretchCB,&ratioCB,rightTrack?2:1,quality,bPreAnalyze,true);
+            rb.pitch = pitch_create(rb.sbsmser,&si,srIn/srSBSMS);
+            
+            rb.outputLeftTrack = mFactory->NewWaveTrack(leftTrack->GetSampleFormat(),
+                                                        leftTrack->GetRate());
+            if(rightTrack)
+               rb.outputRightTrack = mFactory->NewWaveTrack(rightTrack->GetSampleFormat(),
+                                                            rightTrack->GetRate());
+            
+            
+            sampleCount blockSize = SBSMS_FRAME_SIZE[quality];
+            rb.outBuf = (audio*)calloc(blockSize,sizeof(audio));
+            rb.outputLeftBuffer = (float*)calloc(blockSize*2,sizeof(float));
+            if(rightTrack)
+               rb.outputRightBuffer = (float*)calloc(blockSize*2,sizeof(float));
             
             long pos = 0;
-            long lastPos = 0;
-            long ret = 0;
-            while(lastPos<samplesToProcess) {
-               ret = sbsms_pre_analyze(&samplesCB,&si,sbsmser);
-               lastPos = pos;
-               pos += ret;
-               real completion = (real)lastPos/(real)samplesToProcess;
-               if (TrackProgress(0,fracPre*completion))
-                  return false;
-            }
-            sbsms_pre_analyze_complete(sbsmser);
-            free(rbPre.buf);
-            free(rbPre.leftBuffer);
-            free(rbPre.rightBuffer);
-            sbsms_reset(sbsmser);
-            si.rs = resampler;
-         }
-         
-         // process
-         while(pos<samplesOut && outputCount) {
-            long frames;
-            if(pos+blockSize>samplesOut) {
-               frames = samplesOut - pos;
-            } else {
-               frames = blockSize;
+            long outputCount = -1;
+            
+            // pre analysis
+            real fracPre = 0.0f;
+            if(bPreAnalyze) {
+               fracPre = 0.05f;
+               resampleBuf rbPre;
+               rbPre.block = maxBlockSize;
+               rbPre.buf = (audio*)calloc(rb.block,sizeof(audio));
+               rbPre.leftTrack = leftTrack;
+               rbPre.rightTrack = rightTrack?rightTrack:leftTrack;
+               rbPre.leftBuffer = (float*)calloc(maxBlockSize,sizeof(float));
+               rbPre.rightBuffer = (float*)calloc(maxBlockSize,sizeof(float));
+               rbPre.offset = start;
+               rbPre.end = end;
+               rbPre.ratio = srSBSMS/srIn;
+               rbPre.resampler = new Resampler(resampleCB, &rbPre);
+               si.rs = rbPre.resampler;
+               
+               long pos = 0;
+               long lastPos = 0;
+               long ret = 0;
+               bool stopped = false;
+               while(lastPos<samplesToProcess) {
+                  ret = sbsms_pre_analyze(&samplesCB,&si,rb.sbsmser);
+                  lastPos = pos;
+                  pos += ret;
+                  real completion = (real)lastPos/(real)samplesToProcess;
+                  if (TrackProgress(0,fracPre*completion))
+                     return false;
+               }
+               sbsms_pre_analyze_complete(rb.sbsmser);
+               sbsms_reset(rb.sbsmser);
+               si.rs = rb.resampler;
             }
             
-            outputCount = pitch_process(outBuf, frames, pitch);
-            for(int i = 0; i < outputCount; i++) {
-               outputLeftBuffer[i] = outBuf[i][0];
-               if(rightTrack) outputRightBuffer[i] = outBuf[i][1];
+            // process
+            while(pos<samplesOut && outputCount) {
+               long frames;
+               if(pos+blockSize>samplesOut) {
+                  frames = samplesOut - pos;
+               } else {
+                  frames = blockSize;
+               }
+               
+               outputCount = pitch_process(rb.outBuf, frames, rb.pitch);
+               for(int i = 0; i < outputCount; i++) {
+                  rb.outputLeftBuffer[i] = rb.outBuf[i][0];
+                  if(rightTrack)
+                     rb.outputRightBuffer[i] = rb.outBuf[i][1];
+               }
+               pos += outputCount;
+               rb.outputLeftTrack->Append((samplePtr)rb.outputLeftBuffer, floatSample, outputCount);
+               if(rightTrack)
+                  rb.outputRightTrack->Append((samplePtr)rb.outputRightBuffer, floatSample, outputCount);
+               
+               double frac = (double)pos/(double)samplesOut;
+               int nWhichTrack = mCurTrackNum;
+               if(rightTrack) {
+                  nWhichTrack = 2*(mCurTrackNum/2);
+                  if (frac < 0.5)
+                     frac *= 2.0; // Show twice as far for each track, because we're doing 2 at once. 
+                  else {
+                     nWhichTrack++;
+                     frac -= 0.5;
+                     frac *= 2.0; // Show twice as far for each track, because we're doing 2 at once. 
+                  }
+               }
+               if (TrackProgress(nWhichTrack, fracPre + (1.0-fracPre)*frac))
+                  return false;
             }
-            pos += outputCount;
-            outputLeftTrack->Append((samplePtr)outputLeftBuffer, floatSample, outputCount);
-            if(rightTrack) outputRightTrack->Append((samplePtr)outputRightBuffer, floatSample, outputCount);
+            rb.outputLeftTrack->Flush();
+            if(rightTrack)
+               rb.outputRightTrack->Flush();
             
-            double frac = (double)pos/(double)samplesOut;
-            int nWhichTrack = mCurTrackNum;
+            if (first)
+               leftTrack->ClearAndPaste(mCurT0, mCurT1, rb.outputLeftTrack, true, true, NULL, true);
+            else {
+               leftTrack->HandleClear(mCurT0, mCurT1, false, false);
+               leftTrack->HandlePaste(mCurT0, rb.outputLeftTrack);
+            }
+
             if(rightTrack) {
-               nWhichTrack = 2*(mCurTrackNum/2);
-               if (frac < 0.5)
-                  frac *= 2.0; // Show twice as far for each track, because we're doing 2 at once. 
-               else {
-                  nWhichTrack++;
-                  frac -= 0.5;
-                  frac *= 2.0; // Show twice as far for each track, because we're doing 2 at once. 
-               }
+               rightTrack->HandleClear(mCurT0, mCurT1, false, false);
+               rightTrack->HandlePaste(mCurT0, rb.outputRightTrack);
             }
-            if (TrackProgress(nWhichTrack, fracPre + (1.0-fracPre)*frac))
-               return false;
-         }
-         outputLeftTrack->Flush();
-         if(rightTrack) outputRightTrack->Flush();
-         
-         leftTrack->HandleClear(mCurT0, mCurT1, false, false);
-         leftTrack->HandlePaste(mCurT0, outputLeftTrack);
-         if(rightTrack) {
-            rightTrack->HandleClear(mCurT0, mCurT1, false, false);
-            rightTrack->HandlePaste(mCurT0, outputRightTrack);
+
+            first = false;
          }
-         
-         delete outputLeftTrack;
-         if(rightTrack) delete outputRightTrack;
-         free(outputLeftBuffer);
-         if(rightTrack) free(outputRightBuffer);
-         free(outBuf);
-         free(rb.leftBuffer);
-         free(rb.rightBuffer);
-         free(rb.buf);
-         delete resampler;
-         sbsms_destroy(sbsmser);
-         pitch_destroy(pitch);
+         mCurTrackNum++;
       }
-      
       //Iterate to the next track
-      leftTrack = (WaveTrack*)(iter.Next());
-      mCurTrackNum++;
+      t = iter.Next();
    }
    
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-   
-#ifdef EXPERIMENTAL_FULL_LINKING
-   AudacityProject *p = (AudacityProject*)mParent;
-   if( p && p->IsSticky() ){
-      leftTrack = (WaveTrack*)(iter.First());
-      double newLen = leftTrack->GetEndTime() - leftTrack->GetStartTime();
-      double timeAdded = newLen-len;
-      double sel = mCurT1-mCurT0;
-      double percent = (sel/(timeAdded+sel))*100 - 100;
-      if ( !(HandleGroupChangeSpeed(percent, mCurT0, mCurT1)) ) bGoodResult = false;
-   }
-#endif
+   if (bGoodResult)
+      ReplaceProcessedTracks(bGoodResult); 
 
    // Update selection
    mT0 = mCurT0;
diff --git a/src/effects/Silence.cpp b/src/effects/Silence.cpp
index ca1f9e4..5343415 100644
--- a/src/effects/Silence.cpp
+++ b/src/effects/Silence.cpp
@@ -29,53 +29,34 @@
 
 bool EffectSilence::PromptUser()
 {
-   TimeDialog dlog(mParent, wxID_ANY, _("Silence Generator"));
+   TimeDialog dlog(mParent, _("Silence Generator"));
 
    dlog.SetSampleRate(mProjectRate);
 
    if (mT1 > mT0) {
       // there is a selection: let's fit in there...
-      length = mT1 - mT0;
+      mDuration = mT1 - mT0;
       dlog.SetFormatString(wxT("hh:mm:ss + samples"));
 
    } else {
       // retrieve last used values
       dlog.SetFormatString(wxT("seconds"));
    }
-   dlog.SetTimeValue(length);
+   dlog.SetTimeValue(mDuration);
 
    if (dlog.ShowModal() == wxID_CANCEL)
       return false;
 
-   length = dlog.GetTimeValue();
+   mDuration = dlog.GetTimeValue();
 
    return true;
 }
 
-bool EffectSilence::Process()
+bool EffectSilence::GenerateTrack(WaveTrack *tmp,
+                                  const WaveTrack &track,
+                                  int ntrack)
 {
-   if (length <= 0.0)
-      length = sDefaultGenerateLen;
-      
-#ifdef EXPERIMENTAL_FULL_LINKING
-   HandleLinkedTracksOnGenerate(length, mT0);
-#endif
-
-   TrackListIterator iter(mWaveTracks);
-   WaveTrack *track = (WaveTrack *)iter.First();
-   while (track) {
-      WaveTrack *tmp = mFactory->NewWaveTrack(track->GetSampleFormat(), track->GetRate());
-      tmp->InsertSilence(0.0, length);
-      tmp->Flush();
-      track->HandleClear(mT0, mT1, false, false);
-      track->HandlePaste(mT0, tmp);
-      delete tmp;
-      
-      //Iterate to the next track
-      track = (WaveTrack *)iter.Next();
-   }
-
-	mT1 = mT0 + length; // Update selection.
+   tmp->InsertSilence(0.0, mDuration);
    return true;
 }
 
diff --git a/src/effects/Silence.h b/src/effects/Silence.h
index f25374a..9c5f579 100644
--- a/src/effects/Silence.h
+++ b/src/effects/Silence.h
@@ -17,17 +17,17 @@
 #include <wx/dialog.h>
 #include <wx/intl.h>
 
-#include "Effect.h"
+#include "Generator.h"
 #include "../widgets/TimeTextCtrl.h"
 
 class wxSizer;
 class wxTextCtrl;
 
-class EffectSilence:public Effect {
+class EffectSilence : public Generator {
 
  public:
    EffectSilence() {
-      length = sDefaultGenerateLen;
+      SetEffectFlags(BUILTIN_EFFECT | INSERT_EFFECT);
    }
 
    virtual wxString GetEffectName() {
@@ -50,19 +50,12 @@ class EffectSilence:public Effect {
 
    // Useful only after PromptUser values have been set. 
    virtual wxString GetEffectDescription() { 
-      return wxString::Format(_("Applied effect: Generate Silence, %.6lf seconds"), length); 
+      return wxString::Format(_("Applied effect: Generate Silence, %.6lf seconds"), mDuration); 
    } 
 
-   virtual int GetEffectFlags() {
-      return BUILTIN_EFFECT | INSERT_EFFECT;
-   }
-
    virtual bool PromptUser();
-
-   virtual bool Process();
-
- private:
-   double length;
+ protected:
+   bool GenerateTrack(WaveTrack *tmp, const WaveTrack &track, int ntrack);
 };
 
 #endif
diff --git a/src/effects/SimpleMono.cpp b/src/effects/SimpleMono.cpp
index f28acef..947c3a3 100644
--- a/src/effects/SimpleMono.cpp
+++ b/src/effects/SimpleMono.cpp
@@ -29,10 +29,10 @@
 bool EffectSimpleMono::Process()
 {
    //Iterate over each track
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack* pOutWaveTrack = (WaveTrack*)(iter.First());
    mCurTrackNum = 0;
    while (pOutWaveTrack != NULL)
@@ -71,7 +71,7 @@ bool EffectSimpleMono::Process()
       mCurTrackNum++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -121,8 +121,10 @@ bool EffectSimpleMono::ProcessOne(WaveTrack * track,
       s += block;
 
       //Update the Progress meter
-      if (TrackProgress(mCurTrackNum, (s - start) / len))
+      if (TrackProgress(mCurTrackNum, (s - start) / len)) {
+         delete[]buffer;
          return false;
+      }
    }
 
    //Clean up the buffer
diff --git a/src/effects/SimplePairedTwoTrack.h b/src/effects/SimplePairedTwoTrack.h
index 6c34e43..2cd06e0 100644
--- a/src/effects/SimplePairedTwoTrack.h
+++ b/src/effects/SimplePairedTwoTrack.h
@@ -66,11 +66,6 @@ protected:
 							sampleCount rstart, sampleCount len);
 
    // It is not usually necessary to override this method
-   void GetSamples(WaveTrack *track, 
-	               sampleCount *start,
-				   sampleCount *len);
-
-   // It is not usually necessary to override this method
    void End();
 
  protected:  
@@ -131,10 +126,10 @@ bool EffectSimplePairedTwoTrack<_DataType,_xxxSample>::Init()
 template<class _DataType,sampleFormat _xxxSample>
 bool EffectSimplePairedTwoTrack<_DataType,_xxxSample>::Process()
 {
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    int count = 0;
    WaveTrack *left = (WaveTrack*)(iter.First());
    WaveTrack *right;
@@ -162,7 +157,7 @@ bool EffectSimplePairedTwoTrack<_DataType,_xxxSample>::Process()
       count++;
    }
    
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -226,27 +221,6 @@ bool EffectSimplePairedTwoTrack<_DataType,_xxxSample>::ProcessTwo(int count,
 }
 
 template<class _DataType,sampleFormat _xxxSample>
-void EffectSimplePairedTwoTrack<_DataType,_xxxSample>::GetSamples(WaveTrack *track,
-										         sampleCount *start,
-										         sampleCount *len)
-{
-   double trackStart = track->GetStartTime();
-   double trackEnd = track->GetEndTime();
-   double t0 = mT0 < trackStart? trackStart: mT0;
-   double t1 = mT1 > trackEnd? trackEnd: mT1;
-   
-   if (t1 > t0) {
-      *start = track->TimeToLongSamples(t0);
-      sampleCount end = track->TimeToLongSamples(t1);
-      *len = (sampleCount)(end - *start);
-   }
-   else {
-      *start = 0;
-      *len  = 0;
-   }
-}
-
-template<class _DataType,sampleFormat _xxxSample>
 void EffectSimplePairedTwoTrack<_DataType,_xxxSample>::End()
 {
    if (mnBlockSize) {
diff --git a/src/effects/SoundTouchEffect.cpp b/src/effects/SoundTouchEffect.cpp
index c451beb..182e21c 100644
--- a/src/effects/SoundTouchEffect.cpp
+++ b/src/effects/SoundTouchEffect.cpp
@@ -29,91 +29,95 @@ bool EffectSoundTouch::Process()
    // by the subclass for subclass-specific parameters.
    
    //Iterate over each track
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   //Track::All is needed because this effect needs to introduce silence in the group tracks to keep sync
+   this->CopyInputTracks(Track::All); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack* leftTrack = (WaveTrack*)(iter.First());
+   TrackListIterator iter(mOutputTracks);
+   // go to first wavetrack
+   Track* t;
+   for (t = iter.First(); t->GetKind() != Track::Wave; t = iter.Next());
+   if (!t)
+      return false;
+   WaveTrack* leftTrack = (WaveTrack*)t;
    mCurTrackNum = 0;
 	m_maxNewLength = 0.0;
 	
    double len = leftTrack->GetEndTime() - leftTrack->GetStartTime();
-   
-   while (leftTrack != NULL) {
-      //Get start and end times from track
-      mCurT0 = leftTrack->GetStartTime();
-      mCurT1 = leftTrack->GetEndTime();
-      
-      //Set the current bounds to whichever left marker is
-      //greater and whichever right marker is less
-      mCurT0 = wxMax(mT0, mCurT0);
-      mCurT1 = wxMin(mT1, mCurT1);
-      
-      // Process only if the right marker is to the right of the left marker
-      if (mCurT1 > mCurT0) {
-         sampleCount start, end;
+
+   // we only do a "group change" in the first selected track of the group. 
+   // ClearAndPaste has a call to Paste that does changes to the group tracks
+   bool first = true;
+
+   while (t != NULL) {
+      if (t->GetKind() == Track::Label)
+         first = true;
+      else if (t->GetKind() == Track::Wave && t->GetSelected()) {
+         WaveTrack* leftTrack = (WaveTrack*)t;
+         //Get start and end times from track
+         mCurT0 = leftTrack->GetStartTime();
+         mCurT1 = leftTrack->GetEndTime();
+         
+         //Set the current bounds to whichever left marker is
+         //greater and whichever right marker is less
+         mCurT0 = wxMax(mT0, mCurT0);
+         mCurT1 = wxMin(mT1, mCurT1);
          
-         if (leftTrack->GetLinked()) {
-            double t;
-            WaveTrack* rightTrack = (WaveTrack*)(iter.Next());
+         // Process only if the right marker is to the right of the left marker
+         if (mCurT1 > mCurT0) {
+            sampleCount start, end;
+            
+            if (leftTrack->GetLinked()) {
+               double t;
+               WaveTrack* rightTrack = (WaveTrack*)(iter.Next());
 
-            //Adjust bounds by the right tracks markers
-            t = rightTrack->GetStartTime();
-            t = wxMax(mT0, t);
-            mCurT0 = wxMin(mCurT0, t);
-            t = rightTrack->GetEndTime();
-            t = wxMin(mT1, t);
-            mCurT1 = wxMax(mCurT1, t);
+               //Adjust bounds by the right tracks markers
+               t = rightTrack->GetStartTime();
+               t = wxMax(mT0, t);
+               mCurT0 = wxMin(mCurT0, t);
+               t = rightTrack->GetEndTime();
+               t = wxMin(mT1, t);
+               mCurT1 = wxMax(mCurT1, t);
 
-            //Transform the marker timepoints to samples
-            start = leftTrack->TimeToLongSamples(mCurT0);
-            end = leftTrack->TimeToLongSamples(mCurT1);
+               //Transform the marker timepoints to samples
+               start = leftTrack->TimeToLongSamples(mCurT0);
+               end = leftTrack->TimeToLongSamples(mCurT1);
 
-            //Inform soundtouch there's 2 channels
-            mSoundTouch->setChannels(2);
+               //Inform soundtouch there's 2 channels
+               mSoundTouch->setChannels(2);
 
-            //ProcessStereo() (implemented below) processes a stereo track
-            if (!ProcessStereo(leftTrack, rightTrack, start, end))
-            {
-               bGoodResult = false;
-               break;
-            }
-            mCurTrackNum++; // Increment for rightTrack, too.
-         } else {
-            //Transform the marker timepoints to samples
-            start = leftTrack->TimeToLongSamples(mCurT0);
-            end = leftTrack->TimeToLongSamples(mCurT1);
+               //ProcessStereo() (implemented below) processes a stereo track
+               if (!ProcessStereo(leftTrack, rightTrack, start, end, first))
+               {
+                  bGoodResult = false;
+                  break;
+               }
+               mCurTrackNum++; // Increment for rightTrack, too.
+            } else {
+               //Transform the marker timepoints to samples
+               start = leftTrack->TimeToLongSamples(mCurT0);
+               end = leftTrack->TimeToLongSamples(mCurT1);
 
-            //Inform soundtouch there's a single channel
-            mSoundTouch->setChannels(1);
+               //Inform soundtouch there's a single channel
+               mSoundTouch->setChannels(1);
 
-            //ProcessOne() (implemented below) processes a single track
-            if (!ProcessOne(leftTrack, start, end))
-            {
-               bGoodResult = false;
-               break;
+               //ProcessOne() (implemented below) processes a single track
+               if (!ProcessOne(leftTrack, start, end, first))
+               {
+                  bGoodResult = false;
+                  break;
+               }
             }
+            first = false;
          }
+         mCurTrackNum++;
       }
-      
       //Iterate to the next track
-      leftTrack = (WaveTrack*)(iter.Next());
-      mCurTrackNum++;
+      t = iter.Next();
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-
-#ifdef EXPERIMENTAL_FULL_LINKING
-   AudacityProject *p = (AudacityProject*)mParent;
-   if( p && p->IsSticky() ){
-      leftTrack = (WaveTrack*)(iter.First());
-      double newLen = leftTrack->GetEndTime() - leftTrack->GetStartTime();
-      double timeAdded = newLen-len;
-      double sel = mCurT1-mCurT0;
-      double percent = (sel/(timeAdded+sel))*100 - 100;
-      if ( !(HandleGroupChangeSpeed(percent, mCurT0, mCurT1)) ) bGoodResult = false;
-   }
-#endif
+   if (bGoodResult)
+      ReplaceProcessedTracks(bGoodResult); 
 
    delete mSoundTouch;
    mSoundTouch = NULL;
@@ -127,7 +131,7 @@ bool EffectSoundTouch::Process()
 //ProcessOne() takes a track, transforms it to bunch of buffer-blocks,
 //and executes ProcessSoundTouch on these blocks
 bool EffectSoundTouch::ProcessOne(WaveTrack *track,
-                                  sampleCount start, sampleCount end)
+                                  sampleCount start, sampleCount end, bool first)
 {
    WaveTrack *outputTrack;
    sampleCount s;
@@ -180,7 +184,7 @@ bool EffectSoundTouch::ProcessOne(WaveTrack *track,
    }
    
    // Tell SoundTouch to finish processing any remaining samples
-   mSoundTouch->flush();
+   mSoundTouch->flush();   // this should only be used for changeTempo - it dumps data otherwise with pRateTransposer->clear();
    
    unsigned int outputCount = mSoundTouch->numSamples();
    if (outputCount > 0) {
@@ -198,9 +202,12 @@ bool EffectSoundTouch::ProcessOne(WaveTrack *track,
    
    // Take the output track and insert it in place of the original
    // sample data
-   
-   track->HandleClear(mCurT0, mCurT1, false, false);
-   track->HandlePaste(mCurT0, outputTrack);
+   if (first)
+      track->ClearAndPaste(mCurT0, mCurT1, outputTrack, true, true, NULL, true);
+   else {
+      track->HandleClear(mCurT0, mCurT1, false, false);
+      track->HandlePaste(mCurT0, outputTrack);
+   }
    
    double newLength = outputTrack->GetEndTime(); 
    m_maxNewLength = wxMax(m_maxNewLength, newLength);
@@ -213,7 +220,7 @@ bool EffectSoundTouch::ProcessOne(WaveTrack *track,
 }
 
 bool EffectSoundTouch::ProcessStereo(WaveTrack* leftTrack, WaveTrack* rightTrack, 
-                                     sampleCount start, sampleCount end)
+                                     sampleCount start, sampleCount end, bool first)
 {
    mSoundTouch->setSampleRate((unsigned int)(leftTrack->GetRate()+0.5));
    
@@ -304,8 +311,12 @@ bool EffectSoundTouch::ProcessStereo(WaveTrack* leftTrack, WaveTrack* rightTrack
    
    // Take the output tracks and insert in place of the original
    // sample data.
-   leftTrack->HandleClear(mCurT0, mCurT1, false, false);
-   leftTrack->HandlePaste(mCurT0, outputLeftTrack);
+   if (first)
+      leftTrack->ClearAndPaste(mCurT0, mCurT1, outputLeftTrack, true, true, NULL, true);
+   else {
+      leftTrack->HandleClear(mCurT0, mCurT1, false, false);
+      leftTrack->HandlePaste(mCurT0, outputLeftTrack);
+   }
    rightTrack->HandleClear(mCurT0, mCurT1, false, false);
    rightTrack->HandlePaste(mCurT0, outputRightTrack);
 
diff --git a/src/effects/SoundTouchEffect.h b/src/effects/SoundTouchEffect.h
index 32aa2cd..fa5bc5d 100644
--- a/src/effects/SoundTouchEffect.h
+++ b/src/effects/SoundTouchEffect.h
@@ -42,9 +42,9 @@ class EffectSoundTouch:public Effect {
 
  private:
    bool ProcessOne(WaveTrack * t,
-                   sampleCount start, sampleCount end);
+                   sampleCount start, sampleCount end, bool first);
    bool ProcessStereo(WaveTrack* leftTrack, WaveTrack* rightTrack, 
-                        sampleCount start, sampleCount end);
+                        sampleCount start, sampleCount end, bool first);
    bool ProcessStereoResults(const unsigned int outputCount, 
                               WaveTrack* outputLeftTrack, 
                               WaveTrack* outputRightTrack);
diff --git a/src/effects/SpikeCleaner.cpp b/src/effects/SpikeCleaner.cpp
index 5b7f165..abc33d4 100644
--- a/src/effects/SpikeCleaner.cpp
+++ b/src/effects/SpikeCleaner.cpp
@@ -102,7 +102,7 @@ bool EffectSpikeCleaner::ProcessSimpleMono(float *buffer, sampleCount len)
    int    firstNoiseFrame = 0;
    int    noiseLen = 0;
 
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    double    curRate = track->GetRate();
    int       spikeMaxDurationSamples = int((curRate / 1000.0) * double(mSpikeMaxDurationMs));
diff --git a/src/effects/StereoToMono.cpp b/src/effects/StereoToMono.cpp
index 83ca770..cf94535 100644
--- a/src/effects/StereoToMono.cpp
+++ b/src/effects/StereoToMono.cpp
@@ -50,7 +50,7 @@ void EffectStereoToMono::End()
 //      to see if it is stereo. Consolidate these
 bool EffectStereoToMono::CheckWhetherSkipEffect()
 {
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *t = (WaveTrack*)iter.First();
    while (t) {
       if (t->GetLinked()) {
@@ -69,18 +69,17 @@ bool EffectStereoToMono::ProcessOne(int count)
    float  curMonoFrame;
 
    sampleCount idealBlockLen = mLeftTrack->GetMaxBlockSize() * 2;
-   sampleCount index = 0;
-   sampleCount outTrackOffset = 0;
+   sampleCount index = mStart;
    float *leftBuffer = new float[idealBlockLen];
    float *rightBuffer = new float[idealBlockLen];
    bool rc;
 
-   while (index < mLeftTrackLen) {
+   while (index < mEnd) {
       rc = mLeftTrack->Get((samplePtr)leftBuffer, floatSample, index, idealBlockLen);
       rc = mRightTrack->Get((samplePtr)rightBuffer, floatSample, index, idealBlockLen);
       sampleCount limit = idealBlockLen;
-      if ((index + idealBlockLen) > mLeftTrackLen) {
-         limit = mLeftTrackLen - index;
+      if ((index + idealBlockLen) > mEnd) {
+         limit = mEnd - index;
       }
       for (sampleCount i = 0; i < limit; ++i) {
          index++;
@@ -89,16 +88,19 @@ bool EffectStereoToMono::ProcessOne(int count)
          curMonoFrame = (curLeftFrame + curRightFrame) / 2.0;
          leftBuffer[i] = curMonoFrame;
       }
-      rc = mLeftTrack->Set((samplePtr)leftBuffer, floatSample, outTrackOffset, limit);
-      outTrackOffset += limit;
-      if (TrackProgress(count, 2.*((double)index / (double)mLeftTrackLen)))
+      rc = mOutTrack->Append((samplePtr)leftBuffer, floatSample, limit);
+      if (TrackProgress(count, 2.*((double)index / (double)(mEnd - mStart))))
          return false;
    }
 
+   double minStart = wxMin(mLeftTrack->GetStartTime(), mRightTrack->GetStartTime());
+   mLeftTrack->Clear(mLeftTrack->GetStartTime(), mLeftTrack->GetEndTime());
+   mOutTrack->Flush();
+   mLeftTrack->HandlePaste(minStart, mOutTrack);
    mLeftTrack->SetLinked(false);
    mRightTrack->SetLinked(false);
    mLeftTrack->SetChannel(Track::MonoChannel);
-   mOutputWaveTracks->Remove(mRightTrack);
+   mOutputTracks->Remove(mRightTrack);
    delete mRightTrack;
 
    delete [] leftBuffer;
@@ -111,30 +113,43 @@ bool EffectStereoToMono::Process()
 {
    // Do not use mWaveTracks here.  We will possibly delete tracks,
    // so we must use the "real" tracklist.
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    mLeftTrack = (WaveTrack *)iter.First();
    bool refreshIter = false;
 
+   if(mLeftTrack)
+   {
+      // create a new WaveTrack to hold all of the output
+      AudacityProject *p = GetActiveProject();
+      mOutTrack = p->GetTrackFactory()->NewWaveTrack(floatSample, mLeftTrack->GetRate());
+   }
+
    int count = 0;
    while (mLeftTrack) {
       if (mLeftTrack->GetKind() == Track::Wave &&
-          mLeftTrack->GetSelected() &&
-          mLeftTrack->GetLinked()) {
+         mLeftTrack->GetSelected() &&
+         mLeftTrack->GetLinked()) {
 
          mRightTrack = (WaveTrack *)iter.Next();
 
-         mLeftTrackLen = mLeftTrack->TimeToLongSamples(mLeftTrack->GetEndTime()); 
-         mRightTrackLen = mRightTrack->TimeToLongSamples(mRightTrack->GetEndTime()); 
-         long diff = abs((long)mRightTrackLen - (long)mLeftTrackLen);
-         
-         if ((diff <= 2) && (mLeftTrack->GetRate() == mRightTrack->GetRate())) {
+         if ((mLeftTrack->GetRate() == mRightTrack->GetRate())) {
+            sampleCount leftTrackStart = mLeftTrack->TimeToLongSamples(mLeftTrack->GetStartTime());
+            sampleCount rightTrackStart = mRightTrack->TimeToLongSamples(mRightTrack->GetStartTime());
+            mStart = wxMin(leftTrackStart, rightTrackStart);
+
+            sampleCount leftTrackEnd = mLeftTrack->TimeToLongSamples(mLeftTrack->GetEndTime());
+            sampleCount rightTrackEnd = mRightTrack->TimeToLongSamples(mRightTrack->GetEndTime());
+            mEnd = wxMax(leftTrackEnd, rightTrackEnd);
+
             bGoodResult = ProcessOne(count);
             if (!bGoodResult)
                break;
 
+            mOutTrack->Clear(mOutTrack->GetStartTime(), mOutTrack->GetEndTime());
+
             // The right channel has been deleted, so we must restart from the beginning
             refreshIter = true;
          }
@@ -149,7 +164,9 @@ bool EffectStereoToMono::Process()
       }
       count++;
    }
-         
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+
+   if(mOutTrack)
+      delete mOutTrack;
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
diff --git a/src/effects/StereoToMono.h b/src/effects/StereoToMono.h
index 1cf6db4..bb72151 100644
--- a/src/effects/StereoToMono.h
+++ b/src/effects/StereoToMono.h
@@ -20,7 +20,7 @@ public:
    EffectStereoToMono();
 
    virtual wxString GetEffectName() {
-      return wxString(_NoAcc("&Stereo to Mono"));
+      return wxString(_("Stereo to Mono"));
    }
 
    virtual std::set<wxString> GetEffectCategories() {
@@ -46,10 +46,11 @@ public:
 private:
    bool ProcessOne(int);
 
-   sampleCount mLeftTrackLen;
-   sampleCount mRightTrackLen;
+   sampleCount mStart;
+   sampleCount mEnd;
    WaveTrack *mLeftTrack;
    WaveTrack *mRightTrack;
+   WaveTrack *mOutTrack;
 
 };
 
diff --git a/src/effects/ToneGen.cpp b/src/effects/ToneGen.cpp
index 26031b9..00a0d60 100644
--- a/src/effects/ToneGen.cpp
+++ b/src/effects/ToneGen.cpp
@@ -42,15 +42,15 @@ frequency changes smoothly during the tone.
 
 EffectToneGen::EffectToneGen()
 {
-   mbChirp=false;
-   mbLogInterpolation=false;
+   SetEffectFlags(BUILTIN_EFFECT | INSERT_EFFECT);
+   mbChirp = false;
+   mbLogInterpolation = false;
    waveform = 0;                //sine
    frequency[0] = float(440.0);          //Hz
    frequency[1] = float(1320.0);          //Hz
    amplitude[0] = float(0.8);
    amplitude[1] = float(0.8);
-   length = sDefaultGenerateLen;
-   interpolation=0;
+   interpolation = 0;
 }
 
 wxString EffectToneGen::GetEffectDescription() { 
@@ -59,7 +59,7 @@ wxString EffectToneGen::GetEffectDescription() {
    const wxChar* waveformNames[] = {wxT("sine"), wxT("square"), wxT("sawtooth"), wxT("square, no alias")};
    const wxChar* interpolationNames[] = {wxT("linear"), wxT("logarithmic")};
    return wxString::Format(_("Applied effect: Generate %s wave %s, frequency = %.2f Hz, amplitude = %.2f, %.6lf seconds"), 
-      waveformNames[waveform], mbChirp ? wxT("chirp") : wxT("tone"), frequency[0], amplitude[0], length); 
+      waveformNames[waveform], mbChirp ? wxT("chirp") : wxT("tone"), frequency[0], amplitude[0], mDuration);
 } 
 
 bool EffectToneGen::PromptUser()
@@ -76,7 +76,7 @@ bool EffectToneGen::PromptUser()
    dlog.isSelection= false;
 
    if (mT1 > mT0) {
-      length = mT1 - mT0;
+      mDuration = mT1 - mT0;
       dlog.isSelection= true;
    }
   
@@ -86,7 +86,7 @@ bool EffectToneGen::PromptUser()
    dlog.frequency[1] = frequency[1];
    dlog.amplitude[0] = amplitude[0];
    dlog.amplitude[1] = amplitude[1];
-   dlog.length = length;
+   dlog.mDuration = mDuration;
    dlog.waveforms = &waveforms;
    dlog.interpolation = interpolation;
    dlog.interpolations = &interpolations;
@@ -113,7 +113,7 @@ bool EffectToneGen::PromptUser()
       frequency[1] = frequency[0];
       amplitude[1] = amplitude[0];
    }
-   length = dlog.length;
+   mDuration = dlog.mDuration;
    return true;
 }
 
@@ -227,66 +227,22 @@ bool EffectToneGen::MakeTone(float *buffer, sampleCount len)
    return true;
 }
 
-
-
-bool EffectToneGen::Process()
+void EffectToneGen::BeforeGenerate()
 {
-   if (length <= 0.0)
-      length = sDefaultGenerateLen;
-
    mPositionInCycles = 0.0;
-   //Iterate over each track
-   int ntrack = 0;
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-   bool bGoodResult = true;
-   
-#ifdef EXPERIMENTAL_FULL_LINKING
-   HandleLinkedTracksOnGenerate(length, mT0);
-#endif
-
-   TrackListIterator iter(mOutputWaveTracks);
-   WaveTrack *track = (WaveTrack *)iter.First();
-   while (track) {
-      mSample = 0;
-      mCurRate = track->GetRate();
-      WaveTrack *tmp = mFactory->NewWaveTrack(track->GetSampleFormat(), mCurRate);
-      numSamples = tmp->TimeToLongSamples(length);
-      sampleCount i = 0;
-      float *data = new float[tmp->GetMaxBlockSize()];
-      sampleCount block;
-
-      while ((i < numSamples) && bGoodResult) {
-         block = tmp->GetBestBlockSize(i);
-         if (block > (numSamples - i))
-             block = numSamples - i;
-         MakeTone(data, block);
-         tmp->Append((samplePtr)data, floatSample, block);
-         i += block;
-
-         //Update the Progress meter
-         if (TrackProgress(ntrack, (double)i / numSamples))
-            bGoodResult = false;
-      }
-      delete[] data;
-
-      tmp->Flush();
-      track->HandleClear(mT0, mT1, false, false);
-      track->HandlePaste(mT0, tmp);
-      delete tmp;
-
-      if (!bGoodResult)
-         break;
-
-      //Iterate to the next track
-      ntrack++;
-      track = (WaveTrack *)iter.Next();
-   }
+}
 
-   if (bGoodResult)
-	   mT1 = mT0 + length; // Update selection.
+void EffectToneGen::GenerateBlock(float *data,
+                                  const WaveTrack &track,
+                                  sampleCount block)
+{
+   MakeTone(data, block);
+}
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-   return bGoodResult;
+void EffectToneGen::BeforeTrack(const WaveTrack &track)
+{
+   mSample = 0;
+   mCurRate = track.GetRate();
 }
 
 // WDR: class implementations
@@ -327,7 +283,7 @@ void ToneGenDialog::PopulateOrExchangeStandard( ShuttleGui & S )
          TimeTextCtrl(this,
                       wxID_ANY,
                       wxT(""),
-                      length,
+                      mDuration,
                       mEffect->mProjectRate,
                       wxDefaultPosition,
                       wxDefaultSize,
@@ -371,7 +327,7 @@ void ToneGenDialog::PopulateOrExchangeExtended( ShuttleGui & S )
          TimeTextCtrl(this,
                       wxID_ANY,
                       wxT(""),
-                      length,
+                      mDuration,
                       mEffect->mProjectRate,
                       wxDefaultPosition,
                       wxDefaultSize,
@@ -398,7 +354,7 @@ bool ToneGenDialog::TransferDataToWindow()
    EffectDialog::TransferDataToWindow();
 
    // Must handle this ourselves since ShuttleGui doesn't know about it
-   mToneDurationT->SetTimeValue(length);
+   mToneDurationT->SetTimeValue(mDuration);
 
    return true;
 }
@@ -413,7 +369,7 @@ bool ToneGenDialog::TransferDataFromWindow()
    frequency[1] = TrapDouble(frequency[1], FREQ_MIN, (float)(GetActiveProject()->GetRate())/2.);
 
    // Must handle this ourselves since ShuttleGui doesn't know about it
-   length = mToneDurationT->GetTimeValue();
+   mDuration = mToneDurationT->GetTimeValue();
 
    return true;
 }
diff --git a/src/effects/ToneGen.h b/src/effects/ToneGen.h
index 76231fc..59d2f23 100644
--- a/src/effects/ToneGen.h
+++ b/src/effects/ToneGen.h
@@ -13,7 +13,7 @@
 #ifndef __AUDACITY_EFFECT_TONEGEN__
 #define __AUDACITY_EFFECT_TONEGEN__
 
-#include "Effect.h"
+#include "Generator.h"
 #include "../widgets/TimeTextCtrl.h"
 #include "../Experimental.h"
 
@@ -29,7 +29,7 @@ class ShuttleGui;
 class WaveTrack;
 
 
-class EffectToneGen:public Effect {
+class EffectToneGen : public BlockGenerator {
 
  public:
    EffectToneGen();
@@ -57,21 +57,18 @@ class EffectToneGen:public Effect {
    // Useful only after PromptUser values have been set.
    virtual wxString GetEffectDescription(); 
 
-   virtual int GetEffectFlags() {
-      return BUILTIN_EFFECT | INSERT_EFFECT;
-   }
-
    virtual bool PromptUser();
    virtual bool TransferParameters( Shuttle & shuttle );
 
-   virtual bool Process();
+   void GenerateBlock(float *data, const WaveTrack &track, sampleCount block);
+   void BeforeGenerate();
+   void BeforeTrack(const WaveTrack &track);
 
  protected:
    virtual bool MakeTone(float *buffer, sampleCount len);
 
  private:
 
-   sampleCount numSamples;
    bool mbChirp;
    bool mbLogInterpolation;
 
@@ -82,7 +79,6 @@ class EffectToneGen:public Effect {
    int waveform;
    float frequency[2];
    float amplitude[2];
-   double length;
    float logFrequency[2];
    double mCurRate;
    int interpolation;
@@ -124,7 +120,7 @@ class ToneGenDialog:public EffectDialog {
    int waveform;
    double frequency[2];
    double amplitude[2];
-   double length;
+   double mDuration;
    bool isSelection;
    int interpolation;
    wxArrayString *interpolations;
diff --git a/src/effects/TruncSilence.cpp b/src/effects/TruncSilence.cpp
index a114895..54967fd 100644
--- a/src/effects/TruncSilence.cpp
+++ b/src/effects/TruncSilence.cpp
@@ -5,6 +5,7 @@
   TruncSilence.cpp
 
   Lynn Allan (from DM's Normalize)
+  Philip Van Baren (more options and boundary fixes)
 
 *******************************************************************//**
 
@@ -38,11 +39,20 @@ EffectTruncSilence::EffectTruncSilence()
 
 bool EffectTruncSilence::Init()
 {
-   mTruncLongestAllowedSilentMs = gPrefs->Read(wxT("/CsPresets/TruncLongestAllowedSilentMs"), 200L);
+   mTruncInitialAllowedSilentMs = gPrefs->Read(wxT("/CsPresets/TruncInitialAllowedSilentMs"), 200L);
+   if ((mTruncInitialAllowedSilentMs < 0) || (mTruncInitialAllowedSilentMs >= 9999999)) {  // corrupted Prefs?
+      mTruncInitialAllowedSilentMs = 200L;
+      gPrefs->Write(wxT("/CsPresets/TruncInitialAllowedSilentMs"), mTruncInitialAllowedSilentMs);
+   }
+   mTruncLongestAllowedSilentMs = gPrefs->Read(wxT("/CsPresets/TruncLongestAllowedSilentMs"), 1000L);
    if ((mTruncLongestAllowedSilentMs < 0) || (mTruncLongestAllowedSilentMs >= 9999999)) {  // corrupted Prefs?
-      mTruncLongestAllowedSilentMs = SKIP_EFFECT_MILLISECOND;
+      mTruncLongestAllowedSilentMs = 1000L;
       gPrefs->Write(wxT("/CsPresets/TruncLongestAllowedSilentMs"), mTruncLongestAllowedSilentMs);
    }
+   
+   if( mTruncLongestAllowedSilentMs < mTruncInitialAllowedSilentMs )
+      mTruncInitialAllowedSilentMs = mTruncLongestAllowedSilentMs;
+
    mTruncDbChoiceIndex = gPrefs->Read(wxT("/CsPresets/TruncDbChoiceIndex"), 4L);
    if ((mTruncDbChoiceIndex < 0) || (mTruncDbChoiceIndex >= Enums::NumDbChoices)) {  // corrupted Prefs?
       mTruncDbChoiceIndex = Enums::NumDbChoices - 1;  // Off-Skip
@@ -55,6 +65,11 @@ bool EffectTruncSilence::Init()
       mBlendFrameCount = 100;
       gPrefs->Write(wxT("/CsPresets/BlendFrameCount"), 100);
    }
+   mSilenceCompressRatio = 0.1*gPrefs->Read(wxT("/CsPresets/SilenceCompressRatio"), 40L);
+   if ((mSilenceCompressRatio < 1.0) || (mSilenceCompressRatio > 20.0)) {  // corrupted Prefs?
+      mSilenceCompressRatio = 4.0;
+      gPrefs->Write(wxT("/CsPresets/SilenceCompressRatio"), 40L);
+   }
    return true;
 }
 
@@ -78,28 +93,33 @@ bool EffectTruncSilence::PromptUser()
    if (dlog.GetReturnCode() == wxID_CANCEL)
       return false;
 
+   gPrefs->Write(wxT("/CsPresets/TruncInitialAllowedSilentMs"), mTruncInitialAllowedSilentMs);
    gPrefs->Write(wxT("/CsPresets/TruncLongestAllowedSilentMs"), mTruncLongestAllowedSilentMs);
    gPrefs->Write(wxT("/CsPresets/TruncDbChoiceIndex"), mTruncDbChoiceIndex);
-   
+   gPrefs->Write(wxT("/CsPresets/SilenceCompressRatio"), (int)floor(10.0*mSilenceCompressRatio+0.5));
+
    return true;
 }
 
 bool EffectTruncSilence::TransferParameters( Shuttle & shuttle )
 {  
    shuttle.TransferEnum(wxT("Db"), mTruncDbChoiceIndex, Enums::NumDbChoices, Enums::GetDbChoices());
-   shuttle.TransferInt(wxT("Duration"), mTruncLongestAllowedSilentMs, 200);
+   shuttle.TransferInt(wxT("Minimum"), mTruncInitialAllowedSilentMs, 200);
+   shuttle.TransferInt(wxT("Duration"), mTruncLongestAllowedSilentMs, 1000);
+   shuttle.TransferDouble(wxT("Compress"), mSilenceCompressRatio, 4.0f);
    return true;
 }
 
 #define QUARTER_SECOND_MS 250
 bool EffectTruncSilence::Process()
 {
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *t;
    double t0 = mT0;
    double t1 = mT1;
    int tndx; 
    int tcount = 0;
+   int fr;
 
    // Init using first track
    t = (WaveTrack *) iter.First();
@@ -129,19 +149,19 @@ bool EffectTruncSilence::Process()
       t = (WaveTrack*) iter.Next();
    }
 
+   // Just a sanity check, really it should be much higher
+   if(blockLen < 4*mBlendFrameCount)
+      blockLen = 4*mBlendFrameCount;
+
    // Transform the marker timepoints to samples
    t = (WaveTrack *) iter.First();
    sampleCount start = t->TimeToLongSamples(t0);
    sampleCount end = t->TimeToLongSamples(t1);
 
    // Bigger buffers reduce 'reset'
-   blockLen *= 8;
-
-   // Allocate buffers
-   float **buffer = new float*[tcount];
-   for (tndx = 0; tndx < tcount; tndx++) {
-      buffer[tndx] = new float[blockLen];
-   }
+   //blockLen *= 8;
+   // Stress-test the logic for cutting samples through block endpoints
+   //blockLen /= 8;
 
    // Set thresholds
    // We have a lower bound on the amount of silence we chop out at a time
@@ -149,48 +169,79 @@ bool EffectTruncSilence::Process()
    // if we use 100ms.
    const float minTruncMs = 1.0f;
    double truncDbSilenceThreshold = Enums::Db2Signal[mTruncDbChoiceIndex];
+   int truncInitialAllowedSilentSamples = 
+      int((wxMax( mTruncInitialAllowedSilentMs, minTruncMs) * rate) / 1000.0);
    int truncLongestAllowedSilentSamples = 
       int((wxMax( mTruncLongestAllowedSilentMs, minTruncMs) * rate) / 1000.0);
 
-   
+   // Don't allow either value to be less than the cross-fade length
+   if(truncInitialAllowedSilentSamples < mBlendFrameCount)
+      truncInitialAllowedSilentSamples = mBlendFrameCount;
+   if(truncLongestAllowedSilentSamples < mBlendFrameCount)
+      truncLongestAllowedSilentSamples = mBlendFrameCount;
 
-   // Figure out number of frames for ramping
-   int quarterSecondFrames = int((rate * QUARTER_SECOND_MS) / 1000.0);
-   int rampInFrames = (truncLongestAllowedSilentSamples / 4);
-   if (rampInFrames > quarterSecondFrames) {
-      rampInFrames = quarterSecondFrames;
+   // For sake of efficiency, don't let blockLen be less than double the longest silent samples
+   // up until a sane limit of 1Meg samples
+   while((blockLen > 0) && (blockLen < truncLongestAllowedSilentSamples*2) && (blockLen < 1048576)) {
+      blockLen *= 2;
+   }
+    // Don't allow either value to be more than half of the block length
+   if(truncLongestAllowedSilentSamples > blockLen/2)
+      truncLongestAllowedSilentSamples = blockLen/2;
+   if(truncInitialAllowedSilentSamples > truncLongestAllowedSilentSamples)
+      truncInitialAllowedSilentSamples = truncLongestAllowedSilentSamples;
+
+   // We use the 'longest' variable as additive to the 'initial' variable
+   truncLongestAllowedSilentSamples -= truncInitialAllowedSilentSamples;
+
+   // Perform the crossfade half-way through the minimum removed silence duration
+   int rampInFrames = (truncInitialAllowedSilentSamples + mBlendFrameCount) / 2;
+   if(rampInFrames > truncInitialAllowedSilentSamples)
+      rampInFrames = truncInitialAllowedSilentSamples;
+
+   // Allocate buffers
+   float **buffer = new float*[tcount];
+   for (tndx = 0; tndx < tcount; tndx++) {
+      buffer[tndx] = new float[blockLen];
    }
 
    // Start processing
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-   TrackListIterator iterOut(mOutputWaveTracks);
+   //Track::All is needed because this effect has clear functionality
+   this->CopyInputTracks(Track::All); // Set up mOutputTracks.
+   SelectedTrackListOfKindIterator iterOut(Track::Wave, mOutputTracks);
 
    sampleCount index = start;
    sampleCount outTrackOffset = start;
    bool cancelled = false;
+   // Reset
+   bool ignoringFrames = false;
+   bool truncToMinimum = true;  // Ignore the initial samples until we get above the noise floor
+   sampleCount consecutiveSilentFrames = 0;
+   sampleCount truncIndex = 0;
+   sampleCount i = 0;
+   sampleCount keep;
+
    while (index < end) {
 
       // Limit size of current block if we've reached the end
-      sampleCount limit = blockLen;
-      if ((index + blockLen) > end) {
-         limit = end - index; 
+      sampleCount count = blockLen-i;
+      if ((index + count) > end) {
+         count = end - index; 
       }
 
       // Fill the buffers
       tndx = 0;
       t = (WaveTrack *) iter.First();
       while (t) {
-         t->Get((samplePtr)buffer[tndx++], floatSample, index, blockLen);
+         t->Get((samplePtr)(buffer[tndx++]+i), floatSample, index, count);
          t = (WaveTrack *) iter.Next();
       }
 
-      // Reset
-      bool ignoringFrames = false;
-      sampleCount consecutiveSilentFrames = 0;
-      sampleCount truncIndex = 0;
+      // Shift over to account for samples remaining from prior block
+      sampleCount limit = count+i;
 
       // Look for silences in current block
-      for (sampleCount i = 0; i < limit; i++) {
+      for ( ; i < limit; i++) {
 
          // Is current frame in all tracks below threshold
          bool below = true;
@@ -200,6 +251,13 @@ bool EffectTruncSilence::Process()
                break;
             }
          }
+         // Make sure we cross-fade and output the last silence
+         // so we get a smooth transition into whatever follows the selected region
+         // Also set the 'truncToMinimum' flag so that the last silence is truncated to the minimum amount
+         if(below && ((index+i+1) == end)) {
+            below = false;
+            truncToMinimum = true;
+         }
 
          // Count frame if it's below threshold
          if (below) {
@@ -207,31 +265,68 @@ bool EffectTruncSilence::Process()
 
             // Ignore this frame (equivalent to cutting it)
             // otherwise, keep sample to be part of allowed silence
-            if (consecutiveSilentFrames > truncLongestAllowedSilentSamples) {
+            if (consecutiveSilentFrames > truncInitialAllowedSilentSamples) {
                ignoringFrames = true;
                continue;
             }
          }
          else {
             if (ignoringFrames == true) {
-               sampleCount curOffset = i - rampInFrames;
-               truncIndex -= rampInFrames; // backup into ignored frames
+               // Scale the consectiveSilentFrames so we keep a silence duration
+               // which is proportional to the original silence up to the limit
+               keep = consecutiveSilentFrames - truncInitialAllowedSilentSamples;
+               keep /= mSilenceCompressRatio;
+
+               // The first and last samples always get truncated to the minimum amount
+               if(truncToMinimum == true)
+                  keep = 0;
+               if(keep > truncLongestAllowedSilentSamples)
+                  keep = truncLongestAllowedSilentSamples;
+               if(keep < 0)
+                  keep = 0;
+
+               // Compute the location of the cross-fade to be halfway through the silence
+               // with restriction to the samples we still have available to use
+               rampInFrames = (truncInitialAllowedSilentSamples - keep + mBlendFrameCount) / 2;
+               if(rampInFrames > truncInitialAllowedSilentSamples)
+                  rampInFrames = truncInitialAllowedSilentSamples;
+               if(rampInFrames < mBlendFrameCount)
+                  rampInFrames = mBlendFrameCount;
+
+               // Include the cross-fade samples in the count to make the loop logic easier
+               keep += rampInFrames;
+               truncIndex -= rampInFrames;
+
+               // back up for cross-fade
+               sampleCount curOffset = i - keep;
+
+               if(curOffset < 0) {
+                  // This should never happen, but just in case...
+                  keep += curOffset - rampInFrames;
+                  if(keep < mBlendFrameCount)
+                     keep = mBlendFrameCount;
+                  curOffset = 0;
+               }
+               if(truncIndex < 0) {
+                  // This should never happen, but just in case...
+                  truncIndex = 0;
+               }
 
                for (tndx = 0; tndx < tcount; tndx++) {
-                  sampleCount trunci = truncIndex;
-                  for (int fr = 0; fr < rampInFrames; fr++) {
-                     buffer[tndx][trunci++] = buffer[tndx][curOffset + fr];
+                  // Cross fade the cut point
+                  for (fr = 0; fr < mBlendFrameCount; fr++) {
+                     buffer[tndx][truncIndex+fr] = ((mBlendFrameCount-fr)*buffer[tndx][truncIndex+fr] + fr*buffer[tndx][curOffset + fr]) / mBlendFrameCount;
                   }
-                  if(((trunci - rampInFrames) - mBlendFrameCount) >= 0) {
-                     BlendFrames(buffer[tndx], mBlendFrameCount,
-                             ((trunci - rampInFrames) - mBlendFrameCount), 
-                             ((i - rampInFrames) - mBlendFrameCount));
+                  // Append the 'keep' samples, if any
+                  for ( ; fr < keep; fr++) {
+                     buffer[tndx][truncIndex+fr] = buffer[tndx][curOffset + fr];
                   }
                }
-               truncIndex += rampInFrames;
+               truncIndex += keep;
             }
             consecutiveSilentFrames = 0;
             ignoringFrames = false;
+            truncToMinimum = false;
          }
 
          // Can get here either because > dbThreshold
@@ -253,8 +348,32 @@ bool EffectTruncSilence::Process()
          }
       }
 
-      // Maintain output index
-      outTrackOffset += truncIndex;
+      // If currently in a silent section, retain samples for the next pass
+      if(ignoringFrames) {
+         keep = consecutiveSilentFrames - truncInitialAllowedSilentSamples;
+         if(keep > (truncLongestAllowedSilentSamples+mBlendFrameCount))
+            keep = truncLongestAllowedSilentSamples+mBlendFrameCount;
+         for (tndx = 0; tndx < tcount; tndx++) {
+            for(fr = 0; fr < truncInitialAllowedSilentSamples; fr++) {
+               buffer[tndx][fr] = buffer[tndx][truncIndex-truncInitialAllowedSilentSamples+fr];
+            }
+            for(fr = 0; fr < keep; fr++) {
+               buffer[tndx][truncInitialAllowedSilentSamples+fr] = buffer[tndx][i-keep+fr];
+            }
+         }
+         // Update the output index, less what we are retaining for next time
+         outTrackOffset += truncIndex - truncInitialAllowedSilentSamples;
+         // Append the following buffer to the existing data
+         i = consecutiveSilentFrames = truncInitialAllowedSilentSamples + keep;
+         truncIndex = truncInitialAllowedSilentSamples;
+      } else {
+         // Maintain output index
+         outTrackOffset += truncIndex;
+         // Reset the buffer pointers to the beginning
+         i = 0;
+         truncIndex = 0;
+         consecutiveSilentFrames = 0;
+      }
 
       // Update progress and bail if user cancelled
       cancelled = TrackProgress(0, ((double)index / (double)end));
@@ -263,14 +382,14 @@ bool EffectTruncSilence::Process()
       }
 
       // Bump to next block
-      index += limit;
+      index += count;
    }
 
    // Remove stale data at end of output tracks.
    if (!cancelled && (outTrackOffset < end)) {
       t = (WaveTrack *) iterOut.First();
       while (t) {
-         t->Clear(outTrackOffset / rate, t1);
+         t->Clear(outTrackOffset / rate, t1, mOutputTracks);
          t = (WaveTrack *) iterOut.Next();
       }
       t1 = outTrackOffset / rate;
@@ -285,7 +404,7 @@ bool EffectTruncSilence::Process()
    mT0 = t0;
    mT1 = t1;
 
-   this->ReplaceProcessedWaveTracks(!cancelled); 
+   this->ReplaceProcessedTracks(!cancelled); 
    return !cancelled;
 }
 
@@ -308,12 +427,16 @@ void EffectTruncSilence::BlendFrames(float* buffer, int blendFrameCount, int lef
 // TruncSilenceDialog
 //----------------------------------------------------------------------------
 
-#define ID_LONGEST_SILENCE_TEXT   7000
-#define ID_DB_SILENCE_THRESHOLD_CHOICE 7001
+#define ID_SHORTEST_SILENCE_TEXT   7000
+#define ID_LONGEST_SILENCE_TEXT   7001
+#define ID_COMPRESS_FACTOR   7002
+#define ID_DB_SILENCE_THRESHOLD_CHOICE 7003
 
 BEGIN_EVENT_TABLE(TruncSilenceDialog, EffectDialog)
     EVT_BUTTON(ID_EFFECT_PREVIEW, TruncSilenceDialog::OnPreview)
+    EVT_TEXT( ID_SHORTEST_SILENCE_TEXT, TruncSilenceDialog::OnDurationChange )
     EVT_TEXT( ID_LONGEST_SILENCE_TEXT, TruncSilenceDialog::OnDurationChange )
+    EVT_TEXT( ID_COMPRESS_FACTOR, TruncSilenceDialog::OnDurationChange )
 END_EVENT_TABLE()
 
 TruncSilenceDialog::TruncSilenceDialog(EffectTruncSilence * effect,
@@ -328,7 +451,7 @@ void TruncSilenceDialog::PopulateOrExchange(ShuttleGui & S)
 {
    S.StartHorizontalLay(wxCENTER, false);
    {
-      S.AddTitle(_("by Lynn Allan"));
+      S.AddTitle(_("by Lynn Allan && Philip Van Baren"));
    }
    S.EndHorizontalLay();
 
@@ -342,10 +465,18 @@ void TruncSilenceDialog::PopulateOrExchange(ShuttleGui & S)
    {
       wxArrayString choices(Enums::NumDbChoices, Enums::GetDbChoices());
 
+      S.Id( ID_SHORTEST_SILENCE_TEXT ).TieTextBox(_("Min silence duration:"),
+                   mEffect->mTruncInitialAllowedSilentMs,
+                   10);
+      S.AddUnits( _("milliseconds") );
       S.Id( ID_LONGEST_SILENCE_TEXT ).TieTextBox(_("Max silence duration:"),
                    mEffect->mTruncLongestAllowedSilentMs,
                    10);
       S.AddUnits( _("milliseconds") );
+      S.Id( ID_COMPRESS_FACTOR ).TieTextBox(_("Silence compression:"),
+                   mEffect->mSilenceCompressRatio,
+                   10);
+      S.AddUnits( _(":1") );
       //S.AddUnits(_("(9999999 or greater is off)"));
       S.TieChoice(_("Threshold for silence:"),
                   mEffect->mTruncDbChoiceIndex,
@@ -368,10 +499,12 @@ void TruncSilenceDialog::OnDurationChange(wxCommandEvent & event)
    if( !IsShown() )
       return;
    TransferDataFromWindow();
-   bool bOk =  mEffect->mTruncLongestAllowedSilentMs > 0.9f ;
+   bool bOk =  (mEffect->mTruncInitialAllowedSilentMs > 0.9f) 
+            && (mEffect->mTruncLongestAllowedSilentMs > 0.9f)
+            && (mEffect->mSilenceCompressRatio >= 1.0f);
    pWarning->SetLabel( bOk ? 
       wxT("") : 
-      _("   Duration must be at least 1 millisecond")
+   _("   Duration must be at least 1 millisecond\n   Compress ratio must be at least 1:1")
          );
    wxWindow *pWnd;
    pWnd = FindWindowById( wxID_OK, this );
diff --git a/src/effects/TruncSilence.h b/src/effects/TruncSilence.h
index f819793..0b054f5 100644
--- a/src/effects/TruncSilence.h
+++ b/src/effects/TruncSilence.h
@@ -10,6 +10,7 @@
   //ToDo ... BlendFrames on "fade-out"
   //ToDo ... BlendFrameCount is a user-selectable parameter
   //ToDo ... Detect transient signals that are too short to interrupt the TruncatableSilence
+  Philip Van Baren (more options and boundary fixes)
 
 **********************************************************************/
 
@@ -55,8 +56,10 @@ public:
 
  private:
    sampleCount mBlendFrameCount;
+   int mTruncInitialAllowedSilentMs;
    int mTruncLongestAllowedSilentMs;
    int mTruncDbChoiceIndex;
+   double mSilenceCompressRatio;
 
 friend class TruncSilenceDialog;
 };
@@ -80,6 +83,10 @@ private:
    EffectTruncSilence *mEffect;
    wxStaticText * pWarning;
 
+   wxStaticText *mRatioLabel;
+   wxSlider *mRatioSlider;
+   wxStaticText *mRatioText;
+
 private:
    DECLARE_EVENT_TABLE()
 };
diff --git a/src/effects/TwoPassSimpleMono.cpp b/src/effects/TwoPassSimpleMono.cpp
index 8036177..8e344ab 100644
--- a/src/effects/TwoPassSimpleMono.cpp
+++ b/src/effects/TwoPassSimpleMono.cpp
@@ -28,7 +28,7 @@ bool EffectTwoPassSimpleMono::Process()
     mSecondPassDisabled = false;
     
     InitPass1();
-    this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+    this->CopyInputTracks(); // Set up mOutputTracks.
     bool bGoodResult = ProcessPass();
         
     if (bGoodResult && !mSecondPassDisabled)
@@ -38,14 +38,14 @@ bool EffectTwoPassSimpleMono::Process()
             bGoodResult = ProcessPass();
     }
     
-    this->ReplaceProcessedWaveTracks(bGoodResult); 
+    this->ReplaceProcessedTracks(bGoodResult); 
     return bGoodResult;
 }
 
 bool EffectTwoPassSimpleMono::ProcessPass()
 {
    //Iterate over each track
-   TrackListIterator iter(mOutputWaveTracks);
+   SelectedTrackListOfKindIterator iter(Track::Wave, mOutputTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    mCurTrackNum = 0;
    while (track) {
diff --git a/src/effects/TwoPassSimpleMono.h b/src/effects/TwoPassSimpleMono.h
index ac29045..9783320 100644
--- a/src/effects/TwoPassSimpleMono.h
+++ b/src/effects/TwoPassSimpleMono.h
@@ -30,7 +30,7 @@ class EffectTwoPassSimpleMono:public Effect {
 
    // Override these methods if you need to initialize something
    // before each pass. Return None if processing should stop.
-   // These should not depend on mOutputWaveTracks having been set up via CopyInputWaveTracks().
+   // These should not depend on mOutputTracks having been set up via CopyInputTracks().
    virtual bool InitPass1();
    virtual bool InitPass2();
    
diff --git a/src/effects/VST/LoadVSTMac.cpp b/src/effects/VST/LoadVSTMac.cpp
deleted file mode 100644
index 805745d..0000000
--- a/src/effects/VST/LoadVSTMac.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  LoadVSTMac.cpp
-
-  Dominic Mazzoni
-
-**********************************************************************/
-
-#include "../../Audacity.h"
-
-#if USE_VST
-
-#define __MOVIES__   /* Apple's Movies.h not compatible with Audacity */
-/* #define __MACHELP__ */
-
-#include <wx/mac/private.h>
-
-#ifdef __MACOS9__
-#include <Resources.h>
-#include <Files.h>
-#include <Memory.h>
-#include <CodeFragments.h>
-#endif
-
-#ifdef __MACOSX__
-#include <CoreServices/CoreServices.h>
-#endif
-
-#include "AEffect.h"
-#include "AudioEffect.hpp"        // VST API
-
-#include "VSTEffect.h"
-#include "LoadVSTMac.h"   
-#include "../../AudacityApp.h"
-#include "../../Internat.h"
-#include "../EffectManager.h"
-
-int audacityVSTID = 1;
-
-extern "C" {
-   
-   long audioMaster(AEffect * effect, long opcode, long index,
-                    long value, void *ptr, float opt)
-   {
-      switch (opcode) {
-      case audioMasterVersion:
-         return 2;
-      case audioMasterCurrentId:
-         return audacityVSTID;
-      default:
-         return 0;
-      }
-   }
-
-   typedef AEffect *(*vstPluginMain)(audioMasterCallback audioMaster);
-
-   void LoadVSTPlugins()
-   {
-#ifdef __MACOSX__
-      audioMasterCallback audioMasterFPtr =
-         (audioMasterCallback)NewCFMFromMachO(audioMaster);
-#else
-      // What is the corrct way of creating an audioMasterCallback
-      // in OS 9/Carbon???
-      // audioMasterCallback audioMasterFPtr = NULL; 
-      audioMasterCallback audioMasterFPtr = audioMaster;
-#endif      
-
-      wxArrayString audacityPathList = wxGetApp().audacityPathList;
-      wxArrayString pathList;
-      wxArrayString files;
-      unsigned int i;
-      
-      for(i=0; i<audacityPathList.GetCount(); i++) {
-         wxString prefix = audacityPathList[i] + wxFILE_SEP_PATH;
-         wxGetApp().AddUniquePathToPathList(prefix + "VST",
-                                            pathList);
-         wxGetApp().AddUniquePathToPathList(prefix + "Plugins",
-                                            pathList);
-         wxGetApp().AddUniquePathToPathList(prefix + "Plug-Ins",
-                                            pathList);
-      }
-
-      #ifdef __MACOSX__
-      wxGetApp().AddUniquePathToPathList("/Library/Audio/Plug-Ins/VST",
-                              pathList);
-      wxString vstPath;
-      vstPath.Printf("/Users/%s/Library/Audio/Plug-Ins/VST",
-                     wxGetenv("USER"));
-      wxGetApp().AddUniquePathToPathList(vstPath,
-                                         pathList);
-      #endif
-
-      wxGetApp().FindFilesInPathList("*", pathList, wxFILE, files);
-      
-      for(i=0; i<files.GetCount(); i++) {
-         short   resFileID;
-         FSSpec  spec;
-         
-         wxMacFilename2FSSpec(FILENAME(files[i]), &spec);
-         resFileID = FSpOpenResFile(&spec, fsRdPerm);
-         short cResCB = Count1Resources('aEff');
-
-         for (int i = 0; i < cResCB; i++) {
-            Handle             codeH;
-            CFragConnectionID  connID;
-            Ptr                mainAddr;
-            Str255             errName;
-            Str255             fragName;
-            char               fragNameCStr[256];
-            short              resID;
-            OSType             resType;
-            OSErr              err;
-
-            codeH = Get1IndResource('aEff', short(i+1));
-            if (!codeH)
-               continue;
-
-            GetResInfo(codeH, &resID, &resType, fragName);
-            DetachResource(codeH);
-            HLock(codeH);
-
-            err = GetMemFragment(*codeH,
-                                 GetHandleSize(codeH),
-                                 fragName,
-                                 kPrivateCFragCopy,
-                                 &connID, (Ptr *) & mainAddr, errName);
-
-            if (!err) {
-               vstPluginMain   pluginMain;
-               AEffect        *theEffect;
-
-               #ifdef __MACOSX__
-               pluginMain = (vstPluginMain)NewMachOFromCFM(mainAddr);
-               #else
-               pluginMain = (vstPluginMain)mainAddr;
-               #endif
-
-               theEffect = pluginMain(audioMasterFPtr);
-
-               if (theEffect->magic == kEffectMagic) {
-                  
-                  memcpy(fragNameCStr, &fragName[1], fragName[0]);
-                  fragNameCStr[fragName[0]] = 0;
-                  
-                  VSTEffect *vst =
-                     new VSTEffect(wxString(fragNameCStr), theEffect);
-                  EffectManager::Get().RegisterEffect(vst);
-               }
-
-               #ifdef __MACOSX__
-               DisposeMachOFromCFM(pluginMain);
-               #endif
-               
-               audacityVSTID++;
-            }
-         }
-         
-         CloseResFile(resFileID);
-
-      }
-         
-#ifdef __MACOSX__
-      DisposeCFMFromMachO(audioMasterFPtr);
-#endif  //   __MACOSX__
-   }
-
-};                              // extern "C"
-
-#else
-
-extern "C" {
-   void LoadVSTPlugins() {}
-}
-
-#endif // USE_VST
-
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: d75c9c59-4f9b-4398-b4e8-11ffddc283cf
-
diff --git a/src/effects/VST/LoadVSTMac.h b/src/effects/VST/LoadVSTMac.h
deleted file mode 100644
index 758b326..0000000
--- a/src/effects/VST/LoadVSTMac.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  LoadVSTMac.h
-
-  Dominic Mazzoni
-
-**********************************************************************/
-
-extern "C" {
-
-   void LoadVSTPlugins();
-
-};
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: dbb07871-e39e-4ff0-a73d-58209159aea7
-
diff --git a/src/effects/VST/LoadVSTWin.cpp b/src/effects/VST/LoadVSTWin.cpp
deleted file mode 100644
index 552f40f..0000000
--- a/src/effects/VST/LoadVSTWin.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  LoadVSTWin.cpp
-
-  Dominic Mazzoni
-  Mark Tomlinson
-
-**********************************************************************/
-
-#include "../../Audacity.h"
-
-#if USE_VST
-
-#include "AudioEffect.hpp"      // VST API
-
-#include "VSTEffect.h"
-#include "../../AudacityApp.h"
-#include "../EffectManager.h"
-#include "LoadVSTWin.h"
-
-#include <windows.h>
-
-int audacityVSTID = 1;
-
-extern "C" {
-
-   long audioMaster(AEffect * effect, long opcode, long index,
-                    long value, void *ptr, float opt) {
-      switch (opcode) {
-      case audioMasterVersion:
-         return 2;
-      case audioMasterCurrentId:return audacityVSTID;
-      default:return 0;
-      }
-   }
-   
-   typedef AEffect *(*vstPluginMain) (audioMasterCallback audioMaster);
-   
-   void LoadVSTPlugin(wxString fname) {
-      HANDLE hLib = LoadLibrary(fname);
-      
-      if (hLib != NULL) {
-         
-         // get the address of the main() function
-         
-         vstPluginMain pDllMain =
-            (vstPluginMain) GetProcAddress((HINSTANCE) hLib, "main");
-         
-         if (pDllMain != NULL) {
-            
-            AEffect *theEffect;
-            
-            theEffect = (pDllMain) (audioMaster);
-            
-            if (theEffect->magic == kEffectMagic) {
-               wxString title = wxFileNameFromPath(fname);
-               int len = title.Len();
-               if (len > 4 && (title.Mid(len - 4, 1) == "."))
-                  title = title.Mid(0, len - 4);
-               
-               VSTEffect *vst = new VSTEffect(title, theEffect);
-               EffectManager::Get().RegisterEffect(vst);
-            }
-         }
-         
-         audacityVSTID++;
-      } else {
-         FreeLibrary((HINSTANCE) hLib);
-      }
-   }
-
-   void LoadVSTPlugins() {
-      wxArrayString audacityPathList = wxGetApp().audacityPathList;
-      wxArrayString pathList;
-      wxArrayString files;
-      unsigned int i;
-      
-      for(i=0; i<audacityPathList.GetCount(); i++) {
-         wxString prefix = audacityPathList[i] + wxFILE_SEP_PATH;
-         wxGetApp().AddUniquePathToPathList(prefix + "VST",
-                                            pathList);
-         wxGetApp().AddUniquePathToPathList(prefix + "plugins",
-                                            pathList);
-         wxGetApp().AddUniquePathToPathList(prefix + "plug-ins",
-                                            pathList);
-      }
-
-      wxGetApp().FindFilesInPathList("*.dll", pathList, wxFILE, files);
-      
-      for(i=0; i<files.GetCount(); i++)
-         LoadVSTPlugin(files[i]);
-   }
-
-
-};                              // extern "C"
-
-#else
-
-extern "C" {
-   void LoadVSTPlugins() {}
-}
-
-#endif // USE_VST
-
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: 9f1d7f8b-23a6-4e16-80cd-f5f976f5b213
-
diff --git a/src/effects/VST/LoadVSTWin.h b/src/effects/VST/LoadVSTWin.h
deleted file mode 100644
index fcd4d04..0000000
--- a/src/effects/VST/LoadVSTWin.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  LoadVSTWin.h
-
-  Mark Tomlinson
-
-**********************************************************************/
-
-extern "C" {
-
-   void LoadVSTPlugins();
-
-};
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: 3a891fd3-bbb4-430f-8486-f2e31bc8da78
-
diff --git a/src/effects/VST/VSTEffect.cpp b/src/effects/VST/VSTEffect.cpp
index b3d8ace..81063f3 100644
--- a/src/effects/VST/VSTEffect.cpp
+++ b/src/effects/VST/VSTEffect.cpp
@@ -18,650 +18,1247 @@
 
 #if USE_VST
 
-#include "AEffect.h"            // VST API
-#include "AEffEditor.hpp"
-
 #include <wx/defs.h>
 #include <wx/button.h>
+#include <wx/combobox.h>
 #include <wx/dialog.h>
+#include <wx/filename.h>
 #include <wx/frame.h>
-#include <wx/slider.h>
-#include <wx/sizer.h>
 #include <wx/msgdlg.h>
+#include <wx/sizer.h>
+#include <wx/slider.h>
+#include <wx/scrolwin.h>
+#include <wx/stattext.h>
 
-#include "../Effect.h"          // Audacity Effect base class
-#include "VSTEffect.h"          // This class's header file
-
-#ifdef __MACOSX__
-#include <Carbon/Carbon.h>
+#if defined(__WXMAC__)
+#include <wx/mac/private.h>
+#else
+#include <wx/dynlib.h>
 #endif
 
-const int VSTEFFECT_SLIDER_ID = 13100;
-const int PREVIEW_ID          = 13101;
+#include "../../FileNames.h"
+#include "../../Prefs.h"
+#include "../../xml/XMLFileReader.h"
+#include "../../xml/XMLWriter.h"
+#include "FileDialog.h"
+
+#include "VSTEffect.h"
 
-class VSTEffectGUIDialog : public wxDialog
+///////////////////////////////////////////////////////////////////////////////
+//
+// VSTEffectDialog
+//
+///////////////////////////////////////////////////////////////////////////////
+
+class VSTEffectDialog:public wxDialog, XMLTagHandler
 {
-public:
-   VSTEffectGUIDialog(wxWindow * parent, wxWindowID id,
-                      const wxString & title,
-                      VSTEffect *effect, AEffect *aEffect);
+ public:
+   VSTEffectDialog(wxWindow * parent,
+                   const wxString & title,
+                   VSTEffect *effect,
+                   AEffect *aeffect);
+   virtual ~VSTEffectDialog();
+
+   void OnIdle(wxIdleEvent & evt);
+
+   void OnProgram(wxCommandEvent & evt);
+   void OnProgramText(wxCommandEvent & evt);
+   void OnLoad(wxCommandEvent & evt);
+   void OnSave(wxCommandEvent & evt);
+
+   void OnSlider(wxCommandEvent &event);
 
-   void OnOk(wxCommandEvent &event);
-   void OnCancel(wxCommandEvent &event);
-   void OnPreview(wxCommandEvent &event);
+   void OnOk(wxCommandEvent & evt);
+   void OnCancel(wxCommandEvent & evt);
+   void OnPreview(wxCommandEvent & evt);
 
-   void OnIdle(wxIdleEvent &event);
+ private:
+
+   void BuildPlain();
+   void BuildFancy();
+   wxSizer *BuildProgramBar();
+   void RefreshParameters(int skip = -1);
+
+   virtual bool HandleXMLTag(const wxChar *tag, const wxChar **attrs);
+   virtual void HandleXMLEndTag(const wxChar *tag);
+   virtual void HandleXMLContent(const wxString & content);
+   virtual XMLTagHandler *HandleXMLChild(const wxChar *tag);
+   wxString b64encode(const void *in, int len);
+   int b64decode(wxString in, void *out);
 
-private:
    VSTEffect *mEffect;
-   AEffect   *mAEffect;
+   AEffect *mAEffect;
+
+   bool mGui;
+
+   wxComboBox *mProgram;
+   wxStaticText **mNames;
+   wxSlider **mSliders;
+   wxStaticText **mDisplays;
+   wxStaticText **mLabels;
+
+   bool mInChunk;
+   wxString mChunk;
 
    DECLARE_EVENT_TABLE()
 };
 
-BEGIN_EVENT_TABLE(VSTEffectGUIDialog,wxDialog)
-   EVT_BUTTON( wxID_OK, VSTEffectGUIDialog::OnOk )
-   EVT_BUTTON( wxID_CANCEL, VSTEffectGUIDialog::OnCancel )
-   EVT_BUTTON( ID_EFFECT_PREVIEW, VSTEffectGUIDialog::OnPreview )
-   EVT_IDLE( VSTEffectGUIDialog::OnIdle )
+enum
+{
+   ID_VST_PROGRAM = 11000,
+   ID_VST_LOAD,
+   ID_VST_SAVE,
+   ID_VST_SLIDERS
+};
+
+BEGIN_EVENT_TABLE(VSTEffectDialog, wxDialog)
+   EVT_IDLE(VSTEffectDialog::OnIdle)
+   EVT_BUTTON(wxID_OK, VSTEffectDialog::OnOk)
+   EVT_BUTTON(wxID_CANCEL, VSTEffectDialog::OnCancel)
+   EVT_BUTTON(ID_EFFECT_PREVIEW, VSTEffectDialog::OnPreview)
+
+   EVT_COMBOBOX(ID_VST_PROGRAM, VSTEffectDialog::OnProgram)
+   EVT_TEXT(ID_VST_PROGRAM, VSTEffectDialog::OnProgramText)
+   EVT_BUTTON(ID_VST_LOAD, VSTEffectDialog::OnLoad)
+   EVT_BUTTON(ID_VST_SAVE, VSTEffectDialog::OnSave)
+
+   EVT_SLIDER(wxID_ANY, VSTEffectDialog::OnSlider)
 END_EVENT_TABLE()
 
-VSTEffectGUIDialog::VSTEffectGUIDialog(wxWindow *parent, wxWindowID id,
+VSTEffectDialog::VSTEffectDialog(wxWindow *parent,
                                        const wxString & title,
                                        VSTEffect *effect,
-                                       AEffect *aEffect):
-   wxDialog(parent, id, title, wxDefaultPosition, wxDefaultSize,
-            wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION),
+                                       AEffect *aeffect)
+:  wxDialog(parent, wxID_ANY, title),
    mEffect(effect),
-   mAEffect(aEffect)
+   mAEffect(aeffect)
 {
-   ERect *rect;
-
-   mEffect->callDispatcher(mAEffect, effEditGetRect, 0, 0, &rect, 0.0);
-   mEffect->callDispatcher(mAEffect, effEditOpen, 0, 0, (void *)GetHWND(), 0.0);
-
-   wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
+   mNames = NULL;
+   mSliders = NULL;
+   mDisplays = NULL;
+   mLabels = NULL;
+
+   // Determine if the VST editor is supposed to be used or not
+   mGui = (gPrefs->Read(wxT("/VST/GUI"), (long) true) != 0) &&
+          mAEffect->flags & effFlagsHasEditor;
+
+   // Build the appropriate dialog type
+   if (mGui) {
+      BuildFancy();
+   }
+   else {
+      BuildPlain();
+   }
+}
 
-   mainSizer->Add(rect->right-rect->left, rect->bottom-rect->top);
+VSTEffectDialog::~VSTEffectDialog()
+{
+   if (mNames) {
+      delete [] mNames;	
+   }
 
-   // Preview, OK, & Cancel buttons
-   mainSizer->Add(CreateStdButtonSizer(this, ePreviewButton|eCancelButton|eOkButton), 0, wxEXPAND);
+   if (mSliders) {
+      delete [] mSliders;
+   }
 
-   SetAutoLayout(true);
-   SetSizer(mainSizer);
-   mainSizer->Fit(this);
-   mainSizer->SetSizeHints(this);
+   if (mDisplays) {
+      delete [] mDisplays;
+   }
 
-   mEffect->SetDialog(this);
+   if (mLabels) {
+      delete [] mLabels;
+   }
 }
 
-void VSTEffectGUIDialog::OnIdle(wxIdleEvent &event)
+void VSTEffectDialog::BuildFancy()
 {
-   mEffect->callDispatcher(mAEffect, effEditIdle, 0, 0, NULL, 0.0);
-}
+#if defined(__WXMAC__)
+   ControlRef view;
+   WindowRef win = (WindowRef) MacGetTopLevelWindowRef();
+   OSStatus status = HIViewFindByID(HIViewGetRoot(win), kHIViewWindowContentID, &view);
+   wxASSERT(status == 0);
 
-void VSTEffectGUIDialog::OnPreview(wxCommandEvent &event)
-{
-   mEffect->Preview();
+   mEffect->callDispatcher(effEditOpen, 0, 0, win, 0.0);
+
+   HIViewRef subview = HIViewGetFirstSubview(view);
+   wxASSERT(subview != NULL);
+
+#elif defined(__WXMSW__)
+   mEffect->callDispatcher(effEditOpen, 0, 0, GetHWND(), 0.0);
+
+   HWND child = FindWindowEx((HWND) GetHWND(), NULL, NULL, NULL);
+#else
+#endif
+
+   struct
+   {
+      short top, left, bottom, right;
+   } *rect;
+
+   mEffect->callDispatcher(effEditGetRect, 0, 0, &rect, 0.0);
+
+   wxBoxSizer *vs = new wxBoxSizer(wxVERTICAL);
+   wxBoxSizer *hs = new wxBoxSizer(wxHORIZONTAL);
+   wxSizerItem *si;
+
+   vs->Add(BuildProgramBar(), 0, wxCENTER);
+   
+   si = hs->Add(rect->right - rect->left, rect->bottom - rect->top);
+   vs->Add(hs, 0, wxCENTER);
+
+   vs->Add(CreateStdButtonSizer(this, ePreviewButton|eCancelButton|eOkButton), 0, wxEXPAND);
+
+   SetSizerAndFit(vs);
+
+   wxPoint pos = si->GetPosition();
+
+#if defined(__WXMAC__)
+   HIViewPlaceInSuperviewAt(subview, pos.x, pos.y);
+
+   // LL:  Some VST effects do not work unless this is done.  But, it must be
+   //      done last since proper window sizing will not occur otherwise.
+   ::RemoveEventHandler((EventHandlerRef)MacGetEventHandler());
+
+#elif defined(__WXMSW__)
+   SetWindowPos(child, NULL, pos.x, pos.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
+#else
+#endif
 }
 
-void VSTEffectGUIDialog::OnOk(wxCommandEvent &event)
+void VSTEffectDialog::BuildPlain()
 {
-   mEffect->callDispatcher(mAEffect, effEditClose, 0, 0, NULL, 0.0);
-   EndModal(true);
+   mNames = new wxStaticText *[mAEffect->numParams];
+   mSliders = new wxSlider *[mAEffect->numParams];
+   mDisplays = new wxStaticText *[mAEffect->numParams];
+   mLabels = new wxStaticText *[mAEffect->numParams];
+
+   wxBoxSizer *vSizer = new wxBoxSizer(wxVERTICAL);
+   vSizer->Add(BuildProgramBar(), 0,  wxALIGN_CENTER);
+
+   wxScrolledWindow *sw = new wxScrolledWindow(this,
+                                               wxID_ANY,
+                                               wxDefaultPosition,
+                                               wxDefaultSize,
+                                               wxVSCROLL | wxTAB_TRAVERSAL);
+
+   // Try to give the window a sensible default/minimum size
+   wxSize sz = GetParent()->GetSize();
+   sw->SetMinSize(wxSize(wxMax(600, sz.GetWidth() * 2 / 3), sz.GetHeight() / 2));
+                                              
+   sw->SetScrollRate(0, 20);
+   vSizer->Add(sw, 1, wxEXPAND | wxALL, 5);
+
+   // Preview, OK, & Cancel buttons
+   vSizer->Add(CreateStdButtonSizer(this, ePreviewButton|eCancelButton|eOkButton), 0, wxEXPAND);
+
+   SetSizer(vSizer);
+
+   wxSizer *paramSizer = new wxStaticBoxSizer(wxVERTICAL, sw, _("Effect Settings"));
+
+   wxFlexGridSizer *gridSizer = new wxFlexGridSizer(4, 0, 0);
+   gridSizer->AddGrowableCol(1);
+
+   // Find the longest parameter name.
+   int namew = 0;
+   int w;
+   int h;
+   for (int i = 0; i < mAEffect->numParams; i++) {
+      wxString text = mEffect->GetString(effGetParamName, i);
+      if (text.Right(1) != wxT(':')) {
+         text += wxT(':');
+      }
+      GetTextExtent(text, &w, &h);
+      if (w > namew) {
+         namew = w;
+      }
+   }
+
+   GetTextExtent(wxT("HHHHHHHH"), &w, &h);
+
+   for (int i = 0; i < mAEffect->numParams; i++) {
+      mNames[i] = new wxStaticText(sw,
+                                    wxID_ANY,
+                                    wxEmptyString,
+                                    wxDefaultPosition,
+                                    wxSize(namew, -1),
+                                    wxALIGN_RIGHT | wxST_NO_AUTORESIZE);
+      gridSizer->Add(mNames[i], 0, wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
+
+      mSliders[i] = new wxSlider(sw,
+                                 ID_VST_SLIDERS + i,
+                                 0,
+                                 0,
+                                 1000,
+                                 wxDefaultPosition,
+                                 wxSize(200, -1));
+      gridSizer->Add(mSliders[i], 0, wxALIGN_CENTER_VERTICAL | wxEXPAND | wxALL, 5);
+
+      mDisplays[i] = new wxStaticText(sw,
+                                      wxID_ANY,
+                                      wxEmptyString,
+                                      wxDefaultPosition,
+                                      wxSize(w, -1),
+                                      wxALIGN_RIGHT | wxST_NO_AUTORESIZE);
+      gridSizer->Add(mDisplays[i], 0, wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, 5);
+
+      mLabels[i] = new wxStaticText(sw,
+                                     wxID_ANY,
+                                     wxEmptyString,
+                                     wxDefaultPosition,
+                                     wxSize(w, -1),
+                                     wxALIGN_LEFT | wxST_NO_AUTORESIZE);
+      gridSizer->Add(mLabels[i], 0, wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 5);
+   }
+
+   paramSizer->Add(gridSizer, 1, wxEXPAND | wxALL, 5);
+   sw->SetSizer(paramSizer);
+
+   Layout();
+   Fit();
+   SetSizeHints(GetSize());
+   RefreshParameters();
+
+   mSliders[0]->SetFocus();
 }
 
-void VSTEffectGUIDialog::OnCancel(wxCommandEvent &event)
+wxSizer *VSTEffectDialog::BuildProgramBar()
 {
-   mEffect->callDispatcher(mAEffect, effEditClose, 0, 0, NULL, 0.0);
-   EndModal(false);
-}
+   wxArrayString progs;
 
+   for (int i = 0; i < mAEffect->numPrograms; i++) {
+      wxString name = mEffect->GetString(effGetProgramNameIndexed, i);
+      if (!name.IsEmpty()) {
+         progs.Add(name);
+      }
+   }
 
-VSTEffect::VSTEffect(wxString pluginName, AEffect * aEffect)
-{
-   this->aEffect = aEffect;
-   this->pluginName = pluginName;
+   if (progs.GetCount() == 0) {
+      progs.Add(_("None"));
+   }
+
+   int progn = mEffect->callDispatcher(effGetProgram, 0, 0, NULL, 0.0);
+
+   wxBoxSizer *hs = new wxBoxSizer(wxHORIZONTAL);
+
+   wxStaticText *st = new wxStaticText(this, wxID_ANY, _("Presets:"));
+   hs->Add(st, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
 
-   buffer = NULL;
-   fInBuffer = NULL;
-   fOutBuffer = NULL;
+   mProgram = new wxComboBox(this,
+                             ID_VST_PROGRAM,
+                             progs[progn],
+                             wxDefaultPosition,
+                             wxSize(200, -1),
+                             progs
+                             );
+   hs->Add(mProgram, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
 
-   isOpened = false;
+   wxButton *bt = new wxButton(this, ID_VST_LOAD, _("Load"));
+   hs->Add(bt, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+
+   bt = new wxButton(this, ID_VST_SAVE, _("Save"));
+   hs->Add(bt, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+
+   return hs;
 }
 
-VSTEffect::~VSTEffect()
+void VSTEffectDialog::RefreshParameters(int skip)
 {
+   if (!mGui) {
+      for (int i = 0; i < mAEffect->numParams; i++) {
+         wxString text = mEffect->GetString(effGetParamName, i).Trim(true).Trim(false);
+         wxString name = text;
+
+         if (text.Right(1) != wxT(':')) {
+            text += wxT(':');
+         }
+         mNames[i]->SetLabel(text);
+
+         // For some parameters types like on/off, setting the slider value has
+         // a side effect that causes it to only move when the parameter changes
+         // from off to on.  However, this prevents changing the value using the
+         // keyboard, so we skip the active slider if any.
+         if (i != skip) {
+            mSliders[i]->SetValue(mEffect->callGetParameter(i) * 1000);
+         }
+         name = text;
+
+         text = mEffect->GetString(effGetParamDisplay, i);
+         if (text.IsEmpty()) {
+            text.Printf(wxT("%.5g"),mEffect->callGetParameter(i));
+         }
+         mDisplays[i]->SetLabel(wxString::Format(wxT("%8s"), text.c_str()));
+         name += wxT(' ') + text;
+
+         text = mEffect->GetString(effGetParamDisplay, i);
+         if (!text.IsEmpty()) {
+            text.Printf(wxT("%-8s"), mEffect->GetString(effGetParamLabel, i).c_str());
+            mLabels[i]->SetLabel(wxString::Format(wxT("%8s"), text.c_str()));
+            name += wxT(' ') + text;
+         }
+
+         mSliders[i]->SetName(name);
+      }
+   }
 }
 
-wxString VSTEffect::GetEffectName()
+void VSTEffectDialog::OnIdle(wxIdleEvent & evt)
 {
-   return pluginName + "...";
+   if (mGui) {
+      mEffect->callDispatcher(effEditIdle, 0, 0, NULL, 0.0);
+   }
 }
 
-wxString VSTEffect::GetEffectCategories()
+void VSTEffectDialog::OnSlider(wxCommandEvent & evt)
 {
-   return std::set<wxString>();
+   wxSlider *s = (wxSlider *) evt.GetEventObject();
+   int i = s->GetId() - ID_VST_SLIDERS;
+
+   mEffect->callSetParameter(i, s->GetValue() / 1000.0);
+
+   RefreshParameters(i);
 }
 
-wxString VSTEffect::GetEffectAction()
+void VSTEffectDialog::OnProgram(wxCommandEvent & evt)
 {
-   return "Performing VST Effect: \""+pluginName+"\"";
+   mEffect->callDispatcher(effSetProgram, 0, evt.GetInt(), NULL, 0.0);
+   RefreshParameters();
 }
 
-bool VSTEffect::Init()
+void VSTEffectDialog::OnProgramText(wxCommandEvent & evt)
 {
-   inputs = aEffect->numInputs;
-   outputs = aEffect->numOutputs;
-
-   mBlockSize = 0;
+   wxString name = mProgram->GetValue();
+   int i = mEffect->callDispatcher(effGetProgram, 0, 0, NULL, 0.0);
+   int ip = mProgram->GetInsertionPoint();
 
-   if (inputs > 1) {
-      TrackListIterator iter(mWaveTracks);
-      Track *left = iter.First();
-      while(left) {
-         longSampleCount lstart, rstart;
-         sampleCount llen, rlen;
-         GetSamples((WaveTrack *)left, &lstart, &llen);
-         
-         if (left->GetLinked()) {
-            Track *right = iter.Next();
-            GetSamples((WaveTrack *)right, &rstart, &rlen);
-            
-            if (llen != rlen || ((WaveTrack *)left)->GetRate() != ((WaveTrack *)right)->GetRate()) {
-               wxMessageBox(_("Sorry, VST Effects cannot be performed on stereo tracks where the individual channels of the track do not match."));
-               return false;
-            }
-         }
-         
-         left = iter.Next();
-      }
+   // Limit the length of the string
+   if (name.Length() > 24) {
+      name = name.Left(24);
    }
 
-   return true;
+   mEffect->SetString(effSetProgramName, name, i);
+   mProgram->SetString(i, name);
+
+   // On Windows, must reselect after doing a SetString()...at least that's
+   // what seems to be required.
+   mProgram->SetStringSelection(name);
+
+   // Which also means we have to reposition the caret.
+   if (ip >= 0) {
+      mProgram->SetInsertionPoint(ip);
+   }
+   
+   RefreshParameters();
 }
 
-bool VSTEffect::PromptUser()
+void VSTEffectDialog::OnLoad(wxCommandEvent & evt)
 {
-   if (!(aEffect->flags & effFlagsCanReplacing)) {
-      wxMessageBox(_("Can't process replacing"));
-      return false;
+   wxString fn;
+
+   // Ask the user for the real name
+   fn = FileSelector(_("Load VST Program:"),
+                     FileNames::DataDir(),
+                     wxEmptyString,
+                     wxT("xml"),
+                     wxT("*.xml"),
+                     wxFD_OPEN | wxRESIZE_BORDER,
+                     this);
+
+   // User canceled...
+   if (fn.IsEmpty()) {
+      return;
    }
 
-   if (aEffect->flags & effFlagsHasEditor) {
-      // Show native GUI
-      VSTEffectGUIDialog dlog(mParent, -1, pluginName, this, aEffect);
-      dlog.CentreOnParent();
-      dlog.ShowModal();
+   // Load the program
+   XMLFileReader reader;
+   if (!reader.Parse(this, fn)) {
+      // Inform user of load failure
+      wxMessageBox(reader.GetErrorStr(),
+                   _("Error loading program"),
+                   wxOK | wxCENTRE,
+                   this);
+   }
 
-      return dlog.GetReturnCode();
+   RefreshParameters();
+
+   return;
+}
+
+void VSTEffectDialog::OnSave(wxCommandEvent & evt)
+{
+   int i = mProgram->GetCurrentSelection();
+   wxString fn;
+
+   // Ask the user for the real name
+   fn = FileSelector(_("Save VST Program As:"),
+                     FileNames::DataDir(),
+                     mProgram->GetValue() + wxT(".xml"),
+                     wxT("xml"),
+                     wxT("*.xml"),
+                     wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER,
+                     this);
+
+   // User canceled...
+   if (fn.IsEmpty()) {
+      return;
    }
 
-   // Try to figure out how many parameters it takes by seeing how
-   // many parameters have names
-   char temp[8][256];
-   numParameters = 0;
-   do {
-      long result;
+   XMLFileWriter xmlFile;
 
-      temp[numParameters][0] = 0;
-      result = callDispatcher(aEffect, effGetParamName, numParameters, 0,
-                              (void *) temp[numParameters], 0.0);
+   // Create/Open the file
+   xmlFile.Open(fn, wxT("wb"));
 
-      if (temp[numParameters][0]==0)
-         break;
-      if (strstr(temp[numParameters], "ABOUT"))
-         break;
-      if (numParameters > 0
-          && !strcmp(temp[numParameters], temp[numParameters - 1]))
-         break;
+   xmlFile.StartTag(wxT("vstprogrampersistence"));
+   xmlFile.WriteAttr(wxT("version"), wxT("1"));
 
-      numParameters++;
-   } while (temp[0] != 0 && numParameters < 8);
+   i = mEffect->callDispatcher(effGetVendorVersion, 0, 0, NULL, 0.0);
+   xmlFile.StartTag(wxT("effect"));
+   xmlFile.WriteAttr(wxT("name"), mEffect->GetEffectIdentifier());
+   xmlFile.WriteAttr(wxT("version"), i);
 
-   if (numParameters > 0) {
-      VSTEffectDialog dlog(mParent, pluginName, numParameters, this, aEffect);
-      dlog.CentreOnParent();
-      dlog.ShowModal();
+   xmlFile.StartTag(wxT("program"));
+   xmlFile.WriteAttr(wxT("name"), mProgram->GetValue());
 
-      if (!dlog.GetReturnCode())
-         return false;
+   long clen = 0;
+   if (mAEffect->flags & effFlagsProgramChunks) {
+      void *chunk = NULL;
+
+      clen = mEffect->callDispatcher(effGetChunk, 1, 0, &chunk, 0.0);
+      if (clen != 0) {
+         xmlFile.StartTag(wxT("chunk"));
+         xmlFile.WriteSubTree(b64encode(chunk, clen) + wxT('\n'));
+         xmlFile.EndTag(wxT("chunk"));
+      }
    }
 
-   return true;
+   if (clen == 0) {
+      for (i = 0; i < mAEffect->numParams; i++) {
+         xmlFile.StartTag(wxT("param"));
+
+         xmlFile.WriteAttr(wxT("index"), i);
+         xmlFile.WriteAttr(wxT("name"),
+                           mEffect->GetString(effGetParamName, i));
+         xmlFile.WriteAttr(wxT("value"),
+                           wxString::Format(wxT("%f"),
+                           mEffect->callGetParameter(i)));
+
+         xmlFile.EndTag(wxT("param"));
+      }
+   }
+
+   xmlFile.EndTag(wxT("program"));
+
+   xmlFile.EndTag(wxT("effect"));
+
+   xmlFile.EndTag(wxT("vstprogrampersistence"));
+
+   // Close the file
+   xmlFile.Close();
 }
 
-void VSTEffect::GetSamples(WaveTrack *track,
-                           longSampleCount *start,
-                           sampleCount *len)
+void VSTEffectDialog::OnPreview(wxCommandEvent & evt)
 {
-   double trackStart = track->GetStartTime();
-   double trackEnd = track->GetEndTime();
-   double t0 = mT0 < trackStart? trackStart: mT0;
-   double t1 = mT1 > trackEnd? trackEnd: mT1;
-   
-   if (t1 > t0) {
-      *start = track->TimeToLongSamples(t0);
-      longSampleCount end = track->TimeToLongSamples(t1);
-      *len = (sampleCount)(end - *start);
+   mEffect->Preview();
+}
+
+void VSTEffectDialog::OnOk(wxCommandEvent & evt)
+{
+   if (mGui) {
+      mEffect->callDispatcher(effEditClose, 0, 0, NULL, 0.0);
    }
-   else {
-      *start = 0;
-      *len  = 0;
+
+   EndModal(true);
+}
+
+void VSTEffectDialog::OnCancel(wxCommandEvent & evt)
+{
+   if (mGui) {
+      mEffect->callDispatcher(effEditClose, 0, 0, NULL, 0.0);
    }
+
+   EndModal(false);
 }
 
-bool VSTEffect::Process()
+bool VSTEffectDialog::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
 {
-   this->CopyInputWaveTracks(); // Set up m_pOutputWaveTracks.
-   bool bGoodResult = true;
+   if (wxStrcmp(tag, wxT("vstprogrampersistence")) == 0) {
+      while (*attrs) {
+         const wxChar *attr = *attrs++;
+         const wxChar *value = *attrs++;
+         
+         if (!value) {
+            break;
+         }
 
-   TrackListIterator iter(m_pOutputWaveTracks);
-   int count = 0;
-   Track *left = iter.First();
-   Track *right;
-   while(left) {
-      longSampleCount lstart, rstart;
-      sampleCount len;
-      GetSamples((WaveTrack *)left, &lstart, &len);
+         const wxString strValue = value;
 
-      right = NULL;
-      if (left->GetLinked() && inputs>1) {
-         right = iter.Next();         
-         GetSamples((WaveTrack *)right, &rstart, &len);
+         if (wxStrcmp(attr, wxT("version")) == 0) {
+            if (!XMLValueChecker::IsGoodInt(strValue)) {
+               return false;
+            }
+            // Nothing to do with it for now
+         }
+         else {
+            return false;
+         }
       }
 
-      // Reset the effect
-      callDispatcher(aEffect, effOpen, 0, 0, NULL, 0.0);
-      
-      bGoodResult = ProcessStereo(count,
-                                   (WaveTrack *)left, (WaveTrack *)right,
-                                   lstart, rstart, len);
-
-      if (!bGoodResult)
-         break;
-   
-      left = iter.Next();
-      count++;
+      return true;
    }
-   
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
-   return bGoodResult;
-}
 
-bool VSTEffect::ProcessStereo(int count, WaveTrack *left, WaveTrack *right,
-                              longSampleCount lstart,
-                              longSampleCount rstart, sampleCount len)
-{
-   bool rc = true;
-   if (mBlockSize == 0) {
-      mBlockSize = left->GetMaxBlockSize() * 2;
+   if (wxStrcmp(tag, wxT("effect")) == 0) {
+      while (*attrs) {
+         const wxChar *attr = *attrs++;
+         const wxChar *value = *attrs++;
+         
+         if (!value) {
+            break;
+         }
+
+         const wxString strValue = value;
+
+         if (wxStrcmp(attr, wxT("name")) == 0) {
+            if (!XMLValueChecker::IsGoodString(strValue)) {
+               return false;
+            }
 
-      buffer = new float[mBlockSize];
-      fInBuffer = new float *[inputs];
-      int i;
-      for (i = 0; i < inputs; i++)
-         fInBuffer[i] = new float[mBlockSize];
-      fOutBuffer = new float *[outputs];
-      for (i = 0; i < outputs; i++)
-         fOutBuffer[i] = new float[mBlockSize];
+            if (value != mEffect->GetEffectIdentifier()) {
+               wxString msg;
+               msg.Printf(_("This parameter file was saved from %s.  Continue?"), value);
+               int result = wxMessageBox(msg, wxT("Confirm"), wxYES_NO, this);
+               if (result == wxNO) {
+                  return false;
+               }
+            }
+         }
+         else if (wxStrcmp(attr, wxT("version")) == 0) {
+            if (!XMLValueChecker::IsGoodInt(strValue)) {
+               return false;
+            }
+            // Nothing to do with it for now
+         }
+         else {
+            return false;
+         }
+      }
 
+      return true;
    }
+      
+   if (wxStrcmp(tag, wxT("program")) == 0) {
+      while (*attrs) {
+         const wxChar *attr = *attrs++;
+         const wxChar *value = *attrs++;
+         
+         if (!value) {
+            break;
+         }
 
-   callDispatcher(aEffect, effSetSampleRate, 0, 0, NULL,
-                       (float) left->GetRate());
-   callDispatcher(aEffect, effSetBlockSize, 0, mBlockSize * 2, NULL, 0.0);
+         const wxString strValue = value;
 
-   // Actually perform the effect here
+         if (wxStrcmp(attr, wxT("name")) == 0) {
+            if (!XMLValueChecker::IsGoodString(strValue)) {
+               return false;
+            }
 
-   sampleCount originalLen = len;
-   longSampleCount ls = lstart;
-   longSampleCount rs = rstart;
-   while (len) {
-      int i;
-      int block = mBlockSize;
-      if (block > len)
-         block = len;
+            if (strValue.Length() > 24) {
+               return false;
+            }
 
-      left->Get((samplePtr)buffer, floatSample, ls, block);
-      for (i = 0; i < block; i++)
-         fInBuffer[0][i] = buffer[i];
-      if (right) {
-         right->Get((samplePtr)buffer, floatSample, rs, block);
-         for (i = 0; i < block; i++)
-            fInBuffer[1][i] = buffer[i];
+            int ndx = mProgram->GetCurrentSelection();
+            mProgram->SetString(ndx, strValue);
+            mProgram->SetValue(strValue);
+
+            mEffect->SetString(effSetProgramName, strValue, ndx);
+         }
+         else {
+            return false;
+         }
       }
 
-      callProcessReplacing(aEffect, fInBuffer, fOutBuffer, block);
+      mInChunk = false;
 
-      for (i = 0; i < block; i++)
-         buffer[i] = fOutBuffer[0][i];
-      left->Set((samplePtr)buffer, floatSample, ls, block);
-      
-      if (right) {
-         for (i = 0; i < block; i++)
-            buffer[i] = fOutBuffer[1][i];
-         right->Set((samplePtr)buffer, floatSample, rs, block);
-      }      
+      return true;
+   }
 
-      len -= block;
-      ls += block;
-      rs += block;
-      
-      if (inputs > 1) {      
-         if (TrackGroupProgress(count, (ls-lstart)/(double)originalLen)) {
-            rc = false;
+   if (wxStrcmp(tag, wxT("param")) == 0) {
+      long ndx = -1;
+      double val = -1.0;
+      while (*attrs) {
+         const wxChar *attr = *attrs++;
+         const wxChar *value = *attrs++;
+
+         if (!value) {
             break;
          }
-      }
-      else {
-         if (TrackProgress(count, (ls-lstart)/(double)originalLen)) {
-            rc = false;
-            break;
+
+         const wxString strValue = value;
+
+         if (wxStrcmp(attr, wxT("index")) == 0) {
+            if (!XMLValueChecker::IsGoodInt(strValue) || !strValue.ToLong(&ndx)) {
+               return false;
+            }
+
+            if (ndx < 1 || ndx > mAEffect->numParams) {
+               // Could be a different version of the effect...probably should
+               // tell the user
+               return false;
+            }
+         }
+         else if (wxStrcmp(attr, wxT("name")) == 0) {
+            if (!XMLValueChecker::IsGoodString(strValue)) {
+               return false;
+            }
+            // Nothing to do with it for now
+         }
+         else if (wxStrcmp(attr, wxT("value")) == 0) {
+            if (!XMLValueChecker::IsGoodInt(strValue) ||
+               !Internat::CompatibleToDouble(strValue, &val)) {
+               return false;
+            }
+
+            if (val < 0.0 || val > 1.0) {
+               return false;
+            }
          }
       }
+
+      if (ndx == -1 || val == -1.0) {
+         return false;
+      }
+
+      mEffect->callSetParameter(ndx, val);
+
+      return true;
    }
 
-   return rc;
+   if (wxStrcmp(tag, wxT("chunk")) == 0) {
+      mInChunk = true;
+      return true;
+   }
+
+   return false;
 }
 
-void VSTEffect::End()
+void VSTEffectDialog::HandleXMLEndTag(const wxChar *tag)
 {
-   if (buffer) {
-      int i;
+   if (wxStrcmp(tag, wxT("chunk")) == 0) {
+      if (mChunk.Length()) {
+         char *buf = new char[mChunk.Length() / 4 * 3];
 
-      delete[]buffer;
-      for (i = 0; i < inputs; i++)
-         delete fInBuffer[i];
-      for (i = 0; i < outputs; i++)
-         delete fOutBuffer[i];
-      delete[]fInBuffer;
-      delete[]fOutBuffer;
+         int len = b64decode(mChunk, buf);
+         if (len) {
+            mEffect->callDispatcher(effSetChunk, 1, len, buf, 0.0);
+         }
 
+         delete [] buf;
+         mChunk.Clear();
+      }
+      mInChunk = false;
    }
-   buffer = NULL;
-   fInBuffer = NULL;
-   fOutBuffer = NULL;
 }
 
-BEGIN_EVENT_TABLE(VSTEffectDialog, wxDialog)
-    EVT_BUTTON(wxID_OK, VSTEffectDialog::OnOK)
-    EVT_BUTTON(wxID_CANCEL, VSTEffectDialog::OnCancel)
-    EVT_BUTTON(PREVIEW_ID, VSTEffectDialog::OnPreview)
-    EVT_COMMAND_SCROLL(VSTEFFECT_SLIDER_ID, VSTEffectDialog::OnSlider)
-    EVT_SLIDER(VSTEFFECT_SLIDER_ID, VSTEffectDialog::OnSliderCmd)
-END_EVENT_TABLE()
+void VSTEffectDialog::HandleXMLContent(const wxString & content)
+{
+   if (mInChunk) {
+      mChunk += wxString(content).Trim(true).Trim(false);
+   }
+}
 
-VSTEffectDialog::VSTEffectDialog(wxWindow * parent,
-                                 wxString effectName,
-                                 int numParams,
-                                 VSTEffect * vst,
-                                 AEffect * aEffect,
-                                 const wxPoint & pos)
-:wxDialog(parent, -1, effectName, pos, wxSize(320, 430),
-          wxDEFAULT_DIALOG_STYLE)
+XMLTagHandler *VSTEffectDialog::HandleXMLChild(const wxChar *tag)
 {
-   this->vst = vst;
-   this->aEffect = aEffect;
-   this->numParams = numParams;
+   if (wxStrcmp(tag, wxT("vstprogrampersistence")) == 0) {
+      return this;
+   }
 
-   int y = 10;
+   if (wxStrcmp(tag, wxT("effect")) == 0) {
+      return this;
+   }
 
-   new wxStaticText(this, 0, _("VST Plug-in parameters:"), wxPoint(10, y),
-                    wxSize(300, 15));
-   y += 20;
+   if (wxStrcmp(tag, wxT("program")) == 0) {
+      return this;
+   }
 
-   sliders = new wxSlider *[numParams];
-   labels = new wxStaticText *[numParams];
+   if (wxStrcmp(tag, wxT("param")) == 0) {
+      return this;
+   }
 
-   for (int p = 0; p < numParams; p++) {
+   if (wxStrcmp(tag, wxT("chunk")) == 0) {
+      return this;
+   }
 
-      char paramName[256];
-      vst->callDispatcher(aEffect, effGetParamName, p, 0,
-                     (void *) paramName, 0.0);
-      new wxStaticText(this, 0, wxString(paramName), wxPoint(10, y),
-                       wxSize(85, 15));
+   return NULL;
+}
 
-      float val = vst->callGetParameter(aEffect, p);
+////////////////////////////////////////////////////////////////////////////////
+// Base64 en/decoding
+//
+// Original routines marked as public domain and found at:
+//
+// http://en.wikibooks.org/wiki/Algorithm_implementation/Miscellaneous/Base64
+//
+////////////////////////////////////////////////////////////////////////////////
 
-      sliders[p] =
-          new wxSlider(this, VSTEFFECT_SLIDER_ID,
-                       1000 * val, 0, 1000,
-                       wxPoint(100, y + 5), wxSize(200, 25));
+// Lookup table for encoding
+const static wxChar cset[] = wxT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");
+const static char padc = wxT('=');
 
-      char label[256];
-      vst->callDispatcher(aEffect, effGetParamDisplay, p, 0,
-                          (void *) label, 0.0);
-      char units[256];
-      vst->callDispatcher(aEffect, effGetParamLabel, p, 0, (void *) units,
-                          0.0);
+wxString VSTEffectDialog::b64encode(const void *in, int len)
+{
+   unsigned char *p = (unsigned char *) in;
+   wxString out;
+   
+	unsigned long temp;
+	for (int i = 0; i < len / 3; i++) {
+		temp  = (*p++) << 16; //Convert to big endian
+		temp += (*p++) << 8;
+		temp += (*p++);
+		out += cset[(temp & 0x00FC0000) >> 18];
+		out += cset[(temp & 0x0003F000) >> 12];
+		out += cset[(temp & 0x00000FC0) >> 6];
+		out += cset[(temp & 0x0000003F)];
+	}
+
+	switch (len % 3)
+	{
+      case 1:
+         temp  = (*p++) << 16; //Convert to big endian
+         out += cset[(temp & 0x00FC0000) >> 18];
+         out += cset[(temp & 0x0003F000) >> 12];
+         out += padc;
+         out += padc;
+         break;
 
-      labels[p] =
-          new wxStaticText(this, 0,
-                           wxString::Format("%s %s", label, units),
-                           wxPoint(10, y + 15), wxSize(85, 15));
+      case 2:
+         temp  = (*p++) << 16; //Convert to big endian
+         temp += (*p++) << 8;
+         out += cset[(temp & 0x00FC0000) >> 18];
+         out += cset[(temp & 0x0003F000) >> 12];
+         out += cset[(temp & 0x00000FC0) >> 6];
+         out += padc;
+         break;
+	}
 
-      y += 35;
-   }
+	return out;
+}
 
-   y += 20;
-   wxButton *preview =
-      new wxButton(this, PREVIEW_ID,
-                   vst->GetPreviewName(),
-                   wxPoint(10, y), wxSize(80, 30));
-   wxButton *cancel =
-       new wxButton(this, wxID_CANCEL, _("&Cancel"), wxPoint(130, y), wxSize(80, 30));
-   wxButton *ok =
-       new wxButton(this, wxID_OK, _("OK"), wxPoint(220, y), wxSize(80, 30));
+int VSTEffectDialog::b64decode(wxString in, void *out)
+{
+   int len = in.Length();
+   unsigned char *p = (unsigned char *) out;
 
-   y += 40;
+	if (len % 4) { //Sanity check
+		return 0;
+   }
 
-   wxSize size;
-   size.x = 320;
-   size.y = y;
+   int padding = 0;
+   if (len) {
+      if (in[len - 1] == padc) {
+         padding++;
+      }
 
-#ifdef __WXMSW__
-   size.y += 20;
-#endif
+      if (in[len - 2] == padc) {
+         padding++;
+      }
+   }
 
-   Centre(wxBOTH | wxCENTER_FRAME);
+   const char *a = in.mb_str();
+	//Setup a vector to hold the result
+   unsigned long temp = 0; //Holds decoded quanta
+   int i = 0;
+   while (i < len) {
+      for (int quantumPosition = 0; quantumPosition < 4; quantumPosition++) {
+         unsigned char c = in[i];
+         temp <<= 6;
+
+         if (c >= 0x41 && c <= 0x5A) {
+            temp |= c - 0x41;
+         }
+         else if (c >= 0x61 && c <= 0x7A) {
+            temp |= c - 0x47;
+         }
+         else if (c >= 0x30 && c <= 0x39) {
+            temp |= c + 0x04;
+         }
+         else if (c == 0x2B) {
+            temp |= 0x3E;
+         }
+         else if (c == 0x2F) {
+            temp |= 0x3F;
+         }
+         else if (c == padc) {
+            switch (len - i)
+            {
+               case 1: //One pad character
+                  *p++ = (temp >> 16) & 0x000000FF;
+                  *p++ = (temp >> 8) & 0x000000FF;
+                  return (p - (unsigned char *) out) - 1;
+               case 2: //Two pad characters
+                  *p++ = (temp >> 10) & 0x000000FF;
+                  return (p - (unsigned char *) out) - 1;
+            }
+         }
+         i++;
+		}
+      *p++ = (temp >> 16) & 0x000000FF;
+      *p++ = (temp >> 8) & 0x000000FF;
+      *p++ = temp & 0x000000FF;
+   }
 
-   SetSize(size);
-   vst->SetDialog(this);
+   return (p - (unsigned char *) out) - 1;
 }
 
-VSTEffectDialog::~VSTEffectDialog()
+///////////////////////////////////////////////////////////////////////////////
+//
+// VSTEffect
+//
+///////////////////////////////////////////////////////////////////////////////
+
+VSTEffect::VSTEffect(const wxString & path, void *module, AEffect * aeffect)
+:  mPath(path),
+   mModule(module),
+   mAEffect(aeffect)
 {
-   // TODO: proper disposal here
+   mBlockSize = 0;
+   mInBuffer = NULL;
+   mOutBuffer = NULL;
+   mInputs = 0;
+   mOutputs = 0;
+   mChannels = 0;
 
-   delete[]sliders;
-   delete[]labels;
-}
+   mAEffect->user = this;
 
-void VSTEffectDialog::OnSlider(wxScrollEvent & WXUNUSED(event))
-{
-   for (int p = 0; p < numParams; p++) {
-      float val;
+   callDispatcher(effOpen, 0, 0, NULL, 0.0);
 
-      val = sliders[p]->GetValue() / 1000.;
-      vst->callSetParameter(aEffect, p, val);
+   mVendor = GetString(effGetVendorString);
+   mName = GetString(effGetProductString);
 
-      char label[256];
-      vst->callDispatcher(aEffect, effGetParamDisplay, p, 0,
-                          (void *) label, 0.0);
-      char units[256];
-      vst->callDispatcher(aEffect, effGetParamLabel, p, 0, (void *) units,
-                          0.0);
-      labels[p]->SetLabel(wxString::Format("%s %s", label, units));
+   if (mVendor.IsEmpty()) {
+      mVendor = wxT("VST");
    }
-}
 
-void VSTEffectDialog::OnSliderCmd(wxCommandEvent & WXUNUSED(event))
-{
-   for (int p = 0; p < numParams; p++) {
-      float val;
+   if (mName.IsEmpty()) {
+      wxFileName fn(mPath);
+      mName = fn.GetName();
+   }
 
-      val = sliders[p]->GetValue() / 1000.;
-      vst->callSetParameter(aEffect, p, val);
+   mInputs = mAEffect->numInputs;
+   mOutputs = mAEffect->numOutputs;
 
-      char label[256];
-      vst->callDispatcher(aEffect, effGetParamDisplay, p, 0,
-                          (void *) label, 0.0);
-      char units[256];
-      vst->callDispatcher(aEffect, effGetParamLabel, p, 0, (void *) units,
-                          0.0);
-      labels[p]->SetLabel(wxString::Format("%s %s", label, units));
+   int flags = PLUGIN_EFFECT;
+   if (mInputs == 0) {
+      flags |= INSERT_EFFECT;
+   }
+   else if (mOutputs == 0) {
+      flags |= ANALYZE_EFFECT;
+   }
+   else {
+      flags |= PROCESS_EFFECT;
    }
+
+   SetEffectFlags(flags);
 }
 
-void VSTEffectDialog::OnOK(wxCommandEvent & WXUNUSED(event))
+VSTEffect::~VSTEffect()
 {
-   EndModal(TRUE);
+   callDispatcher(effClose, 0, 0, NULL, 0.0);
+
+#if defined(__WXMAC__)
+   CFRelease((CFBundleRef) mModule);
+#else
+   delete (wxDynamicLibrary *) mModule;
+#endif
 }
 
-void VSTEffectDialog::OnCancel(wxCommandEvent & WXUNUSED(event))
+wxString VSTEffect::GetEffectName()
 {
-   EndModal(FALSE);
+   if (mVendor.IsEmpty()) {
+      return mName + wxT("...");
+   }
+
+   return mVendor + wxT(": ") + mName + wxT("...");
 }
 
-void VSTEffectDialog::OnPreview(wxCommandEvent & WXUNUSED(event))
+wxString VSTEffect::GetEffectIdentifier()
 {
-   vst->Preview();
+   return mName;
 }
 
-#ifdef __MACOSX__
-
-// Mac OS X methods
-//
-// Cross-platform VST plug-ins on the Mac are compiled as Carbon,
-// CFM code.  Audacity is compiled as Carbon, Mach-O code.  Special care
-// must be taken when calling funtions in the other mode - these
-// functions make it easier.
-//
-
-// MachOFunctionPointerForCFMFunctionPointer(void *cfmfp)
-//
-// Borrowed from the Apple Sample Code file "CFM_MachO_CFM.c"
-// This function allocates a block of CFM glue code which contains
-// the instructions to call CFM routines
-
-void *NewMachOFromCFM(void *cfmfp)
+std::set<wxString> VSTEffect::GetEffectCategories()
 {
-   UInt32 CFMTemplate[6] = {0x3D800000, 0x618C0000, 0x800C0000,
-                            0x804C0004, 0x7C0903A6, 0x4E800420};
-   UInt32	*mfp = (UInt32*)NewPtr(sizeof(CFMTemplate));
-   
-   mfp[0] = CFMTemplate[0] | ((UInt32)cfmfp >> 16);
-   mfp[1] = CFMTemplate[1] | ((UInt32)cfmfp & 0xFFFF);
-   mfp[2] = CFMTemplate[2];
-   mfp[3] = CFMTemplate[3];
-   mfp[4] = CFMTemplate[4];
-   mfp[5] = CFMTemplate[5];
-   MakeDataExecutable(mfp, sizeof(CFMTemplate));
-   
-   return(mfp);
+   return std::set<wxString>();
 }
 
-void DisposeMachOFromCFM(void *ptr)
+wxString VSTEffect::GetEffectAction()
 {
-   DisposePtr((Ptr)ptr);
+   return _("Performing Effect: ") + mName;
 }
 
-void *NewCFMFromMachO(void *machofp)
+bool VSTEffect::Init()
 {
-   void *result = NewPtr(8);
-   ((void **)result)[0] = machofp;
-   ((void **)result)[1] = result;
+   mBlockSize = 0;
+
+   TrackListIterator iter(mOutputTracks);
+   WaveTrack *left = (WaveTrack *) iter.First();
+   while (left) {
+      sampleCount lstart;
+      sampleCount llen;
 
-   return result;
+      GetSamples(left, &lstart, &llen);
+      
+      if (left->GetLinked()) {
+         WaveTrack *right = (WaveTrack *) iter.Next();
+         sampleCount rstart;
+         sampleCount rlen;
+
+         GetSamples(right, &rstart, &rlen);         
+
+         if (left->GetRate() != right->GetRate()) {
+            wxMessageBox(_("Both channels of a stereo track must be the same sample rate."));
+            return false;
+         }
+
+         if (llen != rlen) {
+            wxMessageBox(_("Both channels of a stereo track must be the same length."));
+            return false;
+         }
+      }
+      
+      left = (WaveTrack *) iter.Next();
+   }
+
+   return true;
 }
 
-void DisposeCFMFromMachO(void *ptr)
+bool VSTEffect::PromptUser()
 {
-   DisposePtr((Ptr)ptr);
+   VSTEffectDialog dlog(mParent, mName, this, mAEffect);
+   dlog.CentreOnParent();
+   dlog.ShowModal();
+
+   return dlog.GetReturnCode() != 0;
 }
 
-long VSTEffect::callDispatcher(AEffect * effect, long opCode,
-                               long index, long value, void *ptr,
-                               float opt)
+bool VSTEffect::Process()
 {
-   long rval;
+   CopyInputTracks();
+   bool bGoodResult = true;
+
+   mInBuffer = NULL;
+   mOutBuffer = NULL;
+
+   TrackListIterator iter(mOutputTracks);
+   int count = 0;
+   bool clear = false;
+   WaveTrack *left = (WaveTrack *) iter.First();
+   while (left) {
+      WaveTrack *right;
+      sampleCount len;
+      sampleCount lstart;
+      sampleCount rstart;
+
+      GetSamples(left, &lstart, &len);
+
+      mChannels = 1;
+
+      right = NULL;
+      rstart = 0;
+      if (left->GetLinked() && mInputs>1) {
+         right = (WaveTrack *) iter.Next();         
+         GetSamples(right, &rstart, &len);
+         clear = false;
+         mChannels = 2;
+      }
+
+      if (mBlockSize == 0) {
+         mBlockSize = left->GetMaxBlockSize() * 2;
+
+         mInBuffer = new float *[mInputs];
+         for (int i = 0; i < mInputs; i++) {
+            mInBuffer[i] = new float[mBlockSize];
+         }
+
+         mOutBuffer = new float *[mOutputs];
+         for (int i = 0; i < mOutputs; i++) {
+            mOutBuffer[i] = new float[mBlockSize];
+         }
+
+         // Turn the power off
+         callDispatcher(effMainsChanged, 0, 0, NULL, 0.0);
+
+         // Set processing parameters
+         callDispatcher(effSetSampleRate, 0, 0, NULL, left->GetRate());
+         callDispatcher(effSetBlockSize, 0, mBlockSize, NULL, 0.0);
+      }
+
+      // Clear unused input buffers
+      if (!right && !clear) {
+         for (int i = 1; i < mInputs; i++) {
+            for (int j = 0; j < mBlockSize; j++) {
+               mInBuffer[i][j] = 0.0;
+            }
+         }
+         clear = true;
+      }
+
+      bGoodResult = ProcessStereo(count, left, right, lstart, rstart, len);
+      if (!bGoodResult) {
+         break;
+      }
+
+      left = (WaveTrack *) iter.Next();
+      count++;
+   }
+
+   if (mOutBuffer) {
+      for (int i = 0; i < mOutputs; i++) {
+         delete mOutBuffer[i];
+      }
+      delete [] mOutBuffer;
+      mOutBuffer = NULL;
+   }
 
-   dispatcherFn fp = (dispatcherFn)NewMachOFromCFM(effect->dispatcher);
-   rval = fp(effect, opCode, index, value, ptr, opt);
-   DisposeMachOFromCFM(fp);
+   if (mInBuffer) {
+      for (int i = 0; i < mInputs; i++) {
+         delete mInBuffer[i];
+      }
+      delete [] mInBuffer;
+      mInBuffer = NULL;
+   }
 
-   return rval;
+   ReplaceProcessedTracks(bGoodResult); 
+   return bGoodResult;
 }
 
-void VSTEffect::callProcess(AEffect * effect, float **inputs,
-                            float **outputs, long sampleframes)
+bool VSTEffect::ProcessStereo(int count,
+                              WaveTrack *left, WaveTrack *right,
+                              sampleCount lstart, sampleCount rstart,
+                              sampleCount len)
 {
-   processFn fp = (processFn)NewMachOFromCFM(effect->process);
-   fp(effect, inputs, outputs, sampleframes);
-   DisposeMachOFromCFM(fp);
+   bool rc = true;
+
+   // Turn the power on
+   callDispatcher(effMainsChanged, 0, 1, NULL, 0.0);
+
+   // Actually perform the effect here
+   sampleCount originalLen = len;
+   sampleCount ls = lstart;
+   sampleCount rs = rstart;
+   while (len) {
+      int block = mBlockSize;
+      if (block > len) {
+         block = len;
+      }
+
+      left->Get((samplePtr)mInBuffer[0], floatSample, ls, block);
+      if (right) {
+         right->Get((samplePtr)mInBuffer[1], floatSample, rs, block);
+      }
+
+      callProcessReplacing(mInBuffer, mOutBuffer, block);
+
+      left->Set((samplePtr)mOutBuffer[0], floatSample, ls, block);
+      if (right) {
+         right->Set((samplePtr)mOutBuffer[1], floatSample, rs, block);
+      }      
+
+      len -= block;
+      ls += block;
+      rs += block;
+      
+      if (mInputs > 1) {      
+         if (TrackGroupProgress(count, (ls - lstart) / (double)originalLen)) {
+            rc = false;
+            break;
+         }
+      }
+      else {
+         if (TrackProgress(count, (ls - lstart) / (double)originalLen)) {
+            rc = false;
+            break;
+         }
+      }
+   }
+
+   // Turn the power off
+   callDispatcher(effMainsChanged, 0, 0, NULL, 0.0);
+
+   return rc;
 }
 
-void VSTEffect::callProcessReplacing(AEffect * effect, float **inputs,
-                                     float **outputs, long sampleframes)
+void VSTEffect::End()
 {
-   processFn fp = (processFn)NewMachOFromCFM(effect->processReplacing);
-   fp(effect, inputs, outputs, sampleframes);
-   DisposeMachOFromCFM(fp);
 }
 
-void VSTEffect::callSetParameter(AEffect * effect, long index,
-                                 float parameter)
+wxString VSTEffect::GetString(int opcode, int index)
 {
-   setParameterFn fp = (setParameterFn)NewMachOFromCFM(effect->setParameter);
-   fp(effect, index, parameter);
-   DisposeMachOFromCFM(fp);
+   char buf[256];
+
+   buf[0] = '\0';
+
+   callDispatcher(opcode, index, 0, buf, 0.0);
+
+   return LAT1CTOWX(buf);
 }
 
-float VSTEffect::callGetParameter(AEffect * effect, long index)
+void VSTEffect::SetString(int opcode, const wxString & str, int index)
 {
-   float rval;
+   char buf[256];
 
-   getParameterFn fp = (getParameterFn)NewMachOFromCFM(effect->getParameter);
-   rval = fp(effect, index);
-   DisposeMachOFromCFM(fp);
+   strcpy(buf, str.Left(255).mb_str());
 
-   return rval;
+   callDispatcher(opcode, index, 0, buf, 0.0);
 }
 
-#else // ifdef __MACOSX__
-
-long VSTEffect::callDispatcher(AEffect * effect, long opCode,
-                               long index, long value, void *ptr,
-                               float opt)
+long VSTEffect::callDispatcher(long opcode,
+                               long index, long value, void *ptr, float opt)
 {
-   return effect->dispatcher(effect, opCode, index, value, ptr, opt);
+   return mAEffect->dispatcher(mAEffect, opcode, index, value, ptr, opt);
 }
 
-void VSTEffect::callProcess(AEffect * effect, float **inputs,
-                            float **outputs, long sampleframes)
+void VSTEffect::callProcess(float **inputs, float **outputs, long sampleframes)
 {
-   effect->process(effect, inputs, outputs, sampleframes);
+   mAEffect->process(mAEffect, inputs, outputs, sampleframes);
 }
 
-void VSTEffect::callProcessReplacing(AEffect * effect, float **inputs,
+void VSTEffect::callProcessReplacing(float **inputs,
                                      float **outputs, long sampleframes)
 {
-   effect->processReplacing(effect, inputs, outputs, sampleframes);
+   mAEffect->processReplacing(mAEffect, inputs, outputs, sampleframes);
 }
 
-void VSTEffect::callSetParameter(AEffect * effect, long index,
-                                 float parameter)
+void VSTEffect::callSetParameter(long index, float parameter)
 {
-   effect->setParameter(effect, index, parameter);
+   mAEffect->setParameter(mAEffect, index, parameter);
 }
 
-float VSTEffect::callGetParameter(AEffect * effect, long index)
+float VSTEffect::callGetParameter(long index)
 {
-   return effect->getParameter(effect, index);
+   return mAEffect->getParameter(mAEffect, index);
 }
 
-#endif // MACOSX
+long int VSTEffect::audioMaster(AEffect * effect,
+                                long int opcode,
+                                long int index,
+                                long int value,
+                                void * ptr,
+                                float opt)
+{
+   switch (opcode)
+   {
+      case audioMasterPinConnected:
+         return (index < mChannels ? 0 : 1);
+
+      default:
+#if 0
+#if defined(__WXDEBUG__)
+         wxPrintf(wxT("effect: %p opcode: %d index: %d value: %d ptr: %p opt: %f user: %p\n"),
+                  effect, opcode, index, value, ptr, opt, effect->user);
+#endif
+#endif
+         return 0;
+   }
+
+}
 
 #endif // USE_VST
 
diff --git a/src/effects/VST/VSTEffect.h b/src/effects/VST/VSTEffect.h
index d66d753..d316e80 100644
--- a/src/effects/VST/VSTEffect.h
+++ b/src/effects/VST/VSTEffect.h
@@ -12,15 +12,11 @@
 
 #if USE_VST
 
-#include "AudioEffect.hpp"      // VST API
-
-class wxSlider;
-class labels;
+#include "../Effect.h"
 
-#include <wx/dialog.h>
-#include <wx/stattext.h>
+#include "aeffectx.h"
 
-#include "../Effect.h"
+#define audacityVSTID CCONST('a', 'u', 'D', 'y');
 
 typedef long (*dispatcherFn)(AEffect * effect, long opCode,
                              long index, long value, void *ptr,
@@ -34,23 +30,22 @@ typedef void (*setParameterFn)(AEffect * effect, long index,
 
 typedef float (*getParameterFn)(AEffect * effect, long index);
 
-class VSTEffect:public Effect {
+typedef AEffect *(*vstPluginMain)(audioMasterCallback audioMaster);
 
+class VSTEffect:public Effect
+{
  public:
 
-   VSTEffect(wxString pluginName, AEffect * aEffect);
-
+   VSTEffect(const wxString & path, void *module, AEffect * aeffect);
    virtual ~VSTEffect();
 
    virtual wxString GetEffectName();
-   
+
+   virtual wxString GetEffectIdentifier();
+
    virtual std::set<wxString> GetEffectCategories();
 
    virtual wxString GetEffectAction();
-   
-   virtual int GetEffectFlags() {
-      return PLUGIN_EFFECT | PROCESS_EFFECT;
-   }
 
    virtual bool Init();
 
@@ -60,76 +55,49 @@ class VSTEffect:public Effect {
    
    virtual void End();
 
-   // VST methods
-
-   long callDispatcher(AEffect * effect, long opCode,
-                       long index, long value, void *ptr,
-                       float opt);
-   void callProcess(AEffect * effect, float **inputs,
-                    float **outputs, long sampleframes);
-   void callProcessReplacing(AEffect * effect, float **inputs,
-                             float **outputs, long sampleframes);
-   void callSetParameter(AEffect * effect, long index,
-                         float parameter);
-   float callGetParameter(AEffect * effect, long index);
+   // Utility methods
 
- private:
-   bool ProcessStereo(int count, WaveTrack * left, WaveTrack *right,
-                      longSampleCount lstart,
-                      longSampleCount rstart, sampleCount len);
-
-   void GetSamples(WaveTrack *track,
-                   longSampleCount *start,
-                   sampleCount *len);
-      
-   bool isOpened;
-   wxString pluginName;
-   AEffect *aEffect;
-
-   sampleCount mBlockSize;
-   float *buffer;
-   float **fInBuffer;
-   float **fOutBuffer;
-   int inputs;
-   int outputs;
-   int numParameters;
-};
-
-class VSTEffectDialog:public wxDialog {
- public:
-   VSTEffectDialog(wxWindow * parent,
-                   wxString effectName,
-                   int numParams,
-                   VSTEffect * vst,
-                   AEffect * aEffect,
-                   const wxPoint & pos = wxDefaultPosition);
+   wxString GetString(int opcode, int index = 0);
+   void SetString(int opcode, const wxString & str, int index = 0);
 
-   ~VSTEffectDialog();
+   // VST methods
 
-   void OnSlider(wxScrollEvent & event);
-   void OnSliderCmd(wxCommandEvent & event);
-   void OnOK(wxCommandEvent & event);
-   void OnCancel(wxCommandEvent & event);
-   void OnPreview(wxCommandEvent & event);
+   long callDispatcher(long opcode, long index, long value, void *ptr, float opt);
+   void callProcess(float **inputs, float **outputs, long sampleframes);
+   void callProcessReplacing(float **inputs, float **outputs, long sampleframes);
+   void callSetParameter(long index, float parameter);
+   float callGetParameter(long index);
 
-   DECLARE_EVENT_TABLE()
+   // VST callback
+   long int audioMaster(AEffect * effect,
+                        long int opcode,
+                        long int index,
+                        long int value,
+                        void * ptr,
+                        float opt);
 
  private:
-   VSTEffect * vst;
-   AEffect * aEffect;
-   wxSlider **sliders;
-   wxStaticText **labels;
-   int numParams;
-};
+   bool ProcessStereo(int count,
+                      WaveTrack *left,
+                      WaveTrack *right,
+                      sampleCount lstart,
+                      sampleCount rstart,
+                      sampleCount len);
 
-#if defined(__WXMAC__) && defined(__UNIX__)
+   wxString mPath;
+   void *mModule;
+   AEffect *mAEffect;
 
-void *NewMachOFromCFM(void *cfmfp);
-void DisposeMachOFromCFM(void *ptr);
-void *NewCFMFromMachO(void *machofp);
-void DisposeCFMFromMachO(void *ptr);
+   wxString mVendor;
+   wxString mName;
 
-#endif
+   sampleCount mBlockSize;
+   float **mInBuffer;
+   float **mOutBuffer;
+   int mInputs;
+   int mOutputs;
+   int mChannels;
+};
 
 #endif // USE_VST
 
diff --git a/src/effects/Wahwah.cpp b/src/effects/Wahwah.cpp
index fe8c887..20c3002 100644
--- a/src/effects/Wahwah.cpp
+++ b/src/effects/Wahwah.cpp
@@ -218,30 +218,46 @@ void WahwahDialog::PopulateOrExchange(ShuttleGui & S)
 
    S.StartMultiColumn(3, wxCENTER);
    {
+      wxSlider *s;
       S.Id(ID_FREQTEXT).AddTextBox(_("LFO Frequency (Hz):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_FREQSLIDER).AddSlider(wxT(""), 100, FREQ_MAX, FREQ_MIN)->
-         SetName(_("LFO frequency in hertz"));
+      s = S.Id(ID_FREQSLIDER).AddSlider(wxT(""), 100, FREQ_MAX, FREQ_MIN);
+      s->SetName(_("LFO frequency in hertz"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_PHASETEXT).AddTextBox(_("LFO Start Phase (deg.):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_PHASESLIDER).AddSlider(wxT(""), 0, PHASE_MAX, PHASE_MIN)->
-         SetName(_("LFO start phase in degrees"));
+      s = S.Id(ID_PHASESLIDER).AddSlider(wxT(""), 0, PHASE_MAX, PHASE_MIN);
+      s->SetName(_("LFO start phase in degrees"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_DEPTHTEXT).AddTextBox(_("Depth (%):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_DEPTHSLIDER).AddSlider(wxT(""), 0, DEPTH_MAX, DEPTH_MIN)->
-         SetName(_("Depth in percent"));
+      s = S.Id(ID_DEPTHSLIDER).AddSlider(wxT(""), 0, DEPTH_MAX, DEPTH_MIN);
+      s->SetName(_("Depth in percent"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_RESONANCETEXT).AddTextBox(_("Resonance:"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_RESONANCESLIDER).AddSlider(wxT(""), 0, RES_MAX, RES_MIN)->
-         SetName(_("Resonance"));
+      s = S.Id(ID_RESONANCESLIDER).AddSlider(wxT(""), 0, RES_MAX, RES_MIN);
+      s->SetName(_("Resonance"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
 
       S.Id(ID_FREQOFFTEXT).AddTextBox(_("Wah Frequency Offset (%):"), wxT(""), 12);
       S.SetStyle(wxSL_HORIZONTAL);
-      S.Id(ID_FREQOFFSLIDER).AddSlider(wxT(""), 0, FREQOFF_MAX, FREQOFF_MIN)->
-         SetName(_("Wah frequency offset in percent"));
+      s  =S.Id(ID_FREQOFFSLIDER).AddSlider(wxT(""), 0, FREQOFF_MAX, FREQOFF_MIN);
+      s->SetName(_("Wah frequency offset in percent"));
+#if defined(__WXGTK__)
+      s->SetMinSize(wxSize(100, -1));
+#endif
    }
    S.EndMultiColumn();
 }
diff --git a/src/effects/audiounits/AudioUnitEffect.cpp b/src/effects/audiounits/AudioUnitEffect.cpp
index 028a170..40df49f 100644
--- a/src/effects/audiounits/AudioUnitEffect.cpp
+++ b/src/effects/audiounits/AudioUnitEffect.cpp
@@ -95,6 +95,7 @@ AudioUnitEffect::AudioUnitEffect(wxString name, Component component):
    mName(name),
    mComponent(component)
 {
+   SetEffectFlags(PLUGIN_EFFECT | PROCESS_EFFECT);
    OSErr result;
 
    mUnit = NULL;
@@ -139,13 +140,6 @@ wxString AudioUnitEffect::GetEffectAction()
                            mName.c_str());
 }
 
-int AudioUnitEffect::GetEffectFlags()
-{
-   int flags = PLUGIN_EFFECT | PROCESS_EFFECT;
-
-   return flags;
-}
- 
 bool AudioUnitEffect::Init()
 {
    ComponentResult auResult;
@@ -200,7 +194,7 @@ bool AudioUnitEffect::PromptUser()
    
 bool AudioUnitEffect::Process()
 {
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    int count = 0;
    Track *left = iter.First();
    Track *right;
@@ -244,26 +238,6 @@ void AudioUnitEffect::End()
    AudioUnitUninitialize(mUnit);
 }
 
-void AudioUnitEffect::GetSamples(WaveTrack *track,
-                                 sampleCount *start,
-                                 sampleCount *len)
-{
-   double trackStart = track->GetStartTime();
-   double trackEnd = track->GetEndTime();
-   double t0 = mT0 < trackStart? trackStart: mT0;
-   double t1 = mT1 > trackEnd? trackEnd: mT1;
-   
-   if (t1 > t0) {
-      *start = track->TimeToLongSamples(t0);
-      sampleCount end = track->TimeToLongSamples(t1);
-      *len = (sampleCount)(end - *start);
-   }
-   else {
-      *start = 0;
-      *len  = 0;
-   }
-}
-
 bool AudioUnitEffect::SetRateAndChannels(AudioUnit unit,
                                          int numChannels,
                                          Float64 sampleRate)
diff --git a/src/effects/audiounits/AudioUnitEffect.h b/src/effects/audiounits/AudioUnitEffect.h
index 0b9de3d..30849ca 100644
--- a/src/effects/audiounits/AudioUnitEffect.h
+++ b/src/effects/audiounits/AudioUnitEffect.h
@@ -34,8 +34,6 @@ class AudioUnitEffect:public Effect {
    
    virtual wxString GetEffectAction();
 
-   virtual int GetEffectFlags();
- 
    virtual bool Init();
 
    virtual bool PromptUser();
@@ -48,10 +46,6 @@ class AudioUnitEffect:public Effect {
    bool SetRateAndChannels(AudioUnit unit,
                            int numChannels, Float64 sampleRate);
 
-   void GetSamples(WaveTrack *track,
-                   sampleCount *start,
-                   sampleCount *len);
-
    bool ProcessStereo(int count, WaveTrack * left, WaveTrack *right,
                       sampleCount lstart, sampleCount rstart,
                       sampleCount len);
diff --git a/src/effects/ladspa/LadspaEffect.cpp b/src/effects/ladspa/LadspaEffect.cpp
index 4ac5573..1848aa0 100644
--- a/src/effects/ladspa/LadspaEffect.cpp
+++ b/src/effects/ladspa/LadspaEffect.cpp
@@ -126,13 +126,15 @@ LadspaEffect::LadspaEffect(const LADSPA_Descriptor *data,
       }
    }
 
-   flags = PLUGIN_EFFECT;
+   int flags = PLUGIN_EFFECT;
    if (inputs == 0)
       flags |= INSERT_EFFECT;
    else if (outputs == 0)
       flags |= ANALYZE_EFFECT;
    else
       flags |= PROCESS_EFFECT;   
+
+   SetEffectFlags(flags);
 }
 
 LadspaEffect::~LadspaEffect()
@@ -182,7 +184,7 @@ bool LadspaEffect::Init()
    mBlockSize = 0;
    mainRate = 0;
 
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    Track *left = iter.First();
    while(left) {
       if (mainRate == 0)
@@ -224,39 +226,12 @@ bool LadspaEffect::PromptUser()
    return true;
 }
 
-void LadspaEffect::GetSamples(WaveTrack *track,
-                              sampleCount *start,
-                              sampleCount *len)
-{
-   double trackStart = track->GetStartTime();
-   double trackEnd = track->GetEndTime();
-   double t0 = mT0 < trackStart? trackStart: mT0;
-   double t1 = mT1 > trackEnd? trackEnd: mT1;
-
-   if (flags & INSERT_EFFECT) {
-      t1 = t0 + mLength;
-      if (mT0 == mT1) {
-         track->InsertSilence(t0, t1);
-      }
-   }
-
-   if (t1 > t0) {
-      *start = track->TimeToLongSamples(t0);
-      sampleCount end = track->TimeToLongSamples(t1);
-      *len = (sampleCount)(end - *start);
-   }
-   else {
-      *start = 0;
-      *len  = 0;
-   }
-}
-
 bool LadspaEffect::Process()
 {
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
+   this->CopyInputTracks(); // Set up mOutputTracks.
    bool bGoodResult = true;
 
-   TrackListIterator iter(mOutputWaveTracks);
+   TrackListIterator iter(mOutputTracks);
    int count = 0;
    Track *left = iter.First();
    Track *right;
@@ -289,7 +264,7 @@ bool LadspaEffect::Process()
       count++;
    }
 
-   this->ReplaceProcessedWaveTracks(bGoodResult); 
+   this->ReplaceProcessedTracks(bGoodResult); 
    return bGoodResult;
 }
 
@@ -733,9 +708,11 @@ LadspaEffectDialog::LadspaEffectDialog(LadspaEffect *eff,
 
 LadspaEffectDialog::~LadspaEffectDialog()
 {
+   delete[]toggles;
    delete[]sliders;
    delete[]fields;
    delete[]labels;
+   delete[]ports;
 }
 
 void LadspaEffectDialog::OnCheckBox(wxCommandEvent &event)
diff --git a/src/effects/ladspa/LadspaEffect.h b/src/effects/ladspa/LadspaEffect.h
index 94d0cae..c5ad884 100644
--- a/src/effects/ladspa/LadspaEffect.h
+++ b/src/effects/ladspa/LadspaEffect.h
@@ -36,10 +36,6 @@ class LadspaEffect:public Effect {
    
    virtual wxString GetEffectAction();
 
-   virtual int GetEffectFlags() {
-      return flags;
-   }
- 
    virtual bool Init();
 
    virtual bool PromptUser();
@@ -53,12 +49,7 @@ class LadspaEffect:public Effect {
                       sampleCount lstart, sampleCount rstart,
                       sampleCount len);
 
-   void GetSamples(WaveTrack *track,
-                   sampleCount *start,
-                   sampleCount *len);
- 
    wxString pluginName;
-   int flags;
 
    const LADSPA_Descriptor *mData;
    sampleCount mBlockSize;
@@ -72,7 +63,6 @@ class LadspaEffect:public Effect {
    float *inputControls;
    float *outputControls;
    int mainRate;
-   double mLength;
 
    std::set<wxString> mCategories;
 };
diff --git a/src/effects/ladspa/LoadLadspa.cpp b/src/effects/ladspa/LoadLadspa.cpp
index 0ee855e..5336372 100644
--- a/src/effects/ladspa/LoadLadspa.cpp
+++ b/src/effects/ladspa/LoadLadspa.cpp
@@ -214,9 +214,8 @@ void LoadLadspaPlugins()
                                          rdfPathList);
    }
 
-   wxGetApp().FindFilesInPathList(wxT("*.rdf"), rdfPathList, wxFILE, rdfFiles);
-   wxGetApp().FindFilesInPathList(wxT("*.rdfs"), 
-                                  rdfPathList, wxFILE, rdfFiles);
+   wxGetApp().FindFilesInPathList(wxT("*.rdf"), rdfPathList, rdfFiles);
+   wxGetApp().FindFilesInPathList(wxT("*.rdfs"), rdfPathList, rdfFiles);
    for(size_t i = 0; i < rdfFiles.GetCount(); ++i) {
       wxString fileUri(wxT("file://"));
       fileUri += rdfFiles[i];
@@ -280,6 +279,7 @@ void LoadLadspaPlugins()
    #ifdef __WXGTK__
    wxGetApp().AddUniquePathToPathList(wxT(INSTALL_PREFIX) wxT("/ladspa"), pathList);
    wxGetApp().AddUniquePathToPathList(wxT("/usr/local/lib/ladspa"), pathList);
+   wxGetApp().AddUniquePathToPathList(wxT("/usr/lib/ladspa"), pathList);
    wxGetApp().AddUniquePathToPathList(wxT(LIBDIR) wxT("/ladspa"), pathList);
    #endif
 
@@ -299,9 +299,9 @@ void LoadLadspaPlugins()
    }
 
    #ifdef __WXMSW__
-   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, wxFILE, files);   
+   wxGetApp().FindFilesInPathList(wxT("*.dll"), pathList, files);   
    #else
-   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, wxFILE, files);
+   wxGetApp().FindFilesInPathList(wxT("*.so"), pathList, files);
    #endif
 
    for(i=0; i<files.GetCount(); i++)
diff --git a/src/effects/lv2/LV2Effect.cpp b/src/effects/lv2/LV2Effect.cpp
index 1bd32d6..bb34e04 100644
--- a/src/effects/lv2/LV2Effect.cpp
+++ b/src/effects/lv2/LV2Effect.cpp
@@ -143,14 +143,15 @@ LV2Effect::LV2Effect(SLV2Plugin data,
    // Determine whether the plugin is a generator, effect or analyser 
    // depending on the number of ports of each type (not completely accurate,
    // but works most of the time)
-   flags = PLUGIN_EFFECT;
+   int flags = PLUGIN_EFFECT;
    if (mAudioInputs.size() == 0)
       flags |= INSERT_EFFECT;
    else if (mAudioOutputs.size() == 0)
       flags |= ANALYZE_EFFECT;
    else
       flags |= PROCESS_EFFECT;
-   
+
+   SetEffectFlags(flags);
 }
 
 LV2Effect::~LV2Effect()
@@ -198,7 +199,7 @@ bool LV2Effect::Init()
    mBlockSize = 0;
    mainRate = 0;
 
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    Track *left = iter.First();
    while(left) {
       if (mainRate == 0)
@@ -247,33 +248,6 @@ bool LV2Effect::PromptUser()
    return true;
 }
 
-void LV2Effect::GetSamples(WaveTrack *track,
-                              sampleCount *start,
-                              sampleCount *len)
-{
-   double trackStart = track->GetStartTime();
-   double trackEnd = track->GetEndTime();
-   double t0 = mT0 < trackStart? trackStart: mT0;
-   double t1 = mT1 > trackEnd? trackEnd: mT1;
-
-   if (flags & INSERT_EFFECT) {
-      t1 = t0 + mLength;
-      if (mT0 == mT1) {
-         track->InsertSilence(t0, t1);
-      }
-   }
-
-   if (t1 > t0) {
-      *start = track->TimeToLongSamples(t0);
-      sampleCount end = track->TimeToLongSamples(t1);
-      *len = (sampleCount)(end - *start);
-   }
-   else {
-      *start = 0;
-      *len  = 0;
-   }
-}
-
 bool LV2Effect::Process()
 {
    this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
diff --git a/src/effects/lv2/LV2Effect.h b/src/effects/lv2/LV2Effect.h
index 72d2a92..51bca7f 100644
--- a/src/effects/lv2/LV2Effect.h
+++ b/src/effects/lv2/LV2Effect.h
@@ -71,11 +71,6 @@ class LV2Effect:public Effect {
    /** Get the action string. */
    virtual wxString GetEffectAction();
    
-   /** Get the flags that describe the type of the effect. */
-   virtual int GetEffectFlags() {
-      return flags;
-   }
-   
    virtual bool Init();
 
    virtual bool PromptUser();
@@ -106,20 +101,14 @@ class LV2Effect:public Effect {
                       sampleCount lstart, sampleCount rstart,
                       sampleCount len);
 
-   void GetSamples(WaveTrack *track,
-                   sampleCount *start,
-                   sampleCount *len);
- 
    bool mValid;
    wxString pluginName;
-   int flags;
 
    SLV2Plugin mData;
    sampleCount mBlockSize;
    float **fInBuffer;
    float **fOutBuffer;
    int mainRate;
-   double mLength;
 
    std::set<wxString> mCategories;
    
diff --git a/src/effects/nyquist/LoadNyquist.cpp b/src/effects/nyquist/LoadNyquist.cpp
index 8cf0d2a..eea0ed9 100644
--- a/src/effects/nyquist/LoadNyquist.cpp
+++ b/src/effects/nyquist/LoadNyquist.cpp
@@ -50,7 +50,7 @@ void LoadNyquistPlugins()
                                          pathList);
    }
 
-   wxGetApp().FindFilesInPathList(wxT("*.ny"), pathList, wxFILE, files);
+   wxGetApp().FindFilesInPathList(wxT("*.ny"), pathList, files);
 
    for(i=0; i<files.GetCount(); i++)
       LoadNyquistEffect(files[i]);
diff --git a/src/effects/nyquist/Nyquist.cpp b/src/effects/nyquist/Nyquist.cpp
index 79e7f7c..36509c9 100644
--- a/src/effects/nyquist/Nyquist.cpp
+++ b/src/effects/nyquist/Nyquist.cpp
@@ -61,34 +61,64 @@ effects from this one class.
 #endif
 
 #include <locale.h>
+#include <iostream>
+#include <ostream>
+#include <sstream>
 
 #include <wx/arrimpl.cpp>
 WX_DEFINE_OBJARRAY(NyqControlArray);
 
-wxString EffectNyquist::mXlispPath;
+EffectNyquist::EffectNyquist(wxString fName)
+{
+   mAction = _("Applying Nyquist Effect...");
+   mCmd = wxEmptyString;
+   SetEffectFlags(HIDDEN_EFFECT);
+   mInteractive = false;
+   mExternal = false;
+   mCompiler = false;
+   mDebug = false;
+   mIsSal = false;
+   mOK = false;
 
-#define NYQ_CTRL_INT 0
-#define NYQ_CTRL_REAL 1
-#define NYQ_CTRL_STRING 2
-#define NYQ_CTRL_CHOICE 3
+   mStop = false;
+   mBreak = false;
+   mCont = false;
 
-extern "C" {
-   extern void set_xlisp_path(const char *p);
+   if (fName == wxT("")) {
+      // Interactive Nyquist
+      mOK = true;
+      mInteractive = true;
+      mName = _("Nyquist Prompt...");
+      SetEffectFlags(PROCESS_EFFECT | BUILTIN_EFFECT | ADVANCED_EFFECT);
+      return;
+   }
+
+   wxLogNull dontLog;
+
+   mName = wxFileName(fName).GetName();
+   mFileName = wxFileName(fName);
+   mFileModified = mFileName.GetModificationTime();
+   ParseFile();
 }
 
-#if defined(USE_NYQUIST) && defined(__WXMSW__) && !defined(__CYGWIN__)
-// Nyquist needs a random function and non-Cygwin MSW doesn't provide one...
-extern "C" {
-   long random_seed = 1534781L;
-   short random(short lo, short hi)
-   {
-      random_seed *= 13L;
-      random_seed += 1874351L;
-      return((short)(lo + (((hi + 1 - lo) * ((0x00ffff00 & random_seed) >> 8)) >> 16)));
-   }
+EffectNyquist::~EffectNyquist()
+{
 }
-#endif
 
+void EffectNyquist::Break()
+{
+   mBreak = true;
+}
+
+void EffectNyquist::Continue()
+{
+   mCont = true;
+}
+
+void EffectNyquist::Stop()
+{
+   mStop = true;
+}
 
 #define UNINITIALIZED_CONTROL ((double)99999999.99)
 
@@ -97,21 +127,21 @@ wxString EffectNyquist::UnQuote(wxString s)
    wxString out;
    int len = s.Length();
    
-   if (len>=2 && s.GetChar(0)==wxT('\"') && s.GetChar(len-1)==wxT('\"'))
-      return s.Mid(1, len-2);
-   else
-      return s;
+   if (len >= 2 && s[0] == wxT('\"') && s[len - 1] == wxT('\"')) {
+      return s.Mid(1, len - 2);
+   }
+
+   return s;
 }
 
 double EffectNyquist::GetCtrlValue(wxString s)
 {
    if (s == wxT("rate")) {
-      TrackListIterator iter(mWaveTracks);
+      TrackListOfKindIterator iter(Track::Wave, mTracks);
       return ((WaveTrack *)iter.First())->GetRate();
    }
-   else {
-      return Internat::CompatibleToDouble(s);
-   }
+
+   return Internat::CompatibleToDouble(s);
 }
 
 void EffectNyquist::Parse(wxString line)
@@ -123,76 +153,114 @@ void EffectNyquist::Parse(wxString line)
    bool sl = false;
    bool q = false;
    wxString tok = wxT("");
-   for(i=1; i<len; i++) {
-      if (line.GetChar(i)==wxT('\\'))
+
+   for (i = 1; i < len; i++) {
+      wxChar c = line[i];
+
+      if (c == wxT('\\')) {
          sl = true;
-      else if (line.GetChar(i)==wxT('"'))
+      }
+      else if (c == wxT('"')) {
          q = !q;
+      }
       else {
-         if ((!q && !sl && line.GetChar(i)==wxT(' ')) || line.GetChar(i)==wxT('\t')) {
+         if ((!q && !sl && c == wxT(' ')) || c == wxT('\t')) {
             tokens.Add(tok);
             tok = wxT("");
          }
-         else if (sl && line.GetChar(i)==wxT('n'))
+         else if (sl && c == wxT('n')) {
             tok += wxT('\n');
-         else
-            tok += line.GetChar(i);
+         }
+         else {
+            tok += c;
+         }
          
          sl = false;
       }
    }
-   if (tok != wxT(""))
+
+   if (tok != wxT("")) {
       tokens.Add(tok);
+   }
 
    len = tokens.GetCount();
-   if (len < 1)
+   if (len < 1) {
       return;
+   }
 
-   if (len==2 && tokens[0]==wxT("nyquist") && tokens[1]==wxT("plug-in")) {
+   if (len == 2 && tokens[0] == wxT("nyquist") && tokens[1] == wxT("plug-in")) {
       mOK = true;
       return;
    }
 
-   if (len>=2 && tokens[0]==wxT("type")) {
-      if (tokens[1]==wxT("process"))
-         mFlags = PROCESS_EFFECT | PLUGIN_EFFECT;
-      if (tokens[1]==wxT("generate"))
-         mFlags = INSERT_EFFECT | PLUGIN_EFFECT;
-      if (tokens[1]==wxT("analyze"))
-         mFlags = ANALYZE_EFFECT | PLUGIN_EFFECT;
+   if (len >= 2 && tokens[0] == wxT("type")) {
+      if (tokens[1] == wxT("process")) {
+         SetEffectFlags(PROCESS_EFFECT | PLUGIN_EFFECT);
+      }
+      else if (tokens[1] == wxT("generate")) {
+         SetEffectFlags(INSERT_EFFECT | PLUGIN_EFFECT);
+      }
+      else if (tokens[1] == wxT("analyze")) {
+         SetEffectFlags(ANALYZE_EFFECT | PLUGIN_EFFECT);
+      }
+      return;
+   }
+
+   if (len == 2 && tokens[0] == wxT("codetype")) {
+      if (tokens[1] == wxT("lisp")) {
+         mIsSal = false;
+      }
+      else if (tokens[1] == wxT("sal")) {
+         mIsSal = true;
+      }
+      return;
+   }
+
+   if (len >= 2 && tokens[0] == wxT("debugflags")) {
+      for (int i = 1; i < len; i++) {
+         if (tokens[i] == wxT("trace")) {
+            mDebug = true;
+         }
+         else if (tokens[i] == wxT("notrace")) {
+            mDebug = false;
+         }
+         else if (tokens[i] == wxT("compiler")) {
+            mCompiler = true;
+         }
+         else if (tokens[i] == wxT("nocompiler")) {
+            mCompiler = false;
+         }
+      }
       return;
    }
 
    // We support versions 1, 2 and 3
    // (Version 2 added support for string parameters.)
    // (Version 3 added support for choice parameters.)
-   if (len>=2 && tokens[0]==wxT("version")) {
-      if (tokens[1]==wxT("1") || tokens[1]==wxT("2") || tokens[1]==wxT("3")) {
-         // We're okay
-      }
-      else {
+   if (len >= 2 && tokens[0] == wxT("version")) {
+      if (tokens[1] != wxT("1") && tokens[1] != wxT("2") && tokens[1] != wxT("3")) {
          // This is an unsupported plug-in version
          mOK = false;
          return;
       }
    }
 
-   if (len>=2 && tokens[0]==wxT("name")) {
+   if (len >= 2 && tokens[0] == wxT("name")) {
       mName = UnQuote(tokens[1]);
       return;
    }
 
-   if (len>=2 && tokens[0]==wxT("action")) {
+   if (len >= 2 && tokens[0] == wxT("action")) {
       mAction = UnQuote(tokens[1]);
       return;
    }
 
-   if (len>=2 && tokens[0]==wxT("info")) {
+   if (len >= 2 && tokens[0] == wxT("info")) {
       mInfo = UnQuote(tokens[1]);
       return;
    }
 
-   if (len>=6 && tokens[0]==wxT("control")) {
+   if (len >= 6 && tokens[0] == wxT("control")) {
       NyqControl ctrl;
   
       ctrl.var = tokens[1];
@@ -200,18 +268,23 @@ void EffectNyquist::Parse(wxString line)
       ctrl.label = tokens[4];
       ctrl.valStr = tokens[5];
  
-      if (tokens[3]==wxT("string"))
+      if (tokens[3] == wxT("string")) {
          ctrl.type = NYQ_CTRL_STRING;
-      else if( tokens[ 3 ] == wxT( "choice" ) )
+      }
+      else if (tokens[ 3 ] == wxT("choice")) {
          ctrl.type = NYQ_CTRL_CHOICE;
+      }
       else {
-         if (len < 8)
+         if (len < 8) {
             return;
+         }
           
-         if (tokens[3]==wxT("real"))
+         if (tokens[3] == wxT("real")) {
             ctrl.type = NYQ_CTRL_REAL;
-         else
+         }
+         else {
             ctrl.type = NYQ_CTRL_INT;
+         }
           
          ctrl.lowStr = tokens[6];
          ctrl.highStr = tokens[7];
@@ -222,9 +295,10 @@ void EffectNyquist::Parse(wxString line)
       mControls.Add(ctrl);
    }
    
-   if (len>=2 && tokens[0]==wxT("categories")) {
-      for (size_t i = 1; i < tokens.GetCount(); ++i)
-         mCategories.insert(tokens[i]);
+   if (len >= 2 && tokens[0] == wxT("categories")) {
+      for (size_t i = 1; i < tokens.GetCount(); ++i) {
+         mCategories.Add(tokens[i]);
+      }
    }
 }
 
@@ -235,47 +309,46 @@ void EffectNyquist::ParseFile()
       return;
 
    mCmd = wxT("");
-   mFlags = PROCESS_EFFECT | PLUGIN_EFFECT;
+   SetEffectFlags(PROCESS_EFFECT | PLUGIN_EFFECT);
    mOK = false;
+   mIsSal = false;
    mControls.Clear();
 
    int i;
    int len = f.GetLineCount();
    wxString line;
-   for(i=0; i<len; i++) {
+   for (i = 0; i < len; i++) {
       line = f[i];
-      if (line.Length()>1 && line.GetChar(0)==wxT(';'))
+      if (line.Length() > 1 && line[0] == wxT(';')) {
          Parse(line);
-      else
+      }
+      else {
          mCmd += line + wxT("\n");
+      }
    }
 }
 
-EffectNyquist::EffectNyquist(wxString fName)
+void EffectNyquist::SetCommand(wxString cmd)
 {
+   mExternal = true;
    mInteractive = false;
-   mAction = _("Applying Nyquist Effect...");
+   mCmd = wxT("");
+   SetEffectFlags(INSERT_EFFECT | HIDDEN_EFFECT);
+   mOK = false;
+   mIsSal = false;
+   mControls.Clear();
 
-   if (fName == wxT("")) {
-      // Interactive Nyquist
-      mOK = true;
-      mInteractive = true;
-      mCmd = wxT("");
-      mName = _("Nyquist Prompt...");
-      mFlags = PROCESS_EFFECT | BUILTIN_EFFECT | ADVANCED_EFFECT;
-      return;
+   wxStringTokenizer lines(cmd, wxT("\n"));
+   while (lines.HasMoreTokens()) {
+      wxString line = lines.GetNextToken();
+      
+      if (line.Length() > 1 && line[0] == wxT(';')) {
+         Parse(line);
+      }
+      else {
+         mCmd += line + wxT("\n");
+      }
    }
-
-   wxLogNull dontLog;
-
-   mName = wxFileName(fName).GetName();
-   mFileName = wxFileName(fName);
-   mFileModified = mFileName.GetModificationTime();
-   ParseFile();
-}
-
-EffectNyquist::~EffectNyquist()
-{
 }
 
 bool EffectNyquist::SetXlispPath()
@@ -283,8 +356,9 @@ bool EffectNyquist::SetXlispPath()
    wxString fname;
 
    fname = mXlispPath + wxFILE_SEP_PATH + wxT("nyinit.lsp");
-   if (!(::wxFileExists(fname)))
+   if (!(::wxFileExists(fname))) {
       mXlispPath = wxT("");
+   }
 
    if (mXlispPath == wxT("")) {
       wxArrayString audacityPathList = wxGetApp().audacityPathList;
@@ -292,25 +366,25 @@ bool EffectNyquist::SetXlispPath()
       wxArrayString files;
       unsigned int i;
 
-      for(i=0; i<audacityPathList.GetCount(); i++) {
+      for (i = 0; i < audacityPathList.GetCount(); i++) {
          wxString prefix = audacityPathList[i] + wxFILE_SEP_PATH;
          wxGetApp().AddUniquePathToPathList(prefix + wxT("nyquist"),
                                             pathList);
       }
 
-      wxGetApp().FindFilesInPathList(wxT("nyquist.lsp"), pathList, wxFILE, files);
+      wxGetApp().FindFilesInPathList(wxT("nyquist.lsp"), pathList, files);
 
       if (files.GetCount() > 0) {
          mXlispPath = ::wxPathOnly(files[0]);
       }
    }
 
-   #ifdef _UNICODE
-      /* set_xlisp_path doesn't handle fn_Str() in Unicode build. May or may not actually work. */
-      set_xlisp_path(mXlispPath.mb_str());
-   #else // ANSI
-      set_xlisp_path(mXlispPath.fn_str());
-   #endif // Unicode/ANSI
+#ifdef _UNICODE
+   /* set_xlisp_path doesn't handle fn_Str() in Unicode build. May or may not actually work. */
+   nyx_set_xlisp_path(mXlispPath.mb_str());
+#else // ANSI
+   nyx_set_xlisp_path(mXlispPath.fn_str());
+#endif // Unicode/ANSI
 
    fname = mXlispPath + wxFILE_SEP_PATH + wxT("nyinit.lsp");
    return ::wxFileExists(fname);
@@ -318,79 +392,90 @@ bool EffectNyquist::SetXlispPath()
 
 bool EffectNyquist::PromptUser()
 {
-   if (!SetXlispPath())
+   if (!SetXlispPath()) {
       return false;
+   }
 
    if (mInteractive) {
-      NyquistInputDialog dlog(mParent, -1,
-                              _NoAcc("Nyquist Prompt..."),
+      NyquistInputDialog dlog(wxGetTopLevelParent(NULL), -1,
+                              _("Nyquist Prompt..."),
                               _("Enter Nyquist Command: "),
                               mCmd);
       dlog.CentreOnParent();
       int result = dlog.ShowModal();
 
-      if (result == wxID_CANCEL)
+      if (result == wxID_CANCEL) {
          return false;
+      }
 
-      if (result == eDebugID)
+      if (result == eDebugID) {
          mDebug = true;
-      else
-         mDebug = false;
-      
+      }
+
       mCmd = dlog.GetCommand();
 
       return true;
    }
 
-   if (mFileName.GetModificationTime().IsLaterThan(mFileModified)) {
-      ParseFile();
-      mFileModified = mFileName.GetModificationTime();
+   if (!mExternal) {
+      if (mFileName.GetModificationTime().IsLaterThan(mFileModified)) {
+         ParseFile();
+         mFileModified = mFileName.GetModificationTime();
+      }
    }
 
    if (mControls.GetCount() == 0) {
-      mDebug = false;
       return true;
    }
 
-   for(unsigned int i=0; i<mControls.GetCount(); i++) {
+   for (unsigned int i = 0; i < mControls.GetCount(); i++) {
       NyqControl *ctrl = &mControls[i];
 
-      if (ctrl->type == NYQ_CTRL_STRING)
+      if (ctrl->type == NYQ_CTRL_STRING) {
          continue;
+      }
 
-      if (ctrl->val == UNINITIALIZED_CONTROL)
+      if (ctrl->val == UNINITIALIZED_CONTROL) {
          ctrl->val = GetCtrlValue(ctrl->valStr);
+      }
 
-      if( ctrl->type == NYQ_CTRL_CHOICE )
+      if (ctrl->type == NYQ_CTRL_CHOICE) {
          continue;
+      }
       
       ctrl->low = GetCtrlValue(ctrl->lowStr);
       ctrl->high = GetCtrlValue(ctrl->highStr);
 
-      if (ctrl->high < ctrl->low)
+      if (ctrl->high < ctrl->low) {
          ctrl->high = ctrl->low + 1;
-      if (ctrl->val < ctrl->low)
+      }
+
+      if (ctrl->val < ctrl->low) {
          ctrl->val = ctrl->low;
-      if (ctrl->val > ctrl->high)
+      }
+
+      if (ctrl->val > ctrl->high) {
          ctrl->val = ctrl->high;
+      }
 
       ctrl->ticks = 1000;
-      if (ctrl->type==NYQ_CTRL_INT &&
-          (ctrl->high - ctrl->low < ctrl->ticks))
+      if (ctrl->type == NYQ_CTRL_INT &&
+          (ctrl->high - ctrl->low < ctrl->ticks)) {
          ctrl->ticks = (int)(ctrl->high - ctrl->low);
+      }
    }
 
    NyquistDialog dlog(mParent, -1, mName, mInfo, &mControls);
    dlog.CentreOnParent();
    int result = dlog.ShowModal();
 
-   if (result == wxID_CANCEL)
+   if (result == wxID_CANCEL) {
       return false;
+   }
    
-   if (result == eDebugID)
+   if (result == eDebugID) {
       mDebug = true;
-   else
-      mDebug = false;
+   }
 
    return true;
 }
@@ -398,18 +483,27 @@ bool EffectNyquist::PromptUser()
 bool EffectNyquist::Process()
 {
    bool success = true;
-   
-   this->CopyInputWaveTracks(); // Set up mOutputWaveTracks.
-   TrackListIterator iter(mOutputWaveTracks);
+
+   if (mExternal) {
+      mProgress->Hide();
+   }
+
+   this->CopyInputTracks(); // Set up mOutputTracks.
+   TrackListIterator iter(mOutputTracks);
    mCurTrack[0] = (WaveTrack *) iter.First();
    mOutputTime = mT1 - mT0;
    mCount = 0;
    mProgressIn = 0;
    mProgressOut = 0;
    mProgressTot = 0;
-   mScale = (mFlags & PROCESS_EFFECT ? 0.5 : 1.0) / GetNumWaveGroups();
+   mScale = (GetEffectFlags() & PROCESS_EFFECT ? 0.5 : 1.0) / GetNumWaveGroups();
+
+   mStop = false;
+   mBreak = false;
+   mCont = false;
+
+   mDebugOutput = "";
 
-   mDebugOutput = wxT("");
    while (mCurTrack[0]) {
       mCurNumChannels = 1;
       if (mT1 >= mT0) {
@@ -433,9 +527,20 @@ bool EffectNyquist::Process()
 
          mProgressIn = 0.0;
          mProgressOut = 0.0;
+
+         nyx_init();
+         nyx_set_os_callback(StaticOSCallback, (void *)this);
+         nyx_capture_output(StaticOutputCallback, (void *)this);
+
          success = ProcessOne();
-         if (!success)
+
+         nyx_capture_output(NULL, (void *)NULL);
+         nyx_set_os_callback(NULL, (void *)NULL);
+         nyx_cleanup();
+
+         if (!success) {
             goto finish;
+         }
          mProgressTot += mProgressIn + mProgressOut;
       }
 
@@ -447,167 +552,102 @@ bool EffectNyquist::Process()
 
  finish:
 
-   if (mDebug) {
+   if (mDebug && !mExternal) {
       NyquistOutputDialog dlog(mParent, -1,
                                _("Nyquist"),
                                _("Nyquist Output: "),
-                               mDebugOutput);
+                               wxString(mDebugOutput.c_str(), wxConvISO8859_1));
       dlog.CentreOnParent();
       dlog.ShowModal();
    }
 
-   this->ReplaceProcessedWaveTracks(success); 
-   return success;
-}
-
-
-int EffectNyquist::GetCallback(float *buffer, int ch,
-                               long start, long len, long totlen)
-{
-   if (mCurBuffer[ch]) {
-      if ((mCurStart[ch] + start) < mCurBufferStart[ch] ||
-          (mCurStart[ch] + start)+len >
-          mCurBufferStart[ch]+mCurBufferLen[ch]) {
-         delete[] mCurBuffer[ch];
-         mCurBuffer[ch] = NULL;
-      }
-   }
-
-   if (!mCurBuffer[ch]) {
-      mCurBufferStart[ch] = (mCurStart[ch] + start);
-      mCurBufferLen[ch] = mCurTrack[ch]->GetBestBlockSize(mCurBufferStart[ch]);
-      if (mCurBufferLen[ch] < len)
-         mCurBufferLen[ch] = mCurTrack[ch]->GetIdealBlockSize();
-      if (mCurBufferStart[ch] + mCurBufferLen[ch] > mCurStart[ch] + mCurLen)
-         mCurBufferLen[ch] = mCurStart[ch] + mCurLen - mCurBufferStart[ch];
-      mCurBuffer[ch] = NewSamples(mCurBufferLen[ch], floatSample);
-      if (!mCurTrack[ch]->Get(mCurBuffer[ch], floatSample,
-                              mCurBufferStart[ch], mCurBufferLen[ch])) {
-
-         wxPrintf(wxT("GET error\n"));
-
-         return -1;
-      }
-   }
-
-   long offset = (mCurStart[ch] + start) - mCurBufferStart[ch];
-   CopySamples(mCurBuffer[ch] + offset*SAMPLE_SIZE(floatSample), floatSample,
-               (samplePtr)buffer, floatSample,
-               len);
-
-   if (ch==0) {
-      double progress = mScale*(((float)start+len)/mCurLen);
-      if (progress > mProgressIn)
-         mProgressIn = progress;
-      if (TotalProgress(mProgressIn+mProgressTot))
-         return -1;
-   }
-
-   return 0;
-}
-
-int EffectNyquist::PutCallback(float *buffer, int channel,
-                               long start, long len, long totlen)
-{
-   if (channel==0) {
-      double progress = mScale*((float)(start+len)/totlen);
-      if (progress > mProgressOut)
-         mProgressOut = progress;
-      if (TotalProgress(mProgressIn+mProgressOut+mProgressTot))
-         return -1;
-   }
-
-   if (mOutputTrack[channel]->Append((samplePtr)buffer, floatSample, len))
-      return 0;  // success
-   else
-      return -1; // failure
-}
+   this->ReplaceProcessedTracks(success);
 
-int EffectNyquist::StaticGetCallback(float *buffer, int channel,
-                                     long start, long len, long totlen,
-                                     void *userdata)
-{
-   EffectNyquist *This = (EffectNyquist *)userdata;
-   return This->GetCallback(buffer, channel, start, len, totlen);
-}
+   mDebug = false;
 
-int EffectNyquist::StaticPutCallback(float *buffer, int channel,
-                                     long start, long len, long totlen,
-                                     void *userdata)
-{
-   EffectNyquist *This = (EffectNyquist *)userdata;
-   return This->PutCallback(buffer, channel, start, len, totlen);
+   return success;
 }
 
 bool EffectNyquist::ProcessOne()
 {
-   // libnyquist breaks except in LC_NUMERIC=="C".
-   //
-   // MB: setlocale is not thread-safe.  Should use uselocale()
-   //     if available, or fix libnyquist to be locale-independent.
-   setlocale(LC_NUMERIC, "C");
-
    nyx_rval rval;
 
-   nyx_init();
-
-   if (mDebug)
-      nyx_capture_output(65536);
+   if (GetEffectFlags() & INSERT_EFFECT) {
+      nyx_set_audio_params(mCurTrack[0]->GetRate(), 0);
+   }
+   else {
+      nyx_set_audio_params(mCurTrack[0]->GetRate(), mCurLen);
 
-   if( !( mFlags & INSERT_EFFECT ) )
       nyx_set_input_audio(StaticGetCallback, (void *)this,
                           mCurNumChannels,
                           mCurLen, mCurTrack[0]->GetRate());
-   else
-      nyx_set_audio_params( mCurTrack[0]->GetRate() );
+   }
 
    wxString cmd;
 
    if (mDebug) {
-      cmd = cmd + wxT("(setf *tracenable* T)\n");
+      cmd += wxT("(setf *tracenable* T)\n");
+      if (mExternal) {
+         cmd += wxT("(setf *breakenable* T)\n");
+      }
    }
 
-   for(unsigned int j=0; j<mControls.GetCount(); j++) {
-      if (mControls[j].type==NYQ_CTRL_REAL)
-         cmd = cmd+wxString::Format(wxT("(setf %s %f)\n"),
-                                    mControls[j].var.c_str(),
-                                    mControls[j].val);
-      else if (mControls[j].type==NYQ_CTRL_INT || 
-            mControls[j].type == NYQ_CTRL_CHOICE)
-         cmd = cmd+wxString::Format(wxT("(setf %s %d)\n"),
-                                    mControls[j].var.c_str(),
-                                    (int)(mControls[j].val));
-      else if (mControls[j].type==NYQ_CTRL_STRING) {
+   for (unsigned int j = 0; j < mControls.GetCount(); j++) {
+      if (mControls[j].type == NYQ_CTRL_REAL) {
+         cmd += wxString::Format(wxT("(setf %s %f)\n"),
+                                 mControls[j].var.c_str(),
+                                 mControls[j].val);
+      }
+      else if (mControls[j].type == NYQ_CTRL_INT || 
+            mControls[j].type == NYQ_CTRL_CHOICE) {
+         cmd += wxString::Format(wxT("(setf %s %d)\n"),
+                                 mControls[j].var.c_str(),
+                                 (int)(mControls[j].val));
+      }
+      else if (mControls[j].type == NYQ_CTRL_STRING) {
          wxString str = mControls[j].valStr;
          str.Replace(wxT("\""), wxT("'"));
-         cmd = cmd+wxString::Format(wxT("(setf %s \"%s\")\n"),
-                                    mControls[j].var.c_str(),
-                                    str.c_str());
+         cmd += wxString::Format(wxT("(setf %s \"%s\")\n"),
+                                 mControls[j].var.c_str(),
+                                 str.c_str());
       }
    }
-   
-   cmd += mCmd;
-   
-   //wxMessageBox(cmd);
-   
+
+   if (mIsSal) {
+      wxString str = mCmd;
+      str.Replace(wxT("\""), wxT("\\\""));
+
+      if (mCompiler) {
+         cmd += wxT("(setf *sal-compiler-debug* t)\n");
+      }
+
+      cmd += wxT("(setf *sal-call-stack* nil)\n");
+      cmd += wxT("(sal-compile \"\n") + str + wxT("\n\" t t nil)\n");
+      cmd += wxT("(main)\n");
+   }
+   else {
+      cmd += mCmd;
+   }
+
    int i;
-	for (i = 0; i < mCurNumChannels; i++)
+	for (i = 0; i < mCurNumChannels; i++) {
 		mCurBuffer[i] = NULL;
-   rval = nyx_eval_expression(cmd.mb_str());
+   }
 
-   if (mDebug) {
-      int len;
-      const char *str;
+   // libnyquist breaks except in LC_NUMERIC=="C".
+   //
+   // MB: setlocale is not thread-safe.  Should use uselocale()
+   //     if available, or fix libnyquist to be locale-independent.
+   char *prevlocale = setlocale(LC_NUMERIC, NULL);
+   setlocale(LC_NUMERIC, "C");
 
-      nyx_get_captured_output(&len, &str);
-      mDebugOutput += wxString(str, wxConvISO8859_1, len);
-   }
+   rval = nyx_eval_expression(cmd.mb_str());
+
+   setlocale(LC_NUMERIC, prevlocale);
 
    if (rval == nyx_string) {
       wxMessageBox(wxString(nyx_get_string(), wxConvISO8859_1), wxT("Nyquist"),
                    wxOK | wxCENTRE, mParent);
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return true;
    }
 
@@ -617,8 +657,6 @@ bool EffectNyquist::ProcessOne()
                  nyx_get_double());
       wxMessageBox(str, wxT("Nyquist"),
                    wxOK | wxCENTRE, mParent);
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return true;
    }
 
@@ -628,22 +666,20 @@ bool EffectNyquist::ProcessOne()
                  nyx_get_int());
       wxMessageBox(str, wxT("Nyquist"),
                    wxOK | wxCENTRE, mParent);
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return true;
    }
 
    if (rval == nyx_labels) {
-      int numLabels = nyx_get_num_labels();
-      int l;
+      unsigned int numLabels = nyx_get_num_labels();
+      unsigned int l;
       LabelTrack *ltrack = NULL;
 
       TrackListIterator iter(mTracks);
-      Track *t = iter.First();
-      while(t && !ltrack) {
-         if (t->GetKind() == Track::Label)
+      for (Track *t = iter.First(); t; t = iter.Next()) {
+         if (t->GetKind() == Track::Label) {
             ltrack = (LabelTrack *)t;
-         t = iter.Next();
+            break;
+         }
       }
       
       if (!ltrack) {
@@ -651,7 +687,7 @@ bool EffectNyquist::ProcessOne()
          mTracks->Add((Track *)ltrack);
       }
 
-      for(l=0; l<numLabels; l++) {
+      for (l = 0; l < numLabels; l++) {
          double t0, t1;
          const char *str;
 
@@ -659,17 +695,12 @@ bool EffectNyquist::ProcessOne()
 
          ltrack->AddLabel(t0 + mT0, t1 + mT0, LAT1CTOWX(str));
       }
-
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return true;
    }
 
    if (rval != nyx_audio) {
       wxMessageBox(_("Nyquist did not return audio.\n"), wxT("Nyquist"),
                    wxOK | wxCENTRE, mParent);
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return false;
    }
    
@@ -680,17 +711,16 @@ bool EffectNyquist::ProcessOne()
       wxMessageBox(_("Nyquist returned too many audio channels.\n"),
                    wxT("Nyquist"),
                    wxOK | wxCENTRE, mParent);
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return false;
    }
 
    double rate = mCurTrack[0]->GetRate();
-   for(i=0; i<outChannels; i++) {
+   for (i = 0; i < outChannels; i++) {
       sampleFormat format = mCurTrack[i]->GetSampleFormat();
 
-      if (outChannels == mCurNumChannels)
+      if (outChannels == mCurNumChannels) {
          rate = mCurTrack[i]->GetRate();
+      }
 
       mOutputTrack[i] = mFactory->NewWaveTrack(format, rate);
       mCurBuffer[i] = NULL;
@@ -699,48 +729,172 @@ bool EffectNyquist::ProcessOne()
    int success = nyx_get_audio(StaticPutCallback, (void *)this);
 
    if (!success) {
-      for(i=0; i<outChannels; i++) {
+      for(i = 0; i < outChannels; i++) {
          delete mOutputTrack[i];
          mOutputTrack[i] = NULL;
       }
-
-      nyx_cleanup();
-      setlocale(LC_NUMERIC, "");
       return false;
    }
 
-   for(i=0; i<outChannels; i++) {
+   for (i = 0; i < outChannels; i++) {
       mOutputTrack[i]->Flush();
-      if (mCurBuffer[i])
+      if (mCurBuffer[i]) {
          DeleteSamples(mCurBuffer[i]);
+      }
       mOutputTime = mOutputTrack[i]->GetEndTime();
    }
 
-   for(i=0; i<mCurNumChannels; i++) {
+   for (i = 0; i < mCurNumChannels; i++) {
       WaveTrack *out;
 
-      if (outChannels == mCurNumChannels)
+      if (outChannels == mCurNumChannels) {
          out = mOutputTrack[i];
-      else
+      }
+      else {
          out = mOutputTrack[0];
+      }
 
-      mCurTrack[i]->HandleClear(mT0, mT1, false, false);
-      mCurTrack[i]->HandlePaste(mT0, out);
+      mCurTrack[i]->ClearAndPaste(mT0, mT1, out);
    }
 
-   for(i=0; i<outChannels; i++) {
+   for (i = 0; i < outChannels; i++) {
       delete mOutputTrack[i];
       mOutputTrack[i] = NULL;
    }
 
-   nyx_cleanup();
-
-   // Reset locale
-   setlocale(LC_NUMERIC, "");
-   
    return true;
 }
 
+int EffectNyquist::StaticGetCallback(float *buffer, int channel,
+                                     long start, long len, long totlen,
+                                     void *userdata)
+{
+   EffectNyquist *This = (EffectNyquist *)userdata;
+   return This->GetCallback(buffer, channel, start, len, totlen);
+}
+
+int EffectNyquist::GetCallback(float *buffer, int ch,
+                               long start, long len, long totlen)
+{
+   if (mCurBuffer[ch]) {
+      if ((mCurStart[ch] + start) < mCurBufferStart[ch] ||
+          (mCurStart[ch] + start)+len >
+          mCurBufferStart[ch]+mCurBufferLen[ch]) {
+         delete[] mCurBuffer[ch];
+         mCurBuffer[ch] = NULL;
+      }
+   }
+
+   if (!mCurBuffer[ch]) {
+      mCurBufferStart[ch] = (mCurStart[ch] + start);
+      mCurBufferLen[ch] = mCurTrack[ch]->GetBestBlockSize(mCurBufferStart[ch]);
+
+      if (mCurBufferLen[ch] < len) {
+         mCurBufferLen[ch] = mCurTrack[ch]->GetIdealBlockSize();
+      }
+
+      if (mCurBufferStart[ch] + mCurBufferLen[ch] > mCurStart[ch] + mCurLen) {
+         mCurBufferLen[ch] = mCurStart[ch] + mCurLen - mCurBufferStart[ch];
+      }
+
+      mCurBuffer[ch] = NewSamples(mCurBufferLen[ch], floatSample);
+      if (!mCurTrack[ch]->Get(mCurBuffer[ch], floatSample,
+                              mCurBufferStart[ch], mCurBufferLen[ch])) {
+
+         wxPrintf(wxT("GET error\n"));
+
+         return -1;
+      }
+   }
+
+   long offset = (mCurStart[ch] + start) - mCurBufferStart[ch];
+   CopySamples(mCurBuffer[ch] + offset*SAMPLE_SIZE(floatSample), floatSample,
+               (samplePtr)buffer, floatSample,
+               len);
+
+   if (ch == 0) {
+      double progress = mScale*(((float)start+len)/mCurLen);
+
+      if (progress > mProgressIn) {
+         mProgressIn = progress;
+      }
+
+      if (TotalProgress(mProgressIn+mProgressTot)) {
+         return -1;
+      }
+   }
+
+   return 0;
+}
+
+int EffectNyquist::StaticPutCallback(float *buffer, int channel,
+                                     long start, long len, long totlen,
+                                     void *userdata)
+{
+   EffectNyquist *This = (EffectNyquist *)userdata;
+   return This->PutCallback(buffer, channel, start, len, totlen);
+}
+
+int EffectNyquist::PutCallback(float *buffer, int channel,
+                               long start, long len, long totlen)
+{
+   if (channel == 0) {
+      double progress = mScale*((float)(start+len)/totlen);
+
+      if (progress > mProgressOut) {
+         mProgressOut = progress;
+      }
+
+      if (TotalProgress(mProgressIn+mProgressOut+mProgressTot)) {
+         return -1;
+      }
+   }
+
+   if (mOutputTrack[channel]->Append((samplePtr)buffer, floatSample, len)) {
+      return 0;  // success
+   }
+
+   return -1; // failure
+}
+
+void EffectNyquist::StaticOutputCallback(int c, void *This)
+{
+   ((EffectNyquist *)This)->OutputCallback(c);
+}
+
+void EffectNyquist::OutputCallback(int c)
+{
+   if (mDebug && !mExternal) {
+      mDebugOutput += (char)c;
+      return;
+   }
+
+   std::cout << (char)c;
+}
+
+void EffectNyquist::StaticOSCallback(void *This)
+{
+   ((EffectNyquist *)This)->OSCallback();
+}
+
+void EffectNyquist::OSCallback()
+{
+   if (mStop) {
+      mStop = false;
+      nyx_stop();
+   }
+   else if (mBreak) {
+      mBreak = false;
+      nyx_break();
+   }
+   else if (mCont) {
+      mCont = false;
+      nyx_continue();
+   }
+
+   wxYieldIfNeeded();
+}
+
 /**********************************************************/
 
 #define ID_NYQ_SLIDER 2000
@@ -778,13 +932,12 @@ NyquistDialog::NyquistDialog(wxWindow * parent, wxWindowID id,
 
    wxFlexGridSizer *grid = new wxFlexGridSizer(4, 0, 0);
 
-   for(unsigned int i=0; i<mControls->GetCount(); i++) {
+   for (size_t i = 0; i < mControls->GetCount(); i++) {
       wxControl  *item;
       NyqControl *ctrl = &((*mControls)[i]);
 
       item = new wxStaticText(this, -1, ctrl->name + wxT(":"));
-      grid->Add(item, 0, wxALIGN_RIGHT | 
-                wxALIGN_CENTER_VERTICAL | wxALL, 5);
+      grid->Add(item, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 5);
 
       if (ctrl->type == NYQ_CTRL_STRING) {
          grid->Add(10, 10);
@@ -792,76 +945,70 @@ NyquistDialog::NyquistDialog(wxWindow * parent, wxWindowID id,
          item = new wxTextCtrl(this, ID_NYQ_TEXT+i, ctrl->valStr,
                                wxDefaultPosition, wxSize(150, -1));
          item->SetName(ctrl->name);
-         grid->Add(item, 0, wxALIGN_CENTRE |
-                   wxALIGN_CENTER_VERTICAL | wxALL, 5);
+         grid->Add(item, 0, wxALIGN_CENTRE | wxALIGN_CENTER_VERTICAL | wxALL, 5);
       }
-      else if( ctrl->type == NYQ_CTRL_CHOICE )
-      {
+      else if (ctrl->type == NYQ_CTRL_CHOICE) {
          //str is coma separated labels for each choice
          wxString str = ctrl->label;
          wxArrayString choices;
          
-         while( 1 )
-         {       
+         while (1) {
             int ci = str.Find( ',' ); //coma index
-            
-            if( ci == -1 )
-            {
+
+            if (ci == -1) {
                choices.Add( str );
                break;
             }
-            else
-               choices.Add( str.Left( ci ) );
+            else {
+               choices.Add(str.Left(ci));
+            }
             
-            str = str.Right( str.length() - ci - 1 );
+            str = str.Right(str.length() - ci - 1);
          }
 
-         wxChoice *choice = new wxChoice( this, ID_NYQ_CHOICE + i, 
-               wxDefaultPosition, wxSize( 150, -1 ), choices );
+         wxChoice *choice = new wxChoice(this, ID_NYQ_CHOICE + i, 
+               wxDefaultPosition, wxSize(150, -1), choices);
          choice->SetName(ctrl->name);
          
-         int val = ( int )ctrl->val;
-         if( val >= 0 && val < (int)choice->GetCount() )
-            choice->SetSelection( val );
+         int val = (int)ctrl->val;
+         if (val >= 0 && val < (int)choice->GetCount()) {
+            choice->SetSelection(val);
+         }
         
-         grid->Add( 10, 10 );
-         grid->Add( choice, 0, wxALIGN_CENTRE | 
-               wxALIGN_CENTER_VERTICAL | wxALL, 5 );
+         grid->Add(10, 10);
+         grid->Add(choice, 0, wxALIGN_CENTRE | wxALIGN_CENTER_VERTICAL | wxALL, 5);
       }
       else {
          // Integer or Real
-         int val = (int)(0.5 + ctrl->ticks * (ctrl->val - ctrl->low)/
+         int val = (int)(0.5 + ctrl->ticks * (ctrl->val - ctrl->low) /
                (ctrl->high - ctrl->low));
 
          item = new wxTextCtrl(this, ID_NYQ_TEXT+i, wxT(""),
                                wxDefaultPosition, wxSize(60, -1));
          item->SetName(ctrl->name);
 
-         grid->Add(item, 0, wxALIGN_CENTRE |
-                   wxALIGN_CENTER_VERTICAL | wxALL, 5);
+         grid->Add(item, 0, wxALIGN_CENTRE | wxALIGN_CENTER_VERTICAL | wxALL, 5);
          
          item = new wxSlider(this, ID_NYQ_SLIDER+i, val, 0, ctrl->ticks,
                              wxDefaultPosition, wxSize(150, -1));
          item->SetName(ctrl->name);
 
-         grid->Add(item, 0, wxALIGN_CENTRE |
-                   wxALIGN_CENTER_VERTICAL | wxALL, 5);
+         grid->Add(item, 0, wxALIGN_CENTRE | wxALIGN_CENTER_VERTICAL | wxALL, 5);
       }
          
-      if( ctrl->type == NYQ_CTRL_CHOICE )
-      {
+      if (ctrl->type == NYQ_CTRL_CHOICE) {
          grid->Add( 10, 10 );
       }
-      else
-      {
+      else {
          item = new wxStaticText(this, -1, ctrl->label);
-         grid->Add(item, 0, wxALIGN_LEFT | 
-                   wxALIGN_CENTER_VERTICAL | wxALL, 5);
+         grid->Add(item, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5);
       }
    }
    mainSizer->Add(grid, 0, wxALIGN_CENTRE | wxALL, 5);
 
-   mainSizer->Add(CreateStdButtonSizer(this, eDebugButton|eCancelButton|eOkButton), 0, wxEXPAND);
+   mainSizer->Add(CreateStdButtonSizer(this, eDebugButton | eCancelButton | eOkButton),
+                  0,
+                  wxEXPAND);
 
    mInHandler = false;
 
@@ -876,15 +1023,18 @@ NyquistDialog::NyquistDialog(wxWindow * parent, wxWindowID id,
 
 void NyquistDialog::OnSlider(wxCommandEvent & /* event */)
 {
-   if (mInHandler)
+   if (mInHandler) {
       return; // prevent recursing forever
+   }
+
    mInHandler = true;
 
-   for(unsigned int i=0; i<mControls->GetCount(); i++) {
+   for (size_t i = 0; i < mControls->GetCount(); i++) {
       NyqControl *ctrl = &((*mControls)[i]);
 
-      if (ctrl->type == NYQ_CTRL_STRING || ctrl->type == NYQ_CTRL_CHOICE )
+      if (ctrl->type == NYQ_CTRL_STRING || ctrl->type == NYQ_CTRL_CHOICE) {
          continue;
+      }
 
       wxSlider *slider = (wxSlider *)FindWindow(ID_NYQ_SLIDER + i);
       wxTextCtrl *text = (wxTextCtrl *)FindWindow(ID_NYQ_TEXT + i);
@@ -896,20 +1046,26 @@ void NyquistDialog::OnSlider(wxCommandEvent & /* event */)
       
       wxString valStr;
       if (ctrl->type == NYQ_CTRL_REAL) {
-         if (ctrl->high - ctrl->low < 1)
+         if (ctrl->high - ctrl->low < 1) {
             valStr = Internat::ToDisplayString(ctrl->val, 3);
-         else if (ctrl->high - ctrl->low < 10)
+         }
+         else if (ctrl->high - ctrl->low < 10) {
             valStr = Internat::ToDisplayString(ctrl->val, 2);
-         else if (ctrl->high - ctrl->low < 100)
+         }
+         else if (ctrl->high - ctrl->low < 100) {
             valStr = Internat::ToDisplayString(ctrl->val, 1);
-         else
+         }
+         else {
             valStr.Printf(wxT("%d"), (int)floor(ctrl->val + 0.5));
+         }
       }
-      else if (ctrl->type == NYQ_CTRL_INT)
+      else if (ctrl->type == NYQ_CTRL_INT) {
          valStr.Printf(wxT("%d"), (int)floor(ctrl->val + 0.5));
+      }
 
-      if (valStr != wxT(""))
+      if (valStr != wxT("")) {
          text->SetValue(valStr);
+      }
    }
 
    mInHandler = false;
@@ -917,16 +1073,17 @@ void NyquistDialog::OnSlider(wxCommandEvent & /* event */)
 
 void NyquistDialog::OnChoice( wxCommandEvent &event )
 {
-   if( mInHandler )
+   if (mInHandler) {
       return; // prevent recursing forever
+   }
    mInHandler = true;
 
    unsigned int ctrlId = event.GetId() - ID_NYQ_CHOICE;
-   wxASSERT( ctrlId >= 0 && ctrlId < mControls->GetCount() );
+   wxASSERT(ctrlId >= 0 && ctrlId < mControls->GetCount());
    
-   NyqControl *ctrl = &( mControls->Item( ctrlId ) );
-   wxChoice *choice = ( wxChoice * )FindWindow( ID_NYQ_CHOICE + ctrlId );
-   wxASSERT( choice );
+   NyqControl *ctrl = &(mControls->Item(ctrlId));
+   wxChoice *choice = (wxChoice *)FindWindow(ID_NYQ_CHOICE + ctrlId);
+   wxASSERT(choice);
 
    ctrl->val = choice->GetSelection();
 
@@ -935,32 +1092,35 @@ void NyquistDialog::OnChoice( wxCommandEvent &event )
 
 void NyquistDialog::OnText(wxCommandEvent &event)
 {
-   if (mInHandler)
+   if (mInHandler) {
       return; // prevent recursing forever
+   }
+
    mInHandler = true;
 
    unsigned int ctrlId = event.GetId() - ID_NYQ_TEXT;
-   wxASSERT( ctrlId >= 0 && ctrlId < mControls->GetCount() );
+   wxASSERT(ctrlId >= 0 && ctrlId < mControls->GetCount());
 
-   NyqControl *ctrl = &((*mControls)[ ctrlId ]);
+   NyqControl *ctrl = &((*mControls)[ctrlId]);
    wxTextCtrl *text = (wxTextCtrl *)FindWindow(ID_NYQ_TEXT + ctrlId);
    wxASSERT(text);
 
    ctrl->valStr = text->GetValue();
 
-   if( ctrl->type != NYQ_CTRL_STRING )
-   {
+   if (ctrl->type != NYQ_CTRL_STRING) {
       wxSlider *slider = (wxSlider *)FindWindow(ID_NYQ_SLIDER + ctrlId);
       wxASSERT(slider);
 
-      if (ctrl->valStr.ToDouble(&ctrl->val))
-      {
+      if (ctrl->valStr.ToDouble(&ctrl->val)) {
          int pos = (int)floor((ctrl->val - ctrl->low) /
                               (ctrl->high - ctrl->low) * ctrl->ticks + 0.5);
-         if (pos < 0)
+         if (pos < 0) {
             pos = 0;
-         if (pos > ctrl->ticks)
+         }
+         else if (pos > ctrl->ticks) {
             pos = ctrl->ticks;
+         }
+
          slider->SetValue(pos);
       }
    }   
@@ -999,14 +1159,13 @@ NyquistInputDialog::NyquistInputDialog(wxWindow * parent, wxWindowID id,
                                        const wxString & title,
                                        const wxString & prompt,
                                        wxString initialCommand)
-   :wxDialog(parent, id, title)
+:  wxDialog(parent, id, title)
 {
    wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
    wxControl  *item;
 
    item = new wxStaticText(this, -1, prompt);
-   mainSizer->Add(item, 0, wxALIGN_LEFT |
-                  wxLEFT | wxTOP | wxRIGHT, 10);
+   mainSizer->Add(item, 0, wxALIGN_LEFT | wxLEFT | wxTOP | wxRIGHT, 10);
 
    mCommandText = new wxTextCtrl(this, -1, initialCommand,
                                  wxDefaultPosition, wxSize(400, 200),
@@ -1058,7 +1217,7 @@ NyquistOutputDialog::NyquistOutputDialog(wxWindow * parent, wxWindowID id,
                                        const wxString & title,
                                        const wxString & prompt,
                                        wxString message)
-   :wxDialog(parent, id, title)
+:  wxDialog(parent, id, title)
 {
    wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
    wxBoxSizer *hSizer;
@@ -1066,8 +1225,7 @@ NyquistOutputDialog::NyquistOutputDialog(wxWindow * parent, wxWindowID id,
    wxControl  *item;
 
    item = new wxStaticText(this, -1, prompt);
-   mainSizer->Add(item, 0, wxALIGN_LEFT | 
-                  wxLEFT | wxTOP | wxRIGHT, 10);
+   mainSizer->Add(item, 0, wxALIGN_LEFT | wxLEFT | wxTOP | wxRIGHT, 10);
 
    item = new wxTextCtrl(this, -1, message,
                          wxDefaultPosition, wxSize(400, 200),
@@ -1080,8 +1238,7 @@ NyquistOutputDialog::NyquistOutputDialog(wxWindow * parent, wxWindowID id,
    button->SetDefault();
    hSizer->Add(button, 0, wxALIGN_CENTRE | wxALL, 5);
 
-   mainSizer->Add(hSizer, 0, wxALIGN_CENTRE |
-                  wxLEFT | wxBOTTOM | wxRIGHT, 5);
+   mainSizer->Add(hSizer, 0, wxALIGN_CENTRE | wxLEFT | wxBOTTOM | wxRIGHT, 5);
 
    SetAutoLayout(true);
    SetSizer(mainSizer);
diff --git a/src/effects/nyquist/Nyquist.h b/src/effects/nyquist/Nyquist.h
index 33ab20f..efa971d 100644
--- a/src/effects/nyquist/Nyquist.h
+++ b/src/effects/nyquist/Nyquist.h
@@ -26,9 +26,10 @@
 
 #include "nyx.h"
 
-class WaveTrack;
+#include <string>
 
-class NyqControl {
+class NyqControl
+{
  public:
    wxString var;
    wxString name;
@@ -42,12 +43,16 @@ class NyqControl {
    double high;
    int ticks;
 };
+#define NYQ_CTRL_INT 0
+#define NYQ_CTRL_REAL 1
+#define NYQ_CTRL_STRING 2
+#define NYQ_CTRL_CHOICE 3
 
-WX_DECLARE_OBJARRAY(NyqControl, NyqControlArray);
+WX_DECLARE_USER_EXPORTED_OBJARRAY(NyqControl,  NyqControlArray, AUDACITY_DLL_API);
 
-class EffectNyquist: public Effect {
-
-public:
+class AUDACITY_DLL_API EffectNyquist:public Effect
+{
+ public:
    
    EffectNyquist(wxString fname);
    virtual ~EffectNyquist();
@@ -58,12 +63,23 @@ public:
       return mOK;
    }
 
+   void Continue();
+   void Break();
+   void Stop();
+
+   void SetCommand(wxString cmd);
+   wxString GetOutput();
+
    virtual wxString GetEffectName() {
       return mName;
    }
    
    virtual std::set<wxString> GetEffectCategories() {
-      return mCategories;
+      std::set<wxString> cats;
+      for (size_t i = 0; i < mCategories.GetCount(); i++) {
+         cats.insert(mCategories[i]);
+      }
+      return cats;
    }
 
    virtual wxString GetEffectIdentifier() {
@@ -92,13 +108,10 @@ public:
    virtual bool PromptUser();
    
    virtual bool Process();
-   
-private:
-   
-   int GetCallback(float *buffer, int channel,
-                   long start, long len, long totlen);
-   int PutCallback(float *buffer, int channel,
-                   long start, long len, long totlen);
+
+ private:
+
+   bool ProcessOne();
 
    static int StaticGetCallback(float *buffer, int channel,
                                 long start, long len, long totlen,
@@ -106,52 +119,68 @@ private:
    static int StaticPutCallback(float *buffer, int channel,
                                 long start, long len, long totlen,
                                 void *userdata);
+   static void StaticOutputCallback(int c, void *userdata);
+   static void StaticOSCallback(void *userdata);
 
-   bool       ProcessOne();
-
-   void       Parse(wxString line);
-   void       ParseFile();
-   wxString   UnQuote(wxString s);
-   double     GetCtrlValue(wxString s);
-
-   static wxString  mXlispPath;
-
-   wxFileName       mFileName;
-   wxDateTime       mFileModified;
-
-   bool             mInteractive;
-   bool             mOK;
-   wxString         mCmd;
-   wxString         mName;
-   wxString         mAction;
-   wxString         mInfo;
-   bool             mDebug;
-   wxString         mDebugOutput;
-
-   NyqControlArray  mControls;
-
-   int              mCurNumChannels;
-   WaveTrack       *mCurTrack[2];
-   sampleCount      mCurStart[2];
-   sampleCount      mCurLen;
-   double           mOutputTime;
-   int              mCount;
-   double           mProgressIn;
-   double           mProgressOut;
-   double           mProgressTot;
-   double           mScale;
-
-   samplePtr        mCurBuffer[2];
-   sampleCount      mCurBufferStart[2];
-   sampleCount      mCurBufferLen[2];
-
-   WaveTrack       *mOutputTrack[2];
-   
-   std::set<wxString> mCategories;
-   
+   int GetCallback(float *buffer, int channel,
+                   long start, long len, long totlen);
+   int PutCallback(float *buffer, int channel,
+                   long start, long len, long totlen);
+   void OutputCallback(int c);
+   void OSCallback();
+
+   void Parse(wxString line);
+   void ParseFile();
+   wxString UnQuote(wxString s);
+   double GetCtrlValue(wxString s);
+
+ private:
+
+   wxString          mXlispPath;
+
+   wxFileName        mFileName;
+   wxDateTime        mFileModified;
+
+   bool              mStop;
+   bool              mBreak;
+   bool              mCont;
+
+   bool              mCompiler;
+   bool              mIsSal;
+   bool              mExternal;
+   bool              mInteractive;
+   bool              mOK;
+   wxString          mCmd;
+   wxString          mName;
+   wxString          mAction;
+   wxString          mInfo;
+   bool              mDebug;
+   std::string       mDebugOutput;
+
+   NyqControlArray   mControls;
+
+   int               mCurNumChannels;
+   WaveTrack         *mCurTrack[2];
+   sampleCount       mCurStart[2];
+   sampleCount       mCurLen;
+   double            mOutputTime;
+   int               mCount;
+   double            mProgressIn;
+   double            mProgressOut;
+   double            mProgressTot;
+   double            mScale;
+
+   samplePtr         mCurBuffer[2];
+   sampleCount       mCurBufferStart[2];
+   sampleCount       mCurBufferLen[2];
+
+   WaveTrack         *mOutputTrack[2];
+
+   wxArrayString     mCategories;
 };
 
-class NyquistDialog:public wxDialog {
+class NyquistDialog:public wxDialog
+{
  public:
    // constructors and destructors
    NyquistDialog(wxWindow * parent, wxWindowID id,
@@ -175,7 +204,8 @@ class NyquistDialog:public wxDialog {
 
 };
 
-class NyquistInputDialog:public wxDialog {
+class NyquistInputDialog:public wxDialog
+{
  public:
    NyquistInputDialog(wxWindow * parent, wxWindowID id,
                       const wxString & title,
@@ -195,7 +225,8 @@ class NyquistInputDialog:public wxDialog {
    DECLARE_EVENT_TABLE()
 };
 
-class NyquistOutputDialog:public wxDialog {
+class NyquistOutputDialog:public wxDialog
+{
  public:
    NyquistOutputDialog(wxWindow * parent, wxWindowID id,
                        const wxString & title,
diff --git a/src/effects/vamp/VampEffect.cpp b/src/effects/vamp/VampEffect.cpp
index 070c2e6..a621da9 100644
--- a/src/effects/vamp/VampEffect.cpp
+++ b/src/effects/vamp/VampEffect.cpp
@@ -42,14 +42,15 @@ VampEffect::VampEffect(Vamp::HostExt::PluginLoader::PluginKey key,
    mName(name),
    mRate(0),
    mCategory(category),
-   mPlugin(0)
+   mPlugin(NULL)
 {
+   SetEffectFlags(PLUGIN_EFFECT | ANALYZE_EFFECT);
 }
 
 VampEffect::~VampEffect()
 {
    delete mPlugin;
-   mPlugin = 0;
+   mPlugin = NULL;
 }
 
 wxString VampEffect::GetEffectName()
@@ -81,11 +82,6 @@ wxString VampEffect::GetEffectAction()
                            GetEffectName().c_str());
 }
 
-int VampEffect::GetEffectFlags()
-{
-   return PLUGIN_EFFECT | ANALYZE_EFFECT;
-}
-
 bool VampEffect::Init()
 {
    Vamp::HostExt::PluginLoader *loader =
@@ -94,7 +90,7 @@ bool VampEffect::Init()
    delete mPlugin;
    mPlugin = 0;
 
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
    WaveTrack *left = (WaveTrack *)iter.First();
 
    mRate = 0.0;
@@ -143,31 +139,11 @@ bool VampEffect::PromptUser()
    return true;
 }
 
-void VampEffect::GetSamples(WaveTrack *track,
-                            sampleCount *start,
-                            sampleCount *len)
-{
-   double trackStart = track->GetStartTime();
-   double trackEnd = track->GetEndTime();
-   double t0 = mT0 < trackStart ? trackStart : mT0;
-   double t1 = mT1 > trackEnd ? trackEnd : mT1;
-
-   if (t1 > t0) {
-      *start = track->TimeToLongSamples(t0);
-      sampleCount end = track->TimeToLongSamples(t1);
-      *len = (sampleCount)(end - *start);
-   }
-   else {
-      *start = 0;
-      *len  = 0;
-   }
-}
-
 bool VampEffect::Process()
 {
    if (!mPlugin) return false;
 
-   TrackListIterator iter(mWaveTracks);
+   TrackListOfKindIterator iter(Track::Wave, mTracks);
 
    int count = 0;
 
@@ -176,9 +152,7 @@ bool VampEffect::Process()
    bool multiple = false;
    int prevTrackChannels = 0;
 
-   TrackListIterator scooter(iter);
-   if (left->GetLinked()) scooter.Next();      
-   if (scooter.Next()) {
+   if (GetNumWaveGroups() > 1) {
       // if there is another track beyond this one and any linked one,
       // then we're processing more than one track.  That means we
       // should use the originating track name in each new label
@@ -188,7 +162,7 @@ bool VampEffect::Process()
 
    while (left) {
 
-      sampleCount lstart, rstart;
+      sampleCount lstart, rstart = 0;
       sampleCount len;
       GetSamples(left, &lstart, &len);
       
diff --git a/src/effects/vamp/VampEffect.h b/src/effects/vamp/VampEffect.h
index 1390e8e..f0f128d 100644
--- a/src/effects/vamp/VampEffect.h
+++ b/src/effects/vamp/VampEffect.h
@@ -45,8 +45,6 @@ class VampEffect : public Effect {
 
    virtual wxString GetEffectAction();
 
-   virtual int GetEffectFlags();
-
    virtual bool Init();
 
    virtual bool PromptUser();
@@ -69,10 +67,6 @@ class VampEffect : public Effect {
    
    Vamp::Plugin *mPlugin;
 
-   void GetSamples(WaveTrack *track,
-                   sampleCount *start,
-                   sampleCount *len);
-
    void AddFeatures(LabelTrack *track,
                     Vamp::Plugin::FeatureSet &features);
 };
diff --git a/src/export/Export.cpp b/src/export/Export.cpp
index 42bdad1..8ede51f 100644
--- a/src/export/Export.cpp
+++ b/src/export/Export.cpp
@@ -85,6 +85,7 @@ static void ExportCallback(void *cbdata, int index)
 #include <wx/arrimpl.cpp>
 
 WX_DEFINE_OBJARRAY(ExportPluginArray);
+WX_DEFINE_OBJARRAY(FormatInfoArray);
 
 ExportPlugin::ExportPlugin()
 {
@@ -93,7 +94,7 @@ ExportPlugin::ExportPlugin()
 
 ExportPlugin::~ExportPlugin()
 {
-   mFormatInfos.Empty();
+   mFormatInfos.Clear();
 }
 
 bool ExportPlugin::CheckFileName(wxFileName &filename, int format)
@@ -110,7 +111,7 @@ bool ExportPlugin::CheckFileName(wxFileName &filename, int format)
  */
 int ExportPlugin::AddFormat()
 {
-   FormatInfo *nf = new FormatInfo();
+   FormatInfo nf;
    mFormatInfos.Add(nf);
    return mFormatInfos.Count();
 }
@@ -131,63 +132,63 @@ void ExportPlugin::Destroy()
  */
 void ExportPlugin::SetFormat(const wxString & format, int index)
 {
-   mFormatInfos[index]->mFormat = format;
+   mFormatInfos[index].mFormat = format;
 }
 
 void ExportPlugin::SetDescription(const wxString & description, int index)
 {
-   mFormatInfos[index]->mDescription = description;
+   mFormatInfos[index].mDescription = description;
 }
 
 void ExportPlugin::AddExtension(const wxString &extension,int index)
 {
-   mFormatInfos[index]->mExtensions.Add(extension);
+   mFormatInfos[index].mExtensions.Add(extension);
 }
 
 void ExportPlugin::SetExtensions(const wxArrayString & extensions, int index)
 {
-   mFormatInfos[index]->mExtensions = extensions;
+   mFormatInfos[index].mExtensions = extensions;
 }
 
 void ExportPlugin::SetMask(const wxString & mask, int index)
 {
-   mFormatInfos[index]->mMask = mask;
+   mFormatInfos[index].mMask = mask;
 }
 
 void ExportPlugin::SetMaxChannels(int maxchannels, int index)
 {
-   mFormatInfos[index]->mMaxChannels = maxchannels;
+   mFormatInfos[index].mMaxChannels = maxchannels;
 }
 
 void ExportPlugin::SetCanMetaData(bool canmetadata, int index)
 {
-   mFormatInfos[index]->mCanMetaData = canmetadata;
+   mFormatInfos[index].mCanMetaData = canmetadata;
 }
 
 wxString ExportPlugin::GetFormat(int index)
 {
-   return mFormatInfos[index]->mFormat;
+   return mFormatInfos[index].mFormat;
 }
 
 wxString ExportPlugin::GetDescription(int index)
 {
-   return mFormatInfos[index]->mDescription;
+   return mFormatInfos[index].mDescription;
 }
 
 wxString ExportPlugin::GetExtension(int index)
 {
-   return mFormatInfos[index]->mExtensions[0];
+   return mFormatInfos[index].mExtensions[0];
 }
 
 wxArrayString ExportPlugin::GetExtensions(int index)
 {
-   return mFormatInfos[index]->mExtensions;
+   return mFormatInfos[index].mExtensions;
 }
 
 wxString ExportPlugin::GetMask(int index)
 {
-   if (!mFormatInfos[index]->mMask.IsEmpty()) {
-      return mFormatInfos[index]->mMask;
+   if (!mFormatInfos[index].mMask.IsEmpty()) {
+      return mFormatInfos[index].mMask;
    }
 
    wxString mask = GetDescription(index) + wxT("|");
@@ -207,12 +208,12 @@ wxString ExportPlugin::GetMask(int index)
 
 int ExportPlugin::GetMaxChannels(int index)
 {
-   return mFormatInfos[index]->mMaxChannels;
+   return mFormatInfos[index].mMaxChannels;
 }
 
 bool ExportPlugin::GetCanMetaData(int index)
 {
-   return mFormatInfos[index]->mCanMetaData;
+   return mFormatInfos[index].mCanMetaData;
 }
 
 bool ExportPlugin::IsExtension(wxString & ext, int index)
@@ -234,7 +235,7 @@ bool ExportPlugin::DisplayOptions(wxWindow *parent, int format)
    return false;
 }
 
-bool ExportPlugin::Export(AudacityProject *project,
+int ExportPlugin::Export(AudacityProject *project,
                           int channels,
                           wxString fName,
                           bool selectedOnly,
@@ -251,7 +252,7 @@ bool ExportPlugin::Export(AudacityProject *project,
   return DoExport(project, channels, fName, selectedOnly, t0, t1, mixerSpec, subformat);
 }
 
-bool ExportPlugin::DoExport(AudacityProject *project,
+int ExportPlugin::DoExport(AudacityProject *project,
                             int channels,
                             wxString fName,
                             bool selectedOnly,
@@ -267,8 +268,6 @@ bool ExportPlugin::DoExport(AudacityProject *project,
 // Export
 //----------------------------------------------------------------------------
 
-WX_DEFINE_OBJARRAY(FormatInfoArray);
-
 Exporter::Exporter()
 {
    mMixerSpec = NULL;
@@ -414,8 +413,8 @@ bool Exporter::ExamineTracks()
    // Tally how many are right, left, mono, and make sure at
    // least one track is selected (if selectedOnly==true)
 
-   float earliestBegin = mT1;
-   float latestEnd = mT0;
+   double earliestBegin = mT1;
+   double latestEnd = mT0;
 
    TrackList *tracks = mProject->GetTracks();
    TrackListIterator iter1(tracks);
@@ -748,7 +747,7 @@ bool Exporter::CheckMix()
 
 bool Exporter::ExportTracks()
 {
-   bool success;
+   int success;
 
    // Keep original in case of failure
    if (mActualName != mFilename) {
@@ -767,7 +766,7 @@ bool Exporter::ExportTracks()
 
    if (mActualName != mFilename) {
       // Remove backup
-      if (success) {
+      if (success == eProgressSuccess || success == eProgressStopped) {
          ::wxRemoveFile(mFilename.GetFullPath());
       }
       else {
@@ -777,7 +776,7 @@ bool Exporter::ExportTracks()
       }
    }
 
-   return success;
+   return (success == eProgressSuccess || success == eProgressStopped);
 }
 
 //----------------------------------------------------------------------------
@@ -810,6 +809,10 @@ ExportMixerPanel::~ExportMixerPanel()
 {
    delete[] mTrackRects;
    delete[] mChannelRects;
+
+   if (mBitmap) {
+      delete mBitmap;
+   }
 }
 
 //set the font on memDC such that text can fit in specified width and height
@@ -947,7 +950,7 @@ void ExportMixerPanel::OnPaint(wxPaintEvent & evt)
    for( int i = 0; i < mMixerSpec->GetNumTracks(); i++ )
       for( int j = 0; j < mMixerSpec->GetNumChannels(); j++ )
          if( mMixerSpec->mMap[ i ][ j ] )
-            memDC.DrawLine( mTrackRects[ i ].x + mBoxWidth, 
+            AColor::Line(memDC, mTrackRects[ i ].x + mBoxWidth, 
                   mTrackRects[ i ].y + mTrackHeight / 2, mChannelRects[ j ].x,
                   mChannelRects[ j ].y + mChannelHeight / 2 );
    
@@ -1045,19 +1048,16 @@ ExportMixerDialog::ExportMixerDialog( TrackList *tracks, bool selectedOnly,
 {
    int numTracks = 0;
    TrackListIterator iter( tracks );
-   
+
    for( Track *t = iter.First(); t; t = iter.Next() )
    {
-      if( t->GetKind() == Track::Wave && ( t->GetSelected() || !selectedOnly ) )
+      if( t->GetKind() == Track::Wave && ( t->GetSelected() || !selectedOnly ) && !t->GetMute() )
       {
          numTracks++;
          if( t->GetChannel() == Track::LeftChannel )
-         {
             mTrackNames.Add( t->GetName() + _( " - Left" ) );
+         else if( t->GetChannel() == Track::RightChannel )
             mTrackNames.Add( t->GetName() + _( " - Right" ) );
-            t = iter.Next();
-            numTracks++;
-         }
          else
             mTrackNames.Add( t->GetName() );
       }
diff --git a/src/export/Export.h b/src/export/Export.h
index 3df3408..ee50838 100644
--- a/src/export/Export.h
+++ b/src/export/Export.h
@@ -40,7 +40,7 @@ class FormatInfo
       bool mCanMetaData;
 };
 
-WX_DECLARE_OBJARRAY(FormatInfo *, FormatInfoArray);
+WX_DECLARE_OBJARRAY(FormatInfo, FormatInfoArray);
 
 //----------------------------------------------------------------------------
 // ExportPlugin
@@ -95,7 +95,7 @@ public:
     * libsndfile export plug-in, but with subformat set to 0, 1, and 2
     * respectively.
     */
-   virtual bool Export(AudacityProject *project,
+   virtual int Export(AudacityProject *project,
                        int channels,
                        wxString fName,
                        bool selectedOnly,
@@ -105,7 +105,7 @@ public:
                        Tags *metadata = NULL,
                        int subformat = 0);
 
-   virtual bool DoExport(AudacityProject *project,
+   virtual int DoExport(AudacityProject *project,
                          int channels,
                          wxString fName,
                          bool selectedOnly,
@@ -114,7 +114,7 @@ public:
                          MixerSpec *mixerSpec,
                          int subformat);
 
-protected:
+private:
 
    FormatInfoArray mFormatInfos;
 };
diff --git a/src/export/ExportCL.cpp b/src/export/ExportCL.cpp
index defb850..02dbf2f 100644
--- a/src/export/ExportCL.cpp
+++ b/src/export/ExportCL.cpp
@@ -120,7 +120,7 @@ static void Drain(wxInputStream *s, wxString *o)
       char buffer[4096];
 
       s->Read(buffer, WXSIZEOF(buffer) - 1);
-      buffer[s->LastRead()] = _T('\0');
+      buffer[s->LastRead()] = wxT('\0');
       *o += LAT1CTOWX(buffer);
    }
 }
@@ -198,7 +198,7 @@ public:
    // Required
 
    bool DisplayOptions(wxWindow *parent, int format = 0);
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
                int channels,
                wxString fName,
                bool selectedOnly,
@@ -225,7 +225,7 @@ void ExportCL::Destroy()
    delete this;
 }
 
-bool ExportCL::Export(AudacityProject *project,
+int ExportCL::Export(AudacityProject *project,
                       int channels,
                       wxString fName,
                       bool selectionOnly,
@@ -352,7 +352,7 @@ bool ExportCL::Export(AudacityProject *project,
 
    size_t numBytes = 0;
    samplePtr mixed;
-   bool cancelling = false;
+   int updateResult = eProgressSuccess;
 
    // Prepare the progress display
    ProgressDialog *progress = new ProgressDialog(_("Export"),
@@ -361,7 +361,7 @@ bool ExportCL::Export(AudacityProject *project,
    _("Exporting the entire project using command-line encoder"));
 
    // Start piping the mixed data to the command
-   while (!cancelling && p->IsActive() && os->IsOk()) {
+   while (updateResult == eProgressSuccess && p->IsActive() && os->IsOk()) {
       // Capture any stdout and stderr from the command
       Drain(p->GetInputStream(), &output);
       Drain(p->GetErrorStream(), &output);
@@ -401,7 +401,7 @@ bool ExportCL::Export(AudacityProject *project,
       }
 
       // Update the progress display
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
 
    // Done with the progress display
@@ -444,7 +444,7 @@ bool ExportCL::Export(AudacityProject *project,
    delete[] waveTracks;                            
    delete p;
 
-   return true;
+   return updateResult;
 }
 
 bool ExportCL::DisplayOptions(wxWindow *parent, int format)
diff --git a/src/export/ExportFFmpeg.cpp b/src/export/ExportFFmpeg.cpp
index b1d8b5a..34161bb 100644
--- a/src/export/ExportFFmpeg.cpp
+++ b/src/export/ExportFFmpeg.cpp
@@ -4,7 +4,7 @@
 
    ExportFFmpeg.cpp
 
-   Audacity(R) is copyright (c) 1999-2008 Audacity Team.
+   Audacity(R) is copyright (c) 1999-2009 Audacity Team.
    License: GPL v2.  See License.txt.
 
    LRN
@@ -54,12 +54,30 @@ extern FFmpegLibs *FFmpegLibsInst;
 
 bool CheckFFmpegPresence()
 {
+   bool result = true;
+   PickFFmpegLibs();
    if (!FFmpegLibsInst->ValidLibsLoaded())
    {
-      wxMessageBox(_("Properly configured FFmpeg is required to proceed.\nYou can configure it in Preferences->Import/Export."));
-      return false;
+      wxMessageBox(_("Properly configured FFmpeg is required to proceed.\nYou can configure it at Preferences > Libraries."));
+      result = false;
    }
-   return true;
+   DropFFmpegLibs();
+   return result;
+}
+
+int AdjustFormatIndex(int format)
+{
+   int subFormat = -1;
+   for (int i = 0; i <= FMT_OTHER; i++)
+   {
+      if (fmts[i].compiledIn) subFormat++;
+      if (subFormat == format || i == FMT_OTHER)
+      {
+         subFormat = i;
+         break;
+      }
+   }
+   return subFormat;
 }
 
 //----------------------------------------------------------------------------
@@ -111,7 +129,7 @@ public:
    ///\param metadata tags to write into file
    ///\param subformat index of export type
    ///\return true if export succeded
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
       int channels,
       wxString fName,
       bool selectedOnly,
@@ -130,10 +148,9 @@ private:
    AVCodecContext  *	mEncAudioCodecCtx;		// the encoder for the output audio stream
    uint8_t         *	mEncAudioEncodedBuf;		// buffer to hold frames encoded by the encoder
    int			      mEncAudioEncodedBufSiz;		
-   AVFifoBuffer		mEncAudioFifo;				// FIFO to write incoming audio samples into
+   AVFifoBuffer		 *  mEncAudioFifo;				// FIFO to write incoming audio samples into
    uint8_t         *	mEncAudioFifoOutBuf;		// buffer to read _out_ of the FIFO into
 
-   bool              mCancelled;
    wxString          mName;
 
    int               mSubFormat;
@@ -146,11 +163,35 @@ private:
 ExportFFmpeg::ExportFFmpeg()
 :  ExportPlugin()
 {
-   PickFFmpegLibs();
+   mEncFormatCtx = NULL;			// libavformat's context for our output file
+   mEncFormatDesc = NULL;			// describes our output file to libavformat
+   mEncAudioStream = NULL;			// the output audio stream (may remain NULL)
+   mEncAudioCodecCtx = NULL;		// the encoder for the output audio stream
+   mEncAudioEncodedBuf = NULL;	// buffer to hold frames encoded by the encoder
+   #define MAX_AUDIO_PACKET_SIZE (128 * 1024)
+   mEncAudioEncodedBufSiz = 4*MAX_AUDIO_PACKET_SIZE;
+   mEncAudioFifoOutBuf = NULL;	// buffer to read _out_ of the FIFO into
+   mSampleRate = 0;
+   mSupportsUTF8 = true;
+
+   PickFFmpegLibs(); // DropFFmpegLibs() call is in ExportFFmpeg::Destroy()
    int newfmt;
    // Adds export types from the export type list
    for (newfmt = 0; newfmt < FMT_LAST; newfmt++)
    {
+      wxString shortname(fmts[newfmt].shortname);
+      //Don't hide export types when there's no av-libs, and don't hide FMT_OTHER
+      if (newfmt < FMT_OTHER && FFmpegLibsInst->ValidLibsLoaded())
+      {
+         // Format/Codec support is compiled in?
+         AVOutputFormat *avoformat = FFmpegLibsInst->guess_format(shortname.mb_str(), NULL, NULL);
+         AVCodec *avcodec = FFmpegLibsInst->avcodec_find_encoder(fmts[newfmt].codecid);
+         if (avoformat == NULL || avcodec == NULL)
+         {
+            fmts[newfmt].compiledIn = false;
+            continue;
+         }
+      }
       int fmtindex = AddFormat() - 1;
       SetFormat(fmts[newfmt].name,fmtindex);
       AddExtension(fmts[newfmt].extension,fmtindex);
@@ -159,6 +200,7 @@ ExportFFmpeg::ExportFFmpeg()
       {
       case FMT_M4A:
          AddExtension(wxString(wxT("3gp")),fmtindex);
+         AddExtension(wxString(wxT("m4r")),fmtindex);
          AddExtension(wxString(wxT("mp4")),fmtindex);
          break;
       case FMT_WMA2:
@@ -173,17 +215,6 @@ ExportFFmpeg::ExportFFmpeg()
      SetCanMetaData(fmts[newfmt].canmetadata,fmtindex);
      SetDescription(fmts[newfmt].description,fmtindex);
    }
-
-   mEncFormatCtx = NULL;			// libavformat's context for our output file
-   mEncFormatDesc = NULL;			// describes our output file to libavformat
-   mEncAudioStream = NULL;			// the output audio stream (may remain NULL)
-   mEncAudioCodecCtx = NULL;		// the encoder for the output audio stream
-   mEncAudioEncodedBuf = NULL;	// buffer to hold frames encoded by the encoder
-   #define MAX_AUDIO_PACKET_SIZE (128 * 1024)
-   mEncAudioEncodedBufSiz = 4*MAX_AUDIO_PACKET_SIZE;
-   mEncAudioFifoOutBuf = NULL;	// buffer to read _out_ of the FIFO into
-   mSampleRate = 0;
-   mSupportsUTF8 = true;
 }
 
 void ExportFFmpeg::Destroy()
@@ -194,9 +225,13 @@ void ExportFFmpeg::Destroy()
 
 bool ExportFFmpeg::CheckFileName(wxFileName &filename, int format)
 {
+   bool result = true;
+   int subFormat = AdjustFormatIndex(format);
    if (!CheckFFmpegPresence())
-     return false;
-   return true;
+   {
+      result = false;
+   }
+   return result;
 }
 
 bool ExportFFmpeg::Init(const char *shortname, AudacityProject *project, Tags *metadata)
@@ -213,7 +248,7 @@ bool ExportFFmpeg::Init(const char *shortname, AudacityProject *project, Tags *m
    // See if libavformat has modules that can write our output format. If so, mEncFormatDesc
    // will describe the functions used to write the format (used internally by libavformat)
    // and the default video/audio codecs that the format uses.
-   if ((mEncFormatDesc = FFmpegLibsInst->guess_format(shortname, OSFILENAME(mName), NULL)) == NULL)
+   if ((mEncFormatDesc = FFmpegLibsInst->guess_format(shortname, OSINPUT(mName), NULL)) == NULL)
    {
       wxLogMessage(wxT("FFmpeg : ERROR - Can't determine format description for file \"%s\"."), mName.c_str());
       return false;
@@ -228,8 +263,7 @@ bool ExportFFmpeg::Init(const char *shortname, AudacityProject *project, Tags *m
 
    // Initialise the output format context.
    mEncFormatCtx->oformat = mEncFormatDesc;
-   wxString tName(mName);
-   memcpy(mEncFormatCtx->filename,OSFILENAME(mName),strlen(OSFILENAME(mName))+1);
+   memcpy(mEncFormatCtx->filename, OSINPUT(mName), strlen(OSINPUT(mName))+1);
    
    // At the moment Audacity can export only one audio stream
    if ((mEncAudioStream = FFmpegLibsInst->av_new_stream(mEncFormatCtx, 1)) == NULL)
@@ -244,7 +278,7 @@ bool ExportFFmpeg::Init(const char *shortname, AudacityProject *project, Tags *m
    // Open the output file.
    if (!(mEncFormatDesc->flags & AVFMT_NOFILE))
    {
-      if ((err = FFmpegLibsInst->url_fopen(&mEncFormatCtx->pb, mEncFormatCtx->filename, URL_WRONLY)) < 0)
+      if ((err = ufile_fopen(&mEncFormatCtx->pb, mName, URL_WRONLY)) < 0)
       {
          wxLogMessage(wxT("FFmpeg : ERROR - Can't open output file \"%s\" to write. Error code is %d."), mName.c_str(),err);
          return false;
@@ -310,7 +344,7 @@ bool ExportFFmpeg::InitCodecs(AudacityProject *project)
    mSampleRate = (int)project->GetRate();
    mEncAudioCodecCtx->global_quality = -99999; //quality mode is off by default;
 
-   // Each export type has it's own settings
+   // Each export type has its own settings
    switch (mSubFormat)
    {
    case FMT_M4A:
@@ -331,10 +365,10 @@ bool ExportFFmpeg::InitCodecs(AudacityProject *project)
       mSampleRate = 8000;
       mEncAudioCodecCtx->bit_rate = gPrefs->Read(wxT("/FileFormats/AMRNBBitRate"), 12200);
       break;
-   case FMT_AMRWB:
+/*   case FMT_AMRWB:
       mSampleRate = 16000;
       mEncAudioCodecCtx->bit_rate = gPrefs->Read(wxT("/FileFormats/AMRWBBitRate"), 23850);
-      break;
+      break;*/
    case FMT_WMA2:
       mEncAudioCodecCtx->bit_rate = gPrefs->Read(wxT("/FileFormats/WMABitRate"), 198000);
       if (!CheckSampleRate(mSampleRate,ExportFFmpegWMAOptions::iWMASampleRates[0], ExportFFmpegWMAOptions::iWMASampleRates[4], &ExportFFmpegWMAOptions::iWMASampleRates[0]))
@@ -424,7 +458,8 @@ bool ExportFFmpeg::InitCodecs(AudacityProject *project)
    // The encoder may require a minimum number of raw audio samples for each encoding but we can't
    // guarantee we'll get this minimum each time an audio frame is decoded from the input file so 
    // we use a FIFO to store up incoming raw samples until we have enough for one call to the codec.
-   FFmpegLibsInst->av_fifo_init(&mEncAudioFifo, 1024);
+   //FFmpegLibsInst->av_fifo_init(&mEncAudioFifo, 1024);
+   mEncAudioFifo = FFmpegLibsInst->av_fifo_alloc(1024);
 
    // Allocate a buffer to read OUT of the FIFO into. The FIFO maintains its own buffer internally.
    if ((mEncAudioFifoOutBuf = (uint8_t*)FFmpegLibsInst->av_malloc(2*MAX_AUDIO_PACKET_SIZE)) == NULL)
@@ -444,7 +479,7 @@ bool ExportFFmpeg::Finalize()
    for (;;)
    {
       AVPacket	pkt;
-      int		nFifoBytes = FFmpegLibsInst->av_fifo_size(&mEncAudioFifo);	// any bytes left in audio FIFO?
+      int		nFifoBytes = FFmpegLibsInst->av_fifo_size(mEncAudioFifo);	// any bytes left in audio FIFO?
 
       nEncodedBytes = 0;
       int		nAudioFrameSizeOut = mEncAudioCodecCtx->frame_size * mEncAudioCodecCtx->channels * sizeof(int16_t);
@@ -481,7 +516,7 @@ bool ExportFFmpeg::Finalize()
                nFifoBytes, mEncAudioCodecCtx->frame_size);
 
             // Pull the bytes out from the FIFO and feed them to the encoder.
-            if (FFmpegLibsInst->av_fifo_read(&mEncAudioFifo, mEncAudioFifoOutBuf, nFifoBytes) == 0)
+            if (FFmpegLibsInst->av_fifo_generic_read(mEncAudioFifo, mEncAudioFifoOutBuf, nFifoBytes, NULL) == 0)
             {
                if (mEncAudioCodecCtx->frame_size != 1)
                   nEncodedBytes = FFmpegLibsInst->avcodec_encode_audio(mEncAudioCodecCtx, mEncAudioEncodedBuf, mEncAudioEncodedBufSiz, (int16_t*)mEncAudioFifoOutBuf);
@@ -545,7 +580,8 @@ bool ExportFFmpeg::Finalize()
    if (mEncAudioFifoOutBuf != NULL)
       FFmpegLibsInst->av_free(mEncAudioFifoOutBuf);
 
-   FFmpegLibsInst->av_fifo_free(&mEncAudioFifo);
+   FFmpegLibsInst->av_fifo_free(mEncAudioFifo);
+   mEncAudioFifo = NULL;
    return true;
 }
 
@@ -560,15 +596,15 @@ bool ExportFFmpeg::EncodeAudioFrame(int16_t *pFrame, int frameSize)
 
    nBytesToWrite = frameSize;
    pRawSamples  = (uint8_t*)pFrame;
-   FFmpegLibsInst->av_fifo_realloc(&mEncAudioFifo, FFmpegLibsInst->av_fifo_size(&mEncAudioFifo) + frameSize);
+   FFmpegLibsInst->av_fifo_realloc2(mEncAudioFifo, FFmpegLibsInst->av_fifo_size(mEncAudioFifo) + frameSize);
    // Put the raw audio samples into the FIFO.
-   ret = FFmpegLibsInst->av_fifo_generic_write(&mEncAudioFifo, pRawSamples, nBytesToWrite,NULL);
+   ret = FFmpegLibsInst->av_fifo_generic_write(mEncAudioFifo, pRawSamples, nBytesToWrite,NULL);
    wxASSERT(ret == nBytesToWrite);
 
    // Read raw audio samples out of the FIFO in nAudioFrameSizeOut byte-sized groups to encode.
-   while ((ret = FFmpegLibsInst->av_fifo_size(&mEncAudioFifo)) >= nAudioFrameSizeOut)
+   while ((ret = FFmpegLibsInst->av_fifo_size(mEncAudioFifo)) >= nAudioFrameSizeOut)
    {
-      ret = FFmpegLibsInst->av_fifo_read(&mEncAudioFifo, mEncAudioFifoOutBuf, nAudioFrameSizeOut);
+      ret = FFmpegLibsInst->av_fifo_generic_read(mEncAudioFifo, mEncAudioFifoOutBuf, nAudioFrameSizeOut, NULL);
       FFmpegLibsInst->av_init_packet(&pkt);
 
       pkt.size = FFmpegLibsInst->avcodec_encode_audio(mEncAudioCodecCtx, 
@@ -601,21 +637,22 @@ bool ExportFFmpeg::EncodeAudioFrame(int16_t *pFrame, int frameSize)
 }
 
 
-bool ExportFFmpeg::Export(AudacityProject *project,
+int ExportFFmpeg::Export(AudacityProject *project,
                        int channels, wxString fName,
                        bool selectionOnly, double t0, double t1, MixerSpec *mixerSpec, Tags *metadata, int subformat)
 {
    if (!CheckFFmpegPresence())
       return false;
    mChannels = channels;
-   if (channels > fmts[subformat].maxchannels)
+   // subformat index may not correspond directly to fmts[] index, convert it
+   mSubFormat = AdjustFormatIndex(subformat);
+   if (channels > fmts[mSubFormat].maxchannels)
    {
-      wxLogMessage(wxT("Attempted to export %d channels, but max. channels = %d"),channels,fmts[subformat].maxchannels);
-      wxMessageBox(wxString::Format(_("Attempted to export %d channels, but max. channels for selected output format is %d"),channels,fmts[subformat].maxchannels),_("Error"));
+      wxLogMessage(wxT("Attempted to export %d channels, but max. channels = %d"),channels,fmts[mSubFormat].maxchannels);
+      wxMessageBox(wxString::Format(_("Attempted to export %d channels, but max. channels for selected output format is %d"),channels,fmts[mSubFormat].maxchannels),_("Error"));
       return false;
    }
    mName = fName;
-   mSubFormat = subformat;
    TrackList *tracks = project->GetTracks();
    bool ret = true;
 
@@ -637,15 +674,16 @@ bool ExportFFmpeg::Export(AudacityProject *project,
       t0, t1,
       channels, pcmBufferSize, true,
       mSampleRate, int16Sample, true, mixerSpec);
+   delete [] waveTracks;
 
    ProgressDialog *progress = new ProgressDialog(wxFileName(fName).GetName(),
       selectionOnly ?
       wxString::Format(_("Exporting selected audio as %s"), fmts[mSubFormat].description) :
    wxString::Format(_("Exporting entire file as %s"), fmts[mSubFormat].description));
 
-   bool cancelling = false;
+   int updateResult = eProgressSuccess;
 
-   while(!cancelling) {
+   while(updateResult == eProgressSuccess) {
       sampleCount pcmNumSamples = mixer->Process(pcmBufferSize);
 
       if (pcmNumSamples == 0)
@@ -655,7 +693,7 @@ bool ExportFFmpeg::Export(AudacityProject *project,
 
       EncodeAudioFrame(pcmBuffer,(pcmNumSamples)*sizeof(int16_t)*mChannels);
 
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
 
    delete progress;
@@ -664,7 +702,7 @@ bool ExportFFmpeg::Export(AudacityProject *project,
 
    Finalize();
 
-   return !cancelling;
+   return updateResult;
 }
 
 void AddStringTagUTF8(char field[], int size, wxString value)
@@ -780,37 +818,39 @@ bool ExportFFmpeg::DisplayOptions(wxWindow *parent, int format)
 {
    if (!CheckFFmpegPresence())
       return false;
-   if (format == FMT_M4A)
+   // subformat index may not correspond directly to fmts[] index, convert it
+   mSubFormat = AdjustFormatIndex(format);
+   if (mSubFormat == FMT_M4A)
    {
       ExportFFmpegAACOptions od(parent);
       od.ShowModal();
       return true;
    }
-   else if (format == FMT_AC3)
+   else if (mSubFormat == FMT_AC3)
    {
       ExportFFmpegAC3Options od(parent);
       od.ShowModal();
       return true;
    }
-   else if (format == FMT_AMRNB)
+   else if (mSubFormat == FMT_AMRNB)
    {
       ExportFFmpegAMRNBOptions od(parent);
       od.ShowModal();
       return true;
    }
-   else if (format == FMT_AMRWB)
+/*   else if (mSubFormat == FMT_AMRWB)
    {
       ExportFFmpegAMRWBOptions od(parent);
       od.ShowModal();
       return true;
-   }
-   else if (format == FMT_WMA2)
+   }*/
+   else if (mSubFormat == FMT_WMA2)
    {
       ExportFFmpegWMAOptions od(parent);
       od.ShowModal();
       return true;
    }
-   else if (format == FMT_OTHER)
+   else if (mSubFormat == FMT_OTHER)
    {
       ExportFFmpegOptions od(parent);
       od.ShowModal();
diff --git a/src/export/ExportFFmpegDialogs.cpp b/src/export/ExportFFmpegDialogs.cpp
index dfd877d..f461775 100644
--- a/src/export/ExportFFmpegDialogs.cpp
+++ b/src/export/ExportFFmpegDialogs.cpp
@@ -169,7 +169,7 @@ void ExportFFmpegAACOptions::PopulateOrExchange(ShuttleGui & S)
    {
       S.StartTwoColumn();
       {
-      S.TieSlider(wxT("Quality:"),wxT("/FileFormats/AACQuality"),100,500,10);
+      S.TieSlider(_("Quality:"),wxT("/FileFormats/AACQuality"),100,500,10);
    }
       S.EndTwoColumn();
    }
@@ -411,6 +411,7 @@ WX_DEFINE_LIST(FFmpegPresetList);
 FFmpegPresets::FFmpegPresets()
 {
    mPresets = new FFmpegPresetList();
+   mPresets->DeleteContents(true);
    XMLFileReader xmlfile;
    wxFileName xmlFileName(FileNames::DataDir(), wxT("ffmpeg_presets.xml"));
    xmlfile.Parse(this,xmlFileName.GetFullPath());
@@ -419,6 +420,7 @@ FFmpegPresets::FFmpegPresets()
 FFmpegPresets::~FFmpegPresets()
 {
    XMLFileWriter writer;
+   // FIXME: Catch XMLFileWriterException
    wxFileName xmlFileName(FileNames::DataDir(), wxT("ffmpeg_presets.xml"));
    writer.Open(xmlFileName.GetFullPath(),wxT("wb"));
    WriteXMLHeader(writer);
@@ -435,6 +437,7 @@ void FFmpegPresets::ImportPresets(wxString &filename)
 void FFmpegPresets::ExportPresets(wxString &filename)
 {
    XMLFileWriter writer;
+   // FIXME: Catch XMLFileWriterException
    writer.Open(filename,wxT("wb"));
    WriteXMLHeader(writer);
    WriteXML(writer);
@@ -513,7 +516,6 @@ void FFmpegPresets::SavePreset(ExportFFmpegOptions *parent, wxString &name)
       mPresets->push_front(preset);
    }
 
-   wxListBox *lb;
    wxSpinCtrl *sc;
    wxTextCtrl *tc;
    wxCheckBox *cb;
@@ -925,13 +927,13 @@ void ExportFFmpegOptions::PopulateOrExchange(ShuttleGui & S)
             mBitrateSpin->SetToolTip(_("Bit Rate (bits/second) - influences the resulting file size and quality\nSome codecs may only accept specific values (128k, 192k, 256k etc)\n0 - automatic\nRecommended - 192000"));
 
             mQualitySpin = S.Id(FEQualityID).TieSpinCtrl(_("Quality:"), wxT("/FileFormats/FFmpegQuality"), 0,500,-1);
-            mQualitySpin->SetToolTip(_("Overral quality, used differently by different codecs\nRequired for vorbis\n0 - automatic\n-1 - off (use bitrate instead)"));
+            mQualitySpin->SetToolTip(_("Overall quality, used differently by different codecs\nRequired for vorbis\n0 - automatic\n-1 - off (use bitrate instead)"));
 
             mSampleRateSpin = S.Id(FESampleRateID).TieSpinCtrl(_("Sample Rate:"), wxT("/FileFormats/FFmpegSampleRate"), 0,200000,0);
             mSampleRateSpin->SetToolTip(_("Sample rate (Hz)\n0 - don't change sample rate"));
 
             mCutoffSpin = S.Id(FECutoffID).TieSpinCtrl(_("Cutoff Bandwidth:"), wxT("/FileFormats/FFmpegCutOff"), 0,10000000,0);
-            mCutoffSpin->SetToolTip(_("Audio cutoff bandwidth (Hz)\nOptional\n0 - automatic\n"));
+            mCutoffSpin->SetToolTip(_("Audio cutoff bandwidth (Hz)\nOptional\n0 - automatic"));
 
             mProfileChoice = S.Id(FEProfileID).TieChoice(_("Profile:"), wxT("/FileFormats/FFmpegAACProfile"), 
                mProfileLabels[0], mProfileNames, mProfileLabels);
@@ -966,7 +968,7 @@ void ExportFFmpegOptions::PopulateOrExchange(ShuttleGui & S)
 
                mPredictionOrderMethodChoice = S.Id(FEPredOrderID).TieChoice(_("Prediction Order Method:"), wxT("/FileFormats/FFmpegPredOrderMethod"), 
                   mPredictionOrderMethodLabels[4], mPredictionOrderMethodNames, mPredictionOrderMethodLabels);
-               mProfileChoice->SetToolTip(_("Prediction Order Method\nEstimate - fastest, lower compression\nLog search - slowest, best compression\nFull search - default"));
+               mPredictionOrderMethodChoice->SetToolTip(_("Prediction Order Method\nEstimate - fastest, lower compression\nLog search - slowest, best compression\nFull search - default"));
 
                mMinPartitionOrderSpin = S.Id(FEMinPartOrderID).TieSpinCtrl(_("Minimal partition order"), wxT("/FileFormats/FFmpegMinPartOrder"), -1,8,-1);
                mMinPartitionOrderSpin->SetToolTip(_("Minimal partition order\nOptional\n-1 - default\nmin - 0\nmax - 8"));
diff --git a/src/export/ExportFFmpegDialogs.h b/src/export/ExportFFmpegDialogs.h
index afb06ed..4e09c1e 100644
--- a/src/export/ExportFFmpegDialogs.h
+++ b/src/export/ExportFFmpegDialogs.h
@@ -27,7 +27,7 @@ enum FFmpegExposedFormat
    FMT_M4A,
    FMT_AC3,
    FMT_AMRNB,
-   FMT_AMRWB,
+//   FMT_AMRWB,
    FMT_WMA2,
    FMT_OTHER,
    FMT_LAST
@@ -45,17 +45,18 @@ struct ExposedFormat
    bool canutf8;              //!< true if format supports metadata in UTF-8, false otherwise
    const wxChar *description; //!< format description (will be shown in export dialog)
    CodecID codecid;           //!< codec ID (see libavcodec/avcodec.h)
+   bool compiledIn;           //!< support for this codec/format is compiled in (checked at runtime)
 };
 
 /// List of export types
 static ExposedFormat fmts[] = 
 {
-   {FMT_M4A,         wxT("M4A"),     wxT("m4a"),  wxT("ipod"), 48,  true ,true ,_("M4A (AAC) Files (FFmpeg)"),           CODEC_ID_AAC},
-   {FMT_AC3,         wxT("AC3"),     wxT("ac3"),  wxT("ac3"),  7,   false,false,_("AC3 Files (FFmpeg)"),                 CODEC_ID_AC3},
-   {FMT_AMRNB,       wxT("AMRNB"),   wxT("amr"),  wxT("amr"),  1,   false,false,_("AMR (narrow band) Files (FFmpeg)"),   CODEC_ID_AMR_NB},
-   {FMT_AMRWB,       wxT("AMRWB"),   wxT("amr"),  wxT("amr"),  1,   false,false,_("AMR (wide band) Files (FFmpeg)"),     CODEC_ID_AMR_WB},
-   {FMT_WMA2,        wxT("WMA"),     wxT("wma"),  wxT("asf"),  2,   true ,false,_("WMA (version 2) Files (FFmpeg)"),     CODEC_ID_WMAV2},
-   {FMT_OTHER,       wxT("FFMPEG"),  wxT(""),     wxT(""),     255, true ,true ,_("Custom FFmpeg Export"),               CODEC_ID_NONE}
+   {FMT_M4A,         wxT("M4A"),     wxT("m4a"),  wxT("ipod"), 48,  true ,true ,_("M4A (AAC) Files (FFmpeg)"),         CODEC_ID_AAC,    true},
+   {FMT_AC3,         wxT("AC3"),     wxT("ac3"),  wxT("ac3"),  7,   false,false,_("AC3 Files (FFmpeg)"),               CODEC_ID_AC3,    true},
+   {FMT_AMRNB,       wxT("AMRNB"),   wxT("amr"),  wxT("amr"),  1,   false,false,_("AMR (narrow band) Files (FFmpeg)"), CODEC_ID_AMR_NB, true},
+//   {FMT_AMRWB,       wxT("AMRWB"),   wxT("amr"),  wxT("amr"),  1,   false,false,_("AMR (wide band) Files (FFmpeg)"),   CODEC_ID_AMR_WB, true},
+   {FMT_WMA2,        wxT("WMA"),     wxT("wma"),  wxT("asf"),  2,   true ,false,_("WMA (version 2) Files (FFmpeg)"),   CODEC_ID_WMAV2,  true},
+   {FMT_OTHER,       wxT("FFMPEG"),  wxT(""),     wxT(""),     255, true ,true ,_("Custom FFmpeg Export"),             CODEC_ID_NONE,   true}
 };
 
 /// Describes format-codec compatibility
diff --git a/src/export/ExportFLAC.cpp b/src/export/ExportFLAC.cpp
index 16c65b8..0927fce 100644
--- a/src/export/ExportFLAC.cpp
+++ b/src/export/ExportFLAC.cpp
@@ -177,7 +177,7 @@ public:
    // Required
 
    bool DisplayOptions(wxWindow *parent, int format = 0);
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
                int channels,
                wxString fName,
                bool selectedOnly,
@@ -212,7 +212,7 @@ void ExportFLAC::Destroy()
    delete this;
 }
 
-bool ExportFLAC::Export(AudacityProject *project,
+int ExportFLAC::Export(AudacityProject *project,
                         int numChannels,
                         wxString fName,
                         bool selectionOnly,
@@ -226,7 +226,7 @@ bool ExportFLAC::Export(AudacityProject *project,
    TrackList *tracks = project->GetTracks();
    
    wxLogNull logNo;            // temporarily disable wxWindows error messages 
-   bool      cancelling = false;
+   int updateResult = eProgressSuccess;
 
    int levelPref;
    gPrefs->Read(wxT("/FileFormats/FLACLevel"), &levelPref, 5);
@@ -237,7 +237,7 @@ bool ExportFLAC::Export(AudacityProject *project,
    FLAC::Encoder::File encoder;
 
 #ifdef LEGACY_FLAC
-   encoder.set_filename(OSFILENAME(fName));
+   encoder.set_filename(OSOUTPUT(fName));
 #endif
    encoder.set_channels(numChannels);
    encoder.set_sample_rate(lrint(rate));
@@ -245,7 +245,7 @@ bool ExportFLAC::Export(AudacityProject *project,
    // See note in GetMetadata() about a bug in libflac++ 1.1.2
    if (!GetMetadata(project, metadata)) {
       return false;
-      }
+   }
 
    if (mMetadata) {
       encoder.set_metadata(&mMetadata, 1);
@@ -283,7 +283,20 @@ bool ExportFLAC::Export(AudacityProject *project,
 #ifdef LEGACY_FLAC
    encoder.init();
 #else
-   encoder.init(OSFILENAME(fName));
+   wxFFile f;     // will be closed when it goes out of scope
+   if (!f.Open(fName, wxT("w+b"))) {
+      wxMessageBox(wxString::Format(_("FLAC export couldn't open %s"), fName.c_str()));
+      return false;
+   }
+
+   // Even though there is an init() method that takes a filename, use the one that
+   // takes a file handle because wxWidgets can open a file with a Unicode name and
+   // libflac can't (under Windows).
+   int status = encoder.init(f.fp());
+   if (status != FLAC__STREAM_ENCODER_INIT_STATUS_OK) {
+      wxMessageBox(wxString::Format(_("FLAC encoder failed to initialize\nStatus: %d"), status));
+      return false;
+   }
 #endif
 
    if (mMetadata) {
@@ -298,6 +311,7 @@ bool ExportFLAC::Export(AudacityProject *project,
                             t0, t1,
                             numChannels, SAMPLES_PER_RUN, false,
                             rate, format, true, mixerSpec);
+   delete [] waveTracks;
 
    int i, j;
    FLAC__int32 **tmpsmplbuf = new FLAC__int32*[numChannels];
@@ -310,7 +324,7 @@ bool ExportFLAC::Export(AudacityProject *project,
          _("Exporting the selected audio as FLAC") :
          _("Exporting the entire project as FLAC"));
 
-   while (!cancelling) {
+   while (updateResult == eProgressSuccess) {
       sampleCount samplesThisRun = mixer->Process(SAMPLES_PER_RUN);
       if (samplesThisRun == 0) { //stop encoding
          break;
@@ -331,8 +345,9 @@ bool ExportFLAC::Export(AudacityProject *project,
          }
          encoder.process(tmpsmplbuf, samplesThisRun);
       }
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
+   f.Detach(); // libflac closes the file
    encoder.finish();
 
    delete progress;
@@ -344,7 +359,7 @@ bool ExportFLAC::Export(AudacityProject *project,
    
    delete[] tmpsmplbuf;
    
-   return !cancelling;
+   return updateResult;
 }
 
 bool ExportFLAC::DisplayOptions(wxWindow *parent, int format)
@@ -370,8 +385,6 @@ bool ExportFLAC::GetMetadata(AudacityProject *project, Tags *tags)
 
    mMetadata = ::FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT);
 
-   FLAC::Metadata::VorbisComment::Entry entry;
-
    wxString n, v;
    for (bool cont = tags->GetFirst(n, v); cont; cont = tags->GetNext(n, v)) {
       if (n == TAG_YEAR) {
diff --git a/src/export/ExportMP2.cpp b/src/export/ExportMP2.cpp
index 4bebf2e..2d77cb6 100644
--- a/src/export/ExportMP2.cpp
+++ b/src/export/ExportMP2.cpp
@@ -173,7 +173,7 @@ public:
    // Required
 
    bool DisplayOptions(wxWindow *parent, int format = 0);
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
                int channels,
                wxString fName,
                bool selectedOnly,
@@ -205,7 +205,7 @@ void ExportMP2::Destroy()
    delete this;
 }
 
-bool ExportMP2::Export(AudacityProject *project,
+int ExportMP2::Export(AudacityProject *project,
                int channels, wxString fName,
                bool selectionOnly, double t0, double t1, MixerSpec *mixerSpec, Tags *metadata,
                int subformat)
@@ -266,14 +266,15 @@ bool ExportMP2::Export(AudacityProject *project,
                             t0, t1,
                             stereo? 2: 1, pcmBufferSize, true,
                             rate, int16Sample, true, mixerSpec);
+   delete [] waveTracks;
 
    ProgressDialog *progress = new ProgressDialog(wxFileName(fName).GetName(),
       selectionOnly ?
       wxString::Format(_("Exporting selected audio at %d kbps"), bitrate) :
       wxString::Format(_("Exporting entire file at %d kbps"), bitrate));
 
-   bool cancelling = false;
-   while(!cancelling) {
+   int updateResult = eProgressSuccess;
+   while(updateResult == eProgressSuccess) {
       sampleCount pcmNumSamples = mixer->Process(pcmBufferSize);
 
       if (pcmNumSamples == 0)
@@ -290,7 +291,7 @@ bool ExportMP2::Export(AudacityProject *project,
 
       outFile.Write(mp2Buffer, mp2BufferNumBytes);
 
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
 
    delete progress;
@@ -322,7 +323,7 @@ bool ExportMP2::Export(AudacityProject *project,
    
    outFile.Close();
 
-   return !cancelling;
+   return updateResult;
 }
 
 bool ExportMP2::DisplayOptions(wxWindow *parent, int format)
diff --git a/src/export/ExportMP3.cpp b/src/export/ExportMP3.cpp
index 40696f1..ec8c217 100644
--- a/src/export/ExportMP3.cpp
+++ b/src/export/ExportMP3.cpp
@@ -1291,7 +1291,8 @@ void MP3Exporter::PutInfoTag(wxFFile & f, wxFileOffset off)
 #if defined(__WXMSW__)
       else if (beWriteInfoTag) {
          f.Flush();
-         beWriteInfoTag(mGF, OSFILENAME(f.GetName()));
+         beWriteInfoTag(mGF, OSOUTPUT(f.GetName()));
+         mGF = NULL;
       }
 #endif
       else if (lame_mp3_tags_fid) {   
@@ -1468,7 +1469,7 @@ public:
    // Required
 
    bool DisplayOptions(wxWindow *parent, int format = 0);
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
                int channels,
                wxString fName,
                bool selectedOnly,
@@ -1504,7 +1505,7 @@ void ExportMP3::Destroy()
    delete this;
 }
 
-bool ExportMP3::Export(AudacityProject *project,
+int ExportMP3::Export(AudacityProject *project,
                        int channels,
                        wxString fName,
                        bool selectionOnly,
@@ -1628,7 +1629,7 @@ bool ExportMP3::Export(AudacityProject *project,
    }
 
    wxFileOffset pos = outFile.Tell();
-   bool cancelling = false;
+   int updateResult = eProgressSuccess;
    long bytes;
 
    int bufferSize = exporter.GetOutBufferSize();
@@ -1643,6 +1644,7 @@ bool ExportMP3::Export(AudacityProject *project,
                             t0, t1,
                             channels, inSamples, true,
                             rate, int16Sample, true, mixerSpec);
+   delete [] waveTracks;
 
    wxString title;
    if (rmode == MODE_SET) {
@@ -1666,7 +1668,7 @@ bool ExportMP3::Export(AudacityProject *project,
 
    ProgressDialog *progress = new ProgressDialog(wxFileName(fName).GetName(), title);
 
-   while (!cancelling) {
+   while (updateResult == eProgressSuccess) {
       sampleCount blockLen = mixer->Process(inSamples);
 
       if (blockLen == 0) {
@@ -1701,7 +1703,7 @@ bool ExportMP3::Export(AudacityProject *project,
 
       outFile.Write(buffer, bytes);
 
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
 
    delete progress;
@@ -1726,6 +1728,9 @@ bool ExportMP3::Export(AudacityProject *project,
    // Always write the info (Xing/Lame) tag.  Until we stop supporting Lame
    // versions before 3.98, we must do this after the MP3 file has been
    // closed.
+   //
+   // Also, if beWriteInfoTag() is used, mGF will no longer be valid after
+   // this call, so do not use it.
    exporter.PutInfoTag(outFile, pos);
 
    // Close the file
@@ -1733,7 +1738,7 @@ bool ExportMP3::Export(AudacityProject *project,
 
    delete [] buffer;
    
-   return !cancelling;
+   return updateResult;
 }
 
 bool ExportMP3::DisplayOptions(wxWindow *parent, int format)
diff --git a/src/export/ExportMultiple.cpp b/src/export/ExportMultiple.cpp
index a73973c..6295cd9 100644
--- a/src/export/ExportMultiple.cpp
+++ b/src/export/ExportMultiple.cpp
@@ -505,7 +505,8 @@ void ExportMultiple::OnExport(wxCommandEvent& event)
    }
 
 //   bool overwrite = mOverwrite->GetValue();
-   bool ok;
+   int ok;
+   mExported.Empty();
 
    if (mLabel->GetValue()) {
       ok = ExportMultipleByLabel(mByName->GetValue(),
@@ -516,11 +517,42 @@ void ExportMultiple::OnExport(wxCommandEvent& event)
                                  mPrefix->GetValue());
    }
 
-   if (!ok) {
-      return;
+   // Give 'em the result
+   {
+      wxString msg;
+      msg.Printf(
+         ok == eProgressSuccess ? _("Successfully exported the following %ld file(s).")
+           : (ok == eProgressFailed ? _("Something went wrong after exporting the following %ld file(s).")
+             : (ok == eProgressCancelled ? _("Export canceled after exporting the following %ld file(s).") 
+               : (ok == eProgressStopped ? _("Export stopped after exporting the following %ld file(s).")
+                 : _("Something went really wrong after exporting the following %ld file(s).")
+                 )
+               )
+             ), mExported.GetCount());
+
+      wxDialog dlg(this,
+                   wxID_ANY,
+                   wxString(_("ExportMultiple")));
+      ShuttleGui S(&dlg, eIsCreating);
+      S.StartVerticalLay();
+      {
+         S.AddTitle(msg);
+         S.SetStyle(wxLC_LIST | wxLC_SINGLE_SEL | wxLC_HRULES | wxSUNKEN_BORDER);
+         wxListCtrl *l = S.AddListControl();
+         for (size_t i = 0; i < mExported.GetCount(); i++) {
+            l->InsertItem(i, mExported[i]);
+         }
+         
+         S.AddStandardButtons(eOkButton);
+      }
+      dlg.Fit();
+      dlg.Center();
+      dlg.ShowModal();
    }
 
-   EndModal(1);
+   if (ok == eProgressSuccess || ok == eProgressStopped) {
+      EndModal(1);
+   }
 }
 
 bool ExportMultiple::DirOk()
@@ -548,7 +580,7 @@ bool ExportMultiple::DirOk()
    return fn.Mkdir(0777, wxPATH_MKDIR_FULL);
 }
 
-bool ExportMultiple::ExportMultipleByLabel(bool byName, wxString prefix)
+int ExportMultiple::ExportMultipleByLabel(bool byName, wxString prefix)
 {
    wxASSERT(mProject);
    bool tagsPrompt = mProject->GetShowId3Dialog();
@@ -620,11 +652,6 @@ bool ExportMultiple::ExportMultipleByLabel(bool byName, wxString prefix)
       // store sanitised and user checjed name in object
       setting.destfile.SetName(MakeFileName(name));
 
-      if (setting.destfile.GetName().IsEmpty())
-         {  // user cancelled dialogue, or deleted everything in feild.
-         // either way, cancel
-         return false;
-         }
       wxASSERT(setting.destfile.IsOk());     // scream if file name is broke
 
       // Make sure the (final) file name is unique within the set of exports
@@ -646,35 +673,27 @@ bool ExportMultiple::ExportMultipleByLabel(bool byName, wxString prefix)
       l++;  // next label, count up one
    }
 
-   bool ok = true;   // did it work?
+   int ok = eProgressSuccess;   // did it work?
    int count = 0; // count the number of sucessful runs
    ExportKit activeSetting;  // pointer to the settings in use for this export
    /* Go round again and do the exporting (so this run is slow but
     * non-interactive) */
-   for(count = 0; count < (numFiles); count++) {
+   for (count = 0; count < numFiles; count++) {
       /* get the settings to use for the export from the array */
       activeSetting = exportSettings[count];
 
       // Export it
       ok = DoExport(channels, activeSetting.destfile, false, activeSetting.t0, activeSetting.t1, activeSetting.filetags);
-      if (!ok) {
+      if (ok != eProgressSuccess && ok != eProgressStopped) {
          break;
       }
    }
 
-   // Give 'em the result
-   ::wxMessageBox(wxString::Format(ok
-                                   ? _("Successfully exported %d file(s).")
-                                   : _("Something went wrong after exporting %d file(s)."),
-                                   count),
-                  _("Export Multiple"),
-                  wxOK | wxCENTRE, this);
-
    return ok;
 }
 
-bool ExportMultiple::ExportMultipleByTrack(bool byName,
-                                           wxString prefix)
+int ExportMultiple::ExportMultipleByTrack(bool byName,
+                                          wxString prefix)
 {
    wxASSERT(mProject);
    bool tagsPrompt = mProject->GetShowId3Dialog();
@@ -682,7 +701,7 @@ bool ExportMultiple::ExportMultipleByTrack(bool byName,
    int channels = 0;  // how many channels export?
    int l = 0;     // track counter
    int numTracks = 0;
-   bool ok = true;
+   int ok = eProgressSuccess;
    wxArrayString otherNames;
    wxArrayPtrVoid selected;   /**< Array of pointers to the tracks which were
                                 selected when we started */
@@ -826,7 +845,7 @@ bool ExportMultiple::ExportMultipleByTrack(bool byName,
       }
 
       // Stop if an error occurred
-      if (!ok) {
+      if (ok != eProgressSuccess && ok != eProgressStopped) {
          break;
       }
       // increment export counter
@@ -839,18 +858,10 @@ bool ExportMultiple::ExportMultipleByTrack(bool byName,
       ((Track *) selected[i])->SetSelected(true);
    }
 
-   // Give 'em the result
-   ::wxMessageBox(wxString::Format(ok
-                                   ? _("Successfully exported %d file(s).")
-                                   : _("Something went wrong after exporting %d file(s)."),
-                                   count),
-                  _("Export Multiple"),
-                  wxOK | wxCENTRE, this);
-   
    return ok;
 }
 
-bool ExportMultiple::DoExport(int channels,
+int ExportMultiple::DoExport(int channels,
                               wxFileName name,
                               bool selectedOnly,
                               double t0,
@@ -862,8 +873,17 @@ bool ExportMultiple::DoExport(int channels,
    if (selectedOnly) wxLogDebug(wxT("Selected Region Only"));
    else wxLogDebug(wxT("Whole Project"));
 
-   // Generate a unique name if we're not allowed to overwrite
-   if (!mOverwrite->GetValue()) {
+   if (name.GetName().IsEmpty()) {
+      name.SetName(wxT("untitled"));
+   }
+
+   if (mOverwrite->GetValue()) {
+      // Make sure we don't overwrite (corrupt) alias files
+      if (!mProject->GetDirManager()->EnsureSafeFilename(name)) {
+         return false;
+      }
+   }
+   else {
       int i = 2;
       wxString base(name.GetName());
       while (name.FileExists()) {
@@ -872,16 +892,21 @@ bool ExportMultiple::DoExport(int channels,
    }
 
    // Call the format export routine
-   bool rc = mPlugins[mPluginIndex]->Export(mProject,
-                                            channels,
-                                            name.GetFullPath(),
-                                            selectedOnly,
-                                            t0,
-                                            t1,
-                                            NULL,
-                                            &tags,
-                                            mSubFormatIndex);
-   return rc;
+   int success = mPlugins[mPluginIndex]->Export(mProject,
+                                                channels,
+                                                name.GetFullPath(),
+                                                selectedOnly,
+                                                t0,
+                                                t1,
+                                                NULL,
+                                                &tags,
+                                                mSubFormatIndex);
+
+   if (success == eProgressSuccess || success == eProgressStopped) {
+      mExported.Add(name.GetFullPath());
+   }
+
+   return success;
 }
 
 wxString ExportMultiple::MakeFileName(wxString input)
diff --git a/src/export/ExportMultiple.h b/src/export/ExportMultiple.h
index 45ab5c2..adf2778 100644
--- a/src/export/ExportMultiple.h
+++ b/src/export/ExportMultiple.h
@@ -51,7 +51,7 @@ private:
     * labels that define them (true), or just numbered (false).
     * @param prefix The string used to prefix the file number if files are being
     * numbered rather than named */
-   bool ExportMultipleByLabel(bool byName, wxString prefix);
+   int ExportMultipleByLabel(bool byName, wxString prefix);
 
    /** \brief Export each track in the project to a separate file
     *
@@ -59,19 +59,19 @@ private:
     * (true), or just numbered (false).
     * @param prefix The string used to prefix the file number if files are being
     * numbered rather than named */
-   bool ExportMultipleByTrack(bool byName, wxString prefix);
+   int ExportMultipleByTrack(bool byName, wxString prefix);
 
    /** Export one file of an export multiple set
     *
     * Called once for each file in the list to do a (non-interactive) export
     * @param channels Number of channels to export
     * @param name The file name (and path) to export to
-    * @param selectecOnly Should we  export the selected tracks only?
+    * @param selectedOnly Should we  export the selected tracks only?
     * @param t0 Start time for export
     * @param t1 End time for export
     * @param tags Metadata to include in the file (if possible).
     */
-   bool DoExport(int channels,
+   int DoExport(int channels,
                  wxFileName name,
                  bool selectedOnly,
                  double t0,
@@ -122,6 +122,9 @@ private:
                                 selected export plug-in set by mPluginIndex */
    bool mInitialized;
 
+   // List of file actually exported 
+   wxArrayString mExported;
+
    /** Array of characters not allowed to be in file names on this platform */
    wxArrayString exclude;
 
diff --git a/src/export/ExportOGG.cpp b/src/export/ExportOGG.cpp
index 864832e..1b56fff 100644
--- a/src/export/ExportOGG.cpp
+++ b/src/export/ExportOGG.cpp
@@ -129,7 +129,7 @@ public:
    // Required
 
    bool DisplayOptions(wxWindow *parent, int format = 0);
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
                int channels,
                wxString fName,
                bool selectedOnly,
@@ -160,7 +160,7 @@ void ExportOGG::Destroy()
    delete this;
 }
 
-bool ExportOGG::Export(AudacityProject *project,
+int ExportOGG::Export(AudacityProject *project,
                        int numChannels,
                        wxString fName,
                        bool selectionOnly,
@@ -175,7 +175,7 @@ bool ExportOGG::Export(AudacityProject *project,
    double    quality = (gPrefs->Read(wxT("/FileFormats/OggExportQuality"), 50)/(float)100.0);
 
    wxLogNull logNo;            // temporarily disable wxWindows error messages 
-   bool      cancelling = false;
+   int updateResult = eProgressSuccess;
    int       eos = 0;
 
    FileIO outFile(fName, FileIO::Output);
@@ -249,13 +249,14 @@ bool ExportOGG::Export(AudacityProject *project,
                             t0, t1,
                             numChannels, SAMPLES_PER_RUN, false,
                             rate, floatSample, true, mixerSpec);
+   delete [] waveTracks;
 
    ProgressDialog *progress = new ProgressDialog(wxFileName(fName).GetName(),
       selectionOnly ?
       _("Exporting the selected audio as Ogg Vorbis") :
       _("Exporting the entire project as Ogg Vorbis"));
 
-   while (!cancelling && !eos) {
+   while (updateResult == eProgressSuccess && !eos) {
       float **vorbis_buffer = vorbis_analysis_buffer(&dsp, SAMPLES_PER_RUN);
       sampleCount samplesThisRun = mixer->Process(SAMPLES_PER_RUN);
 
@@ -311,7 +312,7 @@ bool ExportOGG::Export(AudacityProject *project,
          }
       }
 
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
 
    delete progress;;
@@ -327,7 +328,7 @@ bool ExportOGG::Export(AudacityProject *project,
 
    outFile.Close();
 
-   return !cancelling;
+   return updateResult;
 }
 
 bool ExportOGG::DisplayOptions(wxWindow *parent, int format)
diff --git a/src/export/ExportPCM.cpp b/src/export/ExportPCM.cpp
index f8b6afa..f898fc3 100644
--- a/src/export/ExportPCM.cpp
+++ b/src/export/ExportPCM.cpp
@@ -322,7 +322,7 @@ public:
    // Required
 
    bool DisplayOptions(wxWindow *parent, int format = 0);
-   bool Export(AudacityProject *project,
+   int Export(AudacityProject *project,
                int channels,
                wxString fName,
                bool selectedOnly,
@@ -412,7 +412,7 @@ void ExportPCM::Destroy()
  * file type, or giving the user full control over libsndfile. Set to 0 
  * (default) gives full control, 1 gives 16-bit AIFF, 2 gives 16-bit WAV 
  * 3 gives a GSM 6.10 WAV file */ 
-bool ExportPCM::Export(AudacityProject *project,
+int ExportPCM::Export(AudacityProject *project,
                        int numChannels,
                        wxString fName,
                        bool selectionOnly,
@@ -477,9 +477,17 @@ bool ExportPCM::Export(AudacityProject *project,
       return false;
    }
 
-   ODManager::LockLibSndFileMutex();
-   sf = sf_open(OSFILENAME(fName), SFM_WRITE, &info);
-   ODManager::UnlockLibSndFileMutex();
+   wxFile f;   // will be closed when it goes out of scope
+
+   if (f.Open(fName, wxFile::write)) {
+      // Even though there is an sf_open() that takes a filename, use the one that
+      // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+      // libsndfile can't (under Windows).
+      ODManager::LockLibSndFileMutex();
+      sf = sf_open_fd(f.fd(), SFM_WRITE, &info, FALSE);
+      ODManager::UnlockLibSndFileMutex();
+   }
+
    if (!sf) {
       wxMessageBox(wxString::Format(_("Cannot export audio to %s"),
                                     fName.c_str()));
@@ -502,7 +510,7 @@ bool ExportPCM::Export(AudacityProject *project,
 
    int maxBlockLen = 44100 * 5;
 
-   bool cancelling = false;
+   int updateResult = eProgressSuccess;
 
    int numWaveTracks;
    WaveTrack **waveTracks;
@@ -520,7 +528,7 @@ bool ExportPCM::Export(AudacityProject *project,
       wxString::Format(_("Exporting the entire project as %s"),
                        formatStr.c_str()));
 
-   while(!cancelling) {
+   while(updateResult == eProgressSuccess) {
       sampleCount numSamples = mixer->Process(maxBlockLen);
 
       if (numSamples == 0)
@@ -535,7 +543,7 @@ bool ExportPCM::Export(AudacityProject *project,
          sf_writef_float(sf, (float *)mixed, numSamples);
       ODManager::UnlockLibSndFileMutex();
 
-      cancelling = !progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
+      updateResult = progress->Update(mixer->MixGetCurrentTime()-t0, t1-t0);
    }
 
    delete progress;
@@ -567,7 +575,7 @@ bool ExportPCM::Export(AudacityProject *project,
                            AUDACITY_CREATOR);
 #endif
    
-   return !cancelling;
+   return updateResult;
 }
 
 bool ExportPCM::AddStrings(AudacityProject *project, SNDFILE *sf, Tags *tags)
@@ -682,12 +690,16 @@ void ExportPCM::AddID3Chunk(wxString fName, Tags *tags)
    id3_length_t len;
 
    len = id3_tag_render(tp, 0);
-   id3_byte_t *buffer = (id3_byte_t *)malloc(len + 1);
+   if (len == 0) {
+      id3_tag_delete(tp);
+      return;
+   }
+
+   id3_byte_t *buffer = (id3_byte_t *)malloc(len);
    if (buffer == NULL) {
       id3_tag_delete(tp);
       return;
    }
-   buffer[len + 1] = '\0';
 
    len = id3_tag_render(tp, buffer);
 
@@ -753,17 +765,16 @@ bool ExportPCM::DisplayOptions(wxWindow *parent, int format)
 
 wxString ExportPCM::GetExtension(int index)
 {
-if (index == 0)
-   {  // get extension libsndfile thinks is correct for currently selected
-      // format
-   wxString fileext = sf_header_extension(ReadExportFormatPref());
-   return fileext; 
+   if (index == 0) {
+      // get extension libsndfile thinks is correct for currently selected format
+      return sf_header_extension(ReadExportFormatPref());
    }
-else
-   {  // do as the default in Export.cpp
-   return mFormatInfos[index]->mExtensions[0];
+   else {
+      // return the default
+      return ExportPlugin::GetExtension(index);
    }
 }
+
 //----------------------------------------------------------------------------
 // Constructor
 //----------------------------------------------------------------------------
diff --git a/src/import/Import.cpp b/src/import/Import.cpp
index 70fe615..fcdb9dc 100644
--- a/src/import/Import.cpp
+++ b/src/import/Import.cpp
@@ -55,6 +55,7 @@ and ImportLOF.cpp.
 #include "ImportLOF.h"
 #include "ImportFLAC.h"
 #include "ImportFFmpeg.h"
+#include "ImportGStreamer.h"
 #include "../Track.h"
 #include "../Prefs.h"
 
@@ -82,6 +83,10 @@ Importer::Importer()
    #if defined(USE_FFMPEG)
    GetFFmpegImportPlugin(mImportPluginList, mUnusableImportPluginList);
    #endif
+   #if defined(USE_GSTREAMER)
+   GetGStreamerImportPlugin(mImportPluginList, mUnusableImportPluginList);
+   #endif
+
 }
 
 Importer::~Importer()
@@ -94,7 +99,7 @@ Importer::~Importer()
 
 void Importer::GetSupportedImportFormats(FormatList *formatList)
 {
-   ImportPluginList::Node *importPluginNode = mImportPluginList->GetFirst();
+   ImportPluginList::compatibility_iterator importPluginNode = mImportPluginList->GetFirst();
    while(importPluginNode)
    {
       ImportPlugin *importPlugin = importPluginNode->GetData();
@@ -117,11 +122,11 @@ int Importer::Import(wxString fName,
    wxString extension = fName.AfterLast(wxT('.'));
 
    // This list is used to call plugins in correct order
-   ImportPluginList *importPlugins = new ImportPluginList;
+   ImportPluginList importPlugins;
 
    bool haveCompatiblePlugin = false;
 
-   ImportPluginList::Node *importPluginNode;
+   ImportPluginList::compatibility_iterator importPluginNode;
    
    // If user explicitly selected a filter,
    // then we should try importing via corresponding plugin first
@@ -135,11 +140,11 @@ int Importer::Import(wxString fName,
       if (plugin->GetPluginFormatDescription().CompareTo(type) == 0)
       {
          // This plugin corresponds to user-selected filter, try it first.
-         importPlugins->Insert(plugin);
+         importPlugins.Insert(plugin);
       }
       else if (plugin->SupportsExtension(extension))
       {
-         importPlugins->Append(plugin);
+         importPlugins.Append(plugin);
       }
       if (plugin->SupportsExtension(extension))
         haveCompatiblePlugin = true;
@@ -151,18 +156,18 @@ int Importer::Import(wxString fName,
    while(importPluginNode)
    {
       ImportPlugin *plugin = importPluginNode->GetData();
-      if (importPlugins->Find(plugin) == NULL)
+      if (importPlugins.Find(plugin) == NULL)
       {
          // Skip MP3 import plugin. Opens some non-mp3 audio files (ac3 for example) as garbage.
          if (plugin->GetPluginFormatDescription().CompareTo( _("MP3 files") ) != 0)
          {
-            importPlugins->Append(plugin);
+            importPlugins.Append(plugin);
          }        
       }
       importPluginNode = importPluginNode->GetNext();
    }
 
-   importPluginNode = importPlugins->GetFirst();
+   importPluginNode = importPlugins.GetFirst();
    while(importPluginNode)
    {
       ImportPlugin *plugin = importPluginNode->GetData();
@@ -191,7 +196,7 @@ int Importer::Import(wxString fName,
 
          delete inFile;
 
-         if (res == eImportSuccess)
+         if (res == eProgressSuccess || res == eProgressStopped)
          {
             // LOF ("list-of-files") has different semantics
             if (extension.IsSameAs(wxT("lof"), false))
@@ -203,7 +208,7 @@ int Importer::Import(wxString fName,
             }
          }
 
-         if (res == eImportCancelled)
+         if (res == eProgressCancelled || res == eProgressFailed)
          {
             return 0;
          }
@@ -219,7 +224,7 @@ int Importer::Import(wxString fName,
    // None of our plugins can handle this file.  It might be that
    // Audacity supports this format, but support was not compiled in.
    // If so, notify the user of this fact
-   UnusableImportPluginList::Node *unusableImporterNode
+   UnusableImportPluginList::compatibility_iterator unusableImporterNode
       = mUnusableImportPluginList->GetFirst();
    while(unusableImporterNode)
    {
diff --git a/src/import/ImportFFmpeg.cpp b/src/import/ImportFFmpeg.cpp
index d0617fb..e57d61d 100644
--- a/src/import/ImportFFmpeg.cpp
+++ b/src/import/ImportFFmpeg.cpp
@@ -270,8 +270,12 @@ private:
    int                   mNumStreams;    //!< mNumstreams is less or equal to mFormatContext->nb_streams
    streamContext       **mScs;           //!< Array of pointers to stream contexts. Length is mNumStreams.
    wxArrayString        *mStreamInfo;    //!< Array of stream descriptions. Length is mNumStreams
+   
+   wxInt64               mProgressPos;   //!< Current timestamp, file position or whatever is used as first argument for Update()
+   wxInt64               mProgressLen;   //!< Duration, total length or whatever is used as second argument for Update()
 
    bool                  mCancelled;     //!< True if importing was canceled by user
+   bool                  mStopped;       //!< True if importing was stopped by user
    wxString              mName;
    WaveTrack           ***mChannels;     //!< 2-dimentional array of WaveTrack's. First dimention - streams, second - channels of a stream. Length is mNumStreams
 };
@@ -344,9 +348,12 @@ FFmpegImportFileHandle::FFmpegImportFileHandle(const wxString & name)
    mFormatContext = NULL;
    mNumStreams = 0;
    mScs = NULL;
-   mCancelled =false;
+   mCancelled = false;
+   mStopped = false;
    mName = name;
    mChannels = NULL;
+   mProgressPos = 0;
+   mProgressLen = 1;
 }
 
 bool FFmpegImportFileHandle::Init()
@@ -357,7 +364,7 @@ bool FFmpegImportFileHandle::Init()
 
    FFmpegLibsInst->av_log_set_callback(av_log_wx_callback);
 
-   int err = FFmpegLibsInst->av_open_input_file(&mFormatContext,OSFILENAME(mName),NULL,0, NULL);
+   int err = ufile_fopen_input(&mFormatContext, mName);
    if (err < 0)
    {
       wxLogMessage(wxT("FFmpeg : av_open_input_file() failed for file %s"),mName.c_str());
@@ -496,7 +503,6 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
                break;
             case 1:
                mChannels[s][c]->SetChannel(Track::RightChannel);
-               mChannels[s][c]->SetTeamed(true);
                break;
             }
          }
@@ -531,15 +537,15 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
    // This is the heart of the importing process
    streamContext *sc = NULL;
    // The result of Import() to be returend. It will be something other than zero if user canceled or some error appears.
-   int res = 0;
+   int res = eProgressSuccess;
    // Read next frame.
-   while ((sc = ReadNextFrame()) != NULL && (res == 0))
+   while ((sc = ReadNextFrame()) != NULL && (res == eProgressSuccess))
    {
       // ReadNextFrame returns 1 if stream is not to be imported
       if (sc != (streamContext*)1)
       {
          // Decode frame until it is not possible to decode any further
-         while (sc->m_pktRemainingSiz > 0 && (res == 0))
+         while (sc->m_pktRemainingSiz > 0 && (res == eProgressSuccess || res == eProgressStopped))
          {
             if (DecodeFrame(sc,false) < 0)
                break;
@@ -552,14 +558,14 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
          // Cleanup after frame decoding
          if (sc->m_pktValid)
          {
-            av_free_packet(&sc->m_pkt);
+            FFmpegLibsInst->av_free_packet(&sc->m_pkt);
             sc->m_pktValid = 0;
          }    
       }
    }
 
    // Flush the decoders.
-   if ((mNumStreams != 0) && (res == 0))
+   if ((mNumStreams != 0) && (res == eProgressSuccess || res == eProgressStopped))
    {
       for (int i = 0; i < mNumStreams; i++)
       {
@@ -569,7 +575,7 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
 
             if (mScs[i]->m_pktValid)
             {
-               av_free_packet(&mScs[i]->m_pkt);
+               FFmpegLibsInst->av_free_packet(&mScs[i]->m_pkt);
                mScs[i]->m_pktValid = 0;
             }				
          }
@@ -577,7 +583,7 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
    }
 
    // Something bad happened - destroy everything!
-   if (res)
+   if (res == eProgressCancelled || res == eProgressFailed)
    {
       for (int s = 0; s < mNumStreams; s++)
       {
@@ -585,11 +591,9 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
       }
       delete[] mChannels;
 
-      if (mCancelled)
-         return eImportCancelled;
-      else
-         return eImportFailed;
+      return res;
    }
+   //else if (res == 2), we just stop the decoding as if the file has ended
 
    *outNumTracks = 0;
    for (int s = 0; s < mNumStreams; s++)
@@ -616,7 +620,7 @@ int FFmpegImportFileHandle::Import(TrackFactory *trackFactory,
    // Save metadata
    WriteMetadata(mFormatContext,tags);
 
-   return eImportSuccess;
+   return res;
 }
 
 streamContext *FFmpegImportFileHandle::ReadNextFrame()
@@ -640,7 +644,7 @@ streamContext *FFmpegImportFileHandle::ReadNextFrame()
    // When not all streams are selected for import this will happen very often.
    if (sc == NULL)
    {
-      av_free_packet(&pkt);
+      FFmpegLibsInst->av_free_packet(&pkt);
       return (streamContext*)1;
    }
 
@@ -777,13 +781,28 @@ int FFmpegImportFileHandle::WriteData(streamContext *sc)
    free(tmp);
    
    // Try to update the progress indicator (and see if user wants to cancel)
-   if (!mProgress->Update((wxLongLong)sc->m_pkt.pts * sc->m_stream->time_base.num / sc->m_stream->time_base.den,
-                          (wxLongLong)(mFormatContext->duration > 0 ? mFormatContext->duration / AV_TIME_BASE: 1))) {
-      mCancelled = true;
-      return 1;
+   int updateResult = eProgressSuccess;
+   // PTS (presentation time) is the proper way of getting current position
+   if (sc->m_pkt.pts != AV_NOPTS_VALUE && mFormatContext->duration != AV_NOPTS_VALUE)
+   {
+      mProgressPos = sc->m_pkt.pts * sc->m_stream->time_base.num / sc->m_stream->time_base.den;
+      mProgressLen = (mFormatContext->duration > 0 ? mFormatContext->duration / AV_TIME_BASE: 1);
+   }
+   // When PTS is not set, use number of frames and number of current frame
+   else if (sc->m_stream->nb_frames > 0 && sc->m_codecCtx->frame_number > 0 && sc->m_codecCtx->frame_number <= sc->m_stream->nb_frames)
+   {
+      mProgressPos = sc->m_codecCtx->frame_number;
+      mProgressLen = sc->m_stream->nb_frames;
    }
+   // When number of frames is unknown, use position in file
+   else if (mFormatContext->file_size > 0 && sc->m_pkt.pos > 0 && sc->m_pkt.pos <= mFormatContext->file_size)
+   {
+      mProgressPos = sc->m_pkt.pos;
+      mProgressLen = mFormatContext->file_size;
+   }
+   updateResult = mProgress->Update(mProgressPos, mProgressLen != 0 ? mProgressLen : 1);
 
-   return 0;
+   return updateResult;
 }
 
 void FFmpegImportFileHandle::WriteMetadata(AVFormatContext *avf,Tags *tags)
@@ -818,6 +837,9 @@ FFmpegImportFileHandle::~FFmpegImportFileHandle()
 
       delete mScs[i];
    }
+   free(mScs);
+
+   delete mStreamInfo;
 
    DropFFmpegLibs();
 }
diff --git a/src/import/ImportFLAC.cpp b/src/import/ImportFLAC.cpp
index 805f297..39c5676 100644
--- a/src/import/ImportFLAC.cpp
+++ b/src/import/ImportFLAC.cpp
@@ -40,6 +40,8 @@
 
 #include "../Tags.h"
 
+#define FLAC_HEADER "fLaC"
+
 #define DESC _("FLAC files")
 
 static const wxChar *exts[] =
@@ -76,6 +78,12 @@ void GetFLACImportPlugin(ImportPluginList *importPluginList,
 #include "../WaveTrack.h"
 #include "ImportPlugin.h"
 
+#ifdef USE_LIBID3TAG 
+extern "C" {
+#include <id3tag.h>
+}
+#endif
+
 /* FLACPP_API_VERSION_CURRENT is 6 for libFLAC++ from flac-1.1.3 (see <FLAC++/export.h>) */
 #if !defined FLACPP_API_VERSION_CURRENT || FLACPP_API_VERSION_CURRENT < 6
 #define LEGACY_FLAC
@@ -151,13 +159,14 @@ public:
 private:
    sampleFormat          mFormat;
    MyFLACFile           *mFile;
+   wxFFile               mHandle;
    unsigned long         mSampleRate;
    unsigned long         mNumChannels;
    unsigned long         mBitsPerSample;
    FLAC__uint64          mNumSamples;
    FLAC__uint64          mSamplesDone;
    bool                  mStreamInfoDone;
-   bool                  mCancelled;
+   int                   mUpdateResult;
    WaveTrack           **mChannels;
 };
 
@@ -250,8 +259,9 @@ FLAC__StreamDecoderWriteStatus MyFLACFile::write_callback(const FLAC__Frame *fra
 
    mFile->mSamplesDone += frame->header.blocksize;
 
-   if (!mFile->mProgress->Update((wxULongLong_t) mFile->mSamplesDone, mFile->mNumSamples != 0 ? (wxULongLong_t)mFile->mNumSamples : 1)) {
-      mFile->mCancelled = true;
+   mFile->mUpdateResult = mFile->mProgress->Update((wxULongLong_t) mFile->mSamplesDone, mFile->mNumSamples != 0 ? (wxULongLong_t)mFile->mNumSamples : 1);
+   if (mFile->mUpdateResult != eProgressSuccess)
+   {
       return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
    }
 
@@ -275,12 +285,29 @@ wxString FLACImportPlugin::GetPluginFormatDescription()
 ImportFileHandle *FLACImportPlugin::Open(wxString filename)
 {
    // First check if it really is a FLAC file
-   
+
+   int cnt;
    wxFile binaryFile;
-   if (!binaryFile.Open(filename))
+   if (!binaryFile.Open(filename)) {
       return false; // File not found
+   }
 
+#ifdef USE_LIBID3TAG
+   // Skip any ID3 tags that might be present
+   id3_byte_t query[ID3_TAG_QUERYSIZE];
+   cnt = binaryFile.Read(query, sizeof(query));
+   cnt = id3_tag_query(query, cnt);
+   binaryFile.Seek(cnt);
+#endif   
+
+   char buf[5];
+   cnt = binaryFile.Read(buf, 4);
    binaryFile.Close();
+
+   if (cnt == wxInvalidOffset || strncmp(buf, FLAC_HEADER, 4) != 0) {
+      // File is not a FLAC file
+      return false; 
+   }
    
    // Open the file for import
    FLACImportFileHandle *handle = new FLACImportFileHandle(filename);
@@ -299,7 +326,7 @@ FLACImportFileHandle::FLACImportFileHandle(const wxString & name)
 :  ImportFileHandle(name),
    mSamplesDone(0),
    mStreamInfoDone(false),
-   mCancelled(false)
+   mUpdateResult(eProgressSuccess)
 {
    mFormat = (sampleFormat)
       gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleFormat"), floatSample);
@@ -309,7 +336,7 @@ FLACImportFileHandle::FLACImportFileHandle(const wxString & name)
 bool FLACImportFileHandle::Init()
 {
 #ifdef LEGACY_FLAC
-   bool success = mFile->set_filename(OSFILENAME(mFilename));
+   bool success = mFile->set_filename(OSINPUT(mFilename));
    if (!success) {
       return false;
    }
@@ -320,7 +347,20 @@ bool FLACImportFileHandle::Init()
       return false;
    }
 #else
-   if (mFile->init(OSFILENAME(mFilename)) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
+   if (!mHandle.Open(mFilename, wxT("rb"))) {
+      return false;
+   }
+
+   // Even though there is an init() method that takes a filename, use the one that
+   // takes a file handle because wxWidgets can open a file with a Unicode name and
+   // libflac can't (under Windows).
+   //
+   // Responsibility for closing the file is passed to libflac.
+   // (it happens when mFile->finish() is called)
+   bool result = mFile->init(mHandle.fp())?true:false;
+   mHandle.Detach();
+
+   if (result != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
       return false;
    }
 #endif
@@ -381,7 +421,6 @@ int FLACImportFileHandle::Import(TrackFactory *trackFactory,
             break;
          case 1:
             mChannels[c]->SetChannel(Track::RightChannel);
-            mChannels[c]->SetTeamed(true);
             break;
          }
       }
@@ -396,13 +435,13 @@ int FLACImportFileHandle::Import(TrackFactory *trackFactory,
    bool res = (mFile->process_until_end_of_stream() != 0);
 #endif
 
-   if (!res) {
+   if (mUpdateResult == eProgressFailed || mUpdateResult == eProgressCancelled) {
       for(c = 0; c < mNumChannels; c++) {
          delete mChannels[c];
       }
       delete[] mChannels;
 
-      return (mCancelled ? eImportCancelled : eImportFailed);
+      return mUpdateResult;
    }
    
    *outNumTracks = mNumChannels;
@@ -427,7 +466,7 @@ int FLACImportFileHandle::Import(TrackFactory *trackFactory,
       tags->SetTag(name, value);
    }
 
-   return eImportSuccess;
+   return mUpdateResult;
 }
 
 
diff --git a/src/import/ImportLOF.cpp b/src/import/ImportLOF.cpp
index dfcffc3..cbb0609 100644
--- a/src/import/ImportLOF.cpp
+++ b/src/import/ImportLOF.cpp
@@ -231,7 +231,7 @@ int LOFImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
    if(mTextFile->Eof())
    {
       mTextFile->Close();
-      return eImportFailed;
+      return eProgressFailed;
    }
 
    wxString line = mTextFile->GetFirstLine();
@@ -251,9 +251,9 @@ int LOFImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
 
    // exited ok
    if(mTextFile->Close())
-      return eImportSuccess;
+      return eProgressSuccess;
 
-   return eImportFailed;
+   return eProgressFailed;
 }
 
 static int CountNumTracks(AudacityProject *proj)
diff --git a/src/import/ImportMP3.cpp b/src/import/ImportMP3.cpp
index db1c5c9..5e89de8 100644
--- a/src/import/ImportMP3.cpp
+++ b/src/import/ImportMP3.cpp
@@ -98,7 +98,7 @@ struct private_data {
    WaveTrack **channels;
    ProgressDialog *progress;
    int numChannels;
-   bool cancelled;
+   int updateResult;
    bool id3checked;
 };
 
@@ -214,7 +214,7 @@ int MP3ImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
    mPrivateData.inputBuffer = new unsigned char [INPUT_BUFFER_SIZE];
    mPrivateData.progress    = mProgress;
    mPrivateData.channels    = NULL;
-   mPrivateData.cancelled   = false;
+   mPrivateData.updateResult= eProgressSuccess;
    mPrivateData.id3checked  = false;
    mPrivateData.numChannels = 0;
    mPrivateData.trackFactory= trackFactory;
@@ -225,7 +225,8 @@ int MP3ImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
 
    bool res = (mad_decoder_run(&mDecoder, MAD_DECODER_MODE_SYNC) == 0) &&
               (mPrivateData.numChannels > 0) &&
-              (!mPrivateData.cancelled);
+              !(mPrivateData.updateResult == eProgressCancelled) &&
+              !(mPrivateData.updateResult == eProgressFailed);
 
    mad_decoder_finish(&mDecoder);
 
@@ -241,7 +242,7 @@ int MP3ImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
       }
       delete[] mPrivateData.channels;
 
-      return (mPrivateData.cancelled ? eImportCancelled : eImportFailed);
+      return (mPrivateData.updateResult);
    }
 
    /* success */
@@ -260,7 +261,7 @@ int MP3ImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
    /* Read in any metadata */
    ImportID3(tags);
 
-      return eImportSuccess;
+      return mPrivateData.updateResult;
    }
 
 MP3ImportFileHandle::~MP3ImportFileHandle()
@@ -275,12 +276,24 @@ MP3ImportFileHandle::~MP3ImportFileHandle()
 
 void MP3ImportFileHandle::ImportID3(Tags *tags)
 {
-#ifdef USE_LIBID3TAG 
-   struct id3_file *fp = id3_file_open(OSFILENAME(mFilename), ID3_FILE_MODE_READONLY);
+#ifdef USE_LIBID3TAG
+   wxFile f;   // will be closed when it goes out of scope
+   struct id3_file *fp = NULL;
+
+   if (f.Open(mFilename)) {
+      // Use id3_file_fdopen() instead of id3_file_open since wxWidgets can open a
+      // file with a Unicode name and id3_file_open() can't (under Windows).
+      fp = id3_file_fdopen(f.fd(), ID3_FILE_MODE_READONLY);
+   }
+      
    if (!fp) {
       return;
    }
 
+   // The file descriptor is now owned by "fp", so we must tell "f" to forget
+   // about it.
+   f.Detach();
+
    struct id3_tag *tp = id3_file_tag(fp);
    if (!tp) {
       id3_file_close(fp);
@@ -391,13 +404,12 @@ enum mad_flow input_cb(void *_data, struct mad_stream *stream)
 {
    struct private_data *data = (struct private_data *)_data;
 
-   data->cancelled = !data->progress->Update((wxULongLong_t)data->file->Tell(),
+   data->updateResult = data->progress->Update((wxULongLong_t)data->file->Tell(),
                                              (wxULongLong_t)data->file->Length());
-   if(data->cancelled)
+   if(data->updateResult != eProgressSuccess)
       return MAD_FLOW_STOP;
 
    if(data->file->Eof()) {
-      data->cancelled = false;
       return MAD_FLOW_STOP;
    }
 
@@ -406,7 +418,7 @@ enum mad_flow input_cb(void *_data, struct mad_stream *stream)
       data->file->Read(data->inputBuffer, ID3_TAG_QUERYSIZE);
       int len = id3_tag_query(data->inputBuffer, ID3_TAG_QUERYSIZE);
       if (len > 0) {
-         data->file->Seek(len, wxFromCurrent);
+         data->file->Seek(len, wxFromStart);
       }
       else {
          data->file->Seek(0);
@@ -477,7 +489,6 @@ enum mad_flow output_cb(void *_data,
          data->channels[0]->SetChannel(Track::LeftChannel);
          data->channels[1]->SetChannel(Track::RightChannel);
          data->channels[0]->SetLinked(true);
-         data->channels[1]->SetTeamed(true);
       }
       data->numChannels = channels;
    }
diff --git a/src/import/ImportOGG.cpp b/src/import/ImportOGG.cpp
index 2c8674d..1c79d4a 100644
--- a/src/import/ImportOGG.cpp
+++ b/src/import/ImportOGG.cpp
@@ -257,7 +257,6 @@ int OggImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
             break;
          case 1:
             mChannels[i][c]->SetChannel(Track::RightChannel);
-            mChannels[i][c]->SetTeamed(true);
             break;
             }
          }
@@ -285,7 +284,7 @@ int OggImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
       endian = 1;  // big endian
 
    /* number of samples currently in each channel's buffer */
-   bool cancelled = false;
+   int updateResult = eProgressSuccess;
    long bytesRead = 0;
    long samplesRead = 0;
    int bitstream = 0;
@@ -327,18 +326,20 @@ int OggImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
 
       samplesSinceLastCallback += samplesRead;
       if (samplesSinceLastCallback > SAMPLES_PER_CALLBACK) {
-          cancelled = !mProgress->Update(ov_time_tell(mVorbisFile),
+          updateResult = mProgress->Update(ov_time_tell(mVorbisFile),
                                          ov_time_total(mVorbisFile, bitstream));
           samplesSinceLastCallback -= SAMPLES_PER_CALLBACK;
 
       }
-   } while (!cancelled && bytesRead != 0);
+   } while (updateResult == eProgressSuccess && bytesRead != 0);
 
    delete[]mainBuffer;
 
-   bool res = (!cancelled && bytesRead >= 0);
+   int res = updateResult;
+   if (bytesRead < 0)
+     res = eProgressFailed;
 
-   if (!res) {
+   if (res == eProgressFailed || res == eProgressCancelled) {
       for (i = 0; i < mVorbisFile->links; i++)
       {
          if (mChannels[i])
@@ -351,7 +352,7 @@ int OggImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
          }
       }
       delete[] mChannels;
-      return (cancelled ? eImportCancelled : eImportFailed);
+      return res;
    }
 
    *outNumTracks = 0;
@@ -394,7 +395,7 @@ int OggImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
       }
    }
 
-   return eImportSuccess;
+   return res;
 }
 
 OggImportFileHandle::~OggImportFileHandle()
diff --git a/src/import/ImportPCM.cpp b/src/import/ImportPCM.cpp
index 4abb67c..2c75daa 100644
--- a/src/import/ImportPCM.cpp
+++ b/src/import/ImportPCM.cpp
@@ -118,11 +118,24 @@ wxString PCMImportPlugin::GetPluginFormatDescription()
 ImportFileHandle *PCMImportPlugin::Open(wxString filename)
 {
    SF_INFO info;
-   SNDFILE *file;
+   SNDFILE *file = NULL;
 
    memset(&info, 0, sizeof(info));
 
-   file = sf_open(OSFILENAME(filename), SFM_READ, &info);
+   wxFile f;   // will be closed when it goes out of scope
+
+   if (f.Open(filename)) {
+      // Even though there is an sf_open() that takes a filename, use the one that
+      // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+      // libsndfile can't (under Windows).
+      file = sf_open_fd(f.fd(), SFM_READ, &info, TRUE);
+   }
+
+   // The file descriptor is now owned by "file", so we must tell "f" to leave
+   // it alone.  The file descriptor is closed by sf_open_fd() even if an error
+   // occurs.
+   f.Detach();
+
    if (!file) {
       // TODO: Handle error
       //char str[1000];
@@ -196,12 +209,11 @@ int PCMImportFileHandle::Import(TrackFactory *trackFactory,
 
    if (mInfo.channels == 2) {
       channels[0]->SetLinked(true);
-      channels[1]->SetTeamed(true);
    }
 
    sampleCount fileTotalFrames = (sampleCount)mInfo.frames;
    sampleCount maxBlockSize = channels[0]->GetMaxBlockSize();
-   bool cancelled = false;
+   int updateResult = false;
    
    wxString copyEdit =
        gPrefs->Read(wxT("/FileFormats/CopyOrEditUncompressedData"), wxT("edit"));
@@ -246,12 +258,11 @@ int PCMImportFileHandle::Import(TrackFactory *trackFactory,
          for (c = 0; c < mInfo.channels; c++)
             channels[c]->AppendAlias(mFilename, i, blockLen, c,useOD);
 
-         cancelled = !mProgress->Update(i, fileTotalFrames);
-         if (cancelled)
+         updateResult = mProgress->Update(i, fileTotalFrames);
+         if (updateResult != eProgressSuccess)
             break;
       }
       
-#ifdef EXPERIMENTAL_ONDEMAND
       //now go over the wavetrack/waveclip/sequence and load all the blockfiles into a ComputeSummaryTask.  
       //Add this task to the ODManager and the Track itself.      
        wxLogDebug(wxT("Importing PCM \n"));
@@ -274,8 +285,6 @@ int PCMImportFileHandle::Import(TrackFactory *trackFactory,
          if(!moreThanStereo)
             ODManager::Instance()->AddNewTask(computeTask);
       }
-#endif      
-      
    }
    else {
       // Otherwise, we're in the "copy" mode, where we read in the actual
@@ -315,20 +324,23 @@ int PCMImportFileHandle::Import(TrackFactory *trackFactory,
             framescompleted += block;
          }
 
-         cancelled = !mProgress->Update((long long unsigned)framescompleted,
+         updateResult = mProgress->Update((long long unsigned)framescompleted,
                                         (long long unsigned)fileTotalFrames);
-         if (cancelled)
+         if (updateResult != eProgressSuccess)
             break;
 
       } while (block > 0);
+
+      DeleteSamples(buffer);
+      DeleteSamples(srcbuffer);
    }
 
-   if (cancelled) {
+   if (updateResult == eProgressFailed || updateResult == eProgressCancelled) {
       for (c = 0; c < mInfo.channels; c++)
          delete channels[c];
       delete[] channels;
 
-      return eImportCancelled;
+      return updateResult;
    }
 
    *outNumTracks = mInfo.channels;
@@ -382,8 +394,11 @@ int PCMImportFileHandle::Import(TrackFactory *trackFactory,
 
          f.Seek(12);        // Skip filetype, length, and formtype
 
-         while (!f.Eof()) {
+         while (!f.Error()) {
             f.Read(id, 4);    // Get chunk type
+            if (f.Eof()) {
+               break;
+            }
             f.Read(&len, 4);
             len = wxUINT32_SWAP_ON_LE(len);
 
@@ -506,7 +521,7 @@ int PCMImportFileHandle::Import(TrackFactory *trackFactory,
    //comment out to undo profiling.
    //END_TASK_PROFILING("Pre-GSOC (PCMAliasBlockFile) open an 80 mb wav stereo file");
 
-   return eImportSuccess;
+   return updateResult;
 }
 
 PCMImportFileHandle::~PCMImportFileHandle()
diff --git a/src/import/ImportPlugin.h b/src/import/ImportPlugin.h
index aba199c..e7e1297 100644
--- a/src/import/ImportPlugin.h
+++ b/src/import/ImportPlugin.h
@@ -68,13 +68,6 @@ class Tags;
 
 class ImportFileHandle;
 
-enum
-{
-   eImportSuccess,
-   eImportCancelled,
-   eImportFailed
-};
-
 class ImportPlugin
 {
 public:
diff --git a/src/import/ImportQT.cpp b/src/import/ImportQT.cpp
index 92ac562..71f73c9 100644
--- a/src/import/ImportQT.cpp
+++ b/src/import/ImportQT.cpp
@@ -397,7 +397,7 @@ int QTImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
    fillBufferUPP = NewSoundConverterFillBufferDataUPP(SoundConverterFillBufferCallback);
 
    bool done = false;
-   bool cancelled = false;
+   int updateResult = eProgressSuccess;
    sampleCount samplesSinceLastCallback = 0;
    UInt32 outputFrames;
    UInt32 outputBytes;
@@ -405,7 +405,7 @@ int QTImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
 
 #define SAMPLES_PER_CALLBACK 10000
 
-   while(!done && !cancelled)
+   while(!done && updateResult == eProgressSuccess)
    {
       err = SoundConverterFillBuffer(soundConverter,    // a sound converter
                                      fillBufferUPP,     // the callback
@@ -430,8 +430,8 @@ int QTImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
       samplesSinceLastCallback += outputFrames;
       if( samplesSinceLastCallback > SAMPLES_PER_CALLBACK )
       {
-         cancelled = !mProgress->Update((wxULongLong_t)cbData.getMediaAtThisTime,
-                                        (wxULongLong_t)cbData.sourceDuration);
+         updateResult = mProgress->Update((wxULongLong_t)cbData.getMediaAtThisTime,
+                                          (wxULongLong_t)cbData.sourceDuration);
          samplesSinceLastCallback -= SAMPLES_PER_CALLBACK;
       }
    }
@@ -453,7 +453,7 @@ int QTImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
       channels[c]->Flush();
    }
 
-   bool res = (!cancelled && err == noErr);
+   bool res = (updateResult == eProgressSuccess && err == noErr);
 
    //
    // Extract any metadata
@@ -472,7 +472,7 @@ int QTImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
          delete channels[c];
       delete[] channels;
 
-      return (cancelled ? eImportCancelled : eImportFailed);
+      return (updateResult == eProgressCancelled ? eProgressCancelled : eProgressFailed);
    }
 
    *outNumTracks = outputFormat.numChannels;
@@ -481,7 +481,7 @@ int QTImportFileHandle::Import(TrackFactory *trackFactory, Track ***outTracks,
          (*outTracks)[c] = channels[c];
       delete[] channels;
 
-   return eImportSuccess;
+   return eProgressSuccess;
 }
 
 static const struct
diff --git a/src/import/ImportRaw.cpp b/src/import/ImportRaw.cpp
index 15bd5cb..ed70637 100644
--- a/src/import/ImportRaw.cpp
+++ b/src/import/ImportRaw.cpp
@@ -98,7 +98,7 @@ int ImportRaw(wxWindow *parent, wxString fileName,
    sampleCount totalFrames;
    double rate = 44100.0;
    double percent = 100.0;
-   SNDFILE *sndFile;
+   SNDFILE *sndFile = NULL;
    SF_INFO sndInfo;
    int result;
 
@@ -130,8 +130,16 @@ int ImportRaw(wxWindow *parent, wxString fileName,
    sndInfo.channels = (int)numChannels;
    sndInfo.format = encoding | SF_FORMAT_RAW;
 
-   sndFile = sf_open(OSFILENAME(fileName), SFM_READ, &sndInfo);
-   if (!sndFile) {
+   wxFile f;   // will be closed when it goes out of scope
+
+   if (f.Open(fileName)) {
+      // Even though there is an sf_open() that takes a filename, use the one that
+      // takes a file descriptor since wxWidgets can open a file with a Unicode name and
+      // libsndfile can't (under Windows).
+      sndFile = sf_open_fd(f.fd(), SFM_READ, &sndInfo, FALSE);
+   }
+
+   if (!sndFile){
       // TODO: Handle error
       char str[1000];
       sf_error_str((SNDFILE *)NULL, str, 1000);
@@ -187,11 +195,10 @@ int ImportRaw(wxWindow *parent, wxString fileName,
 
    if (numChannels == 2) {
       channels[0]->SetLinked(true);
-      channels[1]->SetTeamed(true);
    }
 
    sampleCount maxBlockSize = channels[0]->GetMaxBlockSize();
-   bool cancelled = false;
+   int updateResult = eProgressSuccess;
 
    samplePtr srcbuffer = NewSamples(maxBlockSize * numChannels, format);
    samplePtr buffer = NewSamples(maxBlockSize, format);
@@ -234,22 +241,25 @@ int ImportRaw(wxWindow *parent, wxString fileName,
          framescompleted += block;
       }
 
-      cancelled = !progress.Update((wxULongLong_t)framescompleted,
+      updateResult = progress.Update((wxULongLong_t)framescompleted,
                                    (wxULongLong_t)totalFrames);
-      if (cancelled)
+      if (updateResult != eProgressSuccess)
          break;
       
    } while (block > 0 && framescompleted < totalFrames);
 
    sf_close(sndFile);
 
-   bool res = (!cancelled && block >= 0);
+   int res = updateResult;
+   if (block < 0)
+     res = eProgressFailed;
 
-   if (!res) {
+   if (res == eProgressFailed || res == eProgressCancelled) {
       for (c = 0; c < numChannels; c++)
          delete channels[c];
       delete[] channels;
 
+      // It's a shame we can't return proper error code
       return 0;
    }
 
diff --git a/src/ondemand/ODComputeSummaryTask.cpp b/src/ondemand/ODComputeSummaryTask.cpp
index 4eba640..c1ea0b6 100644
--- a/src/ondemand/ODComputeSummaryTask.cpp
+++ b/src/ondemand/ODComputeSummaryTask.cpp
@@ -186,7 +186,7 @@ void ODComputeSummaryTask::Update()
          Sequence *seq;
          
          //gather all the blockfiles that we should process in the wavetrack.
-         WaveClipList::Node* node = mWaveTracks[j]->GetClipIterator();
+         WaveClipList::compatibility_iterator node = mWaveTracks[j]->GetClipIterator();
          
          int numBlocksDone;         
          while(node) {
diff --git a/src/ondemand/ODDecodeTask.cpp b/src/ondemand/ODDecodeTask.cpp
index 5e46c14..2d8470e 100644
--- a/src/ondemand/ODDecodeTask.cpp
+++ b/src/ondemand/ODDecodeTask.cpp
@@ -113,7 +113,7 @@ void ODDecodeTask::Update()
          Sequence *seq;
          
          //gather all the blockfiles that we should process in the wavetrack.
-         WaveClipList::Node* node = mWaveTracks[j]->GetClipIterator();
+         WaveClipList::compatibility_iterator node = mWaveTracks[j]->GetClipIterator();
          
          int numBlocksDone;         
          while(node) {
diff --git a/src/ondemand/ODManager.cpp b/src/ondemand/ODManager.cpp
index 214bd94..699c929 100644
--- a/src/ondemand/ODManager.cpp
+++ b/src/ondemand/ODManager.cpp
@@ -37,7 +37,6 @@ int CompareODFileName(const wxString& first, const wxString& second)
    bool firstIsOD = false;
    bool secondIsOD = false;
 
-#ifdef EXPERIMENTAL_ONDEMAND         
    if(first.EndsWith(wxT("wav"))||first.EndsWith(wxT("WAV"))||
       first.EndsWith(wxT("wave"))||first.EndsWith(wxT("WAVE"))||
       first.EndsWith(wxT("Wav"))||first.EndsWith(wxT("Wave"))||
@@ -56,8 +55,6 @@ int CompareODFileName(const wxString& first, const wxString& second)
     {
       secondIsOD=true;
     }
-        
-#endif
     
     if(firstIsOD && !secondIsOD)
       return 1;
@@ -73,7 +70,6 @@ int CompareODFirstFileName(const wxString& first, const wxString& second)
    bool firstIsOD = false;
    bool secondIsOD = false;
    
-#ifdef EXPERIMENTAL_ONDEMAND      
    if(first.EndsWith(wxT("wav"))||first.EndsWith(wxT("WAV"))||
       first.EndsWith(wxT("wave"))||first.EndsWith(wxT("WAVE"))||
       first.EndsWith(wxT("Wav"))||first.EndsWith(wxT("Wave"))||
@@ -92,8 +88,6 @@ int CompareODFirstFileName(const wxString& first, const wxString& second)
     {
       secondIsOD=true;
     }
-        
-#endif    
     
     if(firstIsOD && !secondIsOD)
       return -1;
@@ -254,8 +248,6 @@ void ODManager::DecrementCurrentThreads()
 ///Main loop for managing threads and tasks.
 void ODManager::Start()
 {   
-
-   ODTask* task;
    ODTaskThread* thread;
    bool tasksInArray;
    
@@ -287,21 +279,22 @@ void ODManager::Start()
          mCurrentThreadsMutex.Unlock();
          //remove the head
          mTasksMutex.Lock();
-         task = mTasks[0];
+         //task = mTasks[0];
          
          //the thread will add it back to the array if the job is not yet done at the end of the thread's run.  
-         mTasks.erase(mTasks.begin());  
+         //mTasks.erase(mTasks.begin());  
          mTasksMutex.Unlock();
          
          //detach a new thread.
-         thread = new ODTaskThread(task);
+         thread = new ODTaskThread(mTasks[0]);//task);
          
 //         thread->SetPriority(10);//default is 50.
          thread->Create();
          thread->Run();
          
-         mTasksMutex.Lock();
+         mTasks.erase(mTasks.begin()); 
          tasksInArray = mTasks.size()>0;
+         
          mTasksMutex.Unlock();
          
          mCurrentThreadsMutex.Lock();
diff --git a/src/ondemand/ODTask.cpp b/src/ondemand/ODTask.cpp
index 8a216f5..6c8017a 100644
--- a/src/ondemand/ODTask.cpp
+++ b/src/ondemand/ODTask.cpp
@@ -44,6 +44,7 @@ ODTask::ODTask()
    mDemandSample=0;
 }
 
+//outside code must ensure this task is not scheduled again.
 void ODTask::TerminateAndBlock()
 {  
    //one mutex pair for the value of mTerminate
@@ -57,7 +58,7 @@ void ODTask::TerminateAndBlock()
 //TODO lock mTerminate?
    mBlockUntilTerminateMutex.Unlock();
    
-   //wait till we are out of doSome() to terminate.
+   //wait till we are out of doSome() to terminate. 
    Terminate();
 }
    
@@ -82,9 +83,9 @@ void ODTask::DoSome(float amountWork)
    mTerminateMutex.Lock();
    if(mTerminate)
    {
-      mBlockUntilTerminateMutex.Unlock();
       mTerminateMutex.Unlock();
       SetIsRunning(false);
+      mBlockUntilTerminateMutex.Unlock();
       return;
    }  
    mTerminateMutex.Unlock();
@@ -168,9 +169,8 @@ void ODTask::DoSome(float amountWork)
 //      printf("%s %i complete\n", GetTaskName(),GetTaskNumber());
    }
    mTerminateMutex.Unlock();
-   mBlockUntilTerminateMutex.Unlock();
    SetIsRunning(false);
-   
+   mBlockUntilTerminateMutex.Unlock();
 }
 
 bool ODTask::IsTaskAssociatedWithProject(AudacityProject* proj)
@@ -262,7 +262,7 @@ bool ODTask::IsComplete()
 
 WaveTrack* ODTask::GetWaveTrack(int i)
 {
-   WaveTrack* track;
+   WaveTrack* track = NULL;
    mWaveTrackMutex.Lock();
    if(i<(int)mWaveTracks.size())
       track = mWaveTracks[i];
diff --git a/src/ondemand/ODTaskThread.h b/src/ondemand/ODTaskThread.h
index b3aa976..1f804b2 100644
--- a/src/ondemand/ODTaskThread.h
+++ b/src/ondemand/ODTaskThread.h
@@ -54,7 +54,12 @@ class ODTaskThread {
    }
    static void *callback(void *p) {
       ODTaskThread *th = (ODTaskThread *)p;
-      /* return (void *)*/th->Entry();
+#if defined(__WXMAC__)
+      /*return (void *)*/ th->Entry();
+      return NULL;
+#else
+      return (void *) th->Entry();
+#endif
    }
    void Run() {
       pthread_create(&mThread, NULL, callback, this);
diff --git a/src/prefs/AudioIOPrefs.cpp b/src/prefs/AudioIOPrefs.cpp
deleted file mode 100644
index 5253bfc..0000000
--- a/src/prefs/AudioIOPrefs.cpp
+++ /dev/null
@@ -1,285 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  AudioIOPrefs.cpp
-
-  Joshua Haberman
-  Dominic Mazzoni
-  James Crook
-
-*******************************************************************//**
-
-\class AudioIOPrefs
-\brief A PrefsPanel used to select recording and playback devices and
-other settings.
-
-  Presents interface for user to select the recording device and
-  playback device, from the list of choices that PortAudio
-  makes available.
-
-  Also lets user decide whether or not to record in stereo, and
-  whether or not to play other tracks while recording one (duplex).
-
-*//********************************************************************/
-
-#include "../Audacity.h"
-#include <wx/defs.h>
-#include <wx/choice.h>
-#include <wx/intl.h>
-
-#include "../Prefs.h"
-#include "../AudioIO.h"
-#include "../Project.h"
-#include "../Internat.h"
-#include "../ShuttleGui.h"
-#include "portaudio.h"
-#include "AudioIOPrefs.h"
-
-AudioIOPrefs::AudioIOPrefs(wxWindow * parent):
-   PrefsPanel(parent)
-{
-   SetLabel(_("Audio I/O"));         // Provide visual label
-   SetName(_("Audio I/O"));          // Provide audible label
-   Populate();
-}
-
-void AudioIOPrefs::Populate( )
-{
-   // First any pre-processing for constructing the GUI.
-   GetNamesAndLabels();
-   //------------------------- Main section --------------------
-   // Now construct the GUI itself.
-   // Use 'eIsCreatingFromPrefs' so that the GUI is 
-   // initialised with values from gPrefs.
-   ShuttleGui S(this, eIsCreatingFromPrefs);
-   PopulateOrExchange(S);
-   // ----------------------- End of main section --------------
-   // GUI is built, now do any post processing of it.
-
-   // Fit(); // JKC: Doesn't seem to make any difference...
-}
-
-/// Gets the lists of names and lists of labels which are
-/// used in the choice controls.
-/// The names are what the user sees in the wxChoice.
-/// The corresponding labels are what gets stored.
-void AudioIOPrefs::GetNamesAndLabels()
-{
-   // Get lists of devices both for play and record.
-   int j;
-   wxString Name;
-   wxString Label;
-
-#if USE_PORTAUDIO_V19
-   int nDevices = Pa_GetDeviceCount();
-#else
-   int nDevices = Pa_CountDevices();
-#endif
-
-//   int numChannels = 0; // find max no. of record channels available
-   for(j=0; j<nDevices; j++) {
-      const PaDeviceInfo* info = Pa_GetDeviceInfo(j);
-      Name = DeviceName(info);
-      Label = Name;
-      if (info->maxOutputChannels > 0) {
-         mmPlayNames.Add( Name );
-         mmPlayLabels.Add( Label );
-      }
-      if (info->maxInputChannels > 0) {
-         mmRecordNames.Add( Name );
-         mmRecordLabels.Add( Label );
-//         if (info->maxInputChannels > numChannels)
-//            numChannels = info->maxInputChannels;
-      }
-   }
-
-   // Channel counts, mono, stereo etc...
-   const int numChannels = 16;
-   for(int c=0; c<numChannels; c++)
-   {
-      mmChannelNames.Add(  wxString::Format(wxT("%d"), c+1));
-      mmChannelLabels.Add( c+1 );
-   }
-   mmChannelNames[0] = wxString::Format(_("1 (Mono)"));
-   mmChannelNames[1] = wxString::Format(_("2 (Stereo)"));
-}
-
-void AudioIOPrefs::PopulateOrExchange( ShuttleGui & S )
-{
-   /// \todo
-   /// JKC: I think setting paths in gPrefs is bad practice.
-   /// Suppose we are using gPrefs from elsewhere at the same time?
-   /// Change these all to full paths?
-   gPrefs->SetPath(wxT("/AudioIO"));
-
-   S.SetBorder( 2 );
-
-   S.StartHorizontalLay(wxEXPAND, 0 );
-   S.StartStatic( _("Playback"),1 );
-   {
-      S.StartMultiColumn(2, wxEXPAND);
-      S.SetStretchyCol(1);
-      mPlay = S.TieChoice( _("Device") + wxString(wxT(":")), wxT("PlaybackDevice"), 
-         wxT(""), mmPlayNames, mmPlayLabels );
-
-      S.AddPrompt( _("Using:") );
-      wxString ver = _("Portaudio v");
-#if USE_PORTAUDIO_V19
-      ver += wxT("19");
-#else
-      ver += wxT("18");
-#endif
-      S.AddFixedText( ver );
-      S.EndMultiColumn();
-   }                              
-   S.EndStatic();
-   S.StartStatic( _("Recording"), 1 );
-   {
-      S.StartMultiColumn(2, wxEXPAND);
-      S.SetStretchyCol(1);
-      mRec = S.TieChoice( _("Device") + wxString(wxT(":")), wxT("RecordingDevice"), 
-         wxT(""), mmRecordNames, mmRecordLabels );
-      S.TieChoice( _("Channels") + wxString(wxT(":")), wxT("RecordChannels"), 
-         2, mmChannelNames, mmChannelLabels );
-      S.EndMultiColumn();
-   }
-   S.EndStatic();
-   S.EndHorizontalLay();
-   S.StartStatic( _("Playthrough") );
-   {
-      S.TieCheckBox( _("Overdub: &Play other tracks while recording new one"),
-         wxT("Duplex"),true);
-#ifdef __WXMAC__
-      S.TieCheckBox( _("&Hardware Playthrough: Play new track while recording it"),
-         wxT("Playthrough"),false);
-      S.TieCheckBox( _("&Software Playthrough: Play new track while recording it"),
-         wxT("SWPlaythrough"),false);
-#else
-      S.TieCheckBox( _("&Software Playthrough: Play new track while recording or monitoring"),
-         wxT("SWPlaythrough"),false);
-      wxString Temp = wxT("     ");
-      Temp += _("(uncheck when recording \"stereo mix\")");
-      // AddUnits abused here to get left aligned text.
-      S.AddUnits(Temp);
-#endif
-
-   }
-   S.EndStatic();
-   S.StartHorizontalLay( wxEXPAND, 0 );
-   S.StartStatic( _("Effects Preview"),1 );
-   {
-      S.StartThreeColumn();
-      S.TieTextBox( _("Length of preview:"), wxT("EffectsPreviewLen"), 3.0,9);
-      S.AddUnits( _("seconds") );
-      S.EndThreeColumn();
-   }
-   S.EndStatic();
-   S.StartStatic( _("Cut Preview"),1 );
-   {
-      S.StartThreeColumn();
-      S.TieTextBox( _("Preview before cut region:"), wxT("CutPreviewBeforeLen"),1.0,9);
-      S.AddUnits(  _("seconds") );
-      S.TieTextBox( _("Preview after cut region:"),wxT("CutPreviewAfterLen"), 1.0,9);
-      S.AddUnits(  _("seconds") );
-      S.EndThreeColumn();
-   }
-   S.EndStatic();
-   S.EndHorizontalLay();
-   S.StartHorizontalLay( wxEXPAND, 0 );
-
-   S.StartStatic( _("Latency"),1 );
-   {
-      S.StartThreeColumn();
-#if USE_PORTAUDIO_V19
-      // only show the following controls if we use Portaudio v19, because
-      // for Portaudio v18 we always use default buffer sizes
-      S.TieTextBox( _("Audio to buffer:\n(higher = more latency)"),wxT("LatencyDuration"),
-         DEFAULT_LATENCY_DURATION,9);
-      S.AddUnits(  _("milliseconds") );
-#endif
-      S.TieTextBox( _("Latency correction:\n(negative = backwards)"),wxT("LatencyCorrection"),
-         DEFAULT_LATENCY_CORRECTION,9);
-      S.AddUnits(  _("milliseconds") );
-      S.EndThreeColumn();
-   }
-   S.EndStatic();
-   S.StartStatic( _("Seek Time when playing"),1 );
-   {
-      S.StartThreeColumn();
-      S.TieTextBox( _("Short period:"), wxT("SeekShortPeriod"),1.0,9);
-      S.AddUnits(  _("seconds") );
-      S.TieTextBox( _("Long period:"),wxT("SeekLongPeriod"), 15.0,9);
-      S.AddUnits(  _("seconds") );
-      S.EndThreeColumn();
-   }
-   S.EndStatic();
-
-   gPrefs->SetPath(wxT("/"));
-}
-
-
-// JKC: This is some old code that was sizing control labels all the same, 
-// even if in different static controls.  It made for a nicer layout.
-// We might want to do something like that again in future.
-#if 0
-
-   // find out the biggest minimum size of labels
-   int maxIndex = 0,r;
-   wxSize maxMinSize = textSizer[0]->GetMinSize();
-   for (r = 1; r < 3; r++) {
-      if (textSizer[r]->GetMinSize().GetWidth() > maxMinSize.GetWidth()) {
-         maxMinSize = textSizer[r]->GetMinSize();
-         maxIndex = r;
-      }
-   }
-
-   // set small minimum sizes to max minumum size
-   for (r = 0; r < 3; r++) {
-      if (r != maxIndex) 
-         textSizer[r]->SetMinSize( maxMinSize );
-   }
-#endif
-
-
-AudioIOPrefs::~AudioIOPrefs()
-{
-}
-
-bool AudioIOPrefs::Apply()
-{
-#if USE_PORTAUDIO_V19
-   if (!AudioIO::ValidateDeviceNames(mPlay->GetStringSelection(), mRec->GetStringSelection())) {
-      wxMessageBox(_("Playback and Recording device must use the same type, i.e., MME, DirectSound, etc."));
-      return false;
-   }
-#endif
-
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
-
-   double latencyDuration = DEFAULT_LATENCY_DURATION;
-   gPrefs->Read(wxT("/AudioIO/LatencyDuration"), &latencyDuration);
-   if (latencyDuration < 0)
-      gPrefs->Write(wxT("/AudioIO/LatencyDuration"), DEFAULT_LATENCY_DURATION);
-
-#if USE_PORTMIXER
-   if (gAudioIO)
-      gAudioIO->HandleDeviceChange();
-#endif // USE_PORTMIXER
-
-   return true;
-}
-
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: d6904b91-a320-4194-8d60-caa9175b6bb4
-
diff --git a/src/prefs/AudioIOPrefs.h b/src/prefs/AudioIOPrefs.h
deleted file mode 100644
index f2c84ae..0000000
--- a/src/prefs/AudioIOPrefs.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  AudioIOPrefs.h
-
-  Joshua Haberman
-  James Crook
-
-**********************************************************************/
-
-#ifndef __AUDACITY_AUDIO_IO_PREFS__
-#define __AUDACITY_AUDIO_IO_PREFS__
-
-#include <wx/string.h>
-
-#include "PrefsPanel.h"
-
-class wxWindow;
-class wxCheckBox;
-class wxChoice;
-#include <wx/defs.h>
-#include <wx/string.h>
-
-#include "PrefsPanel.h"
-
-class wxWindow;
-class ShuttleGui;
-
-class AudioIOPrefs:public PrefsPanel 
-{
-public:
-   AudioIOPrefs(wxWindow * parent);
-   ~AudioIOPrefs();
-   virtual bool Apply();
-
-private:
-   void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
-   void GetNamesAndLabels();
-
-   wxArrayString mmPlayNames;
-   wxArrayString mmPlayLabels;
-   wxArrayString mmRecordNames;
-   wxArrayString mmRecordLabels;
-   wxArrayString mmChannelNames;
-   wxArrayInt    mmChannelLabels;
-
-   wxChoice *mPlay;
-   wxChoice *mRec;
-};
-
-#endif
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: df22b108-e989-4ec4-a8b6-dddbcc7be6a7
-
diff --git a/src/prefs/BatchPrefs.cpp b/src/prefs/BatchPrefs.cpp
index 5f7608b..210c8f5 100644
--- a/src/prefs/BatchPrefs.cpp
+++ b/src/prefs/BatchPrefs.cpp
@@ -50,10 +50,8 @@ enum { CleanSpeechID,
 
 /// Constructor
 BatchPrefs::BatchPrefs(wxWindow * parent):
-   PrefsPanel(parent)
+   PrefsPanel(parent, _("Batch"))
 {
-   SetLabel(_("Batch"));         // Provide visual label
-   SetName(_("Batch"));          // Provide audible label
    Populate();
 }
 
diff --git a/src/prefs/BatchPrefs.h b/src/prefs/BatchPrefs.h
index e3f0819..de81668 100644
--- a/src/prefs/BatchPrefs.h
+++ b/src/prefs/BatchPrefs.h
@@ -13,12 +13,12 @@
 #define __AUDACITY_BATCH_PREFS__
 
 #include <wx/defs.h>
-#include <wx/string.h>
-#include <wx/button.h>
 
-#include "PrefsPanel.h"
+#include <wx/window.h>
+
+#include "../ShuttleGui.h"
 
-class ShuttleGui;
+#include "PrefsPanel.h"
 
 class BatchPrefs : public PrefsPanel 
 {
@@ -29,7 +29,7 @@ public:
 
 private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
+   void PopulateOrExchange(ShuttleGui & S);
 
    DECLARE_EVENT_TABLE();
 };
@@ -46,4 +46,3 @@ private:
 //
 // vim: et sts=3 sw=3
 // arch-tag: 57018e2b-d264-4f93-bfa7-06752ebf631e
-
diff --git a/src/prefs/DirectoriesPrefs.cpp b/src/prefs/DirectoriesPrefs.cpp
index fe91974..127a65d 100644
--- a/src/prefs/DirectoriesPrefs.cpp
+++ b/src/prefs/DirectoriesPrefs.cpp
@@ -43,31 +43,26 @@ enum {
    ChooseButtonID
 };
 
-BEGIN_EVENT_TABLE(DirectoriesPrefs, wxPanel)
+BEGIN_EVENT_TABLE(DirectoriesPrefs, PrefsPanel)
    EVT_TEXT(TempDirID, DirectoriesPrefs::UpdateFreeSpace)
    EVT_BUTTON(ChooseButtonID, DirectoriesPrefs::OnChooseTempDir)
 END_EVENT_TABLE()
 
-DirectoriesPrefs::DirectoriesPrefs(wxWindow * parent):
-   PrefsPanel(parent),
-   mTempDirText( NULL )  // JKC: Must be initialised, ready for UpdateFreeSpace to look at.
+DirectoriesPrefs::DirectoriesPrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Directories")),
+   mTempDir(NULL),
+   mFreeSpace(NULL)
 {
-   SetLabel(_("Directories"));         // Provide visual label
-   SetName(_("Directories"));          // Provide audible label
    Populate();
 }
 
+DirectoriesPrefs::~DirectoriesPrefs()
+{
+}
+
 /// Creates the dialog and its contents.
-void DirectoriesPrefs::Populate( )
+void DirectoriesPrefs::Populate()
 {
-   // First any pre-processing for constructing the GUI.
-
-   mTempDir = gPrefs->Read(wxT("/Directories/TempDir"), wxT(""));
-   mOldTempDir = mTempDir;
-   //BG: wxWindows 2.3.2 and higher claim to support this, through a function called wxGetDiskSpace
-   wxLongLong freeSpace;
-   wxGetDiskSpace(mTempDir, NULL, &freeSpace);
-   mStrFreeSpace = Internat::FormatSize(freeSpace);
    //------------------------- Main section --------------------
    // Now construct the GUI itself.
    // Use 'eIsCreatingFromPrefs' so that the GUI is 
@@ -75,52 +70,62 @@ void DirectoriesPrefs::Populate( )
    ShuttleGui S(this, eIsCreatingFromPrefs);
    PopulateOrExchange(S);
    // ----------------------- End of main section --------------
+
+   wxCommandEvent e;
+   UpdateFreeSpace(e);
 }
 
-/// Places controls on the panel and also exchanges data with them.
-/// As of Jun/2006 the only gPrefs value, mTempDir is
-/// actually retrieved from gPrefs earlier, so the exchange is
-/// with that variable rather than with gPrefs.
-void DirectoriesPrefs::PopulateOrExchange( ShuttleGui & S )
+void DirectoriesPrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   S.SetBorder( 2 );
-   S.StartStatic( _("Temporary files directory"),0);
+   S.SetBorder(2);
+
+   S.StartStatic(_("Temporary files directory"));
    {
       S.StartMultiColumn(3, wxEXPAND);
-      S.SetStretchyCol( 1 );// Column 1 is stretchy...
-      mTempDirText = S.Id( TempDirID ).AddTextBox( _("Location:"),  mTempDir, 30);
-      S.Id( ChooseButtonID ).AddButton( _("Choose..."));
-      S.AddFixedText( _("Free Space:"));
-      mFreeSpace = S.AddVariableText( mStrFreeSpace );
+      {
+         S.SetStretchyCol(1);
+
+         S.Id(TempDirID);
+         mTempDir = S.TieTextBox(_("Location:"),
+                                 wxT("/Directories/TempDir"),
+                                 wxT(""),
+                                 30);
+         S.Id(ChooseButtonID);
+         S.AddButton(_("Choose..."));
+
+         S.AddFixedText(_("Free Space:"));
+         mFreeSpace = S.AddVariableText(wxT(""));
+      }
       S.EndMultiColumn();
    }
    S.EndStatic();
 
-   S.StartStatic( _("Auto save"),0);
-   {
-      S.TieCheckBox( _("Auto save a copy of the project in a separate folder"),
-                     wxT("/Directories/AutoSaveEnabled"), true);
-      S.StartThreeColumn();
-      S.TieTextBox( _("Auto save interval:"), wxT("/Directories/AutoSaveMinutes"), 2.0, 9);
-      S.AddUnits(  _("minutes") );
-      S.EndThreeColumn();
-   }
-   S.EndStatic();
-   
-   S.StartStatic( _("Audio cache"),0);
+   S.StartStatic(_("Audio cache"));
    {
-      S.TieCheckBox( _("Play and/or record using RAM (useful for slow drives, but could crash with long files or recordings)"),
-                     wxT("/Directories/CacheBlockFiles"), false);
+      S.TieCheckBox(_("Play and/or record using RAM (useful for slow drives)"),
+                    wxT("/Directories/CacheBlockFiles"),
+                    false);
+
+      S.StartTwoColumn();
+      {
+         S.TieTextBox(_("Minimum Free Memory (MB):"),
+                      wxT("/Directories/CacheLowMem"),
+                      16,
+                      9);
+      }
+      S.EndTwoColumn();
+
+      S.AddVariableText(_("If the available system memory falls below this value, audio will no longer\nbe cached in memory and will be written to disk."))->Wrap(600);
    }
    S.EndStatic();
 }
 
-void DirectoriesPrefs::OnChooseTempDir(wxCommandEvent &event)
+void DirectoriesPrefs::OnChooseTempDir(wxCommandEvent & e)
 {
    wxDirDialog dlog(this, 
-                     _("Choose a location to place the temporary directory"), 
-                     gPrefs->Read(wxT("/Directories/TempDir"), 
-                     wxGetApp().defaultTempDir));
+                    _("Choose a location to place the temporary directory"), 
+                    gPrefs->Read(wxT("/Directories/TempDir"), 
+                                 wxGetApp().defaultTempDir));
    dlog.ShowModal();
    if (dlog.GetPath() != wxT("")) {
       wxFileName tmpDirPath;
@@ -130,83 +135,89 @@ void DirectoriesPrefs::OnChooseTempDir(wxCommandEvent &event)
 #else
       tmpDirPath.AppendDir(wxT(".audacity_temp"));
 #endif
-      mTempDirText->SetValue(tmpDirPath.GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR));
-      UpdateFreeSpace(event);
+      mTempDir->SetValue(tmpDirPath.GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR));
+      UpdateFreeSpace(e);
    }
 }
 
-void DirectoriesPrefs::UpdateFreeSpace(wxCommandEvent &event)
+void DirectoriesPrefs::UpdateFreeSpace(wxCommandEvent & e)
 {
-   static wxLongLong space;
-   static wxString tempDir;
+   wxString tempDir;
+   wxString label;
 
-   if (!mTempDirText)
-      return;
-
-   tempDir = mTempDirText->GetValue();
+   if (mTempDir != NULL) {
+      tempDir = mTempDir->GetValue();
+   }
 
-   /* Try to be smart: if the directory doesn't exist, go up the
-    * directory path until one is, because that's the volume that
-    * the new directory would be created on */
-   while(!wxDirExists(tempDir) && tempDir.Find(wxFILE_SEP_PATH) != -1)
-      tempDir = tempDir.BeforeLast(wxFILE_SEP_PATH);
+   if (wxDirExists(tempDir)) {
+      wxLongLong space;
+      wxGetDiskSpace(tempDir, NULL, &space);
+      label = Internat::FormatSize(space);
+   }
+   else {
+      label = _("unavailable - above location doesn't exist");
+   }
 
-   //BG: wxWindows 2.3.2 and higher claim to support this, through a function called wxGetDiskSpace
-   wxLogNull nolog;
-   wxGetDiskSpace(tempDir, NULL, &space);
-   mFreeSpace->SetLabel(Internat::FormatSize(space));
+   if( mFreeSpace != NULL ) {
+      mFreeSpace->SetLabel(label);
+   }
 }
-   
-bool DirectoriesPrefs::Apply()
+
+bool DirectoriesPrefs::Validate()
 {
-   mTempDir = mTempDirText->GetValue();
+   wxFileName tempDir;
+   tempDir.SetPath(mTempDir->GetValue());
 
-   if(!wxDirExists(mTempDir)) {
+   if (!tempDir.DirExists()) {
       int ans = wxMessageBox(
-            wxString::Format(_("Directory %s does not exist. Create it?"),
-                             mTempDir.c_str()),
-            _("New Temporary Directory"),
-            wxYES_NO|wxCENTRE|wxICON_EXCLAMATION);
-
-      if(ans == wxYES) {
-         if(!wxMkdir(mTempDir, 0755)) {
-            /* wxWindows throws up a decent looking dialog */
-            return false;
-         }
-      } 
-      else {
+         wxString::Format(_("Directory %s does not exist. Create it?"),
+                          tempDir.GetPath().c_str()),
+         _("New Temporary Directory"),
+         wxYES_NO | wxCENTRE | wxICON_EXCLAMATION);
+
+      if (ans != wxYES) {
+         return false;
+      }
+
+      if (!tempDir.Mkdir(0755, wxPATH_MKDIR_FULL)) {
+         /* wxWindows throws up a decent looking dialog */
          return false;
       }
    }
    else {
       /* If the directory already exists, make sure it is writable */
       wxLogNull logNo;
-      wxString tempDir = mTempDir + wxFILE_SEP_PATH + wxT("canicreate");
-      if(!wxMkdir(tempDir, 0755)) {
+      tempDir.AppendDir(wxT("canicreate"));
+      if (!tempDir.Mkdir(0755)) {
          wxMessageBox(
-               wxString::Format(_("Directory %s is not writable"),
-                                mTempDir.c_str()),
-               _("Error"), wxOK|wxICON_ERROR);
+            wxString::Format(_("Directory %s is not writable"),
+                             tempDir.GetPath().c_str()),
+            _("Error"),
+            wxOK | wxICON_ERROR);
          return false;
       }
-      wxRmdir(tempDir);
+      tempDir.Rmdir();
+      tempDir.RemoveLastDir();
    }
 
-   gPrefs->Write(wxT("/Directories/TempDir"), mTempDir);
-
-   if (mTempDir != mOldTempDir)
+   wxFileName oldDir;
+   oldDir.SetPath(gPrefs->Read(wxT("/Directories/TempDir")));
+   if (tempDir != oldDir) {
       wxMessageBox(
-            _("Changes to temporary directory will not take effect until Audacity is restarted"),
-            wxT("Temp Directory Update"), wxOK|wxCENTRE|wxICON_INFORMATION);
-
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
+         _("Changes to temporary directory will not take effect until Audacity is restarted"),
+         wxT("Temp Directory Update"),
+         wxOK | wxCENTRE | wxICON_INFORMATION);
+   }
 
    return true;
 }
 
-DirectoriesPrefs::~DirectoriesPrefs()
+bool DirectoriesPrefs::Apply()
 {
+   ShuttleGui S(this, eIsSavingToPrefs);
+   PopulateOrExchange(S);
+
+   return true;
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/prefs/DirectoriesPrefs.h b/src/prefs/DirectoriesPrefs.h
index 2955bed..065e91b 100644
--- a/src/prefs/DirectoriesPrefs.h
+++ b/src/prefs/DirectoriesPrefs.h
@@ -11,42 +11,30 @@
 #ifndef __AUDACITY_DIRECTORIES_PREFS__
 #define __AUDACITY_DIRECTORIES_PREFS__
 
-#include <wx/string.h>
-#include <wx/longlong.h>
+#include <wx/stattext.h>
+#include <wx/textctrl.h>
 
-#include "PrefsPanel.h"
+#include "../ShuttleGui.h"
 
-class wxStaticBox;
-class wxStaticText;
-class wxTextCtrl;
-class ShuttleGui;
+#include "PrefsPanel.h"
 
 class DirectoriesPrefs:public PrefsPanel 
 {
-
-public:
+ public:
    DirectoriesPrefs(wxWindow * parent);
    ~DirectoriesPrefs();
    virtual bool Apply();
+   virtual bool Validate();
 
-private:
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
-   void UpdateFreeSpace(wxCommandEvent &event);
-   void OnChooseTempDir(wxCommandEvent &event);
-
-   wxString mStrFreeSpace;
-   wxStaticBox *mEnclosingBox;
+   void PopulateOrExchange(ShuttleGui & S);
+   void UpdateFreeSpace(wxCommandEvent & e);
+   void OnChooseTempDir(wxCommandEvent & e);
 
-   wxStaticText *mTempDirLabel;
-   wxTextCtrl   *mTempDirText;
-   wxStaticText *mFreeSpaceLabel;
    wxStaticText *mFreeSpace;
-  
-   wxString      mOldTempDir;
-   wxString      mTempDir;
+   wxTextCtrl *mTempDir;
 
-public:
    DECLARE_EVENT_TABLE();
 };
 
diff --git a/src/prefs/FileFormatPrefs.cpp b/src/prefs/FileFormatPrefs.cpp
deleted file mode 100644
index e69a651..0000000
--- a/src/prefs/FileFormatPrefs.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  FileFormatPrefs.cpp
-
-  Joshua Haberman
-  Dominic Mazzoni
-  James Crook
-
-
-*******************************************************************//**
-
-\class FileFormatPrefs
-\brief A PrefsPanel used to select file format preferences and to 
-locate the MP3 encoding library.  Now called 'Import/Export' in the
-preferences.  Later we will rename this panel and source files.
-
-*//*******************************************************************/
-
- 
-
-#include "../Audacity.h"
-#include "../FFmpeg.h"  // always needs to go before wx headers
-
-#include <wx/defs.h>
-#include <wx/intl.h>
-#include <wx/stattext.h>
-#include <wx/button.h>
-
-#include "../export/ExportMP3.h"
-#include "../Prefs.h"
-#include "../ShuttleGui.h"
-#include "../widgets/LinkingHtmlWindow.h"
-
-#include "FileFormatPrefs.h"
-
-#define ID_MP3_FIND_BUTTON          7001
-#define ID_MP3_DOWN_BUTTON          7002
-#define ID_FFMPEG_FIND_BUTTON       7003
-#define ID_FFMPEG_DOWN_BUTTON       7004
-
-BEGIN_EVENT_TABLE(FileFormatPrefs, wxPanel)
-   EVT_BUTTON(ID_MP3_FIND_BUTTON, FileFormatPrefs::OnMP3FindButton)
-   EVT_BUTTON(ID_MP3_DOWN_BUTTON, FileFormatPrefs::OnMP3DownButton)
-   EVT_BUTTON(ID_FFMPEG_FIND_BUTTON, FileFormatPrefs::OnFFmpegFindButton)
-   EVT_BUTTON(ID_FFMPEG_DOWN_BUTTON, FileFormatPrefs::OnFFmpegDownButton)
-END_EVENT_TABLE()
-
-FileFormatPrefs::FileFormatPrefs(wxWindow * parent):
-   PrefsPanel(parent)
-{
-   SetLabel(_("Import / Export"));         // Provide visual label
-   SetName(_("Import / Export"));          // Provide audible label
-   Populate( );
-}
-
-/// Creates the dialog and its contents.
-void FileFormatPrefs::Populate( )
-{
-   // First any pre-processing for constructing the GUI.
-
-   //------------------------- Main section --------------------
-   // Now construct the GUI itself.
-   // Use 'eIsCreatingFromPrefs' so that the GUI is 
-   // initialised with values from gPrefs.
-   ShuttleGui S(this, eIsCreatingFromPrefs);
-   PopulateOrExchange(S);
-   // ----------------------- End of main section --------------
-   // Set the MP3 Version string.
-   SetMP3VersionText();
-   SetFFmpegVersionText();
-}
-
-/// This PopulateOrExchange function is a good example of mixing the fully 
-/// automatic style of reading/writing from GUI to prefs with the partial form.
-/// 
-/// You'll notice that some of the Tie functions have Prefs identifiers in them
-/// and others don't.  
-void FileFormatPrefs::PopulateOrExchange( ShuttleGui & S )
-{
-   S.SetBorder( 2 );
-   S.StartHorizontalLay(wxEXPAND,0);
-   S.StartStatic( _("MP3 Export Library"),1);
-   {
-      S.StartTwoColumn();
-         S.AddVariableText( _("MP3 Library Version:"),
-            true,
-            wxALL | wxALIGN_RIGHT | wxALIGN_CENTRE_VERTICAL );
-         mMP3Version = S.AddVariableText( wxT("9.99"),
-            true,
-            wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-         S.AddVariableText( _("MP3 Library:"),
-            true,
-            wxALL | wxALIGN_RIGHT | wxALIGN_CENTRE_VERTICAL );
-         S.Id( ID_MP3_FIND_BUTTON ).AddButton( _("&Locate..."), 
-            wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-         S.AddVariableText( _("LAME MP3 Library:"),
-            true,
-            wxALL | wxALIGN_RIGHT | wxALIGN_CENTRE_VERTICAL );
-         S.Id( ID_MP3_DOWN_BUTTON ).AddButton( _("&Download"), 
-            wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-      S.EndTwoColumn();
-   }
-   S.EndStatic();
-   S.StartStatic( _("FFmpeg Import/Export Library"),1);
-   {
-      S.StartTwoColumn();
-      S.AddVariableText( _("FFmpeg Library Version:"),
-         true, wxALL | wxALIGN_RIGHT | wxALIGN_CENTRE_VERTICAL );
-#if defined(USE_FFMPEG)
-      mFFmpegVersion = S.AddVariableText( wxT("No compatible FFmpeg library was found"),
-         true, wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-#else
-      mFFmpegVersion = S.AddVariableText( wxT("FFmpeg support is not compiled in"),
-         true, wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-#endif
-      S.AddVariableText( _("FFmpeg Library:"),
-         true, wxALL | wxALIGN_RIGHT | wxALIGN_CENTRE_VERTICAL );
-      wxButton *bfnd = S.Id( ID_FFMPEG_FIND_BUTTON ).AddButton( _("&Locate..."), 
-         wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-      S.AddVariableText( _("FFmpeg Library:"),
-         true,
-         wxALL | wxALIGN_RIGHT | wxALIGN_CENTRE_VERTICAL );
-      wxButton *bdwn = S.Id( ID_FFMPEG_DOWN_BUTTON ).AddButton( _("&Download"), 
-         wxALL | wxALIGN_LEFT | wxALIGN_CENTRE_VERTICAL );
-      S.EndTwoColumn();
-#if !defined(USE_FFMPEG)
-      bdwn->Enable(FALSE);
-      bfnd->Enable(FALSE);
-#endif
-   }
-   S.EndStatic();
-   S.EndHorizontalLay();
-
-   S.AddFixedText( _("Note: Export quality options can be chosen by clicking the Options button in the Export dialog.\n"));
-   S.StartStatic( _("When importing audio files"));
-   {
-      S.StartRadioButtonGroup(wxT("/FileFormats/CopyOrEditUncompressedData"),wxT("edit"));
-      S.TieRadioButton( _("&Make a copy of uncompressed audio files before editing (safer)"),wxT("copy"));
-      S.TieRadioButton( _("&Read uncompressed audio files directly from the original (faster)"),wxT("edit"));
-      S.EndRadioButtonGroup();
-      S.TieCheckBox( _("&Normalize all tracks in project"), 
-         wxT("/AudioFiles/NormalizeOnLoad"), false );
-   }
-   S.EndStatic();
-
-   S.StartStatic( _("When saving a project that depends on other audio files"));
-   {
-      S.StartRadioButtonGroup(wxT("/FileFormats/SaveProjectWithDependencies"),wxT("ask"));
-      S.TieRadioButton( _("Always &copy all audio into project (safest)"), wxT("copy"));
-      S.TieRadioButton( _("&Do not copy any audio"), wxT("never"));
-      S.TieRadioButton( _("&Ask user"), wxT("ask"));
-      S.EndRadioButtonGroup();
-   }
-   S.EndStatic();
-   S.StartStatic( _("When exporting tracks to an audio file"));
-   {
-      S.StartRadioButtonGroup( wxT("/FileFormats/ExportDownMix" ), true );
-      S.TieRadioButton( _("A&lways mix all tracks down to Stereo or Mono channel(s)."), true);
-      S.TieRadioButton( _("&Use custom mix (for example to export a 5.1 multichannel file)"),false );
-      S.EndRadioButtonGroup();
-      S.TieCheckBox( _("S&how Metadata Editor prior to export step"), 
-         wxT("/AudioFiles/ShowId3Dialog"), true);
-   }
-   S.EndStatic();
-}
-
-/// Sets the a text area on the dialog to have the name
-/// of the MP3 Library version.
-void FileFormatPrefs::SetMP3VersionText(bool prompt)
-{
-   mMP3Version->SetLabel(GetMP3Version(this, prompt));
-}
-
-/// Opens a file-finder dialog so that the user can
-/// tell us where the MP3 library is.
-void FileFormatPrefs::OnMP3FindButton(wxCommandEvent& evt)
-{
-   SetMP3VersionText(true);
-}
-
-/// Opens a file-finder dialog so that the user can
-/// tell us where the MP3 library is.
-void FileFormatPrefs::OnMP3DownButton(wxCommandEvent& evt)
-{
-   wxString url = wxT("http://www.audacityteam.org/manual/index.php?title=FAQ:Installation_and_Plug-Ins%23How_do_I_download_and_install_the_LAME_MP3_encoder.3F");
-   ::OpenInDefaultBrowser(url);
-}
-
-void FileFormatPrefs::SetFFmpegVersionText()
-{
-   mFFmpegVersion->SetLabel(GetFFmpegVersion(this));
-}
-
-
-void FileFormatPrefs::OnFFmpegFindButton(wxCommandEvent& evt)
-{
-#ifdef USE_FFMPEG
-   FFmpegLibs* FFmpegLibsInst = PickFFmpegLibs();
-   bool showerrs =
-#if defined(__WXDEBUG__)
-      true;
-#else
-      false;
-#endif
-
-   FFmpegLibsInst->FreeLibs();
-   // Load the libs ('true' means that all errors will be shown)
-   bool locate = !LoadFFmpeg(showerrs);
-
-   // Libs are fine, don't show "locate" dialog unless user really wants it
-   if (!locate)
-   {
-      int response = wxMessageBox(wxT("Audacity has automatically detected valid FFmpeg libraries.\
-                       \nDo you still want to locate them manually?"),wxT("Success"),wxCENTRE | wxYES_NO | wxNO_DEFAULT |wxICON_QUESTION);
-      if (response == wxYES)
-        locate = true;
-   }
-   if (locate)
-   {
-      // Show "Locate FFmpeg" dialog
-      FFmpegLibsInst->FindLibs(this);
-      FFmpegLibsInst->FreeLibs();
-      LoadFFmpeg(showerrs);
-   }
-   SetFFmpegVersionText();
-
-   DropFFmpegLibs();
-#endif
-}
-
-void FileFormatPrefs::OnFFmpegDownButton(wxCommandEvent& evt)
-{
-   wxString url = wxT("http://www.audacityteam.org/manual/index.php?title=FAQ:Installation_and_Plug-Ins%23installffmpeg");
-   ::OpenInDefaultBrowser(url);
-}
-
-/// Takes the settings from the dialog and puts them into prefs.
-/// Most of the preferences are set by the ShuttleGui, but for some
-/// specially handled ones we need to do this ourselves.
-bool FileFormatPrefs::Apply()
-{  
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );    
-   
-   return true;
-}
-
-FileFormatPrefs::~FileFormatPrefs()
-{
-}
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: 427b9e64-3fc6-40ef-bbf8-e6fff1d442f0
-
diff --git a/src/prefs/FileFormatPrefs.h b/src/prefs/FileFormatPrefs.h
deleted file mode 100644
index a9fed04..0000000
--- a/src/prefs/FileFormatPrefs.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  FileFormatPrefs.h
-
-  Joshua Haberman
-  Dominic Mazzoni
-  James Crook
-
-**********************************************************************/
-
-#ifndef __AUDACITY_FILE_FORMAT_PREFS__
-#define __AUDACITY_FILE_FORMAT_PREFS__
-
-#include "PrefsPanel.h"
-
-class wxCommandEvent;
-class wxStaticText;
-class wxWindow;
-class ShuttleGui;
-
-class FileFormatPrefs:public PrefsPanel 
-{
-public:
-   FileFormatPrefs(wxWindow * parent);
-   ~FileFormatPrefs();
-   virtual bool Apply();
-   
-private:
-   void Populate();
-   void PopulateOrExchange(ShuttleGui & S);
-   void OnMP3FindButton(wxCommandEvent& evt);
-   void OnMP3DownButton(wxCommandEvent& evt);
-   void SetMP3VersionText(bool prompt = false);
-   void OnFFmpegFindButton(wxCommandEvent& evt);
-   void OnFFmpegDownButton(wxCommandEvent& evt);
-   void SetFFmpegVersionText();
-
-   wxStaticText *mMP3Version;
-   wxStaticText *mFFmpegVersion;
-
-public:
-   DECLARE_EVENT_TABLE();
-};
-
-#endif
-
-// Indentation settings for Vim and Emacs and unique identifier for Arch, a
-// version control system. Please do not modify past this point.
-//
-// Local Variables:
-// c-basic-offset: 3
-// indent-tabs-mode: nil
-// End:
-//
-// vim: et sts=3 sw=3
-// arch-tag: 300a00cc-0770-45a1-8ab5-88cfb7ae1239
-
diff --git a/src/prefs/GUIPrefs.cpp b/src/prefs/GUIPrefs.cpp
index 9801afe..560598c 100644
--- a/src/prefs/GUIPrefs.cpp
+++ b/src/prefs/GUIPrefs.cpp
@@ -17,54 +17,57 @@
 
 *//*******************************************************************/
 
-#include <wx/defs.h>
 #include "../Audacity.h"
+
+#include <wx/defs.h>
+
 #include "../AudacityApp.h"
-#include "../Envelope.h"
 #include "../Languages.h"
 #include "../Prefs.h"
-#include "../Project.h"
 #include "../ShuttleGui.h"
 
 #include "GUIPrefs.h"
 
-GUIPrefs::GUIPrefs(wxWindow * parent):
-   PrefsPanel(parent)
+GUIPrefs::GUIPrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Interface"))
+{
+   Populate();
+}
+
+GUIPrefs::~GUIPrefs()
+{
+}
+
+void GUIPrefs::Populate()
 {
-   SetLabel(_("Interface"));         // Provide visual label
-   SetName(_("Interface"));          // Provide audible label
+   // First any pre-processing for constructing the GUI.
+   GetLanguages(mLangCodes, mLangNames);
 
-   mHtmlHelpCodes.Add(wxT("Standard"));
-   mHtmlHelpCodes.Add(wxT("InBrowser"));
+   mHtmlHelpCodes.Add(wxT("Local"));
    mHtmlHelpCodes.Add(wxT("FromInternet"));
 
-   mHtmlHelpChoices.Add(_("Standard"));
-   mHtmlHelpChoices.Add(_("In Browser"));
+   mHtmlHelpChoices.Add(_("Local"));
    mHtmlHelpChoices.Add(_("From Internet"));
 
-   mSoloCodes.Add( wxT("Standard") );
-   mSoloCodes.Add( wxT("Simple") );
-   mSoloCodes.Add( wxT("None") );
+   mRangeCodes.Add(_("36"));
+   mRangeCodes.Add(_("48"));
+   mRangeCodes.Add(_("60"));
+   mRangeCodes.Add(_("96"));
+   mRangeCodes.Add(_("120"));
+   mRangeCodes.Add(_("145"));
 
-   mSoloChoices.Add(_("Standard") );
-   mSoloChoices.Add(_("Simple") );
-   mSoloChoices.Add(_("None") );
+   mRangeChoices.Add(_("-36 dB (shallow range for high-amplitude editing)"));
+   mRangeChoices.Add(_("-48 dB (PCM range of 8 bit samples)"));
+   mRangeChoices.Add(_("-60 dB (PCM range of 10 bit samples)"));
+   mRangeChoices.Add(_("-96 dB (PCM range of 16 bit samples)"));
+   mRangeChoices.Add(_("-120 dB (approximate limit of human hearing)"));
+   mRangeChoices.Add(_("-145 dB (PCM range of 24 bit samples)"));
 
-   Populate( );
-}
-
-void GUIPrefs::Populate( )
-{
-   // First any pre-processing for constructing the GUI.
-   GetLanguages(mLangCodes, mLangNames);
 #if 0
    // only for testing...
    mLangCodes.Add("kg");   mLangNames.Add("Klingon");
    mLangCodes.Add("ep");   mLangNames.Add("Esperanto");
 #endif
-#ifdef EXPERIMENTAL_SAVE_DEFAULT_VIEW
-   gPrefs->Read(wxT("/GUI/DefaultViewMode"), &mDefaultViewMode, 0L);
-#endif //EXPERIMENTAL_SAVE_DEFAULT_VIEW
 
    //------------------------- Main section --------------------
    // Now construct the GUI itself.
@@ -84,110 +87,90 @@ void GUIPrefs::Populate( )
 #endif
 // End code duplication warning
 
-void GUIPrefs::PopulateOrExchange( ShuttleGui & S )
+void GUIPrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   S.SetBorder( 2 );
-   S.StartHorizontalLay( wxEXPAND, 1 );
-   S.StartVerticalLay();
-   S.StartStatic( _("Behaviors"),1 );
+   S.SetBorder(2);
+
+   S.StartStatic(_("Display"));
    {
-      S.TieCheckBox( _("&Update display while playing"),
-         wxT("/GUI/AutoScroll"), true);
-      S.TieCheckBox( _("Cl&osing last window quits Audacity"),
-         wxT("/GUI/QuitOnClose"), bQuitOnCloseDefault );
-      S.TieCheckBox( _("Enable &dragging of left and right selection edges"),
-         wxT("/GUI/AdjustSelectionEdges"), true);
-      S.TieCheckBox( _("Er&gonomic order of audio I/O buttons"),
-         wxT("/GUI/ErgonomicTransportButtons"), true);
-      S.TieCheckBox( _("Automatically &fit tracks vertically zoomed"), 
-         wxT("/GUI/TracksFitVerticallyZoomed"), false );
-      S.TieCheckBox( _("\"Move track focus\" c&ycles repeatedly through tracks"), 
-         wxT("/GUI/CircularTrackNavigation"), false );
-      S.TieCheckBox( _("Editing a &clip can move other clips"),
-         wxT("/GUI/EditClipCanMove"), true );
-      S.TieCheckBox( _("&Select all audio in project, if none selected"),    
-         wxT("/GUI/SelectAllOnNone"), true );   
-      S.TieCheckBox( _("&Beep on completion of longer activities"),    
-         wxT("/GUI/BeepOnCompletion"), false );   
+      S.TieCheckBox(_("Er&gonomic order of audio I/O buttons"),
+                    wxT("/GUI/ErgonomicTransportButtons"),
+                    true);
+      S.TieCheckBox(_("Show '&How to get Help' message at program start up"),
+                    wxT("/GUI/ShowSplashScreen"),
+                    true);
+
+      S.AddSpace(10);
+
+      S.StartMultiColumn(2);
+      {
+         S.TieChoice(_("Meter/Waveform dB range:"),
+                     wxT("/GUI/EnvdBRange"),
+                     wxT("60"),
+                     mRangeChoices,
+                     mRangeCodes);
+         S.SetSizeHints(mRangeChoices);
+
+         S.TieChoice(_("Language:"),
+                     wxT("/Locale/Language"),
+                     wxT("en"),
+                     mLangNames,
+                     mLangCodes);
+         S.SetSizeHints(mLangNames);
+
+         S.TieChoice(_("Location of Manual:"),
+                     wxT("/GUI/Help"),
+                     wxT("Local"),
+                     mHtmlHelpChoices,
+                     mHtmlHelpCodes);
+         S.SetSizeHints(mHtmlHelpChoices);
+      }
+      S.EndMultiColumn();
    }
    S.EndStatic();
-   S.StartStatic( _("Show / Hide"),0 );
+
+   S.StartStatic(_("Behaviors"));
    {
-	   S.TieCheckBox( _("Enable cut &lines"),
-         wxT("/GUI/EnableCutLines"), false);
-      S.TieCheckBox( _("Show warnings about &temp files"), 
-         wxT("/GUI/WarnAboutTempFiles"), true );
-      S.TieCheckBox( _("Show prompt to sa&ve, even if project is empty"),    
-         wxT("/GUI/EmptyCanBeDirty"), true );
-      S.TieCheckBox( _("Show &Welcome Message at program start up"),    
-         wxT("/GUI/ShowSplashScreen"), true );
+      S.TieCheckBox(_("Cl&osing last window quits Audacity"),
+                    wxT("/GUI/QuitOnClose"),
+                    bQuitOnCloseDefault);
+      S.TieCheckBox(_("&Beep on completion of longer activities"),
+                    wxT("/GUI/BeepOnCompletion"),
+                    false);
    }
    S.EndStatic();
-   S.StartStatic( _("Modes"),0 );
+
+   S.StartStatic(_("Modes"));
    {
+      S.TieCheckBox(_("Cl&eanSpeech Mode (Customized GUI)"), 
+                    wxT("/Batch/CleanSpeechMode"),
+                    false);
+#if USE_VST
+      S.TieCheckBox(_("Display VST effects in GUI mode"), 
+                    wxT("/VST/GUI"),
+                    true);
+#endif
 #ifdef __WXDEBUG__
-      S.TieCheckBox( _("Don't a&pply effects in batch mode"),  
-         wxT("/Batch/Debug"), false);
+      S.TieCheckBox(_("Don't a&pply effects in batch mode"),  
+                    wxT("/Batch/Debug"),
+                    false);
 #endif
-      S.TieCheckBox( _("Cl&eanSpeech Mode (Customized GUI)"), 
-         wxT("/Batch/CleanSpeechMode"), false);
    }
    S.EndStatic();
-   S.EndVerticalLay();
-   S.StartVerticalLay();
-   S.StartStatic( _("Display range minimum: meters and 'Waveform (dB)'"),0 );
-   {
-      S.StartRadioButtonGroup( wxT("/GUI/EnvdBRange"), ENV_DB_RANGE );
-      S.TieRadioButton( _("-36 dB (shallow range for high-amplitude editing)"),36);
-      S.TieRadioButton( _("-48 dB (PCM range of 8 bit samples)"),48);
-      S.TieRadioButton( _("-60 dB (PCM range of 10 bit samples)"),60);
-      S.TieRadioButton( _("-96 dB (PCM range of 16 bit samples)"),96);
-      S.TieRadioButton( _("-120 dB (approximate limit of human hearing)"),120);
-      S.TieRadioButton( _("-145 dB (PCM range of 24 bit samples)"),145);
-      S.EndRadioButtonGroup();
-   }
-   S.EndStatic();
-#ifdef EXPERIMENTAL_SAVE_DEFAULT_VIEW
-   S.StartStatic( _("Default View Mode") );
-   {
-      S.StartRadioButtonGroup( wxT("/GUI/DefaultViewMode"), mDefaultViewMode );
-      S.TieRadioButton( _("Waveform"), 0);
-      S.TieRadioButton( _("Waveform (dB)"), 1);
-      S.TieRadioButton( _("Spectrum"), 2);
-      S.TieRadioButton( _("Spectrum log(f)"), 3);
-      S.TieRadioButton( _("Pitch (EAC)"), 4);
-      S.EndRadioButtonGroup();
-   }
-   S.EndStatic();
-#endif //EXPERIMENTAL_SAVE_DEFAULT_VIEW
-
-   S.StartStatic( _("Other interface choices"),1 );
-   S.StartTwoColumn();
-   S.TieChoice(_("Language:"),   wxT("/Locale/Language"),wxT("en"),mLangNames, mLangCodes );  
-   S.TieChoice(_("Help:"),       wxT("/GUI/Help"),wxT("Standard"),mHtmlHelpChoices, mHtmlHelpCodes );  
-   S.TieChoice(_("Solo Button:"),wxT("/GUI/Solo"),wxT("Standard"),mSoloChoices, mSoloCodes );  
-   S.EndTwoColumn();
-   S.EndStatic();
-
-   S.EndVerticalLay();
-   S.EndHorizontalLay();
 }
 
 bool GUIPrefs::Apply()
 {
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
+   ShuttleGui S(this, eIsSavingToPrefs);
+   PopulateOrExchange(S);
 
    // If language has changed, we want to change it now, not on the next reboot.
    wxString lang = gPrefs->Read(wxT("/Locale/Language"), wxT(""));
-   wxGetApp().InitLang( lang );
+   wxGetApp().InitLang(lang);
 
    return true;
 }
 
-GUIPrefs::~GUIPrefs()
-{
-}
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
@@ -199,4 +182,3 @@ GUIPrefs::~GUIPrefs()
 //
 // vim: et sts=3 sw=3
 // arch-tag: 7e997d04-6b94-4abb-b3d6-748400f86598
-
diff --git a/src/prefs/GUIPrefs.h b/src/prefs/GUIPrefs.h
index 8fc6fce..e87ab6c 100644
--- a/src/prefs/GUIPrefs.h
+++ b/src/prefs/GUIPrefs.h
@@ -14,23 +14,24 @@
 #define __AUDACITY_GUI_PREFS__
 
 #include <wx/defs.h>
-#include <wx/string.h>
 
-#include "PrefsPanel.h"
+#include <wx/arrstr.h>
+#include <wx/window.h>
+
+#include "../ShuttleGui.h"
 
-class wxWindow;
-class ShuttleGui;
+#include "PrefsPanel.h"
 
-class GUIPrefs : public PrefsPanel 
+class GUIPrefs:public PrefsPanel 
 {
-public:
+ public:
    GUIPrefs(wxWindow * parent);
    ~GUIPrefs();
    virtual bool Apply();
 
-private:
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
+   void PopulateOrExchange(ShuttleGui & S);
 
    wxArrayString mLangCodes;
    wxArrayString mLangNames;
@@ -38,12 +39,8 @@ private:
    wxArrayString mHtmlHelpCodes;
    wxArrayString mHtmlHelpChoices;
 
-   wxArrayString mSoloCodes;
-   wxArrayString mSoloChoices;
-
-#ifdef EXPERIMENTAL_SAVE_DEFAULT_VIEW
-   int mDefaultViewMode;
-#endif //EXPERIMENTAL_SAVE_DEFAULT_VIEW
+   wxArrayString mRangeCodes;
+   wxArrayString mRangeChoices;
 };
 
 #endif
@@ -58,4 +55,3 @@ private:
 //
 // vim: et sts=3 sw=3
 // arch-tag: 57018e2b-d264-4f93-bfa7-06752ebf631e
-
diff --git a/src/prefs/KeyConfigPrefs.cpp b/src/prefs/KeyConfigPrefs.cpp
index 8e8002a..c836980 100644
--- a/src/prefs/KeyConfigPrefs.cpp
+++ b/src/prefs/KeyConfigPrefs.cpp
@@ -27,6 +27,7 @@ KeyConfigPrefs and MousePrefs use.
 #include <wx/filedlg.h>
 
 #include "../Prefs.h"
+#include "../Project.h"
 #include "../commands/CommandManager.h"
 #include "../commands/Keyboard.h"
 #include "../xml/XMLFileReader.h"
@@ -37,48 +38,57 @@ KeyConfigPrefs and MousePrefs use.
 
 #include "FileDialog.h"
 
-#define AssignDefaultsButtonID  7001
-#define CurrentComboID          7002
-#define SetButtonID             7003
-#define ClearButtonID           7004
-#define CommandsListID          7005
-#define SaveButtonID            7006
-#define LoadButtonID            7007
+//
+// KeyConfigPrefs
+//
+#define AssignDefaultsButtonID  17001
+#define CurrentComboID          17002
+#define SetButtonID             17003
+#define ClearButtonID           17004
+#define CommandsListID          17005
+#define SaveButtonID            17006
+#define LoadButtonID            17007
+#define CategoryID              17008
 
 // The numbers of the columns of the mList.
-enum { BlankColumn=0, CommandColumn=1, KeyComboColumn=2};
+enum
+{
+   CommandColumn,
+   KeyComboColumn
+};
 
-BEGIN_EVENT_TABLE(KeyConfigPrefs, wxPanel)
+BEGIN_EVENT_TABLE(KeyConfigPrefs, PrefsPanel)
    EVT_BUTTON(AssignDefaultsButtonID, KeyConfigPrefs::OnDefaults)
    EVT_BUTTON(SetButtonID, KeyConfigPrefs::OnSet)
    EVT_BUTTON(ClearButtonID, KeyConfigPrefs::OnClear)
    EVT_BUTTON(SaveButtonID, KeyConfigPrefs::OnSave)
    EVT_BUTTON(LoadButtonID, KeyConfigPrefs::OnLoad)
+   EVT_CHOICE(CategoryID, KeyConfigPrefs::OnCategory)
    EVT_LIST_ITEM_SELECTED(CommandsListID, KeyConfigPrefs::OnItemSelected)
    EVT_LIST_KEY_DOWN(CommandsListID, KeyConfigPrefs::OnKeyDown)
 END_EVENT_TABLE()
 
-KeyConfigPrefs::KeyConfigPrefs(wxWindow * parent):
-PrefsPanel(parent)
+KeyConfigPrefs::KeyConfigPrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Keyboard")),
+   mKey(NULL)
 {
-   SetLabel(_("Keyboard"));         // Provide visual label
-   SetName(_("Keyboard"));          // Provide audible label
-   Populate( );
+   Populate();
 }
 
-void KeyConfigPrefs::Populate( )
+KeyConfigPrefs::~KeyConfigPrefs()
 {
-   //------------------------- Main section --------------------
-   // Now construct the GUI itself.
-   // Use 'eIsCreatingFromPrefs' so that the GUI is 
-   // initialised with values from gPrefs.
-   ShuttleGui S(this, eIsCreatingFromPrefs);
+   mKey->Disconnect(wxEVT_KEY_DOWN,
+                    wxKeyEventHandler(KeyConfigPrefs::OnCaptureKeyDown));
+   mKey->Disconnect(wxEVT_CHAR,
+                    wxKeyEventHandler(KeyConfigPrefs::OnCaptureChar));
+}
 
-   // First any pre-processing for constructing the GUI.
-   // These steps set up the pointer to the command manager...
+void KeyConfigPrefs::Populate()
+{
+   ShuttleGui S(this, eIsCreatingFromPrefs);
    AudacityProject *project = GetActiveProject();
-   if (!project) {
 
+   if (!project) {
       S.StartVerticalLay(true);
       {
          S.StartStatic(wxEmptyString, true);
@@ -92,10 +102,13 @@ void KeyConfigPrefs::Populate( )
 
       return;
    }
+
    mManager = project->GetCommandManager();
+   mManager->GetCategories(mCats);
+   mCats.Insert(_("All"), 0);
 
    PopulateOrExchange(S);
-   // ----------------------- End of main section --------------
+
    CreateList();
    mCommandSelected = -1;
 }
@@ -104,179 +117,282 @@ void KeyConfigPrefs::Populate( )
 /// is used both to populate the panel and to exchange data with it.
 /// With KeyConfigPrefs all the exchanges are handled specially,
 /// so this is only used in populating the panel.
-void KeyConfigPrefs::PopulateOrExchange( ShuttleGui & S )
+void KeyConfigPrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   S.StartStatic( _("Key Bindings"), 1 );
-   mList = S.Id( CommandsListID ).AddListControlReportMode();
-   S.StartHorizontalLay( wxALIGN_LEFT, 0);
+   S.SetBorder(2);
+
+   S.StartStatic(_("Key Bindings"), 1);
    {
-      // LLL: Moved here from Populate.  On the Mac, the control
-      //      would not accept focus when using the mouse, but it
-      //      would when tabbing to the field.  Not really sure
-      //      why...just glad it works now.  :-)
-
-      // The SysKeyText ctrl is so special that we aren't
-      // going to include it into Audacity's version of ShuttleGui.
-      // So instead we create it here, and we can add it into 
-      // the sizer scheme later...
-      mCurrentComboText = new SysKeyTextCtrl(
-            this, CurrentComboID, wxT(""),
-            wxDefaultPosition, wxSize(300, -1), 0 );
-
-      // AddWindow is a generic 'Add' for ShuttleGui.
-      // It allows us to add 'foreign' controls.
-      S.AddWindow( mCurrentComboText )->MoveAfterInTabOrder( mList );
-      S.Id( SetButtonID ).AddButton( _("S&et"));
-      S.Id( ClearButtonID ).AddButton( _("&Clear"));
-   }
-   S.EndHorizontalLay();
+      S.StartHorizontalLay(wxALIGN_CENTRE, false);
+      {
+         S.Id(CategoryID);
+         mCat = S.AddChoice(_("Category:"),
+                            mCats[0],
+                            &mCats);
+      }
+      S.EndHorizontalLay();
+                                    
+      mList = S.Id(CommandsListID).AddListControlReportMode();
+
+      S.StartThreeColumn();
+      {
+         if (!mKey) {
+            mKey = new wxTextCtrl(this,
+                                  CurrentComboID,
+                                  wxT(""),
+                                  wxDefaultPosition,
+#if defined(__WXMAC__)                                  
+                                  wxSize(300, -1));
+#else
+                                  wxSize(210, -1));
+#endif
+            mKey->Connect(wxEVT_KEY_DOWN,
+                          wxKeyEventHandler(KeyConfigPrefs::OnCaptureKeyDown));
+            mKey->Connect(wxEVT_CHAR,
+                          wxKeyEventHandler(KeyConfigPrefs::OnCaptureChar));
+         }
+         S.AddWindow(mKey);
+
+         S.Id(SetButtonID).AddButton(_("S&et"));
+         S.Id(ClearButtonID).AddButton(_("&Clear"));
+      }
+      S.EndThreeColumn();
 
 #if defined(__WXMAC__)
-   S.AddFixedText( _("Note: Pressing Cmd+Q will quit. All other keys are valid."));
+      S.AddFixedText(_("Note: Pressing Cmd+Q will quit. All other keys are valid."));
 #endif
 
-   S.StartHorizontalLay( wxALIGN_LEFT, 0);
-   {
-      S.Id( AssignDefaultsButtonID ).AddButton( _("&Defaults"));
-      S.Id( SaveButtonID ).AddButton( _("&Save..."));
-      S.Id( LoadButtonID ).AddButton( _("&Load..."));
+      S.StartThreeColumn();
+      {
+         S.Id(LoadButtonID).AddButton(_("&Load..."));
+         S.Id(SaveButtonID).AddButton(_("&Save..."));
+         S.Id(AssignDefaultsButtonID).AddButton(_("&Defaults"));
+      }
+      S.EndThreeColumn();
    }
-   S.EndHorizontalLay();
    S.EndStatic();
-   return;
 }
 
 /// Sets up mList with the right number of columns, titles,
 /// fills the contents and sets column widths.
 void KeyConfigPrefs::CreateList()
 {
-   wxASSERT( mList );
-
-   //An empty first column is a workaround - under Win98 the first column 
-   //can't be right aligned.
-   mList->InsertColumn(BlankColumn,    wxT(""), wxLIST_FORMAT_LEFT );
-   mList->InsertColumn(CommandColumn,  _NoAcc("&Command"),  wxLIST_FORMAT_LEFT );
-   mList->InsertColumn(KeyComboColumn, _("Key Combination"), wxLIST_FORMAT_LEFT );
+   mList->InsertColumn(CommandColumn, _("Command"), wxLIST_FORMAT_LEFT);
+   mList->InsertColumn(KeyComboColumn, _("Key Combination"), wxLIST_FORMAT_LEFT);
 
    RepopulateBindingsList();
 
-   mList->SetColumnWidth( BlankColumn, 0 ); // First column width is zero, to hide it.
-   mList->SetColumnWidth( CommandColumn, wxLIST_AUTOSIZE );
-   mList->SetColumnWidth( KeyComboColumn, 250 );
+   mList->SetColumnWidth(CommandColumn, wxLIST_AUTOSIZE);
+   mList->SetColumnWidth(KeyComboColumn, 250);
 }
 
-void KeyConfigPrefs::OnSave(wxCommandEvent& event)
+int wxCALLBACK SortCallback(long item1, long item2, long sortData)
 {
-   Apply();
+   wxArrayString *names = (wxArrayString *) sortData;
 
-   wxString fName = wxT("Audacity-keys.xml");
-   wxString path = gPrefs->Read(wxT("/DefaultExportPath"),
-                                ::wxGetCwd());
+   if (names->Item(item1) < names->Item(item2)) {
+      return -1;
+   }
 
-   fName = FileSelector(_("Export Keyboard Shortcuts As:"),
-                        NULL,
-                        fName,
-                        wxT("xml"),
-                        wxT("*.xml"),
-                        wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER,
-                        this);
+   if (names->Item(item1) > names->Item(item2)) {
+      return 1;
+   }
 
-   if (!fName)
-      return;
+   return 0;
+}
 
-   path = wxPathOnly(fName);
-   gPrefs->Write(wxT("/DefaultExportPath"), path);
+void KeyConfigPrefs::RepopulateBindingsList()
+{
+   wxString cat = mCat->GetStringSelection();
 
-   XMLFileWriter prefFile;
-   
-   prefFile.Open(fName, wxT("wb"));
+   mList->DeleteAllItems(); // Delete contents, but not the column headers.
+   mNames.Clear();
+   mManager->GetAllCommandNames(mNames, false);
+   bool save = (mKeys.GetCount() == 0);
 
-   if (!prefFile.IsOpened()) {
-      wxMessageBox(_("Couldn't write to file: ") + fName,
-                   _("Error saving keyboard shortcuts"),
-                   wxOK | wxCENTRE, this);
-      return;
-   }
+   size_t ndx = 0;
+   int color = 0;
+   for (size_t i = 0; i < mNames.GetCount(); i++) {
+      wxString name = mNames[i];
+      wxString key = KeyStringDisplay(mManager->GetKeyFromName(name));
+
+      // Save the original key value to support canceling
+      if (save) {
+         mKeys.Add(key);
+      }
+
+      if (cat != _("All") && mManager->GetCategoryFromName(name) != cat) {
+         continue;
+      }
+
+      wxString label;
+
+      // Labels for undo and redo change according to the last command
+      // which can be undone/redone, so give them a special check in order
+      // not to confuse users
+      if (name == wxT("Undo")) {
+         label = _("Undo");
+      }
+      else if (name == wxT("Redo")) {
+         label = _("Redo");
+      }
+      else {
+         label = mManager->GetPrefixedLabelFromName(name);
+      }
+
+      label = wxMenuItem::GetLabelFromText(label.BeforeFirst(wxT('\t')));
 
-   mManager->WriteXML(prefFile);
+      mList->InsertItem(ndx, label);
+      mList->SetItem(ndx, KeyComboColumn, key);
+      mList->SetItemData(ndx, i);
+      mList->SetItemBackgroundColour(ndx, color ? wxColour(240, 240, 240) : *wxWHITE);
+      color = 1 - color;
 
-   prefFile.Close();
+      ndx++;
+   }
+
+//   mList->SortItems(SortCallback, (long) &mNames);
 }
 
-void KeyConfigPrefs::OnLoad(wxCommandEvent& event)
+void KeyConfigPrefs::OnLoad(wxCommandEvent & e)
 {
+   wxString file = wxT("Audacity-keys.xml");
    wxString path = gPrefs->Read(wxT("/DefaultOpenPath"),
                                 ::wxGetCwd());
 
-   wxString fileName = FileSelector(_("Select an XML file containing Audacity keyboard shortcuts..."),
-                                    path,     // Path
-                                    wxT(""),       // Name
-                                    wxT(""),       // Extension
-                                    _("XML files (*.xml)|*.xml|All files (*.*)|*.*"),
-                                    wxRESIZE_BORDER,        // Flags
-                                    this);    // Parent
+   file = FileSelector(_("Select an XML file containing Audacity keyboard shortcuts..."),
+                       path,
+                       file,
+                       wxT(""),
+                       _("XML files (*.xml)|*.xml|All files (*.*)|*.*"),
+                       wxRESIZE_BORDER,
+                       this);
 
-   if (!fileName)
+   if (!file) {
       return;
+   }
 
-   path = wxPathOnly(fileName);
+   path = wxPathOnly(file);
    gPrefs->Write(wxT("/DefaultOpenPath"), path);
 
    XMLFileReader reader;
-   if (!reader.Parse(mManager, fileName))
+   if (!reader.Parse(mManager, file)) {
       wxMessageBox(reader.GetErrorStr(),
                    _("Error loading keyboard shortcuts"),
                    wxOK | wxCENTRE, this);
+   }
 
    RepopulateBindingsList();
 }
 
-void KeyConfigPrefs::OnSet(wxCommandEvent& event)
+void KeyConfigPrefs::OnSave(wxCommandEvent & e)
 {
-   if (mCommandSelected < 0 || mCommandSelected >= (int)mNames.GetCount())
+   wxString file = wxT("Audacity-keys.xml");
+   wxString path = gPrefs->Read(wxT("/DefaultExportPath"),
+                                ::wxGetCwd());
+
+   file = FileSelector(_("Export Keyboard Shortcuts As:"),
+                       path,
+                       file,
+                       wxT("xml"),
+                       _("XML files (*.xml)|*.xml|All files (*.*)|*.*"),
+                       wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER,
+                       this);
+
+   if (!file) {
       return;
-   wxString newKey = mCurrentComboText->GetValue();
+   }
+
+   path = wxPathOnly(file);
+   gPrefs->Write(wxT("/DefaultExportPath"), path);
+
+   XMLFileWriter prefFile;
    
-   // Check if shortcut has already been assigned
-   for (int i = 0; i < mList->GetItemCount(); i++)
+   try
+   {
+      prefFile.Open(file, wxT("wb"));
+      mManager->WriteXML(prefFile);
+      prefFile.Close();
+   }
+   catch (XMLFileWriterException* pException)
    {
+      wxMessageBox(_("Couldn't write to file: ") + file,
+                   _("Error saving keyboard shortcuts"),
+                   wxOK | wxCENTRE, this);
+
+      delete pException;
+   }
+}
+
+void KeyConfigPrefs::OnDefaults(wxCommandEvent & e)
+{
+   for (size_t i = 0; i < mNames.GetCount(); i++) {
+      mManager->SetKeyFromName(mNames[i],
+                               mManager->GetDefaultKeyFromName(mNames[i]));
+   }
+   RepopulateBindingsList();
+}
+
+void KeyConfigPrefs::OnCaptureKeyDown(wxKeyEvent & e)
+{
+   wxTextCtrl *t = (wxTextCtrl *)e.GetEventObject();
+   t->SetValue(KeyStringDisplay(KeyEventToKeyString(e)));
+}
+
+void KeyConfigPrefs::OnCaptureChar(wxKeyEvent & e)
+{
+}
+
+void KeyConfigPrefs::OnSet(wxCommandEvent & e)
+{
+   if (mCommandSelected < 0 || mCommandSelected >= mNames.GetCount()) {
+      return;
+   }
+
+   wxString newKey = mKey->GetValue();
+
+   // Check if shortcut has already been assigned
+   for (int i = 0; i < mList->GetItemCount(); i++) {
       wxListItem item;
-      item.m_col = KeyComboColumn;
-      item.m_mask = wxLIST_MASK_TEXT;
+
+      item.SetColumn(KeyComboColumn);
+      item.SetMask(wxLIST_MASK_TEXT);
       item.SetId(i);
       mList->GetItem(item);
-      if (item.m_text == newKey)
-      {
-         wxListItem item;
-         item.m_col = CommandColumn;
-         item.m_mask = wxLIST_MASK_TEXT;
-         item.SetId(i);
+
+      if (item.GetText() == newKey) {
+         item.SetColumn(CommandColumn);
          mList->GetItem(item);
-         wxString prompt = wxString::Format(
-            _("The keyboard shortcut '%s' is already assigned to:\n\n'%s'"),
-            newKey.c_str(),
-            item.m_text.c_str());
+
+         wxString prompt;
+         prompt = wxString::Format(_("The keyboard shortcut '%s' is already assigned to:\n\n'%s'"),
+                                   newKey.c_str(),
+                                   item.GetText().c_str());
             
          wxMessageBox(prompt, _("Error"), wxICON_STOP | wxCENTRE, this);
          
          return;
       }
    }
-   
-   mList->SetItem( mCommandSelected, KeyComboColumn, newKey);
+
+   mList->SetItem(mCommandSelected, KeyComboColumn, newKey);
+   mManager->SetKeyFromName(mNames[mList->GetItemData(mCommandSelected)], newKey);
 }
 
 void KeyConfigPrefs::OnClear(wxCommandEvent& event)
 {
-   mCurrentComboText->Clear();
-   if (mCommandSelected < 0 || mCommandSelected >= (int)mNames.GetCount())
+   mKey->Clear();
+   if (mCommandSelected < 0 || mCommandSelected >= mNames.GetCount()) {
       return;
-   mList->SetItem( mCommandSelected, KeyComboColumn, wxT("") );
+   }
+
+   mList->SetItem(mCommandSelected, KeyComboColumn, wxT(""));
+   mManager->SetKeyFromName(mNames[mList->GetItemData(mCommandSelected)], wxT(""));
 }
 
-void KeyConfigPrefs::OnKeyDown(wxListEvent &event)
+void KeyConfigPrefs::OnKeyDown(wxListEvent & e)
 {
-   int keycode = event.GetKeyCode();
+   int keycode = e.GetKeyCode();
    int selected = mList->GetNextItem(-1, wxLIST_NEXT_ALL,  wxLIST_STATE_SELECTED);
    int cnt = mList->GetItemCount();
    wxListItem item;
@@ -291,8 +407,8 @@ void KeyConfigPrefs::OnKeyDown(wxListEvent &event)
 
       mList->GetItem(item);
 
-      if (item.m_text.Left(1).IsSameAs(keycode, false)) {
-         mList->SetItemState(event.GetIndex(),
+      if (item.GetText().Left(1).IsSameAs(keycode, false)) {
+         mList->SetItemState(e.GetIndex(),
                              0,
                              wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED);
 
@@ -315,8 +431,8 @@ void KeyConfigPrefs::OnKeyDown(wxListEvent &event)
 
          mList->GetItem(item);
 
-         if (item.m_text.Left(1).IsSameAs(keycode, false)) {
-            mList->SetItemState(event.GetIndex(),
+         if (item.GetText().Left(1).IsSameAs(keycode, false)) {
+            mList->SetItemState(e.GetIndex(),
                                 0,
                                 wxLIST_STATE_FOCUSED | wxLIST_STATE_SELECTED);
 
@@ -331,161 +447,62 @@ void KeyConfigPrefs::OnKeyDown(wxListEvent &event)
    }
 }
 
-void KeyConfigPrefs::OnItemSelected(wxListEvent &event)
+void KeyConfigPrefs::OnCategory(wxCommandEvent & e)
 {
-   mCommandSelected = event.GetIndex();
-   if (mCommandSelected < 0 || mCommandSelected >= (int)mNames.GetCount()) {
-      mCurrentComboText->SetLabel(wxT(""));
-      return;
-   }
-   
-   wxListItem item;
-   item.m_col = KeyComboColumn;
-   item.m_mask = wxLIST_MASK_TEXT;
-   item.SetId( mCommandSelected );
-   mList->GetItem(item);
-
-   mCurrentComboText->Clear();
-   mCurrentComboText->AppendText(item.m_text);
-   // JKC: July-2004
-   // Under Windows 98 setting the focus to the combo box whilst
-   // we are still processing an OnItemSelected event can lead
-   // to a crash (try clicking on an item in the list and dragging it).
-   // It's OK under WinXP.  TODO: Is there a #define that only excludes
-   // WIN_98 that we could use here instead??
-#ifndef __WXMSW__
-   // LLL: Removed since the focus would jump away from the listctrl when
-   //      using the keyboard to move up and down the list.  Every time
-   //      the up/down arrows are pressed, the focus jumps aways and you have
-   //      to tab back to the listctrl.
-   //mCurrentComboText->SetFocus();
-#else
-   //JKC Something like the following might do what we want under Win98?
-   //mCurrentComboText->GetEventHandler()->AddPendingEvent( wxFocusEvent(wxEVT_SET_FOCUS));
-#endif
+   RepopulateBindingsList();
 }
 
-void KeyConfigPrefs::RepopulateBindingsList()
+void KeyConfigPrefs::OnItemSelected(wxListEvent & e)
 {
-   mList->DeleteAllItems(); // Delete contents, but not the column headers.
-   mNames.Clear();
-   mManager->GetAllCommandNames(mNames, false);
-   unsigned int i;
-   for(i=0; i<mNames.GetCount(); i++) {
-      mList->InsertItem( i, wxT("") );
-      wxString label;
-      
-      // Labels for undo and redo change according to the last command
-      // which can be undone/redone, so give them a special check in order
-      // not to confuse users
-      if (mNames[i] == wxT("Undo"))
-         label = _("Undo");
-      else if (mNames[i] == wxT("Redo"))
-         label = _NoAcc("&Redo");
-      else
-         label = mManager->GetPrefixedLabelFromName(mNames[i]);
-      
-      label = wxMenuItem::GetLabelFromText(label.BeforeFirst('\t'));
-      wxString key = KeyStringDisplay(mManager->GetKeyFromName(mNames[i]));
-
-      mList->SetItem( i, CommandColumn, label );
-      mList->SetItem( i, KeyComboColumn, key );
+   mCommandSelected = e.GetIndex();
+   if (mCommandSelected < 0 || mCommandSelected >= mNames.GetCount()) {
+      mKey->SetLabel(wxT(""));
+      return;
    }
-}
 
-void KeyConfigPrefs::OnDefaults(wxCommandEvent& event)
-{
-   unsigned int i;
- 
-   for (i=0; i<mNames.GetCount(); i++) {
-      mList->SetItem(i,
-                     KeyComboColumn,
-                     KeyStringDisplay(mManager->GetDefaultKeyFromName(mNames[i])));
-   }
+   wxListItem item;
+   item.SetColumn(KeyComboColumn);
+   item.SetMask(wxLIST_MASK_TEXT);
+   item.SetId(mCommandSelected);
+   mList->GetItem(item);
+
+   mKey->Clear();
+   mKey->AppendText(item.GetText());
 }
 
 bool KeyConfigPrefs::Apply()
 {
-   unsigned int i;
-   wxListItem item;
-
-   /// \todo
-   /// gPrefs SetPath is dodgy as we might be using gPrefs
-   /// elsewhere.
-   gPrefs->SetPath(wxT("/NewKeys"));
-
-   //
-   // Only store the key in the preferences if it's different 
-   // than the default value.
-   //
-
-   item.m_col = KeyComboColumn;
-   item.m_mask = wxLIST_MASK_TEXT;
-   for(i=0; i<mNames.GetCount(); i++) {
-      item.SetId( i );
-      mList->GetItem(item);
-      wxString name = mNames[i];
-      wxString key = KeyStringNormalize(item.m_text);
-
-      wxString defaultKey = KeyStringNormalize(mManager->GetDefaultKeyFromName(name));
+   for (size_t i = 0; i < mNames.GetCount(); i++) {
+      wxString dkey = KeyStringNormalize(mManager->GetDefaultKeyFromName(mNames[i]));
+      wxString name = wxT("/NewKeys/") + mNames[i];
+      wxString key = KeyStringNormalize(mManager->GetKeyFromName(mNames[i]));
 
       if (gPrefs->HasEntry(name)) {
-         wxString oldKey = KeyStringNormalize(gPrefs->Read(name, key));
-         if (oldKey != key)  {
+         if (key != KeyStringNormalize(gPrefs->Read(name, key))) {
             gPrefs->Write(name, key);
          }
-         if (key == defaultKey)   {
+         if (key == dkey) {
             gPrefs->DeleteEntry(name);
          }
       }
       else {
-         if (key != defaultKey){
+         if (key != dkey) {
             gPrefs->Write(name, key);
          }
       }
    }
 
-   gPrefs->SetPath(wxT("/"));
-
    return true;
 }
 
-KeyConfigPrefs::~KeyConfigPrefs()
-{
-}
-
-
-//BG: A quick and dirty override of wxTextCtrl to capture keys like Ctrl, Alt
-BEGIN_EVENT_TABLE(SysKeyTextCtrl, wxTextCtrl)
-   EVT_KEY_DOWN(SysKeyTextCtrl::OnKey)
-   EVT_CHAR(SysKeyTextCtrl::OnChar)
-END_EVENT_TABLE()
-
-SysKeyTextCtrl::SysKeyTextCtrl(wxWindow *parent, wxWindowID id,
-                              const wxString& value,
-                              const wxPoint& pos,
-                              const wxSize& size,
-                              long style,
-                              const wxValidator& validator,
-                              const wxString& name)
-: wxTextCtrl(parent, id, value, pos, size, style, validator, name)
-{
-}
-
-SysKeyTextCtrl::~SysKeyTextCtrl()
-{
-}
-
-//BG: It works on Windows, but we need to trap WM_CHAR
-//DM: On Linux, now it works except for Ctrl+3...Ctrl+8 (April/2003)
-void SysKeyTextCtrl::OnKey(wxKeyEvent& event)
+void KeyConfigPrefs::Cancel()
 {
-   SetValue(KeyStringDisplay(KeyEventToKeyString(event)));
-}
+   // Restore original key values
+   for (size_t i = 0; i < mNames.GetCount(); i++) {
+      mManager->SetKeyFromName(mNames[i], mKeys[i]);
+   }
 
-//BG: Trap WM_CHAR
-void SysKeyTextCtrl::OnChar(wxKeyEvent& event)
-{
+   return;
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/prefs/KeyConfigPrefs.h b/src/prefs/KeyConfigPrefs.h
index 0c5e236..b904df2 100644
--- a/src/prefs/KeyConfigPrefs.h
+++ b/src/prefs/KeyConfigPrefs.h
@@ -13,78 +13,54 @@
 #define __AUDACITY_KEY_CONFIG_PREFS__
 
 #include <wx/defs.h>
+#include <wx/listctrl.h>
 #include <wx/textctrl.h>
 #include <wx/string.h>
 
-#include "PrefsPanel.h"
-#include "../Project.h"
-
-class wxChoice;
-class wxCharEvent;
-class wxStaticText;
-class wxListCtrl;
-class wxListEvent;
-class wxWindow;
+#include "../ShuttleGui.h"
+#include "../commands/CommandManager.h"
 
-class SysKeyTextCtrl;
-class CommandManager;
-class ShuttleGui;
+#include "PrefsPanel.h"
 
 class KeyConfigPrefs:public PrefsPanel 
 {
-
-public:
+ public:
    KeyConfigPrefs(wxWindow * parent);
    ~KeyConfigPrefs();
    virtual bool Apply();
+   virtual void Cancel();
 
-private:
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
+   void PopulateOrExchange(ShuttleGui & S);
    void CreateList();
-
-   void OnDefaults(wxCommandEvent& event);
-   void OnLoad(wxCommandEvent& event);
-   void OnSave(wxCommandEvent& event);
-   void OnSet(wxCommandEvent& event);
-   void OnClear(wxCommandEvent& event);
-   void OnItemSelected(wxListEvent &event);
-   void OnKeyDown(wxListEvent &event);
    void RepopulateBindingsList();
 
-   SysKeyTextCtrl *mCurrentComboText;
-   wxListCtrl * mList;
+   void OnDefaults(wxCommandEvent & e);
+   void OnLoad(wxCommandEvent & e);
+   void OnSave(wxCommandEvent & e);
+   void OnSet(wxCommandEvent & e);
+   void OnClear(wxCommandEvent & e);
+   void OnCategory(wxCommandEvent & e);
+   void OnItemSelected(wxListEvent & e);
+   void OnKeyDown(wxListEvent & e);
+
+   void OnCaptureKeyDown(wxKeyEvent & e);
+   void OnCaptureChar(wxKeyEvent & e);
+
+   wxChoice *mCat;
+   wxTextCtrl *mKey;
+   wxListCtrl *mList;
+
    CommandManager *mManager;
-   int mCommandSelected;
+   size_t mCommandSelected;
+
+   wxArrayString mCats;
    wxArrayString mNames;
+   wxArrayString mKeys;
 
-public:
    DECLARE_EVENT_TABLE();
 };
-
-/// \brief BG: A quick and dirty override of wxTextCtrl to capture keys like Ctrl, Alt
-///
-/// This is only ever used by KeyConfigPrefs.
-class SysKeyTextCtrl:public wxTextCtrl
-{
-public:
-   SysKeyTextCtrl(wxWindow *parent, wxWindowID id,
-                  const wxString& value = wxEmptyString,
-                  const wxPoint& pos = wxDefaultPosition,
-                  const wxSize& size = wxDefaultSize,
-                  long style = 0,
-                  const wxValidator& validator = wxDefaultValidator,
-                  const wxString& name = wxTextCtrlNameStr);
-   ~SysKeyTextCtrl();
-
-private:
-   void OnKey(wxKeyEvent& event);
-   void OnChar(wxKeyEvent& event);
-
-protected:
-   DECLARE_EVENT_TABLE()
-};
-
 #endif
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/prefs/MidiIOPrefs.cpp b/src/prefs/MidiIOPrefs.cpp
index f380c66..ec8f8d7 100644
--- a/src/prefs/MidiIOPrefs.cpp
+++ b/src/prefs/MidiIOPrefs.cpp
@@ -1,6 +1,3 @@
-#include "../Experimental.h"
-
-#ifdef EXPERIMENTAL_NOTE_TRACK
 /**********************************************************************
 
   Audacity: A Digital Audio Editor
@@ -18,7 +15,7 @@
 other settings.
 
   Presents interface for user to select the recording device and
-  playback device, from the list of choices that PortAudio
+  playback device, from the list of choices that PortMidi
   makes available.
 
   Also lets user decide whether or not to record in stereo, and
@@ -27,29 +24,56 @@ other settings.
 *//********************************************************************/
 
 #include "../Audacity.h"
+#include "../Experimental.h"
+#ifdef EXPERIMENTAL_MIDI_OUT
+
 #include <wx/defs.h>
+
+#include <wx/choice.h>
 #include <wx/intl.h>
 
-#include "../Prefs.h"
+#include "portmidi.h"
+
 #include "../AudioIO.h"
-#include "../Project.h"
 #include "../Internat.h"
+#include "../Prefs.h"
+#include "../Project.h"
 #include "../ShuttleGui.h"
-#include "portmidi.h"
+
 #include "MidiIOPrefs.h"
 
-MidiIOPrefs::MidiIOPrefs(wxWindow * parent):
-   PrefsPanel(parent)
+enum {
+   HostID = 10000,
+   PlayID,
+   RecordID,
+   ChannelsID
+};
+
+BEGIN_EVENT_TABLE(MidiIOPrefs, PrefsPanel)
+   EVT_CHOICE(HostID, MidiIOPrefs::OnHost)
+//   EVT_CHOICE(RecordID, MidiIOPrefs::OnDevice)
+END_EVENT_TABLE()
+
+MidiIOPrefs::MidiIOPrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("MIDI Devices"))
 {
-   SetLabel(_("Audio I/O"));         // Provide visual label
-   SetName(_("Audio I/O"));          // Provide audible label
    Populate();
 }
 
-void MidiIOPrefs::Populate( )
+MidiIOPrefs::~MidiIOPrefs()
+{
+}
+
+void MidiIOPrefs::Populate()
 {
    // First any pre-processing for constructing the GUI.
    GetNamesAndLabels();
+
+   // Get current setting for devices
+   mPlayDevice = gPrefs->Read(wxT("/MidiIO/PlaybackDevice"), wxT(""));
+   mRecordDevice = gPrefs->Read(wxT("/MidiIO/RecordingDevice"), wxT(""));
+//   mRecordChannels = gPrefs->Read(wxT("/MidiIO/RecordChannels"), 2L);
+
    //------------------------- Main section --------------------
    // Now construct the GUI itself.
    // Use 'eIsCreatingFromPrefs' so that the GUI is 
@@ -57,90 +81,90 @@ void MidiIOPrefs::Populate( )
    ShuttleGui S(this, eIsCreatingFromPrefs);
    PopulateOrExchange(S);
    // ----------------------- End of main section --------------
-   // GUI is built, now do any post processing of it.
 
-   // Fit(); // JKC: Doesn't seem to make any difference...
+   wxCommandEvent e;
+   OnHost(e);
 }
 
 /// Gets the lists of names and lists of labels which are
 /// used in the choice controls.
 /// The names are what the user sees in the wxChoice.
 /// The corresponding labels are what gets stored.
-void MidiIOPrefs::GetNamesAndLabels()
-{
-   // Get lists of devices both for play and record.
-   int j;
-   wxString Name;
-   wxString Label;
-
+void MidiIOPrefs::GetNamesAndLabels() {
+   // Gather list of hosts.  Only added hosts that have devices attached.
    int nDevices = Pm_CountDevices();
-
-   for(j=0; j<nDevices; j++) {
-      const PmDeviceInfo* info = Pm_GetDeviceInfo(j);
-      Name = wxString( info->name, wxConvLocal );
-      Label = Name;
-      if (info->input > 0) {
-         mmPlayNames.Add( Name );
-         mmPlayLabels.Add( Label );
+   for (int i = 0; i < nDevices; i++) {
+      const PmDeviceInfo *info = Pm_GetDeviceInfo(i);
+      if (info->output || info->input) { //should always happen
+         wxString name(info->interf, wxConvLocal);
+         if (mHostNames.Index(name) == wxNOT_FOUND) {
+            mHostNames.Add(name);
+            mHostLabels.Add(name);
+         }
       }
-      if (info->output > 0) {
-         mmRecordNames.Add( Name );
-         mmRecordLabels.Add( Label );
-      }
-   }
-
-   // Channel counts, mono, stereo etc...
-   const int numChannels = 16;
-   for(int c=0; c<numChannels; c++)
-   {
-      mmChannelNames.Add(  wxString::Format(wxT("%d"), c+1));
-      mmChannelLabels.Add( c+1 );
    }
-   mmChannelNames[0] = wxString::Format(_("1 (Mono)"));
-   mmChannelNames[1] = wxString::Format(_("2 (Stereo)"));
 }
 
-void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S )
-{
-   /// \todo
-   /// JKC: I think setting paths in gPrefs is bad practice.
-   /// Suppose we are using gPrefs from elsewhere at the same time?
-   /// Change these all to full paths?
-   gPrefs->SetPath(wxT("/MidiIO"));
+void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S ) {
+   wxArrayString empty;
 
-   S.SetBorder( 2 );
+   S.SetBorder(2);
 
-   S.StartHorizontalLay(wxEXPAND, 0 );
-   S.StartStatic( _("Playback"),1 );
+   S.StartStatic(_("Interface"));
    {
-      S.StartMultiColumn(2, wxEXPAND);
-      S.SetStretchyCol(1);
-      S.TieChoice( _("Device") + wxString(wxT(":")), wxT("PlaybackDevice"), 
-         wxT(""), mmPlayNames, mmPlayLabels );
-
-      S.AddPrompt( _("Using:") );
-      wxString ver = _("Portaudio v");
-#if USE_PORTAUDIO_V19
-      ver += wxT("19");
-#else
-      ver += wxT("18");
-#endif
-      S.AddFixedText( ver );
+      S.StartMultiColumn(2);
+      {
+         S.Id(HostID);
+         mHost = S.TieChoice(_("Host") + wxString(wxT(":")),
+                             wxT("/MidiIO/Host"), 
+                             wxT(""),
+                             mHostNames,
+                             mHostLabels);
+         S.SetSizeHints(mHostNames);
+
+         S.AddPrompt(_("Using:"));
+         S.AddFixedText(wxString(Pa_GetVersionText(), wxConvLocal));
+      }
       S.EndMultiColumn();
    }                              
    S.EndStatic();
-   S.StartStatic( _("Recording"), 1 );
+
+   S.StartStatic(_("Playback"));
    {
-      S.StartMultiColumn(2, wxEXPAND);
-      S.SetStretchyCol(1);
-      S.TieChoice( _("Device") + wxString(wxT(":")), wxT("RecordingDevice"), 
-         wxT(""), mmRecordNames, mmRecordLabels );
-      S.TieChoice( _("Channels") + wxString(wxT(":")), wxT("RecordChannels"), 
-         2, mmChannelNames, mmChannelLabels );
+      S.StartMultiColumn(2);
+      {
+         S.Id(PlayID);
+         mPlay = S.AddChoice(_("Device") + wxString(wxT(":")),
+                             wxEmptyString,
+                             &empty);
+      }
       S.EndMultiColumn();
    }
    S.EndStatic();
-   S.EndHorizontalLay();
+
+   S.StartStatic(_("Recording"));
+   {
+      S.StartMultiColumn(2);
+      {
+         S.Id(RecordID);
+         mRecord = S.AddChoice(_("Device") + wxString(wxT(":")),
+                               wxEmptyString,
+                               &empty);
+
+         S.Id(ChannelsID);
+         /*
+         mChannels = S.AddChoice(_("Channels") + wxString(wxT(":")),
+                                 wxEmptyString,
+                                 &empty);
+         */
+      }
+      S.EndMultiColumn();
+   }
+   S.EndStatic();
+}
+
+// Not sure that these settings are needed right now.
+#if 0
    S.StartStatic( _("Playthrough") );
    {
       S.TieCheckBox( _("&Play other tracks while recording new one"),
@@ -167,12 +191,10 @@ void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S )
    S.StartStatic( _("Latency"),1 );
    {
       S.StartThreeColumn();
-#if USE_PORTAUDIO_V19
       // only show the following controls if we use Portaudio v19, because
       // for Portaudio v19 we always use default buffer sizes
       S.TieTextBox( _("Audio to buffer:"),wxT("LatencyDuration"),100.0,9);
       S.AddUnits(  _("milliseconds") );
-#endif
       S.TieTextBox( _("Latency correction:"),wxT("LatencyCorrection"),0.0,9);
       S.AddUnits(  _("milliseconds") );
       S.EndThreeColumn();
@@ -199,8 +221,7 @@ void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S )
    }
 
    gPrefs->SetPath(wxT("/"));
-}
-
+#endif
 
 // JKC: This is some old code that was sizing control labels all the same, 
 // even if in different static controls.  It made for a nicer layout.
@@ -224,25 +245,172 @@ void MidiIOPrefs::PopulateOrExchange( ShuttleGui & S )
    }
 #endif
 
+void MidiIOPrefs::OnHost(wxCommandEvent & e)
+{
+   int index = mHost->GetCurrentSelection();
+   wxString itemAtIndex = mHostNames.Item(index);
+   int nDevices = Pm_CountDevices();
+
+   if (nDevices == 0) {
+      mHost->Clear();
+      mHost->Append(_("No MIDI interfaces"), (void *) NULL);
+      mHost->SetSelection(0);
+   }
 
-MidiIOPrefs::~MidiIOPrefs()
+   mPlay->Clear();
+   mRecord->Clear();
+
+   wxArrayString playnames;
+   wxArrayString recordnames;
+
+   for (int i = 0; i < nDevices; i++) {
+      const PmDeviceInfo *info = Pm_GetDeviceInfo(i);
+      wxString interf(info->interf, wxConvLocal);
+      if (itemAtIndex.IsSameAs(interf)) {
+         wxString name(info->name, wxConvLocal);
+         wxString device = wxString::Format(wxT("%s: %s"),
+                                            interf.c_str(),
+                                            name.c_str());
+         int index;
+
+         if (info->output) {
+            playnames.Add(name);
+            index = mPlay->Append(name, (void *) info);
+            if (device == mPlayDevice) {
+               mPlay->SetSelection(index);
+            }
+         }
+
+         if (info->input) {
+            recordnames.Add(name);
+            index = mRecord->Append(name, (void *) info);
+            if (device == mRecordDevice) {
+               mRecord->SetSelection(index);
+            }
+         }
+      }
+   }
+
+   if (mPlay->GetCount() == 0) {
+      playnames.Add(_("No devices found"));
+      mPlay->Append(playnames[0], (void *) NULL);
+   }
+
+   if (mRecord->GetCount() == 0) {
+      recordnames.Add(_("No devices found"));
+      mRecord->Append(recordnames[0], (void *) NULL);
+   }
+
+   if (mPlay->GetCount() && mPlay->GetSelection() == wxNOT_FOUND) {
+      mPlay->SetSelection(0);
+   }
+
+   if (mRecord->GetCount() && mRecord->GetSelection() == wxNOT_FOUND) {
+      mRecord->SetSelection(0);
+   }
+
+   ShuttleGui S(this, eIsCreating);
+   S.SetSizeHints(mPlay, playnames);
+   S.SetSizeHints(mRecord, recordnames);
+//   OnDevice(e);
+}
+
+/*
+void MidiIOPrefs::OnDevice(wxCommandEvent & e)
 {
+   int ndx = mRecord->GetCurrentSelection();
+   if (ndx == wxNOT_FOUND) {
+      ndx = 0;
+   }
+
+   int sel = mChannels->GetSelection();
+   int cnt = 0;
+
+   const PmDeviceInfo *info = (const PmDeviceInfo *) mRecord->GetClientData(ndx);
+   if (info != NULL) {
+      cnt = info->input;
+   }
+
+   if (sel != wxNOT_FOUND) {
+      mRecordChannels = sel + 1;
+   }
+
+   mChannels->Clear();
+
+   // Limit cnt
+   cnt = cnt <= 0  ? 16  : cnt;
+   cnt = cnt > 256 ? 256 : cnt;
+      
+   wxArrayString channelnames;
+
+   // Channel counts, mono, stereo etc...
+   for (int i = 0; i < cnt; i++) {
+      wxString name;
+
+      if (i == 0) {
+         name = _("1 (Mono)");
+      }
+      else if (i == 1) {
+         name = _("2 (Stereo)");
+      }
+      else {
+         name = wxString::Format(wxT("%d"), i + 1);
+      }
+
+      channelnames.Add(name);
+      int index = mChannels->Append(name);
+      if (i == mRecordChannels - 1) {
+         mChannels->SetSelection(index);
+      }
+   }
+
+   if (mChannels->GetCount() && mChannels->GetCurrentSelection() == wxNOT_FOUND) {
+      mChannels->SetSelection(0);
+   }
+
+   ShuttleGui S(this, eIsCreating);
+   S.SetSizeHints(mChannels, channelnames);
+   Layout();
 }
+*/
 
 bool MidiIOPrefs::Apply()
 {
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
+   ShuttleGui S(this, eIsSavingToPrefs);
+   PopulateOrExchange(S);
+
+   const PmDeviceInfo *info;
 
-#if USE_PORTMIXER
+   info = (const PmDeviceInfo *) mPlay->GetClientData(mPlay->GetSelection());
+   if (info) {
+      gPrefs->Write(wxT("/MidiIO/PlaybackDevice"),
+                    wxString::Format(wxT("%s: %s"),
+                                     wxString(info->interf, wxConvLocal).c_str(),
+                                     wxString(info->name, wxConvLocal).c_str()));
+   }
+
+   info = (const PmDeviceInfo *) mRecord->GetClientData(mRecord->GetSelection());
+   if (info) {
+      gPrefs->Write(wxT("/MidiIO/RecordingDevice"),
+                    wxString::Format(wxT("%s: %s"),
+                                     wxString(info->interf, wxConvLocal).c_str(),
+                                     wxString(info->name, wxConvLocal).c_str()));
+   }
+
+/*
+   gPrefs->Write(wxT("/MidiIO/RecordChannels"),
+                 wxString::Format(wxT("%d"),
+                                  mChannels->GetSelection() + 1));
+*/
+
+   #if USE_PORTMIXER
    if (gAudioIO)
       gAudioIO->HandleDeviceChange();
-#endif // USE_PORTMIXER
+   #endif // USE_PORTMIXER
 
    return true;
 }
 
-
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/prefs/MidiIOPrefs.h b/src/prefs/MidiIOPrefs.h
index 047cbc4..5ada528 100644
--- a/src/prefs/MidiIOPrefs.h
+++ b/src/prefs/MidiIOPrefs.h
@@ -1,6 +1,3 @@
-#include "../Experimental.h"
-
-#ifdef EXPERIMENTAL_NOTE_TRACK
 /**********************************************************************
 
   Audacity: A Digital Audio Editor
@@ -12,46 +9,56 @@
 
 **********************************************************************/
 
+#include "../Experimental.h"
+#ifdef EXPERIMENTAL_MIDI_OUT
+
 #ifndef __AUDACITY_MIDI_IO_PREFS__
 #define __AUDACITY_MIDI_IO_PREFS__
 
-#include <wx/string.h>
-
-#include "PrefsPanel.h"
-
-class wxWindow;
-class wxCheckBox;
-class wxChoice;
 #include <wx/defs.h>
+
+#include <wx/choice.h>
 #include <wx/string.h>
+#include <wx/window.h>
 
-#include "PrefsPanel.h"
+#include "../ShuttleGui.h"
 
-class wxWindow;
-class ShuttleGui;
+#include "PrefsPanel.h"
 
-class MidiIOPrefs:public PrefsPanel 
+class MidiIOPrefs:public PrefsPanel
 {
-public:
+ public:
    MidiIOPrefs(wxWindow * parent);
-   ~MidiIOPrefs();
+   virtual ~MidiIOPrefs();
    virtual bool Apply();
 
-private:
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
+   void PopulateOrExchange(ShuttleGui & S);
    void GetNamesAndLabels();
 
-   wxArrayString mmPlayNames;
-   wxArrayString mmPlayLabels;
-   wxArrayString mmRecordNames;
-   wxArrayString mmRecordLabels;
-   wxArrayString mmChannelNames;
-   wxArrayInt    mmChannelLabels;
+   void OnHost(wxCommandEvent & e);
+//   void OnDevice(wxCommandEvent & e);
+
+   wxArrayString mHostNames;
+   wxArrayString mHostLabels;
+
+   wxString mPlayDevice;
+   wxString mRecordDevice;
+//   long mRecordChannels;
+
+   wxChoice *mHost;
+   wxChoice *mPlay;
+   wxChoice *mRecord;
+//   wxChoice *mChannels;
+
+   DECLARE_EVENT_TABLE();
 };
 
 #endif
 
+#endif
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
@@ -62,5 +69,3 @@ private:
 //
 // vim: et sts=3 sw=3
 // arch-tag: df22b108-e989-4ec4-a8b6-dddbcc7be6a7
-
-#endif
diff --git a/src/prefs/MousePrefs.cpp b/src/prefs/MousePrefs.cpp
index 7897df1..00af13a 100644
--- a/src/prefs/MousePrefs.cpp
+++ b/src/prefs/MousePrefs.cpp
@@ -43,24 +43,29 @@
 #include "MousePrefs.h"
 
 // The numbers of the columns of the mList.
-enum { BlankColumn=0, ToolColumn=1, ActionColumn=2, ButtonsColumn=3, CommentColumn=4};
-
-BEGIN_EVENT_TABLE(MousePrefs, wxPanel)
-END_EVENT_TABLE()	
+enum
+{
+   BlankColumn,
+   ToolColumn,
+   ActionColumn,
+   ButtonsColumn,
+   CommentColumn
+};
 
 /// Constructor
-MousePrefs::MousePrefs(wxWindow * parent):
-PrefsPanel(parent)
+MousePrefs::MousePrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Mouse"))
 {
-   SetLabel(_("Mouse"));         // Provide visual label
-   SetName(_("Mouse"));          // Provide audible label
    Populate();
 }
 
+MousePrefs::~MousePrefs()
+{
+}
+
 /// Creates the dialog and its contents.
-void MousePrefs::Populate( )
+void MousePrefs::Populate()
 {
-   // First any pre-processing for constructing the GUI.
    //------------------------- Main section --------------------
    // Now construct the GUI itself.
    // Use 'eIsCreatingFromPrefs' so that the GUI is 
@@ -72,12 +77,13 @@ void MousePrefs::Populate( )
 }
 
 /// Places controls on the panel and also exchanges data with them.
-void MousePrefs::PopulateOrExchange( ShuttleGui & S )
+void MousePrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   S.SetBorder( 2 );
-   S.StartStatic( _("Mouse Bindings (default values, not configurable)"),1);
+   S.SetBorder(2);
+
+   S.StartStatic(_("Mouse Bindings (default values, not configurable)"), 1);
    {
-      mList = S.AddListControlReportMode( );
+      mList = S.AddListControlReportMode();
    }
    S.EndStatic();
 }
@@ -85,79 +91,72 @@ void MousePrefs::PopulateOrExchange( ShuttleGui & S )
 /// Creates the contents of mList
 void MousePrefs::CreateList()
 {
-   wxASSERT( mList );
-
    //An empty first column is a workaround - under Win98 the first column 
    //can't be right aligned.
-   mList->InsertColumn(BlankColumn,   wxT(""),              wxLIST_FORMAT_LEFT );
-   mList->InsertColumn(ToolColumn,    _("Tool"),            wxLIST_FORMAT_RIGHT );
-   mList->InsertColumn(ActionColumn,  _("Command Action"),  wxLIST_FORMAT_RIGHT );
-   mList->InsertColumn(ButtonsColumn, _("Buttons"),         wxLIST_FORMAT_LEFT );
-   mList->InsertColumn(CommentColumn, _("Comments"),        wxLIST_FORMAT_LEFT );
-
-   AddItem( _("Left-Click"),        _("Select"),   _("Set Selection Point") );
-   AddItem( _("Left-Drag"),         _("Select"),   _("Set Selection Range") );
-   AddItem( _("Shift-Left-Click"),  _("Select"),   _("Extend Selection Range") );
-   AddItem( _("Left-Double-Click"), _("Select"),   _("Select Clip or Entire Track") );
-   AddItem( _("Ctrl-Left-Click"),   _("Select"),   _("Set Selection Point and Play") );
-
-   AddItem( _("Left-Click"),       _("Zoom"),      _("Zoom in on Point") );
-   AddItem( _("Left-Drag"),        _("Zoom"),      _("Zoom in on a Range"), _("same as right-drag") );
-   AddItem( _("Right-Click"),      _("Zoom"),      _("Zoom out one step") );
-   AddItem( _("Right-Drag"),       _("Zoom"),      _("Zoom in on a Range"), _("same as left-drag") );
-   AddItem( _("Shift-Drag"),       _("Zoom"),      _("Zoom out on a Range"));
-   AddItem( _("Middle-Click"),     _("Zoom"),      _("Zoom default"));
-
-   AddItem( _("Left-Drag"),        _("Time-Shift"),_("Time shift clip or move up/down between tracks") );
-   AddItem( _("Shift-Left-Drag"),  _("Time-Shift"),_("Time shift all clips in track") );
-   AddItem( _("Ctrl-Left-Drag"),   _("Time-Shift"),_("Move clip up/down between tracks") );
+   mList->InsertColumn(BlankColumn,   wxT(""),              wxLIST_FORMAT_LEFT);
+   mList->InsertColumn(ToolColumn,    _("Tool"),            wxLIST_FORMAT_RIGHT);
+   mList->InsertColumn(ActionColumn,  _("Command Action"),  wxLIST_FORMAT_RIGHT);
+   mList->InsertColumn(ButtonsColumn, _("Buttons"),         wxLIST_FORMAT_LEFT);
+   mList->InsertColumn(CommentColumn, _("Comments"),        wxLIST_FORMAT_LEFT);
+
+   AddItem(_("Left-Click"),        _("Select"),   _("Set Selection Point"));
+   AddItem(_("Left-Drag"),         _("Select"),   _("Set Selection Range"));
+   AddItem(_("Shift-Left-Click"),  _("Select"),   _("Extend Selection Range"));
+   AddItem(_("Left-Double-Click"), _("Select"),   _("Select Clip or Entire Track"));
+   AddItem(_("Ctrl-Left-Click"),   _("Select"),   _("Set Selection Point and Play"));
+
+   AddItem(_("Left-Click"),       _("Zoom"),      _("Zoom in on Point"));
+   AddItem(_("Left-Drag"),        _("Zoom"),      _("Zoom in on a Range"), _("same as right-drag"));
+   AddItem(_("Right-Click"),      _("Zoom"),      _("Zoom out one step"));
+   AddItem(_("Right-Drag"),       _("Zoom"),      _("Zoom in on a Range"), _("same as left-drag"));
+   AddItem(_("Shift-Drag"),       _("Zoom"),      _("Zoom out on a Range"));
+   AddItem(_("Middle-Click"),     _("Zoom"),      _("Zoom default"));
+
+   AddItem(_("Left-Drag"),        _("Time-Shift"),_("Time shift clip or move up/down between tracks"));
+   AddItem(_("Shift-Left-Drag"),  _("Time-Shift"),_("Time shift all clips in track"));
+   AddItem(_("Ctrl-Left-Drag"),   _("Time-Shift"),_("Move clip up/down between tracks"));
    
-   AddItem( _("Left-Drag"),        _("Envelope"),  _("Change Amplification Envelope") );
-
-   AddItem( _("Left-Click"),       _("Pencil"),    _("Change Sample") );
-   AddItem( _("Alt-Left-Click"),   _("Pencil"),    _("Smooth at Sample") );
-   AddItem( _("Left-Drag"),        _("Pencil"),    _("Change Several Samples") );
-   AddItem( _("Ctrl-Left-Drag"),   _("Pencil"),    _("Change ONE Sample only") );
-
-   AddItem( _("Left-Click"),       _("Multi"),     _("Set Selection Point"), _("same as select tool") );
-   AddItem( _("Left-Drag"),        _("Multi"),     _("Set Selection Range"), _("same as select tool") );
-   AddItem( _("Right-Click"),      _("Multi"),     _("Zoom out one step"),   _("same as zoom tool") );
-   AddItem( _("Right-Drag"),       _("Multi"),     _("Zoom in on a Range"),  _("same as zoom tool") );
-
-   AddItem( _("Wheel-Rotate"),      _("Any"),      _("Scroll up or down") );
-   AddItem( _("Shift-Wheel-Rotate"),_("Any"),      _("Scroll left or right") );
-   AddItem( _("Ctrl-Wheel-Rotate"), _("Any"),      _("Zoom in or out") );
-
-   mList->SetColumnWidth( BlankColumn,  0 ); // First column width is zero, to hide it.
-   mList->SetColumnWidth( ToolColumn,   wxLIST_AUTOSIZE );
-   mList->SetColumnWidth( ActionColumn, wxLIST_AUTOSIZE );
-   mList->SetColumnWidth( ButtonsColumn, wxLIST_AUTOSIZE );
+   AddItem(_("Left-Drag"),        _("Envelope"),  _("Change Amplification Envelope"));
+
+   AddItem(_("Left-Click"),       _("Pencil"),    _("Change Sample"));
+   AddItem(_("Alt-Left-Click"),   _("Pencil"),    _("Smooth at Sample"));
+   AddItem(_("Left-Drag"),        _("Pencil"),    _("Change Several Samples"));
+   AddItem(_("Ctrl-Left-Drag"),   _("Pencil"),    _("Change ONE Sample only"));
+
+   AddItem(_("Left-Click"),       _("Multi"),     _("Set Selection Point"), _("same as select tool"));
+   AddItem(_("Left-Drag"),        _("Multi"),     _("Set Selection Range"), _("same as select tool"));
+   AddItem(_("Right-Click"),      _("Multi"),     _("Zoom out one step"),   _("same as zoom tool"));
+   AddItem(_("Right-Drag"),       _("Multi"),     _("Zoom in on a Range"),  _("same as zoom tool"));
+
+   AddItem(_("Wheel-Rotate"),      _("Any"),      _("Scroll up or down"));
+   AddItem(_("Shift-Wheel-Rotate"),_("Any"),      _("Scroll left or right"));
+   AddItem(_("Ctrl-Wheel-Rotate"), _("Any"),      _("Zoom in or out"));
+
+   mList->SetColumnWidth(BlankColumn, 0);
+   mList->SetColumnWidth(ToolColumn, wxLIST_AUTOSIZE);
+   mList->SetColumnWidth(ActionColumn, wxLIST_AUTOSIZE);
+   mList->SetColumnWidth(ButtonsColumn, wxLIST_AUTOSIZE);
+
    // Not sure if this extra column is a good idea or not.
    // Anyway, 5 pixels wide is wide enough that some people who are curious will drag it
    // wider to see what's there (the comments show that the duplication of functions
    // is for a reason, and not just random).
-   mList->SetColumnWidth( CommentColumn, 5 ); 
-}
-
-MousePrefs::~MousePrefs()
-{
+   mList->SetColumnWidth(CommentColumn, 5); 
 }
 
 /// Adds an item to mList
-void MousePrefs::AddItem( wxString const & MouseButtons, wxString const & Tool, 
-                         wxString const & Action, wxString const & Comment )
+void MousePrefs::AddItem(wxString const & buttons, wxString const & tool,
+                         wxString const & action, wxString const & comment)
 {
-   int i=mList->GetItemCount();
-   mList->InsertItem( i, wxT("") );
-   mList->SetItem( i, ToolColumn, Tool );
-   mList->SetItem( i, ActionColumn, Action );
-   mList->SetItem( i, ButtonsColumn, MouseButtons );
+   int i = mList->GetItemCount();
+   mList->InsertItem(i, wxT(""));
+   mList->SetItem(i, ToolColumn, tool);
+   mList->SetItem(i, ActionColumn, action);
+   mList->SetItem(i, ButtonsColumn, buttons);
 
    // Add a space before the text to work around a minor bug in the 
    // list control when showing narrow columns.
-   wxString Temp(wxT(" "));
-   Temp+=Comment;
-   mList->SetItem( i, CommentColumn, Temp );
+   mList->SetItem(i, CommentColumn, wxT(" ") + comment);
 }
 
 
@@ -166,8 +165,8 @@ void MousePrefs::AddItem( wxString const & MouseButtons, wxString const & Tool,
 bool MousePrefs::Apply()
 {
 // Not yet required...
-//   ShuttleGui S( this, eIsSavingToPrefs );
-//   PopulateOrExchange( S );
+//   ShuttleGui S(this, eIsSavingToPrefs);
+//   PopulateOrExchange(S);
    return true;
 }
 
diff --git a/src/prefs/MousePrefs.h b/src/prefs/MousePrefs.h
index b85f25d..a7554a6 100644
--- a/src/prefs/MousePrefs.h
+++ b/src/prefs/MousePrefs.h
@@ -9,33 +9,33 @@
 #ifndef __AUDACITY_MOUSE_PREFS__
 #define __AUDACITY_MOUSE_PREFS__
 
-#include <wx/string.h>
+#include <wx/defs.h>
 
-#include "PrefsPanel.h"
+#include <wx/listctrl.h>
+#include <wx/string.h>
+#include <wx/window.h>
 
-class wxWindow;
-class wxListCtrl;
-class ShuttleGui;
+#include "../ShuttleGui.h"
 
-class MousePrefs:public PrefsPanel {
+#include "PrefsPanel.h"
 
-public:
+class MousePrefs:public PrefsPanel
+{
+ public:
    MousePrefs(wxWindow * parent);
    ~MousePrefs();
    virtual bool Apply();
 
-private:
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
+   void PopulateOrExchange(ShuttleGui & S);
    void CreateList();
-   void AddItem( wxString const & MouseButtons, 
-      wxString const & Tool, 
-      wxString const & Action,
-      wxString const & Comment = wxString(wxT("")));
+   void AddItem(wxString const & buttons, 
+                wxString const & tool, 
+                wxString const & action,
+                wxString const & comment = wxEmptyString);
 
    wxListCtrl * mList;
-public:
-   DECLARE_EVENT_TABLE()
 };
 
 #endif
diff --git a/src/prefs/PrefsDialog.cpp b/src/prefs/PrefsDialog.cpp
index 868c961..7f518fd 100644
--- a/src/prefs/PrefsDialog.cpp
+++ b/src/prefs/PrefsDialog.cpp
@@ -14,7 +14,6 @@
 
 *//*******************************************************************/
 
-#include "../Experimental.h"
 #include "../Audacity.h"
 
 #include <wx/defs.h>
@@ -25,243 +24,193 @@
 #include <wx/gdicmn.h>
 #include <wx/intl.h>
 #include <wx/listbox.h>
-#include <wx/imaglist.h>
 #include <wx/msgdlg.h>
-#include <wx/notebook.h>
-//#include <wx/choicebk.h>
-#include <wx/listbook.h>
-#include <wx/listctrl.h>
 #include <wx/sizer.h>
 
+#include <wx/listbook.h>
+
 #if wxCHECK_VERSION(2, 8, 4)
 #include <wx/treebook.h>
 #else
 #include "../widgets/treebook.h"
 #endif
 
+#include "../Experimental.h"
 #include "../Project.h"
-
 #include "../Prefs.h"
 
 #include "PrefsDialog.h"
 #include "PrefsPanel.h"
 
-#include "AudioIOPrefs.h"
-#include "SmartRecordPrefs.h"
-
-/* REQUIRES PORTMIDI */
-//#include "MidiIOPrefs.h"
-
+#include "BatchPrefs.h"
+#include "DevicePrefs.h"
 #include "DirectoriesPrefs.h"
-#include "FileFormatPrefs.h"
 #include "GUIPrefs.h"
-#include "ThemePrefs.h"
-#include "BatchPrefs.h"
+#include "ImportExportPrefs.h"
 #include "KeyConfigPrefs.h"
+#include "LibraryPrefs.h"
+#include "MousePrefs.h"
+#include "PlaybackPrefs.h"
+#include "ProjectsPrefs.h"
 #include "QualityPrefs.h"
+#include "RecordingPrefs.h"
 #include "SpectrumPrefs.h"
-#include "MousePrefs.h"
-#include "../Experimental.h"
-
-//JKC: Experimental treebook, backported from wxWidgets 2.7.x
-//#include "../widgets/treebook.h"
-
+#include "ThemePrefs.h"
+#include "TracksPrefs.h"
+#include "WarningsPrefs.h"
 
-enum {
-   CategoriesID = 1000
-};
+#ifdef EXPERIMENTAL_MIDI_OUT
+#include "MidiIOPrefs.h"
+#endif
 
 BEGIN_EVENT_TABLE(PrefsDialog, wxDialog)
    EVT_BUTTON(wxID_OK, PrefsDialog::OnOK)
    EVT_BUTTON(wxID_CANCEL, PrefsDialog::OnCancel)
 END_EVENT_TABLE()
 
-bool gPrefsDialogVisible = false;
-
-// wxListBook doesn't let you use report mode for the list.
-// We don't want images, we do want a single column, 
-// so we work around the limitations by defining a thin and empty image.
-static const char * TrialImage[] = {
-"64 1 3 1",
-"+	c #004010",
-".	c None", // mask color = RGB:255,0,0
-"#	c #00AA30",
-"................................................................"};
-
-
-
-PrefsDialog::PrefsDialog(wxWindow * parent):
-   wxDialog(parent, -1, _("Audacity Preferences"), wxDefaultPosition,
-         wxDefaultSize, wxCAPTION)
-//         wxDefaultSize, wxDIALOG_MODAL | wxCAPTION | wxTHICK_FRAME)
+PrefsDialog::PrefsDialog(wxWindow * parent)
+:  wxDialog(parent, wxID_ANY, wxString(_("Audacity Preferences")),
+            wxDefaultPosition,
+            wxDefaultSize,
+            wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
 {
-   gPrefsDialogVisible = true;
-
-   wxRect rect = GetRect();
-   if(rect.x < 0) rect.x = 0;
-   if(rect.y < 0) rect.y = 0;
-   SetSize(rect);
-
-   wxBoxSizer *topSizer = new wxBoxSizer(wxVERTICAL);
-// mCategories = new wxNotebook(this, -1, wxDefaultPosition, wxDefaultSize
-// mCategories = new wxChoicebook(this, -1, wxDefaultPosition, wxDefaultSize
-// mCategories = new wxListbook(this, -1, wxDefaultPosition, wxDefaultSize
-   mCategories = new wxTreebook(this, -1, wxDefaultPosition, wxDefaultSize
-#ifdef __WXGTK__
-                                ,wxNB_LEFT
-#endif
-                                );
-
-#if !wxCHECK_VERSION(2, 8, 4)
-   // The list width is determined by the width of the images.
-   // If you don't add some images the list will be too narrow.
-   wxImageList *pImages = new wxImageList(64,1);
-   wxBitmap bmpTrial(TrialImage);
-   pImages->Add( bmpTrial );
-   mCategories->SetImageList(pImages);
-#endif
+   ShuttleGui S(this, eIsCreating);
 
-   //These two lines were an attempt to size the list correctly.
-   //They don't work (in wxWidgets 2.6.1/XP)
-//   wxListView * pList = mCategories->GetListView();
-   // Can't use wxLC_REPORT because of limitations in wxListBook.
-//   pList->SetWindowStyleFlag(wxLC_ICON | wxLC_SINGLE_SEL );//| wxLC_ALIGN_LEFT);
-   //pList->SetMinSize( wxSize(300,100));
-   
-   topSizer->Add(mCategories, 1, wxGROW | wxALL, 0);
-
-   /* All panel additions belong here */
-   wxWindow *w;
-
-   // Parameters are: AppPage( page, name, IsSelected, imageId)
-   w = new AudioIOPrefs(mCategories);     mCategories->AddPage(w, w->GetName(),false,0);
-/* REQUIRES PORTMIDI */
-//   w = new MidiIOPrefs(mCategories);     mCategories->AddPage(w, w->GetName(),false,0);
-   w = new QualityPrefs(mCategories);     mCategories->AddPage(w, w->GetName(),false,0);
-   w = new FileFormatPrefs(mCategories);  mCategories->AddPage(w, w->GetName(),false,0);
-   w = new GUIPrefs(mCategories);         mCategories->AddPage(w, w->GetName(),false,0);
-   w = new SpectrumPrefs(mCategories);    mCategories->AddPage(w, w->GetName(),false,0);
-   w = new DirectoriesPrefs(mCategories); mCategories->AddPage(w, w->GetName(),false,0);
-   w = new SmartRecordPrefs(mCategories); mCategories->AddPage(w, w->GetName(),false,0);
+   S.StartVerticalLay(true);
+   {
+      S.StartHorizontalLay(wxALIGN_LEFT | wxEXPAND, true);
+      {
+         mCategories = new wxTreebook(this, wxID_ANY);
+         S.Prop(1);
+         S.AddWindow(mCategories, wxEXPAND);
+
+         wxWindow *w;
+         // Parameters are: AppPage( page, name, IsSelected, imageId)
+         w = new DevicePrefs(mCategories);      mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new PlaybackPrefs(mCategories);    mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new RecordingPrefs(mCategories);   mCategories->AddPage(w, w->GetName(), false, 0);
+#ifdef EXPERIMENTAL_MIDI_OUT
+         w = new MidiIOPrefs(mCategories);      mCategories->AddPage(w, w->GetName(), false, 0);
+#endif
+         w = new QualityPrefs(mCategories);     mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new GUIPrefs(mCategories);         mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new TracksPrefs(mCategories);      mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new ImportExportPrefs(mCategories);mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new ProjectsPrefs(mCategories);    mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new LibraryPrefs(mCategories);     mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new SpectrumPrefs(mCategories);    mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new DirectoriesPrefs(mCategories); mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new WarningsPrefs(mCategories);    mCategories->AddPage(w, w->GetName(), false, 0);
 
 #ifdef EXPERIMENTAL_THEME_PREFS
-   w = new ThemePrefs(mCategories);       mCategories->AddPage(w, w->GetName(),false,0);
+         w = new ThemePrefs(mCategories);       mCategories->AddPage(w, w->GetName(), false, 0);
 #endif
 
-//   w = new BatchPrefs(mCategories);       mCategories->AddPage(w, w->GetName(),false,0);
-   w = new KeyConfigPrefs(mCategories);   mCategories->AddPage(w, w->GetName(),false,0);
-   w = new MousePrefs(mCategories);       mCategories->AddPage(w, w->GetName(),false,0);
-
-   long selected = gPrefs->Read(wxT("/Prefs/PrefsCategory"), 0L);
-   if (selected < 0 || selected >= (int)mCategories->GetPageCount())
-      mSelected = 0;
-
+//       w = new BatchPrefs(mCategories);       mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new KeyConfigPrefs(mCategories);   mCategories->AddPage(w, w->GetName(), false, 0);
+         w = new MousePrefs(mCategories);       mCategories->AddPage(w, w->GetName(), false, 0);
+      }
+      S.EndHorizontalLay();
+   }
+   S.EndVerticalLay();
 
-// This code to hide the roots of the tree doesn't work...
-#if 0
-   wxTreeCtrl * pTree = mCategories->GetTreeCtrl();
-   long Style = pTree->GetWindowStyle();
-   Style |= wxTR_HIDE_ROOT;
-   pTree->SetWindowStyle(Style);
-#endif
+   S.AddStandardButtons(eOkButton | eCancelButton);
 
+   size_t selected = gPrefs->Read(wxT("/Prefs/PrefsCategory"), 0L);
+   if (selected < 0 || selected >= mCategories->GetPageCount()) {
+      selected = 0;
+   }
    mCategories->SetSelection(selected);
 
 #if defined(__WXGTK__)
    mCategories->GetTreeCtrl()->EnsureVisible(mCategories->GetTreeCtrl()->GetRootItem());
 #endif
-   
-   topSizer->Add(CreateStdButtonSizer(this, eCancelButton|eOkButton), 0, wxEXPAND);
 
-   wxBoxSizer *outSizer = new wxBoxSizer( wxVERTICAL );
-   outSizer->Add(topSizer, 1, wxGROW|wxTOP, TOP_LEVEL_BORDER);
+//   mCategories->SetSizeHints(-1, -1, 790, 600);  // 790 = 800 - (border * 2)
+   Layout();
+   Fit();
+   wxSize sz = GetSize();
 
-   SetAutoLayout(true);
-   SetSizerAndFit(outSizer);
-   outSizer->FitInside(this);
-   outSizer->SetSizeHints(this);
+   wxASSERT_MSG(sz.x <= 800 && sz.y <= 600, wxT("Preferences dialog exceeds max size"));
 
-   #ifdef __WXMAC__
-   // Until sizing works properly on the Mac
-   SetSize(620, 350);
-   #endif
+   if (sz.x > 800) {
+      sz.x = 800;
+   }
 
-   #ifdef __WXMSW__
-   // Because it looks nice (tm)   (you can see all the tabs at once)
-   //SetSize(525, 363);
-   #endif
+   if (sz.y > 600) {
+      sz.y = 600;
+   }
+
+   SetSizeHints(sz.x, sz.y, 800, 600);
 
-   
    // Center after all that resizing, but make sure it doesn't end up
    // off-screen
    CentreOnParent();
+}
 
-   #ifdef __WXMAC__
-   wxPoint where = GetPosition();
-   if (where.x < 2)
-      where.x = 2;
-   if (where.y < 44)
-      where.y = 44;
-   if (where != GetPosition())
-      Move(where);
-   #endif
+PrefsDialog::~PrefsDialog()
+{
 }
 
 void PrefsDialog::OnCancel(wxCommandEvent & event)
 {
-   int i;
-
-   for (i = 0; i < (int)mCategories->GetPageCount(); i++) {
+   for (size_t i = 0; i < mCategories->GetPageCount(); i++) {
       ((PrefsPanel *) mCategories->GetPage(i))->Cancel();
    }
 
-   EndModal(0);
+   EndModal(false);
 }
 
 void PrefsDialog::OnOK(wxCommandEvent & event)
 {
-   int i;
-   unsigned int j;
-
-   gPrefs->Write(wxT("/Prefs/PrefsCategory"), (long)mCategories->GetSelection());
-   for (i = 0; i < (int)mCategories->GetPageCount(); i++) {
+   // Validate all pages first
+   for (size_t i = 0; i < mCategories->GetPageCount(); i++) {
       PrefsPanel *panel = (PrefsPanel *) mCategories->GetPage(i);
 
-      /* The dialog doesn't end until all the input is valid */
-      if (!panel->Apply()) {
+      // The dialog doesn't end until all the input is valid
+      if (!panel->Validate()) {
          mCategories->SetSelection(i);
-         mSelected = i;
          return;
       }
    }
 
-   // BG: Send all Audacity projects a preference update notification
-   for(j = 0; j < gAudacityProjects.GetCount(); j++)
-   {
-      gAudacityProjects[j]->UpdatePrefs();
+   // Now apply the changes
+   for (size_t i = 0; i < mCategories->GetPageCount(); i++) {
+      PrefsPanel *panel = (PrefsPanel *) mCategories->GetPage(i);
+
+      panel->Apply();
    }
-   EndModal(0);
-}
 
-PrefsDialog::~PrefsDialog()
-{
-   gPrefsDialogVisible = false;
+   gPrefs->Write(wxT("/Prefs/PrefsCategory"), (long)mCategories->GetSelection());
+
+#if USE_PORTMIXER
+   if (gAudioIO) {
+      gAudioIO->HandleDeviceChange();
+   }
+#endif
+
+   // LL:  wxMac can't handle recreating the menus when this dialog is still active,
+   //      so AudacityProject::UpdatePrefs() or any of the routines it calls must
+   //      not cause AudacityProject::RebuildMenuBar() to be executed.
+   for (size_t i = 0; i < gAudacityProjects.GetCount(); i++) {
+      gAudacityProjects[i]->UpdatePrefs();
+   }
+
+   EndModal(true);
 }
 
 void PrefsDialog::SelectPageByName(wxString pageName)
 {
-   int n = mCategories->GetPageCount();
+   size_t n = mCategories->GetPageCount();
 
-   int i;
-
-   for(i=0; i<n; i++)
+   for (size_t i = 0; i < n; i++) {
       if (mCategories->GetPageText(i) == pageName) {
          mCategories->SetSelection(i);
          return;
       }
+   }
 }
 
-
 void PrefsDialog::ShowTempDirPage()
 {
    SelectPageByName(_("Directories"));   
diff --git a/src/prefs/PrefsDialog.h b/src/prefs/PrefsDialog.h
index 13674ce..2e71d07 100644
--- a/src/prefs/PrefsDialog.h
+++ b/src/prefs/PrefsDialog.h
@@ -12,47 +12,30 @@
 #ifndef __AUDACITY_PREFS_DIALOG__
 #define __AUDACITY_PREFS_DIALOG__
 
+#include <wx/button.h>
+#include <wx/event.h>
 #include <wx/dialog.h>
 #include <wx/string.h>
+#include <wx/treebook.h>
+#include <wx/window.h>
 
-class wxNotebook;
-class wxListbook;
-class wxTreebook;
-class wxChoicebook;
-class wxWindow;
-class wxButton;
-class wxCommandEvent;
-class wxFrame;
-
-extern bool gPrefsDialogVisible;
-
-class PrefsDialog:public wxDialog {
-
+class PrefsDialog:public wxDialog
+{
  public:
    PrefsDialog(wxWindow * parent);
-   ~PrefsDialog();
+   virtual ~PrefsDialog();
 
-   void OnCategoryChange(wxCommandEvent & event);
-   void OnOK(wxCommandEvent & event);
-   void OnCancel(wxCommandEvent & event);
+   void OnCategoryChange(wxCommandEvent & e);
+   void OnOK(wxCommandEvent & e);
+   void OnCancel(wxCommandEvent & e);
 
    void SelectPageByName(wxString pageName);
    void ShowTempDirPage();
 
  private:
-// wxListbook *mCategories;
    wxTreebook *mCategories;
-   wxButton *mOK;
-   wxButton *mCancel;
 
-   int mSelected;
-
-   #ifdef __WXMAC__
-   wxFrame *mMacHiddenFrame;
-   #endif
-
- public:
-    DECLARE_EVENT_TABLE()
+   DECLARE_EVENT_TABLE()
 };
 
 #endif
diff --git a/src/prefs/PrefsPanel.h b/src/prefs/PrefsPanel.h
index eb71e92..5d0b8c6 100644
--- a/src/prefs/PrefsPanel.h
+++ b/src/prefs/PrefsPanel.h
@@ -29,10 +29,7 @@ ThemePrefs.
 #define __AUDACITY_PREFS_PANEL__
 
 #include <wx/panel.h>
-
-class wxWindow;
-class wxStaticBoxSizer;
-class wxBoxSizer;
+#include <wx/window.h>
 
 /* A few constants for an attempt at semi-uniformity */
 #define PREFS_FONT_SIZE     8
@@ -45,21 +42,23 @@ class wxBoxSizer;
 
 class PrefsPanel:public wxPanel 
 {
-
-public:
-   PrefsPanel(wxWindow * parent):wxPanel(parent, -1) {
-      /* I'm not sure if we should be setting this... I'll play around
-       * and see what looks best on different platforms under
-       * differing circumstances...*/
-//    SetFont(wxFont(PREFS_FONT_SIZE, wxDEFAULT, wxNORMAL, wxNORMAL));
+ public:
+   PrefsPanel(wxWindow * parent, wxString title)
+   :  wxPanel(parent, wxID_ANY)
+   {
+      SetLabel(title);     // Provide visual label
+      SetName(title);      // Provide audible label
    }
    
-   virtual ~ PrefsPanel() {}
+   virtual ~PrefsPanel()
+   {
+   }
+
    virtual bool Apply() = 0;
-   virtual void Cancel() {};
-protected:
-   wxBoxSizer *topSizer;
-   wxBoxSizer *outSizer;
+
+   virtual void Cancel()
+   {
+   }
 };
 
 #endif
diff --git a/src/prefs/QualityPrefs.cpp b/src/prefs/QualityPrefs.cpp
index 482ff24..9f161c6 100644
--- a/src/prefs/QualityPrefs.cpp
+++ b/src/prefs/QualityPrefs.cpp
@@ -18,9 +18,6 @@
 #include "../Audacity.h"
 
 #include <wx/defs.h>
-#include <wx/choice.h>
-#include <wx/textctrl.h>
-#include <wx/intl.h>
 
 #include "../AudioIO.h"
 #include "../Dither.h"
@@ -28,29 +25,33 @@
 #include "../Resample.h"
 #include "../SampleFormat.h"
 #include "../ShuttleGui.h"
+
 #include "QualityPrefs.h"
 
 #define ID_SAMPLE_RATE_CHOICE           7001
 
-BEGIN_EVENT_TABLE(QualityPrefs, wxPanel)
-   EVT_CHOICE(ID_SAMPLE_RATE_CHOICE,   QualityPrefs::OnSampleRateChoice)
+BEGIN_EVENT_TABLE(QualityPrefs, PrefsPanel)
+   EVT_CHOICE(ID_SAMPLE_RATE_CHOICE, QualityPrefs::OnSampleRateChoice)
 END_EVENT_TABLE()
 
-QualityPrefs::QualityPrefs(wxWindow * parent):
-   PrefsPanel(parent)
+QualityPrefs::QualityPrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Quality"))
+{
+   Populate();
+}
+
+QualityPrefs::~QualityPrefs()
 {
-   SetLabel(_("Quality"));         // Provide visual label
-   SetName(_("Quality"));          // Provide audible label
-   mSampleRates = NULL;            // Pointers to controls.
-   mOtherSampleRate = NULL;
-   Populate( );
 }
 
-void QualityPrefs::Populate( )
+void QualityPrefs::Populate()
 {
    // First any pre-processing for constructing the GUI.
    GetNamesAndLabels();
-   gPrefs->Read( wxT("/SamplingRate/DefaultProjectSampleRate"), &mOtherSampleRateValue, 44100 );
+   gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"),
+                &mOtherSampleRateValue,
+                44100);
+
    //------------------------- Main section --------------------
    // Now construct the GUI itself.
    // Use 'eIsCreatingFromPrefs' so that the GUI is 
@@ -58,6 +59,7 @@ void QualityPrefs::Populate( )
    ShuttleGui S(this, eIsCreatingFromPrefs);
    PopulateOrExchange(S);
    // ----------------------- End of main section --------------
+
    wxCommandEvent e;
    OnSampleRateChoice(e); // Enable/disable the control.
 }
@@ -69,10 +71,10 @@ void QualityPrefs::Populate( )
 void QualityPrefs::GetNamesAndLabels()
 {
    //------------ Dither Names 
-   mmDitherNames.Add( _("None") );        mmDitherLabels.Add( Dither::none );
-   mmDitherNames.Add( _("Rectangle") );   mmDitherLabels.Add( Dither::rectangle );
-   mmDitherNames.Add( _("Triangle") );    mmDitherLabels.Add( Dither::triangle );
-   mmDitherNames.Add( _("Shaped") );      mmDitherLabels.Add( Dither::shaped );
+   mDitherNames.Add(_("None"));        mDitherLabels.Add(Dither::none);
+   mDitherNames.Add(_("Rectangle"));   mDitherLabels.Add(Dither::rectangle);
+   mDitherNames.Add(_("Triangle"));    mDitherLabels.Add(Dither::triangle);
+   mDitherNames.Add(_("Shaped"));      mDitherLabels.Add(Dither::shaped);
 
    //------------ Sample Rate Names
    // JKC: I don't understand the following comment.
@@ -88,20 +90,21 @@ void QualityPrefs::GetNamesAndLabels()
    //
    //      GetSupportedSampleRates() allows passing in device names, but
    //      how do you get at them as they are on the Audio I/O page????
-   for (int i=0; i<AudioIO::NumStandardRates; i++)
-   {
-      int iRate = (int)AudioIO::StandardRates[i];
-      mmSampleRateLabels.Add( iRate );
-      mmSampleRateNames.Add( wxString::Format(wxT("%i Hz"), iRate ));
+   for (int i = 0; i < AudioIO::NumStandardRates; i++) {
+      int iRate = AudioIO::StandardRates[i];
+      mSampleRateLabels.Add(iRate);
+      mSampleRateNames.Add(wxString::Format(wxT("%i Hz"), iRate));
    }
-   mmSampleRateNames.Add( _("Other..."));
+
+   mSampleRateNames.Add(_("Other..."));
+
    // The label for the 'Other...' case can be any value at all.
-   mmSampleRateLabels.Add( 44100 ); // If chosen, this value will be overwritten
+   mSampleRateLabels.Add(44100); // If chosen, this value will be overwritten
 
    //------------- Sample Format Names
-   mmSampleFormatNames.Add( wxT("16-bit")       );mmSampleFormatLabels.Add(int16Sample);
-   mmSampleFormatNames.Add( wxT("24-bit")       );mmSampleFormatLabels.Add(int24Sample);
-   mmSampleFormatNames.Add( wxT("32-bit float") );mmSampleFormatLabels.Add(floatSample);
+   mSampleFormatNames.Add(wxT("16-bit"));       mSampleFormatLabels.Add(int16Sample);
+   mSampleFormatNames.Add(wxT("24-bit"));       mSampleFormatLabels.Add(int24Sample);
+   mSampleFormatNames.Add(wxT("32-bit float")); mSampleFormatLabels.Add(floatSample);
 
    //------------- Converter Names
    // We used to set and get best/fast method via Resample.cpp.
@@ -109,135 +112,127 @@ void QualityPrefs::GetNamesAndLabels()
    // int converterHQ = Resample::GetBestMethod();
    // int converter = Resample::GetFastMethod();
    int numConverters = Resample::GetNumMethods();
-   for(int i=0; i<numConverters; i++)
-   {
-      mConverterNames.Add(  Resample::GetMethodName(i) );
-      mConverterLabels.Add( i );
+   for (int i = 0; i < numConverters; i++) {
+      mConverterNames.Add(Resample::GetMethodName(i));
+      mConverterLabels.Add(i);
    }
 }
 
-void QualityPrefs::PopulateOrExchange( ShuttleGui & S )
+void QualityPrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   S.SetBorder( 2 );
-   S.StartStatic(_("Sampling"),0 );
+   S.SetBorder(2);
+
+   S.StartStatic(_("Sampling"));
    {
-      S.StartTwoColumn();
-      S.AddPrompt( _("Default Sample Rate:") );
-      DefineSampleRateControl( S ); // A tricky control.
-      S.TieChoice(_("Default Sample Format:"),
-         wxT("/SamplingRate/DefaultProjectSampleFormat"),
-         floatSample, mmSampleFormatNames, mmSampleFormatLabels );
-
-// JKC For the old style of layout, uncomment the next line.
-// #define OLD_STYLE_LAYOUT
-// Once we've chosen which layout to use we'll remove the 
-// other one.  (June/2006).
-#ifdef OLD_STYLE_LAYOUT
-      S.TieChoice(_("Real-time sample rate converter:"),
-         wxT("/Quality/LibresampleSampleRateConverter"),
-         (int)0, mConverterNames, mConverterLabels),
-      S.TieChoice(_("High-quality sample rate converter:"),
-         wxT("/Quality/LibresampleHQSampleRateConverter"),
-         (int)1, mConverterNames, mConverterLabels),
-      S.TieChoice(_("Real-time dither:"),
-         wxT("/Quality/DitherAlgorithm"),
-         Dither::none, mmDitherNames, mmDitherLabels );  
-      S.TieChoice(_("High-quality dither:"),
-         wxT("/Quality/HQDitherAlgorithm"),
-         Dither::shaped, mmDitherNames, mmDitherLabels );  
-#endif
-      S.EndTwoColumn();
+      S.StartMultiColumn(2);
+      {
+         S.AddPrompt(_("Default Sample Rate:"));
+
+         S.StartMultiColumn(2);
+         {
+            // If the value in Prefs isn't in the list, then we want
+            // the last item, 'Other...' to be shown.
+            S.SetNoMatchSelector(mSampleRateNames.GetCount() - 1);
+            // First the choice...
+            // We make sure it uses the ID we want, so that we get changes
+            S.Id(ID_SAMPLE_RATE_CHOICE);
+            // We make sure we have a pointer to it, so that we can drive it.
+            mSampleRates = S.TieChoice(wxT(""),
+                                       wxT("/SamplingRate/DefaultProjectSampleRate"),
+                                       AudioIO::GetOptimalSupportedSampleRate(),
+                                       mSampleRateNames,
+                                       mSampleRateLabels);
+            S.SetSizeHints(mSampleRateNames);
+
+            // Now do the edit box...
+            mOtherSampleRate = S.TieTextBox(wxT(""),
+                                            mOtherSampleRateValue,
+                                            15);
+         }
+         S.EndHorizontalLay();
+
+         S.TieChoice(_("Default Sample Format:"),
+                     wxT("/SamplingRate/DefaultProjectSampleFormat"),
+                     floatSample,
+                     mSampleFormatNames,
+                     mSampleFormatLabels);
+         S.SetSizeHints(mSampleFormatNames);
+      }
+      S.EndMultiColumn();
    }
    S.EndStatic();
 
-// The new style of layout has 
-//   - columns for converter and dither.
-//   - rows for Real-time and High-quality.
-#ifndef OLD_STYLE_LAYOUT
-   S.StartStatic( _("Conversion") );
+   S.StartStatic(_("Real-time Conversion"));
    {
-      // We use blank labels here and there to end up with
-      // a three column layout.
-      S.StartMultiColumn(3);
-      S.AddFixedText(wxT(""));
-      S.AddTitle(_("Sample Rate Converter" ));
-      S.AddTitle(_("Dither"));
-      S.TieChoice(_("Real-time:"),
-         wxT("/Quality/LibresampleSampleRateConverter"),
-         (int)0, mConverterNames, mConverterLabels),
-      S.TieChoice(wxT(""),
-         wxT("/Quality/DitherAlgorithm"),
-         Dither::none, mmDitherNames, mmDitherLabels );  
-      S.TieChoice(_("High-quality:"),
-         wxT("/Quality/LibresampleHQSampleRateConverter"),
-         (int)1, mConverterNames, mConverterLabels),
-      S.TieChoice(wxT(""),
-         wxT("/Quality/HQDitherAlgorithm"),
-         Dither::shaped, mmDitherNames, mmDitherLabels );  
+      S.StartMultiColumn(2, wxEXPAND);
+      {
+         S.SetStretchyCol(2);
+
+         S.TieChoice(_("Sample Rate Converter:"),
+                     Resample::GetFastMethodKey(),
+                     Resample::GetFastMethodDefault(),
+                     mConverterNames,
+                     mConverterLabels),
+         S.SetSizeHints(mConverterNames);
+
+         S.TieChoice(_("Dither"),
+                     wxT("/Quality/DitherAlgorithm"),
+                     Dither::none,
+                     mDitherNames,
+                     mDitherLabels);
+         S.SetSizeHints(mDitherNames);
+      }
       S.EndMultiColumn();
    }
    S.EndStatic();
-#endif
-}
-
-/// Add a compound control made up from a choice and an edit 
-/// box.  
-void QualityPrefs::DefineSampleRateControl( ShuttleGui & S )
-{
-   // We use a sizer within a sizer to get the effect we want.
-   // We also use the SetIfCreated idiom to get pointers to
-   // the controls, so that we can drive them from
-   // our own code.
 
-   S.SetBorder(2);
-   S.StartHorizontalLay(wxALIGN_LEFT );
-   // If the value in Prefs isn't in the list, then we want
-   // the last item, 'Other...' to be shown.
-   S.SetNoMatchSelector( mmSampleRateNames.GetCount()-1 );
-   // First the choice...
-   // We make sure it uses the ID we want, so that we get changes
-   S.Id( ID_SAMPLE_RATE_CHOICE );
-   // We make sure we have a pointer to it, so that we can drive it.
-   mSampleRates = S.TieChoice( wxT(""),
-      wxT("/SamplingRate/DefaultProjectSampleRate"),
-      AudioIO::GetOptimalSupportedSampleRate(),
-      mmSampleRateNames, mmSampleRateLabels );
-   // Now do the edit box...
-   mOtherSampleRate = S.TieTextBox(wxT(""),
-      mOtherSampleRateValue, 9);
-   S.EndHorizontalLay();
-}
-
-bool QualityPrefs::Apply()
-{
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
-
-   // The complex compound control may have value 'other' in which case the
-   // value in prefs comes from the second field.
-   if( mOtherSampleRate->IsEnabled() )
+   S.StartStatic(_("High-quality Conversion"));
    {
-      gPrefs->Write( wxT("/SamplingRate/DefaultProjectSampleRate"), mOtherSampleRateValue );
+      S.StartMultiColumn(2);
+      {
+         S.TieChoice(_("Sample Rate Converter:"),
+                     Resample::GetBestMethodKey(),
+                     Resample::GetBestMethodDefault(),
+                     mConverterNames,
+                     mConverterLabels),
+         S.SetSizeHints(mConverterNames);
+
+         S.TieChoice(_("Dither"),
+                     wxT("/Quality/HQDitherAlgorithm"),
+                     Dither::shaped,
+                     mDitherNames,
+                     mDitherLabels);
+         S.SetSizeHints(mDitherNames);
+      }
+      S.EndMultiColumn();
    }
-   // Tell CopySamples() to use these ditherers now
-   InitDitherers();
-   return true;
+   S.EndStatic();
 }
 
 /// Enables or disables the Edit box depending on
 /// whether we selected 'Other...' or not.
-void QualityPrefs::OnSampleRateChoice(wxCommandEvent& evt)
+void QualityPrefs::OnSampleRateChoice(wxCommandEvent & e)
 {
    int sel = mSampleRates->GetSelection();
    mOtherSampleRate->Enable(sel == (int)mSampleRates->GetCount() - 1);
 }
 
-
-QualityPrefs::~QualityPrefs()
+bool QualityPrefs::Apply()
 {
-}
+   ShuttleGui S(this, eIsSavingToPrefs);
+   PopulateOrExchange(S);
+
+   // The complex compound control may have value 'other' in which case the
+   // value in prefs comes from the second field.
+   if (mOtherSampleRate->IsEnabled()) {
+      gPrefs->Write(wxT("/SamplingRate/DefaultProjectSampleRate"), mOtherSampleRateValue);
+   }
 
+   // Tell CopySamples() to use these ditherers now
+   InitDitherers();
 
+   return true;
+}
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
diff --git a/src/prefs/QualityPrefs.h b/src/prefs/QualityPrefs.h
index e267681..0181b23 100644
--- a/src/prefs/QualityPrefs.h
+++ b/src/prefs/QualityPrefs.h
@@ -12,40 +12,44 @@
 #ifndef __AUDACITY_QUALITY_PREFS__
 #define __AUDACITY_QUALITY_PREFS__
 
-#include "PrefsPanel.h"
+#include <wx/defs.h>
+
+#include <wx/arrstr.h>
+#include <wx/choice.h>
+#include <wx/dynarray.h>
+#include <wx/textctrl.h>
 
-class wxChoice;
-class wxTextCtrl;
+#include "../ShuttleGui.h"
 
-class ShuttleGui;
+#include "PrefsPanel.h"
 
 class QualityPrefs:public PrefsPanel 
 {
-public:
+ public:
    QualityPrefs(wxWindow * parent);
-   ~QualityPrefs();
+   virtual ~QualityPrefs();
 
-   void OnSampleRateChoice(wxCommandEvent& evt);
    virtual bool Apply();
-private:
+
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
-   void DefineSampleRateControl( ShuttleGui & S );
+   void PopulateOrExchange(ShuttleGui & S);
    void GetNamesAndLabels();
+   void OnSampleRateChoice(wxCommandEvent & e);
 
-   wxArrayString mmDitherNames;
-   wxArrayInt    mmDitherLabels;
-   wxArrayString mmSampleRateNames;
-   wxArrayInt    mmSampleRateLabels;
-   wxArrayString mmSampleFormatNames;
-   wxArrayInt    mmSampleFormatLabels;
+   wxArrayString mDitherNames;
+   wxArrayInt    mDitherLabels;
+   wxArrayString mSampleRateNames;
+   wxArrayInt    mSampleRateLabels;
+   wxArrayString mSampleFormatNames;
+   wxArrayInt    mSampleFormatLabels;
    wxArrayString mConverterNames;
    wxArrayInt    mConverterLabels;
 
    wxChoice *mSampleRates;
    wxTextCtrl *mOtherSampleRate;
    int mOtherSampleRateValue;
-public:
+
    DECLARE_EVENT_TABLE();
 };
 
@@ -61,4 +65,3 @@ public:
 //
 // vim: et sts=3 sw=3
 // arch-tag: ccb794d2-45d5-4f7b-ba0c-6a4d2438ac93
-
diff --git a/src/prefs/SmartRecordPrefs.cpp b/src/prefs/SmartRecordPrefs.cpp
deleted file mode 100644
index 192a6b4..0000000
--- a/src/prefs/SmartRecordPrefs.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  SmartRecordPrefs.cpp
-
-  Martyn Shaw
-
-  Audacity is free software.
-  This file is licensed under the wxWindows license, see License.txt
-
-********************************************************************//**
-
-\class SmartRecord
-\brief A PrefsPanel that configures record-pause on silence.
-
-Provides:
- - Button to to turn the mode on and off.
- - Slider to set the 'silence' level on the meter.
-
-*//********************************************************************/
-
-#include "../Audacity.h"
-
-#include <wx/wxprec.h>
-#include "../Prefs.h"
-#include "../Theme.h"
-#include "../Project.h"
-#include "../ShuttleGui.h"
-#include "SmartRecordPrefs.h"
-#include "../AColor.h"
-#include "../Envelope.h"
-
-SmartRecordPrefs::SmartRecordPrefs(wxWindow * parent) :
-   PrefsPanel(parent)
-{
-   SetLabel(_("Smart Recording"));         // Provide visual label
-   SetName(_("Smart Recording"));          // Provide audible label
-  
-   Populate();
-}
-
-SmartRecordPrefs::~SmartRecordPrefs(void)
-{
-}
-
-/// Creates the dialog and its contents.
-void SmartRecordPrefs::Populate( )
-{
-   // First any pre-processing for constructing the GUI.
-
-   //------------------------- Main section --------------------
-   // Now construct the GUI itself.
-   // Use 'eIsCreatingFromPrefs' so that the GUI is 
-   // initialised with values from gPrefs.
-   ShuttleGui S(this, eIsCreatingFromPrefs);
-   PopulateOrExchange(S);
-   // ----------------------- End of main section --------------
-}
-
-/// Create the dialog contents, or exchange data with it.
-void SmartRecordPrefs::PopulateOrExchange( ShuttleGui & S)
-{
-   S.StartStatic( _("Sound Activated Recording") );
-   {
-      S.TieCheckBox( _("Sound Activated Recording"), wxT("/AudioIO/SoundActivatedRecord"),false);
-      S.StartMultiColumn(2, wxEXPAND);
-         S.SetStretchyCol(1);
-         int dBRange;
-         dBRange = gPrefs->Read(wxT("/GUI/EnvdBRange"), ENV_DB_RANGE);
-         S.TieSlider(_("Sound Activation Level (dB):"), wxT("/AudioIO/SilenceLevel"), -50, 0, -dBRange);
-      S.EndMultiColumn();
-   }
-   S.EndStatic();
-}
-
-/// Update the preferences stored on disk.
-bool SmartRecordPrefs::Apply()
-{
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
-
-   return true;
-}
diff --git a/src/prefs/SmartRecordPrefs.h b/src/prefs/SmartRecordPrefs.h
deleted file mode 100644
index 05ffd6c..0000000
--- a/src/prefs/SmartRecordPrefs.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**********************************************************************
-
-  Audacity: A Digital Audio Editor
-
-  SmartRecordPrefs.h
-
-  Martyn Shaw
-
-  Audacity is free software.
-  This file is licensed under the wxWindows license, see License.txt
-
-**********************************************************************/
-
-#ifndef __AUDACITY_SMARTRECORDING_PREFS__
-#define __AUDACITY_SMARTRECORDING_PREFS__
-
-#include "PrefsPanel.h"
-
-class ShuttleGui;
-
-class SmartRecordPrefs : public PrefsPanel
-{
-public:
-   SmartRecordPrefs(wxWindow * parent);
-   ~SmartRecordPrefs(void);
-   virtual bool Apply();
-
-private:
-   void Populate();
-   void PopulateOrExchange(ShuttleGui & S);
-
-//   DECLARE_EVENT_TABLE();
-};
-#endif
diff --git a/src/prefs/SpectrumPrefs.cpp b/src/prefs/SpectrumPrefs.cpp
index 0c59505..f12cea3 100644
--- a/src/prefs/SpectrumPrefs.cpp
+++ b/src/prefs/SpectrumPrefs.cpp
@@ -26,51 +26,46 @@
 #include "SpectrumPrefs.h"
 #include "../FFT.h"
 
-enum {
-   ID_MINFREQUENCY = 8000,
-   ID_MAXFREQUENCY,
-#ifdef EXPERIMENTAL_FIND_NOTES
-   ID_FIND_NOTES_MIN_A,
-   ID_FIND_NOTES_N,
-   ID_FIND_NOTES_QUANTIZE,
-#endif //EXPERIMENTAL_FIND_NOTES
-};
+SpectrumPrefs::SpectrumPrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Spectrograms"))
+{
+   Populate();
+}
 
-SpectrumPrefs::SpectrumPrefs(wxWindow * parent):
-   PrefsPanel(parent)
+SpectrumPrefs::~SpectrumPrefs()
 {
-   SetLabel(_("Spectrograms"));         // Provide visual label
-   SetName(_("Spectrograms"));          // Provide audible label
-   Populate( );
 }
 
-void SpectrumPrefs::Populate( )
+void SpectrumPrefs::Populate()
 {
-   int minFreq;
-   int maxFreq;
-
-   // First any pre-processing for constructing the GUI.
-   // Unusual handling of maxFreqStr because it is a validated input.
-   gPrefs->Read(wxT("/Spectrum/MaxFreq"), &maxFreq, 8000L);
-   gPrefs->Read(wxT("/Spectrum/MinFreq"), &minFreq, 0L);
-   gPrefs->Read(wxT("/Spectrum/WindowType"), &windowType, 3L);
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-   gPrefs->Read(wxT("/Spectrum/FFTSkipPoints"), &fftSkipPoints, 0L);
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-#ifdef EXPERIMENTAL_FFT_Y_GRID
-   gPrefs->Read(wxT("/Spectrum/FFTYGrid"), &fftYGrid, false);
-#endif //EXPERIMENTAL_FFT_Y_GRID
+   mSizeChoices.Add(_("8 - most wideband"));
+   mSizeChoices.Add(_("16"));
+   mSizeChoices.Add(_("32"));
+   mSizeChoices.Add(_("64"));
+   mSizeChoices.Add(_("128"));
+   mSizeChoices.Add(_("256 - default"));
+   mSizeChoices.Add(_("512"));
+   mSizeChoices.Add(_("1024"));
+   mSizeChoices.Add(_("2048"));
 #ifdef EXPERIMENTAL_FIND_NOTES
-   gPrefs->Read(wxT("/Spectrum/FFTFindNotes"), &fftFindNotes, false);
-   gPrefs->Read(wxT("/Spectrum/FindNotesMinA"), &findNotesMinA, -30L);
-   findNotesMinAStr.Printf(wxT("%d"), findNotesMinA);
-   gPrefs->Read(wxT("/Spectrum/FindNotesN"), &findNotesN, 5L);
-   findNotesNStr.Printf(wxT("%d"), findNotesN);
-   gPrefs->Read(wxT("/Spectrum/FindNotes"), &findNotesQuantize, false);
-#endif //EXPERIMENTAL_FIND_NOTES
+   mSizeChoices.Add(_("4096"));
+   mSizeChoices.Add(_("8192"));
+   mSizeChoices.Add(_("16384"));
+   mSizeChoices.Add(_("32768 - most narrowband"));
+#else
+   mSizeChoices.Add(_("4096 - most narrowband"));
+#endif //LOGARITHMIC_SPECTRUM
+
+   for (size_t i = 0; i < mSizeChoices.GetCount(); i++) {
+      mSizeCodes.Add(1 << (i + 3));
+   }
+
+   for (int i = 0; i < NumWindowFuncs(); i++) {
+      mTypeChoices.Add(WindowFuncName(i));
+      mTypeCodes.Add(i);
+   }
+
 
-   minFreqStr.Printf(wxT("%d"), minFreq);
-   maxFreqStr.Printf(wxT("%d"), maxFreq);
    //------------------------- Main section --------------------
    // Now construct the GUI itself.
    // Use 'eIsCreatingFromPrefs' so that the GUI is
@@ -80,121 +75,140 @@ void SpectrumPrefs::Populate( )
    // ----------------------- End of main section --------------
 }
 
-void SpectrumPrefs::PopulateOrExchange( ShuttleGui & S )
+void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   wxArrayString windowTypeList;
-
-   for(int i=0; i<NumWindowFuncs(); i++)
-      windowTypeList.Add(WindowFuncName(i));
+   S.SetBorder(2);
 
-   S.SetBorder( 2 );
-   S.StartHorizontalLay(wxEXPAND, 0 );
-   S.StartStatic( _("FFT Size"), 0 );
+   S.StartStatic(_("FFT Window"));
    {
-      S.StartRadioButtonGroup( wxT("/Spectrum/FFTSize"), 256 );
-      S.TieRadioButton( _("8 - most wideband"),     8);
-      S.TieRadioButton( wxT("16"),                  16);
-      S.TieRadioButton( wxT("32"),                  32);
-      S.TieRadioButton( wxT("64"),                  64);
-      S.TieRadioButton( wxT("128"),                 128);
-      S.TieRadioButton( _("256 - default"),         256);
-      S.TieRadioButton( wxT("512"),                 512);
-      S.TieRadioButton( wxT("1024"),                1024);
-      S.TieRadioButton( wxT("2048"),                2048);
-#ifdef EXPERIMENTAL_FIND_NOTES
-      S.TieRadioButton( wxT("4096"),                4096);
-      S.TieRadioButton( wxT("8192"),                8192);
-      S.TieRadioButton( wxT("16384"),               16384);
-      S.TieRadioButton( _("32768 - most narrowband"),32768);
-#else
-      S.TieRadioButton( _("4096 - most narrowband"),4096);
-#endif //LOGARITHMIC_SPECTRUM
-      S.EndRadioButtonGroup();
-
-      // add choice for windowtype
-      S.StartMultiColumn(2, wxCENTER);
+      S.StartMultiColumn(2);
       {
-         S.TieChoice( _("Window type:"), windowType,  &windowTypeList);
-         S.SetSizeHints(-1,-1);
+         S.TieChoice(_("Window size") + wxString(wxT(":")),
+                     wxT("/Spectrum/FFTSize"), 
+                     256,
+                     mSizeChoices,
+                     mSizeCodes);
+         S.SetSizeHints(mSizeChoices);
+
+         S.TieChoice(_("Window type") + wxString(wxT(":")),
+                     wxT("/Spectrum/WindowType"), 
+                     3,
+                     mTypeChoices,
+                     mTypeCodes);
+         S.SetSizeHints(mTypeChoices);
       }
       S.EndMultiColumn();
    }
    S.EndStatic();
 
 #ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-   S.StartHorizontalLay(wxEXPAND, 0 );
-   S.StartStatic( _("FFT Skip Points"), 0 );
+   wxArrayString wskipn;
+   wxArrayInt wskipv;
+
+   for (size_t i = 0; i < 7; i++) {
+      wskipn.Add(wxString::Format(wxT("%d"), (1 << i) - 1));
+      wskipv.Add((1 << i) - 1);
+   }
+
+   S.StartStatic(_("FFT Skip Points"));
    {
-      S.StartRadioButtonGroup(wxT("/Spectrum/FFTSkipPoints"), 0);
-      S.TieRadioButton(wxT("0"), 0);
-      S.TieRadioButton(wxT("1"), 1);
-      S.TieRadioButton(wxT("3"), 3);
-      S.TieRadioButton(wxT("7"), 7);
-      S.TieRadioButton(wxT("15"), 15);
-      S.TieRadioButton(wxT("31"), 31);
-      S.TieRadioButton(wxT("63"), 63);
-      S.EndRadioButtonGroup();
+      S.StartMultiColumn(2);
+      {
+         S.TieChoice(_("Skip Points") + wxString(wxT(":")),
+                     wxT("/Spectrum/FFTSkipPoints"),
+                     0,
+                     wskipn,
+                     wskipv);
+         S.SetSizeHints(wskipn);
+      }
+      S.EndMultiColumn();
    }
    S.EndStatic();
 #endif //EXPERIMENTAL_FFT_SKIP_POINTS
 
-   S.StartStatic( _("Display"),1 );
+   S.StartStatic(_("Display"));
    {
-      // JC: For layout of mixtures of controls I prefer checkboxes on the right,
-      // with everything in two columns over what we have here.
-      S.TieCheckBox( _("&Grayscale"), wxT("/Spectrum/Grayscale"), false);
-      S.StartTwoColumn(); // 2 cols because we have a control with a separate label.
-      S.Id(ID_MINFREQUENCY).TieTextBox(
-         _("Minimum Frequency (Hz):"), // prompt
-         minFreqStr, // String to exchange with
-         12 // max number of characters (used to size the control).
-         );
-      S.Id(ID_MAXFREQUENCY).TieTextBox(
-         _("Maximum Frequency (Hz):"), // prompt
-         maxFreqStr, // String to exchange with
-         12 // max number of characters (used to size the control).
-         );
+      S.StartTwoColumn();
+      {
+         mMinFreq =
+            S.TieTextBox(_("Minimum Frequency (Hz):"),
+                         wxT("/Spectrum/MinFreq"),
+                         0,
+                         12);
+
+         mMaxFreq =
+            S.TieTextBox(_("Maximum Frequency (Hz):"),
+                         wxT("/Spectrum/MaxFreq"),
+                         8000,
+                         12);
+
+         mGain =
+            S.TieTextBox(_("Gain (dB):"),
+                         wxT("/Spectrum/Gain"),
+                         20,
+                         8);
+
+         mRange =
+            S.TieTextBox(_("Range (dB):"),
+                         wxT("/Spectrum/Range"),
+                         80,
+                         8);
+
+         mFrequencyGain =
+            S.TieTextBox(_("Frequency gain: (dB/dec)"),
+                    wxT("/Spectrum/FrequencyGain"),
+                    0,
+                    4);
+      }
       S.EndTwoColumn();
+
+      S.TieCheckBox(_("Show the spectrum using &grayscale colors"),
+                    wxT("/Spectrum/Grayscale"),
+                    false);
+
 #ifdef EXPERIMENTAL_FFT_Y_GRID
-      S.TieCheckBox( _("&Y-Grid"), wxT("/Spectrum/FFTYGrid"), false);
+      S.TieCheckBox(_("Show a grid along the &Y-axis"),
+                    wxT("/Spectrum/FFTYGrid"),
+                    false);
 #endif //EXPERIMENTAL_FFT_Y_GRID
+   }
+   S.EndStatic();
+
 #ifdef EXPERIMENTAL_FIND_NOTES
-      S.TieCheckBox( _("&Find Notes"), wxT("/Spectrum/FFTFindNotes"), false);
-      S.TieCheckBox( _("&Quantize Notes"), wxT("/Spectrum/FindNotesQuantize"), false);
-      S.StartTwoColumn(); // 2 cols because we have a control with a separate label.
-      S.Id(ID_FIND_NOTES_MIN_A).TieTextBox(
-         _("Minimum Amplitude (dB):"), // prompt
-         findNotesMinAStr, // String to exchange with
-         8 // max number of characters (used to size the control).
-         );
-      S.Id(ID_FIND_NOTES_N).TieTextBox(
-         _("Max. Number of Notes (1..128):"), // prompt
-         findNotesNStr, // String to exchange with
-         8 // max number of characters (used to size the control).
-         );
+   S.StartStatic(_("FFT Find Notes"));
+   {
+      S.StartTwoColumn();
+      {
+         mFindNotesMinA =
+            S.TieTextBox(_("Minimum Amplitude (dB):"),
+                         wxT("/Spectrum/FindNotesMinA"),
+                         -30L,
+                         8);
+
+         mFindNotesN =
+            S.TieTextBox(_("Max. Number of Notes (1..128):"),
+                         wxT("/Spectrum/FindNotesN"),
+                         5L,
+                         8);
+      }
       S.EndTwoColumn();
-#endif //EXPERIMENTAL_FIND_NOTES
+
+      S.TieCheckBox(_("&Find Notes"),
+                    wxT("/Spectrum/FFTFindNotes"),
+                    false);
+
+      S.TieCheckBox(_("&Quantize Notes"),
+                    wxT("/Spectrum/FindNotesQuantize"),
+                    false);
    }
    S.EndStatic();
-   S.EndHorizontalLay();
+#endif //EXPERIMENTAL_FIND_NOTES
 }
 
-
-bool SpectrumPrefs::Apply()
+bool SpectrumPrefs::Validate()
 {
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
-
-   // max/minFreqStr are input fields that have validation.
-   // We've handled them slightly differently to all the
-   // other fields, which just go straight through to gPrefs.
-   // Instead ShuttleGui has been told to only do a one step
-   // exchange with them, not including gPrefs..  so we now
-   // need to validate them and possibly write them back to gPrefs.
-
-   //---- Validation of maxFreqStr
    long maxFreq;
-   if (!maxFreqStr.ToLong(&maxFreq)) {
+   if (!mMaxFreq->GetValue().ToLong(&maxFreq)) {
       wxMessageBox(_("The maximum frequency must be an integer"));
       return false;
    }
@@ -202,11 +216,9 @@ bool SpectrumPrefs::Apply()
       wxMessageBox(_("Maximum frequency must be in the range 100 Hz - 100,000 Hz"));
       return false;
    }
-   //---- End of validation of maxFreqStr.
 
-   //---- Validation of minFreqStr
    long minFreq;
-   if (!minFreqStr.ToLong(&minFreq)) {
+   if (!mMinFreq->GetValue().ToLong(&minFreq)) {
       wxMessageBox(_("The minimum frequency must be an integer"));
       return false;
    }
@@ -214,42 +226,67 @@ bool SpectrumPrefs::Apply()
       wxMessageBox(_("Minimum frequency must be at least 0 Hz"));
       return false;
    }
-   //---- End of validation of maxFreqStr.
+
+   if (maxFreq < minFreq) {
+      wxMessageBox(_("Minimum frequency must be less than maximum frequency"));
+      return false;
+   }
+
+   long gain;
+   if (!mGain->GetValue().ToLong(&gain)) {
+      wxMessageBox(_("The gain must be an integer"));
+      return false;
+   }
+   long range;
+   if (!mRange->GetValue().ToLong(&range)) {
+      wxMessageBox(_("The range must be a positive integer"));
+      return false;
+   }
+   if (range <= 0) {
+      wxMessageBox(_("The range must be at least 1 dB"));
+      return false;
+   }
+
+   long frequencygain;
+   if (!mFrequencyGain->GetValue().ToLong(&frequencygain)) {
+      wxMessageBox(_("The frequency gain must be an integer"));
+      return false;
+   }
+   if (frequencygain < 0) {
+      wxMessageBox(_("The frequency gain cannot be negative"));
+      return false;
+   }
+   if (frequencygain > 60) {
+      wxMessageBox(_("The frequency gain must be no more than 60 dB/dec"));
+      return false;
+   }
 #ifdef EXPERIMENTAL_FIND_NOTES
    long findNotesMinA;
-   if (!findNotesMinAStr.ToLong(&findNotesMinA)) {
+   if (!mFindNotesMinA->GetValue().ToLong(&findNotesMinA)) {
       wxMessageBox(_("The minimum amplitude (dB) must be an integer"));
       return false;
    }
-   gPrefs->Write(wxT("/Spectrum/FindNotesMinA"), findNotesMinA);
+
    long findNotesN;
-   if (!findNotesNStr.ToLong(&findNotesN)) {
-      wxMessageBox(_("The Maximum Number of Notes must be an integer in the range 1..128"));
+   if (!mFindNotesN->GetValue().ToLong(&findNotesN)) {
+      wxMessageBox(_("The maximum number of notes must be an integer"));
       return false;
    }
    if (findNotesN < 1 || findNotesN > 128) {
-      wxMessageBox(_("The Maximum Number of Notes must be an integer in the range 1..128"));
+      wxMessageBox(_("The maximum number of notes must be in the range 1..128"));
       return false;
    }
-   gPrefs->Write(wxT("/Spectrum/FindNotesN"), findNotesN);
 #endif //EXPERIMENTAL_FIND_NOTES
 
-   gPrefs->Write(wxT("/Spectrum/MinFreq"), minFreq);
-   gPrefs->Write(wxT("/Spectrum/MaxFreq"), maxFreq);
-   gPrefs->Write(wxT("/Spectrum/WindowType"), windowType);
-
-   // TODO: Force all projects to repaint themselves
-   //v? Or just the active project, voila?
-   // Update the TrackPanel correspondingly. 
-   // Calling RedrawProject is inefficient relative to sending a msg to TrackPanel 
-   // for a particular track and control, but not a real performance hit.
-   GetActiveProject()->RedrawProject(true);
-
    return true;
 }
 
-SpectrumPrefs::~SpectrumPrefs()
+bool SpectrumPrefs::Apply()
 {
+   ShuttleGui S(this, eIsSavingToPrefs);
+   PopulateOrExchange(S);
+
+   return true;
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/prefs/SpectrumPrefs.h b/src/prefs/SpectrumPrefs.h
index 48236ed..fd6b715 100644
--- a/src/prefs/SpectrumPrefs.h
+++ b/src/prefs/SpectrumPrefs.h
@@ -23,40 +23,41 @@
 
 #include <wx/defs.h>
 #include <wx/string.h>
+#include <wx/window.h>
 
-#include "PrefsPanel.h"
 #include "../Experimental.h"
+#include "../ShuttleGui.h"
 
-class wxWindow;
-class ShuttleGui;
+#include "PrefsPanel.h"
 
 class SpectrumPrefs:public PrefsPanel
 {
-public:
+ public:
    SpectrumPrefs(wxWindow * parent);
-   ~SpectrumPrefs();
+   virtual ~SpectrumPrefs();
    virtual bool Apply();
+   virtual bool Validate();
 
-private:
+ private:
    void Populate();
-   void PopulateOrExchange( ShuttleGui & S );
-   wxString minFreqStr;
-   wxString maxFreqStr;
-   int windowType;
-
-#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
-   int fftSkipPoints;
-#endif //EXPERIMENTAL_FFT_SKIP_POINTS
-#ifdef EXPERIMENTAL_FFT_Y_GRID
-   bool fftYGrid;
-#endif //EXPERIMENTAL_FFT_Y_GRID
+   void PopulateOrExchange(ShuttleGui & S);
+
+   wxTextCtrl *mMinFreq;
+   wxTextCtrl *mMaxFreq;
+   wxTextCtrl *mGain;
+   wxTextCtrl *mRange;
+   wxTextCtrl *mFrequencyGain;
+
+   wxArrayString mSizeChoices;
+   wxArrayInt mSizeCodes;
+
+   wxArrayString mTypeChoices;
+   wxArrayInt mTypeCodes;
+
+
 #ifdef EXPERIMENTAL_FIND_NOTES
-   bool fftFindNotes;
-   bool findNotesQuantize;
-   wxString findNotesMinAStr;
-   int findNotesMinA;
-   wxString findNotesNStr;
-   int findNotesN;
+   wxTextCtrl *mFindNotesMinA;
+   wxTextCtrl *mFindNotesN;
 #endif
 };
 
diff --git a/src/prefs/ThemePrefs.cpp b/src/prefs/ThemePrefs.cpp
index e07ece2..4089084 100644
--- a/src/prefs/ThemePrefs.cpp
+++ b/src/prefs/ThemePrefs.cpp
@@ -47,21 +47,18 @@ enum eThemePrefsIds {
    idSaveThemeAsCode
 };
 
-BEGIN_EVENT_TABLE(ThemePrefs, wxPanel)
-   EVT_BUTTON( idLoadThemeCache,      ThemePrefs::OnLoadThemeCache)
-   EVT_BUTTON( idSaveThemeCache,      ThemePrefs::OnSaveThemeCache)
-   EVT_BUTTON( idLoadThemeComponents, ThemePrefs::OnLoadThemeComponents)
-   EVT_BUTTON( idSaveThemeComponents, ThemePrefs::OnSaveThemeComponents)
-   EVT_BUTTON( idReadThemeInternal,   ThemePrefs::OnReadThemeInternal)
-   EVT_BUTTON( idSaveThemeAsCode,     ThemePrefs::OnSaveThemeAsCode)
+BEGIN_EVENT_TABLE(ThemePrefs, PrefsPanel)
+   EVT_BUTTON(idLoadThemeCache,      ThemePrefs::OnLoadThemeCache)
+   EVT_BUTTON(idSaveThemeCache,      ThemePrefs::OnSaveThemeCache)
+   EVT_BUTTON(idLoadThemeComponents, ThemePrefs::OnLoadThemeComponents)
+   EVT_BUTTON(idSaveThemeComponents, ThemePrefs::OnSaveThemeComponents)
+   EVT_BUTTON(idReadThemeInternal,   ThemePrefs::OnReadThemeInternal)
+   EVT_BUTTON(idSaveThemeAsCode,     ThemePrefs::OnSaveThemeAsCode)
 END_EVENT_TABLE()
 
-ThemePrefs::ThemePrefs(wxWindow * parent) :
-   PrefsPanel(parent)
+ThemePrefs::ThemePrefs(wxWindow * parent)
+:  PrefsPanel(parent, _("Theme"))
 {
-   SetLabel(_("Theme"));         // Provide visual label
-   SetName(_("Theme"));          // Provide audible label
-  
    Populate();
 }
 
@@ -70,7 +67,7 @@ ThemePrefs::~ThemePrefs(void)
 }
 
 /// Creates the dialog and its contents.
-void ThemePrefs::Populate( )
+void ThemePrefs::Populate()
 {
    // First any pre-processing for constructing the GUI.
 
@@ -84,27 +81,58 @@ void ThemePrefs::Populate( )
 }
 
 /// Create the dialog contents, or exchange data with it.
-void ThemePrefs::PopulateOrExchange( ShuttleGui & S)
+void ThemePrefs::PopulateOrExchange(ShuttleGui & S)
 {
-   S.StartHorizontalLay(wxEXPAND,1);
-   S.StartVerticalLay(0);
+   S.SetBorder(2);
+
+   S.StartStatic(_("Info"));
+   {
+      S.AddFixedText(
+         _("Themability is an experimental feature.\n\nTo try it out, click \"Save Theme Cache\" then find and modify the images and colors in\nImageCacheVxx.png using an image editor such as the Gimp.\n\nClick \"Load Theme Cache\" to load the changed images and colors back into Audacity.\n\n[Only the control toolbar and the colors on the wavetrack are currently affected, even\nthough the image file shows other icons too.]")
+         );
+
+#ifdef __WXDEBUG__
+      S.AddFixedText(
+         _("You have compiled Audacity with an extra button, 'Output Sourcery'.  This will save a\nC version of the image cache that can be compiled in as a default.")
+         );
+#endif
+
+      S.AddFixedText(
+         _("If 'Load Theme Cache At Startup' is checked, then the Theme Cache will be loaded\nwhen the program starts up.")
+         );
+      S.AddFixedText(
+         _("Saving and loading individual theme files uses a separate file for each image, but is\notherwise the same idea.")
+         );
+   }
+   S.EndStatic();
+
    /* i18n-hint: && in here is an escape character to get a single & on screen,
 	* so keep it as is */
-   S.StartStatic( _("Theme Cache - Images && Color"));
+   S.StartStatic(		_("Theme Cache - Images && Color"));
    {
-      S.Id( idSaveThemeCache ).AddButton( _("Save Theme Cache"));
-      S.Id( idLoadThemeCache ).AddButton( _("Load Theme Cache"));
-// This next button is only provided in Debug mode.
-// It is for developers who are compiling Audacity themselves
-// and who who wish to generate a new ThemeAsCeeCode.h and compile it in.
+      S.StartHorizontalLay(wxALIGN_LEFT);
+      {
+         S.Id(idSaveThemeCache).AddButton(_("Save Theme Cache"));
+         S.Id(idLoadThemeCache).AddButton(_("Load Theme Cache"));
+
+         // This next button is only provided in Debug mode.
+         // It is for developers who are compiling Audacity themselves
+         // and who who wish to generate a new ThemeAsCeeCode.h and compile it in.
 #ifdef __WXDEBUG__
-//      S.Id( idSaveThemeAsCode ).AddButton( wxT("Save Code" ));
-      S.Id( idSaveThemeAsCode ).AddButton( wxT("Output Sourcery" ));
+         S.Id(idSaveThemeAsCode).AddButton(wxT("Output Sourcery"));
 #endif
 
-      S.Id( idReadThemeInternal ).AddButton( _("&Defaults" ));
-      S.TieCheckBox( _("Load Theme Cache At Startup"),  
-         wxT("/Theme/LoadAtStart"), false);
+         S.Id(idReadThemeInternal).AddButton(_("&Defaults"));
+      }
+      S.EndHorizontalLay();
+      
+      S.StartHorizontalLay(wxALIGN_LEFT);
+      {
+         S.TieCheckBox(_("Load Theme Cache At Startup"),  
+                       wxT("/Theme/LoadAtStart"),
+                       false);
+      }
+      S.EndHorizontalLay();
    }
    S.EndStatic();
 
@@ -117,58 +145,31 @@ void ThemePrefs::PopulateOrExchange( ShuttleGui & S)
    // buttons smaller and less tempting to click.
    S.StartStatic( _("Individual Theme Files"),1);
    {
-      S.Id( idSaveThemeComponents ).AddButton( _("Save Files"));
-      S.Id( idLoadThemeComponents ).AddButton( _("Load Files"));
-   }
-   S.EndStatic();
-   S.EndVerticalLay();
-
-   S.StartStatic( _("Info"), 1 );
-   {
-      S.AddFixedText( 
-         _("Themability is an experimental feature.\n\nTo try it out, click \"Save Theme Cache\" then\nfind and modify the images and colors in \nImageCacheVxx.png using an image editor such \nas the Gimp.\n\nClick \"Load Theme Cache\" to load the changed images\nand colors back into Audacity.\n\n[Only the control toolbar and the colors on the \nwavetrack are currently affected, even though the\nimage file shows other icons too.]\n")
-         );
-
-#ifdef __WXDEBUG__
-      S.AddFixedText( 
-         _("You have compiled Audacity with an extra button, \n'Output Sourcery'.  This will save a C version of \nthe image cache that can be compiled in as a default.\n")
-         );
-#endif
-
-      S.AddFixedText( 
-         _("If 'Load Theme Cache At Startup' is checked, then \nthe Theme Cache will be loaded when the program \nstarts up.\n\n")
-		 );
-      S.AddFixedText(
-         _("Saving and loading individual theme files uses a \nseparate file for each image, but is otherwise the \nsame idea.\n\n")
-         );
+      S.StartHorizontalLay(wxALIGN_LEFT);
+      {
+         S.Id(idSaveThemeComponents).AddButton( _("Save Files"));
+         S.Id(idLoadThemeComponents).AddButton( _("Load Files"));
+      }
+      S.EndHorizontalLay();
    }
    S.EndStatic();
 }
 
-/// Update the preferences stored on disk.
-bool ThemePrefs::Apply()
-{
-   ShuttleGui S( this, eIsSavingToPrefs );
-   PopulateOrExchange( S );
-
-   return true;
-}
-
 /// Load Theme from multiple png files.
-void ThemePrefs::OnLoadThemeComponents(wxCommandEvent &event)
+void ThemePrefs::OnLoadThemeComponents(wxCommandEvent & e)
 {
    theTheme.LoadComponents();
    theTheme.ApplyUpdatedImages();
 }
 
 /// Save Theme to multiple png files.
-void ThemePrefs::OnSaveThemeComponents(wxCommandEvent &event)
+void ThemePrefs::OnSaveThemeComponents(wxCommandEvent & e)
 {
    theTheme.SaveComponents();
 }
 
 /// Load Theme from single png file.
-void ThemePrefs::OnLoadThemeCache(wxCommandEvent &event)
+void ThemePrefs::OnLoadThemeCache(wxCommandEvent & e)
 {
    theTheme.ReadImageCache();
    AColor::ReInit();
@@ -176,23 +177,42 @@ void ThemePrefs::OnLoadThemeCache(wxCommandEvent &event)
 }
 
 /// Save Theme to single png file.
-void ThemePrefs::OnSaveThemeCache(wxCommandEvent &event)
+void ThemePrefs::OnSaveThemeCache(wxCommandEvent & e)
 {
    theTheme.CreateImageCache();
-   theTheme.WriteImageMap( );// bonus - give them the html version.
+   theTheme.WriteImageMap();// bonus - give them the html version.
 }
 
 /// Read Theme from internal storage.
-void ThemePrefs::OnReadThemeInternal( wxCommandEvent &event)
+void ThemePrefs::OnReadThemeInternal(wxCommandEvent & e)
 {
    theTheme.ReadThemeInternal();
    theTheme.ApplyUpdatedImages();
 }
 
 /// Save Theme as C source code.
-void ThemePrefs::OnSaveThemeAsCode(wxCommandEvent &event)
+void ThemePrefs::OnSaveThemeAsCode(wxCommandEvent & e)
 {
    theTheme.SaveThemeAsCode();
-   theTheme.WriteImageDefs( );// bonus - give them the Defs too.
+   theTheme.WriteImageDefs();// bonus - give them the Defs too.
+}
+
+/// Update the preferences stored on disk.
+bool ThemePrefs::Apply()
+{
+   ShuttleGui S(this, eIsSavingToPrefs);
+   PopulateOrExchange(S);
+
+   return true;
 }
 
+// Indentation settings for Vim and Emacs and unique identifier for Arch, a
+// version control system. Please do not modify past this point.
+//
+// Local Variables:
+// c-basic-offset: 3
+// indent-tabs-mode: nil
+// End:
+//
+// vim: et sts=3 sw=3
+// arch-tag: f09afeeb-9805-463a-b3ca-e3e3bfe05549
diff --git a/src/prefs/ThemePrefs.h b/src/prefs/ThemePrefs.h
index e166c3e..ab929c2 100644
--- a/src/prefs/ThemePrefs.h
+++ b/src/prefs/ThemePrefs.h
@@ -14,28 +14,42 @@
 #ifndef __AUDACITY_THEME_PREFS__
 #define __AUDACITY_THEME_PREFS__
 
-#include "PrefsPanel.h"
+#include <wx/defs.h>
+#include <wx/window.h>
+
+#include "../ShuttleGui.h"
 
-class ShuttleGui;
+#include "PrefsPanel.h"
 
-class ThemePrefs : public PrefsPanel
+class ThemePrefs:public PrefsPanel
 {
-public:
+ public:
    ThemePrefs(wxWindow * parent);
    ~ThemePrefs(void);
    virtual bool Apply();
 
-private:
+ private:
    void Populate();
    void PopulateOrExchange(ShuttleGui & S);
-   void OnLoadThemeComponents(wxCommandEvent &event);
-   void OnSaveThemeComponents(wxCommandEvent &event);
-   void OnLoadThemeCache(wxCommandEvent &event);
-   void OnSaveThemeCache(wxCommandEvent &event);
-   void OnReadThemeInternal( wxCommandEvent &event);
-   void OnSaveThemeAsCode(wxCommandEvent &event);
-
+   void OnLoadThemeComponents(wxCommandEvent & e);
+   void OnSaveThemeComponents(wxCommandEvent & e);
+   void OnLoadThemeCache(wxCommandEvent & e);
+   void OnSaveThemeCache(wxCommandEvent & e);
+   void OnReadThemeInternal(wxCommandEvent & e);
+   void OnSaveThemeAsCode(wxCommandEvent & e);
 
    DECLARE_EVENT_TABLE();
 };
+
 #endif
+
+// Indentation settings for Vim and Emacs and unique identifier for Arch, a
+// version control system. Please do not modify past this point.
+//
+// Local Variables:
+// c-basic-offset: 3
+// indent-tabs-mode: nil
+// End:
+//
+// vim: et sts=3 sw=3
+// arch-tag: f09afeeb-9805-463a-b3ca-e3e3bfe05549
diff --git a/src/toolbars/ControlToolBar.cpp b/src/toolbars/ControlToolBar.cpp
index 4ce2dde..4d1ef7d 100644
--- a/src/toolbars/ControlToolBar.cpp
+++ b/src/toolbars/ControlToolBar.cpp
@@ -125,8 +125,7 @@ void ControlToolBar::Create(wxWindow * parent)
 AButton *ControlToolBar::MakeButton(teBmps eFore, teBmps eDisabled,
                                     int id,
                                     bool processdownevents,
-                                    const wxChar *label,
-                                    const wxChar *tip)
+                                    const wxChar *label)
 {
    AButton *r = ToolBar::MakeButton(
       bmpRecoloredUpLarge, bmpRecoloredDownLarge, bmpRecoloredHiliteLarge,
@@ -137,10 +136,6 @@ AButton *ControlToolBar::MakeButton(teBmps eFore, teBmps eDisabled,
    r->SetLabel(label);
    r->SetFocusRect( r->GetRect().Deflate( 12, 12 ) );
 
-#if wxUSE_TOOLTIPS
-   r->SetToolTip(tip);
-#endif
-
    return r;
 }
 
@@ -172,30 +167,30 @@ void ControlToolBar::Populate()
    MakeButtonBackgroundsLarge();
 
    mPause = MakeButton(bmpPause,bmpPauseDisabled,
-      ID_PAUSE_BUTTON,  true,  _("Pause"), _("Pause"));
+      ID_PAUSE_BUTTON,  true,  _("Pause"));
 
    mPlay = MakeButton( bmpPlay, bmpPlayDisabled, 
-      ID_PLAY_BUTTON, true, _("Play"), _("Play (Shift for Loop Play)"));
+      ID_PLAY_BUTTON, true, _("Play"));
 
    MakeLoopImage();
 
    mStop = MakeButton( bmpStop, bmpStopDisabled ,
-      ID_STOP_BUTTON, false, _("Stop"), _("Stop"));
+      ID_STOP_BUTTON, false, _("Stop"));
 
    mRewind = MakeButton(bmpRewind, bmpRewindDisabled,
-      ID_REW_BUTTON, false, _("Start"), _("Skip to Start"));
+      ID_REW_BUTTON, false, _("Start"));
 
    mFF = MakeButton(bmpFFwd, bmpFFwdDisabled,
-      ID_FF_BUTTON, false, _("End"), _("Skip to End"));
+      ID_FF_BUTTON, false, _("End"));
 
    mRecord = MakeButton(bmpRecord, bmpRecordDisabled,
-      ID_RECORD_BUTTON, true, _("Record"), _("Record (Shift for Append Record)"));
+      ID_RECORD_BUTTON, true, _("Record"));
 
    mBatch = MakeButton(bmpCleanSpeech,bmpCleanSpeechDisabled,
-      ID_BATCH_BUTTON, false, _("Clean Speech"), _("Clean Speech"));
+      ID_BATCH_BUTTON, false, _("Clean Speech"));
 
 #if wxUSE_TOOLTIPS
-// MB: Should make this a pref
+   RegenerateToolsTooltips();
    wxToolTip::Enable(true);     
    wxToolTip::SetDelay(1000);
 #endif
@@ -204,11 +199,26 @@ void ControlToolBar::Populate()
    ArrangeButtons();
 }
 
+void ControlToolBar::RegenerateToolsTooltips()
+{
+#if wxUSE_TOOLTIPS
+   mPause->SetToolTip(_("Pause"));
+   mPlay->SetToolTip(_("Play (Shift for Loop Play)"));
+   mStop->SetToolTip(_("Stop"));
+   mRewind->SetToolTip(_("Skip to Start"));
+   mFF->SetToolTip(_("Skip to End"));
+   mRecord->SetToolTip(_("Record (Shift for Append Record)"));
+   mBatch->SetToolTip(_("Clean Speech"));
+#endif
+}
+
 void ControlToolBar::UpdatePrefs()
 {
    bool updated = false;
    bool active;
 
+   RegenerateToolsTooltips();
+
    gPrefs->Read( wxT("/GUI/ErgonomicTransportButtons"), &active, true );
    if( mErgonomicTransportButtons != active )
    {
@@ -228,6 +238,12 @@ void ControlToolBar::UpdatePrefs()
       ReCreateButtons();
       Updated();
    }
+
+   // Set label to pull in language change
+   SetLabel(_("Control"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
 }
 
 void ControlToolBar::ArrangeButtons()
@@ -295,7 +311,7 @@ void ControlToolBar::ArrangeButtons()
 void ControlToolBar::ReCreateButtons()
 {
    // ToolBar::ReCreateButtons() will get rid of its sizer and
-   // since we've attach our sizer to it, ours will get deleted too
+   // since we've attached our sizer to it, ours will get deleted too
    // so clean ours up first.
    if( mSizer )
    {
@@ -305,6 +321,8 @@ void ControlToolBar::ReCreateButtons()
    }
 
    ToolBar::ReCreateButtons();
+
+   RegenerateToolsTooltips();
 }
 
 void ControlToolBar::Repaint( wxDC *dc )
@@ -427,7 +445,11 @@ void ControlToolBar::PlayPlayRegion(double t0, double t1,
    bool hasaudio = false;
    TrackListIterator iter(t);
    for (Track *trk = iter.First(); trk; trk = iter.Next()) {
-      if (trk->GetKind() == Track::Wave) {
+      if (trk->GetKind() == Track::Wave
+#ifdef EXPERIMENTAL_MIDI_OUT
+         || trk->GetKind() == Track::Note
+#endif
+         ) {
          hasaudio = true;
          break;
       }
@@ -439,7 +461,10 @@ void ControlToolBar::PlayPlayRegion(double t0, double t1,
    }
 
    double maxofmins,minofmaxs;
-   
+#if defined(EXPERIMENTAL_SEEK_BEHIND_CURSOR)
+   double init_seek = 0.0;
+#endif 
+ 
    // JS: clarified how the final play region is computed;
    if (t1 == t0) {
       // msmeyer: When playing looped, we play the whole file, if
@@ -449,10 +474,18 @@ void ControlToolBar::PlayPlayRegion(double t0, double t1,
          t0 = t->GetStartTime();
       } else {
          // move t0 to valid range
-         if (t0 < 0)
+         if (t0 < 0) {
             t0 = t->GetStartTime();
-         if (t0 > t->GetEndTime())
+         }
+         else if (t0 > t->GetEndTime()) {
             t0 = t->GetEndTime();
+         }
+#if defined(EXPERIMENTAL_SEEK_BEHIND_CURSOR)
+         else {
+            init_seek = t0;         //AC: init_seek is where playback will 'start'
+            t0 = t->GetStartTime();
+         }
+#endif
       }
       
       // always play to end
@@ -504,10 +537,11 @@ void ControlToolBar::PlayPlayRegion(double t0, double t1,
          {
             token = gAudioIO->StartStream(
                mCutPreviewTracks->GetWaveTrackArray(false),
-               WaveTrackArray(), 
-/* REQUIRES PORTMIDI */
-//               NoteTrackArray(),
-			   NULL, p->GetRate(), tcp0, tcp1, p, false,
+               WaveTrackArray(),
+#ifdef EXPERIMENTAL_MIDI_OUT
+               &NoteTrackArray(),
+#endif
+               NULL, p->GetRate(), tcp0, tcp1, p, false,
                t0, t1-t0);
          } else
          {
@@ -522,16 +556,21 @@ void ControlToolBar::PlayPlayRegion(double t0, double t1,
             timetrack = t->GetTimeTrack();
          }
          token = gAudioIO->StartStream(t->GetWaveTrackArray(false),
-                               WaveTrackArray(),
-/* REQUIRES PORTMIDI */
-//							   t->GetNoteTrackArray(false),
-							   timetrack,
-                               p->GetRate(), t0, t1, p, looped);
+                                       WaveTrackArray(),
+#ifdef EXPERIMENTAL_MIDI_OUT
+                                       &(t->GetNoteTrackArray(false)),
+#endif
+                                       timetrack,
+                                       p->GetRate(), t0, t1, p, looped);
       }
       if (token != 0) {
          success = true;
          p->SetAudioIOToken(token);
          mBusyProject = p;
+#if defined(EXPERIMENTAL_SEEK_BEHIND_CURSOR)
+         //AC: If init_seek was set, now's the time to make it happen.
+         gAudioIO->SeekStream(init_seek);
+#endif
          SetVUMeters(p);
       }
       else {
@@ -567,6 +606,7 @@ void ControlToolBar::PlayCurrentRegion(bool looped /* = false */,
    mPlay->SetAlternate(looped);
 
    AudacityProject *p = GetActiveProject();
+
    if (p)
    {
       if (looped)
@@ -576,7 +616,7 @@ void ControlToolBar::PlayCurrentRegion(bool looped /* = false */,
 
       double playRegionStart, playRegionEnd;
       p->GetPlayRegion(&playRegionStart, &playRegionEnd);
-         
+
       PlayPlayRegion(playRegionStart,
                      playRegionEnd,
                      looped, cutpreview);
@@ -631,6 +671,11 @@ void ControlToolBar::OnKeyUp(wxKeyEvent & event)
 
 void ControlToolBar::OnPlay(wxCommandEvent &evt)
 {
+   StopPlaying();
+
+   AudacityProject *p = GetActiveProject();
+   if (p) p->TP_DisplaySelection(); 
+
    PlayDefault();
 }
 
@@ -641,8 +686,6 @@ void ControlToolBar::OnStop(wxCommandEvent &evt)
 
 void ControlToolBar::PlayDefault()
 {
-   StopPlaying();
-
    if(mPlay->WasControlDown())
       PlayCurrentRegion(false, true); /* play with cut preview */
    else if(mPlay->WasShiftDown())
@@ -733,21 +776,23 @@ void ControlToolBar::OnRecord(wxCommandEvent &evt)
       /* TODO: set up stereo tracks if that is how the user has set up
        * their preferences, and choose sample format based on prefs */
       WaveTrackArray newRecordingTracks, playbackTracks;
-/* REQUIRES PORTMIDI */
-//      NoteTrackArray midiTracks;
-
+#ifdef EXPERIMENTAL_MIDI_OUT
+      NoteTrackArray midiTracks;
+#endif
       bool duplex;
       gPrefs->Read(wxT("/AudioIO/Duplex"), &duplex, true);
             
       if(duplex){
          playbackTracks = t->GetWaveTrackArray(false);
-/* REQUIRES PORTMIDI */
-//		 midiTracks = t->GetNoteTrackArray(false);
+#ifdef EXPERIMENTAL_MIDI_OUT
+         midiTracks = t->GetNoteTrackArray(false);
+#endif
      }
       else {
          playbackTracks = WaveTrackArray();
-/* REQUIRES PORTMIDI */
-//		 midiTracks = NoteTrackArray();
+#ifdef EXPERIMENTAL_MIDI_OUT
+         midiTracks = NoteTrackArray();
+#endif
      }
       
       // If SHIFT key was down, the user wants append to tracks
@@ -825,7 +870,6 @@ void ControlToolBar::OnRecord(wxCommandEvent &evt)
                }
                else {
                   newTrack->SetChannel(Track::RightChannel);
-                  newTrack->SetTeamed(true);
                }
             }
             else {
@@ -844,8 +888,9 @@ void ControlToolBar::OnRecord(wxCommandEvent &evt)
 
       int token = gAudioIO->StartStream(playbackTracks,
                                         newRecordingTracks,
-/* REQUIRES PORTMIDI */
-//                                        midiTracks,
+#ifdef EXPERIMENTAL_MIDI_OUT                                        
+                                        &midiTracks,
+#endif
                                         t->GetTimeTrack(),
                                         p->GetRate(), t0, t1, p);
 
@@ -931,13 +976,17 @@ void ControlToolBar::SetupCutPreviewTracks(double playStart, double cutStart,
          if (t->GetKind() == Track::Wave && t->GetSelected())
          {
             track1 = t;
-            track2 = p->GetTracks()->GetLink(track1);
+            track2 = t->GetLink();
             break;
          }
       }
       
       if (track1)
       {
+         // Temporarily disable sticky track handling
+         bool sticky = p->GetStickyFlag();
+         p->SetStickyFlag(false);
+
          // Duplicate and change tracks
          track1 = track1->Duplicate();
          track1->Clear(cutStart, cutEnd);
@@ -951,6 +1000,9 @@ void ControlToolBar::SetupCutPreviewTracks(double playStart, double cutStart,
          mCutPreviewTracks->Add(track1);
          if (track2)
             mCutPreviewTracks->Add(track2);
+
+         // Reinstate sticky track handling
+         p->SetStickyFlag(sticky);
       }
    }
 }
diff --git a/src/toolbars/ControlToolBar.h b/src/toolbars/ControlToolBar.h
index 6a48361..3a33d89 100644
--- a/src/toolbars/ControlToolBar.h
+++ b/src/toolbars/ControlToolBar.h
@@ -84,10 +84,10 @@ class ControlToolBar:public ToolBar {
    AButton *MakeButton(teBmps eFore, teBmps eDisabled,
       int id,
       bool processdownevents,
-      const wxChar *label,
-      const wxChar *tip);
+      const wxChar *label);
    void MakeLoopImage();
    void ArrangeButtons();
+   void RegenerateToolsTooltips();
    void SetupCutPreviewTracks(double playStart, double cutStart,
                              double cutEnd, double playEnd);
    void ClearCutPreviewTracks();
diff --git a/src/toolbars/DeviceToolBar.cpp b/src/toolbars/DeviceToolBar.cpp
index 4e67b62..6e13e7f 100644
--- a/src/toolbars/DeviceToolBar.cpp
+++ b/src/toolbars/DeviceToolBar.cpp
@@ -79,11 +79,7 @@ void DeviceToolBar::Populate()
    wxArrayString inputs;
    wxArrayString outputs;
 
-#if USE_PORTAUDIO_V19
    int nDevices = Pa_GetDeviceCount();
-#else
-   int nDevices = Pa_CountDevices();
-#endif
 
    for (i = 0; i < nDevices; i++) {
       const PaDeviceInfo *info = Pa_GetDeviceInfo(i);
@@ -111,11 +107,8 @@ void DeviceToolBar::Populate()
                                wxDefaultSize,
                                outputs);
    mOutput->SetName(_("Output Device"));
-#if wxUSE_TOOLTIPS
-   mOutput->SetToolTip(_("Output Device"));
-#endif
-   Add(mOutput, 0, wxALIGN_CENTER);
 
+   Add(mOutput, 0, wxALIGN_CENTER);
    if (outputs.GetCount() == 0)
       mOutput->Enable(false);
 
@@ -132,9 +125,7 @@ void DeviceToolBar::Populate()
                          wxDefaultSize,
                          inputs);
    mInput->SetName(_("Input Device"));
-#if wxUSE_TOOLTIPS
-   mInput->SetToolTip(_("Input Device"));
-#endif
+
    Add(mInput, 0, wxALIGN_CENTER);
    if (inputs.GetCount() == 0)
       mInput->Enable(false);
@@ -197,8 +188,23 @@ void DeviceToolBar::OnCaptureKey(wxCommandEvent &event)
 void DeviceToolBar::UpdatePrefs()
 {
    mInput->SetStringSelection(gPrefs->Read(wxT("/AudioIO/RecordingDevice"), wxT("")));
-
    mOutput->SetStringSelection(gPrefs->Read(wxT("/AudioIO/PlaybackDevice"), wxT("")));
+
+   RegenerateTooltips();
+
+   // Set label to pull in language change
+   SetLabel(_("Device"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
+}
+
+void DeviceToolBar::RegenerateTooltips()
+{
+#if wxUSE_TOOLTIPS
+   mOutput->SetToolTip(_("Output Device"));
+   mInput->SetToolTip(_("Input Device"));
+#endif
 }
 
 void DeviceToolBar::OnChoice(wxCommandEvent &event)
diff --git a/src/toolbars/DeviceToolBar.h b/src/toolbars/DeviceToolBar.h
index 8a492e7..cb235f1 100644
--- a/src/toolbars/DeviceToolBar.h
+++ b/src/toolbars/DeviceToolBar.h
@@ -40,6 +40,8 @@ class DeviceToolBar:public ToolBar {
    void OnChoice(wxCommandEvent & event);
 
  private:
+   void RegenerateTooltips();
+
    wxBitmap *mPlayBitmap;
    wxBitmap *mRecordBitmap;
 
diff --git a/src/toolbars/EditToolBar.cpp b/src/toolbars/EditToolBar.cpp
index 0914f75..0cbafc0 100644
--- a/src/toolbars/EditToolBar.cpp
+++ b/src/toolbars/EditToolBar.cpp
@@ -73,7 +73,7 @@ END_EVENT_TABLE()
 
 //Standard contructor
 EditToolBar::EditToolBar()
-: ToolBar(EditBarID, _NoAcc("&Edit"), wxT("Edit"))
+: ToolBar(EditBarID, _("Edit"), wxT("Edit"))
 {
 }
 
@@ -100,7 +100,7 @@ AButton *EditToolBar::AddButton(
    teBmps eFore, teBmps eDisabled,
    int id,
    const wxChar *label,
-   const wxChar *tip, bool toggle)
+   bool toggle)
 {
    AButton *&r = mButtons[id];
 
@@ -116,9 +116,6 @@ AButton *EditToolBar::AddButton(
 // JKC: Unlike ControlToolBar, does not have a focus rect.  Shouldn't it?
 // r->SetFocusRect( r->GetRect().Deflate( 4, 4 ) );
 
-#if wxUSE_TOOLTIPS
-   r->SetToolTip(tip);
-#endif
    Add( r, 0, wxALIGN_CENTER );
 
    return r;
@@ -130,54 +127,79 @@ void EditToolBar::Populate()
 
    /* Buttons */
    AddButton(bmpCut, bmpCutDisabled, ETBCutID,
-      _("Cut"), _("Cut"));
+      _("Cut"));
    AddButton(bmpCopy, bmpCopyDisabled, ETBCopyID,
-      _("Copy"), _("Copy"));
+      _("Copy"));
    AddButton(bmpPaste, bmpPasteDisabled, ETBPasteID,
-      _("Paste"), _("Paste"));
+      _("Paste"));
    AddButton(bmpTrim, bmpTrimDisabled, ETBTrimID,
-      _("Trim outside selection"),_("Trim"));
+      _("Trim outside selection"));
    AddButton(bmpSilence, bmpSilenceDisabled, ETBSilenceID,
-      _("Silence selection"),_("Silence"));
+      _("Silence selection"));
+
    AddSeparator();
+
    AddButton(bmpUndo, bmpUndoDisabled, ETBUndoID,
-      _("Undo"), _("Undo"));
+      _("Undo"));
    AddButton(bmpRedo, bmpRedoDisabled, ETBRedoID,
-      _NoAcc("&Redo"), _NoAcc("&Redo"));
+      _("Redo"));
+
    AddSeparator();
 
    AddButton(bmpLinkTracks, bmpLinkTracksDisabled, ETBLinkID,
-      _("Link Tracks"), _("Link Tracks"), true);
+      _("Link Tracks"), true);
    
    AddSeparator();
    
    AddButton(bmpZoomIn, bmpZoomInDisabled, ETBZoomInID,
-      _("Zoom In"),_("Zoom In"));
+      _("Zoom In"));
    AddButton(bmpZoomOut, bmpZoomOutDisabled, ETBZoomOutID,
-      _("Zoom Out"),_("Zoom Out"));
+      _("Zoom Out"));
 
-   #if 0 // Disabled for version 1.2.0 since it doesn't work quite right...
-   AddButton(bmpZoomToggle, bmpZoomToggleDisabled, ETBZoomToggleID,
-      _("Zoom Toggle"),_("Zoom Toggle"));
-   #endif
-
-    AddButton(bmpZoomSel, bmpZoomSelDisabled, ETBZoomSelID,
-      _("Fit selection in window"),_("Fit Selection"));
+   AddButton(bmpZoomSel, bmpZoomSelDisabled, ETBZoomSelID,
+      _("Fit selection in window"));
    AddButton(bmpZoomFit, bmpZoomFitDisabled, ETBZoomFitID,
-      _("Fit project in window"),_("Fit Project"));
+      _("Fit project in window"));
 
    mButtons[ETBZoomInID]->SetEnabled(false);
    mButtons[ETBZoomOutID]->SetEnabled(false);
 
-   #if 0 // Disabled for version 1.2.0 since it doesn't work quite right...
-   mButtons[ETBZoomToggleID]->SetEnabled(false);
-   #endif
-
    mButtons[ETBZoomSelID]->SetEnabled(false);
    mButtons[ETBZoomFitID]->SetEnabled(false);
    mButtons[ETBPasteID]->SetEnabled(false);
    
    mButtons[ETBLinkID]->PushDown();
+
+   RegenerateTooltips();
+}
+
+void EditToolBar::UpdatePrefs()
+{
+   RegenerateTooltips();
+
+   // Set label to pull in language change
+   SetLabel(_("Edit"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
+}
+
+void EditToolBar::RegenerateTooltips()
+{
+#if wxUSE_TOOLTIPS
+   mButtons[ETBCutID]->SetToolTip(_("Cut"));
+   mButtons[ETBCopyID]->SetToolTip(_("Copy"));
+   mButtons[ETBPasteID]->SetToolTip(_("Paste"));
+   mButtons[ETBTrimID]->SetToolTip(_("Trim"));
+   mButtons[ETBSilenceID]->SetToolTip(_("Silence"));
+   mButtons[ETBUndoID]->SetToolTip(_("Undo"));
+   mButtons[ETBRedoID]->SetToolTip(_("Redo"));
+   mButtons[ETBLinkID]->SetToolTip(_("Link Tracks"));
+   mButtons[ETBZoomInID]->SetToolTip(_("Zoom In"));
+   mButtons[ETBZoomOutID]->SetToolTip(_("Zoom Out"));
+   mButtons[ETBZoomSelID]->SetToolTip(_("Fit Selection"));
+   mButtons[ETBZoomFitID]->SetToolTip(_("Fit Project"));
+#endif
 }
 
 void EditToolBar::OnButton(wxCommandEvent &event)
diff --git a/src/toolbars/EditToolBar.h b/src/toolbars/EditToolBar.h
index e9bc1e6..1673924 100644
--- a/src/toolbars/EditToolBar.h
+++ b/src/toolbars/EditToolBar.h
@@ -65,15 +65,18 @@ class EditToolBar:public ToolBar {
    void Populate();
    void Repaint(wxDC *dc) {};
    void EnableDisableButtons();
+   void UpdatePrefs();
 
  private:
 
    AButton *AddButton(teBmps eFore, teBmps eDisabled,
-      int id, const wxChar *label, const wxChar *tip, bool toggle=false);
+      int id, const wxChar *label, bool toggle = false);
 
    void AddSeparator();
 
    void MakeButtons();
+
+   void RegenerateTooltips();
    
    AButton *mButtons[ETBNumButtons];
 
diff --git a/src/toolbars/MeterToolBar.cpp b/src/toolbars/MeterToolBar.cpp
index 730366d..d943931 100644
--- a/src/toolbars/MeterToolBar.cpp
+++ b/src/toolbars/MeterToolBar.cpp
@@ -90,21 +90,54 @@ void MeterToolBar::Populate()
    mRecordMeter->SetLabel( _("Meter-Record") );
    mSizer->Add( mRecordMeter, wxGBPosition( 0, 1 ), wxDefaultSpan, wxEXPAND );
 
+   RegenerateTooltips();
+
+#if defined(THIS_PROBABY_SHOULD_NOT_BE_DONE_HERE)
+   // If AudioIO changes the meters while it's currently busy, then crashes are
+   // very likely.
+   if (gAudioIO && !gAudioIO->IsBusy()) {
+      gAudioIO->SetMeters(mRecordMeter, mPlayMeter);
+   }
+#endif
+}
+
+void MeterToolBar::UpdatePrefs()
+{
+   mPlayMeter->UpdatePrefs();
+   mPlayMeter->HandleLayout();
+   mRecordMeter->UpdatePrefs();
+   mRecordMeter->HandleLayout();
+
+   RegenerateTooltips();
+
+   // Set label to pull in language change
+   SetLabel(_("Meter"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
+}
+
+void MeterToolBar::RegenerateTooltips()
+{
 #if wxUSE_TOOLTIPS
    mPlayMeter->SetToolTip( _("Output level meter") );
    mRecordMeter->SetToolTip( _("Input level meter - click to monitor input") );
 #endif
-
-   if (gAudioIO) {
-      gAudioIO->SetMeters(mRecordMeter, mPlayMeter);
-   }
 }
 
 bool MeterToolBar::DestroyChildren()
 {
    mPlayMeter = NULL;
    mRecordMeter = NULL;
-   gAudioIO->SetMeters(NULL, NULL);
+
+#if defined(THIS_PROBABY_SHOULD_NOT_BE_DONE_HERE)
+   // If AudioIO changes the meters while it's currently busy, then crashes are
+   // very likely...especially in this case.
+   if (gAudioIO && !gAudioIO->IsBusy()) {
+      gAudioIO->SetMeters(NULL, NULL);
+   }
+#endif
+
    return ToolBar::DestroyChildren();
 }
 
diff --git a/src/toolbars/MeterToolBar.h b/src/toolbars/MeterToolBar.h
index 8b17bd7..c027974 100644
--- a/src/toolbars/MeterToolBar.h
+++ b/src/toolbars/MeterToolBar.h
@@ -36,6 +36,7 @@ class MeterToolBar:public ToolBar {
    virtual void Populate();
    virtual void Repaint(wxDC *dc) {};
    virtual void EnableDisableButtons() {};
+   virtual void UpdatePrefs();
 
    void GetMeters(Meter **playMeter, Meter **recordMeter);
    void StartMonitoring();
@@ -43,6 +44,7 @@ class MeterToolBar:public ToolBar {
    virtual void OnSize(wxSizeEvent & event);
 
  private:
+   void RegenerateTooltips();
 
    wxGridBagSizer *mSizer;
    Meter *mPlayMeter;
diff --git a/src/toolbars/MixerToolBar.cpp b/src/toolbars/MixerToolBar.cpp
index 97b5b99..6e3faae 100644
--- a/src/toolbars/MixerToolBar.cpp
+++ b/src/toolbars/MixerToolBar.cpp
@@ -50,7 +50,6 @@ IMPLEMENT_CLASS(MixerToolBar, ToolBar);
 BEGIN_EVENT_TABLE(MixerToolBar, ToolBar)
    EVT_PAINT(MixerToolBar::OnPaint)
    EVT_SLIDER(wxID_ANY, MixerToolBar::SetMixer)
-   EVT_SLIDER(wxID_ANY, MixerToolBar::SetMixer)
    EVT_CHOICE(wxID_ANY, MixerToolBar::SetMixer)
    EVT_COMMAND(wxID_ANY, EVT_CAPTURE_KEY, MixerToolBar::OnCaptureKey)
 END_EVENT_TABLE()
@@ -59,6 +58,7 @@ END_EVENT_TABLE()
 MixerToolBar::MixerToolBar()
 : ToolBar(MixerBarID, _("Mixer"), wxT("Mixer"))
 {
+   mInputSourceChoice = NULL;
 }
 
 MixerToolBar::~MixerToolBar()
@@ -235,6 +235,12 @@ void MixerToolBar::UpdatePrefs()
    // Notify someone that we've changed our size
    Updated();
 #endif
+
+   // Set label to pull in language change
+   SetLabel(_("Mixer"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
 }
 
 void MixerToolBar::UpdateControls()
@@ -271,6 +277,86 @@ void MixerToolBar::SetMixer(wxCommandEvent &event)
 #endif // USE_PORTMIXER
 }
 
+void MixerToolBar::ShowOutputGainDialog()
+{
+   mOutputSlider->ShowDialog();
+   wxCommandEvent e;
+   SetMixer(e);
+   UpdateControls();
+}
+
+void MixerToolBar::ShowInputGainDialog()
+{
+   mInputSlider->ShowDialog();
+   wxCommandEvent e;
+   SetMixer(e);
+   UpdateControls();
+}
+
+void MixerToolBar::ShowInputSourceDialog()
+{
+   if (!mInputSourceChoice || mInputSourceChoice->GetCount() == 0) {
+      wxMessageBox(_("Input source information is not available."));
+      return;
+   }
+
+#if USE_PORTMIXER
+   wxArrayString inputSources = mInputSourceChoice->GetStrings();
+
+   wxDialog dlg(NULL, wxID_ANY, wxString(_("Select Input Source")));
+   ShuttleGui S(&dlg, eIsCreating);
+   wxChoice *c;
+
+   S.StartVerticalLay(true);
+   {
+      S.StartHorizontalLay(wxCENTER, false);
+      {
+         c = S.AddChoice(_("Input Source:"),
+                         mInputSourceChoice->GetStringSelection(),
+                         &inputSources);
+      }
+      S.EndHorizontalLay();
+      S.AddStandardButtons();
+   }
+   S.EndVerticalLay();
+
+   dlg.SetSize(dlg.GetSizer()->GetMinSize());
+   dlg.Center();
+
+   if (dlg.ShowModal() == wxID_OK)
+   {
+      // This will fire an event which will invoke SetMixer above.
+      mInputSourceChoice->SetSelection(c->GetSelection());
+   }
+#endif
+}
+
+void MixerToolBar::AdjustOutputGain(int adj)
+{
+   if (adj < 0) {
+      mOutputSlider->Decrease(-adj);
+   }
+   else {
+      mOutputSlider->Increase(adj);
+   }
+   wxCommandEvent e;
+   SetMixer(e);
+   UpdateControls();
+}
+
+void MixerToolBar::AdjustInputGain(int adj)
+{
+   if (adj < 0) {
+      mInputSlider->Decrease(-adj);
+   }
+   else {
+      mInputSlider->Increase(adj);
+   }
+   wxCommandEvent e;
+   SetMixer(e);
+   UpdateControls();
+}
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/toolbars/MixerToolBar.h b/src/toolbars/MixerToolBar.h
index 4f9835f..55506c2 100644
--- a/src/toolbars/MixerToolBar.h
+++ b/src/toolbars/MixerToolBar.h
@@ -43,6 +43,13 @@ class MixerToolBar:public ToolBar {
 
    void OnSlider(wxCommandEvent & event);
 
+   void ShowOutputGainDialog();
+   void ShowInputGainDialog();
+   void ShowInputSourceDialog();
+
+   void AdjustOutputGain(int adj);
+   void AdjustInputGain(int adj);
+
  private:
 
    void InitializeMixerToolBar();
diff --git a/src/toolbars/SelectionBar.cpp b/src/toolbars/SelectionBar.cpp
index c64cc8c..0613e00 100644
--- a/src/toolbars/SelectionBar.cpp
+++ b/src/toolbars/SelectionBar.cpp
@@ -201,7 +201,7 @@ void SelectionBar::Populate()
    // We need to capture the SetFocus and KillFocus events to set up
    // for keyboard capture.  On Windows and GTK it's easy since the
    // combobox is presented as one control to hook into.
-   wxWindow *ctrl = mRateBox;
+   mRateText = mRateBox;
 
 #if defined(__WXMAC__)
    // The Mac uses a standard wxTextCtrl for the edit portion and that's
@@ -211,20 +211,20 @@ void SelectionBar::Populate()
    for (unsigned int i = 0; i < kids.GetCount(); i++) {
       wxClassInfo *ci = kids[i]->GetClassInfo();
       if (ci->IsKindOf(CLASSINFO(wxTextCtrl))) {
-         ctrl = kids[i];
+         mRateText = kids[i];
          break;
       }
    }
 #endif
 
-   ctrl->Connect(wxEVT_SET_FOCUS,
-                 wxFocusEventHandler(SelectionBar::OnFocus),
-                 NULL,
-                 this);
-   ctrl->Connect(wxEVT_KILL_FOCUS,
-                 wxFocusEventHandler(SelectionBar::OnFocus),
-                 NULL,
-                 this);
+   mRateText->Connect(wxEVT_SET_FOCUS,
+                      wxFocusEventHandler(SelectionBar::OnFocus),
+                      NULL,
+                      this);
+   mRateText->Connect(wxEVT_KILL_FOCUS,
+                      wxFocusEventHandler(SelectionBar::OnFocus),
+                      NULL,
+                      this);
 
    mainSizer->Add(mRateBox, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
 
@@ -280,6 +280,21 @@ void SelectionBar::Populate()
    SetMinSize( GetSizer()->GetMinSize() );
 }
 
+void SelectionBar::UpdatePrefs()
+{
+   mRate = (double) gPrefs->Read(wxT("/SamplingRate/DefaultProjectSampleRate"), AudioIO::GetOptimalSupportedSampleRate());
+
+   wxCommandEvent e;
+   e.SetInt(mLeftTime->GetFormatIndex());
+   OnUpdate(e);
+
+   // Set label to pull in language change
+   SetLabel(_("Selection"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
+}
+
 void SelectionBar::SetListener(SelectionBarListener *l)
 {
    mListener = l;
@@ -349,7 +364,6 @@ void SelectionBar::OnUpdate(wxCommandEvent &evt)
     * which as they have no effect on the object state, so we just use the first
     * one to hand */
    wxString formatName =  mLeftTime->GetBuiltinName(index);
-   wxString formatString = mLeftTime->GetBuiltinFormat(index);
 
    gPrefs->Write(wxT("/SelectionFormat"), formatName);
 
@@ -363,11 +377,13 @@ void SelectionBar::OnUpdate(wxCommandEvent &evt)
    mRightLengthButton = NULL;
 
    mRateBox = NULL;
+   mRateText = NULL;
 
    ToolBar::ReCreateButtons();
 
    ValuesToControls();
 
+   wxString formatString = mLeftTime->GetBuiltinFormat(index);
    mLeftTime->SetFormatString(formatString);
    mRightTime->SetFormatString(formatString);
    mAudioTime->SetFormatString(formatString);
@@ -385,13 +401,6 @@ void SelectionBar::OnUpdate(wxCommandEvent &evt)
    Updated();
 }
 
-void SelectionBar::UpdateDisplay()
-{
-   wxCommandEvent e;
-   e.SetInt(mLeftTime->GetFormatIndex());
-   OnUpdate(e);
-}
-
 void SelectionBar::ValuesToControls()
 {
    mLeftTime->SetTimeValue(mStart);
@@ -457,7 +466,7 @@ void SelectionBar::SetRate(double rate)
 
 void SelectionBar::OnRate(wxCommandEvent &evt)
 {
-   if (evt.GetString().ToDouble(&mRate) && // is a numeric value
+   if (mRateBox->GetValue().ToDouble(&mRate) && // is a numeric value
          (mRate != 0.0))
    {
       if (mLeftTime) mLeftTime->SetSampleRate(mRate);
@@ -512,8 +521,8 @@ void SelectionBar::OnCaptureKey(wxCommandEvent &event)
       return;
    }
 
-   // UP/DOWN/LEFT/RIGHT for mRateBox
-   if (w == mRateBox) {
+   // UP/DOWN/LEFT/RIGHT for mRateText
+   if (w == mRateText) {
       switch (keyCode)
       {
          case WXK_LEFT:
diff --git a/src/toolbars/SelectionBar.h b/src/toolbars/SelectionBar.h
index 4bf5a69..f4afba2 100644
--- a/src/toolbars/SelectionBar.h
+++ b/src/toolbars/SelectionBar.h
@@ -50,6 +50,7 @@ class SelectionBar:public ToolBar {
    virtual void Populate();
    virtual void Repaint(wxDC *dc) {};
    virtual void EnableDisableButtons() {};
+   virtual void UpdatePrefs();
 
    void SetTimes(double start, double end, double audio);
    double GetLeftTime();
@@ -59,15 +60,6 @@ class SelectionBar:public ToolBar {
    void SetRate(double rate);
    void SetListener(SelectionBarListener *l);
 
-   // msmeyer: Call this to enable/disable menu items
-   // in the "rate" menu, f.e. if sound card selection
-   // has changed.
-   void UpdateRates();
-
-   // lll: Call this when something more drastic has changed
-   // in the display, f.e. when the language has changed.
-   void UpdateDisplay();
-
  private:
 
    void ValuesToControls();
@@ -89,6 +81,8 @@ class SelectionBar:public ToolBar {
 
    void ModifySelection();
 
+   void UpdateRates();
+
    SelectionBarListener * mListener;
    double mRate;
    double mStart, mEnd, mAudio;
@@ -102,6 +96,8 @@ class SelectionBar:public ToolBar {
    wxComboBox     *mRateBox;
    wxCheckBox     *mSnapTo;
 
+   wxWindow       *mRateText;
+
  public:
    TimeTextCtrl   *mLeftTime;
 
diff --git a/src/toolbars/ToolBar.cpp b/src/toolbars/ToolBar.cpp
index 22f1ff4..8a5622d 100644
--- a/src/toolbars/ToolBar.cpp
+++ b/src/toolbars/ToolBar.cpp
@@ -95,7 +95,6 @@ ToolBar::ToolBar( int type,
    mType = type;
    mLabel = label;
    mSection = section;
-   mTitle.Printf( _("Audacity %s ToolBar"), mLabel.c_str() );
    mResizable = resizable;
 
    // Initialize everything
@@ -118,7 +117,7 @@ ToolBar::~ToolBar()
 //
 wxString ToolBar::GetTitle()
 {
-   return mTitle;
+   return wxString::Format( _("Audacity %s ToolBar"), GetLabel().c_str() );
 }
 
 //
@@ -146,6 +145,14 @@ int ToolBar::GetType()
 }
 
 //
+// Set the toolbar label
+//
+void ToolBar::SetLabel(const wxString & label)
+{
+   mLabel = label;
+}
+
+//
 // Returns whether the toolbar is resizable or not
 //
 bool ToolBar::IsResizable()
@@ -204,8 +211,8 @@ void ToolBar::Create( wxWindow *parent )
                     wxDefaultPosition,
                     wxDefaultSize,
                     wxNO_BORDER | wxTAB_TRAVERSAL,
-                    mTitle );
-   SetLabel( mLabel );
+                    GetTitle() );
+   wxPanel::SetLabel( GetLabel() );
 
    // Go do the rest of the creation
    ReCreateButtons();
@@ -262,10 +269,25 @@ void ToolBar::ReCreateButtons()
    Layout();
 }
 
+// The application preferences have changed, so update any elements that may
+// depend on them.
+void ToolBar::UpdatePrefs()
+{
+#if wxUSE_TOOLTIPS
+   // Change the tooltip of the grabber
+   mGrabber->SetToolTip( GetTitle() );
+#endif
+
+   return;
+}
+
+//
+// Return the pointer to the ToolBock where this bar lives
+//
 ToolDock *ToolBar::GetDock()
 {
    return mDock;
-};
+}
 
 //
 // Toggle the docked/floating state
@@ -392,10 +414,15 @@ void ToolBar::MakeRecoloredImage( teBmps eBmpOut, teBmps eBmpIn )
 {
    wxImage * pPattern;
    wxImage * pSrc = &theTheme.Image( eBmpIn );
-   wxColour newColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
-   wxColour baseColour = wxColour(204, 204, 204);
+#if defined( __WXGTK__ )
+   wxColour newColour = wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND );
+#else
+   wxColour newColour = wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE );
+#endif
+   wxColour baseColour = wxColour( 204, 204, 204 );
+
+   pPattern = ChangeImageColour( pSrc, baseColour, newColour );
 
-   pPattern = ChangeImageColour( pSrc,     baseColour, newColour );
    theTheme.ReplaceImage( eBmpOut, pPattern);
    delete pPattern;
 }
@@ -498,12 +525,14 @@ void ToolBar::OnPaint( wxPaintEvent & event )
 
    // Start with a clean background
    //
-   // Under GTK, clearing will cause the background to be white and
-   // rather than setting a background color, just bypass the clear.
-#if !defined(__WXGTK__)
-   dc.Clear();
+   // Under GTK, we specifically set the toolbar background to the background
+   // colour in the system theme.
+#if defined( __WXGTK__ )
+   dc.SetBackground( wxBrush( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ) );
 #endif
 
+   dc.Clear();
+
 // EXPERIMENTAL_THEMING is set to not apply the gradient
 // on wxMAC builds.  on wxMAC we have the AQUA_THEME.
 #ifdef USE_AQUA_THEME
@@ -540,7 +569,7 @@ void ToolBar::OnPaint( wxPaintEvent & event )
          }
          wxPen Pen( col );
          dc.SetPen(Pen );
-         dc.DrawLine( 0, y, sz.x, y );
+         AColor::Line(dc, 0, y, sz.x, y );
       }
    }
 #endif
@@ -551,8 +580,8 @@ void ToolBar::OnPaint( wxPaintEvent & event )
       wxSize sz = GetSize();
 
       AColor::Dark( &dc, false );
-      dc.DrawLine( sz.x - 4,  0, sz.x - 4, sz.y );
-      dc.DrawLine( sz.x - 1,  0, sz.x - 1, sz.y );
+      AColor::Line(dc, sz.x - 4,  0, sz.x - 4, sz.y );
+      AColor::Line(dc, sz.x - 1,  0, sz.x - 1, sz.y );
    }
 }
 
diff --git a/src/toolbars/ToolBar.h b/src/toolbars/ToolBar.h
index a687e0c..e7d943a 100644
--- a/src/toolbars/ToolBar.h
+++ b/src/toolbars/ToolBar.h
@@ -81,16 +81,19 @@ class ToolBar:public wxPanel
    virtual void Create(wxWindow *parent);
    virtual void EnableDisableButtons() = 0;
    virtual void ReCreateButtons();
-
-   void SetDocked(ToolDock *dock, bool pushed);
+   virtual void UpdatePrefs();
 
    int GetType();
    wxString GetTitle();
    wxString GetLabel();
    wxString GetSection();
    ToolDock *GetDock();
+
+   void SetLabel(const wxString & label);
    void SetDock( ToolDock *dock);
 
+   void SetDocked(ToolDock *dock, bool pushed);
+
    bool Expose(bool show = true);
 
    bool IsResizable();
@@ -167,7 +170,6 @@ class ToolBar:public wxPanel
 
    wxPoint mResizeStart;
 
-   wxString mTitle;
    wxString mLabel;
    wxString mSection;
    int mType;
diff --git a/src/toolbars/ToolDock.cpp b/src/toolbars/ToolDock.cpp
index d6312b3..41aec30 100644
--- a/src/toolbars/ToolDock.cpp
+++ b/src/toolbars/ToolDock.cpp
@@ -32,6 +32,7 @@
 #include <wx/gdicmn.h>
 #include <wx/intl.h>
 #include <wx/panel.h>
+#include <wx/settings.h>
 #include <wx/window.h>
 #endif  /*  */
 
@@ -515,11 +516,12 @@ void ToolDock::OnPaint( wxPaintEvent & event )
 
    // Start with a clean background
    //
-   // Under GTK, clearing will cause the background to be white and
-   // rather than setting a background color, just bypass the clear.
-#if !defined(__WXGTK__)
-   dc.Clear();
+   // Under GTK, we specifically set the toolbar background to the background
+   // colour in the system theme.
+#if defined( __WXGTK__ )
+   dc.SetBackground( wxBrush( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ) );
 #endif
+   dc.Clear();
 
    // Set the gap color
    AColor::Dark( &dc, false );
@@ -527,8 +529,8 @@ void ToolDock::OnPaint( wxPaintEvent & event )
    // Draw the initial horizontal and vertical gaps
    wxSize sz = GetClientSize();
 
-   dc.DrawLine( 0, 0, sz.GetWidth(), 0 );
-   dc.DrawLine( 0, 0, 0, sz.GetHeight() );
+   AColor::Line(dc, 0, 0, sz.GetWidth(), 0 );
+   AColor::Line(dc, 0, 0, 0, sz.GetHeight() );
 
    // Draw the gap between each bar
    int ndx, cnt = mDockedBars.GetCount();
@@ -536,10 +538,11 @@ void ToolDock::OnPaint( wxPaintEvent & event )
    {
       wxRect r = ( (ToolBar *)mDockedBars[ ndx ] )->GetRect();
 
-      dc.DrawLine( r.GetLeft(),
-                   r.GetBottom() + 1,
-                   sz.GetWidth(),
-                   r.GetBottom() + 1 );
+      AColor::Line( dc,
+                    r.GetLeft(),
+                    r.GetBottom() + 1,
+                    sz.GetWidth(),
+                    r.GetBottom() + 1 );
 
       // For all bars but the last...
       if( ndx < cnt - 1 )
@@ -548,7 +551,8 @@ void ToolDock::OnPaint( wxPaintEvent & event )
          // horizontal gap line
          if( r.y == ( (ToolBar *)mDockedBars[ ndx + 1 ] )->GetRect().y )
          {
-            dc.DrawLine( r.GetRight() + 1,
+            AColor::Line(dc,
+                         r.GetRight() + 1,
                          r.GetTop(),
                          r.GetRight() + 1,
                          r.GetBottom() + 1 );
diff --git a/src/toolbars/ToolManager.cpp b/src/toolbars/ToolManager.cpp
index 1e3e86e..09105fc 100644
--- a/src/toolbars/ToolManager.cpp
+++ b/src/toolbars/ToolManager.cpp
@@ -101,8 +101,15 @@ class ToolFrame:public wxFrame
 #if defined(__WXMAC__)
       border = 0;
 
-      // WXMAC doesn't support wxFRAME_FLOAT_ON_PARENT, so we do
-      SetWindowClass( (WindowRef) MacGetWindowRef(), kFloatingWindowClass );
+   // WXMAC doesn't support wxFRAME_FLOAT_ON_PARENT, so we do
+   //
+   // LL:  I've commented this out because if you have, for instance, the meter
+   //      toolbar undocked and large and then you open a dialog like an effect,
+   //      the dialog may appear behind the dialog and you can't move either one.
+   //
+   //      However, I'm leaving it here because I don't remember why I'd included
+   //      it in the first place.
+// SetWindowClass((WindowRef)d.MacGetWindowRef(), kFloatingWindowClass);
 #endif
 
       // Save parameters
@@ -189,10 +196,10 @@ class ToolFrame:public wxFrame
          r.width = sizerW + 2;
          r.height = sizerW + 2;
 
-         dc.DrawLine( r.GetLeft(), r.GetBottom(), r.GetRight(), r.GetTop() );
-         dc.DrawLine( r.GetLeft() + 3, r.GetBottom(), r.GetRight(), r.GetTop() + 3 );
-         dc.DrawLine( r.GetLeft() + 6, r.GetBottom(), r.GetRight(), r.GetTop() + 6 );
-         dc.DrawLine( r.GetLeft() + 9, r.GetBottom(), r.GetRight(), r.GetTop() + 9 );
+         AColor::Line(dc, r.GetLeft(), r.GetBottom(), r.GetRight(), r.GetTop() );
+         AColor::Line(dc, r.GetLeft() + 3, r.GetBottom(), r.GetRight(), r.GetTop() + 3 );
+         AColor::Line(dc, r.GetLeft() + 6, r.GetBottom(), r.GetRight(), r.GetTop() + 6 );
+         AColor::Line(dc, r.GetLeft() + 9, r.GetBottom(), r.GetRight(), r.GetTop() + 9 );
       }
 
    }
@@ -548,7 +555,7 @@ void ToolManager::ReadConfig()
       ToolBar *bar = mBars[ ndx ];
 
       // Change to the bar subkey
-      gPrefs->SetPath( bar->GetLabel() );
+      gPrefs->SetPath( bar->GetSection() );
 
       // Read in all the settings
       gPrefs->Read( wxT("Dock"), &dock, ndx == SelectionBarID ? BotDockID : TopDockID );
@@ -703,7 +710,7 @@ void ToolManager::WriteConfig()
       ToolBar *bar = mBars[ ndx ];
 
       // Change to the bar subkey
-      gPrefs->SetPath( bar->GetLabel() );
+      gPrefs->SetPath( bar->GetSection() );
 
       // Search both docks for toolbar order
       int to = mTopDock->GetOrder( bar );
@@ -847,6 +854,21 @@ void ToolManager::LayoutToolBars()
 }
 
 //
+// Tell the toolbars that preferences have been updated
+//
+void ToolManager::UpdatePrefs()
+{
+   for( int ndx = 0; ndx < ToolBarCount; ndx++ ) 
+   {
+      ToolBar *bar = mBars[ ndx ];
+      if( bar )
+      {
+         bar->UpdatePrefs();
+      }
+   }
+}
+
+//
 // Handle toolbar dragging
 //
 void ToolManager::OnMouse( wxMouseEvent & event )
diff --git a/src/toolbars/ToolManager.h b/src/toolbars/ToolManager.h
index a0572d2..ff1b288 100644
--- a/src/toolbars/ToolManager.h
+++ b/src/toolbars/ToolManager.h
@@ -50,6 +50,7 @@ class ToolManager:public wxEvtHandler
    ~ToolManager();
 
    void LayoutToolBars();
+   void UpdatePrefs();
 
    bool IsDocked( int type );
 
diff --git a/src/toolbars/ToolsToolBar.cpp b/src/toolbars/ToolsToolBar.cpp
index 70c5219..994ff1a 100644
--- a/src/toolbars/ToolsToolBar.cpp
+++ b/src/toolbars/ToolsToolBar.cpp
@@ -156,6 +156,10 @@ void ToolsToolBar::RegenerateToolsTooltips()
    return;
 }
 
+void ToolsToolBar::UpdatePrefs()
+{
+   RegenerateToolsTooltips();
+}
 
 AButton * ToolsToolBar::MakeTool( teBmps eTool, 
    int id, const wxChar *label)
diff --git a/src/toolbars/TranscriptionToolBar.cpp b/src/toolbars/TranscriptionToolBar.cpp
index 23b75af..61cfeec 100644
--- a/src/toolbars/TranscriptionToolBar.cpp
+++ b/src/toolbars/TranscriptionToolBar.cpp
@@ -84,6 +84,7 @@ TranscriptionToolBar::TranscriptionToolBar()
 : ToolBar(TranscriptionBarID, _("Transcription"), wxT("Transcription"))
 {
    mPlaySpeed = 1.0;
+   mTimeTrack = NULL;
 #ifdef EXPERIMENTAL_VOICE_DETECTION
    mVk = new VoiceKey();
 #endif
@@ -94,6 +95,9 @@ TranscriptionToolBar::~TranscriptionToolBar()
 #ifdef EXPERIMENTAL_VOICE_DETECTION
    delete mVk;
 #endif
+   if (mTimeTrack) {
+      delete mTimeTrack;
+   }
 }
 
 void TranscriptionToolBar::Create(wxWindow * parent)
@@ -135,8 +139,7 @@ void TranscriptionToolBar::Create(wxWindow * parent)
 AButton *TranscriptionToolBar::AddButton(
    teBmps eFore, teBmps eDisabled,
    int id,
-   const wxChar *label,
-   const wxChar *tip)
+   const wxChar *label)
 {
    AButton *&r = mButtons[id];
 
@@ -152,10 +155,6 @@ AButton *TranscriptionToolBar::AddButton(
 // JKC: Unlike ControlToolBar, does not have a focus rect.  Shouldn't it?
 // r->SetFocusRect( r->GetRect().Deflate( 4, 4 ) );
 
-#if wxUSE_TOOLTIPS
-   r->SetToolTip(tip);
-#endif
-
    Add( r, 0, wxALIGN_CENTER );
 
    return r;
@@ -168,8 +167,7 @@ void TranscriptionToolBar::Populate()
    MakeButtonBackgroundsSmall();
 
    AddButton(bmpPlay,     bmpPlayDisabled,   TTB_PlaySpeed,
-      _("Play at selected speed"),
-      _("Play-at-speed"));
+      _("Play at selected speed"));
    
    //Add a slider that controls the speed of playback.
    const int SliderWidth=100;
@@ -181,6 +179,7 @@ void TranscriptionToolBar::Populate()
                                   SPEED_SLIDER);
    mPlaySpeedSlider->Set(1.0);
    mPlaySpeedSlider->SetLabel(_("Playback Speed"));
+   mPlaySpeedSlider->SetScroll(0.1f, 0.5f);
    Add( mPlaySpeedSlider, 0, wxALIGN_CENTER );
    mPlaySpeedSlider->Connect(wxEVT_SET_FOCUS,
                  wxFocusEventHandler(TranscriptionToolBar::OnFocus),
@@ -193,32 +192,23 @@ void TranscriptionToolBar::Populate()
 
 #ifdef EXPERIMENTAL_VOICE_DETECTION
    AddButton(bmpTnStartOn,     bmpTnStartOnDisabled,  TTB_StartOn,
-      _("Adjust left selection to next onset"),
-      _("Left-to-On"));
+      _("Adjust left selection to next onset"));
    AddButton(bmpTnEndOn,       bmpTnEndOnDisabled,   TTB_EndOn,
-      _("Adjust right selection to previous offset"),
-      _("Right-to-Off"));
+      _("Adjust right selection to previous offset"));
    AddButton(bmpTnStartOff,    bmpTnStartOffDisabled,  TTB_StartOff,
-      _("Adjust left selection to next offset"),
-      _("Left-to-Off"));
+      _("Adjust left selection to next offset"));
    AddButton(bmpTnEndOff,      bmpTnEndOffDisabled,    TTB_EndOff,
-      _("Adjust right selection to previous onset"),
-      _("Right-to-On"));
+      _("Adjust right selection to previous onset"));
    AddButton(bmpTnSelectSound, bmpTnSelectSoundDisabled, TTB_SelectSound,
-      _("Select region of sound around cursor"),
-      _("Select-Sound"));
+      _("Select region of sound around cursor"));
    AddButton(bmpTnSelectSilence, bmpTnSelectSilenceDisabled, TTB_SelectSilence,
-      _("Select region of silence around cursor"),
-      _("Select-Silence"));
+      _("Select region of silence around cursor"));
    AddButton(bmpTnAutomateSelection,   bmpTnAutomateSelectionDisabled,  TTB_AutomateSelection,
-      _("Automatically make labels from words"),
-      _("Make Labels"));
+      _("Automatically make labels from words"));
    AddButton(bmpTnMakeTag, bmpTnMakeTagDisabled,  TTB_MakeLabel,  
-      _("Add label at selection"),
-      _("Add Label"));
+      _("Add label at selection"));
    AddButton(bmpTnCalibrate, bmpTnCalibrateDisabled, TTB_Calibrate,
-      _("Calibrate voicekey"),
-      _("Calibrate"));
+      _("Calibrate voicekey"));
  
    mSensitivitySlider = new ASlider(this,
                                     TTB_SensitivitySlider,
@@ -251,6 +241,42 @@ void TranscriptionToolBar::Populate()
 
    // Add a little space
    Add(2, -1);
+
+   UpdatePrefs();
+}
+
+void TranscriptionToolBar::UpdatePrefs()
+{
+   RegenerateTooltips();
+
+   // Set label to pull in language change
+   SetLabel(_("Transcription"));
+
+   // Give base class a chance
+   ToolBar::UpdatePrefs();
+}
+
+void TranscriptionToolBar::RegenerateTooltips()
+{
+#if wxUSE_TOOLTIPS
+   mButtons[TTB_PlaySpeed]->SetToolTip(_("Play-at-speed"));
+   mPlaySpeedSlider->SetToolTip(_("Playback Speed"));
+
+#ifdef EXPERIMENTAL_VOICE_DETECTION
+   mButtons[TTB_StartOn]->SetToolTip(_("Left-to-On"));
+   mButtons[TTB_EndOn]->SetToolTip(   _("Right-to-Off"));
+   mButtons[TTB_StartOff]->SetToolTip(   _("Left-to-Off"));
+   mButtons[TTB_EndOff]->SetToolTip(   _("Right-to-On"));
+   mButtons[TTB_SelectSound]->SetToolTip(   _("Select-Sound"));
+   mButtons[TTB_SelectSilence]->SetToolTip(   _("Select-Silence"));
+   mButtons[TTB_AutomateSelection]->SetToolTip(   _("Make Labels"));
+   mButtons[TTB_MakeLabel]->SetToolTip(   _("Add Label"));
+   mButtons[TTB_Calibrate]->SetToolTip(   _("Calibrate"));
+ 
+   mSensitivitySlider->SetToolTip(_("Sensitivity"));
+   mKeyTypeChoice->SetToolTip(_("Key type"));
+#endif
+#endif
 }
 
 void TranscriptionToolBar::OnFocus(wxFocusEvent &event)
@@ -362,6 +388,14 @@ void TranscriptionToolBar::OnPlaySpeed(wxCommandEvent & event)
       return;
    }
 
+   // Create a TimeTrack if we haven't done so already
+   if (!mTimeTrack) {
+      mTimeTrack = new TimeTrack(p->GetDirManager());
+      if (!mTimeTrack) {
+         return;
+      }
+   }
+
    // Pop up the button
    SetButton(false, mButtons[TTB_PlaySpeed]); 
 
@@ -370,15 +404,9 @@ void TranscriptionToolBar::OnPlaySpeed(wxCommandEvent & event)
       p->GetControlToolBar()->StopPlaying();
    }
 
-   // Can't do anything without a time track
-   // TODO: Yikes - Bad coding style.
-   // A new time track will be created each time we
-   // play-at-speed.
-   TimeTrack *tt = new TimeTrack(p->GetDirManager());
-
    // Set the speed range
-   tt->SetRangeUpper((long int)mPlaySpeed);
-   tt->SetRangeLower((long int)mPlaySpeed);
+   mTimeTrack->SetRangeUpper((long int)mPlaySpeed);
+   mTimeTrack->SetRangeLower((long int)mPlaySpeed);
 
    // Get the current play region
    double playRegionStart, playRegionEnd;
@@ -392,7 +420,7 @@ void TranscriptionToolBar::OnPlaySpeed(wxCommandEvent & event)
                                              playRegionEnd,
                                              false,
                                              false,
-                                             tt);
+                                             mTimeTrack);
    }
 }
 
@@ -840,6 +868,34 @@ void TranscriptionToolBar::SetKeyType(wxCommandEvent & event)
 
 }
 
+void TranscriptionToolBar::PlayAtSpeed()
+{
+   wxCommandEvent e;
+   OnPlaySpeed(e);
+}
+
+void TranscriptionToolBar::ShowPlaySpeedDialog()
+{
+   mPlaySpeedSlider->ShowDialog();
+   mPlaySpeedSlider->Refresh();
+   wxCommandEvent e;
+   OnSpeedSlider(e);
+}
+
+void TranscriptionToolBar::AdjustPlaySpeed(float adj)
+{
+   if (adj < 0) {
+      mPlaySpeedSlider->Decrease(-adj);
+   }
+   else {
+      mPlaySpeedSlider->Increase(adj);
+   }
+   wxCommandEvent e;
+   OnSpeedSlider(e);
+}
+
+
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/toolbars/TranscriptionToolBar.h b/src/toolbars/TranscriptionToolBar.h
index 4572c2c..f98a049 100644
--- a/src/toolbars/TranscriptionToolBar.h
+++ b/src/toolbars/TranscriptionToolBar.h
@@ -84,6 +84,7 @@ class TranscriptionToolBar:public ToolBar {
    virtual void Populate();
    virtual void Repaint(wxDC *dc) {};
    virtual void EnableDisableButtons();
+   virtual void UpdatePrefs();
 
    void OnFocus(wxFocusEvent &event);
    void OnCaptureKey(wxCommandEvent &event);
@@ -91,15 +92,20 @@ class TranscriptionToolBar:public ToolBar {
    virtual double GetSensitivity();
    virtual void SetKeyType(wxCommandEvent & event);
 
+   void PlayAtSpeed();
+   void ShowPlaySpeedDialog();
+   void AdjustPlaySpeed(float adj);
+
  private:
 
    void InitializeTranscriptionToolBar();
    AButton *AddButton(
       teBmps eFore, teBmps eDisabled,
       int id,
-      const wxChar *label, const wxChar *tip);
+      const wxChar *label);
    void GetSamples(WaveTrack *t, sampleCount *s0, sampleCount *slen);
    void SetButton(bool newstate, AButton *button);
+   void RegenerateTooltips();
    
    AButton *mButtons[TTBNumButtons];
    wxImage *upImage;
diff --git a/src/widgets/AButton.cpp b/src/widgets/AButton.cpp
index c2e69ca..24df395 100644
--- a/src/widgets/AButton.cpp
+++ b/src/widgets/AButton.cpp
@@ -261,7 +261,6 @@ void AButton::OnMouseEvent(wxMouseEvent & event)
 
    if (mEnabled && event.IsButton()) {
       if (event.ButtonIsDown(wxMOUSE_BTN_ANY)) {
-         SetFocus();
          mIsClicking = true;
          CaptureMouse();
       }
@@ -272,8 +271,6 @@ void AButton::OnMouseEvent(wxMouseEvent & event)
             ReleaseMouse();
 
          if (mCursorIsInWindow && (mToggle || !mButtonIsDown)) {
-            SetFocus();
-               
             if (mToggle)
                mButtonIsDown = !mButtonIsDown;
             else
diff --git a/src/widgets/AButton.h b/src/widgets/AButton.h
index f6e26df..e6fbe96 100644
--- a/src/widgets/AButton.h
+++ b/src/widgets/AButton.h
@@ -13,9 +13,6 @@
 #define __AUDACITY_BUTTON__
 
 #if wxUSE_ACCESSIBILITY
-#if defined(__WXMSW__)
-#include <oleacc.h>
-#endif
 #include <wx/access.h>
 #endif
 
diff --git a/src/widgets/ASlider.cpp b/src/widgets/ASlider.cpp
index 2538fb3..34076f7 100644
--- a/src/widgets/ASlider.cpp
+++ b/src/widgets/ASlider.cpp
@@ -19,7 +19,7 @@ the thumb.
 
 \class LWSlider
 \brief Lightweight version of ASlider.  In other words it does not 
-have a window permanaently associated with it.
+have a window permanently associated with it.
 
 *//****************************************************************//**
 
@@ -89,6 +89,9 @@ of an LWSlider or ASlider.
 //#include "../../images/SliderThumb.xpm"
 //#include "../../images/SliderThumbAlpha.xpm"
 
+#include "../../images/SliderThumb_Vertical.xpm"
+
+
 #if defined __WXMSW__
 const int sliderFontSize = 10;
 #else
@@ -263,35 +266,36 @@ SliderDialog::SliderDialog(wxWindow * parent, wxWindowID id,
                            wxPoint position,
                            wxSize size,
                            int style, 
-                           float value):
+                           float value,
+                           float line,
+                           float page):
    wxDialog(parent,id,title,position),
    mStyle(style)
 {
-   //Use a vertical sizer
-   wxBoxSizer * vs = new wxBoxSizer(wxVERTICAL);
-
-   //Add the text
-   mTextCtrl = new wxTextCtrl(this,
-                              SLIDER_DIALOG_TEXTCTRL,
-                              wxT(""),
-                              wxDefaultPosition,
-                              wxDefaultSize,
-                              0,
-                              wxTextValidator(wxFILTER_NUMERIC));
-   vs->Add(mTextCtrl,0,wxEXPAND|wxALL,5);
-
-   //Add a slider 
-   mSlider = new ASlider(this,wxID_ANY,title,wxDefaultPosition,size,style,false);
-   vs->Add(mSlider, 0, wxEXPAND | wxLEFT | wxRIGHT, 5 );
+   ShuttleGui S(this, eIsCreating);
    
-   //Create buttons 
-   vs->Add(CreateStdButtonSizer(this, eCancelButton|eOkButton), 0, wxEXPAND);
-      
-   //lay it out
-   SetSizerAndFit(vs);
+   S.StartVerticalLay();
+   {
+      mTextCtrl = S.AddTextBox(wxEmptyString,
+                               wxEmptyString,
+                               15);
+      mTextCtrl->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
+
+      mSlider = new ASlider(this,
+                            wxID_ANY,
+                            title,
+                            wxDefaultPosition,
+                            size,
+                            style,
+                            false);
+      mSlider->SetScroll(line, page);
+      S.AddWindow(mSlider, wxEXPAND);
+   }
+   S.EndVerticalLay();
+   
+   S.AddStandardButtons(eOkButton | eCancelButton);
 
-   mTextCtrl->SetSelection(-1,-1);
-   mTextCtrl->SetFocus();
+   Fit();
 
    mSlider->Set(value);
 }
@@ -303,6 +307,7 @@ SliderDialog::~SliderDialog()
 bool SliderDialog::TransferDataToWindow()
 {
    mTextCtrl->SetValue(wxString::Format(wxT("%g"), mSlider->Get(false)));
+   mTextCtrl->SetSelection(-1, -1);
 
    return true;
 }
@@ -337,20 +342,20 @@ float SliderDialog::Get()
 
 // Construct customizable slider
 LWSlider::LWSlider(wxWindow * parent,
-         wxString name,
-         const wxPoint &pos,
-         const wxSize &size,
-         float minValue,
-         float maxValue,
-         float stepValue,
-         bool canUseShift,
-         int style,
-         bool heavyweight /* = false */,
-         bool popup /* = true */
-         )
+                     wxString name,
+                     const wxPoint &pos,
+                     const wxSize &size,
+                     float minValue,
+                     float maxValue,
+                     float stepValue,
+                     bool canUseShift,
+                     int style,
+                     bool heavyweight /* = false */,
+                     bool popup /* = true */,
+                     int orientation /* = wxHORIZONTAL */) // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER.
 {
    Init(parent, name, pos, size, minValue, maxValue,
-        stepValue, canUseShift, style, heavyweight, popup, 1.0);
+        stepValue, canUseShift, style, heavyweight, popup, 1.0, orientation);
 }
 
 // Construct predefined slider
@@ -360,7 +365,8 @@ LWSlider::LWSlider(wxWindow *parent,
                    const wxSize &size,
                    int style,
                    bool heavyweight /* = false */,
-                   bool popup /* = true */)
+                   bool popup /* = true */,
+                   int orientation /* = wxHORIZONTAL */) // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER. 
 {
    wxString leftLabel, rightLabel;
    float minValue, maxValue, stepValue;
@@ -372,10 +378,14 @@ LWSlider::LWSlider(wxWindow *parent,
       minValue = -1.0f;
       maxValue = +1.0f;
       stepValue = 0.1f;
+      orientation = wxHORIZONTAL; //v Vertical PAN_SLIDER currently not handled, forced to horizontal.
       break;
    case DB_SLIDER:
       minValue = -36.0f;
-      maxValue = 36.0f;
+      if (orientation == wxHORIZONTAL)
+         maxValue = 36.0f;
+      else 
+         maxValue = 6.0f; // for MixerBoard
       stepValue = 1.0f;
       speed = 0.5;
       break;
@@ -398,7 +408,7 @@ LWSlider::LWSlider(wxWindow *parent,
    }
 
    Init(parent, name, pos, size, minValue, maxValue, stepValue,
-        true, style, heavyweight, popup, speed);
+        true, style, heavyweight, popup, speed, orientation);
 }
 
 void LWSlider::Init(wxWindow * parent,
@@ -412,11 +422,12 @@ void LWSlider::Init(wxWindow * parent,
                     int style,
                     bool heavyweight,
                     bool popup,
-                    float speed
-     )
+                    float speed, 
+                    int orientation /* = wxHORIZONTAL */) // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER. 
 {
    mName = name;
    mStyle = style;
+   mOrientation = orientation;
    mIsDragging = false;
    mWidth = size.x;
    mHeight = size.y;
@@ -430,17 +441,24 @@ void LWSlider::Init(wxWindow * parent,
    mStepValue = stepValue;
    mCanUseShift = canUseShift;
    mCurrentValue = 0.0f;
+   mDefaultValue = 0.0f;
+   mDefaultShortcut = false;
    mBitmap = NULL;
+   mScrollLine = 1.0f;
+   mScrollPage = 5.0f;
 
-   // Get the Thumb bitmap.  Generic version fo rnow...
-//#ifdef USE_AQUA
-//   mThumbBitmap = &theTheme.Bitmap( bmpMacSliderThumb );
-//#else
-   mThumbBitmap = &theTheme.Bitmap( bmpSliderThumb );
-//#endif
+   // Get the Thumb bitmap.  Generic version for now...
+   if (mOrientation == wxHORIZONTAL)
+      mThumbBitmap = &theTheme.Bitmap( bmpSliderThumb );
+   else
+   //vvvvv \todo Convert this to an image in AllThemeResources, as bmpSliderThumb.
+   {
+      wxImage thumbImage(wxBitmap(SliderThumb_Vertical).ConvertToImage());
+      mThumbBitmap = new wxBitmap(thumbImage);
+   }
 
-//   mThumbBitmap = new wxBitmap( SliderThumb );
-//   mThumbBitmap->SetMask( new wxMask( wxBitmap( SliderThumbAlpha ), *wxBLACK ) );
+   //   mThumbBitmap = new wxBitmap( SliderThumb );
+   //   mThumbBitmap->SetMask( new wxMask( wxBitmap( SliderThumbAlpha ), *wxBLACK ) );
 
    Draw();
 
@@ -452,7 +470,9 @@ void LWSlider::Init(wxWindow * parent,
 LWSlider::~LWSlider()
 {
    delete mBitmap;
-//   delete mThumbBitmap;
+   if (mOrientation == wxVERTICAL && mThumbBitmap) {
+      delete mThumbBitmap;
+   }
    delete mPopWin;
 }
 
@@ -466,6 +486,29 @@ void LWSlider::SetId(wxWindowID id)
    mID = id;
 }
 
+void LWSlider::SetDefaultValue(float value)
+{
+   SetDefaultShortcut(true);
+   mDefaultValue = value;
+}
+
+void LWSlider::SetDefaultShortcut(bool value)
+{
+   mDefaultShortcut = value; 
+}
+
+void LWSlider::GetScroll(float & line, float & page)
+{
+   line = mScrollLine;
+   page = mScrollPage;
+}
+
+void LWSlider::SetScroll(float line, float page)
+{
+   mScrollLine = line;
+   mScrollPage = page;
+}
+
 wxWindow* LWSlider::GetToolTipParent() const
 {
    wxWindow *top = mParent;
@@ -492,7 +535,11 @@ void LWSlider::CreatePopWin()
 
 void LWSlider::SetPopWinPosition()
 {
-   wxPoint pt(mWidth/2 + mLeft, mHeight + mTop + 1);
+   wxPoint pt;
+   if (mOrientation == wxHORIZONTAL)
+      pt = wxPoint(mWidth/2 + mLeft, mHeight + mTop + 1);
+   else
+      pt = wxPoint(mWidth + mLeft + 1, mHeight/2 + mTop);
    pt = mParent->ClientToScreen(pt);
 
 #if !defined(__WXMAC__)
@@ -521,7 +568,11 @@ void LWSlider::OnPaint(wxDC &dc, bool selected)
 {
    //thumbPos should be in pixels
    int thumbPos = ValueToPosition(mCurrentValue);
-   int thumbY = mCenterY - (mThumbHeight/2);
+   int thumbOrtho; // position in axis orthogonal to mOrientation
+   if (mOrientation == wxHORIZONTAL)
+      thumbOrtho = mCenterY - (mThumbHeight/2);
+   else
+      thumbOrtho = mCenterX - (mThumbWidth/2);
 
 #if defined(__WXMSW__)
    if( mHW )
@@ -531,7 +582,10 @@ void LWSlider::OnPaint(wxDC &dc, bool selected)
 #endif
 
    dc.DrawBitmap(*mBitmap, mLeft, mTop, true);
-   dc.DrawBitmap(*mThumbBitmap, mLeft+thumbPos, mTop+thumbY, true);
+   if (mOrientation == wxHORIZONTAL)
+      dc.DrawBitmap(*mThumbBitmap, mLeft+thumbPos, mTop+thumbOrtho, true);
+   else
+      dc.DrawBitmap(*mThumbBitmap, mLeft+thumbOrtho, mTop+thumbPos, true);
 
    if (mPopWin)
       mPopWin->Refresh();
@@ -555,13 +609,26 @@ void LWSlider::Draw()
       mBitmap = NULL;
    }
 
-   mCenterY = mHeight - 9;
+   if (mOrientation == wxHORIZONTAL)
+      mCenterY = mHeight - 9;
+   else
+      mCenterX = mWidth - 9; 
+
    mThumbWidth = mThumbBitmap->GetWidth();
    mThumbHeight = mThumbBitmap->GetHeight();
 
-   mLeftX = mThumbWidth/2;
-   mRightX = mWidth - mThumbWidth/2 - 1;
-   mWidthX = mRightX - mLeftX;
+   if (mOrientation == wxHORIZONTAL)
+   {
+      mLeftX = mThumbWidth/2;
+      mRightX = mWidth - mThumbWidth/2 - 1;
+      mWidthX = mRightX - mLeftX;
+   }
+   else
+   {
+      mTopY = mThumbWidth/2;
+      mBottomY = mHeight - mThumbWidth/2 - 1; 
+      mHeightY = mBottomY - mTopY;
+   }
 
    wxMemoryDC *dc = new wxMemoryDC();
    mBitmap = new wxBitmap(mWidth, mHeight);
@@ -583,11 +650,13 @@ void LWSlider::Draw()
    dc->Clear();
 
    AColor::Dark(dc, false);
-   dc->DrawLine(mLeftX, mCenterY+1, mRightX+2, mCenterY+1);
+   AColor::Line(*dc, mLeftX, mCenterY+1, mRightX+2, mCenterY+1);
 
    // Draw +/- or L/R first.  We need to draw these before the tick marks.
    if (mStyle == PAN_SLIDER)
    {
+      //v Vertical PAN_SLIDER currently not handled, forced to horizontal.
+
       // sliderFontSize is for the tooltip.
       // we need something smaller here...
       wxFont labelFont(sliderFontSize-3, wxSWISS, wxNORMAL, wxNORMAL);
@@ -622,24 +691,49 @@ void LWSlider::Draw()
 #else
       dc->SetPen(*wxBLACK_PEN);
 #endif
-      dc->DrawLine(mLeftX, mCenterY-10, mLeftX+5, mCenterY-10);
-      dc->DrawLine(mRightX-5, mCenterY-10, mRightX, mCenterY-10);
-      dc->DrawLine(mRightX-3, mCenterY-12, mRightX-3, mCenterY-7);
+      if (mOrientation == wxHORIZONTAL)
+      {
+         AColor::Line(*dc, mLeftX, mCenterY-10, mLeftX+4, mCenterY-10);
+         AColor::Line(*dc, mRightX-5, mCenterY-10, mRightX-1, mCenterY-10);
+         AColor::Line(*dc, mRightX-3, mCenterY-12, mRightX-3, mCenterY-8);
+      }
+      else
+      {
+         AColor::Line(*dc, mCenterX-12, mBottomY-3,  mCenterX-8, mBottomY-3);
+         AColor::Line(*dc, mCenterX-12, mTopY+3,     mCenterX-8, mTopY+3);
+         AColor::Line(*dc, mCenterX-10, mTopY,       mCenterX-10, mTopY+5);
+      }
    }
 
-
+   // tick marks
    int divs = 10;
-   double upp = divs / (double)(mWidthX-1);
-   double d = 0;
+   double upp;
+   if (mOrientation == wxHORIZONTAL) 
+      upp = divs / (double)(mWidthX-1);
+   else 
+   {
+      if (mStyle == DB_SLIDER)
+         divs = (int)(mMaxValue - mMinValue);
+      upp = divs / (double)(mHeightY-1);
+   }
+   double d = 0.0;
    int int_d = -1;
-   for(int p=0; p<=mWidthX; p++) {
+   const int kMax = (mOrientation == wxHORIZONTAL) ? mWidthX : mHeightY;
+   for(int p = 0; p <= kMax; p++) {
       if (((int)d) > int_d) {
          int_d = (int)d;
-         int ht = (int_d==0 || int_d==divs? 5: 3);
+         int tickLength = ((int_d == 0) || (int_d == divs)) ? 5: 3; // longer ticks at extremes
          AColor::Light(dc, false);
-         dc->DrawLine(mLeftX+p, mCenterY-ht, mLeftX+p, mCenterY);
+         if (mOrientation == wxHORIZONTAL)
+            AColor::Line(*dc, mLeftX+p, mCenterY-tickLength, mLeftX+p, mCenterY-1); // ticks above
+         else
+            AColor::Line(*dc, mCenterX-tickLength, mTopY+p, mCenterX-1, mTopY+p); // ticks at left
+
          AColor::Dark(dc, false);
-         dc->DrawLine(mLeftX+p+1, mCenterY-ht+1, mLeftX+p+1, mCenterY);
+         if (mOrientation == wxHORIZONTAL)
+            AColor::Line(*dc, mLeftX+p+1, mCenterY-tickLength+1, mLeftX+p+1, mCenterY-1); // ticks above
+         else
+            AColor::Line(*dc, mCenterX-tickLength+1, mTopY+p+1, mCenterX-1, mTopY+p+1); // ticks at left
       }
       d += upp;
    }
@@ -699,23 +793,32 @@ bool LWSlider::ShowDialog()
    return DoShowDialog( mParent->ClientToScreen(wxPoint( mLeft, mTop ) ) );
 }
 
+bool LWSlider::ShowDialog(wxPoint pos)
+{
+   return DoShowDialog( pos );
+}
+
 bool LWSlider::DoShowDialog(wxPoint pos)
 {
    float value;
    bool changed = false;
 
-   SliderDialog * dialog =
-      new SliderDialog( mParent,
-                        wxID_ANY,
-                        mName,
-                        pos,
-                        wxSize( mWidth, mHeight ),
-                        mStyle,
-                        Get());
+   SliderDialog dlg( NULL,
+                     wxID_ANY,
+                     mName,
+                     pos,
+                     wxSize( mWidth, mHeight ),
+                     mStyle,
+                     Get(),
+                     mScrollLine,
+                     mScrollPage);
+   if (pos == wxPoint(-1, -1)) {
+      dlg.Center();
+   }
 
-   if( dialog->ShowModal() == wxID_OK )
+   if( dlg.ShowModal() == wxID_OK )
    {
-      value = dialog->Get();
+      value = dlg.Get();
       if( value != mCurrentValue )
       {
          mCurrentValue = value;
@@ -723,26 +826,23 @@ bool LWSlider::DoShowDialog(wxPoint pos)
       }
    }
 
-   dialog->Destroy();
-
    return changed;
 }
 
 void LWSlider::OnMouseEvent(wxMouseEvent & event)
 {
-   if( event.Entering() )
-   {
-#if wxUSE_TOOLTIPS // Not available in wxX11
+   if (event.Entering()) {
+      #if wxUSE_TOOLTIPS // Not available in wxX11
       // Display the tooltip in the status bar
-      if( mParent->GetToolTip() )
+      if (mParent->GetToolTip()) 
       {
          wxString tip = mParent->GetToolTip()->GetTip();
          GetActiveProject()->TP_DisplayStatusMessage(tip);
          Refresh();
       }
-#endif
+      #endif
    }
-   else if( event.Leaving() )
+   else if (event.Leaving())
    {
       GetActiveProject()->TP_DisplayStatusMessage(wxT(""));
       Refresh();
@@ -752,8 +852,16 @@ void LWSlider::OnMouseEvent(wxMouseEvent & event)
 
    // Figure out the thumb position
    wxRect r;
-   r.x = mLeft + ValueToPosition(mCurrentValue);
-   r.y = mTop + (mCenterY - (mThumbHeight / 2));
+   if (mOrientation == wxHORIZONTAL)
+   {
+      r.x = mLeft + ValueToPosition(mCurrentValue);
+      r.y = mTop + (mCenterY - (mThumbHeight / 2));
+   }
+   else 
+   {
+      r.x = mLeft + (mCenterX - (mThumbWidth / 2));
+      r.y = mTop + ValueToPosition(mCurrentValue);
+   }
    r.width = mThumbWidth;
    r.height = mThumbHeight;
 
@@ -768,7 +876,14 @@ void LWSlider::OnMouseEvent(wxMouseEvent & event)
    }
    else if( event.ButtonDown() )
    {
-      mParent->SetFocus();
+      if( mDefaultShortcut && event.CmdDown() )
+      {
+         mCurrentValue = mDefaultValue;
+      }
+
+      if( event.RightDown() ) {
+         mParent->SetFocus();
+      }
 
       // Thumb clicked?
       //
@@ -777,7 +892,7 @@ void LWSlider::OnMouseEvent(wxMouseEvent & event)
       if( tolerantThumbRect.Contains( event.GetPosition() ) )
       {
          // Remember mouse position and current value
-         mClickX = event.m_x;
+         mClickPos = (mOrientation == wxHORIZONTAL) ? event.m_x : event.m_y;
          mClickValue = mCurrentValue;
 
          mIsDragging = true;
@@ -785,10 +900,14 @@ void LWSlider::OnMouseEvent(wxMouseEvent & event)
       // Clicked to set location?
       else
       {
-         mCurrentValue = ClickPositionToValue(event.m_x, event.ShiftDown());
+         mCurrentValue = 
+            ClickPositionToValue(
+               (mOrientation == wxHORIZONTAL) ? event.m_x : event.m_y, 
+               event.ShiftDown());
       }
 
       mParent->CaptureMouse();
+      // wxSetCursor(wxCURSOR_BLANK);
 
       FormatPopWin();
       SetPopWinPosition();
@@ -801,19 +920,37 @@ void LWSlider::OnMouseEvent(wxMouseEvent & event)
          mParent->ReleaseMouse();
       mPopWin->Hide();
       ((TipPanel *)mPopWin)->SetPos(wxPoint(-1000, -1000));
+      // wxSetCursor(wxNullCursor);
    }
-   else if( event.Dragging() && mIsDragging )
+   else if (event.Dragging() && mIsDragging)
    {
-      if (event.m_y < (r.y - 2 * r.height) ||
-          event.m_y > (r.y + 3 * r.height)) {
-         // If the mouse y coordinate is relatively far from the slider,
-         // snap back to the original position
-         mCurrentValue = mClickValue;
+      if (mOrientation == wxHORIZONTAL)
+      {
+         if (event.m_y < (r.y - 2 * r.height) ||
+             event.m_y > (r.y + 3 * r.height)) {
+            // If the mouse y coordinate is relatively far from the slider,
+            // snap back to the original position
+            mCurrentValue = mClickValue;
+         }
+         else {
+            // Otherwise, move the slider to the right position based
+            // on the mouse position
+            mCurrentValue = DragPositionToValue(event.m_x, event.ShiftDown());
+         }
       }
-      else {
-         // Otherwise, move the slider to the right position based
-         // on the mouse position
-         mCurrentValue = DragPositionToValue(event.m_x, event.ShiftDown());
+      else // (mOrientation == wxVERTICAL)
+      {
+         if (event.m_x < (r.x - 2 * r.width) ||
+             event.m_x > (r.x + 3 * r.width)) {
+            // If the mouse x coordinate is relatively far from the slider,
+            // snap back to the original position
+            mCurrentValue = mClickValue;
+         }
+         else {
+            // Otherwise, move the slider to the right position based
+            // on the mouse position
+            mCurrentValue = DragPositionToValue(event.m_y, event.ShiftDown());
+         }
       }
    }
    else if( event.m_wheelRotation != 0 )
@@ -845,13 +982,13 @@ void LWSlider::OnKeyEvent(wxKeyEvent & event)
    {
       case WXK_RIGHT:
       case WXK_UP:
-         Increase( 1 );
+         Increase( mScrollLine );
          SendUpdate( mCurrentValue );
       break;
 
       case WXK_LEFT:
       case WXK_DOWN:
-         Decrease( 1 );
+         Decrease( mScrollLine );
          SendUpdate( mCurrentValue );
       break;
 
@@ -859,7 +996,7 @@ void LWSlider::OnKeyEvent(wxKeyEvent & event)
 #if !wxCHECK_VERSION(2,7,0)
       case WXK_PRIOR:
 #endif
-         Increase( 5 );
+         Increase( mScrollPage );
          SendUpdate( mCurrentValue );
       break;
 
@@ -867,7 +1004,7 @@ void LWSlider::OnKeyEvent(wxKeyEvent & event)
 #if !wxCHECK_VERSION(2,7,0)
       case WXK_NEXT:
 #endif
-         Decrease( 5 );
+         Decrease( mScrollPage );
          SendUpdate( mCurrentValue );
       break;
 
@@ -927,7 +1064,12 @@ void LWSlider::SendUpdate( float newValue )
 
 int LWSlider::ValueToPosition(float val)
 {
-   return (int)rint((val - mMinValue) * mWidthX / (mMaxValue - mMinValue));
+   float fRange = mMaxValue - mMinValue;
+   if (mOrientation == wxHORIZONTAL)
+      return (int)rint((val - mMinValue) * mWidthX / fRange);
+   else
+      // low values at bottom 
+      return (int)rint((mMaxValue - val) * mHeightY / fRange);
 }
 
 void LWSlider::SetSpeed(float speed)
@@ -935,18 +1077,32 @@ void LWSlider::SetSpeed(float speed)
    mSpeed = speed;
 }
 
-// Given the mouse x coordinate in xPos, compute the new value
+// Given the mouse slider coordinate in fromPos, compute the new value
 // of the slider when clicking to set a new position.
-float LWSlider::ClickPositionToValue(int xPos, bool shiftDown)
+float LWSlider::ClickPositionToValue(int fromPos, bool shiftDown)
 {
-   int pos = (xPos - mLeft - (mThumbWidth / 2));
+   int nSpan;
+   int pos;
+   if (mOrientation == wxHORIZONTAL)
+   {
+      pos = (fromPos - mLeft - (mThumbWidth / 2));
+      nSpan = mWidthX;
+   }
+   else
+   {
+      // wxVERTICAL => Low values at bottom.
+      pos = mBottomY - fromPos;
+      nSpan = mHeightY;
+   }
 
+   // MM: Special cases: If position is at the very left or the
+   // very right (or top/bottom for wxVERTICAL), set minimum/maximum value without other checks
    if (pos <= 0)
       return mMinValue;
-   if (pos >= mWidthX)
+   if (pos >= nSpan)
       return mMaxValue;
 
-   float val = (pos / (float)mWidthX)
+   float val = (pos / (float)nSpan)
       * (mMaxValue - mMinValue) + mMinValue;
 
    if (val < mMinValue)
@@ -965,13 +1121,21 @@ float LWSlider::ClickPositionToValue(int xPos, bool shiftDown)
    return val;
 }
 
-// Given the mouse x coordinate in xPos, compute the new value
+// Given the mouse slider coordinate in fromPos, compute the new value
 // of the slider during a drag.
-float LWSlider::DragPositionToValue(int xPos, bool shiftDown)
+float LWSlider::DragPositionToValue(int fromPos, bool shiftDown)
 {
-   int delta = (xPos - mClickX);
+   int delta = (fromPos - mClickPos);
+   
+   float speed = mSpeed;
+   // Precision enhancement for Shift drags
+   if (mCanUseShift && shiftDown)
+      speed *= 0.4f;
+
+   // wxVERTICAL => Low values at bottom, so throw in the minus sign here with -mHeightY.
+   float denominator = (mOrientation == wxHORIZONTAL) ? mWidthX : -mHeightY; 
    float val = mClickValue +
-      mSpeed * (delta / (float)mWidthX) * (mMaxValue - mMinValue);
+      speed * (delta / denominator) * (mMaxValue - mMinValue);
 
    if (val < mMinValue)
       val = mMinValue;
@@ -981,8 +1145,8 @@ float LWSlider::DragPositionToValue(int xPos, bool shiftDown)
    if (!(mCanUseShift && shiftDown) && mStepValue != STEP_CONTINUOUS)
    {
       // MM: If shift is not down, or we don't allow usage
-      // of shift key at all, trim value to steps of
-      // provided size.
+      // of shift key at all, and the slider has not continuous values,
+      // trim value to steps of provided size.
       val = (int)(val / mStepValue + 0.5 * (val>0?1.0f:-1.0f)) * mStepValue;
    }
 
@@ -999,7 +1163,7 @@ float LWSlider::Get( bool convert )
 
 void LWSlider::Set(float value)
 {
-   if(mIsDragging)
+   if (mIsDragging)
       return;
    if (mStyle == DB_SLIDER)
       mCurrentValue = 20.0f*log10(value);
@@ -1014,22 +1178,22 @@ void LWSlider::Set(float value)
    Refresh();
 }
 
-void LWSlider::Increase(int steps)
+void LWSlider::Increase(float steps)
 {
    float stepValue = mStepValue;
 
-   if( stepValue == 0.0 )
+   if ( stepValue == 0.0 )
    {
       stepValue = ( mMaxValue - mMinValue ) / 10.0;
    }
 
    mCurrentValue += ( steps * stepValue );
 
-   if( mCurrentValue < mMinValue )
+   if ( mCurrentValue < mMinValue )
    {
       mCurrentValue = mMinValue;
    }
-   else if( mCurrentValue > mMaxValue )
+   else if ( mCurrentValue > mMaxValue )
    {
       mCurrentValue = mMaxValue;
    }
@@ -1037,22 +1201,22 @@ void LWSlider::Increase(int steps)
    Refresh();
 }
 
-void LWSlider::Decrease(int steps)
+void LWSlider::Decrease(float steps)
 {
-   float stepValue  = mStepValue;
+   float stepValue = mStepValue;
 
-   if( stepValue == 0.0 )
+   if ( stepValue == 0.0 )
    {
       stepValue = ( mMaxValue - mMinValue ) / 10.0;
    }
 
    mCurrentValue -= ( steps * stepValue );
 
-   if( mCurrentValue < mMinValue )
+   if ( mCurrentValue < mMinValue )
    {
       mCurrentValue = mMinValue;
    }
-   else if( mCurrentValue > mMaxValue )
+   else if ( mCurrentValue > mMaxValue )
    {
       mCurrentValue = mMaxValue;
    }
@@ -1090,8 +1254,9 @@ ASlider::ASlider( wxWindow * parent,
                   int style,
                   bool popup,
                   bool canUseShift,
-                  float stepValue ):
-   wxPanel( parent, id, pos, size, wxWANTS_CHARS )
+                  float stepValue, 
+                  int orientation /*= wxHORIZONTAL*/) 
+: wxPanel( parent, id, pos, size, wxWANTS_CHARS )
 {
    mLWSlider = new LWSlider( this,
                              name,
@@ -1099,7 +1264,8 @@ ASlider::ASlider( wxWindow * parent,
                              size,
                              style,
                              canUseShift,
-                             popup );
+                             popup, 
+                             orientation);
    mLWSlider->mStepValue = stepValue;
    mLWSlider->SetId( id );
    SetName( name );
@@ -1120,7 +1286,7 @@ ASlider::~ASlider()
 void ASlider::OnSlider(wxCommandEvent &event)
 {
 
-   if( event.GetId() == mLWSlider->GetId() )
+   if ( event.GetId() == mLWSlider->GetId() )
    {
 #if wxUSE_ACCESSIBILITY
       GetAccessible()->NotifyEvent( wxACC_EVENT_OBJECT_VALUECHANGE,
@@ -1154,7 +1320,7 @@ void ASlider::OnPaint(wxPaintEvent &event)
 
    mLWSlider->OnPaint(dc, false);
 
-   if( mSliderIsFocused )
+   if ( mSliderIsFocused )
    {
       wxRect r( 0, 0, mLWSlider->mWidth, mLWSlider->mHeight );
 
@@ -1197,6 +1363,16 @@ void ASlider::RecreateTipWin()
    mLWSlider->RecreateTipWin();
 }
 
+void ASlider::GetScroll(float & line, float & page)
+{
+   mLWSlider->GetScroll(line, page);
+}
+
+void ASlider::SetScroll(float line, float page)
+{
+   mLWSlider->SetScroll(line, page);
+}
+
 float ASlider::Get( bool convert )
 {
    return mLWSlider->Get( convert );
@@ -1207,16 +1383,21 @@ void ASlider::Set(float value)
    mLWSlider->Set(value);
 }
 
-void ASlider::Increase(int steps)
+void ASlider::Increase(float steps)
 {
    mLWSlider->Increase(steps);
 }
 
-void ASlider::Decrease(int steps)
+void ASlider::Decrease(float steps)
 {
    mLWSlider->Decrease(steps);
 }
 
+bool ASlider::ShowDialog(wxPoint pos)
+{
+   return mLWSlider->ShowDialog(pos);
+}
+
 void ASlider::SetSpeed(float speed)
 {
    mLWSlider->SetSpeed(speed);
@@ -1224,7 +1405,7 @@ void ASlider::SetSpeed(float speed)
 
 #if wxUSE_ACCESSIBILITY
 
-ASliderAx::ASliderAx( wxWindow * window ):
+ASliderAx::ASliderAx( wxWindow * window ) : 
    wxWindowAccessible( window )
 {
 }
@@ -1237,7 +1418,7 @@ ASliderAx::~ASliderAx()
 // All objects must support this property.
 wxAccStatus ASliderAx::GetChild( int childId, wxAccessible** child )
 {
-   if( childId == wxACC_SELF )
+   if ( childId == wxACC_SELF )
    {
       *child = this;
    }
@@ -1376,14 +1557,14 @@ wxAccStatus ASliderAx::GetState(int childId, long* state)
       break;
 
       case 1:
-         if( as->mLWSlider->mCurrentValue == as->mLWSlider->mMinValue )
+         if ( as->mLWSlider->mCurrentValue == as->mLWSlider->mMinValue )
          {
             *state = wxACC_STATE_SYSTEM_INVISIBLE;
          }
       break;
 
       case 3:
-         if( as->mLWSlider->mCurrentValue == as->mLWSlider->mMaxValue )
+         if ( as->mLWSlider->mCurrentValue == as->mLWSlider->mMaxValue )
          {
             *state = wxACC_STATE_SYSTEM_INVISIBLE;
          }
@@ -1403,7 +1584,7 @@ wxAccStatus ASliderAx::GetValue(int childId, wxString* strValue)
 {
    ASlider *as = wxDynamicCast( GetWindow(), ASlider );
 
-   if( childId == 0 )
+   if ( childId == 0 )
    {
       switch( as->mLWSlider->mStyle )
       {
diff --git a/src/widgets/ASlider.h b/src/widgets/ASlider.h
index d6713ba..ce3d469 100644
--- a/src/widgets/ASlider.h
+++ b/src/widgets/ASlider.h
@@ -19,13 +19,11 @@
 #include <wx/panel.h>
 
 #if wxUSE_ACCESSIBILITY
-#if defined(__WXMSW__)
-#include <oleacc.h>
-#endif
 #include <wx/access.h>
 #endif
 
 class wxBitmap;
+class wxCursor;
 class wxImage;
 class wxSize;
 class wxPoint;
@@ -33,7 +31,7 @@ class wxTextCtrl;
 class wxButton;
 
 //
-// Predefined slider types
+// Predefined slider types (mStyle)
 //
 #define FRAC_SLIDER 1    // 0.0...1.0
 #define DB_SLIDER 2      // -36...36 dB
@@ -52,6 +50,7 @@ class wxButton;
 // window (used inside Track Labels).  The ASlider class,
 // which uses this class, is below.
 //
+
 class LWSlider
 {
    friend class ASlider;
@@ -61,17 +60,17 @@ class LWSlider
 
    // MM: Construct customizable slider
    LWSlider(wxWindow * parent,
-       wxString name,
-       const wxPoint &pos,
-       const wxSize &size,
-       float minValue,
-       float maxValue,
-       float stepValue,
-       bool canUseShift,
-       int style,
-       bool heavyweight=false,
-       bool popup=true
-       );
+            wxString name,
+            const wxPoint &pos,
+            const wxSize &size,
+            float minValue,
+            float maxValue,
+            float stepValue,
+            bool canUseShift,
+            int style,
+            bool heavyweight=false,
+            bool popup=true, 
+            int orientation = wxHORIZONTAL); // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER.
     
    // Construct predefined slider
    LWSlider(wxWindow * parent,
@@ -80,7 +79,8 @@ class LWSlider
             const wxSize &size,
             int style,
             bool heavyweight=false,
-            bool popup=true);
+            bool popup=true, 
+            int orientation = wxHORIZONTAL); // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER.
 
    void Init(wxWindow * parent,
              wxString name,
@@ -93,19 +93,25 @@ class LWSlider
              int style,
              bool heavyweight,
              bool popup,
-             float speed
-   );
+             float speed, 
+             int orientation = wxHORIZONTAL); // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER.
 
    virtual ~LWSlider();
 
    wxWindowID GetId();
    void SetId(wxWindowID id);
 
-   float Get( bool convert = true );
+   void SetDefaultValue(float value);
+   void SetDefaultShortcut(bool value);
+
+   void GetScroll(float & line, float & page);
+   void SetScroll(float line, float page);
+
+   float Get(bool convert = true);
    void Set(float value);
 
-   void Increase(int steps);
-   void Decrease(int steps);
+   void Increase(float steps);
+   void Decrease(float steps);
 
    // If set to less than 1.0, moving the mouse one pixel will move
    // the slider by less than 1 unit
@@ -122,6 +128,7 @@ class LWSlider
    void RecreateTipWin();
 
    bool ShowDialog();
+   bool ShowDialog(wxPoint pos);
 
  private:
 
@@ -135,14 +142,15 @@ class LWSlider
    void SendUpdate( float newValue );
 
    int ValueToPosition(float val);
-   float DragPositionToValue(int xPos, bool shiftDown);
-   float ClickPositionToValue(int xPos, bool shiftDown);
+   float DragPositionToValue(int fromPos, bool shiftDown);
+   float ClickPositionToValue(int fromPos, bool shiftDown);
    
    wxWindow* GetToolTipParent() const;
       
    wxWindow *mParent;
 
    int mStyle;
+   int mOrientation; // wxHORIZONTAL or wxVERTICAL. wxVERTICAL is currently only for DB_SLIDER.
 
    bool mHW; // is it really heavyweight (in a window)
    bool mPopup; // should display dialog on double click
@@ -153,25 +161,40 @@ class LWSlider
    int mWidth;                  //In pixels
    int mHeight;                 //In pixels
 
+   // for (mOrientation == wxHORIZONTAL)
    int mCenterY;
 
    int mLeftX;
    int mRightX;
    int mWidthX;
 
+   // for (mOrientation == wxVERTICAL) //v Vertical PAN_SLIDER currently not handled, forced to horizontal.
+   int mCenterX;
+
+   int mTopY;
+   int mBottomY; // low values at bottom 
+   int mHeightY;
+
+
    int mThumbWidth;             //In pixels
    int mThumbHeight;            //In pixels
 
    float mClickValue;
-   int mClickX;
+   int mClickPos; // position in x if (mOrientation == wxHORIZONTAL), else in y
 
    float mMinValue;
    float mMaxValue;
    float mStepValue;
    float mSpeed;
- 
+
+   float mScrollLine;
+   float mScrollPage;
+
    float mCurrentValue;
 
+   bool mDefaultShortcut;
+   float mDefaultValue;
+
    bool mCanUseShift;
 
    wxWindowID mID;
@@ -202,14 +225,19 @@ class ASlider :public wxPanel
             int style = FRAC_SLIDER,
             bool popup = true,
             bool canUseShift = true,
-            float stepValue = STEP_CONTINUOUS );
+            float stepValue = STEP_CONTINUOUS, 
+            int orientation = wxHORIZONTAL);
    virtual ~ASlider();
 
+   void GetScroll(float & line, float & page);
+   void SetScroll(float line, float page);
+
    float Get( bool convert = true );
    void Set(float value);
 
-   void Increase(int steps);
-   void Decrease(int steps);
+   void Increase(float steps);
+   void Decrease(float steps);
+   bool ShowDialog(wxPoint pos = wxPoint(-1, -1));
 
    void SetSpeed(float speed);
 
@@ -251,7 +279,9 @@ class SliderDialog: public wxDialog
                 wxPoint position,
                 wxSize size, 
                 int style,
-                float value);
+                float value,
+                float line,
+                float page);
    ~SliderDialog();
    
    float Get();
diff --git a/src/widgets/ErrorDialog.cpp b/src/widgets/ErrorDialog.cpp
index daf553f..e03079e 100644
--- a/src/widgets/ErrorDialog.cpp
+++ b/src/widgets/ErrorDialog.cpp
@@ -33,6 +33,7 @@ Gives an Error message with an option for help.
 #include "../HelpText.h"
 #include "../Internat.h"
 #include "../Project.h"
+#include "../Prefs.h"
 
 class ErrorDialog : public wxDialog
 {
@@ -51,8 +52,6 @@ private:
    DECLARE_EVENT_TABLE()
 	   
 };
-void ShowHtmlInBrowser( const wxString &Url );
-
 
 BEGIN_EVENT_TABLE(ErrorDialog, wxDialog)
    EVT_BUTTON( wxID_OK, ErrorDialog::OnOk)
@@ -120,12 +119,43 @@ void ErrorDialog::OnOk(wxCommandEvent &event)
    EndModal(true);
 }
 
-void ShowHtmlText( wxWindow * pParent, const wxString &Title, const wxString &HtmlText, bool bIsFile = false )
+// Helper class to make browser "simulate" a modal dialog
+class HtmlTextHelpDialog : public BrowserFrame
+{
+public:
+   HtmlTextHelpDialog() : BrowserFrame()
+   {
+      MakeModal( true );
+   }
+   virtual ~HtmlTextHelpDialog()
+   {
+      MakeModal( false );
+      // On Windows, for some odd reason, the Audacity window will be sent to
+      // the back.  So, make sure that doesn't happen.
+      GetParent()->Raise();
+   }
+};
+
+void ShowHtmlText( wxWindow * pParent, const wxString &Title, const wxString &HtmlText, bool bIsFile = false, bool bModal = false )
 {
    LinkingHtmlWindow *html;
 
-   BrowserFrame * pWnd = new BrowserFrame();
-   pWnd->Create(pParent, wxID_ANY, Title, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE);// & ~wxSYSTEM_MENU);
+   BrowserFrame * pWnd;
+   if( bModal )
+      pWnd = new HtmlTextHelpDialog();
+   else
+      pWnd = new BrowserFrame();
+
+   pWnd->Create(pParent, wxID_ANY, Title, wxDefaultPosition, wxDefaultSize,
+#if defined(__WXMAC__)
+      // On OSX, the html frame can go behind the help dialog and if the help
+      // html frame is modal, you can't get back to it.  Pressing escape gets
+      // you out of this, but it's just easier to add the wxSTAY_ON_TOP flag
+      // to prevent it from falling behind the dialog.  Not the perfect solution
+      // but acceptable in this case.
+      wxSTAY_ON_TOP |
+#endif
+      wxDEFAULT_FRAME_STYLE);
 
    ShuttleGui S( pWnd, eIsCreating );
 
@@ -190,17 +220,6 @@ void ShowHtmlText( wxWindow * pParent, const wxString &Title, const wxString &Ht
    return;
 }
 
-
-
-void ShowHtmlInBrowser( const wxString &Url )
-{
-#if defined(__WXMSW__) || defined(__WXMAC__)
-   OpenInDefaultBrowser(Url);
-#else
-   wxLaunchDefaultBrowser(Url);
-#endif
-}
-
 void ErrorDialog::OnHelp(wxCommandEvent &event)
 {
    if( dhelpURL.StartsWith(wxT("innerlink:")) )
@@ -208,10 +227,12 @@ void ErrorDialog::OnHelp(wxCommandEvent &event)
       ShowHtmlText(
          this, 
          TitleText(dhelpURL.Mid( 10 ) ),
-         HelpText( dhelpURL.Mid( 10 )) );
+         HelpText( dhelpURL.Mid( 10 )),
+         false,
+         true );
       return;
    }
-   ShowHtmlInBrowser( dhelpURL );
+   OpenInDefaultBrowser( dhelpURL );
 	EndModal(true);
 }
 
@@ -231,17 +252,27 @@ void ShowHelpDialog(wxWindow *parent,
                      const wxString &remoteURL)
 {
    AudacityProject * pProj = GetActiveProject();
-   wxString HelpMode = wxT("Standard");
+   wxString HelpMode = wxT("Local");
 
    if( pProj )
    {
       HelpMode = pProj->mHelpPref;
+      // these next lines are for legacy cfg files (pre 2.0) where we had different modes
+      if( (HelpMode == wxT("Standard")) || (HelpMode == wxT("InBrowser")) )
+      {
+         HelpMode = wxT("Local");
+         pProj->mHelpPref = HelpMode;
+         gPrefs->Write(wxT("/GUI/Help"), HelpMode);
+      }
    }
 
-   if( (HelpMode == wxT("FromInternet")) && !remoteURL.IsEmpty() )
+   if( localFileName.Contains(wxT("Quick_Help")) )
+      // 'Quick_Help' is installed locally
+      OpenInDefaultBrowser( localFileName );
+   else if( (HelpMode == wxT("FromInternet")) && !remoteURL.IsEmpty() )
    {
       // Always go to remote URL.  Use External browser.
-      ShowHtmlInBrowser( remoteURL );
+      OpenInDefaultBrowser( remoteURL );
    }
    else if( !wxFileExists( localFileName ))
    {
@@ -250,14 +281,15 @@ void ShowHelpDialog(wxWindow *parent,
       wxASSERT( !remoteURL.IsEmpty() );
       // I can't find it'.
       // Use Built-in browser to suggest you use the remote url.
+//use the remote link
       wxString Text = HelpText( wxT("remotehelp") );
       Text.Replace( wxT("*URL*"), remoteURL );
       ShowHtmlText( parent, _("Help on the Internet"), Text );
    }
-   else if( HelpMode == wxT("InBrowser") ) 
+   else if( HelpMode == wxT("Local") ) 
    {
       // Local file, External browser 
-      ShowHtmlInBrowser( wxString(wxT("file:"))+localFileName );
+      OpenInDefaultBrowser( wxString(wxT("file:"))+localFileName );
    }
    else
    {
diff --git a/src/widgets/Grabber.cpp b/src/widgets/Grabber.cpp
index cdd7142..826c8f6 100644
--- a/src/widgets/Grabber.cpp
+++ b/src/widgets/Grabber.cpp
@@ -133,7 +133,7 @@ void Grabber::DrawGrabber( wxDC & dc )
 
    // Cache
    left = r.GetLeft();
-   right = r.GetRight() + 1;  //+1 for DrawLine()'s lack of not plotting last pixel
+   right = r.GetRight();
    top = r.GetTop();
    bottom = r.GetBottom();
 
@@ -146,7 +146,7 @@ void Grabber::DrawGrabber( wxDC & dc )
    }
 
    for (y = top; y < bottom; y += 4) {
-      dc.DrawLine(left, y, right, y);
+      AColor::Line(dc, left, y, right, y);
    }
 
    // Draw the pushed bumps
@@ -158,7 +158,7 @@ void Grabber::DrawGrabber( wxDC & dc )
    }
 
    for (y = top + 1; y <= bottom; y += 4) {
-      dc.DrawLine(left, y, right, y);
+      AColor::Line(dc, left, y, right, y);
    }
 }
 
diff --git a/src/widgets/Grid.cpp b/src/widgets/Grid.cpp
index 86f0aa3..05bce61 100644
--- a/src/widgets/Grid.cpp
+++ b/src/widgets/Grid.cpp
@@ -259,7 +259,7 @@ ChoiceEditor::ChoiceEditor(const wxArrayString &choices)
 ChoiceEditor::~ChoiceEditor()
 {
    if (m_control)
-      m_control->GetEventHandler()->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(ChoiceEditor::OnKillFocus));
+      mHandler.DisconnectEvent(m_control);
 }
 
 wxGridCellEditor *ChoiceEditor::Clone() const
@@ -276,7 +276,7 @@ void ChoiceEditor::Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHand
                             mChoices);
 
    wxGridCellEditor::Create(parent, id, evtHandler);
-   m_control->GetEventHandler()->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(ChoiceEditor::OnKillFocus));
+   mHandler.ConnectEvent(m_control);
 }
 
 void ChoiceEditor::SetSize(const wxRect &rect)
@@ -331,16 +331,12 @@ wxString ChoiceEditor::GetValue() const
    return mChoices[Choice()->GetSelection()];
 }
 
-void ChoiceEditor::OnKillFocus(wxFocusEvent &event)
-{
-   return;
-}
-
 ///
 ///
 ///
 
 BEGIN_EVENT_TABLE(Grid, wxGrid)
+   EVT_SET_FOCUS(Grid::OnSetFocus)
    EVT_KEY_DOWN(Grid::OnKeyDown)
    EVT_GRID_SELECT_CELL(Grid::OnSelectCell)
 END_EVENT_TABLE()
@@ -354,11 +350,8 @@ Grid::Grid(wxWindow *parent,
 : wxGrid(parent, id, pos, size, style | wxWANTS_CHARS, name)
 {
 #if wxUSE_ACCESSIBILITY
-   mAx = new GridAx(this, NULL, wxROLE_SYSTEM_TABLE, 0, 0);
-   SetAccessible(mAx);
-
-   mObjNdx = -1;
-   mChildren.Clear();
+   mAx = new GridAx(this);
+   GetGridWindow()->SetAccessible(mAx);
 #endif
 
    RegisterDataType(GRID_VALUE_TIME,
@@ -382,6 +375,15 @@ Grid::~Grid()
 #endif
 }
 
+void Grid::OnSetFocus(wxFocusEvent &event)
+{
+   event.Skip();
+
+#if wxUSE_ACCESSIBILITY
+   mAx->SetCurrentCell(GetGridCursorRow(), GetGridCursorCol());
+#endif
+}
+
 void Grid::OnSelectCell(wxGridEvent &event)
 {
    event.Skip();
@@ -425,6 +427,11 @@ void Grid::OnKeyDown(wxKeyEvent &event)
                SetGridCursor(crow, ccol + 1);
             }
          }
+
+#if wxUSE_ACCESSIBILITY
+         // Make sure the new cell is made available to the screen reader
+         mAx->SetCurrentCell(GetGridCursorRow(), GetGridCursorCol());
+#endif
       }
       break;
 
@@ -441,6 +448,7 @@ void Grid::OnKeyDown(wxKeyEvent &event)
                           wxNavigationKeyEvent::IsBackward :
                           wxNavigationKeyEvent::IsForward );
             Navigate(flags);
+            return;
          }
          else if (event.ShiftDown()) {
             if (crow == 0 && ccol == 0) {
@@ -467,6 +475,11 @@ void Grid::OnKeyDown(wxKeyEvent &event)
             }
          }
          MakeCellVisible(GetGridCursorRow(), GetGridCursorCol());
+
+#if wxUSE_ACCESSIBILITY
+         // Make sure the new cell is made available to the screen reader
+         mAx->SetCurrentCell(GetGridCursorRow(), GetGridCursorCol());
+#endif
       }
       break;
 
@@ -484,6 +497,11 @@ void Grid::OnKeyDown(wxKeyEvent &event)
          }
          else {
             wxGrid::OnKeyDown(event);
+
+            // This looks strange, but what it does is selects the cell when
+            // enter is pressed after editing.  Without it, Jaws and Window-Eyes
+            // do not speak the new cell contents (the one below the edited one).
+            SetGridCursor(GetGridCursorRow(), GetGridCursorCol());
          }
          break;
       }
@@ -558,129 +576,78 @@ bool Grid::DeleteCols(int pos, int numCols, bool updateLabels)
    return res;
 }
 
-GridAx *Grid::GetNextAx(GridAx *parent, wxAccRole role, int row, int col)
-{
-   mObjNdx = (mObjNdx + 1) & 0x3f;
-
-   if (mObjNdx < (int)mChildren.GetCount()) {
-      GridAx *ax = (GridAx *) mChildren[mObjNdx];
-      delete ax;
-
-      mChildren[mObjNdx] = new GridAx(this, parent, role, row, col);
-   }
-   else {
-      mChildren.Add(new GridAx(this, parent, role, row, col));
-   }
-
-   return (GridAx *)mChildren[mObjNdx];
-}
-
-GridAx::GridAx(Grid *grid, GridAx *parent, wxAccRole role, int row, int col)
-: wxWindowAccessible(NULL)
+GridAx::GridAx(Grid *grid)
+: wxWindowAccessible(grid->GetGridWindow())
 {
    mGrid = grid;
-   mParent = parent;
-   mRole = role;
-   mRow = row;
-   mCol = col;
+   mLastId = -1;
 }
 
 void GridAx::TableUpdated()
 {
    NotifyEvent(wxACC_EVENT_OBJECT_REORDER,
-               mGrid,
+               mGrid->GetGridWindow(),
                wxOBJID_CLIENT,
                0);
 }
 
 void GridAx::SetCurrentCell(int row, int col)
 {
-   int id = -(((row * mGrid->GetNumberCols()) + col) + 1);
+   int id = (((row * mGrid->GetNumberCols()) + col) + 1);
 
-   NotifyEvent(wxACC_EVENT_OBJECT_SELECTION,
-               mGrid,
+   if (mLastId != -1) {
+      NotifyEvent(wxACC_EVENT_OBJECT_SELECTIONREMOVE,
+               mGrid->GetGridWindow(),
                wxOBJID_CLIENT,
-               id);
+               mLastId);
+   }
 
    NotifyEvent(wxACC_EVENT_OBJECT_FOCUS,
-               mGrid,
+               mGrid->GetGridWindow(),
+               wxOBJID_CLIENT,
+               id);
+
+   NotifyEvent(wxACC_EVENT_OBJECT_SELECTION,
+               mGrid->GetGridWindow(),
                wxOBJID_CLIENT,
                id);
+
+   mLastId = id;
 }
 
-// Retrieves the address of an IDispatch interface for the specified child.
-// All objects must support this property.
-wxAccStatus GridAx::GetChild(int childId, wxAccessible** child)
+bool GridAx::GetRowCol(int childId, int & row, int & col)
 {
    if (childId == wxACC_SELF) {
-      *child = this;
-      return wxACC_OK;
+      return false;
    }
 
-   if (childId < 0) {
-      int cols = mGrid->GetNumberCols();
-      int row;
-      int col;
+   int cols = mGrid->GetNumberCols();
+   int id = childId - 1;
 
-      childId *= -1;
-      childId -= 1;
-      row = childId / cols;
-      col = childId % cols;
+   row = id / cols;
+   col = id % cols;
 
-      *child = mGrid->GetNextAx(this, wxROLE_SYSTEM_CELL, row + 1, col + 1);
+   return true;
+}
 
-      return wxACC_OK;
+// Retrieves the address of an IDispatch interface for the specified child.
+// All objects must support this property.
+wxAccStatus GridAx::GetChild(int childId, wxAccessible** child)
+{
+   if (childId == wxACC_SELF) {
+      *child = this;
    }
-
-   childId -= 1;
-
-   switch (mRole)
-   {
-      case wxROLE_SYSTEM_TABLE:
-         *child = mGrid->GetNextAx(this, wxROLE_SYSTEM_ROW, childId, 0);
-      break;
-
-      case wxROLE_SYSTEM_ROW:
-         wxAccRole role;
-
-         if (childId == 0) {
-            role = wxROLE_SYSTEM_ROWHEADER;
-         }
-         else if (mRow == 0) {
-            role = wxROLE_SYSTEM_COLUMNHEADER;
-         }
-         else {
-            role = wxROLE_SYSTEM_CELL;
-         }
-
-         *child = mGrid->GetNextAx(this, role, mRow, childId);
-      break;
-
-      default:
-         *child = NULL;
-      break;
+   else {
+      *child = NULL;
    }
 
    return wxACC_OK;
 }
 
 // Gets the number of children.
-wxAccStatus GridAx::GetChildCount(int* childCount)
+wxAccStatus GridAx::GetChildCount(int *childCount)
 {
-   switch (mRole)
-   {
-      case wxROLE_SYSTEM_TABLE:
-         *childCount = mGrid->GetNumberRows() + 1;
-      break;
-
-      case wxROLE_SYSTEM_ROW:
-         *childCount = mGrid->GetNumberCols() + 1;
-      break;
-
-      default:
-         *childCount = 0;
-      break;
-   }
+   *childCount = mGrid->GetNumberRows() * mGrid->GetNumberCols();
 
    return wxACC_OK;
 }
@@ -691,7 +658,7 @@ wxAccStatus GridAx::GetChildCount(int* childCount)
 // The retrieved string describes the action that is performed on an object,
 // not what the object does as a result. For example, a toolbar button that prints
 // a document has a default action of "Press" rather than "Prints the current document."
-wxAccStatus GridAx::GetDefaultAction( int childId, wxString *actionName )
+wxAccStatus GridAx::GetDefaultAction(int childId, wxString *actionName)
 {
    actionName->Clear();
 
@@ -701,34 +668,9 @@ wxAccStatus GridAx::GetDefaultAction( int childId, wxString *actionName )
 // Returns the description for this object or a child.
 wxAccStatus GridAx::GetDescription(int childId, wxString *description)
 {
-   if (childId == wxACC_SELF) {
-      switch (mRole)
-      {
-         case wxROLE_SYSTEM_TABLE:
-            description->Printf(_("%d rows, %d columns"),
-                                mGrid->GetNumberRows(),
-                                mGrid->GetNumberCols());
-         break;
-
-         case wxROLE_SYSTEM_ROW:
-            description->Printf(_("Row %d"),
-                                mRow);
-         break;
-
-         case wxROLE_SYSTEM_CELL:
-            description->Printf(wxT("%d"),
-                                mCol);
-         break;
-
-         default:
-            description->Printf(wxT("oh-oh...buggie"));
-         break;
-      }
-
-      return wxACC_OK;
-   }
+   description->Clear();
 
-   return wxACC_NOT_IMPLEMENTED;
+   return wxACC_OK;
 }
 
 // Returns help text for this object or a child, similar to tooltip text.
@@ -750,146 +692,65 @@ wxAccStatus GridAx::GetKeyboardShortcut(int childId, wxString *shortcut)
 
 // Returns the rectangle for this object (id = 0) or a child element (id > 0).
 // rect is in screen coordinates.
-wxAccStatus GridAx::GetLocation(wxRect& rect, int elementId)
+wxAccStatus GridAx::GetLocation(wxRect & rect, int elementId)
 {
    wxRect r;
+   int row;
+   int col;
 
-   wxASSERT_MSG((elementId == wxACC_SELF),
-      wxString::Format(wxT("GridAx::GetLocation Unexpected elementId: %d"), elementId));
-
-   switch (mRole)
-   {
-      case wxROLE_SYSTEM_TABLE:
-         rect = mGrid->GetRect();
-         r = mGrid->GetGridCornerLabelWindow()->GetRect();
-         rect.x -= r.width;
-         rect.y -= r.height;
-      break;
-
-      case wxROLE_SYSTEM_ROW:
-         if (mRow == 0) {
-            rect = mGrid->CellToRect(0, 0);
-
-            r = mGrid->GetGridRowLabelWindow()->GetRect();
-            rect.x -= r.width;
-            rect.width = r.width;
-
-            r = mGrid->GetGridColLabelWindow()->GetRect();
-            rect.y -= r.height;
-            rect.width += r.width;
-         }
-         else {
-            rect = mGrid->CellToRect(mRow - 1, 0);
-
-            r = mGrid->GetGridRowLabelWindow()->GetRect();
-            rect.x -= r.width;
-            rect.width = r.width;
-
-            r = mGrid->GetGridColLabelWindow()->GetRect();
-            rect.width += r.width;
-         }
-      break;
-
-      case wxROLE_SYSTEM_ROWHEADER:
-         r = mGrid->GetGridCornerLabelWindow()->GetRect();
-         if (mRow == 0) {
-            rect = mGrid->CellToRect(0, 0);
-            rect.y -= r.height;
-         }
-         else {
-            rect = mGrid->CellToRect(mRow - 1, 0);
-         }
-         rect.x -= r.width;
-         rect.width = r.width;
-      break;
-
-      case wxROLE_SYSTEM_COLUMNHEADER:
-         rect = mGrid->CellToRect(0, mCol - 1);
-         r = mGrid->GetGridColLabelWindow()->GetRect();
-         rect.y -= r.height;
-      break;
-
-      case wxROLE_SYSTEM_CELL:
-         rect = mGrid->CellToRect(mRow - 1, mCol - 1);
-      break;
-
-      default:
-         wxASSERT_MSG(0,
-            wxString::Format(wxT("GridAx::GetLocation Unrecognized role: %d"),
-                             mRole));
-      break;
+   if (GetRowCol(elementId, row, col)) {
+      rect = mGrid->CellToRect(row, col);
+      rect.SetPosition(mGrid->GetGridWindow()->ClientToScreen(rect.GetPosition()));
+   }
+   else {
+      rect = mGrid->GetRect();
+      rect.SetPosition(mGrid->GetParent()->ClientToScreen(rect.GetPosition()));
    }
-
-   rect.SetPosition(mGrid->GetGridWindow()->ClientToScreen(rect.GetPosition()));
 
    return wxACC_OK;
 }
 
 // Gets the name of the specified object.
-wxAccStatus GridAx::GetName(int childId, wxString* name)
+wxAccStatus GridAx::GetName(int childId, wxString *name)
 {
-   wxASSERT_MSG((childId == wxACC_SELF),
-      wxString::Format(wxT("GridAx::GetName Unexpected childId: %d"), childId));
-
-   switch (mRole)
-   {
-      case wxROLE_SYSTEM_TABLE:
-         *name = mGrid->GetName();
-      break;
-
-      case wxROLE_SYSTEM_ROW:
-         name->Printf(_("Row %d"), mRow);
-      break;
-
-      case wxROLE_SYSTEM_ROWHEADER:
-         *name = mGrid->GetRowLabelValue(mRow);
-      break;
+   int row;
+   int col;
 
-      case wxROLE_SYSTEM_COLUMNHEADER:
-         *name = mGrid->GetColLabelValue(mCol - 1);
-      break;
-
-      case wxROLE_SYSTEM_CELL:
-      {
-         *name = mGrid->GetCellValue(mRow - 1, mCol - 1);
-         if (name->IsEmpty()) {
-            *name = _("Empty");
-         }
-
-         // Hack to provide a more intelligible response
-         TimeEditor *d =
-            (TimeEditor *)mGrid->GetDefaultEditorForType(GRID_VALUE_TIME);
-         TimeEditor *c =
-            (TimeEditor *)mGrid->GetCellEditor(mRow - 1, mCol - 1);
-
-         if (c && d && c == d) {
-            double value;
-            name->ToDouble(&value);
-
-            TimeTextCtrl tt(mGrid,
-                            wxID_ANY,
-                            wxT(""),
-                            value,
-                            c->GetRate(),
-                            wxPoint(10000, 10000),  // create offscreen
-                            wxDefaultSize,
-                            true);
-            tt.SetFormatString(tt.GetBuiltinFormat(c->GetFormat()));
-            *name = tt.GetTimeString();
-         }
+   if (GetRowCol(childId, row, col)) {
+      wxString n = mGrid->GetColLabelValue(col);
+      wxString v = mGrid->GetCellValue(row, col);
+      if (v.IsEmpty()) {
+         v = _("Empty");
+      }
 
-         if (c)
-            c->DecRef();
-         if (d)
-            d->DecRef();
+      // Hack to provide a more intelligible response
+      TimeEditor *d =
+         (TimeEditor *)mGrid->GetDefaultEditorForType(GRID_VALUE_TIME);
+      TimeEditor *c =
+         (TimeEditor *)mGrid->GetCellEditor(row, col);
+
+      if (c && d && c == d) {
+         double value;
+         v.ToDouble(&value);
+
+         TimeTextCtrl tt(mGrid,
+                         wxID_ANY,
+                         wxT(""),
+                         value,
+                         c->GetRate(),
+                         wxPoint(10000, 10000),  // create offscreen
+                         wxDefaultSize,
+                         true);
+         tt.SetFormatString(tt.GetBuiltinFormat(c->GetFormat()));
+         v = tt.GetTimeString();
       }
-      break;
 
-      default:
-         wxASSERT_MSG(0,
-            wxString::Format(wxT("GridAx::GetName Unrecognized role: %d"),
-                             mRole));
-      break;
+      if (c)
+         c->DecRef();
+      if (d)
+         d->DecRef();
+
+      *name = n + wxT(" ") + v;
    }
 
    return wxACC_OK;
@@ -897,18 +758,18 @@ wxAccStatus GridAx::GetName(int childId, wxString* name)
 
 wxAccStatus GridAx::GetParent(wxAccessible **parent)
 {
-   *parent = mParent;
-
-   return wxACC_OK;
+   return wxACC_NOT_IMPLEMENTED;
 }
 
 // Returns a role constant.
-wxAccStatus GridAx::GetRole(int childId, wxAccRole* role)
+wxAccStatus GridAx::GetRole(int childId, wxAccRole *role)
 {
-   wxASSERT_MSG((childId == wxACC_SELF),
-      wxString::Format(wxT("GridAx::GetRole Unexpected childId: %d"), childId));
-
-   *role = mRole;
+   if (childId == wxACC_SELF) {
+      *role = wxROLE_SYSTEM_TABLE;
+   }
+   else {
+      *role = wxROLE_SYSTEM_CELL;
+   }
 
    return wxACC_OK;
 }
@@ -921,98 +782,48 @@ wxAccStatus GridAx::GetRole(int childId, wxAccRole* role)
 // - an integer representing the selected child element,
 //   or 0 if this object is selected (GetType() == wxT("long"))
 // - a "void*" pointer to a wxAccessible child object
-wxAccStatus GridAx::GetSelections( wxVariant *selections )
+wxAccStatus GridAx::GetSelections(wxVariant *selections)
 {
    return wxACC_NOT_IMPLEMENTED;
 }
 
 // Returns a state constant.
-wxAccStatus GridAx::GetState( int childId, long* state )
-{
-   int row = mGrid->GetGridCursorRow();
-   int col = mGrid->GetGridCursorCol();
-   int cols = mGrid->GetNumberCols();
-   int flag;
-
-   wxASSERT_MSG((childId == wxACC_SELF),
-      wxString::Format(wxT("GridAx::GetState Unexpected childId: %d"), childId));
-
-   *state = 0;
-
-   switch (mRole)
-   {
-      case wxROLE_SYSTEM_TABLE:
-         *state = wxACC_STATE_SYSTEM_FOCUSABLE | wxACC_STATE_SYSTEM_SELECTABLE;
-      break;
-
-      case wxROLE_SYSTEM_ROW:
-         *state = wxACC_STATE_SYSTEM_FOCUSABLE | wxACC_STATE_SYSTEM_SELECTABLE;
-
-         flag = wxACC_STATE_SYSTEM_INVISIBLE;
-         for (col = 0; col < cols; col++) {
-            if (mGrid->IsVisible(mRow, col)) {
-               flag = 0;
-               break;
-            }
-         }
-         *state |= flag;
-
-      break;
-
-      case wxROLE_SYSTEM_ROWHEADER:
-      case wxROLE_SYSTEM_COLUMNHEADER:
-         *state = wxACC_STATE_SYSTEM_UNAVAILABLE;
-      break;
-
-      case wxROLE_SYSTEM_CELL:
-      {
-         int row = mGrid->GetGridCursorRow();
-         int col = mGrid->GetGridCursorCol();
-         int cols = mGrid->GetNumberCols();
-
-         *state = wxACC_STATE_SYSTEM_FOCUSABLE | wxACC_STATE_SYSTEM_SELECTABLE;
-
-         if (mRow - 1 == row) {
-            *state |= wxACC_STATE_SYSTEM_FOCUSED;
-         }
-
-         flag = wxACC_STATE_SYSTEM_SELECTED;
-         for (col = 0; col < cols; col++) {
-            if (!mGrid->IsInSelection(row, col)) {
-               flag = 0;
-               break;
-            }
-         }
-         *state |= flag;
+wxAccStatus GridAx::GetState(int childId, long *state)
+{
+   int flag = wxACC_STATE_SYSTEM_FOCUSABLE |
+              wxACC_STATE_SYSTEM_SELECTABLE |
+              wxACC_STATE_SYSTEM_FOCUSED |
+              wxACC_STATE_SYSTEM_SELECTED;
+   int col;
+   int row;
+
+   if (GetRowCol(childId, row, col)) {
+      if (mGrid->IsReadOnly(row, col)) {
+         flag = wxACC_STATE_SYSTEM_UNAVAILABLE;
       }
-      break;
-
-      default:
-         wxASSERT_MSG(0,
-            wxString::Format(wxT("GridAx::GetState Unrecognized role: %d"),
-                             mRole));
-      break;
    }
 
+   *state = flag;
+
    return wxACC_OK;
 }
 
 // Returns a localized string representing the value for the object
 // or child.
-wxAccStatus GridAx::GetValue( int childId, wxString* strValue )
+wxAccStatus GridAx::GetValue(int childId, wxString *strValue)
 {
-   return wxACC_NOT_SUPPORTED;
+   strValue->Clear();
+
+   return wxACC_OK;
 }
 
 // Gets the window with the keyboard focus.
 // If childId is 0 and child is NULL, no object in
 // this subhierarchy has the focus.
 // If this object has the focus, child should be 'this'.
-wxAccStatus GridAx::GetFocus( int *childId, wxAccessible **child )
+wxAccStatus GridAx::GetFocus(int *childId, wxAccessible **child)
 {
-   if (mGrid->FindFocus() == mGrid->GetGridWindow()) {
-      *childId = mGrid->GetGridCursorRow() + 1;
-   }
+   *child = this;
 
    return wxACC_OK;
 }
diff --git a/src/widgets/Grid.h b/src/widgets/Grid.h
index 628dfb6..1446b61 100644
--- a/src/widgets/Grid.h
+++ b/src/widgets/Grid.h
@@ -20,9 +20,6 @@
 #include <wx/window.h>
 
 #if wxUSE_ACCESSIBILITY
-#if defined(__WXMSW__)
-#include <oleacc.h>
-#endif
 #include <wx/access.h>
 
 class GridAx;
@@ -138,11 +135,28 @@ public:
 
  protected:
 
-   void OnKillFocus(wxFocusEvent &event);
    wxChoice *Choice() const { return (wxChoice *)m_control; }
 
  private:
 
+   // A whole separate class just to get rid of Visual C++ warning C4407
+   class FocusHandler:wxEvtHandler
+   {
+   public:
+      void ConnectEvent(wxWindow *w)
+      {
+         w->GetEventHandler()->Connect(wxEVT_KILL_FOCUS, wxFocusEventHandler(FocusHandler::OnKillFocus));
+      };
+      void DisconnectEvent(wxWindow *w)
+      {
+         w->GetEventHandler()->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(FocusHandler::OnKillFocus));
+      };
+      void OnKillFocus(wxFocusEvent &event)
+      {
+         return;
+      };
+   } mHandler;
+
    wxArrayString mChoices;
    wxString mOld;
 };
@@ -182,6 +196,7 @@ class Grid
 
  protected:
 
+   void OnSetFocus(wxFocusEvent &event);
    void OnSelectCell(wxGridEvent &event);
    void OnKeyDown(wxKeyEvent &event);
 
@@ -211,17 +226,18 @@ class GridAx
 
  public:
    
-   GridAx(Grid *grid, GridAx *parent, wxAccRole role, int row, int col);
+   GridAx(Grid *grid);
 
    void SetCurrentCell(int row, int col);
    void TableUpdated();
+   bool GetRowCol(int childId, int & row, int & col);
 
    // Retrieves the address of an IDispatch interface for the specified child.
    // All objects must support this property.
-   virtual wxAccStatus GetChild( int childId, wxAccessible** child );
+   virtual wxAccStatus GetChild(int childId, wxAccessible **child);
 
    // Gets the number of children.
-   virtual wxAccStatus GetChildCount(int* childCount);
+   virtual wxAccStatus GetChildCount(int *childCount);
 
    // Gets the default action for this object (0) or > 0 (the action for a child).
    // Return wxACC_OK even if there is no action. actionName is the action, or the empty
@@ -229,36 +245,36 @@ class GridAx
    // The retrieved string describes the action that is performed on an object,
    // not what the object does as a result. For example, a toolbar button that prints
    // a document has a default action of "Press" rather than "Prints the current document."
-   virtual wxAccStatus GetDefaultAction( int childId, wxString *actionName );
+   virtual wxAccStatus GetDefaultAction(int childId, wxString *actionName);
 
    // Returns the description for this object or a child.
-   virtual wxAccStatus GetDescription( int childId, wxString *description );
+   virtual wxAccStatus GetDescription(int childId, wxString *description);
 
    // Gets the window with the keyboard focus.
    // If childId is 0 and child is NULL, no object in
    // this subhierarchy has the focus.
    // If this object has the focus, child should be 'this'.
-   virtual wxAccStatus GetFocus( int *childId, wxAccessible **child );
+   virtual wxAccStatus GetFocus(int *childId, wxAccessible **child);
 
    // Returns help text for this object or a child, similar to tooltip text.
-   virtual wxAccStatus GetHelpText( int childId, wxString *helpText );
+   virtual wxAccStatus GetHelpText(int childId, wxString *helpText);
 
    // Returns the keyboard shortcut for this object or child.
    // Return e.g. ALT+K
-   virtual wxAccStatus GetKeyboardShortcut( int childId, wxString *shortcut );
+   virtual wxAccStatus GetKeyboardShortcut(int childId, wxString *shortcut);
 
    // Returns the rectangle for this object (id = 0) or a child element (id > 0).
    // rect is in screen coordinates.
-   virtual wxAccStatus GetLocation( wxRect& rect, int elementId );
+   virtual wxAccStatus GetLocation(wxRect & rect, int elementId);
 
    // Gets the name of the specified object.
-   virtual wxAccStatus GetName( int childId, wxString *name );
+   virtual wxAccStatus GetName(int childId, wxString *name);
 
    // Gets the parent, or NULL.
    virtual wxAccStatus GetParent(wxAccessible **parent);
 
    // Returns a role constant.
-   virtual wxAccStatus GetRole( int childId, wxAccRole *role );
+   virtual wxAccStatus GetRole(int childId, wxAccRole *role);
 
    // Gets a variant representing the selected children
    // of this object.
@@ -277,11 +293,8 @@ class GridAx
    // or child.
    virtual wxAccStatus GetValue(int childId, wxString* strValue);
 
-   GridAx *mParent;
    Grid *mGrid;
-   wxAccRole mRole;
-   int mRow;
-   int mCol;
+   int mLastId;
 
 };
 #endif
diff --git a/src/widgets/LinkingHtmlWindow.cpp b/src/widgets/LinkingHtmlWindow.cpp
index df7523e..06a8c49 100644
--- a/src/widgets/LinkingHtmlWindow.cpp
+++ b/src/widgets/LinkingHtmlWindow.cpp
@@ -13,6 +13,9 @@
 
 **********************************************************************/
 
+// For compilers that support precompilation, includes "wx/wx.h".
+#include <wx/wxprec.h>
+
 #include "../Audacity.h"
 
 #include <wx/mimetype.h>
@@ -75,25 +78,8 @@ void BrowserFrame::UpdateButtons()
 
 void OpenInDefaultBrowser(const wxHtmlLinkInfo& link)
 {
-   #ifdef __WXMAC__
-      wxString openCmd = wxT("open ") + link.GetHref();
-      ::wxExecute(openCmd);
-   #else
-      #ifdef __WXMSW__
-         wxFileType* pFileType = wxTheMimeTypesManager->GetFileTypeFromExtension(wxT(".htm"));
-         if (pFileType == NULL) 
-            return;
-         wxString openCmd = pFileType->GetOpenCommand(link.GetHref());
-         if (openCmd.Lower().Contains(wxT("iexplore.exe")))
-            // GetOpenCommand is not quite right for Internet Explorer.
-            openCmd.Replace(wxT("WWW_OpenURL#\"file://"), wxT("WWW_OpenURL#\""));
-         ::wxExecute(openCmd);
-         delete pFileType;
-      #else
-         wxLaunchDefaultBrowser(link.GetHref());
-      #endif
-   #endif
-};
+   wxLaunchDefaultBrowser(link.GetHref());
+}
 
 LinkingHtmlWindow::LinkingHtmlWindow(wxWindow *parent, wxWindowID id /*= -1*/, 
                                        const wxPoint& pos /*= wxDefaultPosition*/, 
@@ -121,6 +107,11 @@ void LinkingHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
          wxGetTopLevelParent(this)->SetLabel( TitleText( href.Mid( 10 )));
       }
    }
+   else if( href.StartsWith(wxT("mailto:")) || href.StartsWith(wxT("file:")) )
+   {
+      OpenInDefaultBrowser( link );
+      return;
+   }
    else if( !href.StartsWith( wxT("http:")))
    {
       HtmlWindow::OnLinkClicked( link );
diff --git a/src/widgets/Meter.cpp b/src/widgets/Meter.cpp
index eb453de..03983a7 100644
--- a/src/widgets/Meter.cpp
+++ b/src/widgets/Meter.cpp
@@ -5,6 +5,7 @@
   Meter.cpp
 
   Dominic Mazzoni
+  Vaughan Johnson
 
   2004.06.25 refresh rate limited to 30mS, by ChackoN
 
@@ -16,6 +17,10 @@
   This is a bunch of common code that can display many different
   forms of VU meters and other displays.
 
+  But note that a lot of later code here assumes these are 
+  MeterToolBar meters, e.g., Meter::StartMonitoring, 
+  so these are not as generic/common as originally intended.
+
 *//****************************************************************//**
 
 \class MeterBar
@@ -40,10 +45,7 @@
 #include <wx/dcmemory.h>
 #include <wx/image.h>
 #include <wx/intl.h>
-#define WANT_METER_MENU 1 //vvv
-#if WANT_METER_MENU
-   #include <wx/menu.h>
-#endif
+#include <wx/menu.h>
 #include <wx/settings.h>
 #include <wx/textdlg.h>
 #include <wx/numdlg.h>
@@ -185,20 +187,18 @@ BEGIN_EVENT_TABLE(Meter, wxPanel)
    EVT_ERASE_BACKGROUND(Meter::OnErase)
    EVT_PAINT(Meter::OnPaint)
    EVT_SIZE(Meter::OnSize)
-   #if WANT_METER_MENU
-      EVT_MENU(OnDisableMeterID, Meter::OnDisableMeter)
-      EVT_MENU(OnHorizontalID, Meter::OnHorizontal)
-      EVT_MENU(OnVerticalID, Meter::OnVertical)
-      EVT_MENU(OnMultiID, Meter::OnMulti)
-      EVT_MENU(OnEqualizerID, Meter::OnEqualizer)
-      EVT_MENU(OnWaveformID, Meter::OnWaveform)
-      EVT_MENU(OnLinearID, Meter::OnLinear)
-      EVT_MENU(OnDBID, Meter::OnDB)
-      EVT_MENU(OnClipID, Meter::OnClip)
-      EVT_MENU(OnMonitorID, Meter::OnMonitor)
-      EVT_MENU(OnFloatID, Meter::OnFloat)
-      EVT_MENU(OnPreferencesID, Meter::OnPreferences)
-   #endif
+   EVT_MENU(OnDisableMeterID, Meter::OnDisableMeter)
+   EVT_MENU(OnHorizontalID, Meter::OnHorizontal)
+   EVT_MENU(OnVerticalID, Meter::OnVertical)
+   EVT_MENU(OnMultiID, Meter::OnMulti)
+   EVT_MENU(OnEqualizerID, Meter::OnEqualizer)
+   EVT_MENU(OnWaveformID, Meter::OnWaveform)
+   EVT_MENU(OnLinearID, Meter::OnLinear)
+   EVT_MENU(OnDBID, Meter::OnDB)
+   EVT_MENU(OnClipID, Meter::OnClip)
+   EVT_MENU(OnMonitorID, Meter::OnMonitor)
+   EVT_MENU(OnFloatID, Meter::OnFloat)
+   EVT_MENU(OnPreferencesID, Meter::OnPreferences)
 END_EVENT_TABLE()
 
 IMPLEMENT_CLASS(Meter, wxPanel)
@@ -206,16 +206,18 @@ IMPLEMENT_CLASS(Meter, wxPanel)
 Meter::Meter(wxWindow* parent, wxWindowID id,
              bool isInput,
              const wxPoint& pos /*= wxDefaultPosition*/,
-             const wxSize& size /*= wxDefaultSize*/):
-   wxPanel(parent, id, pos, size),
+             const wxSize& size /*= wxDefaultSize*/, 
+             Style style /*= HorizontalStereo*/, 
+             float fDecayRate /*= 60.0f*/)
+: wxPanel(parent, id, pos, size),
    mQueue(1024),
    mWidth(size.x), mHeight(size.y),
    mIsInput(isInput),
-   mStyle(HorizontalStereo),
+   mStyle(style),
    mDB(true),
    mDBRange(ENV_DB_RANGE),
    mDecay(true),
-   mDecayRate(60),
+   mDecayRate(fDecayRate),
    mClip(true),
    mNumPeakSamplesToClip(3),
    mPeakHoldDuration(3),
@@ -232,14 +234,7 @@ Meter::Meter(wxWindow* parent, wxWindowID id,
       wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
     mBkgndBrush = wxBrush(backgroundColour, wxSOLID);
 
-   mDBRange = gPrefs->Read(wxT("/GUI/EnvdBRange"), ENV_DB_RANGE);
-   mMeterRefreshRate = gPrefs->Read(wxT("/Meter/MeterRefreshRate"), 30);
-   if (mIsInput) {
-      mMeterDisabled = gPrefs->Read(wxT("/Meter/MeterInputDisabled"), (long)0);
-   }
-   else {
-      mMeterDisabled = gPrefs->Read(wxT("/Meter/MeterOutputDisabled"), (long)0);
-   }
+   UpdatePrefs();
 
    mPeakPeakPen = wxPen(theTheme.Colour( clrMeterPeak),        1, wxSOLID);
    mDisabledPen = wxPen(theTheme.Colour( clrMeterDisabledPen), 1, wxSOLID);
@@ -283,7 +278,10 @@ Meter::Meter(wxWindow* parent, wxWindowID id,
       mRMSBrush = mDisabledBkgndBrush;
    }
 
-   CreateIcon(2);
+   // MixerTrackCluster style has no menu, so disallows SetStyle, so never needs icon.
+   if (mStyle != MixerTrackCluster)
+      CreateIcon(2);
+
    mRuler.SetFonts(GetFont(), GetFont(), GetFont());
 
    mTimer.SetOwner(this, OnMeterUpdateID);
@@ -324,14 +322,16 @@ Meter::~Meter()
 
 void Meter::UpdatePrefs()
 {
-   mDBRange = gPrefs->Read(wxT("/GUI/EnvdBRange"), 60);
+   mDBRange = gPrefs->Read(wxT("/GUI/EnvdBRange"), ENV_DB_RANGE);
    mMeterRefreshRate = gPrefs->Read(wxT("/Meter/MeterRefreshRate"), 30);
-   if (mIsInput) {
+
+   // MixerTrackCluster style has no menu, so disallows disabling the meter.
+   if (mStyle == MixerTrackCluster)
+      mMeterDisabled = 0L;
+   else if (mIsInput) 
       mMeterDisabled = gPrefs->Read(wxT("/Meter/MeterInputDisabled"), (long)0);
-   }
-   else {
+   else 
       mMeterDisabled = gPrefs->Read(wxT("/Meter/MeterOutputDisabled"), (long)0);
-   }
 }
 
 void Meter::OnErase(wxEraseEvent &evt)
@@ -368,6 +368,9 @@ void Meter::OnSize(wxSizeEvent &evt)
 
 void Meter::OnMouse(wxMouseEvent &evt)
 {
+   if (mStyle == MixerTrackCluster) // MixerTrackCluster style has no menu.
+      return;
+
   #if wxUSE_TOOLTIPS // Not available in wxX11
    if (evt.Leaving()){
       GetActiveProject()->TP_DisplayStatusMessage(wxT(""));
@@ -382,57 +385,51 @@ void Meter::OnMouse(wxMouseEvent &evt)
    }
   #endif
 
-   #if WANT_METER_MENU
-      if (evt.RightDown() ||
-          (evt.ButtonDown() && mMenuRect.Contains(evt.m_x, evt.m_y))) 
-      {
-         wxMenu *menu = new wxMenu();
-         // Note: these should be kept in the same order as the enum
-         if (mMeterDisabled)
-            menu->Append(OnDisableMeterID, _("Enable Meter"));
+   if (evt.RightDown() ||
+       (evt.ButtonDown() && mMenuRect.Contains(evt.m_x, evt.m_y))) 
+   {
+      wxMenu *menu = new wxMenu();
+      // Note: these should be kept in the same order as the enum
+      if (mMeterDisabled)
+         menu->Append(OnDisableMeterID, _("Enable Meter"));
+      else
+         menu->Append(OnDisableMeterID, _("Disable Meter"));
+      if (mIsInput) {
+         if (gAudioIO->IsMonitoring())
+            menu->Append(OnMonitorID, _("Stop Monitoring"));
          else
-            menu->Append(OnDisableMeterID, _("Disable Meter"));
-         if (mIsInput) {
-            if (gAudioIO->IsMonitoring())
-               menu->Append(OnMonitorID, _("Stop Monitoring"));
-            else
-               menu->Append(OnMonitorID, _("Start Monitoring"));
-         }
-         menu->AppendSeparator();
-
-         menu->Append(OnHorizontalID, _("Horizontal Stereo"));
-         menu->Append(OnVerticalID, _("Vertical Stereo"));
-         //menu->Append(OnMultiID, _("Vertical Multichannel"));
-         //menu->Append(OnEqualizerID, _("Equalizer"));
-         //menu->Append(OnWaveformID, _("Waveform"));
-         //menu->Enable(OnHorizontalID + mStyle, false);
-         menu->Enable(mStyle==VerticalStereo? OnVerticalID: OnHorizontalID, false);
-         menu->AppendSeparator();
-
-         menu->Append(OnLinearID, _("Linear"));
-         menu->Append(OnDBID, _("dB"));
-         menu->Enable(mDB? OnDBID: OnLinearID, false);
-         //menu->AppendSeparator();
-         //menu->Append(OnClipID, _("Turn on clipping"));
-         //menu->AppendSeparator();
-         //menu->Append(OnFloatID, _("Float Window"));
-
-         menu->AppendSeparator();
-         menu->Append(OnPreferencesID, _("Preferences..."));
-
-
-         if (evt.RightDown())
-            PopupMenu(menu, evt.m_x, evt.m_y);
-         #if WANT_METER_MENU
-            else
-               PopupMenu(menu, mMenuRect.x + 1, mMenuRect.y + mMenuRect.height + 1);
-         #endif // WANT_METER_MENU
-         delete menu;
-      }       
-      else 
-   #endif // WANT_METER_MENU
-
-   if (evt.ButtonDown()) {
+            menu->Append(OnMonitorID, _("Start Monitoring"));
+      }
+      menu->AppendSeparator();
+
+      menu->Append(OnHorizontalID, _("Horizontal Stereo"));
+      menu->Append(OnVerticalID, _("Vertical Stereo"));
+      //menu->Append(OnMultiID, _("Vertical Multichannel"));
+      //menu->Append(OnEqualizerID, _("Equalizer"));
+      //menu->Append(OnWaveformID, _("Waveform"));
+      //menu->Enable(OnHorizontalID + mStyle, false);
+      menu->Enable(mStyle==VerticalStereo? OnVerticalID: OnHorizontalID, false);
+      menu->AppendSeparator();
+
+      menu->Append(OnLinearID, _("Linear"));
+      menu->Append(OnDBID, _("dB"));
+      menu->Enable(mDB? OnDBID: OnLinearID, false);
+      //menu->AppendSeparator();
+      //menu->Append(OnClipID, _("Turn on clipping"));
+      //menu->AppendSeparator();
+      //menu->Append(OnFloatID, _("Float Window"));
+
+      menu->AppendSeparator();
+      menu->Append(OnPreferencesID, _("Preferences..."));
+
+
+      if (evt.RightDown())
+         PopupMenu(menu, evt.m_x, evt.m_y);
+      else
+         PopupMenu(menu, mMenuRect.x + 1, mMenuRect.y + mMenuRect.height + 1);
+      delete menu;
+   }
+   else if (evt.ButtonDown()) {
       if (mIsInput)
          StartMonitoring();
    }
@@ -440,6 +437,9 @@ void Meter::OnMouse(wxMouseEvent &evt)
 
 void Meter::SetStyle(Meter::Style newStyle)
 {
+   // MixerTrackCluster disallows style change.
+   if (mStyle == MixerTrackCluster)
+      return;
    mStyle = newStyle;
    mLayoutValid = false;
    Refresh(true);
@@ -463,7 +463,7 @@ void Meter::Reset(double sampleRate, bool resetClipping)
    while(mQueue.Get(msg)) {
    }
 
-   mTimer.Start(25); // every 25 ms -> ~40 updates per second
+   mTimer.Start(1000 / mMeterRefreshRate);
 
    mLayoutValid = false;
    Refresh(false);
@@ -554,6 +554,57 @@ void Meter::UpdateDisplay(int numChannels, int numFrames, float *sampleData)
    mQueue.Put(msg);
 }
 
+void Meter::UpdateDisplay(int numChannels, int numFrames, 
+                           // Need to make these double-indexed arrays if we handle more than 2 channels.
+                           float* maxLeft, float* rmsLeft, 
+                           float* maxRight, float* rmsRight, 
+                           const sampleCount kSampleCount)
+{
+   int i, j;
+   int num = intmin(numChannels, mNumBars);
+   MeterUpdateMsg msg;
+
+   msg.numFrames = kSampleCount;
+   for(j=0; j<mNumBars; j++) {
+      msg.peak[j] = 0.0;
+      msg.rms[j] = 0.0;
+      msg.clipping[j] = false;
+      msg.headPeakCount[j] = 0;
+      msg.tailPeakCount[j] = 0;
+   }
+
+   for(i=0; i<numFrames; i++) {
+      for(j=0; j<num; j++) {
+         msg.peak[j] = floatMax(msg.peak[j], ((j == 0) ? maxLeft[i] : maxRight[i]));
+         msg.rms[j] = floatMax(msg.rms[j], ((j == 0) ? rmsLeft[i] : rmsRight[i]));
+
+         // In addition to looking for mNumPeakSamplesToClip peaked
+         // samples in a row, also send the number of peaked samples
+         // at the head and tail, in case there's a run 
+         // of peaked samples that crosses block boundaries.
+         if (fabs((j == 0) ? maxLeft[i] : maxRight[i]) >= MAX_AUDIO)
+         {
+            if (msg.headPeakCount[j]==i)
+               msg.headPeakCount[j]++;
+            msg.tailPeakCount[j]++;
+            if (msg.tailPeakCount[j] > mNumPeakSamplesToClip)
+               msg.clipping[j] = true;
+         }
+         else
+            msg.tailPeakCount[j] = 0;
+      }
+   }
+
+   if (mDB) {
+      for(j=0; j<mNumBars; j++) {
+         msg.peak[j] = ToDB(msg.peak[j], mDBRange);
+         msg.rms[j] = ToDB(msg.rms[j], mDBRange);
+      }
+   }
+
+   mQueue.Put(msg);
+}
+
 void Meter::OnMeterUpdate(wxTimerEvent &evt)
 {
    MeterUpdateMsg msg;
@@ -569,6 +620,8 @@ void Meter::OnMeterUpdate(wxTimerEvent &evt)
       double deltaT = msg.numFrames / mRate;
       int j;
       
+      // <Why is this in the loop, rather than top of the method? 
+      //    Or just a condition on the following, so we pop all the msgs while disabled?>
       if (mMeterDisabled)
          return;
       //wxLogDebug(wxT("Pop: %s"), msg.toString().c_str());
@@ -592,7 +645,8 @@ void Meter::OnMeterUpdate(wxTimerEvent &evt)
             mBar[j].peak = msg.peak[j];
 
          // This smooths out the RMS signal
-         mBar[j].rms = mBar[j].rms * 0.9 + msg.rms[j] * 0.1;
+         float smooth = pow(0.9, (double)msg.numFrames/1024.0);
+         mBar[j].rms = mBar[j].rms * smooth + msg.rms[j] * (1.0 - smooth);
          
          if (mT - mBar[j].peakHoldTime > mPeakHoldDuration ||
              mBar[j].peak > mBar[j].peakHold) {
@@ -652,10 +706,17 @@ void Meter::ResetBar(MeterBar *b, bool resetClipping)
 
 void Meter::HandleLayout()
 {
-   int iconWidth = mIcon->GetWidth();
-   int iconHeight = mIcon->GetHeight();
-   int menuWidth = 17;
-   int menuHeight = 14;
+   int iconWidth = 0;
+   int iconHeight = 0;
+   int menuWidth = 0;
+   int menuHeight = 0;
+   if (mStyle != MixerTrackCluster)
+   {
+      iconWidth = mIcon->GetWidth();
+      iconHeight = mIcon->GetHeight();
+      menuWidth = 17;
+      menuHeight = 11;
+   }
    int width = mWidth;
    int height = mHeight;
    int left = 0, top = 0;
@@ -671,20 +732,25 @@ void Meter::HandleLayout()
       wxPrintf(wxT("Style not handled yet!\n"));
       break;
    case VerticalStereo:
-      #if WANT_METER_MENU
-         mMenuRect = wxRect(mWidth - menuWidth - 5, mHeight - menuHeight - 2,
-                            menuWidth, menuHeight);
-         if (mHeight < (menuHeight + iconHeight + 8))
-            mIconPos = wxPoint(-999, -999); // Don't display
-         else
-      #endif // WANT_METER_MENU
-            mIconPos = wxPoint(mWidth - iconWidth - 1, 1);
+      mMenuRect = wxRect(mWidth - menuWidth - 5, mHeight - menuHeight - 2,
+                         menuWidth, menuHeight);
+      if (mHeight < (menuHeight + iconHeight + 8))
+         mIconPos = wxPoint(-999, -999); // Don't display
+      else
+         mIconPos = wxPoint(mWidth - iconWidth - 1, 1);
       width = intmin(mWidth-(iconWidth+2), mWidth-(menuWidth+3));
+   case MixerTrackCluster:
+      // Doesn't show menu, icon, or L/R labels,
+      // but otherwise like VerticalStereo.
+
       if (width >= mLeftSize.x + mRightSize.x + 24) {
-         mLeftTextPos = wxPoint(2, height-2-mLeftSize.y);
+         if (mStyle != MixerTrackCluster)
+         {
+            mLeftTextPos = wxPoint(2, height-2-mLeftSize.y);
+            left += mLeftSize.x+4;
+         }
          mRightTextPos = wxPoint(width-mLeftSize.x, height-2-mLeftSize.y);
-         left += mLeftSize.x+4;
-         width -= mLeftSize.x + mRightSize.x + 8;
+         width -= mLeftSize.x + mRightSize.x + 8; //vvvvv ...but then -8 in UmixIt? -- for vertical only?
       }
       barw = (width-2)/2;
       barh = height - 4;
@@ -720,24 +786,19 @@ void Meter::HandleLayout()
          mRuler.SetRange(1, 0);
          mRuler.SetFormat(Ruler::RealFormat);
       }
-      #if WANT_METER_MENU
+      if (mStyle != MixerTrackCluster) // MixerTrackCluster style has no menu.
          mRuler.OfflimitsPixels(mMenuRect.y-mBar[1].r.y, mBar[1].r.height);
-      #endif // WANT_METER_MENU
       break;
    case HorizontalStereo:
       if (mWidth < menuWidth + iconWidth + 8) {
          mIconPos = wxPoint(-999, -999); // Don't display icon
-         #if WANT_METER_MENU
-            mMenuRect = wxRect(2, mHeight - menuHeight - 2,
-                               menuWidth, menuHeight);
-         #endif // WANT_METER_MENU
+         mMenuRect = wxRect(2, mHeight - menuHeight - 2,
+                            menuWidth, menuHeight);
       }         
       else {
          mIconPos = wxPoint(2, mHeight - iconHeight);
-         #if WANT_METER_MENU
-            mMenuRect = wxRect(iconWidth + 2, mHeight - menuHeight - 5,
-                               menuWidth, menuHeight);
-         #endif // WANT_METER_MENU
+         mMenuRect = wxRect(iconWidth + 2, mHeight - menuHeight - 5,
+                            menuWidth, menuHeight);
       }
       height = intmin(height-(menuHeight+3), height-iconHeight) - 2;
       left = 2 + intmax(mLeftSize.x, mRightSize.x);
@@ -778,9 +839,7 @@ void Meter::HandleLayout()
          mRuler.SetRange(0, 1);
          mRuler.SetFormat(Ruler::RealFormat);
       }
-      #if WANT_METER_MENU
-         mRuler.OfflimitsPixels(0, mMenuRect.x+mMenuRect.width-4);
-      #endif // WANT_METER_MENU
+      mRuler.OfflimitsPixels(0, mMenuRect.x+mMenuRect.width-4);
       break;
    case Waveform:
       mNumBars = 0;
@@ -808,7 +867,9 @@ void Meter::HandleLayout()
       mAllBarsRect = wxRect(left, top, right-left+1, bottom-top+1);
    }
 
-   CreateIcon(mIconPos.y % 4);
+   // MixerTrackCluster style has no popup, so disallows SetStyle, so never needs icon.
+   //vvvvv There's an ASSERT failure if this:  if (mStyle != MixerTrackCluster)
+      CreateIcon(mIconPos.y % 4);
 
    mLayoutValid = true;
 }
@@ -818,9 +879,21 @@ void Meter::HandlePaint(wxDC &dc)
    int i;
 
    dc.SetFont(GetFont());
-   if (mLeftSize.x == 0) {
-      dc.GetTextExtent(mLeftText, &mLeftSize.x, &mLeftSize.y);
-      dc.GetTextExtent(mRightText, &mRightSize.x, &mRightSize.y);
+   if (mLeftSize.x == 0) { // Not yet initialized to dc.
+      if (mStyle != MixerTrackCluster) // MixerTrackCluster style has no L/R labels.
+      {
+         dc.GetTextExtent(mLeftText, &mLeftSize.x, &mLeftSize.y);
+         dc.GetTextExtent(mRightText, &mRightSize.x, &mRightSize.y);
+      }
+      if ((mStyle == VerticalStereo) || (mStyle == MixerTrackCluster)) // VerticalMulti?
+      {
+         // For any vertical style, also need mRightSize big enough for Ruler width.
+         int rulerWidth;
+         int rulerHeight;
+         dc.GetTextExtent(wxT("-88"), &rulerWidth, &rulerHeight); // -88 is nice and wide.
+         if (mRightSize.x < rulerWidth)
+            mRightSize.x = rulerWidth;
+      }
    }
 
    if (!mLayoutValid)
@@ -839,43 +912,36 @@ void Meter::HandlePaint(wxDC &dc)
    dc.DrawRectangle(0, 0, mWidth, mHeight);
 #endif
 
-   dc.DrawBitmap(*mIcon, mIconPos.x, mIconPos.y, true);
+   // MixerTrackCluster style has no icon or menu.
+   if (mStyle != MixerTrackCluster)
+   {
+      dc.DrawBitmap(*mIcon, mIconPos.x, mIconPos.y, true);
 
-   #if WANT_METER_MENU
       // Draws a beveled button and a down pointing triangle.
       // The style and sizing matches the ones in the title 
       // bar of the waveform left-hand-side panels.
-      {
-         wxRect r = mMenuRect;
-         AColor::Bevel(dc, true, r);
-         dc.SetPen(*wxBLACK_PEN);
-         int triWid = 11;
-         int xStart = r.x+3;
-         int yStart = r.y+4;
-         for(i=0;i<=triWid/2;i++){
-            dc.DrawLine(xStart+i, yStart+i, xStart + triWid - i,yStart+i);
-         }
-      }
 
-      if (mNumBars>0)
-         mRuler.Draw(dc);
-   #else
-      // Label as "Mix Volume" and "Input Volume" for Camp Jam. 
-      int nFontSize = this->GetFont().GetPointSize();
-      int nXPos = mIconPos.x + mIcon->GetWidth() + 8;
-      int nYPos = mIconPos.y + (mIcon->GetHeight() - nFontSize - 6)/2;
-      if (nYPos < 0)
-         nYPos = 0;
-      if (mIsInput)
-         dc.DrawText(_("Input Volume"), nXPos, nYPos);
-      else
-         dc.DrawText(_("Mix Volume"), nXPos, nYPos);
-   #endif // WANT_METER_MENU
-   
-   dc.SetFont(GetFont());
-   dc.DrawText(mLeftText, mLeftTextPos.x, mLeftTextPos.y);
-   dc.DrawText(mRightText, mRightTextPos.x, mRightTextPos.y);
+      wxRect r = mMenuRect;
+      AColor::Bevel(dc, true, r);
+      dc.SetBrush(*wxBLACK_BRUSH);
+      dc.SetPen(*wxBLACK_PEN);
+      AColor::Arrow(dc,
+                    r.x + 3,
+                    r.y + 5,
+                    10);
+   }
+
+   if (mNumBars>0)
+      mRuler.Draw(dc);
    
+   // MixerTrackCluster style has no L/R labels.
+   if (mStyle != MixerTrackCluster)
+   {
+      dc.SetFont(GetFont());
+      dc.DrawText(mLeftText, mLeftTextPos.x, mLeftTextPos.y);
+      dc.DrawText(mRightText, mRightTextPos.x, mRightTextPos.y);
+   }
+
    for(i=0; i<mNumBars; i++)
       DrawMeterBar(dc, &mBar[i]);
 }
@@ -920,9 +986,9 @@ void Meter::DrawMeterBar(wxDC &dc, MeterBar *meterBar)
    AColor::Dark(&dc, false);
    for(i=0; i<mNumTicks; i++)
       if (meterBar->vert)
-         dc.DrawLine(r.x+r.width/2-1, mTick[i], r.x+r.width/2+1, mTick[i]);
+         AColor::Line(dc, r.x+r.width/2-1, mTick[i], r.x+r.width/2+1, mTick[i]);
       else
-         dc.DrawLine(mTick[i], r.y+r.height/2-1, mTick[i], r.y+r.height/2+1);
+         AColor::Line(dc, mTick[i], r.y+r.height/2-1, mTick[i], r.y+r.height/2+1);
    */
 
    dc.SetBrush(*wxTRANSPARENT_BRUSH);
@@ -930,18 +996,18 @@ void Meter::DrawMeterBar(wxDC &dc, MeterBar *meterBar)
 
    if (meterBar->vert) {
       int ht = (int)(meterBar->peakHold * r.height + 0.5);
-      dc.DrawLine(r.x+1, r.y + r.height - ht,
-                  r.x+r.width, r.y + r.height - ht);
+      AColor::Line(dc, r.x+1, r.y + r.height - ht,
+                   r.x+r.width-1, r.y + r.height - ht);
       if (ht > 1)
-         dc.DrawLine(r.x+1, r.y + r.height - ht + 1,
-                     r.x+r.width, r.y + r.height - ht + 1);
+         AColor::Line(dc, r.x+1, r.y + r.height - ht + 1,
+                      r.x+r.width-1, r.y + r.height - ht + 1);
       dc.SetPen(mPeakPeakPen);
       ht = (int)(meterBar->peakPeakHold * r.height + 0.5);
-      dc.DrawLine(r.x+1, r.y + r.height - ht,
-                  r.x+r.width, r.y + r.height - ht);
+      AColor::Line(dc, r.x+1, r.y + r.height - ht,
+                   r.x+r.width-1, r.y + r.height - ht);
       if (ht > 1)
-         dc.DrawLine(r.x+1, r.y + r.height - ht + 1,
-                     r.x+r.width, r.y + r.height - ht + 1);
+         AColor::Line(dc, r.x+1, r.y + r.height - ht + 1,
+                      r.x+r.width-1, r.y + r.height - ht + 1);
 
       dc.SetPen(mPen);
       ht = (int)(meterBar->peak * r.height + 0.5);
@@ -954,15 +1020,15 @@ void Meter::DrawMeterBar(wxDC &dc, MeterBar *meterBar)
    }
    else {
       int wd = (int)(meterBar->peakHold * r.width + 0.5);
-      dc.DrawLine(r.x + wd, r.y + 1, r.x + wd, r.y + r.height);
+      AColor::Line(dc, r.x + wd, r.y + 1, r.x + wd, r.y + r.height - 1);
       if (wd > 1)
-         dc.DrawLine(r.x + wd - 1, r.y + 1, r.x + wd - 1, r.y + r.height);
+         AColor::Line(dc, r.x + wd - 1, r.y + 1, r.x + wd - 1, r.y + r.height - 1);
 
       dc.SetPen(mPeakPeakPen);
       wd = (int)(meterBar->peakPeakHold * r.width + 0.5);
-      dc.DrawLine(r.x + wd, r.y + 1, r.x + wd, r.y + r.height);
+      AColor::Line(dc, r.x + wd, r.y + 1, r.x + wd, r.y + r.height - 1);
       if (wd > 1)
-         dc.DrawLine(r.x + wd - 1, r.y + 1, r.x + wd - 1, r.y + r.height);
+         AColor::Line(dc, r.x + wd - 1, r.y + 1, r.x + wd - 1, r.y + r.height - 1);
       
       dc.SetPen(mPen);
       wd = (int)(meterBar->peak * r.width + 0.5);
@@ -980,11 +1046,11 @@ void Meter::DrawMeterBar(wxDC &dc, MeterBar *meterBar)
 
    dc.SetBrush(*wxTRANSPARENT_BRUSH);
    dc.SetPen(mLightPen);
-   dc.DrawLine(r.x, r.y, r.x + r.width, r.y);
-   dc.DrawLine(r.x, r.y, r.x, r.y + r.height);
+   AColor::Line(dc, r.x, r.y, r.x + r.width, r.y);
+   AColor::Line(dc, r.x, r.y, r.x, r.y + r.height);
    dc.SetPen(mDarkPen);
-   dc.DrawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-   dc.DrawLine(r.x, r.y + r.height, r.x + r.width + 1, r.y + r.height);
+   AColor::Line(dc, r.x + r.width, r.y, r.x + r.width, r.y + r.height);
+   AColor::Line(dc, r.x, r.y + r.height, r.x + r.width, r.y + r.height);
 
    if (mClip) {
       if (meterBar->clipping)
@@ -1006,12 +1072,10 @@ void Meter::StartMonitoring()
    if (gAudioIO->IsMonitoring())
       gAudioIO->StopStream();
    else {
-      #if WANT_METER_MENU
-         if (mMeterDisabled){
-            wxCommandEvent dummy;
-            OnDisableMeter(dummy);
-         }
-      #endif
+      if (mMeterDisabled){
+         wxCommandEvent dummy;
+         OnDisableMeter(dummy);
+      }
 
       AudacityProject *p = GetActiveProject();
       if (p) {
@@ -1028,7 +1092,6 @@ void Meter::StartMonitoring()
 
 }
 
-#if WANT_METER_MENU
 //
 // Pop-up menu handlers
 //
@@ -1138,7 +1201,7 @@ void Meter::OnPreferences(wxCommandEvent &evt)
 {
    wxNumberEntryDialog
       d(this,
-        _("This determines how often the meter is refreshed.\nIf you have a slower PC you may want to select a\nlower refresh rate (30 per second or lower), so that\naudio qualtiy is not affected by the meter display."),
+        _("Higher refresh rates make the meter show more frequent\nchanges. A rate of 30 per second or less should prevent\nthe meter affecting audio quality on slower machines."),
         _("Meter refresh rate per second [1-100]: "),
         _("Meter Preferences"),
         mMeterRefreshRate,
@@ -1147,7 +1210,14 @@ void Meter::OnPreferences(wxCommandEvent &evt)
 
 #if defined(__WXMAC__)
    // WXMAC doesn't support wxFRAME_FLOAT_ON_PARENT, so we do
-   SetWindowClass((WindowRef)d.MacGetWindowRef(), kFloatingWindowClass);
+   //
+   // LL:  I've commented this out because if you have, for instance, the meter
+   //      toolbar undocked and large and then you open a dialog like an effect,
+   //      the dialog may appear behind the dialog and you can't move either one.
+   //
+   //      However, I'm leaving it here because I don't remember why I'd included
+   //      it in the first place.
+// SetWindowClass((WindowRef)d.MacGetWindowRef(), kFloatingWindowClass);
 #endif
 
    if (d.ShowModal() == wxID_OK) {
@@ -1158,8 +1228,6 @@ void Meter::OnPreferences(wxCommandEvent &evt)
    mTimer.Start(1000 / mMeterRefreshRate);
 }
 
-#endif // WANT_METER_MENU
-
 // Indentation settings for Vim and Emacs.
 // Please do not modify past this point.
 //
diff --git a/src/widgets/Meter.h b/src/widgets/Meter.h
index 7cf85c3..b0a424a 100644
--- a/src/widgets/Meter.h
+++ b/src/widgets/Meter.h
@@ -1,4 +1,4 @@
-/**********************************************************************
+	/**********************************************************************
 
   Audacity: A Digital Audio Editor
 
@@ -21,6 +21,7 @@
 #include <wx/timer.h>
 
 #include "../SampleFormat.h"
+#include "../Sequence.h"
 #include "Ruler.h"
 
 // Increase this when we add support for multichannel meters
@@ -84,15 +85,6 @@ class Meter : public wxPanel
    DECLARE_DYNAMIC_CLASS(Meter)
 
  public:
-   Meter(wxWindow* parent, wxWindowID id,
-         bool isInput,
-         const wxPoint& pos = wxDefaultPosition,
-         const wxSize& size = wxDefaultSize);
-
-   ~Meter();
-
-   void UpdatePrefs();
-
    // These should be kept in the same order as they appear
    // in the menu
    enum Style {
@@ -100,9 +92,22 @@ class Meter : public wxPanel
       VerticalStereo,
       VerticalMulti,
       Equalizer,
-      Waveform
+      Waveform, 
+      MixerTrackCluster // Doesn't show menu, icon, or L/R labels, but otherwise like VerticalStereo.
    };
 
+
+   Meter(wxWindow* parent, wxWindowID id,
+         bool isInput,
+         const wxPoint& pos = wxDefaultPosition,
+         const wxSize& size = wxDefaultSize, 
+         Style style = HorizontalStereo, 
+         float fDecayRate = 60.0f);
+
+   ~Meter();
+
+   void UpdatePrefs();
+
    Style GetStyle() { return mStyle; }
    void SetStyle(Style newStyle);
 
@@ -112,6 +117,7 @@ class Meter : public wxPanel
     * different thread (like from an audio I/O callback).
     */
    void Reset(double sampleRate, bool resetClipping);
+
    /** \brief Update the meters with a block of audio data
     *
     * Process the supplied block of audio data, extracting the peak and RMS
@@ -119,6 +125,8 @@ class Meter : public wxPanel
     * clipping that lies on block boundaries.
     * This method is thread-safe!  Feel free to call from a different thread
     * (like from an audio I/O callback).
+    *
+    * First overload:
     * \param numChannels The number of channels of audio being played back or
     * recorded.
     * \param numFrames The number of frames (samples) in this data block. It is
@@ -129,9 +137,17 @@ class Meter : public wxPanel
     * then the second sample of channel 1, second sample of channel 2, and so
     * to the second sample of channel (numChannels). The last sample in the
     * array will be the (numFrames) sample for channel (numChannels).
+    *
+    * The second overload is for ease of use in MixerBoard.
     */
    void UpdateDisplay(int numChannels,
                       int numFrames, float *sampleData);
+   void UpdateDisplay(int numChannels, int numFrames, 
+                        // Need to make these double-indexed max and min arrays if we handle more than 2 channels.
+                        float* maxLeft, float* rmsLeft, 
+                        float* maxRight, float* rmsRight, 
+                        const sampleCount kSampleCount);
+
    /** \brief Find out if the level meter is disabled or not.
     *
     * This method is thread-safe!  Feel free to call from a
diff --git a/src/widgets/ProgressDialog.cpp b/src/widgets/ProgressDialog.cpp
index ead58ad..2ffe5ea 100644
--- a/src/widgets/ProgressDialog.cpp
+++ b/src/widgets/ProgressDialog.cpp
@@ -3,8 +3,15 @@
   Audacity: A Digital Audio Editor
 
   ProgressDialog.cpp
+
+  Copyright
+     Leland Lucius
+     Vaughan Johnson
   
-  Leland Lucius
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
 
 *******************************************************************//**
 
@@ -981,12 +988,13 @@ static const unsigned char beep[] =
 
 BEGIN_EVENT_TABLE(ProgressDialog, wxDialog)
    EVT_BUTTON(wxID_CANCEL, ProgressDialog::OnCancel)
+   EVT_BUTTON(wxID_OK, ProgressDialog::OnStop)
 END_EVENT_TABLE()  
 
 //
 // Constructor
 //
-ProgressDialog::ProgressDialog(const wxString & title, const wxString & message)
+ProgressDialog::ProgressDialog(const wxString & title, const wxString & message, ProgressDialogFlags flags)
 : wxDialog(wxTheApp->GetTopWindow(),
            wxID_ANY,
            title,
@@ -1001,29 +1009,30 @@ ProgressDialog::ProgressDialog(const wxString & title, const wxString & message)
    wxWindow *w;
    wxSize ds;
 
-   SetExtraStyle(GetExtraStyle() | wxWS_EX_TRANSIENT);
-
    // There's a problem where the focus is not returned to the window that had
    // it before creating this object.  The reason is not entirely understood
    // but if the dialog window never gets shown then the focus does not get
    // returned to the original window.  It seems to have something to do with
    // wxWindowDisabler as the problem doesn't occur when it isn't created.
    //
-   // This only seems to be a problem on OSX and GTK.
-   //
    // This never used to be a problem for us because we didn't actually create
    // the wxProgressDialog until after the elapsed time reached .5 seconds.
    // This also meant that the app modal state was not established until .5
    // seconds had passed.  This left a small window where the user would be able
    // to interact with the main window and possibly do things like get two
    // effects running at the same time.
-   //
-   // The resolution (workaround...hackage) seems to be that this dialog MUST
-   // have a parent and that we set the focus back to that parent when we're done.
-   //
-   // Therefore we use whatever wxApp::GetTopWindow() returns as the parent.  The
-   // only time this will be NULL is when Audacity is either starting or stopping.
-   // In either case, it doesn't really matter where focus winds up.
+
+   mHadFocus = wxWindow::FindFocus();
+
+#if defined(__WXGTK__)
+   // Under GTK, when applying any effect that prompts the user, it's more than
+   // like that FindFocus() will return NULL.  So, make sure something has focus.
+   if (GetParent()) {
+      GetParent()->SetFocus();
+   }
+#endif
+
+   SetExtraStyle(GetExtraStyle() | wxWS_EX_TRANSIENT);
 
    v = new wxBoxSizer(wxVERTICAL);
 
@@ -1092,9 +1101,26 @@ ProgressDialog::ProgressDialog(const wxString & title, const wxString & message)
    v->Add(g, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT | wxBOTTOM, 10);
    ds.y += mRemaining->GetSize().y + 10;
 
-   w = new wxButton(this, wxID_CANCEL, _("Cancel"));
-   v->Add(w, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 10);
+   wxBoxSizer *h = new wxBoxSizer(wxHORIZONTAL);
+
+   if (!(flags & pdlgHideStopButton))
+   {
+      w = new wxButton(this, wxID_OK, _("Stop"));
+      h->Add(w, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 10);
+      ds.x += w->GetSize().x + 10;
+   }
+ 
+   if (!(flags & pdlgHideCancelButton))
+   {
+      w = new wxButton(this, wxID_CANCEL, _("Cancel"));
+      h->Add(w, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 10);
+      ds.x += w->GetSize().x + 10;
+   }
+
+   v->Add(h, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, 10);
+
    ds.y += w->GetSize().y + 10;
+
    SetSizerAndFit(v);
 
    wxClientDC dc(this);
@@ -1109,6 +1135,7 @@ ProgressDialog::ProgressDialog(const wxString & title, const wxString & message)
    mStartTime = wxGetLocalTimeMillis().GetValue();
    mLastUpdate = mStartTime;
    mCancel = false;
+   mStop = false;
 
    Show(false);
 
@@ -1136,9 +1163,17 @@ ProgressDialog::~ProgressDialog()
 
    }
 
+#if defined(__WXGTK__)
+   // Under GTK, when applying any effect that prompts the user, it's more than
+   // like that FindFocus() will return NULL.  So, make sure something has focus.
    if (GetParent()) {
       GetParent()->SetFocus();
    }
+#endif
+
+   if (mHadFocus) {
+      mHadFocus->SetFocus();
+   }
 }
 
 //
@@ -1177,12 +1212,17 @@ ProgressDialog::Show(bool show)
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(int value, const wxString & message)
 {
    if (mCancel)
    {
-      return false;
+      // for compatibility with old Update, that returned false on cancel
+      return eProgressCancelled; 
+   }
+   else if (mStop)
+   {
+      return eProgressStopped;
    }
 
    SetMessage(message);
@@ -1227,13 +1267,13 @@ ProgressDialog::Update(int value, const wxString & message)
 
    wxYieldIfNeeded();
 
-   return true;
+   return eProgressSuccess;
 }
 
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(double current, const wxString & message)
 {
    return Update((int)(current * 1000), message);
@@ -1242,7 +1282,7 @@ ProgressDialog::Update(double current, const wxString & message)
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(wxULongLong_t current, wxULongLong_t total, const wxString & message)
 {
    return Update((int)(current * 1000 / total), message);
@@ -1251,7 +1291,7 @@ ProgressDialog::Update(wxULongLong_t current, wxULongLong_t total, const wxStrin
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(wxLongLong current, wxLongLong total, const wxString & message)
 {
    return Update((int)(current.GetValue() * 1000ll / total.GetValue()), message);
@@ -1260,7 +1300,7 @@ ProgressDialog::Update(wxLongLong current, wxLongLong total, const wxString & me
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(wxLongLong_t current, wxLongLong_t total, const wxString & message)
 {
    return Update((int)(current * 1000ll / total), message);
@@ -1269,7 +1309,7 @@ ProgressDialog::Update(wxLongLong_t current, wxLongLong_t total, const wxString
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(int current, int total, const wxString & message)
 {
    return Update((int)(current *  ((double)(1000.0 / total))), message);
@@ -1278,7 +1318,7 @@ ProgressDialog::Update(int current, int total, const wxString & message)
 //
 // Update the time and, optionally, the message
 //
-bool
+int
 ProgressDialog::Update(double current, double total, const wxString & message)
 {
    return Update((int)(current * 1000.0 / total), message);
@@ -1305,6 +1345,14 @@ ProgressDialog::OnCancel(wxCommandEvent & e)
 }
 
 void
+ProgressDialog::OnStop(wxCommandEvent & e)
+{
+   FindWindowById(wxID_OK, this)->Disable();
+   mCancel = false;
+   mStop = true;
+}
+
+void
 ProgressDialog::Beep()
 {
    int after;
@@ -1334,6 +1382,64 @@ ProgressDialog::Beep()
    }
 }
 
+TimerProgressDialog::TimerProgressDialog(const wxLongLong_t duration, 
+                                          const wxString & title, 
+                                          const wxString & message /*= wxEmptyString*/, 
+                                          ProgressDialogFlags flags /*= pdlgEmptyFlags*/)
+: ProgressDialog(title, message, flags)
+{
+   mDuration = duration;
+}
+
+int TimerProgressDialog::Update(const wxString & message /*= wxEmptyString*/)
+{
+   if (mCancel)
+   {
+      // for compatibility with old Update, that returned false on cancel
+      return eProgressCancelled; 
+   }
+   else if (mStop)
+   {
+      return eProgressStopped;
+   }
+
+   SetMessage(message);
+
+   wxLongLong_t now = wxGetLocalTimeMillis().GetValue();
+   wxLongLong_t elapsed = now - mStartTime;
+   wxLongLong_t remains = mStartTime + mDuration - now;
+
+   if (!IsShown() && elapsed > 500)
+   {
+      Show(true);
+   }
+
+   int nGaugeValue = (1000 * elapsed) / mDuration; // range = [0,1000]
+   wxASSERT((nGaugeValue >= 0) && (nGaugeValue <= 1000));
+   if (nGaugeValue != mLastValue)
+   {
+      mGauge->SetValue(nGaugeValue);
+      mLastValue = nGaugeValue;
+   }
+
+   // Only update if a full second has passed.
+   if (now - mLastUpdate > 1000)
+   {
+      wxTimeSpan tsElapsed(0, 0, 0, elapsed);
+      wxTimeSpan tsRemains(0, 0, 0, remains);
+
+      mElapsed->SetLabel(tsElapsed.Format(wxT("%H:%M:%S")));
+      mRemaining->SetLabel(tsRemains.Format(wxT("%H:%M:%S")));
+
+      mLastUpdate = now;
+   }
+
+   wxYieldIfNeeded();
+
+   return eProgressSuccess;
+}
+
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/widgets/ProgressDialog.h b/src/widgets/ProgressDialog.h
index e4b5e6d..afafec5 100644
--- a/src/widgets/ProgressDialog.h
+++ b/src/widgets/ProgressDialog.h
@@ -3,8 +3,15 @@
   Audacity: A Digital Audio Editor
 
   ProgressDialog.h
+
+  Copyright
+     Leland Lucius
+     Vaughan Johnson
   
-  Leland Lucius
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
 
 *************************************************************************/
 
@@ -19,6 +26,21 @@
 #include <wx/stattext.h>
 #include <wx/utils.h>
 
+enum
+{
+   eProgressCancelled = 0, //<! User says that whatever is happening is undesirable and shouldn't have happened at all
+   eProgressSuccess,       //<! User says nothing, everything works fine, continue doing whatever we're doing
+   eProgressFailed,        //<! Something has gone wrong, we should stop and cancel everything we did
+   eProgressStopped        //<! Nothing is wrong, but user says we should stop now and leave things as they are now
+};
+
+enum ProgressDialogFlags
+{
+   pdlgEmptyFlags = 0x00000000,
+   pdlgHideStopButton = 0x00000001,
+   pdlgHideCancelButton = 0x00000002
+} ;
+
 ////////////////////////////////////////////////////////////
 /// ProgressDialog Class
 ////////////////////////////////////////////////////////////
@@ -28,41 +50,58 @@ class AUDACITY_DLL_API ProgressDialog:public wxDialog
 
  public:
 
-   ProgressDialog(const wxString & title, const wxString & message = wxEmptyString);
+   ProgressDialog(const wxString & title, const wxString & message = wxEmptyString, ProgressDialogFlags flags = pdlgEmptyFlags);
    virtual ~ProgressDialog();
 
    bool Show(bool show = true);
 
-   bool Update(int value, const wxString & message = wxEmptyString);
-   bool Update(double current, const wxString & message = wxEmptyString);
-   bool Update(double current, double total, const wxString & message = wxEmptyString);
-   bool Update(wxULongLong_t current, wxULongLong_t total, const wxString & message = wxEmptyString);
-   bool Update(wxLongLong current, wxLongLong total, const wxString & message = wxEmptyString);
-   bool Update(wxLongLong_t current, wxLongLong_t total, const wxString & message = wxEmptyString);
-   bool Update(int current, int total, const wxString & message = wxEmptyString);
+   int Update(int value, const wxString & message = wxEmptyString);
+   int Update(double current, const wxString & message = wxEmptyString);
+   int Update(double current, double total, const wxString & message = wxEmptyString);
+   int Update(wxULongLong_t current, wxULongLong_t total, const wxString & message = wxEmptyString);
+   int Update(wxLongLong current, wxLongLong total, const wxString & message = wxEmptyString);
+   int Update(wxLongLong_t current, wxLongLong_t total, const wxString & message = wxEmptyString);
+   int Update(int current, int total, const wxString & message = wxEmptyString);
    void SetMessage(const wxString & message);
 
  private:
    void OnCancel(wxCommandEvent & e);
+   void OnStop(wxCommandEvent & e);
    void Beep();
 
- private:
-   wxGauge *mGauge;
-   wxStaticText *mMessage;
+ protected:
    wxStaticText *mElapsed;
    wxStaticText *mRemaining;
-   wxWindowDisabler *mDisable;
+   wxGauge *mGauge;
 
    wxLongLong_t mStartTime;
-   wxLongLong_t mLastTime;
    wxLongLong_t mLastUpdate;
-   int mLastValue;
+   int mLastValue; // gauge value, range = [0,1000]
 
    bool mCancel;
+   bool mStop;
+
+ private:
+   wxWindow *mHadFocus;
+   wxStaticText *mMessage;
+   wxWindowDisabler *mDisable;
    
    DECLARE_EVENT_TABLE();
 };
 
+class AUDACITY_DLL_API TimerProgressDialog : public ProgressDialog
+{
+ public:
+   TimerProgressDialog(const wxLongLong_t duration, 
+                        const wxString & title, 
+                        const wxString & message = wxEmptyString, 
+                        ProgressDialogFlags flags = pdlgEmptyFlags);
+   int Update(const wxString & message = wxEmptyString);
+
+ protected:
+   wxLongLong_t mDuration;
+};
+
 #endif
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/widgets/Ruler.cpp b/src/widgets/Ruler.cpp
index 96681a1..9ac77c9 100644
--- a/src/widgets/Ruler.cpp
+++ b/src/widgets/Ruler.cpp
@@ -135,6 +135,13 @@ Ruler::Ruler()
    mUserBitLen = 0;
    
    mValid = false;
+
+   mCustom = false;
+   mbMinor = true;
+
+   mGridLineLength = 0;
+   mMajorGrid = false;
+   mMinorGrid = false;
 }
 
 Ruler::~Ruler()
@@ -253,6 +260,11 @@ void Ruler::SetFlip(bool flip)
    }
 }
 
+void Ruler::SetMinor(bool value)
+{
+   mbMinor = value;
+}
+
 void Ruler::SetFonts(const wxFont &minorFont, const wxFont &majorFont, const wxFont &minorMinorFont)
 {
    *mMinorMinorFont = minorMinorFont;
@@ -638,7 +650,9 @@ wxString Ruler::LabelString(double d, bool major)
             s += t;
          }
          else {
-            int secs = (int)(d);
+            // The casting to float is working around an issue where 59 seconds
+            // would show up as 60 when using g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3.
+            int secs = (int)(float)(d);
             wxString t1, t2, format;
 
             if (secs >= 3600)
@@ -650,7 +664,9 @@ wxString Ruler::LabelString(double d, bool major)
                format.Printf(wxT("%%0%d.%dlf"), mDigits+3, mDigits);
             else
                format.Printf(wxT("%%%d.%dlf"), mDigits+3, mDigits);
-            t2.Printf(format.c_str(), fmod(d, 60.0));
+            // The casting to float is working around an issue where 59 seconds
+            // would show up as 60 when using g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3.
+            t2.Printf(format.c_str(), fmod((float)d, (float)60.0));
 
             s += t1 + t2;
          }
@@ -769,6 +785,121 @@ void Ruler::Tick(int pos, double d, bool major, bool minor)
 
    wxRect r(strLeft, strTop, strW, strH);
    mRect.Union(r);
+
+}
+
+void Ruler::TickCustom(int labelIdx, bool major, bool minor)
+{
+   //This should only used in the mCustom case
+   // Many code comes from 'Tick' method: this should
+   // be optimized.
+
+   int pos;
+   wxString l;
+   wxCoord strW, strH, strD, strL;
+   int strPos, strLen, strLeft, strTop;
+
+   // FIXME: We don't draw a tick if of end of our label arrays
+   // But we shouldn't have an array of labels.
+   if( mNumMinor >= mLength )
+      return;
+   if( mNumMajor >= mLength )
+      return;
+
+   Label *label;
+   if (major)
+      label = &mMajorLabels[labelIdx];
+   else if (minor)
+      label = &mMinorLabels[labelIdx];
+   else
+      label = &mMinorMinorLabels[labelIdx];
+
+   pos = label->pos;         // already stored in label class
+   l   = label->text;
+   label->lx = mLeft - 1000; // don't display
+   label->ly = mTop - 1000;  // don't display
+
+   mDC->SetFont(major? *mMajorFont: minor? *mMinorFont : *mMinorMinorFont);
+
+   mDC->GetTextExtent(l, &strW, &strH, &strD, &strL);
+
+   if (mOrientation == wxHORIZONTAL) {
+      strLen = strW;
+      strPos = pos - strW/2;
+      if (strPos < 0)
+         strPos = 0;
+      if (strPos + strW >= mLength)
+         strPos = mLength - strW;
+      strLeft = mLeft + strPos;
+      if (mFlip) {
+         strTop = mTop + 4;
+         mMaxHeight = max(mMaxHeight, strH + 4);
+      }
+      else {
+
+         strTop =-strH-mLead;
+         strTop = mTop- mLead+4;// More space was needed...
+         mMaxHeight = max(mMaxHeight, strH + 6);
+      }
+   }
+   else {
+      strLen = strH;
+      strPos = pos - strH/2;
+      if (strPos < 0)
+         strPos = 0;
+      if (strPos + strH >= mLength)
+         strPos = mLength - strH;
+      strTop = mTop + strPos;
+      if (mFlip) {
+         strLeft = mLeft + 5;
+         mMaxWidth = max(mMaxWidth, strW + 5);
+      }
+      else {
+
+         strLeft =-strW-6;
+       }
+   }
+
+
+   // FIXME: we shouldn't even get here if strPos < 0.
+   // Ruler code currently does  not handle very small or
+   // negative sized windows (i.e. don't draw) properly.
+   if( strPos < 0 )
+      return;
+
+   // See if any of the pixels we need to draw this
+   // label is already covered
+
+   int i;
+   for(i=0; i<strLen; i++)
+      if (mBits[strPos+i])
+         return;
+
+   // If not, position the label
+
+   label->lx = strLeft;
+   label->ly = strTop;
+
+   // And mark these pixels, plus some surrounding
+   // ones (the spacing between labels), as covered
+   int leftMargin = mSpacing;
+   if (strPos < leftMargin)
+      leftMargin = strPos;
+   strPos -= leftMargin;
+   strLen += leftMargin;
+
+   int rightMargin = mSpacing;
+   if (strPos + strLen > mLength - mSpacing)
+      rightMargin = mLength - strPos - strLen;
+   strLen += rightMargin;
+
+   for(i=0; i<strLen; i++)
+      mBits[strPos+i] = 1;
+
+
+   wxRect r(strLeft, strTop, strW, strH);
+   mRect.Union(r);
+
 }
 
 void Ruler::Update()
@@ -846,23 +977,27 @@ void Ruler::Update( Envelope *speedEnv, long minSpeed, long maxSpeed )
    }
 
    // FIXME: Surely we do not need to allocate storage for the labels?
-   // We can just recompute them as we need them?
-   mNumMajor = 0;
-   mNumMinor = 0;
-   mNumMinorMinor = 0;
-   if (mLength!=mLengthOld) {
-      if (mMajorLabels)
-         delete[] mMajorLabels;
-      mMajorLabels = new Label[mLength+1];
-      if (mMinorLabels)
-         delete[] mMinorLabels;
-      mMinorLabels = new Label[mLength+1];
-      if (mMinorMinorLabels)
-         delete[] mMinorMinorLabels;
-      mMinorMinorLabels = new Label[mLength+1];
-      mLengthOld = mLength;
+   // We can just recompute them as we need them?  Yes, but only if 
+   // mCustom is false!!!! 
+
+   if(!mCustom) {
+      mNumMajor = 0;
+      mNumMinor = 0;
+      mNumMinorMinor = 0;
+      if (mLength!=mLengthOld) {
+         if (mMajorLabels)
+            delete[] mMajorLabels;
+         mMajorLabels = new Label[mLength+1];
+         if (mMinorLabels)
+            delete[] mMinorLabels;
+         mMinorLabels = new Label[mLength+1];
+         if (mMinorMinorLabels)
+            delete[] mMinorMinorLabels;
+         mMinorMinorLabels = new Label[mLength+1];
+         mLengthOld = mLength;
+      }
    }
-   
+
    if (mBits)
       delete[] mBits;
    mBits = new int[mLength+1];
@@ -873,10 +1008,24 @@ void Ruler::Update( Envelope *speedEnv, long minSpeed, long maxSpeed )
       for(i=0; i<=mLength; i++)
          mBits[i] = 0;
 
-   if(mLog==false) {
+   // *************** Label calculation routine **************
+   if(mCustom == true) {
+      
+      // SET PARAMETER IN MCUSTOM CASE
+      // Works only with major labels
+      
+      int numLabel = mNumMajor;
+      
+      i = 0;
+      while((i<numLabel) && (i<=mLength)) {
+         
+         TickCustom(i, true, false);
+         i++;
+      }   
+
+   } else if(mLog==false) {
 
       double UPP = (mMax-mMin)/mLength;  // Units per pixel
-
       FindLinearTickSizes(UPP);
       
       // Left and Right Edges
@@ -919,7 +1068,7 @@ void Ruler::Update( Envelope *speedEnv, long minSpeed, long maxSpeed )
             Tick(i, sg * majorInt * mMajor, true, false);
          }
       }
-         
+
       // Minor ticks
       d = mMin - UPP/2;
       lastD = d;
@@ -1074,7 +1223,6 @@ void Ruler::Draw(wxDC& dc)
 void Ruler::Draw(wxDC& dc, Envelope *speedEnv, long minSpeed, long maxSpeed)
 {
    mDC = &dc;
-
    if( mLength <=0 )
       return;
 
@@ -1145,37 +1293,36 @@ void Ruler::Draw(wxDC& dc, Envelope *speedEnv, long minSpeed, long maxSpeed)
                        mMajorLabels[i].ly);
    }
 
-   mDC->SetFont(*mMinorFont);
-
-   for(i=0; i<mNumMinor; i++) {
-      int pos = mMinorLabels[i].pos;
-
-      if( mbTicksAtExtremes || ((pos!=0)&&(pos!=iMaxPos)))
-      {
-         if (mOrientation == wxHORIZONTAL) 
-         {
-            if (mFlip)
-               mDC->DrawLine(mLeft + pos, mTop,
-                             mLeft + pos, mTop + 2);
-            else
-               mDC->DrawLine(mLeft + pos, mBottom - 2,
-                             mLeft + pos, mBottom);
-         }
-         else 
+   if(mbMinor == true) {
+      mDC->SetFont(*mMinorFont);
+      for(i=0; i<mNumMinor; i++) {
+         int pos = mMinorLabels[i].pos;
+         if( mbTicksAtExtremes || ((pos!=0)&&(pos!=iMaxPos)))
          {
-            if (mFlip)
-               mDC->DrawLine(mLeft, mTop + pos,
-                             mLeft + 2, mTop + pos);
-            else
-               mDC->DrawLine(mRight - 2, mTop + pos,
-                             mRight, mTop + pos);
+            if (mOrientation == wxHORIZONTAL) 
+            {
+               if (mFlip)
+                  mDC->DrawLine(mLeft + pos, mTop,
+                                mLeft + pos, mTop + 2);
+               else
+                  mDC->DrawLine(mLeft + pos, mBottom - 2,
+                                mLeft + pos, mBottom);
+            }
+            else 
+            {
+               if (mFlip)
+                  mDC->DrawLine(mLeft, mTop + pos,
+                                mLeft + 2, mTop + pos);
+               else
+                  mDC->DrawLine(mRight - 2, mTop + pos,
+                                mRight, mTop + pos);
+            }
          }
+         if (mMinorLabels[i].text != wxT(""))
+            mDC->DrawText(mMinorLabels[i].text,
+                          mMinorLabels[i].lx,
+                          mMinorLabels[i].ly);
       }
-
-      if (mMinorLabels[i].text != wxT(""))
-         mDC->DrawText(mMinorLabels[i].text,
-                       mMinorLabels[i].lx,
-                       mMinorLabels[i].ly);
    }
 
    mDC->SetFont(*mMinorMinorFont);
@@ -1210,9 +1357,98 @@ void Ruler::Draw(wxDC& dc, Envelope *speedEnv, long minSpeed, long maxSpeed)
                        mMinorMinorLabels[i].lx,
                        mMinorMinorLabels[i].ly);
       }
+   }  
+}
+
+// ********** Draw grid ***************************
+void Ruler::DrawGrid(wxDC& dc, int length, bool minor, bool major, int xOffset, int yOffset)
+{
+   mGridLineLength = length;
+   mMajorGrid = major;
+   mMinorGrid = minor;
+   mDC = &dc;
+
+   Update();
+
+   int gridPos;
+   wxPen gridPen;
+
+   if(mbMinor && (mMinorGrid && (mGridLineLength != 0 ))) {
+      gridPen.SetColour(178, 178, 178); // very light grey
+      mDC->SetPen(gridPen);
+      for(int i=0; i<mNumMinor; i++) {
+         gridPos = mMinorLabels[i].pos;
+         if(mOrientation == wxHORIZONTAL) {
+            if((gridPos != 0) && (gridPos != mGridLineLength))
+               mDC->DrawLine(gridPos+xOffset, yOffset, gridPos+xOffset, mGridLineLength);
+         }
+         else {
+            if((gridPos != 0) && (gridPos != mGridLineLength))
+               mDC->DrawLine(xOffset, gridPos+yOffset, mGridLineLength+xOffset, gridPos+yOffset);
+         }
+      }
+   }
+
+   if(mMajorGrid && (mGridLineLength != 0 )) {
+      gridPen.SetColour(127, 127, 127); // light grey
+      mDC->SetPen(gridPen);
+      for(int i=0; i<mNumMajor; i++) {
+         gridPos = mMajorLabels[i].pos;
+         if(mOrientation == wxHORIZONTAL) {
+            if((gridPos != 0) && (gridPos != mGridLineLength))
+               mDC->DrawLine(gridPos+xOffset, yOffset, gridPos+xOffset, mGridLineLength+yOffset);
+         }
+         else {
+            if((gridPos != 0) && (gridPos != mGridLineLength))
+               mDC->DrawLine(xOffset, gridPos+yOffset, mGridLineLength+xOffset, gridPos+yOffset);
+         }
+      }
+      
+      int zeroPosition = GetZeroPosition();
+      if(zeroPosition > 0) {
+         // Draw 'zero' grid line in black
+         mDC->SetPen(*wxBLACK_PEN);
+         if(mOrientation == wxHORIZONTAL) {
+            if(zeroPosition != mGridLineLength)
+               mDC->DrawLine(zeroPosition+xOffset, yOffset, zeroPosition+xOffset, mGridLineLength+yOffset);
+         }
+         else {
+            if(zeroPosition != mGridLineLength)
+               mDC->DrawLine(xOffset, zeroPosition+yOffset, mGridLineLength+xOffset, zeroPosition+yOffset);
+         }
+      }
    }
 }
 
+int Ruler::FindZero(Label * label, const int len)
+{
+   int i = 0;
+   double d = 1.0;   // arbitrary
+   wxString s;
+
+   do {
+      s = label[i].text;
+      if(!s.IsEmpty())
+         s.ToDouble(&d);
+      else
+         d = 1.0; // arbitrary, looking for some text here
+      i++;
+   } while( (i < len) && (d != 0.0) );
+
+   if(d == 0.0)
+      return (label[i - 1].pos) ;
+   else
+      return -1;
+}
+
+int Ruler::GetZeroPosition() 
+{
+   int zero;
+   if((zero = FindZero(mMajorLabels, mNumMajor)) < 0)
+      zero = FindZero(mMinorLabels, mNumMinor);
+   return zero;
+}
+
 void Ruler::GetMaxSize(wxCoord *width, wxCoord *height)
 {
 
@@ -1232,6 +1468,36 @@ void Ruler::GetMaxSize(wxCoord *width, wxCoord *height)
 }
 
 
+void Ruler::SetCustomMode(bool value) { mCustom = value; }
+
+void Ruler::SetCustomMajorLabels(wxArrayString *label, int numLabel, int start, int step)
+{
+   int i;
+
+   mNumMajor = numLabel;
+   mMajorLabels = new Label[numLabel];
+
+   for(i=0; i<numLabel; i++) {
+      mMajorLabels[i].text = label->Item(i);
+      mMajorLabels[i].pos  = start + i*step;
+   }
+   //Remember: delete majorlabels....
+}
+
+void Ruler::SetCustomMinorLabels(wxArrayString *label, int numLabel, int start, int step)
+{
+   int i;
+
+   mNumMinor = numLabel;
+   mMinorLabels = new Label[numLabel];
+
+   for(i=0; i<numLabel; i++) {
+      mMinorLabels[i].text = label->Item(i);
+      mMinorLabels[i].pos  = start + i*step;
+   }
+   //Remember: delete majorlabels....
+}
+
 //
 // RulerPanel
 //
@@ -1249,10 +1515,6 @@ RulerPanel::RulerPanel(wxWindow* parent, wxWindowID id,
                        const wxSize& size /*= wxDefaultSize*/):
    wxPanel(parent, id, pos, size)
 {
-   int width, height;
-   GetClientSize(&width, &height);
-
-   ruler.SetBounds(0, 0, width-1, height-1);
 }
 
 RulerPanel::~RulerPanel()
@@ -1278,14 +1540,24 @@ void RulerPanel::OnPaint(wxPaintEvent &evt)
 
 void RulerPanel::OnSize(wxSizeEvent &evt)
 {
-   int width, height;
-   GetClientSize(&width, &height);
-
-   ruler.SetBounds(0, 0, width-1, height-1);
-
    Refresh(false);
 }
 
+// LL:  We're overloading DoSetSize so that we can update the ruler bounds immediately
+//      instead of waiting for a wxEVT_SIZE to come through.  This is needed by (at least)
+//      FreqWindow since it needs to have an updated ruler before RulerPanel gets the
+//      size event.
+void RulerPanel::DoSetSize(int x, int y,
+                           int width, int height,
+                           int sizeFlags)
+{
+   wxPanel::DoSetSize(x, y, width, height, sizeFlags);
+
+   int w, h;
+   GetClientSize(&w, &h);
+
+   ruler.SetBounds(0, 0, w-1, h-1);
+}
 
 /**********************************************************************
 
@@ -1697,7 +1969,7 @@ void AdornedRulerPanel::DrawIndicator( double pos, bool rec )
       return;
    }
 
-   mIndType = ( rec ? 1 : 0 );
+   mIndType = ( rec ? 0 : 1 );
 
    Refresh(false);
 }
diff --git a/src/widgets/Ruler.h b/src/widgets/Ruler.h
index 9d4aa64..3090083 100644
--- a/src/widgets/Ruler.h
+++ b/src/widgets/Ruler.h
@@ -80,6 +80,9 @@ class AUDACITY_DLL_API Ruler {
    // and a horizontal ruler hug the top (instead of bottom)
    void SetFlip(bool flip);
 
+   // Set it to false if you don't want minor labels.
+   void SetMinor(bool value);
+
    // Good defaults are provided, but you can override here
    void SetFonts(const wxFont &minorFont, const wxFont &majorFont, const wxFont &minorMinorFont);
 
@@ -94,6 +97,18 @@ class AUDACITY_DLL_API Ruler {
    //
    void GetMaxSize(wxCoord *width, wxCoord *height);
 
+
+   // The following functions should allow a custom ruler setup:
+   // autosize is a GREAT thing, but for some applications it's
+   // useful the definition of a label array and label step by 
+   // the user.
+   void SetCustomMode(bool value);
+   // If this is the case, you should provide a wxString array of labels, start
+   // label position, and labels step. The range eventually specified will be
+   // ignored.
+   void SetCustomMajorLabels(wxArrayString *label, int numLabel, int start, int step);
+   void SetCustomMinorLabels(wxArrayString *label, int numLabel, int start, int step);
+   
    //
    // Drawing
    //
@@ -101,6 +116,10 @@ class AUDACITY_DLL_API Ruler {
    // Note that it will not erase for you...
    void Draw(wxDC& dc);
    void Draw(wxDC& dc, Envelope *speedEnv, long minSpeed, long maxSpeed);
+   // If length <> 0, draws lines perpendiculars to ruler corresponding
+   // to selected ticks (major, minor, or both), in an adjacent window.
+   // You may need to use the offsets if you are using part of the dc for rulers, borders etc.
+   void DrawGrid(wxDC& dc, int length, bool minor = true, bool major = true, int xOffset = 0, int yOffset = 0);
 
    // So we can have white ticks on black...
    void SetTickColour( const wxColour & colour)
@@ -116,6 +135,9 @@ class AUDACITY_DLL_API Ruler {
 
    void Tick(int pos, double d, bool major, bool minor);
 
+   // Another tick generator for custom ruler case (noauto) .
+   void TickCustom(int labelIdx, bool major, bool minor);
+
 public:
    bool mbTicksOnly;
    bool mbTicksAtExtremes;
@@ -162,7 +184,13 @@ private:
    int          mNumMinorMinor;
    Label       *mMinorMinorLabels;   
 
+   // Returns 'zero' label coordinate (for grid drawing)
+   int FindZero(Label * label, int len);
+   
+   public:
+   int GetZeroPosition();
 
+   private:
    int          mOrientation;
    int          mSpacing;
    bool         mHasSetSpacing;
@@ -170,6 +198,11 @@ private:
    RulerFormat  mFormat;
    bool         mLog;
    bool         mFlip;
+   bool         mCustom;
+   bool         mbMinor;
+   bool         mMajorGrid;      //  for grid drawing
+   bool         mMinorGrid;      //         .
+   int          mGridLineLength; //        end
    wxString     mUnits;
 };
 
@@ -183,6 +216,10 @@ class AUDACITY_DLL_API RulerPanel : public wxPanel {
 
    ~RulerPanel();
 
+   void DoSetSize(int x, int y,
+                  int width, int height,
+                  int sizeFlags = wxSIZE_AUTO);
+
    void OnErase(wxEraseEvent &evt);
    void OnPaint(wxPaintEvent &evt);
    void OnSize(wxSizeEvent &evt);
diff --git a/src/widgets/TimeTextCtrl.cpp b/src/widgets/TimeTextCtrl.cpp
index 423ac5f..c4fb7bc 100644
--- a/src/widgets/TimeTextCtrl.cpp
+++ b/src/widgets/TimeTextCtrl.cpp
@@ -209,6 +209,7 @@ public:
    int digits;
    int pos;   // Index of this field in the ValueString
    int fieldX; // x-position of the field on-screen
+   int fieldW; // width of the field on-screen
    int labelX; // x-position of the label on-screen
    bool zeropad;
    wxString label;
@@ -257,7 +258,8 @@ TimeTextCtrl::TimeTextCtrl(wxWindow *parent,
    mDigitFont(NULL),
    mLabelFont(NULL),
    mFocusedDigit(0),
-   mLastField(-1)
+   mLastField(1),
+   mAutoPos(autoPos)
 {
    /* i18n-hint: Name of time display format that shows time in seconds */
    BuiltinFormatStrings[0].name = _("seconds");
@@ -284,7 +286,7 @@ TimeTextCtrl::TimeTextCtrl(wxWindow *parent,
     * 24 hours in a day in your locale */
    BuiltinFormatStrings[2].formatStr = _("0100 days 024 h 060 m 060 s");
    /* i18n-hint: Name of time display format that shows time in hours,
-    * minutes, seconds and hundreths of a second (1/100 second) */
+    * minutes, seconds and hundredths of a second (1/100 second) */
    BuiltinFormatStrings[3].name = _("hh:mm:ss + hundredths");
    /* i18n-hint: Format string for displaying time in hours, minutes, seconds
     * and hundredths of a second. Change the 'h' to the abbreviation for hours,
@@ -335,7 +337,7 @@ TimeTextCtrl::TimeTextCtrl(wxWindow *parent,
    BuiltinFormatStrings[8].formatStr = _("01000,01000 frames|24");
    /* i18n-hint: Name of time display format that shows time in hours, minutes,
     * seconds and frames at NTSC TV drop-frame rate (used for American /
-    * Japananese TV, and very odd) */
+    * Japanese TV, and very odd) */
    BuiltinFormatStrings[9].name = _("hh:mm:ss + NTSC drop frames");
    /* i18n-hint: Format string for displaying time in hours, minutes, seconds
     * and frames with NTSC drop frames. Change the 'h' to the abbreviation
@@ -344,7 +346,7 @@ TimeTextCtrl::TimeTextCtrl(wxWindow *parent,
    BuiltinFormatStrings[9].formatStr = _("0100 h 060 m 060 s+.30 frames|N");
    /* i18n-hint: Name of time display format that shows time in hours, minutes,
     * seconds and frames at NTSC TV non-drop-frame rate (used for American /
-    * Japananese TV, and doesn't quite match wall time */
+    * Japanese TV, and doesn't quite match wall time */
    BuiltinFormatStrings[10].name = _("hh:mm:ss + NTSC non-drop frames");
    /* i18n-hint: Format string for displaying time in hours, minutes, seconds
     * and frames with NTSC drop frames. Change the 'h' to the abbreviation
@@ -353,7 +355,7 @@ TimeTextCtrl::TimeTextCtrl(wxWindow *parent,
     * the whole things really is slightly off-speed! */
    BuiltinFormatStrings[10].formatStr = _("0100 h 060 m 060 s+.030 frames| .999000999");
    /* i18n-hint: Name of time display format that shows time in frames at NTSC
-    * TV frame rate (used for American / Japananese TV */
+    * TV frame rate (used for American / Japanese TV */
    BuiltinFormatStrings[11].name = _("NTSC frames");
    /* i18n-hint: Format string for displaying time in frames with NTSC frames.
     * Translate 'frames' and leave the rest alone. That really is the frame
@@ -398,17 +400,7 @@ TimeTextCtrl::TimeTextCtrl(wxWindow *parent,
    Layout();
    Fit();
    ValueToControls();
-
-   if (autoPos) {
-      mFocusedDigit = 0;
-      while (mFocusedDigit < ((int)mDigits.GetCount() - 1)) {
-         wxChar dgt = mValueString[mDigits[mFocusedDigit].pos];
-         if (dgt != '0') {
-            break;
-         }
-         mFocusedDigit++;
-      }
-   }
+   ControlsToValue();
 
 #if wxUSE_ACCESSIBILITY
    SetLabel(wxT(""));
@@ -431,6 +423,23 @@ TimeTextCtrl::~TimeTextCtrl()
       delete mLabelFont;
 }
 
+// Set the focus to the first (left-most) non-zero digit
+// If all digits are zero, the right-most position is focused
+void TimeTextCtrl::UpdateAutoFocus()
+{
+   if (!mAutoPos)
+      return;
+
+   mFocusedDigit = 0;
+   while (mFocusedDigit < ((int)mDigits.GetCount() - 1)) {
+      wxChar dgt = mValueString[mDigits[mFocusedDigit].pos];
+      if (dgt != '0') {
+         break;
+      }
+      mFocusedDigit++;
+   }
+}
+
 void TimeTextCtrl::SetFormatString(wxString formatString)
 {
    mFormatString = formatString;
@@ -438,6 +447,8 @@ void TimeTextCtrl::SetFormatString(wxString formatString)
    Layout();
    Fit();
    ValueToControls();
+   ControlsToValue();
+   UpdateAutoFocus();
 }
 
 void TimeTextCtrl::SetSampleRate(double sampleRate)
@@ -447,12 +458,14 @@ void TimeTextCtrl::SetSampleRate(double sampleRate)
    Layout();
    Fit();
    ValueToControls();
+   ControlsToValue();
 }
 
 void TimeTextCtrl::SetTimeValue(double newTime)
 {
    mTimeValue = newTime;
    ValueToControls();
+   ControlsToValue();
 }
 
 void TimeTextCtrl::EnableMenu(bool enable)
@@ -786,6 +799,7 @@ bool TimeTextCtrl::Layout()
       memDC.GetTextExtent(mFields[i].label, &strW, &strH);
       pos += mFields[i].label.Length();
       x += strW;
+      mFields[i].fieldW = x;
    }
 
    mWidth = x + mBorderRight;
@@ -827,13 +841,12 @@ bool TimeTextCtrl::Layout()
    if (mMenuEnabled) {
       wxRect r(mWidth, 0, mButtonWidth - 1, mHeight - 1);
       AColor::Bevel(memDC, true, r);
+      memDC.SetBrush(*wxBLACK_BRUSH);
       memDC.SetPen(*wxBLACK_PEN);
-      int triWid = mButtonWidth - 2;
-      int xStart = mWidth + 1;
-      int yStart = (mHeight / 2) - 2;
-      for (i = 0; i <= (unsigned int)(triWid / 2); i++) {
-         memDC.DrawLine(xStart + i, yStart + i, xStart + triWid - i, yStart + i);
-      }
+      AColor::Arrow(memDC,
+                    mWidth + 1,
+                    (mHeight / 2) - 2,
+                    mButtonWidth - 2);
    }
    return true;
 }
@@ -1029,6 +1042,7 @@ void TimeTextCtrl::OnCaptureKey(wxCommandEvent &event)
 
 void TimeTextCtrl::OnKeyDown(wxKeyEvent &event)
 {
+   event.Skip(false);
    int keyCode = event.GetKeyCode();
    int digit = mFocusedDigit;
 
@@ -1127,25 +1141,24 @@ void TimeTextCtrl::OnKeyDown(wxKeyEvent &event)
 void TimeTextCtrl::SetFieldFocus(int digit)
 {
 #if wxUSE_ACCESSIBILITY
-   if (mLastField != -1) {
-      GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_SELECTIONREMOVE,
-                   this,
-                   wxOBJID_CLIENT,
-                   mLastField);
-   }
-
    mFocusedDigit = digit;
    mLastField = mDigits[mFocusedDigit].field + 1;
 
+   // This looks strange (and it is), but it was the only way I could come
+   // up with that allowed Jaws, Window-Eyes, and NVDA to read the control
+   // somewhat the same.  See TimeTextCtrlAx below for even more odd looking
+   // hackery.
+   //
+   // If you change SetFieldFocus(), Updated(), or TimeTextCtrlAx, make sure
+   // you test with Jaws, Window-Eyes, and NVDA.
    GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_FOCUS,
-                this,
-                wxOBJID_CLIENT,
-                mLastField);
-
-   GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_SELECTION,
-                this,
-                wxOBJID_CLIENT,
-                mLastField);
+                                this,
+                                wxOBJID_CLIENT,
+                                0);
+   GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_FOCUS,
+                                this,
+                                wxOBJID_CLIENT,
+                                mFocusedDigit + 1);
 #endif
 }
 
@@ -1154,11 +1167,13 @@ void TimeTextCtrl::Updated()
    wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, GetId());
    event.SetEventObject(this);
    GetEventHandler()->ProcessEvent(event);
+
 #if wxUSE_ACCESSIBILITY
-   GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_VALUECHANGE,
+   GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_NAMECHANGE,
                                 this,
                                 wxOBJID_CLIENT,
-                                mDigits[ mFocusedDigit ].field + 1);
+                                mFocusedDigit + 1);
+   SetFieldFocus(mFocusedDigit);
 #endif
 }
 
@@ -1201,6 +1216,8 @@ void TimeTextCtrl::Increase(int steps)
       }
       steps--;
    }
+
+   ControlsToValue();
 }
 
 void TimeTextCtrl::Decrease(int steps)
@@ -1242,6 +1259,8 @@ void TimeTextCtrl::Decrease(int steps)
       }
       steps--;
    }
+
+   ControlsToValue();
 }
 
 void TimeTextCtrl::ValueToControls()
@@ -1352,10 +1371,12 @@ void TimeTextCtrl::ControlsToValue()
 
 #if wxUSE_ACCESSIBILITY
 
-TimeTextCtrlAx::TimeTextCtrlAx( wxWindow *window ):
-   wxWindowAccessible( window )
+TimeTextCtrlAx::TimeTextCtrlAx(TimeTextCtrl *ctrl)
+:  wxWindowAccessible(ctrl)
 {
-   mCtrl = wxDynamicCast( window, TimeTextCtrl );
+   mCtrl = ctrl;
+   mLastField = -1;
+   mLastDigit = -1;
 }
 
 TimeTextCtrlAx::~TimeTextCtrlAx()
@@ -1373,14 +1394,12 @@ wxAccStatus TimeTextCtrlAx::DoDefaultAction(int childId)
 
 // Retrieves the address of an IDispatch interface for the specified child.
 // All objects must support this property.
-wxAccStatus TimeTextCtrlAx::GetChild( int childId, wxAccessible** child )
+wxAccStatus TimeTextCtrlAx::GetChild(int childId, wxAccessible **child)
 {
-   if( childId == wxACC_SELF )
-   {
+   if (childId == wxACC_SELF) {
       *child = this;
    }
-   else
-   {
+   else {
       *child = NULL;
    }
 
@@ -1388,9 +1407,9 @@ wxAccStatus TimeTextCtrlAx::GetChild( int childId, wxAccessible** child )
 }
 
 // Gets the number of children.
-wxAccStatus TimeTextCtrlAx::GetChildCount(int* childCount)
+wxAccStatus TimeTextCtrlAx::GetChildCount(int *childCount)
 {
-   *childCount = mCtrl->mFields.GetCount();
+   *childCount = mCtrl->mDigits.GetCount();
 
    return wxACC_OK;
 }
@@ -1402,15 +1421,15 @@ wxAccStatus TimeTextCtrlAx::GetChildCount(int* childCount)
 // object, not what the object does as a result. For example, a
 // toolbar button that prints a document has a default action of
 // "Press" rather than "Prints the current document."
-wxAccStatus TimeTextCtrlAx::GetDefaultAction(int childId, wxString* actionName)
+wxAccStatus TimeTextCtrlAx::GetDefaultAction(int childId, wxString *actionName)
 {
-   *actionName = wxT("");
+   actionName->Clear();
 
    return wxACC_OK;
 }
 
 // Returns the description for this object or a child.
-wxAccStatus TimeTextCtrlAx::GetDescription( int childId, wxString *description )
+wxAccStatus TimeTextCtrlAx::GetDescription(int childId, wxString *description)
 {
    description->Clear();
 
@@ -1421,21 +1440,20 @@ wxAccStatus TimeTextCtrlAx::GetDescription( int childId, wxString *description )
 // If childId is 0 and child is NULL, no object in
 // this subhierarchy has the focus.
 // If this object has the focus, child should be 'this'.
-wxAccStatus TimeTextCtrlAx::GetFocus(int* childId, wxAccessible** child)
+wxAccStatus TimeTextCtrlAx::GetFocus(int *childId, wxAccessible **child)
 {
-   *childId = mCtrl->mDigits[mCtrl->mFocusedDigit].field + 1;
+   *childId = mCtrl->GetFocusedDigit();
    *child = this;
 
    return wxACC_OK;
 }
 
 // Returns help text for this object or a child, similar to tooltip text.
-wxAccStatus TimeTextCtrlAx::GetHelpText( int childId, wxString *helpText )
+wxAccStatus TimeTextCtrlAx::GetHelpText(int childId, wxString *helpText)
 {
-#if wxUSE_TOOLTIPS // Not available in wxX11
+#if wxUSE_TOOLTIPS
    wxToolTip *pTip = mCtrl->GetToolTip();
-   if( pTip )
-   {
+   if (pTip) {
       *helpText = pTip->GetTip();
    }
 
@@ -1449,7 +1467,7 @@ wxAccStatus TimeTextCtrlAx::GetHelpText( int childId, wxString *helpText )
 
 // Returns the keyboard shortcut for this object or child.
 // Return e.g. ALT+K
-wxAccStatus TimeTextCtrlAx::GetKeyboardShortcut( int childId, wxString *shortcut )
+wxAccStatus TimeTextCtrlAx::GetKeyboardShortcut(int childId, wxString *shortcut)
 {
    shortcut->Clear();
 
@@ -1458,58 +1476,92 @@ wxAccStatus TimeTextCtrlAx::GetKeyboardShortcut( int childId, wxString *shortcut
 
 // Returns the rectangle for this object (id = 0) or a child element (id > 0).
 // rect is in screen coordinates.
-wxAccStatus TimeTextCtrlAx::GetLocation( wxRect& rect, int elementId )
+wxAccStatus TimeTextCtrlAx::GetLocation(wxRect & rect, int elementId)
 {
-   if( elementId == wxACC_SELF )
-   {
-      rect = mCtrl->GetRect();
-      rect.SetPosition( mCtrl->GetParent()->ClientToScreen( rect.GetPosition() ) );
-   }
-   else
-   {
-      rect = mCtrl->mDigits[elementId - 1].digitBox;
-      rect.SetPosition( mCtrl->ClientToScreen( rect.GetPosition() ) );
+   rect = mCtrl->GetRect();
+
+   if (elementId != wxACC_SELF) {
+//      rect.x += mCtrl->mFields[elementId - 1].fieldX;
+//      rect.width =  mCtrl->mFields[elementId - 1].fieldW;
+        rect = mCtrl->mDigits[elementId - 1].digitBox;
    }
 
+   rect.SetPosition(mCtrl->GetParent()->ClientToScreen(rect.GetPosition()));
+
    return wxACC_OK;
 }
 
 // Gets the name of the specified object.
-wxAccStatus TimeTextCtrlAx::GetName(int childId, wxString* name)
+wxAccStatus TimeTextCtrlAx::GetName(int childId, wxString *name)
 {
-   if( childId == wxACC_SELF )
-   {
+   wxString value = mCtrl->GetTimeString();
+   int field = mCtrl->GetFocusedField();
+
+   // Return the entire time string including the control label
+   // when the requested child ID is wxACC_SELF.  (Mainly when
+   // the control gets the focus.)
+   if (childId == wxACC_SELF) {
       *name = mCtrl->GetName();
-      if( name->IsEmpty() )
-      {
+      if (name->IsEmpty()) {
          *name = mCtrl->GetLabel();
       }
+
+      *name += wxT(" ") +
+               mCtrl->GetTimeString();
    }
-   else
-   {
-      *name = mCtrl->mFields[childId - 1].label;
-   }
+   // The user has moved from one field of the time to another so
+   // report the value of the field and the field's label.
+   else if (mLastField != field) {
+      wxString label = mCtrl->mFields[field - 1].label;
+      int cnt = mCtrl->mFields.GetCount();
+      wxString decimal = wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER);
+
+      // If the new field is the last field, then check it to see if
+      // it represents fractions of a second.
+      if (field > 1 && field == cnt) {
+         if (mCtrl->mFields[field - 2].label == decimal) {
+            int digits = mCtrl->mFields[field - 1].digits;
+            if (digits == 2) {
+               label = _("centiseconds");
+            }
+            else if (digits == 3) {
+               label = _("milliseconds");
+            }
+         }
+      }
+      // If the field following this one represents fractions of a
+      // second then use that label instead of the decimal point.
+      else if (label == decimal && field == cnt - 1) {
+         label = mCtrl->mFields[field].label;
+      }
 
-   if( name->IsEmpty() )
-   {
-      *name = _("Time Control");
+      *name = mCtrl->mFields[field - 1].str +
+              wxT(" ") +
+              label +
+              wxT(" ") +
+              mCtrl->GetTimeString().at(mCtrl->mDigits[childId - 1].pos);
+      mLastField = field;
+      mLastDigit = childId;
+   }
+   // The user has moved from one digit to another within a field so
+   // just report the digit under the cursor.
+   else if (mLastDigit != childId) {
+      *name = mCtrl->GetTimeString().at(mCtrl->mDigits[childId - 1].pos);
+      mLastDigit = childId;
+   }
+   // The user has updated the value of a field, so report the field's
+   // value only.
+   else {
+      *name = mCtrl->mFields[field - 1].str;
    }
 
    return wxACC_OK;
 }
 
 // Returns a role constant.
-wxAccStatus TimeTextCtrlAx::GetRole(int childId, wxAccRole* role)
+wxAccStatus TimeTextCtrlAx::GetRole(int childId, wxAccRole *role)
 {
-   if( childId == wxACC_SELF )
-   {
-      *role = wxROLE_SYSTEM_STATICTEXT;
-   }
-   else
-   {
-      *role = wxROLE_SYSTEM_SPINBUTTON;
-   }
-
+   *role = wxROLE_SYSTEM_STATICTEXT;
    return wxACC_OK;
 }
 
@@ -1521,35 +1573,25 @@ wxAccStatus TimeTextCtrlAx::GetRole(int childId, wxAccRole* role)
 // - an integer representing the selected child element,
 //   or 0 if this object is selected (GetType() == wxT("long"))
 // - a "void*" pointer to a wxAccessible child object
-wxAccStatus TimeTextCtrlAx::GetSelections( wxVariant *selections )
+wxAccStatus TimeTextCtrlAx::GetSelections(wxVariant *selections)
 {
    return wxACC_NOT_IMPLEMENTED;
 }
 
 // Returns a state constant.
-wxAccStatus TimeTextCtrlAx::GetState(int childId, long* state)
+wxAccStatus TimeTextCtrlAx::GetState(int childId, long *state)
 {
    *state = wxACC_STATE_SYSTEM_FOCUSABLE;
-   *state |= ( mCtrl == wxWindow::FindFocus() ? wxACC_STATE_SYSTEM_FOCUSED : 0 );
+   *state |= (mCtrl == wxWindow::FindFocus() ? wxACC_STATE_SYSTEM_FOCUSED : 0);
 
    return wxACC_OK;
 }
 
 // Returns a localized string representing the value for the object
 // or child.
-wxAccStatus TimeTextCtrlAx::GetValue(int childId, wxString* strValue)
+wxAccStatus TimeTextCtrlAx::GetValue(int childId, wxString *strValue)
 {
-   if( childId == wxACC_SELF )
-   {
-      *strValue = mCtrl->GetTimeString();
-   }
-   else
-   {
-      mCtrl->ControlsToValue();
-      *strValue = mCtrl->mFields[childId - 1].str;
-   }
-
-   return wxACC_OK;
+   return wxACC_NOT_IMPLEMENTED;
 }
 
 #endif
diff --git a/src/widgets/TimeTextCtrl.h b/src/widgets/TimeTextCtrl.h
index 66910c7..3d7f9dc 100644
--- a/src/widgets/TimeTextCtrl.h
+++ b/src/widgets/TimeTextCtrl.h
@@ -24,9 +24,6 @@
 #include <wx/textctrl.h>
 
 #if wxUSE_ACCESSIBILITY
-#if defined(__WXMSW__)
-#include <oleacc.h>
-#endif
 #include <wx/access.h>
 #endif
 
@@ -46,8 +43,7 @@ WX_DECLARE_OBJARRAY(TimeField, TimeFieldArray);
 class DigitInfo;
 WX_DECLARE_OBJARRAY(DigitInfo, DigitInfoArray);
 
-class TimeTextCtrl: public wxControl
-{
+class TimeTextCtrl: public wxControl{
    friend class TimeTextCtrlAx;
 
  public:
@@ -85,6 +81,9 @@ class TimeTextCtrl: public wxControl
 
    void EnableMenu(bool enable = true);
 
+   int GetFocusedField() { return mLastField; };
+   int GetFocusedDigit() { return mFocusedDigit; };
+
 private:
 
    void OnCaptureKey(wxCommandEvent &event);
@@ -103,6 +102,9 @@ private:
 
    void PrintDebugInfo();
 
+   // If autoPos was enabled, focus the first non-zero digit
+   void UpdateAutoFocus();
+
    void Updated();
    void Increase(int steps);
    void Decrease(int steps);
@@ -143,6 +145,9 @@ private:
    int            mFocusedDigit;
    int            mLastField;
 
+   // If true, the focus will be set to the first non-zero digit
+   bool           mAutoPos;
+
    DigitInfoArray mDigits;
 
    TimeFieldArray mFields;
@@ -157,7 +162,7 @@ private:
 class TimeTextCtrlAx: public wxWindowAccessible
 {
 public:
-   TimeTextCtrlAx(wxWindow * window);
+   TimeTextCtrlAx(TimeTextCtrl * ctrl);
 
    virtual ~ TimeTextCtrlAx();
 
@@ -169,10 +174,10 @@ public:
 
    // Retrieves the address of an IDispatch interface for the specified child.
    // All objects must support this property.
-   virtual wxAccStatus GetChild( int childId, wxAccessible** child );
+   virtual wxAccStatus GetChild(int childId, wxAccessible **child);
 
    // Gets the number of children.
-   virtual wxAccStatus GetChildCount(int* childCount);
+   virtual wxAccStatus GetChildCount(int *childCount);
 
    // Gets the default action for this object (0) or > 0 (the action for a child).
    // Return wxACC_OK even if there is no action. actionName is the action, or the empty
@@ -180,33 +185,33 @@ public:
    // The retrieved string describes the action that is performed on an object,
    // not what the object does as a result. For example, a toolbar button that prints
    // a document has a default action of "Press" rather than "Prints the current document."
-   virtual wxAccStatus GetDefaultAction( int childId, wxString *actionName );
+   virtual wxAccStatus GetDefaultAction(int childId, wxString *actionName);
 
    // Returns the description for this object or a child.
-   virtual wxAccStatus GetDescription( int childId, wxString *description );
+   virtual wxAccStatus GetDescription(int childId, wxString *description);
 
    // Gets the window with the keyboard focus.
    // If childId is 0 and child is NULL, no object in
    // this subhierarchy has the focus.
    // If this object has the focus, child should be 'this'.
-   virtual wxAccStatus GetFocus( int *childId, wxAccessible **child );
+   virtual wxAccStatus GetFocus(int *childId, wxAccessible **child);
 
    // Returns help text for this object or a child, similar to tooltip text.
-   virtual wxAccStatus GetHelpText( int childId, wxString *helpText );
+   virtual wxAccStatus GetHelpText(int childId, wxString *helpText);
 
    // Returns the keyboard shortcut for this object or child.
    // Return e.g. ALT+K
-   virtual wxAccStatus GetKeyboardShortcut( int childId, wxString *shortcut );
+   virtual wxAccStatus GetKeyboardShortcut(int childId, wxString *shortcut);
 
    // Returns the rectangle for this object (id = 0) or a child element (id > 0).
    // rect is in screen coordinates.
-   virtual wxAccStatus GetLocation( wxRect& rect, int elementId );
+   virtual wxAccStatus GetLocation(wxRect & rect, int elementId);
 
    // Gets the name of the specified object.
-   virtual wxAccStatus GetName( int childId, wxString *name );
+   virtual wxAccStatus GetName(int childId, wxString *name);
 
    // Returns a role constant.
-   virtual wxAccStatus GetRole( int childId, wxAccRole *role );
+   virtual wxAccStatus GetRole(int childId, wxAccRole *role);
 
    // Gets a variant representing the selected children
    // of this object.
@@ -216,17 +221,19 @@ public:
    // - an integer representing the selected child element,
    //   or 0 if this object is selected (GetType() == wxT("long"))
    // - a "void*" pointer to a wxAccessible child object
-   virtual wxAccStatus GetSelections( wxVariant *selections );
+   virtual wxAccStatus GetSelections(wxVariant *selections);
 
    // Returns a state constant.
-   virtual wxAccStatus GetState(int childId, long* state);
+   virtual wxAccStatus GetState(int childId, long *state);
 
    // Returns a localized string representing the value for the object
    // or child.
-   virtual wxAccStatus GetValue(int childId, wxString* strValue);
+   virtual wxAccStatus GetValue(int childId, wxString *strValue);
 
 private:
    TimeTextCtrl *mCtrl;
+   int mLastField;
+   int mLastDigit;
 };
 
 #endif // wxUSE_ACCESSIBILITY
@@ -243,4 +250,3 @@ private:
 //
 // vim: et sts=3 sw=3
 // 
-
diff --git a/src/widgets/Warning.cpp b/src/widgets/Warning.cpp
index c24437a..4300f1a 100644
--- a/src/widgets/Warning.cpp
+++ b/src/widgets/Warning.cpp
@@ -36,8 +36,6 @@ class WarningDialog : public wxDialog
    // constructors and destructors
    WarningDialog(wxWindow *parent, 
                  wxString message);
-
-   bool dontShow;
    
  private:
    void OnOK(wxCommandEvent& event);
@@ -52,8 +50,7 @@ BEGIN_EVENT_TABLE(WarningDialog, wxDialog)
 END_EVENT_TABLE()
 
 WarningDialog::WarningDialog(wxWindow *parent, wxString message)
-:  wxDialog(parent, wxID_ANY, (wxString)_("Warning")),
-   dontShow( false )
+:  wxDialog(parent, wxID_ANY, (wxString)_("Warning"))
 {
    ShuttleGui S(this, eIsCreating);
 
@@ -61,44 +58,33 @@ WarningDialog::WarningDialog(wxWindow *parent, wxString message)
    S.StartVerticalLay(false);
    {
       S.AddUnits(message);
-      mCheckBox = S.TieCheckBox(_("Don't show this warning again"), dontShow);
+      mCheckBox = S.AddCheckBox(_("Don't show this warning again"), wxT("false"));
    }
 
    S.SetBorder(0);
    S.AddStandardButtons(eOkButton);
 
    Fit();
+   CentreOnParent();
 }
 
 void WarningDialog::OnOK(wxCommandEvent& event)
 {
-   dontShow = mCheckBox->GetValue();
-
-   EndModal(wxID_OK);
+   EndModal(mCheckBox->GetValue() == false);
 }
 
 void ShowWarningDialog(wxWindow *parent,
                        wxString internalDialogName,
                        wxString message)
 {
-   bool dontShow = false;
-
-   gPrefs->SetPath(wxT("/Warnings"));
-   gPrefs->Read(internalDialogName, &dontShow, false);
-   gPrefs->SetPath(wxT("/"));
-
-   if (dontShow)
+   wxString key(wxT("/Warnings/") + internalDialogName);
+   if (!gPrefs->Read(key, (long) true)) {
       return;
+   }
 
    WarningDialog dlog(parent, message);
-   dlog.CentreOnParent();
-   dlog.ShowModal();
 
-   if (dlog.dontShow) {
-      gPrefs->SetPath(wxT("/Warnings"));
-      gPrefs->Write(internalDialogName, true);
-      gPrefs->SetPath(wxT("/"));
-   }
+   gPrefs->Write(key, dlog.ShowModal());
 }
 
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
diff --git a/src/xml/XMLFileReader.cpp b/src/xml/XMLFileReader.cpp
index 5b09101..a7cc718 100644
--- a/src/xml/XMLFileReader.cpp
+++ b/src/xml/XMLFileReader.cpp
@@ -27,7 +27,7 @@ XMLFileReader::XMLFileReader()
    mParser = XML_ParserCreate(NULL);
    XML_SetUserData(mParser, (void *)this);
    XML_SetElementHandler(mParser, startElement, endElement);
-
+   XML_SetCharacterDataHandler(mParser, charHandler); 
    mBaseHandler = NULL;
    mMaxDepth = 128;
    mHandler = new XMLTagHandler*[mMaxDepth];
@@ -128,6 +128,15 @@ void XMLFileReader::endElement(void *userData, const char *name)
    This->mDepth--;
 }
 
+// static
+void XMLFileReader::charHandler(void *userData, const char *s, int len)
+{
+   XMLFileReader *This = (XMLFileReader *)userData;
+
+   if (This->mHandler[This->mDepth])
+      This->mHandler[This->mDepth]->ReadXMLContent(s, len);
+}
+
 // Indentation settings for Vim and Emacs and unique identifier for Arch, a
 // version control system. Please do not modify past this point.
 //
diff --git a/src/xml/XMLFileReader.h b/src/xml/XMLFileReader.h
index 1d15627..3364b18 100644
--- a/src/xml/XMLFileReader.h
+++ b/src/xml/XMLFileReader.h
@@ -31,6 +31,8 @@ class XMLFileReader {
 
    static void endElement(void *userData, const char *name);
 
+   static void charHandler(void *userData, const char *s, int len);
+
  private:
    XML_Parser       mParser;
    int              mMaxDepth;
diff --git a/src/xml/XMLTagHandler.cpp b/src/xml/XMLTagHandler.cpp
index 4c8487c..7bfa1b4 100644
--- a/src/xml/XMLTagHandler.cpp
+++ b/src/xml/XMLTagHandler.cpp
@@ -150,40 +150,6 @@ bool XMLValueChecker::IsValidSampleFormat(const int nValue)
    return (nValue == int16Sample) || (nValue == int24Sample) || (nValue == floatSample);
 }
 
-
-// See http://www.w3.org/TR/REC-xml for reference
-wxString XMLTagHandler::XMLEsc(wxString s)
-{
-   wxString result;
-   int len = s.Length();
-
-   for(int i=0; i<len; i++) {
-      wxChar c = s.GetChar(i);
-
-      switch (c) {
-         case wxT('\''):
-            result += wxT("&apos;");
-            break;
-         case wxT('"'):
-            result += wxT("&quot;");
-            break;
-         case wxT('&'):
-            result += wxT("&amp;");
-            break;
-         case wxT('<'):
-            result += wxT("&lt;");
-            break;
-         case wxT('>'):
-            result += wxT("&gt;");
-            break;
-         default:
-            result += c;
-      }
-   }
-
-   return result;
-}
-
 bool XMLTagHandler::ReadXMLTag(const char *tag, const char **attrs)
 {
    wxArrayString tmp_attrs;
@@ -214,6 +180,11 @@ void XMLTagHandler::ReadXMLEndTag(const char *tag)
    HandleXMLEndTag(UTF8CTOWX(tag).c_str());
 }
 
+void XMLTagHandler::ReadXMLContent(const char *s, int len)
+{
+   HandleXMLContent(wxString(s, wxConvUTF8, len));
+}
+
 XMLTagHandler *XMLTagHandler::ReadXMLChild(const char *tag)
 {
    return HandleXMLChild(UTF8CTOWX(tag).c_str());
diff --git a/src/xml/XMLTagHandler.h b/src/xml/XMLTagHandler.h
index 0429a74..08ac888 100644
--- a/src/xml/XMLTagHandler.h
+++ b/src/xml/XMLTagHandler.h
@@ -65,6 +65,11 @@ class AUDACITY_DLL_API XMLTagHandler {
    // It is optional to override this method.
    virtual void HandleXMLEndTag(const wxChar *tag) {}
 
+   // This method will be called when element content has been
+   // encountered.
+   // It is optional to override this method.
+   virtual void HandleXMLContent(const wxString & content) {}
+
    // If the XML document has children of your tag, this method
    // should be called.  Typically you should construct a new
    // object for the child, insert it into your own local data
@@ -72,24 +77,11 @@ class AUDACITY_DLL_API XMLTagHandler {
    // handle this child, return NULL and it will be ignored.
    virtual XMLTagHandler *HandleXMLChild(const wxChar *tag) = 0;
 
-   // When this method is called, write your own tag and tags for
-   // all of your children to the file.  One tag should appear
-   // per line, and each tag should be preceded with [depth]
-   // tab characters.
-   virtual void WriteXML(XMLWriter &xmlFile) = 0;
-
-   //
-   // Utility methods you should call
-   //
-
-   // Escape a string, replacing certain characters with their
-   // XML encoding, i.e. '<' becomes '&lt;'
-   static wxString XMLEsc(wxString s);
-
    // These functions recieve data from expat.  They do charset
    // conversion and then pass the data to the handlers above.
    bool ReadXMLTag(const char *tag, const char **attrs);
    void ReadXMLEndTag(const char *tag);
+   void ReadXMLContent(const char *s, int len);
    XMLTagHandler *ReadXMLChild(const char *tag);
 };
 
diff --git a/src/xml/XMLWriter.cpp b/src/xml/XMLWriter.cpp
index 2bad0d8..6f1c811 100644
--- a/src/xml/XMLWriter.cpp
+++ b/src/xml/XMLWriter.cpp
@@ -103,7 +103,7 @@ void XMLWriter::WriteAttr(const wxString &name, const wxString &value)
 {
    Write(wxString::Format(wxT(" %s=\"%s\""),
       name.c_str(),
-      XMLTagHandler::XMLEsc(value).c_str()));
+      XMLEsc(value).c_str()));
 }
 
 void XMLWriter::WriteAttr(const wxChar *name, const wxChar *value)
@@ -213,7 +213,7 @@ void XMLWriter::WriteData(const wxString &value)
       Write(wxT("\t"));
    }
 
-   Write(XMLTagHandler::XMLEsc(value));
+   Write(XMLEsc(value));
 }
 
 void XMLWriter::WriteData(const wxChar *value)
@@ -242,6 +242,50 @@ void XMLWriter::Write(const wxChar *value)
    Write(wxString(value));
 }
 
+// See http://www.w3.org/TR/REC-xml for reference
+wxString XMLWriter::XMLEsc(const wxString & s)
+{
+   wxString result;
+   int len = s.Length();
+
+   for(int i=0; i<len; i++) {
+      wxUChar c = s.GetChar(i);
+
+      switch (c) {
+         case wxT('\''):
+            result += wxT("&apos;");
+         break;
+
+         case wxT('"'):
+            result += wxT("&quot;");
+         break;
+
+         case wxT('&'):
+            result += wxT("&amp;");
+         break;
+
+         case wxT('<'):
+            result += wxT("&lt;");
+         break;
+
+         case wxT('>'):
+            result += wxT("&gt;");
+         break;
+
+         default:
+            if (!wxIsprint(c)) {
+               result += wxString::Format(wxT("&#x%04x;"), c);
+            }
+            else {
+               result += c;
+            }
+         break;
+      }
+   }
+
+   return result;
+}
+
 ///
 /// XMLFileWriter class
 ///
@@ -256,23 +300,45 @@ XMLFileWriter::~XMLFileWriter()
    }
 }
 
-bool XMLFileWriter::Open(const wxString &name, const wxString &mode)
+void XMLFileWriter::Open(const wxString &name, const wxString &mode)
 {
-   return wxFFile::Open(name, mode);
+   if (!wxFFile::Open(name, mode))
+      throw new XMLFileWriterException(_("Error opening file"));
 }
 
-bool XMLFileWriter::Close()
+void XMLFileWriter::Close()
 {
    while (mTagstack.GetCount()) {
       EndTag(mTagstack[0]);
    }
 
-   return wxFFile::Close();
+   CloseWithoutEndingTags();
+}
+
+void XMLFileWriter::CloseWithoutEndingTags()
+{
+   // Before closing, we first flush it, because if Flush() fails because of a
+   // "disk full" condition, we can still at least try to close the file.
+   if (!wxFFile::Flush())
+   {
+      wxFFile::Close();
+      throw new XMLFileWriterException(_("Error flushing file"));
+   }
+
+   // Note that this should never fail if flushing worked.
+   if (!wxFFile::Close())
+      throw new XMLFileWriterException(_("Error closing file"));
 }
 
 void XMLFileWriter::Write(const wxString &data)
 {
-   wxFFile::Write(data);
+   if (!wxFFile::Write(data, wxConvUTF8))
+   {
+      // When writing fails, we try to close the file before throwing the
+      // exception, so it can at least be deleted.
+      wxFFile::Close();
+      throw new XMLFileWriterException(_("Error writing to file"));
+   }
 }
 
 ///
diff --git a/src/xml/XMLWriter.h b/src/xml/XMLWriter.h
index 40f122b..2e1b64f 100644
--- a/src/xml/XMLWriter.h
+++ b/src/xml/XMLWriter.h
@@ -56,6 +56,10 @@ class XMLWriter {
 
    virtual void Write(const wxString &data) = 0;
 
+   // Escape a string, replacing certain characters with their
+   // XML encoding, i.e. '<' becomes '&lt;'
+   wxString XMLEsc(const wxString & s);
+
  protected:
 
    bool mInTag;
@@ -75,9 +79,17 @@ class XMLFileWriter:public wxFFile, public XMLWriter {
    XMLFileWriter();
    virtual ~XMLFileWriter();
 
-   bool Open(const wxString &name, const wxString &mode);
-   bool Close();
+   /// Open the file. Might throw XMLFileWriterException.
+   void Open(const wxString &name, const wxString &mode);
+   
+   /// Close file. Might throw XMLFileWriterException.
+   void Close();
+
+   /// Close file without automatically ending tags.
+   /// Might throw XMLFileWriterException.
+   void CloseWithoutEndingTags(); // for auto-save files
 
+   /// Write to file. Might throw XMLFileWriterException.
    void Write(const wxString &data);
 
  private:
@@ -85,6 +97,19 @@ class XMLFileWriter:public wxFFile, public XMLWriter {
 };
 
 ///
+/// Exception thrown by various XMLFileWriter methods
+///
+class XMLFileWriterException
+{
+public:
+   XMLFileWriterException(const wxString& message) { mMessage = message; }
+   wxString GetMessage() const { return mMessage; }
+
+protected:
+   wxString mMessage;
+};
+
+///
 /// XMLStringWriter
 ///
 class XMLStringWriter:public wxString, public XMLWriter {
diff --git a/src/xml/audacityproject.dtd b/src/xml/audacityproject.dtd
index 12b04b5..db26d1d 100644
--- a/src/xml/audacityproject.dtd
+++ b/src/xml/audacityproject.dtd
@@ -44,6 +44,8 @@
 <!ATTLIST wavetrack rate CDATA #REQUIRED>
 <!ATTLIST wavetrack gain CDATA #REQUIRED>
 <!ATTLIST wavetrack pan CDATA #REQUIRED>
+<!ATTLIST wavetrack mute CDATA "0">
+<!ATTLIST wavetrack solo CDATA "0">
 
 <!ELEMENT waveclip (sequence, envelope)>
 <!ATTLIST waveclip offset CDATA #REQUIRED>
diff --git a/win/Projects/Audacity/Audacity.vcproj b/win/Projects/Audacity/Audacity.vcproj
index 3d6aa29..03caf80 100644
--- a/win/Projects/Audacity/Audacity.vcproj
+++ b/win/Projects/Audacity/Audacity.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="Audacity"
 	ProjectGUID="{1D64095C-F936-4FCF-B609-56E9DDF941FA}"
 	RootNamespace="Audacity"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -12,6 +13,9 @@
 		/>
 	</Platforms>
 	<ToolFiles>
+		<ToolFile
+			RelativePath="..\..\ny.rules"
+		/>
 	</ToolFiles>
 	<Configurations>
 		<Configuration
@@ -29,6 +33,9 @@
 				Name="VCCustomBuildTool"
 			/>
 			<Tool
+				Name="copy"
+			/>
+			<Tool
 				Name="VCXMLDataGeneratorTool"
 			/>
 			<Tool
@@ -39,7 +46,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswu&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist\nyx&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;&quot;..\..\..\lib-src\libsndfile\Win32&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;"
+				Optimization="2"
+				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswu&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;..\libsndfile;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;;&quot;..\..\..\lib-src\portmidi\pm_common&quot;;&quot;..\..\..\lib-src\portmidi\pm_win&quot;;&quot;..\..\..\lib-src\portmidi\porttime&quot;"
 				PreprocessorDefinitions="BUILDING_AUDACITY;FLAC__NO_DLL;__STDC_CONSTANT_MACROS;WXUSINGDLL;__WXMSW__;NDEBUG;WIN32;STRICT"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -65,10 +73,13 @@
 			<Tool
 				Name="VCLinkerTool"
 				LinkLibraryDependencies="false"
-				AdditionalDependencies="filedialog.lib libsndfile.lib wxbase28u.lib wxbase28u_net.lib wxmsw28u_adv.lib wxmsw28u_core.lib wxmsw28u_html.lib wxexpat.lib wxpng.lib wxzlib.lib wxjpeg.lib wxtiff.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
+				AdditionalDependencies="filedialog.lib libsndfile.lib portaudio-v19.lib wxbase28u.lib wxbase28u_net.lib wxmsw28u_adv.lib wxmsw28u_core.lib wxmsw28u_html.lib wxexpat.lib wxpng.lib wxzlib.lib wxjpeg.lib wxtiff.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
 				AdditionalLibraryDirectories="&quot;$(OutDir)&quot;;&quot;$(WXWIN)\lib\vc_dll&quot;"
 				IgnoreDefaultLibraryNames="dsound.lib"
 				SubSystem="2"
+				StackReserveSize="8388608"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -90,9 +101,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -111,6 +119,9 @@
 				Name="VCCustomBuildTool"
 			/>
 			<Tool
+				Name="copy"
+			/>
+			<Tool
 				Name="VCXMLDataGeneratorTool"
 			/>
 			<Tool
@@ -122,7 +133,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswud&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist\nyx&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;&quot;..\..\..\lib-src\libsndfile\Win32&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;"
+				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswud&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;..\libsndfile;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;;&quot;..\..\..\lib-src\portmidi\pm_common&quot;;&quot;..\..\..\lib-src\portmidi\pm_win&quot;;&quot;..\..\..\lib-src\portmidi\porttime&quot;"
 				PreprocessorDefinitions="BUILDING_AUDACITY;FLAC__NO_DLL;__STDC_CONSTANT_MACROS;WXUSINGDLL;__WXMSW__;__WXDEBUG__;_DEBUG;WIN32;STRICT"
 				StringPooling="true"
 				BasicRuntimeChecks="3"
@@ -151,12 +162,15 @@
 			<Tool
 				Name="VCLinkerTool"
 				LinkLibraryDependencies="false"
-				AdditionalDependencies="filedialog.lib libsndfile.lib wxbase28ud.lib wxbase28ud_net.lib wxmsw28ud_adv.lib wxmsw28ud_core.lib wxmsw28ud_html.lib wxexpatd.lib wxpngd.lib wxzlibd.lib wxjpegd.lib wxtiffd.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
+				AdditionalDependencies="filedialog.lib libsndfile.lib portaudio-v19.lib wxbase28ud.lib wxbase28ud_net.lib wxmsw28ud_adv.lib wxmsw28ud_core.lib wxmsw28ud_html.lib wxexpatd.lib wxpngd.lib wxzlibd.lib wxjpegd.lib wxtiffd.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="&quot;$(OutDir)&quot;;&quot;$(WXWIN)\lib\vc_dll&quot;"
 				IgnoreDefaultLibraryNames="dsound.lib"
 				GenerateDebugInformation="true"
 				SubSystem="2"
+				StackReserveSize="8388608"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -178,9 +192,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -199,6 +210,9 @@
 				Name="VCCustomBuildTool"
 			/>
 			<Tool
+				Name="copy"
+			/>
+			<Tool
 				Name="VCXMLDataGeneratorTool"
 			/>
 			<Tool
@@ -210,7 +224,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswd&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist\nyx&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;&quot;..\..\..\lib-src\libsndfile\Win32&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;"
+				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswd&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;..\\libsndfile;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;;&quot;..\..\..\lib-src\portmidi\pm_common&quot;;&quot;..\..\..\lib-src\portmidi\pm_win&quot;;&quot;..\..\..\lib-src\portmidi\porttime&quot;;&quot;..\..\..\lib-src\portmidi\pm_common&quot;;&quot;..\..\..\lib-src\portmidi\pm_win&quot;;&quot;..\..\..\lib-src\portmidi\porttime&quot;"
 				PreprocessorDefinitions="BUILDING_AUDACITY;FLAC__NO_DLL;__STDC_CONSTANT_MACROS;WXUSINGDLL;__WXMSW__;__WXDEBUG__;_DEBUG;WIN32;STRICT"
 				StringPooling="true"
 				BasicRuntimeChecks="3"
@@ -239,12 +253,15 @@
 			<Tool
 				Name="VCLinkerTool"
 				LinkLibraryDependencies="false"
-				AdditionalDependencies="filedialog.lib libsndfile.lib wxbase28d.lib wxbase28d_net.lib wxmsw28d_adv.lib wxmsw28d_core.lib wxmsw28d_html.lib wxexpatd.lib wxpngd.lib wxzlibd.lib wxjpegd.lib wxtiffd.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
+				AdditionalDependencies="filedialog.lib libsndfile.lib portaudio-v19.lib wxbase28d.lib wxbase28d_net.lib wxmsw28d_adv.lib wxmsw28d_core.lib wxmsw28d_html.lib wxexpatd.lib wxpngd.lib wxzlibd.lib wxjpegd.lib wxtiffd.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="&quot;$(OutDir)&quot;;&quot;$(WXWIN)\lib\vc_dll&quot;"
 				IgnoreDefaultLibraryNames="dsound.lib"
 				GenerateDebugInformation="true"
 				SubSystem="2"
+				StackReserveSize="8388608"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -266,9 +283,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -287,6 +301,9 @@
 				Name="VCCustomBuildTool"
 			/>
 			<Tool
+				Name="copy"
+			/>
+			<Tool
 				Name="VCXMLDataGeneratorTool"
 			/>
 			<Tool
@@ -297,7 +314,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\msw&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist\nyx&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;&quot;..\..\..\lib-src\libsndfile\Win32&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;"
+				Optimization="2"
+				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\msw&quot;;&quot;$(WXWIN)\include&quot;;..\..;..\..\..\src\include\win32;..\..\..\src\include;&quot;..\..\..\lib-src\FileDialog&quot;;&quot;..\..\..\lib-src\expat&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;;&quot;..\..\..\lib-src\ffmpeg&quot;;&quot;..\..\..\lib-src\lib-widget-extra&quot;;&quot;..\..\..\lib-src\libflac\include&quot;;&quot;..\..\..\lib-src\libid3tag&quot;;&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\libmad&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libogg\include&quot;;&quot;..\..\..\lib-src\libresample\include&quot;;&quot;..\..\..\lib-src\libsamplerate\src&quot;;&quot;..\..\..\lib-src\libscorealign&quot;;..\libsndfile;&quot;..\..\..\lib-src\libvamp&quot;;&quot;..\..\..\lib-src\libvorbis\include&quot;;&quot;..\..\..\lib-src\portaudio-v19\include&quot;;&quot;..\..\..\lib-src\portmixer\include&quot;;&quot;..\..\..\lib-src\portsmf&quot;;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\sbsms\include&quot;;&quot;..\..\..\lib-src\soundtouch\include&quot;;&quot;..\..\..\lib-src\twolame\libtwolame&quot;;&quot;..\..\..\lib-src\portmidi\pm_common&quot;;&quot;..\..\..\lib-src\portmidi\pm_win&quot;;&quot;..\..\..\lib-src\portmidi\porttime&quot;"
 				PreprocessorDefinitions="BUILDING_AUDACITY;FLAC__NO_DLL;__STDC_CONSTANT_MACROS;WXUSINGDLL;__WXMSW__;NDEBUG;WIN32;STRICT"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -323,10 +341,13 @@
 			<Tool
 				Name="VCLinkerTool"
 				LinkLibraryDependencies="false"
-				AdditionalDependencies="filedialog.lib libsndfile.lib wxbase28.lib wxbase28_net.lib wxmsw28_adv.lib wxmsw28_core.lib wxmsw28_html.lib wxexpat.lib wxpng.lib wxzlib.lib wxjpeg.lib wxtiff.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
+				AdditionalDependencies="filedialog.lib libsndfile.lib portaudio-v19.lib wxbase28.lib wxbase28_net.lib wxmsw28_adv.lib wxmsw28_core.lib wxmsw28_html.lib wxexpat.lib wxpng.lib wxzlib.lib wxjpeg.lib wxtiff.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
 				AdditionalLibraryDirectories="&quot;$(OutDir)&quot;;&quot;$(WXWIN)\lib\vc_dll&quot;"
 				IgnoreDefaultLibraryNames="dsound.lib"
 				SubSystem="2"
+				StackReserveSize="8388608"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 				TargetMachine="1"
 			/>
 			<Tool
@@ -348,9 +369,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -646,6 +664,22 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\Lyrics.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\Lyrics.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\LyricsWindow.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\LyricsWindow.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\MacroMagic.h"
 				>
 			</File>
@@ -674,6 +708,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\MixerBoard.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\MixerBoard.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\lib-widget-extra\NonGuiThread.cpp"
 				>
 			</File>
@@ -742,6 +784,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\RealFFTf.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\RealFFTf.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\Resample.cpp"
 				>
 			</File>
@@ -1138,6 +1188,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\effects\Generator.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\effects\Generator.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\effects\Invert.cpp"
 				>
 			</File>
@@ -1318,11 +1376,11 @@
 			Name="src/effects/VST"
 			>
 			<File
-				RelativePath="..\..\..\src\effects\VST\LoadVSTWin.cpp"
+				RelativePath="..\..\..\src\effects\VST\LoadVST.cpp"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\effects\VST\LoadVSTWin.h"
+				RelativePath="..\..\..\src\effects\VST\LoadVST.h"
 				>
 			</File>
 			<File
@@ -1510,19 +1568,19 @@
 			Name="src/prefs"
 			>
 			<File
-				RelativePath="..\..\..\src\prefs\AudioIOPrefs.cpp"
+				RelativePath="..\..\..\src\prefs\BatchPrefs.cpp"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\AudioIOPrefs.h"
+				RelativePath="..\..\..\src\prefs\BatchPrefs.h"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\BatchPrefs.cpp"
+				RelativePath="..\..\..\src\prefs\DevicePrefs.cpp"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\BatchPrefs.h"
+				RelativePath="..\..\..\src\prefs\DevicePrefs.h"
 				>
 			</File>
 			<File
@@ -1534,19 +1592,19 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\FileFormatPrefs.cpp"
+				RelativePath="..\..\..\src\prefs\GUIPrefs.cpp"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\FileFormatPrefs.h"
+				RelativePath="..\..\..\src\prefs\GUIPrefs.h"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\GUIPrefs.cpp"
+				RelativePath="..\..\..\src\prefs\ImportExportPrefs.cpp"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\GUIPrefs.h"
+				RelativePath="..\..\..\src\prefs\ImportExportPrefs.h"
 				>
 			</File>
 			<File
@@ -1558,6 +1616,22 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\prefs\LibraryPrefs.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\LibraryPrefs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\MidiIOPrefs.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\MidiIOPrefs.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\prefs\MousePrefs.cpp"
 				>
 			</File>
@@ -1566,6 +1640,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\prefs\PlaybackPrefs.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\PlaybackPrefs.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\prefs\PrefsDialog.cpp"
 				>
 			</File>
@@ -1578,6 +1660,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\prefs\ProjectsPrefs.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\ProjectsPrefs.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\prefs\QualityPrefs.cpp"
 				>
 			</File>
@@ -1586,11 +1676,11 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\SmartRecordPrefs.cpp"
+				RelativePath="..\..\..\src\prefs\RecordingPrefs.cpp"
 				>
 			</File>
 			<File
-				RelativePath="..\..\..\src\prefs\SmartRecordPrefs.h"
+				RelativePath="..\..\..\src\prefs\RecordingPrefs.h"
 				>
 			</File>
 			<File
@@ -1609,6 +1699,22 @@
 				RelativePath="..\..\..\src\prefs\ThemePrefs.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\TracksPrefs.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\TracksPrefs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\WarningsPrefs.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\prefs\WarningsPrefs.h"
+				>
+			</File>
 		</Filter>
 		<Filter
 			Name="src/widgets"
@@ -1654,6 +1760,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\widgets\FileHistory.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\widgets\FileHistory.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\widgets\Grabber.cpp"
 				>
 			</File>
@@ -1806,6 +1920,38 @@
 			Name="src/commands"
 			>
 			<File
+				RelativePath="..\..\..\src\commands\AppCommandEvent.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\AppCommandEvent.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\BatchEvalCommand.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\Command.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\CommandBuilder.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\CommandBuilder.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\CommandHandler.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\CommandHandler.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\commands\CommandManager.cpp"
 				>
 			</File>
@@ -1814,6 +1960,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\commands\CommandMisc.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\DebugPrintCommand.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\commands\Keyboard.cpp"
 				>
 			</File>
@@ -1821,6 +1975,30 @@
 				RelativePath="..\..\..\src\commands\Keyboard.h"
 				>
 			</File>
+			<File
+				RelativePath="..\..\..\src\commands\ResponseQueue.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\ResponseQueue.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\ScreenshotCommand.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\ScreenshotCommand.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\ScriptCommandRelay.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\src\commands\ScriptCommandRelay.h"
+				>
+			</File>
 		</Filter>
 		<Filter
 			Name="src/blockfile"
@@ -2078,6 +2256,730 @@
 				>
 			</File>
 		</Filter>
+		<Filter
+			Name="plug-ins"
+			>
+			<File
+				RelativePath="..\..\..\plug-ins\analyze.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\beat.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\clicktrack.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\clipfix.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\crossfadein.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\crossfadeout.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\delay.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\equalabel.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\highpass.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\lowpass.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\pluck.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\rissetdrum.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\SilenceMarker.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\tremolo.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\vocalremover.ny"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\plug-ins\vocoder.ny"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="nyquist"
+			>
+			<File
+				RelativePath="..\..\..\nyquist\bug.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\dspprims.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\envelopes.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\equalizer.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\evalenv.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\fileio.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\follow.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\init.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\misc.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\nyinit.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\nyqmisc.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\nyquist-plot.txt"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\nyquist.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\printrec.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\profile.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\sal-parse.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\sal.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\seq.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\seqfnint.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\seqmidi.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\sndfnint.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\stk.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\lib-src\libnyquist\nyquist\sys\win\msvc\system.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\xlinit.lsp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\nyquist\xm.lsp"
+				>
+			</File>
+			<Filter
+				Name="rawwaves"
+				>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand1.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand10.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand11.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand12.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand2.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand3.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand4.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand5.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand6.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand7.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand8.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mand9.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\mandpluk.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\marmstk1.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath="..\..\..\nyquist\rawwaves\sinewave.raw"
+					>
+					<FileConfiguration
+						Name="Unicode Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Unicode Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="copy"
+							OutputName="&quot;$(OutDir)\nyquist\$(ParentName)\$(InputFileName)&quot;"
+						/>
+					</FileConfiguration>
+				</File>
+			</Filter>
+		</Filter>
+		<File
+			RelativePath="..\..\ny.rules"
+			>
+		</File>
+		<File
+			RelativePath="..\..\po.rules"
+			>
+		</File>
 	</Files>
 	<Globals>
 	</Globals>
diff --git a/win/Projects/expat/expat.vcproj b/win/Projects/expat/expat.vcproj
index 7604cd3..3ae26ef 100644
--- a/win/Projects/expat/expat.vcproj
+++ b/win/Projects/expat/expat.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="expat"
 	ProjectGUID="{38C2C6B1-FBF8-4C5C-BB90-63F996083F56}"
 	RootNamespace="expat"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\expat\xmltok"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\expat\xmltok"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/filedialog/filedialog.vcproj b/win/Projects/filedialog/filedialog.vcproj
index 43175fd..7c1bb55 100644
--- a/win/Projects/filedialog/filedialog.vcproj
+++ b/win/Projects/filedialog/filedialog.vcproj
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="filedialog"
 	ProjectGUID="{5284D863-3813-479F-BBF0-AC234E216BC6}"
 	RootNamespace="filedialog"
 	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -40,6 +41,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswu&quot;;&quot;$(WXWIN)\include&quot;"
 				PreprocessorDefinitions="WXUSINGDLL;WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -235,6 +237,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\msw&quot;;&quot;$(WXWIN)\include&quot;"
 				PreprocessorDefinitions="WXUSINGDLL;WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/libflac++/libflac++.vcproj b/win/Projects/libflac++/libflac++.vcproj
index 99af442..70ea377 100644
--- a/win/Projects/libflac++/libflac++.vcproj
+++ b/win/Projects/libflac++/libflac++.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libflac++"
 	ProjectGUID="{B28C9F3F-FF0E-4FEC-844C-685390B8AC06}"
 	RootNamespace="libflac++"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libflac\include"
 				PreprocessorDefinitions="FLAC__NO_DLL;WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -231,6 +233,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libflac\include"
 				PreprocessorDefinitions="FLAC__NO_DLL;WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/libflac/libflac.vcproj b/win/Projects/libflac/libflac.vcproj
index 90b4873..1d57080 100644
--- a/win/Projects/libflac/libflac.vcproj
+++ b/win/Projects/libflac/libflac.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libflac"
 	ProjectGUID="{6C7DC635-26FB-419A-B69A-7ECBBB068245}"
 	RootNamespace="libflac"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\libflac\src\libFLAC\include&quot;;&quot;..\..\..\lib-src\libflac\include&quot;"
 				PreprocessorDefinitions="FLAC__NO_DLL;NDEBUG;WIN32;_LIB;VERSION=\&quot;1.0.4\&quot;;FLAC__CPU_IA32"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\libflac\src\libFLAC\include&quot;;&quot;..\..\..\lib-src\libflac\include&quot;"
 				PreprocessorDefinitions="FLAC__NO_DLL;NDEBUG;WIN32;_LIB;VERSION=\&quot;1.0.4\&quot;;FLAC__CPU_IA32"
 				StringPooling="true"
diff --git a/win/Projects/libid3tag/libid3tag.vcproj b/win/Projects/libid3tag/libid3tag.vcproj
index b38de8f..ef48e43 100644
--- a/win/Projects/libid3tag/libid3tag.vcproj
+++ b/win/Projects/libid3tag/libid3tag.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libid3tag"
 	ProjectGUID="{D96C7BE1-E3F1-4767-BBBB-320E082CE425}"
 	RootNamespace="libid3tag"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="$(WXWIN)\src\zlib"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="$(WXWIN)\src\zlib"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/liblrdf/liblrdf.vcproj b/win/Projects/liblrdf/liblrdf.vcproj
index 312a215..e871f93 100644
--- a/win/Projects/liblrdf/liblrdf.vcproj
+++ b/win/Projects/liblrdf/liblrdf.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="liblrdf"
 	ProjectGUID="{7BAFA434-3257-408A-AAC0-A8D352B2CE54}"
 	RootNamespace="liblrdf"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\liblrdf\src&quot;;..\raptor;&quot;..\..\..\lib-src\libraptor\src&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;RAPTOR_STATIC=1"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\liblrdf&quot;;&quot;..\..\..\lib-src\liblrdf\src&quot;;..\raptor;&quot;..\..\..\lib-src\libraptor\src&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;RAPTOR_STATIC=1"
 				StringPooling="true"
diff --git a/win/Projects/libmad/libmad.vcproj b/win/Projects/libmad/libmad.vcproj
index f54c4e0..3aa750d 100644
--- a/win/Projects/libmad/libmad.vcproj
+++ b/win/Projects/libmad/libmad.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libmad"
 	ProjectGUID="{A52BBEA5-8B02-4147-8734-5D9BBF4D1177}"
 	RootNamespace="libmad"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libmad\msvc++"
 				PreprocessorDefinitions="NDEBUG;__WX__;WIN32;_WINDOWS;__WINDOWS__;__WXMSW__;__WIN95__;__WIN32__;_LIB;HAVE_CONFIG_H;FPM_INTEL"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libmad\msvc++"
 				PreprocessorDefinitions="NDEBUG;__WX__;WIN32;_WINDOWS;__WINDOWS__;__WXMSW__;__WIN95__;__WIN32__;_LIB;HAVE_CONFIG_H;FPM_INTEL"
 				StringPooling="true"
diff --git a/win/Projects/libnyquist/libnyquist.vcproj b/win/Projects/libnyquist/libnyquist.vcproj
index d1990cf..961ce4d 100644
--- a/win/Projects/libnyquist/libnyquist.vcproj
+++ b/win/Projects/libnyquist/libnyquist.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libnyquist"
 	ProjectGUID="{7AA41BED-41B0-427A-9148-DEA40549D158}"
 	RootNamespace="libnyquist"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -24,7 +25,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="set OUTDIR=$(InputDir)&#x0D;&#x0A;set INTGEN=&quot;$(InputDir)/$(ConfigurationName)/intgen.exe&quot;&#x0D;&#x0A;cd ..\..\..\lib-src\libnyquist&#x0D;&#x0A;cl /Fe%INTGEN% /D WIN32 /D NDEBUG /I win  /I cmt misc\intgen.c misc\cmdline.c&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/sndfnint&quot; snd/snd.h nyqsrc/sound.h nyqsrc/downsample.h nyqsrc/sndread.h nyqsrc/sndseq.h nyqsrc/add.h nyqsrc/multiseq.h nyqsrc/samples.h nyqsrc/sndwrite.h nyqsrc/sndmax.h nyqsrc/compose.h nyqsrc/inverse.h nyqsrc/resamp.h nyqsrc/resampv.h nyqsrc/fft.h nyqsrc/avg.h tran/amosc.h tran/clip.h tran/const.h tran/fmosc.h tran/integrate.h tran/log.h tran/maxv.h tran/osc.h tran/prod.h tran/buzz.h tran/pwl.h tran/recip.h tran/upsample.h tran/scale.h tran/sine.h tran/partial.h tran/white.h tran/tone.h tran/tonev.h tran/atonev.h tran/atone.h tran/reson.h tran/areson.h tran/resonvc.h tran/resoncv.h tran/aresonvc.h tran/aresoncv.h tran/resonvv.h tran/aresonvv.h tran/offset.h tran/slope.h tran/delay.h tran/delaycv.h tran/shape.h tran/sampler.h tran/exp.h tran/siosc.h tran/follow.h tran/gate.h tran/quantize.h tran/ifft.h tran/congen.h tran/fromobject.h tran/fromarraystream.h tran/coterm.h tran/convolve.h tran/alpass.h tran/oneshot.h tran/chase.h tran/tapv.h tran/biquad.h tran/pluck.h tran/abs.h tran/sqrt.h tran/alpasscv.h tran/alpassvc.h&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/seqfnint&quot; cmt/seqdecls.h nyqsrc/seqext.h cmt/seq.h nyqsrc/seqinterf.h cmt/seqread.h cmt/seqmread.h cmt/seqwrite.h cmt/seqmwrite.h&#x0D;&#x0A;"
+				CommandLine=""
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -40,7 +41,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="&quot;$(ConfigurationName)&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\win&quot;;&quot;..\..\..\lib-src\libnyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\fft&quot;;&quot;..\..\..\lib-src\libnyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\sys&quot;"
+				Optimization="2"
+				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\ffts\src&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk\include&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\sys\win\msvc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\win&quot;;..\libsndfile;&quot;..\..\..\lib-src\portaudio-v19\include&quot;"
 				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -88,7 +90,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="set OUTDIR=$(InputDir)&#x0D;&#x0A;set INTGEN=&quot;$(InputDir)/$(ConfigurationName)/intgen.exe&quot;&#x0D;&#x0A;cd ..\..\..\lib-src\libnyquist&#x0D;&#x0A;cl /Fe%INTGEN% /D WIN32 /D NDEBUG /I win  /I cmt misc\intgen.c misc\cmdline.c&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/sndfnint&quot; snd/snd.h nyqsrc/sound.h nyqsrc/downsample.h nyqsrc/sndread.h nyqsrc/sndseq.h nyqsrc/add.h nyqsrc/multiseq.h nyqsrc/samples.h nyqsrc/sndwrite.h nyqsrc/sndmax.h nyqsrc/compose.h nyqsrc/inverse.h nyqsrc/resamp.h nyqsrc/resampv.h nyqsrc/fft.h nyqsrc/avg.h tran/amosc.h tran/clip.h tran/const.h tran/fmosc.h tran/integrate.h tran/log.h tran/maxv.h tran/osc.h tran/prod.h tran/buzz.h tran/pwl.h tran/recip.h tran/upsample.h tran/scale.h tran/sine.h tran/partial.h tran/white.h tran/tone.h tran/tonev.h tran/atonev.h tran/atone.h tran/reson.h tran/areson.h tran/resonvc.h tran/resoncv.h tran/aresonvc.h tran/aresoncv.h tran/resonvv.h tran/aresonvv.h tran/offset.h tran/slope.h tran/delay.h tran/delaycv.h tran/shape.h tran/sampler.h tran/exp.h tran/siosc.h tran/follow.h tran/gate.h tran/quantize.h tran/ifft.h tran/congen.h tran/fromobject.h tran/fromarraystream.h tran/coterm.h tran/convolve.h tran/alpass.h tran/oneshot.h tran/chase.h tran/tapv.h tran/biquad.h tran/pluck.h tran/abs.h tran/sqrt.h tran/alpasscv.h tran/alpassvc.h&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/seqfnint&quot; cmt/seqdecls.h nyqsrc/seqext.h cmt/seq.h nyqsrc/seqinterf.h cmt/seqread.h cmt/seqmread.h cmt/seqwrite.h cmt/seqmwrite.h&#x0D;&#x0A;"
+				CommandLine=""
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -105,7 +107,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="&quot;$(ConfigurationName)&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\win&quot;;&quot;..\..\..\lib-src\libnyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\fft&quot;;&quot;..\..\..\lib-src\libnyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\sys&quot;"
+				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\ffts\src&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk\include&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\sys\win\msvc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\win&quot;;..\libsndfile;&quot;..\..\..\lib-src\portaudio-v19\include&quot;"
 				PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
 				StringPooling="true"
 				BasicRuntimeChecks="3"
@@ -155,7 +157,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="set OUTDIR=$(InputDir)&#x0D;&#x0A;set INTGEN=&quot;$(InputDir)/$(ConfigurationName)/intgen.exe&quot;&#x0D;&#x0A;cd ..\..\..\lib-src\libnyquist&#x0D;&#x0A;cl /Fe%INTGEN% /D WIN32 /D NDEBUG /I win  /I cmt misc\intgen.c misc\cmdline.c&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/sndfnint&quot; snd/snd.h nyqsrc/sound.h nyqsrc/downsample.h nyqsrc/sndread.h nyqsrc/sndseq.h nyqsrc/add.h nyqsrc/multiseq.h nyqsrc/samples.h nyqsrc/sndwrite.h nyqsrc/sndmax.h nyqsrc/compose.h nyqsrc/inverse.h nyqsrc/resamp.h nyqsrc/resampv.h nyqsrc/fft.h nyqsrc/avg.h tran/amosc.h tran/clip.h tran/const.h tran/fmosc.h tran/integrate.h tran/log.h tran/maxv.h tran/osc.h tran/prod.h tran/buzz.h tran/pwl.h tran/recip.h tran/upsample.h tran/scale.h tran/sine.h tran/partial.h tran/white.h tran/tone.h tran/tonev.h tran/atonev.h tran/atone.h tran/reson.h tran/areson.h tran/resonvc.h tran/resoncv.h tran/aresonvc.h tran/aresoncv.h tran/resonvv.h tran/aresonvv.h tran/offset.h tran/slope.h tran/delay.h tran/delaycv.h tran/shape.h tran/sampler.h tran/exp.h tran/siosc.h tran/follow.h tran/gate.h tran/quantize.h tran/ifft.h tran/congen.h tran/fromobject.h tran/fromarraystream.h tran/coterm.h tran/convolve.h tran/alpass.h tran/oneshot.h tran/chase.h tran/tapv.h tran/biquad.h tran/pluck.h tran/abs.h tran/sqrt.h tran/alpasscv.h tran/alpassvc.h&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/seqfnint&quot; cmt/seqdecls.h nyqsrc/seqext.h cmt/seq.h nyqsrc/seqinterf.h cmt/seqread.h cmt/seqmread.h cmt/seqwrite.h cmt/seqmwrite.h&#x0D;&#x0A;"
+				CommandLine=""
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -172,7 +174,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="&quot;$(ConfigurationName)&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\win&quot;;&quot;..\..\..\lib-src\libnyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\fft&quot;;&quot;..\..\..\lib-src\libnyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\sys&quot;"
+				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\ffts\src&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk\include&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\sys\win\msvc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\win&quot;;..\libsndfile;&quot;..\..\..\lib-src\portaudio-v19\include&quot;"
 				PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
 				StringPooling="true"
 				BasicRuntimeChecks="3"
@@ -222,7 +224,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="set OUTDIR=$(InputDir)&#x0D;&#x0A;set INTGEN=&quot;$(InputDir)/$(ConfigurationName)/intgen.exe&quot;&#x0D;&#x0A;cd ..\..\..\lib-src\libnyquist&#x0D;&#x0A;cl /Fe%INTGEN% /D WIN32 /D NDEBUG /I win  /I cmt misc\intgen.c misc\cmdline.c&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/sndfnint&quot; snd/snd.h nyqsrc/sound.h nyqsrc/downsample.h nyqsrc/sndread.h nyqsrc/sndseq.h nyqsrc/add.h nyqsrc/multiseq.h nyqsrc/samples.h nyqsrc/sndwrite.h nyqsrc/sndmax.h nyqsrc/compose.h nyqsrc/inverse.h nyqsrc/resamp.h nyqsrc/resampv.h nyqsrc/fft.h nyqsrc/avg.h tran/amosc.h tran/clip.h tran/const.h tran/fmosc.h tran/integrate.h tran/log.h tran/maxv.h tran/osc.h tran/prod.h tran/buzz.h tran/pwl.h tran/recip.h tran/upsample.h tran/scale.h tran/sine.h tran/partial.h tran/white.h tran/tone.h tran/tonev.h tran/atonev.h tran/atone.h tran/reson.h tran/areson.h tran/resonvc.h tran/resoncv.h tran/aresonvc.h tran/aresoncv.h tran/resonvv.h tran/aresonvv.h tran/offset.h tran/slope.h tran/delay.h tran/delaycv.h tran/shape.h tran/sampler.h tran/exp.h tran/siosc.h tran/follow.h tran/gate.h tran/quantize.h tran/ifft.h tran/congen.h tran/fromobject.h tran/fromarraystream.h tran/coterm.h tran/convolve.h tran/alpass.h tran/oneshot.h tran/chase.h tran/tapv.h tran/biquad.h tran/pluck.h tran/abs.h tran/sqrt.h tran/alpasscv.h tran/alpassvc.h&#x0D;&#x0A;%INTGEN% &quot;%OUTDIR%/seqfnint&quot; cmt/seqdecls.h nyqsrc/seqext.h cmt/seq.h nyqsrc/seqinterf.h cmt/seqread.h cmt/seqmread.h cmt/seqwrite.h cmt/seqmwrite.h&#x0D;&#x0A;"
+				CommandLine=""
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -238,7 +240,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="&quot;$(ConfigurationName)&quot;;&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\win&quot;;&quot;..\..\..\lib-src\libnyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\fft&quot;;&quot;..\..\..\lib-src\libnyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\sys&quot;"
+				Optimization="2"
+				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\libnyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\cmt&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\ffts\src&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqsrc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\nyqstk\include&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\snd&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\tran&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\sys\win\msvc&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\xlisp&quot;;&quot;..\..\..\lib-src\libnyquist\nyquist\win&quot;;..\libsndfile;&quot;..\..\..\lib-src\portaudio-v19\include&quot;"
 				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -281,601 +284,901 @@
 	</References>
 	<Files>
 		<Filter
-			Name="nyqsrc"
+			Name="nyquist"
 			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\add.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\avg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\compose.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\debug.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\downsample.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\falloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\ffilterkit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\fft.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\handlers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\inverse.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\local.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\multiread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\multiseq.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\probe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\resamp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\resampv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\samples.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\seqext.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\seqinterf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\sndfail.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\sndmax.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\sndread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\sndseq.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\sndwrite.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\sound.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyqsrc\stats.c"
-				>
-			</File>
+			<Filter
+				Name="cmt"
+				>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\cext.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\cleanup.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\cmdline.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\cmtcmd.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\mem.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\midifile.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\midifns.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\moxc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\record.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\seq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\seqmread.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\seqmwrite.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\seqread.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\seqwrite.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\tempomap.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\timebase.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\cmt\userio.c"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="ffts"
+				>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\ffts\src\fftext.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\ffts\src\fftext.h"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\ffts\src\fftlib.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\ffts\src\fftlib.h"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\ffts\src\matlib.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\ffts\src\matlib.h"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="nyqsrc"
+				>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\add.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\avg.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\compose.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\convolve.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\debug.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\downsample.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\falloc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\ffilterkit.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\fft.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\handlers.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\inverse.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\local.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\lpanal.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\multiread.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\multiseq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\resamp.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\resampv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\samples.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\seqext.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\seqfnint.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\seqinterf.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sliders.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sndfnint.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sndmax.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sndread.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sndseq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sndwritepa.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\sound.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\stats.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\trigger.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqsrc\yin.c"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="sys"
+				>
+				<Filter
+					Name="win"
+					>
+					<Filter
+						Name="msvc"
+						>
+						<File
+							RelativePath="..\..\..\lib-src\libnyquist\nyquist\sys\win\msvc\winfun.c"
+							>
+							<FileConfiguration
+								Name="Unicode Release|Win32"
+								ExcludedFromBuild="true"
+								>
+								<Tool
+									Name="VCCLCompilerTool"
+								/>
+							</FileConfiguration>
+							<FileConfiguration
+								Name="Unicode Debug|Win32"
+								ExcludedFromBuild="true"
+								>
+								<Tool
+									Name="VCCLCompilerTool"
+								/>
+							</FileConfiguration>
+							<FileConfiguration
+								Name="Debug|Win32"
+								ExcludedFromBuild="true"
+								>
+								<Tool
+									Name="VCCLCompilerTool"
+								/>
+							</FileConfiguration>
+							<FileConfiguration
+								Name="Release|Win32"
+								ExcludedFromBuild="true"
+								>
+								<Tool
+									Name="VCCLCompilerTool"
+								/>
+							</FileConfiguration>
+						</File>
+					</Filter>
+				</Filter>
+			</Filter>
+			<Filter
+				Name="tran"
+				>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\abs.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\allpoles.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\alpass.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\alpasscv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\alpassvc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\alpassvv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\amosc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\areson.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\aresoncv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\aresonvc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\aresonvv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\atone.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\atonev.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\biquadfilt.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\buzz.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\chase.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\clip.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\congen.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\const.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\coterm.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\delaycc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\delaycv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\eqbandvvv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\exp.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\fmfb.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\fmfbv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\fmosc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\follow.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\fromarraystream.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\fromobject.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\gate.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\ifft.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrbanded.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrbow.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrbowedfreq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrclar.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrclarall.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrclarfreq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrflute.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrfluteall.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrflutefreq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrmandolin.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrmodalbar.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrsax.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrsaxall.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrsaxfreq.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\instrsitar.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\integrate.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\log.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\lpreson.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\maxv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\offset.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\oneshot.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\osc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\partial.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\pluck.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\prod.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\pwl.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\quantize.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\recip.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\reson.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\resoncv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\resonvc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\resonvv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\sampler.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\scale.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\shape.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\sine.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\siosc.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\slope.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\sqrt.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\stkchorus.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\stkpitshift.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\stkrev.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\tapf.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\tapv.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\tone.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\tonev.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\upsample.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\tran\white.c"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="xlisp"
+				>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\extern.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\path.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlbfun.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlcont.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xldbug.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xldmem.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xleval.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlfio.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlftab.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlglob.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlimage.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlinit.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlio.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlisp.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xljump.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xllist.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlmath.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlobj.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlpp.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlprin.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlread.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlstr.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlsubr.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlsym.c"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\xlisp\xlsys.c"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="nyqstk"
+				>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\instr.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\stkinit.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\stkint.cpp"
+					>
+				</File>
+				<Filter
+					Name="src"
+					>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\ADSR.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\BandedWG.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\BiQuad.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Bowed.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\BowTable.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Chorus.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Clarinet.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Delay.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\DelayA.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\DelayL.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Effect.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Envelope.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\FileRead.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\FileWvIn.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Filter.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Flute.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Function.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Generator.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Instrmnt.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\JCRev.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\JetTable.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Mandolin.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Modal.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\ModalBar.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Noise.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\NRev.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\OnePole.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\OneZero.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\PitShift.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\PluckTwo.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\PoleZero.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\PRCRev.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\ReedTable.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Saxofony.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\SineWave.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Sitar.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\Stk.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\WaveLoop.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\..\..\lib-src\libnyquist\nyquist\nyqstk\src\WvIn.cpp"
+						>
+					</File>
+				</Filter>
+			</Filter>
 		</Filter>
-		<Filter
-			Name="xlisp"
+		<File
+			RelativePath="..\..\..\lib-src\libnyquist\nyx.c"
 			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\extern.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\path.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlbfun.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlcont.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xldbug.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xldmem.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xleval.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlextstart.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlfio.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlftab.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlglob.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlimage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlinit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlio.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlisp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xljump.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xllist.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlmath.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlobj.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlpp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlprin.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlstr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlsubr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlsym.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\xlisp\xlsys.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="cmt"
-			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\cext.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\cleanup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\cmdline.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\cmtcmd.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\mem.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\midifile.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\midifns.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\moxc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\record.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\seq.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\seqmread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\seqmwrite.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\seqread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\seqwrite.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\tempomap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\timebase.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\cmt\userio.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="fft"
+		</File>
+		<File
+			RelativePath="..\..\..\lib-src\libnyquist\nyx.h"
 			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\fft\fftn.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\fft\fftn.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="nyx"
+		</File>
+		<File
+			RelativePath="..\..\..\lib-src\libnyquist\xlextstart.c"
 			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\nyx\nyx.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="tran"
-			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\abs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\alpass.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\alpasscv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\alpassvc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\amosc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\areson.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\aresoncv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\aresonvc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\aresonvv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\atone.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\atonev.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\biquad.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\buzz.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\chase.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\clip.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\congen.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\const.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\convolve.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\coterm.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\delay.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\delaycv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\exp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\fmosc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\follow.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\fromarraystream.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\fromobject.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\gate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\ifft.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\integrate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\log.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\maxv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\offset.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\oneshot.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\osc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\partial.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\pluck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\prod.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\pwl.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\quant.c.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\quantize.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\recip.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\reson.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\resoncv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\resonvc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\resonvv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\sampler.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\scale.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\shape.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\sine.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\siosc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\slope.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\sqrt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\tapv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\tone.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\tonev.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\upsample.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\tran\white.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="snd"
-			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\audionone.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\ieeecvt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\snd.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\sndcvt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\sndheader.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\sndio.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\snd\sndwin32.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="sys"
-			>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\sys\term.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lib-src\libnyquist\win\winfun.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="gen"
-			>
-			<File
-				RelativePath=".\seqfnint.c"
-				>
-			</File>
-			<File
-				RelativePath=".\sndfnint.c"
-				>
-			</File>
-		</Filter>
+		</File>
 	</Files>
 	<Globals>
 	</Globals>
diff --git a/win/Projects/libogg/libogg.vcproj b/win/Projects/libogg/libogg.vcproj
index c885bf8..207606f 100644
--- a/win/Projects/libogg/libogg.vcproj
+++ b/win/Projects/libogg/libogg.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libogg"
 	ProjectGUID="{A939AAF8-44F1-4CE7-9DD0-7A6E99814857}"
 	RootNamespace="libogg"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libogg\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libogg\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/librdf/librdf.vcproj b/win/Projects/librdf/librdf.vcproj
index 883bf42..73060d4 100644
--- a/win/Projects/librdf/librdf.vcproj
+++ b/win/Projects/librdf/librdf.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="librdf"
 	ProjectGUID="{F1E127C2-58B1-4CBF-B91F-0CF6DB9CC6DD}"
 	RootNamespace="librdf"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\redland\librdf&quot;;..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;;..\rasqal;&quot;..\..\..\lib-src\redland\rasqal\src&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LIBRDF_INTERNAL=1;PKGDATADIR=\&quot;.\&quot;"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\redland\librdf&quot;;..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;;..\rasqal;&quot;..\..\..\lib-src\redland\rasqal\src&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LIBRDF_INTERNAL=1;PKGDATADIR=\&quot;.\&quot;"
 				StringPooling="true"
diff --git a/win/Projects/libresample/libresample.vcproj b/win/Projects/libresample/libresample.vcproj
index 34618e2..8621351 100644
--- a/win/Projects/libresample/libresample.vcproj
+++ b/win/Projects/libresample/libresample.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libresample"
 	ProjectGUID="{F00717F2-67C8-44E1-AF00-541DFA9CB7F2}"
 	RootNamespace="libresample"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -231,6 +233,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
 				RuntimeLibrary="2"
diff --git a/win/Projects/libsamplerate/libsamplerate.vcproj b/win/Projects/libsamplerate/libsamplerate.vcproj
index c04d3c7..80f1f08 100644
--- a/win/Projects/libsamplerate/libsamplerate.vcproj
+++ b/win/Projects/libsamplerate/libsamplerate.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libsamplerate"
 	ProjectGUID="{3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}"
 	RootNamespace="libsamplerate"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libsamplerate\Win32"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libsamplerate\Win32"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/libscorealign/libscorealign.vcproj b/win/Projects/libscorealign/libscorealign.vcproj
index cb7452d..a404775 100644
--- a/win/Projects/libscorealign/libscorealign.vcproj
+++ b/win/Projects/libscorealign/libscorealign.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libscorealign"
 	ProjectGUID="{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}"
 	RootNamespace="libscorealign"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\portsmf&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;..\..\..\lib-src\portsmf&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/libsndfile/libsndfile.vcproj b/win/Projects/libsndfile/libsndfile.vcproj
index 647b8e7..2b86ac9 100644
--- a/win/Projects/libsndfile/libsndfile.vcproj
+++ b/win/Projects/libsndfile/libsndfile.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libsndfile"
 	ProjectGUID="{F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}"
 	RootNamespace="libsndfile"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,8 +40,9 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\lib-src\libsndfile\Win32;..\..\..\lib-src\libsndfile\include;..\..\..\lib-src\libsndfile\src"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;inline=__inline"
+				Optimization="2"
+				AdditionalIncludeDirectories=".;&quot;..\..\..\lib-src\libsndfile\include&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;inline=__inline;LIBSNDFILE_PRIVATE_CONFIG"
 				StringPooling="true"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"
@@ -103,8 +105,8 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\lib-src\libsndfile\Win32;..\..\..\lib-src\libsndfile\include;..\..\..\lib-src\libsndfile\src"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;inline=__inline"
+				AdditionalIncludeDirectories=".;&quot;..\..\..\lib-src\libsndfile\include&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;inline=__inline;LIBSNDFILE_PRIVATE_CONFIG"
 				StringPooling="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -169,8 +171,8 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\lib-src\libsndfile\Win32;..\..\..\lib-src\libsndfile\include;..\..\..\lib-src\libsndfile\src"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;inline=__inline"
+				AdditionalIncludeDirectories=".;&quot;..\..\..\lib-src\libsndfile\include&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;inline=__inline;LIBSNDFILE_PRIVATE_CONFIG"
 				StringPooling="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -234,8 +236,9 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\lib-src\libsndfile\Win32;..\..\..\lib-src\libsndfile\include;..\..\..\lib-src\libsndfile\src"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;inline=__inline"
+				Optimization="2"
+				AdditionalIncludeDirectories=".;&quot;..\..\..\lib-src\libsndfile\include&quot;;&quot;..\..\..\lib-src\libsndfile\src&quot;"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;inline=__inline;LIBSNDFILE_PRIVATE_CONFIG"
 				StringPooling="true"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"
@@ -292,6 +295,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\lib-src\libsndfile\src\audio_detect.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\avr.c"
 				>
 			</File>
@@ -304,6 +311,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\lib-src\libsndfile\src\chunk.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\command.c"
 				>
 			</File>
@@ -356,6 +367,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\lib-src\libsndfile\src\ima_oki_adpcm.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\interleave.c"
 				>
 			</File>
@@ -380,6 +395,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\lib-src\libsndfile\src\mpc2k.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\ms_adpcm.c"
 				>
 			</File>
@@ -408,6 +427,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\lib-src\libsndfile\src\rf64.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\rx2.c"
 				>
 			</File>
@@ -476,10 +499,18 @@
 				>
 			</File>
 			<File
+				RelativePath=".\config.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\float_cast.h"
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\lib-src\libsndfile\src\ima_oki_adpcm.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\sf_unistd.h"
 				>
 			</File>
@@ -492,6 +523,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\sndfile.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\lib-src\libsndfile\src\wav_w64.h"
 				>
 			</File>
diff --git a/win/Projects/libvamp/libvamp.vcproj b/win/Projects/libvamp/libvamp.vcproj
index 83fd41f..85dceef 100644
--- a/win/Projects/libvamp/libvamp.vcproj
+++ b/win/Projects/libvamp/libvamp.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libvamp"
 	ProjectGUID="{A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}"
 	RootNamespace="libnyquist"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libvamp"
 				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libvamp"
 				PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/libvorbis/libvorbis.vcproj b/win/Projects/libvorbis/libvorbis.vcproj
index 5bb562e..ee29417 100644
--- a/win/Projects/libvorbis/libvorbis.vcproj
+++ b/win/Projects/libvorbis/libvorbis.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="libvorbis"
 	ProjectGUID="{727D6675-67EE-4D0B-9DC1-177A0AF741F0}"
 	RootNamespace="libvorbis"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libvorbis\include;..\..\..\lib-src\libogg\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\libvorbis\include;..\..\..\lib-src\libogg\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/locale/locale.vcproj b/win/Projects/locale/locale.vcproj
index 47aa990..3e5ddef 100644
--- a/win/Projects/locale/locale.vcproj
+++ b/win/Projects/locale/locale.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="locale"
 	ProjectGUID="{BE9F28C5-058A-45F5-B2C1-D077BC058AAE}"
 	RootNamespace="locale"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -21,63 +22,21 @@
 			Name="Unicode Release|Win32"
 			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
 			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
+			ConfigurationType="10"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
 				Name="msgfmt"
 			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
+				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="VCMIDLTool"
 			/>
 			<Tool
-				Name="VCCLCompilerTool"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -85,63 +44,21 @@
 			Name="Unicode Debug|Win32"
 			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
 			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
+			ConfigurationType="10"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
 				Name="msgfmt"
 			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
+				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="VCMIDLTool"
 			/>
 			<Tool
-				Name="VCCLCompilerTool"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -149,63 +66,21 @@
 			Name="Debug|Win32"
 			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
 			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
+			ConfigurationType="10"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
 				Name="msgfmt"
 			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
+				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="VCMIDLTool"
 			/>
 			<Tool
-				Name="VCCLCompilerTool"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -213,63 +88,21 @@
 			Name="Release|Win32"
 			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
 			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
+			ConfigurationType="10"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
 				Name="msgfmt"
 			/>
 			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
+				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="VCMIDLTool"
 			/>
 			<Tool
-				Name="VCCLCompilerTool"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -283,182 +116,1127 @@
 			<File
 				RelativePath="..\..\..\locale\af.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ar.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\bg.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\bn.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\bs.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ca.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ca at valencia.po"
 				>
-			</File> 
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+			</File>
 			<File
 				RelativePath="..\..\..\locale\cs.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\cy.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\da.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\de.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\el.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\es.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\eu.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\fa.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\fi.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\fr.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ga.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\gl.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\he.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\hu.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\id.po"
 				>
-			</File> 
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+			</File>
 			<File
 				RelativePath="..\..\..\locale\it.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ja.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ka.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\km.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ko.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\lt.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\mk.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\nb.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\nl.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\oc.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\pl.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\pt_BR.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ro.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\ru.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\sk.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\sl.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\sv.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\tg.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\tr.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\uk.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\vi.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\zh.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\locale\zh_TW.po"
 				>
+				<FileConfiguration
+					Name="Unicode Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="msgfmt"
+					/>
+				</FileConfiguration>
 			</File>
 		</Filter>
 	</Files>
diff --git a/win/Projects/mod-script-pipe/mod-script-pipe.vcproj b/win/Projects/mod-script-pipe/mod-script-pipe.vcproj
index 764ddb3..d49aaf0 100644
--- a/win/Projects/mod-script-pipe/mod-script-pipe.vcproj
+++ b/win/Projects/mod-script-pipe/mod-script-pipe.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="mod-script-pipe"
 	ProjectGUID="{85774A29-EA2F-4A40-994F-6BE593D847A5}"
 	RootNamespace="mod-script-pipe"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\mswu&quot;;&quot;$(WXWIN)\include&quot;;&quot;$(SolutionDir)&quot;"
 				PreprocessorDefinitions="BUILDING_SCRIPT_PIPE;WXUSINGDLL;__WXMSW__;NDEBUG;_USRDLL;WIN32"
 				StringPooling="true"
@@ -62,6 +64,8 @@
 				AdditionalDependencies="wxmsw28u_core.lib wxbase28u.lib odbc32.lib odbccp32.lib oldnames.lib comctl32.lib rpcrt4.lib wsock32.lib netapi32.lib"
 				OutputFile="$(OutDir)\modules\$(ProjectName).dll"
 				AdditionalLibraryDirectories="&quot;$(WXWIN)\lib\vc_dll&quot;"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -82,9 +86,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -140,6 +141,8 @@
 				OutputFile="$(OutDir)\modules\$(ProjectName).dll"
 				AdditionalLibraryDirectories="&quot;$(WXWIN)\lib\vc_dll&quot;"
 				GenerateDebugInformation="true"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -160,9 +163,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -218,6 +218,8 @@
 				OutputFile="$(OutDir)\modules\$(ProjectName).dll"
 				AdditionalLibraryDirectories="&quot;$(WXWIN)\lib\vc_dll&quot;"
 				GenerateDebugInformation="true"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -238,9 +240,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
@@ -269,6 +268,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="&quot;$(WXWIN)\lib\vc_dll\msw&quot;;&quot;$(WXWIN)\include&quot;;&quot;$(SolutionDir)&quot;"
 				PreprocessorDefinitions="BUILDING_SCRIPT_PIPE;WXUSINGDLL;__WXMSW__;NDEBUG;_USRDLL;WIN32"
 				StringPooling="true"
@@ -292,6 +292,8 @@
 				AdditionalDependencies="wxmsw28_core.lib wxbase28.lib odbc32.lib odbccp32.lib oldnames.lib comctl32.lib rpcrt4.lib wsock32.lib netapi32.lib"
 				OutputFile="$(OutDir)\modules\$(ProjectName).dll"
 				AdditionalLibraryDirectories="&quot;$(WXWIN)\lib\vc_dll&quot;"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
@@ -312,9 +314,6 @@
 				Name="VCAppVerifierTool"
 			/>
 			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
diff --git a/win/Projects/portaudio-v19/portaudio-v19.vcproj b/win/Projects/portaudio-v19/portaudio-v19.vcproj
index fb1be4a..7ce9425 100644
--- a/win/Projects/portaudio-v19/portaudio-v19.vcproj
+++ b/win/Projects/portaudio-v19/portaudio-v19.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="portaudio-v19"
 	ProjectGUID="{7ABA0F80-94AE-4E82-AB89-2E1258212D59}"
 	RootNamespace="portaudio-v19"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -40,6 +41,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\portaudio-v19\include;..\..\..\lib-src\portaudio-v19\src\common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -244,6 +246,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\portaudio-v19\include;..\..\..\lib-src\portaudio-v19\src\common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/portmixer/portmixer.vcproj b/win/Projects/portmixer/portmixer.vcproj
index 9de0097..5c48010 100644
--- a/win/Projects/portmixer/portmixer.vcproj
+++ b/win/Projects/portmixer/portmixer.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="portmixer"
 	ProjectGUID="{3A76129B-55AB-4D54-BAA7-08F63ED52569}"
 	RootNamespace="portmixer"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -40,6 +41,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\portmixer\include;..\..\..\lib-src\portaudio-v19\include;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;PX_USE_WIN_MME"
 				StringPooling="true"
@@ -244,6 +246,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\portmixer\include;..\..\..\lib-src\portaudio-v19\include;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;PX_USE_WIN_MME"
 				StringPooling="true"
diff --git a/win/Projects/portsmf/portsmf.vcproj b/win/Projects/portsmf/portsmf.vcproj
index 360f348..32decd9 100644
--- a/win/Projects/portsmf/portsmf.vcproj
+++ b/win/Projects/portsmf/portsmf.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="portsmf"
 	ProjectGUID="{8A1C2514-85DD-4AE2-9CF3-3183B66C537D}"
 	RootNamespace="portsmf"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -231,6 +233,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
 				RuntimeLibrary="2"
diff --git a/win/Projects/raptor/raptor.vcproj b/win/Projects/raptor/raptor.vcproj
index 8246488..0897a91 100644
--- a/win/Projects/raptor/raptor.vcproj
+++ b/win/Projects/raptor/raptor.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="raptor"
 	ProjectGUID="{7E111491-6A07-4661-90CD-6DEBB83CE755}"
 	RootNamespace="raptor"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\redland\raptor\librdfa&quot;;..\..\..\src\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;RAPTOR_INTERNAL=1;RAPTOR_STATIC=1;LIBRDFA_IN_RAPTOR=1"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\redland\raptor\librdfa&quot;;..\..\..\src\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;RAPTOR_INTERNAL=1;RAPTOR_STATIC=1;LIBRDFA_IN_RAPTOR=1"
 				StringPooling="true"
diff --git a/win/Projects/rasqal/rasqal.vcproj b/win/Projects/rasqal/rasqal.vcproj
index e4546d6..dd3108d 100644
--- a/win/Projects/rasqal/rasqal.vcproj
+++ b/win/Projects/rasqal/rasqal.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="rasqal"
 	ProjectGUID="{BEF965EB-6330-4D18-858C-3B9F66CA9F18}"
 	RootNamespace="rasqal"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\rasqal;&quot;..\..\..\lib-src\redland\rasqal\src&quot;;..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;RASQAL_INTERNAL=1"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\rasqal;&quot;..\..\..\lib-src\redland\rasqal\src&quot;;..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;RASQAL_INTERNAL=1"
 				StringPooling="true"
diff --git a/win/Projects/sbsms/sbsms.vcproj b/win/Projects/sbsms/sbsms.vcproj
index a18b1d8..fffa286 100644
--- a/win/Projects/sbsms/sbsms.vcproj
+++ b/win/Projects/sbsms/sbsms.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="sbsms"
 	ProjectGUID="{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}"
 	RootNamespace="sbsms"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -104,6 +105,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				WholeProgramOptimization="true"
 				AdditionalIncludeDirectories="..\..\..\lib-src\sbsms\include;..\..\..\lib-src\sbsms\win"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
@@ -233,6 +235,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				WholeProgramOptimization="true"
 				AdditionalIncludeDirectories="..\..\..\lib-src\sbsms\include;..\..\..\lib-src\sbsms\win"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
diff --git a/win/Projects/slv2/slv2.vcproj b/win/Projects/slv2/slv2.vcproj
index 1327a66..479d2e1 100644
--- a/win/Projects/slv2/slv2.vcproj
+++ b/win/Projects/slv2/slv2.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="slv2"
 	ProjectGUID="{0FEC8848-E24E-4FA5-9ACD-E4582DC4CBBE}"
 	RootNamespace="slv2"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\slv2;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\slv2\src&quot;;&quot;..\..\..\lib-src\redland\librdf&quot;;..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LIBSLV2_SOURCE=1;CONFIG_H_PATH=\&quot;win32_config.h\&quot;"
 				StringPooling="true"
@@ -234,6 +236,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\slv2;&quot;..\..\..\lib-src\slv2&quot;;&quot;..\..\..\lib-src\slv2\src&quot;;&quot;..\..\..\lib-src\redland\librdf&quot;;..\raptor;&quot;..\..\..\lib-src\redland\raptor\src&quot;;&quot;..\..\..\lib-src\ffmpeg\win32&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LIBSLV2_SOURCE=1;CONFIG_H_PATH=\&quot;win32_config.h\&quot;"
 				StringPooling="true"
diff --git a/win/Projects/soundtouch/soundtouch.vcproj b/win/Projects/soundtouch/soundtouch.vcproj
index b42c7b0..aac3c2b 100644
--- a/win/Projects/soundtouch/soundtouch.vcproj
+++ b/win/Projects/soundtouch/soundtouch.vcproj
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="soundtouch"
 	ProjectGUID="{EC3F5835-C486-4970-8A6B-A0700F4B3637}"
 	RootNamespace="soundtouch"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -39,6 +40,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\soundtouch\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
@@ -231,6 +233,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				AdditionalIncludeDirectories="..\..\..\lib-src\soundtouch\include"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
 				StringPooling="true"
diff --git a/win/Projects/twolame/twolame.vcproj b/win/Projects/twolame/twolame.vcproj
index 881877e..5160804 100644
--- a/win/Projects/twolame/twolame.vcproj
+++ b/win/Projects/twolame/twolame.vcproj
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="9.00"
 	Name="twolame"
 	ProjectGUID="{8C69F7B6-684F-48D9-9057-8912CA3DAA8B}"
 	RootNamespace="twolame"
 	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
 	>
 	<Platforms>
 		<Platform
@@ -40,6 +41,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LIBTWOLAME_STATIC"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -232,6 +234,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="2"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LIBTWOLAME_STATIC"
 				StringPooling="true"
 				RuntimeLibrary="2"
diff --git a/win/audacity.iss b/win/audacity.iss
index d8a98f4..0a60191 100644
--- a/win/audacity.iss
+++ b/win/audacity.iss
@@ -3,7 +3,7 @@
 
 [Setup]
 ; compiler-related directives
-OutputBaseFilename=audacity-win-1.3.6
+OutputBaseFilename=audacity-1.3.8a-win
 SetupIconFile=audacity.ico
 
 WizardImageFile=audacity_InnoWizardImage.bmp
@@ -12,20 +12,21 @@ WizardSmallImageFile=audacity_InnoWizardSmallImage.bmp
 SolidCompression=yes
 
 ; installer-related directives
-AppName=Audacity 1.3 Beta
-AppVerName=Audacity 1.3.6
+AppName=Audacity 1.3 Alpha
+AppVerName=Audacity 1.3.8
 AppPublisher=Audacity Team
 AppPublisherURL=http://audacity.sourceforge.net
 AppSupportURL=http://audacity.sourceforge.net
 AppUpdatesURL=http://audacity.sourceforge.net
 ChangesAssociations=yes
-DefaultDirName={pf}\Audacity 1.3 Beta
+DefaultDirName={pf}\Audacity 1.3 Alpha
 ; Always warn if dir exists, because we'll overwrite previous Audacity.
 DirExistsWarning=yes
 DisableProgramGroupPage=yes
 UninstallDisplayIcon="{app}\audacity.exe"
-LicenseFile=..\LICENSE.txt
-InfoBeforeFile=..\README.txt
+; No longer force them to accept the license, just display it.   LicenseFile=..\LICENSE.txt
+InfoBeforeFile=..\LICENSE.txt
+InfoAfterFile=..\README.txt
 ; min versions: Win95, NT 4.0
 MinVersion=4.0,4.0
 
@@ -53,15 +54,24 @@ Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
 
 [Tasks]
 Name: desktopicon; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; MinVersion: 4,4
-Name: associate_aup; Description: "&Associate Audacity project files"; GroupDescription: "Other tasks:"; Flags: checkedonce; MinVersion: 4,4
+; No longer allow user to choose whether to associate AUP file type with Audacity.
+; Name: associate_aup; Description: "&Associate Audacity project files"; GroupDescription: "Other tasks:"; Flags: checkedonce; MinVersion: 4,4
 
 
 [Files]
+; Don't display in separate window, rather as InfoAfterFile.   Source: "..\README.txt"; DestDir: "{app}"; Flags: ignoreversion isreadme
 Source: "..\README.txt"; DestDir: "{app}"; Flags: ignoreversion
+
 Source: "..\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion
 Source: "..\win\Release\audacity.exe"; DestDir: "{app}"; Flags: ignoreversion
 
+; Manual, which should be got from the manual wiki using ..\scripts\mw2html_audacity\wiki2htm.bat
+Source: "..\help\manual\*"; DestDir: "{app}\help\manual\"; Flags: ignoreversion recursesubdirs
+
 ; wxWidgets DLLs. Be specific (not *.dll) so we don't accidentally distribute avformat.dll, for example.
+; Don't use the WXWIN environment variable, because...
+; 1) Can't get the documented {%WXWIN|default dir} parsing to work.
+; 2) Need the DLL's in the release dir for testing, anyway.
 Source: "..\win\Release\wxbase28_net_vc_custom.dll"; DestDir: "{app}"; Flags: ignoreversion
 Source: "..\win\Release\wxbase28_vc_custom.dll"; DestDir: "{app}"; Flags: ignoreversion
 Source: "..\win\Release\wxmsw28_adv_vc_custom.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -73,19 +83,18 @@ Source: "..\win\Release\wxmsw28_html_vc_custom.dll"; DestDir: "{app}"; Flags: ig
 ; This is not an ideal solution, but should need the least tech support.
 ; We'll know we have the right version, don't step on anybody else's older version, and
 ; it's easy to make the zip (and they match better).
-Source: "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcp80.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest"; DestDir: "{app}"; Flags: ignoreversion
+Source: "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcp90.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcr90.dll"; DestDir: "{app}"; Flags: ignoreversion
 
 Source: "..\win\Release\languages\*"; DestDir: "{app}\Languages\"; Flags: ignoreversion recursesubdirs
 Source: "..\win\Release\modules\*"; DestDir: "{app}\Modules\"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist
 Source: "..\win\Release\nyquist\*"; DestDir: "{app}\Nyquist\"; Flags: ignoreversion
 Source: "..\win\Release\plug-ins\*"; DestDir: "{app}\Plug-Ins\"; Excludes: "analyze.ny, fadein.ny, fadeout.ny, undcbias.ny"; Flags: ignoreversion
 
-
 [Icons]
-Name: "{commonprograms}\Audacity 1.3 Beta"; Filename: "{app}\audacity.exe"
-Name: "{userdesktop}\Audacity 1.3 Beta"; Filename: "{app}\audacity.exe"; MinVersion: 4,4; Tasks: desktopicon
+Name: "{commonprograms}\Audacity 1.3 Alpha"; Filename: "{app}\audacity.exe"
+Name: "{userdesktop}\Audacity 1.3 Alpha"; Filename: "{app}\audacity.exe"; MinVersion: 4,4; Tasks: desktopicon
 
 [InstallDelete]
 ; Get rid of Audacity 1.0.0 stuff that's no longer used.
@@ -101,11 +110,15 @@ Type: files; Name: "{commonprograms}\Audacity\unins000.exe"
 Type: dirifempty; Name: "{commonprograms}\Audacity"
 
 [Registry]
-Root: HKCR; Subkey: ".AUP"; ValueType: string; ValueData: "Audacity.Project"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project"; ValueType: string; ValueData: "Audacity Project File"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project\shell"; ValueType: string; ValueData: ""; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project\shell\open"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project\shell\open\command"; ValueType: string; ValueData: """{app}\audacity.exe"" ""%1"""; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
+; No longer allow user to choose whether to associate AUP file type with Audacity.
+; Leaving this one commented out example of the old way.
+; Root: HKCR; Subkey: ".AUP"; ValueType: string; ValueData: "Audacity.Project"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
+Root: HKCR; Subkey: ".AUP"; ValueType: string; ValueData: "Audacity.Project"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\OpenWithList\audacity.exe"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project"; ValueType: string; ValueData: "Audacity Project File"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\shell"; ValueType: string; ValueData: ""; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\shell\open"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\shell\open\command"; ValueType: string; ValueData: """{app}\audacity.exe"" ""%1"""; Flags: createvalueifdoesntexist uninsdeletekey;
 
 [Run]
 Filename: "{app}\audacity.exe"; Description: "Launch Audacity"; Flags: nowait postinstall skipifsilent
diff --git a/win/audacity.sln b/win/audacity.sln
index c662fed..4d5bf0f 100644
--- a/win/audacity.sln
+++ b/win/audacity.sln
@@ -1,31 +1,32 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C++ Express 2005
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Audacity", "Projects\Audacity\Audacity.vcproj", "{1D64095C-F936-4FCF-B609-56E9DDF941FA}"
 	ProjectSection(ProjectDependencies) = postProject
-		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF} = {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}
 		{8A1C2514-85DD-4AE2-9CF3-3183B66C537D} = {8A1C2514-85DD-4AE2-9CF3-3183B66C537D}
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1} = {5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}
-		{BEF965EB-6330-4D18-858C-3B9F66CA9F18} = {BEF965EB-6330-4D18-858C-3B9F66CA9F18}
-		{A939AAF8-44F1-4CE7-9DD0-7A6E99814857} = {A939AAF8-44F1-4CE7-9DD0-7A6E99814857}
-		{F00717F2-67C8-44E1-AF00-541DFA9CB7F2} = {F00717F2-67C8-44E1-AF00-541DFA9CB7F2}
-		{A61E2BF1-21AA-4118-B0D8-FD3D53DB892E} = {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}
-		{7AA41BED-41B0-427A-9148-DEA40549D158} = {7AA41BED-41B0-427A-9148-DEA40549D158}
-		{D96C7BE1-E3F1-4767-BBBB-320E082CE425} = {D96C7BE1-E3F1-4767-BBBB-320E082CE425}
-		{8C69F7B6-684F-48D9-9057-8912CA3DAA8B} = {8C69F7B6-684F-48D9-9057-8912CA3DAA8B}
-		{38C2C6B1-FBF8-4C5C-BB90-63F996083F56} = {38C2C6B1-FBF8-4C5C-BB90-63F996083F56}
-		{3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC} = {3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}
-		{A52BBEA5-8B02-4147-8734-5D9BBF4D1177} = {A52BBEA5-8B02-4147-8734-5D9BBF4D1177}
-		{3A76129B-55AB-4D54-BAA7-08F63ED52569} = {3A76129B-55AB-4D54-BAA7-08F63ED52569}
-		{7ABA0F80-94AE-4E82-AB89-2E1258212D59} = {7ABA0F80-94AE-4E82-AB89-2E1258212D59}
-		{727D6675-67EE-4D0B-9DC1-177A0AF741F0} = {727D6675-67EE-4D0B-9DC1-177A0AF741F0}
-		{F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952} = {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}
-		{5284D863-3813-479F-BBF0-AC234E216BC6} = {5284D863-3813-479F-BBF0-AC234E216BC6}
-		{B28C9F3F-FF0E-4FEC-844C-685390B8AC06} = {B28C9F3F-FF0E-4FEC-844C-685390B8AC06}
-		{6C7DC635-26FB-419A-B69A-7ECBBB068245} = {6C7DC635-26FB-419A-B69A-7ECBBB068245}
-		{EC3F5835-C486-4970-8A6B-A0700F4B3637} = {EC3F5835-C486-4970-8A6B-A0700F4B3637}
-		{7BAFA434-3257-408A-AAC0-A8D352B2CE54} = {7BAFA434-3257-408A-AAC0-A8D352B2CE54}
-		{F1E127C2-58B1-4CBF-B91F-0CF6DB9CC6DD} = {F1E127C2-58B1-4CBF-B91F-0CF6DB9CC6DD}
+		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF} = {A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947} = {D5AB2D87-51DC-4277-A9AB-2A6018D0E947}
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400} = {C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}
 		{7E111491-6A07-4661-90CD-6DEBB83CE755} = {7E111491-6A07-4661-90CD-6DEBB83CE755}
+		{F1E127C2-58B1-4CBF-B91F-0CF6DB9CC6DD} = {F1E127C2-58B1-4CBF-B91F-0CF6DB9CC6DD}
+		{7BAFA434-3257-408A-AAC0-A8D352B2CE54} = {7BAFA434-3257-408A-AAC0-A8D352B2CE54}
+		{EC3F5835-C486-4970-8A6B-A0700F4B3637} = {EC3F5835-C486-4970-8A6B-A0700F4B3637}
+		{6C7DC635-26FB-419A-B69A-7ECBBB068245} = {6C7DC635-26FB-419A-B69A-7ECBBB068245}
+		{B28C9F3F-FF0E-4FEC-844C-685390B8AC06} = {B28C9F3F-FF0E-4FEC-844C-685390B8AC06}
+		{5284D863-3813-479F-BBF0-AC234E216BC6} = {5284D863-3813-479F-BBF0-AC234E216BC6}
+		{F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952} = {F4B4A272-4ED3-4951-A6EE-B7BAAC1C4952}
+		{727D6675-67EE-4D0B-9DC1-177A0AF741F0} = {727D6675-67EE-4D0B-9DC1-177A0AF741F0}
+		{7ABA0F80-94AE-4E82-AB89-2E1258212D59} = {7ABA0F80-94AE-4E82-AB89-2E1258212D59}
+		{3A76129B-55AB-4D54-BAA7-08F63ED52569} = {3A76129B-55AB-4D54-BAA7-08F63ED52569}
+		{A52BBEA5-8B02-4147-8734-5D9BBF4D1177} = {A52BBEA5-8B02-4147-8734-5D9BBF4D1177}
+		{3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC} = {3DDDCAA9-276D-4FC3-A15C-485F7B9B24CC}
+		{38C2C6B1-FBF8-4C5C-BB90-63F996083F56} = {38C2C6B1-FBF8-4C5C-BB90-63F996083F56}
+		{8C69F7B6-684F-48D9-9057-8912CA3DAA8B} = {8C69F7B6-684F-48D9-9057-8912CA3DAA8B}
+		{D96C7BE1-E3F1-4767-BBBB-320E082CE425} = {D96C7BE1-E3F1-4767-BBBB-320E082CE425}
+		{7AA41BED-41B0-427A-9148-DEA40549D158} = {7AA41BED-41B0-427A-9148-DEA40549D158}
+		{A61E2BF1-21AA-4118-B0D8-FD3D53DB892E} = {A61E2BF1-21AA-4118-B0D8-FD3D53DB892E}
+		{F00717F2-67C8-44E1-AF00-541DFA9CB7F2} = {F00717F2-67C8-44E1-AF00-541DFA9CB7F2}
+		{A939AAF8-44F1-4CE7-9DD0-7A6E99814857} = {A939AAF8-44F1-4CE7-9DD0-7A6E99814857}
+		{BEF965EB-6330-4D18-858C-3B9F66CA9F18} = {BEF965EB-6330-4D18-858C-3B9F66CA9F18}
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "Projects\expat\expat.vcproj", "{38C2C6B1-FBF8-4C5C-BB90-63F996083F56}"
@@ -52,6 +53,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portsmf", "Projects\portsmf
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sbsms", "Projects\sbsms\sbsms.vcproj", "{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglib", "Projects\taglib\taglib.vcproj", "{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "portmidi", "Projects\portmidi\portmidi.vcproj", "{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "help", "Projects\help\help.vcproj", "{02F94A40-586A-4403-8464-13B50801FFEC}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Win32 = Debug|Win32
@@ -256,14 +263,6 @@ Global
 		{8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
 		{8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
 		{8A1C2514-85DD-4AE2-9CF3-3183B66C537D}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Debug|Win32.Build.0 = Debug|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Release|Win32.ActiveCfg = Release|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Release|Win32.Build.0 = Release|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
-		{5F04DE5D-0A34-496E-8A34-BE30BA9C70A1}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
 		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Debug|Win32.ActiveCfg = Debug|Win32
 		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Debug|Win32.Build.0 = Debug|Win32
 		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Release|Win32.ActiveCfg = Release|Win32
@@ -272,6 +271,38 @@ Global
 		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
 		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
 		{A64FFB5D-0CF0-43EE-9DE3-C72260864BFF}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Debug|Win32.Build.0 = Debug|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Release|Win32.ActiveCfg = Release|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Release|Win32.Build.0 = Release|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
+		{D912E7BF-61FE-4D17-9D1B-3F1D268429D6}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Debug|Win32.ActiveCfg = Debug|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Debug|Win32.Build.0 = Debug|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Release|Win32.ActiveCfg = Release|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Release|Win32.Build.0 = Release|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
+		{C0FE933B-4AF7-4ACD-95E8-ACD3A73F1400}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Debug|Win32.Build.0 = Debug|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Release|Win32.ActiveCfg = Release|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Release|Win32.Build.0 = Release|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
+		{D5AB2D87-51DC-4277-A9AB-2A6018D0E947}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Debug|Win32.ActiveCfg = Debug|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Debug|Win32.Build.0 = Debug|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Release|Win32.ActiveCfg = Release|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Release|Win32.Build.0 = Release|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
+		{02F94A40-586A-4403-8464-13B50801FFEC}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/win/audacity_unicode.iss b/win/audacity_unicode.iss
index 320ae56..54526cf 100644
--- a/win/audacity_unicode.iss
+++ b/win/audacity_unicode.iss
@@ -3,7 +3,7 @@
 
 [Setup]
 ; compiler-related directives
-OutputBaseFilename=audacity-win-unicode-1.3.6
+OutputBaseFilename=audacity-1.3.8a-win-unicode
 SetupIconFile=audacity.ico
 
 WizardImageFile=audacity_InnoWizardImage.bmp
@@ -12,20 +12,21 @@ WizardSmallImageFile=audacity_InnoWizardSmallImage.bmp
 SolidCompression=yes
 
 ; installer-related directives
-AppName=Audacity 1.3 Beta (Unicode)
-AppVerName=Audacity 1.3.6 (Unicode)
+AppName=Audacity 1.3 Alpha (Unicode)
+AppVerName=Audacity 1.3.8 (Unicode)
 AppPublisher=Audacity Team
 AppPublisherURL=http://audacity.sourceforge.net
 AppSupportURL=http://audacity.sourceforge.net
 AppUpdatesURL=http://audacity.sourceforge.net
 ChangesAssociations=yes
-DefaultDirName={pf}\Audacity 1.3 Beta (Unicode)
+DefaultDirName={pf}\Audacity 1.3 Alpha (Unicode)
 ; Always warn if dir exists, because we'll overwrite previous Audacity.
 DirExistsWarning=yes
 DisableProgramGroupPage=yes
 UninstallDisplayIcon="{app}\audacity.exe"
-LicenseFile=..\LICENSE.txt
-InfoBeforeFile=..\README.txt
+; No longer force them to accept the license, just display it.   LicenseFile=..\LICENSE.txt
+InfoBeforeFile=..\LICENSE.txt
+InfoAfterFile=..\README.txt
 ; min versions: Win95, NT 4.0
 MinVersion=4.0,4.0
 
@@ -53,14 +54,20 @@ Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
 
 [Tasks]
 Name: desktopicon; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; MinVersion: 4,4
-Name: associate_aup; Description: "&Associate Audacity project files"; GroupDescription: "Other tasks:"; Flags: checkedonce; MinVersion: 4,4
+; No longer allow user to choose whether to associate AUP file type with Audacity.
+; Name: associate_aup; Description: "&Associate Audacity project files"; GroupDescription: "Other tasks:"; Flags: checkedonce; MinVersion: 4,4
 
 
 [Files]
+; Don't display in separate window, rather as InfoAfterFile.   Source: "..\README.txt"; DestDir: "{app}"; Flags: ignoreversion isreadme
 Source: "..\README.txt"; DestDir: "{app}"; Flags: ignoreversion
+
 Source: "..\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion
 Source: "..\win\unicode release\audacity.exe"; DestDir: "{app}"; Flags: ignoreversion
 
+; Manual, which should be got from the manual wiki using ..\scripts\mw2html_audacity\wiki2htm.bat
+Source: "..\help\manual\*"; DestDir: "{app}\help\manual\"; Flags: ignoreversion recursesubdirs
+
 ; wxWidgets DLLs. Be specific (not *.dll) so we don't accidentally distribute avformat.dll, for example.
 ; Don't use the WXWIN environment variable, because...
 ; 1) Can't get the documented {%WXWIN|default dir} parsing to work.
@@ -76,20 +83,18 @@ Source: "..\win\unicode release\wxmsw28u_html_vc_custom.dll"; DestDir: "{app}";
 ; This is not an ideal solution, but should need the least tech support.
 ; We'll know we have the right version, don't step on anybody else's older version, and
 ; it's easy to make the zip (and they match better).
-Source: "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcp80.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest"; DestDir: "{app}"; Flags: ignoreversion
+Source: "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcp90.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcr90.dll"; DestDir: "{app}"; Flags: ignoreversion
 
 Source: "..\win\unicode release\languages\*"; DestDir: "{app}\Languages\"; Flags: ignoreversion recursesubdirs
 Source: "..\win\unicode release\modules\*"; DestDir: "{app}\Modules\"; Flags: ignoreversion recursesubdirs skipifsourcedoesntexist
 Source: "..\win\unicode release\nyquist\*"; DestDir: "{app}\Nyquist\"; Flags: ignoreversion
 Source: "..\win\unicode release\plug-ins\*"; DestDir: "{app}\Plug-Ins\"; Excludes: "analyze.ny, fadein.ny, fadeout.ny, undcbias.ny"; Flags: ignoreversion
 
-
-
 [Icons]
-Name: "{commonprograms}\Audacity 1.3 Beta (Unicode)"; Filename: "{app}\audacity.exe"
-Name: "{userdesktop}\Audacity 1.3 Beta (Unicode)"; Filename: "{app}\audacity.exe"; MinVersion: 4,4; Tasks: desktopicon
+Name: "{commonprograms}\Audacity 1.3 Alpha (Unicode)"; Filename: "{app}\audacity.exe"
+Name: "{userdesktop}\Audacity 1.3 Alpha (Unicode)"; Filename: "{app}\audacity.exe"; MinVersion: 4,4; Tasks: desktopicon
 
 [InstallDelete]
 ; Get rid of Audacity 1.0.0 stuff that's no longer used.
@@ -105,11 +110,17 @@ Type: files; Name: "{commonprograms}\Audacity\unins000.exe"
 Type: dirifempty; Name: "{commonprograms}\Audacity"
 
 [Registry]
-Root: HKCR; Subkey: ".AUP"; ValueType: string; ValueData: "Audacity.Project"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project"; ValueType: string; ValueData: "Audacity Project File"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project\shell"; ValueType: string; ValueData: ""; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project\shell\open"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
-Root: HKCR; Subkey: "Audacity.Project\shell\open\command"; ValueType: string; ValueData: """{app}\audacity.exe"" ""%1"""; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
+; No longer allow user to choose whether to associate AUP file type with Audacity.
+; Leaving this one commented out example of the old way.
+; Root: HKCR; Subkey: ".AUP"; ValueType: string; ValueData: "Audacity.Project"; Flags: createvalueifdoesntexist uninsdeletekey; Tasks: associate_aup
+Root: HKCR; Subkey: ".AUP"; ValueType: string; ValueData: "Audacity.Project"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\OpenWithList\audacity.exe"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project"; ValueType: string; ValueData: "Audacity Project File"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\shell"; ValueType: string; ValueData: ""; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\shell\open"; Flags: createvalueifdoesntexist uninsdeletekey;
+Root: HKCR; Subkey: "Audacity.Project\shell\open\command"; ValueType: string; ValueData: """{app}\audacity.exe"" ""%1"""; Flags: createvalueifdoesntexist uninsdeletekey;
+;The following would allow a following 'help' installer to know where to put the 'help' files.
+;Root: HKCR; Subkey: "Audacity.Project\Path";  ValueType: string; ValueData: {app}; Flags: createvalueifdoesntexist uninsdeletekey;
 
 [Run]
 Filename: "{app}\audacity.exe"; Description: "Launch Audacity"; Flags: nowait postinstall skipifsilent
diff --git a/win/compile.txt b/win/compile.txt
index fa55d6d..8c03fd5 100644
--- a/win/compile.txt
+++ b/win/compile.txt
@@ -1,5 +1,5 @@
 Compiling Audacity(R) for Microsoft Windows(TM)
-copyright (c) 1999-2008 Audacity Team
+copyright (c) 1999-2009 Audacity Team
 
 Authors:
   Asger Ottar Alstrup
@@ -11,25 +11,23 @@ Authors:
   Markus Meyer
   Shane Mueller
   Lynn Allan
+  Martyn Shaw
 
 ========================================================================
-This version is currently accurate for Audacity version 1.3.6.
+This version is currently accurate for Audacity version 1.3.8.
 If the advice here is inaccurate or incomplete, please
 email audacity-devel at lists.sourceforge.net.
 See also 
 "http://audacityteam.org/wiki/index.php?title=Developing_On_Windows".
 ========================================================================
 
-Audacity releases are now built with Microsoft Visual C++ 8 
-(a.k.a Visual C++ 2005), generically known as "VC8".
+Audacity releases are now built with Microsoft Visual C++ 9 
+(a.k.a Visual C++ 2008) generically known as "VC9".
 
 For instructions on compiling Audacity under the Cygwin 
 UNIX Emulation Layer, see the "Compiling Audacity under 
 Cygwin" section below. This is not maintained.
 
-Previous Audacity releases have been built with Visual C++ 6.0, 
-with Service Pack 5. This is no longer actively supported. 
-
 Note that Audacity uses VC++'s multithreaded DLL runtime libraries. 
 If you have MSVC installed, these are in your PATH, but users to 
 whom you distribute your builds may not have them, so you may have 
@@ -48,7 +46,7 @@ attempting to compile Audacity, or nothing will work!
 
 wxWidgets is available at "http://www.wxwidgets.org/".
 
-Audacity 1.3.6 requires wxWidgets 2.8.9.
+Audacity 1.3.8 requires wxWidgets 2.8.10.
 
 To build on Windows only, download the wxMSW package
 (installer or zip).
@@ -60,31 +58,23 @@ MSVC++ STEP 2:  Build wxWidgets
 When you have downloaded and installed wxWidgets, you must
 build it. 
 
-Audacity previously required different build settings than 
-are shipped with the wxWidgets projects, to use the 
-multithreaded statically-linked runtime libraries instead 
-of the multithreaded DLL runtime libraries. 
-We NO LONGER build that way, so this process is 
-now much simpler. To build previous versions, refer 
-to the corresponding previous version of this file. 
-
 For wxWidgets' instructions on compilation 
 (and details about static versus dll linkage), see 
-"C:\wxWidgets-2.8.9\docs\msw\install.txt". 
+"C:\wxWidgets-2.8.10\docs\msw\install.txt". 
 Note therein that wx_dll.dsw adds the dependencies to
 force the correct build order for DLLs, which wx.dsw
 does not. Because of this, wx_dll.dsw doesn't work for
 static libraries.
 
 
-1. Open "C:\wxWidgets-2.8.9\build\msw\wx_dll.dsw" with 
-   Visual Studio 2005 (for VC8). 
+1. Open "C:\wxWidgets-2.8.10\build\msw\wx_dll.dsw" with 
+   Visual Studio 2008 (for VC9). 
    Make sure to use wx_dll.dsw, not wx.dsw, because wx.dsw
    does not have the correct dependencies for the DLL builds.
    When you open wx_dll.dsw, Visual Studio will prompt whether
    to convert. Click "Yes To All". Next time you open a Visual
    Studio session, you can avoid this prompt by opening 
-   "C\wxWidgets-2.8.9\build\msw\wx_dll.sln" instead of wx_dll.dsw.
+   "C\wxWidgets-2.8.10\build\msw\wx_dll.sln" instead of wx_dll.dsw.
 
 
 2. If you want to use the accessibility features, we have modified a
@@ -95,9 +85,9 @@ static libraries.
    You may want to make backups of the wxWidgets originals of these, 
    in case you also build without these accessibility features. 
 
-   * Copy access.cpp to "C:\wxWidgets-2.8.9\src\msw\ole\". 
+   * Copy access.cpp to "C:\wxWidgets-2.8.10\src\msw\ole\". 
 
-   * Copy setup.h to "C:\wxWidgets-2.8.9\include\wx\msw\".
+   * Copy setup.h to "C:\wxWidgets-2.8.10\include\wx\msw\".
 
    Audacity releases are built with these accessibility features.
 
@@ -134,7 +124,7 @@ static libraries.
    wxbase28*_odbc*.* dbgrid.
  
 
-4. Note the directory "C\wxWidgets-2.8.9\lib\vc_dll". For each
+4. Note the directory "C\wxWidgets-2.8.10\lib\vc_dll". For each
    build of WxWidgets you made, you will need from here five DLLs
    appropriate to that build to go in the corresponding Audacity
    build directory. The DLLs required are noted at "Provide access
@@ -157,9 +147,9 @@ MSVC++ STEP 4:  Set wxWidgets location for Audacity
 Before you can start the build process, you must update the
 project settings to tell Visual C++ where to find wxWidgets.
 There are three settings that need changing:
-    1.  Include Directory (e.g., "C:\wxWidgets-2.8.9\include")
-    2.  Resource Directory (e.g., "C:\wxWidgets-2.8.9\include")
-    3.  Library Directory (e.g., "C:\wxWidgets-2.8.9\lib")
+    1.  Include Directory (e.g., "C:\wxWidgets-2.8.10\include")
+    2.  Resource Directory (e.g., "C:\wxWidgets-2.8.10\include")
+    3.  Library Directory (e.g., "C:\wxWidgets-2.8.10\lib")
 
 Fortunately, this is parameterized, using a Windows system 
 environment variable. There are various ways to set these, so 
@@ -168,7 +158,7 @@ environment variable WXWIN, set to the top-level directory
 where you installed wxWidgets. For example, 
 in your "autoexec.bat" file, you might have a line:
 
-   set WXWIN=C:\wxWidgets-2.8.9
+   set WXWIN=C:\wxWidgets-2.8.10
 
 Note that you don't want a trailing backslash on that.
 
@@ -181,7 +171,7 @@ In the Audacity project file, there are declarations like
 
    $(WXWIN)\include
 
-that get interpreted as, e.g., "C:\wxWidgets-2.8.9\include".
+that get interpreted as, e.g., "C:\wxWidgets-2.8.10\include".
 
 Once you have set the WXWIN environment variable correctly, 
 the Audacity project file's declarations will do the rest.
@@ -200,6 +190,12 @@ Run Visual C++ and load the Audacity solution,
 
 Optional Features
 
+Local help (optional, but required for a full 'release ready' version).
+Build the 'help' project.  This will download a copy of the manual wiki
+onto your machine and copy it to the correct place for the build that
+you are doing.  If the local copy needs updating at any time, run
+audacity\scripts\mw2html_audacity\wiki2htm.bat and re-run the 'help' project.
+
 Some functionality in Audacity is currently turned on its default
 configuration, but requires that extra libraries be downloaded
 separately to use it. 
@@ -244,23 +240,8 @@ If you wish ASIO support, install the ASIO SDK from Steinberg
 Developers), then define an environment variable called
 ASIOSDK_DIR, as you did for WXWIN, above. The value should be 
 the full path to the base directory of the ASIO SDK, e.g., 
-         set ASIOSDK_DIR=C:\ASIOSDK2
-
-
-PortAudio (http://www.portaudio.com/) is a cross-platform OSS library 
-that Audacity uses for recording and playback. The default build 
-settings use PortAudio v19, but v18 is still supported. If you want 
-to build with v18: 
-
-   1) Change the Audacity Project Dependencies to have PAStaticWMME 
-      checked and PAStaticWMMEv19 unchecked.
-   2) In "audacity\win\portaudio.h", change 
-         #define USE_PORTAUDIO_V19 1
-      to 
-         #define USE_PORTAUDIO_V19 0
-   3) In the Configuration Manager, for each configuration, check 
-      PAStaticWMME and uncheck PAStaticWMMEv19.
 
+         set ASIOSDK_DIR=C:\ASIOSDK2
 
 Build Audacity
 
@@ -285,7 +266,7 @@ Each Audacity executable needs access to five specific wxWidgets
 DLLs from those you built in "MSVC++ STEP 2:  Build wxWidgets" 
 above. You can copy them to your Windows PATH, or more simply,
 to the same directory as the executable. The ones required are at 
-"C:\wxWidgets-2.8.9\lib\vc_dll":
+"C:\wxWidgets-2.8.10\lib\vc_dll":
 
 	wxbase28*_net_vc_custom.dll
 	wxbase28*_vc_custom.dll
@@ -334,7 +315,7 @@ process you get a bunch of error messages like this:
 
 This is usually caused by conflicting runtime library settings. 
 Audacity is now linked with DLL linkage. 
-In VC8, select the Audacity project. Then 
+In VC9, select the Audacity project. Then 
    Project > Properties > C/C++ > Code Generation > Runtime Library 
 should be 
    "Multi-threaded Debug DLL (/MDd)" for Debug or Unicode Debug builds, 
@@ -368,21 +349,6 @@ Note that if you have configured all libraries correctly,
 none of the above should actually be necessary.
 
 
------------------------
-MSVC++ (OPTIONAL) STEP 6:  Add VST support
------------------------
-
-Audacity does not support VST plug-ins by default, but 
-here is how to enable it.
-
-1. Download and install the current "VST Enabler" from the 
-   Audacity website, at http://audacityteam.org/vst/. 
-
-2. Put the "vst-bridge.dll" file in the Audacity Plug-ins folder.
-
-3. Run Audacity and the plug-ins should appear in the 
-    Generate, Effect, and/or Analyze menus.
-
 ========================================================================
 
 -------------------------------
@@ -447,7 +413,7 @@ Cygwin STEP 1:  Installing Cygwin
 Cygwin STEP 2:  Download and install wxWidgets
 ---------------------------------------
 
-1.  Go to http://www.wxwidgets.org/ and download wxWidgets v2.8.9 or greater.  Make
+1.  Go to http://www.wxwidgets.org/ and download wxWidgets v2.8.10 or greater.  Make
 sure you download the "wxAll" package that contains source code for all ports.  The
 Win32 port will not work for compiling audacity, since it was compiled and installed
 to work with MS Visual C++.
diff --git a/win/configwin.h b/win/configwin.h
index e0a27fd..8ff3ce9 100644
--- a/win/configwin.h
+++ b/win/configwin.h
@@ -17,9 +17,8 @@
 #define USE_SBSMS 1
 #define USE_SOUNDTOUCH 1
 #define USE_VAMP 1
-#undef USE_VST
-#define USE_MIDI 1 // define this to use portSMF for midi file support
-//#define EXPERIMENTAL_SCOREALIGN 1
+#define USE_VST 1
+#define USE_MIDI 1 // define this to use portSMF and PortMidi for midi file support
 
 #define INSTALL_PREFIX "."
 
diff --git a/win/portaudio.h b/win/portaudio.h
deleted file mode 100644
index 531b9b8..0000000
--- a/win/portaudio.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-// Set to 0 for version 1.8 or 1 for version 1.9
-#define USE_PORTAUDIO_V19 1
-
-// Don't change anything below here
-#if USE_PORTAUDIO_V19
-
-#  include "../../../lib-src/portaudio-v19/include/portaudio.h"
-#  pragma comment(lib, "portaudio-v19")
-
-#else
-
-#  include "../../../lib-src/portaudio/pa_common/portaudio.h"
-#  pragma comment(lib, "portaudio")
-
-#endif
diff --git a/win/release.txt b/win/release.txt
index 607c3c6..bfb6ba0 100644
--- a/win/release.txt
+++ b/win/release.txt
@@ -1,9 +1,9 @@
 How to Build Audacity(R) Releases for Microsoft Windows(R)
-Vaughan Johnson
+Copyright 2007-2009, Vaughan Johnson
 22 October 2007
 
 ========================================================================
-This version is currently accurate for Audacity version 1.3.4.
+This version is currently accurate for Audacity version 1.3.8.
 If the advice here is inaccurate or incomplete, please
 email audacity-devel at lists.sourceforge.net.
 See also "http://audacityteam.org/wiki/index.php?title=Developing_On_Windows".
@@ -25,11 +25,14 @@ either one, but example values are for Unicode_Release.
 		We cannot publicly post a build that supports ASIO, for 
 		licensing reasons (more detail in compile.txt). 
 
-	c. It's a good idea to not only do a Build > Clean Solution
+	c. If building the 'Release' build (rather than a Beta), set IS_BETA to 0
+		in Audacity.h.
+
+	d. It's a good idea to not only do a Build > Clean Solution
 		beforehand, but to also delete the directory 
 		(e.g., audacity\win\unicode_release).
 	
-	d. Make sure to build the "locale" project, either 
+	e. Make sure to build the "locale" project, either 
 		separately or as part of Build > Batch Build. You will need
 		msgfmt.zip in your PATH for that. Get it from
 		http://audacity.sourceforge.net/files/msgfmt.zip
@@ -37,11 +40,7 @@ either one, but example values are for Unicode_Release.
 
 2. Copy other necessities to release build folder.
 
-	a. Copy the audacity\nyquist and audacity\plug-ins folders to 
-		the build folder, e.g., audacity\win\unicode_release.
-		Don't copy the hidden CVS subfolders.
-	
-	b. We are still keeping some of the LADSPA plug-ins in the 
+	a. We are still keeping some of the LADSPA plug-ins in the 
 		Audacity installer, even though we are now offering a 
 		separate installer that includes all the LADSPA plug-ins 
 		built from version 0.4.15. These are the ones we include
@@ -58,12 +57,19 @@ either one, but example values are for Unicode_Release.
 		
 		Once you have these DLL files, put them in the plug-ins 
 		folder, e.g., audacity\win\unicode_release\plug-ins.
-			
-	<Not including Help file for 1.3.4, so no instructions 
-		for that.>
 
+   b. Copy the audacity\LICENSE.txt and audacity\README.txt files
+      to the build folder.
+
+3. Get the manual
+
+	Make sure you have python installed and on your path.
+	Delete audacity\help\manual if it exists.
+	Go to audacity\scripts\mw2html_audacity.
+	Run wiki2htm and wait for it to complete.
+	The manual should have been built in audacity\help\manual.
 
-3. Build the Installer.
+4. Build the Installer.
 
 	a. Install the latest Inno Setup 
 		(http://www.jrsoftware.org/isinfo.php).
@@ -75,13 +81,13 @@ either one, but example values are for Unicode_Release.
 	c. Change the version strings as necessary. 
 		These are current for Unicode_Release:
 	
-		* OutputBaseFilename=audacity-win-unicode-1.3.4
+		* OutputBaseFilename=audacity-1.3.8-win-unicode
 		
 		* AppName=Audacity 1.3 Beta (Unicode)
 			For stable releases, this should just be 
 			"Audacity (Unicode)"
 		
-		* AppVerName=Audacity 1.3.4 (Unicode)
+		* AppVerName=Audacity 1.3.8 (Unicode)
 		
 		* DefaultDirName={pf}\Audacity 1.3 Beta (Unicode)
 			For stable releases, this should just be 
@@ -91,10 +97,10 @@ either one, but example values are for Unicode_Release.
 		The result appears in audacity\win\Output.
 
 	e. Rename it as necessary, e.g., 
-		"audacity-win-unicode-1.3.4rc0.1.exe".
+		"audacity-1.3.8rc0.1-win-unicode.exe".
 
 
-4. To create the zip version, go to the installed version, 
+5. To create the zip version, go to the installed version, 
 	e.g., "C:\Program Files\Audacity 1.3 Beta (Unicode)", 
 	and remove the unins*.* files, then zip and rename that folder.
 
diff --git a/win/sandbox.txt b/win/sandbox.txt
index 0a5b844..ffb3b3a 100644
--- a/win/sandbox.txt
+++ b/win/sandbox.txt
@@ -1,6 +1,6 @@
 sandbox.txt
 
-Instructions for comiling audacity with Visual C++ 8.0 are contained in the file: 
+Instructions for compiling audacity with Visual C++ 8.0 are contained in the file: 
 [install-dir]\win\compile.txt
 
 There are wiki pages with more information at:
diff --git a/win/wxWidgets_additions/setup.h b/win/wxWidgets_additions/setup.h
index 829fb74..63c34ab 100644
--- a/win/wxWidgets_additions/setup.h
+++ b/win/wxWidgets_additions/setup.h
@@ -1,10 +1,10 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        wx/msw/setup.h
+// Name:        include/wx/msw/setup.h
 // Purpose:     Configuration for the library
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
-// RCS-ID:      $Id: setup.h,v 1.2 2008/06/09 07:12:18 vjohnson Exp $
+// RCS-ID:      $Id: setup.h,v 1.3 2009/07/06 02:42:42 windinthew Exp $
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////

-- 
Audacity debian packaging



More information about the pkg-multimedia-commits mailing list